MCLK fixed to 2000 MHz on Polaris 20 at 1440p75
Brief summary of the problem:
If the display's refresh rate is set to 75 Hz instead of 60, the GPU memory clock is fixed at 2000 MHz. This causes unnecessary power draw and heat. But after a suspend-to-ram the memory clock ramps up and down as expected.
Hardware description:
- CPU: AMD Ryzen 7 1700X
- GPU: Asus RX 580
- Display: AOC Q3279VWF (1440p 75 Hz FreeSync)
- Type of Diplay Connection: DP
System infomration:
- Distro name and Version: Manjaro Linux
- Kernel version: 5.11.0-1-MANJARO
- Older kernel versions make no difference
How to reproduce the issue:
- After a fresh boot, set the display's refresh rate to 60 Hz. The idle power consumption is low and the memory clock at the minimum (300 MHz):
GFX Clocks and Power:
300 MHz (MCLK)
300 MHz (SCLK)
600 MHz (PSTATE_SCLK)
1000 MHz (PSTATE_MCLK)
750 mV (VDDGFX)
6.253 W (average GPU)
- Set the refresh rate to 75 Hz. The memory clock is fixed to the maximum frequency and the power consumption rises:
GFX Clocks and Power:
2000 MHz (MCLK)
300 MHz (SCLK)
600 MHz (PSTATE_SCLK)
1000 MHz (PSTATE_MCLK)
950 mV (VDDGFX)
26.6 W (average GPU)
- Put the computer into suspend-to-ram and wake it up again. Now the refresh rate is still at 75 Hz, but the memory clock is no longer fixed, resulting in a similar power consumption as in the 60 Hz case now. Switching between refresh rates does no longer trigger this behaviour, until I perform a full reboot.
Edit on 28.01.21: Updated with correctly reported power draw values from kernel 5.11
Attached files:
Edited by DafabHoid