qcacld-3.0: Support mld self roaming with high rssi trigger
Support mld self roam between DBS(2 GHz+5/6 GHz) and HBS(5 GHz+6 GHz). Change high rssi config. Change-Id: Icb65f26509848a09fe46bf01154a0f42efa073f2 CRs-Fixed: 3416549
This commit is contained in:

committed by
Madan Koyyalamudi

parent
453ab92362
commit
4dc1a27cf5
@@ -1996,8 +1996,8 @@
|
||||
* <ini>
|
||||
* gRoamScanHiRssiDelta - Sets RSSI Delta for scan trigger
|
||||
* @Min: 0
|
||||
* @Max: 16
|
||||
* @Default: 10
|
||||
* @Max: 40
|
||||
* @Default: 23
|
||||
*
|
||||
* This INI is used to set change in RSSI at which scan is triggered
|
||||
* in 5GHz.
|
||||
@@ -2013,8 +2013,8 @@
|
||||
#define CFG_LFR_ROAM_SCAN_HI_RSSI_DELTA CFG_INI_UINT( \
|
||||
"gRoamScanHiRssiDelta", \
|
||||
0, \
|
||||
16, \
|
||||
10, \
|
||||
40, \
|
||||
23, \
|
||||
CFG_VALUE_OR_DEFAULT, \
|
||||
"RSSI Delta for scan trigger")
|
||||
|
||||
|
@@ -1885,4 +1885,11 @@ wlan_cm_set_assoc_btm_cap(struct wlan_objmgr_vdev *vdev, bool val);
|
||||
bool
|
||||
wlan_cm_get_assoc_btm_cap(struct wlan_objmgr_vdev *vdev);
|
||||
|
||||
/**
|
||||
* wlan_cm_is_self_mld_roam_supported() - Is self mld roam supported
|
||||
* @psoc: pointer to psoc object
|
||||
*
|
||||
* Return: bool, true: self mld roam supported
|
||||
*/
|
||||
bool wlan_cm_is_self_mld_roam_supported(struct wlan_objmgr_psoc *psoc);
|
||||
#endif /* WLAN_CM_ROAM_API_H__ */
|
||||
|
@@ -4516,3 +4516,17 @@ wlan_cm_get_assoc_btm_cap(struct wlan_objmgr_vdev *vdev)
|
||||
|
||||
return mlme_priv->connect_info.assoc_btm_cap;
|
||||
}
|
||||
|
||||
bool wlan_cm_is_self_mld_roam_supported(struct wlan_objmgr_psoc *psoc)
|
||||
{
|
||||
struct wmi_unified *wmi_handle;
|
||||
|
||||
wmi_handle = get_wmi_unified_hdl_from_psoc(psoc);
|
||||
if (!wmi_handle) {
|
||||
mlme_debug("Invalid WMI handle");
|
||||
return false;
|
||||
}
|
||||
|
||||
return wmi_service_enabled(wmi_handle,
|
||||
wmi_service_self_mld_roam_between_dbs_and_hbs);
|
||||
}
|
||||
|
@@ -3116,7 +3116,15 @@ lim_fill_pe_session(struct mac_context *mac_ctx, struct pe_session *session,
|
||||
HI_RSSI_SCAN_RSSI_DELTA, &temp);
|
||||
hi_rssi_scan_rssi_delta = temp.uint_value;
|
||||
|
||||
if (WLAN_REG_IS_24GHZ_CH_FREQ(bss_desc->chan_freq) &&
|
||||
/*
|
||||
* Firmware will take care of checking hi_scan rssi delta, take care of
|
||||
* legacy -> legacy hi-rssi roam also if this feature flag is
|
||||
* advertised.
|
||||
*/
|
||||
if (wlan_cm_is_self_mld_roam_supported(mac_ctx->psoc)) {
|
||||
wlan_cm_set_disable_hi_rssi(mac_ctx->pdev, session->vdev_id,
|
||||
false);
|
||||
} else if (WLAN_REG_IS_24GHZ_CH_FREQ(bss_desc->chan_freq) &&
|
||||
(abs(bss_desc->rssi) >
|
||||
(neighbor_lookup_threshold - hi_rssi_scan_rssi_delta))) {
|
||||
pe_debug("Enabling HI_RSSI, rssi: %d lookup_th: %d, delta:%d",
|
||||
|
Reference in New Issue
Block a user