* [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