mbox series

[v7,00/16] add dmadev driver for idxd devices

Message ID 20211013163053.1033998-1-kevin.laatz@intel.com (mailing list archive)
Headers show
Series add dmadev driver for idxd devices | expand

Message

Kevin Laatz Oct. 13, 2021, 4:30 p.m. UTC
This patchset adds a dmadev driver and associated documentation to support
Intel Data Streaming Accelerator devices. This driver is intended to
ultimately replace the current IDXD part of the IOAT rawdev driver.

NOTE: This patchset has several dependencies:
 - v26 of the dmadev lib set [1]
 - v7 of the dmadev test suite [2]

[1] http://patches.dpdk.org/project/dpdk/list/?series=19594
[2] http://patches.dpdk.org/project/dpdk/list/?series=19599

v7:
 * rebase on above patchsets
 * add meson reason for rawdev build

v6:
 * set state of device during create
 * add dev_close function
 * documentation updates - moved generic pieces from driver doc to lib doc
 * other small miscellaneous fixes based on rebasing and ML feedback

v5:
 * add missing toctree entry for idxd driver

v4:
 * rebased on above patchsets
 * minor fixes based on review feedback

v3:
 * rebased on above patchsets
 * added burst capacity API

v2:
 * rebased on above patchsets
 * added API to check for device being idle
 * added devbind updates for DMA devices
 * fixed issue identified by internal coverity scan

Bruce Richardson (1):
  raw/ioat: only build if dmadev not present

Conor Walsh (1):
  dma/idxd: move dpdk_idxd_cfg.py from raw to dma

Kevin Laatz (14):
  dma/idxd: add skeleton for VFIO based DSA device
  dma/idxd: add bus device probing
  dma/idxd: create dmadev instances on bus probe
  dma/idxd: create dmadev instances on pci probe
  dma/idxd: add datapath structures
  dma/idxd: add configure and info_get functions
  dma/idxd: add start and stop functions for pci devices
  dma/idxd: add data-path job submission functions
  dma/idxd: add data-path job completion functions
  dma/idxd: add operation statistic tracking
  dma/idxd: add vchan status function
  dma/idxd: add burst capacity API
  devbind: add dma device class
  devbind: move idxd device ID to dmadev class

 MAINTAINERS                            |  10 +
 doc/guides/dmadevs/idxd.rst            | 179 ++++++++
 doc/guides/dmadevs/index.rst           |   2 +
 doc/guides/prog_guide/dmadev.rst       |  30 ++
 doc/guides/rawdevs/ioat.rst            |   8 +
 doc/guides/rel_notes/release_21_11.rst |   5 +
 drivers/dma/idxd/dpdk_idxd_cfg.py      | 117 +++++
 drivers/dma/idxd/idxd_bus.c            | 377 +++++++++++++++
 drivers/dma/idxd/idxd_common.c         | 612 +++++++++++++++++++++++++
 drivers/dma/idxd/idxd_hw_defs.h        | 131 ++++++
 drivers/dma/idxd/idxd_internal.h       | 108 +++++
 drivers/dma/idxd/idxd_pci.c            | 386 ++++++++++++++++
 drivers/dma/idxd/meson.build           |  14 +
 drivers/dma/idxd/version.map           |   3 +
 drivers/dma/meson.build                |   2 +
 drivers/meson.build                    |   4 +-
 drivers/raw/ioat/dpdk_idxd_cfg.py      | 118 +----
 drivers/raw/ioat/meson.build           |  24 +-
 usertools/dpdk-devbind.py              |  10 +-
 19 files changed, 2016 insertions(+), 124 deletions(-)
 create mode 100644 doc/guides/dmadevs/idxd.rst
 create mode 100755 drivers/dma/idxd/dpdk_idxd_cfg.py
 create mode 100644 drivers/dma/idxd/idxd_bus.c
 create mode 100644 drivers/dma/idxd/idxd_common.c
 create mode 100644 drivers/dma/idxd/idxd_hw_defs.h
 create mode 100644 drivers/dma/idxd/idxd_internal.h
 create mode 100644 drivers/dma/idxd/idxd_pci.c
 create mode 100644 drivers/dma/idxd/meson.build
 create mode 100644 drivers/dma/idxd/version.map
 mode change 100755 => 120000 drivers/raw/ioat/dpdk_idxd_cfg.py