blob: 80eeb34cdeff33539dfc443b33ec4e476bc35c36 [file] [log] [blame]
Jeff Johnson295189b2012-06-20 16:38:30 -07001/*
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05302 * Copyright (c) 2012-2015 The Linux Foundation. All rights reserved.
Kiet Lam1ed83fc2014-02-19 01:15:45 -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 Lam1ed83fc2014-02-19 01:15:45 -080027
28
Kiet Lama7f454d2014-07-24 12:04:06 -070029
30
Jeff Johnson295189b2012-06-20 16:38:30 -070031#ifndef WLAN_QCT_WDA_H
32#define WLAN_QCT_WDA_H
33
34/*===========================================================================
35
Jeff Johnson6239e642013-02-22 21:22:26 -080036 W L A N DEVICE ADAPTATION L A Y E R
Jeff Johnson295189b2012-06-20 16:38:30 -070037 E X T E R N A L A P I
Jeff Johnson6239e642013-02-22 21:22:26 -080038
39
Jeff Johnson295189b2012-06-20 16:38:30 -070040DESCRIPTION
41 This file contains the external API exposed by the wlan adaptation layer for Prima
42 and Volans.
43
44 For Volans this layer is actually a thin layer that maps all WDA messages and
45 functions to equivalent HAL messages and functions. The reason this layer was introduced
Jeff Johnson6239e642013-02-22 21:22:26 -080046 was to keep the UMAC identical across Prima and Volans. This layer provides the glue
Jeff Johnson295189b2012-06-20 16:38:30 -070047 between SME, PE , TL and HAL.
48
Jeff Johnson295189b2012-06-20 16:38:30 -070049===========================================================================*/
50
51
52/*===========================================================================
53
54 EDIT HISTORY FOR FILE
55
56
57 This section contains comments describing changes made to the module.
58 Notice that changes are listed in reverse chronological order.
59
60
61 $Header:$ $DateTime: $ $Author: $
62
63
64when who what, where, why
65-------- --- ----------------------------------------------
6610/05/2011 haparna Adding support for Keep Alive Feature
6701/27/2011 rnair Adding WDA support for Volans.
6812/08/2010 seokyoun Move down HAL interfaces from TL to WDA
69 for UMAC convergence btween Volans/Libra and Prima
Jeff Johnson6239e642013-02-22 21:22:26 -08007008/25/2010 adwivedi WDA Context and exposed API's
Jeff Johnson295189b2012-06-20 16:38:30 -070071=========================================================================== */
72
73#include "aniGlobal.h"
74
Jeff Johnson295189b2012-06-20 16:38:30 -070075
76# include "wlan_qct_wdi_ds.h"
77
Jeff Johnson295189b2012-06-20 16:38:30 -070078
79/* Add Include */
80
81typedef enum
82{
83 WDA_INIT_STATE,
84 WDA_START_STATE,
85 WDA_READY_STATE,
86 WDA_PRE_ASSOC_STATE,
87 WDA_BA_UPDATE_TL_STATE,
88 WDA_BA_UPDATE_LIM_STATE,
89 WDA_STOP_STATE,
90 WDA_CLOSE_STATE
91}WDA_state;
92
93typedef enum
94{
95 WDA_PROCESS_SET_LINK_STATE,
96 WDA_IGNORE_SET_LINK_STATE
97}WDA_processSetLinkStateStatus;
98
99typedef enum
100{
101 WDA_DISABLE_BA,
102 WDA_ENABLE_BA
103}WDA_BaEnableFlags;
104
105typedef enum
106{
107 WDA_INVALID_STA_INDEX,
108 WDA_VALID_STA_INDEX
109}WDA_ValidStaIndex;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -0700110typedef enum
111{
112 eWDA_AUTH_TYPE_NONE, //never used
113 // MAC layer authentication types
114 eWDA_AUTH_TYPE_OPEN_SYSTEM,
115 // Upper layer authentication types
116 eWDA_AUTH_TYPE_WPA,
117 eWDA_AUTH_TYPE_WPA_PSK,
118
119 eWDA_AUTH_TYPE_RSN,
120 eWDA_AUTH_TYPE_RSN_PSK,
121 eWDA_AUTH_TYPE_FT_RSN,
122 eWDA_AUTH_TYPE_FT_RSN_PSK,
123 eWDA_AUTH_TYPE_WAPI_WAI_CERTIFICATE,
124 eWDA_AUTH_TYPE_WAPI_WAI_PSK,
125 eWDA_AUTH_TYPE_CCKM_WPA,
126 eWDA_AUTH_TYPE_CCKM_RSN,
Kanchanapally, Vidyullatha3355dd32015-06-09 14:56:56 +0530127 eWDA_AUTH_TYPE_RSN_PSK_SHA256,
128 eWDA_AUTH_TYPE_RSN_8021X_SHA256,
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -0700129}WDA_AuthType;
Jeff Johnson295189b2012-06-20 16:38:30 -0700130
Kanchanapally, Vidyullathaf9426e52013-12-24 17:28:54 +0530131#define IS_FW_IN_TX_PATH_FEATURE_ENABLE ((WDI_getHostWlanFeatCaps(FW_IN_TX_PATH)) & (WDA_getFwWlanFeatCaps(FW_IN_TX_PATH)))
Abhishek Singh6927fa02014-06-27 17:19:55 +0530132#define IS_MUMIMO_BFORMEE_CAPABLE ((WDI_getHostWlanFeatCaps(MU_MIMO)) & (WDA_getFwWlanFeatCaps(MU_MIMO)))
Abhishek Singh5fef4042014-11-25 18:33:00 +0530133#define IS_FEATURE_BCN_FLT_DELTA_ENABLE ((WDI_getHostWlanFeatCaps(BCN_IE_FLT_DELTA)) & (WDA_getFwWlanFeatCaps(BCN_IE_FLT_DELTA)))
Abhishek Singh85b74712014-10-08 11:38:19 +0530134#define IS_FEATURE_FW_STATS_ENABLE ((WDI_getHostWlanFeatCaps(FW_STATS)) & (WDA_getFwWlanFeatCaps(FW_STATS)))
Jeff Johnson295189b2012-06-20 16:38:30 -0700135/*--------------------------------------------------------------------------
136 Utilities
137 --------------------------------------------------------------------------*/
138
139#define WDA_TLI_CEIL( _a, _b) (( 0 != (_a)%(_b))? (_a)/(_b) + 1: (_a)/(_b))
140
141/*
142 * Check the version number and find if MCC feature is supported or not
143 */
144#define IS_MCC_SUPPORTED (WDA_IsWcnssWlanReportedVersionGreaterThanOrEqual( 0, 1, 1, 0))
Viral Modid86bde22012-12-10 13:09:21 -0800145#define IS_FEATURE_SUPPORTED_BY_FW(featEnumValue) (!!WDA_getFwWlanFeatCaps(featEnumValue))
Kiet Lam0f320422013-11-21 19:29:17 +0530146#define IS_FEATURE_SUPPORTED_BY_DRIVER(featEnumValue) (!!WDA_getHostWlanFeatCaps(featEnumValue))
Jeff Johnson295189b2012-06-20 16:38:30 -0700147
Yathish9f22e662012-12-10 14:21:35 -0800148#ifdef WLAN_ACTIVEMODE_OFFLOAD_FEATURE
149#define IS_ACTIVEMODE_OFFLOAD_FEATURE_ENABLE ((WDA_getFwWlanFeatCaps(WLANACTIVE_OFFLOAD)) & (WDI_getHostWlanFeatCaps(WLANACTIVE_OFFLOAD)))
150#else
151#define IS_ACTIVEMODE_OFFLOAD_FEATURE_ENABLE 0
152#endif
153
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -0700154#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
155#define IS_ROAM_SCAN_OFFLOAD_FEATURE_ENABLE ((WDI_getHostWlanFeatCaps(WLAN_ROAM_SCAN_OFFLOAD)) & (WDA_getFwWlanFeatCaps(WLAN_ROAM_SCAN_OFFLOAD)))
156#else
157#define IS_ROAM_SCAN_OFFLOAD_FEATURE_ENABLE 0
158#endif
Yathish9f22e662012-12-10 14:21:35 -0800159
Mihir Shete9c238772014-10-15 14:35:16 +0530160#define IS_DYNAMIC_WMM_PS_ENABLED ((WDI_getHostWlanFeatCaps(DYNAMIC_WMM_PS)) & (WDA_getFwWlanFeatCaps(DYNAMIC_WMM_PS)))
161
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700162/* Check if heartbeat offload is enabled */
163#define IS_IBSS_HEARTBEAT_OFFLOAD_FEATURE_ENABLE ((WDI_getHostWlanFeatCaps(IBSS_HEARTBEAT_OFFLOAD)) & (WDA_getFwWlanFeatCaps(IBSS_HEARTBEAT_OFFLOAD)))
164
Madan Mohan Koyyalamudice419872013-09-13 19:36:52 +0530165#ifdef FEATURE_WLAN_TDLS
166#define IS_ADVANCE_TDLS_ENABLE ((WDI_getHostWlanFeatCaps(ADVANCE_TDLS)) & (WDA_getFwWlanFeatCaps(ADVANCE_TDLS)))
167#else
168#define IS_ADVANCE_TDLS_ENABLE 0
169#endif
Sandeep Puligilla60342762014-01-30 21:05:37 +0530170#define IS_HT40_OBSS_SCAN_FEATURE_ENABLE ((WDA_getFwWlanFeatCaps(HT40_OBSS_SCAN)) & (WDI_getHostWlanFeatCaps(HT40_OBSS_SCAN)))
Mihir Sheted6274602015-04-28 16:13:21 +0530171#define IS_FRAME_LOGGING_SUPPORTED_BY_FW WDA_getFwWlanFeatCaps(MGMT_FRAME_LOGGING)
Sandeep Puligilla60342762014-01-30 21:05:37 +0530172
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -0800173typedef enum {
174 MODE_11A = 0, /* 11a Mode */
175 MODE_11G = 1, /* 11b/g Mode */
176 MODE_11B = 2, /* 11b Mode */
177 MODE_11GONLY = 3, /* 11g only Mode */
178 MODE_11NA_HT20 = 4, /* 11a HT20 mode */
179 MODE_11NG_HT20 = 5, /* 11g HT20 mode */
180 MODE_11NA_HT40 = 6, /* 11a HT40 mode */
181 MODE_11NG_HT40 = 7, /* 11g HT40 mode */
182 MODE_11AC_VHT20 = 8,
183 MODE_11AC_VHT40 = 9,
184 MODE_11AC_VHT80 = 10,
185// MODE_11AC_VHT160 = 11,
186 MODE_11AC_VHT20_2G = 11,
187 MODE_11AC_VHT40_2G = 12,
188 MODE_11AC_VHT80_2G = 13,
189 MODE_UNKNOWN = 14,
190 MODE_MAX = 14
191} WLAN_PHY_MODE;
192
193#define WLAN_HAL_CHAN_FLAG_HT40_PLUS 6
194#define WLAN_HAL_CHAN_FLAG_PASSIVE 7
195#define WLAN_HAL_CHAN_ADHOC_ALLOWED 8
196#define WLAN_HAL_CHAN_AP_DISABLED 9
197#define WLAN_HAL_CHAN_FLAG_DFS 10
198#define WLAN_HAL_CHAN_FLAG_ALLOW_HT 11 /* HT is allowed on this channel */
199#define WLAN_HAL_CHAN_FLAG_ALLOW_VHT 12 /* VHT is allowed on this channel */
200
201#define WDA_SET_CHANNEL_FLAG(pwda_channel,flag) do { \
202 (pwda_channel)->channel_info |= (1 << flag); \
203 } while(0)
204
205#define WDA_SET_CHANNEL_MODE(pwda_channel,val) do { \
206 (pwda_channel)->channel_info &= 0xffffffc0; \
207 (pwda_channel)->channel_info |= (val); \
208 } while(0)
209
210#define WDA_SET_CHANNEL_MAX_POWER(pwda_channel,val) do { \
211 (pwda_channel)->reg_info_1 &= 0xffff00ff; \
212 (pwda_channel)->reg_info_1 |= ((val&0xff) << 8); \
213 } while(0)
214
215#define WDA_SET_CHANNEL_REG_POWER(pwda_channel,val) do { \
216 (pwda_channel)->reg_info_1 &= 0xff00ffff; \
217 (pwda_channel)->reg_info_1 |= ((val&0xff) << 16); \
218 } while(0)
Sachin Ahujacb64fc82015-01-12 17:01:05 +0530219#define WDA_SET_CUURENT_REG_DOMAIN(pwda_channel, val) do { \
220 (pwda_channel)->reg_info_2 |= ((val&0x7) << 24); \
221 (pwda_channel)->reg_info_2 |= 0x80000000; \
222 } while(0)
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -0800223#define WDA_SET_CHANNEL_MIN_POWER(pwlan_hal_update_channel,val) do { \
224 (pwlan_hal_update_channel)->reg_info_1 &= 0xffffff00; \
225 (pwlan_hal_update_channel)->reg_info_1 |= (val&0xff); \
226 } while(0)
227#define WDA_SET_CHANNEL_ANTENNA_MAX(pwlan_hal_update_channel,val) do { \
228 (pwlan_hal_update_channel)->reg_info_2 &= 0xffffff00; \
229 (pwlan_hal_update_channel)->reg_info_2 |= (val&0xff); \
230 } while(0)
231#define WDA_SET_CHANNEL_REG_CLASSID(pwlan_hal_update_channel,val) do { \
232 (pwlan_hal_update_channel)->reg_info_1 &= 0x00ffffff; \
233 (pwlan_hal_update_channel)->reg_info_1 |= ((val&0xff) << 24); \
234 } while(0)
235
Amar Singhald08ce752014-03-21 16:28:27 -0700236#define WDA_IS_MCAST_FLT_ENABLE_IN_FW (WDA_getFwWlanFeatCaps(WLAN_MCADDR_FLT))
237
Jeff Johnson295189b2012-06-20 16:38:30 -0700238/*--------------------------------------------------------------------------
239 Definitions for Data path APIs
240 --------------------------------------------------------------------------*/
241
242/*As per 802.11 spec */
243#define WDA_TLI_MGMT_FRAME_TYPE 0x00
244#define WDA_TLI_CTRL_FRAME_TYPE 0x10
245#define WDA_TLI_DATA_FRAME_TYPE 0x20
246
247/*802.3 header definitions*/
248#define WDA_TLI_802_3_HEADER_LEN 14
249/*802.11 header definitions - header len without QOS ctrl field*/
250#define WDA_TLI_802_11_HEADER_LEN 24
251
252/*Determines the header len based on the disable xtl field*/
253#define WDA_TLI_MAC_HEADER_LEN( _dxtl) \
254 ( ( 0 == _dxtl )? \
255 WDA_TLI_802_3_HEADER_LEN:WDA_TLI_802_11_HEADER_LEN )
256
257/* TX channel enum type:
258
259 We have five types of TX packets so far and want to block/unblock each
260 traffic individually according to, for example, low resouce condition.
261 Define five TX channels for UMAC here. WDA can map these logical
262 channels to physical DXE channels if needed.
263*/
264typedef enum
265{
266 WDA_TXFLOW_AC_BK = 0,
267 WDA_TXFLOW_AC_BE = 1,
268 WDA_TXFLOW_AC_VI = 2,
269 WDA_TXFLOW_AC_VO = 3,
270 WDA_TXFLOW_MGMT = 4,
271 WDA_TXFLOW_BAP = 1, /* BAP is sent as BE */
272 WDA_TXFLOW_FC = 1, /* FC is sent as BE */
273 WDA_TXFLOW_MAX
274} WDA_TXFlowEnumType;
275
276#define WDA_TXFLOWMASK 0x1F /* 1~4bit:low priority ch / 5bit: high */
277
278/* ---------------------------------------------------------------------
279 Libra and Volans specifics
280
281 TODO Consider refactoring it and put it into two separate headers,
282 one for Prima and one for Volans
Jeff Johnson295189b2012-06-20 16:38:30 -0700283 ----------------------------------------------------------------------*/
284
285/* For backward compatability with SDIO. It's BAL header size for SDIO
286 interface. It's nothing for integrated SOC */
Jeff Johnson295189b2012-06-20 16:38:30 -0700287#define WDA_DXE_HEADER_SIZE 0
Jeff Johnson295189b2012-06-20 16:38:30 -0700288
Jeff Johnson295189b2012-06-20 16:38:30 -0700289
290/*Minimum resources needed - arbitrary*/
291
292/*DXE + SD*/
Madan Mohan Koyyalamudia53c4dc2012-11-13 10:35:42 -0800293#define WDA_WLAN_LIBRA_HEADER_LEN (20 + 8)
Jeff Johnson295189b2012-06-20 16:38:30 -0700294
Jeff Johnson295189b2012-06-20 16:38:30 -0700295#define WDA_TLI_BD_PDU_RESERVE_THRESHOLD 10
Jeff Johnson295189b2012-06-20 16:38:30 -0700296
297
Jeff Johnson295189b2012-06-20 16:38:30 -0700298# define WDA_TLI_MIN_RES_MF 1
299# define WDA_TLI_MIN_RES_BAP 2
300# define WDA_TLI_MIN_RES_DATA 3
Jeff Johnson295189b2012-06-20 16:38:30 -0700301
Jeff Johnson295189b2012-06-20 16:38:30 -0700302# define WDA_NUM_STA 8
Jeff Johnson295189b2012-06-20 16:38:30 -0700303
304/* For backward compatability with SDIO.
305
306 For SDIO interface, calculate the TX frame length and number of PDU
307 to transfter the frame.
308
309 _vosBuff: IN VOS pakcet buffer pointer
310 _usPktLen: OUT VOS packet length in bytes
311 _uResLen: OUT Number of PDU to hold this VOS packet
312 _uTotalPktLen: OUT Totoal packet length including BAL header size
313
314 For integrated SOC, _usPktLen and _uTotalPktLen is VOS pakcet length
315 which does include BD header length. _uResLen is hardcoded 2.
316 */
Jeff Johnson295189b2012-06-20 16:38:30 -0700317
318#ifdef WINDOWS_DT
319#define WDA_TLI_PROCESS_FRAME_LEN( _vosBuff, _usPktLen, \
320 _uResLen, _uTotalPktLen) \
321 do \
322 { \
323 _usPktLen = wpalPacketGetFragCount((wpt_packet*)_vosBuff) + 1/*BD*/;\
324 _uResLen = _usPktLen; \
325 _uTotalPktLen = _usPktLen; \
326 } \
327 while ( 0 )
328#else /* WINDOWS_DT */
329#define WDA_TLI_PROCESS_FRAME_LEN( _vosBuff, _usPktLen, \
330 _uResLen, _uTotalPktLen) \
331 do \
332 { \
333 _usPktLen = 2; /* Need 1 descriptor per a packet + packet*/ \
334 _uResLen = 2; /* Assume that we spends two DXE descriptor */ \
335 _uTotalPktLen = _usPktLen; \
336 } \
337 while ( 0 )
338#endif /* WINDOWS_DT */
339
Jeff Johnson295189b2012-06-20 16:38:30 -0700340
341
342/*--------------------------------------------------------------------------
343 Message Definitions
344 --------------------------------------------------------------------------*/
345
346/* TX Tranmit request message. It serializes TX request to TX thread.
347 The message is processed in TL.
348*/
349#define WDA_DS_TX_START_XMIT WLANTL_TX_START_XMIT
350#define WDA_DS_FINISH_ULA WLANTL_FINISH_ULA
351
Madan Mohan Koyyalamudi31e4cad2013-08-21 20:21:14 +0530352#define VOS_TO_WPAL_PKT(_vos_pkt) ((wpt_packet*)_vos_pkt)
Jeff Johnson295189b2012-06-20 16:38:30 -0700353
354#define WDA_TX_PACKET_FREED 0X0
355
Jeff Johnson43971f52012-07-17 12:26:56 -0700356/* Approximate amount of time to wait for WDA to stop WDI considering 1 pendig req too*/
357#define WDA_STOP_TIMEOUT ( (WDI_RESPONSE_TIMEOUT * 2) + WDI_SET_POWER_STATE_TIMEOUT + 5)
Jeff Johnson295189b2012-06-20 16:38:30 -0700358/*--------------------------------------------------------------------------
359 Functions
360 --------------------------------------------------------------------------*/
361
362/* For data client */
363typedef VOS_STATUS (*WDA_DS_TxCompleteCallback) ( v_PVOID_t pContext, vos_pkt_t *pFrameDataBuff, VOS_STATUS txStatus );
364typedef VOS_STATUS (*WDA_DS_RxPacketCallback) ( v_PVOID_t pContext, vos_pkt_t *pFrameDataBuff );
365typedef v_U32_t (*WDA_DS_TxPacketCallback) ( v_PVOID_t pContext,
366 vos_pkt_t **ppFrameDataBuff,
367 v_U32_t uSize,
Jeff Johnson295189b2012-06-20 16:38:30 -0700368 v_U8_t uFlowMask,
Jeff Johnson295189b2012-06-20 16:38:30 -0700369 v_BOOL_t *pbUrgent );
370typedef VOS_STATUS (*WDA_DS_ResourceCB) ( v_PVOID_t pContext, v_U32_t uCount );
371
372
Jeff Johnson295189b2012-06-20 16:38:30 -0700373/* For management client */
374typedef VOS_STATUS (*WDA_DS_TxCompleteCb)( v_PVOID_t pContext, wpt_packet *pFrame );
375typedef VOS_STATUS (*WDA_DS_RxCompleteCb)( v_PVOID_t pContext, wpt_packet *pFrame );
376typedef VOS_STATUS (*WDA_DS_TxFlowControlCb)( v_PVOID_t pContext, v_U8_t acMask );
377typedef void (*pWDATxRxCompFunc)( v_PVOID_t pContext, void *pData );
378
379//callback function for TX complete
380//parameter 1 - global pMac pointer
381//parameter 2 - txComplete status : 1- success, 0 - failure.
Ganesh Kondabattini358fc9b2015-03-11 16:14:25 +0530382typedef eHalStatus (*pWDAAckFnTxComp)(tpAniSirGlobal, void *pData);
Jeff Johnson295189b2012-06-20 16:38:30 -0700383
384typedef struct
385{
386 tANI_U16 ucValidStaIndex ;
387 /*
388 * each bit in ucUseBaBitmap represent BA is enabled or not for this tid
389 * tid0 ..bit0, tid1..bit1 and so on..
390 */
391 tANI_U8 ucUseBaBitmap ;
392 tANI_U8 bssIdx;
Abhishek Singh0644e482014-10-06 18:38:23 +0530393 tANI_U32 currentOperChan;
Jeff Johnson295189b2012-06-20 16:38:30 -0700394 tANI_U32 framesTxed[STACFG_MAX_TC];
395}tWdaStaInfo, *tpWdaStaInfo ;
396
397/* group all the WDA timers into this structure */
398typedef struct
399{
400 /* BA activity check timer */
401 TX_TIMER baActivityChkTmr ;
402
403 /* Tx Complete Timeout timer */
404 TX_TIMER TxCompleteTimer ;
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -0800405
406 /* Traffic Stats timer */
407 TX_TIMER trafficStatsTimer ;
Jeff Johnson295189b2012-06-20 16:38:30 -0700408}tWdaTimers ;
Siddharth Bhal85f99b12014-05-09 08:09:07 +0530409
Gopichand Nakkala976e3252013-01-03 15:45:56 -0800410#ifdef WLAN_SOFTAP_VSTA_FEATURE
Yathish Hanumapuradoddi Shivanna64dfc472013-03-08 10:48:34 -0800411#define WDA_MAX_STA (41)
Gopichand Nakkala976e3252013-01-03 15:45:56 -0800412#else
Jeff Johnson295189b2012-06-20 16:38:30 -0700413#define WDA_MAX_STA (16)
Gopichand Nakkala976e3252013-01-03 15:45:56 -0800414#endif
Siddharth Bhal85f99b12014-05-09 08:09:07 +0530415typedef enum
416{
417 WDA_ADDSTA_REQ_NO_MEM = 0,
418 WDA_ADDSTA_REQ_WDI_FAIL = 1,
419 WDA_ADDSTA_RSP_NO_MEM = 2,
420 WDA_ADDSTA_RSP_WDI_FAIL = 3,
421 WDA_ADDSTA_MAX
422} WDA_AddSelfStaFailReasonDebug;
423
424/*AddSelfSta Request and Response Debug*/
425typedef struct
426{
427 wpt_uint8 wdiAddStaSelfStaReqCounter;
428 wpt_uint8 wdiAddStaSelfStaRspCounter;
429 wpt_uint8 wdiAddStaSelfStaFailCounter;
430 wpt_uint8 ucSTASelfIdx; /* received SelfStaIdx*/
431 wpt_uint8 wdaAddSelfStaFailReason;
432} tWDA_AddSelfStaDebugParams;
433
Jeff Johnson295189b2012-06-20 16:38:30 -0700434typedef struct
435{
436 v_PVOID_t pVosContext; /* global VOSS context*/
437 v_PVOID_t pWdiContext; /* WDI context */
438 WDA_state wdaState ; /* WDA state tracking */
Jeff Johnson295189b2012-06-20 16:38:30 -0700439 v_PVOID_t wdaWdiCfgApiMsgParam ; /* WDI API paramter tracking */
440 vos_event_t wdaWdiEvent; /* WDI API sync event */
441
442 /* Event to wait for tx completion */
443 vos_event_t txFrameEvent;
444
445 /* call back function for tx complete*/
446 pWDATxRxCompFunc pTxCbFunc;
447 /* call back function for tx packet ack */
448 pWDAAckFnTxComp pAckTxCbFunc;
449 tANI_U32 frameTransRequired;
450 tSirMacAddr macBSSID; /*BSSID of the network */
451 tSirMacAddr macSTASelf; /*Self STA MAC*/
452
453 /* TX channel mask for flow control */
454 v_U8_t uTxFlowMask;
455 /* TL's TX resource callback */
456 WDA_DS_ResourceCB pfnTxResourceCB;
457 /* TL's TX complete callback */
458 WDA_DS_TxCompleteCallback pfnTxCompleteCallback;
459
460 tWdaStaInfo wdaStaInfo[WDA_MAX_STA];
461
462 tANI_U8 wdaMaxSta;
463 tWdaTimers wdaTimers;
464
465 /* STA, AP, IBSS, MULTI-BSS etc.*/
466 tBssSystemRole wdaGlobalSystemRole;
467
468 /* driver mode, PRODUCTION or FTM */
469 tDriverType driverMode;
470
Jeff Johnson295189b2012-06-20 16:38:30 -0700471 /* FTM Command Request tracking */
472 v_PVOID_t wdaFTMCmdReq;
Jeff Johnson295189b2012-06-20 16:38:30 -0700473
474 /* Event to wait for suspend data tx*/
475 vos_event_t suspendDataTxEvent;
476 /* Status frm TL after suspend/resume Tx */
477 tANI_U8 txStatus;
478 /* Flag set to true when TL suspend timesout.*/
479 tANI_U8 txSuspendTimedOut;
480
481 vos_event_t waitOnWdiIndicationCallBack;
482
483 /* version information */
484 tSirVersionType wcnssWlanCompiledVersion;
485 tSirVersionType wcnssWlanReportedVersion;
486 tSirVersionString wcnssSoftwareVersionString;
487 tSirVersionString wcnssHardwareVersionString;
488
489
490 tSirLinkState linkState;
491 /* set, when BT AMP session is going on */
492 v_BOOL_t wdaAmpSessionOn;
Jeff Johnsone7245742012-09-05 17:12:55 -0700493 v_BOOL_t needShutdown;
Madan Mohan Koyyalamudia2fc6412012-10-21 12:06:12 -0700494 v_BOOL_t wdiFailed;
Madan Mohan Koyyalamudid57ae632012-11-06 18:42:48 -0800495 v_BOOL_t wdaTimersCreated;
Mahesh A Saptasagarcadc3542014-12-01 19:00:02 +0530496 uintptr_t VosPacketToFree;
Leo Chang9d76f622013-08-23 16:34:52 -0700497
498 /* Event to wait for WDA stop on FTM mode */
499 vos_event_t ftmStopDoneEvent;
Siddharth Bhal85f99b12014-05-09 08:09:07 +0530500
501 tWDA_AddSelfStaDebugParams wdaAddSelfStaParams;
502
Jeff Johnson295189b2012-06-20 16:38:30 -0700503} tWDA_CbContext ;
504
505typedef struct
506{
507 v_PVOID_t pWdaContext; /* pointer to WDA context*/
508 v_PVOID_t wdaMsgParam; /* PE parameter tracking */
509 v_PVOID_t wdaWdiApiMsgParam; /* WDI API paramter tracking */
510} tWDA_ReqParams;
511
Siddharth Bhal68115602015-01-18 20:44:55 +0530512typedef struct
513{
514 v_PVOID_t pWdaContext; /* pointer to WDA context*/
515 v_PVOID_t wdaMsgParam; /* PE parameter tracking */
516 v_PVOID_t wdaWdiApiMsgParam; /* WDI API paramter tracking */
517 v_BOOL_t wdaHALDumpAsync; /* Async Request */
518
519} tWDA_HalDumpReqParams;
520
Jeff Johnson295189b2012-06-20 16:38:30 -0700521/*
522 * FUNCTION: WDA_open
523 * open WDA context
524 */
525
Arun Kumar Khandavalliebb19482014-03-25 13:56:53 +0530526VOS_STATUS WDA_open(v_PVOID_t pVosContext, v_PVOID_t devHandle,
Jeff Johnson295189b2012-06-20 16:38:30 -0700527 tMacOpenParameters *pMacParams ) ;
528
529/*
530 * FUNCTION: WDA_preStart
531 * Trigger DAL-AL to start CFG download
532 */
533VOS_STATUS WDA_start(v_PVOID_t pVosContext) ;
534
535VOS_STATUS WDA_NVDownload_Start(v_PVOID_t pVosContext);
536
537/*
538 * FUNCTION: WDA_preStart
539 * Trigger WDA to start CFG download
540 */
541VOS_STATUS WDA_preStart(v_PVOID_t pVosContext) ;
542/*
543 * FUNCTION: WDA_stop
544 * stop WDA
545 */
546VOS_STATUS WDA_stop(v_PVOID_t pVosContext,tANI_U8 reason);
547
548/*
549 * FUNCTION: WDA_close
550 * close WDA context
551 */
552VOS_STATUS WDA_close(v_PVOID_t pVosContext);
553/*
554 * FUNCTION: WDA_shutdown
555 * Shutdown will not close the control transport, added by SSR
556 */
557VOS_STATUS WDA_shutdown(v_PVOID_t pVosContext, wpt_boolean closeTransport);
558
559/*
Madan Mohan Koyyalamudi9d7a27f2012-11-28 15:55:25 -0800560 * FUNCTION: WDA_setNeedShutdown
561 * WDA stop failed or WDA NV Download failed
Jeff Johnsone7245742012-09-05 17:12:55 -0700562 */
Madan Mohan Koyyalamudi9d7a27f2012-11-28 15:55:25 -0800563void WDA_setNeedShutdown(v_PVOID_t pVosContext);
Jeff Johnsone7245742012-09-05 17:12:55 -0700564/*
565 * FUNCTION: WDA_needShutdown
566 * WDA requires a shutdown rather than a close
567 */
568v_BOOL_t WDA_needShutdown(v_PVOID_t pVosContext);
569
570/*
Jeff Johnson295189b2012-06-20 16:38:30 -0700571 * FUNCTION: WDA_McProcessMsg
572 * DAL-AL message processing entry function
573 */
574
575VOS_STATUS WDA_McProcessMsg( v_CONTEXT_t pVosContext, vos_msg_t *pMsg ) ;
576
577/* -----------------------------------------------------------------
578 * WDA data path API's
579 * ----------------------------------------------------------------*/
580/*
581 * FUNCTION: WDA_MgmtDSRegister
582 * Send Message back to PE
583 */
584
585VOS_STATUS WDA_MgmtDSRegister(tWDA_CbContext *pWDA,
586 WDA_DS_TxCompleteCb WDA_TxCompleteCallback,
587 WDA_DS_RxCompleteCb WDA_RxCompleteCallback,
588 WDA_DS_TxFlowControlCb WDA_TxFlowCtrlCallback
589 ) ;
590/*
591 * FUNCTION: WDA_MgmtDSTxPacket
592 * Forward TX management frame to WDI
593 */
594
595VOS_STATUS WDA_TxPacket(tWDA_CbContext *pWDA,
596 void *pFrmBuf,
597 tANI_U16 frmLen,
598 eFrameType frmType,
599 eFrameTxDir txDir,
600 tANI_U8 tid,
601 pWDATxRxCompFunc pCompFunc,
602 void *pData,
603 pWDAAckFnTxComp pAckTxComp,
Ganesh Kondabattini10e67352015-03-16 17:41:57 +0530604 tANI_U32 txFlag,
605 tANI_U32 txBdToken
606 );
Jeff Johnson295189b2012-06-20 16:38:30 -0700607
608/*
609 * FUNCTION: WDA_PostMsgApi
610 * API fpr PE to post Message to WDA
611 */
612VOS_STATUS WDA_PostMsgApi(tpAniSirGlobal pMac, tSirMsgQ *pMsg) ;
613
614/* ---------------------------------------------------------
615 * FUNCTION: wdaGetGlobalSystemRole()
616 *
617 * Get the global HAL system role.
618 * ---------------------------------------------------------
619 */
620tBssSystemRole wdaGetGlobalSystemRole(tpAniSirGlobal pMac);
621
622/* maximum wait time for WDA complete event (correct value has to be derived)
623 * for now giving the value 1000 ms */
624#define WDA_WDI_COMPLETION_TIME_OUT 30000 /* in ms */
625
626#define WDA_TL_TX_FRAME_TIMEOUT 10000 /* in msec a very high upper limit of 5,000 msec */
627#define WDA_TL_SUSPEND_TIMEOUT 2000 /* in ms unit */
628
629/*Tag used by WDA to mark a timed out frame*/
630#define WDA_TL_TX_MGMT_TIMED_OUT 0xDEAD
631
632#define WDA_TL_TX_SUSPEND_SUCCESS 0
633#define WDA_TL_TX_SUSPEND_FAILURE 1
634
Chet Lanctot186b5732013-03-18 10:26:30 -0700635#define DPU_FEEDBACK_UNPROTECTED_ERROR 0x0F
Jeff Johnson295189b2012-06-20 16:38:30 -0700636
Jeff Johnson295189b2012-06-20 16:38:30 -0700637
638/* ---------------------------------------------------------------------------
639
640 RX Meta info access for Integrated SOC
641 RX BD header access for NON Integrated SOC
642
643 These MACRO are for RX frames that are on flat buffers
644
645 ---------------------------------------------------------------------------*/
646
647/* WDA_GET_RX_MAC_HEADER *****************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700648# define WDA_GET_RX_MAC_HEADER(pRxMeta) \
649 (tpSirMacMgmtHdr)( ((WDI_DS_RxMetaInfoType *)(pRxMeta))->mpduHeaderPtr )
Jeff Johnson295189b2012-06-20 16:38:30 -0700650
651/* WDA_GET_RX_MPDUHEADER3A ****************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700652# define WDA_GET_RX_MPDUHEADER3A(pRxMeta) \
653 (tpSirMacDataHdr3a)( ((WDI_DS_RxMetaInfoType *)(pRxMeta))->mpduHeaderPtr )
Jeff Johnson295189b2012-06-20 16:38:30 -0700654
655/* WDA_GET_RX_MPDU_HEADER_LEN *************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700656# define WDA_GET_RX_MPDU_HEADER_LEN(pRxMeta) \
657 ( ((WDI_DS_RxMetaInfoType *)(pRxMeta))->mpduHeaderLength )
Jeff Johnson295189b2012-06-20 16:38:30 -0700658
659/* WDA_GET_RX_MPDU_LEN ********************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700660# define WDA_GET_RX_MPDU_LEN(pRxMeta) \
661 ( ((WDI_DS_RxMetaInfoType *)(pRxMeta))->mpduLength )
Jeff Johnson295189b2012-06-20 16:38:30 -0700662
663/* WDA_GET_RX_PAYLOAD_LEN ****************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700664# define WDA_GET_RX_PAYLOAD_LEN(pRxMeta) \
665 ( WDA_GET_RX_MPDU_LEN(pRxMeta) - WDA_GET_RX_MPDU_HEADER_LEN(pRxMeta) )
Jeff Johnson295189b2012-06-20 16:38:30 -0700666
667/* WDA_GET_RX_MAC_RATE_IDX ***************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700668# define WDA_GET_RX_MAC_RATE_IDX(pRxMeta) \
669 ( ((WDI_DS_RxMetaInfoType *)(pRxMeta))->rateIndex )
Jeff Johnson295189b2012-06-20 16:38:30 -0700670
671/* WDA_GET_RX_MPDU_DATA ******************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700672# define WDA_GET_RX_MPDU_DATA(pRxMeta) \
673 ( ((WDI_DS_RxMetaInfoType *)(pRxMeta))->mpduDataPtr )
Jeff Johnson295189b2012-06-20 16:38:30 -0700674
675/* WDA_GET_RX_MPDU_DATA_OFFSET ***********************************************/
676// For Integrated SOC: When UMAC receive the packet. BD is already stripped off.
677// Data offset is the MPDU header length
Jeff Johnson295189b2012-06-20 16:38:30 -0700678# define WDA_GET_RX_MPDU_DATA_OFFSET(pRxMeta) WDA_GET_RX_MPDU_HEADER_LEN(pRxMeta)
Jeff Johnson295189b2012-06-20 16:38:30 -0700679
680/* WDA_GET_RX_MPDU_HEADER_OFFSET *********************************************/
681// For Integrated SOC: We UMAC receive the frame,
682// BD is gone and MAC header at offset 0
Jeff Johnson295189b2012-06-20 16:38:30 -0700683# define WDA_GET_RX_MPDU_HEADER_OFFSET(pRxMeta) 0
Jeff Johnson295189b2012-06-20 16:38:30 -0700684
685/* WDA_GET_RX_UNKNOWN_UCAST **************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700686# define WDA_GET_RX_UNKNOWN_UCAST(pRxMeta) \
687 ( ((WDI_DS_RxMetaInfoType *)(pRxMeta))->unknownUcastPkt )
Jeff Johnson295189b2012-06-20 16:38:30 -0700688
689/* WDA_GET_RX_TID ************************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700690# define WDA_GET_RX_TID(pRxMeta) ( ((WDI_DS_RxMetaInfoType *)(pRxMeta))->tid )
Jeff Johnson295189b2012-06-20 16:38:30 -0700691
692/* WDA_GET_RX_STAID **********************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700693# define WDA_GET_RX_STAID(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->staId)
Jeff Johnson295189b2012-06-20 16:38:30 -0700694
695/* WDA_GET_RX_ADDR3_IDX ******************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700696# define WDA_GET_RX_ADDR3_IDX(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->addr3Idx)
Jeff Johnson295189b2012-06-20 16:38:30 -0700697
698/* WDA_GET_RX_CH *************************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700699# define WDA_GET_RX_CH(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->rxChannel)
Jeff Johnson295189b2012-06-20 16:38:30 -0700700
Kiran Kumar Lokere79540f92013-04-25 17:32:16 -0700701/* WDA_GET_RX_RFBAND *********************************************************/
702# define WDA_GET_RX_RFBAND(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->rfBand)
703
Jeff Johnson295189b2012-06-20 16:38:30 -0700704/* WDA_GET_RX_DPUSIG *********************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700705# define WDA_GET_RX_DPUSIG(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->dpuSig)
Jeff Johnson295189b2012-06-20 16:38:30 -0700706
707/* WDA_IS_RX_BCAST ***********************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700708# define WDA_IS_RX_BCAST(pRxMeta) \
709 ( (1 == ((WDI_DS_RxMetaInfoType*)(pRxMeta))->bcast) ? VOS_TRUE : VOS_FALSE )
Jeff Johnson295189b2012-06-20 16:38:30 -0700710
711/* WDA_GET_RX_FT_DONE ********************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700712# define WDA_GET_RX_FT_DONE(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->ft)
Jeff Johnson295189b2012-06-20 16:38:30 -0700713
714/* WDA_GET_RX_DPU_FEEDBACK **************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700715# define WDA_GET_RX_DPU_FEEDBACK(pRxMeta) \
716 (((WDI_DS_RxMetaInfoType*)(pRxMeta))->dpuFeedback)
Jeff Johnson295189b2012-06-20 16:38:30 -0700717
718/* WDA_GET_RX_ASF ************************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700719# define WDA_GET_RX_ASF(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->amsdu_asf)
Jeff Johnson295189b2012-06-20 16:38:30 -0700720
721/* WDA_GET_RX_AEF ************************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700722# define WDA_GET_RX_AEF(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->amsdu_aef)
Jeff Johnson295189b2012-06-20 16:38:30 -0700723
724/* WDA_GET_RX_ESF ************************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700725# define WDA_GET_RX_ESF(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->amsdu_esf)
Jeff Johnson295189b2012-06-20 16:38:30 -0700726
727/* WDA_GET_RX_BEACON_SENT ****************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700728# define WDA_GET_RX_BEACON_SENT(pRxMeta) \
729 (((WDI_DS_RxMetaInfoType*)(pRxMeta))->bsf)
Jeff Johnson295189b2012-06-20 16:38:30 -0700730
731/* WDA_GET_RX_TSF_LATER *****************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700732# define WDA_GET_RX_TSF_LATER(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->rtsf)
Jeff Johnson295189b2012-06-20 16:38:30 -0700733
734/* WDA_GET_RX_TYPE ***********************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700735# define WDA_GET_RX_TYPE(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->type)
Jeff Johnson295189b2012-06-20 16:38:30 -0700736
737/* WDA_GET_RX_SUBTYPE ********************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700738# define WDA_GET_RX_SUBTYPE(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->subtype)
Jeff Johnson295189b2012-06-20 16:38:30 -0700739
740/* WDA_GET_RX_TYPE_SUBTYPE ****************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700741# define WDA_GET_RX_TYPE_SUBTYPE(pRxMeta) \
742 ((WDA_GET_RX_TYPE(pRxMeta)<<4)|WDA_GET_RX_SUBTYPE(pRxMeta))
Jeff Johnson295189b2012-06-20 16:38:30 -0700743
744/* WDA_GET_RX_REORDER_OPCODE : For MSDU reorder *******************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700745# define WDA_GET_RX_REORDER_OPCODE(pRxMeta) \
746 (((WDI_DS_RxMetaInfoType*)(pRxMeta))->ampdu_reorderOpcode)
Jeff Johnson295189b2012-06-20 16:38:30 -0700747
748/* WDA_GET_RX_REORDER_SLOT_IDX : For MSDU reorder ****************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700749# define WDA_GET_RX_REORDER_SLOT_IDX(pRxMeta) \
750 (((WDI_DS_RxMetaInfoType*)(pRxMeta))->ampdu_reorderSlotIdx)
Jeff Johnson295189b2012-06-20 16:38:30 -0700751
752/* WDA_GET_RX_REORDER_FWD_IDX : For MSDU reorder *****************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700753# define WDA_GET_RX_REORDER_FWD_IDX(pRxMeta) \
754 (((WDI_DS_RxMetaInfoType*)(pRxMeta))->ampdu_reorderFwdIdx)
Jeff Johnson295189b2012-06-20 16:38:30 -0700755
756/* WDA_GET_RX_REORDER_CUR_PKT_SEQ_NO : Fro MSDU reorder **********************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700757# define WDA_GET_RX_REORDER_CUR_PKT_SEQ_NO(pRxMeta) \
758 (((WDI_DS_RxMetaInfoType*)(pRxMeta))->currentPktSeqNo)
Jeff Johnson295189b2012-06-20 16:38:30 -0700759
760/* WDA_IS_RX_LLC_PRESENT *****************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700761# define WDA_IS_RX_LLC_PRESENT(pRxMeta) \
762 ( (0 == ((WDI_DS_RxMetaInfoType*)(pRxMeta))->llcr) ? VOS_TRUE : VOS_FALSE )
Jeff Johnson295189b2012-06-20 16:38:30 -0700763
Mihir Shete2187b8c2015-03-18 16:54:29 +0530764# define WDA_IS_LOGGING_DATA(pRxMeta) \
765 ((0 == ((WDI_DS_RxMetaInfoType*)(pRxMeta))->loggingData) ? VOS_FALSE \
766 : VOS_TRUE)
767
Jeff Johnson295189b2012-06-20 16:38:30 -0700768#define WLANWDA_HO_IS_AN_AMPDU 0x4000
769#define WLANWDA_HO_LAST_MPDU_OF_AMPDU 0x400
770
771/* WDA_IS_RX_AN_AMPDU ********************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700772# define WDA_IS_RX_AN_AMPDU(pRxMeta) \
773 ( ((WDI_DS_RxMetaInfoType*)(pRxMeta))->rxpFlags & WLANWDA_HO_IS_AN_AMPDU )
Jeff Johnson295189b2012-06-20 16:38:30 -0700774
775/* WDA_IS_RX_LAST_MPDU *******************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700776# define WDA_IS_RX_LAST_MPDU(pRxMeta) \
777 ( ((WDI_DS_RxMetaInfoType*)(pRxMeta))->rxpFlags & WLANWDA_HO_LAST_MPDU_OF_AMPDU )
Jeff Johnson295189b2012-06-20 16:38:30 -0700778
779/* WDA_GET_RX_TIMESTAMP *****************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700780# define WDA_GET_RX_TIMESTAMP(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->mclkRxTimestamp)
Jeff Johnson295189b2012-06-20 16:38:30 -0700781
782/* WDA_IS_RX_IN_SCAN *********************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700783# define WDA_IS_RX_IN_SCAN(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->scan)
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -0700784#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
785/* WDA_GET_OFFLOADSCANLEARN **************************************************/
786# define WDA_GET_OFFLOADSCANLEARN(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->offloadScanLearn)
787/* WDA_GET_ROAMCANDIDATEIND **************************************************/
788# define WDA_GET_ROAMCANDIDATEIND(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->roamCandidateInd)
789#endif
Dino Mycle41bdc942014-06-10 11:30:24 +0530790#ifdef WLAN_FEATURE_EXTSCAN
791#define WDA_GET_EXTSCANFULLSCANRESIND(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->extscanBuffer)
792#endif
Jeff Johnson295189b2012-06-20 16:38:30 -0700793/* WDA_GET_RX_RSSI_DB ********************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700794// Volans RF
795# define WDA_RSSI_OFFSET 100
796# define WDA_GET_RSSI0_DB(rssi0) (rssi0 - WDA_RSSI_OFFSET)
797# define WDA_GET_RSSI1_DB(rssi0) (0 - WDA_RSSI_OFFSET)
798# define WDA_MAX_OF_TWO(val1, val2) ( ((val1) > (val2)) ? (val1) : (val2))
799# define WDA_GET_RSSI_DB(rssi0) \
800 WDA_MAX_OF_TWO(WDA_GET_RSSI0_DB(rssi0), WDA_GET_RSSI1_DB(rssi0))
801# define WDA_GET_RX_RSSI_DB(pRxMeta) \
802 WDA_GET_RSSI_DB((((WDI_DS_RxMetaInfoType*)(pRxMeta))->rssi0))
Jeff Johnson295189b2012-06-20 16:38:30 -0700803
804/* WDA_GET_RX_SNR ************************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700805# define WDA_GET_RX_SNR(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->snr)
Jeff Johnson295189b2012-06-20 16:38:30 -0700806
807/* WDA_IS_RX_FC **************************************************************/
808// Flow control frames
Jeff Johnson295189b2012-06-20 16:38:30 -0700809/* FIXME WDA should provide the meta info which indicates FC frame
810 In the meantime, use hardcoded FALSE, since we don't support FC yet */
811# define WDA_IS_RX_FC(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->fc)
Jeff Johnson295189b2012-06-20 16:38:30 -0700812
813/* WDA_GET_RX_FC_VALID_STA_MASK **********************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700814# define WDA_GET_RX_FC_VALID_STA_MASK(pRxMeta) \
815 (((WDI_DS_RxMetaInfoType*)(pRxMeta))->fcSTAValidMask)
Jeff Johnson295189b2012-06-20 16:38:30 -0700816
817/* WDA_GET_RX_FC_PWRSAVE_STA_MASK ********************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700818# define WDA_GET_RX_FC_PWRSAVE_STA_MASK(pRxMeta) \
819 (((WDI_DS_RxMetaInfoType*)(pRxMeta))->fcSTAPwrSaveStateMask)
Jeff Johnson295189b2012-06-20 16:38:30 -0700820
821/* WDA_GET_RX_FC_STA_THRD_IND_MASK ********************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700822# define WDA_GET_RX_FC_STA_THRD_IND_MASK(pRxMeta) \
823 (((WDI_DS_RxMetaInfoType*)(pRxMeta))->fcSTAThreshIndMask)
Jeff Johnson295189b2012-06-20 16:38:30 -0700824
825/* WDA_GET_RX_FC_FORCED_STA_TX_DISABLED_BITMAP ********************************************/
826# define WDA_GET_RX_FC_STA_TX_DISABLED_BITMAP(pRxMeta) \
827 (((WDI_DS_RxMetaInfoType*)(pRxMeta))->fcStaTxDisabledBitmap)
828
829/* WDA_GET_RX_FC_STA_TXQ_LEN *************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700830# define WDA_GET_RX_FC_STA_TXQ_LEN(pRxMeta, staId) \
831 (((WDI_DS_RxMetaInfoType*)(pRxMeta))->fcSTATxQLen[(staId)])
Jeff Johnson295189b2012-06-20 16:38:30 -0700832
833/* WDA_GET_RX_FC_STA_CUR_TXRATE **********************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700834# define WDA_GET_RX_FC_STA_CUR_TXRATE(pRxMeta, staId) \
835 (((WDI_DS_RxMetaInfoType*)(pRxMeta))->fcSTACurTxRate[(staId)])
Jeff Johnson295189b2012-06-20 16:38:30 -0700836
837/* WDA_GET_RX_REPLAY_COUNT ***************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700838# define WDA_GET_RX_REPLAY_COUNT(pRxMeta) \
839 (((WDI_DS_RxMetaInfoType*)(pRxMeta))->replayCount)
Jeff Johnson295189b2012-06-20 16:38:30 -0700840
841/* WDA_GETRSSI0 ***************************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700842# define WDA_GETRSSI0(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->rssi0)
Jeff Johnson295189b2012-06-20 16:38:30 -0700843
844/* WDA_GETRSSI1 ***************************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700845# define WDA_GETRSSI1(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->rssi1)
Jeff Johnson295189b2012-06-20 16:38:30 -0700846
Chet Lanctot186b5732013-03-18 10:26:30 -0700847/* WDA_GET_RX_RMF *****************************************************/
848#ifdef WLAN_FEATURE_11W
849# define WDA_GET_RX_RMF(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->rmf)
850#endif
Jeff Johnson295189b2012-06-20 16:38:30 -0700851
852/* --------------------------------------------------------------------*/
853
Jeff Johnson295189b2012-06-20 16:38:30 -0700854uint8 WDA_IsWcnssWlanCompiledVersionGreaterThanOrEqual(uint8 major, uint8 minor, uint8 version, uint8 revision);
855uint8 WDA_IsWcnssWlanReportedVersionGreaterThanOrEqual(uint8 major, uint8 minor, uint8 version, uint8 revision);
856
857
858VOS_STATUS WDA_GetWcnssWlanCompiledVersion(v_PVOID_t pvosGCtx,
859 tSirVersionType *pVersion);
860VOS_STATUS WDA_GetWcnssWlanReportedVersion(v_PVOID_t pvosGCtx,
861 tSirVersionType *pVersion);
862VOS_STATUS WDA_GetWcnssSoftwareVersion(v_PVOID_t pvosGCtx,
863 tANI_U8 *pVersion,
864 tANI_U32 versionBufferSize);
865VOS_STATUS WDA_GetWcnssHardwareVersion(v_PVOID_t pvosGCtx,
866 tANI_U8 *pVersion,
867 tANI_U32 versionBufferSize);
868
869VOS_STATUS WDA_SetUapsdAcParamsReq(v_PVOID_t , v_U8_t , tUapsdInfo *);
870VOS_STATUS WDA_ClearUapsdAcParamsReq(v_PVOID_t , v_U8_t , wpt_uint8 );
871VOS_STATUS WDA_SetRSSIThresholdsReq(tpAniSirGlobal , tSirRSSIThresholds *);
872// Just declare the function extern here and save some time.
873extern tSirRetStatus halMmhForwardMBmsg(void*, tSirMbMsg*);
874tSirRetStatus uMacPostCtrlMsg(void* pSirGlobal, tSirMbMsg* pMb);
Jeff Johnson295189b2012-06-20 16:38:30 -0700875
876
Jeff Johnson295189b2012-06-20 16:38:30 -0700877#define WDA_MAX_TXPOWER_INVALID HAL_MAX_TXPOWER_INVALID
878
879//WDA Messages to HAL messages Mapping
880#if 0
881//Required by SME
882//#define WDA_SIGNAL_BT_EVENT SIR_HAL_SIGNAL_BT_EVENT - this is defined in sirParams.h
883//#define WDA_BTC_SET_CFG SIR_HAL_BTC_SET_CFG
884
885//Required by PE
886#define WDA_HOST_MSG_START SIR_HAL_HOST_MSG_START
887#define WDA_INITIAL_CAL_FAILED_NTF SIR_HAL_INITIAL_CAL_FAILED_NTF
888#define WDA_SHUTDOWN_REQ SIR_HAL_SHUTDOWN_REQ
889#define WDA_SHUTDOWN_CNF SIR_HAL_SHUTDOWN_CNF
890#define WDA_RADIO_ON_OFF_IND SIR_HAL_RADIO_ON_OFF_IND
891#define WDA_RESET_CNF SIR_HAL_RESET_CNF
892#define WDA_SetRegDomain \
Madan Mohan Koyyalamudic0d1b3f2012-11-13 10:41:07 -0800893 (eHalStatus halPhySetRegDomain(tHalHandle hHal, eRegDomainId regDomain))
Jeff Johnson295189b2012-06-20 16:38:30 -0700894#endif
895
896#define WDA_APP_SETUP_NTF SIR_HAL_APP_SETUP_NTF
897#define WDA_NIC_OPER_NTF SIR_HAL_NIC_OPER_NTF
898#define WDA_INIT_START_REQ SIR_HAL_INIT_START_REQ
899#define WDA_RESET_REQ SIR_HAL_RESET_REQ
900#define WDA_HDD_ADDBA_REQ SIR_HAL_HDD_ADDBA_REQ
901#define WDA_HDD_ADDBA_RSP SIR_HAL_HDD_ADDBA_RSP
902#define WDA_DELETEBA_IND SIR_HAL_DELETEBA_IND
903#define WDA_BA_FAIL_IND SIR_HAL_BA_FAIL_IND
904#define WDA_TL_FLUSH_AC_REQ SIR_TL_HAL_FLUSH_AC_REQ
905#define WDA_TL_FLUSH_AC_RSP SIR_HAL_TL_FLUSH_AC_RSP
906
907#define WDA_MSG_TYPES_BEGIN SIR_HAL_MSG_TYPES_BEGIN
Siddharth Bhal64246172015-02-27 01:04:37 +0530908#define WDA_EXT_MSG_TYPES_BEGIN SIR_HAL_EXT_MSG_TYPES_BEGIN
Jeff Johnson295189b2012-06-20 16:38:30 -0700909#define WDA_ITC_MSG_TYPES_BEGIN SIR_HAL_ITC_MSG_TYPES_BEGIN
910#define WDA_RADAR_DETECTED_IND SIR_HAL_RADAR_DETECTED_IND
911#define WDA_WDT_KAM_RSP SIR_HAL_WDT_KAM_RSP
912#define WDA_TIMER_TEMP_MEAS_REQ SIR_HAL_TIMER_TEMP_MEAS_REQ
913#define WDA_TIMER_PERIODIC_STATS_COLLECT_REQ SIR_HAL_TIMER_PERIODIC_STATS_COLLECT_REQ
914#define WDA_CAL_REQ_NTF SIR_HAL_CAL_REQ_NTF
915#define WDA_MNT_OPEN_TPC_TEMP_MEAS_REQ SIR_HAL_MNT_OPEN_TPC_TEMP_MEAS_REQ
916#define WDA_CCA_MONITOR_INTERVAL_TO SIR_HAL_CCA_MONITOR_INTERVAL_TO
917#define WDA_CCA_MONITOR_DURATION_TO SIR_HAL_CCA_MONITOR_DURATION_TO
918#define WDA_CCA_MONITOR_START SIR_HAL_CCA_MONITOR_START
919#define WDA_CCA_MONITOR_STOP SIR_HAL_CCA_MONITOR_STOP
920#define WDA_CCA_CHANGE_MODE SIR_HAL_CCA_CHANGE_MODE
921#define WDA_TIMER_WRAP_AROUND_STATS_COLLECT_REQ SIR_HAL_TIMER_WRAP_AROUND_STATS_COLLECT_REQ
922
923/*
924 * New Taurus related messages
925 */
926#define WDA_ADD_STA_REQ SIR_HAL_ADD_STA_REQ
927#define WDA_ADD_STA_RSP SIR_HAL_ADD_STA_RSP
928#define WDA_ADD_STA_SELF_RSP SIR_HAL_ADD_STA_SELF_RSP
929#define WDA_DEL_STA_SELF_RSP SIR_HAL_DEL_STA_SELF_RSP
930#define WDA_DELETE_STA_REQ SIR_HAL_DELETE_STA_REQ
931#define WDA_DELETE_STA_RSP SIR_HAL_DELETE_STA_RSP
932#define WDA_ADD_BSS_REQ SIR_HAL_ADD_BSS_REQ
933#define WDA_ADD_BSS_RSP SIR_HAL_ADD_BSS_RSP
934#define WDA_DELETE_BSS_REQ SIR_HAL_DELETE_BSS_REQ
935#define WDA_DELETE_BSS_RSP SIR_HAL_DELETE_BSS_RSP
936#define WDA_INIT_SCAN_REQ SIR_HAL_INIT_SCAN_REQ
937#define WDA_INIT_SCAN_RSP SIR_HAL_INIT_SCAN_RSP
938#define WDA_START_SCAN_REQ SIR_HAL_START_SCAN_REQ
939#define WDA_START_SCAN_RSP SIR_HAL_START_SCAN_RSP
940#define WDA_END_SCAN_REQ SIR_HAL_END_SCAN_REQ
941#define WDA_END_SCAN_RSP SIR_HAL_END_SCAN_RSP
942#define WDA_FINISH_SCAN_REQ SIR_HAL_FINISH_SCAN_REQ
943#define WDA_FINISH_SCAN_RSP SIR_HAL_FINISH_SCAN_RSP
944#define WDA_SEND_BEACON_REQ SIR_HAL_SEND_BEACON_REQ
945#define WDA_SEND_BEACON_RSP SIR_HAL_SEND_BEACON_RSP
946
947#define WDA_INIT_CFG_REQ SIR_HAL_INIT_CFG_REQ
948#define WDA_INIT_CFG_RSP SIR_HAL_INIT_CFG_RSP
949
950#define WDA_INIT_WM_CFG_REQ SIR_HAL_INIT_WM_CFG_REQ
951#define WDA_INIT_WM_CFG_RSP SIR_HAL_INIT_WM_CFG_RSP
952
953#define WDA_SET_BSSKEY_REQ SIR_HAL_SET_BSSKEY_REQ
954#define WDA_SET_BSSKEY_RSP SIR_HAL_SET_BSSKEY_RSP
955#define WDA_SET_STAKEY_REQ SIR_HAL_SET_STAKEY_REQ
956#define WDA_SET_STAKEY_RSP SIR_HAL_SET_STAKEY_RSP
957#define WDA_DPU_STATS_REQ SIR_HAL_DPU_STATS_REQ
958#define WDA_DPU_STATS_RSP SIR_HAL_DPU_STATS_RSP
959#define WDA_GET_DPUINFO_REQ SIR_HAL_GET_DPUINFO_REQ
960#define WDA_GET_DPUINFO_RSP SIR_HAL_GET_DPUINFO_RSP
961
962#define WDA_UPDATE_EDCA_PROFILE_IND SIR_HAL_UPDATE_EDCA_PROFILE_IND
963
964#define WDA_UPDATE_STARATEINFO_REQ SIR_HAL_UPDATE_STARATEINFO_REQ
965#define WDA_UPDATE_STARATEINFO_RSP SIR_HAL_UPDATE_STARATEINFO_RSP
966
967#define WDA_UPDATE_BEACON_IND SIR_HAL_UPDATE_BEACON_IND
968#define WDA_UPDATE_CF_IND SIR_HAL_UPDATE_CF_IND
969#define WDA_CHNL_SWITCH_REQ SIR_HAL_CHNL_SWITCH_REQ
970#define WDA_ADD_TS_REQ SIR_HAL_ADD_TS_REQ
971#define WDA_DEL_TS_REQ SIR_HAL_DEL_TS_REQ
972#define WDA_SOFTMAC_TXSTAT_REPORT SIR_HAL_SOFTMAC_TXSTAT_REPORT
973
974#define WDA_MBOX_SENDMSG_COMPLETE_IND SIR_HAL_MBOX_SENDMSG_COMPLETE_IND
975#define WDA_EXIT_BMPS_REQ SIR_HAL_EXIT_BMPS_REQ
976#define WDA_EXIT_BMPS_RSP SIR_HAL_EXIT_BMPS_RSP
977#define WDA_EXIT_BMPS_IND SIR_HAL_EXIT_BMPS_IND
978#define WDA_ENTER_BMPS_REQ SIR_HAL_ENTER_BMPS_REQ
979#define WDA_ENTER_BMPS_RSP SIR_HAL_ENTER_BMPS_RSP
980#define WDA_BMPS_STATUS_IND SIR_HAL_BMPS_STATUS_IND
981#define WDA_MISSED_BEACON_IND SIR_HAL_MISSED_BEACON_IND
982
983#define WDA_CFG_RXP_FILTER_REQ SIR_HAL_CFG_RXP_FILTER_REQ
984#define WDA_CFG_RXP_FILTER_RSP SIR_HAL_CFG_RXP_FILTER_RSP
985
986#define WDA_SWITCH_CHANNEL_RSP SIR_HAL_SWITCH_CHANNEL_RSP
987#define WDA_P2P_NOA_ATTR_IND SIR_HAL_P2P_NOA_ATTR_IND
Viral Modid86bde22012-12-10 13:09:21 -0800988#define WDA_P2P_NOA_START_IND SIR_HAL_P2P_NOA_START_IND
Jeff Johnson295189b2012-06-20 16:38:30 -0700989#define WDA_PWR_SAVE_CFG SIR_HAL_PWR_SAVE_CFG
990
991#define WDA_REGISTER_PE_CALLBACK SIR_HAL_REGISTER_PE_CALLBACK
992#define WDA_SOFTMAC_MEM_READREQUEST SIR_HAL_SOFTMAC_MEM_READREQUEST
993#define WDA_SOFTMAC_MEM_WRITEREQUEST SIR_HAL_SOFTMAC_MEM_WRITEREQUEST
994
995#define WDA_SOFTMAC_MEM_READRESPONSE SIR_HAL_SOFTMAC_MEM_READRESPONSE
996#define WDA_SOFTMAC_BULKREGWRITE_CONFIRM SIR_HAL_SOFTMAC_BULKREGWRITE_CONFIRM
997#define WDA_SOFTMAC_BULKREGREAD_RESPONSE SIR_HAL_SOFTMAC_BULKREGREAD_RESPONSE
998#define WDA_SOFTMAC_HOSTMESG_MSGPROCESSRESULT SIR_HAL_SOFTMAC_HOSTMESG_MSGPROCESSRESULT
999
1000#define WDA_ADDBA_REQ SIR_HAL_ADDBA_REQ
1001#define WDA_ADDBA_RSP SIR_HAL_ADDBA_RSP
1002#define WDA_DELBA_IND SIR_HAL_DELBA_IND
1003#define WDA_DEL_BA_IND SIR_HAL_DEL_BA_IND
1004#define WDA_MIC_FAILURE_IND SIR_HAL_MIC_FAILURE_IND
1005
1006//message from sme to initiate delete block ack session.
1007#define WDA_DELBA_REQ SIR_HAL_DELBA_REQ
1008#define WDA_IBSS_STA_ADD SIR_HAL_IBSS_STA_ADD
1009#define WDA_TIMER_ADJUST_ADAPTIVE_THRESHOLD_IND SIR_HAL_TIMER_ADJUST_ADAPTIVE_THRESHOLD_IND
1010#define WDA_SET_LINK_STATE SIR_HAL_SET_LINK_STATE
1011#define WDA_SET_LINK_STATE_RSP SIR_HAL_SET_LINK_STATE_RSP
1012#define WDA_ENTER_IMPS_REQ SIR_HAL_ENTER_IMPS_REQ
1013#define WDA_ENTER_IMPS_RSP SIR_HAL_ENTER_IMPS_RSP
1014#define WDA_EXIT_IMPS_RSP SIR_HAL_EXIT_IMPS_RSP
1015#define WDA_EXIT_IMPS_REQ SIR_HAL_EXIT_IMPS_REQ
1016#define WDA_SOFTMAC_HOSTMESG_PS_STATUS_IND SIR_HAL_SOFTMAC_HOSTMESG_PS_STATUS_IND
1017#define WDA_POSTPONE_ENTER_IMPS_RSP SIR_HAL_POSTPONE_ENTER_IMPS_RSP
1018#define WDA_STA_STAT_REQ SIR_HAL_STA_STAT_REQ
1019#define WDA_GLOBAL_STAT_REQ SIR_HAL_GLOBAL_STAT_REQ
1020#define WDA_AGGR_STAT_REQ SIR_HAL_AGGR_STAT_REQ
1021#define WDA_STA_STAT_RSP SIR_HAL_STA_STAT_RSP
1022#define WDA_GLOBAL_STAT_RSP SIR_HAL_GLOBAL_STAT_RSP
1023#define WDA_AGGR_STAT_RSP SIR_HAL_AGGR_STAT_RSP
1024#define WDA_STAT_SUMM_REQ SIR_HAL_STAT_SUMM_REQ
1025#define WDA_STAT_SUMM_RSP SIR_HAL_STAT_SUMM_RSP
1026#define WDA_REMOVE_BSSKEY_REQ SIR_HAL_REMOVE_BSSKEY_REQ
1027#define WDA_REMOVE_BSSKEY_RSP SIR_HAL_REMOVE_BSSKEY_RSP
1028#define WDA_REMOVE_STAKEY_REQ SIR_HAL_REMOVE_STAKEY_REQ
1029#define WDA_REMOVE_STAKEY_RSP SIR_HAL_REMOVE_STAKEY_RSP
1030#define WDA_SET_STA_BCASTKEY_REQ SIR_HAL_SET_STA_BCASTKEY_REQ
1031#define WDA_SET_STA_BCASTKEY_RSP SIR_HAL_SET_STA_BCASTKEY_RSP
1032#define WDA_REMOVE_STA_BCASTKEY_REQ SIR_HAL_REMOVE_STA_BCASTKEY_REQ
1033#define WDA_REMOVE_STA_BCASTKEY_RSP SIR_HAL_REMOVE_STA_BCASTKEY_RSP
1034#define WDA_ADD_TS_RSP SIR_HAL_ADD_TS_RSP
1035#define WDA_DPU_MIC_ERROR SIR_HAL_DPU_MIC_ERROR
1036#define WDA_TIMER_BA_ACTIVITY_REQ SIR_HAL_TIMER_BA_ACTIVITY_REQ
1037#define WDA_TIMER_CHIP_MONITOR_TIMEOUT SIR_HAL_TIMER_CHIP_MONITOR_TIMEOUT
1038#define WDA_TIMER_TRAFFIC_ACTIVITY_REQ SIR_HAL_TIMER_TRAFFIC_ACTIVITY_REQ
1039#define WDA_TIMER_ADC_RSSI_STATS SIR_HAL_TIMER_ADC_RSSI_STATS
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08001040#define WDA_TIMER_TRAFFIC_STATS_IND SIR_HAL_TRAFFIC_STATS_IND
1041
Chet Lanctot186b5732013-03-18 10:26:30 -07001042#ifdef WLAN_FEATURE_11W
1043#define WDA_EXCLUDE_UNENCRYPTED_IND SIR_HAL_EXCLUDE_UNENCRYPTED_IND
1044#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001045
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08001046#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07001047#define WDA_TSM_STATS_REQ SIR_HAL_TSM_STATS_REQ
1048#define WDA_TSM_STATS_RSP SIR_HAL_TSM_STATS_RSP
1049#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001050#define WDA_UPDATE_PROBE_RSP_IE_BITMAP_IND SIR_HAL_UPDATE_PROBE_RSP_IE_BITMAP_IND
1051#define WDA_UPDATE_UAPSD_IND SIR_HAL_UPDATE_UAPSD_IND
Jeff Johnson295189b2012-06-20 16:38:30 -07001052
1053#define WDA_SET_MIMOPS_REQ SIR_HAL_SET_MIMOPS_REQ
1054#define WDA_SET_MIMOPS_RSP SIR_HAL_SET_MIMOPS_RSP
1055#define WDA_SYS_READY_IND SIR_HAL_SYS_READY_IND
1056#define WDA_SET_TX_POWER_REQ SIR_HAL_SET_TX_POWER_REQ
1057#define WDA_SET_TX_POWER_RSP SIR_HAL_SET_TX_POWER_RSP
1058#define WDA_GET_TX_POWER_REQ SIR_HAL_GET_TX_POWER_REQ
1059#define WDA_GET_TX_POWER_RSP SIR_HAL_GET_TX_POWER_RSP
1060#define WDA_GET_NOISE_REQ SIR_HAL_GET_NOISE_REQ
1061#define WDA_GET_NOISE_RSP SIR_HAL_GET_NOISE_RSP
1062#define WDA_SET_TX_PER_TRACKING_REQ SIR_HAL_SET_TX_PER_TRACKING_REQ
1063
1064/* Messages to support transmit_halt and transmit_resume */
1065#define WDA_TRANSMISSION_CONTROL_IND SIR_HAL_TRANSMISSION_CONTROL_IND
1066/* Indication from LIM to HAL to Initialize radar interrupt */
1067#define WDA_INIT_RADAR_IND SIR_HAL_INIT_RADAR_IND
1068/* Messages to support transmit_halt and transmit_resume */
1069
1070
1071#define WDA_BEACON_PRE_IND SIR_HAL_BEACON_PRE_IND
1072#define WDA_ENTER_UAPSD_REQ SIR_HAL_ENTER_UAPSD_REQ
1073#define WDA_ENTER_UAPSD_RSP SIR_HAL_ENTER_UAPSD_RSP
1074#define WDA_EXIT_UAPSD_REQ SIR_HAL_EXIT_UAPSD_REQ
1075#define WDA_EXIT_UAPSD_RSP SIR_HAL_EXIT_UAPSD_RSP
1076#define WDA_LOW_RSSI_IND SIR_HAL_LOW_RSSI_IND
1077#define WDA_BEACON_FILTER_IND SIR_HAL_BEACON_FILTER_IND
1078/// PE <-> HAL WOWL messages
1079#define WDA_WOWL_ADD_BCAST_PTRN SIR_HAL_WOWL_ADD_BCAST_PTRN
1080#define WDA_WOWL_DEL_BCAST_PTRN SIR_HAL_WOWL_DEL_BCAST_PTRN
1081#define WDA_WOWL_ENTER_REQ SIR_HAL_WOWL_ENTER_REQ
1082#define WDA_WOWL_ENTER_RSP SIR_HAL_WOWL_ENTER_RSP
1083#define WDA_WOWL_EXIT_REQ SIR_HAL_WOWL_EXIT_REQ
1084#define WDA_WOWL_EXIT_RSP SIR_HAL_WOWL_EXIT_RSP
1085#define WDA_TX_COMPLETE_IND SIR_HAL_TX_COMPLETE_IND
1086#define WDA_TIMER_RA_COLLECT_AND_ADAPT SIR_HAL_TIMER_RA_COLLECT_AND_ADAPT
1087/// PE <-> HAL statistics messages
1088#define WDA_GET_STATISTICS_REQ SIR_HAL_GET_STATISTICS_REQ
1089#define WDA_GET_STATISTICS_RSP SIR_HAL_GET_STATISTICS_RSP
1090#define WDA_SET_KEY_DONE SIR_HAL_SET_KEY_DONE
1091
1092/// PE <-> HAL BTC messages
1093#define WDA_BTC_SET_CFG SIR_HAL_BTC_SET_CFG
1094#define WDA_SIGNAL_BT_EVENT SIR_HAL_SIGNAL_BT_EVENT
1095#define WDA_HANDLE_FW_MBOX_RSP SIR_HAL_HANDLE_FW_MBOX_RSP
1096#define WDA_UPDATE_PROBE_RSP_TEMPLATE_IND SIR_HAL_UPDATE_PROBE_RSP_TEMPLATE_IND
1097#define WDA_SIGNAL_BTAMP_EVENT SIR_HAL_SIGNAL_BTAMP_EVENT
1098
Jeff Johnsone7245742012-09-05 17:12:55 -07001099#ifdef FEATURE_OEM_DATA_SUPPORT
1100/* PE <-> HAL OEM_DATA RELATED MESSAGES */
1101#define WDA_START_OEM_DATA_REQ SIR_HAL_START_OEM_DATA_REQ
1102#define WDA_START_OEM_DATA_RSP SIR_HAL_START_OEM_DATA_RSP
1103#define WDA_FINISH_OEM_DATA_REQ SIR_HAL_FINISH_OEM_DATA_REQ
1104#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001105
1106#define WDA_SET_MAX_TX_POWER_REQ SIR_HAL_SET_MAX_TX_POWER_REQ
1107#define WDA_SET_MAX_TX_POWER_RSP SIR_HAL_SET_MAX_TX_POWER_RSP
1108
Arif Hussaina5ebce02013-08-09 15:09:58 -07001109#define WDA_SET_MAX_TX_POWER_PER_BAND_REQ \
1110 SIR_HAL_SET_MAX_TX_POWER_PER_BAND_REQ
1111#define WDA_SET_MAX_TX_POWER_PER_BAND_RSP \
1112 SIR_HAL_SET_MAX_TX_POWER_PER_BAND_RSP
1113
Jeff Johnson295189b2012-06-20 16:38:30 -07001114#define WDA_SEND_MSG_COMPLETE SIR_HAL_SEND_MSG_COMPLETE
1115
1116/// PE <-> HAL Host Offload message
1117#define WDA_SET_HOST_OFFLOAD SIR_HAL_SET_HOST_OFFLOAD
1118
1119/// PE <-> HAL Keep Alive message
1120#define WDA_SET_KEEP_ALIVE SIR_HAL_SET_KEEP_ALIVE
1121
1122#ifdef WLAN_NS_OFFLOAD
1123#define WDA_SET_NS_OFFLOAD SIR_HAL_SET_NS_OFFLOAD
1124#endif //WLAN_NS_OFFLOAD
1125#define WDA_ADD_STA_SELF_REQ SIR_HAL_ADD_STA_SELF_REQ
1126#define WDA_DEL_STA_SELF_REQ SIR_HAL_DEL_STA_SELF_REQ
1127
Jeff Johnson295189b2012-06-20 16:38:30 -07001128#define WDA_SET_P2P_GO_NOA_REQ SIR_HAL_SET_P2P_GO_NOA_REQ
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05301129#define WDA_SET_TDLS_LINK_ESTABLISH_REQ SIR_HAL_TDLS_LINK_ESTABLISH_REQ
1130#define WDA_SET_TDLS_LINK_ESTABLISH_REQ_RSP SIR_HAL_TDLS_LINK_ESTABLISH_REQ_RSP
Jeff Johnson295189b2012-06-20 16:38:30 -07001131
Madan Mohan Koyyalamudia53c4dc2012-11-13 10:35:42 -08001132#define WDA_TX_COMPLETE_TIMEOUT_IND (WDA_MSG_TYPES_END - 1)
Jeff Johnson295189b2012-06-20 16:38:30 -07001133#define WDA_WLAN_SUSPEND_IND SIR_HAL_WLAN_SUSPEND_IND
1134#define WDA_WLAN_RESUME_REQ SIR_HAL_WLAN_RESUME_REQ
1135#define WDA_MSG_TYPES_END SIR_HAL_MSG_TYPES_END
1136
Jeff Johnson295189b2012-06-20 16:38:30 -07001137#define WDA_MMH_TXMB_READY_EVT SIR_HAL_MMH_TXMB_READY_EVT
1138#define WDA_MMH_RXMB_DONE_EVT SIR_HAL_MMH_RXMB_DONE_EVT
1139#define WDA_MMH_MSGQ_NE_EVT SIR_HAL_MMH_MSGQ_NE_EVT
Jeff Johnson295189b2012-06-20 16:38:30 -07001140
1141#ifdef WLAN_FEATURE_VOWIFI_11R
1142#define WDA_AGGR_QOS_REQ SIR_HAL_AGGR_QOS_REQ
1143#define WDA_AGGR_QOS_RSP SIR_HAL_AGGR_QOS_RSP
1144#endif /* WLAN_FEATURE_VOWIFI_11R */
1145
Jeff Johnson295189b2012-06-20 16:38:30 -07001146/* FTM CMD MSG */
1147#define WDA_FTM_CMD_REQ SIR_PTT_MSG_TYPES_BEGIN
1148#define WDA_FTM_CMD_RSP SIR_PTT_MSG_TYPES_END
Jeff Johnson295189b2012-06-20 16:38:30 -07001149
1150#ifdef FEATURE_WLAN_SCAN_PNO
1151/*Requests sent to lower driver*/
1152#define WDA_SET_PNO_REQ SIR_HAL_SET_PNO_REQ
1153#define WDA_SET_RSSI_FILTER_REQ SIR_HAL_SET_RSSI_FILTER_REQ
1154#define WDA_UPDATE_SCAN_PARAMS_REQ SIR_HAL_UPDATE_SCAN_PARAMS
1155
1156/*Indication comming from lower driver*/
1157#define WDA_SET_PNO_CHANGED_IND SIR_HAL_SET_PNO_CHANGED_IND
1158#endif // FEATURE_WLAN_SCAN_PNO
1159
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07001160#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07001161#define WDA_ROAM_SCAN_OFFLOAD_REQ SIR_HAL_ROAM_SCAN_OFFLOAD_REQ
Varun Reddy Yeturucc661d22013-05-20 11:47:10 -07001162#define WDA_ROAM_SCAN_OFFLOAD_RSP SIR_HAL_ROAM_SCAN_OFFLOAD_RSP
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07001163#endif
1164
Jeff Johnson295189b2012-06-20 16:38:30 -07001165#ifdef WLAN_WAKEUP_EVENTS
1166#define WDA_WAKE_REASON_IND SIR_HAL_WAKE_REASON_IND
1167#endif // WLAN_WAKEUP_EVENTS
1168
1169#ifdef WLAN_FEATURE_PACKET_FILTERING
1170#define WDA_8023_MULTICAST_LIST_REQ SIR_HAL_8023_MULTICAST_LIST_REQ
1171#define WDA_RECEIVE_FILTER_SET_FILTER_REQ SIR_HAL_RECEIVE_FILTER_SET_FILTER_REQ
1172#define WDA_PACKET_COALESCING_FILTER_MATCH_COUNT_REQ SIR_HAL_PACKET_COALESCING_FILTER_MATCH_COUNT_REQ
1173#define WDA_PACKET_COALESCING_FILTER_MATCH_COUNT_RSP SIR_HAL_PACKET_COALESCING_FILTER_MATCH_COUNT_RSP
1174#define WDA_RECEIVE_FILTER_CLEAR_FILTER_REQ SIR_HAL_RECEIVE_FILTER_CLEAR_FILTER_REQ
1175#endif // WLAN_FEATURE_PACKET_FILTERING
1176
1177#define WDA_SET_POWER_PARAMS_REQ SIR_HAL_SET_POWER_PARAMS_REQ
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +05301178#define WDA_DHCP_START_IND SIR_HAL_DHCP_START_IND
1179#define WDA_DHCP_STOP_IND SIR_HAL_DHCP_STOP_IND
1180
Jeff Johnson295189b2012-06-20 16:38:30 -07001181
1182#ifdef WLAN_FEATURE_GTK_OFFLOAD
1183#define WDA_GTK_OFFLOAD_REQ SIR_HAL_GTK_OFFLOAD_REQ
1184#define WDA_GTK_OFFLOAD_GETINFO_REQ SIR_HAL_GTK_OFFLOAD_GETINFO_REQ
1185#define WDA_GTK_OFFLOAD_GETINFO_RSP SIR_HAL_GTK_OFFLOAD_GETINFO_RSP
1186#endif //WLAN_FEATURE_GTK_OFFLOAD
1187
1188#define WDA_SET_TM_LEVEL_REQ SIR_HAL_SET_TM_LEVEL_REQ
1189
Mohit Khanna4a70d262012-09-11 16:30:12 -07001190#ifdef WLAN_FEATURE_11AC
1191#define WDA_UPDATE_OP_MODE SIR_HAL_UPDATE_OP_MODE
1192#endif
1193
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08001194#define WDA_GET_ROAM_RSSI_REQ SIR_HAL_GET_ROAM_RSSI_REQ
1195#define WDA_GET_ROAM_RSSI_RSP SIR_HAL_GET_ROAM_RSSI_RSP
1196
Srinivas Dasari030bad32015-02-18 23:23:54 +05301197#define WDA_NAN_REQUEST SIR_HAL_NAN_REQUEST
1198
Ganesh Kondabattinif0fa07c2013-06-11 17:47:49 +05301199#define WDA_START_SCAN_OFFLOAD_REQ SIR_HAL_START_SCAN_OFFLOAD_REQ
1200#define WDA_START_SCAN_OFFLOAD_RSP SIR_HAL_START_SCAN_OFFLOAD_RSP
Gopichand Nakkala09358592013-06-13 14:47:55 +05301201#define WDA_STOP_SCAN_OFFLOAD_REQ SIR_HAL_STOP_SCAN_OFFLOAD_REQ
1202#define WDA_STOP_SCAN_OFFLOAD_RSP SIR_HAL_STOP_SCAN_OFFLOAD_RSP
Ganesh Kondabattinif0fa07c2013-06-11 17:47:49 +05301203#define WDA_UPDATE_CHAN_LIST_REQ SIR_HAL_UPDATE_CHAN_LIST_REQ
1204#define WDA_UPDATE_CHAN_LIST_RSP SIR_HAL_UPDATE_CHAN_LIST_RSP
1205#define WDA_RX_SCAN_EVENT SIR_HAL_RX_SCAN_EVENT
Ravi Joshid2ca7c42013-07-23 08:37:49 -07001206#define WDA_IBSS_PEER_INACTIVITY_IND SIR_HAL_IBSS_PEER_INACTIVITY_IND
Ganesh Kondabattinif0fa07c2013-06-11 17:47:49 +05301207
Leo Chang9056f462013-08-01 19:21:11 -07001208#ifdef FEATURE_WLAN_LPHB
1209#define WDA_LPHB_CONF_REQ SIR_HAL_LPHB_CONF_IND
1210#define WDA_LPHB_WAIT_EXPIRE_IND SIR_HAL_LPHB_WAIT_EXPIRE_IND
1211#endif /* FEATURE_WLAN_LPHB */
1212
Yue Mab9c86f42013-08-14 15:59:08 -07001213#define WDA_ADD_PERIODIC_TX_PTRN_IND SIR_HAL_ADD_PERIODIC_TX_PTRN_IND
1214#define WDA_DEL_PERIODIC_TX_PTRN_IND SIR_HAL_DEL_PERIODIC_TX_PTRN_IND
1215
Rajeev79dbe4c2013-10-05 11:03:42 +05301216#ifdef FEATURE_WLAN_BATCH_SCAN
1217#define WDA_SET_BATCH_SCAN_REQ SIR_HAL_SET_BATCH_SCAN_REQ
1218#define WDA_SET_BATCH_SCAN_RSP SIR_HAL_SET_BATCH_SCAN_RSP
1219#define WDA_STOP_BATCH_SCAN_IND SIR_HAL_STOP_BATCH_SCAN_IND
1220#define WDA_TRIGGER_BATCH_SCAN_RESULT_IND SIR_HAL_TRIGGER_BATCH_SCAN_RESULT_IND
1221#endif
Chittajit Mitraf5413a42013-10-18 14:20:08 -07001222#define WDA_RATE_UPDATE_IND SIR_HAL_RATE_UPDATE_IND
1223
Rajeev79dbe4c2013-10-05 11:03:42 +05301224
Sandeep Puligilla8b8b74b2014-02-10 16:39:05 +05301225#define WDA_HT40_OBSS_SCAN_IND SIR_HAL_HT40_OBSS_SCAN_IND
1226#define WDA_HT40_OBSS_STOP_SCAN_IND SIR_HAL_HT40_OBSS_STOP_SCAN_IND
c_hpothu92367912014-05-01 15:18:17 +05301227
1228#define WDA_GET_BCN_MISS_RATE_REQ SIR_HAL_BCN_MISS_RATE_REQ
Srinivas Dasari4dae48f2014-11-26 21:14:16 +05301229#define WDA_ENCRYPT_MSG_REQ SIR_HAL_ENCRYPT_MSG_REQ
1230#define WDA_ENCRYPT_MSG_RSP SIR_HAL_ENCRYPT_MSG_RSP
c_hpothu92367912014-05-01 15:18:17 +05301231
Sunil Duttbd736ed2014-05-26 21:19:41 +05301232#ifdef WLAN_FEATURE_LINK_LAYER_STATS
1233#define WDA_LINK_LAYER_STATS_CLEAR_REQ SIR_HAL_LL_STATS_CLEAR_REQ
1234#define WDA_LINK_LAYER_STATS_SET_REQ SIR_HAL_LL_STATS_SET_REQ
1235#define WDA_LINK_LAYER_STATS_GET_REQ SIR_HAL_LL_STATS_GET_REQ
1236#define WDA_LINK_LAYER_STATS_RESULTS_RSP SIR_HAL_LL_STATS_RESULTS_RSP
1237#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
1238
Atul Mittalc0f739f2014-07-31 13:47:47 +05301239#ifdef FEATURE_WLAN_TDLS
1240// tdlsoffchan
1241#define WDA_SET_TDLS_CHAN_SWITCH_REQ SIR_HAL_TDLS_CHAN_SWITCH_REQ
1242#define WDA_SET_TDLS_CHAN_SWITCH_REQ_RSP SIR_HAL_TDLS_CHAN_SWITCH_REQ_RSP
1243#endif
Abhishek Singh85b74712014-10-08 11:38:19 +05301244
1245#define WDA_FW_STATS_GET_REQ SIR_HAL_FW_STATS_GET_REQ
Abhishek Singh41988ba2015-05-25 19:42:29 +05301246#define WDA_SET_RTS_CTS_HTVHT SIR_HAL_SET_RTS_CTS_HTVHT
Katya Nigamf0511f62015-05-05 16:40:57 +05301247#define WDA_MON_START_REQ SIR_HAL_MON_START_REQ
1248#define WDA_MON_STOP_REQ SIR_HAL_MON_STOP_REQ
Abhishek Singh41988ba2015-05-25 19:42:29 +05301249
Jeff Johnson295189b2012-06-20 16:38:30 -07001250tSirRetStatus wdaPostCtrlMsg(tpAniSirGlobal pMac, tSirMsgQ *pMsg);
Jeff Johnson295189b2012-06-20 16:38:30 -07001251
Abhishek Singha306a442013-11-07 18:39:01 +05301252eHalStatus WDA_SetRegDomain(void * clientCtxt, v_REGDOMAIN_t regId,
1253 tAniBool sendRegHint);
Jeff Johnson295189b2012-06-20 16:38:30 -07001254
Dino Mycle41bdc942014-06-10 11:30:24 +05301255#ifdef WLAN_FEATURE_EXTSCAN
1256#define WDA_EXTSCAN_GET_CAPABILITIES_REQ SIR_HAL_EXTSCAN_GET_CAPABILITIES_REQ
1257#define WDA_EXTSCAN_GET_CAPABILITIES_RSP SIR_HAL_EXTSCAN_GET_CAPABILITIES_RSP
1258#define WDA_EXTSCAN_START_REQ SIR_HAL_EXTSCAN_START_REQ
1259#define WDA_EXTSCAN_START_RSP SIR_HAL_EXTSCAN_START_RSP
1260#define WDA_EXTSCAN_STOP_REQ SIR_HAL_EXTSCAN_STOP_REQ
1261#define WDA_EXTSCAN_STOP_RSP SIR_HAL_EXTSCAN_STOP_RSP
1262#define WDA_EXTSCAN_SET_BSSID_HOTLIST_REQ SIR_HAL_EXTSCAN_SET_BSS_HOTLIST_REQ
1263#define WDA_EXTSCAN_SET_BSSID_HOTLIST_RSP SIR_HAL_EXTSCAN_SET_BSS_HOTLIST_RSP
1264#define WDA_EXTSCAN_RESET_BSSID_HOTLIST_REQ SIR_HAL_EXTSCAN_RESET_BSS_HOTLIST_REQ
1265#define WDA_EXTSCAN_RESET_BSSID_HOTLIST_RSP SIR_HAL_EXTSCAN_RESET_BSS_HOTLIST_RSP
1266#define WDA_EXTSCAN_SET_SIGNF_RSSI_CHANGE_REQ SIR_HAL_EXTSCAN_SET_SIGNF_RSSI_CHANGE_REQ
1267#define WDA_EXTSCAN_SET_SIGNF_RSSI_CHANGE_RSP SIR_HAL_EXTSCAN_SET_SIGNF_RSSI_CHANGE_RSP
1268#define WDA_EXTSCAN_RESET_SIGNF_RSSI_CHANGE_REQ SIR_HAL_EXTSCAN_RESET_SIGNF_RSSI_CHANGE_REQ
1269#define WDA_EXTSCAN_RESET_SIGNF_RSSI_CHANGE_RSP SIR_HAL_EXTSCAN_RESET_SIGNF_RSSI_CHANGE_RSP
1270#define WDA_EXTSCAN_GET_CACHED_RESULTS_REQ SIR_HAL_EXTSCAN_GET_CACHED_RESULTS_REQ
1271#define WDA_EXTSCAN_GET_CACHED_RESULTS_RSP SIR_HAL_EXTSCAN_GET_CACHED_RESULTS_RSP
1272
1273#define WDA_EXTSCAN_PROGRESS_IND SIR_HAL_EXTSCAN_PROGRESS_IND
1274#define WDA_EXTSCAN_SCAN_AVAILABLE_IND SIR_HAL_EXTSCAN_SCAN_AVAILABLE_IND
1275#define WDA_EXTSCAN_SCAN_RESULT_IND SIR_HAL_EXTSCAN_SCAN_RESULT_IND
1276#define WDA_EXTSCAN_BSSID_HOTLIST_RESULT_IND SIR_HAL_EXTSCAN_HOTLIST_MATCH_IND
1277#define WDA_EXTSCAN_SIGNF_RSSI_RESULT_IND SIR_HAL_EXTSCAN_SIGNF_WIFI_CHANGE_IND
1278#endif /* WLAN_FEATURE_EXTSCAN */
1279
Siddharth Bhal171788a2014-09-29 21:02:40 +05301280#define WDA_SPOOF_MAC_ADDR_REQ SIR_HAL_SPOOF_MAC_ADDR_REQ
Siddharth Bhal029d6732014-10-09 21:31:23 +05301281#define WDA_SPOOF_MAC_ADDR_RSP SIR_HAL_SPOOF_MAC_ADDR_RSP
Dino Mycle41bdc942014-06-10 11:30:24 +05301282
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05301283#define WDA_MGMT_LOGGING_INIT_REQ SIR_HAL_MGMT_LOGGING_INIT_REQ
Siddharth Bhal64246172015-02-27 01:04:37 +05301284#define WDA_GET_FRAME_LOG_REQ SIR_HAL_GET_FRAME_LOG_REQ
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05301285
Sachin Ahuja715aafc2015-07-21 23:35:10 +05301286#define WDA_FATAL_EVENT_LOGS_REQ SIR_HAL_FATAL_EVENT_LOGS_REQ
1287
1288
Jeff Johnson295189b2012-06-20 16:38:30 -07001289#define HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME 0x40 // Bit 6 will be used to control BD rate for Management frames
1290
Jeff Johnson295189b2012-06-20 16:38:30 -07001291#define halTxFrame(hHal, pFrmBuf, frmLen, frmType, txDir, tid, pCompFunc, pData, txFlag) \
1292 (eHalStatus)( WDA_TxPacket(\
1293 vos_get_context(VOS_MODULE_ID_WDA, vos_get_global_context(VOS_MODULE_ID_WDA, (hHal))),\
1294 (pFrmBuf),\
1295 (frmLen),\
1296 (frmType),\
1297 (txDir),\
1298 (tid),\
1299 (pCompFunc),\
1300 (pData),\
1301 (NULL), \
Ganesh Kondabattini10e67352015-03-16 17:41:57 +05301302 (txFlag), \
1303 (0)) )
Jeff Johnson295189b2012-06-20 16:38:30 -07001304
Ganesh Kondabattini10e67352015-03-16 17:41:57 +05301305#define halTxFrameWithTxComplete(hHal, pFrmBuf, frmLen, frmType, txDir, tid, pCompFunc, pData, pCBackFnTxComp, txFlag, txBdToken) \
Jeff Johnson295189b2012-06-20 16:38:30 -07001306 (eHalStatus)( WDA_TxPacket(\
1307 vos_get_context(VOS_MODULE_ID_WDA, vos_get_global_context(VOS_MODULE_ID_WDA, (hHal))),\
1308 (pFrmBuf),\
1309 (frmLen),\
1310 (frmType),\
1311 (txDir),\
1312 (tid),\
1313 (pCompFunc),\
1314 (pData),\
1315 (pCBackFnTxComp), \
Ganesh Kondabattini10e67352015-03-16 17:41:57 +05301316 (txFlag), \
1317 (txBdToken)) )
Jeff Johnson295189b2012-06-20 16:38:30 -07001318
1319/* -----------------------------------------------------------------
1320 WDA data path API's for TL
1321 -------------------------------------------------------------------*/
1322
Jeff Johnson295189b2012-06-20 16:38:30 -07001323v_BOOL_t WDA_IsHwFrameTxTranslationCapable(v_PVOID_t pVosGCtx,
1324 tANI_U8 staIdx);
Jeff Johnson295189b2012-06-20 16:38:30 -07001325
Katya Nigam6201c3e2014-05-27 17:51:42 +05301326v_BOOL_t WDA_IsSelfSTA(v_PVOID_t pVosGCtx,tANI_U8 staIdx);
1327
Jeff Johnson295189b2012-06-20 16:38:30 -07001328# define WDA_EnableUapsdAcParams(vosGCtx, staId, uapsdInfo) \
1329 WDA_SetUapsdAcParamsReq(vosGCtx, staId, uapsdInfo)
Jeff Johnson295189b2012-06-20 16:38:30 -07001330
Jeff Johnson295189b2012-06-20 16:38:30 -07001331# define WDA_DisableUapsdAcParams(vosGCtx, staId, ac) \
1332 WDA_ClearUapsdAcParamsReq(vosGCtx, staId, ac)
Jeff Johnson295189b2012-06-20 16:38:30 -07001333
Jeff Johnson295189b2012-06-20 16:38:30 -07001334# define WDA_SetRSSIThresholds(pMac, pThresholds) \
1335 WDA_SetRSSIThresholdsReq(pMac, pThresholds)
Jeff Johnson295189b2012-06-20 16:38:30 -07001336
Jeff Johnson295189b2012-06-20 16:38:30 -07001337#define WDA_UpdateRssiBmps(pvosGCtx, staId, rssi) \
Madan Mohan Koyyalamudia53c4dc2012-11-13 10:35:42 -08001338 WLANTL_UpdateRssiBmps(pvosGCtx, staId, rssi)
Jeff Johnson295189b2012-06-20 16:38:30 -07001339
Madan Mohan Koyyalamudid9383fd2013-08-13 09:27:30 +05301340#define WDA_UpdateSnrBmps(pvosGCtx, staId, rssi) \
1341 WLANTL_UpdateSnrBmps(pvosGCtx, staId, snr)
1342
1343#define WDA_GetSnr(staId, snr) \
1344 WLANTL_GetSnr(staId, snr)
1345
Gopichand Nakkala8a2b1442013-05-29 15:33:14 +05301346#define WDA_UpdateLinkCapacity(pvosGCtx, staId, linkCapacity) \
1347 WLANTL_UpdateLinkCapacity(pvosGCtx, staId, linkCapacity)
1348
Jeff Johnson295189b2012-06-20 16:38:30 -07001349#ifdef WLAN_PERF
1350/*==========================================================================
1351 FUNCTION WDA_TLI_FastHwFwdDataFrame
1352
1353 DESCRIPTION
1354 For NON integrated SOC, this function is called by TL.
1355
1356 Fast path function to quickly forward a data frame if HAL determines BD
1357 signature computed here matches the signature inside current VOSS packet.
1358 If there is a match, HAL and TL fills in the swapped packet length into
1359 BD header and DxE header, respectively. Otherwise, packet goes back to
1360 normal (slow) path and a new BD signature would be tagged into BD in this
1361 VOSS packet later by the WLANHAL_FillTxBd() function.
1362
1363 TODO For integrated SOC, this function does nothing yet. Pima SLM/HAL
1364 should provide the equivelant functionality.
1365
1366 DEPENDENCIES
1367
1368 PARAMETERS
1369
1370 IN
1371 pvosGCtx VOS context
1372 vosDataBuff Ptr to VOSS packet
1373 pMetaInfo For getting frame's TID
1374 pStaInfo For checking STA type
1375
1376 OUT
1377 pvosStatus returned status
1378 puFastFwdOK Flag to indicate whether frame could be fast forwarded
1379
1380 RETURN VALUE
1381 No return.
1382
1383 SIDE EFFECTS
1384
1385============================================================================*/
1386void WDA_TLI_FastHwFwdDataFrame
1387(
1388 v_PVOID_t pvosGCtx,
1389 vos_pkt_t* vosDataBuff,
1390 VOS_STATUS* pvosStatus,
1391 v_U32_t* puFastFwdOK,
1392 WLANTL_MetaInfoType* pMetaInfo,
1393 WLAN_STADescType* pStaInfo
1394);
1395#endif /* WLAN_PERF */
1396
1397/*==========================================================================
1398 FUNCTION WDA_DS_Register
1399
1400 DESCRIPTION
1401 Register TL client to WDA. This function registers TL RX/TX functions
1402 to WDI by calling WDI_DS_Register.
1403
1404
1405 For NON integrated SOC, this function calls WLANBAL_RegTlCbFunctions
1406 to register TL's RX/TX functions to BAL
1407
1408 TODO
1409 For Prima, pfnResourceCB gets called in WDTS_OOResourceNotification.
1410 The uCount parameter is AC mask. It should be redefined to use the
1411 same resource callback function.
1412
1413 DEPENDENCIES
1414
1415 PARAMETERS
1416
1417 IN
1418 pvosGCtx VOS context
1419 pfnTxCompleteCallback TX complete callback upon TX completion
1420 pfnRxPacketCallback RX callback
1421 pfnResourceCB gets called when updating TX PDU number
1422 uResTheshold minimum TX PDU size for a packet
1423 pCallbackContext WDI calls callback function with it
1424 VOS global context pointer
1425 OUT
1426 uAvailableTxBuf available TX PDU numbder.
1427 BAL returns it for NON integrated SOC
1428
1429 RETURN VALUE
1430 VOS_STATUS_E_FAULT: pointer is NULL and other errors
1431 VOS_STATUS_SUCCESS: Everything is good :)
1432
1433 SIDE EFFECTS
1434
1435============================================================================*/
1436VOS_STATUS
1437WDA_DS_Register
1438(
1439 v_PVOID_t pvosGCtx,
1440 WDA_DS_TxCompleteCallback pfnTxCompleteCallback,
1441 WDA_DS_RxPacketCallback pfnRxPacketCallback,
1442 WDA_DS_TxPacketCallback pfnTxPacketCallback,
1443 WDA_DS_ResourceCB pfnResourceCB,
1444 v_U32_t uResTheshold,
1445 v_PVOID_t pCallbackContext,
1446 v_U32_t *uAvailableTxBuf
1447);
1448
1449/*==========================================================================
1450 FUNCTION WDA_DS_StartXmit
1451
1452 DESCRIPTION
1453 Serialize TX transmit reques to TX thread.
1454
1455 TODO This sends TX transmit request to TL. It should send to WDI for
1456 abstraction.
1457
1458 For NON integrated SOC, this function calls WLANBAL_StartXmit
1459
1460 DEPENDENCIES
1461
1462 PARAMETERS
1463
1464 IN
1465 pvosGCtx VOS context
1466
1467 RETURN VALUE
1468 VOS_STATUS_E_FAULT: pointer is NULL and other errors
1469 VOS_STATUS_SUCCESS: Everything is good :)
1470
1471 SIDE EFFECTS
1472
1473============================================================================*/
1474VOS_STATUS
1475WDA_DS_StartXmit
1476(
1477 v_PVOID_t pvosGCtx
1478);
1479
1480/*==========================================================================
1481 FUNCTION WDA_DS_FinishULA
1482
1483 DESCRIPTION
1484 Serialize Finish Upper Level Authentication reques to TX thread.
1485
1486 DEPENDENCIES
1487
1488 PARAMETERS
1489
1490 IN
1491 callbackRoutine routine to be called in TX thread
1492 callbackContext user data for the above routine
1493
1494 RETURN VALUE
1495 please see vos_tx_mq_serialize
1496
1497 SIDE EFFECTS
1498
1499============================================================================*/
1500VOS_STATUS
1501WDA_DS_FinishULA
1502(
1503 void (*callbackRoutine) (void *callbackContext),
Tushnim Bhattacharyya39a8f182013-02-20 18:10:30 -08001504 void *callbackContext
Jeff Johnson295189b2012-06-20 16:38:30 -07001505);
1506
1507/*==========================================================================
1508 FUNCTION WDA_DS_BuildTxPacketInfo
1509
1510 DESCRIPTION
1511 Build TX meta info for integrated SOC.
1512
1513 Same function calls HAL for reserve BD header space into VOS packet and
1514 HAL function to fill it.
1515
1516 DEPENDENCIES
1517
1518 PARAMETERS
1519
1520 IN
1521 pvosGCtx VOS context
1522 vosDataBuff vos data buffer
1523 pvDestMacAddr destination MAC address ponter
1524 ucDisableFrmXtl Is frame xtl disabled?
1525 ucQosEnabled Is QoS enabled?
1526 ucWDSEnabled Is WDS enabled?
1527 extraHeadSpace Extra head bytes. If it's not 0 due to 4 bytes align
1528 of BD header.
1529 typeSubtype typeSubtype from MAC header or TX metainfo/BD
1530 pAddr2 address 2
1531 uTid tid
1532 txFlag
1533 timeStamp
1534 ucIsEapol
1535 ucUP
1536
1537 OUT
1538 *pusPktLen Packet length
1539
1540 RETURN VALUE
1541 VOS_STATUS_E_FAULT: pointer is NULL and other errors
1542 VOS_STATUS_SUCCESS: Everything is good :)
1543
1544 SIDE EFFECTS
1545
1546============================================================================*/
1547VOS_STATUS
1548WDA_DS_BuildTxPacketInfo
1549(
1550 v_PVOID_t pvosGCtx,
1551 vos_pkt_t* vosDataBuff,
1552 v_MACADDR_t* pvDestMacAddr,
1553 v_U8_t ucDisableFrmXtl,
1554 v_U16_t* pusPktLen,
1555 v_U8_t ucQosEnabled,
1556 v_U8_t ucWDSEnabled,
1557 v_U8_t extraHeadSpace,
1558 v_U8_t typeSubtype,
1559 v_PVOID_t pAddr2,
1560 v_U8_t uTid,
Kanchanapally, Vidyullathaf9426e52013-12-24 17:28:54 +05301561 v_U32_t txFlag,
Jeff Johnson295189b2012-06-20 16:38:30 -07001562 v_U32_t timeStamp,
1563 v_U8_t ucIsEapol,
Ganesh Kondabattini10e67352015-03-16 17:41:57 +05301564 v_U8_t ucUP,
1565 v_U32_t ucTxBdToken
Jeff Johnson295189b2012-06-20 16:38:30 -07001566);
1567
1568/*==========================================================================
1569 FUNCTION WDA_DS_PeekRxPacketInfo
1570
1571 DESCRIPTION
1572 Return RX metainfo pointer for for integrated SOC.
1573
1574 Same function will return BD header pointer.
1575
1576 DEPENDENCIES
1577
1578 PARAMETERS
1579
1580 IN
1581 vosDataBuff vos data buffer
1582
1583 pvDestMacAddr destination MAC address ponter
1584 bSwap Want to swap BD header? For backward compatability
1585 It does nothing for integrated SOC
1586 OUT
1587 *ppRxHeader RX metainfo pointer
1588
1589 RETURN VALUE
1590 VOS_STATUS_E_FAULT: pointer is NULL and other errors
1591 VOS_STATUS_SUCCESS: Everything is good :)
1592
1593 SIDE EFFECTS
1594
1595============================================================================*/
1596VOS_STATUS
1597WDA_DS_PeekRxPacketInfo
1598(
1599 vos_pkt_t *vosDataBuff,
1600 v_PVOID_t *ppRxHeader,
1601 v_BOOL_t bSwap
1602);
1603
1604/*==========================================================================
1605 FUNCTION WDA_DS_TrimRxPacketInfo
1606
1607 DESCRIPTION
1608 Trim/Remove RX BD header for NON integrated SOC.
1609 It does nothing for integrated SOC.
1610
1611 DEPENDENCIES
1612
1613 PARAMETERS
1614
1615 IN
1616 vosDataBuff vos data buffer
1617
1618 RETURN VALUE
1619 VOS_STATUS_E_FAULT: pointer is NULL and other errors
1620 VOS_STATUS_SUCCESS: Everything is good :)
1621
1622 SIDE EFFECTS
1623
1624============================================================================*/
1625VOS_STATUS
1626WDA_DS_TrimRxPacketInfo
1627(
1628 vos_pkt_t *vosDataBuff
1629);
1630
1631/*==========================================================================
1632 FUNCTION WDA_DS_GetTxResources
1633
1634 DESCRIPTION
1635 It does return hardcoded value for Prima. It should bigger number than 0.
1636 Returning 0 will put TL in out-of-resource condition for TX.
1637
1638 Return current PDU resources from BAL for NON integrated SOC.
1639
1640 DEPENDENCIES
1641
1642 PARAMETERS
1643
1644 IN
1645 vosDataBuff vos data buffer
1646
1647 OUT
1648 puResCount available PDU number for TX
1649
1650 RETURN VALUE
1651 VOS_STATUS_E_FAULT: pointer is NULL and other errors
1652 VOS_STATUS_SUCCESS: Everything is good :)
1653
1654 SIDE EFFECTS
1655
1656============================================================================*/
1657VOS_STATUS
1658WDA_DS_GetTxResources
1659(
1660 v_PVOID_t pvosGCtx,
1661 v_U32_t* puResCount
1662);
1663
1664/*==========================================================================
1665 FUNCTION WDA_DS_GetRssi
1666
1667 DESCRIPTION
1668 Get RSSI
1669
1670 TODO It returns hardcoded value in the meantime since WDA/WDI does nothing
1671 support it yet for Prima.
1672
1673 DEPENDENCIES
1674
1675 PARAMETERS
1676
1677 IN
1678 vosDataBuff vos data buffer
1679
1680 OUT
1681 puRssi RSSI
1682
1683 RETURN VALUE
1684 VOS_STATUS_E_FAULT: pointer is NULL and other errors
1685 VOS_STATUS_SUCCESS: Everything is good :)
1686
1687 SIDE EFFECTS
1688
1689============================================================================*/
1690VOS_STATUS
1691WDA_DS_GetRssi
1692(
1693 v_PVOID_t pvosGCtx,
1694 v_S7_t* puRssi
1695);
1696
1697/*==========================================================================
1698 FUNCTION WDA_DS_RxAmsduBdFix
1699
1700 DESCRIPTION
1701 For backward compatability with Libra/Volans. Need to call HAL function
1702 for HW BD bug fix
1703
1704 It does nothing for integrated SOC.
1705
1706 DEPENDENCIES
1707
1708 PARAMETERS
1709
1710 IN
1711 pvosGCtx VOS context
1712 pvBDHeader BD header pointer
1713
1714 OUT
1715
1716 RETURN VALUE
1717 VOS_STATUS_E_FAULT: pointer is NULL and other errors
1718 VOS_STATUS_SUCCESS: Everything is good :)
1719
1720 SIDE EFFECTS
1721
1722============================================================================*/
1723VOS_STATUS
1724WDA_DS_RxAmsduBdFix
1725(
1726 v_PVOID_t pvosGCtx,
1727 v_PVOID_t pvBDHeader
1728);
1729
1730/*==========================================================================
1731 FUNCTION WDA_DS_GetFrameTypeSubType
1732
1733 DESCRIPTION
1734 Get typeSubtype from the packet. The BD header should have this.
1735 But some reason, Libra/Volans read it from 802.11 header and save it
1736 back to BD header. So for NON integrated SOC, this function does
1737 the same.
1738
1739 For integrated SOC, WDI does the same, not TL.
1740 It does return typeSubtype from RX meta info for integrated SOC.
1741
1742 DEPENDENCIES
1743
1744 PARAMETERS
1745
1746 IN
1747 pvosGCtx VOS context
1748 vosDataBuff vos data buffer
1749 pRxHeader RX meta info or BD header pointer
1750
1751 OUT
1752 ucTypeSubtype typeSubtype
1753
1754 RETURN VALUE
1755 VOS_STATUS_E_FAULT: pointer is NULL and other errors
1756 VOS_STATUS_SUCCESS: Everything is good :)
1757
1758 SIDE EFFECTS
1759
1760============================================================================*/
1761VOS_STATUS
1762WDA_DS_GetFrameTypeSubType
1763(
1764 v_PVOID_t pvosGCtx,
1765 vos_pkt_t *vosDataBuff,
1766 v_PVOID_t pRxHeader,
1767 v_U8_t *ucTypeSubtype
1768);
1769
1770/*==========================================================================
1771 FUNCTION WDA_DS_GetReplayCounter
1772
1773 DESCRIPTION
1774 Return replay counter from BD header or RX meta info
1775
1776 DEPENDENCIES
1777
1778 PARAMETERS
1779
1780 IN
1781 pRxHeader RX meta info or BD header pointer
1782
1783 OUT
1784
1785 RETURN VALUE
1786 Replay Counter
1787
1788 SIDE EFFECTS
1789
1790============================================================================*/
1791v_U64_t
1792WDA_DS_GetReplayCounter
1793(
1794 v_PVOID_t pRxHeader
1795);
1796
1797/*==========================================================================
1798 FUNCTION WDA_DS_GetReplayCounter
1799
1800 DESCRIPTION
1801 HO support. Set RSSI threshold via HAL function for NON integrated SOC
1802
1803 TODO
1804 Same function should be provided by WDA/WDI for Prima.
1805
1806 DEPENDENCIES
1807
1808 PARAMETERS
1809
1810 IN
1811 pMac MAC global pointer
1812 pThresholds pointer of threshold structure to set.
1813
1814 OUT
1815
1816 RETURN VALUE
1817 VOS_STATUS_E_FAULT: pointer is NULL and other errors
1818 VOS_STATUS_SUCCESS: Everything is good :)
1819
1820 SIDE EFFECTS
1821
1822============================================================================*/
1823VOS_STATUS
1824WDA_DS_SetRSSIThresholds
1825(
1826 tpAniSirGlobal pMac,
1827 tpSirRSSIThresholds pThresholds
1828);
1829
Jeff Johnson295189b2012-06-20 16:38:30 -07001830/*==========================================================================
1831 FUNCTION WDA_DS_TxFrames
1832
1833 DESCRIPTION
1834 Pull packets from TL and push them to WDI. It gets invoked upon
1835 WDA_DS_TX_START_XMIT.
1836
1837 This function is equivelant of WLANSSC_Transmit in Libra/Volans.
1838
1839 TODO
1840 This function should be implemented and moved in WDI.
1841
1842 DEPENDENCIES
1843
1844 PARAMETERS
1845
1846 IN
1847 pvosGCtx VOS context
1848
1849 OUT
1850
1851 RETURN VALUE
1852 VOS_STATUS_E_FAULT: pointer is NULL and other errors
1853 VOS_STATUS_SUCCESS: Everything is good :)
1854
1855 SIDE EFFECTS
1856
1857============================================================================*/
1858VOS_STATUS
1859WDA_DS_TxFrames
1860(
1861 v_PVOID_t pvosGCtx
1862);
Jeff Johnson295189b2012-06-20 16:38:30 -07001863
1864/*==========================================================================
1865 FUNCTION WDA_DS_TxFlowControlCallback
1866
1867 DESCRIPTION
1868 Invoked by WDI to control TX flow.
1869
1870 DEPENDENCIES
1871
1872 PARAMETERS
1873
1874 IN
1875 pvosGCtx VOS context
1876 uFlowMask TX channel mask for flow control
1877 Defined in WDA_TXFlowEnumType
1878
1879 OUT
1880
1881 RETURN VALUE
1882
1883 SIDE EFFECTS
1884
1885============================================================================*/
1886v_VOID_t
1887WDA_DS_TxFlowControlCallback
1888(
1889 v_PVOID_t pvosGCtx,
1890 v_U8_t uFlowMask
1891);
1892
1893/*==========================================================================
1894 FUNCTION WDA_DS_GetTxFlowMask
1895
1896 DESCRIPTION
1897 return TX flow mask control value
1898
1899 DEPENDENCIES
1900
1901 PARAMETERS
1902
1903 IN
1904 pvosGCtx VOS context
1905
1906 OUT
1907 uFlowMask TX channel mask for flow control
1908 Defined in WDA_TXFlowEnumType
1909
1910 RETURN VALUE
1911 VOS_STATUS_E_INVAL: pointer is NULL and other errors
1912 VOS_STATUS_SUCCESS: Everything is good :)
1913
1914 SIDE EFFECTS
1915
1916============================================================================*/
1917VOS_STATUS
1918WDA_DS_GetTxFlowMask
1919(
1920 v_PVOID_t pvosGCtx,
1921 v_U8_t* puFlowMask
1922);
1923
1924/*==========================================================================
1925 FUNCTION WDA_HALDumpCmdReq
1926
1927 DESCRIPTION
1928 Send Dump commandsto WDI
1929
1930 DEPENDENCIES
1931
1932 PARAMETERS
1933
1934 IN
1935 pMac MAC global pointer
Siddharth Bhal68115602015-01-18 20:44:55 +05301936 cmd Hal dump command
1937 arg1 Dump command argument 1
1938 arg2 Dump command argument 2
1939 arg3 Dump command argument 3
1940 arg4 Dump command argument 4
1941 async Asynchronous event. Doesn't wait for rsp.
Jeff Johnson295189b2012-06-20 16:38:30 -07001942
1943 OUT
1944 pBuffer Dump command Response buffer
1945
1946 RETURN VALUE
1947 VOS_STATUS_E_FAULT: pointer is NULL and other errors
1948 VOS_STATUS_SUCCESS: Everything is good :)
1949
1950 SIDE EFFECTS
1951
1952============================================================================*/
1953VOS_STATUS WDA_HALDumpCmdReq(tpAniSirGlobal pMac,tANI_U32 cmd,
1954 tANI_U32 arg1, tANI_U32 arg2, tANI_U32 arg3,
Siddharth Bhal68115602015-01-18 20:44:55 +05301955 tANI_U32 arg4, tANI_U8 *pBuffer, wpt_boolean async);
Jeff Johnson295189b2012-06-20 16:38:30 -07001956
1957/*==========================================================================
1958 FUNCTION WDA_featureCapsExchange
1959
1960 DESCRIPTION
1961 WDA API to invoke capability exchange between host and FW
1962
1963 DEPENDENCIES
1964
1965 PARAMETERS
1966
1967 IN
1968 pVosContext VOS context
1969
1970 OUT
1971 NONE
1972
1973 RETURN VALUE
1974 NONE
1975
1976 SIDE EFFECTS
1977============================================================================*/
1978void WDA_featureCapsExchange(v_PVOID_t pVosContext);
1979
Yathish9f22e662012-12-10 14:21:35 -08001980void WDA_disableCapablityFeature(tANI_U8 feature_index);
Jeff Johnson295189b2012-06-20 16:38:30 -07001981/*==========================================================================
1982 FUNCTION WDA_getHostWlanFeatCaps
1983
1984 DESCRIPTION
1985 Wrapper for WDI API, that will return if the feature (enum value).passed
1986 to this API is supported or not in Host
1987
1988 DEPENDENCIES
1989
1990 PARAMETERS
1991
1992 IN
1993 featEnumValue enum value for the feature as in placeHolderInCapBitmap in wlan_hal_msg.h.
1994
1995 OUT
1996 NONE
1997
1998 RETURN VALUE
1999 0 - implies feature is NOT Supported
2000 any non zero value - implies feature is SUPPORTED
2001
2002 SIDE EFFECTS
2003============================================================================*/
2004tANI_U8 WDA_getHostWlanFeatCaps(tANI_U8 featEnumValue);
2005
2006/*==========================================================================
2007 FUNCTION WDA_getFwWlanFeatCaps
2008
2009 DESCRIPTION
2010 Wrapper for WDI API, that will return if the feature (enum value).passed
2011 to this API is supported or not in FW
2012
2013 DEPENDENCIES
2014
2015 PARAMETERS
2016
2017 IN
2018 featEnumValue enum value for the feature as in placeHolderInCapBitmap in wlan_hal_msg.h.
2019
2020 OUT
2021 NONE
2022
2023 RETURN VALUE
2024 0 - implies feature is NOT Supported
2025 any non zero value - implies feature is SUPPORTED
2026
2027 SIDE EFFECTS
2028============================================================================*/
2029tANI_U8 WDA_getFwWlanFeatCaps(tANI_U8 featEnumValue);
2030
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -07002031/*==========================================================================
2032 FUNCTION WDA_TransportChannelDebug
2033
2034 DESCRIPTION
2035 Display Transport Channel debugging information
2036 User may request to display DXE channel snapshot
2037 Or if host driver detects any abnormal stcuk may display
2038
2039 PARAMETERS
schang6295e542013-03-12 15:31:23 -07002040 pMac : upper MAC context pointer
Jeff Johnsonb88db982012-12-10 13:34:59 -08002041 displaySnapshot : Display DXE snapshot option
Mihir Shete40a55652014-03-02 14:14:47 +05302042 debugFlags : Enable stall detect features
2043 defined by WPAL_DeviceDebugFlags
2044 These features may effect
2045 data performance.
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -07002046
2047 RETURN VALUE
2048 NONE
2049
2050===========================================================================*/
2051void WDA_TransportChannelDebug
2052(
schang6295e542013-03-12 15:31:23 -07002053 tpAniSirGlobal pMac,
2054 v_BOOL_t displaySnapshot,
Mihir Shete40a55652014-03-02 14:14:47 +05302055 v_U8_t debugFlags
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -07002056);
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08002057
2058/*==========================================================================
2059 FUNCTION WDA_TrafficStatsTimerActivate
2060
2061 DESCRIPTION
2062 API to activate/deactivate Traffic Stats timer. Traffic stats timer is only needed during MCC
2063 PARAMETERS
2064 activate : Activate or not
2065
2066 RETURN VALUE
2067 NONE
2068
2069===========================================================================*/
2070void WDA_TrafficStatsTimerActivate(wpt_boolean activate);
2071
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07002072/*==========================================================================
2073 FUNCTION WDA_SetEnableSSR
2074
2075 DESCRIPTION
2076 API to enable/disable SSR on WDI timeout
2077
2078 PARAMETERS
2079 enableSSR : enable/disable SSR
2080
2081 RETURN VALUE
2082 NONE
2083
2084===========================================================================*/
2085void WDA_SetEnableSSR(v_BOOL_t enableSSR);
Mihir Shete5affadc2015-05-29 20:54:57 +05302086
2087
2088void WDA_FWLoggingDXEdoneInd(void);
Jeff Johnson295189b2012-06-20 16:38:30 -07002089#endif