Lines Matching refs:mem_err
184 void ghes_edac_report_mem_error(int sev, struct cper_sec_mem_err *mem_err) in ghes_edac_report_mem_error() argument
238 (long long)mem_err->validation_bits); in ghes_edac_report_mem_error()
241 if (mem_err->validation_bits & CPER_MEM_VALID_ERROR_TYPE) { in ghes_edac_report_mem_error()
243 switch (mem_err->error_type) { in ghes_edac_report_mem_error()
294 mem_err->error_type); in ghes_edac_report_mem_error()
301 if (mem_err->validation_bits & CPER_MEM_VALID_PA) { in ghes_edac_report_mem_error()
302 e->page_frame_number = mem_err->physical_addr >> PAGE_SHIFT; in ghes_edac_report_mem_error()
303 e->offset_in_page = mem_err->physical_addr & ~PAGE_MASK; in ghes_edac_report_mem_error()
307 if (mem_err->validation_bits & CPER_MEM_VALID_PA_MASK) in ghes_edac_report_mem_error()
308 e->grain = ~(mem_err->physical_addr_mask & ~PAGE_MASK); in ghes_edac_report_mem_error()
312 if (mem_err->validation_bits & CPER_MEM_VALID_NODE) in ghes_edac_report_mem_error()
313 p += sprintf(p, "node:%d ", mem_err->node); in ghes_edac_report_mem_error()
314 if (mem_err->validation_bits & CPER_MEM_VALID_CARD) in ghes_edac_report_mem_error()
315 p += sprintf(p, "card:%d ", mem_err->card); in ghes_edac_report_mem_error()
316 if (mem_err->validation_bits & CPER_MEM_VALID_MODULE) in ghes_edac_report_mem_error()
317 p += sprintf(p, "module:%d ", mem_err->module); in ghes_edac_report_mem_error()
318 if (mem_err->validation_bits & CPER_MEM_VALID_RANK_NUMBER) in ghes_edac_report_mem_error()
319 p += sprintf(p, "rank:%d ", mem_err->rank); in ghes_edac_report_mem_error()
320 if (mem_err->validation_bits & CPER_MEM_VALID_BANK) in ghes_edac_report_mem_error()
321 p += sprintf(p, "bank:%d ", mem_err->bank); in ghes_edac_report_mem_error()
322 if (mem_err->validation_bits & CPER_MEM_VALID_ROW) in ghes_edac_report_mem_error()
323 p += sprintf(p, "row:%d ", mem_err->row); in ghes_edac_report_mem_error()
324 if (mem_err->validation_bits & CPER_MEM_VALID_COLUMN) in ghes_edac_report_mem_error()
325 p += sprintf(p, "col:%d ", mem_err->column); in ghes_edac_report_mem_error()
326 if (mem_err->validation_bits & CPER_MEM_VALID_BIT_POSITION) in ghes_edac_report_mem_error()
327 p += sprintf(p, "bit_pos:%d ", mem_err->bit_pos); in ghes_edac_report_mem_error()
328 if (mem_err->validation_bits & CPER_MEM_VALID_MODULE_HANDLE) { in ghes_edac_report_mem_error()
330 dmi_memdev_name(mem_err->mem_dev_handle, &bank, &device); in ghes_edac_report_mem_error()
335 mem_err->mem_dev_handle); in ghes_edac_report_mem_error()
342 if (mem_err->validation_bits & CPER_MEM_VALID_ERROR_STATUS) { in ghes_edac_report_mem_error()
343 u64 status = mem_err->error_status; in ghes_edac_report_mem_error()
403 if (mem_err->validation_bits & CPER_MEM_VALID_REQUESTOR_ID) in ghes_edac_report_mem_error()
405 (long long)mem_err->requestor_id); in ghes_edac_report_mem_error()
406 if (mem_err->validation_bits & CPER_MEM_VALID_RESPONDER_ID) in ghes_edac_report_mem_error()
408 (long long)mem_err->responder_id); in ghes_edac_report_mem_error()
409 if (mem_err->validation_bits & CPER_MEM_VALID_TARGET_ID) in ghes_edac_report_mem_error()
411 (long long)mem_err->responder_id); in ghes_edac_report_mem_error()