Home
last modified time | relevance | path

Searched refs:sync_file (Results 1 – 16 of 16) sorted by relevance

/linux/drivers/dma-buf/
H A Dsync_file.c23 static struct sync_file *sync_file_alloc(void) in sync_file_alloc()
25 struct sync_file *sync_file; in sync_file_alloc() local
27 sync_file = kzalloc_obj(*sync_file); in sync_file_alloc()
28 if (!sync_file) in sync_file_alloc()
31 sync_file->file = anon_inode_getfile("sync_file", &sync_file_fops, in sync_file_alloc()
32 sync_file, 0); in sync_file_alloc()
33 if (IS_ERR(sync_file->file)) in sync_file_alloc()
36 init_waitqueue_head(&sync_file->wq); in sync_file_alloc()
38 INIT_LIST_HEAD(&sync_file->cb.node); in sync_file_alloc()
40 return sync_file; in sync_file_alloc()
[all …]
H A Dsw_sync.c350 struct sync_file *sync_file; in sw_sync_ioctl_create_fence() local
370 sync_file = sync_file_create(&pt->base); in sw_sync_ioctl_create_fence()
372 if (!sync_file) { in sw_sync_ioctl_create_fence()
379 fput(sync_file->file); in sw_sync_ioctl_create_fence()
384 fd_install(fd, sync_file->file); in sw_sync_ioctl_create_fence()
H A Ddma-buf.c442 struct sync_file *sync_file; in dma_buf_export_sync_file() local
466 sync_file = sync_file_create(fence); in dma_buf_export_sync_file()
470 if (!sync_file) { in dma_buf_export_sync_file()
481 fd_install(fd, sync_file->file); in dma_buf_export_sync_file()
486 fput(sync_file->file); in dma_buf_export_sync_file()
/linux/Documentation/driver-api/
H A Dsync_file.rst8 sync_file API is, and how drivers can support it. Sync file is the carrier of
12 The sync_file API is meant to be used to send and receive fence information
15 driver) sends the fence related to the buffer to userspace via a sync_file.
17 The sync_file then can be sent to the consumer (DRM driver for example), that
32 Sync files can go either to or from userspace. When a sync_file is sent from
39 On the other hand if the driver receives fence(s) through a sync_file from
47 When a driver needs to send an out-fence userspace it creates a sync_file.
51 struct sync_file *sync_file_create(struct dma_fence *fence);
53 The caller pass the out-fence and gets back the sync_file. That is just the
54 first step, next it needs to install an fd on sync_file->file. So it gets an
[all …]
/linux/include/linux/
H A Dsync_file.h35 struct sync_file { struct
58 struct sync_file *sync_file_create(struct dma_fence *fence); argument
60 char *sync_file_get_name(struct sync_file *sync_file, char *buf, int len);
/linux/drivers/gpu/drm/virtio/
H A Dvirtgpu_submit.c40 struct sync_file *sync_file; member
347 if (submit->sync_file) in virtio_gpu_cleanup_submit()
348 fput(submit->sync_file->file); in virtio_gpu_cleanup_submit()
363 submit->sync_file = NULL; in virtio_gpu_complete_submit()
427 submit->sync_file = sync_file_create(&out_fence->f); in virtio_gpu_init_submit()
428 if (!submit->sync_file) in virtio_gpu_init_submit()
459 if (submit->sync_file) { in virtio_gpu_install_out_fence_fd()
461 fd_install(submit->out_fence_fd, submit->sync_file->file); in virtio_gpu_install_out_fence_fd()
/linux/drivers/gpu/drm/msm/
H A Dmsm_gem_submit.c561 struct sync_file *sync_file = NULL; in msm_ioctl_gem_submit() local
778 sync_file = sync_file_create(submit->user_fence); in msm_ioctl_gem_submit()
779 if (!sync_file) in msm_ioctl_gem_submit()
821 if (sync_file) in msm_ioctl_gem_submit()
822 fput(sync_file->file); in msm_ioctl_gem_submit()
823 } else if (sync_file) { in msm_ioctl_gem_submit()
824 fd_install(out_fence_fd, sync_file->file); in msm_ioctl_gem_submit()
H A Dmsm_gem_vma.c1430 struct sync_file *sync_file = NULL; in msm_ioctl_vm_bind() local
1550 sync_file = sync_file_create(job->fence); in msm_ioctl_vm_bind()
1551 if (!sync_file) in msm_ioctl_vm_bind()
1584 if (sync_file) in msm_ioctl_vm_bind()
1585 fput(sync_file->file); in msm_ioctl_vm_bind()
1586 } else if (sync_file) { in msm_ioctl_vm_bind()
1587 fd_install(out_fence_fd, sync_file->file); in msm_ioctl_vm_bind()
/linux/drivers/gpu/drm/etnaviv/
H A Detnaviv_gem_submit.c422 struct sync_file *sync_file = NULL; in etnaviv_ioctl_gem_submit() local
601 sync_file = sync_file_create(submit->out_fence); in etnaviv_ioctl_gem_submit()
602 if (!sync_file) { in etnaviv_ioctl_gem_submit()
611 fd_install(out_fence_fd, sync_file->file); in etnaviv_ioctl_gem_submit()
/linux/drivers/gpu/drm/
H A Ddrm_atomic_uapi.c1351 struct sync_file *sync_file; member
1365 fence_state->sync_file = sync_file_create(fence); in setup_out_fence()
1366 if (!fence_state->sync_file) in setup_out_fence()
1510 fence_state[i].sync_file->file); in complete_signaling()
1533 if (fence_state[i].sync_file) in complete_signaling()
1534 fput(fence_state[i].sync_file->file); in complete_signaling()
H A Ddrm_syncobj.c172 * import/export the syncobj's current fence from/to a &sync_file.
202 #include <linux/sync_file.h>
762 struct sync_file *sync_file; in drm_syncobj_export_sync_file() local
772 sync_file = sync_file_create(fence); in drm_syncobj_export_sync_file()
776 if (!sync_file) { in drm_syncobj_export_sync_file()
781 fd_install(fd, sync_file->file); in drm_syncobj_export_sync_file()
/linux/Documentation/translations/zh_CN/driver-api/
H A Dindex.rst114 * sync_file
/linux/drivers/gpu/drm/amd/amdgpu/
H A Damdgpu_cs.c1572 struct sync_file *sync_file; in amdgpu_cs_fence_to_handle_ioctl() local
1608 sync_file = sync_file_create(fence); in amdgpu_cs_fence_to_handle_ioctl()
1610 if (!sync_file) { in amdgpu_cs_fence_to_handle_ioctl()
1615 fd_install(fd, sync_file->file); in amdgpu_cs_fence_to_handle_ioctl()
/linux/drivers/gpu/drm/i915/gem/
H A Di915_gem_execbuffer.c3183 static struct sync_file *
3186 struct sync_file *out_fence = NULL; in eb_composite_fence_create()
3230 static struct sync_file *
3234 struct sync_file *out_fence = NULL; in eb_fences_add()
3292 static struct sync_file *
3296 struct sync_file *out_fence = NULL; in eb_requests_create()
3347 struct sync_file *out_fence = NULL; in i915_gem_do_execbuffer()
/linux/drivers/gpu/drm/vmwgfx/
H A Dvmwgfx_execbuf.c4096 struct sync_file *sync_file = NULL; in vmw_execbuf_process() local
4240 sync_file = sync_file_create(&fence->base); in vmw_execbuf_process()
4241 if (!sync_file) { in vmw_execbuf_process()
4254 if (sync_file) { in vmw_execbuf_process()
4257 fput(sync_file->file); in vmw_execbuf_process()
4261 fd_install(out_fence_fd, sync_file->file); in vmw_execbuf_process()
/linux/
H A DMAINTAINERS25538 F: Documentation/driver-api/sync_file.rst
25542 F: include/linux/sync_file.h
25543 F: include/uapi/linux/sync_file.h