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: - v22 of the dmadev lib set [1] - v5 of the dmadev test suite [2] [1] http://patches.dpdk.org/project/dpdk/list/?series=18960 [2] http://patches.dpdk.org/project/dpdk/list/?series=19017
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 * other minor miscellaneous changes and fixes 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 + app/test/test_dmadev.c | 2 + doc/guides/dmadevs/idxd.rst | 262 +++++++++++ doc/guides/dmadevs/index.rst | 2 + doc/guides/rawdevs/ioat.rst | 7 + doc/guides/rel_notes/release_21_11.rst | 5 + drivers/dma/idxd/dpdk_idxd_cfg.py | 117 +++++ drivers/dma/idxd/idxd_bus.c | 378 +++++++++++++++ drivers/dma/idxd/idxd_common.c | 616 +++++++++++++++++++++++++ drivers/dma/idxd/idxd_hw_defs.h | 131 ++++++ drivers/dma/idxd/idxd_internal.h | 108 +++++ drivers/dma/idxd/idxd_pci.c | 387 ++++++++++++++++ drivers/dma/idxd/meson.build | 14 + drivers/dma/idxd/version.map | 3 + drivers/dma/meson.build | 2 + drivers/meson.build | 2 +- drivers/raw/ioat/dpdk_idxd_cfg.py | 118 +---- drivers/raw/ioat/meson.build | 23 +- usertools/dpdk-devbind.py | 12 +- 19 files changed, 2075 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 -- 2.30.2