Lines Matching defs:mapping
190 * amdgpu_vm_set_pasid - manage pasid and vm ptr mapping
791 * amdgpu_vm_map_gart - Resolve gart mapping of addr
916 * @pages_addr: DMA addresses to use for mapping
965 * unmapping. Sync to moving fences before mapping.
1133 struct amdgpu_bo_va_mapping *mapping;
1196 list_for_each_entry(mapping, &bo_va->invalids, list) {
1202 if (!(mapping->flags & AMDGPU_PTE_READABLE))
1204 if (!(mapping->flags & AMDGPU_PTE_WRITEABLE))
1207 /* Apply ASIC specific mapping flags */
1208 amdgpu_gmc_get_vm_pte(adev, mapping, &update_flags);
1210 trace_amdgpu_vm_bo_update(mapping);
1213 resv, mapping->start, mapping->last,
1214 update_flags, mapping->offset,
1241 list_for_each_entry(mapping, &bo_va->valids, list)
1242 trace_amdgpu_vm_bo_mapping(mapping);
1333 * amdgpu_vm_free_mapping - free a mapping
1337 * @mapping: mapping to be freed
1340 * Free a mapping and make sure we decrease the PRT usage count if applicable.
1344 struct amdgpu_bo_va_mapping *mapping,
1347 if (mapping->flags & AMDGPU_PTE_PRT)
1349 kfree(mapping);
1393 struct amdgpu_bo_va_mapping *mapping;
1399 mapping = list_first_entry(&vm->freed,
1401 list_del(&mapping->list);
1404 mapping->start < AMDGPU_GMC_HOLE_START)
1408 mapping->start, mapping->last,
1411 amdgpu_vm_free_mapping(adev, vm, mapping, f);
1536 * amdgpu_vm_bo_insert_map - insert a new mapping
1540 * @mapping: the mapping to insert
1542 * Insert a new mapping into all structures.
1546 struct amdgpu_bo_va_mapping *mapping)
1551 mapping->bo_va = bo_va;
1552 list_add(&mapping->list, &bo_va->invalids);
1553 amdgpu_vm_it_insert(mapping, &vm->va);
1555 if (mapping->flags & AMDGPU_PTE_PRT)
1562 trace_amdgpu_vm_bo_map(bo_va, mapping);
1606 * Add a mapping of the BO at the specefied addr into the VM.
1618 struct amdgpu_bo_va_mapping *mapping, *tmp;
1640 mapping = kmalloc(sizeof(*mapping), GFP_KERNEL);
1641 if (!mapping)
1644 mapping->start = saddr;
1645 mapping->last = eaddr;
1646 mapping->offset = offset;
1647 mapping->flags = flags;
1649 amdgpu_vm_bo_insert_map(adev, bo_va, mapping);
1664 * Add a mapping of the BO at the specefied addr into the VM. Replace existing
1677 struct amdgpu_bo_va_mapping *mapping;
1687 mapping = kmalloc(sizeof(*mapping), GFP_KERNEL);
1688 if (!mapping)
1693 kfree(mapping);
1700 mapping->start = saddr;
1701 mapping->last = eaddr;
1702 mapping->offset = offset;
1703 mapping->flags = flags;
1705 amdgpu_vm_bo_insert_map(adev, bo_va, mapping);
1711 * amdgpu_vm_bo_unmap - remove bo mapping from vm
1717 * Remove a mapping of the BO at the specefied addr from the VM.
1728 struct amdgpu_bo_va_mapping *mapping;
1734 list_for_each_entry(mapping, &bo_va->valids, list) {
1735 if (mapping->start == saddr)
1739 if (&mapping->list == &bo_va->valids) {
1742 list_for_each_entry(mapping, &bo_va->invalids, list) {
1743 if (mapping->start == saddr)
1747 if (&mapping->list == &bo_va->invalids)
1751 list_del(&mapping->list);
1752 amdgpu_vm_it_remove(mapping, &vm->va);
1753 mapping->bo_va = NULL;
1754 trace_amdgpu_vm_bo_unmap(bo_va, mapping);
1757 list_add(&mapping->list, &vm->freed);
1759 amdgpu_vm_free_mapping(adev, vm, mapping,
1810 /* Remember mapping split at the start */
1820 /* Remember mapping split at the end */
1852 /* Insert partial mapping before the range */
1867 /* Insert partial mapping after the range */
1886 * amdgpu_vm_bo_lookup_mapping - find mapping by address
1891 * Find a mapping by it's address.
1913 struct amdgpu_bo_va_mapping *mapping;
1918 for (mapping = amdgpu_vm_it_iter_first(&vm->va, 0, U64_MAX); mapping;
1919 mapping = amdgpu_vm_it_iter_next(mapping, 0, U64_MAX)) {
1920 if (mapping->bo_va && mapping->bo_va->base.bo) {
1923 bo = mapping->bo_va->base.bo;
1929 trace_amdgpu_vm_bo_cs(mapping);
1946 struct amdgpu_bo_va_mapping *mapping, *next;
1972 list_for_each_entry_safe(mapping, next, &bo_va->valids, list) {
1973 list_del(&mapping->list);
1974 amdgpu_vm_it_remove(mapping, &vm->va);
1975 mapping->bo_va = NULL;
1976 trace_amdgpu_vm_bo_unmap(bo_va, mapping);
1977 list_add(&mapping->list, &vm->freed);
1979 list_for_each_entry_safe(mapping, next, &bo_va->invalids, list) {
1980 list_del(&mapping->list);
1981 amdgpu_vm_it_remove(mapping, &vm->va);
1982 amdgpu_vm_free_mapping(adev, vm, mapping,
2422 struct amdgpu_bo_va_mapping *mapping, *tmp;
2443 list_for_each_entry_safe(mapping, tmp, &vm->freed, list) {
2444 if (mapping->flags & AMDGPU_PTE_PRT && prt_fini_needed) {
2449 list_del(&mapping->list);
2450 amdgpu_vm_free_mapping(adev, vm, mapping, NULL);
2463 rbtree_postorder_for_each_entry_safe(mapping, tmp,
2465 /* Don't remove the mapping here, we don't want to trigger a
2468 list_del(&mapping->list);
2469 kfree(mapping);