/drivers/misc/cxl/ |
D | irq.c | 29 static irqreturn_t schedule_cxl_fault(struct cxl_context *ctx, u64 dsisr, u64 dar) in schedule_cxl_fault() argument 31 ctx->dsisr = dsisr; in schedule_cxl_fault() 39 u64 dsisr, dar; in cxl_irq() local 41 dsisr = irq_info->dsisr; in cxl_irq() 44 trace_cxl_psl_irq(ctx, irq, dsisr, dar); in cxl_irq() 46 pr_devel("CXL interrupt %i for afu pe: %i DSISR: %#llx DAR: %#llx\n", irq, ctx->pe, dsisr, dar); in cxl_irq() 48 if (dsisr & CXL_PSL_DSISR_An_DS) { in cxl_irq() 60 return schedule_cxl_fault(ctx, dsisr, dar); in cxl_irq() 63 if (dsisr & CXL_PSL_DSISR_An_M) in cxl_irq() 65 if (dsisr & CXL_PSL_DSISR_An_P) in cxl_irq() [all …]
|
D | fault.c | 109 ctx->fault_dsisr = ctx->dsisr; in cxl_ack_ae() 135 struct mm_struct *mm, u64 dsisr, u64 dar) in cxl_handle_page_fault() argument 141 trace_cxl_pte_miss(ctx, dsisr, dar); in cxl_handle_page_fault() 143 if ((result = copro_handle_mm_fault(mm, dar, dsisr, &flt))) { in cxl_handle_page_fault() 153 if (dsisr & CXL_PSL_DSISR_An_S) in cxl_handle_page_fault() 160 if (dsisr & DSISR_NOHPTE) in cxl_handle_page_fault() 255 u64 dsisr = ctx->dsisr; in cxl_handle_fault() local 260 if (cxl_p2n_read(ctx->afu, CXL_PSL_DSISR_An) != dsisr || in cxl_handle_fault() 279 "DSISR: %#llx DAR: %#llx\n", ctx->pe, dsisr, dar); in cxl_handle_fault() 296 if (dsisr & CXL_PSL_DSISR_An_DS) in cxl_handle_fault() [all …]
|
D | trace.h | 158 TP_PROTO(struct cxl_context *ctx, int irq, u64 dsisr, u64 dar), 160 TP_ARGS(ctx, irq, dsisr, dar), 167 __field(u64, dsisr) 176 __entry->dsisr = dsisr; 185 __print_flags(__entry->dsisr, "|", DSISR_FLAGS), 278 TP_PROTO(struct cxl_context *ctx, u64 dsisr, u64 dar), 280 TP_ARGS(ctx, dsisr, dar), 286 __field(u64, dsisr) 294 __entry->dsisr = dsisr; 302 __print_flags(__entry->dsisr, "|", DSISR_FLAGS),
|
D | native.c | 121 u64 dsisr, dar; in cxl_psl_purge() local 157 dsisr = cxl_p2n_read(afu, CXL_PSL_DSISR_An); in cxl_psl_purge() 158 …r_devel_ratelimited("PSL purging... PSL_CNTL: 0x%016llx PSL_DSISR: 0x%016llx\n", PSL_CNTL, dsisr); in cxl_psl_purge() 159 if (dsisr & CXL_PSL_DSISR_TRANS) { in cxl_psl_purge() 161 …>dev, "PSL purge terminating pending translation, DSISR: 0x%016llx, DAR: 0x%016llx\n", dsisr, dar); in cxl_psl_purge() 163 } else if (dsisr) { in cxl_psl_purge() 164 …ice(&afu->dev, "PSL purge acknowledging pending non-translation fault, DSISR: 0x%016llx\n", dsisr); in cxl_psl_purge() 870 info->dsisr = cxl_p2n_read(afu, CXL_PSL_DSISR_An); in native_get_irq_info() 903 u64 dsisr, u64 errstat) in native_handle_psl_slice_error() argument 921 if (irq_info->dsisr & CXL_PSL_DSISR_TRANS) in fail_psl_irq() [all …]
|
D | guest.c | 59 static irqreturn_t guest_handle_psl_slice_error(struct cxl_context *ctx, u64 dsisr, in guest_handle_psl_slice_error() argument 199 u64 serr, afu_error, dsisr; in guest_slice_irq_err() local 207 dsisr = cxl_p2n_read(afu, CXL_PSL_DSISR_An); in guest_slice_irq_err() 210 dev_crit(&afu->dev, "PSL_DSISR_An: 0x%.16llx\n", dsisr); in guest_slice_irq_err()
|
D | cxl.h | 514 u64 dsisr; member 846 u64 dsisr; member 923 u64 dsisr, u64 errstat);
|
D | hcalls.c | 417 info->dsisr, info->dar, info->dsr, info->pid, in cxl_h_collect_int_info()
|
D | file.c | 453 event.fault.dsisr = ctx->fault_dsisr; in afu_read()
|