R-Car M3-W ES3.0 is marketed as R-Car M3-W+ (R8A77961), and has its own
compatible value "renesas,r8a77961".
Hence using soc_device_match() with soc_id = "r8a7796" and revision =
"ES3.*" does not actually match running on an R-Car M3-W+ SoC.
Fix this by matching with soc_id = "r8a77961" instead.
Fixes: a38c078fea0b1393 ("mmc: renesas_sdhi: Avoid bad TAP in HS400")
Signed-off-by: Geert Uytterhoeven <[email protected]>
---
Boot-tested on Salvator-XS with R-Car M3-W+ ES3.0.
No difference seen in eMMC/SHHC detection:
mmc0: new HS400 MMC card at address 0001
mmcblk0: mmc0:0001 BGSD4R 29.1 GiB
mmcblk0boot0: mmc0:0001 BGSD4R 31.9 MiB
mmcblk0boot1: mmc0:0001 BGSD4R 31.9 MiB
mmcblk0rpmb: mmc0:0001 BGSD4R 4.00 MiB, chardev (247:0)
mmcblk0: p1
mmc1: new ultra high speed SDR104 SDHC card at address aaaa
mmcblk1: mmc1:aaaa SL16G 14.8 GiB
mmcblk1: p1
mmc2: new ultra high speed SDR104 SDHC card at address aaaa
mmcblk2: mmc2:aaaa SL32G 29.7 GiB
mmcblk2: p1
---
drivers/mmc/host/renesas_sdhi_core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/mmc/host/renesas_sdhi_core.c b/drivers/mmc/host/renesas_sdhi_core.c
index 635bf31a67359f10..b719eda6b8619453 100644
--- a/drivers/mmc/host/renesas_sdhi_core.c
+++ b/drivers/mmc/host/renesas_sdhi_core.c
@@ -939,7 +939,7 @@ static const struct soc_device_attribute sdhi_quirks_match[] = {
{ .soc_id = "r8a7795", .revision = "ES3.*", .data = &sdhi_quirks_bad_taps2367 },
{ .soc_id = "r8a7796", .revision = "ES1.[012]", .data = &sdhi_quirks_4tap_nohs400 },
{ .soc_id = "r8a7796", .revision = "ES1.*", .data = &sdhi_quirks_r8a7796_es13 },
- { .soc_id = "r8a7796", .revision = "ES3.*", .data = &sdhi_quirks_bad_taps1357 },
+ { .soc_id = "r8a77961", .data = &sdhi_quirks_bad_taps1357 },
{ .soc_id = "r8a77965", .data = &sdhi_quirks_r8a77965 },
{ .soc_id = "r8a77980", .data = &sdhi_quirks_nohs400 },
{ .soc_id = "r8a77990", .data = &sdhi_quirks_r8a77990 },
--
2.25.1
On Fri, Jun 04, 2021 at 02:59:43PM +0200, Geert Uytterhoeven wrote:
> R-Car M3-W ES3.0 is marketed as R-Car M3-W+ (R8A77961), and has its own
> compatible value "renesas,r8a77961".
>
> Hence using soc_device_match() with soc_id = "r8a7796" and revision =
> "ES3.*" does not actually match running on an R-Car M3-W+ SoC.
>
> Fix this by matching with soc_id = "r8a77961" instead.
>
> Fixes: a38c078fea0b1393 ("mmc: renesas_sdhi: Avoid bad TAP in HS400")
> Signed-off-by: Geert Uytterhoeven <[email protected]>
Great, thanks for this fix!
> Boot-tested on Salvator-XS with R-Car M3-W+ ES3.0.
> No difference seen in eMMC/SHHC detection:
You'd need some stress testing plus debug output of the TAPs chosen to
actually see a difference. However, the patch is obviously correct.
Testing if soc_id actually matches now is good enough.
Reviewed-by: Wolfram Sang <[email protected]>
Hi Wolfram,
On Fri, Jun 4, 2021 at 3:16 PM Wolfram Sang
<[email protected]> wrote:
> On Fri, Jun 04, 2021 at 02:59:43PM +0200, Geert Uytterhoeven wrote:
> > R-Car M3-W ES3.0 is marketed as R-Car M3-W+ (R8A77961), and has its own
> > compatible value "renesas,r8a77961".
> >
> > Hence using soc_device_match() with soc_id = "r8a7796" and revision =
> > "ES3.*" does not actually match running on an R-Car M3-W+ SoC.
> >
> > Fix this by matching with soc_id = "r8a77961" instead.
> >
> > Fixes: a38c078fea0b1393 ("mmc: renesas_sdhi: Avoid bad TAP in HS400")
> > Signed-off-by: Geert Uytterhoeven <[email protected]>
>
> Great, thanks for this fix!
>
> > Boot-tested on Salvator-XS with R-Car M3-W+ ES3.0.
> > No difference seen in eMMC/SHHC detection:
>
> You'd need some stress testing plus debug output of the TAPs chosen to
> actually see a difference. However, the patch is obviously correct.
> Testing if soc_id actually matches now is good enough.
FTR, I did check that part.
> Reviewed-by: Wolfram Sang <[email protected]>
Thanks!
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
Hi Geert,
Thanks for your work.
On 2021-06-04 14:59:43 +0200, Geert Uytterhoeven wrote:
> R-Car M3-W ES3.0 is marketed as R-Car M3-W+ (R8A77961), and has its own
> compatible value "renesas,r8a77961".
>
> Hence using soc_device_match() with soc_id = "r8a7796" and revision =
> "ES3.*" does not actually match running on an R-Car M3-W+ SoC.
>
> Fix this by matching with soc_id = "r8a77961" instead.
>
> Fixes: a38c078fea0b1393 ("mmc: renesas_sdhi: Avoid bad TAP in HS400")
> Signed-off-by: Geert Uytterhoeven <[email protected]>
Reviewed-by: Niklas S?derlund <[email protected]>
> ---
> Boot-tested on Salvator-XS with R-Car M3-W+ ES3.0.
> No difference seen in eMMC/SHHC detection:
>
> mmc0: new HS400 MMC card at address 0001
> mmcblk0: mmc0:0001 BGSD4R 29.1 GiB
> mmcblk0boot0: mmc0:0001 BGSD4R 31.9 MiB
> mmcblk0boot1: mmc0:0001 BGSD4R 31.9 MiB
> mmcblk0rpmb: mmc0:0001 BGSD4R 4.00 MiB, chardev (247:0)
> mmcblk0: p1
> mmc1: new ultra high speed SDR104 SDHC card at address aaaa
> mmcblk1: mmc1:aaaa SL16G 14.8 GiB
> mmcblk1: p1
> mmc2: new ultra high speed SDR104 SDHC card at address aaaa
> mmcblk2: mmc2:aaaa SL32G 29.7 GiB
> mmcblk2: p1
> ---
> drivers/mmc/host/renesas_sdhi_core.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/mmc/host/renesas_sdhi_core.c b/drivers/mmc/host/renesas_sdhi_core.c
> index 635bf31a67359f10..b719eda6b8619453 100644
> --- a/drivers/mmc/host/renesas_sdhi_core.c
> +++ b/drivers/mmc/host/renesas_sdhi_core.c
> @@ -939,7 +939,7 @@ static const struct soc_device_attribute sdhi_quirks_match[] = {
> { .soc_id = "r8a7795", .revision = "ES3.*", .data = &sdhi_quirks_bad_taps2367 },
> { .soc_id = "r8a7796", .revision = "ES1.[012]", .data = &sdhi_quirks_4tap_nohs400 },
> { .soc_id = "r8a7796", .revision = "ES1.*", .data = &sdhi_quirks_r8a7796_es13 },
> - { .soc_id = "r8a7796", .revision = "ES3.*", .data = &sdhi_quirks_bad_taps1357 },
> + { .soc_id = "r8a77961", .data = &sdhi_quirks_bad_taps1357 },
> { .soc_id = "r8a77965", .data = &sdhi_quirks_r8a77965 },
> { .soc_id = "r8a77980", .data = &sdhi_quirks_nohs400 },
> { .soc_id = "r8a77990", .data = &sdhi_quirks_r8a77990 },
> --
> 2.25.1
>
--
Regards,
Niklas S?derlund
Hi Geert-san,
> From: Geert Uytterhoeven, Sent: Friday, June 4, 2021 10:00 PM
>
> R-Car M3-W ES3.0 is marketed as R-Car M3-W+ (R8A77961), and has its own
> compatible value "renesas,r8a77961".
>
> Hence using soc_device_match() with soc_id = "r8a7796" and revision =
> "ES3.*" does not actually match running on an R-Car M3-W+ SoC.
>
> Fix this by matching with soc_id = "r8a77961" instead.
>
> Fixes: a38c078fea0b1393 ("mmc: renesas_sdhi: Avoid bad TAP in HS400")
> Signed-off-by: Geert Uytterhoeven <[email protected]>
Thank you for the patch!
Reviewed-by: Yoshihiro Shimoda <[email protected]>
Best regards,
Yoshihiro Shimoda
On Fri, 4 Jun 2021 at 14:59, Geert Uytterhoeven <[email protected]> wrote:
>
> R-Car M3-W ES3.0 is marketed as R-Car M3-W+ (R8A77961), and has its own
> compatible value "renesas,r8a77961".
>
> Hence using soc_device_match() with soc_id = "r8a7796" and revision =
> "ES3.*" does not actually match running on an R-Car M3-W+ SoC.
>
> Fix this by matching with soc_id = "r8a77961" instead.
>
> Fixes: a38c078fea0b1393 ("mmc: renesas_sdhi: Avoid bad TAP in HS400")
> Signed-off-by: Geert Uytterhoeven <[email protected]>
Applied for fixes and by adding a stable tag, thanks!
Kind regards
Uffe
> ---
> Boot-tested on Salvator-XS with R-Car M3-W+ ES3.0.
> No difference seen in eMMC/SHHC detection:
>
> mmc0: new HS400 MMC card at address 0001
> mmcblk0: mmc0:0001 BGSD4R 29.1 GiB
> mmcblk0boot0: mmc0:0001 BGSD4R 31.9 MiB
> mmcblk0boot1: mmc0:0001 BGSD4R 31.9 MiB
> mmcblk0rpmb: mmc0:0001 BGSD4R 4.00 MiB, chardev (247:0)
> mmcblk0: p1
> mmc1: new ultra high speed SDR104 SDHC card at address aaaa
> mmcblk1: mmc1:aaaa SL16G 14.8 GiB
> mmcblk1: p1
> mmc2: new ultra high speed SDR104 SDHC card at address aaaa
> mmcblk2: mmc2:aaaa SL32G 29.7 GiB
> mmcblk2: p1
> ---
> drivers/mmc/host/renesas_sdhi_core.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/mmc/host/renesas_sdhi_core.c b/drivers/mmc/host/renesas_sdhi_core.c
> index 635bf31a67359f10..b719eda6b8619453 100644
> --- a/drivers/mmc/host/renesas_sdhi_core.c
> +++ b/drivers/mmc/host/renesas_sdhi_core.c
> @@ -939,7 +939,7 @@ static const struct soc_device_attribute sdhi_quirks_match[] = {
> { .soc_id = "r8a7795", .revision = "ES3.*", .data = &sdhi_quirks_bad_taps2367 },
> { .soc_id = "r8a7796", .revision = "ES1.[012]", .data = &sdhi_quirks_4tap_nohs400 },
> { .soc_id = "r8a7796", .revision = "ES1.*", .data = &sdhi_quirks_r8a7796_es13 },
> - { .soc_id = "r8a7796", .revision = "ES3.*", .data = &sdhi_quirks_bad_taps1357 },
> + { .soc_id = "r8a77961", .data = &sdhi_quirks_bad_taps1357 },
> { .soc_id = "r8a77965", .data = &sdhi_quirks_r8a77965 },
> { .soc_id = "r8a77980", .data = &sdhi_quirks_nohs400 },
> { .soc_id = "r8a77990", .data = &sdhi_quirks_r8a77990 },
> --
> 2.25.1
>