Re: [U-Boot] Loading kernel from SD card slow on MinnowBoard Turbot since v2016.09

Hi,
From my tests it should be somewhere between these two commits: 1c62d999528da1f052cb4b07cbb540b148c52537 OK ceec08f50b66df0c988033842ec057a32658cfe0 NOK
I did some more tests and it looks like commit 14bed52d276afd36b9674ee7aa2c2ad9d2f4e59e introduced the issue. From the code I would guess that the max clock of the mmc controller is not set up correctly for the x86/BayTrail platform (minnowmax_defconfig in my case).
Thanks, Josef

Hi,
On 8 November 2016 at 05:10, Raschen Josef Josef.Raschen@esolutions.de wrote:
Hi,
From my tests it should be somewhere between these two commits: 1c62d999528da1f052cb4b07cbb540b148c52537 OK ceec08f50b66df0c988033842ec057a32658cfe0 NOK
I did some more tests and it looks like commit 14bed52d276afd36b9674ee7aa2c2ad9d2f4e59e introduced the issue. From the code I would guess that the max clock of the mmc controller is not set up correctly for the x86/BayTrail platform (minnowmax_defconfig in my case).
Thanks, Josef
I made some time to dig into this recently.
From what I can this is a bug in the old code. Since pci_mmc.c does
not read the version number into host->version, add_sdhci() used to just use a value of 0. Now it reads the correct version number.
old code: MMC: sdhci_setup_cfg: name=ValleyView SDHCI, host_caps=0, cfg->host_caps=7, f_min=140625, f_max=36000000 sdhci_setup_cfg: name=ValleyView SDHCI, host_caps=0, cfg->host_caps=7, f_min=140625, f_max=36000000 ValleyView SDHCI: 0, ValleyView SDHCI: 1
new code: sdhci_setup_cfg: version = b502 sdhci_setup_cfg: name=ValleyView SDHCI, host_caps=0, cfg->host_caps=7, f_min=48875, f_max=100000000 add_sdhci: version = 0 sdhci_setup_cfg: version = b502 sdhci_setup_cfg: name=ValleyView SDHCI, host_caps=0, cfg->host_caps=7, f_min=48875, f_max=100000000 add_sdhci: version = 0 sdhci_setup_cfg: version = 1002 sdhci_setup_cfg: name=ValleyView SDHCI, host_caps=0, cfg->host_caps=7, f_min=97751, f_max=200000000
So the clock speed is showing as faster with the new code (the MMC card is the second one above. I suspect the old card was programming the registers incorrectly and happening to get a higher speed.
That said, I do see twice the performance with the old code. I wonder if there is a way to detect that the card or host can run faster?
Regards, Simon
participants (2)
-
Raschen Josef
-
Simon Glass