Re: [dpdk-dev] [PATCH 00/28] add support for baseband phy
From: Jerin Jacob <hidden>
Date: 2021-06-10 06:54:22
On Tue, Jun 1, 2021 at 3:11 AM Tomasz Duszynski [off-list ref] 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