# SPDX-License-Identifier: GPL-2.0-only # config AMD_AE4DMA tristate "AMD AE4DMA Engine" depends on (X86_64 || COMPILE_TEST) && PCI depends on AMD_PTDMA select DMA_ENGINE select DMA_VIRTUAL_CHANNELS help Enable support for the AMD AE4DMA controller. This controller provides DMA capabilities to perform high bandwidth memory to memory and IO copy operations. It performs DMA transfer through queue-based descriptor management. This DMA controller is intended to be used with AMD Non-Transparent Bridge devices and not for general purpose peripheral DMA. config AMD_PTDMA tristate "AMD PassThru DMA Engine" depends on X86_64 && PCI select DMA_ENGINE select DMA_VIRTUAL_CHANNELS help Enable support for the AMD PTDMA controller. This controller provides DMA capabilities to perform high bandwidth memory to memory and IO copy operations. It performs DMA transfer through queue-based descriptor management. This DMA controller is intended to be used with AMD Non-Transparent Bridge devices and not for general purpose peripheral DMA. config AMD_QDMA tristate "AMD Queue-based DMA" depends on HAS_IOMEM select DMA_ENGINE select DMA_VIRTUAL_CHANNELS select REGMAP_MMIO help Enable support for the AMD Queue-based DMA subsystem. The primary mechanism to transfer data using the QDMA is for the QDMA engine to operate on instructions (descriptors) provided by the host operating system. Using the descriptors, the QDMA can move data in either the Host to Card (H2C) direction or the Card to Host (C2H) direction.