Re: [Intel-gfx] [PATCH v15 6/7] drm/i915: Introduce GEM proxy

From: Joonas Lahtinen
Date: Tue Oct 10 2017 - 09:02:37 EST


On Tue, 2017-10-10 at 13:58 +0300, Joonas Lahtinen wrote:
> On Tue, 2017-10-10 at 17:50 +0800, Tina Zhang wrote:
> > GEM proxy is a kind of GEM, whose backing physical memory is pinned
> > and produced by guest VM and is used by host as read only. With GEM
> > proxy, host is able to access guest physical memory through GEM object
> > interface. As GEM proxy is such a special kind of GEM, a new flag
> > I915_GEM_OBJECT_IS_PROXY is introduced to ban host from changing the
> > backing storage of GEM proxy.
> >
> > v14:
> > - return -ENXIO when gem proxy object is banned by ioctl.
> > (Chris) (Daniel)
> >
> > v13:
> > - add comments to GEM proxy. (Chris)
> > - don't ban GEM proxy in i915_gem_sw_finish_ioctl. (Chris)
> > - check GEM proxy bar after finishing i915_gem_object_wait. (Chris)
> > - remove GEM proxy bar in i915_gem_madvise_ioctl.
> >
> > v6:
> > - add gem proxy barrier in the following ioctls. (Chris)
> > i915_gem_set_caching_ioctl
> > i915_gem_set_domain_ioctl
> > i915_gem_sw_finish_ioctl
> > i915_gem_set_tiling_ioctl
> > i915_gem_madvise_ioctl
> >
> > Signed-off-by: Tina Zhang <tina.zhang@xxxxxxxxx>
> > Cc: Daniel Vetter <daniel.vetter@xxxxxxxx>
> > Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
> > Cc: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx>
>
> <SNIP>
>
> > +++ b/drivers/gpu/drm/i915/i915_gem_object.h
> > @@ -39,6 +39,7 @@ struct drm_i915_gem_object_ops {
> > unsigned int flags;
> > #define I915_GEM_OBJECT_HAS_STRUCT_PAGE BIT(0)
> > #define I915_GEM_OBJECT_IS_SHRINKABLE BIT(1)
> > +#define I915_GEM_OBJECT_IS_PROXY BIT(2)
>
> Please fix the indent to match. Do convert the above two lines to use
> TAB character too.
>
> <SNIP>
>
> > @@ -1690,7 +1704,7 @@ i915_gem_mmap_ioctl(struct drm_device *dev, void *data,
> > */
> > if (!obj->base.filp) {
> > i915_gem_object_put(obj);
> > - return -EINVAL;
> > + return -ENXIO;
> > }
>
> This still needs to be a separate patch.
>
> With those fixes, this is;
>
> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx>

Also, send the produced two patches (this and the split patch) as a
standalone series for easier testing and merging.

CI seems to have hard time applying the whole series.

Regards, Joonas
--
Joonas Lahtinen
Open Source Technology Center
Intel Corporation