Merge tag 'staging-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh...
[linux-2.6-block.git] / drivers / powercap / Kconfig
CommitLineData
ec8f24b7 1# SPDX-License-Identifier: GPL-2.0-only
75d2364e
SP
2#
3# Generic power capping sysfs interface configuration
4#
5
6menuconfig POWERCAP
7 bool "Generic powercap sysfs driver"
8 help
9 The power capping sysfs interface allows kernel subsystems to expose power
10 capping settings to user space in a consistent way. Usually, it consists
11 of multiple control types that determine which settings may be exposed and
12 power zones representing parts of the system that can be subject to power
13 capping.
14
15 If you want this code to be compiled in, say Y here.
16
17if POWERCAP
18# Client driver configurations go here.
3382388d
ZR
19config INTEL_RAPL_CORE
20 tristate
4658fe81
ZR
21 depends on PCI
22 select IOSF_MBI
3382388d 23
2d281d81 24config INTEL_RAPL
3382388d 25 tristate "Intel RAPL Support via MSR Interface"
4658fe81 26 depends on X86 && PCI
3382388d 27 select INTEL_RAPL_CORE
a7f7f624 28 help
2d281d81 29 This enables support for the Intel Running Average Power Limit (RAPL)
3382388d
ZR
30 technology via MSR interface, which allows power limits to be enforced
31 and monitored on modern Intel processors (Sandy Bridge and later).
2d281d81
JP
32
33 In RAPL, the platform level settings are divided into domains for
34 fine grained control. These domains include processor package, DRAM
f8fee6e6 35 controller, CPU core (Power Plane 0), graphics uncore (Power Plane
2d281d81 36 1), etc.
75d2364e 37
9eef7f9d
ZR
38config INTEL_RAPL_TPMI
39 tristate "Intel RAPL Support via TPMI Interface"
40 depends on X86
41 depends on INTEL_TPMI
42 select INTEL_RAPL_CORE
43 help
44 This enables support for the Intel Running Average Power Limit (RAPL)
45 technology via TPMI interface, which allows power limits to be enforced
46 and monitored.
47
48 In RAPL, the platform level settings are divided into domains for
49 fine grained control. These domains include processor package, DRAM
50 controller, platform, etc.
51
88763a5c
DL
52config IDLE_INJECT
53 bool "Idle injection framework"
54 depends on CPU_IDLE
55 default n
56 help
57 This enables support for the idle injection framework. It
58 provides a way to force idle periods on a set of specified
59 CPUs for power capping. Idle period can be injected
60 synchronously on a set of specified CPUs or alternatively
61 on a per CPU basis.
a20d0ef9 62
b55eef52
CM
63config ARM_SCMI_POWERCAP
64 tristate "ARM SCMI Powercap driver"
65 depends on ARM_SCMI_PROTOCOL
66 help
67 This enables support for the ARM Powercap based on ARM SCMI
68 Powercap protocol.
69
70 ARM SCMI Powercap protocol allows power limits to be enforced
71 and monitored against the SCMI Powercap domains advertised as
72 available by the SCMI platform firmware.
73
74 When compiled as module it will be called arm_scmi_powercap.ko.
75
a20d0ef9 76config DTPM
9e2be308 77 bool "Power capping for Dynamic Thermal Power Management (EXPERIMENTAL)"
3759ec67 78 depends on OF
a20d0ef9
DL
79 help
80 This enables support for the power capping for the dynamic
81 thermal power management userspace engine.
0e8f68d7
DL
82
83config DTPM_CPU
84 bool "Add CPU power capping based on the energy model"
85 depends on DTPM && ENERGY_MODEL
86 help
87 This enables support for CPU power limitation based on
88 energy model.
e4465561
DL
89
90config DTPM_DEVFREQ
91 bool "Add device power capping based on the energy model"
92 depends on DTPM && ENERGY_MODEL
93 help
94 This enables support for device power limitation based on
95 energy model.
75d2364e 96endif