[CPUFREQ] Processor Clocking Control interface driver
authorNaga Chumbalkar <nagananda.chumbalkar@hp.com>
Thu, 17 Dec 2009 20:18:27 +0000 (20:18 +0000)
committerDave Jones <davej@redhat.com>
Wed, 13 Jan 2010 15:55:16 +0000 (10:55 -0500)
commit0f1d683fb35d6c6f49ef696c95757f3970682a0e
tree098c4510540881debdd6113e62be00f8b503ce8f
parent1dbf58881f307e21a3df4b990a5bea401360d02e
[CPUFREQ] Processor Clocking Control interface driver

Processor Clocking Control (PCC) is an interface between the BIOS and OSPM.
Based on the server workload, OSPM can request what frequency it expects
from a logical CPU, and the BIOS will achieve that frequency transparently.

This patch introduces driver support for PCC. OSPM uses the PCC driver to
communicate with the BIOS via the PCC interface.

There is a Documentation file that provides a link to the PCC
Specification, and also provides a summary of the PCC interface.

Currently, certain HP ProLiant platforms implement the PCC interface. However,
any platform whose BIOS implements the PCC Specification, can utilize this
driver.

V2 --> V1 changes (based on Dominik's suggestions):
- Removed the dependency on CPU_FREQ_TABLE
- "cpufreq_stats" will no longer PANIC. Actually, it will not load anymore
because it is not applicable.
- Removed the sanity check for target frequency in the ->target routine.

NOTE: A patch to sanitize the target frequency requested by "ondemand" is
needed to ensure that the target freq < policy->min.

Can this driver be queued up for the 2.6.33 tree?

Signed-off-by: Naga Chumbalkar <nagananda.chumbalkar@hp.com>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
Signed-off-by: Thomas Renninger <trenn@suse.de>
Signed-off-by: Dave Jones <davej@redhat.com>
Documentation/cpu-freq/pcc-cpufreq.txt [new file with mode: 0644]
arch/x86/kernel/cpu/cpufreq/Kconfig
arch/x86/kernel/cpu/cpufreq/Makefile
arch/x86/kernel/cpu/cpufreq/pcc-cpufreq.c [new file with mode: 0644]
drivers/acpi/processor_core.c