Lines Matching refs:mem_err
196 void ghes_edac_report_mem_error(int sev, struct cper_sec_mem_err *mem_err) in ghes_edac_report_mem_error() argument
250 (long long)mem_err->validation_bits); in ghes_edac_report_mem_error()
253 if (mem_err->validation_bits & CPER_MEM_VALID_ERROR_TYPE) { in ghes_edac_report_mem_error()
255 switch (mem_err->error_type) { in ghes_edac_report_mem_error()
306 mem_err->error_type); in ghes_edac_report_mem_error()
313 if (mem_err->validation_bits & CPER_MEM_VALID_PA) { in ghes_edac_report_mem_error()
314 e->page_frame_number = mem_err->physical_addr >> PAGE_SHIFT; in ghes_edac_report_mem_error()
315 e->offset_in_page = mem_err->physical_addr & ~PAGE_MASK; in ghes_edac_report_mem_error()
319 if (mem_err->validation_bits & CPER_MEM_VALID_PA_MASK) in ghes_edac_report_mem_error()
320 e->grain = ~(mem_err->physical_addr_mask & ~PAGE_MASK); in ghes_edac_report_mem_error()
324 if (mem_err->validation_bits & CPER_MEM_VALID_NODE) in ghes_edac_report_mem_error()
325 p += sprintf(p, "node:%d ", mem_err->node); in ghes_edac_report_mem_error()
326 if (mem_err->validation_bits & CPER_MEM_VALID_CARD) in ghes_edac_report_mem_error()
327 p += sprintf(p, "card:%d ", mem_err->card); in ghes_edac_report_mem_error()
328 if (mem_err->validation_bits & CPER_MEM_VALID_MODULE) in ghes_edac_report_mem_error()
329 p += sprintf(p, "module:%d ", mem_err->module); in ghes_edac_report_mem_error()
330 if (mem_err->validation_bits & CPER_MEM_VALID_RANK_NUMBER) in ghes_edac_report_mem_error()
331 p += sprintf(p, "rank:%d ", mem_err->rank); in ghes_edac_report_mem_error()
332 if (mem_err->validation_bits & CPER_MEM_VALID_BANK) in ghes_edac_report_mem_error()
333 p += sprintf(p, "bank:%d ", mem_err->bank); in ghes_edac_report_mem_error()
334 if (mem_err->validation_bits & CPER_MEM_VALID_ROW) in ghes_edac_report_mem_error()
335 p += sprintf(p, "row:%d ", mem_err->row); in ghes_edac_report_mem_error()
336 if (mem_err->validation_bits & CPER_MEM_VALID_COLUMN) in ghes_edac_report_mem_error()
337 p += sprintf(p, "col:%d ", mem_err->column); in ghes_edac_report_mem_error()
338 if (mem_err->validation_bits & CPER_MEM_VALID_BIT_POSITION) in ghes_edac_report_mem_error()
339 p += sprintf(p, "bit_pos:%d ", mem_err->bit_pos); in ghes_edac_report_mem_error()
340 if (mem_err->validation_bits & CPER_MEM_VALID_MODULE_HANDLE) { in ghes_edac_report_mem_error()
344 dmi_memdev_name(mem_err->mem_dev_handle, &bank, &device); in ghes_edac_report_mem_error()
349 mem_err->mem_dev_handle); in ghes_edac_report_mem_error()
351 index = get_dimm_smbios_index(mem_err->mem_dev_handle); in ghes_edac_report_mem_error()
363 if (mem_err->validation_bits & CPER_MEM_VALID_ERROR_STATUS) { in ghes_edac_report_mem_error()
364 u64 status = mem_err->error_status; in ghes_edac_report_mem_error()
424 if (mem_err->validation_bits & CPER_MEM_VALID_REQUESTOR_ID) in ghes_edac_report_mem_error()
426 (long long)mem_err->requestor_id); in ghes_edac_report_mem_error()
427 if (mem_err->validation_bits & CPER_MEM_VALID_RESPONDER_ID) in ghes_edac_report_mem_error()
429 (long long)mem_err->responder_id); in ghes_edac_report_mem_error()
430 if (mem_err->validation_bits & CPER_MEM_VALID_TARGET_ID) in ghes_edac_report_mem_error()
432 (long long)mem_err->responder_id); in ghes_edac_report_mem_error()