Skip to content

Commit 131971f

Browse files
rleonmszyprow
authored andcommitted
dma-mapping: remove unused map_page callback
After conversion of arch code to use physical address mapping, there are no users of .map_page() and .unmap_page() callbacks, so let's remove them. Reviewed-by: Jason Gunthorpe <jgg@nvidia.com> Signed-off-by: Leon Romanovsky <leonro@nvidia.com> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Link: https://lore.kernel.org/r/20251015-remove-map-page-v5-14-3bbfe3a25cdf@kernel.org
1 parent 936a9f0 commit 131971f

3 files changed

Lines changed: 1 addition & 26 deletions

File tree

include/linux/dma-map-ops.h

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,6 @@ struct dma_map_ops {
3131
void *cpu_addr, dma_addr_t dma_addr, size_t size,
3232
unsigned long attrs);
3333

34-
dma_addr_t (*map_page)(struct device *dev, struct page *page,
35-
unsigned long offset, size_t size,
36-
enum dma_data_direction dir, unsigned long attrs);
37-
void (*unmap_page)(struct device *dev, dma_addr_t dma_handle,
38-
size_t size, enum dma_data_direction dir,
39-
unsigned long attrs);
40-
4134
dma_addr_t (*map_phys)(struct device *dev, phys_addr_t phys,
4235
size_t size, enum dma_data_direction dir,
4336
unsigned long attrs);

kernel/dma/mapping.c

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -171,16 +171,6 @@ dma_addr_t dma_map_phys(struct device *dev, phys_addr_t phys, size_t size,
171171
addr = iommu_dma_map_phys(dev, phys, size, dir, attrs);
172172
else if (ops->map_phys)
173173
addr = ops->map_phys(dev, phys, size, dir, attrs);
174-
else if (!is_mmio && ops->map_page) {
175-
struct page *page = phys_to_page(phys);
176-
size_t offset = offset_in_page(phys);
177-
178-
/*
179-
* The dma_ops API contract for ops->map_page() requires
180-
* kmappable memory.
181-
*/
182-
addr = ops->map_page(dev, page, offset, size, dir, attrs);
183-
}
184174

185175
if (!is_mmio)
186176
kmsan_handle_dma(phys, size, dir);
@@ -222,8 +212,6 @@ void dma_unmap_phys(struct device *dev, dma_addr_t addr, size_t size,
222212
iommu_dma_unmap_phys(dev, addr, size, dir, attrs);
223213
else if (ops->unmap_phys)
224214
ops->unmap_phys(dev, addr, size, dir, attrs);
225-
else
226-
ops->unmap_page(dev, addr, size, dir, attrs);
227215
trace_dma_unmap_phys(dev, addr, size, dir, attrs);
228216
debug_dma_unmap_phys(dev, addr, size, dir);
229217
}

kernel/dma/ops_helpers.c

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -76,11 +76,8 @@ struct page *dma_common_alloc_pages(struct device *dev, size_t size,
7676
if (use_dma_iommu(dev))
7777
*dma_handle = iommu_dma_map_phys(dev, phys, size, dir,
7878
DMA_ATTR_SKIP_CPU_SYNC);
79-
else if (ops->map_phys)
80-
*dma_handle = ops->map_phys(dev, phys, size, dir,
81-
DMA_ATTR_SKIP_CPU_SYNC);
8279
else
83-
*dma_handle = ops->map_page(dev, page, 0, size, dir,
80+
*dma_handle = ops->map_phys(dev, phys, size, dir,
8481
DMA_ATTR_SKIP_CPU_SYNC);
8582
if (*dma_handle == DMA_MAPPING_ERROR) {
8683
dma_free_contiguous(dev, page, size);
@@ -102,8 +99,5 @@ void dma_common_free_pages(struct device *dev, size_t size, struct page *page,
10299
else if (ops->unmap_phys)
103100
ops->unmap_phys(dev, dma_handle, size, dir,
104101
DMA_ATTR_SKIP_CPU_SYNC);
105-
else if (ops->unmap_page)
106-
ops->unmap_page(dev, dma_handle, size, dir,
107-
DMA_ATTR_SKIP_CPU_SYNC);
108102
dma_free_contiguous(dev, page, size);
109103
}

0 commit comments

Comments
 (0)