ARM: 9323/1: mm: Fix ARCH_LOW_ADDRESS_LIMIT when CONFIG_ZONE_DMA
authorwahrenst <wahrenst@gmx.net>
Wed, 6 Sep 2023 21:40:12 +0000 (22:40 +0100)
committerRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
Thu, 5 Oct 2023 15:15:42 +0000 (16:15 +0100)
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>
arch/arm/include/asm/dma.h

index c6aded1b069cf04ea2e51e3306613ffa3669a2a6..e2a1916013e75ee1b39b0bbe54f99a4528389833 100644 (file)
@@ -12,6 +12,9 @@
        extern phys_addr_t arm_dma_zone_size; \
        arm_dma_zone_size && arm_dma_zone_size < (0x100000000ULL - PAGE_OFFSET) ? \
                (PAGE_OFFSET + arm_dma_zone_size) : 0xffffffffUL; })
+
+extern phys_addr_t arm_dma_limit;
+#define ARCH_LOW_ADDRESS_LIMIT arm_dma_limit
 #endif
 
 #ifdef CONFIG_ISA_DMA_API