diff options
| author | Srinivas Girigowda <sgirigow@qca.qualcomm.com> | 2015-07-23 17:14:21 -0700 |
|---|---|---|
| committer | Anjaneedevi Kapparapu <akappa@codeaurora.org> | 2015-07-27 15:58:57 +0530 |
| commit | aa6c60fbcc83e4e8c1d83319db6660be82169728 (patch) | |
| tree | 0f8e6dd1b55e119ceb890ee35c285acf1e0e68f1 | |
| parent | 7bd24c553eae8ae4cc1cfe7b43068901d24e744c (diff) | |
qcacld-2.0: Add extscan channel dwell time cfg.ini items
Add cfg.ini items to configure extscan active/passive min/max
channel dwell times.
Change-Id: I42e876f522b9f2826a5f3846f7ec8980b74fc615
CRs-Fixed: 878695
| -rw-r--r-- | CORE/HDD/inc/wlan_hdd_cfg.h | 28 | ||||
| -rw-r--r-- | CORE/HDD/src/wlan_hdd_cfg.c | 30 | ||||
| -rw-r--r-- | CORE/HDD/src/wlan_hdd_cfg80211.c | 32 |
3 files changed, 73 insertions, 17 deletions
diff --git a/CORE/HDD/inc/wlan_hdd_cfg.h b/CORE/HDD/inc/wlan_hdd_cfg.h index 2a85814f7961..0ccf34a241ed 100644 --- a/CORE/HDD/inc/wlan_hdd_cfg.h +++ b/CORE/HDD/inc/wlan_hdd_cfg.h @@ -3032,6 +3032,28 @@ enum dot11p_mode { #define CFG_FINE_TIME_MEAS_CAPABILITY_MAX (0x00BD) #define CFG_FINE_TIME_MEAS_CAPABILITY_DEFAULT (0x000D) +#ifdef FEATURE_WLAN_EXTSCAN +#define CFG_EXTSCAN_PASSIVE_MAX_CHANNEL_TIME_NAME "gExtScanPassiveMaxChannelTime" +#define CFG_EXTSCAN_PASSIVE_MAX_CHANNEL_TIME_MIN (110) +#define CFG_EXTSCAN_PASSIVE_MAX_CHANNEL_TIME_MAX (500) +#define CFG_EXTSCAN_PASSIVE_MAX_CHANNEL_TIME_DEFAULT (110) + +#define CFG_EXTSCAN_PASSIVE_MIN_CHANNEL_TIME_NAME "gExtScanPassiveMinChannelTime" +#define CFG_EXTSCAN_PASSIVE_MIN_CHANNEL_TIME_MIN (60) +#define CFG_EXTSCAN_PASSIVE_MIN_CHANNEL_TIME_MAX (500) +#define CFG_EXTSCAN_PASSIVE_MIN_CHANNEL_TIME_DEFAULT (60) + +#define CFG_EXTSCAN_ACTIVE_MAX_CHANNEL_TIME_NAME "gExtScanActiveMaxChannelTime" +#define CFG_EXTSCAN_ACTIVE_MAX_CHANNEL_TIME_MIN (40) +#define CFG_EXTSCAN_ACTIVE_MAX_CHANNEL_TIME_MAX (110) +#define CFG_EXTSCAN_ACTIVE_MAX_CHANNEL_TIME_DEFAULT (40) + +#define CFG_EXTSCAN_ACTIVE_MIN_CHANNEL_TIME_NAME "gExtScanActiveMinChannelTime" +#define CFG_EXTSCAN_ACTIVE_MIN_CHANNEL_TIME_MIN (20) +#define CFG_EXTSCAN_ACTIVE_MIN_CHANNEL_TIME_MAX (110) +#define CFG_EXTSCAN_ACTIVE_MIN_CHANNEL_TIME_DEFAULT (20) +#endif + /*--------------------------------------------------------------------------- Type declarations -------------------------------------------------------------------------*/ @@ -3680,6 +3702,12 @@ typedef struct bool tx_chain_mask_cck; uint8_t tx_chain_mask_1ss; +#ifdef FEATURE_WLAN_EXTSCAN + uint32_t extscan_passive_max_chn_time; + uint32_t extscan_passive_min_chn_time; + uint32_t extscan_active_max_chn_time; + uint32_t extscan_active_min_chn_time; +#endif } hdd_config_t; #ifdef WLAN_FEATURE_MBSSID diff --git a/CORE/HDD/src/wlan_hdd_cfg.c b/CORE/HDD/src/wlan_hdd_cfg.c index b2e97b60c116..3742de164d47 100644 --- a/CORE/HDD/src/wlan_hdd_cfg.c +++ b/CORE/HDD/src/wlan_hdd_cfg.c @@ -3953,6 +3953,36 @@ REG_TABLE_ENTRY g_registry_table[] = CFG_TX_CHAIN_MASK_1SS_DEFAULT, CFG_TX_CHAIN_MASK_1SS_MIN, CFG_TX_CHAIN_MASK_1SS_MAX), + +#ifdef FEATURE_WLAN_EXTSCAN + REG_VARIABLE(CFG_EXTSCAN_PASSIVE_MAX_CHANNEL_TIME_NAME, WLAN_PARAM_Integer, + hdd_config_t, extscan_passive_max_chn_time, + VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, + CFG_EXTSCAN_PASSIVE_MAX_CHANNEL_TIME_DEFAULT, + CFG_EXTSCAN_PASSIVE_MAX_CHANNEL_TIME_MIN, + CFG_EXTSCAN_PASSIVE_MAX_CHANNEL_TIME_MAX ), + + REG_VARIABLE(CFG_EXTSCAN_PASSIVE_MIN_CHANNEL_TIME_NAME, WLAN_PARAM_Integer, + hdd_config_t, extscan_passive_min_chn_time, + VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, + CFG_EXTSCAN_PASSIVE_MIN_CHANNEL_TIME_DEFAULT, + CFG_EXTSCAN_PASSIVE_MIN_CHANNEL_TIME_MIN, + CFG_EXTSCAN_PASSIVE_MIN_CHANNEL_TIME_MAX), + + REG_VARIABLE(CFG_EXTSCAN_ACTIVE_MAX_CHANNEL_TIME_NAME, WLAN_PARAM_Integer, + hdd_config_t, extscan_active_max_chn_time, + VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, + CFG_EXTSCAN_ACTIVE_MAX_CHANNEL_TIME_DEFAULT, + CFG_EXTSCAN_ACTIVE_MAX_CHANNEL_TIME_MIN, + CFG_EXTSCAN_ACTIVE_MAX_CHANNEL_TIME_MAX), + + REG_VARIABLE(CFG_EXTSCAN_ACTIVE_MIN_CHANNEL_TIME_NAME, WLAN_PARAM_Integer, + hdd_config_t, extscan_active_min_chn_time, + VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, + CFG_EXTSCAN_ACTIVE_MIN_CHANNEL_TIME_DEFAULT, + CFG_EXTSCAN_ACTIVE_MIN_CHANNEL_TIME_MIN, + CFG_EXTSCAN_ACTIVE_MIN_CHANNEL_TIME_MAX), +#endif }; #ifdef WLAN_FEATURE_MBSSID diff --git a/CORE/HDD/src/wlan_hdd_cfg80211.c b/CORE/HDD/src/wlan_hdd_cfg80211.c index 762ad64fcde5..a3e0f4f0aaa0 100644 --- a/CORE/HDD/src/wlan_hdd_cfg80211.c +++ b/CORE/HDD/src/wlan_hdd_cfg80211.c @@ -198,9 +198,6 @@ */ #define EXTSCAN_EVENT_BUF_SIZE 4096 -#define EXTSCAN_ACTIVE_MAX_CHANNEL_TIME_DEFAULT 30 -#define EXTSCAN_ACTIVE_MAX_CHANNEL_TIME_MIN 30 -#define EXTSCAN_ACTIVE_MAX_CHANNEL_TIME_MAX 110 #endif #ifdef WLAN_FEATURE_LINK_LAYER_STATS @@ -3273,22 +3270,22 @@ static int hdd_extscan_start_fill_bucket_channel_spec( uint32_t chanList[WNI_CFG_VALID_CHANNEL_LIST_LEN] = {0}; uint32_t min_dwell_time_active_bucket = - EXTSCAN_ACTIVE_MAX_CHANNEL_TIME_DEFAULT; + pHddCtx->cfg_ini->extscan_active_max_chn_time; uint32_t max_dwell_time_active_bucket = - EXTSCAN_ACTIVE_MAX_CHANNEL_TIME_DEFAULT; + pHddCtx->cfg_ini->extscan_active_max_chn_time; uint32_t min_dwell_time_passive_bucket = - CFG_PASSIVE_MAX_CHANNEL_TIME_DEFAULT; + pHddCtx->cfg_ini->extscan_passive_max_chn_time; uint32_t max_dwell_time_passive_bucket = - CFG_PASSIVE_MAX_CHANNEL_TIME_DEFAULT; + pHddCtx->cfg_ini->extscan_passive_max_chn_time; bktIndex = 0; pReqMsg->min_dwell_time_active = pReqMsg->max_dwell_time_active = - EXTSCAN_ACTIVE_MAX_CHANNEL_TIME_DEFAULT; + pHddCtx->cfg_ini->extscan_active_max_chn_time; pReqMsg->min_dwell_time_passive = pReqMsg->max_dwell_time_passive = - CFG_PASSIVE_MAX_CHANNEL_TIME_DEFAULT; + pHddCtx->cfg_ini->extscan_passive_max_chn_time; nla_for_each_nested(buckets, tb[QCA_WLAN_VENDOR_ATTR_EXTSCAN_BUCKET_SPEC], rem1) { @@ -3374,11 +3371,11 @@ static int hdd_extscan_start_fill_bucket_channel_spec( /* start with known good values for bucket dwell times */ pReqMsg->buckets[bktIndex].min_dwell_time_active = pReqMsg->buckets[bktIndex].max_dwell_time_active = - EXTSCAN_ACTIVE_MAX_CHANNEL_TIME_DEFAULT; + pHddCtx->cfg_ini->extscan_active_max_chn_time; pReqMsg->buckets[bktIndex].min_dwell_time_passive = pReqMsg->buckets[bktIndex].max_dwell_time_passive = - CFG_PASSIVE_MAX_CHANNEL_TIME_DEFAULT; + pHddCtx->cfg_ini->extscan_passive_max_chn_time; /* Framework shall pass the channel list if the input WiFi band is * WIFI_BAND_UNSPECIFIED. @@ -3415,7 +3412,8 @@ static int hdd_extscan_start_fill_bucket_channel_spec( passive = 1; pReqMsg->buckets[bktIndex].channels[j]. dwellTimeMs = - CFG_PASSIVE_MAX_CHANNEL_TIME_DEFAULT; + pHddCtx->cfg_ini-> + extscan_passive_max_chn_time; /* reconfigure per-bucket dwell time */ if (min_dwell_time_passive_bucket > pReqMsg->buckets[bktIndex].channels[j].dwellTimeMs) { @@ -3432,7 +3430,7 @@ static int hdd_extscan_start_fill_bucket_channel_spec( passive = 0; pReqMsg->buckets[bktIndex].channels[j]. dwellTimeMs = - EXTSCAN_ACTIVE_MAX_CHANNEL_TIME_DEFAULT; + pHddCtx->cfg_ini->extscan_active_max_chn_time; /* reconfigure per-bucket dwell times */ if (min_dwell_time_active_bucket > pReqMsg->buckets[bktIndex].channels[j].dwellTimeMs) { @@ -3525,9 +3523,9 @@ static int hdd_extscan_start_fill_bucket_channel_spec( /* Override dwell time if required */ if (pReqMsg->buckets[bktIndex].channels[j].dwellTimeMs < - EXTSCAN_ACTIVE_MAX_CHANNEL_TIME_MIN || + pHddCtx->cfg_ini->extscan_active_min_chn_time || pReqMsg->buckets[bktIndex].channels[j].dwellTimeMs > - EXTSCAN_ACTIVE_MAX_CHANNEL_TIME_MAX) { + pHddCtx->cfg_ini->extscan_active_max_chn_time) { hddLog(LOG1, FL("WiFi band is unspecified, dwellTime:%d"), pReqMsg->buckets[bktIndex].channels[j].dwellTimeMs); @@ -3536,10 +3534,10 @@ static int hdd_extscan_start_fill_bucket_channel_spec( vos_freq_to_chan( pReqMsg->buckets[bktIndex].channels[j].channel))) { pReqMsg->buckets[bktIndex].channels[j].dwellTimeMs = - CFG_PASSIVE_MAX_CHANNEL_TIME_DEFAULT; + pHddCtx->cfg_ini->extscan_passive_max_chn_time; } else { pReqMsg->buckets[bktIndex].channels[j].dwellTimeMs = - EXTSCAN_ACTIVE_MAX_CHANNEL_TIME_DEFAULT; + pHddCtx->cfg_ini->extscan_active_max_chn_time; } } |
