blob: 39a7cdf4a6f937383cb7a84c5c551220d23edb27 [file] [log] [blame]
From 517ac9b79c668a68109f1c3d861a6506dd59b3c7 Mon Sep 17 00:00:00 2001
From: Yi-Chia Hsieh <yi-chia.hsieh@mediatek.com>
Date: Fri, 23 Jun 2023 06:06:21 +0800
Subject: [PATCH 1031/1051] wifi: mt76: mt7915: report tx and rx byte to
tpt_led when wed is enabled
Signed-off-by: Yi-Chia Hsieh <yi-chia.hsieh@mediatek.com>
---
mt76_connac_mac.c | 10 ++++++----
mt7915/mmio.c | 5 +++++
2 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/mt76_connac_mac.c b/mt76_connac_mac.c
index 630c6402..949df63f 100644
--- a/mt76_connac_mac.c
+++ b/mt76_connac_mac.c
@@ -597,9 +597,15 @@ bool mt76_connac2_mac_fill_txs(struct mt76_dev *dev, struct mt76_wcid *wcid,
txs = le32_to_cpu(txs_data[0]);
+ mphy = mt76_dev_phy(dev, wcid->phy_idx);
+
/* PPDU based reporting */
if (mtk_wed_device_active(&dev->mmio.wed) &&
FIELD_GET(MT_TXS0_TXS_FORMAT, txs) > 1) {
+ ieee80211_tpt_led_trig_tx(mphy->hw,
+ le32_get_bits(txs_data[5], MT_TXS5_MPDU_TX_BYTE) -
+ le32_get_bits(txs_data[7], MT_TXS7_MPDU_RETRY_BYTE));
+
stats->tx_bytes +=
le32_get_bits(txs_data[5], MT_TXS5_MPDU_TX_BYTE) -
le32_get_bits(txs_data[7], MT_TXS7_MPDU_RETRY_BYTE);
@@ -640,10 +646,6 @@ bool mt76_connac2_mac_fill_txs(struct mt76_dev *dev, struct mt76_wcid *wcid,
cck = true;
fallthrough;
case MT_PHY_TYPE_OFDM:
- mphy = &dev->phy;
- if (wcid->phy_idx == MT_BAND1 && dev->phys[MT_BAND1])
- mphy = dev->phys[MT_BAND1];
-
if (mphy->chandef.chan->band == NL80211_BAND_5GHZ)
sband = &mphy->sband_5g.sband;
else if (mphy->chandef.chan->band == NL80211_BAND_6GHZ)
diff --git a/mt7915/mmio.c b/mt7915/mmio.c
index ddf1b72a..437a9b0e 100644
--- a/mt7915/mmio.c
+++ b/mt7915/mmio.c
@@ -588,6 +588,7 @@ static void mt7915_mmio_wed_update_rx_stats(struct mtk_wed_device *wed,
int idx = le16_to_cpu(stats->wlan_idx);
struct mt7915_dev *dev;
struct mt76_wcid *wcid;
+ struct mt76_phy *mphy;
dev = container_of(wed, struct mt7915_dev, mt76.mmio.wed);
@@ -598,6 +599,10 @@ static void mt7915_mmio_wed_update_rx_stats(struct mtk_wed_device *wed,
wcid = rcu_dereference(dev->mt76.wcid[idx]);
if (wcid) {
+ mphy = mt76_dev_phy(&dev->mt76, wcid->phy_idx);
+ ieee80211_tpt_led_trig_rx(mphy->hw,
+ le32_to_cpu(stats->rx_byte_cnt));
+
wcid->stats.rx_bytes += le32_to_cpu(stats->rx_byte_cnt);
wcid->stats.rx_packets += le32_to_cpu(stats->rx_pkt_cnt);
wcid->stats.rx_errors += le32_to_cpu(stats->rx_err_cnt);
--
2.18.0