drm/i915/skl: Don't allow disabling ppgtt and execlists on gen9+
authorDamien Lespiau <damien.lespiau@intel.com>
Fri, 14 Nov 2014 15:05:59 +0000 (15:05 +0000)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Fri, 14 Nov 2014 17:17:31 +0000 (18:17 +0100)
Running the driver without execlists and hence PPGTT (either aliasing or
full) isn't a supported configuration on gen9+.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_gem_gtt.c
drivers/gpu/drm/i915/intel_lrc.c

index 68a27b2..29a4486 100644 (file)
@@ -43,7 +43,12 @@ static int sanitize_enable_ppgtt(struct drm_device *dev, int enable_ppgtt)
        if (IS_GEN8(dev))
                has_full_ppgtt = false; /* XXX why? */
 
-       if (enable_ppgtt == 0 || !has_aliasing_ppgtt)
+       /*
+        * We don't allow disabling PPGTT for gen9+ as it's a requirement for
+        * execlists, the sole mechanism available to submit work.
+        */
+       if (INTEL_INFO(dev)->gen < 9 &&
+           (enable_ppgtt == 0 || !has_aliasing_ppgtt))
                return 0;
 
        if (enable_ppgtt == 1)
index 0eee428..b7c4c9a 100644 (file)
@@ -220,6 +220,9 @@ int intel_sanitize_enable_execlists(struct drm_device *dev, int enable_execlists
 {
        WARN_ON(i915.enable_ppgtt == -1);
 
+       if (INTEL_INFO(dev)->gen >= 9)
+               return 1;
+
        if (enable_execlists == 0)
                return 0;