[net-next PATCH V2 0/4] CN10KB MAC block support

From: Hariprasad Kelam
Date: Tue Nov 29 2022 - 00:14:36 EST


OcteonTx2's next gen platform the CN10KB has RPM_USX MAC which has a
different serdes when compared to RPM MAC. Though the underlying
HW is different, the CSR interface has been designed largely inline
with RPM MAC, with few exceptions though. So we are using the same
CGX driver for RPM_USX MAC as well and will have a different set of APIs
for RPM_USX where ever necessary.

The RPM and RPM_USX blocks support a different number of LMACS.
RPM_USX support 8 LMACS per MAC block whereas legacy RPM supports only 4
LMACS per MAC. with this RPM_USX support double the number of DMAC filters
and fifo size.

This patchset adds initial support for CN10KB's RPM_USX MAC i.e
registering the driver and defining MAC operations (mac_ops). With these
changes PF and VF netdev packet path will work and PF and VF netdev drivers
are able to configure MAC features like pause frames,PFC and loopback etc.

Also implements FEC stats for CN10K Mac block RPM and CN10KB Mac block
RPM_USX and extends ethtool support for PF and VF drivers by defining
get_fec_stats API to display FEC stats.

Hariprasad Kelam (3):
octeontx2-af: cn10kb: Add RPM_USX MAC support
octeontx2-pf: ethtool: Implement get_fec_stats
octeontx2-af: Add FEC stats for RPM/RPM_USX block

Rakesh Babu Saladi (1):
octeontx2-af: Support variable number of lmacs

.../net/ethernet/marvell/octeontx2/af/cgx.c | 78 ++++--
.../net/ethernet/marvell/octeontx2/af/cgx.h | 9 +-
.../marvell/octeontx2/af/lmac_common.h | 15 +-
.../net/ethernet/marvell/octeontx2/af/rpm.c | 262 ++++++++++++++++--
.../net/ethernet/marvell/octeontx2/af/rpm.h | 36 ++-
.../net/ethernet/marvell/octeontx2/af/rvu.h | 12 +-
.../ethernet/marvell/octeontx2/af/rvu_cgx.c | 49 +++-
.../marvell/octeontx2/af/rvu_debugfs.c | 2 +-
.../ethernet/marvell/octeontx2/af/rvu_nix.c | 10 +-
.../marvell/octeontx2/af/rvu_npc_hash.c | 4 +-
.../marvell/octeontx2/nic/otx2_ethtool.c | 75 ++---
11 files changed, 435 insertions(+), 117 deletions(-)

--
2.17.1