Lines Matching full:notifier
259 container_of(mn, struct nouveau_svmm, notifier); in nouveau_svmm_invalidate_range_start()
297 kfree(container_of(mn, struct nouveau_svmm, notifier)); in nouveau_svmm_free_notifier()
313 mmu_notifier_put(&svmm->notifier); in nouveau_svmm_fini()
362 svmm->notifier.ops = &nouveau_mn_ops; in nouveau_svmm_init()
363 ret = __mmu_notifier_register(&svmm->notifier, current->mm); in nouveau_svmm_init()
505 struct mmu_interval_notifier notifier; member
514 container_of(mni, struct svm_notifier, notifier); in nouveau_svm_range_invalidate()
524 * notifier that does invalidation is always called after the range in nouveau_svm_range_invalidate()
525 * notifier. in nouveau_svm_range_invalidate()
591 struct svm_notifier *notifier) in nouveau_atomic_range_fault() argument
595 struct mm_struct *mm = svmm->notifier.mm; in nouveau_atomic_range_fault()
602 ret = mmu_interval_notifier_insert(¬ifier->notifier, mm, in nouveau_atomic_range_fault()
614 notifier_seq = mmu_interval_read_begin(¬ifier->notifier); in nouveau_atomic_range_fault()
626 if (!mmu_interval_read_retry(¬ifier->notifier, in nouveau_atomic_range_fault()
652 mmu_interval_notifier_remove(¬ifier->notifier); in nouveau_atomic_range_fault()
660 struct svm_notifier *notifier) in nouveau_range_fault() argument
667 .notifier = ¬ifier->notifier, in nouveau_range_fault()
672 struct mm_struct *mm = svmm->notifier.mm; in nouveau_range_fault()
675 ret = mmu_interval_notifier_insert(¬ifier->notifier, mm, in nouveau_range_fault()
681 range.start = notifier->notifier.interval_tree.start; in nouveau_range_fault()
682 range.end = notifier->notifier.interval_tree.last + 1; in nouveau_range_fault()
690 range.notifier_seq = mmu_interval_read_begin(range.notifier); in nouveau_range_fault()
701 if (mmu_interval_read_retry(range.notifier, in nouveau_range_fault()
715 mmu_interval_notifier_remove(¬ifier->notifier); in nouveau_range_fault()
786 struct svm_notifier notifier; in nouveau_svm_fault() local
831 mm = svmm->notifier.mm; in nouveau_svm_fault()
837 notifier.svmm = svmm; in nouveau_svm_fault()
841 ¬ifier); in nouveau_svm_fault()
845 ¬ifier); in nouveau_svm_fault()