qcacld-3.0: Introduce new INI to enable/disable FT-IM

With specific AP(s), FW needs to perform FT initial mobility
association instead of FT roaming for deauth roam trigger.

This ini is used to configure "FT roaming for deauth roam trigger"
behavior from the HOST.

Change-Id: Id754a21f7ac2c330019055646f79c79db3e0c52c
CRs-Fixed: 2665882
This commit is contained in:
Abhinav Kumar 2020-04-16 19:37:38 +05:30 committed by nshrivas
parent cf164af18d
commit e3e903bf37
6 changed files with 33 additions and 1 deletions

View File

@ -1718,6 +1718,7 @@ static void mlme_init_lfr_cfg(struct wlan_objmgr_psoc *psoc,
lfr->roam_scan_period_after_inactivity =
cfg_get(psoc, CFG_POST_INACTIVITY_ROAM_SCAN_PERIOD);
lfr->fw_akm_bitmap = 0;
lfr->enable_ft_im_roaming = cfg_get(psoc, CFG_FT_IM_ROAMING);
mlme_init_roam_offload_cfg(psoc, lfr);
mlme_init_ese_cfg(psoc, lfr);

View File

@ -2599,6 +2599,31 @@
0, \
"Config roam scan policy")
/*
* <ini>
* enable_ft_im_roaming - FW needs to perform FT initial moiblity association
* instead of FT roaming for deauth roam trigger
* @Min: 0
* @Max: 1
* @Default: 1
*
* This ini is used to FT roaming for deauth roam trigger behavior from HOST
* 0 - To disable FT-IM
* 1 - To enable FT-IM
*
* Related: None
*
* Supported Feature: Roaming
*
* Usage: Internal
*
* </ini>
*/
#define CFG_FT_IM_ROAMING CFG_INI_BOOL( \
"enable_ft_im_roaming", \
1, \
"FT roaming for deauth roam trigger")
/*
* <ini>
* roam_scan_inactivity_time - Device inactivity monitoring time in
@ -2805,6 +2830,7 @@
CFG(CFG_LFR_ROAM_FORCE_RSSI_TRIGGER) \
CFG(CFG_ROAM_SCAN_SCAN_POLICY) \
CFG(CFG_ROAM_SCAN_INACTIVITY_TIME) \
CFG(CFG_FT_IM_ROAMING) \
CFG(CFG_ROAM_INACTIVE_COUNT) \
CFG(CFG_POST_INACTIVITY_ROAM_SCAN_PERIOD) \
CFG(CFG_BSS_LOAD_TRIG_5G_RSSI_THRES) \

View File

@ -1532,6 +1532,7 @@ struct bss_load_trigger {
* @enable_adaptive_11r Flag to check if adaptive 11r ini is enabled
* @tgt_adaptive_11r_cap: Flag to check if target supports adaptive
* 11r
* @enable_ft_im_roaming: Flag to enable/disable FT-IM roaming
* @roam_scan_home_away_time: The home away time to firmware
* @roam_scan_n_probes: The number of probes to be sent for firmware roaming
* @delay_before_vdev_stop:Wait time for tx complete before vdev stop
@ -1642,6 +1643,7 @@ struct wlan_mlme_lfr_cfg {
bool enable_adaptive_11r;
bool tgt_adaptive_11r_cap;
#endif
bool enable_ft_im_roaming;
uint16_t roam_scan_home_away_time;
uint32_t roam_scan_n_probes;
uint8_t delay_before_vdev_stop;

View File

@ -2236,7 +2236,7 @@ struct roam_offload_scan_req {
struct pmkid_mode_bits pmkid_modes;
bool is_adaptive_11r_connection;
bool is_sae_single_pmk;
bool enable_ft_im_roaming;
/* Idle/Disconnect roam parameters */
struct wmi_idle_roam_params idle_roam_params;
struct wmi_disconnect_roam_params disconnect_roam_params;

View File

@ -16891,6 +16891,8 @@ csr_update_roam_scan_offload_request(struct mac_context *mac_ctx,
mac_ctx->mlme_cfg->lfr.roam_force_rssi_trigger);
csr_update_roam_req_adaptive_11r(session, mac_ctx, req_buf);
req_buf->enable_ft_im_roaming =
mac_ctx->mlme_cfg->lfr.enable_ft_im_roaming;
/* fill bss load triggered roam related configs */
req_buf->bss_load_trig_enabled =
mac_ctx->mlme_cfg->lfr.bss_load_trig.enabled;

View File

@ -367,6 +367,7 @@ static void wma_roam_scan_offload_set_params(
params->rct_validity_timer = roam_req->rct_validity_timer;
params->is_adaptive_11r = roam_req->is_adaptive_11r_connection;
params->is_sae_same_pmk = roam_req->is_sae_single_pmk;
params->enable_ft_im_roaming = roam_req->enable_ft_im_roaming;
wma_debug("qos_caps %d, qos_enabled %d, ho_delay_for_rx %d, roam_scan_mode %d roam_preauth: retrycount %d, no_ack_timeout %d SAE Single PMK:%d",
params->roam_offload_params.qos_caps,
params->roam_offload_params.qos_enabled,