On 1/18/20 4:33 PM, Ken Moffat wrote:
On Sat, 18 Jan 2020 at 17:26, Guenter Roeck <linux@xxxxxxxxxxxx> wrote:
This patch series implements various improvements for the k10temp driver.
Patch 1/5 introduces the use of bit operations.
Patch 2/5 converts the driver to use the devm_hwmon_device_register_with_info
API. This not only simplifies the code and reduces its size, it also
makes the code easier to maintain and enhance.
Patch 3/5 adds support for reporting Core Complex Die (CCD) temperatures
on Ryzen 3 (Zen2) CPUs.
Patch 4/5 adds support for reporting core and SoC current and voltage
information on Ryzen CPUs.
Patch 5/5 removes the maximum temperature from Tdie for Ryzen CPUs.
It is inaccurate, misleading, and it just doesn't make sense to report
wrong information.
With all patches in place, output on Ryzen 3900X CPUs looks as follows
(with the system under load).
k10temp-pci-00c3
Adapter: PCI adapter
Vcore: +1.36 V
Vsoc: +1.18 V
Tdie: +86.8°C
Tctl: +86.8°C
Tccd1: +80.0°C
Tccd2: +81.8°C
Icore: +44.14 A
Isoc: +13.83 A
The voltage and current information is limited to Ryzen CPUs. Voltage
and current reporting on Threadripper and EPYC CPUs is different, and the
reported information is either incomplete or wrong. Exclude it for the time
being; it can always be added if/when more information becomes available.
Tested with the following Ryzen CPUs:
1300X A user with this CPU in the system reported somewhat unexpected
values for Vcore; it isn't entirely if at all clear why that is
the case. Overall this does not warrant holding up the series.
As the owner of that machine, very much agreed.
>> 1600
1800X
2200G
2400G
3800X
3900X
3950X
I also had sensible results for v1 on 2500U and 3400G
Sorry, I somehow missed that.
v2: Added tested-by: tags as received.
Don't display voltage and current information for Threadripper and EPYC.
Stop displaying the fixed (and wrong) maximum temperature of 70 degrees C
for Tdie on model 17h/18h CPUs.
For v2 on my 2500U, system idle and then under load -
--- k10temp-idle 2020-01-19 00:16:18.812002121 +0000
+++ k10temp-load 2020-01-19 00:22:05.595470877 +0000
@@ -1,15 +1,15 @@
k10temp-pci-00c3
Adapter: PCI adapter
-Vcore: +0.98 V
+Vcore: +1.15 V
Vsoc: +0.93 V
-Tdie: +38.2°C
-Tctl: +38.2°C
-Icore: +10.39 A
-Isoc: +6.49 A
+Tdie: +76.2°C
+Tctl: +76.2°C
+Icore: +51.96 A
+Isoc: +7.58 A
amdgpu-pci-0300
Adapter: PCI adapter
vddgfx: N/A
vddnb: N/A
-edge: +38.0°C (crit = +80.0°C, hyst = +0.0°C)
+edge: +76.0°C (crit = +80.0°C, hyst = +0.0°C)
I'll ony test v2 on the 3400G if you think the results would add something.
Thanks a lot for the additional testing! I don't think we need another
test on 3400G; after all, the actual measurement code didn't change.
Everyone: I'll be happy to add Tested-by: tags with your name and e-mail
address to the series, but you'll have to send it to me. I appreciate
all your testing and would like to acknowledge it, but I can not add
Tested-by: tags (or any other tags, for that matter) on my own.
Thanks,
Guenter