public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: York Sun <york.sun@nxp.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] arm: Fix SCFG ICID reg addresses
Date: Wed, 20 Apr 2016 09:53:32 -0700	[thread overview]
Message-ID: <5717B40C.2040804@nxp.com> (raw)
In-Reply-To: <1460463312-3382-2-git-send-email-vincent.siles@provenrun.com>

On 04/12/2016 05:28 AM, Vincent Siles wrote:
> On the LS102x boards, in order to initialize the ICID values of masters,
> the dev_stream_id array holds absolute offsets from the base of SCFG.
> 
> In ls102xa_config_ssmu_stream_id, the base pointer is cast to uint32_t *
> before adding the offset, leading to an invalid address. Casting it to
> unsigned char * solves the issue.
> 
> Also minor cosmetic renaming of uint32_t into u32 to be consistent in
> the whole file.
> 
> Signed-off-by: Vincent Siles <vincent.siles@provenrun.com>
> ---
> 
>  board/freescale/common/ls102xa_stream_id.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/board/freescale/common/ls102xa_stream_id.c b/board/freescale/common/ls102xa_stream_id.c
> index f434269..2a4ef3e 100644
> --- a/board/freescale/common/ls102xa_stream_id.c
> +++ b/board/freescale/common/ls102xa_stream_id.c
> @@ -10,11 +10,11 @@
>  
>  void ls102xa_config_smmu_stream_id(struct smmu_stream_id *id, uint32_t num)
>  {
> -	uint32_t *scfg = (uint32_t *)CONFIG_SYS_FSL_SCFG_ADDR;
> +	unsigned char *scfg = (unsigned char *)CONFIG_SYS_FSL_SCFG_ADDR;
>  	int i;
>  
>  	for (i = 0; i < num; i++)
> -		out_be32(scfg + id[i].offset, id[i].stream_id);
> +		out_be32((u32 *)(scfg + id[i].offset), id[i].stream_id);
>  }
>  
>  void ls1021x_config_caam_stream_id(struct liodn_id_table *tbl, int size)
> @@ -28,6 +28,6 @@ void ls1021x_config_caam_stream_id(struct liodn_id_table *tbl, int size)
>  		else
>  			liodn = tbl[i].id[0];
>  
> -		out_le32((uint32_t *)(tbl[i].reg_offset), liodn);
> +		out_le32((u32 *)(tbl[i].reg_offset), liodn);
>  	}
>  }
> 

If the size of the pointer is an issue, maybe you ca use "void *"? Can you check
if "struct ccsr_scfg" should/can be used?

York

  reply	other threads:[~2016-04-20 16:53 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-12 12:15 [U-Boot] [PATCH 0/1] Vincent Siles
2016-04-12 12:15 ` [U-Boot] [PATCH] arm: Fix SCFG ICID reg addresses Vincent Siles
2016-04-20 16:53   ` York Sun [this message]
2016-04-21  7:53     ` Vincent Siles
2016-04-21 15:45       ` york sun
2016-04-21 15:56         ` Vincent Siles
2016-04-21 16:19           ` York Sun
2016-04-22  7:52             ` [U-Boot] [PATCH v2 1/2] " Vincent Siles
2016-04-22  7:52               ` [U-Boot] [PATCH v2 2/2] arm: uniform usage of u32 in ls102x caam config Vincent Siles
2016-05-24 17:13                 ` York Sun
2016-05-24 17:13               ` [U-Boot] [PATCH v2 1/2] arm: Fix SCFG ICID reg addresses York Sun

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5717B40C.2040804@nxp.com \
    --to=york.sun@nxp.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox