mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-12 05:24:12 +08:00
a4c428e523
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
59 lines
2.1 KiB
Makefile
59 lines
2.1 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
#
|
|
# Makefile for sensor chip drivers.
|
|
#
|
|
|
|
obj-$(CONFIG_THERMAL) += thermal_sys.o
|
|
thermal_sys-y += thermal_core.o thermal_sysfs.o \
|
|
thermal_helpers.o
|
|
|
|
# interface to/from other layers providing sensors
|
|
thermal_sys-$(CONFIG_THERMAL_HWMON) += thermal_hwmon.o
|
|
thermal_sys-$(CONFIG_THERMAL_OF) += of-thermal.o
|
|
|
|
# governors
|
|
thermal_sys-$(CONFIG_THERMAL_GOV_FAIR_SHARE) += fair_share.o
|
|
thermal_sys-$(CONFIG_THERMAL_GOV_BANG_BANG) += gov_bang_bang.o
|
|
thermal_sys-$(CONFIG_THERMAL_GOV_STEP_WISE) += step_wise.o
|
|
thermal_sys-$(CONFIG_THERMAL_GOV_USER_SPACE) += user_space.o
|
|
thermal_sys-$(CONFIG_THERMAL_GOV_POWER_ALLOCATOR) += power_allocator.o
|
|
|
|
# cpufreq cooling
|
|
thermal_sys-$(CONFIG_CPU_FREQ_THERMAL) += cpu_cooling.o
|
|
thermal_sys-$(CONFIG_CPU_IDLE_THERMAL) += cpuidle_cooling.o
|
|
|
|
# clock cooling
|
|
thermal_sys-$(CONFIG_CLOCK_THERMAL) += clock_cooling.o
|
|
|
|
# devfreq cooling
|
|
thermal_sys-$(CONFIG_DEVFREQ_THERMAL) += devfreq_cooling.o
|
|
|
|
# platform thermal drivers
|
|
obj-y += broadcom/
|
|
obj-$(CONFIG_THERMAL_MMIO) += thermal_mmio.o
|
|
obj-$(CONFIG_SPEAR_THERMAL) += spear_thermal.o
|
|
obj-$(CONFIG_ROCKCHIP_THERMAL) += rockchip_thermal.o
|
|
obj-$(CONFIG_RCAR_THERMAL) += rcar_thermal.o
|
|
obj-$(CONFIG_RCAR_GEN3_THERMAL) += rcar_gen3_thermal.o
|
|
obj-$(CONFIG_KIRKWOOD_THERMAL) += kirkwood_thermal.o
|
|
obj-y += samsung/
|
|
obj-$(CONFIG_DOVE_THERMAL) += dove_thermal.o
|
|
obj-$(CONFIG_DB8500_THERMAL) += db8500_thermal.o
|
|
obj-$(CONFIG_ARMADA_THERMAL) += armada_thermal.o
|
|
obj-$(CONFIG_TANGO_THERMAL) += tango_thermal.o
|
|
obj-$(CONFIG_IMX_THERMAL) += imx_thermal.o
|
|
obj-$(CONFIG_MAX77620_THERMAL) += max77620_thermal.o
|
|
obj-$(CONFIG_QORIQ_THERMAL) += qoriq_thermal.o
|
|
obj-$(CONFIG_DA9062_THERMAL) += da9062-thermal.o
|
|
obj-y += intel/
|
|
obj-$(CONFIG_TI_SOC_THERMAL) += ti-soc-thermal/
|
|
obj-y += st/
|
|
obj-$(CONFIG_QCOM_TSENS) += qcom/
|
|
obj-y += tegra/
|
|
obj-$(CONFIG_HISI_THERMAL) += hisi_thermal.o
|
|
obj-$(CONFIG_MTK_THERMAL) += mtk_thermal.o
|
|
obj-$(CONFIG_GENERIC_ADC_THERMAL) += thermal-generic-adc.o
|
|
obj-$(CONFIG_ZX2967_THERMAL) += zx2967_thermal.o
|
|
obj-$(CONFIG_UNIPHIER_THERMAL) += uniphier_thermal.o
|
|
obj-$(CONFIG_AMLOGIC_THERMAL) += amlogic_thermal.o
|