qcacmn: Add support for per candidate roam frame capability
Firmware advertises per candidate roam frame capability to indicate: 1. Firmware sends auth/assoc frames for each candidate to which roaming was attempted. 2. Fill the frame info TLV with authentication algo = 3 for authentication frames. Add support for the roam per candidate frame info capability Change-Id: I95c23031ab0fbc21fb9d8db3bd54004e4d1ac234 CRs-Fixed: 3172311
This commit is contained in:

committed by
Madan Koyyalamudi

parent
e79a7628e6
commit
4abe857789
@@ -114,6 +114,23 @@ init_deinit_update_wifi_pos_caps(struct wmi_unified *wmi_handle,
|
||||
{}
|
||||
#endif
|
||||
|
||||
#ifdef WLAN_FEATURE_ROAM_OFFLOAD
|
||||
static void
|
||||
init_deinit_update_roam_stats_cap(struct wmi_unified *wmi_handle,
|
||||
struct wlan_objmgr_psoc *psoc)
|
||||
{
|
||||
if (wmi_service_enabled(wmi_handle,
|
||||
wmi_service_roam_stats_per_candidate_frame_info))
|
||||
wlan_psoc_nif_fw_ext2_cap_set(
|
||||
psoc, WLAN_ROAM_STATS_FRAME_INFO_PER_CANDIDATE);
|
||||
}
|
||||
#else
|
||||
static inline void
|
||||
init_deinit_update_roam_stats_cap(struct wmi_unified *wmi_handle,
|
||||
struct wlan_objmgr_psoc *psoc)
|
||||
{}
|
||||
#endif
|
||||
|
||||
static int init_deinit_service_ready_event_handler(ol_scn_t scn_handle,
|
||||
uint8_t *event,
|
||||
uint32_t data_len)
|
||||
@@ -264,6 +281,8 @@ static int init_deinit_service_ready_event_handler(ol_scn_t scn_handle,
|
||||
wlan_psoc_nif_fw_ext_cap_set(psoc,
|
||||
WLAN_SOC_CEXT_CSA_TX_OFFLOAD);
|
||||
|
||||
init_deinit_update_roam_stats_cap(wmi_handle, psoc);
|
||||
|
||||
init_deinit_update_wifi_pos_caps(wmi_handle, psoc);
|
||||
|
||||
/* override derived value, if it exceeds max peer count */
|
||||
|
@@ -240,6 +240,9 @@
|
||||
/* 11AZ Secure ranging PHY Security support */
|
||||
#define WLAN_RTT_11AZ_MAC_PHY_SEC_SUPPORT 0x00000004
|
||||
|
||||
/* Roam Frame info stats - per candidate frames support */
|
||||
#define WLAN_ROAM_STATS_FRAME_INFO_PER_CANDIDATE 0x00000008
|
||||
|
||||
/* PSOC op flags */
|
||||
|
||||
/* Invalid VHT cap */
|
||||
|
@@ -5594,6 +5594,9 @@ typedef enum {
|
||||
wmi_service_rtt_11az_tb_support,
|
||||
#endif
|
||||
wmi_service_pktlog_decode_info_support,
|
||||
#ifdef WLAN_FEATURE_ROAM_OFFLOAD
|
||||
wmi_service_roam_stats_per_candidate_frame_info,
|
||||
#endif
|
||||
wmi_services_max,
|
||||
} wmi_conv_service_ids;
|
||||
#define WMI_SERVICE_UNAVAILABLE 0xFFFF
|
||||
@@ -7875,7 +7878,7 @@ struct wmi_roam_scan_stats_res {
|
||||
#define MAX_ROAM_SCAN_CHAN 38
|
||||
#define MAX_ROAM_SCAN_STATS_TLV 5
|
||||
#define WLAN_MAX_BTM_CANDIDATE 8
|
||||
#define WLAN_ROAM_MAX_FRAME_INFO 6
|
||||
#define WLAN_ROAM_MAX_FRAME_INFO (MAX_ROAM_CANDIDATE_AP * 6)
|
||||
/**
|
||||
* struct btm_req_candidate_info - BTM request candidate
|
||||
* info
|
||||
|
@@ -18806,6 +18806,10 @@ static void populate_tlv_service(uint32_t *wmi_service)
|
||||
#endif
|
||||
wmi_service[wmi_service_pktlog_decode_info_support] =
|
||||
WMI_SERVICE_PKTLOG_DECODE_INFO_SUPPORT;
|
||||
#ifdef WLAN_FEATURE_ROAM_OFFLOAD
|
||||
wmi_service[wmi_service_roam_stats_per_candidate_frame_info] =
|
||||
WMI_SERVICE_ROAM_STAT_PER_CANDIDATE_FRAME_INFO_SUPPORT;
|
||||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user