Commit e582c097 authored by Harry Wentland's avatar Harry Wentland Committed by Alex Deucher

drm/amd/display: Always use legacy way of setting cursor on DCE

Some IGT tests fail with the new atomic cursor updates
when running on older DCE-based ASICs. To work around
these issues keep calling the amdgpu_dm_commit_cursors
for each cursor update on DCE, even if those cursor
updates coincide with other plane updates.
Reviewed-by: default avatarAgustin Gutierrez <agustin.gutierrez@amd.com>
Reviewed-by: default avatarSun peng Li <sunpeng.li@amd.com>
Acked-by: default avatarWayne Lin <wayne.lin@amd.com>
Signed-off-by: default avatarHarry Wentland <harry.wentland@amd.com>
Tested-by: default avatarDaniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 7e0357be
......@@ -8497,7 +8497,8 @@ static void amdgpu_dm_commit_planes(struct drm_atomic_state *state,
if ((fb && crtc == pcrtc) ||
(old_plane_state->fb && old_plane_state->crtc == pcrtc)) {
cursor_update = true;
amdgpu_dm_update_cursor(plane, old_plane_state, &bundle->stream_update);
if (amdgpu_ip_version(dm->adev, DCE_HWIP, 0) != 0)
amdgpu_dm_update_cursor(plane, old_plane_state, &bundle->stream_update);
}
continue;
......@@ -8849,7 +8850,8 @@ static void amdgpu_dm_commit_planes(struct drm_atomic_state *state,
* This avoids redundant programming in the case where we're going
* to be disabling a single plane - those pipes are being disabled.
*/
if (acrtc_state->active_planes && !updated_planes_and_streams)
if (acrtc_state->active_planes &&
(!updated_planes_and_streams || amdgpu_ip_version(dm->adev, DCE_HWIP, 0) == 0))
amdgpu_dm_commit_cursors(state);
cleanup:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment