# SPDX-License-Identifier: GPL-2.0-only

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.
