[dpdk-dev] [PATCH v3 00/32] add support for baseband phy
Tomasz Duszynski
tduszynski at marvell.com
Mon Jun 21 17:04:17 CEST 2021
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.
v3:
- append pmd to list of cnxk drivers (cnxk.rst)
- fix typo
- fix line length so it is under 80 characters
- shorten release notes
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 related to unused function
- improve documentation
- improve enums items naming
- spread documentation across relevant patches
Tomasz Duszynski (32):
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/platform/cnxk.rst | 3 +
doc/guides/rawdevs/cnxk_bphy.rst | 154 ++++++++
doc/guides/rawdevs/index.rst | 1 +
doc/guides/rel_notes/release_21_08.rst | 7 +
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 | 397 +++++++++++++++++++
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 +-
31 files changed, 2660 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
More information about the dev
mailing list