qcacld-3.0: Add new ini param for min rest time during roaming scan

Currently both min and max rest time use the same ini param
gNeighborScanTimerPeriod.

Add a new ini param gRoamRestTimeMin for min rest time
during channel scan.

Change-Id: Ifbb0fcc736e81b292639c6f2ad3119b451bec4f2
CRs-Fixed: 2060095
This commit is contained in:
Sridhar Selvaraj
2017-07-21 15:16:42 +05:30
committed by snandini
부모 a194f56ca3
커밋 1b2330ccb8
11개의 변경된 파일130개의 추가작업 그리고 2개의 파일을 삭제

파일 보기

@@ -1058,6 +1058,7 @@ typedef struct tagCsr11rConfigParams {
typedef struct tagCsrNeighborRoamConfigParams {
uint32_t nNeighborScanTimerPeriod;
uint32_t neighbor_scan_min_timer_period;
uint8_t nNeighborLookupRssiThreshold;
uint16_t nNeighborScanMinChanTime;
uint16_t nNeighborScanMaxChanTime;

파일 보기

@@ -429,6 +429,7 @@ typedef struct tagCsr11rConfig {
typedef struct tagCsrNeighborRoamConfig {
uint32_t nNeighborScanTimerPeriod;
uint32_t neighbor_scan_min_timer_period;
uint8_t nNeighborLookupRssiThreshold;
uint16_t nNeighborScanMinChanTime;
uint16_t nNeighborScanMaxChanTime;

파일 보기

@@ -54,6 +54,7 @@ typedef enum {
typedef struct sCsrNeighborRoamCfgParams {
uint8_t maxNeighborRetries;
uint32_t neighborScanPeriod;
uint32_t neighbor_scan_min_period;
tCsrChannelInfo channelInfo;
uint8_t neighborLookupThreshold;
uint8_t neighborReassocThreshold;

파일 보기

@@ -640,6 +640,8 @@ uint16_t sme_get_neighbor_scan_max_chan_time(tHalHandle hHal,
QDF_STATUS sme_set_neighbor_scan_period(tHalHandle hHal, uint8_t sessionId,
const uint16_t nNeighborScanPeriod);
uint16_t sme_get_neighbor_scan_period(tHalHandle hHal, uint8_t sessionId);
QDF_STATUS sme_set_neighbor_scan_min_period(tHalHandle h_hal,
uint8_t session_id, const uint16_t neighbor_scan_min_period);
QDF_STATUS sme_set_roam_bmiss_first_bcnt(tHalHandle hHal,
uint8_t sessionId, const uint8_t nRoamBmissFirstBcnt);
uint8_t sme_get_roam_bmiss_first_bcnt(tHalHandle hHal);

파일 보기

@@ -8957,7 +8957,55 @@ uint16_t sme_get_neighbor_scan_period(tHalHandle hHal, uint8_t sessionId)
neighborScanPeriod;
}
/**
* sme_set_neighbor_scan_min_period() - Update neighbor_scan_min_period
* This function is called through dynamic setConfig callback function
* to configure neighbor_scan_min_period
*
* @hal - HAL handle for device
* @session_id - Session Identifier
* @neighbor_scan_min_period - neighbor scan min period
*
* Return - QDF_STATUS
*/
QDF_STATUS sme_set_neighbor_scan_min_period(tHalHandle hal,
uint8_t session_id,
const uint16_t
neighbor_scan_min_period)
{
tpAniSirGlobal pmac = PMAC_STRUCT(hal);
QDF_STATUS status = QDF_STATUS_SUCCESS;
tCsrNeighborRoamConfig *p_neighbor_roam_config = NULL;
tpCsrNeighborRoamControlInfo p_neighbor_roam_info = NULL;
if (session_id >= CSR_ROAM_SESSION_MAX) {
sme_err("Invalid sme session id: %d", session_id);
return QDF_STATUS_E_INVAL;
}
status = sme_acquire_global_lock(&pmac->sme);
if (QDF_IS_STATUS_SUCCESS(status)) {
p_neighbor_roam_config =
&pmac->roam.configParam.neighborRoamConfig;
p_neighbor_roam_info = &pmac->
roam.neighborRoamInfo[session_id];
sme_debug("LFR:set neighbor scan min period, old:%d, "
"new: %d, state: %s",
pmac->roam.configParam.neighborRoamConfig.
neighbor_scan_min_timer_period,
neighbor_scan_min_period,
mac_trace_get_neighbour_roam_state(pmac->roam.
neighborRoamInfo[session_id].
neighborRoamState));
p_neighbor_roam_config->neighbor_scan_min_timer_period =
neighbor_scan_min_period;
p_neighbor_roam_info->cfgParams.neighbor_scan_min_period =
neighbor_scan_min_period;
sme_release_global_lock(&pmac->sme);
}
return status;
}
/*--------------------------------------------------------------------------
\brief sme_get_roam_rssi_diff() - get Roam rssi diff

파일 보기

@@ -1428,6 +1428,8 @@ static void init_config_param(tpAniSirGlobal pMac)
pMac->roam.configParam.neighborRoamConfig.nNeighborScanMaxChanTime = 40;
pMac->roam.configParam.neighborRoamConfig.nNeighborScanTimerPeriod =
200;
pMac->roam.configParam.neighborRoamConfig.
neighbor_scan_min_timer_period = 200;
pMac->roam.configParam.neighborRoamConfig.neighborScanChanList.
numChannels = 3;
pMac->roam.configParam.neighborRoamConfig.neighborScanChanList.
@@ -2558,6 +2560,9 @@ QDF_STATUS csr_change_default_config_param(tpAniSirGlobal pMac,
sme_debug("nNeighborScanTimerPerioid: %d",
pMac->roam.configParam.neighborRoamConfig.
nNeighborScanTimerPeriod);
sme_debug("neighbor_scan_min_timer_period: %d",
pMac->roam.configParam.neighborRoamConfig.
neighbor_scan_min_timer_period);
sme_debug("nNeighborLookupRssiThreshold: %d",
pMac->roam.configParam.neighborRoamConfig.
nNeighborLookupRssiThreshold);
@@ -17146,6 +17151,8 @@ csr_create_roam_scan_offload_request(tpAniSirGlobal mac_ctx,
req_buf->reason = reason;
req_buf->NeighborScanTimerPeriod =
roam_info->cfgParams.neighborScanPeriod;
req_buf->neighbor_scan_min_timer_period =
roam_info->cfgParams.neighbor_scan_min_period;
req_buf->NeighborRoamScanRefreshPeriod =
roam_info->cfgParams.neighborResultsRefreshPeriod;
req_buf->NeighborScanChannelMinTime =

파일 보기

@@ -1264,6 +1264,9 @@ QDF_STATUS csr_neighbor_roam_init(tpAniSirGlobal pMac, uint8_t sessionId)
pNeighborRoamInfo->cfgParams.neighborScanPeriod =
pMac->roam.configParam.neighborRoamConfig.
nNeighborScanTimerPeriod;
pNeighborRoamInfo->cfgParams.neighbor_scan_min_period =
pMac->roam.configParam.neighborRoamConfig.
neighbor_scan_min_timer_period;
pNeighborRoamInfo->cfgParams.neighborResultsRefreshPeriod =
pMac->roam.configParam.neighborRoamConfig.
nNeighborResultsRefreshPeriod;