diff --git a/target_if/core/inc/target_if.h b/target_if/core/inc/target_if.h index ad4b8a5a87..45a11f4483 100644 --- a/target_if/core/inc/target_if.h +++ b/target_if/core/inc/target_if.h @@ -233,6 +233,7 @@ struct tgt_info { * @mesh_support_enable: Mesh support enable * @smart_antenna_enable: Smart antenna enable * @atf_config_enable: ATF config enable + * @qwrap_config_enable: QWRAP config enable * @btcoex_config_enable: BTCOEX config enable * @lteu_ext_support_enable: LTE-U Ext config enable * @set_init_cmd_dev_based_params: Sets Init command params @@ -265,6 +266,9 @@ struct target_ops { void (*atf_config_enable) (struct wlan_objmgr_psoc *psoc, struct target_psoc_info *tgt_info, uint8_t *event); + void (*qwrap_config_enable) + (struct wlan_objmgr_psoc *psoc, + struct target_psoc_info *tgt_info, uint8_t *event); void (*btcoex_config_enable) (struct wlan_objmgr_psoc *psoc, struct target_psoc_info *tgt_info, uint8_t *event); @@ -2034,6 +2038,24 @@ static inline void target_if_atf_cfg_enable(struct wlan_objmgr_psoc *psoc, tgt_hdl->tif_ops->atf_config_enable(psoc, tgt_hdl, evt_buf); } +/** + * target_if_qwrap_cfg_enable - Enable QWRAP config + * @psoc: psoc object + * @tgt_hdl: target_psoc_info pointer + * @evt_buf: Event buffer received from FW + * + * API to enable QWRAP config + * + * Return: none + */ +static inline void target_if_qwrap_cfg_enable(struct wlan_objmgr_psoc *psoc, + struct target_psoc_info *tgt_hdl, uint8_t *evt_buf) +{ + if ((tgt_hdl->tif_ops) && + (tgt_hdl->tif_ops->qwrap_config_enable)) + tgt_hdl->tif_ops->qwrap_config_enable(psoc, tgt_hdl, evt_buf); +} + /** * target_if_btcoex_cfg_enable - Enable BT coex config * @psoc: psoc object diff --git a/target_if/init_deinit/src/init_event_handler.c b/target_if/init_deinit/src/init_event_handler.c index b07720d6c2..7ee8aeefb0 100644 --- a/target_if/init_deinit/src/init_event_handler.c +++ b/target_if/init_deinit/src/init_event_handler.c @@ -195,6 +195,9 @@ static int init_deinit_service_ready_event_handler(ol_scn_t scn_handle, wlan_psoc_nif_fw_ext_cap_set(psoc, WLAN_SOC_F_MGMT_RX_REO_CAPABLE); + if (!wmi_service_enabled(wmi_handle, wmi_service_ext_msg)) + target_if_qwrap_cfg_enable(psoc, tgt_hdl, event); + target_if_lteu_cfg_enable(psoc, tgt_hdl, event); if (wmi_service_enabled(wmi_handle, wmi_service_rx_fse_support)) @@ -483,6 +486,8 @@ static int init_deinit_service_ext_ready_event_handler(ol_scn_t scn_handle, legacy_callback(wmi_service_ready_ext_event_id, scn_handle, event, data_len); + target_if_qwrap_cfg_enable(psoc, tgt_hdl, event); + target_if_set_twt_ap_pdev_count(info, tgt_hdl); info->wlan_res_cfg.max_bssid_indicator =