forked from ~ljy/RK356X_SDK_RELEASE

hc
2023-12-11 072de836f53be56a70cecf70b43ae43b7ce17376
kernel/drivers/dma/Kconfig
....@@ -1,3 +1,4 @@
1
+# SPDX-License-Identifier: GPL-2.0-only
12 #
23 # DMA engine configuration
34 #
....@@ -14,19 +15,19 @@
1415 be empty in some cases.
1516
1617 config DMADEVICES_DEBUG
17
- bool "DMA Engine debugging"
18
- depends on DMADEVICES != n
19
- help
20
- This is an option for use by developers; most people should
21
- say N here. This enables DMA engine core and driver debugging.
18
+ bool "DMA Engine debugging"
19
+ depends on DMADEVICES != n
20
+ help
21
+ This is an option for use by developers; most people should
22
+ say N here. This enables DMA engine core and driver debugging.
2223
2324 config DMADEVICES_VDEBUG
24
- bool "DMA Engine verbose debugging"
25
- depends on DMADEVICES_DEBUG != n
26
- help
27
- This is an option for use by developers; most people should
28
- say N here. This enables deeper (more verbose) debugging of
29
- the DMA engine core and drivers.
25
+ bool "DMA Engine verbose debugging"
26
+ depends on DMADEVICES_DEBUG != n
27
+ help
28
+ This is an option for use by developers; most people should
29
+ say N here. This enables deeper (more verbose) debugging of
30
+ the DMA engine core and drivers.
3031
3132
3233 if DMADEVICES
....@@ -100,12 +101,13 @@
100101
101102 config AXI_DMAC
102103 tristate "Analog Devices AXI-DMAC DMA support"
103
- depends on MICROBLAZE || NIOS2 || ARCH_ZYNQ || ARCH_SOCFPGA || COMPILE_TEST
104
+ depends on MICROBLAZE || NIOS2 || ARCH_ZYNQ || ARCH_ZYNQMP || ARCH_SOCFPGA || COMPILE_TEST
104105 select DMA_ENGINE
105106 select DMA_VIRTUAL_CHANNELS
107
+ select REGMAP_MMIO
106108 help
107109 Enable support for the Analog Devices AXI-DMAC peripheral. This DMA
108
- controller is often used in Analog Device's reference designs for FPGA
110
+ controller is often used in Analog Devices' reference designs for FPGA
109111 platforms.
110112
111113 config BCM_SBA_RAID
....@@ -133,12 +135,6 @@
133135 config DMA_BCM2835
134136 tristate "BCM2835 DMA engine support"
135137 depends on ARCH_BCM2835
136
- select DMA_ENGINE
137
- select DMA_VIRTUAL_CHANNELS
138
-
139
-config DMA_JZ4740
140
- tristate "JZ4740 DMA support"
141
- depends on MACH_JZ4740 || COMPILE_TEST
142138 select DMA_ENGINE
143139 select DMA_VIRTUAL_CHANNELS
144140
....@@ -203,7 +199,7 @@
203199 depends on FSL_SOC
204200 select DMA_ENGINE
205201 select ASYNC_TX_ENABLE_CHANNEL_SWITCH
206
- ---help---
202
+ help
207203 Enable support for the Freescale Elo series DMA controllers.
208204 The Elo is the DMA controller on some mpc82xx and mpc83xx parts, the
209205 EloPlus is on mpc85xx and mpc86xx and Pxxx parts, and the Elo3 is on
....@@ -219,16 +215,39 @@
219215 multiplexing capability for DMA request sources(slot).
220216 This module can be found on Freescale Vybrid and LS-1 SoCs.
221217
218
+config FSL_QDMA
219
+ tristate "NXP Layerscape qDMA engine support"
220
+ depends on ARM || ARM64
221
+ select DMA_ENGINE
222
+ select DMA_VIRTUAL_CHANNELS
223
+ select DMA_ENGINE_RAID
224
+ select ASYNC_TX_ENABLE_CHANNEL_SWITCH
225
+ help
226
+ Support the NXP Layerscape qDMA engine with command queue and legacy mode.
227
+ Channel virtualization is supported through enqueuing of DMA jobs to,
228
+ or dequeuing DMA jobs from, different work queues.
229
+ This module can be found on NXP Layerscape SoCs.
230
+ The qdma driver only work on SoCs with a DPAA hardware block.
231
+
222232 config FSL_RAID
223
- tristate "Freescale RAID engine Support"
224
- depends on FSL_SOC && !ASYNC_TX_ENABLE_CHANNEL_SWITCH
225
- select DMA_ENGINE
226
- select DMA_ENGINE_RAID
227
- ---help---
228
- Enable support for Freescale RAID Engine. RAID Engine is
229
- available on some QorIQ SoCs (like P5020/P5040). It has
230
- the capability to offload memcpy, xor and pq computation
233
+ tristate "Freescale RAID engine Support"
234
+ depends on FSL_SOC && !ASYNC_TX_ENABLE_CHANNEL_SWITCH
235
+ select DMA_ENGINE
236
+ select DMA_ENGINE_RAID
237
+ help
238
+ Enable support for Freescale RAID Engine. RAID Engine is
239
+ available on some QorIQ SoCs (like P5020/P5040). It has
240
+ the capability to offload memcpy, xor and pq computation
231241 for raid5/6.
242
+
243
+config HISI_DMA
244
+ tristate "HiSilicon DMA Engine support"
245
+ depends on ARM64 || COMPILE_TEST
246
+ depends on PCI_MSI
247
+ select DMA_ENGINE
248
+ select DMA_VIRTUAL_CHANNELS
249
+ help
250
+ Support HiSilicon Kunpeng DMA engine.
232251
233252 config IMG_MDC_DMA
234253 tristate "IMG MDC support"
....@@ -264,6 +283,20 @@
264283 Enable DMA support for Intel Low Power Subsystem such as found on
265284 Intel Skylake PCH.
266285
286
+config INTEL_IDXD
287
+ tristate "Intel Data Accelerators support"
288
+ depends on PCI && X86_64 && !UML
289
+ depends on PCI_MSI
290
+ depends on SBITMAP
291
+ select DMA_ENGINE
292
+ help
293
+ Enable support for the Intel(R) data accelerators present
294
+ in Intel Xeon CPU.
295
+
296
+ Say Y if you have such a platform.
297
+
298
+ If unsure, say N.
299
+
267300 config INTEL_IOATDMA
268301 tristate "Intel I/OAT DMA support"
269302 depends on PCI && X86_64 && !UML
....@@ -279,30 +312,12 @@
279312 If unsure, say N.
280313
281314 config INTEL_IOP_ADMA
282
- tristate "Intel IOP ADMA support"
283
- depends on ARCH_IOP32X || ARCH_IOP33X || ARCH_IOP13XX
315
+ tristate "Intel IOP32x ADMA support"
316
+ depends on ARCH_IOP32X || COMPILE_TEST
284317 select DMA_ENGINE
285318 select ASYNC_TX_ENABLE_CHANNEL_SWITCH
286319 help
287320 Enable support for the Intel(R) IOP Series RAID engines.
288
-
289
-config INTEL_MIC_X100_DMA
290
- tristate "Intel MIC X100 DMA Driver"
291
- depends on 64BIT && X86 && INTEL_MIC_BUS
292
- select DMA_ENGINE
293
- help
294
- This enables DMA support for the Intel Many Integrated Core
295
- (MIC) family of PCIe form factor coprocessor X100 devices that
296
- run a 64 bit Linux OS. This driver will be used by both MIC
297
- host and card drivers.
298
-
299
- If you are building host kernel with a MIC device or a card
300
- kernel for a MIC device, then say M (recommended) or Y, else
301
- say N. If unsure say N.
302
-
303
- More information about the Intel MIC family as well as the Linux
304
- OS and tools for MIC to use with this driver are available from
305
- <http://software.intel.com/en-us/mic-developer>.
306321
307322 config K3_DMA
308323 tristate "Hisilicon K3 DMA support"
....@@ -322,6 +337,37 @@
322337 Enable support for DMA on NXP LPC18xx/43xx platforms
323338 with PL080 and multiplexed DMA request lines.
324339
340
+config MCF_EDMA
341
+ tristate "Freescale eDMA engine support, ColdFire mcf5441x SoCs"
342
+ depends on M5441x || COMPILE_TEST
343
+ select DMA_ENGINE
344
+ select DMA_VIRTUAL_CHANNELS
345
+ help
346
+ Support the Freescale ColdFire eDMA engine, 64-channel
347
+ implementation that performs complex data transfers with
348
+ minimal intervention from a host processor.
349
+ This module can be found on Freescale ColdFire mcf5441x SoCs.
350
+
351
+config MILBEAUT_HDMAC
352
+ tristate "Milbeaut AHB DMA support"
353
+ depends on ARCH_MILBEAUT || COMPILE_TEST
354
+ depends on OF
355
+ select DMA_ENGINE
356
+ select DMA_VIRTUAL_CHANNELS
357
+ help
358
+ Say yes here to support the Socionext Milbeaut
359
+ HDMAC device.
360
+
361
+config MILBEAUT_XDMAC
362
+ tristate "Milbeaut AXI DMA support"
363
+ depends on ARCH_MILBEAUT || COMPILE_TEST
364
+ depends on OF
365
+ select DMA_ENGINE
366
+ select DMA_VIRTUAL_CHANNELS
367
+ help
368
+ Say yes here to support the Socionext Milbeaut
369
+ XDMAC device.
370
+
325371 config MMP_PDMA
326372 bool "MMP PDMA support"
327373 depends on ARCH_MMP || ARCH_PXA || COMPILE_TEST
....@@ -333,12 +379,10 @@
333379 bool "MMP Two-Channel DMA support"
334380 depends on ARCH_MMP || COMPILE_TEST
335381 select DMA_ENGINE
336
- select MMP_SRAM if ARCH_MMP
337382 select GENERIC_ALLOCATOR
338383 help
339384 Support the MMP Two-Channel DMA engine.
340385 This engine used for MMP Audio DMA and pxa910 SQU.
341
- It needs sram driver under mach-mmp.
342386
343387 config MOXART_DMA
344388 tristate "MOXART DMA support"
....@@ -354,7 +398,7 @@
354398 tristate "Freescale MPC512x built-in DMA engine support"
355399 depends on PPC_MPC512x || PPC_MPC831x
356400 select DMA_ENGINE
357
- ---help---
401
+ help
358402 Enable support for the Freescale MPC512x built-in DMA engine.
359403
360404 config MV_XOR
....@@ -363,7 +407,7 @@
363407 select DMA_ENGINE
364408 select DMA_ENGINE_RAID
365409 select ASYNC_TX_ENABLE_CHANNEL_SWITCH
366
- ---help---
410
+ help
367411 Enable support for the Marvell XOR engine.
368412
369413 config MV_XOR_V2
....@@ -373,7 +417,7 @@
373417 select DMA_ENGINE_RAID
374418 select ASYNC_TX_ENABLE_CHANNEL_SWITCH
375419 select GENERIC_MSI_IRQ_DOMAIN
376
- ---help---
420
+ help
377421 Enable support for the Marvell version 2 XOR engine.
378422
379423 This engine provides acceleration for copy, XOR and RAID6
....@@ -456,6 +500,15 @@
456500 platform. The internal DMA IP of all PXA variants is supported, with
457501 16 to 32 channels for peripheral to memory or memory to memory
458502 transfers.
503
+
504
+config PLX_DMA
505
+ tristate "PLX ExpressLane PEX Switch DMA Engine Support"
506
+ depends on PCI
507
+ select DMA_ENGINE
508
+ help
509
+ Some PLX ExpressLane PCI Switches support additional DMA engines.
510
+ These are exposed via extra functions on the switch's
511
+ upstream port. Each function exposes one DMA channel.
459512
460513 config SIRF_DMA
461514 tristate "CSR SiRFprimaII/SiRFmarco DMA support"
....@@ -546,8 +599,8 @@
546599 integrated in chips such as the Toshiba TX4927/38/39.
547600
548601 config TEGRA20_APB_DMA
549
- bool "NVIDIA Tegra20 APB DMA support"
550
- depends on ARCH_TEGRA
602
+ tristate "NVIDIA Tegra20 APB DMA support"
603
+ depends on ARCH_TEGRA || COMPILE_TEST
551604 select DMA_ENGINE
552605 help
553606 Support for the NVIDIA Tegra20 APB DMA controller driver. The
....@@ -559,7 +612,7 @@
559612
560613 config TEGRA210_ADMA
561614 tristate "NVIDIA Tegra210 ADMA support"
562
- depends on (ARCH_TEGRA_210_SOC || COMPILE_TEST) && PM_CLK
615
+ depends on (ARCH_TEGRA_210_SOC || COMPILE_TEST)
563616 select DMA_ENGINE
564617 select DMA_VIRTUAL_CHANNELS
565618 help
....@@ -576,6 +629,28 @@
576629 select DMA_ENGINE
577630 help
578631 Enable support for the Timberdale FPGA DMA engine.
632
+
633
+config UNIPHIER_MDMAC
634
+ tristate "UniPhier MIO DMAC"
635
+ depends on ARCH_UNIPHIER || COMPILE_TEST
636
+ depends on OF
637
+ select DMA_ENGINE
638
+ select DMA_VIRTUAL_CHANNELS
639
+ help
640
+ Enable support for the MIO DMAC (Media I/O DMA controller) on the
641
+ UniPhier platform. This DMA controller is used as the external
642
+ DMA engine of the SD/eMMC controllers of the LD4, Pro4, sLD8 SoCs.
643
+
644
+config UNIPHIER_XDMAC
645
+ tristate "UniPhier XDMAC support"
646
+ depends on ARCH_UNIPHIER || COMPILE_TEST
647
+ depends on OF
648
+ select DMA_ENGINE
649
+ select DMA_VIRTUAL_CHANNELS
650
+ help
651
+ Enable support for the XDMAC (external DMA controller) on the
652
+ UniPhier platform. This DMA controller can transfer data from
653
+ memory to memory, memory to peripheral and peripheral to memory.
579654
580655 config XGENE_DMA
581656 tristate "APM X-Gene DMA support"
....@@ -604,6 +679,10 @@
604679 destination address.
605680 AXI DMA engine provides high-bandwidth one dimensional direct
606681 memory access between memory and AXI4-Stream target peripherals.
682
+ AXI MCDMA engine provides high-bandwidth direct memory access
683
+ between memory and AXI4-Stream target peripherals. It provides
684
+ the scatter gather interface with multiple channels independent
685
+ configuration support.
607686
608687 config XILINX_ZYNQMP_DMA
609688 tristate "Xilinx ZynqMP DMA Engine"
....@@ -611,6 +690,17 @@
611690 select DMA_ENGINE
612691 help
613692 Enable support for Xilinx ZynqMP DMA controller.
693
+
694
+config XILINX_ZYNQMP_DPDMA
695
+ tristate "Xilinx DPDMA Engine"
696
+ depends on HAS_IOMEM && OF
697
+ select DMA_ENGINE
698
+ select DMA_VIRTUAL_CHANNELS
699
+ help
700
+ Enable support for Xilinx ZynqMP DisplayPort DMA. Choose this option
701
+ if you have a Xilinx ZynqMP SoC with a DisplayPort subsystem. The
702
+ driver provides the dmaengine required by the DisplayPort subsystem
703
+ display driver.
614704
615705 config ZX_DMA
616706 tristate "ZTE ZX DMA support"
....@@ -630,12 +720,18 @@
630720
631721 source "drivers/dma/dw/Kconfig"
632722
723
+source "drivers/dma/dw-edma/Kconfig"
724
+
633725 source "drivers/dma/hsu/Kconfig"
726
+
727
+source "drivers/dma/sf-pdma/Kconfig"
634728
635729 source "drivers/dma/sh/Kconfig"
636730
637731 source "drivers/dma/ti/Kconfig"
638732
733
+source "drivers/dma/fsl-dpaa2-qdma/Kconfig"
734
+
639735 # clients
640736 comment "DMA Clients"
641737 depends on DMA_ENGINE