MLK-14861-1 mmc: sdhci: make DDR50 tuning optionally
authorHaibo Chen <haibo.chen@nxp.com>
Mon, 15 May 2017 09:25:31 +0000 (17:25 +0800)
committerNitin Garg <nitin.garg@nxp.com>
Mon, 19 Mar 2018 20:22:17 +0000 (15:22 -0500)
commit 70f2d20917bc ("MLK-14884 mmc: sdhci: make DDR50 tuning optionally")
want to make DDR50 card tuning optionally, but the code logic is not
right, the tuning of DDR50 card will also be impacted by the flag
'SDHCI_SDR50_NEEDS_TUNING'. e.g. imx6sl/imx6sx/imx6ul/imx7d default set
USE_TUNING_SDR50, which means on these SoC, DDR50 card still do tuning
even haven't the flag 'SDHCI_DDR50_NEEDS_TUNING'.

This patch fix the logic issue, separate DDR50 and SDR50 card.

Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
drivers/mmc/host/sdhci.c

index 594556c..cac9951 100644 (file)
@@ -2001,9 +2001,12 @@ static int sdhci_execute_tuning(struct mmc_host *mmc, u32 opcode)
                break;
 
        case MMC_TIMING_UHS_SDR50:
+               if (host->flags & SDHCI_SDR50_NEEDS_TUNING)
+                       break;
+               /* FALLTHROUGH */
+
        case MMC_TIMING_UHS_DDR50:
-               if ((host->flags & SDHCI_SDR50_NEEDS_TUNING) ||
-                   (host->flags & SDHCI_DDR50_NEEDS_TUNING))
+               if (host->flags & SDHCI_DDR50_NEEDS_TUNING)
                        break;
                /* FALLTHROUGH */