Commit 41ef8fbb authored by Aric Cyr's avatar Aric Cyr Committed by Alex Deucher

drm/amd/display: Fix FreeSync when RGB MPO in use

[WHY]
We should skip programming manual trigger on non-primary planes when MPO is
enabled.

[HOW]
Implement an explicit mechanism for skipping manual trigger programming
for planes that shouldn't cause the frame to end.
Signed-off-by: default avatarAric Cyr <aric.cyr@amd.com>
Reviewed-by: default avatarAnthony Koo <Anthony.Koo@amd.com>
Acked-by: default avatarAurabindo Pillai <aurabindo.pillai@amd.com>
Acked-by: default avatarKrunoslav Kovac <Krunoslav.Kovac@amd.com>
Tested-by: default avatarDaniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 9c82354e
...@@ -2833,7 +2833,8 @@ static void commit_planes_for_stream(struct dc *dc, ...@@ -2833,7 +2833,8 @@ static void commit_planes_for_stream(struct dc *dc,
if (pipe_ctx->bottom_pipe || pipe_ctx->next_odm_pipe || if (pipe_ctx->bottom_pipe || pipe_ctx->next_odm_pipe ||
!pipe_ctx->stream || pipe_ctx->stream != stream || !pipe_ctx->stream || pipe_ctx->stream != stream ||
!pipe_ctx->plane_state->update_flags.bits.addr_update) !pipe_ctx->plane_state->update_flags.bits.addr_update ||
pipe_ctx->plane_state->skip_manual_trigger)
continue; continue;
if (pipe_ctx->stream_res.tg->funcs->program_manual_trigger) if (pipe_ctx->stream_res.tg->funcs->program_manual_trigger)
......
...@@ -907,6 +907,8 @@ struct dc_plane_state { ...@@ -907,6 +907,8 @@ struct dc_plane_state {
union surface_update_flags update_flags; union surface_update_flags update_flags;
bool flip_int_enabled; bool flip_int_enabled;
bool skip_manual_trigger;
/* private to DC core */ /* private to DC core */
struct dc_plane_status status; struct dc_plane_status status;
struct dc_context *ctx; struct dc_context *ctx;
......
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