Lines Matching refs:notifier

253 		container_of(mn, struct nouveau_svmm, notifier);  in nouveau_svmm_invalidate_range_start()
291 kfree(container_of(mn, struct nouveau_svmm, notifier)); in nouveau_svmm_free_notifier()
307 mmu_notifier_put(&svmm->notifier); in nouveau_svmm_fini()
356 svmm->notifier.ops = &nouveau_mn_ops; in nouveau_svmm_init()
357 ret = __mmu_notifier_register(&svmm->notifier, current->mm); in nouveau_svmm_init()
499 struct mmu_interval_notifier notifier; member
508 container_of(mni, struct svm_notifier, notifier); in nouveau_svm_range_invalidate()
585 struct svm_notifier *notifier) in nouveau_atomic_range_fault() argument
589 struct mm_struct *mm = svmm->notifier.mm; in nouveau_atomic_range_fault()
595 ret = mmu_interval_notifier_insert(&notifier->notifier, mm, in nouveau_atomic_range_fault()
607 notifier_seq = mmu_interval_read_begin(&notifier->notifier); in nouveau_atomic_range_fault()
618 if (!mmu_interval_read_retry(&notifier->notifier, in nouveau_atomic_range_fault()
641 mmu_interval_notifier_remove(&notifier->notifier); in nouveau_atomic_range_fault()
649 struct svm_notifier *notifier) in nouveau_range_fault() argument
656 .notifier = &notifier->notifier, in nouveau_range_fault()
661 struct mm_struct *mm = svmm->notifier.mm; in nouveau_range_fault()
664 ret = mmu_interval_notifier_insert(&notifier->notifier, mm, in nouveau_range_fault()
670 range.start = notifier->notifier.interval_tree.start; in nouveau_range_fault()
671 range.end = notifier->notifier.interval_tree.last + 1; in nouveau_range_fault()
679 range.notifier_seq = mmu_interval_read_begin(range.notifier); in nouveau_range_fault()
690 if (mmu_interval_read_retry(range.notifier, in nouveau_range_fault()
704 mmu_interval_notifier_remove(&notifier->notifier); in nouveau_range_fault()
777 struct svm_notifier notifier; in nouveau_svm_fault() local
822 mm = svmm->notifier.mm; in nouveau_svm_fault()
828 notifier.svmm = svmm; in nouveau_svm_fault()
832 &notifier); in nouveau_svm_fault()
836 &notifier); in nouveau_svm_fault()