ACPI: Introduce CPU performance controls using CPPC
authorAshwin Chaugule <ashwin.chaugule@linaro.org>
Fri, 2 Oct 2015 14:01:19 +0000 (10:01 -0400)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 12 Oct 2015 20:49:55 +0000 (22:49 +0200)
commit337aadff8e4567e39669e07d9a88b789d78458b5
tree98f6e0e6d83f061ef776540ff7bfa4d224b2405d
parent25cb62b76430a91cc6195f902e61c2cb84ade622
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>
drivers/acpi/Kconfig
drivers/acpi/Makefile
drivers/acpi/cppc_acpi.c [new file with mode: 0644]
include/acpi/cppc_acpi.h [new file with mode: 0644]