Lines Matching defs:rb

156 INTERVAL_TREE_DEFINE(struct drm_mm_node, rb,
165 struct rb_node *rb;
167 for (rb = rb_first_cached(root); rb; rb = rb_next(rb)) {
168 node = rb_entry(rb, typeof(*node), rb);
179 rb_erase_cached(&node->rb, root);
195 struct rb_node **link, *rb;
202 rb = &hole_node->rb;
203 while (rb) {
204 parent = rb_entry(rb, struct drm_mm_node, rb);
209 rb = rb_parent(rb);
212 rb = &hole_node->rb;
213 link = &hole_node->rb.rb_right;
216 rb = NULL;
222 rb = *link;
223 parent = rb_entry(rb, struct drm_mm_node, rb);
227 link = &parent->rb.rb_left;
229 link = &parent->rb.rb_right;
234 rb_link_node(&node->rb, rb, link);
236 rb_insert_augmented_cached(&node->rb, &mm->interval_tree, leftmost,
239 rb_insert_color_cached(&node->rb, &mm->interval_tree, leftmost);
244 struct rb_node **link = &root.rb_node, *rb = NULL; \
247 rb = *link; \
248 if (x < expr(rb_entry(rb, struct drm_mm_node, member))) \
249 link = &rb->rb_left; \
251 link = &rb->rb_right; \
253 rb_link_node(&node->member, rb, link); \
260 static u64 rb_to_hole_size(struct rb_node *rb)
262 return rb_entry(rb, struct drm_mm_node, rb_hole_size)->hole_size;
268 struct rb_node **link = &root->rb_root.rb_node, *rb = NULL;
273 rb = *link;
274 if (x > rb_to_hole_size(rb)) {
275 link = &rb->rb_left;
277 link = &rb->rb_right;
282 rb_link_node(&node->rb_hole_size, rb, link);
312 static inline struct drm_mm_node *rb_hole_size_to_node(struct rb_node *rb)
314 return rb_entry_safe(rb, struct drm_mm_node, rb_hole_size);
317 static inline struct drm_mm_node *rb_hole_addr_to_node(struct rb_node *rb)
319 return rb_entry_safe(rb, struct drm_mm_node, rb_hole_addr);
322 static inline u64 rb_hole_size(struct rb_node *rb)
324 return rb_entry(rb, struct drm_mm_node, rb_hole_size)->hole_size;
329 struct rb_node *rb = mm->holes_size.rb_root.rb_node;
334 rb_entry(rb, struct drm_mm_node, rb_hole_size);
338 rb = rb->rb_right;
340 rb = rb->rb_left;
342 } while (rb);
349 struct rb_node *rb = mm->holes_addr.rb_node;
352 while (rb) {
355 node = rb_hole_addr_to_node(rb);
359 rb = node->rb_hole_addr.rb_left;
361 rb = node->rb_hole_addr.rb_right;
471 static u64 rb_to_hole_size_or_zero(struct rb_node *rb)
473 return rb ? rb_to_hole_size(rb) : 0;
648 rb_replace_node_cached(&old->rb, &new->rb, &mm->interval_tree);