diff options
author | Nathan Fontenot <nathan.fontenot@amd.com> | 2021-01-25 20:35:17 +0300 |
---|---|---|
committer | Shuah Khan <skhan@linuxfoundation.org> | 2021-01-26 19:40:26 +0300 |
commit | 23765b82a808da416b70b41d711468e723531e6a (patch) | |
tree | 49e0627de3f37cadf59a0fdbfdd776e1070c19d8 /tools/power/cpupower/utils/helpers/amd.c | |
parent | 1421de7919cd082bad692626937f055f367586ba (diff) | |
download | linux-23765b82a808da416b70b41d711468e723531e6a.tar.xz |
cpupower: Update family checks when decoding HW pstates
The family checks in get_cof() and get_did() need to use the
correct MSR format depending on the family. Add a cpupower
capability for using the pstatedef (family 17h and newer) to
control this instead of direct family checks.
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/amd.c')
-rw-r--r-- | tools/power/cpupower/utils/helpers/amd.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/tools/power/cpupower/utils/helpers/amd.c b/tools/power/cpupower/utils/helpers/amd.c index fc2ac1e6bfb2..b4731daa6820 100644 --- a/tools/power/cpupower/utils/helpers/amd.c +++ b/tools/power/cpupower/utils/helpers/amd.c @@ -45,10 +45,10 @@ static int get_did(int family, union core_pstate pstate) { int t; - if (family == 0x12) - t = pstate.val & 0xf; - else if (family == 0x17 || family == 0x18) + if (cpupower_cpu_info.caps & CPUPOWER_CAP_AMD_PSTATEDEF) t = pstate.pstatedef.did; + else if (family == 0x12) + t = pstate.val & 0xf; else t = pstate.pstate.did; @@ -61,7 +61,7 @@ static int get_cof(int family, union core_pstate pstate) int fid, did, cof; did = get_did(family, pstate); - if (family == 0x17 || family == 0x18) { + if (cpupower_cpu_info.caps & CPUPOWER_CAP_AMD_PSTATEDEF) { fid = pstate.pstatedef.fid; cof = 200 * fid / did; } else { |