[Bisected] Second monitor not turning on with DP1.2 MST (Regression since 5.11-rc1)
Brief summary of the problem:
Since 5.11-rc1 my second monitor, which is daisy chained using DP1.2, is not turning on after boot.
Hardware description:
- CPU: Ryzen 5 2600
- GPU: Sapphire Nitro+ RX 580
- System Memory: 16GB
- Display(s): 2
- Type of Diplay Connection: DP1.2 daisy chain
System infomration:
- Distro name and Version: Arch Linux
- Kernel version: 5.11.0
- Custom kernel: -
- AMD package version: mesa 20.3.4-1
How to reproduce the issue:
- Boot kernel greater than 5.11-rc1.
- Second monitor, which is daisy chained using DP1.2, will not turn on.
- One extra message appears in dmesg with the broken kernel:
[ 7.688947] [drm] amdgpu_dm_irq_schedule_work FAILED src 12
Bisecting the issue between 5.10.0 (good) and 5.11-rc1 (bad) points to this commit:
c8ea79a8a2767e7948c778237be655a109366eb9 is the first bad commit
commit c8ea79a8a2767e7948c778237be655a109366eb9
Author: Qingqing Zhuo <qingqing.zhuo@amd.com>
Date: Thu Oct 1 15:56:28 2020 -0400
drm/amd/display: NULL pointer error during compliance test
[Why]
Calls to disable/enable stream should be guarded with dc_lock.
[How]
Add dc_lock before calling into dc_link_handle_hpd_rx_irq.
Signed-off-by: Qingqing Zhuo <qingqing.zhuo@amd.com>
Reviewed-by: Nicholas Kazlauskas <Nicholas.Kazlauskas@amd.com>
Acked-by: Eryk Brol <eryk.brol@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
Reverting c8ea79a8a2767e7948c778237be655a109366eb9 on top of 5.11.0 fixes the issue for me. Patch used to test reverting attached, as the commit did not revert cleanly.
Attached files:
dmesg-working.txt (5.10.16)
dmesg-broken.txt (5.11.0)