blob: f8e72393795ddb235f1560b6096cbf675c4e9284 [file] [log] [blame]
developer1f55fcf2024-10-17 14:52:33 +08001From 634fcdf1df68bdcd81f659db237e64703c246a9a 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
developer1f55fcf2024-10-17 14:52:33 +08004Subject: [PATCH 053/193] mtk: mt76: mt7996: reset addr_elem when delete ba
developer66e89bc2024-04-23 14:50:01 +08005
6The old addr element info may be used when the signature is not equel to
70xff, and sta will find error SDP cause the SDP/SDL=0 issue.
8
developer66e89bc2024-04-23 14:50:01 +080091. without this patch will delete wrong session id when delete ba.
10Due to fw change the cmd format.
11https://gerrit.mediatek.inc/c/neptune/firmware/bora/wifi/custom/+/7969193
12
developerd0c89452024-10-11 16:53:27 +080013Change-Id: I12fb27e28b2c0310f824e66af6103b4ceba3503e
14Change-Id: I456a5d3eb2320a2c40cf57247ba63083a6d50b2e
developer66e89bc2024-04-23 14:50:01 +080015Signed-off-by: mtk27745 <rex.lu@mediatek.com>
developer05f3b2b2024-08-19 19:17:34 +080016Signed-off-by: sujuan.chen <sujuan.chen@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
developer1f55fcf2024-10-17 14:52:33 +080023index 260e198..2798f9e 100644
developer66e89bc2024-04-23 14:50:01 +080024--- a/mt76.h
25+++ b/mt76.h
developerd0c89452024-10-11 16:53:27 +080026@@ -453,6 +453,7 @@ struct mt76_rx_tid {
developer66e89bc2024-04-23 14:50:01 +080027 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
developer1f55fcf2024-10-17 14:52:33 +080035index 23db3b3..7077a66 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--
developerd0c89452024-10-11 16:53:27 +0800922.45.2
developer66e89bc2024-04-23 14:50:01 +080093