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()
799 static void edac_inc_ce_error(struct edac_raw_error_desc *e) in edac_inc_ce_error() argument
801 int pos[EDAC_MAX_LAYERS] = { e->top_layer, e->mid_layer, e->low_layer }; in edac_inc_ce_error()
802 struct mem_ctl_info *mci = error_desc_to_mci(e); in edac_inc_ce_error()
805 mci->ce_mc += e->error_count; in edac_inc_ce_error()
808 dimm->ce_count += e->error_count; in edac_inc_ce_error()
810 mci->ce_noinfo_count += e->error_count; in edac_inc_ce_error()
813 static void edac_inc_ue_error(struct edac_raw_error_desc *e) in edac_inc_ue_error() argument
815 int pos[EDAC_MAX_LAYERS] = { e->top_layer, e->mid_layer, e->low_layer }; in edac_inc_ue_error()
816 struct mem_ctl_info *mci = error_desc_to_mci(e); in edac_inc_ue_error()
819 mci->ue_mc += e->error_count; in edac_inc_ue_error()
822 dimm->ue_count += e->error_count; in edac_inc_ue_error()
824 mci->ue_noinfo_count += e->error_count; in edac_inc_ue_error()
827 static void edac_ce_error(struct edac_raw_error_desc *e) in edac_ce_error() argument
829 struct mem_ctl_info *mci = error_desc_to_mci(e); in edac_ce_error()
835 e->error_count, e->msg, in edac_ce_error()
836 *e->msg ? " " : "", in edac_ce_error()
837 e->label, e->location, e->page_frame_number, e->offset_in_page, in edac_ce_error()
838 e->grain, e->syndrome, in edac_ce_error()
839 *e->other_detail ? " - " : "", in edac_ce_error()
840 e->other_detail); in edac_ce_error()
843 edac_inc_ce_error(e); in edac_ce_error()
858 mci->ctl_page_to_phys(mci, e->page_frame_number) : in edac_ce_error()
859 e->page_frame_number; in edac_ce_error()
861 edac_mc_scrub_block(remapped_page, e->offset_in_page, e->grain); in edac_ce_error()
865 static void edac_ue_error(struct edac_raw_error_desc *e) in edac_ue_error() argument
867 struct mem_ctl_info *mci = error_desc_to_mci(e); in edac_ue_error()
872 e->error_count, e->msg, in edac_ue_error()
873 *e->msg ? " " : "", in edac_ue_error()
874 e->label, e->location, e->page_frame_number, e->offset_in_page, in edac_ue_error()
875 e->grain, in edac_ue_error()
876 *e->other_detail ? " - " : "", in edac_ue_error()
877 e->other_detail); in edac_ue_error()
880 edac_inc_ue_error(e); in edac_ue_error()
884 e->msg, in edac_ue_error()
885 *e->msg ? " " : "", in edac_ue_error()
886 e->label, e->location, e->page_frame_number, e->offset_in_page, in edac_ue_error()
887 e->grain, in edac_ue_error()
888 *e->other_detail ? " - " : "", in edac_ue_error()
889 e->other_detail); in edac_ue_error()
893 static void edac_inc_csrow(struct edac_raw_error_desc *e, int row, int chan) in edac_inc_csrow() argument
895 struct mem_ctl_info *mci = error_desc_to_mci(e); in edac_inc_csrow()
896 enum hw_event_mc_err_type type = e->type; in edac_inc_csrow()
897 u16 count = e->error_count; in edac_inc_csrow()
913 void edac_raw_mc_handle_error(struct edac_raw_error_desc *e) in edac_raw_mc_handle_error() argument
915 struct mem_ctl_info *mci = error_desc_to_mci(e); in edac_raw_mc_handle_error()
919 if (WARN_ON_ONCE(!e->grain)) in edac_raw_mc_handle_error()
920 e->grain = 1; in edac_raw_mc_handle_error()
922 grain_bits = fls_long(e->grain - 1); in edac_raw_mc_handle_error()
926 trace_mc_event(e->type, e->msg, e->label, e->error_count, in edac_raw_mc_handle_error()
927 mci->mc_idx, e->top_layer, e->mid_layer, in edac_raw_mc_handle_error()
928 e->low_layer, in edac_raw_mc_handle_error()
929 (e->page_frame_number << PAGE_SHIFT) | e->offset_in_page, in edac_raw_mc_handle_error()
930 grain_bits, e->syndrome, e->other_detail); in edac_raw_mc_handle_error()
932 if (e->type == HW_EVENT_ERR_CORRECTED) in edac_raw_mc_handle_error()
933 edac_ce_error(e); in edac_raw_mc_handle_error()
935 edac_ue_error(e); in edac_raw_mc_handle_error()
956 struct edac_raw_error_desc *e = &mci->error_desc; in edac_mc_handle_error() local
963 memset(e, 0, sizeof (*e)); in edac_mc_handle_error()
964 e->error_count = error_count; in edac_mc_handle_error()
965 e->type = type; in edac_mc_handle_error()
966 e->top_layer = top_layer; in edac_mc_handle_error()
967 e->mid_layer = mid_layer; in edac_mc_handle_error()
968 e->low_layer = low_layer; in edac_mc_handle_error()
969 e->page_frame_number = page_frame_number; in edac_mc_handle_error()
970 e->offset_in_page = offset_in_page; in edac_mc_handle_error()
971 e->syndrome = syndrome; in edac_mc_handle_error()
973 e->msg = msg ?: ""; in edac_mc_handle_error()
974 e->other_detail = other_detail ?: ""; in edac_mc_handle_error()
1011 p = e->label; in edac_mc_handle_error()
1013 end = p + sizeof(e->label); in edac_mc_handle_error()
1025 if (dimm->grain > e->grain) in edac_mc_handle_error()
1026 e->grain = dimm->grain; in edac_mc_handle_error()
1039 p = e->label; in edac_mc_handle_error()
1065 strscpy(e->label, "any memory", sizeof(e->label)); in edac_mc_handle_error()
1066 else if (!*e->label) in edac_mc_handle_error()
1067 strscpy(e->label, "unknown memory", sizeof(e->label)); in edac_mc_handle_error()
1069 edac_inc_csrow(e, row, chan); in edac_mc_handle_error()
1072 p = e->location; in edac_mc_handle_error()
1073 end = p + sizeof(e->location); in edac_mc_handle_error()
1085 edac_raw_mc_handle_error(e); in edac_mc_handle_error()