diff options
author | Christoph Hellwig <hch@lst.de> | 2023-10-17 17:04:42 +0300 |
---|---|---|
committer | Christoph Hellwig <hch@lst.de> | 2023-10-22 17:38:54 +0300 |
commit | 9e28bf8bdf2177a88bd6648fc741bc0280e08af8 (patch) | |
tree | 48d0dcc3c9d4d37994651d2a78bdc076a4c1f1cd /arch/m68k/Kconfig | |
parent | 63f067e33c996a6e4d9a34d138116a43105182f1 (diff) | |
download | linux-9e28bf8bdf2177a88bd6648fc741bc0280e08af8.tar.xz |
m68k: use the coherent DMA code for coldfire without data cache
Coldfire cores configured without a data cache are DMA coherent and
should thus simply use the simple coherent version of dma-direct.
Introduce a new COLDFIRE_COHERENT_DMA Kconfig symbol as a convenient
short hand for such configurations, and a M68K_NONCOHERENT_DMA symbol
for all cases where we need to build non-coherent DMA infrastructure
to simplify the Kconfig and code conditionals.
Not building the non-coherent DMA code slightly reduces the code
size for such configurations.
Numers for m5249evb_defconfig below:
text data bss dec hex filename
2896158 401052 65392 3362602 334f2a vmlinux.before
2895166 400988 65392 3361546 334b0a vmlinux.after
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Greg Ungerer <gerg@linux-m68k.org>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Tested-by: Greg Ungerer <gerg@linux-m68k.org>
Diffstat (limited to 'arch/m68k/Kconfig')
-rw-r--r-- | arch/m68k/Kconfig | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig index 4f3e7dec2171..50ada24dfbba 100644 --- a/arch/m68k/Kconfig +++ b/arch/m68k/Kconfig @@ -6,16 +6,16 @@ config M68K select ARCH_HAS_BINFMT_FLAT select ARCH_HAS_CPU_FINALIZE_INIT if MMU select ARCH_HAS_CURRENT_STACK_POINTER - select ARCH_HAS_DMA_ALLOC if !MMU || COLDFIRE - select ARCH_HAS_DMA_PREP_COHERENT if HAS_DMA && MMU && !COLDFIRE - select ARCH_HAS_SYNC_DMA_FOR_DEVICE if HAS_DMA + select ARCH_HAS_DMA_ALLOC if M68K_NONCOHERENT_DMA && COLDFIRE + select ARCH_HAS_DMA_PREP_COHERENT if M68K_NONCOHERENT_DMA && !COLDFIRE + select ARCH_HAS_SYNC_DMA_FOR_DEVICE if M68K_NONCOHERENT_DMA select ARCH_HAVE_NMI_SAFE_CMPXCHG if RMW_INSNS select ARCH_MIGHT_HAVE_PC_PARPORT if ISA select ARCH_NO_PREEMPT if !COLDFIRE select ARCH_USE_MEMTEST if MMU_MOTOROLA select ARCH_WANT_IPC_PARSE_VERSION select BINFMT_FLAT_ARGVP_ENVP_ON_STACK - select DMA_DIRECT_REMAP if HAS_DMA && MMU && !COLDFIRE + select DMA_DIRECT_REMAP if M68K_NONCOHERENT_DMA && !COLDFIRE select GENERIC_ATOMIC64 select GENERIC_CPU_DEVICES select GENERIC_IOMAP |