4658fe81b3
After commit3382388d71
("intel_rapl: abstract RAPL common code"), accessing to IOSF_MBI interface is done in the RAPL common code. Thus it is the CONFIG_INTEL_RAPL_CORE that has dependency of CONFIG_IOSF_MBI, while CONFIG_INTEL_RAPL_MSR does not. This problem was not exposed previously because all the previous RAPL common code users, aka, the RAPL MSR and MMIO I/F drivers, have CONFIG_IOSF_MBI selected. Fix the CONFIG_IOSF_MBI dependency in RAPL code. This also fixes a build time failure when the RAPL TPMI I/F driver is introduced without selecting CONFIG_IOSF_MBI. x86_64-linux-ld: vmlinux.o: in function `set_floor_freq_atom': intel_rapl_common.c:(.text+0x2dac9b8): undefined reference to `iosf_mbi_write' x86_64-linux-ld: intel_rapl_common.c:(.text+0x2daca66): undefined reference to `iosf_mbi_read' Reference to iosf_mbi.h is also removed from the RAPL MSR I/F driver. Fixes:3382388d71
("intel_rapl: abstract RAPL common code") Reported-by: Arnd Bergmann <arnd@arndb.de> Link: https://lore.kernel.org/all/20230601213246.3271412-1-arnd@kernel.org Signed-off-by: Zhang Rui <rui.zhang@intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
97 lines
3.0 KiB
Plaintext
97 lines
3.0 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
#
|
|
# Generic power capping sysfs interface configuration
|
|
#
|
|
|
|
menuconfig POWERCAP
|
|
bool "Generic powercap sysfs driver"
|
|
help
|
|
The power capping sysfs interface allows kernel subsystems to expose power
|
|
capping settings to user space in a consistent way. Usually, it consists
|
|
of multiple control types that determine which settings may be exposed and
|
|
power zones representing parts of the system that can be subject to power
|
|
capping.
|
|
|
|
If you want this code to be compiled in, say Y here.
|
|
|
|
if POWERCAP
|
|
# Client driver configurations go here.
|
|
config INTEL_RAPL_CORE
|
|
tristate
|
|
depends on PCI
|
|
select IOSF_MBI
|
|
|
|
config INTEL_RAPL
|
|
tristate "Intel RAPL Support via MSR Interface"
|
|
depends on X86 && PCI
|
|
select INTEL_RAPL_CORE
|
|
help
|
|
This enables support for the Intel Running Average Power Limit (RAPL)
|
|
technology via MSR interface, which allows power limits to be enforced
|
|
and monitored on modern Intel processors (Sandy Bridge and later).
|
|
|
|
In RAPL, the platform level settings are divided into domains for
|
|
fine grained control. These domains include processor package, DRAM
|
|
controller, CPU core (Power Plane 0), graphics uncore (Power Plane
|
|
1), etc.
|
|
|
|
config INTEL_RAPL_TPMI
|
|
tristate "Intel RAPL Support via TPMI Interface"
|
|
depends on X86
|
|
depends on INTEL_TPMI
|
|
select INTEL_RAPL_CORE
|
|
help
|
|
This enables support for the Intel Running Average Power Limit (RAPL)
|
|
technology via TPMI interface, which allows power limits to be enforced
|
|
and monitored.
|
|
|
|
In RAPL, the platform level settings are divided into domains for
|
|
fine grained control. These domains include processor package, DRAM
|
|
controller, platform, etc.
|
|
|
|
config IDLE_INJECT
|
|
bool "Idle injection framework"
|
|
depends on CPU_IDLE
|
|
default n
|
|
help
|
|
This enables support for the idle injection framework. It
|
|
provides a way to force idle periods on a set of specified
|
|
CPUs for power capping. Idle period can be injected
|
|
synchronously on a set of specified CPUs or alternatively
|
|
on a per CPU basis.
|
|
|
|
config ARM_SCMI_POWERCAP
|
|
tristate "ARM SCMI Powercap driver"
|
|
depends on ARM_SCMI_PROTOCOL
|
|
help
|
|
This enables support for the ARM Powercap based on ARM SCMI
|
|
Powercap protocol.
|
|
|
|
ARM SCMI Powercap protocol allows power limits to be enforced
|
|
and monitored against the SCMI Powercap domains advertised as
|
|
available by the SCMI platform firmware.
|
|
|
|
When compiled as module it will be called arm_scmi_powercap.ko.
|
|
|
|
config DTPM
|
|
bool "Power capping for Dynamic Thermal Power Management (EXPERIMENTAL)"
|
|
depends on OF
|
|
help
|
|
This enables support for the power capping for the dynamic
|
|
thermal power management userspace engine.
|
|
|
|
config DTPM_CPU
|
|
bool "Add CPU power capping based on the energy model"
|
|
depends on DTPM && ENERGY_MODEL
|
|
help
|
|
This enables support for CPU power limitation based on
|
|
energy model.
|
|
|
|
config DTPM_DEVFREQ
|
|
bool "Add device power capping based on the energy model"
|
|
depends on DTPM && ENERGY_MODEL
|
|
help
|
|
This enables support for device power limitation based on
|
|
energy model.
|
|
endif
|