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>
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 {