Lines Matching refs:dma_buf

91 	struct dma_buf *dma_buf;  member
99 struct dma_buf *dma_buf, uint32_t handle) in drm_prime_add_buf_handle() argument
108 get_dma_buf(dma_buf); in drm_prime_add_buf_handle()
109 member->dma_buf = dma_buf; in drm_prime_add_buf_handle()
119 if (dma_buf > pos->dma_buf) in drm_prime_add_buf_handle()
145 static struct dma_buf *drm_prime_lookup_buf_by_handle(struct drm_prime_file_private *prime_fpriv, in drm_prime_lookup_buf_by_handle()
156 return member->dma_buf; in drm_prime_lookup_buf_by_handle()
167 struct dma_buf *dma_buf, in drm_prime_lookup_buf_handle() argument
177 if (member->dma_buf == dma_buf) { in drm_prime_lookup_buf_handle()
180 } else if (member->dma_buf < dma_buf) { in drm_prime_lookup_buf_handle()
191 struct dma_buf *dma_buf) in drm_prime_remove_buf_handle_locked() argument
200 if (member->dma_buf == dma_buf) { in drm_prime_remove_buf_handle_locked()
204 dma_buf_put(dma_buf); in drm_prime_remove_buf_handle_locked()
207 } else if (member->dma_buf < dma_buf) { in drm_prime_remove_buf_handle_locked()
240 struct dma_buf *drm_gem_dmabuf_export(struct drm_device *dev, in drm_gem_dmabuf_export()
244 struct dma_buf *dma_buf; in drm_gem_dmabuf_export() local
246 dma_buf = dma_buf_export(exp_info); in drm_gem_dmabuf_export()
247 if (IS_ERR(dma_buf)) in drm_gem_dmabuf_export()
248 return dma_buf; in drm_gem_dmabuf_export()
252 dma_buf->file->f_mapping = obj->dev->anon_inode->i_mapping; in drm_gem_dmabuf_export()
254 return dma_buf; in drm_gem_dmabuf_export()
267 void drm_gem_dmabuf_release(struct dma_buf *dma_buf) in drm_gem_dmabuf_release() argument
269 struct drm_gem_object *obj = dma_buf->priv; in drm_gem_dmabuf_release()
297 struct dma_buf *dma_buf; in drm_gem_prime_fd_to_handle() local
301 dma_buf = dma_buf_get(prime_fd); in drm_gem_prime_fd_to_handle()
302 if (IS_ERR(dma_buf)) in drm_gem_prime_fd_to_handle()
303 return PTR_ERR(dma_buf); in drm_gem_prime_fd_to_handle()
308 dma_buf, handle); in drm_gem_prime_fd_to_handle()
315 obj = dev->driver->gem_prime_import(dev, dma_buf); in drm_gem_prime_fd_to_handle()
317 obj = drm_gem_prime_import(dev, dma_buf); in drm_gem_prime_fd_to_handle()
323 if (obj->dma_buf) { in drm_gem_prime_fd_to_handle()
324 WARN_ON(obj->dma_buf != dma_buf); in drm_gem_prime_fd_to_handle()
326 obj->dma_buf = dma_buf; in drm_gem_prime_fd_to_handle()
327 get_dma_buf(dma_buf); in drm_gem_prime_fd_to_handle()
337 dma_buf, *handle); in drm_gem_prime_fd_to_handle()
342 dma_buf_put(dma_buf); in drm_gem_prime_fd_to_handle()
351 dma_buf_put(dma_buf); in drm_gem_prime_fd_to_handle()
358 dma_buf_put(dma_buf); in drm_gem_prime_fd_to_handle()
375 static struct dma_buf *export_and_register_object(struct drm_device *dev, in export_and_register_object()
379 struct dma_buf *dmabuf; in export_and_register_object()
403 obj->dma_buf = dmabuf; in export_and_register_object()
404 get_dma_buf(obj->dma_buf); in export_and_register_object()
429 struct dma_buf *dmabuf; in drm_gem_prime_handle_to_fd()
452 if (obj->dma_buf) { in drm_gem_prime_handle_to_fd()
453 get_dma_buf(obj->dma_buf); in drm_gem_prime_handle_to_fd()
454 dmabuf = obj->dma_buf; in drm_gem_prime_handle_to_fd()
574 int drm_gem_map_attach(struct dma_buf *dma_buf, in drm_gem_map_attach() argument
577 struct drm_gem_object *obj = dma_buf->priv; in drm_gem_map_attach()
592 void drm_gem_map_detach(struct dma_buf *dma_buf, in drm_gem_map_detach() argument
595 struct drm_gem_object *obj = dma_buf->priv; in drm_gem_map_detach()
674 int drm_gem_dmabuf_vmap(struct dma_buf *dma_buf, struct dma_buf_map *map) in drm_gem_dmabuf_vmap() argument
676 struct drm_gem_object *obj = dma_buf->priv; in drm_gem_dmabuf_vmap()
690 void drm_gem_dmabuf_vunmap(struct dma_buf *dma_buf, struct dma_buf_map *map) in drm_gem_dmabuf_vunmap() argument
692 struct drm_gem_object *obj = dma_buf->priv; in drm_gem_dmabuf_vunmap()
770 int drm_gem_dmabuf_mmap(struct dma_buf *dma_buf, struct vm_area_struct *vma) in drm_gem_dmabuf_mmap() argument
772 struct drm_gem_object *obj = dma_buf->priv; in drm_gem_dmabuf_mmap()
872 struct dma_buf *drm_gem_prime_export(struct drm_gem_object *obj, in drm_gem_prime_export()
905 struct dma_buf *dma_buf, in drm_gem_prime_import_dev() argument
913 if (dma_buf->ops == &drm_gem_prime_dmabuf_ops) { in drm_gem_prime_import_dev()
914 obj = dma_buf->priv; in drm_gem_prime_import_dev()
928 attach = dma_buf_attach(dma_buf, attach_dev); in drm_gem_prime_import_dev()
932 get_dma_buf(dma_buf); in drm_gem_prime_import_dev()
947 obj->resv = dma_buf->resv; in drm_gem_prime_import_dev()
954 dma_buf_detach(dma_buf, attach); in drm_gem_prime_import_dev()
955 dma_buf_put(dma_buf); in drm_gem_prime_import_dev()
975 struct dma_buf *dma_buf) in drm_gem_prime_import() argument
977 return drm_gem_prime_import_dev(dev, dma_buf, dev->dev); in drm_gem_prime_import()
1046 struct dma_buf *dma_buf; in drm_prime_gem_destroy() local
1051 dma_buf = attach->dmabuf; in drm_prime_gem_destroy()
1054 dma_buf_put(dma_buf); in drm_prime_gem_destroy()