diff mbox series

[v1,3/3] mmc: tegra: Enable host capability MMC_CAP2_LONG_WAIT_HW_BUSY

Message ID 1583799205-8442-3-git-send-email-skomatineni@nvidia.com
State Superseded
Headers show
Series [v1,1/3] mmc: core: Add capability for hosts supporting long HW busy wait | expand

Commit Message

Sowjanya Komatineni March 10, 2020, 12:13 a.m. UTC
Some mmc operations take longer than maximum HW busy detection and
mmc core driver converts R1B type to R1 type response for these
operations based on host max busy timeout and command operation time
and uses SW poll for busy.

Tegra host support long HW busy detection where host waits forever
till the card is busy.

This patch enables MMC_CAP2_LONG_WAIT_HW_BUSY capability for Tegra
host.

Signed-off-by: Sowjanya Komatineni <skomatineni@nvidia.com>
---
 drivers/mmc/host/sdhci-tegra.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Adrian Hunter March 17, 2020, 9:51 a.m. UTC | #1
On 10/03/20 2:13 am, Sowjanya Komatineni wrote:
> Some mmc operations take longer than maximum HW busy detection and
> mmc core driver converts R1B type to R1 type response for these
> operations based on host max busy timeout and command operation time
> and uses SW poll for busy.
> 
> Tegra host support long HW busy detection where host waits forever
> till the card is busy.
> 
> This patch enables MMC_CAP2_LONG_WAIT_HW_BUSY capability for Tegra
> host.
> 
> Signed-off-by: Sowjanya Komatineni <skomatineni@nvidia.com>

Acked-by: Adrian Hunter <adrian.hunter@intel.com>

> ---
>  drivers/mmc/host/sdhci-tegra.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/mmc/host/sdhci-tegra.c b/drivers/mmc/host/sdhci-tegra.c
> index 40a221d..9d0f371 100644
> --- a/drivers/mmc/host/sdhci-tegra.c
> +++ b/drivers/mmc/host/sdhci-tegra.c
> @@ -1583,6 +1583,7 @@ static int sdhci_tegra_probe(struct platform_device *pdev)
>  	if (tegra_host->soc_data->nvquirks & NVQUIRK_ENABLE_DDR50)
>  		host->mmc->caps |= MMC_CAP_1_8V_DDR;
>  
> +	host->mmc->caps2 |= MMC_CAP2_LONG_WAIT_HW_BUSY;
>  	tegra_sdhci_parse_dt(host);
>  
>  	tegra_host->power_gpio = devm_gpiod_get_optional(&pdev->dev, "power",
>
diff mbox series

Patch

diff --git a/drivers/mmc/host/sdhci-tegra.c b/drivers/mmc/host/sdhci-tegra.c
index 40a221d..9d0f371 100644
--- a/drivers/mmc/host/sdhci-tegra.c
+++ b/drivers/mmc/host/sdhci-tegra.c
@@ -1583,6 +1583,7 @@  static int sdhci_tegra_probe(struct platform_device *pdev)
 	if (tegra_host->soc_data->nvquirks & NVQUIRK_ENABLE_DDR50)
 		host->mmc->caps |= MMC_CAP_1_8V_DDR;
 
+	host->mmc->caps2 |= MMC_CAP2_LONG_WAIT_HW_BUSY;
 	tegra_sdhci_parse_dt(host);
 
 	tegra_host->power_gpio = devm_gpiod_get_optional(&pdev->dev, "power",