mmc: sdhci: not return error when SDMA is not suppported 96/223096/1
authorJaehoon Chung <jh80.chung@samsung.com>
Wed, 22 Jan 2020 23:43:42 +0000 (08:43 +0900)
committerJaehoon Chung <jh80.chung@samsung.com>
Wed, 22 Jan 2020 23:44:55 +0000 (08:44 +0900)
If host controller doesn't support SDMA mode, it doesn't need to return
error. Because it can be worked with PIO mode.
It doesn't need to use QUIRK_BROKEN_SDMA.

Change-Id: Iafbb915b3fd33209ba689e856bfd934acac9a03e
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
drivers/mmc/sdhci.c

index bb2bcd4..ccd2385 100644 (file)
@@ -728,19 +728,12 @@ int sdhci_setup_cfg(struct mmc_config *cfg, struct sdhci_host *host,
        debug("%s, caps: 0x%x\n", __func__, caps);
 
 #ifdef CONFIG_MMC_SDHCI_SDMA
-       if (!(caps & SDHCI_CAN_DO_SDMA)) {
-               if (host->quirks & SDHCI_QUIRK_BROKEN_SDMA) {
-                       caps &= ~SDHCI_CAN_DO_SDMA;
-                       goto skip;
-               } else {
-                       printf("%s: Your controller doesn't support SDMA!!\n",
-                      __func__);
-                       return -EINVAL;
-               }
+       if ((caps & SDHCI_CAN_DO_SDMA)) {
+               host->flags |= USE_SDMA;
+       } else {
+               debug("%s: Your controller doesn't support SDMA!!\n",
+                               __func__);
        }
-
-       host->flags |= USE_SDMA;
-skip:
 #endif
 #if CONFIG_IS_ENABLED(MMC_SDHCI_ADMA)
        if (!(caps & SDHCI_CAN_DO_ADMA2)) {