mbox series

[v11,00/16] add dmadev driver for idxd devices

Message ID 20211020163013.2125016-1-kevin.laatz@intel.com (mailing list archive)
Headers
Series add dmadev driver for idxd devices |

Message

Kevin Laatz Oct. 20, 2021, 4:29 p.m. UTC
  This patchset adds a dmadev driver and associated documentation to support
Intel Data Streaming Accelerator devices. This driver is intended to
ultimately replace the current IDXD part of the IOAT rawdev driver.

v11:
 * addressed ML feedback from Chengwen

v10:
 * meson fix to ensure Windows and BSD builds compile

v9:
 * add missing meson check for x86

v8:
 * fix compilation issues of individual patches

v7:
 * rebase on above patchsets
 * add meson reason for rawdev build

v6:
 * set state of device during create
 * add dev_close function
 * documentation updates - moved generic pieces from driver doc to lib doc
 * other small miscellaneous fixes based on rebasing and ML feedback

v5:
 * add missing toctree entry for idxd driver

v4:
 * rebased on above patchsets
 * minor fixes based on review feedback

v3:
 * rebased on above patchsets
 * added burst capacity API

v2:
 * rebased on above patchsets
 * added API to check for device being idle
 * added devbind updates for DMA devices
 * fixed issue identified by internal coverity scan

Bruce Richardson (1):
  raw/ioat: only build if dmadev not present

Conor Walsh (1):
  dma/idxd: move dpdk_idxd_cfg.py from raw to dma

Kevin Laatz (14):
  dma/idxd: add skeleton for VFIO based DSA device
  dma/idxd: add bus device probing
  dma/idxd: create dmadev instances on bus probe
  dma/idxd: create dmadev instances on pci probe
  dma/idxd: add datapath structures
  dma/idxd: add configure and info_get functions
  dma/idxd: add start and stop functions for pci devices
  dma/idxd: add data-path job submission functions
  dma/idxd: add data-path job completion functions
  dma/idxd: add operation statistic tracking
  dma/idxd: add vchan status function
  dma/idxd: add burst capacity API
  devbind: add dma device class
  devbind: move idxd device ID to dmadev class

 MAINTAINERS                            |  10 +
 doc/guides/dmadevs/idxd.rst            | 179 ++++++++
 doc/guides/dmadevs/index.rst           |   2 +
 doc/guides/prog_guide/dmadev.rst       |  30 ++
 doc/guides/rawdevs/ioat.rst            |   8 +
 doc/guides/rel_notes/release_21_11.rst |   5 +
 drivers/dma/idxd/dpdk_idxd_cfg.py      | 117 +++++
 drivers/dma/idxd/idxd_bus.c            | 378 +++++++++++++++
 drivers/dma/idxd/idxd_common.c         | 612 +++++++++++++++++++++++++
 drivers/dma/idxd/idxd_hw_defs.h        | 131 ++++++
 drivers/dma/idxd/idxd_internal.h       | 109 +++++
 drivers/dma/idxd/idxd_pci.c            | 380 +++++++++++++++
 drivers/dma/idxd/meson.build           |  16 +
 drivers/dma/idxd/version.map           |   3 +
 drivers/dma/meson.build                |   2 +
 drivers/meson.build                    |   4 +-
 drivers/raw/ioat/dpdk_idxd_cfg.py      | 118 +----
 drivers/raw/ioat/meson.build           |  24 +-
 usertools/dpdk-devbind.py              |  10 +-
 19 files changed, 2014 insertions(+), 124 deletions(-)
 create mode 100644 doc/guides/dmadevs/idxd.rst
 create mode 100755 drivers/dma/idxd/dpdk_idxd_cfg.py
 create mode 100644 drivers/dma/idxd/idxd_bus.c
 create mode 100644 drivers/dma/idxd/idxd_common.c
 create mode 100644 drivers/dma/idxd/idxd_hw_defs.h
 create mode 100644 drivers/dma/idxd/idxd_internal.h
 create mode 100644 drivers/dma/idxd/idxd_pci.c
 create mode 100644 drivers/dma/idxd/meson.build
 create mode 100644 drivers/dma/idxd/version.map
 mode change 100755 => 120000 drivers/raw/ioat/dpdk_idxd_cfg.py
  

Comments

Thomas Monjalon Oct. 22, 2021, 6:07 p.m. UTC | #1
20/10/2021 18:29, Kevin Laatz:
> This patchset adds a dmadev driver and associated documentation to support
> Intel Data Streaming Accelerator devices. This driver is intended to
> ultimately replace the current IDXD part of the IOAT rawdev driver.

Applied (with notified fix), thanks.
  
David Marchand Oct. 23, 2021, 6:55 a.m. UTC | #2
On Fri, Oct 22, 2021 at 8:08 PM Thomas Monjalon <thomas@monjalon.net> wrote:
>
> 20/10/2021 18:29, Kevin Laatz:
> > This patchset adds a dmadev driver and associated documentation to support
> > Intel Data Streaming Accelerator devices. This driver is intended to
> > ultimately replace the current IDXD part of the IOAT rawdev driver.
>
> Applied (with notified fix), thanks.

Something is wrong in main branch with Windows compilation.
It was not caught before, since this series crossed the road while
Windows compilation on dma drivers passed.

I am not entirely sure on the fix, I'll post a patch to see if CI agrees.
(I still wonder how stdint.h gets included for uintX definitions, but
that's either "include luck" or my lack of coffee).