[Intel-gfx] [PATCH] drm/i915: Update gen8_ppgtt_info to keep working in full ppgtt

Ben Widawsky ben at bwidawsk.net
Sat Aug 9 02:14:32 CEST 2014


On Fri, Aug 08, 2014 at 03:47:54PM +0200, Daniel Vetter wrote:
> On Fri, Aug 08, 2014 at 02:10:32PM +0100, Michel Thierry wrote:
> > The driver will no longer initialize the aliasing ppgtt if we have
> > full ppgtt enabled.
> > 
> > gen8_ppgtt_info uses the aliasing ppgtt or the ppgtt from the
> > default context. This patch makes it clear.
> > 
> > Cc: Daniel Vetter <daniel.vetter at ffwll.ch>
> > Signed-off-by: Michel Thierry <michel.thierry at intel.com>
> 
> I actually looked at this one here and decided that ppgtt_info for gen8 is
> sufficiently broken so that we don't care. Imo we should refactor it a bit
> so that it does the same as the gen6 version, i.e. dump the aliasing ppgtt
> or the contexts.
> 
> Trying to dump the default ctx ppgtt when full ppgtt is enabled is fairly
> usesless since nothing at all will ever use that one.
> 
> Best approach is probably to remove the gen8 version and push the GenX
> checks down into the actual ppgtt dump functions or something like that.
> -Daniel

I did start down this path here:
http://patchwork.freedesktop.org/patch/25728/ (originally here: http://patchwork.freedesktop.org/patch/22348/)

It also helped with the later addition for dynamic page tables. I would
ask that someone look at fixing that patch to their needs should the
dynamic page table patches ever get merged.

> 
> > ---
> >  drivers/gpu/drm/i915/i915_debugfs.c | 6 ++++++
> >  1 file changed, 6 insertions(+)
> > 
> > diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
> > index 8dc82c3..a62ac66 100644
> > --- a/drivers/gpu/drm/i915/i915_debugfs.c
> > +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> > @@ -1995,8 +1995,14 @@ static void gen8_ppgtt_info(struct seq_file *m, struct drm_device *dev)
> >  	struct drm_i915_private *dev_priv = dev->dev_private;
> >  	struct intel_engine_cs *ring;
> >  	struct i915_hw_ppgtt *ppgtt = dev_priv->mm.aliasing_ppgtt;
> > +	struct intel_context *ctx = dev_priv->ring[RCS].default_context;
> >  	int unused, i;
> >  
> > +	if (USES_FULL_PPGTT(dev))
> > +		ppgtt = ctx->ppgtt;
> > +	else
> > +		ppgtt = dev_priv->mm.aliasing_ppgtt;
> > +
> >  	if (!ppgtt)
> >  		return;
> >  
> > -- 
> > 2.0.3
> > 
> 
> -- 
> Daniel Vetter
> Software Engineer, Intel Corporation
> +41 (0) 79 365 57 48 - http://blog.ffwll.ch
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Ben Widawsky, Intel Open Source Technology Center



More information about the Intel-gfx mailing list