• Marek Szyprowski's avatar
    dma-mapping: add generic helpers for mapping sgtable objects · d9d200bc
    Marek Szyprowski authored
    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: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
    Reviewed-by: default avatarRobin Murphy <robin.murphy@arm.com>
    Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
    d9d200bc
dma-mapping.h 29 KB