public inbox for linux-mmc@vger.kernel.org
 help / color / mirror / Atom feed
From: Adrian Hunter <adrian.hunter@intel.com>
To: ojab <ojab@ojab.ru>, linux-mmc@vger.kernel.org
Subject: Re: HP Chromebook 13 G1 eMMC is broken since 4.12
Date: Mon, 9 Oct 2017 10:24:01 +0300	[thread overview]
Message-ID: <e568ad32-588f-8506-c52b-57e42cc7cdeb@intel.com> (raw)
In-Reply-To: <CAKzrAgSR+j7-XeVEH4Db1nSyNtJAUOei1dfOvJuRKsUOzeoDeQ@mail.gmail.com>

On 07/10/17 03:16, ojab // wrote:
> [Please CC me, since I'm not subscribed to the list]
> 
> Oh hai!
> 
> Since linux-4.12 I have eMMC-related errors in dmesg and it's
> completely unusable (_very_ slow):
> 
> Oct 05 18:24:11 ojab-notebook kernel: print_req_error: I/O error, dev
> mmcblk0, sector 118656
> Oct 05 18:24:11 ojab-notebook dracut-initqueue[378]: /dev/mmcblk0p8:
> read failed after 0 of 4096 at 16711680: Input/output error
> Oct 05 18:24:11 ojab-notebook dracut-initqueue[378]: /dev/mmcblk0rpmb:
> read failed after 0 of 4096 at 4128768: Input/output error
> Oct 05 18:24:11 ojab-notebook dracut-initqueue[378]: /dev/mmcblk0rpmb:
> read failed after 0 of 4096 at 4186112: Input/output error
> Oct 05 18:24:11 ojab-notebook dracut-initqueue[378]: /dev/mmcblk0rpmb:
> read failed after 0 of 4096 at 0: Input/output error
> Oct 05 18:24:11 ojab-notebook dracut-initqueue[378]: /dev/mmcblk0rpmb:
> read failed after 0 of 4096 at 4096: Input/output error
> ...
> Oct 05 18:24:26 ojab-notebook kernel: mmc0: Timeout waiting for
> hardware interrupt.
> Oct 05 18:24:26 ojab-notebook kernel: mmc0: sdhci: ============ SDHCI
> REGISTER DUMP ===========
> Oct 05 18:24:26 ojab-notebook kernel: mmc0: sdhci: Sys addr:
> 0x00000008 | Version:  0x00001002
> Oct 05 18:24:26 ojab-notebook kernel: mmc0: sdhci: Blk size:
> 0x00007200 | Blk cnt:  0x00000008
> Oct 05 18:24:26 ojab-notebook kernel: mmc0: sdhci: Argument:
> 0x0001cf80 | Trn mode: 0x0000003b
> Oct 05 18:24:26 ojab-notebook kernel: mmc0: sdhci: Present:
> 0x1fff0001 | Host ctl: 0x0000003d
> Oct 05 18:24:26 ojab-notebook kernel: mmc0: sdhci: Power:
> 0x0000000b | Blk gap:  0x00000080
> Oct 05 18:24:26 ojab-notebook kernel: mmc0: sdhci: Wake-up:
> 0x00000000 | Clock:    0x00000007
> Oct 05 18:24:26 ojab-notebook kernel: mmc0: sdhci: Timeout:
> 0x00000005 | Int stat: 0x00000000
> Oct 05 18:24:26 ojab-notebook kernel: mmc0: sdhci: Int enab:
> 0x02ff000b | Sig enab: 0x02ff000b
> Oct 05 18:24:26 ojab-notebook kernel: mmc0: sdhci: AC12 err:
> 0x00000000 | Slot int: 0x00000000
> Oct 05 18:24:26 ojab-notebook kernel: mmc0: sdhci: Caps:
> 0x546ec881 | Caps_1:   0x80000807
> Oct 05 18:24:26 ojab-notebook kernel: mmc0: sdhci: Cmd:
> 0x0000123a | Max curr: 0x00000000
> Oct 05 18:24:26 ojab-notebook kernel: mmc0: sdhci: Resp[0]:
> 0x00000000 | Resp[1]:  0x00000000
> Oct 05 18:24:26 ojab-notebook kernel: mmc0: sdhci: Resp[2]:
> 0x00000000 | Resp[3]:  0x00001900
> Oct 05 18:24:26 ojab-notebook kernel: mmc0: sdhci: Host ctl2: 0x0000000d
> Oct 05 18:24:26 ojab-notebook kernel: mmc0: sdhci: ADMA Err:
> 0x00000000 | ADMA Ptr: 0x000000026de25200
> Oct 05 18:24:26 ojab-notebook kernel: mmc0: sdhci:
> ============================================
> Oct 05 18:24:26 ojab-notebook kernel: mmcblk0: error -84 sending
> status command, retrying
> Oct 05 18:24:26 ojab-notebook kernel: mmcblk0: error -110 sending stop
> command, original cmd response 0x0, card status 0x900
> Oct 05 18:24:26 ojab-notebook kernel: mmcblk0: error -110 transferring
> data, sector 118656, nr 8, cmd response 0x0, card status 0x0
> ...
> 
> `git bisect` told me that
> 
> c959a6b00ff589c652373e27bced5a700bd450f2 is the first bad commit
> commit c959a6b00ff589c652373e27bced5a700bd450f2
> Author: Adrian Hunter <adrian.hunter@intel.com>
> Date:   Mon Mar 20 19:50:34 2017 +0200
> 
>     mmc: sdhci-pci: Don't re-tune with runtime pm for some Intel devices
> 
>     Make use  of an Intel ACPI _DSM that indicates if re-tuning is needed after
>     D3.
> 
>     Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
>     Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
>     Tested-by: Ludovic Desroches <ludovic.desroches@microchip.com>
> 
> :040000 040000 e6b59f520ed0beadb7e3ae609f237c2e4a03dfa1
> c9726a0a3ef41a9c59137bbc52a808a6c91e0d81 M      drivers
> 
> 
> It's HP Chromebook 13 G1 (CHELL) with stock firmware (SeaBIOS/legacy
> boot mode), vanilla kernel is used, `acpidump` output can be found in
> the attached file.

Please try this:

From: Adrian Hunter <adrian.hunter@intel.com>
Date: Mon, 9 Oct 2017 10:06:57 +0300
Subject: [PATCH] mmc: sdhci-pci: Fix default d3_retune for Intel host
 controllers

The default for d3_retune is true, but that was not being set in all cases,
which results in eMMC errors because re-tuning has not been done.
Fix by initializing d3_retune to true.

Reported-by: ojab <ojab@ojab.ru>
Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Fixes: c959a6b00ff5 ("mmc: sdhci-pci: Don't re-tune with runtime pm for some Intel devices")
Cc: stable@vger.kernel.org # v4.12+
---
 drivers/mmc/host/sdhci-pci-core.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/mmc/host/sdhci-pci-core.c b/drivers/mmc/host/sdhci-pci-core.c
index 5f3f7b51299f..e854ee5d7f4a 100644
--- a/drivers/mmc/host/sdhci-pci-core.c
+++ b/drivers/mmc/host/sdhci-pci-core.c
@@ -448,6 +448,8 @@ static void intel_dsm_init(struct intel_host *intel_host, struct device *dev,
 	int err;
 	u32 val;
 
+	intel_host->d3_retune = true;
+
 	err = __intel_dsm(intel_host, dev, INTEL_DSM_FNS, &intel_host->dsm_fns);
 	if (err) {
 		pr_debug("%s: DSM not supported, error %d\n",
-- 
1.9.1

       reply	other threads:[~2017-10-09  7:31 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CAKzrAgSR+j7-XeVEH4Db1nSyNtJAUOei1dfOvJuRKsUOzeoDeQ@mail.gmail.com>
2017-10-09  7:24 ` Adrian Hunter [this message]
2017-10-09 10:13   ` HP Chromebook 13 G1 eMMC is broken since 4.12 ojab //
2017-10-09 11:11     ` Adrian Hunter
2017-10-10  7:33       ` 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=e568ad32-588f-8506-c52b-57e42cc7cdeb@intel.com \
    --to=adrian.hunter@intel.com \
    --cc=linux-mmc@vger.kernel.org \
    --cc=ojab@ojab.ru \
    /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