blob: 3314d7affac97262ea8d65b0eb9def5ef77100af [file] [log] [blame]
Jeff Johnson295189b2012-06-20 16:38:30 -07001/*
Manjeet Singh3ed79242017-01-11 19:04:32 +05302 * Copyright (c) 2012-2013, 2016-2017 The Linux Foundation. All rights reserved.
Kiet Lam842dad02014-02-18 18:44:02 -08003 *
4 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
5 *
6 *
7 * Permission to use, copy, modify, and/or distribute this software for
8 * any purpose with or without fee is hereby granted, provided that the
9 * above copyright notice and this permission notice appear in all
10 * copies.
11 *
12 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
13 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
14 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
15 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
16 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
17 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
18 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19 * PERFORMANCE OF THIS SOFTWARE.
20 */
21
22/*
Kiet Lama7f454d2014-07-24 12:04:06 -070023 * This file was originally distributed by Qualcomm Atheros, Inc.
24 * under proprietary terms before Copyright ownership was assigned
25 * to the Linux Foundation.
Gopichand Nakkala92f07d82013-01-08 21:16:34 -080026 */
Kiet Lam842dad02014-02-18 18:44:02 -080027
28
Kiet Lama7f454d2014-07-24 12:04:06 -070029
30
Gopichand Nakkala92f07d82013-01-08 21:16:34 -080031/*
Jeff Johnson295189b2012-06-20 16:38:30 -070032 * This file wniApi.h contains message definitions exported by
33 * Sirius software modules.
34 * NOTE: See projects/sirius/include/sirApi.h for structure
35 * definitions of the host/FW messages.
36 *
37 * Author: Chandra Modumudi
38 * Date: 04/11/2002
39 * History:-
40 * Date Modified by Modification Information
41 * --------------------------------------------------------------------
42 */
43
44#ifndef __WNI_API_H
45#define __WNI_API_H
46
47// DPH return error codes
48#define ANI_DPH_SUCCESS 0
49
50#define ANI_DPH_RX_STA_INVALID 1
51
52#define ANI_DPH_DO_TKIP 2
53
54#define ANI_DPH_PORT_BLOCKED 3
55#define ANI_DPH_TX_PUSH_ERROR 10
56#define ANI_DPH_TX_MAC_HDR_ERROR 11
57#define ANI_DPH_TX_INVALID_PAYLOAD 12
58#define ANI_DPH_TX_STA_INVALID 13
59#define ANI_DPH_TX_HASH_MISS 14
60#define ANI_DPH_TX_UNINITIALIZED 15
61#define ANI_DPH_TX_RADIO_IN_DIAG_MODE 16
62#define ANI_DPH_WMM_DROP 17
63#define ANI_DPH_APSD_DROP 18
64#define ANI_DPH_UNKNOWN_STA 19
65
66/// HDD type for special handling of BDs in the TX pkts
67/// Used in the structure ani_mod_info_t->bd_spl_proc_type
68#define ANI_HDD_NO_SPL_PROC 0
69#define ANI_HDD_DUMMY_PKT_SPL_PROC 1
70#define ANI_HDD_PRE_DUMMY_PKT_SPL_PROC 2
71#define ANI_HDD_WNS_L2_UPDATE_SPL_PROC 3
72#define ANI_HDD_DUMMY_DATA 4
73#ifdef WMM_APSD
74#define ANI_HDD_EOSP_PKT 5
75#endif
76
77/// Message offset for the cmd to enqueue a dummy pkt to HDD TD ring
78#define ANI_DUMMY_PKT_MSG_TYPE_OFFSET 0
79#define ANI_DUMMY_PKT_MSG_LEN_OFFSET 2
80#define ANI_DUMMY_PKT_MAC_ADDR_OFFSET 4
81#define ANI_DUMMY_PKT_STA_ID_OFFSET 10
82#define ANI_DUMMY_PKT_RT_FL_OFFSET 12
83#define ANI_DUMMY_PKT_MSG_LEN 16
84#define ANI_DUMMY_DATA_PAYLOAD_OFFSET 10
85
86/**
87 * Product IDs stored in the EEPROM for the different types of AP radio cards
88 * supported by Polaris
89 */
90#define AGN1323AR_00 4
91#define AGN1323AR_01 5
92#define AGN1223AR_00 6
93#define AGN1223AR_01 7
94#define AGN1223AR_02 8
95#define AGN_EEP_PRODUCT_ID_MAX 8
96
Konamki, Sreelakshmi824f93e2015-07-31 12:55:48 +053097#define SIR_SME_MODULE_ID 0x16
Jeff Johnson295189b2012-06-20 16:38:30 -070098
99/// Start of Sirius/Host message types
Leela Venkata Kiran Kumar Reddy Chirala45f184c2014-02-14 15:08:21 -0800100#define WNI_HOST_MSG_START 0x1500
Jeff Johnson295189b2012-06-20 16:38:30 -0700101
102enum eWniMsgTypes
103{
104 /// CFG message types
105 eWNI_CFG_MSG_TYPES_BEGIN=WNI_HOST_MSG_START,
106 eWNI_CFG_MSG_TYPES_END=eWNI_CFG_MSG_TYPES_BEGIN+0xFF,
107
108 /// SME message types
109 eWNI_SME_MSG_TYPES_BEGIN=eWNI_CFG_MSG_TYPES_END,
110 eWNI_SME_START_REQ,
111 eWNI_SME_START_RSP,
112 eWNI_SME_SYS_READY_IND,
113 eWNI_SME_SCAN_REQ,
114 eWNI_SME_SCAN_ABORT_IND,
115 eWNI_SME_SCAN_RSP,
Jeff Johnsone7245742012-09-05 17:12:55 -0700116#ifdef FEATURE_OEM_DATA_SUPPORT
117 eWNI_SME_OEM_DATA_REQ,
118 eWNI_SME_OEM_DATA_RSP,
119#endif
Jeff Johnson295189b2012-06-20 16:38:30 -0700120 eWNI_SME_JOIN_REQ,
121 eWNI_SME_JOIN_RSP,
122 eWNI_SME_SETCONTEXT_REQ,
123 eWNI_SME_SETCONTEXT_RSP,
124 eWNI_SME_REASSOC_REQ,
125 eWNI_SME_REASSOC_RSP,
126 eWNI_SME_AUTH_REQ,
127 eWNI_SME_AUTH_RSP,
128 eWNI_SME_DISASSOC_REQ,
129 eWNI_SME_DISASSOC_RSP,
130 eWNI_SME_DISASSOC_IND,
131 eWNI_SME_DISASSOC_CNF,
132 eWNI_SME_DEAUTH_REQ,
133 eWNI_SME_DEAUTH_RSP,
134 eWNI_SME_DEAUTH_IND,
Hanumantha Reddy Pothula1b6eb2f2015-11-30 20:50:23 +0530135 eWNI_SME_DISCONNECT_DONE_IND,
Jeff Johnson295189b2012-06-20 16:38:30 -0700136 eWNI_SME_WM_STATUS_CHANGE_NTF,
137 eWNI_SME_IBSS_NEW_PEER_IND,
138 eWNI_SME_IBSS_PEER_DEPARTED_IND,
139 eWNI_SME_START_BSS_REQ,
140 eWNI_SME_START_BSS_RSP,
141 eWNI_SME_AUTH_IND,
142 eWNI_SME_ASSOC_IND,
143 eWNI_SME_ASSOC_CNF,
144 eWNI_SME_REASSOC_IND,
145 eWNI_SME_REASSOC_CNF,
146 eWNI_SME_SWITCH_CHL_REQ,
147 eWNI_SME_SWITCH_CHL_RSP,
148 eWNI_SME_STOP_BSS_REQ,
149 eWNI_SME_STOP_BSS_RSP,
150 eWNI_SME_DEL_BA_PEER_IND,
Jeff Johnson295189b2012-06-20 16:38:30 -0700151 eWNI_SME_DEFINE_QOS_REQ,
152 eWNI_SME_DEFINE_QOS_RSP,
153 eWNI_SME_DELETE_QOS_REQ,
154 eWNI_SME_DELETE_QOS_RSP,
Jeff Johnson295189b2012-06-20 16:38:30 -0700155 eWNI_SME_PROMISCUOUS_MODE_REQ,
156 eWNI_SME_PROMISCUOUS_MODE_RSP,
Jeff Johnson295189b2012-06-20 16:38:30 -0700157 eWNI_SME_LINK_TEST_START_REQ,
158 eWNI_SME_LINK_TEST_START_RSP,
159 eWNI_SME_LINK_TEST_STOP_REQ,
160 eWNI_SME_LINK_TEST_STOP_RSP,
161 eWNI_SME_LINK_TEST_REPORT_IND,
Jeff Johnson295189b2012-06-20 16:38:30 -0700162 eWNI_SME_NEIGHBOR_BSS_IND,
163 eWNI_SME_MEASUREMENT_REQ,
164 eWNI_SME_MEASUREMENT_RSP,
165 eWNI_SME_MEASUREMENT_IND,
166 eWNI_SME_SET_WDS_INFO_REQ,
167 eWNI_SME_SET_WDS_INFO_RSP,
168 eWNI_SME_WDS_INFO_IND,
Jeff Johnson295189b2012-06-20 16:38:30 -0700169 eWNI_SME_SET_POWER_REQ,
170 eWNI_SME_SET_POWER_RSP,
171 eWNI_SME_CLIENT_SIDE_LOAD_BALANCE_REQ,
172 eWNI_SME_CLIENT_SIDE_LOAD_BALANCE_RSP,
173 eWNI_SME_SELECT_CHANNEL_REQ,
174 eWNI_SME_SELECT_CHANNEL_RSP,
175 eWNI_SME_SET_PROPRIETARY_IE_REQ,
176 eWNI_SME_SET_PROPRIETARY_IE_RSP, // #endif
177 eWNI_SME_DISCARD_SKB_NTF, // Used to cleanup SKBs by HDD
Jeff Johnson295189b2012-06-20 16:38:30 -0700178 eWNI_SME_DEAUTH_CNF,
179 eWNI_SME_MIC_FAILURE_IND,
180 eWNI_SME_ADDTS_REQ,
181 eWNI_SME_ADDTS_RSP,
182 eWNI_SME_ADDTS_CNF,
183 eWNI_SME_ADDTS_IND,
184 eWNI_SME_DELTS_REQ,
185 eWNI_SME_DELTS_RSP,
186 eWNI_SME_DELTS_IND,
187 eWNI_SME_SET_BACKGROUND_SCAN_MODE_REQ,
188 eWNI_SME_SWITCH_CHL_CB_PRIMARY_REQ,
189 eWNI_SME_SWITCH_CHL_CB_PRIMARY_RSP,
190 eWNI_SME_SWITCH_CHL_CB_SECONDARY_REQ,
191 eWNI_SME_SWITCH_CHL_CB_SECONDARY_RSP,
192 eWNI_SME_PROBE_REQ,
193 eWNI_SME_STA_STAT_REQ,
194 eWNI_SME_STA_STAT_RSP,
195 eWNI_SME_AGGR_STAT_REQ,
196 eWNI_SME_AGGR_STAT_RSP,
197 eWNI_SME_GLOBAL_STAT_REQ,
198 eWNI_SME_GLOBAL_STAT_RSP,
199 eWNI_SME_STAT_SUMM_REQ,
200 eWNI_SME_STAT_SUMM_RSP,
201 eWNI_SME_REMOVEKEY_REQ,
202 eWNI_SME_REMOVEKEY_RSP,
203 eWNI_SME_GET_SCANNED_CHANNEL_REQ,
204 eWNI_SME_GET_SCANNED_CHANNEL_RSP,
205 eWNI_SME_SET_TX_POWER_REQ,
206 eWNI_SME_SET_TX_POWER_RSP,
207 eWNI_SME_GET_TX_POWER_REQ,
208 eWNI_SME_GET_TX_POWER_RSP,
209 eWNI_SME_GET_NOISE_REQ,
210 eWNI_SME_GET_NOISE_RSP,
211 eWNI_SME_LOW_RSSI_IND,
212 eWNI_SME_GET_STATISTICS_REQ,
213 eWNI_SME_GET_STATISTICS_RSP,
214 eWNI_SME_GET_RSSI_REQ,
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -0800215 eWNI_SME_GET_ROAM_RSSI_REQ,
216 eWNI_SME_GET_ROAM_RSSI_RSP,
Jeff Johnson295189b2012-06-20 16:38:30 -0700217 eWNI_SME_GET_ASSOC_STAS_REQ,
218 eWNI_SME_TKIP_CNTR_MEAS_REQ,
219 eWNI_SME_UPDATE_APWPSIE_REQ,
220 eWNI_SME_GET_WPSPBC_SESSION_REQ,
221 eWNI_SME_WPS_PBC_PROBE_REQ_IND,
222 eWNI_SME_SET_APWPARSNIEs_REQ,
223 eWNI_SME_UPPER_LAYER_ASSOC_CNF,
224 eWNI_SME_HIDE_SSID_REQ,
Madan Mohan Koyyalamudi167b95e2012-11-27 15:53:38 -0800225 eWNI_SME_CHNG_MCC_BEACON_INTERVAL,
Jeff Johnson295189b2012-06-20 16:38:30 -0700226 eWNI_SME_REMAIN_ON_CHANNEL_REQ,
227 eWNI_SME_REMAIN_ON_CHN_IND,
228 eWNI_SME_REMAIN_ON_CHN_RSP,
Jeff Johnson295189b2012-06-20 16:38:30 -0700229 eWNI_SME_REMAIN_ON_CHN_RDY_IND,
230 eWNI_SME_SEND_ACTION_FRAME_IND,
231 eWNI_SME_ACTION_FRAME_SEND_CNF,
232 eWNI_SME_ABORT_REMAIN_ON_CHAN_IND,
233 eWNI_SME_UPDATE_NOA,
Gopichand Nakkalac178ac82013-05-30 19:53:39 +0530234 eWNI_SME_CLEAR_DFS_CHANNEL_LIST,
Jeff Johnson295189b2012-06-20 16:38:30 -0700235 eWNI_SME_PRE_CHANNEL_SWITCH_FULL_POWER,
Madan Mohan Koyyalamudid9383fd2013-08-13 09:27:30 +0530236 eWNI_SME_GET_SNR_REQ,
Sachin Ahuja3d47fcd2015-08-28 16:02:06 +0530237 eWNI_SME_LOST_LINK_PARAMS_IND,
Jeff Johnson295189b2012-06-20 16:38:30 -0700238 //General Power Save Messages
239 eWNI_PMC_MSG_TYPES_BEGIN,
240 eWNI_PMC_PWR_SAVE_CFG,
241
242 //BMPS Messages
243 eWNI_PMC_ENTER_BMPS_REQ,
244 eWNI_PMC_ENTER_BMPS_RSP,
245 eWNI_PMC_EXIT_BMPS_REQ,
246 eWNI_PMC_EXIT_BMPS_RSP,
247 eWNI_PMC_EXIT_BMPS_IND,
248
249 //IMPS Messages.
250 eWNI_PMC_ENTER_IMPS_REQ,
251 eWNI_PMC_ENTER_IMPS_RSP,
252 eWNI_PMC_EXIT_IMPS_REQ,
253 eWNI_PMC_EXIT_IMPS_RSP,
254
255 //UAPSD Messages
256 eWNI_PMC_ENTER_UAPSD_REQ,
257 eWNI_PMC_ENTER_UAPSD_RSP,
258 eWNI_PMC_EXIT_UAPSD_REQ,
259 eWNI_PMC_EXIT_UAPSD_RSP,
260
261 //WOWL Messages
262 eWNI_PMC_SMPS_STATE_IND,
263
264 //WoWLAN Messages
265 eWNI_PMC_WOWL_ADD_BCAST_PTRN,
266 eWNI_PMC_WOWL_DEL_BCAST_PTRN,
267 eWNI_PMC_ENTER_WOWL_REQ,
268 eWNI_PMC_ENTER_WOWL_RSP,
269 eWNI_PMC_EXIT_WOWL_REQ,
270 eWNI_PMC_EXIT_WOWL_RSP,
271
272#ifdef WLAN_FEATURE_PACKET_FILTERING
273 eWNI_PMC_PACKET_COALESCING_FILTER_MATCH_COUNT_RSP,
274#endif // WLAN_FEATURE_PACKET_FILTERING
275
Jeff Johnson295189b2012-06-20 16:38:30 -0700276#if defined WLAN_FEATURE_VOWIFI
277 eWNI_SME_RRM_MSG_TYPE_BEGIN,
278
279 eWNI_SME_NEIGHBOR_REPORT_REQ_IND,
280 eWNI_SME_NEIGHBOR_REPORT_IND,
281 eWNI_SME_BEACON_REPORT_REQ_IND,
282 eWNI_SME_BEACON_REPORT_RESP_XMIT_IND,
283
Jeff Johnson295189b2012-06-20 16:38:30 -0700284#endif
285 eWNI_SME_ADD_STA_SELF_REQ,
286 eWNI_SME_ADD_STA_SELF_RSP,
287 eWNI_SME_DEL_STA_SELF_REQ,
288 eWNI_SME_DEL_STA_SELF_RSP,
289
290#if defined WLAN_FEATURE_VOWIFI_11R
291 eWNI_SME_FT_PRE_AUTH_REQ,
292 eWNI_SME_FT_PRE_AUTH_RSP,
293 eWNI_SME_FT_UPDATE_KEY,
294 eWNI_SME_FT_AGGR_QOS_REQ,
295 eWNI_SME_FT_AGGR_QOS_RSP,
296#endif
297
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -0800298#if defined FEATURE_WLAN_ESE
299 eWNI_SME_ESE_ADJACENT_AP_REPORT,
Jeff Johnson295189b2012-06-20 16:38:30 -0700300#endif
301
Jeff Johnson295189b2012-06-20 16:38:30 -0700302 eWNI_SME_REGISTER_MGMT_FRAME_REQ,
Jeff Johnson295189b2012-06-20 16:38:30 -0700303
304 eWNI_SME_COEX_IND,
305
306#ifdef FEATURE_WLAN_SCAN_PNO
307 eWNI_SME_PREF_NETWORK_FOUND_IND,
308#endif // FEATURE_WLAN_SCAN_PNO
309
310 eWNI_SME_TX_PER_HIT_IND,
311
312 eWNI_SME_CHANGE_COUNTRY_CODE,
Amar Singhal0d15bd52013-10-12 23:13:13 -0700313 eWNI_SME_GENERIC_CHANGE_COUNTRY_CODE,
Jeff Johnson295189b2012-06-20 16:38:30 -0700314 eWNI_SME_PRE_SWITCH_CHL_IND,
315 eWNI_SME_POST_SWITCH_CHL_IND,
316
317 eWNI_SME_MAX_ASSOC_EXCEEDED,
318
319 eWNI_SME_BTAMP_LOG_LINK_IND,//to serialize the create/accpet LL req from HCI
320
Jeff Johnson295189b2012-06-20 16:38:30 -0700321
322#ifdef WLAN_WAKEUP_EVENTS
323 eWNI_SME_WAKE_REASON_IND,
324#endif // WLAN_WAKEUP_EVENTS
Jeff Johnsone7245742012-09-05 17:12:55 -0700325 eWNI_SME_EXCLUDE_UNENCRYPTED,
326 eWNI_SME_RSSI_IND, //RSSI indication from TL to be serialized on MC thread
Mohit Khanna698ba2a2012-12-04 15:08:18 -0800327#ifdef FEATURE_WLAN_TDLS
328 eWNI_SME_TDLS_SEND_MGMT_REQ,
329 eWNI_SME_TDLS_SEND_MGMT_RSP,
330 eWNI_SME_TDLS_ADD_STA_REQ,
331 eWNI_SME_TDLS_ADD_STA_RSP,
332 eWNI_SME_TDLS_DEL_STA_REQ,
Hoonki Leee6bfe942013-02-05 15:01:19 -0800333 eWNI_SME_TDLS_DEL_STA_RSP,
334 eWNI_SME_TDLS_DEL_STA_IND,
Gopichand Nakkala2a0a1572013-02-10 21:39:16 -0800335 eWNI_SME_TDLS_DEL_ALL_PEER_IND,
Gopichand Nakkalab977a972013-02-18 19:15:09 -0800336 eWNI_SME_MGMT_FRM_TX_COMPLETION_IND,
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530337 eWNI_SME_TDLS_LINK_ESTABLISH_REQ,
338 eWNI_SME_TDLS_LINK_ESTABLISH_RSP,
Atul Mittalc0f739f2014-07-31 13:47:47 +0530339// tdlsoffchan
340 eWNI_SME_TDLS_CHANNEL_SWITCH_REQ,
Atul Mittal60bd4292014-08-14 12:19:27 +0530341 eWNI_SME_TDLS_CHANNEL_SWITCH_RSP,
Mohit Khanna698ba2a2012-12-04 15:08:18 -0800342#endif
343 //NOTE: If you are planning to add more mesages, please make sure that
344 //SIR_LIM_ITC_MSG_TYPES_BEGIN is moved appropriately. It is set as
345 //SIR_LIM_MSG_TYPES_BEGIN+0xB0 = 12B0 (which means max of 176 messages and
346 //eWNI_SME_TDLS_DEL_STA_RSP = 175.
347 //Should fix above issue to enable TDLS_INTERNAL
Yathish9f22e662012-12-10 14:21:35 -0800348 eWNI_SME_SET_BCN_FILTER_REQ,
Gopichand Nakkalacca24d12013-03-07 17:05:07 +0530349 eWNI_SME_RESET_AP_CAPS_CHANGED,
Chet Lanctot186b5732013-03-18 10:26:30 -0700350#ifdef WLAN_FEATURE_11W
351 eWNI_SME_UNPROT_MGMT_FRM_IND,
352#endif
Gopichand Nakkala870cbae2013-03-15 21:16:09 +0530353#ifdef WLAN_FEATURE_GTK_OFFLOAD
354 eWNI_PMC_GTK_OFFLOAD_GETINFO_RSP,
355#endif // WLAN_FEATURE_GTK_OFFLOAD
Varun Reddy Yeturucc661d22013-05-20 11:47:10 -0700356 eWNI_SME_CANDIDATE_FOUND_IND, /*ROAM candidate indication from FW*/
357 eWNI_SME_HANDOFF_REQ,/*upper layer requested handoff to driver in STA mode*/
358 eWNI_SME_ROAM_SCAN_OFFLOAD_RSP,/*Fwd the LFR scan offload rsp from FW to SME*/
Kapil Gupta04ab1992016-06-26 13:36:51 +0530359#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
360 eWNI_SME_ROAM_SCAN_TRIGGER_RSP,
361#endif
Leo Chang9056f462013-08-01 19:21:11 -0700362#ifdef FEATURE_WLAN_LPHB
Leo Changd9df8aa2013-09-26 13:32:26 -0700363 eWNI_SME_LPHB_IND,
Leo Chang9056f462013-08-01 19:21:11 -0700364#endif /* FEATURE_WLAN_LPHB */
Abhishek Singh00b71972016-01-07 10:51:04 +0530365#ifdef WLAN_FEATURE_RMC
366 eWNI_SME_ENABLE_RMC_REQ,
367 eWNI_SME_DISABLE_RMC_REQ,
368 eWNI_SME_IBSS_PEER_INFO_RSP,
369#endif /* WLAN_FEATURE_RMC */
Srinivas Girigowda5cecb202013-10-08 09:13:25 -0700370 eWNI_SME_GET_TSM_STATS_REQ,
371 eWNI_SME_GET_TSM_STATS_RSP,
372 eWNI_SME_TSM_IE_IND,
373
Leo Chang0b0e45a2013-12-15 15:18:55 -0800374#ifdef FEATURE_WLAN_CH_AVOID
375 eWNI_SME_CH_AVOID_IND,
376#endif /* FEATURE_WLAN_CH_AVOID */
Sandeep Puligilla11d49a62014-01-30 12:05:16 +0530377 eWNI_SME_HT40_OBSS_SCAN_IND, /* START and UPDATE OBSS SCAN Indication*/
378 eWNI_SME_HT40_STOP_OBSS_SCAN_IND, /* STOP OBSS SCAN indication */
Hardik Kantilal Patel62a3a762014-11-21 12:55:57 +0530379#ifdef WLAN_FEATURE_AP_HT40_24G
380 eWNI_SME_SET_HT_2040_MODE, /* HT 20/40 indication in SAP case for 2.4GHz*/
Hardik Kantilal Patel81f76342014-11-14 12:45:26 -0800381 eWNI_SME_2040_COEX_IND, /* HT20/40 Coex indication in SAP case for 2.4GHz*/
Hardik Kantilal Patel62a3a762014-11-21 12:55:57 +0530382#endif
Siddharth Bhal6af5d4e2014-09-29 21:11:16 +0530383 eWNI_SME_MAC_SPOOF_ADDR_IND,
Srinivas Dasarib8fdd422014-11-27 10:44:20 +0530384 eWNI_SME_ENCRYPT_MSG_RSP,
Girish Gowlia95daca2015-02-04 20:31:31 +0530385 eWNI_SME_UPDATE_MAX_RATE_IND,
Srinivas Dasari030bad32015-02-18 23:23:54 +0530386 eWNI_SME_NAN_EVENT,
Pradeep Reddy POTTETI31505892015-04-16 16:47:54 +0530387 eWNI_SME_SET_TDLS_2040_BSSCOEX_REQ,
Masti, Narayanraddi1fb32a92015-06-29 13:14:06 +0530388 eWNI_SME_DEL_ALL_TDLS_PEERS,
Abhishek Singh7d624e12015-11-30 14:29:27 +0530389 eWNI_SME_REGISTER_MGMT_FRAME_CB,
Manjeet Singh3ed79242017-01-11 19:04:32 +0530390 eWNI_SME_CAP_TSF_REQ,
391 eWNI_SME_GET_TSF_REQ,
Padma, Santhosh Kumar67f479b2016-12-28 15:43:42 +0530392
393#ifdef WLAN_FEATURE_LFR_MBB
394 eWNI_SME_MBB_PRE_AUTH_REASSOC_REQ,
395 eWNI_SME_MBB_PRE_AUTH_REASSOC_RSP,
396#endif
397
SaidiReddy Yenugac341fbf2017-02-01 20:22:45 +0530398 eWNI_SME_DEL_BA_SES_REQ,
Abhishek Singh02605092017-10-25 14:06:12 +0530399 eWNI_SME_SET_CHAN_SW_IE_REQ,
Abhishek Singh550aa8c2017-10-30 17:34:53 +0530400 eWNI_SME_ECSA_IE_BEACON_COMP_IND,
401 eWNI_SME_ECSA_CHAN_CHANGE_REQ,
402 eWNI_SME_ECSA_CHAN_CHANGE_RSP,
Yeshwanth Sriram Guntuka8d9b29c2017-12-12 15:44:57 +0530403 eWNI_SME_STA_DEL_BA_REQ,
Abhinav Kumard6d8dd22019-08-05 12:38:50 +0530404 eWNI_SME_TRIGGER_SAE,
Jeff Johnson295189b2012-06-20 16:38:30 -0700405 eWNI_SME_MSG_TYPES_END
406};
407
Leela Venkata Kiran Kumar Reddy Chirala45f184c2014-02-14 15:08:21 -0800408#define WNI_CFG_MSG_TYPES_BEGIN 0x1200
Jeff Johnson295189b2012-06-20 16:38:30 -0700409
410/*---------------------------------------------------------------------*/
411/* CFG Module Definitions */
412/*---------------------------------------------------------------------*/
413
414
415/*---------------------------------------------------------------------*/
416/* CFG message definitions */
417/*---------------------------------------------------------------------*/
418#define WNI_CFG_MSG_HDR_MASK 0xffff0000
419#define WNI_CFG_MSG_LEN_MASK 0x0000ffff
420#define WNI_CFG_MB_HDR_LEN 4
421#define WNI_CFG_MAX_PARAM_NUM 32
422
423
424/*---------------------------------------------------------------------*/
425/* CFG to HDD message types */
426/*---------------------------------------------------------------------*/
427#define WNI_CFG_PARAM_UPDATE_IND (WNI_CFG_MSG_TYPES_BEGIN | 0x00)
428#define WNI_CFG_DNLD_REQ (WNI_CFG_MSG_TYPES_BEGIN | 0x01)
429#define WNI_CFG_DNLD_CNF (WNI_CFG_MSG_TYPES_BEGIN | 0x02)
430#define WNI_CFG_GET_RSP (WNI_CFG_MSG_TYPES_BEGIN | 0x03)
431#define WNI_CFG_SET_CNF (WNI_CFG_MSG_TYPES_BEGIN | 0x04)
432#define WNI_CFG_GET_ATTRIB_RSP (WNI_CFG_MSG_TYPES_BEGIN | 0x05)
433#define WNI_CFG_ADD_GRP_ADDR_CNF (WNI_CFG_MSG_TYPES_BEGIN | 0x06)
434#define WNI_CFG_DEL_GRP_ADDR_CNF (WNI_CFG_MSG_TYPES_BEGIN | 0x07)
435
436#define ANI_CFG_GET_RADIO_STAT_RSP (WNI_CFG_MSG_TYPES_BEGIN | 0x08)
437#define ANI_CFG_GET_PER_STA_STAT_RSP (WNI_CFG_MSG_TYPES_BEGIN | 0x09)
438#define ANI_CFG_GET_AGG_STA_STAT_RSP (WNI_CFG_MSG_TYPES_BEGIN | 0x0a)
439#define ANI_CFG_CLEAR_STAT_RSP (WNI_CFG_MSG_TYPES_BEGIN | 0x0b)
440
441
442/*---------------------------------------------------------------------*/
443/* CFG to HDD message paramter indices */
Kiet Lam842dad02014-02-18 18:44:02 -0800444
Jeff Johnson295189b2012-06-20 16:38:30 -0700445/* The followings are word indices starting from the message body */
Kiet Lam842dad02014-02-18 18:44:02 -0800446
Jeff Johnson295189b2012-06-20 16:38:30 -0700447/* WNI_CFG_xxxx_xxxx_xxxx: index of parameter */
448/* */
449/* WNI_CFG_xxxx_xxxx_NUM: number of parameters in message */
450/* */
451/* WNI_CFG_xxxx_xxxx_LEN: byte length of message including */
452/* MB header */
453/* */
454/* WNI_CFG_xxxx_xxxx_PARTIAL_LEN: byte length of message including */
455/* parameters and MB header but */
456/* excluding variable data length */
457/*---------------------------------------------------------------------*/
458
Jeff Johnson295189b2012-06-20 16:38:30 -0700459// Parameter update indication
460#define WNI_CFG_PARAM_UPDATE_IND_PID 0
461
462#define WNI_CFG_PARAM_UPDATE_IND_NUM 1
463#define WNI_CFG_PARAM_UPDATE_IND_LEN (WNI_CFG_MB_HDR_LEN + \
464 (WNI_CFG_PARAM_UPDATE_IND_NUM << 2))
Jeff Johnson295189b2012-06-20 16:38:30 -0700465
466// Configuration download request
467#define WNI_CFG_DNLD_REQ_NUM 0
468#define WNI_CFG_DNLD_REQ_LEN WNI_CFG_MB_HDR_LEN
469
470// Configuration download confirm
471#define WNI_CFG_DNLD_CNF_RES 0
472
473#define WNI_CFG_DNLD_CNF_NUM 1
474#define WNI_CFG_DNLD_CNF_LEN (WNI_CFG_MB_HDR_LEN + \
475 (WNI_CFG_DNLD_CNF_NUM << 2))
476// Get response
477#define WNI_CFG_GET_RSP_RES 0
478#define WNI_CFG_GET_RSP_PID 1
479#define WNI_CFG_GET_RSP_PLEN 2
480
481#define WNI_CFG_GET_RSP_NUM 3
482#define WNI_CFG_GET_RSP_PARTIAL_LEN (WNI_CFG_MB_HDR_LEN + \
483 (WNI_CFG_GET_RSP_NUM << 2))
484// Set confirm
485#define WNI_CFG_SET_CNF_RES 0
486#define WNI_CFG_SET_CNF_PID 1
487
488#define WNI_CFG_SET_CNF_NUM 2
489#define WNI_CFG_SET_CNF_LEN (WNI_CFG_MB_HDR_LEN + \
490 (WNI_CFG_SET_CNF_NUM << 2))
491// Get attribute response
492#define WNI_CFG_GET_ATTRIB_RSP_RES 0
493#define WNI_CFG_GET_ATTRIB_RSP_PID 1
494#define WNI_CFG_GET_ATTRIB_RSP_TYPE 2
495#define WNI_CFG_GET_ATTRIB_RSP_PLEN 3
496#define WNI_CFG_GET_ATTRIB_RSP_RW 4
497
498#define WNI_CFG_GET_ATTRIB_RSP_NUM 5
499#define WNI_CFG_GET_ATTRIB_RSP_LEN (WNI_CFG_MB_HDR_LEN + \
500 (WNI_CFG_GET_ATTRIB_RSP_NUM << 2))
501
502// Add group address confirm
503#define WNI_CFG_ADD_GRP_ADDR_CNF_RES 0
504
505#define WNI_CFG_ADD_GRP_ADDR_CNF_NUM 1
506#define WNI_CFG_ADD_GRP_ADDR_CNF_LEN (WNI_CFG_MB_HDR_LEN + \
507 (WNI_CFG_ADD_GRP_ADDR_CNF_NUM << 2))
508
509// Delete group address confirm
510#define WNI_CFG_DEL_GRP_ADDR_CNF_RES 0
511
512#define WNI_CFG_DEL_GRP_ADDR_CNF_NUM 1
513#define WNI_CFG_DEL_GRP_ADDR_CNF_LEN (WNI_CFG_MB_HDR_LEN + \
514 (WNI_CFG_DEL_GRP_ADDR_CNF_NUM <<2))
515
516
517#define IS_CFG_MSG(msg) ((msg & 0xff00) == WNI_CFG_MSG_TYPES_BEGIN)
518
519// Clear stats types.
520#define ANI_CLEAR_ALL_STATS 0
521#define ANI_CLEAR_RX_STATS 1
522#define ANI_CLEAR_TX_STATS 2
523#define ANI_CLEAR_PER_STA_STATS 3
524#define ANI_CLEAR_AGGR_PER_STA_STATS 4
525#define ANI_CLEAR_STAT_TYPES_END 5
526
527/*---------------------------------------------------------------------*/
528/* HDD to CFG message types */
529/*---------------------------------------------------------------------*/
530#define WNI_CFG_DNLD_RSP (WNI_CFG_MSG_TYPES_BEGIN | 0x80)
531#define WNI_CFG_GET_REQ (WNI_CFG_MSG_TYPES_BEGIN | 0x81)
532#define WNI_CFG_SET_REQ (WNI_CFG_MSG_TYPES_BEGIN | 0x82)
533#define WNI_CFG_SET_REQ_NO_RSP (WNI_CFG_MSG_TYPES_BEGIN | 0x83) //No RSP for this set
534
535// Shall be removed after stats integration
536
537
538/*---------------------------------------------------------------------*/
539/* HDD to CFG message paramter indices */
540/* */
541/* The followings are word indices starting from the message body */
542/* */
543/* WNI_CFG_xxxx_xxxx_xxxx: index of parameter */
544/* */
545/* WNI_CFG_xxxx_xxxx_NUM: number of parameters in message */
546/* */
547/* WNI_CFG_xxxx_xxxx_LEN: byte length of message including */
548/* MB header */
549/* */
550/* WNI_CFG_xxxx_xxxx_PARTIAL_LEN: byte length of message including */
551/* parameters and MB header but */
552/* excluding variable data length */
553/*---------------------------------------------------------------------*/
554
555// Download response
556#define WNI_CFG_DNLD_RSP_BIN_LEN 0
557
558#define WNI_CFG_DNLD_RSP_NUM 1
559#define WNI_CFG_DNLD_RSP_PARTIAL_LEN (WNI_CFG_MB_HDR_LEN + \
560 (WNI_CFG_DNLD_RSP_NUM << 2))
561
562// Set parameter request
563#define WNI_CFG_SET_REQ_PID 0
564#define WNI_CFG_SET_REQ_PLEN 1
565
566/*
567// Get attribute request
568//#define WNI_CFG_GET_ATTRIB_REQ_PID 0
569
570//#define WNI_CFG_GET_ATTRIB_REQ_NUM 1
571//#define WNI_CFG_GET_ATTRIB_REQ_LEN (WNI_CFG_MB_HDR_LEN + \
572 (WNI_CFG_GET_ATTRIB_REQ_NUM << 2))
573// Add group address request
574#define WNI_CFG_ADD_GRP_ADDR_REQ_MAC_ADDR 0
575
576#define WNI_CFG_ADD_GRP_ADDR_REQ_NUM 1
577#define WNI_CFG_ADD_GRP_ADDR_REQ_LEN (WNI_CFG_MB_HDR_LEN + \
578 (WNI_CFG_ADD_GRP_ADDR_REQ_NUM << 2))
579// Delete group address request
580#define WNI_CFG_DEL_GRP_ADDR_REQ_MAC_ADDR 0
581
582#define WNI_CFG_DEL_GRP_ADDR_REQ_NUM 1
583#define WNI_CFG_DEL_GRP_ADDR_REQ_LEN (WNI_CFG_MB_HDR_LEN + \
584 (WNI_CFG_DEL_GRP_ADDR_REQ_NUM << 2))
585*/
586
587
588/*---------------------------------------------------------------------*/
589/* CFG return values */
590/*---------------------------------------------------------------------*/
591#define WNI_CFG_SUCCESS 1
592#define WNI_CFG_NOT_READY 2
593#define WNI_CFG_INVALID_PID 3
594#define WNI_CFG_INVALID_LEN 4
595#define WNI_CFG_RO_PARAM 5
596#define WNI_CFG_WO_PARAM 6
597#define WNI_CFG_INVALID_STAID 7
598#define WNI_CFG_OTHER_ERROR 8
599#define WNI_CFG_NEED_RESTART 9
600#define WNI_CFG_NEED_RELOAD 10
601
602
603/*---------------------------------------------------------------------*/
604/* CFG definitions */
605/*---------------------------------------------------------------------*/
606#define WNI_CFG_TYPE_STR 0x0000000
607#define WNI_CFG_TYPE_INT 0x0000001
608#define WNI_CFG_HOST_RE 0x0000002
609#define WNI_CFG_HOST_WE 0x0000004
610
611
612// Shall be removed after integration of stats.
613// Get statistic response
614#define WNI_CFG_GET_STAT_RSP_RES 0
615#define WNI_CFG_GET_STAT_RSP_PARAMID 1
616#define WNI_CFG_GET_STAT_RSP_VALUE 2
617
618#define WNI_CFG_GET_STAT_RSP_NUM 3
619#define WNI_CFG_GET_STAT_RSP_LEN (WNI_CFG_MB_HDR_LEN + \
620 (WNI_CFG_GET_STAT_RSP_NUM <<2))
621// Get per station statistic response
622#define WNI_CFG_GET_PER_STA_STAT_RSP_RES 0
623#define WNI_CFG_GET_PER_STA_STAT_RSP_STAID 1
624#define WNI_CFG_GET_PER_STA_STAT_RSP_FIRST_PARAM 2
625
626// Per STA statistic structure
627typedef struct sAniCfgPerStaStatStruct
628{
629 unsigned long sentAesBlksUcastHi;
630 unsigned long sentAesBlksUcastLo;
631
632 unsigned long recvAesBlksUcastHi;
633 unsigned long recvAesBlksUcastLo;
634
635 unsigned long aesFormatErrorUcastCnts;
636
637 unsigned long aesReplaysUcast;
638
639 unsigned long aesDecryptErrUcast;
640
641 unsigned long singleRetryPkts;
642
643 unsigned long failedTxPkts;
644
645 unsigned long ackTimeouts;
646
647 unsigned long multiRetryPkts;
648
649 unsigned long fragTxCntsHi;
650 unsigned long fragTxCntsLo;
651
652 unsigned long transmittedPktsHi;
653 unsigned long transmittedPktsLo;
654
655 unsigned long phyStatHi;
656 unsigned long phyStatLo;
657} tCfgPerStaStatStruct, *tpAniCfgPerStaStatStruct;
658
659#define WNI_CFG_GET_PER_STA_STAT_RSP_NUM 23
660#define WNI_CFG_GET_PER_STA_STAT_RSP_LEN (WNI_CFG_MB_HDR_LEN + \
661 (WNI_CFG_GET_PER_STA_STAT_RSP_NUM << 2))
662
663
664// Shall be removed after integrating stats.
665#define WNI_CFG_GET_STAT_RSP (WNI_CFG_MSG_TYPES_BEGIN | 0x08)
666#define WNI_CFG_GET_PER_STA_STAT_RSP (WNI_CFG_MSG_TYPES_BEGIN | 0x09)
667#define WNI_CFG_GET_AGG_STA_STAT_RSP (WNI_CFG_MSG_TYPES_BEGIN | 0x0a)
668#define WNI_CFG_GET_TX_RATE_CTR_RSP (WNI_CFG_MSG_TYPES_BEGIN | 0x0b)
669
670#define WNI_CFG_GET_AGG_STA_STAT_RSP_NUM 21
671#define WNI_CFG_GET_AGG_STA_STAT_RSP_LEN (WNI_CFG_MB_HDR_LEN + \
672 (WNI_CFG_GET_AGG_STA_STAT_RSP_NUM << 2))
673#define WNI_CFG_GET_AGG_STA_STAT_RSP_RES 0
674
675 // Get TX rate based stats
676#define WNI_CFG_GET_TX_RATE_CTR_RSP_RES 0
677
678typedef struct sAniCfgTxRateCtrs
679{
680// add the rate counters here
681 unsigned long TxFrames_1Mbps;
682 unsigned long TxFrames_2Mbps;
683 unsigned long TxFrames_5_5Mbps;
684 unsigned long TxFrames_6Mbps;
685 unsigned long TxFrames_9Mbps;
686 unsigned long TxFrames_11Mbps;
687 unsigned long TxFrames_12Mbps;
688 unsigned long TxFrames_18Mbps;
689 unsigned long TxFrames_24Mbps;
690 unsigned long TxFrames_36Mbps;
691 unsigned long TxFrames_48Mbps;
692 unsigned long TxFrames_54Mbps;
693 unsigned long TxFrames_72Mbps;
694 unsigned long TxFrames_96Mbps;
695 unsigned long TxFrames_108Mbps;
696
697} tAniCfgTxRateCtrs, *tpAniCfgTxRateCtrs;
698
699
700#define WNI_CFG_GET_STAT_REQ (WNI_CFG_MSG_TYPES_BEGIN | 0x86)
701#define WNI_CFG_GET_PER_STA_STAT_REQ (WNI_CFG_MSG_TYPES_BEGIN | 0x87)
702#define WNI_CFG_GET_AGG_STA_STAT_REQ (WNI_CFG_MSG_TYPES_BEGIN | 0x88)
703#define WNI_CFG_GET_TX_RATE_CTR_REQ (WNI_CFG_MSG_TYPES_BEGIN | 0x89)
704
705// Get statistic request
706#define WNI_CFG_GET_STAT_REQ_PARAMID 0
707
708#define WNI_CFG_GET_STAT_REQ_NUM 1
709#define WNI_CFG_GET_STAT_REQ_LEN (WNI_CFG_MB_HDR_LEN + \
710 (WNI_CFG_GET_STAT_REQ_NUM << 2))
711
712 // Get per station statistic request
713#define WNI_CFG_GET_PER_STA_STAT_REQ_STAID 0
714
715#define WNI_CFG_GET_PER_STA_STAT_REQ_NUM 1
716#define WNI_CFG_GET_PER_STA_STAT_REQ_LEN (WNI_CFG_MB_HDR_LEN + \
717 (WNI_CFG_GET_PER_STA_STAT_REQ_NUM << 2))
718
719
720
721
722#define DYNAMIC_CFG_TYPE_SELECTED_REGISTRAR (0)
723#define DYNAMIC_CFG_TYPE_WPS_STATE (1)
724
725#endif /* __WNI_API_H */
726