From: Arend van Spriel <arend@broadcom.com>
To: Ulf Hansson <ulf.hansson@linaro.org>
Cc: Adrian Hunter <adrian.hunter@intel.com>,
linux-mmc <linux-mmc@vger.kernel.org>,
Aaron Lu <aaron.lu@intel.com>, Philip Rakity <prakity@nvidia.com>,
Al Cooper <alcooperx@gmail.com>
Subject: Re: [PATCH V4 01/15] mmc: host: Add facility to support re-tuning
Date: Thu, 2 Apr 2015 14:27:50 +0200 [thread overview]
Message-ID: <551D35C6.7070605@broadcom.com> (raw)
In-Reply-To: <CAPDyKFrFoiKFC+i_TF_NR9Mg6b9JxzqRHyyN72z331s+0Gge2A@mail.gmail.com>
On 04/02/15 14:25, Ulf Hansson wrote:
> On 2 April 2015 at 14:18, Adrian Hunter<adrian.hunter@intel.com> wrote:
>> On 02/04/15 15:10, Ulf Hansson wrote:
>>> On 2 April 2015 at 12:30, Arend van Spriel<arend@broadcom.com> wrote:
>>>> On 04/02/15 10:43, Ulf Hansson wrote:
>>>>>
>>>>> [...]
>>>>>>>>>
>>>>>>>>> - ability to hold off re-tuning if the card is busy
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> What do you mean by "card is busy"?
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> I guess, more accurately, any time the card is in a state that is
>>>>>>> incapable
>>>>>>> of supporting re-tuning. For example:
>>>>>>> - DAT0 busy
>>>>>>
>>>>>>
>>>>>>
>>>>>> This state is not specific to re-tuning. An SDIO device can keep DAT0
>>>>>> busy
>>>>>> at which the host controller can not start another request.
>>>>>
>>>>>
>>>>> Not entirely true. Some commands are allowed during this period, for
>>>>> example CMD13 (which doesn't exist for SDIO)
>>>>
>>>>
>>>> Yeah. I was wondering whether to mention that.
>>>>
>>>>> Anyway, I get the point. Thanks!
>>>>>
>>>>>>
>>>>>>> - between dependent commands like erase start, end, etc
>>>>>>> - card is asleep
>>>>>>> Also SDIO cards can have a custom sleep state where tuning won't work.
>>>>>>
>>>>>>
>>>>>>
>>>>>> Our SDIO wifi device has such a state and it can only come out of it upon
>>>>>> CMD52 write or CMD14 (ExitSleep).
>>>>>
>>>>>
>>>>> So how will the mmc core know about these states? I guess we will
>>>>> require SDIO func drivers to deal with enable/disable or hold/release
>>>>> of re-tuning then?
>>>>
>>>>
>>>> This is actually why in the past we tried to only kick off retuning before a
>>>> request that requires use of data line(s) so mmc core (or sdhci) would not
>>>> do re-tuning when SDIO func used CMD52 to wakeup the device. I never tried
>>>> CMD14 approach and not even sure from which spec it comes (maybe eMMC).
>>>
>>> That's an interesting idea. It would eliminate the need for SDIO func
>>> drivers to care about holding/releasing re-tuning.
>>>
>>> Would be nice to hear about Adrian's thoughts around this as well.
>>
>> I don't see how it would work because re-tuning is needed after the host
>> controller runtime resumes. i.e. once the SDIO wifi card stops being active
>> the host controller will runtime suspend.
>
> Why do we always need to re-tune from this phase?
>
> What Arend points out is that we could "delay" the re-tune until we
> know there is a DATA request. Wouldn't that work for SDHCI as well?
You beat me to it, but that is indeed what I meant.
Regards,
Arend
>>
>> Also I would expect doing re-tuning before every data request would likely
>> be unacceptable from a performance point of view.
>>
>>>
>>>>
>>>>> I don't like this, but if there is no other way... Also, we must be
>>>>> very careful on which API we exports for SDIO func drivers to use. The
>>>>> can easily be misinterpreted.
>>>>>
>>>>> [...]
>>>
>>> Kind regards
>>> Uffe
>>>
>>>
>>
next prev parent reply other threads:[~2015-04-02 12:27 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-27 20:57 [PATCH V4 00/15] mmc: host: Add facility to support re-tuning Adrian Hunter
2015-03-27 20:57 ` [PATCH V4 01/15] " Adrian Hunter
2015-04-01 9:50 ` Ulf Hansson
2015-04-01 11:47 ` Adrian Hunter
2015-04-01 15:10 ` Arend van Spriel
2015-04-02 8:43 ` Ulf Hansson
2015-04-02 10:30 ` Arend van Spriel
2015-04-02 12:10 ` Ulf Hansson
2015-04-02 12:18 ` Adrian Hunter
2015-04-02 12:25 ` Ulf Hansson
2015-04-02 12:27 ` Arend van Spriel [this message]
2015-04-02 12:43 ` Adrian Hunter
2015-04-02 14:00 ` Ulf Hansson
2015-04-03 2:59 ` NeilBrown
2015-04-08 7:42 ` Adrian Hunter
2015-04-13 12:07 ` Ulf Hansson
2015-04-14 13:38 ` Adrian Hunter
2015-04-14 16:52 ` Arend van Spriel
2015-04-16 7:24 ` Ulf Hansson
2015-04-16 8:59 ` Adrian Hunter
2015-04-16 11:28 ` Ulf Hansson
2015-04-02 13:05 ` Ulf Hansson
2015-04-02 16:18 ` Adrian Hunter
2015-04-13 12:30 ` Ulf Hansson
2015-04-14 13:13 ` Adrian Hunter
2015-03-27 20:57 ` [PATCH V4 02/15] mmc: core: Disable re-tuning when card is no longer initialized Adrian Hunter
2015-03-27 20:57 ` [PATCH V4 03/15] mmc: core: Add support for re-tuning before each request Adrian Hunter
2015-04-01 10:13 ` Ulf Hansson
2015-04-01 12:08 ` Adrian Hunter
2015-03-27 20:57 ` [PATCH V4 04/15] mmc: core: Check re-tuning before retrying Adrian Hunter
2015-03-27 20:57 ` [PATCH V4 05/15] mmc: core: Hold re-tuning during switch commands Adrian Hunter
2015-03-27 20:57 ` [PATCH V4 06/15] mmc: core: Hold re-tuning during erase commands Adrian Hunter
2015-03-27 20:57 ` [PATCH V4 07/15] mmc: core: Hold re-tuning while bkops ongoing Adrian Hunter
2015-03-27 20:57 ` [PATCH V4 08/15] mmc: mmc: Comment that callers need to hold re-tuning if the card is put to sleep Adrian Hunter
2015-03-27 20:57 ` [PATCH V4 09/15] mmc: core: Separate out the mmc_switch status check so it can be re-used Adrian Hunter
2015-03-27 20:57 ` [PATCH V4 10/15] mmc: core: Add support for HS400 re-tuning Adrian Hunter
2015-03-27 20:57 ` [PATCH V4 11/15] mmc: sdhci: Change to new way of doing re-tuning Adrian Hunter
2015-03-27 20:57 ` [PATCH V4 12/15] mmc: sdhci: Flag re-tuning is needed on CRC or End-Bit errors Adrian Hunter
2015-03-27 20:57 ` [PATCH V4 13/15] mmc: block: Check re-tuning in the recovery path Adrian Hunter
2015-03-27 20:57 ` [PATCH V4 14/15] mmc: block: Retry errored data requests when re-tuning is needed Adrian Hunter
2015-03-27 20:57 ` [PATCH V4 15/15] mmc: core: Don't print reset warning if reset is not supported Adrian Hunter
2015-04-01 6:21 ` [PATCH V4 00/15] mmc: host: Add facility to support re-tuning Adrian Hunter
2015-04-10 10:39 ` Adrian Hunter
2015-04-10 10:52 ` 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=551D35C6.7070605@broadcom.com \
--to=arend@broadcom.com \
--cc=aaron.lu@intel.com \
--cc=adrian.hunter@intel.com \
--cc=alcooperx@gmail.com \
--cc=linux-mmc@vger.kernel.org \
--cc=prakity@nvidia.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.