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
|
#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,
|
static int init_deinit_service_ready_event_handler(ol_scn_t scn_handle,
|
||||||
uint8_t *event,
|
uint8_t *event,
|
||||||
uint32_t data_len)
|
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_psoc_nif_fw_ext_cap_set(psoc,
|
||||||
WLAN_SOC_CEXT_CSA_TX_OFFLOAD);
|
WLAN_SOC_CEXT_CSA_TX_OFFLOAD);
|
||||||
|
|
||||||
|
init_deinit_update_roam_stats_cap(wmi_handle, psoc);
|
||||||
|
|
||||||
init_deinit_update_wifi_pos_caps(wmi_handle, psoc);
|
init_deinit_update_wifi_pos_caps(wmi_handle, psoc);
|
||||||
|
|
||||||
/* override derived value, if it exceeds max peer count */
|
/* override derived value, if it exceeds max peer count */
|
||||||
|
@@ -240,6 +240,9 @@
|
|||||||
/* 11AZ Secure ranging PHY Security support */
|
/* 11AZ Secure ranging PHY Security support */
|
||||||
#define WLAN_RTT_11AZ_MAC_PHY_SEC_SUPPORT 0x00000004
|
#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 */
|
/* PSOC op flags */
|
||||||
|
|
||||||
/* Invalid VHT cap */
|
/* Invalid VHT cap */
|
||||||
|
@@ -5594,6 +5594,9 @@ typedef enum {
|
|||||||
wmi_service_rtt_11az_tb_support,
|
wmi_service_rtt_11az_tb_support,
|
||||||
#endif
|
#endif
|
||||||
wmi_service_pktlog_decode_info_support,
|
wmi_service_pktlog_decode_info_support,
|
||||||
|
#ifdef WLAN_FEATURE_ROAM_OFFLOAD
|
||||||
|
wmi_service_roam_stats_per_candidate_frame_info,
|
||||||
|
#endif
|
||||||
wmi_services_max,
|
wmi_services_max,
|
||||||
} wmi_conv_service_ids;
|
} wmi_conv_service_ids;
|
||||||
#define WMI_SERVICE_UNAVAILABLE 0xFFFF
|
#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_CHAN 38
|
||||||
#define MAX_ROAM_SCAN_STATS_TLV 5
|
#define MAX_ROAM_SCAN_STATS_TLV 5
|
||||||
#define WLAN_MAX_BTM_CANDIDATE 8
|
#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
|
* struct btm_req_candidate_info - BTM request candidate
|
||||||
* info
|
* info
|
||||||
|
@@ -18806,6 +18806,10 @@ static void populate_tlv_service(uint32_t *wmi_service)
|
|||||||
#endif
|
#endif
|
||||||
wmi_service[wmi_service_pktlog_decode_info_support] =
|
wmi_service[wmi_service_pktlog_decode_info_support] =
|
||||||
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