Increasing OD_MCLK Causes Flickering And Crashes on 6600xt
Brief summary of the problem:
Attempting to increase the VRAM clock speed by writing to /sys/class/drm/card0/device/pp_od_clk_voltage
causes massive instability in the form of flickering and corruption on screen, even when increased by as little as 1MHz. Adjusting the core clock does not have the same issues and works fine, as does changing the VRAM clock in windows (can add at least 250MHz on top of the base clock there)
Adjusting the VRAM clock downwards doesn't seem to have this issue, only up.
Hardware description:
- CPU: Intel i7 4770k
- GPU: XFX RX 6600xt Merc
*-display
description: VGA compatible controller
product: Navi 23 [Radeon RX 6600/6600 XT/6600M] [1002:73FF]
vendor: Advanced Micro Devices, Inc. [AMD/ATI] [1002]
physical id: 0
bus info: pci@0000:03:00.0
version: c1
width: 64 bits
clock: 33MHz
capabilities: pm pciexpress msi vga_controller bus_master cap_list rom
configuration: driver=amdgpu latency=0
resources: irq:46 memory:e0000000-efffffff memory:f0000000-f01fffff ioport:e000(size=256) memory:f0200000-f02fffff memory:c0000-dffff
- pp_od_clk_voltage:
OD_SCLK:
0: 700Mhz
1: 2584Mhz
OD_MCLK:
0: 97Mhz
1: 1000MHz
OD_VDDGFX_OFFSET:
0mV
OD_RANGE:
SCLK: 500Mhz 3150Mhz
MCLK: 674Mhz 1200Mhz
- System Memory: 16gb ddr3
- Display(s): 1080p@144hz, 1080p@60hz
- Type of Display Connection: DP and HDMI
System information:
- Distro name and Version: Arch rolling
- Kernel version: 5.14.12
- Custom kernel: Occurs on stock Arch kernel as well as custom built TKG kernel
- AMD official driver version: N/A
How to reproduce the issue:
Boot with amdgpu.ppfeaturemask=0xffffffff
kernel parameter.
Run sudo su -c "echo 'm 1 1001' > /sys/class/drm/card0/device/pp_od_clk_voltage"
(Or any other value over 1000)
Run sudo su -c "echo 'c' > /sys/class/drm/card0/device/pp_od_clk_voltage"
Utilise the GPU in some way (eg unigine heaven)
Observe black flickering over whole or parts of the screen, especially on scene change. It may seem fine with low values added to the clock until specific scene changes in unigine heaven. These flickers stop after going back to 1000MHz or lower VRAM clock.
There isn't any output in any logs that I can find unless you push it high enough to cause a GPU reset. Smaller values (under 1200 MHz) seem to only produce the flickering, without causing crashes.