aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichel Thierry <michel.thierry@intel.com>2014-12-15 14:58:00 +0000
committerDaniel Vetter <daniel.vetter@ffwll.ch>2014-12-16 10:39:12 +0100
commit2f82bbdf3d4f1361c3d713c516d8aa390102374d (patch)
tree7f7e708ad5c834eb19be034e9857fd8c93726e15
parentdrm/i915: Skip gunit save/restore for cherryview (diff)
downloadlinux-dev-2f82bbdf3d4f1361c3d713c516d8aa390102374d.tar.xz
linux-dev-2f82bbdf3d4f1361c3d713c516d8aa390102374d.zip
drm/i915: Use true PPGTT in Gen8+ when execlists are enabled
In Gen8+, full ppgtt needs execlist, otherwise the ctx switch can hang. Also remove the current restriction, a user should be able to explicitly set ppgtt=2. Note, this patch considers that execlist support has been enabled by default on Gen8. v2: Remove non-default restriction and clarify commit message (Daniel) Cc: Daniel Vetter <daniel@ffwll.ch> Signed-off-by: Michel Thierry <michel.thierry@intel.com> [danvet: s/comment/commit message/ in the commit message since that's what Michel meant as per our irc discussion.] Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-rw-r--r--drivers/gpu/drm/i915/i915_gem_gtt.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c
index cc3056f2c7f4..75a29a382208 100644
--- a/drivers/gpu/drm/i915/i915_gem_gtt.c
+++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
@@ -102,8 +102,6 @@ static int sanitize_enable_ppgtt(struct drm_device *dev, int enable_ppgtt)
has_aliasing_ppgtt = INTEL_INFO(dev)->gen >= 6;
has_full_ppgtt = INTEL_INFO(dev)->gen >= 7;
- if (IS_GEN8(dev))
- has_full_ppgtt = false; /* XXX why? */
/*
* We don't allow disabling PPGTT for gen9+ as it's a requirement for
@@ -134,7 +132,10 @@ static int sanitize_enable_ppgtt(struct drm_device *dev, int enable_ppgtt)
return 0;
}
- return has_aliasing_ppgtt ? 1 : 0;
+ if (INTEL_INFO(dev)->gen >= 8 && i915.enable_execlists)
+ return 2;
+ else
+ return has_aliasing_ppgtt ? 1 : 0;
}