drm/amdgpu/mst: Stop ignoring error codes and deadlocking
authorLyude Paul <lyude@redhat.com>
Mon, 14 Nov 2022 22:17:52 +0000 (17:17 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 21 Nov 2022 21:38:23 +0000 (16:38 -0500)
commitba891436c2d2b2a6d6c1bc3733bab3b72f07e87f
treed8ac7f3c7af12fbdec36cecf10170153163c650c
parent3ca682389435681e2d660428be2187fbae0effbb
drm/amdgpu/mst: Stop ignoring error codes and deadlocking

It appears that amdgpu makes the mistake of completely ignoring the return
values from the DP MST helpers, and instead just returns a simple
true/false. In this case, it seems to have come back to bite us because as
a result of simply returning false from
compute_mst_dsc_configs_for_state(), amdgpu had no way of telling when a
deadlock happened from these helpers. This could definitely result in some
kernel splats.

V2:
* Address Wayne's comments (fix another bunch of spots where we weren't
  passing down return codes)

Signed-off-by: Lyude Paul <lyude@redhat.com>
Fixes: 8c20a1ed9b4f ("drm/amd/display: MST DSC compute fair share")
Cc: Harry Wentland <harry.wentland@amd.com>
Cc: <stable@vger.kernel.org> # v5.6+
Reviewed-by: Wayne Lin <Wayne.Lin@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.h