qcacld-3.0: Add new "roam_score_delta" and "roam_score_delta_bitmap" ini

Add two new WCNSS_qcom.ini values:
"roam_score_delta" - Factor by which the new roaming candidate
ap score should be greater than the score of the current
connected AP.
"roam_score_deltabitmap" - Roam triggers for which
roam_score_delta needs to be applied on the roam score of the
candidate AP.

Populate these two values to wlan_mlme_scoring_cfg from cfg
component in mlme_init_scoring_cfg. The values are sent to
firmware over the WMI TLV WMI_ROAM_AP_PROFILE in the below code
flow:
csr_update_score_params()->__lim_process_roam_scan_offload_req()
->wma_process_roaming_config()->wma_roam_scan_offload_ap_profile

Change-Id: I64f2a2328e485418547dae937c657f85225f1457
CRs-Fixed: 2367910
This commit is contained in:
Pragaspathi Thilagaraj
2018-12-11 16:59:46 +05:30
committad av nshrivas
förälder ae7dc766b3
incheckning df0f544dab
4 ändrade filer med 86 tillägg och 0 borttagningar

Visa fil

@@ -961,6 +961,78 @@
CFG_VALUE_OR_DEFAULT, \
"OCE WAN Score Index 15 to 12")
/*
* <ini>
* roam_score_delta_bitmap - bitmap to enable roam triggers on
* which roam score delta is to be applied during roam candidate
* selection
* @Min: 0
* @Max: 0xffffffff
* @Default: 0xffffffff
*
* Bitmap value of the following roam triggers:
* ROAM_TRIGGER_REASON_NONE - B0,
* ROAM_TRIGGER_REASON_PER - B1,
* ROAM_TRIGGER_REASON_BMISS - B2,
* ROAM_TRIGGER_REASON_LOW_RSSI - B3,
* ROAM_TRIGGER_REASON_HIGH_RSSI - B4,
* ROAM_TRIGGER_REASON_PERIODIC - B5,
* ROAM_TRIGGER_REASON_MAWC - B6,
* ROAM_TRIGGER_REASON_DENSE - B7,
* ROAM_TRIGGER_REASON_BACKGROUND - B8,
* ROAM_TRIGGER_REASON_FORCED - B9,
* ROAM_TRIGGER_REASON_BTM - B10,
* ROAM_TRIGGER_REASON_UNIT_TEST - B11,
* ROAM_TRIGGER_REASON_BSS_LOAD - B12
*
* When the bit corresponding to a particular roam trigger reason
* is set, the value of "roam_score_delta" is expected over the
* roam score of the current connected AP, for that triggered roam
*
* Related: None
*
* Supported Feature: Roaming
*
* Usage: External
*
* </ini>
*/
#define CFG_ROAM_TRIGGER_BITMAP CFG_INI_UINT( \
"roam_score_delta_bitmap", \
0, \
0xFFFFFFFF, \
0xFFFFFFFF, \
CFG_VALUE_OR_DEFAULT, \
"Bitmap for various roam triggers")
/*
* <ini>
* roam_score_delta - Percentage increment in roam score value
* that is expected from a roaming candidate AP.
* @Min: 0
* @Max: 100
* @Default: 0
*
* This ini is used to provide the percentage increment value over roam
* score for the candidate APs so that they can be preferred over current
* AP for roaming.
*
* Related: None
*
* Supported Feature: Roaming
*
* Usage: External
*
* </ini>
*/
#define CFG_ROAM_SCORE_DELTA CFG_INI_UINT( \
"roam_score_delta", \
0, \
100, \
0, \
CFG_VALUE_OR_DEFAULT, \
"candidate AP's percentage roam score delta")
/*
* <ini>
* enable_scoring_for_roam - enable/disable scoring logic in FW for candidate
@@ -1018,6 +1090,8 @@
CFG(CFG_SCORING_OCE_WAN_SCORE_IDX_7_TO_4) \
CFG(CFG_SCORING_OCE_WAN_SCORE_IDX_11_TO_8) \
CFG(CFG_SCORING_OCE_WAN_SCORE_IDX_15_TO_12) \
CFG(CFG_ROAM_TRIGGER_BITMAP) \
CFG(CFG_ROAM_SCORE_DELTA) \
CFG(CFG_ENABLE_SCORING_FOR_ROAM)
#endif /* __CFG_MLME_SCORING_H */

Visa fil

@@ -1576,6 +1576,8 @@ struct wlan_mlme_per_slot_scoring {
* @bandwidth_weight_per_index: Bandwidth weight per index for scoring logic
* @nss_weight_per_index: NSS weight per index for scoring logic
* @band_weight_per_index: Band weight per index for scoring logic
* @roam_trigger_bitmap: bitmap for various roam triggers
* @roam_score_delta: percentage delta in roam score
*/
struct wlan_mlme_scoring_cfg {
bool enable_scoring_for_roam;
@@ -1586,6 +1588,8 @@ struct wlan_mlme_scoring_cfg {
uint32_t bandwidth_weight_per_index;
uint32_t nss_weight_per_index;
uint32_t band_weight_per_index;
uint32_t roam_trigger_bitmap;
uint32_t roam_score_delta;
};
/* struct wlan_mlme_threshold - Threshold related config items