Lines Matching refs:fence

38 static const char *vgem_fence_get_driver_name(struct dma_fence *fence)  in vgem_fence_get_driver_name()  argument
43 static const char *vgem_fence_get_timeline_name(struct dma_fence *fence) in vgem_fence_get_timeline_name() argument
50 struct vgem_fence *fence = container_of(base, typeof(*fence), base); in vgem_fence_release() local
52 timer_delete_sync(&fence->timer); in vgem_fence_release()
53 dma_fence_free(&fence->base); in vgem_fence_release()
64 struct vgem_fence *fence = timer_container_of(fence, t, timer); in vgem_fence_timeout() local
66 dma_fence_signal(&fence->base); in vgem_fence_timeout()
72 struct vgem_fence *fence; in vgem_fence_create() local
74 fence = kzalloc(sizeof(*fence), GFP_KERNEL); in vgem_fence_create()
75 if (!fence) in vgem_fence_create()
78 spin_lock_init(&fence->lock); in vgem_fence_create()
79 dma_fence_init(&fence->base, &vgem_fence_ops, &fence->lock, in vgem_fence_create()
82 timer_setup(&fence->timer, vgem_fence_timeout, 0); in vgem_fence_create()
85 mod_timer(&fence->timer, jiffies + VGEM_FENCE_TIMEOUT); in vgem_fence_create()
87 return &fence->base; in vgem_fence_create()
119 struct dma_fence *fence; in vgem_fence_attach_ioctl() local
132 fence = vgem_fence_create(vfile, arg->flags); in vgem_fence_attach_ioctl()
133 if (!fence) { in vgem_fence_attach_ioctl()
150 dma_resv_add_fence(resv, fence, arg->flags & VGEM_FENCE_WRITE ? in vgem_fence_attach_ioctl()
157 ret = idr_alloc(&vfile->fence_idr, fence, 1, 0, GFP_KERNEL); in vgem_fence_attach_ioctl()
166 dma_fence_signal(fence); in vgem_fence_attach_ioctl()
167 dma_fence_put(fence); in vgem_fence_attach_ioctl()
196 struct dma_fence *fence; in vgem_fence_signal_ioctl() local
203 fence = idr_replace(&vfile->fence_idr, NULL, arg->fence); in vgem_fence_signal_ioctl()
205 if (!fence) in vgem_fence_signal_ioctl()
207 if (IS_ERR(fence)) in vgem_fence_signal_ioctl()
208 return PTR_ERR(fence); in vgem_fence_signal_ioctl()
210 if (dma_fence_is_signaled(fence)) in vgem_fence_signal_ioctl()
213 dma_fence_signal(fence); in vgem_fence_signal_ioctl()
214 dma_fence_put(fence); in vgem_fence_signal_ioctl()