This patchset adds a dmadev driver and associated documentation to support Intel QuickData Technology devices, part of the Intel I/O Acceleration Technology (Intel I/OAT). This driver is intended to ultimately replace the current IOAT part of the IOAT rawdev driver. This patchset passes all the driver tests added in the dmadev test suite.
NOTE: This patchset has several dependencies: - v22 of the dmadev set [1] - v5 of the dmadev test suite [2] - v5 of the IDXD driver [3] [1] http://patches.dpdk.org/project/dpdk/list/?series=18960 [2] http://patches.dpdk.org/project/dpdk/list/?series=19017 [3] http://patches.dpdk.org/project/dpdk/list/?series=19023 --- v4: - Changes needed to update from dmadev v21 to v22. - Fixed 32-bit build. - Made stats reset logic easier to understand. v3: - Added burst capacity function. - Stop function now waits for suspend rather than just using a sleep. - Changed from vchan idle to vchan status function. - Other minor changes to update from dmadev v19 to v21. v2: - Rebased on the above patchsets. - Added support for the vchan idle function. - Stop function now suspends IOAT channel to allow for reconfig. - dmadev_autotest can now be run multiple times using the IOAT driver without errors. - Added devbind updates for DMA devices - Removed some logically dead code found by coverity in the create function. Conor Walsh (11): dma/ioat: add device probe and removal functions dma/ioat: create dmadev instances on PCI probe dma/ioat: add datapath structures dma/ioat: add configuration functions dma/ioat: add start and stop functions dma/ioat: add data path job submission functions dma/ioat: add data path completion functions dma/ioat: add statistics dma/ioat: add support for vchan status function dma/ioat: add burst capacity function devbind: move ioat device ID for ICX to dmadev category MAINTAINERS | 6 + doc/guides/dmadevs/index.rst | 2 + doc/guides/dmadevs/ioat.rst | 214 +++++++ doc/guides/rel_notes/release_21_11.rst | 7 +- drivers/dma/ioat/ioat_dmadev.c | 739 +++++++++++++++++++++++++ drivers/dma/ioat/ioat_hw_defs.h | 294 ++++++++++ drivers/dma/ioat/ioat_internal.h | 44 ++ drivers/dma/ioat/meson.build | 7 + drivers/dma/ioat/version.map | 3 + drivers/dma/meson.build | 1 + usertools/dpdk-devbind.py | 5 +- 11 files changed, 1316 insertions(+), 6 deletions(-) create mode 100644 doc/guides/dmadevs/ioat.rst create mode 100644 drivers/dma/ioat/ioat_dmadev.c create mode 100644 drivers/dma/ioat/ioat_hw_defs.h create mode 100644 drivers/dma/ioat/ioat_internal.h create mode 100644 drivers/dma/ioat/meson.build create mode 100644 drivers/dma/ioat/version.map -- 2.25.1