diff --git a/drivers/net/ethernet/stmicro/stmmac/common.h b/drivers/net/ethernet/stmicro/stmmac/common.h index 2d4729f390ff..9b5b479e7452 100644 --- a/drivers/net/ethernet/stmicro/stmmac/common.h +++ b/drivers/net/ethernet/stmicro/stmmac/common.h @@ -91,6 +91,8 @@ struct stmmac_extra_stats { unsigned long threshold; unsigned long tx_pkt_n; unsigned long rx_pkt_n; + unsigned long q_tx_pkt_n[MTL_MAX_TX_QUEUES]; + unsigned long q_rx_pkt_n[MTL_MAX_RX_QUEUES]; unsigned long normal_irq_n; unsigned long rx_normal_irq_n; unsigned long napi_poll; diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c index 1a768837ca72..dd6b76fde1a2 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c @@ -82,7 +82,16 @@ static const struct stmmac_stats stmmac_gstrings_stats[] = { STMMAC_STAT(rx_early_irq), STMMAC_STAT(threshold), STMMAC_STAT(tx_pkt_n), + STMMAC_STAT(q_tx_pkt_n[0]), + STMMAC_STAT(q_tx_pkt_n[1]), + STMMAC_STAT(q_tx_pkt_n[2]), + STMMAC_STAT(q_tx_pkt_n[3]), + STMMAC_STAT(q_tx_pkt_n[4]), STMMAC_STAT(rx_pkt_n), + STMMAC_STAT(q_rx_pkt_n[0]), + STMMAC_STAT(q_rx_pkt_n[1]), + STMMAC_STAT(q_rx_pkt_n[2]), + STMMAC_STAT(q_rx_pkt_n[3]), STMMAC_STAT(normal_irq_n), STMMAC_STAT(rx_normal_irq_n), STMMAC_STAT(napi_poll), diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c index b690ec2af6bd..097a6d84dff2 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c @@ -1999,6 +1999,7 @@ static int stmmac_tx_clean(struct stmmac_priv *priv, int budget, u32 queue) } else { priv->dev->stats.tx_packets++; priv->xstats.tx_pkt_n++; + priv->xstats.q_tx_pkt_n[queue]++; #ifdef CONFIG_MSM_BOOT_TIME_MARKER if (priv->dev->stats.tx_packets == 1) place_marker("M - Ethernet first packet transmitted"); @@ -3802,6 +3803,7 @@ read_again: stmmac_rx_refill(priv, queue); priv->xstats.rx_pkt_n += count; + priv->xstats.q_rx_pkt_n[queue] += count; return count; }