Commit 63703f37 authored by Kefeng Wang's avatar Kefeng Wang Committed by Linus Torvalds
Browse files

mm: generalize ZONE_[DMA|DMA32]

ZONE_[DMA|DMA32] configs have duplicate definitions on platforms that
subscribe to them.  Instead, just make them generic options which can be
selected on applicable platforms.

Also only x86/arm64 architectures could enable both ZONE_DMA and
ZONE_DMA32 if EXPERT, add ARCH_HAS_ZONE_DMA_SET to make dma zone
configurable and visible on the two architectures.

Link: https://lkml.kernel.org/r/20210528074557.17768-1-wangkefeng.wang@huawei.com


Signed-off-by: default avatarKefeng Wang <wangkefeng.wang@huawei.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>	[arm64]
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>	[m68k]
Acked-by: default avatarMike Rapoport <rppt@linux.ibm.com>
Acked-by: Palmer Dabbelt <palmerdabbelt@google.com>	[RISC-V]
Acked-by: Michal Simek <michal.simek@xilinx.com>	[microblaze]
Acked-by: Michael Ellerman <mpe@ellerman.id.au>		[powerpc]
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Richard Henderson <rth@twiddle.net>
Cc: Russell King <linux@armlinux.org.uk>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent db1d9152
Loading
Loading
Loading
Loading
+1 −4
Original line number Diff line number Diff line
@@ -40,6 +40,7 @@ config ALPHA
	select MMU_GATHER_NO_RANGE
	select SET_FS
	select SPARSEMEM_EXTREME if SPARSEMEM
	select ZONE_DMA
	help
	  The Alpha is a 64-bit general-purpose processor designed and
	  marketed by the Digital Equipment Corporation of blessed memory,
@@ -65,10 +66,6 @@ config GENERIC_CALIBRATE_DELAY
	bool
	default y

config ZONE_DMA
	bool
	default y

config GENERIC_ISA_DMA
	bool
	default y
+0 −3
Original line number Diff line number Diff line
@@ -218,9 +218,6 @@ config GENERIC_CALIBRATE_DELAY
config ARCH_MAY_HAVE_PC_FDC
	bool

config ZONE_DMA
	bool

config ARCH_SUPPORTS_UPROBES
	def_bool y

+1 −8
Original line number Diff line number Diff line
@@ -42,6 +42,7 @@ config ARM64
	select ARCH_HAS_SYSCALL_WRAPPER
	select ARCH_HAS_TEARDOWN_DMA_OPS if IOMMU_SUPPORT
	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
	select ARCH_HAS_ZONE_DMA_SET if EXPERT
	select ARCH_HAVE_ELF_PROT
	select ARCH_HAVE_NMI_SAFE_CMPXCHG
	select ARCH_INLINE_READ_LOCK if !PREEMPTION
@@ -306,14 +307,6 @@ config GENERIC_CSUM
config GENERIC_CALIBRATE_DELAY
	def_bool y

config ZONE_DMA
	bool "Support DMA zone" if EXPERT
	default y

config ZONE_DMA32
	bool "Support DMA32 zone" if EXPERT
	default y

config ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE
	def_bool y

+1 −3
Original line number Diff line number Diff line
@@ -60,6 +60,7 @@ config IA64
	select NUMA if !FLATMEM
	select PCI_MSI_ARCH_FALLBACKS if PCI_MSI
	select SET_FS
	select ZONE_DMA32
	default y
	help
	  The Itanium Processor Family is Intel's 64-bit successor to
@@ -72,9 +73,6 @@ config 64BIT
	select ATA_NONSTANDARD if ATA
	default y

config ZONE_DMA32
	def_bool y

config MMU
	bool
	default y
+1 −4
Original line number Diff line number Diff line
@@ -34,6 +34,7 @@ config M68K
	select SET_FS
	select UACCESS_MEMCPY if !MMU
	select VIRT_TO_BUS
	select ZONE_DMA

config CPU_BIG_ENDIAN
	def_bool y
@@ -62,10 +63,6 @@ config TIME_LOW_RES
config NO_IOPORT_MAP
	def_bool y

config ZONE_DMA
	bool
	default y

config HZ
	int
	default 1000 if CLEOPATRA
Loading