Эх сурвалжийг харах

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 7 жил өмнө
parent
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_op.bss_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;
 
 	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
 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;
 
-	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),
-				      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;
-	} else {
-		pe_debug("successfully sent for vdev_id[%d] he_ops[0x%x]",
-			pe_session->smeSessionId, he_ops);
-	}
 
 	return true;
-
 }
 #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->he_op.bss_color = ap_session->
 						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;
 		} else {
 			/* 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
  */
 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
@@ -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,
-			uint8_t vdev_id, uint32_t he_ops)
+			uint8_t vdev_id, tDot11fIEhe_op *he_ops)
 {
 	return QDF_STATUS_SUCCESS;
 }

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

@@ -809,7 +809,8 @@ typedef struct {
 	uint8_t fRIFSMode;
 	uint16_t paramChangeBitmap;
 	uint8_t smeSessionId;
-	uint32_t he_ops;
+	uint32_t bss_color;
+	bool bss_color_disabled;
 } 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,
-					   uint32_t he_ops)
+				tDot11fIEhe_op *he_op)
 {
 	QDF_STATUS ret;
+	uint32_t dword_he_op = 0;
 
 	if (!wma) {
 		WMA_LOGE(FL("wrong wma_handle...."));
 		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,
-			WMI_VDEV_PARAM_HEOPS_0_31, he_ops);
+			WMI_VDEV_PARAM_HEOPS_0_31, dword_he_op);
 
 	if (QDF_IS_STATUS_ERROR(ret))
 		WMA_LOGE(FL("Failed to set HE OPs"));
-	else
-		WMA_LOGD(FL("Succesfully send he_ops[0x%x]"), he_ops);
 
 	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
 wma_update_bss_color(tp_wma_handle wma, uint8_t vdev_id,
-			   uint32_t he_ops)
+		     tUpdateBeaconParams *bcn_params)
 {
 	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,
-					      WMI_VDEV_PARAM_BSS_COLOR,
-					      he_ops);
-
+			      WMI_VDEV_PARAM_BSS_COLOR, dword_he_ops);
 	if (QDF_IS_STATUS_ERROR(ret))
 		WMA_LOGE("Failed to update HE operations");
-	else
-		WMA_LOGI("Updated HE operations %x for vdev %d",
-			 he_ops, vdev_id);
 }
 #else
 static void wma_update_bss_color(tp_wma_handle wma, uint8_t vdev_id,
-			   uint32_t he_ops)
+			   tUpdateBeaconParams *bcn_params)
 {
 }
 #endif
@@ -1505,7 +1506,7 @@ wma_process_update_beacon_params(tp_wma_handle wma,
 
 	if (bcn_params->paramChangeBitmap & PARAM_BSS_COLOR_CHANGED)
 		wma_update_bss_color(wma, bcn_params->smeSessionId,
-					   bcn_params->he_ops);
+				     bcn_params);
 }
 
 /**