Re: [PATCH 3/5] pmdomain: renesas: rcar-sysc: Don't keep unused PM domains powered-on
From: Ulf Hansson <hidden>
Date: 2025-09-11 10:32:24
Also in:
linux-pm, lkml
On Thu, 11 Sept 2025 at 11:02, Geert Uytterhoeven [off-list ref] wrote:
Hi Ulf, On Tue, 9 Sept 2025 at 13:11, Ulf Hansson [off-list ref] wrote:quoted
The recent changes to genpd makes a genpd OF provider that is powered-on at initialization to stay powered-on, until the ->sync_state() callback is invoked for it. This may not happen at all, if we wait for a consumer device to be probed, leading to wasting energy. There are ways to enforce the ->sync_state() callback to be invoked, through sysfs or via the probe-defer-timeout, but none of them in its current form are a good fit for rcar-sysc PM domains. Let's therefore opt-out from this behaviour of genpd for now, by using the GENPD_FLAG_NO_STAY_ON. Link: https://lore.kernel.org/all/20250701114733.636510-1-ulf.hansson@linaro.org/ (local) Reported-by: Geert Uytterhoeven <geert@linux-m68k.org> Fixes: 0e789b491ba0 ("pmdomain: core: Leave powered-on genpds on until sync_state") Fixes: 13a4b7fb6260 ("pmdomain: core: Leave powered-on genpds on until late_initcall_sync") Signed-off-by: Ulf Hansson <redacted>quoted
--- a/drivers/pmdomain/renesas/rcar-sysc.c +++ b/drivers/pmdomain/renesas/rcar-sysc.c@@ -241,6 +241,7 @@ static int __init rcar_sysc_pd_setup(struct rcar_sysc_pd *pd) } } + genpd->flags |= GENPD_FLAG_NO_STAY_ON;So this applies to all PM Domains. While this doesn't hurt, perhaps it should not be set for always-on domains, and thus moved up, to become an "else" branch in the "if/else if/..."-logic handling always-on domains at the top of the function? This applies to rar-gen4-sysc.c, too.
You have a point, but currently this doesn't really matter. Genpd will not power-off always-on-domains no matter whether GENPD_FLAG_NO_STAY_ON is set or not. The whole purpose from my side was to restore the behaviour we had before, for the Reneas PM domains. I tend to think that it's better to apply the $subject patch as is - and leave improvements to be made on top. Thanks a lot for testing and reviewing! [...] Kind regards Uffe