OpenCloudOS-Kernel/drivers/thermal/intel
Zhang Rui 2eb87d75f9 thermal/drivers/intel: Introduce tcc cooling driver
On Intel processors, the core frequency can be reduced below OS request,
when the current temperature reaches the TCC (Thermal Control Circuit)
activation temperature.

The default TCC activation temperature is specified by
MSR_IA32_TEMPERATURE_TARGET. However, it can be adjusted by specifying an
offset in degrees C, using the TCC Offset bits in the same MSR register.

This patch introduces a cooling devices driver that utilizes the TCC
Offset feature. The bigger the current cooling state is, the lower the
effective TCC activation temperature is, so that the processors can be
throttled earlier before system critical overheats.

Note that, on different platforms, the behavior might be different on
how fast the setting takes effect, and how much the CPU frequency is
reduced.

This patch has been tested on a KabyLake mobile platform from me, and also
on a CometLake platform from Doug.

Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Tested by: Doug Smythies <dsmythies@telus.net>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20210412125901.12549-1-rui.zhang@intel.com
2021-04-20 09:18:57 +02:00
..
int340x_thermal thermal: int340x: Fix unexpected shutdown at critical temperature 2021-01-19 22:30:25 +01:00
Kconfig thermal/drivers/intel: Introduce tcc cooling driver 2021-04-20 09:18:57 +02:00
Makefile thermal/drivers/intel: Introduce tcc cooling driver 2021-04-20 09:18:57 +02:00
intel_bxt_pmic_thermal.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
intel_pch_thermal.c thermal: intel: pch: Fix unexpected shutdown at critical temperature 2021-01-19 22:30:25 +01:00
intel_powerclamp.c sched,powerclamp: Convert to sched_set_fifo() 2020-06-15 14:10:23 +02:00
intel_quark_dts_thermal.c thermal: Rename set_mode() to change_mode() 2020-06-29 20:26:39 +02:00
intel_soc_dts_iosf.c thermal: Explicitly enable non-changing thermal zone devices 2020-06-29 20:26:37 +02:00
intel_soc_dts_iosf.h thermal: intel: intel_soc_dts_iosf: Utilize for_each_set_clump8 macro 2019-12-04 19:44:12 -08:00
intel_soc_dts_thermal.c thermal: Convert to new X86 CPU match macros 2020-03-24 21:33:53 +01:00
intel_tcc_cooling.c thermal/drivers/intel: Introduce tcc cooling driver 2021-04-20 09:18:57 +02:00
therm_throt.c thermal: Move therm_throt there from x86/mce 2021-02-08 11:43:20 +01:00
thermal_interrupt.h thermal: Move therm_throt there from x86/mce 2021-02-08 11:43:20 +01:00
x86_pkg_temp_thermal.c thermal: Move therm_throt there from x86/mce 2021-02-08 11:43:20 +01:00