mirror of https://gitee.com/openkylin/linux.git
EDAC, MCE: Add F12h DC MCE decoder
F12h DC MCE signatures are a subset of F10h's so reuse them. Signed-off-by: Borislav Petkov <borislav.petkov@amd.com>
This commit is contained in:
parent
f0157b3afd
commit
9be0bb1072
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue