[PATCH RESEND v6 0/9] cpupower: Add AMD P-State Support

From: Huang Rui
Date: Wed Feb 16 2022 - 02:37:33 EST


Hi Shuah,

Since AMD P-State kernel is merged into 5.17-rc1, I would like to continue
revising the AMD P-State support for the CPUPower tool. These series are
rebased on latest bleeding-edge, any comments are warm for me.

See patch series of CPUPower in below git repo:
V1: https://git.kernel.org/pub/scm/linux/kernel/git/rui/linux.git/log/?h=amd-pstate-dev-v1
V2: https://git.kernel.org/pub/scm/linux/kernel/git/rui/linux.git/log/?h=amd-pstate-dev-v2
V3: https://git.kernel.org/pub/scm/linux/kernel/git/rui/linux.git/log/?h=amd-pstate-dev-v3
V4: https://git.kernel.org/pub/scm/linux/kernel/git/rui/linux.git/log/?h=amd-pstate-dev-v4
V5: https://git.kernel.org/pub/scm/linux/kernel/git/rui/linux.git/log/?h=amd-pstate-dev-v5
V6: https://git.kernel.org/pub/scm/linux/kernel/git/rui/linux.git/log/?h=cpupower-amd-pstate

Changes from V1 -> V2:
- Refine the commit log for cpupower patches.
- Expose a function to get the sysfs value from specific table.
- Move AMD P-State sysfs definitions and functions into AMD helper file.
- Move the boost init function into AMD helper file and explain the
details in the commit log.
- Remove the amd_pstate_get_data in the lib/cpufreq.c to keep the lib as
common operations.
- Move print_speed function into misc helper file.
- Add amd_pstate_show_perf_and_freq() function in AMD helper for
cpufreq-info print.

Changes from V2 -> V3:
- Revise the cpupower_amd_pstate_enabled() function to use
cpufreq_get_driver helper instead of read sysfs.
- Clean up the AMD P-State max/min frequency APIs, because they are
actually the same with cpufreq info sysfs.

Changes from V3 -> V4:
- Introduce ACPI CPPC library support.
- Clean up the duplicated AMD specific perf/frequency.

Changes from V4 -> V5:
- Fix the table check condition at cpufreq_get_sysfs_value_from_table.

Changes from V5 -> V6:
- Revise the minor commit and subject descriptions.

Thanks,
Ray

Huang Rui (9):
cpupower: Add AMD P-State capability flag
cpupower: Add the function to check AMD P-State enabled
cpupower: Initial AMD P-State capability
cpupower: Add the function to get the sysfs value from specific table
cpupower: Introduce ACPI CPPC library
cpupower: Add AMD P-State sysfs definition and access helper
cpupower: Enable boost state support for AMD P-State module
cpupower: Move print_speed function into misc helper
cpupower: Print AMD P-State information on cpupower

tools/power/cpupower/Makefile | 6 +-
tools/power/cpupower/lib/acpi_cppc.c | 59 +++++++++++++++
tools/power/cpupower/lib/acpi_cppc.h | 21 ++++++
tools/power/cpupower/lib/cpufreq.c | 21 ++++--
tools/power/cpupower/lib/cpufreq.h | 12 +++
tools/power/cpupower/utils/cpufreq-info.c | 68 +++++------------
tools/power/cpupower/utils/helpers/amd.c | 77 ++++++++++++++++++++
tools/power/cpupower/utils/helpers/cpuid.c | 13 ++++
tools/power/cpupower/utils/helpers/helpers.h | 22 ++++++
tools/power/cpupower/utils/helpers/misc.c | 62 ++++++++++++++++
10 files changed, 301 insertions(+), 60 deletions(-)
create mode 100644 tools/power/cpupower/lib/acpi_cppc.c
create mode 100644 tools/power/cpupower/lib/acpi_cppc.h

--
2.25.1