From: jsg Date: Fri, 11 Oct 2024 02:56:45 +0000 (+0000) Subject: drm/amd/display: Fix system hang while resume with TBT monitor X-Git-Url: http://artulab.com/gitweb/?a=commitdiff_plain;h=8855c8f755c7348027a57df225037c8d63276fd2;p=openbsd 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 --- 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;