Browse Source

qcacmn: API for completion of MLO setup sequence

Add API to invoke call back API registered post MLO
setup sequence completion.

CRs-Fixed: 3153531
Change-Id: I16552ff46929c985ff4b7a62f47cc667fe6f132e
Shwetha G K 3 years ago
parent
commit
73a570940f
2 changed files with 19 additions and 0 deletions
  1. 2 0
      target_if/core/inc/target_if.h
  2. 17 0
      target_if/init_deinit/src/init_event_handler.c

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

@@ -248,6 +248,7 @@ struct tgt_info {
  * @cfr_support_enable: CFR support enable
  * @set_pktlog_checksum: Set the pktlog checksum from FW ready event to pl_dev
  * @csa_switch_count_status: CSA event handler
+ * @mlo_setup_done_event: MLO setup sequence complete event handler
  */
 struct target_ops {
 	QDF_STATUS (*ext_resource_config_enable)
@@ -312,6 +313,7 @@ struct target_ops {
 		struct pdev_csa_switch_count_status csa_status);
 #if defined(WLAN_FEATURE_11BE_MLO) && defined(WLAN_MLO_MULTI_CHIP)
 	bool (*mlo_capable)(struct wlan_objmgr_psoc *psoc);
+	void (*mlo_setup_done_event)(struct wlan_objmgr_psoc *psoc);
 #endif
 };
 

+ 17 - 0
target_if/init_deinit/src/init_event_handler.c

@@ -859,6 +859,21 @@ exit:
 }
 
 #if defined(WLAN_FEATURE_11BE_MLO) && defined(WLAN_MLO_MULTI_CHIP)
+static void init_deinit_mlo_setup_done_event(struct wlan_objmgr_psoc *psoc)
+{
+	struct target_psoc_info *tgt_hdl;
+
+	tgt_hdl = wlan_psoc_get_tgt_if_handle(psoc);
+	if (!tgt_hdl) {
+		target_if_err("target_psoc_info is null");
+		return;
+	}
+
+	if ((tgt_hdl->tif_ops) &&
+	    (tgt_hdl->tif_ops->mlo_setup_done_event))
+		tgt_hdl->tif_ops->mlo_setup_done_event(psoc);
+}
+
 static int init_deinit_mlo_setup_comp_event_handler(ol_scn_t scn_handle,
 						    uint8_t *event,
 						    uint32_t data_len)
@@ -898,6 +913,8 @@ static int init_deinit_mlo_setup_comp_event_handler(ol_scn_t scn_handle,
 		wlan_objmgr_pdev_release_ref(pdev, WLAN_INIT_DEINIT_ID);
 	}
 
+	init_deinit_mlo_setup_done_event(psoc);
+
 	return 0;
 }