Re: [PATCH v2] mmc: dw-mmc: relocate the position called dw_mci_setup_bus()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux