xref: /linux/drivers/dma/Kconfig (revision bfdf35c5dc6267f70f76abddfacface4dd3b9ac0)
1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
2c13c8260SChris Leech#
3c13c8260SChris Leech# DMA engine configuration
4c13c8260SChris Leech#
5c13c8260SChris Leech
62ed6dc34SShannon Nelsonmenuconfig DMADEVICES
76d4f5879SHaavard Skinnemoen	bool "DMA Engine support"
804ce9ab3SDan Williams	depends on HAS_DMA
92ed6dc34SShannon Nelson	help
106d4f5879SHaavard Skinnemoen	  DMA engines can do asynchronous data transfers without
116d4f5879SHaavard Skinnemoen	  involving the host CPU.  Currently, this framework can be
126d4f5879SHaavard Skinnemoen	  used to offload memory copies in the network stack and
139c402f4eSDan Williams	  RAID operations in the MD driver.  This menu only presents
149c402f4eSDan Williams	  DMA Device drivers supported by the configured arch, it may
159c402f4eSDan Williams	  be empty in some cases.
16c13c8260SChris Leech
176c664a89SLinus Walleijconfig DMADEVICES_DEBUG
186c664a89SLinus Walleij	bool "DMA Engine debugging"
196c664a89SLinus Walleij	depends on DMADEVICES != n
206c664a89SLinus Walleij	help
216c664a89SLinus Walleij	  This is an option for use by developers; most people should
226c664a89SLinus Walleij	  say N here.  This enables DMA engine core and driver debugging.
236c664a89SLinus Walleij
246c664a89SLinus Walleijconfig DMADEVICES_VDEBUG
256c664a89SLinus Walleij	bool "DMA Engine verbose debugging"
266c664a89SLinus Walleij	depends on DMADEVICES_DEBUG != n
276c664a89SLinus Walleij	help
286c664a89SLinus Walleij	  This is an option for use by developers; most people should
296c664a89SLinus Walleij	  say N here.  This enables deeper (more verbose) debugging of
306c664a89SLinus Walleij	  the DMA engine core and drivers.
316c664a89SLinus Walleij
326c664a89SLinus Walleij
332ed6dc34SShannon Nelsonif DMADEVICES
34db217334SChris Leech
350bbd5f4eSChris Leechcomment "DMA Devices"
360bbd5f4eSChris Leech
373c216190SVinod Koul#core
385fc6d897SDan Williamsconfig ASYNC_TX_ENABLE_CHANNEL_SWITCH
39138f4c35SDan Williams	bool
40138f4c35SDan Williams
413c216190SVinod Koulconfig ARCH_HAS_ASYNC_TX_FIND_CHANNEL
423c216190SVinod Koul	bool
433c216190SVinod Koul
443c216190SVinod Koulconfig DMA_ENGINE
453c216190SVinod Koul	bool
463c216190SVinod Koul
473c216190SVinod Koulconfig DMA_VIRTUAL_CHANNELS
483c216190SVinod Koul	tristate
493c216190SVinod Koul
503c216190SVinod Koulconfig DMA_ACPI
513c216190SVinod Koul	def_bool y
523c216190SVinod Koul	depends on ACPI
533c216190SVinod Koul
543c216190SVinod Koulconfig DMA_OF
553c216190SVinod Koul	def_bool y
563c216190SVinod Koul	depends on OF
573c216190SVinod Koul	select DMA_ENGINE
583c216190SVinod Koul
593c216190SVinod Koul#devices
60a85c6f1bSStefan Roeseconfig ALTERA_MSGDMA
61a85c6f1bSStefan Roese	tristate "Altera / Intel mSGDMA Engine"
62253697b9SRandy Dunlap	depends on HAS_IOMEM
63a85c6f1bSStefan Roese	select DMA_ENGINE
64a85c6f1bSStefan Roese	help
65a85c6f1bSStefan Roese	  Enable support for Altera / Intel mSGDMA controller.
66a85c6f1bSStefan Roese
67e8689e63SLinus Walleijconfig AMBA_PL08X
68e8689e63SLinus Walleij	bool "ARM PrimeCell PL080 or PL081 support"
69c6a0aec9SKees Cook	depends on ARM_AMBA
70e8689e63SLinus Walleij	select DMA_ENGINE
71083be28aSRussell King	select DMA_VIRTUAL_CHANNELS
72e8689e63SLinus Walleij	help
731e1cfc72SLinus Walleij	  Say yes if your platform has a PL08x DMAC device which can
741e1cfc72SLinus Walleij	  provide DMA engine support. This includes the original ARM
751e1cfc72SLinus Walleij	  PL080 and PL081, Samsungs PL080 derivative and Faraday
761e1cfc72SLinus Walleij	  Technology's FTDMAC020 PL080 derivative.
77e8689e63SLinus Walleij
783c216190SVinod Koulconfig AMCC_PPC440SPE_ADMA
793c216190SVinod Koul	tristate "AMCC PPC440SPe ADMA support"
803c216190SVinod Koul	depends on 440SPe || 440SP
813c216190SVinod Koul	select DMA_ENGINE
823c216190SVinod Koul	select DMA_ENGINE_RAID
833c216190SVinod Koul	select ARCH_HAS_ASYNC_TX_FIND_CHANNEL
843c216190SVinod Koul	select ASYNC_TX_ENABLE_CHANNEL_SWITCH
85e5f4ae84SJoachim Eastwood	help
863c216190SVinod Koul	  Enable support for the AMCC PPC440SPe RAID engines.
873c216190SVinod Koul
88b127315dSMartin Povišerconfig APPLE_ADMAC
89b127315dSMartin Povišer	tristate "Apple ADMAC support"
90b127315dSMartin Povišer	depends on ARCH_APPLE || COMPILE_TEST
91b127315dSMartin Povišer	select DMA_ENGINE
92b127315dSMartin Povišer	default ARCH_APPLE
93b127315dSMartin Povišer	help
94b127315dSMartin Povišer	  Enable support for Audio DMA Controller found on Apple Silicon SoCs.
95b127315dSMartin Povišer
965d099706SRobin Murphyconfig ARM_DMA350
975d099706SRobin Murphy	tristate "Arm DMA-350 support"
98*86071b36SGeert Uytterhoeven	depends on ARM || ARM64 || COMPILE_TEST
995d099706SRobin Murphy	select DMA_ENGINE
1005d099706SRobin Murphy	select DMA_VIRTUAL_CHANNELS
1015d099706SRobin Murphy	help
1025d099706SRobin Murphy	  Enable support for the Arm DMA-350 controller.
1035d099706SRobin Murphy
1043c216190SVinod Koulconfig AT_HDMAC
1053c216190SVinod Koul	tristate "Atmel AHB DMA support"
1063c216190SVinod Koul	depends on ARCH_AT91
1073c216190SVinod Koul	select DMA_ENGINE
108ac803b56STudor Ambarus	select DMA_VIRTUAL_CHANNELS
1093c216190SVinod Koul	help
1103c216190SVinod Koul	  Support the Atmel AHB DMA controller.
1113c216190SVinod Koul
1123c216190SVinod Koulconfig AT_XDMAC
1133c216190SVinod Koul	tristate "Atmel XDMA support"
1143c216190SVinod Koul	depends on ARCH_AT91
1153c216190SVinod Koul	select DMA_ENGINE
1163c216190SVinod Koul	help
1173c216190SVinod Koul	  Support the Atmel XDMA controller.
1183c216190SVinod Koul
1193c216190SVinod Koulconfig AXI_DMAC
1203c216190SVinod Koul	tristate "Analog Devices AXI-DMAC DMA support"
1215c038872SKrzysztof Kozlowski	depends on MICROBLAZE || NIOS2 || ARCH_ZYNQ || ARCH_ZYNQMP || ARCH_INTEL_SOCFPGA || COMPILE_TEST
1223c216190SVinod Koul	select DMA_ENGINE
1233c216190SVinod Koul	select DMA_VIRTUAL_CHANNELS
124fc15be39SAlexandru Ardelean	select REGMAP_MMIO
1253c216190SVinod Koul	help
1263c216190SVinod Koul	  Enable support for the Analog Devices AXI-DMAC peripheral. This DMA
1272fea2906SGeert Uytterhoeven	  controller is often used in Analog Devices' reference designs for FPGA
1283c216190SVinod Koul	  platforms.
1293c216190SVinod Koul
130743e1c8fSAnup Patelconfig BCM_SBA_RAID
131743e1c8fSAnup Patel	tristate "Broadcom SBA RAID engine support"
13258d96125SArnd Bergmann	depends on ARM64 || COMPILE_TEST
13358d96125SArnd Bergmann	depends on MAILBOX && RAID6_PQ
134743e1c8fSAnup Patel	select DMA_ENGINE
135743e1c8fSAnup Patel	select DMA_ENGINE_RAID
136743e1c8fSAnup Patel	select ASYNC_TX_DISABLE_XOR_VAL_DMA
137743e1c8fSAnup Patel	select ASYNC_TX_DISABLE_PQ_VAL_DMA
1387076a1e4SAnup Patel	default m if ARCH_BCM_IPROC
139743e1c8fSAnup Patel	help
140743e1c8fSAnup Patel	  Enable support for Broadcom SBA RAID Engine. The SBA RAID
141743e1c8fSAnup Patel	  engine is available on most of the Broadcom iProc SoCs. It
142743e1c8fSAnup Patel	  has the capability to offload memcpy, xor and pq computation
143743e1c8fSAnup Patel	  for raid5/6.
144743e1c8fSAnup Patel
1453c216190SVinod Koulconfig DMA_BCM2835
1463c216190SVinod Koul	tristate "BCM2835 DMA engine support"
1473c216190SVinod Koul	depends on ARCH_BCM2835
1483c216190SVinod Koul	select DMA_ENGINE
1493c216190SVinod Koul	select DMA_VIRTUAL_CHANNELS
1503c216190SVinod Koul
1513c216190SVinod Koulconfig DMA_JZ4780
1523c216190SVinod Koul	tristate "JZ4780 DMA support"
153c558ecd2SPaul Cercueil	depends on MIPS || COMPILE_TEST
1543c216190SVinod Koul	select DMA_ENGINE
1553c216190SVinod Koul	select DMA_VIRTUAL_CHANNELS
1563c216190SVinod Koul	help
1573c216190SVinod Koul	  This selects support for the DMA controller in Ingenic JZ4780 SoCs.
1583c216190SVinod Koul	  If you have a board based on such a SoC and wish to use DMA for
1593c216190SVinod Koul	  devices which can use the DMA controller, say Y or M here.
1603c216190SVinod Koul
1613c216190SVinod Koulconfig DMA_SA11X0
1623c216190SVinod Koul	tristate "SA-11x0 DMA support"
1636947c3f2SVinod Koul	depends on ARCH_SA1100 || COMPILE_TEST
1643c216190SVinod Koul	select DMA_ENGINE
1653c216190SVinod Koul	select DMA_VIRTUAL_CHANNELS
1663c216190SVinod Koul	help
1673c216190SVinod Koul	  Support the DMA engine found on Intel StrongARM SA-1100 and
1683c216190SVinod Koul	  SA-1110 SoCs.  This DMA engine can only be used with on-chip
1693c216190SVinod Koul	  devices.
1703c216190SVinod Koul
1713c216190SVinod Koulconfig DMA_SUN4I
1723c216190SVinod Koul	tristate "Allwinner A10 DMA SoCs support"
1736faf1ccaSMesih Kilinc	depends on MACH_SUN4I || MACH_SUN5I || MACH_SUN7I || MACH_SUNIV
1746faf1ccaSMesih Kilinc	default (MACH_SUN4I || MACH_SUN5I || MACH_SUN7I || MACH_SUNIV)
1753c216190SVinod Koul	select DMA_ENGINE
1763c216190SVinod Koul	select DMA_VIRTUAL_CHANNELS
1773c216190SVinod Koul	help
1783c216190SVinod Koul	  Enable support for the DMA controller present in the sun4i,
1793c216190SVinod Koul	  sun5i and sun7i Allwinner ARM SoCs.
1803c216190SVinod Koul
1813c216190SVinod Koulconfig DMA_SUN6I
1823c216190SVinod Koul	tristate "Allwinner A31 SoCs DMA support"
1838292a155SSamuel Holland	depends on ARCH_SUNXI || COMPILE_TEST
1843c216190SVinod Koul	depends on RESET_CONTROLLER
1853c216190SVinod Koul	select DMA_ENGINE
1863c216190SVinod Koul	select DMA_VIRTUAL_CHANNELS
1873c216190SVinod Koul	help
1883c216190SVinod Koul	  Support for the DMA engine first found in Allwinner A31 SoCs.
1893c216190SVinod Koul
1901fe20f1bSEugeniy Paltsevconfig DW_AXI_DMAC
1911fe20f1bSEugeniy Paltsev	tristate "Synopsys DesignWare AXI DMA support"
19284dd3b2bSJean Delvare	depends on OF
193cd0f00c3SSia Jee Heng	depends on HAS_IOMEM
1941fe20f1bSEugeniy Paltsev	select DMA_ENGINE
1951fe20f1bSEugeniy Paltsev	select DMA_VIRTUAL_CHANNELS
1961fe20f1bSEugeniy Paltsev	help
1971fe20f1bSEugeniy Paltsev	  Enable support for Synopsys DesignWare AXI DMA controller.
1981fe20f1bSEugeniy Paltsev	  NOTE: This driver wasn't tested on 64 bit platform because
1991fe20f1bSEugeniy Paltsev	  of lack 64 bit platform with Synopsys DW AXI DMAC.
2001fe20f1bSEugeniy Paltsev
2013c216190SVinod Koulconfig EP93XX_DMA
2023c216190SVinod Koul	bool "Cirrus Logic EP93xx DMA support"
20349ad6d7dSVinod Koul	depends on ARCH_EP93XX || COMPILE_TEST
2043c216190SVinod Koul	select DMA_ENGINE
2053c216190SVinod Koul	help
2063c216190SVinod Koul	  Enable support for the Cirrus Logic EP93xx M2P/M2M DMA controller.
2073c216190SVinod Koul
2083c216190SVinod Koulconfig FSL_DMA
2093c216190SVinod Koul	tristate "Freescale Elo series DMA support"
2103c216190SVinod Koul	depends on FSL_SOC
2113c216190SVinod Koul	select DMA_ENGINE
2123c216190SVinod Koul	select ASYNC_TX_ENABLE_CHANNEL_SWITCH
213a7f7f624SMasahiro Yamada	help
2143c216190SVinod Koul	  Enable support for the Freescale Elo series DMA controllers.
2153c216190SVinod Koul	  The Elo is the DMA controller on some mpc82xx and mpc83xx parts, the
2163c216190SVinod Koul	  EloPlus is on mpc85xx and mpc86xx and Pxxx parts, and the Elo3 is on
2173c216190SVinod Koul	  some Txxx and Bxxx parts.
2183c216190SVinod Koul
2193c216190SVinod Koulconfig FSL_EDMA
2203c216190SVinod Koul	tristate "Freescale eDMA engine support"
2213c216190SVinod Koul	depends on OF
222b1e213a9SBaoquan He	depends on HAS_IOMEM
2233c216190SVinod Koul	select DMA_ENGINE
2243c216190SVinod Koul	select DMA_VIRTUAL_CHANNELS
2253c216190SVinod Koul	help
2263c216190SVinod Koul	  Support the Freescale eDMA engine with programmable channel
2273c216190SVinod Koul	  multiplexing capability for DMA request sources(slot).
2283c216190SVinod Koul	  This module can be found on Freescale Vybrid and LS-1 SoCs.
2293c216190SVinod Koul
230b092529eSPeng Maconfig FSL_QDMA
231b092529eSPeng Ma	tristate "NXP Layerscape qDMA engine support"
232b092529eSPeng Ma	depends on ARM || ARM64
233b092529eSPeng Ma	select DMA_ENGINE
234b092529eSPeng Ma	select DMA_VIRTUAL_CHANNELS
235b092529eSPeng Ma	select DMA_ENGINE_RAID
236b092529eSPeng Ma	select ASYNC_TX_ENABLE_CHANNEL_SWITCH
237b092529eSPeng Ma	help
238b092529eSPeng Ma	 Support the NXP Layerscape qDMA engine with command queue and legacy mode.
239b092529eSPeng Ma	 Channel virtualization is supported through enqueuing of DMA jobs to,
240b092529eSPeng Ma	 or dequeuing DMA jobs from, different work queues.
241b092529eSPeng Ma	 This module can be found on NXP Layerscape SoCs.
242b092529eSPeng Ma	  The qdma driver only work on  SoCs with a DPAA hardware block.
243b092529eSPeng Ma
2443c216190SVinod Koulconfig FSL_RAID
2453c216190SVinod Koul	tristate "Freescale RAID engine Support"
2463c216190SVinod Koul	depends on FSL_SOC && !ASYNC_TX_ENABLE_CHANNEL_SWITCH
2473c216190SVinod Koul	select DMA_ENGINE
2483c216190SVinod Koul	select DMA_ENGINE_RAID
249a7f7f624SMasahiro Yamada	help
2503c216190SVinod Koul	  Enable support for Freescale RAID Engine. RAID Engine is
2513c216190SVinod Koul	  available on some QorIQ SoCs (like P5020/P5040). It has
2523c216190SVinod Koul	  the capability to offload memcpy, xor and pq computation
2533c216190SVinod Koul	  for raid5/6.
2543c216190SVinod Koul
255e9f08b65SZhou Wangconfig HISI_DMA
256e9f08b65SZhou Wang	tristate "HiSilicon DMA Engine support"
257dcca9d04SGeert Uytterhoeven	depends on ARCH_HISI || COMPILE_TEST
258ae148b43SYueHaibing	depends on PCI_MSI
259e9f08b65SZhou Wang	select DMA_ENGINE
260e9f08b65SZhou Wang	select DMA_VIRTUAL_CHANNELS
261e9f08b65SZhou Wang	help
262e9f08b65SZhou Wang	  Support HiSilicon Kunpeng DMA engine.
263e9f08b65SZhou Wang
2643c216190SVinod Koulconfig IMG_MDC_DMA
2653c216190SVinod Koul	tristate "IMG MDC support"
2663c216190SVinod Koul	depends on MIPS || COMPILE_TEST
2673c216190SVinod Koul	depends on MFD_SYSCON
2683c216190SVinod Koul	select DMA_ENGINE
2693c216190SVinod Koul	select DMA_VIRTUAL_CHANNELS
2703c216190SVinod Koul	help
2713c216190SVinod Koul	  Enable support for the IMG multi-threaded DMA controller (MDC).
2723c216190SVinod Koul
2733c216190SVinod Koulconfig IMX_DMA
2743c216190SVinod Koul	tristate "i.MX DMA support"
2753c216190SVinod Koul	depends on ARCH_MXC
2763c216190SVinod Koul	select DMA_ENGINE
2773c216190SVinod Koul	help
2783c216190SVinod Koul	  Support the i.MX DMA engine. This engine is integrated into
2793c216190SVinod Koul	  Freescale i.MX1/21/27 chips.
2803c216190SVinod Koul
2813c216190SVinod Koulconfig IMX_SDMA
2823c216190SVinod Koul	tristate "i.MX SDMA support"
2833c216190SVinod Koul	depends on ARCH_MXC
2843c216190SVinod Koul	select DMA_ENGINE
28557b772b8SRobin Gong	select DMA_VIRTUAL_CHANNELS
2863c216190SVinod Koul	help
2873c216190SVinod Koul	  Support the i.MX SDMA engine. This engine is integrated into
2883c216190SVinod Koul	  Freescale i.MX25/31/35/51/53/6 chips.
289e5f4ae84SJoachim Eastwood
2909ab8b4e7SVinod Koulconfig INTEL_IDMA64
29135271227SLinus Torvalds	tristate "Intel integrated DMA 64-bit support"
292b1e213a9SBaoquan He	depends on HAS_IOMEM
29335271227SLinus Torvalds	select DMA_ENGINE
29435271227SLinus Torvalds	select DMA_VIRTUAL_CHANNELS
29535271227SLinus Torvalds	help
29635271227SLinus Torvalds	  Enable DMA support for Intel Low Power Subsystem such as found on
29735271227SLinus Torvalds	  Intel Skylake PCH.
29835271227SLinus Torvalds
299d9e5481fSDave Jiangconfig INTEL_IDXD_BUS
300d9e5481fSDave Jiang	tristate
301d9e5481fSDave Jiang	default INTEL_IDXD
302d9e5481fSDave Jiang
303bfe1d560SDave Jiangconfig INTEL_IDXD
304bfe1d560SDave Jiang	tristate "Intel Data Accelerators support"
305b2296eeaSJohannes Berg	depends on PCI && X86_64 && !UML
306d6a7bb86SRandy Dunlap	depends on PCI_MSI
307d8071323SDave Jiang	depends on PCI_PASID
3080705107fSDave Jiang	depends on SBITMAP
309bfe1d560SDave Jiang	select DMA_ENGINE
310bfe1d560SDave Jiang	help
311bfe1d560SDave Jiang	  Enable support for the Intel(R) data accelerators present
312bfe1d560SDave Jiang	  in Intel Xeon CPU.
313bfe1d560SDave Jiang
314bfe1d560SDave Jiang	  Say Y if you have such a platform.
315bfe1d560SDave Jiang
316bfe1d560SDave Jiang	  If unsure, say N.
317bfe1d560SDave Jiang
3186e7f3ee9SDave Jiangconfig INTEL_IDXD_COMPAT
3196e7f3ee9SDave Jiang	bool "Legacy behavior for idxd driver"
3206e7f3ee9SDave Jiang	depends on PCI && X86_64
3216e7f3ee9SDave Jiang	select INTEL_IDXD_BUS
3226e7f3ee9SDave Jiang	help
3236e7f3ee9SDave Jiang	  Compatible driver to support old /sys/bus/dsa/drivers/dsa behavior.
3246e7f3ee9SDave Jiang	  The old behavior performed driver bind/unbind for device and wq
3256e7f3ee9SDave Jiang	  devices all under the dsa driver. The compat driver will emulate
3266e7f3ee9SDave Jiang	  the legacy behavior in order to allow existing support apps (i.e.
3276e7f3ee9SDave Jiang	  accel-config) to continue function. It is expected that accel-config
3286e7f3ee9SDave Jiang	  v3.2 and earlier will need the compat mode. A distro with later
3296e7f3ee9SDave Jiang	  accel-config version can disable this compat config.
3306e7f3ee9SDave Jiang
3316e7f3ee9SDave Jiang	  Say Y if you have old applications that require such behavior.
3326e7f3ee9SDave Jiang
3336e7f3ee9SDave Jiang	  If unsure, say N.
3346e7f3ee9SDave Jiang
3358e50d392SDave Jiang# Config symbol that collects all the dependencies that's necessary to
3368e50d392SDave Jiang# support shared virtual memory for the devices supported by idxd.
3378e50d392SDave Jiangconfig INTEL_IDXD_SVM
3388e50d392SDave Jiang	bool "Accelerator Shared Virtual Memory Support"
3398e50d392SDave Jiang	depends on INTEL_IDXD
3408e50d392SDave Jiang	depends on INTEL_IOMMU_SVM
3418e50d392SDave Jiang	depends on PCI_PRI
3428e50d392SDave Jiang	depends on PCI_PASID
3438e50d392SDave Jiang	depends on PCI_IOV
3448e50d392SDave Jiang
34581dd4d4dSTom Zanussiconfig INTEL_IDXD_PERFMON
34681dd4d4dSTom Zanussi	bool "Intel Data Accelerators performance monitor support"
34781dd4d4dSTom Zanussi	depends on INTEL_IDXD
34881dd4d4dSTom Zanussi	help
34981dd4d4dSTom Zanussi	  Enable performance monitor (pmu) support for the Intel(R)
35081dd4d4dSTom Zanussi	  data accelerators present in Intel Xeon CPU.  With this
35181dd4d4dSTom Zanussi	  enabled, perf can be used to monitor the DSA (Intel Data
35281dd4d4dSTom Zanussi	  Streaming Accelerator) events described in the Intel DSA
35381dd4d4dSTom Zanussi	  spec.
35481dd4d4dSTom Zanussi
35581dd4d4dSTom Zanussi	  If unsure, say N.
35681dd4d4dSTom Zanussi
3570bbd5f4eSChris Leechconfig INTEL_IOATDMA
3580bbd5f4eSChris Leech	tristate "Intel I/OAT DMA support"
359bbac7a92SJohannes Berg	depends on PCI && X86_64 && !UML
3602ed6dc34SShannon Nelson	select DMA_ENGINE
3613cc377b9SDan Williams	select DMA_ENGINE_RAID
3622ed6dc34SShannon Nelson	select DCA
3632ed6dc34SShannon Nelson	help
3642ed6dc34SShannon Nelson	  Enable support for the Intel(R) I/OAT DMA engine present
3652ed6dc34SShannon Nelson	  in recent Intel Xeon chipsets.
3662ed6dc34SShannon Nelson
3672ed6dc34SShannon Nelson	  Say Y here if you have such a chipset.
3682ed6dc34SShannon Nelson
3692ed6dc34SShannon Nelson	  If unsure, say N.
370c2110923SDan Williams
3713c216190SVinod Koulconfig K3_DMA
3723c216190SVinod Koul	tristate "Hisilicon K3 DMA support"
37365b87548SJonathan Neuschäfer	depends on ARCH_HISI || COMPILE_TEST
374667dfed9SAndy Shevchenko	select DMA_ENGINE
375667dfed9SAndy Shevchenko	select DMA_VIRTUAL_CHANNELS
376667dfed9SAndy Shevchenko	help
3773c216190SVinod Koul	  Support the DMA engine for Hisilicon K3 platform
3783c216190SVinod Koul	  devices.
379667dfed9SAndy Shevchenko
380e06c4323SKeguang Zhangconfig LOONGSON1_APB_DMA
381e06c4323SKeguang Zhang	tristate "Loongson1 APB DMA support"
382e06c4323SKeguang Zhang	depends on MACH_LOONGSON32 || COMPILE_TEST
383e06c4323SKeguang Zhang	select DMA_ENGINE
384e06c4323SKeguang Zhang	select DMA_VIRTUAL_CHANNELS
385e06c4323SKeguang Zhang	help
386e06c4323SKeguang Zhang	  This selects support for the APB DMA controller in Loongson1 SoCs,
387e06c4323SKeguang Zhang	  which is required by Loongson1 NAND and audio support.
388e06c4323SKeguang Zhang
3898974f34dSBinbin Zhouconfig LOONGSON2_APB_DMA
3908974f34dSBinbin Zhou	tristate "Loongson2 APB DMA support"
3918974f34dSBinbin Zhou	depends on LOONGARCH || COMPILE_TEST
3928974f34dSBinbin Zhou	select DMA_ENGINE
3938974f34dSBinbin Zhou	select DMA_VIRTUAL_CHANNELS
3948974f34dSBinbin Zhou	help
3958974f34dSBinbin Zhou	  Support for the Loongson2 APB DMA controller driver. The
3968974f34dSBinbin Zhou	  DMA controller is having single DMA channel which can be
3978974f34dSBinbin Zhou	  configured for different peripherals like audio, nand, sdio
3988974f34dSBinbin Zhou	  etc which is in APB bus.
3998974f34dSBinbin Zhou
4008974f34dSBinbin Zhou	  This DMA controller transfers data from memory to peripheral fifo.
4018974f34dSBinbin Zhou	  It does not support memory to memory data transfer.
4028974f34dSBinbin Zhou
4033c216190SVinod Koulconfig LPC18XX_DMAMUX
4043c216190SVinod Koul	bool "NXP LPC18xx/43xx DMA MUX for PL080"
4053c216190SVinod Koul	depends on ARCH_LPC18XX || COMPILE_TEST
4063c216190SVinod Koul	depends on OF && AMBA_PL08X
4073c216190SVinod Koul	select MFD_SYSCON
4083c216190SVinod Koul	help
4093c216190SVinod Koul	  Enable support for DMA on NXP LPC18xx/43xx platforms
4103c216190SVinod Koul	  with PL080 and multiplexed DMA request lines.
411d5ea7b5eSHein Tibosch
4125d318b59SPiotr Wojtaszczykconfig LPC32XX_DMAMUX
4135d318b59SPiotr Wojtaszczyk	bool "NXP LPC32xx DMA MUX for PL080"
4145d318b59SPiotr Wojtaszczyk	depends on ARCH_LPC32XX || COMPILE_TEST
4155d318b59SPiotr Wojtaszczyk	depends on OF && AMBA_PL08X
4165d318b59SPiotr Wojtaszczyk	select MFD_SYSCON
4175d318b59SPiotr Wojtaszczyk	help
4185d318b59SPiotr Wojtaszczyk	  Support for PL080 multiplexed DMA request lines on
4195d318b59SPiotr Wojtaszczyk	  LPC32XX platrofm.
4205d318b59SPiotr Wojtaszczyk
421e7a3ff92SAngelo Dureghelloconfig MCF_EDMA
422e7a3ff92SAngelo Dureghello	tristate "Freescale eDMA engine support, ColdFire mcf5441x SoCs"
423fa555b50SArnd Bergmann	depends on M5441x || (COMPILE_TEST && FSL_EDMA=n)
424e7a3ff92SAngelo Dureghello	select DMA_ENGINE
425e7a3ff92SAngelo Dureghello	select DMA_VIRTUAL_CHANNELS
426e7a3ff92SAngelo Dureghello	help
427e7a3ff92SAngelo Dureghello	  Support the Freescale ColdFire eDMA engine, 64-channel
428e7a3ff92SAngelo Dureghello	  implementation that performs complex data transfers with
429e7a3ff92SAngelo Dureghello	  minimal intervention from a host processor.
430e7a3ff92SAngelo Dureghello	  This module can be found on Freescale ColdFire mcf5441x SoCs.
431e7a3ff92SAngelo Dureghello
4326c3214e6SJassi Brarconfig MILBEAUT_HDMAC
4336c3214e6SJassi Brar	tristate "Milbeaut AHB DMA support"
4346c3214e6SJassi Brar	depends on ARCH_MILBEAUT || COMPILE_TEST
4356c3214e6SJassi Brar	depends on OF
4366c3214e6SJassi Brar	select DMA_ENGINE
4376c3214e6SJassi Brar	select DMA_VIRTUAL_CHANNELS
4386c3214e6SJassi Brar	help
4396c3214e6SJassi Brar	  Say yes here to support the Socionext Milbeaut
4406c3214e6SJassi Brar	  HDMAC device.
4416c3214e6SJassi Brar
442a6e9be05SJassi Brarconfig MILBEAUT_XDMAC
443a6e9be05SJassi Brar	tristate "Milbeaut AXI DMA support"
444a6e9be05SJassi Brar	depends on ARCH_MILBEAUT || COMPILE_TEST
445a6e9be05SJassi Brar	depends on OF
446a6e9be05SJassi Brar	select DMA_ENGINE
447a6e9be05SJassi Brar	select DMA_VIRTUAL_CHANNELS
448a6e9be05SJassi Brar	help
449a6e9be05SJassi Brar	  Say yes here to support the Socionext Milbeaut
450a6e9be05SJassi Brar	  XDMAC device.
451a6e9be05SJassi Brar
4523c216190SVinod Koulconfig MMP_PDMA
453793dff4bSLubomir Rintel	tristate "MMP PDMA support"
454cd3a792aSVinod Koul	depends on ARCH_MMP || ARCH_PXA || COMPILE_TEST
455dc78baa2SNicolas Ferre	select DMA_ENGINE
456dc78baa2SNicolas Ferre	help
4573c216190SVinod Koul	  Support the MMP PDMA engine for PXA and MMP platform.
458dc78baa2SNicolas Ferre
4593c216190SVinod Koulconfig MMP_TDMA
4609f3c14d4SLubomir Rintel	tristate "MMP Two-Channel DMA support"
46193d05f1eSVinod Koul	depends on ARCH_MMP || COMPILE_TEST
462e1f7c9eeSLudovic Desroches	select DMA_ENGINE
463d6619761SJérémy Lefaure	select GENERIC_ALLOCATOR
464e1f7c9eeSLudovic Desroches	help
4653c216190SVinod Koul	  Support the MMP Two-Channel DMA engine.
4663c216190SVinod Koul	  This engine used for MMP Audio DMA and pxa910 SQU.
467e1f7c9eeSLudovic Desroches
4683c216190SVinod Koulconfig MOXART_DMA
4693c216190SVinod Koul	tristate "MOXART DMA support"
4703c216190SVinod Koul	depends on ARCH_MOXART
471173acc7cSZhang Wei	select DMA_ENGINE
4723c216190SVinod Koul	select DMA_VIRTUAL_CHANNELS
4733c216190SVinod Koul	help
4743c216190SVinod Koul	  Enable support for the MOXA ART SoC DMA controller.
475173acc7cSZhang Wei
4763c216190SVinod Koul	  Say Y here if you enabled MMP ADMA, otherwise say N.
4772b49e0c5SAndy Shevchenko
4780fb6f739SPiotr Ziecikconfig MPC512X_DMA
4790fb6f739SPiotr Ziecik	tristate "Freescale MPC512x built-in DMA engine support"
480ba2eea25SIlya Yanok	depends on PPC_MPC512x || PPC_MPC831x
4810fb6f739SPiotr Ziecik	select DMA_ENGINE
482a7f7f624SMasahiro Yamada	help
4830fb6f739SPiotr Ziecik	  Enable support for the Freescale MPC512x built-in DMA engine.
4840fb6f739SPiotr Ziecik
485ff7b0479SSaeed Bisharaconfig MV_XOR
486ff7b0479SSaeed Bishara	bool "Marvell XOR engine support"
487c39290a1SGregory CLEMENT	depends on PLAT_ORION || ARCH_MVEBU || COMPILE_TEST
488ff7b0479SSaeed Bishara	select DMA_ENGINE
4893cc377b9SDan Williams	select DMA_ENGINE_RAID
4905fc6d897SDan Williams	select ASYNC_TX_ENABLE_CHANNEL_SWITCH
491a7f7f624SMasahiro Yamada	help
492ff7b0479SSaeed Bishara	  Enable support for the Marvell XOR engine.
493ff7b0479SSaeed Bishara
49419a340b1SThomas Petazzoniconfig MV_XOR_V2
49519a340b1SThomas Petazzoni	bool "Marvell XOR engine version 2 support "
49619a340b1SThomas Petazzoni	depends on ARM64
49719a340b1SThomas Petazzoni	select DMA_ENGINE
49819a340b1SThomas Petazzoni	select DMA_ENGINE_RAID
49919a340b1SThomas Petazzoni	select ASYNC_TX_ENABLE_CHANNEL_SWITCH
50013e7accbSThomas Gleixner	select GENERIC_MSI_IRQ
501a7f7f624SMasahiro Yamada	help
50219a340b1SThomas Petazzoni	  Enable support for the Marvell version 2 XOR engine.
50319a340b1SThomas Petazzoni
50419a340b1SThomas Petazzoni	  This engine provides acceleration for copy, XOR and RAID6
50519a340b1SThomas Petazzoni	  operations, and is available on Marvell Armada 7K and 8K
50619a340b1SThomas Petazzoni	  platforms.
50719a340b1SThomas Petazzoni
5083c216190SVinod Koulconfig MXS_DMA
5093c216190SVinod Koul	bool "MXS DMA support"
510d762e4f3SFabio Estevam	depends on ARCH_MXS || ARCH_MXC || COMPILE_TEST
5113c216190SVinod Koul	select STMP_DEVICE
5123c216190SVinod Koul	select DMA_ENGINE
5133c216190SVinod Koul	help
5143c216190SVinod Koul	  Support the MXS DMA engine. This engine including APBH-DMA
5152446563cSFabio Estevam	  and APBX-DMA is integrated into some Freescale chips.
5163c216190SVinod Koul
5173c216190SVinod Koulconfig NBPFAXI_DMA
5183c216190SVinod Koul	tristate "Renesas Type-AXI NBPF DMA support"
5193c216190SVinod Koul	select DMA_ENGINE
5203c216190SVinod Koul	depends on ARM || COMPILE_TEST
5213c216190SVinod Koul	help
5223c216190SVinod Koul	  Support for "Type-AXI" NBPF DMA IPs from Renesas
5233c216190SVinod Koul
52447e20577SManivannan Sadhasivamconfig OWL_DMA
52547e20577SManivannan Sadhasivam	tristate "Actions Semi Owl SoCs DMA support"
52647e20577SManivannan Sadhasivam	depends on ARCH_ACTIONS
52747e20577SManivannan Sadhasivam	select DMA_ENGINE
52847e20577SManivannan Sadhasivam	select DMA_VIRTUAL_CHANNELS
52947e20577SManivannan Sadhasivam	help
53047e20577SManivannan Sadhasivam	  Enable support for the Actions Semi Owl SoCs DMA controller.
53147e20577SManivannan Sadhasivam
5323c216190SVinod Koulconfig PCH_DMA
5333c216190SVinod Koul	tristate "Intel EG20T PCH / LAPIS Semicon IOH(ML7213/ML7223/ML7831) DMA"
5343c216190SVinod Koul	depends on PCI && (X86_32 || COMPILE_TEST)
5353c216190SVinod Koul	select DMA_ENGINE
5363c216190SVinod Koul	help
5373c216190SVinod Koul	  Enable support for Intel EG20T PCH DMA engine.
5383c216190SVinod Koul
5393c216190SVinod Koul	  This driver also can be used for LAPIS Semiconductor IOH(Input/
5403c216190SVinod Koul	  Output Hub), ML7213, ML7223 and ML7831.
5413c216190SVinod Koul	  ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is
5423c216190SVinod Koul	  for MP(Media Phone) use and ML7831 IOH is for general purpose use.
5433c216190SVinod Koul	  ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
5443c216190SVinod Koul	  ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
5453c216190SVinod Koul
5463c216190SVinod Koulconfig PL330_DMA
5473c216190SVinod Koul	tristate "DMA API Driver for PL330"
5483c216190SVinod Koul	select DMA_ENGINE
5493c216190SVinod Koul	depends on ARM_AMBA
5503c216190SVinod Koul	help
5513c216190SVinod Koul	  Select if your platform has one or more PL330 DMACs.
5523c216190SVinod Koul	  You need to provide platform specific settings via
5533c216190SVinod Koul	  platform_data for a dma-pl330 device.
5543c216190SVinod Koul
555a57e16cfSRobert Jarzmikconfig PXA_DMA
556a57e16cfSRobert Jarzmik	bool "PXA DMA support"
5579fc2f03eSKrzysztof Kozlowski	depends on ARCH_MMP || ARCH_PXA || COMPILE_TEST
558a57e16cfSRobert Jarzmik	select DMA_ENGINE
559a57e16cfSRobert Jarzmik	select DMA_VIRTUAL_CHANNELS
560a57e16cfSRobert Jarzmik	help
561a57e16cfSRobert Jarzmik	  Support the DMA engine for PXA. It is also compatible with MMP PDMA
562a57e16cfSRobert Jarzmik	  platform. The internal DMA IP of all PXA variants is supported, with
563a57e16cfSRobert Jarzmik	  16 to 32 channels for peripheral to memory or memory to memory
564a57e16cfSRobert Jarzmik	  transfers.
565a57e16cfSRobert Jarzmik
566905ca51eSLogan Gunthorpeconfig PLX_DMA
567905ca51eSLogan Gunthorpe	tristate "PLX ExpressLane PEX Switch DMA Engine Support"
568905ca51eSLogan Gunthorpe	depends on PCI
569905ca51eSLogan Gunthorpe	select DMA_ENGINE
570905ca51eSLogan Gunthorpe	help
571905ca51eSLogan Gunthorpe	  Some PLX ExpressLane PCI Switches support additional DMA engines.
572905ca51eSLogan Gunthorpe	  These are exposed via extra functions on the switch's
573905ca51eSLogan Gunthorpe	  upstream port. Each function exposes one DMA channel.
574905ca51eSLogan Gunthorpe
5753c216190SVinod Koulconfig STE_DMA40
5763c216190SVinod Koul	bool "ST-Ericsson DMA40 support"
5773c216190SVinod Koul	depends on ARCH_U8500
5783c216190SVinod Koul	select DMA_ENGINE
5795a1a3b9cSLinus Walleij	select SRAM
5803c216190SVinod Koul	help
5813c216190SVinod Koul	  Support for ST-Ericsson DMA40 controller
5823c216190SVinod Koul
5836b4cd727SPeter Griffinconfig ST_FDMA
5846b4cd727SPeter Griffin	tristate "ST FDMA dmaengine support"
5856b4cd727SPeter Griffin	depends on ARCH_STI
5863d6b3715SVinod Koul	depends on REMOTEPROC
5876b4cd727SPeter Griffin	select ST_SLIM_REMOTEPROC
5886b4cd727SPeter Griffin	select DMA_ENGINE
5896b4cd727SPeter Griffin	select DMA_VIRTUAL_CHANNELS
5906b4cd727SPeter Griffin	help
5916b4cd727SPeter Griffin	  Enable support for ST FDMA controller.
5926b4cd727SPeter Griffin	  It supports 16 independent DMA channels, accepts up to 32 DMA requests
5936b4cd727SPeter Griffin
5946b4cd727SPeter Griffin	  Say Y here if you have such a chipset.
5956b4cd727SPeter Griffin	  If unsure, say N.
5966b4cd727SPeter Griffin
5979b3b8171SBaolin Wangconfig SPRD_DMA
5989b3b8171SBaolin Wang	tristate "Spreadtrum DMA support"
5999b3b8171SBaolin Wang	depends on ARCH_SPRD || COMPILE_TEST
6009b3b8171SBaolin Wang	select DMA_ENGINE
6019b3b8171SBaolin Wang	select DMA_VIRTUAL_CHANNELS
6029b3b8171SBaolin Wang	help
6039b3b8171SBaolin Wang	  Enable support for the on-chip DMA controller on Spreadtrum platform.
6049b3b8171SBaolin Wang
605ea76f0b3SAtsushi Nemotoconfig TXX9_DMAC
606ea76f0b3SAtsushi Nemoto	tristate "Toshiba TXx9 SoC DMA support"
607455481fcSThomas Bogendoerfer	depends on MACH_TX49XX
608ea76f0b3SAtsushi Nemoto	select DMA_ENGINE
609ea76f0b3SAtsushi Nemoto	help
610ea76f0b3SAtsushi Nemoto	  Support the TXx9 SoC internal DMA controller.  This can be
611ea76f0b3SAtsushi Nemoto	  integrated in chips such as the Toshiba TX4927/38/39.
612ea76f0b3SAtsushi Nemoto
613ee170280SAkhil Rconfig TEGRA186_GPC_DMA
614ee170280SAkhil R	tristate "NVIDIA Tegra GPC DMA support"
615ee170280SAkhil R	depends on (ARCH_TEGRA || COMPILE_TEST) && ARCH_DMA_ADDR_T_64BIT
6162cdd3ca6SYueHaibing	depends on IOMMU_API
617ee170280SAkhil R	select DMA_ENGINE
6187511f287SMark Salter	select DMA_VIRTUAL_CHANNELS
619ee170280SAkhil R	help
620ee170280SAkhil R	  Support for the NVIDIA Tegra General Purpose Central DMA controller.
621ee170280SAkhil R	  The DMA controller has multiple DMA channels which can be configured
622ee170280SAkhil R	  for different peripherals like UART, SPI, etc which are on APB bus.
623ee170280SAkhil R	  This DMA controller transfers data from memory to peripheral FIFO
624ee170280SAkhil R	  or vice versa. It also supports memory to memory data transfer.
625ee170280SAkhil R
626ec8a1586SLaxman Dewanganconfig TEGRA20_APB_DMA
627703b70f4SDmitry Osipenko	tristate "NVIDIA Tegra20 APB DMA support"
6286c41ac96SDmitry Osipenko	depends on ARCH_TEGRA || COMPILE_TEST
629ec8a1586SLaxman Dewangan	select DMA_ENGINE
630ec8a1586SLaxman Dewangan	help
631ec8a1586SLaxman Dewangan	  Support for the NVIDIA Tegra20 APB DMA controller driver. The
632ec8a1586SLaxman Dewangan	  DMA controller is having multiple DMA channel which can be
633ec8a1586SLaxman Dewangan	  configured for different peripherals like audio, UART, SPI,
634ec8a1586SLaxman Dewangan	  I2C etc which is in APB bus.
635ec8a1586SLaxman Dewangan	  This DMA controller transfers data from memory to peripheral fifo
636ec8a1586SLaxman Dewangan	  or vice versa. It does not support memory to memory data transfer.
637ec8a1586SLaxman Dewangan
638f46b1957SJon Hunterconfig TEGRA210_ADMA
6393ed16793SPaul Gortmaker	tristate "NVIDIA Tegra210 ADMA support"
64033b7db45SPeter Robinson	depends on (ARCH_TEGRA || COMPILE_TEST)
641f46b1957SJon Hunter	select DMA_ENGINE
642f46b1957SJon Hunter	select DMA_VIRTUAL_CHANNELS
643f46b1957SJon Hunter	help
64433b7db45SPeter Robinson	  Support for the NVIDIA Tegra210/Tegra186/Tegra194/Tegra234 ADMA
64533b7db45SPeter Robinson	  controller driver. The DMA controller has multiple DMA channels
64633b7db45SPeter Robinson	  and is used to service various audio clients in the Tegra210
64733b7db45SPeter Robinson	  audio processing engine (APE). This DMA controller transfers
64833b7db45SPeter Robinson	  data from memory to peripheral and vice versa. It does not
64933b7db45SPeter Robinson	  support memory to memory data transfer.
650f46b1957SJon Hunter
651de5d4453SRichard Röjforsconfig TIMB_DMA
652de5d4453SRichard Röjfors	tristate "Timberdale FPGA DMA support"
6534aa258afSVinod Koul	depends on MFD_TIMBERDALE || COMPILE_TEST
654de5d4453SRichard Röjfors	select DMA_ENGINE
655de5d4453SRichard Röjfors	help
656de5d4453SRichard Röjfors	  Enable support for the Timberdale FPGA DMA engine.
657de5d4453SRichard Röjfors
65832e74aabSMasahiro Yamadaconfig UNIPHIER_MDMAC
65932e74aabSMasahiro Yamada	tristate "UniPhier MIO DMAC"
66032e74aabSMasahiro Yamada	depends on ARCH_UNIPHIER || COMPILE_TEST
66132e74aabSMasahiro Yamada	depends on OF
66232e74aabSMasahiro Yamada	select DMA_ENGINE
66332e74aabSMasahiro Yamada	select DMA_VIRTUAL_CHANNELS
66432e74aabSMasahiro Yamada	help
66532e74aabSMasahiro Yamada	  Enable support for the MIO DMAC (Media I/O DMA controller) on the
66632e74aabSMasahiro Yamada	  UniPhier platform.  This DMA controller is used as the external
66732e74aabSMasahiro Yamada	  DMA engine of the SD/eMMC controllers of the LD4, Pro4, sLD8 SoCs.
66832e74aabSMasahiro Yamada
669667b9251SKunihiko Hayashiconfig UNIPHIER_XDMAC
670667b9251SKunihiko Hayashi	tristate "UniPhier XDMAC support"
671667b9251SKunihiko Hayashi	depends on ARCH_UNIPHIER || COMPILE_TEST
672667b9251SKunihiko Hayashi	depends on OF
673667b9251SKunihiko Hayashi	select DMA_ENGINE
674667b9251SKunihiko Hayashi	select DMA_VIRTUAL_CHANNELS
675667b9251SKunihiko Hayashi	help
676667b9251SKunihiko Hayashi	  Enable support for the XDMAC (external DMA controller) on the
677667b9251SKunihiko Hayashi	  UniPhier platform. This DMA controller can transfer data from
678667b9251SKunihiko Hayashi	  memory to memory, memory to peripheral and peripheral to memory.
679667b9251SKunihiko Hayashi
6803c216190SVinod Koulconfig XGENE_DMA
6813c216190SVinod Koul	tristate "APM X-Gene DMA support"
6823c216190SVinod Koul	depends on ARCH_XGENE || COMPILE_TEST
683b3040e40SJassi Brar	select DMA_ENGINE
6843c216190SVinod Koul	select DMA_ENGINE_RAID
6853c216190SVinod Koul	select ASYNC_TX_ENABLE_CHANNEL_SWITCH
686b3040e40SJassi Brar	help
6873c216190SVinod Koul	  Enable support for the APM X-Gene SoC DMA engine.
6885f9e685aSJonas Jensen
689fde57a7cSKedareswara rao Appanaconfig XILINX_DMA
690fde57a7cSKedareswara rao Appana	tristate "Xilinx AXI DMAS Engine"
6911b13e52cSZong Li	depends on HAS_IOMEM
6929cd4360dSSrikanth Thokala	select DMA_ENGINE
6939cd4360dSSrikanth Thokala	help
6949cd4360dSSrikanth Thokala	  Enable support for Xilinx AXI VDMA Soft IP.
6959cd4360dSSrikanth Thokala
696fde57a7cSKedareswara rao Appana	  AXI VDMA engine provides high-bandwidth direct memory access
6979cd4360dSSrikanth Thokala	  between memory and AXI4-Stream video type target
6989cd4360dSSrikanth Thokala	  peripherals including peripherals which support AXI4-
6999cd4360dSSrikanth Thokala	  Stream Video Protocol.  It has two stream interfaces/
7009cd4360dSSrikanth Thokala	  channels, Memory Mapped to Stream (MM2S) and Stream to
7019cd4360dSSrikanth Thokala	  Memory Mapped (S2MM) for the data transfers.
702fde57a7cSKedareswara rao Appana	  AXI CDMA engine provides high-bandwidth direct memory access
703fde57a7cSKedareswara rao Appana	  between a memory-mapped source address and a memory-mapped
704fde57a7cSKedareswara rao Appana	  destination address.
705fde57a7cSKedareswara rao Appana	  AXI DMA engine provides high-bandwidth one dimensional direct
706fde57a7cSKedareswara rao Appana	  memory access between memory and AXI4-Stream target peripherals.
7076ccd692bSRadhey Shyam Pandey	  AXI MCDMA engine provides high-bandwidth direct memory access
7086ccd692bSRadhey Shyam Pandey	  between memory and AXI4-Stream target peripherals. It provides
7096ccd692bSRadhey Shyam Pandey	  the scatter gather interface with multiple channels independent
7106ccd692bSRadhey Shyam Pandey	  configuration support.
7119cd4360dSSrikanth Thokala
71217ce2522SLizhi Houconfig XILINX_XDMA
71317ce2522SLizhi Hou	tristate "Xilinx DMA/Bridge Subsystem DMA Engine"
71417ce2522SLizhi Hou	depends on HAS_IOMEM
71517ce2522SLizhi Hou	select DMA_ENGINE
71617ce2522SLizhi Hou	select DMA_VIRTUAL_CHANNELS
71717ce2522SLizhi Hou	select REGMAP_MMIO
71817ce2522SLizhi Hou	help
71917ce2522SLizhi Hou	  Enable support for Xilinx DMA/Bridge Subsystem DMA engine. The DMA
72017ce2522SLizhi Hou	  provides high performance block data movement between Host memory
72117ce2522SLizhi Hou	  and the DMA subsystem. These direct memory transfers can be both in
72217ce2522SLizhi Hou	  the Host to Card (H2C) and Card to Host (C2H) transfers.
72317ce2522SLizhi Hou	  The core also provides up to 16 user interrupt wires that generate
72417ce2522SLizhi Hou	  interrupts to the host.
72517ce2522SLizhi Hou
726b0cc417cSKedareswara rao Appanaconfig XILINX_ZYNQMP_DMA
727b0cc417cSKedareswara rao Appana	tristate "Xilinx ZynqMP DMA Engine"
7287073b5a8SMichael Tretter	depends on ARCH_ZYNQ || MICROBLAZE || ARM64 || COMPILE_TEST
729b0cc417cSKedareswara rao Appana	select DMA_ENGINE
730b0cc417cSKedareswara rao Appana	help
731b0cc417cSKedareswara rao Appana	  Enable support for Xilinx ZynqMP DMA controller.
7325fa422c9SVinod Koul
7337cbb0c63SHyun Kwonconfig XILINX_ZYNQMP_DPDMA
7347cbb0c63SHyun Kwon	tristate "Xilinx DPDMA Engine"
73532828b82SLaurent Pinchart	depends on HAS_IOMEM && OF
7367cbb0c63SHyun Kwon	select DMA_ENGINE
7377cbb0c63SHyun Kwon	select DMA_VIRTUAL_CHANNELS
7387cbb0c63SHyun Kwon	help
7397cbb0c63SHyun Kwon	  Enable support for Xilinx ZynqMP DisplayPort DMA. Choose this option
7407cbb0c63SHyun Kwon	  if you have a Xilinx ZynqMP SoC with a DisplayPort subsystem. The
7417cbb0c63SHyun Kwon	  driver provides the dmaengine required by the DisplayPort subsystem
7427cbb0c63SHyun Kwon	  display driver.
7437cbb0c63SHyun Kwon
7443c216190SVinod Koul# driver files
74573d5fc92SNishad Sarafsource "drivers/dma/amd/Kconfig"
74673d5fc92SNishad Saraf
7473c216190SVinod Koulsource "drivers/dma/bestcomm/Kconfig"
7485689ba7fSAndrew Bresticker
749548c4597SSean Wangsource "drivers/dma/mediatek/Kconfig"
750548c4597SSean Wang
751d9b31efcSSinan Kayasource "drivers/dma/qcom/Kconfig"
752d9b31efcSSinan Kaya
7533c216190SVinod Koulsource "drivers/dma/dw/Kconfig"
7549f2fd0dfSRameshwar Prasad Sahu
755e63d79d1SGustavo Pimentelsource "drivers/dma/dw-edma/Kconfig"
756e63d79d1SGustavo Pimentel
7573c216190SVinod Koulsource "drivers/dma/hsu/Kconfig"
7582ed6dc34SShannon Nelson
7596973886aSGreen Wansource "drivers/dma/sf-pdma/Kconfig"
7606973886aSGreen Wan
7613c216190SVinod Koulsource "drivers/dma/sh/Kconfig"
76250437bffSRussell King
763d88b1397SPeter Ujfalusisource "drivers/dma/ti/Kconfig"
764d88b1397SPeter Ujfalusi
7657fdf9b05SPeng Masource "drivers/dma/fsl-dpaa2-qdma/Kconfig"
7667fdf9b05SPeng Ma
76732d31c79SAmireddy Mallikarjuna reddysource "drivers/dma/lgm/Kconfig"
76832d31c79SAmireddy Mallikarjuna reddy
76976178a2cSAmelie Delaunaysource "drivers/dma/stm32/Kconfig"
77076178a2cSAmelie Delaunay
7713c216190SVinod Koul# clients
7722ed6dc34SShannon Nelsoncomment "DMA Clients"
7732ed6dc34SShannon Nelson	depends on DMA_ENGINE
7742ed6dc34SShannon Nelson
775729b5d1bSDan Williamsconfig ASYNC_TX_DMA
776729b5d1bSDan Williams	bool "Async_tx: Offload support for the async_tx api"
7779a8de639SDan Williams	depends on DMA_ENGINE
778729b5d1bSDan Williams	help
779729b5d1bSDan Williams	  This allows the async_tx api to take advantage of offload engines for
780729b5d1bSDan Williams	  memcpy, memset, xor, and raid6 p+q operations.  If your platform has
781729b5d1bSDan Williams	  a dma engine that can perform raid operations and you have enabled
782729b5d1bSDan Williams	  MD_RAID456 say Y.
783729b5d1bSDan Williams
784729b5d1bSDan Williams	  If unsure, say N.
785729b5d1bSDan Williams
7864a776f0aSHaavard Skinnemoenconfig DMATEST
7874a776f0aSHaavard Skinnemoen	tristate "DMA Test client"
7884a776f0aSHaavard Skinnemoen	depends on DMA_ENGINE
78958532e66SStefan Roese	select DMA_ENGINE_RAID
7904a776f0aSHaavard Skinnemoen	help
7914a776f0aSHaavard Skinnemoen	  Simple DMA test client. Say N unless you're debugging a
7924a776f0aSHaavard Skinnemoen	  DMA Device driver.
7934a776f0aSHaavard Skinnemoen
7943cc377b9SDan Williamsconfig DMA_ENGINE_RAID
7953cc377b9SDan Williams	bool
7963cc377b9SDan Williams
7972ed6dc34SShannon Nelsonendif
798