huge emmc speed regression

Andriy Gapon <[email protected]>
Newsgroups gmane.os.freebsd.devel.arm
Message-ID <[email protected]>
Upfront, I haven't tested the latest main / current yet.
I should really test it but that's porbably for the next weekend.

I see a huge emmc speed difference between the current from April 2021 and 
September 2021 (commit 5e79bba562bc303eed669dbd0d391b6c6a9c289b) on Orange Pi PC 
Plus using on-board eMMC card.  I use MMCCAM in both cases.

In the old environment I see expected read speeds (with sequential dd) of around 
40 MB/s.
In the new environment the speeds are around 300 KB/s (like a very good floppy 
disk of old).

Some info from the old environment:
# camcontrol mmcsdcmd 2:0:0 -I
Host controller information
Host OCR: 0x300000
Min frequency: 400 KHz
Max frequency: 52 MHz
Supported bus width:
  4 bit
  8 bit
Supported operating modes:
  Can do High Speed transfers
Supported VCCQ voltages:
  3.3V
Current settings:
  Bus width: 8 bit
  Freq: 52.000 MHz (high-speed timing)
  VCCQ: 1.2V

Same command in the new environment looks a bit strange:
# camcontrol mmcsdcmd 2:0:0 -I
Host controller information
Host OCR: 0x300000
Min frequency: 400 KHz
Max frequency: 0 MHz
Supported bus width:
  4 bit
  8 bit
Supported operating modes:
  Can do High Speed transfers
Supported VCCQ voltages:
  3.3V
Current settings:
  Bus width: 8 bit
  Freq: 0.000 MHz
  VCCQ: 1.2V

Also, in the old dmesg I see:
aw_mmc2: <Allwinner Integrated MMC/SD controller> mem 0x1c11000-0x1c11fff irq 12 
on simplebus0
aw_mmc2: vmmc-supply regulator found
aw_mmc2: Non-removable media
aw_mmc2: Clock => 0
aw_mmc2: VDD => 21
aw_mmc2: CS => 0
aw_mmc2: Bus width => 0
aw_mmc2: Power mode => 1
aw_mmc2: Bus mode => 1
aw_mmc2: Powering up sd/mmc
aw_mmc2: Clock => 400000
aw_mmc2: Timing => 0
aw_mmc2: CS => 1
aw_mmc2: Bus mode => 2
aw_mmc2: Timing => 1
aw_mmc2: Clock => 52000000
aw_mmc2: Bus width => 3

While in the new:
aw_mmc2: <Allwinner Integrated MMC/SD controller> mem 0x1c11000-0x1c11fff irq 12 
on simplebus0
aw_mmc2: vmmc-supply regulator found
aw_mmc2: Non-removable media
aw_mmc2: Power mode => 0
aw_mmc2: Powering down sd/mmc
aw_mmc2: Clock => 0
aw_mmc2: VDD => 21
aw_mmc2: CS => 0
aw_mmc2: Bus width => 0
aw_mmc2: Power mode => 1
aw_mmc2: Bus mode => 1
aw_mmc2: Powering up sd/mmc
aw_mmc2: Clock => 400000
aw_mmc2: Power mode => 2
aw_mmc2: Timing => 0
aw_mmc2: CS => 1
aw_mmc2: Bus mode => 2
aw_mmc2: Clock => 0
aw_mmc2: Bus width => 3

So, at the end of the sequence we have Clock => 0 instead of Clock => 52000000 
and Timing => 1 is missing...

-- 
Andriy Gapon
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.