From: Shijith Thotton <sthotton@marvell.com>
Update the NIX_GET_HW_INFO mailbox message to return the VWQE timer
delay, which is used for vector packet wait time calculation.
Repurpose the existing rsvs16 reserved field in struct nix_hw_info
to vwqe_delay and populate it by reading the NIX_AF_VWQE_TIMER
register (applicable for non-OTX2 silicon).
Signed-off-by: Shijith Thotton <sthotton@marvell.com>
Signed-off-by: Nitin Shetty J <redacted>
---
drivers/net/ethernet/marvell/octeontx2/af/mbox.h | 2 +-
drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c | 5 +++++
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/marvell/octeontx2/af/mbox.h b/drivers/net/ethernet/marvell/octeontx2/af/mbox.h
index f87cdf1b971d..253dfee9646e 100644
--- a/drivers/net/ethernet/marvell/octeontx2/af/mbox.h
+++ b/drivers/net/ethernet/marvell/octeontx2/af/mbox.h
@@ -1463,7 +1463,7 @@ struct nix_inline_ipsec_lf_cfg {
struct nix_hw_info {
struct mbox_msghdr hdr;
- u16 rsvs16;
+ u16 vwqe_delay;
u16 max_mtu;
u16 min_mtu;
u32 rpm_dwrr_mtu;diff --git a/drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c b/drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c
index 78667a0977c0..c5bddd2ad920 100644
--- a/drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c
+++ b/drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c
@@ -3936,6 +3936,11 @@ int rvu_mbox_handler_nix_get_hw_info(struct rvu *rvu, struct msg_req *req,
if (blkaddr < 0)
return NIX_AF_ERR_AF_LF_INVALID;
+ rsp->vwqe_delay = 0;
+ if (!is_rvu_otx2(rvu))
+ rsp->vwqe_delay = rvu_read64(rvu, blkaddr, NIX_AF_VWQE_TIMER) &
+ GENMASK_ULL(9, 0);
+
if (is_lbk_vf(rvu, pcifunc))
rvu_get_lbk_link_max_frs(rvu, &rsp->max_mtu);
else
--
2.48.1