All of lore.kernel.org
 help / color / mirror / Atom feed
* eMMC errors on Khadas VIM2
@ 2018-01-23 16:12 Martin Blumenstingl
  2018-01-23 18:25 ` Jerome Brunet
  0 siblings, 1 reply; 5+ messages in thread
From: Martin Blumenstingl @ 2018-01-23 16:12 UTC (permalink / raw)
  To: linus-amlogic

Hello,

I've been observing the following error on my Khadas VIM2 (with 16GiB eMMC):
[    4.829411] mmc1: mmc_select_hs400 failed, error -84
[    4.829444] mmc1: error -84 whilst initialising MMC card

removing the "mmc-hs400-1_8v" property from the sd_emmc_c node results in:
[    4.710491] mmc1: new HS200 MMC card at address 0001
[    4.710844] mmcblk1: mmc1:0001 AJNB4R 14.6 GiB
[    4.714424] mmcblk1boot0: mmc1:0001 AJNB4R partition 1 4.00 MiB
[    4.720272] mmcblk1boot1: mmc1:0001 AJNB4R partition 2 4.00 MiB
[    4.726176] mmcblk1rpmb: mmc1:0001 AJNB4R partition 3 4.00 MiB,
chardev (240:0)
...
# dd if=/dev/mmcblk1 | sha1sum
30535680+0 records in
30535680+0 records out
912b9d765a0ffee2711f65f2bbbdc2bc7544e52c  -
15634268160 bytes (16 GB, 15 GiB) copied, 205.13 s, 76.2 MB/s
(no CRC errors are shown in the kernel log)

since I was curious I added the "mmc-hs400-1_8v" property back and
added "mmc-hs400-enhanced-strobe" to the sd_emmc_c node, which results
in:
[    4.227948] mmc1: new HS400 Enhanced strobe MMC card at address 0001
[    4.230284] mmcblk1: mmc1:0001 AJNB4R 14.6 GiB
[    4.254733] mmcblk1boot0: mmc1:0001 AJNB4R partition 1 4.00 MiB
[    4.260559] mmcblk1boot1: mmc1:0001 AJNB4R partition 2 4.00 MiB
[    4.407234] mmcblk1rpmb: mmc1:0001 AJNB4R partition 3 4.00 MiB,
chardev (240:0)
...
# cat /sys/kernel/debug/mmc1/ios
clock:          200000000 Hz
actual clock:   166666667 Hz
vdd:            21 (3.3 ~ 3.4 V)
bus mode:       2 (push-pull)
chip select:    0 (don't care)
power mode:     2 (on)
bus width:      3 (8 bits)
timing spec:    10 (mmc HS400 enhanced strobe)
signal voltage: 1 (1.80 V)
driver type:    0 (driver type B)
# dd if=/dev/mmcblk1 | sha1sum
30535680+0 records in
30535680+0 records out
912b9d765a0ffee2711f65f2bbbdc2bc7544e52c  -
15634268160 bytes (16 GB, 15 GiB) copied, 203.118 s, 77.0 MB/s
(no CRC errors are shown in the kernel log)

@Jerome: is this something you have seen before?


Regards
Martin

^ permalink raw reply	[flat|nested] 5+ messages in thread

* eMMC errors on Khadas VIM2
  2018-01-23 16:12 eMMC errors on Khadas VIM2 Martin Blumenstingl
@ 2018-01-23 18:25 ` Jerome Brunet
  2018-01-23 23:35   ` Martin Blumenstingl
  0 siblings, 1 reply; 5+ messages in thread
From: Jerome Brunet @ 2018-01-23 18:25 UTC (permalink / raw)
  To: linus-amlogic

On Tue, 2018-01-23 at 17:12 +0100, Martin Blumenstingl wrote:
> Hello,
> 
> I've been observing the following error on my Khadas VIM2 (with 16GiB eMMC):
> [    4.829411] mmc1: mmc_select_hs400 failed, error -84
> [    4.829444] mmc1: error -84 whilst initialising MMC card

I remember testing this quickly on the vim2 I have, but that was before we added
tx phase tunning.

I had a quick try and kvim2 indeed miserably fail on kevin's integ branch

I reverted 0a44697627d1, and it seems to be back to normal

I never really liked this tweak and amlogic mentioned to us that we should
probably not tune this and keep the default value ...

> 
> removing the "mmc-hs400-1_8v" property from the sd_emmc_c node results in:
> [    4.710491] mmc1: new HS200 MMC card at address 0001
> [    4.710844] mmcblk1: mmc1:0001 AJNB4R 14.6 GiB
> [    4.714424] mmcblk1boot0: mmc1:0001 AJNB4R partition 1 4.00 MiB
> [    4.720272] mmcblk1boot1: mmc1:0001 AJNB4R partition 2 4.00 MiB
> [    4.726176] mmcblk1rpmb: mmc1:0001 AJNB4R partition 3 4.00 MiB,
> chardev (240:0)

The input frequency of the controller is lower in hs200 (200Mhz vs 333Mhz)

> ...
> # dd if=/dev/mmcblk1 | sha1sum
> 30535680+0 records in
> 30535680+0 records out
> 912b9d765a0ffee2711f65f2bbbdc2bc7544e52c  -
> 15634268160 bytes (16 GB, 15 GiB) copied, 205.13 s, 76.2 MB/s
> (no CRC errors are shown in the kernel log)
> 
> since I was curious I added the "mmc-hs400-1_8v" property back and
> added "mmc-hs400-enhanced-strobe" to the sd_emmc_c node, which results
> in:
> [    4.227948] mmc1: new HS400 Enhanced strobe MMC card at address 0001
> [    4.230284] mmcblk1: mmc1:0001 AJNB4R 14.6 GiB
> [    4.254733] mmcblk1boot0: mmc1:0001 AJNB4R partition 1 4.00 MiB
> [    4.260559] mmcblk1boot1: mmc1:0001 AJNB4R partition 2 4.00 MiB
> [    4.407234] mmcblk1rpmb: mmc1:0001 AJNB4R partition 3 4.00 MiB,
> chardev (240:0)

Weird ! If I understand the code correctly, adding this caps should only trigger
the related "enhance-strobe" callback ... but meson-gx-mmc does not implement it
, so this should have no effect

Maybe I missed something



> ...
> # cat /sys/kernel/debug/mmc1/ios
> clock:          200000000 Hz
> actual clock:   166666667 Hz
> vdd:            21 (3.3 ~ 3.4 V)
> bus mode:       2 (push-pull)
> chip select:    0 (don't care)
> power mode:     2 (on)
> bus width:      3 (8 bits)
> timing spec:    10 (mmc HS400 enhanced strobe)
> signal voltage: 1 (1.80 V)
> driver type:    0 (driver type B)
> # dd if=/dev/mmcblk1 | sha1sum
> 30535680+0 records in
> 30535680+0 records out
> 912b9d765a0ffee2711f65f2bbbdc2bc7544e52c  -
> 15634268160 bytes (16 GB, 15 GiB) copied, 203.118 s, 77.0 MB/s
> (no CRC errors are shown in the kernel log)
> 
> @Jerome: is this something you have seen before?
> 
> 
> Regards
> Martin

^ permalink raw reply	[flat|nested] 5+ messages in thread

* eMMC errors on Khadas VIM2
  2018-01-23 18:25 ` Jerome Brunet
@ 2018-01-23 23:35   ` Martin Blumenstingl
  2018-01-24  8:08     ` Jerome Brunet
  0 siblings, 1 reply; 5+ messages in thread
From: Martin Blumenstingl @ 2018-01-23 23:35 UTC (permalink / raw)
  To: linus-amlogic

Hi Jerome,

On Tue, Jan 23, 2018 at 7:25 PM, Jerome Brunet <jbrunet@baylibre.com> wrote:
> On Tue, 2018-01-23 at 17:12 +0100, Martin Blumenstingl wrote:
>> Hello,
>>
>> I've been observing the following error on my Khadas VIM2 (with 16GiB eMMC):
>> [    4.829411] mmc1: mmc_select_hs400 failed, error -84
>> [    4.829444] mmc1: error -84 whilst initialising MMC card
>
> I remember testing this quickly on the vim2 I have, but that was before we added
> tx phase tunning.
>
> I had a quick try and kvim2 indeed miserably fail on kevin's integ branch
>
> I reverted 0a44697627d1, and it seems to be back to normal
>
> I never really liked this tweak and amlogic mentioned to us that we should
> probably not tune this and keep the default value ...
do you have any other board which has an HS400 eMMC?

>>
>> removing the "mmc-hs400-1_8v" property from the sd_emmc_c node results in:
>> [    4.710491] mmc1: new HS200 MMC card at address 0001
>> [    4.710844] mmcblk1: mmc1:0001 AJNB4R 14.6 GiB
>> [    4.714424] mmcblk1boot0: mmc1:0001 AJNB4R partition 1 4.00 MiB
>> [    4.720272] mmcblk1boot1: mmc1:0001 AJNB4R partition 2 4.00 MiB
>> [    4.726176] mmcblk1rpmb: mmc1:0001 AJNB4R partition 3 4.00 MiB,
>> chardev (240:0)
>
> The input frequency of the controller is lower in hs200 (200Mhz vs 333Mhz)
ah, I see - thanks for the explanation!

>> ...
>> # dd if=/dev/mmcblk1 | sha1sum
>> 30535680+0 records in
>> 30535680+0 records out
>> 912b9d765a0ffee2711f65f2bbbdc2bc7544e52c  -
>> 15634268160 bytes (16 GB, 15 GiB) copied, 205.13 s, 76.2 MB/s
>> (no CRC errors are shown in the kernel log)
>>
>> since I was curious I added the "mmc-hs400-1_8v" property back and
>> added "mmc-hs400-enhanced-strobe" to the sd_emmc_c node, which results
>> in:
>> [    4.227948] mmc1: new HS400 Enhanced strobe MMC card at address 0001
>> [    4.230284] mmcblk1: mmc1:0001 AJNB4R 14.6 GiB
>> [    4.254733] mmcblk1boot0: mmc1:0001 AJNB4R partition 1 4.00 MiB
>> [    4.260559] mmcblk1boot1: mmc1:0001 AJNB4R partition 2 4.00 MiB
>> [    4.407234] mmcblk1rpmb: mmc1:0001 AJNB4R partition 3 4.00 MiB,
>> chardev (240:0)
>
> Weird ! If I understand the code correctly, adding this caps should only trigger
> the related "enhance-strobe" callback ... but meson-gx-mmc does not implement it
> , so this should have no effect
indeed, I just checked the code and it *should* not have any effect
have you tested this on your VIM2 - I did multiple reboots (and
hardware resets) with that flag and it seems to "fix" it for me (I'd
like to rule out that this is a fluke though!)


Regards
Martin

^ permalink raw reply	[flat|nested] 5+ messages in thread

* eMMC errors on Khadas VIM2
  2018-01-23 23:35   ` Martin Blumenstingl
@ 2018-01-24  8:08     ` Jerome Brunet
  2018-01-24  9:34       ` Martin Blumenstingl
  0 siblings, 1 reply; 5+ messages in thread
From: Jerome Brunet @ 2018-01-24  8:08 UTC (permalink / raw)
  To: linus-amlogic

On Wed, 2018-01-24 at 00:35 +0100, Martin Blumenstingl wrote:
> Hi Jerome,
> 
> On Tue, Jan 23, 2018 at 7:25 PM, Jerome Brunet <jbrunet@baylibre.com> wrote:
> > On Tue, 2018-01-23 at 17:12 +0100, Martin Blumenstingl wrote:
> > > Hello,
> > > 
> > > I've been observing the following error on my Khadas VIM2 (with 16GiB eMMC):
> > > [    4.829411] mmc1: mmc_select_hs400 failed, error -84
> > > [    4.829444] mmc1: error -84 whilst initialising MMC card
> > 
> > I remember testing this quickly on the vim2 I have, but that was before we added
> > tx phase tunning.
> > 
> > I had a quick try and kvim2 indeed miserably fail on kevin's integ branch
> > 
> > I reverted 0a44697627d1, and it seems to be back to normal
> > 
> > I never really liked this tweak and amlogic mentioned to us that we should
> > probably not tune this and keep the default value ...
> 
> do you have any other board which has an HS400 eMMC?
> 

I did quite a lot of test when finishing the mmc controller rework.
Several designs (such as the p200) could not cope with hs400.

On other design (such as the vim1), while working, I did not see any benefit in
adding hs400, since emmc maximum rate was easily with hs200 bandwidth.

the vim2, If remember correctly, showed better result than the 76MB/s below.
I remember something around 120MB/s but maybe I'm confused.

For sure, if the maximum throughput of the soldered emmc chip is less than
100MB/s, you may stay in hs200 w/o loosing any performance.

> > > 
> > > ...
> > > # dd if=/dev/mmcblk1 | sha1sum
> > > 30535680+0 records in
> > > 30535680+0 records out
> > > 912b9d765a0ffee2711f65f2bbbdc2bc7544e52c  -
> > > 15634268160 bytes (16 GB, 15 GiB) copied, 205.13 s, 76.2 MB/s
> > > (no CRC errors are shown in the kernel log)
> > > 
> > > since I was curious I added the "mmc-hs400-1_8v" property back and
> > > added "mmc-hs400-enhanced-strobe" to the sd_emmc_c node, which results
> > > in:
> > > [    4.227948] mmc1: new HS400 Enhanced strobe MMC card at address 0001
> > > [    4.230284] mmcblk1: mmc1:0001 AJNB4R 14.6 GiB
> > > [    4.254733] mmcblk1boot0: mmc1:0001 AJNB4R partition 1 4.00 MiB
> > > [    4.260559] mmcblk1boot1: mmc1:0001 AJNB4R partition 2 4.00 MiB
> > > [    4.407234] mmcblk1rpmb: mmc1:0001 AJNB4R partition 3 4.00 MiB,
> > > chardev (240:0)
> > 
> > Weird ! If I understand the code correctly, adding this caps should only trigger
> > the related "enhance-strobe" callback ... but meson-gx-mmc does not implement it
> > , so this should have no effect
> 
> indeed, I just checked the code and it *should* not have any effect
> have you tested this on your VIM2 - I did multiple reboots (and
> hardware resets) with that flag and it seems to "fix" it for me (I'd
> like to rule out that this is a fluke though!)

Nope, not yet ... maybe later this week

^ permalink raw reply	[flat|nested] 5+ messages in thread

* eMMC errors on Khadas VIM2
  2018-01-24  8:08     ` Jerome Brunet
@ 2018-01-24  9:34       ` Martin Blumenstingl
  0 siblings, 0 replies; 5+ messages in thread
From: Martin Blumenstingl @ 2018-01-24  9:34 UTC (permalink / raw)
  To: linus-amlogic

Hi Jerome,

On Wed, Jan 24, 2018 at 9:08 AM, Jerome Brunet <jbrunet@baylibre.com> wrote:
> On Wed, 2018-01-24 at 00:35 +0100, Martin Blumenstingl wrote:
>> Hi Jerome,
>>
>> On Tue, Jan 23, 2018 at 7:25 PM, Jerome Brunet <jbrunet@baylibre.com> wrote:
>> > On Tue, 2018-01-23 at 17:12 +0100, Martin Blumenstingl wrote:
>> > > Hello,
>> > >
>> > > I've been observing the following error on my Khadas VIM2 (with 16GiB eMMC):
>> > > [    4.829411] mmc1: mmc_select_hs400 failed, error -84
>> > > [    4.829444] mmc1: error -84 whilst initialising MMC card
>> >
>> > I remember testing this quickly on the vim2 I have, but that was before we added
>> > tx phase tunning.
>> >
>> > I had a quick try and kvim2 indeed miserably fail on kevin's integ branch
>> >
>> > I reverted 0a44697627d1, and it seems to be back to normal
>> >
>> > I never really liked this tweak and amlogic mentioned to us that we should
>> > probably not tune this and keep the default value ...
>>
>> do you have any other board which has an HS400 eMMC?
>>
>
> I did quite a lot of test when finishing the mmc controller rework.
> Several designs (such as the p200) could not cope with hs400.
>
> On other design (such as the vim1), while working, I did not see any benefit in
> adding hs400, since emmc maximum rate was easily with hs200 bandwidth.
>
> the vim2, If remember correctly, showed better result than the 76MB/s below.
> I remember something around 120MB/s but maybe I'm confused.
the 76MB/s on my test are CPU limited since I read the whole eMMC and
pipe it through sha1sum (my poor-man's "I can read the whole eMMC
without corruption" test)

> For sure, if the maximum throughput of the soldered emmc chip is less than
> 100MB/s, you may stay in hs200 w/o loosing any performance.
I need to re-test it without that CPU limitation, but I think I got
>130MB/s in a run with HS400 Enhanced Strobe

>> > >
>> > > ...
>> > > # dd if=/dev/mmcblk1 | sha1sum
>> > > 30535680+0 records in
>> > > 30535680+0 records out
>> > > 912b9d765a0ffee2711f65f2bbbdc2bc7544e52c  -
>> > > 15634268160 bytes (16 GB, 15 GiB) copied, 205.13 s, 76.2 MB/s
>> > > (no CRC errors are shown in the kernel log)
>> > >
>> > > since I was curious I added the "mmc-hs400-1_8v" property back and
>> > > added "mmc-hs400-enhanced-strobe" to the sd_emmc_c node, which results
>> > > in:
>> > > [    4.227948] mmc1: new HS400 Enhanced strobe MMC card at address 0001
>> > > [    4.230284] mmcblk1: mmc1:0001 AJNB4R 14.6 GiB
>> > > [    4.254733] mmcblk1boot0: mmc1:0001 AJNB4R partition 1 4.00 MiB
>> > > [    4.260559] mmcblk1boot1: mmc1:0001 AJNB4R partition 2 4.00 MiB
>> > > [    4.407234] mmcblk1rpmb: mmc1:0001 AJNB4R partition 3 4.00 MiB,
>> > > chardev (240:0)
>> >
>> > Weird ! If I understand the code correctly, adding this caps should only trigger
>> > the related "enhance-strobe" callback ... but meson-gx-mmc does not implement it
>> > , so this should have no effect
>>
>> indeed, I just checked the code and it *should* not have any effect
>> have you tested this on your VIM2 - I did multiple reboots (and
>> hardware resets) with that flag and it seems to "fix" it for me (I'd
>> like to rule out that this is a fluke though!)
>
> Nope, not yet ... maybe later this week
would be great if you could share your results whenever you have time
to test this


Regards
Martin

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2018-01-24  9:34 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-01-23 16:12 eMMC errors on Khadas VIM2 Martin Blumenstingl
2018-01-23 18:25 ` Jerome Brunet
2018-01-23 23:35   ` Martin Blumenstingl
2018-01-24  8:08     ` Jerome Brunet
2018-01-24  9:34       ` Martin Blumenstingl

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.