iommu: Add a kdoc to iommu_unmap()
Describe the most conservative version of the driver implementations. All drivers should support this. Many drivers support extending the range if a large page is hit, but let's not make that officially approved API. The main point is to document explicitly that split is not supported. Reviewed-by: Liviu Dudau <liviu.dudau@arm.com> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com> Link: https://lore.kernel.org/r/3-v3-b3a5b5937f56+7bb-arm_no_split_jgg@nvidia.com Signed-off-by: Will Deacon <will@kernel.org>
This commit is contained in:
committed by
Will Deacon
parent
fd50651636
commit
6ac7dffe7c
@@ -2586,6 +2586,20 @@ static size_t __iommu_unmap(struct iommu_domain *domain,
|
||||
return unmapped;
|
||||
}
|
||||
|
||||
/**
|
||||
* 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.
|
||||
*/
|
||||
size_t iommu_unmap(struct iommu_domain *domain,
|
||||
unsigned long iova, size_t size)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user