Skip to content

Commit d1bb88e

Browse files
Mikita Lipskialexdeucher
authored andcommitted
drm/amdgpu: Use atomic function to disable crtcs with dc enabled
This change fixes the deadlock when unloading the driver with displays connected. Signed-off-by: Mikita Lipski <[email protected]> Reviewed-by: Andrey Grodzovsky <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
1 parent 2681bc7 commit d1bb88e

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

drivers/gpu/drm/amd/amdgpu/amdgpu_device.c

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2063,9 +2063,12 @@ void amdgpu_device_fini(struct amdgpu_device *adev)
20632063

20642064
DRM_INFO("amdgpu: finishing device.\n");
20652065
adev->shutdown = true;
2066-
if (adev->mode_info.mode_config_initialized)
2067-
drm_crtc_force_disable_all(adev->ddev);
2068-
2066+
if (adev->mode_info.mode_config_initialized){
2067+
if (!amdgpu_device_has_dc_support(adev))
2068+
drm_crtc_force_disable_all(adev->ddev);
2069+
else
2070+
drm_atomic_helper_shutdown(adev->ddev);
2071+
}
20692072
amdgpu_ib_pool_fini(adev);
20702073
amdgpu_fence_driver_fini(adev);
20712074
amdgpu_fbdev_fini(adev);

0 commit comments

Comments
 (0)