[PATCH v8 0/7] Enhanced autonomous selection and improvements

Sumit Gupta posted 7 patches 13 hours ago
.../ABI/testing/sysfs-devices-system-cpu      |  18 ++
drivers/acpi/cppc_acpi.c                      | 170 +++++++++++++++++-
drivers/cpufreq/cppc_cpufreq.c                |  83 ++++++++-
include/acpi/cppc_acpi.h                      |  20 +++
4 files changed, 285 insertions(+), 6 deletions(-)
[PATCH v8 0/7] Enhanced autonomous selection and improvements
Posted by Sumit Gupta 13 hours ago
This patch series improves the CPPC cpufreq driver with new ACPI APIs
and enhancements for Autonomous Selection (auto_select).

CPPC auto_select enables hardware-driven CPU performance scaling using
Energy Performance Preference (EPP) hints. Currently, there's limited
runtime control and visibility into CPPC performance registers.

The series adds cppc_get_perf() API to read performance controls, updates
MIN_PERF/MAX_PERF in target callbacks using existing scaling_min/max_freq
interface similar to intel_cpufreq HWP handling, and exposes perf_limited
register via sysfs to detect throttling events.

The patches are grouped as below:
- Patch 1: Add cppc_get_perf() API (independent).
- Patch 2: Warn on missing mandatory DESIRED_PERF (independent).
- Patch 3: Extend cppc_set_epp_perf for FFH/SystemMemory (independent).
- Patch 4: Update cached perf_ctrls on sysfs write (independent).
- Patch 5: Update MIN_PERF/MAX_PERF in target callbacks (depends on 4).
- Patch 6-7: APIs, sysfs and doc for perf_limited (independent).

---
v7[7] -> v8:
- patch 4 (v7): Dropped min/max_perf sysfs patch.
- patch 5 (v8): New patch to update MIN/MAX_PERF in target callbacks
  using scaling_min/max_freq interface similar to intel_cpufreq.
- patch 1-4, 6-7 (v8): Added Reviewed-by from Pierre and Lifeng on v7.

Sumit Gupta (7):
  ACPI: CPPC: Add cppc_get_perf() API to read performance controls
  ACPI: CPPC: Warn on missing mandatory DESIRED_PERF register
  ACPI: CPPC: Extend cppc_set_epp_perf() for FFH/SystemMemory
  cpufreq: CPPC: Update cached perf_ctrls on sysfs write
  cpufreq: cppc: Update MIN_PERF/MAX_PERF in target callbacks
  ACPI: CPPC: add APIs and sysfs interface for perf_limited
  cpufreq: CPPC: Add sysfs documentation for perf_limited

 .../ABI/testing/sysfs-devices-system-cpu      |  18 ++
 drivers/acpi/cppc_acpi.c                      | 170 +++++++++++++++++-
 drivers/cpufreq/cppc_cpufreq.c                |  83 ++++++++-
 include/acpi/cppc_acpi.h                      |  20 +++
 4 files changed, 285 insertions(+), 6 deletions(-)

[1] https://lore.kernel.org/lkml/20250211103737.447704-1-sumitg@nvidia.com/
[2] https://lore.kernel.org/lkml/20250823200121.1320197-1-sumitg@nvidia.com/
[3] https://lore.kernel.org/lkml/20251001150104.1275188-1-sumitg@nvidia.com/
[4] https://lore.kernel.org/lkml/20251105113844.4086250-1-sumitg@nvidia.com/
[5] https://lore.kernel.org/lkml/20251223121307.711773-1-sumitg@nvidia.com/
[6] https://lore.kernel.org/lkml/20260120145623.2959636-1-sumitg@nvidia.com/
[7] https://lore.kernel.org/lkml/20260129104817.3752340-1-sumitg@nvidia.com/

-- 
2.34.1