* [U-Boot] [PATCH] socfpga: stratix10: fix sdram_calculate_size @ 2018-09-10 20:41 Dalon Westergreen 2018-09-11 9:31 ` Marek Vasut 0 siblings, 1 reply; 6+ messages in thread From: Dalon Westergreen @ 2018-09-10 20:41 UTC (permalink / raw) To: u-boot 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) + -- 2.17.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [U-Boot] [PATCH] socfpga: stratix10: fix sdram_calculate_size 2018-09-10 20:41 [U-Boot] [PATCH] socfpga: stratix10: fix sdram_calculate_size Dalon Westergreen @ 2018-09-11 9:31 ` Marek Vasut 2018-09-11 13:28 ` Dalon L Westergreen 0 siblings, 1 reply; 6+ messages in thread From: Marek Vasut @ 2018-09-11 9:31 UTC (permalink / raw) To: u-boot 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 ^ permalink raw reply [flat|nested] 6+ messages in thread
* [U-Boot] [PATCH] socfpga: stratix10: fix sdram_calculate_size 2018-09-11 9:31 ` Marek Vasut @ 2018-09-11 13:28 ` Dalon L Westergreen 2018-09-11 13:52 ` Marek Vasut 0 siblings, 1 reply; 6+ messages in thread From: Dalon L Westergreen @ 2018-09-11 13:28 UTC (permalink / raw) To: u-boot On Tue, 2018-09-11 at 11:31 +0200, Marek Vasut wrote: > On 09/10/2018 10:41 PM, Dalon Westergreen wrote: > Incorrect type of size variable results in 0 beingreturned for sdram sizes > greater than or equal to4GB. > 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.cindex 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_B > ANK_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 youwon't have > problems for a while . How does that sound ? Prefer not to as this will be used for comparisons later which would mean we would need to scale #defines from linux/sizes.h. --dalon ^ permalink raw reply [flat|nested] 6+ messages in thread
* [U-Boot] [PATCH] socfpga: stratix10: fix sdram_calculate_size 2018-09-11 13:28 ` Dalon L Westergreen @ 2018-09-11 13:52 ` Marek Vasut 2018-09-11 15:13 ` Dalon L Westergreen 0 siblings, 1 reply; 6+ messages in thread From: Marek Vasut @ 2018-09-11 13:52 UTC (permalink / raw) To: u-boot On 09/11/2018 03:28 PM, Dalon L Westergreen wrote: > On Tue, 2018-09-11 at 11:31 +0200, Marek Vasut wrote: >> 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 at gmail.com <mailto: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 ? > > Prefer not to as this will be used for comparisons later which would > mean we would need to scale #defines from linux/sizes.h. What comparisons ? I only see it assigned to gd->sdram_size , in which case it might rather make sense to adjust the type of the function to unsigned long long (so it returns u64). -- Best regards, Marek Vasut ^ permalink raw reply [flat|nested] 6+ messages in thread
* [U-Boot] [PATCH] socfpga: stratix10: fix sdram_calculate_size 2018-09-11 13:52 ` Marek Vasut @ 2018-09-11 15:13 ` Dalon L Westergreen 2018-09-11 15:35 ` Marek Vasut 0 siblings, 1 reply; 6+ messages in thread From: Dalon L Westergreen @ 2018-09-11 15:13 UTC (permalink / raw) To: u-boot On Tue, 2018-09-11 at 15:52 +0200, Marek Vasut wrote: > On 09/11/2018 03:28 PM, Dalon L Westergreen wrote: > On Tue, 2018-09-11 at 11:31 +0200, Marek Vasut wrote: > On 09/10/2018 10:41 PM, Dalon Westergreen wrote:Incorrect type of size > variable results in 0 beingreturned for sdram sizes greater than or equal > to4GB. > Signed-off-by: Dalon Westergreen <dwesterg@gmail.com <mailto: > dwesterg at 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.cindex 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_B > ANK_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 youwon't have > problems for a while . How does that sound ? > Prefer not to as this will be used for comparisons later which wouldmean we > would need to scale #defines from linux/sizes.h. > What comparisons ? I only see it assigned to gd->sdram_size , in whichcase it > might rather make sense to adjust the type of the function tounsigned long > long (so it returns u64). Yes, i think the function should be phys_size_t type, i will adjust it. There are no comparisons as ofyet, but there likely will be a need to do so to deal with some corner cases. --dalon ^ permalink raw reply [flat|nested] 6+ messages in thread
* [U-Boot] [PATCH] socfpga: stratix10: fix sdram_calculate_size 2018-09-11 15:13 ` Dalon L Westergreen @ 2018-09-11 15:35 ` Marek Vasut 0 siblings, 0 replies; 6+ messages in thread From: Marek Vasut @ 2018-09-11 15:35 UTC (permalink / raw) To: u-boot On 09/11/2018 05:13 PM, Dalon L Westergreen wrote: > On Tue, 2018-09-11 at 15:52 +0200, Marek Vasut wrote: >> On 09/11/2018 03:28 PM, Dalon L Westergreen wrote: >> On Tue, 2018-09-11 at 11:31 +0200, Marek Vasut wrote: >> 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 at gmail.com <mailto:dwesterg@gmail.com> <mailto:dwesterg at gmail.com <mailto: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 ? >> >> Prefer not to as this will be used for comparisons later which would >> mean we would need to scale #defines from linux/sizes.h. >> >> What comparisons ? I only see it assigned to gd->sdram_size , in which >> case it might rather make sense to adjust the type of the function to >> unsigned long long (so it returns u64). > > Yes, i think the function should be phys_size_t type, i will adjust it. > There are no comparisons as of > yet, but there likely will be a need to do so to deal with some corner > cases. OK, sounds good , thanks ! -- Best regards, Marek Vasut ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2018-09-11 15:35 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2018-09-10 20:41 [U-Boot] [PATCH] socfpga: stratix10: fix sdram_calculate_size Dalon Westergreen 2018-09-11 9:31 ` Marek Vasut 2018-09-11 13:28 ` Dalon L Westergreen 2018-09-11 13:52 ` Marek Vasut 2018-09-11 15:13 ` Dalon L Westergreen 2018-09-11 15:35 ` Marek Vasut
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox