]> git.baikalelectronics.ru Git - kernel.git/commit
dma-mapping: add generic helpers for mapping sgtable objects
authorMarek Szyprowski <m.szyprowski@samsung.com>
Wed, 13 May 2020 13:32:08 +0000 (15:32 +0200)
committerChristoph Hellwig <hch@lst.de>
Wed, 13 May 2020 13:43:29 +0000 (15:43 +0200)
commitda9bb1ba273805980ea74ac7b8e46b745f558ddf
treec1baa1417ffe4dfbeef0f7f19803b3e3535e735b
parent3f4b7151d31c4c760249655e92d07ee13d5b48c6
dma-mapping: add generic helpers 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 DMA-mapping functions with a wrong number of entries or
ignoring the number of mapped entries returned by the dma_map_sg
function.

To avoid such issues, let's introduce a common wrappers 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>
Reviewed-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
include/linux/dma-mapping.h