diff options
Diffstat (limited to 'drivers/edac/sb_edac.c')
-rw-r--r-- | drivers/edac/sb_edac.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/edac/sb_edac.c b/drivers/edac/sb_edac.c index f3b1f9fafa4b..5715b7c2c517 100644 --- a/drivers/edac/sb_edac.c +++ b/drivers/edac/sb_edac.c | |||
@@ -513,7 +513,8 @@ static int get_dimm_config(struct mem_ctl_info *mci) | |||
513 | { | 513 | { |
514 | struct sbridge_pvt *pvt = mci->pvt_info; | 514 | struct sbridge_pvt *pvt = mci->pvt_info; |
515 | struct dimm_info *dimm; | 515 | struct dimm_info *dimm; |
516 | int i, j, banks, ranks, rows, cols, size, npages; | 516 | unsigned i, j, banks, ranks, rows, cols, npages; |
517 | u64 size; | ||
517 | u32 reg; | 518 | u32 reg; |
518 | enum edac_type mode; | 519 | enum edac_type mode; |
519 | enum mem_type mtype; | 520 | enum mem_type mtype; |
@@ -585,10 +586,10 @@ static int get_dimm_config(struct mem_ctl_info *mci) | |||
585 | cols = numcol(mtr); | 586 | cols = numcol(mtr); |
586 | 587 | ||
587 | /* DDR3 has 8 I/O banks */ | 588 | /* DDR3 has 8 I/O banks */ |
588 | size = (rows * cols * banks * ranks) >> (20 - 3); | 589 | size = ((u64)rows * cols * banks * ranks) >> (20 - 3); |
589 | npages = MiB_TO_PAGES(size); | 590 | npages = MiB_TO_PAGES(size); |
590 | 591 | ||
591 | edac_dbg(0, "mc#%d: channel %d, dimm %d, %d Mb (%d pages) bank: %d, rank: %d, row: %#x, col: %#x\n", | 592 | edac_dbg(0, "mc#%d: channel %d, dimm %d, %Ld Mb (%d pages) bank: %d, rank: %d, row: %#x, col: %#x\n", |
592 | pvt->sbridge_dev->mc, i, j, | 593 | pvt->sbridge_dev->mc, i, j, |
593 | size, npages, | 594 | size, npages, |
594 | banks, ranks, rows, cols); | 595 | banks, ranks, rows, cols); |