[Intel-gfx] [PATCH 01/23] drm/i915: Move aliasing_ppgtt underneath its i915_ggtt
Chris Wilson
chris at chris-wilson.co.uk
Wed Jul 24 09:47:45 UTC 2019
Quoting Chris Wilson (2019-07-24 10:37:19)
> Quoting Chris Wilson (2019-07-24 10:27:38)
> > Quoting Tvrtko Ursulin (2019-07-24 09:56:34)
> > >
> > > On 23/07/2019 19:38, Chris Wilson wrote:
> > > > +static int __context_pin_ppgtt(struct intel_context *ce)
> > > > {
> > > > struct i915_address_space *vm;
> > > > int err = 0;
> > > >
> > > > - vm = ctx->vm ?: &ctx->i915->mm.aliasing_ppgtt->vm;
> > > > + vm = vm_alias(ce);
> > > > if (vm)
> > >
> > > Can't return NULL it seems. (Same below.)
> >
> > Are you so sure?
> >
> > ce->gem_context->vm is only !NULL if there is a full-ppgtt
> > &ggtt->alias->vm is only !NULL if there is an aliasing-ppgtt
> >
> > There may be contexts with neither (gen4, gen5).
>
> It's not until the next patch where we always set ce->vm will it be
> non-NULL. Point taken.
Except, we purposely replace the i915_ggtt ce->vm with its alias, which
may still be NULL. (Which is fine as that is perma-pinned and we don't
need to fiddle.)
-Chris
More information about the Intel-gfx
mailing list