mbox series

[v4,00/11] dma: add dmadev driver for ioat devices

Message ID 20210917154227.737554-1-conor.walsh@intel.com (mailing list archive)
Headers show
Series dma: add dmadev driver for ioat devices | expand


Walsh, Conor Sept. 17, 2021, 3:42 p.m. UTC
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


 - Changes needed to update from dmadev v21 to v22.
 - Fixed 32-bit build.
 - Made stats reset logic easier to understand.

 - 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.

 - 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