qcacmn: Refactor operatition to hostscan_adaptive_dwell_mode_no_conn INI

Ownership of hostscan_adaptive_dwell_mode_no_conn is changed from HDD to
scan module. So scan module doesn't have to rely on HDD to obtain the
INI setting.

CRs-Fixed: 2357888
Change-Id: If3c3d93f0e1763e778eb6e3e70e23231fb01a67e
This commit is contained in:
Paul Zhang
2018-12-19 10:05:39 +08:00
committed by nshrivas
부모 ee49ad5b58
커밋 5753f9bbe0
3개의 변경된 파일40개의 추가작업 그리고 0개의 파일을 삭제

파일 보기

@@ -302,6 +302,8 @@ struct extscan_def_config {
* @max_active_scans_allowed: maximum number of active parallel scan allowed
* per psoc
* @scan_priority: default scan priority
* @adaptive_dwell_time_mode: adaptive dwell mode with connection
* @adaptive_dwell_time_mode_nc: adaptive dwell mode without connection
* @scan_f_passive: passively scan all channels including active channels
* @scan_f_bcast_probe: add wild card ssid prbreq even if ssid_list is specified
* @scan_f_cck_rates: add cck rates to rates/xrates ie in prb req
@@ -375,6 +377,7 @@ struct scan_default_params {
uint32_t max_active_scans_allowed;
enum scan_priority scan_priority;
enum scan_dwelltime_adaptive_mode adaptive_dwell_time_mode;
enum scan_dwelltime_adaptive_mode adaptive_dwell_time_mode_nc;
union {
struct {
uint32_t scan_f_passive:1,

파일 보기

@@ -181,6 +181,37 @@
CFG_VALUE_OR_DEFAULT,\
"Enable adaptive dwell mode")
/*
* <ini>
* hostscan_adaptive_dwell_mode_no_conn - Enable adaptive dwell mode
* during host scan without conneciton
* @Min: 0
* @Max: 4
* @Default: 1
*
* This ini will set the algo used in dwell time optimization
* during host scan with connection.
* See enum wmi_dwelltime_adaptive_mode.
* Acceptable values for this:
* 0: Default (Use firmware default mode)
* 1: Conservative optimization
* 2: Moderate optimization
* 3: Aggressive optimization
* 4: Static
*
* Related: None
*
* Supported Feature: Scan
*
* Usage: External
*
* </ini>
*/
#define CFG_ADAPTIVE_SCAN_DWELL_MODE_NC CFG_INI_UINT(\
"hostscan_adaptive_dwell_mode_no_conn",\
0, 4, MCL_OR_WIN_VALUE(1, 0),\
CFG_VALUE_OR_DEFAULT,\
"Enable adaptive dwell mode without connection")
/*
* <ini>
* is_bssid_hint_priority - Set priority for connection with bssid_hint
@@ -399,6 +430,7 @@
CFG(CFG_SCAN_NUM_PROBES) \
CFG(CFG_SCAN_PROBE_REPEAT_TIME) \
CFG(CFG_ADAPTIVE_SCAN_DWELL_MODE) \
CFG(CFG_ADAPTIVE_SCAN_DWELL_MODE_NC) \
CFG(CFG_IS_BSSID_HINT_PRIORITY) \
CFG_SCAN_PNO \
CFG(CFG_PASSIVE_MAX_CHANNEL_TIME_CONC) \

파일 보기

@@ -585,6 +585,9 @@ static void ucfg_scan_req_update_concurrency_params(
req->scan_req.idle_time = scan_obj->scan_def.conc_idle_time;
}
if (!wlan_vdev_is_up(req->vdev))
req->scan_req.adaptive_dwell_time_mode =
scan_obj->scan_def.adaptive_dwell_time_mode_nc;
/*
* If AP is active set min rest time same as max rest time, so that
* firmware spends more time on home channel which will increase the
@@ -1441,6 +1444,8 @@ wlan_scan_global_init(struct wlan_objmgr_psoc *psoc,
scan_obj->scan_def.idle_time = SCAN_NETWORK_IDLE_TIMEOUT;
scan_obj->scan_def.adaptive_dwell_time_mode =
cfg_get(psoc, CFG_ADAPTIVE_SCAN_DWELL_MODE);
scan_obj->scan_def.adaptive_dwell_time_mode_nc =
cfg_get(psoc, CFG_ADAPTIVE_SCAN_DWELL_MODE_NC);
scan_obj->scan_def.is_bssid_hint_priority =
cfg_get(psoc, CFG_IS_BSSID_HINT_PRIORITY);
/* scan contrl flags */