dmaengine: qcom: Add ADM driver
authorJonathan McDowell <noodles@earth.li>
Sat, 14 Nov 2020 14:02:33 +0000 (14:02 +0000)
committerVinod Koul <vkoul@kernel.org>
Tue, 24 Nov 2020 16:11:15 +0000 (21:41 +0530)
commit5c9f8c2dbdbe53818bcde6aa6695e1331e5f841f
treed5e4d2fd3ac8e546e237fa52e7d0991b086ea190
parentf74faa0ca3d56df7d135602bca80f6e39be9f4ad
dmaengine: qcom: Add ADM driver

Add the DMA engine driver for the QCOM Application Data Mover (ADM) DMA
controller found in the MSM8x60 and IPQ/APQ8064 platforms.

The ADM supports both memory to memory transactions and memory
to/from peripheral device transactions.  The controller also provides
flow control capabilities for transactions to/from peripheral devices.

The initial release of this driver supports slave transfers to/from
peripherals and also incorporates CRCI (client rate control interface)
flow control.

The hardware only supports a 32 bit physical address, so specifying
!PHYS_ADDR_T_64BIT gives maximum COMPILE_TEST coverage without having to
spend effort on kludging things in the code that will never actually be
needed on real hardware.

Signed-off-by: Andy Gross <agross@codeaurora.org>
Signed-off-by: Thomas Pedersen <twp@codeaurora.org>
Signed-off-by: Jonathan McDowell <noodles@earth.li>
Link: https://lore.kernel.org/r/20201114140233.GM32650@earth.li
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/qcom/Kconfig
drivers/dma/qcom/Makefile
drivers/dma/qcom/qcom_adm.c [new file with mode: 0644]