arm64: default to the direct mapping in get_arch_dma_ops
authorChristoph Hellwig <hch@lst.de>
Fri, 14 Dec 2018 14:18:08 +0000 (15:18 +0100)
committerChristoph Hellwig <hch@lst.de>
Wed, 19 Dec 2018 17:00:12 +0000 (18:00 +0100)
Otherwise the direct mapping won't work at all given that a NULL
dev->dma_ops causes a fallback.  Note that we already explicitly set
dev->dma_ops to dma_dummy_ops for dma-incapable devices, so this
fallback should not be needed anyway.

Fixes: 356da6d0cd ("dma-mapping: bypass indirect calls for dma-direct")
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reported-by: Marek Szyprowski <m.szyprowski@samsung.com>
Tested-by: Marek Szyprowski <m.szyprowski@samsung.com>
Reviewed-by: Robin Murphy <robin.murphy@arm.com>
arch/arm64/include/asm/dma-mapping.h

index 273e778..95dbf3e 100644 (file)
 
 static inline const struct dma_map_ops *get_arch_dma_ops(struct bus_type *bus)
 {
-       /*
-        * We expect no ISA devices, and all other DMA masters are expected to
-        * have someone call arch_setup_dma_ops at device creation time.
-        */
-       return &dma_dummy_ops;
+       return NULL;
 }
 
 void arch_setup_dma_ops(struct device *dev, u64 dma_base, u64 size,