Message ID | ee8af5d631f5331139ffea714539030d97352e93.1622811525.git.geert+renesas@glider.be |
---|---|
State | New |
Headers | show |
Series | mmc: renesas_sdhi: Fix HS400 on R-Car M3-W+ | expand |
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 <geert+renesas@glider.be> 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 <wsa+renesas@sang-engineering.com>
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 <geert+renesas@glider.be> Thank you for the patch! Reviewed-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> Best regards, Yoshihiro Shimoda
On Fri, 4 Jun 2021 at 14:59, Geert Uytterhoeven <geert+renesas@glider.be> 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 <geert+renesas@glider.be> 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 >
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 },
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 <geert+renesas@glider.be> --- 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(-)