diff mbox series

[V2,2/2] mmc: sdhci-msm: Enable force hw reset during cqe recovery

Message ID 20250514111155.10896-3-quic_sartgarg@quicinc.com
State New
Headers show
Series Introduce new flag to force hardware reset | expand

Commit Message

Sarthak Garg May 14, 2025, 11:11 a.m. UTC
Enable force hw reset during cqe recovery to make recovery more robust.

Signed-off-by: Sarthak Garg <quic_sartgarg@quicinc.com>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
---
 drivers/mmc/host/sdhci-msm.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Dmitry Baryshkov May 15, 2025, 8:53 a.m. UTC | #1
On Wed, May 14, 2025 at 04:41:55PM +0530, Sarthak Garg wrote:
> Enable force hw reset during cqe recovery to make recovery more robust.

Nit: CQE

What happens without a reset? Is this only required for certain
platforms or does it apply to all MSM platforms? What are the
consequences of a reset?

> 
> Signed-off-by: Sarthak Garg <quic_sartgarg@quicinc.com>
> Acked-by: Adrian Hunter <adrian.hunter@intel.com>
> ---
>  drivers/mmc/host/sdhci-msm.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/mmc/host/sdhci-msm.c b/drivers/mmc/host/sdhci-msm.c
> index 66c0d1ba2a33..711252ad24a9 100644
> --- a/drivers/mmc/host/sdhci-msm.c
> +++ b/drivers/mmc/host/sdhci-msm.c
> @@ -2730,6 +2730,9 @@ static int sdhci_msm_probe(struct platform_device *pdev)
>  
>  	msm_host->mmc->caps |= MMC_CAP_WAIT_WHILE_BUSY | MMC_CAP_NEED_RSP_BUSY;
>  
> +	/* Enable force hw reset during cqe recovery */
> +	msm_host->mmc->cqe_recovery_reset_always = true;
> +
>  	/* Set the timeout value to max possible */
>  	host->max_timeout_count = 0xF;
>  
> -- 
> 2.17.1
>
diff mbox series

Patch

diff --git a/drivers/mmc/host/sdhci-msm.c b/drivers/mmc/host/sdhci-msm.c
index 66c0d1ba2a33..711252ad24a9 100644
--- a/drivers/mmc/host/sdhci-msm.c
+++ b/drivers/mmc/host/sdhci-msm.c
@@ -2730,6 +2730,9 @@  static int sdhci_msm_probe(struct platform_device *pdev)
 
 	msm_host->mmc->caps |= MMC_CAP_WAIT_WHILE_BUSY | MMC_CAP_NEED_RSP_BUSY;
 
+	/* Enable force hw reset during cqe recovery */
+	msm_host->mmc->cqe_recovery_reset_always = true;
+
 	/* Set the timeout value to max possible */
 	host->max_timeout_count = 0xF;