ソースを参照

qcacmn: Move PNO related structures under compiletime flag

Move all the PNO related structures and CFG items under
compile time flag "FEATURE_WLAN_SCAN_PNO"

Change-Id: I0decb3e0a7cf009ce18ef08eae05734962f6f8c7
CRs-Fixed: 2382997
Pragaspathi Thilagaraj 6 年 前
コミット
522a2a90bd

+ 3 - 3
os_if/linux/scan/src/wlan_cfg80211_scan.c

@@ -1947,10 +1947,10 @@ void wlan_cfg80211_inform_bss_frame(struct wlan_objmgr_pdev *pdev,
 	qdf_mem_free(bss_data.mgmt);
 }
 
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 12, 0)
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 12, 0))
 /*
- * wlan_scan_wiphy_set_max_sched_scans() - set maximum number of scheduled scans to
- * wiphy.
+ * wlan_scan_wiphy_set_max_sched_scans() - set maximum number of scheduled scans
+ * to wiphy.
  * @wiphy: pointer to wiphy
  * @max_scans: max num scans to be configured
  *

+ 4 - 0
umac/scan/core/src/wlan_scan_main.h

@@ -228,6 +228,7 @@ struct scan_vdev_obj {
 	bool first_scan_done;
 };
 
+#ifdef FEATURE_WLAN_SCAN_PNO
 /**
  * struct pno_def_config - def configuration for PNO
  * @pno_offload_enabled: flag to check if PNO offload is enabled/disabled
@@ -267,6 +268,7 @@ struct pno_def_config {
 	struct cb_handler pno_cb;
 	struct nlo_mawc_params mawc_params;
 };
+#endif
 
 /**
  * struct extscan_def_config - def configuration for EXTSCAN
@@ -492,7 +494,9 @@ struct wlan_scan_obj {
 	struct scan_requester_info requesters[WLAN_MAX_REQUESTORS];
 	struct global_scan_ev_handlers global_evhandlers;
 	struct pdev_scan_info pdev_info[WLAN_UMAC_MAX_PDEVS];
+#ifdef FEATURE_WLAN_SCAN_PNO
 	struct pno_def_config pno_cfg;
+#endif
 #ifdef FEATURE_WLAN_EXTSCAN
 	struct extscan_def_config extscan_cfg;
 #endif

+ 13 - 22
umac/scan/dispatcher/inc/wlan_scan_cfg.h

@@ -278,11 +278,6 @@
 			"Set priority for connection with bssid_hint")
 
 #ifdef FEATURE_WLAN_SCAN_PNO
-/*
- * These scan PNO ini params are used only once by HDD to store the
- * values in wiphy structure
- */
-
 /*
  * <ini>
  * g_max_sched_scan_plan_iterations - pno sched max scan plan iterations.
@@ -330,7 +325,6 @@
 			1, 7200, 3600, \
 			CFG_VALUE_OR_DEFAULT, \
 			"Max sched scan plan interval")
-#endif
 
 /*
  * <ini>
@@ -355,7 +349,6 @@
 			true, \
 			"Enable dfs channels in PNO Scan")
 
-#ifdef FEATURE_WLAN_SCAN_PNO
 /*
  * <ini>
  * gPNOScanSupport - Enable or Disable PNO scan
@@ -427,7 +420,6 @@
 			6, \
 			CFG_VALUE_OR_DEFAULT, \
 			"PNO slow scan multiplier")
-#endif
 
 /*
  * <ini>
@@ -699,14 +691,23 @@
 			CFG_VALUE_OR_DEFAULT, \
 			"Maximum Scan Interval")
 
-#ifdef FEATURE_WLAN_SCAN_PNO
-
 #define CFG_SCAN_PNO \
 	CFG(CFG_MAX_SCHED_SCAN_PLAN_ITERATIONS) \
 	CFG(CFG_MAX_SCHED_SCAN_PLAN_INTERVAL) \
 	CFG(CFG_PNO_SCAN_SUPPORT) \
+	CFG(CFG_ENABLE_DFS_PNO_CHNL_SCAN) \
 	CFG(CFG_PNO_SCAN_TIMER_REPEAT_VALUE) \
-	CFG(CFG_PNO_SLOW_SCAN_MULTIPLIER)
+	CFG(CFG_PNO_SLOW_SCAN_MULTIPLIER) \
+	CFG(CFG_PNO_CHANNEL_PREDICTION) \
+	CFG(CFG_TOP_K_NUM_OF_CHANNELS) \
+	CFG(CFG_STATIONARY_THRESHOLD) \
+	CFG(CFG_CHANNEL_PREDICTION_SCAN_TIMER) \
+	CFG(CFG_ADAPTIVE_PNOSCAN_DWELL_MODE) \
+	CFG(CFG_SCAN_BACKOFF_MULTIPLIER) \
+	CFG(CFG_MAWC_NLO_ENABLED) \
+	CFG(CFG_MAWC_NLO_EXP_BACKOFF_RATIO) \
+	CFG(CFG_MAWC_NLO_INIT_SCAN_INTERVAL) \
+	CFG(CFG_MAWC_NLO_MAX_SCAN_INTERVAL)
 
 #else
 #define CFG_SCAN_PNO
@@ -928,18 +929,8 @@
 	CFG(CFG_MAX_REST_TIME_CONC) \
 	CFG(CFG_MIN_REST_TIME_CONC) \
 	CFG(CFG_IDLE_TIME_CONC) \
-	CFG(CFG_ENABLE_DFS_PNO_CHNL_SCAN) \
-	CFG(CFG_PNO_CHANNEL_PREDICTION) \
-	CFG(CFG_TOP_K_NUM_OF_CHANNELS) \
-	CFG(CFG_STATIONARY_THRESHOLD) \
-	CFG(CFG_CHANNEL_PREDICTION_SCAN_TIMER) \
-	CFG(CFG_ADAPTIVE_PNOSCAN_DWELL_MODE) \
-	CFG(CFG_SCAN_BACKOFF_MULTIPLIER) \
-	CFG(CFG_MAWC_NLO_ENABLED) \
-	CFG(CFG_MAWC_NLO_EXP_BACKOFF_RATIO) \
-	CFG(CFG_MAWC_NLO_INIT_SCAN_INTERVAL) \
-	CFG(CFG_MAWC_NLO_MAX_SCAN_INTERVAL) \
 	CFG(CFG_ENABLE_MAC_ADDR_SPOOFING) \
 	CFG(CFG_SCAN_AGING_TIME) \
 	CFG_SCAN_PNO
+
 #endif /* __CONFIG_SCAN_H */

+ 10 - 7
umac/scan/dispatcher/src/wlan_scan_ucfg_api.c

@@ -230,10 +230,12 @@ bool ucfg_scan_get_pno_match(struct wlan_objmgr_vdev *vdev)
 
 static QDF_STATUS
 wlan_pno_global_init(struct wlan_objmgr_psoc *psoc,
-		     struct pno_def_config *pno_def)
+		     struct wlan_scan_obj *scan_obj)
 {
 	struct nlo_mawc_params *mawc_cfg;
+	struct pno_def_config *pno_def;
 
+	pno_def = &scan_obj->pno_cfg;
 	qdf_wake_lock_create(&pno_def->pno_wake_lock, "wlan_pno_wl");
 	mawc_cfg = &pno_def->mawc_params;
 	pno_def->channel_prediction = cfg_get(psoc, CFG_PNO_CHANNEL_PREDICTION);
@@ -271,9 +273,9 @@ wlan_pno_global_init(struct wlan_objmgr_psoc *psoc,
 }
 
 static QDF_STATUS
-wlan_pno_global_deinit(struct pno_def_config *pno_def)
+wlan_pno_global_deinit(struct wlan_scan_obj *scan_obj)
 {
-	qdf_wake_lock_destroy(&pno_def->pno_wake_lock);
+	qdf_wake_lock_destroy(&scan_obj->pno_cfg.pno_wake_lock);
 
 	return QDF_STATUS_SUCCESS;
 }
@@ -388,12 +390,13 @@ ucfg_scan_register_pno_cb(struct wlan_objmgr_psoc *psoc,
 
 static inline QDF_STATUS
 wlan_pno_global_init(struct wlan_objmgr_psoc *psoc,
-		     struct pno_def_config *pno_def)
+		     struct wlan_scan_obj *scan_obj)
 {
 	return QDF_STATUS_SUCCESS;
 }
+
 static inline QDF_STATUS
-wlan_pno_global_deinit(struct pno_def_config *pno_def)
+wlan_pno_global_deinit(struct wlan_scan_obj *scan_obj)
 {
 	return QDF_STATUS_SUCCESS;
 }
@@ -1010,7 +1013,7 @@ wlan_scan_global_init(struct wlan_objmgr_psoc *psoc,
 	/* init extscan */
 	wlan_extscan_global_init(psoc, scan_obj);
 
-	return wlan_pno_global_init(psoc, &scan_obj->pno_cfg);
+	return wlan_pno_global_init(psoc, scan_obj);
 }
 
 static void
@@ -1019,7 +1022,7 @@ wlan_scan_global_deinit(struct wlan_objmgr_psoc *psoc)
 	struct wlan_scan_obj *scan_obj;
 
 	scan_obj = wlan_psoc_get_scan_obj(psoc);
-	wlan_pno_global_deinit(&scan_obj->pno_cfg);
+	wlan_pno_global_deinit(scan_obj);
 	wlan_extscan_global_deinit();
 }