qcacmn: Add knobs to configure the scan paramters
Add user configuration parameters to configure the number of probes in scan request and probe repeate time during scan Change-Id: I65a3734d8080d8adfe3e9ffa26905e6adc196197 CRs-Fixed: 2071697
This commit is contained in:

committed by
snandini

parent
4105bf68a4
commit
c55ea47249
@@ -300,6 +300,8 @@ struct scan_default_params {
|
|||||||
uint32_t prefer_5ghz;
|
uint32_t prefer_5ghz;
|
||||||
uint32_t select_5ghz_margin;
|
uint32_t select_5ghz_margin;
|
||||||
bool is_bssid_hint_priority;
|
bool is_bssid_hint_priority;
|
||||||
|
uint32_t usr_cfg_probe_rpt_time;
|
||||||
|
uint32_t usr_cfg_num_probes;
|
||||||
/* each RSSI category has one value */
|
/* each RSSI category has one value */
|
||||||
uint32_t bss_prefer_val[SCM_NUM_RSSI_CAT];
|
uint32_t bss_prefer_val[SCM_NUM_RSSI_CAT];
|
||||||
int rssi_cat[SCM_NUM_RSSI_CAT];
|
int rssi_cat[SCM_NUM_RSSI_CAT];
|
||||||
|
@@ -1110,6 +1110,8 @@ struct scan_user_cfg {
|
|||||||
enum scan_dwelltime_adaptive_mode scan_dwell_time_mode;
|
enum scan_dwelltime_adaptive_mode scan_dwell_time_mode;
|
||||||
struct pno_user_cfg pno_cfg;
|
struct pno_user_cfg pno_cfg;
|
||||||
struct probe_req_whitelist_attr ie_whitelist;
|
struct probe_req_whitelist_attr ie_whitelist;
|
||||||
|
uint32_t usr_cfg_probe_rpt_time;
|
||||||
|
uint32_t usr_cfg_num_probes;
|
||||||
bool is_bssid_hint_priority;
|
bool is_bssid_hint_priority;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -437,7 +437,17 @@ ucfg_scan_start(struct scan_start_request *req)
|
|||||||
scm_info("reqid: %d, scanid: %d, vdevid: %d",
|
scm_info("reqid: %d, scanid: %d, vdevid: %d",
|
||||||
req->scan_req.scan_req_id, req->scan_req.scan_id,
|
req->scan_req.scan_req_id, req->scan_req.scan_id,
|
||||||
req->scan_req.vdev_id);
|
req->scan_req.vdev_id);
|
||||||
|
if (scan_obj->scan_def.usr_cfg_probe_rpt_time) {
|
||||||
|
req->scan_req.repeat_probe_time =
|
||||||
|
scan_obj->scan_def.usr_cfg_probe_rpt_time;
|
||||||
|
scm_debug("usr_cfg_probe_rpt_time %d",
|
||||||
|
req->scan_req.repeat_probe_time);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (scan_obj->scan_def.usr_cfg_num_probes) {
|
||||||
|
req->scan_req.n_probes = scan_obj->scan_def.usr_cfg_num_probes;
|
||||||
|
scm_debug("usr_cfg_num_probes %d", req->scan_req.n_probes);
|
||||||
|
}
|
||||||
ucfg_scan_update_dbs_scan_ctrl_ext_flag(req);
|
ucfg_scan_update_dbs_scan_ctrl_ext_flag(req);
|
||||||
if (req->scan_req.scan_f_passive)
|
if (req->scan_req.scan_f_passive)
|
||||||
req->scan_req.scan_ctrl_flags_ext |=
|
req->scan_req.scan_ctrl_flags_ext |=
|
||||||
@@ -966,7 +976,6 @@ ucfg_scan_init_default_params(struct wlan_objmgr_vdev *vdev,
|
|||||||
def->adaptive_dwell_time_mode;
|
def->adaptive_dwell_time_mode;
|
||||||
req->scan_req.scan_flags = def->scan_flags;
|
req->scan_req.scan_flags = def->scan_flags;
|
||||||
req->scan_req.scan_events = def->scan_events;
|
req->scan_req.scan_events = def->scan_events;
|
||||||
|
|
||||||
ucfg_scan_req_update_params(vdev, req);
|
ucfg_scan_req_update_params(vdev, req);
|
||||||
|
|
||||||
return QDF_STATUS_SUCCESS;
|
return QDF_STATUS_SUCCESS;
|
||||||
@@ -1216,6 +1225,8 @@ QDF_STATUS ucfg_scan_update_user_config(struct wlan_objmgr_psoc *psoc,
|
|||||||
scan_def->adaptive_dwell_time_mode = scan_cfg->scan_dwell_time_mode;
|
scan_def->adaptive_dwell_time_mode = scan_cfg->scan_dwell_time_mode;
|
||||||
scan_def->scan_f_chan_stat_evnt = scan_cfg->is_snr_monitoring_enabled;
|
scan_def->scan_f_chan_stat_evnt = scan_cfg->is_snr_monitoring_enabled;
|
||||||
scan_obj->ie_whitelist = scan_cfg->ie_whitelist;
|
scan_obj->ie_whitelist = scan_cfg->ie_whitelist;
|
||||||
|
scan_def->usr_cfg_probe_rpt_time = scan_cfg->usr_cfg_probe_rpt_time;
|
||||||
|
scan_def->usr_cfg_num_probes = scan_cfg->usr_cfg_num_probes;
|
||||||
scan_def->is_bssid_hint_priority = scan_cfg->is_bssid_hint_priority;
|
scan_def->is_bssid_hint_priority = scan_cfg->is_bssid_hint_priority;
|
||||||
|
|
||||||
ucfg_scan_assign_rssi_category(scan_def,
|
ucfg_scan_assign_rssi_category(scan_def,
|
||||||
|
Reference in New Issue
Block a user