Browse Source

qcacld-3.0: Cleanup WMA HWMODE

Cleanup WMA HWMODE and WMA HWMODE List
as the same functionality is already taken
care by policy manager

Change-Id: I5dc1342422e70737111f882013ed3a6351a85336
CRs-Fixed: 3064739
Utkarsh Bhatnagar 3 years ago
parent
commit
40d0e1ae42

+ 0 - 3
Kbuild

@@ -2654,9 +2654,6 @@ endif
 ifeq ($(CONFIG_WLAN_FEATURE_FIPS), y)
 WMA_OBJS+=	$(WMA_SRC_DIR)/wma_fips_api.o
 endif
-ifeq ($(CONFIG_MPC_UT_FRAMEWORK), y)
-WMA_OBJS +=	$(WMA_SRC_DIR)/wma_utils_ut.o
-endif
 ifeq ($(CONFIG_WLAN_FEATURE_11AX), y)
 WMA_OBJS+=	$(WMA_SRC_DIR)/wma_he.o
 endif

+ 20 - 0
components/cmn_services/policy_mgr/inc/wlan_policy_mgr_api.h

@@ -4023,4 +4023,24 @@ bool policy_mgr_is_hwmode_offload_enabled(struct wlan_objmgr_psoc *psoc);
  */
 bool policy_mgr_is_3rd_conn_on_same_band_allowed(struct wlan_objmgr_psoc *psoc,
 						 enum policy_mgr_con_mode mode);
+
+#ifdef MPC_UT_FRAMEWORK
+/**
+ * policy_mgr_set_dbs_cap_ut() - Set DBS capability for UT framework
+ *
+ * @psoc: Pointer to psoc
+ * @dbs: Value of DBS capability to be set
+ *
+ * Sets the DBS capability for unit test framework. If the HW mode is
+ * already sent by the FW, only the DBS capability needs to be set. If the
+ * FW did not send any HW mode list, a single entry is created and DBS mode
+ * is set in it. The DBS capability is also set in the service bit map.
+ *
+ * Return: None
+ */
+void policy_mgr_set_dbs_cap_ut(struct wlan_objmgr_psoc *psoc, uint32_t dbs);
+#else
+static inline void
+policy_mgr_set_dbs_cap_ut(struct wlan_objmgr_psoc *psoc, uint32_t dbs) {}
+#endif
 #endif /* __WLAN_POLICY_MGR_API_H */

+ 31 - 0
components/cmn_services/policy_mgr/src/wlan_policy_mgr_get_set_utils.c

@@ -1519,6 +1519,8 @@ void policy_mgr_init_dbs_hw_mode(struct wlan_objmgr_psoc *psoc,
 		ev_wlan_dbs_hw_mode_list,
 		(sizeof(*pm_ctx->hw_mode.hw_mode_list) *
 		pm_ctx->num_dbs_hw_modes));
+
+	policy_mgr_dump_dbs_hw_mode(psoc);
 }
 
 void policy_mgr_dump_dbs_hw_mode(struct wlan_objmgr_psoc *psoc)
@@ -5852,3 +5854,32 @@ bool policy_mgr_is_hwmode_offload_enabled(struct wlan_objmgr_psoc *psoc)
 	return wmi_service_enabled(wmi_handle,
 				   wmi_service_hw_mode_policy_offload_support);
 }
+
+#ifdef MPC_UT_FRAMEWORK
+void policy_mgr_set_dbs_cap_ut(struct wlan_objmgr_psoc *psoc, uint32_t dbs)
+{
+	struct policy_mgr_psoc_priv_obj *pm_ctx;
+	uint32_t i;
+
+	pm_ctx = policy_mgr_get_context(psoc);
+	if (!pm_ctx) {
+		policy_mgr_err("Invalid Context");
+		return;
+	}
+
+	if (!pm_ctx->hw_mode.hw_mode_list) {
+		pm_ctx->num_dbs_hw_modes = 1;
+		pm_ctx->hw_mode.hw_mode_list =
+			qdf_mem_malloc(sizeof(*pm_ctx->hw_mode.hw_mode_list) *
+				       pm_ctx->num_dbs_hw_modes);
+		if (!pm_ctx->hw_mode.hw_mode_list)
+			return;
+
+		pm_ctx->hw_mode.hw_mode_list[0] = 0x0000;
+	}
+
+	for (i = 0; i < pm_ctx->num_dbs_hw_modes; i++)
+		POLICY_MGR_HW_MODE_DBS_MODE_SET(pm_ctx->hw_mode.hw_mode_list[i],
+						dbs);
+}
+#endif

+ 3 - 2
core/hdd/src/wlan_hdd_sysfs_policy_mgr.c

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011-2020, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2011-2021, The Linux Foundation. All rights reserved.
  *
  * Permission to use, copy, modify, and/or distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above
@@ -201,7 +201,8 @@ __hdd_sysfs_pm_dbs_store(struct hdd_context *hdd_ctx,
 	switch (value) {
 	case 0:
 	case 1:
-		wma_set_dbs_capability_ut(value);
+		policy_mgr_set_dbs_cap_ut(hdd_ctx->psoc, value);
+		wma_enable_dbs_service_ut();
 		break;
 	default:
 		hdd_err_rl("invalid value %d", value);

+ 3 - 2
core/hdd/src/wlan_hdd_wext.c

@@ -6778,10 +6778,11 @@ static int iw_get_policy_manager_ut_ops(struct hdd_context *hdd_ctx,
 	{
 		hdd_debug("<iwpriv wlan0 pm_dbs> is called");
 		if (apps_args[0] == 0)
-			wma_set_dbs_capability_ut(0);
+			policy_mgr_set_dbs_cap_ut(hdd_ctx->psoc, 0);
 		else
-			wma_set_dbs_capability_ut(1);
+			policy_mgr_set_dbs_cap_ut(hdd_ctx->psoc, 1);
 
+		wma_enable_dbs_service_ut();
 		if (apps_args[1] >= PM_THROUGHPUT &&
 			apps_args[1] <= PM_LATENCY) {
 			hdd_debug("setting system pref to [%d]\n",

+ 0 - 4
core/wma/inc/wma.h

@@ -855,8 +855,6 @@ struct wma_wlm_stats_data {
  * @hw_bd_info: hardware board info
  * @miracast_value: miracast value
  * @log_completion_timer: log completion timer
- * @num_dbs_hw_modes: Number of HW modes supported by the FW
- * @hw_mode: DBS HW mode list
  * @old_hw_mode_index: Previous configured HW mode index
  * @new_hw_mode_index: Current configured HW mode index
  * @peer_authorized_cb: peer authorized hdd callback
@@ -981,8 +979,6 @@ typedef struct {
 	uint32_t hw_bd_info[HW_BD_INFO_SIZE];
 	uint32_t miracast_value;
 	qdf_mc_timer_t log_completion_timer;
-	uint32_t num_dbs_hw_modes;
-	struct dbs_hw_mode_info hw_mode;
 	uint32_t old_hw_mode_index;
 	uint32_t new_hw_mode_index;
 	wma_peer_authorized_fp peer_authorized_cb;

+ 13 - 5
core/wma/inc/wma_api.h

@@ -201,11 +201,7 @@ QDF_STATUS wma_post_ctrl_msg(struct mac_context *mac, struct scheduler_msg *pMsg
 
 void wma_update_intf_hw_mode_params(uint32_t vdev_id, uint32_t mac_id,
 				uint32_t cfgd_hw_mode_index);
-#ifdef MPC_UT_FRAMEWORK
-void wma_set_dbs_capability_ut(uint32_t dbs);
-#else
-static inline void wma_set_dbs_capability_ut(uint32_t dbs) {}
-#endif
+
 QDF_STATUS wma_get_caps_for_phyidx_hwmode(struct wma_caps_per_phy *caps_per_phy,
 		enum hw_mode_dbs_capab hw_mode, enum cds_band_type band);
 bool wma_is_rx_ldpc_supported_for_channel(uint32_t ch_freq);
@@ -838,4 +834,16 @@ void wma_cleanup_vdev(struct wlan_objmgr_vdev *vdev);
  */
 void wma_set_wakeup_logs_to_console(bool value);
 
+#ifdef MPC_UT_FRAMEWORK
+/**
+ * wma_enable_dbs_service_ut() - enable dbs wmi service for unit testing.
+ *
+ * Sets DBS capability is also set in the service bit map.
+ *
+ * Return: None
+ */
+void wma_enable_dbs_service_ut(void);
+#else
+static inline void wma_enable_dbs_service_ut(void) {}
+#endif
 #endif /* WMA_API_H */

+ 30 - 237
core/wma/src/wma_main.c

@@ -4432,13 +4432,6 @@ QDF_STATUS wma_close(void)
 	qdf_atomic_set(&wma_handle->sap_num_clients_connected, 0);
 	qdf_atomic_set(&wma_handle->go_num_clients_connected, 0);
 
-	/* Free DBS list */
-	if (wma_handle->hw_mode.hw_mode_list) {
-		qdf_mem_free(wma_handle->hw_mode.hw_mode_list);
-		wma_handle->hw_mode.hw_mode_list = NULL;
-		wma_debug("DBS list is freed");
-	}
-
 	if (cds_get_conparam() != QDF_GLOBAL_FTM_MODE) {
 		qdf_wake_lock_destroy(&wma_handle->go_d3_wow_wake_lock);
 		qdf_wake_lock_destroy(&wma_handle->sap_d3_wow_wake_lock);
@@ -5603,41 +5596,6 @@ static int wma_update_hdd_cfg(tp_wma_handle wma_handle)
 	return ret;
 }
 
-/**
- * wma_dump_dbs_hw_mode() - Print the DBS HW modes
- * @wma_handle: WMA handle
- *
- * Prints the DBS HW modes sent by the FW as part
- * of WMI ready event
- *
- * Return: None
- */
-static void wma_dump_dbs_hw_mode(tp_wma_handle wma_handle)
-{
-	uint32_t i, param;
-
-	if (wma_validate_handle(wma_handle))
-		return;
-
-	for (i = 0; i < wma_handle->num_dbs_hw_modes; i++) {
-		param = wma_handle->hw_mode.hw_mode_list[i];
-		wma_debug("[%d]-MAC0: tx_ss:%d rx_ss:%d bw_idx:%d",
-			i,
-			WMA_HW_MODE_MAC0_TX_STREAMS_GET(param),
-			WMA_HW_MODE_MAC0_RX_STREAMS_GET(param),
-			WMA_HW_MODE_MAC0_BANDWIDTH_GET(param));
-		wma_debug("[%d]-MAC1: tx_ss:%d rx_ss:%d bw_idx:%d",
-			i,
-			WMA_HW_MODE_MAC1_TX_STREAMS_GET(param),
-			WMA_HW_MODE_MAC1_RX_STREAMS_GET(param),
-			WMA_HW_MODE_MAC1_BANDWIDTH_GET(param));
-		wma_debug("[%d] DBS:%d SBS:%d", i,
-			WMA_HW_MODE_DBS_MODE_GET(param),
-			WMA_HW_MODE_SBS_MODE_GET(param));
-	}
-	policy_mgr_dump_dbs_hw_mode(wma_handle->psoc);
-}
-
 /**
  * wma_init_scan_fw_mode_config() - Initialize scan/fw mode config
  * @psoc: Object manager psoc
@@ -5926,25 +5884,13 @@ int wma_rx_service_ready_event(void *handle, uint8_t *cmd_param_info,
 		return -EINVAL;
 	}
 
-	wma_handle->num_dbs_hw_modes = ev->num_dbs_hw_modes;
 	ev_wlan_dbs_hw_mode_list = param_buf->wlan_dbs_hw_mode_list;
 
 	/* Continuing with the rest of the processing,
 	 * even if memory allocation fails
 	 */
-	wma_handle->hw_mode.hw_mode_list =
-		qdf_mem_malloc(sizeof(*wma_handle->hw_mode.hw_mode_list) *
-				wma_handle->num_dbs_hw_modes);
-
-	if (wma_handle->hw_mode.hw_mode_list)
-		qdf_mem_copy(wma_handle->hw_mode.hw_mode_list,
-			     ev_wlan_dbs_hw_mode_list,
-			     (sizeof(*wma_handle->hw_mode.hw_mode_list) *
-			      wma_handle->num_dbs_hw_modes));
-
-	policy_mgr_init_dbs_hw_mode(wma_handle->psoc,
-	ev->num_dbs_hw_modes, ev_wlan_dbs_hw_mode_list);
-	wma_dump_dbs_hw_mode(wma_handle);
+	policy_mgr_init_dbs_hw_mode(wma_handle->psoc, ev->num_dbs_hw_modes,
+				    ev_wlan_dbs_hw_mode_list);
 
 	/* Initializes the fw_mode and scan_config to zero.
 	 * If ext service ready event is present it will set
@@ -6004,7 +5950,7 @@ int wma_rx_service_ready_event(void *handle, uint8_t *cmd_param_info,
 
 	if (QDF_IS_STATUS_ERROR(status)) {
 		wma_err("Failed to register swba beacon event cb");
-		goto free_hw_mode_list;
+		goto failure;
 	}
 #ifdef WLAN_FEATURE_LPSS
 	wma_handle->lpss_support =
@@ -6027,7 +5973,7 @@ int wma_rx_service_ready_event(void *handle, uint8_t *cmd_param_info,
 						WMA_RX_SERIALIZER_CTX);
 		if (QDF_IS_STATUS_ERROR(status)) {
 			wma_err("Failed to register CSA offload event cb");
-			goto free_hw_mode_list;
+			goto failure;
 		}
 	}
 
@@ -6044,7 +5990,7 @@ int wma_rx_service_ready_event(void *handle, uint8_t *cmd_param_info,
 					WMA_RX_SERIALIZER_CTX);
 		if (QDF_IS_STATUS_ERROR(status)) {
 			wma_err("Failed to register MGMT over WMI completion handler");
-			goto free_hw_mode_list;
+			goto failure;
 		}
 
 		status = wmi_unified_register_event_handler(
@@ -6054,7 +6000,7 @@ int wma_rx_service_ready_event(void *handle, uint8_t *cmd_param_info,
 				WMA_RX_SERIALIZER_CTX);
 		if (QDF_IS_STATUS_ERROR(status)) {
 			wma_err("Failed to register MGMT over WMI completion handler");
-			goto free_hw_mode_list;
+			goto failure;
 		}
 
 	} else {
@@ -6064,7 +6010,7 @@ int wma_rx_service_ready_event(void *handle, uint8_t *cmd_param_info,
 	status = wma_register_gtk_offload_event(wma_handle);
 	if (QDF_IS_STATUS_ERROR(status)) {
 		wma_err("Failed to register GTK offload event cb");
-		goto free_hw_mode_list;
+		goto failure;
 	}
 
 	status = wmi_unified_register_event_handler(wmi_handle,
@@ -6073,7 +6019,7 @@ int wma_rx_service_ready_event(void *handle, uint8_t *cmd_param_info,
 				WMA_RX_SERIALIZER_CTX);
 	if (QDF_IS_STATUS_ERROR(status)) {
 		wma_err("Failed to register WMI_TBTTOFFSET_UPDATE_EVENTID callback");
-		goto free_hw_mode_list;
+		goto failure;
 	}
 
 	if (wmi_service_enabled(wma_handle->wmi_handle,
@@ -6086,7 +6032,7 @@ int wma_rx_service_ready_event(void *handle, uint8_t *cmd_param_info,
 							WMA_RX_SERIALIZER_CTX);
 		if (QDF_IS_STATUS_ERROR(status)) {
 			wma_err("Failed to register RCPI event handler");
-			goto free_hw_mode_list;
+			goto failure;
 		}
 		wma_handle->rcpi_enabled = true;
 	}
@@ -6113,7 +6059,7 @@ int wma_rx_service_ready_event(void *handle, uint8_t *cmd_param_info,
 			WMA_RX_SERIALIZER_CTX);
 	if (QDF_IS_STATUS_ERROR(status)) {
 		wma_err("Failed to register log supported event cb");
-		goto free_hw_mode_list;
+		goto failure;
 	}
 
 	cdp_mark_first_wakeup_packet(
@@ -6139,7 +6085,7 @@ int wma_rx_service_ready_event(void *handle, uint8_t *cmd_param_info,
 	status = wmi_unified_save_fw_version_cmd(wmi_handle, param_buf);
 	if (QDF_IS_STATUS_ERROR(status)) {
 		wma_err("Failed to send WMI_INIT_CMDID command");
-		goto free_hw_mode_list;
+		goto failure;
 	}
 
 	if (wmi_service_enabled(wmi_handle, wmi_service_ext_msg)) {
@@ -6158,13 +6104,7 @@ int wma_rx_service_ready_event(void *handle, uint8_t *cmd_param_info,
 
 	return 0;
 
-free_hw_mode_list:
-	if (wma_handle->hw_mode.hw_mode_list) {
-		qdf_mem_free(wma_handle->hw_mode.hw_mode_list);
-		wma_handle->hw_mode.hw_mode_list = NULL;
-		wma_debug("DBS list is freed");
-	}
-
+failure:
 	return -EINVAL;
 
 }
@@ -6462,124 +6402,6 @@ static void wma_print_populate_soc_caps(struct target_psoc_info *tgt_hdl)
 	wma_debug("<====== HW mode cap printing ends ======>\n");
 }
 
-/**
- * wma_map_wmi_channel_width_to_hw_mode_bw() - returns bandwidth
- * in terms of hw_mode_bandwidth
- * @width: bandwidth in terms of wmi_channel_width
- *
- * This function returns the bandwidth in terms of hw_mode_bandwidth.
- *
- * Return: BW in terms of hw_mode_bandwidth.
- */
-static enum hw_mode_bandwidth wma_map_wmi_channel_width_to_hw_mode_bw(
-			wmi_channel_width width)
-{
-	switch (width) {
-	case WMI_CHAN_WIDTH_20:
-		return HW_MODE_20_MHZ;
-	case WMI_CHAN_WIDTH_40:
-		return HW_MODE_40_MHZ;
-	case WMI_CHAN_WIDTH_80:
-		return HW_MODE_80_MHZ;
-	case WMI_CHAN_WIDTH_160:
-		return HW_MODE_160_MHZ;
-	case WMI_CHAN_WIDTH_80P80:
-		return HW_MODE_80_PLUS_80_MHZ;
-	case WMI_CHAN_WIDTH_5:
-		return HW_MODE_5_MHZ;
-	case WMI_CHAN_WIDTH_10:
-		return HW_MODE_10_MHZ;
-#ifdef WLAN_FEATURE_11BE
-	case WMI_CHAN_WIDTH_320:
-		return HW_MODE_320_MHZ;
-#endif
-	default:
-		return HW_MODE_BW_NONE;
-	}
-
-	return HW_MODE_BW_NONE;
-}
-
-/**
- * wma_get_hw_mode_params() - get TX-RX stream and bandwidth
- * supported from the capabilities.
- * @caps: PHY capability
- * @info: param to store TX-RX stream and BW information
- *
- * This function will calculate TX-RX stream and bandwidth supported
- * as per the PHY capability, and assign to mac_ss_bw_info.
- *
- * Return: none
- */
-static void wma_get_hw_mode_params(struct wlan_psoc_host_mac_phy_caps *caps,
-			struct mac_ss_bw_info *info)
-{
-	if (!caps) {
-		wma_err("Invalid capabilities");
-		return;
-	}
-
-	info->mac_tx_stream = wma_get_num_of_setbits_from_bitmask(
-				QDF_MAX(caps->tx_chain_mask_2G,
-					caps->tx_chain_mask_5G));
-	info->mac_rx_stream = wma_get_num_of_setbits_from_bitmask(
-				QDF_MAX(caps->rx_chain_mask_2G,
-					caps->rx_chain_mask_5G));
-	info->mac_bw = wma_map_wmi_channel_width_to_hw_mode_bw(
-				QDF_MAX(caps->max_bw_supported_2G,
-					caps->max_bw_supported_5G));
-}
-
-/**
- * wma_set_hw_mode_params() - sets TX-RX stream, bandwidth and
- * DBS in hw_mode_list
- * @wma_handle: pointer to wma global structure
- * @mac0_ss_bw_info: TX-RX streams, BW for MAC0
- * @mac1_ss_bw_info: TX-RX streams, BW for MAC1
- * @pos: refers to hw_mode_index
- * @dbs_mode: dbs_mode for the dbs_hw_mode
- * @sbs_mode: sbs_mode for the sbs_hw_mode
- *
- * This function sets TX-RX stream, bandwidth and DBS mode in
- * hw_mode_list.
- *
- * Return: none
- */
-static void wma_set_hw_mode_params(t_wma_handle *wma_handle,
-			struct mac_ss_bw_info mac0_ss_bw_info,
-			struct mac_ss_bw_info mac1_ss_bw_info,
-			uint32_t pos, uint32_t dbs_mode,
-			uint32_t sbs_mode)
-{
-	WMA_HW_MODE_MAC0_TX_STREAMS_SET(
-		wma_handle->hw_mode.hw_mode_list[pos],
-		mac0_ss_bw_info.mac_tx_stream);
-	WMA_HW_MODE_MAC0_RX_STREAMS_SET(
-		wma_handle->hw_mode.hw_mode_list[pos],
-		mac0_ss_bw_info.mac_rx_stream);
-	WMA_HW_MODE_MAC0_BANDWIDTH_SET(
-		wma_handle->hw_mode.hw_mode_list[pos],
-		mac0_ss_bw_info.mac_bw);
-	WMA_HW_MODE_MAC1_TX_STREAMS_SET(
-		wma_handle->hw_mode.hw_mode_list[pos],
-		mac1_ss_bw_info.mac_tx_stream);
-	WMA_HW_MODE_MAC1_RX_STREAMS_SET(
-		wma_handle->hw_mode.hw_mode_list[pos],
-		mac1_ss_bw_info.mac_rx_stream);
-	WMA_HW_MODE_MAC1_BANDWIDTH_SET(
-		wma_handle->hw_mode.hw_mode_list[pos],
-		mac1_ss_bw_info.mac_bw);
-	WMA_HW_MODE_DBS_MODE_SET(
-		wma_handle->hw_mode.hw_mode_list[pos],
-		dbs_mode);
-	WMA_HW_MODE_AGILE_DFS_SET(
-		wma_handle->hw_mode.hw_mode_list[pos],
-		HW_MODE_AGILE_DFS_NONE);
-	WMA_HW_MODE_SBS_MODE_SET(
-		wma_handle->hw_mode.hw_mode_list[pos],
-		sbs_mode);
-}
-
 /**
  * wma_update_hw_mode_list() - updates hw_mode_list
  * @wma_handle: pointer to wma global structure
@@ -6595,9 +6417,6 @@ static QDF_STATUS wma_update_hw_mode_list(t_wma_handle *wma_handle,
 {
 	struct wlan_psoc_host_mac_phy_caps *tmp, *mac_phy_cap;
 	uint32_t i, hw_config_type, j = 0;
-	uint32_t dbs_mode, sbs_mode;
-	struct mac_ss_bw_info mac0_ss_bw_info = {0};
-	struct mac_ss_bw_info mac1_ss_bw_info = {0};
 	WMI_PHY_CAPABILITY new_supported_band = 0;
 	bool supported_band_update_failure = false;
 	struct wlan_psoc_target_capability_info *tgt_cap_info;
@@ -6615,38 +6434,11 @@ static QDF_STATUS wma_update_hw_mode_list(t_wma_handle *wma_handle,
 		return QDF_STATUS_E_FAILURE;
 	}
 
-	/*
-	 * This list was updated as part of service ready event. Re-populate
-	 * HW mode list from the device capabilities.
-	 */
-	if (wma_handle->hw_mode.hw_mode_list) {
-		qdf_mem_free(wma_handle->hw_mode.hw_mode_list);
-		wma_handle->hw_mode.hw_mode_list = NULL;
-		wma_debug("DBS list is freed");
-	}
-
-	wma_handle->hw_mode.hw_mode_list =
-		qdf_mem_malloc(sizeof(*wma_handle->hw_mode.hw_mode_list) *
-			       num_hw_modes);
-	if (!wma_handle->hw_mode.hw_mode_list) {
-		wma_handle->num_dbs_hw_modes = 0;
-		return QDF_STATUS_E_FAILURE;
-	}
-
-	wma_debug("Updated HW mode list: Num modes:%d",
-		 num_hw_modes);
-
-	wma_handle->num_dbs_hw_modes = num_hw_modes;
+	wma_debug("Num modes:%d", num_hw_modes);
 	for (i = 0; i < num_hw_modes; i++) {
 		/* Update for MAC0 */
 		tmp = &mac_phy_cap[j++];
-		wma_get_hw_mode_params(tmp, &mac0_ss_bw_info);
 		hw_config_type = tmp->hw_mode_config_type;
-		dbs_mode = HW_MODE_DBS_NONE;
-		sbs_mode = HW_MODE_SBS_NONE;
-		mac1_ss_bw_info.mac_tx_stream = 0;
-		mac1_ss_bw_info.mac_rx_stream = 0;
-		mac1_ss_bw_info.mac_bw = 0;
 		if (wma_update_supported_bands(tmp->supported_bands,
 						&new_supported_band)
 		   != QDF_STATUS_SUCCESS)
@@ -6659,24 +6451,11 @@ static QDF_STATUS wma_update_hw_mode_list(t_wma_handle *wma_handle,
 		    (hw_config_type == WMI_HW_MODE_DBS_OR_SBS)) {
 			/* Update for MAC1 */
 			tmp = &mac_phy_cap[j++];
-			wma_get_hw_mode_params(tmp, &mac1_ss_bw_info);
-			if (hw_config_type == WMI_HW_MODE_DBS ||
-			    hw_config_type == WMI_HW_MODE_DBS_OR_SBS)
-				dbs_mode = HW_MODE_DBS;
-			if ((hw_config_type == WMI_HW_MODE_SBS_PASSIVE) ||
-			    (hw_config_type == WMI_HW_MODE_SBS) ||
-			    (hw_config_type == WMI_HW_MODE_DBS_OR_SBS))
-				sbs_mode = HW_MODE_SBS;
 			if (QDF_STATUS_SUCCESS !=
-			wma_update_supported_bands(tmp->supported_bands,
-						&new_supported_band))
+			    wma_update_supported_bands(tmp->supported_bands,
+						       &new_supported_band))
 				supported_band_update_failure = true;
 		}
-
-		/* Updating HW mode list */
-		wma_set_hw_mode_params(wma_handle, mac0_ss_bw_info,
-				       mac1_ss_bw_info, i, dbs_mode,
-				       sbs_mode);
 	}
 
 	/* overwrite phy_capability which we got from service ready event */
@@ -6691,7 +6470,7 @@ static QDF_STATUS wma_update_hw_mode_list(t_wma_handle *wma_handle,
 			policy_mgr_update_hw_mode_list(wma_handle->psoc,
 						       tgt_hdl))
 		wma_err("failed to update policy manager");
-	wma_dump_dbs_hw_mode(wma_handle);
+
 	return QDF_STATUS_SUCCESS;
 }
 
@@ -9611,6 +9390,20 @@ QDF_STATUS wma_get_rx_chainmask(uint8_t pdev_id, uint32_t *chainmask_2g,
 	return QDF_STATUS_SUCCESS;
 }
 
+#ifdef MPC_UT_FRAMEWORK
+void wma_enable_dbs_service_ut(void)
+{
+	tp_wma_handle wma;
+
+	wma = cds_get_context(QDF_MODULE_ID_WMA);
+	if (!wma)
+		return;
+
+	WMI_SERVICE_ENABLE(wma->wmi_service_bitmap,
+			   WMI_SERVICE_DUAL_BAND_SIMULTANEOUS_SUPPORT);
+}
+#endif
+
 #ifdef FEATURE_ANI_LEVEL_REQUEST
 QDF_STATUS wma_send_ani_level_request(tp_wma_handle wma_handle,
 				      uint32_t *freqs, uint8_t num_freqs)

+ 0 - 69
core/wma/src/wma_utils_ut.c

@@ -1,69 +0,0 @@
-/*
- * Copyright (c) 2015-2016, 2018-2020 The Linux Foundation. All rights reserved.
- *
- * Permission to use, copy, modify, and/or distribute this software for
- * any purpose with or without fee is hereby granted, provided that the
- * above copyright notice and this permission notice appear in all
- * copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
- * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
- * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
- * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
- * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
- * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- * PERFORMANCE OF THIS SOFTWARE.
- */
-
-/**
- *  DOC:    wma_utils_ut.c
- *  This file contains utilities related to unit test framework
- */
-
-/* Header files */
-
-#include "wma.h"
-
-/**
- * wma_set_dbs_capability_ut() - Set DBS capability for UT framework
- * @dbs: Value of DBS capability to be set
- *
- * Sets the DBS capability for unit test framework. If the HW mode is
- * already sent by the FW, only the DBS capability needs to be set. If the
- * FW did not send any HW mode list, a single entry is created and DBS mode
- * is set in it. The DBS capability is also set in the service bit map.
- *
- * Return: None
- */
-void wma_set_dbs_capability_ut(uint32_t dbs)
-{
-	tp_wma_handle wma;
-	uint32_t i;
-
-	wma = cds_get_context(QDF_MODULE_ID_WMA);
-	if (!wma)
-		return;
-
-	/* DBS list was not configured by the FW, so
-	 * for UT, we can configure a single entry
-	 */
-	if (!wma->hw_mode.hw_mode_list) {
-		wma->num_dbs_hw_modes = 1;
-		wma->hw_mode.hw_mode_list =
-			qdf_mem_malloc(sizeof(*wma->hw_mode.hw_mode_list) *
-					wma->num_dbs_hw_modes);
-		if (!wma->hw_mode.hw_mode_list)
-			return;
-
-		wma->hw_mode.hw_mode_list[0] = 0x0000;
-	}
-
-	for (i = 0; i < wma->num_dbs_hw_modes; i++) {
-		WMA_HW_MODE_DBS_MODE_SET(wma->hw_mode.hw_mode_list[i],
-				dbs);
-	}
-
-	WMI_SERVICE_ENABLE(wma->wmi_service_bitmap,
-			WMI_SERVICE_DUAL_BAND_SIMULTANEOUS_SUPPORT);
-}