[PATCH v6 0/2] ACPI / cpufreq: CPPC: Add ospm_nominal_perf support

Sumit Gupta <[email protected]> Sat, 18 Jul 2026 03:23:28 +0530
Newsgroups dev.linux.lists.acpica-devel,org.kernel.vger.linux-acpi,org.kernel.vger.linux-kernel,org.kernel.vger.linux-pm,org.kernel.vger.linux-tegra
Message-ID <[email protected]>
This series adds support for the OSPM Nominal Performance register
(ACPI 6.6, Section 8.4.6.1.2.6) to the CPPC ACPI and cpufreq drivers.

Unlike the read-only Nominal Performance register, OSPM Nominal
Performance is writable and lets OSPM request a nominal level below
the platform-reported nominal. The platform treats performance above
this level as boost and below as throttle for its power and thermal
decisions.

Patch 1: adds the cppc_{get,set}_ospm_nominal_perf() helpers, a
per-policy cpufreq sysfs attribute (ospm_nominal_freq, in kHz), and
hooks the register into the OSPM-set save/restore table.

Patch 2: reflects the OSPM nominal in the cpufreq policy so that boost
and the frequency limits stay consistent with the register.

This series applies on top of the series
"cpufreq: CPPC: Preserve OSPM-set registers across hotplug and unload",
which provides the save/restore table that patch 1 hooks into:
https://lore.kernel.org/lkml/[email protected]/

v5[5] -> v6:
- New patch 2: reflect the OSPM nominal in the policy's boost state
  and frequency limits.
- Patch 1:
  - write only policy->cpu instead of looping over policy->cpus with
    rollback. the register is treated as shared across a policy's CPUs.
  - add the register to the OSPM-set save/restore table.

Sumit Gupta (2):
  ACPI: CPPC: Add ospm_nominal_perf support
  cpufreq: CPPC: Reflect ospm_nominal_perf in boost and limits

 .../ABI/testing/sysfs-devices-system-cpu      |  26 +++
 drivers/acpi/cppc_acpi.c                      |  32 ++++
 drivers/cpufreq/cppc_cpufreq.c                | 166 +++++++++++++++++-
 include/acpi/cppc_acpi.h                      |  10 ++
 4 files changed, 226 insertions(+), 8 deletions(-)

v5: https://lore.kernel.org/lkml/[email protected]/
v4: https://lore.kernel.org/lkml/[email protected]/
v3: https://lore.kernel.org/lkml/[email protected]/
v2: https://lore.kernel.org/lkml/[email protected]/
v1: https://lore.kernel.org/lkml/[email protected]/

-- 
2.34.1