Message ID | 20241024094930.3221729-1-dario.binacchi@amarulasolutions.com |
---|---|
State | New |
Headers | show |
Series |
|
Related | show |
On Thu, 24 Oct 2024 at 11:49, Dario Binacchi <dario.binacchi@amarulasolutions.com> wrote: > > The "sd_count" field keeps track of the number of subdomains with power > "on," so if pm_genpd_init() is called with the "is_off" parameter set to > false, it means that the power domain is already on, and therefore its > "sd_count" must be 1. genpd_sd_counter_inc() is being called when adding subdomains. Doesn't that work correctly for you? > > Co-developed-by: Michael Trimarchi <michael@amarulasolutions.com> > Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com> > Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com> > Kind regards Uffe > --- > > drivers/pmdomain/core.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/pmdomain/core.c b/drivers/pmdomain/core.c > index 5ede0f7eda09..2df6dda98021 100644 > --- a/drivers/pmdomain/core.c > +++ b/drivers/pmdomain/core.c > @@ -2221,7 +2221,7 @@ int pm_genpd_init(struct generic_pm_domain *genpd, > genpd_lock_init(genpd); > genpd->gov = gov; > INIT_WORK(&genpd->power_off_work, genpd_power_off_work_fn); > - atomic_set(&genpd->sd_count, 0); > + atomic_set(&genpd->sd_count, is_off ? 0 : 1); > genpd->status = is_off ? GENPD_STATE_OFF : GENPD_STATE_ON; > genpd->device_count = 0; > genpd->provider = NULL; > -- > 2.43.0 > To unsubscribe from this group and stop receiving emails from it, send an email to linux-amarula+unsubscribe@amarulasolutions.com.
On Mon, Oct 28, 2024 at 2:34 PM Ulf Hansson <ulf.hansson@linaro.org> wrote: > > On Thu, 24 Oct 2024 at 11:49, Dario Binacchi > <dario.binacchi@amarulasolutions.com> wrote: > > > > The "sd_count" field keeps track of the number of subdomains with power > > "on," so if pm_genpd_init() is called with the "is_off" parameter set to > > false, it means that the power domain is already on, and therefore its > > "sd_count" must be 1. > > genpd_sd_counter_inc() is being called when adding subdomains. Doesn't > that work correctly for you? In my use case the genpd_add_subdomain() is not called. I am working on : drivers/pmdomain/imx/gpcv2.c drivers/pmdomain/imx/imx8m-blk-ctrl.c Thanks and regards, Dario > > > > > Co-developed-by: Michael Trimarchi <michael@amarulasolutions.com> > > Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com> > > Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com> > > > > Kind regards > Uffe > > > --- > > > > drivers/pmdomain/core.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/pmdomain/core.c b/drivers/pmdomain/core.c > > index 5ede0f7eda09..2df6dda98021 100644 > > --- a/drivers/pmdomain/core.c > > +++ b/drivers/pmdomain/core.c > > @@ -2221,7 +2221,7 @@ int pm_genpd_init(struct generic_pm_domain *genpd, > > genpd_lock_init(genpd); > > genpd->gov = gov; > > INIT_WORK(&genpd->power_off_work, genpd_power_off_work_fn); > > - atomic_set(&genpd->sd_count, 0); > > + atomic_set(&genpd->sd_count, is_off ? 0 : 1); > > genpd->status = is_off ? GENPD_STATE_OFF : GENPD_STATE_ON; > > genpd->device_count = 0; > > genpd->provider = NULL; > > -- > > 2.43.0 > >
On Mon, 28 Oct 2024 at 16:07, Dario Binacchi <dario.binacchi@amarulasolutions.com> wrote: > > On Mon, Oct 28, 2024 at 2:34 PM Ulf Hansson <ulf.hansson@linaro.org> wrote: > > > > On Thu, 24 Oct 2024 at 11:49, Dario Binacchi > > <dario.binacchi@amarulasolutions.com> wrote: > > > > > > The "sd_count" field keeps track of the number of subdomains with power > > > "on," so if pm_genpd_init() is called with the "is_off" parameter set to > > > false, it means that the power domain is already on, and therefore its > > > "sd_count" must be 1. > > > > genpd_sd_counter_inc() is being called when adding subdomains. Doesn't > > that work correctly for you? > > In my use case the genpd_add_subdomain() is not called. > I am working on : > drivers/pmdomain/imx/gpcv2.c > drivers/pmdomain/imx/imx8m-blk-ctrl.c In that case you don't have a child-domain (subdomain), which means the sd_count should be 0. [...] Kind regards Uffe To unsubscribe from this group and stop receiving emails from it, send an email to linux-amarula+unsubscribe@amarulasolutions.com.
diff --git a/drivers/pmdomain/core.c b/drivers/pmdomain/core.c index 5ede0f7eda09..2df6dda98021 100644 --- a/drivers/pmdomain/core.c +++ b/drivers/pmdomain/core.c @@ -2221,7 +2221,7 @@ int pm_genpd_init(struct generic_pm_domain *genpd, genpd_lock_init(genpd); genpd->gov = gov; INIT_WORK(&genpd->power_off_work, genpd_power_off_work_fn); - atomic_set(&genpd->sd_count, 0); + atomic_set(&genpd->sd_count, is_off ? 0 : 1); genpd->status = is_off ? GENPD_STATE_OFF : GENPD_STATE_ON; genpd->device_count = 0; genpd->provider = NULL;