wireless: align to draft 11ax D3.0
Align to new 11ax draft D3.0. Change/add new MAC and PHY capabilities and update drivers' 11ax capabilities and mac80211's debugfs accordingly. Signed-off-by: Shaul Triebitz <shaul.triebitz@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:

committed by
Johannes Berg

parent
77cbbc35a4
commit
add7453ad6
@@ -522,8 +522,8 @@ static ssize_t sta_he_capa_read(struct file *file, char __user *userbuf,
|
||||
|
||||
cap = hec->he_cap_elem.mac_cap_info;
|
||||
p += scnprintf(p, buf_sz + buf - p,
|
||||
"MAC-CAP: %#.2x %#.2x %#.2x %#.2x %#.2x\n",
|
||||
cap[0], cap[1], cap[2], cap[3], cap[4]);
|
||||
"MAC-CAP: %#.2x %#.2x %#.2x %#.2x %#.2x %#.2x\n",
|
||||
cap[0], cap[1], cap[2], cap[3], cap[4], cap[5]);
|
||||
|
||||
#define PRINT(fmt, ...) \
|
||||
p += scnprintf(p, buf_sz + buf - p, "\t\t" fmt "\n", \
|
||||
@@ -563,7 +563,8 @@ static ssize_t sta_he_capa_read(struct file *file, char __user *userbuf,
|
||||
"MIN-FRAG-SIZE-%d", UNLIMITED, "UNLIMITED");
|
||||
PFLAG_RANGE_DEFAULT(MAC, 1, TF_MAC_PAD_DUR, 0, 8, 0,
|
||||
"TF-MAC-PAD-DUR-%dUS", MASK, "UNKNOWN");
|
||||
PFLAG_RANGE(MAC, 1, MULTI_TID_AGG_QOS, 0, 1, 1, "MULTI-TID-AGG-QOS-%d");
|
||||
PFLAG_RANGE(MAC, 1, MULTI_TID_AGG_RX_QOS, 0, 1, 1,
|
||||
"MULTI-TID-AGG-RX-QOS-%d");
|
||||
|
||||
if (cap[0] & IEEE80211_HE_MAC_CAP0_HTC_HE) {
|
||||
switch (((cap[2] << 1) | (cap[1] >> 7)) & 0x3) {
|
||||
@@ -583,52 +584,55 @@ static ssize_t sta_he_capa_read(struct file *file, char __user *userbuf,
|
||||
}
|
||||
|
||||
PFLAG(MAC, 2, ALL_ACK, "ALL-ACK");
|
||||
PFLAG(MAC, 2, UL_MU_RESP_SCHED, "UL-MU-RESP-SCHED");
|
||||
PFLAG(MAC, 2, TRS, "TRS");
|
||||
PFLAG(MAC, 2, BSR, "BSR");
|
||||
PFLAG(MAC, 2, BCAST_TWT, "BCAST-TWT");
|
||||
PFLAG(MAC, 2, 32BIT_BA_BITMAP, "32BIT-BA-BITMAP");
|
||||
PFLAG(MAC, 2, MU_CASCADING, "MU-CASCADING");
|
||||
PFLAG(MAC, 2, ACK_EN, "ACK-EN");
|
||||
|
||||
PFLAG(MAC, 3, GRP_ADDR_MULTI_STA_BA_DL_MU,
|
||||
"GRP-ADDR-MULTI-STA-BA-DL-MU");
|
||||
PFLAG(MAC, 3, OMI_CONTROL, "OMI-CONTROL");
|
||||
PFLAG(MAC, 3, OFDMA_RA, "OFDMA-RA");
|
||||
|
||||
switch (cap[3] & IEEE80211_HE_MAC_CAP3_MAX_A_AMPDU_LEN_EXP_MASK) {
|
||||
case IEEE80211_HE_MAC_CAP3_MAX_A_AMPDU_LEN_EXP_USE_VHT:
|
||||
PRINT("MAX-A-AMPDU-LEN-EXP-USE-VHT");
|
||||
switch (cap[3] & IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_MASK) {
|
||||
case IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_USE_VHT:
|
||||
PRINT("MAX-AMPDU-LEN-EXP-USE-VHT");
|
||||
break;
|
||||
case IEEE80211_HE_MAC_CAP3_MAX_A_AMPDU_LEN_EXP_VHT_1:
|
||||
PRINT("MAX-A-AMPDU-LEN-EXP-VHT-1");
|
||||
case IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_VHT_1:
|
||||
PRINT("MAX-AMPDU-LEN-EXP-VHT-1");
|
||||
break;
|
||||
case IEEE80211_HE_MAC_CAP3_MAX_A_AMPDU_LEN_EXP_VHT_2:
|
||||
PRINT("MAX-A-AMPDU-LEN-EXP-VHT-2");
|
||||
case IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_VHT_2:
|
||||
PRINT("MAX-AMPDU-LEN-EXP-VHT-2");
|
||||
break;
|
||||
case IEEE80211_HE_MAC_CAP3_MAX_A_AMPDU_LEN_EXP_RESERVED:
|
||||
PRINT("MAX-A-AMPDU-LEN-EXP-RESERVED");
|
||||
case IEEE80211_HE_MAC_CAP3_MAX_AMPDU_LEN_EXP_RESERVED:
|
||||
PRINT("MAX-AMPDU-LEN-EXP-RESERVED");
|
||||
break;
|
||||
}
|
||||
|
||||
PFLAG(MAC, 3, A_AMSDU_FRAG, "A-AMSDU-FRAG");
|
||||
PFLAG(MAC, 3, AMSDU_FRAG, "AMSDU-FRAG");
|
||||
PFLAG(MAC, 3, FLEX_TWT_SCHED, "FLEX-TWT-SCHED");
|
||||
PFLAG(MAC, 3, RX_CTRL_FRAME_TO_MULTIBSS, "RX-CTRL-FRAME-TO-MULTIBSS");
|
||||
|
||||
PFLAG(MAC, 4, BSRP_BQRP_A_MPDU_AGG, "BSRP-BQRP-A-MPDU-AGG");
|
||||
PFLAG(MAC, 4, QTP, "QTP");
|
||||
PFLAG(MAC, 4, BQR, "BQR");
|
||||
PFLAG(MAC, 4, SR_RESP, "SR-RESP");
|
||||
PFLAG(MAC, 4, SRP_RESP, "SRP-RESP");
|
||||
PFLAG(MAC, 4, NDP_FB_REP, "NDP-FB-REP");
|
||||
PFLAG(MAC, 4, OPS, "OPS");
|
||||
PFLAG(MAC, 4, AMDSU_IN_AMPDU, "AMSDU-IN-AMPDU");
|
||||
|
||||
PRINT("MULTI-TID-AGG-TX-QOS-%d", ((cap[5] << 1) | (cap[4] >> 7)) & 0x7);
|
||||
|
||||
PFLAG(MAC, 5, SUBCHAN_SELECVITE_TRANSMISSION,
|
||||
"SUBCHAN-SELECVITE-TRANSMISSION");
|
||||
PFLAG(MAC, 5, UL_2x996_TONE_RU, "UL-2x996-TONE-RU");
|
||||
PFLAG(MAC, 5, OM_CTRL_UL_MU_DATA_DIS_RX, "OM-CTRL-UL-MU-DATA-DIS-RX");
|
||||
|
||||
cap = hec->he_cap_elem.phy_cap_info;
|
||||
p += scnprintf(p, buf_sz + buf - p,
|
||||
"PHY CAP: %#.2x %#.2x %#.2x %#.2x %#.2x %#.2x %#.2x %#.2x %#.2x\n",
|
||||
"PHY CAP: %#.2x %#.2x %#.2x %#.2x %#.2x %#.2x %#.2x %#.2x %#.2x %#.2x %#.2x\n",
|
||||
cap[0], cap[1], cap[2], cap[3], cap[4], cap[5], cap[6],
|
||||
cap[7], cap[8]);
|
||||
|
||||
PFLAG(PHY, 0, DUAL_BAND, "DUAL-BAND");
|
||||
cap[7], cap[8], cap[9], cap[10]);
|
||||
|
||||
PFLAG(PHY, 0, CHANNEL_WIDTH_SET_40MHZ_IN_2G,
|
||||
"CHANNEL-WIDTH-SET-40MHZ-IN-2G");
|
||||
@@ -754,7 +758,36 @@ static ssize_t sta_he_capa_read(struct file *file, char __user *userbuf,
|
||||
PFLAG(PHY, 8, 80MHZ_IN_160MHZ_HE_PPDU, "80MHZ-IN-160MHZ-HE-PPDU");
|
||||
PFLAG(PHY, 8, HE_ER_SU_1XLTF_AND_08_US_GI,
|
||||
"HE-ER-SU-1XLTF-AND-08-US-GI");
|
||||
PFLAG(PHY, 8, MIDAMBLE_RX_2X_AND_1XLTF, "MIDAMBLE-RX-2X-AND-1XLTF");
|
||||
PFLAG(PHY, 8, MIDAMBLE_RX_TX_2X_AND_1XLTF,
|
||||
"MIDAMBLE-RX-TX-2X-AND-1XLTF");
|
||||
|
||||
switch (cap[8] & IEEE80211_HE_PHY_CAP8_DCM_MAX_BW_MASK) {
|
||||
case IEEE80211_HE_PHY_CAP8_DCM_MAX_BW_20MHZ:
|
||||
PRINT("DDCM-MAX-BW-20MHZ");
|
||||
break;
|
||||
case IEEE80211_HE_PHY_CAP8_DCM_MAX_BW_40MHZ:
|
||||
PRINT("DCM-MAX-BW-40MHZ");
|
||||
break;
|
||||
case IEEE80211_HE_PHY_CAP8_DCM_MAX_BW_80MHZ:
|
||||
PRINT("DCM-MAX-BW-80MHZ");
|
||||
break;
|
||||
case IEEE80211_HE_PHY_CAP8_DCM_MAX_BW_160_OR_80P80_MHZ:
|
||||
PRINT("DCM-MAX-BW-160-OR-80P80-MHZ");
|
||||
break;
|
||||
}
|
||||
|
||||
PFLAG(PHY, 9, LONGER_THAN_16_SIGB_OFDM_SYM,
|
||||
"LONGER-THAN-16-SIGB-OFDM-SYM");
|
||||
PFLAG(PHY, 9, NON_TRIGGERED_CQI_FEEDBACK,
|
||||
"NON-TRIGGERED-CQI-FEEDBACK");
|
||||
PFLAG(PHY, 9, TX_1024_QAM_LESS_THAN_242_TONE_RU,
|
||||
"TX-1024-QAM-LESS-THAN-242-TONE-RU");
|
||||
PFLAG(PHY, 9, RX_1024_QAM_LESS_THAN_242_TONE_RU,
|
||||
"RX-1024-QAM-LESS-THAN-242-TONE-RU");
|
||||
PFLAG(PHY, 9, RX_FULL_BW_SU_USING_MU_WITH_COMP_SIGB,
|
||||
"RX-FULL-BW-SU-USING-MU-WITH-COMP-SIGB");
|
||||
PFLAG(PHY, 9, RX_FULL_BW_SU_USING_MU_WITH_NON_COMP_SIGB,
|
||||
"RX-FULL-BW-SU-USING-MU-WITH-NON-COMP-SIGB");
|
||||
|
||||
#undef PFLAG_RANGE_DEFAULT
|
||||
#undef PFLAG_RANGE
|
||||
|
Reference in New Issue
Block a user