[PATCH v3 2/8] common: add UHR NPCA bit definitions

Johannes Berg johannes at sipsolutions.net
Fri Apr 24 00:11:54 PDT 2026


From: Johannes Berg <johannes.berg at intel.com>

Define the bits needed for UHR Operation NPCA parameters,
based on Draft P802.11bn_D1.3.

Signed-off-by: Johannes Berg <johannes.berg at intel.com>
---
 src/common/ieee802_11_defs.h | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/src/common/ieee802_11_defs.h b/src/common/ieee802_11_defs.h
index 15ea0fbdb20c..7ec295e5a248 100644
--- a/src/common/ieee802_11_defs.h
+++ b/src/common/ieee802_11_defs.h
@@ -3314,13 +3314,22 @@ struct ieee80211_uhr_capabilities {
 struct ieee80211_uhr_operation {
 	le16 oper_params; /* UHR Operation Parameters: UHR_OPER_* bits */
 	u8 basic_uhr_mcs_nss_set[4];
-	/* FIXME: DPS, NPCA, P-EDCA, DBE */
+	/* FIXME: DPS, P-EDCA, DBE */
 } STRUCT_PACKED;
 
 /* Max size in Draft P802.11bn D1.3 with DPS, NPCA, P-EDCA, DBE */
 #define IEEE80211_UHR_OPER_MAX_SIZE	\
 	(sizeof(struct ieee80211_uhr_operation) + 4 + 6 + 3 + 3)
 
+/* IEEE P802.11bn/D1.3, Figure 9-aa4 */
+#define UHR_OPER_PARAMS_NPCA_PRIM_CHAN_OFFS		0x0000000F
+#define UHR_OPER_PARAMS_NPCA_NPCA_MIN_DUR_THRESH	0x000000F0
+#define UHR_OPER_PARAMS_NPCA_NPCA_SWITCH_DELAY		0x00003F00
+#define UHR_OPER_PARAMS_NPCA_NPCA_SWITCH_BACK_DELAY	0x000FC000
+#define UHR_OPER_PARAMS_NPCA_INIT_NPCA_QRSC		0x00300000
+#define UHR_OPER_PARAMS_NPCA_MOPLEN_NPCA		0x00400000
+#define UHR_OPER_PARAMS_NPCA_DIS_SUBCH_BITMAP_PRES	0x00800000
+
 #ifdef _MSC_VER
 #pragma pack(pop)
 #endif /* _MSC_VER */
-- 
2.53.0




More information about the Hostap mailing list