All of lore.kernel.org
 help / color / mirror / Atom feed
From: Shawn Lin <shawn.lin@rock-chips.com>
To: Bastien Nocera <hadess@hadess.net>, linux-mmc@vger.kernel.org
Cc: shawn.lin@rock-chips.com
Subject: Re: Write errors on Cherrytrail eMMC
Date: Sat, 10 Oct 2015 09:05:44 +0800	[thread overview]
Message-ID: <56186468.80805@rock-chips.com> (raw)
In-Reply-To: <1444436356.28661.47.camel@hadess.net>

On 2015/10/10 8:19, Bastien Nocera wrote:
> Heya,
>
> On a Cherrytrail device (the MS Surface 3), trying to install to the
> internal eMMC, I get write errors with the controller timing out.
>
> I'm using a self built 4.3.0-0.rc4.git3.2.fc24.x86_64.
>
> Any ideas?
>
> Cheers
>
> Oct 09 18:09:24 localhost kernel: mmc0: starting CMD25 arg 05ba4800 flags 000000b5
> Oct 09 18:09:24 localhost kernel: mmc0:     blksz 512 blocks 1024 flags 00000100 tsac 1200 ms nsac 8000
> Oct 09 18:09:24 localhost kernel: mmc0:     CMD12 arg 00000000 flags 0000049d
> Oct 09 18:09:24 localhost kernel: sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> Oct 09 18:09:34 localhost kernel: mmc0: Timeout waiting for hardware interrupt.
> Oct 09 18:09:34 localhost kernel: sdhci: =========== REGISTER DUMP (mmc0)===========
> Oct 09 18:09:34 localhost kernel: sdhci: Sys addr: 0x00000400 | Version:  0x00001002
> Oct 09 18:09:34 localhost kernel: sdhci: Blk size: 0x00007200 | Blk cnt:  0x00000203

HC doesn't decrements blk cnt to zero means your data path is blocked.
So I guess it's either a Noc/Qos problem of your chip or "too busy" for 
emmc to pragramme the data.

> Oct 09 18:09:34 localhost kernel: sdhci: Argument: 0x05ba4800 | Trn mode: 0x0000002b
> Oct 09 18:09:34 localhost kernel: sdhci: Present:  0x1fff0106 | Host ctl: 0x00000035
> Oct 09 18:09:34 localhost kernel: sdhci: Power:    0x0000000b | Blk gap:  0x00000080
> Oct 09 18:09:34 localhost kernel: sdhci: Wake-up:  0x00000000 | Clock:    0x00000007
> Oct 09 18:09:34 localhost kernel: sdhci: Timeout:  0x00000008 | Int stat: 0x00000000
> Oct 09 18:09:34 localhost kernel: sdhci: Int enab: 0x02ff000b | Sig enab: 0x02ff000b
> Oct 09 18:09:34 localhost kernel: sdhci: AC12 err: 0x00000000 | Slot int: 0x00000000
> Oct 09 18:09:34 localhost kernel: sdhci: Caps:     0x446cc8b2 | Caps_1:   0x00000007
> Oct 09 18:09:34 localhost kernel: sdhci: Cmd:      0x0000193a | Max curr: 0x00000000
> Oct 09 18:09:34 localhost kernel: sdhci: Host ctl2: 0x0000008b
> Oct 09 18:09:34 localhost kernel: sdhci: ADMA Err: 0x00000000 | ADMA Ptr: 0x3fbf90e0
> Oct 09 18:09:34 localhost kernel: sdhci: ===========================================
> Oct 09 18:09:34 localhost kernel: sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> Oct 09 18:09:34 localhost kernel: sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000002

No, sdhci finally complete the tansfer. So, you can try to augment the 
timeout [here, mod_timer(&host->timer, timeout)] to see how the things 
going.

> Oct 09 18:09:34 localhost kernel: mmc0: req done <CMD23>: 0: 00000000 00000000 00000000 00000000
> Oct 09 18:09:34 localhost kernel: mmc0: req done (CMD25): 0: 00000900 00000000 00000000 00000000
> Oct 09 18:09:34 localhost kernel: mmc0:     0 bytes transferred: -110
> Oct 09 18:09:34 localhost kernel: mmc0:     (CMD12): 0: 00000d00 00000000 00000000 00000000
> Oct 09 18:09:34 localhost kernel: mmc0: starting CMD13 arg 00010000 flags 00000195
> Oct 09 18:09:34 localhost kernel: sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> Oct 09 18:09:34 localhost kernel: mmc0: req done (CMD13): 0: 00000900 00000000 00000000 00000000
> Oct 09 18:09:34 localhost kernel: mmc0: starting CMD13 arg 00010000 flags 00000195
> Oct 09 18:09:34 localhost kernel: sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
> Oct 09 18:09:34 localhost kernel: mmc0: req done (CMD13): 0: 00000900 00000000 00000000 00000000
> Oct 09 18:09:34 localhost kernel: mmcblk0: error -110 transferring data, sector 96094208, nr 1024, cmd response 0x900, card status 0xd00
> Oct 09 18:09:34 localhost kernel: blk_update_request: I/O error, dev mmcblk0, sector 96094208
> Oct 09 18:09:34 localhost kernel: blk_update_request: I/O error, dev mmcblk0, sector 96094216
> Oct 09 18:09:34 localhost kernel: blk_update_request: I/O error, dev mmcblk0, sector 96094224
> Oct 09 18:09:34 localhost kernel: blk_update_request: I/O error, dev mmcblk0, sector 96094232
> Oct 09 18:09:34 localhost kernel: blk_update_request: I/O error, dev mmcblk0, sector 96094240
> Oct 09 18:09:34 localhost kernel: blk_update_request: I/O error, dev mmcblk0, sector 96094248
> Oct 09 18:09:34 localhost kernel: blk_update_request: I/O error, dev mmcblk0, sector 96094256
> Oct 09 18:09:34 localhost kernel: blk_update_request: I/O error, dev mmcblk0, sector 96094264
> Oct 09 18:09:34 localhost kernel: blk_update_request: I/O error, dev mmcblk0, sector 96094272
> Oct 09 18:09:34 localhost kernel: blk_update_request: I/O error, dev mmcblk0, sector 96094280
> --
> 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
>
>
>


-- 
Best Regards
Shawn Lin


  reply	other threads:[~2015-10-10  1:05 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-10  0:19 Write errors on Cherrytrail eMMC Bastien Nocera
2015-10-10  1:05 ` Shawn Lin [this message]
2015-10-11 17:45   ` Bastien Nocera
2015-10-16 10:08     ` Bastien Nocera
2015-10-16 14:41       ` Bastien Nocera
2015-10-20  9:44         ` Bastien Nocera

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=56186468.80805@rock-chips.com \
    --to=shawn.lin@rock-chips.com \
    --cc=hadess@hadess.net \
    --cc=linux-mmc@vger.kernel.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.