Lines Matching refs:pe_data
40 struct pe_data { struct
73 struct pe_data pe_data; member
151 rc = copro_handle_mm_fault(fault->pe_data.mm, fault->dar, fault->dsisr, in xsl_fault_handler_bh()
155 if (fault->pe_data.xsl_err_cb) { in xsl_fault_handler_bh()
156 fault->pe_data.xsl_err_cb( in xsl_fault_handler_bh()
157 fault->pe_data.xsl_err_data, in xsl_fault_handler_bh()
178 hash_page_mm(fault->pe_data.mm, fault->dar, access, 0x300, in xsl_fault_handler_bh()
184 mmput(fault->pe_data.mm); in xsl_fault_handler_bh()
193 struct pe_data *pe_data; in xsl_fault_handler() local
218 pe_data = radix_tree_lookup(&spa->pe_tree, pe_handle); in xsl_fault_handler()
219 if (!pe_data) { in xsl_fault_handler()
236 if (!pe_data->mm) { in xsl_fault_handler()
246 WARN_ON(pe_data->mm->context.id != pid); in xsl_fault_handler()
248 if (mmget_not_zero(pe_data->mm)) { in xsl_fault_handler()
252 spa->xsl_fault.pe_data = *pe_data; in xsl_fault_handler()
497 struct pe_data *pe_data = container_of(mn, struct pe_data, mmu_notifier); in invalidate_range() local
498 struct ocxl_link *link = pe_data->link; in invalidate_range()
546 struct pe_data *pe_data; in ocxl_link_add_pe() local
561 pe_data = kmalloc(sizeof(*pe_data), GFP_KERNEL); in ocxl_link_add_pe()
562 if (!pe_data) { in ocxl_link_add_pe()
567 pe_data->mm = mm; in ocxl_link_add_pe()
568 pe_data->xsl_err_cb = xsl_err_cb; in ocxl_link_add_pe()
569 pe_data->xsl_err_data = xsl_err_data; in ocxl_link_add_pe()
570 pe_data->link = link; in ocxl_link_add_pe()
571 pe_data->mmu_notifier.ops = &ocxl_mmu_notifier_ops; in ocxl_link_add_pe()
595 mmu_notifier_register(&pe_data->mmu_notifier, mm); in ocxl_link_add_pe()
605 radix_tree_insert(&spa->pe_tree, pe_handle, pe_data); in ocxl_link_add_pe()
671 struct pe_data *pe_data; in ocxl_link_remove_pe() local
724 pe_data = radix_tree_delete(&spa->pe_tree, pe_handle); in ocxl_link_remove_pe()
725 if (!pe_data) { in ocxl_link_remove_pe()
728 if (pe_data->mm) { in ocxl_link_remove_pe()
731 pe_data->mm->context.id); in ocxl_link_remove_pe()
732 mmu_notifier_unregister(&pe_data->mmu_notifier, in ocxl_link_remove_pe()
733 pe_data->mm); in ocxl_link_remove_pe()
736 pe_data->mm->context.id, in ocxl_link_remove_pe()
741 mm_context_remove_copro(pe_data->mm); in ocxl_link_remove_pe()
742 mmdrop(pe_data->mm); in ocxl_link_remove_pe()
744 kfree_rcu(pe_data, rcu); in ocxl_link_remove_pe()