[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