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

Wolfram Sang
2021-06-18T09:36:59Z

[-- Attachment #1: Type: text/plain, Size: 1819 bytes --]

Hi Geert,

> 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.

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

Makes sense?

All the best,

Wolfram

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]