[PATCH 1/2] cpuidle: psci: Fix regression leading to no genpd governor
Ulf Hansson
ulf.hansson at linaro.org
Thu May 19 06:00:39 PDT 2022
On Wed, 18 May 2022 at 20:50, Rafael J. Wysocki <rafael at kernel.org> wrote:
>
> On Sat, May 14, 2022 at 6:49 PM Anup Patel <anup at brainfault.org> wrote:
> >
> > On Sat, May 14, 2022 at 8:50 PM Ulf Hansson <ulf.hansson at linaro.org> wrote:
> > >
> > > While factoring out the PM domain related code from PSCI domain driver into
> > > a set of library functions, a regression when initializing the genpds got
> > > introduced. More precisely, we fail to assign a genpd governor, so let's
> > > fix this.
> > >
> > > Fixes: 9d976d6721df ("cpuidle: Factor-out power domain related code from PSCI domain driver")
> > > Signed-off-by: Ulf Hansson <ulf.hansson at linaro.org>
> >
> > Looks good to me.
> >
> > Reviewed-by: Anup Patel <anup at brainfault.org>
> >
>
> Ulf, do you want me to take this lot or is it going to be handled elsewhere?
I appreciate it if you can pick both this and the second patch.
Kind regards
Uffe
>
> > > ---
> > > drivers/cpuidle/cpuidle-psci-domain.c | 4 ++--
> > > 1 file changed, 2 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/drivers/cpuidle/cpuidle-psci-domain.c b/drivers/cpuidle/cpuidle-psci-domain.c
> > > index 755bbdfc5b82..3db4fca1172b 100644
> > > --- a/drivers/cpuidle/cpuidle-psci-domain.c
> > > +++ b/drivers/cpuidle/cpuidle-psci-domain.c
> > > @@ -52,7 +52,7 @@ static int psci_pd_init(struct device_node *np, bool use_osi)
> > > struct generic_pm_domain *pd;
> > > struct psci_pd_provider *pd_provider;
> > > struct dev_power_governor *pd_gov;
> > > - int ret = -ENOMEM, state_count = 0;
> > > + int ret = -ENOMEM;
> > >
> > > pd = dt_idle_pd_alloc(np, psci_dt_parse_state_node);
> > > if (!pd)
> > > @@ -71,7 +71,7 @@ static int psci_pd_init(struct device_node *np, bool use_osi)
> > > pd->flags |= GENPD_FLAG_ALWAYS_ON;
> > >
> > > /* Use governor for CPU PM domains if it has some states to manage. */
> > > - pd_gov = state_count > 0 ? &pm_domain_cpu_gov : NULL;
> > > + pd_gov = pd->states ? &pm_domain_cpu_gov : NULL;
> > >
> > > ret = pm_genpd_init(pd, pd_gov, false);
> > > if (ret)
> > > --
> > > 2.25.1
> > >
More information about the linux-riscv
mailing list