summaryrefslogtreecommitdiffstats
path: root/drivers/mmc
diff options
context:
space:
mode:
authorBaolin Wang <baolin.wang7@gmail.com>2020-02-24 17:08:49 +0800
committerUlf Hansson <ulf.hansson@linaro.org>2020-03-24 14:35:42 +0100
commit55fc7d93a55b70c016982f9d9cba02ac789d88c6 (patch)
treec1f2411b4c2af34ef0a6bae2f9443e39ef0316e2 /drivers/mmc
parent6660d0ae1255ab2142dc3c6c790f3f309f0676bd (diff)
downloadlinux-55fc7d93a55b70c016982f9d9cba02ac789d88c6.tar.gz
linux-55fc7d93a55b70c016982f9d9cba02ac789d88c6.tar.bz2
linux-55fc7d93a55b70c016982f9d9cba02ac789d88c6.zip
mmc: sdhci-sprd: Set the missing MMC_CAP_WAIT_WHILE_BUSY flag
The Spreadtrum host controller supports HW busy detection for commands with R1B responses, but also for I/O operations. This means when the host gets a transfer complete event, that always indicates the busy signal is released. Let's inform the mmc core about this, via setting the corresponding MMC_CAP_WAIT_WHILE_BUSY flag, as to remove some redundant software busy polling. Signed-off-by: Baolin Wang <baolin.wang7@gmail.com> Acked-by: Adrian Hunter <adrian.hunter@intel.com> Link: https://lore.kernel.org/r/96f16647f6a6e8cb058c44e46c61b122df027059.1582535202.git.baolin.wang7@gmail.com Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Diffstat (limited to 'drivers/mmc')
-rw-r--r--drivers/mmc/host/sdhci-sprd.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/mmc/host/sdhci-sprd.c b/drivers/mmc/host/sdhci-sprd.c
index d3462237bca2..2ab42c59e4f8 100644
--- a/drivers/mmc/host/sdhci-sprd.c
+++ b/drivers/mmc/host/sdhci-sprd.c
@@ -556,7 +556,7 @@ static int sdhci_sprd_probe(struct platform_device *pdev)
sdhci_sprd_voltage_switch;
host->mmc->caps = MMC_CAP_SD_HIGHSPEED | MMC_CAP_MMC_HIGHSPEED |
- MMC_CAP_ERASE | MMC_CAP_CMD23;
+ MMC_CAP_ERASE | MMC_CAP_CMD23 | MMC_CAP_WAIT_WHILE_BUSY;
ret = mmc_of_parse(host->mmc);
if (ret)
goto pltfm_free;