]> git.baikalelectronics.ru Git - kernel.git/commit
arm64: use both ZONE_DMA and ZONE_DMA32
authorNicolas Saenz Julienne <nsaenzjulienne@suse.de>
Wed, 11 Sep 2019 18:25:45 +0000 (20:25 +0200)
committerCatalin Marinas <catalin.marinas@arm.com>
Mon, 14 Oct 2019 09:56:28 +0000 (10:56 +0100)
commitcc78e6f0e761f70b14aaa6703e4f98fdafbd298a
tree99551151197c340df1954232793d142149717b72
parent68825b7226322759ce6f20240af95e8e7f4d8fc7
arm64: use both ZONE_DMA and ZONE_DMA32

So far all arm64 devices have supported 32 bit DMA masks for their
peripherals. This is not true anymore for the Raspberry Pi 4 as most of
it's peripherals can only address the first GB of memory on a total of
up to 4 GB.

This goes against ZONE_DMA32's intent, as it's expected for ZONE_DMA32
to be addressable with a 32 bit mask. So it was decided to re-introduce
ZONE_DMA in arm64.

ZONE_DMA will contain the lower 1G of memory, which is currently the
memory area addressable by any peripheral on an arm64 device.
ZONE_DMA32 will contain the rest of the 32 bit addressable memory.

Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/Kconfig
arch/arm64/include/asm/page.h
arch/arm64/mm/init.c