iommu: add generic helper for mapping sgtable objects
authorMarek Szyprowski <m.szyprowski@samsung.com>
Wed, 13 May 2020 13:32:10 +0000 (15:32 +0200)
committerChristoph Hellwig <hch@lst.de>
Wed, 13 May 2020 13:48:20 +0000 (15:48 +0200)
commit48530d9fab0d3bf08827f9167be54acf66d4d457
treee33ceb3a5ed8858d292e8856ea2029a13b04e7b3
parent709d6d73c756107fb8a292a9f957d630097425fa
iommu: add generic helper for mapping sgtable objects

struct sg_table is a common structure used for describing a memory
buffer. It consists of a scatterlist with memory pages and DMA addresses
(sgl entry), as well as the number of scatterlist entries: CPU pages
(orig_nents entry) and DMA mapped pages (nents entry).

It turned out that it was a common mistake to misuse nents and orig_nents
entries, calling mapping functions with a wrong number of entries.

To avoid such issues, lets introduce a common wrapper operating directly
on the struct sg_table objects, which take care of the proper use of
the nents and orig_nents entries.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Acked-by: Joerg Roedel <jroedel@suse.de>
Reviewed-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
include/linux/iommu.h