Lines Matching refs:fence

49 void drm_sched_fence_scheduled(struct drm_sched_fence *fence)  in drm_sched_fence_scheduled()  argument
51 int ret = dma_fence_signal(&fence->scheduled); in drm_sched_fence_scheduled()
54 DMA_FENCE_TRACE(&fence->scheduled, in drm_sched_fence_scheduled()
57 DMA_FENCE_TRACE(&fence->scheduled, in drm_sched_fence_scheduled()
61 void drm_sched_fence_finished(struct drm_sched_fence *fence) in drm_sched_fence_finished() argument
63 int ret = dma_fence_signal(&fence->finished); in drm_sched_fence_finished()
66 DMA_FENCE_TRACE(&fence->finished, in drm_sched_fence_finished()
69 DMA_FENCE_TRACE(&fence->finished, in drm_sched_fence_finished()
73 static const char *drm_sched_fence_get_driver_name(struct dma_fence *fence) in drm_sched_fence_get_driver_name() argument
80 struct drm_sched_fence *fence = to_drm_sched_fence(f); in drm_sched_fence_get_timeline_name() local
81 return (const char *)fence->sched->name; in drm_sched_fence_get_timeline_name()
94 struct drm_sched_fence *fence = to_drm_sched_fence(f); in drm_sched_fence_free() local
96 kmem_cache_free(sched_fence_slab, fence); in drm_sched_fence_free()
109 struct drm_sched_fence *fence = to_drm_sched_fence(f); in drm_sched_fence_release_scheduled() local
111 dma_fence_put(fence->parent); in drm_sched_fence_release_scheduled()
112 call_rcu(&fence->finished.rcu, drm_sched_fence_free); in drm_sched_fence_release_scheduled()
124 struct drm_sched_fence *fence = to_drm_sched_fence(f); in drm_sched_fence_release_finished() local
126 dma_fence_put(&fence->scheduled); in drm_sched_fence_release_finished()
156 struct drm_sched_fence *fence = NULL; in drm_sched_fence_create() local
159 fence = kmem_cache_zalloc(sched_fence_slab, GFP_KERNEL); in drm_sched_fence_create()
160 if (fence == NULL) in drm_sched_fence_create()
163 fence->owner = owner; in drm_sched_fence_create()
164 fence->sched = entity->rq->sched; in drm_sched_fence_create()
165 spin_lock_init(&fence->lock); in drm_sched_fence_create()
168 dma_fence_init(&fence->scheduled, &drm_sched_fence_ops_scheduled, in drm_sched_fence_create()
169 &fence->lock, entity->fence_context, seq); in drm_sched_fence_create()
170 dma_fence_init(&fence->finished, &drm_sched_fence_ops_finished, in drm_sched_fence_create()
171 &fence->lock, entity->fence_context + 1, seq); in drm_sched_fence_create()
173 return fence; in drm_sched_fence_create()