Linux 5.4 Brings Working Temperature Reporting For AMD Ryzen 3000 Series CPUs
One of the early pull requests for the just-opened Linux 5.4 kernel merge window is the hardware monitoring "hwmon" subsystem changes. This time around the notable change is CPU temperature reporting for Ryzen 3000 series processors.
Due to a combination of poor timing and an oversight at AMD, the CPU temperature reporting under Linux for the Ryzen 3000 series processors isn't in order until this new Linux 5.4 cycle. Back at the Ryzen 3000 series launch event I was told everything was "all good" from the Linux support perspective for thermal monitoring, after having been closely following the situation for past Zen CPUs and ended up myself adding the Linux CPU temperature monitoring support for Threadripper 2 among other hurdles in the past. That all-good though just ended up meaning that there is no Tcontrol offset needed for these new CPUs, which is great news no longer needing the temperature offset by an arbitrary amount. But the oversight was the Family 17h Model 70h ID was never added to the AMD k10temp driver. As a result, temperature monitoring wasn't actually working and took an extra kernel cycle before this trivial addition landed.
With the hwmon changes for Linux 5.4, the ID is in place along with this associated patch that is also a trivial addition. Sadly these patches weren't sent into Linux 5.3 weeks ago as a "fix" but only now going to mainline with the Linux 5.4 merge window. But it's quite possible now the patches will be back-ported to a Linux 5.3 point release. It's frankly silly that AMD couldn't have got these minor additions made as part of their Linux support months ago well ahead of the Zen 2 launch.
I've confirmed with these patches all is well for thermal monitoring on the Ryzen 3000 series processors. Sadly there is no mainline driver for CPU package power reporting with AMD Ryzen processors, but the out-of-tree "Zenpower" driver has worked for reporting this driver.
Anyhow, this k10temp addition is the main change to find with the hwmon updates for Linux 5.4.
Due to a combination of poor timing and an oversight at AMD, the CPU temperature reporting under Linux for the Ryzen 3000 series processors isn't in order until this new Linux 5.4 cycle. Back at the Ryzen 3000 series launch event I was told everything was "all good" from the Linux support perspective for thermal monitoring, after having been closely following the situation for past Zen CPUs and ended up myself adding the Linux CPU temperature monitoring support for Threadripper 2 among other hurdles in the past. That all-good though just ended up meaning that there is no Tcontrol offset needed for these new CPUs, which is great news no longer needing the temperature offset by an arbitrary amount. But the oversight was the Family 17h Model 70h ID was never added to the AMD k10temp driver. As a result, temperature monitoring wasn't actually working and took an extra kernel cycle before this trivial addition landed.
With the hwmon changes for Linux 5.4, the ID is in place along with this associated patch that is also a trivial addition. Sadly these patches weren't sent into Linux 5.3 weeks ago as a "fix" but only now going to mainline with the Linux 5.4 merge window. But it's quite possible now the patches will be back-ported to a Linux 5.3 point release. It's frankly silly that AMD couldn't have got these minor additions made as part of their Linux support months ago well ahead of the Zen 2 launch.
I've confirmed with these patches all is well for thermal monitoring on the Ryzen 3000 series processors. Sadly there is no mainline driver for CPU package power reporting with AMD Ryzen processors, but the out-of-tree "Zenpower" driver has worked for reporting this driver.
Anyhow, this k10temp addition is the main change to find with the hwmon updates for Linux 5.4.
7 Comments