The SDMA engine doesn't seem to be fast enough to keep up with HS400
support. In preparation to add HS400 support to the driver switch to
ADMA when available.

Assisted-by: Claude Opus 4.7 <[email protected]>
Signed-off-by: Sascha Hauer <[email protected]>
---
 drivers/mci/rockchip-dwcmshc-sdhci.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/mci/rockchip-dwcmshc-sdhci.c 
b/drivers/mci/rockchip-dwcmshc-sdhci.c
index 04ee528f07..23c887e906 100644
--- a/drivers/mci/rockchip-dwcmshc-sdhci.c
+++ b/drivers/mci/rockchip-dwcmshc-sdhci.c
@@ -361,6 +361,11 @@ static int rk_sdhci_probe(struct device *dev)
 
        sdhci_setup_host(&host->sdhci);
 
+       ret = sdhci_setup_adma(&host->sdhci);
+       if (ret && ret != -ENOTSUPP)
+               dev_warn(dev, "ADMA setup failed (%pe), falling back to SDMA\n",
+                        ERR_PTR(ret));
+
        dev->priv = host;
 
        return mci_register(&host->mci);

-- 
2.47.3


Reply via email to