Re: [Patch 0/5] Support Autonomous Selection mode in cppc_cpufreq

Viresh Kumar
2025-02-11T10:44:31Z

On 11-02-25, 16:07, Sumit Gupta wrote:
> This patchset supports the Autonomous Performance Level Selection mode
> in the cppc_cpufreq driver. The feature is part of the existing CPPC
> specification and already present in Intel and AMD specific pstate
> cpufreq drivers. The patchset adds the support in generic acpi cppc
> cpufreq driver.

Is there an overlap with:

https://lore.kernel.org/all/20250206131428.3261578-1-zhenglifeng1@huawei.com/

?

> It adds a new 'cppc_cpufreq_epp' instance of the 'cppc_cpufreq' driver
> for supporting the Autonomous Performance Level Selection and Energy
> Performance Preference (EPP).
> Autonomous selection will get enabled during boot if 'cppc_auto_sel'
> boot argument is passed or the 'Autonomous Selection Enable' register
> is already set before kernel boot. When enabled, the hardware is
> allowed to autonomously select the CPU frequency within the min and
> max perf boundaries using the Engergy Performance Preference hints.
> The EPP values range from '0x0'(performance preference) to '0xFF'
> (energy efficiency preference).
>
> It also exposes the acpi_cppc sysfs nodes to update the epp, auto_sel
> and {min|max_perf} registers for changing the hints to hardware for
> Autonomous selection.
>
> In a followup patch, plan to add support to dynamically switch the
> cpufreq driver instance from 'cppc_cpufreq_epp' to 'cppc_cpufreq' and
> vice-versa without reboot.
>
> The patches are divided into below groups:
> - Patch [1-2]: Improvements. Can be applied independently.
> - Patch [3-4]: sysfs store nodes for Auto mode. Depend on Patch [1-2].
> - Patch [5]: Support for 'cppc_cpufreq_epp'. Uses a macro from [3].
>
> Sumit Gupta (5):
> ACPI: CPPC: add read perf ctrls api and rename few existing
> ACPI: CPPC: expand macro to create store acpi_cppc sysfs node
> ACPI: CPPC: support updating epp, auto_sel and {min|max_perf} from
> sysfs
> Documentation: ACPI: add autonomous mode ctrls info in cppc_sysfs.txt
> cpufreq: CPPC: Add cppc_cpufreq_epp instance for Autonomous mode
>
> Documentation/admin-guide/acpi/cppc_sysfs.rst | 28 ++
> .../admin-guide/kernel-parameters.txt | 11 +
> drivers/acpi/cppc_acpi.c | 311 ++++++++++++++++--
> drivers/cpufreq/cppc_cpufreq.c | 260 ++++++++++++++-
> include/acpi/cppc_acpi.h | 19 +-
> 5 files changed, 572 insertions(+), 57 deletions(-)

--
viresh