Wlan: Add ini params for scan dwell time during BTC SCO call
Add gActiveMaxChannelTimeBtcSCO and gActiveMinChannelTimeBtcSCO
params in INI file to control the scan dwell time during BTC SCO
call.
These params will be used when scan is compromised due to SCO call.
Change-Id: Iaf203489ae7984008779e4d32aa2d0ea9a217513
CRs-Fixed: 1073668
diff --git a/CORE/SME/src/btc/btcApi.c b/CORE/SME/src/btc/btcApi.c
index 4e1e9ea..cc52917 100644
--- a/CORE/SME/src/btc/btcApi.c
+++ b/CORE/SME/src/btc/btcApi.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012-2015 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2012-2016 The Linux Foundation. All rights reserved.
*
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
*
@@ -96,7 +96,8 @@
pMac->btc.btcReady = VOS_FALSE;
pMac->btc.btcEventState = 0;
pMac->btc.btcHBActive = VOS_TRUE;
- pMac->btc.btcScanCompromise = VOS_FALSE;
+ pMac->btc.btc_scan_compromise_esco = false;
+ pMac->btc.btc_scan_compromise_sco = false;
for (i = 0; i < MWS_COEX_MAX_VICTIM_TABLE; i++)
{
@@ -1988,13 +1989,21 @@
}
else if (pSmeCoexInd->coexIndType == SIR_COEX_IND_TYPE_SCAN_COMPROMISED)
{
- pMac->btc.btcScanCompromise = VOS_TRUE;
- smsLog(pMac, LOGW, "Coex indication in %s(), type - SIR_COEX_IND_TYPE_SCAN_COMPROMISED",
- __func__);
+ smsLog(pMac, LOGW,
+ FL("Coex indication SIR_COEX_IND_TYPE_SCAN_COMPROMISED data[0] %d"),
+ pSmeCoexInd->coexIndData[0]);
+
+ /* coexIndData[0] will be 1 for SCO call and 0 for eSCO call */
+ if (pSmeCoexInd->coexIndData[0])
+ pMac->btc.btc_scan_compromise_sco = true;
+ else
+ pMac->btc.btc_scan_compromise_esco = true;
+
}
else if (pSmeCoexInd->coexIndType == SIR_COEX_IND_TYPE_SCAN_NOT_COMPROMISED)
{
- pMac->btc.btcScanCompromise = VOS_FALSE;
+ pMac->btc.btc_scan_compromise_esco = false;
+ pMac->btc.btc_scan_compromise_sco = false;
smsLog(pMac, LOGW, "Coex indication in %s(), type - SIR_COEX_IND_TYPE_SCAN_NOT_COMPROMISED",
__func__);
}
diff --git a/CORE/SME/src/csr/csrApiRoam.c b/CORE/SME/src/csr/csrApiRoam.c
index 46bb235..6b36c8a 100644
--- a/CORE/SME/src/csr/csrApiRoam.c
+++ b/CORE/SME/src/csr/csrApiRoam.c
@@ -1230,8 +1230,14 @@
pMac->roam.configParam.nActiveMinChnTime = CSR_ACTIVE_MIN_CHANNEL_TIME;
pMac->roam.configParam.nPassiveMaxChnTime = CSR_PASSIVE_MAX_CHANNEL_TIME;
pMac->roam.configParam.nPassiveMinChnTime = CSR_PASSIVE_MIN_CHANNEL_TIME;
- pMac->roam.configParam.nActiveMaxChnTimeBtc = CSR_ACTIVE_MAX_CHANNEL_TIME_BTC;
- pMac->roam.configParam.nActiveMinChnTimeBtc = CSR_ACTIVE_MIN_CHANNEL_TIME_BTC;
+ pMac->roam.configParam.max_chntime_btc_esco =
+ CSR_ACTIVE_MAX_CHANNEL_TIME_ESCO_BTC;
+ pMac->roam.configParam.min_chntime_btc_esco =
+ CSR_ACTIVE_MIN_CHANNEL_TIME_ESCO_BTC;
+ pMac->roam.configParam.min_chntime_btc_sco =
+ CSR_ACTIVE_MIN_CHANNEL_TIME_SCO_BTC;
+ pMac->roam.configParam.max_chntime_btc_sco=
+ CSR_ACTIVE_MAX_CHANNEL_TIME_SCO_BTC;
pMac->roam.configParam.disableAggWithBtc = eANI_BOOLEAN_TRUE;
#ifdef WLAN_AP_STA_CONCURRENCY
pMac->roam.configParam.nActiveMaxChnTimeConc = CSR_ACTIVE_MAX_CHANNEL_TIME_CONC;
@@ -1799,14 +1805,22 @@
cfgSetInt(pMac, WNI_CFG_OBSS_HT40_SCAN_WIDTH_TRIGGER_INTERVAL,
pParam->nOBSSScanWidthTriggerInterval);
}
- if (pParam->nActiveMaxChnTimeBtc)
+ if (pParam->max_chntime_btc_esco)
{
- pMac->roam.configParam.nActiveMaxChnTimeBtc = pParam->nActiveMaxChnTimeBtc;
+ pMac->roam.configParam.max_chntime_btc_esco =
+ pParam->max_chntime_btc_esco;
}
- if (pParam->nActiveMinChnTimeBtc)
+ if (pParam->min_chntime_btc_esco)
{
- pMac->roam.configParam.nActiveMinChnTimeBtc = pParam->nActiveMinChnTimeBtc;
+ pMac->roam.configParam.min_chntime_btc_esco =
+ pParam->min_chntime_btc_esco;
}
+ if (pParam->min_chntime_btc_sco)
+ pMac->roam.configParam.min_chntime_btc_sco =
+ pParam->min_chntime_btc_sco;
+ if (pParam->max_chntime_btc_sco)
+ pMac->roam.configParam.max_chntime_btc_sco =
+ pParam->max_chntime_btc_sco;
#ifdef WLAN_AP_STA_CONCURRENCY
if (pParam->nActiveMaxChnTimeConc)
{
@@ -2083,8 +2097,14 @@
pParam->nActiveMinChnTime = pMac->roam.configParam.nActiveMinChnTime;
pParam->nPassiveMaxChnTime = pMac->roam.configParam.nPassiveMaxChnTime;
pParam->nPassiveMinChnTime = pMac->roam.configParam.nPassiveMinChnTime;
- pParam->nActiveMaxChnTimeBtc = pMac->roam.configParam.nActiveMaxChnTimeBtc;
- pParam->nActiveMinChnTimeBtc = pMac->roam.configParam.nActiveMinChnTimeBtc;
+ pParam->max_chntime_btc_esco =
+ pMac->roam.configParam.max_chntime_btc_esco;
+ pParam->min_chntime_btc_esco =
+ pMac->roam.configParam.min_chntime_btc_esco;
+ pParam->min_chntime_btc_sco =
+ pMac->roam.configParam.min_chntime_btc_sco;
+ pParam->max_chntime_btc_sco =
+ pMac->roam.configParam.max_chntime_btc_sco;
pParam->disableAggWithBtc = pMac->roam.configParam.disableAggWithBtc;
#ifdef WLAN_AP_STA_CONCURRENCY
pParam->nActiveMaxChnTimeConc = pMac->roam.configParam.nActiveMaxChnTimeConc;
diff --git a/CORE/SME/src/csr/csrApiScan.c b/CORE/SME/src/csr/csrApiScan.c
index 843113e..7ae5f94 100644
--- a/CORE/SME/src/csr/csrApiScan.c
+++ b/CORE/SME/src/csr/csrApiScan.c
@@ -310,8 +310,10 @@
pScanRequest->maxChnTime = pMac->roam.configParam.nPassiveMaxChnTimeConc;
pScanRequest->minChnTime = pMac->roam.configParam.nPassiveMinChnTimeConc;
}
- pScanRequest->maxChnTimeBtc = pMac->roam.configParam.nActiveMaxChnTimeBtc;
- pScanRequest->minChnTimeBtc = pMac->roam.configParam.nActiveMinChnTimeBtc;
+ pScanRequest->max_chntime_btc_esco =
+ pMac->roam.configParam.max_chntime_btc_esco;
+ pScanRequest->min_chntime_btc_esco =
+ pMac->roam.configParam.min_chntime_btc_esco;
pScanRequest->restTime = pMac->roam.configParam.nRestTimeConc;
@@ -336,8 +338,10 @@
pScanRequest->maxChnTime = pMac->roam.configParam.nPassiveMaxChnTime;
pScanRequest->minChnTime = pMac->roam.configParam.nPassiveMinChnTime;
}
- pScanRequest->maxChnTimeBtc = pMac->roam.configParam.nActiveMaxChnTimeBtc;
- pScanRequest->minChnTimeBtc = pMac->roam.configParam.nActiveMinChnTimeBtc;
+ pScanRequest->max_chntime_btc_esco =
+ pMac->roam.configParam.max_chntime_btc_esco;
+ pScanRequest->min_chntime_btc_esco =
+ pMac->roam.configParam.min_chntime_btc_esco;
#ifdef WLAN_AP_STA_CONCURRENCY
//No rest time if no sessions are connected.
@@ -724,8 +728,10 @@
pScanRequest->minChnTime);
}
- pScanRequest->maxChnTimeBtc = pMac->roam.configParam.nActiveMaxChnTimeBtc;
- pScanRequest->minChnTimeBtc = pMac->roam.configParam.nActiveMinChnTimeBtc;
+ pScanRequest->max_chntime_btc_esco =
+ pMac->roam.configParam.max_chntime_btc_esco;
+ pScanRequest->min_chntime_btc_esco =
+ pMac->roam.configParam.min_chntime_btc_esco;
//Need to make the following atomic
pScanCmd->u.scanCmd.scanID = pMac->scan.nextScanID++; //let it wrap around
@@ -791,8 +797,10 @@
scanReq.maxChnTime = pMac->roam.configParam.nActiveMaxChnTime;
scanReq.minChnTime = pMac->roam.configParam.nActiveMinChnTime;
- scanReq.maxChnTimeBtc = pMac->roam.configParam.nActiveMaxChnTimeBtc;
- scanReq.minChnTimeBtc = pMac->roam.configParam.nActiveMinChnTimeBtc;
+ scanReq.max_chntime_btc_esco =
+ pMac->roam.configParam.max_chntime_btc_esco;
+ scanReq.min_chntime_btc_esco =
+ pMac->roam.configParam.min_chntime_btc_esco;
}
if (pMac->roam.configParam.nInitialDwellTime)
{
@@ -913,8 +921,8 @@
pTempScanReq->p2pSearch,
pTempScanReq->minChnTime,
pTempScanReq->maxChnTime,
- pTempScanReq->minChnTimeBtc,
- pTempScanReq->maxChnTimeBtc );
+ pTempScanReq->min_chntime_btc_esco,
+ pTempScanReq->max_chntime_btc_esco);
//Start process the command
#ifdef WLAN_AP_STA_CONCURRENCY
if (!pMac->fScanOffload)
@@ -1061,8 +1069,10 @@
scanReq.requestType = reqType;
scanReq.maxChnTime = pMac->roam.configParam.nActiveMaxChnTime;
scanReq.minChnTime = pMac->roam.configParam.nActiveMinChnTime;
- scanReq.maxChnTimeBtc = pMac->roam.configParam.nActiveMaxChnTimeBtc;
- scanReq.minChnTimeBtc = pMac->roam.configParam.nActiveMinChnTimeBtc;
+ scanReq.max_chntime_btc_esco =
+ pMac->roam.configParam.max_chntime_btc_esco;
+ scanReq.min_chntime_btc_esco =
+ pMac->roam.configParam.min_chntime_btc_esco;
//Scan with invalid sessionId.
//This results in SME using the first available session to scan.
status = csrScanRequest(pMac, CSR_SESSION_ID_INVALID, &scanReq,
@@ -1349,8 +1359,10 @@
pCommand->u.scanCmd.pContext = NULL;
pCommand->u.scanCmd.u.scanRequest.maxChnTime = pMac->roam.configParam.nActiveMaxChnTime;
pCommand->u.scanCmd.u.scanRequest.minChnTime = pMac->roam.configParam.nActiveMinChnTime;
- pCommand->u.scanCmd.u.scanRequest.maxChnTimeBtc = pMac->roam.configParam.nActiveMaxChnTimeBtc;
- pCommand->u.scanCmd.u.scanRequest.minChnTimeBtc = pMac->roam.configParam.nActiveMinChnTimeBtc;
+ pCommand->u.scanCmd.u.scanRequest.max_chntime_btc_esco =
+ pMac->roam.configParam.max_chntime_btc_esco;
+ pCommand->u.scanCmd.u.scanRequest.min_chntime_btc_esco =
+ pMac->roam.configParam.min_chntime_btc_esco;
pCommand->u.scanCmd.u.scanRequest.scanType = eSIR_ACTIVE_SCAN;
if(pSession->connectedProfile.SSID.length)
{
@@ -1526,8 +1538,10 @@
pCommand->u.scanCmd.pContext = NULL;
pCommand->u.scanCmd.u.scanRequest.maxChnTime = pMac->roam.configParam.nActiveMaxChnTime;
pCommand->u.scanCmd.u.scanRequest.minChnTime = pMac->roam.configParam.nActiveMinChnTime;
- pCommand->u.scanCmd.u.scanRequest.maxChnTimeBtc = pMac->roam.configParam.nActiveMaxChnTimeBtc;
- pCommand->u.scanCmd.u.scanRequest.minChnTimeBtc = pMac->roam.configParam.nActiveMinChnTimeBtc;
+ pCommand->u.scanCmd.u.scanRequest.max_chntime_btc_esco =
+ pMac->roam.configParam.max_chntime_btc_esco;
+ pCommand->u.scanCmd.u.scanRequest.min_chntime_btc_esco =
+ pMac->roam.configParam.min_chntime_btc_esco;
pCommand->u.scanCmd.u.scanRequest.scanType = eSIR_ACTIVE_SCAN;
if(pSession->pCurRoamProfile)
{
@@ -1640,8 +1654,10 @@
pCommand->u.scanCmd.pContext = NULL;
pCommand->u.scanCmd.u.scanRequest.maxChnTime = pMac->roam.configParam.nActiveMaxChnTime;
pCommand->u.scanCmd.u.scanRequest.minChnTime = pMac->roam.configParam.nActiveMinChnTime;
- pCommand->u.scanCmd.u.scanRequest.maxChnTimeBtc = pMac->roam.configParam.nActiveMaxChnTimeBtc;
- pCommand->u.scanCmd.u.scanRequest.minChnTimeBtc = pMac->roam.configParam.nActiveMinChnTimeBtc;
+ pCommand->u.scanCmd.u.scanRequest.max_chntime_btc_esco =
+ pMac->roam.configParam.max_chntime_btc_esco;
+ pCommand->u.scanCmd.u.scanRequest.min_chntime_btc_esco =
+ pMac->roam.configParam.min_chntime_btc_esco;
pCommand->u.scanCmd.u.scanRequest.scanType = eSIR_ACTIVE_SCAN;
vos_mem_copy(&pCommand->u.scanCmd.u.scanRequest.bssid, bAddr, sizeof(tCsrBssid));
//Put to the head of pending queue
@@ -6193,8 +6209,10 @@
pMsg->minChannelTime = pal_cpu_to_be32(minChnTime);
pMsg->maxChannelTime = pal_cpu_to_be32(maxChnTime);
- pMsg->minChannelTimeBtc = pMac->roam.configParam.nActiveMinChnTimeBtc;
- pMsg->maxChannelTimeBtc = pMac->roam.configParam.nActiveMaxChnTimeBtc;
+ pMsg->min_chntime_btc_esco =
+ pMac->roam.configParam.min_chntime_btc_esco;
+ pMsg->max_chntime_btc_esco =
+ pMac->roam.configParam.max_chntime_btc_esco;
//hidden SSID option
pMsg->hiddenSsid = pScanReqParam->hiddenSsid;
//rest time
@@ -7983,10 +8001,10 @@
pScanCmd->u.scanCmd.u.scanRequest.minChnTime =
pMac->roam.configParam.nActiveMinChnTime;
}
- pScanCmd->u.scanCmd.u.scanRequest.maxChnTimeBtc =
- pMac->roam.configParam.nActiveMaxChnTimeBtc;
- pScanCmd->u.scanCmd.u.scanRequest.minChnTimeBtc =
- pMac->roam.configParam.nActiveMinChnTimeBtc;
+ pScanCmd->u.scanCmd.u.scanRequest.max_chntime_btc_esco =
+ pMac->roam.configParam.max_chntime_btc_esco;
+ pScanCmd->u.scanCmd.u.scanRequest.min_chntime_btc_esco =
+ pMac->roam.configParam.min_chntime_btc_esco;
if(pProfile->BSSIDs.numOfBSSIDs == 1)
{
vos_mem_copy(pScanCmd->u.scanCmd.u.scanRequest.bssid,
diff --git a/CORE/SME/src/csr/csrInsideApi.h b/CORE/SME/src/csr/csrInsideApi.h
index f61c923..b297d3d 100644
--- a/CORE/SME/src/csr/csrInsideApi.h
+++ b/CORE/SME/src/csr/csrInsideApi.h
@@ -48,8 +48,11 @@
#define CSR_ACTIVE_MAX_CHANNEL_TIME 40
#define CSR_ACTIVE_MIN_CHANNEL_TIME 20
-#define CSR_ACTIVE_MAX_CHANNEL_TIME_BTC 120
-#define CSR_ACTIVE_MIN_CHANNEL_TIME_BTC 60
+#define CSR_ACTIVE_MAX_CHANNEL_TIME_ESCO_BTC 120
+#define CSR_ACTIVE_MIN_CHANNEL_TIME_ESCO_BTC 60
+
+#define CSR_ACTIVE_MIN_CHANNEL_TIME_SCO_BTC 20
+#define CSR_ACTIVE_MAX_CHANNEL_TIME_SCO_BTC 40
#ifdef WLAN_AP_STA_CONCURRENCY
#define CSR_PASSIVE_MAX_CHANNEL_TIME_CONC 110