Bladeren bron

qcacmn: populate num_max_mlo_link_per_ml_bss in WMI init

Set num_max_mlo_link_per_ml_bss to WMI init command.

Change-Id: I48a46f66cea86ee660656509a9cd688e3e1f7541
CRs-Fixed: 3512393
Deeksha Gupta 2 jaren geleden
bovenliggende
commit
5bda5de6ce

+ 26 - 0
target_if/core/inc/target_if.h

@@ -3003,4 +3003,30 @@ static inline void target_if_set_reo_shared_qref_feature(struct wlan_objmgr_psoc
  */
 enum phy_ch_width
 target_if_wmi_chan_width_to_phy_ch_width(wmi_host_channel_width ch_width);
+
+#ifdef WLAN_FEATURE_11BE_MLO_ADV_FEATURE
+static inline void target_if_set_num_max_mlo_link(struct wlan_objmgr_psoc *psoc,
+						  struct tgt_info *info)
+{
+	struct target_psoc_info *tgt_hdl;
+	uint16_t value;
+
+	tgt_hdl = wlan_psoc_get_tgt_if_handle(psoc);
+	if (!tgt_hdl)
+		return;
+
+	if (!target_psoc_get_num_max_mlo_link(tgt_hdl))
+		value = WLAN_MAX_ML_DEFAULT_LINK;
+	else
+		value = QDF_MIN(target_psoc_get_num_max_mlo_link(tgt_hdl),
+				info->wlan_res_cfg.num_max_mlo_link_per_ml_bss);
+
+	info->wlan_res_cfg.num_max_mlo_link_per_ml_bss = value;
+}
+#else
+static inline void target_if_set_num_max_mlo_link(struct wlan_objmgr_psoc *psoc,
+						  struct tgt_info *info)
+{
+}
+#endif
 #endif

+ 2 - 0
target_if/init_deinit/src/init_cmd_api.c

@@ -592,6 +592,8 @@ void init_deinit_prepare_send_init_cmd(
 
 	target_if_set_reo_shared_qref_feature(psoc, info);
 
+	target_if_set_num_max_mlo_link(psoc, info);
+
 	wmi_unified_init_cmd_send(wmi_handle, &init_param);
 
 	/* Set Max scans allowed */

+ 2 - 0
wmi/inc/wmi_unified_param.h

@@ -6757,6 +6757,7 @@ struct target_feature_set {
  * @reo_qdesc_shared_addr_table_enabled: Reo shared qref enhancement enabled
  * @num_max_active_vdevs: max number of active virtual devices (VAPs) to
  * support
+ * @num_max_mlo_link_per_ml_bss: number of max partner links of a ML BSS
  * @notify_frame_support: capability to mark notify frames from host
  * @dp_peer_meta_data_ver: datapath peer meta data version flag
  * @tx_ilp_enable: capability to support TX ILP from host
@@ -6887,6 +6888,7 @@ typedef struct {
 	bool sawf;
 	bool reo_qdesc_shared_addr_table_enabled;
 	uint32_t num_max_active_vdevs;
+	uint32_t num_max_mlo_link_per_ml_bss;
 	uint8_t notify_frame_support;
 	uint8_t dp_peer_meta_data_ver;
 #ifdef DP_TX_PACKET_INSPECT_FOR_ILP

+ 2 - 0
wmi/src/wmi_unified_tlv.c

@@ -9247,6 +9247,8 @@ void wmi_copy_resource_config(wmi_resource_config *resource_cfg,
 				tgt_res_cfg->max_ndp_sessions;
 	resource_cfg->max_ndi_interfaces = tgt_res_cfg->max_ndi;
 	resource_cfg->num_max_active_vdevs = tgt_res_cfg->num_max_active_vdevs;
+	resource_cfg->num_max_mlo_link_per_ml_bss =
+				tgt_res_cfg->num_max_mlo_link_per_ml_bss;
 
 	if (tgt_res_cfg->atf_config)
 		WMI_RSRC_CFG_FLAG_ATF_CONFIG_ENABLE_SET(resource_cfg->flag1, 1);