qcacld-3.0: Add a new INI RoamCU_6GRSSIRange
Add support to parse a new INI named "bss_load_trigger_6g_rssi_threshold/RoamCU_6GRSSIRange" and send its value to FW via WMI_ROAM_BSS_LOAD_CONFIG_CMDID. Min, Max and default value of this INI: Min: -120 Max: 0 Default: -70 Change-Id: I9aa99d887553de4022fc0a31dc0644601cd340d6 CRs-Fixed: 3225548
Este commit está contenido en:

cometido por
Madan Koyyalamudi

padre
1857a4a020
commit
7e9e394af6
@@ -1890,6 +1890,8 @@ mlme_init_bss_load_trigger_params(struct wlan_objmgr_psoc *psoc,
|
||||
bss_load_trig->sample_time = cfg_get(psoc,
|
||||
CFG_BSS_LOAD_SAMPLE_TIME);
|
||||
|
||||
bss_load_trig->rssi_threshold_6ghz =
|
||||
cfg_get(psoc, CFG_BSS_LOAD_TRIG_6G_RSSI_THRES);
|
||||
bss_load_trig->rssi_threshold_5ghz =
|
||||
cfg_get(psoc, CFG_BSS_LOAD_TRIG_5G_RSSI_THRES);
|
||||
bss_load_trig->rssi_threshold_24ghz =
|
||||
|
@@ -2094,6 +2094,35 @@
|
||||
CFG_VALUE_OR_DEFAULT, \
|
||||
"bss load sampling time")
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* bss_load_trigger_6g_rssi_threshold/RoamCU_6GRSSIRange -
|
||||
* Current AP minimum RSSI in dBm below
|
||||
* which roaming can be triggered if BSS load exceeds bss_load_threshold.
|
||||
* @Min: -120
|
||||
* @Max: 0
|
||||
* @Default: -70
|
||||
*
|
||||
* If connected AP is in 6Ghz, then consider bss load roam triggered only if
|
||||
* load % > bss_load_threshold && connected AP rssi is worse than
|
||||
* bss_load_trigger_6g_rssi_threshold
|
||||
*
|
||||
* Related: "bss_load_threshold"
|
||||
*
|
||||
* Supported Feature: Roaming
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_BSS_LOAD_TRIG_6G_RSSI_THRES CFG_INI_INT( \
|
||||
"bss_load_trigger_6g_rssi_threshold RoamCU_6GRSSIRange", \
|
||||
-120, \
|
||||
0, \
|
||||
-70, \
|
||||
CFG_VALUE_OR_DEFAULT, \
|
||||
"Minimum RSSI of current AP in 6GHz band for BSS load roam trigger")
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* bss_load_trigger_5g_rssi_threshold/RoamCU_5GRSSIRange -
|
||||
@@ -3150,6 +3179,7 @@
|
||||
CFG(CFG_ROAM_INACTIVE_COUNT) \
|
||||
CFG(CFG_POST_INACTIVITY_ROAM_SCAN_PERIOD) \
|
||||
CFG(CFG_ROAM_SCAN_INACTIVE_TIMER) \
|
||||
CFG(CFG_BSS_LOAD_TRIG_6G_RSSI_THRES) \
|
||||
CFG(CFG_BSS_LOAD_TRIG_5G_RSSI_THRES) \
|
||||
CFG(CFG_BSS_LOAD_TRIG_2G_RSSI_THRES) \
|
||||
CFG(CFG_LFR_FULL_ROAM_SCAN_REFRESH_PERIOD) \
|
||||
|
@@ -3257,6 +3257,18 @@ QDF_STATUS
|
||||
wlan_mlme_get_bss_load_sample_time(struct wlan_objmgr_psoc *psoc,
|
||||
uint32_t *val);
|
||||
|
||||
/**
|
||||
* wlan_mlme_get_bss_load_rssi_threshold_6ghz() - Get bss load RSSI
|
||||
* threshold on 6G
|
||||
* @psoc: pointer to psoc object
|
||||
* @val: Pointer to the value which will be filled for the caller
|
||||
*
|
||||
* Return: QDF Status
|
||||
*/
|
||||
QDF_STATUS
|
||||
wlan_mlme_get_bss_load_rssi_threshold_6ghz(struct wlan_objmgr_psoc *psoc,
|
||||
int32_t *val);
|
||||
|
||||
/**
|
||||
* wlan_mlme_get_bss_load_rssi_threshold_5ghz() - Get bss load RSSI
|
||||
* threshold on 5G
|
||||
|
@@ -1716,6 +1716,9 @@ enum roaming_dfs_channel_type {
|
||||
* @threshold: Bss load threshold value above which roaming should start
|
||||
* @sample_time: Time duration in milliseconds for which the bss load value
|
||||
* should be monitored
|
||||
* @rssi_threshold_6ghz: RSSI threshold of the current connected AP below which
|
||||
* roam should be triggered if bss load threshold exceeds the configured value.
|
||||
* This value is applicable only when we are connected in 6GHz band.
|
||||
* @rssi_threshold_5ghz: RSSI threshold of the current connected AP below which
|
||||
* roam should be triggered if bss load threshold exceeds the configured value.
|
||||
* This value is applicable only when we are connected in 5GHz band.
|
||||
@@ -1727,6 +1730,7 @@ struct bss_load_trigger {
|
||||
bool enabled;
|
||||
uint32_t threshold;
|
||||
uint32_t sample_time;
|
||||
uint32_t rssi_threshold_6ghz;
|
||||
int32_t rssi_threshold_5ghz;
|
||||
int32_t rssi_threshold_24ghz;
|
||||
};
|
||||
|
@@ -5090,6 +5090,23 @@ wlan_mlme_get_bss_load_sample_time(struct wlan_objmgr_psoc *psoc,
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
QDF_STATUS
|
||||
wlan_mlme_get_bss_load_rssi_threshold_6ghz(struct wlan_objmgr_psoc *psoc,
|
||||
int32_t *val)
|
||||
{
|
||||
struct wlan_mlme_psoc_ext_obj *mlme_obj;
|
||||
|
||||
mlme_obj = mlme_get_psoc_ext_obj(psoc);
|
||||
if (!mlme_obj) {
|
||||
*val = cfg_default(CFG_BSS_LOAD_TRIG_6G_RSSI_THRES);
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
|
||||
*val = mlme_obj->cfg.lfr.bss_load_trig.rssi_threshold_6ghz;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
QDF_STATUS
|
||||
wlan_mlme_get_bss_load_rssi_threshold_5ghz(struct wlan_objmgr_psoc *psoc,
|
||||
int32_t *val)
|
||||
|
Referencia en una nueva incidencia
Block a user