qcacld-3.0: Add ini support to send ap tx power scoring

Introduce an INI "ap_tx_pwr_scoring" to indicate firmware about ap tx
power weightage so that firmware can use ap tx power weightage to
calculate candidate AP's score.

Change-Id: I8831c571162f044f4ae204ef0edfc59942f36837
CRs-Fixed: 2647115
这个提交包含在:
sheenam monga
2020-03-13 17:16:56 +05:30
提交者 nshrivas
父节点 7bd24ba60a
当前提交 7475e4b3d7
修改 5 个文件,包含 38 行新增1 行删除

查看文件

@@ -1798,6 +1798,8 @@ static void mlme_init_scoring_cfg(struct wlan_objmgr_psoc *psoc,
cfg_get(psoc, CFG_SCORING_CHAN_CONGESTION_WEIGHTAGE);
scoring_cfg->weight_cfg.oce_wan_weightage =
cfg_get(psoc, CFG_SCORING_OCE_WAN_WEIGHTAGE);
scoring_cfg->weight_cfg.oce_ap_tx_pwr_weightage =
cfg_get(psoc, CFG_OCE_AP_TX_PWR_WEIGHTAGE);
total_weight = scoring_cfg->weight_cfg.rssi_weightage +
scoring_cfg->weight_cfg.ht_caps_weightage +
@@ -1809,7 +1811,8 @@ static void mlme_init_scoring_cfg(struct wlan_objmgr_psoc *psoc,
scoring_cfg->weight_cfg.beamforming_cap_weightage +
scoring_cfg->weight_cfg.pcl_weightage +
scoring_cfg->weight_cfg.channel_congestion_weightage +
scoring_cfg->weight_cfg.oce_wan_weightage;
scoring_cfg->weight_cfg.oce_wan_weightage +
scoring_cfg->weight_cfg.oce_ap_tx_pwr_weightage;
/*
* If configured weights are greater than max weight,
@@ -1835,6 +1838,8 @@ static void mlme_init_scoring_cfg(struct wlan_objmgr_psoc *psoc,
scoring_cfg->weight_cfg.channel_congestion_weightage =
CHANNEL_CONGESTION_WEIGHTAGE;
scoring_cfg->weight_cfg.oce_wan_weightage = OCE_WAN_WEIGHTAGE;
scoring_cfg->weight_cfg.oce_ap_tx_pwr_weightage =
OCE_AP_TX_POWER_WEIGHTAGE;
}
scoring_cfg->rssi_score.best_rssi_threshold =

查看文件

@@ -1255,6 +1255,31 @@
CFG_VALUE_OR_DEFAULT, \
"Roam candidate selection score algorithm")
/*
* <ini>
* CFG_OCE_AP_TX_PWR_WEIGHTAGE - update scoring param based on ap tx power
* @Min: 0
* @Max: 10
* @Default: 5
*
* This ini is used to store calculate weightage based on ap tx power.
*
* Related: None
*
* Supported Feature: STA
*
* Usage: External
*
* </ini>
*/
#define CFG_OCE_AP_TX_PWR_WEIGHTAGE CFG_INI_UINT( \
"oce_ap_tx_pwr_weightage", \
0, \
10, \
5, \
CFG_VALUE_OR_DEFAULT,\
"AP weigtage for OCE ap tx power")
#define CFG_SCORING_ALL \
CFG(CFG_SCORING_RSSI_WEIGHTAGE) \
CFG(CFG_SCORING_HT_CAPS_WEIGHTAGE) \
@@ -1298,5 +1323,6 @@
CFG(CFG_IDLE_ROAM_SCORE_DELTA) \
CFG(CFG_BTM_ROAM_SCORE_DELTA) \
CFG(CFG_VENDOR_ROAM_SCORE_ALGORITHM) \
CFG(CFG_OCE_AP_TX_PWR_WEIGHTAGE) \
#endif /* __CFG_MLME_SCORING_H */

查看文件

@@ -1811,6 +1811,7 @@ struct wlan_mlme_wmm_params {
* @pcl_weightage: PCL weightage
* @channel_congestion_weightage: channel congestion weightage
* @oce_wan_weightage: OCE WAN metrics weightage
* @oce_ap_tx_pwr_weightage: weightage based on ap tx power
*/
struct wlan_mlme_weight_config {
uint8_t rssi_weightage;
@@ -1824,6 +1825,7 @@ struct wlan_mlme_weight_config {
uint8_t pcl_weightage;
uint8_t channel_congestion_weightage;
uint8_t oce_wan_weightage;
uint8_t oce_ap_tx_pwr_weightage;
};
/**