All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ulf Hansson <ulf.hansson@linaro.org>
To: Adrian Hunter <adrian.hunter@intel.com>
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 V5 07/15] mmc: core: Hold re-tuning while bkops ongoing
Date: Thu, 16 Apr 2015 11:27:52 +0200	[thread overview]
Message-ID: <CAPDyKFp0266csi73LPMenigqu+tf1V_yMD6F+sqYy8noaSUKxw@mail.gmail.com> (raw)
In-Reply-To: <1429017146-15981-8-git-send-email-adrian.hunter@intel.com>

On 14 April 2015 at 15:12, Adrian Hunter <adrian.hunter@intel.com> wrote:
> Hold re-tuning during bkops to prevent
> it from conflicting with the busy state.
>
> Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
> ---
>  drivers/mmc/core/core.c | 6 ++++++
>  1 file changed, 6 insertions(+)
>
> diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c
> index dbd7a77..4a42174 100644
> --- a/drivers/mmc/core/core.c
> +++ b/drivers/mmc/core/core.c
> @@ -316,6 +316,8 @@ void mmc_start_bkops(struct mmc_card *card, bool from_exception)
>         } else {
>                 timeout = 0;
>                 use_busy_signal = false;
> +               /* Hold re-tuning for ongoing bkops */
> +               mmc_retune_hold(card->host);
>         }

I would rather change the behaviour to always hold re-tune, no matter
of "use_busy_signal".
Then don't release re-tune if it's an ongoing BKOPS.

I do understand the hold/release you added in __mmc_switch() will
cover this, but I think this code becomes more clear if you change to
my proposal.

>
>         err = __mmc_switch(card, EXT_CSD_CMD_SET_NORMAL,
> @@ -324,6 +326,9 @@ void mmc_start_bkops(struct mmc_card *card, bool from_exception)
>         if (err) {
>                 pr_warn("%s: Error %d starting bkops\n",
>                         mmc_hostname(card->host), err);
> +               /* bkops not ongoing, so release re-tuning */
> +               if (!use_busy_signal)
> +                       mmc_retune_release(card->host);
>                 goto out;
>         }
>
> @@ -749,6 +754,7 @@ int mmc_stop_bkops(struct mmc_card *card)
>          */
>         if (!err || (err == -EINVAL)) {
>                 mmc_card_clr_doing_bkops(card);
> +               mmc_retune_release(card->host);
>                 err = 0;
>         }
>
> --
> 1.9.1
>
> --
> 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


Kind regards
Uffe

  reply	other threads:[~2015-04-16  9:27 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-14 13:12 [PATCH V5 00/15] mmc: host: Add facility to support re-tuning Adrian Hunter
2015-04-14 13:12 ` [PATCH V5 01/15] " Adrian Hunter
2015-04-14 13:12 ` [PATCH V5 02/15] mmc: core: Enable / disable re-tuning Adrian Hunter
2015-04-16  8:57   ` Ulf Hansson
2015-04-16  9:26     ` Adrian Hunter
2015-04-16 12:00       ` Ulf Hansson
2015-04-16 13:14         ` Adrian Hunter
2015-04-16 13:57           ` Ulf Hansson
2015-04-17  6:53             ` Adrian Hunter
2015-04-16 13:24         ` Adrian Hunter
2015-04-16 15:19           ` Ulf Hansson
2015-04-17  7:06             ` Adrian Hunter
2015-04-17  8:56               ` Ulf Hansson
2015-04-17 11:52                 ` Adrian Hunter
2015-04-14 13:12 ` [PATCH V5 03/15] mmc: core: Add support for re-tuning before each request Adrian Hunter
2015-04-14 13:12 ` [PATCH V5 04/15] mmc: core: Check re-tuning before retrying Adrian Hunter
2015-04-14 13:12 ` [PATCH V5 05/15] mmc: core: Hold re-tuning during switch commands Adrian Hunter
2015-04-14 13:12 ` [PATCH V5 06/15] mmc: core: Hold re-tuning during erase commands Adrian Hunter
2015-04-14 13:12 ` [PATCH V5 07/15] mmc: core: Hold re-tuning while bkops ongoing Adrian Hunter
2015-04-16  9:27   ` Ulf Hansson [this message]
2015-04-16 11:54     ` [PATCH V6 " Adrian Hunter
2015-04-14 13:12 ` [PATCH V5 08/15] mmc: mmc: Comment that callers need to hold re-tuning if the card is put to sleep Adrian Hunter
2015-04-16  9:01   ` Ulf Hansson
2015-04-16  9:30     ` Adrian Hunter
2015-04-14 13:12 ` [PATCH V5 09/15] mmc: core: Separate out the mmc_switch status check so it can be re-used Adrian Hunter
2015-04-14 13:12 ` [PATCH V5 10/15] mmc: core: Add support for HS400 re-tuning Adrian Hunter
2015-04-14 13:12 ` [PATCH V5 11/15] mmc: sdhci: Change to new way of doing re-tuning Adrian Hunter
2015-04-14 13:12 ` [PATCH V5 12/15] mmc: sdhci: Flag re-tuning is needed on CRC or End-Bit errors Adrian Hunter
2015-04-14 13:12 ` [PATCH V5 13/15] mmc: block: Check re-tuning in the recovery path Adrian Hunter
2015-04-14 13:12 ` [PATCH V5 14/15] mmc: block: Retry errored data requests when re-tuning is needed Adrian Hunter
2015-04-14 13:12 ` [PATCH V5 15/15] mmc: core: Don't print reset warning if reset is not supported Adrian Hunter

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=CAPDyKFp0266csi73LPMenigqu+tf1V_yMD6F+sqYy8noaSUKxw@mail.gmail.com \
    --to=ulf.hansson@linaro.org \
    --cc=aaron.lu@intel.com \
    --cc=adrian.hunter@intel.com \
    --cc=alcooperx@gmail.com \
    --cc=arend@broadcom.com \
    --cc=linux-mmc@vger.kernel.org \
    --cc=prakity@nvidia.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.