summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSrinivas Girigowda <sgirigow@qca.qualcomm.com>2015-07-23 17:14:21 -0700
committerAnjaneedevi Kapparapu <akappa@codeaurora.org>2015-07-27 15:58:57 +0530
commitaa6c60fbcc83e4e8c1d83319db6660be82169728 (patch)
tree0f8e6dd1b55e119ceb890ee35c285acf1e0e68f1
parent7bd24c553eae8ae4cc1cfe7b43068901d24e744c (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.h28
-rw-r--r--CORE/HDD/src/wlan_hdd_cfg.c30
-rw-r--r--CORE/HDD/src/wlan_hdd_cfg80211.c32
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;
}
}