Add support for NVIDIA Tegra general purpose DMA driver for Tegra186 and Tegra194 platform. v15 -> v16: * Added cyclic mode support * Added device pause and resume * Added sg_req array to handle multiple sgs * Request irq only when a dma chan is allocated * Removed locks and busy flag * Updates in terminate_all callback v15 - https://lkml.org/lkml/2021/12/16/905 The additional changes were added to align with the features that got added in the interim. Keeping "Reviewed-by: Jon Hunter <jonathanh@xxxxxxxxxx>" as the changes were reviewed internally. Akhil R (4): dt-bindings: dmaengine: Add doc for tegra gpcdma dmaengine: tegra: Add tegra gpcdma driver arm64: defconfig: tegra: Enable GPCDMA arm64: tegra: Add GPCDMA node for tegra186 and tegra194 .../bindings/dma/nvidia,tegra186-gpc-dma.yaml | 110 ++ arch/arm64/boot/dts/nvidia/tegra186.dtsi | 42 + arch/arm64/boot/dts/nvidia/tegra194.dtsi | 43 + arch/arm64/configs/defconfig | 1 + drivers/dma/Kconfig | 11 + drivers/dma/Makefile | 1 + drivers/dma/tegra186-gpc-dma.c | 1464 ++++++++++++++++++++ 7 files changed, 1672 insertions(+) create mode 100644 Documentation/devicetree/bindings/dma/nvidia,tegra186-gpc-dma.yaml create mode 100644 drivers/dma/tegra186-gpc-dma.c -- 2.7.4