From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 403E5A0C43; Tue, 19 Oct 2021 13:25:47 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0C52C40683; Tue, 19 Oct 2021 13:25:47 +0200 (CEST) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mails.dpdk.org (Postfix) with ESMTP id 394AD4003E for ; Tue, 19 Oct 2021 13:25:45 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10141"; a="228433178" X-IronPort-AV: E=Sophos;i="5.85,384,1624345200"; d="scan'208";a="228433178" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Oct 2021 04:25:44 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.85,384,1624345200"; d="scan'208";a="490246444" Received: from silpixa00401122.ir.intel.com ([10.55.128.10]) by fmsmga007.fm.intel.com with ESMTP; 19 Oct 2021 04:25:41 -0700 From: Kevin Laatz To: dev@dpdk.org Cc: thomas@monjalon.net, bruce.richardson@intel.com, fengchengwen@huawei.com, jerinj@marvell.com, conor.walsh@intel.com, Kevin Laatz Date: Tue, 19 Oct 2021 11:25:24 +0000 Message-Id: <20211019112540.1825132-1-kevin.laatz@intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20210827172048.558704-1-kevin.laatz@intel.com> References: <20210827172048.558704-1-kevin.laatz@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH v9 00/16] add dmadev driver for idxd devices 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 dmadev driver and associated documentation to support Intel Data Streaming Accelerator devices. This driver is intended to ultimately replace the current IDXD part of the IOAT rawdev driver. v9: * add missing meson check for x86 v8: * fix compilation issues of individual patches v7: * rebase on above patchsets * add meson reason for rawdev build v6: * set state of device during create * add dev_close function * documentation updates - moved generic pieces from driver doc to lib doc * other small miscellaneous fixes based on rebasing and ML feedback v5: * add missing toctree entry for idxd driver v4: * rebased on above patchsets * minor fixes based on review feedback v3: * rebased on above patchsets * added burst capacity API v2: * rebased on above patchsets * added API to check for device being idle * added devbind updates for DMA devices * fixed issue identified by internal coverity scan Bruce Richardson (1): raw/ioat: only build if dmadev not present Conor Walsh (1): dma/idxd: move dpdk_idxd_cfg.py from raw to dma Kevin Laatz (14): dma/idxd: add skeleton for VFIO based DSA device dma/idxd: add bus device probing dma/idxd: create dmadev instances on bus probe dma/idxd: create dmadev instances on pci probe dma/idxd: add datapath structures dma/idxd: add configure and info_get functions dma/idxd: add start and stop functions for pci devices dma/idxd: add data-path job submission functions dma/idxd: add data-path job completion functions dma/idxd: add operation statistic tracking dma/idxd: add vchan status function dma/idxd: add burst capacity API devbind: add dma device class devbind: move idxd device ID to dmadev class MAINTAINERS | 10 + doc/guides/dmadevs/idxd.rst | 179 ++++++++ doc/guides/dmadevs/index.rst | 2 + doc/guides/prog_guide/dmadev.rst | 30 ++ doc/guides/rawdevs/ioat.rst | 8 + doc/guides/rel_notes/release_21_11.rst | 5 + drivers/dma/idxd/dpdk_idxd_cfg.py | 117 +++++ drivers/dma/idxd/idxd_bus.c | 377 +++++++++++++++ drivers/dma/idxd/idxd_common.c | 612 +++++++++++++++++++++++++ drivers/dma/idxd/idxd_hw_defs.h | 131 ++++++ drivers/dma/idxd/idxd_internal.h | 109 +++++ drivers/dma/idxd/idxd_pci.c | 368 +++++++++++++++ drivers/dma/idxd/meson.build | 17 + drivers/dma/idxd/version.map | 3 + drivers/dma/meson.build | 2 + drivers/meson.build | 4 +- drivers/raw/ioat/dpdk_idxd_cfg.py | 118 +---- drivers/raw/ioat/meson.build | 24 +- lib/dmadev/rte_dmadev.h | 1 + usertools/dpdk-devbind.py | 10 +- 20 files changed, 2003 insertions(+), 124 deletions(-) create mode 100644 doc/guides/dmadevs/idxd.rst create mode 100755 drivers/dma/idxd/dpdk_idxd_cfg.py create mode 100644 drivers/dma/idxd/idxd_bus.c create mode 100644 drivers/dma/idxd/idxd_common.c create mode 100644 drivers/dma/idxd/idxd_hw_defs.h create mode 100644 drivers/dma/idxd/idxd_internal.h create mode 100644 drivers/dma/idxd/idxd_pci.c create mode 100644 drivers/dma/idxd/meson.build create mode 100644 drivers/dma/idxd/version.map mode change 100755 => 120000 drivers/raw/ioat/dpdk_idxd_cfg.py -- 2.30.2