18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 28c2ecf20Sopenharmony_ci# 38c2ecf20Sopenharmony_ci# Generic power capping sysfs interface configuration 48c2ecf20Sopenharmony_ci# 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_cimenuconfig POWERCAP 78c2ecf20Sopenharmony_ci bool "Generic powercap sysfs driver" 88c2ecf20Sopenharmony_ci help 98c2ecf20Sopenharmony_ci The power capping sysfs interface allows kernel subsystems to expose power 108c2ecf20Sopenharmony_ci capping settings to user space in a consistent way. Usually, it consists 118c2ecf20Sopenharmony_ci of multiple control types that determine which settings may be exposed and 128c2ecf20Sopenharmony_ci power zones representing parts of the system that can be subject to power 138c2ecf20Sopenharmony_ci capping. 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ci If you want this code to be compiled in, say Y here. 168c2ecf20Sopenharmony_ci 178c2ecf20Sopenharmony_ciif POWERCAP 188c2ecf20Sopenharmony_ci# Client driver configurations go here. 198c2ecf20Sopenharmony_ciconfig INTEL_RAPL_CORE 208c2ecf20Sopenharmony_ci tristate 218c2ecf20Sopenharmony_ci depends on PCI 228c2ecf20Sopenharmony_ci select IOSF_MBI 238c2ecf20Sopenharmony_ci 248c2ecf20Sopenharmony_ciconfig INTEL_RAPL 258c2ecf20Sopenharmony_ci tristate "Intel RAPL Support via MSR Interface" 268c2ecf20Sopenharmony_ci depends on X86 && PCI 278c2ecf20Sopenharmony_ci select INTEL_RAPL_CORE 288c2ecf20Sopenharmony_ci help 298c2ecf20Sopenharmony_ci This enables support for the Intel Running Average Power Limit (RAPL) 308c2ecf20Sopenharmony_ci technology via MSR interface, which allows power limits to be enforced 318c2ecf20Sopenharmony_ci and monitored on modern Intel processors (Sandy Bridge and later). 328c2ecf20Sopenharmony_ci 338c2ecf20Sopenharmony_ci In RAPL, the platform level settings are divided into domains for 348c2ecf20Sopenharmony_ci fine grained control. These domains include processor package, DRAM 358c2ecf20Sopenharmony_ci controller, CPU core (Power Plane 0), graphics uncore (Power Plane 368c2ecf20Sopenharmony_ci 1), etc. 378c2ecf20Sopenharmony_ci 388c2ecf20Sopenharmony_ciconfig IDLE_INJECT 398c2ecf20Sopenharmony_ci bool "Idle injection framework" 408c2ecf20Sopenharmony_ci depends on CPU_IDLE 418c2ecf20Sopenharmony_ci default n 428c2ecf20Sopenharmony_ci help 438c2ecf20Sopenharmony_ci This enables support for the idle injection framework. It 448c2ecf20Sopenharmony_ci provides a way to force idle periods on a set of specified 458c2ecf20Sopenharmony_ci CPUs for power capping. Idle period can be injected 468c2ecf20Sopenharmony_ci synchronously on a set of specified CPUs or alternatively 478c2ecf20Sopenharmony_ci on a per CPU basis. 488c2ecf20Sopenharmony_ciendif 49