diff options
| author | Krishna Kumaar Natarajan <kknatara@qca.qualcomm.com> | 2014-08-19 12:17:59 -0700 |
|---|---|---|
| committer | Akash Patel <c_akashp@qca.qualcomm.com> | 2014-08-20 18:39:57 -0700 |
| commit | 5e9ba31f40bdb085b67877fbf083c5eea434b4db (patch) | |
| tree | 6eb02e4a591cab9fcd2227007ab2077dc790aae7 | |
| parent | f6a6cdf7de8d198d0a7485b83357ca5d687d2712 (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.h | 62 | ||||
| -rw-r--r-- | CORE/SERVICES/COMMON/wmi_unified.h | 155 | ||||
| -rw-r--r-- | CORE/SERVICES/COMMON/wmi_version.h | 2 | ||||
| -rw-r--r-- | CORE/SERVICES/WMI/wmi_unified.c | 9 |
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"; } |
