wifi: mt76: mt7996: revise TXS size
[ Upstream commit 593c829b4326f7b3b15a69e97c9044ecbad3c319 ] Size of MPDU/PPDU TXS is 12 DWs. In mt7996/mt7992, last 4 DWs are reserved, so TXS size was mistakenly considered to be 8 DWs. However, in mt7990, 9th DW of TXS starts to be used. Signed-off-by: Benjamin Lin <benjamin-jw.lin@mediatek.com> Link: https://patch.msgid.link/20250311103646.43346-1-nbd@nbd.name Signed-off-by: Felix Fietkau <nbd@nbd.name> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
d9776ce173
commit
1752ceaa72
@@ -280,6 +280,9 @@ enum tx_mgnt_type {
|
||||
#define MT_TXFREE_INFO_COUNT GENMASK(27, 24)
|
||||
#define MT_TXFREE_INFO_STAT GENMASK(29, 28)
|
||||
|
||||
#define MT_TXS_HDR_SIZE 4 /* Unit: DW */
|
||||
#define MT_TXS_SIZE 12 /* Unit: DW */
|
||||
|
||||
#define MT_TXS0_BW GENMASK(31, 29)
|
||||
#define MT_TXS0_TID GENMASK(28, 26)
|
||||
#define MT_TXS0_AMPDU BIT(25)
|
||||
|
@@ -1354,7 +1354,7 @@ bool mt7996_rx_check(struct mt76_dev *mdev, void *data, int len)
|
||||
mt7996_mac_tx_free(dev, data, len);
|
||||
return false;
|
||||
case PKT_TYPE_TXS:
|
||||
for (rxd += 4; rxd + 8 <= end; rxd += 8)
|
||||
for (rxd += MT_TXS_HDR_SIZE; rxd + MT_TXS_SIZE <= end; rxd += MT_TXS_SIZE)
|
||||
mt7996_mac_add_txs(dev, rxd);
|
||||
return false;
|
||||
case PKT_TYPE_RX_FW_MONITOR:
|
||||
@@ -1391,7 +1391,7 @@ void mt7996_queue_rx_skb(struct mt76_dev *mdev, enum mt76_rxq_id q,
|
||||
mt7996_mcu_rx_event(dev, skb);
|
||||
break;
|
||||
case PKT_TYPE_TXS:
|
||||
for (rxd += 4; rxd + 8 <= end; rxd += 8)
|
||||
for (rxd += MT_TXS_HDR_SIZE; rxd + MT_TXS_SIZE <= end; rxd += MT_TXS_SIZE)
|
||||
mt7996_mac_add_txs(dev, rxd);
|
||||
dev_kfree_skb(skb);
|
||||
break;
|
||||
|
Reference in New Issue
Block a user