Lines Matching refs:node
134 struct drm_vma_offset_node *node; in drm_vma_offset_lookup() local
137 node = drm_vma_offset_lookup_locked(mgr, start, pages); in drm_vma_offset_lookup()
140 return node; in drm_vma_offset_lookup()
161 struct drm_vma_offset_node *node, *best; in drm_vma_offset_lookup_locked() local
169 node = rb_entry(iter, struct drm_vma_offset_node, vm_rb); in drm_vma_offset_lookup_locked()
170 offset = node->vm_node.start; in drm_vma_offset_lookup_locked()
173 best = node; in drm_vma_offset_lookup_locked()
194 struct drm_vma_offset_node *node) in _drm_vma_offset_add_rb() argument
204 if (node->vm_node.start < iter_node->vm_node.start) in _drm_vma_offset_add_rb()
206 else if (node->vm_node.start > iter_node->vm_node.start) in _drm_vma_offset_add_rb()
212 rb_link_node(&node->vm_rb, parent, iter); in _drm_vma_offset_add_rb()
213 rb_insert_color(&node->vm_rb, &mgr->vm_addr_space_rb); in _drm_vma_offset_add_rb()
240 struct drm_vma_offset_node *node, unsigned long pages) in drm_vma_offset_add() argument
246 if (drm_mm_node_allocated(&node->vm_node)) { in drm_vma_offset_add()
251 ret = drm_mm_insert_node(&mgr->vm_addr_space_mm, &node->vm_node, in drm_vma_offset_add()
256 _drm_vma_offset_add_rb(mgr, node); in drm_vma_offset_add()
276 struct drm_vma_offset_node *node) in drm_vma_offset_remove() argument
280 if (drm_mm_node_allocated(&node->vm_node)) { in drm_vma_offset_remove()
281 rb_erase(&node->vm_rb, &mgr->vm_addr_space_rb); in drm_vma_offset_remove()
282 drm_mm_remove_node(&node->vm_node); in drm_vma_offset_remove()
283 memset(&node->vm_node, 0, sizeof(node->vm_node)); in drm_vma_offset_remove()
310 int drm_vma_node_allow(struct drm_vma_offset_node *node, struct file *filp) in drm_vma_node_allow() argument
323 write_lock(&node->vm_lock); in drm_vma_node_allow()
325 iter = &node->vm_files.rb_node; in drm_vma_node_allow()
349 rb_insert_color(&new->vm_rb, &node->vm_files); in drm_vma_node_allow()
353 write_unlock(&node->vm_lock); in drm_vma_node_allow()
372 void drm_vma_node_revoke(struct drm_vma_offset_node *node, struct file *filp) in drm_vma_node_revoke() argument
377 write_lock(&node->vm_lock); in drm_vma_node_revoke()
379 iter = node->vm_files.rb_node; in drm_vma_node_revoke()
384 rb_erase(&entry->vm_rb, &node->vm_files); in drm_vma_node_revoke()
395 write_unlock(&node->vm_lock); in drm_vma_node_revoke()
412 bool drm_vma_node_is_allowed(struct drm_vma_offset_node *node, in drm_vma_node_is_allowed() argument
418 read_lock(&node->vm_lock); in drm_vma_node_is_allowed()
420 iter = node->vm_files.rb_node; in drm_vma_node_is_allowed()
431 read_unlock(&node->vm_lock); in drm_vma_node_is_allowed()