drm/amd/display: Fix system hang after multiple hotplugs (v3)
authorQingqing Zhuo <qingqing.zhuo@amd.com>
Tue, 9 Feb 2021 21:36:41 +0000 (16:36 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 24 Feb 2021 14:48:46 +0000 (09:48 -0500)
commitea3b4242bc9ca197762119382b37e125815bd67f
tree204dec819ae22e4b4fc6b5e7378bcd61df00ca78
parentb092b19602cfd47de1eeeb3a1b03822afd86b136
drm/amd/display: Fix system hang after multiple hotplugs (v3)

[Why]
mutex_lock() was introduced in dm_disable_vblank(), which could
be called in an IRQ context. Waiting in IRQ would cause issues
like kernel lockup, etc.

[How]
Handle code that requires mutex lock on a different thread.

v2: squash in compilation fix without CONFIG_DRM_AMD_DC_DCN (Alex)
v3: squash in warning fix (Wei)

Signed-off-by: Qingqing Zhuo <qingqing.zhuo@amd.com>
Acked-by: Bindu Ramamurthy <bindu.r@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h