diff --git a/wmi/inc/wmi_unified_api.h b/wmi/inc/wmi_unified_api.h index 2a66094e53..e1badf0452 100644 --- a/wmi/inc/wmi_unified_api.h +++ b/wmi/inc/wmi_unified_api.h @@ -571,12 +571,9 @@ QDF_STATUS wmi_unified_set_sta_keep_alive_cmd(void *wmi_hdl, QDF_STATUS wmi_unified_vdev_set_gtx_cfg_cmd(void *wmi_hdl, uint32_t if_id, struct wmi_gtx_config *gtx_info); -#ifdef CONFIG_MCL QDF_STATUS wmi_unified_process_update_edca_param(void *wmi_hdl, uint8_t vdev_id, - wmi_wmm_vparams gwmm_param[WMI_MAX_NUM_AC]); -#endif - + struct wmi_host_wme_vparams wmm_vparams[WMI_MAX_NUM_AC]); QDF_STATUS wmi_unified_probe_rsp_tmpl_send_cmd(void *wmi_hdl, uint8_t vdev_id, diff --git a/wmi/inc/wmi_unified_param.h b/wmi/inc/wmi_unified_param.h index 085e287842..f99c933856 100644 --- a/wmi/inc/wmi_unified_param.h +++ b/wmi/inc/wmi_unified_param.h @@ -4047,6 +4047,27 @@ struct wmm_update_params { struct wmi_host_wmeParams *wmep_array; }; +/** + * struct wmi_host_wmevParams - WME params + * @wmep_acm: ACM paramete + * @wmep_aifsn: AIFSN parameters + * @wmep_logcwmin: cwmin in exponential form + * @wmep_logcwmax: cwmax in exponential form + * @wmep_txopLimit: txopLimit + * @wmep_noackPolicy: No-Ack Policy: 0=ack, 1=no-ack + */ +struct wmi_host_wme_vparams { + u_int32_t acm; + u_int32_t aifs; + u_int32_t cwmin; + u_int32_t cwmax; + union { + u_int32_t txoplimit; + u_int32_t mu_edca_timer; + }; + u_int32_t noackpolicy; +}; + /** * struct ant_switch_tbl_params - Antenna switch table params * @ant_ctrl_common1: ANtenna control common param 1 diff --git a/wmi/inc/wmi_unified_priv.h b/wmi/inc/wmi_unified_priv.h index 20894ffe0b..255ddbca3b 100644 --- a/wmi/inc/wmi_unified_priv.h +++ b/wmi/inc/wmi_unified_priv.h @@ -576,10 +576,6 @@ QDF_STATUS (*send_get_link_speed_cmd)(wmi_unified_t wmi_handle, QDF_STATUS (*send_egap_conf_params_cmd)(wmi_unified_t wmi_handle, wmi_ap_ps_egap_param_cmd_fixed_param *egap_params); -QDF_STATUS (*send_process_update_edca_param_cmd)(wmi_unified_t wmi_handle, - uint8_t vdev_id, - wmi_wmm_vparams gwmm_param[WMI_MAX_NUM_AC]); - QDF_STATUS (*send_bcn_buf_ll_cmd)(wmi_unified_t wmi_handle, wmi_bcn_send_from_host_cmd_fixed_param * param); @@ -793,6 +789,10 @@ QDF_STATUS (*send_set_vht_ie_cmd)(wmi_unified_t wmi_handle, QDF_STATUS (*send_wmm_update_cmd)(wmi_unified_t wmi_handle, struct wmm_update_params *param); +QDF_STATUS (*send_process_update_edca_param_cmd)(wmi_unified_t wmi_handle, + uint8_t vdev_id, + struct wmi_host_wme_vparams wmm_vparams[WMI_MAX_NUM_AC]); + QDF_STATUS (*send_set_ant_switch_tbl_cmd)(wmi_unified_t wmi_handle, struct ant_switch_tbl_params *param); diff --git a/wmi/src/wmi_unified_api.c b/wmi/src/wmi_unified_api.c index 7a1fd5dcaf..70ffefa8d5 100644 --- a/wmi/src/wmi_unified_api.c +++ b/wmi/src/wmi_unified_api.c @@ -1420,26 +1420,25 @@ QDF_STATUS wmi_unified_vdev_set_gtx_cfg_cmd(void *wmi_hdl, uint32_t if_id, /** * wmi_unified_process_update_edca_param() - update EDCA params * @wmi_hdl: wmi handle - * @edca_params: edca parameters + * @vdev_id: vdev id. + * @wmm_vparams: edca parameters * * This function updates EDCA parameters to the target * * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure */ -#ifdef CONFIG_MCL QDF_STATUS wmi_unified_process_update_edca_param(void *wmi_hdl, uint8_t vdev_id, - wmi_wmm_vparams gwmm_param[WMI_MAX_NUM_AC]) + struct wmi_host_wme_vparams wmm_vparams[WMI_MAX_NUM_AC]) { wmi_unified_t wmi_handle = (wmi_unified_t) wmi_hdl; if (wmi_handle->ops->send_process_update_edca_param_cmd) return wmi_handle->ops->send_process_update_edca_param_cmd(wmi_handle, - vdev_id, gwmm_param); + vdev_id, wmm_vparams); return QDF_STATUS_E_FAILURE; } -#endif /** * wmi_unified_probe_rsp_tmpl_send_cmd() - send probe response template to fw diff --git a/wmi/src/wmi_unified_tlv.c b/wmi/src/wmi_unified_tlv.c index 5d7ab3fc47..137c0826f8 100644 --- a/wmi/src/wmi_unified_tlv.c +++ b/wmi/src/wmi_unified_tlv.c @@ -4699,7 +4699,8 @@ static QDF_STATUS send_vdev_set_gtx_cfg_cmd_tlv(wmi_unified_t wmi_handle, uint32 /** * send_process_update_edca_param_cmd_tlv() - update EDCA params * @wmi_handle: wmi handle - * @edca_params: edca parameters + * @vdev_id: vdev id. + * @wmm_vparams: edca parameters * * This function updates EDCA parameters to the target * @@ -4707,12 +4708,13 @@ static QDF_STATUS send_vdev_set_gtx_cfg_cmd_tlv(wmi_unified_t wmi_handle, uint32 */ static QDF_STATUS send_process_update_edca_param_cmd_tlv(wmi_unified_t wmi_handle, uint8_t vdev_id, - wmi_wmm_vparams gwmm_param[WMI_MAX_NUM_AC]) + struct wmi_host_wme_vparams wmm_vparams[WMI_MAX_NUM_AC]) { uint8_t *buf_ptr; wmi_buf_t buf; wmi_vdev_set_wmm_params_cmd_fixed_param *cmd; - wmi_wmm_vparams *wmm_param, *twmm_param; + wmi_wmm_vparams *wmm_param; + struct wmi_host_wme_vparams *twmm_param; int len = sizeof(*cmd); int ac; @@ -4733,7 +4735,7 @@ static QDF_STATUS send_process_update_edca_param_cmd_tlv(wmi_unified_t wmi_handl for (ac = 0; ac < WMI_MAX_NUM_AC; ac++) { wmm_param = (wmi_wmm_vparams *) (&cmd->wmm_params[ac]); - twmm_param = (wmi_wmm_vparams *) (&gwmm_param[ac]); + twmm_param = (struct wmi_host_wme_vparams *) (&wmm_vparams[ac]); WMITLV_SET_HDR(&wmm_param->tlv_header, WMITLV_TAG_STRUC_wmi_vdev_set_wmm_params_cmd_fixed_param, WMITLV_GET_STRUCT_TLVLEN(wmi_wmm_vparams)); @@ -4742,7 +4744,7 @@ static QDF_STATUS send_process_update_edca_param_cmd_tlv(wmi_unified_t wmi_handl wmm_param->aifs = twmm_param->aifs; wmm_param->txoplimit = twmm_param->txoplimit; wmm_param->acm = twmm_param->acm; - wmm_param->no_ack = twmm_param->no_ack; + wmm_param->no_ack = twmm_param->noackpolicy; } if (wmi_unified_cmd_send(wmi_handle, buf, len, @@ -18805,8 +18807,6 @@ struct wmi_ops tlv_ops = { .send_get_link_speed_cmd = send_get_link_speed_cmd_tlv, .send_egap_conf_params_cmd = send_egap_conf_params_cmd_tlv, .send_bcn_buf_ll_cmd = send_bcn_buf_ll_cmd_tlv, - .send_process_update_edca_param_cmd = - send_process_update_edca_param_cmd_tlv, .send_roam_scan_offload_mode_cmd = send_roam_scan_offload_mode_cmd_tlv, .send_pktlog_wmi_send_cmd = send_pktlog_wmi_send_cmd_tlv, @@ -18925,6 +18925,8 @@ struct wmi_ops tlv_ops = { send_thermal_mitigation_param_cmd_tlv, .send_pdev_qvit_cmd = send_pdev_qvit_cmd_tlv, .send_wmm_update_cmd = send_wmm_update_cmd_tlv, + .send_process_update_edca_param_cmd = + send_process_update_edca_param_cmd_tlv, .send_coex_config_cmd = send_coex_config_cmd_tlv, .send_set_country_cmd = send_set_country_cmd_tlv, .get_target_cap_from_service_ready = extract_service_ready_tlv,