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