[PATCH v5 2/2] mmc: dw_mmc: force setup bus if active slots exist

Jaehoon Chung jh80.chung at samsung.com
Sun Feb 12 23:54:26 PST 2017


Hi,

On 02/13/2017 03:32 PM, Eddie Cai wrote:
> Hi Heiko
> 
> I guess you may lost this patch. We need it to prevent crash when boot
> up RK3288.
> 
> 2017-01-13 10:59 GMT+08:00 Shawn Lin <shawn.lin at rock-chips.com>:
>> From: Ziyuan Xu <xzy.xu at rock-chips.com>
>>
>> It's necessary to setup bus if any slots are present.
>> - update clock after ctrl reset
>> - if the host has genpd node, we can guarantee the clock is
>>   available before starting request. Otherwies, the clock register
>>   is reset once power off the pd, and host can't output the active
>>   clock during communication.

As i know, this patch was applied. Which kernel do you use?

Best Regards,
Jaehoon Chung

>>
>> Fixes: e9ed8835e990 ("mmc: dw_mmc: add runtime PM callback")
>> Fixes: df9bcc2bc0a1 ("mmc: dw_mmc: add missing codes for runtime resume")
>> cc: <stable at vger.kernel.org>
>> Reported-by: Randy Li <randy.li at rock-chips.com>
>> Reported-by: S. Gilles <sgilles at math.umd.edu>
>> Signed-off-by: Ziyuan Xu <xzy.xu at rock-chips.com>
>> Signed-off-by: Shawn Lin <shawn.lin at rock-chips.com>
>>
>> ---
>>
>> Changes in v5:
>> - rebase in order to skip spamming log
>>
>> Changes in v4:
>> - update commit message
>> - fix SD host rpm resume can't work
>>
>> Changes in v3:
>> - only reset host with active slot.
>>
>> Changes in v2:
>> - update the commit message
>> - use dw_mci_reset instead of dw_mci_ctrl_reset
>>
>>  drivers/mmc/host/dw_mmc.c | 7 ++++---
>>  1 file changed, 4 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c
>> index dc58ec3..0914d53 100644
>> --- a/drivers/mmc/host/dw_mmc.c
>> +++ b/drivers/mmc/host/dw_mmc.c
>> @@ -3367,10 +3367,11 @@ int dw_mci_runtime_resume(struct device *dev)
>>
>>                 if (!slot)
>>                         continue;
>> -               if (slot->mmc->pm_flags & MMC_PM_KEEP_POWER) {
>> +               if (slot->mmc->pm_flags & MMC_PM_KEEP_POWER)
>>                         dw_mci_set_ios(slot->mmc, &slot->mmc->ios);
>> -                       dw_mci_setup_bus(slot, true, true);
>> -               }
>> +
>> +               /* Force setup bus to guarantee available clock output */
>> +               dw_mci_setup_bus(slot, true, true);
>>         }
>>
>>         /* Now that slots are all setup, we can enable card detect */
>> --
>> 1.9.1
>>
>>
>>
>> _______________________________________________
>> Linux-rockchip mailing list
>> Linux-rockchip at lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/linux-rockchip
> --
> To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
> 




More information about the Linux-rockchip mailing list