]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
drm/amd/display: Avoid HPD IRQ in GPU reset state
authorZhan Liu <zhan.liu@amd.com>
Sun, 9 May 2021 23:30:36 +0000 (19:30 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 14 Jul 2021 14:59:46 +0000 (16:59 +0200)
[ Upstream commit 509b9a5b4865dee723296f143695a7774fc96c4a ]

[Why]
If GPU is in reset state, force enabling link will cause
unexpected behaviour.

[How]
Avoid handling HPD IRQ when GPU is in reset state.

Signed-off-by: Zhan Liu <zhan.liu@amd.com>
Reviewed-by: Nikola Cornij <nikola.cornij@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c

index d95569e0e53a6ea1e3b30c1eac5e55b85a07b4e1..61337d4c0bb2ba946a44de9143e41da0db97f261 100644 (file)
@@ -2624,15 +2624,15 @@ static void handle_hpd_rx_irq(void *param)
                }
        }
 
-       if (!amdgpu_in_reset(adev))
+       if (!amdgpu_in_reset(adev)) {
                mutex_lock(&adev->dm.dc_lock);
 #ifdef CONFIG_DRM_AMD_DC_HDCP
        result = dc_link_handle_hpd_rx_irq(dc_link, &hpd_irq_data, NULL);
 #else
        result = dc_link_handle_hpd_rx_irq(dc_link, NULL, NULL);
 #endif
-       if (!amdgpu_in_reset(adev))
                mutex_unlock(&adev->dm.dc_lock);
+       }
 
 out:
        if (result && !is_mst_root_connector) {