aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBjoern A. Zeeb <bz@FreeBSD.org>2025-02-15 12:40:04 +0000
committerBjoern A. Zeeb <bz@FreeBSD.org>2025-02-15 15:48:36 +0000
commit75fb66d8241d0487baf482c975c1de3b55d9a315 (patch)
tree3ee2d15262b639f002c50fc0ca6f8383065b6aa0
parent89e3c2d27ab426e1edf326d470318d75d8be5e37 (diff)
net80211 / LinuxKPI 802.11: add 802.11-2016 VHT Extended NSS BW defines
Add the mask and shift for the VHT Extended NSS BW Support field. Document them in net80211 and further related bitmasks in LinuxKPI. Sponsored by: The FreeBSD Foundation MFC after: 3 days Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D48975
-rw-r--r--sys/compat/linuxkpi/common/include/linux/ieee80211.h3
-rw-r--r--sys/compat/linuxkpi/common/include/net/cfg80211.h3
-rw-r--r--sys/net80211/ieee80211.h4
3 files changed, 8 insertions, 2 deletions
diff --git a/sys/compat/linuxkpi/common/include/linux/ieee80211.h b/sys/compat/linuxkpi/common/include/linux/ieee80211.h
index 58ebbcfe0097..0169e12b1804 100644
--- a/sys/compat/linuxkpi/common/include/linux/ieee80211.h
+++ b/sys/compat/linuxkpi/common/include/linux/ieee80211.h
@@ -115,7 +115,8 @@ enum ieee80211_rate_control_changed_flags {
#define IEEE80211_TKIP_ICV_LEN 4
#define IEEE80211_TKIP_IV_LEN 8 /* WEP + KID + EXT */
-#define IEEE80211_VHT_EXT_NSS_BW_CAPABLE (1 << 13) /* assigned to tx_highest */
+/* 802.11-2016, 9.4.2.158.3 Supported VHT-MCS and NSS Set field. */
+#define IEEE80211_VHT_EXT_NSS_BW_CAPABLE (1 << 13) /* part of tx_highest */
#define IEEE80211_VHT_MAX_AMPDU_1024K 7 /* 9.4.2.56.3 A-MPDU Parameters field, Table 9-163 */
diff --git a/sys/compat/linuxkpi/common/include/net/cfg80211.h b/sys/compat/linuxkpi/common/include/net/cfg80211.h
index 0b6a66033536..ee16449ecd1c 100644
--- a/sys/compat/linuxkpi/common/include/net/cfg80211.h
+++ b/sys/compat/linuxkpi/common/include/net/cfg80211.h
@@ -236,7 +236,8 @@ struct ieee80211_sta_ht_cap {
#define IEEE80211_VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_MASK \
(7 << IEEE80211_VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_SHIFT) /* IEEE80211_VHTCAP_MAX_A_MPDU_LENGTH_EXPONENT_MASK */
-#define IEEE80211_VHT_CAP_EXT_NSS_BW_MASK 0xc0000000
+#define IEEE80211_VHT_CAP_EXT_NSS_BW_MASK IEEE80211_VHTCAP_EXT_NSS_BW
+#define IEEE80211_VHT_CAP_EXT_NSS_BW_SHIFT IEEE80211_VHTCAP_EXT_NSS_BW_S
struct ieee80211_sta_vht_cap {
/* TODO FIXME */
diff --git a/sys/net80211/ieee80211.h b/sys/net80211/ieee80211.h
index b0bb02450190..6003a1ae0e99 100644
--- a/sys/net80211/ieee80211.h
+++ b/sys/net80211/ieee80211.h
@@ -1045,6 +1045,10 @@ struct ieee80211_vht_operation {
#define IEEE80211_VHTCAP_TX_ANTENNA_PATTERN 0x20000000
#define IEEE80211_VHTCAP_TX_ANTENNA_PATTERN_S 29
+/* 802.11-2016, 9.4.2.158.2 VHT Capabilities Information field. */
+#define IEEE80211_VHTCAP_EXT_NSS_BW 0xc0000000
+#define IEEE80211_VHTCAP_EXT_NSS_BW_S 30
+
/*
* XXX TODO: add the rest of the bits
*/