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

"Rafael J. Wysocki (Intel)" <[email protected]> Mon, 27 Jul 2026 15:27:42 +0200
Newsgroups org.kernel.vger.linux-tegra,org.kernel.vger.linux-acpi,org.kernel.vger.linux-kernel,org.kernel.vger.linux-pm
Message-ID <CAJZ5v0jdF+PYjxTqUSp_oJiCcPR4UUrQdBPt0K3f08BLRB4L4g@mail.gmail.com>
On Fri, Jul 17, 2026 at 11:54 PM Sumit Gupta <[email protected]> wrote:
>
> 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.

Christian, Pierre, any chance to have a look at this, please?

> 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]/