summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorspuligil <spuligil@codeaurora.org>2019-02-16 12:19:40 -0800
committerspuligil <spuligil@codeaurora.org>2019-02-16 12:19:40 -0800
commit67a5a342f2bd5a59c92ea422f67fe4d950f795d4 (patch)
tree08738ce1e25df34252eb38d0e6c38cf5e7eeb3b2
parenta7755ee8207f46592e3d512b48186be79db41fbd (diff)
fw-api: CL 6535788 - update fw common interface files
Change-Id: I284c66c03b9b1226206afb7f7fd88f5ec3b5bf57 WMI: provide extended key info in ROAM_SYNC_EVENT msg CRs-Fixed: 2262693
-rwxr-xr-xfw/wmi_services.h2
-rwxr-xr-xfw/wmi_tlv_defs.h4
-rwxr-xr-xfw/wmi_unified.h16
-rwxr-xr-xfw/wmi_version.h2
4 files changed, 20 insertions, 4 deletions
diff --git a/fw/wmi_services.h b/fw/wmi_services.h
index ce14e075b74c..14b05734d497 100755
--- a/fw/wmi_services.h
+++ b/fw/wmi_services.h
@@ -377,6 +377,8 @@ typedef enum {
WMI_SERVICE_ENHANCED_TPC_CONFIG_EVENT = 192, /* FW provides enhanced tx power control configuration dump */
WMI_SERVICE_WLM_STATS_REQUEST = 193, /* FW supports WLAN latency manager stats request */
WMI_SERVICE_EXT_PEER_TID_CONFIGS_SUPPORT = 194, /* Extended Peer Tid configuration support for QoS related settings */
+ WMI_SERVICE_WPA3_FT_SAE_SUPPORT = 195, /* FW roaming support for WPA3_FT_SAE */
+ WMI_SERVICE_WPA3_FT_SUITE_B_SUPPORT = 196, /* FW roaming support for WPA3_FT_SUITE_B */
/******* ADD NEW SERVICES HERE *******/
diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h
index 41d8354932ed..aa17d6db91d6 100755
--- a/fw/wmi_tlv_defs.h
+++ b/fw/wmi_tlv_defs.h
@@ -964,6 +964,7 @@ typedef enum {
WMITLV_TAG_STRUC_wmi_vdev_get_mws_coex_antenna_sharing_state_fixed_param,
WMITLV_TAG_STRUC_wmi_request_wlm_stats_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_wlm_stats_event_fixed_param,
+ WMITLV_TAG_STRUC_wmi_key_material_ext,
} WMITLV_TAG_ID;
/*
@@ -4166,7 +4167,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_ROAM_EVENTID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, reassoc_req_frame, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_pdev_hw_mode_transition_event_fixed_param, hw_mode_transition_fixed_param, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_pdev_set_hw_mode_response_vdev_mac_entry, wmi_pdev_set_hw_mode_response_vdev_mac_mapping, WMITLV_SIZE_VAR) \
- WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_fils_synch_tlv_param, roam_fils_synch_info, WMITLV_SIZE_VAR)
+ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_fils_synch_tlv_param, roam_fils_synch_info, WMITLV_SIZE_VAR) \
+ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_key_material_ext, key_ext, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_ROAM_SYNCH_EVENTID);
/* Roam Synch frame Event */
diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h
index 1c5c0b893aa2..e085b98d0bad 100755
--- a/fw/wmi_unified.h
+++ b/fw/wmi_unified.h
@@ -11616,6 +11616,8 @@ enum {
WMI_AUTH_RSNA_FILS_SHA384,
WMI_AUTH_RSNA_SUITE_B_8021X_SHA256,
WMI_AUTH_RSNA_SUITE_B_8021X_SHA384,
+ WMI_AUTH_FT_RSNA_SAE,
+ WMI_AUTH_FT_RSNA_SUITE_B_8021X_SHA384,
};
typedef enum {
@@ -12179,6 +12181,8 @@ typedef struct {
A_UINT32 r0kh_id_len;
A_UINT32 psk_msk[ROAM_OFFLOAD_PSK_MSK_BYTES>>2]; /* psk/msk offload. As this 4 byte aligned, we don't declare it as tlv array */
A_UINT32 psk_msk_len; /**length of psk_msk*/
+ A_UINT32 psk_msk_ext_len; /**length of psk_msk_ext*/
+ A_UINT32 psk_msk_ext[ROAM_OFFLOAD_PSK_MSK_BYTES>>2];
} wmi_roam_11r_offload_tlv_param;
/* This TLV will be filled only in case of ESE */
@@ -17692,6 +17696,8 @@ typedef struct {
(2) data/mgmt frame is received from roamed AP, which needs to return to host
*/
+#define GTK_OFFLOAD_KCK_EXTENDED_BYTES 32
+
typedef struct {
/** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_key_material */
A_UINT32 tlv_header;
@@ -17702,6 +17708,12 @@ typedef struct {
} wmi_key_material;
typedef struct {
+ /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_key_material_ext */
+ A_UINT32 tlv_header;
+ A_UINT8 key_buffer[GTK_OFFLOAD_KEK_EXTENDED_BYTES+GTK_OFFLOAD_KCK_EXTENDED_BYTES+GTK_REPLAY_COUNTER_BYTES]; /*the split of kck, kek should be known to host based on akmp*/
+} wmi_key_material_ext;
+
+typedef struct {
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_roam_synch_event_fixed_param */
/** Unique id identifying the VDEV on which roaming is done by firmware */
A_UINT32 vdev_id;
@@ -17736,7 +17748,7 @@ typedef struct {
* A_UINT32 status; subnet changed status not being used currently.
* will pass the information using roam_status.
* A_UINT8 reassoc_req_frame[]; length identified by reassoc_req_len
- *
+ * wmi_key_material_ext key_ext
**/
} wmi_roam_synch_event_fixed_param;
@@ -22109,7 +22121,7 @@ typedef enum wmi_coex_config_type {
* arg5 - t_delay for high priority traffic (microsecond units)
*/
WMI_COEX_CONFIG_THREE_WAY_DELAY_PARA = 33,
- /* WMI_COEX_CONFIG_THREE_WAY_COEX_START
+ /* WMI_COEX_CONFIG_THREE_WAY_COEX_START
* config to set coex parameters from WLAN host to adjust priorities
* among wlan/bt/zb
* arg1 - priority level 1, the serialized coex scenorio ID will be put here
diff --git a/fw/wmi_version.h b/fw/wmi_version.h
index 29ad2c3a7484..c1c746c9fcb7 100755
--- a/fw/wmi_version.h
+++ b/fw/wmi_version.h
@@ -36,7 +36,7 @@
#define __WMI_VER_MINOR_ 0
/** WMI revision number has to be incremented when there is a
* change that may or may not break compatibility. */
-#define __WMI_REVISION_ 630
+#define __WMI_REVISION_ 631
/** The Version Namespace should not be normally changed. Only
* host and firmware of the same WMI namespace will work