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()
803 static void edac_inc_ce_error(struct edac_raw_error_desc *e) in edac_inc_ce_error() argument
805 int pos[EDAC_MAX_LAYERS] = { e->top_layer, e->mid_layer, e->low_layer }; in edac_inc_ce_error()
806 struct mem_ctl_info *mci = error_desc_to_mci(e); in edac_inc_ce_error()
809 mci->ce_mc += e->error_count; in edac_inc_ce_error()
812 dimm->ce_count += e->error_count; in edac_inc_ce_error()
814 mci->ce_noinfo_count += e->error_count; in edac_inc_ce_error()
817 static void edac_inc_ue_error(struct edac_raw_error_desc *e) in edac_inc_ue_error() argument
819 int pos[EDAC_MAX_LAYERS] = { e->top_layer, e->mid_layer, e->low_layer }; in edac_inc_ue_error()
820 struct mem_ctl_info *mci = error_desc_to_mci(e); in edac_inc_ue_error()
823 mci->ue_mc += e->error_count; in edac_inc_ue_error()
826 dimm->ue_count += e->error_count; in edac_inc_ue_error()
828 mci->ue_noinfo_count += e->error_count; in edac_inc_ue_error()
831 static void edac_ce_error(struct edac_raw_error_desc *e) in edac_ce_error() argument
833 struct mem_ctl_info *mci = error_desc_to_mci(e); in edac_ce_error()
839 e->error_count, e->msg, in edac_ce_error()
840 *e->msg ? " " : "", in edac_ce_error()
841 e->label, e->location, e->page_frame_number, e->offset_in_page, in edac_ce_error()
842 e->grain, e->syndrome, in edac_ce_error()
843 *e->other_detail ? " - " : "", in edac_ce_error()
844 e->other_detail); in edac_ce_error()
847 edac_inc_ce_error(e); in edac_ce_error()
862 mci->ctl_page_to_phys(mci, e->page_frame_number) : in edac_ce_error()
863 e->page_frame_number; in edac_ce_error()
865 edac_mc_scrub_block(remapped_page, e->offset_in_page, e->grain); in edac_ce_error()
869 static void edac_ue_error(struct edac_raw_error_desc *e) in edac_ue_error() argument
871 struct mem_ctl_info *mci = error_desc_to_mci(e); in edac_ue_error()
876 e->error_count, e->msg, in edac_ue_error()
877 *e->msg ? " " : "", in edac_ue_error()
878 e->label, e->location, e->page_frame_number, e->offset_in_page, in edac_ue_error()
879 e->grain, in edac_ue_error()
880 *e->other_detail ? " - " : "", in edac_ue_error()
881 e->other_detail); in edac_ue_error()
884 edac_inc_ue_error(e); in edac_ue_error()
888 e->msg, in edac_ue_error()
889 *e->msg ? " " : "", in edac_ue_error()
890 e->label, e->location, e->page_frame_number, e->offset_in_page, in edac_ue_error()
891 e->grain, in edac_ue_error()
892 *e->other_detail ? " - " : "", in edac_ue_error()
893 e->other_detail); in edac_ue_error()
897 static void edac_inc_csrow(struct edac_raw_error_desc *e, int row, int chan) in edac_inc_csrow() argument
899 struct mem_ctl_info *mci = error_desc_to_mci(e); in edac_inc_csrow()
900 enum hw_event_mc_err_type type = e->type; in edac_inc_csrow()
901 u16 count = e->error_count; in edac_inc_csrow()
917 void edac_raw_mc_handle_error(struct edac_raw_error_desc *e) in edac_raw_mc_handle_error() argument
919 struct mem_ctl_info *mci = error_desc_to_mci(e); in edac_raw_mc_handle_error()
923 if (WARN_ON_ONCE(!e->grain)) in edac_raw_mc_handle_error()
924 e->grain = 1; in edac_raw_mc_handle_error()
926 grain_bits = fls_long(e->grain - 1); in edac_raw_mc_handle_error()
930 trace_mc_event(e->type, e->msg, e->label, e->error_count, in edac_raw_mc_handle_error()
931 mci->mc_idx, e->top_layer, e->mid_layer, in edac_raw_mc_handle_error()
932 e->low_layer, in edac_raw_mc_handle_error()
933 (e->page_frame_number << PAGE_SHIFT) | e->offset_in_page, in edac_raw_mc_handle_error()
934 grain_bits, e->syndrome, e->other_detail); in edac_raw_mc_handle_error()
936 if (e->type == HW_EVENT_ERR_CORRECTED) in edac_raw_mc_handle_error()
937 edac_ce_error(e); in edac_raw_mc_handle_error()
939 edac_ue_error(e); in edac_raw_mc_handle_error()
960 struct edac_raw_error_desc *e = &mci->error_desc; in edac_mc_handle_error() local
967 memset(e, 0, sizeof (*e)); in edac_mc_handle_error()
968 e->error_count = error_count; in edac_mc_handle_error()
969 e->type = type; in edac_mc_handle_error()
970 e->top_layer = top_layer; in edac_mc_handle_error()
971 e->mid_layer = mid_layer; in edac_mc_handle_error()
972 e->low_layer = low_layer; in edac_mc_handle_error()
973 e->page_frame_number = page_frame_number; in edac_mc_handle_error()
974 e->offset_in_page = offset_in_page; in edac_mc_handle_error()
975 e->syndrome = syndrome; in edac_mc_handle_error()
977 e->msg = msg ?: ""; in edac_mc_handle_error()
978 e->other_detail = other_detail ?: ""; in edac_mc_handle_error()
1015 p = e->label; in edac_mc_handle_error()
1017 end = p + sizeof(e->label); in edac_mc_handle_error()
1029 if (dimm->grain > e->grain) in edac_mc_handle_error()
1030 e->grain = dimm->grain; in edac_mc_handle_error()
1043 p = e->label; in edac_mc_handle_error()
1069 strscpy(e->label, "any memory", sizeof(e->label)); in edac_mc_handle_error()
1070 else if (!*e->label) in edac_mc_handle_error()
1071 strscpy(e->label, "unknown memory", sizeof(e->label)); in edac_mc_handle_error()
1073 edac_inc_csrow(e, row, chan); in edac_mc_handle_error()
1076 p = e->location; in edac_mc_handle_error()
1077 end = p + sizeof(e->location); in edac_mc_handle_error()
1089 edac_raw_mc_handle_error(e); in edac_mc_handle_error()