[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