DPDK-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [RFC 0/4] net/mcdma: add Altera MCDMA poll mode driver
@ 2026-11-09 16:09 Subhransu S. Prusty
  2026-11-09 16:09 ` [RFC 1/4] net/mcdma: add Altera MCDMA poll mode driver skeleton Subhransu S. Prusty
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Subhransu S. Prusty @ 2026-11-09 16:09 UTC (permalink / raw)
  To: dev
  Cc: ferruh.yigit, stephen, rtice, cheryl.bansal, nanditha.jayarajan,
	Subhransu S. Prusty

This RFC series introduces a poll mode driver for Altera Multi-Channel
Direct Memory Access (MCDMA) PCI devices. The driver exposes
host-to-device and device-to-host descriptor queues as standard DPDK
Ethernet ports for custom FPGA datapaths.

While the MCDMA IP supports multiple PFs and VFs per PF, this RFC
implements single PF with multiple VFs; each function exposes multiple
Rx/Tx queue pairs backed by H2D/D2H descriptor rings and per-queue
QCSR.

User guide reference:
https://docs.altera.com/r/docs/683821/25.3.1/multi-channel-dma-ip-for-pci-express-user-guide/before-you-begin

The series is split for review as follows:
 1. Core driver skeleton, queue management, documentation, and features
    matrix, excluding datapath bursts, debug dumps, and PIO APIs.
 2. Rx and Tx packet burst handlers.
 3. Experimental PIO BAR access APIs.
 4. Experimental QCSR inspection and dump APIs.

Functional testing was performed on Linux with vfio-pci, using DPDK
pktgen on a single PF and VF configuration. The attached user logic
was adapted as needed for validation.

We would appreciate feedback on the ethdev design, the experimental
PIO APIs, and PF/VF devargs.

Subhransu S. Prusty (4):
  net/mcdma: add Altera MCDMA poll mode driver skeleton
  net/mcdma: add Rx and Tx packet burst paths
  net/mcdma: add experimental PIO access APIs
  net/mcdma: add experimental QCSR dump APIs

 MAINTAINERS                                 |   4 +
 doc/guides/nics/features/mcdma.ini          |  17 +
 doc/guides/nics/index.rst                   |   1 +
 doc/guides/nics/mcdma.rst                   | 147 +++
 drivers/net/altera/mcdma/mcdma_config_csr.h | 201 +++++
 drivers/net/altera/mcdma/mcdma_eth.c        | 323 +++++++
 drivers/net/altera/mcdma/mcdma_eth.h        | 335 +++++++
 drivers/net/altera/mcdma/mcdma_eth_ops.c    | 933 ++++++++++++++++++++
 drivers/net/altera/mcdma/mcdma_eth_rxtx.c   | 401 +++++++++
 drivers/net/altera/mcdma/meson.build        |  16 +
 drivers/net/altera/mcdma/rte_pmd_mcdma.c    | 284 ++++++
 drivers/net/altera/mcdma/rte_pmd_mcdma.h    | 140 +++
 drivers/net/meson.build                     |   1 +
 usertools/dpdk-devbind.py                   |   1 +
 14 files changed, 2804 insertions(+)
 create mode 100644 doc/guides/nics/features/mcdma.ini
 create mode 100644 doc/guides/nics/mcdma.rst
 create mode 100644 drivers/net/altera/mcdma/mcdma_config_csr.h
 create mode 100644 drivers/net/altera/mcdma/mcdma_eth.c
 create mode 100644 drivers/net/altera/mcdma/mcdma_eth.h
 create mode 100644 drivers/net/altera/mcdma/mcdma_eth_ops.c
 create mode 100644 drivers/net/altera/mcdma/mcdma_eth_rxtx.c
 create mode 100644 drivers/net/altera/mcdma/meson.build
 create mode 100644 drivers/net/altera/mcdma/rte_pmd_mcdma.c
 create mode 100644 drivers/net/altera/mcdma/rte_pmd_mcdma.h

-- 
2.34.1


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2026-11-09 17:25 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-11-09 16:09 [RFC 0/4] net/mcdma: add Altera MCDMA poll mode driver Subhransu S. Prusty
2026-11-09 16:09 ` [RFC 1/4] net/mcdma: add Altera MCDMA poll mode driver skeleton Subhransu S. Prusty
2026-11-09 16:09 ` [RFC 2/4] net/mcdma: add Rx and Tx packet burst paths Subhransu S. Prusty
2026-11-09 16:09 ` [RFC 3/4] net/mcdma: add experimental PIO access APIs Subhransu S. Prusty
2026-11-09 16:09 ` [RFC 4/4] net/mcdma: add experimental QCSR dump APIs Subhransu S. Prusty
2026-11-09 17:25 ` [RFC 0/4] net/mcdma: add Altera MCDMA poll mode driver Stephen Hemminger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox