]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
mmc: rockchip_sdhci: Skip blocks read workaround on RK3399
authorJonas Karlman <jonas@kwiboo.se>
Sat, 6 May 2023 17:41:09 +0000 (17:41 +0000)
committerKever Yang <kever.yang@rock-chips.com>
Thu, 18 May 2023 00:34:45 +0000 (08:34 +0800)
The workaround to limit number of blocks to read in a single command
should only be applied to RK3568 and RK3588. Change to be more strict
when to apply the workaround.

Fixes: 2cc6cde647e2 ("mmc: rockchip_sdhci: Limit number of blocks read in a single command")
Suggested-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Tested-by: Quentin Schulz <foss+uboot@0leil.net> # RK3399 Puma, RK3588 Tiger
drivers/mmc/rockchip_sdhci.c

index 4f110976f4e89713f302a3e2ff90630e95345f13..8e4a158049a9a70c1674f4654c6e4731c0c14c3d 100644 (file)
@@ -594,7 +594,9 @@ static int rockchip_sdhci_probe(struct udevice *dev)
         * 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))
+       if (!(host->flags & USE_DMA) &&
+           (device_is_compatible(dev, "rockchip,rk3568-dwcmshc") ||
+            device_is_compatible(dev, "rockchip,rk3588-dwcmshc")))
                cfg->b_max = 4;
 
        return sdhci_probe(dev);