Lines Matching defs:vmm

22 #include "vmm.h"
32 gf100_vmm_pgt_pte(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt,
44 VMM_WO064(pt, vmm, ptei++ * 8, data);
51 VMM_WO064(pt, vmm, ptei++ * 8, data);
58 gf100_vmm_pgt_sgl(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt,
61 VMM_MAP_ITER_SGL(vmm, pt, ptei, ptes, map, gf100_vmm_pgt_pte);
65 gf100_vmm_pgt_dma(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt,
69 VMM_SPAM(vmm, "DMAA %08x %08x PTE(s)", ptei, ptes);
73 VMM_WO064(pt, vmm, ptei++ * 8, data);
80 VMM_MAP_ITER_DMA(vmm, pt, ptei, ptes, map, gf100_vmm_pgt_pte);
84 gf100_vmm_pgt_mem(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt,
87 VMM_MAP_ITER_MEM(vmm, pt, ptei, ptes, map, gf100_vmm_pgt_pte);
91 gf100_vmm_pgt_unmap(struct nvkm_vmm *vmm,
94 VMM_FO064(pt, vmm, ptei * 8, 0ULL, ptes);
106 gf100_vmm_pgd_pde(struct nvkm_vmm *vmm, struct nvkm_vmm_pt *pgd, u32 pdei)
142 VMM_WO064(pd, vmm, pdei * 8, data);
181 gf100_vmm_invalidate_pdb(struct nvkm_vmm *vmm, u64 addr)
183 struct nvkm_device *device = vmm->mmu->subdev.device;
188 gf100_vmm_invalidate(struct nvkm_vmm *vmm, u32 type)
190 struct nvkm_device *device = vmm->mmu->subdev.device;
191 struct nvkm_mmu_pt *pd = vmm->pd->pt[0];
194 mutex_lock(&vmm->mmu->mutex);
212 addr |= (vmm->pd->pt[0]->addr >> 12) << 4;
214 vmm->func->invalidate_pdb(vmm, addr);
224 mutex_unlock(&vmm->mmu->mutex);
228 gf100_vmm_flush(struct nvkm_vmm *vmm, int depth)
231 if (atomic_read(&vmm->engref[NVKM_SUBDEV_BAR]))
233 gf100_vmm_invalidate(vmm, type);
237 gf100_vmm_valid(struct nvkm_vmm *vmm, void *argv, u32 argc,
247 struct nvkm_device *device = vmm->mmu->subdev.device;
268 VMM_DEBUG(vmm, "args");
272 aper = vmm->func->aper(target);
276 kindm = vmm->mmu->func->kind(vmm->mmu, &kindn, &kind_inv);
278 VMM_DEBUG(vmm, "kind %02x", kind);
286 VMM_DEBUG(vmm, "comp %d %02x", aper, page->type);
295 VMM_DEBUG(vmm, "comp %d", ret);
336 gf100_vmm_part(struct nvkm_vmm *vmm, struct nvkm_memory *inst)
342 gf100_vmm_join_(struct nvkm_vmm *vmm, struct nvkm_memory *inst, u64 base)
344 struct nvkm_mmu_pt *pd = vmm->pd->pt[0];
360 nvkm_wo64(inst, 0x0208, vmm->limit - 1);
366 gf100_vmm_join(struct nvkm_vmm *vmm, struct nvkm_memory *inst)
368 return gf100_vmm_join_(vmm, inst, 0);