Messages in this thread | | | From | Nicolas Saenz Julienne <> | Subject | [PATCH v3 0/8] arm64: Default to 32-bit wide ZONE_DMA | Date | Wed, 14 Oct 2020 21:12:02 +0200 |
| |
Using two distinct DMA zones turned out to be problematic. Here's an attempt go back to a saner default.
I tested this on both a RPi4 and QEMU.
---
Changes since v2: - Introduce Ard's patch - Improve OF dma-ranges parsing function - Add unit test for OF function - Address small changes - Move crashkernel reservation later in boot process
Changes since v1: - Parse dma-ranges instead of using machine compatible string
Ard Biesheuvel (1): arm64: mm: Set ZONE_DMA size based on early IORT scan
Nicolas Saenz Julienne (7): arm64: mm: Move reserve_crashkernel() into mem_init() arm64: mm: Move zone_dma_bits initialization into zone_sizes_init() of/address: Introduce of_dma_get_max_cpu_address() of: unittest: Add test for of_dma_get_max_cpu_address() dma-direct: Turn zone_dma_bits default value into a define arm64: mm: Set ZONE_DMA size based on devicetree's dma-ranges mm: Update DMA zones description
arch/arm64/include/asm/processor.h | 1 + arch/arm64/mm/init.c | 20 ++++++------ drivers/acpi/arm64/iort.c | 51 ++++++++++++++++++++++++++++++ drivers/of/address.c | 42 ++++++++++++++++++++++++ drivers/of/unittest.c | 20 ++++++++++++ include/linux/acpi_iort.h | 4 +++ include/linux/dma-direct.h | 3 ++ include/linux/mmzone.h | 5 +-- include/linux/of.h | 7 ++++ kernel/dma/direct.c | 2 +- 10 files changed, 143 insertions(+), 12 deletions(-)
-- 2.28.0
| |