mmn 108 drivers/misc/mic/scif/scif_dma.c void __scif_rma_destroy_tcw(struct scif_mmu_notif *mmn, mmn 119 drivers/misc/mic/scif/scif_dma.c list_for_each_safe(item, tmp, &mmn->tc_reg_list) { mmn 133 drivers/misc/mic/scif/scif_dma.c static void scif_rma_destroy_tcw(struct scif_mmu_notif *mmn, u64 start, u64 len) mmn 135 drivers/misc/mic/scif/scif_dma.c struct scif_endpt *ep = mmn->ep; mmn 138 drivers/misc/mic/scif/scif_dma.c __scif_rma_destroy_tcw(mmn, start, len); mmn 145 drivers/misc/mic/scif/scif_dma.c struct scif_mmu_notif *mmn; mmn 148 drivers/misc/mic/scif/scif_dma.c mmn = list_entry(item, struct scif_mmu_notif, list); mmn 149 drivers/misc/mic/scif/scif_dma.c scif_rma_destroy_tcw(mmn, 0, ULONG_MAX); mmn 156 drivers/misc/mic/scif/scif_dma.c struct scif_mmu_notif *mmn; mmn 160 drivers/misc/mic/scif/scif_dma.c mmn = list_entry(item, struct scif_mmu_notif, list); mmn 161 drivers/misc/mic/scif/scif_dma.c __scif_rma_destroy_tcw(mmn, 0, ULONG_MAX); mmn 187 drivers/misc/mic/scif/scif_dma.c struct scif_mmu_notif *mmn; mmn 189 drivers/misc/mic/scif/scif_dma.c mmn = container_of(mn, struct scif_mmu_notif, ep_mmu_notifier); mmn 190 drivers/misc/mic/scif/scif_dma.c scif_rma_destroy_tcw(mmn, 0, ULONG_MAX); mmn 197 drivers/misc/mic/scif/scif_dma.c struct scif_mmu_notif *mmn; mmn 199 drivers/misc/mic/scif/scif_dma.c mmn = container_of(mn, struct scif_mmu_notif, ep_mmu_notifier); mmn 200 drivers/misc/mic/scif/scif_dma.c scif_rma_destroy_tcw(mmn, range->start, range->end - range->start); mmn 223 drivers/misc/mic/scif/scif_dma.c struct scif_mmu_notif *mmn = NULL; mmn 228 drivers/misc/mic/scif/scif_dma.c mmn = list_entry(item, struct scif_mmu_notif, list); mmn 229 drivers/misc/mic/scif/scif_dma.c mmu_notifier_unregister(&mmn->ep_mmu_notifier, mmn->mm); mmn 231 drivers/misc/mic/scif/scif_dma.c kfree(mmn); mmn 236 drivers/misc/mic/scif/scif_dma.c static void scif_init_mmu_notifier(struct scif_mmu_notif *mmn, mmn 239 drivers/misc/mic/scif/scif_dma.c mmn->ep = ep; mmn 240 drivers/misc/mic/scif/scif_dma.c mmn->mm = mm; mmn 241 drivers/misc/mic/scif/scif_dma.c mmn->ep_mmu_notifier.ops = &scif_mmu_notifier_ops; mmn 242 drivers/misc/mic/scif/scif_dma.c INIT_LIST_HEAD(&mmn->list); mmn 243 drivers/misc/mic/scif/scif_dma.c INIT_LIST_HEAD(&mmn->tc_reg_list); mmn 249 drivers/misc/mic/scif/scif_dma.c struct scif_mmu_notif *mmn; mmn 251 drivers/misc/mic/scif/scif_dma.c list_for_each_entry(mmn, &rma->mmn_list, list) mmn 252 drivers/misc/mic/scif/scif_dma.c if (mmn->mm == mm) mmn 253 drivers/misc/mic/scif/scif_dma.c return mmn; mmn 260 drivers/misc/mic/scif/scif_dma.c struct scif_mmu_notif *mmn mmn 261 drivers/misc/mic/scif/scif_dma.c = kzalloc(sizeof(*mmn), GFP_KERNEL); mmn 263 drivers/misc/mic/scif/scif_dma.c if (!mmn) mmn 266 drivers/misc/mic/scif/scif_dma.c scif_init_mmu_notifier(mmn, current->mm, ep); mmn 267 drivers/misc/mic/scif/scif_dma.c if (mmu_notifier_register(&mmn->ep_mmu_notifier, current->mm)) { mmn 268 drivers/misc/mic/scif/scif_dma.c kfree(mmn); mmn 271 drivers/misc/mic/scif/scif_dma.c list_add(&mmn->list, &ep->rma_info.mmn_list); mmn 272 drivers/misc/mic/scif/scif_dma.c return mmn; mmn 1647 drivers/misc/mic/scif/scif_dma.c struct scif_mmu_notif *mmn = NULL; mmn 1691 drivers/misc/mic/scif/scif_dma.c mmn = scif_find_mmu_notifier(current->mm, &ep->rma_info); mmn 1692 drivers/misc/mic/scif/scif_dma.c if (!mmn) mmn 1693 drivers/misc/mic/scif/scif_dma.c mmn = scif_add_mmu_notifier(current->mm, ep); mmn 1695 drivers/misc/mic/scif/scif_dma.c if (IS_ERR(mmn)) { mmn 1697 drivers/misc/mic/scif/scif_dma.c return PTR_ERR(mmn); mmn 1710 drivers/misc/mic/scif/scif_dma.c if (mmn) { mmn 1712 drivers/misc/mic/scif/scif_dma.c req.head = &mmn->tc_reg_list; mmn 1716 drivers/misc/mic/scif/scif_dma.c if (!mmn || err) { mmn 1729 drivers/misc/mic/scif/scif_dma.c if (mmn) { mmn 1732 drivers/misc/mic/scif/scif_dma.c &mmn->tc_reg_list);