OpenCloudOS-Kernel/include/linux/dma
Cai Huoqing e74c39573d dmaengine: dw-edma: Add support for native HDMA
Add support for HDMA NATIVE, as long the IP design has set
the compatible register map parameter-HDMA_NATIVE,
which allows compatibility for native HDMA register configuration.

The HDMA Hyper-DMA IP is an enhancement of the eDMA embedded-DMA IP.
And the native HDMA registers are different from eDMA, so this patch
add support for HDMA NATIVE mode.

HDMA write and read channels operate independently to maximize
the performance of the HDMA read and write data transfer over
the link When you configure the HDMA with multiple read channels,
then it uses a round robin (RR) arbitration scheme to select
the next read channel to be serviced.The same applies when you
have multiple write channels.

The native HDMA driver also supports a maximum of 16 independent
channels (8 write + 8 read), which can run simultaneously.
Both SAR (Source Address Register) and DAR (Destination Address Register)
are aligned to byte.

Signed-off-by: Cai Huoqing <cai.huoqing@linux.dev>
Reviewed-by: Serge Semin <fancer.lancer@gmail.com>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Tested-by: Serge Semin <fancer.lancer@gmail.com>
Link: https://lore.kernel.org/r/20230520050854.73160-4-cai.huoqing@linux.dev
Signed-off-by: Vinod Koul <vkoul@kernel.org>
2023-05-24 12:20:45 +05:30
..
amd_xdma.h dmaengine: xilinx: xdma: Add user logic interrupt support 2023-02-10 11:32:26 +05:30
dw.h dmaengine: dw: convert to SPDX identifiers 2019-01-07 17:57:13 +05:30
edma.h dmaengine: dw-edma: Add support for native HDMA 2023-05-24 12:20:45 +05:30
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: support hdmi in sdma 2022-12-28 16:49:58 +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: k3-udma: Workaround errata i2234 2023-03-31 17:49:36 +05:30
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