RX 590 screen goes dark after switching monitor to different input and back
Brief summary of the problem:
I have an RX 590 graphics adapter connected via displayport to my monitor. When I switch the monitor to a different input and then back, the display remains dark. The following appears in the dmesg output:
Jan 4 10:28:04 localhost vmunix: [drm:dce112_get_pix_clk_dividers [amdgpu]] *ERROR* dce112_get_pix_clk_dividers: Invalid parameters!!
Jan 4 10:28:04 localhost vmunix: [drm:dm_restore_drm_connector_state [amdgpu]] *ERROR* Restoring old state failed with -22
This happens with kernel 5.4.86 but not 5.4.85 and can be reproduced reliably.
I have narrowed it down to the following change:
commit e1b1f10c3404c8d40c45c3a6846d304fd403fa2c
Author: Stylon Wang <stylon.wang@amd.com>
Date: Tue Nov 10 15:40:06 2020 +0800
drm/amd/display: Fix memory leaks in S3 resume
commit a135a1b4c4db1f3b8cbed9676a40ede39feb3362 upstream.
Hardware description:
- CPU: Intel i7 4790K
- GPU: Radeon RX 590 (Gigabyte)
- System Memory: 24GB
- Display(s): HP 25x
- Type of Diplay Connection:DP
System infomration:
- Distro name and Version: N/A
- Kernel version: 5.4.86
- Custom kernel: built from main kernel.org kernel
- AMD package version: No package
How to reproduce the issue:
< TODO: Describe step-by-step how to reproduce the issue > < NOTE: Add as much detail as possible >
- Boot 5.4.86 kernel, start X
- Switch display input to HDMI
- Switch display input back to DP
Screen remains dark.
Kernel log contains:
Jan 4 10:28:04 localhost vmunix: [drm:dce112_get_pix_clk_dividers [amdgpu]] *ERROR* dce112_get_pix_clk_dividers: Invalid parameters!!
Jan 4 10:28:04 localhost vmunix: [drm:dm_restore_drm_connector_state [amdgpu]] *ERROR* Restoring old state failed with -22
Attached files:
None, please see kernel log lines above