From: Harry Wentland <harry.wentl...@amd.com>

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: Agustin Gutierrez <agustin.gutier...@amd.com>
Reviewed-by: Sun peng Li <sunpeng...@amd.com>
Acked-by: Wayne Lin <wayne....@amd.com>
Signed-off-by: Harry Wentland <harry.wentl...@amd.com>
---
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c 
b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
index 75b65b243f1e..9d36dba914e9 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@ -8498,7 +8498,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;
@@ -8850,7 +8851,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:
-- 
2.37.3

Reply via email to