Explorar el Código

qcacld-3.0: Avoid WMI_HE_OPS macros in lim

Avoid using WMI HE Ops macro in lim and use dot11f struct for
HE Ops instead. Keep the tranlation to FW interpratation of
HE Ops in wma layer only.

Change-Id: Ie94795541aaddb7ae291ff451b938ebb96f74dbf
CRs-Fixed: 2145510
Naveen Rawat hace 7 años
padre
commit
df221b7f73

+ 3 - 4
core/mac/src/pe/lim/lim_process_sme_req_messages.c

@@ -5990,10 +5990,9 @@ void lim_process_set_he_bss_color(tpAniSirGlobal mac_ctx, uint32_t *msg_buf)
 	session_entry->he_bss_color_change.new_color = bss_color->bss_color;
 	session_entry->he_bss_color_change.new_color = bss_color->bss_color;
 	session_entry->he_op.bss_color =
 	session_entry->he_op.bss_color =
 		session_entry->he_bss_color_change.new_color;
 		session_entry->he_bss_color_change.new_color;
-	WMI_HEOPS_COLOR_SET(beacon_params.he_ops,
-			session_entry->he_op.bss_color);
-	WMI_HEOPS_BSSCOLORDISABLE_SET(beacon_params.he_ops,
-			session_entry->he_op.bss_col_disabled);
+	beacon_params.bss_color = session_entry->he_op.bss_color;
+	beacon_params.bss_color_disabled =
+		session_entry->he_op.bss_col_disabled;
 	session_entry->bss_color_changing = 1;
 	session_entry->bss_color_changing = 1;
 
 
 	if (sch_set_fixed_beacon_fields(mac_ctx, session_entry) !=
 	if (sch_set_fixed_beacon_fields(mac_ctx, session_entry) !=

+ 3 - 18
core/mac/src/pe/lim/lim_utils.c

@@ -5870,30 +5870,15 @@ bool lim_check_vht_op_mode_change(tpAniSirGlobal pMac, tpPESession psessionEntry
 #ifdef WLAN_FEATURE_11AX_BSS_COLOR
 #ifdef WLAN_FEATURE_11AX_BSS_COLOR
 bool lim_send_he_ie_update(tpAniSirGlobal mac_ctx, tpPESession pe_session)
 bool lim_send_he_ie_update(tpAniSirGlobal mac_ctx, tpPESession pe_session)
 {
 {
-	uint32_t he_ops = 0;
-	tDot11fIEhe_op *he_op = &pe_session->he_op;
 	QDF_STATUS status;
 	QDF_STATUS status;
 
 
-	WMI_HEOPS_COLOR_SET(he_ops, he_op->bss_color);
-	WMI_HEOPS_DEFPE_SET(he_ops, he_op->default_pe);
-	WMI_HEOPS_TWT_SET(he_ops, he_op->twt_required);
-	WMI_HEOPS_RTSTHLD_SET(he_ops, he_op->rts_threshold);
-	WMI_HEOPS_PARTBSSCOLOR_SET(he_ops, he_op->partial_bss_col);
-	WMI_HEOPS_TXBSSID_SET(he_ops, he_op->tx_bssid_ind);
-	WMI_HEOPS_BSSCOLORDISABLE_SET(he_ops, he_op->bss_col_disabled);
 	status = wma_update_he_ops_ie(cds_get_context(QDF_MODULE_ID_WMA),
 	status = wma_update_he_ops_ie(cds_get_context(QDF_MODULE_ID_WMA),
-				      pe_session->smeSessionId, he_ops);
-	if (status != QDF_STATUS_SUCCESS)  {
-		pe_err("Can't send for vdev_id[%d] he_ops[0x%x]",
-			pe_session->smeSessionId, he_ops);
+				      pe_session->smeSessionId,
+				      &pe_session->he_op);
+	if (QDF_IS_STATUS_ERROR(status))
 		return false;
 		return false;
-	} else {
-		pe_debug("successfully sent for vdev_id[%d] he_ops[0x%x]",
-			pe_session->smeSessionId, he_ops);
-	}
 
 
 	return true;
 	return true;
-
 }
 }
 #endif
 #endif
 
 

+ 3 - 4
core/mac/src/pe/sch/sch_beacon_process.c

@@ -989,10 +989,9 @@ static void sch_check_bss_color_ie(tpAniSirGlobal mac_ctx,
 								ap_session);
 								ap_session);
 			ap_session->he_op.bss_color = ap_session->
 			ap_session->he_op.bss_color = ap_session->
 						he_bss_color_change.new_color;
 						he_bss_color_change.new_color;
-			WMI_HEOPS_COLOR_SET(bcn_prm->he_ops,
-						ap_session->he_op.bss_color);
-			WMI_HEOPS_BSSCOLORDISABLE_SET(bcn_prm->he_ops,
-					ap_session->he_op.bss_col_disabled);
+			bcn_prm->bss_color = ap_session->he_op.bss_color;
+			bcn_prm->bss_color_disabled =
+					ap_session->he_op.bss_col_disabled;
 			ap_session->bss_color_changing = 1;
 			ap_session->bss_color_changing = 1;
 		} else {
 		} else {
 			/* update info for the bss color */
 			/* update info for the bss color */

+ 2 - 2
core/wma/inc/wma_he.h

@@ -193,7 +193,7 @@ void wma_update_vdev_he_capable(struct wma_vdev_start_req *req,
  * Return: QDF_STATUS
  * Return: QDF_STATUS
  */
  */
 QDF_STATUS wma_update_he_ops_ie(tp_wma_handle wma, uint8_t vdev_id,
 QDF_STATUS wma_update_he_ops_ie(tp_wma_handle wma, uint8_t vdev_id,
-					   uint32_t he_ops);
+				tDot11fIEhe_op *he_ops);
 
 
 /**
 /**
  * wma_get_he_capabilities() - Get HE capabilities from WMA
  * wma_get_he_capabilities() - Get HE capabilities from WMA
@@ -282,7 +282,7 @@ static inline void wma_copy_vdev_start_he_ops(struct vdev_start_params *params,
 }
 }
 
 
 static inline  QDF_STATUS wma_update_he_ops_ie(tp_wma_handle wma,
 static inline  QDF_STATUS wma_update_he_ops_ie(tp_wma_handle wma,
-			uint8_t vdev_id, uint32_t he_ops)
+			uint8_t vdev_id, tDot11fIEhe_op *he_ops)
 {
 {
 	return QDF_STATUS_SUCCESS;
 	return QDF_STATUS_SUCCESS;
 }
 }

+ 2 - 1
core/wma/inc/wma_if.h

@@ -809,7 +809,8 @@ typedef struct {
 	uint8_t fRIFSMode;
 	uint8_t fRIFSMode;
 	uint16_t paramChangeBitmap;
 	uint16_t paramChangeBitmap;
 	uint8_t smeSessionId;
 	uint8_t smeSessionId;
-	uint32_t he_ops;
+	uint32_t bss_color;
+	bool bss_color_disabled;
 } tUpdateBeaconParams, *tpUpdateBeaconParams;
 } tUpdateBeaconParams, *tpUpdateBeaconParams;
 
 
 /**
 /**

+ 12 - 4
core/wma/src/wma_he.c

@@ -1285,22 +1285,30 @@ void wma_update_vdev_he_capable(struct wma_vdev_start_req *req,
 }
 }
 
 
 QDF_STATUS wma_update_he_ops_ie(tp_wma_handle wma, uint8_t vdev_id,
 QDF_STATUS wma_update_he_ops_ie(tp_wma_handle wma, uint8_t vdev_id,
-					   uint32_t he_ops)
+				tDot11fIEhe_op *he_op)
 {
 {
 	QDF_STATUS ret;
 	QDF_STATUS ret;
+	uint32_t dword_he_op = 0;
 
 
 	if (!wma) {
 	if (!wma) {
 		WMA_LOGE(FL("wrong wma_handle...."));
 		WMA_LOGE(FL("wrong wma_handle...."));
 		return QDF_STATUS_E_FAILURE;
 		return QDF_STATUS_E_FAILURE;
 	}
 	}
 
 
+	WMI_HEOPS_COLOR_SET(dword_he_op, he_op->bss_color);
+	WMI_HEOPS_DEFPE_SET(dword_he_op, he_op->default_pe);
+	WMI_HEOPS_TWT_SET(dword_he_op, he_op->twt_required);
+	WMI_HEOPS_RTSTHLD_SET(dword_he_op, he_op->rts_threshold);
+	WMI_HEOPS_PARTBSSCOLOR_SET(dword_he_op, he_op->partial_bss_col);
+	WMI_HEOPS_TXBSSID_SET(dword_he_op, he_op->tx_bssid_ind);
+	WMI_HEOPS_BSSCOLORDISABLE_SET(dword_he_op, he_op->bss_col_disabled);
+
+	WMA_LOGD("vdev_id: %d HE_OPs: 0x%x", vdev_id, dword_he_op);
 	ret = wma_vdev_set_param(wma->wmi_handle, vdev_id,
 	ret = wma_vdev_set_param(wma->wmi_handle, vdev_id,
-			WMI_VDEV_PARAM_HEOPS_0_31, he_ops);
+			WMI_VDEV_PARAM_HEOPS_0_31, dword_he_op);
 
 
 	if (QDF_IS_STATUS_ERROR(ret))
 	if (QDF_IS_STATUS_ERROR(ret))
 		WMA_LOGE(FL("Failed to set HE OPs"));
 		WMA_LOGE(FL("Failed to set HE OPs"));
-	else
-		WMA_LOGD(FL("Succesfully send he_ops[0x%x]"), he_ops);
 
 
 	return ret;
 	return ret;
 }
 }

+ 10 - 9
core/wma/src/wma_mgmt.c

@@ -1452,23 +1452,24 @@ wma_update_beacon_interval(tp_wma_handle wma, uint8_t vdev_id,
  */
  */
 static void
 static void
 wma_update_bss_color(tp_wma_handle wma, uint8_t vdev_id,
 wma_update_bss_color(tp_wma_handle wma, uint8_t vdev_id,
-			   uint32_t he_ops)
+		     tUpdateBeaconParams *bcn_params)
 {
 {
 	QDF_STATUS ret;
 	QDF_STATUS ret;
+	uint32_t dword_he_ops = 0;
 
 
+	WMI_HEOPS_COLOR_SET(dword_he_ops, bcn_params->bss_color);
+	WMI_HEOPS_BSSCOLORDISABLE_SET(dword_he_ops,
+				bcn_params->bss_color_disabled);
+	WMA_LOGD("vdev: %d, update bss color, HE_OPS: 0x%x",
+		vdev_id, dword_he_ops);
 	ret = wma_vdev_set_param(wma->wmi_handle, vdev_id,
 	ret = wma_vdev_set_param(wma->wmi_handle, vdev_id,
-					      WMI_VDEV_PARAM_BSS_COLOR,
-					      he_ops);
-
+			      WMI_VDEV_PARAM_BSS_COLOR, dword_he_ops);
 	if (QDF_IS_STATUS_ERROR(ret))
 	if (QDF_IS_STATUS_ERROR(ret))
 		WMA_LOGE("Failed to update HE operations");
 		WMA_LOGE("Failed to update HE operations");
-	else
-		WMA_LOGI("Updated HE operations %x for vdev %d",
-			 he_ops, vdev_id);
 }
 }
 #else
 #else
 static void wma_update_bss_color(tp_wma_handle wma, uint8_t vdev_id,
 static void wma_update_bss_color(tp_wma_handle wma, uint8_t vdev_id,
-			   uint32_t he_ops)
+			   tUpdateBeaconParams *bcn_params)
 {
 {
 }
 }
 #endif
 #endif
@@ -1505,7 +1506,7 @@ wma_process_update_beacon_params(tp_wma_handle wma,
 
 
 	if (bcn_params->paramChangeBitmap & PARAM_BSS_COLOR_CHANGED)
 	if (bcn_params->paramChangeBitmap & PARAM_BSS_COLOR_CHANGED)
 		wma_update_bss_color(wma, bcn_params->smeSessionId,
 		wma_update_bss_color(wma, bcn_params->smeSessionId,
-					   bcn_params->he_ops);
+				     bcn_params);
 }
 }
 
 
 /**
 /**