summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDong Aisheng <aisheng.dong@nxp.com>2016-07-12 07:46:23 (GMT)
committerUlf Hansson <ulf.hansson@linaro.org>2016-07-25 08:34:58 (GMT)
commit19dbfdd3d5152daf86cd79beb14544a2ffab8090 (patch)
tree6dd261ecb469e50250541537f4432b5c23ac2b4a
parent2b16cf326b70fdf6ccd2ae87807bb006487dbb85 (diff)
downloadlinux-19dbfdd3d5152daf86cd79beb14544a2ffab8090.tar.xz
mmc: sdhci-esdhci-imx: re-initialize hw state after resume
sdhci_esdhc_imx_hwinit() includes all basic hw intialization. Calling it after resume to re-initialize hw in case its state is already lost in low power mode. Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com> Acked-by: Adrian Hunter <adrian.hunter@intel.com> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
-rw-r--r--drivers/mmc/host/sdhci-esdhc-imx.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c
index c5adf4b..e5b5d1c 100644
--- a/drivers/mmc/host/sdhci-esdhc-imx.c
+++ b/drivers/mmc/host/sdhci-esdhc-imx.c
@@ -1297,12 +1297,9 @@ static int sdhci_esdhc_suspend(struct device *dev)
static int sdhci_esdhc_resume(struct device *dev)
{
struct sdhci_host *host = dev_get_drvdata(dev);
- struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
- struct pltfm_imx_data *imx_data = sdhci_pltfm_priv(pltfm_host);
- /* restore watermark setting in case it's lost in low power mode */
- if (esdhc_is_usdhc(imx_data))
- writel(ESDHC_WTMK_DEFAULT_VAL, host->ioaddr + ESDHC_WTMK_LVL);
+ /* re-initialize hw state in case it's lost in low power mode */
+ sdhci_esdhc_imx_hwinit(host);
return sdhci_pltfm_resume(dev);
}