Lines Matching defs: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)
73 sync_file->fence = dma_fence_get(fence);
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;
112 fence = dma_fence_get(sync_file->fence);
115 return 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;
140 fence->ops->get_driver_name(fence),
141 fence->ops->get_timeline_name(fence),
142 fence->context,
143 fence->seqno);
151 * @name: name of new fence
163 struct dma_fence *fence;
169 fence = dma_fence_unwrap_merge(a->fence, b->fence);
170 if (!fence) {
174 sync_file->fence = fence;
184 dma_fence_remove_callback(sync_file->fence, &sync_file->cb);
185 dma_fence_put(sync_file->fence);
199 if (dma_fence_add_callback(sync_file->fence, &sync_file->cb,
204 return dma_fence_is_signaled(sync_file->fence) ? EPOLLIN : 0;
241 data.fence = fd;
262 static int sync_fill_fence_info(struct dma_fence *fence,
265 strscpy(info->obj_name, fence->ops->get_timeline_name(fence),
267 strscpy(info->driver_name, fence->ops->get_driver_name(fence),
270 info->status = dma_fence_get_status(fence);
272 dma_fence_is_signaled(fence) ?
273 ktime_to_ns(dma_fence_timestamp(fence)) :
286 struct dma_fence *fence;
297 dma_fence_unwrap_for_each(fence, &iter, sync_file->fence)
307 info.status = dma_fence_get_status(sync_file->fence);
322 dma_fence_unwrap_for_each(fence, &iter, sync_file->fence) {
325 status = sync_fill_fence_info(fence, &fence_info[num_fences++]);