drm/amd/display: Don't trigger flip twice when ODM combine in use
authorAric Cyr <aric.cyr@amd.com>
Thu, 8 Oct 2020 13:25:29 +0000 (09:25 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 26 Oct 2020 17:33:24 +0000 (13:33 -0400)
[Why]
When ODM combine is in use we trigger multiple update events causing
issues with variable refresh rate.

[How]
Only trigger on a single ODM instance.

Signed-off-by: Aric Cyr <aric.cyr@amd.com>
Acked-by: Aurabindo Pillai <aurabindo.pillai@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/core/dc.c

index f188af1b310abc8f3b29fd4e7041e88ae81f22f6..166dbaa251e900fd3aea6b25a4f257a633cea8cc 100644 (file)
@@ -2627,9 +2627,8 @@ static void commit_planes_for_stream(struct dc *dc,
        for (j = 0; j < dc->res_pool->pipe_count; j++) {
                struct pipe_ctx *pipe_ctx = &context->res_ctx.pipe_ctx[j];
 
-               if (pipe_ctx->bottom_pipe ||
-                               !pipe_ctx->stream ||
-                               pipe_ctx->stream != stream ||
+               if (pipe_ctx->bottom_pipe || pipe_ctx->next_odm_pipe ||
+                               !pipe_ctx->stream || pipe_ctx->stream != stream ||
                                !pipe_ctx->plane_state->update_flags.bits.addr_update)
                        continue;