Lines Matching full:fence

8 #include <linux/dma-fence-unwrap.h>
58 * @fence: fence to add to the sync_fence
60 * Creates a sync_file containg @fence. This function acquires and additional
61 * reference of @fence for the newly-created &sync_file, if it succeeds. The
65 struct sync_file *sync_file_create(struct dma_fence *fence) in sync_file_create() argument
73 sync_file->fence = dma_fence_get(fence); in sync_file_create()
97 * sync_file_get_fence - get the fence related to the sync_file fd
98 * @fd: sync_file fd to get the fence from
100 * Ensures @fd references a valid sync_file and returns a fence that
101 * represents all fence in the sync_file. On error NULL is returned.
106 struct dma_fence *fence; in sync_file_get_fence() local
112 fence = dma_fence_get(sync_file->fence); in sync_file_get_fence()
115 return fence; in sync_file_get_fence()
121 * @sync_file: sync_file to get the fence from
126 * sync_files together) or created from the fence it contains. In the latter
137 struct dma_fence *fence = sync_file->fence; in sync_file_get_name() local
140 fence->ops->get_driver_name(fence), in sync_file_get_name()
141 fence->ops->get_timeline_name(fence), in sync_file_get_name()
142 fence->context, in sync_file_get_name()
143 fence->seqno); in sync_file_get_name()
151 * @name: name of new fence
163 struct dma_fence *fence; in sync_file_merge() local
169 fence = dma_fence_unwrap_merge(a->fence, b->fence); in sync_file_merge()
170 if (!fence) { in sync_file_merge()
174 sync_file->fence = fence; in sync_file_merge()
184 dma_fence_remove_callback(sync_file->fence, &sync_file->cb); in sync_file_release()
185 dma_fence_put(sync_file->fence); in sync_file_release()
199 if (dma_fence_add_callback(sync_file->fence, &sync_file->cb, in sync_file_poll()
204 return dma_fence_is_signaled(sync_file->fence) ? EPOLLIN : 0; in sync_file_poll()
241 data.fence = fd; in sync_file_ioctl_merge()
262 static int sync_fill_fence_info(struct dma_fence *fence, in sync_fill_fence_info() argument
265 strscpy(info->obj_name, fence->ops->get_timeline_name(fence), in sync_fill_fence_info()
267 strscpy(info->driver_name, fence->ops->get_driver_name(fence), in sync_fill_fence_info()
270 info->status = dma_fence_get_status(fence); in sync_fill_fence_info()
272 dma_fence_is_signaled(fence) ? in sync_fill_fence_info()
273 ktime_to_ns(dma_fence_timestamp(fence)) : in sync_fill_fence_info()
286 struct dma_fence *fence; in sync_file_ioctl_fence_info() local
297 dma_fence_unwrap_for_each(fence, &iter, sync_file->fence) in sync_file_ioctl_fence_info()
307 info.status = dma_fence_get_status(sync_file->fence); in sync_file_ioctl_fence_info()
322 dma_fence_unwrap_for_each(fence, &iter, sync_file->fence) { in sync_file_ioctl_fence_info()
325 status = sync_fill_fence_info(fence, &fence_info[num_fences++]); in sync_file_ioctl_fence_info()
361 dma_fence_set_deadline(sync_file->fence, ns_to_ktime(ts.deadline_ns)); in sync_file_ioctl_set_deadline()