Messages in this thread Patch in this message | | | From | Johan Hovold <> | Subject | [PATCH] PM: domains: log failures to register always-on domains | Date | Thu, 29 Sep 2022 17:42:14 +0200 |
| |
Always-on PM domains must be on during initialisation or the domain is currently silently rejected.
Print an error message in case an always-on domain is not on to make it easier to debug drivers getting this wrong (e.g. by setting an always-on genpd flag without making sure that the state matches).
Signed-off-by: Johan Hovold <johan+linaro@kernel.org> --- drivers/base/power/domain.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
Both myself and Matthias have hit this with the Qualcomm GCC drivers when updating static genpd flags directly instead of using/adding driver specific flags to propagate the setting.
Johan
diff --git a/drivers/base/power/domain.c b/drivers/base/power/domain.c index bbfbf05b3446..7200e307effb 100644 --- a/drivers/base/power/domain.c +++ b/drivers/base/power/domain.c @@ -2087,8 +2087,10 @@ int pm_genpd_init(struct generic_pm_domain *genpd, /* Always-on domains must be powered on at initialization. */ if ((genpd_is_always_on(genpd) || genpd_is_rpm_always_on(genpd)) && - !genpd_status_on(genpd)) + !genpd_status_on(genpd)) { + pr_err("always-on PM domain %s is not on\n", genpd->name); return -EINVAL; + } /* Multiple states but no governor doesn't make sense. */ if (!gov && genpd->state_count > 1) -- 2.35.1
| |