drm/i915/bdw: Always use MMIO flips with Execlists
authorOscar Mateo <oscar.mateo@intel.com>
Thu, 24 Jul 2014 16:04:34 +0000 (17:04 +0100)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Mon, 11 Aug 2014 21:25:49 +0000 (23:25 +0200)
The normal flip function places things in the ring in the legacy
way, so we either fix that or force MMIO flips always as we do in
this patch.

Signed-off-by: Oscar Mateo <oscar.mateo@intel.com>
Reviewed-by: Damien Lespiau <damien.lespiau@intel.com>
[danvet: Checkpatch. Fucking again.]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/intel_display.c
drivers/gpu/drm/i915/intel_lrc.c

index 245cf412831408d0ebc7699bae9f574380d98261..1bd1aa21a8e9037e0071a33eba6c3dbc24d6d76d 100644 (file)
@@ -9536,6 +9536,8 @@ static bool use_mmio_flip(struct intel_engine_cs *ring,
                return false;
        else if (i915.use_mmio_flip > 0)
                return true;
+       else if (i915.enable_execlists)
+               return true;
        else
                return ring != obj->ring;
 }
index e1a298f23f508f1c3640872894c43381b6b9dafd..6f1b64e01a051ecc6d9b290c4ff723e3f7de62a2 100644 (file)
@@ -85,7 +85,8 @@ int intel_sanitize_enable_execlists(struct drm_device *dev, int enable_execlists
        if (enable_execlists == 0)
                return 0;
 
-       if (HAS_LOGICAL_RING_CONTEXTS(dev) && USES_PPGTT(dev))
+       if (HAS_LOGICAL_RING_CONTEXTS(dev) && USES_PPGTT(dev) &&
+           i915.use_mmio_flip >= 0)
                return 1;
 
        return 0;