[Bisected][Radeon] Monitor connected with DisplayPort shows a black screen on boot
I have a desktop HP EliteDesk 705 G1
that has the graphics card
Advanced Micro Devices, Inc. [AMD/ATI] Richland [Radeon HD 8470D] [1002:9996]
as reported by lspci
. I have a monitor HP E27u G4
connected to this desktop via DisplayPort. When I boot up Ubuntu 23.04, the monitor initially shows the splash screen (indicating that the monitor does work) but then fails to detect a signal when it boots Ubuntu. Unplugging the DisplayPort cable and then plugging it back in fixes the issue (i.e. I can see the Ubuntu screen and everything works fine).
It might be worth noting that I have been working on ChromeOS Flex to try to figure out the cause of the issue because that is where I saw the issue initially. I believe that all my findings below apply to Ubuntu 23.04 as well; the issue certainly is able to be reproduced on Ubuntu 23.04.
On ChromeOS Flex, running kernel 5.15 with some backported changes from 6.1, this upstream commit https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/gpu/drm/radeon?id=01ad1d9c2888d51f2fb5b5ac88af8bd47d76937e seems to be where the issue started happening. Reintroducing the deleted lines to drivers/gpu/drm/radeon/radeon_irq_kms.c
's function static void radeon_dp_work_func(struct work_struct *work)
fixes the issue (i.e. the monitor displays the GUI correctly without needing to reconnect the DisplayPort cable). (The deleted lines I reintroduced can be more clearly seen in this link https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/gpu/drm/radeon/radeon_irq_kms.c?id=01ad1d9c2888d51f2fb5b5ac88af8bd47d76937e.)