summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/marvell/octeontx2/af/mcs.h
diff options
context:
space:
mode:
authorGeetha sowjanya <gakula@marvell.com>2022-10-01 10:29:43 +0530
committerDavid S. Miller <davem@davemloft.net>2022-10-03 12:50:18 +0100
commit080bbd19c9dd386fa5be2cdec6baaf01cf00db5e (patch)
tree06f6e3168bf761d2b3ba5de54bc91f1d346fd748 /drivers/net/ethernet/marvell/octeontx2/af/mcs.h
parentca7f49ff884677f97858c3934806e0e666425af0 (diff)
downloadlinux-080bbd19c9dd386fa5be2cdec6baaf01cf00db5e.tar.bz2
octeontx2-af: cn10k: mcs: Add mailboxes for port related operations
There are set of configurations to be done at MCS port level like bringing port out of reset, making port as operational or bypass. This patch adds all the port related mailbox message handlers so that AF consumers can use them. 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>
Diffstat (limited to 'drivers/net/ethernet/marvell/octeontx2/af/mcs.h')
-rw-r--r--drivers/net/ethernet/marvell/octeontx2/af/mcs.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/net/ethernet/marvell/octeontx2/af/mcs.h b/drivers/net/ethernet/marvell/octeontx2/af/mcs.h
index 002fee898e7b..c11d507a77e3 100644
--- a/drivers/net/ethernet/marvell/octeontx2/af/mcs.h
+++ b/drivers/net/ethernet/marvell/octeontx2/af/mcs.h
@@ -17,6 +17,10 @@
#define MCS_ID_MASK 0x7
+#define MCS_PORT_MODE_MASK 0x3
+#define MCS_PORT_FIFO_SKID_MASK 0x3F
+#define MCS_MAX_CUSTOM_TAGS 0x8
+
/* Reserved resources for default bypass entry */
#define MCS_RSRC_RSVD_CNT 1
@@ -79,6 +83,12 @@ int mcs_set_lmac_channels(int mcs_id, u16 base);
int mcs_install_flowid_bypass_entry(struct mcs *mcs);
void mcs_set_lmac_mode(struct mcs *mcs, int lmac_id, u8 mode);
+void mcs_reset_port(struct mcs *mcs, u8 port_id, u8 reset);
+void mcs_set_port_cfg(struct mcs *mcs, struct mcs_port_cfg_set_req *req);
+void mcs_get_port_cfg(struct mcs *mcs, struct mcs_port_cfg_get_req *req,
+ struct mcs_port_cfg_get_rsp *rsp);
+void mcs_get_custom_tag_cfg(struct mcs *mcs, struct mcs_custom_tag_cfg_get_req *req,
+ struct mcs_custom_tag_cfg_get_rsp *rsp);
/* CN10K-B APIs */
void cn10kb_mcs_set_hw_capabilities(struct mcs *mcs);