summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorDamien Lespiau <damien.lespiau@intel.com>2014-11-14 15:05:59 +0000
committerDaniel Vetter <daniel.vetter@ffwll.ch>2014-11-14 18:17:31 +0100
commit70ee45e10bd06d5c41c46bd0f685b7c04c72b52d (patch)
tree9bcf5e2c94b06aa590ac561567d5dec9c6433d24 /drivers
parent21318cce5a77ad3e90f6974119389ed632cc8b15 (diff)
downloadtalos-obmc-linux-70ee45e10bd06d5c41c46bd0f685b7c04c72b52d.tar.gz
talos-obmc-linux-70ee45e10bd06d5c41c46bd0f685b7c04c72b52d.zip
drm/i915/skl: Don't allow disabling ppgtt and execlists on gen9+
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>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/drm/i915/i915_gem_gtt.c7
-rw-r--r--drivers/gpu/drm/i915/intel_lrc.c3
2 files changed, 9 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c
index 68a27b2d3654..29a4486c62ad 100644
--- a/drivers/gpu/drm/i915/i915_gem_gtt.c
+++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
@@ -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)
diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c
index 0eee4288519b..b7c4c9ab9012 100644
--- a/drivers/gpu/drm/i915/intel_lrc.c
+++ b/drivers/gpu/drm/i915/intel_lrc.c
@@ -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;
OpenPOWER on IntegriCloud