From: Adrian Hunter <adrian.hunter@intel.com>
To: Ulf Hansson <ulf.hansson@linaro.org>
Cc: Arend van Spriel <arend@broadcom.com>,
Chris Ball <chris@printf.net>,
linux-mmc <linux-mmc@vger.kernel.org>,
Aaron Lu <aaron.lu@intel.com>, Philip Rakity <prakity@nvidia.com>,
Girish K S <girish.shivananjappa@linaro.org>,
Al Cooper <alcooperx@gmail.com>,
arindam.nath@amd.com, zhangfei.gao@marvell.com
Subject: Re: [PATCH 02/13] mmc: host: Add facility to support re-tuning
Date: Thu, 15 Jan 2015 12:17:22 +0200 [thread overview]
Message-ID: <54B793B2.8090100@intel.com> (raw)
In-Reply-To: <CAPDyKFrtByPeRvU-pSc62JjthRXQJyPkTR+PcNOSDeTPXwFEoA@mail.gmail.com>
On 14/01/15 14:59, Ulf Hansson wrote:
> [...]
>
>>>
>>> The value from the register is also just randomly selected, only
>>> difference is that it's the HW that has randomly set it.
>>
>> Presumably the value is chosen based on the maximum rate of temperature
>> change and the corresponding effect that has on the signal.
>>
>>>
>>> Even if the above commit was merged, I don't think it was the correct
>>> way of dealing with re-tuning.
>>>
>>> First of all, re-tuning this is a mmc protocol specific thing should
>>> be managed from the mmc core, like the approach you have taken in your
>>> $subject patchset. Second I question whether the timer is useful at
>>> all.
>>
>> The SD Host Controller Specification does not document another way to do
>> mode 1 re-tuning. The timer is it. Otherwise re-tuning is never done.
>>
>> In the patches I sent, the driver must call mmc_retune_needed() to set
>> host->need_retune = 1 otherwise mmc_retune() does nothing.
>>
>> I would like to extend the model to include transparently re-tuning and
>> re-trying when there is a CRC error, but that is a separate issue, not
>> documented in the spec but recommended by others.
>>
>
> That perfect and in line from what I heard as recommendations from
> memory vendors as well.
How would that work for SDIO? How do you know it is OK to retry SDIO operations?
>
> Now, can we stop arguing about the timer and try without it?
>
> If we do see a need for a more frequent re-tuning to happen, due to
> that we get lots of CRC errors to recover from, then I think we should
> look into using runtime PM instead of the timer. And that's because I
> want to minimize the impact on performance.
The minimum timer value is 1 second. The maximum is 1024 seconds. The ASUS
T100TA had a timer value of 128 seconds. The timer is not a performance issue.
There is a performance question with runtime PM because that happens far
more frequently (typical auto-suspend delay is 50ms) and we re-tune after
that. In fact I generalized that a bit in patch 13.
[PATCH 13/13] mmc: sdhci: Change to new way of doing re-tuning
Make use of mmc core support for re-tuning instead
of doing it all in the sdhci driver.
This patch also changes to flag the need for re-tuning
always after runtime suspend when tuning has been used
at initialization. Previously it was only done if
the re-tuning timer was in use.
One option to reduce the impact of the latency would be to increase the
auto-suspend delay.
I have cc'ed the author of "mmc: sdhci: add support for retuning mode 1"
next prev parent reply other threads:[~2015-01-15 10:19 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-05 17:40 [RFC PATCH 00/13] mmc: host: Add facility to support re-tuning Adrian Hunter
2014-12-05 17:40 ` [PATCH 01/13] mmc: core: Simplify by adding mmc_execute_tuning() Adrian Hunter
2015-01-13 11:19 ` Ulf Hansson
2014-12-05 17:41 ` [PATCH 02/13] mmc: host: Add facility to support re-tuning Adrian Hunter
2015-01-13 11:25 ` Ulf Hansson
2015-01-13 13:23 ` Adrian Hunter
2015-01-13 14:22 ` Ulf Hansson
2015-01-13 14:36 ` Adrian Hunter
2015-01-13 14:56 ` Ulf Hansson
2015-01-13 15:11 ` Arend van Spriel
2015-01-13 15:41 ` Ulf Hansson
2015-01-13 16:02 ` Arend van Spriel
2015-01-14 9:47 ` Ulf Hansson
2015-01-14 9:57 ` Adrian Hunter
2015-01-14 10:13 ` Ulf Hansson
2015-01-14 12:24 ` Adrian Hunter
2015-01-14 12:59 ` Ulf Hansson
2015-01-15 10:17 ` Adrian Hunter [this message]
2015-01-15 13:39 ` Ulf Hansson
2015-01-15 14:07 ` Arend van Spriel
2015-01-15 14:17 ` Arend van Spriel
2015-01-15 14:46 ` Ulf Hansson
2015-01-15 14:59 ` Arend van Spriel
2015-01-19 9:27 ` Ulf Hansson
2015-01-19 9:56 ` Adrian Hunter
2015-01-14 12:38 ` Arend van Spriel
2015-01-14 12:52 ` Ulf Hansson
2015-01-13 15:04 ` Arend van Spriel
2014-12-05 17:41 ` [PATCH 03/13] mmc: core: Disable re-tuning when card is no longer initialized Adrian Hunter
2014-12-05 17:41 ` [PATCH 04/13] mmc: core: Move mmc_card_removed() into mmc_start_request() Adrian Hunter
2015-01-13 11:20 ` Ulf Hansson
2014-12-05 17:41 ` [PATCH 05/13] mmc: core: Add support for re-tuning before each request Adrian Hunter
2014-12-05 17:41 ` [PATCH 06/13] mmc: core: Check re-tuning before retrying Adrian Hunter
2014-12-05 17:41 ` [PATCH 07/13] mmc: core: Hold re-tuning during switch commands Adrian Hunter
2014-12-05 17:41 ` [PATCH 08/13] mmc: core: Hold re-tuning during erase commands Adrian Hunter
2014-12-05 17:41 ` [PATCH 09/13] mmc: core: Hold re-tuning while bkops ongoing Adrian Hunter
2014-12-05 17:41 ` [PATCH 10/13] mmc: mmc: Comment that callers need to hold re-tuning if the card is put to sleep Adrian Hunter
2014-12-05 17:41 ` [PATCH 11/13] mmc: core: Add support for HS400 re-tuning Adrian Hunter
2014-12-05 17:41 ` [PATCH 12/13] mmc: sdhci: Always init buf_ready_int Adrian Hunter
2015-01-13 11:21 ` Ulf Hansson
2014-12-05 17:41 ` [PATCH 13/13] mmc: sdhci: Change to new way of doing re-tuning Adrian Hunter
2014-12-19 14:07 ` [RFC PATCH 00/13] mmc: host: Add facility to support re-tuning Adrian Hunter
2014-12-19 14:37 ` Ulf Hansson
2015-01-12 13:05 ` Adrian Hunter
2015-01-13 11:27 ` Ulf Hansson
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=54B793B2.8090100@intel.com \
--to=adrian.hunter@intel.com \
--cc=aaron.lu@intel.com \
--cc=alcooperx@gmail.com \
--cc=arend@broadcom.com \
--cc=arindam.nath@amd.com \
--cc=chris@printf.net \
--cc=girish.shivananjappa@linaro.org \
--cc=linux-mmc@vger.kernel.org \
--cc=prakity@nvidia.com \
--cc=ulf.hansson@linaro.org \
--cc=zhangfei.gao@marvell.com \
/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.