b.liu | e958203 | 2025-04-17 19:18:16 +0800 | [diff] [blame] | 1 | From: Johannes Berg <johannes.berg@intel.com> |
| 2 | Date: Fri, 9 Apr 2021 12:40:17 +0300 |
| 3 | Subject: [PATCH] wireless: align some HE capabilities with the spec |
| 4 | |
| 5 | Some names were changed, align that with the spec as of |
| 6 | 802.11ax-D6.1. |
| 7 | |
| 8 | Signed-off-by: Luca Coelho <luciano.coelho@intel.com> |
| 9 | Link: https://lore.kernel.org/r/iwlwifi.20210409123755.b1e5fbab0d8c.I3eb6076cb0714ec6aec6b8f9dee613ce4a05d825@changeid |
| 10 | Signed-off-by: Johannes Berg <johannes.berg@intel.com> |
| 11 | --- |
| 12 | |
| 13 | --- a/drivers/net/wireless/ath/ath11k/mac.c |
| 14 | +++ b/drivers/net/wireless/ath/ath11k/mac.c |
| 15 | @@ -3648,7 +3648,7 @@ ath11k_mac_filter_he_cap_mesh(struct iee |
| 16 | IEEE80211_HE_MAC_CAP4_BQR; |
| 17 | he_cap_elem->mac_cap_info[4] &= ~m; |
| 18 | |
| 19 | - m = IEEE80211_HE_MAC_CAP5_SUBCHAN_SELECVITE_TRANSMISSION | |
| 20 | + m = IEEE80211_HE_MAC_CAP5_SUBCHAN_SELECTIVE_TRANSMISSION | |
| 21 | IEEE80211_HE_MAC_CAP5_UL_2x996_TONE_RU | |
| 22 | IEEE80211_HE_MAC_CAP5_PUNCTURED_SOUNDING | |
| 23 | IEEE80211_HE_MAC_CAP5_HT_VHT_TRIG_FRAME_RX; |
| 24 | @@ -3658,7 +3658,7 @@ ath11k_mac_filter_he_cap_mesh(struct iee |
| 25 | IEEE80211_HE_PHY_CAP2_UL_MU_PARTIAL_MU_MIMO; |
| 26 | he_cap_elem->phy_cap_info[2] &= ~m; |
| 27 | |
| 28 | - m = IEEE80211_HE_PHY_CAP3_RX_HE_MU_PPDU_FROM_NON_AP_STA | |
| 29 | + m = IEEE80211_HE_PHY_CAP3_RX_PARTIAL_BW_SU_IN_20MHZ_MU | |
| 30 | IEEE80211_HE_PHY_CAP3_DCM_MAX_CONST_TX_MASK | |
| 31 | IEEE80211_HE_PHY_CAP3_DCM_MAX_CONST_RX_MASK; |
| 32 | he_cap_elem->phy_cap_info[3] &= ~m; |
| 33 | @@ -3670,13 +3670,13 @@ ath11k_mac_filter_he_cap_mesh(struct iee |
| 34 | he_cap_elem->phy_cap_info[5] &= ~m; |
| 35 | |
| 36 | m = IEEE80211_HE_PHY_CAP6_CODEBOOK_SIZE_75_MU | |
| 37 | - IEEE80211_HE_PHY_CAP6_TRIG_MU_BEAMFORMER_FB | |
| 38 | + IEEE80211_HE_PHY_CAP6_TRIG_MU_BEAMFORMING_PARTIAL_BW_FB | |
| 39 | IEEE80211_HE_PHY_CAP6_TRIG_CQI_FB | |
| 40 | IEEE80211_HE_PHY_CAP6_PARTIAL_BANDWIDTH_DL_MUMIMO; |
| 41 | he_cap_elem->phy_cap_info[6] &= ~m; |
| 42 | |
| 43 | - m = IEEE80211_HE_PHY_CAP7_SRP_BASED_SR | |
| 44 | - IEEE80211_HE_PHY_CAP7_POWER_BOOST_FACTOR_AR | |
| 45 | + m = IEEE80211_HE_PHY_CAP7_PSR_BASED_SR | |
| 46 | + IEEE80211_HE_PHY_CAP7_POWER_BOOST_FACTOR_SUPP | |
| 47 | IEEE80211_HE_PHY_CAP7_STBC_TX_ABOVE_80MHZ | |
| 48 | IEEE80211_HE_PHY_CAP7_STBC_RX_ABOVE_80MHZ; |
| 49 | he_cap_elem->phy_cap_info[7] &= ~m; |
| 50 | --- a/drivers/net/wireless/mediatek/mt76/mt7915/init.c |
| 51 | +++ b/drivers/net/wireless/mediatek/mt76/mt7915/init.c |
| 52 | @@ -307,8 +307,8 @@ mt7915_set_stream_he_txbf_caps(struct ie |
| 53 | IEEE80211_HE_PHY_CAP5_BEAMFORMEE_NUM_SND_DIM_ABOVE_80MHZ_MASK; |
| 54 | elem->phy_cap_info[5] &= ~c; |
| 55 | |
| 56 | - c = IEEE80211_HE_PHY_CAP6_TRIG_SU_BEAMFORMER_FB | |
| 57 | - IEEE80211_HE_PHY_CAP6_TRIG_MU_BEAMFORMER_FB; |
| 58 | + c = IEEE80211_HE_PHY_CAP6_TRIG_SU_BEAMFORMING_FB | |
| 59 | + IEEE80211_HE_PHY_CAP6_TRIG_MU_BEAMFORMING_PARTIAL_BW_FB; |
| 60 | elem->phy_cap_info[6] &= ~c; |
| 61 | |
| 62 | elem->phy_cap_info[7] &= ~IEEE80211_HE_PHY_CAP7_MAX_NC_MASK; |
| 63 | @@ -348,8 +348,8 @@ mt7915_set_stream_he_txbf_caps(struct ie |
| 64 | c = (nss - 1) | (max_t(int, mcs->tx_mcs_160, 1) << 3); |
| 65 | elem->phy_cap_info[5] |= c; |
| 66 | |
| 67 | - c = IEEE80211_HE_PHY_CAP6_TRIG_SU_BEAMFORMER_FB | |
| 68 | - IEEE80211_HE_PHY_CAP6_TRIG_MU_BEAMFORMER_FB; |
| 69 | + c = IEEE80211_HE_PHY_CAP6_TRIG_SU_BEAMFORMING_FB | |
| 70 | + IEEE80211_HE_PHY_CAP6_TRIG_MU_BEAMFORMING_PARTIAL_BW_FB; |
| 71 | elem->phy_cap_info[6] |= c; |
| 72 | } |
| 73 | |
| 74 | @@ -484,7 +484,7 @@ mt7915_init_he_caps(struct mt7915_phy *p |
| 75 | IEEE80211_HE_PHY_CAP6_PARTIAL_BW_EXT_RANGE | |
| 76 | IEEE80211_HE_PHY_CAP6_PPE_THRESHOLD_PRESENT; |
| 77 | he_cap_elem->phy_cap_info[7] |= |
| 78 | - IEEE80211_HE_PHY_CAP7_POWER_BOOST_FACTOR_AR | |
| 79 | + IEEE80211_HE_PHY_CAP7_POWER_BOOST_FACTOR_SUPP | |
| 80 | IEEE80211_HE_PHY_CAP7_HE_SU_MU_PPDU_4XLTF_AND_08_US_GI; |
| 81 | he_cap_elem->phy_cap_info[8] |= |
| 82 | IEEE80211_HE_PHY_CAP8_20MHZ_IN_40MHZ_HE_PPDU_IN_2G | |
| 83 | --- a/include/linux/ieee80211.h |
| 84 | +++ b/include/linux/ieee80211.h |
| 85 | @@ -2065,7 +2065,7 @@ int ieee80211_get_vht_max_nss(struct iee |
| 86 | #define IEEE80211_HE_MAC_CAP4_BSRP_BQRP_A_MPDU_AGG 0x01 |
| 87 | #define IEEE80211_HE_MAC_CAP4_QTP 0x02 |
| 88 | #define IEEE80211_HE_MAC_CAP4_BQR 0x04 |
| 89 | -#define IEEE80211_HE_MAC_CAP4_SRP_RESP 0x08 |
| 90 | +#define IEEE80211_HE_MAC_CAP4_PSR_RESP 0x08 |
| 91 | #define IEEE80211_HE_MAC_CAP4_NDP_FB_REP 0x10 |
| 92 | #define IEEE80211_HE_MAC_CAP4_OPS 0x20 |
| 93 | #define IEEE80211_HE_MAC_CAP4_AMDSU_IN_AMPDU 0x40 |
| 94 | @@ -2076,7 +2076,7 @@ int ieee80211_get_vht_max_nss(struct iee |
| 95 | |
| 96 | #define IEEE80211_HE_MAC_CAP5_MULTI_TID_AGG_TX_QOS_B40 0x01 |
| 97 | #define IEEE80211_HE_MAC_CAP5_MULTI_TID_AGG_TX_QOS_B41 0x02 |
| 98 | -#define IEEE80211_HE_MAC_CAP5_SUBCHAN_SELECVITE_TRANSMISSION 0x04 |
| 99 | +#define IEEE80211_HE_MAC_CAP5_SUBCHAN_SELECTIVE_TRANSMISSION 0x04 |
| 100 | #define IEEE80211_HE_MAC_CAP5_UL_2x996_TONE_RU 0x08 |
| 101 | #define IEEE80211_HE_MAC_CAP5_OM_CTRL_UL_MU_DATA_DIS_RX 0x10 |
| 102 | #define IEEE80211_HE_MAC_CAP5_HE_DYNAMIC_SM_PS 0x20 |
| 103 | @@ -2134,7 +2134,7 @@ int ieee80211_get_vht_max_nss(struct iee |
| 104 | #define IEEE80211_HE_PHY_CAP3_DCM_MAX_CONST_RX_MASK 0x18 |
| 105 | #define IEEE80211_HE_PHY_CAP3_DCM_MAX_RX_NSS_1 0x00 |
| 106 | #define IEEE80211_HE_PHY_CAP3_DCM_MAX_RX_NSS_2 0x20 |
| 107 | -#define IEEE80211_HE_PHY_CAP3_RX_HE_MU_PPDU_FROM_NON_AP_STA 0x40 |
| 108 | +#define IEEE80211_HE_PHY_CAP3_RX_PARTIAL_BW_SU_IN_20MHZ_MU 0x40 |
| 109 | #define IEEE80211_HE_PHY_CAP3_SU_BEAMFORMER 0x80 |
| 110 | |
| 111 | #define IEEE80211_HE_PHY_CAP4_SU_BEAMFORMEE 0x01 |
| 112 | @@ -2181,15 +2181,15 @@ int ieee80211_get_vht_max_nss(struct iee |
| 113 | |
| 114 | #define IEEE80211_HE_PHY_CAP6_CODEBOOK_SIZE_42_SU 0x01 |
| 115 | #define IEEE80211_HE_PHY_CAP6_CODEBOOK_SIZE_75_MU 0x02 |
| 116 | -#define IEEE80211_HE_PHY_CAP6_TRIG_SU_BEAMFORMER_FB 0x04 |
| 117 | -#define IEEE80211_HE_PHY_CAP6_TRIG_MU_BEAMFORMER_FB 0x08 |
| 118 | +#define IEEE80211_HE_PHY_CAP6_TRIG_SU_BEAMFORMING_FB 0x04 |
| 119 | +#define IEEE80211_HE_PHY_CAP6_TRIG_MU_BEAMFORMING_PARTIAL_BW_FB 0x08 |
| 120 | #define IEEE80211_HE_PHY_CAP6_TRIG_CQI_FB 0x10 |
| 121 | #define IEEE80211_HE_PHY_CAP6_PARTIAL_BW_EXT_RANGE 0x20 |
| 122 | #define IEEE80211_HE_PHY_CAP6_PARTIAL_BANDWIDTH_DL_MUMIMO 0x40 |
| 123 | #define IEEE80211_HE_PHY_CAP6_PPE_THRESHOLD_PRESENT 0x80 |
| 124 | |
| 125 | -#define IEEE80211_HE_PHY_CAP7_SRP_BASED_SR 0x01 |
| 126 | -#define IEEE80211_HE_PHY_CAP7_POWER_BOOST_FACTOR_AR 0x02 |
| 127 | +#define IEEE80211_HE_PHY_CAP7_PSR_BASED_SR 0x01 |
| 128 | +#define IEEE80211_HE_PHY_CAP7_POWER_BOOST_FACTOR_SUPP 0x02 |
| 129 | #define IEEE80211_HE_PHY_CAP7_HE_SU_MU_PPDU_4XLTF_AND_08_US_GI 0x04 |
| 130 | #define IEEE80211_HE_PHY_CAP7_MAX_NC_1 0x08 |
| 131 | #define IEEE80211_HE_PHY_CAP7_MAX_NC_2 0x10 |
| 132 | --- a/net/mac80211/debugfs_sta.c |
| 133 | +++ b/net/mac80211/debugfs_sta.c |
| 134 | @@ -732,15 +732,15 @@ static ssize_t sta_he_capa_read(struct f |
| 135 | PFLAG(MAC, 4, BSRP_BQRP_A_MPDU_AGG, "BSRP-BQRP-A-MPDU-AGG"); |
| 136 | PFLAG(MAC, 4, QTP, "QTP"); |
| 137 | PFLAG(MAC, 4, BQR, "BQR"); |
| 138 | - PFLAG(MAC, 4, SRP_RESP, "SRP-RESP"); |
| 139 | + PFLAG(MAC, 4, PSR_RESP, "PSR-RESP"); |
| 140 | PFLAG(MAC, 4, NDP_FB_REP, "NDP-FB-REP"); |
| 141 | PFLAG(MAC, 4, OPS, "OPS"); |
| 142 | PFLAG(MAC, 4, AMDSU_IN_AMPDU, "AMSDU-IN-AMPDU"); |
| 143 | |
| 144 | PRINT("MULTI-TID-AGG-TX-QOS-%d", ((cap[5] << 1) | (cap[4] >> 7)) & 0x7); |
| 145 | |
| 146 | - PFLAG(MAC, 5, SUBCHAN_SELECVITE_TRANSMISSION, |
| 147 | - "SUBCHAN-SELECVITE-TRANSMISSION"); |
| 148 | + PFLAG(MAC, 5, SUBCHAN_SELECTIVE_TRANSMISSION, |
| 149 | + "SUBCHAN-SELECTIVE-TRANSMISSION"); |
| 150 | PFLAG(MAC, 5, UL_2x996_TONE_RU, "UL-2x996-TONE-RU"); |
| 151 | PFLAG(MAC, 5, OM_CTRL_UL_MU_DATA_DIS_RX, "OM-CTRL-UL-MU-DATA-DIS-RX"); |
| 152 | PFLAG(MAC, 5, HE_DYNAMIC_SM_PS, "HE-DYNAMIC-SM-PS"); |
| 153 | @@ -832,8 +832,8 @@ static ssize_t sta_he_capa_read(struct f |
| 154 | |
| 155 | PFLAG(PHY, 3, DCM_MAX_RX_NSS_1, "DCM-MAX-RX-NSS-1"); |
| 156 | PFLAG(PHY, 3, DCM_MAX_RX_NSS_2, "DCM-MAX-RX-NSS-2"); |
| 157 | - PFLAG(PHY, 3, RX_HE_MU_PPDU_FROM_NON_AP_STA, |
| 158 | - "RX-HE-MU-PPDU-FROM-NON-AP-STA"); |
| 159 | + PFLAG(PHY, 3, RX_PARTIAL_BW_SU_IN_20MHZ_MU, |
| 160 | + "RX-PARTIAL-BW-SU-IN-20MHZ-MU"); |
| 161 | PFLAG(PHY, 3, SU_BEAMFORMER, "SU-BEAMFORMER"); |
| 162 | |
| 163 | PFLAG(PHY, 4, SU_BEAMFORMEE, "SU-BEAMFORMEE"); |
| 164 | @@ -853,16 +853,17 @@ static ssize_t sta_he_capa_read(struct f |
| 165 | |
| 166 | PFLAG(PHY, 6, CODEBOOK_SIZE_42_SU, "CODEBOOK-SIZE-42-SU"); |
| 167 | PFLAG(PHY, 6, CODEBOOK_SIZE_75_MU, "CODEBOOK-SIZE-75-MU"); |
| 168 | - PFLAG(PHY, 6, TRIG_SU_BEAMFORMER_FB, "TRIG-SU-BEAMFORMER-FB"); |
| 169 | - PFLAG(PHY, 6, TRIG_MU_BEAMFORMER_FB, "TRIG-MU-BEAMFORMER-FB"); |
| 170 | + PFLAG(PHY, 6, TRIG_SU_BEAMFORMING_FB, "TRIG-SU-BEAMFORMING-FB"); |
| 171 | + PFLAG(PHY, 6, TRIG_MU_BEAMFORMING_PARTIAL_BW_FB, |
| 172 | + "MU-BEAMFORMING-PARTIAL-BW-FB"); |
| 173 | PFLAG(PHY, 6, TRIG_CQI_FB, "TRIG-CQI-FB"); |
| 174 | PFLAG(PHY, 6, PARTIAL_BW_EXT_RANGE, "PARTIAL-BW-EXT-RANGE"); |
| 175 | PFLAG(PHY, 6, PARTIAL_BANDWIDTH_DL_MUMIMO, |
| 176 | "PARTIAL-BANDWIDTH-DL-MUMIMO"); |
| 177 | PFLAG(PHY, 6, PPE_THRESHOLD_PRESENT, "PPE-THRESHOLD-PRESENT"); |
| 178 | |
| 179 | - PFLAG(PHY, 7, SRP_BASED_SR, "SRP-BASED-SR"); |
| 180 | - PFLAG(PHY, 7, POWER_BOOST_FACTOR_AR, "POWER-BOOST-FACTOR-AR"); |
| 181 | + PFLAG(PHY, 7, PSR_BASED_SR, "PSR-BASED-SR"); |
| 182 | + PFLAG(PHY, 7, POWER_BOOST_FACTOR_SUPP, "POWER-BOOST-FACTOR-SUPP"); |
| 183 | PFLAG(PHY, 7, HE_SU_MU_PPDU_4XLTF_AND_08_US_GI, |
| 184 | "HE-SU-MU-PPDU-4XLTF-AND-08-US-GI"); |
| 185 | PFLAG_RANGE(PHY, 7, MAX_NC, 0, 1, 1, "MAX-NC-%d"); |
| 186 | --- a/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c |
| 187 | +++ b/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c |
| 188 | @@ -630,7 +630,7 @@ static struct ieee80211_sband_iftype_dat |
| 189 | .phy_cap_info[6] = |
| 190 | IEEE80211_HE_PHY_CAP6_PPE_THRESHOLD_PRESENT, |
| 191 | .phy_cap_info[7] = |
| 192 | - IEEE80211_HE_PHY_CAP7_POWER_BOOST_FACTOR_AR | |
| 193 | + IEEE80211_HE_PHY_CAP7_POWER_BOOST_FACTOR_SUPP | |
| 194 | IEEE80211_HE_PHY_CAP7_HE_SU_MU_PPDU_4XLTF_AND_08_US_GI | |
| 195 | IEEE80211_HE_PHY_CAP7_MAX_NC_1, |
| 196 | .phy_cap_info[8] = |