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