aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRob Clark <robdclark@gmail.com>2014-11-19 16:41:33 -0500
committerRob Clark <robdclark@gmail.com>2014-11-21 16:06:10 -0500
commit934ce1c23624526d9d784e0499190bb48113e6f4 (patch)
treed3368258c45e5b1d85bfd3ebbf83375e7637e08d
parent4dd14fe6fb8119d1d8c87127ebc74c63deb2ffc8 (diff)
drm/atomic: check mode_changed *after* atomic_check
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>
-rw-r--r--drivers/gpu/drm/drm_atomic_helper.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c
index 690360038dc1..3a74e81a78df 100644
--- a/drivers/gpu/drm/drm_atomic_helper.c
+++ b/drivers/gpu/drm/drm_atomic_helper.c
@@ -331,7 +331,7 @@ mode_fixup(struct drm_atomic_state *state)
331} 331}
332 332
333static int 333static int
334drm_atomic_helper_check_prepare(struct drm_device *dev, 334drm_atomic_helper_check_modeset(struct drm_device *dev,
335 struct drm_atomic_state *state) 335 struct drm_atomic_state *state)
336{ 336{
337 int ncrtcs = dev->mode_config.num_crtc; 337 int ncrtcs = dev->mode_config.num_crtc;
@@ -428,10 +428,6 @@ int drm_atomic_helper_check(struct drm_device *dev,
428 int ncrtcs = dev->mode_config.num_crtc; 428 int ncrtcs = dev->mode_config.num_crtc;
429 int i, ret = 0; 429 int i, ret = 0;
430 430
431 ret = drm_atomic_helper_check_prepare(dev, state);
432 if (ret)
433 return ret;
434
435 for (i = 0; i < nplanes; i++) { 431 for (i = 0; i < nplanes; i++) {
436 struct drm_plane_helper_funcs *funcs; 432 struct drm_plane_helper_funcs *funcs;
437 struct drm_plane *plane = state->planes[i]; 433 struct drm_plane *plane = state->planes[i];
@@ -475,6 +471,10 @@ int drm_atomic_helper_check(struct drm_device *dev,
475 } 471 }
476 } 472 }
477 473
474 ret = drm_atomic_helper_check_modeset(dev, state);
475 if (ret)
476 return ret;
477
478 return ret; 478 return ret;
479} 479}
480EXPORT_SYMBOL(drm_atomic_helper_check); 480EXPORT_SYMBOL(drm_atomic_helper_check);