Bug Report: [PowerPlay] MCLK can't be set above 1107MHz on Vega 64
Yanik Yiannakis
yanik at yiannakis.de
Sun Apr 28 23:43:35 UTC 2019
Hello,
I experience a bug that prevents me from setting the MCLK of my Vega 64
LC above 1107MHz.
I am using Unigine Superposition 1.1 in "Game"-mode to check the
performance by watching the FPS.
*Behaviour with a single monitor:*
First I set the MCLK to a known stable value below 1108MHz:
/$ echo "m 3 1100 950" >
/sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/0000:02:00.0/0000:03:00.0/pp_od_clk_voltage
/
In Unigine Superposition the FPS increase as expected.
pp_dpm_mclk also confirms the change.
/$ watch cat
/sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/0000:02:00.0/0000:03:00.0/pp_dpm_mclk/
0: 167Mhz
1: 500Mhz
2: 800Mhz
3: 1100Mhz *
After that I set the MCLK to a stable value above 1107MHz:
/$ echo "m 3 1200 950" >
/sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/0000:02:00.0/0000:03:00.0/pp_od_clk_voltage
/
In Unigine Superposition the FPS drop drastically.
pp_dpm_mclk indicates that the MCLK is stuck in state 0 (167MHz):
0: 167Mhz *
1: 500Mhz
2: 800Mhz
3: 1200Mhz
*Behaviour with multiple monitors that have different refresh rates:*
My monitors have different refresh rates. This causes the MCLK to stay
in state 3 (945MHz stock) which is the expected behaviour as I
understand it.
Now I try to set the MCLK to a value above 1107MHz:
/$ echo "m 3 1200 950" >
/sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/0000:02:00.0/0000:03:00.0/pp_od_clk_voltage
/
The FPS in Unigine Superposition remain the same as they were with 945MHz.
pp_dpm_mclk shows however that the value was set:
0: 167Mhz
1: 500Mhz
2: 800Mhz
3: 1200Mhz *
Then I set the MCLK to a value of 1107MHz or lower:
/$ echo "m 3 1100 950" >
/sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/0000:02:00.0/0000:03:00.0/pp_od_clk_voltage
/
The FPS in Unigine Superposition *increase*.
pp_dpm_mclk again confirms the set value:
0: 167Mhz
1: 500Mhz
2: 800Mhz
3: 1100Mhz *
Finally I increase MCLK to a known unstable value:
/$ echo "m 3 1300 950" >
/sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/0000:02:00.0/0000:03:00.0/pp_od_clk_voltage
/
The FPS in Unigine Superposition remain the same. I therefore believe
the value was not actually applied.
However pp_dpm_mclk shows that it was:
0: 167Mhz
1: 500Mhz
2: 800Mhz
3: 1300Mhz *
amdgpu_pm_info also claims that the value was set:
/$ sudo watch cat /sys/kernel/debug/dri/1/amdgpu_pm_info/
GFX Clocks and Power:
1300 MHz (MCLK)
27 MHz (SCLK)
1348 MHz (PSTATE_SCLK)
800 MHz (PSTATE_MCLK)
825 mV (VDDGFX)
4.0 W (average GPU)
Again, I think the displayed MCLK is false and the memory still runs at
1100MHz because the performance in Unigine Superposition indicates this
and 1300MHz would cause a crash immediately.
A stable value (e.g. 1200MHz) causes the same behaviour. I just chose
1300MHz to be sure.
Tested on these Kernels:
Arch-Linux 5.0.9 (Arch)
Linux 5.1-rc6 (Ubuntu)
Linux 5.0 with amd-staging-drm-next (Ubuntu)
(https://github.com/M-Bab/linux-kernel-amdgpu-binaries)
(Same behaviour on every kernel.)
Tested on this hardware:
CPU: Intel i7-8700k
Motherboard: MSI Z370 Gaming Pro Carbon
GPU: Powercolor Vega 64 Liquid Cooled (Memory stable below 1220MHz,
tested on Windows 10 with Wattman and Unigine Superposition)
Unigine Superposition "Game"-Mode settings:
Preset: Custom
Fullscreen: Disabled
Resolution: 3840x2160 (4K UHD)
Shaders Quality: Extreme
Textures Quality: High
Vsync: Off
Depth of Field: On
Motion Blur: On
I hope this helps.
Yanik Yiannakis
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/amd-gfx/attachments/20190429/d772e03b/attachment.html>
More information about the amd-gfx
mailing list