ACPI: Introduce CPU performance controls using CPPC
CPPC stands for Collaborative Processor Performance Controls and is defined in the ACPI v5.0+ spec. It describes CPU performance controls on an abstract and continuous scale allowing the platform (e.g. remote power processor) to flexibly optimize CPU performance with its knowledge of power budgets and other architecture specific knowledge. This patch adds a shim which exports commonly used functions to get and set CPPC specific controls for each CPU. This enables CPUFreq drivers to gather per CPU performance data and use with exisiting governors or even allows for customized governors which are implemented inside CPUFreq drivers. Signed-off-by: Ashwin Chaugule <ashwin.chaugule@linaro.org> Reviewed-by: Al Stone <al.stone@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:

committed by
Rafael J. Wysocki

vanhempi
25cb62b764
commit
337aadff8e
@@ -197,6 +197,20 @@ config ACPI_PROCESSOR_IDLE
|
||||
bool
|
||||
select CPU_IDLE
|
||||
|
||||
config ACPI_CPPC_LIB
|
||||
bool
|
||||
depends on ACPI_PROCESSOR
|
||||
depends on !ACPI_CPU_FREQ_PSS
|
||||
select MAILBOX
|
||||
select PCC
|
||||
help
|
||||
If this option is enabled, this file implements common functionality
|
||||
to parse CPPC tables as described in the ACPI 5.1+ spec. The
|
||||
routines implemented are meant to be used by other
|
||||
drivers to control CPU performance using CPPC semantics.
|
||||
If your platform does not support CPPC in firmware,
|
||||
leave this option disabled.
|
||||
|
||||
config ACPI_PROCESSOR
|
||||
tristate "Processor"
|
||||
depends on X86 || IA64
|
||||
|
Viittaa uudesa ongelmassa
Block a user