dmaengine: fsl-qdma: Add qDMA controller driver for Layerscape SoCs
NXP Queue DMA controller(qDMA) on Layerscape SoCs supports channel virtuallization by allowing DMA jobs to be enqueued into different command queues. Signed-off-by: Wen He <wen.he_1@nxp.com> Signed-off-by: Jiaheng Fan <jiaheng.fan@nxp.com> Signed-off-by: Peng Ma <peng.ma@nxp.com> Signed-off-by: Vinod Koul <vkoul@kernel.org>
This commit is contained in:
parent
a1ff82a9c1
commit
b092529e0a
|
@ -218,6 +218,20 @@ config FSL_EDMA
|
|||
multiplexing capability for DMA request sources(slot).
|
||||
This module can be found on Freescale Vybrid and LS-1 SoCs.
|
||||
|
||||
config FSL_QDMA
|
||||
tristate "NXP Layerscape qDMA engine support"
|
||||
depends on ARM || ARM64
|
||||
select DMA_ENGINE
|
||||
select DMA_VIRTUAL_CHANNELS
|
||||
select DMA_ENGINE_RAID
|
||||
select ASYNC_TX_ENABLE_CHANNEL_SWITCH
|
||||
help
|
||||
Support the NXP Layerscape qDMA engine with command queue and legacy mode.
|
||||
Channel virtualization is supported through enqueuing of DMA jobs to,
|
||||
or dequeuing DMA jobs from, different work queues.
|
||||
This module can be found on NXP Layerscape SoCs.
|
||||
The qdma driver only work on SoCs with a DPAA hardware block.
|
||||
|
||||
config FSL_RAID
|
||||
tristate "Freescale RAID engine Support"
|
||||
depends on FSL_SOC && !ASYNC_TX_ENABLE_CHANNEL_SWITCH
|
||||
|
|
|
@ -33,6 +33,7 @@ obj-$(CONFIG_EP93XX_DMA) += ep93xx_dma.o
|
|||
obj-$(CONFIG_FSL_DMA) += fsldma.o
|
||||
obj-$(CONFIG_FSL_EDMA) += fsl-edma.o fsl-edma-common.o
|
||||
obj-$(CONFIG_MCF_EDMA) += mcf-edma.o fsl-edma-common.o
|
||||
obj-$(CONFIG_FSL_QDMA) += fsl-qdma.o
|
||||
obj-$(CONFIG_FSL_RAID) += fsl_raid.o
|
||||
obj-$(CONFIG_HSU_DMA) += hsu/
|
||||
obj-$(CONFIG_IMG_MDC_DMA) += img-mdc-dma.o
|
||||
|
|
1258
drivers/dma/fsl-qdma.c
Normal file
1258
drivers/dma/fsl-qdma.c
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue