Linux MultiMedia Card development
 help / color / mirror / Atom feed
From: Thierry Escande <thierry.escande@collabora.com>
To: Ulf Hansson <ulf.hansson@linaro.org>
Cc: linux-mmc <linux-mmc@vger.kernel.org>
Subject: Re: [PATCH] mmc: Hynix: add QUIRK_NOTIFY_POWEROFF_ON_SLEEP
Date: Thu, 27 Oct 2016 17:06:28 +0200	[thread overview]
Message-ID: <e28c3ced-ddaa-27a3-469b-d1f5cc29b407@collabora.com> (raw)
In-Reply-To: <CAPDyKFoO1JX2-jpux+f-1O8kDC+jumspXapA0PZvKMBUE3YhSA@mail.gmail.com>

Hi Ulf,

On 25/10/2016 12:03, Ulf Hansson wrote:
> On 3 October 2016 at 16:19, Thierry Escande
> <thierry.escande@collabora.com> wrote:
>> From: zhaojohn <john.zhao@intel.com>
>>
>> Hynix eMMC devices sometimes take 50% longer to resume from sleep.
>> Based on a recommendation from Hynix, send a Power-Off Notification
>> before going to S3 to restore a resume time consistently within spec.
>
> Could you also share what mmc controller and SoC you get this results from?
>
> More precisely, are you using MMC_CAP_WAIT_WHILE_BUSY?
This occurs on a braswell based chromebook, using the acpi sdhci 
controller. So yes, using MMC_CAP_WAIT_WHILE_BUSY.

[...]
>> diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c
>> index f2d185c..46a4562 100644
>> --- a/drivers/mmc/core/mmc.c
>> +++ b/drivers/mmc/core/mmc.c
>> @@ -1925,8 +1925,14 @@ static int _mmc_suspend(struct mmc_host *host, bool is_suspend)
>>         if (mmc_can_poweroff_notify(host->card) &&
>>                 ((host->caps2 & MMC_CAP2_FULL_PWR_CYCLE) || !is_suspend))
>>                 err = mmc_poweroff_notify(host->card, notify_type);
>> -       else if (mmc_can_sleep(host->card))
>> +       else if (mmc_can_sleep(host->card)) {
>> +               if (host->card->quirks & MMC_QUIRK_NOTIFY_POWEROFF_ON_SLEEP) {
>> +                       err = mmc_poweroff_notify(host->card, notify_type);
>> +                       if (err)
>> +                               goto out;
>> +               }
>
> So, I am curious to know from a power management point of view; how
> does the card behave comparing the sleep and power off notification
> command?
>
> Is the card in a low power state after the power off notification has
> been received? If so, did you manage to do some measurement for that
> or perhaps the data-sheet tells about this? It would be interesting to
> know if there were any differences between sleep and power off
> notification in this regards.
I do not have any clue about that. It appears only with Hynix emmc and 
the fix has been approved by Hynix engineers... It seems that if not 
powered off, the firmware does some garbage collection when resuming and 
it takes more time...

Regards,
  Thierry

  reply	other threads:[~2016-10-27 15:06 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-10-03 14:19 [PATCH] mmc: Hynix: add QUIRK_NOTIFY_POWEROFF_ON_SLEEP Thierry Escande
2016-10-25 10:03 ` Ulf Hansson
2016-10-27 15:06   ` Thierry Escande [this message]
2016-10-27 19:49     ` Ulf Hansson
2016-10-31 10:14       ` Alex Lemberg
2016-11-30 17:05         ` Thierry Escande

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=e28c3ced-ddaa-27a3-469b-d1f5cc29b407@collabora.com \
    --to=thierry.escande@collabora.com \
    --cc=linux-mmc@vger.kernel.org \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox