Skip to content

Commit

Permalink
mmc: sdhci: restore the enabled dma when do reset all
Browse files Browse the repository at this point in the history
If dma is enabled, it'll be cleared when reset all is performed, this can
be observed on some platforms, such as P2041 which has a version 2.3
controller, but platform like P4080 which has a version 2.2 controller,
does not suffer this, so we will check if the dma is enabled, we should
restore it after reset all.

Signed-off-by: Shaohui Xie <Shaohui.Xie@freescale.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
  • Loading branch information
Shaohui Xie authored and Chris Ball committed Jan 12, 2012
1 parent 8234e86 commit 3abc1e8
Showing 1 changed file with 5 additions and 0 deletions.
5 changes: 5 additions & 0 deletions drivers/mmc/host/sdhci.c
Original file line number Diff line number Diff line change
Expand Up @@ -212,6 +212,11 @@ static void sdhci_reset(struct sdhci_host *host, u8 mask)

if (host->quirks & SDHCI_QUIRK_RESTORE_IRQS_AFTER_RESET)
sdhci_clear_set_irqs(host, SDHCI_INT_ALL_MASK, ier);

if (host->flags & (SDHCI_USE_SDMA | SDHCI_USE_ADMA)) {
if ((host->ops->enable_dma) && (mask & SDHCI_RESET_ALL))
host->ops->enable_dma(host);
}
}

static void sdhci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios);
Expand Down

0 comments on commit 3abc1e8

Please sign in to comment.