Lines Matching refs:pe_data

36 struct pe_data {  struct
67 struct pe_data pe_data; member
143 rc = copro_handle_mm_fault(fault->pe_data.mm, fault->dar, fault->dsisr, in xsl_fault_handler_bh()
147 if (fault->pe_data.xsl_err_cb) { in xsl_fault_handler_bh()
148 fault->pe_data.xsl_err_cb( in xsl_fault_handler_bh()
149 fault->pe_data.xsl_err_data, in xsl_fault_handler_bh()
170 hash_page_mm(fault->pe_data.mm, fault->dar, access, 0x300, in xsl_fault_handler_bh()
176 mmput(fault->pe_data.mm); in xsl_fault_handler_bh()
185 struct pe_data *pe_data; in xsl_fault_handler() local
210 pe_data = radix_tree_lookup(&spa->pe_tree, pe_handle); in xsl_fault_handler()
211 if (!pe_data) { in xsl_fault_handler()
228 if (!pe_data->mm) { in xsl_fault_handler()
238 WARN_ON(pe_data->mm->context.id != pid); in xsl_fault_handler()
240 if (mmget_not_zero(pe_data->mm)) { in xsl_fault_handler()
244 spa->xsl_fault.pe_data = *pe_data; in xsl_fault_handler()
504 struct pe_data *pe_data; in ocxl_link_add_pe() local
519 pe_data = kmalloc(sizeof(*pe_data), GFP_KERNEL); in ocxl_link_add_pe()
520 if (!pe_data) { in ocxl_link_add_pe()
525 pe_data->mm = mm; in ocxl_link_add_pe()
526 pe_data->xsl_err_cb = xsl_err_cb; in ocxl_link_add_pe()
527 pe_data->xsl_err_data = xsl_err_data; in ocxl_link_add_pe()
550 radix_tree_insert(&spa->pe_tree, pe_handle, pe_data); in ocxl_link_add_pe()
616 struct pe_data *pe_data; in ocxl_link_remove_pe() local
669 pe_data = radix_tree_delete(&spa->pe_tree, pe_handle); in ocxl_link_remove_pe()
670 if (!pe_data) { in ocxl_link_remove_pe()
673 if (pe_data->mm) { in ocxl_link_remove_pe()
674 mm_context_remove_copro(pe_data->mm); in ocxl_link_remove_pe()
675 mmdrop(pe_data->mm); in ocxl_link_remove_pe()
677 kfree_rcu(pe_data, rcu); in ocxl_link_remove_pe()