drm/amd/display: Avoid updating surface with the same surface under MPO
authorWayne Lin <Wayne.Lin@amd.com>
Fri, 23 Jan 2026 06:47:01 +0000 (14:47 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 12 Feb 2026 20:08:13 +0000 (15:08 -0500)
[Why & How]
Although it's dummy updates of surface update for committing stream
updates, we should not have dummy_updates[j].surface all indicating
to the same surface under multiple surfaces case. Otherwise,
copy_surface_update_to_plane() in update_planes_and_stream_state()
will update to the same surface only.

Reviewed-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Wayne Lin <Wayne.Lin@amd.com>
Signed-off-by: Tom Chung <chiahsuan.chung@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c

index d870ce2..9fcb467 100644 (file)
@@ -10974,7 +10974,7 @@ static void amdgpu_dm_atomic_commit_tail(struct drm_atomic_state *state)
                        continue;
                }
                for (j = 0; j < status->plane_count; j++)
-                       dummy_updates[j].surface = status->plane_states[0];
+                       dummy_updates[j].surface = status->plane_states[j];
 
                sort(dummy_updates, status->plane_count,
                     sizeof(*dummy_updates), dm_plane_layer_index_cmp, NULL);