diff mbox series

[RFC] mmc: sdhci-pxav3: set NEED_RSP_BUSY capability

Message ID 20250310140707.23459-1-balejk@matfyz.cz
State New
Headers show
Series [RFC] mmc: sdhci-pxav3: set NEED_RSP_BUSY capability | expand

Commit Message

Karel Balej March 10, 2025, 2:07 p.m. UTC
Set the MMC_CAP_NEED_RSP_BUSY capability for the sdhci-pxav3 host to
prevent conversion of R1B responses to R1. Without this, the eMMC card
in the samsung,coreprimevelte smartphone using the Marvell PXA1908 SoC
with this mmc host doesn't probe with the ETIMEDOUT error originating in
__mmc_poll_for_busy.

Note that the other issues reported for this phone and host, namely
floods of "Tuning failed, falling back to fixed sampling clock" dmesg
messages for the eMMC and unstable SDIO are not mitigated by this
change.

Link: https://lore.kernel.org/r/20200310153340.5593-1-ulf.hansson@linaro.org/
Link: https://lore.kernel.org/r/D7204PWIGQGI.1FRFQPPIEE2P9@matfyz.cz/
Link: https://lore.kernel.org/r/20250115-pxa1908-lkml-v14-0-847d24f3665a@skole.hr/
Cc: Duje Mihanović <duje.mihanovic@skole.hr>
Cc: stable@vger.kernel.org
Signed-off-by: Karel Balej <balejk@matfyz.cz>
---
 drivers/mmc/host/sdhci-pxav3.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Adrian Hunter March 11, 2025, 7:34 a.m. UTC | #1
On 10/03/25 16:07, Karel Balej wrote:
> Set the MMC_CAP_NEED_RSP_BUSY capability for the sdhci-pxav3 host to
> prevent conversion of R1B responses to R1. Without this, the eMMC card
> in the samsung,coreprimevelte smartphone using the Marvell PXA1908 SoC

So that SoC is from 2015?

Is there anything more recent using this driver?

> with this mmc host doesn't probe with the ETIMEDOUT error originating in
> __mmc_poll_for_busy.
> 
> Note that the other issues reported for this phone and host, namely
> floods of "Tuning failed, falling back to fixed sampling clock" dmesg
> messages for the eMMC and unstable SDIO are not mitigated by this
> change.
> 
> Link: https://lore.kernel.org/r/20200310153340.5593-1-ulf.hansson@linaro.org/
> Link: https://lore.kernel.org/r/D7204PWIGQGI.1FRFQPPIEE2P9@matfyz.cz/
> Link: https://lore.kernel.org/r/20250115-pxa1908-lkml-v14-0-847d24f3665a@skole.hr/
> Cc: Duje Mihanović <duje.mihanovic@skole.hr>
> Cc: stable@vger.kernel.org
> Signed-off-by: Karel Balej <balejk@matfyz.cz>
> ---
>  drivers/mmc/host/sdhci-pxav3.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/mmc/host/sdhci-pxav3.c b/drivers/mmc/host/sdhci-pxav3.c
> index 990723a008ae..3fb56face3d8 100644
> --- a/drivers/mmc/host/sdhci-pxav3.c
> +++ b/drivers/mmc/host/sdhci-pxav3.c
> @@ -399,6 +399,7 @@ static int sdhci_pxav3_probe(struct platform_device *pdev)
>  	if (!IS_ERR(pxa->clk_core))
>  		clk_prepare_enable(pxa->clk_core);
>  
> +	host->mmc->caps |= MMC_CAP_NEED_RSP_BUSY;
>  	/* enable 1/8V DDR capable */
>  	host->mmc->caps |= MMC_CAP_1_8V_DDR;
>
Karel Balej March 11, 2025, 11:25 a.m. UTC | #2
Adrian Hunter, 2025-03-11T09:34:28+02:00:
> On 10/03/25 16:07, Karel Balej wrote:
>> Set the MMC_CAP_NEED_RSP_BUSY capability for the sdhci-pxav3 host to
>> prevent conversion of R1B responses to R1. Without this, the eMMC card
>> in the samsung,coreprimevelte smartphone using the Marvell PXA1908 SoC
>
> So that SoC is from 2015?

Rather at least 2014 as that's the release year of the phone.

> Is there anything more recent using this driver?

Looking at the in-tree DTs using the compatibles offered by it, it seems
that not really.

K. B.
diff mbox series

Patch

diff --git a/drivers/mmc/host/sdhci-pxav3.c b/drivers/mmc/host/sdhci-pxav3.c
index 990723a008ae..3fb56face3d8 100644
--- a/drivers/mmc/host/sdhci-pxav3.c
+++ b/drivers/mmc/host/sdhci-pxav3.c
@@ -399,6 +399,7 @@  static int sdhci_pxav3_probe(struct platform_device *pdev)
 	if (!IS_ERR(pxa->clk_core))
 		clk_prepare_enable(pxa->clk_core);
 
+	host->mmc->caps |= MMC_CAP_NEED_RSP_BUSY;
 	/* enable 1/8V DDR capable */
 	host->mmc->caps |= MMC_CAP_1_8V_DDR;