[v2,00/18] raw/ioat: enhancements and new hardware support

Message ID 20200821162944.29840-1-bruce.richardson@intel.com (mailing list archive)


Bruce Richardson Aug. 21, 2020, 4:29 p.m. UTC
  This patchset adds some small enhancements, some rework and also support
for new hardware to the ioat rawdev driver. Most rework and enhancements
are largely self-explanatory from the individual patches.

The new hardware support is for the Intel(R) DSA accelerator which will be
present in future Intel processors. A description of this new hardware is
covered in [1]. Functions specific to the new hardware use the "idxd"
prefix, for consistency with the kernel driver. *** SUBJECT HERE ***

[1] https://01.org/blogs/2019/introducing-intel-data-streaming-accelerator

 * Included documentation additions in the set
 * Split off the rawdev unit test changes to a separate patchset for easier
 * General code improvements and cleanups

Bruce Richardson (14):
  raw/ioat: split header for readability
  raw/ioat: make the HW register spec private
  raw/ioat: add skeleton for VFIO/UIO based DSA device
  raw/ioat: include example configuration script
  raw/ioat: create rawdev instances on idxd PCI probe
  raw/ioat: add datapath data structures for idxd devices
  raw/ioat: add configure function for idxd devices
  raw/ioat: add start and stop functions for idxd devices
  raw/ioat: add data path for idxd devices
  raw/ioat: add info function for idxd devices
  raw/ioat: create separate statistics structure
  raw/ioat: move xstats functions to common file
  raw/ioat: add xstats tracking for idxd devices
  raw/ioat: clean up use of common test function

Cheng Jiang (1):
  raw/ioat: add a flag to control copying handle parameters

Kevin Laatz (3):
  usertools/dpdk-devbind.py: add support for DSA HW
  raw/ioat: add vdev probe for DSA/idxd devices
  raw/ioat: create rawdev instances for idxd vdevs

 doc/guides/rawdevs/ioat.rst                   | 131 +++--
 drivers/raw/ioat/dpdk_idxd_cfg.py             |  79 +++
 drivers/raw/ioat/idxd_pci.c                   | 344 +++++++++++++
 drivers/raw/ioat/idxd_vdev.c                  | 234 +++++++++
 drivers/raw/ioat/ioat_common.c                | 237 +++++++++
 drivers/raw/ioat/ioat_private.h               |  80 +++
 drivers/raw/ioat/ioat_rawdev.c                |  95 +---
 drivers/raw/ioat/ioat_rawdev_test.c           |   1 +
 .../raw/ioat/{rte_ioat_spec.h => ioat_spec.h} |  90 +++-
 drivers/raw/ioat/meson.build                  |  15 +-
 drivers/raw/ioat/rte_ioat_rawdev.h            | 169 ++-----
 drivers/raw/ioat/rte_ioat_rawdev_fns.h        | 474 ++++++++++++++++++
 usertools/dpdk-devbind.py                     |   4 +-
 13 files changed, 1646 insertions(+), 307 deletions(-)
 create mode 100755 drivers/raw/ioat/dpdk_idxd_cfg.py
 create mode 100644 drivers/raw/ioat/idxd_pci.c
 create mode 100644 drivers/raw/ioat/idxd_vdev.c
 create mode 100644 drivers/raw/ioat/ioat_common.c
 create mode 100644 drivers/raw/ioat/ioat_private.h
 rename drivers/raw/ioat/{rte_ioat_spec.h => ioat_spec.h} (74%)
 create mode 100644 drivers/raw/ioat/rte_ioat_rawdev_fns.h