diff options
author | Lukasz Luba <lukasz.luba@arm.com> | 2022-03-21 10:57:28 +0100 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2022-04-13 16:26:18 +0200 |
commit | 9926bbec3ae6c10d4e6fc297afde6a7ef7ad640b (patch) | |
tree | 575e07f007359bea1867724c5268231913c2d68a /drivers/thermal/cpufreq_cooling.c | |
parent | Documentation: EM: Add artificial EM registration description (diff) | |
download | linux-9926bbec3ae6c10d4e6fc297afde6a7ef7ad640b.tar.xz linux-9926bbec3ae6c10d4e6fc297afde6a7ef7ad640b.zip |
thermal: cooling: Check Energy Model type in cpufreq_cooling and devfreq_cooling
The Energy Model can now be artificial, which means the power values
are mathematically generated to leverage EAS while not expected to be on
an uniform scale with other devices providing power information. If this
EM type is in use, the thermal governor IPA should not be allowed to
operate, since the relation between cooling devices is not properly
defined. Thus, it might be possible that big GPU has lower power values
than a Little CPU. To mitigate a misbehaviour of the thermal control
algorithm, simply do not register the cooling device as IPA's power
actor.
Signed-off-by: Lukasz Luba <lukasz.luba@arm.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Ionela Voinescu <ionela.voinescu@arm.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'drivers/thermal/cpufreq_cooling.c')
-rw-r--r-- | drivers/thermal/cpufreq_cooling.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/thermal/cpufreq_cooling.c b/drivers/thermal/cpufreq_cooling.c index 0bfb8eebd126..b8151d95a806 100644 --- a/drivers/thermal/cpufreq_cooling.c +++ b/drivers/thermal/cpufreq_cooling.c @@ -328,7 +328,7 @@ static inline bool em_is_sane(struct cpufreq_cooling_device *cpufreq_cdev, struct cpufreq_policy *policy; unsigned int nr_levels; - if (!em) + if (!em || em_is_artificial(em)) return false; policy = cpufreq_cdev->policy; |