xref: /OK3568_Linux_fs/kernel/drivers/powercap/Kconfig (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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