diff --git a/dp/inc/cdp_txrx_stats_struct.h b/dp/inc/cdp_txrx_stats_struct.h index cd3651f1a9..fad6d39593 100644 --- a/dp/inc/cdp_txrx_stats_struct.h +++ b/dp/inc/cdp_txrx_stats_struct.h @@ -1969,6 +1969,7 @@ struct cdp_peer_hmwds_ast_add_status { enum cdp_soc_param_t { DP_SOC_PARAM_MSDU_EXCEPTION_DESC, + DP_SOC_PARAM_CMEM_FSE_SUPPORT, DP_SOC_PARAM_MAX, }; diff --git a/dp/wifi3.0/dp_main.c b/dp/wifi3.0/dp_main.c index c38298b131..322d8db6e9 100644 --- a/dp/wifi3.0/dp_main.c +++ b/dp/wifi3.0/dp_main.c @@ -10338,6 +10338,10 @@ static QDF_STATUS dp_soc_set_param(struct cdp_soc_t *soc_hdl, dp_info("num_msdu exception_desc %u", value); break; + case DP_SOC_PARAM_CMEM_FSE_SUPPORT: + soc->fst_in_cmem = !!value; + dp_info("FW supports CMEM FSE %u", value); + break; default: dp_info("not handled param %d ", param); break; diff --git a/target_if/init_deinit/src/init_event_handler.c b/target_if/init_deinit/src/init_event_handler.c index ddee28290d..5d77837bc4 100644 --- a/target_if/init_deinit/src/init_event_handler.c +++ b/target_if/init_deinit/src/init_event_handler.c @@ -210,6 +210,11 @@ static int init_deinit_service_ready_event_handler(ol_scn_t scn_handle, DP_SOC_PARAM_MSDU_EXCEPTION_DESC, tgt_hdl->info.target_caps.num_msdu_desc); + /* Send CMEM FSE support to DP layer */ + if (wmi_service_enabled(wmi_handle, wmi_service_fse_cmem_alloc_support)) + cdp_soc_set_param(wlan_psoc_get_dp_handle(psoc), + DP_SOC_PARAM_CMEM_FSE_SUPPORT, 1); + if (wmi_service_enabled(wmi_handle, wmi_service_ext_msg)) { target_if_debug("Wait for EXT message"); } else {