summaryrefslogtreecommitdiffstats
path: root/drivers/mmc/host/sdhci.c
diff options
context:
space:
mode:
authorAndrei Warkentin2011-05-25 16:42:50 +0200
committerChris Ball2011-05-25 22:52:26 +0200
commit4f3d3e9b50931a3ec70f324d53fb7437e2a39388 (patch)
tree26018537aaea287e7aa6377e2305a4222699b8d7 /drivers/mmc/host/sdhci.c
parentmmc: sdhci: Auto-CMD23 support. (diff)
downloadkernel-qcow2-linux-4f3d3e9b50931a3ec70f324d53fb7437e2a39388.tar.gz
kernel-qcow2-linux-4f3d3e9b50931a3ec70f324d53fb7437e2a39388.tar.xz
kernel-qcow2-linux-4f3d3e9b50931a3ec70f324d53fb7437e2a39388.zip
mmc: sdhci: Auto-CMD23 fixes.
Fixes bugs in Auto-CMD23 feature enable decision. Auto-CMD23 should be enabled if host is >= v3, and SDMA is not in use. USE_ADMA | USE_SDMA | Auto-CMD23 ---------+----------+----------- 0 | 0 | 1 ---------+----------+----------- 0 | 1 | 0 ---------+----------+----------- 1 | 0 | 1 ---------+----------+----------- 1 | 1 | 1 Signed-off-by: Andrei Warkentin <andreiw@motorola.com> Signed-off-by: Chris Ball <cjb@laptop.org>
Diffstat (limited to 'drivers/mmc/host/sdhci.c')
-rw-r--r--drivers/mmc/host/sdhci.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
index f845fd6a64ae..58d5436ff649 100644
--- a/drivers/mmc/host/sdhci.c
+++ b/drivers/mmc/host/sdhci.c
@@ -2494,9 +2494,9 @@ int sdhci_add_host(struct sdhci_host *host)
host->flags |= SDHCI_AUTO_CMD12;
/* Auto-CMD23 stuff only works in ADMA or PIO. */
- if ((host->version == SDHCI_SPEC_300) &&
+ if ((host->version >= SDHCI_SPEC_300) &&
((host->flags & SDHCI_USE_ADMA) ||
- !(host->flags & SDHCI_REQ_USE_DMA))) {
+ !(host->flags & SDHCI_USE_SDMA))) {
host->flags |= SDHCI_AUTO_CMD23;
DBG("%s: Auto-CMD23 available\n", mmc_hostname(mmc));
} else {