linux/drivers/dma/xilinx
Lizhi Hou 17ce252266 dmaengine: xilinx: xdma: Add xilinx xdma driver
Add driver to enable PCIe board which uses XDMA (the DMA/Bridge Subsystem
for PCI Express). For example, Xilinx Alveo PCIe devices.
    https://www.xilinx.com/products/boards-and-kits/alveo.html

The XDMA engine support up to 4 Host to Card (H2C) and 4 Card to Host (C2H)
channels. Memory transfers are specified on a per-channel basis in
descriptor linked lists, which the DMA fetches from host memory and
processes. Events such as descriptor completion and errors are signaled
using interrupts. The hardware detail is provided by
    https://docs.xilinx.com/r/en-US/pg195-pcie-dma/Introduction

This driver implements dmaengine APIs.
    - probe the available DMA channels
    - use dma_slave_map for channel lookup
    - use virtual channel to manage dmaengine tx descriptors
    - implement device_prep_slave_sg callback to handle host scatter gather
      list
    - implement device_config to config device address for DMA transfer

Signed-off-by: Lizhi Hou <lizhi.hou@amd.com>
Signed-off-by: Sonal Santan <sonal.santan@amd.com>
Signed-off-by: Max Zhen <max.zhen@amd.com>
Signed-off-by: Brian Xu <brian.xu@amd.com>
Tested-by: Martin Tuma <tumic@gpxsee.org>
Link: https://lore.kernel.org/r/1674145926-29449-2-git-send-email-lizhi.hou@amd.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
2023-02-10 11:32:26 +05:30
..
Makefile dmaengine: xilinx: xdma: Add xilinx xdma driver 2023-02-10 11:32:26 +05:30
xdma-regs.h dmaengine: xilinx: xdma: Add xilinx xdma driver 2023-02-10 11:32:26 +05:30
xdma.c dmaengine: xilinx: xdma: Add xilinx xdma driver 2023-02-10 11:32:26 +05:30
xilinx_dma.c dmaengine: xilinx_dma : add xilinx_dma_device_config() return documentation 2022-11-04 19:54:15 +05:30
xilinx_dpdma.c dmaengine: xilinx: use strscpy to replace strlcpy 2022-07-21 19:04:35 +05:30
zynqmp_dma.c dmaengine: drivers: Use devm_platform_ioremap_resource() 2023-01-18 22:16:47 +05:30