Skip to content

Commit

Permalink
drm/amd/display: do not synchronize "drr" displays
Browse files Browse the repository at this point in the history
[why]
A display that supports DRR can never really be considered
"synchronized" with any other display because we can dynamically
enable DRR (i.e. without modeset).  this will cause their
relative CRTC positions to drift and lose sync.  this will disrupt
features such as MCLK switching that assume and depend on
their permanent alignment (that can only change with modeset)

[how]
check for ignore_msa in stream when considered synchronizability
this ignore_msa is basically actually implemented as "supports drr"

Signed-off-by: Jun Lei <Jun.Lei@amd.com>
Reviewed-by: Yongqiang Sun <yongqiang.sun@amd.com>
Acked-by: Anthony Koo <Anthony.Koo@amd.com>
Acked-by: Leo Li <sunpeng.li@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
  • Loading branch information
Jun Lei authored and Alex Deucher committed Oct 30, 2019
1 parent 57c0f58 commit 8775e89
Showing 1 changed file with 6 additions and 0 deletions.
6 changes: 6 additions & 0 deletions drivers/gpu/drm/amd/display/dc/core/dc_resource.c
Original file line number Diff line number Diff line change
Expand Up @@ -404,6 +404,9 @@ bool resource_are_streams_timing_synchronizable(
if (stream1->view_format != stream2->view_format)
return false;

if (stream1->ignore_msa_timing_param || stream2->ignore_msa_timing_param)
return false;

return true;
}
static bool is_dp_and_hdmi_sharable(
Expand Down Expand Up @@ -1540,6 +1543,9 @@ bool dc_is_stream_unchanged(
if (!are_stream_backends_same(old_stream, stream))
return false;

if (old_stream->ignore_msa_timing_param != stream->ignore_msa_timing_param)
return false;

return true;
}

Expand Down

0 comments on commit 8775e89

Please sign in to comment.