From patchwork Tue Oct 11 21:43: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: 117986 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 A71EBA0548; Tue, 11 Oct 2022 23:44:04 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 49F7142BE3; Tue, 11 Oct 2022 23:44:04 +0200 (CEST) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by mails.dpdk.org (Postfix) with ESMTP id 6005C40697 for ; Tue, 11 Oct 2022 23:44:02 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1665524642; x=1697060642; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=Gs5uqXPqH880ZKITyq3Jn75xJCi0sU2TT5HJb70HRm4=; b=V148fjcSqjmtjztQUNQSGWV8qlrs55ZpfEp0QXbb5MeLqF/0a+WWlJTN Tj+hVRwppfVI7Lq6roGfQlodMfbk/S+Dl0tdIm7MQaidrXn9MLs8zamQu y5Wg55gfmlr/PCSeUh1keXPfQwC44vCuuRrcsh84RWx7Tg56SHSsioFtH xHzDoXkOSF6IyuUQ4IBWu2GEtwKlpbNUvS7hg34OfPPjYCtvClizmkrdj 3FfcKqfPfyGD6oxNH9FM+vVcNOnxP0a0skzWvpWeS3p2fUSDu8mBQmUQZ v8L8AzJtOO0Os1BVc4QZKqBaaU58BXPqAAMJnJokGdtOk4h1nxoTk7tSZ A==; X-IronPort-AV: E=McAfee;i="6500,9779,10497"; a="291953979" X-IronPort-AV: E=Sophos;i="5.95,177,1661842800"; d="scan'208";a="291953979" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Oct 2022 14:44:01 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10497"; a="659692988" X-IronPort-AV: E=Sophos;i="5.95,177,1661842800"; d="scan'208";a="659692988" Received: from unknown (HELO icx-npg-scs1-cp1.localdomain) ([10.233.180.245]) by orsmga001.jf.intel.com with ESMTP; 11 Oct 2022 14:44:00 -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 v11 00/16] bbdev ACC200 PMD Date: Tue, 11 Oct 2022 14:43:22 -0700 Message-Id: <20221011214338.15034-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 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 | 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, 8333 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