amdgpu coolers never stoping linux
@denji
Submitted by Denis Denisov Assigned to Default DRI bug account
Link to original bug (#100666)
Description
- Ubuntu 17.04, Kernel-4.10
- Gigabyte Radeon™ RX 480 WINDFORCE 8G rev1.0
-
http://www.gigabyte.com/Graphics-Card/GV-RX480WF2-8GD-rev-10
-
https://gist.github.com/anonymous/2e8964de6e8bf37d3a3b52dc7d213078
1. On Windows 10 & macOS coolers may be parked in mode 0 rpm.
AMDGPU "pwm1_enable" can work only in mode=1, it is interesting that the rotation speed static.
How hard can it be to implement?
The initial implementation with support for throttling of the cooler.
Have already been implemented, not enough reading VBIOS from EFI settings to automatically stop the cooler in idle.
EFI VBIOS for macOS & Windows driver detected coolers supported noise fan 0% to idle card, but not linux amdgpu....
Lzzy can change /sys/class/drm/card0/device/power meters/hwmon1/pwm1=0 revs but under load it is fraught with burnout,
nv support coolers speed pwm1_enable
* 0=NONE - Card control PW?
* 1=MANUAL
* 2=AUTO - OS control PW?
2. When parking in cooler 0 rpm gauge still shows the rotation of coolers (lm-sensors), but the physical status LED/Fan stopped
# echo 0 | tee /sys/class/drm/card0/device/hwmon/hwmon1/pwm1
# sensors
amdgpu-pci-0100
Adapter: PCI adapter
fan1: 875 RPM
temp1: +38.0°C (crit = +0.0°C, hyst = +0.0°C)
fan1: 875 RPM ?
$ cat /sys/class/drm/card0/device/power_dpm_force_performance_level
auto
$ cat /sys/class/drm/card0/device/power_dpm_state
performance
$ cat /sys/class/drm/card0/device/hwmon/hwmon1/pwm1
81
$ cat /sys/class/drm/card0/device/hwmon/hwmon1/pwm1_min
0
$ cat /sys/class/drm/card0/device/hwmon/hwmon1/pwm1_max
255
$ echo 0 | sudo tee /sys/class/drm/card0/device/hwmon/hwmon1/pwm1_enable
$ cat /sys/class/drm/card0/device/hwmon/hwmon1/pwm1_enable
1
$ echo 0 | sudo tee /sys/class/drm/card0/device/hwmon/hwmon1/pwm1_enable
$ cat /sys/class/drm/card0/device/hwmon/hwmon1/pwm1_enable
1
$ echo 2 | sudo tee /sys/class/drm/card0/device/hwmon/hwmon1/pwm1_enable
$ cat /sys/class/drm/card0/device/hwmon/hwmon1/pwm1_enable
1
$ lsb_release -dcr
Description: Ubuntu 17.04
Release: 17.04
Codename: zesty
$ uname -rmv
4.10.0-19-generic #21 (closed)-Ubuntu SMP Thu Apr 6 17:04:57 UTC 2017 x86_64
$ DRI_PRIME=1 glxinfo |grep string
server glx vendor string: SGI
server glx version string: 1.4
client glx vendor string: Mesa Project and SGI
client glx version string: 1.4
OpenGL vendor string: X.Org
OpenGL renderer string: Gallium 0.4 on AMD POLARIS10 (DRM 3.9.0 /
4.10.0-19-generic, LLVM 4.0.0)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 17.0.3
OpenGL core profile shading language version string: 4.50
OpenGL version string: 3.0 Mesa 17.0.3
OpenGL shading language version string: 1.30
OpenGL ES profile version string: OpenGL ES 3.1 Mesa 17.0.3
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10
$ LC_ALL=C dmesg -Tx | grep -E "drm|radeon"
kern :info : [Tue Apr 11 00:03:04 2017] [drm] Initialized
kern :info : [Tue Apr 11 00:03:04 2017] [drm] amdgpu kernel
modesetting enabled.
kern :info : [Tue Apr 11 00:03:04 2017] fb: switching to amdgpudrmfb
from EFI VGA
kern :info : [Tue Apr 11 00:03:04 2017] [drm] initializing kernel
modesetting (POLARIS10 0x1002:0x67DF 0x1458:0x22DF 0xC7).
kern :info : [Tue Apr 11 00:03:04 2017] [drm] register mmio base: 0xEFE00000
kern :info : [Tue Apr 11 00:03:04 2017] [drm] register mmio size: 262144
kern :info : [Tue Apr 11 00:03:04 2017] [drm] doorbell mmio base: 0xE0000000
kern :info : [Tue Apr 11 00:03:04 2017] [drm] doorbell mmio size: 2097152
kern :info : [Tue Apr 11 00:03:04 2017] [drm] probing gen 2 caps for
device 8086:1901 = 261ad03/e
kern :info : [Tue Apr 11 00:03:04 2017] [drm] probing mlw for device
8086:1901 = 261ad03
kern :info : [Tue Apr 11 00:03:04 2017] [drm] UVD is enabled in VM mode
kern :info : [Tue Apr 11 00:03:04 2017] [drm] VCE enabled in VM mode
kern :info : [Tue Apr 11 00:03:04 2017] [drm] GPU post is not needed
kern :info : [Tue Apr 11 00:03:04 2017] [drm] Detected VRAM
RAM=8192M, BAR=256M
kern :info : [Tue Apr 11 00:03:04 2017] [drm] RAM width 256bits GDDR5
kern :info : [Tue Apr 11 00:03:04 2017] [drm] amdgpu: 8192M of VRAM
memory ready
kern :info : [Tue Apr 11 00:03:04 2017] [drm] amdgpu: 8192M of GTT
memory ready.
kern :info : [Tue Apr 11 00:03:04 2017] [drm] GART: num cpu pages
2097152, num gpu pages 2097152
kern :info : [Tue Apr 11 00:03:04 2017] [drm] PCIE GART of 8192M
enabled (table at 0x0000000000040000).
kern :info : [Tue Apr 11 00:03:04 2017] [drm] Supports vblank
timestamp caching Rev 2 (21.10.2013).
kern :info : [Tue Apr 11 00:03:04 2017] [drm] Driver supports
precise vblank timestamp query.
kern :info : [Tue Apr 11 00:03:04 2017] [drm] amdgpu: irq initialized.
kern :info : [Tue Apr 11 00:03:04 2017] [drm] AMDGPU Display Connectors
kern :info : [Tue Apr 11 00:03:04 2017] [drm] Connector 0:
kern :info : [Tue Apr 11 00:03:04 2017] [drm] DP-1
kern :info : [Tue Apr 11 00:03:04 2017] [drm] HPD6
kern :info : [Tue Apr 11 00:03:04 2017] [drm] DDC: 0x4868 0x4868
0x4869 0x4869 0x486a 0x486a 0x486b 0x486b
kern :info : [Tue Apr 11 00:03:04 2017] [drm] Encoders:
kern :info : [Tue Apr 11 00:03:04 2017] [drm] DFP1: INTERNAL_UNIPHY2
kern :info : [Tue Apr 11 00:03:04 2017] [drm] Connector 1:
kern :info : [Tue Apr 11 00:03:04 2017] [drm] DP-2
kern :info : [Tue Apr 11 00:03:04 2017] [drm] HPD4
kern :info : [Tue Apr 11 00:03:04 2017] [drm] DDC: 0x4870 0x4870
0x4871 0x4871 0x4872 0x4872 0x4873 0x4873
kern :info : [Tue Apr 11 00:03:04 2017] [drm] Encoders:
kern :info : [Tue Apr 11 00:03:04 2017] [drm] DFP2: INTERNAL_UNIPHY2
kern :info : [Tue Apr 11 00:03:04 2017] [drm] Connector 2:
kern :info : [Tue Apr 11 00:03:04 2017] [drm] DP-3
kern :info : [Tue Apr 11 00:03:04 2017] [drm] HPD1
kern :info : [Tue Apr 11 00:03:04 2017] [drm] DDC: 0x486c 0x486c
0x486d 0x486d 0x486e 0x486e 0x486f 0x486f
kern :info : [Tue Apr 11 00:03:04 2017] [drm] Encoders:
kern :info : [Tue Apr 11 00:03:04 2017] [drm] DFP3: INTERNAL_UNIPHY1
kern :info : [Tue Apr 11 00:03:04 2017] [drm] Connector 3:
kern :info : [Tue Apr 11 00:03:04 2017] [drm] HDMI-A-1
kern :info : [Tue Apr 11 00:03:04 2017] [drm] HPD5
kern :info : [Tue Apr 11 00:03:04 2017] [drm] DDC: 0x4874 0x4874
0x4875 0x4875 0x4876 0x4876 0x4877 0x4877
kern :info : [Tue Apr 11 00:03:04 2017] [drm] Encoders:
kern :info : [Tue Apr 11 00:03:04 2017] [drm] DFP4: INTERNAL_UNIPHY1
kern :info : [Tue Apr 11 00:03:04 2017] [drm] Connector 4:
kern :info : [Tue Apr 11 00:03:04 2017] [drm] DVI-D-1
kern :info : [Tue Apr 11 00:03:04 2017] [drm] HPD3
kern :info : [Tue Apr 11 00:03:04 2017] [drm] DDC: 0x487c 0x487c
0x487d 0x487d 0x487e 0x487e 0x487f 0x487f
kern :info : [Tue Apr 11 00:03:04 2017] [drm] Encoders:
kern :info : [Tue Apr 11 00:03:04 2017] [drm] DFP5: INTERNAL_UNIPHY
kern :info : [Tue Apr 11 00:03:04 2017] [drm] Found UVD firmware
Version: 1.79 Family ID: 16
kern :info : [Tue Apr 11 00:03:04 2017] [drm] Found VCE firmware
Version: 52.4 Binary ID: 3
kern :info : [Tue Apr 11 00:03:04 2017] [drm] ring test on 0
succeeded in 15 usecs
kern :info : [Tue Apr 11 00:03:04 2017] [drm] ring test on 1
succeeded in 28 usecs
kern :info : [Tue Apr 11 00:03:04 2017] [drm] ring test on 2
succeeded in 28 usecs
kern :info : [Tue Apr 11 00:03:04 2017] [drm] ring test on 3
succeeded in 13 usecs
kern :info : [Tue Apr 11 00:03:04 2017] [drm] ring test on 4
succeeded in 13 usecs
kern :info : [Tue Apr 11 00:03:04 2017] [drm] ring test on 5
succeeded in 13 usecs
kern :info : [Tue Apr 11 00:03:04 2017] [drm] ring test on 6
succeeded in 14 usecs
kern :info : [Tue Apr 11 00:03:04 2017] [drm] ring test on 7
succeeded in 13 usecs
kern :info : [Tue Apr 11 00:03:04 2017] [drm] ring test on 8
succeeded in 13 usecs
kern :info : [Tue Apr 11 00:03:04 2017] [drm] ring test on 9
succeeded in 6 usecs
kern :info : [Tue Apr 11 00:03:04 2017] [drm] ring test on 10
succeeded in 6 usecs
kern :info : [Tue Apr 11 00:03:04 2017] [drm] ring test on 11
succeeded in 1 usecs
kern :info : [Tue Apr 11 00:03:04 2017] [drm] UVD initialized successfully.
kern :info : [Tue Apr 11 00:03:05 2017] [drm] ring test on 12
succeeded in 10 usecs
kern :info : [Tue Apr 11 00:03:05 2017] [drm] ring test on 13
succeeded in 5 usecs
kern :info : [Tue Apr 11 00:03:05 2017] [drm] VCE initialized successfully.
kern :info : [Tue Apr 11 00:03:05 2017] [drm] fb mappable at 0xD136F000
kern :info : [Tue Apr 11 00:03:05 2017] [drm] vram apper at 0xD0000000
kern :info : [Tue Apr 11 00:03:05 2017] [drm] size 8294400
kern :info : [Tue Apr 11 00:03:05 2017] [drm] fb depth is 24
kern :info : [Tue Apr 11 00:03:05 2017] [drm] pitch is 7680
kern :info : [Tue Apr 11 00:03:05 2017] fbcon: amdgpudrmfb (fb0) is
primary device
kern :info : [Tue Apr 11 00:03:05 2017] amdgpu 0000:01:00.0: fb0:
amdgpudrmfb frame buffer device
kern :info : [Tue Apr 11 00:03:05 2017] [drm] ib test on ring 0 succeeded
kern :info : [Tue Apr 11 00:03:05 2017] [drm] ib test on ring 1 succeeded
kern :info : [Tue Apr 11 00:03:05 2017] [drm] ib test on ring 2 succeeded
kern :info : [Tue Apr 11 00:03:05 2017] [drm] ib test on ring 3 succeeded
kern :info : [Tue Apr 11 00:03:05 2017] [drm] ib test on ring 4 succeeded
kern :info : [Tue Apr 11 00:03:05 2017] [drm] ib test on ring 5 succeeded
kern :info : [Tue Apr 11 00:03:05 2017] [drm] ib test on ring 6 succeeded
kern :info : [Tue Apr 11 00:03:05 2017] [drm] ib test on ring 7 succeeded
kern :info : [Tue Apr 11 00:03:05 2017] [drm] ib test on ring 8 succeeded
kern :info : [Tue Apr 11 00:03:05 2017] [drm] ib test on ring 9 succeeded
kern :info : [Tue Apr 11 00:03:05 2017] [drm] ib test on ring 10 succeeded
kern :info : [Tue Apr 11 00:03:05 2017] [drm] ib test on ring 11 succeeded
kern :info : [Tue Apr 11 00:03:05 2017] [drm] ib test on ring 12 succeeded
kern :info : [Tue Apr 11 00:03:05 2017] [drm] Initialized amdgpu
3.9.0 20150101 for 0000:01:00.0 on minor 0