Hi Wolfram, On Tue, Sep 17, 2019 at 9:46 PM Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> wrote: > PM has been reworked, so eMMC gets now detected on R-Car H3 ES1.0 and > 2.0 as well as M3-N without the workaround. Card detect and write > protect also still work. Remove the workaround. > > Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> > --- a/drivers/mmc/host/tmio_mmc_core.c > +++ b/drivers/mmc/host/tmio_mmc_core.c > @@ -1208,15 +1208,6 @@ int tmio_mmc_host_probe(struct tmio_mmc_host *_host) > if (!_host->reset) > _host->reset = tmio_mmc_reset; > > - /* > - * On Gen2+, eMMC with NONREMOVABLE currently fails because native > - * hotplug gets disabled. It seems RuntimePM related yet we need further > - * research. Since we are planning a PM overhaul anyway, let's enforce > - * for now the device being active by enabling native hotplug always. > - */ > - if (pdata->flags & TMIO_MMC_MIN_RCAR2) > - _host->native_hotplug = true; > - > /* > * While using internal tmio hardware logic for card detection, we need > * to ensure it stays powered for it to work. On Salvator-XS with R-Car M3-N, this causes lock ups during early userspace boot up (Debian 9 nfsroot), usually after: [ OK ] Started D-Bus System Message Bus. At first I suspected systemd. Then I noticed the kernel had locked up completely, and no longer responded to ping requests. Interestingly, this patch has been part of renesas-drivers since the 2019-10-15-v5.4-rc3 release, without real issues. The first time I saw the issue was last week. Then it happened only after I had disabled a debug print, which probably caused a timing difference in Runtime PM disablement (and was fully reproducible). Today, it was fairly reproducible, so I managed to bisect it to commit 7a7dab237027939c ("mmc: tmio: remove workaround for NON_REMOVABLE") in mmc/next. Reverting this commit fixes the issue. The issue can also be fixed by: 1. enabling the hs400_4taps and/or hs400_disabled quirks in sdhi_quirks_match[], OR 2. forcing use_4tap = true in renesas_sdhi_check_scc_error(). Salvator-X(S) with R-Car H3 ES1.0 & ES2.0, or M3-W ES1.0, the issue does not show up (probably because of sdhi_quirks_match[]). Do you have a clue? Thanks! Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx 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