qcacld-3.0: Add a new INI bg_rssi_threshold

FW triggers roaming based on the RSSI score of AP(s) available
after background scan. Currently, the host does not configure
the value of bg_rssi_threshold RSSI. This results in ping-pong
roaming after background scan, even though candidate AP
RSSI is not better than 5dbm than connected AP.

Fix is to configure the value of bg_rssi_threshold via new
INI "bg_rssi_threshold" and configuring default value of
INI as 5dB.

Min: 0
Max: 100
Default: 5

Change-Id: Ib710e294c8b33ff4903d41453e3b55f02daf53ae
CRs-Fixed: 2763962
This commit is contained in:
Abhinav Kumar
2020-08-27 10:05:06 +05:30
gecommit door snandini
bovenliggende e0d7d0e692
commit 7ac893f2af
11 gewijzigde bestanden met toevoegingen van 49 en 1 verwijderingen

Bestand weergeven

@@ -1250,6 +1250,34 @@
CFG_VALUE_OR_DEFAULT, \
"Enable roam based on rssi")
/*
* <ini>
* bg_rssi_threshold - To set RSSI Threshold for BG scan roaming
* @Min: 0
* @Max: 100
* @Default: 5
*
* This INI is used to set the value of rssi threshold to trigger roaming
* after background scan. To trigger roam after bg scan, value of rssi of
* candidate AP should be higher by this threshold than the rssi of the
* currrently associated AP.
*
* Related: RoamRssiDiff
*
* Supported Feature: Roaming
*
* Usage: External
*
* </ini>
*/
#define CFG_LFR_ROAM_BG_RSSI_TH CFG_INI_UINT( \
"bg_rssi_threshold", \
0, \
100, \
5, \
CFG_VALUE_OR_DEFAULT, \
"Enable roam based on rssi after BG scan")
/*
* <ini>
* gWESModeEnabled - Enable WES mode
@@ -2893,6 +2921,7 @@
CFG(CFG_LFR_MAWC_FEATURE_ENABLED) \
CFG(CFG_LFR_FAST_TRANSITION_ENABLED) \
CFG(CFG_LFR_ROAM_RSSI_DIFF) \
CFG(CFG_LFR_ROAM_BG_RSSI_TH) \
CFG(CFG_LFR_ENABLE_WES_MODE) \
CFG(CFG_LFR_ROAM_SCAN_OFFLOAD_ENABLED) \
CFG(CFG_LFR_NEIGHBOR_SCAN_CHANNEL_LIST) \

Bestand weergeven

@@ -1724,6 +1724,7 @@ struct wlan_mlme_lfr_cfg {
uint32_t roam_preauth_retry_count;
uint32_t roam_preauth_no_ack_timeout;
uint8_t roam_rssi_diff;
uint8_t bg_rssi_threshold;
bool roam_scan_offload_enabled;
uint32_t neighbor_scan_timer_period;
uint32_t neighbor_scan_min_timer_period;