Преглед изворни кода

qcacld-3.0: Use WIFI_POS public APIs for fine_time_meas_initiator

In legacy code, remove reference of fine_time_meas_initiator and use
public APIs provided by WIFI_POS to get and set FTM value.

Change-Id: I8685b6024693cc3f9a24e29dea25ea6b868ddcf6
CRs-Fixed: 2122876
Naveen Rawat пре 7 година
родитељ
комит
d2657be69e

+ 5 - 6
core/hdd/src/wlan_hdd_cfg.c

@@ -47,6 +47,7 @@
 #include <cds_api.h>
 #include "wlan_hdd_he.h"
 #include <wlan_policy_mgr_api.h>
+#include "wifi_pos_api.h"
 
 static void
 cb_notify_set_roam_prefer5_g_hz(struct hdd_context *hdd_ctx, unsigned long notifyId)
@@ -7331,7 +7332,6 @@ QDF_STATUS hdd_set_idle_ps_config(struct hdd_context *hdd_ctx, bool val)
 /**
  * hdd_set_fine_time_meas_cap() - set fine timing measurement capability
  * @hdd_ctx: HDD context
- * @sme_config: pointer to SME config
  *
  * This function is used to pass fine timing measurement capability coming
  * from INI to SME. This function make sure that configure INI is supported
@@ -7339,19 +7339,18 @@ QDF_STATUS hdd_set_idle_ps_config(struct hdd_context *hdd_ctx, bool val)
  *
  * Return: None
  */
-static void hdd_set_fine_time_meas_cap(struct hdd_context *hdd_ctx,
-				       tSmeConfigParams *sme_config)
+static void hdd_set_fine_time_meas_cap(struct hdd_context *hdd_ctx)
 {
 	struct hdd_config *config = hdd_ctx->config;
 	uint32_t capability = config->fine_time_meas_cap;
 
 	/* Make sure only supported capabilities are enabled in INI */
 	capability &= CFG_FINE_TIME_MEAS_CAPABILITY_MAX;
-	sme_config->csrConfig.fine_time_meas_cap = capability;
+	ucfg_wifi_pos_set_ftm_cap(hdd_ctx->hdd_psoc, capability);
 
 	hdd_debug("fine time meas capability - INI: %04x Enabled: %04x",
 		config->fine_time_meas_cap,
-		sme_config->csrConfig.fine_time_meas_cap);
+		capability);
 }
 
 /**
@@ -8667,7 +8666,7 @@ QDF_STATUS hdd_set_sme_config(struct hdd_context *hdd_ctx)
 	smeConfig->csrConfig.is_ps_enabled = hdd_ctx->config->is_ps_enabled;
 	smeConfig->csrConfig.auto_bmps_timer_val =
 		hdd_ctx->config->auto_bmps_timer_val;
-	hdd_set_fine_time_meas_cap(hdd_ctx, smeConfig);
+	hdd_set_fine_time_meas_cap(hdd_ctx);
 
 	cds_set_multicast_logging(hdd_ctx->config->multicast_host_fw_msgs);
 

+ 2 - 1
core/hdd/src/wlan_hdd_cfg80211.c

@@ -111,6 +111,7 @@
 #include "os_if_wifi_pos.h"
 #include "wlan_utility.h"
 #include "wlan_reg_ucfg_api.h"
+#include "wifi_pos_api.h"
 
 #define g_mode_rates_size (12)
 #define a_mode_rates_size (8)
@@ -6034,7 +6035,7 @@ __wlan_hdd_cfg80211_wifi_configuration_set(struct wiphy *wiphy,
 		sme_update_fine_time_measurement_capab(hdd_ctx->hHal,
 			adapter->sessionId,
 			hdd_ctx->config->fine_time_meas_cap);
-		os_if_wifi_pos_set_ftm_cap(hdd_ctx->hdd_psoc,
+		ucfg_wifi_pos_set_ftm_cap(hdd_ctx->hdd_psoc,
 			hdd_ctx->config->fine_time_meas_cap);
 		hdd_debug("FTM capability: user value: 0x%x, target value: 0x%x, final value: 0x%x",
 			 ftm_capab, hdd_ctx->fine_time_meas_cap_target,

+ 0 - 1
core/mac/inc/ani_global.h

@@ -934,7 +934,6 @@ typedef struct sAniSirGlobal {
 	uint32_t f_sta_miracast_mcc_rest_time_val;
 	uint8_t f_prefer_non_dfs_on_radar;
 	hdd_ftm_msg_processor ftm_msg_processor_callback;
-	uint32_t fine_time_meas_cap;
 	struct vdev_type_nss vdev_type_nss_2g;
 	struct vdev_type_nss vdev_type_nss_5g;
 

+ 6 - 8
core/mac/src/sys/legacy/src/utils/src/parser_api.c

@@ -51,6 +51,7 @@
 #include "qdf_crypto.h"
 #include "lim_process_fils.h"
 #include "wlan_utility.h"
+#include "wifi_pos_api.h"
 
 /* ////////////////////////////////////////////////////////////////////// */
 void swap_bit_field16(uint16_t in, uint16_t *out)
@@ -1179,20 +1180,17 @@ populate_dot11f_ext_cap(tpAniSirGlobal pMac,
 	}
 
 	if (val) {
+		uint32_t ftm = ucfg_wifi_pos_get_ftm_cap(pMac->psoc);
 		if (!psessionEntry || LIM_IS_STA_ROLE(psessionEntry)) {
 			p_ext_cap->fine_time_meas_initiator =
-				(pMac->fine_time_meas_cap &
-				 WMI_FW_STA_RTT_INITR) ? 1 : 0;
+				(ftm & WMI_FW_STA_RTT_INITR) ? 1 : 0;
 			p_ext_cap->fine_time_meas_responder =
-				(pMac->fine_time_meas_cap &
-				 WMI_FW_STA_RTT_RESPR) ? 1 : 0;
+				(ftm & WMI_FW_STA_RTT_RESPR) ? 1 : 0;
 		} else if (LIM_IS_AP_ROLE(psessionEntry)) {
 			p_ext_cap->fine_time_meas_initiator =
-				(pMac->fine_time_meas_cap &
-				 WMI_FW_AP_RTT_INITR) ? 1 : 0;
+				(ftm & WMI_FW_AP_RTT_INITR) ? 1 : 0;
 			p_ext_cap->fine_time_meas_responder =
-				(pMac->fine_time_meas_cap &
-				 WMI_FW_AP_RTT_RESPR) ? 1 : 0;
+				(ftm & WMI_FW_AP_RTT_RESPR) ? 1 : 0;
 		}
 	}
 #ifdef QCA_HT_2040_COEX

+ 0 - 1
core/sme/inc/csr_api.h

@@ -1305,7 +1305,6 @@ typedef struct tagCsrConfigParam {
 	uint8_t f_prefer_non_dfs_on_radar;
 	bool is_ps_enabled;
 	uint32_t auto_bmps_timer_val;
-	uint32_t fine_time_meas_cap;
 	uint32_t dual_mac_feature_disable;
 	uint32_t roam_dense_traffic_thresh;
 	uint32_t roam_dense_rssi_thresh_offset;

+ 2 - 1
core/sme/src/common/sme_api.c

@@ -62,6 +62,7 @@
 #include <wlan_scan_ucfg_api.h>
 #include "wlan_reg_ucfg_api.h"
 #include "ol_txrx.h"
+#include "wifi_pos_api.h"
 
 static tSelfRecoveryStats g_self_recovery_stats;
 
@@ -892,7 +893,7 @@ void sme_update_fine_time_measurement_capab(tHalHandle hal, uint8_t session_id,
 {
 	tpAniSirGlobal mac_ctx = PMAC_STRUCT(hal);
 
-	mac_ctx->fine_time_meas_cap = val;
+	ucfg_wifi_pos_set_ftm_cap(mac_ctx->psoc, val);
 
 	if (!val) {
 		mac_ctx->rrm.rrmPEContext.rrmEnabledCaps.fine_time_meas_rpt = 0;

+ 0 - 2
core/sme/src/csr/csr_api_roam.c

@@ -2869,7 +2869,6 @@ QDF_STATUS csr_change_default_config_param(tpAniSirGlobal pMac,
 			pParam->auto_bmps_timer_val;
 		pMac->roam.configParam.ignore_peer_ht_opmode =
 			pParam->ignore_peer_ht_opmode;
-		pMac->fine_time_meas_cap = pParam->fine_time_meas_cap;
 		pMac->dual_mac_feature_disable =
 			pParam->dual_mac_feature_disable;
 		pMac->roam.configParam.early_stop_scan_enable =
@@ -3112,7 +3111,6 @@ QDF_STATUS csr_get_config_param(tpAniSirGlobal pMac, tCsrConfigParam *pParam)
 	pParam->enableSelfRecovery = pMac->sme.enableSelfRecovery;
 	pParam->f_prefer_non_dfs_on_radar =
 		pMac->f_prefer_non_dfs_on_radar;
-	pParam->fine_time_meas_cap = pMac->fine_time_meas_cap;
 	pParam->dual_mac_feature_disable =
 		pMac->dual_mac_feature_disable;
 	pParam->is_ps_enabled = pMac->sme.ps_global_info.ps_enabled;