xref: /linux/drivers/powercap/Kconfig (revision cdd5b5a9761fd66d17586e4f4ba6588c70e640ea)
1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
275d2364eSSrinivas Pandruvada#
375d2364eSSrinivas Pandruvada# Generic power capping sysfs interface configuration
475d2364eSSrinivas Pandruvada#
575d2364eSSrinivas Pandruvada
675d2364eSSrinivas Pandruvadamenuconfig POWERCAP
775d2364eSSrinivas Pandruvada	bool "Generic powercap sysfs driver"
875d2364eSSrinivas Pandruvada	help
975d2364eSSrinivas Pandruvada	  The power capping sysfs interface allows kernel subsystems to expose power
1075d2364eSSrinivas Pandruvada	  capping settings to user space in a consistent way.  Usually, it consists
1175d2364eSSrinivas Pandruvada	  of multiple control types that determine which settings may be exposed and
1275d2364eSSrinivas Pandruvada	  power zones representing parts of the system that can be subject to power
1375d2364eSSrinivas Pandruvada	  capping.
1475d2364eSSrinivas Pandruvada
1575d2364eSSrinivas Pandruvada	  If you want this code to be compiled in, say Y here.
1675d2364eSSrinivas Pandruvada
1775d2364eSSrinivas Pandruvadaif POWERCAP
1875d2364eSSrinivas Pandruvada# Client driver configurations go here.
193382388dSZhang Ruiconfig INTEL_RAPL_CORE
203382388dSZhang Rui	tristate
21*4658fe81SZhang Rui	depends on PCI
22*4658fe81SZhang Rui	select IOSF_MBI
233382388dSZhang Rui
242d281d81SJacob Panconfig INTEL_RAPL
253382388dSZhang Rui	tristate "Intel RAPL Support via MSR Interface"
26*4658fe81SZhang Rui	depends on X86 && PCI
273382388dSZhang Rui	select INTEL_RAPL_CORE
28a7f7f624SMasahiro Yamada	help
292d281d81SJacob Pan	  This enables support for the Intel Running Average Power Limit (RAPL)
303382388dSZhang Rui	  technology via MSR interface, which allows power limits to be enforced
313382388dSZhang Rui	  and monitored on modern Intel processors (Sandy Bridge and later).
322d281d81SJacob Pan
332d281d81SJacob Pan	  In RAPL, the platform level settings are divided into domains for
342d281d81SJacob Pan	  fine grained control. These domains include processor package, DRAM
35f8fee6e6SHubert Jasudowicz	  controller, CPU core (Power Plane 0), graphics uncore (Power Plane
362d281d81SJacob Pan	  1), etc.
3775d2364eSSrinivas Pandruvada
389eef7f9dSZhang Ruiconfig INTEL_RAPL_TPMI
399eef7f9dSZhang Rui	tristate "Intel RAPL Support via TPMI Interface"
409eef7f9dSZhang Rui	depends on X86
419eef7f9dSZhang Rui	depends on INTEL_TPMI
429eef7f9dSZhang Rui	select INTEL_RAPL_CORE
439eef7f9dSZhang Rui	help
449eef7f9dSZhang Rui	  This enables support for the Intel Running Average Power Limit (RAPL)
459eef7f9dSZhang Rui	  technology via TPMI interface, which allows power limits to be enforced
469eef7f9dSZhang Rui	  and monitored.
479eef7f9dSZhang Rui
489eef7f9dSZhang Rui	  In RAPL, the platform level settings are divided into domains for
499eef7f9dSZhang Rui	  fine grained control. These domains include processor package, DRAM
509eef7f9dSZhang Rui	  controller, platform, etc.
519eef7f9dSZhang Rui
5288763a5cSDaniel Lezcanoconfig IDLE_INJECT
5388763a5cSDaniel Lezcano	bool "Idle injection framework"
5488763a5cSDaniel Lezcano	depends on CPU_IDLE
5588763a5cSDaniel Lezcano	default n
5688763a5cSDaniel Lezcano	help
5788763a5cSDaniel Lezcano	  This enables support for the idle injection framework. It
5888763a5cSDaniel Lezcano	  provides a way to force idle periods on a set of specified
5988763a5cSDaniel Lezcano	  CPUs for power capping. Idle period can be injected
6088763a5cSDaniel Lezcano	  synchronously on a set of specified CPUs or alternatively
6188763a5cSDaniel Lezcano	  on a per CPU basis.
62a20d0ef9SDaniel Lezcano
63b55eef52SCristian Marussiconfig ARM_SCMI_POWERCAP
64b55eef52SCristian Marussi	tristate "ARM SCMI Powercap driver"
65b55eef52SCristian Marussi	depends on ARM_SCMI_PROTOCOL
66b55eef52SCristian Marussi	help
67b55eef52SCristian Marussi	  This enables support for the ARM Powercap based on ARM SCMI
68b55eef52SCristian Marussi	  Powercap protocol.
69b55eef52SCristian Marussi
70b55eef52SCristian Marussi	  ARM SCMI Powercap protocol allows power limits to be enforced
71b55eef52SCristian Marussi	  and monitored against the SCMI Powercap domains advertised as
72b55eef52SCristian Marussi	  available by the SCMI platform firmware.
73b55eef52SCristian Marussi
74b55eef52SCristian Marussi	  When compiled as module it will be called arm_scmi_powercap.ko.
75b55eef52SCristian Marussi
76a20d0ef9SDaniel Lezcanoconfig DTPM
779e2be308SDaniel Lezcano	bool "Power capping for Dynamic Thermal Power Management (EXPERIMENTAL)"
783759ec67SDaniel Lezcano	depends on OF
79a20d0ef9SDaniel Lezcano	help
80a20d0ef9SDaniel Lezcano	  This enables support for the power capping for the dynamic
81a20d0ef9SDaniel Lezcano	  thermal power management userspace engine.
820e8f68d7SDaniel Lezcano
830e8f68d7SDaniel Lezcanoconfig DTPM_CPU
840e8f68d7SDaniel Lezcano	bool "Add CPU power capping based on the energy model"
850e8f68d7SDaniel Lezcano	depends on DTPM && ENERGY_MODEL
860e8f68d7SDaniel Lezcano	help
870e8f68d7SDaniel Lezcano	  This enables support for CPU power limitation based on
880e8f68d7SDaniel Lezcano	  energy model.
89e4465561SDaniel Lezcano
90e4465561SDaniel Lezcanoconfig DTPM_DEVFREQ
91e4465561SDaniel Lezcano	bool "Add device power capping based on the energy model"
92e4465561SDaniel Lezcano	depends on DTPM && ENERGY_MODEL
93e4465561SDaniel Lezcano	help
94e4465561SDaniel Lezcano	  This enables support for device power limitation based on
95e4465561SDaniel Lezcano	  energy model.
9675d2364eSSrinivas Pandruvadaendif
97