blob: e2b475c202c82d081707d5a7d91d64e690817aa3 [file] [log] [blame]
developerd243af02023-12-21 14:49:33 +08001From f03b72e7cfdeb48938b76550f911533fa6241837 Mon Sep 17 00:00:00 2001
developerdfb50982023-09-11 13:34:36 +08002From: Peter Chiu <chui-hao.chiu@mediatek.com>
3Date: Wed, 6 Sep 2023 16:27:25 +0800
developerd243af02023-12-21 14:49:33 +08004Subject: [PATCH 06/76] wifi: mt76: disable HW AMSDU when using fixed rate
developerdfb50982023-09-11 13:34:36 +08005
6When using fixed rate, HW uses txd DW9 to store tx arrivial time if VTA
7is ture. It would overwrite the msdu_id in txd and lead to token pending
8if amsdu is enable.
9
10Signed-off-by: Peter Chiu <chui-hao.chiu@mediatek.com>
11---
12 mt76_connac_mac.c | 4 +++-
13 1 file changed, 3 insertions(+), 1 deletion(-)
14
15diff --git a/mt76_connac_mac.c b/mt76_connac_mac.c
developerd243af02023-12-21 14:49:33 +080016index c791464..630c640 100644
developerdfb50982023-09-11 13:34:36 +080017--- a/mt76_connac_mac.c
18+++ b/mt76_connac_mac.c
developerd243af02023-12-21 14:49:33 +080019@@ -544,7 +544,7 @@ void mt76_connac2_mac_write_txwi(struct mt76_dev *dev, __le32 *txwi,
developerdfb50982023-09-11 13:34:36 +080020 val = FIELD_PREP(MT_TXD5_PID, pid);
21 if (pid >= MT_PACKET_ID_FIRST) {
22 val |= MT_TXD5_TX_STATUS_HOST;
23- amsdu_en = amsdu_en && !is_mt7921(dev);
24+ amsdu_en = 0;
25 }
26
27 txwi[5] = cpu_to_le32(val);
developerd243af02023-12-21 14:49:33 +080028@@ -579,6 +579,8 @@ void mt76_connac2_mac_write_txwi(struct mt76_dev *dev, __le32 *txwi,
developerdfb50982023-09-11 13:34:36 +080029 spe_idx = 24 + phy_idx;
30 txwi[7] |= cpu_to_le32(FIELD_PREP(MT_TXD7_SPE_IDX, spe_idx));
31 }
32+
33+ txwi[7] &= ~cpu_to_le32(MT_TXD7_HW_AMSDU);
34 }
35 }
36 EXPORT_SYMBOL_GPL(mt76_connac2_mac_write_txwi);
37--
382.18.0
39