Message ID | 1728368130-37213-5-git-send-email-shawn.lin@rock-chips.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Initial support for RK3576 UFS controller | expand |
On Tue, 8 Oct 2024 at 08:16, Shawn Lin <shawn.lin@rock-chips.com> wrote: > > If low level driver claims to keep its own power domain always on, > let pd driver respect the flag of GENPD_FLAG_RPM_ALWAYS_ON. > > Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com> > --- > > Changes in v3: None > Changes in v2: None > > drivers/pmdomain/rockchip/pm-domains.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/pmdomain/rockchip/pm-domains.c b/drivers/pmdomain/rockchip/pm-domains.c > index cb0f938..b2bb458 100644 > --- a/drivers/pmdomain/rockchip/pm-domains.c > +++ b/drivers/pmdomain/rockchip/pm-domains.c > @@ -621,6 +621,9 @@ static int rockchip_pd_power_off(struct generic_pm_domain *domain) > { > struct rockchip_pm_domain *pd = to_rockchip_pd(domain); > > + if (pd->genpd.flags & GENPD_FLAG_RPM_ALWAYS_ON) > + return 0; During system suspend, genpd may try to power off the PM domains that have the GENPD_FLAG_RPM_ALWAYS_ON being set. It seems like you need to prevent the PM domains from being power off during system suspend too, right? In that case, why not use GENPD_FLAG_ALWAYS_ON instead? Or maybe the use case is different, let's continue to discuss patch5 first. > + > return rockchip_pd_power(pd, false); > } > > -- > 2.7.4 > Kind regards Uffe
diff --git a/drivers/pmdomain/rockchip/pm-domains.c b/drivers/pmdomain/rockchip/pm-domains.c index cb0f938..b2bb458 100644 --- a/drivers/pmdomain/rockchip/pm-domains.c +++ b/drivers/pmdomain/rockchip/pm-domains.c @@ -621,6 +621,9 @@ static int rockchip_pd_power_off(struct generic_pm_domain *domain) { struct rockchip_pm_domain *pd = to_rockchip_pd(domain); + if (pd->genpd.flags & GENPD_FLAG_RPM_ALWAYS_ON) + return 0; + return rockchip_pd_power(pd, false); }
If low level driver claims to keep its own power domain always on, let pd driver respect the flag of GENPD_FLAG_RPM_ALWAYS_ON. Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com> --- Changes in v3: None Changes in v2: None drivers/pmdomain/rockchip/pm-domains.c | 3 +++ 1 file changed, 3 insertions(+)