[07/12] net/thunderx: reset Rx DMAC control register
Checks
Commit Message
From: Hanumanth Pothula <hpothula@marvell.com>
During initialization, reset RX DMAC control register by
sending mbox message NIC_MBOX_MSG_RESET_XCAST to PF.
Signed-off-by: Hanumanth Pothula <hpothula@marvell.com>
---
drivers/net/thunderx/base/nicvf_mbox.c | 9 +++++++++
drivers/net/thunderx/base/nicvf_mbox.h | 2 ++
drivers/net/thunderx/nicvf_ethdev.c | 3 +++
3 files changed, 14 insertions(+)
@@ -449,3 +449,12 @@ nicvf_mbox_link_change(struct nicvf *nic)
mbx.msg.msg = NIC_MBOX_MSG_BGX_LINK_CHANGE;
nicvf_mbox_send_async_msg_to_pf(nic, &mbx);
}
+
+void
+nicvf_mbox_reset_xcast(struct nicvf *nic)
+{
+ struct nic_mbx mbx = { .msg = { 0 } };
+
+ mbx.msg.msg = NIC_MBOX_MSG_RESET_XCAST;
+ nicvf_mbox_send_msg_to_pf(nic, &mbx);
+}
@@ -43,6 +43,7 @@
#define NIC_MBOX_MSG_SET_LINK 0x21 /* Set link up/down */
#define NIC_MBOX_MSG_CFG_DONE 0xF0 /* VF configuration done */
#define NIC_MBOX_MSG_SHUTDOWN 0xF1 /* VF is being shutdown */
+#define NIC_MBOX_MSG_RESET_XCAST 0xF2 /* Reset DCAM filtering mode */
#define NIC_MBOX_MSG_MAX 0x100 /* Maximum number of messages */
/* Get vNIC VF configuration */
@@ -223,5 +224,6 @@ int nicvf_mbox_set_link_up_down(struct nicvf *nic, bool enable);
void nicvf_mbox_shutdown(struct nicvf *nic);
void nicvf_mbox_cfg_done(struct nicvf *nic);
void nicvf_mbox_link_change(struct nicvf *nic);
+void nicvf_mbox_reset_xcast(struct nicvf *nic);
#endif /* __THUNDERX_NICVF_MBOX__ */
@@ -2196,6 +2196,9 @@ nicvf_eth_dev_init(struct rte_eth_dev *eth_dev)
);
}
+ /* To make sure RX DMAC register is set to default value (0x3) */
+ nicvf_mbox_reset_xcast(nic);
+
ret = nicvf_base_init(nic);
if (ret) {
PMD_INIT_LOG(ERR, "Failed to execute nicvf_base_init");