Commit 964f2311 authored by Christoph Hellwig's avatar Christoph Hellwig

iommu/intel: small map_page cleanup

Pass the page + offset to the low-level __iommu_map_single helper
(which gets renamed to fit the new calling conventions) as both
callers have the page at hand.
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Acked-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent b3aa14f0
...@@ -3597,9 +3597,11 @@ static int iommu_no_mapping(struct device *dev) ...@@ -3597,9 +3597,11 @@ static int iommu_no_mapping(struct device *dev)
return 0; return 0;
} }
static dma_addr_t __intel_map_single(struct device *dev, phys_addr_t paddr, static dma_addr_t __intel_map_page(struct device *dev, struct page *page,
size_t size, int dir, u64 dma_mask) unsigned long offset, size_t size, int dir,
u64 dma_mask)
{ {
phys_addr_t paddr = page_to_phys(page) + offset;
struct dmar_domain *domain; struct dmar_domain *domain;
phys_addr_t start_paddr; phys_addr_t start_paddr;
unsigned long iova_pfn; unsigned long iova_pfn;
...@@ -3661,8 +3663,7 @@ static dma_addr_t intel_map_page(struct device *dev, struct page *page, ...@@ -3661,8 +3663,7 @@ static dma_addr_t intel_map_page(struct device *dev, struct page *page,
enum dma_data_direction dir, enum dma_data_direction dir,
unsigned long attrs) unsigned long attrs)
{ {
return __intel_map_single(dev, page_to_phys(page) + offset, size, return __intel_map_page(dev, page, offset, size, dir, *dev->dma_mask);
dir, *dev->dma_mask);
} }
static void intel_unmap(struct device *dev, dma_addr_t dev_addr, size_t size) static void intel_unmap(struct device *dev, dma_addr_t dev_addr, size_t size)
...@@ -3753,8 +3754,7 @@ static void *intel_alloc_coherent(struct device *dev, size_t size, ...@@ -3753,8 +3754,7 @@ static void *intel_alloc_coherent(struct device *dev, size_t size,
return NULL; return NULL;
memset(page_address(page), 0, size); memset(page_address(page), 0, size);
*dma_handle = __intel_map_single(dev, page_to_phys(page), size, *dma_handle = __intel_map_page(dev, page, 0, size, DMA_BIDIRECTIONAL,
DMA_BIDIRECTIONAL,
dev->coherent_dma_mask); dev->coherent_dma_mask);
if (*dma_handle) if (*dma_handle)
return page_address(page); return page_address(page);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment