git: 2888dc2e5d78 - stable/14 - LinuxKPI: 802.11: update HE structures
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 11 Jun 2025 09:14:14 UTC
The branch stable/14 has been updated by bz:
URL: https://cgit.FreeBSD.org/src/commit/?id=2888dc2e5d781de3ea17f4598e247ab0673096da
commit 2888dc2e5d781de3ea17f4598e247ab0673096da
Author: Bjoern A. Zeeb <bz@FreeBSD.org>
AuthorDate: 2025-06-02 15:49:20 +0000
Commit: Bjoern A. Zeeb <bz@FreeBSD.org>
CommitDate: 2025-06-10 23:38:13 +0000
LinuxKPI: 802.11: update HE structures
Update strutures needed for 11ax (HE) to be correct. Add references
to the standard.
Sponsored by: The FreeBSD Foundation
(cherry picked from commit 71f854e5a01a347174d09d594b3d490f806cf850)
---
sys/compat/linuxkpi/common/include/net/cfg80211.h | 28 ++++++++++++++---------
1 file changed, 17 insertions(+), 11 deletions(-)
diff --git a/sys/compat/linuxkpi/common/include/net/cfg80211.h b/sys/compat/linuxkpi/common/include/net/cfg80211.h
index 7849c77062dc..e9af70f751d4 100644
--- a/sys/compat/linuxkpi/common/include/net/cfg80211.h
+++ b/sys/compat/linuxkpi/common/include/net/cfg80211.h
@@ -895,28 +895,34 @@ struct linuxkpi_ieee80211_regdomain {
#define VENDOR_CMD_RAW_DATA (void *)(uintptr_t)(-ENOENT)
+/*
+ * 802.11ax-2021,
+ * 9.4.2.248.2 HE MAC Capabilities Information field.
+ * 9.4.2.248.3 HE PHY Capabilities Information field.
+ */
struct ieee80211_he_cap_elem {
u8 mac_cap_info[6];
u8 phy_cap_info[11];
} __packed;
+/* 802.11ax-2021, 9.4.2.248.4 Supported HE-MCS And NSS Set field. */
struct ieee80211_he_mcs_nss_supp {
- /* TODO FIXME */
- uint32_t rx_mcs_80;
- uint32_t tx_mcs_80;
- uint32_t rx_mcs_160;
- uint32_t tx_mcs_160;
- uint32_t rx_mcs_80p80;
- uint32_t tx_mcs_80p80;
+ uint16_t rx_mcs_80;
+ uint16_t tx_mcs_80;
+ uint16_t rx_mcs_160;
+ uint16_t tx_mcs_160;
+ uint16_t rx_mcs_80p80;
+ uint16_t tx_mcs_80p80;
};
-#define IEEE80211_STA_HE_CAP_PPE_THRES_MAX 32
+#define IEEE80211_HE_CAP_PPE_THRES_MAX 25
+
+/* net80211::ic_ieee80211_he_cap */
struct ieee80211_sta_he_cap {
- /* TODO FIXME */
- int has_he;
+ bool has_he;
struct ieee80211_he_cap_elem he_cap_elem;
struct ieee80211_he_mcs_nss_supp he_mcs_nss_supp;
- uint8_t ppe_thres[IEEE80211_STA_HE_CAP_PPE_THRES_MAX];
+ uint8_t ppe_thres[IEEE80211_HE_CAP_PPE_THRES_MAX];
};
struct cfg80211_he_bss_color {