Linux k10temp Support Pending For AMD Ryzen 3000 Series Processors
Patches are now queued into the Linux kernel's hwmon subsystem staging area that allow the AMD "k10temp" driver to support the Ryzen 3000 "Zen 2" processors.
Back during the Zen 2 press briefings I was told no temperature control offset was needed for Zen 2 and that the Linux thermal driver support was all squared away as a result. It was correct no Tctl is thankfully needed but the Linux driver support still wasn't exactly squared away. It turns out the new PCI IDs were missing from the Linux driver and thus no temperature monitoring support under Linux.
But now interested users have volleyed the patches and they are queued in the hardware monitoring tree. Sadly it's post Linux 5.3 merge window so at this stage it's in the Git tree for Linux 5.4, but we'll see if they end up getting sent in as "fixes" for the current Linux 5.3 cycle or will end up waiting until the Linux 5.4 merge window only at that point to then see it back-ported to the stable tree.
For those interested the support boils down to this one line patch and this four line patch for adding in the new IDs. That's all that is needed thanks to no longer needing an offset, but a pity it took until post-launch for the bits to be added to the kernel. Then again, with all the Zen processor launches to date it's taken until after launch for having the Linux temperature support.
On a related note, I have been lobbying AMD to either provide driver support or documentation for getting the (estimated?) CPU package power consumption reporting under Linux. During the Bulldozer days was the fam15h_power driver for reporting its CPU power consumption numbers under Linux though that driver doesn't work with Zen processors. Under Windows for Zen CPUs there is support for reporting CPU power consumption though how accurate it is a matter of some debate. Intel CPUs on Linux also expose their power consumption number too through RAPL and the like. I'm hopeful AMD will eventually provide this support on Linux for newer CPUs but still no definitive word yet.