[PATCH 4/9] dma-mapping: move the arm64 ncoherent alloc/free support to common code
From: Will Deacon <hidden>
Date: 2018-11-15 19:50:09
Also in:
linux-iommu, lkml
From: Will Deacon <hidden>
Date: 2018-11-15 19:50:09
Also in:
linux-iommu, lkml
Hi Christoph, Minor nit: typo in the subject "ncoherent". On Mon, Nov 05, 2018 at 01:19:26PM +0100, Christoph Hellwig wrote:
The arm64 codebase to implement coherent dma allocation for architectures with non-coherent DMA is a good start for a generic implementation, given that is uses the generic remap helpers, provides the atomic pool for allocations that can't sleep and still is realtively simple and well tested. Move it to kernel/dma and allow architectures to opt into it using a config symbol. Architectures just need to provide a new arch_dma_prep_coherent helper to writeback an invalidate the caches for any memory that gets remapped for uncached access. Signed-off-by: Christoph Hellwig <hch@lst.de> --- arch/arm64/Kconfig | 2 +- arch/arm64/mm/dma-mapping.c | 184 ++------------------------------ include/linux/dma-mapping.h | 5 + include/linux/dma-noncoherent.h | 2 + kernel/dma/Kconfig | 6 ++ kernel/dma/remap.c | 158 ++++++++++++++++++++++++++- 6 files changed, 181 insertions(+), 176 deletions(-)
I'm currently at LPC, so I've not been able to test this, but I've been through the changes this morning and they look fine to me, so: Reviewed-by: Will Deacon <redacted> Hopefully we'll get the fallout from the previous changes addressed next week. Cheers, Will