From patchwork Thu Oct 5 02:18:42 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Chautru, Nicolas" X-Patchwork-Id: 225 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 85B9C426BB; Thu, 5 Oct 2023 04:25:56 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id F0E6B402B7; Thu, 5 Oct 2023 04:25:55 +0200 (CEST) Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.151]) by mails.dpdk.org (Postfix) with ESMTP id 0FBCD40283 for ; Thu, 5 Oct 2023 04:25:54 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1696472755; x=1728008755; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=gpOtQY+Rpn8p3SUWSAwjTuMVl5s3qRUtcCaTwMQvmW8=; b=F8pv7W/cb+JnK4FWoIRq0tOxuX0dcgKFR/TATzuSgXriYG4H62OwKIxB nkxBxon4HVHyjyUQ3xJgtiHrPrmZXsiOSfBFf2j6HRHADS67ZITlbUYRI 1XZjkwGPuIcx6frgcDlwrTvbv21w/LxWoL0C140XWLxP9u4QLcVB0mOFO oo3tadi55DzQKBuDE7q0jM06FbDP/LYD4YpjX7M/MqkzbRsV2GgrWkpMu mC+FI5VfIpH/rZ5JbJuvDOxrUctkHZAlTpq3lokiQJsCzYYkDTn8bIEJa g9b2IM/a2V3ccYK3gBoJo7hUglulc3ikdM6lIaxmygZvjdOQtyM7frRR6 g==; X-IronPort-AV: E=McAfee;i="6600,9927,10853"; a="363657663" X-IronPort-AV: E=Sophos;i="6.03,201,1694761200"; d="scan'208";a="363657663" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Oct 2023 19:25:53 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10853"; a="781063001" X-IronPort-AV: E=Sophos;i="6.03,201,1694761200"; d="scan'208";a="781063001" Received: from spr-npg-bds1-eec2.sn.intel.com (HELO spr-npg-bds1-eec2..) ([10.233.181.123]) by orsmga008.jf.intel.com with ESMTP; 04 Oct 2023 19:25:51 -0700 From: Nicolas Chautru To: dev@dpdk.org, maxime.coquelin@redhat.com Cc: hemant.agrawal@nxp.com, david.marchand@redhat.com, hernan.vargas@intel.com, Nicolas Chautru Subject: [PATCH v4 00/12] VRB2 bbdev PMD introduction Date: Thu, 5 Oct 2023 02:18:42 +0000 Message-Id: <20231005021854.109096-1-nicolas.chautru@intel.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 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 v4: updates based on Maxime's suggestions: - FFT windowing exposure tweaked to show number of windows as well in capacity to be more generic and future-proof. - few code refactor notably to avoid code duplication - cosmetic and doc update Thanks v3: updates based on v2 review: - split into smaller incremental commits - FFT windowing exposed through a more generic structure - refactor using wrapper functions to manage device variants - removed custom dump function - consider the request unsupport SO option as an error instead of fall-back. - cosmetic and doc update. Thanks v2: doc, comments and commit-log updates. This serie includes changes to the VRB BBDEV PMD for 23.11. This allows the VRB unified driver to support the new VRB2 implementation variant on GNR-D. This also include minor change to the dev_info to expose FFT version flexibility to expose information to the application on what windows LUT is configured dynamically on the device. Nicolas Chautru (12): bbdev: add FFT window width member in driver info baseband/acc: add FFT window width in the VRB PMD baseband/acc: remove the 4G SO capability for VRB1 baseband/acc: allocate FCW memory separately baseband/acc: add support for MLD operation baseband/acc: refactor to allow unified driver extension baseband/acc: adding VRB2 device variant baseband/acc: add FEC capabilities for the VRB2 variant baseband/acc: add FFT support to VRB2 variant baseband/acc: add MLD support in VRB2 variant baseband/acc: add support for VRB2 engine error detection baseband/acc: add configure helper for VRB2 doc/guides/bbdevs/features/vrb2.ini | 14 + doc/guides/bbdevs/index.rst | 1 + doc/guides/bbdevs/vrb1.rst | 4 - doc/guides/bbdevs/vrb2.rst | 206 ++++ doc/guides/rel_notes/release_23_11.rst | 3 + drivers/baseband/acc/acc100_pmd.h | 2 + drivers/baseband/acc/acc_common.h | 186 ++- drivers/baseband/acc/rte_acc100_pmd.c | 6 +- drivers/baseband/acc/rte_vrb_pmd.c | 1561 +++++++++++++++++++++--- drivers/baseband/acc/vrb1_pf_enum.h | 17 +- drivers/baseband/acc/vrb2_pf_enum.h | 124 ++ drivers/baseband/acc/vrb2_vf_enum.h | 121 ++ drivers/baseband/acc/vrb_cfg.h | 16 + drivers/baseband/acc/vrb_pmd.h | 173 ++- lib/bbdev/rte_bbdev.h | 2 + lib/bbdev/rte_bbdev_op.h | 2 + 16 files changed, 2268 insertions(+), 170 deletions(-) create mode 100644 doc/guides/bbdevs/features/vrb2.ini create mode 100644 doc/guides/bbdevs/vrb2.rst create mode 100644 drivers/baseband/acc/vrb2_pf_enum.h create mode 100644 drivers/baseband/acc/vrb2_vf_enum.h