Messages in this thread | | | From | Nicolas Saenz Julienne <> | Subject | [PATCH v6 0/7] arm64: Default to 32-bit wide ZONE_DMA | Date | Tue, 3 Nov 2020 18:31:51 +0100 |
| |
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 v5: - Unify ACPI/DT functions
Changes since v4: - Fix of_dma_get_max_cpu_address() so it returns the last addressable addres, not the limit
Changes since v3: - Drop patch adding define in dma-mapping - Address small review changes - Update Ard's patch - Add new patch removing examples from mmzone.h
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 (6): 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() arm64: mm: Set ZONE_DMA size based on devicetree's dma-ranges mm: Remove examples from enum zone_type comment
arch/arm64/mm/init.c | 18 ++++++------- drivers/acpi/arm64/iort.c | 55 +++++++++++++++++++++++++++++++++++++++ drivers/of/address.c | 42 ++++++++++++++++++++++++++++++ drivers/of/unittest.c | 18 +++++++++++++ include/linux/acpi_iort.h | 4 +++ include/linux/mmzone.h | 20 -------------- include/linux/of.h | 7 +++++ 7 files changed, 135 insertions(+), 29 deletions(-)
-- 2.29.1
| |