On 10/29/2012 06:08 PM, Seungwon Jeon wrote: > Monday, October 29, 2012, Jaehoon Chung <jh80.chung@xxxxxxxxxxx> >> After power-on, must be ensured at least 74~80 clocks before sending any first command. >> To ensure, it's good that dw_mci_setup_bus() is located at dw_mci_set_ios >> instead of __dw_mci_start_request() > After power-up, host driver sets 'DW_MMC_CARD_NEED_INIT' flag, right? > And then, this flag help to add SDMMC_CMD_INIT flag into CMD, when __dw_mci_start_request is executed. > 74~80 clocks is ensured with SDMMC_CMD_INIT regardless location change, isn't it? > I mentioned this part in previous mail. Could you check it? According to eMMC spec, after power-on, need to wait for 74-clock before sending first command You can see code that after mmc_set_ios(), waiting for mmc_delay(10) into mmc_power_up(). (You can read the comment at mmc_power_up(), Maybe mmc_delay(10) didn't ensure the 74-clock). Best Regards, Jaehoon Chung > > Thanks, > Seungwon Jeon > >> >> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> >> Signed-off-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> >> Acked-by: Seungwon Jeon <tgih.jun@xxxxxxxxxxx> >> ------ >> Changelog V2: >> - Modified the commit-message. >> --- >> drivers/mmc/host/dw_mmc.c | 6 +++--- >> 1 files changed, 3 insertions(+), 3 deletions(-) >> >> diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c >> index 4b2bedc..de79093 100644 >> --- a/drivers/mmc/host/dw_mmc.c >> +++ b/drivers/mmc/host/dw_mmc.c >> @@ -682,9 +682,6 @@ static void __dw_mci_start_request(struct dw_mci *host, >> if (host->pdata->select_slot) >> host->pdata->select_slot(slot->id); >> >> - /* Slot specific timing and width adjustment */ >> - dw_mci_setup_bus(slot); >> - >> host->cur_slot = slot; >> host->mrq = mrq; >> >> @@ -810,6 +807,9 @@ static void dw_mci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) >> if (slot->host->drv_data->set_ios) >> slot->host->drv_data->set_ios(slot->host, ios); >> >> + /* Slot specific timing and width adjustment */ >> + dw_mci_setup_bus(slot); >> + >> switch (ios->power_mode) { >> case MMC_POWER_UP: >> set_bit(DW_MMC_CARD_NEED_INIT, &slot->flags); >> -- >> 1.7.4.1 >> -- >> To unsubscribe from this list: send the line "unsubscribe linux-mmc" in >> the body of a message to majordomo@xxxxxxxxxxxxxxx >> More majordomo info at http://vger.kernel.org/majordomo-info.html > > -- > To unsubscribe from this list: send the line "unsubscribe linux-mmc" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html