gpu memory clock locked to 150mhz after resuming from suspend, r7 360
Brief summary of the problem:
suspending and then resuming my system appears to lock the gpu memory clock (mclk) to 150MHz.
Hardware description:
- CPU: AMD Ryzen 3300X
- GPU: XFX R7 360 Core Edition (pci device id 0x665f)
- System Memory: 2x Crucial Ballistix 8GB DDR4-3600 (Crucial Technology BL8G36C16U4B.M8FE1)
- Display(s): 2560x1440, 165hz (card outputs 152hz)
- Type of Display Connection: DisplayPort
System information:
- Distro name and Version: OpenSUSE Tumbleweed 20210721
- Kernel version: 5.13.2 (5.13.2-1-default for distro)
- Custom kernel: n/a
- AMD package version: open source amdgpu, mesa 21.1.5, DRM 3.41.0, LLVM 12.0.1
How to reproduce the issue:
suspending and resuming on a cold boot causes this issue with the memory clock stuck at the lower of two clocks this card appears to have (150MHz and 1500MHz); this causes noticeable performance issues.
before sleep, reading from /sys/class/drm/card0/device/hwmon/hwmon1/freq2_input
gives a value of 1500000000
while resuming from a suspended session returns 150000000
no matter the graphical load or custom tweaks applied via tools like corectrl.
changing the display settings after resuming (e.g. changing resolution or refresh rate) returned the memory clock to its expected state.
my amdgpu/radeon kernel parameters are the following (the card is running using amdgpu
instead of the radeon
driver):
radeon.cik_support=0 radeon.si_support=0 amdgpu.cik_support=1 amdgpu.si_support=1 amdgpu.ppfeaturemask=0xffffffff
Attached files:
- dmesg2.log dmesg log
- journal.log relevant snippet of the system journal (some networking details such as public ipv6 and nameserver ip addresses omitted)