mbox series

[v6,00/13] add test suite for DMA drivers

Message ID 20210924102942.2878051-1-bruce.richardson@intel.com (mailing list archive)
Headers show
Series add test suite for DMA drivers | expand

Message

Bruce Richardson Sept. 24, 2021, 10:29 a.m. UTC
This patchset adds a fairly comprehensive set of tests for basic dmadev
functionality. Tests are added to verify basic copy operation in each
device, using both submit function and submit flag, and verifying
completion gathering using both "completed()" and "completed_status()"
functions. Beyond that, tests are then added for the error reporting and
handling, as is a suite of tests for the fill() operation for devices that
support those.

New in version 6 of the series are a couple of new patches to add support
for the skeleton dmadev to pass the suite of tests. This includes adding
missing function support to it, as well as adding a capability flag
to dmadev to indicate that it can't support invalid addresses.

Depends-on: series-18960 ("support dmadev")

V6:
* changed type of dev_id from uint16_t to int16_t
* moved burst_capacity function to datapath function set
* added burst_capacity function and vchan_status functions to skeleton driver
* added capability flag to indicate if device supports handling errors
* enabled running unit tests on skeleton driver

V5:
* added missing reviewed-by tags from v3 reviewed.

V4:
* rebased to v22 of dmadev set
* added patch for iteration macro for dmadevs to allow testing each dmadev in
  turn

V3:
* add patch and tests for a burst-capacity function
* addressed review feedback from v2
* code cleanups to try and shorten code where possible

V2:
* added into dmadev a API to check for a device being idle
* removed the hard-coded timeout delays before checking completions, and instead
  wait for device to be idle
* added in checks for statistics updates as part of some tests
* fixed issue identified by internal coverity scan
* other minor miscellaneous changes and fixes.

Bruce Richardson (10):
  dmadev: add channel status check for testing use
  dma/skeleton: add channel status function
  dma/skeleton: add burst capacity function
  dmadev: add device iterator
  app/test: add basic dmadev instance tests
  app/test: add basic dmadev copy tests
  app/test: run test suite on skeleton driver
  app/test: add more comprehensive dmadev copy tests
  dmadev: add flag for error handling support
  app/test: test dmadev instance failure handling

Kevin Laatz (3):
  dmadev: add burst capacity API
  app/test: add dmadev fill tests
  app/test: add dmadev burst capacity API test

 app/test/test_dmadev.c                 | 829 ++++++++++++++++++++++++-
 drivers/dma/skeleton/skeleton_dmadev.c |  27 +
 drivers/dma/skeleton/skeleton_dmadev.h |   2 +-
 lib/dmadev/rte_dmadev.c                |  29 +
 lib/dmadev/rte_dmadev.h                |  92 +++
 lib/dmadev/rte_dmadev_core.h           |  10 +-
 lib/dmadev/version.map                 |   3 +
 7 files changed, 986 insertions(+), 6 deletions(-)

--
2.30.2