drm/atomic: check mode_changed *after* atomic_check
authorRob Clark <robdclark@gmail.com>
Wed, 19 Nov 2014 21:41:33 +0000 (16:41 -0500)
committerRob Clark <robdclark@gmail.com>
Fri, 21 Nov 2014 21:06:10 +0000 (16:06 -0500)
The intention is that drivers can set crtc_state->mode_changed in their
atomic_check() fxns if they encounter a scenario that requires full
modeset.

Signed-off-by: Rob Clark <robdclark@gmail.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/drm_atomic_helper.c

index 690360038dc11d37729def0ef19bc885a5df458e..3a74e81a78df99db4908c8cd99ae898d54a2299a 100644 (file)
@@ -331,7 +331,7 @@ mode_fixup(struct drm_atomic_state *state)
 }
 
 static int
-drm_atomic_helper_check_prepare(struct drm_device *dev,
+drm_atomic_helper_check_modeset(struct drm_device *dev,
                                struct drm_atomic_state *state)
 {
        int ncrtcs = dev->mode_config.num_crtc;
@@ -428,10 +428,6 @@ int drm_atomic_helper_check(struct drm_device *dev,
        int ncrtcs = dev->mode_config.num_crtc;
        int i, ret = 0;
 
-       ret = drm_atomic_helper_check_prepare(dev, state);
-       if (ret)
-               return ret;
-
        for (i = 0; i < nplanes; i++) {
                struct drm_plane_helper_funcs *funcs;
                struct drm_plane *plane = state->planes[i];
@@ -475,6 +471,10 @@ int drm_atomic_helper_check(struct drm_device *dev,
                }
        }
 
+       ret = drm_atomic_helper_check_modeset(dev, state);
+       if (ret)
+               return ret;
+
        return ret;
 }
 EXPORT_SYMBOL(drm_atomic_helper_check);