Re: [PATCH v3 3/3] mmc: renesas_sdhi: do hard reset if possible

Geert Uytterhoeven
2021-06-18T09:43:01Z

Hi Wolfram,

On Fri, Jun 18, 2021 at 11:36 AM Wolfram Sang
<wsa+renesas@sang-engineering.com> wrote:
> > In v5.10, v5.11, and v512, it works fine:
> >
> > sh_mobile_sdhi ee100000.mmc: timeout waiting for hardware interrupt (CMD19)
> > mmc0: new ultra high speed SDR104 SDHC card at address aaaa
> > mmcblk0: mmc0:aaaa SM32G 29.7 GiB
> > mmcblk0: p1
> >
> > Note that I do see one timeout during identification.
> >
> > After b4d86f37eacb7246 (bisected), it fails:
> >
> > sh_mobile_sdhi ee100000.mmc: timeout waiting for hardware interrupt (CMD19)
> > sh_mobile_sdhi ee100000.mmc: timeout waiting for hardware interrupt (CMD19)
> > [...]
> > sh_mobile_sdhi ee100000.mmc: timeout waiting for hardware interrupt (CMD19)
> > mmc0: tuning execution failed: -5
> > mmc0: error -5 whilst initialising SD card
> > sh_mobile_sdhi ee100000.mmc: timeout waiting for hardware interrupt (CMD19)
> > sh_mobile_sdhi ee100000.mmc: timeout waiting for hardware interrupt (CMD19)
> > [...]
> >
> > Given the single timeout I see with older kernels, the issue may be that the
> > harder reset causes that timeout to repeat ad infinitum?
>
> I can confirm this. I also found a SanDisk card which shows the same
> issue on my Lager board. However, I wouldn't say this patch breaks
> things in a way that a revert is a good solution.
>
> The card does not really work "fine". During probe we get one timeout,
> and when trying to read from the card, more follow. Already before this
> patch. There seems to be a state where an initial command fails and only
> the retry suceeds. The hard reset in deed seems to cause an endless loop
> here. However, the proper fix is to find out why this first command
> fails, especially only with some cards. My Samsung one works 100% fine.

BTW, does it work (really) fine on R-Car Gen3? Mine does.

> And if we fix this, then the hard reset is still good for Gen2 as well.
>
> Makes sense?

True.

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

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