Bug 207137

Summary: AMDGPU incorrectly reports vddgfx voltage for R9 390
Product: Drivers Reporter: sandy.8925
Component: Video(DRI - non Intel)Assignee: drivers_video-dri
Status: RESOLVED CODE_FIX    
Severity: low CC: alexdeucher, sandy.8925
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 5.8 Subsystem:
Regression: No Bisected commit-id:
Attachments: dmesg output
GPU VBIOS

Description sandy.8925 2020-04-06 14:44:00 UTC
I'm using an R9 390 GPU.

vddgfx voltage is always reported as 1 Volt, regardless of load.

I debugged and found that in smu7_hwmgr.c , in funcion smu7_read_sensor(), the voltage is read from PLANE2_VID when a certain condition is true. This always results in a final value of 1 Volt.

When I changed the code to read only from PLANE1_VID, the correct voltage seems to be reported, and it changes under load, from ~900 mv to 1.3 V.

Please fix.
Comment 1 Alex Deucher 2020-04-06 15:07:47 UTC
Can you attach a copy of your vbios and dmesg output?  You can dump a copy of your vbios using the following:
sudo cat /sys/kernel/debug/dri/0/amdgpu_vbios > /tmp/vbios.rom
Comment 2 sandy.8925 2020-04-06 17:22:47 UTC
Created attachment 288233 [details]
dmesg output
Comment 3 sandy.8925 2020-04-06 17:23:23 UTC
Created attachment 288235 [details]
GPU VBIOS