Home
last modified time | relevance | path

Searched refs:gpusvm (Results 1 – 7 of 7) sorted by relevance

/linux/drivers/gpu/drm/
H A Ddrm_gpusvm.c282 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 Dxe_svm.h77 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 Dxe_svm.c80 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 Dxe_vm_types.h185 struct drm_gpusvm gpusvm; member
H A Dxe_pt.c919 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 Dxe_vm.c2958 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 Dindex.rst21 gpusvm.rst