Lines Matching refs:bo_va

79 	struct lima_bo_va *bo_va, *ret = NULL;  in lima_vm_bo_find()  local
81 list_for_each_entry(bo_va, &bo->va, list) { in lima_vm_bo_find()
82 if (bo_va->vm == vm) { in lima_vm_bo_find()
83 ret = bo_va; in lima_vm_bo_find()
93 struct lima_bo_va *bo_va; in lima_vm_bo_add() local
99 bo_va = lima_vm_bo_find(vm, bo); in lima_vm_bo_add()
100 if (bo_va) { in lima_vm_bo_add()
101 bo_va->ref_count++; in lima_vm_bo_add()
112 bo_va = kzalloc(sizeof(*bo_va), GFP_KERNEL); in lima_vm_bo_add()
113 if (!bo_va) { in lima_vm_bo_add()
118 bo_va->vm = vm; in lima_vm_bo_add()
119 bo_va->ref_count = 1; in lima_vm_bo_add()
123 err = drm_mm_insert_node(&vm->mm, &bo_va->node, lima_bo_size(bo)); in lima_vm_bo_add()
129 bo_va->node.start + offset); in lima_vm_bo_add()
138 list_add_tail(&bo_va->list, &bo->va); in lima_vm_bo_add()
145 lima_vm_unmap_range(vm, bo_va->node.start, bo_va->node.start + offset - 1); in lima_vm_bo_add()
146 drm_mm_remove_node(&bo_va->node); in lima_vm_bo_add()
149 kfree(bo_va); in lima_vm_bo_add()
157 struct lima_bo_va *bo_va; in lima_vm_bo_del() local
162 bo_va = lima_vm_bo_find(vm, bo); in lima_vm_bo_del()
163 if (--bo_va->ref_count > 0) { in lima_vm_bo_del()
170 size = bo->heap_size ? bo->heap_size : bo_va->node.size; in lima_vm_bo_del()
171 lima_vm_unmap_range(vm, bo_va->node.start, in lima_vm_bo_del()
172 bo_va->node.start + size - 1); in lima_vm_bo_del()
174 drm_mm_remove_node(&bo_va->node); in lima_vm_bo_del()
178 list_del(&bo_va->list); in lima_vm_bo_del()
182 kfree(bo_va); in lima_vm_bo_del()
187 struct lima_bo_va *bo_va; in lima_vm_get_va() local
192 bo_va = lima_vm_bo_find(vm, bo); in lima_vm_get_va()
193 ret = bo_va->node.start; in lima_vm_get_va()
285 struct lima_bo_va *bo_va; in lima_vm_map_bo() local
292 bo_va = lima_vm_bo_find(vm, bo); in lima_vm_map_bo()
293 if (!bo_va) { in lima_vm_map_bo()
300 base = bo_va->node.start + (pageoff << PAGE_SHIFT); in lima_vm_map_bo()