* [U-Boot] [RESEND PATCH v2 1/2] imx: mx7: fix potential overflow in imx_ddr_size()
@ 2018-10-16 6:46 Marcel Ziswiler
2018-10-16 6:46 ` [U-Boot] [RESEND PATCH v2 2/2] colibri_imx7: prime get_ram_size() using imx_ddr_size() Marcel Ziswiler
2018-10-16 8:06 ` [U-Boot] [RESEND PATCH v2 1/2] imx: mx7: fix potential overflow in imx_ddr_size() Stefano Babic
0 siblings, 2 replies; 6+ messages in thread
From: Marcel Ziswiler @ 2018-10-16 6:46 UTC (permalink / raw)
To: u-boot
From: Marcel Ziswiler <marcel.ziswiler@toradex.com>
The imx_ddr_size() function may overflow as it is possible to kind of
over provision the DDR controller. Fix this by capping it to 2 GB which
is the maximum allowed size as per reference manual.
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
---
Changes in v2: None
arch/arm/mach-imx/mx7/ddr.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/arch/arm/mach-imx/mx7/ddr.c b/arch/arm/mach-imx/mx7/ddr.c
index f19aeb8042..9713835bf2 100644
--- a/arch/arm/mach-imx/mx7/ddr.c
+++ b/arch/arm/mach-imx/mx7/ddr.c
@@ -196,5 +196,9 @@ unsigned int imx_ddr_size(void)
if (field_val <= 29)
bits++;
+ /* cap to max 2 GB */
+ if (bits > 31)
+ bits = 31;
+
return 1 << bits;
}
--
2.14.4
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [U-Boot] [RESEND PATCH v2 2/2] colibri_imx7: prime get_ram_size() using imx_ddr_size()
2018-10-16 6:46 [U-Boot] [RESEND PATCH v2 1/2] imx: mx7: fix potential overflow in imx_ddr_size() Marcel Ziswiler
@ 2018-10-16 6:46 ` Marcel Ziswiler
2018-10-16 8:06 ` [U-Boot] [RESEND PATCH v2 1/2] imx: mx7: fix potential overflow in imx_ddr_size() Stefano Babic
1 sibling, 0 replies; 6+ messages in thread
From: Marcel Ziswiler @ 2018-10-16 6:46 UTC (permalink / raw)
To: u-boot
From: Fabio Estevam <festevam@gmail.com>
Rather than passing a hardcoded maxsize to the generic get_ram_size()
function use the i.MX 7 specific imx_ddr_size() function, which extracts
the memory size at runtime by reading the DDR controller registers.
This is a purely cosmetic change as the generic get_ram_size() function
already took care of properly automatically detecting 256MB, 512MB or 1GB
modules.
Signed-off-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
Acked-by: Stefan Agner <stefan.agner@toradex.com>
---
Changes in v2:
- Added Fabio's and Stefan's acks resp. reviewed-bys.
board/toradex/colibri_imx7/colibri_imx7.c | 2 +-
include/configs/colibri_imx7.h | 1 -
2 files changed, 1 insertion(+), 2 deletions(-)
diff --git a/board/toradex/colibri_imx7/colibri_imx7.c b/board/toradex/colibri_imx7/colibri_imx7.c
index 2b7591eb00..a4c99626b4 100644
--- a/board/toradex/colibri_imx7/colibri_imx7.c
+++ b/board/toradex/colibri_imx7/colibri_imx7.c
@@ -52,7 +52,7 @@ DECLARE_GLOBAL_DATA_PTR;
int dram_init(void)
{
- gd->ram_size = get_ram_size((void *)PHYS_SDRAM, PHYS_SDRAM_SIZE);
+ gd->ram_size = get_ram_size((void *)PHYS_SDRAM, imx_ddr_size());
return 0;
}
diff --git a/include/configs/colibri_imx7.h b/include/configs/colibri_imx7.h
index ff6bd678cf..02849ba35f 100644
--- a/include/configs/colibri_imx7.h
+++ b/include/configs/colibri_imx7.h
@@ -14,7 +14,6 @@
#include "mx7_common.h"
/*#define CONFIG_DBG_MONITOR*/
-#define PHYS_SDRAM_SIZE SZ_1G
/* Size of malloc() pool */
#define CONFIG_SYS_MALLOC_LEN (32 * SZ_1M)
--
2.14.4
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [U-Boot] [RESEND PATCH v2 1/2] imx: mx7: fix potential overflow in imx_ddr_size()
2018-10-16 6:46 [U-Boot] [RESEND PATCH v2 1/2] imx: mx7: fix potential overflow in imx_ddr_size() Marcel Ziswiler
2018-10-16 6:46 ` [U-Boot] [RESEND PATCH v2 2/2] colibri_imx7: prime get_ram_size() using imx_ddr_size() Marcel Ziswiler
@ 2018-10-16 8:06 ` Stefano Babic
2018-10-16 8:25 ` Marcel Ziswiler
1 sibling, 1 reply; 6+ messages in thread
From: Stefano Babic @ 2018-10-16 8:06 UTC (permalink / raw)
To: u-boot
Hi Marcel,
On 16/10/2018 08:46, Marcel Ziswiler wrote:
> From: Marcel Ziswiler <marcel.ziswiler@toradex.com>
>
> The imx_ddr_size() function may overflow as it is possible to kind of
> over provision the DDR controller. Fix this by capping it to 2 GB which
> is the maximum allowed size as per reference manual.
>
> Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
> Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
>
> ---
>
> Changes in v2: None
>
> arch/arm/mach-imx/mx7/ddr.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/arch/arm/mach-imx/mx7/ddr.c b/arch/arm/mach-imx/mx7/ddr.c
> index f19aeb8042..9713835bf2 100644
> --- a/arch/arm/mach-imx/mx7/ddr.c
> +++ b/arch/arm/mach-imx/mx7/ddr.c
> @@ -196,5 +196,9 @@ unsigned int imx_ddr_size(void)
> if (field_val <= 29)
> bits++;
>
> + /* cap to max 2 GB */
> + if (bits > 31)
> + bits = 31;
> +
> return 1 << bits;
> }
>
This is a good catch, thanks for it ! The two patches in V2 (the second
for colibri) are already in my list. Does this mean that you want I drop
"colibri_imx7: prime get_ram_size() using imx_ddr_size() " ?
Thanks,
Stefano
--
=====================================================================
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================
^ permalink raw reply [flat|nested] 6+ messages in thread
* [U-Boot] [RESEND PATCH v2 1/2] imx: mx7: fix potential overflow in imx_ddr_size()
2018-10-16 8:06 ` [U-Boot] [RESEND PATCH v2 1/2] imx: mx7: fix potential overflow in imx_ddr_size() Stefano Babic
@ 2018-10-16 8:25 ` Marcel Ziswiler
2018-10-16 8:37 ` Stefano Babic
0 siblings, 1 reply; 6+ messages in thread
From: Marcel Ziswiler @ 2018-10-16 8:25 UTC (permalink / raw)
To: u-boot
Hi Stefano
On Tue, 2018-10-16 at 10:06 +0200, Stefano Babic wrote:
> Hi Marcel,
>
> On 16/10/2018 08:46, Marcel Ziswiler wrote:
> > From: Marcel Ziswiler <marcel.ziswiler@toradex.com>
> >
> > The imx_ddr_size() function may overflow as it is possible to kind
> > of
> > over provision the DDR controller. Fix this by capping it to 2 GB
> > which
> > is the maximum allowed size as per reference manual.
> >
> > Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
> > Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
> >
> > ---
> >
> > Changes in v2: None
> >
> > arch/arm/mach-imx/mx7/ddr.c | 4 ++++
> > 1 file changed, 4 insertions(+)
> >
> > diff --git a/arch/arm/mach-imx/mx7/ddr.c b/arch/arm/mach-
> > imx/mx7/ddr.c
> > index f19aeb8042..9713835bf2 100644
> > --- a/arch/arm/mach-imx/mx7/ddr.c
> > +++ b/arch/arm/mach-imx/mx7/ddr.c
> > @@ -196,5 +196,9 @@ unsigned int imx_ddr_size(void)
> > if (field_val <= 29)
> > bits++;
> >
> > + /* cap to max 2 GB */
> > + if (bits > 31)
> > + bits = 31;
> > +
> > return 1 << bits;
> > }
> >
>
> This is a good catch, thanks for it ! The two patches in V2 (the
> second
> for colibri) are already in my list. Does this mean that you want I
> drop
> "colibri_imx7: prime get_ram_size() using imx_ddr_size() " ?
No, no. I just resent both as I did not see any activity on it but if
you already have them queued that's completely fine. Thanks!
> Thanks,
> Stefano
Cheers
Marcel
^ permalink raw reply [flat|nested] 6+ messages in thread
* [U-Boot] [RESEND PATCH v2 1/2] imx: mx7: fix potential overflow in imx_ddr_size()
2018-10-16 8:25 ` Marcel Ziswiler
@ 2018-10-16 8:37 ` Stefano Babic
2018-10-16 8:42 ` Marcel Ziswiler
0 siblings, 1 reply; 6+ messages in thread
From: Stefano Babic @ 2018-10-16 8:37 UTC (permalink / raw)
To: u-boot
On 16/10/2018 10:25, Marcel Ziswiler wrote:
> Hi Stefano
>
> On Tue, 2018-10-16 at 10:06 +0200, Stefano Babic wrote:
>> Hi Marcel,
>>
>> On 16/10/2018 08:46, Marcel Ziswiler wrote:
>>> From: Marcel Ziswiler <marcel.ziswiler@toradex.com>
>>>
>>> The imx_ddr_size() function may overflow as it is possible to kind
>>> of
>>> over provision the DDR controller. Fix this by capping it to 2 GB
>>> which
>>> is the maximum allowed size as per reference manual.
>>>
>>> Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
>>> Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
>>>
>>> ---
>>>
>>> Changes in v2: None
>>>
>>> arch/arm/mach-imx/mx7/ddr.c | 4 ++++
>>> 1 file changed, 4 insertions(+)
>>>
>>> diff --git a/arch/arm/mach-imx/mx7/ddr.c b/arch/arm/mach-
>>> imx/mx7/ddr.c
>>> index f19aeb8042..9713835bf2 100644
>>> --- a/arch/arm/mach-imx/mx7/ddr.c
>>> +++ b/arch/arm/mach-imx/mx7/ddr.c
>>> @@ -196,5 +196,9 @@ unsigned int imx_ddr_size(void)
>>> if (field_val <= 29)
>>> bits++;
>>>
>>> + /* cap to max 2 GB */
>>> + if (bits > 31)
>>> + bits = 31;
>>> +
>>> return 1 << bits;
>>> }
>>>
>>
>> This is a good catch, thanks for it ! The two patches in V2 (the
>> second
>> for colibri) are already in my list. Does this mean that you want I
>> drop
>> "colibri_imx7: prime get_ram_size() using imx_ddr_size() " ?
>
> No, no. I just resent both as I did not see any activity on it but if
> you already have them queued that's completely fine. Thanks!
>
Ah, ok - I had already applied the two patches and you see them on
u-boot-imx. However, I have not sent a PR to Tom.
Regards,
Stefano
--
=====================================================================
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================
^ permalink raw reply [flat|nested] 6+ messages in thread
* [U-Boot] [RESEND PATCH v2 1/2] imx: mx7: fix potential overflow in imx_ddr_size()
2018-10-16 8:37 ` Stefano Babic
@ 2018-10-16 8:42 ` Marcel Ziswiler
0 siblings, 0 replies; 6+ messages in thread
From: Marcel Ziswiler @ 2018-10-16 8:42 UTC (permalink / raw)
To: u-boot
On Tue, 2018-10-16 at 10:37 +0200, Stefano Babic wrote:
> On 16/10/2018 10:25, Marcel Ziswiler wrote:
> > Hi Stefano
> >
> > On Tue, 2018-10-16 at 10:06 +0200, Stefano Babic wrote:
> > > Hi Marcel,
> > >
> > > On 16/10/2018 08:46, Marcel Ziswiler wrote:
> > > > From: Marcel Ziswiler <marcel.ziswiler@toradex.com>
> > > >
> > > > The imx_ddr_size() function may overflow as it is possible to
> > > > kind
> > > > of
> > > > over provision the DDR controller. Fix this by capping it to 2
> > > > GB
> > > > which
> > > > is the maximum allowed size as per reference manual.
> > > >
> > > > Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
> > > > Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
> > > >
> > > > ---
> > > >
> > > > Changes in v2: None
> > > >
> > > > arch/arm/mach-imx/mx7/ddr.c | 4 ++++
> > > > 1 file changed, 4 insertions(+)
> > > >
> > > > diff --git a/arch/arm/mach-imx/mx7/ddr.c b/arch/arm/mach-
> > > > imx/mx7/ddr.c
> > > > index f19aeb8042..9713835bf2 100644
> > > > --- a/arch/arm/mach-imx/mx7/ddr.c
> > > > +++ b/arch/arm/mach-imx/mx7/ddr.c
> > > > @@ -196,5 +196,9 @@ unsigned int imx_ddr_size(void)
> > > > if (field_val <= 29)
> > > > bits++;
> > > >
> > > > + /* cap to max 2 GB */
> > > > + if (bits > 31)
> > > > + bits = 31;
> > > > +
> > > > return 1 << bits;
> > > > }
> > > >
> > >
> > > This is a good catch, thanks for it ! The two patches in V2 (the
> > > second
> > > for colibri) are already in my list. Does this mean that you want
> > > I
> > > drop
> > > "colibri_imx7: prime get_ram_size() using imx_ddr_size() " ?
> >
> > No, no. I just resent both as I did not see any activity on it but
> > if
> > you already have them queued that's completely fine. Thanks!
> >
>
> Ah, ok - I had already applied the two patches and you see them on
> u-boot-imx. However, I have not sent a PR to Tom.
Ah, yeah. Sorry, I forgot to check there. Perfect!
> Regards,
> Stefano
Cheers
Marcel
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2018-10-16 8:42 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-10-16 6:46 [U-Boot] [RESEND PATCH v2 1/2] imx: mx7: fix potential overflow in imx_ddr_size() Marcel Ziswiler
2018-10-16 6:46 ` [U-Boot] [RESEND PATCH v2 2/2] colibri_imx7: prime get_ram_size() using imx_ddr_size() Marcel Ziswiler
2018-10-16 8:06 ` [U-Boot] [RESEND PATCH v2 1/2] imx: mx7: fix potential overflow in imx_ddr_size() Stefano Babic
2018-10-16 8:25 ` Marcel Ziswiler
2018-10-16 8:37 ` Stefano Babic
2018-10-16 8:42 ` Marcel Ziswiler
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox