/linux/drivers/dma-buf/ |
H A D | sync_file.c | 3 * drivers/dma-buf/sync_file.c 18 #include <linux/sync_file.h> 19 #include <uapi/linux/sync_file.h> 23 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(sizeof(*sync_file), GFP_KERNEL); in sync_file_alloc() 28 if (!sync_file) in sync_file_alloc() 31 sync_file in sync_file_alloc() 49 struct sync_file *sync_file; fence_check_cb_func() local 67 struct sync_file *sync_file; sync_file_create() local 105 struct sync_file *sync_file; sync_file_get_fence() local 132 sync_file_get_name(struct sync_file * sync_file,char * buf,int len) sync_file_get_name() argument 168 struct sync_file *sync_file; sync_file_merge() local 187 struct sync_file *sync_file = file->private_data; sync_file_release() local 199 struct sync_file *sync_file = file->private_data; sync_file_poll() local 213 sync_file_ioctl_merge(struct sync_file * sync_file,unsigned long arg) sync_file_ioctl_merge() argument 295 sync_file_ioctl_fence_info(struct sync_file * sync_file,unsigned long arg) sync_file_ioctl_fence_info() argument 366 sync_file_ioctl_set_deadline(struct sync_file * sync_file,unsigned long arg) sync_file_ioctl_set_deadline() argument 385 struct sync_file *sync_file = file->private_data; sync_file_ioctl() local [all...] |
H A D | sw_sync.c | 12 #include <linux/sync_file.h> 47 * @fence: return the fd of the new sync_file with the created fence 349 struct sync_file *sync_file; in sw_sync_ioctl_create_fence() local 366 sync_file = sync_file_create(&pt->base); in sw_sync_ioctl_create_fence() 368 if (!sync_file) { in sw_sync_ioctl_create_fence() 375 fput(sync_file->file); in sw_sync_ioctl_create_fence() 380 fd_install(fd, sync_file->file); in sw_sync_ioctl_create_fence()
|
H A D | Makefile | 6 obj-$(CONFIG_SYNC_FILE) += sync_file.o
|
/linux/Documentation/driver-api/ |
H A D | sync_file.rst | 8 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 [all...] |
H A D | index.rst | 141 sync_file
|
H A D | dma-buf.rst | 225 .. kernel-doc:: drivers/dma-buf/sync_file.c 228 .. kernel-doc:: include/linux/sync_file.h 234 .. kernel-doc:: include/uapi/linux/sync_file.h
|
/linux/include/linux/ |
H A D | sync_file.h | 2 * include/linux/sync_file.h 24 * struct sync_file - sync file to export to the userspace 28 * @flags: flags for the sync_file 29 * @fence: fence with the fences in the sync_file 35 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); 46 sync_file_listsync_file global() argument
|
/linux/drivers/gpu/drm/virtio/ |
H A D | virtgpu_submit.c | 13 #include <linux/sync_file.h> 40 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 in virtio_gpu_install_out_fence_fd() [all...] |
/linux/drivers/gpu/drm/msm/ |
H A D | msm_gem_submit.c | 9 #include <linux/sync_file.h> 554 struct sync_file *sync_file = NULL; in msm_ioctl_gem_submit() local 771 sync_file = sync_file_create(submit->user_fence); in msm_ioctl_gem_submit() 772 if (!sync_file) { in msm_ioctl_gem_submit() 775 fd_install(out_fence_fd, sync_file->file); in msm_ioctl_gem_submit() 817 if (sync_file) in msm_ioctl_gem_submit() 818 fput(sync_file->file); in msm_ioctl_gem_submit()
|
H A D | msm_gem_vma.c | 10 #include "linux/sync_file.h" 1342 struct sync_file *sync_file = NULL; in msm_ioctl_vm_bind() local 1462 sync_file = sync_file_create(job->fence); in msm_ioctl_vm_bind() 1463 if (!sync_file) { in msm_ioctl_vm_bind() 1466 fd_install(out_fence_fd, sync_file->file); in msm_ioctl_vm_bind() 1499 if (sync_file) in msm_ioctl_vm_bind() 1500 fput(sync_file->file); in msm_ioctl_vm_bind()
|
/linux/drivers/gpu/drm/etnaviv/ |
H A D | etnaviv_gem_submit.c | 10 #include <linux/sync_file.h> 422 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 D | drm_atomic_uapi.c | 42 #include <linux/sync_file.h> 1141 * merged one, the sync_file framework will handle both cases and use a 1175 struct sync_file *sync_file; member 1189 fence_state->sync_file = sync_file_create(fence); in setup_out_fence() 1190 if (!fence_state->sync_file) in setup_out_fence() 1334 fence_state[i].sync_file->file); in complete_signaling() 1357 if (fence_state[i].sync_file) in complete_signaling() 1358 fput(fence_state[i].sync_file->file); in complete_signaling()
|
H A D | drm_syncobj.c | 172 * import/export the syncobj's current fence from/to a &sync_file. 202 #include <linux/sync_file.h> 780 struct sync_file *sync_file; in drm_syncobj_export_sync_file() local 790 sync_file = sync_file_create(fence); in drm_syncobj_export_sync_file() 794 if (!sync_file) { in drm_syncobj_export_sync_file() 799 fd_install(fd, sync_file->file); in drm_syncobj_export_sync_file()
|
/linux/drivers/gpu/drm/amd/amdgpu/ |
H A D | amdgpu_cs.c | 1595 struct sync_file *sync_file; in amdgpu_cs_fence_to_handle_ioctl() local 1631 sync_file = sync_file_create(fence); in amdgpu_cs_fence_to_handle_ioctl() 1633 if (!sync_file) { in amdgpu_cs_fence_to_handle_ioctl() 1638 fd_install(fd, sync_file->file); in amdgpu_cs_fence_to_handle_ioctl()
|
/linux/drivers/gpu/drm/i915/gem/ |
H A D | i915_gem_execbuffer.c | 8 #include <linux/sync_file.h> 3196 static struct sync_file * 3199 struct sync_file *out_fence = NULL; in eb_composite_fence_create() 3232 /* sync_file now owns fence_arry, drop creation ref */ in eb_composite_fence_create() 3243 static struct sync_file * 3247 struct sync_file *out_fence = NULL; in eb_fences_add() 3305 static struct sync_file * 3309 struct sync_file *out_fence = NULL; in eb_requests_create() 3360 struct sync_file *out_fence = NULL; in i915_gem_do_execbuffer()
|
/linux/drivers/gpu/drm/vmwgfx/ |
H A D | vmwgfx_execbuf.c | 18 #include <linux/sync_file.h> 4084 struct sync_file *sync_file = NULL; in vmw_execbuf_process() local 4228 sync_file = sync_file_create(&fence->base); in vmw_execbuf_process() 4229 if (!sync_file) { in vmw_execbuf_process() 4242 if (sync_file) { in vmw_execbuf_process() 4245 fput(sync_file->file); in vmw_execbuf_process() 4249 fd_install(out_fence_fd, sync_file->file); in vmw_execbuf_process()
|
/linux/ |
H A D | MAINTAINERS | 24344 F: Documentation/driver-api/sync_file.rst 24348 F: include/linux/sync_file.h 24349 F: include/uapi/linux/sync_file.h
|