octeontx2-af: cn10k: Introduce driver for macsec block.
authorGeetha sowjanya <gakula@marvell.com>
Sat, 1 Oct 2022 04:59:42 +0000 (10:29 +0530)
committerDavid S. Miller <davem@davemloft.net>
Mon, 3 Oct 2022 11:50:18 +0000 (12:50 +0100)
commitca7f49ff884677f97858c3934806e0e666425af0
tree02881a3ced21114c98b30cc5bbc713f5f9934c21
parent99507e762df0f174bfabf50a213f91d4f1ee03e0
octeontx2-af: cn10k: Introduce driver for macsec block.

CN10K-B and CNF10K-B has macsec block(MCS) to encrypt and
decrypt packets at MAC level. This block is a global resource
with hardware resources like SecYs, SCs and SAs and is in
between NIX block and RPM LMAC. CN10K-B silicon has only one MCS
block which receives packets from all LMACS whereas CNF10K-B has
seven MCS blocks for seven LMACs. Both MCS blocks are
similar in operation except for few register offsets and some
configurations require writing to different registers. Those
differences between IPs are handled using separate ops.
This patch adds basic driver and does the initial hardware
calibration and parser configuration.

Signed-off-by: Geetha sowjanya <gakula@marvell.com>
Signed-off-by: Vamsi Attunuru <vattunuru@marvell.com>
Signed-off-by: Sunil Goutham <sgoutham@marvell.com>
Signed-off-by: Subbaraya Sundeep <sbhatta@marvell.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/marvell/octeontx2/af/Makefile
drivers/net/ethernet/marvell/octeontx2/af/mcs.c [new file with mode: 0644]
drivers/net/ethernet/marvell/octeontx2/af/mcs.h [new file with mode: 0644]
drivers/net/ethernet/marvell/octeontx2/af/mcs_cnf10kb.c [new file with mode: 0644]
drivers/net/ethernet/marvell/octeontx2/af/mcs_reg.h [new file with mode: 0644]
drivers/net/ethernet/marvell/octeontx2/af/mcs_rvu_if.c [new file with mode: 0644]
drivers/net/ethernet/marvell/octeontx2/af/rvu.c
drivers/net/ethernet/marvell/octeontx2/af/rvu.h