fw-api: CL 3304481 - update fw common interface files

WMI Interface for Background Roaming
Added one missing change in WMI_SERVICE_FILS_SUPPORT in previous revision
<Describe here the change summary in detail>

Change-Id: I18e85993d55740d0d5054a370e2e32f7f21e0352
CRs-Fixed: 1107600
This commit is contained in:
snandini 2017-07-26 14:55:26 -07:00
commit b928ad1895
4 changed files with 46 additions and 21 deletions

View file

@ -210,7 +210,7 @@ typedef enum {
WMI_SERVICE_CHAN_LOAD_INFO=128, /* The values in WMI_CHAN_INFO_EVENTID is the difference in cycle counters */
WMI_SERVICE_TX_PPDU_INFO_STATS_SUPPORT=129, /* support to report tx ppdu info stats via htt events */
WMI_SERVICE_VDEV_LIMIT_OFFCHAN_SUPPORT=130, /* support to report the offchannel duration limiting capability on connected interface */
WMI_SERVICE_FILS_SUPPORT=131, /* support for FILS */
/******* ADD NEW SERVICES HERE *******/
WMI_MAX_EXT_SERVICE

View file

@ -846,6 +846,7 @@ typedef enum {
WMITLV_TAG_STRUC_wmi_pdev_update_fils_hlp_pkt_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_roam_fils_synch_tlv_param,
WMITLV_TAG_STRUC_wmi_gtk_offload_extended_tlv_param,
WMITLV_TAG_STRUC_wmi_roam_bg_scan_roaming_param,
} WMITLV_TAG_ID;
/*
@ -1506,7 +1507,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_ROAM_SCAN_MODE);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_roam_scan_rssi_threshold_fixed_param, wmi_roam_scan_rssi_threshold_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_scan_extended_threshold_param, extended_param, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_earlystop_rssi_thres_param, earlystop_param, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_dense_thres_param, dense_param, WMITLV_SIZE_VAR)
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_dense_thres_param, dense_param, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_bg_scan_roaming_param, bg_scan_param, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_ROAM_SCAN_RSSI_THRESHOLD);
@ -4531,12 +4533,12 @@ WMITLV_CREATE_PARAM_STRUC(WMI_WLAN_COEX_BT_ACTIVITY_EVENTID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_therm_throt_level_stats_info, therm_throt_level_stats_info, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_THERM_THROT_STATS_EVENTID);
/* UNIT-TEST Event */
/* UNIT-TEST Event */
#define WMITLV_TABLE_WMI_UNIT_TEST_EVENTID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_unit_test_event_fixed_param, wmi_unit_test_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, bufp, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_UNIT_TEST_EVENTID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, bufp, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_UNIT_TEST_EVENTID);
#ifdef __cplusplus
}

View file

@ -2744,9 +2744,9 @@ typedef struct {
typedef struct {
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_start_scan_cmd_fixed_param */
/** Scan ID */
/** Scan ID (lower 16 bits) MSB 4 bits is used to identify scan client based on enum WMI_SCAN_CLIENT_ID */
A_UINT32 scan_id;
/** Scan requestor ID */
/** Scan requestor ID (lower 16 bits) is used by scan client to classify the scan source, reason, ...etc */
A_UINT32 scan_req_id;
/** VDEV id(interface) that is requesting scan */
A_UINT32 vdev_id;
@ -3113,7 +3113,7 @@ typedef struct {
typedef struct {
A_UINT32 tlv_header;
A_UINT32 pmk_len;
A_UINT8 pmk[WMI_MAX_PMK_LEN];/* for big-endian hosts, manual endian conversion will be needed to keep the array values in their original order,
A_UINT8 pmk[WMI_MAX_PMK_LEN];/* for big-endian hosts, manual endian conversion will be needed to keep the array values in their original order,
in spite of the automatic byte-swap applied to WMI messages during download*/
A_UINT32 pmkid_len;
A_UINT8 pmkid[WMI_MAX_PMKID_LEN];
@ -3128,7 +3128,7 @@ typedef struct {
typedef struct {
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_pdev_update_pmk_cache_cmd_fixed_param */
A_UINT32 op_flag; //option to flush all the cache at once
A_UINT32 op_flag; //option to flush all the cache at once
A_UINT32 vdev_id;
A_UINT32 num_cache;
/**
@ -3143,7 +3143,7 @@ typedef struct {
#define WMI_FILS_MAX_RRK_LEN 64
#define WMI_FILS_MAX_RIK_LEN 64
/* for big-endian hosts, manual endian conversion will be needed to keep the array values in their original order,
/* for big-endian hosts, manual endian conversion will be needed to keep the array values in their original order,
in spite of the automatic byte-swap applied to WMI messages during download*/
typedef struct {
@ -3166,30 +3166,30 @@ typedef struct {
A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_roam_fils_offload_tlv_param */
A_UINT32 flags;
wmi_erp_info vdev_erp_info;
} wmi_roam_fils_offload_tlv_param;
} wmi_roam_fils_offload_tlv_param;
typedef struct {
A_UINT32 tlv_header; /** tag WMITLV_TAG_STRUC_wmi_pdev_update_fils_hlp_pkt_cmd_fixed_param**/
A_UINT32 flags;
A_UINT32 vdev_id;
A_UINT32 size;
A_UINT32 pkt_type; // filled using enum wmi_fils_hlp_pkt_type
A_UINT32 pkt_type; // filled using enum wmi_fils_hlp_pkt_type
// A_UINT8 fils_hlp_pkt[];
} wmi_pdev_update_fils_hlp_pkt_cmd_fixed_param;
#define WMI_MAX_KEK_LEN 64
#define GTK_OFFLOAD_KEK_EXTENDED_BYTES WMI_MAX_KEK_LEN /*KEK len has been increased to 64 to support FILS security.
#define GTK_OFFLOAD_KEK_EXTENDED_BYTES WMI_MAX_KEK_LEN /*KEK len has been increased to 64 to support FILS security.
To not break backward compatibility, new GTK_OFFLOAD_KEK_EXTENDED_BYTES has been defined without modifying old GTK_OFFLOAD_KEK_BYTES */
typedef struct {
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_roam_fils_synch_tlv_param */
A_UINT32 update_erp_next_seq_num;// Boolean denoting whether next erp_seq_num changed or not.
A_UINT32 update_erp_next_seq_num;// Boolean denoting whether next erp_seq_num changed or not.
A_UINT32 next_erp_seq_num;
A_UINT32 kek_len;
A_UINT32 kek_len;
A_UINT8 kek[WMI_MAX_KEK_LEN];
A_UINT32 pmk_len;
A_UINT32 pmk_len;
A_UINT8 pmk[WMI_MAX_PMK_LEN];
A_UINT8 pmkid[WMI_MAX_PMKID_LEN];
A_UINT8 pmkid[WMI_MAX_PMKID_LEN];
A_UINT8 realm[WMI_FILS_MAX_REALM_LEN];
A_UINT32 realm_len;
} wmi_roam_fils_synch_tlv_param;
@ -9453,6 +9453,7 @@ typedef struct {
* wmi_roam_scan_extended_threshold_param extended_param;
* wmi_roam_earlystop_rssi_thres_param earlystop_param;
* wmi_roam_dense_thres_param dense_param;
* wmi_roam_bg_scan_roaming_param bg_scan_param;
*/
} wmi_roam_scan_rssi_threshold_fixed_param;
@ -9552,6 +9553,19 @@ enum {
WMI_AUTH_RSNA_FILS_SHA384,
};
typedef enum {
WMI_SCAN_CLIENT_NLO = 0x1, /* 1 */
WMI_SCAN_CLIENT_EXTSCAN, /* 2 */
WMI_SCAN_CLIENT_ROAM, /* 3 */
WMI_SCAN_CLIENT_P2P, /* 4 */
WMI_SCAN_CLIENT_LPI, /* 5 */
WMI_SCAN_CLIENT_NAN, /* 6 */
WMI_SCAN_CLIENT_ANQP, /* 7 */
WMI_SCAN_CLIENT_OBSS, /* 8 */
WMI_SCAN_CLIENT_PLM, /* 9 */
WMI_SCAN_CLIENT_HOST, /* 10 */
} WMI_SCAN_CLIENT_ID;
typedef struct {
/** authentication mode (defined above) */
A_UINT32 rsn_authmode;
@ -9639,6 +9653,15 @@ typedef struct {
A_UINT32 roam_dense_traffic_thres;
} wmi_roam_dense_thres_param;
typedef struct {
/** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_roam_bg_scan_roaming_param */
A_UINT32 tlv_header;
/** rssi threshold in dBm below which roaming will be triggered during background scan(non-roam scan). 0 will disable this threshold */
A_UINT32 roam_bg_scan_bad_rssi_thresh;
/** bitmap for which scan client will enable/disable background roaming. bit position is mapped to the enum WMI_SCAN_CLIENT_ID. 1 = enable, 0 = disable */
A_UINT32 roam_bg_scan_client_bitmap;
} wmi_roam_bg_scan_roaming_param;
/** Beacon filter wmi command info */
#define BCN_FLT_MAX_SUPPORTED_IES 256
@ -11721,14 +11744,14 @@ typedef struct {
A_UINT8 replay_counter[GTK_REPLAY_COUNTER_BYTES]; /* replay counter for re-key */
} WMI_GTK_OFFLOAD_CMD_fixed_param;
typedef struct {
typedef struct {
A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_gtk_offload_extended_tlv_param */
A_UINT32 vdev_id; /** unique id identifying the VDEV */
A_UINT32 flags; /* control flags, GTK offload command use high byte */
A_UINT32 kek_len;
A_UINT8 KEK[GTK_OFFLOAD_KEK_EXTENDED_BYTES]; /* key encryption key */
A_UINT8 KCK[GTK_OFFLOAD_KCK_BYTES]; /* key confirmation key */
A_UINT8 replay_counter[GTK_REPLAY_COUNTER_BYTES]; /* replay counter for re-key */
A_UINT8 replay_counter[GTK_REPLAY_COUNTER_BYTES]; /* replay counter for re-key */
} wmi_gtk_offload_fils_tlv_param;
typedef struct {

View file

@ -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_ 420
#define __WMI_REVISION_ 421
/** The Version Namespace should not be normally changed. Only
* host and firmware of the same WMI namespace will work