Linux 5.11 Drops AMD Zen Voltage/Current Reporting Over Lack Of Documentation
The Linux hardware monitoring "k10temp" driver is dropping support for reporting CPU voltage and current information for AMD Zen-based processors over lack of documentation for being able to properly support the functionality.
Earlier in 2020 this long-standing AMD hwmon temperature driver added support for core/SoC current and voltage reporting with Zen processors based on the work by the community and some best assumptions around the appropriate registers. But now that support is being dropped for lack of accuracy in some configurations and the possibility it might even damage the hardware.
Last week was the main hwmon pull request for the Linux 5.11 cycle while sent in today was a secondary update with the sole change being the removal of this k10temp current/voltage reporting.
The support is being removed as it "turns out that [it] was not worth the trouble."
The actual Git commit removing the support from k10temp goes on to explain:
Voltages and current are reported by Zen CPUs. However, the means to do so is undocumented, changes from CPU to CPU, and the raw data is not calibrated. Calibration information is available, but again not documented. This results in less than perfect user experience, up to concerns that loading the driver might possibly damage the hardware (by reporting out-of range voltages). Effectively support for reporting voltages and current is not maintainable. Drop it.
For those just wanting energy metrics, the "AMD_Energy" driver is available with the mainline kernel as well but currently that just exposes energy details on EPYC CPUs after the initial Ryzen support was eliminated there. Hopefully AMD will publish the necessary documentation in 2021 to allow for this k10temp support to be properly restored. At least and arguably more pressing is the temperature monitoring support continues to work for Zen through Zen 3 (Zen 3 with Linux 5.10+) with this k10temp driver.