|
@@ -513,7 +513,8 @@ static int get_dimm_config(struct mem_ctl_info *mci)
|
|
|
{
|
|
|
struct sbridge_pvt *pvt = mci->pvt_info;
|
|
|
struct dimm_info *dimm;
|
|
|
- int i, j, banks, ranks, rows, cols, size, npages;
|
|
|
+ unsigned i, j, banks, ranks, rows, cols, npages;
|
|
|
+ u64 size;
|
|
|
u32 reg;
|
|
|
enum edac_type mode;
|
|
|
enum mem_type mtype;
|
|
@@ -585,10 +586,10 @@ static int get_dimm_config(struct mem_ctl_info *mci)
|
|
|
cols = numcol(mtr);
|
|
|
|
|
|
/* DDR3 has 8 I/O banks */
|
|
|
- size = (rows * cols * banks * ranks) >> (20 - 3);
|
|
|
+ size = ((u64)rows * cols * banks * ranks) >> (20 - 3);
|
|
|
npages = MiB_TO_PAGES(size);
|
|
|
|
|
|
- edac_dbg(0, "mc#%d: channel %d, dimm %d, %d Mb (%d pages) bank: %d, rank: %d, row: %#x, col: %#x\n",
|
|
|
+ edac_dbg(0, "mc#%d: channel %d, dimm %d, %Ld Mb (%d pages) bank: %d, rank: %d, row: %#x, col: %#x\n",
|
|
|
pvt->sbridge_dev->mc, i, j,
|
|
|
size, npages,
|
|
|
banks, ranks, rows, cols);
|