OSDN Git Service

drm/amd/display: Do DC mode-change check after stream creation
authorLeo (Sunpeng) Li <sunpeng.li@amd.com>
Tue, 21 Nov 2017 18:19:04 +0000 (13:19 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 20 Dec 2017 19:46:18 +0000 (14:46 -0500)
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 <sunpeng.li@amd.com>
Reviewed-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c

index 1cf51bc..232c7ea 100644 (file)
@@ -4513,18 +4513,15 @@ static int dm_update_crtcs_state(struct dc *dc,
                                                __func__, acrtc->base.base.id);
                                break;
                        }
-               }
-
-               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 (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;