[PATCH V5 4/9] PM / cpu_domains: Setup PM domains for CPUs/clusters
From: Ulf Hansson <hidden>
Date: 2017-03-14 11:36:09
Also in:
linux-arm-msm, linux-pm
On 3 March 2017 at 21:41, Lina Iyer [off-list ref] wrote:
quoted hunk ↗ jump to hunk
Define and add Generic PM domains (genpd) for CPU clusters. Many new SoCs group CPUs as clusters. Clusters share common resources like power rails, caches, VFP, Coresight etc. When all CPUs in the cluster are idle, these shared resources may also be put in their idle state. CPUs may be associated with their domain providers. The domains in turn may be associated with their providers. This is clean way to model the cluster hierarchy like that of ARM's big.little architecture. Platform drivers may initialize generic PM domains and setup the CPU PM domains for the genpd and attach CPUs to the domain. In the following patches, the CPUs are hooked up to runtime PM framework which helps power down the domain, when all the CPUs in the domain are idle. Cc: Ulf Hansson <redacted> Suggested-by: Kevin Hilman <khilman@kernel.org> Signed-off-by: Lina Iyer <redacted> --- drivers/base/power/Makefile | 2 +- drivers/base/power/cpu_domains.c | 192 +++++++++++++++++++++++++++++++++++++++ include/linux/cpu_domains.h | 48 ++++++++++ 3 files changed, 241 insertions(+), 1 deletion(-) create mode 100644 drivers/base/power/cpu_domains.c create mode 100644 include/linux/cpu_domains.hdiff --git a/drivers/base/power/Makefile b/drivers/base/power/Makefile index 5998c53..ee383f1 100644 --- a/drivers/base/power/Makefile +++ b/drivers/base/power/Makefile@@ -2,7 +2,7 @@ obj-$(CONFIG_PM) += sysfs.o generic_ops.o common.o qos.o runtime.o wakeirq.o obj-$(CONFIG_PM_SLEEP) += main.o wakeup.o obj-$(CONFIG_PM_TRACE_RTC) += trace.o obj-$(CONFIG_PM_OPP) += opp/ -obj-$(CONFIG_PM_GENERIC_DOMAINS) += domain.o domain_governor.o +obj-$(CONFIG_PM_GENERIC_DOMAINS) += domain.o domain_governor.o cpu_domains.o
One more thing that I wonder about. Isn't cpu_domains relying on CONFIG_PM_GENERIC_DOMAINS_OF to work? Perhaps it's just better to build for that case? [...] Kind regards Uffe