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()
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()
576 int drm_gem_map_attach(struct dma_buf *dma_buf, in drm_gem_map_attach() argument
579 struct drm_gem_object *obj = dma_buf->priv; in drm_gem_map_attach()
594 void drm_gem_map_detach(struct dma_buf *dma_buf, in drm_gem_map_detach() argument
597 struct drm_gem_object *obj = dma_buf->priv; in drm_gem_map_detach()
672 void *drm_gem_dmabuf_vmap(struct dma_buf *dma_buf) in drm_gem_dmabuf_vmap() argument
674 struct drm_gem_object *obj = dma_buf->priv; in drm_gem_dmabuf_vmap()
693 void drm_gem_dmabuf_vunmap(struct dma_buf *dma_buf, void *vaddr) in drm_gem_dmabuf_vunmap() argument
695 struct drm_gem_object *obj = dma_buf->priv; in drm_gem_dmabuf_vunmap()
771 int drm_gem_dmabuf_mmap(struct dma_buf *dma_buf, struct vm_area_struct *vma) in drm_gem_dmabuf_mmap() argument
773 struct drm_gem_object *obj = dma_buf->priv; in drm_gem_dmabuf_mmap()
874 struct dma_buf *drm_gem_prime_export(struct drm_gem_object *obj, in drm_gem_prime_export()
907 struct dma_buf *dma_buf, in drm_gem_prime_import_dev() argument
915 if (dma_buf->ops == &drm_gem_prime_dmabuf_ops) { in drm_gem_prime_import_dev()
916 obj = dma_buf->priv; in drm_gem_prime_import_dev()
930 attach = dma_buf_attach(dma_buf, attach_dev); in drm_gem_prime_import_dev()
934 get_dma_buf(dma_buf); in drm_gem_prime_import_dev()
949 obj->resv = dma_buf->resv; in drm_gem_prime_import_dev()
956 dma_buf_detach(dma_buf, attach); in drm_gem_prime_import_dev()
957 dma_buf_put(dma_buf); in drm_gem_prime_import_dev()
977 struct dma_buf *dma_buf) in drm_gem_prime_import() argument
979 return drm_gem_prime_import_dev(dev, dma_buf, dev->dev); in drm_gem_prime_import()
1034 struct dma_buf *dma_buf; in drm_prime_gem_destroy() local
1039 dma_buf = attach->dmabuf; in drm_prime_gem_destroy()
1042 dma_buf_put(dma_buf); in drm_prime_gem_destroy()