diff options
Diffstat (limited to 'drivers/edac/i5000_edac.c')
-rw-r--r-- | drivers/edac/i5000_edac.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/drivers/edac/i5000_edac.c b/drivers/edac/i5000_edac.c index 26b40556958e..f3a1a3e1e4e1 100644 --- a/drivers/edac/i5000_edac.c +++ b/drivers/edac/i5000_edac.c | |||
@@ -1236,6 +1236,7 @@ static int i5000_init_csrows(struct mem_ctl_info *mci) | |||
1236 | { | 1236 | { |
1237 | struct i5000_pvt *pvt; | 1237 | struct i5000_pvt *pvt; |
1238 | struct csrow_info *p_csrow; | 1238 | struct csrow_info *p_csrow; |
1239 | struct dimm_info *dimm; | ||
1239 | int empty, channel_count; | 1240 | int empty, channel_count; |
1240 | int max_csrows; | 1241 | int max_csrows; |
1241 | int mtr, mtr1; | 1242 | int mtr, mtr1; |
@@ -1265,21 +1266,22 @@ static int i5000_init_csrows(struct mem_ctl_info *mci) | |||
1265 | 1266 | ||
1266 | csrow_megs = 0; | 1267 | csrow_megs = 0; |
1267 | for (channel = 0; channel < pvt->maxch; channel++) { | 1268 | for (channel = 0; channel < pvt->maxch; channel++) { |
1269 | dimm = p_csrow->channels[channel].dimm; | ||
1268 | csrow_megs += pvt->dimm_info[csrow][channel].megabytes; | 1270 | csrow_megs += pvt->dimm_info[csrow][channel].megabytes; |
1269 | p_csrow->channels[channel].dimm->grain = 8; | 1271 | dimm->grain = 8; |
1270 | 1272 | ||
1271 | /* Assume DDR2 for now */ | 1273 | /* Assume DDR2 for now */ |
1272 | p_csrow->channels[channel].dimm->mtype = MEM_FB_DDR2; | 1274 | dimm->mtype = MEM_FB_DDR2; |
1273 | 1275 | ||
1274 | /* ask what device type on this row */ | 1276 | /* ask what device type on this row */ |
1275 | if (MTR_DRAM_WIDTH(mtr)) | 1277 | if (MTR_DRAM_WIDTH(mtr)) |
1276 | p_csrow->channels[channel].dimm->dtype = DEV_X8; | 1278 | dimm->dtype = DEV_X8; |
1277 | else | 1279 | else |
1278 | p_csrow->channels[channel].dimm->dtype = DEV_X4; | 1280 | dimm->dtype = DEV_X4; |
1279 | 1281 | ||
1280 | p_csrow->channels[channel].dimm->edac_mode = EDAC_S8ECD8ED; | 1282 | dimm->edac_mode = EDAC_S8ECD8ED; |
1283 | dimm->nr_pages = (csrow_megs << 8) / pvt->maxch; | ||
1281 | } | 1284 | } |
1282 | p_csrow->nr_pages = csrow_megs << 8; | ||
1283 | 1285 | ||
1284 | empty = 0; | 1286 | empty = 0; |
1285 | } | 1287 | } |