qcacmn: populate num_max_active_vdev in WMI init

Set num_max_active_vdevs to WMI init command and
extract it from WMI ready event.

Change-Id: I6d6377c03214fcab74c675839f136301ebf27834
CRs-Fixed: 3183010
This commit is contained in:
Liangwei Dong
2022-04-26 16:28:17 +08:00
committed by Madan Koyyalamudi
parent e8e9381db1
commit 28ceb47c1d
3 changed files with 19 additions and 0 deletions

View File

@@ -762,6 +762,17 @@ static int init_deinit_ready_event_handler(ol_scn_t scn_handle,
else else
info->wlan_res_cfg.agile_capability = ready_ev.agile_capability; info->wlan_res_cfg.agile_capability = ready_ev.agile_capability;
if (ready_ev.num_max_active_vdevs) {
if (ready_ev.num_max_active_vdevs <
info->wlan_res_cfg.num_max_active_vdevs) {
target_if_err("unexpected num_max_active_vdevs fw %d host %d",
ready_ev.num_max_active_vdevs,
info->wlan_res_cfg.num_max_active_vdevs);
info->wlan_res_cfg.num_max_active_vdevs =
ready_ev.num_max_active_vdevs;
}
}
/* Indicate to the waiting thread that the ready /* Indicate to the waiting thread that the ready
* event was received * event was received
*/ */

View File

@@ -5840,6 +5840,8 @@ struct wmi_host_fw_abi_ver {
* @afc_outdoor_support: AFC support outdoor deployment * @afc_outdoor_support: AFC support outdoor deployment
* @carrier_profile_config: Configuration for per-carrier profile * @carrier_profile_config: Configuration for per-carrier profile
* @reo_qdesc_shared_addr_table_enabled: Reo shared qref enhancement enabled * @reo_qdesc_shared_addr_table_enabled: Reo shared qref enhancement enabled
* @num_max_active_vdevs: number of max active virtual devices (VAPs) to
* support
*/ */
typedef struct { typedef struct {
uint32_t num_vdevs; uint32_t num_vdevs;
@@ -5964,6 +5966,7 @@ typedef struct {
uint32_t carrier_profile_config; uint32_t carrier_profile_config;
bool sawf; bool sawf;
bool reo_qdesc_shared_addr_table_enabled; bool reo_qdesc_shared_addr_table_enabled;
uint32_t num_max_active_vdevs;
} target_resource_config; } target_resource_config;
/** /**
@@ -7680,6 +7683,8 @@ struct coex_config_params {
* and structs used within pktlog traces. This is sent * and structs used within pktlog traces. This is sent
* from the FW as part of FW ready event and needs * from the FW as part of FW ready event and needs
* to be embedded in the pktlog buffer header as version. * to be embedded in the pktlog buffer header as version.
* @num_max_active_vdevs: number of max active virtual devices (VAPs) to
* support
*/ */
struct wmi_host_ready_ev_param { struct wmi_host_ready_ev_param {
uint32_t status; uint32_t status;
@@ -7690,6 +7695,7 @@ struct wmi_host_ready_ev_param {
bool agile_capability; bool agile_capability;
uint32_t max_ast_index; uint32_t max_ast_index;
uint32_t pktlog_defs_checksum; uint32_t pktlog_defs_checksum;
uint32_t num_max_active_vdevs;
}; };
enum bcn_offload_control_param { enum bcn_offload_control_param {

View File

@@ -8060,6 +8060,7 @@ void wmi_copy_resource_config(wmi_resource_config *resource_cfg,
resource_cfg->max_ndp_sessions = resource_cfg->max_ndp_sessions =
tgt_res_cfg->max_ndp_sessions; tgt_res_cfg->max_ndp_sessions;
resource_cfg->max_ndi_interfaces = tgt_res_cfg->max_ndi; resource_cfg->max_ndi_interfaces = tgt_res_cfg->max_ndi;
resource_cfg->num_max_active_vdevs = tgt_res_cfg->num_max_active_vdevs;
if (tgt_res_cfg->atf_config) if (tgt_res_cfg->atf_config)
WMI_RSRC_CFG_FLAG_ATF_CONFIG_ENABLE_SET(resource_cfg->flag1, 1); WMI_RSRC_CFG_FLAG_ATF_CONFIG_ENABLE_SET(resource_cfg->flag1, 1);
@@ -11482,6 +11483,7 @@ static QDF_STATUS extract_ready_event_params_tlv(wmi_unified_t wmi_handle,
ev_param->max_ast_index = ev->max_ast_index; ev_param->max_ast_index = ev->max_ast_index;
ev_param->pktlog_defs_checksum = ev->pktlog_defs_checksum; ev_param->pktlog_defs_checksum = ev->pktlog_defs_checksum;
ev_param->agile_capability = 1; ev_param->agile_capability = 1;
ev_param->num_max_active_vdevs = ev->num_max_active_vdevs;
return QDF_STATUS_SUCCESS; return QDF_STATUS_SUCCESS;
} }