drm/i915: Track the primary plane correctly when reassigning planes
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Mon, 14 Jul 2014 17:35:31 +0000 (19:35 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Mon, 14 Jul 2014 17:35:31 +0000 (19:35 +0200)
commit 98ec77397a5c68ce753dc283aaa6f4742328bcdd
Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
Date:   Wed Apr 30 17:43:01 2014 +0300

    drm/i915: Make primary_enabled match the actual hardware state

introduced more accurate tracking of the primary plane and some
checks. It missed the plane->pipe reassignement code for gen2/3
though, which the checks caught and resulted in WARNING backtraces.

Since we only use this path if the plane is on and on the wrong pipe
we can just always set the tracking bit to "enabled".

Reported-and-tested-by: Paul Bolle <pebolle@tiscali.nl>
Cc: Paul Bolle <pebolle@tiscali.nl>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/intel_display.c

index 82e7d57f0a8ab23d01c5f80374653e6bce5b5ca0..f0be855ddf45c5b817edd0efb7b28eb658fe032c 100644 (file)
@@ -11914,6 +11914,7 @@ static void intel_sanitize_crtc(struct intel_crtc *crtc)
                 * ...  */
                plane = crtc->plane;
                crtc->plane = !plane;
+               crtc->primary_enabled = true;
                dev_priv->display.crtc_disable(&crtc->base);
                crtc->plane = plane;