mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-08 05:43:28 -04:00
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: Aric Cyr <aric.cyr@amd.com> Reviewed-by: Anthony Koo <Anthony.Koo@amd.com> Acked-by: Aurabindo Pillai <aurabindo.pillai@amd.com> Acked-by: Krunoslav Kovac <Krunoslav.Kovac@amd.com> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
@@ -2833,7 +2833,8 @@ static void commit_planes_for_stream(struct dc *dc,
|
||||
|
||||
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)
|
||||
!pipe_ctx->plane_state->update_flags.bits.addr_update ||
|
||||
pipe_ctx->plane_state->skip_manual_trigger)
|
||||
continue;
|
||||
|
||||
if (pipe_ctx->stream_res.tg->funcs->program_manual_trigger)
|
||||
|
||||
@@ -907,6 +907,8 @@ struct dc_plane_state {
|
||||
|
||||
union surface_update_flags update_flags;
|
||||
bool flip_int_enabled;
|
||||
bool skip_manual_trigger;
|
||||
|
||||
/* private to DC core */
|
||||
struct dc_plane_status status;
|
||||
struct dc_context *ctx;
|
||||
|
||||
Reference in New Issue
Block a user