diff options
| author | yeshwanth sriram guntuka <ysriramg@codeaurora.org> | 2017-02-22 18:48:33 +0530 |
|---|---|---|
| committer | yeshwanth sriram guntuka <ysriramg@codeaurora.org> | 2017-03-28 11:57:06 +0530 |
| commit | 17153f0f4a2ea41a5beaa436a8cfacd18536e21a (patch) | |
| tree | ea6f260405115591f5c809dd20e9acbd9be2b930 | |
| parent | 039a74b60234f53f7ffbcc1bf24486fc82842395 (diff) | |
qcacld-2.0: Remove unused concurrency ini parameters
Remove unused concurrency ini parameters used to
configure number of channels combined for each split
scan operation.
Change-Id: I913b6e769f282a0f5a0ddb40e54d294ae07deb55
CRs-Fixed: 2013444
| -rw-r--r-- | CORE/HDD/inc/wlan_hdd_cfg.h | 14 | ||||
| -rw-r--r-- | CORE/HDD/src/wlan_hdd_cfg.c | 18 | ||||
| -rw-r--r-- | CORE/SME/inc/csrApi.h | 4 | ||||
| -rw-r--r-- | CORE/SME/inc/csrInternal.h | 9 | ||||
| -rw-r--r-- | CORE/SME/inc/sme_Api.h | 10 | ||||
| -rw-r--r-- | CORE/SME/src/csr/csrApiRoam.c | 13 | ||||
| -rw-r--r-- | CORE/SME/src/csr/csrApiScan.c | 315 | ||||
| -rw-r--r-- | CORE/SME/src/csr/csrInsideApi.h | 5 | ||||
| -rw-r--r-- | CORE/SME/src/sme_common/sme_Api.c | 24 |
9 files changed, 7 insertions, 405 deletions
diff --git a/CORE/HDD/inc/wlan_hdd_cfg.h b/CORE/HDD/inc/wlan_hdd_cfg.h index b15f52b6f26f..9b9100ffc2b4 100644 --- a/CORE/HDD/inc/wlan_hdd_cfg.h +++ b/CORE/HDD/inc/wlan_hdd_cfg.h @@ -617,16 +617,6 @@ enum #define CFG_IDLE_TIME_MIN ( 0 ) #define CFG_IDLE_TIME_MAX ( 25 ) #define CFG_IDLE_TIME_DEFAULT ( 25 ) - -#define CFG_NUM_STA_CHAN_COMBINED_CONC_NAME "gNumStaChanCombinedConc" -#define CFG_NUM_STA_CHAN_COMBINED_CONC_MIN ( 1 ) -#define CFG_NUM_STA_CHAN_COMBINED_CONC_MAX ( 255 ) -#define CFG_NUM_STA_CHAN_COMBINED_CONC_DEFAULT ( 3 ) - -#define CFG_NUM_P2P_CHAN_COMBINED_CONC_NAME "gNumP2PChanCombinedConc" -#define CFG_NUM_P2P_CHAN_COMBINED_CONC_MIN ( 1 ) -#define CFG_NUM_P2P_CHAN_COMBINED_CONC_MAX ( 255 ) -#define CFG_NUM_P2P_CHAN_COMBINED_CONC_DEFAULT ( 1 ) #endif #define CFG_MAX_PS_POLL_NAME "gMaxPsPoll" @@ -4712,10 +4702,6 @@ struct hdd_config { /* In units of milliseconds */ uint32_t idle_time_conc; - v_U8_t nNumStaChanCombinedConc; //number of channels combined for - //STA in each split scan operation - v_U8_t nNumP2PChanCombinedConc; //number of channels combined for - //P2P in each split scan operation #endif v_U8_t nMaxPsPoll; diff --git a/CORE/HDD/src/wlan_hdd_cfg.c b/CORE/HDD/src/wlan_hdd_cfg.c index 7874317bbc65..7c4e0257f1ad 100644 --- a/CORE/HDD/src/wlan_hdd_cfg.c +++ b/CORE/HDD/src/wlan_hdd_cfg.c @@ -950,21 +950,6 @@ REG_TABLE_ENTRY g_registry_table[] = CFG_IDLE_TIME_DEFAULT, CFG_IDLE_TIME_MIN, CFG_IDLE_TIME_MAX ), - - - REG_VARIABLE( CFG_NUM_STA_CHAN_COMBINED_CONC_NAME, WLAN_PARAM_Integer, - hdd_config_t, nNumStaChanCombinedConc, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_NUM_STA_CHAN_COMBINED_CONC_DEFAULT, - CFG_NUM_STA_CHAN_COMBINED_CONC_MIN, - CFG_NUM_STA_CHAN_COMBINED_CONC_MAX ), - - REG_VARIABLE( CFG_NUM_P2P_CHAN_COMBINED_CONC_NAME, WLAN_PARAM_Integer, - hdd_config_t, nNumP2PChanCombinedConc, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_NUM_P2P_CHAN_COMBINED_CONC_DEFAULT, - CFG_NUM_P2P_CHAN_COMBINED_CONC_MIN, - CFG_NUM_P2P_CHAN_COMBINED_CONC_MAX ), #endif REG_VARIABLE( CFG_MAX_PS_POLL_NAME, WLAN_PARAM_Integer, @@ -7676,9 +7661,6 @@ VOS_STATUS hdd_set_sme_config( hdd_context_t *pHddCtx ) smeConfig->csrConfig.min_rest_time_conc = pConfig->min_rest_time_conc; smeConfig->csrConfig.idle_time_conc = pConfig->idle_time_conc; - smeConfig->csrConfig.nNumStaChanCombinedConc = pConfig->nNumStaChanCombinedConc; - smeConfig->csrConfig.nNumP2PChanCombinedConc = pConfig->nNumP2PChanCombinedConc; - #endif smeConfig->csrConfig.Is11eSupportEnabled = pConfig->b80211eIsEnabled; smeConfig->csrConfig.WMMSupportMode = pConfig->WmmMode; diff --git a/CORE/SME/inc/csrApi.h b/CORE/SME/inc/csrApi.h index 61655ba39847..af1100152621 100644 --- a/CORE/SME/inc/csrApi.h +++ b/CORE/SME/inc/csrApi.h @@ -1233,10 +1233,6 @@ typedef struct tagCsrConfigParam tANI_U32 nActiveMinChnTimeConc; //in units of milliseconds tANI_U32 nActiveMaxChnTimeConc; //in units of milliseconds tANI_U32 nRestTimeConc; //in units of milliseconds - tANI_U8 nNumStaChanCombinedConc; //number of channels combined for - //STA in each split scan operation - tANI_U8 nNumP2PChanCombinedConc; //number of channels combined for - //P2P in each split scan operation #endif /*In units of milliseconds*/ uint32_t min_rest_time_conc; diff --git a/CORE/SME/inc/csrInternal.h b/CORE/SME/inc/csrInternal.h index 761c7869a844..bfaf90ae226b 100644 --- a/CORE/SME/inc/csrInternal.h +++ b/CORE/SME/inc/csrInternal.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011-2016 The Linux Foundation. All rights reserved. + * Copyright (c) 2011-2017 The Linux Foundation. All rights reserved. * * Previously licensed under the ISC license by Qualcomm Atheros, Inc. * @@ -612,10 +612,6 @@ typedef struct tagCsrConfig /* In units of milliseconds */ tANI_U32 idle_time_conc; - tANI_U8 nNumStaChanCombinedConc; //number of channels combined for - //Sta in each split scan operation - tANI_U8 nNumP2PChanCombinedConc; //number of channels combined for - //P2P in each split scan operation #endif tANI_BOOLEAN IsIdleScanEnabled; @@ -770,9 +766,6 @@ typedef struct tagCsrScanStruct tANI_BOOLEAN fScanEnable; tANI_BOOLEAN fFullScanIssued; vos_timer_t hTimerGetResult; -#ifdef WLAN_AP_STA_CONCURRENCY - vos_timer_t hTimerStaApConcTimer; -#endif vos_timer_t hTimerIdleScan; //changes on every scan, it is used as a flag for whether 11d info is found on every scan tANI_U8 channelOf11dInfo; diff --git a/CORE/SME/inc/sme_Api.h b/CORE/SME/inc/sme_Api.h index f296d6d18c55..1bbf5c782252 100644 --- a/CORE/SME/inc/sme_Api.h +++ b/CORE/SME/inc/sme_Api.h @@ -3604,16 +3604,6 @@ eHalStatus sme_AddPeriodicTxPtrn(tHalHandle hHal, tSirAddPeriodicTxPtrn ---------------------------------------------------------------------------*/ eHalStatus sme_DelPeriodicTxPtrn(tHalHandle hHal, tSirDelPeriodicTxPtrn *delPeriodicTxPtrnParams); -/*-------------------------------------------------------------------------- - \brief sme_enable_disable_split_scan() - a wrapper function to set the split - scan parameter. - This is a synchronous call - \param hHal - The handle returned by macOpen - \return None. - \sa - --------------------------------------------------------------------------*/ -void sme_enable_disable_split_scan (tHalHandle hHal, tANI_U8 nNumStaChan, - tANI_U8 nNumP2PChan); /** * sme_enable_rmc() - enable RMC diff --git a/CORE/SME/src/csr/csrApiRoam.c b/CORE/SME/src/csr/csrApiRoam.c index 62d88872b81f..e2dd8557cef8 100644 --- a/CORE/SME/src/csr/csrApiRoam.c +++ b/CORE/SME/src/csr/csrApiRoam.c @@ -1280,8 +1280,6 @@ static void initConfigParam(tpAniSirGlobal pMac) pMac->roam.configParam.nRestTimeConc = CSR_REST_TIME_CONC; pMac->roam.configParam.min_rest_time_conc = CSR_MIN_REST_TIME_CONC; pMac->roam.configParam.idle_time_conc = CSR_IDLE_TIME_CONC; - pMac->roam.configParam.nNumStaChanCombinedConc = CSR_NUM_STA_CHAN_COMBINED_CONC; - pMac->roam.configParam.nNumP2PChanCombinedConc = CSR_NUM_P2P_CHAN_COMBINED_CONC; #endif pMac->roam.configParam.IsIdleScanEnabled = TRUE; //enable the idle scan by default pMac->roam.configParam.nTxPowerCap = CSR_MAX_TX_POWER; @@ -1895,14 +1893,6 @@ eHalStatus csrChangeDefaultConfigParam(tpAniSirGlobal pMac, tCsrConfigParam *pPa pMac->roam.configParam.nRestTimeConc = pParam->nRestTimeConc; pMac->roam.configParam.min_rest_time_conc = pParam->min_rest_time_conc; pMac->roam.configParam.idle_time_conc = pParam->idle_time_conc; - if (pParam->nNumStaChanCombinedConc) - { - pMac->roam.configParam.nNumStaChanCombinedConc = pParam->nNumStaChanCombinedConc; - } - if (pParam->nNumP2PChanCombinedConc) - { - pMac->roam.configParam.nNumP2PChanCombinedConc = pParam->nNumP2PChanCombinedConc; - } #endif //if upper layer wants to disable idle scan altogether set it to 0 if (pParam->impsSleepTime) @@ -2175,9 +2165,6 @@ eHalStatus csrGetConfigParam(tpAniSirGlobal pMac, tCsrConfigParam *pParam) pParam->nRestTimeConc = pMac->roam.configParam.nRestTimeConc; pParam->min_rest_time_conc = pMac->roam.configParam.min_rest_time_conc; pParam->idle_time_conc = pMac->roam.configParam.idle_time_conc; - - pParam->nNumStaChanCombinedConc = pMac->roam.configParam.nNumStaChanCombinedConc; - pParam->nNumP2PChanCombinedConc = pMac->roam.configParam.nNumP2PChanCombinedConc; #endif //Change the unit from microsecond to second pParam->impsSleepTime = diff --git a/CORE/SME/src/csr/csrApiScan.c b/CORE/SME/src/csr/csrApiScan.c index b032ea42beef..bc94270bacb2 100644 --- a/CORE/SME/src/csr/csrApiScan.c +++ b/CORE/SME/src/csr/csrApiScan.c @@ -93,9 +93,6 @@ void csrScanGetResultTimerHandler(void *); static void csrPurgeScanResultByAge(void *pv); void csrScanIdleScanTimerHandler(void *); static void csrSetDefaultScanTiming( tpAniSirGlobal pMac, tSirScanType scanType, tCsrScanRequest *pScanRequest); -#ifdef WLAN_AP_STA_CONCURRENCY -static void csrStaApConcTimerHandler(void *); -#endif tANI_BOOLEAN csrIsSupportedChannel(tpAniSirGlobal pMac, tANI_U8 channelId); eHalStatus csrScanChannels( tpAniSirGlobal pMac, tSmeCmd *pCommand ); void csrSetCfgValidChannelList( tpAniSirGlobal pMac, tANI_U8 *pChannelList, tANI_U8 NumChannels ); @@ -188,14 +185,6 @@ eHalStatus csrScanOpen( tpAniSirGlobal pMac ) smsLog(pMac, LOGE, FL("cannot allocate memory for getResult timer")); break; } -#ifdef WLAN_AP_STA_CONCURRENCY - status = vos_timer_init(&pMac->scan.hTimerStaApConcTimer, VOS_TIMER_TYPE_SW, csrStaApConcTimerHandler, pMac); - if (!HAL_STATUS_SUCCESS(status)) - { - smsLog(pMac, LOGE, FL("cannot allocate memory for hTimerStaApConcTimer timer")); - break; - } -#endif status = vos_timer_init(&pMac->scan.hTimerIdleScan, VOS_TIMER_TYPE_SW, csrScanIdleScanTimerHandler, pMac); if (!HAL_STATUS_SUCCESS(status)) { @@ -226,9 +215,6 @@ eHalStatus csrScanClose( tpAniSirGlobal pMac ) csrLLClose(&pMac->scan.channelPowerInfoList5G); csrScanDisable(pMac); vos_timer_destroy(&pMac->scan.hTimerGetResult); -#ifdef WLAN_AP_STA_CONCURRENCY - vos_timer_destroy(&pMac->scan.hTimerStaApConcTimer); -#endif vos_timer_destroy(&pMac->scan.hTimerIdleScan); return eHAL_STATUS_SUCCESS; } @@ -322,31 +308,12 @@ eHalStatus csrQueueScanRequest(tpAniSirGlobal pMac, tANI_U8 sessionId, tANI_BOOLEAN fNoCmdPending; tSmeCmd *pQueueScanCmd=NULL; tSmeCmd *pSendScanCmd=NULL; - tANI_U8 nNumChanCombinedConc = 0; if (NULL == pScanCmd) { smsLog (pMac, LOGE, FL("Scan Req cmd is NULL")); return eHAL_STATUS_FAILURE; } - /* split scan if any one of the following: - * - STA session is connected and the scan is not a P2P search - * - any P2P session is connected - * Do not split scans if no concurrent infra connections are - * active and if the scan is a BG scan triggered by LFR (OR) - * any scan if LFR is in the middle of a BG scan. Splitting - * the scan is delaying the time it takes for LFR to find - * candidates and resulting in disconnects. - */ - if(csrIsStaSessionConnected(pMac) && - !csrIsP2pOrSapSessionConnected(pMac)) - { - nNumChanCombinedConc = pMac->roam.configParam.nNumStaChanCombinedConc; - } - else if(csrIsP2pOrSapSessionConnected(pMac)) - { - nNumChanCombinedConc = pMac->roam.configParam.nNumP2PChanCombinedConc; - } if ( (csrIsStaSessionConnected(pMac) && #ifdef FEATURE_WLAN_LFR (csrIsConcurrentInfraConnected(pMac) || @@ -357,10 +324,7 @@ eHalStatus csrQueueScanRequest(tpAniSirGlobal pMac, tANI_U8 sessionId, (pScanCmd->u.scanCmd.u.scanRequest.p2pSearch != 1)) || (csrIsP2pOrSapSessionConnected(pMac))) { - tCsrScanRequest scanReq; tANI_U8 numChn = pScanCmd->u.scanCmd.u.scanRequest.ChannelInfo.numOfChannels; - tCsrChannelInfo *pChnInfo = &scanReq.ChannelInfo; - tANI_U8 channelToScan[WNI_CFG_VALID_CHANNEL_LIST_LEN]; tANI_BOOLEAN bMemAlloc = eANI_BOOLEAN_FALSE; if (numChn == 0) @@ -388,98 +352,11 @@ eHalStatus csrQueueScanRequest(tpAniSirGlobal pMac, tANI_U8 sessionId, pScanCmd->u.scanCmd.u.scanRequest.ChannelInfo.numOfChannels = numChn; } - //Whenever we get a scan request with multiple channels we break it up into 2 requests - //First request for first channel to scan and second request to scan remaining channels - if ( numChn > nNumChanCombinedConc) - { - vos_mem_set(&scanReq, sizeof(tCsrScanRequest), 0); - - pQueueScanCmd = csrGetCommandBuffer(pMac); //optimize this to use 2 command buffer only - if (!pQueueScanCmd) - { - if (bMemAlloc) - { - vos_mem_free(pScanCmd->u.scanCmd.u.scanRequest.ChannelInfo.ChannelList); - pScanCmd->u.scanCmd.u.scanRequest.ChannelInfo.ChannelList = NULL; - - } - smsLog( pMac, LOGE, FL(" Failed to get Queue command buffer") ); - return eHAL_STATUS_FAILURE; - } - pQueueScanCmd->command = pScanCmd->command; - pQueueScanCmd->sessionId = pScanCmd->sessionId; - pQueueScanCmd->u.scanCmd.callback = pScanCmd->u.scanCmd.callback; - pQueueScanCmd->u.scanCmd.pContext = pScanCmd->u.scanCmd.pContext; - pQueueScanCmd->u.scanCmd.reason = pScanCmd->u.scanCmd.reason; - pQueueScanCmd->u.scanCmd.scanID = pMac->scan.nextScanID++; //let it wrap around - - /* First copy all the parameters to local variable of scan request */ - csrScanCopyRequest(pMac, &scanReq, &pScanCmd->u.scanCmd.u.scanRequest); - - /* Now modify the elements of local var scan request required to be modified for split scan */ - if(scanReq.ChannelInfo.ChannelList != NULL) - { - vos_mem_free(scanReq.ChannelInfo.ChannelList); - scanReq.ChannelInfo.ChannelList = NULL; - } - - pChnInfo->numOfChannels = pScanCmd->u.scanCmd.u.scanRequest.ChannelInfo.numOfChannels - nNumChanCombinedConc; - - VOS_TRACE(VOS_MODULE_ID_SME, VOS_TRACE_LEVEL_WARN, - FL(" &channelToScan %p pScanCmd(%p) pScanCmd->u.scanCmd.u.scanRequest.ChannelInfo.ChannelList(%p)numChn(%d)"), - &channelToScan[0], pScanCmd, - pScanCmd->u.scanCmd.u.scanRequest.ChannelInfo.ChannelList, numChn); - - vos_mem_copy(&channelToScan[0], - &pScanCmd->u.scanCmd.u.scanRequest.ChannelInfo.ChannelList[ - nNumChanCombinedConc], - pChnInfo->numOfChannels * sizeof(tANI_U8)); - - pChnInfo->ChannelList = &channelToScan[0]; - - scanReq.BSSType = eCSR_BSS_TYPE_ANY; - //Use concurrency values for min/maxChnTime. - //We know csrIsAnySessionConnected(pMac) returns TRUE here - csrSetDefaultScanTiming(pMac, scanReq.scanType, &scanReq); - - status = csrScanCopyRequest(pMac, &pQueueScanCmd->u.scanCmd.u.scanRequest, &scanReq); - - if(!HAL_STATUS_SUCCESS(status)) - { - if (bMemAlloc) - { - vos_mem_free(pScanCmd->u.scanCmd.u.scanRequest.ChannelInfo.ChannelList); - pScanCmd->u.scanCmd.u.scanRequest.ChannelInfo.ChannelList = NULL; - - } - if( scanReq.pIEField != NULL) - { - vos_mem_free(scanReq.pIEField); - scanReq.pIEField = NULL; - } - smsLog( pMac, LOGE, FL(" Failed to get copy csrScanRequest = %d"), status ); - return eHAL_STATUS_FAILURE; - } - /* Clean the local scan variable */ - scanReq.ChannelInfo.ChannelList = NULL; - scanReq.ChannelInfo.numOfChannels = 0; - csrScanFreeRequest(pMac, &scanReq); - - /* setup the command to scan 2 channels */ - pSendScanCmd = pScanCmd; - pSendScanCmd->u.scanCmd.u.scanRequest.ChannelInfo.numOfChannels = nNumChanCombinedConc; - pSendScanCmd->u.scanCmd.u.scanRequest.BSSType = eCSR_BSS_TYPE_ANY; - //Use concurrency values for min/maxChnTime. - //We know csrIsAnySessionConnected(pMac) returns TRUE here - csrSetDefaultScanTiming(pMac, pSendScanCmd->u.scanCmd.u.scanRequest.scanType, &pSendScanCmd->u.scanCmd.u.scanRequest); - pSendScanCmd->u.scanCmd.callback = NULL; - } else { - pSendScanCmd = pScanCmd; - pSendScanCmd->u.scanCmd.u.scanRequest.BSSType = eCSR_BSS_TYPE_ANY; - //Use concurrency values for min/maxChnTime. - //We know csrIsAnySessionConnected(pMac) returns TRUE here - csrSetDefaultScanTiming(pMac, pSendScanCmd->u.scanCmd.u.scanRequest.scanType, &pSendScanCmd->u.scanCmd.u.scanRequest); - } + pSendScanCmd = pScanCmd; + pSendScanCmd->u.scanCmd.u.scanRequest.BSSType = eCSR_BSS_TYPE_ANY; + //Use concurrency values for min/maxChnTime. + //We know csrIsAnySessionConnected(pMac) returns TRUE here + csrSetDefaultScanTiming(pMac, pSendScanCmd->u.scanCmd.u.scanRequest.scanType, &pSendScanCmd->u.scanCmd.u.scanRequest); fNoCmdPending = csrLLIsListEmpty( &pMac->scan.scanCmdPendingList, LL_ACCESS_LOCK ); @@ -5219,9 +5096,6 @@ static tANI_BOOLEAN csrScanProcessScanResults( tpAniSirGlobal pMac, tSmeCmd *pCo eHalStatus status; tANI_U32 cbScanResult = GET_FIELD_OFFSET( tSirSmeScanRsp, bssDescription ) + sizeof(tSirBssDescription); //We need at least one CB - tpCsrNeighborRoamControlInfo pNeighborRoamInfo = - &pMac->roam.neighborRoamInfo[pScanRsp->sessionId]; - /* * Don't consider the scan rsp to be valid if the status code is Scan * Failure. Scan Failure is returned when the scan could not find anything. @@ -5379,46 +5253,6 @@ static tANI_BOOLEAN csrScanProcessScanResults( tpAniSirGlobal pMac, tSmeCmd *pCo pMac->scan.defer_update_channel_list = false; } -#ifdef WLAN_AP_STA_CONCURRENCY - if (pMac->fScanOffload) - return fRet; - - if (!csrLLIsListEmpty( &pMac->scan.scanCmdPendingList, LL_ACCESS_LOCK )) - { - /* Pending scan commands in the list because the previous scan command - * was split into a scan command on one channel + a scan command for all - * remaining channels. - * - * Start timer to trigger processing of the next scan command. - * NOTE for LFR: - * Do not split scans if no concurrent infra connections are - * active and if the scan is a BG scan triggered by LFR (OR) - * any scan if LFR is in the middle of a BG scan. Splitting - * the scan is delaying the time it takes for LFR to find - * candidates and resulting in disconnects. - */ - if ((csrIsStaSessionConnected(pMac) && -#ifdef FEATURE_WLAN_LFR - (csrIsConcurrentInfraConnected(pMac) || - ((pCommand->u.scanCmd.reason != eCsrScanBgScan) && - (pNeighborRoamInfo->neighborRoamState != - eCSR_NEIGHBOR_ROAM_STATE_CFG_CHAN_LIST_SCAN))) && -#endif - (pCommand->u.scanCmd.u.scanRequest.p2pSearch != 1)) || - (csrIsP2pOrSapSessionConnected(pMac))) - { - /* if active connected sessions present then continue to split scan - * with specified interval between consecutive scans */ - csrSetDefaultScanTiming(pMac, pCommand->u.scanCmd.u.scanRequest.scanType, &(pCommand->u.scanCmd.u.scanRequest)); - vos_timer_start(&pMac->scan.hTimerStaApConcTimer, - pCommand->u.scanCmd.u.scanRequest.restTime); - } else { - /* if no connected sessions present then initiate next scan command immediately */ - /* minimum timer granularity is 10ms */ - vos_timer_start(&pMac->scan.hTimerStaApConcTimer, 10); - } - } -#endif return (fRet); } @@ -6899,145 +6733,6 @@ void csrScanGetResultTimerHandler(void *pv) vos_timer_start(&pMac->scan.hTimerGetResult, CSR_SCAN_GET_RESULT_INTERVAL/VOS_TIMER_TO_MS_UNIT); } -#ifdef WLAN_AP_STA_CONCURRENCY -static void csrStaApConcTimerHandler(void *pv) -{ - tpAniSirGlobal pMac = PMAC_STRUCT( pv ); - tListElem *pEntry; - tSmeCmd *pScanCmd; - tANI_U32 sessionId = CSR_SESSION_ID_INVALID; - - csrLLLock(&pMac->scan.scanCmdPendingList); - - if ( NULL != ( pEntry = csrLLPeekHead( &pMac->scan.scanCmdPendingList, LL_ACCESS_NOLOCK) ) ) - { - tCsrScanRequest scanReq; - tSmeCmd *pSendScanCmd = NULL; - tANI_U8 numChn = 0; - tANI_U8 nNumChanCombinedConc = 0; - tANI_U8 i, j; - tCsrChannelInfo *pChnInfo = &scanReq.ChannelInfo; - tANI_U8 channelToScan[WNI_CFG_VALID_CHANNEL_LIST_LEN]; - eHalStatus status; - - pScanCmd = GET_BASE_ADDR( pEntry, tSmeCmd, Link ); - numChn = pScanCmd->u.scanCmd.u.scanRequest.ChannelInfo.numOfChannels; - sessionId = pScanCmd->sessionId; - - /* if any session is connected and the number of channels to scan is - * greater than 1 then split the scan into multiple scan operations - * on each individual channel else continue to perform scan on all - * specified channels */ - - /* split scan if number of channels to scan is greater than 1 and - * any one of the following: - * - STA session is connected and the scan is not a P2P search - * - any P2P session is connected - * Do not split scans if no concurrent infra connections are - * active and if the scan is a BG scan triggered by LFR (OR) - * any scan if LFR is in the middle of a BG scan. Splitting - * the scan is delaying the time it takes for LFR to find - * candidates and resulting in disconnects. - */ - - if((csrIsStaSessionConnected(pMac) && - !csrIsP2pOrSapSessionConnected(pMac))) - { - nNumChanCombinedConc = pMac->roam.configParam.nNumStaChanCombinedConc; - } - else if(csrIsP2pOrSapSessionConnected(pMac)) - { - nNumChanCombinedConc = pMac->roam.configParam.nNumP2PChanCombinedConc; - } - - if ( (numChn > nNumChanCombinedConc) && - ((csrIsStaSessionConnected(pMac) && -#ifdef FEATURE_WLAN_LFR - (csrIsConcurrentInfraConnected(pMac) || - ((pScanCmd->u.scanCmd.reason != eCsrScanBgScan) && - (pMac->roam.neighborRoamInfo[sessionId].neighborRoamState != - eCSR_NEIGHBOR_ROAM_STATE_CFG_CHAN_LIST_SCAN))) && -#endif - (pScanCmd->u.scanCmd.u.scanRequest.p2pSearch != 1)) || - (csrIsP2pOrSapSessionConnected(pMac)))) - { - vos_mem_set(&scanReq, sizeof(tCsrScanRequest), 0); - - pSendScanCmd = csrGetCommandBuffer(pMac); //optimize this to use 2 command buffer only - if (!pSendScanCmd) - { - smsLog( pMac, LOGE, FL(" Failed to get Queue command buffer") ); - csrLLUnlock(&pMac->scan.scanCmdPendingList); - return; - } - pSendScanCmd->command = pScanCmd->command; - pSendScanCmd->sessionId = pScanCmd->sessionId; - pSendScanCmd->u.scanCmd.callback = NULL; - pSendScanCmd->u.scanCmd.pContext = pScanCmd->u.scanCmd.pContext; - pSendScanCmd->u.scanCmd.reason = pScanCmd->u.scanCmd.reason; - pSendScanCmd->u.scanCmd.scanID = pMac->scan.nextScanID++; //let it wrap around - - /* First copy all the parameters to local variable of scan request */ - csrScanCopyRequest(pMac, &scanReq, &pScanCmd->u.scanCmd.u.scanRequest); - - /* Now modify the elements of local var scan request required to be modified for split scan */ - if(scanReq.ChannelInfo.ChannelList != NULL) - { - vos_mem_free(scanReq.ChannelInfo.ChannelList); - scanReq.ChannelInfo.ChannelList = NULL; - } - - pChnInfo->numOfChannels = nNumChanCombinedConc; - vos_mem_copy(&channelToScan[0], - &pScanCmd->u.scanCmd.u.scanRequest.ChannelInfo.ChannelList[0], - pChnInfo->numOfChannels * sizeof(tANI_U8));//just send one channel - pChnInfo->ChannelList = &channelToScan[0]; - - for (i = 0, j = nNumChanCombinedConc; i < (numChn-nNumChanCombinedConc); i++, j++) - { - pScanCmd->u.scanCmd.u.scanRequest.ChannelInfo.ChannelList[i] = - pScanCmd->u.scanCmd.u.scanRequest.ChannelInfo.ChannelList[j]; //Move all the channels one step - } - - pScanCmd->u.scanCmd.u.scanRequest.ChannelInfo.numOfChannels = numChn - nNumChanCombinedConc; //reduce outstanding # of channels to be scanned - - scanReq.BSSType = eCSR_BSS_TYPE_ANY; - //Use concurrency values for min/maxChnTime. - csrSetDefaultScanTiming(pMac, scanReq.scanType, &scanReq); - - status = csrScanCopyRequest(pMac, &pSendScanCmd->u.scanCmd.u.scanRequest, &scanReq); - if(!HAL_STATUS_SUCCESS(status)) - { - smsLog( pMac, LOGE, FL(" Failed to get copy csrScanRequest = %d"), status ); - csrLLUnlock(&pMac->scan.scanCmdPendingList); - return; - } - /* Clean the local scan variable */ - scanReq.ChannelInfo.ChannelList = NULL; - scanReq.ChannelInfo.numOfChannels = 0; - csrScanFreeRequest(pMac, &scanReq); - } - else - { - /* no active connected session present or numChn == 1 - * scan all remaining channels */ - pSendScanCmd = pScanCmd; - //remove this command from pending list - if (csrLLRemoveHead( &pMac->scan.scanCmdPendingList, LL_ACCESS_NOLOCK) == NULL) - { //In case between PeekHead and here, the entry got removed by another thread. - smsLog( pMac, LOGE, FL(" Failed to remove entry from scanCmdPendingList")); - } - - } - csrQueueSmeCommand(pMac, pSendScanCmd, eANI_BOOLEAN_FALSE); - - } - - csrLLUnlock(&pMac->scan.scanCmdPendingList); - -} -#endif - static void csrPurgeScanResultByAge(void *pv) { tpAniSirGlobal pMac = PMAC_STRUCT( pv ); diff --git a/CORE/SME/src/csr/csrInsideApi.h b/CORE/SME/src/csr/csrInsideApi.h index 0b1def3bfda0..9dc7d29be927 100644 --- a/CORE/SME/src/csr/csrInsideApi.h +++ b/CORE/SME/src/csr/csrInsideApi.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011-2016 The Linux Foundation. All rights reserved. + * Copyright (c) 2011-2017 The Linux Foundation. All rights reserved. * * Previously licensed under the ISC license by Qualcomm Atheros, Inc. * @@ -62,9 +62,6 @@ #define CSR_MIN_REST_TIME_CONC 50 #define CSR_IDLE_TIME_CONC 25 - -#define CSR_NUM_STA_CHAN_COMBINED_CONC 3 -#define CSR_NUM_P2P_CHAN_COMBINED_CONC 1 #endif #define CSR_MAX_NUM_SUPPORTED_CHANNELS 55 diff --git a/CORE/SME/src/sme_common/sme_Api.c b/CORE/SME/src/sme_common/sme_Api.c index 99d2fd8b1812..17b5a3c7bc77 100644 --- a/CORE/SME/src/sme_common/sme_Api.c +++ b/CORE/SME/src/sme_common/sme_Api.c @@ -13281,30 +13281,6 @@ eHalStatus sme_LPHBConfigReq return(status); } #endif /* FEATURE_WLAN_LPHB */ -/*-------------------------------------------------------------------------- - \brief sme_enable_disable_split_scan() - a wrapper function to set the split - scan parameter. - This is a synchronous call - \param hHal - The handle returned by macOpen - \return NONE. - \sa - --------------------------------------------------------------------------*/ -void sme_enable_disable_split_scan (tHalHandle hHal, tANI_U8 nNumStaChan, - tANI_U8 nNumP2PChan) -{ - tpAniSirGlobal pMac = PMAC_STRUCT( hHal ); - - pMac->roam.configParam.nNumStaChanCombinedConc = nNumStaChan; - pMac->roam.configParam.nNumP2PChanCombinedConc = nNumP2PChan; - - VOS_TRACE(VOS_MODULE_ID_SME, VOS_TRACE_LEVEL_INFO, - "%s: SCAN nNumStaChanCombinedConc : %d," - "nNumP2PChanCombinedConc : %d ", - __func__, nNumStaChan, nNumP2PChan); - - return; - -} /** * sme_AddPeriodicTxPtrn() - Add Periodic TX Pattern |
