Binbin Zhou and Vinod Koul
ffee2dc04e
dmaengine: loongson: New directory for Loongson DMA controllers drivers
...
Gather the Loongson DMA controllers under drivers/dma/loongson/
Reviewed-by: Frank Li <Frank.Li@nxp.com >
Signed-off-by: Binbin Zhou <zhoubinbin@loongson.cn >
Reviewed-by: Keguang Zhang <keguang.zhang@gmail.com >
Reviewed-by: Huacai Chen <chenhuacai@loongson.cn >
Link: https://patch.msgid.link/0a0853a85630724741061f6fe08680610e49a06e.1772853681.git.zhoubinbin@loongson.cn
Signed-off-by: Vinod Koul <vkoul@kernel.org >
2026-03-17 16:48:55 +05:30
Kelvin Cao and Vinod Koul
d9587042b5
dmaengine: switchtec-dma: Introduce Switchtec DMA engine skeleton
...
Some Switchtec Switches can expose DMA engines via extra PCI functions
on the upstream ports. At most one such function can be supported on
each upstream port. Each function can have one or more DMA channels.
This patch is just the core PCI driver skeleton and dma
engine registration.
Signed-off-by: Kelvin Cao <kelvin.cao@microchip.com >
Co-developed-by: George Ge <george.ge@microchip.com >
Signed-off-by: George Ge <george.ge@microchip.com >
Reviewed-by: Christoph Hellwig <hch@lst.de >
Reviewed-by: Frank Li <Frank.Li@nxp.com >
Signed-off-by: Logan Gunthorpe <logang@deltatee.com >
Link: https://patch.msgid.link/20260302210419.3656-2-logang@deltatee.com
Signed-off-by: Vinod Koul <vkoul@kernel.org >
2026-03-09 08:28:22 +01:00
Inochi Amaoto and Vinod Koul
db7d07b5ad
dmaengine: add driver for Sophgo CV18XX/SG200X dmamux
...
Sophgo CV18XX/SG200X use DW AXI CORE with a multiplexer for remapping
its request lines. The multiplexer supports at most 8 request lines.
Add driver for Sophgo CV18XX/SG200X DMA multiplexer.
Signed-off-by: Inochi Amaoto <inochiama@gmail.com >
Tested-by: Alexander Sverdlin <alexander.sverdlin@gmail.com >
Link: https://lore.kernel.org/r/20250611081000.1187374-3-inochiama@gmail.com
Signed-off-by: Vinod Koul <vkoul@kernel.org >
2025-06-17 11:26:13 +05:30
Robin Murphy and Vinod Koul
5d09970644
dmaengine: Add Arm DMA-350 driver
...
Add an initial driver for the Arm Corelink DMA-350 controller, to
support basic mem-to-mem async_tx. The design here leaves room for more
fun things like peripheral support and scatter-gather chaining to come
in future.
Signed-off-by: Robin Murphy <robin.murphy@arm.com >
Link: https://lore.kernel.org/r/6d7d8efefa935d34977b59a74797ab377528db94.1741780808.git.robin.murphy@arm.com
Signed-off-by: Vinod Koul <vkoul@kernel.org >
2025-04-17 20:47:39 +05:30
Basavaraj Natikar and Vinod Koul
e01ee7c660
dmaengine: Move AMD PTDMA driver to amd directory
...
PTDMA driver is the AMD DMA driver, and newer AMD platforms support newer
DMA engines. Hence, move the current drivers to the AMD directory. This
would also mean that future driver submissions to the AMD DMA driver will
also land in the AMD-specific directory.
Reviewed-by: Raju Rangoju <Raju.Rangoju@amd.com >
Signed-off-by: Basavaraj Natikar <Basavaraj.Natikar@amd.com >
Link: https://lore.kernel.org/r/20241025095931.726018-2-Basavaraj.Natikar@amd.com
Signed-off-by: Vinod Koul <vkoul@kernel.org >
2024-12-02 22:55:27 +05:30
Binbin Zhou and Vinod Koul
8974f34de2
dmaengine: loongson2-apb: Rename the prefix ls2x to loongson2
...
Since commit e06c432312 ("dmaengine: Loongson1: Add Loongson-1 APB DMA
driver"), the Loongson-1 dma controller was added.
Unfortunately their naming has not been standardized, as CPUs belonging
to the same Loongson family, we expect to standardize the naming for
ease of understanding.
Signed-off-by: Binbin Zhou <zhoubinbin@loongson.cn >
Link: https://lore.kernel.org/r/20240924064241.2414629-1-zhoubinbin@loongson.cn
Signed-off-by: Vinod Koul <vkoul@kernel.org >
2024-10-23 11:05:45 +05:30
Piotr Wojtaszczyk and Vinod Koul
5d318b5959
dmaengine: Add dma router for pl08x in LPC32XX SoC
...
LPC32XX connects few of its peripherals to pl08x DMA thru a multiplexer,
this driver allows to route a signal request line thru the multiplexer for
given peripheral.
Signed-off-by: Piotr Wojtaszczyk <piotr.wojtaszczyk@timesys.com >
Link: https://lore.kernel.org/r/20240628152022.274405-1-piotr.wojtaszczyk@timesys.com
Signed-off-by: Vinod Koul <vkoul@kernel.org >
2024-08-29 22:54:11 +05:30
Keguang Zhang and Vinod Koul
e06c432312
dmaengine: Loongson1: Add Loongson-1 APB DMA driver
...
Add APB DMA driver for Loongson-1 SoCs.
Reviewed-by: Jiaxun Yang <jiaxun.yang@flygoat.com >
Signed-off-by: Keguang Zhang <keguang.zhang@gmail.com >
Link: https://lore.kernel.org/r/20240809-loongson1-dma-v12-2-d9469a4a6b85@gmail.com
Signed-off-by: Vinod Koul <vkoul@kernel.org >
2024-08-29 22:47:24 +05:30
Nishad Saraf and Vinod Koul
73d5fc92a1
dmaengine: amd: qdma: Add AMD QDMA driver
...
Adds driver to enable PCIe board which uses AMD QDMA (the Queue-based
Direct Memory Access) subsystem. For example, Xilinx Alveo V70 AI
Accelerator devices.
https://www.xilinx.com/applications/data-center/v70.html
The QDMA subsystem is used in conjunction with the PCI Express IP block
to provide high performance data transfer between host memory and the
card's DMA subsystem.
+-------+ +-------+ +-----------+
PCIe | | | | | |
Tx/Rx | | | | AXI | |
<=======> | PCIE | <===> | QDMA | <====>| User Logic|
| | | | | |
+-------+ +-------+ +-----------+
The primary mechanism to transfer data using the QDMA is for the QDMA
engine to operate on instructions (descriptors) provided by the host
operating system. Using the descriptors, the QDMA can move data in both
the Host to Card (H2C) direction, or the Card to Host (C2H) direction.
The QDMA provides a per-queue basis option whether DMA traffic goes
to an AXI4 memory map (MM) interface or to an AXI4-Stream interface.
The hardware detail is provided by
https://docs.xilinx.com/r/en-US/pg302-qdma
Implements dmaengine APIs to support MM DMA transfers.
- probe the available DMA channels
- use dma_slave_map for channel lookup
- use virtual channel to manage dmaengine tx descriptors
- implement device_prep_slave_sg callback to handle host scatter gather
list
Signed-off-by: Nishad Saraf <nishads@amd.com >
Signed-off-by: Lizhi Hou <lizhi.hou@amd.com >
Link: https://lore.kernel.org/r/20240819211948.688786-2-lizhi.hou@amd.com
Signed-off-by: Vinod Koul <vkoul@kernel.org >
2024-08-28 23:34:13 +05:30
Amelie Delaunay and Vinod Koul
76178a2c49
dmaengine: stm32: New directory for STM32 DMA controllers drivers
...
Gather the STM32 DMA controllers under drivers/dma/stm32/
Signed-off-by: Amelie Delaunay <amelie.delaunay@foss.st.com >
Link: https://lore.kernel.org/r/20240531150712.2503554-3-amelie.delaunay@foss.st.com
Signed-off-by: Vinod Koul <vkoul@kernel.org >
2024-06-11 23:55:33 +05:30
Frank Li and Vinod Koul
11102d0c34
dmaengine: fsl-edma: add trace event support
...
Implement trace event support to enhance logging functionality for
register access and the transfer control descriptor (TCD) context.
This will enable more comprehensive monitoring and analysis of system
activities
Signed-off-by: Frank Li <Frank.Li@nxp.com >
Link: https://lore.kernel.org/r/20240425205947.3436501-1-Frank.Li@nxp.com
Signed-off-by: Vinod Koul <vkoul@kernel.org >
2024-05-04 18:00:16 +05:30
Binbin Zhou and Vinod Koul
71e7d3cb6e
dmaengine: ls2x-apb: New driver for the Loongson LS2X APB DMA controller
...
The Loongson LS2X APB DMA controller is available on Loongson-2K chips.
It is a single-channel, configurable DMA controller IP core based on the
AXI bus, whose main function is to integrate DMA functionality on a chip
dedicated to carrying data between memory and peripherals in APB bus
(e.g. nand).
Signed-off-by: Binbin Zhou <zhoubinbin@loongson.cn >
Signed-off-by: Yingkun Meng <mengyingkun@loongson.cn >
Link: https://lore.kernel.org/r/8df2a0199434fba3535831082966c2442ecf1cae.1702365725.git.zhoubinbin@loongson.cn
Signed-off-by: Vinod Koul <vkoul@kernel.org >
2023-12-21 21:35:13 +05:30
Frank Li and Vinod Koul
66aac8ea0a
dmaengine: fsl-edma: clean up EXPORT_SYMBOL_GPL in fsl-edma-common.c
...
Exported functions in fsl-edma-common.c are only used within
fsl-edma.c and mcf-edma.c. Global export is unnecessary.
This commit removes all EXPORT_SYMBOL_GPL in fsl-edma-common.c,
and renames fsl-edma.c and mcf-edma.c to maintain the same
final module names as before, thereby simplifying the codebase.
Signed-off-by: Frank Li <Frank.Li@nxp.com >
Reviewed-by: Peng Fan <peng.fan@nxp.com >
Link: https://lore.kernel.org/r/20230821161617.2142561-3-Frank.Li@nxp.com
Signed-off-by: Vinod Koul <vkoul@kernel.org >
2023-08-22 20:11:02 +05:30
Fabio Estevam and Vinod Koul
f1de55ff7c
dmaengine: ipu: Remove the driver
...
The i.MX3 IPU driver does not support devicetree and i.MX has been converted
to a DT-only platform since kernel 5.10.
As there is no user for this driver anymore, just remove it.
Signed-off-by: Fabio Estevam <festevam@denx.de >
Reviewed-by: Arnd Bergmann <arnd@arndb.de >
Link: https://lore.kernel.org/r/20230729192945.1217206-1-festevam@gmail.com
Signed-off-by: Vinod Koul <vkoul@kernel.org >
2023-08-01 23:26:46 +05:30
Arnd Bergmann
a7ddf74b78
dmaengine: remove s3c24xx driver
...
The s3c24xx platform was removed and this driver is no longer
needed.
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Signed-off-by: Arnd Bergmann <arnd@arndb.de >
2023-01-16 09:26:06 +01:00
Vinod Koul
25483dedd2
dmaengine: Revert "dmaengine: remove s3c24xx driver"
...
This reverts cccc46ae36 ("dmaengine: remove s3c24xx driver") as it
causes regression due to missing header
Signed-off-by: Vinod Koul <vkoul@kernel.org >
2022-12-02 17:11:50 +05:30
Arnd Bergmann and Vinod Koul
cccc46ae36
dmaengine: remove s3c24xx driver
...
The s3c24xx platform was removed and this driver is no longer
needed.
Signed-off-by: Arnd Bergmann <arnd@arndb.de >
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Link: https://lore.kernel.org/r/20221021203329.4143397-14-arnd@kernel.org
Signed-off-by: Vinod Koul <vkoul@kernel.org >
2022-11-04 19:44:26 +05:30
Arnd Bergmann and Vinod Koul
cd0ab43ec9
dmaengine: remove iop-adma driver
...
The iop32x platform was removed, so this driver is no longer
needed.
Cc: Dan Williams <dan.j.williams@intel.com >
Signed-off-by: Arnd Bergmann <arnd@arndb.de >
Acked-by: Dan Williams <dan.j.williams@intel.com >
Link: https://lore.kernel.org/r/20221019150410.3851944-10-arnd@kernel.org
Signed-off-by: Vinod Koul <vkoul@kernel.org >
2022-10-19 22:26:31 +05:30
Martin Povišer and Vinod Koul
b127315d9a
dmaengine: apple-admac: Add Apple ADMAC driver
...
Add driver for Audio DMA Controller present on Apple SoCs from the
"Apple Silicon" family.
Signed-off-by: Martin Povišer <povik+lin@cutebit.org >
Link: https://lore.kernel.org/r/20220531213615.7822-3-povik+lin@cutebit.org
Signed-off-by: Vinod Koul <vkoul@kernel.org >
2022-06-09 12:20:20 +05:30
Akhil R and Vinod Koul
ee17028009
dmaengine: tegra: Add tegra gpcdma driver
...
Adding GPC DMA controller driver for Tegra. The driver supports dma
transfers between memory to memory, IO peripheral to memory and
memory to IO peripheral.
Co-developed-by: Pavan Kunapuli <pkunapuli@nvidia.com >
Signed-off-by: Pavan Kunapuli <pkunapuli@nvidia.com >
Co-developed-by: Rajesh Gumasta <rgumasta@nvidia.com >
Signed-off-by: Rajesh Gumasta <rgumasta@nvidia.com >
Signed-off-by: Akhil R <akhilrajeev@nvidia.com >
Reviewed-by: Jon Hunter <jonathanh@nvidia.com >
Reviewed-by: Dmitry Osipenko <digetx@gmail.com >
Acked-by: Thierry Reding <treding@nvidia.com >
Link: https://lore.kernel.org/r/20220225132044.14478-3-akhilrajeev@nvidia.com
Signed-off-by: Vinod Koul <vkoul@kernel.org >
2022-04-11 19:32:24 +05:30
Sanjay R Mehta and Vinod Koul
fa5d823b16
dmaengine: ptdma: Initial driver for the AMD PTDMA
...
Add support for AMD PTDMA controller. It performs high-bandwidth
memory to memory and IO copy operation. Device commands are managed
via a circular queue of 'descriptors', each of which specifies source
and destination addresses for copying a single buffer of data.
Signed-off-by: Sanjay R Mehta <sanju.mehta@amd.com >
Link: https://lore.kernel.org/r/1629208559-51964-2-git-send-email-Sanju.Mehta@amd.com
Signed-off-by: Vinod Koul <vkoul@kernel.org >
2021-08-29 19:14:20 +05:30
Dave Jiang and Vinod Koul
d9e5481fca
dmaengine: dsa: move dsa_bus_type out of idxd driver to standalone
...
In preparation for dsa_drv compat support to be built-in, move the bus
code to its own compilation unit. A follow-on patch adds the compat
implementation. Recall that the compat implementation allows for the
deprecated / omnibus dsa_drv binding scheme rather than the idiomatic
organization of a full fledged bus driver per driver type.
Reviewed-by: Dan Williams <dan.j.williams@intel.com >
Signed-off-by: Dave Jiang <dave.jiang@intel.com >
Link: https://lore.kernel.org/r/162637468142.744545.2811632736881720857.stgit@djiang5-desk3.ch.intel.com
Signed-off-by: Vinod Koul <vkoul@kernel.org >
2021-07-21 10:09:16 +05:30
Arnd Bergmann and Vinod Koul
a033a74e8b
dmaengine: remove coh901318 driver
...
The ST-Ericsson U300 platform is getting removed, so this driver is no
longer needed.
Signed-off-by: Arnd Bergmann <arnd@arndb.de >
Reviewed-by: Linus Walleij <linus.walleij@linaro.org >
Cc: Linus Walleij <linus.walleij@linaro.org >
Link: https://lore.kernel.org/r/20210120131859.2056308-4-arnd@kernel.org
Signed-off-by: Vinod Koul <vkoul@kernel.org >
2021-01-26 22:55:32 +05:30
Arnd Bergmann and Vinod Koul
1c8963f830
dmaengine: remove zte zx driver
...
The zte zx platform is getting removed, so this driver is no
longer needed.
Signed-off-by: Arnd Bergmann <arnd@arndb.de >
Cc: Jun Nie <jun.nie@linaro.org >
Cc: Shawn Guo <shawnguo@kernel.org >
Link: https://lore.kernel.org/r/20210120131859.2056308-3-arnd@kernel.org
Signed-off-by: Vinod Koul <vkoul@kernel.org >
2021-01-26 22:55:32 +05:30
Arnd Bergmann and Vinod Koul
ec6ab42f5a
dmaengine: remove sirfsoc driver
...
The CSR SiRF prima2/atlas platforms are getting removed, so this driver
is no longer needed.
Signed-off-by: Arnd Bergmann <arnd@arndb.de >
Acked-by: Barry Song <baohua@kernel.org >
Cc: Barry Song <baohua@kernel.org >
Link: https://lore.kernel.org/r/20210120131859.2056308-2-arnd@kernel.org
Signed-off-by: Vinod Koul <vkoul@kernel.org >
2021-01-26 22:54:16 +05:30