xref: /linux/drivers/dma/amd/Kconfig (revision 7c775c6056d07eb777f37c7ac1340115b27dc9f8)
1# SPDX-License-Identifier: GPL-2.0-only
2#
3
4config AMD_AE4DMA
5	tristate  "AMD AE4DMA Engine"
6	depends on (X86_64 || COMPILE_TEST) && PCI
7	depends on AMD_PTDMA
8	select DMA_ENGINE
9	select DMA_VIRTUAL_CHANNELS
10	help
11	  Enable support for the AMD AE4DMA controller. This controller
12	  provides DMA capabilities to perform high bandwidth memory to
13	  memory and IO copy operations. It performs DMA transfer through
14	  queue-based descriptor management. This DMA controller is intended
15	  to be used with AMD Non-Transparent Bridge devices and not for
16	  general purpose peripheral DMA.
17
18config AMD_PTDMA
19	tristate  "AMD PassThru DMA Engine"
20	depends on X86_64 && PCI
21	select DMA_ENGINE
22	select DMA_VIRTUAL_CHANNELS
23	help
24	  Enable support for the AMD PTDMA controller. This controller
25	  provides DMA capabilities to perform high bandwidth memory to
26	  memory and IO copy operations. It performs DMA transfer through
27	  queue-based descriptor management. This DMA controller is intended
28	  to be used with AMD Non-Transparent Bridge devices and not for
29	  general purpose peripheral DMA.
30
31config AMD_QDMA
32	tristate "AMD Queue-based DMA"
33	depends on HAS_IOMEM
34	select DMA_ENGINE
35	select DMA_VIRTUAL_CHANNELS
36	select REGMAP_MMIO
37	help
38	  Enable support for the AMD Queue-based DMA subsystem. The primary
39	  mechanism to transfer data using the QDMA is for the QDMA engine to
40	  operate on instructions (descriptors) provided by the host operating
41	  system. Using the descriptors, the QDMA can move data in either the
42	  Host to Card (H2C) direction or the Card to Host (C2H) direction.
43