linux/include/acpi
Zhang Rui d9460fd227 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 <rui.zhang@intel.com>
Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
Signed-off-by: Thomas Sujith <sujith.thomas@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2008-02-01 23:18:19 -05:00
..
platform ACPICA: Changes for Cygwin compatibility 2007-07-03 01:55:36 -04:00
acconfig.h ACPICA: Update version to 20070126 2007-02-02 21:14:32 -05:00
acdebug.h ACPICA: Update copyright to 2007. 2007-02-02 21:14:31 -05:00
acdisasm.h ACPICA: Update copyright to 2007. 2007-02-02 21:14:31 -05:00
acdispat.h ACPICA: Lindent 2007-05-09 23:34:35 -04:00
acevents.h ACPICA: Update copyright to 2007. 2007-02-02 21:14:31 -05:00
acexcep.h ACPICA: Update copyright to 2007. 2007-02-02 21:14:31 -05:00
acglobal.h ACPICA: Lindent 2007-05-09 23:34:35 -04:00
achware.h ACPICA: hw: remove use_lock flag from acpi_hw_register_{read, write} 2007-10-10 01:00:26 -04:00
acinterp.h Revert "ACPICA: fix AML mutex re-entrancy" 2007-05-09 23:01:59 -04:00
aclocal.h ACPICA: Lindent 2007-05-09 23:34:35 -04:00
acmacros.h Pull misc into release branch 2007-07-22 02:27:40 -04:00
acnames.h ACPICA: Update copyright to 2007. 2007-02-02 21:14:31 -05:00
acnamesp.h ACPICA: Lindent 2007-05-09 23:34:35 -04:00
acobject.h ACPICA: Lindent 2007-05-09 23:34:35 -04:00
acopcode.h ACPICA: Update copyright to 2007. 2007-02-02 21:14:31 -05:00
acoutput.h ACPI: create CONFIG_ACPI_DEBUG_FUNC_TRACE 2007-07-22 02:20:07 -04:00
acparser.h ACPICA: Update copyright to 2007. 2007-02-02 21:14:31 -05:00
acpi_bus.h kobject: convert /sys/firmware/acpi/ to use kobject_create 2008-01-24 20:40:23 -08:00
acpi_drivers.h ACPI: CONFIG_ACPI_SLEEP=n power off regression in 2.6.23-rc8 (NOT in rc7) 2007-09-25 17:58:52 -04:00
acpi_numa.h x86_64: fake pxm-to-node mapping for fake numa 2007-07-21 18:37:10 -07:00
acpi.h ACPICA: Update copyright to 2007. 2007-02-02 21:14:31 -05:00
acpiosxf.h ACPI: add __init to acpi_initialize_subsystem() 2007-05-30 00:26:11 -04:00
acpixf.h ACPICA: hw: Don't carry spinlock over suspend 2007-10-10 01:00:39 -04:00
acresrc.h ACPICA: Update copyright to 2007. 2007-02-02 21:14:31 -05:00
acstruct.h ACPI: Fix a warning of discarding qualifiers from pointer target type 2007-08-25 01:38:40 -04:00
actables.h ACPICA: Update copyright to 2007. 2007-02-02 21:14:31 -05:00
actbl1.h Intel IOMMU: DMAR detection and parsing logic 2007-10-22 08:13:18 -07:00
actbl.h ACPI: Disable MSI on request of FADT 2007-04-25 01:13:47 -04:00
actypes.h ACPI: autoload modules - ACPICA modifications 2007-07-23 13:56:00 -04:00
acutils.h ACPI: autoload modules - ACPICA modifications 2007-07-23 13:56:00 -04:00
amlcode.h ACPICA: Update copyright to 2007. 2007-02-02 21:14:31 -05:00
amlresrc.h ACPICA: Update copyright to 2007. 2007-02-02 21:14:31 -05:00
container.h [ACPI] Lindent all ACPI files 2005-08-05 00:45:14 -04:00
pdc_intel.h ACPI: Processor native C-states using MWAIT 2006-10-14 00:35:39 -04:00
processor.h ACPI: register ACPI Processor as generic thermal cooling device 2008-02-01 23:18:19 -05:00
reboot.h x86: dummy placeholder for acpi/reboot.h 2008-01-30 13:31:17 +01:00