drm/i915/gtt: Enable full-ppgtt by default everywhere
authorChris Wilson <chris@chris-wilson.co.uk>
Tue, 17 Jul 2018 09:57:50 +0000 (10:57 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Thu, 19 Jul 2018 16:03:59 +0000 (17:03 +0100)
We should we have all the kinks worked out and full-ppgtt now works
reliably on gen7 (Ivybridge, Valleyview/Baytrail and Haswell). If we can
let userspace have full control over their own ppgtt, it makes softpinning
far more effective, in turn making GPU dispatch far more efficient by
virtue of better mm segregation.  On the other hand, switching over to a
different GTT for every client does incur noticeable overhead, but only
for very lightweight tasks.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Cc: Matthew Auld <matthew.william.auld@gmail.com>
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Jason Ekstrand <jason.ekstrand@intel.com>
Cc: Kenneth Graunke <kenneth@whitecape.org>
Acked-by: Kenneth Graunke <kenneth@whitecape.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20180717095751.1034-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/i915_gem_gtt.c

index 3d75f2b..dd09d4d 100644 (file)
@@ -179,13 +179,11 @@ int intel_sanitize_enable_ppgtt(struct drm_i915_private *dev_priv,
                return 0;
        }
 
-       if (HAS_LOGICAL_RING_CONTEXTS(dev_priv)) {
-               if (has_full_48bit_ppgtt)
-                       return 3;
+       if (has_full_48bit_ppgtt)
+               return 3;
 
-               if (has_full_ppgtt)
-                       return 2;
-       }
+       if (has_full_ppgtt)
+               return 2;
 
        return 1;
 }