qcacmn: Add WMI event support for dynamic Muedca
Add support for WMI event to host to process dynamically selected Muedca values and update the mgmt frames with the new set of values. Extract the params and store in Muedca_param struct from control path, to be used for updating mgmt frames. Change-Id: I6cc7756d1a246ff994edef195f6191d280bc5c47
This commit is contained in:
@@ -350,6 +350,38 @@ static QDF_STATUS extract_ext_tbttoffset_update_params_tlv(
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
static QDF_STATUS extract_muedca_params_tlv(wmi_unified_t wmi_hdl,
|
||||
void *evt_buf,
|
||||
struct muedca_params *muedca_param_list)
|
||||
{
|
||||
WMI_MUEDCA_PARAMS_CONFIG_EVENTID_param_tlvs *param_buf;
|
||||
wmi_muedca_params_config_event_fixed_param *muedca_param;
|
||||
int i;
|
||||
|
||||
param_buf = (WMI_MUEDCA_PARAMS_CONFIG_EVENTID_param_tlvs *)evt_buf;
|
||||
if (!param_buf) {
|
||||
WMI_LOGE("%s: Invalid muedca evt buffer", __func__);
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
muedca_param = param_buf->fixed_param;
|
||||
|
||||
muedca_param_list->pdev_id = wmi_hdl->ops->
|
||||
convert_pdev_id_target_to_host(wmi_hdl,
|
||||
muedca_param->pdev_id);
|
||||
for (i = 0; i < WMI_AC_MAX; i++) {
|
||||
muedca_param_list->muedca_aifsn[i] = muedca_param->aifsn[i] &
|
||||
WMI_MUEDCA_PARAM_MASK;
|
||||
muedca_param_list->muedca_ecwmin[i] = muedca_param->ecwmin[i] &
|
||||
WMI_MUEDCA_PARAM_MASK;
|
||||
muedca_param_list->muedca_ecwmax[i] = muedca_param->ecwmax[i] &
|
||||
WMI_MUEDCA_PARAM_MASK;
|
||||
muedca_param_list->muedca_timer[i] = muedca_param->muedca_expiration_time[i] &
|
||||
WMI_MUEDCA_PARAM_MASK;
|
||||
}
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
void wmi_vdev_attach_tlv(struct wmi_unified *wmi_handle)
|
||||
{
|
||||
struct wmi_ops *wmi_ops;
|
||||
@@ -373,6 +405,8 @@ void wmi_vdev_attach_tlv(struct wmi_unified *wmi_handle)
|
||||
extract_ext_tbttoffset_update_params_tlv;
|
||||
wmi_ops->extract_ext_tbttoffset_num_vdevs =
|
||||
extract_ext_tbttoffset_num_vdevs_tlv;
|
||||
wmi_ops->extract_muedca_params_handler =
|
||||
extract_muedca_params_tlv;
|
||||
wmi_ops->send_vdev_set_neighbour_rx_cmd =
|
||||
send_vdev_set_neighbour_rx_cmd_tlv;
|
||||
wmi_ops->send_beacon_send_cmd = send_beacon_send_cmd_tlv;
|
||||
|
Reference in New Issue
Block a user