Lines Matching refs:tree

24 	struct xe_range_fence_tree *tree = rfence->tree;  in xe_range_fence_signal_notify()  local
26 llist_add(&rfence->link, &tree->list); in xe_range_fence_signal_notify()
29 static bool __xe_range_fence_tree_cleanup(struct xe_range_fence_tree *tree) in __xe_range_fence_tree_cleanup() argument
31 struct llist_node *node = llist_del_all(&tree->list); in __xe_range_fence_tree_cleanup()
35 xe_range_fence_tree_remove(rfence, &tree->root); in __xe_range_fence_tree_cleanup()
54 int xe_range_fence_insert(struct xe_range_fence_tree *tree, in xe_range_fence_insert() argument
61 __xe_range_fence_tree_cleanup(tree); in xe_range_fence_insert()
69 rfence->tree = tree; in xe_range_fence_insert()
78 xe_range_fence_tree_insert(rfence, &tree->root); in xe_range_fence_insert()
89 static void xe_range_fence_tree_remove_all(struct xe_range_fence_tree *tree) in xe_range_fence_tree_remove_all() argument
94 rfence = xe_range_fence_tree_iter_first(&tree->root, 0, U64_MAX); in xe_range_fence_tree_remove_all()
98 llist_add(&rfence->link, &tree->list); in xe_range_fence_tree_remove_all()
103 retry = __xe_range_fence_tree_cleanup(tree); in xe_range_fence_tree_remove_all()
110 void xe_range_fence_tree_init(struct xe_range_fence_tree *tree) in xe_range_fence_tree_init() argument
112 memset(tree, 0, sizeof(*tree)); in xe_range_fence_tree_init()
119 void xe_range_fence_tree_fini(struct xe_range_fence_tree *tree) in xe_range_fence_tree_fini() argument
121 xe_range_fence_tree_remove_all(tree); in xe_range_fence_tree_fini()
122 XE_WARN_ON(!RB_EMPTY_ROOT(&tree->root.rb_root)); in xe_range_fence_tree_fini()
134 xe_range_fence_tree_first(struct xe_range_fence_tree *tree, u64 start, in xe_range_fence_tree_first() argument
137 return xe_range_fence_tree_iter_first(&tree->root, start, last); in xe_range_fence_tree_first()