[PATCH v2 0/5] dma/imx_edma5: introduce NXP i.MX95 eDMA5 driver

Gagandeep Singh <[email protected]>
Newsgroups org.dpdk.dev
Message-ID <[email protected]>
V2-changes:
 - Added dependent patch: bus/platform: match device by devicetree compatible string
 - Fixed multiple AI reported issues includes:
   - removed the alias from the driver, no need of it
   - removed imx_edma5_write32 from data-path, reported as coherency
     concern.
   - fix submit for previously enqueued jobs.
   - Added dsb in data path
   - Added a commnet for rte_mem_iova2virt() NULL behaviour.
   - Fixed: TCD NBYTES bits 31:30 are SMLOE/DMLOE — full 32-bit length corrupts them
   - Data path is fully synchronous: Acknowledged but intentionally deferred —
     the synchronous design is a deliberate simplification for the initial upstream submission.
     Noted in docs.
   - In-memory TCD64 pool is more complex than needed:
     Noted/deferred — the pool structure was retained for forward compatibility
     with hardware SG chaining.
   - Extended `imx_edma5_dump()` to read and print `CH_CSR` and `CH_ES` registers
     for every configured vchan.
   - Double and stary lines removed.

V1:
This patch series adds a new dmadev Poll-Mode Driver (PMD) for the NXP
i.MX95 eDMA5 (Enhanced DMA Type 5) controller.

Key features supported by this driver:
  - Memory-to-memory copy (RTE_DMA_OP_TYPE_MEMCPY)
  - Scatter-gather memory copy (RTE_DMA_OP_TYPE_SG)
  - 64-bit TCD (Transfer Control Descriptor) format
  - Non-coherent DMA with explicit cache clean/invalidate
  - Per-channel statistics and register dump for debug

Patch breakdown:
  [1/4] Skeleton: bus probe/remove, dmadev registration, MAINTAINERS,
        doc index, and release notes for 26.11.
  [2/4] Device configuration: vchan setup, TCD ring allocation,
        start/stop, and capability reporting.
  [3/4] Data path: enqueue (copy and sg), doorbell, completion poll.
  [4/4] Statistics and dump: per-channel counters and register dump.

Tested on NXP i.MX95 EVK with vfio-platform.

Gagandeep Singh (5):
  bus/platform: match device by devicetree compatible string
  dma/imx_edma5: introduce eDMA5 dmadev skeleton
  dma/imx_edma5: add device configuration
  dma/imx_edma5: add data path
  dma/imx_edma5: add statistics and dump

 MAINTAINERS                                |    5 +
 doc/guides/dmadevs/imx_edma5.rst           |   61 +
 doc/guides/dmadevs/index.rst               |    1 +
 doc/guides/rel_notes/release_26_11.rst     |    6 +
 drivers/bus/platform/bus_platform_driver.h |    3 +-
 drivers/bus/platform/platform.c            |   67 +-
 drivers/dma/imx_edma5/imx_edma5_dmadev.c   | 1162 ++++++++++++++++++++
 drivers/dma/imx_edma5/imx_edma5_dmadev.h   |  220 ++++
 drivers/dma/imx_edma5/imx_edma5_hw.h       |  157 +++
 drivers/dma/imx_edma5/imx_edma5_logs.h     |   16 +
 drivers/dma/imx_edma5/meson.build          |   10 +
 drivers/dma/meson.build                    |    1 +
 12 files changed, 1707 insertions(+), 2 deletions(-)
 create mode 100644 doc/guides/dmadevs/imx_edma5.rst
 create mode 100644 drivers/dma/imx_edma5/imx_edma5_dmadev.c
 create mode 100644 drivers/dma/imx_edma5/imx_edma5_dmadev.h
 create mode 100644 drivers/dma/imx_edma5/imx_edma5_hw.h
 create mode 100644 drivers/dma/imx_edma5/imx_edma5_logs.h
 create mode 100644 drivers/dma/imx_edma5/meson.build

-- 
2.25.1
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.