mirror of
https://github.com/torvalds/linux.git
synced 2026-01-25 07:47:50 +00:00
pmdomain: renesas: rcar-gen4-sysc: Don't keep unused PM domains powered-on
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-gen4-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/ Reported-by: Geert Uytterhoeven <geert@linux-m68k.org> Fixes:0e789b491b("pmdomain: core: Leave powered-on genpds on until sync_state") Fixes:13a4b7fb62("pmdomain: core: Leave powered-on genpds on until late_initcall_sync") Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Tested-by: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
This commit is contained in:
@@ -251,6 +251,7 @@ static int __init rcar_gen4_sysc_pd_setup(struct rcar_gen4_sysc_pd *pd)
|
||||
genpd->detach_dev = cpg_mssr_detach_dev;
|
||||
}
|
||||
|
||||
genpd->flags |= GENPD_FLAG_NO_STAY_ON;
|
||||
genpd->power_off = rcar_gen4_sysc_pd_power_off;
|
||||
genpd->power_on = rcar_gen4_sysc_pd_power_on;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user