OSDN Git Service

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>
Thu, 17 Nov 2022 05:18:25 +0000 (00:18 -0500)
commit7cce4cd628bee0d0caff7518c377cf8f599aa38f
tree552c5dbee4c9e61eda9f47c40cca35ff948423ee
parentc6023d73a31b03f9b482a518f7b27acccc013895
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