Message ID | 20210615110345.11057-1-tduszynski@marvell.com (mailing list archive) |
---|---|
Headers |
Return-Path: <dev-bounces@dpdk.org> 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 B3ACBA0C47; Tue, 15 Jun 2021 13:03:54 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4306B4067A; Tue, 15 Jun 2021 13:03:54 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by mails.dpdk.org (Postfix) with ESMTP id 58CD440140 for <dev@dpdk.org>; Tue, 15 Jun 2021 13:03:53 +0200 (CEST) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 15FB016i011908 for <dev@dpdk.org>; Tue, 15 Jun 2021 04:03:52 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding : content-type; s=pfpt0220; bh=JevFbpQciUfChgeAggNHvc+KKzrH96A3w8BsN9FZjXg=; b=cqmQu0JCDsmeHj2HL8frGusZA3szsI4HlH2txQaxCKrMsl09UQ4AdxPLdejCJ18gutAt 3Pc8nPRyjjKy7PiBtwuZp94Hxch9mSqHsgGCHZoBy2Os7+BZGsL3nwHBq3BHaYW/kokH gzhiclymXzCUr6/W+RNfJY4WsWjqEYsa3F4L6Uu7qDM8FLK7VkC/+x3+5KKcjXQ0otdn eXzpb/lDNBUpeCkT6j0ZzY8Yi0EGBoZWPLq+PdTuBfpy+rKt5eGrV2W131XEhFRaDIkM FHvf20NNRhYxDOqCu0dnGB/GJ82So7GFO9iry62/fUdCiHYT2z00AVPaO/813GQds03M bg== Received: from dc5-exch02.marvell.com ([199.233.59.182]) by mx0b-0016f401.pphosted.com with ESMTP id 396tagr4we-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT) for <dev@dpdk.org>; Tue, 15 Jun 2021 04:03:52 -0700 Received: from DC5-EXCH02.marvell.com (10.69.176.39) by DC5-EXCH02.marvell.com (10.69.176.39) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Tue, 15 Jun 2021 04:03:51 -0700 Received: from maili.marvell.com (10.69.176.80) by DC5-EXCH02.marvell.com (10.69.176.39) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Tue, 15 Jun 2021 04:03:51 -0700 Received: from EH-LT0048.marvell.com (unknown [10.193.32.52]) by maili.marvell.com (Postfix) with ESMTP id C8FA03F7098; Tue, 15 Jun 2021 04:03:49 -0700 (PDT) From: Tomasz Duszynski <tduszynski@marvell.com> To: CC: <dev@dpdk.org>, Tomasz Duszynski <tduszynski@marvell.com> Date: Tue, 15 Jun 2021 13:03:13 +0200 Message-ID: <20210615110345.11057-1-tduszynski@marvell.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210531214142.30167-1-tduszynski@marvell.com> References: <20210531214142.30167-1-tduszynski@marvell.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Proofpoint-ORIG-GUID: p6Mhg9VrgKO2I4We3OACONceI8ejgcTW X-Proofpoint-GUID: p6Mhg9VrgKO2I4We3OACONceI8ejgcTW X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.391, 18.0.761 definitions=2021-06-15_04:2021-06-14, 2021-06-15 signatures=0 Subject: [dpdk-dev] [PATCH v2 00/32] add support for baseband phy X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <https://mails.dpdk.org/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://mails.dpdk.org/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://mails.dpdk.org/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org Sender: "dev" <dev-bounces@dpdk.org> |
Series |
add support for baseband phy
|
|
Message
Tomasz Duszynski
June 15, 2021, 11:03 a.m. UTC
This series adds initial support for baseband PHY available on SOCs belonging to Fusion family. BPHY is a hardware block comprising accelerators and DSPs specifically tailored for 5G/LTE inline usecases. This series introduces two rawdev PMDs along with low level common code. CGX/RPM PMD allows one to configure Ethernet I/O interfaces attached to BPHY via standard enqueue/dequeue operations. BPHY PMD provides an out-of-band access to PCI device BARs and a set of experimental APIs allowing one to setup custom IRQs handlers. This functionality is backed by kernel module using ioctl() mechanism. Series has nothing to do with 5G/LTE baseband protocol processing. v2: - change some errors to more relevant ones (-EINVAL/-ENODEV) - fix MAINTAINERS styling issues - fix dpdk-devbind.py - fix meson.build styling issues - fix warning related to possibly uninitialized scr0 variable - fix warning releated to unused function - improve documentation - improve enums items naming - spread documentation across relevant patches Tomasz Duszynski (28): common/cnxk: add bphy cgx/rpm initialization and cleanup common/cnxk: support for communication with atf common/cnxk: support for getting link information common/cnxk: support for changing internal loopback common/cnxk: support for changing ptp mode common/cnxk: support for setting link mode common/cnxk: support for changing link state common/cnxk: support for lmac start/stop raw/cnxk_bphy: add bphy cgx/rpm skeleton driver raw/cnxk_bphy: support for reading queue configuration raw/cnxk_bphy: support for reading queue count raw/cnxk_bphy: support for enqueue operation raw/cnxk_bphy: support for dequeue operation raw/cnxk_bphy: support for performing selftest common/cnxk: support for device init and fini common/cnxk: support for baseband PHY irq setup common/cnxk: support for checking irq availability common/cnxk: support for retrieving irq stack common/cnxk: support for removing irq stack common/cnxk: support for setting bphy irq handler common/cnxk: support for clearing bphy irq handler common/cnxk: support for registering bphy irq raw/cnxk_bphy: add baseband PHY skeleton driver raw/cnxk_bphy: support for reading bphy queue configuration raw/cnxk_bphy: support for reading bphy queue count raw/cnxk_bphy: support for bphy enqueue operation raw/cnxk_bphy: support for bphy dequeue operation raw/cnxk_bphy: support for interrupt init and cleanup raw/cnxk_bphy: support for reading number of bphy irqs raw/cnxk_bphy: support for retrieving bphy device memory raw/cnxk_bphy: support for registering bphy irq handlers raw/cnxk_bphy: support for bphy selftest MAINTAINERS | 7 +- doc/guides/rawdevs/cnxk_bphy.rst | 154 ++++++++ doc/guides/rawdevs/index.rst | 1 + doc/guides/rel_notes/release_21_08.rst | 13 + drivers/common/cnxk/meson.build | 3 + drivers/common/cnxk/roc_api.h | 7 + drivers/common/cnxk/roc_bphy.c | 40 ++ drivers/common/cnxk/roc_bphy.h | 17 + drivers/common/cnxk/roc_bphy_cgx.c | 396 +++++++++++++++++++ drivers/common/cnxk/roc_bphy_cgx.h | 120 ++++++ drivers/common/cnxk/roc_bphy_cgx_priv.h | 131 +++++++ drivers/common/cnxk/roc_bphy_irq.c | 422 +++++++++++++++++++++ drivers/common/cnxk/roc_bphy_irq.h | 49 +++ drivers/common/cnxk/roc_idev.c | 1 + drivers/common/cnxk/roc_idev_priv.h | 2 + drivers/common/cnxk/roc_io.h | 9 + drivers/common/cnxk/roc_io_generic.h | 5 + drivers/common/cnxk/roc_priv.h | 3 + drivers/common/cnxk/version.map | 22 ++ drivers/raw/cnxk_bphy/cnxk_bphy.c | 329 ++++++++++++++++ drivers/raw/cnxk_bphy/cnxk_bphy_cgx.c | 321 ++++++++++++++++ drivers/raw/cnxk_bphy/cnxk_bphy_cgx.h | 10 + drivers/raw/cnxk_bphy/cnxk_bphy_cgx_test.c | 206 ++++++++++ drivers/raw/cnxk_bphy/cnxk_bphy_irq.c | 100 +++++ drivers/raw/cnxk_bphy/cnxk_bphy_irq.h | 41 ++ drivers/raw/cnxk_bphy/meson.build | 12 + drivers/raw/cnxk_bphy/rte_pmd_bphy.h | 233 ++++++++++++ drivers/raw/cnxk_bphy/version.map | 3 + drivers/raw/meson.build | 1 + usertools/dpdk-devbind.py | 6 +- 30 files changed, 2662 insertions(+), 2 deletions(-) create mode 100644 doc/guides/rawdevs/cnxk_bphy.rst create mode 100644 drivers/common/cnxk/roc_bphy.c create mode 100644 drivers/common/cnxk/roc_bphy.h create mode 100644 drivers/common/cnxk/roc_bphy_cgx.c create mode 100644 drivers/common/cnxk/roc_bphy_cgx.h create mode 100644 drivers/common/cnxk/roc_bphy_cgx_priv.h create mode 100644 drivers/common/cnxk/roc_bphy_irq.c create mode 100644 drivers/common/cnxk/roc_bphy_irq.h create mode 100644 drivers/raw/cnxk_bphy/cnxk_bphy.c create mode 100644 drivers/raw/cnxk_bphy/cnxk_bphy_cgx.c create mode 100644 drivers/raw/cnxk_bphy/cnxk_bphy_cgx.h create mode 100644 drivers/raw/cnxk_bphy/cnxk_bphy_cgx_test.c create mode 100644 drivers/raw/cnxk_bphy/cnxk_bphy_irq.c create mode 100644 drivers/raw/cnxk_bphy/cnxk_bphy_irq.h create mode 100644 drivers/raw/cnxk_bphy/meson.build create mode 100644 drivers/raw/cnxk_bphy/rte_pmd_bphy.h create mode 100644 drivers/raw/cnxk_bphy/version.map -- 2.25.1
Comments
On Tue, Jun 15, 2021 at 4:33 PM Tomasz Duszynski <tduszynski@marvell.com> wrote: > > This series adds initial support for baseband PHY available on SOCs > belonging to Fusion family. BPHY is a hardware block comprising > accelerators and DSPs specifically tailored for 5G/LTE inline usecases. > > This series introduces two rawdev PMDs along with low level common code. > > CGX/RPM PMD allows one to configure Ethernet I/O interfaces attached to > BPHY via standard enqueue/dequeue operations. > > BPHY PMD provides an out-of-band access to PCI device BARs and a set of > experimental APIs allowing one to setup custom IRQs handlers. This > functionality is backed by kernel module using ioctl() mechanism. Series > has nothing to do with 5G/LTE baseband protocol processing. This series looks good to me. Feel free to add my reviewed by for the series after fix the following 1) Typo diff --git a/doc/guides/rawdevs/cnxk_bphy.rst b/doc/guides/rawdevs/cnxk_bphy.rst -``CNXK_BPHY_CGX_MSG_TYPE_INTLBK_DISABLE``. Former will activate internal loobback while the latter +``CNXK_BPHY_CGX_MSG_TYPE_INTLBK_DISABLE``. Former will activate internal loopback while the latter 2) checkpatch WARNING:LONG_LINE: line length of 85 exceeds 80 columns #88: FILE: drivers/common/cnxk/roc_bphy_cgx.c:77: + if (FIELD_GET(SCR0_ETH_EVT_STS_S_EVT_TYPE, *scr0) == ETH_EVT_ASYNC && 3) In the release notes, the following items can be removed. + Added new Baseband phy PMD which provides means for configuring baseband hardware via + standard rawdev enq/deq operations. Baseband phy is a hardware subsystem accelerating + 5G/LTE related tasks. + + Both BPHY and BPHY CGX/RPM drivers are related hence kept together to ease maintenance. > > v2: > - change some errors to more relevant ones (-EINVAL/-ENODEV) > - fix MAINTAINERS styling issues > - fix dpdk-devbind.py > - fix meson.build styling issues > - fix warning related to possibly uninitialized scr0 variable > - fix warning releated to unused function > - improve documentation > - improve enums items naming > - spread documentation across relevant patches > > Tomasz Duszynski (28): > common/cnxk: add bphy cgx/rpm initialization and cleanup > common/cnxk: support for communication with atf > common/cnxk: support for getting link information > common/cnxk: support for changing internal loopback > common/cnxk: support for changing ptp mode > common/cnxk: support for setting link mode > common/cnxk: support for changing link state > common/cnxk: support for lmac start/stop > raw/cnxk_bphy: add bphy cgx/rpm skeleton driver > raw/cnxk_bphy: support for reading queue configuration > raw/cnxk_bphy: support for reading queue count > raw/cnxk_bphy: support for enqueue operation > raw/cnxk_bphy: support for dequeue operation > raw/cnxk_bphy: support for performing selftest > common/cnxk: support for device init and fini > common/cnxk: support for baseband PHY irq setup > common/cnxk: support for checking irq availability > common/cnxk: support for retrieving irq stack > common/cnxk: support for removing irq stack > common/cnxk: support for setting bphy irq handler > common/cnxk: support for clearing bphy irq handler > common/cnxk: support for registering bphy irq > raw/cnxk_bphy: add baseband PHY skeleton driver > raw/cnxk_bphy: support for reading bphy queue configuration > raw/cnxk_bphy: support for reading bphy queue count > raw/cnxk_bphy: support for bphy enqueue operation > raw/cnxk_bphy: support for bphy dequeue operation > raw/cnxk_bphy: support for interrupt init and cleanup > raw/cnxk_bphy: support for reading number of bphy irqs > raw/cnxk_bphy: support for retrieving bphy device memory > raw/cnxk_bphy: support for registering bphy irq handlers > raw/cnxk_bphy: support for bphy selftest > > MAINTAINERS | 7 +- > doc/guides/rawdevs/cnxk_bphy.rst | 154 ++++++++ > doc/guides/rawdevs/index.rst | 1 + > doc/guides/rel_notes/release_21_08.rst | 13 + > drivers/common/cnxk/meson.build | 3 + > drivers/common/cnxk/roc_api.h | 7 + > drivers/common/cnxk/roc_bphy.c | 40 ++ > drivers/common/cnxk/roc_bphy.h | 17 + > drivers/common/cnxk/roc_bphy_cgx.c | 396 +++++++++++++++++++ > drivers/common/cnxk/roc_bphy_cgx.h | 120 ++++++ > drivers/common/cnxk/roc_bphy_cgx_priv.h | 131 +++++++ > drivers/common/cnxk/roc_bphy_irq.c | 422 +++++++++++++++++++++ > drivers/common/cnxk/roc_bphy_irq.h | 49 +++ > drivers/common/cnxk/roc_idev.c | 1 + > drivers/common/cnxk/roc_idev_priv.h | 2 + > drivers/common/cnxk/roc_io.h | 9 + > drivers/common/cnxk/roc_io_generic.h | 5 + > drivers/common/cnxk/roc_priv.h | 3 + > drivers/common/cnxk/version.map | 22 ++ > drivers/raw/cnxk_bphy/cnxk_bphy.c | 329 ++++++++++++++++ > drivers/raw/cnxk_bphy/cnxk_bphy_cgx.c | 321 ++++++++++++++++ > drivers/raw/cnxk_bphy/cnxk_bphy_cgx.h | 10 + > drivers/raw/cnxk_bphy/cnxk_bphy_cgx_test.c | 206 ++++++++++ > drivers/raw/cnxk_bphy/cnxk_bphy_irq.c | 100 +++++ > drivers/raw/cnxk_bphy/cnxk_bphy_irq.h | 41 ++ > drivers/raw/cnxk_bphy/meson.build | 12 + > drivers/raw/cnxk_bphy/rte_pmd_bphy.h | 233 ++++++++++++ > drivers/raw/cnxk_bphy/version.map | 3 + > drivers/raw/meson.build | 1 + > usertools/dpdk-devbind.py | 6 +- > 30 files changed, 2662 insertions(+), 2 deletions(-) > create mode 100644 doc/guides/rawdevs/cnxk_bphy.rst > create mode 100644 drivers/common/cnxk/roc_bphy.c > create mode 100644 drivers/common/cnxk/roc_bphy.h > create mode 100644 drivers/common/cnxk/roc_bphy_cgx.c > create mode 100644 drivers/common/cnxk/roc_bphy_cgx.h > create mode 100644 drivers/common/cnxk/roc_bphy_cgx_priv.h > create mode 100644 drivers/common/cnxk/roc_bphy_irq.c > create mode 100644 drivers/common/cnxk/roc_bphy_irq.h > create mode 100644 drivers/raw/cnxk_bphy/cnxk_bphy.c > create mode 100644 drivers/raw/cnxk_bphy/cnxk_bphy_cgx.c > create mode 100644 drivers/raw/cnxk_bphy/cnxk_bphy_cgx.h > create mode 100644 drivers/raw/cnxk_bphy/cnxk_bphy_cgx_test.c > create mode 100644 drivers/raw/cnxk_bphy/cnxk_bphy_irq.c > create mode 100644 drivers/raw/cnxk_bphy/cnxk_bphy_irq.h > create mode 100644 drivers/raw/cnxk_bphy/meson.build > create mode 100644 drivers/raw/cnxk_bphy/rte_pmd_bphy.h > create mode 100644 drivers/raw/cnxk_bphy/version.map > > -- > 2.25.1 >