WSL2-Linux-Kernel/drivers/thermal
Daniel Lezcano a4c428e523 thermal/drivers/cpu_cooling: Introduce the cpu idle cooling driver
The cpu idle cooling device offers a new method to cool down a CPU by
injecting idle cycles at runtime.

It has some similarities with the intel power clamp driver but it is
actually designed to be more generic and relying on the idle injection
powercap framework.

The idle injection duration is fixed while the running duration is
variable. That allows to have control on the device reactivity for the
user experience.

An idle state powering down the CPU or the cluster will allow to drop
the static leakage, thus restoring the heat capacity of the SoC. It
can be set with a trip point between the hot and the critical points,
giving the opportunity to prevent a hard reset of the system when the
cpufreq cooling fails to cool down the CPU.

With more sophisticated boards having a per core sensor, the idle
cooling device allows to cool down a single core without throttling
the compute capacity of several cpus belonging to the same clock line,
so it could be used in collaboration with the cpufreq cooling device.

Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Link: https://lore.kernel.org/r/20191219225317.17158-2-daniel.lezcano@linaro.org
2020-01-27 10:24:32 +01:00
..
broadcom Driver Core and debugfs changes for 5.3-rc1 2019-07-12 12:24:03 -07:00
intel thermal: intel: intel_soc_dts_iosf: Utilize for_each_set_clump8 macro 2019-12-04 19:44:12 -08:00
qcom drivers: thermal: tsens: Work with old DTBs 2020-01-07 08:22:35 +01:00
samsung thermal: samsung: Appease the kernel-doc deity 2020-01-27 10:24:32 +01:00
st treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
tegra thermal: tegra: Appease the kernel-doc deity 2020-01-27 10:24:32 +01:00
ti-soc-thermal treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 336 2019-06-05 17:37:07 +02:00
Kconfig thermal/drivers/cpu_cooling: Introduce the cpu idle cooling driver 2020-01-27 10:24:32 +01:00
Makefile thermal/drivers/cpu_cooling: Introduce the cpu idle cooling driver 2020-01-27 10:24:32 +01:00
amlogic_thermal.c thermal: amlogic: Appease the kernel-doc deity 2020-01-27 10:24:32 +01:00
armada_thermal.c thermal: armada: Clear reset in armadaxp_init 2020-01-27 10:24:32 +01:00
clock_cooling.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 285 2019-06-05 17:36:37 +02:00
cpu_cooling.c thermal: cpu_cooling: Appease the kernel-doc deity 2020-01-27 10:24:32 +01:00
cpuidle_cooling.c thermal/drivers/cpu_cooling: Introduce the cpu idle cooling driver 2020-01-27 10:24:32 +01:00
da9062-thermal.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
db8500_thermal.c thermal: db8500: Depromote debug print 2020-01-27 10:24:32 +01:00
devfreq_cooling.c thermal: devfreq_cooling: Appease the kernel-doc deity 2020-01-27 10:24:32 +01:00
dove_thermal.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
fair_share.c thermal: step_wise: Appease the kernel-doc deity 2020-01-27 10:24:32 +01:00
gov_bang_bang.c thermal: step_wise: Appease the kernel-doc deity 2020-01-27 10:24:32 +01:00
hisi_thermal.c thermal/drivers/hisi: Fix number of sensors on hi3660 2018-12-10 20:13:09 -08:00
imx_thermal.c thermal: imx: save one condition block for normal case of nvmem initialization 2019-01-02 04:47:12 -08:00
kirkwood_thermal.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
max77620_thermal.c thermal: max77620: Appease the kernel-doc deity 2020-01-27 10:24:32 +01:00
mtk_thermal.c thermal: mediatek: Appease the kernel-doc deity 2020-01-27 10:24:32 +01:00
of-thermal.c thermal: of-thermal: Appease the kernel-doc deity 2020-01-27 10:24:32 +01:00
power_allocator.c thermal/drivers/core: Use governor table to initialize 2019-06-27 21:22:14 +08:00
qoriq_thermal.c thermal: qoriq: Add hwmon support 2020-01-27 10:24:32 +01:00
rcar_gen3_thermal.c thermal: rcar_gen3_thermal: Add r8a774b1 support 2019-11-07 07:00:26 +01:00
rcar_thermal.c thermal: rcar_thermal: update calculation formula for R-Car Gen3 SoCs 2019-05-14 07:00:42 -07:00
rockchip_thermal.c thermal: rockchip: Enable hwmon 2020-01-27 10:24:32 +01:00
spear_thermal.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
step_wise.c thermal: step_wise: Appease the kernel-doc deity 2020-01-27 10:24:32 +01:00
tango_thermal.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
thermal-generic-adc.c thermal-generic-adc: Silent error message for EPROBE_DEFER 2019-11-07 07:00:26 +01:00
thermal_core.c thermal: Fix deadlock in thermal thermal_zone_device_check 2019-11-14 22:41:09 +08:00
thermal_core.h thermal/drivers/core: Use governor table to initialize 2019-06-27 21:22:14 +08:00
thermal_helpers.c drivers: thermal: Update license to SPDX format 2018-05-30 14:46:17 +08:00
thermal_hwmon.c thermal_hwmon: Add devres wrapper for thermal_add_hwmon_sysfs() 2020-01-27 10:24:32 +01:00
thermal_hwmon.h thermal_hwmon: Add devres wrapper for thermal_add_hwmon_sysfs() 2020-01-27 10:24:32 +01:00
thermal_mmio.c thermal: no need to set .owner when using module_platform_driver 2019-11-07 07:00:26 +01:00
thermal_sysfs.c thermal: Fix locking in cooling device sysfs update cur_state 2018-11-30 16:57:51 +08:00
uniphier_thermal.c thermal: uniphier: Convert to SPDX identifier 2019-01-02 04:47:16 -08:00
user_space.c thermal: step_wise: Appease the kernel-doc deity 2020-01-27 10:24:32 +01:00
zx2967_thermal.c thermal: zx2967: Appease the kernel-doc deity 2020-01-27 10:24:32 +01:00