All of lore.kernel.org
 help / color / mirror / Atom feed
From: Frank Li <Frank.li@oss.nxp.com>
To: Linus Walleij <linusw@kernel.org>
Cc: Vinod Koul <vkoul@kernel.org>, Frank Li <Frank.Li@kernel.org>,
	linux-arm-kernel@lists.infradead.org, dmaengine@vger.kernel.org,
	linux-kernel@vger.kernel.org, kernel test robot <lkp@intel.com>
Subject: Re: [PATCH] dmaengine: ste_dma40: Preserve the LCPA I/O address space
Date: Fri, 9 Oct 2026 21:30:49 -0500	[thread overview]
Message-ID: <asmjWVMGZCD2-o0N@SMW015318> (raw)
In-Reply-To: <20261010-dma40-smatch-fix-v1-1-26ca10043957@kernel.org>

On Sat, Oct 10, 2026 at 12:58:53AM +0200, Linus Walleij wrote:
> The LCPA area is mapped with devm_ioremap(), but lcpa_base and the
> per-channel lcpa pointer lack __iomem annotations. This loses the I/O
> address space and makes sparse warn when d40_current_addr() assigns
> LCPA register addresses to its __iomem pointers.
>
> Annotate both pointers and the LCPA argument of d40_log_lli_lcpa_write()
> to preserve the I/O address space from the mapping to the register
> accessors. This also fixes the existing LCPA read and write warnings
> without changing the generated code.
>
> Fixes: c80edceff29e ("dmaengine: ste_dma40: Fix cyclic transfer residue")
> Reported-by: kernel test robot <lkp@intel.com>
> Closes: https://lore.kernel.org/oe-kbuild-all/202610090216.pjMRxhRL-lkp@intel.com/
> Assisted-by: LLM
> Signed-off-by: Linus Walleij <linusw@kernel.org>
> ---

Reviewed-by: Frank Li <Frank.Li@nxp.com>

>  drivers/dma/ste_dma40.c    | 4 ++--
>  drivers/dma/ste_dma40_ll.c | 8 ++++----
>  drivers/dma/ste_dma40_ll.h | 2 +-
>  3 files changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/dma/ste_dma40.c b/drivers/dma/ste_dma40.c
> index d3cc2c512ccf..74dd4cbdc3c0 100644
> --- a/drivers/dma/ste_dma40.c
> +++ b/drivers/dma/ste_dma40.c
> @@ -509,7 +509,7 @@ struct d40_chan {
>  	u32				 src_def_cfg;
>  	u32				 dst_def_cfg;
>  	struct d40_def_lcsp		 log_def;
> -	struct d40_log_lli_full		*lcpa;
> +	struct d40_log_lli_full __iomem	*lcpa;
>  	/* Runtime reconfiguration */
>  	dma_addr_t			runtime_addr;
>  	enum dma_transfer_direction	runtime_direction;
> @@ -617,7 +617,7 @@ struct d40_base {
>  	/* Physical half channels */
>  	struct d40_phy_res		 *phy_res;
>  	struct d40_lcla_pool		  lcla_pool;
> -	void				 *lcpa_base;
> +	void __iomem			 *lcpa_base;
>  	dma_addr_t			  phy_lcpa;
>  	resource_size_t			  lcpa_size;
>  	struct kmem_cache		 *desc_slab;
> diff --git a/drivers/dma/ste_dma40_ll.c b/drivers/dma/ste_dma40_ll.c
> index 4c489b126cb2..3be7f5b1abb0 100644
> --- a/drivers/dma/ste_dma40_ll.c
> +++ b/drivers/dma/ste_dma40_ll.c
> @@ -333,10 +333,10 @@ static void d40_log_lli_link(struct d40_log_lli *lli_dst,
>  		(dlos << D40_MEM_LCSP1_SLOS_POS);
>  }
>
> -void d40_log_lli_lcpa_write(struct d40_log_lli_full *lcpa,
> -			   struct d40_log_lli *lli_dst,
> -			   struct d40_log_lli *lli_src,
> -			   int next, unsigned int flags)
> +void d40_log_lli_lcpa_write(struct d40_log_lli_full __iomem *lcpa,
> +			    struct d40_log_lli *lli_dst,
> +			    struct d40_log_lli *lli_src,
> +			    int next, unsigned int flags)
>  {
>  	d40_log_lli_link(lli_dst, lli_src, next, flags);
>
> diff --git a/drivers/dma/ste_dma40_ll.h b/drivers/dma/ste_dma40_ll.h
> index 55090cb31057..ca9d07649361 100644
> --- a/drivers/dma/ste_dma40_ll.h
> +++ b/drivers/dma/ste_dma40_ll.h
> @@ -455,7 +455,7 @@ int d40_log_sg_to_lli(struct scatterlist *sg,
>  		      u32 lcsp13, /* src or dst*/
>  		      u32 data_width1, u32 data_width2);
>
> -void d40_log_lli_lcpa_write(struct d40_log_lli_full *lcpa,
> +void d40_log_lli_lcpa_write(struct d40_log_lli_full __iomem *lcpa,
>  			    struct d40_log_lli *lli_dst,
>  			    struct d40_log_lli *lli_src,
>  			    int next, unsigned int flags);
>
> ---
> base-commit: 511afae96d89847f753fcab6b3a597f0281be9d5
> change-id: 20261010-dma40-smatch-fix-42fce06d4f25
>
> Best regards,
> --
> Linus Walleij <linusw@kernel.org>
>

  reply	other threads:[~2026-10-10  2:30 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-09 22:58 [PATCH] dmaengine: ste_dma40: Preserve the LCPA I/O address space Linus Walleij
2026-10-10  2:30 ` Frank Li [this message]
2026-10-11 20:38 ` Vinod Koul

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=asmjWVMGZCD2-o0N@SMW015318 \
    --to=frank.li@oss.nxp.com \
    --cc=Frank.Li@kernel.org \
    --cc=dmaengine@vger.kernel.org \
    --cc=linusw@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lkp@intel.com \
    --cc=vkoul@kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.