On Thu, Jan 11, 2018 at 10:44:17PM +0100, Thierry Reding wrote: > From: Thierry Reding <treding@xxxxxxxxxx> > > Export some more of the helpers in order to allow drivers to more fine- > grainedly select which helpers to use. This gives drivers an easy way to > reuse a lot of the code in the helpers while at the same time allowing > them to provide their own implementation for other functions in struct > dma_buf_ops. > > Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Same request as with the amd one: Pls supply a bit of kerneldoc and maybe polished intro section. Otherwise lgtm. -Daniel > --- > drivers/gpu/drm/drm_prime.c | 23 +++++++++++++---------- > include/drm/drm_prime.h | 12 ++++++++++++ > 2 files changed, 25 insertions(+), 10 deletions(-) > > diff --git a/drivers/gpu/drm/drm_prime.c b/drivers/gpu/drm/drm_prime.c > index 9a17725b0f7a..f9903e6b59f6 100644 > --- a/drivers/gpu/drm/drm_prime.c > +++ b/drivers/gpu/drm/drm_prime.c > @@ -180,9 +180,8 @@ static int drm_prime_lookup_buf_handle(struct drm_prime_file_private *prime_fpri > return -ENOENT; > } > > -static int drm_gem_map_attach(struct dma_buf *dma_buf, > - struct device *target_dev, > - struct dma_buf_attachment *attach) > +int drm_gem_map_attach(struct dma_buf *dma_buf, struct device *target_dev, > + struct dma_buf_attachment *attach) > { > struct drm_prime_attachment *prime_attach; > struct drm_gem_object *obj = dma_buf->priv; > @@ -200,9 +199,10 @@ static int drm_gem_map_attach(struct dma_buf *dma_buf, > > return dev->driver->gem_prime_pin(obj); > } > +EXPORT_SYMBOL(drm_gem_map_attach); > > -static void drm_gem_map_detach(struct dma_buf *dma_buf, > - struct dma_buf_attachment *attach) > +void drm_gem_map_detach(struct dma_buf *dma_buf, > + struct dma_buf_attachment *attach) > { > struct drm_prime_attachment *prime_attach = attach->priv; > struct drm_gem_object *obj = dma_buf->priv; > @@ -228,6 +228,7 @@ static void drm_gem_map_detach(struct dma_buf *dma_buf, > kfree(prime_attach); > attach->priv = NULL; > } > +EXPORT_SYMBOL(drm_gem_map_detach); > > void drm_prime_remove_buf_handle_locked(struct drm_prime_file_private *prime_fpriv, > struct dma_buf *dma_buf) > @@ -254,8 +255,8 @@ void drm_prime_remove_buf_handle_locked(struct drm_prime_file_private *prime_fpr > } > } > > -static struct sg_table *drm_gem_map_dma_buf(struct dma_buf_attachment *attach, > - enum dma_data_direction dir) > +struct sg_table *drm_gem_map_dma_buf(struct dma_buf_attachment *attach, > + enum dma_data_direction dir) > { > struct drm_prime_attachment *prime_attach = attach->priv; > struct drm_gem_object *obj = attach->dmabuf->priv; > @@ -291,13 +292,15 @@ static struct sg_table *drm_gem_map_dma_buf(struct dma_buf_attachment *attach, > > return sgt; > } > +EXPORT_SYMBOL(drm_gem_map_dma_buf); > > -static void drm_gem_unmap_dma_buf(struct dma_buf_attachment *attach, > - struct sg_table *sgt, > - enum dma_data_direction dir) > +void drm_gem_unmap_dma_buf(struct dma_buf_attachment *attach, > + struct sg_table *sgt, > + enum dma_data_direction dir) > { > /* nothing to be done here */ > } > +EXPORT_SYMBOL(drm_gem_unmap_dma_buf); > > /** > * drm_gem_dmabuf_export - dma_buf export implementation for GEM > diff --git a/include/drm/drm_prime.h b/include/drm/drm_prime.h > index 59ccab402e85..3a9706815773 100644 > --- a/include/drm/drm_prime.h > +++ b/include/drm/drm_prime.h > @@ -50,8 +50,10 @@ struct drm_prime_file_private { > struct rb_root handles; > }; > > +enum dma_data_direction; > struct device; > > +struct dma_buf_attachment; > struct dma_buf_export_info; > struct dma_buf; > > @@ -59,6 +61,16 @@ struct drm_device; > struct drm_gem_object; > struct drm_file; > > +int drm_gem_map_attach(struct dma_buf *dma_buf, struct device *target_dev, > + struct dma_buf_attachment *attach); > +void drm_gem_map_detach(struct dma_buf *dma_buf, > + struct dma_buf_attachment *attach); > +struct sg_table *drm_gem_map_dma_buf(struct dma_buf_attachment *attach, > + enum dma_data_direction dir); > +void drm_gem_unmap_dma_buf(struct dma_buf_attachment *attach, > + struct sg_table *sgt, > + enum dma_data_direction dir); > + > struct dma_buf *drm_gem_prime_export(struct drm_device *dev, > struct drm_gem_object *obj, > int flags); > -- > 2.15.1 > > _______________________________________________ > Nouveau mailing list > Nouveau@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/nouveau -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel