Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: 9323/1: mm: Fix ARCH_LOW_ADDRESS_LIMIT when CONFIG_ZONE_DMA

Configuring VMSPLIT_2G + LPAE on Raspberry Pi 4 leads to SWIOTLB
buffer allocation beyond platform dma_zone_size of SZ_1G, which
results in broken SD card boot.

So fix this be setting ARCH_LOW_ADDRESS_LIMIT in CONFIG_ZONE_DMA
case.

Suggested-by: Russell King <rmk+kernel@armlinux.org.uk>
Fixes: e9faf9b0b07a ("ARM: add multi_v7_lpae_defconfig")
Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>

authored by

wahrenst and committed by
Russell King (Oracle)
399da29f 3562257b

+3
+3
arch/arm/include/asm/dma.h
··· 12 12 extern phys_addr_t arm_dma_zone_size; \ 13 13 arm_dma_zone_size && arm_dma_zone_size < (0x100000000ULL - PAGE_OFFSET) ? \ 14 14 (PAGE_OFFSET + arm_dma_zone_size) : 0xffffffffUL; }) 15 + 16 + extern phys_addr_t arm_dma_limit; 17 + #define ARCH_LOW_ADDRESS_LIMIT arm_dma_limit 15 18 #endif 16 19 17 20 #ifdef CONFIG_ISA_DMA_API