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
此提交包含在:
@@ -1642,6 +1642,10 @@ static void mlme_init_scoring_cfg(struct wlan_objmgr_psoc *psoc,
|
||||
scoring_cfg->oce_wan_scoring.score_pcnt15_to_12 =
|
||||
mlme_limit_max_per_index_score(
|
||||
cfg_get(psoc, CFG_SCORING_OCE_WAN_SCORE_IDX_15_TO_12));
|
||||
|
||||
scoring_cfg->roam_trigger_bitmap =
|
||||
cfg_get(psoc, CFG_ROAM_TRIGGER_BITMAP);
|
||||
scoring_cfg->roam_score_delta = cfg_get(psoc, CFG_ROAM_SCORE_DELTA);
|
||||
}
|
||||
|
||||
static void mlme_init_oce_cfg(struct wlan_objmgr_psoc *psoc,
|
||||
|
@@ -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 */
|
||||
|
@@ -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
|
||||
|
新增問題並參考
封鎖使用者