6.1-stable review patch. If anyone has any objections, please let me know.
------------------
From: Catalin Marinas catalin.marinas@arm.com
commit 8c57da28dc3df4e091474a004b5596c9b88a3be0 upstream.
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()).
Link: https://lkml.kernel.org/r/20230612153201.554742-3-catalin.marinas@arm.com Signed-off-by: Catalin Marinas catalin.marinas@arm.com Reviewed-by: Christoph Hellwig hch@lst.de Tested-by: Isaac J. Manjarres isaacmanjarres@google.com Cc: Robin Murphy robin.murphy@arm.com Cc: Will Deacon will@kernel.org Cc: Alasdair Kergon agk@redhat.com Cc: Ard Biesheuvel ardb@kernel.org Cc: Arnd Bergmann arnd@arndb.de Cc: Daniel Vetter daniel@ffwll.ch Cc: Greg Kroah-Hartman gregkh@linuxfoundation.org Cc: Herbert Xu herbert@gondor.apana.org.au Cc: Jerry Snitselaar jsnitsel@redhat.com Cc: Joerg Roedel joro@8bytes.org Cc: Jonathan Cameron jic23@kernel.org Cc: Jonathan Cameron Jonathan.Cameron@huawei.com Cc: Lars-Peter Clausen lars@metafoo.de Cc: Logan Gunthorpe logang@deltatee.com Cc: Marc Zyngier maz@kernel.org Cc: Mark Brown broonie@kernel.org Cc: Mike Snitzer snitzer@kernel.org Cc: "Rafael J. Wysocki" rafael@kernel.org Cc: Saravana Kannan saravanak@google.com Cc: Vlastimil Babka vbabka@suse.cz Signed-off-by: Andrew Morton akpm@linux-foundation.org Cc: Guenter Roeck linux@roeck-us.net Signed-off-by: Greg Kroah-Hartman gregkh@linuxfoundation.org --- include/linux/dma-mapping.h | 2 ++ 1 file changed, 2 insertions(+)
--- a/include/linux/dma-mapping.h +++ b/include/linux/dma-mapping.h @@ -544,6 +544,7 @@ static inline int dma_set_min_align_mask 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_alignmen #endif return 1; } +#endif
static inline void *dmam_alloc_coherent(struct device *dev, size_t size, dma_addr_t *dma_handle, gfp_t gfp)