Lines Matching refs:pe_data
37 struct pe_data {
50 struct radix_tree_root pe_tree; /* Maps PE handles to pe_data */
68 struct pe_data pe_data;
144 rc = copro_handle_mm_fault(fault->pe_data.mm, fault->dar, fault->dsisr,
148 if (fault->pe_data.xsl_err_cb) {
149 fault->pe_data.xsl_err_cb(
150 fault->pe_data.xsl_err_data,
171 hash_page_mm(fault->pe_data.mm, fault->dar, access, 0x300,
177 mmput(fault->pe_data.mm);
186 struct pe_data *pe_data;
211 pe_data = radix_tree_lookup(&spa->pe_tree, pe_handle);
212 if (!pe_data) {
229 if (!pe_data->mm) {
239 WARN_ON(pe_data->mm->context.id != pid);
241 if (mmget_not_zero(pe_data->mm)) {
245 spa->xsl_fault.pe_data = *pe_data;
505 struct pe_data *pe_data;
520 pe_data = kmalloc(sizeof(*pe_data), GFP_KERNEL);
521 if (!pe_data) {
526 pe_data->mm = mm;
527 pe_data->xsl_err_cb = xsl_err_cb;
528 pe_data->xsl_err_data = xsl_err_data;
551 radix_tree_insert(&spa->pe_tree, pe_handle, pe_data);
617 struct pe_data *pe_data;
670 pe_data = radix_tree_delete(&spa->pe_tree, pe_handle);
671 if (!pe_data) {
674 if (pe_data->mm) {
675 mm_context_remove_copro(pe_data->mm);
676 mmdrop(pe_data->mm);
678 kfree_rcu(pe_data, rcu);