On 4/4/19 4:25 PM, Natarajan, Janakarajan wrote: > CPPC (Collaborative Processor Performance Control) offers optional > registers which can be used to tune the system based on energy and/or > performance requirements. > > Newer AMD processors add support for a subset of these optional CPPC > registers, based on ACPI v6.1. > > The following are the supported CPPC registers for which sysfs entries > are created: > * enable (NEW) > * max_perf (NEW) > * min_perf (NEW) > * energy_perf > * lowest_perf > * nominal_perf > * desired_perf (NEW) > * feedback_ctrs > * auto_sel_enable (NEW) > * lowest_nonlinear_perf > > The CPPC driver is updated to enable the OSPM and the userspace to > access > the newly supported registers. > > The purpose of exposing the registers via the sysfs entries is to allow > the userspace to: > * Tweak the values to fit its workload. > * Apply a profile from AMD's optimization guides. > > Profiles will be documented in the performance/optimization guides. > > Note: > * AMD systems will not have a policy applied in the kernel at this time. > * By default, acpi_cpufreq will still be used. > > TODO: > * Create a linux userspace tool that will help users generate a CPPC > * profile > for their target workload. > * Create or update a driver to apply a general CPPC policy in the > * kernel. > > v1->v2: > * Add macro to ensure BUFFER only registers have BUFFER type. > * Add support macro to make the right check based on register type. > * Remove support checks for registers which are mandatory. Are there any concerns regarding this patchset? Thanks. > > Janakarajan Natarajan (2): > acpi/cppc: Add macro for CPPC register BUFFER only check > acpi/cppc: Ensure only supported CPPC sysfs entries are created > > Yazen Ghannam (5): > acpi/cppc: Modify show_cppc_data macro > acpi/cppc: Rework cppc_set_perf() to use cppc_regs index > acpi/cppc: Add macros to define a R/W sysfs entry for CPPC registers > acpi/cppc: Add support for optional CPPC registers > acpi/cppc: Add support for CPPC Enable register > > drivers/acpi/cppc_acpi.c | 402 +++++++++++++++++++++++++++++---- > drivers/cpufreq/cppc_cpufreq.c | 6 +- > include/acpi/cppc_acpi.h | 6 +- > 3 files changed, 372 insertions(+), 42 deletions(-) >