Browse Source

qcacmn: Add 6G scan dwell time parameter in scan request command

Add 6G scan active and passive dwell time parameter to scan request

Change-Id: Idf50aa23d9dd856c076b1bc3f84e2b3c0ef2b289
CRs-Fixed: 2530498
Sandeep Puligilla 5 years ago
parent
commit
5e0d7addc7

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

@@ -272,6 +272,8 @@ struct extscan_def_config {
  * @skip_dfs_chan_in_p2p_search: Skip DFS channels in p2p search.
  * @use_wake_lock_in_user_scan: if wake lock will be acquired during user scan
  * @active_dwell_2g: default active dwell time for 2G channels, if it's not zero
+ * @active_dwell_6g: default active dwell time for 6G channels
+ * @passive_dwell_6g: default passive dwell time for 6G channels
  * @passive_dwell:default passive dwell time
  * @max_rest_time: default max rest time
  * @sta_miracast_mcc_rest_time: max rest time for miracast and mcc
@@ -354,6 +356,8 @@ struct scan_default_params {
 	bool skip_dfs_chan_in_p2p_search;
 	bool use_wake_lock_in_user_scan;
 	uint32_t active_dwell_2g;
+	uint32_t active_dwell_6g;
+	uint32_t passive_dwell_6g;
 	uint32_t passive_dwell;
 	uint32_t max_rest_time;
 	uint32_t sta_miracast_mcc_rest_time;

+ 44 - 0
umac/scan/dispatcher/inc/wlan_scan_cfg.h

@@ -128,6 +128,48 @@
 		0, 10000, PLATFORM_VALUE(80, 0),\
 		CFG_VALUE_OR_DEFAULT, "active dwell time for 2G channels")
 
+/*
+ * <ini>
+ * active_max_channel_time_6g - Set max time for active 6G channel scan
+ * @Min: 0
+ * @Max: 10000
+ * @Default: 40
+ *
+ * This ini is used to set maximum time in msecs spent in active 6G channel scan
+ *
+ *
+ * Related: None
+ *
+ * Usage: External
+ *
+ * </ini>
+ */
+#define CFG_ACTIVE_MAX_6G_CHANNEL_TIME CFG_INI_UINT(\
+		"active_max_channel_time_6g",\
+		0, 10000, 40,\
+		CFG_VALUE_OR_DEFAULT, "active dwell time for 6G channels")
+
+/*
+ * <ini>
+ * passive_max_channel_time_6g - Set max time for passive 6G channel scan
+ * @Min: 0
+ * @Max: 10000
+ * @Default: 30
+ *
+ * This ini is used to set maximum time in msecs spent in passive 6G chan scan
+ *
+ *
+ * Related: None
+ *
+ * Usage: External
+ *
+ * </ini>
+ */
+#define CFG_PASSIVE_MAX_6G_CHANNEL_TIME CFG_INI_UINT(\
+		"passive_max_channel_time_6g",\
+		0, 10000, 30,\
+		CFG_VALUE_OR_DEFAULT, "passive dwell time for 6G channels")
+
 /*
  * <ini>
  * gPassiveMaxChannelTime - Set max channel time for passive scan
@@ -1156,6 +1198,8 @@
 	CFG(CFG_INITIAL_NO_DFS_SCAN) \
 	CFG(CFG_ACTIVE_MAX_2G_CHANNEL_TIME) \
 	CFG(CFG_PASSIVE_MAX_CHANNEL_TIME) \
+	CFG(CFG_ACTIVE_MAX_6G_CHANNEL_TIME) \
+	CFG(CFG_PASSIVE_MAX_6G_CHANNEL_TIME) \
 	CFG(CFG_SCAN_NUM_PROBES) \
 	CFG(CFG_SCAN_PROBE_REPEAT_TIME) \
 	CFG(CFG_ADAPTIVE_SCAN_DWELL_MODE) \

+ 4 - 0
umac/scan/dispatcher/inc/wlan_scan_public_structs.h

@@ -803,6 +803,8 @@ enum scan_request_type {
  * @dwell_time_active: active dwell time
  * @dwell_time_active_2g: active dwell time for 2G channels, if it's not zero
  * @dwell_time_passive: passive dwell time
+ * @dwell_time_active_6g: 6Ghz active dwell time
+ * @dwell_time_passive_6g: 6Ghz passive dwell time
  * @min_rest_time: min rest time
  * @max_rest_time: max rest time
  * @repeat_probe_time: repeat probe time
@@ -882,6 +884,8 @@ struct scan_req_params {
 	uint32_t dwell_time_active;
 	uint32_t dwell_time_active_2g;
 	uint32_t dwell_time_passive;
+	uint32_t dwell_time_active_6g;
+	uint32_t dwell_time_passive_6g;
 	uint32_t min_rest_time;
 	uint32_t max_rest_time;
 	uint32_t repeat_probe_time;

+ 6 - 0
umac/scan/dispatcher/src/wlan_scan_ucfg_api.c

@@ -971,6 +971,10 @@ wlan_scan_global_init(struct wlan_objmgr_psoc *psoc,
 				cfg_get(psoc, CFG_ENABLE_WAKE_LOCK_IN_SCAN);
 	scan_obj->scan_def.active_dwell_2g =
 			 cfg_get(psoc, CFG_ACTIVE_MAX_2G_CHANNEL_TIME);
+	scan_obj->scan_def.active_dwell_6g =
+			 cfg_get(psoc, CFG_ACTIVE_MAX_6G_CHANNEL_TIME);
+	scan_obj->scan_def.passive_dwell_6g =
+			 cfg_get(psoc, CFG_PASSIVE_MAX_6G_CHANNEL_TIME);
 	scan_obj->scan_def.passive_dwell =
 			 cfg_get(psoc, CFG_PASSIVE_MAX_CHANNEL_TIME);
 	scan_obj->scan_def.max_rest_time = SCAN_MAX_REST_TIME;
@@ -1159,6 +1163,8 @@ ucfg_scan_init_default_params(struct wlan_objmgr_vdev *vdev,
 	req->scan_req.scan_priority = def->scan_priority;
 	req->scan_req.dwell_time_active = def->active_dwell;
 	req->scan_req.dwell_time_active_2g = def->active_dwell_2g;
+	req->scan_req.dwell_time_active_6g = def->active_dwell_6g;
+	req->scan_req.dwell_time_passive_6g = def->passive_dwell_6g;
 	req->scan_req.dwell_time_passive = def->passive_dwell;
 	req->scan_req.min_rest_time = def->min_rest_time;
 	req->scan_req.max_rest_time = def->max_rest_time;

+ 2 - 0
wmi/src/wmi_unified_tlv.c

@@ -2753,6 +2753,8 @@ static QDF_STATUS send_scan_start_cmd_tlv(wmi_unified_t wmi_handle,
 	cmd->dwell_time_active = params->dwell_time_active;
 	cmd->dwell_time_active_2g = params->dwell_time_active_2g;
 	cmd->dwell_time_passive = params->dwell_time_passive;
+	cmd->dwell_time_active_6ghz = params->dwell_time_active_6g;
+	cmd->dwell_time_passive_6ghz = params->dwell_time_passive_6g;
 	cmd->min_rest_time = params->min_rest_time;
 	cmd->max_rest_time = params->max_rest_time;
 	cmd->repeat_probe_time = params->repeat_probe_time;