mmc: dw_mmc: Set timeout to max upon resume
authorDoug Anderson <dianders@chromium.org>
Fri, 30 Aug 2013 15:11:49 +0000 (00:11 +0900)
committerChris Ball <cjb@laptop.org>
Thu, 26 Sep 2013 01:32:11 +0000 (21:32 -0400)
The TMOUT register is set to 0xffffffff at probe time but isn't
set after suspend/resume.  Add an init of this value.

No problems were observed without this (it will also be set in
__dw_mci_start_request if there is data to send), but it makes the
register dump before and after suspend cleaner.

Signed-off-by: Doug Anderson <dianders@chromium.org>
Acked-by: Seungwon Jeon <tgih.jun@samsung.com>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
drivers/mmc/host/dw_mmc.c

index bc3a430ba027c6d42d6e44fffba5656ba2f2a4b1..19b289d5dba85832780f68e3f042bee966dcceee 100644 (file)
@@ -2510,6 +2510,9 @@ int dw_mci_resume(struct dw_mci *host)
        /* Restore the old value at FIFOTH register */
        mci_writel(host, FIFOTH, host->fifoth_val);
 
+       /* Put in max timeout */
+       mci_writel(host, TMOUT, 0xFFFFFFFF);
+
        mci_writel(host, RINTSTS, 0xFFFFFFFF);
        mci_writel(host, INTMASK, SDMMC_INT_CMD_DONE | SDMMC_INT_DATA_OVER |
                   SDMMC_INT_TXDR | SDMMC_INT_RXDR |