diff mbox series

colibri-imx8x: Fix sc_misc_otp_fuse_read() error check

Message ID 20240313003641.2650648-1-festevam@gmail.com
State Accepted
Commit fdd529fa624e8b235a949b63b932d3eb1e9641b9
Delegated to: Fabio Estevam
Headers show
Series colibri-imx8x: Fix sc_misc_otp_fuse_read() error check | expand

Commit Message

Fabio Estevam March 13, 2024, 12:36 a.m. UTC
Commit aa6e698a7acd ("imx: toradex/colibri-imx8x: correct SCU API usage")
made an incorrect logic change in the error code check of
sc_misc_otp_fuse_read():

-       if (sc_err == SC_ERR_NONE) {
+       if (sc_err) {
                /* DX has two A35 cores disabled */
                return (val & 0xf) != 0x0;
        }

The other changes in this commit are correct.

sc_misc_otp_fuse_read() returns 0 on a successful fuse read.

This inversion causes board_mem_get_layout() to report incorrect RAM size.

Go back the original error check logic to fix the problem.

Fixes: aa6e698a7acd ("imx: toradex/colibri-imx8x: correct SCU API usage")
Reported-by: Hiago De Franco <hiago.franco@toradex.com>
Signed-off-by: Fabio Estevam <festevam@gmail.com>
---
 board/toradex/colibri-imx8x/colibri-imx8x.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Peng Fan March 13, 2024, 2:17 a.m. UTC | #1
> Subject: [PATCH] colibri-imx8x: Fix sc_misc_otp_fuse_read() error check
> 
> Commit aa6e698a7acd ("imx: toradex/colibri-imx8x: correct SCU API usage")
> made an incorrect logic change in the error code check of
> sc_misc_otp_fuse_read():
> 
> -       if (sc_err == SC_ERR_NONE) {
> +       if (sc_err) {
>                 /* DX has two A35 cores disabled */
>                 return (val & 0xf) != 0x0;
>         }
> 
> The other changes in this commit are correct.
> 
> sc_misc_otp_fuse_read() returns 0 on a successful fuse read.
> 
> This inversion causes board_mem_get_layout() to report incorrect RAM size.
> 
> Go back the original error check logic to fix the problem.
> 
> Fixes: aa6e698a7acd ("imx: toradex/colibri-imx8x: correct SCU API usage")
> Reported-by: Hiago De Franco <hiago.franco@toradex.com>
> Signed-off-by: Fabio Estevam <festevam@gmail.com>

Reviewed-by: Peng Fan <peng.fan@nxp.com>
> ---
>  board/toradex/colibri-imx8x/colibri-imx8x.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/board/toradex/colibri-imx8x/colibri-imx8x.c
> b/board/toradex/colibri-imx8x/colibri-imx8x.c
> index 2c673a4a6b06..6fc8076163c6 100644
> --- a/board/toradex/colibri-imx8x/colibri-imx8x.c
> +++ b/board/toradex/colibri-imx8x/colibri-imx8x.c
> @@ -46,7 +46,7 @@ static int is_imx8dx(void)
>  	u32 val = 0;
>  	int sc_err = sc_misc_otp_fuse_read(-1, 6, &val);
> 
> -	if (sc_err) {
> +	if (!sc_err) {
>  		/* DX has two A35 cores disabled */
>  		return (val & 0xf) != 0x0;
>  	}
> --
> 2.34.1
Marcel Ziswiler March 13, 2024, 8:09 a.m. UTC | #2
Hi Fabio

Thanks!

On Tue, 2024-03-12 at 21:36 -0300, Fabio Estevam wrote:
> Commit aa6e698a7acd ("imx: toradex/colibri-imx8x: correct SCU API usage")
> made an incorrect logic change in the error code check of
> sc_misc_otp_fuse_read():
> 
> -       if (sc_err == SC_ERR_NONE) {
> +       if (sc_err) {
>                 /* DX has two A35 cores disabled */
>                 return (val & 0xf) != 0x0;
>         }
> 
> The other changes in this commit are correct.
> 
> sc_misc_otp_fuse_read() returns 0 on a successful fuse read.
> 
> This inversion causes board_mem_get_layout() to report incorrect RAM size.
> 
> Go back the original error check logic to fix the problem.
> 
> Fixes: aa6e698a7acd ("imx: toradex/colibri-imx8x: correct SCU API usage")
> Reported-by: Hiago De Franco <hiago.franco@toradex.com>
> Signed-off-by: Fabio Estevam <festevam@gmail.com>

Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>

> diff --git a/board/toradex/colibri-imx8x/colibri-imx8x.c b/board/toradex/colibri-imx8x/colibri-imx8x.c
> index 2c673a4a6b06..6fc8076163c6 100644
> --- a/board/toradex/colibri-imx8x/colibri-imx8x.c
> +++ b/board/toradex/colibri-imx8x/colibri-imx8x.c
> @@ -46,7 +46,7 @@ static int is_imx8dx(void)
>  	u32 val = 0;
>  	int sc_err = sc_misc_otp_fuse_read(-1, 6, &val);
>  
> -	if (sc_err) {
> +	if (!sc_err) {
>  		/* DX has two A35 cores disabled */
>  		return (val & 0xf) != 0x0;
>  	}

Cheers

Marcel
Hiago De Franco March 13, 2024, 4:25 p.m. UTC | #3
On 13.03.2024 08:09, Marcel Ziswiler wrote:
> Hi Fabio
> 
> Thanks!
> 
> On Tue, 2024-03-12 at 21:36 -0300, Fabio Estevam wrote:
> > Commit aa6e698a7acd ("imx: toradex/colibri-imx8x: correct SCU API usage")
> > made an incorrect logic change in the error code check of
> > sc_misc_otp_fuse_read():
> > 
> > -       if (sc_err == SC_ERR_NONE) {
> > +       if (sc_err) {
> >                 /* DX has two A35 cores disabled */
> >                 return (val & 0xf) != 0x0;
> >         }
> > 
> > The other changes in this commit are correct.
> > 
> > sc_misc_otp_fuse_read() returns 0 on a successful fuse read.
> > 
> > This inversion causes board_mem_get_layout() to report incorrect RAM size.
> > 
> > Go back the original error check logic to fix the problem.
> > 
> > Fixes: aa6e698a7acd ("imx: toradex/colibri-imx8x: correct SCU API usage")
> > Reported-by: Hiago De Franco <hiago.franco@toradex.com>
> > Signed-off-by: Fabio Estevam <festevam@gmail.com>
> 
> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
> 

Tested-by: Hiago De Franco <hiago.franco@toradex.com> # Toradex Colibri iMX8X 1GB

> > diff --git a/board/toradex/colibri-imx8x/colibri-imx8x.c b/board/toradex/colibri-imx8x/colibri-imx8x.c
> > index 2c673a4a6b06..6fc8076163c6 100644
> > --- a/board/toradex/colibri-imx8x/colibri-imx8x.c
> > +++ b/board/toradex/colibri-imx8x/colibri-imx8x.c
> > @@ -46,7 +46,7 @@ static int is_imx8dx(void)
> >  	u32 val = 0;
> >  	int sc_err = sc_misc_otp_fuse_read(-1, 6, &val);
> >  
> > -	if (sc_err) {
> > +	if (!sc_err) {
> >  		/* DX has two A35 cores disabled */
> >  		return (val & 0xf) != 0x0;
> >  	}
> 
> Cheers
> 
> Marcel
Fabio Estevam March 17, 2024, 11:54 p.m. UTC | #4
On Tue, Mar 12, 2024 at 9:36 PM Fabio Estevam <festevam@gmail.com> wrote:
>
> Commit aa6e698a7acd ("imx: toradex/colibri-imx8x: correct SCU API usage")
> made an incorrect logic change in the error code check of
> sc_misc_otp_fuse_read():
>
> -       if (sc_err == SC_ERR_NONE) {
> +       if (sc_err) {
>                 /* DX has two A35 cores disabled */
>                 return (val & 0xf) != 0x0;
>         }
>
> The other changes in this commit are correct.
>
> sc_misc_otp_fuse_read() returns 0 on a successful fuse read.
>
> This inversion causes board_mem_get_layout() to report incorrect RAM size.
>
> Go back the original error check logic to fix the problem.
>
> Fixes: aa6e698a7acd ("imx: toradex/colibri-imx8x: correct SCU API usage")
> Reported-by: Hiago De Franco <hiago.franco@toradex.com>
> Signed-off-by: Fabio Estevam <festevam@gmail.com>

Applied for u-boot-imx/master, thanks.
diff mbox series

Patch

diff --git a/board/toradex/colibri-imx8x/colibri-imx8x.c b/board/toradex/colibri-imx8x/colibri-imx8x.c
index 2c673a4a6b06..6fc8076163c6 100644
--- a/board/toradex/colibri-imx8x/colibri-imx8x.c
+++ b/board/toradex/colibri-imx8x/colibri-imx8x.c
@@ -46,7 +46,7 @@  static int is_imx8dx(void)
 	u32 val = 0;
 	int sc_err = sc_misc_otp_fuse_read(-1, 6, &val);
 
-	if (sc_err) {
+	if (!sc_err) {
 		/* DX has two A35 cores disabled */
 		return (val & 0xf) != 0x0;
 	}