[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date: Sat, 10 Oct 2020 17:12:30 +0200
From: Nicolas Saenz Julienne <nsaenzjulienne@...e.de>
To: robh+dt@...nel.org, catalin.marinas@....com, hch@....de,
ardb@...nel.org, linux-kernel@...r.kernel.org
Cc: robin.murphy@....com, linux-arm-kernel@...ts.infradead.org,
linux-rpi-kernel@...ts.infradead.org, jeremy.linton@....com,
iommu@...ts.linux-foundation.org, devicetree@...r.kernel.org,
Nicolas Saenz Julienne <nsaenzjulienne@...e.de>,
linux-mm@...ck.org
Subject: [PATCH v2 0/5] arm64: Default to 32-bit wide ZONE_DMA
I realized this morning after reading Ard's patch fixing the same issue
in ACPI that we can move the zone_dma_bits initialization later in the
init process. This permits the use of OF to parse dma-ranges in the
system. Something we though we couldn't do on previous iterations of
this.
The series sits on top of Ard's patch "arm64: mm: set ZONE_DMA size
based on early IORT scan."
--- Original cover letter
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 v1:
- Parse dma-ranges instead of using machine compatible string
Nicolas Saenz Julienne (5):
arm64: mm: Move zone_dma_bits initialization into zone_sizes_init()
of/address: Introduce of_dma_lower_bus_limit()
dma-direct: Turn zone_dma_bits default value into a define
arm64: mm: Dynamically resize zone_dma_bits based on system's
constraints
mm: Update DMA zones description
arch/arm64/include/asm/processor.h | 1 +
arch/arm64/mm/init.c | 12 ++++-------
drivers/of/address.c | 34 ++++++++++++++++++++++++++++++
include/linux/dma-direct.h | 3 +++
include/linux/mmzone.h | 5 +++--
include/linux/of.h | 7 ++++++
kernel/dma/direct.c | 2 +-
7 files changed, 53 insertions(+), 11 deletions(-)
--
2.28.0
Powered by blists - more mailing lists