فهرست منبع

Merge "qcacmn: Add Extended MLD Capabilities And Operations in Basic ML IE"

Linux Build Service Account 1 سال پیش
والد
کامیت
bd7db3b28b

+ 20 - 1
umac/cmn_services/cmn_defs/inc/wlan_cmn_ieee80211.h

@@ -2274,6 +2274,8 @@ enum wlan_ml_linfo_subelementid {
 #define WLAN_ML_BV_CTRL_PBM_MLDCAPANDOP_P              ((uint16_t)BIT(4))
 /* MLD ID Present */
 #define WLAN_ML_BV_CTRL_PBM_MLDID_P                    ((uint16_t)BIT(5))
+/* Extended MLD Capabilities and Operations Present */
+#define WLAN_ML_BV_CTRL_PBM_EXT_MLDCAPANDOP_P          ((uint16_t)BIT(6))
 
 /* Definitions related to Basic variant Multi-Link element Common Info field */
 
@@ -2488,6 +2490,22 @@ enum wlan_ml_bv_cinfo_emlcap_transtimeout {
  */
 #define WLAN_ML_BV_CINFO_MLDID_SIZE                                      1
 
+/* Size in octets of Extended MLD Capabilities And Operations subfield in Basic
+ * variant Multi-Link element Common Info field as per IEEE P802.11be/D4.0.
+ */
+#define WLAN_ML_BV_CINFO_EXT_MLDCAPANDOP_SIZE                            2
+
+/* Definitions for sub-sub fields in Extended MLD Capabilities And Operations
+ * subfield in Basic variant Multi-Link element Common Info field. Any unused
+ * bits are reserved.
+ */
+/* Operation Parameter Update Support */
+#define WLAN_ML_BV_CINFO_EXTMLDCAPINFO_OP_PARAM_SUPP_IDX                 0
+#define WLAN_ML_BV_CINFO_EXTMLDCAPINFO_OP_PARAM_SUPP_BITS                1
+/* Recommended Max Simultaneous Links */
+#define WLAN_ML_BV_CINFO_EXTMLDCAPINFO_RECOM_MAX_SIMULT_LINKS_IDX        1
+#define WLAN_ML_BV_CINFO_EXTMLDCAPINFO_RECOM_MAX_SIMULT_LINKS_BITS       4
+
 /* Max value in octets of Common Info Length subfield of Common Info field in
  * Basic variant Multi-Link element
  */
@@ -2499,7 +2517,8 @@ enum wlan_ml_bv_cinfo_emlcap_transtimeout {
 	 WLAN_ML_BV_CINFO_MEDMSYNCDELAYINFO_SIZE + \
 	 WLAN_ML_BV_CINFO_EMLCAP_SIZE + \
 	 WLAN_ML_BV_CINFO_MLDCAPANDOP_SIZE + \
-	 WLAN_ML_BV_CINFO_MLDID_SIZE)
+	 WLAN_ML_BV_CINFO_MLDID_SIZE + \
+	 WLAN_ML_BV_CINFO_EXT_MLDCAPANDOP_SIZE)
 
 /* End of definitions related to Basic variant Multi-Link element Common Info
  * field.

+ 7 - 0
umac/mlo_mgr/inc/wlan_mlo_mgr_public_structs.h

@@ -57,6 +57,11 @@
 #define WLAN_UMAC_MLO_ASSOC_MAX_SUPPORTED_LINKS 1
 #endif
 
+/* Default Initialization value for Max Recommended Simultaneous Links */
+#ifndef WLAN_UMAC_MLO_RECOM_MAX_SIMULT_LINKS_DEFAULT
+#define WLAN_UMAC_MLO_RECOM_MAX_SIMULT_LINKS_DEFAULT 2
+#endif
+
 /* Max PEER support */
 #define MAX_MLO_PEER 512
 
@@ -793,6 +798,7 @@ struct wlan_mlo_link_mac_update {
  * @ptqm_migrate_timer: timer for ptqm migration
  * @mlo_peer_id_bmap: mlo_peer_id bitmap for ptqm migration
  * @link_ctx: link related information
+ * @mlo_max_recom_simult_links: Max Recommended Simultaneous Links
  */
 struct wlan_mlo_dev_context {
 	qdf_list_node_t node;
@@ -825,6 +831,7 @@ struct wlan_mlo_dev_context {
 	qdf_bitmap(mlo_peer_id_bmap, MAX_MLO_PEER_ID);
 #endif
 	struct mlo_link_switch_context *link_ctx;
+	uint8_t mlo_max_recom_simult_links;
 };
 
 /**

+ 3 - 0
umac/mlo_mgr/src/wlan_mlo_mgr_main.c

@@ -1151,6 +1151,9 @@ static QDF_STATUS mlo_dev_ctx_init(struct wlan_objmgr_vdev *vdev)
 		return QDF_STATUS_E_NOMEM;
 	}
 
+	ml_dev->mlo_max_recom_simult_links =
+		WLAN_UMAC_MLO_RECOM_MAX_SIMULT_LINKS_DEFAULT;
+
 	mlo_dev_mlpeer_list_init(ml_dev);
 
 	ml_link_lock_acquire(g_mlo_ctx);