Messages in this thread Patch in this message | | | From | Borislav Petkov <> | Subject | [PATCH 1/4] EDAC, MCE: Add F12h DC MCE decoder | Date | Wed, 13 Oct 2010 11:31:37 +0200 |
| |
From: Borislav Petkov <borislav.petkov@amd.com>
F12h DC MCE signatures are a subset of F10h's so reuse them.
Signed-off-by: Borislav Petkov <borislav.petkov@amd.com> --- drivers/edac/mce_amd.c | 24 +++++++++++++++++------- 1 files changed, 17 insertions(+), 7 deletions(-)
diff --git a/drivers/edac/mce_amd.c b/drivers/edac/mce_amd.c index 9fa61ee..1f895df 100644 --- a/drivers/edac/mce_amd.c +++ b/drivers/edac/mce_amd.c @@ -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; @@ -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)) { @@ -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; -- 1.7.3.1.50.g1e633
| |