Lines Matching defs:rfence
23 struct xe_range_fence *rfence = container_of(cb, typeof(*rfence), cb);
24 struct xe_range_fence_tree *tree = rfence->tree;
26 llist_add(&rfence->link, &tree->list);
32 struct xe_range_fence *rfence, *next;
34 llist_for_each_entry_safe(rfence, next, node, link) {
35 xe_range_fence_tree_remove(rfence, &tree->root);
36 dma_fence_put(rfence->fence);
37 kfree(rfence);
46 * @rfence: range fence
55 struct xe_range_fence *rfence,
66 rfence->ops = ops;
67 rfence->start = start;
68 rfence->last = last;
69 rfence->tree = tree;
70 rfence->fence = dma_fence_get(fence);
71 err = dma_fence_add_callback(fence, &rfence->cb,
78 xe_range_fence_tree_insert(rfence, &tree->root);
84 ops->free(rfence);
91 struct xe_range_fence *rfence;
94 rfence = xe_range_fence_tree_iter_first(&tree->root, 0, U64_MAX);
95 while (rfence) {
97 if (dma_fence_remove_callback(rfence->fence, &rfence->cb))
98 llist_add(&rfence->link, &tree->list);
99 rfence = xe_range_fence_tree_iter_next(rfence, 0, U64_MAX);
142 * @rfence: current range fence
149 xe_range_fence_tree_next(struct xe_range_fence *rfence, u64 start, u64 last)
151 return xe_range_fence_tree_iter_next(rfence, start, last);
154 static void xe_range_fence_free(struct xe_range_fence *rfence)
156 kfree(rfence);