summaryrefslogtreecommitdiffstats
path: root/drivers/iommu
diff options
context:
space:
mode:
authorChristoph Hellwig2019-05-20 09:29:35 +0200
committerJoerg Roedel2019-05-27 17:31:11 +0200
commitaa8ba2275705aa47df9f52e13c5126688c478966 (patch)
tree3d5e26a4757ddd59edb371ad15f7d73f68afcd74 /drivers/iommu
parentiommu/dma: Refactor the page array remapping allocator (diff)
downloadkernel-qcow2-linux-aa8ba2275705aa47df9f52e13c5126688c478966.tar.gz
kernel-qcow2-linux-aa8ba2275705aa47df9f52e13c5126688c478966.tar.xz
kernel-qcow2-linux-aa8ba2275705aa47df9f52e13c5126688c478966.zip
iommu/dma: Remove __iommu_dma_free
We only have a single caller of this function left, so open code it there. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Robin Murphy <robin.murphy@arm.com> Signed-off-by: Joerg Roedel <jroedel@suse.de>
Diffstat (limited to 'drivers/iommu')
-rw-r--r--drivers/iommu/dma-iommu.c21
1 files changed, 2 insertions, 19 deletions
diff --git a/drivers/iommu/dma-iommu.c b/drivers/iommu/dma-iommu.c
index 0ffb7805de77..5e0c8450fa0b 100644
--- a/drivers/iommu/dma-iommu.c
+++ b/drivers/iommu/dma-iommu.c
@@ -564,24 +564,6 @@ static struct page **__iommu_dma_get_pages(void *cpu_addr)
}
/**
- * iommu_dma_free - Free a buffer allocated by iommu_dma_alloc_remap()
- * @dev: Device which owns this buffer
- * @pages: Array of buffer pages as returned by __iommu_dma_alloc_remap()
- * @size: Size of buffer in bytes
- * @handle: DMA address of buffer
- *
- * Frees both the pages associated with the buffer, and the array
- * describing them
- */
-static void __iommu_dma_free(struct device *dev, struct page **pages,
- size_t size, dma_addr_t *handle)
-{
- __iommu_dma_unmap(dev, *handle, size);
- __iommu_dma_free_pages(pages, PAGE_ALIGN(size) >> PAGE_SHIFT);
- *handle = DMA_MAPPING_ERROR;
-}
-
-/**
* iommu_dma_alloc_remap - Allocate and map a buffer contiguous in IOVA space
* @dev: Device to allocate memory for. Must be a real device
* attached to an iommu_dma_domain
@@ -1053,7 +1035,8 @@ static void iommu_dma_free(struct device *dev, size_t size, void *cpu_addr,
if (!pages)
return;
- __iommu_dma_free(dev, pages, iosize, &handle);
+ __iommu_dma_unmap(dev, handle, iosize);
+ __iommu_dma_free_pages(pages, size >> PAGE_SHIFT);
dma_common_free_remap(cpu_addr, size, VM_USERMAP);
} else {
__iommu_dma_unmap(dev, handle, iosize);