From: Baolin Wang Date: Mon, 24 Feb 2020 09:08:49 +0000 (+0800) Subject: mmc: sdhci-sprd: Set the missing MMC_CAP_WAIT_WHILE_BUSY flag X-Git-Tag: v5.15~4204^2~26 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=55fc7d93a55b70c016982f9d9cba02ac789d88c6;p=platform%2Fkernel%2Flinux-starfive.git 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 Acked-by: Adrian Hunter Link: https://lore.kernel.org/r/96f16647f6a6e8cb058c44e46c61b122df027059.1582535202.git.baolin.wang7@gmail.com Signed-off-by: Ulf Hansson --- diff --git a/drivers/mmc/host/sdhci-sprd.c b/drivers/mmc/host/sdhci-sprd.c index d346223..2ab42c5 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;