summaryrefslogtreecommitdiff
path: root/tools/power/cpupower/utils/helpers/cpuid.c
diff options
context:
space:
mode:
authorNathan Fontenot <nathan.fontenot@amd.com>2021-01-25 11:36:23 -0600
committerShuah Khan <skhan@linuxfoundation.org>2021-01-26 09:40:45 -0700
commit3a3ecfdb605cc8d98988012a4f88c34b4d220c21 (patch)
tree68b8c913e8b546b932342d362193ff9b6f2ca032 /tools/power/cpupower/utils/helpers/cpuid.c
parentd1abc4e996d7784ce4d56749e4b5ca8ff23b1e0f (diff)
cpupower: Add cpuid cap flag for MSR_AMD_HWCR support
Remove the family check for accessing the MSR_AMD_HWCR MSR and replace it with a cpupower cap flag. This update also allows for the removal of the local cpupower_cpu_info variable in cpufreq_has_boost_support() since we no longer need it to check the family. Signed-off-by: Nathan Fontenot <nathan.fontenot@amd.com> Reviewed-by: Robert Richter <rrichter@amd.com> Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
Diffstat (limited to 'tools/power/cpupower/utils/helpers/cpuid.c')
-rw-r--r--tools/power/cpupower/utils/helpers/cpuid.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/tools/power/cpupower/utils/helpers/cpuid.c b/tools/power/cpupower/utils/helpers/cpuid.c
index db2e88ceb67b..72eb43593180 100644
--- a/tools/power/cpupower/utils/helpers/cpuid.c
+++ b/tools/power/cpupower/utils/helpers/cpuid.c
@@ -129,9 +129,13 @@ out:
if (cpu_info->vendor == X86_VENDOR_AMD ||
cpu_info->vendor == X86_VENDOR_HYGON) {
if (ext_cpuid_level >= 0x80000007) {
- if (cpuid_edx(0x80000007) & (1 << 9))
+ if (cpuid_edx(0x80000007) & (1 << 9)) {
cpu_info->caps |= CPUPOWER_CAP_AMD_CPB;
+ if (cpu_info->family >= 0x17)
+ cpu_info->caps |= CPUPOWER_CAP_AMD_CPB_MSR;
+ }
+
if ((cpuid_edx(0x80000007) & (1 << 7)) &&
cpu_info->family != 0x14) {
/* HW pstate was not implemented in family 0x14 */