Lines Matching refs:node
49 struct hlist_node node; member
72 struct amdgpu_mn_node *node, *next_node; in amdgpu_mn_destroy() local
77 hash_del(&rmn->node); in amdgpu_mn_destroy()
78 rbtree_postorder_for_each_entry_safe(node, next_node, &rmn->objects, in amdgpu_mn_destroy()
81 interval_tree_remove(&node->it, &rmn->objects); in amdgpu_mn_destroy()
82 list_for_each_entry_safe(bo, next_bo, &node->bos, mn_list) { in amdgpu_mn_destroy()
86 kfree(node); in amdgpu_mn_destroy()
136 struct amdgpu_mn_node *node; in amdgpu_mn_invalidate_range_start() local
140 node = container_of(it, struct amdgpu_mn_node, it); in amdgpu_mn_invalidate_range_start()
143 list_for_each_entry(bo, &node->bos, mn_list) { in amdgpu_mn_invalidate_range_start()
193 hash_for_each_possible(adev->mn_hash, rmn, node, (unsigned long)mm) in amdgpu_mn_get()
213 hash_add(adev->mn_hash, &rmn->node, (unsigned long)mm); in amdgpu_mn_get()
243 struct amdgpu_mn_node *node = NULL; in amdgpu_mn_register() local
256 kfree(node); in amdgpu_mn_register()
257 node = container_of(it, struct amdgpu_mn_node, it); in amdgpu_mn_register()
258 interval_tree_remove(&node->it, &rmn->objects); in amdgpu_mn_register()
261 list_splice(&node->bos, &bos); in amdgpu_mn_register()
264 if (!node) { in amdgpu_mn_register()
265 node = kmalloc(sizeof(struct amdgpu_mn_node), GFP_KERNEL); in amdgpu_mn_register()
266 if (!node) { in amdgpu_mn_register()
274 node->it.start = addr; in amdgpu_mn_register()
275 node->it.last = end; in amdgpu_mn_register()
276 INIT_LIST_HEAD(&node->bos); in amdgpu_mn_register()
277 list_splice(&bos, &node->bos); in amdgpu_mn_register()
278 list_add(&bo->mn_list, &node->bos); in amdgpu_mn_register()
280 interval_tree_insert(&node->it, &rmn->objects); in amdgpu_mn_register()
315 struct amdgpu_mn_node *node; in amdgpu_mn_unregister() local
316 node = container_of(head, struct amdgpu_mn_node, bos); in amdgpu_mn_unregister()
317 interval_tree_remove(&node->it, &rmn->objects); in amdgpu_mn_unregister()
318 kfree(node); in amdgpu_mn_unregister()