
11 Sep
2018
11 Sep
'18
11:31 a.m.
On 09/10/2018 10:41 PM, Dalon Westergreen wrote:
Incorrect type of size variable results in 0 being returned for sdram sizes greater than or equal to 4GB.
Signed-off-by: Dalon Westergreen dwesterg@gmail.com
drivers/ddr/altera/sdram_s10.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/ddr/altera/sdram_s10.c b/drivers/ddr/altera/sdram_s10.c index 48f4f47b14..dad0147b64 100644 --- a/drivers/ddr/altera/sdram_s10.c +++ b/drivers/ddr/altera/sdram_s10.c @@ -375,7 +375,7 @@ unsigned long sdram_calculate_size(void) { u32 dramaddrw = hmc_readl(DRAMADDRW);
- u32 size = 1 << (DRAMADDRW_CFG_CS_ADDR_WIDTH(dramaddrw) +
- unsigned long size = 1 << (DRAMADDRW_CFG_CS_ADDR_WIDTH(dramaddrw) + DRAMADDRW_CFG_BANK_GRP_ADDR_WIDTH(dramaddrw) + DRAMADDRW_CFG_BANK_ADDR_WIDTH(dramaddrw) + DRAMADDRW_CFG_ROW_ADDR_WIDTH(dramaddrw) +
Change the function to report size in MiB, prescale it here and you won't have problems for a while . How does that sound ?
--
Best regards,
Marek Vasut