Lines Matching refs:fence
64 struct virtio_gpu_fence *fence = kzalloc_obj(struct virtio_gpu_fence); in virtio_gpu_fence_alloc() local
66 if (!fence) in virtio_gpu_fence_alloc()
67 return fence; in virtio_gpu_fence_alloc()
69 fence->drv = drv; in virtio_gpu_fence_alloc()
70 fence->ring_idx = ring_idx; in virtio_gpu_fence_alloc()
71 fence->emit_fence_info = !(base_fence_ctx == drv->context); in virtio_gpu_fence_alloc()
78 dma_fence_init(&fence->f, &virtio_gpu_fence_ops, &drv->lock, in virtio_gpu_fence_alloc()
81 return fence; in virtio_gpu_fence_alloc()
86 struct virtio_gpu_fence *fence) in virtio_gpu_fence_emit() argument
92 fence->fence_id = fence->f.seqno = ++drv->current_fence_id; in virtio_gpu_fence_emit()
93 dma_fence_get(&fence->f); in virtio_gpu_fence_emit()
94 list_add_tail(&fence->node, &drv->fences); in virtio_gpu_fence_emit()
97 trace_dma_fence_emit(&fence->f); in virtio_gpu_fence_emit()
100 cmd_hdr->fence_id = cpu_to_le64(fence->fence_id); in virtio_gpu_fence_emit()
103 if (fence->emit_fence_info) { in virtio_gpu_fence_emit()
106 cmd_hdr->ring_idx = (u8)fence->ring_idx; in virtio_gpu_fence_emit()