• Home
  • Raw
  • Download

Lines Matching refs:fence

29 static const char *virtio_get_driver_name(struct fence *f)  in virtio_get_driver_name()
34 static const char *virtio_get_timeline_name(struct fence *f) in virtio_get_timeline_name()
39 static bool virtio_enable_signaling(struct fence *f) in virtio_enable_signaling()
44 static bool virtio_signaled(struct fence *f) in virtio_signaled()
46 struct virtio_gpu_fence *fence = to_virtio_fence(f); in virtio_signaled() local
48 if (atomic64_read(&fence->drv->last_seq) >= fence->seq) in virtio_signaled()
53 static void virtio_fence_value_str(struct fence *f, char *str, int size) in virtio_fence_value_str()
55 struct virtio_gpu_fence *fence = to_virtio_fence(f); in virtio_fence_value_str() local
57 snprintf(str, size, "%llu", fence->seq); in virtio_fence_value_str()
60 static void virtio_timeline_value_str(struct fence *f, char *str, int size) in virtio_timeline_value_str()
62 struct virtio_gpu_fence *fence = to_virtio_fence(f); in virtio_timeline_value_str() local
64 snprintf(str, size, "%llu", (u64)atomic64_read(&fence->drv->last_seq)); in virtio_timeline_value_str()
79 struct virtio_gpu_fence **fence) in virtio_gpu_fence_emit() argument
84 *fence = kmalloc(sizeof(struct virtio_gpu_fence), GFP_ATOMIC); in virtio_gpu_fence_emit()
85 if ((*fence) == NULL) in virtio_gpu_fence_emit()
89 (*fence)->drv = drv; in virtio_gpu_fence_emit()
90 (*fence)->seq = ++drv->sync_seq; in virtio_gpu_fence_emit()
91 fence_init(&(*fence)->f, &virtio_fence_ops, &drv->lock, in virtio_gpu_fence_emit()
92 0, (*fence)->seq); in virtio_gpu_fence_emit()
93 fence_get(&(*fence)->f); in virtio_gpu_fence_emit()
94 list_add_tail(&(*fence)->node, &drv->fences); in virtio_gpu_fence_emit()
98 cmd_hdr->fence_id = cpu_to_le64((*fence)->seq); in virtio_gpu_fence_emit()
106 struct virtio_gpu_fence *fence, *tmp; in virtio_gpu_fence_event_process() local
111 list_for_each_entry_safe(fence, tmp, &drv->fences, node) { in virtio_gpu_fence_event_process()
112 if (last_seq < fence->seq) in virtio_gpu_fence_event_process()
114 fence_signal_locked(&fence->f); in virtio_gpu_fence_event_process()
115 list_del(&fence->node); in virtio_gpu_fence_event_process()
116 fence_put(&fence->f); in virtio_gpu_fence_event_process()