From patchwork Tue Jul 21 09:51:20 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 74539 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id DA544A0526; Tue, 21 Jul 2020 11:51:56 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 8D7781BFE9; Tue, 21 Jul 2020 11:51:56 +0200 (CEST) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by dpdk.org (Postfix) with ESMTP id D685B1BFD1 for ; Tue, 21 Jul 2020 11:51:54 +0200 (CEST) IronPort-SDR: fsJE7jzGNAhLawVbAuB/wlprM5JFSmxwnG2cSSJiZnRLcyFf0ms1X8oMZlrvKvCYv/x8Y8P9K6 GYWsxL/wDLZg== X-IronPort-AV: E=McAfee;i="6000,8403,9688"; a="130170792" X-IronPort-AV: E=Sophos;i="5.75,378,1589266800"; d="scan'208";a="130170792" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Jul 2020 02:51:53 -0700 IronPort-SDR: +R8QaF5Q1SANI/x15saLAhX+zYIWGf0JS98d1cujeVXnyUbXoatRaUr28nsu5kWkXtyaNwPInU 6/i6xjaXZI7w== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,378,1589266800"; d="scan'208";a="488023579" Received: from silpixa00399126.ir.intel.com ([10.237.222.36]) by fmsmga005.fm.intel.com with ESMTP; 21 Jul 2020 02:51:52 -0700 From: Bruce Richardson To: dev@dpdk.org Cc: cheng1.jiang@intel.com, patrick.fu@intel.com, kevin.laatz@intel.com, Bruce Richardson Date: Tue, 21 Jul 2020 10:51:20 +0100 Message-Id: <20200721095140.719297-1-bruce.richardson@intel.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH 20.11 00/20] 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. This set is being sent for initial review and evaluation. Any documentation changes needed and a few additional updates to the code are planned for V2 of this patchset in the 20.11 timeframe. [1] https://01.org/blogs/2019/introducing-intel-data-streaming-accelerator Bruce Richardson (16): raw/ioat: support multiple devices being tested app/test: change rawdev autotest to run selftest on all devs app/test: remove ioat-specific autotest raw/ioat: split header for readability raw/ioat: make the HW register spec private raw/ioat: add skeleton for vfio/uio based DSA device 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 support 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 (3): 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 app/test/test_rawdev.c | 37 +- drivers/raw/ioat/idxd_pci.c | 345 +++++++++++++ drivers/raw/ioat/idxd_vdev.c | 344 +++++++++++++ drivers/raw/ioat/ioat_common.c | 250 +++++++++ drivers/raw/ioat/ioat_private.h | 82 +++ drivers/raw/ioat/ioat_rawdev.c | 94 +--- drivers/raw/ioat/ioat_rawdev_test.c | 18 +- .../raw/ioat/{rte_ioat_spec.h => ioat_spec.h} | 78 ++- drivers/raw/ioat/meson.build | 20 +- drivers/raw/ioat/rte_ioat_rawdev.h | 169 ++----- drivers/raw/ioat/rte_ioat_rawdev_fns.h | 475 ++++++++++++++++++ usertools/dpdk-devbind.py | 4 +- 12 files changed, 1637 insertions(+), 279 deletions(-) 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} (78%) create mode 100644 drivers/raw/ioat/rte_ioat_rawdev_fns.h