qcacld-3.0: Enable HI_RSSI feature only when connected to 2.4GHz AP

qcacld-2.0 to qcacld-3.0 propagation

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
This commit is contained in:
Varun Reddy Yeturu 2015-11-03 17:30:43 -08:00 • committed by Prakash Dhavali
commit 062dc74d0d
2 changed files with 28 additions and 8 deletions

View file

@ -2635,7 +2635,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"
@ -2646,14 +2646,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)
/*
* gPNOChannelPrediction will allow user to enable/disable the
* PNO channel prediction feature.

View file

@ -17062,6 +17062,7 @@ csr_roam_offload_scan(tpAniSirGlobal mac_ctx, uint8_t session_id,
struct roam_ext_params *roam_params_dst;
struct roam_ext_params *roam_params_src;
uint8_t i;
uint8_t op_channel;
if (NULL == session) {
CDF_TRACE(CDF_MODULE_ID_SME, CDF_TRACE_LEVEL_ERROR,
@ -17188,14 +17189,33 @@ csr_roam_offload_scan(tpAniSirGlobal mac_ctx, uint8_t session_id,
roam_params_dst->bssid_favored_factor[i]);
}
op_channel = session->connectedProfile.operationChannel;
req_buf->hi_rssi_scan_max_count =
roam_info->cfgParams.hi_rssi_scan_max_count;
req_buf->hi_rssi_scan_rssi_delta =
roam_info->cfgParams.hi_rssi_scan_rssi_delta;
req_buf->hi_rssi_scan_delay =
roam_info->cfgParams.hi_rssi_scan_delay;
req_buf->hi_rssi_scan_rssi_ub =
roam_info->cfgParams.hi_rssi_scan_rssi_ub;
/*
* 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 (CDS_IS_CHANNEL_5GHZ(op_channel)) {
CDF_TRACE(CDF_MODULE_ID_SME, CDF_TRACE_LEVEL_DEBUG,
"Disabling HI_RSSI feature as connected AP is 5GHz");
req_buf->hi_rssi_scan_rssi_delta = 0;
} else {
req_buf->hi_rssi_scan_rssi_delta =
roam_info->cfgParams.hi_rssi_scan_rssi_delta;
}
CDF_TRACE(CDF_MODULE_ID_SME, CDF_TRACE_LEVEL_DEBUG,
"hi_rssi:delta=%d, max_count=%d, delay=%d, ub=%d",
req_buf->hi_rssi_scan_rssi_delta,
req_buf->hi_rssi_scan_max_count,
req_buf->hi_rssi_scan_delay,
req_buf->hi_rssi_scan_rssi_ub);
msg.type = WMA_ROAM_SCAN_OFFLOAD_REQ;
msg.reserved = 0;