Message ID | cover.1714032153.git.perry.yuan@amd.com |
---|---|
Headers | show |
Series | AMD Pstate Fixes And Enhancements | expand |
On Thu, Apr 25, 2024 at 10:08 AM Perry Yuan <perry.yuan@amd.com> 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@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/ > v11: https://lore.kernel.org/lkml/cover.1713858800.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(-) > > -- Whole series applied as 6.10 material, thanks!
[AMD Official Use Only - General] Hi Rafael, > -----Original Message----- > From: Rafael J. Wysocki <rafael@kernel.org> > Sent: Saturday, April 27, 2024 1:38 AM > To: Yuan, Perry <Perry.Yuan@amd.com> > Cc: rafael.j.wysocki@intel.com; Limonciello, Mario > <Mario.Limonciello@amd.com>; viresh.kumar@linaro.org; Shenoy, Gautham > Ranjal <gautham.shenoy@amd.com>; Petkov, Borislav > <Borislav.Petkov@amd.com>; Huang, Ray <Ray.Huang@amd.com>; Deucher, > Alexander <Alexander.Deucher@amd.com>; Huang, Shimmer > <Shimmer.Huang@amd.com>; oleksandr@natalenko.name; Du, Xiaojian > <Xiaojian.Du@amd.com>; Meng, Li (Jassmine) <Li.Meng@amd.com>; linux- > pm@vger.kernel.org; linux-kernel@vger.kernel.org > Subject: Re: [PATCH v12 0/8] AMD Pstate Fixes And Enhancements > > On Thu, Apr 25, 2024 at 10:08 AM Perry Yuan <perry.yuan@amd.com> > 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@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/ > > v11: > > https://lore.kernel.org/lkml/cover.1713858800.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(-) > > > > -- > > Whole series applied as 6.10 material, thanks! Thank you so much for merging the changes! Regards. Perry
On Mon, Apr 29, 2024 at 4:56 AM Yuan, Perry <Perry.Yuan@amd.com> wrote: > > [AMD Official Use Only - General] > > Hi Rafael, > > > > -----Original Message----- > > From: Rafael J. Wysocki <rafael@kernel.org> > > Sent: Saturday, April 27, 2024 1:38 AM > > To: Yuan, Perry <Perry.Yuan@amd.com> > > Cc: rafael.j.wysocki@intel.com; Limonciello, Mario > > <Mario.Limonciello@amd.com>; viresh.kumar@linaro.org; Shenoy, Gautham > > Ranjal <gautham.shenoy@amd.com>; Petkov, Borislav > > <Borislav.Petkov@amd.com>; Huang, Ray <Ray.Huang@amd.com>; Deucher, > > Alexander <Alexander.Deucher@amd.com>; Huang, Shimmer > > <Shimmer.Huang@amd.com>; oleksandr@natalenko.name; Du, Xiaojian > > <Xiaojian.Du@amd.com>; Meng, Li (Jassmine) <Li.Meng@amd.com>; linux- > > pm@vger.kernel.org; linux-kernel@vger.kernel.org > > Subject: Re: [PATCH v12 0/8] AMD Pstate Fixes And Enhancements > > > > On Thu, Apr 25, 2024 at 10:08 AM Perry Yuan <perry.yuan@amd.com> > > 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@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/ > > > v11: > > > https://lore.kernel.org/lkml/cover.1713858800.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(-) > > > > > > -- > > > > 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.
[AMD Official Use Only - General] Hi Rafael, > -----Original Message----- > From: Rafael J. Wysocki <rafael@kernel.org> > Sent: Tuesday, April 30, 2024 1:05 AM > To: Yuan, Perry <Perry.Yuan@amd.com> > Cc: Rafael J. Wysocki <rafael@kernel.org>; rafael.j.wysocki@intel.com; > Limonciello, Mario <Mario.Limonciello@amd.com>; viresh.kumar@linaro.org; > Shenoy, Gautham Ranjal <gautham.shenoy@amd.com>; Petkov, Borislav > <Borislav.Petkov@amd.com>; Huang, Ray <Ray.Huang@amd.com>; Deucher, > Alexander <Alexander.Deucher@amd.com>; Huang, Shimmer > <Shimmer.Huang@amd.com>; oleksandr@natalenko.name; Du, Xiaojian > <Xiaojian.Du@amd.com>; Meng, Li (Jassmine) <Li.Meng@amd.com>; linux- > pm@vger.kernel.org; linux-kernel@vger.kernel.org > Subject: Re: [PATCH v12 0/8] AMD Pstate Fixes And Enhancements > > On Mon, Apr 29, 2024 at 4:56 AM Yuan, Perry <Perry.Yuan@amd.com> > wrote: > > > > [AMD Official Use Only - General] > > > > Hi Rafael, > > > > > > > -----Original Message----- > > > From: Rafael J. Wysocki <rafael@kernel.org> > > > Sent: Saturday, April 27, 2024 1:38 AM > > > To: Yuan, Perry <Perry.Yuan@amd.com> > > > Cc: rafael.j.wysocki@intel.com; Limonciello, Mario > > > <Mario.Limonciello@amd.com>; viresh.kumar@linaro.org; Shenoy, > > > Gautham Ranjal <gautham.shenoy@amd.com>; Petkov, Borislav > > > <Borislav.Petkov@amd.com>; Huang, Ray <Ray.Huang@amd.com>; > Deucher, > > > Alexander <Alexander.Deucher@amd.com>; Huang, Shimmer > > > <Shimmer.Huang@amd.com>; oleksandr@natalenko.name; Du, Xiaojian > > > <Xiaojian.Du@amd.com>; Meng, Li (Jassmine) <Li.Meng@amd.com>; > linux- > > > pm@vger.kernel.org; linux-kernel@vger.kernel.org > > > Subject: Re: [PATCH v12 0/8] AMD Pstate Fixes And Enhancements > > > > > > On Thu, Apr 25, 2024 at 10:08 AM Perry Yuan <perry.yuan@amd.com> > > > 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@amd.co > > > > 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@amd.com/ https://lore.kernel.org/lkml/20240430074857.2069301-2-perry.yuan@amd.com/ Hi @Limonciello, Mario @Shenoy, Gautham Ranjal Please help to review and ack the patch for patches merging. Perry.
On 4/30/2024 02:55, Yuan, Perry wrote: > [AMD Official Use Only - General] > > Hi Rafael, > >> -----Original Message----- >> From: Rafael J. Wysocki <rafael@kernel.org> >> Sent: Tuesday, April 30, 2024 1:05 AM >> To: Yuan, Perry <Perry.Yuan@amd.com> >> Cc: Rafael J. Wysocki <rafael@kernel.org>; rafael.j.wysocki@intel.com; >> Limonciello, Mario <Mario.Limonciello@amd.com>; viresh.kumar@linaro.org; >> Shenoy, Gautham Ranjal <gautham.shenoy@amd.com>; Petkov, Borislav >> <Borislav.Petkov@amd.com>; Huang, Ray <Ray.Huang@amd.com>; Deucher, >> Alexander <Alexander.Deucher@amd.com>; Huang, Shimmer >> <Shimmer.Huang@amd.com>; oleksandr@natalenko.name; Du, Xiaojian >> <Xiaojian.Du@amd.com>; Meng, Li (Jassmine) <Li.Meng@amd.com>; linux- >> pm@vger.kernel.org; linux-kernel@vger.kernel.org >> Subject: Re: [PATCH v12 0/8] AMD Pstate Fixes And Enhancements >> >> On Mon, Apr 29, 2024 at 4:56 AM Yuan, Perry <Perry.Yuan@amd.com> >> wrote: >>> >>> [AMD Official Use Only - General] >>> >>> Hi Rafael, >>> >>> >>>> -----Original Message----- >>>> From: Rafael J. Wysocki <rafael@kernel.org> >>>> Sent: Saturday, April 27, 2024 1:38 AM >>>> To: Yuan, Perry <Perry.Yuan@amd.com> >>>> Cc: rafael.j.wysocki@intel.com; Limonciello, Mario >>>> <Mario.Limonciello@amd.com>; viresh.kumar@linaro.org; Shenoy, >>>> Gautham Ranjal <gautham.shenoy@amd.com>; Petkov, Borislav >>>> <Borislav.Petkov@amd.com>; Huang, Ray <Ray.Huang@amd.com>; >> Deucher, >>>> Alexander <Alexander.Deucher@amd.com>; Huang, Shimmer >>>> <Shimmer.Huang@amd.com>; oleksandr@natalenko.name; Du, Xiaojian >>>> <Xiaojian.Du@amd.com>; Meng, Li (Jassmine) <Li.Meng@amd.com>; >> linux- >>>> pm@vger.kernel.org; linux-kernel@vger.kernel.org >>>> Subject: Re: [PATCH v12 0/8] AMD Pstate Fixes And Enhancements >>>> >>>> On Thu, Apr 25, 2024 at 10:08 AM Perry Yuan <perry.yuan@amd.com> >>>> 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@amd.co >>>>> 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@amd.com/ > https://lore.kernel.org/lkml/20240430074857.2069301-2-perry.yuan@amd.com/ > > Hi @Limonciello, Mario @Shenoy, Gautham Ranjal > Please help to review and ack the patch for patches merging. > > Perry. They're simple and obviously correct and Rafael picked those two up already this morning it looks. Thanks!