[Intel-gfx] [PATCH v2 2/5] drm/i915: Add a new "remapped" gtt_view

Chris Wilson chris at chris-wilson.co.uk
Fri Sep 14 13:00:55 UTC 2018


Quoting Ville Syrjälä (2018-09-14 13:58:15)
> On Thu, Sep 13, 2018 at 09:19:00PM +0100, Chris Wilson wrote:
> > Quoting Ville Syrjala (2018-09-13 21:01:37)
> > > diff --git a/drivers/gpu/drm/i915/selftests/i915_vma.c b/drivers/gpu/drm/i915/selftests/i915_vma.c
> > > index ffa74290e054..4fc49c27f13c 100644
> > > --- a/drivers/gpu/drm/i915/selftests/i915_vma.c
> > > +++ b/drivers/gpu/drm/i915/selftests/i915_vma.c
> > > @@ -395,8 +395,8 @@ assert_rotated(struct drm_i915_gem_object *obj,
> > >         return sg;
> > >  }
> > >  
> > > -static unsigned int rotated_size(const struct intel_rotation_plane_info *a,
> > > -                                const struct intel_rotation_plane_info *b)
> > > +static unsigned int rotated_size(const struct intel_remapped_plane_info *a,
> > > +                                const struct intel_remapped_plane_info *b)
> > >  {
> > >         return a->width * a->height + b->width * b->height;
> > >  }
> > > @@ -406,7 +406,7 @@ static int igt_vma_rotate(void *arg)
> > >         struct drm_i915_private *i915 = arg;
> > >         struct i915_address_space *vm = &i915->ggtt.vm;
> > >         struct drm_i915_gem_object *obj;
> > > -       const struct intel_rotation_plane_info planes[] = {
> > > +       const struct intel_remapped_plane_info planes[] = {
> > >                 { .width = 1, .height = 1, .stride = 1 },
> > >                 { .width = 2, .height = 2, .stride = 2 },
> > >                 { .width = 4, .height = 4, .stride = 4 },
> > 
> > Could we prove our remapping vma works by doing an i915_vma_pin_iomap()
> > and checking that a write into each page ends up in the correct address?
> 
> So write through a fence and check it lands in the right place?
> Seems doable. Though we'd have to allow a fence for these vmas,
> which I guess isn't really a problem.

We don't need the fence for a linear view. For the short term, I'd
PIN_MAPPABLE and bludgeon can-map (although that's all that would
required for us to get a fence...) so that i915_vma_pin_iomap works.
-Chris


More information about the Intel-gfx mailing list