Skip to content

Commit

Permalink
cpupower: Don't try to read frequency from hardware when kernel uses …
Browse files Browse the repository at this point in the history
…aperfmperf

When the amd-pstate is in use frequency is set by the hardware and
measured by the kernel through using the aperf and mperf registers.

There is no direct call to the hardware to indicate current frequency.

Detect that this feature is in use and skip the check.

Link: https://lore.kernel.org/r/20241218191144.3440854-5-superm1@kernel.org
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
  • Loading branch information
Mario Limonciello authored and Shuah Khan committed Dec 20, 2024
1 parent 6d4a298 commit 26e1617
Showing 1 changed file with 6 additions and 1 deletion.
7 changes: 6 additions & 1 deletion tools/power/cpupower/utils/cpufreq-info.c
Original file line number Diff line number Diff line change
Expand Up @@ -254,7 +254,12 @@ static int get_freq_kernel(unsigned int cpu, unsigned int human)

static int get_freq_hardware(unsigned int cpu, unsigned int human)
{
unsigned long freq = cpufreq_get_freq_hardware(cpu);
unsigned long freq;

if (cpupower_cpu_info.caps & CPUPOWER_CAP_APERF)
return -EINVAL;

freq = cpufreq_get_freq_hardware(cpu);
printf(_(" current CPU frequency: "));
if (!freq) {
printf("Unable to call hardware\n");
Expand Down

0 comments on commit 26e1617

Please sign in to comment.