summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKrishna Kumaar Natarajan <kknatara@qca.qualcomm.com>2014-08-19 12:17:59 -0700
committerAkash Patel <c_akashp@qca.qualcomm.com>2014-08-20 18:39:57 -0700
commit5e9ba31f40bdb085b67877fbf083c5eea434b4db (patch)
tree6eb02e4a591cab9fcd2227007ab2077dc790aae7
parentf6a6cdf7de8d198d0a7485b83357ca5d687d2712 (diff)
qcacld: CL 1059668 1062666 - update fw common interface files
This change set update the fw common interface files associated with the CL 1059668 and partial change for CL 1062666. Change-Id: Ic7a07cbd7f2edd918923eaa12fdbee0d5a4d74d2 CRs-Fixed: 711381
-rw-r--r--CORE/SERVICES/COMMON/wmi_tlv_defs.h62
-rw-r--r--CORE/SERVICES/COMMON/wmi_unified.h155
-rw-r--r--CORE/SERVICES/COMMON/wmi_version.h2
-rw-r--r--CORE/SERVICES/WMI/wmi_unified.c9
4 files changed, 147 insertions, 81 deletions
diff --git a/CORE/SERVICES/COMMON/wmi_tlv_defs.h b/CORE/SERVICES/COMMON/wmi_tlv_defs.h
index 8d15ad6ccbd2..94a01e9cb167 100644
--- a/CORE/SERVICES/COMMON/wmi_tlv_defs.h
+++ b/CORE/SERVICES/COMMON/wmi_tlv_defs.h
@@ -438,13 +438,13 @@ typedef enum {
WMITLV_TAG_STRUC_wmi_host_auto_shutdown_event_fixed_param,
WMITLV_TAG_STRUC_wmi_update_whal_mib_stats_event_fixed_param,
WMITLV_TAG_STRUC_wmi_chan_avoid_update_cmd_param,
- WMITLV_TAG_STRUC_WOW_ACER_IOAC_PKT_PATTERN_T,
- WMITLV_TAG_STRUC_WOW_ACER_IOAC_TMR_PATTERN_T,
+ WMITLV_TAG_STRUC_WOW_IOAC_PKT_PATTERN_T,
+ WMITLV_TAG_STRUC_WOW_IOAC_TMR_PATTERN_T,
WMITLV_TAG_STRUC_WMI_WOW_IOAC_ADD_KEEPALIVE_CMD_fixed_param,
WMITLV_TAG_STRUC_WMI_WOW_IOAC_DEL_KEEPALIVE_CMD_fixed_param,
- WMITLV_TAG_STRUC_WOW_IOAC_KEEPALIVE_T,
- WMITLV_TAG_STRUC_WMI_WOW_ACER_IOAC_ADD_PATTERN_CMD_fixed_param,
- WMITLV_TAG_STRUC_WMI_WOW_ACER_IOAC_DEL_PATTERN_CMD_fixed_param,
+ WMITLV_TAG_STRUC_WMI_WOW_IOAC_KEEPALIVE_T,
+ WMITLV_TAG_STRUC_WMI_WOW_IOAC_ADD_PATTERN_CMD_fixed_param,
+ WMITLV_TAG_STRUC_WMI_WOW_IOAC_DEL_PATTERN_CMD_fixed_param,
WMITLV_TAG_STRUC_wmi_start_link_stats_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_clear_link_stats_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_request_link_stats_cmd_fixed_param,
@@ -502,6 +502,7 @@ typedef enum {
WMITLV_TAG_STRUC_wmi_lpi_handoff_event_fixed_param,
WMITLV_TAG_STRUC_wmi_vdev_rate_stats_event_fixed_param,
WMITLV_TAG_STRUC_wmi_vdev_rate_ht_info,
+ WMITLV_TAG_STRUC_wmi_ric_request_fixed_param
} WMITLV_TAG_ID;
/*
@@ -662,10 +663,10 @@ typedef enum {
OP(WMI_PDEV_SET_LED_CONFIG_CMDID)\
OP(WMI_HOST_AUTO_SHUTDOWN_CFG_CMDID) \
OP(WMI_CHAN_AVOID_UPDATE_CMDID) \
- OP(WMI_WOW_ACER_IOAC_ADD_KEEPALIVE_CMDID) \
- OP(WMI_WOW_ACER_IOAC_DEL_KEEPALIVE_CMDID) \
- OP(WMI_WOW_ACER_IOAC_ADD_WAKE_PATTERN_CMDID) \
- OP(WMI_WOW_ACER_IOAC_DEL_WAKE_PATTERN_CMDID) \
+ OP(WMI_WOW_IOAC_ADD_KEEPALIVE_CMDID) \
+ OP(WMI_WOW_IOAC_DEL_KEEPALIVE_CMDID) \
+ OP(WMI_WOW_IOAC_ADD_WAKE_PATTERN_CMDID) \
+ OP(WMI_WOW_IOAC_DEL_WAKE_PATTERN_CMDID) \
OP(WMI_REQUEST_LINK_STATS_CMDID) \
OP(WMI_START_LINK_STATS_CMDID) \
OP(WMI_CLEAR_LINK_STATS_CMDID) \
@@ -685,7 +686,8 @@ typedef enum {
OP(WMI_ROAM_SYNCH_COMPLETE) \
OP(WMI_EXTWOW_ENABLE_CMDID) \
OP(WMI_EXTWOW_SET_APP_TYPE1_PARAMS_CMDID) \
- OP(WMI_EXTWOW_SET_APP_TYPE2_PARAMS_CMDID)
+ OP(WMI_EXTWOW_SET_APP_TYPE2_PARAMS_CMDID) \
+ OP(WMI_ROAM_SET_RIC_REQUEST_CMDID)
/*
@@ -1433,6 +1435,12 @@ WMITLV_CREATE_PARAM_STRUC(WMI_ROAM_AP_PROFILE);
WMITLV_CREATE_PARAM_STRUC(WMI_ROAM_SYNCH_COMPLETE)
+#define WMITLV_TABLE_WMI_ROAM_SET_RIC_REQUEST_CMDID(id,op,buf,len) \
+ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_ric_request_fixed_param, wmi_ric_request_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
+ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_ric_tspec, ric_tspec_list, WMITLV_SIZE_VAR)
+
+WMITLV_CREATE_PARAM_STRUC(WMI_ROAM_SET_RIC_REQUEST_CMDID);
+
/* Scan scheduler priority Table Cmd */
#define WMITLV_TABLE_WMI_SCAN_SCH_PRIO_TBL_CMDID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_scan_sch_priority_table_cmd_fixed_param, wmi_scan_sch_priority_table_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
@@ -1476,32 +1484,32 @@ WMITLV_CREATE_PARAM_STRUC(WMI_DFS_PHYERR_FILTER_DIS_CMDID);
WMITLV_CREATE_PARAM_STRUC(WMI_WOW_ADD_WAKE_PATTERN_CMDID);
-/* Acer IOAC add keep alive cmd. */
-#define WMITLV_TABLE_WMI_WOW_ACER_IOAC_ADD_KEEPALIVE_CMDID(id,op,buf,len) \
+/* IOAC add keep alive cmd. */
+#define WMITLV_TABLE_WMI_WOW_IOAC_ADD_KEEPALIVE_CMDID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_WMI_WOW_IOAC_ADD_KEEPALIVE_CMD_fixed_param, WMI_WOW_IOAC_ADD_KEEPALIVE_CMD_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
- WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, WOW_IOAC_KEEPALIVE_T, keepalive_set, WMITLV_SIZE_VAR)
+ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, WMI_WOW_IOAC_KEEPALIVE_T, keepalive_set, WMITLV_SIZE_VAR)
-WMITLV_CREATE_PARAM_STRUC(WMI_WOW_ACER_IOAC_ADD_KEEPALIVE_CMDID);
+WMITLV_CREATE_PARAM_STRUC(WMI_WOW_IOAC_ADD_KEEPALIVE_CMDID);
-/* Acer IOAC del keep alive cmd. */
-#define WMITLV_TABLE_WMI_WOW_ACER_IOAC_DEL_KEEPALIVE_CMDID(id,op,buf,len) \
+/* IOAC del keep alive cmd. */
+#define WMITLV_TABLE_WMI_WOW_IOAC_DEL_KEEPALIVE_CMDID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_WMI_WOW_IOAC_DEL_KEEPALIVE_CMD_fixed_param, WMI_WOW_IOAC_DEL_KEEPALIVE_CMD_fixed_param, fixed_param, WMITLV_SIZE_FIX)
-WMITLV_CREATE_PARAM_STRUC(WMI_WOW_ACER_IOAC_DEL_KEEPALIVE_CMDID);
+WMITLV_CREATE_PARAM_STRUC(WMI_WOW_IOAC_DEL_KEEPALIVE_CMDID);
-/* WOW ACER IOAC Add Wake Pattern Cmd */
-#define WMITLV_TABLE_WMI_WOW_ACER_IOAC_ADD_WAKE_PATTERN_CMDID(id,op,buf,len) \
- WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_WMI_WOW_ACER_IOAC_ADD_PATTERN_CMD_fixed_param, WMI_WOW_ACER_IOAC_ADD_PATTERN_CMD_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
- WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, WOW_ACER_IOAC_PKT_PATTERN_T, pattern_info_acer_pkt, WMITLV_SIZE_VAR) \
- WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, WOW_ACER_IOAC_TMR_PATTERN_T, pattern_info_acer_tmr, WMITLV_SIZE_VAR)
+/* WOW IOAC Add Wake Pattern Cmd */
+#define WMITLV_TABLE_WMI_WOW_IOAC_ADD_WAKE_PATTERN_CMDID(id,op,buf,len) \
+ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_WMI_WOW_IOAC_ADD_PATTERN_CMD_fixed_param, WMI_WOW_IOAC_ADD_PATTERN_CMD_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
+ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, WOW_IOAC_PKT_PATTERN_T, pattern_info_pkt, WMITLV_SIZE_VAR) \
+ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, WOW_IOAC_TMR_PATTERN_T, pattern_info_tmr, WMITLV_SIZE_VAR)
-WMITLV_CREATE_PARAM_STRUC(WMI_WOW_ACER_IOAC_ADD_WAKE_PATTERN_CMDID);
+WMITLV_CREATE_PARAM_STRUC(WMI_WOW_IOAC_ADD_WAKE_PATTERN_CMDID);
-/* WOW ACER IOAC Delete Wake Pattern Cmd */
-#define WMITLV_TABLE_WMI_WOW_ACER_IOAC_DEL_WAKE_PATTERN_CMDID(id,op,buf,len) \
- WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_WMI_WOW_ACER_IOAC_DEL_PATTERN_CMD_fixed_param, WMI_WOW_ACER_IOAC_DEL_PATTERN_CMD_fixed_param, fixed_param, WMITLV_SIZE_FIX)
+/* WOW IOAC Delete Wake Pattern Cmd */
+#define WMITLV_TABLE_WMI_WOW_IOAC_DEL_WAKE_PATTERN_CMDID(id,op,buf,len) \
+ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_WMI_WOW_IOAC_DEL_PATTERN_CMD_fixed_param, WMI_WOW_IOAC_DEL_PATTERN_CMD_fixed_param, fixed_param, WMITLV_SIZE_FIX)
-WMITLV_CREATE_PARAM_STRUC(WMI_WOW_ACER_IOAC_DEL_WAKE_PATTERN_CMDID);
+WMITLV_CREATE_PARAM_STRUC(WMI_WOW_IOAC_DEL_WAKE_PATTERN_CMDID);
/* extwow enable Cmd */
#define WMITLV_TABLE_WMI_EXTWOW_ENABLE_CMDID(id,op,buf,len) \
diff --git a/CORE/SERVICES/COMMON/wmi_unified.h b/CORE/SERVICES/COMMON/wmi_unified.h
index 25451f75ac61..7402a59d40b2 100644
--- a/CORE/SERVICES/COMMON/wmi_unified.h
+++ b/CORE/SERVICES/COMMON/wmi_unified.h
@@ -366,6 +366,8 @@ typedef enum {
WMI_ROAM_SCAN_CMD,
/** roaming sme offload sync complete */
WMI_ROAM_SYNCH_COMPLETE,
+ /** set ric request element for 11r roaming */
+ WMI_ROAM_SET_RIC_REQUEST_CMDID,
/** offload scan specific commands */
/** set offload scan AP profile */
@@ -436,14 +438,14 @@ typedef enum {
WMI_WOW_ENABLE_CMDID,
/** host woke up from sleep event to FW. Generated in response to WOW Hardware event */
WMI_WOW_HOSTWAKEUP_FROM_SLEEP_CMDID,
- /* Acer IOAC add keep alive cmd. */
- WMI_WOW_ACER_IOAC_ADD_KEEPALIVE_CMDID,
- /* Acer IOAC del keep alive cmd. */
- WMI_WOW_ACER_IOAC_DEL_KEEPALIVE_CMDID,
- /* Acer IOAC add pattern for awake */
- WMI_WOW_ACER_IOAC_ADD_WAKE_PATTERN_CMDID,
- /* Acer IOAC deleta a wake pattern */
- WMI_WOW_ACER_IOAC_DEL_WAKE_PATTERN_CMDID,
+ /* IOAC add keep alive cmd. */
+ WMI_WOW_IOAC_ADD_KEEPALIVE_CMDID,
+ /* IOAC del keep alive cmd. */
+ WMI_WOW_IOAC_DEL_KEEPALIVE_CMDID,
+ /* IOAC add pattern for awake */
+ WMI_WOW_IOAC_ADD_WAKE_PATTERN_CMDID,
+ /* IOAC deleta a wake pattern */
+ WMI_WOW_IOAC_DEL_WAKE_PATTERN_CMDID,
/* D0-WOW enable or disable cmd */
WMI_D0_WOW_ENABLE_DISABLE_CMDID,
/* enable extend WoW */
@@ -2337,6 +2339,8 @@ typedef enum {
WMI_PDEV_PARAM_AUDIO_OVER_WLAN_LATENCY,
/** set DIRECT AUDIO Feature ENABLE */
WMI_PDEV_PARAM_AUDIO_OVER_WLAN_ENABLE,
+ /** pdev level whal mib stats update enable */
+ WMI_PDEV_PARAM_WHAL_MIB_STATS_UPDATE_ENABLE,
/** ht/vht info based on vdev */
WMI_PDEV_PARAM_VDEV_RATE_STATS_UPDATE_PERIOD,
} WMI_PDEV_PARAM;
@@ -5056,6 +5060,7 @@ typedef struct {
A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_roam_11i_offload_fixed_param */
A_UINT32 flags; /** flags. see WMI_ROAM_OFFLOAD_FLAG_ above */
A_UINT32 pmk[ROAM_OFFLOAD_PMK_BYTES>>2]; /* pmk offload. As this 4 byte aligned, we don't declare it as tlv array */
+ A_UINT32 pmk_len; /**the length of pmk. in normal case it should be 32, but for LEAP, is should be 16*/
} wmi_roam_11i_offload_tlv_param;
/* This TLV will be filled only in case of 11R*/
@@ -5066,6 +5071,7 @@ typedef struct {
A_UINT32 r0kh_id[ROAM_OFFLOAD_R0KH_ID_MAX_LEN>>2];
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*/
} wmi_roam_11r_offload_tlv_param;
/* This TLV will be filled only in case of ESE */
@@ -5102,6 +5108,39 @@ typedef struct {
triggered upon FINAL_BMISS **/
#define WMI_ROAM_REASON_HO_FAILED 0x5 /** LFR3.0 roaming failed, indicate the disconnection to host */
+/**whenever RIC request information change, host driver should pass all ric related information to firmware (now only support tsepc)
+* Once, 11r roaming happens, firmware can generate RIC request in reassoc request based on these informations
+*/
+typedef struct
+{
+ A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_ric_request_fixed_param */
+ A_UINT32 vdev_id; /**unique id identifying the VDEV, generated by the caller*/
+ A_UINT32 num_ric_request; /**number of ric request ie send to firmware.(max value is 2 now)*/
+}wmi_ric_request_fixed_param;
+
+/**tspec element: refer to 8.4.2.32 of 802.11 2012 spec
+* these elements are used to construct tspec field in RIC request, which allow station to require specific TS when 11r roaming
+*/
+typedef struct{
+ A_UINT32 tlv_header;
+ A_UINT32 ts_info; /** bits value of TS Info field.*/
+ A_UINT32 nominal_msdu_size; /**Nominal MSDU Size field*/
+ A_UINT32 maximum_msdu_size; /**The Maximum MSDU Size field*/
+ A_UINT32 min_service_interval; /**The Minimum Service Interval field*/
+ A_UINT32 max_service_interval; /**The Maximum Service Interval field*/
+ A_UINT32 inactivity_interval; /**The Inactivity Interval field*/
+ A_UINT32 suspension_interval; /**The Suspension Interval field*/
+ A_UINT32 svc_start_time; /**The Service Start Time field*/
+ A_UINT32 min_data_rate; /**The Minimum Data Rate field*/
+ A_UINT32 mean_data_rate; /**The Mean Data Rate field*/
+ A_UINT32 peak_data_rate; /**The Peak Data Rate field*/
+ A_UINT32 max_burst_size; /**The Burst Size field*/
+ A_UINT32 delay_bound; /**The Delay Bound field*/
+ A_UINT32 min_phy_rate; /**The Minimum PHY Rate field*/
+ A_UINT32 surplus_bw_allowance; /**The Surplus Bandwidth Allowance field*/
+ A_UINT32 medium_time; /**The Medium Time field,in units of 32 us/s.*/
+} wmi_ric_tspec;
+
/** WMI_PROFILE_MATCH_EVENT: offload scan
* generated when ever atleast one of the matching profiles is found
* in recent NLO scan. no data is carried with the event.
@@ -5329,16 +5368,16 @@ when comparing wifi header.*/
#define WOW_DEFAULT_BITMASK_SIZE_DWORD 37
#define WOW_MAX_BITMAP_FILTERS 32
#define WOW_DEFAULT_MAGIG_PATTERN_MATCH_CNT 16
-#define WOW_ACER_EXTEND_PATTERN_MATCH_CNT 16
-#define WOW_ACER_SHORT_PATTERN_MATCH_CNT 8
+#define WOW_EXTEND_PATTERN_MATCH_CNT 16
+#define WOW_SHORT_PATTERN_MATCH_CNT 8
#define WOW_DEFAULT_EVT_BUF_SIZE 148 /* Maximum 148 bytes of the data is copied starting from header incase if the match is found.
The 148 comes from (128 - 14 ) payload size + 8bytes LLC + 26bytes MAC header*/
-#define WOW_DEFAULT_ACER_IOAC_PATTERN_SIZE 6
-#define WOW_DEFAULT_ACER_IOAC_PATTERN_SIZE_DWORD 2
-#define WOW_DEFAULT_ACER_IOAC_RANDOM_SIZE 6
-#define WOW_DEFAULT_ACER_IOAC_RANDOM_SIZE_DWORD 2
-#define WOW_DEFAULT_ACER_IOAC_KEEP_ALIVE_PKT_SIZE 120
-#define WOW_DEFAULT_ACER_IOAC_KEEP_ALIVE_PKT_SIZE_DWORD 30
+#define WOW_DEFAULT_IOAC_PATTERN_SIZE 6
+#define WOW_DEFAULT_IOAC_PATTERN_SIZE_DWORD 2
+#define WOW_DEFAULT_IOAC_RANDOM_SIZE 6
+#define WOW_DEFAULT_IOAC_RANDOM_SIZE_DWORD 2
+#define WOW_DEFAULT_IOAC_KEEP_ALIVE_PKT_SIZE 120
+#define WOW_DEFAULT_IOAC_KEEP_ALIVE_PKT_SIZE_DWORD 30
typedef enum pattern_type_e {
WOW_PATTERN_MIN = 0,
@@ -5349,8 +5388,8 @@ typedef enum pattern_type_e {
WOW_TIMER_PATTERN,
WOW_MAGIC_PATTERN,
WOW_IPV6_RA_PATTERN,
- WOW_ACER_IOAC_PKT_PATTERN,
- WOW_ACER_IOAC_TMR_PATTERN,
+ WOW_IOAC_PKT_PATTERN,
+ WOW_IOAC_TMR_PATTERN,
WOW_PATTERN_MAX
}WOW_PATTERN_TYPE;
@@ -5372,10 +5411,10 @@ typedef enum event_type_e {
WOW_HTT_EVENT,
WOW_RA_MATCH_EVENT,
WOW_HOST_AUTO_SHUTDOWN_EVENT,
- WOW_ACER_IOAC_MAGIC_EVENT,
- WOW_ACER_IOAC_SHORT_EVENT,
- WOW_ACER_IOAC_EXTEND_EVENT,
- WOW_ACER_IOAC_TIMER_EVENT,
+ WOW_IOAC_MAGIC_EVENT,
+ WOW_IOAC_SHORT_EVENT,
+ WOW_IOAC_EXTEND_EVENT,
+ WOW_IOAC_TIMER_EVENT,
WOW_DFS_PHYERR_RADAR_EVENT,
WOW_BEACON_EVENT,
}WOW_WAKE_EVENT_TYPE;
@@ -5402,10 +5441,10 @@ typedef enum wake_reason_e {
WOW_REASON_HTT_EVENT,
WOW_REASON_RA_MATCH,
WOW_REASON_HOST_AUTO_SHUTDOWN,
- WOW_REASON_ACER_IOAC_MAGIC_EVENT,
- WOW_REASON_ACER_IOAC_SHORT_EVENT,
- WOW_REASON_ACER_IOAC_EXTEND_EVENT,
- WOW_REASON_ACER_IOAC_TIMER_EVENT,
+ WOW_REASON_IOAC_MAGIC_EVENT,
+ WOW_REASON_IOAC_SHORT_EVENT,
+ WOW_REASON_IOAC_EXTEND_EVENT,
+ WOW_REASON_IOAC_TIMER_EVENT,
WOW_REASON_ROAM_HO,
WOW_REASON_DFS_PHYERR_RADADR_EVENT,
WOW_REASON_BEACON_RECV,
@@ -5461,20 +5500,20 @@ typedef enum wow_ioac_pattern_type {
WOW_IOAC_EXTEND_PATTERN,
} WOW_IOAC_PATTERN_TYPE;
-typedef struct acer_ioac_pkt_pattern_s {
- A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_WOW_ACER_IOAC_PKT_PATTERN_T */
+typedef struct ioac_pkt_pattern_s {
+ A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_WOW_IOAC_PKT_PATTERN_T */
A_UINT32 pattern_type;
- A_UINT32 pattern[WOW_DEFAULT_ACER_IOAC_PATTERN_SIZE_DWORD];
- A_UINT32 random[WOW_DEFAULT_ACER_IOAC_RANDOM_SIZE_DWORD];
+ A_UINT32 pattern[WOW_DEFAULT_IOAC_PATTERN_SIZE_DWORD];
+ A_UINT32 random[WOW_DEFAULT_IOAC_RANDOM_SIZE_DWORD];
A_UINT32 pattern_len;
A_UINT32 random_len;
-} WOW_ACER_IOAC_PKT_PATTERN_T;
+} WOW_IOAC_PKT_PATTERN_T;
-typedef struct acer_ioac_tmr_pattern_s {
- A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_WOW_ACER_IOAC_TMR_PATTERN_T */
+typedef struct ioac_tmr_pattern_s {
+ A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_WOW_IOAC_TMR_PATTERN_T */
A_UINT32 wake_in_s;
A_UINT32 vdev_id;
-} WOW_ACER_IOAC_TMR_PATTERN_T;
+} WOW_IOAC_TMR_PATTERN_T;
typedef struct {
A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_WMI_WOW_IOAC_ADD_KEEPALIVE_CMD_fixed_param */
@@ -5486,32 +5525,32 @@ typedef struct {
A_UINT32 nID;
} WMI_WOW_IOAC_DEL_KEEPALIVE_CMD_fixed_param;
-typedef struct acer_ioac_keepalive_s {
- A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_WOW_IOAC_KEEPALIVE_T */
- A_UINT32 keepalive_pkt_buf[WOW_DEFAULT_ACER_IOAC_KEEP_ALIVE_PKT_SIZE_DWORD];
+typedef struct ioac_keepalive_s {
+ A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_WMI_WOW_IOAC_KEEPALIVE_T */
+ A_UINT32 keepalive_pkt_buf[WOW_DEFAULT_IOAC_KEEP_ALIVE_PKT_SIZE_DWORD];
A_UINT32 keepalive_pkt_len;
A_UINT32 period_in_ms;
A_UINT32 vdev_id;
-} WOW_IOAC_KEEPALIVE_T;
+} WMI_WOW_IOAC_KEEPALIVE_T;
typedef struct {
- A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_WMI_WOW_ACER_IOAC_ADD_PATTERN_CMD_fixed_param */
+ A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_WMI_WOW_IOAC_ADD_PATTERN_CMD_fixed_param */
A_UINT32 vdev_id;
A_UINT32 pattern_type;
/*
* Following this struct are these TLVs. Note that they are all array of structures
* but can have at most one element. Which TLV is empty or has one element depends
* on the field pattern_type. This is to emulate an union.
- * WOW_ACER_IOAC_PKT_PATTERN_T pattern_info_acer_pkt[];
- * WOW_ACER_IOAC_TMR_PATTERN_T pattern_info_acer_tmr[];
+ * WOW_IOAC_PKT_PATTERN_T pattern_info_pkt[];
+ * WOW_IOAC_TMR_PATTERN_T pattern_info_tmr[];
*/
-} WMI_WOW_ACER_IOAC_ADD_PATTERN_CMD_fixed_param;
+} WMI_WOW_IOAC_ADD_PATTERN_CMD_fixed_param;
typedef struct {
- A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_WMI_WOW_ACER_IOAC_DEL_PATTERN_CMD_fixed_param */
+ A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_WMI_WOW_IOAC_DEL_PATTERN_CMD_fixed_param */
A_UINT32 vdev_id;
A_UINT32 pattern_type;
-} WMI_WOW_ACER_IOAC_DEL_PATTERN_CMD_fixed_param;
+} WMI_WOW_IOAC_DEL_PATTERN_CMD_fixed_param;
typedef struct {
A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_WMI_WOW_ADD_PATTERN_CMD_fixed_param */
@@ -5940,14 +5979,23 @@ typedef enum _WMI_NLO_CIPHER_ALGORITHM {
WMI_NLO_CIPHER_ALGO_WEP = 0x101,
} WMI_NLO_CIPHER_ALGORITHM;
+/* SSID broadcast type passed in NLO params */
+typedef enum _WMI_NLO_SSID_BcastNwType
+{
+ WMI_NLO_BCAST_UNKNOWN = 0,
+ WMI_NLO_BCAST_NORMAL = 1,
+ WMI_NLO_BCAST_HIDDEN = 2,
+} WMI_NLO_SSID_BcastNwType;
+
#define WMI_NLO_MAX_SSIDS 16
#define WMI_NLO_MAX_CHAN 48
-#define WMI_NLO_CONFIG_STOP (0x1 << 0)
-#define WMI_NLO_CONFIG_START (0x1 << 1)
-#define WMI_NLO_CONFIG_RESET (0x1 << 2)
-#define WMI_NLO_CONFIG_SLOW_SCAN (0x1 << 4)
-#define WMI_NLO_CONFIG_FAST_SCAN (0x1 << 5)
+#define WMI_NLO_CONFIG_STOP (0x1 << 0)
+#define WMI_NLO_CONFIG_START (0x1 << 1)
+#define WMI_NLO_CONFIG_RESET (0x1 << 2)
+#define WMI_NLO_CONFIG_SLOW_SCAN (0x1 << 4)
+#define WMI_NLO_CONFIG_FAST_SCAN (0x1 << 5)
+#define WMI_NLO_CONFIG_SSID_HIDE_EN (0x1 << 6)
/* NOTE: wmi_nlo_ssid_param structure can't be changed without breaking the compatibility */
typedef struct wmi_nlo_ssid_param
@@ -5969,6 +6017,14 @@ typedef struct wmi_nlo_auth_param
A_UINT32 valid;
A_UINT32 auth_type;
} wmi_nlo_auth_param;
+
+/* NOTE: wmi_nlo_bcast_nw_param structure can't be changed without breaking the compatibility */
+typedef struct wmi_nlo_bcast_nw_param
+{
+ A_UINT32 valid;
+ A_UINT32 bcast_nw_type;
+} wmi_nlo_bcast_nw_param;
+
/* NOTE: wmi_nlo_rssi_param structure can't be changed without breaking the compatibility */
typedef struct wmi_nlo_rssi_param
{
@@ -5982,6 +6038,7 @@ typedef struct nlo_configured_parameters {
wmi_nlo_enc_param enc_type;
wmi_nlo_auth_param auth_type;
wmi_nlo_rssi_param rssi_cond;
+ wmi_nlo_bcast_nw_param bcast_nw_type; /* indicates if the SSID is hidden or not */
} nlo_configured_parameters;
typedef struct wmi_nlo_config {
diff --git a/CORE/SERVICES/COMMON/wmi_version.h b/CORE/SERVICES/COMMON/wmi_version.h
index 831895f0bc6a..e3330ce69eb8 100644
--- a/CORE/SERVICES/COMMON/wmi_version.h
+++ b/CORE/SERVICES/COMMON/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_ 60
+#define __WMI_REVISION_ 61
/** The Version Namespace should not be normally changed. Only
* host and firmware of the same WMI namespace will work
diff --git a/CORE/SERVICES/WMI/wmi_unified.c b/CORE/SERVICES/WMI/wmi_unified.c
index 42aee5b6d316..bf6e80d1cb7b 100644
--- a/CORE/SERVICES/WMI/wmi_unified.c
+++ b/CORE/SERVICES/WMI/wmi_unified.c
@@ -558,10 +558,10 @@ static u_int8_t* get_wmi_cmd_string(WMI_CMD_ID wmi_command)
CASE_RETURN_STRING(WMI_PDEV_SET_LED_CONFIG_CMDID);
CASE_RETURN_STRING(WMI_HOST_AUTO_SHUTDOWN_CFG_CMDID);
CASE_RETURN_STRING(WMI_CHAN_AVOID_UPDATE_CMDID);
- CASE_RETURN_STRING(WMI_WOW_ACER_IOAC_ADD_KEEPALIVE_CMDID);
- CASE_RETURN_STRING(WMI_WOW_ACER_IOAC_DEL_KEEPALIVE_CMDID);
- CASE_RETURN_STRING(WMI_WOW_ACER_IOAC_ADD_WAKE_PATTERN_CMDID);
- CASE_RETURN_STRING(WMI_WOW_ACER_IOAC_DEL_WAKE_PATTERN_CMDID);
+ CASE_RETURN_STRING(WMI_WOW_IOAC_ADD_KEEPALIVE_CMDID);
+ CASE_RETURN_STRING(WMI_WOW_IOAC_DEL_KEEPALIVE_CMDID);
+ CASE_RETURN_STRING(WMI_WOW_IOAC_ADD_WAKE_PATTERN_CMDID);
+ CASE_RETURN_STRING(WMI_WOW_IOAC_DEL_WAKE_PATTERN_CMDID);
CASE_RETURN_STRING(WMI_REQUEST_LINK_STATS_CMDID);
CASE_RETURN_STRING(WMI_START_LINK_STATS_CMDID);
CASE_RETURN_STRING(WMI_CLEAR_LINK_STATS_CMDID);
@@ -582,6 +582,7 @@ static u_int8_t* get_wmi_cmd_string(WMI_CMD_ID wmi_command)
CASE_RETURN_STRING(WMI_EXTWOW_SET_APP_TYPE1_PARAMS_CMDID);
CASE_RETURN_STRING(WMI_EXTWOW_SET_APP_TYPE2_PARAMS_CMDID);
CASE_RETURN_STRING(WMI_UNIT_TEST_CMDID);
+ CASE_RETURN_STRING(WMI_ROAM_SET_RIC_REQUEST_CMDID);
}
return "Invalid WMI cmd";
}