ACPI: CPPC: Add CPPC v4 support (ACPI 6.6)
Status from this message: Applied as 7.2 material, thanks!
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v4 Latest2 patches 9 repliesApplied
- v32 patches 9 repliesSuperseded
- v22 patches 8 repliesSuperseded
Earlier versions · 1
| Version | Posted | Patches | Replies | Status |
|---|---|---|---|---|
| v1 | 2 patches | 7 replies | Superseded |
Patches in v4 Applied
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/2 | ACPI: CPPC: Add support for CPPC v4drivers/ include/ | +23 | 3 replies | |
| 2/2 | ACPI: CPPC: Add ospm_nominal_perf supportDocumentation/ drivers/ drivers/ +1 more | +124 | 6 replies |
Reviews trailers per patch
1 of 2 patches has a Reviewed-by or Acked-by.
| Patch | Mario Limonciello (AMD) | Pierre Gondois |
|---|---|---|
| 1/2 | R-b | R-b |
| 2/2 |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [PATCH v4 0/2] ACPI: CPPC: Add CPPC v4 support (ACPI 6.6)
Add initial kernel support for CPPC v4 (ACPI 6.6, Section 8.4.6), which extends the _CPC package from 23 to 25 entries with two optional fields:
- OSPM Nominal Performance (8.4.6.1.2.6): register used by OSPM to tell the platform what it considers nominal. The platform classifies performance above this as boost and below as throttle for power/thermal decisions.
- Resource Priority (8.4.6.1.2.7): Package of Resource Priority Register Descriptor sub-packages. Full parsing is not yet implemented; such entries are marked as unsupported.
Patch 1: Add v4 _CPC parsing - validate the 25-entry layout, restrict the Resource Priority package fallback to that slot only, and mark the two new registers optional.
Patch 2: Add per-policy sysfs attribute ospm_nominal_freq (kHz) under cpufreq. Writes are converted to perf and applied to every CPU in policy->cpus.
---
v3[3] -> v4:
- Patch 2:
- Add a bool cpu_data->ospm_nominal_perf_set to distinguish an unwritten cache from a valid perf=0 write.
- Switch freq_khz to unsigned int and use kstrtouint().
- Add rollback in store_ospm_nominal_freq() to restore the previous cached value on a partial multi-CPU write failure.
v2[2] -> v3:
- Patch 1:
- Accept ACPI_TYPE_PACKAGE only at RESOURCE_PRIORITY; abort otherwise.
- Added Reviewed-by from Pierre Gondois.
- Patch 2:
- Sysfs moved from per-CPU acpi_cppc to per-policy cpufreq.
- Read ospm_nominal_freq sysfs input in kHz and convert to perf.
- Cached ospm_nominal_perf moved from cpc_desc to cppc_cpudata.
- Validate input against [Lowest Performance, Nominal Performance] in cppc_set_ospm_nominal_perf().
- Dropped unconditional init in cppc_cpufreq_cpu_init().
- Remove to skip write if cache matches in cppc_set_ospm_nominal_perf.
- Early -ENODEV return when no CPC descriptor.
- Added ABI documentation at Documentation/ABI/testing/sysfs-devices-system-cpu.
v1[1] -> v2:
- Patch 1: Added Reviewed-by from Mario Limonciello.
- Patch 2:
- Make ospm_nominal_perf sysfs read-write; cache last write in cpc_desc and skip redundant register writes.
- Validate input in cppc_set_ospm_nominal_perf.
Sumit Gupta (2):
ACPI: CPPC: Add support for CPPC v4
ACPI: CPPC: Add ospm_nominal_perf support
.../ABI/testing/sysfs-devices-system-cpu | 17 ++++++ drivers/acpi/cppc_acpi.c | 58 ++++++++++++++++-- drivers/cpufreq/cppc_cpufreq.c | 60 +++++++++++++++++++ include/acpi/cppc_acpi.h | 20 ++++++- 4 files changed, 147 insertions(+), 8 deletions(-)
[1] https://lore.kernel.org/lkml/[email protected]/
[2] https://lore.kernel.org/lkml/[email protected]/
[3] https://lore.kernel.org/lkml/[email protected]/
Signature · 1 line
2.34.1