Lines Matching refs:vmm

42 	return nvkm_uvmm(object)->vmm;  in nvkm_uvmm_search()
52 struct nvkm_vmm *vmm = uvmm->vmm; in nvkm_uvmm_mthd_unmap() local
62 mutex_lock(&vmm->mutex); in nvkm_uvmm_mthd_unmap()
63 vma = nvkm_vmm_node_search(vmm, addr); in nvkm_uvmm_mthd_unmap()
65 VMM_DEBUG(vmm, "lookup %016llx: %016llx", in nvkm_uvmm_mthd_unmap()
71 VMM_DEBUG(vmm, "denied %016llx: %d %d %d", addr, in nvkm_uvmm_mthd_unmap()
77 VMM_DEBUG(vmm, "unmapped"); in nvkm_uvmm_mthd_unmap()
81 nvkm_vmm_unmap_locked(vmm, vma); in nvkm_uvmm_mthd_unmap()
84 mutex_unlock(&vmm->mutex); in nvkm_uvmm_mthd_unmap()
96 struct nvkm_vmm *vmm = uvmm->vmm; in nvkm_uvmm_mthd_map() local
111 VMM_DEBUG(vmm, "memory %016llx %ld\n", handle, PTR_ERR(memory)); in nvkm_uvmm_mthd_map()
115 mutex_lock(&vmm->mutex); in nvkm_uvmm_mthd_map()
116 if (ret = -ENOENT, !(vma = nvkm_vmm_node_search(vmm, addr))) { in nvkm_uvmm_mthd_map()
117 VMM_DEBUG(vmm, "lookup %016llx", addr); in nvkm_uvmm_mthd_map()
122 VMM_DEBUG(vmm, "denied %016llx: %d %d %d", addr, in nvkm_uvmm_mthd_map()
130 VMM_DEBUG(vmm, "split %d %d %d " in nvkm_uvmm_mthd_map()
142 nvkm_vmm_node_insert(vmm, vma); in nvkm_uvmm_mthd_map()
149 nvkm_vmm_unmap_region(vmm, vma); in nvkm_uvmm_mthd_map()
153 nvkm_vmm_node_insert(vmm, tmp); in nvkm_uvmm_mthd_map()
157 mutex_unlock(&vmm->mutex); in nvkm_uvmm_mthd_map()
159 ret = nvkm_memory_map(memory, offset, vmm, vma, argv, argc); in nvkm_uvmm_mthd_map()
166 mutex_lock(&vmm->mutex); in nvkm_uvmm_mthd_map()
168 nvkm_vmm_unmap_region(vmm, vma); in nvkm_uvmm_mthd_map()
170 mutex_unlock(&vmm->mutex); in nvkm_uvmm_mthd_map()
182 struct nvkm_vmm *vmm = uvmm->vmm; in nvkm_uvmm_mthd_put() local
192 mutex_lock(&vmm->mutex); in nvkm_uvmm_mthd_put()
193 vma = nvkm_vmm_node_search(vmm, args->v0.addr); in nvkm_uvmm_mthd_put()
195 VMM_DEBUG(vmm, "lookup %016llx: %016llx %d", addr, in nvkm_uvmm_mthd_put()
201 VMM_DEBUG(vmm, "denied %016llx: %d %d %d", addr, in nvkm_uvmm_mthd_put()
206 nvkm_vmm_put_locked(vmm, vma); in nvkm_uvmm_mthd_put()
209 mutex_unlock(&vmm->mutex); in nvkm_uvmm_mthd_put()
220 struct nvkm_vmm *vmm = uvmm->vmm; in nvkm_uvmm_mthd_get() local
237 mutex_lock(&vmm->mutex); in nvkm_uvmm_mthd_get()
238 ret = nvkm_vmm_get_locked(vmm, getref, mapref, sparse, in nvkm_uvmm_mthd_get()
240 mutex_unlock(&vmm->mutex); in nvkm_uvmm_mthd_get()
259 page = uvmm->vmm->func->page; in nvkm_uvmm_mthd_page()
297 nvkm_vmm_unref(&uvmm->vmm); in nvkm_uvmm_dtor()
332 if (!mmu->vmm) { in nvkm_uvmm_new()
333 ret = mmu->func->vmm.ctor(mmu, addr, size, argv, argc, in nvkm_uvmm_new()
334 NULL, "user", &uvmm->vmm); in nvkm_uvmm_new()
338 uvmm->vmm->debug = max(uvmm->vmm->debug, oclass->client->debug); in nvkm_uvmm_new()
343 uvmm->vmm = nvkm_vmm_ref(mmu->vmm); in nvkm_uvmm_new()
346 page = uvmm->vmm->func->page; in nvkm_uvmm_new()
350 args->v0.addr = uvmm->vmm->start; in nvkm_uvmm_new()
351 args->v0.size = uvmm->vmm->limit; in nvkm_uvmm_new()