Message ID | 20210531214142.30167-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 B2372A0524; Mon, 31 May 2021 23:41:56 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 37B1A40041; Mon, 31 May 2021 23:41:56 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id 4D83F40040 for <dev@dpdk.org>; Mon, 31 May 2021 23:41:54 +0200 (CEST) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 14VLeEPs025923 for <dev@dpdk.org>; Mon, 31 May 2021 14:41:53 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : mime-version : content-transfer-encoding : content-type; s=pfpt0220; bh=FiYdomMJl361wOnGCW8i01ravK5J5HhOx1WNZ1HmpRI=; b=CkqnSxmNj6TNGtHUh8wmxArEEWfyG/fhM1nqqcjI1PH48dfKxtJn+K8HwcEDku2/VtZc mmvVbH+owgujzi8xaTxtP47azXZH5P+XdwkDMTXepkKtClIkFdJp/U9qxzpO45ZtLvoW 7mEUJ55LSgj8fw/a6DQWv+6+s0rxKZAbST9GLCO4f3lxJYjJ5MnDHJ33bauiJBTa4V+q Ej8Zz3qDJ5iv9tt9TbptHXupIUigGJARvlGXO+/t1RAw+utuHQxi7cFxm9XadEmpIO44 BAn6Dfh23jLHQ0eKZP7M+XcxkkEcRvBactm5NnUOGnYVEcL0XpfLoKXzEHTEbZsTtPlx Ag== Received: from dc5-exch01.marvell.com ([199.233.59.181]) by mx0a-0016f401.pphosted.com with ESMTP id 38vjqj337b-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT) for <dev@dpdk.org>; Mon, 31 May 2021 14:41:53 -0700 Received: from DC5-EXCH02.marvell.com (10.69.176.39) by DC5-EXCH01.marvell.com (10.69.176.38) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Mon, 31 May 2021 14:41: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; Mon, 31 May 2021 14:41:51 -0700 Received: from EH-LT0048.marvell.com (unknown [10.193.32.52]) by maili.marvell.com (Postfix) with ESMTP id 9BB173F703F; Mon, 31 May 2021 14:41:50 -0700 (PDT) From: Tomasz Duszynski <tduszynski@marvell.com> To: <dev@dpdk.org> CC: <jpalider@marvell.com>, <jerinj@marvell.com>, Tomasz Duszynski <tduszynski@marvell.com> Date: Mon, 31 May 2021 23:41:14 +0200 Message-ID: <20210531214142.30167-1-tduszynski@marvell.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Proofpoint-GUID: A8xn-284OrfTQWKEjq9nztsrZjdrVdGQ X-Proofpoint-ORIG-GUID: A8xn-284OrfTQWKEjq9nztsrZjdrVdGQ X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.391, 18.0.761 definitions=2021-05-31_15:2021-05-31, 2021-05-31 signatures=0 Subject: [dpdk-dev] [PATCH 00/28] 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
May 31, 2021, 9:41 p.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 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. Tomasz Duszynski (28): common/cnxk: add bphy cgx/rpm initialization and cleanup common/cnxk: add support for communication with atf common/cnxk: add support for getting link information common/cnxk: add support for changing internal loopback common/cnxk: add support for changing ptp mode common/cnxk: add support for setting link mode common/cnxk: add support for changing link state common/cnxk: add support for lmac start/stop raw/cnxk_bphy: add bphy cgx/rpm skeleton driver raw/cnxk_bphy: add support for reading queue configuration raw/cnxk_bphy: add support for reading queue count raw/cnxk_bphy: add support for enqueue operation raw/cnxk_bphy: add support for dequeue operation raw/cnxk_bphy: add support for performing selftest common/cnxk: add support for device init and fini common/cnxk: add support for baseband phy irq setup common/cnxk: add support for checking irq availability common/cnxk: add support for retrieving irq stack common/cnxk: add support for removing irq stack common/cnxk: add support for setting bphy irq handler common/cnxk: add support for clearing bphy irq handler common/cnxk: add support for registering bphy irq raw/cnxk_bphy: add baseband phy skeleton driver raw/cnxk_bphy: add support for interrupt init and cleanup raw/cnxk_bphy: add support for reading number of irqs raw/cnxk_bphy: add support for retrieving device memory raw/cnxk_bphy: add support for registering irq handlers raw/cnxk_bphy: add support for selftest MAINTAINERS | 5 + doc/guides/rawdevs/cnxk_bphy.rst | 62 +++ doc/guides/rawdevs/index.rst | 1 + 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 | 250 ++++++++++++ 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 | 40 ++ drivers/raw/cnxk_bphy/meson.build | 12 + drivers/raw/cnxk_bphy/rte_pmd_bphy.h | 121 ++++++ drivers/raw/cnxk_bphy/version.map | 22 ++ drivers/raw/meson.build | 1 + usertools/dpdk-devbind.py | 6 +- 29 files changed, 2383 insertions(+), 1 deletion(-) 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 1, 2021 at 3:11 AM 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 usecases. 5G/LTE inline use cases. > > 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. Also, you can mention that This patch adds support for exposing the IO and system aspects of the device and not anything related to 5G/LTE baseband protocol processing. Other than the minor review comments which I sent earlier. I think, We need improvement in the documentation area Where 1) Need to share the API usage model as it is raw dev API. See example as http://doc.dpdk.org/guides/rawdevs/ioat.html#using-ioat-rawdev-devices 2) Move usage doc update move to specific patch where it adding the code. > > Tomasz Duszynski (28): > common/cnxk: add bphy cgx/rpm initialization and cleanup > common/cnxk: add support for communication with atf > common/cnxk: add support for getting link information > common/cnxk: add support for changing internal loopback > common/cnxk: add support for changing ptp mode > common/cnxk: add support for setting link mode > common/cnxk: add support for changing link state > common/cnxk: add support for lmac start/stop > raw/cnxk_bphy: add bphy cgx/rpm skeleton driver > raw/cnxk_bphy: add support for reading queue configuration > raw/cnxk_bphy: add support for reading queue count > raw/cnxk_bphy: add support for enqueue operation > raw/cnxk_bphy: add support for dequeue operation > raw/cnxk_bphy: add support for performing selftest > common/cnxk: add support for device init and fini > common/cnxk: add support for baseband phy irq setup > common/cnxk: add support for checking irq availability > common/cnxk: add support for retrieving irq stack > common/cnxk: add support for removing irq stack > common/cnxk: add support for setting bphy irq handler > common/cnxk: add support for clearing bphy irq handler > common/cnxk: add support for registering bphy irq > raw/cnxk_bphy: add baseband phy skeleton driver > raw/cnxk_bphy: add support for interrupt init and cleanup > raw/cnxk_bphy: add support for reading number of irqs > raw/cnxk_bphy: add support for retrieving device memory > raw/cnxk_bphy: add support for registering irq handlers > raw/cnxk_bphy: add support for selftest > > MAINTAINERS | 5 + > doc/guides/rawdevs/cnxk_bphy.rst | 62 +++ > doc/guides/rawdevs/index.rst | 1 + > 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 | 250 ++++++++++++ > 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 | 40 ++ > drivers/raw/cnxk_bphy/meson.build | 12 + > drivers/raw/cnxk_bphy/rte_pmd_bphy.h | 121 ++++++ > drivers/raw/cnxk_bphy/version.map | 22 ++ > drivers/raw/meson.build | 1 + > usertools/dpdk-devbind.py | 6 +- > 29 files changed, 2383 insertions(+), 1 deletion(-) > 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 >