summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLukasz Luba <lukasz.luba@arm.com>2020-11-24 10:43:46 +0000
committerViresh Kumar <viresh.kumar@linaro.org>2020-12-08 10:16:13 +0530
commitf9b0498d29404f230894490d622e57e481c7d45a (patch)
tree27c4d870db4f0f4bbfd4cecde7d16e52295dd9cd
parent76ea4d8eeefbfdd37e47c6fd579d0d5852457618 (diff)
downloadlinux-stable-f9b0498d29404f230894490d622e57e481c7d45a.tar.gz
linux-stable-f9b0498d29404f230894490d622e57e481c7d45a.tar.bz2
linux-stable-f9b0498d29404f230894490d622e57e481c7d45a.zip
cpufreq: arm_scmi: Discover the power scale in performance protocol
Add mechanism to discover the power scale present in the performance protocol for all domains. Provide this information to Energy Model, which then can be checked in other frameworks, e.g. thermal. Suggested-by: Morten Rasmussen <morten.rasmussen@arm.com> Signed-off-by: Lukasz Luba <lukasz.luba@arm.com> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
-rw-r--r--drivers/cpufreq/scmi-cpufreq.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/cpufreq/scmi-cpufreq.c b/drivers/cpufreq/scmi-cpufreq.c
index 3714a4cd07fa..144afd1265c1 100644
--- a/drivers/cpufreq/scmi-cpufreq.c
+++ b/drivers/cpufreq/scmi-cpufreq.c
@@ -125,6 +125,7 @@ static int scmi_cpufreq_init(struct cpufreq_policy *policy)
struct scmi_data *priv;
struct cpufreq_frequency_table *freq_table;
struct em_data_callback em_cb = EM_DATA_CB(scmi_get_cpu_power);
+ bool power_scale_mw;
cpu_dev = get_cpu_device(policy->cpu);
if (!cpu_dev) {
@@ -188,8 +189,9 @@ static int scmi_cpufreq_init(struct cpufreq_policy *policy)
policy->fast_switch_possible =
handle->perf_ops->fast_switch_possible(handle, cpu_dev);
+ power_scale_mw = handle->perf_ops->power_scale_mw_get(handle);
em_dev_register_perf_domain(cpu_dev, nr_opp, &em_cb, policy->cpus,
- false);
+ power_scale_mw);
return 0;