Skip to content

octeontx2-af: NPC MCAM support and FLR handling

[email protected] netdev 3 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v3 Latest21 patches 1 replyIn review
  2. v221 patches 3 repliesSuperseded
  3. v120 patches 15 repliesSuperseded

Changes in v3 from the cover letter

1 Fixed commit message of patch 'Relax resource lock into mutex'
to a more unambiguous one.
- Suggested by David Miller.

Patches in v3 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/21octeontx2-af: Convert mbox handlers APIs to lowercasedrivers/net/ethernet/marvell/octeontx2/af/mbox.c drivers/net/ethernet/marvell/octeontx2/af/mbox.h drivers/net/ethernet/marvell/octeontx2/af/rvu.c +4 more+107 -1020 replies
2/21octeontx2-af: Support to modify min/max allowed packet lengthsdrivers/net/ethernet/marvell/octeontx2/af/cgx.h drivers/net/ethernet/marvell/octeontx2/af/common.h drivers/net/ethernet/marvell/octeontx2/af/mbox.h +2 more+220 -10 replies
3/21octeontx2-af: Support to get NIX HW constants from AFdrivers/net/ethernet/marvell/octeontx2/af/mbox.h drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c+12 -00 replies
4/21octeontx2-af: Relax resource lock into mutexdrivers/net/ethernet/marvell/octeontx2/af/rvu.c drivers/net/ethernet/marvell/octeontx2/af/rvu.h drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c +1 more+30 -250 replies
5/21octeontx2-af: NPC MCAM entry alloc/free supportdrivers/net/ethernet/marvell/octeontx2/af/mbox.h drivers/net/ethernet/marvell/octeontx2/af/rvu.h drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c +1 more+588 -50 replies
6/21octeontx2-af: MCAM entry installation supportdrivers/net/ethernet/marvell/octeontx2/af/mbox.h drivers/net/ethernet/marvell/octeontx2/af/rvu.h drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c+228 -80 replies
7/21octeontx2-af: Support for NPC MCAM countersdrivers/net/ethernet/marvell/octeontx2/af/mbox.h drivers/net/ethernet/marvell/octeontx2/af/rvu.h drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c+190 -00 replies
8/21octeontx2-af: Map or unmap NPC MCAM entry and counterdrivers/net/ethernet/marvell/octeontx2/af/mbox.h drivers/net/ethernet/marvell/octeontx2/af/rvu.h drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c+192 -40 replies
9/21octeontx2-af: Alloc and config NPC MCAM entry at a timedrivers/net/ethernet/marvell/octeontx2/af/mbox.h drivers/net/ethernet/marvell/octeontx2/af/rvu.h drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c+94 -00 replies
10/21octeontx2-af: Add MKEX default profiledrivers/net/ethernet/marvell/octeontx2/af/mbox.h drivers/net/ethernet/marvell/octeontx2/af/rvu.h drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c+151 -250 replies
11/21octeontx2-af: Support to enable/disable default MCAM entriesdrivers/net/ethernet/marvell/octeontx2/af/mbox.h drivers/net/ethernet/marvell/octeontx2/af/rvu.h drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c +1 more+122 -280 replies
12/21octeontx2-af: Add support for stripping STAG/CTAGdrivers/net/ethernet/marvell/octeontx2/af/mbox.h drivers/net/ethernet/marvell/octeontx2/af/npc.h drivers/net/ethernet/marvell/octeontx2/af/rvu.h +2 more+125 -210 replies
13/21octeontx2-af: Verify NPA/SSO/NIX PF_FUNC mappingdrivers/net/ethernet/marvell/octeontx2/af/mbox.h drivers/net/ethernet/marvell/octeontx2/af/rvu.c drivers/net/ethernet/marvell/octeontx2/af/rvu.h +1 more+62 -110 replies
14/21octeontx2-af: Add FLR interrupt handlerdrivers/net/ethernet/marvell/octeontx2/af/rvu.c drivers/net/ethernet/marvell/octeontx2/af/rvu.h+121 -10 replies
15/21octeontx2-af: Teardown NPA, NIX LF upon receiving FLRdrivers/net/ethernet/marvell/octeontx2/af/mbox.h drivers/net/ethernet/marvell/octeontx2/af/rvu.c drivers/net/ethernet/marvell/octeontx2/af/rvu.h +2 more+156 -10 replies
16/21octeontx2-af: Mbox communication support btw AF and it's VFsdrivers/net/ethernet/marvell/octeontx2/af/rvu.c drivers/net/ethernet/marvell/octeontx2/af/rvu.h drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c+223 -950 replies
17/21octeontx2-af: Enable sriov on AF to create VFsdrivers/net/ethernet/marvell/octeontx2/af/rvu.c drivers/net/ethernet/marvell/octeontx2/af/rvu.h+185 -30 replies
18/21octeontx2-af: Configure AF VFs to talk over LBK channelsdrivers/net/ethernet/marvell/octeontx2/af/common.h drivers/net/ethernet/marvell/octeontx2/af/rvu.h drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c +1 more+37 -70 replies
19/21octeontx2-af: Add FLR handling support for AF's VFsdrivers/net/ethernet/marvell/octeontx2/af/rvu.c+110 -190 replies
20/21octeontx2-af: Add interrupt handlers for Master Enable eventdrivers/net/ethernet/marvell/octeontx2/af/rvu.c+113 -00 replies
21/21octeontx2-af: Workarounds for HW erratadrivers/net/ethernet/marvell/octeontx2/af/rvu.h drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c+37 -50 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v3 yet.

Read the v3 thread

Cover letter [PATCH v3 00/21] octeontx2-af: NPC MCAM support and FLR handling

From: Sunil Goutham <[email protected]>

This patchset is a continuation to earlier submitted three patch series to add a new driver for Marvell's OcteonTX2 SOC's Resource virtualization unit (RVU) admin function driver.

1. octeontx2-af: Add RVU Admin Function driver
https://www.spinics.net/lists/netdev/msg528272.html
2. octeontx2-af: NPA and NIX blocks initialization
https://www.spinics.net/lists/netdev/msg529163.html
3. octeontx2-af: NPC parser and NIX blocks initialization
https://www.spinics.net/lists/netdev/msg530252.html

This patch series adds support for below
RVU generic:
- Function Level Reset irq handler
When FLR is triggered for PFs, AF receives interrupt. This patchset adds logic for cleaning up of NPA, NIX and NPC block resources being used by PF.

- Mailbox communication between AF and it's VFs. Unlike VFs of PF1-PFn, AF which is PF0 can communicate with it's VFs directly. Added support for the same.

- AF's VFs IO configuration
These VFs are mapped to use internal HW loopback channels instead of CGX LMACs. Each pair of VFs work as two of ends of hardwired interfaces. VF0's TX is VF1's Rx & viceversa.

NPC block:
- MCAM entry management
Alloc/Free of contiguous/non-contiguous and lower/higher priority MCAM entry allocation and programming support.
- MCAM counters management and map/unmap with MCAM entries
- Default KEY extract profile
- HW errata workarounds

NIX block:
- Minimum and maximum allowed packet length config
- HW errata workarounds

Few more changes like shift to use mutex instead of spinlock etc are done in this patchset.

Changes from v2:
1 Fixed commit message of patch 'Relax resource lock into mutex'
to a more unambiguous one.
- Suggested by David Miller.

Changes from v1:
1 Converted all mailbox message handler API names to small letters
from mixed small and capital letters.
- Suggested by David Miller.
2 Fixed endian issues in patch 'Add support for stripping STAG/CTAG'
- Suggested by Arnd Bergmann
3 Elaborated commit message of patch 'Add FLR interrupt handler'
to make it a bit more easy to understand.
- Suggested by Arnd Bergmann

Will fix the padding and alignment in mailbox message structure in a follow-up patch.

Geetha sowjanya (2):
octeontx2-af: Add FLR interrupt handler
octeontx2-af: Teardown NPA, NIX LF upon receiving FLR

Kiran Kumar (1):
octeontx2-af: Support to get NIX HW constants from AF

Linu Cherian (1):
octeontx2-af: Add interrupt handlers for Master Enable event

Santosh Shukla (1):
octeontx2-af: Add MKEX default profile

Stanislaw Kardach (1):
octeontx2-af: Relax resource lock into mutex

Sunil Goutham (11):
octeontx2-af: Convert mbox handlers APIs to lowercase
octeontx2-af: Support to modify min/max allowed packet lengths
octeontx2-af: NPC MCAM entry alloc/free support
octeontx2-af: MCAM entry installation support
octeontx2-af: Support for NPC MCAM counters
octeontx2-af: Map or unmap NPC MCAM entry and counter
octeontx2-af: Alloc and config NPC MCAM entry at a time
octeontx2-af: Support to enable/disable default MCAM entries
octeontx2-af: Verify NPA/SSO/NIX PF_FUNC mapping
octeontx2-af: Add FLR handling support for AF's VFs
octeontx2-af: Workarounds for HW errata

Tomasz Duszynski (4):
octeontx2-af: Add support for stripping STAG/CTAG
octeontx2-af: Mbox communication support btw AF and it's VFs
octeontx2-af: Enable sriov on AF to create VFs
octeontx2-af: Configure AF VFs to talk over LBK channels

 drivers/net/ethernet/marvell/octeontx2/af/cgx.h    |    1 +
 drivers/net/ethernet/marvell/octeontx2/af/common.h |    7 +
 drivers/net/ethernet/marvell/octeontx2/af/mbox.c   |    2 +-
 drivers/net/ethernet/marvell/octeontx2/af/mbox.h   |  280 +++-
 drivers/net/ethernet/marvell/octeontx2/af/npc.h    |    6 +
 drivers/net/ethernet/marvell/octeontx2/af/rvu.c    |  953 ++++++++++++--
 drivers/net/ethernet/marvell/octeontx2/af/rvu.h    |  174 ++-
 .../net/ethernet/marvell/octeontx2/af/rvu_cgx.c    |   36 +-
 .../net/ethernet/marvell/octeontx2/af/rvu_nix.c    |  519 +++++++-
 .../net/ethernet/marvell/octeontx2/af/rvu_npa.c    |   25 +-
 .../net/ethernet/marvell/octeontx2/af/rvu_npc.c    | 1383 +++++++++++++++++++-
 11 files changed, 3064 insertions(+), 322 deletions(-)
Signature · 1 line
2.7.4