/linux-master/drivers/gpu/drm/nouveau/ |
H A D | nouveau_vmm.c | 32 nvif_vmm_unmap(&vma->vmm->vmm, vma->addr); 41 int ret = nouveau_mem_map(mem, &vma->vmm->vmm, &tmp); 49 nouveau_vma_find(struct nouveau_bo *nvbo, struct nouveau_vmm *vmm) argument 54 if (vma->vmm == vmm) 68 nvif_vmm_put(&vma->vmm->vmm, &tmp); 77 nouveau_vma_new(struct nouveau_bo *nvbo, struct nouveau_vmm *vmm, argument 124 nouveau_vmm_fini(struct nouveau_vmm *vmm) argument 132 nouveau_vmm_init(struct nouveau_cli *cli, s32 oclass, struct nouveau_vmm *vmm) argument [all...] |
H A D | nouveau_vmm.h | 3 #include <nvif/vmm.h> 8 struct nouveau_vmm *vmm; member in struct:nouveau_vma 27 struct nvif_vmm vmm; member in struct:nouveau_vmm
|
/linux-master/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/ |
H A D | uvmm.c | 42 return nvkm_vmm_ref(nvkm_uvmm(object)->vmm); 51 struct nvkm_vmm *vmm = uvmm->vmm; local 61 if (nvkm_vmm_in_managed_range(vmm, addr, size) && vmm->managed.raw) 65 mutex_lock(&vmm->mutex.vmm); 66 ret = nvkm_vmm_pfn_unmap(vmm, addr, size); 67 mutex_unlock(&vmm->mutex.vmm); 79 struct nvkm_vmm *vmm = uvmm->vmm; local 112 struct nvkm_vmm *vmm = uvmm->vmm; local 158 struct nvkm_vmm *vmm = uvmm->vmm; local 237 struct nvkm_vmm *vmm = uvmm->vmm; local 273 struct nvkm_vmm *vmm = uvmm->vmm; local 332 struct nvkm_vmm *vmm = uvmm->vmm; local 356 struct nvkm_vmm *vmm = uvmm->vmm; local 373 struct nvkm_vmm *vmm = uvmm->vmm; local 393 struct nvkm_vmm *vmm = uvmm->vmm; local 433 struct nvkm_vmm *vmm = uvmm->vmm; local 453 struct nvkm_vmm *vmm = uvmm->vmm; 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, argument 39 u32 addr = (list ? *list++ : vmm->null) >> 12; 66 VMM_WO032(pt, vmm, pteo + 0x0, tmp[0]); 67 VMM_WO032(pt, vmm, pteo + 0x4, tmp[1]); 68 VMM_WO032(pt, vmm, pteo + 0x8, tmp[2]); 69 VMM_WO032(pt, vmm, pteo + 0xc, tmp[3] | 0x40000000); 73 nv44_vmm_pgt_pte(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, argument 82 nv44_vmm_pgt_fill(vmm, pt, tmp, ptei, pten); 90 VMM_WO032(pt, vmm, pte 105 nv44_vmm_pgt_sgl(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, u32 ptei, u32 ptes, struct nvkm_vmm_map *map) argument 112 nv44_vmm_pgt_dma(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, u32 ptei, u32 ptes, struct nvkm_vmm_map *map) argument 147 nv44_vmm_pgt_unmap(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, u32 ptei, u32 ptes) argument 185 nv44_vmm_flush(struct nvkm_vmm *vmm, int level) argument 213 struct nvkm_vmm *vmm; local [all...] |
H A D | r535.c | 22 #include "vmm.h" 30 r535_mmu_promote_vmm(struct nvkm_vmm *vmm) argument 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); [all...] |
H A D | vmm.c | 23 #include "vmm.h" 75 struct nvkm_vmm *vmm; member in struct:nvkm_vmm_iter 113 VMM_TRACE(_it->vmm, "%s "f, _buf, ##a); \ 129 if (it->vmm->func->flush) { 131 it->vmm->func->flush(it->vmm, it->flush); 145 struct nvkm_vmm *vmm = it->vmm; local 159 func->sparse(vmm, pgd->pt[0], pdei, 1); 162 func->unmap(vmm, pg 203 struct nvkm_vmm *vmm = it->vmm; local 302 struct nvkm_vmm *vmm = it->vmm; local 419 struct nvkm_vmm *vmm = it->vmm; 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) argument 602 nvkm_vmm_ptes_sparse_put(struct nvkm_vmm *vmm, const struct nvkm_vmm_page *page, u64 addr, u64 size) argument 612 nvkm_vmm_ptes_sparse_get(struct nvkm_vmm *vmm, const struct nvkm_vmm_page *page, u64 addr, u64 size) argument 630 nvkm_vmm_ptes_sparse(struct nvkm_vmm *vmm, u64 addr, u64 size, bool ref) argument 680 nvkm_vmm_ptes_unmap(struct nvkm_vmm *vmm, const struct nvkm_vmm_page *page, u64 addr, u64 size, bool sparse, bool pfn) 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) argument 705 nvkm_vmm_ptes_put_locked(struct nvkm_vmm *vmm, const struct nvkm_vmm_page *page, u64 addr, u64 size) argument 713 nvkm_vmm_ptes_put(struct nvkm_vmm *vmm, const struct nvkm_vmm_page *page, u64 addr, u64 size) argument 722 nvkm_vmm_ptes_get(struct nvkm_vmm *vmm, const struct nvkm_vmm_page *page, u64 addr, u64 size) 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) 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) 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) 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) argument 836 nvkm_vmm_free_remove(struct nvkm_vmm *vmm, struct nvkm_vma *vma) argument 842 nvkm_vmm_free_delete(struct nvkm_vmm *vmm, struct nvkm_vma *vma) argument 850 nvkm_vmm_free_insert(struct nvkm_vmm *vmm, struct nvkm_vma *vma) argument 878 nvkm_vmm_node_remove(struct nvkm_vmm *vmm, struct nvkm_vma *vma) argument 884 nvkm_vmm_node_delete(struct nvkm_vmm *vmm, struct nvkm_vma *vma) argument 892 nvkm_vmm_node_insert(struct nvkm_vmm *vmm, struct nvkm_vma *vma) argument 914 nvkm_vmm_node_search(struct nvkm_vmm *vmm, u64 addr) argument 934 nvkm_vmm_node_merge(struct nvkm_vmm *vmm, struct nvkm_vma *prev, struct nvkm_vma *vma, struct nvkm_vma *next, u64 size) argument 976 nvkm_vmm_node_split(struct nvkm_vmm *vmm, struct nvkm_vma *vma, u64 addr, u64 size) argument 1019 nvkm_vmm_dump(struct nvkm_vmm *vmm) argument 1028 nvkm_vmm_dtor(struct nvkm_vmm *vmm) argument 1076 nvkm_vmm_ctor_managed(struct nvkm_vmm *vmm, u64 addr, u64 size) argument 1090 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) argument 1215 nvkm_vmm_pfn_split_merge(struct nvkm_vmm *vmm, struct nvkm_vma *vma, u64 addr, u64 size, u8 page, bool map) argument 1238 nvkm_vmm_pfn_unmap(struct nvkm_vmm *vmm, u64 addr, u64 size) argument 1274 nvkm_vmm_pfn_map(struct nvkm_vmm *vmm, u8 shift, u64 addr, u64 size, u64 *pfn) argument 1397 nvkm_vmm_unmap_region(struct nvkm_vmm *vmm, struct nvkm_vma *vma) argument 1414 nvkm_vmm_unmap_locked(struct nvkm_vmm *vmm, struct nvkm_vma *vma, bool pfn) argument 1429 nvkm_vmm_unmap(struct nvkm_vmm *vmm, struct nvkm_vma *vma) argument 1439 nvkm_vmm_map_valid(struct nvkm_vmm *vmm, struct nvkm_vma *vma, void *argv, u32 argc, struct nvkm_vmm_map *map) argument 1475 nvkm_vmm_map_choose(struct nvkm_vmm *vmm, struct nvkm_vma *vma, void *argv, u32 argc, struct nvkm_vmm_map *map) argument 1487 nvkm_vmm_map_locked(struct nvkm_vmm *vmm, struct nvkm_vma *vma, void *argv, u32 argc, struct nvkm_vmm_map *map) argument 1575 nvkm_vmm_map(struct nvkm_vmm *vmm, struct nvkm_vma *vma, void *argv, u32 argc, struct nvkm_vmm_map *map) argument 1592 nvkm_vmm_put_region(struct nvkm_vmm *vmm, struct nvkm_vma *vma) argument 1611 nvkm_vmm_put_locked(struct nvkm_vmm *vmm, struct nvkm_vma *vma) argument 1693 nvkm_vmm_put(struct nvkm_vmm *vmm, struct nvkm_vma **pvma) argument 1705 nvkm_vmm_get_locked(struct nvkm_vmm *vmm, bool getref, bool mapref, bool sparse, u8 shift, u8 align, u64 size, struct nvkm_vma **pvma) argument 1843 nvkm_vmm_get(struct nvkm_vmm *vmm, u8 page, u64 size, struct nvkm_vma **pvma) argument 1853 nvkm_vmm_raw_unmap(struct nvkm_vmm *vmm, u64 addr, u64 size, bool sparse, u8 refd) argument 1862 nvkm_vmm_raw_put(struct nvkm_vmm *vmm, u64 addr, u64 size, u8 refd) argument 1870 nvkm_vmm_raw_get(struct nvkm_vmm *vmm, u64 addr, u64 size, u8 refd) argument 1881 nvkm_vmm_raw_sparse(struct nvkm_vmm *vmm, u64 addr, u64 size, bool ref) argument 1893 nvkm_vmm_part(struct nvkm_vmm *vmm, struct nvkm_memory *inst) argument 1903 nvkm_vmm_join(struct nvkm_vmm *vmm, struct nvkm_memory *inst) argument 1924 nvkm_vmm_boot(struct nvkm_vmm *vmm) argument 1946 struct nvkm_vmm *vmm = container_of(kref, typeof(*vmm), kref); local 1954 struct nvkm_vmm *vmm = *pvmm; local 1962 nvkm_vmm_ref(struct nvkm_vmm *vmm) argument 1975 struct nvkm_vmm *vmm = NULL; local [all...] |
H A D | vmmtu102.c | 22 #include "vmm.h" 27 tu102_vmm_flush(struct nvkm_vmm *vmm, int depth) argument 29 struct nvkm_device *device = vmm->mmu->subdev.device; 33 if (atomic_read(&vmm->engref[NVKM_SUBDEV_BAR])) 36 mutex_lock(&vmm->mmu->mutex); 38 if (!vmm->rm.bar2_pdb) 39 nvkm_wr32(device, 0xb830a0, vmm->pd->pt[0]->addr >> 8); 41 nvkm_wr32(device, 0xb830a0, vmm->rm.bar2_pdb >> 8); 50 mutex_unlock(&vmm->mmu->mutex);
|
H A D | vmmnv41.c | 22 #include "vmm.h" 27 nv41_vmm_pgt_pte(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, argument 32 VMM_WO032(pt, vmm, ptei++ * 4, data); 38 nv41_vmm_pgt_sgl(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, argument 41 VMM_MAP_ITER_SGL(vmm, pt, ptei, ptes, map, nv41_vmm_pgt_pte); 45 nv41_vmm_pgt_dma(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, argument 52 VMM_WO032(pt, vmm, ptei++ * 4, data); 56 VMM_MAP_ITER_DMA(vmm, pt, ptei, ptes, map, nv41_vmm_pgt_pte); 61 nv41_vmm_pgt_unmap(struct nvkm_vmm *vmm, argument 64 VMM_FO032(pt, vmm, pte 81 nv41_vmm_flush(struct nvkm_vmm *vmm, int level) argument [all...] |
H A D | vmmgp100.c | 22 #include "vmm.h" 34 gp100_vmm_pfn_unmap(struct nvkm_vmm *vmm, argument 37 struct device *dev = vmm->mmu->subdev.device->dev; 55 gp100_vmm_pfn_clear(struct nvkm_vmm *vmm, argument 65 VMM_WO064(pt, vmm, ptei * 8, data & ~BIT_ULL(0)); 75 gp100_vmm_pgt_pfn(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, argument 78 struct device *dev = vmm->mmu->subdev.device->dev; 109 VMM_WO064(pt, vmm, ptei++ * 8, data); 115 gp100_vmm_pgt_pte(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, argument 123 VMM_WO064(pt, vmm, pte 129 gp100_vmm_pgt_sgl(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, u32 ptei, u32 ptes, struct nvkm_vmm_map *map) argument 136 gp100_vmm_pgt_dma(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, u32 ptei, u32 ptes, struct nvkm_vmm_map *map) argument 155 gp100_vmm_pgt_mem(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, u32 ptei, u32 ptes, struct nvkm_vmm_map *map) argument 162 gp100_vmm_pgt_sparse(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, u32 ptei, u32 ptes) argument 182 gp100_vmm_lpt_invalid(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, u32 ptei, u32 ptes) 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) argument 212 gp100_vmm_pd0_mem(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, u32 ptei, u32 ptes, struct nvkm_vmm_map *map) argument 236 gp100_vmm_pd0_pde(struct nvkm_vmm *vmm, struct nvkm_vmm_pt *pgd, u32 pdei) argument 253 gp100_vmm_pd0_sparse(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, u32 pdei, u32 pdes) argument 261 gp100_vmm_pd0_unmap(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, u32 pdei, u32 pdes) argument 268 gp100_vmm_pd0_pfn_unmap(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, u32 ptei, u32 ptes) argument 290 gp100_vmm_pd0_pfn_clear(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, u32 ptei, u32 ptes) argument 312 gp100_vmm_pd0_pfn(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, u32 ptei, u32 ptes, struct nvkm_vmm_map *map) argument 363 gp100_vmm_pd1_pde(struct nvkm_vmm *vmm, struct nvkm_vmm_pt *pgd, u32 pdei) argument 405 gp100_vmm_valid(struct nvkm_vmm *vmm, void *argv, u32 argc, struct nvkm_vmm_map *map) argument 486 gp100_vmm_fault_cancel(struct nvkm_vmm *vmm, void *argv, u32 argc) argument 521 gp100_vmm_fault_replay(struct nvkm_vmm *vmm, void *argv, u32 argc) argument 536 gp100_vmm_mthd(struct nvkm_vmm *vmm, struct nvkm_client *client, u32 mthd, void *argv, u32 argc) argument 551 gp100_vmm_invalidate_pdb(struct nvkm_vmm *vmm, u64 addr) argument 559 gp100_vmm_flush(struct nvkm_vmm *vmm, int depth) argument 569 gp100_vmm_join(struct nvkm_vmm *vmm, struct nvkm_memory *inst) 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, argument 33 VMM_WO032(pt, vmm, 8 + ptei++ * 4, data); 39 nv04_vmm_pgt_sgl(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, argument 42 VMM_MAP_ITER_SGL(vmm, pt, ptei, ptes, map, nv04_vmm_pgt_pte); 46 nv04_vmm_pgt_dma(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, argument 52 VMM_WO032(pt, vmm, 8 + (ptei++ * 4), *map->dma++ | 0x00000003); 55 VMM_MAP_ITER_DMA(vmm, pt, ptei, ptes, map, nv04_vmm_pgt_pte); 60 nv04_vmm_pgt_unmap(struct nvkm_vmm *vmm, argument 63 VMM_FO032(pt, vmm, 80 nv04_vmm_valid(struct nvkm_vmm *vmm, void *argv, u32 argc, struct nvkm_vmm_map *map) argument 126 struct nvkm_vmm *vmm; local [all...] |
H A D | vmmgf100.c | 22 #include "vmm.h" 32 gf100_vmm_pgt_pte(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, argument 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, argument 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, argument 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, p 84 gf100_vmm_pgt_mem(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, u32 ptei, u32 ptes, struct nvkm_vmm_map *map) argument 91 gf100_vmm_pgt_unmap(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, u32 ptei, u32 ptes) argument 106 gf100_vmm_pgd_pde(struct nvkm_vmm *vmm, struct nvkm_vmm_pt *pgd, u32 pdei) argument 181 gf100_vmm_invalidate_pdb(struct nvkm_vmm *vmm, u64 addr) argument 188 gf100_vmm_invalidate(struct nvkm_vmm *vmm, u32 type) argument 228 gf100_vmm_flush(struct nvkm_vmm *vmm, int depth) argument 237 gf100_vmm_valid(struct nvkm_vmm *vmm, void *argv, u32 argc, struct nvkm_vmm_map *map) argument 336 gf100_vmm_part(struct nvkm_vmm *vmm, struct nvkm_memory *inst) argument 342 gf100_vmm_join_(struct nvkm_vmm *vmm, struct nvkm_memory *inst, u64 base) argument 366 gf100_vmm_join(struct nvkm_vmm *vmm, struct nvkm_memory *inst) 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, argument 53 VMM_WO064(pt, vmm, ptei++ * 8, data); 58 nv50_vmm_pgt_sgl(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, argument 61 VMM_MAP_ITER_SGL(vmm, pt, ptei, ptes, map, nv50_vmm_pgt_pte); 65 nv50_vmm_pgt_dma(struct nvkm_vmm *vmm, struct nvkm_mmu_pt *pt, argument 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, nv50_vmm_pgt_pte); 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) argument 106 nv50_vmm_pde(struct nvkm_vmm *vmm, struct nvkm_vmm_pt *pgt, u64 *pdata) argument 145 nv50_vmm_pgd_pde(struct nvkm_vmm *vmm, struct nvkm_vmm_pt *pgd, u32 pdei) argument 181 nv50_vmm_flush(struct nvkm_vmm *vmm, int level) argument 226 nv50_vmm_valid(struct nvkm_vmm *vmm, void *argv, u32 argc, struct nvkm_vmm_map *map) argument 327 nv50_vmm_part(struct nvkm_vmm *vmm, struct nvkm_memory *inst) argument 341 nv50_vmm_join(struct nvkm_vmm *vmm, struct nvkm_memory *inst) argument [all...] |
H A D | uvmm.h | 5 #include "vmm.h" 9 struct nvkm_vmm *vmm; member in struct:nvkm_uvmm
|
H A D | gk104.c | 23 #include "vmm.h" 32 .vmm = {{ -1, -1, NVIF_CLASS_VMM_GF100}, gk104_vmm_new },
|
H A D | gk20a.c | 23 #include "vmm.h" 32 .vmm = {{ -1, -1, NVIF_CLASS_VMM_GF100}, gk20a_vmm_new },
|
H A D | nv04.c | 25 #include "vmm.h" 34 .vmm = {{ -1, -1, NVIF_CLASS_VMM_NV04}, nv04_vmm_new, true },
|
H A D | vmmgm200.c | 22 #include "vmm.h" 28 gm200_vmm_pgt_sparse(struct nvkm_vmm *vmm, argument 32 VMM_FO064(pt, vmm, ptei * 8, BIT_ULL(32) /* VOL. */, ptes); 53 gm200_vmm_pgd_sparse(struct nvkm_vmm *vmm, argument 57 VMM_FO064(pt, vmm, pdei * 8, BIT_ULL(35) /* VOL_BIG. */, pdes); 96 gm200_vmm_join_(struct nvkm_vmm *vmm, struct nvkm_memory *inst, u64 base) argument 98 if (vmm->func->page[1].shift == 16) 100 return gf100_vmm_join_(vmm, inst, base); 104 gm200_vmm_join(struct nvkm_vmm *vmm, struct nvkm_memory *inst) argument 106 return gm200_vmm_join_(vmm, ins [all...] |
H A D | gm20b.c | 23 #include "vmm.h" 34 .vmm = {{ -1, 0, NVIF_CLASS_VMM_GM200}, gm20b_vmm_new }, 44 .vmm = {{ -1, -1, NVIF_CLASS_VMM_GM200}, gm20b_vmm_new_fixed },
|
/linux-master/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) argument 30 return nvif_object_mthd(&vmm->object, NVIF_VMM_V0_UNMAP, 36 nvif_vmm_map(struct nvif_vmm *vmm, u64 addr, u64 size, void *argv, u32 argc, argument 57 ret = nvif_object_mthd(&vmm->object, NVIF_VMM_V0_MAP, 65 nvif_vmm_put(struct nvif_vmm *vmm, struct nvif_vma *vma) argument 68 WARN_ON(nvif_object_mthd(&vmm->object, NVIF_VMM_V0_PUT, 77 nvif_vmm_get(struct nvif_vmm *vmm, enum nvif_vmm_get type, bool sparse, argument 98 ret = nvif_object_mthd(&vmm->object, NVIF_VMM_V0_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) 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) argument 160 nvif_vmm_raw_unmap(struct nvif_vmm *vmm, u64 addr, u64 size, u8 shift, bool sparse) argument 177 nvif_vmm_raw_sparse(struct nvif_vmm *vmm, u64 addr, u64 size, bool ref) argument 192 nvif_vmm_dtor(struct nvif_vmm *vmm) 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) argument [all...] |
/linux-master/drivers/gpu/drm/nouveau/include/nvif/ |
H A D | if0021.h | 12 __u64 vmm; member in struct:nvif_cgrp_args::nvif_cgrp_v0
|
H A D | vmm.h | 50 int nvif_vmm_raw_get(struct nvif_vmm *vmm, u64 addr, u64 size, u8 shift); 51 int nvif_vmm_raw_put(struct nvif_vmm *vmm, u64 addr, u64 size, u8 shift); 52 int nvif_vmm_raw_map(struct nvif_vmm *vmm, u64 addr, u64 size, u8 shift, 54 int nvif_vmm_raw_unmap(struct nvif_vmm *vmm, u64 addr, u64 size, 56 int nvif_vmm_raw_sparse(struct nvif_vmm *vmm, u64 addr, u64 size, bool ref);
|
/linux-master/drivers/gpu/drm/nouveau/nvkm/engine/fifo/ |
H A D | ucgrp.c | 86 struct nvkm_vmm *vmm; local 102 vmm = nvkm_uvmm_search(oclass->client, args->v0.vmm); 103 if (IS_ERR(vmm)) 104 return PTR_ERR(vmm); 115 ret = nvkm_cgrp_new(runl, args->v0.name, vmm, true, &ucgrp->cgrp); 123 nvkm_vmm_unref(&vmm);
|
H A D | cgrp.c | 102 nvkm_vmm_put(vctx->vmm, &vctx->vma); 106 if (vctx->vmm) { 107 atomic_dec(&vctx->vmm->engref[engn->engine->subdev.type]); 108 nvkm_vmm_unref(&vctx->vmm); 128 vctx->ectx->engn == engn && vctx->vmm == chan->vmm); 150 vctx->vmm = nvkm_vmm_ref(chan->vmm); 155 if (vctx->vmm) 156 atomic_inc(&vctx->vmm 222 nvkm_cgrp_new(struct nvkm_runl *runl, const char *name, struct nvkm_vmm *vmm, bool hw, struct nvkm_cgrp **pcgrp) argument [all...] |
/linux-master/drivers/gpu/drm/nouveau/nvkm/subdev/bar/ |
H A D | r535.c | 28 #include <subdev/mmu/vmm.h> 77 struct nvkm_vmm *vmm = gf100_bar(bar)->bar[0].vmm; local 80 WARN_ON(r535_bar_bar2_update_pde(gsp, vmm->pd->pde[0]->pt[0]->addr)); 81 vmm->rm.bar2_pdb = gsp->bar.rm_bar2_pdb; 115 struct nvkm_vmm *vmm = gf100_bar(bar)->bar[1].vmm; local 123 nvkm_memory_unref(&vmm->pd->pt[0]->memory); 125 ret = nvkm_memory_kmap(pd3, &vmm->pd->pt[0]->memory); 130 vmm [all...] |
H A D | gf100.c | 34 return gf100_bar(base)->bar[1].vmm; 63 return gf100_bar(base)->bar[0].vmm; 103 (bar_nr == 3) ? "bar2" : "bar1", &bar_vm->vmm); 107 atomic_inc(&bar_vm->vmm->engref[NVKM_SUBDEV_BAR]); 108 bar_vm->vmm->debug = bar->base.subdev.debug; 114 ret = nvkm_vmm_boot(bar_vm->vmm); 119 return nvkm_vmm_join(bar_vm->vmm, bar_vm->inst); 153 nvkm_vmm_part(bar->bar[1].vmm, bar->bar[1].inst); 154 nvkm_vmm_unref(&bar->bar[1].vmm); 157 nvkm_vmm_part(bar->bar[0].vmm, ba [all...] |