drm/i915: add i9xx pfit pipe asserts
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Thu, 11 Apr 2013 14:29:10 +0000 (16:29 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Thu, 18 Apr 2013 07:55:47 +0000 (09:55 +0200)
We can only enable the pfit if the pipe is disabled. Ensure that this
is obeyed with a neat assert.

Also check whether the pfit is off before enabling it - if not we've
lost track of things somewhere since the pfit is only ever used by the
lvds output.

v2: Fix spell fail in the commit message pointed out by Ville&Jani.

Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/intel_lvds.c

index f36f1ba..563f505 100644 (file)
@@ -159,6 +159,9 @@ static void intel_pre_enable_lvds(struct intel_encoder *encoder)
        if (HAS_PCH_SPLIT(dev) || !enc->pfit_control)
                return;
 
+       WARN_ON(I915_READ(PFIT_CONTROL) & PFIT_ENABLE);
+       assert_pipe_disabled(dev_priv, to_intel_crtc(encoder->base.crtc)->pipe);
+
        /*
         * Enable automatic panel scaling so that non-native modes
         * fill the screen.  The panel fitter should only be