Lines Matching refs:pt
35 struct nvkm_mmu_pt *pt, u32 ptei, u32 ptes) in gp100_vmm_pfn_unmap() argument
40 nvkm_kmap(pt->memory); in gp100_vmm_pfn_unmap()
42 u32 datalo = nvkm_ro32(pt->memory, pt->base + ptei * 8 + 0); in gp100_vmm_pfn_unmap()
43 u32 datahi = nvkm_ro32(pt->memory, pt->base + ptei * 8 + 4); in gp100_vmm_pfn_unmap()
51 nvkm_done(pt->memory); in gp100_vmm_pfn_unmap()
56 struct nvkm_mmu_pt *pt, u32 ptei, u32 ptes) in gp100_vmm_pfn_clear() argument
59 nvkm_kmap(pt->memory); in gp100_vmm_pfn_clear()
61 u32 datalo = nvkm_ro32(pt->memory, pt->base + ptei * 8 + 0); in gp100_vmm_pfn_clear()
62 u32 datahi = nvkm_ro32(pt->memory, pt->base + ptei * 8 + 4); in gp100_vmm_pfn_clear()
65 VMM_WO064(pt, vmm, ptei * 8, data & ~BIT_ULL(0)); in gp100_vmm_pfn_clear()
70 nvkm_done(pt->memory); in gp100_vmm_pfn_clear()
75 gp100_vmm_pgt_pfn(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, in gp100_vmm_pgt_pfn() argument
81 nvkm_kmap(pt->memory); in gp100_vmm_pgt_pfn()
109 VMM_WO064(pt, vmm, ptei++ * 8, data); in gp100_vmm_pgt_pfn()
111 nvkm_done(pt->memory); in gp100_vmm_pgt_pfn()
115 gp100_vmm_pgt_pte(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, in gp100_vmm_pgt_pte() argument
123 VMM_WO064(pt, vmm, ptei++ * 8, data); in gp100_vmm_pgt_pte()
129 gp100_vmm_pgt_sgl(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, in gp100_vmm_pgt_sgl() argument
132 VMM_MAP_ITER_SGL(vmm, pt, ptei, ptes, map, gp100_vmm_pgt_pte); in gp100_vmm_pgt_sgl()
136 gp100_vmm_pgt_dma(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, in gp100_vmm_pgt_dma() argument
141 nvkm_kmap(pt->memory); in gp100_vmm_pgt_dma()
144 VMM_WO064(pt, vmm, ptei++ * 8, data); in gp100_vmm_pgt_dma()
147 nvkm_done(pt->memory); in gp100_vmm_pgt_dma()
151 VMM_MAP_ITER_DMA(vmm, pt, ptei, ptes, map, gp100_vmm_pgt_pte); in gp100_vmm_pgt_dma()
155 gp100_vmm_pgt_mem(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, in gp100_vmm_pgt_mem() argument
158 VMM_MAP_ITER_MEM(vmm, pt, ptei, ptes, map, gp100_vmm_pgt_pte); in gp100_vmm_pgt_mem()
163 struct nvkm_mmu_pt *pt, u32 ptei, u32 ptes) in gp100_vmm_pgt_sparse() argument
166 VMM_FO064(pt, vmm, ptei * 8, BIT_ULL(3) /* VOL. */, ptes); in gp100_vmm_pgt_sparse()
183 struct nvkm_mmu_pt *pt, u32 ptei, u32 ptes) in gp100_vmm_lpt_invalid() argument
186 VMM_FO064(pt, vmm, ptei * 8, BIT_ULL(5) /* PRIV. */, ptes); in gp100_vmm_lpt_invalid()
198 gp100_vmm_pd0_pte(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, in gp100_vmm_pd0_pte() argument
206 VMM_WO128(pt, vmm, ptei++ * 0x10, data, 0ULL); in gp100_vmm_pd0_pte()
212 gp100_vmm_pd0_mem(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, in gp100_vmm_pd0_mem() argument
215 VMM_MAP_ITER_MEM(vmm, pt, ptei, ptes, map, gp100_vmm_pd0_pte); in gp100_vmm_pd0_mem()
219 gp100_vmm_pde(struct nvkm_mmu_pt *pt, u64 *data) in gp100_vmm_pde() argument
221 switch (nvkm_memory_target(pt->memory)) { in gp100_vmm_pde()
231 *data |= pt->addr >> 4; in gp100_vmm_pde()
239 struct nvkm_mmu_pt *pd = pgd->pt[0]; in gp100_vmm_pd0_pde()
242 if (pgt->pt[0] && !gp100_vmm_pde(pgt->pt[0], &data[0])) in gp100_vmm_pd0_pde()
244 if (pgt->pt[1] && !gp100_vmm_pde(pgt->pt[1], &data[1])) in gp100_vmm_pd0_pde()
254 struct nvkm_mmu_pt *pt, u32 pdei, u32 pdes) in gp100_vmm_pd0_sparse() argument
257 VMM_FO128(pt, vmm, pdei * 0x10, BIT_ULL(3) /* VOL_BIG. */, 0ULL, pdes); in gp100_vmm_pd0_sparse()
262 struct nvkm_mmu_pt *pt, u32 pdei, u32 pdes) in gp100_vmm_pd0_unmap() argument
264 VMM_FO128(pt, vmm, pdei * 0x10, 0ULL, 0ULL, pdes); in gp100_vmm_pd0_unmap()
269 struct nvkm_mmu_pt *pt, u32 ptei, u32 ptes) in gp100_vmm_pd0_pfn_unmap() argument
274 nvkm_kmap(pt->memory); in gp100_vmm_pd0_pfn_unmap()
276 u32 datalo = nvkm_ro32(pt->memory, pt->base + ptei * 16 + 0); in gp100_vmm_pd0_pfn_unmap()
277 u32 datahi = nvkm_ro32(pt->memory, pt->base + ptei * 16 + 4); in gp100_vmm_pd0_pfn_unmap()
286 nvkm_done(pt->memory); in gp100_vmm_pd0_pfn_unmap()
291 struct nvkm_mmu_pt *pt, u32 ptei, u32 ptes) in gp100_vmm_pd0_pfn_clear() argument
295 nvkm_kmap(pt->memory); in gp100_vmm_pd0_pfn_clear()
297 u32 datalo = nvkm_ro32(pt->memory, pt->base + ptei * 16 + 0); in gp100_vmm_pd0_pfn_clear()
298 u32 datahi = nvkm_ro32(pt->memory, pt->base + ptei * 16 + 4); in gp100_vmm_pd0_pfn_clear()
302 VMM_WO064(pt, vmm, ptei * 16, data & ~BIT_ULL(0)); in gp100_vmm_pd0_pfn_clear()
307 nvkm_done(pt->memory); in gp100_vmm_pd0_pfn_clear()
312 gp100_vmm_pd0_pfn(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, in gp100_vmm_pd0_pfn() argument
318 nvkm_kmap(pt->memory); in gp100_vmm_pd0_pfn()
346 VMM_WO064(pt, vmm, ptei++ * 16, data); in gp100_vmm_pd0_pfn()
348 nvkm_done(pt->memory); in gp100_vmm_pd0_pfn()
366 struct nvkm_mmu_pt *pd = pgd->pt[0]; in gp100_vmm_pd1_pde()
369 if (!gp100_vmm_pde(pgt->pt[0], &data)) in gp100_vmm_pd1_pde()