blob: 24ed5b879bd4495dc875de5414e5cebc9fd6b5be [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,
127 eWDA_AUTH_TYPE_WPA_NONE,
128 eWDA_AUTH_TYPE_AUTOSWITCH,
129 eWDA_AUTH_TYPE_SHARED_KEY,
130 eWDA_NUM_OF_SUPPORT_AUTH_TYPE,
131 eWDA_AUTH_TYPE_FAILED = 0xff,
132 eWDA_AUTH_TYPE_UNKNOWN = eCSR_AUTH_TYPE_FAILED,
133}WDA_AuthType;
Jeff Johnson295189b2012-06-20 16:38:30 -0700134
Kanchanapally, Vidyullathaf9426e52013-12-24 17:28:54 +0530135#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 +0530136#define IS_MUMIMO_BFORMEE_CAPABLE ((WDI_getHostWlanFeatCaps(MU_MIMO)) & (WDA_getFwWlanFeatCaps(MU_MIMO)))
Abhishek Singh5fef4042014-11-25 18:33:00 +0530137#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 +0530138#define IS_FEATURE_FW_STATS_ENABLE ((WDI_getHostWlanFeatCaps(FW_STATS)) & (WDA_getFwWlanFeatCaps(FW_STATS)))
Jeff Johnson295189b2012-06-20 16:38:30 -0700139/*--------------------------------------------------------------------------
140 Utilities
141 --------------------------------------------------------------------------*/
142
143#define WDA_TLI_CEIL( _a, _b) (( 0 != (_a)%(_b))? (_a)/(_b) + 1: (_a)/(_b))
144
145/*
146 * Check the version number and find if MCC feature is supported or not
147 */
148#define IS_MCC_SUPPORTED (WDA_IsWcnssWlanReportedVersionGreaterThanOrEqual( 0, 1, 1, 0))
Viral Modid86bde22012-12-10 13:09:21 -0800149#define IS_FEATURE_SUPPORTED_BY_FW(featEnumValue) (!!WDA_getFwWlanFeatCaps(featEnumValue))
Kiet Lam0f320422013-11-21 19:29:17 +0530150#define IS_FEATURE_SUPPORTED_BY_DRIVER(featEnumValue) (!!WDA_getHostWlanFeatCaps(featEnumValue))
Jeff Johnson295189b2012-06-20 16:38:30 -0700151
Yathish9f22e662012-12-10 14:21:35 -0800152#ifdef WLAN_ACTIVEMODE_OFFLOAD_FEATURE
153#define IS_ACTIVEMODE_OFFLOAD_FEATURE_ENABLE ((WDA_getFwWlanFeatCaps(WLANACTIVE_OFFLOAD)) & (WDI_getHostWlanFeatCaps(WLANACTIVE_OFFLOAD)))
154#else
155#define IS_ACTIVEMODE_OFFLOAD_FEATURE_ENABLE 0
156#endif
157
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -0700158#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
159#define IS_ROAM_SCAN_OFFLOAD_FEATURE_ENABLE ((WDI_getHostWlanFeatCaps(WLAN_ROAM_SCAN_OFFLOAD)) & (WDA_getFwWlanFeatCaps(WLAN_ROAM_SCAN_OFFLOAD)))
160#else
161#define IS_ROAM_SCAN_OFFLOAD_FEATURE_ENABLE 0
162#endif
Yathish9f22e662012-12-10 14:21:35 -0800163
Mihir Shete9c238772014-10-15 14:35:16 +0530164#define IS_DYNAMIC_WMM_PS_ENABLED ((WDI_getHostWlanFeatCaps(DYNAMIC_WMM_PS)) & (WDA_getFwWlanFeatCaps(DYNAMIC_WMM_PS)))
165
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700166/* Check if heartbeat offload is enabled */
167#define IS_IBSS_HEARTBEAT_OFFLOAD_FEATURE_ENABLE ((WDI_getHostWlanFeatCaps(IBSS_HEARTBEAT_OFFLOAD)) & (WDA_getFwWlanFeatCaps(IBSS_HEARTBEAT_OFFLOAD)))
168
Madan Mohan Koyyalamudice419872013-09-13 19:36:52 +0530169#ifdef FEATURE_WLAN_TDLS
170#define IS_ADVANCE_TDLS_ENABLE ((WDI_getHostWlanFeatCaps(ADVANCE_TDLS)) & (WDA_getFwWlanFeatCaps(ADVANCE_TDLS)))
171#else
172#define IS_ADVANCE_TDLS_ENABLE 0
173#endif
Sandeep Puligilla60342762014-01-30 21:05:37 +0530174#define IS_HT40_OBSS_SCAN_FEATURE_ENABLE ((WDA_getFwWlanFeatCaps(HT40_OBSS_SCAN)) & (WDI_getHostWlanFeatCaps(HT40_OBSS_SCAN)))
Mihir Sheted6274602015-04-28 16:13:21 +0530175#define IS_FRAME_LOGGING_SUPPORTED_BY_FW WDA_getFwWlanFeatCaps(MGMT_FRAME_LOGGING)
Sandeep Puligilla60342762014-01-30 21:05:37 +0530176
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -0800177typedef enum {
178 MODE_11A = 0, /* 11a Mode */
179 MODE_11G = 1, /* 11b/g Mode */
180 MODE_11B = 2, /* 11b Mode */
181 MODE_11GONLY = 3, /* 11g only Mode */
182 MODE_11NA_HT20 = 4, /* 11a HT20 mode */
183 MODE_11NG_HT20 = 5, /* 11g HT20 mode */
184 MODE_11NA_HT40 = 6, /* 11a HT40 mode */
185 MODE_11NG_HT40 = 7, /* 11g HT40 mode */
186 MODE_11AC_VHT20 = 8,
187 MODE_11AC_VHT40 = 9,
188 MODE_11AC_VHT80 = 10,
189// MODE_11AC_VHT160 = 11,
190 MODE_11AC_VHT20_2G = 11,
191 MODE_11AC_VHT40_2G = 12,
192 MODE_11AC_VHT80_2G = 13,
193 MODE_UNKNOWN = 14,
194 MODE_MAX = 14
195} WLAN_PHY_MODE;
196
197#define WLAN_HAL_CHAN_FLAG_HT40_PLUS 6
198#define WLAN_HAL_CHAN_FLAG_PASSIVE 7
199#define WLAN_HAL_CHAN_ADHOC_ALLOWED 8
200#define WLAN_HAL_CHAN_AP_DISABLED 9
201#define WLAN_HAL_CHAN_FLAG_DFS 10
202#define WLAN_HAL_CHAN_FLAG_ALLOW_HT 11 /* HT is allowed on this channel */
203#define WLAN_HAL_CHAN_FLAG_ALLOW_VHT 12 /* VHT is allowed on this channel */
204
205#define WDA_SET_CHANNEL_FLAG(pwda_channel,flag) do { \
206 (pwda_channel)->channel_info |= (1 << flag); \
207 } while(0)
208
209#define WDA_SET_CHANNEL_MODE(pwda_channel,val) do { \
210 (pwda_channel)->channel_info &= 0xffffffc0; \
211 (pwda_channel)->channel_info |= (val); \
212 } while(0)
213
214#define WDA_SET_CHANNEL_MAX_POWER(pwda_channel,val) do { \
215 (pwda_channel)->reg_info_1 &= 0xffff00ff; \
216 (pwda_channel)->reg_info_1 |= ((val&0xff) << 8); \
217 } while(0)
218
219#define WDA_SET_CHANNEL_REG_POWER(pwda_channel,val) do { \
220 (pwda_channel)->reg_info_1 &= 0xff00ffff; \
221 (pwda_channel)->reg_info_1 |= ((val&0xff) << 16); \
222 } while(0)
Sachin Ahujacb64fc82015-01-12 17:01:05 +0530223#define WDA_SET_CUURENT_REG_DOMAIN(pwda_channel, val) do { \
224 (pwda_channel)->reg_info_2 |= ((val&0x7) << 24); \
225 (pwda_channel)->reg_info_2 |= 0x80000000; \
226 } while(0)
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -0800227#define WDA_SET_CHANNEL_MIN_POWER(pwlan_hal_update_channel,val) do { \
228 (pwlan_hal_update_channel)->reg_info_1 &= 0xffffff00; \
229 (pwlan_hal_update_channel)->reg_info_1 |= (val&0xff); \
230 } while(0)
231#define WDA_SET_CHANNEL_ANTENNA_MAX(pwlan_hal_update_channel,val) do { \
232 (pwlan_hal_update_channel)->reg_info_2 &= 0xffffff00; \
233 (pwlan_hal_update_channel)->reg_info_2 |= (val&0xff); \
234 } while(0)
235#define WDA_SET_CHANNEL_REG_CLASSID(pwlan_hal_update_channel,val) do { \
236 (pwlan_hal_update_channel)->reg_info_1 &= 0x00ffffff; \
237 (pwlan_hal_update_channel)->reg_info_1 |= ((val&0xff) << 24); \
238 } while(0)
239
Amar Singhald08ce752014-03-21 16:28:27 -0700240#define WDA_IS_MCAST_FLT_ENABLE_IN_FW (WDA_getFwWlanFeatCaps(WLAN_MCADDR_FLT))
241
Jeff Johnson295189b2012-06-20 16:38:30 -0700242/*--------------------------------------------------------------------------
243 Definitions for Data path APIs
244 --------------------------------------------------------------------------*/
245
246/*As per 802.11 spec */
247#define WDA_TLI_MGMT_FRAME_TYPE 0x00
248#define WDA_TLI_CTRL_FRAME_TYPE 0x10
249#define WDA_TLI_DATA_FRAME_TYPE 0x20
250
251/*802.3 header definitions*/
252#define WDA_TLI_802_3_HEADER_LEN 14
253/*802.11 header definitions - header len without QOS ctrl field*/
254#define WDA_TLI_802_11_HEADER_LEN 24
255
256/*Determines the header len based on the disable xtl field*/
257#define WDA_TLI_MAC_HEADER_LEN( _dxtl) \
258 ( ( 0 == _dxtl )? \
259 WDA_TLI_802_3_HEADER_LEN:WDA_TLI_802_11_HEADER_LEN )
260
261/* TX channel enum type:
262
263 We have five types of TX packets so far and want to block/unblock each
264 traffic individually according to, for example, low resouce condition.
265 Define five TX channels for UMAC here. WDA can map these logical
266 channels to physical DXE channels if needed.
267*/
268typedef enum
269{
270 WDA_TXFLOW_AC_BK = 0,
271 WDA_TXFLOW_AC_BE = 1,
272 WDA_TXFLOW_AC_VI = 2,
273 WDA_TXFLOW_AC_VO = 3,
274 WDA_TXFLOW_MGMT = 4,
275 WDA_TXFLOW_BAP = 1, /* BAP is sent as BE */
276 WDA_TXFLOW_FC = 1, /* FC is sent as BE */
277 WDA_TXFLOW_MAX
278} WDA_TXFlowEnumType;
279
280#define WDA_TXFLOWMASK 0x1F /* 1~4bit:low priority ch / 5bit: high */
281
282/* ---------------------------------------------------------------------
283 Libra and Volans specifics
284
285 TODO Consider refactoring it and put it into two separate headers,
286 one for Prima and one for Volans
Jeff Johnson295189b2012-06-20 16:38:30 -0700287 ----------------------------------------------------------------------*/
288
289/* For backward compatability with SDIO. It's BAL header size for SDIO
290 interface. It's nothing for integrated SOC */
Jeff Johnson295189b2012-06-20 16:38:30 -0700291#define WDA_DXE_HEADER_SIZE 0
Jeff Johnson295189b2012-06-20 16:38:30 -0700292
Jeff Johnson295189b2012-06-20 16:38:30 -0700293
294/*Minimum resources needed - arbitrary*/
295
296/*DXE + SD*/
Madan Mohan Koyyalamudia53c4dc2012-11-13 10:35:42 -0800297#define WDA_WLAN_LIBRA_HEADER_LEN (20 + 8)
Jeff Johnson295189b2012-06-20 16:38:30 -0700298
Jeff Johnson295189b2012-06-20 16:38:30 -0700299#define WDA_TLI_BD_PDU_RESERVE_THRESHOLD 10
Jeff Johnson295189b2012-06-20 16:38:30 -0700300
301
Jeff Johnson295189b2012-06-20 16:38:30 -0700302# define WDA_TLI_MIN_RES_MF 1
303# define WDA_TLI_MIN_RES_BAP 2
304# define WDA_TLI_MIN_RES_DATA 3
Jeff Johnson295189b2012-06-20 16:38:30 -0700305
Jeff Johnson295189b2012-06-20 16:38:30 -0700306# define WDA_NUM_STA 8
Jeff Johnson295189b2012-06-20 16:38:30 -0700307
308/* For backward compatability with SDIO.
309
310 For SDIO interface, calculate the TX frame length and number of PDU
311 to transfter the frame.
312
313 _vosBuff: IN VOS pakcet buffer pointer
314 _usPktLen: OUT VOS packet length in bytes
315 _uResLen: OUT Number of PDU to hold this VOS packet
316 _uTotalPktLen: OUT Totoal packet length including BAL header size
317
318 For integrated SOC, _usPktLen and _uTotalPktLen is VOS pakcet length
319 which does include BD header length. _uResLen is hardcoded 2.
320 */
Jeff Johnson295189b2012-06-20 16:38:30 -0700321
322#ifdef WINDOWS_DT
323#define WDA_TLI_PROCESS_FRAME_LEN( _vosBuff, _usPktLen, \
324 _uResLen, _uTotalPktLen) \
325 do \
326 { \
327 _usPktLen = wpalPacketGetFragCount((wpt_packet*)_vosBuff) + 1/*BD*/;\
328 _uResLen = _usPktLen; \
329 _uTotalPktLen = _usPktLen; \
330 } \
331 while ( 0 )
332#else /* WINDOWS_DT */
333#define WDA_TLI_PROCESS_FRAME_LEN( _vosBuff, _usPktLen, \
334 _uResLen, _uTotalPktLen) \
335 do \
336 { \
337 _usPktLen = 2; /* Need 1 descriptor per a packet + packet*/ \
338 _uResLen = 2; /* Assume that we spends two DXE descriptor */ \
339 _uTotalPktLen = _usPktLen; \
340 } \
341 while ( 0 )
342#endif /* WINDOWS_DT */
343
Jeff Johnson295189b2012-06-20 16:38:30 -0700344
345
346/*--------------------------------------------------------------------------
347 Message Definitions
348 --------------------------------------------------------------------------*/
349
350/* TX Tranmit request message. It serializes TX request to TX thread.
351 The message is processed in TL.
352*/
353#define WDA_DS_TX_START_XMIT WLANTL_TX_START_XMIT
354#define WDA_DS_FINISH_ULA WLANTL_FINISH_ULA
355
Madan Mohan Koyyalamudi31e4cad2013-08-21 20:21:14 +0530356#define VOS_TO_WPAL_PKT(_vos_pkt) ((wpt_packet*)_vos_pkt)
Jeff Johnson295189b2012-06-20 16:38:30 -0700357
358#define WDA_TX_PACKET_FREED 0X0
359
Jeff Johnson43971f52012-07-17 12:26:56 -0700360/* Approximate amount of time to wait for WDA to stop WDI considering 1 pendig req too*/
361#define WDA_STOP_TIMEOUT ( (WDI_RESPONSE_TIMEOUT * 2) + WDI_SET_POWER_STATE_TIMEOUT + 5)
Jeff Johnson295189b2012-06-20 16:38:30 -0700362/*--------------------------------------------------------------------------
363 Functions
364 --------------------------------------------------------------------------*/
365
366/* For data client */
367typedef VOS_STATUS (*WDA_DS_TxCompleteCallback) ( v_PVOID_t pContext, vos_pkt_t *pFrameDataBuff, VOS_STATUS txStatus );
368typedef VOS_STATUS (*WDA_DS_RxPacketCallback) ( v_PVOID_t pContext, vos_pkt_t *pFrameDataBuff );
369typedef v_U32_t (*WDA_DS_TxPacketCallback) ( v_PVOID_t pContext,
370 vos_pkt_t **ppFrameDataBuff,
371 v_U32_t uSize,
Jeff Johnson295189b2012-06-20 16:38:30 -0700372 v_U8_t uFlowMask,
Jeff Johnson295189b2012-06-20 16:38:30 -0700373 v_BOOL_t *pbUrgent );
374typedef VOS_STATUS (*WDA_DS_ResourceCB) ( v_PVOID_t pContext, v_U32_t uCount );
375
376
Jeff Johnson295189b2012-06-20 16:38:30 -0700377/* For management client */
378typedef VOS_STATUS (*WDA_DS_TxCompleteCb)( v_PVOID_t pContext, wpt_packet *pFrame );
379typedef VOS_STATUS (*WDA_DS_RxCompleteCb)( v_PVOID_t pContext, wpt_packet *pFrame );
380typedef VOS_STATUS (*WDA_DS_TxFlowControlCb)( v_PVOID_t pContext, v_U8_t acMask );
381typedef void (*pWDATxRxCompFunc)( v_PVOID_t pContext, void *pData );
382
383//callback function for TX complete
384//parameter 1 - global pMac pointer
385//parameter 2 - txComplete status : 1- success, 0 - failure.
Ganesh Kondabattini358fc9b2015-03-11 16:14:25 +0530386typedef eHalStatus (*pWDAAckFnTxComp)(tpAniSirGlobal, void *pData);
Jeff Johnson295189b2012-06-20 16:38:30 -0700387
388typedef struct
389{
390 tANI_U16 ucValidStaIndex ;
391 /*
392 * each bit in ucUseBaBitmap represent BA is enabled or not for this tid
393 * tid0 ..bit0, tid1..bit1 and so on..
394 */
395 tANI_U8 ucUseBaBitmap ;
396 tANI_U8 bssIdx;
Abhishek Singh0644e482014-10-06 18:38:23 +0530397 tANI_U32 currentOperChan;
Jeff Johnson295189b2012-06-20 16:38:30 -0700398 tANI_U32 framesTxed[STACFG_MAX_TC];
399}tWdaStaInfo, *tpWdaStaInfo ;
400
401/* group all the WDA timers into this structure */
402typedef struct
403{
404 /* BA activity check timer */
405 TX_TIMER baActivityChkTmr ;
406
407 /* Tx Complete Timeout timer */
408 TX_TIMER TxCompleteTimer ;
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -0800409
410 /* Traffic Stats timer */
411 TX_TIMER trafficStatsTimer ;
Jeff Johnson295189b2012-06-20 16:38:30 -0700412}tWdaTimers ;
Siddharth Bhal85f99b12014-05-09 08:09:07 +0530413
Gopichand Nakkala976e3252013-01-03 15:45:56 -0800414#ifdef WLAN_SOFTAP_VSTA_FEATURE
Yathish Hanumapuradoddi Shivanna64dfc472013-03-08 10:48:34 -0800415#define WDA_MAX_STA (41)
Gopichand Nakkala976e3252013-01-03 15:45:56 -0800416#else
Jeff Johnson295189b2012-06-20 16:38:30 -0700417#define WDA_MAX_STA (16)
Gopichand Nakkala976e3252013-01-03 15:45:56 -0800418#endif
Siddharth Bhal85f99b12014-05-09 08:09:07 +0530419typedef enum
420{
421 WDA_ADDSTA_REQ_NO_MEM = 0,
422 WDA_ADDSTA_REQ_WDI_FAIL = 1,
423 WDA_ADDSTA_RSP_NO_MEM = 2,
424 WDA_ADDSTA_RSP_WDI_FAIL = 3,
425 WDA_ADDSTA_MAX
426} WDA_AddSelfStaFailReasonDebug;
427
428/*AddSelfSta Request and Response Debug*/
429typedef struct
430{
431 wpt_uint8 wdiAddStaSelfStaReqCounter;
432 wpt_uint8 wdiAddStaSelfStaRspCounter;
433 wpt_uint8 wdiAddStaSelfStaFailCounter;
434 wpt_uint8 ucSTASelfIdx; /* received SelfStaIdx*/
435 wpt_uint8 wdaAddSelfStaFailReason;
436} tWDA_AddSelfStaDebugParams;
437
Jeff Johnson295189b2012-06-20 16:38:30 -0700438typedef struct
439{
440 v_PVOID_t pVosContext; /* global VOSS context*/
441 v_PVOID_t pWdiContext; /* WDI context */
442 WDA_state wdaState ; /* WDA state tracking */
Jeff Johnson295189b2012-06-20 16:38:30 -0700443 v_PVOID_t wdaWdiCfgApiMsgParam ; /* WDI API paramter tracking */
444 vos_event_t wdaWdiEvent; /* WDI API sync event */
445
446 /* Event to wait for tx completion */
447 vos_event_t txFrameEvent;
448
449 /* call back function for tx complete*/
450 pWDATxRxCompFunc pTxCbFunc;
451 /* call back function for tx packet ack */
452 pWDAAckFnTxComp pAckTxCbFunc;
453 tANI_U32 frameTransRequired;
454 tSirMacAddr macBSSID; /*BSSID of the network */
455 tSirMacAddr macSTASelf; /*Self STA MAC*/
456
457 /* TX channel mask for flow control */
458 v_U8_t uTxFlowMask;
459 /* TL's TX resource callback */
460 WDA_DS_ResourceCB pfnTxResourceCB;
461 /* TL's TX complete callback */
462 WDA_DS_TxCompleteCallback pfnTxCompleteCallback;
463
464 tWdaStaInfo wdaStaInfo[WDA_MAX_STA];
465
466 tANI_U8 wdaMaxSta;
467 tWdaTimers wdaTimers;
468
469 /* STA, AP, IBSS, MULTI-BSS etc.*/
470 tBssSystemRole wdaGlobalSystemRole;
471
472 /* driver mode, PRODUCTION or FTM */
473 tDriverType driverMode;
474
Jeff Johnson295189b2012-06-20 16:38:30 -0700475 /* FTM Command Request tracking */
476 v_PVOID_t wdaFTMCmdReq;
Jeff Johnson295189b2012-06-20 16:38:30 -0700477
478 /* Event to wait for suspend data tx*/
479 vos_event_t suspendDataTxEvent;
480 /* Status frm TL after suspend/resume Tx */
481 tANI_U8 txStatus;
482 /* Flag set to true when TL suspend timesout.*/
483 tANI_U8 txSuspendTimedOut;
484
485 vos_event_t waitOnWdiIndicationCallBack;
486
487 /* version information */
488 tSirVersionType wcnssWlanCompiledVersion;
489 tSirVersionType wcnssWlanReportedVersion;
490 tSirVersionString wcnssSoftwareVersionString;
491 tSirVersionString wcnssHardwareVersionString;
492
493
494 tSirLinkState linkState;
495 /* set, when BT AMP session is going on */
496 v_BOOL_t wdaAmpSessionOn;
Jeff Johnsone7245742012-09-05 17:12:55 -0700497 v_BOOL_t needShutdown;
Madan Mohan Koyyalamudia2fc6412012-10-21 12:06:12 -0700498 v_BOOL_t wdiFailed;
Madan Mohan Koyyalamudid57ae632012-11-06 18:42:48 -0800499 v_BOOL_t wdaTimersCreated;
Mahesh A Saptasagarcadc3542014-12-01 19:00:02 +0530500 uintptr_t VosPacketToFree;
Leo Chang9d76f622013-08-23 16:34:52 -0700501
502 /* Event to wait for WDA stop on FTM mode */
503 vos_event_t ftmStopDoneEvent;
Siddharth Bhal85f99b12014-05-09 08:09:07 +0530504
505 tWDA_AddSelfStaDebugParams wdaAddSelfStaParams;
506
Jeff Johnson295189b2012-06-20 16:38:30 -0700507} tWDA_CbContext ;
508
509typedef struct
510{
511 v_PVOID_t pWdaContext; /* pointer to WDA context*/
512 v_PVOID_t wdaMsgParam; /* PE parameter tracking */
513 v_PVOID_t wdaWdiApiMsgParam; /* WDI API paramter tracking */
514} tWDA_ReqParams;
515
Siddharth Bhal68115602015-01-18 20:44:55 +0530516typedef struct
517{
518 v_PVOID_t pWdaContext; /* pointer to WDA context*/
519 v_PVOID_t wdaMsgParam; /* PE parameter tracking */
520 v_PVOID_t wdaWdiApiMsgParam; /* WDI API paramter tracking */
521 v_BOOL_t wdaHALDumpAsync; /* Async Request */
522
523} tWDA_HalDumpReqParams;
524
Jeff Johnson295189b2012-06-20 16:38:30 -0700525/*
526 * FUNCTION: WDA_open
527 * open WDA context
528 */
529
Arun Kumar Khandavalliebb19482014-03-25 13:56:53 +0530530VOS_STATUS WDA_open(v_PVOID_t pVosContext, v_PVOID_t devHandle,
Jeff Johnson295189b2012-06-20 16:38:30 -0700531 tMacOpenParameters *pMacParams ) ;
532
533/*
534 * FUNCTION: WDA_preStart
535 * Trigger DAL-AL to start CFG download
536 */
537VOS_STATUS WDA_start(v_PVOID_t pVosContext) ;
538
539VOS_STATUS WDA_NVDownload_Start(v_PVOID_t pVosContext);
540
541/*
542 * FUNCTION: WDA_preStart
543 * Trigger WDA to start CFG download
544 */
545VOS_STATUS WDA_preStart(v_PVOID_t pVosContext) ;
546/*
547 * FUNCTION: WDA_stop
548 * stop WDA
549 */
550VOS_STATUS WDA_stop(v_PVOID_t pVosContext,tANI_U8 reason);
551
552/*
553 * FUNCTION: WDA_close
554 * close WDA context
555 */
556VOS_STATUS WDA_close(v_PVOID_t pVosContext);
557/*
558 * FUNCTION: WDA_shutdown
559 * Shutdown will not close the control transport, added by SSR
560 */
561VOS_STATUS WDA_shutdown(v_PVOID_t pVosContext, wpt_boolean closeTransport);
562
563/*
Madan Mohan Koyyalamudi9d7a27f2012-11-28 15:55:25 -0800564 * FUNCTION: WDA_setNeedShutdown
565 * WDA stop failed or WDA NV Download failed
Jeff Johnsone7245742012-09-05 17:12:55 -0700566 */
Madan Mohan Koyyalamudi9d7a27f2012-11-28 15:55:25 -0800567void WDA_setNeedShutdown(v_PVOID_t pVosContext);
Jeff Johnsone7245742012-09-05 17:12:55 -0700568/*
569 * FUNCTION: WDA_needShutdown
570 * WDA requires a shutdown rather than a close
571 */
572v_BOOL_t WDA_needShutdown(v_PVOID_t pVosContext);
573
574/*
Jeff Johnson295189b2012-06-20 16:38:30 -0700575 * FUNCTION: WDA_McProcessMsg
576 * DAL-AL message processing entry function
577 */
578
579VOS_STATUS WDA_McProcessMsg( v_CONTEXT_t pVosContext, vos_msg_t *pMsg ) ;
580
581/* -----------------------------------------------------------------
582 * WDA data path API's
583 * ----------------------------------------------------------------*/
584/*
585 * FUNCTION: WDA_MgmtDSRegister
586 * Send Message back to PE
587 */
588
589VOS_STATUS WDA_MgmtDSRegister(tWDA_CbContext *pWDA,
590 WDA_DS_TxCompleteCb WDA_TxCompleteCallback,
591 WDA_DS_RxCompleteCb WDA_RxCompleteCallback,
592 WDA_DS_TxFlowControlCb WDA_TxFlowCtrlCallback
593 ) ;
594/*
595 * FUNCTION: WDA_MgmtDSTxPacket
596 * Forward TX management frame to WDI
597 */
598
599VOS_STATUS WDA_TxPacket(tWDA_CbContext *pWDA,
600 void *pFrmBuf,
601 tANI_U16 frmLen,
602 eFrameType frmType,
603 eFrameTxDir txDir,
604 tANI_U8 tid,
605 pWDATxRxCompFunc pCompFunc,
606 void *pData,
607 pWDAAckFnTxComp pAckTxComp,
Ganesh Kondabattini10e67352015-03-16 17:41:57 +0530608 tANI_U32 txFlag,
609 tANI_U32 txBdToken
610 );
Jeff Johnson295189b2012-06-20 16:38:30 -0700611
612/*
613 * FUNCTION: WDA_PostMsgApi
614 * API fpr PE to post Message to WDA
615 */
616VOS_STATUS WDA_PostMsgApi(tpAniSirGlobal pMac, tSirMsgQ *pMsg) ;
617
618/* ---------------------------------------------------------
619 * FUNCTION: wdaGetGlobalSystemRole()
620 *
621 * Get the global HAL system role.
622 * ---------------------------------------------------------
623 */
624tBssSystemRole wdaGetGlobalSystemRole(tpAniSirGlobal pMac);
625
626/* maximum wait time for WDA complete event (correct value has to be derived)
627 * for now giving the value 1000 ms */
628#define WDA_WDI_COMPLETION_TIME_OUT 30000 /* in ms */
629
630#define WDA_TL_TX_FRAME_TIMEOUT 10000 /* in msec a very high upper limit of 5,000 msec */
631#define WDA_TL_SUSPEND_TIMEOUT 2000 /* in ms unit */
632
633/*Tag used by WDA to mark a timed out frame*/
634#define WDA_TL_TX_MGMT_TIMED_OUT 0xDEAD
635
636#define WDA_TL_TX_SUSPEND_SUCCESS 0
637#define WDA_TL_TX_SUSPEND_FAILURE 1
638
Chet Lanctot186b5732013-03-18 10:26:30 -0700639#define DPU_FEEDBACK_UNPROTECTED_ERROR 0x0F
Jeff Johnson295189b2012-06-20 16:38:30 -0700640
Jeff Johnson295189b2012-06-20 16:38:30 -0700641
642/* ---------------------------------------------------------------------------
643
644 RX Meta info access for Integrated SOC
645 RX BD header access for NON Integrated SOC
646
647 These MACRO are for RX frames that are on flat buffers
648
649 ---------------------------------------------------------------------------*/
650
651/* WDA_GET_RX_MAC_HEADER *****************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700652# define WDA_GET_RX_MAC_HEADER(pRxMeta) \
653 (tpSirMacMgmtHdr)( ((WDI_DS_RxMetaInfoType *)(pRxMeta))->mpduHeaderPtr )
Jeff Johnson295189b2012-06-20 16:38:30 -0700654
655/* WDA_GET_RX_MPDUHEADER3A ****************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700656# define WDA_GET_RX_MPDUHEADER3A(pRxMeta) \
657 (tpSirMacDataHdr3a)( ((WDI_DS_RxMetaInfoType *)(pRxMeta))->mpduHeaderPtr )
Jeff Johnson295189b2012-06-20 16:38:30 -0700658
659/* WDA_GET_RX_MPDU_HEADER_LEN *************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700660# define WDA_GET_RX_MPDU_HEADER_LEN(pRxMeta) \
661 ( ((WDI_DS_RxMetaInfoType *)(pRxMeta))->mpduHeaderLength )
Jeff Johnson295189b2012-06-20 16:38:30 -0700662
663/* WDA_GET_RX_MPDU_LEN ********************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700664# define WDA_GET_RX_MPDU_LEN(pRxMeta) \
665 ( ((WDI_DS_RxMetaInfoType *)(pRxMeta))->mpduLength )
Jeff Johnson295189b2012-06-20 16:38:30 -0700666
667/* WDA_GET_RX_PAYLOAD_LEN ****************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700668# define WDA_GET_RX_PAYLOAD_LEN(pRxMeta) \
669 ( WDA_GET_RX_MPDU_LEN(pRxMeta) - WDA_GET_RX_MPDU_HEADER_LEN(pRxMeta) )
Jeff Johnson295189b2012-06-20 16:38:30 -0700670
671/* WDA_GET_RX_MAC_RATE_IDX ***************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700672# define WDA_GET_RX_MAC_RATE_IDX(pRxMeta) \
673 ( ((WDI_DS_RxMetaInfoType *)(pRxMeta))->rateIndex )
Jeff Johnson295189b2012-06-20 16:38:30 -0700674
675/* WDA_GET_RX_MPDU_DATA ******************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700676# define WDA_GET_RX_MPDU_DATA(pRxMeta) \
677 ( ((WDI_DS_RxMetaInfoType *)(pRxMeta))->mpduDataPtr )
Jeff Johnson295189b2012-06-20 16:38:30 -0700678
679/* WDA_GET_RX_MPDU_DATA_OFFSET ***********************************************/
680// For Integrated SOC: When UMAC receive the packet. BD is already stripped off.
681// Data offset is the MPDU header length
Jeff Johnson295189b2012-06-20 16:38:30 -0700682# define WDA_GET_RX_MPDU_DATA_OFFSET(pRxMeta) WDA_GET_RX_MPDU_HEADER_LEN(pRxMeta)
Jeff Johnson295189b2012-06-20 16:38:30 -0700683
684/* WDA_GET_RX_MPDU_HEADER_OFFSET *********************************************/
685// For Integrated SOC: We UMAC receive the frame,
686// BD is gone and MAC header at offset 0
Jeff Johnson295189b2012-06-20 16:38:30 -0700687# define WDA_GET_RX_MPDU_HEADER_OFFSET(pRxMeta) 0
Jeff Johnson295189b2012-06-20 16:38:30 -0700688
689/* WDA_GET_RX_UNKNOWN_UCAST **************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700690# define WDA_GET_RX_UNKNOWN_UCAST(pRxMeta) \
691 ( ((WDI_DS_RxMetaInfoType *)(pRxMeta))->unknownUcastPkt )
Jeff Johnson295189b2012-06-20 16:38:30 -0700692
693/* WDA_GET_RX_TID ************************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700694# define WDA_GET_RX_TID(pRxMeta) ( ((WDI_DS_RxMetaInfoType *)(pRxMeta))->tid )
Jeff Johnson295189b2012-06-20 16:38:30 -0700695
696/* WDA_GET_RX_STAID **********************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700697# define WDA_GET_RX_STAID(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->staId)
Jeff Johnson295189b2012-06-20 16:38:30 -0700698
699/* WDA_GET_RX_ADDR3_IDX ******************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700700# define WDA_GET_RX_ADDR3_IDX(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->addr3Idx)
Jeff Johnson295189b2012-06-20 16:38:30 -0700701
702/* WDA_GET_RX_CH *************************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700703# define WDA_GET_RX_CH(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->rxChannel)
Jeff Johnson295189b2012-06-20 16:38:30 -0700704
Kiran Kumar Lokere79540f92013-04-25 17:32:16 -0700705/* WDA_GET_RX_RFBAND *********************************************************/
706# define WDA_GET_RX_RFBAND(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->rfBand)
707
Jeff Johnson295189b2012-06-20 16:38:30 -0700708/* WDA_GET_RX_DPUSIG *********************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700709# define WDA_GET_RX_DPUSIG(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->dpuSig)
Jeff Johnson295189b2012-06-20 16:38:30 -0700710
711/* WDA_IS_RX_BCAST ***********************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700712# define WDA_IS_RX_BCAST(pRxMeta) \
713 ( (1 == ((WDI_DS_RxMetaInfoType*)(pRxMeta))->bcast) ? VOS_TRUE : VOS_FALSE )
Jeff Johnson295189b2012-06-20 16:38:30 -0700714
715/* WDA_GET_RX_FT_DONE ********************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700716# define WDA_GET_RX_FT_DONE(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->ft)
Jeff Johnson295189b2012-06-20 16:38:30 -0700717
718/* WDA_GET_RX_DPU_FEEDBACK **************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700719# define WDA_GET_RX_DPU_FEEDBACK(pRxMeta) \
720 (((WDI_DS_RxMetaInfoType*)(pRxMeta))->dpuFeedback)
Jeff Johnson295189b2012-06-20 16:38:30 -0700721
722/* WDA_GET_RX_ASF ************************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700723# define WDA_GET_RX_ASF(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->amsdu_asf)
Jeff Johnson295189b2012-06-20 16:38:30 -0700724
725/* WDA_GET_RX_AEF ************************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700726# define WDA_GET_RX_AEF(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->amsdu_aef)
Jeff Johnson295189b2012-06-20 16:38:30 -0700727
728/* WDA_GET_RX_ESF ************************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700729# define WDA_GET_RX_ESF(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->amsdu_esf)
Jeff Johnson295189b2012-06-20 16:38:30 -0700730
731/* WDA_GET_RX_BEACON_SENT ****************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700732# define WDA_GET_RX_BEACON_SENT(pRxMeta) \
733 (((WDI_DS_RxMetaInfoType*)(pRxMeta))->bsf)
Jeff Johnson295189b2012-06-20 16:38:30 -0700734
735/* WDA_GET_RX_TSF_LATER *****************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700736# define WDA_GET_RX_TSF_LATER(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->rtsf)
Jeff Johnson295189b2012-06-20 16:38:30 -0700737
738/* WDA_GET_RX_TYPE ***********************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700739# define WDA_GET_RX_TYPE(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->type)
Jeff Johnson295189b2012-06-20 16:38:30 -0700740
741/* WDA_GET_RX_SUBTYPE ********************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700742# define WDA_GET_RX_SUBTYPE(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->subtype)
Jeff Johnson295189b2012-06-20 16:38:30 -0700743
744/* WDA_GET_RX_TYPE_SUBTYPE ****************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700745# define WDA_GET_RX_TYPE_SUBTYPE(pRxMeta) \
746 ((WDA_GET_RX_TYPE(pRxMeta)<<4)|WDA_GET_RX_SUBTYPE(pRxMeta))
Jeff Johnson295189b2012-06-20 16:38:30 -0700747
748/* WDA_GET_RX_REORDER_OPCODE : For MSDU reorder *******************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700749# define WDA_GET_RX_REORDER_OPCODE(pRxMeta) \
750 (((WDI_DS_RxMetaInfoType*)(pRxMeta))->ampdu_reorderOpcode)
Jeff Johnson295189b2012-06-20 16:38:30 -0700751
752/* WDA_GET_RX_REORDER_SLOT_IDX : For MSDU reorder ****************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700753# define WDA_GET_RX_REORDER_SLOT_IDX(pRxMeta) \
754 (((WDI_DS_RxMetaInfoType*)(pRxMeta))->ampdu_reorderSlotIdx)
Jeff Johnson295189b2012-06-20 16:38:30 -0700755
756/* WDA_GET_RX_REORDER_FWD_IDX : For MSDU reorder *****************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700757# define WDA_GET_RX_REORDER_FWD_IDX(pRxMeta) \
758 (((WDI_DS_RxMetaInfoType*)(pRxMeta))->ampdu_reorderFwdIdx)
Jeff Johnson295189b2012-06-20 16:38:30 -0700759
760/* WDA_GET_RX_REORDER_CUR_PKT_SEQ_NO : Fro MSDU reorder **********************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700761# define WDA_GET_RX_REORDER_CUR_PKT_SEQ_NO(pRxMeta) \
762 (((WDI_DS_RxMetaInfoType*)(pRxMeta))->currentPktSeqNo)
Jeff Johnson295189b2012-06-20 16:38:30 -0700763
764/* WDA_IS_RX_LLC_PRESENT *****************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700765# define WDA_IS_RX_LLC_PRESENT(pRxMeta) \
766 ( (0 == ((WDI_DS_RxMetaInfoType*)(pRxMeta))->llcr) ? VOS_TRUE : VOS_FALSE )
Jeff Johnson295189b2012-06-20 16:38:30 -0700767
Mihir Shete2187b8c2015-03-18 16:54:29 +0530768# define WDA_IS_LOGGING_DATA(pRxMeta) \
769 ((0 == ((WDI_DS_RxMetaInfoType*)(pRxMeta))->loggingData) ? VOS_FALSE \
770 : VOS_TRUE)
771
Jeff Johnson295189b2012-06-20 16:38:30 -0700772#define WLANWDA_HO_IS_AN_AMPDU 0x4000
773#define WLANWDA_HO_LAST_MPDU_OF_AMPDU 0x400
774
775/* WDA_IS_RX_AN_AMPDU ********************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700776# define WDA_IS_RX_AN_AMPDU(pRxMeta) \
777 ( ((WDI_DS_RxMetaInfoType*)(pRxMeta))->rxpFlags & WLANWDA_HO_IS_AN_AMPDU )
Jeff Johnson295189b2012-06-20 16:38:30 -0700778
779/* WDA_IS_RX_LAST_MPDU *******************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700780# define WDA_IS_RX_LAST_MPDU(pRxMeta) \
781 ( ((WDI_DS_RxMetaInfoType*)(pRxMeta))->rxpFlags & WLANWDA_HO_LAST_MPDU_OF_AMPDU )
Jeff Johnson295189b2012-06-20 16:38:30 -0700782
783/* WDA_GET_RX_TIMESTAMP *****************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700784# define WDA_GET_RX_TIMESTAMP(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->mclkRxTimestamp)
Jeff Johnson295189b2012-06-20 16:38:30 -0700785
786/* WDA_IS_RX_IN_SCAN *********************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700787# define WDA_IS_RX_IN_SCAN(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->scan)
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -0700788#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
789/* WDA_GET_OFFLOADSCANLEARN **************************************************/
790# define WDA_GET_OFFLOADSCANLEARN(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->offloadScanLearn)
791/* WDA_GET_ROAMCANDIDATEIND **************************************************/
792# define WDA_GET_ROAMCANDIDATEIND(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->roamCandidateInd)
793#endif
Dino Mycle41bdc942014-06-10 11:30:24 +0530794#ifdef WLAN_FEATURE_EXTSCAN
795#define WDA_GET_EXTSCANFULLSCANRESIND(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->extscanBuffer)
796#endif
Jeff Johnson295189b2012-06-20 16:38:30 -0700797/* WDA_GET_RX_RSSI_DB ********************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700798// Volans RF
799# define WDA_RSSI_OFFSET 100
800# define WDA_GET_RSSI0_DB(rssi0) (rssi0 - WDA_RSSI_OFFSET)
801# define WDA_GET_RSSI1_DB(rssi0) (0 - WDA_RSSI_OFFSET)
802# define WDA_MAX_OF_TWO(val1, val2) ( ((val1) > (val2)) ? (val1) : (val2))
803# define WDA_GET_RSSI_DB(rssi0) \
804 WDA_MAX_OF_TWO(WDA_GET_RSSI0_DB(rssi0), WDA_GET_RSSI1_DB(rssi0))
805# define WDA_GET_RX_RSSI_DB(pRxMeta) \
806 WDA_GET_RSSI_DB((((WDI_DS_RxMetaInfoType*)(pRxMeta))->rssi0))
Jeff Johnson295189b2012-06-20 16:38:30 -0700807
808/* WDA_GET_RX_SNR ************************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700809# define WDA_GET_RX_SNR(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->snr)
Jeff Johnson295189b2012-06-20 16:38:30 -0700810
811/* WDA_IS_RX_FC **************************************************************/
812// Flow control frames
Jeff Johnson295189b2012-06-20 16:38:30 -0700813/* FIXME WDA should provide the meta info which indicates FC frame
814 In the meantime, use hardcoded FALSE, since we don't support FC yet */
815# define WDA_IS_RX_FC(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->fc)
Jeff Johnson295189b2012-06-20 16:38:30 -0700816
817/* WDA_GET_RX_FC_VALID_STA_MASK **********************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700818# define WDA_GET_RX_FC_VALID_STA_MASK(pRxMeta) \
819 (((WDI_DS_RxMetaInfoType*)(pRxMeta))->fcSTAValidMask)
Jeff Johnson295189b2012-06-20 16:38:30 -0700820
821/* WDA_GET_RX_FC_PWRSAVE_STA_MASK ********************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700822# define WDA_GET_RX_FC_PWRSAVE_STA_MASK(pRxMeta) \
823 (((WDI_DS_RxMetaInfoType*)(pRxMeta))->fcSTAPwrSaveStateMask)
Jeff Johnson295189b2012-06-20 16:38:30 -0700824
825/* WDA_GET_RX_FC_STA_THRD_IND_MASK ********************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700826# define WDA_GET_RX_FC_STA_THRD_IND_MASK(pRxMeta) \
827 (((WDI_DS_RxMetaInfoType*)(pRxMeta))->fcSTAThreshIndMask)
Jeff Johnson295189b2012-06-20 16:38:30 -0700828
829/* WDA_GET_RX_FC_FORCED_STA_TX_DISABLED_BITMAP ********************************************/
830# define WDA_GET_RX_FC_STA_TX_DISABLED_BITMAP(pRxMeta) \
831 (((WDI_DS_RxMetaInfoType*)(pRxMeta))->fcStaTxDisabledBitmap)
832
833/* WDA_GET_RX_FC_STA_TXQ_LEN *************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700834# define WDA_GET_RX_FC_STA_TXQ_LEN(pRxMeta, staId) \
835 (((WDI_DS_RxMetaInfoType*)(pRxMeta))->fcSTATxQLen[(staId)])
Jeff Johnson295189b2012-06-20 16:38:30 -0700836
837/* WDA_GET_RX_FC_STA_CUR_TXRATE **********************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700838# define WDA_GET_RX_FC_STA_CUR_TXRATE(pRxMeta, staId) \
839 (((WDI_DS_RxMetaInfoType*)(pRxMeta))->fcSTACurTxRate[(staId)])
Jeff Johnson295189b2012-06-20 16:38:30 -0700840
841/* WDA_GET_RX_REPLAY_COUNT ***************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700842# define WDA_GET_RX_REPLAY_COUNT(pRxMeta) \
843 (((WDI_DS_RxMetaInfoType*)(pRxMeta))->replayCount)
Jeff Johnson295189b2012-06-20 16:38:30 -0700844
845/* WDA_GETRSSI0 ***************************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700846# define WDA_GETRSSI0(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->rssi0)
Jeff Johnson295189b2012-06-20 16:38:30 -0700847
848/* WDA_GETRSSI1 ***************************************************************/
Jeff Johnson295189b2012-06-20 16:38:30 -0700849# define WDA_GETRSSI1(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->rssi1)
Jeff Johnson295189b2012-06-20 16:38:30 -0700850
Chet Lanctot186b5732013-03-18 10:26:30 -0700851/* WDA_GET_RX_RMF *****************************************************/
852#ifdef WLAN_FEATURE_11W
853# define WDA_GET_RX_RMF(pRxMeta) (((WDI_DS_RxMetaInfoType*)(pRxMeta))->rmf)
854#endif
Jeff Johnson295189b2012-06-20 16:38:30 -0700855
856/* --------------------------------------------------------------------*/
857
Jeff Johnson295189b2012-06-20 16:38:30 -0700858uint8 WDA_IsWcnssWlanCompiledVersionGreaterThanOrEqual(uint8 major, uint8 minor, uint8 version, uint8 revision);
859uint8 WDA_IsWcnssWlanReportedVersionGreaterThanOrEqual(uint8 major, uint8 minor, uint8 version, uint8 revision);
860
861
862VOS_STATUS WDA_GetWcnssWlanCompiledVersion(v_PVOID_t pvosGCtx,
863 tSirVersionType *pVersion);
864VOS_STATUS WDA_GetWcnssWlanReportedVersion(v_PVOID_t pvosGCtx,
865 tSirVersionType *pVersion);
866VOS_STATUS WDA_GetWcnssSoftwareVersion(v_PVOID_t pvosGCtx,
867 tANI_U8 *pVersion,
868 tANI_U32 versionBufferSize);
869VOS_STATUS WDA_GetWcnssHardwareVersion(v_PVOID_t pvosGCtx,
870 tANI_U8 *pVersion,
871 tANI_U32 versionBufferSize);
872
873VOS_STATUS WDA_SetUapsdAcParamsReq(v_PVOID_t , v_U8_t , tUapsdInfo *);
874VOS_STATUS WDA_ClearUapsdAcParamsReq(v_PVOID_t , v_U8_t , wpt_uint8 );
875VOS_STATUS WDA_SetRSSIThresholdsReq(tpAniSirGlobal , tSirRSSIThresholds *);
876// Just declare the function extern here and save some time.
877extern tSirRetStatus halMmhForwardMBmsg(void*, tSirMbMsg*);
878tSirRetStatus uMacPostCtrlMsg(void* pSirGlobal, tSirMbMsg* pMb);
Jeff Johnson295189b2012-06-20 16:38:30 -0700879
880
Jeff Johnson295189b2012-06-20 16:38:30 -0700881#define WDA_MAX_TXPOWER_INVALID HAL_MAX_TXPOWER_INVALID
882
883//WDA Messages to HAL messages Mapping
884#if 0
885//Required by SME
886//#define WDA_SIGNAL_BT_EVENT SIR_HAL_SIGNAL_BT_EVENT - this is defined in sirParams.h
887//#define WDA_BTC_SET_CFG SIR_HAL_BTC_SET_CFG
888
889//Required by PE
890#define WDA_HOST_MSG_START SIR_HAL_HOST_MSG_START
891#define WDA_INITIAL_CAL_FAILED_NTF SIR_HAL_INITIAL_CAL_FAILED_NTF
892#define WDA_SHUTDOWN_REQ SIR_HAL_SHUTDOWN_REQ
893#define WDA_SHUTDOWN_CNF SIR_HAL_SHUTDOWN_CNF
894#define WDA_RADIO_ON_OFF_IND SIR_HAL_RADIO_ON_OFF_IND
895#define WDA_RESET_CNF SIR_HAL_RESET_CNF
896#define WDA_SetRegDomain \
Madan Mohan Koyyalamudic0d1b3f2012-11-13 10:41:07 -0800897 (eHalStatus halPhySetRegDomain(tHalHandle hHal, eRegDomainId regDomain))
Jeff Johnson295189b2012-06-20 16:38:30 -0700898#endif
899
900#define WDA_APP_SETUP_NTF SIR_HAL_APP_SETUP_NTF
901#define WDA_NIC_OPER_NTF SIR_HAL_NIC_OPER_NTF
902#define WDA_INIT_START_REQ SIR_HAL_INIT_START_REQ
903#define WDA_RESET_REQ SIR_HAL_RESET_REQ
904#define WDA_HDD_ADDBA_REQ SIR_HAL_HDD_ADDBA_REQ
905#define WDA_HDD_ADDBA_RSP SIR_HAL_HDD_ADDBA_RSP
906#define WDA_DELETEBA_IND SIR_HAL_DELETEBA_IND
907#define WDA_BA_FAIL_IND SIR_HAL_BA_FAIL_IND
908#define WDA_TL_FLUSH_AC_REQ SIR_TL_HAL_FLUSH_AC_REQ
909#define WDA_TL_FLUSH_AC_RSP SIR_HAL_TL_FLUSH_AC_RSP
910
911#define WDA_MSG_TYPES_BEGIN SIR_HAL_MSG_TYPES_BEGIN
Siddharth Bhal64246172015-02-27 01:04:37 +0530912#define WDA_EXT_MSG_TYPES_BEGIN SIR_HAL_EXT_MSG_TYPES_BEGIN
Jeff Johnson295189b2012-06-20 16:38:30 -0700913#define WDA_ITC_MSG_TYPES_BEGIN SIR_HAL_ITC_MSG_TYPES_BEGIN
914#define WDA_RADAR_DETECTED_IND SIR_HAL_RADAR_DETECTED_IND
915#define WDA_WDT_KAM_RSP SIR_HAL_WDT_KAM_RSP
916#define WDA_TIMER_TEMP_MEAS_REQ SIR_HAL_TIMER_TEMP_MEAS_REQ
917#define WDA_TIMER_PERIODIC_STATS_COLLECT_REQ SIR_HAL_TIMER_PERIODIC_STATS_COLLECT_REQ
918#define WDA_CAL_REQ_NTF SIR_HAL_CAL_REQ_NTF
919#define WDA_MNT_OPEN_TPC_TEMP_MEAS_REQ SIR_HAL_MNT_OPEN_TPC_TEMP_MEAS_REQ
920#define WDA_CCA_MONITOR_INTERVAL_TO SIR_HAL_CCA_MONITOR_INTERVAL_TO
921#define WDA_CCA_MONITOR_DURATION_TO SIR_HAL_CCA_MONITOR_DURATION_TO
922#define WDA_CCA_MONITOR_START SIR_HAL_CCA_MONITOR_START
923#define WDA_CCA_MONITOR_STOP SIR_HAL_CCA_MONITOR_STOP
924#define WDA_CCA_CHANGE_MODE SIR_HAL_CCA_CHANGE_MODE
925#define WDA_TIMER_WRAP_AROUND_STATS_COLLECT_REQ SIR_HAL_TIMER_WRAP_AROUND_STATS_COLLECT_REQ
926
927/*
928 * New Taurus related messages
929 */
930#define WDA_ADD_STA_REQ SIR_HAL_ADD_STA_REQ
931#define WDA_ADD_STA_RSP SIR_HAL_ADD_STA_RSP
932#define WDA_ADD_STA_SELF_RSP SIR_HAL_ADD_STA_SELF_RSP
933#define WDA_DEL_STA_SELF_RSP SIR_HAL_DEL_STA_SELF_RSP
934#define WDA_DELETE_STA_REQ SIR_HAL_DELETE_STA_REQ
935#define WDA_DELETE_STA_RSP SIR_HAL_DELETE_STA_RSP
936#define WDA_ADD_BSS_REQ SIR_HAL_ADD_BSS_REQ
937#define WDA_ADD_BSS_RSP SIR_HAL_ADD_BSS_RSP
938#define WDA_DELETE_BSS_REQ SIR_HAL_DELETE_BSS_REQ
939#define WDA_DELETE_BSS_RSP SIR_HAL_DELETE_BSS_RSP
940#define WDA_INIT_SCAN_REQ SIR_HAL_INIT_SCAN_REQ
941#define WDA_INIT_SCAN_RSP SIR_HAL_INIT_SCAN_RSP
942#define WDA_START_SCAN_REQ SIR_HAL_START_SCAN_REQ
943#define WDA_START_SCAN_RSP SIR_HAL_START_SCAN_RSP
944#define WDA_END_SCAN_REQ SIR_HAL_END_SCAN_REQ
945#define WDA_END_SCAN_RSP SIR_HAL_END_SCAN_RSP
946#define WDA_FINISH_SCAN_REQ SIR_HAL_FINISH_SCAN_REQ
947#define WDA_FINISH_SCAN_RSP SIR_HAL_FINISH_SCAN_RSP
948#define WDA_SEND_BEACON_REQ SIR_HAL_SEND_BEACON_REQ
949#define WDA_SEND_BEACON_RSP SIR_HAL_SEND_BEACON_RSP
950
951#define WDA_INIT_CFG_REQ SIR_HAL_INIT_CFG_REQ
952#define WDA_INIT_CFG_RSP SIR_HAL_INIT_CFG_RSP
953
954#define WDA_INIT_WM_CFG_REQ SIR_HAL_INIT_WM_CFG_REQ
955#define WDA_INIT_WM_CFG_RSP SIR_HAL_INIT_WM_CFG_RSP
956
957#define WDA_SET_BSSKEY_REQ SIR_HAL_SET_BSSKEY_REQ
958#define WDA_SET_BSSKEY_RSP SIR_HAL_SET_BSSKEY_RSP
959#define WDA_SET_STAKEY_REQ SIR_HAL_SET_STAKEY_REQ
960#define WDA_SET_STAKEY_RSP SIR_HAL_SET_STAKEY_RSP
961#define WDA_DPU_STATS_REQ SIR_HAL_DPU_STATS_REQ
962#define WDA_DPU_STATS_RSP SIR_HAL_DPU_STATS_RSP
963#define WDA_GET_DPUINFO_REQ SIR_HAL_GET_DPUINFO_REQ
964#define WDA_GET_DPUINFO_RSP SIR_HAL_GET_DPUINFO_RSP
965
966#define WDA_UPDATE_EDCA_PROFILE_IND SIR_HAL_UPDATE_EDCA_PROFILE_IND
967
968#define WDA_UPDATE_STARATEINFO_REQ SIR_HAL_UPDATE_STARATEINFO_REQ
969#define WDA_UPDATE_STARATEINFO_RSP SIR_HAL_UPDATE_STARATEINFO_RSP
970
971#define WDA_UPDATE_BEACON_IND SIR_HAL_UPDATE_BEACON_IND
972#define WDA_UPDATE_CF_IND SIR_HAL_UPDATE_CF_IND
973#define WDA_CHNL_SWITCH_REQ SIR_HAL_CHNL_SWITCH_REQ
974#define WDA_ADD_TS_REQ SIR_HAL_ADD_TS_REQ
975#define WDA_DEL_TS_REQ SIR_HAL_DEL_TS_REQ
976#define WDA_SOFTMAC_TXSTAT_REPORT SIR_HAL_SOFTMAC_TXSTAT_REPORT
977
978#define WDA_MBOX_SENDMSG_COMPLETE_IND SIR_HAL_MBOX_SENDMSG_COMPLETE_IND
979#define WDA_EXIT_BMPS_REQ SIR_HAL_EXIT_BMPS_REQ
980#define WDA_EXIT_BMPS_RSP SIR_HAL_EXIT_BMPS_RSP
981#define WDA_EXIT_BMPS_IND SIR_HAL_EXIT_BMPS_IND
982#define WDA_ENTER_BMPS_REQ SIR_HAL_ENTER_BMPS_REQ
983#define WDA_ENTER_BMPS_RSP SIR_HAL_ENTER_BMPS_RSP
984#define WDA_BMPS_STATUS_IND SIR_HAL_BMPS_STATUS_IND
985#define WDA_MISSED_BEACON_IND SIR_HAL_MISSED_BEACON_IND
986
987#define WDA_CFG_RXP_FILTER_REQ SIR_HAL_CFG_RXP_FILTER_REQ
988#define WDA_CFG_RXP_FILTER_RSP SIR_HAL_CFG_RXP_FILTER_RSP
989
990#define WDA_SWITCH_CHANNEL_RSP SIR_HAL_SWITCH_CHANNEL_RSP
991#define WDA_P2P_NOA_ATTR_IND SIR_HAL_P2P_NOA_ATTR_IND
Viral Modid86bde22012-12-10 13:09:21 -0800992#define WDA_P2P_NOA_START_IND SIR_HAL_P2P_NOA_START_IND
Jeff Johnson295189b2012-06-20 16:38:30 -0700993#define WDA_PWR_SAVE_CFG SIR_HAL_PWR_SAVE_CFG
994
995#define WDA_REGISTER_PE_CALLBACK SIR_HAL_REGISTER_PE_CALLBACK
996#define WDA_SOFTMAC_MEM_READREQUEST SIR_HAL_SOFTMAC_MEM_READREQUEST
997#define WDA_SOFTMAC_MEM_WRITEREQUEST SIR_HAL_SOFTMAC_MEM_WRITEREQUEST
998
999#define WDA_SOFTMAC_MEM_READRESPONSE SIR_HAL_SOFTMAC_MEM_READRESPONSE
1000#define WDA_SOFTMAC_BULKREGWRITE_CONFIRM SIR_HAL_SOFTMAC_BULKREGWRITE_CONFIRM
1001#define WDA_SOFTMAC_BULKREGREAD_RESPONSE SIR_HAL_SOFTMAC_BULKREGREAD_RESPONSE
1002#define WDA_SOFTMAC_HOSTMESG_MSGPROCESSRESULT SIR_HAL_SOFTMAC_HOSTMESG_MSGPROCESSRESULT
1003
1004#define WDA_ADDBA_REQ SIR_HAL_ADDBA_REQ
1005#define WDA_ADDBA_RSP SIR_HAL_ADDBA_RSP
1006#define WDA_DELBA_IND SIR_HAL_DELBA_IND
1007#define WDA_DEL_BA_IND SIR_HAL_DEL_BA_IND
1008#define WDA_MIC_FAILURE_IND SIR_HAL_MIC_FAILURE_IND
1009
1010//message from sme to initiate delete block ack session.
1011#define WDA_DELBA_REQ SIR_HAL_DELBA_REQ
1012#define WDA_IBSS_STA_ADD SIR_HAL_IBSS_STA_ADD
1013#define WDA_TIMER_ADJUST_ADAPTIVE_THRESHOLD_IND SIR_HAL_TIMER_ADJUST_ADAPTIVE_THRESHOLD_IND
1014#define WDA_SET_LINK_STATE SIR_HAL_SET_LINK_STATE
1015#define WDA_SET_LINK_STATE_RSP SIR_HAL_SET_LINK_STATE_RSP
1016#define WDA_ENTER_IMPS_REQ SIR_HAL_ENTER_IMPS_REQ
1017#define WDA_ENTER_IMPS_RSP SIR_HAL_ENTER_IMPS_RSP
1018#define WDA_EXIT_IMPS_RSP SIR_HAL_EXIT_IMPS_RSP
1019#define WDA_EXIT_IMPS_REQ SIR_HAL_EXIT_IMPS_REQ
1020#define WDA_SOFTMAC_HOSTMESG_PS_STATUS_IND SIR_HAL_SOFTMAC_HOSTMESG_PS_STATUS_IND
1021#define WDA_POSTPONE_ENTER_IMPS_RSP SIR_HAL_POSTPONE_ENTER_IMPS_RSP
1022#define WDA_STA_STAT_REQ SIR_HAL_STA_STAT_REQ
1023#define WDA_GLOBAL_STAT_REQ SIR_HAL_GLOBAL_STAT_REQ
1024#define WDA_AGGR_STAT_REQ SIR_HAL_AGGR_STAT_REQ
1025#define WDA_STA_STAT_RSP SIR_HAL_STA_STAT_RSP
1026#define WDA_GLOBAL_STAT_RSP SIR_HAL_GLOBAL_STAT_RSP
1027#define WDA_AGGR_STAT_RSP SIR_HAL_AGGR_STAT_RSP
1028#define WDA_STAT_SUMM_REQ SIR_HAL_STAT_SUMM_REQ
1029#define WDA_STAT_SUMM_RSP SIR_HAL_STAT_SUMM_RSP
1030#define WDA_REMOVE_BSSKEY_REQ SIR_HAL_REMOVE_BSSKEY_REQ
1031#define WDA_REMOVE_BSSKEY_RSP SIR_HAL_REMOVE_BSSKEY_RSP
1032#define WDA_REMOVE_STAKEY_REQ SIR_HAL_REMOVE_STAKEY_REQ
1033#define WDA_REMOVE_STAKEY_RSP SIR_HAL_REMOVE_STAKEY_RSP
1034#define WDA_SET_STA_BCASTKEY_REQ SIR_HAL_SET_STA_BCASTKEY_REQ
1035#define WDA_SET_STA_BCASTKEY_RSP SIR_HAL_SET_STA_BCASTKEY_RSP
1036#define WDA_REMOVE_STA_BCASTKEY_REQ SIR_HAL_REMOVE_STA_BCASTKEY_REQ
1037#define WDA_REMOVE_STA_BCASTKEY_RSP SIR_HAL_REMOVE_STA_BCASTKEY_RSP
1038#define WDA_ADD_TS_RSP SIR_HAL_ADD_TS_RSP
1039#define WDA_DPU_MIC_ERROR SIR_HAL_DPU_MIC_ERROR
1040#define WDA_TIMER_BA_ACTIVITY_REQ SIR_HAL_TIMER_BA_ACTIVITY_REQ
1041#define WDA_TIMER_CHIP_MONITOR_TIMEOUT SIR_HAL_TIMER_CHIP_MONITOR_TIMEOUT
1042#define WDA_TIMER_TRAFFIC_ACTIVITY_REQ SIR_HAL_TIMER_TRAFFIC_ACTIVITY_REQ
1043#define WDA_TIMER_ADC_RSSI_STATS SIR_HAL_TIMER_ADC_RSSI_STATS
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08001044#define WDA_TIMER_TRAFFIC_STATS_IND SIR_HAL_TRAFFIC_STATS_IND
1045
Chet Lanctot186b5732013-03-18 10:26:30 -07001046#ifdef WLAN_FEATURE_11W
1047#define WDA_EXCLUDE_UNENCRYPTED_IND SIR_HAL_EXCLUDE_UNENCRYPTED_IND
1048#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001049
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08001050#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07001051#define WDA_TSM_STATS_REQ SIR_HAL_TSM_STATS_REQ
1052#define WDA_TSM_STATS_RSP SIR_HAL_TSM_STATS_RSP
1053#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001054#define WDA_UPDATE_PROBE_RSP_IE_BITMAP_IND SIR_HAL_UPDATE_PROBE_RSP_IE_BITMAP_IND
1055#define WDA_UPDATE_UAPSD_IND SIR_HAL_UPDATE_UAPSD_IND
Jeff Johnson295189b2012-06-20 16:38:30 -07001056
1057#define WDA_SET_MIMOPS_REQ SIR_HAL_SET_MIMOPS_REQ
1058#define WDA_SET_MIMOPS_RSP SIR_HAL_SET_MIMOPS_RSP
1059#define WDA_SYS_READY_IND SIR_HAL_SYS_READY_IND
1060#define WDA_SET_TX_POWER_REQ SIR_HAL_SET_TX_POWER_REQ
1061#define WDA_SET_TX_POWER_RSP SIR_HAL_SET_TX_POWER_RSP
1062#define WDA_GET_TX_POWER_REQ SIR_HAL_GET_TX_POWER_REQ
1063#define WDA_GET_TX_POWER_RSP SIR_HAL_GET_TX_POWER_RSP
1064#define WDA_GET_NOISE_REQ SIR_HAL_GET_NOISE_REQ
1065#define WDA_GET_NOISE_RSP SIR_HAL_GET_NOISE_RSP
1066#define WDA_SET_TX_PER_TRACKING_REQ SIR_HAL_SET_TX_PER_TRACKING_REQ
1067
1068/* Messages to support transmit_halt and transmit_resume */
1069#define WDA_TRANSMISSION_CONTROL_IND SIR_HAL_TRANSMISSION_CONTROL_IND
1070/* Indication from LIM to HAL to Initialize radar interrupt */
1071#define WDA_INIT_RADAR_IND SIR_HAL_INIT_RADAR_IND
1072/* Messages to support transmit_halt and transmit_resume */
1073
1074
1075#define WDA_BEACON_PRE_IND SIR_HAL_BEACON_PRE_IND
1076#define WDA_ENTER_UAPSD_REQ SIR_HAL_ENTER_UAPSD_REQ
1077#define WDA_ENTER_UAPSD_RSP SIR_HAL_ENTER_UAPSD_RSP
1078#define WDA_EXIT_UAPSD_REQ SIR_HAL_EXIT_UAPSD_REQ
1079#define WDA_EXIT_UAPSD_RSP SIR_HAL_EXIT_UAPSD_RSP
1080#define WDA_LOW_RSSI_IND SIR_HAL_LOW_RSSI_IND
1081#define WDA_BEACON_FILTER_IND SIR_HAL_BEACON_FILTER_IND
1082/// PE <-> HAL WOWL messages
1083#define WDA_WOWL_ADD_BCAST_PTRN SIR_HAL_WOWL_ADD_BCAST_PTRN
1084#define WDA_WOWL_DEL_BCAST_PTRN SIR_HAL_WOWL_DEL_BCAST_PTRN
1085#define WDA_WOWL_ENTER_REQ SIR_HAL_WOWL_ENTER_REQ
1086#define WDA_WOWL_ENTER_RSP SIR_HAL_WOWL_ENTER_RSP
1087#define WDA_WOWL_EXIT_REQ SIR_HAL_WOWL_EXIT_REQ
1088#define WDA_WOWL_EXIT_RSP SIR_HAL_WOWL_EXIT_RSP
1089#define WDA_TX_COMPLETE_IND SIR_HAL_TX_COMPLETE_IND
1090#define WDA_TIMER_RA_COLLECT_AND_ADAPT SIR_HAL_TIMER_RA_COLLECT_AND_ADAPT
1091/// PE <-> HAL statistics messages
1092#define WDA_GET_STATISTICS_REQ SIR_HAL_GET_STATISTICS_REQ
1093#define WDA_GET_STATISTICS_RSP SIR_HAL_GET_STATISTICS_RSP
1094#define WDA_SET_KEY_DONE SIR_HAL_SET_KEY_DONE
1095
1096/// PE <-> HAL BTC messages
1097#define WDA_BTC_SET_CFG SIR_HAL_BTC_SET_CFG
1098#define WDA_SIGNAL_BT_EVENT SIR_HAL_SIGNAL_BT_EVENT
1099#define WDA_HANDLE_FW_MBOX_RSP SIR_HAL_HANDLE_FW_MBOX_RSP
1100#define WDA_UPDATE_PROBE_RSP_TEMPLATE_IND SIR_HAL_UPDATE_PROBE_RSP_TEMPLATE_IND
1101#define WDA_SIGNAL_BTAMP_EVENT SIR_HAL_SIGNAL_BTAMP_EVENT
1102
Jeff Johnsone7245742012-09-05 17:12:55 -07001103#ifdef FEATURE_OEM_DATA_SUPPORT
1104/* PE <-> HAL OEM_DATA RELATED MESSAGES */
1105#define WDA_START_OEM_DATA_REQ SIR_HAL_START_OEM_DATA_REQ
1106#define WDA_START_OEM_DATA_RSP SIR_HAL_START_OEM_DATA_RSP
1107#define WDA_FINISH_OEM_DATA_REQ SIR_HAL_FINISH_OEM_DATA_REQ
1108#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001109
1110#define WDA_SET_MAX_TX_POWER_REQ SIR_HAL_SET_MAX_TX_POWER_REQ
1111#define WDA_SET_MAX_TX_POWER_RSP SIR_HAL_SET_MAX_TX_POWER_RSP
1112
Arif Hussaina5ebce02013-08-09 15:09:58 -07001113#define WDA_SET_MAX_TX_POWER_PER_BAND_REQ \
1114 SIR_HAL_SET_MAX_TX_POWER_PER_BAND_REQ
1115#define WDA_SET_MAX_TX_POWER_PER_BAND_RSP \
1116 SIR_HAL_SET_MAX_TX_POWER_PER_BAND_RSP
1117
Jeff Johnson295189b2012-06-20 16:38:30 -07001118#define WDA_SEND_MSG_COMPLETE SIR_HAL_SEND_MSG_COMPLETE
1119
1120/// PE <-> HAL Host Offload message
1121#define WDA_SET_HOST_OFFLOAD SIR_HAL_SET_HOST_OFFLOAD
1122
1123/// PE <-> HAL Keep Alive message
1124#define WDA_SET_KEEP_ALIVE SIR_HAL_SET_KEEP_ALIVE
1125
1126#ifdef WLAN_NS_OFFLOAD
1127#define WDA_SET_NS_OFFLOAD SIR_HAL_SET_NS_OFFLOAD
1128#endif //WLAN_NS_OFFLOAD
1129#define WDA_ADD_STA_SELF_REQ SIR_HAL_ADD_STA_SELF_REQ
1130#define WDA_DEL_STA_SELF_REQ SIR_HAL_DEL_STA_SELF_REQ
1131
Jeff Johnson295189b2012-06-20 16:38:30 -07001132#define WDA_SET_P2P_GO_NOA_REQ SIR_HAL_SET_P2P_GO_NOA_REQ
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05301133#define WDA_SET_TDLS_LINK_ESTABLISH_REQ SIR_HAL_TDLS_LINK_ESTABLISH_REQ
1134#define WDA_SET_TDLS_LINK_ESTABLISH_REQ_RSP SIR_HAL_TDLS_LINK_ESTABLISH_REQ_RSP
Jeff Johnson295189b2012-06-20 16:38:30 -07001135
Madan Mohan Koyyalamudia53c4dc2012-11-13 10:35:42 -08001136#define WDA_TX_COMPLETE_TIMEOUT_IND (WDA_MSG_TYPES_END - 1)
Jeff Johnson295189b2012-06-20 16:38:30 -07001137#define WDA_WLAN_SUSPEND_IND SIR_HAL_WLAN_SUSPEND_IND
1138#define WDA_WLAN_RESUME_REQ SIR_HAL_WLAN_RESUME_REQ
1139#define WDA_MSG_TYPES_END SIR_HAL_MSG_TYPES_END
1140
Jeff Johnson295189b2012-06-20 16:38:30 -07001141#define WDA_MMH_TXMB_READY_EVT SIR_HAL_MMH_TXMB_READY_EVT
1142#define WDA_MMH_RXMB_DONE_EVT SIR_HAL_MMH_RXMB_DONE_EVT
1143#define WDA_MMH_MSGQ_NE_EVT SIR_HAL_MMH_MSGQ_NE_EVT
Jeff Johnson295189b2012-06-20 16:38:30 -07001144
1145#ifdef WLAN_FEATURE_VOWIFI_11R
1146#define WDA_AGGR_QOS_REQ SIR_HAL_AGGR_QOS_REQ
1147#define WDA_AGGR_QOS_RSP SIR_HAL_AGGR_QOS_RSP
1148#endif /* WLAN_FEATURE_VOWIFI_11R */
1149
Jeff Johnson295189b2012-06-20 16:38:30 -07001150/* FTM CMD MSG */
1151#define WDA_FTM_CMD_REQ SIR_PTT_MSG_TYPES_BEGIN
1152#define WDA_FTM_CMD_RSP SIR_PTT_MSG_TYPES_END
Jeff Johnson295189b2012-06-20 16:38:30 -07001153
1154#ifdef FEATURE_WLAN_SCAN_PNO
1155/*Requests sent to lower driver*/
1156#define WDA_SET_PNO_REQ SIR_HAL_SET_PNO_REQ
1157#define WDA_SET_RSSI_FILTER_REQ SIR_HAL_SET_RSSI_FILTER_REQ
1158#define WDA_UPDATE_SCAN_PARAMS_REQ SIR_HAL_UPDATE_SCAN_PARAMS
1159
1160/*Indication comming from lower driver*/
1161#define WDA_SET_PNO_CHANGED_IND SIR_HAL_SET_PNO_CHANGED_IND
1162#endif // FEATURE_WLAN_SCAN_PNO
1163
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07001164#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07001165#define WDA_ROAM_SCAN_OFFLOAD_REQ SIR_HAL_ROAM_SCAN_OFFLOAD_REQ
Varun Reddy Yeturucc661d22013-05-20 11:47:10 -07001166#define WDA_ROAM_SCAN_OFFLOAD_RSP SIR_HAL_ROAM_SCAN_OFFLOAD_RSP
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07001167#endif
1168
Jeff Johnson295189b2012-06-20 16:38:30 -07001169#ifdef WLAN_WAKEUP_EVENTS
1170#define WDA_WAKE_REASON_IND SIR_HAL_WAKE_REASON_IND
1171#endif // WLAN_WAKEUP_EVENTS
1172
1173#ifdef WLAN_FEATURE_PACKET_FILTERING
1174#define WDA_8023_MULTICAST_LIST_REQ SIR_HAL_8023_MULTICAST_LIST_REQ
1175#define WDA_RECEIVE_FILTER_SET_FILTER_REQ SIR_HAL_RECEIVE_FILTER_SET_FILTER_REQ
1176#define WDA_PACKET_COALESCING_FILTER_MATCH_COUNT_REQ SIR_HAL_PACKET_COALESCING_FILTER_MATCH_COUNT_REQ
1177#define WDA_PACKET_COALESCING_FILTER_MATCH_COUNT_RSP SIR_HAL_PACKET_COALESCING_FILTER_MATCH_COUNT_RSP
1178#define WDA_RECEIVE_FILTER_CLEAR_FILTER_REQ SIR_HAL_RECEIVE_FILTER_CLEAR_FILTER_REQ
1179#endif // WLAN_FEATURE_PACKET_FILTERING
1180
1181#define WDA_SET_POWER_PARAMS_REQ SIR_HAL_SET_POWER_PARAMS_REQ
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +05301182#define WDA_DHCP_START_IND SIR_HAL_DHCP_START_IND
1183#define WDA_DHCP_STOP_IND SIR_HAL_DHCP_STOP_IND
1184
Jeff Johnson295189b2012-06-20 16:38:30 -07001185
1186#ifdef WLAN_FEATURE_GTK_OFFLOAD
1187#define WDA_GTK_OFFLOAD_REQ SIR_HAL_GTK_OFFLOAD_REQ
1188#define WDA_GTK_OFFLOAD_GETINFO_REQ SIR_HAL_GTK_OFFLOAD_GETINFO_REQ
1189#define WDA_GTK_OFFLOAD_GETINFO_RSP SIR_HAL_GTK_OFFLOAD_GETINFO_RSP
1190#endif //WLAN_FEATURE_GTK_OFFLOAD
1191
1192#define WDA_SET_TM_LEVEL_REQ SIR_HAL_SET_TM_LEVEL_REQ
1193
Mohit Khanna4a70d262012-09-11 16:30:12 -07001194#ifdef WLAN_FEATURE_11AC
1195#define WDA_UPDATE_OP_MODE SIR_HAL_UPDATE_OP_MODE
1196#endif
1197
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08001198#define WDA_GET_ROAM_RSSI_REQ SIR_HAL_GET_ROAM_RSSI_REQ
1199#define WDA_GET_ROAM_RSSI_RSP SIR_HAL_GET_ROAM_RSSI_RSP
1200
Srinivas Dasari030bad32015-02-18 23:23:54 +05301201#define WDA_NAN_REQUEST SIR_HAL_NAN_REQUEST
1202
Ganesh Kondabattinif0fa07c2013-06-11 17:47:49 +05301203#define WDA_START_SCAN_OFFLOAD_REQ SIR_HAL_START_SCAN_OFFLOAD_REQ
1204#define WDA_START_SCAN_OFFLOAD_RSP SIR_HAL_START_SCAN_OFFLOAD_RSP
Gopichand Nakkala09358592013-06-13 14:47:55 +05301205#define WDA_STOP_SCAN_OFFLOAD_REQ SIR_HAL_STOP_SCAN_OFFLOAD_REQ
1206#define WDA_STOP_SCAN_OFFLOAD_RSP SIR_HAL_STOP_SCAN_OFFLOAD_RSP
Ganesh Kondabattinif0fa07c2013-06-11 17:47:49 +05301207#define WDA_UPDATE_CHAN_LIST_REQ SIR_HAL_UPDATE_CHAN_LIST_REQ
1208#define WDA_UPDATE_CHAN_LIST_RSP SIR_HAL_UPDATE_CHAN_LIST_RSP
1209#define WDA_RX_SCAN_EVENT SIR_HAL_RX_SCAN_EVENT
Ravi Joshid2ca7c42013-07-23 08:37:49 -07001210#define WDA_IBSS_PEER_INACTIVITY_IND SIR_HAL_IBSS_PEER_INACTIVITY_IND
Ganesh Kondabattinif0fa07c2013-06-11 17:47:49 +05301211
Leo Chang9056f462013-08-01 19:21:11 -07001212#ifdef FEATURE_WLAN_LPHB
1213#define WDA_LPHB_CONF_REQ SIR_HAL_LPHB_CONF_IND
1214#define WDA_LPHB_WAIT_EXPIRE_IND SIR_HAL_LPHB_WAIT_EXPIRE_IND
1215#endif /* FEATURE_WLAN_LPHB */
1216
Yue Mab9c86f42013-08-14 15:59:08 -07001217#define WDA_ADD_PERIODIC_TX_PTRN_IND SIR_HAL_ADD_PERIODIC_TX_PTRN_IND
1218#define WDA_DEL_PERIODIC_TX_PTRN_IND SIR_HAL_DEL_PERIODIC_TX_PTRN_IND
1219
Rajeev79dbe4c2013-10-05 11:03:42 +05301220#ifdef FEATURE_WLAN_BATCH_SCAN
1221#define WDA_SET_BATCH_SCAN_REQ SIR_HAL_SET_BATCH_SCAN_REQ
1222#define WDA_SET_BATCH_SCAN_RSP SIR_HAL_SET_BATCH_SCAN_RSP
1223#define WDA_STOP_BATCH_SCAN_IND SIR_HAL_STOP_BATCH_SCAN_IND
1224#define WDA_TRIGGER_BATCH_SCAN_RESULT_IND SIR_HAL_TRIGGER_BATCH_SCAN_RESULT_IND
1225#endif
Chittajit Mitraf5413a42013-10-18 14:20:08 -07001226#define WDA_RATE_UPDATE_IND SIR_HAL_RATE_UPDATE_IND
1227
Rajeev79dbe4c2013-10-05 11:03:42 +05301228
Sandeep Puligilla8b8b74b2014-02-10 16:39:05 +05301229#define WDA_HT40_OBSS_SCAN_IND SIR_HAL_HT40_OBSS_SCAN_IND
1230#define WDA_HT40_OBSS_STOP_SCAN_IND SIR_HAL_HT40_OBSS_STOP_SCAN_IND
c_hpothu92367912014-05-01 15:18:17 +05301231
1232#define WDA_GET_BCN_MISS_RATE_REQ SIR_HAL_BCN_MISS_RATE_REQ
Srinivas Dasari4dae48f2014-11-26 21:14:16 +05301233#define WDA_ENCRYPT_MSG_REQ SIR_HAL_ENCRYPT_MSG_REQ
1234#define WDA_ENCRYPT_MSG_RSP SIR_HAL_ENCRYPT_MSG_RSP
c_hpothu92367912014-05-01 15:18:17 +05301235
Sunil Duttbd736ed2014-05-26 21:19:41 +05301236#ifdef WLAN_FEATURE_LINK_LAYER_STATS
1237#define WDA_LINK_LAYER_STATS_CLEAR_REQ SIR_HAL_LL_STATS_CLEAR_REQ
1238#define WDA_LINK_LAYER_STATS_SET_REQ SIR_HAL_LL_STATS_SET_REQ
1239#define WDA_LINK_LAYER_STATS_GET_REQ SIR_HAL_LL_STATS_GET_REQ
1240#define WDA_LINK_LAYER_STATS_RESULTS_RSP SIR_HAL_LL_STATS_RESULTS_RSP
1241#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
1242
Atul Mittalc0f739f2014-07-31 13:47:47 +05301243#ifdef FEATURE_WLAN_TDLS
1244// tdlsoffchan
1245#define WDA_SET_TDLS_CHAN_SWITCH_REQ SIR_HAL_TDLS_CHAN_SWITCH_REQ
1246#define WDA_SET_TDLS_CHAN_SWITCH_REQ_RSP SIR_HAL_TDLS_CHAN_SWITCH_REQ_RSP
1247#endif
Abhishek Singh85b74712014-10-08 11:38:19 +05301248
1249#define WDA_FW_STATS_GET_REQ SIR_HAL_FW_STATS_GET_REQ
Abhishek Singh41988ba2015-05-25 19:42:29 +05301250#define WDA_SET_RTS_CTS_HTVHT SIR_HAL_SET_RTS_CTS_HTVHT
Katya Nigamf0511f62015-05-05 16:40:57 +05301251#define WDA_MON_START_REQ SIR_HAL_MON_START_REQ
1252#define WDA_MON_STOP_REQ SIR_HAL_MON_STOP_REQ
Abhishek Singh41988ba2015-05-25 19:42:29 +05301253
Jeff Johnson295189b2012-06-20 16:38:30 -07001254tSirRetStatus wdaPostCtrlMsg(tpAniSirGlobal pMac, tSirMsgQ *pMsg);
Jeff Johnson295189b2012-06-20 16:38:30 -07001255
Abhishek Singha306a442013-11-07 18:39:01 +05301256eHalStatus WDA_SetRegDomain(void * clientCtxt, v_REGDOMAIN_t regId,
1257 tAniBool sendRegHint);
Jeff Johnson295189b2012-06-20 16:38:30 -07001258
Dino Mycle41bdc942014-06-10 11:30:24 +05301259#ifdef WLAN_FEATURE_EXTSCAN
1260#define WDA_EXTSCAN_GET_CAPABILITIES_REQ SIR_HAL_EXTSCAN_GET_CAPABILITIES_REQ
1261#define WDA_EXTSCAN_GET_CAPABILITIES_RSP SIR_HAL_EXTSCAN_GET_CAPABILITIES_RSP
1262#define WDA_EXTSCAN_START_REQ SIR_HAL_EXTSCAN_START_REQ
1263#define WDA_EXTSCAN_START_RSP SIR_HAL_EXTSCAN_START_RSP
1264#define WDA_EXTSCAN_STOP_REQ SIR_HAL_EXTSCAN_STOP_REQ
1265#define WDA_EXTSCAN_STOP_RSP SIR_HAL_EXTSCAN_STOP_RSP
1266#define WDA_EXTSCAN_SET_BSSID_HOTLIST_REQ SIR_HAL_EXTSCAN_SET_BSS_HOTLIST_REQ
1267#define WDA_EXTSCAN_SET_BSSID_HOTLIST_RSP SIR_HAL_EXTSCAN_SET_BSS_HOTLIST_RSP
1268#define WDA_EXTSCAN_RESET_BSSID_HOTLIST_REQ SIR_HAL_EXTSCAN_RESET_BSS_HOTLIST_REQ
1269#define WDA_EXTSCAN_RESET_BSSID_HOTLIST_RSP SIR_HAL_EXTSCAN_RESET_BSS_HOTLIST_RSP
1270#define WDA_EXTSCAN_SET_SIGNF_RSSI_CHANGE_REQ SIR_HAL_EXTSCAN_SET_SIGNF_RSSI_CHANGE_REQ
1271#define WDA_EXTSCAN_SET_SIGNF_RSSI_CHANGE_RSP SIR_HAL_EXTSCAN_SET_SIGNF_RSSI_CHANGE_RSP
1272#define WDA_EXTSCAN_RESET_SIGNF_RSSI_CHANGE_REQ SIR_HAL_EXTSCAN_RESET_SIGNF_RSSI_CHANGE_REQ
1273#define WDA_EXTSCAN_RESET_SIGNF_RSSI_CHANGE_RSP SIR_HAL_EXTSCAN_RESET_SIGNF_RSSI_CHANGE_RSP
1274#define WDA_EXTSCAN_GET_CACHED_RESULTS_REQ SIR_HAL_EXTSCAN_GET_CACHED_RESULTS_REQ
1275#define WDA_EXTSCAN_GET_CACHED_RESULTS_RSP SIR_HAL_EXTSCAN_GET_CACHED_RESULTS_RSP
1276
1277#define WDA_EXTSCAN_PROGRESS_IND SIR_HAL_EXTSCAN_PROGRESS_IND
1278#define WDA_EXTSCAN_SCAN_AVAILABLE_IND SIR_HAL_EXTSCAN_SCAN_AVAILABLE_IND
1279#define WDA_EXTSCAN_SCAN_RESULT_IND SIR_HAL_EXTSCAN_SCAN_RESULT_IND
1280#define WDA_EXTSCAN_BSSID_HOTLIST_RESULT_IND SIR_HAL_EXTSCAN_HOTLIST_MATCH_IND
1281#define WDA_EXTSCAN_SIGNF_RSSI_RESULT_IND SIR_HAL_EXTSCAN_SIGNF_WIFI_CHANGE_IND
1282#endif /* WLAN_FEATURE_EXTSCAN */
1283
Siddharth Bhal171788a2014-09-29 21:02:40 +05301284#define WDA_SPOOF_MAC_ADDR_REQ SIR_HAL_SPOOF_MAC_ADDR_REQ
Siddharth Bhal029d6732014-10-09 21:31:23 +05301285#define WDA_SPOOF_MAC_ADDR_RSP SIR_HAL_SPOOF_MAC_ADDR_RSP
Dino Mycle41bdc942014-06-10 11:30:24 +05301286
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05301287#define WDA_MGMT_LOGGING_INIT_REQ SIR_HAL_MGMT_LOGGING_INIT_REQ
Siddharth Bhal64246172015-02-27 01:04:37 +05301288#define WDA_GET_FRAME_LOG_REQ SIR_HAL_GET_FRAME_LOG_REQ
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05301289
Jeff Johnson295189b2012-06-20 16:38:30 -07001290#define HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME 0x40 // Bit 6 will be used to control BD rate for Management frames
1291
Jeff Johnson295189b2012-06-20 16:38:30 -07001292#define halTxFrame(hHal, pFrmBuf, frmLen, frmType, txDir, tid, pCompFunc, pData, txFlag) \
1293 (eHalStatus)( WDA_TxPacket(\
1294 vos_get_context(VOS_MODULE_ID_WDA, vos_get_global_context(VOS_MODULE_ID_WDA, (hHal))),\
1295 (pFrmBuf),\
1296 (frmLen),\
1297 (frmType),\
1298 (txDir),\
1299 (tid),\
1300 (pCompFunc),\
1301 (pData),\
1302 (NULL), \
Ganesh Kondabattini10e67352015-03-16 17:41:57 +05301303 (txFlag), \
1304 (0)) )
Jeff Johnson295189b2012-06-20 16:38:30 -07001305
Ganesh Kondabattini10e67352015-03-16 17:41:57 +05301306#define halTxFrameWithTxComplete(hHal, pFrmBuf, frmLen, frmType, txDir, tid, pCompFunc, pData, pCBackFnTxComp, txFlag, txBdToken) \
Jeff Johnson295189b2012-06-20 16:38:30 -07001307 (eHalStatus)( WDA_TxPacket(\
1308 vos_get_context(VOS_MODULE_ID_WDA, vos_get_global_context(VOS_MODULE_ID_WDA, (hHal))),\
1309 (pFrmBuf),\
1310 (frmLen),\
1311 (frmType),\
1312 (txDir),\
1313 (tid),\
1314 (pCompFunc),\
1315 (pData),\
1316 (pCBackFnTxComp), \
Ganesh Kondabattini10e67352015-03-16 17:41:57 +05301317 (txFlag), \
1318 (txBdToken)) )
Jeff Johnson295189b2012-06-20 16:38:30 -07001319
1320/* -----------------------------------------------------------------
1321 WDA data path API's for TL
1322 -------------------------------------------------------------------*/
1323
Jeff Johnson295189b2012-06-20 16:38:30 -07001324v_BOOL_t WDA_IsHwFrameTxTranslationCapable(v_PVOID_t pVosGCtx,
1325 tANI_U8 staIdx);
Jeff Johnson295189b2012-06-20 16:38:30 -07001326
Katya Nigam6201c3e2014-05-27 17:51:42 +05301327v_BOOL_t WDA_IsSelfSTA(v_PVOID_t pVosGCtx,tANI_U8 staIdx);
1328
Jeff Johnson295189b2012-06-20 16:38:30 -07001329# define WDA_EnableUapsdAcParams(vosGCtx, staId, uapsdInfo) \
1330 WDA_SetUapsdAcParamsReq(vosGCtx, staId, uapsdInfo)
Jeff Johnson295189b2012-06-20 16:38:30 -07001331
Jeff Johnson295189b2012-06-20 16:38:30 -07001332# define WDA_DisableUapsdAcParams(vosGCtx, staId, ac) \
1333 WDA_ClearUapsdAcParamsReq(vosGCtx, staId, ac)
Jeff Johnson295189b2012-06-20 16:38:30 -07001334
Jeff Johnson295189b2012-06-20 16:38:30 -07001335# define WDA_SetRSSIThresholds(pMac, pThresholds) \
1336 WDA_SetRSSIThresholdsReq(pMac, pThresholds)
Jeff Johnson295189b2012-06-20 16:38:30 -07001337
Jeff Johnson295189b2012-06-20 16:38:30 -07001338#define WDA_UpdateRssiBmps(pvosGCtx, staId, rssi) \
Madan Mohan Koyyalamudia53c4dc2012-11-13 10:35:42 -08001339 WLANTL_UpdateRssiBmps(pvosGCtx, staId, rssi)
Jeff Johnson295189b2012-06-20 16:38:30 -07001340
Madan Mohan Koyyalamudid9383fd2013-08-13 09:27:30 +05301341#define WDA_UpdateSnrBmps(pvosGCtx, staId, rssi) \
1342 WLANTL_UpdateSnrBmps(pvosGCtx, staId, snr)
1343
1344#define WDA_GetSnr(staId, snr) \
1345 WLANTL_GetSnr(staId, snr)
1346
Gopichand Nakkala8a2b1442013-05-29 15:33:14 +05301347#define WDA_UpdateLinkCapacity(pvosGCtx, staId, linkCapacity) \
1348 WLANTL_UpdateLinkCapacity(pvosGCtx, staId, linkCapacity)
1349
Jeff Johnson295189b2012-06-20 16:38:30 -07001350#ifdef WLAN_PERF
1351/*==========================================================================
1352 FUNCTION WDA_TLI_FastHwFwdDataFrame
1353
1354 DESCRIPTION
1355 For NON integrated SOC, this function is called by TL.
1356
1357 Fast path function to quickly forward a data frame if HAL determines BD
1358 signature computed here matches the signature inside current VOSS packet.
1359 If there is a match, HAL and TL fills in the swapped packet length into
1360 BD header and DxE header, respectively. Otherwise, packet goes back to
1361 normal (slow) path and a new BD signature would be tagged into BD in this
1362 VOSS packet later by the WLANHAL_FillTxBd() function.
1363
1364 TODO For integrated SOC, this function does nothing yet. Pima SLM/HAL
1365 should provide the equivelant functionality.
1366
1367 DEPENDENCIES
1368
1369 PARAMETERS
1370
1371 IN
1372 pvosGCtx VOS context
1373 vosDataBuff Ptr to VOSS packet
1374 pMetaInfo For getting frame's TID
1375 pStaInfo For checking STA type
1376
1377 OUT
1378 pvosStatus returned status
1379 puFastFwdOK Flag to indicate whether frame could be fast forwarded
1380
1381 RETURN VALUE
1382 No return.
1383
1384 SIDE EFFECTS
1385
1386============================================================================*/
1387void WDA_TLI_FastHwFwdDataFrame
1388(
1389 v_PVOID_t pvosGCtx,
1390 vos_pkt_t* vosDataBuff,
1391 VOS_STATUS* pvosStatus,
1392 v_U32_t* puFastFwdOK,
1393 WLANTL_MetaInfoType* pMetaInfo,
1394 WLAN_STADescType* pStaInfo
1395);
1396#endif /* WLAN_PERF */
1397
1398/*==========================================================================
1399 FUNCTION WDA_DS_Register
1400
1401 DESCRIPTION
1402 Register TL client to WDA. This function registers TL RX/TX functions
1403 to WDI by calling WDI_DS_Register.
1404
1405
1406 For NON integrated SOC, this function calls WLANBAL_RegTlCbFunctions
1407 to register TL's RX/TX functions to BAL
1408
1409 TODO
1410 For Prima, pfnResourceCB gets called in WDTS_OOResourceNotification.
1411 The uCount parameter is AC mask. It should be redefined to use the
1412 same resource callback function.
1413
1414 DEPENDENCIES
1415
1416 PARAMETERS
1417
1418 IN
1419 pvosGCtx VOS context
1420 pfnTxCompleteCallback TX complete callback upon TX completion
1421 pfnRxPacketCallback RX callback
1422 pfnResourceCB gets called when updating TX PDU number
1423 uResTheshold minimum TX PDU size for a packet
1424 pCallbackContext WDI calls callback function with it
1425 VOS global context pointer
1426 OUT
1427 uAvailableTxBuf available TX PDU numbder.
1428 BAL returns it for NON integrated SOC
1429
1430 RETURN VALUE
1431 VOS_STATUS_E_FAULT: pointer is NULL and other errors
1432 VOS_STATUS_SUCCESS: Everything is good :)
1433
1434 SIDE EFFECTS
1435
1436============================================================================*/
1437VOS_STATUS
1438WDA_DS_Register
1439(
1440 v_PVOID_t pvosGCtx,
1441 WDA_DS_TxCompleteCallback pfnTxCompleteCallback,
1442 WDA_DS_RxPacketCallback pfnRxPacketCallback,
1443 WDA_DS_TxPacketCallback pfnTxPacketCallback,
1444 WDA_DS_ResourceCB pfnResourceCB,
1445 v_U32_t uResTheshold,
1446 v_PVOID_t pCallbackContext,
1447 v_U32_t *uAvailableTxBuf
1448);
1449
1450/*==========================================================================
1451 FUNCTION WDA_DS_StartXmit
1452
1453 DESCRIPTION
1454 Serialize TX transmit reques to TX thread.
1455
1456 TODO This sends TX transmit request to TL. It should send to WDI for
1457 abstraction.
1458
1459 For NON integrated SOC, this function calls WLANBAL_StartXmit
1460
1461 DEPENDENCIES
1462
1463 PARAMETERS
1464
1465 IN
1466 pvosGCtx VOS context
1467
1468 RETURN VALUE
1469 VOS_STATUS_E_FAULT: pointer is NULL and other errors
1470 VOS_STATUS_SUCCESS: Everything is good :)
1471
1472 SIDE EFFECTS
1473
1474============================================================================*/
1475VOS_STATUS
1476WDA_DS_StartXmit
1477(
1478 v_PVOID_t pvosGCtx
1479);
1480
1481/*==========================================================================
1482 FUNCTION WDA_DS_FinishULA
1483
1484 DESCRIPTION
1485 Serialize Finish Upper Level Authentication reques to TX thread.
1486
1487 DEPENDENCIES
1488
1489 PARAMETERS
1490
1491 IN
1492 callbackRoutine routine to be called in TX thread
1493 callbackContext user data for the above routine
1494
1495 RETURN VALUE
1496 please see vos_tx_mq_serialize
1497
1498 SIDE EFFECTS
1499
1500============================================================================*/
1501VOS_STATUS
1502WDA_DS_FinishULA
1503(
1504 void (*callbackRoutine) (void *callbackContext),
Tushnim Bhattacharyya39a8f182013-02-20 18:10:30 -08001505 void *callbackContext
Jeff Johnson295189b2012-06-20 16:38:30 -07001506);
1507
1508/*==========================================================================
1509 FUNCTION WDA_DS_BuildTxPacketInfo
1510
1511 DESCRIPTION
1512 Build TX meta info for integrated SOC.
1513
1514 Same function calls HAL for reserve BD header space into VOS packet and
1515 HAL function to fill it.
1516
1517 DEPENDENCIES
1518
1519 PARAMETERS
1520
1521 IN
1522 pvosGCtx VOS context
1523 vosDataBuff vos data buffer
1524 pvDestMacAddr destination MAC address ponter
1525 ucDisableFrmXtl Is frame xtl disabled?
1526 ucQosEnabled Is QoS enabled?
1527 ucWDSEnabled Is WDS enabled?
1528 extraHeadSpace Extra head bytes. If it's not 0 due to 4 bytes align
1529 of BD header.
1530 typeSubtype typeSubtype from MAC header or TX metainfo/BD
1531 pAddr2 address 2
1532 uTid tid
1533 txFlag
1534 timeStamp
1535 ucIsEapol
1536 ucUP
1537
1538 OUT
1539 *pusPktLen Packet length
1540
1541 RETURN VALUE
1542 VOS_STATUS_E_FAULT: pointer is NULL and other errors
1543 VOS_STATUS_SUCCESS: Everything is good :)
1544
1545 SIDE EFFECTS
1546
1547============================================================================*/
1548VOS_STATUS
1549WDA_DS_BuildTxPacketInfo
1550(
1551 v_PVOID_t pvosGCtx,
1552 vos_pkt_t* vosDataBuff,
1553 v_MACADDR_t* pvDestMacAddr,
1554 v_U8_t ucDisableFrmXtl,
1555 v_U16_t* pusPktLen,
1556 v_U8_t ucQosEnabled,
1557 v_U8_t ucWDSEnabled,
1558 v_U8_t extraHeadSpace,
1559 v_U8_t typeSubtype,
1560 v_PVOID_t pAddr2,
1561 v_U8_t uTid,
Kanchanapally, Vidyullathaf9426e52013-12-24 17:28:54 +05301562 v_U32_t txFlag,
Jeff Johnson295189b2012-06-20 16:38:30 -07001563 v_U32_t timeStamp,
1564 v_U8_t ucIsEapol,
Ganesh Kondabattini10e67352015-03-16 17:41:57 +05301565 v_U8_t ucUP,
1566 v_U32_t ucTxBdToken
Jeff Johnson295189b2012-06-20 16:38:30 -07001567);
1568
1569/*==========================================================================
1570 FUNCTION WDA_DS_PeekRxPacketInfo
1571
1572 DESCRIPTION
1573 Return RX metainfo pointer for for integrated SOC.
1574
1575 Same function will return BD header pointer.
1576
1577 DEPENDENCIES
1578
1579 PARAMETERS
1580
1581 IN
1582 vosDataBuff vos data buffer
1583
1584 pvDestMacAddr destination MAC address ponter
1585 bSwap Want to swap BD header? For backward compatability
1586 It does nothing for integrated SOC
1587 OUT
1588 *ppRxHeader RX metainfo pointer
1589
1590 RETURN VALUE
1591 VOS_STATUS_E_FAULT: pointer is NULL and other errors
1592 VOS_STATUS_SUCCESS: Everything is good :)
1593
1594 SIDE EFFECTS
1595
1596============================================================================*/
1597VOS_STATUS
1598WDA_DS_PeekRxPacketInfo
1599(
1600 vos_pkt_t *vosDataBuff,
1601 v_PVOID_t *ppRxHeader,
1602 v_BOOL_t bSwap
1603);
1604
1605/*==========================================================================
1606 FUNCTION WDA_DS_TrimRxPacketInfo
1607
1608 DESCRIPTION
1609 Trim/Remove RX BD header for NON integrated SOC.
1610 It does nothing for integrated SOC.
1611
1612 DEPENDENCIES
1613
1614 PARAMETERS
1615
1616 IN
1617 vosDataBuff vos data buffer
1618
1619 RETURN VALUE
1620 VOS_STATUS_E_FAULT: pointer is NULL and other errors
1621 VOS_STATUS_SUCCESS: Everything is good :)
1622
1623 SIDE EFFECTS
1624
1625============================================================================*/
1626VOS_STATUS
1627WDA_DS_TrimRxPacketInfo
1628(
1629 vos_pkt_t *vosDataBuff
1630);
1631
1632/*==========================================================================
1633 FUNCTION WDA_DS_GetTxResources
1634
1635 DESCRIPTION
1636 It does return hardcoded value for Prima. It should bigger number than 0.
1637 Returning 0 will put TL in out-of-resource condition for TX.
1638
1639 Return current PDU resources from BAL for NON integrated SOC.
1640
1641 DEPENDENCIES
1642
1643 PARAMETERS
1644
1645 IN
1646 vosDataBuff vos data buffer
1647
1648 OUT
1649 puResCount available PDU number for TX
1650
1651 RETURN VALUE
1652 VOS_STATUS_E_FAULT: pointer is NULL and other errors
1653 VOS_STATUS_SUCCESS: Everything is good :)
1654
1655 SIDE EFFECTS
1656
1657============================================================================*/
1658VOS_STATUS
1659WDA_DS_GetTxResources
1660(
1661 v_PVOID_t pvosGCtx,
1662 v_U32_t* puResCount
1663);
1664
1665/*==========================================================================
1666 FUNCTION WDA_DS_GetRssi
1667
1668 DESCRIPTION
1669 Get RSSI
1670
1671 TODO It returns hardcoded value in the meantime since WDA/WDI does nothing
1672 support it yet for Prima.
1673
1674 DEPENDENCIES
1675
1676 PARAMETERS
1677
1678 IN
1679 vosDataBuff vos data buffer
1680
1681 OUT
1682 puRssi RSSI
1683
1684 RETURN VALUE
1685 VOS_STATUS_E_FAULT: pointer is NULL and other errors
1686 VOS_STATUS_SUCCESS: Everything is good :)
1687
1688 SIDE EFFECTS
1689
1690============================================================================*/
1691VOS_STATUS
1692WDA_DS_GetRssi
1693(
1694 v_PVOID_t pvosGCtx,
1695 v_S7_t* puRssi
1696);
1697
1698/*==========================================================================
1699 FUNCTION WDA_DS_RxAmsduBdFix
1700
1701 DESCRIPTION
1702 For backward compatability with Libra/Volans. Need to call HAL function
1703 for HW BD bug fix
1704
1705 It does nothing for integrated SOC.
1706
1707 DEPENDENCIES
1708
1709 PARAMETERS
1710
1711 IN
1712 pvosGCtx VOS context
1713 pvBDHeader BD header pointer
1714
1715 OUT
1716
1717 RETURN VALUE
1718 VOS_STATUS_E_FAULT: pointer is NULL and other errors
1719 VOS_STATUS_SUCCESS: Everything is good :)
1720
1721 SIDE EFFECTS
1722
1723============================================================================*/
1724VOS_STATUS
1725WDA_DS_RxAmsduBdFix
1726(
1727 v_PVOID_t pvosGCtx,
1728 v_PVOID_t pvBDHeader
1729);
1730
1731/*==========================================================================
1732 FUNCTION WDA_DS_GetFrameTypeSubType
1733
1734 DESCRIPTION
1735 Get typeSubtype from the packet. The BD header should have this.
1736 But some reason, Libra/Volans read it from 802.11 header and save it
1737 back to BD header. So for NON integrated SOC, this function does
1738 the same.
1739
1740 For integrated SOC, WDI does the same, not TL.
1741 It does return typeSubtype from RX meta info for integrated SOC.
1742
1743 DEPENDENCIES
1744
1745 PARAMETERS
1746
1747 IN
1748 pvosGCtx VOS context
1749 vosDataBuff vos data buffer
1750 pRxHeader RX meta info or BD header pointer
1751
1752 OUT
1753 ucTypeSubtype typeSubtype
1754
1755 RETURN VALUE
1756 VOS_STATUS_E_FAULT: pointer is NULL and other errors
1757 VOS_STATUS_SUCCESS: Everything is good :)
1758
1759 SIDE EFFECTS
1760
1761============================================================================*/
1762VOS_STATUS
1763WDA_DS_GetFrameTypeSubType
1764(
1765 v_PVOID_t pvosGCtx,
1766 vos_pkt_t *vosDataBuff,
1767 v_PVOID_t pRxHeader,
1768 v_U8_t *ucTypeSubtype
1769);
1770
1771/*==========================================================================
1772 FUNCTION WDA_DS_GetReplayCounter
1773
1774 DESCRIPTION
1775 Return replay counter from BD header or RX meta info
1776
1777 DEPENDENCIES
1778
1779 PARAMETERS
1780
1781 IN
1782 pRxHeader RX meta info or BD header pointer
1783
1784 OUT
1785
1786 RETURN VALUE
1787 Replay Counter
1788
1789 SIDE EFFECTS
1790
1791============================================================================*/
1792v_U64_t
1793WDA_DS_GetReplayCounter
1794(
1795 v_PVOID_t pRxHeader
1796);
1797
1798/*==========================================================================
1799 FUNCTION WDA_DS_GetReplayCounter
1800
1801 DESCRIPTION
1802 HO support. Set RSSI threshold via HAL function for NON integrated SOC
1803
1804 TODO
1805 Same function should be provided by WDA/WDI for Prima.
1806
1807 DEPENDENCIES
1808
1809 PARAMETERS
1810
1811 IN
1812 pMac MAC global pointer
1813 pThresholds pointer of threshold structure to set.
1814
1815 OUT
1816
1817 RETURN VALUE
1818 VOS_STATUS_E_FAULT: pointer is NULL and other errors
1819 VOS_STATUS_SUCCESS: Everything is good :)
1820
1821 SIDE EFFECTS
1822
1823============================================================================*/
1824VOS_STATUS
1825WDA_DS_SetRSSIThresholds
1826(
1827 tpAniSirGlobal pMac,
1828 tpSirRSSIThresholds pThresholds
1829);
1830
Jeff Johnson295189b2012-06-20 16:38:30 -07001831/*==========================================================================
1832 FUNCTION WDA_DS_TxFrames
1833
1834 DESCRIPTION
1835 Pull packets from TL and push them to WDI. It gets invoked upon
1836 WDA_DS_TX_START_XMIT.
1837
1838 This function is equivelant of WLANSSC_Transmit in Libra/Volans.
1839
1840 TODO
1841 This function should be implemented and moved in WDI.
1842
1843 DEPENDENCIES
1844
1845 PARAMETERS
1846
1847 IN
1848 pvosGCtx VOS context
1849
1850 OUT
1851
1852 RETURN VALUE
1853 VOS_STATUS_E_FAULT: pointer is NULL and other errors
1854 VOS_STATUS_SUCCESS: Everything is good :)
1855
1856 SIDE EFFECTS
1857
1858============================================================================*/
1859VOS_STATUS
1860WDA_DS_TxFrames
1861(
1862 v_PVOID_t pvosGCtx
1863);
Jeff Johnson295189b2012-06-20 16:38:30 -07001864
1865/*==========================================================================
1866 FUNCTION WDA_DS_TxFlowControlCallback
1867
1868 DESCRIPTION
1869 Invoked by WDI to control TX flow.
1870
1871 DEPENDENCIES
1872
1873 PARAMETERS
1874
1875 IN
1876 pvosGCtx VOS context
1877 uFlowMask TX channel mask for flow control
1878 Defined in WDA_TXFlowEnumType
1879
1880 OUT
1881
1882 RETURN VALUE
1883
1884 SIDE EFFECTS
1885
1886============================================================================*/
1887v_VOID_t
1888WDA_DS_TxFlowControlCallback
1889(
1890 v_PVOID_t pvosGCtx,
1891 v_U8_t uFlowMask
1892);
1893
1894/*==========================================================================
1895 FUNCTION WDA_DS_GetTxFlowMask
1896
1897 DESCRIPTION
1898 return TX flow mask control value
1899
1900 DEPENDENCIES
1901
1902 PARAMETERS
1903
1904 IN
1905 pvosGCtx VOS context
1906
1907 OUT
1908 uFlowMask TX channel mask for flow control
1909 Defined in WDA_TXFlowEnumType
1910
1911 RETURN VALUE
1912 VOS_STATUS_E_INVAL: pointer is NULL and other errors
1913 VOS_STATUS_SUCCESS: Everything is good :)
1914
1915 SIDE EFFECTS
1916
1917============================================================================*/
1918VOS_STATUS
1919WDA_DS_GetTxFlowMask
1920(
1921 v_PVOID_t pvosGCtx,
1922 v_U8_t* puFlowMask
1923);
1924
1925/*==========================================================================
1926 FUNCTION WDA_HALDumpCmdReq
1927
1928 DESCRIPTION
1929 Send Dump commandsto WDI
1930
1931 DEPENDENCIES
1932
1933 PARAMETERS
1934
1935 IN
1936 pMac MAC global pointer
Siddharth Bhal68115602015-01-18 20:44:55 +05301937 cmd Hal dump command
1938 arg1 Dump command argument 1
1939 arg2 Dump command argument 2
1940 arg3 Dump command argument 3
1941 arg4 Dump command argument 4
1942 async Asynchronous event. Doesn't wait for rsp.
Jeff Johnson295189b2012-06-20 16:38:30 -07001943
1944 OUT
1945 pBuffer Dump command Response buffer
1946
1947 RETURN VALUE
1948 VOS_STATUS_E_FAULT: pointer is NULL and other errors
1949 VOS_STATUS_SUCCESS: Everything is good :)
1950
1951 SIDE EFFECTS
1952
1953============================================================================*/
1954VOS_STATUS WDA_HALDumpCmdReq(tpAniSirGlobal pMac,tANI_U32 cmd,
1955 tANI_U32 arg1, tANI_U32 arg2, tANI_U32 arg3,
Siddharth Bhal68115602015-01-18 20:44:55 +05301956 tANI_U32 arg4, tANI_U8 *pBuffer, wpt_boolean async);
Jeff Johnson295189b2012-06-20 16:38:30 -07001957
1958/*==========================================================================
1959 FUNCTION WDA_featureCapsExchange
1960
1961 DESCRIPTION
1962 WDA API to invoke capability exchange between host and FW
1963
1964 DEPENDENCIES
1965
1966 PARAMETERS
1967
1968 IN
1969 pVosContext VOS context
1970
1971 OUT
1972 NONE
1973
1974 RETURN VALUE
1975 NONE
1976
1977 SIDE EFFECTS
1978============================================================================*/
1979void WDA_featureCapsExchange(v_PVOID_t pVosContext);
1980
Yathish9f22e662012-12-10 14:21:35 -08001981void WDA_disableCapablityFeature(tANI_U8 feature_index);
Jeff Johnson295189b2012-06-20 16:38:30 -07001982/*==========================================================================
1983 FUNCTION WDA_getHostWlanFeatCaps
1984
1985 DESCRIPTION
1986 Wrapper for WDI API, that will return if the feature (enum value).passed
1987 to this API is supported or not in Host
1988
1989 DEPENDENCIES
1990
1991 PARAMETERS
1992
1993 IN
1994 featEnumValue enum value for the feature as in placeHolderInCapBitmap in wlan_hal_msg.h.
1995
1996 OUT
1997 NONE
1998
1999 RETURN VALUE
2000 0 - implies feature is NOT Supported
2001 any non zero value - implies feature is SUPPORTED
2002
2003 SIDE EFFECTS
2004============================================================================*/
2005tANI_U8 WDA_getHostWlanFeatCaps(tANI_U8 featEnumValue);
2006
2007/*==========================================================================
2008 FUNCTION WDA_getFwWlanFeatCaps
2009
2010 DESCRIPTION
2011 Wrapper for WDI API, that will return if the feature (enum value).passed
2012 to this API is supported or not in FW
2013
2014 DEPENDENCIES
2015
2016 PARAMETERS
2017
2018 IN
2019 featEnumValue enum value for the feature as in placeHolderInCapBitmap in wlan_hal_msg.h.
2020
2021 OUT
2022 NONE
2023
2024 RETURN VALUE
2025 0 - implies feature is NOT Supported
2026 any non zero value - implies feature is SUPPORTED
2027
2028 SIDE EFFECTS
2029============================================================================*/
2030tANI_U8 WDA_getFwWlanFeatCaps(tANI_U8 featEnumValue);
2031
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -07002032/*==========================================================================
2033 FUNCTION WDA_TransportChannelDebug
2034
2035 DESCRIPTION
2036 Display Transport Channel debugging information
2037 User may request to display DXE channel snapshot
2038 Or if host driver detects any abnormal stcuk may display
2039
2040 PARAMETERS
schang6295e542013-03-12 15:31:23 -07002041 pMac : upper MAC context pointer
Jeff Johnsonb88db982012-12-10 13:34:59 -08002042 displaySnapshot : Display DXE snapshot option
Mihir Shete40a55652014-03-02 14:14:47 +05302043 debugFlags : Enable stall detect features
2044 defined by WPAL_DeviceDebugFlags
2045 These features may effect
2046 data performance.
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -07002047
2048 RETURN VALUE
2049 NONE
2050
2051===========================================================================*/
2052void WDA_TransportChannelDebug
2053(
schang6295e542013-03-12 15:31:23 -07002054 tpAniSirGlobal pMac,
2055 v_BOOL_t displaySnapshot,
Mihir Shete40a55652014-03-02 14:14:47 +05302056 v_U8_t debugFlags
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -07002057);
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08002058
2059/*==========================================================================
2060 FUNCTION WDA_TrafficStatsTimerActivate
2061
2062 DESCRIPTION
2063 API to activate/deactivate Traffic Stats timer. Traffic stats timer is only needed during MCC
2064 PARAMETERS
2065 activate : Activate or not
2066
2067 RETURN VALUE
2068 NONE
2069
2070===========================================================================*/
2071void WDA_TrafficStatsTimerActivate(wpt_boolean activate);
2072
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07002073/*==========================================================================
2074 FUNCTION WDA_SetEnableSSR
2075
2076 DESCRIPTION
2077 API to enable/disable SSR on WDI timeout
2078
2079 PARAMETERS
2080 enableSSR : enable/disable SSR
2081
2082 RETURN VALUE
2083 NONE
2084
2085===========================================================================*/
2086void WDA_SetEnableSSR(v_BOOL_t enableSSR);
Mihir Shete5affadc2015-05-29 20:54:57 +05302087
2088
2089void WDA_FWLoggingDXEdoneInd(void);
Jeff Johnson295189b2012-06-20 16:38:30 -07002090#endif