This patch series enhances the ACPI CPPC CPUFREQ driver with
comprehensive support for autonomous selection, expanded runtime
control interfaces and improved API naming.
It adds support for below:
- Expose sysfs to read/write the Mininum/Maximum Performance Register
and update the policy min/max accordingly.
/sys/.../cpufreq/policy*/min_perf and max_perf
- Expose sysfs to read/write the Performance Limited Register.
/sys/.../cpufreq/policy*/perf_limited
- When toggling autonomous selection, synchronize the policy limits
by updating the policy min/max.
- System-wide autonomous mode configuration via 'auto_sel_mode' boot
parameter. Mode can be switched dynamically on individual CPUs.
- Rename APIs to improve the inconsistent naming for clarity.
The patches are grouped as below:
- Patch 1: Improvement for clarity. Can be applied independently.
- Patch 2: Extend existing APIs. Can be applied independently.
- Patch 3: Sysfs to update min/max_perf. Can be applied independently.
- Patch 4: Sysfs to update perf_limited. Can be applied independently.
- Patch 5: Update policy min/max on auto_select. Depends on 'Patch 3'.
- Patch 6: add syfs documentation. Depends on 'Patch 3 and 4'.
- Patch 7: Boot Parameter Support. Depends on 'Patch 3 and 5'.
---
v1[1] -> v2:
- Move CPC register set sysfs from acpi_cppc to cpufreq directory.
- No sysfs to set auto_sel and epp. They were merged from diff series.
- Remove 'cppc_cpufreq_epp' instance of the 'cppc_cpufreq' driver.
- Synchronize perf_min/max with policy min/max.
- Update policy min/max Toggling auto_select.
- add sysfs to update the perf_limited register.
Sumit Gupta (7):
ACPI: CPPC: add perf control read API and clarify naming
ACPI: CPPC: extend APIs to support auto_sel and epp
ACPI: CPPC: add APIs and sysfs interface for min/max_perf
ACPI: CPPC: add APIs and sysfs interface for perf_limited register
cpufreq: CPPC: update policy min/max when toggling auto_select
cpufreq: CPPC: Add sysfs for min/max_perf and perf_limited
cpufreq: CPPC: add autonomous mode boot parameter support
.../ABI/testing/sysfs-devices-system-cpu | 43 ++
.../admin-guide/kernel-parameters.txt | 12 +
drivers/acpi/cppc_acpi.c | 208 ++++++++-
drivers/cpufreq/amd-pstate.c | 2 +-
drivers/cpufreq/cppc_cpufreq.c | 400 +++++++++++++++++-
include/acpi/cppc_acpi.h | 51 ++-
6 files changed, 668 insertions(+), 48 deletions(-)
[1] https://lore.kernel.org/lkml/20250211103737.447704-1-sumitg@nvidia.com/
--
2.34.1