Run the automatic pad calibration after voltage switching if
tegra_host->pad_calib_required is set.

Signed-off-by: Aapo Vienamo <avien...@nvidia.com>
---
 drivers/mmc/host/sdhci-tegra.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/mmc/host/sdhci-tegra.c b/drivers/mmc/host/sdhci-tegra.c
index 295ae7a..8c89f58 100644
--- a/drivers/mmc/host/sdhci-tegra.c
+++ b/drivers/mmc/host/sdhci-tegra.c
@@ -570,6 +570,8 @@ static int sdhci_tegra_start_signal_voltage_switch(struct 
mmc_host *mmc,
                                                   struct mmc_ios *ios)
 {
        struct sdhci_host *host = mmc_priv(mmc);
+       struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
+       struct sdhci_tegra *tegra_host = sdhci_pltfm_priv(pltfm_host);
        int ret = 0;
 
        if (ios->signal_voltage == MMC_SIGNAL_VOLTAGE_330) {
@@ -584,6 +586,9 @@ static int sdhci_tegra_start_signal_voltage_switch(struct 
mmc_host *mmc,
                ret = tegra_sdhci_set_padctrl(host, ios->signal_voltage);
        }
 
+       if (tegra_host->pad_calib_required)
+               tegra_sdhci_pad_autocalib(host);
+
        return ret;
 }
 
-- 
2.7.4

Reply via email to