LGTM, thanks And I'am prepare dmadev V2, include: a) Fix code review comments (e.g. multiple-process support, doxygen, comments, typo) b) Flatten device abstraction to two layer: dmadev <> vchan c) Public API use dev_id and vchan_id to locate one vchan d) Using the flags parameter instead of the fence API e) Rename rte_dmadev_perform to rte_dmadev_submit so it corresponds to the stats variable.
PS: Some code (lib/dmadev) will rebase this patchset On 2021/7/7 4:28, Bruce Richardson wrote: > This patchset contains a series of changes to dmadev based on work being done > to > port over our drivers to test this new infrastructure. Some of these are bug > fixes to enable compilation e.g. missing exports or meson.build files, while > others are suggested changes to enhance the API. All these patches are to be > applied on top of [1] as they are mostly suggested changes to that RFC i.e. > patches to the patch! > > The final patch includes some basic sanity tests for copy operations that we > have ported over from the ioat self-tests to use the dmadev APIs. The basic > dataplane part of those tests is probably ok for now, but the initialization > of > queues in that test code may need some enhancement. Feedback welcome. > > A tree with all these patches applied can be got at [2] if anyone wants to use > that as a basis for working on drivers, or for other discussion. > > [1] > http://patches.dpdk.org/project/dpdk/patch/1625231891-2963-1-git-send-email-fengcheng...@huawei.com/ > [2] https://github.com/bruce-richardson/dpdk/tree/dmadev-rfcs > > Bruce Richardson (9): > dmadev: add missing exports > dmadev: change virtual addresses to IOVA > dmadev: add dump function > dmadev: remove xstats functions > dmadev: drop cookie typedef > dmadev: allow NULL parameters to completed ops call > dmadev: stats structure updates > drivers: add dma driver category > app/test: add basic dmadev unit test > > app/test/meson.build | 2 + > app/test/test_dmadev.c | 320 +++++++++++++++++++++++++++++++++++ > drivers/dma/meson.build | 11 ++ > drivers/meson.build | 1 + > lib/dmadev/rte_dmadev.c | 66 ++------ > lib/dmadev/rte_dmadev.h | 204 +++++++--------------- > lib/dmadev/rte_dmadev_core.h | 16 +- > lib/dmadev/rte_dmadev_pmd.h | 24 +-- > lib/dmadev/version.map | 7 +- > 9 files changed, 425 insertions(+), 226 deletions(-) > create mode 100644 app/test/test_dmadev.c > create mode 100644 drivers/dma/meson.build > > -- > 2.30.2 > > > . >