On Fri, Jun 14, 2019 at 04:44:30PM +0200, Christoph Hellwig wrote: > DMA_ATTR_NO_KERNEL_MAPPING is generally implemented by allocating > normal cacheable pages or CMA memory, and then returning the page > pointer as the opaque handle. Lift that code from the xtensa and > generic dma remapping implementations into the generic dma-direct > code so that we don't even call arch_dma_alloc for these allocations. > > Signed-off-by: Christoph Hellwig <hch@xxxxxx> This patch results in build failures for mips:nlm_xlp_defconfig and mips:cavium_octeon_defconfig. kernel/dma/direct.c:144: undefined reference to `arch_dma_prep_coherent' Reverting the patch fixes the problem. Guenter