[Bug 221621] Ryzen Threadripper - hwpstate0 - repeated set frequency failed err 6
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Sat Aug 19 06:42:44 UTC 2017
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=221621
Conrad Meyer <cem at freebsd.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Assignee|freebsd-bugs at FreeBSD.org |cem at freebsd.org
--- Comment #3 from Conrad Meyer <cem at freebsd.org> ---
Please try the following patch:
--- a/sys/x86/cpufreq/hwpstate.c
+++ b/sys/x86/cpufreq/hwpstate.c
@@ -83,6 +83,10 @@ __FBSDID("$FreeBSD$");
#define AMD_10H_11H_CUR_DID(msr) (((msr) >> 6) & 0x07)
#define AMD_10H_11H_CUR_FID(msr) ((msr) & 0x3F)
+#define AMD_17H_CUR_VID(msr) (((msr) >> 14) & 0xFF)
+#define AMD_17H_CUR_DID(msr) (((msr) >> 8) & 0x3F)
+#define AMD_17H_CUR_FID(msr) ((msr) & 0xFF)
+
#define HWPSTATE_DEBUG(dev, msg...) \
do{ \
if(hwpstate_verbose) \
@@ -427,6 +431,15 @@ hwpstate_get_info_from_msr(device_t dev)
case 0x16:
hwpstate_set[i].freq = (100 * (fid + 0x10)) >> did;
break;
+ case 0x17:
+ did = AMD_17H_CUR_DID(msr);
+ if (did == 0) {
+ HWPSTATE_DEBUG(dev, "unexpected did: 0\n");
+ did = 1;
+ }
+ fid = AMD_17H_CUR_FID(msr);
+ hwpstate_set[i].freq = (200 * fid) / did;
+ break;
default:
HWPSTATE_DEBUG(dev, "get_info_from_msr: AMD family"
" 0x%02x CPUs are not supported yet\n", family);
It is based on the Family 17h Reference manual and compiles, but obviously I am
unable to test it.
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-bugs
mailing list