]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
drm/i915: Improve assert_planes_disabled()
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Tue, 4 Jun 2013 10:49:05 +0000 (13:49 +0300)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Thu, 6 Jun 2013 11:49:04 +0000 (13:49 +0200)
Ever since gen4 primary planes were fixed to pipes.

And for gen2-3, don't check plane B if it doesn't exist.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/intel_display.c

index f084a1dd8f4d4ceb1a2d2c948c618dc676c884c5..0f0ac933bd6c6b5a11d6b7fe23b68e0ddf94d21c 100644 (file)
@@ -1105,12 +1105,13 @@ static void assert_plane(struct drm_i915_private *dev_priv,
 static void assert_planes_disabled(struct drm_i915_private *dev_priv,
                                   enum pipe pipe)
 {
+       struct drm_device *dev = dev_priv->dev;
        int reg, i;
        u32 val;
        int cur_pipe;
 
-       /* Planes are fixed to pipes on ILK+ */
-       if (HAS_PCH_SPLIT(dev_priv->dev) || IS_VALLEYVIEW(dev_priv->dev)) {
+       /* Primary planes are fixed to pipes on gen4+ */
+       if (INTEL_INFO(dev)->gen >= 4) {
                reg = DSPCNTR(pipe);
                val = I915_READ(reg);
                WARN((val & DISPLAY_PLANE_ENABLE),
@@ -1120,7 +1121,7 @@ static void assert_planes_disabled(struct drm_i915_private *dev_priv,
        }
 
        /* Need to check both planes against the pipe */
-       for (i = 0; i < 2; i++) {
+       for (i = 0; i < INTEL_INFO(dev)->num_pipes; i++) {
                reg = DSPCNTR(i);
                val = I915_READ(reg);
                cur_pipe = (val & DISPPLANE_SEL_PIPE_MASK) >>