On Tue, Jun 15, 2021 at 4:33 PM Tomasz Duszynski <tduszyn...@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 >