RE: [PATCH v12 0/8] AMD Pstate Fixes And Enhancements

From: Yuan, Perry
Date: Tue Apr 30 2024 - 03:55:24 EST


[AMD Official Use Only - General]

Hi Rafael,

> -----Original Message-----
> From: Rafael J. Wysocki <rafael@xxxxxxxxxx>
> Sent: Tuesday, April 30, 2024 1:05 AM
> To: Yuan, Perry <Perry.Yuan@xxxxxxx>
> Cc: Rafael J. Wysocki <rafael@xxxxxxxxxx>; rafael.j.wysocki@xxxxxxxxx;
> Limonciello, Mario <Mario.Limonciello@xxxxxxx>; viresh.kumar@xxxxxxxxxx;
> Shenoy, Gautham Ranjal <gautham.shenoy@xxxxxxx>; Petkov, Borislav
> <Borislav.Petkov@xxxxxxx>; Huang, Ray <Ray.Huang@xxxxxxx>; Deucher,
> Alexander <Alexander.Deucher@xxxxxxx>; Huang, Shimmer
> <Shimmer.Huang@xxxxxxx>; oleksandr@xxxxxxxxxxxxxx; Du, Xiaojian
> <Xiaojian.Du@xxxxxxx>; Meng, Li (Jassmine) <Li.Meng@xxxxxxx>; linux-
> pm@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
> Subject: Re: [PATCH v12 0/8] AMD Pstate Fixes And Enhancements
>
> On Mon, Apr 29, 2024 at 4:56 AM Yuan, Perry <Perry.Yuan@xxxxxxx>
> wrote:
> >
> > [AMD Official Use Only - General]
> >
> > Hi Rafael,
> >
> >
> > > -----Original Message-----
> > > From: Rafael J. Wysocki <rafael@xxxxxxxxxx>
> > > Sent: Saturday, April 27, 2024 1:38 AM
> > > To: Yuan, Perry <Perry.Yuan@xxxxxxx>
> > > Cc: rafael.j.wysocki@xxxxxxxxx; Limonciello, Mario
> > > <Mario.Limonciello@xxxxxxx>; viresh.kumar@xxxxxxxxxx; Shenoy,
> > > Gautham Ranjal <gautham.shenoy@xxxxxxx>; Petkov, Borislav
> > > <Borislav.Petkov@xxxxxxx>; Huang, Ray <Ray.Huang@xxxxxxx>;
> Deucher,
> > > Alexander <Alexander.Deucher@xxxxxxx>; Huang, Shimmer
> > > <Shimmer.Huang@xxxxxxx>; oleksandr@xxxxxxxxxxxxxx; Du, Xiaojian
> > > <Xiaojian.Du@xxxxxxx>; Meng, Li (Jassmine) <Li.Meng@xxxxxxx>;
> linux-
> > > pm@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
> > > Subject: Re: [PATCH v12 0/8] AMD Pstate Fixes And Enhancements
> > >
> > > On Thu, Apr 25, 2024 at 10:08 AM Perry Yuan <perry.yuan@xxxxxxx>
> > > 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.
> > > >
> > > > Changes from v11:
> > > > * minmor change for patch 1 "perf" change to "performance"(Huang
> > > > ray)
> > > > * rebased to lastest linux-pm/bleeding-edge branch
> > > >
> > > > 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@mail
> > > > box.org/
> > > > V2:
> > > > https://lore.kernel.org/all/cover.1706863981.git.perry.yuan@xxxxxx
> > > > m/
> > > > v3:
> > > > https://lore.kernel.org/lkml/cover.1707016927.git.perry.yuan@amd.c
> > > > om/
> > > > v4:
> > > > https://lore.kernel.org/lkml/cover.1707193566.git.perry.yuan@amd.c
> > > > om/
> > > > v5:
> > > > https://lore.kernel.org/lkml/cover.1707273526.git.perry.yuan@amd.c
> > > > om/
> > > > v6:
> > > > https://lore.kernel.org/lkml/cover.1707363758.git.perry.yuan@amd.c
> > > > om/
> > > > v7:
> > > > https://lore.kernel.org/lkml/cover.1710323410.git.perry.yuan@amd.c
> > > > om/
> > > > v8:
> > > > https://lore.kernel.org/lkml/cover.1710754409.git.perry.yuan@amd.c
> > > > om/
> > > > v9:
> > > > https://lore.kernel.org/lkml/cover.1710836407.git.perry.yuan@amd.c
> > > > om/
> > > > v10:
> > > > https://lore.kernel.org/lkml/cover.1711335714.git.perry.yuan@amd.c
> > > > om/
> > > > v11:
> > > > https://lore.kernel.org/lkml/cover.1713858800.git.perry.yuan@amd.c
> > > > om/
> > > >
> > > >
> > > > 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(-)
> > > >
> > > > --
> > >
> > > Whole series applied as 6.10 material, thanks!
> >
> > Thank you so much for merging the changes!
>
> No problem.
>
> However, there are compiler warnings in the new material that need to be
> addressed before it goes into linux-next.
>
> I've seen your patch addressing some of them, but there is still an unused local
> variable to deal with.

Thanks for your reminder.
I have got that fixed with two patches.

https://lore.kernel.org/lkml/20240430074857.2069301-1-perry.yuan@xxxxxxx/
https://lore.kernel.org/lkml/20240430074857.2069301-2-perry.yuan@xxxxxxx/

Hi @Limonciello, Mario @Shenoy, Gautham Ranjal
Please help to review and ack the patch for patches merging.

Perry.