mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-14 00:24:41 -04:00
qcacld-3.0: 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:
parent
5850c8cf13
commit
a2dfefe6f8
4 changed files with 68 additions and 1 deletions
|
|
@ -910,6 +910,52 @@ enum hdd_dot11_mode {
|
|||
#define CFG_ACTIVE_MIN_CHANNEL_TIME_MAX (10000)
|
||||
#define CFG_ACTIVE_MIN_CHANNEL_TIME_DEFAULT (20)
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* gScanNumProbes - Set the number of probes on each channel for active scan
|
||||
* @Min: 0
|
||||
* @Max: 20
|
||||
* @Default: 0
|
||||
*
|
||||
* This ini is used to set number of probes on each channel for
|
||||
* active scan
|
||||
*
|
||||
* Related: None
|
||||
*
|
||||
* Supported Feature: Scan
|
||||
*
|
||||
* Usage: External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_SCAN_NUM_PROBES_NAME "gScanNumProbes"
|
||||
#define CFG_SCAN_NUM_PROBES_MIN (0)
|
||||
#define CFG_SCAN_NUM_PROBES_MAX (20)
|
||||
#define CFG_SCAN_NUM_PROBES_DEFAULT (0)
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* gScanProbeRepeatTime - Set the probe repeat time on each channel for active scan
|
||||
* @Min: 0
|
||||
* @Max: 30
|
||||
* @Default: 0
|
||||
*
|
||||
* This ini is used to set probe repeat time on each channel for
|
||||
* active scan
|
||||
*
|
||||
* Related: None
|
||||
*
|
||||
* Supported Feature: Scan
|
||||
*
|
||||
* Usage: External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_SCAN_PROBE_REPEAT_TIME_NAME "gScanProbeRepeatTime"
|
||||
#define CFG_SCAN_PROBE_REPEAT_TIME_MIN (0)
|
||||
#define CFG_SCAN_PROBE_REPEAT_TIME_MAX (30)
|
||||
#define CFG_SCAN_PROBE_REPEAT_TIME_DEFAULT (0)
|
||||
|
||||
#ifdef FEATURE_WLAN_EXTSCAN
|
||||
/*
|
||||
* <ini>
|
||||
|
|
@ -13324,6 +13370,8 @@ struct hdd_config {
|
|||
uint32_t nPassiveMaxChnTime; /* in units of milliseconds */
|
||||
uint32_t nActiveMinChnTime; /* in units of milliseconds */
|
||||
uint32_t nActiveMaxChnTime; /* in units of milliseconds */
|
||||
uint32_t scan_probe_repeat_time;
|
||||
uint32_t scan_num_probes;
|
||||
|
||||
uint32_t nInitialDwellTime; /* in units of milliseconds */
|
||||
bool initial_scan_no_dfs_chnl;
|
||||
|
|
|
|||
|
|
@ -742,6 +742,20 @@ struct reg_table_entry g_registry_table[] = {
|
|||
CFG_ACTIVE_MIN_CHANNEL_TIME_MIN,
|
||||
CFG_ACTIVE_MIN_CHANNEL_TIME_MAX),
|
||||
|
||||
REG_VARIABLE(CFG_SCAN_NUM_PROBES_NAME, WLAN_PARAM_Integer,
|
||||
struct hdd_config, scan_num_probes,
|
||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
||||
CFG_SCAN_NUM_PROBES_DEFAULT,
|
||||
CFG_SCAN_NUM_PROBES_MIN,
|
||||
CFG_SCAN_NUM_PROBES_MAX),
|
||||
|
||||
REG_VARIABLE(CFG_SCAN_PROBE_REPEAT_TIME_NAME, WLAN_PARAM_Integer,
|
||||
struct hdd_config, scan_probe_repeat_time,
|
||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
||||
CFG_SCAN_PROBE_REPEAT_TIME_DEFAULT,
|
||||
CFG_SCAN_PROBE_REPEAT_TIME_MIN,
|
||||
CFG_SCAN_PROBE_REPEAT_TIME_MAX),
|
||||
|
||||
REG_VARIABLE(CFG_RETRY_LIMIT_ZERO_NAME, WLAN_PARAM_Integer,
|
||||
struct hdd_config, retryLimitZero,
|
||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
||||
|
|
|
|||
|
|
@ -12133,6 +12133,8 @@ static int hdd_update_scan_config(struct hdd_context *hdd_ctx)
|
|||
scan_cfg.rssi_cat_gap = cfg->nRssiCatGap;
|
||||
scan_cfg.scan_dwell_time_mode = cfg->scan_adaptive_dwell_mode;
|
||||
scan_cfg.is_snr_monitoring_enabled = cfg->fEnableSNRMonitoring;
|
||||
scan_cfg.usr_cfg_probe_rpt_time = cfg->scan_probe_repeat_time ;
|
||||
scan_cfg.usr_cfg_num_probes = cfg->scan_num_probes ;
|
||||
scan_cfg.is_bssid_hint_priority = cfg->is_bssid_hint_priority;
|
||||
|
||||
hdd_update_pno_config(&scan_cfg.pno_cfg, cfg);
|
||||
|
|
|
|||
|
|
@ -252,6 +252,7 @@ QDF_STATUS wma_get_buf_start_scan_cmd(tp_wma_handle wma_handle,
|
|||
cmd->repeat_probe_time =
|
||||
cmd->dwell_time_active / WMA_SCAN_NPROBES_DEFAULT;
|
||||
|
||||
WMA_LOGD("Repeat probe time %d", cmd->repeat_probe_time);
|
||||
/* CSR sends min_rest_Time, max_rest_time and idle_time
|
||||
* for staying on home channel to continue data traffic.
|
||||
* Rome fw has facility to monitor the traffic
|
||||
|
|
@ -450,7 +451,9 @@ QDF_STATUS wma_get_buf_start_scan_cmd(tp_wma_handle wma_handle,
|
|||
}
|
||||
|
||||
cmd->n_probes = (cmd->repeat_probe_time > 0) ?
|
||||
cmd->dwell_time_active / cmd->repeat_probe_time : 0;
|
||||
cmd->dwell_time_active / cmd->repeat_probe_time : 0;
|
||||
|
||||
WMA_LOGD("Num Probes in each ch scan %d", cmd->n_probes);
|
||||
if (scan_req->channelList.numChannels) {
|
||||
cmd->num_chan = scan_req->channelList.numChannels;
|
||||
for (i = 0; i < scan_req->channelList.numChannels; ++i) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue