Lines Matching refs:e
56 static struct mem_ctl_info *error_desc_to_mci(struct edac_raw_error_desc *e) in error_desc_to_mci() argument
58 return container_of(e, struct mem_ctl_info, error_desc); in error_desc_to_mci()
877 static void edac_inc_ce_error(struct edac_raw_error_desc *e) in edac_inc_ce_error() argument
879 int pos[EDAC_MAX_LAYERS] = { e->top_layer, e->mid_layer, e->low_layer }; in edac_inc_ce_error()
880 struct mem_ctl_info *mci = error_desc_to_mci(e); in edac_inc_ce_error()
883 mci->ce_mc += e->error_count; in edac_inc_ce_error()
886 dimm->ce_count += e->error_count; in edac_inc_ce_error()
888 mci->ce_noinfo_count += e->error_count; in edac_inc_ce_error()
891 static void edac_inc_ue_error(struct edac_raw_error_desc *e) in edac_inc_ue_error() argument
893 int pos[EDAC_MAX_LAYERS] = { e->top_layer, e->mid_layer, e->low_layer }; in edac_inc_ue_error()
894 struct mem_ctl_info *mci = error_desc_to_mci(e); in edac_inc_ue_error()
897 mci->ue_mc += e->error_count; in edac_inc_ue_error()
900 dimm->ue_count += e->error_count; in edac_inc_ue_error()
902 mci->ue_noinfo_count += e->error_count; in edac_inc_ue_error()
905 static void edac_ce_error(struct edac_raw_error_desc *e) in edac_ce_error() argument
907 struct mem_ctl_info *mci = error_desc_to_mci(e); in edac_ce_error()
913 e->error_count, e->msg, in edac_ce_error()
914 *e->msg ? " " : "", in edac_ce_error()
915 e->label, e->location, e->page_frame_number, e->offset_in_page, in edac_ce_error()
916 e->grain, e->syndrome, in edac_ce_error()
917 *e->other_detail ? " - " : "", in edac_ce_error()
918 e->other_detail); in edac_ce_error()
921 edac_inc_ce_error(e); in edac_ce_error()
936 mci->ctl_page_to_phys(mci, e->page_frame_number) : in edac_ce_error()
937 e->page_frame_number; in edac_ce_error()
939 edac_mc_scrub_block(remapped_page, e->offset_in_page, e->grain); in edac_ce_error()
943 static void edac_ue_error(struct edac_raw_error_desc *e) in edac_ue_error() argument
945 struct mem_ctl_info *mci = error_desc_to_mci(e); in edac_ue_error()
950 e->error_count, e->msg, in edac_ue_error()
951 *e->msg ? " " : "", in edac_ue_error()
952 e->label, e->location, e->page_frame_number, e->offset_in_page, in edac_ue_error()
953 e->grain, in edac_ue_error()
954 *e->other_detail ? " - " : "", in edac_ue_error()
955 e->other_detail); in edac_ue_error()
958 edac_inc_ue_error(e); in edac_ue_error()
962 e->msg, in edac_ue_error()
963 *e->msg ? " " : "", in edac_ue_error()
964 e->label, e->location, e->page_frame_number, e->offset_in_page, in edac_ue_error()
965 e->grain, in edac_ue_error()
966 *e->other_detail ? " - " : "", in edac_ue_error()
967 e->other_detail); in edac_ue_error()
971 static void edac_inc_csrow(struct edac_raw_error_desc *e, int row, int chan) in edac_inc_csrow() argument
973 struct mem_ctl_info *mci = error_desc_to_mci(e); in edac_inc_csrow()
974 enum hw_event_mc_err_type type = e->type; in edac_inc_csrow()
975 u16 count = e->error_count; in edac_inc_csrow()
991 void edac_raw_mc_handle_error(struct edac_raw_error_desc *e) in edac_raw_mc_handle_error() argument
993 struct mem_ctl_info *mci = error_desc_to_mci(e); in edac_raw_mc_handle_error()
997 if (WARN_ON_ONCE(!e->grain)) in edac_raw_mc_handle_error()
998 e->grain = 1; in edac_raw_mc_handle_error()
1000 grain_bits = fls_long(e->grain - 1); in edac_raw_mc_handle_error()
1004 trace_mc_event(e->type, e->msg, e->label, e->error_count, in edac_raw_mc_handle_error()
1005 mci->mc_idx, e->top_layer, e->mid_layer, in edac_raw_mc_handle_error()
1006 e->low_layer, in edac_raw_mc_handle_error()
1007 (e->page_frame_number << PAGE_SHIFT) | e->offset_in_page, in edac_raw_mc_handle_error()
1008 grain_bits, e->syndrome, e->other_detail); in edac_raw_mc_handle_error()
1010 if (e->type == HW_EVENT_ERR_CORRECTED) in edac_raw_mc_handle_error()
1011 edac_ce_error(e); in edac_raw_mc_handle_error()
1013 edac_ue_error(e); in edac_raw_mc_handle_error()
1034 struct edac_raw_error_desc *e = &mci->error_desc; in edac_mc_handle_error() local
1040 memset(e, 0, sizeof (*e)); in edac_mc_handle_error()
1041 e->error_count = error_count; in edac_mc_handle_error()
1042 e->type = type; in edac_mc_handle_error()
1043 e->top_layer = top_layer; in edac_mc_handle_error()
1044 e->mid_layer = mid_layer; in edac_mc_handle_error()
1045 e->low_layer = low_layer; in edac_mc_handle_error()
1046 e->page_frame_number = page_frame_number; in edac_mc_handle_error()
1047 e->offset_in_page = offset_in_page; in edac_mc_handle_error()
1048 e->syndrome = syndrome; in edac_mc_handle_error()
1050 e->msg = msg ?: ""; in edac_mc_handle_error()
1051 e->other_detail = other_detail ?: ""; in edac_mc_handle_error()
1088 p = e->label; in edac_mc_handle_error()
1100 if (dimm->grain > e->grain) in edac_mc_handle_error()
1101 e->grain = dimm->grain; in edac_mc_handle_error()
1114 p = e->label; in edac_mc_handle_error()
1117 if (p != e->label) { in edac_mc_handle_error()
1144 strcpy(e->label, "any memory"); in edac_mc_handle_error()
1145 else if (!*e->label) in edac_mc_handle_error()
1146 strcpy(e->label, "unknown memory"); in edac_mc_handle_error()
1148 edac_inc_csrow(e, row, chan); in edac_mc_handle_error()
1151 p = e->location; in edac_mc_handle_error()
1161 if (p > e->location) in edac_mc_handle_error()
1164 edac_raw_mc_handle_error(e); in edac_mc_handle_error()