From: Ziyuan <xzy.xu@rock-chips.com>
To: Shawn Lin <shawn.lin@rock-chips.com>,
ulf.hansson@linaro.org, jh80.chung@samsung.com
Cc: randy.li@rock-chips.com, linux-mmc@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-rockchip@lists.infradead.org
Subject: Re: [PATCH v4] mmc: dw_mmc: force setup bus if active slots exist
Date: Mon, 9 Jan 2017 11:39:17 +0800 [thread overview]
Message-ID: <587305E5.30003@rock-chips.com> (raw)
In-Reply-To: <49544a65-9b3c-c56a-e5f7-89c5fa6e6cd0@rock-chips.com>
On 01/05/2017 03:34 PM, Shawn Lin wrote:
> On 2017/1/5 15:23, Ziyuan Xu wrote:
>> 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.
>>
>> fixes: e9ed8835e990 ("mmc: dw_mmc: add runtime PM callback")
>> Reported-by: Randy Li <randy.li@rock-chips.com>
>> Signed-off-by: Ziyuan Xu <xzy.xu@rock-chips.com>
>>
>> ---
>> Hi guys,
>>
>> I found a similar issue on rk3399 platform, which has a genpd node for
>> SD card host. Power off-on pd will reset the registers to a default
>> value (ie. CLKENA), so that the host can't output the active clock
>> during communication.
>>
>
> Indeed, Caesar recently introduced all the genpd for rk3399 platform,
> so we need to restore them.
>
>> So we need to setup bus in rpm resume. It also wraps the update clock
>> behaviour which I did in V3.
>>
>> Thanks,
>> Ziyuan Xu
>>
>>
>> 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 | 6 +++---
>> 1 file changed, 3 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c
>> index b44306b..b6053b3 100644
>> --- a/drivers/mmc/host/dw_mmc.c
>> +++ b/drivers/mmc/host/dw_mmc.c
>> @@ -3354,10 +3354,10 @@ 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);
>> - }
>> + /* Force setup bus to guarantee available clock output */
>> + dw_mci_setup_bus(slot, true);
>
> So the spamming message about
>
> "Bus speed (slot %d) = %dHz (slot req %dHz, actual %dHZ div = %d)\n"
>
> will always be there, right? So you could append a new patch to shut
> up it as I think it's useless no matter for system pm or rpm to print
> it. How about?
Fine, it's favourable with dev_vdbg if the dw_mmc rpm is enabled.
Hi Jaehoon,
What's your opinion? If you think this patch and shawn's advice are
acceptable, I will send the v5 patch.
BR
Ziyuan Xu
>
>> }
>>
>> /* Now that slots are all setup, we can enable card detect */
>>
>
>
next prev parent reply other threads:[~2017-01-09 3:39 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-05 7:23 [PATCH v4] mmc: dw_mmc: force setup bus if active slots exist Ziyuan Xu
2017-01-05 7:23 ` Ziyuan Xu
[not found] ` <1483601012-18241-1-git-send-email-xzy.xu-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
2017-01-05 7:34 ` Shawn Lin
2017-01-05 7:34 ` Shawn Lin
2017-01-09 3:39 ` Ziyuan [this message]
2017-01-09 5:41 ` Jaehoon Chung
[not found] ` <7c41a01e-ded2-9c03-78d9-c0b75984bf20-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2017-01-09 6:40 ` Shawn Lin
2017-01-09 6:40 ` Shawn Lin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=587305E5.30003@rock-chips.com \
--to=xzy.xu@rock-chips.com \
--cc=jh80.chung@samsung.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mmc@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=randy.li@rock-chips.com \
--cc=shawn.lin@rock-chips.com \
--cc=ulf.hansson@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.