@@ -554,7 +554,7 @@ static struct dma_async_tx_descriptor *zx_dma_prep_slave_sg(
size_t len, avail, total = 0;
struct scatterlist *sg;
dma_addr_t addr, src = 0, dst = 0;
- int num = sglen, i;
+ int num, i;
if (!sgl)
return NULL;
@@ -562,12 +562,7 @@ static struct dma_async_tx_descriptor *zx_dma_prep_slave_sg(
if (zx_pre_config(c, dir))
return NULL;
- for_each_sg(sgl, sg, sglen, i) {
- avail = sg_dma_len(sg);
- if (avail > DMA_MAX_SIZE)
- num += DIV_ROUND_UP(avail, DMA_MAX_SIZE) - 1;
- }
-
+ num = sg_nents_for_dma(sgl, sglen, DMA_MAX_SIZE);
ds = zx_alloc_desc_resource(num, chan);
if (!ds)
return NULL;
Instead of open coded variant let's use recently introduced helper. Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com> --- drivers/dma/zx296702_dma.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-)