wlan: 3rd set of Runtime Config items
Support for runtime configuration of
1. GET/SET CCXMODE
2. GET/SET FASTROAM
3. GET/SET OKCMODE
4. GET/SET FASTTRANSITION
5. GET/SET ROAMSCANCHANNELMINTIME
6. GET/SET SCANCHANNELTIME (MAX DWELL TIME)
7. GET/SET SCANHOMETIME
8. GET/SET ROAMINTRABAND
Change-Id: I363bac16486dd9b37d26c06ebf368269f206273b
CRs-Fixed: 466216
diff --git a/CORE/SME/inc/csrApi.h b/CORE/SME/inc/csrApi.h
index 901217b..ae3e622 100644
--- a/CORE/SME/inc/csrApi.h
+++ b/CORE/SME/inc/csrApi.h
@@ -1086,6 +1086,7 @@
tANI_BOOLEAN fIgnore_chan165;
#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
tANI_BOOLEAN nRoamPrefer5GHz;
+ tANI_BOOLEAN nRoamIntraBand;
#endif
tANI_U8 scanCfgAgingTime;
diff --git a/CORE/SME/inc/csrInternal.h b/CORE/SME/inc/csrInternal.h
index 7f524b9..d4c1a14 100644
--- a/CORE/SME/inc/csrInternal.h
+++ b/CORE/SME/inc/csrInternal.h
@@ -99,6 +99,10 @@
( \
(((pMac)->roam.configParam.nRoamPrefer5GHz)?eANI_BOOLEAN_TRUE:eANI_BOOLEAN_FALSE) \
)
+#define CSR_IS_ROAM_INTRA_BAND_ENABLED( pMac ) \
+( \
+ (((pMac)->roam.configParam.nRoamIntraBand)?eANI_BOOLEAN_TRUE:eANI_BOOLEAN_FALSE) \
+)
#endif
//Support for "Fast roaming" (i.e., CCX, LFR, or 802.11r.)
@@ -596,6 +600,7 @@
tANI_U8 RoamRssiDiff;
tANI_U8 nImmediateRoamRssiDiff;
tANI_BOOLEAN nRoamPrefer5GHz;
+ tANI_BOOLEAN nRoamIntraBand;
#endif
#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
diff --git a/CORE/SME/inc/csrNeighborRoam.h b/CORE/SME/inc/csrNeighborRoam.h
index 54a3a39..dab7fa7 100644
--- a/CORE/SME/inc/csrNeighborRoam.h
+++ b/CORE/SME/inc/csrNeighborRoam.h
@@ -236,6 +236,16 @@
tANI_BOOLEAN csrNeighborRoamScanRspPending(tHalHandle hHal);
tANI_BOOLEAN csrNeighborMiddleOfRoaming(tHalHandle hHal);
VOS_STATUS csrNeighborRoamSetLookupRssiThreshold(tpAniSirGlobal pMac, v_U8_t neighborLookupRssiThreshold);
+VOS_STATUS csrNeighborRoamUpdateFastRoamingEnabled(tpAniSirGlobal pMac, const v_BOOL_t fastRoamEnabled);
+VOS_STATUS csrNeighborRoamUpdateCcxModeEnabled(tpAniSirGlobal pMac, const v_BOOL_t ccxMode);
+VOS_STATUS csrNeighborRoamChannelsFilterByCurrentBand(
+ tpAniSirGlobal pMac,
+ tANI_U8* pInputChannelList,
+ int inputNumOfChannels,
+ tANI_U8* pOutputChannelList,
+ int* pMergedOutputNumOfChannels
+ );
+
#endif /* WLAN_FEATURE_NEIGHBOR_ROAMING */
diff --git a/CORE/SME/inc/p2p_Api.h b/CORE/SME/inc/p2p_Api.h
index 9146476..c0b7554 100644
--- a/CORE/SME/inc/p2p_Api.h
+++ b/CORE/SME/inc/p2p_Api.h
@@ -520,6 +520,7 @@
tANI_U16 wait, tANI_BOOLEAN noack);
eHalStatus p2pCancelRemainOnChannel( tHalHandle hHal, tANI_U8 sessionId );
eHalStatus p2pSetPs( tHalHandle hHal, tP2pPsConfig *pNoA );
+tSirRFBand GetRFBand(tANI_U8 channel);
#ifdef WLAN_FEATURE_P2P_INTERNAL
eHalStatus p2pRemainOnChannelCallback(tHalHandle halHandle, void *pContext, eHalStatus scan_status);
eHalStatus P2P_DiscoverRequest(tHalHandle hHal, tANI_U8 SessionID, tP2PDiscoverRequest *pDiscoverRequest,
diff --git a/CORE/SME/inc/sme_Api.h b/CORE/SME/inc/sme_Api.h
index 7681791..3233c8d 100644
--- a/CORE/SME/inc/sme_Api.h
+++ b/CORE/SME/inc/sme_Api.h
@@ -2247,10 +2247,28 @@
\param nRoamPrefer5GHz Enable/Disable Roam prefer 5G runtime option
\- return Success or failure
-------------------------------------------------------------------------*/
-
eHalStatus sme_UpdateRoamPrefer5GHz(tHalHandle hHal, v_BOOL_t nRoamPrefer5GHz);
/* ---------------------------------------------------------------------------
+ \fn sme_setRoamIntraBand
+ \brief enable/disable Intra band roaming
+ This function is called through dynamic setConfig callback function
+ to configure the intra band roaming
+ \param hHal - HAL handle for device
+ \param nRoamIntraBand Enable/Disable Intra band roaming
+ \- return Success or failure
+ -------------------------------------------------------------------------*/
+eHalStatus sme_setRoamIntraBand(tHalHandle hHal, const v_BOOL_t nRoamIntraBand);
+
+/* ---------------------------------------------------------------------------
+ \fn sme_getRoamIntraBand
+ \brief get Intra band roaming
+ \param hHal - HAL handle for device
+ \- return Success or failure
+ -------------------------------------------------------------------------*/
+v_BOOL_t sme_getRoamIntraBand(tHalHandle hHal);
+
+/* ---------------------------------------------------------------------------
\fn sme_UpdateImmediateRoamRssiDiff
\brief Update nImmediateRoamRssiDiff
This function is called through dynamic setConfig callback function
@@ -2306,7 +2324,7 @@
--------------------------------------------------------------------------*/
eHalStatus sme_UpdateIsFastRoamIniFeatureEnabled(tHalHandle hHal,
- v_BOOL_t isFastRoamIniFeatureEnabled);
+ const v_BOOL_t isFastRoamIniFeatureEnabled);
#endif /* FEATURE_WLAN_LFR */
#ifdef FEATURE_WLAN_CCX
@@ -2322,7 +2340,7 @@
--------------------------------------------------------------------------*/
eHalStatus sme_UpdateIsCcxFeatureEnabled(tHalHandle hHal,
- v_BOOL_t isCcxIniFeatureEnabled);
+ const v_BOOL_t isCcxIniFeatureEnabled);
#endif /* FEATURE_WLAN_CCX */
@@ -2340,6 +2358,7 @@
eHalStatus sme_UpdateConfigFwRssiMonitoring(tHalHandle hHal,
v_BOOL_t fEnableFwRssiMonitoring);
+#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
/*--------------------------------------------------------------------------
\brief sme_setNeighborLookupRssiThreshold() - update neighbor lookup rssi threshold
This is a synchronuous call
@@ -2403,6 +2422,79 @@
--------------------------------------------------------------------------*/
v_U16_t sme_getEmptyScanRefreshPeriod(tHalHandle hHal);
+/* ---------------------------------------------------------------------------
+ \fn sme_UpdateEmptyScanRefreshPeriod
+ \brief Update nEmptyScanRefreshPeriod
+ This function is called through dynamic setConfig callback function
+ to configure nEmptyScanRefreshPeriod
+ Usage: adb shell iwpriv wlan0 setConfig nEmptyScanRefreshPeriod=[0 .. 60]
+ \param hHal - HAL handle for device
+ \param nEmptyScanRefreshPeriod - scan period following empty scan results.
+ \- return Success or failure
+ -------------------------------------------------------------------------*/
+eHalStatus sme_UpdateEmptyScanRefreshPeriod(tHalHandle hHal, v_U16_t nEmptyScanRefreshPeriod);
+
+/* ---------------------------------------------------------------------------
+ \fn sme_setNeighborScanMinChanTime
+ \brief Update nNeighborScanMinChanTime
+ This function is called through dynamic setConfig callback function
+ to configure gNeighborScanChannelMinTime
+ Usage: adb shell iwpriv wlan0 setConfig gNeighborScanChannelMinTime=[0 .. 60]
+ \param hHal - HAL handle for device
+ \param nNeighborScanMinChanTime - Channel minimum dwell time
+ \- return Success or failure
+ -------------------------------------------------------------------------*/
+eHalStatus sme_setNeighborScanMinChanTime(tHalHandle hHal, const v_U16_t nNeighborScanMinChanTime);
+
+/* ---------------------------------------------------------------------------
+ \fn sme_setNeighborScanMaxChanTime
+ \brief Update nNeighborScanMaxChanTime
+ This function is called through dynamic setConfig callback function
+ to configure gNeighborScanChannelMaxTime
+ Usage: adb shell iwpriv wlan0 setConfig gNeighborScanChannelMaxTime=[0 .. 60]
+ \param hHal - HAL handle for device
+ \param nNeighborScanMinChanTime - Channel maximum dwell time
+ \- return Success or failure
+ -------------------------------------------------------------------------*/
+eHalStatus sme_setNeighborScanMaxChanTime(tHalHandle hHal, const v_U16_t nNeighborScanMaxChanTime);
+
+/* ---------------------------------------------------------------------------
+ \fn sme_getNeighborScanMinChanTime
+ \brief get neighbor scan min channel time
+ \param hHal - The handle returned by macOpen.
+ \return v_U16_t - channel min time value
+ -------------------------------------------------------------------------*/
+v_U16_t sme_getNeighborScanMinChanTime(tHalHandle hHal);
+
+/* ---------------------------------------------------------------------------
+ \fn sme_getNeighborScanMaxChanTime
+ \brief get neighbor scan max channel time
+ \param hHal - The handle returned by macOpen.
+ \return v_U16_t - channel max time value
+ -------------------------------------------------------------------------*/
+v_U16_t sme_getNeighborScanMaxChanTime(tHalHandle hHal);
+
+/* ---------------------------------------------------------------------------
+ \fn sme_setNeighborScanPeriod
+ \brief Update nNeighborScanPeriod
+ This function is called through dynamic setConfig callback function
+ to configure nNeighborScanPeriod
+ Usage: adb shell iwpriv wlan0 setConfig nNeighborScanPeriod=[0 .. 60]
+ \param hHal - HAL handle for device
+ \param nNeighborScanPeriod - neighbor scan period
+ \- return Success or failure
+ -------------------------------------------------------------------------*/
+eHalStatus sme_setNeighborScanPeriod(tHalHandle hHal, const v_U16_t nNeighborScanPeriod);
+
+/* ---------------------------------------------------------------------------
+ \fn sme_getNeighborScanPeriod
+ \brief get neighbor scan period
+ \param hHal - The handle returned by macOpen.
+ \return v_U16_t - neighbor scan period
+ -------------------------------------------------------------------------*/
+v_U16_t sme_getNeighborScanPeriod(tHalHandle hHal);
+
+#endif
#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
/*--------------------------------------------------------------------------
@@ -2471,22 +2563,39 @@
--------------------------------------------------------------------------*/
eHalStatus sme_GetCountryRevision(tHalHandle hHal, tANI_U8 *pRevision);
+/*--------------------------------------------------------------------------
+ \brief sme_getIsCcxFeatureEnabled() - get CCX feature enabled or not
+ This is a synchronuous call
+ \param hHal - The handle returned by macOpen.
+ \return TRUE (1) - if the CCX feature is enabled
+ FALSE (0) - if feature is disabled (compile or runtime)
+ \sa
+ --------------------------------------------------------------------------*/
+tANI_BOOLEAN sme_getIsCcxFeatureEnabled(tHalHandle hHal);
+
+/*--------------------------------------------------------------------------
+ \brief sme_getIsLfrFeatureEnabled() - get LFR feature enabled or not
+ This is a synchronuous call
+ \param hHal - The handle returned by macOpen.
+ \return TRUE (1) - if the feature is enabled
+ FALSE (0) - if feature is disabled (compile or runtime)
+ \sa
+ --------------------------------------------------------------------------*/
+tANI_BOOLEAN sme_getIsLfrFeatureEnabled(tHalHandle hHal);
+
+/*--------------------------------------------------------------------------
+ \brief sme_getIsFtFeatureEnabled() - get FT feature enabled or not
+ This is a synchronuous call
+ \param hHal - The handle returned by macOpen.
+ \return TRUE (1) - if the feature is enabled
+ FALSE (0) - if feature is disabled (compile or runtime)
+ \sa
+ --------------------------------------------------------------------------*/
+tANI_BOOLEAN sme_getIsFtFeatureEnabled(tHalHandle hHal);
+
#endif
/* ---------------------------------------------------------------------------
- \fn sme_UpdateEmptyScanRefreshPeriod
- \brief Update nnEmptyScanRefreshPeriod
- This function is called through dynamic setConfig callback function
- to configure nnEmptyScanRefreshPeriod
- Usage: adb shell iwpriv wlan0 setConfig nEmptyScanRefreshPeriod=[0 .. 60]
- \param hHal - HAL handle for device
- \param nEmptyScanRefreshPeriod - scan period following empty scan results.
- \- return Success or failure
- -------------------------------------------------------------------------*/
-
-eHalStatus sme_UpdateEmptyScanRefreshPeriod(tHalHandle hHal, v_U16_t nEmptyScanRefreshPeriod);
-
-/* ---------------------------------------------------------------------------
\fn sme_IsFeatureSupportedByFW
\brief Check if an feature is enabled by FW