Commit aa8ba227 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Joerg Roedel
Browse files

iommu/dma: Remove __iommu_dma_free



We only have a single caller of this function left, so open code it there.

Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarRobin Murphy <robin.murphy@arm.com>
Signed-off-by: default avatarJoerg Roedel <jroedel@suse.de>
parent 21b95aaf
Loading
Loading
Loading
Loading
+2 −19
Original line number Diff line number Diff line
@@ -563,24 +563,6 @@ static struct page **__iommu_dma_get_pages(void *cpu_addr)
	return area->pages;
}

/**
 * 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
@@ -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);