Lines Matching refs:dma_buf
89 struct dma_buf *dma_buf; member
97 struct dma_buf *dma_buf, uint32_t handle) in drm_prime_add_buf_handle() argument
106 get_dma_buf(dma_buf); in drm_prime_add_buf_handle()
107 member->dma_buf = dma_buf; in drm_prime_add_buf_handle()
117 if (dma_buf > pos->dma_buf) in drm_prime_add_buf_handle()
143 static struct dma_buf *drm_prime_lookup_buf_by_handle(struct drm_prime_file_private *prime_fpriv, in drm_prime_lookup_buf_by_handle()
154 return member->dma_buf; in drm_prime_lookup_buf_by_handle()
165 struct dma_buf *dma_buf, in drm_prime_lookup_buf_handle() argument
175 if (member->dma_buf == dma_buf) { in drm_prime_lookup_buf_handle()
178 } else if (member->dma_buf < dma_buf) { in drm_prime_lookup_buf_handle()
204 dma_buf_put(member->dma_buf); in drm_prime_remove_buf_handle()
242 struct dma_buf *drm_gem_dmabuf_export(struct drm_device *dev, in drm_gem_dmabuf_export()
246 struct dma_buf *dma_buf; in drm_gem_dmabuf_export() local
248 dma_buf = dma_buf_export(exp_info); in drm_gem_dmabuf_export()
249 if (IS_ERR(dma_buf)) in drm_gem_dmabuf_export()
250 return dma_buf; in drm_gem_dmabuf_export()
254 dma_buf->file->f_mapping = obj->dev->anon_inode->i_mapping; in drm_gem_dmabuf_export()
256 return dma_buf; in drm_gem_dmabuf_export()
269 void drm_gem_dmabuf_release(struct dma_buf *dma_buf) in drm_gem_dmabuf_release() argument
271 struct drm_gem_object *obj = dma_buf->priv; in drm_gem_dmabuf_release()
299 struct dma_buf *dma_buf; in drm_gem_prime_fd_to_handle() local
303 dma_buf = dma_buf_get(prime_fd); in drm_gem_prime_fd_to_handle()
304 if (IS_ERR(dma_buf)) in drm_gem_prime_fd_to_handle()
305 return PTR_ERR(dma_buf); in drm_gem_prime_fd_to_handle()
310 dma_buf, handle); in drm_gem_prime_fd_to_handle()
317 obj = dev->driver->gem_prime_import(dev, dma_buf); in drm_gem_prime_fd_to_handle()
319 obj = drm_gem_prime_import(dev, dma_buf); in drm_gem_prime_fd_to_handle()
325 if (obj->dma_buf) { in drm_gem_prime_fd_to_handle()
326 WARN_ON(obj->dma_buf != dma_buf); in drm_gem_prime_fd_to_handle()
328 obj->dma_buf = dma_buf; in drm_gem_prime_fd_to_handle()
329 get_dma_buf(dma_buf); in drm_gem_prime_fd_to_handle()
339 dma_buf, *handle); in drm_gem_prime_fd_to_handle()
344 dma_buf_put(dma_buf); in drm_gem_prime_fd_to_handle()
353 dma_buf_put(dma_buf); in drm_gem_prime_fd_to_handle()
360 dma_buf_put(dma_buf); in drm_gem_prime_fd_to_handle()
377 static struct dma_buf *export_and_register_object(struct drm_device *dev, in export_and_register_object()
381 struct dma_buf *dmabuf; in export_and_register_object()
405 obj->dma_buf = dmabuf; in export_and_register_object()
406 get_dma_buf(obj->dma_buf); in export_and_register_object()
431 struct dma_buf *dmabuf; in drm_gem_prime_handle_to_fd()
454 if (obj->dma_buf) { in drm_gem_prime_handle_to_fd()
455 get_dma_buf(obj->dma_buf); in drm_gem_prime_handle_to_fd()
456 dmabuf = obj->dma_buf; in drm_gem_prime_handle_to_fd()
578 int drm_gem_map_attach(struct dma_buf *dma_buf, in drm_gem_map_attach() argument
581 struct drm_gem_object *obj = dma_buf->priv; in drm_gem_map_attach()
599 void drm_gem_map_detach(struct dma_buf *dma_buf, in drm_gem_map_detach() argument
602 struct drm_gem_object *obj = dma_buf->priv; in drm_gem_map_detach()
681 int drm_gem_dmabuf_vmap(struct dma_buf *dma_buf, struct iosys_map *map) in drm_gem_dmabuf_vmap() argument
683 struct drm_gem_object *obj = dma_buf->priv; in drm_gem_dmabuf_vmap()
697 void drm_gem_dmabuf_vunmap(struct dma_buf *dma_buf, struct iosys_map *map) in drm_gem_dmabuf_vunmap() argument
699 struct drm_gem_object *obj = dma_buf->priv; in drm_gem_dmabuf_vunmap()
773 int drm_gem_dmabuf_mmap(struct dma_buf *dma_buf, struct vm_area_struct *vma) in drm_gem_dmabuf_mmap() argument
775 struct drm_gem_object *obj = dma_buf->priv; in drm_gem_dmabuf_mmap()
871 struct dma_buf *drm_gem_prime_export(struct drm_gem_object *obj, in drm_gem_prime_export()
904 struct dma_buf *dma_buf, in drm_gem_prime_import_dev() argument
912 if (dma_buf->ops == &drm_gem_prime_dmabuf_ops) { in drm_gem_prime_import_dev()
913 obj = dma_buf->priv; in drm_gem_prime_import_dev()
927 attach = dma_buf_attach(dma_buf, attach_dev); in drm_gem_prime_import_dev()
931 get_dma_buf(dma_buf); in drm_gem_prime_import_dev()
946 obj->resv = dma_buf->resv; in drm_gem_prime_import_dev()
953 dma_buf_detach(dma_buf, attach); in drm_gem_prime_import_dev()
954 dma_buf_put(dma_buf); in drm_gem_prime_import_dev()
973 struct dma_buf *dma_buf) in drm_gem_prime_import() argument
975 return drm_gem_prime_import_dev(dev, dma_buf, dev->dev); in drm_gem_prime_import()
1044 struct dma_buf *dma_buf; in drm_prime_gem_destroy() local
1049 dma_buf = attach->dmabuf; in drm_prime_gem_destroy()
1052 dma_buf_put(dma_buf); in drm_prime_gem_destroy()