[PATCH v2 10/13] dmaengine: qcom: bam_dma: use sg_nents_for_dma() helper

Bjorn Andersson andersson at kernel.org
Mon Nov 10 07:07:56 PST 2025


On Mon, Nov 10, 2025 at 11:23:37AM +0100, Andy Shevchenko wrote:
> Instead of open coded variant let's use recently introduced helper.
> 

Reviewed-by: Bjorn Andersson <andersson at kernel.org>

Regards,
Bjorn

> Signed-off-by: Andy Shevchenko <andriy.shevchenko at linux.intel.com>
> ---
>  drivers/dma/qcom/bam_dma.c | 9 ++-------
>  1 file changed, 2 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/dma/qcom/bam_dma.c b/drivers/dma/qcom/bam_dma.c
> index 2cf060174795..62b3921f0d11 100644
> --- a/drivers/dma/qcom/bam_dma.c
> +++ b/drivers/dma/qcom/bam_dma.c
> @@ -655,22 +655,17 @@ static struct dma_async_tx_descriptor *bam_prep_slave_sg(struct dma_chan *chan,
>  	struct scatterlist *sg;
>  	u32 i;
>  	struct bam_desc_hw *desc;
> -	unsigned int num_alloc = 0;
> -
> +	unsigned int num_alloc;
>  
>  	if (!is_slave_direction(direction)) {
>  		dev_err(bdev->dev, "invalid dma direction\n");
>  		return NULL;
>  	}
>  
> -	/* calculate number of required entries */
> -	for_each_sg(sgl, sg, sg_len, i)
> -		num_alloc += DIV_ROUND_UP(sg_dma_len(sg), BAM_FIFO_SIZE);
> -
>  	/* allocate enough room to accommodate the number of entries */
> +	num_alloc = sg_nents_for_dma(sgl, sg_len, BAM_FIFO_SIZE);
>  	async_desc = kzalloc(struct_size(async_desc, desc, num_alloc),
>  			     GFP_NOWAIT);
> -
>  	if (!async_desc)
>  		return NULL;
>  
> -- 
> 2.50.1
> 
> 



More information about the linux-arm-kernel mailing list