From patchwork Fri Sep 24 10:29:33 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 99567 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 3B781A0548; Fri, 24 Sep 2021 12:29:59 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E68614122D; Fri, 24 Sep 2021 12:29:58 +0200 (CEST) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by mails.dpdk.org (Postfix) with ESMTP id 7EF8240142 for ; Fri, 24 Sep 2021 12:29:56 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10116"; a="203541118" X-IronPort-AV: E=Sophos;i="5.85,319,1624345200"; d="scan'208";a="203541118" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Sep 2021 03:29:55 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.85,319,1624345200"; d="scan'208";a="436117589" Received: from silpixa00399126.ir.intel.com ([10.237.223.29]) by orsmga006.jf.intel.com with ESMTP; 24 Sep 2021 03:29:53 -0700 From: Bruce Richardson To: dev@dpdk.org Cc: conor.walsh@intel.com, kevin.laatz@intel.com, fengchengwen@huawei.com, jerinj@marvell.com, Bruce Richardson Date: Fri, 24 Sep 2021 11:29:33 +0100 Message-Id: <20210924102942.2878051-1-bruce.richardson@intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20210826183301.333442-1-bruce.richardson@intel.com> References: <20210826183301.333442-1-bruce.richardson@intel.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v6 00/13] add test suite for DMA drivers X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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