diff options
author | Rom Lemarchand <rlemarchand@sta.samsung.com> | 2011-03-08 17:09:10 -0800 |
---|---|---|
committer | Arve Hjønnevåg <arve@android.com> | 2011-11-17 17:53:23 -0800 |
commit | 1626381a5010affed00227d7359281b67bd36dd4 (patch) | |
tree | 861cf411b3d1f72bf49cf4c86f42d07e94ee0c80 /drivers/mmc | |
parent | 60a669f36c65c31d0d2f4164f7ae98646d36f950 (diff) | |
download | kernel_samsung_aries-1626381a5010affed00227d7359281b67bd36dd4.zip kernel_samsung_aries-1626381a5010affed00227d7359281b67bd36dd4.tar.gz kernel_samsung_aries-1626381a5010affed00227d7359281b67bd36dd4.tar.bz2 |
MMC: host: add a quirk to keep the clocks on when idling
Add an extra quirk to keep the clocks running when the device is idle.
Change-Id: I620f515088385b4b031daa9051c6f1ef380ea4a6
Signed-off-by: Rom Lemarchand <rlemarchand@sta.samsung.com>
Diffstat (limited to 'drivers/mmc')
-rwxr-xr-x | drivers/mmc/host/sdhci.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c index 19d6ccc..7baca39 100755 --- a/drivers/mmc/host/sdhci.c +++ b/drivers/mmc/host/sdhci.c @@ -1962,7 +1962,8 @@ static void sdhci_tasklet_finish(unsigned long param) sdhci_reset(host, SDHCI_RESET_DATA); } out: - if(readl(host->ioaddr + SDHCI_PRESENT_STATE) & SDHCI_DATA_INHIBIT) + if((readl(host->ioaddr + SDHCI_PRESENT_STATE) & SDHCI_DATA_INHIBIT) || + (host->quirks & SDHCI_QUIRK_MUST_MAINTAIN_CLOCK)) mod_timer(&host->busy_check_timer, jiffies + msecs_to_jiffies(10)); else sdhci_disable_clock_card(host); @@ -2035,7 +2036,8 @@ static void sdhci_busy_check_timer(unsigned long data) spin_lock_irqsave(&host->lock, flags); - if(readl(host->ioaddr + SDHCI_PRESENT_STATE) & (SDHCI_CMD_INHIBIT | SDHCI_DATA_INHIBIT)) + if((readl(host->ioaddr + SDHCI_PRESENT_STATE) & (SDHCI_CMD_INHIBIT | SDHCI_DATA_INHIBIT)) || + (host->quirks & SDHCI_QUIRK_MUST_MAINTAIN_CLOCK)) mod_timer(&host->busy_check_timer, jiffies + msecs_to_jiffies(10)); else sdhci_disable_clock_card(host); |