Skip to content
Snippets Groups Projects
Commit e66f38da authored by Timur Tabi's avatar Timur Tabi Committed by Kumar Gala
Browse files

fsl_ddr: Fix DDR3 calculation of rank density with 8GB or more


The calculate for rank density in compute_ranksize() for DDR3 used all
integers for the expression, so the result was also a 32-bit integer, even
though the 'bsize' variable is a u64.  Fix the expression to calculate a
true 64-bit value.

Signed-off-by: default avatarTimur Tabi <timur@freescale.com>
Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
parent 6af015b8
No related branches found
No related tags found
No related merge requests found
...@@ -68,7 +68,7 @@ compute_ranksize(const ddr3_spd_eeprom_t *spd) ...@@ -68,7 +68,7 @@ compute_ranksize(const ddr3_spd_eeprom_t *spd)
if ((spd->organization & 0x7) < 4) if ((spd->organization & 0x7) < 4)
nbit_sdram_width = (spd->organization & 0x7) + 2; nbit_sdram_width = (spd->organization & 0x7) + 2;
bsize = 1 << (nbit_sdram_cap_bsize - 3 bsize = 1ULL << (nbit_sdram_cap_bsize - 3
+ nbit_primary_bus_width - nbit_sdram_width); + nbit_primary_bus_width - nbit_sdram_width);
debug("DDR: DDR III rank density = 0x%08x\n", bsize); debug("DDR: DDR III rank density = 0x%08x\n", bsize);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment