summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorSowjanya Komatineni <skomatineni@nvidia.com>2019-03-24 07:45:18 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-05-22 08:39:47 +0300
commitdba538e5bdeb9c002589402fd1b923003dc4f121 (patch)
treef023d0e4fbffa2dd0aa3f4e62e3f732dc75c3f1d /drivers
parentc625191a772d5f63f14ab3e7562fa57fc6f7a34c (diff)
downloadlinux-dba538e5bdeb9c002589402fd1b923003dc4f121.tar.xz
mmc: tegra: fix ddr signaling for non-ddr modes
commit 92cd1667d579af5c3ef383680598a112da3695df upstream. ddr_signaling is set to true for DDR50 and DDR52 modes but is not set back to false for other modes. This programs incorrect host clock when mode change happens from DDR52/DDR50 to other SDR or HS modes like incase of mmc_retune where it switches from HS400 to HS DDR and then from HS DDR to HS mode and then to HS200. This patch fixes the ddr_signaling to set properly for non DDR modes. Tested-by: Jon Hunter <jonathanh@nvidia.com> Acked-by: Adrian Hunter <adrian.hunter@intel.com> Signed-off-by: Sowjanya Komatineni <skomatineni@nvidia.com> Cc: stable@vger.kernel.org # v4.20 + Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/mmc/host/sdhci-tegra.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/mmc/host/sdhci-tegra.c b/drivers/mmc/host/sdhci-tegra.c
index 32e62904c0d3..46086dd43bfb 100644
--- a/drivers/mmc/host/sdhci-tegra.c
+++ b/drivers/mmc/host/sdhci-tegra.c
@@ -779,6 +779,7 @@ static void tegra_sdhci_set_uhs_signaling(struct sdhci_host *host,
bool set_dqs_trim = false;
bool do_hs400_dll_cal = false;
+ tegra_host->ddr_signaling = false;
switch (timing) {
case MMC_TIMING_UHS_SDR50:
case MMC_TIMING_UHS_SDR104: