+Alex, Hi Yanik, Did you ever run the following command to let your OD settings take effect (before running games)? Otherwise, they did not take effect actually. echo "c" > /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/0000:02:00.0/0000:03:00.0/pp_od_clk_voltage Regards, Evan From: Yanik Yiannakis Sent: Monday, April 29, 2019 7:44 AM To: rex.zhu@amd.com; Quan, Evan ; amd-gfx@lists.freedesktop.org Subject: Bug Report: [PowerPlay] MCLK can't be set above 1107MHz on Vega 64 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