summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2019-03-29 05:21:10 -0700
committerLinux Build Service Account <lnxbuild@localhost>2019-03-29 05:21:10 -0700
commit90c4e0aaa3eeecaf12141cca1de6a0743fd42ab0 (patch)
tree0b85cb8ba953964e803fcc227b3444f2f51d3dfd
parent46c4d89ee3ca15c8a375d124d8b34523258cda72 (diff)
parenta4e3c9a80750da81cb28465774a3acfc507c9c6e (diff)
Merge a4e3c9a80750da81cb28465774a3acfc507c9c6e on remote branch
Change-Id: I79fff1d915dc44c3b6c0890e8ded18ec9ac7766a
-rwxr-xr-xfw/wlan_module_ids.h4
-rwxr-xr-xfw/wmi_services.h2
-rwxr-xr-xfw/wmi_tlv_defs.h4
-rwxr-xr-xfw/wmi_unified.h33
-rwxr-xr-xfw/wmi_version.h2
5 files changed, 41 insertions, 4 deletions
diff --git a/fw/wlan_module_ids.h b/fw/wlan_module_ids.h
index c6d54129fb53..f4a0e290ffcc 100755
--- a/fw/wlan_module_ids.h
+++ b/fw/wlan_module_ids.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2018 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2011-2019 The Linux Foundation. All rights reserved.
*
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
*
@@ -111,6 +111,8 @@ typedef enum {
WLAN_MODULE_STA_TWT, /* 0x4d */
WLAN_MODULE_AP_TWT, /* 0x4e */
WLAN_MODULE_UL_OFDMA, /* 0x4f */
+ WLAN_MODULE_HPCS_PULSE, /* 0x50 */
+ WLAN_MODULE_DTF, /* 0x51 */ /* Deterministic Test Framework */
WLAN_MODULE_ID_MAX,
WLAN_MODULE_ID_INVALID = WLAN_MODULE_ID_MAX,
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 f512f588eef5..e085b98d0bad 100755
--- a/fw/wmi_unified.h
+++ b/fw/wmi_unified.h
@@ -11464,6 +11464,9 @@ typedef struct {
#define WMI_ROAM_BTM_GET_CNDS_SELECT_BASED_ON_SCORE(flags) WMI_GET_BITS(flags, 7, 1)
#define WMI_ROAM_BTM_SET_BTM_QUERY_PREFERENCE_OVER_11K(flags, val) WMI_SET_BITS(flags, 8, 1, val)
#define WMI_ROAM_BTM_GET_BTM_QUERY_PREFERENCE_OVER_11K(flags) WMI_GET_BITS(flags, 8, 1)
+#define WMI_ROAM_BTM_SET_BTM_QUERY_WITH_CANDIDATE_LIST(flags, val) WMI_SET_BITS(flags, 9, 1, val)
+#define WMI_ROAM_BTM_GET_BTM_QUERY_WITH_CANDIDATE_LIST(flags) WMI_GET_BITS(flags, 9, 1)
+
/** WMI_ROAM_BTM_SET_NON_MATCHING_CNDS_ACTION definition: When BTM candidate is not matched with cache by WMI_ROAM_BTM_SET_CNDS_MATCH_CONDITION, determine what to do */
#define WMI_ROAM_BTM_NON_MATCHING_CNDS_SCAN_CONSUME 0 /** Invoke roam scan and consume within firmware. Applicable only when ROAM_SCAN_MODE is enabled. If ROAM_SCAN_MODE is disabled, firmware won't scan and forward it to host */
@@ -11508,6 +11511,13 @@ typedef struct {
* disregarded.
*/
A_UINT32 disassoc_timer_threshold;
+ /*
+ * Bitmask (with enum WMI_ROAM_TRIGGER_REASON_ID identifying the bit
+ * positions) showing for which roam_trigger_reasons the
+ * btm query needs to be sent.
+ * If roam trigger reasons are unspecified, btm_bitmap will be 0x0.
+ */
+ A_UINT32 btm_bitmap;
} wmi_btm_config_fixed_param;
#define WMI_ROAM_5G_BOOST_PENALIZE_ALGO_FIXED 0x0
@@ -11606,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 {
@@ -12169,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 */
@@ -17682,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;
@@ -17692,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;
@@ -17726,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;
@@ -22099,6 +22121,15 @@ 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
+ * 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
+ * arg2 - priority level 2, same parameters rules as arg1
+ * arg3 - priority level 3, same parameters rules as arg1
+ * arg4 - priority level 4, same parameters rules as arg1
+ */
+ WMI_COEX_CONFIG_THREE_WAY_COEX_START = 34,
} WMI_COEX_CONFIG_TYPE;
typedef struct {
diff --git a/fw/wmi_version.h b/fw/wmi_version.h
index 2b31f8be96c5..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_ 628
+#define __WMI_REVISION_ 631
/** The Version Namespace should not be normally changed. Only
* host and firmware of the same WMI namespace will work