Lines Matching refs:dsisr
106 ctx->fault_dsisr = ctx->dsisr; in cxl_ack_ae()
131 int cxl_handle_mm_fault(struct mm_struct *mm, u64 dsisr, u64 dar) in cxl_handle_mm_fault() argument
153 if ((result = copro_handle_mm_fault(mm, dar, dsisr, &flt))) { in cxl_handle_mm_fault()
164 if (dsisr & CXL_PSL_DSISR_An_S) in cxl_handle_mm_fault()
170 if (dsisr & DSISR_NOHPTE) in cxl_handle_mm_fault()
182 u64 dsisr, u64 dar) in cxl_handle_page_fault() argument
184 trace_cxl_pte_miss(ctx, dsisr, dar); in cxl_handle_page_fault()
186 if (cxl_handle_mm_fault(mm, dsisr, dar)) { in cxl_handle_page_fault()
209 static bool cxl_is_segment_miss(struct cxl_context *ctx, u64 dsisr) in cxl_is_segment_miss() argument
211 if ((cxl_is_power8() && (dsisr & CXL_PSL_DSISR_An_DS))) in cxl_is_segment_miss()
217 static bool cxl_is_page_fault(struct cxl_context *ctx, u64 dsisr) in cxl_is_page_fault() argument
219 if ((cxl_is_power8()) && (dsisr & CXL_PSL_DSISR_An_DM)) in cxl_is_page_fault()
232 u64 dsisr = ctx->dsisr; in cxl_handle_fault() local
237 if (cxl_p2n_read(ctx->afu, CXL_PSL_DSISR_An) != dsisr || in cxl_handle_fault()
256 "DSISR: %#llx DAR: %#llx\n", ctx->pe, dsisr, dar); in cxl_handle_fault()
272 if (cxl_is_segment_miss(ctx, dsisr)) in cxl_handle_fault()
274 else if (cxl_is_page_fault(ctx, dsisr)) in cxl_handle_fault()
275 cxl_handle_page_fault(ctx, mm, dsisr, dar); in cxl_handle_fault()