hmm 805 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c mm = mirror->hmm->mmu_notifier.mm; hmm 162 include/linux/hmm.h struct hmm *hmm; hmm 184 include/linux/hmm.h return wait_event_timeout(range->hmm->wq, range->valid, hmm 367 include/linux/hmm.h struct hmm *hmm; hmm 31 mm/hmm.c struct hmm *hmm; hmm 33 mm/hmm.c hmm = kzalloc(sizeof(*hmm), GFP_KERNEL); hmm 34 mm/hmm.c if (!hmm) hmm 37 mm/hmm.c init_waitqueue_head(&hmm->wq); hmm 38 mm/hmm.c INIT_LIST_HEAD(&hmm->mirrors); hmm 39 mm/hmm.c init_rwsem(&hmm->mirrors_sem); hmm 40 mm/hmm.c INIT_LIST_HEAD(&hmm->ranges); hmm 41 mm/hmm.c spin_lock_init(&hmm->ranges_lock); hmm 42 mm/hmm.c hmm->notifiers = 0; hmm 43 mm/hmm.c return &hmm->mmu_notifier; hmm 48 mm/hmm.c struct hmm *hmm = container_of(mn, struct hmm, mmu_notifier); hmm 50 mm/hmm.c WARN_ON(!list_empty(&hmm->ranges)); hmm 51 mm/hmm.c WARN_ON(!list_empty(&hmm->mirrors)); hmm 52 mm/hmm.c kfree(hmm); hmm 57 mm/hmm.c struct hmm *hmm = container_of(mn, struct hmm, mmu_notifier); hmm 64 mm/hmm.c WARN_ON(!list_empty_careful(&hmm->ranges)); hmm 66 mm/hmm.c down_read(&hmm->mirrors_sem); hmm 67 mm/hmm.c list_for_each_entry(mirror, &hmm->mirrors, list) { hmm 75 mm/hmm.c up_read(&hmm->mirrors_sem); hmm 78 mm/hmm.c static void notifiers_decrement(struct hmm *hmm) hmm 82 mm/hmm.c spin_lock_irqsave(&hmm->ranges_lock, flags); hmm 83 mm/hmm.c hmm->notifiers--; hmm 84 mm/hmm.c if (!hmm->notifiers) { hmm 87 mm/hmm.c list_for_each_entry(range, &hmm->ranges, list) { hmm 92 mm/hmm.c wake_up_all(&hmm->wq); hmm 94 mm/hmm.c spin_unlock_irqrestore(&hmm->ranges_lock, flags); hmm 100 mm/hmm.c struct hmm *hmm = container_of(mn, struct hmm, mmu_notifier); hmm 106 mm/hmm.c spin_lock_irqsave(&hmm->ranges_lock, flags); hmm 107 mm/hmm.c hmm->notifiers++; hmm 108 mm/hmm.c list_for_each_entry(range, &hmm->ranges, list) { hmm 114 mm/hmm.c spin_unlock_irqrestore(&hmm->ranges_lock, flags); hmm 117 mm/hmm.c down_read(&hmm->mirrors_sem); hmm 118 mm/hmm.c else if (!down_read_trylock(&hmm->mirrors_sem)) { hmm 123 mm/hmm.c list_for_each_entry(mirror, &hmm->mirrors, list) { hmm 135 mm/hmm.c up_read(&hmm->mirrors_sem); hmm 139 mm/hmm.c notifiers_decrement(hmm); hmm 146 mm/hmm.c struct hmm *hmm = container_of(mn, struct hmm, mmu_notifier); hmm 148 mm/hmm.c notifiers_decrement(hmm); hmm 188 mm/hmm.c mirror->hmm = container_of(mn, struct hmm, mmu_notifier); hmm 190 mm/hmm.c down_write(&mirror->hmm->mirrors_sem); hmm 191 mm/hmm.c list_add(&mirror->list, &mirror->hmm->mirrors); hmm 192 mm/hmm.c up_write(&mirror->hmm->mirrors_sem); hmm 207 mm/hmm.c struct hmm *hmm = mirror->hmm; hmm 209 mm/hmm.c down_write(&hmm->mirrors_sem); hmm 211 mm/hmm.c up_write(&hmm->mirrors_sem); hmm 212 mm/hmm.c mmu_notifier_put(&hmm->mmu_notifier); hmm 793 mm/hmm.c struct hmm *hmm = mirror->hmm; hmm 797 mm/hmm.c range->hmm = NULL; hmm 805 mm/hmm.c if (!mmget_not_zero(hmm->mmu_notifier.mm)) hmm 809 mm/hmm.c spin_lock_irqsave(&hmm->ranges_lock, flags); hmm 811 mm/hmm.c range->hmm = hmm; hmm 812 mm/hmm.c list_add(&range->list, &hmm->ranges); hmm 818 mm/hmm.c if (!hmm->notifiers) hmm 820 mm/hmm.c spin_unlock_irqrestore(&hmm->ranges_lock, flags); hmm 835 mm/hmm.c struct hmm *hmm = range->hmm; hmm 838 mm/hmm.c spin_lock_irqsave(&hmm->ranges_lock, flags); hmm 840 mm/hmm.c spin_unlock_irqrestore(&hmm->ranges_lock, flags); hmm 843 mm/hmm.c mmput(hmm->mmu_notifier.mm); hmm 851 mm/hmm.c memset(&range->hmm, POISON_INUSE, sizeof(range->hmm)); hmm 895 mm/hmm.c struct hmm *hmm = range->hmm; hmm 899 mm/hmm.c lockdep_assert_held(&hmm->mmu_notifier.mm->mmap_sem); hmm 906 mm/hmm.c vma = find_vma(hmm->mmu_notifier.mm, start);