mt76: mt7915: add mib counters to ethtool stats
authorBen Greear <greearb@candelatech.com>
Wed, 4 Aug 2021 13:43:35 +0000 (06:43 -0700)
committerFelix Fietkau <nbd@nbd.name>
Wed, 20 Oct 2021 08:36:44 +0000 (10:36 +0200)
This adds the new mib counters from last patch into ethtool
stats.

Signed-off-by: Ben Greear <greearb@candelatech.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7915/main.c

index 21a0a9b77e4d5ea7d31da9f5f681705e2a484774..cca94b3b372f9ed822b55466ff3577486bab3156 100644 (file)
@@ -1055,6 +1055,14 @@ static void mt7915_sta_set_decap_offload(struct ieee80211_hw *hw,
 }
 
 static const char mt7915_gstrings_stats[][ETH_GSTRING_LEN] = {
+       "tx_ampdu_cnt",
+       "tx_stop_q_empty_cnt",
+       "tx_mpdu_attempts",
+       "tx_mpdu_success",
+       "tx_rwp_fail_cnt",
+       "tx_rwp_need_cnt",
+       "tx_pkt_ebf_cnt",
+       "tx_pkt_ibf_cnt",
        "tx_ampdu_len:0-1",
        "tx_ampdu_len:2-10",
        "tx_ampdu_len:11-19",
@@ -1094,6 +1102,22 @@ static const char mt7915_gstrings_stats[][ETH_GSTRING_LEN] = {
        "tx_msdu_pack_6",
        "tx_msdu_pack_7",
        "tx_msdu_pack_8",
+
+       /* rx counters */
+       "rx_fifo_full_cnt",
+       "rx_mpdu_cnt",
+       "channel_idle_cnt",
+       "rx_vector_mismatch_cnt",
+       "rx_delimiter_fail_cnt",
+       "rx_len_mismatch_cnt",
+       "rx_ampdu_cnt",
+       "rx_ampdu_bytes_cnt",
+       "rx_ampdu_valid_subframe_cnt",
+       "rx_ampdu_valid_subframe_b_cnt",
+       "rx_pfdrop_cnt",
+       "rx_vec_queue_overflow_drop_cnt",
+       "rx_ba_cnt",
+
        /* per vif counters */
        "v_tx_mode_cck",
        "v_tx_mode_ofdm",
@@ -1201,6 +1225,15 @@ void mt7915_get_et_stats(struct ieee80211_hw *hw,
        bool ext_phy = phy != &dev->phy;
        int i, n, ei = 0;
 
+       data[ei++] = mib->tx_ampdu_cnt;
+       data[ei++] = mib->tx_stop_q_empty_cnt;
+       data[ei++] = mib->tx_mpdu_attempts_cnt;
+       data[ei++] = mib->tx_mpdu_success_cnt;
+       data[ei++] = mib->tx_rwp_fail_cnt;
+       data[ei++] = mib->tx_rwp_need_cnt;
+       data[ei++] = mib->tx_pkt_ebf_cnt;
+       data[ei++] = mib->tx_pkt_ibf_cnt;
+
        /* Tx ampdu stat */
        n = ext_phy ? ARRAY_SIZE(dev->mt76.aggr_stats) / 2 : 0;
        for (i = 0; i < 15 /*ARRAY_SIZE(bound)*/; i++)
@@ -1236,6 +1269,21 @@ void mt7915_get_et_stats(struct ieee80211_hw *hw,
        for (i = 0; i < 8; i++)
                data[ei++] = mt76_rr(dev,  MT_PLE_AMSDU_PACK_MSDU_CNT(i));
 
+       /* rx counters */
+       data[ei++] = mib->rx_fifo_full_cnt;
+       data[ei++] = mib->rx_mpdu_cnt;
+       data[ei++] = mib->channel_idle_cnt;
+       data[ei++] = mib->rx_vector_mismatch_cnt;
+       data[ei++] = mib->rx_delimiter_fail_cnt;
+       data[ei++] = mib->rx_len_mismatch_cnt;
+       data[ei++] = mib->rx_ampdu_cnt;
+       data[ei++] = mib->rx_ampdu_bytes_cnt;
+       data[ei++] = mib->rx_ampdu_valid_subframe_cnt;
+       data[ei++] = mib->rx_ampdu_valid_subframe_bytes_cnt;
+       data[ei++] = mib->rx_pfdrop_cnt;
+       data[ei++] = mib->rx_vec_queue_overflow_drop_cnt;
+       data[ei++] = mib->rx_ba_cnt;
+
        /* Add values for all stations owned by this vif */
        wi.data = data;
        wi.mvif = mvif;