diff options
| author | Varun Reddy Yeturu <vyeturu@qca.qualcomm.com> | 2015-04-03 17:17:41 -0700 |
|---|---|---|
| committer | AnjaneeDevi Kapparapu <c_akappa@qti.qualcomm.com> | 2015-04-06 16:27:40 +0530 |
| commit | 703e4d76dba4e715cc5fc4c58280b6c86f2cd41e (patch) | |
| tree | f64bdefc31e4c31cc55a70372c89904d2c4bdb10 | |
| parent | 4b34e69670372d20ad3e912b33230ef102915e8f (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.h | 12 | ||||
| -rw-r--r-- | CORE/SME/src/csr/csrApiRoam.c | 31 |
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, |
