/kernel/linux/linux-6.6/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/ |
H A D | uvmm.c | 22 #include "uvmm.h" 46 nvkm_uvmm_mthd_pfnclr(struct nvkm_uvmm *uvmm, void *argv, u32 argc) in nvkm_uvmm_mthd_pfnclr() argument 51 struct nvkm_vmm *vmm = uvmm->vmm; in nvkm_uvmm_mthd_pfnclr() 74 nvkm_uvmm_mthd_pfnmap(struct nvkm_uvmm *uvmm, void *argv, u32 argc) in nvkm_uvmm_mthd_pfnmap() argument 79 struct nvkm_vmm *vmm = uvmm->vmm; in nvkm_uvmm_mthd_pfnmap() 107 nvkm_uvmm_mthd_unmap(struct nvkm_uvmm *uvmm, void *argv, u32 argc) in nvkm_uvmm_mthd_unmap() argument 112 struct nvkm_vmm *vmm = uvmm->vmm; in nvkm_uvmm_mthd_unmap() 151 nvkm_uvmm_mthd_map(struct nvkm_uvmm *uvmm, void *argv, u32 argc) in nvkm_uvmm_mthd_map() argument 153 struct nvkm_client *client = uvmm->object.client; in nvkm_uvmm_mthd_map() 158 struct nvkm_vmm *vmm = uvmm in nvkm_uvmm_mthd_map() 232 nvkm_uvmm_mthd_put(struct nvkm_uvmm *uvmm, void *argv, u32 argc) nvkm_uvmm_mthd_put() argument 268 nvkm_uvmm_mthd_get(struct nvkm_uvmm *uvmm, void *argv, u32 argc) nvkm_uvmm_mthd_get() argument 302 nvkm_uvmm_mthd_page(struct nvkm_uvmm *uvmm, void *argv, u32 argc) nvkm_uvmm_mthd_page() argument 330 nvkm_uvmm_page_index(struct nvkm_uvmm *uvmm, u64 size, u8 shift, u8 *refd) nvkm_uvmm_page_index() argument 354 nvkm_uvmm_mthd_raw_get(struct nvkm_uvmm *uvmm, struct nvif_vmm_raw_v0 *args) nvkm_uvmm_mthd_raw_get() argument 371 nvkm_uvmm_mthd_raw_put(struct nvkm_uvmm *uvmm, struct nvif_vmm_raw_v0 *args) nvkm_uvmm_mthd_raw_put() argument 390 nvkm_uvmm_mthd_raw_map(struct nvkm_uvmm *uvmm, struct nvif_vmm_raw_v0 *args) nvkm_uvmm_mthd_raw_map() argument 431 nvkm_uvmm_mthd_raw_unmap(struct nvkm_uvmm *uvmm, struct nvif_vmm_raw_v0 *args) nvkm_uvmm_mthd_raw_unmap() argument 451 nvkm_uvmm_mthd_raw_sparse(struct nvkm_uvmm *uvmm, struct nvif_vmm_raw_v0 *args) nvkm_uvmm_mthd_raw_sparse() argument 462 nvkm_uvmm_mthd_raw(struct nvkm_uvmm *uvmm, void *argv, u32 argc) nvkm_uvmm_mthd_raw() argument 494 struct nvkm_uvmm *uvmm = nvkm_uvmm(object); nvkm_uvmm_mthd() local 520 struct nvkm_uvmm *uvmm = nvkm_uvmm(object); nvkm_uvmm_dtor() local 541 struct nvkm_uvmm *uvmm; nvkm_uvmm_new() local [all...] |
H A D | memnv50.c | 37 struct nv50_vmm_map_v0 uvmm = {}; in nv50_mem_map() local 48 uvmm.ro = args->v0.ro; in nv50_mem_map() 49 uvmm.kind = args->v0.kind; in nv50_mem_map() 50 uvmm.comp = args->v0.comp; in nv50_mem_map() 62 return nvkm_memory_map(memory, 0, bar, *pvma, &uvmm, sizeof(uvmm)); in nv50_mem_map()
|
H A D | memgf100.c | 37 struct gf100_vmm_map_v0 uvmm = {}; in gf100_mem_map() local 47 uvmm.ro = args->v0.ro; in gf100_mem_map() 48 uvmm.kind = args->v0.kind; in gf100_mem_map() 59 ret = nvkm_memory_map(memory, 0, bar, *pvma, &uvmm, sizeof(uvmm)); in gf100_mem_map()
|
/kernel/linux/linux-5.10/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/ |
H A D | uvmm.c | 22 #include "uvmm.h" 46 nvkm_uvmm_mthd_pfnclr(struct nvkm_uvmm *uvmm, void *argv, u32 argc) in nvkm_uvmm_mthd_pfnclr() argument 48 struct nvkm_client *client = uvmm->object.client; in nvkm_uvmm_mthd_pfnclr() 52 struct nvkm_vmm *vmm = uvmm->vmm; in nvkm_uvmm_mthd_pfnclr() 75 nvkm_uvmm_mthd_pfnmap(struct nvkm_uvmm *uvmm, void *argv, u32 argc) in nvkm_uvmm_mthd_pfnmap() argument 77 struct nvkm_client *client = uvmm->object.client; in nvkm_uvmm_mthd_pfnmap() 81 struct nvkm_vmm *vmm = uvmm->vmm; in nvkm_uvmm_mthd_pfnmap() 109 nvkm_uvmm_mthd_unmap(struct nvkm_uvmm *uvmm, void *argv, u32 argc) in nvkm_uvmm_mthd_unmap() argument 111 struct nvkm_client *client = uvmm->object.client; in nvkm_uvmm_mthd_unmap() 115 struct nvkm_vmm *vmm = uvmm in nvkm_uvmm_mthd_unmap() 152 nvkm_uvmm_mthd_map(struct nvkm_uvmm *uvmm, void *argv, u32 argc) nvkm_uvmm_mthd_map() argument 231 nvkm_uvmm_mthd_put(struct nvkm_uvmm *uvmm, void *argv, u32 argc) nvkm_uvmm_mthd_put() argument 269 nvkm_uvmm_mthd_get(struct nvkm_uvmm *uvmm, void *argv, u32 argc) nvkm_uvmm_mthd_get() argument 305 nvkm_uvmm_mthd_page(struct nvkm_uvmm *uvmm, void *argv, u32 argc) nvkm_uvmm_mthd_page() argument 335 struct nvkm_uvmm *uvmm = nvkm_uvmm(object); nvkm_uvmm_mthd() local 360 struct nvkm_uvmm *uvmm = nvkm_uvmm(object); nvkm_uvmm_dtor() local 381 struct nvkm_uvmm *uvmm; nvkm_uvmm_new() local [all...] |
H A D | memnv50.c | 37 struct nv50_vmm_map_v0 uvmm = {}; in nv50_mem_map() local 48 uvmm.ro = args->v0.ro; in nv50_mem_map() 49 uvmm.kind = args->v0.kind; in nv50_mem_map() 50 uvmm.comp = args->v0.comp; in nv50_mem_map() 62 return nvkm_memory_map(memory, 0, bar, *pvma, &uvmm, sizeof(uvmm)); in nv50_mem_map()
|
H A D | memgf100.c | 37 struct gf100_vmm_map_v0 uvmm = {}; in gf100_mem_map() local 47 uvmm.ro = args->v0.ro; in gf100_mem_map() 48 uvmm.kind = args->v0.kind; in gf100_mem_map() 59 ret = nvkm_memory_map(memory, 0, bar, *pvma, &uvmm, sizeof(uvmm)); in gf100_mem_map()
|
/kernel/linux/linux-6.6/drivers/gpu/drm/nouveau/ |
H A D | nouveau_uvmm.c | 6 * The uvmm mutex protects any operations on the GPU VA space provided by the 89 nouveau_uvmm_vmm_sparse_ref(struct nouveau_uvmm *uvmm, in nouveau_uvmm_vmm_sparse_ref() argument 92 struct nvif_vmm *vmm = &uvmm->vmm.vmm; in nouveau_uvmm_vmm_sparse_ref() 98 nouveau_uvmm_vmm_sparse_unref(struct nouveau_uvmm *uvmm, in nouveau_uvmm_vmm_sparse_unref() argument 101 struct nvif_vmm *vmm = &uvmm->vmm.vmm; in nouveau_uvmm_vmm_sparse_unref() 107 nouveau_uvmm_vmm_get(struct nouveau_uvmm *uvmm, in nouveau_uvmm_vmm_get() argument 110 struct nvif_vmm *vmm = &uvmm->vmm.vmm; in nouveau_uvmm_vmm_get() 116 nouveau_uvmm_vmm_put(struct nouveau_uvmm *uvmm, in nouveau_uvmm_vmm_put() argument 119 struct nvif_vmm *vmm = &uvmm->vmm.vmm; in nouveau_uvmm_vmm_put() 125 nouveau_uvmm_vmm_unmap(struct nouveau_uvmm *uvmm, in nouveau_uvmm_vmm_unmap() argument 134 nouveau_uvmm_vmm_map(struct nouveau_uvmm *uvmm, u64 addr, u64 range, u64 bo_offset, u8 kind, struct nouveau_mem *mem) nouveau_uvmm_vmm_map() argument 274 __nouveau_uvma_region_insert(struct nouveau_uvmm *uvmm, struct nouveau_uvma_region *reg) __nouveau_uvma_region_insert() argument 299 nouveau_uvma_region_insert(struct nouveau_uvmm *uvmm, struct nouveau_uvma_region *reg, u64 addr, u64 range) nouveau_uvma_region_insert() argument 319 struct nouveau_uvmm *uvmm = reg->uvmm; nouveau_uvma_region_remove() local 326 nouveau_uvma_region_create(struct nouveau_uvmm *uvmm, u64 addr, u64 range) nouveau_uvma_region_create() argument 357 nouveau_uvma_region_find_first(struct nouveau_uvmm *uvmm, u64 addr, u64 range) nouveau_uvma_region_find_first() argument 366 nouveau_uvma_region_find(struct nouveau_uvmm *uvmm, u64 addr, u64 range) nouveau_uvma_region_find() argument 385 struct nouveau_uvmm *uvmm = reg->uvmm; nouveau_uvma_region_empty() local 395 struct nouveau_uvmm *uvmm = reg->uvmm; __nouveau_uvma_region_destroy() local 410 nouveau_uvma_region_destroy(struct nouveau_uvmm *uvmm, u64 addr, u64 range) nouveau_uvma_region_destroy() argument 451 nouveau_uvmm_sm_prepare_unwind(struct nouveau_uvmm *uvmm, struct nouveau_uvma_prealloc *new, struct drm_gpuva_ops *ops, struct drm_gpuva_op *last, struct uvmm_map_args *args) nouveau_uvmm_sm_prepare_unwind() argument 552 nouveau_uvmm_sm_map_prepare_unwind(struct nouveau_uvmm *uvmm, struct nouveau_uvma_prealloc *new, struct drm_gpuva_ops *ops, u64 addr, u64 range) nouveau_uvmm_sm_map_prepare_unwind() argument 567 nouveau_uvmm_sm_unmap_prepare_unwind(struct nouveau_uvmm *uvmm, struct nouveau_uvma_prealloc *new, struct drm_gpuva_ops *ops) nouveau_uvmm_sm_unmap_prepare_unwind() argument 577 op_map_prepare(struct nouveau_uvmm *uvmm, struct nouveau_uvma **puvma, struct drm_gpuva_op_map *op, struct uvmm_map_args *args) op_map_prepare() argument 608 nouveau_uvmm_sm_prepare(struct nouveau_uvmm *uvmm, struct nouveau_uvma_prealloc *new, struct drm_gpuva_ops *ops, struct uvmm_map_args *args) nouveau_uvmm_sm_prepare() argument 726 nouveau_uvmm_sm_map_prepare(struct nouveau_uvmm *uvmm, struct nouveau_uvma_prealloc *new, struct nouveau_uvma_region *region, struct drm_gpuva_ops *ops, u64 addr, u64 range, u8 kind) nouveau_uvmm_sm_map_prepare() argument 743 nouveau_uvmm_sm_unmap_prepare(struct nouveau_uvmm *uvmm, struct nouveau_uvma_prealloc *new, struct drm_gpuva_ops *ops) nouveau_uvmm_sm_unmap_prepare() argument 819 nouveau_uvmm_sm(struct nouveau_uvmm *uvmm, struct nouveau_uvma_prealloc *new, struct drm_gpuva_ops *ops) nouveau_uvmm_sm() argument 845 nouveau_uvmm_sm_map(struct nouveau_uvmm *uvmm, struct nouveau_uvma_prealloc *new, struct drm_gpuva_ops *ops) nouveau_uvmm_sm_map() argument 853 nouveau_uvmm_sm_unmap(struct nouveau_uvmm *uvmm, struct nouveau_uvma_prealloc *new, struct drm_gpuva_ops *ops) nouveau_uvmm_sm_unmap() argument 861 nouveau_uvmm_sm_cleanup(struct nouveau_uvmm *uvmm, struct nouveau_uvma_prealloc *new, struct drm_gpuva_ops *ops, bool unmap) nouveau_uvmm_sm_cleanup() argument 914 nouveau_uvmm_sm_map_cleanup(struct nouveau_uvmm *uvmm, struct nouveau_uvma_prealloc *new, struct drm_gpuva_ops *ops) nouveau_uvmm_sm_map_cleanup() argument 922 nouveau_uvmm_sm_unmap_cleanup(struct nouveau_uvmm *uvmm, struct nouveau_uvma_prealloc *new, struct drm_gpuva_ops *ops) nouveau_uvmm_sm_unmap_cleanup() argument 930 nouveau_uvmm_validate_range(struct nouveau_uvmm *uvmm, u64 addr, u64 range) nouveau_uvmm_validate_range() argument 994 struct nouveau_uvmm *uvmm = nouveau_cli_uvmm(job->cli); bind_validate_op() local 1044 struct nouveau_uvmm *uvmm = nouveau_cli_uvmm(job->cli); bind_validate_map_common() local 1144 struct nouveau_uvmm *uvmm = nouveau_cli_uvmm(job->cli); nouveau_uvmm_bind_job_submit() local 1434 struct nouveau_uvmm *uvmm = nouveau_cli_uvmm(job->cli); nouveau_uvmm_bind_job_run() local 1470 struct nouveau_uvmm *uvmm = nouveau_cli_uvmm(job->cli); nouveau_uvmm_bind_job_free_work_fn() local 1808 nouveau_uvmm_init(struct nouveau_uvmm *uvmm, struct nouveau_cli *cli, u64 kernel_managed_addr, u64 kernel_managed_size) nouveau_uvmm_init() argument 1865 nouveau_uvmm_fini(struct nouveau_uvmm *uvmm) nouveau_uvmm_fini() argument [all...] |
H A D | nouveau_uvmm.h | 24 struct nouveau_uvmm *uvmm; member 85 int nouveau_uvmm_init(struct nouveau_uvmm *uvmm, struct nouveau_cli *cli, 87 void nouveau_uvmm_fini(struct nouveau_uvmm *uvmm); 98 static inline void nouveau_uvmm_lock(struct nouveau_uvmm *uvmm) in nouveau_uvmm_lock() argument 100 mutex_lock(&uvmm->mutex); in nouveau_uvmm_lock() 103 static inline void nouveau_uvmm_unlock(struct nouveau_uvmm *uvmm) in nouveau_uvmm_unlock() argument 105 mutex_unlock(&uvmm->mutex); in nouveau_uvmm_unlock()
|
H A D | nouveau_drv.h | 96 struct nouveau_uvmm uvmm; member 124 if (!cli || !cli->uvmm.vmm.cli) in nouveau_cli_uvmm() 127 return &cli->uvmm; in nouveau_cli_uvmm() 133 struct nouveau_uvmm *uvmm; in nouveau_cli_uvmm_locked() local 136 uvmm = nouveau_cli_uvmm(cli); in nouveau_cli_uvmm_locked() 139 return uvmm; in nouveau_cli_uvmm_locked() 145 struct nouveau_uvmm *uvmm; in nouveau_cli_vmm() local 147 uvmm = nouveau_cli_uvmm(cli); in nouveau_cli_vmm() 148 if (uvmm) in nouveau_cli_vmm() 149 return &uvmm in nouveau_cli_vmm() 160 struct nouveau_uvmm *uvmm = nouveau_cli_uvmm(cli); __nouveau_cli_disable_uvmm_noinit() local [all...] |
H A D | nouveau_debugfs.c | 207 nouveau_debugfs_gpuva_regions(struct seq_file *m, struct nouveau_uvmm *uvmm) in nouveau_debugfs_gpuva_regions() argument 209 MA_STATE(mas, &uvmm->region_mt, 0, 0); in nouveau_debugfs_gpuva_regions() 228 struct nouveau_uvmm *uvmm = nouveau_cli_uvmm(cli); in nouveau_debugfs_gpuva() local 230 if (!uvmm) in nouveau_debugfs_gpuva() 233 nouveau_uvmm_lock(uvmm); in nouveau_debugfs_gpuva() 234 drm_debugfs_gpuva_info(m, &uvmm->umgr); in nouveau_debugfs_gpuva() 236 nouveau_debugfs_gpuva_regions(m, uvmm); in nouveau_debugfs_gpuva() 237 nouveau_uvmm_unlock(uvmm); in nouveau_debugfs_gpuva()
|
H A D | nouveau_exec.c | 93 struct nouveau_uvmm *uvmm = nouveau_cli_uvmm(cli); in nouveau_exec_job_submit() local 104 nouveau_uvmm_lock(uvmm); in nouveau_exec_job_submit() 110 drm_gpuva_for_each_va(va, &uvmm->umgr) { in nouveau_exec_job_submit() 111 if (unlikely(va == &uvmm->umgr.kernel_alloc_node)) in nouveau_exec_job_submit() 120 nouveau_uvmm_unlock(uvmm); in nouveau_exec_job_submit() 133 nouveau_uvmm_unlock(uvmm); in nouveau_exec_job_submit()
|
H A D | nouveau_gem.c | 106 struct nouveau_uvmm *uvmm = nouveau_cli_uvmm(cli); in nouveau_gem_object_open() local 114 if (nvbo->no_share && uvmm && &uvmm->resv != nvbo->bo.base.resv) in nouveau_gem_object_open() 239 struct nouveau_uvmm *uvmm = nouveau_cli_uvmm(cli); in nouveau_gem_new() local 245 if (unlikely(!uvmm)) in nouveau_gem_new() 248 resv = &uvmm->resv; in nouveau_gem_new() 344 /* If uvmm wasn't initialized until now disable it completely to prevent in nouveau_gem_ioctl_new()
|
H A D | nouveau_drm.c | 202 nouveau_uvmm_fini(&cli->uvmm); in nouveau_cli_fini()
|