From patchwork Tue May 31 22:31:41 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Chautru, Nicolas" X-Patchwork-Id: 112158 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 9E437A054F; Wed, 1 Jun 2022 00:41:31 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 499E740A84; Wed, 1 Jun 2022 00:41:31 +0200 (CEST) Received: from mga06.intel.com (mga06b.intel.com [134.134.136.31]) by mails.dpdk.org (Postfix) with ESMTP id 30C1A40150 for ; Wed, 1 Jun 2022 00:41:29 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1654036889; x=1685572889; h=from:to:cc:subject:date:message-id:in-reply-to: references; bh=hw9czdDPRe2RQ78khitqe38589DmkQbxQdZndvD5N1Y=; b=SqCMl9oS7LlBhA3RDHWbzgPnlABZjLqBitt9Fi3sckXMc/lHf4OsO61C hT7uF1eQ64kbcPg50mkEIwVU2oMQekkuSS2zT18mgDodHnK4ynvNYmSHh ApbIYseODreErJlsJPE/qroB+qndGfRR4pSfpkbw2lf52cB4vcfd/eFwd Wwf1xoqR3A0Wrf2msNSgVetK4BNE8G7ZlpNRLhVBADv+gAVRvnZNx7TBs 4OeQ/FCqCYm3jGQJQirNgY8qIpxb+gfSaUdB0mQXsgrAOUYIf2ERX3FYL 555rMX/GNgyF68e+gK5ev79HRI0e6vDiai0aaClbD7iLThGFV/pNEz0VR A==; X-IronPort-AV: E=McAfee;i="6400,9594,10364"; a="336063060" X-IronPort-AV: E=Sophos;i="5.91,266,1647327600"; d="scan'208";a="336063060" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 31 May 2022 15:41:28 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.91,266,1647327600"; d="scan'208";a="581299829" Received: from skx-5gnr-sc12-4.sc.intel.com ([172.25.69.210]) by fmsmga007.fm.intel.com with ESMTP; 31 May 2022 15:41:27 -0700 From: Nicolas Chautru To: dev@dpdk.org, gakhil@marvell.com, trix@redhat.com, maxime.coquelin@redhat.com Cc: thomas@monjalon.net, ray.kinsella@intel.com, bruce.richardson@intel.com, hemant.agrawal@nxp.com, hernan.vargas@intel.com, david.marchand@redhat.com, Nicolas Chautru Subject: [PATCH v7 0/6] drivers/baseband: PMD to support ACC100/ACC101 devices Date: Tue, 31 May 2022 15:31:41 -0700 Message-Id: <1654036307-182860-1-git-send-email-nicolas.chautru@intel.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1653350912-53876-1-git-send-email-nicolas.chautru@intel.com> References: <1653350912-53876-1-git-send-email-nicolas.chautru@intel.com> 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 v7: updates suggested by Akhil and Maxime. Removed RTE prefix for internal #define, removed build-time single FEC engine configuration mode, documentation fix, coding guideline fix, renamed new file without rte prefix. v6: use formally an unified driver for AC100 and AC101. Exposing single unified function for the PF device configuration used by bbdev-test. v5: minor fix to doc and intermediate commit caught in CI v4: incremental updates based on reviews Changed order of patchset to include two ACC100 specific commits first: updating formally the companion configure function from PF and the protection adjustment. Then next 3 commits for the actual changes specific to ACC101: the device specific function for FCW 5GUL generation used as a local function, combined documentations into a single .rst common to both devices, updated comments, removed unused #defines. v3: Feedback from Tom Rix: missing copyright, refactor bbdev-test section calling the configure companion function for ACC100/101, taking the Pmon commit out which is not directly required. v2: Based on good feedback from Thomas and David, now implementing the ACC101 PMD as a close derivative from existing ACC100 PMD with hooks to have different behaviour based on variant. This prevents code duplication and only rely on different functions and behaviour when hardware requires or support differences. Note that these are pending changes for ACC100 which would be specific to that device and not ACC101 but these can be managed based on the new implementation, ie. is_acc100() etc... (such incremental changes for ACC100 trending 22.11 but confirming this is future proof). The serie also includes commits which were meant for ACC101 but are also valuable for ACC100. v1: This serie introduces the PMD for the new bbdev device ACC101 (aka Mount Cirrus). This is a derivative from previous Mount Bryce ACC100 which includes silicon improvement, bug fixes, capacity improvement for 5GNR and feature improvement. Nicolas Chautru (6): baseband/acc100: update companion PF configure function baseband/acc100: add protection for some negative scenario baseband/acc100: remove RTE prefix for internal macro baseband/acc100: introduce PMD for ACC101 baseband/acc100: modify validation code for ACC101 baseband/acc100: configuration of ACC101 from PF MAINTAINERS | 1 + app/test-bbdev/test_bbdev_perf.c | 6 +- doc/guides/bbdevs/acc100.rst | 37 +- doc/guides/bbdevs/features/acc101.ini | 13 + doc/guides/rel_notes/release_22_07.rst | 3 + drivers/baseband/acc100/acc100_pf_enum.h | 18 + drivers/baseband/acc100/acc101_pmd.h | 50 +++ drivers/baseband/acc100/rte_acc100_cfg.h | 4 +- drivers/baseband/acc100/rte_acc100_pmd.c | 687 ++++++++++++++++++++++++++++--- drivers/baseband/acc100/rte_acc100_pmd.h | 37 +- drivers/baseband/acc100/version.map | 3 +- 11 files changed, 768 insertions(+), 91 deletions(-) create mode 100644 doc/guides/bbdevs/features/acc101.ini create mode 100644 drivers/baseband/acc100/acc101_pmd.h