Lines Matching refs:fence

42 	struct virtio_gpu_fence *fence = to_virtio_fence(f);  in virtio_fence_signaled()  local
44 if (atomic64_read(&fence->drv->last_seq) >= fence->f.seqno) in virtio_fence_signaled()
56 struct virtio_gpu_fence *fence = to_virtio_fence(f); in virtio_timeline_value_str() local
58 snprintf(str, size, "%llu", (u64)atomic64_read(&fence->drv->last_seq)); in virtio_timeline_value_str()
72 struct virtio_gpu_fence *fence = kzalloc(sizeof(struct virtio_gpu_fence), in virtio_gpu_fence_alloc() local
74 if (!fence) in virtio_gpu_fence_alloc()
75 return fence; in virtio_gpu_fence_alloc()
77 fence->drv = drv; in virtio_gpu_fence_alloc()
83 dma_fence_init(&fence->f, &virtio_fence_ops, &drv->lock, drv->context, 0); in virtio_gpu_fence_alloc()
85 return fence; in virtio_gpu_fence_alloc()
90 struct virtio_gpu_fence *fence) in virtio_gpu_fence_emit() argument
96 fence->f.seqno = ++drv->sync_seq; in virtio_gpu_fence_emit()
97 dma_fence_get(&fence->f); in virtio_gpu_fence_emit()
98 list_add_tail(&fence->node, &drv->fences); in virtio_gpu_fence_emit()
101 trace_dma_fence_emit(&fence->f); in virtio_gpu_fence_emit()
104 cmd_hdr->fence_id = cpu_to_le64(fence->f.seqno); in virtio_gpu_fence_emit()
111 struct virtio_gpu_fence *fence, *tmp; in virtio_gpu_fence_event_process() local
116 list_for_each_entry_safe(fence, tmp, &drv->fences, node) { in virtio_gpu_fence_event_process()
117 if (last_seq < fence->f.seqno) in virtio_gpu_fence_event_process()
119 dma_fence_signal_locked(&fence->f); in virtio_gpu_fence_event_process()
120 list_del(&fence->node); in virtio_gpu_fence_event_process()
121 dma_fence_put(&fence->f); in virtio_gpu_fence_event_process()