Lines Matching refs:fence

94 						 struct dma_fence **fence,
100 *fence = drm_syncobj_fence_get(syncobj);
101 if (*fence)
109 if (syncobj->fence) {
110 *fence = dma_fence_get(syncobj->fence);
113 *fence = NULL;
163 struct dma_fence *fence) in drm_syncobj_replace_fence() argument
168 if (fence) in drm_syncobj_replace_fence()
169 dma_fence_get(fence); in drm_syncobj_replace_fence()
173 old_fence = syncobj->fence; in drm_syncobj_replace_fence()
174 syncobj->fence = fence; in drm_syncobj_replace_fence()
176 if (fence != old_fence) { in drm_syncobj_replace_fence()
194 static const char *drm_syncobj_null_fence_get_name(struct dma_fence *fence) in drm_syncobj_null_fence_get_name() argument
199 static bool drm_syncobj_null_fence_enable_signaling(struct dma_fence *fence) in drm_syncobj_null_fence_enable_signaling() argument
201 dma_fence_enable_sw_signaling(fence); in drm_syncobj_null_fence_enable_signaling()
202 return !dma_fence_is_signaled(fence); in drm_syncobj_null_fence_enable_signaling()
215 struct drm_syncobj_null_fence *fence; in drm_syncobj_assign_null_handle() local
216 fence = kzalloc(sizeof(*fence), GFP_KERNEL); in drm_syncobj_assign_null_handle()
217 if (fence == NULL) in drm_syncobj_assign_null_handle()
220 lockinit(&fence->lock, "dsofl", 0, 0); in drm_syncobj_assign_null_handle()
221 dma_fence_init(&fence->base, &drm_syncobj_null_fence_ops, in drm_syncobj_assign_null_handle()
222 &fence->lock, 0, 0); in drm_syncobj_assign_null_handle()
223 dma_fence_signal(&fence->base); in drm_syncobj_assign_null_handle()
225 drm_syncobj_replace_fence(syncobj, &fence->base); in drm_syncobj_assign_null_handle()
227 dma_fence_put(&fence->base); in drm_syncobj_assign_null_handle()
234 struct dma_fence **fence) in drm_syncobj_find_fence() argument
242 *fence = drm_syncobj_fence_get(syncobj); in drm_syncobj_find_fence()
243 if (!*fence) { in drm_syncobj_find_fence()
274 struct dma_fence *fence) in drm_syncobj_create() argument
295 if (fence) in drm_syncobj_create()
296 drm_syncobj_replace_fence(syncobj, fence); in drm_syncobj_create()
478 struct dma_fence *fence = sync_file_get_fence(fd); in drm_syncobj_import_sync_file_fence() local
481 if (!fence) in drm_syncobj_import_sync_file_fence()
486 dma_fence_put(fence); in drm_syncobj_import_sync_file_fence()
490 drm_syncobj_replace_fence(syncobj, fence); in drm_syncobj_import_sync_file_fence()
491 dma_fence_put(fence); in drm_syncobj_import_sync_file_fence()
500 struct dma_fence *fence; in drm_syncobj_export_sync_file() local
507 ret = drm_syncobj_find_fence(file_private, handle, &fence); in drm_syncobj_export_sync_file()
511 sync_file = sync_file_create(fence); in drm_syncobj_export_sync_file()
513 dma_fence_put(fence); in drm_syncobj_export_sync_file()
651 struct dma_fence *fence;
656 static void syncobj_wait_fence_func(struct dma_fence *fence,
672 wait->fence = dma_fence_get(syncobj->fence);
683 struct dma_fence *fence;
699 entries[i].fence = drm_syncobj_fence_get(syncobjs[i]);
700 if (!entries[i].fence) {
709 if (dma_fence_is_signaled(entries[i].fence)) {
737 &entries[i].fence,
748 fence = entries[i].fence;
749 if (!fence)
752 if (dma_fence_is_signaled(fence) ||
754 dma_fence_add_callback(fence,
794 dma_fence_remove_callback(entries[i].fence,
796 dma_fence_put(entries[i].fence);