summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorVarun Wadekar <vwadekar@nvidia.com>2011-03-17 15:59:49 +0530
committerVarun Colbert <vcolbert@nvidia.com>2011-03-17 21:18:18 -0800
commit9af33225c86d679eaecf580e6f4b05f90c5bf27e (patch)
tree961f5355ffb3ca6051816e1207a5cb362f180317 /drivers
parent3c6e91f1ce32769c6636de4b4469b2c7b0da7750 (diff)
mmc: host: sdhci-tegra: power on sd controller in resume
Bug 783535 original-work by Pavan Kunapuli <pkunapuli@nvidia.com> Change-Id: I91df865cd8235b5ffc7e49c675bcf417333c5776 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com> Reviewed-on: http://git-master/r/23308 Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/mmc/host/sdhci-tegra.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/mmc/host/sdhci-tegra.c b/drivers/mmc/host/sdhci-tegra.c
index 2296cda1c760..dcb5551bc267 100644
--- a/drivers/mmc/host/sdhci-tegra.c
+++ b/drivers/mmc/host/sdhci-tegra.c
@@ -320,6 +320,7 @@ static int tegra_sdhci_resume(struct platform_device *pdev)
{
struct tegra_sdhci_host *host = platform_get_drvdata(pdev);
int ret;
+ u8 pwr;
if (host->card_always_on && is_card_sdio(host->sdhci->mmc->card)) {
int ret = 0;
@@ -342,6 +343,11 @@ static int tegra_sdhci_resume(struct platform_device *pdev)
}
tegra_sdhci_enable_clock(host, 1);
+
+ pwr = SDHCI_POWER_ON;
+ sdhci_writeb(host->sdhci, pwr, SDHCI_POWER_CONTROL);
+ host->sdhci->pwr = 0;
+
ret = sdhci_resume_host(host->sdhci);
if (ret)
pr_err("%s: failed, error = %d\n", __func__, ret);