qcacmn: fill htt peer data version as part of init cmd
With latest architecture there are different HTT peer data versions supported by the firmware, supported htt peer version will be sent in the service ready and need to feedback to the firmware in the init command. Change-Id: Icd0470843198387cd7e0192cbe3821d45ef0534e CRs-Fixed: 3008706
This commit is contained in:

committed by
Madan Koyyalamudi

parent
8cdc1875ae
commit
09cd3e0dd9
@@ -2688,4 +2688,23 @@ void target_psoc_get_twt_ack_cap(struct target_psoc_info *psoc_info, bool *val)
|
|||||||
|
|
||||||
*val = psoc_info->info.service_ext2_param.twt_ack_support_cap;
|
*val = psoc_info->info.service_ext2_param.twt_ack_support_cap;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* target_psoc_target_cap_flags() - flags containing information about target
|
||||||
|
* capabilities
|
||||||
|
* @psoc_info: pointer to structure target_psoc_info
|
||||||
|
*
|
||||||
|
* API to get flags containing information about target capabilities
|
||||||
|
*
|
||||||
|
* Return: no of target_cap_flags
|
||||||
|
*/
|
||||||
|
static inline uint32_t target_psoc_get_target_cap_flags
|
||||||
|
(struct target_psoc_info *psoc_info)
|
||||||
|
{
|
||||||
|
if (!psoc_info)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
return psoc_info->info.service_ext2_param.target_cap_flags;
|
||||||
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -428,6 +428,7 @@ struct wlan_psoc_host_service_ext_param {
|
|||||||
* @max_users_dl_mumimo: Max number of users per-PPDU for Downlink MU-MIMO
|
* @max_users_dl_mumimo: Max number of users per-PPDU for Downlink MU-MIMO
|
||||||
* @max_users_ul_mumimo: Max number of users per-PPDU for Uplink MU-MIMO
|
* @max_users_ul_mumimo: Max number of users per-PPDU for Uplink MU-MIMO
|
||||||
* @twt_ack_support_cap: TWT ack capability support
|
* @twt_ack_support_cap: TWT ack capability support
|
||||||
|
* @target_cap_flags: Rx peer metadata version number used by target
|
||||||
*/
|
*/
|
||||||
struct wlan_psoc_host_service_ext2_param {
|
struct wlan_psoc_host_service_ext2_param {
|
||||||
uint8_t reg_db_version_major;
|
uint8_t reg_db_version_major;
|
||||||
@@ -444,6 +445,7 @@ struct wlan_psoc_host_service_ext2_param {
|
|||||||
uint16_t max_users_dl_mumimo;
|
uint16_t max_users_dl_mumimo;
|
||||||
uint16_t max_users_ul_mumimo;
|
uint16_t max_users_ul_mumimo;
|
||||||
uint32_t twt_ack_support_cap:1;
|
uint32_t twt_ack_support_cap:1;
|
||||||
|
uint32_t target_cap_flags;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* _SERVICE_READY_PARAM_H_*/
|
#endif /* _SERVICE_READY_PARAM_H_*/
|
||||||
|
@@ -467,6 +467,9 @@ void init_deinit_prepare_send_init_cmd(
|
|||||||
if (info->service_ext2_param.twt_ack_support_cap)
|
if (info->service_ext2_param.twt_ack_support_cap)
|
||||||
info->wlan_res_cfg.twt_ack_support_cap = true;
|
info->wlan_res_cfg.twt_ack_support_cap = true;
|
||||||
|
|
||||||
|
info->wlan_res_cfg.target_cap_flags =
|
||||||
|
target_psoc_get_target_cap_flags(tgt_hdl);
|
||||||
|
|
||||||
target_if_debug("FW version 0x%x ", info->target_caps.fw_version);
|
target_if_debug("FW version 0x%x ", info->target_caps.fw_version);
|
||||||
if (init_deinit_is_service_ext_msg(psoc, tgt_hdl) == QDF_STATUS_SUCCESS)
|
if (init_deinit_is_service_ext_msg(psoc, tgt_hdl) == QDF_STATUS_SUCCESS)
|
||||||
target_if_debug("0x%x\n",
|
target_if_debug("0x%x\n",
|
||||||
|
@@ -5541,6 +5541,7 @@ typedef struct {
|
|||||||
bool dynamic_pcie_gen_speed_change;
|
bool dynamic_pcie_gen_speed_change;
|
||||||
bool twt_ack_support_cap;
|
bool twt_ack_support_cap;
|
||||||
uint32_t ema_init_config;
|
uint32_t ema_init_config;
|
||||||
|
uint32_t target_cap_flags;
|
||||||
} target_resource_config;
|
} target_resource_config;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -7595,6 +7595,9 @@ void wmi_copy_resource_config(wmi_resource_config *resource_cfg,
|
|||||||
if (tgt_res_cfg->twt_ack_support_cap)
|
if (tgt_res_cfg->twt_ack_support_cap)
|
||||||
WMI_RSRC_CFG_HOST_SERVICE_FLAG_STA_TWT_SYNC_EVT_SUPPORT_SET(
|
WMI_RSRC_CFG_HOST_SERVICE_FLAG_STA_TWT_SYNC_EVT_SUPPORT_SET(
|
||||||
resource_cfg->host_service_flags, 1);
|
resource_cfg->host_service_flags, 1);
|
||||||
|
|
||||||
|
WMI_TARGET_CAP_FLAGS_RX_PEER_METADATA_VERSION_SET(resource_cfg->flags2,
|
||||||
|
tgt_res_cfg->target_cap_flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* copy_hw_mode_id_in_init_cmd() - Helper routine to copy hw_mode in init cmd
|
/* copy_hw_mode_id_in_init_cmd() - Helper routine to copy hw_mode in init cmd
|
||||||
@@ -11418,7 +11421,8 @@ extract_service_ready_ext2_tlv(wmi_unified_t wmi_handle, uint8_t *event,
|
|||||||
ev->max_user_per_ppdu_mumimo);
|
ev->max_user_per_ppdu_mumimo);
|
||||||
param->max_users_ul_mumimo = WMI_MAX_USER_PER_PPDU_UL_MUMIMO_GET(
|
param->max_users_ul_mumimo = WMI_MAX_USER_PER_PPDU_UL_MUMIMO_GET(
|
||||||
ev->max_user_per_ppdu_mumimo);
|
ev->max_user_per_ppdu_mumimo);
|
||||||
|
param->target_cap_flags = ev->target_cap_flags;
|
||||||
|
wmi_debug("htt peer data :%d", ev->target_cap_flags);
|
||||||
return QDF_STATUS_SUCCESS;
|
return QDF_STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user