/kernel/linux/linux-5.10/drivers/gpu/drm/nouveau/ |
H A D | nouveau_svm.c | 64 struct nouveau_svmm *svmm; member 80 struct nouveau_svmm *svmm; member 164 if (!cli->svm.svmm) { in nouveau_svmm_bind() 181 nouveau_dmem_migrate_vma(cli->drm, cli->svm.svmm, vma, addr, in nouveau_svmm_bind() 201 nouveau_svmm_part(struct nouveau_svmm *svmm, u64 inst) in nouveau_svmm_part() argument 204 if (svmm) { in nouveau_svmm_part() 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() 217 nouveau_svmm_join(struct nouveau_svmm *svmm, u6 argument 235 nouveau_svmm_invalidate(struct nouveau_svmm *svmm, u64 start, u64 limit) nouveau_svmm_invalidate() argument 253 struct nouveau_svmm *svmm = nouveau_svmm_invalidate_range_start() local 303 struct nouveau_svmm *svmm = *psvmm; nouveau_svmm_fini() local 318 struct nouveau_svmm *svmm; nouveau_svmm_init() local 484 struct nouveau_svmm *svmm; global() member 562 nouveau_range_fault(struct nouveau_svmm *svmm, struct nouveau_drm *drm, struct nouveau_pfnmap_args *args, u32 size, unsigned long hmm_flags, struct svm_notifier *notifier) nouveau_range_fault() argument 624 struct nouveau_svmm *svmm; nouveau_svm_fault() local 814 nouveau_pfns_map(struct nouveau_svmm *svmm, struct mm_struct *mm, unsigned long addr, u64 *pfns, unsigned long npages) nouveau_pfns_map() argument [all...] |
H A D | nouveau_svm.h | 32 void nouveau_svmm_invalidate(struct nouveau_svmm *svmm, u64 start, u64 limit); 35 void nouveau_pfns_map(struct nouveau_svmm *svmm, struct mm_struct *mm, 51 static inline int nouveau_svmm_join(struct nouveau_svmm *svmm, u64 inst) in nouveau_svmm_join() argument 56 static inline void nouveau_svmm_part(struct nouveau_svmm *svmm, u64 inst) {} in nouveau_svmm_part() argument
|
H A D | nouveau_dmem.c | 146 struct nouveau_svmm *svmm; in nouveau_dmem_fault_copy_one() local 161 svmm = spage->zone_device_data; in nouveau_dmem_fault_copy_one() 162 mutex_lock(&svmm->mutex); in nouveau_dmem_fault_copy_one() 163 nouveau_svmm_invalidate(svmm, args->start, args->end); in nouveau_dmem_fault_copy_one() 167 mutex_unlock(&svmm->mutex); in nouveau_dmem_fault_copy_one() 173 mutex_unlock(&svmm->mutex); in nouveau_dmem_fault_copy_one() 569 struct nouveau_svmm *svmm, unsigned long src, in nouveau_dmem_migrate_copy_one() 600 dpage->zone_device_data = svmm; in nouveau_dmem_migrate_copy_one() 617 struct nouveau_svmm *svmm, struct migrate_vma *args, in nouveau_dmem_migrate_chunk() 624 args->dst[i] = nouveau_dmem_migrate_copy_one(drm, svmm, in nouveau_dmem_migrate_chunk() 568 nouveau_dmem_migrate_copy_one(struct nouveau_drm *drm, struct nouveau_svmm *svmm, unsigned long src, dma_addr_t *dma_addr, u64 *pfn) nouveau_dmem_migrate_copy_one() argument 616 nouveau_dmem_migrate_chunk(struct nouveau_drm *drm, struct nouveau_svmm *svmm, struct migrate_vma *args, dma_addr_t *dma_addrs, u64 *pfns) nouveau_dmem_migrate_chunk() argument 644 nouveau_dmem_migrate_vma(struct nouveau_drm *drm, struct nouveau_svmm *svmm, struct vm_area_struct *vma, unsigned long start, unsigned long end) nouveau_dmem_migrate_vma() argument [all...] |
H A D | nouveau_dmem.h | 38 struct nouveau_svmm *svmm,
|
H A D | nouveau_vmm.h | 28 struct nouveau_svmm *svmm; member
|
H A D | nouveau_vmm.c | 126 nouveau_svmm_fini(&vmm->svmm); in nouveau_vmm_fini()
|
H A D | nouveau_chan.c | 100 nouveau_svmm_part(chan->vmm->svmm, chan->inst); in nouveau_channel_del() 539 ret = nouveau_svmm_join((*pchan)->vmm->svmm, (*pchan)->inst); in nouveau_channel_new()
|
/kernel/linux/linux-6.6/drivers/gpu/drm/nouveau/ |
H A D | nouveau_svm.c | 67 struct nouveau_svmm *svmm; member 88 struct nouveau_svmm *svmm; member 172 if (!cli->svm.svmm) { in nouveau_svmm_bind() 189 nouveau_dmem_migrate_vma(cli->drm, cli->svm.svmm, vma, addr, in nouveau_svmm_bind() 209 nouveau_svmm_part(struct nouveau_svmm *svmm, u64 inst) in nouveau_svmm_part() argument 212 if (svmm) { in nouveau_svmm_part() 213 mutex_lock(&svmm->vmm->cli->drm->svm->mutex); in nouveau_svmm_part() 214 ivmm = nouveau_ivmm_find(svmm->vmm->cli->drm->svm, inst); in nouveau_svmm_part() 219 mutex_unlock(&svmm->vmm->cli->drm->svm->mutex); in nouveau_svmm_part() 225 nouveau_svmm_join(struct nouveau_svmm *svmm, u6 argument 243 nouveau_svmm_invalidate(struct nouveau_svmm *svmm, u64 start, u64 limit) nouveau_svmm_invalidate() argument 258 struct nouveau_svmm *svmm = nouveau_svmm_invalidate_range_start() local 308 struct nouveau_svmm *svmm = *psvmm; nouveau_svmm_fini() local 323 struct nouveau_svmm *svmm; nouveau_svmm_init() local 506 struct nouveau_svmm *svmm; global() member 588 nouveau_atomic_range_fault(struct nouveau_svmm *svmm, struct nouveau_drm *drm, struct nouveau_pfnmap_args *args, u32 size, struct svm_notifier *notifier) nouveau_atomic_range_fault() argument 651 nouveau_range_fault(struct nouveau_svmm *svmm, struct nouveau_drm *drm, struct nouveau_pfnmap_args *args, u32 size, unsigned long hmm_flags, struct svm_notifier *notifier) nouveau_range_fault() argument 721 struct nouveau_svmm *svmm; nouveau_svm_fault() local 925 nouveau_pfns_map(struct nouveau_svmm *svmm, struct mm_struct *mm, unsigned long addr, u64 *pfns, unsigned long npages) nouveau_pfns_map() argument [all...] |
H A D | nouveau_svm.h | 32 void nouveau_svmm_invalidate(struct nouveau_svmm *svmm, u64 start, u64 limit); 35 void nouveau_pfns_map(struct nouveau_svmm *svmm, struct mm_struct *mm, 51 static inline int nouveau_svmm_join(struct nouveau_svmm *svmm, u64 inst) in nouveau_svmm_join() argument 56 static inline void nouveau_svmm_part(struct nouveau_svmm *svmm, u64 inst) {} in nouveau_svmm_part() argument
|
H A D | nouveau_dmem.c | 166 struct nouveau_svmm *svmm; in nouveau_dmem_migrate_to_ram() local 202 svmm = spage->zone_device_data; in nouveau_dmem_migrate_to_ram() 203 mutex_lock(&svmm->mutex); in nouveau_dmem_migrate_to_ram() 204 nouveau_svmm_invalidate(svmm, args.start, args.end); in nouveau_dmem_migrate_to_ram() 206 mutex_unlock(&svmm->mutex); in nouveau_dmem_migrate_to_ram() 616 struct nouveau_svmm *svmm, unsigned long src, in nouveau_dmem_migrate_copy_one() 647 dpage->zone_device_data = svmm; in nouveau_dmem_migrate_copy_one() 664 struct nouveau_svmm *svmm, struct migrate_vma *args, in nouveau_dmem_migrate_chunk() 671 args->dst[i] = nouveau_dmem_migrate_copy_one(drm, svmm, in nouveau_dmem_migrate_chunk() 681 nouveau_pfns_map(svmm, arg in nouveau_dmem_migrate_chunk() 615 nouveau_dmem_migrate_copy_one(struct nouveau_drm *drm, struct nouveau_svmm *svmm, unsigned long src, dma_addr_t *dma_addr, u64 *pfn) nouveau_dmem_migrate_copy_one() argument 663 nouveau_dmem_migrate_chunk(struct nouveau_drm *drm, struct nouveau_svmm *svmm, struct migrate_vma *args, dma_addr_t *dma_addrs, u64 *pfns) nouveau_dmem_migrate_chunk() argument 691 nouveau_dmem_migrate_vma(struct nouveau_drm *drm, struct nouveau_svmm *svmm, struct vm_area_struct *vma, unsigned long start, unsigned long end) nouveau_dmem_migrate_vma() argument [all...] |
H A D | nouveau_vmm.h | 28 struct nouveau_svmm *svmm; member
|
H A D | nouveau_dmem.h | 38 struct nouveau_svmm *svmm,
|
H A D | nouveau_vmm.c | 126 nouveau_svmm_fini(&vmm->svmm); in nouveau_vmm_fini()
|
H A D | nouveau_chan.c | 99 nouveau_svmm_part(chan->vmm->svmm, chan->inst); in nouveau_channel_del() 515 ret = nouveau_svmm_join((*pchan)->vmm->svmm, (*pchan)->inst); in nouveau_channel_new()
|