Kaynağa Gözat

qcacld-3.0: Extract phy_capability from target psoc

As part of converged init deinit architecuture, all the target
capabilities are saved as part of target_psoc_info, use the same
to update.

CRs-Fixed: 2178726
Change-Id: Iad1d0224e0fdfe1140d1600e17f3e585142eaf63
Arunk Khandavalli 7 yıl önce
ebeveyn
işleme
80a61351fb
2 değiştirilmiş dosya ile 8 ekleme ve 8 silme
  1. 0 2
      core/wma/inc/wma.h
  2. 8 6
      core/wma/src/wma_main.c

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

@@ -1248,7 +1248,6 @@ struct hw_mode_idx_to_mac_cap_idx {
  * @wmi_ready: wmi status flag
  * @wlan_init_status: wlan init status
  * @qdf_dev: qdf device
- * @phy_capability: PHY Capability from Target
  * @max_frag_entry: Max number of Fragment entry
  * @wmi_service_bitmap: wmi services bitmap received from Target
  * @frameTransRequired: frame transmission required
@@ -1390,7 +1389,6 @@ typedef struct {
 	bool wmi_ready;
 	uint32_t wlan_init_status;
 	qdf_device_t qdf_dev;
-	uint32_t phy_capability;
 	uint32_t max_frag_entry;
 	uint32_t wmi_service_bitmap[WMI_SERVICE_BM_SIZE];
 	uint32_t wmi_service_ext_offset;

+ 8 - 6
core/wma/src/wma_main.c

@@ -5154,7 +5154,8 @@ static void wma_update_hdd_cfg(tp_wma_handle wma_handle)
 	tgt_cfg.dfs_cac_offload = wma_handle->dfs_cac_offload;
 	tgt_cfg.rcpi_enabled = wma_handle->rcpi_enabled;
 	wma_update_ra_rate_limit(wma_handle, &tgt_cfg);
-	wma_update_hdd_band_cap(wma_handle->phy_capability, &tgt_cfg);
+	wma_update_hdd_band_cap(target_if_get_phy_capability(tgt_hdl),
+				&tgt_cfg);
 	tgt_cfg.fine_time_measurement_cap =
 		wma_handle->fine_time_measurement_cap;
 	tgt_cfg.wmi_max_len = wmi_get_max_msg_len(wma_handle->wmi_handle)
@@ -5336,7 +5337,6 @@ int wma_rx_service_ready_event(void *handle, uint8_t *cmd_param_info,
 	 */
 	wma_init_scan_fw_mode_config(wma_handle, 0, 0);
 
-	wma_handle->phy_capability = tgt_cap_info->phy_capability;
 	wma_handle->max_frag_entry = tgt_cap_info->max_frag_entry;
 	wma_handle->num_rf_chains  = tgt_cap_info->num_rf_chains;
 	qdf_mem_copy(&wma_handle->reg_cap, param_buf->hal_reg_capabilities,
@@ -5962,13 +5962,15 @@ static void wma_set_hw_mode_params(t_wma_handle *wma_handle,
 /**
  * wma_update_hw_mode_list() - updates hw_mode_list
  * @wma_handle: pointer to wma global structure
+ * @tgt_hdl - target psoc information
  *
  * This function updates hw_mode_list with tx_streams, rx_streams,
  * bandwidth, dbs and agile dfs for each hw_mode.
  *
  * Returns: 0 for success else failure.
  */
-static QDF_STATUS wma_update_hw_mode_list(t_wma_handle *wma_handle)
+static QDF_STATUS wma_update_hw_mode_list(t_wma_handle *wma_handle,
+					  struct target_psoc_info *tgt_hdl)
 {
 	struct extended_caps *phy_caps;
 	WMI_MAC_PHY_CAPABILITIES *tmp;
@@ -6062,9 +6064,9 @@ static QDF_STATUS wma_update_hw_mode_list(t_wma_handle *wma_handle)
 	/* overwrite phy_capability which we got from service ready event */
 	if (!supported_band_update_failure) {
 		WMA_LOGD("%s: updating supported band from old[%d] to new[%d]",
-			 __func__, wma_handle->phy_capability,
+			 __func__, target_if_get_phy_capability(tgt_hdl),
 			 new_supported_band);
-		wma_handle->phy_capability = new_supported_band;
+		target_if_set_phy_capability(tgt_hdl, new_supported_band);
 	}
 
 	if (QDF_STATUS_SUCCESS !=
@@ -6307,7 +6309,7 @@ int wma_rx_service_ready_ext_event(void *handle, uint8_t *event,
 	}
 	wma_populate_soc_caps(wma_handle, param_buf);
 
-	ret = wma_update_hw_mode_list(wma_handle);
+	ret = wma_update_hw_mode_list(wma_handle, tgt_hdl);
 	if (QDF_IS_STATUS_ERROR(ret)) {
 		WMA_LOGE("Failed to update hw mode list");
 		return -EINVAL;