Преглед на файлове

qcacmn: Add support to set the MU EDCA params to FW

Add support to set HE MU EDCA parameters to FW

Change-Id: I1aa641764248c0fd834d8790d2268887d3ab0903
CRs-Fixed: 2220230
Kiran Kumar Lokere преди 7 години
родител
ревизия
a536eac8cc
променени са 2 файла, в които са добавени 9 реда и са изтрити 4 реда
  1. 3 2
      wmi_unified_api.c
  2. 6 2
      wmi_unified_tlv.c

+ 3 - 2
wmi_unified_api.c

@@ -1457,6 +1457,7 @@ 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
  * @vdev_id: vdev id.
+ * @mu_edca_param: mu_edca_param.
  * @wmm_vparams: edca parameters
  *
  * This function updates EDCA parameters to the target
@@ -1464,14 +1465,14 @@ QDF_STATUS wmi_unified_vdev_set_gtx_cfg_cmd(void *wmi_hdl, uint32_t if_id,
  * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
  */
 QDF_STATUS wmi_unified_process_update_edca_param(void *wmi_hdl,
-				uint8_t vdev_id,
+				uint8_t vdev_id, bool mu_edca_param,
 				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, wmm_vparams);
+					 vdev_id, mu_edca_param, wmm_vparams);
 
 	return QDF_STATUS_E_FAILURE;
 }

+ 6 - 2
wmi_unified_tlv.c

@@ -5173,7 +5173,7 @@ static QDF_STATUS send_vdev_set_gtx_cfg_cmd_tlv(wmi_unified_t wmi_handle, uint32
  * Return: CDF Status
  */
 static QDF_STATUS send_process_update_edca_param_cmd_tlv(wmi_unified_t wmi_handle,
-				    uint8_t vdev_id,
+				    uint8_t vdev_id, bool mu_edca_param,
 				    struct wmi_host_wme_vparams wmm_vparams[WMI_MAX_NUM_AC])
 {
 	uint8_t *buf_ptr;
@@ -5198,6 +5198,7 @@ static QDF_STATUS send_process_update_edca_param_cmd_tlv(wmi_unified_t wmi_handl
 		       WMITLV_GET_STRUCT_TLVLEN
 			       (wmi_vdev_set_wmm_params_cmd_fixed_param));
 	cmd->vdev_id = vdev_id;
+	cmd->wmm_param_type = mu_edca_param;
 
 	for (ac = 0; ac < WMI_MAX_NUM_AC; ac++) {
 		wmm_param = (wmi_wmm_vparams *) (&cmd->wmm_params[ac]);
@@ -5208,7 +5209,10 @@ static QDF_STATUS send_process_update_edca_param_cmd_tlv(wmi_unified_t wmi_handl
 		wmm_param->cwmin = twmm_param->cwmin;
 		wmm_param->cwmax = twmm_param->cwmax;
 		wmm_param->aifs = twmm_param->aifs;
-		wmm_param->txoplimit = twmm_param->txoplimit;
+		if (mu_edca_param)
+			wmm_param->mu_edca_timer = twmm_param->mu_edca_timer;
+		else
+			wmm_param->txoplimit = twmm_param->txoplimit;
 		wmm_param->acm = twmm_param->acm;
 		wmm_param->no_ack = twmm_param->noackpolicy;
 	}