diff --git a/package/kernel/mac80211/patches/ath10k/200-wifi-ath10k-add-support-for-QAM-256-in-2.4GHz-802.11.patch b/package/kernel/mac80211/patches/ath10k/200-wifi-ath10k-add-support-for-QAM-256-in-2.4GHz-802.11.patch deleted file mode 100644 index fbb9b687414780..00000000000000 --- a/package/kernel/mac80211/patches/ath10k/200-wifi-ath10k-add-support-for-QAM-256-in-2.4GHz-802.11.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 7658e786e6de189f218ba7ed5d8db953cc6cf980 Mon Sep 17 00:00:00 2001 -From: Christian Marangi -Date: Wed, 14 Jun 2023 09:14:56 +0200 -Subject: [PATCH 3/4] wifi: ath10k: add support for QAM-256 in 2.4GHz 802.11n - -Ath10k supports non-standard QAM-256 in 2.4GHz in 802.11n. Permit for -supported client to benefits from these extra bandwidth by enabling -support for it. - -Signed-off-by: Christian Marangi ---- - drivers/net/wireless/ath/ath10k/mac.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c -index 9c4bf2fdbc0f..8d362ba351e6 100644 ---- a/drivers/net/wireless/ath/ath10k/mac.c -+++ b/drivers/net/wireless/ath/ath10k/mac.c -@@ -2749,9 +2749,9 @@ static void ath10k_peer_assoc_h_phymode(struct ath10k *ar, - if (sta->deflink.vht_cap.vht_supported && - !ath10k_peer_assoc_h_vht_masked(vht_mcs_mask)) { - if (sta->deflink.bandwidth == IEEE80211_STA_RX_BW_40) -- phymode = MODE_11AC_VHT40; -+ phymode = MODE_11AC_VHT40_2G; - else -- phymode = MODE_11AC_VHT20; -+ phymode = MODE_11AC_VHT20_2G; - } else if (sta->deflink.ht_cap.ht_supported && - !ath10k_peer_assoc_h_ht_masked(ht_mcs_mask)) { - if (sta->deflink.bandwidth == IEEE80211_STA_RX_BW_40) -@@ -4998,6 +4998,8 @@ static void ath10k_mac_setup_ht_vht_cap(struct ath10k *ar) - if (ar->phy_capability & WHAL_WLAN_11G_CAPABILITY) { - band = &ar->mac.sbands[NL80211_BAND_2GHZ]; - band->ht_cap = ht_cap; -+ band->vht_cap = vht_cap; -+ band->vht_cap.vendor_qam256_supported = true; - } - if (ar->phy_capability & WHAL_WLAN_11A_CAPABILITY) { - band = &ar->mac.sbands[NL80211_BAND_5GHZ]; --- -2.40.1 - diff --git a/package/kernel/mac80211/patches/ath11k/200-wifi-ath11k-add-support-for-QAM-256-in-2.4GHz-802.11.patch b/package/kernel/mac80211/patches/ath11k/200-wifi-ath11k-add-support-for-QAM-256-in-2.4GHz-802.11.patch deleted file mode 100644 index 451dd8282879a9..00000000000000 --- a/package/kernel/mac80211/patches/ath11k/200-wifi-ath11k-add-support-for-QAM-256-in-2.4GHz-802.11.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 462b0e7ce7cadef5c14bb16134e43573b169c9b5 Mon Sep 17 00:00:00 2001 -From: Christian Marangi -Date: Wed, 14 Jun 2023 09:44:29 +0200 -Subject: [PATCH 4/4] wifi: ath11k: add support for QAM-256 in 2.4GHz 802.11n - -Ath11k supports non-standard QAM-256 in 2.4GHz in 802.11n. Permit for -supported client to benefits from these extra bandwidth by enabling -support for it. - -Signed-off-by: Christian Marangi ---- - drivers/net/wireless/ath/ath11k/mac.c | 7 +++++-- - drivers/net/wireless/ath/ath11k/wmi.c | 2 ++ - 2 files changed, 7 insertions(+), 2 deletions(-) - -diff --git a/drivers/net/wireless/ath/ath11k/mac.c b/drivers/net/wireless/ath/ath11k/mac.c -index c947d1c8d8c1..1cadfdd50afc 100644 ---- a/drivers/net/wireless/ath/ath11k/mac.c -+++ b/drivers/net/wireless/ath/ath11k/mac.c -@@ -2773,9 +2773,9 @@ static void ath11k_peer_assoc_h_phymode(struct ath11k *ar, - } else if (sta->deflink.vht_cap.vht_supported && - !ath11k_peer_assoc_h_vht_masked(vht_mcs_mask)) { - if (sta->deflink.bandwidth == IEEE80211_STA_RX_BW_40) -- phymode = MODE_11AC_VHT40; -+ phymode = MODE_11AC_VHT40_2G; - else -- phymode = MODE_11AC_VHT20; -+ phymode = MODE_11AC_VHT20_2G; - } else if (sta->deflink.ht_cap.ht_supported && - !ath11k_peer_assoc_h_ht_masked(ht_mcs_mask)) { - if (sta->deflink.bandwidth == IEEE80211_STA_RX_BW_40) -@@ -5613,6 +5613,9 @@ static void ath11k_mac_setup_ht_vht_cap(struct ath11k *ar, - *ht_cap_info = ht_cap; - band->ht_cap = ath11k_create_ht_cap(ar, ht_cap, - rate_cap_rx_chainmask); -+ band->vht_cap = ath11k_create_vht_cap(ar, rate_cap_tx_chainmask, -+ rate_cap_rx_chainmask); -+ band->vht_cap.vendor_qam256_supported = true; - } - - if (cap->supported_bands & WMI_HOST_WLAN_5G_CAP && -diff --git a/drivers/net/wireless/ath/ath11k/wmi.c b/drivers/net/wireless/ath/ath11k/wmi.c -index 443199e85fa2..77054ed687d5 100644 ---- a/drivers/net/wireless/ath/ath11k/wmi.c -+++ b/drivers/net/wireless/ath/ath11k/wmi.c -@@ -406,6 +406,8 @@ ath11k_pull_mac_phy_cap_svc_ready_ext(struct ath11k_pdev_wmi *wmi_handle, - * handled. - */ - if (mac_phy_caps->supported_bands & WMI_HOST_WLAN_2G_CAP) { -+ pdev_cap->vht_cap = mac_phy_caps->vht_cap_info_2g; -+ pdev_cap->vht_mcs = mac_phy_caps->vht_supp_mcs_2g; - pdev_cap->tx_chain_mask = mac_phy_caps->tx_chain_mask_2g; - pdev_cap->rx_chain_mask = mac_phy_caps->rx_chain_mask_2g; - } --- -2.40.1 - diff --git a/package/kernel/mac80211/patches/subsys/200-mac80211-introduce-support-for-vendor-QAM-256-in-2.4.patch b/package/kernel/mac80211/patches/subsys/200-mac80211-introduce-support-for-vendor-QAM-256-in-2.4.patch deleted file mode 100644 index 79aa7c52f05303..00000000000000 --- a/package/kernel/mac80211/patches/subsys/200-mac80211-introduce-support-for-vendor-QAM-256-in-2.4.patch +++ /dev/null @@ -1,229 +0,0 @@ -From 35040d1f349f2346832ca1ebb408924dbefc1cfc Mon Sep 17 00:00:00 2001 -From: Christian Marangi -Date: Wed, 14 Jun 2023 07:15:48 +0200 -Subject: [PATCH 1/4] mac80211: introduce support for vendor QAM-256 in 2.4GHz - 802.11n - -Some vendor supports non-standard QAM-256 in 2.4GHz 802.11n mode. -The implementation works by comunicating vht capabilities to the client -in 2.4GHz 802.11n, the supported client will take this info and -benefits from the additional rates of it. - -Each driver needs to enable support for this by enabling the -vendor_qam256_supported in the 2G sband struct and add the required -capabilities for vht_cap. - -This feature is supported by various vendor with all kind of marketing -name, but all of them have in common the use of vht capabilities in -2.4GHz 802.11n. - -Signed-off-by: Christian Marangi ---- - include/net/cfg80211.h | 2 ++ - net/mac80211/mlme.c | 14 ++++++++---- - net/mac80211/util.c | 10 +++++--- - net/mac80211/vht.c | 52 +++++++++++++++++++++++++++--------------- - 4 files changed, 51 insertions(+), 27 deletions(-) - -Index: backports-6.6.15/include/net/cfg80211.h -=================================================================== ---- backports-6.6.15.orig/include/net/cfg80211.h -+++ backports-6.6.15/include/net/cfg80211.h -@@ -343,11 +343,13 @@ struct ieee80211_sta_ht_cap { - * to describe 802.11ac VHT capabilities for an STA. - * - * @vht_supported: is VHT supported by the STA -+ * @qam256_supported: is QAM256 supported by the STA - * @cap: VHT capabilities map as described in 802.11ac spec - * @vht_mcs: Supported VHT MCS rates - */ - struct ieee80211_sta_vht_cap { - bool vht_supported; -+ bool vendor_qam256_supported; - u32 cap; /* use IEEE80211_VHT_CAP_ */ - struct ieee80211_vht_mcs_info vht_mcs; - }; -Index: backports-6.6.15/net/mac80211/mlme.c -=================================================================== ---- backports-6.6.15.orig/net/mac80211/mlme.c -+++ backports-6.6.15/net/mac80211/mlme.c -@@ -4839,7 +4839,7 @@ static int ieee80211_prep_channel(struct - const struct cfg80211_bss_ies *ies; - int ret; - u32 i; -- bool have_80mhz; -+ bool can_vht; - - rcu_read_lock(); - -@@ -4989,18 +4989,22 @@ static int ieee80211_prep_channel(struct - } - - /* Allow VHT if at least one channel on the sband supports 80 MHz */ -- have_80mhz = false; -+ can_vht = false; - for (i = 0; i < sband->n_channels; i++) { - if (sband->channels[i].flags & (IEEE80211_CHAN_DISABLED | - IEEE80211_CHAN_NO_80MHZ)) - continue; - -- have_80mhz = true; -+ can_vht = true; - break; - } - -- if (!have_80mhz) { -- sdata_info(sdata, "80 MHz not supported, disabling VHT\n"); -+ /* Some Vendor supports non-standard QAM-256 on 2.4GHz 802.11n */ -+ if (sband->vht_cap.vendor_qam256_supported) -+ can_vht = true; -+ -+ if (!can_vht) { -+ sdata_info(sdata, "80 MHz or QAM-256 not supported, disabling VHT\n"); - *conn_flags |= IEEE80211_CONN_DISABLE_VHT; - } - -Index: backports-6.6.15/net/mac80211/util.c -=================================================================== ---- backports-6.6.15.orig/net/mac80211/util.c -+++ backports-6.6.15/net/mac80211/util.c -@@ -1944,7 +1944,7 @@ static int ieee80211_build_preq_ies_band - int ext_rates_len; - int shift; - u32 rate_flags; -- bool have_80mhz = false; -+ bool can_vht = false; - - *offset = 0; - -@@ -2082,11 +2082,15 @@ static int ieee80211_build_preq_ies_band - IEEE80211_CHAN_NO_80MHZ)) - continue; - -- have_80mhz = true; -+ can_vht = true; - break; - } - -- if (sband->vht_cap.vht_supported && have_80mhz) { -+ /* Some Vendor supports non-standard QAM-256 on 2.4GHz 802.11n */ -+ if (sband->vht_cap.vendor_qam256_supported) -+ can_vht = true; -+ -+ if (sband->vht_cap.vht_supported && can_vht) { - if (end - pos < 2 + sizeof(struct ieee80211_vht_cap)) - goto out_err; - pos = ieee80211_ie_build_vht_cap(pos, &sband->vht_cap, -Index: backports-6.6.15/net/mac80211/vht.c -=================================================================== ---- backports-6.6.15.orig/net/mac80211/vht.c -+++ backports-6.6.15/net/mac80211/vht.c -@@ -122,7 +122,7 @@ ieee80211_vht_cap_ie_to_sta_vht_cap(stru - struct ieee80211_sta_vht_cap *vht_cap = &link_sta->pub->vht_cap; - struct ieee80211_sta_vht_cap own_cap; - u32 cap_info, i; -- bool have_80mhz; -+ bool can_vht; - u32 mpdu_len; - - memset(vht_cap, 0, sizeof(*vht_cap)); -@@ -134,17 +134,21 @@ ieee80211_vht_cap_ie_to_sta_vht_cap(stru - return; - - /* Allow VHT if at least one channel on the sband supports 80 MHz */ -- have_80mhz = false; -+ can_vht = false; - for (i = 0; i < sband->n_channels; i++) { - if (sband->channels[i].flags & (IEEE80211_CHAN_DISABLED | - IEEE80211_CHAN_NO_80MHZ)) - continue; - -- have_80mhz = true; -+ can_vht = true; - break; - } - -- if (!have_80mhz) -+ /* Some Vendor supports non-standard QAM-256 on 2.4GHz 802.11n */ -+ if (sband->vht_cap.vendor_qam256_supported) -+ can_vht = true; -+ -+ if (!can_vht) - return; - - /* -@@ -358,16 +362,16 @@ ieee80211_sta_cap_rx_bw(struct link_sta_ - struct ieee80211_sta_vht_cap *vht_cap = &link_sta->pub->vht_cap; - struct ieee80211_sta_he_cap *he_cap = &link_sta->pub->he_cap; - struct ieee80211_sta_eht_cap *eht_cap = &link_sta->pub->eht_cap; -+ struct ieee80211_bss_conf *link_conf; -+ enum ieee80211_sta_rx_bandwidth ret; - u32 cap_width; - -+ rcu_read_lock(); -+ link_conf = rcu_dereference(sdata->vif.link_conf[link_id]); -+ - if (he_cap->has_he) { -- struct ieee80211_bss_conf *link_conf; -- enum ieee80211_sta_rx_bandwidth ret; - u8 info; - -- rcu_read_lock(); -- link_conf = rcu_dereference(sdata->vif.link_conf[link_id]); -- - if (eht_cap->has_eht && - link_conf->chandef.chan->band == NL80211_BAND_6GHZ) { - info = eht_cap->eht_cap_elem.phy_cap_info[0]; -@@ -395,32 +399,42 @@ ieee80211_sta_cap_rx_bw(struct link_sta_ - ret = IEEE80211_STA_RX_BW_80; - else - ret = IEEE80211_STA_RX_BW_20; --out: -- rcu_read_unlock(); - -- return ret; -+ goto out; - } - -- if (!vht_cap->vht_supported) -- return link_sta->pub->ht_cap.cap & IEEE80211_HT_CAP_SUP_WIDTH_20_40 ? -+ if (!vht_cap->vht_supported || -+ (link_conf->chandef.chan->band == NL80211_BAND_2GHZ && -+ vht_cap->vendor_qam256_supported)) { -+ ret = link_sta->pub->ht_cap.cap & IEEE80211_HT_CAP_SUP_WIDTH_20_40 ? - IEEE80211_STA_RX_BW_40 : - IEEE80211_STA_RX_BW_20; -+ goto out; -+ } - - cap_width = vht_cap->cap & IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_MASK; - - if (cap_width == IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160MHZ || -- cap_width == IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160_80PLUS80MHZ) -- return IEEE80211_STA_RX_BW_160; -+ cap_width == IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160_80PLUS80MHZ) { -+ ret = IEEE80211_STA_RX_BW_160; -+ goto out; -+ } - - /* - * If this is non-zero, then it does support 160 MHz after all, - * in one form or the other. We don't distinguish here (or even - * above) between 160 and 80+80 yet. - */ -- if (vht_cap->cap & IEEE80211_VHT_CAP_EXT_NSS_BW_MASK) -- return IEEE80211_STA_RX_BW_160; -+ if (vht_cap->cap & IEEE80211_VHT_CAP_EXT_NSS_BW_MASK) { -+ ret = IEEE80211_STA_RX_BW_160; -+ goto out; -+ } - -- return IEEE80211_STA_RX_BW_80; -+ ret = IEEE80211_STA_RX_BW_80; -+ -+out: -+ rcu_read_unlock(); -+ return ret; - } - - enum nl80211_chan_width diff --git a/package/kernel/mac80211/patches/subsys/201-mac80211-add-logic-to-skip-useless-VHT-cap-check-in-.patch b/package/kernel/mac80211/patches/subsys/201-mac80211-add-logic-to-skip-useless-VHT-cap-check-in-.patch deleted file mode 100644 index 4dbf801b7d6a8d..00000000000000 --- a/package/kernel/mac80211/patches/subsys/201-mac80211-add-logic-to-skip-useless-VHT-cap-check-in-.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 793bfa410bd16c273beb390818ab44886c680a22 Mon Sep 17 00:00:00 2001 -From: Christian Marangi -Date: Wed, 14 Jun 2023 10:20:31 +0200 -Subject: [PATCH 2/4] mac80211: add logic to skip useless VHT cap check in - ieee80211_sta_cap_rx_bw - -Add logic to skip useless VHT cap check in ieee80211_sta_cap_rx_bw in -the case where HT doesn't indicate support for 40MHz. - -If the STA doesn't indicate support for 40MHz then it doesn't make sense -to check additional support for 80MHz, 80+80MHz or 160MHz - -Signed-off-by: Christian Marangi ---- - net/mac80211/vht.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/net/mac80211/vht.c b/net/mac80211/vht.c -index 37f4673d4194..b57391a032c8 100644 ---- a/net/mac80211/vht.c -+++ b/net/mac80211/vht.c -@@ -400,6 +400,12 @@ ieee80211_sta_cap_rx_bw(struct link_sta_info *link_sta) - goto out; - } - -+ /* Skip checking VHT cap and set to 20MHz if HT cap doesn't indicate -+ * support for 40MHz. -+ */ -+ if (!(link_sta->pub->ht_cap.cap & IEEE80211_HT_CAP_SUP_WIDTH_20_40)) -+ return IEEE80211_STA_RX_BW_20; -+ - cap_width = vht_cap->cap & IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_MASK; - - if (cap_width == IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160MHZ || --- -2.40.1 - diff --git a/package/kernel/mt76/patches/001-allow-vht-on-2g.patch b/package/kernel/mt76/patches/001-allow-vht-on-2g.patch deleted file mode 100644 index 7aca8d8b95bd26..00000000000000 --- a/package/kernel/mt76/patches/001-allow-vht-on-2g.patch +++ /dev/null @@ -1,57 +0,0 @@ -From ed0b9c38becdbf9379787ca0b4db557f03a31dd7 Mon Sep 17 00:00:00 2001 -From: DENG Qingfang -Date: Mon, 23 Nov 2020 10:46:37 +0800 -Subject: [PATCH] mt76: allow VHT rate on 2.4GHz - -Allow chips that support 11ac to use 256QAM on 2.4GHz - -Signed-off-by: DENG Qingfang ---- - mac80211.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - ---- a/mac80211.c -+++ b/mac80211.c -@@ -293,7 +293,7 @@ static void mt76_init_stream_cap(struct - void mt76_set_stream_caps(struct mt76_phy *phy, bool vht) - { - if (phy->cap.has_2ghz) -- mt76_init_stream_cap(phy, &phy->sband_2g.sband, false); -+ mt76_init_stream_cap(phy, &phy->sband_2g.sband, vht); - if (phy->cap.has_5ghz) - mt76_init_stream_cap(phy, &phy->sband_5g.sband, vht); - if (phy->cap.has_6ghz) -@@ -360,13 +360,13 @@ mt76_init_sband(struct mt76_phy *phy, st - - static int - mt76_init_sband_2g(struct mt76_phy *phy, struct ieee80211_rate *rates, -- int n_rates) -+ int n_rates, bool vht) - { - phy->hw->wiphy->bands[NL80211_BAND_2GHZ] = &phy->sband_2g.sband; - - return mt76_init_sband(phy, &phy->sband_2g, mt76_channels_2ghz, - ARRAY_SIZE(mt76_channels_2ghz), rates, -- n_rates, true, false); -+ n_rates, true, vht); - } - - static int -@@ -523,7 +523,7 @@ int mt76_register_phy(struct mt76_phy *p - return ret; - - if (phy->cap.has_2ghz) { -- ret = mt76_init_sband_2g(phy, rates, n_rates); -+ ret = mt76_init_sband_2g(phy, rates, n_rates, vht); - if (ret) - return ret; - } -@@ -709,7 +709,7 @@ int mt76_register_device(struct mt76_dev - return ret; - - if (phy->cap.has_2ghz) { -- ret = mt76_init_sband_2g(phy, rates, n_rates); -+ ret = mt76_init_sband_2g(phy, rates, n_rates, vht); - if (ret) - return ret; - } diff --git a/package/kernel/mt76/patches/002-mt7615-add-256-QAM-support-in-2.4GHz.patch b/package/kernel/mt76/patches/002-mt7615-add-256-QAM-support-in-2.4GHz.patch deleted file mode 100644 index fc0a469dfcebe7..00000000000000 --- a/package/kernel/mt76/patches/002-mt7615-add-256-QAM-support-in-2.4GHz.patch +++ /dev/null @@ -1,21 +0,0 @@ -From 8c4d538ed24e26b23c6c6d99be091c75770b38c2 Mon Sep 17 00:00:00 2001 -From: rany -Date: Fri, 12 May 2023 19:49:38 +0300 -Subject: [PATCH] wifi: mt76: mt7615: add 256-QAM support in 2.4GHz - -Signed-off-by: rany ---- - mt7615/init.c | 2 ++ - 1 file changed, 2 insertions(+) - ---- a/mt7615/init.c -+++ b/mt7615/init.c -@@ -409,6 +409,8 @@ mt7615_init_wiphy(struct ieee80211_hw *h - hw->max_tx_fragments = MT_HW_TXP_MAX_BUF_NUM; - - phy->mt76->sband_2g.sband.ht_cap.cap |= IEEE80211_HT_CAP_LDPC_CODING; -+ phy->mt76->sband_2g.sband.vht_cap.cap |= -+ IEEE80211_VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_MASK; - phy->mt76->sband_5g.sband.ht_cap.cap |= IEEE80211_HT_CAP_LDPC_CODING; - phy->mt76->sband_5g.sband.vht_cap.cap |= - IEEE80211_VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_MASK; diff --git a/package/kernel/mt76/patches/003-mt7915-add-256-QAM-support-in-2.4Ghz.patch b/package/kernel/mt76/patches/003-mt7915-add-256-QAM-support-in-2.4Ghz.patch deleted file mode 100644 index b189a74f967fa8..00000000000000 --- a/package/kernel/mt76/patches/003-mt7915-add-256-QAM-support-in-2.4Ghz.patch +++ /dev/null @@ -1,40 +0,0 @@ -From c555acfa7a1830b9718f97a58aa6fbf68112da1e Mon Sep 17 00:00:00 2001 -From: rany -Date: Fri, 12 May 2023 20:01:24 +0300 -Subject: [PATCH] wifi: mt76: mt7915: add 256-QAM support in 2.4Ghz - -Signed-off-by: rany ---- - mt7915/init.c | 13 +++++++++++++ - 1 file changed, 13 insertions(+) - ---- a/mt7915/init.c -+++ b/mt7915/init.c -@@ -404,15 +404,25 @@ mt7915_init_wiphy(struct mt7915_phy *phy - wiphy->txq_memory_limit = 32 << 20; /* 32 MiB */ - - if (phy->mt76->cap.has_2ghz) { -+ struct ieee80211_sta_vht_cap *vht_cap; -+ -+ vht_cap = &phy->mt76->sband_2g.sband.vht_cap; - phy->mt76->sband_2g.sband.ht_cap.cap |= - IEEE80211_HT_CAP_LDPC_CODING | - IEEE80211_HT_CAP_MAX_AMSDU; -- if (is_mt7915(&dev->mt76)) -+ if (is_mt7915(&dev->mt76)) { - phy->mt76->sband_2g.sband.ht_cap.ampdu_density = - IEEE80211_HT_MPDU_DENSITY_4; -- else -+ vht_cap->cap |= -+ IEEE80211_VHT_CAP_MAX_MPDU_LENGTH_7991 | -+ IEEE80211_VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_MASK; -+ } else { - phy->mt76->sband_2g.sband.ht_cap.ampdu_density = - IEEE80211_HT_MPDU_DENSITY_2; -+ vht_cap->cap |= -+ IEEE80211_VHT_CAP_MAX_MPDU_LENGTH_11454 | -+ IEEE80211_VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_MASK; -+ } - } - - if (phy->mt76->cap.has_5ghz) { diff --git a/package/kernel/mt76/patches/004-mt7921-add-256-QAM-support-in-2.4Ghz.patch b/package/kernel/mt76/patches/004-mt7921-add-256-QAM-support-in-2.4Ghz.patch deleted file mode 100644 index 4bd1d29e80ac04..00000000000000 --- a/package/kernel/mt76/patches/004-mt7921-add-256-QAM-support-in-2.4Ghz.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 1da209df5742c2d4d4fd8f98b1925f1b0d565dce Mon Sep 17 00:00:00 2001 -From: rany -Date: Fri, 12 May 2023 20:03:41 +0300 -Subject: [PATCH] wifi: mt76: mt7921: add 256-QAM support in 2.4Ghz - -Signed-off-by: rany ---- - mt7921/init.c | 6 ++++++ - 1 file changed, 6 insertions(+) - ---- a/mt7921/init.c -+++ b/mt7921/init.c -@@ -317,6 +317,12 @@ int mt7921_register_device(struct mt792x - dev->mphy.sband_5g.sband.ht_cap.cap |= - IEEE80211_HT_CAP_LDPC_CODING | - IEEE80211_HT_CAP_MAX_AMSDU; -+ dev->mphy.sband_2g.sband.vht_cap.cap |= -+ IEEE80211_VHT_CAP_MAX_MPDU_LENGTH_11454 | -+ IEEE80211_VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_MASK | -+ IEEE80211_VHT_CAP_SU_BEAMFORMEE_CAPABLE | -+ IEEE80211_VHT_CAP_MU_BEAMFORMEE_CAPABLE | -+ (3 << IEEE80211_VHT_CAP_BEAMFORMEE_STS_SHIFT); - dev->mphy.sband_5g.sband.vht_cap.cap |= - IEEE80211_VHT_CAP_MAX_MPDU_LENGTH_11454 | - IEEE80211_VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_MASK | diff --git a/package/kernel/mt76/patches/005-mt7996-add-256-QAM-support-in-2.4Ghz.patch b/package/kernel/mt76/patches/005-mt7996-add-256-QAM-support-in-2.4Ghz.patch deleted file mode 100644 index 5423a9781bc3b8..00000000000000 --- a/package/kernel/mt76/patches/005-mt7996-add-256-QAM-support-in-2.4Ghz.patch +++ /dev/null @@ -1,23 +0,0 @@ -From c48ae4cf191d49d8a9ae2dcebda2e77bc19ce033 Mon Sep 17 00:00:00 2001 -From: rany -Date: Fri, 12 May 2023 20:04:23 +0300 -Subject: [PATCH] wifi: mt76: mt7996: add 256-QAM support in 2.4Ghz - -Signed-off-by: rany ---- - mt7996/init.c | 4 ++++ - 1 file changed, 4 insertions(+) - ---- a/mt7996/init.c -+++ b/mt7996/init.c -@@ -406,6 +406,10 @@ mt7996_init_wiphy(struct ieee80211_hw *h - phy->mt76->sband_2g.sband.ht_cap.cap |= - IEEE80211_HT_CAP_LDPC_CODING | - IEEE80211_HT_CAP_MAX_AMSDU; -+ -+ phy->mt76->sband_2g.sband.vht_cap.cap |= -+ IEEE80211_VHT_CAP_MAX_MPDU_LENGTH_11454 | -+ IEEE80211_VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_MASK; - phy->mt76->sband_2g.sband.ht_cap.ampdu_density = - IEEE80211_HT_MPDU_DENSITY_2; - } diff --git a/package/kernel/mt76/patches/006-Set-the-vendor_qam256_supported-flag-when-initializing-2g.patch b/package/kernel/mt76/patches/006-Set-the-vendor_qam256_supported-flag-when-initializing-2g.patch deleted file mode 100644 index 1cecfb1fd8fe47..00000000000000 --- a/package/kernel/mt76/patches/006-Set-the-vendor_qam256_supported-flag-when-initializing-2g.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 4f0670343704f41b68378164092e31c7d2dd6207 Mon Sep 17 00:00:00 2001 -From: Rani Hod -Date: Thu, 15 Jun 2023 15:44:32 +0300 -Subject: [PATCH 6/6] Set the vendor_qam256_supported flag when initializing 2g - bands. - -Signed-off-by: Rani Hod ---- - mac80211.c | 11 ++++++++++- - 1 file changed, 10 insertions(+), 1 deletion(-) - ---- a/mac80211.c -+++ b/mac80211.c -@@ -362,11 +362,20 @@ static int - mt76_init_sband_2g(struct mt76_phy *phy, struct ieee80211_rate *rates, - int n_rates, bool vht) - { -+ int ret; -+ - phy->hw->wiphy->bands[NL80211_BAND_2GHZ] = &phy->sband_2g.sband; - -- return mt76_init_sband(phy, &phy->sband_2g, mt76_channels_2ghz, -+ ret = mt76_init_sband(phy, &phy->sband_2g, mt76_channels_2ghz, - ARRAY_SIZE(mt76_channels_2ghz), rates, - n_rates, true, vht); -+ -+ if (ret) -+ return ret; -+ -+ phy->sband_2g.sband.vht_cap.vendor_qam256_supported = true; -+ -+ return 0; - } - - static int