]> Git Repo - linux.git/commit
ACPI: register ACPI Processor as generic thermal cooling device
authorZhang Rui <[email protected]>
Thu, 17 Jan 2008 07:51:23 +0000 (15:51 +0800)
committerLen Brown <[email protected]>
Sat, 2 Feb 2008 04:18:19 +0000 (23:18 -0500)
commitd9460fd227ed2ce52941b6a12ad4de05c195f6aa
tree1fb877cf41c8599e0fc9c1fbf902b88baba60708
parent05a83d972293f39a66bc2aa409a5e7996bba585d
ACPI: register ACPI Processor as generic thermal cooling device

Register ACPI processor as thermal cooling devices.
A combination of processor T-state and P-state are used for thermal throttling.
the processor will reduce the frequency first and then set the T-state.

we use cpufreq_thermal_reduction_pctg to calculate the cpufreq limit,
and call cpufreq_verify_with_limit to set the cpufreq limit.
if cpufreq driver is loaded, then we have four cooling state for cpufreq control.
cooling state 0: cpufreq limit == max_freq
cooling state 1: cpufreq limit == max_freq * 80%
cooling state 2: cpufreq limit == max_freq * 60%
cooling state 3: cpufreq limit == max_freq * 40%

after the cpufreq limit is set to 40 percentage of the max_freq,
we use T-state for cooling.

eg. a processor has P-state support, and it has 8 T-state (T0-T7),
the max_state of the proceesor is 10:

state cpufreq-limit  T-state
0: max_freq T0
1: max_freq * 80% T0
2: max_freq * 60% T0
3: max_freq * 40% T0
4: max_freq * 40% T1
5: max_freq * 40% T2
6: max_freq * 40% T3
7: max_freq * 40% T4
8: max_freq * 40% T5
9: max_freq * 40% T6
10: max_freq * 40% T7

Signed-off-by: Zhang Rui <[email protected]>
Signed-off-by: Zhao Yakui <[email protected]>
Signed-off-by: Thomas Sujith <[email protected]>
Signed-off-by: Len Brown <[email protected]>
drivers/acpi/processor_core.c
drivers/acpi/processor_thermal.c
include/acpi/processor.h
This page took 0.056508 seconds and 4 git commands to generate.