qcacld-3.0: Send roaming feature indication to FW

To enable the below 2 features in FW:
1. IDLE roam scan
2. Roam triggered due to high channel utilization
   in the currently connected channel

Currently, if "roam_triggers" bitmap is set for above
features, Host indicates FW that "IDLE roam scan"
and "roam trigger due to BSS load" features are
enabled irrespective of corresponding INI
'enable_idle_roam' and 'enable_bss_load_roam_trigger'
respectively.

Consider the value of corresponding INI also while
sending enable indication to FW.

Change-Id: I0d59e0a32df4aa95850f12a99bae439fea40acf5
CRs-Fixed: 3281952
This commit is contained in:
abhinav kumar
2022-09-07 15:00:12 +05:30
committed by Madan Koyyalamudi
parent 2629355337
commit b91c689b0a

View File

@@ -6173,6 +6173,7 @@ void wlan_mlme_get_feature_info(struct wlan_objmgr_psoc *psoc,
{ {
uint32_t roam_triggers; uint32_t roam_triggers;
int sap_max_num_clients; int sap_max_num_clients;
bool is_enable_idle_roam = false, is_bss_load_enabled = false;
wlan_mlme_get_latency_enable(psoc, wlan_mlme_get_latency_enable(psoc,
&mlme_feature_set->enable_wifi_optimizer); &mlme_feature_set->enable_wifi_optimizer);
@@ -6182,14 +6183,21 @@ void wlan_mlme_get_feature_info(struct wlan_objmgr_psoc *psoc,
WMI_HOST_VENDOR1_REQ1_VERSION_3_20; WMI_HOST_VENDOR1_REQ1_VERSION_3_20;
roam_triggers = wlan_mlme_get_roaming_triggers(psoc); roam_triggers = wlan_mlme_get_roaming_triggers(psoc);
wlan_mlme_get_bss_load_enabled(psoc, &is_bss_load_enabled);
mlme_feature_set->roaming_high_cu_roam_trigger = mlme_feature_set->roaming_high_cu_roam_trigger =
roam_triggers & BIT(ROAM_TRIGGER_REASON_BSS_LOAD); (roam_triggers & BIT(ROAM_TRIGGER_REASON_BSS_LOAD)) &&
is_bss_load_enabled;
mlme_feature_set->roaming_emergency_trigger = mlme_feature_set->roaming_emergency_trigger =
roam_triggers & BIT(ROAM_TRIGGER_REASON_FORCED); roam_triggers & BIT(ROAM_TRIGGER_REASON_FORCED);
mlme_feature_set->roaming_btm_trihgger = mlme_feature_set->roaming_btm_trihgger =
roam_triggers & BIT(ROAM_TRIGGER_REASON_BTM); roam_triggers & BIT(ROAM_TRIGGER_REASON_BTM);
wlan_mlme_get_enable_idle_roam(psoc, &is_enable_idle_roam);
mlme_feature_set->roaming_idle_trigger = mlme_feature_set->roaming_idle_trigger =
roam_triggers & BIT(ROAM_TRIGGER_REASON_IDLE); (roam_triggers & BIT(ROAM_TRIGGER_REASON_IDLE)) &&
is_enable_idle_roam;
mlme_feature_set->roaming_wtc_trigger = mlme_feature_set->roaming_wtc_trigger =
roam_triggers & BIT(ROAM_TRIGGER_REASON_WTC_BTM); roam_triggers & BIT(ROAM_TRIGGER_REASON_WTC_BTM);
mlme_feature_set->roaming_btcoex_trigger = mlme_feature_set->roaming_btcoex_trigger =