| /Linux-v5.10/drivers/dma-buf/ | 
| D | sync_file.c | 22 static struct sync_file *sync_file_alloc(void)  in sync_file_alloc() 24 	struct sync_file *sync_file;  in sync_file_alloc()  local 26 	sync_file = kzalloc(sizeof(*sync_file), GFP_KERNEL);  in sync_file_alloc() 27 	if (!sync_file)  in sync_file_alloc() 30 	sync_file->file = anon_inode_getfile("sync_file", &sync_file_fops,  in sync_file_alloc() 31 					     sync_file, 0);  in sync_file_alloc() 32 	if (IS_ERR(sync_file->file))  in sync_file_alloc() 35 	init_waitqueue_head(&sync_file->wq);  in sync_file_alloc() 37 	INIT_LIST_HEAD(&sync_file->cb.node);  in sync_file_alloc() 39 	return sync_file;  in sync_file_alloc() [all …] 
 | 
| D | sync_debug.c | 36 void sync_file_debug_add(struct sync_file *sync_file)  in sync_file_debug_add()  argument 41 	list_add_tail(&sync_file->sync_file_list, &sync_file_list_head);  in sync_file_debug_add() 45 void sync_file_debug_remove(struct sync_file *sync_file)  in sync_file_debug_remove()  argument 50 	list_del(&sync_file->sync_file_list);  in sync_file_debug_remove() 122 				  struct sync_file *sync_file)  in sync_print_sync_file()  argument 127 	seq_printf(s, "[%p] %s: %s\n", sync_file,  in sync_print_sync_file() 128 		   sync_file_get_name(sync_file, buf, sizeof(buf)),  in sync_print_sync_file() 129 		   sync_status_str(dma_fence_get_status(sync_file->fence)));  in sync_print_sync_file() 131 	if (dma_fence_is_array(sync_file->fence)) {  in sync_print_sync_file() 132 		struct dma_fence_array *array = to_dma_fence_array(sync_file->fence);  in sync_print_sync_file() [all …] 
 | 
| D | sw_sync.c | 333 	struct sync_file *sync_file;  in sw_sync_ioctl_create_fence()  local 350 	sync_file = sync_file_create(&pt->base);  in sw_sync_ioctl_create_fence() 352 	if (!sync_file) {  in sw_sync_ioctl_create_fence() 359 		fput(sync_file->file);  in sw_sync_ioctl_create_fence() 364 	fd_install(fd, sync_file->file);  in sw_sync_ioctl_create_fence()
  | 
| D | sync_debug.h | 69 void sync_file_debug_add(struct sync_file *fence); 70 void sync_file_debug_remove(struct sync_file *fence);
  | 
| D | Makefile | 6 obj-$(CONFIG_SYNC_FILE)		+= sync_file.o
  | 
| D | Kconfig | 18 	  Documentation/driver-api/sync_file.rst.
  | 
| /Linux-v5.10/Documentation/driver-api/ | 
| 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->file. So it gets an [all …] 
 | 
| D | index.rst | 101    sync_file
  | 
| D | dma-buf.rst | 175 .. kernel-doc:: drivers/dma-buf/sync_file.c 178 .. kernel-doc:: include/linux/sync_file.h
  | 
| /Linux-v5.10/include/linux/ | 
| D | sync_file.h | 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);
  | 
| /Linux-v5.10/drivers/gpu/drm/virtio/ | 
| D | virtgpu_ioctl.c | 84 	struct sync_file *sync_file;  in virtio_gpu_execbuffer_ioctl()  local 169 		sync_file = sync_file_create(&out_fence->f);  in virtio_gpu_execbuffer_ioctl() 170 		if (!sync_file) {  in virtio_gpu_execbuffer_ioctl() 177 		fd_install(out_fence_fd, sync_file->file);  in virtio_gpu_execbuffer_ioctl()
  | 
| /Linux-v5.10/drivers/gpu/drm/etnaviv/ | 
| D | etnaviv_gem_submit.c | 435 	struct sync_file *sync_file = NULL;  in etnaviv_ioctl_gem_submit()  local 595 		sync_file = sync_file_create(submit->out_fence);  in etnaviv_ioctl_gem_submit() 596 		if (!sync_file) {  in etnaviv_ioctl_gem_submit() 600 		fd_install(out_fence_fd, sync_file->file);  in etnaviv_ioctl_gem_submit()
  | 
| /Linux-v5.10/drivers/gpu/drm/msm/ | 
| D | msm_gem_submit.c | 585 	struct sync_file *sync_file = NULL;  in msm_ioctl_gem_submit()  local 781 		sync_file = sync_file_create(submit->fence);  in msm_ioctl_gem_submit() 782 		if (!sync_file) {  in msm_ioctl_gem_submit() 793 		fd_install(out_fence_fd, sync_file->file);  in msm_ioctl_gem_submit()
  | 
| /Linux-v5.10/drivers/gpu/drm/ | 
| D | drm_atomic_uapi.c | 1089 	struct sync_file *sync_file;  member 1103 	fence_state->sync_file = sync_file_create(fence);  in setup_out_fence() 1104 	if (!fence_state->sync_file)  in setup_out_fence() 1246 				   fence_state[i].sync_file->file);  in complete_signaling() 1269 		if (fence_state[i].sync_file)  in complete_signaling() 1270 			fput(fence_state[i].sync_file->file);  in complete_signaling()
  | 
| D | drm_syncobj.c | 679 	struct sync_file *sync_file;  in drm_syncobj_export_sync_file()  local 689 	sync_file = sync_file_create(fence);  in drm_syncobj_export_sync_file() 693 	if (!sync_file) {  in drm_syncobj_export_sync_file() 698 	fd_install(fd, sync_file->file);  in drm_syncobj_export_sync_file()
  | 
| /Linux-v5.10/drivers/gpu/drm/amd/amdgpu/ | 
| D | amdgpu_cs.c | 1439 	struct sync_file *sync_file;  in amdgpu_cs_fence_to_handle_ioctl()  local 1475 		sync_file = sync_file_create(fence);  in amdgpu_cs_fence_to_handle_ioctl() 1477 		if (!sync_file) {  in amdgpu_cs_fence_to_handle_ioctl() 1482 		fd_install(fd, sync_file->file);  in amdgpu_cs_fence_to_handle_ioctl()
  | 
| /Linux-v5.10/drivers/gpu/drm/vmwgfx/ | 
| D | vmwgfx_execbuf.c | 3812 			    int32_t out_fence_fd, struct sync_file *sync_file)  in vmw_execbuf_copy_fence_user()  argument 3845 		if (sync_file)  in vmw_execbuf_copy_fence_user() 3846 			fput(sync_file->file);  in vmw_execbuf_copy_fence_user() 4035 	struct sync_file *sync_file = NULL;  in vmw_execbuf_process()  local 4192 		sync_file = sync_file_create(&fence->base);  in vmw_execbuf_process() 4193 		if (!sync_file) {  in vmw_execbuf_process() 4202 			fd_install(out_fence_fd, sync_file->file);  in vmw_execbuf_process() 4208 				    sync_file);  in vmw_execbuf_process()
  | 
| D | vmwgfx_drv.h | 1099 					struct sync_file *sync_file);
  | 
| /Linux-v5.10/drivers/gpu/drm/i915/gem/ | 
| D | i915_gem_execbuffer.c | 3170 	struct sync_file *out_fence = NULL;  in i915_gem_do_execbuffer()
  | 
| /Linux-v5.10/ | 
| D | MAINTAINERS | 16815 F:	Documentation/driver-api/sync_file.rst 16819 F:	include/linux/sync_file.h 16820 F:	include/uapi/linux/sync_file.h
  |