diff options
| -rw-r--r-- | drivers/edac/amd64_edac.c | 5 | ||||
| -rw-r--r-- | drivers/edac/edac_core.h | 1 | ||||
| -rw-r--r-- | drivers/edac/edac_mc.c | 24 |
3 files changed, 26 insertions, 4 deletions
diff --git a/drivers/edac/amd64_edac.c b/drivers/edac/amd64_edac.c index c403af2e0081..708d065efc95 100644 --- a/drivers/edac/amd64_edac.c +++ b/drivers/edac/amd64_edac.c | |||
| @@ -1024,10 +1024,7 @@ static enum mem_type amd64_determine_memory_type(struct amd64_pvt *pvt) | |||
| 1024 | type = (pvt->dclr0 & BIT(18)) ? MEM_DDR : MEM_RDDR; | 1024 | type = (pvt->dclr0 & BIT(18)) ? MEM_DDR : MEM_RDDR; |
| 1025 | } | 1025 | } |
| 1026 | 1026 | ||
| 1027 | debugf1(" Memory type is: %s\n", | 1027 | debugf1(" Memory type is: %s\n", edac_mem_types[type]); |
| 1028 | (type == MEM_DDR2) ? "MEM_DDR2" : | ||
| 1029 | (type == MEM_RDDR2) ? "MEM_RDDR2" : | ||
| 1030 | (type == MEM_DDR) ? "MEM_DDR" : "MEM_RDDR"); | ||
| 1031 | 1028 | ||
| 1032 | return type; | 1029 | return type; |
| 1033 | } | 1030 | } |
diff --git a/drivers/edac/edac_core.h b/drivers/edac/edac_core.h index 12f355cafdbe..001b2e797fb3 100644 --- a/drivers/edac/edac_core.h +++ b/drivers/edac/edac_core.h | |||
| @@ -74,6 +74,7 @@ | |||
| 74 | 74 | ||
| 75 | #ifdef CONFIG_EDAC_DEBUG | 75 | #ifdef CONFIG_EDAC_DEBUG |
| 76 | extern int edac_debug_level; | 76 | extern int edac_debug_level; |
| 77 | extern const char *edac_mem_types[]; | ||
| 77 | 78 | ||
| 78 | #ifndef CONFIG_EDAC_DEBUG_VERBOSE | 79 | #ifndef CONFIG_EDAC_DEBUG_VERBOSE |
| 79 | #define edac_debug_printk(level, fmt, arg...) \ | 80 | #define edac_debug_printk(level, fmt, arg...) \ |
diff --git a/drivers/edac/edac_mc.c b/drivers/edac/edac_mc.c index b629c41756f0..3630308e7b81 100644 --- a/drivers/edac/edac_mc.c +++ b/drivers/edac/edac_mc.c | |||
| @@ -76,6 +76,30 @@ static void edac_mc_dump_mci(struct mem_ctl_info *mci) | |||
| 76 | debugf3("\tpvt_info = %p\n\n", mci->pvt_info); | 76 | debugf3("\tpvt_info = %p\n\n", mci->pvt_info); |
| 77 | } | 77 | } |
| 78 | 78 | ||
| 79 | /* | ||
| 80 | * keep those in sync with the enum mem_type | ||
| 81 | */ | ||
| 82 | const char *edac_mem_types[] = { | ||
| 83 | "Empty csrow", | ||
| 84 | "Reserved csrow type", | ||
| 85 | "Unknown csrow type", | ||
| 86 | "Fast page mode RAM", | ||
| 87 | "Extended data out RAM", | ||
| 88 | "Burst Extended data out RAM", | ||
| 89 | "Single data rate SDRAM", | ||
| 90 | "Registered single data rate SDRAM", | ||
| 91 | "Double data rate SDRAM", | ||
| 92 | "Registered Double data rate SDRAM", | ||
| 93 | "Rambus DRAM", | ||
| 94 | "Unbuffered DDR2 RAM", | ||
| 95 | "Fully buffered DDR2", | ||
| 96 | "Registered DDR2 RAM", | ||
| 97 | "Rambus XDR", | ||
| 98 | "Unbuffered DDR3 RAM", | ||
| 99 | "Registered DDR3 RAM", | ||
| 100 | }; | ||
| 101 | EXPORT_SYMBOL_GPL(edac_mem_types); | ||
| 102 | |||
| 79 | #endif /* CONFIG_EDAC_DEBUG */ | 103 | #endif /* CONFIG_EDAC_DEBUG */ |
| 80 | 104 | ||
| 81 | /* 'ptr' points to a possibly unaligned item X such that sizeof(X) is 'size'. | 105 | /* 'ptr' points to a possibly unaligned item X such that sizeof(X) is 'size'. |
