mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-02 10:23:55 +08:00
PowerCap: Introduce Intel RAPL power capping driver
The Intel Running Average Power Limit (RAPL) technology provides platform software with the ability to monitor, control, and get notifications on power usage. This feature is present in all Sandy Bridge and later Intel processors. Newer models allow more fine grained controls to be applied. In RAPL, power control is divided into domains, which include package, DRAM controller, CPU core (Power Plane 0), graphics uncore (power plane 1), etc. The purpose of this driver is to expose the RAPL settings to userspace. Overall, RAPL fits in the new powercap class driver in that platform level power capping controls are exposed via this generic interface. This driver is based on an earlier patch from Zhang Rui. However, while the previous work was mainly focused on thermal monitoring the focus here is on the usability from user space perspective. References: https://lkml.org/lkml/2011/5/26/93 Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> Signed-off-by: Jacob Pan <jacob.jun.pan@linux.intel.com> Reviewed-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
parent
bfd1ff6375
commit
2d281d8196
@ -15,5 +15,18 @@ menuconfig POWERCAP
|
||||
|
||||
if POWERCAP
|
||||
# Client driver configurations go here.
|
||||
config INTEL_RAPL
|
||||
tristate "Intel RAPL Support"
|
||||
depends on X86
|
||||
default n
|
||||
---help---
|
||||
This enables support for the Intel Running Average Power Limit (RAPL)
|
||||
technology which allows power limits to be enforced and monitored on
|
||||
modern Intel processors (Sandy Bridge and later).
|
||||
|
||||
In RAPL, the platform level settings are divided into domains for
|
||||
fine grained control. These domains include processor package, DRAM
|
||||
controller, CPU core (Power Plance 0), graphics uncore (Power Plane
|
||||
1), etc.
|
||||
|
||||
endif
|
||||
|
@ -1 +1,2 @@
|
||||
obj-$(CONFIG_POWERCAP) += powercap_sys.o
|
||||
obj-$(CONFIG_INTEL_RAPL) += intel_rapl.o
|
||||
|
1395
drivers/powercap/intel_rapl.c
Normal file
1395
drivers/powercap/intel_rapl.c
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user