Message ID | 20190109223452.11184-1-niklas.soderlund+renesas@ragnatech.se (mailing list archive) |
---|---|
Headers | show |
Series | mmc: tmio: improve how runtime PM is enabled | expand |
Hi Niklas, thanks for this work! > This series aims to address a issue reported by Geert [1]. It's tested > on Renesas Gen2 and Gen3 boards and the issue reported by Geert is > fixed. Great news! > With correct accounting for runtime PM the Renesas boards no longer > switch of the clocks when suspending. I'm not sure if this is the You mean runtime-suspending here? > intended design or nor as in tmio_mmc_host_probe() we have: > > /* > * 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; Can you test if we still need this? With the above block removed, it should a) fail to probe eMMC on Gen3 without your series b) hopefully probe eMMC on Gen3 with your series Thanks, Wolfram
On 2019-01-10 11:37:36 +0100, Wolfram Sang wrote: > Hi Niklas, > > thanks for this work! > > > This series aims to address a issue reported by Geert [1]. It's tested > > on Renesas Gen2 and Gen3 boards and the issue reported by Geert is > > fixed. > > Great news! > > > With correct accounting for runtime PM the Renesas boards no longer > > switch of the clocks when suspending. I'm not sure if this is the > > You mean runtime-suspending here? > > > intended design or nor as in tmio_mmc_host_probe() we have: > > > > /* > > * 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; > > Can you test if we still need this? With the above block removed, it should > > a) fail to probe eMMC on Gen3 without your series > > b) hopefully probe eMMC on Gen3 with your series I can remove the above section and the driver still probes fine on gen3. But if I remove this and keep the 2/2 of this series the clock imbalance when suspending/resumeing appears in a new form. After boot (both cases): # grep -iE "sd|mmc" /sys/kernel/debug/clk/clk_summary .sdsrc 3 3 0 798720000 0 0 50000 sd3 1 1 0 12480000 0 0 50000 sdif3 3 3 0 12480000 0 0 50000 sd2 1 1 0 199680000 0 0 50000 sdif2 3 3 0 199680000 0 0 50000 sd1 0 0 0 199680000 0 0 50000 sdif1 0 0 0 199680000 0 0 50000 sd0 1 1 0 12480000 0 0 50000 sdif0 3 3 0 12480000 0 0 50000 After resume with the section removed and 2/2: # grep -iE "sd|mmc" /sys/kernel/debug/clk/clk_summary .sdsrc 3 3 0 798720000 0 0 50000 sd3 1 1 0 12480000 0 0 50000 sdif3 3 3 0 12480000 0 0 50000 sd2 1 1 0 199680000 0 0 50000 sdif2 1 2 0 199680000 0 0 50000 sd1 0 0 0 199680000 0 0 50000 sdif1 0 0 0 199680000 0 0 50000 sd0 1 1 0 12480000 0 0 50000 sdif0 3 3 0 12480000 0 0 50000 With this section intact and 2/2: # grep -iE "sd|mmc" /sys/kernel/debug/clk/clk_summary .sdsrc 3 3 0 798720000 0 0 50000 sd3 1 1 0 12480000 0 0 50000 sdif3 3 3 0 12480000 0 0 50000 sd2 1 1 0 199680000 0 0 50000 sdif2 3 3 0 199680000 0 0 50000 sd1 0 0 0 199680000 0 0 50000 sdif1 0 0 0 199680000 0 0 50000 sd0 1 1 0 12480000 0 0 50000 sdif0 3 3 0 12480000 0 0 50000