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
*
}
/* 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,