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

Guenter Roeck
2020-01-19T15:46:16Z

On 1/19/20 2:18 AM, Jonathan McDowell wrote:
>
> In article <20200118172615.26329-1-linux@roeck-us.net> (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@earth.li>
>
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