^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) # SPDX-License-Identifier: GPL-2.0-only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) # Generic power capping sysfs interface configuration
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) menuconfig POWERCAP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) bool "Generic powercap sysfs driver"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) The power capping sysfs interface allows kernel subsystems to expose power
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) capping settings to user space in a consistent way. Usually, it consists
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) of multiple control types that determine which settings may be exposed and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) power zones representing parts of the system that can be subject to power
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) capping.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) If you want this code to be compiled in, say Y here.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) if POWERCAP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) # Client driver configurations go here.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) config INTEL_RAPL_CORE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) tristate
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) config INTEL_RAPL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) tristate "Intel RAPL Support via MSR Interface"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) depends on X86 && IOSF_MBI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) select INTEL_RAPL_CORE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) This enables support for the Intel Running Average Power Limit (RAPL)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) technology via MSR interface, which allows power limits to be enforced
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) and monitored on modern Intel processors (Sandy Bridge and later).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) In RAPL, the platform level settings are divided into domains for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) fine grained control. These domains include processor package, DRAM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) controller, CPU core (Power Plane 0), graphics uncore (Power Plane
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) 1), etc.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) config IDLE_INJECT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) bool "Idle injection framework"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) depends on CPU_IDLE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) default n
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) This enables support for the idle injection framework. It
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) provides a way to force idle periods on a set of specified
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) CPUs for power capping. Idle period can be injected
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) synchronously on a set of specified CPUs or alternatively
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) on a per CPU basis.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) config DTPM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) bool "Power capping for Dynamic Thermal Power Management (EXPERIMENTAL)"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) This enables support for the power capping for the dynamic
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) thermal power management userspace engine.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) config DTPM_CPU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) bool "Add CPU power capping based on the energy model"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) depends on DTPM && ENERGY_MODEL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) This enables support for CPU power limitation based on
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) energy model.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) endif