@@ -12,6 +12,9 @@
#include <linux/mem_encrypt.h>
#include <linux/swiotlb.h>
+#ifndef ZONE_DMA_BITS_DEFAULT
+#define ZONE_DMA_BITS_DEFAULT 24
+#endif
extern unsigned int zone_dma_bits;
/*
@@ -20,7 +20,7 @@
* it for entirely different regions. In that case the arch code needs to
* override the variable below for dma-direct to work properly.
*/
-unsigned int zone_dma_bits __ro_after_init = 24;
+unsigned int zone_dma_bits __ro_after_init = ZONE_DMA_BITS_DEFAULT;
static inline dma_addr_t phys_to_dma_direct(struct device *dev,
phys_addr_t phys)
So as for architecture code to set their own default values when relevant. Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> --- Note: This is not really needed, but I think it nicer having architectures use this than setting zone_dma_bits in a random place in arch code. That said, I'll hapily edit it out if you don't agree. include/linux/dma-direct.h | 3 +++ kernel/dma/direct.c | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-)