Lines Matching full:notifier
256 container_of(mn, struct nouveau_svmm, notifier); in nouveau_svmm_invalidate_range_start()
294 kfree(container_of(mn, struct nouveau_svmm, notifier)); in nouveau_svmm_free_notifier()
310 mmu_notifier_put(&svmm->notifier); in nouveau_svmm_fini()
359 svmm->notifier.ops = &nouveau_mn_ops; in nouveau_svmm_init()
360 ret = __mmu_notifier_register(&svmm->notifier, current->mm); in nouveau_svmm_init()
502 struct mmu_interval_notifier notifier; member
511 container_of(mni, struct svm_notifier, notifier); in nouveau_svm_range_invalidate()
521 * notifier that does invalidation is always called after the range in nouveau_svm_range_invalidate()
522 * notifier. in nouveau_svm_range_invalidate()
588 struct svm_notifier *notifier) in nouveau_atomic_range_fault() argument
592 struct mm_struct *mm = svmm->notifier.mm; in nouveau_atomic_range_fault()
599 ret = mmu_interval_notifier_insert(¬ifier->notifier, mm, in nouveau_atomic_range_fault()
611 notifier_seq = mmu_interval_read_begin(¬ifier->notifier); in nouveau_atomic_range_fault()
623 if (!mmu_interval_read_retry(¬ifier->notifier, in nouveau_atomic_range_fault()
649 mmu_interval_notifier_remove(¬ifier->notifier); in nouveau_atomic_range_fault()
657 struct svm_notifier *notifier) in nouveau_range_fault() argument
664 .notifier = ¬ifier->notifier, in nouveau_range_fault()
669 struct mm_struct *mm = svmm->notifier.mm; in nouveau_range_fault()
672 ret = mmu_interval_notifier_insert(¬ifier->notifier, mm, in nouveau_range_fault()
678 range.start = notifier->notifier.interval_tree.start; in nouveau_range_fault()
679 range.end = notifier->notifier.interval_tree.last + 1; in nouveau_range_fault()
687 range.notifier_seq = mmu_interval_read_begin(range.notifier); in nouveau_range_fault()
698 if (mmu_interval_read_retry(range.notifier, in nouveau_range_fault()
712 mmu_interval_notifier_remove(¬ifier->notifier); in nouveau_range_fault()
783 struct svm_notifier notifier; in nouveau_svm_fault() local
828 mm = svmm->notifier.mm; in nouveau_svm_fault()
834 notifier.svmm = svmm; in nouveau_svm_fault()
838 ¬ifier); in nouveau_svm_fault()
842 ¬ifier); in nouveau_svm_fault()