dmaengine: mediatek: Add MediaTek High-Speed DMA controller for MT7622 and MT7623 SoC
MediaTek High-Speed DMA controller (HSDMA) on MT7622 and MT7623 SoC has a single ring is dedicated to memory-to-memory transfer through ring based descriptor management. Even though there is only one physical ring available inside HSDMA, the driver can be easily extended to the support of multiple virtual channels processing simultaneously by means of DMA_VIRTUAL_CHANNELS effort. Signed-off-by: Sean Wang <sean.wang@mediatek.com> Cc: Randy Dunlap <rdunlap@infradead.org> Cc: Fengguang Wu <fengguang.wu@intel.com> Cc: Julia Lawall <julia.lawall@lip6.fr> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
This commit is contained in:
parent
33f32c0e1e
commit
548c4597e9
|
@ -633,6 +633,8 @@ config ZX_DMA
|
|||
# driver files
|
||||
source "drivers/dma/bestcomm/Kconfig"
|
||||
|
||||
source "drivers/dma/mediatek/Kconfig"
|
||||
|
||||
source "drivers/dma/qcom/Kconfig"
|
||||
|
||||
source "drivers/dma/dw/Kconfig"
|
||||
|
|
|
@ -75,5 +75,6 @@ obj-$(CONFIG_XGENE_DMA) += xgene-dma.o
|
|||
obj-$(CONFIG_ZX_DMA) += zx_dma.o
|
||||
obj-$(CONFIG_ST_FDMA) += st_fdma.o
|
||||
|
||||
obj-y += mediatek/
|
||||
obj-y += qcom/
|
||||
obj-y += xilinx/
|
||||
|
|
13
drivers/dma/mediatek/Kconfig
Normal file
13
drivers/dma/mediatek/Kconfig
Normal file
|
@ -0,0 +1,13 @@
|
|||
|
||||
config MTK_HSDMA
|
||||
tristate "MediaTek High-Speed DMA controller support"
|
||||
depends on ARCH_MEDIATEK || COMPILE_TEST
|
||||
select DMA_ENGINE
|
||||
select DMA_VIRTUAL_CHANNELS
|
||||
---help---
|
||||
Enable support for High-Speed DMA controller on MediaTek
|
||||
SoCs.
|
||||
|
||||
This controller provides the channels which is dedicated to
|
||||
memory-to-memory transfer to offload from CPU through ring-
|
||||
based descriptor management.
|
1
drivers/dma/mediatek/Makefile
Normal file
1
drivers/dma/mediatek/Makefile
Normal file
|
@ -0,0 +1 @@
|
|||
obj-$(CONFIG_MTK_HSDMA) += mtk-hsdma.o
|
1056
drivers/dma/mediatek/mtk-hsdma.c
Normal file
1056
drivers/dma/mediatek/mtk-hsdma.c
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue