[PATCH v2 0/9] cpufreq/amd-pstate: BIOS min perf fixes and Dynamic EPP rework

K Prateek Nayak posted 9 patches 1 day, 1 hour ago
Documentation/admin-guide/pm/amd-pstate.rst |  46 ++--
drivers/cpufreq/amd-pstate-ut.c             | 128 +++++++++--
drivers/cpufreq/amd-pstate.c                | 240 ++++++++++----------
drivers/cpufreq/amd-pstate.h                |   9 +
4 files changed, 253 insertions(+), 170 deletions(-)
[PATCH v2 0/9] cpufreq/amd-pstate: BIOS min perf fixes and Dynamic EPP rework
Posted by K Prateek Nayak 1 day, 1 hour ago
This is essentially a combined v2 of the following series:

  https://lore.kernel.org/lkml/20260715074822.16324-1-kprateek.nayak@amd.com/
  https://lore.kernel.org/lkml/20260630185904.5602-1-kprateek.nayak@amd.com/

The first two patches fix BIOS min perf setting and its persistence
across kexec. The next set of patches rework the Dynamic EPP feature
into an energy_performance_preference mode.

Unit tests are extended to cover the new dynamic_epp mode and also the
floor perf (CPPC Performance Priority) feature for completeness.

Patches are based on:

  git.kernel.org/pub/scm/linux/kernel/git/superm1/linux.git bleeding-edge

at commit 39c0cf62fc78 ("cpufreq/amd-pstate: handle missing policy in
dynamic EPP callbacks")

Everyone has been Cc'd on the cover letter. Respective maintainers have
been Cc'd on the relevant patches to reduce noise. Lists get the full
series.

---
Changelog rfc v1..v2:

o Simplified bios_min_perf handover during kexec by removing the
  defensive check (Mario).

o Removed the amd_dynamic_epp kernel cmdline and the dynamic_epp sysfs
  file as they are now redundant.

o Updated the documentation.

o Updated unit test to account for dynamic_epp removal.

o Added unit test for floor frequency. (Kalpana)

Individual patches have breief changelogs attached. Reviews and testing
is highly appreciated.
-- 
K Prateek Nayak (9):
  cpufreq/amd-pstate: Set min_limit_freq based on bios_min_perf
  cpufreq/amd-pstate: Remove the defensive check for bios_min_perf
  cpufreq/amd-pstate: Extract platform profile to EPP conversion into a
    helper
  cpufreq/amd-pstate: Add dynamic EPP as an
    "energy_performance_preference" mode
  cpufreq/amd-pstate: Remove "amd_dynamic_epp" cmdline and "dynamic_epp"
    sysfs
  Documentation/amd-pstate: Update dynamic_epp documentation with new
    behavior
  cpufreq/amd-pstate: Reduce the scope of exported symbols
  cpufreq/amd-pstate-ut: Add unit test for "dynamic" EPP mode
  cpufreq/amd-pstate-ut: Add unit test for CPPC Performance Priority

 Documentation/admin-guide/pm/amd-pstate.rst |  46 ++--
 drivers/cpufreq/amd-pstate-ut.c             | 128 +++++++++--
 drivers/cpufreq/amd-pstate.c                | 240 ++++++++++----------
 drivers/cpufreq/amd-pstate.h                |   9 +
 4 files changed, 253 insertions(+), 170 deletions(-)


base-commit: 39c0cf62fc7851a17782e7efe8dfb2948739c681
-- 
2.34.1
Re: [PATCH v2 0/9] cpufreq/amd-pstate: BIOS min perf fixes and Dynamic EPP rework
Posted by Mario Limonciello 2 hours ago

On 7/23/26 15:12, K Prateek Nayak wrote:
> This is essentially a combined v2 of the following series:
> 
>    https://lore.kernel.org/lkml/20260715074822.16324-1-kprateek.nayak@amd.com/
>    https://lore.kernel.org/lkml/20260630185904.5602-1-kprateek.nayak@amd.com/
> 
> The first two patches fix BIOS min perf setting and its persistence
> across kexec. The next set of patches rework the Dynamic EPP feature
> into an energy_performance_preference mode.
> 
> Unit tests are extended to cover the new dynamic_epp mode and also the
> floor perf (CPPC Performance Priority) feature for completeness.
> 
> Patches are based on:
> 
>    git.kernel.org/pub/scm/linux/kernel/git/superm1/linux.git bleeding-edge
> 
> at commit 39c0cf62fc78 ("cpufreq/amd-pstate: handle missing policy in
> dynamic EPP callbacks")
> 
> Everyone has been Cc'd on the cover letter. Respective maintainers have
> been Cc'd on the relevant patches to reduce noise. Lists get the full
> series.
> 
> ---
> Changelog rfc v1..v2:
> 
> o Simplified bios_min_perf handover during kexec by removing the
>    defensive check (Mario).
> 
> o Removed the amd_dynamic_epp kernel cmdline and the dynamic_epp sysfs
>    file as they are now redundant.
> 
> o Updated the documentation.
> 
> o Updated unit test to account for dynamic_epp removal.
> 
> o Added unit test for floor frequency. (Kalpana)
> 
> Individual patches have breief changelogs attached. Reviews and testing
> is highly appreciated.

Can you take a look at the Sashiko feedback?  Especially on patch 1, I 
think another safe guard makes sense.

https://sashiko.dev/#/patchset/20260723201228.22584-1-kprateek.nayak%40amd.com