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

Sumit Gupta <[email protected]>
Newsgroups org.kernel.vger.linux-tegra,dev.linux.lists.acpica-devel,org.kernel.vger.linux-acpi,org.kernel.vger.linux-kernel,org.kernel.vger.linux-pm
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.