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@xxxxxxxxxx/ ? > 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