Lines Matching defs:vmm
22 #include "vmm.h"
30 r535_mmu_promote_vmm(struct nvkm_vmm *vmm)
35 ret = nvkm_gsp_client_device_ctor(vmm->mmu->subdev.device->gsp,
36 &vmm->rm.client, &vmm->rm.device);
40 args = nvkm_gsp_rm_alloc_get(&vmm->rm.device.object, 0x90f10000, FERMI_VASPACE_A,
41 sizeof(*args), &vmm->rm.object);
47 ret = nvkm_gsp_rm_alloc_wr(&vmm->rm.object, args);
54 mutex_lock(&vmm->mutex.vmm);
55 ret = nvkm_vmm_get_locked(vmm, true, false, false, 0x1d, 32, 0x20000000,
56 &vmm->rm.rsvd);
57 mutex_unlock(&vmm->mutex.vmm);
61 ctrl = nvkm_gsp_rm_ctrl_get(&vmm->rm.object,
68 ctrl->virtAddrLo = vmm->rm.rsvd->addr;
69 ctrl->virtAddrHi = vmm->rm.rsvd->addr + vmm->rm.rsvd->size - 1;
70 ctrl->numLevelsToCopy = vmm->pd->pde[0]->pde[0] ? 3 : 2;
71 ctrl->levels[0].physAddress = vmm->pd->pt[0]->addr;
75 ctrl->levels[1].physAddress = vmm->pd->pde[0]->pt[0]->addr;
79 if (vmm->pd->pde[0]->pde[0]) {
80 ctrl->levels[2].physAddress = vmm->pd->pde[0]->pde[0]->pt[0]->addr;
86 ret = nvkm_gsp_rm_ctrl_wr(&vmm->rm.object, ctrl);
113 rm->vmm = hw->vmm;