Lines Matching defs:uvma
179 nouveau_uvma_vmm_put(struct nouveau_uvma *uvma)
181 u64 addr = uvma->va.va.addr;
182 u64 range = uvma->va.va.range;
184 return nouveau_uvmm_vmm_put(to_uvmm(uvma), addr, range);
188 nouveau_uvma_map(struct nouveau_uvma *uvma,
191 u64 addr = uvma->va.va.addr;
192 u64 offset = uvma->va.gem.offset;
193 u64 range = uvma->va.va.range;
195 return nouveau_uvmm_vmm_map(to_uvmm(uvma), addr, range,
196 offset, uvma->kind, mem);
200 nouveau_uvma_unmap(struct nouveau_uvma *uvma)
202 u64 addr = uvma->va.va.addr;
203 u64 range = uvma->va.va.range;
204 bool sparse = !!uvma->region;
206 if (drm_gpuva_invalidated(&uvma->va))
209 return nouveau_uvmm_vmm_unmap(to_uvmm(uvma), addr, range, sparse);
223 nouveau_uvma_free(struct nouveau_uvma *uvma)
225 kfree(uvma);
229 nouveau_uvma_gem_get(struct nouveau_uvma *uvma)
231 drm_gem_object_get(uvma->va.gem.obj);
235 nouveau_uvma_gem_put(struct nouveau_uvma *uvma)
237 drm_gem_object_put(uvma->va.gem.obj);
437 op_map_prepare_unwind(struct nouveau_uvma *uvma)
439 nouveau_uvma_gem_put(uvma);
440 drm_gpuva_remove(&uvma->va);
441 nouveau_uvma_free(uvma);
582 struct nouveau_uvma *uvma;
585 ret = nouveau_uvma_alloc(&uvma);
589 uvma->region = args->region;
590 uvma->kind = args->kind;
592 drm_gpuva_map(&uvmm->umgr, &uvma->va, op);
594 /* Keep a reference until this uvma is destroyed. */
595 nouveau_uvma_gem_get(uvma);
597 *puvma = uvma;
771 op_map(struct nouveau_uvma *uvma)
773 struct nouveau_bo *nvbo = nouveau_gem_object(uvma->va.gem.obj);
775 nouveau_uvma_map(uvma, nouveau_mem(nvbo->bo.resource));
782 struct nouveau_uvma *uvma = uvma_from_va(va);
786 nouveau_uvma_unmap(uvma);
793 struct nouveau_uvma *uvma = uvma_from_va(u->va);
794 bool sparse = !!uvma->region;
797 nouveau_uvmm_vmm_unmap(to_uvmm(uvma), addr, range, sparse);
805 struct nouveau_uvma *uvma = uvma_from_va(u->va);
806 u64 addr = uvma->va.va.addr;
807 u64 range = uvma->va.va.range;
876 struct nouveau_uvma *uvma = uvma_from_va(va);
891 nouveau_uvma_gem_put(uvma);
892 nouveau_uvma_free(uvma);
898 struct nouveau_uvma *uvma = uvma_from_va(va);
901 nouveau_uvma_vmm_put(uvma);
903 nouveau_uvma_gem_put(uvma);
904 nouveau_uvma_free(uvma);
1784 struct nouveau_uvma *uvma = uvma_from_va(va);
1786 nouveau_uvma_map(uvma, mem);
1800 struct nouveau_uvma *uvma = uvma_from_va(va);
1802 nouveau_uvma_unmap(uvma);
1881 struct nouveau_uvma *uvma = uvma_from_va(va);
1893 nouveau_uvma_unmap(uvma);
1894 nouveau_uvma_vmm_put(uvma);
1896 nouveau_uvma_gem_put(uvma);
1897 nouveau_uvma_free(uvma);