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()
872 static void edac_inc_ce_error(struct edac_raw_error_desc *e) in edac_inc_ce_error() argument
874 int pos[EDAC_MAX_LAYERS] = { e->top_layer, e->mid_layer, e->low_layer }; in edac_inc_ce_error()
875 struct mem_ctl_info *mci = error_desc_to_mci(e); in edac_inc_ce_error()
878 mci->ce_mc += e->error_count; in edac_inc_ce_error()
881 dimm->ce_count += e->error_count; in edac_inc_ce_error()
883 mci->ce_noinfo_count += e->error_count; in edac_inc_ce_error()
886 static void edac_inc_ue_error(struct edac_raw_error_desc *e) in edac_inc_ue_error() argument
888 int pos[EDAC_MAX_LAYERS] = { e->top_layer, e->mid_layer, e->low_layer }; in edac_inc_ue_error()
889 struct mem_ctl_info *mci = error_desc_to_mci(e); in edac_inc_ue_error()
892 mci->ue_mc += e->error_count; in edac_inc_ue_error()
895 dimm->ue_count += e->error_count; in edac_inc_ue_error()
897 mci->ue_noinfo_count += e->error_count; in edac_inc_ue_error()
900 static void edac_ce_error(struct edac_raw_error_desc *e) in edac_ce_error() argument
902 struct mem_ctl_info *mci = error_desc_to_mci(e); in edac_ce_error()
908 e->error_count, e->msg, in edac_ce_error()
909 *e->msg ? " " : "", in edac_ce_error()
910 e->label, e->location, e->page_frame_number, e->offset_in_page, in edac_ce_error()
911 e->grain, e->syndrome, in edac_ce_error()
912 *e->other_detail ? " - " : "", in edac_ce_error()
913 e->other_detail); in edac_ce_error()
916 edac_inc_ce_error(e); in edac_ce_error()
931 mci->ctl_page_to_phys(mci, e->page_frame_number) : in edac_ce_error()
932 e->page_frame_number; in edac_ce_error()
934 edac_mc_scrub_block(remapped_page, e->offset_in_page, e->grain); in edac_ce_error()
938 static void edac_ue_error(struct edac_raw_error_desc *e) in edac_ue_error() argument
940 struct mem_ctl_info *mci = error_desc_to_mci(e); in edac_ue_error()
945 e->error_count, e->msg, in edac_ue_error()
946 *e->msg ? " " : "", in edac_ue_error()
947 e->label, e->location, e->page_frame_number, e->offset_in_page, in edac_ue_error()
948 e->grain, in edac_ue_error()
949 *e->other_detail ? " - " : "", in edac_ue_error()
950 e->other_detail); in edac_ue_error()
953 edac_inc_ue_error(e); in edac_ue_error()
957 e->msg, in edac_ue_error()
958 *e->msg ? " " : "", in edac_ue_error()
959 e->label, e->location, e->page_frame_number, e->offset_in_page, in edac_ue_error()
960 e->grain, in edac_ue_error()
961 *e->other_detail ? " - " : "", in edac_ue_error()
962 e->other_detail); in edac_ue_error()
966 static void edac_inc_csrow(struct edac_raw_error_desc *e, int row, int chan) in edac_inc_csrow() argument
968 struct mem_ctl_info *mci = error_desc_to_mci(e); in edac_inc_csrow()
969 enum hw_event_mc_err_type type = e->type; in edac_inc_csrow()
970 u16 count = e->error_count; in edac_inc_csrow()
986 void edac_raw_mc_handle_error(struct edac_raw_error_desc *e) in edac_raw_mc_handle_error() argument
988 struct mem_ctl_info *mci = error_desc_to_mci(e); in edac_raw_mc_handle_error()
992 if (WARN_ON_ONCE(!e->grain)) in edac_raw_mc_handle_error()
993 e->grain = 1; in edac_raw_mc_handle_error()
995 grain_bits = fls_long(e->grain - 1); in edac_raw_mc_handle_error()
999 trace_mc_event(e->type, e->msg, e->label, e->error_count, in edac_raw_mc_handle_error()
1000 mci->mc_idx, e->top_layer, e->mid_layer, in edac_raw_mc_handle_error()
1001 e->low_layer, in edac_raw_mc_handle_error()
1002 (e->page_frame_number << PAGE_SHIFT) | e->offset_in_page, in edac_raw_mc_handle_error()
1003 grain_bits, e->syndrome, e->other_detail); in edac_raw_mc_handle_error()
1005 if (e->type == HW_EVENT_ERR_CORRECTED) in edac_raw_mc_handle_error()
1006 edac_ce_error(e); in edac_raw_mc_handle_error()
1008 edac_ue_error(e); in edac_raw_mc_handle_error()
1029 struct edac_raw_error_desc *e = &mci->error_desc; in edac_mc_handle_error() local
1036 memset(e, 0, sizeof (*e)); in edac_mc_handle_error()
1037 e->error_count = error_count; in edac_mc_handle_error()
1038 e->type = type; in edac_mc_handle_error()
1039 e->top_layer = top_layer; in edac_mc_handle_error()
1040 e->mid_layer = mid_layer; in edac_mc_handle_error()
1041 e->low_layer = low_layer; in edac_mc_handle_error()
1042 e->page_frame_number = page_frame_number; in edac_mc_handle_error()
1043 e->offset_in_page = offset_in_page; in edac_mc_handle_error()
1044 e->syndrome = syndrome; in edac_mc_handle_error()
1046 e->msg = msg ?: ""; in edac_mc_handle_error()
1047 e->other_detail = other_detail ?: ""; in edac_mc_handle_error()
1084 p = e->label; in edac_mc_handle_error()
1086 end = p + sizeof(e->label); in edac_mc_handle_error()
1098 if (dimm->grain > e->grain) in edac_mc_handle_error()
1099 e->grain = dimm->grain; in edac_mc_handle_error()
1112 p = e->label; in edac_mc_handle_error()
1138 strscpy(e->label, "any memory", sizeof(e->label)); in edac_mc_handle_error()
1139 else if (!*e->label) in edac_mc_handle_error()
1140 strscpy(e->label, "unknown memory", sizeof(e->label)); in edac_mc_handle_error()
1142 edac_inc_csrow(e, row, chan); in edac_mc_handle_error()
1145 p = e->location; in edac_mc_handle_error()
1146 end = p + sizeof(e->location); in edac_mc_handle_error()
1158 edac_raw_mc_handle_error(e); in edac_mc_handle_error()