Lines Matching refs:bo_va

88 	struct lima_bo_va *bo_va, *ret = NULL;  in lima_vm_bo_find()  local
90 list_for_each_entry(bo_va, &bo->va, list) { in lima_vm_bo_find()
91 if (bo_va->vm == vm) { in lima_vm_bo_find()
92 ret = bo_va; in lima_vm_bo_find()
102 struct lima_bo_va *bo_va; in lima_vm_bo_add() local
107 bo_va = lima_vm_bo_find(vm, bo); in lima_vm_bo_add()
108 if (bo_va) { in lima_vm_bo_add()
109 bo_va->ref_count++; in lima_vm_bo_add()
120 bo_va = kzalloc(sizeof(*bo_va), GFP_KERNEL); in lima_vm_bo_add()
121 if (!bo_va) { in lima_vm_bo_add()
126 bo_va->vm = vm; in lima_vm_bo_add()
127 bo_va->ref_count = 1; in lima_vm_bo_add()
131 err = drm_mm_insert_node(&vm->mm, &bo_va->node, bo->gem.size); in lima_vm_bo_add()
135 err = lima_vm_map_page_table(vm, bo->pages_dma_addr, bo_va->node.start, in lima_vm_bo_add()
136 bo_va->node.start + bo_va->node.size - 1); in lima_vm_bo_add()
142 list_add_tail(&bo_va->list, &bo->va); in lima_vm_bo_add()
148 drm_mm_remove_node(&bo_va->node); in lima_vm_bo_add()
151 kfree(bo_va); in lima_vm_bo_add()
159 struct lima_bo_va *bo_va; in lima_vm_bo_del() local
163 bo_va = lima_vm_bo_find(vm, bo); in lima_vm_bo_del()
164 if (--bo_va->ref_count > 0) { in lima_vm_bo_del()
171 lima_vm_unmap_page_table(vm, bo_va->node.start, in lima_vm_bo_del()
172 bo_va->node.start + bo_va->node.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()