Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

wireless: align HE capabilities A-MPDU Length Exponent Extension

The A-MPDU length exponent extension is defined differently in
802.11ax D6.1, align with that.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20210409123755.c2a257d3e2df.I3455245d388c52c61dace7e7958dbed7e807cfb6@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>

+22 -25
+2 -3
drivers/net/wireless/ath/ath11k/mac.c
··· 1265 1265 * request, then use MAX_AMPDU_LEN_FACTOR as 16 to calculate max_ampdu 1266 1266 * length. 1267 1267 */ 1268 - ampdu_factor = (he_cap->he_cap_elem.mac_cap_info[3] & 1269 - IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_MASK) >> 1270 - IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_SHIFT; 1268 + ampdu_factor = u8_get_bits(he_cap->he_cap_elem.mac_cap_info[3], 1269 + IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_MASK); 1271 1270 1272 1271 if (ampdu_factor) { 1273 1272 if (sta->vht_cap.vht_supported)
+2 -2
drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c
··· 550 550 IEEE80211_HE_MAC_CAP2_32BIT_BA_BITMAP, 551 551 .mac_cap_info[3] = 552 552 IEEE80211_HE_MAC_CAP3_OMI_CONTROL | 553 - IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_VHT_2, 553 + IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_EXT_2, 554 554 .mac_cap_info[4] = 555 555 IEEE80211_HE_MAC_CAP4_AMDSU_IN_AMPDU | 556 556 IEEE80211_HE_MAC_CAP4_MULTI_TID_AGG_TX_QOS_B39, ··· 636 636 IEEE80211_HE_MAC_CAP2_BSR, 637 637 .mac_cap_info[3] = 638 638 IEEE80211_HE_MAC_CAP3_OMI_CONTROL | 639 - IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_VHT_2, 639 + IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_EXT_2, 640 640 .mac_cap_info[4] = 641 641 IEEE80211_HE_MAC_CAP4_AMDSU_IN_AMPDU, 642 642 .mac_cap_info[5] =
+4 -4
drivers/net/wireless/mac80211_hwsim.c
··· 2795 2795 IEEE80211_HE_MAC_CAP2_ACK_EN, 2796 2796 .mac_cap_info[3] = 2797 2797 IEEE80211_HE_MAC_CAP3_OMI_CONTROL | 2798 - IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_VHT_2, 2798 + IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_EXT_3, 2799 2799 .mac_cap_info[4] = IEEE80211_HE_MAC_CAP4_AMDSU_IN_AMPDU, 2800 2800 .phy_cap_info[1] = 2801 2801 IEEE80211_HE_PHY_CAP1_PREAMBLE_PUNC_RX_MASK | ··· 2839 2839 IEEE80211_HE_MAC_CAP2_ACK_EN, 2840 2840 .mac_cap_info[3] = 2841 2841 IEEE80211_HE_MAC_CAP3_OMI_CONTROL | 2842 - IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_VHT_2, 2842 + IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_EXT_3, 2843 2843 .mac_cap_info[4] = IEEE80211_HE_MAC_CAP4_AMDSU_IN_AMPDU, 2844 2844 .phy_cap_info[1] = 2845 2845 IEEE80211_HE_PHY_CAP1_PREAMBLE_PUNC_RX_MASK | ··· 2885 2885 IEEE80211_HE_MAC_CAP2_ACK_EN, 2886 2886 .mac_cap_info[3] = 2887 2887 IEEE80211_HE_MAC_CAP3_OMI_CONTROL | 2888 - IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_VHT_2, 2888 + IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_EXT_3, 2889 2889 .mac_cap_info[4] = IEEE80211_HE_MAC_CAP4_AMDSU_IN_AMPDU, 2890 2890 .phy_cap_info[0] = 2891 2891 IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_40MHZ_80MHZ_IN_5G | ··· 2933 2933 IEEE80211_HE_MAC_CAP2_ACK_EN, 2934 2934 .mac_cap_info[3] = 2935 2935 IEEE80211_HE_MAC_CAP3_OMI_CONTROL | 2936 - IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_VHT_2, 2936 + IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_EXT_3, 2937 2937 .mac_cap_info[4] = IEEE80211_HE_MAC_CAP4_AMDSU_IN_AMPDU, 2938 2938 .phy_cap_info[0] = 2939 2939 IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_40MHZ_80MHZ_IN_5G |
+1 -1
drivers/net/wireless/mediatek/mt76/mt7915/init.c
··· 476 476 IEEE80211_HE_MAC_CAP0_HTC_HE; 477 477 he_cap_elem->mac_cap_info[3] = 478 478 IEEE80211_HE_MAC_CAP3_OMI_CONTROL | 479 - IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_RESERVED; 479 + IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_EXT_3; 480 480 he_cap_elem->mac_cap_info[4] = 481 481 IEEE80211_HE_MAC_CAP4_AMDSU_IN_AMPDU; 482 482
+1 -1
drivers/net/wireless/mediatek/mt76/mt7921/main.c
··· 65 65 IEEE80211_HE_MAC_CAP0_HTC_HE; 66 66 he_cap_elem->mac_cap_info[3] = 67 67 IEEE80211_HE_MAC_CAP3_OMI_CONTROL | 68 - IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_RESERVED; 68 + IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_EXT_3; 69 69 he_cap_elem->mac_cap_info[4] = 70 70 IEEE80211_HE_MAC_CAP4_AMDSU_IN_AMPDU; 71 71
+4 -6
include/linux/ieee80211.h
··· 2006 2006 * A-MDPU Length Exponent field in the HT capabilities, VHT capabilities and the 2007 2007 * same field in the HE capabilities. 2008 2008 */ 2009 - #define IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_USE_VHT 0x00 2010 - #define IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_VHT_1 0x08 2011 - #define IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_VHT_2 0x10 2012 - #define IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_RESERVED 0x18 2009 + #define IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_EXT_0 0x00 2010 + #define IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_EXT_1 0x08 2011 + #define IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_EXT_2 0x10 2012 + #define IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_EXT_3 0x18 2013 2013 #define IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_MASK 0x18 2014 2014 #define IEEE80211_HE_MAC_CAP3_AMSDU_FRAG 0x20 2015 2015 #define IEEE80211_HE_MAC_CAP3_FLEX_TWT_SCHED 0x40 2016 2016 #define IEEE80211_HE_MAC_CAP3_RX_CTRL_FRAME_TO_MULTIBSS 0x80 2017 - 2018 - #define IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_SHIFT 3 2019 2017 2020 2018 #define IEEE80211_HE_MAC_CAP4_BSRP_BQRP_A_MPDU_AGG 0x01 2021 2019 #define IEEE80211_HE_MAC_CAP4_QTP 0x02
+8 -8
net/mac80211/debugfs_sta.c
··· 711 711 PFLAG(MAC, 3, OFDMA_RA, "OFDMA-RA"); 712 712 713 713 switch (cap[3] & IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_MASK) { 714 - case IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_USE_VHT: 715 - PRINT("MAX-AMPDU-LEN-EXP-USE-VHT"); 714 + case IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_EXT_0: 715 + PRINT("MAX-AMPDU-LEN-EXP-USE-EXT-0"); 716 716 break; 717 - case IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_VHT_1: 718 - PRINT("MAX-AMPDU-LEN-EXP-VHT-1"); 717 + case IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_EXT_1: 718 + PRINT("MAX-AMPDU-LEN-EXP-VHT-EXT-1"); 719 719 break; 720 - case IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_VHT_2: 721 - PRINT("MAX-AMPDU-LEN-EXP-VHT-2"); 720 + case IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_EXT_2: 721 + PRINT("MAX-AMPDU-LEN-EXP-VHT-EXT-2"); 722 722 break; 723 - case IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_RESERVED: 724 - PRINT("MAX-AMPDU-LEN-EXP-RESERVED"); 723 + case IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_EXT_3: 724 + PRINT("MAX-AMPDU-LEN-EXP-VHT-EXT-3"); 725 725 break; 726 726 } 727 727