xref: /linux-6.15/drivers/powercap/Kconfig (revision 9eef7f9d)
1# SPDX-License-Identifier: GPL-2.0-only
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.
19config INTEL_RAPL_CORE
20	tristate
21
22config INTEL_RAPL
23	tristate "Intel RAPL Support via MSR Interface"
24	depends on X86 && IOSF_MBI
25	select INTEL_RAPL_CORE
26	help
27	  This enables support for the Intel Running Average Power Limit (RAPL)
28	  technology via MSR interface, which allows power limits to be enforced
29	  and monitored on modern Intel processors (Sandy Bridge and later).
30
31	  In RAPL, the platform level settings are divided into domains for
32	  fine grained control. These domains include processor package, DRAM
33	  controller, CPU core (Power Plane 0), graphics uncore (Power Plane
34	  1), etc.
35
36config INTEL_RAPL_TPMI
37	tristate "Intel RAPL Support via TPMI Interface"
38	depends on X86
39	depends on INTEL_TPMI
40	select INTEL_RAPL_CORE
41	help
42	  This enables support for the Intel Running Average Power Limit (RAPL)
43	  technology via TPMI interface, which allows power limits to be enforced
44	  and monitored.
45
46	  In RAPL, the platform level settings are divided into domains for
47	  fine grained control. These domains include processor package, DRAM
48	  controller, platform, etc.
49
50config IDLE_INJECT
51	bool "Idle injection framework"
52	depends on CPU_IDLE
53	default n
54	help
55	  This enables support for the idle injection framework. It
56	  provides a way to force idle periods on a set of specified
57	  CPUs for power capping. Idle period can be injected
58	  synchronously on a set of specified CPUs or alternatively
59	  on a per CPU basis.
60
61config ARM_SCMI_POWERCAP
62	tristate "ARM SCMI Powercap driver"
63	depends on ARM_SCMI_PROTOCOL
64	help
65	  This enables support for the ARM Powercap based on ARM SCMI
66	  Powercap protocol.
67
68	  ARM SCMI Powercap protocol allows power limits to be enforced
69	  and monitored against the SCMI Powercap domains advertised as
70	  available by the SCMI platform firmware.
71
72	  When compiled as module it will be called arm_scmi_powercap.ko.
73
74config DTPM
75	bool "Power capping for Dynamic Thermal Power Management (EXPERIMENTAL)"
76	depends on OF
77	help
78	  This enables support for the power capping for the dynamic
79	  thermal power management userspace engine.
80
81config DTPM_CPU
82	bool "Add CPU power capping based on the energy model"
83	depends on DTPM && ENERGY_MODEL
84	help
85	  This enables support for CPU power limitation based on
86	  energy model.
87
88config DTPM_DEVFREQ
89	bool "Add device power capping based on the energy model"
90	depends on DTPM && ENERGY_MODEL
91	help
92	  This enables support for device power limitation based on
93	  energy model.
94endif
95