Message ID | cover.1713858800.git.perry.yuan@amd.com (mailing list archive) |
---|---|
Headers | show |
Series | AMD Pstate Fixes And Enhancements | expand |
On Tue, Apr 23, 2024 at 03:58:16PM +0800, Yuan, Perry wrote: > The patch series adds some fixes and enhancements to the AMD pstate > driver. > > It enables CPPC v2 for certain processors in the family 17H, as > requested by TR40 processor users who expect improved performance and lower system > temperature. > > changes latency and delay values to be read from platform firmware > firstly > for more accurate timing. > > A new quirk is introduced for supporting amd-pstate on legacy processors which either lack CPPC capability, > or only only have CPPC v2 capability > > Testing done with one APU system while cpb boost on: > > amd_pstate_lowest_nonlinear_freq:1701000 > amd_pstate_max_freq:3501000 > cpuinfo_max_freq:3501000 > cpuinfo_min_freq:400000 > scaling_cur_freq:3084836 > scaling_max_freq:3501000 > scaling_min_freq:400000 > > analyzing CPU 6: > driver: amd-pstate-epp > CPUs which run at the same hardware frequency: 6 > CPUs which need to have their frequency coordinated by software: 6 > maximum transition latency: Cannot determine or is not supported. > hardware limits: 400 MHz - 3.50 GHz > available cpufreq governors: performance powersave > current policy: frequency should be within 400 MHz and 3.50 GHz. > The governor "powersave" may decide which speed to use > within this range. > current CPU frequency: Unable to call hardware > current CPU frequency: 3.50 GHz (asserted by call to kernel) > boost state support: > Supported: yes > Active: yes > AMD PSTATE Highest Performance: 255. Maximum Frequency: 3.50 GHz. > AMD PSTATE Nominal Performance: 204. Nominal Frequency: 2.80 GHz. > AMD PSTATE Lowest Non-linear Performance: 124. Lowest Non-linear Frequency: 1.70 GHz. > AMD PSTATE Lowest Performance: 30. Lowest Frequency: 400 MHz. > > > I would greatly appreciate any feedbacks. > Thank you! > Perry. > These series look good for me, thanks! Only a minor comment in patch 1, I would prefer not to use short case in the comment. Acked-by: Huang Rui <ray.huang@amd.com> > Changes from v10: > * pick ack-by flags from huang ray for all patches. > * run testing on AMD Ryzen 5 7640U without regression issue. > > Changes from v9: > * pick review by flag from Meng Li > * pick test by flag from Ugwekar Dhananjay > * picl review by flag from Gautham R. Shenoy > > Changes from v8: > * add commit log for patch 1 and patch 2 (Rafael) > * add missing Perry signed-off-by for new patches #1,#2,#4 (Rafael) > * rebased to latest linux-pm/bleeding-edge > > Changes from v7: > * Gautham helped to invole some new improved patches into the patchset. > * Adds comments for cpudata->{min,max}_limit_{perf,freq}, variables [New Patch]. > * Clarifies that the units for cpudata->*_freq is in khz via comments [New Patch]. > * Implements the unified computation of all cpudata->*_freq > * v7 Patch 2/6 was dropped which is not needed any more > * moved the quirk check to the amd_pstate_get_freq() function > * pick up RB flags from Gautham > * After the cleanup in patch 3, we don't need the helpers > amd_get_{min,max,nominal,lowest_nonlinear}_freq(). This > patch removes it [New Patch]. > * testing done on APU system as well, no regression found. > > Changes from v6: > * add one new patch to initialize capabilities in > amd_pstate_init_perf which can avoid duplicate cppc capabilities read > the change has been tested on APU system. > * pick up RB flags from Gautham > * drop the patch 1/6 which has been merged by Rafael > > Changes from v5: > * rebased to linux-pm v6.8 > * pick up RB flag from for patch 6(Mario) > > Changes from v4: > * improve the dmi matching rule with zen2 flag only > > Changes from v3: > * change quirk matching broken BIOS with family/model ID and Zen2 > flag to fix the CPPC definition issue > * fix typo in quirk > > Changes from v2: > * change quirk matching to BIOS version and release (Mario) > * pick up RB flag from Mario > > Changes from v1: > * pick up the RB flags from Mario > * address review comment of patch #6 for amd_get_nominal_freq() > * rebased the series to linux-pm/bleeding-edge v6.8.0-rc2 > * update debug log for patch #5 as Mario suggested. > * fix some typos and format problems > * tested on 7950X platform > > > V1: https://lore.kernel.org/lkml/63c2b3d7-083a-4daa-ba40-629b3223a92d@mailbox.org/ > V2: https://lore.kernel.org/all/cover.1706863981.git.perry.yuan@amd.com/ > v3: https://lore.kernel.org/lkml/cover.1707016927.git.perry.yuan@amd.com/ > v4: https://lore.kernel.org/lkml/cover.1707193566.git.perry.yuan@amd.com/ > v5: https://lore.kernel.org/lkml/cover.1707273526.git.perry.yuan@amd.com/ > v6: https://lore.kernel.org/lkml/cover.1707363758.git.perry.yuan@amd.com/ > v7: https://lore.kernel.org/lkml/cover.1710323410.git.perry.yuan@amd.com/ > v8: https://lore.kernel.org/lkml/cover.1710754409.git.perry.yuan@amd.com/ > v9: https://lore.kernel.org/lkml/cover.1710836407.git.perry.yuan@amd.com/ > v10: https://lore.kernel.org/lkml/cover.1711335714.git.perry.yuan@amd.com/ > > Gautham R. Shenoy (3): > cpufreq: amd-pstate: Document *_limit_* fields in struct amd_cpudata > cpufreq: amd-pstate: Document the units for freq variables in > amd_cpudata > cpufreq: amd-pstate: Remove > amd_get_{min,max,nominal,lowest_nonlinear}_freq() > > Perry Yuan (5): > cpufreq: amd-pstate: Unify computation of > {max,min,nominal,lowest_nonlinear}_freq > cpufreq: amd-pstate: Bail out if min/max/nominal_freq is 0 > cpufreq: amd-pstate: get transition delay and latency value from ACPI > tables > cppc_acpi: print error message if CPPC is unsupported > cpufreq: amd-pstate: Add quirk for the pstate CPPC capabilities > missing > > drivers/acpi/cppc_acpi.c | 4 +- > drivers/cpufreq/amd-pstate.c | 257 +++++++++++++++++++++-------------- > include/linux/amd-pstate.h | 20 ++- > 3 files changed, 174 insertions(+), 107 deletions(-) > > -- > 2.34.1 >