While working on another improvement for the reset routine, I noted an issue with an old Gen2 SDHI instance which did not have a SCC. It turned out that we never distinguished between the SCC and non-SCC versions on Gen2 when it came to resetting. So far, it went OK but my upcoming change broke. So, this series fixes the underlying issue by only resetting the SCC when one is available. I made very fine-grained patches because this driver is so fragile. Nonetheless, my tests on a Renesas Lager board (R-Car H2) and Salvator-XS (R-Car M3-N) were successful. Debug output showed that proper code paths were taken and checksumming large files worked as well as reinserting cards. The patches are based on mmc/next and 5.11 will do because there seems to be no issue with current kernels. I'd be very happy about further review and testing! Thanks and all the best, Wolfram Wolfram Sang (4): mmc: renesas_sdhi: only reset SCC when its pointer is populated mmc: renesas_sdhi: probe into TMIO after SCC parameters have been setup mmc: renesas_sdhi: populate SCC pointer at the proper place mmc: renesas_sdhi: simplify reset routine a little drivers/mmc/host/renesas_sdhi_core.c | 38 +++++++++++++--------------- 1 file changed, 18 insertions(+), 20 deletions(-) -- 2.28.0