Hi, On Thu, Jan 16, 2020 at 06:17:56AM -0800, Guenter Roeck wrote: > This patch series implements various improvements for the k10temp driver. > > Patch 1/4 introduces the use of bit operations. > > Patch 2/4 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/4 adds support for reporting Core Complex Die (CCD) temperatures > on Ryzen 3 (Zen2) CPUs. > > Patch 4/4 adds support for reporting core and SoC current and voltage > information on Ryzen CPUs. > > With all patches in place, output on Ryzen 3900 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 (high = +70.0°C) > Tctl: +86.8°C > Tccd1: +80.0°C > Tccd2: +81.8°C > Icore: +44.14 A > Isoc: +13.83 A > > The patch series has only been tested with Ryzen 3900 CPUs. Further test > coverage will be necessary before the changes can be applied to the Linux > kernel. Looks ok on 3800X (idle): $ lscpu | grep "Model name" Model name: AMD Ryzen 7 3800X 8-Core Processor $ sensors "k10temp-*" k10temp-pci-00c3 Adapter: PCI adapter Vcore: 937.00 mV Vsoc: 1.01 V Tdie: +35.2°C (high = +70.0°C) Tctl: +35.2°C Tccd1: +35.8°C Icore: 4.61 A Isoc: 6.18 A And after compiling the kernel with 32 threads for 1 minute: $ sensors "k10temp-*" k10temp-pci-00c3 Adapter: PCI adapter Vcore: 1.29 V Vsoc: 1.01 V Tdie: +77.1°C (high = +70.0°C) Tctl: +77.1°C Tccd1: +78.8°C Icore: 39.53 A Isoc: 6.18 A Board Information during the idle check: $ sudo dmidecode -s system-manufacturer Gigabyte Technology Co., Ltd. $ sudo dmidecode -s system-product-name X570 AORUS ULTRA $ sensors "it8792-*" it8792-isa-0a60 Adapter: ISA adapter in0: 1.79 V (min = +0.00 V, max = +2.78 V) in1: 589.00 mV (min = +0.00 V, max = +2.78 V) in2: 981.00 mV (min = +0.00 V, max = +2.78 V) +3.3V: 1.68 V (min = +0.00 V, max = +2.78 V) in4: 1.79 V (min = +0.00 V, max = +2.78 V) in5: 1.18 V (min = +0.00 V, max = +2.78 V) in6: 2.78 V (min = +0.00 V, max = +2.78 V) ALARM 3VSB: 1.68 V (min = +0.00 V, max = +2.78 V) Vbat: 1.61 V fan1: 0 RPM (min = 0 RPM) fan2: 0 RPM (min = 0 RPM) fan3: 0 RPM (min = 0 RPM) temp1: +37.0°C (low = +127.0°C, high = +127.0°C) sensor = thermistor temp3: +36.0°C (low = +127.0°C, high = +127.0°C) sensor = thermistor intrusion0: ALARM -- Sebastian