diff options
Diffstat (limited to 'drivers/edac/i5400_edac.c')
-rw-r--r-- | drivers/edac/i5400_edac.c | 24 |
1 files changed, 9 insertions, 15 deletions
diff --git a/drivers/edac/i5400_edac.c b/drivers/edac/i5400_edac.c index 1869a1018fb5..c2379ba95c5a 100644 --- a/drivers/edac/i5400_edac.c +++ b/drivers/edac/i5400_edac.c | |||
@@ -1159,6 +1159,7 @@ static int i5400_init_csrows(struct mem_ctl_info *mci) | |||
1159 | int csrow_megs; | 1159 | int csrow_megs; |
1160 | int channel; | 1160 | int channel; |
1161 | int csrow; | 1161 | int csrow; |
1162 | struct dimm_info *dimm; | ||
1162 | 1163 | ||
1163 | pvt = mci->pvt_info; | 1164 | pvt = mci->pvt_info; |
1164 | 1165 | ||
@@ -1184,24 +1185,17 @@ static int i5400_init_csrows(struct mem_ctl_info *mci) | |||
1184 | p_csrow->last_page = 9 + csrow * 20; | 1185 | p_csrow->last_page = 9 + csrow * 20; |
1185 | p_csrow->page_mask = 0xFFF; | 1186 | p_csrow->page_mask = 0xFFF; |
1186 | 1187 | ||
1187 | p_csrow->grain = 8; | ||
1188 | |||
1189 | csrow_megs = 0; | 1188 | csrow_megs = 0; |
1190 | for (channel = 0; channel < pvt->maxch; channel++) | 1189 | for (channel = 0; channel < pvt->maxch; channel++) { |
1191 | csrow_megs += pvt->dimm_info[csrow][channel].megabytes; | 1190 | csrow_megs += pvt->dimm_info[csrow][channel].megabytes; |
1192 | 1191 | ||
1193 | p_csrow->nr_pages = csrow_megs << 8; | 1192 | p_csrow->nr_pages = csrow_megs << 8; |
1194 | 1193 | dimm = p_csrow->channels[channel].dimm; | |
1195 | /* Assume DDR2 for now */ | 1194 | dimm->grain = 8; |
1196 | p_csrow->mtype = MEM_FB_DDR2; | 1195 | dimm->dtype = MTR_DRAM_WIDTH(mtr) ? DEV_X8 : DEV_X4; |
1197 | 1196 | dimm->mtype = MEM_RDDR2; | |
1198 | /* ask what device type on this row */ | 1197 | dimm->edac_mode = EDAC_SECDED; |
1199 | if (MTR_DRAM_WIDTH(mtr)) | 1198 | } |
1200 | p_csrow->dtype = DEV_X8; | ||
1201 | else | ||
1202 | p_csrow->dtype = DEV_X4; | ||
1203 | |||
1204 | p_csrow->edac_mode = EDAC_S8ECD8ED; | ||
1205 | 1199 | ||
1206 | empty = 0; | 1200 | empty = 0; |
1207 | } | 1201 | } |