Message ID | 20210908150001.3702552-18-ray.huang@amd.com |
---|---|
State | New |
Headers | show |
Series | [01/19] x86/cpufreatures: add AMD CPPC extension feature flag | expand |
On 9/8/21 8:59 AM, Huang Rui wrote: > Frequency-info needs an interface to query the current amd-pstate data. > Let's add more information here. > Signed-off-by: Huang Rui <ray.huang@amd.com> > --- > tools/power/cpupower/lib/cpufreq.c | 6 ++++++ > tools/power/cpupower/lib/cpufreq.h | 13 +++++++++++++ > 2 files changed, 19 insertions(+) > > diff --git a/tools/power/cpupower/lib/cpufreq.c b/tools/power/cpupower/lib/cpufreq.c > index 37da87bdcfb1..1443080868da 100644 > --- a/tools/power/cpupower/lib/cpufreq.c > +++ b/tools/power/cpupower/lib/cpufreq.c > @@ -810,3 +810,9 @@ int amd_pstate_boost_enabled(unsigned int cpu) > > return cpuinfo_max == amd_pstate_max ? 1 : 0; > } > + > +unsigned amd_pstate_get_data(unsigned int cpu, enum amd_pstate_param param) > +{ > + return sysfs_cpufreq_get_one_value(cpu, > + param + AMD_PSTATE_HIGHEST_PERF); > +} > diff --git a/tools/power/cpupower/lib/cpufreq.h b/tools/power/cpupower/lib/cpufreq.h > index d54d02a7a4f4..954e72704fc0 100644 > --- a/tools/power/cpupower/lib/cpufreq.h > +++ b/tools/power/cpupower/lib/cpufreq.h > @@ -206,6 +206,19 @@ int cpufreq_set_frequency(unsigned int cpu, > int amd_pstate_boost_support(unsigned int cpu); > int amd_pstate_boost_enabled(unsigned int cpu); > > +enum amd_pstate_param { > + HIGHEST_PERF, > + NOMINAL_PERF, > + LOWEST_NONLINEAR_PERF, > + LOWEST_PERF, > + MAX_FREQ, > + NOMINAL_FREQ, > + LOWEST_NONLINEAR_FREQ, > + MIN_FREQ, > +}; > + > +unsigned amd_pstate_get_data(unsigned int cpu, enum amd_pstate_param param); > + > #ifdef __cplusplus > } > #endif > amd specific things added to common files? I would like to see this patch series redone to follow the existing common vs. vendor specific separation. thanks, -- Shuah
diff --git a/tools/power/cpupower/lib/cpufreq.c b/tools/power/cpupower/lib/cpufreq.c index 37da87bdcfb1..1443080868da 100644 --- a/tools/power/cpupower/lib/cpufreq.c +++ b/tools/power/cpupower/lib/cpufreq.c @@ -810,3 +810,9 @@ int amd_pstate_boost_enabled(unsigned int cpu) return cpuinfo_max == amd_pstate_max ? 1 : 0; } + +unsigned amd_pstate_get_data(unsigned int cpu, enum amd_pstate_param param) +{ + return sysfs_cpufreq_get_one_value(cpu, + param + AMD_PSTATE_HIGHEST_PERF); +} diff --git a/tools/power/cpupower/lib/cpufreq.h b/tools/power/cpupower/lib/cpufreq.h index d54d02a7a4f4..954e72704fc0 100644 --- a/tools/power/cpupower/lib/cpufreq.h +++ b/tools/power/cpupower/lib/cpufreq.h @@ -206,6 +206,19 @@ int cpufreq_set_frequency(unsigned int cpu, int amd_pstate_boost_support(unsigned int cpu); int amd_pstate_boost_enabled(unsigned int cpu); +enum amd_pstate_param { + HIGHEST_PERF, + NOMINAL_PERF, + LOWEST_NONLINEAR_PERF, + LOWEST_PERF, + MAX_FREQ, + NOMINAL_FREQ, + LOWEST_NONLINEAR_FREQ, + MIN_FREQ, +}; + +unsigned amd_pstate_get_data(unsigned int cpu, enum amd_pstate_param param); + #ifdef __cplusplus } #endif
Frequency-info needs an interface to query the current amd-pstate data. Signed-off-by: Huang Rui <ray.huang@amd.com> --- tools/power/cpupower/lib/cpufreq.c | 6 ++++++ tools/power/cpupower/lib/cpufreq.h | 13 +++++++++++++ 2 files changed, 19 insertions(+)