From a97599a4a292d687b35434993f1367b2d142b1b4 Mon Sep 17 00:00:00 2001 From: "Leo (Sunpeng) Li" Date: Tue, 21 Nov 2017 13:19:04 -0500 Subject: [PATCH] drm/amd/display: Do DC mode-change check after stream creation Do DC level mode change checks (via dc_stream_state) only when creating a new stream, as this check is uneccessary without a new dc_stream_state anyways. Doing so better demonstrates the intent of this mode-change check, in comparison to guarding it with the 'enable' flag. Signed-off-by: Leo (Sunpeng) Li Reviewed-by: Harry Wentland Signed-off-by: Alex Deucher --- .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c index 1cf51bcbbb4a..232c7ea7baa8 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c @@ -4513,18 +4513,15 @@ static int dm_update_crtcs_state(struct dc *dc, __func__, acrtc->base.base.id); break; } + + if (dc_is_stream_unchanged(new_stream, dm_old_crtc_state->stream) && + dc_is_stream_scaling_unchanged(new_stream, dm_old_crtc_state->stream)) { + new_crtc_state->mode_changed = false; + DRM_DEBUG_DRIVER("Mode change not required, setting mode_changed to %d", + new_crtc_state->mode_changed); + } } - if (enable && dc_is_stream_unchanged(new_stream, dm_old_crtc_state->stream) && - dc_is_stream_scaling_unchanged(new_stream, dm_old_crtc_state->stream)) { - - new_crtc_state->mode_changed = false; - - DRM_DEBUG_DRIVER("Mode change not required, setting mode_changed to %d", - new_crtc_state->mode_changed); - } - - if (!drm_atomic_crtc_needs_modeset(new_crtc_state)) goto next_crtc;