[PATCH wireless v2] wifi: mt76: mt7915: set AMSDU parameters for WED v3
From: Joshua Klinesmith
Date: Mon Apr 06 2026 - 20:20:25 EST
On MT7988 (WED version 3), the WED hardware unconditionally
enables the AMSDU aggregation engine. The engine uses
wlan.amsdu_max_subframes and wlan.amsdu_max_len to configure
aggregation limits. The mt7996 driver sets these to 8 and 1536
respectively, but the mt7915 driver never sets them, leaving
both at zero.
With the AMSDU engine active and zero-valued limits, the TX
path is severely throttled, capping throughput at approximately
6 Mbps on MT7916 PCIe cards attached to MT7988 SoCs.
Set amsdu_max_subframes and amsdu_max_len to the same values
used by the mt7996 driver.
Signed-off-by: Joshua Klinesmith <joshuaklinesmith@xxxxxxxxx>
---
drivers/net/wireless/mediatek/mt76/mt7915/mmio.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/net/wireless/mediatek/mt76/mt7915/mmio.c b/drivers/net/wireless/mediatek/mt76/mt7915/mmio.c
index 2708b1556f..f5fa81d3b2 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7915/mmio.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7915/mmio.c
@@ -719,6 +719,9 @@ int mt7915_mmio_wed_init(struct mt7915_dev *dev, void *pdev_ptr,
wed->wlan.reset = mt7915_mmio_wed_reset;
wed->wlan.reset_complete = mt76_wed_reset_complete;
+ wed->wlan.amsdu_max_subframes = 8;
+ wed->wlan.amsdu_max_len = 1536;
+
dev->mt76.rx_token_size = wed->wlan.rx_npkt;
if (mtk_wed_device_attach(wed))
base-commit: 6cb103122c802fbfc82d1e53cf78667bfc52eb9e
--
2.43.0