All of lore.kernel.org
 help / color / mirror / Atom feed
From: Adrian Hunter <adrian.hunter@intel.com>
To: Ulf Hansson <ulf.hansson@linaro.org>
Cc: linux-mmc <linux-mmc@vger.kernel.org>,
	Aaron Lu <aaron.lu@intel.com>, Philip Rakity <prakity@nvidia.com>,
	Al Cooper <alcooperx@gmail.com>,
	Arend van Spriel <arend@broadcom.com>
Subject: Re: [PATCH V4 03/15] mmc: core: Add support for re-tuning before each request
Date: Wed, 01 Apr 2015 15:08:48 +0300	[thread overview]
Message-ID: <551BDFD0.20800@intel.com> (raw)
In-Reply-To: <CAPDyKFpxZ5mvy2Q+s62E0AadoUYvbtYLikxX4PGQf6M_0bBevA@mail.gmail.com>

On 01/04/15 13:13, Ulf Hansson wrote:
> On 27 March 2015 at 21:57, Adrian Hunter <adrian.hunter@intel.com> wrote:
>> At the start of each request, re-tune if needed and
>> then hold off re-tuning again until the request is done.
>>
>> Note that though there is one function that starts
>> requests (mmc_start_request) there are two that wait for
>> the request to be done (mmc_wait_for_req_done and
>> mmc_wait_for_data_req_done).  Also note that
>> mmc_wait_for_data_req_done can return even when the
>> request is not done (which allows the block driver
>> to prepare a newly arrived request while still
>> waiting for the previous request).
>>
>> This patch ensures re-tuning is held for the duration
>> of a request.  Subsequent patches will also hold
>> re-tuning at other times when it might cause a
>> conflict.
> 
> How about holding of re-tune from __mmc_claim_host() (after
> pm_runtime_get_sync() ) -> mmc_release_host(). Would that work? If so,
> that would simplify a lot around this.

I don't think it would work. The host is claimed both when we want to do
re-tuning (timer, CRC error, or host requests it) and when we want to
prevent it (in between dependent commands like erase, polling when card is
busy, SDIO card custom wake-up command).


  reply	other threads:[~2015-04-01 12:10 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
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 [this message]
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=551BDFD0.20800@intel.com \
    --to=adrian.hunter@intel.com \
    --cc=aaron.lu@intel.com \
    --cc=alcooperx@gmail.com \
    --cc=arend@broadcom.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.