Lines Matching refs:svm

44 	return container_of(gpusvm, struct xe_vm, svm.gpusvm);  in gpusvm_to_vm()
105 spin_lock(&vm->svm.garbage_collector.lock); in xe_svm_garbage_collector_add_range()
108 &vm->svm.garbage_collector.range_list); in xe_svm_garbage_collector_add_range()
109 spin_unlock(&vm->svm.garbage_collector.lock); in xe_svm_garbage_collector_add_range()
112 &vm->svm.garbage_collector.work); in xe_svm_garbage_collector_add_range()
167 drm_gpusvm_range_unmap_pages(&vm->svm.gpusvm, r, &ctx); in xe_svm_range_notifier_event_end()
250 drm_gpusvm_range_remove(&vm->svm.gpusvm, &range->base); in __xe_svm_garbage_collector()
265 spin_lock(&vm->svm.garbage_collector.lock); in xe_svm_garbage_collector()
267 range = list_first_entry_or_null(&vm->svm.garbage_collector.range_list, in xe_svm_garbage_collector()
274 spin_unlock(&vm->svm.garbage_collector.lock); in xe_svm_garbage_collector()
285 spin_lock(&vm->svm.garbage_collector.lock); in xe_svm_garbage_collector()
287 spin_unlock(&vm->svm.garbage_collector.lock); in xe_svm_garbage_collector()
295 svm.garbage_collector.work); in xe_svm_garbage_collector_work_func()
570 spin_lock_init(&vm->svm.garbage_collector.lock); in xe_svm_init()
571 INIT_LIST_HEAD(&vm->svm.garbage_collector.range_list); in xe_svm_init()
572 INIT_WORK(&vm->svm.garbage_collector.work, in xe_svm_init()
575 err = drm_gpusvm_init(&vm->svm.gpusvm, "Xe SVM", &vm->xe->drm, in xe_svm_init()
583 drm_gpusvm_driver_set_lock(&vm->svm.gpusvm, &vm->lock); in xe_svm_init()
597 flush_work(&vm->svm.garbage_collector.work); in xe_svm_close()
610 drm_gpusvm_fini(&vm->svm.gpusvm); in xe_svm_fini()
632 drm_gpusvm_range_evict(&vm->svm.gpusvm, &range->base); in xe_svm_range_migrate_to_smem()
680 return drm_gpusvm_find_vma_start(&vm->svm.gpusvm, in xe_svm_find_vma_start()
880 vm->usm.asid, &vm->svm.gpusvm, ERR_PTR(err)); in xe_svm_handle_pagefault()
886 vm->usm.asid, &vm->svm.gpusvm, ERR_PTR(err)); in xe_svm_handle_pagefault()
933 return drm_gpusvm_has_mapping(&vm->svm.gpusvm, start, end); in xe_svm_has_mapping()
967 r = drm_gpusvm_range_find_or_insert(&vm->svm.gpusvm, max(addr, xe_vma_start(vma)), in xe_svm_range_find_or_insert()
991 err = drm_gpusvm_range_get_pages(&vm->svm.gpusvm, &range->base, ctx); in xe_svm_range_get_pages()
994 drm_gpusvm_range_evict(&vm->svm.gpusvm, &range->base); in xe_svm_range_get_pages()
1125 flush_work(&vm->svm.garbage_collector.work); in xe_svm_flush()