linux_dsm_epyc7002/drivers/thermal
Yadwinder Singh Brar 2dcd851fe4 thermal: cpu_cooling: Update always cpufreq policy with thermal constraints
Existing code updates cupfreq policy only while executing
cpufreq_apply_cooling() function (i.e. when notify_device != NOTIFY_INVALID).
It doesn't apply constraints when cpufreq policy update happens from any other
place but it should update the cpufreq policy with thermal constraints every
time when there is a cpufreq policy update, to keep state of
cpufreq_cooling_device and max_feq of cpufreq policy in sync. For instance
while resuming cpufreq updates cpufreq_policy and it restores default
policy->usr_policy values irrespective of cooling device's cpufreq_state since
notification gets missed because (notify_device == NOTIFY_INVALID).
Another problem, is that userspace is able to change max_freq irrespective of
cooling device's state, as notification gets missed.

This patch modifies code to maintain a global cpufreq_dev_list and applies
constraints of all matching cooling devices for policy's cpu when there is any
policy update(ends up applying the lowest max_freq among the matching cpu
cooling devices).

This patch also removes redundant check (max_freq > policy->user_policy.max),
as cpufreq framework takes care of user_policy constraints already where ever
required, otherwise its causing an issue while increasing max_freq in normal
scenerio as it restores max_freq with policy->user_policy.max which is old
(smaller) value.

Signed-off-by: Yadwinder Singh Brar <yadi.brar@samsung.com>
Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
2014-11-20 18:17:11 -04:00
..
int340x_thermal Thermal/int3403: Fix thermal hysteresis unit conversion 2014-11-04 19:17:32 -04:00
samsung thermal: exynos: use correct offset for TMU_CONTROL register on Exynos5260 2014-11-07 14:52:42 -04:00
st thermal: sti: Add support for ST's Memory Mapped based Thermal controller 2014-07-15 22:06:57 +08:00
ti-soc-thermal thermal: ti-soc-thermal: ti-bandgap.c: Cleaning up wrong address is checked 2014-07-01 09:52:35 +08:00
armada_thermal.c thermal: armada: Support Armada 380 SoC 2014-05-15 17:12:49 +08:00
cpu_cooling.c thermal: cpu_cooling: Update always cpufreq policy with thermal constraints 2014-11-20 18:17:11 -04:00
db8500_cpufreq_cooling.c thermal: db8500_cpufreq_cooling: remove usage of IS_ERR_OR_NULL() 2013-04-27 09:28:38 +08:00
db8500_thermal.c thermal: db8500: Fix missing mutex_unlock() in probe error paths 2013-03-26 22:08:08 +08:00
dove_thermal.c Merge branches 'misc', 'drv_cleanup', 'devm-cleanup' and 'ti-soc' of .git into next 2013-05-28 10:46:46 +08:00
fair_share.c thermal: trace: Trace when temperature is above a trip point 2014-07-29 09:28:43 -04:00
gov_bang_bang.c thermal: Added Bang-bang thermal governor 2014-08-27 15:45:58 +08:00
imx_thermal.c imx: thermal: imx_get_temp might be called before sensor clock is prepared 2014-11-09 15:42:53 -04:00
intel_powerclamp.c thermal/intel_powerclamp: add newer cpu ids 2014-05-15 17:02:18 +08:00
intel_soc_dts_thermal.c thermal: Intel SoC DTS thermal 2014-05-15 16:37:24 +08:00
Kconfig Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux 2014-10-24 11:21:43 -07:00
kirkwood_thermal.c Merge branches 'misc', 'drv_cleanup', 'devm-cleanup' and 'ti-soc' of .git into next 2013-05-28 10:46:46 +08:00
Makefile Merge branch 'int340x-thermal' of .git into next 2014-10-17 14:30:58 +08:00
of-thermal.c thermal: fix multiple disbalanced device node counters 2014-11-02 23:02:49 -04:00
rcar_thermal.c thermal: rcar: remove unnecessary OOM messages 2014-05-15 17:15:26 +08:00
spear_thermal.c thermal: spear: remove unnecessary OOM messages 2014-05-15 17:15:26 +08:00
step_wise.c Merge branch 'thermal-core-fix' of .git into next 2014-10-11 09:28:13 +08:00
thermal_core.c Thermal:Remove usless if(!result) before return tz 2014-11-03 18:59:50 -04:00
thermal_core.h thermal: Added Bang-bang thermal governor 2014-08-27 15:45:58 +08:00
thermal_hwmon.c thermal: hwmon: Make the check for critical temp valid consistent 2014-06-30 10:17:27 +08:00
thermal_hwmon.h thermal: hwmon: move hwmon support to single file 2013-09-03 09:09:12 -04:00
user_space.c Thermal: build thermal governors into thermal_sys module 2013-04-14 23:28:43 +08:00
x86_pkg_temp_thermal.c thermal, x86-pkg-temp: Fix CPU hotplug callback registration 2014-03-20 13:43:47 +01:00