From patchwork Tue Oct 11 21:15:22 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Chautru, Nicolas" X-Patchwork-Id: 117969 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 4C8EEA0548; Tue, 11 Oct 2022 23:16:03 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E13C240697; Tue, 11 Oct 2022 23:16:02 +0200 (CEST) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by mails.dpdk.org (Postfix) with ESMTP id 66D9240146 for ; Tue, 11 Oct 2022 23:16:01 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1665522961; x=1697058961; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=dQL9UZfhJAMHRATwE12ZThGBovluLXMN+3vQvNeOWCM=; b=iPzPAK7axAAjGe4Ra0sLIwoLQ4/tQmqzewAUxwJLiBg+W9hh1OF9/q2O hdRgE7Z1eLFTObYPsz6esLNFhOeYEb/bqgYE2iX3GWM9W+Ymb7YjJ/IIe c8BNzBipf8JsMxRFIOQWpB+wmXBLdhz4ExRoT+Wl8fnzjVlLmlg2AWj9l BIy71LbhjHsYXetE2aMIVrvqreWN8VvZXpVNyAYdjBA1ZQg84yRHsGeEQ 4pSfDBJvxVPdhoc9W2eiF2YwhoMdpq/JjJSPowBJoKIqwV9P0BiDU/8sz GfNXj+nHSLVOUGbSL5KKhj6NHHsMl9RLp6l3z+mdRiyauLwiTmnhtSqP1 g==; X-IronPort-AV: E=McAfee;i="6500,9779,10497"; a="291949097" X-IronPort-AV: E=Sophos;i="5.95,177,1661842800"; d="scan'208";a="291949097" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Oct 2022 14:16:00 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10497"; a="715670464" X-IronPort-AV: E=Sophos;i="5.95,177,1661842800"; d="scan'208";a="715670464" Received: from unknown (HELO icx-npg-scs1-cp1.localdomain) ([10.233.180.245]) by FMSMGA003.fm.intel.com with ESMTP; 11 Oct 2022 14:15:59 -0700 From: Nicolas Chautru To: dev@dpdk.org, gakhil@marvell.com, maxime.coquelin@redhat.com Cc: trix@redhat.com, mdr@ashroe.eu, bruce.richardson@intel.com, hemant.agrawal@nxp.com, david.marchand@redhat.com, stephen@networkplumber.org, hernan.vargas@intel.com, Nicolas Chautru Subject: [PATCH v10 00/16] bbdev ACC200 PMD Date: Tue, 11 Oct 2022 14:15:22 -0700 Message-Id: <20221011211538.14106-1-nicolas.chautru@intel.com> X-Mailer: git-send-email 2.37.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 v10: Update of patch 13 to expose a single configuration API for the ACC devices. New commit 15 to refactor PMD code using helper functions for the descriptor index management and improve readability. New commit 16 to extend bbdev-test capability to support new operations and capabilities in the new PMD. Formatting fixes. Note that the checkpatch warning are False-Alarms. Thanks v9: I had missed a compilation error in debug mode. v8: Rebased to latest and fixed related compilation error. Added acc200.ini and updated rel_notes. Formatting improvement in comments, docs and commit message. v7: Additional update in commits 9,10,11 based on review from Maxime. v5/v6:Updates based on Maxime reviews of v4/v5. Thanks. v4: Rebase suggested by Maxime to split first commit and update the order within the series. No functional change. v3: Putting together ACC100 and ACC200 PMDs in common acc directory based on previous discussion on v2. v2: Includes now code refactory to have common structures and code reused with the parallel ACC1XX serie PMD which can be shared moving forward. v1: This is targeting 22.11 and includes the PMD for the new serie integrated accelerator on Intel Xeon SPR-EEC. Nic Chautru (16): baseband/acc100: remove unused registers baseband/acc100: refactor to segregate common code baseband/acc: rename directory from acc100 to acc baseband/acc: introduce PMD for ACC200 baseband/acc: add HW register definitions for ACC200 baseband/acc: add info get function for ACC200 baseband/acc: add queue configuration for ACC200 baseband/acc: add LDPC processing functions baseband/acc: add LTE processing functions baseband/acc: add support for FFT operations baseband/acc: support interrupt baseband/acc: add device status and vf2pf comms baseband/acc: add PF configure companion function baseband/acc: simplify meson dependency baseband/acc: add helper function for descriptor index test-bbdev: unit test capability extension MAINTAINERS | 5 +- app/test-bbdev/meson.build | 4 +- app/test-bbdev/test_bbdev_perf.c | 626 ++- app/test-bbdev/test_bbdev_vector.c | 182 + app/test-bbdev/test_bbdev_vector.h | 1 + app/test-bbdev/test_vectors/fft_150.data | 475 ++ app/test-bbdev/test_vectors/fft_byp_28.data | 103 + doc/guides/bbdevs/acc200.rst | 257 ++ doc/guides/bbdevs/features/acc200.ini | 14 + doc/guides/bbdevs/features/default.ini | 1 + doc/guides/bbdevs/index.rst | 1 + doc/guides/rel_notes/release_22_11.rst | 6 + drivers/baseband/acc/acc100_pf_enum.h | 147 + drivers/baseband/acc/acc100_pmd.h | 177 + .../baseband/{acc100 => acc}/acc100_vf_enum.h | 0 drivers/baseband/{acc100 => acc}/acc101_pmd.h | 10 - drivers/baseband/acc/acc200_cfg.h | 32 + drivers/baseband/acc/acc200_pf_enum.h | 108 + drivers/baseband/acc/acc200_pmd.h | 196 + drivers/baseband/acc/acc200_vf_enum.h | 83 + drivers/baseband/acc/acc_common.h | 1422 ++++++ drivers/baseband/acc/meson.build | 8 + .../baseband/{acc100 => acc}/rte_acc100_pmd.c | 1894 +++----- drivers/baseband/acc/rte_acc200_pmd.c | 3821 +++++++++++++++++ drivers/baseband/acc/rte_acc_cfg.h | 49 + .../rte_acc_common_cfg.h} | 66 +- drivers/baseband/{acc100 => acc}/version.map | 2 +- drivers/baseband/acc100/acc100_pf_enum.h | 1086 ----- drivers/baseband/acc100/acc100_pmd.h | 624 --- drivers/baseband/acc100/meson.build | 8 - drivers/baseband/meson.build | 2 +- 31 files changed, 8335 insertions(+), 3075 deletions(-) create mode 100644 app/test-bbdev/test_vectors/fft_150.data create mode 100644 app/test-bbdev/test_vectors/fft_byp_28.data create mode 100644 doc/guides/bbdevs/acc200.rst create mode 100644 doc/guides/bbdevs/features/acc200.ini create mode 100644 drivers/baseband/acc/acc100_pf_enum.h create mode 100644 drivers/baseband/acc/acc100_pmd.h rename drivers/baseband/{acc100 => acc}/acc100_vf_enum.h (100%) rename drivers/baseband/{acc100 => acc}/acc101_pmd.h (76%) create mode 100644 drivers/baseband/acc/acc200_cfg.h create mode 100644 drivers/baseband/acc/acc200_pf_enum.h create mode 100644 drivers/baseband/acc/acc200_pmd.h create mode 100644 drivers/baseband/acc/acc200_vf_enum.h create mode 100644 drivers/baseband/acc/acc_common.h create mode 100644 drivers/baseband/acc/meson.build rename drivers/baseband/{acc100 => acc}/rte_acc100_pmd.c (69%) create mode 100644 drivers/baseband/acc/rte_acc200_pmd.c create mode 100644 drivers/baseband/acc/rte_acc_cfg.h rename drivers/baseband/{acc100/rte_acc100_cfg.h => acc/rte_acc_common_cfg.h} (55%) rename drivers/baseband/{acc100 => acc}/version.map (69%) delete mode 100644 drivers/baseband/acc100/acc100_pf_enum.h delete mode 100644 drivers/baseband/acc100/acc100_pmd.h delete mode 100644 drivers/baseband/acc100/meson.build