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>
This commit is contained in:
parent
8edf63710b
commit
4f3d3e9b50
|
@ -2494,9 +2494,9 @@ int sdhci_add_host(struct sdhci_host *host)
|
||||||
host->flags |= SDHCI_AUTO_CMD12;
|
host->flags |= SDHCI_AUTO_CMD12;
|
||||||
|
|
||||||
/* Auto-CMD23 stuff only works in ADMA or PIO. */
|
/* 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_USE_ADMA) ||
|
||||||
!(host->flags & SDHCI_REQ_USE_DMA))) {
|
!(host->flags & SDHCI_USE_SDMA))) {
|
||||||
host->flags |= SDHCI_AUTO_CMD23;
|
host->flags |= SDHCI_AUTO_CMD23;
|
||||||
DBG("%s: Auto-CMD23 available\n", mmc_hostname(mmc));
|
DBG("%s: Auto-CMD23 available\n", mmc_hostname(mmc));
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in New Issue