[20.11,00/20] raw/ioat: enhancements and new hardware support
mbox series

Message ID 20200721095140.719297-1-bruce.richardson@intel.com
Headers show
Series
  • raw/ioat: enhancements and new hardware support
Related show

Message

Bruce Richardson July 21, 2020, 9:51 a.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.

This set is being sent for initial review and evaluation. Any documentation
changes needed and a few additional updates to the code are planned for V2
of this patchset in the 20.11 timeframe.

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

Bruce Richardson (16):
  raw/ioat: support multiple devices being tested
  app/test: change rawdev autotest to run selftest on all devs
  app/test: remove ioat-specific autotest
  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: 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 support 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

 app/test/test_rawdev.c                        |  37 +-
 drivers/raw/ioat/idxd_pci.c                   | 345 +++++++++++++
 drivers/raw/ioat/idxd_vdev.c                  | 344 +++++++++++++
 drivers/raw/ioat/ioat_common.c                | 250 +++++++++
 drivers/raw/ioat/ioat_private.h               |  82 +++
 drivers/raw/ioat/ioat_rawdev.c                |  94 +---
 drivers/raw/ioat/ioat_rawdev_test.c           |  18 +-
 .../raw/ioat/{rte_ioat_spec.h => ioat_spec.h} |  78 ++-
 drivers/raw/ioat/meson.build                  |  20 +-
 drivers/raw/ioat/rte_ioat_rawdev.h            | 169 ++-----
 drivers/raw/ioat/rte_ioat_rawdev_fns.h        | 475 ++++++++++++++++++
 usertools/dpdk-devbind.py                     |   4 +-
 12 files changed, 1637 insertions(+), 279 deletions(-)
 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} (78%)
 create mode 100644 drivers/raw/ioat/rte_ioat_rawdev_fns.h