Skip to content

Commit 63703f3

Browse files
Kefeng Wangtorvalds
authored andcommitted
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: Kefeng 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: Mike 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: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
1 parent db1d915 commit 63703f3

14 files changed

Lines changed: 23 additions & 60 deletions

File tree

arch/alpha/Kconfig

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ config ALPHA
4040
select MMU_GATHER_NO_RANGE
4141
select SET_FS
4242
select SPARSEMEM_EXTREME if SPARSEMEM
43+
select ZONE_DMA
4344
help
4445
The Alpha is a 64-bit general-purpose processor designed and
4546
marketed by the Digital Equipment Corporation of blessed memory,
@@ -65,10 +66,6 @@ config GENERIC_CALIBRATE_DELAY
6566
bool
6667
default y
6768

68-
config ZONE_DMA
69-
bool
70-
default y
71-
7269
config GENERIC_ISA_DMA
7370
bool
7471
default y

arch/arm/Kconfig

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -218,9 +218,6 @@ config GENERIC_CALIBRATE_DELAY
218218
config ARCH_MAY_HAVE_PC_FDC
219219
bool
220220

221-
config ZONE_DMA
222-
bool
223-
224221
config ARCH_SUPPORTS_UPROBES
225222
def_bool y
226223

arch/arm64/Kconfig

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ config ARM64
4242
select ARCH_HAS_SYSCALL_WRAPPER
4343
select ARCH_HAS_TEARDOWN_DMA_OPS if IOMMU_SUPPORT
4444
select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
45+
select ARCH_HAS_ZONE_DMA_SET if EXPERT
4546
select ARCH_HAVE_ELF_PROT
4647
select ARCH_HAVE_NMI_SAFE_CMPXCHG
4748
select ARCH_INLINE_READ_LOCK if !PREEMPTION
@@ -306,14 +307,6 @@ config GENERIC_CSUM
306307
config GENERIC_CALIBRATE_DELAY
307308
def_bool y
308309

309-
config ZONE_DMA
310-
bool "Support DMA zone" if EXPERT
311-
default y
312-
313-
config ZONE_DMA32
314-
bool "Support DMA32 zone" if EXPERT
315-
default y
316-
317310
config ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE
318311
def_bool y
319312

arch/ia64/Kconfig

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ config IA64
6060
select NUMA if !FLATMEM
6161
select PCI_MSI_ARCH_FALLBACKS if PCI_MSI
6262
select SET_FS
63+
select ZONE_DMA32
6364
default y
6465
help
6566
The Itanium Processor Family is Intel's 64-bit successor to
@@ -72,9 +73,6 @@ config 64BIT
7273
select ATA_NONSTANDARD if ATA
7374
default y
7475

75-
config ZONE_DMA32
76-
def_bool y
77-
7876
config MMU
7977
bool
8078
default y

arch/m68k/Kconfig

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ config M68K
3434
select SET_FS
3535
select UACCESS_MEMCPY if !MMU
3636
select VIRT_TO_BUS
37+
select ZONE_DMA
3738

3839
config CPU_BIG_ENDIAN
3940
def_bool y
@@ -62,10 +63,6 @@ config TIME_LOW_RES
6263
config NO_IOPORT_MAP
6364
def_bool y
6465

65-
config ZONE_DMA
66-
bool
67-
default y
68-
6966
config HZ
7067
int
7168
default 1000 if CLEOPATRA

arch/microblaze/Kconfig

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ config MICROBLAZE
4343
select MMU_GATHER_NO_RANGE
4444
select SPARSE_IRQ
4545
select SET_FS
46+
select ZONE_DMA
4647

4748
# Endianness selection
4849
choice
@@ -60,9 +61,6 @@ config CPU_LITTLE_ENDIAN
6061

6162
endchoice
6263

63-
config ZONE_DMA
64-
def_bool y
65-
6664
config ARCH_HAS_ILOG2_U32
6765
def_bool n
6866

arch/mips/Kconfig

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3274,13 +3274,6 @@ config I8253
32743274
select CLKSRC_I8253
32753275
select CLKEVT_I8253
32763276
select MIPS_EXTERNAL_TIMER
3277-
3278-
config ZONE_DMA
3279-
bool
3280-
3281-
config ZONE_DMA32
3282-
bool
3283-
32843277
endmenu
32853278

32863279
config TRAD_SIGNALS

arch/powerpc/Kconfig

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -403,10 +403,6 @@ config PPC_ADV_DEBUG_DAC_RANGE
403403
config PPC_DAWR
404404
bool
405405

406-
config ZONE_DMA
407-
bool
408-
default y if PPC_BOOK3E_64
409-
410406
config PGTABLE_LEVELS
411407
int
412408
default 2 if !PPC64

arch/powerpc/platforms/Kconfig.cputype

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,7 @@ config PPC_BOOK3E_64
111111
select PPC_FPU # Make it a choice ?
112112
select PPC_SMP_MUXED_IPI
113113
select PPC_DOORBELL
114+
select ZONE_DMA
114115

115116
endchoice
116117

arch/riscv/Kconfig

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ config RISCV
104104
select SYSCTL_EXCEPTION_TRACE
105105
select THREAD_INFO_IN_TASK
106106
select UACCESS_MEMCPY if !MMU
107+
select ZONE_DMA32 if 64BIT
107108

108109
config ARCH_MMAP_RND_BITS_MIN
109110
default 18 if 64BIT
@@ -133,10 +134,6 @@ config MMU
133134
Select if you want MMU-based virtualised addressing space
134135
support by paged memory management. If unsure, say 'Y'.
135136

136-
config ZONE_DMA32
137-
bool
138-
default y if 64BIT
139-
140137
config VA_BITS
141138
int
142139
default 32 if 32BIT

0 commit comments

Comments
 (0)