blob: 96dff485d4fe96a9c7d2325bc2b9fd3cbf21a7ab [file] [log] [blame]
developer9237f442024-06-14 17:13:04 +08001From 7328175da3d5b1a42c26d1f7fd34fe6c278d22ca Mon Sep 17 00:00:00 2001
developer66e89bc2024-04-23 14:50:01 +08002From: "sujuan.chen" <sujuan.chen@mediatek.com>
3Date: Thu, 18 May 2023 15:01:47 +0800
developer9237f442024-06-14 17:13:04 +08004Subject: [PATCH 060/116] mtk: wifi: mt76: mt7996: reset addr_elem when delete
developer66e89bc2024-04-23 14:50:01 +08005 ba
6
7The old addr element info may be used when the signature is not equel to
80xff, and sta will find error SDP cause the SDP/SDL=0 issue.
9
10Signed-off-by: sujuan.chen <sujuan.chen@mediatek.com>
developer66e89bc2024-04-23 14:50:01 +080011
121. without this patch will delete wrong session id when delete ba.
13Due to fw change the cmd format.
14https://gerrit.mediatek.inc/c/neptune/firmware/bora/wifi/custom/+/7969193
15
16Signed-off-by: mtk27745 <rex.lu@mediatek.com>
developer66e89bc2024-04-23 14:50:01 +080017---
18 mt76.h | 1 +
19 mt7996/mcu.h | 46 ++++++++++++++++++++++++++++++++++++++++++++++
20 2 files changed, 47 insertions(+)
21
22diff --git a/mt76.h b/mt76.h
developer9237f442024-06-14 17:13:04 +080023index 2ad5a3f..37ef803 100644
developer66e89bc2024-04-23 14:50:01 +080024--- a/mt76.h
25+++ b/mt76.h
26@@ -444,6 +444,7 @@ struct mt76_rx_tid {
27 u16 nframes;
28
29 u8 num;
30+ u16 session_id;
31
32 u8 started:1, stopped:1, timer_pending:1;
33
34diff --git a/mt7996/mcu.h b/mt7996/mcu.h
developer9237f442024-06-14 17:13:04 +080035index ca78cd5..3c4ff7a 100644
developer66e89bc2024-04-23 14:50:01 +080036--- a/mt7996/mcu.h
37+++ b/mt7996/mcu.h
38@@ -298,6 +298,52 @@ struct mt7996_mcu_thermal_notify {
39 u8 __rsv2[4];
40 } __packed;
41
42+struct mt7996_mcu_rro_event {
43+ struct mt7996_mcu_rxd rxd;
44+
45+ u8 __rsv1[4];
46+
47+ __le16 tag;
48+ __le16 len;
49+} __packed;
50+
51+struct mt7996_mcu_rro_ba {
52+ __le16 tag;
53+ __le16 len;
54+
55+ __le16 wlan_id;
56+ u8 tid;
57+ u8 __rsv1;
58+ __le32 status;
59+ __le16 session_id;
60+ u8 __rsv2[2];
61+} __packed;
62+
63+struct mt7996_mcu_rro_ba_del_chk_done {
64+ __le16 tag;
65+ __le16 len;
66+
67+ __le16 session_id;
68+ __le16 mld_id;
69+ u8 tid;
70+ u8 __rsv[3];
71+} __packed;
72+
73+enum {
74+ UNI_RRO_BA_SESSION_STATUS = 0,
75+ UNI_RRO_BA_SESSION_TBL = 1,
76+ UNI_RRO_BA_SESSION_DEL_CHK_DONE = 2,
77+ UNI_RRO_BA_SESSION_MAX_NUM
78+};
79+
80+struct mt7996_mcu_rro_del_ba {
81+ struct mt7996_mcu_rro_event event;
82+
83+ u8 wlan_idx;
84+ u8 tid;
85+ u8 __rsv2[2];
86+};
87+
88 enum mt7996_chan_mib_offs {
89 UNI_MIB_OBSS_AIRTIME = 26,
90 UNI_MIB_NON_WIFI_TIME = 27,
91--
developer9237f442024-06-14 17:13:04 +0800922.18.0
developer66e89bc2024-04-23 14:50:01 +080093