Hi, The series is Tested-by: Sebastian Reichel on 3800X. idle: k10temp-pci-00c3 Adapter: PCI adapter Vcore: 919.00 mV Vsoc: 1.01 V Tdie: +41.1°C Tctl: +41.1°C Tccd1: +39.8°C Icore: 0.00 A Isoc: 4.50 A with load: k10temp-pci-00c3 Adapter: PCI adapter Vcore: 1.29 V Vsoc: 1.01 V Tdie: +80.4°C Tctl: +80.4°C Tccd1: +78.5°C Icore: 61.00 A Isoc: 6.50 A debugfs output is also register dumps are also working. -- Sebastian On Wed, Jan 22, 2020 at 08:07:54AM -0800, Guenter Roeck wrote: > This patch series implements various improvements for the k10temp driver. > > Patch 1/6 introduces the use of bit operations. > > Patch 2/6 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/6 adds support for reporting Core Complex Die (CCD) temperatures > on Zen2 (Ryzen and Threadripper) CPUs (note that reporting is incomplete > for Threadripper CPUs - it is known that additional temperature sensors > exist, but the register locations are unknown). > > Patch 4/6 adds support for reporting core and SoC current and voltage > information on Ryzen CPUs (note: voltage and current measurements for > Threadripper and EPYC CPUs are known to exist, but register locations > are unknown, and values are therefore not reported at this time). > > Patch 5/6 removes the maximum temperature from Tdie for Ryzen CPUs. > It is inaccurate, misleading, and it just doesn't make sense to report > wrong information. > > Patch 6/6 adds debugfs files to provide raw thermal and SVI register > dumps. This may help in the future to identify additional sensors and/or > to fix problems. > > 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.39 V > Vsoc: +1.18 V > Tdie: +79.9°C > Tctl: +79.9°C > Tccd1: +61.8°C > Tccd2: +76.5°C > Icore: +46.00 A > Isoc: +12.00 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. > 1600 > 1800X > 2200G > 2400G > 2700 > 2700X > 2950X > 3600X > 3800X > 3900X > 3950X > 3970X > EPYC 7302 > EPYC 7742 > > Many thanks to everyone who helped to test this series. > > --- > v4: Normalize current calculations do show 1A / LSB for core current and > 0.25A / LSB for SoC current. The reported current values are board > specific and need to be scaled using the configuration file. > Clarified that the maximum temperature of 70 degrees C (which is no > longer displayed) was associated to Tctl and not to Tdie. > Added debugfs support. > > v3: Added more Tested-by: tags > Added detection for 3970X, and report Tccd1 for this CPU. > > 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.