mmc: rockchip_sdhci: Skip blocks read workaround on RK3399

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: 2cc6cde647 ("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
This commit is contained in:
Jonas Karlman 2023-05-06 17:41:09 +00:00 committed by Kever Yang
parent c5b4a012bc
commit 41fc80b8da

View 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);