Lines Matching refs:node
32 static struct iova *to_iova(struct rb_node *node) in to_iova() argument
34 return rb_entry(node, struct iova, node); in to_iova()
50 iovad->cached_node = &iovad->anchor.node; in init_iova_domain()
51 iovad->cached32_node = &iovad->anchor.node; in init_iova_domain()
57 rb_link_node(&iovad->anchor.node, NULL, &iovad->rbroot.rb_node); in init_iova_domain()
58 rb_insert_color(&iovad->anchor.node, &iovad->rbroot); in init_iova_domain()
75 iovad->cached32_node = &new->node; in __cached_rbnode_insert_update()
77 iovad->cached_node = &new->node; in __cached_rbnode_insert_update()
89 iovad->cached32_node = rb_next(&free->node); in __cached_rbnode_delete_update()
96 iovad->cached_node = rb_next(&free->node); in __cached_rbnode_delete_update()
101 struct rb_node *node, *next; in iova_find_limit() local
111 return &iovad->anchor.node; in iova_find_limit()
113 node = iovad->rbroot.rb_node; in iova_find_limit()
114 while (to_iova(node)->pfn_hi < limit_pfn) in iova_find_limit()
115 node = node->rb_right; in iova_find_limit()
118 while (node->rb_left && to_iova(node->rb_left)->pfn_lo >= limit_pfn) in iova_find_limit()
119 node = node->rb_left; in iova_find_limit()
121 if (!node->rb_left) in iova_find_limit()
122 return node; in iova_find_limit()
124 next = node->rb_left; in iova_find_limit()
128 node = next; in iova_find_limit()
133 return node; in iova_find_limit()
160 rb_link_node(&iova->node, parent, new); in iova_insert_rbtree()
161 rb_insert_color(&iova->node, root); in iova_insert_rbtree()
278 struct rb_node *node = iovad->rbroot.rb_node; in private_find_iova() local
282 while (node) { in private_find_iova()
283 struct iova *iova = to_iova(node); in private_find_iova()
286 node = node->rb_left; in private_find_iova()
288 node = node->rb_right; in private_find_iova()
300 rb_erase(&iova->node, &iovad->rbroot); in remove_iova()
453 rbtree_postorder_for_each_entry_safe(iova, tmp, &iovad->rbroot, node) in put_iova_domain()
459 __is_range_overlap(struct rb_node *node, in __is_range_overlap() argument
462 struct iova *iova = to_iova(node); in __is_range_overlap()
518 struct rb_node *node; in reserve_iova() local
528 for (node = rb_first(&iovad->rbroot); node; node = rb_next(node)) { in reserve_iova()
529 if (__is_range_overlap(node, pfn_lo, pfn_hi)) { in reserve_iova()
530 iova = to_iova(node); in reserve_iova()
943 static int iova_cpuhp_dead(unsigned int cpu, struct hlist_node *node) in iova_cpuhp_dead() argument
947 iovad = hlist_entry_safe(node, struct iova_domain, cpuhp_dead); in iova_cpuhp_dead()