Re: [PATCH/RFC] pmdomain: core: Support pd_ignore_unused with sync_state
From: Ulf Hansson
Date: Wed Mar 04 2026 - 06:54:55 EST
On Wed, 4 Mar 2026 at 12:06, Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote:
>
> Hi Ulf,
>
> On Wed, 4 Mar 2026 at 11:56, Ulf Hansson <ulf.hansson@xxxxxxxxxx> wrote:
> > On Mon, 16 Feb 2026 at 19:47, Geert Uytterhoeven
> > <geert+renesas@xxxxxxxxx> wrote:
> > > Since the introduction of the sync_state mechanism, the
> > > "pd_ignore_unused" kernel command line option doesn't really work
> > > anymore. While genpd_power_off_unused() still checks for that flag
> > > before powering down unused domains, the new sync_state callbacks lack
> > > such checks, thus powering down unused domains regardless.
> > >
> > > Fix this by adding checks to the sync_state helpers and callbacks.
> > > Factor out the printing of the warning message, to make sure it is
> > > printed only once.
> > >
> > > Fixes: 002ebddd695a5399 ("pmdomain: core: Restore behaviour for disabling unused PM domains")
> > > Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
> > > ---
> > > RFC as I have no need for this in upstream.
> >
> > I am trying to understand the use case and whether we should consider
> > to land this upstream.
> >
> > Would you mind elaborating on how this is useful for you?
>
> It is (currently) not useful for me, but it may be useful for others.
> During work on a new SoC, someone had hardcoded "pd_ignore_unused"
> in the kernel command line. After adding support for PM Domains on
> that SoC, I noticed PM Domains were still powered down.
>
> The issue is that pd_ignore_unused no longer does what it claims to do:
>
> pd_ignore_unused
> [PM]
> Keep all power-domains already enabled by bootloader on,
> even if no driver has claimed them. This is useful
> for debug and development, but should not be
> needed on a platform with proper driver support.
>
Well, this is exactly what the sync_state mechanism intends to
address, but in a more correct way compared to pd_ignore_unused.
If a consumer device that belongs to a power domain, lacks a driver
(or it never probes) then that power domain will not be powered-off by
genpd (if it was on a boot). For the pd_ignore_unused case, we may end
up powering off the genpd anyway, becuase child-domains being
powered-off, for example.
For incomplete drivers, the assumption is that the device attaches to
its genpd but runtime PM remains disabled for the device. In these
cases, genpd will not power-off the corresponding power domain.
> So IMO that should either be fixed, or the option should be removed.
> Do you agree?
Right, I think it's time to consider removing it, unless people still
find it useful ofcourse.
Do you want to send a patch that we can test/review or you prefer me
to handle it?
Kind regards
Uffe