Searched refs:gpusvm (Results 1 – 7 of 7) sorted by relevance
| /linux/drivers/gpu/drm/ |
| H A D | drm_gpusvm.c | 282 drm_gpusvm_notifier_find(struct drm_gpusvm *gpusvm, unsigned long start, in drm_gpusvm_notifier_find() argument 287 itree = interval_tree_iter_first(&gpusvm->root, start, end - 1); in drm_gpusvm_notifier_find() 338 struct drm_gpusvm *gpusvm = notifier->gpusvm; in drm_gpusvm_notifier_invalidate() local 343 down_write(&gpusvm->notifier_lock); in drm_gpusvm_notifier_invalidate() 345 gpusvm->ops->invalidate(gpusvm, notifier, mmu_range); in drm_gpusvm_notifier_invalidate() 346 up_write(&gpusvm->notifier_lock); in drm_gpusvm_notifier_invalidate() 383 int drm_gpusvm_init(struct drm_gpusvm *gpusvm, in drm_gpusvm_init() argument 401 gpusvm->name = name; in drm_gpusvm_init() 402 gpusvm->drm = drm; in drm_gpusvm_init() 403 gpusvm->mm = mm; in drm_gpusvm_init() [all …]
|
| /linux/drivers/gpu/drm/xe/ |
| H A D | xe_svm.h | 77 return drm_gpusvm_range_pages_valid(range->base.gpusvm, &range->base); in xe_svm_range_pages_valid() 134 lockdep_assert_held(&range->base.gpusvm->notifier_lock); in xe_svm_range_has_dma_mapping() 236 return drm_gpusvm_init(&vm->svm.gpusvm, "Xe SVM (simple)", &vm->xe->drm, in xe_svm_init() 248 drm_gpusvm_fini(&vm->svm.gpusvm); in xe_svm_fini() 395 lockdep_assert_held_write(&(vm__)->svm.gpusvm.notifier_lock) 398 lockdep_assert_held_read(&(vm__)->svm.gpusvm.notifier_lock) 401 drm_gpusvm_notifier_lock(&(vm__)->svm.gpusvm) 404 down_read_interruptible(&(vm__)->svm.gpusvm.notifier_lock) 407 drm_gpusvm_notifier_unlock(&(vm__)->svm.gpusvm)
|
| H A D | xe_svm.c | 80 static struct xe_vm *gpusvm_to_vm(struct drm_gpusvm *gpusvm) in gpusvm_to_vm() argument 82 return container_of(gpusvm, struct xe_vm, svm.gpusvm); in gpusvm_to_vm() 87 return gpusvm_to_vm(r->gpusvm); in range_to_vm() 95 (r__)->base.gpusvm, \ 108 xe_svm_range_alloc(struct drm_gpusvm *gpusvm) in xe_svm_range_alloc() argument 117 xe_vm_get(gpusvm_to_vm(gpusvm)); in xe_svm_range_alloc() 210 drm_gpusvm_range_unmap_pages(&vm->svm.gpusvm, r, &ctx); in xe_svm_range_notifier_event_end() 223 static void xe_svm_invalidate(struct drm_gpusvm *gpusvm, in xe_svm_invalidate() argument 227 struct xe_vm *vm = gpusvm_to_vm(gpusvm); in xe_svm_invalidate() 238 vm_dbg(&gpusvm_to_vm(gpusvm)->xe->drm, in xe_svm_invalidate() [all …]
|
| H A D | xe_vm_types.h | 185 struct drm_gpusvm gpusvm; member
|
| H A D | xe_pt.c | 919 lockdep_assert_held(&xe_vma_vm(vma)->svm.gpusvm.notifier_lock); in xe_pt_zap_ptes() 969 lockdep_assert(lockdep_is_held_type(&vm->svm.gpusvm.notifier_lock, 0) || in xe_pt_zap_ptes_range() 970 (lockdep_is_held_type(&vm->svm.gpusvm.notifier_lock, 1) && in xe_pt_zap_ptes_range() 2399 lockdep_assert_held(&vm->svm.gpusvm.notifier_lock); in range_present_and_invalidated_tile()
|
| H A D | xe_vm.c | 2958 vm->usm.asid, &vm->svm.gpusvm, ERR_PTR(err)); in prefetch_ranges() 2967 vm->usm.asid, &vm->svm.gpusvm, ERR_PTR(err)); in prefetch_ranges() 4047 lockdep_assert(lockdep_is_held_type(&vm->svm.gpusvm.notifier_lock, 0) || in xe_vm_invalidate_vma() 4048 (lockdep_is_held_type(&vm->svm.gpusvm.notifier_lock, 1) && in xe_vm_invalidate_vma()
|
| /linux/Documentation/gpu/rfc/ |
| H A D | index.rst | 21 gpusvm.rst
|