On Wed, Jul 08, 2020 at 07:57:23AM +0000, Song Bao Hua (Barry Song) wrote: > > int dma_map_batch_start(struct device *dev, size_t rounded_len, > > enum dma_data_direction dir, unsigned long attrs, dma_addr_t *addr); > > int dma_map_batch_add(struct device *dev, dma_addr_t *addr, struct page > > *page, > > unsigned long offset, size_t size); > > int dma_map_batch_end(struct device *dev, int ret, dma_addr_t start_addr); > > > > Hello Christoph, > > What is the different between dma_map_batch_add() and adding the buffer to sg of dma_map_sg()? There is not struct scatterlist involved in this API, avoiding the overhead to allocate it (which is kinda the point).