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