mt76: mt7915: set VTA bit in tx descriptor
authorShayne Chen <shayne.chen@mediatek.com>
Mon, 18 Oct 2021 08:07:05 +0000 (16:07 +0800)
committerFelix Fietkau <nbd@nbd.name>
Wed, 20 Oct 2021 08:36:53 +0000 (10:36 +0200)
The VTA (Valid for Txd Arrival time) bit should be set in tx descriptor,
which is necessary for WM fw to schedule SPL (station priority list)
normally before generating txcmd.
If it's not set, some unexpected wcids may be involved in SPL.

Suggested-by: Nelson Chang <nelson.chang@mediatek.com>
Signed-off-by: Shayne Chen <shayne.chen@mediatek.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7915/mac.c

index b992fdd338e2c17b532ea81957dc98af6fd0b16d..d3d220f2f49361ac51281824aa4dfc1c297b4e0a 100644 (file)
@@ -1068,7 +1068,7 @@ void mt7915_mac_write_txwi(struct mt7915_dev *dev, __le32 *txwi,
              FIELD_PREP(MT_TXD0_Q_IDX, q_idx);
        txwi[0] = cpu_to_le32(val);
 
-       val = MT_TXD1_LONG_FORMAT |
+       val = MT_TXD1_LONG_FORMAT | MT_TXD1_VTA |
              FIELD_PREP(MT_TXD1_WLAN_IDX, wcid->idx) |
              FIELD_PREP(MT_TXD1_OWN_MAC, omac_idx);