Lines Matching refs:mgr
85 void drm_vma_offset_manager_init(struct drm_vma_offset_manager *mgr, in drm_vma_offset_manager_init() argument
88 rwlock_init(&mgr->vm_lock); in drm_vma_offset_manager_init()
89 mgr->vm_addr_space_rb = RB_ROOT; in drm_vma_offset_manager_init()
90 drm_mm_init(&mgr->vm_addr_space_mm, page_offset, size); in drm_vma_offset_manager_init()
105 void drm_vma_offset_manager_destroy(struct drm_vma_offset_manager *mgr) in drm_vma_offset_manager_destroy() argument
108 write_lock(&mgr->vm_lock); in drm_vma_offset_manager_destroy()
109 drm_mm_takedown(&mgr->vm_addr_space_mm); in drm_vma_offset_manager_destroy()
110 write_unlock(&mgr->vm_lock); in drm_vma_offset_manager_destroy()
141 struct drm_vma_offset_node *drm_vma_offset_lookup_locked(struct drm_vma_offset_manager *mgr, in drm_vma_offset_lookup_locked() argument
149 iter = mgr->vm_addr_space_rb.rb_node; in drm_vma_offset_lookup_locked()
177 static void _drm_vma_offset_add_rb(struct drm_vma_offset_manager *mgr, in _drm_vma_offset_add_rb() argument
180 struct rb_node **iter = &mgr->vm_addr_space_rb.rb_node; in _drm_vma_offset_add_rb()
197 rb_insert_color(&node->vm_rb, &mgr->vm_addr_space_rb); in _drm_vma_offset_add_rb()
223 int drm_vma_offset_add(struct drm_vma_offset_manager *mgr, in drm_vma_offset_add() argument
228 write_lock(&mgr->vm_lock); in drm_vma_offset_add()
235 ret = drm_mm_insert_node(&mgr->vm_addr_space_mm, &node->vm_node, in drm_vma_offset_add()
240 _drm_vma_offset_add_rb(mgr, node); in drm_vma_offset_add()
243 write_unlock(&mgr->vm_lock); in drm_vma_offset_add()
259 void drm_vma_offset_remove(struct drm_vma_offset_manager *mgr, in drm_vma_offset_remove() argument
262 write_lock(&mgr->vm_lock); in drm_vma_offset_remove()
265 rb_erase(&node->vm_rb, &mgr->vm_addr_space_rb); in drm_vma_offset_remove()
270 write_unlock(&mgr->vm_lock); in drm_vma_offset_remove()