[PATCH] lib/scatterlist: Provide a DMA page iterator

Sakari Ailus sakari.ailus at linux.intel.com
Thu Feb 7 23:23:16 UTC 2019


On Fri, Jan 04, 2019 at 10:35:43PM +0000, Jason Gunthorpe wrote:
> Commit 2db76d7c3c6d ("lib/scatterlist: sg_page_iter: support sg lists w/o
> backing pages") introduced the sg_page_iter_dma_address() function without
> providing a way to use it in the general case. If the sg_dma_len is not
> equal to the dma_length callers cannot safely use the
> for_each_sg_page/sg_page_iter_dma_address combination.
> 
> Resolve this API mistake by providing a DMA specific iterator,
> for_each_sg_dma_page(), that uses the right length so
> sg_page_iter_dma_address() works as expected with all sglists. A new
> iterator type is introduced to provide compile-time safety against wrongly
> mixing accessors and iterators.
> 
> Signed-off-by: Jason Gunthorpe <jgg at mellanox.com>

Acked-by: Sakari Ailus <sakari.ailus at linux.intel.com> (ipu3-cio2)

-- 
Sakari Ailus
sakari.ailus at linux.intel.com


More information about the dri-devel mailing list