diff options
Diffstat (limited to 'drivers/edac/i82875p_edac.c')
-rw-r--r-- | drivers/edac/i82875p_edac.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/edac/i82875p_edac.c b/drivers/edac/i82875p_edac.c index eac574285da8..e16281b41f3b 100644 --- a/drivers/edac/i82875p_edac.c +++ b/drivers/edac/i82875p_edac.c | |||
@@ -347,7 +347,7 @@ static void i82875p_init_csrows(struct mem_ctl_info *mci, | |||
347 | unsigned long last_cumul_size; | 347 | unsigned long last_cumul_size; |
348 | u8 value; | 348 | u8 value; |
349 | u32 drc_ddim; /* DRAM Data Integrity Mode 0=none,2=edac */ | 349 | u32 drc_ddim; /* DRAM Data Integrity Mode 0=none,2=edac */ |
350 | u32 cumul_size; | 350 | u32 cumul_size, nr_pages; |
351 | int index, j; | 351 | int index, j; |
352 | 352 | ||
353 | drc_ddim = (drc >> 18) & 0x1; | 353 | drc_ddim = (drc >> 18) & 0x1; |
@@ -371,12 +371,13 @@ static void i82875p_init_csrows(struct mem_ctl_info *mci, | |||
371 | 371 | ||
372 | csrow->first_page = last_cumul_size; | 372 | csrow->first_page = last_cumul_size; |
373 | csrow->last_page = cumul_size - 1; | 373 | csrow->last_page = cumul_size - 1; |
374 | csrow->nr_pages = cumul_size - last_cumul_size; | 374 | nr_pages = cumul_size - last_cumul_size; |
375 | last_cumul_size = cumul_size; | 375 | last_cumul_size = cumul_size; |
376 | 376 | ||
377 | for (j = 0; j < nr_chans; j++) { | 377 | for (j = 0; j < nr_chans; j++) { |
378 | dimm = csrow->channels[j].dimm; | 378 | dimm = csrow->channels[j].dimm; |
379 | 379 | ||
380 | dimm->nr_pages = nr_pages / nr_chans; | ||
380 | dimm->grain = 1 << 12; /* I82875P_EAP has 4KiB reolution */ | 381 | dimm->grain = 1 << 12; /* I82875P_EAP has 4KiB reolution */ |
381 | dimm->mtype = MEM_DDR; | 382 | dimm->mtype = MEM_DDR; |
382 | dimm->dtype = DEV_UNKNOWN; | 383 | dimm->dtype = DEV_UNKNOWN; |