drm/amd/display: Fix deadlock when falling back to v2 from v3
authorNicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Fri, 22 Oct 2021 20:14:24 +0000 (16:14 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 28 Oct 2021 18:26:51 +0000 (14:26 -0400)
commitf638d7505f99bca9436aac37b2a1ecb3f84803a5
treecb145f3963cfa46a481161481bf90aafc7eb0c99
parent1e5588d14065eeb154ef15fbe3f74ace9460a386
drm/amd/display: Fix deadlock when falling back to v2 from v3

[Why]
A deadlock in the kernel occurs when we fallback from the V3 to V2
add_topology_to_display or remove_topology_to_display because they
both try to acquire the dtm_mutex but recursive locking isn't
supported on mutex_lock().

[How]
Make the mutex_lock/unlock more fine grained and move them up such that
they're only required for the psp invocation itself.

Fixes: bf62221e9d0e ("drm/amd/display: Add DCN3.1 HDCP support")

Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Reviewed-by: Aric Cyr <aric.cyr@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/modules/hdcp/hdcp_psp.c