提交 460da916 编写于 作者: D Daniel Vetter

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: NPaulo Zanoni <paulo.r.zanoni@intel.com>
Reviewed-by: NJesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
上级 b8cecdf5
...@@ -7857,12 +7857,6 @@ int intel_set_mode(struct drm_crtc *crtc, ...@@ -7857,12 +7857,6 @@ int intel_set_mode(struct drm_crtc *crtc,
intel_modeset_affected_pipes(crtc, &modeset_pipes, intel_modeset_affected_pipes(crtc, &modeset_pipes,
&prepare_pipes, &disable_pipes); &prepare_pipes, &disable_pipes);
DRM_DEBUG_KMS("set mode pipe masks: modeset: %x, prepare: %x, disable: %x\n",
modeset_pipes, prepare_pipes, disable_pipes);
for_each_intel_crtc_masked(dev, disable_pipes, intel_crtc)
intel_crtc_disable(&intel_crtc->base);
*saved_hwmode = crtc->hwmode; *saved_hwmode = crtc->hwmode;
*saved_mode = crtc->mode; *saved_mode = crtc->mode;
...@@ -7881,6 +7875,12 @@ int intel_set_mode(struct drm_crtc *crtc, ...@@ -7881,6 +7875,12 @@ int intel_set_mode(struct drm_crtc *crtc,
} }
} }
DRM_DEBUG_KMS("set mode pipe masks: modeset: %x, prepare: %x, disable: %x\n",
modeset_pipes, prepare_pipes, disable_pipes);
for_each_intel_crtc_masked(dev, disable_pipes, intel_crtc)
intel_crtc_disable(&intel_crtc->base);
for_each_intel_crtc_masked(dev, prepare_pipes, intel_crtc) { for_each_intel_crtc_masked(dev, prepare_pipes, intel_crtc) {
if (intel_crtc->base.enabled) if (intel_crtc->base.enabled)
dev_priv->display.crtc_disable(&intel_crtc->base); dev_priv->display.crtc_disable(&intel_crtc->base);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册