Lines Matching refs:rt

27  *   range_tree_set(rt, 0, max);
29 * start = range_tree_find(rt, len);
31 * range_tree_clear(rt, start, len);
33 * range_tree_set(rt, start, len);
55 static inline struct range_node *__find_range(struct range_tree *rt, u32 len)
57 struct rb_node *rb = rt->range_size_root.rb_root.rb_node;
74 s64 range_tree_find(struct range_tree *rt, u32 len)
78 rn = __find_range(rt, len);
115 range_it_insert(struct range_node *rn, struct range_tree *rt)
117 __range_size_insert(rn, &rt->range_size_root);
118 __range_it_insert(rn, &rt->it_root);
122 range_it_remove(struct range_node *rn, struct range_tree *rt)
124 rb_erase_cached(&rn->rb_range_size, &rt->range_size_root);
126 __range_it_remove(rn, &rt->it_root);
130 range_it_iter_first(struct range_tree *rt, u32 start, u32 last)
132 return __range_it_iter_first(&rt->it_root, start, last);
136 int range_tree_clear(struct range_tree *rt, u32 start, u32 len)
142 while ((rn = range_it_iter_first(rt, start, last))) {
147 range_it_remove(rn, rt);
149 range_it_insert(rn, rt);
157 range_it_insert(new_rn, rt);
160 range_it_remove(rn, rt);
162 range_it_insert(rn, rt);
165 range_it_remove(rn, rt);
167 range_it_insert(rn, rt);
171 range_it_remove(rn, rt);
179 int is_range_tree_set(struct range_tree *rt, u32 start, u32 len)
185 left = range_it_iter_first(rt, start, last);
192 int range_tree_set(struct range_tree *rt, u32 start, u32 len)
200 left = range_it_iter_first(rt, start, last);
205 err = range_tree_clear(rt, start, len);
210 left = range_it_iter_first(rt, start - 1, start - 1);
215 right = range_it_iter_first(rt, last + 1, last + 1);
221 range_it_remove(left, rt);
222 range_it_remove(right, rt);
224 range_it_insert(left, rt);
228 range_it_remove(left, rt);
230 range_it_insert(left, rt);
233 range_it_remove(right, rt);
235 range_it_insert(right, rt);
242 range_it_insert(left, rt);
247 void range_tree_destroy(struct range_tree *rt)
251 while ((rn = range_it_iter_first(rt, 0, -1U))) {
252 range_it_remove(rn, rt);
257 void range_tree_init(struct range_tree *rt)
259 rt->it_root = RB_ROOT_CACHED;
260 rt->range_size_root = RB_ROOT_CACHED;