From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id B35E4A04BC; Thu, 8 Oct 2020 11:51:45 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 9036C1BCC1; Thu, 8 Oct 2020 11:51:44 +0200 (CEST) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id AF8501E34 for ; Thu, 8 Oct 2020 11:51:41 +0200 (CEST) IronPort-SDR: fIJ+4n8V2l3plI7WSE9RRkMXvyDwvnuXk20xb8hSCEQ0kMV9hk+4ieeAzL+MAa+rcTLFIEK/2p sfHyDBN+igtg== X-IronPort-AV: E=McAfee;i="6000,8403,9767"; a="152226347" X-IronPort-AV: E=Sophos;i="5.77,350,1596524400"; d="scan'208";a="152226347" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Oct 2020 02:51:40 -0700 IronPort-SDR: TuS6okcHqitGZFh0cgaHo72chqs8qo2+ZkllItzxNTXjEyYmggcSyUsRkJ1k7+Yx6NyQuiRxap VWseFyKirDUw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,350,1596524400"; d="scan'208";a="344686585" Received: from silpixa00399126.ir.intel.com ([10.237.222.4]) by orsmga008.jf.intel.com with ESMTP; 08 Oct 2020 02:51:39 -0700 From: Bruce Richardson To: dev@dpdk.org Cc: patrick.fu@intel.com, thomas@monjalon.net, Bruce Richardson Date: Thu, 8 Oct 2020 10:51:08 +0100 Message-Id: <20201008095133.123014-1-bruce.richardson@intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200721095140.719297-1-bruce.richardson@intel.com> References: <20200721095140.719297-1-bruce.richardson@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH v6 00/25] raw/ioat: enhancements and new hardware support X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 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 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. [1] https://01.org/blogs/2019/introducing-intel-data-streaming-accelerator --- V6: * Add explicit __rte_experimental tag on all functions. [Previously header just had note saying all contents are experimental] V5: * Rebased to latest main branch. V4: * Fixed compile with FreeBSD clang * Improved autotests for fill operation V3: * More doc updates including release note updates throughout the set * Added in fill operation * Added in fix for missing close operation * Added in fix for doc building to ensure ioat is in in the index V2: * Included documentation additions in the set * Split off the rawdev unit test changes to a separate patchset for easier review * General code improvements and cleanups Bruce Richardson (19): doc/api: add ioat driver to index raw/ioat: enable use from C++ code raw/ioat: include extra info in error messages raw/ioat: split header for readability raw/ioat: rename functions to be operation-agnostic raw/ioat: add separate API for fence call raw/ioat: make the HW register spec private raw/ioat: add skeleton for VFIO/UIO based DSA device raw/ioat: include example configuration script 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 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 (5): raw/ioat: fix missing close function 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 raw/ioat: add fill operation doc/api/doxy-api-index.md | 1 + doc/api/doxy-api.conf.in | 1 + doc/guides/rawdevs/ioat.rst | 163 +++-- doc/guides/rel_notes/release_20_11.rst | 23 + doc/guides/sample_app_ug/ioat.rst | 8 +- drivers/raw/ioat/dpdk_idxd_cfg.py | 79 +++ drivers/raw/ioat/idxd_pci.c | 345 ++++++++++ drivers/raw/ioat/idxd_vdev.c | 233 +++++++ drivers/raw/ioat/ioat_common.c | 244 +++++++ drivers/raw/ioat/ioat_private.h | 82 +++ drivers/raw/ioat/ioat_rawdev.c | 92 +-- drivers/raw/ioat/ioat_rawdev_test.c | 130 +++- .../raw/ioat/{rte_ioat_spec.h => ioat_spec.h} | 90 ++- drivers/raw/ioat/meson.build | 15 +- drivers/raw/ioat/rte_ioat_rawdev.h | 226 +++---- drivers/raw/ioat/rte_ioat_rawdev_fns.h | 595 ++++++++++++++++++ examples/ioat/ioatfwd.c | 16 +- lib/librte_eal/include/rte_common.h | 1 + usertools/dpdk-devbind.py | 6 +- 19 files changed, 1996 insertions(+), 354 deletions(-) create mode 100755 drivers/raw/ioat/dpdk_idxd_cfg.py 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} (74%) create mode 100644 drivers/raw/ioat/rte_ioat_rawdev_fns.h -- 2.25.1