Lines Matching refs:mapping
705 struct amdgpu_bo_va_mapping *mapping, in amdgpu_vm_bo_update_mapping() argument
719 if (!(mapping->flags & AMDGPU_PTE_READABLE)) in amdgpu_vm_bo_update_mapping()
721 if (!(mapping->flags & AMDGPU_PTE_WRITEABLE)) in amdgpu_vm_bo_update_mapping()
724 trace_amdgpu_vm_bo_update(mapping); in amdgpu_vm_bo_update_mapping()
726 nptes = mapping->it.last - mapping->it.start + 1; in amdgpu_vm_bo_update_mapping()
772 r = amdgpu_vm_update_ptes(adev, vm, ib, mapping->it.start, in amdgpu_vm_bo_update_mapping()
773 mapping->it.last + 1, addr + mapping->offset, in amdgpu_vm_bo_update_mapping()
826 struct amdgpu_bo_va_mapping *mapping; in amdgpu_vm_bo_update() local
846 list_for_each_entry(mapping, &bo_va->invalids, list) { in amdgpu_vm_bo_update()
847 r = amdgpu_vm_bo_update_mapping(adev, vm, mapping, addr, in amdgpu_vm_bo_update()
854 list_for_each_entry(mapping, &bo_va->valids, list) in amdgpu_vm_bo_update()
855 trace_amdgpu_vm_bo_mapping(mapping); in amdgpu_vm_bo_update()
857 list_for_each_entry(mapping, &bo_va->invalids, list) in amdgpu_vm_bo_update()
858 trace_amdgpu_vm_bo_mapping(mapping); in amdgpu_vm_bo_update()
885 struct amdgpu_bo_va_mapping *mapping; in amdgpu_vm_clear_freed() local
890 mapping = list_first_entry(&vm->freed, in amdgpu_vm_clear_freed()
892 list_del(&mapping->list); in amdgpu_vm_clear_freed()
894 r = amdgpu_vm_bo_update_mapping(adev, vm, mapping, 0, 0, NULL); in amdgpu_vm_clear_freed()
895 kfree(mapping); in amdgpu_vm_clear_freed()
1000 struct amdgpu_bo_va_mapping *mapping; in amdgpu_vm_bo_map() local
1041 mapping = kmalloc(sizeof(*mapping), GFP_KERNEL); in amdgpu_vm_bo_map()
1042 if (!mapping) { in amdgpu_vm_bo_map()
1047 INIT_LIST_HEAD(&mapping->list); in amdgpu_vm_bo_map()
1048 mapping->it.start = saddr; in amdgpu_vm_bo_map()
1049 mapping->it.last = eaddr; in amdgpu_vm_bo_map()
1050 mapping->offset = offset; in amdgpu_vm_bo_map()
1051 mapping->flags = flags; in amdgpu_vm_bo_map()
1054 list_add(&mapping->list, &bo_va->invalids); in amdgpu_vm_bo_map()
1057 interval_tree_insert(&mapping->it, &vm->va); in amdgpu_vm_bo_map()
1059 trace_amdgpu_vm_bo_map(bo_va, mapping); in amdgpu_vm_bo_map()
1104 list_del(&mapping->list); in amdgpu_vm_bo_map()
1106 interval_tree_remove(&mapping->it, &vm->va); in amdgpu_vm_bo_map()
1108 trace_amdgpu_vm_bo_unmap(bo_va, mapping); in amdgpu_vm_bo_map()
1109 kfree(mapping); in amdgpu_vm_bo_map()
1131 struct amdgpu_bo_va_mapping *mapping; in amdgpu_vm_bo_unmap() local
1137 list_for_each_entry(mapping, &bo_va->valids, list) { in amdgpu_vm_bo_unmap()
1138 if (mapping->it.start == saddr) in amdgpu_vm_bo_unmap()
1142 if (&mapping->list == &bo_va->valids) { in amdgpu_vm_bo_unmap()
1145 list_for_each_entry(mapping, &bo_va->invalids, list) { in amdgpu_vm_bo_unmap()
1146 if (mapping->it.start == saddr) in amdgpu_vm_bo_unmap()
1150 if (&mapping->list == &bo_va->invalids) { in amdgpu_vm_bo_unmap()
1156 list_del(&mapping->list); in amdgpu_vm_bo_unmap()
1158 interval_tree_remove(&mapping->it, &vm->va); in amdgpu_vm_bo_unmap()
1160 trace_amdgpu_vm_bo_unmap(bo_va, mapping); in amdgpu_vm_bo_unmap()
1164 list_add(&mapping->list, &vm->freed); in amdgpu_vm_bo_unmap()
1167 kfree(mapping); in amdgpu_vm_bo_unmap()
1186 struct amdgpu_bo_va_mapping *mapping, *next; in amdgpu_vm_bo_rmv() local
1195 list_for_each_entry_safe(mapping, next, &bo_va->valids, list) { in amdgpu_vm_bo_rmv()
1196 list_del(&mapping->list); in amdgpu_vm_bo_rmv()
1198 interval_tree_remove(&mapping->it, &vm->va); in amdgpu_vm_bo_rmv()
1200 trace_amdgpu_vm_bo_unmap(bo_va, mapping); in amdgpu_vm_bo_rmv()
1202 list_add(&mapping->list, &vm->freed); in amdgpu_vm_bo_rmv()
1205 list_for_each_entry_safe(mapping, next, &bo_va->invalids, list) { in amdgpu_vm_bo_rmv()
1206 list_del(&mapping->list); in amdgpu_vm_bo_rmv()
1208 interval_tree_remove(&mapping->it, &vm->va); in amdgpu_vm_bo_rmv()
1210 kfree(mapping); in amdgpu_vm_bo_rmv()
1311 struct amdgpu_bo_va_mapping *mapping, *tmp; in amdgpu_vm_fini() local
1317 rbtree_postorder_for_each_entry_safe(mapping, tmp, &vm->va, it.rb) { in amdgpu_vm_fini()
1318 list_del(&mapping->list); in amdgpu_vm_fini()
1319 interval_tree_remove(&mapping->it, &vm->va); in amdgpu_vm_fini()
1320 kfree(mapping); in amdgpu_vm_fini()
1322 list_for_each_entry_safe(mapping, tmp, &vm->freed, list) { in amdgpu_vm_fini()
1323 list_del(&mapping->list); in amdgpu_vm_fini()
1324 kfree(mapping); in amdgpu_vm_fini()