aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2019-01-04 12:20:05 -0500
committerChristoph Hellwig <hch@lst.de>2019-02-01 03:56:15 -0500
commitcfced786969c2a3e1bca45d7055a00311d93ae6c (patch)
tree0a03249458b9e8bc56f9b8f594efb8c4c1b6d512 /kernel
parentf17b5f06cb92ef2250513a1e154c47b78df07d40 (diff)
dma-mapping: remove the default map_resource implementation
Instead provide a proper implementation in the direct mapping code, and also wire it up for arm and powerpc, leaving an error return for all the IOMMU or virtual mapping instances for which we'd have to wire up an actual implementation Signed-off-by: Christoph Hellwig <hch@lst.de> Tested-by: Marek Szyprowski <m.szyprowski@samsung.com>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/dma/direct.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/kernel/dma/direct.c b/kernel/dma/direct.c
index 355d16acee6d..25bd19974223 100644
--- a/kernel/dma/direct.c
+++ b/kernel/dma/direct.c
@@ -356,6 +356,20 @@ out_unmap:
356} 356}
357EXPORT_SYMBOL(dma_direct_map_sg); 357EXPORT_SYMBOL(dma_direct_map_sg);
358 358
359dma_addr_t dma_direct_map_resource(struct device *dev, phys_addr_t paddr,
360 size_t size, enum dma_data_direction dir, unsigned long attrs)
361{
362 dma_addr_t dma_addr = paddr;
363
364 if (unlikely(!dma_direct_possible(dev, dma_addr, size))) {
365 report_addr(dev, dma_addr, size);
366 return DMA_MAPPING_ERROR;
367 }
368
369 return dma_addr;
370}
371EXPORT_SYMBOL(dma_direct_map_resource);
372
359/* 373/*
360 * Because 32-bit DMA masks are so common we expect every architecture to be 374 * Because 32-bit DMA masks are so common we expect every architecture to be
361 * able to satisfy them - either by not supporting more physical memory, or by 375 * able to satisfy them - either by not supporting more physical memory, or by