[PATCH v7 02/17] dma: Allow dma_get_cache_alignment() to be overridden by the arch code
Catalin Marinas
catalin.marinas at arm.com
Mon Jun 12 08:31:46 PDT 2023
On arm64, ARCH_DMA_MINALIGN is larger than most cache line size
configurations deployed. Allow an architecture to override
dma_get_cache_alignment() in order to return a run-time probed value
(e.g. cache_line_size()).
Signed-off-by: Catalin Marinas <catalin.marinas at arm.com>
Reviewed-by: Christoph Hellwig <hch at lst.de>
Cc: Robin Murphy <robin.murphy at arm.com>
Cc: Will Deacon <will at kernel.org>
Tested-by: Isaac J. Manjarres <isaacmanjarres at google.com>
---
include/linux/dma-mapping.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/include/linux/dma-mapping.h b/include/linux/dma-mapping.h
index a50375331eac..e13050eb9777 100644
--- a/include/linux/dma-mapping.h
+++ b/include/linux/dma-mapping.h
@@ -544,6 +544,7 @@ static inline int dma_set_min_align_mask(struct device *dev,
return 0;
}
+#ifndef dma_get_cache_alignment
static inline int dma_get_cache_alignment(void)
{
#ifdef ARCH_HAS_DMA_MINALIGN
@@ -551,6 +552,7 @@ static inline int dma_get_cache_alignment(void)
#endif
return 1;
}
+#endif
static inline void *dmam_alloc_coherent(struct device *dev, size_t size,
dma_addr_t *dma_handle, gfp_t gfp)
More information about the linux-arm-kernel
mailing list