On Mon, Dec 15, 2014 at 03:22:08PM +0100, Daniel Vetter wrote:
> On Mon, Dec 15, 2014 at 12:47:14PM +0000, Michel Thierry wrote:
> > On 12/15/2014 10:11 AM, Daniel Vetter wrote:
> > >On Thu, Dec 11, 2014 at 12:07:18PM +0000, Michel Thierry wrote:
> > >>When execlists submission is enabled, try full ppgtt by default.
> > >>
> > >>Note, this patch considers that execlist support has been enabled by
> > >>default on Gen8.
> > >>
> > >>Signed-off-by: Michel Thierry <[email protected]>
> > >>---
> > >>  drivers/gpu/drm/i915/i915_gem_gtt.c | 9 ++++++---
> > >>  1 file changed, 6 insertions(+), 3 deletions(-)
> > >>
> > >>diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c 
> > >>b/drivers/gpu/drm/i915/i915_gem_gtt.c
> > >>index 171f6ea..4ed3904 100644
> > >>--- a/drivers/gpu/drm/i915/i915_gem_gtt.c
> > >>+++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
> > >>@@ -40,8 +40,8 @@ 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? */
> > >>+ if (IS_GEN8(dev) && !i915.enable_execlists)
> > >>+         has_full_ppgtt = false; /* Only enforce with execlists */
> > >Imo this has outlived it's usefulness - enable_ppgtt is an unsafe
> > >parameter so everyone setting it themselves gets what they need.
> > >Afair this was just because of the execlist depency on gen8 for ppgtt.
> > >-Daniel
> > Not sure if I'm following you up on this...
> > The aim was to change the default value to _full_ only when execlists are
> > also enable (after Thomas' patch).  In gen8, we don't want to have full
> > ppgtt with legacy ring submission.
> 
> Yeah I gotten confused. The comment is a bit misleading thought, maybe
> "Full ppgtt needs execlist since otherwise the ctx switch can hang"?

Actually I wasnt' confused: gen8+ has full ppgtt, like gen7. It's broken
without execlist though, so what we should do is just change the default
below. Otherwise if a user explicitly sets execlist=0 and ppgtt=2 we won't
obey that, which doesn't make sense - for isolating bugs this might be a
valid testcase (even when we know there's problems). So your patch should
do two things:
- Generally allow full ppgtt on gen8 - the current restriction doesn't
  make sense.
- Switch the default to full ppgtt when execlist is enabled on gen8+, leave
  the default to aliasing/disabled everywhere else as is.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to