Hi Simon, On 2023-05-03 14:41, Simon Glass wrote: > This makes MMC extremely slow on bob. Even reading the environment takes > ages. > > If there is a bug on a particular controller, it should be worked around > using the compatible string, e.g. with ->flags in struct sdhci_data - > althought I don't see any docs for the flags.
This revert will break booting from emmc on rock5b-rk3588. An alternative to this revert could be to enable CONFIG_MMC_SDHCI_SDMA for more rk3399 defconfigs. Using DMA should improve/restore performance. I have a followup patch in the works that changes this slightly, can include a change to only apply this workaround for rk35xx. Regards, Jonas > > This reverts commit 2cc6cde647e2cf61a29f389e8d263bf19672f0f5. > > Signed-off-by: Simon Glass <s...@chromium.org> > --- > > configs/rock5b-rk3588_defconfig | 1 - > drivers/mmc/rockchip_sdhci.c | 8 -------- > 2 files changed, 9 deletions(-) > > diff --git a/configs/rock5b-rk3588_defconfig b/configs/rock5b-rk3588_defconfig > index d3136ac850fe..3fcc6a26bb51 100644 > --- a/configs/rock5b-rk3588_defconfig > +++ b/configs/rock5b-rk3588_defconfig > @@ -58,7 +58,6 @@ CONFIG_MMC_DW=y > CONFIG_MMC_DW_ROCKCHIP=y > CONFIG_MMC_SDHCI=y > CONFIG_MMC_SDHCI_SDMA=y > -# CONFIG_SPL_MMC_SDHCI_SDMA is not set > CONFIG_MMC_SDHCI_ROCKCHIP=y > CONFIG_ETH_DESIGNWARE=y > CONFIG_GMAC_ROCKCHIP=y > diff --git a/drivers/mmc/rockchip_sdhci.c b/drivers/mmc/rockchip_sdhci.c > index 4f110976f4e8..2857dcc9ec4f 100644 > --- a/drivers/mmc/rockchip_sdhci.c > +++ b/drivers/mmc/rockchip_sdhci.c > @@ -589,14 +589,6 @@ static int rockchip_sdhci_probe(struct udevice *dev) > if (ret) > return ret; > > - /* > - * Reading more than 4 blocks with a single CMD18 command in PIO mode > - * triggers Data End Bit Error on RK3568 and RK3588. Limit to reading > - * max 4 blocks in one command when using PIO mode. > - */ > - if (!(host->flags & USE_DMA)) > - cfg->b_max = 4; > - > return sdhci_probe(dev); > } >