aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mt76/patches/101-wireless-align-some-HE-capabilities-with-the-spec.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/kernel/mt76/patches/101-wireless-align-some-HE-capabilities-with-the-spec.patch')
-rw-r--r--package/kernel/mt76/patches/101-wireless-align-some-HE-capabilities-with-the-spec.patch70
1 files changed, 70 insertions, 0 deletions
diff --git a/package/kernel/mt76/patches/101-wireless-align-some-HE-capabilities-with-the-spec.patch b/package/kernel/mt76/patches/101-wireless-align-some-HE-capabilities-with-the-spec.patch
new file mode 100644
index 0000000000..52a5225eaa
--- /dev/null
+++ b/package/kernel/mt76/patches/101-wireless-align-some-HE-capabilities-with-the-spec.patch
@@ -0,0 +1,70 @@
+From: Johannes Berg <johannes.berg@intel.com>
+Date: Fri, 9 Apr 2021 12:40:17 +0300
+Subject: [PATCH] wireless: align some HE capabilities with the spec
+
+Some names were changed, align that with the spec as of
+802.11ax-D6.1.
+
+Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
+Link: https://lore.kernel.org/r/iwlwifi.20210409123755.b1e5fbab0d8c.I3eb6076cb0714ec6aec6b8f9dee613ce4a05d825@changeid
+Signed-off-by: Johannes Berg <johannes.berg@intel.com>
+---
+
+--- a/mt7915/init.c
++++ b/mt7915/init.c
+@@ -646,8 +646,8 @@ mt7915_set_stream_he_txbf_caps(struct ie
+ IEEE80211_HE_PHY_CAP5_BEAMFORMEE_NUM_SND_DIM_ABOVE_80MHZ_MASK;
+ elem->phy_cap_info[5] &= ~c;
+
+- c = IEEE80211_HE_PHY_CAP6_TRIG_SU_BEAMFORMER_FB |
+- IEEE80211_HE_PHY_CAP6_TRIG_MU_BEAMFORMER_FB;
++ c = IEEE80211_HE_PHY_CAP6_TRIG_SU_BEAMFORMING_FB |
++ IEEE80211_HE_PHY_CAP6_TRIG_MU_BEAMFORMING_PARTIAL_BW_FB;
+ elem->phy_cap_info[6] &= ~c;
+
+ elem->phy_cap_info[7] &= ~IEEE80211_HE_PHY_CAP7_MAX_NC_MASK;
+@@ -687,8 +687,8 @@ mt7915_set_stream_he_txbf_caps(struct ie
+ c = (nss - 1) | (max_t(int, le16_to_cpu(mcs->tx_mcs_160), 1) << 3);
+ elem->phy_cap_info[5] |= c;
+
+- c = IEEE80211_HE_PHY_CAP6_TRIG_SU_BEAMFORMER_FB |
+- IEEE80211_HE_PHY_CAP6_TRIG_MU_BEAMFORMER_FB;
++ c = IEEE80211_HE_PHY_CAP6_TRIG_SU_BEAMFORMING_FB |
++ IEEE80211_HE_PHY_CAP6_TRIG_MU_BEAMFORMING_PARTIAL_BW_FB;
+ elem->phy_cap_info[6] |= c;
+ }
+
+@@ -816,7 +816,7 @@ mt7915_init_he_caps(struct mt7915_phy *p
+ IEEE80211_HE_PHY_CAP6_PARTIAL_BW_EXT_RANGE |
+ IEEE80211_HE_PHY_CAP6_PPE_THRESHOLD_PRESENT;
+ he_cap_elem->phy_cap_info[7] |=
+- IEEE80211_HE_PHY_CAP7_POWER_BOOST_FACTOR_AR |
++ IEEE80211_HE_PHY_CAP7_POWER_BOOST_FACTOR_SUPP |
+ IEEE80211_HE_PHY_CAP7_HE_SU_MU_PPDU_4XLTF_AND_08_US_GI;
+ he_cap_elem->phy_cap_info[8] |=
+ IEEE80211_HE_PHY_CAP8_20MHZ_IN_40MHZ_HE_PPDU_IN_2G |
+--- a/mt7915/mcu.c
++++ b/mt7915/mcu.c
+@@ -1842,9 +1842,9 @@ mt7915_mcu_sta_bfer_he(struct ieee80211_
+
+ bf->tx_mode = MT_PHY_TYPE_HE_SU;
+ mt7915_mcu_sta_sounding_rate(bf);
+- bf->trigger_su = HE_PHY(CAP6_TRIG_SU_BEAMFORMER_FB,
++ bf->trigger_su = HE_PHY(CAP6_TRIG_SU_BEAMFORMING_FB,
+ pe->phy_cap_info[6]);
+- bf->trigger_mu = HE_PHY(CAP6_TRIG_MU_BEAMFORMER_FB,
++ bf->trigger_mu = HE_PHY(CAP6_TRIG_MU_BEAMFORMING_PARTIAL_BW_FB,
+ pe->phy_cap_info[6]);
+ bfer_nr = HE_PHY(CAP5_BEAMFORMEE_NUM_SND_DIM_UNDER_80MHZ_MASK,
+ ve->phy_cap_info[5]);
+--- a/mt7921/main.c
++++ b/mt7921/main.c
+@@ -116,7 +116,7 @@ mt7921_init_he_caps(struct mt7921_phy *p
+ IEEE80211_HE_PHY_CAP6_PARTIAL_BW_EXT_RANGE |
+ IEEE80211_HE_PHY_CAP6_PPE_THRESHOLD_PRESENT;
+ he_cap_elem->phy_cap_info[7] |=
+- IEEE80211_HE_PHY_CAP7_POWER_BOOST_FACTOR_AR |
++ IEEE80211_HE_PHY_CAP7_POWER_BOOST_FACTOR_SUPP |
+ IEEE80211_HE_PHY_CAP7_HE_SU_MU_PPDU_4XLTF_AND_08_US_GI;
+ he_cap_elem->phy_cap_info[8] |=
+ IEEE80211_HE_PHY_CAP8_20MHZ_IN_40MHZ_HE_PPDU_IN_2G |