OSDN Git Service

drm/amd/display: Clear update flags at end of flip
authorAlvin Lee <alvin.lee2@amd.com>
Wed, 7 Jun 2023 21:17:59 +0000 (17:17 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 23 Jun 2023 19:42:21 +0000 (15:42 -0400)
Clear update flags so the next flip does not have any redundant
programming (if a subsequent flip does not have a stream or plane
update, the update flags are not cleared).

Fixes: 0baae6246307 ("drm/amd/display: Refactor fast update to use new HWSS build sequence")
Reviewed-by: Jun Lei <jun.lei@amd.com>
Acked-by: Hamza Mahfooz <hamza.mahfooz@amd.com>
Signed-off-by: Alvin Lee <alvin.lee2@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/core/dc.c

index dd3a9d0..4bacbd9 100644 (file)
@@ -3577,6 +3577,13 @@ static void commit_planes_for_stream_fast(struct dc *dc,
        hwss_execute_sequence(dc,
                        context->block_sequence,
                        context->block_sequence_steps);
+       /* Clear update flags so next flip doesn't have redundant programming
+        * (if there's no stream update, the update flags are not cleared).
+        */
+       if (top_pipe_to_program->plane_state)
+               top_pipe_to_program->plane_state->update_flags.raw = 0;
+       if (top_pipe_to_program->stream)
+               top_pipe_to_program->stream->update_flags.raw = 0;
 }
 
 static void commit_planes_for_stream(struct dc *dc,