aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2013-03-26 19:44:51 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2013-03-27 19:50:05 -0400
commit460da91617d870972a7ae300fad3e13731b67757 (patch)
tree20d57997f5301d41c577c144eb968a9d6eaa2529 /drivers/gpu/drm
parentb8cecdf5a8cb847b8234fa3f5b61e89aea53032f (diff)
drm/i915: compute pipe_config earlier
To make decent modeset state checking possible (e.g. for the check mode with atomic modesetting) we want to have the full pipe configuration and state checks done before we touch the hw. To ensure that all the little bits&pieces that are now moved to the pipe_config handle this correctly, move its computation to the right spot now, before we touch the hw in the disable_pipes step. Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com> Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm')
-rw-r--r--drivers/gpu/drm/i915/intel_display.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index e22be581ed9b..1e3090978882 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -7857,12 +7857,6 @@ int intel_set_mode(struct drm_crtc *crtc,
7857 intel_modeset_affected_pipes(crtc, &modeset_pipes, 7857 intel_modeset_affected_pipes(crtc, &modeset_pipes,
7858 &prepare_pipes, &disable_pipes); 7858 &prepare_pipes, &disable_pipes);
7859 7859
7860 DRM_DEBUG_KMS("set mode pipe masks: modeset: %x, prepare: %x, disable: %x\n",
7861 modeset_pipes, prepare_pipes, disable_pipes);
7862
7863 for_each_intel_crtc_masked(dev, disable_pipes, intel_crtc)
7864 intel_crtc_disable(&intel_crtc->base);
7865
7866 *saved_hwmode = crtc->hwmode; 7860 *saved_hwmode = crtc->hwmode;
7867 *saved_mode = crtc->mode; 7861 *saved_mode = crtc->mode;
7868 7862
@@ -7881,6 +7875,12 @@ int intel_set_mode(struct drm_crtc *crtc,
7881 } 7875 }
7882 } 7876 }
7883 7877
7878 DRM_DEBUG_KMS("set mode pipe masks: modeset: %x, prepare: %x, disable: %x\n",
7879 modeset_pipes, prepare_pipes, disable_pipes);
7880
7881 for_each_intel_crtc_masked(dev, disable_pipes, intel_crtc)
7882 intel_crtc_disable(&intel_crtc->base);
7883
7884 for_each_intel_crtc_masked(dev, prepare_pipes, intel_crtc) { 7884 for_each_intel_crtc_masked(dev, prepare_pipes, intel_crtc) {
7885 if (intel_crtc->base.enabled) 7885 if (intel_crtc->base.enabled)
7886 dev_priv->display.crtc_disable(&intel_crtc->base); 7886 dev_priv->display.crtc_disable(&intel_crtc->base);