summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKalikinkar dhara <c_kaliki@qca.qualcomm.com>2014-04-06 15:42:56 -0700
committerAkash Patel <c_akashp@qca.qualcomm.com>2014-04-10 07:12:47 -0700
commitb106db220351f64fdfadebf3166fe2e0baaa39b2 (patch)
treef10e35973b65975db65906b73ac033ab768158af
parent56a0f58a50883c940bc666255a5eb22cdd52084e (diff)
qcacld: Add ini parametr to configure dwell time for first time
Add ini parameter, gIntialDwellTime, to configure dwell time for the first time. By updating this parameter, we are configuring maxChnTime(max channel time). By default this parameter is set to 0, meaning maxChnTime will be set to default value. CRs-Fixed: 643938 (cherry picked from commit I53f6e1a946c7e186a2fa288c9b713260cf0741b7) Change-Id: Id8b9f3cd1f597b796bfe4548cd69c1cc9399cf0f
-rw-r--r--CORE/HDD/inc/wlan_hdd_cfg.h6
-rw-r--r--CORE/HDD/src/wlan_hdd_cfg.c8
-rw-r--r--CORE/SME/inc/csrApi.h2
-rw-r--r--CORE/SME/inc/csrInternal.h2
-rw-r--r--CORE/SME/src/csr/csrApiRoam.c5
-rw-r--r--CORE/SME/src/csr/csrApiScan.c18
6 files changed, 41 insertions, 0 deletions
diff --git a/CORE/HDD/inc/wlan_hdd_cfg.h b/CORE/HDD/inc/wlan_hdd_cfg.h
index bc3ee167022d..13ee7bf4cc12 100644
--- a/CORE/HDD/inc/wlan_hdd_cfg.h
+++ b/CORE/HDD/inc/wlan_hdd_cfg.h
@@ -2364,6 +2364,10 @@ This feature requires the dependent cfg.ini "gRoamPrefer5GHz" set to 1 */
#define CFG_SAP_MAX_OFFLOAD_PEERS_DEFAULT (2)
#endif
+#define CFG_INITIAL_DWELL_TIME_NAME "gInitialDwellTime"
+#define CFG_INITIAL_DWELL_TIME_DEFAULT (0)
+#define CFG_INITIAL_DWELL_TIME_MIN (0)
+#define CFG_INITIAL_DWELL_TIME_MAX (100)
/*---------------------------------------------------------------------------
Type declarations
-------------------------------------------------------------------------*/
@@ -2521,6 +2525,8 @@ typedef struct
v_U32_t nActiveMinChnTime; //in units of milliseconds
v_U32_t nActiveMaxChnTime; //in units of milliseconds
+ v_U32_t nInitialDwellTime; //in units of milliseconds
+
v_U32_t nActiveMinChnTimeBtc; //in units of milliseconds
v_U32_t nActiveMaxChnTimeBtc; //in units of milliseconds
#ifdef WLAN_AP_STA_CONCURRENCY
diff --git a/CORE/HDD/src/wlan_hdd_cfg.c b/CORE/HDD/src/wlan_hdd_cfg.c
index f4be26669234..8df49fd85c55 100644
--- a/CORE/HDD/src/wlan_hdd_cfg.c
+++ b/CORE/HDD/src/wlan_hdd_cfg.c
@@ -3294,6 +3294,13 @@ REG_VARIABLE( CFG_LL_TX_HBW_FLOW_MAX_Q_DEPTH, WLAN_PARAM_Integer,
CFG_LL_TX_HBW_FLOW_MAX_Q_DEPTH_MIN,
CFG_LL_TX_HBW_FLOW_MAX_Q_DEPTH_MAX ),
#endif /* QCA_LL_TX_FLOW_CT */
+
+ REG_VARIABLE(CFG_INITIAL_DWELL_TIME_NAME, WLAN_PARAM_Integer,
+ hdd_config_t, nInitialDwellTime,
+ VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
+ CFG_INITIAL_DWELL_TIME_DEFAULT,
+ CFG_INITIAL_DWELL_TIME_MIN,
+ CFG_INITIAL_DWELL_TIME_MAX ),
REG_VARIABLE( CFG_ACS_BAND_SWITCH_THRESHOLD, WLAN_PARAM_Integer,
hdd_config_t, acsBandSwitchThreshold,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
@@ -5236,6 +5243,7 @@ VOS_STATUS hdd_set_sme_config( hdd_context_t *pHddCtx )
smeConfig.csrConfig.vccUlMacLossThreshold = pConfig->nVccUlMacLossThreshold;
smeConfig.csrConfig.nRoamingTime = pConfig->nRoamingTime;
smeConfig.csrConfig.IsIdleScanEnabled = pConfig->nEnableIdleScan;
+ smeConfig.csrConfig.nInitialDwellTime = pConfig->nInitialDwellTime;
smeConfig.csrConfig.nActiveMaxChnTime = pConfig->nActiveMaxChnTime;
smeConfig.csrConfig.nActiveMinChnTime = pConfig->nActiveMinChnTime;
smeConfig.csrConfig.nPassiveMaxChnTime = pConfig->nPassiveMaxChnTime;
diff --git a/CORE/SME/inc/csrApi.h b/CORE/SME/inc/csrApi.h
index b00e746a7914..12b05a9b94f3 100644
--- a/CORE/SME/inc/csrApi.h
+++ b/CORE/SME/inc/csrApi.h
@@ -1057,6 +1057,8 @@ typedef struct tagCsrConfigParam
tANI_U32 nActiveMinChnTime; //in units of milliseconds
tANI_U32 nActiveMaxChnTime; //in units of milliseconds
+ tANI_U32 nInitialDwellTime; //in units of milliseconds
+
tANI_U32 nActiveMinChnTimeBtc; //in units of milliseconds
tANI_U32 nActiveMaxChnTimeBtc; //in units of milliseconds
tANI_U32 disableAggWithBtc;
diff --git a/CORE/SME/inc/csrInternal.h b/CORE/SME/inc/csrInternal.h
index 707d35a4e106..ef4ab16bdb6f 100644
--- a/CORE/SME/inc/csrInternal.h
+++ b/CORE/SME/inc/csrInternal.h
@@ -585,6 +585,8 @@ typedef struct tagCsrConfig
tANI_U32 nActiveMinChnTime; //in units of milliseconds
tANI_U32 nActiveMaxChnTime; //in units of milliseconds
+ tANI_U32 nInitialDwellTime; //in units of milliseconds
+
tANI_U32 nActiveMinChnTimeBtc; //in units of milliseconds
tANI_U32 nActiveMaxChnTimeBtc; //in units of milliseconds
tANI_U8 disableAggWithBtc;
diff --git a/CORE/SME/src/csr/csrApiRoam.c b/CORE/SME/src/csr/csrApiRoam.c
index 2615ceb1492a..f171b3298a49 100644
--- a/CORE/SME/src/csr/csrApiRoam.c
+++ b/CORE/SME/src/csr/csrApiRoam.c
@@ -1606,6 +1606,11 @@ eHalStatus csrChangeDefaultConfigParam(tpAniSirGlobal pMac, tCsrConfigParam *pPa
pMac->roam.configParam.disableAggWithBtc = pParam->disableAggWithBtc;
//if HDD passed down non zero values then only update,
//otherwise keep using the defaults
+ if (pParam->nInitialDwellTime)
+ {
+ pMac->roam.configParam.nInitialDwellTime =
+ pParam->nInitialDwellTime;
+ }
if (pParam->nActiveMaxChnTime)
{
pMac->roam.configParam.nActiveMaxChnTime = pParam->nActiveMaxChnTime;
diff --git a/CORE/SME/src/csr/csrApiScan.c b/CORE/SME/src/csr/csrApiScan.c
index 7652eed2714c..eac03b5cab0e 100644
--- a/CORE/SME/src/csr/csrApiScan.c
+++ b/CORE/SME/src/csr/csrApiScan.c
@@ -833,6 +833,14 @@ eHalStatus csrScanRequest(tpAniSirGlobal pMac, tANI_U16 sessionId,
scanReq.maxChnTimeBtc = pMac->roam.configParam.nActiveMaxChnTimeBtc;
scanReq.minChnTimeBtc = pMac->roam.configParam.nActiveMinChnTimeBtc;
}
+ if (pMac->roam.configParam.nInitialDwellTime)
+ {
+ scanReq.maxChnTime =
+ pMac->roam.configParam.nInitialDwellTime;
+ smsLog(pMac, LOG1, FL("11d scan, updating"
+ "dwell time for first scan %u"),
+ scanReq.maxChnTime);
+ }
status = csrScanCopyRequest(pMac, &p11dScanCmd->u.scanCmd.u.scanRequest, &scanReq);
//Free the channel list
@@ -881,6 +889,16 @@ eHalStatus csrScanRequest(tpAniSirGlobal pMac, tANI_U16 sessionId,
csrScan2GOnyRequest(pMac, pScanCmd, pScanRequest);
}
+ if (pMac->roam.configParam.nInitialDwellTime)
+ {
+ pScanRequest->maxChnTime =
+ pMac->roam.configParam.nInitialDwellTime;
+ pMac->roam.configParam.nInitialDwellTime = 0;
+ smsLog(pMac, LOG1,
+ FL("updating dwell time for first scan %u"),
+ pScanRequest->maxChnTime);
+ }
+
status = csrScanCopyRequest(pMac, &pScanCmd->u.scanCmd.u.scanRequest, pScanRequest);
if(HAL_STATUS_SUCCESS(status))
{