[PATCH v5 07/11] cpufreq: CPPC: Add sysfs for min/max_perf and perf_limited

Sumit Gupta
2025-12-23T12:14:51Z

Add sysfs interfaces for Minimum Performance, Maximum Performance
and Performance Limited Register in the cppc_cpufreq driver.

Reviewed-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Sumit Gupta <sumitg@nvidia.com>
---
.../ABI/testing/sysfs-devices-system-cpu | 42 +++++++++++++++++++
1 file changed, 42 insertions(+)

diff --git a/Documentation/ABI/testing/sysfs-devices-system-cpu b/Documentation/ABI/testing/sysfs-devices-system-cpu
index 3a05604c21bf..b022cbf46adc 100644
--- a/Documentation/ABI/testing/sysfs-devices-system-cpu
+++ b/Documentation/ABI/testing/sysfs-devices-system-cpu
@@ -327,6 +327,48 @@ Description: Energy performance preference

This file is only present if the cppc-cpufreq driver is in use.

+What: /sys/devices/system/cpu/cpuX/cpufreq/min_perf
+Date: February 2026
+Contact: linux-pm@vger.kernel.org
+Description: Minimum Performance Frequency
+
+ Read/write a frequency value in kHz from/to this file. This
+ file sets the minimum performance level (as frequency) at
+ which the platform may run. The frequency value is internally
+ converted to a performance value and must be in the range
+ [cpuinfo_min_freq, cpuinfo_max_freq], inclusive.
+
+ This file is only present if the cppc-cpufreq driver is in use.
+
+What: /sys/devices/system/cpu/cpuX/cpufreq/max_perf
+Date: February 2026
+Contact: linux-pm@vger.kernel.org
+Description: Maximum Performance Frequency
+
+ Read/write a frequency value in kHz from/to this file. This
+ file sets the maximum performance level (as frequency) at
+ which the platform may run. The frequency value is internally
+ converted to a performance value and must be in the range
+ [cpuinfo_min_freq, cpuinfo_max_freq], inclusive.
+
+ This file is only present if the cppc-cpufreq driver is in use.
+
+What: /sys/devices/system/cpu/cpuX/cpufreq/perf_limited
+Date: February 2026
+Contact: linux-pm@vger.kernel.org
+Description: Performance Limited
+
+ Read to check if platform throttling (thermal/power/current
+ limits) caused delivered performance to fall below the
+ requested level. A non-zero value indicates throttling occurred.
+
+ Write the bitmask of bits to clear:
+ 1 = clear bit 0 (desired performance excursion)
+ 2 = clear bit 1 (minimum performance excursion)
+ 3 = clear both bits
+ The platform sets these bits; OSPM can only clear them.
+
+ This file is only present if the cppc-cpufreq driver is in use.

What: /sys/devices/system/cpu/cpu*/cache/index3/cache_disable_{0,1}
Date: August 2008
--
2.34.1