OpenCloudOS-Kernel/include/linux/dma
Serge Semin 16f8a08643 dmaengine: dw-edma: Add mem-mapped LL-entries support
Currently the DW eDMA driver only supports the linked lists memory
allocated locally with respect to the remote eDMA engine setup. It means
the linked lists will be accessible by the CPU via the MMIO space only. If
eDMA is embedded into the DW PCIe Root Ports or local Endpoints (which
support will be added in subsequent commits) the linked lists are supposed
to be allocated in the CPU memory. In that case the LL-entries can be
directly accessed, while the former case implies using the MMIO accessors
for that.

In order to have both cases supported by the driver, the dw_edma_region
descriptor should be fixed to contain the MMIO-backed and just memory-based
virtual addresses. The linked lists initialization procedure will use one
of them depending on the eDMA device nature. If the eDMA engine is embedded
into the local DW PCIe Root Port/Endpoint controllers, the list entries
will be directly accessed by referencing the corresponding structure
fields.  Otherwise the MMIO accessors usage will be preserved.

Link: https://lore.kernel.org/r/20230113171409.30470-24-Sergey.Semin@baikalelectronics.ru
Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
Signed-off-by: Lorenzo Pieralisi <lpieralisi@kernel.org>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Vinod Koul <vkoul@kernel.org>
2023-02-22 13:45:53 -06:00
..
dw.h dmaengine: dw: convert to SPDX identifiers 2019-01-07 17:57:13 +05:30
edma.h dmaengine: dw-edma: Add mem-mapped LL-entries support 2023-02-22 13:45:53 -06:00
hsu.h dmaengine: hsu: Include headers we are direct user of 2022-09-04 22:49:35 +05:30
idma64.h dmaengine: idma64: Move driver name to the header 2019-04-26 16:55:23 +05:30
imx-dma.h dmaengine: imx-sdma: Add FIFO stride support for multi FIFO script 2022-07-21 18:28:35 +05:30
ipu-dma.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
k3-event-router.h dmaengine: ti: Add support for k3 event routers 2020-12-11 21:20:09 +05:30
k3-psil.h dmaengine: ti: k3-psil: optimize struct psil_endpoint_config for size 2021-02-01 11:29:11 +05:30
k3-udma-glue.h dmaengine: ti: k3-udma-glue: Add support for K3 PKTDMA 2020-12-11 21:20:10 +05:30
mxs-dma.h mtd: rawnand: gpmi: Implement exec_op 2019-06-27 20:05:30 +02:00
pxa-dma.h dmaengine: pxa: make the filter function internal 2018-12-03 22:41:07 +01:00
qcom-gpi-dma.h dmaengine: qcom: fix typo in comment 2022-07-06 10:50:43 +05:30
qcom_adm.h dmaengine: qcom-adm: stop abusing slave_id config 2021-12-17 11:23:56 +05:30
qcom_bam_dma.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
sprd-dma.h dmaengine: sprd: Add wrap address support for link-list mode 2019-11-14 16:03:35 +05:30
ti-cppi5.h dmaengine: ti-cppi5: Replace zero-length array with flexible-array member 2020-10-29 17:22:59 -05:00
xilinx_dma.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 40 2019-05-24 17:27:12 +02:00
xilinx_dpdma.h dmaengine: xilinx_dpdma: use correct SDPX tag for header file 2022-01-03 17:05:02 +05:30