Lines Matching refs:node
53 container_of(iovad->cached32_node, struct iova, node); in __get_cached_rbnode()
65 iovad->cached32_node = &new->node; in __cached_rbnode_insert_update()
77 cached_iova = container_of(curr, struct iova, node); in __cached_rbnode_delete_update()
80 struct rb_node *node = rb_next(&free->node); in __cached_rbnode_delete_update() local
81 struct iova *iova = container_of(node, struct iova, node); in __cached_rbnode_delete_update()
84 if (node && iova->pfn_lo < iovad->dma_32bit_pfn) in __cached_rbnode_delete_update()
85 iovad->cached32_node = node; in __cached_rbnode_delete_update()
116 struct iova *curr_iova = container_of(curr, struct iova, node); in __alloc_and_insert_iova_range()
163 struct iova, node); in __alloc_and_insert_iova_range()
175 rb_link_node(&new->node, parent, entry); in __alloc_and_insert_iova_range()
176 rb_insert_color(&new->node, &iovad->rbroot); in __alloc_and_insert_iova_range()
192 struct iova *this = container_of(*new, struct iova, node); in iova_insert_rbtree()
204 rb_link_node(&iova->node, parent, new); in iova_insert_rbtree()
205 rb_insert_color(&iova->node, root); in iova_insert_rbtree()
304 struct rb_node *node; in find_iova() local
308 node = iovad->rbroot.rb_node; in find_iova()
309 while (node) { in find_iova()
310 struct iova *iova = container_of(node, struct iova, node); in find_iova()
325 node = node->rb_left; in find_iova()
327 node = node->rb_right; in find_iova()
348 rb_erase(&iova->node, &iovad->rbroot); in __free_iova()
379 struct rb_node *node; in put_iova_domain() local
383 node = rb_first(&iovad->rbroot); in put_iova_domain()
384 while (node) { in put_iova_domain()
385 struct iova *iova = container_of(node, struct iova, node); in put_iova_domain()
387 rb_erase(node, &iovad->rbroot); in put_iova_domain()
389 node = rb_first(&iovad->rbroot); in put_iova_domain()
396 __is_range_overlap(struct rb_node *node, in __is_range_overlap() argument
399 struct iova *iova = container_of(node, struct iova, node); in __is_range_overlap()
455 struct rb_node *node; in reserve_iova() local
461 for (node = rb_first(&iovad->rbroot); node; node = rb_next(node)) { in reserve_iova()
462 if (__is_range_overlap(node, pfn_lo, pfn_hi)) { in reserve_iova()
463 iova = container_of(node, struct iova, node); in reserve_iova()
496 struct rb_node *node; in copy_reserved_iova() local
499 for (node = rb_first(&from->rbroot); node; node = rb_next(node)) { in copy_reserved_iova()
500 struct iova *iova = container_of(node, struct iova, node); in copy_reserved_iova()
532 rb_erase(&iova->node, &iovad->rbroot); in split_and_remove_iova()