Re: [PATCH v2 0/5] hwmon: k10temp driver improvements

From: Guenter Roeck
Date: Sun Jan 19 2020 - 10:46:19 EST


On 1/19/20 2:18 AM, Jonathan McDowell wrote:

In article <20200118172615.26329-1-linux@xxxxxxxxxxxx> (earth.lists.linux-kernel) you wrote:
This patch series implements various improvements for the k10temp driver.
...
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:

Tested-By: Jonathan McDowell <noodles@xxxxxxxx>

Thanks!

Tested on a Ryzen 7 2700 (patched on top of 5.4.13):

| k10temp-pci-00c3
| Adapter: PCI adapter
| Vcore: +0.80 V
| Vsoc: +0.81 V
| Tdie: +37.0ÂC
| Tctl: +37.0ÂC
| Icore: +8.31 A
| Isoc: +6.86 A

Like the 1300X case I see a discrepancy compared to what the nct6779
driver says Vcore is:

| nct6779-isa-0290
| Adapter: ISA adapter
| Vcore: +0.33 V (min = +0.00 V, max = +1.74 V)

I see that on all of my boards as well (3900X, different boards and board vendors),
with temperatures reported by the Super-IO chip sometimes as low as 0.18V (!).
Yet, there is a clear correlation of that voltage with CPU load.
I suspect the measurement by the Super-IO chip is a different voltage.

I don't think there is anything we can do about that without access to more
information.

| in1: +0.32 V (min = +0.00 V, max = +0.00 V) ALARM
| AVCC: +3.39 V (min = +0.00 V, max = +0.00 V) ALARM
| +3.3V: +3.39 V (min = +0.00 V, max = +0.00 V) ALARM
| in4: +1.88 V (min = +0.00 V, max = +0.00 V) ALARM
| in5: +0.82 V (min = +0.00 V, max = +0.00 V) ALARM
| in6: +0.30 V (min = +0.00 V, max = +0.00 V) ALARM
| 3VSB: +3.42 V (min = +0.00 V, max = +0.00 V) ALARM
| Vbat: +3.25 V (min = +0.00 V, max = +0.00 V) ALARM
| in9: +0.00 V (min = +0.00 V, max = +0.00 V)
| in10: +0.22 V (min = +0.00 V, max = +0.00 V) ALARM
| in11: +1.06 V (min = +0.00 V, max = +0.00 V) ALARM
| in12: +1.70 V (min = +0.00 V, max = +0.00 V) ALARM
| in13: +1.04 V (min = +0.00 V, max = +0.00 V) ALARM
| in14: +1.79 V (min = +0.00 V, max = +0.00 V) ALARM
| fan1: 0 RPM (min = 0 RPM)
| fan2: 1708 RPM (min = 0 RPM)
| fan3: 0 RPM (min = 0 RPM)
| fan4: 0 RPM (min = 0 RPM)
| fan5: 0 RPM (min = 0 RPM)
| SYSTIN: +33.0ÂC (high = +0.0ÂC, hyst = +0.0ÂC) ALARM
| sensor = thermistor
| CPUTIN: -62.5ÂC (high = +80.0ÂC, hyst = +75.0ÂC)
| sensor = thermistor
| AUXTIN0: +79.0ÂC sensor = thermistor
| AUXTIN1: +96.0ÂC sensor = thermistor
| AUXTIN2: +23.0ÂC sensor = thermistor
| AUXTIN3: -22.0ÂC sensor = thermistor
| SMBUSMASTER 0: +39.0ÂC
| PCH_CHIP_CPU_MAX_TEMP: +0.0ÂC
| PCH_CHIP_TEMP: +0.0ÂC
| PCH_CPU_TEMP: +0.0ÂC
| intrusion0: ALARM
| intrusion1: ALARM
| beep_enable: disabled

I suspect the nct6779 is not reporting correctly (or needs some
configuration) here, as I see that's what Ken is using with his 1300X as
well.

Initially I thought the voltage reported by the Super-IO chip would help
us understand what is going on, but that is not really the case.

The problem with Ken's board is that idle current and voltage are very high.
The idle voltage claims to be higher than the voltage under load, which
doesn't really make sense. This is only reflected in the voltage and current
reported by the CPU, but not by the voltage reported by the Super-IO chip.

Thanks,
Guenter