Message ID | 20200616162626.27944-1-uli+renesas@fpond.eu (mailing list archive) |
---|---|
Headers | show |
Series | clk: renesas: cpg-mssr: add RWDT to critical clocks | expand |
Hi Uli, On Tue, Jun 16, 2020 at 6:26 PM Ulrich Hecht <uli+renesas@fpond.eu> wrote: > The purpose of this series is to allow a WDT that has been enabled by the > bootloader to survive these events: > > - deferred probing of the WDT device, which can lead the clock driver > to disable the WDT clock until the WDT is re-probed, giving it a > blind spot > - probe failure in the WDT driver > > Following a suggestion by Geert, this revision, instead of adding another > list of clocks with special handling, changes the semantics of the > crit_mod_clks[] array slightly by only marking clocks critical that are > enabled at boot time. That way it can be used for RWDT without forcing the > clock on unnecessarily. > > The other existing user of crit_mod_clks[] (INTC-AP) is always on at boot time > and should thus not be affected by this change. > > There are a number of Gen2 and RZ/G1 SoCs that have the RWDT clock declared > as critical already in order to allow SMP bringup code to work. That should > still work with this series applied, assuming that the WDT clock is on at > boot time. It must be, as initial secondary CPU bringup runs very early. That does mean I will have to remove the RWDT clock from my debug code to disable all unused clocks during boot[1]. Interestingly, the SMP bringup code still seems to work (on R-Car M2-W ES1.0) if the RWDT clock is disabled, both for initial bringup and manual CPU off/onlining later. And it keeps working if I move the debug code earlier (currently it runs after initial bringup). So we're all fine ;-) [1] https://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers.git/log/?h=topic/renesas-debug Gr{oetje,eeting}s, Geert