On Mon, Dec 2, 2024 at 9:39 PM Prabhakar <prabhakar.csengg@xxxxxxxxx> wrote: > From: Lad Prabhakar <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx> > > Update `rzv2h_cpg_attach_dev` to prevent external and core clocks not tied > to the power domain from being managed by Runtime PM. This ensures that > only clocks originating from the domain are controlled, thereby avoiding > unintended handling of external and core clocks. > > Additionally, introduce a `no_pm` flag in `mod_clock` and `rzv2h_mod_clk` > structures to exclude specific clocks from Runtime PM when needed. Some > clocks, such as those in the CRU block, require unique enable/disable > sequences that are incompatible with standard Runtime PM. For example, > the CSI-2 D-PHY clock initialization requires toggling individual clocks, > making Runtime PM unsuitable. > > The helper function `rzv2h_cpg_is_pm_clk()` checks whether a clock should > be managed by Runtime PM based on this `no_pm` flag. New macros, such as > `DEF_MOD_NO_PM`, allow straightforward declaration of clocks that bypass > PM. > > Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx> > --- > v2->v3 > -> Replaced `rzv2h-cpg` to `rzv2h` in commit header > -> Switched to use for loop while looping > -> Considering core clocks to be non pm clocks Reviewed-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> i.e. will queue in renesas-clk for v6.14. 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