From: "Arend van Spriel" <arend@broadcom.com>
To: Dong Aisheng <dongas86@gmail.com>
Cc: Chris Ball <cjb@laptop.org>,
"linux-mmc@vger.kernel.org" <linux-mmc@vger.kernel.org>
Subject: Re: [PATCH V2] sdhci: only reprogram retuning timer when flag is set
Date: Wed, 13 Nov 2013 11:21:30 +0100 [thread overview]
Message-ID: <528352AA.6000507@broadcom.com> (raw)
In-Reply-To: <CAA+hA=S37Ee3WhGh=k50V9EFvkd_NsnNH9vhie5z-gBfZT9NsQ@mail.gmail.com>
On 11/13/2013 06:02 AM, Dong Aisheng wrote:
> Hi Arend,
>
> On Mon, Nov 11, 2013 at 5:49 PM, Arend van Spriel <arend@broadcom.com> wrote:
>> When the host->tuning_count is zero it means that the
>> retuning is disabled. This is checked on the first
>> run of sdhci_execute_tuning() by the if statement below:
>>
>> if (!(host->flags & SDHCI_NEEDS_RETUNING) && host->tuning_count &&
>> (host->tuning_mode == SDHCI_TUNING_MODE_1)) {
>>
>> So only when tuning_count is non-zero it will set the host
>> flag SDHCI_USING_RETUNING_TIMER. The else statement is only
>> for re-programming the timer, which means that flag must be
>> set. Because that is not checked the else statement is executed
>> in the first run when tuning_count is zero.
>>
>> This was seen on a host controller which indicated
>> SDHCI_TUNING_MODE_1 (0) and tuning_count being zero. Suspect
>> that (one of) these registers is not properly set.
>>
>> Signed-off-by: Arend van Spriel <arend@broadcom.com>
>> ---
>> This patch applies to the mmc-next branch.
>>
>> V2:
>> - add more explanation to the commit message
>> - check host flag SDHCI_USING_RETUNING_TIMER
>> ---
>> drivers/mmc/host/sdhci.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
>> index bd8a098..5974599 100644
>> --- a/drivers/mmc/host/sdhci.c
>> +++ b/drivers/mmc/host/sdhci.c
>> @@ -2014,7 +2014,7 @@ out:
>> host->tuning_count * HZ);
>> /* Tuning mode 1 limits the maximum data length to 4MB */
>> mmc->max_blk_count = (4 * 1024 * 1024) / mmc->max_blk_size;
>> - } else {
>> + } else if (host->flags & SDHCI_USING_RETUNING_TIMER) {
>> host->flags &= ~SDHCI_NEEDS_RETUNING;
>> /* Reload the new initial value for timer */
>> if (host->tuning_mode == SDHCI_TUNING_MODE_1)
>
> I wonder if we could also remove this line?
> It looks to me it's not neccesary to check the tuning_mode again since
> we already check the flag
> above and SDHCI_TUNING_MODE_1 seems like the prerequisite of
> SDHCI_USING_RETUNING_TIMER.
According the spec the other tuning modes also can use retuning timer.
Currently, the mmc stack in upstream linux only supports tuning mode 1.
When adding the other modes this if statement will probably go.
Regards,
Arend
> Regards
> Dong Aisheng
>
>> --
>> 1.7.10.4
>>
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
next prev parent reply other threads:[~2013-11-13 10:21 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-07 10:59 [PATCH] sdhci: do not program timer when tuning_count is zero Arend van Spriel
2013-11-08 6:50 ` Aaron Lu
2013-11-08 9:10 ` Arend van Spriel
2013-11-08 11:49 ` Aaron Lu
2013-11-08 11:55 ` Arend van Spriel
2013-11-08 13:19 ` Aaron Lu
2013-11-11 9:49 ` [PATCH V2] sdhci: only reprogram retuning timer when flag is set Arend van Spriel
2013-11-12 6:49 ` Aaron Lu
2013-11-13 5:02 ` Dong Aisheng
2013-11-13 10:21 ` Arend van Spriel [this message]
2013-11-13 11:12 ` Dong Aisheng
2013-11-13 11:18 ` Arend van Spriel
2013-11-13 11:25 ` Dong Aisheng
2013-11-13 13:01 ` Aaron Lu
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=528352AA.6000507@broadcom.com \
--to=arend@broadcom.com \
--cc=cjb@laptop.org \
--cc=dongas86@gmail.com \
--cc=linux-mmc@vger.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).