[dpdk-dev] [PATCH 00/28] add support for baseband phy

Jerin Jacob jerinjacobk at gmail.com
Thu Jun 10 08:54:02 CEST 2021


On Tue, Jun 1, 2021 at 3:11 AM Tomasz Duszynski <tduszynski at 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
>


More information about the dev mailing list