mmc: dw_mmc-rockchip: Just set default sample value for legacy mode
authorShawn Lin <shawn.lin@rock-chips.com>
Fri, 16 Apr 2021 02:17:34 +0000 (10:17 +0800)
committerUlf Hansson <ulf.hansson@linaro.org>
Fri, 16 Apr 2021 13:10:08 +0000 (15:10 +0200)
.set_ios() is called from .resume() as well. For SDIO device which sets
keep-power-in-suspend, nothing should be changed after resuming, as well
as sample tuning value, since this value is tuned already. So we should
not overwrite it with the default value.

Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Link: https://lore.kernel.org/r/1618539454-182170-1-git-send-email-shawn.lin@rock-chips.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/dw_mmc-rockchip.c

index 753502c..d36991a 100644 (file)
@@ -61,7 +61,7 @@ static void dw_mci_rk3288_set_ios(struct dw_mci *host, struct mmc_ios *ios)
        }
 
        /* Make sure we use phases which we can enumerate with */
-       if (!IS_ERR(priv->sample_clk))
+       if (!IS_ERR(priv->sample_clk) && ios->timing <= MMC_TIMING_SD_HS)
                clk_set_phase(priv->sample_clk, priv->default_sample_phase);
 
        /*