]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
dmaengine: dw-edma: Add non-LL mode
authorDevendra K Verma <devendra.verma@amd.com>
Wed, 18 Mar 2026 07:04:03 +0000 (12:34 +0530)
committerVinod Koul <vkoul@kernel.org>
Wed, 18 Mar 2026 09:41:40 +0000 (15:11 +0530)
commitb7560798466a07d9c3fb011698e92c335ab28baf
tree893c6fe3c2f1408edb650f9ae5c4d780f3b3deed
parent14eb9a1d338fdc301a2297af86818ecf716b1539
dmaengine: dw-edma: Add non-LL mode

AMD MDB IP supports Linked List (LL) mode as well as non-LL mode.
The current code does not have the mechanisms to enable the
DMA transactions using the non-LL mode. The following two cases
are added with this patch:
- For the AMD (Xilinx) only, when a valid physical base address of
  the device side DDR is not configured, then the IP can still be
  used in non-LL mode. For all the channels DMA transactions will
  be using the non-LL mode only. This, the default non-LL mode,
  is not applicable for Synopsys IP with the current code addition.

- If the default mode is LL-mode, for both AMD (Xilinx) and Synosys,
  and if user wants to use non-LL mode then user can do so via
  configuring the peripheral_config param of dma_slave_config.

Signed-off-by: Devendra K Verma <devendra.verma@amd.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Link: https://patch.msgid.link/20260318070403.1634706-3-devendra.verma@amd.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/dw-edma/dw-edma-core.c
drivers/dma/dw-edma/dw-edma-core.h
drivers/dma/dw-edma/dw-edma-pcie.c
drivers/dma/dw-edma/dw-hdma-v0-core.c
drivers/dma/dw-edma/dw-hdma-v0-regs.h
include/linux/dma/edma.h