/kernel/linux/linux-6.6/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/ |
H A D | uvmm.c | 42 return nvkm_vmm_ref(nvkm_uvmm(object)->vmm); in nvkm_uvmm_search() 51 struct nvkm_vmm *vmm = uvmm->vmm; in nvkm_uvmm_mthd_pfnclr() local 61 if (nvkm_vmm_in_managed_range(vmm, addr, size) && vmm->managed.raw) in nvkm_uvmm_mthd_pfnclr() 65 mutex_lock(&vmm->mutex.vmm); in nvkm_uvmm_mthd_pfnclr() 66 ret = nvkm_vmm_pfn_unmap(vmm, addr, size); in nvkm_uvmm_mthd_pfnclr() 67 mutex_unlock(&vmm->mutex.vmm); in nvkm_uvmm_mthd_pfnclr() 79 struct nvkm_vmm *vmm = uvmm->vmm; nvkm_uvmm_mthd_pfnmap() local 112 struct nvkm_vmm *vmm = uvmm->vmm; nvkm_uvmm_mthd_unmap() local 158 struct nvkm_vmm *vmm = uvmm->vmm; nvkm_uvmm_mthd_map() local 237 struct nvkm_vmm *vmm = uvmm->vmm; nvkm_uvmm_mthd_put() local 273 struct nvkm_vmm *vmm = uvmm->vmm; nvkm_uvmm_mthd_get() local 332 struct nvkm_vmm *vmm = uvmm->vmm; nvkm_uvmm_page_index() local 356 struct nvkm_vmm *vmm = uvmm->vmm; nvkm_uvmm_mthd_raw_get() local 373 struct nvkm_vmm *vmm = uvmm->vmm; nvkm_uvmm_mthd_raw_put() local 393 struct nvkm_vmm *vmm = uvmm->vmm; nvkm_uvmm_mthd_raw_map() local 433 struct nvkm_vmm *vmm = uvmm->vmm; nvkm_uvmm_mthd_raw_unmap() local 453 struct nvkm_vmm *vmm = uvmm->vmm; nvkm_uvmm_mthd_raw_sparse() local [all...] |
H A D | vmm.c | 23 #include "vmm.h" 75 struct nvkm_vmm *vmm; member 113 VMM_TRACE(_it->vmm, "%s "f, _buf, ##a); \ 129 if (it->vmm->func->flush) { in nvkm_vmm_flush() 131 it->vmm->func->flush(it->vmm, it->flush); in nvkm_vmm_flush() 145 struct nvkm_vmm *vmm = it->vmm; in nvkm_vmm_unref_pdes() local 159 func->sparse(vmm, pgd->pt[0], pdei, 1); in nvkm_vmm_unref_pdes() 162 func->unmap(vmm, pg in nvkm_vmm_unref_pdes() 203 struct nvkm_vmm *vmm = it->vmm; nvkm_vmm_unref_sptes() local 302 struct nvkm_vmm *vmm = it->vmm; nvkm_vmm_ref_sptes() local 419 struct nvkm_vmm *vmm = it->vmm; nvkm_vmm_ref_hwpt() local 501 nvkm_vmm_iter(struct nvkm_vmm *vmm, const struct nvkm_vmm_page *page, u64 addr, u64 size, const char *name, bool ref, bool pfn, bool (*REF_PTES)(struct nvkm_vmm_iter *, bool pfn, u32, u32), nvkm_vmm_pte_func MAP_PTES, struct nvkm_vmm_map *map, nvkm_vmm_pxe_func CLR_PTES) nvkm_vmm_iter() argument 602 nvkm_vmm_ptes_sparse_put(struct nvkm_vmm *vmm, const struct nvkm_vmm_page *page, u64 addr, u64 size) nvkm_vmm_ptes_sparse_put() argument 612 nvkm_vmm_ptes_sparse_get(struct nvkm_vmm *vmm, const struct nvkm_vmm_page *page, u64 addr, u64 size) nvkm_vmm_ptes_sparse_get() argument 630 nvkm_vmm_ptes_sparse(struct nvkm_vmm *vmm, u64 addr, u64 size, bool ref) nvkm_vmm_ptes_sparse() argument 680 nvkm_vmm_ptes_unmap(struct nvkm_vmm *vmm, const struct nvkm_vmm_page *page, u64 addr, u64 size, bool sparse, bool pfn) nvkm_vmm_ptes_unmap() argument 694 nvkm_vmm_ptes_map(struct nvkm_vmm *vmm, const struct nvkm_vmm_page *page, u64 addr, u64 size, struct nvkm_vmm_map *map, nvkm_vmm_pte_func func) nvkm_vmm_ptes_map() argument 705 nvkm_vmm_ptes_put_locked(struct nvkm_vmm *vmm, const struct nvkm_vmm_page *page, u64 addr, u64 size) nvkm_vmm_ptes_put_locked() argument 713 nvkm_vmm_ptes_put(struct nvkm_vmm *vmm, const struct nvkm_vmm_page *page, u64 addr, u64 size) nvkm_vmm_ptes_put() argument 722 nvkm_vmm_ptes_get(struct nvkm_vmm *vmm, const struct nvkm_vmm_page *page, u64 addr, u64 size) nvkm_vmm_ptes_get() argument 741 __nvkm_vmm_ptes_unmap_put(struct nvkm_vmm *vmm, const struct nvkm_vmm_page *page, u64 addr, u64 size, bool sparse, bool pfn) __nvkm_vmm_ptes_unmap_put() argument 753 nvkm_vmm_ptes_unmap_put(struct nvkm_vmm *vmm, const struct nvkm_vmm_page *page, u64 addr, u64 size, bool sparse, bool pfn) nvkm_vmm_ptes_unmap_put() argument 765 __nvkm_vmm_ptes_get_map(struct nvkm_vmm *vmm, const struct nvkm_vmm_page *page, u64 addr, u64 size, struct nvkm_vmm_map *map, nvkm_vmm_pte_func func) __nvkm_vmm_ptes_get_map() argument 780 nvkm_vmm_ptes_get_map(struct nvkm_vmm *vmm, const struct nvkm_vmm_page *page, u64 addr, u64 size, struct nvkm_vmm_map *map, nvkm_vmm_pte_func func) nvkm_vmm_ptes_get_map() argument 836 nvkm_vmm_free_remove(struct nvkm_vmm *vmm, struct nvkm_vma *vma) nvkm_vmm_free_remove() argument 842 nvkm_vmm_free_delete(struct nvkm_vmm *vmm, struct nvkm_vma *vma) nvkm_vmm_free_delete() argument 850 nvkm_vmm_free_insert(struct nvkm_vmm *vmm, struct nvkm_vma *vma) nvkm_vmm_free_insert() argument 878 nvkm_vmm_node_remove(struct nvkm_vmm *vmm, struct nvkm_vma *vma) nvkm_vmm_node_remove() argument 884 nvkm_vmm_node_delete(struct nvkm_vmm *vmm, struct nvkm_vma *vma) nvkm_vmm_node_delete() argument 892 nvkm_vmm_node_insert(struct nvkm_vmm *vmm, struct nvkm_vma *vma) nvkm_vmm_node_insert() argument 914 nvkm_vmm_node_search(struct nvkm_vmm *vmm, u64 addr) nvkm_vmm_node_search() argument 934 nvkm_vmm_node_merge(struct nvkm_vmm *vmm, struct nvkm_vma *prev, struct nvkm_vma *vma, struct nvkm_vma *next, u64 size) nvkm_vmm_node_merge() argument 976 nvkm_vmm_node_split(struct nvkm_vmm *vmm, struct nvkm_vma *vma, u64 addr, u64 size) nvkm_vmm_node_split() argument 1019 nvkm_vmm_dump(struct nvkm_vmm *vmm) nvkm_vmm_dump() argument 1028 nvkm_vmm_dtor(struct nvkm_vmm *vmm) nvkm_vmm_dtor() argument 1069 nvkm_vmm_ctor_managed(struct nvkm_vmm *vmm, u64 addr, u64 size) nvkm_vmm_ctor_managed() argument 1083 nvkm_vmm_ctor(const struct nvkm_vmm_func *func, struct nvkm_mmu *mmu, u32 pd_header, bool managed, u64 addr, u64 size, struct lock_class_key *key, const char *name, struct nvkm_vmm *vmm) nvkm_vmm_ctor() argument 1208 nvkm_vmm_pfn_split_merge(struct nvkm_vmm *vmm, struct nvkm_vma *vma, u64 addr, u64 size, u8 page, bool map) nvkm_vmm_pfn_split_merge() argument 1231 nvkm_vmm_pfn_unmap(struct nvkm_vmm *vmm, u64 addr, u64 size) nvkm_vmm_pfn_unmap() argument 1267 nvkm_vmm_pfn_map(struct nvkm_vmm *vmm, u8 shift, u64 addr, u64 size, u64 *pfn) nvkm_vmm_pfn_map() argument 1390 nvkm_vmm_unmap_region(struct nvkm_vmm *vmm, struct nvkm_vma *vma) nvkm_vmm_unmap_region() argument 1407 nvkm_vmm_unmap_locked(struct nvkm_vmm *vmm, struct nvkm_vma *vma, bool pfn) nvkm_vmm_unmap_locked() argument 1422 nvkm_vmm_unmap(struct nvkm_vmm *vmm, struct nvkm_vma *vma) nvkm_vmm_unmap() argument 1432 nvkm_vmm_map_valid(struct nvkm_vmm *vmm, struct nvkm_vma *vma, void *argv, u32 argc, struct nvkm_vmm_map *map) nvkm_vmm_map_valid() argument 1468 nvkm_vmm_map_choose(struct nvkm_vmm *vmm, struct nvkm_vma *vma, void *argv, u32 argc, struct nvkm_vmm_map *map) nvkm_vmm_map_choose() argument 1480 nvkm_vmm_map_locked(struct nvkm_vmm *vmm, struct nvkm_vma *vma, void *argv, u32 argc, struct nvkm_vmm_map *map) nvkm_vmm_map_locked() argument 1568 nvkm_vmm_map(struct nvkm_vmm *vmm, struct nvkm_vma *vma, void *argv, u32 argc, struct nvkm_vmm_map *map) nvkm_vmm_map() argument 1585 nvkm_vmm_put_region(struct nvkm_vmm *vmm, struct nvkm_vma *vma) nvkm_vmm_put_region() argument 1604 nvkm_vmm_put_locked(struct nvkm_vmm *vmm, struct nvkm_vma *vma) nvkm_vmm_put_locked() argument 1686 nvkm_vmm_put(struct nvkm_vmm *vmm, struct nvkm_vma **pvma) nvkm_vmm_put() argument 1698 nvkm_vmm_get_locked(struct nvkm_vmm *vmm, bool getref, bool mapref, bool sparse, u8 shift, u8 align, u64 size, struct nvkm_vma **pvma) nvkm_vmm_get_locked() argument 1836 nvkm_vmm_get(struct nvkm_vmm *vmm, u8 page, u64 size, struct nvkm_vma **pvma) nvkm_vmm_get() argument 1846 nvkm_vmm_raw_unmap(struct nvkm_vmm *vmm, u64 addr, u64 size, bool sparse, u8 refd) nvkm_vmm_raw_unmap() argument 1855 nvkm_vmm_raw_put(struct nvkm_vmm *vmm, u64 addr, u64 size, u8 refd) nvkm_vmm_raw_put() argument 1863 nvkm_vmm_raw_get(struct nvkm_vmm *vmm, u64 addr, u64 size, u8 refd) nvkm_vmm_raw_get() argument 1874 nvkm_vmm_raw_sparse(struct nvkm_vmm *vmm, u64 addr, u64 size, bool ref) nvkm_vmm_raw_sparse() argument 1886 nvkm_vmm_part(struct nvkm_vmm *vmm, struct nvkm_memory *inst) nvkm_vmm_part() argument 1896 nvkm_vmm_join(struct nvkm_vmm *vmm, struct nvkm_memory *inst) nvkm_vmm_join() argument 1917 nvkm_vmm_boot(struct nvkm_vmm *vmm) nvkm_vmm_boot() argument 1939 struct nvkm_vmm *vmm = container_of(kref, typeof(*vmm), kref); nvkm_vmm_del() local 1947 struct nvkm_vmm *vmm = *pvmm; nvkm_vmm_unref() local 1955 nvkm_vmm_ref(struct nvkm_vmm *vmm) nvkm_vmm_ref() argument 1968 struct nvkm_vmm *vmm = NULL; nvkm_vmm_new() local [all...] |
H A D | vmmnv44.c | 22 #include "vmm.h" 27 nv44_vmm_pgt_fill(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, in nv44_vmm_pgt_fill() argument 39 u32 addr = (list ? *list++ : vmm->null) >> 12; in nv44_vmm_pgt_fill() 66 VMM_WO032(pt, vmm, pteo + 0x0, tmp[0]); in nv44_vmm_pgt_fill() 67 VMM_WO032(pt, vmm, pteo + 0x4, tmp[1]); in nv44_vmm_pgt_fill() 68 VMM_WO032(pt, vmm, pteo + 0x8, tmp[2]); in nv44_vmm_pgt_fill() 69 VMM_WO032(pt, vmm, pteo + 0xc, tmp[3] | 0x40000000); in nv44_vmm_pgt_fill() 73 nv44_vmm_pgt_pte(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, in nv44_vmm_pgt_pte() argument 82 nv44_vmm_pgt_fill(vmm, pt, tmp, ptei, pten); in nv44_vmm_pgt_pte() 90 VMM_WO032(pt, vmm, pte in nv44_vmm_pgt_pte() 105 nv44_vmm_pgt_sgl(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, u32 ptei, u32 ptes, struct nvkm_vmm_map *map) nv44_vmm_pgt_sgl() argument 112 nv44_vmm_pgt_dma(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, u32 ptei, u32 ptes, struct nvkm_vmm_map *map) nv44_vmm_pgt_dma() argument 147 nv44_vmm_pgt_unmap(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, u32 ptei, u32 ptes) nv44_vmm_pgt_unmap() argument 185 nv44_vmm_flush(struct nvkm_vmm *vmm, int level) nv44_vmm_flush() argument 213 struct nvkm_vmm *vmm; nv44_vmm_new() local [all...] |
H A D | vmmgp100.c | 22 #include "vmm.h" 34 gp100_vmm_pfn_unmap(struct nvkm_vmm *vmm, in gp100_vmm_pfn_unmap() argument 37 struct device *dev = vmm->mmu->subdev.device->dev; in gp100_vmm_pfn_unmap() 55 gp100_vmm_pfn_clear(struct nvkm_vmm *vmm, in gp100_vmm_pfn_clear() argument 65 VMM_WO064(pt, vmm, ptei * 8, data & ~BIT_ULL(0)); 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 78 struct device *dev = vmm->mmu->subdev.device->dev; in gp100_vmm_pgt_pfn() 109 VMM_WO064(pt, vmm, ptei++ * 8, data); 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, pte in gp100_vmm_pgt_pte() 129 gp100_vmm_pgt_sgl(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, u32 ptei, u32 ptes, struct nvkm_vmm_map *map) gp100_vmm_pgt_sgl() argument 136 gp100_vmm_pgt_dma(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, u32 ptei, u32 ptes, struct nvkm_vmm_map *map) gp100_vmm_pgt_dma() argument 155 gp100_vmm_pgt_mem(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, u32 ptei, u32 ptes, struct nvkm_vmm_map *map) gp100_vmm_pgt_mem() argument 162 gp100_vmm_pgt_sparse(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, u32 ptei, u32 ptes) gp100_vmm_pgt_sparse() argument 182 gp100_vmm_lpt_invalid(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, u32 ptei, u32 ptes) gp100_vmm_lpt_invalid() argument 198 gp100_vmm_pd0_pte(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, u32 ptei, u32 ptes, struct nvkm_vmm_map *map, u64 addr) gp100_vmm_pd0_pte() argument 212 gp100_vmm_pd0_mem(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, u32 ptei, u32 ptes, struct nvkm_vmm_map *map) gp100_vmm_pd0_mem() argument 236 gp100_vmm_pd0_pde(struct nvkm_vmm *vmm, struct nvkm_vmm_pt *pgd, u32 pdei) gp100_vmm_pd0_pde() argument 253 gp100_vmm_pd0_sparse(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, u32 pdei, u32 pdes) gp100_vmm_pd0_sparse() argument 261 gp100_vmm_pd0_unmap(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, u32 pdei, u32 pdes) gp100_vmm_pd0_unmap() argument 268 gp100_vmm_pd0_pfn_unmap(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, u32 ptei, u32 ptes) gp100_vmm_pd0_pfn_unmap() argument 290 gp100_vmm_pd0_pfn_clear(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, u32 ptei, u32 ptes) gp100_vmm_pd0_pfn_clear() argument 312 gp100_vmm_pd0_pfn(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, u32 ptei, u32 ptes, struct nvkm_vmm_map *map) gp100_vmm_pd0_pfn() argument 363 gp100_vmm_pd1_pde(struct nvkm_vmm *vmm, struct nvkm_vmm_pt *pgd, u32 pdei) gp100_vmm_pd1_pde() argument 405 gp100_vmm_valid(struct nvkm_vmm *vmm, void *argv, u32 argc, struct nvkm_vmm_map *map) gp100_vmm_valid() argument 486 gp100_vmm_fault_cancel(struct nvkm_vmm *vmm, void *argv, u32 argc) gp100_vmm_fault_cancel() argument 521 gp100_vmm_fault_replay(struct nvkm_vmm *vmm, void *argv, u32 argc) gp100_vmm_fault_replay() argument 536 gp100_vmm_mthd(struct nvkm_vmm *vmm, struct nvkm_client *client, u32 mthd, void *argv, u32 argc) gp100_vmm_mthd() argument 551 gp100_vmm_invalidate_pdb(struct nvkm_vmm *vmm, u64 addr) gp100_vmm_invalidate_pdb() argument 559 gp100_vmm_flush(struct nvkm_vmm *vmm, int depth) gp100_vmm_flush() argument 569 gp100_vmm_join(struct nvkm_vmm *vmm, struct nvkm_memory *inst) gp100_vmm_join() argument [all...] |
H A D | vmmgf100.c | 22 #include "vmm.h" 32 gf100_vmm_pgt_pte(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, in gf100_vmm_pgt_pte() argument 44 VMM_WO064(pt, vmm, ptei++ * 8, data); in gf100_vmm_pgt_pte() 51 VMM_WO064(pt, vmm, ptei++ * 8, data); in gf100_vmm_pgt_pte() 58 gf100_vmm_pgt_sgl(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, in gf100_vmm_pgt_sgl() argument 61 VMM_MAP_ITER_SGL(vmm, pt, ptei, ptes, map, gf100_vmm_pgt_pte); in gf100_vmm_pgt_sgl() 65 gf100_vmm_pgt_dma(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, in gf100_vmm_pgt_dma() argument 69 VMM_SPAM(vmm, "DMAA %08x %08x PTE(s)", ptei, ptes); in gf100_vmm_pgt_dma() 73 VMM_WO064(pt, vmm, ptei++ * 8, data); in gf100_vmm_pgt_dma() 80 VMM_MAP_ITER_DMA(vmm, p in gf100_vmm_pgt_dma() 84 gf100_vmm_pgt_mem(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, u32 ptei, u32 ptes, struct nvkm_vmm_map *map) gf100_vmm_pgt_mem() argument 91 gf100_vmm_pgt_unmap(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, u32 ptei, u32 ptes) gf100_vmm_pgt_unmap() argument 106 gf100_vmm_pgd_pde(struct nvkm_vmm *vmm, struct nvkm_vmm_pt *pgd, u32 pdei) gf100_vmm_pgd_pde() argument 181 gf100_vmm_invalidate_pdb(struct nvkm_vmm *vmm, u64 addr) gf100_vmm_invalidate_pdb() argument 188 gf100_vmm_invalidate(struct nvkm_vmm *vmm, u32 type) gf100_vmm_invalidate() argument 228 gf100_vmm_flush(struct nvkm_vmm *vmm, int depth) gf100_vmm_flush() argument 237 gf100_vmm_valid(struct nvkm_vmm *vmm, void *argv, u32 argc, struct nvkm_vmm_map *map) gf100_vmm_valid() argument 336 gf100_vmm_part(struct nvkm_vmm *vmm, struct nvkm_memory *inst) gf100_vmm_part() argument 342 gf100_vmm_join_(struct nvkm_vmm *vmm, struct nvkm_memory *inst, u64 base) gf100_vmm_join_() argument 366 gf100_vmm_join(struct nvkm_vmm *vmm, struct nvkm_memory *inst) gf100_vmm_join() argument [all...] |
H A D | vmmnv50.c | 22 #include "vmm.h" 32 nv50_vmm_pgt_pte(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, in nv50_vmm_pgt_pte() argument 53 VMM_WO064(pt, vmm, ptei++ * 8, data); in nv50_vmm_pgt_pte() 58 nv50_vmm_pgt_sgl(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, in nv50_vmm_pgt_sgl() argument 61 VMM_MAP_ITER_SGL(vmm, pt, ptei, ptes, map, nv50_vmm_pgt_pte); in nv50_vmm_pgt_sgl() 65 nv50_vmm_pgt_dma(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, in nv50_vmm_pgt_dma() argument 69 VMM_SPAM(vmm, "DMAA %08x %08x PTE(s)", ptei, ptes); in nv50_vmm_pgt_dma() 73 VMM_WO064(pt, vmm, ptei++ * 8, data); in nv50_vmm_pgt_dma() 80 VMM_MAP_ITER_DMA(vmm, pt, ptei, ptes, map, nv50_vmm_pgt_pte); in nv50_vmm_pgt_dma() 84 nv50_vmm_pgt_mem(struct nvkm_vmm *vmm, struc argument 91 nv50_vmm_pgt_unmap(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, u32 ptei, u32 ptes) nv50_vmm_pgt_unmap() argument 106 nv50_vmm_pde(struct nvkm_vmm *vmm, struct nvkm_vmm_pt *pgt, u64 *pdata) nv50_vmm_pde() argument 145 nv50_vmm_pgd_pde(struct nvkm_vmm *vmm, struct nvkm_vmm_pt *pgd, u32 pdei) nv50_vmm_pgd_pde() argument 181 nv50_vmm_flush(struct nvkm_vmm *vmm, int level) nv50_vmm_flush() argument 226 nv50_vmm_valid(struct nvkm_vmm *vmm, void *argv, u32 argc, struct nvkm_vmm_map *map) nv50_vmm_valid() argument 327 nv50_vmm_part(struct nvkm_vmm *vmm, struct nvkm_memory *inst) nv50_vmm_part() argument 341 nv50_vmm_join(struct nvkm_vmm *vmm, struct nvkm_memory *inst) nv50_vmm_join() argument [all...] |
H A D | vmmnv04.c | 22 #include "vmm.h" 28 nv04_vmm_pgt_pte(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, in nv04_vmm_pgt_pte() argument 33 VMM_WO032(pt, vmm, 8 + ptei++ * 4, data); in nv04_vmm_pgt_pte() 39 nv04_vmm_pgt_sgl(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, in nv04_vmm_pgt_sgl() argument 42 VMM_MAP_ITER_SGL(vmm, pt, ptei, ptes, map, nv04_vmm_pgt_pte); in nv04_vmm_pgt_sgl() 46 nv04_vmm_pgt_dma(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, in nv04_vmm_pgt_dma() argument 52 VMM_WO032(pt, vmm, 8 + (ptei++ * 4), *map->dma++ | 0x00000003); in nv04_vmm_pgt_dma() 55 VMM_MAP_ITER_DMA(vmm, pt, ptei, ptes, map, nv04_vmm_pgt_pte); in nv04_vmm_pgt_dma() 60 nv04_vmm_pgt_unmap(struct nvkm_vmm *vmm, in nv04_vmm_pgt_unmap() argument 63 VMM_FO032(pt, vmm, in nv04_vmm_pgt_unmap() 80 nv04_vmm_valid(struct nvkm_vmm *vmm, void *argv, u32 argc, struct nvkm_vmm_map *map) nv04_vmm_valid() argument 126 struct nvkm_vmm *vmm; nv04_vmm_new() local [all...] |
H A D | vmmnv41.c | 22 #include "vmm.h" 27 nv41_vmm_pgt_pte(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, in nv41_vmm_pgt_pte() argument 32 VMM_WO032(pt, vmm, ptei++ * 4, data); in nv41_vmm_pgt_pte() 38 nv41_vmm_pgt_sgl(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, in nv41_vmm_pgt_sgl() argument 41 VMM_MAP_ITER_SGL(vmm, pt, ptei, ptes, map, nv41_vmm_pgt_pte); in nv41_vmm_pgt_sgl() 45 nv41_vmm_pgt_dma(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, in nv41_vmm_pgt_dma() argument 52 VMM_WO032(pt, vmm, ptei++ * 4, data); in nv41_vmm_pgt_dma() 56 VMM_MAP_ITER_DMA(vmm, pt, ptei, ptes, map, nv41_vmm_pgt_pte); in nv41_vmm_pgt_dma() 61 nv41_vmm_pgt_unmap(struct nvkm_vmm *vmm, in nv41_vmm_pgt_unmap() argument 64 VMM_FO032(pt, vmm, pte in nv41_vmm_pgt_unmap() 81 nv41_vmm_flush(struct nvkm_vmm *vmm, int level) nv41_vmm_flush() argument [all...] |
/kernel/linux/linux-5.10/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/ |
H A D | vmm.c | 23 #include "vmm.h" 75 struct nvkm_vmm *vmm; member 113 VMM_TRACE(_it->vmm, "%s "f, _buf, ##a); \ 129 if (it->vmm->func->flush) { in nvkm_vmm_flush() 131 it->vmm->func->flush(it->vmm, it->flush); in nvkm_vmm_flush() 145 struct nvkm_vmm *vmm = it->vmm; in nvkm_vmm_unref_pdes() local 159 func->sparse(vmm, pgd->pt[0], pdei, 1); in nvkm_vmm_unref_pdes() 162 func->unmap(vmm, pg in nvkm_vmm_unref_pdes() 203 struct nvkm_vmm *vmm = it->vmm; nvkm_vmm_unref_sptes() local 302 struct nvkm_vmm *vmm = it->vmm; nvkm_vmm_ref_sptes() local 419 struct nvkm_vmm *vmm = it->vmm; nvkm_vmm_ref_hwpt() local 501 nvkm_vmm_iter(struct nvkm_vmm *vmm, const struct nvkm_vmm_page *page, u64 addr, u64 size, const char *name, bool ref, bool pfn, bool (*REF_PTES)(struct nvkm_vmm_iter *, bool pfn, u32, u32), nvkm_vmm_pte_func MAP_PTES, struct nvkm_vmm_map *map, nvkm_vmm_pxe_func CLR_PTES) nvkm_vmm_iter() argument 602 nvkm_vmm_ptes_sparse_put(struct nvkm_vmm *vmm, const struct nvkm_vmm_page *page, u64 addr, u64 size) nvkm_vmm_ptes_sparse_put() argument 612 nvkm_vmm_ptes_sparse_get(struct nvkm_vmm *vmm, const struct nvkm_vmm_page *page, u64 addr, u64 size) nvkm_vmm_ptes_sparse_get() argument 630 nvkm_vmm_ptes_sparse(struct nvkm_vmm *vmm, u64 addr, u64 size, bool ref) nvkm_vmm_ptes_sparse() argument 680 nvkm_vmm_ptes_unmap_put(struct nvkm_vmm *vmm, const struct nvkm_vmm_page *page, u64 addr, u64 size, bool sparse, bool pfn) nvkm_vmm_ptes_unmap_put() argument 691 nvkm_vmm_ptes_get_map(struct nvkm_vmm *vmm, const struct nvkm_vmm_page *page, u64 addr, u64 size, struct nvkm_vmm_map *map, nvkm_vmm_pte_func func) nvkm_vmm_ptes_get_map() argument 706 nvkm_vmm_ptes_unmap(struct nvkm_vmm *vmm, const struct nvkm_vmm_page *page, u64 addr, u64 size, bool sparse, bool pfn) nvkm_vmm_ptes_unmap() argument 717 nvkm_vmm_ptes_map(struct nvkm_vmm *vmm, const struct nvkm_vmm_page *page, u64 addr, u64 size, struct nvkm_vmm_map *map, nvkm_vmm_pte_func func) nvkm_vmm_ptes_map() argument 726 nvkm_vmm_ptes_put(struct nvkm_vmm *vmm, const struct nvkm_vmm_page *page, u64 addr, u64 size) nvkm_vmm_ptes_put() argument 734 nvkm_vmm_ptes_get(struct nvkm_vmm *vmm, const struct nvkm_vmm_page *page, u64 addr, u64 size) nvkm_vmm_ptes_get() argument 785 nvkm_vmm_free_remove(struct nvkm_vmm *vmm, struct nvkm_vma *vma) nvkm_vmm_free_remove() argument 791 nvkm_vmm_free_delete(struct nvkm_vmm *vmm, struct nvkm_vma *vma) nvkm_vmm_free_delete() argument 799 nvkm_vmm_free_insert(struct nvkm_vmm *vmm, struct nvkm_vma *vma) nvkm_vmm_free_insert() argument 827 nvkm_vmm_node_remove(struct nvkm_vmm *vmm, struct nvkm_vma *vma) nvkm_vmm_node_remove() argument 833 nvkm_vmm_node_delete(struct nvkm_vmm *vmm, struct nvkm_vma *vma) nvkm_vmm_node_delete() argument 841 nvkm_vmm_node_insert(struct nvkm_vmm *vmm, struct nvkm_vma *vma) nvkm_vmm_node_insert() argument 863 nvkm_vmm_node_search(struct nvkm_vmm *vmm, u64 addr) nvkm_vmm_node_search() argument 883 nvkm_vmm_node_merge(struct nvkm_vmm *vmm, struct nvkm_vma *prev, struct nvkm_vma *vma, struct nvkm_vma *next, u64 size) nvkm_vmm_node_merge() argument 925 nvkm_vmm_node_split(struct nvkm_vmm *vmm, struct nvkm_vma *vma, u64 addr, u64 size) nvkm_vmm_node_split() argument 969 nvkm_vmm_dump(struct nvkm_vmm *vmm) nvkm_vmm_dump() argument 978 nvkm_vmm_dtor(struct nvkm_vmm *vmm) nvkm_vmm_dtor() argument 1019 nvkm_vmm_ctor_managed(struct nvkm_vmm *vmm, u64 addr, u64 size) nvkm_vmm_ctor_managed() argument 1034 nvkm_vmm_ctor(const struct nvkm_vmm_func *func, struct nvkm_mmu *mmu, u32 pd_header, bool managed, u64 addr, u64 size, struct lock_class_key *key, const char *name, struct nvkm_vmm *vmm) nvkm_vmm_ctor() argument 1151 nvkm_vmm_pfn_split_merge(struct nvkm_vmm *vmm, struct nvkm_vma *vma, u64 addr, u64 size, u8 page, bool map) nvkm_vmm_pfn_split_merge() argument 1174 nvkm_vmm_pfn_unmap(struct nvkm_vmm *vmm, u64 addr, u64 size) nvkm_vmm_pfn_unmap() argument 1210 nvkm_vmm_pfn_map(struct nvkm_vmm *vmm, u8 shift, u64 addr, u64 size, u64 *pfn) nvkm_vmm_pfn_map() argument 1333 nvkm_vmm_unmap_region(struct nvkm_vmm *vmm, struct nvkm_vma *vma) nvkm_vmm_unmap_region() argument 1350 nvkm_vmm_unmap_locked(struct nvkm_vmm *vmm, struct nvkm_vma *vma, bool pfn) nvkm_vmm_unmap_locked() argument 1365 nvkm_vmm_unmap(struct nvkm_vmm *vmm, struct nvkm_vma *vma) nvkm_vmm_unmap() argument 1375 nvkm_vmm_map_valid(struct nvkm_vmm *vmm, struct nvkm_vma *vma, void *argv, u32 argc, struct nvkm_vmm_map *map) nvkm_vmm_map_valid() argument 1411 nvkm_vmm_map_choose(struct nvkm_vmm *vmm, struct nvkm_vma *vma, void *argv, u32 argc, struct nvkm_vmm_map *map) nvkm_vmm_map_choose() argument 1423 nvkm_vmm_map_locked(struct nvkm_vmm *vmm, struct nvkm_vma *vma, void *argv, u32 argc, struct nvkm_vmm_map *map) nvkm_vmm_map_locked() argument 1509 nvkm_vmm_map(struct nvkm_vmm *vmm, struct nvkm_vma *vma, void *argv, u32 argc, struct nvkm_vmm_map *map) nvkm_vmm_map() argument 1521 nvkm_vmm_put_region(struct nvkm_vmm *vmm, struct nvkm_vma *vma) nvkm_vmm_put_region() argument 1540 nvkm_vmm_put_locked(struct nvkm_vmm *vmm, struct nvkm_vma *vma) nvkm_vmm_put_locked() argument 1623 nvkm_vmm_put(struct nvkm_vmm *vmm, struct nvkm_vma **pvma) nvkm_vmm_put() argument 1635 nvkm_vmm_get_locked(struct nvkm_vmm *vmm, bool getref, bool mapref, bool sparse, u8 shift, u8 align, u64 size, struct nvkm_vma **pvma) nvkm_vmm_get_locked() argument 1773 nvkm_vmm_get(struct nvkm_vmm *vmm, u8 page, u64 size, struct nvkm_vma **pvma) nvkm_vmm_get() argument 1783 nvkm_vmm_part(struct nvkm_vmm *vmm, struct nvkm_memory *inst) nvkm_vmm_part() argument 1793 nvkm_vmm_join(struct nvkm_vmm *vmm, struct nvkm_memory *inst) nvkm_vmm_join() argument 1814 nvkm_vmm_boot(struct nvkm_vmm *vmm) nvkm_vmm_boot() argument 1836 struct nvkm_vmm *vmm = container_of(kref, typeof(*vmm), kref); nvkm_vmm_del() local 1844 struct nvkm_vmm *vmm = *pvmm; nvkm_vmm_unref() local 1852 nvkm_vmm_ref(struct nvkm_vmm *vmm) nvkm_vmm_ref() argument 1865 struct nvkm_vmm *vmm = NULL; nvkm_vmm_new() local [all...] |
H A D | uvmm.c | 42 return nvkm_uvmm(object)->vmm; in nvkm_uvmm_search() 52 struct nvkm_vmm *vmm = uvmm->vmm; in nvkm_uvmm_mthd_pfnclr() local 66 mutex_lock(&vmm->mutex); in nvkm_uvmm_mthd_pfnclr() 67 ret = nvkm_vmm_pfn_unmap(vmm, addr, size); in nvkm_uvmm_mthd_pfnclr() 68 mutex_unlock(&vmm->mutex); in nvkm_uvmm_mthd_pfnclr() 81 struct nvkm_vmm *vmm = uvmm->vmm; in nvkm_uvmm_mthd_pfnmap() local 100 mutex_lock(&vmm->mutex); in nvkm_uvmm_mthd_pfnmap() 101 ret = nvkm_vmm_pfn_map(vmm, pag in nvkm_uvmm_mthd_pfnmap() 115 struct nvkm_vmm *vmm = uvmm->vmm; nvkm_uvmm_mthd_unmap() local 159 struct nvkm_vmm *vmm = uvmm->vmm; nvkm_uvmm_mthd_map() local 237 struct nvkm_vmm *vmm = uvmm->vmm; nvkm_uvmm_mthd_put() local 275 struct nvkm_vmm *vmm = uvmm->vmm; nvkm_uvmm_mthd_get() local [all...] |
H A D | vmmnv44.c | 22 #include "vmm.h" 27 nv44_vmm_pgt_fill(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, in nv44_vmm_pgt_fill() argument 39 u32 addr = (list ? *list++ : vmm->null) >> 12; in nv44_vmm_pgt_fill() 66 VMM_WO032(pt, vmm, pteo + 0x0, tmp[0]); in nv44_vmm_pgt_fill() 67 VMM_WO032(pt, vmm, pteo + 0x4, tmp[1]); in nv44_vmm_pgt_fill() 68 VMM_WO032(pt, vmm, pteo + 0x8, tmp[2]); in nv44_vmm_pgt_fill() 69 VMM_WO032(pt, vmm, pteo + 0xc, tmp[3] | 0x40000000); in nv44_vmm_pgt_fill() 73 nv44_vmm_pgt_pte(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, in nv44_vmm_pgt_pte() argument 82 nv44_vmm_pgt_fill(vmm, pt, tmp, ptei, pten); in nv44_vmm_pgt_pte() 90 VMM_WO032(pt, vmm, pte in nv44_vmm_pgt_pte() 105 nv44_vmm_pgt_sgl(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, u32 ptei, u32 ptes, struct nvkm_vmm_map *map) nv44_vmm_pgt_sgl() argument 112 nv44_vmm_pgt_dma(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, u32 ptei, u32 ptes, struct nvkm_vmm_map *map) nv44_vmm_pgt_dma() argument 147 nv44_vmm_pgt_unmap(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, u32 ptei, u32 ptes) nv44_vmm_pgt_unmap() argument 185 nv44_vmm_flush(struct nvkm_vmm *vmm, int level) nv44_vmm_flush() argument 213 struct nvkm_vmm *vmm; nv44_vmm_new() local [all...] |
H A D | vmmgp100.c | 22 #include "vmm.h" 34 gp100_vmm_pfn_unmap(struct nvkm_vmm *vmm, in gp100_vmm_pfn_unmap() argument 37 struct device *dev = vmm->mmu->subdev.device->dev; in gp100_vmm_pfn_unmap() 55 gp100_vmm_pfn_clear(struct nvkm_vmm *vmm, in gp100_vmm_pfn_clear() argument 65 VMM_WO064(pt, vmm, ptei * 8, data & ~BIT_ULL(0)); 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 78 struct device *dev = vmm->mmu->subdev.device->dev; in gp100_vmm_pgt_pfn() 106 VMM_WO064(pt, vmm, ptei++ * 8, data); in gp100_vmm_pgt_pfn() 112 gp100_vmm_pgt_pte(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, in gp100_vmm_pgt_pte() argument 120 VMM_WO064(pt, vmm, pte in gp100_vmm_pgt_pte() 126 gp100_vmm_pgt_sgl(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, u32 ptei, u32 ptes, struct nvkm_vmm_map *map) gp100_vmm_pgt_sgl() argument 133 gp100_vmm_pgt_dma(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, u32 ptei, u32 ptes, struct nvkm_vmm_map *map) gp100_vmm_pgt_dma() argument 152 gp100_vmm_pgt_mem(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, u32 ptei, u32 ptes, struct nvkm_vmm_map *map) gp100_vmm_pgt_mem() argument 159 gp100_vmm_pgt_sparse(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, u32 ptei, u32 ptes) gp100_vmm_pgt_sparse() argument 179 gp100_vmm_lpt_invalid(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, u32 ptei, u32 ptes) gp100_vmm_lpt_invalid() argument 195 gp100_vmm_pd0_pte(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, u32 ptei, u32 ptes, struct nvkm_vmm_map *map, u64 addr) gp100_vmm_pd0_pte() argument 209 gp100_vmm_pd0_mem(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, u32 ptei, u32 ptes, struct nvkm_vmm_map *map) gp100_vmm_pd0_mem() argument 233 gp100_vmm_pd0_pde(struct nvkm_vmm *vmm, struct nvkm_vmm_pt *pgd, u32 pdei) gp100_vmm_pd0_pde() argument 250 gp100_vmm_pd0_sparse(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, u32 pdei, u32 pdes) gp100_vmm_pd0_sparse() argument 258 gp100_vmm_pd0_unmap(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, u32 pdei, u32 pdes) gp100_vmm_pd0_unmap() argument 265 gp100_vmm_pd0_pfn_unmap(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, u32 ptei, u32 ptes) gp100_vmm_pd0_pfn_unmap() argument 287 gp100_vmm_pd0_pfn_clear(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, u32 ptei, u32 ptes) gp100_vmm_pd0_pfn_clear() argument 309 gp100_vmm_pd0_pfn(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, u32 ptei, u32 ptes, struct nvkm_vmm_map *map) gp100_vmm_pd0_pfn() argument 357 gp100_vmm_pd1_pde(struct nvkm_vmm *vmm, struct nvkm_vmm_pt *pgd, u32 pdei) gp100_vmm_pd1_pde() argument 399 gp100_vmm_valid(struct nvkm_vmm *vmm, void *argv, u32 argc, struct nvkm_vmm_map *map) gp100_vmm_valid() argument 478 gp100_vmm_fault_cancel(struct nvkm_vmm *vmm, void *argv, u32 argc) gp100_vmm_fault_cancel() argument 513 gp100_vmm_fault_replay(struct nvkm_vmm *vmm, void *argv, u32 argc) gp100_vmm_fault_replay() argument 528 gp100_vmm_mthd(struct nvkm_vmm *vmm, struct nvkm_client *client, u32 mthd, void *argv, u32 argc) gp100_vmm_mthd() argument 545 gp100_vmm_invalidate_pdb(struct nvkm_vmm *vmm, u64 addr) gp100_vmm_invalidate_pdb() argument 553 gp100_vmm_flush(struct nvkm_vmm *vmm, int depth) gp100_vmm_flush() argument 563 gp100_vmm_join(struct nvkm_vmm *vmm, struct nvkm_memory *inst) gp100_vmm_join() argument [all...] |
H A D | vmmgf100.c | 22 #include "vmm.h" 32 gf100_vmm_pgt_pte(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, in gf100_vmm_pgt_pte() argument 44 VMM_WO064(pt, vmm, ptei++ * 8, data); in gf100_vmm_pgt_pte() 51 VMM_WO064(pt, vmm, ptei++ * 8, data); in gf100_vmm_pgt_pte() 58 gf100_vmm_pgt_sgl(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, in gf100_vmm_pgt_sgl() argument 61 VMM_MAP_ITER_SGL(vmm, pt, ptei, ptes, map, gf100_vmm_pgt_pte); in gf100_vmm_pgt_sgl() 65 gf100_vmm_pgt_dma(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, in gf100_vmm_pgt_dma() argument 69 VMM_SPAM(vmm, "DMAA %08x %08x PTE(s)", ptei, ptes); in gf100_vmm_pgt_dma() 73 VMM_WO064(pt, vmm, ptei++ * 8, data); in gf100_vmm_pgt_dma() 80 VMM_MAP_ITER_DMA(vmm, p in gf100_vmm_pgt_dma() 84 gf100_vmm_pgt_mem(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, u32 ptei, u32 ptes, struct nvkm_vmm_map *map) gf100_vmm_pgt_mem() argument 91 gf100_vmm_pgt_unmap(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, u32 ptei, u32 ptes) gf100_vmm_pgt_unmap() argument 106 gf100_vmm_pgd_pde(struct nvkm_vmm *vmm, struct nvkm_vmm_pt *pgd, u32 pdei) gf100_vmm_pgd_pde() argument 181 gf100_vmm_invalidate_pdb(struct nvkm_vmm *vmm, u64 addr) gf100_vmm_invalidate_pdb() argument 188 gf100_vmm_invalidate(struct nvkm_vmm *vmm, u32 type) gf100_vmm_invalidate() argument 229 gf100_vmm_flush(struct nvkm_vmm *vmm, int depth) gf100_vmm_flush() argument 238 gf100_vmm_valid(struct nvkm_vmm *vmm, void *argv, u32 argc, struct nvkm_vmm_map *map) gf100_vmm_valid() argument 335 gf100_vmm_part(struct nvkm_vmm *vmm, struct nvkm_memory *inst) gf100_vmm_part() argument 341 gf100_vmm_join_(struct nvkm_vmm *vmm, struct nvkm_memory *inst, u64 base) gf100_vmm_join_() argument 365 gf100_vmm_join(struct nvkm_vmm *vmm, struct nvkm_memory *inst) gf100_vmm_join() argument [all...] |
H A D | vmmnv50.c | 22 #include "vmm.h" 32 nv50_vmm_pgt_pte(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, in nv50_vmm_pgt_pte() argument 53 VMM_WO064(pt, vmm, ptei++ * 8, data); in nv50_vmm_pgt_pte() 58 nv50_vmm_pgt_sgl(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, in nv50_vmm_pgt_sgl() argument 61 VMM_MAP_ITER_SGL(vmm, pt, ptei, ptes, map, nv50_vmm_pgt_pte); in nv50_vmm_pgt_sgl() 65 nv50_vmm_pgt_dma(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, in nv50_vmm_pgt_dma() argument 69 VMM_SPAM(vmm, "DMAA %08x %08x PTE(s)", ptei, ptes); in nv50_vmm_pgt_dma() 73 VMM_WO064(pt, vmm, ptei++ * 8, data); in nv50_vmm_pgt_dma() 80 VMM_MAP_ITER_DMA(vmm, pt, ptei, ptes, map, nv50_vmm_pgt_pte); in nv50_vmm_pgt_dma() 84 nv50_vmm_pgt_mem(struct nvkm_vmm *vmm, struc argument 91 nv50_vmm_pgt_unmap(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, u32 ptei, u32 ptes) nv50_vmm_pgt_unmap() argument 106 nv50_vmm_pde(struct nvkm_vmm *vmm, struct nvkm_vmm_pt *pgt, u64 *pdata) nv50_vmm_pde() argument 145 nv50_vmm_pgd_pde(struct nvkm_vmm *vmm, struct nvkm_vmm_pt *pgd, u32 pdei) nv50_vmm_pgd_pde() argument 181 nv50_vmm_flush(struct nvkm_vmm *vmm, int level) nv50_vmm_flush() argument 227 nv50_vmm_valid(struct nvkm_vmm *vmm, void *argv, u32 argc, struct nvkm_vmm_map *map) nv50_vmm_valid() argument 325 nv50_vmm_part(struct nvkm_vmm *vmm, struct nvkm_memory *inst) nv50_vmm_part() argument 339 nv50_vmm_join(struct nvkm_vmm *vmm, struct nvkm_memory *inst) nv50_vmm_join() argument [all...] |
H A D | vmmnv04.c | 22 #include "vmm.h" 28 nv04_vmm_pgt_pte(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, in nv04_vmm_pgt_pte() argument 33 VMM_WO032(pt, vmm, 8 + ptei++ * 4, data); in nv04_vmm_pgt_pte() 39 nv04_vmm_pgt_sgl(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, in nv04_vmm_pgt_sgl() argument 42 VMM_MAP_ITER_SGL(vmm, pt, ptei, ptes, map, nv04_vmm_pgt_pte); in nv04_vmm_pgt_sgl() 46 nv04_vmm_pgt_dma(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, in nv04_vmm_pgt_dma() argument 52 VMM_WO032(pt, vmm, 8 + (ptei++ * 4), *map->dma++ | 0x00000003); in nv04_vmm_pgt_dma() 55 VMM_MAP_ITER_DMA(vmm, pt, ptei, ptes, map, nv04_vmm_pgt_pte); in nv04_vmm_pgt_dma() 60 nv04_vmm_pgt_unmap(struct nvkm_vmm *vmm, in nv04_vmm_pgt_unmap() argument 63 VMM_FO032(pt, vmm, in nv04_vmm_pgt_unmap() 80 nv04_vmm_valid(struct nvkm_vmm *vmm, void *argv, u32 argc, struct nvkm_vmm_map *map) nv04_vmm_valid() argument 126 struct nvkm_vmm *vmm; nv04_vmm_new() local [all...] |
H A D | vmmnv41.c | 22 #include "vmm.h" 27 nv41_vmm_pgt_pte(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, in nv41_vmm_pgt_pte() argument 32 VMM_WO032(pt, vmm, ptei++ * 4, data); in nv41_vmm_pgt_pte() 38 nv41_vmm_pgt_sgl(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, in nv41_vmm_pgt_sgl() argument 41 VMM_MAP_ITER_SGL(vmm, pt, ptei, ptes, map, nv41_vmm_pgt_pte); in nv41_vmm_pgt_sgl() 45 nv41_vmm_pgt_dma(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, in nv41_vmm_pgt_dma() argument 52 VMM_WO032(pt, vmm, ptei++ * 4, data); in nv41_vmm_pgt_dma() 56 VMM_MAP_ITER_DMA(vmm, pt, ptei, ptes, map, nv41_vmm_pgt_pte); in nv41_vmm_pgt_dma() 61 nv41_vmm_pgt_unmap(struct nvkm_vmm *vmm, in nv41_vmm_pgt_unmap() argument 64 VMM_FO032(pt, vmm, pte in nv41_vmm_pgt_unmap() 81 nv41_vmm_flush(struct nvkm_vmm *vmm, int level) nv41_vmm_flush() argument [all...] |
/kernel/linux/linux-5.10/drivers/gpu/drm/nouveau/nvif/ |
H A D | vmm.c | 22 #include <nvif/vmm.h> 28 nvif_vmm_unmap(struct nvif_vmm *vmm, u64 addr) in nvif_vmm_unmap() argument 30 return nvif_object_mthd(&vmm->object, NVIF_VMM_V0_UNMAP, in nvif_vmm_unmap() 36 nvif_vmm_map(struct nvif_vmm *vmm, u64 addr, u64 size, void *argv, u32 argc, in nvif_vmm_map() argument 57 ret = nvif_object_mthd(&vmm->object, NVIF_VMM_V0_MAP, in nvif_vmm_map() 65 nvif_vmm_put(struct nvif_vmm *vmm, struct nvif_vma *vma) in nvif_vmm_put() argument 68 WARN_ON(nvif_object_mthd(&vmm->object, NVIF_VMM_V0_PUT, in nvif_vmm_put() 77 nvif_vmm_get(struct nvif_vmm *vmm, enum nvif_vmm_get type, bool sparse, in nvif_vmm_get() argument 98 ret = nvif_object_mthd(&vmm->object, NVIF_VMM_V0_GET, in nvif_vmm_get() 108 nvif_vmm_dtor(struct nvif_vmm *vmm) in nvif_vmm_dtor() argument 115 nvif_vmm_ctor(struct nvif_mmu *mmu, const char *name, s32 oclass, bool managed, u64 addr, u64 size, void *argv, u32 argc, struct nvif_vmm *vmm) nvif_vmm_ctor() argument [all...] |
/kernel/linux/linux-5.10/drivers/gpu/drm/nouveau/ |
H A D | nouveau_vmm.c | 32 nvif_vmm_unmap(&vma->vmm->vmm, vma->addr); in nouveau_vma_unmap() 41 int ret = nouveau_mem_map(mem, &vma->vmm->vmm, &tmp); in nouveau_vma_map() 49 nouveau_vma_find(struct nouveau_bo *nvbo, struct nouveau_vmm *vmm) in nouveau_vma_find() argument 54 if (vma->vmm == vmm) in nouveau_vma_find() 68 nvif_vmm_put(&vma->vmm->vmm, &tmp); in nouveau_vma_del() 77 nouveau_vma_new(struct nouveau_bo *nvbo, struct nouveau_vmm *vmm, in nouveau_vma_new() argument 124 nouveau_vmm_fini(struct nouveau_vmm *vmm) nouveau_vmm_fini() argument 132 nouveau_vmm_init(struct nouveau_cli *cli, s32 oclass, struct nouveau_vmm *vmm) nouveau_vmm_init() argument [all...] |
H A D | nouveau_svm.c | 29 #include <nvif/vmm.h> 97 NV_DEBUG((s)->vmm->cli->drm, "svm-%p: "f"\n", (s), ##a) 99 NV_WARN((s)->vmm->cli->drm, "svm-%p: "f"\n", (s), ##a) 205 mutex_lock(&svmm->vmm->cli->drm->svm->mutex); in nouveau_svmm_part() 206 ivmm = nouveau_ivmm_find(svmm->vmm->cli->drm->svm, inst); in nouveau_svmm_part() 211 mutex_unlock(&svmm->vmm->cli->drm->svm->mutex); in nouveau_svmm_part() 226 mutex_lock(&svmm->vmm->cli->drm->svm->mutex); in nouveau_svmm_join() 227 list_add(&ivmm->head, &svmm->vmm->cli->drm->svm->inst); in nouveau_svmm_join() 228 mutex_unlock(&svmm->vmm->cli->drm->svm->mutex); in nouveau_svmm_join() 238 bool super = svmm->vmm in nouveau_svmm_invalidate() [all...] |
H A D | nouveau_chan.c | 100 nouveau_svmm_part(chan->vmm->svmm, chan->inst); in nouveau_channel_del() 162 chan->vmm = cli->svm.cli ? &cli->svm : &cli->vmm; in nouveau_channel_prep() 198 ret = nouveau_vma_new(chan->push.buffer, chan->vmm, in nouveau_channel_prep() 213 args.limit = chan->vmm->vmm.limit - 1; in nouveau_channel_prep() 243 args.limit = chan->vmm->vmm.limit - 1; in nouveau_channel_prep() 296 args.volta.vmm = nvif_handle(&chan->vmm in nouveau_channel_ind() [all...] |
/kernel/linux/linux-6.6/drivers/gpu/drm/nouveau/ |
H A D | nouveau_vmm.c | 32 nvif_vmm_unmap(&vma->vmm->vmm, vma->addr); in nouveau_vma_unmap() 41 int ret = nouveau_mem_map(mem, &vma->vmm->vmm, &tmp); in nouveau_vma_map() 49 nouveau_vma_find(struct nouveau_bo *nvbo, struct nouveau_vmm *vmm) in nouveau_vma_find() argument 54 if (vma->vmm == vmm) in nouveau_vma_find() 68 nvif_vmm_put(&vma->vmm->vmm, &tmp); in nouveau_vma_del() 77 nouveau_vma_new(struct nouveau_bo *nvbo, struct nouveau_vmm *vmm, in nouveau_vma_new() argument 124 nouveau_vmm_fini(struct nouveau_vmm *vmm) nouveau_vmm_fini() argument 132 nouveau_vmm_init(struct nouveau_cli *cli, s32 oclass, struct nouveau_vmm *vmm) nouveau_vmm_init() argument [all...] |
/kernel/linux/linux-6.6/drivers/gpu/drm/nouveau/nvif/ |
H A D | vmm.c | 22 #include <nvif/vmm.h> 28 nvif_vmm_unmap(struct nvif_vmm *vmm, u64 addr) in nvif_vmm_unmap() argument 30 return nvif_object_mthd(&vmm->object, NVIF_VMM_V0_UNMAP, in nvif_vmm_unmap() 36 nvif_vmm_map(struct nvif_vmm *vmm, u64 addr, u64 size, void *argv, u32 argc, in nvif_vmm_map() argument 57 ret = nvif_object_mthd(&vmm->object, NVIF_VMM_V0_MAP, in nvif_vmm_map() 65 nvif_vmm_put(struct nvif_vmm *vmm, struct nvif_vma *vma) in nvif_vmm_put() argument 68 WARN_ON(nvif_object_mthd(&vmm->object, NVIF_VMM_V0_PUT, in nvif_vmm_put() 77 nvif_vmm_get(struct nvif_vmm *vmm, enum nvif_vmm_get type, bool sparse, in nvif_vmm_get() argument 98 ret = nvif_object_mthd(&vmm->object, NVIF_VMM_V0_GET, in nvif_vmm_get() 108 nvif_vmm_raw_get(struct nvif_vmm *vmm, u6 argument 124 nvif_vmm_raw_put(struct nvif_vmm *vmm, u64 addr, u64 size, u8 shift) nvif_vmm_raw_put() argument 139 nvif_vmm_raw_map(struct nvif_vmm *vmm, u64 addr, u64 size, u8 shift, void *argv, u32 argc, struct nvif_mem *mem, u64 offset) nvif_vmm_raw_map() argument 160 nvif_vmm_raw_unmap(struct nvif_vmm *vmm, u64 addr, u64 size, u8 shift, bool sparse) nvif_vmm_raw_unmap() argument 177 nvif_vmm_raw_sparse(struct nvif_vmm *vmm, u64 addr, u64 size, bool ref) nvif_vmm_raw_sparse() argument 192 nvif_vmm_dtor(struct nvif_vmm *vmm) nvif_vmm_dtor() argument 199 nvif_vmm_ctor(struct nvif_mmu *mmu, const char *name, s32 oclass, enum nvif_vmm_type type, u64 addr, u64 size, void *argv, u32 argc, struct nvif_vmm *vmm) nvif_vmm_ctor() argument [all...] |
/kernel/linux/linux-5.10/drivers/gpu/drm/nouveau/nvkm/subdev/bar/ |
H A D | gf100.c | 34 return gf100_bar(base)->bar[1].vmm; in gf100_bar_bar1_vmm() 63 return gf100_bar(base)->bar[0].vmm; in gf100_bar_bar2_vmm() 103 (bar_nr == 3) ? "bar2" : "bar1", &bar_vm->vmm); in gf100_bar_oneinit_bar() 107 atomic_inc(&bar_vm->vmm->engref[NVKM_SUBDEV_BAR]); in gf100_bar_oneinit_bar() 108 bar_vm->vmm->debug = bar->base.subdev.debug; in gf100_bar_oneinit_bar() 114 ret = nvkm_vmm_boot(bar_vm->vmm); in gf100_bar_oneinit_bar() 119 return nvkm_vmm_join(bar_vm->vmm, bar_vm->inst); in gf100_bar_oneinit_bar() 153 nvkm_vmm_part(bar->bar[1].vmm, bar->bar[1].inst); in gf100_bar_dtor() 154 nvkm_vmm_unref(&bar->bar[1].vmm); in gf100_bar_dtor() 157 nvkm_vmm_part(bar->bar[0].vmm, ba in gf100_bar_dtor() [all...] |
/kernel/linux/linux-6.6/drivers/gpu/drm/nouveau/nvkm/subdev/bar/ |
H A D | gf100.c | 34 return gf100_bar(base)->bar[1].vmm; in gf100_bar_bar1_vmm() 63 return gf100_bar(base)->bar[0].vmm; in gf100_bar_bar2_vmm() 103 (bar_nr == 3) ? "bar2" : "bar1", &bar_vm->vmm); in gf100_bar_oneinit_bar() 107 atomic_inc(&bar_vm->vmm->engref[NVKM_SUBDEV_BAR]); in gf100_bar_oneinit_bar() 108 bar_vm->vmm->debug = bar->base.subdev.debug; in gf100_bar_oneinit_bar() 114 ret = nvkm_vmm_boot(bar_vm->vmm); in gf100_bar_oneinit_bar() 119 return nvkm_vmm_join(bar_vm->vmm, bar_vm->inst); in gf100_bar_oneinit_bar() 153 nvkm_vmm_part(bar->bar[1].vmm, bar->bar[1].inst); in gf100_bar_dtor() 154 nvkm_vmm_unref(&bar->bar[1].vmm); in gf100_bar_dtor() 157 nvkm_vmm_part(bar->bar[0].vmm, ba in gf100_bar_dtor() [all...] |
/kernel/linux/linux-5.10/arch/xtensa/kernel/ |
H A D | syscall.c | 64 struct vm_area_struct *vmm; in arch_get_unmapped_area() local 86 for (vmm = find_vma(current->mm, addr); ; vmm = vmm->vm_next) { in arch_get_unmapped_area() 87 /* At this point: (!vmm || addr < vmm->vm_end). */ in arch_get_unmapped_area() 90 if (!vmm || addr + len <= vm_start_gap(vmm)) in arch_get_unmapped_area() 92 addr = vmm->vm_end; in arch_get_unmapped_area()
|