Commit 39110c68 authored by Andy Shevchenko's avatar Andy Shevchenko Committed by Vinod Koul
Browse files

dmaengine: bcm2835-dma: use sg_nents_for_dma() helper



Instead of open coded variant let's use recently introduced helper.

Reviewed-by: default avatarBjorn Andersson <andersson@kernel.org>
Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://patch.msgid.link/20260108105619.3513561-5-andriy.shevchenko@linux.intel.com


Signed-off-by: default avatarVinod Koul <vkoul@kernel.org>
parent 024ae9d3
Loading
Loading
Loading
Loading
+1 −18
Original line number Diff line number Diff line
@@ -260,23 +260,6 @@ static void bcm2835_dma_create_cb_set_length(
	control_block->info |= finalextrainfo;
}

static inline size_t bcm2835_dma_count_frames_for_sg(
	struct bcm2835_chan *c,
	struct scatterlist *sgl,
	unsigned int sg_len)
{
	size_t frames = 0;
	struct scatterlist *sgent;
	unsigned int i;
	size_t plength = bcm2835_dma_max_frame_length(c);

	for_each_sg(sgl, sgent, sg_len, i)
		frames += bcm2835_dma_frames_for_length(
			sg_dma_len(sgent), plength);

	return frames;
}

/**
 * bcm2835_dma_create_cb_chain - create a control block and fills data in
 *
@@ -672,7 +655,7 @@ static struct dma_async_tx_descriptor *bcm2835_dma_prep_slave_sg(
	}

	/* count frames in sg list */
	frames = bcm2835_dma_count_frames_for_sg(c, sgl, sg_len);
	frames = sg_nents_for_dma(sgl, sg_len, bcm2835_dma_max_frame_length(c));

	/* allocate the CB chain */
	d = bcm2835_dma_create_cb_chain(chan, direction, false,