mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00

Add support for AMD AE4DMA controller. It performs high-bandwidth memory to memory and IO copy operation. Device commands are managed via a circular queue of 'descriptors', each of which specifies source and destination addresses for copying a single buffer of data. Reviewed-by: Raju Rangoju <Raju.Rangoju@amd.com> Reviewed-by: Philipp Stanner <pstanner@redhat.com> Signed-off-by: Basavaraj Natikar <Basavaraj.Natikar@amd.com> Link: https://lore.kernel.org/r/20241025095931.726018-3-Basavaraj.Natikar@amd.com Signed-off-by: Vinod Koul <vkoul@kernel.org>
42 lines
1.5 KiB
Text
42 lines
1.5 KiB
Text
# 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.
|