Loading drivers/edac/mce_amd.c +17 −7 Original line number Diff line number Diff line Loading @@ -74,16 +74,10 @@ static const char *f10h_nb_mce_desc[] = { "ECC Error in the Probe Filter directory" }; static bool f10h_dc_mce(u16 ec) static bool f12h_dc_mce(u16 ec) { u8 r4 = (ec >> 4) & 0xf; bool ret = false; if (r4 == R4_GEN) { pr_cont("during data scrub.\n"); return true; } if (MEM_ERROR(ec)) { u8 ll = ec & 0x3; ret = true; Loading @@ -98,6 +92,18 @@ static bool f10h_dc_mce(u16 ec) return ret; } static bool f10h_dc_mce(u16 ec) { u8 r4 = (ec >> 4) & 0xf; u8 ll = ec & 0x3; if (r4 == R4_GEN && ll == LL_L1) { pr_cont("during data scrub.\n"); return true; } return f12h_dc_mce(ec); } static bool k8_dc_mce(u16 ec) { if (BUS_ERROR(ec)) { Loading Loading @@ -632,6 +638,10 @@ static int __init mce_amd_init(void) fam_ops->nb_mce = f10h_nb_mce; break; case 0x12: fam_ops->dc_mce = f12h_dc_mce; break; case 0x14: nb_err_cpumask = 0x3; fam_ops->dc_mce = f14h_dc_mce; Loading Loading
drivers/edac/mce_amd.c +17 −7 Original line number Diff line number Diff line Loading @@ -74,16 +74,10 @@ static const char *f10h_nb_mce_desc[] = { "ECC Error in the Probe Filter directory" }; static bool f10h_dc_mce(u16 ec) static bool f12h_dc_mce(u16 ec) { u8 r4 = (ec >> 4) & 0xf; bool ret = false; if (r4 == R4_GEN) { pr_cont("during data scrub.\n"); return true; } if (MEM_ERROR(ec)) { u8 ll = ec & 0x3; ret = true; Loading @@ -98,6 +92,18 @@ static bool f10h_dc_mce(u16 ec) return ret; } static bool f10h_dc_mce(u16 ec) { u8 r4 = (ec >> 4) & 0xf; u8 ll = ec & 0x3; if (r4 == R4_GEN && ll == LL_L1) { pr_cont("during data scrub.\n"); return true; } return f12h_dc_mce(ec); } static bool k8_dc_mce(u16 ec) { if (BUS_ERROR(ec)) { Loading Loading @@ -632,6 +638,10 @@ static int __init mce_amd_init(void) fam_ops->nb_mce = f10h_nb_mce; break; case 0x12: fam_ops->dc_mce = f12h_dc_mce; break; case 0x14: nb_err_cpumask = 0x3; fam_ops->dc_mce = f14h_dc_mce; Loading