diff options
author | Borislav Petkov <borislav.petkov@amd.com> | 2010-05-15 07:51:57 -0400 |
---|---|---|
committer | Borislav Petkov <borislav.petkov@amd.com> | 2010-08-03 10:14:03 -0400 |
commit | f4347553b30ec66530bfe63c84530afea3803396 (patch) | |
tree | 420649ea83f870ba097d8066ef18fd0259e79e33 /drivers/edac/edac_mce_amd.c | |
parent | 98a5ae2d99b78d29d2d31283cd8b481a44f41fd3 (diff) |
amd64_edac: Remove polling mechanism
Switch to reusing the mcheck core's machine check polling mechanism
instead of duplicating functionality by using the EDAC polling routine.
Correct formatting while at it.
Signed-off-by: Borislav Petkov <borislav.petkov@amd.com>
Acked-by: Doug Thompson <dougthompson@xmission.com>
Diffstat (limited to 'drivers/edac/edac_mce_amd.c')
-rw-r--r-- | drivers/edac/edac_mce_amd.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/drivers/edac/edac_mce_amd.c b/drivers/edac/edac_mce_amd.c index 97e64bcdbc06..bae9351e9473 100644 --- a/drivers/edac/edac_mce_amd.c +++ b/drivers/edac/edac_mce_amd.c | |||
@@ -133,7 +133,7 @@ static void amd_decode_dc_mce(u64 mc0_status) | |||
133 | u32 ec = mc0_status & 0xffff; | 133 | u32 ec = mc0_status & 0xffff; |
134 | u32 xec = (mc0_status >> 16) & 0xf; | 134 | u32 xec = (mc0_status >> 16) & 0xf; |
135 | 135 | ||
136 | pr_emerg(" Data Cache Error"); | 136 | pr_emerg("Data Cache Error"); |
137 | 137 | ||
138 | if (xec == 1 && TLB_ERROR(ec)) | 138 | if (xec == 1 && TLB_ERROR(ec)) |
139 | pr_cont(": %s TLB multimatch.\n", LL_MSG(ec)); | 139 | pr_cont(": %s TLB multimatch.\n", LL_MSG(ec)); |
@@ -176,7 +176,7 @@ static void amd_decode_ic_mce(u64 mc1_status) | |||
176 | u32 ec = mc1_status & 0xffff; | 176 | u32 ec = mc1_status & 0xffff; |
177 | u32 xec = (mc1_status >> 16) & 0xf; | 177 | u32 xec = (mc1_status >> 16) & 0xf; |
178 | 178 | ||
179 | pr_emerg(" Instruction Cache Error"); | 179 | pr_emerg("Instruction Cache Error"); |
180 | 180 | ||
181 | if (xec == 1 && TLB_ERROR(ec)) | 181 | if (xec == 1 && TLB_ERROR(ec)) |
182 | pr_cont(": %s TLB multimatch.\n", LL_MSG(ec)); | 182 | pr_cont(": %s TLB multimatch.\n", LL_MSG(ec)); |
@@ -233,7 +233,7 @@ static void amd_decode_bu_mce(u64 mc2_status) | |||
233 | u32 ec = mc2_status & 0xffff; | 233 | u32 ec = mc2_status & 0xffff; |
234 | u32 xec = (mc2_status >> 16) & 0xf; | 234 | u32 xec = (mc2_status >> 16) & 0xf; |
235 | 235 | ||
236 | pr_emerg(" Bus Unit Error"); | 236 | pr_emerg("Bus Unit Error"); |
237 | 237 | ||
238 | if (xec == 0x1) | 238 | if (xec == 0x1) |
239 | pr_cont(" in the write data buffers.\n"); | 239 | pr_cont(" in the write data buffers.\n"); |
@@ -275,7 +275,7 @@ static void amd_decode_ls_mce(u64 mc3_status) | |||
275 | u32 ec = mc3_status & 0xffff; | 275 | u32 ec = mc3_status & 0xffff; |
276 | u32 xec = (mc3_status >> 16) & 0xf; | 276 | u32 xec = (mc3_status >> 16) & 0xf; |
277 | 277 | ||
278 | pr_emerg(" Load Store Error"); | 278 | pr_emerg("Load Store Error"); |
279 | 279 | ||
280 | if (xec == 0x0) { | 280 | if (xec == 0x0) { |
281 | u8 rrrr = (ec >> 4) & 0xf; | 281 | u8 rrrr = (ec >> 4) & 0xf; |
@@ -304,7 +304,7 @@ void amd_decode_nb_mce(int node_id, struct err_regs *regs, int handle_errors) | |||
304 | if (TLB_ERROR(ec) && !report_gart_errors) | 304 | if (TLB_ERROR(ec) && !report_gart_errors) |
305 | return; | 305 | return; |
306 | 306 | ||
307 | pr_emerg(" Northbridge Error, node %d", node_id); | 307 | pr_emerg("Northbridge Error, node %d", node_id); |
308 | 308 | ||
309 | /* | 309 | /* |
310 | * F10h, revD can disable ErrCpu[3:0] so check that first and also the | 310 | * F10h, revD can disable ErrCpu[3:0] so check that first and also the |
@@ -342,13 +342,13 @@ static void amd_decode_fr_mce(u64 mc5_status) | |||
342 | static inline void amd_decode_err_code(unsigned int ec) | 342 | static inline void amd_decode_err_code(unsigned int ec) |
343 | { | 343 | { |
344 | if (TLB_ERROR(ec)) { | 344 | if (TLB_ERROR(ec)) { |
345 | pr_emerg(" Transaction: %s, Cache Level %s\n", | 345 | pr_emerg("Transaction: %s, Cache Level %s\n", |
346 | TT_MSG(ec), LL_MSG(ec)); | 346 | TT_MSG(ec), LL_MSG(ec)); |
347 | } else if (MEM_ERROR(ec)) { | 347 | } else if (MEM_ERROR(ec)) { |
348 | pr_emerg(" Transaction: %s, Type: %s, Cache Level: %s", | 348 | pr_emerg("Transaction: %s, Type: %s, Cache Level: %s", |
349 | RRRR_MSG(ec), TT_MSG(ec), LL_MSG(ec)); | 349 | RRRR_MSG(ec), TT_MSG(ec), LL_MSG(ec)); |
350 | } else if (BUS_ERROR(ec)) { | 350 | } else if (BUS_ERROR(ec)) { |
351 | pr_emerg(" Transaction type: %s(%s), %s, Cache Level: %s, " | 351 | pr_emerg("Transaction type: %s(%s), %s, Cache Level: %s, " |
352 | "Participating Processor: %s\n", | 352 | "Participating Processor: %s\n", |
353 | RRRR_MSG(ec), II_MSG(ec), TO_MSG(ec), LL_MSG(ec), | 353 | RRRR_MSG(ec), II_MSG(ec), TO_MSG(ec), LL_MSG(ec), |
354 | PP_MSG(ec)); | 354 | PP_MSG(ec)); |