summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVarun Reddy Yeturu <vyeturu@qca.qualcomm.com>2015-04-03 17:17:41 -0700
committerAnjaneeDevi Kapparapu <c_akappa@qti.qualcomm.com>2015-04-06 16:27:40 +0530
commit703e4d76dba4e715cc5fc4c58280b6c86f2cd41e (patch)
treef64bdefc31e4c31cc55a70372c89904d2c4bdb10
parent4b34e69670372d20ad3e912b33230ef102915e8f (diff)
qcacld-2.0: Enable HI_RSSI feature only when connected to 2.4GHz AP
1) Enable the feature only when connected to 2.4 GHz AP. 2) Modify the default values to reduce the scans and not impact power CRs-Fixed: 817919 Change-Id: Idaff886cec558a06cf9341e47a8ce17b348ad72b
-rw-r--r--CORE/HDD/inc/wlan_hdd_cfg.h12
-rw-r--r--CORE/SME/src/csr/csrApiRoam.c31
2 files changed, 32 insertions, 11 deletions
diff --git a/CORE/HDD/inc/wlan_hdd_cfg.h b/CORE/HDD/inc/wlan_hdd_cfg.h
index 66f95a7063c7..9ee845756c78 100644
--- a/CORE/HDD/inc/wlan_hdd_cfg.h
+++ b/CORE/HDD/inc/wlan_hdd_cfg.h
@@ -2769,7 +2769,7 @@ enum dot11p_mode {
#define CFG_ROAM_SCAN_HI_RSSI_MAXCOUNT_NAME "gRoamScanHiRssiMaxCount"
#define CFG_ROAM_SCAN_HI_RSSI_MAXCOUNT_MIN (0)
#define CFG_ROAM_SCAN_HI_RSSI_MAXCOUNT_MAX (10)
-#define CFG_ROAM_SCAN_HI_RSSI_MAXCOUNT_DEFAULT (5)
+#define CFG_ROAM_SCAN_HI_RSSI_MAXCOUNT_DEFAULT (3)
/* Change in RSSI at which scan is triggered */
#define CFG_ROAM_SCAN_HI_RSSI_DELTA_NAME "gRoamScanHiRssiDelta"
@@ -2780,14 +2780,14 @@ enum dot11p_mode {
/* Delay between consecutive scans in milliseconds */
#define CFG_ROAM_SCAN_HI_RSSI_DELAY_NAME "gRoamScanHiRssiDelay"
#define CFG_ROAM_SCAN_HI_RSSI_DELAY_MIN (5000)
-#define CFG_ROAM_SCAN_HI_RSSI_DELAY_MAX (15000)
-#define CFG_ROAM_SCAN_HI_RSSI_DELAY_DEFAULT (5000)
+#define CFG_ROAM_SCAN_HI_RSSI_DELAY_MAX (0x7fffffff)
+#define CFG_ROAM_SCAN_HI_RSSI_DELAY_DEFAULT (15000)
/* Upper bound after which scan will not be performed */
#define CFG_ROAM_SCAN_HI_RSSI_UB_NAME "gRoamScanHiRssiUpperBound"
-#define CFG_ROAM_SCAN_HI_RSSI_UB_MIN (-76)
-#define CFG_ROAM_SCAN_HI_RSSI_UB_MAX (-30)
-#define CFG_ROAM_SCAN_HI_RSSI_UB_DEFAULT (-45)
+#define CFG_ROAM_SCAN_HI_RSSI_UB_MIN (-66)
+#define CFG_ROAM_SCAN_HI_RSSI_UB_MAX (0)
+#define CFG_ROAM_SCAN_HI_RSSI_UB_DEFAULT (-30)
/* Option to report rssi in cfg80211_inform_bss_frame()
* 0 = use rssi value based on noise floor = -96 dBm
diff --git a/CORE/SME/src/csr/csrApiRoam.c b/CORE/SME/src/csr/csrApiRoam.c
index a3bc2b03b8ca..4466fd7fa60b 100644
--- a/CORE/SME/src/csr/csrApiRoam.c
+++ b/CORE/SME/src/csr/csrApiRoam.c
@@ -16636,6 +16636,7 @@ eHalStatus csrRoamOffloadScan(tpAniSirGlobal pMac, tANI_U8 sessionId,
tANI_U8 ChannelCacheStr[128] = {0};
struct roam_ext_params *roam_params_dst;
struct roam_ext_params *roam_params_src;
+ uint8_t op_channel;
currChannelListInfo = &pNeighborRoamInfo->roamChannelInfo.currentChannelListInfo;
pSession = CSR_GET_SESSION( pMac, sessionId );
@@ -16958,8 +16959,6 @@ eHalStatus csrRoamOffloadScan(tpAniSirGlobal pMac, tANI_U8 sessionId,
sizeof(pRequestBuf->roam_params));
pRequestBuf->hi_rssi_scan_max_count =
pNeighborRoamInfo->cfgParams.hi_rssi_scan_max_count;
- pRequestBuf->hi_rssi_scan_rssi_delta =
- pNeighborRoamInfo->cfgParams.hi_rssi_scan_rssi_delta;
pRequestBuf->hi_rssi_scan_delay =
pNeighborRoamInfo->cfgParams.hi_rssi_scan_delay;
pRequestBuf->hi_rssi_scan_rssi_ub =
@@ -16970,10 +16969,32 @@ eHalStatus csrRoamOffloadScan(tpAniSirGlobal pMac, tANI_U8 sessionId,
pMac->roam.configParam.RoamRssiDiff = roam_params_src->rssi_diff;
pRequestBuf->RoamRssiDiff =
pMac->roam.configParam.RoamRssiDiff;
+ op_channel = pSession->connectedProfile.operationChannel;
+ /* If the current operation channel is 5G frequency band, then
+ * there is no need to enable the HI_RSSI feature. This feature
+ * is useful only if we are connected to a 2.4 GHz AP and we wish
+ * to connect to a better 5GHz AP is available.*/
+ if(CSR_IS_CHANNEL_5GHZ(op_channel)) {
+ VOS_TRACE(VOS_MODULE_ID_SME, VOS_TRACE_LEVEL_DEBUG,
+ "Disabling HI_RSSI feature since the connected AP is 5GHz");
+ pRequestBuf->hi_rssi_scan_rssi_delta = 0;
+ }
+ else {
+ pRequestBuf->hi_rssi_scan_rssi_delta =
+ pNeighborRoamInfo->cfgParams.hi_rssi_scan_rssi_delta;
+ }
+ VOS_TRACE(VOS_MODULE_ID_SME, VOS_TRACE_LEVEL_DEBUG,
+ "hi_rssi_delta=%d, hi_rssi_max_count=%d,"
+ "hi_rssi_delay=%d, hi_rssi_ub=%d",
+ pRequestBuf->hi_rssi_scan_rssi_delta,
+ pRequestBuf->hi_rssi_scan_max_count,
+ pRequestBuf->hi_rssi_scan_delay,
+ pRequestBuf->hi_rssi_scan_rssi_ub);
+
VOS_TRACE(VOS_MODULE_ID_SME, VOS_TRACE_LEVEL_DEBUG,
- "num_bssid_avoid_list: %d, num_ssid_allowed_list:%d, num_bssid_favored:%d"
- "raise_rssi_thresh_5g: %d, drop_rssi_thresh_5g:%d, raise_rssi_type_5g:%d"
- "raise_factor_5g:%d, drop_rssi_type_5g:%d, drop_factor_5g:%d"
+ "num_bssid_avoid_list: %d, num_ssid_allowed_list:%d, num_bssid_favored:%d,"
+ "raise_rssi_thresh_5g: %d, drop_rssi_thresh_5g:%d, raise_rssi_type_5g:%d,"
+ "raise_factor_5g:%d, drop_rssi_type_5g:%d, drop_factor_5g:%d,"
"max_raise_rssi_5g=%d, max_drop_rssi_5g:%d, good_rssi_threshold:%d",
roam_params_dst->num_bssid_avoid_list,
roam_params_dst->num_ssid_allowed_list, roam_params_dst->num_bssid_favored,