From patchwork Wed Oct 12 17:59:14 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Chautru, Nicolas" X-Patchwork-Id: 118078 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 D9135A00C3; Wed, 12 Oct 2022 19:59:59 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id BFE7C40156; Wed, 12 Oct 2022 19:59:59 +0200 (CEST) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by mails.dpdk.org (Postfix) with ESMTP id BB5FA4003C for ; Wed, 12 Oct 2022 19:59:58 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1665597599; x=1697133599; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=aqekmLLxxFc38kEYXQT60FVXeSKpL2SA0Yyc+6apOE4=; b=AMUOQTaJ7ZhxIFjXDKB0QDPxXjnqYaM9XYHK5e6CYpgN18QVtZmTLDvY PE8Gjh5XsCy7f88vAk9NPUG67QAZ3yBe13mkX0/I7l3zjQULx/KgzYMGz wkJz+03x0XtupN9xHidm2yd9jbI1uPH54rylwtRyR9bY3/9vsJIjxSC8r mNsnaWT4djYZr83cp+AlteNE5F67Of6ETaSOshi14cquUrNgkvwdbLkEG CB38JVDfTbFpmtYwEWjaKsMzJorVfrHheogYjyHECIy8Sf8k8f5c+pX2a jbOjYS0Go8ND/IWmURz5UlQoODgqWsl4Hg9kGMzm5V64hxOf+6w12gC3B Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10498"; a="292192964" X-IronPort-AV: E=Sophos;i="5.95,179,1661842800"; d="scan'208";a="292192964" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Oct 2022 10:59:54 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10498"; a="657867110" X-IronPort-AV: E=Sophos;i="5.95,179,1661842800"; d="scan'208";a="657867110" Received: from unknown (HELO icx-npg-scs1-cp1.localdomain) ([10.233.180.245]) by orsmga008.jf.intel.com with ESMTP; 12 Oct 2022 10:59:53 -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 v12 00/16] bbdev ACC200 PMD Date: Wed, 12 Oct 2022 10:59:14 -0700 Message-Id: <20221012175930.7560-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 v12: Rebase between commits notably to avoid interim build issue and test vector format issue raised by Akhil. Thanks. v11: Fixed clang compilation error introduced in v10 16/16. Thanks 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 | 624 ++- app/test-bbdev/test_bbdev_vector.c | 182 + app/test-bbdev/test_bbdev_vector.h | 1 + app/test-bbdev/test_vectors/fft_150.data | 474 ++ app/test-bbdev/test_vectors/fft_byp_28.data | 102 + 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, 8331 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