aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/edac/e7xxx_edac.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/edac/e7xxx_edac.c')
-rw-r--r--drivers/edac/e7xxx_edac.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/edac/e7xxx_edac.c b/drivers/edac/e7xxx_edac.c
index 5ed97f6eb346..709aca216639 100644
--- a/drivers/edac/e7xxx_edac.c
+++ b/drivers/edac/e7xxx_edac.c
@@ -349,7 +349,7 @@ static void e7xxx_init_csrows(struct mem_ctl_info *mci, struct pci_dev *pdev,
349 unsigned long last_cumul_size; 349 unsigned long last_cumul_size;
350 int index, j; 350 int index, j;
351 u8 value; 351 u8 value;
352 u32 dra, cumul_size; 352 u32 dra, cumul_size, nr_pages;
353 int drc_chan, drc_drbg, drc_ddim, mem_dev; 353 int drc_chan, drc_drbg, drc_ddim, mem_dev;
354 struct csrow_info *csrow; 354 struct csrow_info *csrow;
355 struct dimm_info *dimm; 355 struct dimm_info *dimm;
@@ -380,12 +380,13 @@ static void e7xxx_init_csrows(struct mem_ctl_info *mci, struct pci_dev *pdev,
380 380
381 csrow->first_page = last_cumul_size; 381 csrow->first_page = last_cumul_size;
382 csrow->last_page = cumul_size - 1; 382 csrow->last_page = cumul_size - 1;
383 csrow->nr_pages = cumul_size - last_cumul_size; 383 nr_pages = cumul_size - last_cumul_size;
384 last_cumul_size = cumul_size; 384 last_cumul_size = cumul_size;
385 385
386 for (j = 0; j < drc_chan + 1; j++) { 386 for (j = 0; j < drc_chan + 1; j++) {
387 dimm = csrow->channels[j].dimm; 387 dimm = csrow->channels[j].dimm;
388 388
389 dimm->nr_pages = nr_pages / (drc_chan + 1);
389 dimm->grain = 1 << 12; /* 4KiB - resolution of CELOG */ 390 dimm->grain = 1 << 12; /* 4KiB - resolution of CELOG */
390 dimm->mtype = MEM_RDDR; /* only one type supported */ 391 dimm->mtype = MEM_RDDR; /* only one type supported */
391 dimm->dtype = mem_dev ? DEV_X4 : DEV_X8; 392 dimm->dtype = mem_dev ? DEV_X4 : DEV_X8;