diff options
Diffstat (limited to 'drivers/edac')
-rw-r--r-- | drivers/edac/amd64_edac.c | 36 |
1 files changed, 7 insertions, 29 deletions
diff --git a/drivers/edac/amd64_edac.c b/drivers/edac/amd64_edac.c index 5af87d44c80c..75842f08db83 100644 --- a/drivers/edac/amd64_edac.c +++ b/drivers/edac/amd64_edac.c | |||
@@ -2209,28 +2209,6 @@ static int amd64_get_error_info(struct mem_ctl_info *mci, | |||
2209 | return 1; | 2209 | return 1; |
2210 | } | 2210 | } |
2211 | 2211 | ||
2212 | static inline void amd64_decode_gart_tlb_error(struct mem_ctl_info *mci, | ||
2213 | struct err_regs *info) | ||
2214 | { | ||
2215 | u32 ec = ERROR_CODE(info->nbsl); | ||
2216 | |||
2217 | amd64_mc_printk(mci, KERN_ERR, | ||
2218 | "GART TLB event: transaction type(%s), " | ||
2219 | "cache level(%s)\n", TT_MSG(ec), LL_MSG(ec)); | ||
2220 | } | ||
2221 | |||
2222 | static inline void amd64_decode_mem_cache_error(struct mem_ctl_info *mci, | ||
2223 | struct err_regs *info) | ||
2224 | { | ||
2225 | u32 ec = ERROR_CODE(info->nbsl); | ||
2226 | |||
2227 | amd64_mc_printk(mci, KERN_ERR, | ||
2228 | "cache hierarchy error: memory transaction type(%s), " | ||
2229 | "transaction type(%s), cache level(%s)\n", | ||
2230 | RRRR_MSG(ec), TT_MSG(ec), LL_MSG(ec)); | ||
2231 | } | ||
2232 | |||
2233 | |||
2234 | /* | 2212 | /* |
2235 | * Handle any Correctable Errors (CEs) that have occurred. Check for valid ERROR | 2213 | * Handle any Correctable Errors (CEs) that have occurred. Check for valid ERROR |
2236 | * ADDRESS and process. | 2214 | * ADDRESS and process. |
@@ -2411,19 +2389,19 @@ void amd64_decode_nb_mce(struct mem_ctl_info *mci, struct err_regs *regs, | |||
2411 | if (!report_gart_errors) | 2389 | if (!report_gart_errors) |
2412 | return; | 2390 | return; |
2413 | 2391 | ||
2414 | pr_emerg("GART TLB error\n"); | 2392 | pr_emerg(" GART TLB error, Transaction: %s, Cache Level %s\n", |
2415 | amd64_decode_gart_tlb_error(mci, regs); | 2393 | TT_MSG(ec), LL_MSG(ec)); |
2416 | } else if (MEM_ERROR(ec)) { | 2394 | } else if (MEM_ERROR(ec)) { |
2417 | pr_emerg("Memory/Cache error\n"); | 2395 | pr_emerg(" Memory/Cache error, Transaction: %s, Type: %s," |
2418 | amd64_decode_mem_cache_error(mci, regs); | 2396 | " Cache Level: %s", |
2397 | RRRR_MSG(ec), TT_MSG(ec), LL_MSG(ec)); | ||
2419 | } else if (BUS_ERROR(ec)) { | 2398 | } else if (BUS_ERROR(ec)) { |
2420 | pr_emerg("Bus (Link/DRAM) error\n"); | 2399 | pr_emerg(" Bus (Link/DRAM) error\n"); |
2421 | amd64_decode_bus_error(mci, regs); | 2400 | amd64_decode_bus_error(mci, regs); |
2422 | } else { | 2401 | } else { |
2423 | /* shouldn't reach here! */ | 2402 | /* shouldn't reach here! */ |
2424 | amd64_mc_printk(mci, KERN_WARNING, | 2403 | amd64_mc_printk(mci, KERN_WARNING, |
2425 | "%s(): unknown MCE error 0x%x\n", __func__, | 2404 | "%s(): unknown MCE error 0x%x\n", __func__, ec); |
2426 | ec); | ||
2427 | } | 2405 | } |
2428 | 2406 | ||
2429 | pr_emerg("%s.\n", EXT_ERR_MSG(xec)); | 2407 | pr_emerg("%s.\n", EXT_ERR_MSG(xec)); |