[PATCH v3 03/13] iommu/dma: Force bouncing of the size is not cacheline-aligned
Isaac Manjarres
isaacmanjarres at google.com
Mon Nov 14 15:23:54 PST 2022
On Sun, Nov 06, 2022 at 10:01:33PM +0000, Catalin Marinas wrote:
> @@ -1202,7 +1203,10 @@ static int iommu_dma_map_sg(struct device *dev, struct scatterlist *sg,
> goto out;
> }
>
> - if (dev_use_swiotlb(dev))
> + if (dma_sg_kmalloc_needs_bounce(dev, sg, nents, dir))
> + sg_dma_mark_bounced(sg);
> +
> + if (dev_use_swiotlb(dev) || sg_is_dma_bounced(sg))
> return iommu_dma_map_sg_swiotlb(dev, sg, nents, dir, attrs);
Shouldn't you add a similar check in the iommu_dma_unmap_sg() path to
free any SWIOTLB memory that may have been allocated to bounce a scatter gather
list?
More information about the linux-arm-kernel
mailing list