On Fri, May 08, 2015 at 05:13:45PM +0900, Tomasz Figa wrote: > Currently drm_gem_prime_import() checks if gem_prime_import_sg_table() > is implemented in DRM driver ops. However it is not necessary for > internal imports (i.e. dma_buf->ops == &drm_gem_prime_dmabuf_ops > and obj->dev == dev), which only increment reference count on respective > GEM objects. > > This patch makes the helper check this condition only in case of > external imports fo rwhich importing sg table is indeed needed. > > Signed-off-by: Tomasz Figa <tfiga at chromium.org>
Makes sense, applied to drm-misc. Thanks, Daniel > --- > drivers/gpu/drm/drm_prime.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/drm_prime.c b/drivers/gpu/drm/drm_prime.c > index 7fec191..162dd29 100644 > --- a/drivers/gpu/drm/drm_prime.c > +++ b/drivers/gpu/drm/drm_prime.c > @@ -502,9 +502,6 @@ struct drm_gem_object *drm_gem_prime_import(struct > drm_device *dev, > struct drm_gem_object *obj; > int ret; > > - if (!dev->driver->gem_prime_import_sg_table) > - return ERR_PTR(-EINVAL); > - > if (dma_buf->ops == &drm_gem_prime_dmabuf_ops) { > obj = dma_buf->priv; > if (obj->dev == dev) { > @@ -517,6 +514,9 @@ struct drm_gem_object *drm_gem_prime_import(struct > drm_device *dev, > } > } > > + if (!dev->driver->gem_prime_import_sg_table) > + return ERR_PTR(-EINVAL); > + > attach = dma_buf_attach(dma_buf, dev->dev); > if (IS_ERR(attach)) > return ERR_CAST(attach); > -- > 2.2.0.rc0.207.ga3a616c > -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch