From 8855c8f755c7348027a57df225037c8d63276fd2 Mon Sep 17 00:00:00 2001 From: jsg Date: Fri, 11 Oct 2024 02:56:45 +0000 Subject: [PATCH] drm/amd/display: Fix system hang while resume with TBT monitor From Tom Chung 68d603f467a75618eeae5bfe8af32cda47097010 in linux-6.6.y/6.6.55 52d4e3fb3d340447dcdac0e14ff21a764f326907 in mainline linux --- sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm.c index 0c871c9338c..70e743bd08f 100644 --- a/sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm.c +++ b/sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm.c @@ -714,6 +714,12 @@ static void dmub_hpd_callback(struct amdgpu_device *adev, return; } + /* Skip DMUB HPD IRQ in suspend/resume. We will probe them later. */ + if (notify->type == DMUB_NOTIFICATION_HPD && adev->in_suspend) { + DRM_INFO("Skip DMUB HPD IRQ callback in suspend/resume\n"); + return; + } + link_index = notify->link_index; link = adev->dm.dc->links[link_index]; dev = adev->dm.ddev; -- 2.20.1