From patchwork Fri Jun 29 19:23:55 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rahul Lakkireddy X-Patchwork-Id: 42002 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id F3D641BB0C; Fri, 29 Jun 2018 21:25:40 +0200 (CEST) Received: from stargate.chelsio.com (stargate.chelsio.com [12.32.117.8]) by dpdk.org (Postfix) with ESMTP id 667A31BAC5; Fri, 29 Jun 2018 21:25:37 +0200 (CEST) Received: from localhost (scalar.blr.asicdesigners.com [10.193.185.94]) by stargate.chelsio.com (8.13.8/8.13.8) with ESMTP id w5TJPXBm029005; Fri, 29 Jun 2018 12:25:34 -0700 From: Rahul Lakkireddy To: dev@dpdk.org Cc: surendra@chelsio.com, shaguna@chelsio.com, indranil@chelsio.com, nirranjan@chelsio.com, stable@dpdk.org Date: Sat, 30 Jun 2018 00:53:55 +0530 Message-Id: <05272b8b170521d01ec63c1e7d97deb5fb987dc4.1530300158.git.rahul.lakkireddy@chelsio.com> X-Mailer: git-send-email 2.5.3 In-Reply-To: References: In-Reply-To: References: Subject: [dpdk-dev] [PATCH 5/5] net/cxgbevf: add missing Tx byte counters X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Fixes: a0a344a8f728 ("net/cxgbe: add VF port statistics") Cc: stable@dpdk.org Signed-off-by: Rahul Lakkireddy --- drivers/net/cxgbe/base/t4_regs.h | 3 +++ drivers/net/cxgbe/base/t4vf_hw.c | 6 ++++++ drivers/net/cxgbe/cxgbevf_ethdev.c | 1 + 3 files changed, 10 insertions(+) diff --git a/drivers/net/cxgbe/base/t4_regs.h b/drivers/net/cxgbe/base/t4_regs.h index fd8f9cf27..0c3a76860 100644 --- a/drivers/net/cxgbe/base/t4_regs.h +++ b/drivers/net/cxgbe/base/t4_regs.h @@ -799,8 +799,11 @@ #define A_MPS_STAT_RX_BG_3_LB_TRUNC_FRAME_L 0x96b8 #define A_MPS_STAT_RX_BG_3_LB_TRUNC_FRAME_H 0x96bc +#define A_MPS_VF_STAT_TX_VF_BCAST_BYTES_L 0x80 #define A_MPS_VF_STAT_TX_VF_BCAST_FRAMES_L 0x88 +#define A_MPS_VF_STAT_TX_VF_MCAST_BYTES_L 0x90 #define A_MPS_VF_STAT_TX_VF_MCAST_FRAMES_L 0x98 +#define A_MPS_VF_STAT_TX_VF_UCAST_BYTES_L 0xa0 #define A_MPS_VF_STAT_TX_VF_UCAST_FRAMES_L 0xa8 #define A_MPS_VF_STAT_TX_VF_DROP_FRAMES_L 0xb0 #define A_MPS_VF_STAT_RX_VF_BCAST_FRAMES_L 0xd0 diff --git a/drivers/net/cxgbe/base/t4vf_hw.c b/drivers/net/cxgbe/base/t4vf_hw.c index 9fd0b8791..d96456bbe 100644 --- a/drivers/net/cxgbe/base/t4vf_hw.c +++ b/drivers/net/cxgbe/base/t4vf_hw.c @@ -683,6 +683,9 @@ static int t4vf_get_port_stats_fw(struct adapter *adapter, int pidx, /* * Translate firmware statistics into host native statistics. */ + p->tx_octets = be64_to_cpu(fwstats.tx_bcast_bytes) + + be64_to_cpu(fwstats.tx_mcast_bytes) + + be64_to_cpu(fwstats.tx_ucast_bytes); p->tx_bcast_frames = be64_to_cpu(fwstats.tx_bcast_frames); p->tx_mcast_frames = be64_to_cpu(fwstats.tx_mcast_frames); p->tx_ucast_frames = be64_to_cpu(fwstats.tx_ucast_frames); @@ -722,6 +725,9 @@ void t4vf_get_port_stats(struct adapter *adapter, int pidx, #define GET_STAT(name) \ t4_read_reg64(adapter, \ T4VF_MPS_BASE_ADDR + A_MPS_VF_STAT_##name##_L) + p->tx_octets = GET_STAT(TX_VF_BCAST_BYTES) + + GET_STAT(TX_VF_MCAST_BYTES) + + GET_STAT(TX_VF_UCAST_BYTES); p->tx_bcast_frames = GET_STAT(TX_VF_BCAST_FRAMES); p->tx_mcast_frames = GET_STAT(TX_VF_MCAST_FRAMES); p->tx_ucast_frames = GET_STAT(TX_VF_UCAST_FRAMES); diff --git a/drivers/net/cxgbe/cxgbevf_ethdev.c b/drivers/net/cxgbe/cxgbevf_ethdev.c index b4770e0c5..3b32ca9d4 100644 --- a/drivers/net/cxgbe/cxgbevf_ethdev.c +++ b/drivers/net/cxgbe/cxgbevf_ethdev.c @@ -50,6 +50,7 @@ static int cxgbevf_dev_stats_get(struct rte_eth_dev *eth_dev, /* TX Stats */ eth_stats->opackets = ps.tx_bcast_frames + ps.tx_mcast_frames + ps.tx_ucast_frames; + eth_stats->obytes = ps.tx_octets; eth_stats->oerrors = ps.tx_drop; for (i = 0; i < pi->n_rx_qsets; i++) {