summaryrefslogtreecommitdiff
path: root/src/northbridge/amd/amdmct
diff options
context:
space:
mode:
Diffstat (limited to 'src/northbridge/amd/amdmct')
-rw-r--r--src/northbridge/amd/amdmct/mct_ddr3/mctecc_d.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/northbridge/amd/amdmct/mct_ddr3/mctecc_d.c b/src/northbridge/amd/amdmct/mct_ddr3/mctecc_d.c
index 65de0f8c6a..203d11273d 100644
--- a/src/northbridge/amd/amdmct/mct_ddr3/mctecc_d.c
+++ b/src/northbridge/amd/amdmct/mct_ddr3/mctecc_d.c
@@ -264,6 +264,15 @@ u8 ECCInit_D(struct MCTStatStruc *pMCTstat, struct DCTStatStruc *pDCTstatA)
/* Clear MC4 error status */
pci_write_config32(pDCTstat->dev_nbmisc, 0x48, 0x0);
pci_write_config32(pDCTstat->dev_nbmisc, 0x4c, 0x0);
+
+ /* Restore MCA settings */
+ if (pDCTstat->mca_config_backed_up) {
+ val = pci_read_config32(pDCTstat->dev_nbmisc, 0x44);
+ val |= (pDCTstat->sync_flood_on_dram_err & 0x1) << 30;
+ val |= (pDCTstat->sync_flood_on_any_uc_err & 0x1) << 21;
+ val |= (pDCTstat->sync_flood_on_uc_dram_ecc_err & 0x1) << 2;
+ pci_write_config32(pDCTstat->dev_nbmisc, 0x44, val);
+ }
}
}
}