Skip to content

Commit 5c9f8c2

Browse files
u1f35cvinodkoul
authored andcommitted
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>
1 parent f74faa0 commit 5c9f8c2

File tree

3 files changed

+915
-0
lines changed

3 files changed

+915
-0
lines changed

drivers/dma/qcom/Kconfig

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,15 @@
11
# SPDX-License-Identifier: GPL-2.0-only
2+
config QCOM_ADM
3+
tristate "Qualcomm ADM support"
4+
depends on (ARCH_QCOM || COMPILE_TEST) && !PHYS_ADDR_T_64BIT
5+
select DMA_ENGINE
6+
select DMA_VIRTUAL_CHANNELS
7+
help
8+
Enable support for the Qualcomm Application Data Mover (ADM) DMA
9+
controller, as present on MSM8x60, APQ8064, and IPQ8064 devices.
10+
This controller provides DMA capabilities for both general purpose
11+
and on-chip peripheral devices.
12+
213
config QCOM_BAM_DMA
314
tristate "QCOM BAM DMA support"
415
depends on ARCH_QCOM || (COMPILE_TEST && OF && ARM)

drivers/dma/qcom/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# SPDX-License-Identifier: GPL-2.0
2+
obj-$(CONFIG_QCOM_ADM) += qcom_adm.o
23
obj-$(CONFIG_QCOM_BAM_DMA) += bam_dma.o
34
obj-$(CONFIG_QCOM_HIDMA_MGMT) += hdma_mgmt.o
45
hdma_mgmt-objs := hidma_mgmt.o hidma_mgmt_sys.o

0 commit comments

Comments
 (0)