blob: 56d246b922747a67a793aceb1962db4defead3e2 [file] [log] [blame]
Jeff Johnson295189b2012-06-20 16:38:30 -07001/*
Gopichand Nakkala92f07d82013-01-08 21:16:34 -08002 * Copyright (c) 2012-2013, The Linux Foundation. All rights reserved.
3 *
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/*
Jeff Johnson32d95a32012-09-10 13:15:23 -070022 * Copyright (c) 2012, The Linux Foundation. All rights reserved.
Jeff Johnson295189b2012-06-20 16:38:30 -070023 *
24 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
25 *
26 *
27 * Permission to use, copy, modify, and/or distribute this software for
28 * any purpose with or without fee is hereby granted, provided that the
29 * above copyright notice and this permission notice appear in all
30 * copies.
31 *
32 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
33 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
34 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
35 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
36 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
37 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
38 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
39 * PERFORMANCE OF THIS SOFTWARE.
40 */
41
42#ifndef WLAN_QCT_WDA_H
43#define WLAN_QCT_WDA_H
44
45/*===========================================================================
46
Jeff Johnson6239e642013-02-22 21:22:26 -080047 W L A N DEVICE ADAPTATION L A Y E R
Jeff Johnson295189b2012-06-20 16:38:30 -070048 E X T E R N A L A P I
Jeff Johnson6239e642013-02-22 21:22:26 -080049
50
Jeff Johnson295189b2012-06-20 16:38:30 -070051DESCRIPTION
52 This file contains the external API exposed by the wlan adaptation layer for Prima
53 and Volans.
54
55 For Volans this layer is actually a thin layer that maps all WDA messages and
56 functions to equivalent HAL messages and functions. The reason this layer was introduced
Jeff Johnson6239e642013-02-22 21:22:26 -080057 was to keep the UMAC identical across Prima and Volans. This layer provides the glue
Jeff Johnson295189b2012-06-20 16:38:30 -070058 between SME, PE , TL and HAL.
59
Jeff Johnson295189b2012-06-20 16:38:30 -070060===========================================================================*/
61
62
63/*===========================================================================
64
65 EDIT HISTORY FOR FILE
66
67
68 This section contains comments describing changes made to the module.
69 Notice that changes are listed in reverse chronological order.
70
71
72 $Header:$ $DateTime: $ $Author: $
73
74
75when who what, where, why
76-------- --- ----------------------------------------------
7710/05/2011 haparna Adding support for Keep Alive Feature
7801/27/2011 rnair Adding WDA support for Volans.
7912/08/2010 seokyoun Move down HAL interfaces from TL to WDA
80 for UMAC convergence btween Volans/Libra and Prima
Jeff Johnson6239e642013-02-22 21:22:26 -08008108/25/2010 adwivedi WDA Context and exposed API's
Jeff Johnson295189b2012-06-20 16:38:30 -070082=========================================================================== */
83
84#include "aniGlobal.h"
85
Jeff Johnson295189b2012-06-20 16:38:30 -070086
87# include "wlan_qct_wdi_ds.h"
88
Jeff Johnson295189b2012-06-20 16:38:30 -070089
90/* Add Include */
91
92typedef enum
93{
94 WDA_INIT_STATE,
95 WDA_START_STATE,
96 WDA_READY_STATE,
97 WDA_PRE_ASSOC_STATE,
98 WDA_BA_UPDATE_TL_STATE,
99 WDA_BA_UPDATE_LIM_STATE,
100 WDA_STOP_STATE,
101 WDA_CLOSE_STATE
102}WDA_state;
103
104typedef enum
105{
106 WDA_PROCESS_SET_LINK_STATE,
107 WDA_IGNORE_SET_LINK_STATE
108}WDA_processSetLinkStateStatus;
109
110typedef enum
111{
112 WDA_DISABLE_BA,
113 WDA_ENABLE_BA
114}WDA_BaEnableFlags;
115
116typedef enum
117{
118 WDA_INVALID_STA_INDEX,
119 WDA_VALID_STA_INDEX
120}WDA_ValidStaIndex;
121
Jeff Johnson295189b2012-06-20 16:38:30 -0700122/*--------------------------------------------------------------------------
123 Utilities
124 --------------------------------------------------------------------------*/
125
126#define WDA_TLI_CEIL( _a, _b) (( 0 != (_a)%(_b))? (_a)/(_b) + 1: (_a)/(_b))
127
128/*
129 * Check the version number and find if MCC feature is supported or not
130 */
131#define IS_MCC_SUPPORTED (WDA_IsWcnssWlanReportedVersionGreaterThanOrEqual( 0, 1, 1, 0))
Viral Modid86bde22012-12-10 13:09:21 -0800132#define IS_FEATURE_SUPPORTED_BY_FW(featEnumValue) (!!WDA_getFwWlanFeatCaps(featEnumValue))
Jeff Johnson295189b2012-06-20 16:38:30 -0700133
Yathish9f22e662012-12-10 14:21:35 -0800134#ifdef WLAN_ACTIVEMODE_OFFLOAD_FEATURE
135#define IS_ACTIVEMODE_OFFLOAD_FEATURE_ENABLE ((WDA_getFwWlanFeatCaps(WLANACTIVE_OFFLOAD)) & (WDI_getHostWlanFeatCaps(WLANACTIVE_OFFLOAD)))
136#else
137#define IS_ACTIVEMODE_OFFLOAD_FEATURE_ENABLE 0
138#endif
139
140
Jeff Johnson295189b2012-06-20 16:38:30 -0700141/*--------------------------------------------------------------------------
142 Definitions for Data path APIs
143 --------------------------------------------------------------------------*/
144
145/*As per 802.11 spec */
146#define WDA_TLI_MGMT_FRAME_TYPE 0x00
147#define WDA_TLI_CTRL_FRAME_TYPE 0x10
148#define WDA_TLI_DATA_FRAME_TYPE 0x20
149
150/*802.3 header definitions*/
151#define WDA_TLI_802_3_HEADER_LEN 14
152/*802.11 header definitions - header len without QOS ctrl field*/
153#define WDA_TLI_802_11_HEADER_LEN 24
154
155/*Determines the header len based on the disable xtl field*/
156#define WDA_TLI_MAC_HEADER_LEN( _dxtl) \
157 ( ( 0 == _dxtl )? \
158 WDA_TLI_802_3_HEADER_LEN:WDA_TLI_802_11_HEADER_LEN )
159
160/* TX channel enum type:
161
162 We have five types of TX packets so far and want to block/unblock each
163 traffic individually according to, for example, low resouce condition.
164 Define five TX channels for UMAC here. WDA can map these logical
165 channels to physical DXE channels if needed.
166*/
167typedef enum
168{
169 WDA_TXFLOW_AC_BK = 0,
170 WDA_TXFLOW_AC_BE = 1,
171 WDA_TXFLOW_AC_VI = 2,
172 WDA_TXFLOW_AC_VO = 3,
173 WDA_TXFLOW_MGMT = 4,
174 WDA_TXFLOW_BAP = 1, /* BAP is sent as BE */
175 WDA_TXFLOW_FC = 1, /* FC is sent as BE */
176 WDA_TXFLOW_MAX
177} WDA_TXFlowEnumType;
178
179#define WDA_TXFLOWMASK 0x1F /* 1~4bit:low priority ch / 5bit: high */
180
181/* ---------------------------------------------------------------------
182 Libra and Volans specifics
183
184 TODO Consider refactoring it and put it into two separate headers,
185 one for Prima and one for Volans
Jeff Johnson295189b2012-06-20 16:38:30 -0700186 ----------------------------------------------------------------------*/
187
188/* For backward compatability with SDIO. It's BAL header size for SDIO
189 interface. It's nothing for integrated SOC */
Jeff Johnson295189b2012-06-20 16:38:30 -0700190#define WDA_DXE_HEADER_SIZE 0
Jeff Johnson295189b2012-06-20 16:38:30 -0700191
Jeff Johnson295189b2012-06-20 16:38:30 -0700192
193/*Minimum resources needed - arbitrary*/
194
195/*DXE + SD*/
Madan Mohan Koyyalamudia53c4dc2012-11-13 10:35:42 -0800196#define WDA_WLAN_LIBRA_HEADER_LEN (20 + 8)
Jeff Johnson295189b2012-06-20 16:38:30 -0700197
Jeff Johnson295189b2012-06-20 16:38:30 -0700198#define WDA_TLI_BD_PDU_RESERVE_THRESHOLD 10
Jeff Johnson295189b2012-06-20 16:38:30 -0700199
200
Jeff Johnson295189b2012-06-20 16:38:30 -0700201# define WDA_TLI_MIN_RES_MF 1
202# define WDA_TLI_MIN_RES_BAP 2
203# define WDA_TLI_MIN_RES_DATA 3
Jeff Johnson295189b2012-06-20 16:38:30 -0700204
Jeff Johnson295189b2012-06-20 16:38:30 -0700205# define WDA_NUM_STA 8
Jeff Johnson295189b2012-06-20 16:38:30 -0700206
207/* For backward compatability with SDIO.
208
209 For SDIO interface, calculate the TX frame length and number of PDU
210 to transfter the frame.
211
212 _vosBuff: IN VOS pakcet buffer pointer
213 _usPktLen: OUT VOS packet length in bytes
214 _uResLen: OUT Number of PDU to hold this VOS packet
215 _uTotalPktLen: OUT Totoal packet length including BAL header size
216
217 For integrated SOC, _usPktLen and _uTotalPktLen is VOS pakcet length
218 which does include BD header length. _uResLen is hardcoded 2.
219 */
Jeff Johnson295189b2012-06-20 16:38:30 -0700220
221#ifdef WINDOWS_DT
222#define WDA_TLI_PROCESS_FRAME_LEN( _vosBuff, _usPktLen, \
223 _uResLen, _uTotalPktLen) \
224 do \
225 { \
226 _usPktLen = wpalPacketGetFragCount((wpt_packet*)_vosBuff) + 1/*BD*/;\
227 _uResLen = _usPktLen; \
228 _uTotalPktLen = _usPktLen; \
229 } \
230 while ( 0 )
231#else /* WINDOWS_DT */
232#define WDA_TLI_PROCESS_FRAME_LEN( _vosBuff, _usPktLen, \
233 _uResLen, _uTotalPktLen) \
234 do \
235 { \
236 _usPktLen = 2; /* Need 1 descriptor per a packet + packet*/ \
237 _uResLen = 2; /* Assume that we spends two DXE descriptor */ \
238 _uTotalPktLen = _usPktLen; \
239 } \
240 while ( 0 )
241#endif /* WINDOWS_DT */
242
Jeff Johnson295189b2012-06-20 16:38:30 -0700243
244
245/*--------------------------------------------------------------------------
246 Message Definitions
247 --------------------------------------------------------------------------*/
248
249/* TX Tranmit request message. It serializes TX request to TX thread.
250 The message is processed in TL.
251*/
252#define WDA_DS_TX_START_XMIT WLANTL_TX_START_XMIT
253#define WDA_DS_FINISH_ULA WLANTL_FINISH_ULA
254
255
256#define WDA_TX_PACKET_FREED 0X0
257
Jeff Johnson43971f52012-07-17 12:26:56 -0700258/* Approximate amount of time to wait for WDA to stop WDI considering 1 pendig req too*/
259#define WDA_STOP_TIMEOUT ( (WDI_RESPONSE_TIMEOUT * 2) + WDI_SET_POWER_STATE_TIMEOUT + 5)
Jeff Johnson295189b2012-06-20 16:38:30 -0700260/*--------------------------------------------------------------------------
261 Functions
262 --------------------------------------------------------------------------*/
263
264/* For data client */
265typedef VOS_STATUS (*WDA_DS_TxCompleteCallback) ( v_PVOID_t pContext, vos_pkt_t *pFrameDataBuff, VOS_STATUS txStatus );
266typedef VOS_STATUS (*WDA_DS_RxPacketCallback) ( v_PVOID_t pContext, vos_pkt_t *pFrameDataBuff );
267typedef v_U32_t (*WDA_DS_TxPacketCallback) ( v_PVOID_t pContext,
268 vos_pkt_t **ppFrameDataBuff,
269 v_U32_t uSize,
Jeff Johnson295189b2012-06-20 16:38:30 -0700270 v_U8_t uFlowMask,
Jeff Johnson295189b2012-06-20 16:38:30 -0700271 v_BOOL_t *pbUrgent );
272typedef VOS_STATUS (*WDA_DS_ResourceCB) ( v_PVOID_t pContext, v_U32_t uCount );
273
274
Jeff Johnson295189b2012-06-20 16:38:30 -0700275/* For management client */
276typedef VOS_STATUS (*WDA_DS_TxCompleteCb)( v_PVOID_t pContext, wpt_packet *pFrame );
277typedef VOS_STATUS (*WDA_DS_RxCompleteCb)( v_PVOID_t pContext, wpt_packet *pFrame );
278typedef VOS_STATUS (*WDA_DS_TxFlowControlCb)( v_PVOID_t pContext, v_U8_t acMask );
279typedef void (*pWDATxRxCompFunc)( v_PVOID_t pContext, void *pData );
280
281//callback function for TX complete
282//parameter 1 - global pMac pointer
283//parameter 2 - txComplete status : 1- success, 0 - failure.
284typedef eHalStatus (*pWDAAckFnTxComp)(tpAniSirGlobal, tANI_U32);
285
286typedef struct
287{
288 tANI_U16 ucValidStaIndex ;
289 /*
290 * each bit in ucUseBaBitmap represent BA is enabled or not for this tid
291 * tid0 ..bit0, tid1..bit1 and so on..
292 */
293 tANI_U8 ucUseBaBitmap ;
294 tANI_U8 bssIdx;
295 tANI_U32 framesTxed[STACFG_MAX_TC];
296}tWdaStaInfo, *tpWdaStaInfo ;
297
298/* group all the WDA timers into this structure */
299typedef struct
300{
301 /* BA activity check timer */
302 TX_TIMER baActivityChkTmr ;
303
304 /* Tx Complete Timeout timer */
305 TX_TIMER TxCompleteTimer ;
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -0800306
307 /* Traffic Stats timer */
308 TX_TIMER trafficStatsTimer ;
Jeff Johnson295189b2012-06-20 16:38:30 -0700309}tWdaTimers ;
Gopichand Nakkala976e3252013-01-03 15:45:56 -0800310#ifdef WLAN_SOFTAP_VSTA_FEATURE
Yathish Hanumapuradoddi Shivanna64dfc472013-03-08 10:48:34 -0800311#define WDA_MAX_STA (41)
Gopichand Nakkala976e3252013-01-03 15:45:56 -0800312#else
Jeff Johnson295189b2012-06-20 16:38:30 -0700313#define WDA_MAX_STA (16)
Gopichand Nakkala976e3252013-01-03 15:45:56 -0800314#endif
Jeff Johnson295189b2012-06-20 16:38:30 -0700315typedef struct
316{
317 v_PVOID_t pVosContext; /* global VOSS context*/
318 v_PVOID_t pWdiContext; /* WDI context */
319 WDA_state wdaState ; /* WDA state tracking */
Jeff Johnson295189b2012-06-20 16:38:30 -0700320 v_PVOID_t wdaWdiCfgApiMsgParam ; /* WDI API paramter tracking */
321 vos_event_t wdaWdiEvent; /* WDI API sync event */
322
323 /* Event to wait for tx completion */
324 vos_event_t txFrameEvent;
325
326 /* call back function for tx complete*/
327 pWDATxRxCompFunc pTxCbFunc;
328 /* call back function for tx packet ack */
329 pWDAAckFnTxComp pAckTxCbFunc;
330 tANI_U32 frameTransRequired;
331 tSirMacAddr macBSSID; /*BSSID of the network */
332 tSirMacAddr macSTASelf; /*Self STA MAC*/
333
334 /* TX channel mask for flow control */
335 v_U8_t uTxFlowMask;
336 /* TL's TX resource callback */
337 WDA_DS_ResourceCB pfnTxResourceCB;
338 /* TL's TX complete callback */
339 WDA_DS_TxCompleteCallback pfnTxCompleteCallback;
340
341 tWdaStaInfo wdaStaInfo[WDA_MAX_STA];
342
343 tANI_U8 wdaMaxSta;
344 tWdaTimers wdaTimers;
345
346 /* STA, AP, IBSS, MULTI-BSS etc.*/
347 tBssSystemRole wdaGlobalSystemRole;
348
349 /* driver mode, PRODUCTION or FTM */
350 tDriverType driverMode;
351
Jeff Johnson295189b2012-06-20 16:38:30 -0700352 /* FTM Command Request tracking */
353 v_PVOID_t wdaFTMCmdReq;
Jeff Johnson295189b2012-06-20 16:38:30 -0700354
355 /* Event to wait for suspend data tx*/
356 vos_event_t suspendDataTxEvent;
357 /* Status frm TL after suspend/resume Tx */
358 tANI_U8 txStatus;
359 /* Flag set to true when TL suspend timesout.*/
360 tANI_U8 txSuspendTimedOut;
361
362 vos_event_t waitOnWdiIndicationCallBack;
363
364 /* version information */
365 tSirVersionType wcnssWlanCompiledVersion;
366 tSirVersionType wcnssWlanReportedVersion;
367 tSirVersionString wcnssSoftwareVersionString;
368 tSirVersionString wcnssHardwareVersionString;
369
370
371 tSirLinkState linkState;
372 /* set, when BT AMP session is going on */
373 v_BOOL_t wdaAmpSessionOn;
374 v_U32_t VosPacketToFree;
Jeff Johnsone7245742012-09-05 17:12:55 -0700375 v_BOOL_t needShutdown;
Madan Mohan Koyyalamudia2fc6412012-10-21 12:06:12 -0700376 v_BOOL_t wdiFailed;
Madan Mohan Koyyalamudid57ae632012-11-06 18:42:48 -0800377 v_BOOL_t wdaTimersCreated;
Jeff Johnson295189b2012-06-20 16:38:30 -0700378} tWDA_CbContext ;
379
380typedef struct
381{
382 v_PVOID_t pWdaContext; /* pointer to WDA context*/
383 v_PVOID_t wdaMsgParam; /* PE parameter tracking */
384 v_PVOID_t wdaWdiApiMsgParam; /* WDI API paramter tracking */
385} tWDA_ReqParams;
386
387/*
388 * FUNCTION: WDA_open
389 * open WDA context
390 */
391
392VOS_STATUS WDA_open(v_PVOID_t pVosContext, v_PVOID_t pOSContext,
393 tMacOpenParameters *pMacParams ) ;
394
395/*
396 * FUNCTION: WDA_preStart
397 * Trigger DAL-AL to start CFG download
398 */
399VOS_STATUS WDA_start(v_PVOID_t pVosContext) ;
400
401VOS_STATUS WDA_NVDownload_Start(v_PVOID_t pVosContext);
402
403/*
404 * FUNCTION: WDA_preStart
405 * Trigger WDA to start CFG download
406 */
407VOS_STATUS WDA_preStart(v_PVOID_t pVosContext) ;
408/*
409 * FUNCTION: WDA_stop
410 * stop WDA
411 */
412VOS_STATUS WDA_stop(v_PVOID_t pVosContext,tANI_U8 reason);
413
414/*
415 * FUNCTION: WDA_close
416 * close WDA context
417 */
418VOS_STATUS WDA_close(v_PVOID_t pVosContext);
419/*
420 * FUNCTION: WDA_shutdown
421 * Shutdown will not close the control transport, added by SSR
422 */
423VOS_STATUS WDA_shutdown(v_PVOID_t pVosContext, wpt_boolean closeTransport);
424
425/*
Madan Mohan Koyyalamudi9d7a27f2012-11-28 15:55:25 -0800426 * FUNCTION: WDA_setNeedShutdown
427 * WDA stop failed or WDA NV Download failed
Jeff Johnsone7245742012-09-05 17:12:55 -0700428 */
Madan Mohan Koyyalamudi9d7a27f2012-11-28 15:55:25 -0800429void WDA_setNeedShutdown(v_PVOID_t pVosContext);
Jeff Johnsone7245742012-09-05 17:12:55 -0700430/*
431 * FUNCTION: WDA_needShutdown
432 * WDA requires a shutdown rather than a close
433 */
434v_BOOL_t WDA_needShutdown(v_PVOID_t pVosContext);
435
436/*
Jeff Johnson295189b2012-06-20 16:38:30 -0700437 * FUNCTION: WDA_McProcessMsg
438 * DAL-AL message processing entry function
439 */
440
441VOS_STATUS WDA_McProcessMsg( v_CONTEXT_t pVosContext, vos_msg_t *pMsg ) ;
442
443/* -----------------------------------------------------------------
444 * WDA data path API's
445 * ----------------------------------------------------------------*/
446/*
447 * FUNCTION: WDA_MgmtDSRegister
448 * Send Message back to PE
449 */
450
451VOS_STATUS WDA_MgmtDSRegister(tWDA_CbContext *pWDA,
452 WDA_DS_TxCompleteCb WDA_TxCompleteCallback,
453 WDA_DS_RxCompleteCb WDA_RxCompleteCallback,
454 WDA_DS_TxFlowControlCb WDA_TxFlowCtrlCallback
455 ) ;
456/*
457 * FUNCTION: WDA_MgmtDSTxPacket
458 * Forward TX management frame to WDI
459 */
460
461VOS_STATUS WDA_TxPacket(tWDA_CbContext *pWDA,
462 void *pFrmBuf,
463 tANI_U16 frmLen,
464 eFrameType frmType,
465 eFrameTxDir txDir,
466 tANI_U8 tid,
467 pWDATxRxCompFunc pCompFunc,
468 void *pData,
469 pWDAAckFnTxComp pAckTxComp,
470 tANI_U8 txFlag);
471
472/*
473 * FUNCTION: WDA_PostMsgApi
474 * API fpr PE to post Message to WDA
475 */
476VOS_STATUS WDA_PostMsgApi(tpAniSirGlobal pMac, tSirMsgQ *pMsg) ;
477
478/* ---------------------------------------------------------
479 * FUNCTION: wdaGetGlobalSystemRole()
480 *
481 * Get the global HAL system role.
482 * ---------------------------------------------------------
483 */
484tBssSystemRole wdaGetGlobalSystemRole(tpAniSirGlobal pMac);
485
486/* maximum wait time for WDA complete event (correct value has to be derived)
487 * for now giving the value 1000 ms */
488#define WDA_WDI_COMPLETION_TIME_OUT 30000 /* in ms */
489
490#define WDA_TL_TX_FRAME_TIMEOUT 10000 /* in msec a very high upper limit of 5,000 msec */
491#define WDA_TL_SUSPEND_TIMEOUT 2000 /* in ms unit */
492
493/*Tag used by WDA to mark a timed out frame*/
494#define WDA_TL_TX_MGMT_TIMED_OUT 0xDEAD
495
496#define WDA_TL_TX_SUSPEND_SUCCESS 0
497#define WDA_TL_TX_SUSPEND_FAILURE 1
498
499// FIXME Temporary value for R33D integaration
500//#define WDA_TL_TX_FRAME_TIMEOUT 20000 /* in msec a very high upper limit */
501
Chet Lanctot186b5732013-03-18 10:26:30 -0700502#define DPU_FEEDBACK_UNPROTECTED_ERROR 0x0F
Jeff Johnson295189b2012-06-20 16:38:30 -0700503
Jeff Johnson295189b2012-06-20 16:38:30 -0700504
505/* ---------------------------------------------------------------------------
506
507 RX Meta info access for Integrated SOC
508 RX BD header access for NON Integrated SOC
509
510 These MACRO are for RX frames that are on flat buffers
511
512 ---------------------------------------------------------------------------*/
513
514/* WDA_GET_RX_MAC_HEADER *****************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700515# define WDA_GET_RX_MAC_HEADER(pRxMeta) \
516 (tpSirMacMgmtHdr)( ((WDI_DS_RxMetaInfoType *)(pRxMeta))->mpduHeaderPtr )
Jeff Johnson295189b2012-06-20 16:38:30 -0700517
518/* WDA_GET_RX_MPDUHEADER3A ****************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700519# define WDA_GET_RX_MPDUHEADER3A(pRxMeta) \
520 (tpSirMacDataHdr3a)( ((WDI_DS_RxMetaInfoType *)(pRxMeta))->mpduHeaderPtr )
Jeff Johnson295189b2012-06-20 16:38:30 -0700521
522/* WDA_GET_RX_MPDU_HEADER_LEN *************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700523# define WDA_GET_RX_MPDU_HEADER_LEN(pRxMeta) \
524 ( ((WDI_DS_RxMetaInfoType *)(pRxMeta))->mpduHeaderLength )
Jeff Johnson295189b2012-06-20 16:38:30 -0700525
526/* WDA_GET_RX_MPDU_LEN ********************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700527# define WDA_GET_RX_MPDU_LEN(pRxMeta) \
528 ( ((WDI_DS_RxMetaInfoType *)(pRxMeta))->mpduLength )
Jeff Johnson295189b2012-06-20 16:38:30 -0700529
530/* WDA_GET_RX_PAYLOAD_LEN ****************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700531# define WDA_GET_RX_PAYLOAD_LEN(pRxMeta) \
532 ( WDA_GET_RX_MPDU_LEN(pRxMeta) - WDA_GET_RX_MPDU_HEADER_LEN(pRxMeta) )
Jeff Johnson295189b2012-06-20 16:38:30 -0700533
534/* WDA_GET_RX_MAC_RATE_IDX ***************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700535# define WDA_GET_RX_MAC_RATE_IDX(pRxMeta) \
536 ( ((WDI_DS_RxMetaInfoType *)(pRxMeta))->rateIndex )
Jeff Johnson295189b2012-06-20 16:38:30 -0700537
538/* WDA_GET_RX_MPDU_DATA ******************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700539# define WDA_GET_RX_MPDU_DATA(pRxMeta) \
540 ( ((WDI_DS_RxMetaInfoType *)(pRxMeta))->mpduDataPtr )
Jeff Johnson295189b2012-06-20 16:38:30 -0700541
542/* WDA_GET_RX_MPDU_DATA_OFFSET ***********************************************/
543// For Integrated SOC: When UMAC receive the packet. BD is already stripped off.
544// Data offset is the MPDU header length
Jeff Johnson295189b2012-06-20 16:38:30 -0700545# define WDA_GET_RX_MPDU_DATA_OFFSET(pRxMeta) WDA_GET_RX_MPDU_HEADER_LEN(pRxMeta)
Jeff Johnson295189b2012-06-20 16:38:30 -0700546
547/* WDA_GET_RX_MPDU_HEADER_OFFSET *********************************************/
548// For Integrated SOC: We UMAC receive the frame,
549// BD is gone and MAC header at offset 0
Jeff Johnson295189b2012-06-20 16:38:30 -0700550# define WDA_GET_RX_MPDU_HEADER_OFFSET(pRxMeta) 0
Jeff Johnson295189b2012-06-20 16:38:30 -0700551
552/* WDA_GET_RX_UNKNOWN_UCAST **************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700553# define WDA_GET_RX_UNKNOWN_UCAST(pRxMeta) \
554 ( ((WDI_DS_RxMetaInfoType *)(pRxMeta))->unknownUcastPkt )
Jeff Johnson295189b2012-06-20 16:38:30 -0700555
556/* WDA_GET_RX_TID ************************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700557# define WDA_GET_RX_TID(pRxMeta) ( ((WDI_DS_RxMetaInfoType *)(pRxMeta))->tid )
Jeff Johnson295189b2012-06-20 16:38:30 -0700558
559/* WDA_GET_RX_STAID **********************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700560# define WDA_GET_RX_STAID(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->staId)
Jeff Johnson295189b2012-06-20 16:38:30 -0700561
562/* WDA_GET_RX_ADDR3_IDX ******************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700563# define WDA_GET_RX_ADDR3_IDX(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->addr3Idx)
Jeff Johnson295189b2012-06-20 16:38:30 -0700564
565/* WDA_GET_RX_CH *************************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700566# define WDA_GET_RX_CH(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->rxChannel)
Jeff Johnson295189b2012-06-20 16:38:30 -0700567
568/* WDA_GET_RX_DPUSIG *********************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700569# define WDA_GET_RX_DPUSIG(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->dpuSig)
Jeff Johnson295189b2012-06-20 16:38:30 -0700570
571/* WDA_IS_RX_BCAST ***********************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700572# define WDA_IS_RX_BCAST(pRxMeta) \
573 ( (1 == ((WDI_DS_RxMetaInfoType*)(pRxMeta))->bcast) ? VOS_TRUE : VOS_FALSE )
Jeff Johnson295189b2012-06-20 16:38:30 -0700574
575/* WDA_GET_RX_FT_DONE ********************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700576# define WDA_GET_RX_FT_DONE(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->ft)
Jeff Johnson295189b2012-06-20 16:38:30 -0700577
578/* WDA_GET_RX_DPU_FEEDBACK **************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700579# define WDA_GET_RX_DPU_FEEDBACK(pRxMeta) \
580 (((WDI_DS_RxMetaInfoType*)(pRxMeta))->dpuFeedback)
Jeff Johnson295189b2012-06-20 16:38:30 -0700581
582/* WDA_GET_RX_ASF ************************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700583# define WDA_GET_RX_ASF(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->amsdu_asf)
Jeff Johnson295189b2012-06-20 16:38:30 -0700584
585/* WDA_GET_RX_AEF ************************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700586# define WDA_GET_RX_AEF(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->amsdu_aef)
Jeff Johnson295189b2012-06-20 16:38:30 -0700587
588/* WDA_GET_RX_ESF ************************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700589# define WDA_GET_RX_ESF(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->amsdu_esf)
Jeff Johnson295189b2012-06-20 16:38:30 -0700590
591/* WDA_GET_RX_BEACON_SENT ****************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700592# define WDA_GET_RX_BEACON_SENT(pRxMeta) \
593 (((WDI_DS_RxMetaInfoType*)(pRxMeta))->bsf)
Jeff Johnson295189b2012-06-20 16:38:30 -0700594
595/* WDA_GET_RX_TSF_LATER *****************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700596# define WDA_GET_RX_TSF_LATER(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->rtsf)
Jeff Johnson295189b2012-06-20 16:38:30 -0700597
598/* WDA_GET_RX_TYPE ***********************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700599# define WDA_GET_RX_TYPE(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->type)
Jeff Johnson295189b2012-06-20 16:38:30 -0700600
601/* WDA_GET_RX_SUBTYPE ********************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700602# define WDA_GET_RX_SUBTYPE(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->subtype)
Jeff Johnson295189b2012-06-20 16:38:30 -0700603
604/* WDA_GET_RX_TYPE_SUBTYPE ****************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700605# define WDA_GET_RX_TYPE_SUBTYPE(pRxMeta) \
606 ((WDA_GET_RX_TYPE(pRxMeta)<<4)|WDA_GET_RX_SUBTYPE(pRxMeta))
Jeff Johnson295189b2012-06-20 16:38:30 -0700607
608/* WDA_GET_RX_REORDER_OPCODE : For MSDU reorder *******************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700609# define WDA_GET_RX_REORDER_OPCODE(pRxMeta) \
610 (((WDI_DS_RxMetaInfoType*)(pRxMeta))->ampdu_reorderOpcode)
Jeff Johnson295189b2012-06-20 16:38:30 -0700611
612/* WDA_GET_RX_REORDER_SLOT_IDX : For MSDU reorder ****************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700613# define WDA_GET_RX_REORDER_SLOT_IDX(pRxMeta) \
614 (((WDI_DS_RxMetaInfoType*)(pRxMeta))->ampdu_reorderSlotIdx)
Jeff Johnson295189b2012-06-20 16:38:30 -0700615
616/* WDA_GET_RX_REORDER_FWD_IDX : For MSDU reorder *****************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700617# define WDA_GET_RX_REORDER_FWD_IDX(pRxMeta) \
618 (((WDI_DS_RxMetaInfoType*)(pRxMeta))->ampdu_reorderFwdIdx)
Jeff Johnson295189b2012-06-20 16:38:30 -0700619
620/* WDA_GET_RX_REORDER_CUR_PKT_SEQ_NO : Fro MSDU reorder **********************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700621# define WDA_GET_RX_REORDER_CUR_PKT_SEQ_NO(pRxMeta) \
622 (((WDI_DS_RxMetaInfoType*)(pRxMeta))->currentPktSeqNo)
Jeff Johnson295189b2012-06-20 16:38:30 -0700623
624/* WDA_IS_RX_LLC_PRESENT *****************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700625# define WDA_IS_RX_LLC_PRESENT(pRxMeta) \
626 ( (0 == ((WDI_DS_RxMetaInfoType*)(pRxMeta))->llcr) ? VOS_TRUE : VOS_FALSE )
Jeff Johnson295189b2012-06-20 16:38:30 -0700627
628#define WLANWDA_HO_IS_AN_AMPDU 0x4000
629#define WLANWDA_HO_LAST_MPDU_OF_AMPDU 0x400
630
631/* WDA_IS_RX_AN_AMPDU ********************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700632# define WDA_IS_RX_AN_AMPDU(pRxMeta) \
633 ( ((WDI_DS_RxMetaInfoType*)(pRxMeta))->rxpFlags & WLANWDA_HO_IS_AN_AMPDU )
Jeff Johnson295189b2012-06-20 16:38:30 -0700634
635/* WDA_IS_RX_LAST_MPDU *******************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700636# define WDA_IS_RX_LAST_MPDU(pRxMeta) \
637 ( ((WDI_DS_RxMetaInfoType*)(pRxMeta))->rxpFlags & WLANWDA_HO_LAST_MPDU_OF_AMPDU )
Jeff Johnson295189b2012-06-20 16:38:30 -0700638
639/* WDA_GET_RX_TIMESTAMP *****************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700640# define WDA_GET_RX_TIMESTAMP(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->mclkRxTimestamp)
Jeff Johnson295189b2012-06-20 16:38:30 -0700641
642/* WDA_IS_RX_IN_SCAN *********************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700643# define WDA_IS_RX_IN_SCAN(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->scan)
Jeff Johnson295189b2012-06-20 16:38:30 -0700644
645/* WDA_GET_RX_RSSI_DB ********************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700646// Volans RF
647# define WDA_RSSI_OFFSET 100
648# define WDA_GET_RSSI0_DB(rssi0) (rssi0 - WDA_RSSI_OFFSET)
649# define WDA_GET_RSSI1_DB(rssi0) (0 - WDA_RSSI_OFFSET)
650# define WDA_MAX_OF_TWO(val1, val2) ( ((val1) > (val2)) ? (val1) : (val2))
651# define WDA_GET_RSSI_DB(rssi0) \
652 WDA_MAX_OF_TWO(WDA_GET_RSSI0_DB(rssi0), WDA_GET_RSSI1_DB(rssi0))
653# define WDA_GET_RX_RSSI_DB(pRxMeta) \
654 WDA_GET_RSSI_DB((((WDI_DS_RxMetaInfoType*)(pRxMeta))->rssi0))
Jeff Johnson295189b2012-06-20 16:38:30 -0700655
656/* WDA_GET_RX_SNR ************************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700657# define WDA_GET_RX_SNR(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->snr)
Jeff Johnson295189b2012-06-20 16:38:30 -0700658
659/* WDA_IS_RX_FC **************************************************************/
660// Flow control frames
Jeff Johnson295189b2012-06-20 16:38:30 -0700661/* FIXME WDA should provide the meta info which indicates FC frame
662 In the meantime, use hardcoded FALSE, since we don't support FC yet */
663# define WDA_IS_RX_FC(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->fc)
Jeff Johnson295189b2012-06-20 16:38:30 -0700664
665/* WDA_GET_RX_FC_VALID_STA_MASK **********************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700666# define WDA_GET_RX_FC_VALID_STA_MASK(pRxMeta) \
667 (((WDI_DS_RxMetaInfoType*)(pRxMeta))->fcSTAValidMask)
Jeff Johnson295189b2012-06-20 16:38:30 -0700668
669/* WDA_GET_RX_FC_PWRSAVE_STA_MASK ********************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700670# define WDA_GET_RX_FC_PWRSAVE_STA_MASK(pRxMeta) \
671 (((WDI_DS_RxMetaInfoType*)(pRxMeta))->fcSTAPwrSaveStateMask)
Jeff Johnson295189b2012-06-20 16:38:30 -0700672
673/* WDA_GET_RX_FC_STA_THRD_IND_MASK ********************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700674# define WDA_GET_RX_FC_STA_THRD_IND_MASK(pRxMeta) \
675 (((WDI_DS_RxMetaInfoType*)(pRxMeta))->fcSTAThreshIndMask)
Jeff Johnson295189b2012-06-20 16:38:30 -0700676
677/* WDA_GET_RX_FC_FORCED_STA_TX_DISABLED_BITMAP ********************************************/
678# define WDA_GET_RX_FC_STA_TX_DISABLED_BITMAP(pRxMeta) \
679 (((WDI_DS_RxMetaInfoType*)(pRxMeta))->fcStaTxDisabledBitmap)
680
681/* WDA_GET_RX_FC_STA_TXQ_LEN *************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700682# define WDA_GET_RX_FC_STA_TXQ_LEN(pRxMeta, staId) \
683 (((WDI_DS_RxMetaInfoType*)(pRxMeta))->fcSTATxQLen[(staId)])
Jeff Johnson295189b2012-06-20 16:38:30 -0700684
685/* WDA_GET_RX_FC_STA_CUR_TXRATE **********************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700686# define WDA_GET_RX_FC_STA_CUR_TXRATE(pRxMeta, staId) \
687 (((WDI_DS_RxMetaInfoType*)(pRxMeta))->fcSTACurTxRate[(staId)])
Jeff Johnson295189b2012-06-20 16:38:30 -0700688
689/* WDA_GET_RX_REPLAY_COUNT ***************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700690# define WDA_GET_RX_REPLAY_COUNT(pRxMeta) \
691 (((WDI_DS_RxMetaInfoType*)(pRxMeta))->replayCount)
Jeff Johnson295189b2012-06-20 16:38:30 -0700692
693/* WDA_GETRSSI0 ***************************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700694# define WDA_GETRSSI0(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->rssi0)
Jeff Johnson295189b2012-06-20 16:38:30 -0700695
696/* WDA_GETRSSI1 ***************************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700697# define WDA_GETRSSI1(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->rssi1)
Jeff Johnson295189b2012-06-20 16:38:30 -0700698
Chet Lanctot186b5732013-03-18 10:26:30 -0700699/* WDA_GET_RX_RMF *****************************************************/
700#ifdef WLAN_FEATURE_11W
701# define WDA_GET_RX_RMF(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->rmf)
702#endif
Jeff Johnson295189b2012-06-20 16:38:30 -0700703
704/* --------------------------------------------------------------------*/
705
Jeff Johnson295189b2012-06-20 16:38:30 -0700706uint8 WDA_IsWcnssWlanCompiledVersionGreaterThanOrEqual(uint8 major, uint8 minor, uint8 version, uint8 revision);
707uint8 WDA_IsWcnssWlanReportedVersionGreaterThanOrEqual(uint8 major, uint8 minor, uint8 version, uint8 revision);
708
709
710VOS_STATUS WDA_GetWcnssWlanCompiledVersion(v_PVOID_t pvosGCtx,
711 tSirVersionType *pVersion);
712VOS_STATUS WDA_GetWcnssWlanReportedVersion(v_PVOID_t pvosGCtx,
713 tSirVersionType *pVersion);
714VOS_STATUS WDA_GetWcnssSoftwareVersion(v_PVOID_t pvosGCtx,
715 tANI_U8 *pVersion,
716 tANI_U32 versionBufferSize);
717VOS_STATUS WDA_GetWcnssHardwareVersion(v_PVOID_t pvosGCtx,
718 tANI_U8 *pVersion,
719 tANI_U32 versionBufferSize);
720
721VOS_STATUS WDA_SetUapsdAcParamsReq(v_PVOID_t , v_U8_t , tUapsdInfo *);
722VOS_STATUS WDA_ClearUapsdAcParamsReq(v_PVOID_t , v_U8_t , wpt_uint8 );
723VOS_STATUS WDA_SetRSSIThresholdsReq(tpAniSirGlobal , tSirRSSIThresholds *);
724// Just declare the function extern here and save some time.
725extern tSirRetStatus halMmhForwardMBmsg(void*, tSirMbMsg*);
726tSirRetStatus uMacPostCtrlMsg(void* pSirGlobal, tSirMbMsg* pMb);
Jeff Johnson295189b2012-06-20 16:38:30 -0700727
728
Jeff Johnson295189b2012-06-20 16:38:30 -0700729#define WDA_MAX_TXPOWER_INVALID HAL_MAX_TXPOWER_INVALID
730
731//WDA Messages to HAL messages Mapping
732#if 0
733//Required by SME
734//#define WDA_SIGNAL_BT_EVENT SIR_HAL_SIGNAL_BT_EVENT - this is defined in sirParams.h
735//#define WDA_BTC_SET_CFG SIR_HAL_BTC_SET_CFG
736
737//Required by PE
738#define WDA_HOST_MSG_START SIR_HAL_HOST_MSG_START
739#define WDA_INITIAL_CAL_FAILED_NTF SIR_HAL_INITIAL_CAL_FAILED_NTF
740#define WDA_SHUTDOWN_REQ SIR_HAL_SHUTDOWN_REQ
741#define WDA_SHUTDOWN_CNF SIR_HAL_SHUTDOWN_CNF
742#define WDA_RADIO_ON_OFF_IND SIR_HAL_RADIO_ON_OFF_IND
743#define WDA_RESET_CNF SIR_HAL_RESET_CNF
744#define WDA_SetRegDomain \
Madan Mohan Koyyalamudic0d1b3f2012-11-13 10:41:07 -0800745 (eHalStatus halPhySetRegDomain(tHalHandle hHal, eRegDomainId regDomain))
Jeff Johnson295189b2012-06-20 16:38:30 -0700746#endif
747
748#define WDA_APP_SETUP_NTF SIR_HAL_APP_SETUP_NTF
749#define WDA_NIC_OPER_NTF SIR_HAL_NIC_OPER_NTF
750#define WDA_INIT_START_REQ SIR_HAL_INIT_START_REQ
751#define WDA_RESET_REQ SIR_HAL_RESET_REQ
752#define WDA_HDD_ADDBA_REQ SIR_HAL_HDD_ADDBA_REQ
753#define WDA_HDD_ADDBA_RSP SIR_HAL_HDD_ADDBA_RSP
754#define WDA_DELETEBA_IND SIR_HAL_DELETEBA_IND
755#define WDA_BA_FAIL_IND SIR_HAL_BA_FAIL_IND
756#define WDA_TL_FLUSH_AC_REQ SIR_TL_HAL_FLUSH_AC_REQ
757#define WDA_TL_FLUSH_AC_RSP SIR_HAL_TL_FLUSH_AC_RSP
758
759#define WDA_MSG_TYPES_BEGIN SIR_HAL_MSG_TYPES_BEGIN
760#define WDA_ITC_MSG_TYPES_BEGIN SIR_HAL_ITC_MSG_TYPES_BEGIN
761#define WDA_RADAR_DETECTED_IND SIR_HAL_RADAR_DETECTED_IND
762#define WDA_WDT_KAM_RSP SIR_HAL_WDT_KAM_RSP
763#define WDA_TIMER_TEMP_MEAS_REQ SIR_HAL_TIMER_TEMP_MEAS_REQ
764#define WDA_TIMER_PERIODIC_STATS_COLLECT_REQ SIR_HAL_TIMER_PERIODIC_STATS_COLLECT_REQ
765#define WDA_CAL_REQ_NTF SIR_HAL_CAL_REQ_NTF
766#define WDA_MNT_OPEN_TPC_TEMP_MEAS_REQ SIR_HAL_MNT_OPEN_TPC_TEMP_MEAS_REQ
767#define WDA_CCA_MONITOR_INTERVAL_TO SIR_HAL_CCA_MONITOR_INTERVAL_TO
768#define WDA_CCA_MONITOR_DURATION_TO SIR_HAL_CCA_MONITOR_DURATION_TO
769#define WDA_CCA_MONITOR_START SIR_HAL_CCA_MONITOR_START
770#define WDA_CCA_MONITOR_STOP SIR_HAL_CCA_MONITOR_STOP
771#define WDA_CCA_CHANGE_MODE SIR_HAL_CCA_CHANGE_MODE
772#define WDA_TIMER_WRAP_AROUND_STATS_COLLECT_REQ SIR_HAL_TIMER_WRAP_AROUND_STATS_COLLECT_REQ
773
774/*
775 * New Taurus related messages
776 */
777#define WDA_ADD_STA_REQ SIR_HAL_ADD_STA_REQ
778#define WDA_ADD_STA_RSP SIR_HAL_ADD_STA_RSP
779#define WDA_ADD_STA_SELF_RSP SIR_HAL_ADD_STA_SELF_RSP
780#define WDA_DEL_STA_SELF_RSP SIR_HAL_DEL_STA_SELF_RSP
781#define WDA_DELETE_STA_REQ SIR_HAL_DELETE_STA_REQ
782#define WDA_DELETE_STA_RSP SIR_HAL_DELETE_STA_RSP
783#define WDA_ADD_BSS_REQ SIR_HAL_ADD_BSS_REQ
784#define WDA_ADD_BSS_RSP SIR_HAL_ADD_BSS_RSP
785#define WDA_DELETE_BSS_REQ SIR_HAL_DELETE_BSS_REQ
786#define WDA_DELETE_BSS_RSP SIR_HAL_DELETE_BSS_RSP
787#define WDA_INIT_SCAN_REQ SIR_HAL_INIT_SCAN_REQ
788#define WDA_INIT_SCAN_RSP SIR_HAL_INIT_SCAN_RSP
789#define WDA_START_SCAN_REQ SIR_HAL_START_SCAN_REQ
790#define WDA_START_SCAN_RSP SIR_HAL_START_SCAN_RSP
791#define WDA_END_SCAN_REQ SIR_HAL_END_SCAN_REQ
792#define WDA_END_SCAN_RSP SIR_HAL_END_SCAN_RSP
793#define WDA_FINISH_SCAN_REQ SIR_HAL_FINISH_SCAN_REQ
794#define WDA_FINISH_SCAN_RSP SIR_HAL_FINISH_SCAN_RSP
795#define WDA_SEND_BEACON_REQ SIR_HAL_SEND_BEACON_REQ
796#define WDA_SEND_BEACON_RSP SIR_HAL_SEND_BEACON_RSP
797
798#define WDA_INIT_CFG_REQ SIR_HAL_INIT_CFG_REQ
799#define WDA_INIT_CFG_RSP SIR_HAL_INIT_CFG_RSP
800
801#define WDA_INIT_WM_CFG_REQ SIR_HAL_INIT_WM_CFG_REQ
802#define WDA_INIT_WM_CFG_RSP SIR_HAL_INIT_WM_CFG_RSP
803
804#define WDA_SET_BSSKEY_REQ SIR_HAL_SET_BSSKEY_REQ
805#define WDA_SET_BSSKEY_RSP SIR_HAL_SET_BSSKEY_RSP
806#define WDA_SET_STAKEY_REQ SIR_HAL_SET_STAKEY_REQ
807#define WDA_SET_STAKEY_RSP SIR_HAL_SET_STAKEY_RSP
808#define WDA_DPU_STATS_REQ SIR_HAL_DPU_STATS_REQ
809#define WDA_DPU_STATS_RSP SIR_HAL_DPU_STATS_RSP
810#define WDA_GET_DPUINFO_REQ SIR_HAL_GET_DPUINFO_REQ
811#define WDA_GET_DPUINFO_RSP SIR_HAL_GET_DPUINFO_RSP
812
813#define WDA_UPDATE_EDCA_PROFILE_IND SIR_HAL_UPDATE_EDCA_PROFILE_IND
814
815#define WDA_UPDATE_STARATEINFO_REQ SIR_HAL_UPDATE_STARATEINFO_REQ
816#define WDA_UPDATE_STARATEINFO_RSP SIR_HAL_UPDATE_STARATEINFO_RSP
817
818#define WDA_UPDATE_BEACON_IND SIR_HAL_UPDATE_BEACON_IND
819#define WDA_UPDATE_CF_IND SIR_HAL_UPDATE_CF_IND
820#define WDA_CHNL_SWITCH_REQ SIR_HAL_CHNL_SWITCH_REQ
821#define WDA_ADD_TS_REQ SIR_HAL_ADD_TS_REQ
822#define WDA_DEL_TS_REQ SIR_HAL_DEL_TS_REQ
823#define WDA_SOFTMAC_TXSTAT_REPORT SIR_HAL_SOFTMAC_TXSTAT_REPORT
824
825#define WDA_MBOX_SENDMSG_COMPLETE_IND SIR_HAL_MBOX_SENDMSG_COMPLETE_IND
826#define WDA_EXIT_BMPS_REQ SIR_HAL_EXIT_BMPS_REQ
827#define WDA_EXIT_BMPS_RSP SIR_HAL_EXIT_BMPS_RSP
828#define WDA_EXIT_BMPS_IND SIR_HAL_EXIT_BMPS_IND
829#define WDA_ENTER_BMPS_REQ SIR_HAL_ENTER_BMPS_REQ
830#define WDA_ENTER_BMPS_RSP SIR_HAL_ENTER_BMPS_RSP
831#define WDA_BMPS_STATUS_IND SIR_HAL_BMPS_STATUS_IND
832#define WDA_MISSED_BEACON_IND SIR_HAL_MISSED_BEACON_IND
833
834#define WDA_CFG_RXP_FILTER_REQ SIR_HAL_CFG_RXP_FILTER_REQ
835#define WDA_CFG_RXP_FILTER_RSP SIR_HAL_CFG_RXP_FILTER_RSP
836
837#define WDA_SWITCH_CHANNEL_RSP SIR_HAL_SWITCH_CHANNEL_RSP
838#define WDA_P2P_NOA_ATTR_IND SIR_HAL_P2P_NOA_ATTR_IND
Viral Modid86bde22012-12-10 13:09:21 -0800839#define WDA_P2P_NOA_START_IND SIR_HAL_P2P_NOA_START_IND
Jeff Johnson295189b2012-06-20 16:38:30 -0700840#define WDA_PWR_SAVE_CFG SIR_HAL_PWR_SAVE_CFG
841
842#define WDA_REGISTER_PE_CALLBACK SIR_HAL_REGISTER_PE_CALLBACK
843#define WDA_SOFTMAC_MEM_READREQUEST SIR_HAL_SOFTMAC_MEM_READREQUEST
844#define WDA_SOFTMAC_MEM_WRITEREQUEST SIR_HAL_SOFTMAC_MEM_WRITEREQUEST
845
846#define WDA_SOFTMAC_MEM_READRESPONSE SIR_HAL_SOFTMAC_MEM_READRESPONSE
847#define WDA_SOFTMAC_BULKREGWRITE_CONFIRM SIR_HAL_SOFTMAC_BULKREGWRITE_CONFIRM
848#define WDA_SOFTMAC_BULKREGREAD_RESPONSE SIR_HAL_SOFTMAC_BULKREGREAD_RESPONSE
849#define WDA_SOFTMAC_HOSTMESG_MSGPROCESSRESULT SIR_HAL_SOFTMAC_HOSTMESG_MSGPROCESSRESULT
850
851#define WDA_ADDBA_REQ SIR_HAL_ADDBA_REQ
852#define WDA_ADDBA_RSP SIR_HAL_ADDBA_RSP
853#define WDA_DELBA_IND SIR_HAL_DELBA_IND
854#define WDA_DEL_BA_IND SIR_HAL_DEL_BA_IND
855#define WDA_MIC_FAILURE_IND SIR_HAL_MIC_FAILURE_IND
856
857//message from sme to initiate delete block ack session.
858#define WDA_DELBA_REQ SIR_HAL_DELBA_REQ
859#define WDA_IBSS_STA_ADD SIR_HAL_IBSS_STA_ADD
860#define WDA_TIMER_ADJUST_ADAPTIVE_THRESHOLD_IND SIR_HAL_TIMER_ADJUST_ADAPTIVE_THRESHOLD_IND
861#define WDA_SET_LINK_STATE SIR_HAL_SET_LINK_STATE
862#define WDA_SET_LINK_STATE_RSP SIR_HAL_SET_LINK_STATE_RSP
863#define WDA_ENTER_IMPS_REQ SIR_HAL_ENTER_IMPS_REQ
864#define WDA_ENTER_IMPS_RSP SIR_HAL_ENTER_IMPS_RSP
865#define WDA_EXIT_IMPS_RSP SIR_HAL_EXIT_IMPS_RSP
866#define WDA_EXIT_IMPS_REQ SIR_HAL_EXIT_IMPS_REQ
867#define WDA_SOFTMAC_HOSTMESG_PS_STATUS_IND SIR_HAL_SOFTMAC_HOSTMESG_PS_STATUS_IND
868#define WDA_POSTPONE_ENTER_IMPS_RSP SIR_HAL_POSTPONE_ENTER_IMPS_RSP
869#define WDA_STA_STAT_REQ SIR_HAL_STA_STAT_REQ
870#define WDA_GLOBAL_STAT_REQ SIR_HAL_GLOBAL_STAT_REQ
871#define WDA_AGGR_STAT_REQ SIR_HAL_AGGR_STAT_REQ
872#define WDA_STA_STAT_RSP SIR_HAL_STA_STAT_RSP
873#define WDA_GLOBAL_STAT_RSP SIR_HAL_GLOBAL_STAT_RSP
874#define WDA_AGGR_STAT_RSP SIR_HAL_AGGR_STAT_RSP
875#define WDA_STAT_SUMM_REQ SIR_HAL_STAT_SUMM_REQ
876#define WDA_STAT_SUMM_RSP SIR_HAL_STAT_SUMM_RSP
877#define WDA_REMOVE_BSSKEY_REQ SIR_HAL_REMOVE_BSSKEY_REQ
878#define WDA_REMOVE_BSSKEY_RSP SIR_HAL_REMOVE_BSSKEY_RSP
879#define WDA_REMOVE_STAKEY_REQ SIR_HAL_REMOVE_STAKEY_REQ
880#define WDA_REMOVE_STAKEY_RSP SIR_HAL_REMOVE_STAKEY_RSP
881#define WDA_SET_STA_BCASTKEY_REQ SIR_HAL_SET_STA_BCASTKEY_REQ
882#define WDA_SET_STA_BCASTKEY_RSP SIR_HAL_SET_STA_BCASTKEY_RSP
883#define WDA_REMOVE_STA_BCASTKEY_REQ SIR_HAL_REMOVE_STA_BCASTKEY_REQ
884#define WDA_REMOVE_STA_BCASTKEY_RSP SIR_HAL_REMOVE_STA_BCASTKEY_RSP
885#define WDA_ADD_TS_RSP SIR_HAL_ADD_TS_RSP
886#define WDA_DPU_MIC_ERROR SIR_HAL_DPU_MIC_ERROR
887#define WDA_TIMER_BA_ACTIVITY_REQ SIR_HAL_TIMER_BA_ACTIVITY_REQ
888#define WDA_TIMER_CHIP_MONITOR_TIMEOUT SIR_HAL_TIMER_CHIP_MONITOR_TIMEOUT
889#define WDA_TIMER_TRAFFIC_ACTIVITY_REQ SIR_HAL_TIMER_TRAFFIC_ACTIVITY_REQ
890#define WDA_TIMER_ADC_RSSI_STATS SIR_HAL_TIMER_ADC_RSSI_STATS
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -0800891#define WDA_TIMER_TRAFFIC_STATS_IND SIR_HAL_TRAFFIC_STATS_IND
892
Chet Lanctot186b5732013-03-18 10:26:30 -0700893#ifdef WLAN_FEATURE_11W
894#define WDA_EXCLUDE_UNENCRYPTED_IND SIR_HAL_EXCLUDE_UNENCRYPTED_IND
895#endif
Jeff Johnson295189b2012-06-20 16:38:30 -0700896
897#ifdef FEATURE_WLAN_CCX
898#define WDA_TSM_STATS_REQ SIR_HAL_TSM_STATS_REQ
899#define WDA_TSM_STATS_RSP SIR_HAL_TSM_STATS_RSP
900#endif
Jeff Johnson295189b2012-06-20 16:38:30 -0700901#define WDA_UPDATE_PROBE_RSP_IE_BITMAP_IND SIR_HAL_UPDATE_PROBE_RSP_IE_BITMAP_IND
902#define WDA_UPDATE_UAPSD_IND SIR_HAL_UPDATE_UAPSD_IND
Jeff Johnson295189b2012-06-20 16:38:30 -0700903
904#define WDA_SET_MIMOPS_REQ SIR_HAL_SET_MIMOPS_REQ
905#define WDA_SET_MIMOPS_RSP SIR_HAL_SET_MIMOPS_RSP
906#define WDA_SYS_READY_IND SIR_HAL_SYS_READY_IND
907#define WDA_SET_TX_POWER_REQ SIR_HAL_SET_TX_POWER_REQ
908#define WDA_SET_TX_POWER_RSP SIR_HAL_SET_TX_POWER_RSP
909#define WDA_GET_TX_POWER_REQ SIR_HAL_GET_TX_POWER_REQ
910#define WDA_GET_TX_POWER_RSP SIR_HAL_GET_TX_POWER_RSP
911#define WDA_GET_NOISE_REQ SIR_HAL_GET_NOISE_REQ
912#define WDA_GET_NOISE_RSP SIR_HAL_GET_NOISE_RSP
913#define WDA_SET_TX_PER_TRACKING_REQ SIR_HAL_SET_TX_PER_TRACKING_REQ
914
915/* Messages to support transmit_halt and transmit_resume */
916#define WDA_TRANSMISSION_CONTROL_IND SIR_HAL_TRANSMISSION_CONTROL_IND
917/* Indication from LIM to HAL to Initialize radar interrupt */
918#define WDA_INIT_RADAR_IND SIR_HAL_INIT_RADAR_IND
919/* Messages to support transmit_halt and transmit_resume */
920
921
922#define WDA_BEACON_PRE_IND SIR_HAL_BEACON_PRE_IND
923#define WDA_ENTER_UAPSD_REQ SIR_HAL_ENTER_UAPSD_REQ
924#define WDA_ENTER_UAPSD_RSP SIR_HAL_ENTER_UAPSD_RSP
925#define WDA_EXIT_UAPSD_REQ SIR_HAL_EXIT_UAPSD_REQ
926#define WDA_EXIT_UAPSD_RSP SIR_HAL_EXIT_UAPSD_RSP
927#define WDA_LOW_RSSI_IND SIR_HAL_LOW_RSSI_IND
928#define WDA_BEACON_FILTER_IND SIR_HAL_BEACON_FILTER_IND
929/// PE <-> HAL WOWL messages
930#define WDA_WOWL_ADD_BCAST_PTRN SIR_HAL_WOWL_ADD_BCAST_PTRN
931#define WDA_WOWL_DEL_BCAST_PTRN SIR_HAL_WOWL_DEL_BCAST_PTRN
932#define WDA_WOWL_ENTER_REQ SIR_HAL_WOWL_ENTER_REQ
933#define WDA_WOWL_ENTER_RSP SIR_HAL_WOWL_ENTER_RSP
934#define WDA_WOWL_EXIT_REQ SIR_HAL_WOWL_EXIT_REQ
935#define WDA_WOWL_EXIT_RSP SIR_HAL_WOWL_EXIT_RSP
936#define WDA_TX_COMPLETE_IND SIR_HAL_TX_COMPLETE_IND
937#define WDA_TIMER_RA_COLLECT_AND_ADAPT SIR_HAL_TIMER_RA_COLLECT_AND_ADAPT
938/// PE <-> HAL statistics messages
939#define WDA_GET_STATISTICS_REQ SIR_HAL_GET_STATISTICS_REQ
940#define WDA_GET_STATISTICS_RSP SIR_HAL_GET_STATISTICS_RSP
941#define WDA_SET_KEY_DONE SIR_HAL_SET_KEY_DONE
942
943/// PE <-> HAL BTC messages
944#define WDA_BTC_SET_CFG SIR_HAL_BTC_SET_CFG
945#define WDA_SIGNAL_BT_EVENT SIR_HAL_SIGNAL_BT_EVENT
946#define WDA_HANDLE_FW_MBOX_RSP SIR_HAL_HANDLE_FW_MBOX_RSP
947#define WDA_UPDATE_PROBE_RSP_TEMPLATE_IND SIR_HAL_UPDATE_PROBE_RSP_TEMPLATE_IND
948#define WDA_SIGNAL_BTAMP_EVENT SIR_HAL_SIGNAL_BTAMP_EVENT
949
Jeff Johnsone7245742012-09-05 17:12:55 -0700950#ifdef FEATURE_OEM_DATA_SUPPORT
951/* PE <-> HAL OEM_DATA RELATED MESSAGES */
952#define WDA_START_OEM_DATA_REQ SIR_HAL_START_OEM_DATA_REQ
953#define WDA_START_OEM_DATA_RSP SIR_HAL_START_OEM_DATA_RSP
954#define WDA_FINISH_OEM_DATA_REQ SIR_HAL_FINISH_OEM_DATA_REQ
955#endif
Jeff Johnson295189b2012-06-20 16:38:30 -0700956
957#define WDA_SET_MAX_TX_POWER_REQ SIR_HAL_SET_MAX_TX_POWER_REQ
958#define WDA_SET_MAX_TX_POWER_RSP SIR_HAL_SET_MAX_TX_POWER_RSP
959
960#define WDA_SEND_MSG_COMPLETE SIR_HAL_SEND_MSG_COMPLETE
961
962/// PE <-> HAL Host Offload message
963#define WDA_SET_HOST_OFFLOAD SIR_HAL_SET_HOST_OFFLOAD
964
965/// PE <-> HAL Keep Alive message
966#define WDA_SET_KEEP_ALIVE SIR_HAL_SET_KEEP_ALIVE
967
968#ifdef WLAN_NS_OFFLOAD
969#define WDA_SET_NS_OFFLOAD SIR_HAL_SET_NS_OFFLOAD
970#endif //WLAN_NS_OFFLOAD
971#define WDA_ADD_STA_SELF_REQ SIR_HAL_ADD_STA_SELF_REQ
972#define WDA_DEL_STA_SELF_REQ SIR_HAL_DEL_STA_SELF_REQ
973
Jeff Johnson295189b2012-06-20 16:38:30 -0700974#define WDA_SET_P2P_GO_NOA_REQ SIR_HAL_SET_P2P_GO_NOA_REQ
Jeff Johnson295189b2012-06-20 16:38:30 -0700975
Madan Mohan Koyyalamudia53c4dc2012-11-13 10:35:42 -0800976#define WDA_TX_COMPLETE_TIMEOUT_IND (WDA_MSG_TYPES_END - 1)
Jeff Johnson295189b2012-06-20 16:38:30 -0700977#define WDA_WLAN_SUSPEND_IND SIR_HAL_WLAN_SUSPEND_IND
978#define WDA_WLAN_RESUME_REQ SIR_HAL_WLAN_RESUME_REQ
979#define WDA_MSG_TYPES_END SIR_HAL_MSG_TYPES_END
980
Jeff Johnson295189b2012-06-20 16:38:30 -0700981#define WDA_MMH_TXMB_READY_EVT SIR_HAL_MMH_TXMB_READY_EVT
982#define WDA_MMH_RXMB_DONE_EVT SIR_HAL_MMH_RXMB_DONE_EVT
983#define WDA_MMH_MSGQ_NE_EVT SIR_HAL_MMH_MSGQ_NE_EVT
Jeff Johnson295189b2012-06-20 16:38:30 -0700984
985#ifdef WLAN_FEATURE_VOWIFI_11R
986#define WDA_AGGR_QOS_REQ SIR_HAL_AGGR_QOS_REQ
987#define WDA_AGGR_QOS_RSP SIR_HAL_AGGR_QOS_RSP
988#endif /* WLAN_FEATURE_VOWIFI_11R */
989
Jeff Johnson295189b2012-06-20 16:38:30 -0700990/* FTM CMD MSG */
991#define WDA_FTM_CMD_REQ SIR_PTT_MSG_TYPES_BEGIN
992#define WDA_FTM_CMD_RSP SIR_PTT_MSG_TYPES_END
Jeff Johnson295189b2012-06-20 16:38:30 -0700993
994#ifdef FEATURE_WLAN_SCAN_PNO
995/*Requests sent to lower driver*/
996#define WDA_SET_PNO_REQ SIR_HAL_SET_PNO_REQ
997#define WDA_SET_RSSI_FILTER_REQ SIR_HAL_SET_RSSI_FILTER_REQ
998#define WDA_UPDATE_SCAN_PARAMS_REQ SIR_HAL_UPDATE_SCAN_PARAMS
999
1000/*Indication comming from lower driver*/
1001#define WDA_SET_PNO_CHANGED_IND SIR_HAL_SET_PNO_CHANGED_IND
1002#endif // FEATURE_WLAN_SCAN_PNO
1003
1004#ifdef WLAN_WAKEUP_EVENTS
1005#define WDA_WAKE_REASON_IND SIR_HAL_WAKE_REASON_IND
1006#endif // WLAN_WAKEUP_EVENTS
1007
1008#ifdef WLAN_FEATURE_PACKET_FILTERING
1009#define WDA_8023_MULTICAST_LIST_REQ SIR_HAL_8023_MULTICAST_LIST_REQ
1010#define WDA_RECEIVE_FILTER_SET_FILTER_REQ SIR_HAL_RECEIVE_FILTER_SET_FILTER_REQ
1011#define WDA_PACKET_COALESCING_FILTER_MATCH_COUNT_REQ SIR_HAL_PACKET_COALESCING_FILTER_MATCH_COUNT_REQ
1012#define WDA_PACKET_COALESCING_FILTER_MATCH_COUNT_RSP SIR_HAL_PACKET_COALESCING_FILTER_MATCH_COUNT_RSP
1013#define WDA_RECEIVE_FILTER_CLEAR_FILTER_REQ SIR_HAL_RECEIVE_FILTER_CLEAR_FILTER_REQ
1014#endif // WLAN_FEATURE_PACKET_FILTERING
1015
1016#define WDA_SET_POWER_PARAMS_REQ SIR_HAL_SET_POWER_PARAMS_REQ
1017
1018#ifdef WLAN_FEATURE_GTK_OFFLOAD
1019#define WDA_GTK_OFFLOAD_REQ SIR_HAL_GTK_OFFLOAD_REQ
1020#define WDA_GTK_OFFLOAD_GETINFO_REQ SIR_HAL_GTK_OFFLOAD_GETINFO_REQ
1021#define WDA_GTK_OFFLOAD_GETINFO_RSP SIR_HAL_GTK_OFFLOAD_GETINFO_RSP
1022#endif //WLAN_FEATURE_GTK_OFFLOAD
1023
1024#define WDA_SET_TM_LEVEL_REQ SIR_HAL_SET_TM_LEVEL_REQ
1025
Mohit Khanna4a70d262012-09-11 16:30:12 -07001026#ifdef WLAN_FEATURE_11AC
1027#define WDA_UPDATE_OP_MODE SIR_HAL_UPDATE_OP_MODE
1028#endif
1029
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08001030#define WDA_GET_ROAM_RSSI_REQ SIR_HAL_GET_ROAM_RSSI_REQ
1031#define WDA_GET_ROAM_RSSI_RSP SIR_HAL_GET_ROAM_RSSI_RSP
1032
Jeff Johnson295189b2012-06-20 16:38:30 -07001033tSirRetStatus wdaPostCtrlMsg(tpAniSirGlobal pMac, tSirMsgQ *pMsg);
Jeff Johnson295189b2012-06-20 16:38:30 -07001034
Jeff Johnson295189b2012-06-20 16:38:30 -07001035eHalStatus WDA_SetRegDomain(void * clientCtxt, v_REGDOMAIN_t regId);
Jeff Johnson295189b2012-06-20 16:38:30 -07001036
1037#define HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME 0x40 // Bit 6 will be used to control BD rate for Management frames
1038
Jeff Johnson295189b2012-06-20 16:38:30 -07001039#define halTxFrame(hHal, pFrmBuf, frmLen, frmType, txDir, tid, pCompFunc, pData, txFlag) \
1040 (eHalStatus)( WDA_TxPacket(\
1041 vos_get_context(VOS_MODULE_ID_WDA, vos_get_global_context(VOS_MODULE_ID_WDA, (hHal))),\
1042 (pFrmBuf),\
1043 (frmLen),\
1044 (frmType),\
1045 (txDir),\
1046 (tid),\
1047 (pCompFunc),\
1048 (pData),\
1049 (NULL), \
1050 (txFlag)) )
1051
1052#define halTxFrameWithTxComplete(hHal, pFrmBuf, frmLen, frmType, txDir, tid, pCompFunc, pData, pCBackFnTxComp, txFlag) \
1053 (eHalStatus)( WDA_TxPacket(\
1054 vos_get_context(VOS_MODULE_ID_WDA, vos_get_global_context(VOS_MODULE_ID_WDA, (hHal))),\
1055 (pFrmBuf),\
1056 (frmLen),\
1057 (frmType),\
1058 (txDir),\
1059 (tid),\
1060 (pCompFunc),\
1061 (pData),\
1062 (pCBackFnTxComp), \
1063 (txFlag)) )
Jeff Johnson295189b2012-06-20 16:38:30 -07001064
1065/* -----------------------------------------------------------------
1066 WDA data path API's for TL
1067 -------------------------------------------------------------------*/
1068
Jeff Johnson295189b2012-06-20 16:38:30 -07001069v_BOOL_t WDA_IsHwFrameTxTranslationCapable(v_PVOID_t pVosGCtx,
1070 tANI_U8 staIdx);
Jeff Johnson295189b2012-06-20 16:38:30 -07001071
Jeff Johnson295189b2012-06-20 16:38:30 -07001072# define WDA_EnableUapsdAcParams(vosGCtx, staId, uapsdInfo) \
1073 WDA_SetUapsdAcParamsReq(vosGCtx, staId, uapsdInfo)
Jeff Johnson295189b2012-06-20 16:38:30 -07001074
Jeff Johnson295189b2012-06-20 16:38:30 -07001075# define WDA_DisableUapsdAcParams(vosGCtx, staId, ac) \
1076 WDA_ClearUapsdAcParamsReq(vosGCtx, staId, ac)
Jeff Johnson295189b2012-06-20 16:38:30 -07001077
Jeff Johnson295189b2012-06-20 16:38:30 -07001078# define WDA_SetRSSIThresholds(pMac, pThresholds) \
1079 WDA_SetRSSIThresholdsReq(pMac, pThresholds)
Jeff Johnson295189b2012-06-20 16:38:30 -07001080
Jeff Johnson295189b2012-06-20 16:38:30 -07001081#define WDA_UpdateRssiBmps(pvosGCtx, staId, rssi) \
Madan Mohan Koyyalamudia53c4dc2012-11-13 10:35:42 -08001082 WLANTL_UpdateRssiBmps(pvosGCtx, staId, rssi)
Jeff Johnson295189b2012-06-20 16:38:30 -07001083
1084#ifdef WLAN_PERF
1085/*==========================================================================
1086 FUNCTION WDA_TLI_FastHwFwdDataFrame
1087
1088 DESCRIPTION
1089 For NON integrated SOC, this function is called by TL.
1090
1091 Fast path function to quickly forward a data frame if HAL determines BD
1092 signature computed here matches the signature inside current VOSS packet.
1093 If there is a match, HAL and TL fills in the swapped packet length into
1094 BD header and DxE header, respectively. Otherwise, packet goes back to
1095 normal (slow) path and a new BD signature would be tagged into BD in this
1096 VOSS packet later by the WLANHAL_FillTxBd() function.
1097
1098 TODO For integrated SOC, this function does nothing yet. Pima SLM/HAL
1099 should provide the equivelant functionality.
1100
1101 DEPENDENCIES
1102
1103 PARAMETERS
1104
1105 IN
1106 pvosGCtx VOS context
1107 vosDataBuff Ptr to VOSS packet
1108 pMetaInfo For getting frame's TID
1109 pStaInfo For checking STA type
1110
1111 OUT
1112 pvosStatus returned status
1113 puFastFwdOK Flag to indicate whether frame could be fast forwarded
1114
1115 RETURN VALUE
1116 No return.
1117
1118 SIDE EFFECTS
1119
1120============================================================================*/
1121void WDA_TLI_FastHwFwdDataFrame
1122(
1123 v_PVOID_t pvosGCtx,
1124 vos_pkt_t* vosDataBuff,
1125 VOS_STATUS* pvosStatus,
1126 v_U32_t* puFastFwdOK,
1127 WLANTL_MetaInfoType* pMetaInfo,
1128 WLAN_STADescType* pStaInfo
1129);
1130#endif /* WLAN_PERF */
1131
1132/*==========================================================================
1133 FUNCTION WDA_DS_Register
1134
1135 DESCRIPTION
1136 Register TL client to WDA. This function registers TL RX/TX functions
1137 to WDI by calling WDI_DS_Register.
1138
1139
1140 For NON integrated SOC, this function calls WLANBAL_RegTlCbFunctions
1141 to register TL's RX/TX functions to BAL
1142
1143 TODO
1144 For Prima, pfnResourceCB gets called in WDTS_OOResourceNotification.
1145 The uCount parameter is AC mask. It should be redefined to use the
1146 same resource callback function.
1147
1148 DEPENDENCIES
1149
1150 PARAMETERS
1151
1152 IN
1153 pvosGCtx VOS context
1154 pfnTxCompleteCallback TX complete callback upon TX completion
1155 pfnRxPacketCallback RX callback
1156 pfnResourceCB gets called when updating TX PDU number
1157 uResTheshold minimum TX PDU size for a packet
1158 pCallbackContext WDI calls callback function with it
1159 VOS global context pointer
1160 OUT
1161 uAvailableTxBuf available TX PDU numbder.
1162 BAL returns it for NON integrated SOC
1163
1164 RETURN VALUE
1165 VOS_STATUS_E_FAULT: pointer is NULL and other errors
1166 VOS_STATUS_SUCCESS: Everything is good :)
1167
1168 SIDE EFFECTS
1169
1170============================================================================*/
1171VOS_STATUS
1172WDA_DS_Register
1173(
1174 v_PVOID_t pvosGCtx,
1175 WDA_DS_TxCompleteCallback pfnTxCompleteCallback,
1176 WDA_DS_RxPacketCallback pfnRxPacketCallback,
1177 WDA_DS_TxPacketCallback pfnTxPacketCallback,
1178 WDA_DS_ResourceCB pfnResourceCB,
1179 v_U32_t uResTheshold,
1180 v_PVOID_t pCallbackContext,
1181 v_U32_t *uAvailableTxBuf
1182);
1183
1184/*==========================================================================
1185 FUNCTION WDA_DS_StartXmit
1186
1187 DESCRIPTION
1188 Serialize TX transmit reques to TX thread.
1189
1190 TODO This sends TX transmit request to TL. It should send to WDI for
1191 abstraction.
1192
1193 For NON integrated SOC, this function calls WLANBAL_StartXmit
1194
1195 DEPENDENCIES
1196
1197 PARAMETERS
1198
1199 IN
1200 pvosGCtx VOS context
1201
1202 RETURN VALUE
1203 VOS_STATUS_E_FAULT: pointer is NULL and other errors
1204 VOS_STATUS_SUCCESS: Everything is good :)
1205
1206 SIDE EFFECTS
1207
1208============================================================================*/
1209VOS_STATUS
1210WDA_DS_StartXmit
1211(
1212 v_PVOID_t pvosGCtx
1213);
1214
1215/*==========================================================================
1216 FUNCTION WDA_DS_FinishULA
1217
1218 DESCRIPTION
1219 Serialize Finish Upper Level Authentication reques to TX thread.
1220
1221 DEPENDENCIES
1222
1223 PARAMETERS
1224
1225 IN
1226 callbackRoutine routine to be called in TX thread
1227 callbackContext user data for the above routine
1228
1229 RETURN VALUE
1230 please see vos_tx_mq_serialize
1231
1232 SIDE EFFECTS
1233
1234============================================================================*/
1235VOS_STATUS
1236WDA_DS_FinishULA
1237(
1238 void (*callbackRoutine) (void *callbackContext),
Tushnim Bhattacharyya39a8f182013-02-20 18:10:30 -08001239 void *callbackContext
Jeff Johnson295189b2012-06-20 16:38:30 -07001240);
1241
1242/*==========================================================================
1243 FUNCTION WDA_DS_BuildTxPacketInfo
1244
1245 DESCRIPTION
1246 Build TX meta info for integrated SOC.
1247
1248 Same function calls HAL for reserve BD header space into VOS packet and
1249 HAL function to fill it.
1250
1251 DEPENDENCIES
1252
1253 PARAMETERS
1254
1255 IN
1256 pvosGCtx VOS context
1257 vosDataBuff vos data buffer
1258 pvDestMacAddr destination MAC address ponter
1259 ucDisableFrmXtl Is frame xtl disabled?
1260 ucQosEnabled Is QoS enabled?
1261 ucWDSEnabled Is WDS enabled?
1262 extraHeadSpace Extra head bytes. If it's not 0 due to 4 bytes align
1263 of BD header.
1264 typeSubtype typeSubtype from MAC header or TX metainfo/BD
1265 pAddr2 address 2
1266 uTid tid
1267 txFlag
1268 timeStamp
1269 ucIsEapol
1270 ucUP
1271
1272 OUT
1273 *pusPktLen Packet length
1274
1275 RETURN VALUE
1276 VOS_STATUS_E_FAULT: pointer is NULL and other errors
1277 VOS_STATUS_SUCCESS: Everything is good :)
1278
1279 SIDE EFFECTS
1280
1281============================================================================*/
1282VOS_STATUS
1283WDA_DS_BuildTxPacketInfo
1284(
1285 v_PVOID_t pvosGCtx,
1286 vos_pkt_t* vosDataBuff,
1287 v_MACADDR_t* pvDestMacAddr,
1288 v_U8_t ucDisableFrmXtl,
1289 v_U16_t* pusPktLen,
1290 v_U8_t ucQosEnabled,
1291 v_U8_t ucWDSEnabled,
1292 v_U8_t extraHeadSpace,
1293 v_U8_t typeSubtype,
1294 v_PVOID_t pAddr2,
1295 v_U8_t uTid,
1296 v_U8_t txFlag,
1297 v_U32_t timeStamp,
1298 v_U8_t ucIsEapol,
1299 v_U8_t ucUP
1300);
1301
1302/*==========================================================================
1303 FUNCTION WDA_DS_PeekRxPacketInfo
1304
1305 DESCRIPTION
1306 Return RX metainfo pointer for for integrated SOC.
1307
1308 Same function will return BD header pointer.
1309
1310 DEPENDENCIES
1311
1312 PARAMETERS
1313
1314 IN
1315 vosDataBuff vos data buffer
1316
1317 pvDestMacAddr destination MAC address ponter
1318 bSwap Want to swap BD header? For backward compatability
1319 It does nothing for integrated SOC
1320 OUT
1321 *ppRxHeader RX metainfo pointer
1322
1323 RETURN VALUE
1324 VOS_STATUS_E_FAULT: pointer is NULL and other errors
1325 VOS_STATUS_SUCCESS: Everything is good :)
1326
1327 SIDE EFFECTS
1328
1329============================================================================*/
1330VOS_STATUS
1331WDA_DS_PeekRxPacketInfo
1332(
1333 vos_pkt_t *vosDataBuff,
1334 v_PVOID_t *ppRxHeader,
1335 v_BOOL_t bSwap
1336);
1337
1338/*==========================================================================
1339 FUNCTION WDA_DS_TrimRxPacketInfo
1340
1341 DESCRIPTION
1342 Trim/Remove RX BD header for NON integrated SOC.
1343 It does nothing for integrated SOC.
1344
1345 DEPENDENCIES
1346
1347 PARAMETERS
1348
1349 IN
1350 vosDataBuff vos data buffer
1351
1352 RETURN VALUE
1353 VOS_STATUS_E_FAULT: pointer is NULL and other errors
1354 VOS_STATUS_SUCCESS: Everything is good :)
1355
1356 SIDE EFFECTS
1357
1358============================================================================*/
1359VOS_STATUS
1360WDA_DS_TrimRxPacketInfo
1361(
1362 vos_pkt_t *vosDataBuff
1363);
1364
1365/*==========================================================================
1366 FUNCTION WDA_DS_GetTxResources
1367
1368 DESCRIPTION
1369 It does return hardcoded value for Prima. It should bigger number than 0.
1370 Returning 0 will put TL in out-of-resource condition for TX.
1371
1372 Return current PDU resources from BAL for NON integrated SOC.
1373
1374 DEPENDENCIES
1375
1376 PARAMETERS
1377
1378 IN
1379 vosDataBuff vos data buffer
1380
1381 OUT
1382 puResCount available PDU number for TX
1383
1384 RETURN VALUE
1385 VOS_STATUS_E_FAULT: pointer is NULL and other errors
1386 VOS_STATUS_SUCCESS: Everything is good :)
1387
1388 SIDE EFFECTS
1389
1390============================================================================*/
1391VOS_STATUS
1392WDA_DS_GetTxResources
1393(
1394 v_PVOID_t pvosGCtx,
1395 v_U32_t* puResCount
1396);
1397
1398/*==========================================================================
1399 FUNCTION WDA_DS_GetRssi
1400
1401 DESCRIPTION
1402 Get RSSI
1403
1404 TODO It returns hardcoded value in the meantime since WDA/WDI does nothing
1405 support it yet for Prima.
1406
1407 DEPENDENCIES
1408
1409 PARAMETERS
1410
1411 IN
1412 vosDataBuff vos data buffer
1413
1414 OUT
1415 puRssi RSSI
1416
1417 RETURN VALUE
1418 VOS_STATUS_E_FAULT: pointer is NULL and other errors
1419 VOS_STATUS_SUCCESS: Everything is good :)
1420
1421 SIDE EFFECTS
1422
1423============================================================================*/
1424VOS_STATUS
1425WDA_DS_GetRssi
1426(
1427 v_PVOID_t pvosGCtx,
1428 v_S7_t* puRssi
1429);
1430
1431/*==========================================================================
1432 FUNCTION WDA_DS_RxAmsduBdFix
1433
1434 DESCRIPTION
1435 For backward compatability with Libra/Volans. Need to call HAL function
1436 for HW BD bug fix
1437
1438 It does nothing for integrated SOC.
1439
1440 DEPENDENCIES
1441
1442 PARAMETERS
1443
1444 IN
1445 pvosGCtx VOS context
1446 pvBDHeader BD header pointer
1447
1448 OUT
1449
1450 RETURN VALUE
1451 VOS_STATUS_E_FAULT: pointer is NULL and other errors
1452 VOS_STATUS_SUCCESS: Everything is good :)
1453
1454 SIDE EFFECTS
1455
1456============================================================================*/
1457VOS_STATUS
1458WDA_DS_RxAmsduBdFix
1459(
1460 v_PVOID_t pvosGCtx,
1461 v_PVOID_t pvBDHeader
1462);
1463
1464/*==========================================================================
1465 FUNCTION WDA_DS_GetFrameTypeSubType
1466
1467 DESCRIPTION
1468 Get typeSubtype from the packet. The BD header should have this.
1469 But some reason, Libra/Volans read it from 802.11 header and save it
1470 back to BD header. So for NON integrated SOC, this function does
1471 the same.
1472
1473 For integrated SOC, WDI does the same, not TL.
1474 It does return typeSubtype from RX meta info for integrated SOC.
1475
1476 DEPENDENCIES
1477
1478 PARAMETERS
1479
1480 IN
1481 pvosGCtx VOS context
1482 vosDataBuff vos data buffer
1483 pRxHeader RX meta info or BD header pointer
1484
1485 OUT
1486 ucTypeSubtype typeSubtype
1487
1488 RETURN VALUE
1489 VOS_STATUS_E_FAULT: pointer is NULL and other errors
1490 VOS_STATUS_SUCCESS: Everything is good :)
1491
1492 SIDE EFFECTS
1493
1494============================================================================*/
1495VOS_STATUS
1496WDA_DS_GetFrameTypeSubType
1497(
1498 v_PVOID_t pvosGCtx,
1499 vos_pkt_t *vosDataBuff,
1500 v_PVOID_t pRxHeader,
1501 v_U8_t *ucTypeSubtype
1502);
1503
1504/*==========================================================================
1505 FUNCTION WDA_DS_GetReplayCounter
1506
1507 DESCRIPTION
1508 Return replay counter from BD header or RX meta info
1509
1510 DEPENDENCIES
1511
1512 PARAMETERS
1513
1514 IN
1515 pRxHeader RX meta info or BD header pointer
1516
1517 OUT
1518
1519 RETURN VALUE
1520 Replay Counter
1521
1522 SIDE EFFECTS
1523
1524============================================================================*/
1525v_U64_t
1526WDA_DS_GetReplayCounter
1527(
1528 v_PVOID_t pRxHeader
1529);
1530
1531/*==========================================================================
1532 FUNCTION WDA_DS_GetReplayCounter
1533
1534 DESCRIPTION
1535 HO support. Set RSSI threshold via HAL function for NON integrated SOC
1536
1537 TODO
1538 Same function should be provided by WDA/WDI for Prima.
1539
1540 DEPENDENCIES
1541
1542 PARAMETERS
1543
1544 IN
1545 pMac MAC global pointer
1546 pThresholds pointer of threshold structure to set.
1547
1548 OUT
1549
1550 RETURN VALUE
1551 VOS_STATUS_E_FAULT: pointer is NULL and other errors
1552 VOS_STATUS_SUCCESS: Everything is good :)
1553
1554 SIDE EFFECTS
1555
1556============================================================================*/
1557VOS_STATUS
1558WDA_DS_SetRSSIThresholds
1559(
1560 tpAniSirGlobal pMac,
1561 tpSirRSSIThresholds pThresholds
1562);
1563
Jeff Johnson295189b2012-06-20 16:38:30 -07001564/*==========================================================================
1565 FUNCTION WDA_DS_TxFrames
1566
1567 DESCRIPTION
1568 Pull packets from TL and push them to WDI. It gets invoked upon
1569 WDA_DS_TX_START_XMIT.
1570
1571 This function is equivelant of WLANSSC_Transmit in Libra/Volans.
1572
1573 TODO
1574 This function should be implemented and moved in WDI.
1575
1576 DEPENDENCIES
1577
1578 PARAMETERS
1579
1580 IN
1581 pvosGCtx VOS context
1582
1583 OUT
1584
1585 RETURN VALUE
1586 VOS_STATUS_E_FAULT: pointer is NULL and other errors
1587 VOS_STATUS_SUCCESS: Everything is good :)
1588
1589 SIDE EFFECTS
1590
1591============================================================================*/
1592VOS_STATUS
1593WDA_DS_TxFrames
1594(
1595 v_PVOID_t pvosGCtx
1596);
Jeff Johnson295189b2012-06-20 16:38:30 -07001597
1598/*==========================================================================
1599 FUNCTION WDA_DS_TxFlowControlCallback
1600
1601 DESCRIPTION
1602 Invoked by WDI to control TX flow.
1603
1604 DEPENDENCIES
1605
1606 PARAMETERS
1607
1608 IN
1609 pvosGCtx VOS context
1610 uFlowMask TX channel mask for flow control
1611 Defined in WDA_TXFlowEnumType
1612
1613 OUT
1614
1615 RETURN VALUE
1616
1617 SIDE EFFECTS
1618
1619============================================================================*/
1620v_VOID_t
1621WDA_DS_TxFlowControlCallback
1622(
1623 v_PVOID_t pvosGCtx,
1624 v_U8_t uFlowMask
1625);
1626
1627/*==========================================================================
1628 FUNCTION WDA_DS_GetTxFlowMask
1629
1630 DESCRIPTION
1631 return TX flow mask control value
1632
1633 DEPENDENCIES
1634
1635 PARAMETERS
1636
1637 IN
1638 pvosGCtx VOS context
1639
1640 OUT
1641 uFlowMask TX channel mask for flow control
1642 Defined in WDA_TXFlowEnumType
1643
1644 RETURN VALUE
1645 VOS_STATUS_E_INVAL: pointer is NULL and other errors
1646 VOS_STATUS_SUCCESS: Everything is good :)
1647
1648 SIDE EFFECTS
1649
1650============================================================================*/
1651VOS_STATUS
1652WDA_DS_GetTxFlowMask
1653(
1654 v_PVOID_t pvosGCtx,
1655 v_U8_t* puFlowMask
1656);
1657
1658/*==========================================================================
1659 FUNCTION WDA_HALDumpCmdReq
1660
1661 DESCRIPTION
1662 Send Dump commandsto WDI
1663
1664 DEPENDENCIES
1665
1666 PARAMETERS
1667
1668 IN
1669 pMac MAC global pointer
1670 cmd Hal dump command
1671 arg1 Dump command argument 1
1672 arg2 Dump command argument 2
1673 arg3 Dump command argument 3
1674 arg4 Dump command argument 4
1675
1676 OUT
1677 pBuffer Dump command Response buffer
1678
1679 RETURN VALUE
1680 VOS_STATUS_E_FAULT: pointer is NULL and other errors
1681 VOS_STATUS_SUCCESS: Everything is good :)
1682
1683 SIDE EFFECTS
1684
1685============================================================================*/
1686VOS_STATUS WDA_HALDumpCmdReq(tpAniSirGlobal pMac,tANI_U32 cmd,
1687 tANI_U32 arg1, tANI_U32 arg2, tANI_U32 arg3,
1688 tANI_U32 arg4, tANI_U8 *pBuffer);
1689
1690/*==========================================================================
1691 FUNCTION WDA_featureCapsExchange
1692
1693 DESCRIPTION
1694 WDA API to invoke capability exchange between host and FW
1695
1696 DEPENDENCIES
1697
1698 PARAMETERS
1699
1700 IN
1701 pVosContext VOS context
1702
1703 OUT
1704 NONE
1705
1706 RETURN VALUE
1707 NONE
1708
1709 SIDE EFFECTS
1710============================================================================*/
1711void WDA_featureCapsExchange(v_PVOID_t pVosContext);
1712
Yathish9f22e662012-12-10 14:21:35 -08001713void WDA_disableCapablityFeature(tANI_U8 feature_index);
Jeff Johnson295189b2012-06-20 16:38:30 -07001714/*==========================================================================
1715 FUNCTION WDA_getHostWlanFeatCaps
1716
1717 DESCRIPTION
1718 Wrapper for WDI API, that will return if the feature (enum value).passed
1719 to this API is supported or not in Host
1720
1721 DEPENDENCIES
1722
1723 PARAMETERS
1724
1725 IN
1726 featEnumValue enum value for the feature as in placeHolderInCapBitmap in wlan_hal_msg.h.
1727
1728 OUT
1729 NONE
1730
1731 RETURN VALUE
1732 0 - implies feature is NOT Supported
1733 any non zero value - implies feature is SUPPORTED
1734
1735 SIDE EFFECTS
1736============================================================================*/
1737tANI_U8 WDA_getHostWlanFeatCaps(tANI_U8 featEnumValue);
1738
1739/*==========================================================================
1740 FUNCTION WDA_getFwWlanFeatCaps
1741
1742 DESCRIPTION
1743 Wrapper for WDI API, that will return if the feature (enum value).passed
1744 to this API is supported or not in FW
1745
1746 DEPENDENCIES
1747
1748 PARAMETERS
1749
1750 IN
1751 featEnumValue enum value for the feature as in placeHolderInCapBitmap in wlan_hal_msg.h.
1752
1753 OUT
1754 NONE
1755
1756 RETURN VALUE
1757 0 - implies feature is NOT Supported
1758 any non zero value - implies feature is SUPPORTED
1759
1760 SIDE EFFECTS
1761============================================================================*/
1762tANI_U8 WDA_getFwWlanFeatCaps(tANI_U8 featEnumValue);
1763
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -07001764/*==========================================================================
1765 FUNCTION WDA_TransportChannelDebug
1766
1767 DESCRIPTION
1768 Display Transport Channel debugging information
1769 User may request to display DXE channel snapshot
1770 Or if host driver detects any abnormal stcuk may display
1771
1772 PARAMETERS
schang6295e542013-03-12 15:31:23 -07001773 pMac : upper MAC context pointer
Jeff Johnsonb88db982012-12-10 13:34:59 -08001774 displaySnapshot : Display DXE snapshot option
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -07001775 enableStallDetect : Enable stall detect feature
1776 This feature will take effect to data performance
1777 Not integrate till fully verification
1778
1779 RETURN VALUE
1780 NONE
1781
1782===========================================================================*/
1783void WDA_TransportChannelDebug
1784(
schang6295e542013-03-12 15:31:23 -07001785 tpAniSirGlobal pMac,
1786 v_BOOL_t displaySnapshot,
1787 v_BOOL_t toggleStallDetect
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -07001788);
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08001789
1790/*==========================================================================
1791 FUNCTION WDA_TrafficStatsTimerActivate
1792
1793 DESCRIPTION
1794 API to activate/deactivate Traffic Stats timer. Traffic stats timer is only needed during MCC
1795 PARAMETERS
1796 activate : Activate or not
1797
1798 RETURN VALUE
1799 NONE
1800
1801===========================================================================*/
1802void WDA_TrafficStatsTimerActivate(wpt_boolean activate);
1803
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07001804/*==========================================================================
1805 FUNCTION WDA_SetEnableSSR
1806
1807 DESCRIPTION
1808 API to enable/disable SSR on WDI timeout
1809
1810 PARAMETERS
1811 enableSSR : enable/disable SSR
1812
1813 RETURN VALUE
1814 NONE
1815
1816===========================================================================*/
1817void WDA_SetEnableSSR(v_BOOL_t enableSSR);
1818
Jeff Johnson295189b2012-06-20 16:38:30 -07001819#endif