[Bug 234657] AMD Opteron X3000 series CPU temperature sensor support
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Sun Jan 6 19:18:17 UTC 2019
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=234657
Conrad Meyer <cem at freebsd.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|Open |In Progress
Version|11.2-STABLE |CURRENT
Assignee|bugs at FreeBSD.org |cem at freebsd.org
CC|cem at freebsd.org |
--- Comment #1 from Conrad Meyer <cem at freebsd.org> ---
I think I understand where the device=0x1573 guess is coming from. Family 15h
Model 60h BKDG documents 0x1573 as the deviceid for PCI D18F3. On the earlier
Model *00h*, which we currently support, the PCI D18F3 device register 0xa4 is
the Reported Temperature.
However, on Model *60h*, Reported Temperature lives in a different register,
"D0F0xBC_xD820_0CA4" (page 238 of the relevant BKDG below). So I suspect
0x1573 is wrong.
https://www.amd.com/system/files/TechDocs/50742_15h_Models_60h-6Fh_BKDG.pdf
D0F0 (PCI Root complex) on 60h has the vendor:device id 0x1022:0x1576.
It seems like Family 15h Model 60h also requires indirect SMU / SMN access (p.
233), like on Family 17h:
> D0F0xB8 SMU Index Address
> The index/data pair registers, D0F0xB8 and D0F0xBC, are used to access the registers at
> D0F0xBC_x[FFFF_FFFF:0000_0000]. To access any of these registers, the address is first written into the
> index register, D0F0xB8, and then the data is read from or written to the data register, D0F0xBC.
0xB8 is the 32-bit register NbSmuIndAddr.
0xBC is the 32-bit register NbSmuIndData.
So we must indirectly access the index "0xD820_0CA4" to read the temperature on
15h, model 60h.
I'm going to do a quick spot check of other 15h BKDGs to see what other models
specify.
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-bugs
mailing list