On Tue, Nov 19, 2024 at 03:57:43PM +0200, Leon Romanovsky wrote: > > > dma_iova_link/dma_iova_unlink() don't have any assumptions in addition > > > to already existing for dma_map_sg/dma_unmap_sg(). In reality, it means > > > that all calls to unlink will have same size as for link. > > > > Ok, great. Any chance you could call that out in the documentation patch, > > please? > > Can you suggest what should I add there, as it is not specific to new > API, but general note applicable to all __iommu_unmap() callers? This is what I wrote: +/** + * iommu_unmap() - Remove mappings from a range of IOVA + * @domain: Domain to manipulate + * @iova: IO virtual address to start + * @size: Length of the range starting from @iova + * + * iommu_unmap() will remove a translation created by iommu_map(). It cannot + * subdivide a mapping created by iommu_map(), so it should be called with IOVA + * ranges that match what was passed to iommu_map(). The range can aggregate + * contiguous iommu_map() calls so long as no individual range is split. + * + * Returns: Number of bytes of IOVA unmapped. iova + res will be the point + * unmapping stopped. + */ Jason