diff options
| author | Kalikinkar dhara <c_kaliki@qca.qualcomm.com> | 2014-04-06 15:42:56 -0700 |
|---|---|---|
| committer | Akash Patel <c_akashp@qca.qualcomm.com> | 2014-04-10 07:12:47 -0700 |
| commit | b106db220351f64fdfadebf3166fe2e0baaa39b2 (patch) | |
| tree | f10e35973b65975db65906b73ac033ab768158af | |
| parent | 56a0f58a50883c940bc666255a5eb22cdd52084e (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.h | 6 | ||||
| -rw-r--r-- | CORE/HDD/src/wlan_hdd_cfg.c | 8 | ||||
| -rw-r--r-- | CORE/SME/inc/csrApi.h | 2 | ||||
| -rw-r--r-- | CORE/SME/inc/csrInternal.h | 2 | ||||
| -rw-r--r-- | CORE/SME/src/csr/csrApiRoam.c | 5 | ||||
| -rw-r--r-- | CORE/SME/src/csr/csrApiScan.c | 18 |
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)) { |
