aboutsummaryrefslogtreecommitdiff
path: root/kernel/dma/remap.c
diff options
context:
space:
mode:
authorGravatar Christoph Hellwig <hch@lst.de> 2019-10-29 11:01:37 +0100
committerGravatar Christoph Hellwig <hch@lst.de> 2019-11-11 10:52:15 +0100
commit34dc0ea6bc960f1f57b2148f01a3f4da23f87013 (patch)
treef6d10010989435562d0ece0971ed992febe6c26c /kernel/dma/remap.c
parentdma-direct: remove the dma_handle argument to __dma_direct_alloc_pages (diff)
downloadlinux-34dc0ea6bc960f1f57b2148f01a3f4da23f87013.tar.gz
linux-34dc0ea6bc960f1f57b2148f01a3f4da23f87013.tar.bz2
linux-34dc0ea6bc960f1f57b2148f01a3f4da23f87013.zip
dma-direct: provide mmap and get_sgtable method overrides
For dma-direct we know that the DMA address is an encoding of the physical address that we can trivially decode. Use that fact to provide implementations that do not need the arch_dma_coherent_to_pfn architecture hook. Note that we still can only support mmap of non-coherent memory only if the architecture provides a way to set an uncached bit in the page tables. This must be true for architectures that use the generic remap helpers, but other architectures can also manually select it. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Max Filippov <jcmvbkbc@gmail.com>
Diffstat (limited to 'kernel/dma/remap.c')
-rw-r--r--kernel/dma/remap.c6
1 files changed, 0 insertions, 6 deletions
diff --git a/kernel/dma/remap.c b/kernel/dma/remap.c
index 90d5ce77c189..3c49499ee6b0 100644
--- a/kernel/dma/remap.c
+++ b/kernel/dma/remap.c
@@ -259,10 +259,4 @@ void arch_dma_free(struct device *dev, size_t size, void *vaddr,
dma_free_contiguous(dev, page, size);
}
}
-
-long arch_dma_coherent_to_pfn(struct device *dev, void *cpu_addr,
- dma_addr_t dma_addr)
-{
- return __phys_to_pfn(dma_to_phys(dev, dma_addr));
-}
#endif /* CONFIG_DMA_DIRECT_REMAP */