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 --- V2: * Included documentation additions in the set * Split off the rawdev unit test changes to a separate patchset for easier review * 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 -- 2.25.1