[rdkb][common][bsp][Refactor and sync wifi from openwrt]

[Description]
cc3c51c7 [MAC80211][wifi6][Release][Update MT7986 Firmware]
ea393925 [MAC80211[WiFi6/7]][hostapd][Avoid unnecessary beacon update]
6763be22 [MAC80211][wifi7][Misc][Sync Internal patches to External Release Folder]
d3ed9bc8 [mac80211][wifi7][mt76][Rebase WED patch due to Cheetah MT76 modifications]
2f4b03c3 [mac80211][wifi6][mt76][Bring-up hardware path for Cheetah MT76]
cb573d78 [MAC80211][WiFi7][app][Add ibf atenl support for eagle]
04fe6893 [mac80211][wifi6][mt76][Fix rebase errors]
c301e69a [MAC80211][WiFi7][mt76][Update Kite EEPROM bin files]
463b00fb [MAC80211][WiFi7][infra][Add slot1 for kite]
8774388d [MAC80211][WiFi7][misc][Prevent deadlock in a multiple AP+STA mode]
68d43fea [MAC80211][hostapd][show acs channels config]
5aca83c6 [MAC80211][hostapd][Prevent hostapd from setting beacon too frequently]
636da369 [MAC80211][wifi6/7][misc][use current epoch date]
9eb3456f [MAC80211][hostapd][refactor AP/STA CSA handling flow]
5543f3d8 [MAC80211][WiFi6][mt76][Refactor assignment of STA BSS group]
c5631fc2 [mac80211][mt76][wifi6][Add debugfs knob for RTS threshold]
6a92a2d4 [mac80211][wifi6][mt76][Bring-up software path for Cheetah MT76]
bf66c519 [MAC80211][netifd][Remove unnecessary netifd patch]
2f141c75 [mac80211][mt76][wifi6/7][Fix build failed]
cf30db1e [mac80211[hostapd][wifi7][Fix build fial]
dc391fc0 [MAC80211][wifi6][Release][Update MT7986 Firmware]
71a7b95a [MAC80211][WiFi7][mt76][Add kite fw & eeprom to eagle codebase]
5a7bd025 [MAC80211][WiFi6][misc][Add mt7981 default eeprom bin]
e40da697 [MAC80211][WED][Fix reinsert wifi module cause memory leak issue]
0a22f8f4 [MAC80211][WiFi7][misc][fix mt7988-mt7996-mac980211 release build fail]
25f3fe1c [[Eagle][SQC3.0][BE19000][MT7996][E2][MT7976_MT7977][256][ePA][MT7988A][WiFi] [MAP][SnS][Muti-client][UES]Traffic stuck in Agent2 with invalid tid 8 found]
f59b5dad [MAC80211][WiFi6][mt76][Add additional chain signal info in station dump for merlin]
fada400d [MAC80211][WiFi6/7][mt76][Add HT40- capab when enable ACS]
98e273af [MAC80211][WiFi6/7][app][Add SKU_EN & RSSI ATTR in atenl]
aaa8eb14 [MAC80211][WiFi6][mt76][Add rssi & sku_en in testmode]
eda14aac [MAC80211][core][Remove wrong assignment on the variable "changed" when changing beacon]
000329aa [MAC80211][netifd][Move netifd patch for wifi7 used only]
57bfe0c7 [MAC80211][WiFi6][misc][fix build fail due to mt76 upgration]
fa29bb39 [MAC80211][wifi6/7][mt76][update mt76 Makefile]
56f497ec [MAC80211][netifd][not to cache previous config to avoid wifi down failure]
be9abd4d [MAC80211][WiFi6][misc][fix build fail due to netifd]
af71e303 [MAC80211][WiFi6][mt76][Fix inconsistent BSS group setting of STA for VoW]
3e42972a [MAC80211][WiFi6][mt76][Fix txpower bbp CR]
81a68c03 [MAC80211][wifi7][hostapd][rebase internal hostapd patches]
336300b7 [MAC80211][WiFi6/7][hostapd][MAX 48 mbss 6G 连线概率连不上 ]
6bebc554 [MAC80211][wifi7][core][update for backports v6.5]
19daecfd [MAC80211][wifi7][ucode][Bandwidth Synchronization in AP/STA Mode]
ddf64afb [MAC80211][mt76][add debug log in SER flow]
44611a77 [mac80211][wifi6][mt76][Enhance debug log]

[Release-log]

Change-Id: Ibf5e835de5563fff4101a77e81056f696286670b
diff --git a/recipes-wifi/linux-mt76/files/patches-3.x/0013-wifi-mt76-mt7996-fix-mcu-command-format-to-align-fir.patch b/recipes-wifi/linux-mt76/files/patches-3.x/0013-wifi-mt76-mt7996-fix-mcu-command-format-to-align-fir.patch
new file mode 100644
index 0000000..5f85886
--- /dev/null
+++ b/recipes-wifi/linux-mt76/files/patches-3.x/0013-wifi-mt76-mt7996-fix-mcu-command-format-to-align-fir.patch
@@ -0,0 +1,154 @@
+From 8c79e229decdc24af9e95e6396699b3723f7efc4 Mon Sep 17 00:00:00 2001
+From: Peter Chiu <chui-hao.chiu@mediatek.com>
+Date: Fri, 7 Jul 2023 10:35:05 +0800
+Subject: [PATCH 13/98] wifi: mt76: mt7996: fix mcu command format to align
+ firmware
+
+Signed-off-by: Peter Chiu <chui-hao.chiu@mediatek.com>
+---
+ mt7996/mcu.c | 12 ++++-----
+ mt7996/mcu.h | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++--
+ 2 files changed, 75 insertions(+), 8 deletions(-)
+
+diff --git a/mt7996/mcu.c b/mt7996/mcu.c
+index 18c3f34..ee1915c 100644
+--- a/mt7996/mcu.c
++++ b/mt7996/mcu.c
+@@ -1684,8 +1684,8 @@ int mt7996_mcu_set_fixed_field(struct mt7996_dev *dev, struct ieee80211_vif *vif
+ {
+ 	struct mt7996_vif *mvif = (struct mt7996_vif *)vif->drv_priv;
+ 	struct mt7996_sta *msta = (struct mt7996_sta *)sta->drv_priv;
+-	struct sta_phy *phy = data;
+-	struct sta_rec_ra_fixed *ra;
++	struct sta_phy_uni *phy = data;
++	struct sta_rec_ra_fixed_uni *ra;
+ 	struct sk_buff *skb;
+ 	struct tlv *tlv;
+ 
+@@ -1696,7 +1696,7 @@ int mt7996_mcu_set_fixed_field(struct mt7996_dev *dev, struct ieee80211_vif *vif
+ 		return PTR_ERR(skb);
+ 
+ 	tlv = mt76_connac_mcu_add_tlv(skb, STA_REC_RA_UPDATE, sizeof(*ra));
+-	ra = (struct sta_rec_ra_fixed *)tlv;
++	ra = (struct sta_rec_ra_fixed_uni *)tlv;
+ 
+ 	switch (field) {
+ 	case RATE_PARAM_AUTO:
+@@ -1728,7 +1728,7 @@ mt7996_mcu_add_rate_ctrl_fixed(struct mt7996_dev *dev, struct ieee80211_vif *vif
+ 	struct cfg80211_chan_def *chandef = &mvif->phy->mt76->chandef;
+ 	struct cfg80211_bitrate_mask *mask = &mvif->bitrate_mask;
+ 	enum nl80211_band band = chandef->chan->band;
+-	struct sta_phy phy = {};
++	struct sta_phy_uni phy = {};
+ 	int ret, nrates = 0;
+ 
+ #define __sta_phy_bitrate_mask_check(_mcs, _gi, _ht, _he)			\
+@@ -1816,13 +1816,13 @@ mt7996_mcu_sta_rate_ctrl_tlv(struct sk_buff *skb, struct mt7996_dev *dev,
+ 	struct cfg80211_chan_def *chandef = &mphy->chandef;
+ 	struct cfg80211_bitrate_mask *mask = &mvif->bitrate_mask;
+ 	enum nl80211_band band = chandef->chan->band;
+-	struct sta_rec_ra *ra;
++	struct sta_rec_ra_uni *ra;
+ 	struct tlv *tlv;
+ 	u32 supp_rate = sta->deflink.supp_rates[band];
+ 	u32 cap = sta->wme ? STA_CAP_WMM : 0;
+ 
+ 	tlv = mt76_connac_mcu_add_tlv(skb, STA_REC_RA, sizeof(*ra));
+-	ra = (struct sta_rec_ra *)tlv;
++	ra = (struct sta_rec_ra_uni *)tlv;
+ 
+ 	ra->valid = true;
+ 	ra->auto_rate = true;
+diff --git a/mt7996/mcu.h b/mt7996/mcu.h
+index 78ecd75..05785cb 100644
+--- a/mt7996/mcu.h
++++ b/mt7996/mcu.h
+@@ -433,6 +433,73 @@ struct sta_rec_sec_uni {
+ 	struct sec_key_uni key[2];
+ } __packed;
+ 
++struct sta_phy_uni {
++	u8 type;
++	u8 flag;
++	u8 stbc;
++	u8 sgi;
++	u8 bw;
++	u8 ldpc;
++	u8 mcs;
++	u8 nss;
++	u8 he_ltf;
++	u8 rsv[3];
++};
++
++struct sta_rec_ra_uni {
++	__le16 tag;
++	__le16 len;
++
++	u8 valid;
++	u8 auto_rate;
++	u8 phy_mode;
++	u8 channel;
++	u8 bw;
++	u8 disable_cck;
++	u8 ht_mcs32;
++	u8 ht_gf;
++	u8 ht_mcs[4];
++	u8 mmps_mode;
++	u8 gband_256;
++	u8 af;
++	u8 auth_wapi_mode;
++	u8 rate_len;
++
++	u8 supp_mode;
++	u8 supp_cck_rate;
++	u8 supp_ofdm_rate;
++	__le32 supp_ht_mcs;
++	__le16 supp_vht_mcs[4];
++
++	u8 op_mode;
++	u8 op_vht_chan_width;
++	u8 op_vht_rx_nss;
++	u8 op_vht_rx_nss_type;
++
++	__le32 sta_cap;
++
++	struct sta_phy_uni phy;
++	u8 rx_rcpi[4];
++} __packed;
++
++struct sta_rec_ra_fixed_uni {
++	__le16 tag;
++	__le16 len;
++
++	__le32 field;
++	u8 op_mode;
++	u8 op_vht_chan_width;
++	u8 op_vht_rx_nss;
++	u8 op_vht_rx_nss_type;
++
++	struct sta_phy_uni phy;
++
++	u8 spe_idx;
++	u8 short_preamble;
++	u8 is_5g;
++	u8 mmps_mode;
++} __packed;
++
+ struct sta_rec_hdrt {
+ 	__le16 tag;
+ 	__le16 len;
+@@ -616,9 +683,9 @@ enum {
+ 					 sizeof(struct sta_rec_amsdu) +		\
+ 					 sizeof(struct sta_rec_bfee) +		\
+ 					 sizeof(struct sta_rec_phy) +		\
+-					 sizeof(struct sta_rec_ra) +		\
++					 sizeof(struct sta_rec_ra_uni) +	\
+ 					 sizeof(struct sta_rec_sec) +		\
+-					 sizeof(struct sta_rec_ra_fixed) +	\
++					 sizeof(struct sta_rec_ra_fixed_uni) +	\
+ 					 sizeof(struct sta_rec_he_6g_capa) +	\
+ 					 sizeof(struct sta_rec_eht) +		\
+ 					 sizeof(struct sta_rec_hdrt) +		\
+-- 
+2.18.0
+