Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d0f8b3fe authored by Deeksha Gupta's avatar Deeksha Gupta Committed by Madan Koyyalamudi
Browse files

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

Add min 6g scan dwell time parameter in scan request command.

Change-Id: I34d806399df0fdee9d1b9e3a0a8212d76db062d8
CRs-Fixed: 2984813
parent 07ee940c
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -302,6 +302,7 @@ 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
 * @min_dwell_time_6g: default min dwell time for 6G channels
 * @active_dwell_6g: default active dwell time for 6G channels
 * @passive_dwell_6g: default passive dwell time for 6G channels
 * @active_dwell_time_6g_conc: default concurrent active dwell time for 6G
@@ -391,6 +392,7 @@ 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 min_dwell_time_6g;
	uint32_t active_dwell_6g;
	uint32_t passive_dwell_6g;
	uint32_t active_dwell_time_6g_conc;
+37 −3
Original line number Diff line number Diff line
@@ -179,6 +179,32 @@ enum scan_mode_6ghz {
		0, 10000, PLATFORM_VALUE(80, 0),\
		CFG_VALUE_OR_DEFAULT, "active dwell time for 2G channels")

/*
 * <ini>
 * min_channel_time_6g - Set min dwell time for 6G channels scan
 * @Min: 5
 * @Max: 60
 * @Default: 25
 *
 * This ini is used to set minimum time in msecs spent in 6G channels scan.
 * Firmware will park on the 6G channel for this duration and if no FILS
 * discovery, Beacon, Probe resp is received it will move to new channel after
 * this duration. If found , it will wait for "active_max_channel_time_6g"
 * duration
 *
 * Related: active_max_channel_time_6g
 *
 * Supported Feature: Scan
 *
 * Usage: External
 *
 * </ini>
 */
 #define CFG_MIN_6G_CHANNEL_TIME CFG_INI_UINT(\
		"min_dwell_time_6g",\
		5, 60, 25,\
		CFG_VALUE_OR_DEFAULT, "min dwell time for 6G channels")

/*
 * <ini>
 * active_max_channel_time_6g - Set max time for active 6G channel scan
@@ -191,6 +217,8 @@ enum scan_mode_6ghz {
 *
 * Related: None
 *
 * Supported Feature: Scan
 *
 * Usage: External
 *
 * </ini>
@@ -198,7 +226,7 @@ enum scan_mode_6ghz {
#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")
		CFG_VALUE_OR_DEFAULT, "max active dwell time for 6G channels")

/*
 * <ini>
@@ -209,9 +237,10 @@ enum scan_mode_6ghz {
 *
 * This ini is used to set maximum time in msecs spent in passive 6G chan scan
 *
 *
 * Related: None
 *
 * Supported Feature: Scan
 *
 * Usage: External
 *
 * </ini>
@@ -219,7 +248,7 @@ enum scan_mode_6ghz {
#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")
		CFG_VALUE_OR_DEFAULT, "max passive dwell time for 6G channels")

/*
 * <ini>
@@ -234,6 +263,8 @@ enum scan_mode_6ghz {
 *
 * Related: None
 *
 * Supported Feature: Scan
 *
 * Usage: External
 *
 * </ini>
@@ -256,6 +287,8 @@ enum scan_mode_6ghz {
 *
 * Related: None
 *
 * Supported Feature: Scan
 *
 * Usage: External
 *
 * </ini>
@@ -1389,6 +1422,7 @@ enum scan_mode_6ghz {
	CFG(CFG_INITIAL_NO_DFS_SCAN) \
	CFG(CFG_ACTIVE_MAX_2G_CHANNEL_TIME) \
	CFG(CFG_PASSIVE_MAX_CHANNEL_TIME) \
	CFG(CFG_MIN_6G_CHANNEL_TIME) \
	CFG(CFG_ACTIVE_MAX_6G_CHANNEL_TIME) \
	CFG(CFG_PASSIVE_MAX_6G_CHANNEL_TIME) \
	CFG(CFG_ACTIVE_MAX_6G_CHANNEL_TIME_CONC) \
+2 −0
Original line number Diff line number Diff line
@@ -892,6 +892,7 @@ 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
 * @min_dwell_time_6g: 6Ghz min dwell time
 * @dwell_time_active_6g: 6Ghz active dwell time
 * @dwell_time_passive_6g: 6Ghz passive dwell time
 * @min_rest_time: min rest time
@@ -977,6 +978,7 @@ struct scan_req_params {
	uint32_t dwell_time_active;
	uint32_t dwell_time_active_2g;
	uint32_t dwell_time_passive;
	uint32_t min_dwell_time_6g;
	uint32_t dwell_time_active_6g;
	uint32_t dwell_time_passive_6g;
	uint32_t min_rest_time;
+3 −0
Original line number Diff line number Diff line
@@ -875,6 +875,8 @@ 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.min_dwell_time_6g =
			cfg_get(psoc, CFG_MIN_6G_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 =
@@ -1076,6 +1078,7 @@ 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.min_dwell_time_6g = def->min_dwell_time_6g;
	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;
+1 −0
Original line number Diff line number Diff line
@@ -2957,6 +2957,7 @@ 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->min_dwell_time_6ghz = params->min_dwell_time_6g;
	cmd->dwell_time_active_6ghz = params->dwell_time_active_6g;
	cmd->dwell_time_passive_6ghz = params->dwell_time_passive_6g;
	cmd->scan_start_offset = params->scan_offset_time;