blob: e80cf4c1259ef764131cc5c9380ee146c6dfac8b [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_WDI_H
43#define WLAN_QCT_WDI_H
44
45/*===========================================================================
46
47 W L A N D E V I C E A B S T R A C T I O N L A Y E R
48 E X T E R N A L A P I
49
50
51DESCRIPTION
52 This file contains the external API exposed by the wlan transport layer
53 module.
54
55
56 Copyright (c) 2010-2011 QUALCOMM Incorporated.
57 All Rights Reserved.
58 Qualcomm Confidential and Proprietary
59===========================================================================*/
60
61
62/*===========================================================================
63
64 EDIT HISTORY FOR FILE
65
66
67 This section contains comments describing changes made to the module.
68 Notice that changes are listed in reverse chronological order.
69
70
71 $Header:$ $DateTime: $ $Author: $
72
73
74when who what, where, why
75-------- --- ----------------------------------------------------------
7610/05/11 hap Adding support for Keep Alive
7708/04/10 lti Created module.
78
79===========================================================================*/
80
81
82
83/*===========================================================================
84
85 INCLUDE FILES FOR MODULE
86
87===========================================================================*/
88
89/*----------------------------------------------------------------------------
90 * Include Files
91 * -------------------------------------------------------------------------*/
92#include "wlan_qct_pal_api.h"
93#include "wlan_qct_pal_type.h"
94#include "wlan_qct_pack_align.h"
95#include "wlan_qct_wdi_cfg.h"
96
97/*----------------------------------------------------------------------------
98 * Preprocessor Definitions and Constants
99 * -------------------------------------------------------------------------*/
100#ifdef __cplusplus
101 extern "C" {
102#endif
103
104/* MAC ADDRESS LENGTH - per spec*/
105#define WDI_MAC_ADDR_LEN 6
106
107/* Max number of 11b rates -> 1,2,5.5,11 */
108#define WDI_NUM_11B_RATES 4
109
110/* Max number of 11g rates -> 6,9,12,18,24,36,48,54*/
111#define WDI_NUM_11A_RATES 8
112
113/* Max number of legacy rates -> 72, 96, 108*/
114#define WDI_NUM_POLARIS_RATES 3
115
116/* Max supported MCS set*/
117#define WDI_MAC_MAX_SUPPORTED_MCS_SET 16
118
119/*Max number of Access Categories for QoS - per spec */
120#define WDI_MAX_NO_AC 4
121
122/*Max. size for reserving the Beacon Template */
123#define WDI_BEACON_TEMPLATE_SIZE 0x180
124
125#define WDI_WOWL_BCAST_PATTERN_MAX_SIZE 128
126
127#define WDI_WOWL_BCAST_MAX_NUM_PATTERNS 16
128
129#define WDI_MAX_SSID_SIZE 32
130
131/* The shared memory between WDI and HAL is 4K so maximum data can be transferred
132from WDI to HAL is 4K.This 4K should also include the Message header so sending 4K
133of NV fragment is nt possbile.The next multiple of 1Kb is 3K */
134
135#define FRAGMENT_SIZE 3072
136
137/* Macro to find the total number fragments of the NV Image*/
Madan Mohan Koyyalamudia53c4dc2012-11-13 10:35:42 -0800138#define TOTALFRAGMENTS(x) (((x % FRAGMENT_SIZE) == 0) ? (x / FRAGMENT_SIZE):((x / FRAGMENT_SIZE) + 1))
Jeff Johnson295189b2012-06-20 16:38:30 -0700139
140/* Beacon Filter Length*/
141#define WDI_BEACON_FILTER_LEN 70
142
143/* Coex Indication data size - should match WLAN_COEX_IND_DATA_SIZE */
144#define WDI_COEX_IND_DATA_SIZE (4)
145
146#define WDI_CIPHER_SEQ_CTR_SIZE 6
147
148#define WDI_NUM_BSSID 2
149
150/*Version string max length (including NUL) */
151#define WDI_VERSION_LENGTH 64
152
153
154/*WDI Response timeout - how long will WDI wait for a response from the device
155 - it should be large enough to allow any other failure mechanism to kick
156 in before we get to a timeout (ms units)*/
157#define WDI_RESPONSE_TIMEOUT 10000
158
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -0700159/* SSR timeout - If Riva initiated SSR doesn't happen during this time, then the
160 * Apps initiated SSR will be performed */
161#define WDI_SSR_TIMEOUT 5000
162
Jeff Johnson295189b2012-06-20 16:38:30 -0700163#define WDI_SET_POWER_STATE_TIMEOUT 10000 /* in msec a very high upper limit */
164
Yue Mab9c86f42013-08-14 15:59:08 -0700165/* Periodic Tx pattern offload feature */
166#define PERIODIC_TX_PTRN_MAX_SIZE 1536
167#define MAXNUM_PERIODIC_TX_PTRNS 6
168
Jeff Johnson295189b2012-06-20 16:38:30 -0700169/*============================================================================
170 * GENERIC STRUCTURES
171
172============================================================================*/
173
174/*---------------------------------------------------------------------------
175 WDI Version Information
176---------------------------------------------------------------------------*/
177typedef struct
178{
179 wpt_uint8 revision;
180 wpt_uint8 version;
181 wpt_uint8 minor;
182 wpt_uint8 major;
183} WDI_WlanVersionType;
184
185/*---------------------------------------------------------------------------
186 WDI Device Capability
187---------------------------------------------------------------------------*/
188typedef struct
189{
190 /*If this flag is true it means that the device can support 802.3/ETH2 to
191 802.11 translation*/
192 wpt_boolean bFrameXtlSupported;
193
194 /*Maximum number of BSSes supported by the Device */
195 wpt_uint8 ucMaxBSSSupported;
196
197 /*Maximum number of stations supported by the Device */
198 wpt_uint8 ucMaxSTASupported;
199}WDI_DeviceCapabilityType;
200
201/*---------------------------------------------------------------------------
202 WDI Channel Offset
203---------------------------------------------------------------------------*/
204typedef enum
205{
206 WDI_SECONDARY_CHANNEL_OFFSET_NONE = 0,
207 WDI_SECONDARY_CHANNEL_OFFSET_UP = 1,
Jeff Johnsone7245742012-09-05 17:12:55 -0700208 WDI_SECONDARY_CHANNEL_OFFSET_DOWN = 3,
209#ifdef WLAN_FEATURE_11AC
210 WDI_CHANNEL_20MHZ_LOW_40MHZ_CENTERED = 4, //20/40MHZ offset LOW 40/80MHZ offset CENTERED
211 WDI_CHANNEL_20MHZ_CENTERED_40MHZ_CENTERED = 5, //20/40MHZ offset CENTERED 40/80MHZ offset CENTERED
212 WDI_CHANNEL_20MHZ_HIGH_40MHZ_CENTERED = 6, //20/40MHZ offset HIGH 40/80MHZ offset CENTERED
213 WDI_CHANNEL_20MHZ_LOW_40MHZ_LOW = 7,//20/40MHZ offset LOW 40/80MHZ offset LOW
214 WDI_CHANNEL_20MHZ_HIGH_40MHZ_LOW = 8, //20/40MHZ offset HIGH 40/80MHZ offset LOW
215 WDI_CHANNEL_20MHZ_LOW_40MHZ_HIGH = 9, //20/40MHZ offset LOW 40/80MHZ offset HIGH
216 WDI_CHANNEL_20MHZ_HIGH_40MHZ_HIGH = 10,//20/40MHZ offset-HIGH 40/80MHZ offset HIGH
217#endif
218 WDI_SECONDARY_CHANNEL_OFFSET_MAX
Jeff Johnson295189b2012-06-20 16:38:30 -0700219}WDI_HTSecondaryChannelOffset;
220
221/*---------------------------------------------------------------------------
222 WDI_MacFrameCtl
223 Frame control field format (2 bytes)
224---------------------------------------------------------------------------*/
225typedef struct
226{
227 wpt_uint8 protVer :2;
228 wpt_uint8 type :2;
229 wpt_uint8 subType :4;
230
231 wpt_uint8 toDS :1;
232 wpt_uint8 fromDS :1;
233 wpt_uint8 moreFrag :1;
234 wpt_uint8 retry :1;
235 wpt_uint8 powerMgmt :1;
236 wpt_uint8 moreData :1;
237 wpt_uint8 wep :1;
238 wpt_uint8 order :1;
239
240} WDI_MacFrameCtl;
241
242/*---------------------------------------------------------------------------
243 WDI Sequence control field
244---------------------------------------------------------------------------*/
245typedef struct
246{
247 wpt_uint8 fragNum : 4;
248 wpt_uint8 seqNumLo : 4;
249 wpt_uint8 seqNumHi : 8;
250} WDI_MacSeqCtl;
251
252/*---------------------------------------------------------------------------
253 Management header format
254---------------------------------------------------------------------------*/
255typedef struct
256{
257 WDI_MacFrameCtl fc;
258 wpt_uint8 durationLo;
259 wpt_uint8 durationHi;
260 wpt_uint8 da[WDI_MAC_ADDR_LEN];
261 wpt_uint8 sa[WDI_MAC_ADDR_LEN];
262 wpt_macAddr bssId;
263 WDI_MacSeqCtl seqControl;
264} WDI_MacMgmtHdr;
265
266/*---------------------------------------------------------------------------
267 NV Blob management sturcture
268 ---------------------------------------------------------------------------*/
269
270typedef struct
271{
272 /* NV image fragments count */
273 wpt_uint16 usTotalFragment;
274
275 /* NV fragment size */
276 wpt_uint16 usFragmentSize;
277
278 /* current fragment to be sent */
279 wpt_uint16 usCurrentFragment;
280
281} WDI_NvBlobInfoParams;
282
283
284/*---------------------------------------------------------------------------
285 Data path enums memory pool resource
286 ---------------------------------------------------------------------------*/
287
288typedef enum
289{
290 /* managment resource pool ID */
291 WDI_MGMT_POOL_ID = 0,
292 /* Data resource pool ID */
293 WDI_DATA_POOL_ID = 1
294}WDI_ResPoolType;
295
296/*============================================================================
297 * GENERIC STRUCTURES - END
298 ============================================================================*/
299
300/*----------------------------------------------------------------------------
301 * Type Declarations
302 * -------------------------------------------------------------------------*/
303/*---------------------------------------------------------------------------
304 WDI Status
305---------------------------------------------------------------------------*/
306typedef enum
307{
308 WDI_STATUS_SUCCESS, /* Operation has completed successfully*/
309 WDI_STATUS_SUCCESS_SYNC, /* Operation has completed successfully in a
310 synchronous way - no rsp will be generated*/
311 WDI_STATUS_PENDING, /* Operation result is pending and will be
312 provided asynchronously through the Req Status
313 Callback */
314 WDI_STATUS_E_FAILURE, /* Operation has ended in a generic failure*/
315 WDI_STATUS_RES_FAILURE, /* Operation has ended in a resource failure*/
316 WDI_STATUS_MEM_FAILURE, /* Operation has ended in a memory allocation
317 failure*/
318 WDI_STATUS_E_NOT_ALLOWED, /* Operation is not allowed in the current state
319 of the driver*/
320 WDI_STATUS_E_NOT_IMPLEMENT, /* Operation is not yet implemented*/
321
322 WDI_STATUS_DEV_INTERNAL_FAILURE, /*An internal error has occurred in the device*/
323 WDI_STATUS_MAX
324
325}WDI_Status;
326
327
328/*---------------------------------------------------------------------------
329 WDI_ReqStatusCb
330
331 DESCRIPTION
332
333 This callback is invoked by DAL to deliver to UMAC the result of posting
334 a previous request for which the return status was PENDING.
335
336 PARAMETERS
337
338 IN
339 wdiStatus: response status received from the Control Transport
340 pUserData: user data
341
342
343
344 RETURN VALUE
345 The result code associated with performing the operation
346---------------------------------------------------------------------------*/
347typedef void (*WDI_ReqStatusCb)(WDI_Status wdiStatus,
348 void* pUserData);
349
350/*---------------------------------------------------------------------------
351 WDI_LowLevelIndEnumType
352 Types of indication that can be posted to UMAC by DAL
353---------------------------------------------------------------------------*/
354typedef enum
355{
356 /*When RSSI monitoring is enabled of the Lower MAC and a threshold has been
357 passed. */
358 WDI_RSSI_NOTIFICATION_IND,
359
360 /*Link loss in the low MAC */
361 WDI_MISSED_BEACON_IND,
362
363 /*when hardware has signaled an unknown addr2 frames. The indication will
364 contain info from frames to be passed to the UMAC, this may use this info to
365 deauth the STA*/
366 WDI_UNKNOWN_ADDR2_FRAME_RX_IND,
367
368 /*MIC Failure detected by HW*/
369 WDI_MIC_FAILURE_IND,
370
371 /*Fatal Error Ind*/
372 WDI_FATAL_ERROR_IND,
373
374 /*Delete Station Ind*/
375 WDI_DEL_STA_IND,
376
377 /*Indication from Coex*/
378 WDI_COEX_IND,
379
380 /* Indication for Tx Complete */
381 WDI_TX_COMPLETE_IND,
382
383 /*.P2P_NOA_Attr_Indication */
384 WDI_P2P_NOA_ATTR_IND,
385
386 /* Preferred Network Found Indication */
387 WDI_PREF_NETWORK_FOUND_IND,
388
389 WDI_WAKE_REASON_IND,
390
391 /* Tx PER Tracking Indication */
392 WDI_TX_PER_HIT_IND,
Viral Modid86bde22012-12-10 13:09:21 -0800393
Viral Modid86bde22012-12-10 13:09:21 -0800394 /* P2P_NOA_Start_Indication */
395 WDI_P2P_NOA_START_IND,
Viral Modid86bde22012-12-10 13:09:21 -0800396
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530397 /* TDLS_Indication */
398 WDI_TDLS_IND,
399
Leo Chang9056f462013-08-01 19:21:11 -0700400 /* LPHB Timeout Indication from FW to umac */
401 WDI_LPHB_WAIT_TIMEOUT_IND,
402
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700403 /* IBSS Peer Inactivity Indication */
404 WDI_IBSS_PEER_INACTIVITY_IND,
405
Yue Mab9c86f42013-08-14 15:59:08 -0700406 /* Periodic Tx Pattern FW Indication */
407 WDI_PERIODIC_TX_PTRN_FW_IND,
408
Jeff Johnson295189b2012-06-20 16:38:30 -0700409 WDI_MAX_IND
410}WDI_LowLevelIndEnumType;
411
412
413/*---------------------------------------------------------------------------
414 WDI_LowRSSIThIndType
415---------------------------------------------------------------------------*/
416typedef struct
417{
418 /*Positive crossing of Rssi Thresh1*/
419 wpt_uint32 bRssiThres1PosCross : 1;
420 /*Negative crossing of Rssi Thresh1*/
421 wpt_uint32 bRssiThres1NegCross : 1;
422 /*Positive crossing of Rssi Thresh2*/
423 wpt_uint32 bRssiThres2PosCross : 1;
424 /*Negative crossing of Rssi Thresh2*/
425 wpt_uint32 bRssiThres2NegCross : 1;
426 /*Positive crossing of Rssi Thresh3*/
427 wpt_uint32 bRssiThres3PosCross : 1;
428 /*Negative crossing of Rssi Thresh3*/
429 wpt_uint32 bRssiThres3NegCross : 1;
430
Srinivasdaaec712012-12-12 15:59:44 -0800431 wpt_uint32 avgRssi : 8;
432 wpt_uint32 bReserved : 18;
Jeff Johnson295189b2012-06-20 16:38:30 -0700433
434}WDI_LowRSSIThIndType;
435
436
437/*---------------------------------------------------------------------------
438 WDI_UnkAddr2FrmRxIndType
439---------------------------------------------------------------------------*/
440typedef struct
441{
442 /*Rx Bd data of the unknown received addr2 frame.*/
443 void* bufRxBd;
444
445 /*Buffer Length*/
446 wpt_uint16 usBufLen;
447}WDI_UnkAddr2FrmRxIndType;
448
449/*---------------------------------------------------------------------------
450 WDI_DeleteSTAIndType
451---------------------------------------------------------------------------*/
452typedef struct
453{
454 /*ASSOC ID, as assigned by UMAC*/
455 wpt_uint16 usAssocId;
456
457 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
458 wpt_uint8 ucSTAIdx;
459
460 /*BSSID of STA*/
461 wpt_macAddr macBSSID;
462
463 /*MAC ADDR of STA*/
464 wpt_macAddr macADDR2;
465
466 /* To unify the keepalive / unknown A2 / tim-based disa*/
467 wpt_uint16 wptReasonCode;
468
469}WDI_DeleteSTAIndType;
470
471/*---------------------------------------------------------------------------
472 WDI_MicFailureIndType
473---------------------------------------------------------------------------*/
474typedef struct
475{
476 /*current BSSID*/
477 wpt_macAddr bssId;
478
479 /*Source mac address*/
480 wpt_macAddr macSrcAddr;
481
482 /*Transmitter mac address*/
483 wpt_macAddr macTaAddr;
484
485 /*Destination mac address*/
486 wpt_macAddr macDstAddr;
487
488 /*Multicast flag*/
489 wpt_uint8 ucMulticast;
490
491 /*First byte of IV*/
492 wpt_uint8 ucIV1;
493
494 /*Key Id*/
495 wpt_uint8 keyId;
496
497 /*Sequence Number*/
498 wpt_uint8 TSC[WDI_CIPHER_SEQ_CTR_SIZE];
499
500 /*receive address */
501 wpt_macAddr macRxAddr;
502}WDI_MicFailureIndType;
503
504/*---------------------------------------------------------------------------
505 WDI_CoexIndType
506---------------------------------------------------------------------------*/
507typedef struct
508{
509 wpt_uint32 coexIndType;
510 wpt_uint32 coexIndData[WDI_COEX_IND_DATA_SIZE];
511} WDI_CoexIndType;
512
513/*---------------------------------------------------------------------------
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +0530514 WDI_DHCPInd
515---------------------------------------------------------------------------*/
516
517typedef struct
518{
519 wpt_uint8 device_mode;
520 wpt_uint8 macAddr[WDI_MAC_ADDR_LEN];
521}WDI_DHCPInd;
522
523/*---------------------------------------------------------------------------
524
Jeff Johnson295189b2012-06-20 16:38:30 -0700525 WDI_MacSSid
526---------------------------------------------------------------------------*/
527typedef struct
528{
529 wpt_uint8 ucLength;
530 wpt_uint8 sSSID[WDI_MAX_SSID_SIZE];
531} WDI_MacSSid;
532
533#ifdef FEATURE_WLAN_SCAN_PNO
534/*---------------------------------------------------------------------------
535 WDI_PrefNetworkFoundInd
536---------------------------------------------------------------------------*/
537typedef struct
538{
539 /* Network that was found with the highest RSSI*/
Srikant Kuppa066904f2013-05-07 13:56:02 -0700540 WDI_MacSSid ssId;
Jeff Johnson295189b2012-06-20 16:38:30 -0700541 /* Indicates the RSSI */
Srikant Kuppa066904f2013-05-07 13:56:02 -0700542 wpt_uint8 rssi;
543 wpt_uint16 frameLength;
544 wpt_uint8 *pData;
Jeff Johnson295189b2012-06-20 16:38:30 -0700545} WDI_PrefNetworkFoundInd;
546#endif // FEATURE_WLAN_SCAN_PNO
547
Jeff Johnson295189b2012-06-20 16:38:30 -0700548/*---------------------------------------------------------------------------
549 *WDI_P2pNoaAttrIndType
550 *-------------------------------------------------------------------------*/
Jeff Johnson295189b2012-06-20 16:38:30 -0700551typedef struct
552{
553 wpt_uint8 ucIndex ;
554 wpt_uint8 ucOppPsFlag ;
555 wpt_uint16 usCtWin ;
556
557 wpt_uint16 usNoa1IntervalCnt;
558 wpt_uint16 usRsvd1 ;
559 wpt_uint32 uslNoa1Duration;
560 wpt_uint32 uslNoa1Interval;
561 wpt_uint32 uslNoa1StartTime;
562
563 wpt_uint16 usNoa2IntervalCnt;
564 wpt_uint16 usRsvd2;
565 wpt_uint32 uslNoa2Duration;
566 wpt_uint32 uslNoa2Interval;
567 wpt_uint32 uslNoa2StartTime;
568
569 wpt_uint32 status;
570}WDI_P2pNoaAttrIndType;
Viral Modid86bde22012-12-10 13:09:21 -0800571
572/*---------------------------------------------------------------------------
573 *WDI_P2pNoaStartIndType
574 *-------------------------------------------------------------------------*/
575typedef struct
576{
577 wpt_uint32 status;
578 wpt_uint32 bssIdx;
579}WDI_P2pNoaStartIndType;
580
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530581/*---------------------------------------------------------------------------
582 *WDI_TdlsIndType
583 *-------------------------------------------------------------------------*/
584typedef struct
585{
586 wpt_uint16 status;
587 wpt_uint16 assocId;
588 wpt_uint16 staIdx;
589 wpt_uint16 reasonCode;
590}WDI_TdlsIndType;
Jeff Johnson295189b2012-06-20 16:38:30 -0700591
592#ifdef WLAN_WAKEUP_EVENTS
593/*---------------------------------------------------------------------------
594 WDI_WakeReasonIndType
595---------------------------------------------------------------------------*/
596typedef struct
597{
598 wpt_uint32 ulReason; /* see tWakeReasonType */
599 wpt_uint32 ulReasonArg; /* argument specific to the reason type */
600 wpt_uint32 ulStoredDataLen; /* length of optional data stored in this message, in case
601 HAL truncates the data (i.e. data packets) this length
602 will be less than the actual length */
603 wpt_uint32 ulActualDataLen; /* actual length of data */
604 wpt_uint8 aDataStart[1]; /* variable length start of data (length == storedDataLen)
605 see specific wake type */
606} WDI_WakeReasonIndType;
607#endif // WLAN_WAKEUP_EVENTS
608
609/*---------------------------------------------------------------------------
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800610 WDI_MissedBeaconIndType
611-----------------------------------------------------------------------------*/
612typedef struct
613{
614 wpt_uint8 bssIdx; /*bssidx on which beacon is missed*/
615} WDI_MissedBeaconIndType;
616
Leo Chang9056f462013-08-01 19:21:11 -0700617#ifdef FEATURE_WLAN_LPHB
618/*---------------------------------------------------------------------------
619 WDI_LPHBTimeoutIndData
620-----------------------------------------------------------------------------*/
621typedef struct
622{
623 wpt_uint8 bssIdx;
624 wpt_uint8 sessionIdx;
625 wpt_uint8 protocolType; /*TCP or UDP*/
626 wpt_uint8 eventReason;
627} WDI_LPHBTimeoutIndData;
628#endif /* FEATURE_WLAN_LPHB */
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800629
Yue Mab9c86f42013-08-14 15:59:08 -0700630/*-----------------------------------------------------------------------------
631WDI_PeriodicTxPtrnFwIndType
632-----------------------------------------------------------------------------*/
633typedef struct
634{
635 wpt_uint8 bssIdx;
636 wpt_uint32 selfStaIdx;
637 wpt_uint32 status;
638 wpt_uint32 patternIdBitmap;
639} WDI_PeriodicTxPtrnFwIndType;
640
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800641/*---------------------------------------------------------------------------
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700642 WDI_IbssPeerInactivityIndType
643-----------------------------------------------------------------------------*/
644typedef struct
645{
646 wpt_uint8 bssIdx;
647 wpt_uint8 staIdx;
648 wpt_macAddr staMacAddr;
649}WDI_IbssPeerInactivityIndType;
650
651/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -0700652 WDI_LowLevelIndType
653 Inidcation type and information about the indication being carried
654 over
655---------------------------------------------------------------------------*/
656typedef struct
657{
658 /*Inidcation type*/
659 WDI_LowLevelIndEnumType wdiIndicationType;
660
661 /*Indication data*/
662 union
663 {
664 /*RSSI Threshold Info for WDI_LOW_RSSI_IND*/
665 WDI_LowRSSIThIndType wdiLowRSSIInfo;
666
667 /*Addr2 Frame Info for WDI_UNKNOWN_ADDR2_FRAME_RX_IND*/
668 WDI_UnkAddr2FrmRxIndType wdiUnkAddr2FrmInfo;
669
670 /*MIC Failure info for WDI_MIC_FAILURE_IND*/
671 WDI_MicFailureIndType wdiMICFailureInfo;
672
673 /*Error code for WDI_FATAL_ERROR_IND*/
674 wpt_uint16 usErrorCode;
675
676 /*Delete STA Indication*/
677 WDI_DeleteSTAIndType wdiDeleteSTAIndType;
678
679 /*Coex Indication*/
680 WDI_CoexIndType wdiCoexInfo;
681
682 /* Tx Complete Indication */
683 wpt_uint32 tx_complete_status;
684
Jeff Johnson295189b2012-06-20 16:38:30 -0700685 /* P2P NOA ATTR Indication */
686 WDI_P2pNoaAttrIndType wdiP2pNoaAttrInfo;
Viral Modid86bde22012-12-10 13:09:21 -0800687 WDI_P2pNoaStartIndType wdiP2pNoaStartInfo;
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530688 /* TDLS Indications */
689 WDI_TdlsIndType wdiTdlsIndInfo;
Jeff Johnson295189b2012-06-20 16:38:30 -0700690
691
692#ifdef FEATURE_WLAN_SCAN_PNO
693 WDI_PrefNetworkFoundInd wdiPrefNetworkFoundInd;
694#endif // FEATURE_WLAN_SCAN_PNO
695
696#ifdef WLAN_WAKEUP_EVENTS
697 WDI_WakeReasonIndType wdiWakeReasonInd;
698#endif // WLAN_WAKEUP_EVENTS
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800699 WDI_MissedBeaconIndType wdiMissedBeaconInd;
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700700
Leo Chang9056f462013-08-01 19:21:11 -0700701#ifdef FEATURE_WLAN_LPHB
702 WDI_LPHBTimeoutIndData wdiLPHBTimeoutInd;
703#endif /* FEATURE_WLAN_LPHB */
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700704
705 /* IBSS Peer Inactivity Indication */
706 WDI_IbssPeerInactivityIndType wdiIbssPeerInactivityInd;
707
Yue Mab9c86f42013-08-14 15:59:08 -0700708 /* Periodic TX Pattern FW Indication */
709 WDI_PeriodicTxPtrnFwIndType wdiPeriodicTxPtrnFwInd;
Jeff Johnson295189b2012-06-20 16:38:30 -0700710 } wdiIndicationData;
711}WDI_LowLevelIndType;
712
713/*---------------------------------------------------------------------------
714 WDI_LowLevelIndCBType
715
716 DESCRIPTION
717
718 This callback is invoked by DAL to deliver to UMAC certain indications
719 that has either received from the lower device or has generated itself.
720
721 PARAMETERS
722
723 IN
724 pwdiInd: information about the indication sent over
725 pUserData: user data provided by UMAC during registration
726
727
728
729 RETURN VALUE
730 The result code associated with performing the operation
731---------------------------------------------------------------------------*/
732typedef void (*WDI_LowLevelIndCBType)(WDI_LowLevelIndType* pwdiInd,
733 void* pUserData);
734
735/*---------------------------------------------------------------------------
736 WDI_DriverType
737---------------------------------------------------------------------------*/
738typedef enum
739{
740 WDI_DRIVER_TYPE_PRODUCTION = 0,
741 WDI_DRIVER_TYPE_MFG = 1,
742 WDI_DRIVER_TYPE_DVT = 2
743} WDI_DriverType;
744
745/*---------------------------------------------------------------------------
746 WDI_StartReqParamsType
747---------------------------------------------------------------------------*/
748typedef struct
749{
750 /*This is a TLV formatted buffer containing all config values that can
751 be set through the DAL Interface
752
753 The TLV is expected to be formatted like this:
754
755 0 7 15 31 ....
756 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
757
758 Or from a C construct point of VU it would look like this:
759
760 typedef struct WPT_PACK_POST
761 {
762 #ifdef WPT_BIG_ENDIAN
763 wpt_uint32 ucCfgId:8;
764 wpt_uint32 ucCfgLen:8;
765 wpt_uint32 usReserved:16;
766 #else
767 wpt_uint32 usReserved:16;
768 wpt_uint32 ucCfgLen:8;
769 wpt_uint32 ucCfgId:8;
770 #endif
771
772 wpt_uint8 ucCfgBody[ucCfgLen];
773 }WDI_ConfigType;
774
775 Multiple such tuplets are to be placed in the config buffer. One for
776 each required configuration item:
777
778 | TLV 1 | TLV2 | ....
779
780 The buffer is expected to be a flat area of memory that can be manipulated
781 with standard memory routines.
782
783 For more info please check paragraph 2.3.1 Config Structure from the
784 HAL LLD.
785
786 For a list of accepted configuration list and IDs please look up
787 wlan_qct_dal_cfg.h
788
789 */
790 void* pConfigBuffer;
791
792 /*Length of the config buffer above*/
793 wpt_uint16 usConfigBufferLen;
794
795 /*Production or FTM driver*/
796 WDI_DriverType wdiDriverType;
797
798 /*Should device enable frame translation */
799 wpt_uint8 bFrameTransEnabled;
800
801 /*Request status callback offered by UMAC - it is called if the current
802 req has returned PENDING as status; it delivers the status of sending
803 the message over the BUS */
804 WDI_ReqStatusCb wdiReqStatusCB;
805
806 /*The user data passed in by UMAC, it will be sent back when the above
807 function pointer will be called */
808 void* pUserData;
809
810 /*Indication callback given by UMAC to be called by the WLAN DAL when it
811 wishes to send something back independent of a request*/
812 WDI_LowLevelIndCBType wdiLowLevelIndCB;
813
814 /*The user data passed in by UMAC, it will be sent back when the indication
815 function pointer will be called */
816 void* pIndUserData;
817}WDI_StartReqParamsType;
818
819
820/*---------------------------------------------------------------------------
821 WDI_StartRspParamsType
822---------------------------------------------------------------------------*/
823typedef struct
824{
825 /*Status of the response*/
826 WDI_Status wdiStatus;
827
828 /*Max number of STA supported by the device*/
829 wpt_uint8 ucMaxStations;
830
831 /*Max number of BSS supported by the device*/
832 wpt_uint8 ucMaxBssids;
833
834 /*Version of the WLAN HAL API with which we were compiled*/
835 WDI_WlanVersionType wlanCompiledVersion;
836
837 /*Version of the WLAN HAL API that was reported*/
838 WDI_WlanVersionType wlanReportedVersion;
839
840 /*WCNSS Software version string*/
841 wpt_uint8 wcnssSoftwareVersion[WDI_VERSION_LENGTH];
842
843 /*WCNSS Hardware version string*/
844 wpt_uint8 wcnssHardwareVersion[WDI_VERSION_LENGTH];
845}WDI_StartRspParamsType;
846
847
848/*---------------------------------------------------------------------------
849 WDI_StopType
850---------------------------------------------------------------------------*/
851typedef enum
852{
853 /*Device is being stopped due to a reset*/
854 WDI_STOP_TYPE_SYS_RESET,
855
856 /*Device is being stopped due to entering deep sleep*/
857 WDI_STOP_TYPE_SYS_DEEP_SLEEP,
858
859 /*Device is being stopped because the RF needs to shut off
860 (e.g.:Airplane mode)*/
861 WDI_STOP_TYPE_RF_KILL
862}WDI_StopType;
863
864/*---------------------------------------------------------------------------
865 WDI_StopReqParamsType
866---------------------------------------------------------------------------*/
867typedef struct
868{
869
870 /*The reason for which the device is being stopped*/
871 WDI_StopType wdiStopReason;
872
873 /*Request status callback offered by UMAC - it is called if the current
874 req has returned PENDING as status; it delivers the status of sending
875 the message over the BUS */
876 WDI_ReqStatusCb wdiReqStatusCB;
877
878 /*The user data passed in by UMAC, it will be sent back when the above
879 function pointer will be called */
880 void* pUserData;
881}WDI_StopReqParamsType;
882
883
884/*---------------------------------------------------------------------------
885 WDI_ScanMode
886---------------------------------------------------------------------------*/
887typedef enum
888{
889 WDI_SCAN_MODE_NORMAL = 0,
890 WDI_SCAN_MODE_LEARN,
891 WDI_SCAN_MODE_SCAN,
892 WDI_SCAN_MODE_PROMISC,
Madan Mohan Koyyalamudi9b876782012-10-11 16:22:51 -0700893 WDI_SCAN_MODE_SUSPEND_LINK,
894 WDI_SCAN_MODE_ROAM_SCAN,
895 WDI_SCAN_MODE_ROAM_SUSPEND_LINK,
896
Jeff Johnson295189b2012-06-20 16:38:30 -0700897} WDI_ScanMode;
898
899/*---------------------------------------------------------------------------
900 WDI_ScanEntry
901---------------------------------------------------------------------------*/
902typedef struct
903{
904 wpt_uint8 bssIdx[WDI_NUM_BSSID];
905 wpt_uint8 activeBSScnt;
906}WDI_ScanEntry;
907
908/*---------------------------------------------------------------------------
909 WDI_InitScanReqInfoType
910---------------------------------------------------------------------------*/
911typedef struct
912{
913 /*LEARN - AP Role
914 SCAN - STA Role*/
915 WDI_ScanMode wdiScanMode;
916
917 /*BSSID of the BSS*/
918 wpt_macAddr macBSSID;
919
920 /*Whether BSS needs to be notified*/
921 wpt_boolean bNotifyBSS;
922
923 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
924 CTS to Self). Must always be a valid frame type.*/
925 wpt_uint8 ucFrameType;
926
927 /*UMAC has the option of passing the MAC frame to be used for notifying
928 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
929 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
930 frameType.*/
931 wpt_uint8 ucFrameLength;
932
933 /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/
934 WDI_MacMgmtHdr wdiMACMgmtHdr;
935
936 /*Entry to hold number of active BSS to send NULL frames before
937 * initiating SCAN*/
938 WDI_ScanEntry wdiScanEntry;
939
940 /* Flag to enable/disable Single NOA*/
941 wpt_boolean bUseNOA;
942
943 /* Indicates the scan duration (in ms) */
944 wpt_uint16 scanDuration;
945
946}WDI_InitScanReqInfoType;
947
948/*---------------------------------------------------------------------------
949 WDI_InitScanReqParamsType
950---------------------------------------------------------------------------*/
951typedef struct
952{
953 /*The info associated with the request that needs to be sent over to the
954 device*/
955 WDI_InitScanReqInfoType wdiReqInfo;
956
957 /*Request status callback offered by UMAC - it is called if the current
958 req has returned PENDING as status; it delivers the status of sending
959 the message over the BUS */
960 WDI_ReqStatusCb wdiReqStatusCB;
961
962 /*The user data passed in by UMAC, it will be sent back when the above
963 function pointer will be called */
964 void* pUserData;
965}WDI_InitScanReqParamsType;
966
967/*---------------------------------------------------------------------------
968 WDI_StartScanReqParamsType
969---------------------------------------------------------------------------*/
970typedef struct
971{
972 /*Indicates the channel to scan*/
973 wpt_uint8 ucChannel;
974
975 /*Request status callback offered by UMAC - it is called if the current
976 req has returned PENDING as status; it delivers the status of sending
977 the message over the BUS */
978 WDI_ReqStatusCb wdiReqStatusCB;
979
980 /*The user data passed in by UMAC, it will be sent back when the above
981 function pointer will be called */
982 void* pUserData;
983}WDI_StartScanReqParamsType;
984
985/*---------------------------------------------------------------------------
986 WDI_StartScanRspParamsType
987---------------------------------------------------------------------------*/
988typedef struct
989{
990 /*Indicates the status of the operation */
991 WDI_Status wdiStatus;
992
993#if defined WLAN_FEATURE_VOWIFI
994 wpt_uint32 aStartTSF[2];
995 wpt_int8 ucTxMgmtPower;
996#endif
997}WDI_StartScanRspParamsType;
998
999/*---------------------------------------------------------------------------
1000 WDI_EndScanReqParamsType
1001---------------------------------------------------------------------------*/
1002typedef struct
1003{
1004 /*Indicates the channel to stop scanning. Not used really. But retained
1005 for symmetry with "start Scan" message. It can also help in error
1006 check if needed.*/
1007 wpt_uint8 ucChannel;
1008
1009 /*Request status callback offered by UMAC - it is called if the current
1010 req has returned PENDING as status; it delivers the status of sending
1011 the message over the BUS */
1012 WDI_ReqStatusCb wdiReqStatusCB;
1013
1014 /*The user data passed in by UMAC, it will be sent back when the above
1015 function pointer will be called */
1016 void* pUserData;
1017}WDI_EndScanReqParamsType;
1018
1019/*---------------------------------------------------------------------------
1020 WDI_PhyChanBondState
1021---------------------------------------------------------------------------*/
1022typedef enum
1023{
1024 WDI_PHY_SINGLE_CHANNEL_CENTERED = 0,
1025 WDI_PHY_DOUBLE_CHANNEL_LOW_PRIMARY = 1,
1026 WDI_PHY_DOUBLE_CHANNEL_CENTERED = 2,
Jeff Johnsone7245742012-09-05 17:12:55 -07001027 WDI_PHY_DOUBLE_CHANNEL_HIGH_PRIMARY = 3,
1028#ifdef WLAN_FEATURE_11AC
1029 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_CENTERED = 4, //20/40MHZ offset LOW 40/80MHZ offset CENTERED
1030 WDI_QUADRUPLE_CHANNEL_20MHZ_CENTERED_40MHZ_CENTERED = 5, //20/40MHZ offset CENTERED 40/80MHZ offset CENTERED
1031 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_CENTERED = 6, //20/40MHZ offset HIGH 40/80MHZ offset CENTERED
1032 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_LOW = 7,//20/40MHZ offset LOW 40/80MHZ offset LOW
1033 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_LOW = 8, //20/40MHZ offset HIGH 40/80MHZ offset LOW
1034 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_HIGH = 9, //20/40MHZ offset LOW 40/80MHZ offset HIGH
1035 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_HIGH = 10,//20/40MHZ offset-HIGH 40/80MHZ offset HIGH
1036#endif
1037 WDI_MAX_CB_STATE
Jeff Johnson295189b2012-06-20 16:38:30 -07001038} WDI_PhyChanBondState;
1039
1040/*---------------------------------------------------------------------------
1041 WDI_FinishScanReqInfoType
1042---------------------------------------------------------------------------*/
1043typedef struct
1044{
1045 /*LEARN - AP Role
1046 SCAN - STA Role*/
1047 WDI_ScanMode wdiScanMode;
1048
1049 /*Operating channel to tune to.*/
1050 wpt_uint8 ucCurrentOperatingChannel;
1051
1052 /*Channel Bonding state If 20/40 MHz is operational, this will indicate the
1053 40 MHz extension channel in combination with the control channel*/
1054 WDI_PhyChanBondState wdiCBState;
1055
1056 /*BSSID of the BSS*/
1057 wpt_macAddr macBSSID;
1058
1059 /*Whether BSS needs to be notified*/
1060 wpt_boolean bNotifyBSS;
1061
1062 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
1063 CTS to Self). Must always be a valid frame type.*/
1064 wpt_uint8 ucFrameType;
1065
1066 /*UMAC has the option of passing the MAC frame to be used for notifying
1067 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
1068 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
1069 frameType.*/
1070 wpt_uint8 ucFrameLength;
1071
1072 /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/
1073 WDI_MacMgmtHdr wdiMACMgmtHdr;
1074
1075 /*Entry to hold number of active BSS to send NULL frames after SCAN*/
1076 WDI_ScanEntry wdiScanEntry;
1077
1078}WDI_FinishScanReqInfoType;
1079
1080/*---------------------------------------------------------------------------
1081 WDI_SwitchChReqInfoType
1082---------------------------------------------------------------------------*/
1083typedef struct
1084{
1085 /*Indicates the channel to switch to.*/
1086 wpt_uint8 ucChannel;
1087
1088 /*Local power constraint*/
1089 wpt_uint8 ucLocalPowerConstraint;
1090
1091 /*Secondary channel offset */
1092 WDI_HTSecondaryChannelOffset wdiSecondaryChannelOffset;
1093
1094#ifdef WLAN_FEATURE_VOWIFI
1095 wpt_int8 cMaxTxPower;
1096
1097 /*Self STA Mac address*/
1098 wpt_macAddr macSelfStaMacAddr;
1099#endif
1100 /* VO Wifi comment: BSSID is needed to identify which session issued this request. As the
1101 request has power constraints, this should be applied only to that session */
1102 /* V IMP: Keep bssId field at the end of this msg. It is used to mantain backward compatbility
1103 * by way of ignoring if using new host/old FW or old host/new FW since it is at the end of this struct
1104 */
1105 wpt_macAddr macBSSId;
1106
1107}WDI_SwitchChReqInfoType;
1108
1109/*---------------------------------------------------------------------------
1110 WDI_SwitchChReqParamsType
1111---------------------------------------------------------------------------*/
1112typedef struct
1113{
1114 /*Channel Info*/
1115 WDI_SwitchChReqInfoType wdiChInfo;
1116
1117 /*Request status callback offered by UMAC - it is called if the current
1118 req has returned PENDING as status; it delivers the status of sending
1119 the message over the BUS */
1120 WDI_ReqStatusCb wdiReqStatusCB;
1121
1122 /*The user data passed in by UMAC, it will be sent back when the above
1123 function pointer will be called */
1124 void* pUserData;
1125}WDI_SwitchChReqParamsType;
1126
1127/*---------------------------------------------------------------------------
1128 WDI_FinishScanReqParamsType
1129---------------------------------------------------------------------------*/
1130typedef struct
1131{
1132 /*Info for the Finish Scan request that will be sent down to the device*/
1133 WDI_FinishScanReqInfoType wdiReqInfo;
1134
1135 /*Request status callback offered by UMAC - it is called if the current
1136 req has returned PENDING as status; it delivers the status of sending
1137 the message over the BUS */
1138 WDI_ReqStatusCb wdiReqStatusCB;
1139
1140 /*The user data passed in by UMAC, it will be sent back when the above
1141 function pointer will be called */
1142 void* pUserData;
1143}WDI_FinishScanReqParamsType;
1144
1145/*---------------------------------------------------------------------------
1146 WDI_JoinReqInfoType
1147---------------------------------------------------------------------------*/
1148typedef struct
1149{
1150 /*Indicates the BSSID to which STA is going to associate*/
1151 wpt_macAddr macBSSID;
1152
1153 /*Indicates the MAC Address of the current Self STA*/
1154 wpt_macAddr macSTASelf;
1155
1156 /*Indicates the link State determining the entity Type e.g. BTAMP-STA, STA etc.*/
1157 wpt_uint32 linkState;
1158
1159 /*Indicates the channel to switch to.*/
1160 WDI_SwitchChReqInfoType wdiChannelInfo;
1161
1162}WDI_JoinReqInfoType;
1163
1164/*---------------------------------------------------------------------------
1165 WDI_JoinReqParamsType
1166---------------------------------------------------------------------------*/
1167typedef struct
1168{
1169 /*Info for the Join request that will be sent down to the device*/
1170 WDI_JoinReqInfoType wdiReqInfo;
1171
1172 /*Request status callback offered by UMAC - it is called if the current
1173 req has returned PENDING as status; it delivers the status of sending
1174 the message over the BUS */
1175 WDI_ReqStatusCb wdiReqStatusCB;
1176
1177 /*The user data passed in by UMAC, it will be sent back when the above
1178 function pointer will be called */
1179 void* pUserData;
1180}WDI_JoinReqParamsType;
1181
1182/*---------------------------------------------------------------------------
1183 WDI_BssType
1184---------------------------------------------------------------------------*/
1185typedef enum
1186{
1187 WDI_INFRASTRUCTURE_MODE,
1188 WDI_INFRA_AP_MODE, //Added for softAP support
1189 WDI_IBSS_MODE,
1190 WDI_BTAMP_STA_MODE,
1191 WDI_BTAMP_AP_MODE,
1192 WDI_BSS_AUTO_MODE,
1193}WDI_BssType;
1194
1195/*---------------------------------------------------------------------------
1196 WDI_NwType
1197---------------------------------------------------------------------------*/
1198typedef enum
1199{
1200 WDI_11A_NW_TYPE,
1201 WDI_11B_NW_TYPE,
1202 WDI_11G_NW_TYPE,
1203 WDI_11N_NW_TYPE,
1204} WDI_NwType;
1205
1206/*---------------------------------------------------------------------------
1207 WDI_ConfigAction
1208---------------------------------------------------------------------------*/
1209typedef enum
1210{
1211 WDI_ADD_BSS,
1212 WDI_UPDATE_BSS
1213} WDI_ConfigAction;
1214
1215/*---------------------------------------------------------------------------
1216 WDI_HTOperatingMode
1217---------------------------------------------------------------------------*/
1218typedef enum
1219{
1220 WDI_HT_OP_MODE_PURE,
1221 WDI_HT_OP_MODE_OVERLAP_LEGACY,
1222 WDI_HT_OP_MODE_NO_LEGACY_20MHZ_HT,
1223 WDI_HT_OP_MODE_MIXED
1224
1225} WDI_HTOperatingMode;
1226
1227
1228/*---------------------------------------------------------------------------
1229 WDI_STAEntryType
1230---------------------------------------------------------------------------*/
1231typedef enum
1232{
1233 WDI_STA_ENTRY_SELF,
1234 WDI_STA_ENTRY_PEER,
1235 WDI_STA_ENTRY_BSSID,
Mohit Khanna698ba2a2012-12-04 15:08:18 -08001236 WDI_STA_ENTRY_BCAST,
1237#ifdef FEATURE_WLAN_TDLS
1238 WDI_STA_ENTRY_TDLS_PEER,
1239#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001240}WDI_STAEntryType;
1241
1242/*---------------------------------------------------------------------------
1243 WDI_ConfigActionType
1244---------------------------------------------------------------------------*/
1245typedef enum
1246{
1247 WDI_ADD_STA,
1248 WDI_UPDATE_STA
1249} WDI_ConfigActionType;
1250
1251/*----------------------------------------------------------------------------
1252 Each station added has a rate mode which specifies the sta attributes
1253 ----------------------------------------------------------------------------*/
1254typedef enum
1255{
1256 WDI_RESERVED_1 = 0,
1257 WDI_RESERVED_2,
1258 WDI_RESERVED_3,
1259 WDI_11b,
1260 WDI_11bg,
1261 WDI_11a,
1262 WDI_11n,
1263} WDI_RateModeType;
1264
1265/*---------------------------------------------------------------------------
1266 WDI_SupportedRatesType
1267---------------------------------------------------------------------------*/
1268typedef struct
1269{
1270 /*
1271 * For Self STA Entry: this represents Self Mode.
1272 * For Peer Stations, this represents the mode of the peer.
1273 * On Station:
1274 * --this mode is updated when PE adds the Self Entry.
1275 * -- OR when PE sends 'ADD_BSS' message and station context in BSS is used to indicate the mode of the AP.
1276 * ON AP:
1277 * -- this mode is updated when PE sends 'ADD_BSS' and Sta entry for that BSS is used
1278 * to indicate the self mode of the AP.
1279 * -- OR when a station is associated, PE sends 'ADD_STA' message with this mode updated.
1280 */
1281
1282 WDI_RateModeType opRateMode;
1283
1284 /* 11b, 11a and aniLegacyRates are IE rates which gives rate in unit of 500Kbps */
1285 wpt_uint16 llbRates[WDI_NUM_11B_RATES];
1286 wpt_uint16 llaRates[WDI_NUM_11A_RATES];
1287 wpt_uint16 aLegacyRates[WDI_NUM_POLARIS_RATES];
1288
1289 /*Taurus only supports 26 Titan Rates(no ESF/concat Rates will be supported)
1290 First 26 bits are reserved for those Titan rates and
1291 the last 4 bits(bit28-31) for Taurus, 2(bit26-27) bits are reserved.*/
1292 wpt_uint32 uEnhancedRateBitmap; //Titan and Taurus Rates
1293
1294 /*
1295 * 0-76 bits used, remaining reserved
1296 * bits 0-15 and 32 should be set.
1297 */
1298 wpt_uint8 aSupportedMCSSet[WDI_MAC_MAX_SUPPORTED_MCS_SET];
1299
1300 /*
1301 * RX Highest Supported Data Rate defines the highest data
1302 * rate that the STA is able to receive, in unites of 1Mbps.
1303 * This value is derived from "Supported MCS Set field" inside
1304 * the HT capability element.
1305 */
1306 wpt_uint16 aRxHighestDataRate;
1307
Jeff Johnsone7245742012-09-05 17:12:55 -07001308
1309#ifdef WLAN_FEATURE_11AC
1310 /*Indicates the Maximum MCS that can be received for each number
1311 of spacial streams */
1312 wpt_uint16 vhtRxMCSMap;
1313 /*Indicate the highest VHT data rate that the STA is able to receive*/
1314 wpt_uint16 vhtRxHighestDataRate;
1315 /*Indicates the Maximum MCS that can be transmitted for each number
1316 of spacial streams */
1317 wpt_uint16 vhtTxMCSMap;
1318 /*Indicate the highest VHT data rate that the STA is able to transmit*/
1319 wpt_uint16 vhtTxHighestDataRate;
1320#endif
1321
Jeff Johnson295189b2012-06-20 16:38:30 -07001322} WDI_SupportedRates;
1323
1324/*--------------------------------------------------------------------------
1325 WDI_HTMIMOPowerSaveState
1326 Spatial Multiplexing(SM) Power Save mode
1327 --------------------------------------------------------------------------*/
1328typedef enum
1329{
1330 WDI_HT_MIMO_PS_STATIC = 0, // Static SM Power Save mode
1331 WDI_HT_MIMO_PS_DYNAMIC = 1, // Dynamic SM Power Save mode
1332 WDI_HT_MIMO_PS_NA = 2, // reserved
1333 WDI_HT_MIMO_PS_NO_LIMIT = 3, // SM Power Save disabled
1334} WDI_HTMIMOPowerSaveState;
1335
1336/*---------------------------------------------------------------------------
1337 WDI_ConfigStaReqInfoType
1338---------------------------------------------------------------------------*/
1339typedef struct
1340{
1341 /*BSSID of STA*/
1342 wpt_macAddr macBSSID;
1343
1344 /*ASSOC ID, as assigned by UMAC*/
1345 wpt_uint16 usAssocId;
1346
1347 /*Used for configuration of different HW modules.*/
1348 WDI_STAEntryType wdiSTAType;
1349
Gopichand Nakkalae7cbc5d2013-03-27 21:09:23 -07001350 /*STA Index */
1351 wpt_uint8 staIdx;
1352
Jeff Johnson295189b2012-06-20 16:38:30 -07001353 /*Short Preamble Supported.*/
1354 wpt_uint8 ucShortPreambleSupported;
1355
1356 /*MAC Address of STA*/
1357 wpt_macAddr macSTA;
1358
1359 /*Listen interval of the STA*/
1360 wpt_uint16 usListenInterval;
1361
1362 /*Support for 11e/WMM*/
1363 wpt_uint8 ucWMMEnabled;
1364
1365 /*11n HT capable STA*/
1366 wpt_uint8 ucHTCapable;
1367
1368 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
1369 wpt_uint8 ucTXChannelWidthSet;
1370
1371 /*RIFS mode 0 - NA, 1 - Allowed*/
1372 wpt_uint8 ucRIFSMode;
1373
1374 /*L-SIG TXOP Protection mechanism
1375 0 - No Support, 1 - Supported
1376 SG - there is global field*/
1377 wpt_uint8 ucLSIGTxopProtection;
1378
1379 /*Max Ampdu Size supported by STA. Device programming.
1380 0 : 8k , 1 : 16k, 2 : 32k, 3 : 64k */
1381 wpt_uint8 ucMaxAmpduSize;
1382
1383 /*Max Ampdu density. Used by RA. 3 : 0~7 : 2^(11nAMPDUdensity -4)*/
1384 wpt_uint8 ucMaxAmpduDensity;
1385
1386 /*Max AMSDU size 1 : 3839 bytes, 0 : 7935 bytes*/
1387 wpt_uint8 ucMaxAmsduSize;
1388
1389 /*Short GI support for 40Mhz packets*/
1390 wpt_uint8 ucShortGI40Mhz;
1391
1392 /*Short GI support for 20Mhz packets*/
1393 wpt_uint8 ucShortGI20Mhz;
1394
1395 /*These rates are the intersection of peer and self capabilities.*/
1396 WDI_SupportedRates wdiSupportedRates;
1397
1398 /*Robust Management Frame (RMF) enabled/disabled*/
1399 wpt_uint8 ucRMFEnabled;
1400
1401 /* The unicast encryption type in the association */
1402 wpt_uint32 ucEncryptType;
1403
1404 /*HAL should update the existing STA entry, if this flag is set. UMAC
1405 will set this flag in case of RE-ASSOC, where we want to reuse the old
1406 STA ID.*/
1407 WDI_ConfigActionType wdiAction;
1408
1409 /*U-APSD Flags: 1b per AC. Encoded as follows:
1410 b7 b6 b5 b4 b3 b2 b1 b0 =
1411 X X X X BE BK VI VO
1412 */
1413 wpt_uint8 ucAPSD;
1414
1415 /*Max SP Length*/
1416 wpt_uint8 ucMaxSPLen;
1417
1418 /*11n Green Field preamble support*/
1419 wpt_uint8 ucGreenFieldCapable;
1420
1421 /*MIMO Power Save mode*/
1422 WDI_HTMIMOPowerSaveState wdiMIMOPS;
1423
1424 /*Delayed BA Support*/
1425 wpt_uint8 ucDelayedBASupport;
1426
1427 /*Max AMPDU duration in 32us*/
1428 wpt_uint8 us32MaxAmpduDuratio;
1429
1430 /*HT STA should set it to 1 if it is enabled in BSS
1431 HT STA should set it to 0 if AP does not support it. This indication is
1432 sent to HAL and HAL uses this flag to pickup up appropriate 40Mhz rates.
1433 */
1434 wpt_uint8 ucDsssCckMode40Mhz;
1435
1436 wpt_uint8 ucP2pCapableSta;
Jeff Johnsone7245742012-09-05 17:12:55 -07001437#ifdef WLAN_FEATURE_11AC
1438 wpt_uint8 ucVhtCapableSta;
1439 wpt_uint8 ucVhtTxChannelWidthSet;
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08001440 wpt_uint8 ucVhtTxBFEnabled;
Jeff Johnsone7245742012-09-05 17:12:55 -07001441#endif
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08001442
1443 wpt_uint8 ucHtLdpcEnabled;
1444 wpt_uint8 ucVhtLdpcEnabled;
Jeff Johnson295189b2012-06-20 16:38:30 -07001445}WDI_ConfigStaReqInfoType;
1446
1447
1448/*---------------------------------------------------------------------------
1449 WDI_RateSet
1450
1451 12 Bytes long because this structure can be used to represent rate
1452 and extended rate set IEs
1453 The parser assume this to be at least 12
1454---------------------------------------------------------------------------*/
1455#define WDI_RATESET_EID_MAX 12
1456
1457typedef struct
1458{
1459 wpt_uint8 ucNumRates;
1460 wpt_uint8 aRates[WDI_RATESET_EID_MAX];
1461} WDI_RateSet;
1462
1463/*---------------------------------------------------------------------------
1464 WDI_AciAifsnType
1465 access category record
1466---------------------------------------------------------------------------*/
1467typedef struct
1468{
1469 wpt_uint8 rsvd : 1;
1470 wpt_uint8 aci : 2;
1471 wpt_uint8 acm : 1;
1472 wpt_uint8 aifsn : 4;
1473} WDI_AciAifsnType;
1474
1475/*---------------------------------------------------------------------------
1476 WDI_CWType
1477 contention window size
1478---------------------------------------------------------------------------*/
1479typedef struct
1480{
1481 wpt_uint8 max : 4;
1482 wpt_uint8 min : 4;
1483} WDI_CWType;
1484
1485/*---------------------------------------------------------------------------
1486 WDI_EdcaParamRecord
1487---------------------------------------------------------------------------*/
1488typedef struct
1489{
1490 /*Access Category Record*/
1491 WDI_AciAifsnType wdiACI;
1492
1493 /*Contention WIndow Size*/
1494 WDI_CWType wdiCW;
1495
1496 /*TX Oportunity Limit*/
1497 wpt_uint16 usTXOPLimit;
1498} WDI_EdcaParamRecord;
1499
1500/*---------------------------------------------------------------------------
1501 WDI_EDCAParamsType
1502---------------------------------------------------------------------------*/
1503typedef struct
1504{
1505 /*BSS Index*/
1506 wpt_uint8 ucBSSIdx;
1507
1508 /*?*/
1509 wpt_boolean bHighPerformance;
1510
1511 /*Best Effort*/
1512 WDI_EdcaParamRecord wdiACBE;
1513
1514 /*Background*/
1515 WDI_EdcaParamRecord wdiACBK;
1516
1517 /*Video*/
1518 WDI_EdcaParamRecord wdiACVI;
1519
1520 /*Voice*/
1521 WDI_EdcaParamRecord acvo; // voice
1522} WDI_EDCAParamsType;
1523
1524/* operMode in ADD BSS message */
1525#define WDI_BSS_OPERATIONAL_MODE_AP 0
1526#define WDI_BSS_OPERATIONAL_MODE_STA 1
1527
1528/*---------------------------------------------------------------------------
1529 WDI_ConfigBSSRspParamsType
1530---------------------------------------------------------------------------*/
1531typedef struct
1532{
1533 /*Status of the response*/
1534 WDI_Status wdiStatus;
1535
1536 /*BSSID of the BSS*/
1537 wpt_macAddr macBSSID;
1538
1539 /*BSS Index*/
1540 wpt_uint8 ucBSSIdx;
1541
1542 /*Unicast DPU signature*/
1543 wpt_uint8 ucUcastSig;
1544
1545 /*Broadcast DPU Signature*/
1546 wpt_uint8 ucBcastSig;
1547
1548 /*MAC Address of STA*/
1549 wpt_macAddr macSTA;
1550
1551 /*BSS STA ID*/
1552 wpt_uint8 ucSTAIdx;
1553
1554#ifdef WLAN_FEATURE_VOWIFI
1555 /*HAL fills in the tx power used for mgmt frames in this field */
1556 wpt_int8 ucTxMgmtPower;
1557#endif
1558
1559}WDI_ConfigBSSRspParamsType;
1560
1561/*---------------------------------------------------------------------------
1562 WDI_DelBSSReqParamsType
1563---------------------------------------------------------------------------*/
1564typedef struct
1565{
1566 /*BSS Index of the BSS*/
1567 wpt_uint8 ucBssIdx;
1568
1569 /*Request status callback offered by UMAC - it is called if the current
1570 req has returned PENDING as status; it delivers the status of sending
1571 the message over the BUS */
1572 WDI_ReqStatusCb wdiReqStatusCB;
1573
1574 /*The user data passed in by UMAC, it will be sent back when the above
1575 function pointer will be called */
1576 void* pUserData;
1577}WDI_DelBSSReqParamsType;
1578
1579/*---------------------------------------------------------------------------
1580 WDI_DelBSSRspParamsType
1581---------------------------------------------------------------------------*/
1582typedef struct
1583{
1584 /*Status of the response*/
1585 WDI_Status wdiStatus;
1586
1587 /*BSSID of the BSS*/
1588 wpt_macAddr macBSSID;
1589
1590 wpt_uint8 ucBssIdx;
1591
1592}WDI_DelBSSRspParamsType;
1593
1594/*---------------------------------------------------------------------------
1595 WDI_ConfigSTARspParamsType
1596---------------------------------------------------------------------------*/
1597typedef struct
1598{
1599 /*Status of the response*/
1600 WDI_Status wdiStatus;
1601
1602 /*STA Idx allocated by HAL*/
1603 wpt_uint8 ucSTAIdx;
1604
1605 /*MAC Address of STA*/
1606 wpt_macAddr macSTA;
1607
1608 /* BSSID Index of BSS to which the station is associated */
1609 wpt_uint8 ucBssIdx;
1610
1611 /* DPU Index - PTK */
1612 wpt_uint8 ucDpuIndex;
1613
1614 /* Bcast DPU Index - GTK */
1615 wpt_uint8 ucBcastDpuIndex;
1616
1617 /* Management DPU Index - IGTK - Why is it called bcastMgmtDpuIdx? */
1618 wpt_uint8 ucBcastMgmtDpuIdx;
1619
1620 /*Unicast DPU signature*/
1621 wpt_uint8 ucUcastSig;
1622
1623 /*Broadcast DPU Signature*/
1624 wpt_uint8 ucBcastSig;
1625
1626 /* IGTK DPU signature*/
1627 wpt_uint8 ucMgmtSig;
1628
1629}WDI_ConfigSTARspParamsType;
1630
1631/*---------------------------------------------------------------------------
1632 WDI_PostAssocRspParamsType
1633---------------------------------------------------------------------------*/
1634typedef struct
1635{
1636 /*Status of the response*/
1637 WDI_Status wdiStatus;
1638
1639 /*Parameters related to the BSS*/
1640 WDI_ConfigBSSRspParamsType bssParams;
1641
1642 /*Parameters related to the self STA*/
1643 WDI_ConfigSTARspParamsType staParams;
1644
1645}WDI_PostAssocRspParamsType;
1646
1647/*---------------------------------------------------------------------------
1648 WDI_DelSTAReqParamsType
1649---------------------------------------------------------------------------*/
1650typedef struct
1651{
1652 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
1653 wpt_uint8 ucSTAIdx;
1654
1655 /*Request status callback offered by UMAC - it is called if the current
1656 req has returned PENDING as status; it delivers the status of sending
1657 the message over the BUS */
1658 WDI_ReqStatusCb wdiReqStatusCB;
1659
1660 /*The user data passed in by UMAC, it will be sent back when the above
1661 function pointer will be called */
1662 void* pUserData;
1663}WDI_DelSTAReqParamsType;
1664
1665/*---------------------------------------------------------------------------
1666 WDI_DelSTARspParamsType
1667---------------------------------------------------------------------------*/
1668typedef struct
1669{
1670 /*Status of the response*/
1671 WDI_Status wdiStatus;
1672
1673 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
1674 wpt_uint8 ucSTAIdx;
1675}WDI_DelSTARspParamsType;
1676
1677/*---------------------------------------------------------------------------
1678 WDI_EncryptType
1679---------------------------------------------------------------------------*/
1680typedef enum
1681{
1682 WDI_ENCR_NONE,
1683 WDI_ENCR_WEP40,
1684 WDI_ENCR_WEP104,
1685 WDI_ENCR_TKIP,
1686 WDI_ENCR_CCMP,
1687#if defined(FEATURE_WLAN_WAPI)
1688 WDI_ENCR_WPI,
1689#endif
1690 WDI_ENCR_AES_128_CMAC
1691} WDI_EncryptType;
1692
1693/*---------------------------------------------------------------------------
1694 WDI_KeyDirectionType
1695---------------------------------------------------------------------------*/
1696typedef enum
1697{
1698 WDI_TX_ONLY,
1699 WDI_RX_ONLY,
1700 WDI_TX_RX,
Jeff Johnson295189b2012-06-20 16:38:30 -07001701 WDI_TX_DEFAULT,
Jeff Johnson295189b2012-06-20 16:38:30 -07001702 WDI_DONOT_USE_KEY_DIRECTION
1703} WDI_KeyDirectionType;
1704
1705#define WDI_MAX_ENCR_KEYS 4
1706#define WDI_MAX_KEY_LENGTH 32
1707#if defined(FEATURE_WLAN_WAPI)
1708#define WDI_MAX_KEY_RSC_LEN 16
1709#define WDI_WAPI_KEY_RSC_LEN 16
1710#else
1711#define WDI_MAX_KEY_RSC_LEN 8
1712#endif
1713
1714typedef struct
1715{
1716 /* Key ID */
1717 wpt_uint8 keyId;
1718 /* 0 for multicast */
1719 wpt_uint8 unicast;
1720 /* Key Direction */
1721 WDI_KeyDirectionType keyDirection;
1722 /* Usage is unknown */
1723 wpt_uint8 keyRsc[WDI_MAX_KEY_RSC_LEN];
1724 /* =1 for authenticator, =0 for supplicant */
1725 wpt_uint8 paeRole;
1726 wpt_uint16 keyLength;
1727 wpt_uint8 key[WDI_MAX_KEY_LENGTH];
1728
1729}WDI_KeysType;
1730
1731/*---------------------------------------------------------------------------
1732 WDI_SetBSSKeyReqInfoType
1733---------------------------------------------------------------------------*/
1734typedef struct
1735{
1736 /*BSS Index of the BSS*/
1737 wpt_uint8 ucBssIdx;
1738
1739 /*Encryption Type used with peer*/
1740 WDI_EncryptType wdiEncType;
1741
1742 /*Number of keys*/
1743 wpt_uint8 ucNumKeys;
1744
1745 /*Array of keys.*/
1746 WDI_KeysType aKeys[WDI_MAX_ENCR_KEYS];
1747
1748 /*Control for Replay Count, 1= Single TID based replay count on Tx
1749 0 = Per TID based replay count on TX */
1750 wpt_uint8 ucSingleTidRc;
1751}WDI_SetBSSKeyReqInfoType;
1752
1753/*---------------------------------------------------------------------------
1754 WDI_SetBSSKeyReqParamsType
1755---------------------------------------------------------------------------*/
1756typedef struct
1757{
1758 /*Key Info */
1759 WDI_SetBSSKeyReqInfoType wdiBSSKeyInfo;
1760
1761 /*Request status callback offered by UMAC - it is called if the current
1762 req has returned PENDING as status; it delivers the status of sending
1763 the message over the BUS */
1764 WDI_ReqStatusCb wdiReqStatusCB;
1765
1766 /*The user data passed in by UMAC, it will be sent back when the above
1767 function pointer will be called */
1768 void* pUserData;
1769}WDI_SetBSSKeyReqParamsType;
1770
1771/*---------------------------------------------------------------------------
1772 WDI_WepType
1773---------------------------------------------------------------------------*/
1774typedef enum
1775{
1776 WDI_WEP_STATIC,
1777 WDI_WEP_DYNAMIC
1778
1779} WDI_WepType;
1780
1781/*---------------------------------------------------------------------------
1782 WDI_RemoveBSSKeyReqInfoType
1783---------------------------------------------------------------------------*/
1784typedef struct
1785{
1786 /*BSS Index of the BSS*/
1787 wpt_uint8 ucBssIdx;
1788
1789 /*Encryption Type used with peer*/
1790 WDI_EncryptType wdiEncType;
1791
1792 /*Key Id*/
1793 wpt_uint8 ucKeyId;
1794
1795 /*STATIC/DYNAMIC. Used in Nullifying in Key Descriptors for Static/Dynamic
1796 keys*/
1797 WDI_WepType wdiWEPType;
1798}WDI_RemoveBSSKeyReqInfoType;
1799
1800/*---------------------------------------------------------------------------
1801 WDI_RemoveBSSKeyReqParamsType
1802---------------------------------------------------------------------------*/
1803typedef struct
1804{
1805 /*Key Info */
1806 WDI_RemoveBSSKeyReqInfoType wdiKeyInfo;
1807
1808 /*Request status callback offered by UMAC - it is called if the current
1809 req has returned PENDING as status; it delivers the status of sending
1810 the message over the BUS */
1811 WDI_ReqStatusCb wdiReqStatusCB;
1812
1813 /*The user data passed in by UMAC, it will be sent back when the above
1814 function pointer will be called */
1815 void* pUserData;
1816}WDI_RemoveBSSKeyReqParamsType;
1817
1818/*---------------------------------------------------------------------------
1819 WDI_SetSTAKeyReqInfoType
1820---------------------------------------------------------------------------*/
1821typedef struct
1822{
1823 /*STA Index*/
1824 wpt_uint8 ucSTAIdx;
1825
1826 /*Encryption Type used with peer*/
1827 WDI_EncryptType wdiEncType;
1828
1829 /*STATIC/DYNAMIC*/
1830 WDI_WepType wdiWEPType;
1831
1832 /*Default WEP key, valid only for static WEP, must between 0 and 3.*/
1833 wpt_uint8 ucDefWEPIdx;
1834
1835 /*Number of keys*/
1836 wpt_uint8 ucNumKeys;
1837
1838 /*Array of keys.*/
1839 WDI_KeysType wdiKey[WDI_MAX_ENCR_KEYS];
1840
1841 /*Control for Replay Count, 1= Single TID based replay count on Tx
1842 0 = Per TID based replay count on TX */
1843 wpt_uint8 ucSingleTidRc;
1844}WDI_SetSTAKeyReqInfoType;
1845
1846/*---------------------------------------------------------------------------
1847 WDI_ConfigBSSReqInfoType
1848---------------------------------------------------------------------------*/
1849typedef struct
1850{
1851 /*Peer BSSID*/
1852 wpt_macAddr macBSSID;
1853
1854 /*Self MAC Address*/
1855 wpt_macAddr macSelfAddr;
1856
1857 /*BSS Type*/
1858 WDI_BssType wdiBSSType;
1859
1860 /*Operational Mode: AP =0, STA = 1*/
1861 wpt_uint8 ucOperMode;
1862
1863 /*Network Type*/
1864 WDI_NwType wdiNWType;
1865
1866 /*Used to classify PURE_11G/11G_MIXED to program MTU*/
1867 wpt_uint8 ucShortSlotTimeSupported;
1868
1869 /*Co-exist with 11a STA*/
1870 wpt_uint8 ucllaCoexist;
1871
1872 /*Co-exist with 11b STA*/
1873 wpt_uint8 ucllbCoexist;
1874
1875 /*Co-exist with 11g STA*/
1876 wpt_uint8 ucllgCoexist;
1877
1878 /*Coexistence with 11n STA*/
1879 wpt_uint8 ucHT20Coexist;
1880
1881 /*Non GF coexist flag*/
1882 wpt_uint8 ucllnNonGFCoexist;
1883
1884 /*TXOP protection support*/
1885 wpt_uint8 ucTXOPProtectionFullSupport;
1886
1887 /*RIFS mode*/
1888 wpt_uint8 ucRIFSMode;
1889
1890 /*Beacon Interval in TU*/
1891 wpt_uint16 usBeaconInterval;
1892
1893 /*DTIM period*/
1894 wpt_uint8 ucDTIMPeriod;
1895
1896 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
1897 wpt_uint8 ucTXChannelWidthSet;
1898
1899 /*Operating channel*/
1900 wpt_uint8 ucCurrentOperChannel;
1901
1902 /*Extension channel for channel bonding*/
1903 wpt_uint8 ucCurrentExtChannel;
1904
1905 /*Context of the station being added in HW.*/
1906 WDI_ConfigStaReqInfoType wdiSTAContext;
1907
1908 /*SSID of the BSS*/
1909 WDI_MacSSid wdiSSID;
1910
1911 /*HAL should update the existing BSS entry, if this flag is set. UMAC will
1912 set this flag in case of RE-ASSOC, where we want to reuse the old BSSID*/
1913 WDI_ConfigAction wdiAction;
1914
1915 /*Basic Rate Set*/
1916 WDI_RateSet wdiRateSet;
1917
1918 /*Enable/Disable HT capabilities of the BSS*/
1919 wpt_uint8 ucHTCapable;
1920
1921 /* Enable/Disable OBSS protection */
1922 wpt_uint8 ucObssProtEnabled;
1923
1924 /*RMF enabled/disabled*/
1925 wpt_uint8 ucRMFEnabled;
1926
1927 /*Determines the current HT Operating Mode operating mode of the
1928 802.11n STA*/
1929 WDI_HTOperatingMode wdiHTOperMod;
1930
1931 /*Dual CTS Protection: 0 - Unused, 1 - Used*/
1932 wpt_uint8 ucDualCTSProtection;
1933
1934 /* Probe Response Max retries */
1935 wpt_uint8 ucMaxProbeRespRetryLimit;
1936
1937 /* To Enable Hidden ssid */
1938 wpt_uint8 bHiddenSSIDEn;
1939
1940 /* To Enable Disable FW Proxy Probe Resp */
1941 wpt_uint8 bProxyProbeRespEn;
1942
1943 /* Boolean to indicate if EDCA params are valid. UMAC might not have valid
1944 EDCA params or might not desire to apply EDCA params during config BSS.
1945 0 implies Not Valid ; Non-Zero implies valid*/
1946 wpt_uint8 ucEDCAParamsValid;
1947
1948 /*EDCA Parameters for BK*/
1949 WDI_EdcaParamRecord wdiBKEDCAParams;
1950
1951 /*EDCA Parameters for BE*/
1952 WDI_EdcaParamRecord wdiBEEDCAParams;
1953
1954 /*EDCA Parameters for VI*/
1955 WDI_EdcaParamRecord wdiVIEDCAParams;
1956
1957 /*EDCA Parameters for VO*/
1958 WDI_EdcaParamRecord wdiVOEDCAParams;
1959
1960#ifdef WLAN_FEATURE_VOWIFI
1961 /*max power to be used after applying the power constraint, if any */
1962 wpt_int8 cMaxTxPower;
1963#endif
1964
1965 /* Persona for the BSS can be STA,AP,GO,CLIENT, same as Connection Mode */
1966 wpt_uint8 ucPersona;
1967
1968 /* Spectrum Mangement Indicator */
1969 wpt_uint8 bSpectrumMgtEn;
1970
1971#ifdef WLAN_FEATURE_VOWIFI_11R
1972 wpt_uint8 bExtSetStaKeyParamValid;
1973 WDI_SetSTAKeyReqInfoType wdiExtSetKeyParam;
1974#endif
1975
Jeff Johnsone7245742012-09-05 17:12:55 -07001976#ifdef WLAN_FEATURE_11AC
1977 wpt_uint8 ucVhtCapableSta;
1978 wpt_uint8 ucVhtTxChannelWidthSet;
1979#endif
1980
Jeff Johnson295189b2012-06-20 16:38:30 -07001981}WDI_ConfigBSSReqInfoType;
1982
1983/*---------------------------------------------------------------------------
1984 WDI_PostAssocReqParamsType
1985---------------------------------------------------------------------------*/
1986typedef struct
1987{
1988 /*Config STA arguments.*/
1989 WDI_ConfigStaReqInfoType wdiSTAParams;
1990
1991 /*Config BSS Arguments*/
1992 WDI_ConfigBSSReqInfoType wdiBSSParams;
1993
1994 /*Request status callback offered by UMAC - it is called if the current
1995 req has returned PENDING as status; it delivers the status of sending
1996 the message over the BUS */
1997 WDI_ReqStatusCb wdiReqStatusCB;
1998
1999 /*The user data passed in by UMAC, it will be sent back when the above
2000 function pointer will be called */
2001 void* pUserData;
2002}WDI_PostAssocReqParamsType;
2003
2004/*---------------------------------------------------------------------------
2005 WDI_ConfigBSSReqParamsType
2006---------------------------------------------------------------------------*/
2007typedef struct
2008{
2009 /*Info for the Join request that will be sent down to the device*/
2010 WDI_ConfigBSSReqInfoType wdiReqInfo;
2011
2012 /*Request status callback offered by UMAC - it is called if the current
2013 req has returned PENDING as status; it delivers the status of sending
2014 the message over the BUS */
2015 WDI_ReqStatusCb wdiReqStatusCB;
2016
2017 /*The user data passed in by UMAC, it will be sent back when the above
2018 function pointer will be called */
2019 void* pUserData;
2020}WDI_ConfigBSSReqParamsType;
2021
2022/*---------------------------------------------------------------------------
2023 WDI_SetSTAKeyReqParamsType
2024---------------------------------------------------------------------------*/
2025typedef struct
2026{
2027 /*Key Info*/
2028 WDI_SetSTAKeyReqInfoType wdiKeyInfo;
2029
2030 /*Request status callback offered by UMAC - it is called if the current
2031 req has returned PENDING as status; it delivers the status of sending
2032 the message over the BUS */
2033 WDI_ReqStatusCb wdiReqStatusCB;
2034
2035 /*The user data passed in by UMAC, it will be sent back when the above
2036 function pointer will be called */
2037 void* pUserData;
2038}WDI_SetSTAKeyReqParamsType;
2039
2040/*---------------------------------------------------------------------------
2041 WDI_RemoveSTAKeyReqInfoType
2042---------------------------------------------------------------------------*/
2043typedef struct
2044{
2045 /*STA Index*/
2046 wpt_uint8 ucSTAIdx;
2047
2048 /*Encryption Type used with peer*/
2049 WDI_EncryptType wdiEncType;
2050
2051 /*Key Id*/
2052 wpt_uint8 ucKeyId;
2053
2054 /*Whether to invalidate the Broadcast key or Unicast key. In case of WEP,
2055 the same key is used for both broadcast and unicast.*/
2056 wpt_uint8 ucUnicast;
2057}WDI_RemoveSTAKeyReqInfoType;
2058
2059/*---------------------------------------------------------------------------
2060 WDI_RemoveSTAKeyReqParamsType
2061---------------------------------------------------------------------------*/
2062typedef struct
2063{
2064 /*Key Info */
2065 WDI_RemoveSTAKeyReqInfoType wdiKeyInfo;
2066
2067 /*Request status callback offered by UMAC - it is called if the current
2068 req has returned PENDING as status; it delivers the status of sending
2069 the message over the BUS */
2070 WDI_ReqStatusCb wdiReqStatusCB;
2071
2072 /*The user data passed in by UMAC, it will be sent back when the above
2073 function pointer will be called */
2074 void* pUserData;
2075}WDI_RemoveSTAKeyReqParamsType;
2076
2077/*---------------------------------------------------------------------------
2078 QOS Parameters
2079---------------------------------------------------------------------------*/
2080
2081/*---------------------------------------------------------------------------
2082 WDI_TSInfoTfc
2083---------------------------------------------------------------------------*/
2084typedef struct
2085{
2086 wpt_uint16 ackPolicy:2;
2087 wpt_uint16 userPrio:3;
2088 wpt_uint16 psb:1;
2089 wpt_uint16 aggregation : 1;
2090 wpt_uint16 accessPolicy : 2;
2091 wpt_uint16 direction : 2;
2092 wpt_uint16 tsid : 4;
2093 wpt_uint16 trafficType : 1;
2094} WDI_TSInfoTfc;
2095
2096/*---------------------------------------------------------------------------
2097 WDI_TSInfoSch
2098---------------------------------------------------------------------------*/
2099typedef struct
2100{
2101 wpt_uint8 rsvd : 7;
2102 wpt_uint8 schedule : 1;
2103} WDI_TSInfoSch;
2104
2105/*---------------------------------------------------------------------------
2106 WDI_TSInfoType
2107---------------------------------------------------------------------------*/
2108typedef struct
2109{
2110 WDI_TSInfoTfc wdiTraffic;
2111 WDI_TSInfoSch wdiSchedule;
2112} WDI_TSInfoType;
2113
2114/*---------------------------------------------------------------------------
2115 WDI_TspecIEType
2116---------------------------------------------------------------------------*/
2117typedef struct
2118{
2119 wpt_uint8 ucType;
2120 wpt_uint8 ucLength;
2121 WDI_TSInfoType wdiTSinfo;
2122 wpt_uint16 usNomMsduSz;
2123 wpt_uint16 usMaxMsduSz;
2124 wpt_uint32 uMinSvcInterval;
2125 wpt_uint32 uMaxSvcInterval;
2126 wpt_uint32 uInactInterval;
2127 wpt_uint32 uSuspendInterval;
2128 wpt_uint32 uSvcStartTime;
2129 wpt_uint32 uMinDataRate;
2130 wpt_uint32 uMeanDataRate;
2131 wpt_uint32 uPeakDataRate;
2132 wpt_uint32 uMaxBurstSz;
2133 wpt_uint32 uDelayBound;
2134 wpt_uint32 uMinPhyRate;
2135 wpt_uint16 usSurplusBw;
2136 wpt_uint16 usMediumTime;
2137}WDI_TspecIEType;
2138
2139/*---------------------------------------------------------------------------
2140 WDI_AddTSReqInfoType
2141---------------------------------------------------------------------------*/
2142typedef struct
2143{
2144 /*STA Index*/
2145 wpt_uint8 ucSTAIdx;
2146
2147 /*Identifier for TSpec*/
2148 wpt_uint16 ucTspecIdx;
2149
2150 /*Tspec IE negotiated OTA*/
2151 WDI_TspecIEType wdiTspecIE;
2152
2153 /*UAPSD delivery and trigger enabled flags */
2154 wpt_uint8 ucUapsdFlags;
2155
2156 /*SI for each AC*/
2157 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
2158
2159 /*Suspend Interval for each AC*/
2160 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
2161
2162 /*DI for each AC*/
2163 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
2164
2165}WDI_AddTSReqInfoType;
2166
2167
2168/*---------------------------------------------------------------------------
2169 WDI_AddTSReqParamsType
2170---------------------------------------------------------------------------*/
2171typedef struct
2172{
2173 /*TSpec Info */
2174 WDI_AddTSReqInfoType wdiTsInfo;
2175
2176 /*Request status callback offered by UMAC - it is called if the current
2177 req has returned PENDING as status; it delivers the status of sending
2178 the message over the BUS */
2179 WDI_ReqStatusCb wdiReqStatusCB;
2180
2181 /*The user data passed in by UMAC, it will be sent back when the above
2182 function pointer will be called */
2183 void* pUserData;
2184}WDI_AddTSReqParamsType;
2185
2186/*---------------------------------------------------------------------------
2187 WDI_DelTSReqInfoType
2188---------------------------------------------------------------------------*/
2189typedef struct
2190{
2191 /*STA Index*/
2192 wpt_uint8 ucSTAIdx;
2193
2194 /*Identifier for TSpec*/
2195 wpt_uint16 ucTspecIdx;
2196
2197 /*BSSID of the BSS*/
2198 wpt_macAddr macBSSID;
2199}WDI_DelTSReqInfoType;
2200
2201/*---------------------------------------------------------------------------
2202 WDI_DelTSReqParamsType
2203---------------------------------------------------------------------------*/
2204typedef struct
2205{
2206 /*Del TSpec Info*/
2207 WDI_DelTSReqInfoType wdiDelTSInfo;
2208
2209 /*Request status callback offered by UMAC - it is called if the current
2210 req has returned PENDING as status; it delivers the status of sending
2211 the message over the BUS */
2212 WDI_ReqStatusCb wdiReqStatusCB;
2213
2214 /*The user data passed in by UMAC, it will be sent back when the above
2215 function pointer will be called */
2216 void* pUserData;
2217}WDI_DelTSReqParamsType;
2218
2219/*---------------------------------------------------------------------------
2220 WDI_UpdateEDCAInfoType
2221---------------------------------------------------------------------------*/
2222typedef struct
2223{
krunal soni0b366c02013-07-17 19:55:57 -07002224 /*BSS Index of the BSS*/
2225 wpt_uint16 ucBssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07002226
Jeff Johnson295189b2012-06-20 16:38:30 -07002227 /*EDCA params for BE*/
2228 WDI_EdcaParamRecord wdiEdcaBEInfo;
2229
2230 /*EDCA params for BK*/
2231 WDI_EdcaParamRecord wdiEdcaBKInfo;
2232
2233 /*EDCA params for VI*/
2234 WDI_EdcaParamRecord wdiEdcaVIInfo;
2235
2236 /*EDCA params for VO*/
2237 WDI_EdcaParamRecord wdiEdcaVOInfo;
2238
2239}WDI_UpdateEDCAInfoType;
2240
2241/*---------------------------------------------------------------------------
2242 WDI_UpdateEDCAParamsType
2243---------------------------------------------------------------------------*/
2244typedef struct
2245{
2246 /*EDCA Info */
2247 WDI_UpdateEDCAInfoType wdiEDCAInfo;
2248
2249 /*Request status callback offered by UMAC - it is called if the current
2250 req has returned PENDING as status; it delivers the status of sending
2251 the message over the BUS */
2252 WDI_ReqStatusCb wdiReqStatusCB;
2253
2254 /*The user data passed in by UMAC, it will be sent back when the above
2255 function pointer will be called */
2256 void* pUserData;
2257}WDI_UpdateEDCAParamsType;
2258
2259/*---------------------------------------------------------------------------
2260 WDI_AddBASessionReqinfoType
2261---------------------------------------------------------------------------*/
2262typedef struct
2263{
2264 /*Indicates the station for which BA is added..*/
2265 wpt_uint8 ucSTAIdx;
2266
2267 /*The peer mac address*/
2268 wpt_macAddr macPeerAddr;
2269
2270 /*TID for which BA was negotiated*/
2271 wpt_uint8 ucBaTID;
2272
2273 /*Delayed or imediate */
2274 wpt_uint8 ucBaPolicy;
2275
2276 /*The number of buffers for this TID (baTID)*/
2277 wpt_uint16 usBaBufferSize;
2278
2279 /*BA timeout in TU's*/
2280 wpt_uint16 usBaTimeout;
2281
2282 /*b0..b3 - Fragment Number - Always set to 0
2283 b4..b15 - Starting Sequence Number of first MSDU for which this BA is setup*/
2284 wpt_uint16 usBaSSN;
2285
2286 /*Originator/Recipient*/
2287 wpt_uint8 ucBaDirection;
2288
2289}WDI_AddBASessionReqinfoType;
2290
2291
2292/*---------------------------------------------------------------------------
2293 WDI_AddBASessionReqParamsType
2294---------------------------------------------------------------------------*/
2295typedef struct
2296{
2297 /*BA Session Info Type*/
2298 WDI_AddBASessionReqinfoType wdiBASessionInfoType;
2299
2300 /*Request status callback offered by UMAC - it is called if the current
2301 req has returned PENDING as status; it delivers the status of sending
2302 the message over the BUS */
2303 WDI_ReqStatusCb wdiReqStatusCB;
2304
2305 /*The user data passed in by UMAC, it will be sent back when the above
2306 function pointer will be called */
2307 void* pUserData;
2308}WDI_AddBASessionReqParamsType;
2309
2310/*---------------------------------------------------------------------------
2311 WDI_AddBASessionRspParamsType
2312---------------------------------------------------------------------------*/
2313typedef struct
2314{
2315 /*Status of the response*/
2316 WDI_Status wdiStatus;
2317
2318 /* Dialog token */
2319 wpt_uint8 ucBaDialogToken;
2320
2321 /* TID for which the BA session has been setup */
2322 wpt_uint8 ucBaTID;
2323
2324 /* BA Buffer Size allocated for the current BA session */
2325 wpt_uint8 ucBaBufferSize;
2326
2327 /* BA session ID */
2328 wpt_uint16 usBaSessionID;
2329
2330 /* Reordering Window buffer */
2331 wpt_uint8 ucWinSize;
2332
2333 /*Station Index to id the sta */
2334 wpt_uint8 ucSTAIdx;
2335
2336 /* Starting Sequence Number */
2337 wpt_uint16 usBaSSN;
2338
2339}WDI_AddBASessionRspParamsType;
2340
2341/*---------------------------------------------------------------------------
2342 WDI_AddBAReqinfoType
2343---------------------------------------------------------------------------*/
2344typedef struct
2345{
2346 /*Indicates the station for which BA is added..*/
2347 wpt_uint8 ucSTAIdx;
2348
2349 /* Session Id */
2350 wpt_uint8 ucBaSessionID;
2351
2352 /* Reorder Window Size */
2353 wpt_uint8 ucWinSize;
2354
2355#ifdef FEATURE_ON_CHIP_REORDERING
2356 wpt_boolean bIsReorderingDoneOnChip;
2357#endif
2358
2359}WDI_AddBAReqinfoType;
2360
2361
2362/*---------------------------------------------------------------------------
2363 WDI_AddBAReqParamsType
2364---------------------------------------------------------------------------*/
2365typedef struct
2366{
2367 /*BA Info Type*/
2368 WDI_AddBAReqinfoType wdiBAInfoType;
2369
2370 /*Request status callback offered by UMAC - it is called if the current
2371 req has returned PENDING as status; it delivers the status of sending
2372 the message over the BUS */
2373 WDI_ReqStatusCb wdiReqStatusCB;
2374
2375 /*The user data passed in by UMAC, it will be sent back when the above
2376 function pointer will be called */
2377 void* pUserData;
2378}WDI_AddBAReqParamsType;
2379
2380
2381/*---------------------------------------------------------------------------
2382 WDI_AddBARspinfoType
2383---------------------------------------------------------------------------*/
2384typedef struct
2385{
2386 /*Status of the response*/
2387 WDI_Status wdiStatus;
2388
2389 /* Dialog token */
2390 wpt_uint8 ucBaDialogToken;
2391
2392}WDI_AddBARspinfoType;
2393
2394/*---------------------------------------------------------------------------
2395 WDI_TriggerBAReqCandidateType
2396---------------------------------------------------------------------------*/
2397typedef struct
2398{
2399 /* STA index */
2400 wpt_uint8 ucSTAIdx;
2401
2402 /* TID bit map for the STA's*/
2403 wpt_uint8 ucTidBitmap;
2404
2405}WDI_TriggerBAReqCandidateType;
2406
2407
2408/*---------------------------------------------------------------------------
2409 WDI_TriggerBAReqinfoType
2410---------------------------------------------------------------------------*/
2411typedef struct
2412{
2413 /*Indicates the station for which BA is added..*/
2414 wpt_uint8 ucSTAIdx;
2415
2416 /* Session Id */
2417 wpt_uint8 ucBASessionID;
2418
2419 /* Trigger BA Request candidate count */
2420 wpt_uint16 usBACandidateCnt;
2421
2422 /* WDI_TriggerBAReqCandidateType followed by this*/
2423
2424}WDI_TriggerBAReqinfoType;
2425
2426
2427/*---------------------------------------------------------------------------
2428 WDI_TriggerBAReqParamsType
2429---------------------------------------------------------------------------*/
2430typedef struct
2431{
2432 /*BA Trigger Info Type*/
2433 WDI_TriggerBAReqinfoType wdiTriggerBAInfoType;
2434
2435 /*Request status callback offered by UMAC - it is called if the current
2436 req has returned PENDING as status; it delivers the status of sending
2437 the message over the BUS */
2438 WDI_ReqStatusCb wdiReqStatusCB;
2439
2440 /*The user data passed in by UMAC, it will be sent back when the above
2441 function pointer will be called */
2442 void* pUserData;
2443}WDI_TriggerBAReqParamsType;
2444
2445/*---------------------------------------------------------------------------
2446 WDI_AddBAInfoType
2447---------------------------------------------------------------------------*/
2448typedef struct
2449{
2450 wpt_uint16 fBaEnable : 1;
2451 wpt_uint16 startingSeqNum: 12;
2452 wpt_uint16 reserved : 3;
2453}WDI_AddBAInfoType;
2454
2455/*---------------------------------------------------------------------------
2456 WDI_TriggerBARspCandidateType
2457---------------------------------------------------------------------------*/
2458#define STA_MAX_TC 8
2459
2460typedef struct
2461{
2462 /* STA index */
2463 wpt_macAddr macSTA;
2464
2465 /* BA Info */
2466 WDI_AddBAInfoType wdiBAInfo[STA_MAX_TC];
2467}WDI_TriggerBARspCandidateType;
2468
2469/*---------------------------------------------------------------------------
2470 WDI_TriggerBARspParamsType
2471---------------------------------------------------------------------------*/
2472typedef struct
2473{
2474 /*Status of the response*/
2475 WDI_Status wdiStatus;
2476
2477 /*BSSID of the BSS*/
2478 wpt_macAddr macBSSID;
2479
2480 /* Trigger BA response candidate count */
2481 wpt_uint16 usBaCandidateCnt;
2482
2483 /* WDI_TriggerBARspCandidateType followed by this*/
2484
2485}WDI_TriggerBARspParamsType;
2486
2487/*---------------------------------------------------------------------------
2488 WDI_DelBAReqinfoType
2489---------------------------------------------------------------------------*/
2490typedef struct
2491{
2492 /*Indicates the station for which BA is added..*/
2493 wpt_uint8 ucSTAIdx;
2494
2495 /*TID for which BA was negotiated*/
2496 wpt_uint8 ucBaTID;
2497
2498 /*Originator/Recipient*/
2499 wpt_uint8 ucBaDirection;
2500
2501}WDI_DelBAReqinfoType;
2502
2503/*---------------------------------------------------------------------------
2504 WDI_DelBAReqParamsType
2505---------------------------------------------------------------------------*/
2506typedef struct
2507{
2508 /*BA Info */
2509 WDI_DelBAReqinfoType wdiBAInfo;
2510
2511 /*Request status callback offered by UMAC - it is called if the current
2512 req has returned PENDING as status; it delivers the status of sending
2513 the message over the BUS */
2514 WDI_ReqStatusCb wdiReqStatusCB;
2515
2516 /*The user data passed in by UMAC, it will be sent back when the above
2517 function pointer will be called */
2518 void* pUserData;
2519}WDI_DelBAReqParamsType;
2520
2521
2522/*---------------------------------------------------------------------------
2523 WDI_SwitchCHRspParamsType
2524---------------------------------------------------------------------------*/
2525typedef struct
2526{
2527 /*Status of the response*/
2528 WDI_Status wdiStatus;
2529
2530 /*Indicates the channel that WLAN is on*/
2531 wpt_uint8 ucChannel;
2532
2533#ifdef WLAN_FEATURE_VOWIFI
2534 /*HAL fills in the tx power used for mgmt frames in this field.*/
2535 wpt_int8 ucTxMgmtPower;
2536#endif
2537
2538}WDI_SwitchCHRspParamsType;
2539
2540/*---------------------------------------------------------------------------
2541 WDI_ConfigSTAReqParamsType
2542---------------------------------------------------------------------------*/
2543typedef struct
2544{
2545 /*Info for the Join request that will be sent down to the device*/
2546 WDI_ConfigStaReqInfoType wdiReqInfo;
2547
2548 /*Request status callback offered by UMAC - it is called if the current
2549 req has returned PENDING as status; it delivers the status of sending
2550 the message over the BUS */
2551 WDI_ReqStatusCb wdiReqStatusCB;
2552
2553 /*The user data passed in by UMAC, it will be sent back when the above
2554 function pointer will be called */
2555 void* pUserData;
2556}WDI_ConfigSTAReqParamsType;
2557
2558
2559/*---------------------------------------------------------------------------
2560 WDI_UpdateBeaconParamsInfoType
2561---------------------------------------------------------------------------*/
2562
2563typedef struct
2564{
2565 /*BSS Index of the BSS*/
2566 wpt_uint8 ucBssIdx;
2567
2568 /*shortPreamble mode. HAL should update all the STA rates when it
2569 receives this message*/
2570 wpt_uint8 ucfShortPreamble;
2571 /* short Slot time.*/
2572 wpt_uint8 ucfShortSlotTime;
2573 /* Beacon Interval */
2574 wpt_uint16 usBeaconInterval;
2575 /*Protection related */
2576 wpt_uint8 ucllaCoexist;
2577 wpt_uint8 ucllbCoexist;
2578 wpt_uint8 ucllgCoexist;
2579 wpt_uint8 ucHt20MhzCoexist;
2580 wpt_uint8 ucllnNonGFCoexist;
2581 wpt_uint8 ucfLsigTXOPProtectionFullSupport;
2582 wpt_uint8 ucfRIFSMode;
2583
2584 wpt_uint16 usChangeBitmap;
2585}WDI_UpdateBeaconParamsInfoType;
2586
Mohit Khanna4a70d262012-09-11 16:30:12 -07002587#ifdef WLAN_FEATURE_11AC
2588typedef struct
2589{
2590 wpt_uint16 opMode;
2591 wpt_uint16 staId;
2592}WDI_UpdateVHTOpMode;
2593#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07002594
2595/*---------------------------------------------------------------------------
2596 WDI_UpdateBeaconParamsType
2597---------------------------------------------------------------------------*/
2598typedef struct
2599{
2600 /*Update Beacon Params Info*/
2601 WDI_UpdateBeaconParamsInfoType wdiUpdateBeaconParamsInfo;
2602
2603 /*Request status callback offered by UMAC - it is called if the current
2604 req has returned PENDING as status; it delivers the status of sending
2605 the message over the BUS */
2606 WDI_ReqStatusCb wdiReqStatusCB;
2607
2608 /*The user data passed in by UMAC, it will be sent back when the above
2609 function pointer will be called */
2610 void* pUserData;
2611}WDI_UpdateBeaconParamsType;
2612
2613/*---------------------------------------------------------------------------
2614 WDI_SendBeaconParamsInfoType
2615---------------------------------------------------------------------------*/
2616
2617typedef struct {
2618
2619 /*BSSID of the BSS*/
2620 wpt_macAddr macBSSID;
2621
2622 /* Beacon data */
2623 wpt_uint8 beacon[WDI_BEACON_TEMPLATE_SIZE];
2624
2625 /* length of the template */
2626 wpt_uint32 beaconLength;
2627
Jeff Johnson295189b2012-06-20 16:38:30 -07002628 /* TIM IE offset from the beginning of the template.*/
2629 wpt_uint32 timIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07002630
Jeff Johnson295189b2012-06-20 16:38:30 -07002631 /* P2P IE offset from the beginning of the template */
2632 wpt_uint16 usP2PIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07002633} WDI_SendBeaconParamsInfoType;
2634
2635/*---------------------------------------------------------------------------
2636 WDI_SendBeaconParamsType
2637---------------------------------------------------------------------------*/
2638typedef struct
2639{
2640 /*Send Beacon Params Info*/
2641 WDI_SendBeaconParamsInfoType wdiSendBeaconParamsInfo;
2642
2643 /*Request status callback offered by UMAC - it is called if the current
2644 req has returned PENDING as status; it delivers the status of sending
2645 the message over the BUS */
2646 WDI_ReqStatusCb wdiReqStatusCB;
2647
2648 /*The user data passed in by UMAC, it will be sent back when the above
2649 function pointer will be called */
2650 void* pUserData;
2651}WDI_SendBeaconParamsType;
2652
2653/*---------------------------------------------------------------------------
2654 WDI_LinkStateType
2655---------------------------------------------------------------------------*/
2656typedef enum
2657{
2658 WDI_LINK_IDLE_STATE = 0,
2659 WDI_LINK_PREASSOC_STATE = 1,
2660 WDI_LINK_POSTASSOC_STATE = 2,
2661 WDI_LINK_AP_STATE = 3,
2662 WDI_LINK_IBSS_STATE = 4,
2663
2664 // BT-AMP Case
2665 WDI_LINK_BTAMP_PREASSOC_STATE = 5,
2666 WDI_LINK_BTAMP_POSTASSOC_STATE = 6,
2667 WDI_LINK_BTAMP_AP_STATE = 7,
2668 WDI_LINK_BTAMP_STA_STATE = 8,
2669
2670 // Reserved for HAL internal use
2671 WDI_LINK_LEARN_STATE = 9,
2672 WDI_LINK_SCAN_STATE = 10,
2673 WDI_LINK_FINISH_SCAN_STATE = 11,
2674 WDI_LINK_INIT_CAL_STATE = 12,
2675 WDI_LINK_FINISH_CAL_STATE = 13,
Jeff Johnson295189b2012-06-20 16:38:30 -07002676 WDI_LINK_LISTEN_STATE = 14,
Gopichand Nakkala924e4552013-05-08 19:18:14 +05302677 WDI_LINK_SEND_ACTION_STATE = 15,
Jeff Johnson295189b2012-06-20 16:38:30 -07002678 WDI_LINK_MAX = 0x7FFFFFFF
2679} WDI_LinkStateType;
2680
2681/*---------------------------------------------------------------------------
2682 WDI_SetLinkReqInfoType
2683---------------------------------------------------------------------------*/
2684typedef struct
2685{
2686 /*BSSID of the BSS*/
2687 wpt_macAddr macBSSID;
2688
2689 /*Link state*/
2690 WDI_LinkStateType wdiLinkState;
2691
2692 /*BSSID of the BSS*/
2693 wpt_macAddr macSelfStaMacAddr;
2694}WDI_SetLinkReqInfoType;
2695
2696/*---------------------------------------------------------------------------
2697 WDI_SetLinkReqParamsType
2698---------------------------------------------------------------------------*/
2699typedef struct
2700{
2701 /*Link Info*/
2702 WDI_SetLinkReqInfoType wdiLinkInfo;
2703
2704 /*Request status callback offered by UMAC - it is called if the current
2705 req has returned PENDING as status; it delivers the status of sending
2706 the message over the BUS */
2707 WDI_ReqStatusCb wdiReqStatusCB;
2708
2709 /*The user data passed in by UMAC, it will be sent back when the above
2710 function pointer will be called */
2711 void* pUserData;
2712}WDI_SetLinkReqParamsType;
2713
2714/*---------------------------------------------------------------------------
2715 WDI_GetStatsParamsInfoType
2716---------------------------------------------------------------------------*/
2717typedef struct
2718{
2719 /*Indicates the station for which Get Stats are requested..*/
2720 wpt_uint8 ucSTAIdx;
2721
2722 /* categories of stats requested */
2723 wpt_uint32 uStatsMask;
2724}WDI_GetStatsParamsInfoType;
2725
2726/*---------------------------------------------------------------------------
2727 WDI_GetStatsReqParamsType
2728---------------------------------------------------------------------------*/
2729typedef struct
2730{
2731 /*Get Stats Params Info*/
2732 WDI_GetStatsParamsInfoType wdiGetStatsParamsInfo;
2733
2734 /*Request status callback offered by UMAC - it is called if the current
2735 req has returned PENDING as status; it delivers the status of sending
2736 the message over the BUS */
2737 WDI_ReqStatusCb wdiReqStatusCB;
2738
2739 /*The user data passed in by UMAC, it will be sent back when the above
2740 function pointer will be called */
2741 void* pUserData;
2742}WDI_GetStatsReqParamsType;
2743
2744/*---------------------------------------------------------------------------
2745 WDI_GetStatsRspParamsType
2746---------------------------------------------------------------------------*/
2747typedef struct
2748{
2749 /*message type is same as the request type*/
2750 wpt_uint16 usMsgType;
2751
2752 /* length of the entire request, includes the pStatsBuf length too*/
2753 wpt_uint16 usMsgLen;
2754
2755 /*Result of the operation*/
2756 WDI_Status wdiStatus;
2757
2758 /*Indicates the station for which Get Stats are requested..*/
2759 wpt_uint8 ucSTAIdx;
2760
2761 /* categories of stats requested */
2762 wpt_uint32 uStatsMask;
2763
2764 /* The Stats buffer starts here and can be an aggregate of more than one statistics
2765 * structure depending on statsMask.*/
2766}WDI_GetStatsRspParamsType;
2767
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08002768#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_CCX || defined(FEATURE_WLAN_LFR)
2769/*---------------------------------------------------------------------------
2770 WDI_GetRoamRssiParamsInfoType
2771---------------------------------------------------------------------------*/
2772typedef struct
2773{
2774 /*Indicates the station for which Get Stats are requested..*/
2775 wpt_uint8 ucSTAIdx;
2776
2777 /* categories of stats requested */
2778 wpt_uint32 uStatsMask;
2779}WDI_GetRoamRssiParamsInfoType;
2780
2781/*---------------------------------------------------------------------------
2782 WDI_GetRoamRssiReqParamsType
2783---------------------------------------------------------------------------*/
2784typedef struct
2785{
2786 /*Get Roam Rssi Params Info*/
2787 WDI_GetRoamRssiParamsInfoType wdiGetRoamRssiParamsInfo;
2788
2789 /*Request status callback offered by UMAC - it is called if the current
2790 req has returned PENDING as status; it delivers the status of sending
2791 the message over the BUS */
2792 WDI_ReqStatusCb wdiReqStatusCB;
2793
2794 /*The user data passed in by UMAC, it will be sent back when the above
2795 function pointer will be called */
2796 void* pUserData;
2797}WDI_GetRoamRssiReqParamsType;
2798
2799/*---------------------------------------------------------------------------
2800 WDI_GetRoamRssiRspParamsType
2801---------------------------------------------------------------------------*/
2802typedef struct
2803{
2804 /*Result of the operation*/
2805 WDI_Status wdiStatus;
2806
2807 /*Indicates the station for which Get Stats are requested..*/
2808 wpt_uint8 ucSTAIdx;
2809
2810 /* roam rssi requested */
2811 wpt_int8 rssi;
2812
2813 /* The Stats buffer starts here and can be an aggregate of more than one statistics
2814 * structure depending on statsMask.*/
2815}WDI_GetRoamRssiRspParamsType;
2816#endif
2817
Jeff Johnson295189b2012-06-20 16:38:30 -07002818#ifdef FEATURE_WLAN_CCX
2819/*---------------------------------------------------------------------------
2820 WDI_TSMStatsParamsInfoType
2821---------------------------------------------------------------------------*/
2822typedef struct
2823{
2824 /*Indicates the station for which Get Stats are requested..*/
2825 wpt_uint8 ucTid;
2826
2827 wpt_macAddr bssid;
2828}WDI_TSMStatsParamsInfoType;
2829
2830/*---------------------------------------------------------------------------
2831 WDI_TSMStatsReqParamsType
2832---------------------------------------------------------------------------*/
2833typedef struct
2834{
2835 /*Get TSM Stats Params Info*/
2836 WDI_TSMStatsParamsInfoType wdiTsmStatsParamsInfo;
2837
2838 WDI_ReqStatusCb wdiReqStatusCB;
2839
2840 /*The user data passed in by UMAC, it will be sent back when the above
2841 function pointer will be called */
2842 void* pUserData;
2843
2844}WDI_TSMStatsReqParamsType;
2845
2846
2847/*---------------------------------------------------------------------------
2848 WDI_TSMStatsRspParamsType
2849---------------------------------------------------------------------------*/
2850typedef struct
2851{
2852 /*Indicates the status of the operation */
2853 WDI_Status wdiStatus;
2854
2855 wpt_uint16 UplinkPktQueueDly;
2856 wpt_uint16 UplinkPktQueueDlyHist[4];
2857 wpt_uint32 UplinkPktTxDly;
2858 wpt_uint16 UplinkPktLoss;
2859 wpt_uint16 UplinkPktCount;
2860 wpt_uint8 RoamingCount;
2861 wpt_uint16 RoamingDly;
2862}WDI_TSMStatsRspParamsType;
2863
2864
2865#endif
2866/*---------------------------------------------------------------------------
2867 WDI_UpdateCfgReqParamsType
2868---------------------------------------------------------------------------*/
2869typedef struct
2870{
2871 /*This is a TLV formatted buffer containing all config values that can
2872 be set through the DAL Interface
2873
2874 The TLV is expected to be formatted like this:
2875
2876 0 7 15 31 ....
2877 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
2878
2879 Or from a C construct point of VU it would look like this:
2880
2881 typedef struct WPT_PACK_POST
2882 {
2883 #ifdef WPT_BIG_ENDIAN
2884 wpt_uint32 ucCfgId:8;
2885 wpt_uint32 ucCfgLen:8;
2886 wpt_uint32 usReserved:16;
2887 #else
2888 wpt_uint32 usReserved:16;
2889 wpt_uint32 ucCfgLen:8;
2890 wpt_uint32 ucCfgId:8;
2891 #endif
2892
2893 wpt_uint8 ucCfgBody[ucCfgLen];
2894 }WDI_ConfigType;
2895
2896 Multiple such tuplets are to be placed in the config buffer. One for
2897 each required configuration item:
2898
2899 | TLV 1 | TLV2 | ....
2900
2901 The buffer is expected to be a flat area of memory that can be manipulated
2902 with standard memory routines.
2903
2904 For more info please check paragraph 2.3.1 Config Structure from the
2905 HAL LLD.
2906
2907 For a list of accepted configuration list and IDs please look up
2908 wlan_qct_dal_cfg.h
2909 */
2910 void* pConfigBuffer;
2911
2912 /*Length of the config buffer above*/
2913 wpt_uint32 uConfigBufferLen;
2914
2915 /*Request status callback offered by UMAC - it is called if the current
2916 req has returned PENDING as status; it delivers the status of sending
2917 the message over the BUS */
2918 WDI_ReqStatusCb wdiReqStatusCB;
2919
2920 /*The user data passed in by UMAC, it will be sent back when the above
2921 function pointer will be called */
2922 void* pUserData;
2923}WDI_UpdateCfgReqParamsType;
2924
2925/*---------------------------------------------------------------------------
2926 WDI_UpdateProbeRspTemplateInfoType
2927---------------------------------------------------------------------------*/
2928//Default Beacon template size
2929#define WDI_PROBE_RSP_TEMPLATE_SIZE 0x180
2930
2931#define WDI_PROBE_REQ_BITMAP_IE_LEN 8
2932
2933typedef struct
2934{
2935 /*BSSID for which the Probe Template is to be used*/
2936 wpt_macAddr macBSSID;
2937
2938 /*Probe response template*/
2939 wpt_uint8 *pProbeRespTemplate[WDI_PROBE_RSP_TEMPLATE_SIZE];
2940
2941 /*Template Len*/
2942 wpt_uint32 uProbeRespTemplateLen;
2943
2944 /*Bitmap for the IEs that are to be handled at SLM level*/
2945 wpt_uint32 uaProxyProbeReqValidIEBmap[WDI_PROBE_REQ_BITMAP_IE_LEN];
2946
2947}WDI_UpdateProbeRspTemplateInfoType;
2948
2949/*---------------------------------------------------------------------------
2950 WDI_UpdateProbeRspParamsType
2951---------------------------------------------------------------------------*/
2952typedef struct
2953{
2954 /*Link Info*/
2955 WDI_UpdateProbeRspTemplateInfoType wdiProbeRspTemplateInfo;
2956
2957 /*Request status callback offered by UMAC - it is called if the current
2958 req has returned PENDING as status; it delivers the status of sending
2959 the message over the BUS */
2960 WDI_ReqStatusCb wdiReqStatusCB;
2961
2962 /*The user data passed in by UMAC, it will be sent back when the above
2963 function pointer will be called */
2964 void* pUserData;
2965}WDI_UpdateProbeRspTemplateParamsType;
2966
2967/*---------------------------------------------------------------------------
2968 WDI_NvDownloadReqBlobInfo
2969---------------------------------------------------------------------------*/
2970
2971typedef struct
2972{
2973 /* Blob starting address*/
2974 void *pBlobAddress;
2975
2976 /* Blob size */
2977 wpt_uint32 uBlobSize;
2978
2979}WDI_NvDownloadReqBlobInfo;
2980
2981/*---------------------------------------------------------------------------
2982 WDI_NvDownloadReqParamsType
2983---------------------------------------------------------------------------*/
2984typedef struct
2985{
2986 /*NV Blob Info*/
2987 WDI_NvDownloadReqBlobInfo wdiBlobInfo;
2988
2989 /*Request status callback offered by UMAC - it is called if the current
2990 req has returned PENDING as status; it delivers the status of sending
2991 the message over the BUS */
2992 WDI_ReqStatusCb wdiReqStatusCB;
2993
2994 /*The user data passed in by UMAC, it will be sent back when the above
2995 function pointer will be called */
2996 void* pUserData;
2997
2998}WDI_NvDownloadReqParamsType;
2999
3000/*---------------------------------------------------------------------------
3001 WDI_NvDownloadRspInfoType
3002---------------------------------------------------------------------------*/
3003typedef struct
3004{
3005 /*Status of the response*/
3006 WDI_Status wdiStatus;
3007
3008}WDI_NvDownloadRspInfoType;
3009
3010/*---------------------------------------------------------------------------
3011 WDI_SetMaxTxPowerInfoType
3012---------------------------------------------------------------------------*/
3013
3014typedef struct
3015{
3016 /*BSSID is needed to identify which session issued this request. As the request has
3017 power constraints, this should be applied only to that session*/
3018 wpt_macAddr macBSSId;
3019
3020
3021 wpt_macAddr macSelfStaMacAddr;
3022
3023 /* In request power == MaxTxpower to be used.*/
3024 wpt_int8 ucPower;
3025
3026}WDI_SetMaxTxPowerInfoType;
3027
3028/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003029 WDI_SetTxPowerInfoType
3030---------------------------------------------------------------------------*/
3031
3032typedef struct
3033{
3034 wpt_uint8 bssIdx;
3035 /* In request power == MaxTxpower to be used.*/
3036 wpt_uint8 ucPower;
3037
3038}WDI_SetTxPowerInfoType;
3039
3040/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003041 WDI_SetMaxTxPowerParamsType
3042---------------------------------------------------------------------------*/
3043typedef struct
3044{
3045 /*Link Info*/
3046 WDI_SetMaxTxPowerInfoType wdiMaxTxPowerInfo;
3047
3048 /*Request status callback offered by UMAC - it is called if the current
3049 req has returned PENDING as status; it delivers the status of sending
3050 the message over the BUS */
3051 WDI_ReqStatusCb wdiReqStatusCB;
3052
3053 /*The user data passed in by UMAC, it will be sent back when the above
3054 function pointer will be called */
3055 void* pUserData;
3056}WDI_SetMaxTxPowerParamsType;
3057
schang86c22c42013-03-13 18:41:24 -07003058/*---------------------------------------------------------------------------
3059 WDI_SetTxPowerParamsType
3060---------------------------------------------------------------------------*/
3061typedef struct
3062{
3063 /*Link Info*/
3064 WDI_SetTxPowerInfoType wdiTxPowerInfo;
3065
3066 /*Request status callback offered by UMAC - it is called if the current
3067 req has returned PENDING as status; it delivers the status of sending
3068 the message over the BUS */
3069 WDI_ReqStatusCb wdiReqStatusCB;
3070
3071 /*The user data passed in by UMAC, it will be sent back when the above
3072 function pointer will be called */
3073 void* pUserData;
3074}WDI_SetTxPowerParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003075
3076/*---------------------------------------------------------------------------
3077 WDI_SetMaxTxPowerRspMsg
3078---------------------------------------------------------------------------*/
3079
3080typedef struct
3081{
3082 /* In response, power==tx power used for management frames*/
3083 wpt_int8 ucPower;
3084
3085 /*Result of the operation*/
3086 WDI_Status wdiStatus;
3087
3088}WDI_SetMaxTxPowerRspMsg;
3089
schang86c22c42013-03-13 18:41:24 -07003090/*---------------------------------------------------------------------------
3091 WDI_SetTxPowerRspMsg
3092---------------------------------------------------------------------------*/
3093
3094typedef struct
3095{
3096 /* In response, power==tx power used for management frames*/
3097 wpt_int8 ucPower;
3098
3099 /*Result of the operation*/
3100 WDI_Status wdiStatus;
3101
3102}WDI_SetTxPowerRspMsg;
3103
Jeff Johnson295189b2012-06-20 16:38:30 -07003104typedef struct
3105{
3106 wpt_uint8 ucOpp_ps;
3107 wpt_uint32 uCtWindow;
3108 wpt_uint8 ucCount;
3109 wpt_uint32 uDuration;
3110 wpt_uint32 uInterval;
3111 wpt_uint32 uSingle_noa_duration;
3112 wpt_uint8 ucPsSelection;
3113}WDI_SetP2PGONOAReqInfoType;
3114
3115/*---------------------------------------------------------------------------
3116 WDI_SetP2PGONOAReqParamsType
3117---------------------------------------------------------------------------*/
3118typedef struct
3119{
3120 /*P2P GO NOA Req*/
3121 WDI_SetP2PGONOAReqInfoType wdiP2PGONOAInfo;
3122
3123 /*Request status callback offered by UMAC - it is called if the current
3124 req has returned PENDING as status; it delivers the status of sending
3125 the message over the BUS */
3126 WDI_ReqStatusCb wdiReqStatusCB;
3127
3128 /*The user data passed in by UMAC, it will be sent back when the above
3129 function pointer will be called */
3130 void* pUserData;
3131}WDI_SetP2PGONOAReqParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003132
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303133typedef struct
3134{
3135 wpt_uint16 uStaIdx;
3136 wpt_uint8 uIsResponder;
3137 wpt_uint8 uUapsdQueues;
3138 wpt_uint8 uMaxSp;
3139 wpt_uint8 uIsBufSta;
3140}WDI_SetTDLSLinkEstablishReqInfoType;
3141/*---------------------------------------------------------------------------
3142 WDI_SetTDLSLinkEstablishReqParamsType
3143---------------------------------------------------------------------------*/
3144typedef struct
3145{
3146 /*TDLS Link Establish Req*/
3147 WDI_SetTDLSLinkEstablishReqInfoType wdiTDLSLinkEstablishInfo;
3148
3149 /*Request status callback offered by UMAC - it is called if the current
3150 req has returned PENDING as status; it delivers the status of sending
3151 the message over the BUS */
3152 WDI_ReqStatusCb wdiReqStatusCB;
3153
3154 /*The user data passed in by UMAC, it will be sent back when the above
3155 function pointer will be called */
3156 void* pUserData;
3157}WDI_SetTDLSLinkEstablishReqParamsType;
3158
3159
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05303160typedef struct
3161{
3162 /*Result of the operation*/
3163 WDI_Status wdiStatus;
3164
3165 /*STA Idx*/
3166 wpt_uint16 uStaIdx;
3167}WDI_SetTdlsLinkEstablishReqResp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003168
3169/*---------------------------------------------------------------------------
3170 WDI_SetAddSTASelfParamsType
3171---------------------------------------------------------------------------*/
3172typedef struct
3173{
3174 /*Self Station MAC address*/
3175 wpt_macAddr selfMacAddr;
3176
Kiran Kumar Lokere0ad5cd32013-06-25 11:26:22 -07003177 /*Self STA device mode*/
3178 wpt_uint32 currDeviceMode;
3179
Jeff Johnson295189b2012-06-20 16:38:30 -07003180 /*Status of the operation*/
3181 wpt_uint32 uStatus;
3182}WDI_AddSTASelfInfoType;
3183
3184/*---------------------------------------------------------------------------
3185 WDI_SetAddSTASelfParamsType
3186---------------------------------------------------------------------------*/
3187typedef struct
3188{
3189 /* Add Sta Self Req */
3190 WDI_AddSTASelfInfoType wdiAddSTASelfInfo;
3191
3192 /*Request status callback offered by UMAC - it is called if the current
3193 req has returned PENDING as status; it delivers the status of sending
3194 the message over the BUS */
3195 WDI_ReqStatusCb wdiReqStatusCB;
3196
3197 /*The user data passed in by UMAC, it will be sent back when the above
3198 function pointer will be called */
3199 void* pUserData;
3200}WDI_AddSTASelfReqParamsType;
3201
3202
3203/*---------------------------------------------------------------------------
3204 WDI_AddSTASelfRspParamsType
3205---------------------------------------------------------------------------*/
3206typedef struct
3207{
3208 /*Status of the response*/
3209 WDI_Status wdiStatus;
3210
3211 /*STA Idx allocated by HAL*/
3212 wpt_uint8 ucSTASelfIdx;
3213
3214 /* DPU Index (IGTK, PTK, GTK all same) */
3215 wpt_uint8 dpuIdx;
3216
3217 /* DPU Signature */
3218 wpt_uint8 dpuSignature;
3219
3220 /*Self STA Mac*/
3221 wpt_macAddr macSelfSta;
3222
3223}WDI_AddSTASelfRspParamsType;
3224
3225/*---------------------------------------------------------------------------
3226 WDI_DelSTASelfReqParamsType
3227 Del Sta Self info passed to WDI form WDA
3228---------------------------------------------------------------------------*/
3229typedef struct
3230{
3231 wpt_macAddr selfMacAddr;
3232
3233}WDI_DelSTASelfInfoType;
3234
3235/*---------------------------------------------------------------------------
3236 WDI_DelSTASelfReqParamsType
3237 Del Sta Self info passed to WDI form WDA
3238---------------------------------------------------------------------------*/
3239typedef struct
3240{
3241 /*Del Sta Self Info Type */
3242 WDI_DelSTASelfInfoType wdiDelStaSelfInfo;
3243 /*Request status callback offered by UMAC - it is called if the current req
3244 has returned PENDING as status; it delivers the status of sending the message
3245 over the BUS */
3246 WDI_ReqStatusCb wdiReqStatusCB;
3247 /*The user data passed in by UMAC, it will be sent back when the above
3248 function pointer will be called */
3249 void* pUserData;
3250}WDI_DelSTASelfReqParamsType;
3251
3252/*---------------------------------------------------------------------------
3253 WDI_DelSTASelfRspParamsType
3254---------------------------------------------------------------------------*/
3255typedef struct
3256{
3257 /*Status of the response*/
3258 WDI_Status wdiStatus;
3259
3260 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
3261// wpt_uint8 ucSTAIdx;
3262}WDI_DelSTASelfRspParamsType;
3263
3264/*---------------------------------------------------------------------------
3265 WDI_UapsdInfoType
3266 UAPSD parameters passed per AC to WDA from UMAC
3267---------------------------------------------------------------------------*/
3268typedef struct
3269{
3270 wpt_uint8 ucSTAIdx; // STA index
3271 wpt_uint8 ucAc; // Access Category
3272 wpt_uint8 ucUp; // User Priority
3273 wpt_uint32 uSrvInterval; // Service Interval
3274 wpt_uint32 uSusInterval; // Suspend Interval
3275 wpt_uint32 uDelayInterval; // Delay Interval
3276} WDI_UapsdInfoType;
3277
3278/*---------------------------------------------------------------------------
3279 WDI_SetUapsdAcParamsReqParamsType
3280 UAPSD parameters passed per AC to WDI from WDA
3281---------------------------------------------------------------------------*/
3282typedef struct
3283{
3284 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3285 WDI_UapsdInfoType wdiUapsdInfo;
3286 /*Request status callback offered by UMAC - it is called if the current req
3287 has returned PENDING as status; it delivers the status of sending the message
3288 over the BUS */
3289 WDI_ReqStatusCb wdiReqStatusCB;
3290 /*The user data passed in by UMAC, it will be sent back when the above
3291 function pointer will be called */
3292 void* pUserData;
3293}WDI_SetUapsdAcParamsReqParamsType;
3294
3295/*---------------------------------------------------------------------------
3296 WDI_EnterBmpsReqinfoType
3297 Enter BMPS parameters passed to WDA from UMAC
3298---------------------------------------------------------------------------*/
3299typedef struct
3300{
3301 //TBTT value derived from the last beacon
3302 wpt_uint8 ucBssIdx;
3303 wpt_uint64 uTbtt;
3304 wpt_uint8 ucDtimCount;
3305 //DTIM period given to HAL during association may not be valid,
3306 //if association is based on ProbeRsp instead of beacon.
3307 wpt_uint8 ucDtimPeriod;
3308 /* DXE physical addr to be passed down to RIVA. RIVA HAL will use it to program
3309 DXE when DXE wakes up from power save*/
3310 unsigned int dxePhyAddr;
3311
3312 // For CCX and 11R Roaming
3313 wpt_uint32 rssiFilterPeriod;
3314 wpt_uint32 numBeaconPerRssiAverage;
3315 wpt_uint8 bRssiFilterEnable;
3316}WDI_EnterBmpsReqinfoType;
3317
3318/*---------------------------------------------------------------------------
3319 WDI_EnterBmpsReqParamsType
3320 Enter BMPS parameters passed to WDI from WDA
3321---------------------------------------------------------------------------*/
3322typedef struct
3323{
3324 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3325 WDI_EnterBmpsReqinfoType wdiEnterBmpsInfo;
3326 /*Request status callback offered by UMAC - it is called if the current req
3327 has returned PENDING as status; it delivers the status of sending the message
3328 over the BUS */
3329 WDI_ReqStatusCb wdiReqStatusCB;
3330 /*The user data passed in by UMAC, it will be sent back when the above
3331 function pointer will be called */
3332 void* pUserData;
3333}WDI_EnterBmpsReqParamsType;
3334
3335/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003336 WDI_EnterBmpsReqParamsType
3337 Enter BMPS parameters passed from WDI to WDA
3338---------------------------------------------------------------------------*/
3339typedef struct
3340{
3341 /*Status of the response*/
3342 WDI_Status wdiStatus;
3343
3344 /*BssIDX of the session*/
3345 wpt_uint8 bssIdx;
3346}WDI_EnterBmpsRspParamsType;
3347
3348/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003349 WDI_ExitBmpsReqinfoType
3350 Exit BMPS parameters passed to WDA from UMAC
3351---------------------------------------------------------------------------*/
3352typedef struct
3353{
3354 wpt_uint8 ucSendDataNull;
Jeff Johnsone7245742012-09-05 17:12:55 -07003355 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003356}WDI_ExitBmpsReqinfoType;
3357
3358/*---------------------------------------------------------------------------
3359 WDI_ExitBmpsReqParamsType
3360 Exit BMPS parameters passed to WDI from WDA
3361---------------------------------------------------------------------------*/
3362typedef struct
3363{
3364 /*Exit BMPS Info Type, same as tExitBmpsParams */
3365 WDI_ExitBmpsReqinfoType wdiExitBmpsInfo;
3366 /*Request status callback offered by UMAC - it is called if the current req
3367 has returned PENDING as status; it delivers the status of sending the message
3368 over the BUS */
3369 WDI_ReqStatusCb wdiReqStatusCB;
3370 /*The user data passed in by UMAC, it will be sent back when the above
3371 function pointer will be called */
3372 void* pUserData;
3373}WDI_ExitBmpsReqParamsType;
3374
3375/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003376 WDI_ExitBmpsReqParamsType
3377 Exit BMPS parameters passed from WDI to WDA
3378---------------------------------------------------------------------------*/
3379typedef struct
3380{
3381 /*Status of the response*/
3382 WDI_Status wdiStatus;
3383
3384 /*BssIDX of the session*/
3385 wpt_uint8 bssIdx;
3386}WDI_ExitBmpsRspParamsType;
3387
3388/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003389 WDI_EnterUapsdReqinfoType
3390 Enter UAPSD parameters passed to WDA from UMAC
3391---------------------------------------------------------------------------*/
3392typedef struct
3393{
3394 wpt_uint8 ucBkDeliveryEnabled:1;
3395 wpt_uint8 ucBeDeliveryEnabled:1;
3396 wpt_uint8 ucViDeliveryEnabled:1;
3397 wpt_uint8 ucVoDeliveryEnabled:1;
3398 wpt_uint8 ucBkTriggerEnabled:1;
3399 wpt_uint8 ucBeTriggerEnabled:1;
3400 wpt_uint8 ucViTriggerEnabled:1;
3401 wpt_uint8 ucVoTriggerEnabled:1;
Jeff Johnsone7245742012-09-05 17:12:55 -07003402 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003403}WDI_EnterUapsdReqinfoType;
3404
3405/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003406 WDI_EnterUapsdRspParamsType
3407 Enter UAPSD parameters passed from WDI to WDA
3408---------------------------------------------------------------------------*/
3409typedef struct
3410{
3411 /*Status of the response*/
3412 WDI_Status wdiStatus;
3413
3414 /*BssIDX of the session*/
3415 wpt_uint8 bssIdx;
3416}WDI_EnterUapsdRspParamsType;
3417
3418/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003419 WDI_EnterUapsdReqinfoType
3420 Enter UAPSD parameters passed to WDI from WDA
3421---------------------------------------------------------------------------*/
3422typedef struct
3423{
3424 /*Enter UAPSD Info Type, same as tUapsdParams */
3425 WDI_EnterUapsdReqinfoType wdiEnterUapsdInfo;
3426 /*Request status callback offered by UMAC - it is called if the current req
3427 has returned PENDING as status; it delivers the status of sending the message
3428 over the BUS */
3429 WDI_ReqStatusCb wdiReqStatusCB;
3430 /*The user data passed in by UMAC, it will be sent back when the above
3431 function pointer will be called */
3432 void* pUserData;
3433}WDI_EnterUapsdReqParamsType;
3434
3435/*---------------------------------------------------------------------------
3436 WDI_UpdateUapsdReqinfoType
3437 Update UAPSD parameters passed to WDA from UMAC
3438---------------------------------------------------------------------------*/
3439typedef struct
3440{
3441 wpt_uint8 ucSTAIdx;
3442 wpt_uint8 ucUapsdACMask;
3443 wpt_uint32 uMaxSpLen;
3444}WDI_UpdateUapsdReqinfoType;
3445
3446/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003447 WDI_ExitUapsdReqinfoType
3448 Exit UAPSD parameters passed to WDA from UMAC
3449---------------------------------------------------------------------------*/
3450typedef struct
3451{
3452 wpt_uint8 bssIdx;
3453}WDI_ExitUapsdReqinfoType;
3454
3455/*---------------------------------------------------------------------------
3456 WDI_ExitUapsdReqParamsType
3457 Exit UAPSD parameters passed to WDI from WDA
3458---------------------------------------------------------------------------*/
3459typedef struct
3460{
3461 /*Exit UAPSD Info Type, same as tUapsdParams */
3462 WDI_ExitUapsdReqinfoType wdiExitUapsdInfo;
3463 /*Request status callback offered by UMAC - it is called if the current req
3464 has returned PENDING as status; it delivers the status of sending the message
3465 over the BUS */
3466 WDI_ReqStatusCb wdiReqStatusCB;
3467 /*The user data passed in by UMAC, it will be sent back when the above
3468 function pointer will be called */
3469 void* pUserData;
3470}WDI_ExitUapsdReqParamsType;
3471
3472/*---------------------------------------------------------------------------
3473 WDI_ExitUapsdRspParamsType
3474 Exit UAPSD parameters passed from WDI to WDA
3475---------------------------------------------------------------------------*/
3476typedef struct
3477{
3478 /*Status of the response*/
3479 WDI_Status wdiStatus;
3480
3481 /*BssIDX of the session*/
3482 wpt_uint8 bssIdx;
3483}WDI_ExitUapsdRspParamsType;
3484
3485/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003486 WDI_UpdateUapsdReqParamsType
3487 Update UAPSD parameters passed to WDI form WDA
3488---------------------------------------------------------------------------*/
3489typedef struct
3490{
3491 /*Update UAPSD Info Type, same as tUpdateUapsdParams */
3492 WDI_UpdateUapsdReqinfoType wdiUpdateUapsdInfo;
3493 /*Request status callback offered by UMAC - it is called if the current req
3494 has returned PENDING as status; it delivers the status of sending the message
3495 over the BUS */
3496 WDI_ReqStatusCb wdiReqStatusCB;
3497 /*The user data passed in by UMAC, it will be sent back when the above
3498 function pointer will be called */
3499 void* pUserData;
3500}WDI_UpdateUapsdReqParamsType;
3501
3502/*---------------------------------------------------------------------------
3503 WDI_ConfigureRxpFilterReqParamsType
3504 RXP filter parameters passed to WDI form WDA
3505---------------------------------------------------------------------------*/
3506typedef struct
3507{
3508 /* Mode of Mcast and Bcast filters configured */
3509 wpt_uint8 ucSetMcstBcstFilterSetting;
3510
3511 /* Mcast Bcast Filters enable/disable*/
3512 wpt_uint8 ucSetMcstBcstFilter;
3513}WDI_RxpFilterReqParamsType;
3514
3515typedef struct
3516{
3517 /* Rxp Filter */
3518 WDI_RxpFilterReqParamsType wdiRxpFilterParam;
3519
3520 /*Request status callback offered by UMAC - it is called if the current req
3521 has returned PENDING as status; it delivers the status of sending the message
3522 over the BUS */
3523 WDI_ReqStatusCb wdiReqStatusCB;
3524 /*The user data passed in by UMAC, it will be sent back when the above
3525 function pointer will be called */
3526 void* pUserData;
3527}WDI_ConfigureRxpFilterReqParamsType;
3528
3529/*---------------------------------------------------------------------------
3530 WDI_BeaconFilterInfoType
3531 Beacon Filtering data structures passed to WDA form UMAC
3532---------------------------------------------------------------------------*/
3533typedef struct
3534{
3535 wpt_uint16 usCapabilityInfo;
3536 wpt_uint16 usCapabilityMask;
3537 wpt_uint16 usBeaconInterval;
3538 wpt_uint16 usIeNum;
Madan Mohan Koyyalamudia84edda2012-10-15 14:58:25 -07003539 wpt_uint8 bssIdx;
3540 wpt_uint8 reserved;
Jeff Johnson295189b2012-06-20 16:38:30 -07003541}WDI_BeaconFilterInfoType;
3542
3543/*---------------------------------------------------------------------------
3544 WDI_BeaconFilterReqParamsType
3545 Beacon Filtering parameters passed to WDI form WDA
3546---------------------------------------------------------------------------*/
3547typedef struct
3548{
3549 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
3550 WDI_BeaconFilterInfoType wdiBeaconFilterInfo;
3551 /*Beacon Filter(s) follow the "usIeNum" field, hence the array to ease the
3552 copy of params from WDA to WDI */
3553 wpt_uint8 aFilters[WDI_BEACON_FILTER_LEN];
3554 /*Request status callback offered by UMAC - it is called if the current req
3555 has returned PENDING as status; it delivers the status of sending the message
3556 over the BUS */
3557 WDI_ReqStatusCb wdiReqStatusCB;
3558 /*The user data passed in by UMAC, it will be sent back when the above
3559 function pointer will be called */
3560 void* pUserData;
3561}WDI_BeaconFilterReqParamsType;
3562
3563/*---------------------------------------------------------------------------
3564 WDI_RemBeaconFilterInfoType
3565 Beacon Filtering data structures (to be reomoved) passed to WDA form UMAC
3566---------------------------------------------------------------------------*/
3567typedef struct
3568{
3569 wpt_uint8 ucIeCount;
3570 wpt_uint8 ucRemIeId[1];
3571}WDI_RemBeaconFilterInfoType;
3572
3573/*---------------------------------------------------------------------------
3574 WDI_RemBeaconFilterReqParamsType
3575 Beacon Filtering parameters (to be reomoved)passed to WDI form WDA
3576---------------------------------------------------------------------------*/
3577typedef struct
3578{
3579 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
3580 WDI_RemBeaconFilterInfoType wdiBeaconFilterInfo;
3581 /*Request status callback offered by UMAC - it is called if the current req
3582 has returned PENDING as status; it delivers the status of sending the message
3583 over the BUS */
3584 WDI_ReqStatusCb wdiReqStatusCB;
3585 /*The user data passed in by UMAC, it will be sent back when the above
3586 function pointer will be called */
3587 void* pUserData;
3588}WDI_RemBeaconFilterReqParamsType;
3589
3590/*---------------------------------------------------------------------------
3591 WDI_RSSIThresholdsType
3592 RSSI thresholds data structures (to be reomoved) passed to WDA form UMAC
3593---------------------------------------------------------------------------*/
3594typedef struct
3595{
3596 wpt_int8 ucRssiThreshold1 : 8;
3597 wpt_int8 ucRssiThreshold2 : 8;
3598 wpt_int8 ucRssiThreshold3 : 8;
3599 wpt_uint8 bRssiThres1PosNotify : 1;
3600 wpt_uint8 bRssiThres1NegNotify : 1;
3601 wpt_uint8 bRssiThres2PosNotify : 1;
3602 wpt_uint8 bRssiThres2NegNotify : 1;
3603 wpt_uint8 bRssiThres3PosNotify : 1;
3604 wpt_uint8 bRssiThres3NegNotify : 1;
3605 wpt_uint8 bReserved10 : 2;
3606} WDI_RSSIThresholdsType;
3607
3608/*---------------------------------------------------------------------------
3609 WDI_SetRSSIThresholdsReqParamsType
3610 RSSI thresholds parameters (to be reomoved)passed to WDI form WDA
3611---------------------------------------------------------------------------*/
3612typedef struct
3613{
3614 /*RSSI thresholds Info Type, same as WDI_RSSIThresholds */
3615 WDI_RSSIThresholdsType wdiRSSIThresholdsInfo;
3616 /*Request status callback offered by UMAC - it is called if the current req
3617 has returned PENDING as status; it delivers the status of sending the message
3618 over the BUS */
3619 WDI_ReqStatusCb wdiReqStatusCB;
3620 /*The user data passed in by UMAC, it will be sent back when the above
3621 function pointer will be called */
3622 void* pUserData;
3623}WDI_SetRSSIThresholdsReqParamsType;
3624
3625/*---------------------------------------------------------------------------
3626 WDI_HostOffloadReqType
3627 host offload info passed to WDA form UMAC
3628---------------------------------------------------------------------------*/
3629#ifdef WLAN_NS_OFFLOAD
3630typedef struct
3631{
3632 wpt_uint8 srcIPv6Addr[16];
3633 wpt_uint8 selfIPv6Addr[16];
3634 //Only support 2 possible Network Advertisement IPv6 address
3635 wpt_uint8 targetIPv6Addr1[16];
3636 wpt_uint8 targetIPv6Addr2[16];
3637 wpt_uint8 selfMacAddr[6];
3638 wpt_uint8 srcIPv6AddrValid : 1;
3639 wpt_uint8 targetIPv6Addr1Valid : 1;
3640 wpt_uint8 targetIPv6Addr2Valid : 1;
Gopichand Nakkala746a9452013-06-11 12:45:54 +05303641 wpt_uint8 slotIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003642} WDI_NSOffloadParams;
3643#endif //WLAN_NS_OFFLOAD
3644
3645typedef struct
3646{
3647 wpt_uint8 ucOffloadType;
3648 wpt_uint8 ucEnableOrDisable;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003649 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07003650 union
3651 {
3652 wpt_uint8 aHostIpv4Addr [4];
3653 wpt_uint8 aHostIpv6Addr [16];
3654 } params;
3655} WDI_HostOffloadReqType;
3656
3657/*---------------------------------------------------------------------------
3658 WDI_HostOffloadReqParamsType
3659 host offload info passed to WDI form WDA
3660---------------------------------------------------------------------------*/
3661typedef struct
3662{
3663 /*Host offload Info Type, same as tHalHostOffloadReq */
3664 WDI_HostOffloadReqType wdiHostOffloadInfo;
3665#ifdef WLAN_NS_OFFLOAD
3666 WDI_NSOffloadParams wdiNsOffloadParams;
3667#endif //WLAN_NS_OFFLOAD
3668 /*Request status callback offered by UMAC - it is called if the current req
3669 has returned PENDING as status; it delivers the status of sending the message
3670 over the BUS */
3671 WDI_ReqStatusCb wdiReqStatusCB;
3672 /*The user data passed in by UMAC, it will be sent back when the above
3673 function pointer will be called */
3674 void* pUserData;
3675}WDI_HostOffloadReqParamsType;
3676
3677/*---------------------------------------------------------------------------
3678 WDI_KeepAliveReqType
3679 Keep Alive info passed to WDA form UMAC
3680---------------------------------------------------------------------------*/
3681typedef struct
3682{
3683 wpt_uint8 ucPacketType;
3684 wpt_uint32 ucTimePeriod;
3685 wpt_uint8 aHostIpv4Addr[4];
3686 wpt_uint8 aDestIpv4Addr[4];
3687 wpt_uint8 aDestMacAddr[6];
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003688 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07003689} WDI_KeepAliveReqType;
3690
3691/*---------------------------------------------------------------------------
3692 WDI_KeepAliveReqParamsType
3693 Keep Alive passed to WDI form WDA
3694---------------------------------------------------------------------------*/
3695typedef struct
3696{
3697 /* Keep Alive Info Type, same as tHalKeepAliveReq */
3698 WDI_KeepAliveReqType wdiKeepAliveInfo;
3699 /*Request status callback offered by UMAC - it is called if the current req
3700 has returned PENDING as status; it delivers the status of sending the message
3701 over the BUS */
3702 WDI_ReqStatusCb wdiReqStatusCB;
3703 /*The user data passed in by UMAC, it will be sent back when the above
3704 function pointer will be called */
3705 void* pUserData;
3706}WDI_KeepAliveReqParamsType;
3707
3708/*---------------------------------------------------------------------------
3709 WDI_WowlAddBcPtrnInfoType
3710 Wowl add ptrn info passed to WDA form UMAC
3711---------------------------------------------------------------------------*/
3712typedef struct
3713{
3714 wpt_uint8 ucPatternId; // Pattern ID
3715 // Pattern byte offset from beginning of the 802.11 packet to start of the
3716 // wake-up pattern
3717 wpt_uint8 ucPatternByteOffset;
3718 wpt_uint8 ucPatternSize; // Non-Zero Pattern size
3719 wpt_uint8 ucPattern[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern
3720 wpt_uint8 ucPatternMaskSize; // Non-zero pattern mask size
3721 wpt_uint8 ucPatternMask[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern mask
3722 wpt_uint8 ucPatternExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern
3723 wpt_uint8 ucPatternMaskExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern mask
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003724 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07003725} WDI_WowlAddBcPtrnInfoType;
3726
3727/*---------------------------------------------------------------------------
3728 WDI_WowlAddBcPtrnReqParamsType
3729 Wowl add ptrn info passed to WDI form WDA
3730---------------------------------------------------------------------------*/
3731typedef struct
3732{
3733 /*Wowl add ptrn Info Type, same as tpSirWowlAddBcastPtrn */
3734 WDI_WowlAddBcPtrnInfoType wdiWowlAddBcPtrnInfo;
3735 /*Request status callback offered by UMAC - it is called if the current req
3736 has returned PENDING as status; it delivers the status of sending the message
3737 over the BUS */
3738 WDI_ReqStatusCb wdiReqStatusCB;
3739 /*The user data passed in by UMAC, it will be sent back when the above
3740 function pointer will be called */
3741 void* pUserData;
3742}WDI_WowlAddBcPtrnReqParamsType;
3743
3744/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003745 WDI_WowlAddBcPtrnRspParamsType
3746 Wowl add ptrn info passed from WDI to WDA
3747---------------------------------------------------------------------------*/
3748typedef struct
3749{
3750 /*Status of the response*/
3751 WDI_Status wdiStatus;
3752 /*BssIDX of the session*/
3753 wpt_uint8 bssIdx;
3754}WDI_WowlAddBcPtrnRspParamsType;
3755
3756/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003757 WDI_WowlDelBcPtrnInfoType
3758 Wowl add ptrn info passed to WDA form UMAC
3759---------------------------------------------------------------------------*/
3760typedef struct
3761{
3762 /* Pattern ID of the wakeup pattern to be deleted */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003763 wpt_uint8 ucPatternId;
3764 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07003765} WDI_WowlDelBcPtrnInfoType;
3766
3767/*---------------------------------------------------------------------------
3768 WDI_WowlDelBcPtrnReqParamsType
3769 Wowl add ptrn info passed to WDI form WDA
3770---------------------------------------------------------------------------*/
3771typedef struct
3772{
3773 /*Wowl delete ptrn Info Type, same as WDI_WowlDelBcastPtrn */
3774 WDI_WowlDelBcPtrnInfoType wdiWowlDelBcPtrnInfo;
3775 /*Request status callback offered by UMAC - it is called if the current req
3776 has returned PENDING as status; it delivers the status of sending the message
3777 over the BUS */
3778 WDI_ReqStatusCb wdiReqStatusCB;
3779 /*The user data passed in by UMAC, it will be sent back when the above
3780 function pointer will be called */
3781 void* pUserData;
3782}WDI_WowlDelBcPtrnReqParamsType;
3783
3784/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003785 WDI_WowlDelBcPtrnRspParamsType
3786 Wowl Del ptrn info passed from WDI to WDA
3787---------------------------------------------------------------------------*/
3788typedef struct
3789{
3790 /*Status of the response*/
3791 WDI_Status wdiStatus;
3792 /*BssIDX of the session*/
3793 wpt_uint8 bssIdx;
3794}WDI_WowlDelBcPtrnRspParamsType;
3795
3796/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003797 WDI_WowlEnterInfoType
3798 Wowl enter info passed to WDA form UMAC
3799---------------------------------------------------------------------------*/
3800typedef struct
3801{
3802 /* Enables/disables magic packet filtering */
3803 wpt_uint8 ucMagicPktEnable;
3804
3805 /* Magic pattern */
3806 wpt_macAddr magicPtrn;
3807
3808 /* Enables/disables packet pattern filtering in firmware.
3809 Enabling this flag enables broadcast pattern matching
3810 in Firmware. If unicast pattern matching is also desired,
3811 ucUcastPatternFilteringEnable flag must be set tot true
3812 as well
3813 */
3814 wpt_uint8 ucPatternFilteringEnable;
3815
3816 /* Enables/disables unicast packet pattern filtering.
3817 This flag specifies whether we want to do pattern match
3818 on unicast packets as well and not just broadcast packets.
3819 This flag has no effect if the ucPatternFilteringEnable
3820 (main controlling flag) is set to false
3821 */
3822 wpt_uint8 ucUcastPatternFilteringEnable;
3823
3824 /* This configuration is valid only when magicPktEnable=1.
3825 * It requests hardware to wake up when it receives the
3826 * Channel Switch Action Frame.
3827 */
3828 wpt_uint8 ucWowChnlSwitchRcv;
3829
3830 /* This configuration is valid only when magicPktEnable=1.
3831 * It requests hardware to wake up when it receives the
3832 * Deauthentication Frame.
3833 */
3834 wpt_uint8 ucWowDeauthRcv;
3835
3836 /* This configuration is valid only when magicPktEnable=1.
3837 * It requests hardware to wake up when it receives the
3838 * Disassociation Frame.
3839 */
3840 wpt_uint8 ucWowDisassocRcv;
3841
3842 /* This configuration is valid only when magicPktEnable=1.
3843 * It requests hardware to wake up when it has missed
3844 * consecutive beacons. This is a hardware register
3845 * configuration (NOT a firmware configuration).
3846 */
3847 wpt_uint8 ucWowMaxMissedBeacons;
3848
3849 /* This configuration is valid only when magicPktEnable=1.
3850 * This is a timeout value in units of microsec. It requests
3851 * hardware to unconditionally wake up after it has stayed
3852 * in WoWLAN mode for some time. Set 0 to disable this feature.
3853 */
3854 wpt_uint8 ucWowMaxSleepUsec;
3855
3856#ifdef WLAN_WAKEUP_EVENTS
3857 /* This configuration directs the WoW packet filtering to look for EAP-ID
3858 * requests embedded in EAPOL frames and use this as a wake source.
3859 */
3860 wpt_uint8 ucWoWEAPIDRequestEnable;
3861
3862 /* This configuration directs the WoW packet filtering to look for EAPOL-4WAY
3863 * requests and use this as a wake source.
3864 */
3865 wpt_uint8 ucWoWEAPOL4WayEnable;
3866
3867 /* This configuration allows a host wakeup on an network scan offload match.
3868 */
3869 wpt_uint8 ucWowNetScanOffloadMatch;
3870
3871 /* This configuration allows a host wakeup on any GTK rekeying error.
3872 */
3873 wpt_uint8 ucWowGTKRekeyError;
3874
3875 /* This configuration allows a host wakeup on BSS connection loss.
3876 */
3877 wpt_uint8 ucWoWBSSConnLoss;
3878#endif // WLAN_WAKEUP_EVENTS
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003879
3880 /* BSSIDX used to find the current session
3881 */
3882 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003883} WDI_WowlEnterInfoType;
3884
3885/*---------------------------------------------------------------------------
3886 WDI_WowlEnterReqParamsType
3887 Wowl enter info passed to WDI form WDA
3888---------------------------------------------------------------------------*/
3889typedef struct
3890{
3891 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
3892 WDI_WowlEnterInfoType wdiWowlEnterInfo;
3893 /*Request status callback offered by UMAC - it is called if the current req
3894 has returned PENDING as status; it delivers the status of sending the message
3895 over the BUS */
3896 WDI_ReqStatusCb wdiReqStatusCB;
3897 /*The user data passed in by UMAC, it will be sent back when the above
3898 function pointer will be called */
3899 void* pUserData;
3900}WDI_WowlEnterReqParamsType;
3901
3902/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003903 WDI_WowlEnterRsqParamsType
3904 Wowl enter info passed from WDI to WDA
3905---------------------------------------------------------------------------*/
3906typedef struct
3907{
3908 /*Status of the response message*/
3909 WDI_Status status;
3910
3911 /* BSSIDX used to find the current session
3912 */
3913 wpt_uint8 bssIdx;
3914}WDI_WowlEnterRspParamsType;
3915
3916/*---------------------------------------------------------------------------
3917 WDI_WowlExitInfoType
3918 Wowl exit info passed to WDA form UMAC
3919 ---------------------------------------------------------------------------*/
3920typedef struct
3921{
3922 /* BSSIDX used to find the current session
3923 */
3924 wpt_uint8 bssIdx;
3925} WDI_WowlExitInfoType;
3926
3927/*---------------------------------------------------------------------------
3928 WDI_WowlExitReqParamsType
3929 Wowl exit info passed to WDI form WDA
3930---------------------------------------------------------------------------*/
3931typedef struct
3932{
3933 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
3934 WDI_WowlExitInfoType wdiWowlExitInfo;
3935 /*Request status callback offered by UMAC - it is called if the current req
3936 has returned PENDING as status; it delivers the status of sending the message
3937 over the BUS */
3938 WDI_ReqStatusCb wdiReqStatusCB;
3939 /*The user data passed in by UMAC, it will be sent back when the above
3940 function pointer will be called */
3941 void* pUserData;
3942}WDI_WowlExitReqParamsType;
3943
3944/*---------------------------------------------------------------------------
3945 WDI_WowlExitRspParamsType
3946 Wowl exit info passed from WDI to WDA
3947---------------------------------------------------------------------------*/
3948typedef struct
3949{
3950 /*Status of the response message*/
3951 WDI_Status status;
3952
3953 /* BSSIDX used to find the current session
3954 */
3955 wpt_uint8 bssIdx;
3956}WDI_WowlExitRspParamsType;
3957
3958/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003959 WDI_ConfigureAppsCpuWakeupStateReqParamsType
3960 Apps Cpu Wakeup State parameters passed to WDI form WDA
3961---------------------------------------------------------------------------*/
3962typedef struct
3963{
3964 /*Depicts the state of the Apps CPU */
3965 wpt_boolean bIsAppsAwake;
3966 /*Request status callback offered by UMAC - it is called if the current req
3967 has returned PENDING as status; it delivers the status of sending the message
3968 over the BUS */
3969 WDI_ReqStatusCb wdiReqStatusCB;
3970 /*The user data passed in by UMAC, it will be sent back when the above
3971 function pointer will be called */
3972 void* pUserData;
3973}WDI_ConfigureAppsCpuWakeupStateReqParamsType;
3974/*---------------------------------------------------------------------------
3975 WDI_FlushAcReqinfoType
3976---------------------------------------------------------------------------*/
3977typedef struct
3978{
3979 // Message Type
3980 wpt_uint16 usMesgType;
3981
3982 // Message Length
3983 wpt_uint16 usMesgLen;
3984
3985 // Station Index. originates from HAL
3986 wpt_uint8 ucSTAId;
3987
3988 // TID for which the transmit queue is being flushed
3989 wpt_uint8 ucTid;
3990
3991}WDI_FlushAcReqinfoType;
3992
3993/*---------------------------------------------------------------------------
3994 WDI_FlushAcReqParamsType
3995---------------------------------------------------------------------------*/
3996typedef struct
3997{
3998 /*AC Info */
3999 WDI_FlushAcReqinfoType wdiFlushAcInfo;
4000
4001 /*Request status callback offered by UMAC - it is called if the current
4002 req has returned PENDING as status; it delivers the status of sending
4003 the message over the BUS */
4004 WDI_ReqStatusCb wdiReqStatusCB;
4005
4006 /*The user data passed in by UMAC, it will be sent back when the above
4007 function pointer will be called */
4008 void* pUserData;
4009}WDI_FlushAcReqParamsType;
4010
4011/*---------------------------------------------------------------------------
4012 WDI_BtAmpEventinfoType
4013 BT-AMP Event Structure
4014---------------------------------------------------------------------------*/
4015typedef struct
4016{
4017 wpt_uint8 ucBtAmpEventType;
4018
4019} WDI_BtAmpEventinfoType;
4020
4021/*---------------------------------------------------------------------------
4022 WDI_BtAmpEventParamsType
4023---------------------------------------------------------------------------*/
4024typedef struct
4025{
4026 /*BT AMP event Info */
4027 WDI_BtAmpEventinfoType wdiBtAmpEventInfo;
4028
4029 /*Request status callback offered by UMAC - it is called if the current
4030 req has returned PENDING as status; it delivers the status of sending
4031 the message over the BUS */
4032 WDI_ReqStatusCb wdiReqStatusCB;
4033
4034 /*The user data passed in by UMAC, it will be sent back when the above
4035 function pointer will be called */
4036 void* pUserData;
4037}WDI_BtAmpEventParamsType;
4038
Jeff Johnsone7245742012-09-05 17:12:55 -07004039#ifdef FEATURE_OEM_DATA_SUPPORT
4040
4041#ifndef OEM_DATA_REQ_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004042#define OEM_DATA_REQ_SIZE 134
Jeff Johnsone7245742012-09-05 17:12:55 -07004043#endif
4044#ifndef OEM_DATA_RSP_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004045#define OEM_DATA_RSP_SIZE 1968
Jeff Johnsone7245742012-09-05 17:12:55 -07004046#endif
4047
4048/*----------------------------------------------------------------------------
4049 WDI_oemDataReqInfoType
4050----------------------------------------------------------------------------*/
4051typedef struct
4052{
4053 wpt_macAddr selfMacAddr;
4054 wpt_uint8 oemDataReq[OEM_DATA_REQ_SIZE];
4055}WDI_oemDataReqInfoType;
4056
4057/*----------------------------------------------------------------------------
4058 WDI_oemDataReqParamsType
4059----------------------------------------------------------------------------*/
4060typedef struct
4061{
4062 /*Request status callback offered by UMAC - it is called if the current
4063 req has returned PENDING as status; it delivers the status of sending
4064 the message over the BUS */
4065 WDI_ReqStatusCb wdiReqStatusCB;
4066
4067 /*The user data passed in by UMAC, it will be sent back when the above
4068 function pointer will be called */
4069 void* pUserData;
4070
4071 /*OEM DATA REQ Info */
4072 WDI_oemDataReqInfoType wdiOemDataReqInfo;
4073
4074}WDI_oemDataReqParamsType;
4075
4076/*----------------------------------------------------------------------------
4077 WDI_oemDataRspParamsType
4078----------------------------------------------------------------------------*/
4079typedef struct
4080{
4081 wpt_uint8 oemDataRsp[OEM_DATA_RSP_SIZE];
4082}WDI_oemDataRspParamsType;
4083
4084#endif /* FEATURE_OEM_DATA_SUPPORT */
Jeff Johnson295189b2012-06-20 16:38:30 -07004085
4086#ifdef WLAN_FEATURE_VOWIFI_11R
4087/*---------------------------------------------------------------------------
4088 WDI_AggrAddTSReqInfoType
4089---------------------------------------------------------------------------*/
4090typedef struct
4091{
4092 /*STA Index*/
4093 wpt_uint8 ucSTAIdx;
4094
4095 /*Identifier for TSpec*/
4096 wpt_uint8 ucTspecIdx;
4097
4098 /*Tspec IE negotiated OTA*/
4099 WDI_TspecIEType wdiTspecIE[WDI_MAX_NO_AC];
4100
4101 /*UAPSD delivery and trigger enabled flags */
4102 wpt_uint8 ucUapsdFlags;
4103
4104 /*SI for each AC*/
4105 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
4106
4107 /*Suspend Interval for each AC*/
4108 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
4109
4110 /*DI for each AC*/
4111 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
4112
4113}WDI_AggrAddTSReqInfoType;
4114
4115
4116/*---------------------------------------------------------------------------
4117 WDI_AggrAddTSReqParamsType
4118---------------------------------------------------------------------------*/
4119typedef struct
4120{
4121 /*TSpec Info */
4122 WDI_AggrAddTSReqInfoType wdiAggrTsInfo;
4123
4124 /*Request status callback offered by UMAC - it is called if the current
4125 req has returned PENDING as status; it delivers the status of sending
4126 the message over the BUS */
4127 WDI_ReqStatusCb wdiReqStatusCB;
4128
4129 /*The user data passed in by UMAC, it will be sent back when the above
4130 function pointer will be called */
4131 void* pUserData;
4132}WDI_AggrAddTSReqParamsType;
4133
4134#endif /* WLAN_FEATURE_VOWIFI_11R */
4135
Jeff Johnson295189b2012-06-20 16:38:30 -07004136/*---------------------------------------------------------------------------
4137 WDI_FTMCommandReqType
4138---------------------------------------------------------------------------*/
4139typedef struct
4140{
4141 /* FTM Command Body length */
4142 wpt_uint32 bodyLength;
4143 /* Actual FTM Command body */
4144 void *FTMCommandBody;
4145}WDI_FTMCommandReqType;
Jeff Johnson295189b2012-06-20 16:38:30 -07004146
4147/*---------------------------------------------------------------------------
4148 WDI_WlanSuspendInfoType
4149---------------------------------------------------------------------------*/
4150typedef struct
4151{
4152 /* Mode of Mcast and Bcast filters configured */
4153 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4154}WDI_WlanSuspendInfoType;
4155
4156/*---------------------------------------------------------------------------
4157 WDI_SuspendParamsType
4158---------------------------------------------------------------------------*/
4159typedef struct
4160{
4161 WDI_WlanSuspendInfoType wdiSuspendParams;
4162
4163 /*Request status callback offered by UMAC - it is called if the current
4164 req has returned PENDING as status; it delivers the status of sending
4165 the message over the BUS */
4166 WDI_ReqStatusCb wdiReqStatusCB;
4167
4168 /*The user data passed in by UMAC, it will be sent back when the above
4169 function pointer will be called */
4170 void* pUserData;
4171
4172}WDI_SuspendParamsType;
4173
4174/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004175 WDI_TrafficStatsType - This is collected for each STA
4176---------------------------------------------------------------------------*/
4177
4178typedef struct
4179{
4180 /* TX stats */
4181 wpt_uint32 txBytesPushed;
4182 wpt_uint32 txPacketsPushed;
4183
4184 /* RX stats */
4185 wpt_uint32 rxBytesRcvd;
4186 wpt_uint32 rxPacketsRcvd;
4187 wpt_uint32 rxTimeTotal;
4188}WDI_TrafficStatsType;
4189
4190typedef struct
4191{
4192 WDI_TrafficStatsType *pTrafficStats;
4193 wpt_uint32 length;
4194 wpt_uint32 duration;
4195
4196 /*Request status callback offered by UMAC - it is called if the current
4197 req has returned PENDING as status; it delivers the status of sending
4198 the message over the BUS */
4199 WDI_ReqStatusCb wdiReqStatusCB;
4200
4201 /*The user data passed in by UMAC, it will be sent back when the above
4202 function pointer will be called */
4203 void* pUserData;
4204}WDI_TrafficStatsIndType;
4205
Chet Lanctot186b5732013-03-18 10:26:30 -07004206#ifdef WLAN_FEATURE_11W
4207typedef struct
4208{
4209
4210 wpt_boolean bExcludeUnencrypt;
4211 wpt_macAddr bssid;
4212 /*Request status callback offered by UMAC - it is called if the current
4213 req has returned PENDING as status; it delivers the status of sending
4214 the message over the BUS */
4215 WDI_ReqStatusCb wdiReqStatusCB;
4216
4217 /*The user data passed in by UMAC, it will be sent back when the above
4218 function pointer will be called */
4219 void* pUserData;
4220}WDI_ExcludeUnencryptIndType;
4221#endif
4222
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004223/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004224 WDI_WlanResumeInfoType
4225---------------------------------------------------------------------------*/
4226typedef struct
4227{
4228 /* Mode of Mcast and Bcast filters configured */
4229 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4230}WDI_WlanResumeInfoType;
4231
4232/*---------------------------------------------------------------------------
4233 WDI_ResumeParamsType
4234---------------------------------------------------------------------------*/
4235typedef struct
4236{
4237 WDI_WlanResumeInfoType wdiResumeParams;
4238
4239 /*Request status callback offered by UMAC - it is called if the current
4240 req has returned PENDING as status; it delivers the status of sending
4241 the message over the BUS */
4242 WDI_ReqStatusCb wdiReqStatusCB;
4243
4244 /*The user data passed in by UMAC, it will be sent back when the above
4245 function pointer will be called */
4246 void* pUserData;
4247
4248}WDI_ResumeParamsType;
4249
4250#ifdef WLAN_FEATURE_GTK_OFFLOAD
4251/*---------------------------------------------------------------------------
4252 * WDI_GTK_OFFLOAD_REQ
4253 *--------------------------------------------------------------------------*/
4254
4255typedef struct
4256{
4257 wpt_uint32 ulFlags; /* optional flags */
4258 wpt_uint8 aKCK[16]; /* Key confirmation key */
4259 wpt_uint8 aKEK[16]; /* key encryption key */
4260 wpt_uint64 ullKeyReplayCounter; /* replay counter */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004261 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004262} WDI_GtkOffloadReqParams;
4263
4264typedef struct
4265{
4266 WDI_GtkOffloadReqParams gtkOffloadReqParams;
4267
4268 /*Request status callback offered by UMAC - it is called if the current
4269 req has returned PENDING as status; it delivers the status of sending
4270 the message over the BUS */
4271 WDI_ReqStatusCb wdiReqStatusCB;
4272
4273 /*The user data passed in by UMAC, it will be sent back when the above
4274 function pointer will be called */
4275 void* pUserData;
4276} WDI_GtkOffloadReqMsg;
4277
4278/*---------------------------------------------------------------------------
4279 * WDI_GTK_OFFLOAD_RSP
4280 *--------------------------------------------------------------------------*/
4281typedef struct
4282{
4283 /* success or failure */
4284 wpt_uint32 ulStatus;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004285 /*BssIdx of the response */
4286 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004287} WDI_GtkOffloadRspParams;
4288
4289typedef struct
4290{
4291 WDI_GtkOffloadRspParams gtkOffloadRspParams;
4292
4293 /*Request status callback offered by UMAC - it is called if the current
4294 req has returned PENDING as status; it delivers the status of sending
4295 the message over the BUS */
4296 WDI_ReqStatusCb wdiReqStatusCB;
4297
4298 /*The user data passed in by UMAC, it will be sent back when the above
4299 function pointer will be called */
4300 void* pUserData;
4301} WDI_GtkOffloadRspMsg;
4302
4303
4304/*---------------------------------------------------------------------------
4305* WDI_GTK_OFFLOAD_GETINFO_REQ
4306*--------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004307typedef struct
4308{
4309 /*BssIdx of the response */
4310 wpt_macAddr bssId;
4311} WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004312
4313typedef struct
4314{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004315
4316 WDI_GtkOffloadGetInfoReqParams WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004317 /*Request status callback offered by UMAC - it is called if the current
4318 req has returned PENDING as status; it delivers the status of sending
4319 the message over the BUS */
4320 WDI_ReqStatusCb wdiReqStatusCB;
4321
4322 /*The user data passed in by UMAC, it will be sent back when the above
4323 function pointer will be called */
4324 void* pUserData;
4325} WDI_GtkOffloadGetInfoReqMsg;
4326
4327/*---------------------------------------------------------------------------
4328* WDI_GTK_OFFLOAD_GETINFO_RSP
4329*--------------------------------------------------------------------------*/
4330typedef struct
4331{
4332 wpt_uint32 ulStatus; /* success or failure */
4333 wpt_uint64 ullKeyReplayCounter; /* current replay counter value */
4334 wpt_uint32 ulTotalRekeyCount; /* total rekey attempts */
4335 wpt_uint32 ulGTKRekeyCount; /* successful GTK rekeys */
4336 wpt_uint32 ulIGTKRekeyCount; /* successful iGTK rekeys */
Gopichand Nakkala870cbae2013-03-15 21:16:09 +05304337 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004338} WDI_GtkOffloadGetInfoRspParams;
4339
4340typedef struct
4341{
4342 WDI_GtkOffloadGetInfoRspParams gtkOffloadGetInfoRspParams;
4343
4344 /*Request status callback offered by UMAC - it is called if the current
4345 req has returned PENDING as status; it delivers the status of sending
4346 the message over the BUS */
4347 WDI_ReqStatusCb wdiReqStatusCB;
4348
4349 /*The user data passed in by UMAC, it will be sent back when the above
4350 function pointer will be called */
4351 void* pUserData;
4352} WDI_GtkOffloadGetInfoRspMsg;
4353#endif // WLAN_FEATURE_GTK_OFFLOAD
4354
4355/*---------------------------------------------------------------------------
4356 WDI_SuspendResumeRspParamsType
4357---------------------------------------------------------------------------*/
4358typedef struct
4359{
4360 /*Status of the response*/
4361 WDI_Status wdiStatus;
4362}WDI_SuspendResumeRspParamsType;
4363
Leo Chang9056f462013-08-01 19:21:11 -07004364#ifdef FEATURE_WLAN_LPHB
4365/*---------------------------------------------------------------------------
4366 WDI Low Power Heart Beat Config request
4367 Copy from sirApi.h to avoid compile error
4368---------------------------------------------------------------------------*/
4369#define WDI_LPHB_FILTER_LEN 64
4370
4371typedef enum
4372{
4373 WDI_LPHB_SET_EN_PARAMS_INDID = 0x0001,
4374 WDI_LPHB_SET_TCP_PARAMS_INDID,
4375 WDI_LPHB_SET_TCP_PKT_FILTER_INDID,
4376 WDI_LPHB_SET_UDP_PARAMS_INDID,
4377 WDI_LPHB_SET_UDP_PKT_FILTER_INDID,
4378 WDI_LPHB_SET_NETWORK_INFO_INDID,
4379} WDI_LPHBIndType;
4380
4381typedef struct
4382{
4383 wpt_uint8 enable;
4384 wpt_uint8 item;
4385 wpt_uint8 session;
4386} WDI_LPHBEnableStruct;
4387
4388typedef struct
4389{
4390 wpt_uint32 srv_ip;
4391 wpt_uint32 dev_ip;
4392 wpt_uint16 src_port;
4393 wpt_uint16 dst_port;
4394 wpt_uint16 timeout;
4395 wpt_uint8 session;
4396 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
4397} WDI_LPHBTcpParamStruct;
4398
4399typedef struct
4400{
4401 wpt_uint16 length;
4402 wpt_uint8 offset;
4403 wpt_uint8 session;
4404 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
4405} WDI_LPHBTcpFilterStruct;
4406
4407typedef struct
4408{
4409 wpt_uint32 srv_ip;
4410 wpt_uint32 dev_ip;
4411 wpt_uint16 src_port;
4412 wpt_uint16 dst_port;
4413 wpt_uint16 interval;
4414 wpt_uint16 timeout;
4415 wpt_uint8 session;
4416 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
4417} WDI_LPHBUdpParamStruct;
4418
4419typedef struct
4420{
4421 wpt_uint16 length;
4422 wpt_uint8 offset;
4423 wpt_uint8 session;
4424 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
4425} WDI_LPHBUdpFilterStruct;
4426
4427typedef struct
4428{
4429 wpt_uint16 cmd;
4430 wpt_uint16 dummy;
4431 union
4432 {
4433 WDI_LPHBEnableStruct lphbEnableReq;
4434 WDI_LPHBTcpParamStruct lphbTcpParamReq;
4435 WDI_LPHBTcpFilterStruct lphbTcpFilterReq;
4436 WDI_LPHBUdpParamStruct lphbUdpParamReq;
4437 WDI_LPHBUdpFilterStruct lphbUdpFilterReq;
4438 } params;
4439} WDI_LPHBReq;
4440#endif /* FEATURE_WLAN_LPHB */
Jeff Johnson295189b2012-06-20 16:38:30 -07004441
4442#ifdef FEATURE_WLAN_SCAN_PNO
4443
4444/*Max number of channels for a given network supported by PNO*/
4445#define WDI_PNO_MAX_NETW_CHANNELS 26
4446
Pratik Bhalgatd4404592012-11-22 17:49:14 +05304447/*Max number of channels for a given network supported by PNO*/
4448#define WDI_PNO_MAX_NETW_CHANNELS_EX 60
4449
Jeff Johnson295189b2012-06-20 16:38:30 -07004450/*The max number of programable networks for PNO*/
4451#define WDI_PNO_MAX_SUPP_NETWORKS 16
4452
4453/*The max number of scan timers programable in Riva*/
4454#define WDI_PNO_MAX_SCAN_TIMERS 10
4455
4456#define WDI_PNO_MAX_PROBE_SIZE 450
4457
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004458#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
4459#define WDI_ROAM_SCAN_MAX_CHANNELS 80 /* NUM_RF_CHANNELS */
4460#define WDI_ROAM_SCAN_MAX_PROBE_SIZE 450
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07004461#define WDI_ROAM_SCAN_RESERVED_BYTES 61
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004462#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07004463
4464/*---------------------------------------------------------------------------
4465 WDI_AuthType
4466---------------------------------------------------------------------------*/
4467typedef enum
4468{
4469 WDI_AUTH_TYPE_ANY = 0,
4470
4471 WDI_AUTH_TYPE_NONE,
4472 WDI_AUTH_TYPE_OPEN_SYSTEM,
4473 WDI_AUTH_TYPE_SHARED_KEY,
4474
4475 WDI_AUTH_TYPE_WPA,
4476 WDI_AUTH_TYPE_WPA_PSK,
4477 WDI_AUTH_TYPE_WPA_NONE,
4478
4479 WDI_AUTH_TYPE_RSN,
4480 WDI_AUTH_TYPE_RSN_PSK,
4481 WDI_AUTH_TYPE_FT_RSN,
4482 WDI_AUTH_TYPE_FT_RSN_PSK,
4483 WDI_AUTH_TYPE_WAPI_WAI_CERTIFICATE,
4484 WDI_AUTH_TYPE_WAPI_WAI_PSK,
4485 WDI_AUTH_TYPE_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
4486
4487}WDI_AuthType;
4488
4489/*---------------------------------------------------------------------------
4490 WDI_EdType
4491---------------------------------------------------------------------------*/
4492typedef enum
4493{
4494 WDI_ED_ANY = 0,
4495 WDI_ED_NONE,
4496 WDI_ED_WEP40,
4497 WDI_ED_WEP104,
4498 WDI_ED_TKIP,
4499 WDI_ED_CCMP,
4500 WDI_ED_WPI,
4501 WDI_ED_AES_128_CMAC,
4502 WDI_ED_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
4503} WDI_EdType;
4504
4505
4506/*---------------------------------------------------------------------------
4507 WDI_PNOMode
4508---------------------------------------------------------------------------*/
4509typedef enum
4510{
4511 /*Network offload is to start immediately*/
4512 WDI_PNO_MODE_IMMEDIATE,
4513
4514 /*Network offload is to start on host suspend*/
4515 WDI_PNO_MODE_ON_SUSPEND,
4516
4517 /*Network offload is to start on host resume*/
4518 WDI_PNO_MODE_ON_RESUME,
4519 WDI_PNO_MODE_MAX = 0xFFFFFFFF
4520} WDI_PNOMode;
4521
4522/* SSID broadcast type */
4523typedef enum
4524{
4525 WDI_BCAST_UNKNOWN = 0,
4526 WDI_BCAST_NORMAL = 1,
4527 WDI_BCAST_HIDDEN = 2,
4528
4529 WDI_BCAST_TYPE_MAX = 0xFFFFFFFF
4530} WDI_SSIDBcastType;
4531
4532/*---------------------------------------------------------------------------
4533 WDI_NetworkType
4534---------------------------------------------------------------------------*/
4535typedef struct
4536{
4537 /*The SSID of the preferred network*/
4538 WDI_MacSSid ssId;
4539
4540 /*The authentication method of the preferred network*/
4541 WDI_AuthType wdiAuth;
4542
4543 /*The encryption method of the preferred network*/
4544 WDI_EdType wdiEncryption;
4545
4546 /*SSID broadcast type, normal, hidden or unknown*/
4547 WDI_SSIDBcastType wdiBcastNetworkType;
4548
4549 /*channel count - 0 for all channels*/
4550 wpt_uint8 ucChannelCount;
4551
4552 /*the actual channels*/
Madan Mohan Koyyalamudi4bb5d2e2013-09-26 17:36:46 +05304553 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
Jeff Johnson295189b2012-06-20 16:38:30 -07004554
4555 /*rssi threshold that a network must meet to be considered, 0 - for any*/
4556 wpt_uint8 rssiThreshold;
4557} WDI_NetworkType;
4558
4559
4560/*---------------------------------------------------------------------------
4561 WDI_ScanTimer
4562---------------------------------------------------------------------------*/
4563typedef struct
4564{
4565 /*The timer value*/
4566 wpt_uint32 uTimerValue;
4567
4568 /*The amount of time we should be repeating the interval*/
4569 wpt_uint32 uTimerRepeat;
4570} WDI_ScanTimer;
4571
4572/*---------------------------------------------------------------------------
4573 WDI_ScanTimersType
4574---------------------------------------------------------------------------*/
4575typedef struct
4576{
4577 /*The number of value pair intervals present in the array*/
4578 wpt_uint8 ucScanTimersCount;
4579
4580 /*The time-repeat value pairs*/
4581 WDI_ScanTimer aTimerValues[WDI_PNO_MAX_SCAN_TIMERS];
4582} WDI_ScanTimersType;
4583
4584/*---------------------------------------------------------------------------
4585 WDI_PNOScanReqType
4586---------------------------------------------------------------------------*/
4587typedef struct
4588{
4589 /*Enable or disable PNO feature*/
4590 wpt_uint8 bEnable;
4591
4592 /*PNO mode requested*/
4593 WDI_PNOMode wdiModePNO;
4594
4595 /*Network count*/
4596 wpt_uint8 ucNetworksCount;
4597
4598 /*The networks to look for*/
4599 WDI_NetworkType aNetworks[WDI_PNO_MAX_SUPP_NETWORKS];
4600
4601 /*Scan timer intervals*/
4602 WDI_ScanTimersType scanTimers;
4603
4604 /*Probe template for 2.4GHz band*/
4605 wpt_uint16 us24GProbeSize;
4606 wpt_uint8 a24GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
4607
4608 /*Probe template for 5GHz band*/
4609 wpt_uint16 us5GProbeSize;
4610 wpt_uint8 a5GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
4611} WDI_PNOScanReqType;
4612
4613/*---------------------------------------------------------------------------
4614 WDI_PNOScanReqParamsType
4615 PNO info passed to WDI form WDA
4616---------------------------------------------------------------------------*/
4617typedef struct
4618{
4619 /* PNO Info Type, same as tPrefNetwListParams */
4620 WDI_PNOScanReqType wdiPNOScanInfo;
4621 /* Request status callback offered by UMAC - it is called if the current req
4622 has returned PENDING as status; it delivers the status of sending the message
4623 over the BUS */
4624 WDI_ReqStatusCb wdiReqStatusCB;
4625 /* The user data passed in by UMAC, it will be sent back when the above
4626 function pointer will be called */
4627 void* pUserData;
4628} WDI_PNOScanReqParamsType;
4629
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004630#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
4631
4632typedef struct
4633{
4634 /*The SSID of the preferred network*/
4635 WDI_MacSSid ssId;
4636 wpt_uint8 currAPbssid[WDI_MAC_ADDR_LEN];
4637
4638 /*The authentication method of the preferred network*/
4639 WDI_AuthType authentication;
4640
4641 /*The encryption method of the preferred network*/
4642 WDI_EdType encryption;
4643 WDI_EdType mcencryption;
4644
4645 /*SSID broadcast type, normal, hidden or unknown*/
4646 //WDI_SSIDBcastType wdiBcastNetworkType;
4647
4648 /*channel count - 0 for all channels*/
4649 wpt_uint8 ChannelCount;
4650
4651 /*the actual channels*/
4652 wpt_uint8 ChannelCache[WDI_ROAM_SCAN_MAX_CHANNELS];
4653
4654} WDI_RoamNetworkType;
4655
4656typedef struct WDIMobilityDomainInfo
4657{
4658 wpt_uint8 mdiePresent;
4659 wpt_uint16 mobilityDomain;
4660} WDI_MobilityDomainInfo;
4661
4662/*---------------------------------------------------------------------------
4663 WDI_RoamOffloadScanInfo
4664---------------------------------------------------------------------------*/
4665typedef struct
4666{
4667 wpt_boolean RoamScanOffloadEnabled;
4668 wpt_uint8 LookupThreshold;
4669 wpt_uint8 RoamRssiDiff;
4670 wpt_uint8 ChannelCacheType;
4671 wpt_uint8 Command;
4672 wpt_uint8 StartScanReason;
4673 wpt_uint16 NeighborScanTimerPeriod;
4674 wpt_uint16 NeighborRoamScanRefreshPeriod;
4675 wpt_uint16 NeighborScanChannelMinTime;
4676 wpt_uint16 NeighborScanChannelMaxTime;
4677 wpt_uint16 EmptyRefreshScanPeriod;
4678 wpt_uint8 ValidChannelCount;
4679 wpt_uint8 ValidChannelList[WDI_ROAM_SCAN_MAX_CHANNELS];
4680 wpt_boolean IsCCXEnabled;
4681 /*Probe template for 2.4GHz band*/
4682 wpt_uint16 us24GProbeSize;
4683 wpt_uint8 a24GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
4684
4685 /*Probe template for 5GHz band*/
4686 wpt_uint16 us5GProbeSize;
4687 wpt_uint8 a5GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07004688 /*LFR BG Scan will currently look for only one network to which it is initially connected.
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004689 * As per requirement, later, the following structure can be used as an array of networks.*/
4690 WDI_RoamNetworkType ConnectedNetwork;
4691 WDI_MobilityDomainInfo MDID;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07004692 wpt_uint8 nProbes;
4693 wpt_uint16 HomeAwayTime;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004694 wpt_uint8 ReservedBytes[WDI_ROAM_SCAN_RESERVED_BYTES];
4695} WDI_RoamOffloadScanInfo;
4696
4697typedef struct
4698{
4699 /* Start Roam Candidate Lookup Offload Back Ground Info Type */
4700 WDI_RoamOffloadScanInfo wdiRoamOffloadScanInfo;
4701 /* Request status callback offered by UMAC - it is called if the current req
4702 has returned PENDING as status; it delivers the status of sending the message
4703 over the BUS */
4704 WDI_ReqStatusCb wdiReqStatusCB;
4705 /* The user data passed in by UMAC, it will be sent back when the above
4706 function pointer will be called */
4707 void* pUserData;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07004708} WDI_RoamScanOffloadReqParamsType;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004709
4710#endif
4711
Jeff Johnson295189b2012-06-20 16:38:30 -07004712/*---------------------------------------------------------------------------
4713 WDI_SetRssiFilterReqParamsType
4714 PNO info passed to WDI form WDA
4715---------------------------------------------------------------------------*/
4716typedef struct
4717{
4718 /* RSSI Threshold */
4719 wpt_uint8 rssiThreshold;
4720 /* Request status callback offered by UMAC - it is called if the current req
4721 has returned PENDING as status; it delivers the status of sending the message
4722 over the BUS */
4723 WDI_ReqStatusCb wdiReqStatusCB;
4724 /* The user data passed in by UMAC, it will be sent back when the above
4725 function pointer will be called */
4726 void* pUserData;
4727} WDI_SetRssiFilterReqParamsType;
4728
4729/*---------------------------------------------------------------------------
4730 WDI_UpdateScanParamsInfo
4731---------------------------------------------------------------------------*/
4732typedef struct
4733{
4734 /*Is 11d enabled*/
4735 wpt_uint8 b11dEnabled;
4736
4737 /*Was UMAc able to find the regulatory domain*/
4738 wpt_uint8 b11dResolved;
4739
4740 /*Number of channel allowed in the regulatory domain*/
4741 wpt_uint8 ucChannelCount;
4742
4743 /*The actual channels allowed in the regulatory domain*/
Pratik Bhalgatd4404592012-11-22 17:49:14 +05304744 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
Jeff Johnson295189b2012-06-20 16:38:30 -07004745
4746 /*Passive min channel time*/
4747 wpt_uint16 usPassiveMinChTime;
4748
4749 /*Passive max channel time*/
4750 wpt_uint16 usPassiveMaxChTime;
4751
4752 /*Active min channel time*/
4753 wpt_uint16 usActiveMinChTime;
4754
4755 /*Active max channel time*/
4756 wpt_uint16 usActiveMaxChTime;
4757
4758 /*channel bonding info*/
4759 wpt_uint8 cbState;
4760} WDI_UpdateScanParamsInfo;
4761
4762/*---------------------------------------------------------------------------
4763 WDI_UpdateScanParamsInfoType
4764 UpdateScanParams info passed to WDI form WDA
4765---------------------------------------------------------------------------*/
4766typedef struct
4767{
4768 /* PNO Info Type, same as tUpdateScanParams */
4769 WDI_UpdateScanParamsInfo wdiUpdateScanParamsInfo;
4770 /* Request status callback offered by UMAC - it is called if the current req
4771 has returned PENDING as status; it delivers the status of sending the message
4772 over the BUS */
4773 WDI_ReqStatusCb wdiReqStatusCB;
4774 /* The user data passed in by UMAC, it will be sent back when the above
4775 function pointer will be called */
4776 void* pUserData;
4777} WDI_UpdateScanParamsInfoType;
4778#endif // FEATURE_WLAN_SCAN_PNO
4779
4780/*---------------------------------------------------------------------------
4781 WDI_UpdateScanParamsInfo
4782---------------------------------------------------------------------------*/
4783typedef struct
4784{
4785 /* Ignore DTIM */
4786 wpt_uint32 uIgnoreDTIM;
4787
4788 /*DTIM Period*/
4789 wpt_uint32 uDTIMPeriod;
4790
4791 /* Listen Interval */
4792 wpt_uint32 uListenInterval;
4793
4794 /* Broadcast Multicas Filter */
4795 wpt_uint32 uBcastMcastFilter;
4796
4797 /* Beacon Early Termination */
4798 wpt_uint32 uEnableBET;
4799
4800 /* Beacon Early Termination Interval */
4801 wpt_uint32 uBETInterval;
4802
Yue Mac24062f2013-05-13 17:01:29 -07004803 /* MAX LI for modulated DTIM */
4804 wpt_uint32 uMaxLIModulatedDTIM;
4805
Jeff Johnson295189b2012-06-20 16:38:30 -07004806} WDI_SetPowerParamsInfo;
4807
4808/*---------------------------------------------------------------------------
4809 WDI_UpdateScanParamsInfoType
4810 UpdateScanParams info passed to WDI form WDA
4811---------------------------------------------------------------------------*/
4812typedef struct
4813{
4814 /* Power params Info Type, same as tSetPowerParamsReq */
4815 WDI_SetPowerParamsInfo wdiSetPowerParamsInfo;
4816 /* Request status callback offered by UMAC - it is called if the current req
4817 has returned PENDING as status; it delivers the status of sending the message
4818 over the BUS */
4819 WDI_ReqStatusCb wdiReqStatusCB;
4820 /* The user data passed in by UMAC, it will be sent back when the above
4821 function pointer will be called */
4822 void* pUserData;
4823}WDI_SetPowerParamsReqParamsType;
4824
4825/*---------------------------------------------------------------------------
4826 WDI_SetTxPerTrackingConfType
4827 Wowl add ptrn info passed to WDA form UMAC
4828---------------------------------------------------------------------------*/
4829typedef struct
4830{
4831 wpt_uint8 ucTxPerTrackingEnable; /* 0: disable, 1:enable */
4832 wpt_uint8 ucTxPerTrackingPeriod; /* Check period, unit is sec. */
4833 wpt_uint8 ucTxPerTrackingRatio; /* (Fail TX packet)/(Total TX packet) ratio, the unit is 10%. */
4834 wpt_uint32 uTxPerTrackingWatermark; /* A watermark of check number, once the tx packet exceed this number, we do the check, default is 5 */
4835} WDI_TxPerTrackingParamType;
4836
4837/*---------------------------------------------------------------------------
4838 WDI_SetTxPerTrackingReqParamsType
4839 Tx PER Tracking parameters passed to WDI from WDA
4840---------------------------------------------------------------------------*/
4841typedef struct
4842{
4843 /* Configurations for Tx PER Tracking */
4844 WDI_TxPerTrackingParamType wdiTxPerTrackingParam;
4845 /*Request status callback offered by UMAC - it is called if the current req
4846 has returned PENDING as status; it delivers the status of sending the message
4847 over the BUS */
4848 WDI_ReqStatusCb wdiReqStatusCB;
4849 /*The user data passed in by UMAC, it will be sent back when the above
4850 function pointer will be called */
4851 void* pUserData;
4852}WDI_SetTxPerTrackingReqParamsType;
4853
4854#ifdef WLAN_FEATURE_PACKET_FILTERING
4855/*---------------------------------------------------------------------------
4856 Packet Filtering Parameters
4857---------------------------------------------------------------------------*/
4858
4859#define WDI_IPV4_ADDR_LEN 4
4860#define WDI_MAC_ADDR_LEN 6
4861#define WDI_MAX_FILTER_TEST_DATA_LEN 8
4862#define WDI_MAX_NUM_MULTICAST_ADDRESS 240
4863#define WDI_MAX_NUM_FILTERS 20
4864#define WDI_MAX_NUM_TESTS_PER_FILTER 10
4865
4866//
4867// Receive Filter Parameters
4868//
4869typedef enum
4870{
4871 WDI_RCV_FILTER_TYPE_INVALID,
4872 WDI_RCV_FILTER_TYPE_FILTER_PKT,
4873 WDI_RCV_FILTER_TYPE_BUFFER_PKT,
4874 WDI_RCV_FILTER_TYPE_MAX_ENUM_SIZE
4875}WDI_ReceivePacketFilterType;
4876
4877typedef enum
4878{
4879 WDI_FILTER_HDR_TYPE_INVALID,
4880 WDI_FILTER_HDR_TYPE_MAC,
4881 WDI_FILTER_HDR_TYPE_ARP,
4882 WDI_FILTER_HDR_TYPE_IPV4,
4883 WDI_FILTER_HDR_TYPE_IPV6,
4884 WDI_FILTER_HDR_TYPE_UDP,
4885 WDI_FILTER_HDR_TYPE_MAX
4886}WDI_RcvPktFltProtocolType;
4887
4888typedef enum
4889{
4890 WDI_FILTER_CMP_TYPE_INVALID,
4891 WDI_FILTER_CMP_TYPE_EQUAL,
4892 WDI_FILTER_CMP_TYPE_MASK_EQUAL,
4893 WDI_FILTER_CMP_TYPE_NOT_EQUAL,
4894 WDI_FILTER_CMP_TYPE_MASK_NOT_EQUAL,
4895 WDI_FILTER_CMP_TYPE_MAX
4896}WDI_RcvPktFltCmpFlagType;
4897
4898typedef struct
4899{
4900 WDI_RcvPktFltProtocolType protocolLayer;
4901 WDI_RcvPktFltCmpFlagType cmpFlag;
4902/* Length of the data to compare */
4903 wpt_uint16 dataLength;
4904/* from start of the respective frame header */
4905 wpt_uint8 dataOffset;
4906 wpt_uint8 reserved; /* Reserved field */
4907/* Data to compare */
4908 wpt_uint8 compareData[WDI_MAX_FILTER_TEST_DATA_LEN];
4909/* Mask to be applied on the received packet data before compare */
4910 wpt_uint8 dataMask[WDI_MAX_FILTER_TEST_DATA_LEN];
4911}WDI_RcvPktFilterFieldParams;
4912
4913typedef struct
4914{
4915 wpt_uint8 filterId;
4916 wpt_uint8 filterType;
4917 wpt_uint32 numFieldParams;
4918 wpt_uint32 coalesceTime;
Jeff Johnsone7245742012-09-05 17:12:55 -07004919 wpt_macAddr selfMacAddr;
4920 wpt_macAddr bssId;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004921 WDI_RcvPktFilterFieldParams paramsData[1];
4922
Jeff Johnson295189b2012-06-20 16:38:30 -07004923}WDI_RcvPktFilterCfgType;
4924
4925typedef struct
4926{
4927 /*Request status callback offered by UMAC - it is called if the current
4928 req has returned PENDING as status; it delivers the status of sending
4929 the message over the BUS */
4930 WDI_ReqStatusCb wdiReqStatusCB;
4931
4932 /*The user data passed in by UMAC, it will be sent back when the above
4933 function pointer will be called */
4934 void* pUserData;
4935
4936 // Variable length packet filter field params
4937 WDI_RcvPktFilterCfgType wdiPktFilterCfg;
4938} WDI_SetRcvPktFilterReqParamsType;
4939
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004940typedef struct
4941{
4942 /*Result of the operation*/
4943 WDI_Status wdiStatus;
4944 /* BSSIDX of the Set Receive Filter
4945 */
4946 wpt_uint8 bssIdx;
4947} WDI_SetRcvPktFilterRspParamsType;
4948
Jeff Johnson295189b2012-06-20 16:38:30 -07004949//
4950// Filter Packet Match Count Parameters
4951//
4952typedef struct
4953{
4954 /*Request status callback offered by UMAC - it is called if the current
4955 req has returned PENDING as status; it delivers the status of sending
4956 the message over the BUS */
4957 WDI_ReqStatusCb wdiReqStatusCB;
4958
4959 /*The user data passed in by UMAC, it will be sent back when the above
4960 function pointer will be called */
4961 void* pUserData;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004962
4963 /* BSSID of the Match count
4964 */
4965 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004966} WDI_RcvFltPktMatchCntReqParamsType;
4967
4968typedef struct
4969{
4970 wpt_uint8 filterId;
4971 wpt_uint32 matchCnt;
4972} WDI_RcvFltPktMatchCnt;
4973
4974typedef struct
4975{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004976 /*Result of the operation*/
4977 WDI_Status wdiStatus;
Jeff Johnson295189b2012-06-20 16:38:30 -07004978
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004979 /* BSSIDX of the Match count response
4980 */
4981 wpt_uint8 bssIdx;
4982
Jeff Johnson295189b2012-06-20 16:38:30 -07004983} WDI_RcvFltPktMatchCntRspParamsType;
4984
Jeff Johnson295189b2012-06-20 16:38:30 -07004985//
4986// Receive Filter Clear Parameters
4987//
4988typedef struct
4989{
4990 wpt_uint32 status; /* only valid for response message */
4991 wpt_uint8 filterId;
Jeff Johnsone7245742012-09-05 17:12:55 -07004992 wpt_macAddr selfMacAddr;
4993 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004994}WDI_RcvFltPktClearParam;
4995
4996typedef struct
4997{
4998 WDI_RcvFltPktClearParam filterClearParam;
4999 /*Request status callback offered by UMAC - it is called if the current
5000 req has returned PENDING as status; it delivers the status of sending
5001 the message over the BUS */
5002 WDI_ReqStatusCb wdiReqStatusCB;
5003
5004 /*The user data passed in by UMAC, it will be sent back when the above
5005 function pointer will be called */
5006 void* pUserData;
5007} WDI_RcvFltPktClearReqParamsType;
5008
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005009typedef struct
5010{
5011 /*Result of the operation*/
5012 WDI_Status wdiStatus;
5013 /* BSSIDX of the Match count response
5014 */
5015 wpt_uint8 bssIdx;
5016
5017} WDI_RcvFltPktClearRspParamsType;
5018
Jeff Johnson295189b2012-06-20 16:38:30 -07005019//
5020// Multicast Address List Parameters
5021//
5022typedef struct
5023{
5024 wpt_uint32 ulMulticastAddrCnt;
5025 wpt_macAddr multicastAddr[WDI_MAX_NUM_MULTICAST_ADDRESS];
Jeff Johnsone7245742012-09-05 17:12:55 -07005026 wpt_macAddr selfMacAddr;
5027 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005028} WDI_RcvFltMcAddrListType;
5029
5030typedef struct
5031{
5032 WDI_RcvFltMcAddrListType mcAddrList;
5033 /*Request status callback offered by UMAC - it is called if the current
5034 req has returned PENDING as status; it delivers the status of sending
5035 the message over the BUS */
5036 WDI_ReqStatusCb wdiReqStatusCB;
5037
5038 /*The user data passed in by UMAC, it will be sent back when the above
5039 function pointer will be called */
5040 void* pUserData;
5041} WDI_RcvFltPktSetMcListReqParamsType;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005042
5043typedef struct
5044{
5045 /*Result of the operation*/
5046 WDI_Status wdiStatus;
5047 /* BSSIDX of the Match count response
5048 */
5049 wpt_uint8 bssIdx;
5050} WDI_RcvFltPktSetMcListRspParamsType;
5051
Jeff Johnson295189b2012-06-20 16:38:30 -07005052#endif // WLAN_FEATURE_PACKET_FILTERING
5053
5054/*---------------------------------------------------------------------------
5055 WDI_HALDumpCmdReqInfoType
5056---------------------------------------------------------------------------*/
5057typedef struct
5058{
5059 /*command*/
5060 wpt_uint32 command;
5061
5062 /*Arguments*/
5063 wpt_uint32 argument1;
5064 wpt_uint32 argument2;
5065 wpt_uint32 argument3;
5066 wpt_uint32 argument4;
5067
5068}WDI_HALDumpCmdReqInfoType;
5069
5070/*---------------------------------------------------------------------------
5071 WDI_HALDumpCmdReqParamsType
5072---------------------------------------------------------------------------*/
5073typedef struct
5074{
5075 /*NV Blob Info*/
5076 WDI_HALDumpCmdReqInfoType wdiHALDumpCmdInfoType;
5077
5078 /*Request status callback offered by UMAC - it is called if the current
5079 req has returned PENDING as status; it delivers the status of sending
5080 the message over the BUS */
5081 WDI_ReqStatusCb wdiReqStatusCB;
5082
5083 /*The user data passed in by UMAC, it will be sent back when the above
5084 function pointer will be called */
5085 void* pUserData;
5086
5087}WDI_HALDumpCmdReqParamsType;
5088
5089
5090/*---------------------------------------------------------------------------
5091 WDI_HALDumpCmdRspParamsType
5092---------------------------------------------------------------------------*/
5093typedef struct
5094{
5095 /*Result of the operation*/
5096 WDI_Status wdiStatus;
5097
5098 /* length of the buffer */
5099 wpt_uint16 usBufferLen;
5100
5101 /* Buffer */
5102 wpt_uint8 *pBuffer;
5103}WDI_HALDumpCmdRspParamsType;
5104
5105
5106/*---------------------------------------------------------------------------
5107 WDI_SetTmLevelReqType
5108---------------------------------------------------------------------------*/
5109typedef struct
5110{
5111 wpt_uint16 tmMode;
5112 wpt_uint16 tmLevel;
5113 void* pUserData;
5114}WDI_SetTmLevelReqType;
5115
5116/*---------------------------------------------------------------------------
5117 WDI_SetTmLevelRspType
5118---------------------------------------------------------------------------*/
5119typedef struct
5120{
5121 WDI_Status wdiStatus;
5122 void* pUserData;
5123}WDI_SetTmLevelRspType;
5124
Leo Chang9056f462013-08-01 19:21:11 -07005125#ifdef FEATURE_WLAN_LPHB
5126/*---------------------------------------------------------------------------
5127 WDI_LPHBConfigParamsType
5128---------------------------------------------------------------------------*/
5129typedef struct
5130{
5131 void* pLphsConfIndData;
5132}WDI_LPHBConfigParamsType;
5133#endif /* FEATURE_WLAN_LPHB */
5134
Yue Mab9c86f42013-08-14 15:59:08 -07005135/*---------------------------------------------------------------------------
5136 WDI_AddPeriodicTxPtrnInfoType
5137---------------------------------------------------------------------------*/
5138typedef struct
5139{
5140 /* MAC Address for the adapter */
5141 wpt_macAddr macAddr;
5142
5143 wpt_uint8 ucPtrnId; // Pattern ID
5144 wpt_uint16 ucPtrnSize; // Pattern size
5145 wpt_uint32 usPtrnIntervalMs; // In msec
5146 wpt_uint8 ucPattern[PERIODIC_TX_PTRN_MAX_SIZE]; // Pattern buffer
5147} WDI_AddPeriodicTxPtrnInfoType;
5148
5149/*---------------------------------------------------------------------------
5150 WDI_DelPeriodicTxPtrnInfoType
5151---------------------------------------------------------------------------*/
5152typedef struct
5153{
5154 /* MAC Address for the adapter */
5155 wpt_macAddr macAddr;
5156
5157 /* Bitmap of pattern IDs that needs to be deleted */
5158 wpt_uint32 ucPatternIdBitmap;
5159} WDI_DelPeriodicTxPtrnInfoType;
5160
5161/*---------------------------------------------------------------------------
5162 WDI_AddPeriodicTxPtrnParamsType
5163---------------------------------------------------------------------------*/
5164typedef struct
5165{
5166 WDI_AddPeriodicTxPtrnInfoType wdiAddPeriodicTxPtrnParams;
5167
5168 /*Request status callback offered by UMAC - it is called if the current
5169 req has returned PENDING as status; it delivers the status of sending
5170 the message over the BUS */
5171 WDI_ReqStatusCb wdiReqStatusCB;
5172
5173 /*The user data passed in by UMAC, it will be sent back when the above
5174 function pointer will be called */
5175 void* pUserData;
5176} WDI_AddPeriodicTxPtrnParamsType;
5177
5178/*---------------------------------------------------------------------------
5179 WDI_DelPeriodicTxPtrnParamsType
5180---------------------------------------------------------------------------*/
5181typedef struct
5182{
5183 WDI_DelPeriodicTxPtrnInfoType wdiDelPeriodicTxPtrnParams;
5184
5185 /*Request status callback offered by UMAC - it is called if the current
5186 req has returned PENDING as status; it delivers the status of sending
5187 the message over the BUS */
5188 WDI_ReqStatusCb wdiReqStatusCB;
5189
5190 /*The user data passed in by UMAC, it will be sent back when the above
5191 function pointer will be called */
5192 void* pUserData;
5193} WDI_DelPeriodicTxPtrnParamsType;
5194
Jeff Johnson295189b2012-06-20 16:38:30 -07005195/*----------------------------------------------------------------------------
5196 * WDI callback types
5197 *--------------------------------------------------------------------------*/
5198
5199/*---------------------------------------------------------------------------
5200 WDI_StartRspCb
5201
5202 DESCRIPTION
5203
5204 This callback is invoked by DAL when it has received a Start response from
5205 the underlying device.
5206
5207 PARAMETERS
5208
5209 IN
5210 wdiRspParams: response parameters received from HAL
5211 pUserData: user data
5212
5213
5214 RETURN VALUE
5215 The result code associated with performing the operation
5216---------------------------------------------------------------------------*/
5217typedef void (*WDI_StartRspCb)(WDI_StartRspParamsType* pwdiRspParams,
5218 void* pUserData);
5219
5220/*---------------------------------------------------------------------------
5221 WDI_StartRspCb
5222
5223 DESCRIPTION
5224
5225 This callback is invoked by DAL when it has received a Stop response from
5226 the underlying device.
5227
5228 PARAMETERS
5229
5230 IN
5231 wdiStatus: response status received from HAL
5232 pUserData: user data
5233
5234
5235
5236 RETURN VALUE
5237 The result code associated with performing the operation
5238---------------------------------------------------------------------------*/
5239typedef void (*WDI_StopRspCb)(WDI_Status wdiStatus,
5240 void* pUserData);
5241
5242/*---------------------------------------------------------------------------
5243 WDI_StartRspCb
5244
5245 DESCRIPTION
5246
5247 This callback is invoked by DAL when it has received an Init Scan response
5248 from the underlying device.
5249
5250 PARAMETERS
5251
5252 IN
5253 wdiStatus: response status received from HAL
5254 pUserData: user data
5255
5256
5257
5258 RETURN VALUE
5259 The result code associated with performing the operation
5260---------------------------------------------------------------------------*/
5261typedef void (*WDI_InitScanRspCb)(WDI_Status wdiStatus,
5262 void* pUserData);
5263
5264
5265/*---------------------------------------------------------------------------
5266 WDI_StartRspCb
5267
5268 DESCRIPTION
5269
5270 This callback is invoked by DAL when it has received a StartScan response
5271 from the underlying device.
5272
5273 PARAMETERS
5274
5275 IN
5276 wdiParams: response params received from HAL
5277 pUserData: user data
5278
5279
5280
5281 RETURN VALUE
5282 The result code associated with performing the operation
5283---------------------------------------------------------------------------*/
5284typedef void (*WDI_StartScanRspCb)(WDI_StartScanRspParamsType* wdiParams,
5285 void* pUserData);
5286
5287
5288/*---------------------------------------------------------------------------
5289 WDI_StartRspCb
5290
5291 DESCRIPTION
5292
5293 This callback is invoked by DAL when it has received a End Scan response
5294 from the underlying device.
5295
5296 PARAMETERS
5297
5298 IN
5299 wdiStatus: response status received from HAL
5300 pUserData: user data
5301
5302
5303
5304 RETURN VALUE
5305 The result code associated with performing the operation
5306---------------------------------------------------------------------------*/
5307typedef void (*WDI_EndScanRspCb)(WDI_Status wdiStatus,
5308 void* pUserData);
5309
5310
5311/*---------------------------------------------------------------------------
5312 WDI_StartRspCb
5313
5314 DESCRIPTION
5315
5316 This callback is invoked by DAL when it has received a Finish Scan response
5317 from the underlying device.
5318
5319 PARAMETERS
5320
5321 IN
5322 wdiStatus: response status received from HAL
5323 pUserData: user data
5324
5325
5326
5327 RETURN VALUE
5328 The result code associated with performing the operation
5329---------------------------------------------------------------------------*/
5330typedef void (*WDI_FinishScanRspCb)(WDI_Status wdiStatus,
5331 void* pUserData);
5332
5333
5334/*---------------------------------------------------------------------------
5335 WDI_StartRspCb
5336
5337 DESCRIPTION
5338
5339 This callback is invoked by DAL when it has received a Join response from
5340 the underlying device.
5341
5342 PARAMETERS
5343
5344 IN
5345 wdiStatus: response status received from HAL
5346 pUserData: user data
5347
5348
5349
5350 RETURN VALUE
5351 The result code associated with performing the operation
5352---------------------------------------------------------------------------*/
5353typedef void (*WDI_JoinRspCb)(WDI_Status wdiStatus,
5354 void* pUserData);
5355
5356
5357/*---------------------------------------------------------------------------
5358 WDI_StartRspCb
5359
5360 DESCRIPTION
5361
5362 This callback is invoked by DAL when it has received a Config BSS response
5363 from the underlying device.
5364
5365 PARAMETERS
5366
5367 IN
5368 wdiConfigBSSRsp: response parameters received from HAL
5369 pUserData: user data
5370
5371
5372 RETURN VALUE
5373 The result code associated with performing the operation
5374---------------------------------------------------------------------------*/
5375typedef void (*WDI_ConfigBSSRspCb)(
5376 WDI_ConfigBSSRspParamsType* pwdiConfigBSSRsp,
5377 void* pUserData);
5378
5379
5380/*---------------------------------------------------------------------------
5381 WDI_StartRspCb
5382
5383 DESCRIPTION
5384
5385 This callback is invoked by DAL when it has received a Del BSS response from
5386 the underlying device.
5387
5388 PARAMETERS
5389
5390 IN
5391 wdiDelBSSRsp: response parameters received from HAL
5392 pUserData: user data
5393
5394
5395 RETURN VALUE
5396 The result code associated with performing the operation
5397---------------------------------------------------------------------------*/
5398typedef void (*WDI_DelBSSRspCb)(WDI_DelBSSRspParamsType* pwdiDelBSSRsp,
5399 void* pUserData);
5400
5401
5402/*---------------------------------------------------------------------------
5403 WDI_StartRspCb
5404
5405 DESCRIPTION
5406
5407 This callback is invoked by DAL when it has received a Post Assoc response
5408 from the underlying device.
5409
5410 PARAMETERS
5411
5412 IN
5413 wdiRspParams: response parameters received from HAL
5414 pUserData: user data
5415
5416
5417 RETURN VALUE
5418 The result code associated with performing the operation
5419---------------------------------------------------------------------------*/
5420typedef void (*WDI_PostAssocRspCb)(
5421 WDI_PostAssocRspParamsType* pwdiPostAssocRsp,
5422 void* pUserData);
5423
5424
5425/*---------------------------------------------------------------------------
5426 WDI_StartRspCb
5427
5428 DESCRIPTION
5429
5430 This callback is invoked by DAL when it has received a Del STA response from
5431 the underlying device.
5432
5433 PARAMETERS
5434
5435 IN
5436 wdiDelSTARsp: response parameters received from HAL
5437 pUserData: user data
5438
5439
5440 RETURN VALUE
5441 The result code associated with performing the operation
5442---------------------------------------------------------------------------*/
5443typedef void (*WDI_DelSTARspCb)(WDI_DelSTARspParamsType* pwdiDelSTARsp,
5444 void* pUserData);
5445
5446
5447
5448/*---------------------------------------------------------------------------
5449 WDI_StartRspCb
5450
5451 DESCRIPTION
5452
5453 This callback is invoked by DAL when it has received a Set BSS Key response
5454 from the underlying device.
5455
5456 PARAMETERS
5457
5458 IN
5459 wdiStatus: response status received from HAL
5460 pUserData: user data
5461
5462
5463
5464 RETURN VALUE
5465 The result code associated with performing the operation
5466---------------------------------------------------------------------------*/
5467typedef void (*WDI_SetBSSKeyRspCb)(WDI_Status wdiStatus,
5468 void* pUserData);
5469
5470/*---------------------------------------------------------------------------
5471 WDI_StartRspCb
5472
5473 DESCRIPTION
5474
5475 This callback is invoked by DAL when it has received a Remove BSS Key
5476 response from the underlying device.
5477
5478 PARAMETERS
5479
5480 IN
5481 wdiStatus: response status received from HAL
5482 pUserData: user data
5483
5484
5485
5486 RETURN VALUE
5487 The result code associated with performing the operation
5488---------------------------------------------------------------------------*/
5489typedef void (*WDI_RemoveBSSKeyRspCb)(WDI_Status wdiStatus,
5490 void* pUserData);
5491
5492/*---------------------------------------------------------------------------
5493 WDI_StartRspCb
5494
5495 DESCRIPTION
5496
5497 This callback is invoked by DAL when it has received a Set STA Key response
5498 from the underlying device.
5499
5500 PARAMETERS
5501
5502 IN
5503 wdiStatus: response status received from HAL
5504 pUserData: user data
5505
5506
5507
5508 RETURN VALUE
5509 The result code associated with performing the operation
5510---------------------------------------------------------------------------*/
5511typedef void (*WDI_SetSTAKeyRspCb)(WDI_Status wdiStatus,
5512 void* pUserData);
5513
5514
5515/*---------------------------------------------------------------------------
5516 WDI_StartRspCb
5517
5518 DESCRIPTION
5519
5520 This callback is invoked by DAL when it has received a Remove STA Key
5521 response from the underlying device.
5522
5523 PARAMETERS
5524
5525 IN
5526 wdiStatus: response status received from HAL
5527 pUserData: user data
5528
5529
5530
5531 RETURN VALUE
5532 The result code associated with performing the operation
5533---------------------------------------------------------------------------*/
5534typedef void (*WDI_RemoveSTAKeyRspCb)(WDI_Status wdiStatus,
5535 void* pUserData);
5536
5537
5538#ifdef FEATURE_WLAN_CCX
5539/*---------------------------------------------------------------------------
5540 WDI_TsmRspCb
5541
5542 DESCRIPTION
5543
5544 This callback is invoked by DAL when it has received a TSM Stats response from the underlying device.
5545
5546 PARAMETERS
5547
5548 IN
5549 pTSMStats: response status received from HAL
5550 pUserData: user data
5551
5552
5553
5554 RETURN VALUE
5555 The result code associated with performing the operation
5556---------------------------------------------------------------------------*/
5557typedef void (*WDI_TsmRspCb)(WDI_TSMStatsRspParamsType *pTSMStats,
5558 void* pUserData);
5559#endif
5560
5561/*---------------------------------------------------------------------------
5562 WDI_StartRspCb
5563
5564 DESCRIPTION
5565
5566 This callback is invoked by DAL when it has received a Add TS response from
5567 the underlying device.
5568
5569 PARAMETERS
5570
5571 IN
5572 wdiStatus: response status received from HAL
5573 pUserData: user data
5574
5575
5576
5577 RETURN VALUE
5578 The result code associated with performing the operation
5579---------------------------------------------------------------------------*/
5580typedef void (*WDI_AddTsRspCb)(WDI_Status wdiStatus,
5581 void* pUserData);
5582
5583/*---------------------------------------------------------------------------
5584 WDI_StartRspCb
5585
5586 DESCRIPTION
5587
5588 This callback is invoked by DAL when it has received a Del TS response from
5589 the underlying device.
5590
5591 PARAMETERS
5592
5593 IN
5594 wdiStatus: response status received from HAL
5595 pUserData: user data
5596
5597
5598
5599 RETURN VALUE
5600 The result code associated with performing the operation
5601---------------------------------------------------------------------------*/
5602typedef void (*WDI_DelTsRspCb)(WDI_Status wdiStatus,
5603 void* pUserData);
5604
5605/*---------------------------------------------------------------------------
5606 WDI_StartRspCb
5607
5608 DESCRIPTION
5609
5610 This callback is invoked by DAL when it has received an Update EDCA Params
5611 response from the underlying device.
5612
5613 PARAMETERS
5614
5615 IN
5616 wdiStatus: response status received from HAL
5617 pUserData: user data
5618
5619
5620
5621 RETURN VALUE
5622 The result code associated with performing the operation
5623---------------------------------------------------------------------------*/
5624typedef void (*WDI_UpdateEDCAParamsRspCb)(WDI_Status wdiStatus,
5625 void* pUserData);
5626
5627/*---------------------------------------------------------------------------
5628 WDI_StartRspCb
5629
5630 DESCRIPTION
5631
5632 This callback is invoked by DAL when it has received a Add BA response from
5633 the underlying device.
5634
5635 PARAMETERS
5636
5637 IN
5638 wdiStatus: response status received from HAL
5639 pUserData: user data
5640
5641
5642
5643 RETURN VALUE
5644 The result code associated with performing the operation
5645---------------------------------------------------------------------------*/
5646typedef void (*WDI_AddBASessionRspCb)(
5647 WDI_AddBASessionRspParamsType* wdiAddBASessionRsp,
5648 void* pUserData);
5649
5650
5651/*---------------------------------------------------------------------------
5652 WDI_StartRspCb
5653
5654 DESCRIPTION
5655
5656 This callback is invoked by DAL when it has received a Del BA response from
5657 the underlying device.
5658
5659 PARAMETERS
5660
5661 IN
5662 wdiStatus: response status received from HAL
5663 pUserData: user data
5664
5665
5666
5667 RETURN VALUE
5668 The result code associated with performing the operation
5669---------------------------------------------------------------------------*/
5670typedef void (*WDI_DelBARspCb)(WDI_Status wdiStatus,
5671 void* pUserData);
5672
5673
5674/*---------------------------------------------------------------------------
5675 WDI_StartRspCb
5676
5677 DESCRIPTION
5678
5679 This callback is invoked by DAL when it has received a Switch Ch response
5680 from the underlying device.
5681
5682 PARAMETERS
5683
5684 IN
5685 wdiRspParams: response parameters received from HAL
5686 pUserData: user data
5687
5688
5689 RETURN VALUE
5690 The result code associated with performing the operation
5691---------------------------------------------------------------------------*/
5692typedef void (*WDI_SwitchChRspCb)(WDI_SwitchCHRspParamsType* pwdiSwitchChRsp,
5693 void* pUserData);
5694
5695
5696/*---------------------------------------------------------------------------
5697 WDI_StartRspCb
5698
5699 DESCRIPTION
5700
5701 This callback is invoked by DAL when it has received a Config STA response
5702 from the underlying device.
5703
5704 PARAMETERS
5705
5706 IN
5707 wdiRspParams: response parameters received from HAL
5708 pUserData: user data
5709
5710
5711 RETURN VALUE
5712 The result code associated with performing the operation
5713---------------------------------------------------------------------------*/
5714typedef void (*WDI_ConfigSTARspCb)(
5715 WDI_ConfigSTARspParamsType* pwdiConfigSTARsp,
5716 void* pUserData);
5717
5718
5719/*---------------------------------------------------------------------------
5720 WDI_StartRspCb
5721
5722 DESCRIPTION
5723
5724 This callback is invoked by DAL when it has received a Set Link State
5725 response from the underlying device.
5726
5727 PARAMETERS
5728
5729 IN
5730 wdiRspParams: response parameters received from HAL
5731 pUserData: user data
5732
5733
5734 RETURN VALUE
5735 The result code associated with performing the operation
5736---------------------------------------------------------------------------*/
5737typedef void (*WDI_SetLinkStateRspCb)( WDI_Status wdiStatus,
5738 void* pUserData);
5739
5740
5741/*---------------------------------------------------------------------------
5742 WDI_StartRspCb
5743
5744 DESCRIPTION
5745
5746 This callback is invoked by DAL when it has received a Get Stats response
5747 from the underlying device.
5748
5749 PARAMETERS
5750
5751 IN
5752 wdiRspParams: response parameters received from HAL
5753 pUserData: user data
5754
5755
5756 RETURN VALUE
5757 The result code associated with performing the operation
5758---------------------------------------------------------------------------*/
5759typedef void (*WDI_GetStatsRspCb)(WDI_GetStatsRspParamsType* pwdiGetStatsRsp,
5760 void* pUserData);
5761
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08005762#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_CCX || defined(FEATURE_WLAN_LFR)
5763/*---------------------------------------------------------------------------
5764 WDI_GetRoamRssiRspCb
5765
5766 DESCRIPTION
5767
5768 This callback is invoked by DAL when it has received a Get Roam Rssi response
5769 from the underlying device.
5770
5771 PARAMETERS
5772
5773 IN
5774 wdiRspParams: response parameters received from HAL
5775 pUserData: user data
5776
5777
5778 RETURN VALUE
5779 The result code associated with performing the operation
5780---------------------------------------------------------------------------*/
5781typedef void (*WDI_GetRoamRssiRspCb)(WDI_GetRoamRssiRspParamsType* pwdiGetRoamRssiRsp,
5782 void* pUserData);
5783#endif
5784
Jeff Johnson295189b2012-06-20 16:38:30 -07005785
5786/*---------------------------------------------------------------------------
5787 WDI_StartRspCb
5788
5789 DESCRIPTION
5790
5791 This callback is invoked by DAL when it has received a Update Cfg response
5792 from the underlying device.
5793
5794 PARAMETERS
5795
5796 IN
5797 wdiStatus: response status received from HAL
5798 pUserData: user data
5799
5800
5801 RETURN VALUE
5802 The result code associated with performing the operation
5803---------------------------------------------------------------------------*/
5804typedef void (*WDI_UpdateCfgRspCb)(WDI_Status wdiStatus,
5805 void* pUserData);
5806
5807/*---------------------------------------------------------------------------
5808 WDI_AddBARspCb
5809
5810 DESCRIPTION
5811
5812 This callback is invoked by DAL when it has received a ADD BA response
5813 from the underlying device.
5814
5815 PARAMETERS
5816
5817 IN
5818 wdiStatus: response status received from HAL
5819 pUserData: user data
5820
5821
5822 RETURN VALUE
5823 The result code associated with performing the operation
5824---------------------------------------------------------------------------*/
5825typedef void (*WDI_AddBARspCb)(WDI_AddBARspinfoType* wdiAddBARsp,
5826 void* pUserData);
5827
5828/*---------------------------------------------------------------------------
5829 WDI_TriggerBARspCb
5830
5831 DESCRIPTION
5832
5833 This callback is invoked by DAL when it has received a ADD BA response
5834 from the underlying device.
5835
5836 PARAMETERS
5837
5838 IN
5839 wdiStatus: response status received from HAL
5840 pUserData: user data
5841
5842
5843 RETURN VALUE
5844 The result code associated with performing the operation
5845---------------------------------------------------------------------------*/
5846typedef void (*WDI_TriggerBARspCb)(WDI_TriggerBARspParamsType* wdiTriggerBARsp,
5847 void* pUserData);
5848
5849
5850/*---------------------------------------------------------------------------
5851 WDI_UpdateBeaconParamsRspCb
5852
5853 DESCRIPTION
5854
5855 This callback is invoked by DAL when it has received a Update Beacon Params response from
5856 the underlying device.
5857
5858 PARAMETERS
5859
5860 IN
5861 wdiStatus: response status received from HAL
5862 pUserData: user data
5863
5864
5865
5866 RETURN VALUE
5867 The result code associated with performing the operation
5868---------------------------------------------------------------------------*/
5869typedef void (*WDI_UpdateBeaconParamsRspCb)(WDI_Status wdiStatus,
5870 void* pUserData);
5871
5872/*---------------------------------------------------------------------------
5873 WDI_SendBeaconParamsRspCb
5874
5875 DESCRIPTION
5876
5877 This callback is invoked by DAL when it has received a Send Beacon Params response from
5878 the underlying device.
5879
5880 PARAMETERS
5881
5882 IN
5883 wdiStatus: response status received from HAL
5884 pUserData: user data
5885
5886
5887
5888 RETURN VALUE
5889 The result code associated with performing the operation
5890---------------------------------------------------------------------------*/
5891typedef void (*WDI_SendBeaconParamsRspCb)(WDI_Status wdiStatus,
5892 void* pUserData);
5893
5894/*---------------------------------------------------------------------------
5895 WDA_SetMaxTxPowerRspCb
5896
5897 DESCRIPTION
5898
5899 This callback is invoked by DAL when it has received a set max Tx Power response from
5900 the underlying device.
5901
5902 PARAMETERS
5903
5904 IN
5905 wdiStatus: response status received from HAL
5906 pUserData: user data
5907
5908
5909
5910 RETURN VALUE
5911 The result code associated with performing the operation
5912---------------------------------------------------------------------------*/
5913typedef void (*WDA_SetMaxTxPowerRspCb)(WDI_SetMaxTxPowerRspMsg *wdiSetMaxTxPowerRsp,
5914 void* pUserData);
5915
5916/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07005917 WDA_SetTxPowerRspCb
5918
5919 DESCRIPTION
5920
5921 This callback is invoked by DAL when it has received a set max Tx Power response from
5922 the underlying device.
5923
5924 PARAMETERS
5925
5926 IN
5927 wdiStatus: response status received from HAL
5928 pUserData: user data
5929
5930 RETURN VALUE
5931 The result code associated with performing the operation
5932---------------------------------------------------------------------------*/
5933typedef void (*WDA_SetTxPowerRspCb)(WDI_SetTxPowerRspMsg *wdiSetTxPowerRsp,
5934 void* pUserData);
5935
5936/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07005937 WDI_UpdateProbeRspTemplateRspCb
5938
5939 DESCRIPTION
5940
5941 This callback is invoked by DAL when it has received a Probe RSP Template
5942 Update response from the underlying device.
5943
5944 PARAMETERS
5945
5946 IN
5947 wdiStatus: response status received from HAL
5948 pUserData: user data
5949
5950
5951
5952 RETURN VALUE
5953 The result code associated with performing the operation
5954---------------------------------------------------------------------------*/
5955typedef void (*WDI_UpdateProbeRspTemplateRspCb)(WDI_Status wdiStatus,
5956 void* pUserData);
5957
Jeff Johnson295189b2012-06-20 16:38:30 -07005958/*---------------------------------------------------------------------------
5959 WDI_SetP2PGONOAReqParamsRspCb
5960
5961 DESCRIPTION
5962
5963 This callback is invoked by DAL when it has received a P2P GO NOA Params response from
5964 the underlying device.
5965
5966 PARAMETERS
5967
5968 IN
5969 wdiStatus: response status received from HAL
5970 pUserData: user data
5971
5972
5973
5974 RETURN VALUE
5975 The result code associated with performing the operation
5976---------------------------------------------------------------------------*/
5977typedef void (*WDI_SetP2PGONOAReqParamsRspCb)(WDI_Status wdiStatus,
5978 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07005979
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05305980/*---------------------------------------------------------------------------
5981 WDI_SetTDLSLinkEstablishReqParamsRspCb
5982
5983 DESCRIPTION
5984
5985 This callback is invoked by DAL when it has received a TDLS Link Establish Req response from
5986 the underlying device.
5987
5988 PARAMETERS
5989
5990 IN
5991 wdiStatus: response status received from HAL
5992 pUserData: user data
5993
5994
5995
5996 RETURN VALUE
5997 The result code associated with performing the operation
5998---------------------------------------------------------------------------*/
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05305999typedef void (*WDI_SetTDLSLinkEstablishReqParamsRspCb)(WDI_SetTdlsLinkEstablishReqResp *
6000 wdiSetTdlsLinkEstablishReqRsp,
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05306001 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006002
6003/*---------------------------------------------------------------------------
6004 WDI_SetPwrSaveCfgCb
6005
6006 DESCRIPTION
6007
6008 This callback is invoked by DAL when it has received a set Power Save CFG
6009 response from the underlying device.
6010
6011 PARAMETERS
6012
6013 IN
6014 wdiStatus: response status received from HAL
6015 pUserData: user data
6016
6017
6018
6019 RETURN VALUE
6020 The result code associated with performing the operation
6021---------------------------------------------------------------------------*/
6022typedef void (*WDI_SetPwrSaveCfgCb)(WDI_Status wdiStatus,
6023 void* pUserData);
6024
6025/*---------------------------------------------------------------------------
6026 WDI_SetUapsdAcParamsCb
6027
6028 DESCRIPTION
6029
6030 This callback is invoked by DAL when it has received a set UAPSD params
6031 response from the underlying device.
6032
6033 PARAMETERS
6034
6035 IN
6036 wdiStatus: response status received from HAL
6037 pUserData: user data
6038
6039
6040
6041 RETURN VALUE
6042 The result code associated with performing the operation
6043---------------------------------------------------------------------------*/
6044typedef void (*WDI_SetUapsdAcParamsCb)(WDI_Status wdiStatus,
6045 void* pUserData);
6046
6047/*---------------------------------------------------------------------------
6048 WDI_EnterImpsRspCb
6049
6050 DESCRIPTION
6051
6052 This callback is invoked by DAL when it has received a Enter IMPS response
6053 from the underlying device.
6054
6055 PARAMETERS
6056
6057 IN
6058 wdiStatus: response status received from HAL
6059 pUserData: user data
6060
6061
6062
6063 RETURN VALUE
6064 The result code associated with performing the operation
6065---------------------------------------------------------------------------*/
6066typedef void (*WDI_EnterImpsRspCb)(WDI_Status wdiStatus,
6067 void* pUserData);
6068
6069/*---------------------------------------------------------------------------
6070 WDI_ExitImpsRspCb
6071
6072 DESCRIPTION
6073
6074 This callback is invoked by DAL when it has received a Exit IMPS response
6075 from the underlying device.
6076
6077 PARAMETERS
6078
6079 IN
6080 wdiStatus: response status received from HAL
6081 pUserData: user data
6082
6083
6084
6085 RETURN VALUE
6086 The result code associated with performing the operation
6087---------------------------------------------------------------------------*/
6088typedef void (*WDI_ExitImpsRspCb)(WDI_Status wdiStatus,
6089 void* pUserData);
6090
6091/*---------------------------------------------------------------------------
6092 WDI_EnterBmpsRspCb
6093
6094 DESCRIPTION
6095
6096 This callback is invoked by DAL when it has received a enter BMPS response
6097 from the underlying device.
6098
6099 PARAMETERS
6100
6101 IN
6102 wdiStatus: response status received from HAL
6103 pUserData: user data
6104
6105
6106
6107 RETURN VALUE
6108 The result code associated with performing the operation
6109---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006110typedef void (*WDI_EnterBmpsRspCb)(WDI_EnterBmpsRspParamsType *pwdiEnterBmpsRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006111 void* pUserData);
6112
6113/*---------------------------------------------------------------------------
6114 WDI_ExitBmpsRspCb
6115
6116 DESCRIPTION
6117
6118 This callback is invoked by DAL when it has received a exit BMPS response
6119 from the underlying device.
6120
6121 PARAMETERS
6122
6123 IN
6124 wdiStatus: response status received from HAL
6125 pUserData: user data
6126
6127
6128
6129 RETURN VALUE
6130 The result code associated with performing the operation
6131---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006132typedef void (*WDI_ExitBmpsRspCb)( WDI_ExitBmpsRspParamsType *pwdiExitBmpsRspParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07006133 void* pUserData);
6134
6135/*---------------------------------------------------------------------------
6136 WDI_EnterUapsdRspCb
6137
6138 DESCRIPTION
6139
6140 This callback is invoked by DAL when it has received a enter UAPSD response
6141 from the underlying device.
6142
6143 PARAMETERS
6144
6145 IN
6146 wdiStatus: response status received from HAL
6147 pUserData: user data
6148
6149
6150
6151 RETURN VALUE
6152 The result code associated with performing the operation
6153---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006154typedef void (*WDI_EnterUapsdRspCb)( WDI_EnterUapsdRspParamsType *pwdiEnterUapsdRspParam,
Jeff Johnson295189b2012-06-20 16:38:30 -07006155 void* pUserData);
6156
6157/*---------------------------------------------------------------------------
6158 WDI_ExitUapsdRspCb
6159
6160 DESCRIPTION
6161
6162 This callback is invoked by DAL when it has received a exit UAPSD response
6163 from the underlying device.
6164
6165 PARAMETERS
6166
6167 IN
6168 wdiStatus: response status received from HAL
6169 pUserData: user data
6170
6171
6172
6173 RETURN VALUE
6174 The result code associated with performing the operation
6175---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006176typedef void (*WDI_ExitUapsdRspCb)(WDI_ExitUapsdRspParamsType *pwidExitUapsdRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006177 void* pUserData);
6178
6179/*---------------------------------------------------------------------------
6180 WDI_UpdateUapsdParamsCb
6181
6182 DESCRIPTION
6183
6184 This callback is invoked by DAL when it has received a update UAPSD params
6185 response from the underlying device.
6186
6187 PARAMETERS
6188
6189 IN
6190 wdiStatus: response status received from HAL
6191 pUserData: user data
6192
6193
6194
6195 RETURN VALUE
6196 The result code associated with performing the operation
6197---------------------------------------------------------------------------*/
6198typedef void (*WDI_UpdateUapsdParamsCb)(WDI_Status wdiStatus,
6199 void* pUserData);
6200
6201/*---------------------------------------------------------------------------
6202 WDI_ConfigureRxpFilterCb
6203
6204 DESCRIPTION
6205
6206 This callback is invoked by DAL when it has received a config RXP filter
6207 response from the underlying device.
6208
6209 PARAMETERS
6210
6211 IN
6212 wdiStatus: response status received from HAL
6213 pUserData: user data
6214
6215
6216
6217 RETURN VALUE
6218 The result code associated with performing the operation
6219---------------------------------------------------------------------------*/
6220typedef void (*WDI_ConfigureRxpFilterCb)(WDI_Status wdiStatus,
6221 void* pUserData);
6222
6223/*---------------------------------------------------------------------------
6224 WDI_SetBeaconFilterCb
6225
6226 DESCRIPTION
6227
6228 This callback is invoked by DAL when it has received a set beacon filter
6229 response from the underlying device.
6230
6231 PARAMETERS
6232
6233 IN
6234 wdiStatus: response status received from HAL
6235 pUserData: user data
6236
6237
6238
6239 RETURN VALUE
6240 The result code associated with performing the operation
6241---------------------------------------------------------------------------*/
6242typedef void (*WDI_SetBeaconFilterCb)(WDI_Status wdiStatus,
6243 void* pUserData);
6244
6245/*---------------------------------------------------------------------------
6246 WDI_RemBeaconFilterCb
6247
6248 DESCRIPTION
6249
6250 This callback is invoked by DAL when it has received a remove beacon filter
6251 response from the underlying device.
6252
6253 PARAMETERS
6254
6255 IN
6256 wdiStatus: response status received from HAL
6257 pUserData: user data
6258
6259
6260
6261 RETURN VALUE
6262 The result code associated with performing the operation
6263---------------------------------------------------------------------------*/
6264typedef void (*WDI_RemBeaconFilterCb)(WDI_Status wdiStatus,
6265 void* pUserData);
6266
6267/*---------------------------------------------------------------------------
6268 WDI_SetRSSIThresholdsCb
6269
6270 DESCRIPTION
6271
6272 This callback is invoked by DAL when it has received a set RSSI thresholds
6273 response from the underlying device.
6274
6275 PARAMETERS
6276
6277 IN
6278 wdiStatus: response status received from HAL
6279 pUserData: user data
6280
6281
6282
6283 RETURN VALUE
6284 The result code associated with performing the operation
6285---------------------------------------------------------------------------*/
6286typedef void (*WDI_SetRSSIThresholdsCb)(WDI_Status wdiStatus,
6287 void* pUserData);
6288
6289/*---------------------------------------------------------------------------
6290 WDI_HostOffloadCb
6291
6292 DESCRIPTION
6293
6294 This callback is invoked by DAL when it has received a host offload
6295 response from the underlying device.
6296
6297 PARAMETERS
6298
6299 IN
6300 wdiStatus: response status received from HAL
6301 pUserData: user data
6302
6303
6304
6305 RETURN VALUE
6306 The result code associated with performing the operation
6307---------------------------------------------------------------------------*/
6308typedef void (*WDI_HostOffloadCb)(WDI_Status wdiStatus,
6309 void* pUserData);
6310
6311/*---------------------------------------------------------------------------
6312 WDI_KeepAliveCb
6313
6314 DESCRIPTION
6315
6316 This callback is invoked by DAL when it has received a Keep Alive
6317 response from the underlying device.
6318
6319 PARAMETERS
6320
6321 IN
6322 wdiStatus: response status received from HAL
6323 pUserData: user data
6324
6325
6326
6327 RETURN VALUE
6328 The result code associated with performing the operation
6329---------------------------------------------------------------------------*/
6330typedef void (*WDI_KeepAliveCb)(WDI_Status wdiStatus,
6331 void* pUserData);
6332
6333/*---------------------------------------------------------------------------
6334 WDI_WowlAddBcPtrnCb
6335
6336 DESCRIPTION
6337
6338 This callback is invoked by DAL when it has received a Wowl add Bcast ptrn
6339 response from the underlying device.
6340
6341 PARAMETERS
6342
6343 IN
6344 wdiStatus: response status received from HAL
6345 pUserData: user data
6346
6347
6348
6349 RETURN VALUE
6350 The result code associated with performing the operation
6351---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006352typedef void (*WDI_WowlAddBcPtrnCb)( WDI_WowlAddBcPtrnRspParamsType *pwdiWowlAddBcPtrnParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07006353 void* pUserData);
6354
6355/*---------------------------------------------------------------------------
6356 WDI_WowlDelBcPtrnCb
6357
6358 DESCRIPTION
6359
6360 This callback is invoked by DAL when it has received a Wowl delete Bcast ptrn
6361 response from the underlying device.
6362
6363 PARAMETERS
6364
6365 IN
6366 wdiStatus: response status received from HAL
6367 pUserData: user data
6368
6369
6370
6371 RETURN VALUE
6372 The result code associated with performing the operation
6373---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006374typedef void (*WDI_WowlDelBcPtrnCb)( WDI_WowlDelBcPtrnRspParamsType *pwdiWowlDelBcstPtrRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006375 void* pUserData);
6376
6377/*---------------------------------------------------------------------------
6378 WDI_WowlEnterReqCb
6379
6380 DESCRIPTION
6381
6382 This callback is invoked by DAL when it has received a Wowl enter
6383 response from the underlying device.
6384
6385 PARAMETERS
6386
6387 IN
6388 wdiStatus: response status received from HAL
6389 pUserData: user data
6390
6391
6392
6393 RETURN VALUE
6394 The result code associated with performing the operation
6395---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006396typedef void (*WDI_WowlEnterReqCb)( WDI_WowlEnterRspParamsType *pwdiwowlEnterRsp,
6397 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006398
6399/*---------------------------------------------------------------------------
6400 WDI_WowlExitReqCb
6401
6402 DESCRIPTION
6403
6404 This callback is invoked by DAL when it has received a Wowl exit
6405 response from the underlying device.
6406
6407 PARAMETERS
6408
6409 IN
6410 wdiStatus: response status received from HAL
6411 pUserData: user data
6412
6413
6414
6415 RETURN VALUE
6416 The result code associated with performing the operation
6417---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006418typedef void (*WDI_WowlExitReqCb)( WDI_WowlExitRspParamsType *pwdiWowlExitRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006419 void* pUserData);
6420
6421/*---------------------------------------------------------------------------
6422 WDI_ConfigureAppsCpuWakeupStateCb
6423
6424 DESCRIPTION
6425
6426 This callback is invoked by DAL when it has received a config Apps Cpu Wakeup
6427 State response from the underlying device.
6428
6429 PARAMETERS
6430
6431 IN
6432 wdiStatus: response status received from HAL
6433 pUserData: user data
6434
6435
6436
6437 RETURN VALUE
6438 The result code associated with performing the operation
6439---------------------------------------------------------------------------*/
6440typedef void (*WDI_ConfigureAppsCpuWakeupStateCb)(WDI_Status wdiStatus,
6441 void* pUserData);
6442/*---------------------------------------------------------------------------
6443 WDI_NvDownloadRspCb
6444
6445 DESCRIPTION
6446
6447 This callback is invoked by DAL when it has received a NV Download response
6448 from the underlying device.
6449
6450 PARAMETERS
6451
6452 IN
6453 wdiStatus:response status received from HAL
6454 pUserData:user data
6455
6456 RETURN VALUE
6457 The result code associated with performing the operation
6458---------------------------------------------------------------------------*/
6459typedef void (*WDI_NvDownloadRspCb)(WDI_NvDownloadRspInfoType* wdiNvDownloadRsp,
6460 void* pUserData);
6461/*---------------------------------------------------------------------------
6462 WDI_FlushAcRspCb
6463
6464 DESCRIPTION
6465
6466 This callback is invoked by DAL when it has received a Flush AC response from
6467 the underlying device.
6468
6469 PARAMETERS
6470
6471 IN
6472 wdiStatus: response status received from HAL
6473 pUserData: user data
6474
6475
6476
6477 RETURN VALUE
6478 The result code associated with performing the operation
6479---------------------------------------------------------------------------*/
6480typedef void (*WDI_FlushAcRspCb)(WDI_Status wdiStatus,
6481 void* pUserData);
6482
6483/*---------------------------------------------------------------------------
6484 WDI_BtAmpEventRspCb
6485
6486 DESCRIPTION
6487
6488 This callback is invoked by DAL when it has received a Bt AMP event response
6489 from the underlying device.
6490
6491 PARAMETERS
6492
6493 IN
6494 wdiStatus: response status received from HAL
6495 pUserData: user data
6496
6497
6498
6499 RETURN VALUE
6500 The result code associated with performing the operation
6501---------------------------------------------------------------------------*/
6502typedef void (*WDI_BtAmpEventRspCb)(WDI_Status wdiStatus,
6503 void* pUserData);
6504
Jeff Johnsone7245742012-09-05 17:12:55 -07006505#ifdef FEATURE_OEM_DATA_SUPPORT
6506/*---------------------------------------------------------------------------
6507 WDI_oemDataRspCb
6508
6509 DESCRIPTION
6510
6511 This callback is invoked by DAL when it has received a Start oem data response from
6512 the underlying device.
6513
6514 PARAMETERS
6515
6516 IN
6517 wdiStatus: response status received from HAL
6518 pUserData: user data
6519
6520
6521
6522 RETURN VALUE
6523 The result code associated with performing the operation
6524---------------------------------------------------------------------------*/
6525typedef void (*WDI_oemDataRspCb)(WDI_oemDataRspParamsType* wdiOemDataRspParams,
6526 void* pUserData);
6527
6528#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07006529
6530/*---------------------------------------------------------------------------
6531 WDI_HostResumeEventRspCb
6532
6533 DESCRIPTION
6534
6535 This callback is invoked by DAL when it has received a Bt AMP event response
6536 from the underlying device.
6537
6538 PARAMETERS
6539
6540 IN
6541 wdiStatus: response status received from HAL
6542 pUserData: user data
6543
6544
6545
6546 RETURN VALUE
6547 The result code associated with performing the operation
6548---------------------------------------------------------------------------*/
6549typedef void (*WDI_HostResumeEventRspCb)(
6550 WDI_SuspendResumeRspParamsType *resumeRspParams,
6551 void* pUserData);
6552
6553
6554#ifdef WLAN_FEATURE_VOWIFI_11R
6555/*---------------------------------------------------------------------------
6556 WDI_AggrAddTsRspCb
6557
6558 DESCRIPTION
6559
6560 This callback is invoked by DAL when it has received a Aggregated Add TS
6561 response from the underlying device.
6562
6563 PARAMETERS
6564
6565 IN
6566 wdiStatus: response status received from HAL
6567 pUserData: user data
6568
6569
6570
6571 RETURN VALUE
6572 The result code associated with performing the operation
6573---------------------------------------------------------------------------*/
6574typedef void (*WDI_AggrAddTsRspCb)(WDI_Status wdiStatus,
6575 void* pUserData);
6576#endif /* WLAN_FEATURE_VOWIFI_11R */
6577
Jeff Johnson295189b2012-06-20 16:38:30 -07006578/*---------------------------------------------------------------------------
6579 WDI_FTMCommandRspCb
6580
6581 DESCRIPTION
6582
6583 FTM Command response CB
6584
6585 PARAMETERS
6586
6587 IN
6588 ftmCMDRspdata: FTM response data from HAL
6589 pUserData: user data
6590
6591
6592 RETURN VALUE
6593 NONE
6594---------------------------------------------------------------------------*/
6595typedef void (*WDI_FTMCommandRspCb)(void *ftmCMDRspdata,
6596 void *pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006597
6598/*---------------------------------------------------------------------------
6599 WDI_AddSTASelfParamsRspCb
6600
6601 DESCRIPTION
6602
6603 This callback is invoked by DAL when it has received a Add Sta Self Params
6604 response from the underlying device.
6605
6606 PARAMETERS
6607
6608 IN
6609 wdiAddSelfSTARsp: response status received from HAL
6610 pUserData: user data
6611
6612
6613
6614 RETURN VALUE
6615 The result code associated with performing the operation
6616---------------------------------------------------------------------------*/
6617typedef void (*WDI_AddSTASelfParamsRspCb)(
6618 WDI_AddSTASelfRspParamsType* pwdiAddSelfSTARsp,
6619 void* pUserData);
6620
6621
6622/*---------------------------------------------------------------------------
6623 WDI_DelSTASelfRspCb
6624
6625 DESCRIPTION
6626
6627 This callback is invoked by DAL when it has received a host offload
6628 response from the underlying device.
6629
6630 PARAMETERS
6631
6632 IN
6633 wdiStatus: response status received from HAL
6634 pUserData: user data
6635
6636
6637
6638 RETURN VALUE
6639 The result code associated with performing the operation
6640---------------------------------------------------------------------------*/
6641typedef void (*WDI_DelSTASelfRspCb)
6642(
6643WDI_DelSTASelfRspParamsType* wdiDelStaSelfRspParams,
6644void* pUserData
6645);
6646
6647#ifdef FEATURE_WLAN_SCAN_PNO
6648/*---------------------------------------------------------------------------
6649 WDI_PNOScanCb
6650
6651 DESCRIPTION
6652
6653 This callback is invoked by DAL when it has received a Set PNO
6654 response from the underlying device.
6655
6656 PARAMETERS
6657
6658 IN
6659 wdiStatus: response status received from HAL
6660 pUserData: user data
6661
6662
6663
6664 RETURN VALUE
6665 The result code associated with performing the operation
6666---------------------------------------------------------------------------*/
6667typedef void (*WDI_PNOScanCb)(WDI_Status wdiStatus,
6668 void* pUserData);
6669
6670/*---------------------------------------------------------------------------
6671 WDI_PNOScanCb
6672
6673 DESCRIPTION
6674
6675 This callback is invoked by DAL when it has received a Set PNO
6676 response from the underlying device.
6677
6678 PARAMETERS
6679
6680 IN
6681 wdiStatus: response status received from HAL
6682 pUserData: user data
6683
6684
6685
6686 RETURN VALUE
6687 The result code associated with performing the operation
6688---------------------------------------------------------------------------*/
6689typedef void (*WDI_RssiFilterCb)(WDI_Status wdiStatus,
6690 void* pUserData);
6691
6692/*---------------------------------------------------------------------------
6693 WDI_UpdateScanParamsCb
6694
6695 DESCRIPTION
6696
6697 This callback is invoked by DAL when it has received a Update Scan Params
6698 response from the underlying device.
6699
6700 PARAMETERS
6701
6702 IN
6703 wdiStatus: response status received from HAL
6704 pUserData: user data
6705
6706
6707
6708 RETURN VALUE
6709 The result code associated with performing the operation
6710---------------------------------------------------------------------------*/
6711typedef void (*WDI_UpdateScanParamsCb)(WDI_Status wdiStatus,
6712 void* pUserData);
6713#endif // FEATURE_WLAN_SCAN_PNO
6714
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07006715#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
6716/*---------------------------------------------------------------------------
6717 WDI_RoamOffloadScanCb
6718
6719 DESCRIPTION
6720
6721 This callback is invoked by DAL when it has received a Start Roam Candidate Lookup Req
6722 response from the underlying device.
6723
6724 PARAMETERS
6725
6726 IN
6727 wdiStatus: response status received from HAL
6728 pUserData: user data
6729
6730
6731
6732 RETURN VALUE
6733 The result code associated with performing the operation
6734---------------------------------------------------------------------------*/
6735typedef void (*WDI_RoamOffloadScanCb)(WDI_Status wdiStatus,
6736 void* pUserData);
6737
6738#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07006739/*---------------------------------------------------------------------------
6740 WDI_SetTxPerTrackingRspCb
6741
6742 DESCRIPTION
6743
6744 This callback is invoked by DAL when it has received a Tx PER Tracking
6745 response from the underlying device.
6746
6747 PARAMETERS
6748
6749 IN
6750 wdiStatus: response status received from HAL
6751 pUserData: user data
6752
6753
6754
6755 RETURN VALUE
6756 The result code associated with performing the operation
6757---------------------------------------------------------------------------*/
6758typedef void (*WDI_SetTxPerTrackingRspCb)(WDI_Status wdiStatus,
6759 void* pUserData);
6760
6761#ifdef WLAN_FEATURE_PACKET_FILTERING
6762/*---------------------------------------------------------------------------
6763 WDI_8023MulticastListCb
6764
6765 DESCRIPTION
6766
6767 This callback is invoked by DAL when it has received a 8023 Multicast List
6768 response from the underlying device.
6769
6770 PARAMETERS
6771
6772 IN
6773 wdiStatus: response status received from HAL
6774 pUserData: user data
6775
6776
6777
6778 RETURN VALUE
6779 The result code associated with performing the operation
6780---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006781typedef void (*WDI_8023MulticastListCb)(
6782 WDI_RcvFltPktSetMcListRspParamsType *pwdiRcvFltPktSetMcListRspInfo,
6783 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006784
6785/*---------------------------------------------------------------------------
6786 WDI_ReceiveFilterSetFilterCb
6787
6788 DESCRIPTION
6789
6790 This callback is invoked by DAL when it has received a Receive Filter Set Filter
6791 response from the underlying device.
6792
6793 PARAMETERS
6794
6795 IN
6796 wdiStatus: response status received from HAL
6797 pUserData: user data
6798
6799
6800
6801 RETURN VALUE
6802 The result code associated with performing the operation
6803---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006804typedef void (*WDI_ReceiveFilterSetFilterCb)(
6805 WDI_SetRcvPktFilterRspParamsType *pwdiSetRcvPktFilterRspInfo,
6806 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006807
6808/*---------------------------------------------------------------------------
6809 WDI_FilterMatchCountCb
6810
6811 DESCRIPTION
6812
6813 This callback is invoked by DAL when it has received a Do PC Filter Match Count
6814 response from the underlying device.
6815
6816 PARAMETERS
6817
6818 IN
6819 wdiStatus: response status received from HAL
6820 pUserData: user data
6821
6822
6823
6824 RETURN VALUE
6825 The result code associated with performing the operation
6826---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006827typedef void (*WDI_FilterMatchCountCb)(
6828 WDI_RcvFltPktMatchCntRspParamsType *pwdiRcvFltPktMatchRspParams,
6829 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006830
6831/*---------------------------------------------------------------------------
6832 WDI_ReceiveFilterClearFilterCb
6833
6834 DESCRIPTION
6835
6836 This callback is invoked by DAL when it has received a Receive Filter Clear Filter
6837 response from the underlying device.
6838
6839 PARAMETERS
6840
6841 IN
6842 wdiStatus: response status received from HAL
6843 pUserData: user data
6844
6845
6846
6847 RETURN VALUE
6848 The result code associated with performing the operation
6849---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006850typedef void (*WDI_ReceiveFilterClearFilterCb)(
6851 WDI_RcvFltPktClearRspParamsType *pwdiRcvFltPktClearRspParamsType,
6852 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006853#endif // WLAN_FEATURE_PACKET_FILTERING
6854
6855/*---------------------------------------------------------------------------
6856 WDI_HALDumpCmdRspCb
6857
6858 DESCRIPTION
6859
6860 This callback is invoked by DAL when it has received a HAL DUMP Command
6861response from
6862 the HAL layer.
6863
6864 PARAMETERS
6865
6866 IN
6867 wdiHalDumpCmdRsp: response status received from HAL
6868 pUserData: user data
6869
6870
6871
6872 RETURN VALUE
6873 The result code associated with performing the operation
6874---------------------------------------------------------------------------*/
6875typedef void (*WDI_HALDumpCmdRspCb)(WDI_HALDumpCmdRspParamsType* wdiHalDumpCmdRsp,
6876 void* pUserData);
6877
6878/*---------------------------------------------------------------------------
6879 WDI_SetPowerParamsCb
6880
6881 DESCRIPTION
6882
6883 This callback is invoked by DAL when it has received a Set Power Param
6884 response from the underlying device.
6885
6886 PARAMETERS
6887
6888 IN
6889 wdiStatus: response status received from HAL
6890 pUserData: user data
6891
6892
6893
6894 RETURN VALUE
6895 The result code associated with performing the operation
6896---------------------------------------------------------------------------*/
6897typedef void (*WDI_SetPowerParamsCb)(WDI_Status wdiStatus,
6898 void* pUserData);
6899
6900#ifdef WLAN_FEATURE_GTK_OFFLOAD
6901/*---------------------------------------------------------------------------
6902 WDI_GtkOffloadCb
6903
6904 DESCRIPTION
6905
6906 This callback is invoked by DAL when it has received a GTK offload
6907 response from the underlying device.
6908
6909 PARAMETERS
6910
6911 IN
6912 wdiStatus: response status received from HAL
6913 pUserData: user data
6914
6915
6916
6917 RETURN VALUE
6918 The result code associated with performing the operation
6919---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006920typedef void (*WDI_GtkOffloadCb)( WDI_GtkOffloadRspParams *pwdiGtkOffloadRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07006921 void* pUserData);
6922
6923/*---------------------------------------------------------------------------
6924 WDI_GtkOffloadGetInfoCb
6925
6926 DESCRIPTION
6927
6928 This callback is invoked by DAL when it has received a GTK offload
6929 information response from the underlying device.
6930
6931 PARAMETERS
6932
6933 IN
6934 wdiStatus: response status received from HAL
6935 pUserData: user data
6936
6937
6938
6939 RETURN VALUE
6940 The result code associated with performing the operation
6941---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006942typedef void (*WDI_GtkOffloadGetInfoCb)( WDI_GtkOffloadGetInfoRspParams *pwdiGtkOffloadGetInfoRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07006943 void* pUserData);
6944#endif // WLAN_FEATURE_GTK_OFFLOAD
6945
6946/*---------------------------------------------------------------------------
6947 WDI_SetTmLevelCb
6948
6949 DESCRIPTION
6950
6951 This callback is invoked by DAL when it has received a Set New TM Level
6952 done response from the underlying device.
6953
6954 PARAMETERS
6955
6956 IN
6957 wdiStatus: response status received from HAL
6958 pUserData: user data
6959
6960
6961
6962 RETURN VALUE
6963 The result code associated with performing the operation
6964---------------------------------------------------------------------------*/
6965typedef void (*WDI_SetTmLevelCb)(WDI_Status wdiStatus,
6966 void* pUserData);
6967
6968/*---------------------------------------------------------------------------
6969 WDI_featureCapsExchangeCb
6970
6971 DESCRIPTION
6972
6973 This callback is invoked by DAL when it has received a HAL Feature Capbility
6974 Exchange Response the HAL layer. This callback is put to mantain code
6975 similarity and is not being used right now.
6976
6977 PARAMETERS
6978
6979 IN
6980 wdiFeatCapRspParams: response parameters received from HAL
6981 pUserData: user data
6982
6983 RETURN VALUE
6984 The result code associated with performing the operation
6985---------------------------------------------------------------------------*/
6986typedef void (*WDI_featureCapsExchangeCb)(void* wdiFeatCapRspParams,
6987 void* pUserData);
6988
Mohit Khanna4a70d262012-09-11 16:30:12 -07006989#ifdef WLAN_FEATURE_11AC
6990typedef void (*WDI_UpdateVHTOpModeCb)(WDI_Status wdiStatus,
6991 void* pUserData);
6992#endif
6993
Leo Chang9056f462013-08-01 19:21:11 -07006994#ifdef FEATURE_WLAN_LPHB
6995typedef void (*WDI_LphbCfgCb)(WDI_Status wdiStatus,
6996 void* pUserData);
6997#endif /* FEATURE_WLAN_LPHB */
Mohit Khanna4a70d262012-09-11 16:30:12 -07006998
Jeff Johnson295189b2012-06-20 16:38:30 -07006999/*========================================================================
7000 * Function Declarations and Documentation
7001 ==========================================================================*/
7002
7003/*========================================================================
7004
7005 INITIALIZATION APIs
7006
7007==========================================================================*/
7008
7009/**
7010 @brief WDI_Init is used to initialize the DAL.
7011
7012 DAL will allocate all the resources it needs. It will open PAL, it will also
7013 open both the data and the control transport which in their turn will open
7014 DXE/SMD or any other drivers that they need.
7015
7016 @param pOSContext: pointer to the OS context provided by the UMAC
7017 will be passed on to PAL on Open
7018 ppWDIGlobalCtx: output pointer of Global Context
7019 pWdiDevCapability: output pointer of device capability
7020
7021 @return Result of the function call
7022*/
7023WDI_Status
7024WDI_Init
7025(
7026 void* pOSContext,
7027 void** ppWDIGlobalCtx,
7028 WDI_DeviceCapabilityType* pWdiDevCapability,
7029 unsigned int driverType
7030);
7031
7032/**
7033 @brief WDI_Start will be called when the upper MAC is ready to
7034 commence operation with the WLAN Device. Upon the call
7035 of this API the WLAN DAL will pack and send a HAL Start
7036 message to the lower RIVA sub-system if the SMD channel
7037 has been fully opened and the RIVA subsystem is up.
7038
7039 If the RIVA sub-system is not yet up and running DAL
7040 will queue the request for Open and will wait for the
7041 SMD notification before attempting to send down the
7042 message to HAL.
7043
7044 WDI_Init must have been called.
7045
7046 @param wdiStartParams: the start parameters as specified by
7047 the Device Interface
7048
7049 wdiStartRspCb: callback for passing back the response of
7050 the start operation received from the device
7051
7052 pUserData: user data will be passed back with the
7053 callback
7054
7055 @see WDI_Start
7056 @return Result of the function call
7057*/
7058WDI_Status
7059WDI_Start
7060(
7061 WDI_StartReqParamsType* pwdiStartParams,
7062 WDI_StartRspCb wdiStartRspCb,
7063 void* pUserData
7064);
7065
7066
7067/**
7068 @brief WDI_Stop will be called when the upper MAC is ready to
7069 stop any operation with the WLAN Device. Upon the call
7070 of this API the WLAN DAL will pack and send a HAL Stop
7071 message to the lower RIVA sub-system if the DAL Core is
7072 in started state.
7073
7074 In state BUSY this request will be queued.
7075
7076 Request will not be accepted in any other state.
7077
7078 WDI_Start must have been called.
7079
7080 @param wdiStopParams: the stop parameters as specified by
7081 the Device Interface
7082
7083 wdiStopRspCb: callback for passing back the response of
7084 the stop operation received from the device
7085
7086 pUserData: user data will be passed back with the
7087 callback
7088
7089 @see WDI_Start
7090 @return Result of the function call
7091*/
7092WDI_Status
7093WDI_Stop
7094(
7095 WDI_StopReqParamsType* pwdiStopParams,
7096 WDI_StopRspCb wdiStopRspCb,
7097 void* pUserData
7098);
7099
7100/**
7101 @brief WDI_Close will be called when the upper MAC no longer
7102 needs to interract with DAL. DAL will free its control
7103 block.
7104
7105 It is only accepted in state STOPPED.
7106
7107 WDI_Stop must have been called.
7108
7109 @param none
7110
7111 @see WDI_Stop
7112 @return Result of the function call
7113*/
7114WDI_Status
7115WDI_Close
7116(
7117 void
7118);
7119
7120
7121/**
7122 @brief WDI_Shutdown will be called during 'SSR shutdown' operation.
7123 This will do most of the WDI stop & close
7124 operations without doing any handshake with Riva
7125
7126 This will also make sure that the control transport
7127 will NOT be closed.
7128
7129 This request will not be queued.
7130
7131
7132 WDI_Start must have been called.
7133
7134 @param closeTransport: Close control channel if this is set
7135
7136 @return Result of the function call
7137*/
7138WDI_Status
7139WDI_Shutdown
7140(
7141 wpt_boolean closeTransport
7142);
7143
7144/*========================================================================
7145
7146 SCAN APIs
7147
7148==========================================================================*/
7149
7150/**
7151 @brief WDI_InitScanReq will be called when the upper MAC wants
7152 the WLAN Device to get ready for a scan procedure. Upon
7153 the call of this API the WLAN DAL will pack and send a
7154 HAL Init Scan request message to the lower RIVA
7155 sub-system if DAL is in state STARTED.
7156
7157 In state BUSY this request will be queued. Request won't
7158 be allowed in any other state.
7159
7160 WDI_Start must have been called.
7161
7162 @param wdiInitScanParams: the init scan parameters as specified
7163 by the Device Interface
7164
7165 wdiInitScanRspCb: callback for passing back the response
7166 of the init scan operation received from the device
7167
7168 pUserData: user data will be passed back with the
7169 callback
7170
7171 @see WDI_Start
7172 @return Result of the function call
7173*/
7174WDI_Status
7175WDI_InitScanReq
7176(
7177 WDI_InitScanReqParamsType* pwdiInitScanParams,
7178 WDI_InitScanRspCb wdiInitScanRspCb,
7179 void* pUserData
7180);
7181
7182/**
7183 @brief WDI_StartScanReq will be called when the upper MAC
7184 wishes to change the Scan channel on the WLAN Device.
7185 Upon the call of this API the WLAN DAL will pack and
7186 send a HAL Start Scan request message to the lower RIVA
7187 sub-system if DAL is in state STARTED.
7188
7189 In state BUSY this request will be queued. Request won't
7190 be allowed in any other state.
7191
7192 WDI_InitScanReq must have been called.
7193
7194 @param wdiStartScanParams: the start scan parameters as
7195 specified by the Device Interface
7196
7197 wdiStartScanRspCb: callback for passing back the
7198 response of the start scan operation received from the
7199 device
7200
7201 pUserData: user data will be passed back with the
7202 callback
7203
7204 @see WDI_InitScanReq
7205 @return Result of the function call
7206*/
7207WDI_Status
7208WDI_StartScanReq
7209(
7210 WDI_StartScanReqParamsType* pwdiStartScanParams,
7211 WDI_StartScanRspCb wdiStartScanRspCb,
7212 void* pUserData
7213);
7214
7215
7216/**
7217 @brief WDI_EndScanReq will be called when the upper MAC is
7218 wants to end scanning for a particular channel that it
7219 had set before by calling Scan Start on the WLAN Device.
7220 Upon the call of this API the WLAN DAL will pack and
7221 send a HAL End Scan request message to the lower RIVA
7222 sub-system if DAL is in state STARTED.
7223
7224 In state BUSY this request will be queued. Request won't
7225 be allowed in any other state.
7226
7227 WDI_StartScanReq must have been called.
7228
7229 @param wdiEndScanParams: the end scan parameters as specified
7230 by the Device Interface
7231
7232 wdiEndScanRspCb: callback for passing back the response
7233 of the end scan operation received from the device
7234
7235 pUserData: user data will be passed back with the
7236 callback
7237
7238 @see WDI_StartScanReq
7239 @return Result of the function call
7240*/
7241WDI_Status
7242WDI_EndScanReq
7243(
7244 WDI_EndScanReqParamsType* pwdiEndScanParams,
7245 WDI_EndScanRspCb wdiEndScanRspCb,
7246 void* pUserData
7247);
7248
7249
7250/**
7251 @brief WDI_FinishScanReq will be called when the upper MAC has
7252 completed the scan process on the WLAN Device. Upon the
7253 call of this API the WLAN DAL will pack and send a HAL
7254 Finish Scan Request request message to the lower RIVA
7255 sub-system if DAL is in state STARTED.
7256
7257 In state BUSY this request will be queued. Request won't
7258 be allowed in any other state.
7259
7260 WDI_InitScanReq must have been called.
7261
7262 @param wdiFinishScanParams: the finish scan parameters as
7263 specified by the Device Interface
7264
7265 wdiFinishScanRspCb: callback for passing back the
7266 response of the finish scan operation received from the
7267 device
7268
7269 pUserData: user data will be passed back with the
7270 callback
7271
7272 @see WDI_InitScanReq
7273 @return Result of the function call
7274*/
7275WDI_Status
7276WDI_FinishScanReq
7277(
7278 WDI_FinishScanReqParamsType* pwdiFinishScanParams,
7279 WDI_FinishScanRspCb wdiFinishScanRspCb,
7280 void* pUserData
7281);
7282
7283/*========================================================================
7284
7285 ASSOCIATION APIs
7286
7287==========================================================================*/
7288
7289/**
7290 @brief WDI_JoinReq will be called when the upper MAC is ready
7291 to start an association procedure to a BSS. Upon the
7292 call of this API the WLAN DAL will pack and send a HAL
7293 Join request message to the lower RIVA sub-system if
7294 DAL is in state STARTED.
7295
7296 In state BUSY this request will be queued. Request won't
7297 be allowed in any other state.
7298
7299 WDI_Start must have been called.
7300
7301 @param wdiJoinParams: the join parameters as specified by
7302 the Device Interface
7303
7304 wdiJoinRspCb: callback for passing back the response of
7305 the join operation received from the device
7306
7307 pUserData: user data will be passed back with the
7308 callback
7309
7310 @see WDI_Start
7311 @return Result of the function call
7312*/
7313WDI_Status
7314WDI_JoinReq
7315(
7316 WDI_JoinReqParamsType* pwdiJoinParams,
7317 WDI_JoinRspCb wdiJoinRspCb,
7318 void* pUserData
7319);
7320
7321/**
7322 @brief WDI_ConfigBSSReq will be called when the upper MAC
7323 wishes to configure the newly acquired or in process of
7324 being acquired BSS to the HW . Upon the call of this API
7325 the WLAN DAL will pack and send a HAL Config BSS request
7326 message to the lower RIVA sub-system if DAL is in state
7327 STARTED.
7328
7329 In state BUSY this request will be queued. Request won't
7330 be allowed in any other state.
7331
7332 WDI_JoinReq must have been called.
7333
7334 @param wdiConfigBSSParams: the config BSS parameters as
7335 specified by the Device Interface
7336
7337 wdiConfigBSSRspCb: callback for passing back the
7338 response of the config BSS operation received from the
7339 device
7340
7341 pUserData: user data will be passed back with the
7342 callback
7343
7344 @see WDI_JoinReq
7345 @return Result of the function call
7346*/
7347WDI_Status
7348WDI_ConfigBSSReq
7349(
7350 WDI_ConfigBSSReqParamsType* pwdiConfigBSSParams,
7351 WDI_ConfigBSSRspCb wdiConfigBSSRspCb,
7352 void* pUserData
7353);
7354
7355/**
7356 @brief WDI_DelBSSReq will be called when the upper MAC is
7357 dissasociating from the BSS and wishes to notify HW.
7358 Upon the call of this API the WLAN DAL will pack and
7359 send a HAL Del BSS request message to the lower RIVA
7360 sub-system if DAL is in state STARTED.
7361
7362 In state BUSY this request will be queued. Request won't
7363 be allowed in any other state.
7364
7365 WDI_ConfigBSSReq or WDI_PostAssocReq must have been called.
7366
7367 @param wdiDelBSSParams: the del BSS parameters as specified by
7368 the Device Interface
7369
7370 wdiDelBSSRspCb: callback for passing back the response
7371 of the del bss operation received from the device
7372
7373 pUserData: user data will be passed back with the
7374 callback
7375
7376 @see WDI_ConfigBSSReq, WDI_PostAssocReq
7377 @return Result of the function call
7378*/
7379WDI_Status
7380WDI_DelBSSReq
7381(
7382 WDI_DelBSSReqParamsType* pwdiDelBSSParams,
7383 WDI_DelBSSRspCb wdiDelBSSRspCb,
7384 void* pUserData
7385);
7386
7387/**
7388 @brief WDI_PostAssocReq will be called when the upper MAC has
7389 associated to a BSS and wishes to configure HW for
7390 associated state. Upon the call of this API the WLAN DAL
7391 will pack and send a HAL Post Assoc request message to
7392 the lower RIVA sub-system if DAL is in state STARTED.
7393
7394 In state BUSY this request will be queued. Request won't
7395 be allowed in any other state.
7396
7397 WDI_JoinReq must have been called.
7398
7399 @param wdiPostAssocReqParams: the assoc parameters as specified
7400 by the Device Interface
7401
7402 wdiPostAssocRspCb: callback for passing back the
7403 response of the post assoc operation received from the
7404 device
7405
7406 pUserData: user data will be passed back with the
7407 callback
7408
7409 @see WDI_JoinReq
7410 @return Result of the function call
7411*/
7412WDI_Status
7413WDI_PostAssocReq
7414(
7415 WDI_PostAssocReqParamsType* pwdiPostAssocReqParams,
7416 WDI_PostAssocRspCb wdiPostAssocRspCb,
7417 void* pUserData
7418);
7419
7420/**
7421 @brief WDI_DelSTAReq will be called when the upper MAC when an
7422 association with another STA has ended and the station
7423 must be deleted from HW. Upon the call of this API the
7424 WLAN DAL will pack and send a HAL Del STA request
7425 message to the lower RIVA sub-system if DAL is in state
7426 STARTED.
7427
7428 In state BUSY this request will be queued. Request won't
7429 be allowed in any other state.
7430
7431 WDI_PostAssocReq must have been called.
7432
7433 @param wdiDelSTAParams: the Del STA parameters as specified by
7434 the Device Interface
7435
7436 wdiDelSTARspCb: callback for passing back the response
7437 of the del STA operation received from the device
7438
7439 pUserData: user data will be passed back with the
7440 callback
7441
7442 @see WDI_PostAssocReq
7443 @return Result of the function call
7444*/
7445WDI_Status
7446WDI_DelSTAReq
7447(
7448 WDI_DelSTAReqParamsType* pwdiDelSTAParams,
7449 WDI_DelSTARspCb wdiDelSTARspCb,
7450 void* pUserData
7451);
7452
7453/*========================================================================
7454
7455 SECURITY APIs
7456
7457==========================================================================*/
7458
7459/**
7460 @brief WDI_SetBSSKeyReq will be called when the upper MAC ito
7461 install a BSS encryption key on the HW. Upon the call of
7462 this API the WLAN DAL will pack and send a HAL Start
7463 request message to the lower RIVA sub-system if DAL is
7464 in state STARTED.
7465
7466 In state BUSY this request will be queued. Request won't
7467 be allowed in any other state.
7468
7469 WDI_PostAssocReq must have been called.
7470
7471 @param wdiSetBSSKeyParams: the BSS Key set parameters as
7472 specified by the Device Interface
7473
7474 wdiSetBSSKeyRspCb: callback for passing back the
7475 response of the set BSS Key operation received from the
7476 device
7477
7478 pUserData: user data will be passed back with the
7479 callback
7480
7481 @see WDI_PostAssocReq
7482 @return Result of the function call
7483*/
7484WDI_Status
7485WDI_SetBSSKeyReq
7486(
7487 WDI_SetBSSKeyReqParamsType* pwdiSetBSSKeyParams,
7488 WDI_SetBSSKeyRspCb wdiSetBSSKeyRspCb,
7489 void* pUserData
7490);
7491
7492
7493/**
7494 @brief WDI_RemoveBSSKeyReq will be called when the upper MAC to
7495 uninstall a BSS key from HW. Upon the call of this API
7496 the WLAN DAL will pack and send a HAL Remove BSS Key
7497 request message to the lower RIVA sub-system if DAL is
7498 in state STARTED.
7499
7500 In state BUSY this request will be queued. Request won't
7501 be allowed in any other state.
7502
7503 WDI_SetBSSKeyReq must have been called.
7504
7505 @param wdiRemoveBSSKeyParams: the remove BSS key parameters as
7506 specified by the Device Interface
7507
7508 wdiRemoveBSSKeyRspCb: callback for passing back the
7509 response of the remove BSS key operation received from
7510 the device
7511
7512 pUserData: user data will be passed back with the
7513 callback
7514
7515 @see WDI_SetBSSKeyReq
7516 @return Result of the function call
7517*/
7518WDI_Status
7519WDI_RemoveBSSKeyReq
7520(
7521 WDI_RemoveBSSKeyReqParamsType* pwdiRemoveBSSKeyParams,
7522 WDI_RemoveBSSKeyRspCb wdiRemoveBSSKeyRspCb,
7523 void* pUserData
7524);
7525
7526
7527/**
7528 @brief WDI_SetSTAKeyReq will be called when the upper MAC is
7529 ready to install a STA(ast) encryption key in HW. Upon
7530 the call of this API the WLAN DAL will pack and send a
7531 HAL Set STA Key request message to the lower RIVA
7532 sub-system if DAL is in state STARTED.
7533
7534 In state BUSY this request will be queued. Request won't
7535 be allowed in any other state.
7536
7537 WDI_PostAssocReq must have been called.
7538
7539 @param wdiSetSTAKeyParams: the set STA key parameters as
7540 specified by the Device Interface
7541
7542 wdiSetSTAKeyRspCb: callback for passing back the
7543 response of the set STA key operation received from the
7544 device
7545
7546 pUserData: user data will be passed back with the
7547 callback
7548
7549 @see WDI_PostAssocReq
7550 @return Result of the function call
7551*/
7552WDI_Status
7553WDI_SetSTAKeyReq
7554(
7555 WDI_SetSTAKeyReqParamsType* pwdiSetSTAKeyParams,
7556 WDI_SetSTAKeyRspCb wdiSetSTAKeyRspCb,
7557 void* pUserData
7558);
7559
7560
7561/**
7562 @brief WDI_RemoveSTAKeyReq will be called when the upper MAC
7563 wants to unistall a previously set STA key in HW. Upon
7564 the call of this API the WLAN DAL will pack and send a
7565 HAL Remove STA Key request message to the lower RIVA
7566 sub-system if DAL is in state STARTED.
7567
7568 In state BUSY this request will be queued. Request won't
7569 be allowed in any other state.
7570
7571 WDI_SetSTAKeyReq must have been called.
7572
7573 @param wdiRemoveSTAKeyParams: the remove STA key parameters as
7574 specified by the Device Interface
7575
7576 wdiRemoveSTAKeyRspCb: callback for passing back the
7577 response of the remove STA key operation received from
7578 the device
7579
7580 pUserData: user data will be passed back with the
7581 callback
7582
7583 @see WDI_SetSTAKeyReq
7584 @return Result of the function call
7585*/
7586WDI_Status
7587WDI_RemoveSTAKeyReq
7588(
7589 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTAKeyParams,
7590 WDI_RemoveSTAKeyRspCb wdiRemoveSTAKeyRspCb,
7591 void* pUserData
7592);
7593
7594/**
7595 @brief WDI_SetSTABcastKeyReq will be called when the upper MAC
7596 wants to install a STA Bcast encryption key on the HW.
7597 Upon the call of this API the WLAN DAL will pack and
7598 send a HAL Start request message to the lower RIVA
7599 sub-system if DAL is in state STARTED.
7600
7601 In state BUSY this request will be queued. Request won't
7602 be allowed in any other state.
7603
7604 WDI_PostAssocReq must have been called.
7605
7606 @param pwdiSetSTABcastKeyParams: the BSS Key set parameters as
7607 specified by the Device Interface
7608
7609 wdiSetSTABcastKeyRspCb: callback for passing back the
7610 response of the set BSS Key operation received from the
7611 device
7612
7613 pUserData: user data will be passed back with the
7614 callback
7615
7616 @see WDI_PostAssocReq
7617 @return Result of the function call
7618*/
7619WDI_Status
7620WDI_SetSTABcastKeyReq
7621(
7622 WDI_SetSTAKeyReqParamsType* pwdiSetSTABcastKeyParams,
7623 WDI_SetSTAKeyRspCb wdiSetSTABcastKeyRspCb,
7624 void* pUserData
7625);
7626
7627
7628/**
7629 @brief WDI_RemoveSTABcastKeyReq will be called when the upper
7630 MAC to uninstall a STA Bcast key from HW. Upon the call
7631 of this API the WLAN DAL will pack and send a HAL Remove
7632 STA Bcast Key request message to the lower RIVA
7633 sub-system if DAL is in state STARTED.
7634
7635 In state BUSY this request will be queued. Request won't
7636 be allowed in any other state.
7637
7638 WDI_SetSTABcastKeyReq must have been called.
7639
7640 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
7641 parameters as specified by the Device
7642 Interface
7643
7644 wdiRemoveSTABcastKeyRspCb: callback for passing back the
7645 response of the remove STA Bcast key operation received
7646 from the device
7647
7648 pUserData: user data will be passed back with the
7649 callback
7650
7651 @see WDI_SetSTABcastKeyReq
7652 @return Result of the function call
7653*/
7654WDI_Status
7655WDI_RemoveSTABcastKeyReq
7656(
7657 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTABcastKeyParams,
7658 WDI_RemoveSTAKeyRspCb wdiRemoveSTABcastKeyRspCb,
7659 void* pUserData
7660);
7661
schang86c22c42013-03-13 18:41:24 -07007662
7663/**
7664 @brief WDI_SetTxPowerReq will be called when the upper
7665 MAC wants to set Tx Power to HW.
7666 In state BUSY this request will be queued. Request won't
7667 be allowed in any other state.
7668
7669
7670 @param pwdiSetTxPowerParams: set TS Power parameters
7671 BSSID and target TX Power with dbm included
7672
7673 wdiReqStatusCb: callback for passing back the response
7674
7675 pUserData: user data will be passed back with the
7676 callback
7677
7678 @return Result of the function call
7679*/
7680WDI_Status
7681WDI_SetTxPowerReq
7682(
7683 WDI_SetTxPowerParamsType* pwdiSetTxPowerParams,
7684 WDA_SetTxPowerRspCb wdiReqStatusCb,
7685 void* pUserData
7686);
7687
Jeff Johnson295189b2012-06-20 16:38:30 -07007688/**
7689 @brief WDI_SetMaxTxPowerReq will be called when the upper
7690 MAC wants to set Max Tx Power to HW. Upon the
7691 call of this API the WLAN DAL will pack and send a HAL
7692 Remove STA Bcast Key request message to the lower RIVA
7693 sub-system if DAL is in state STARTED.
7694
7695 In state BUSY this request will be queued. Request won't
7696 be allowed in any other state.
7697
7698 WDI_SetSTABcastKeyReq must have been called.
7699
7700 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
7701 parameters as specified by the Device
7702 Interface
7703
7704 wdiRemoveSTABcastKeyRspCb: callback for passing back the
7705 response of the remove STA Bcast key operation received
7706 from the device
7707
7708 pUserData: user data will be passed back with the
7709 callback
7710
7711 @see WDI_SetMaxTxPowerReq
7712 @return Result of the function call
7713*/
7714WDI_Status
7715WDI_SetMaxTxPowerReq
7716(
7717 WDI_SetMaxTxPowerParamsType* pwdiSetMaxTxPowerParams,
7718 WDA_SetMaxTxPowerRspCb wdiReqStatusCb,
7719 void* pUserData
7720);
7721
7722#ifdef FEATURE_WLAN_CCX
7723/**
7724 @brief WDI_TSMStatsReq will be called by the upper MAC to fetch
7725 Traffic Stream metrics.
7726 In state BUSY this request will be queued. Request won't
7727 be allowed in any other state.
7728
7729 @param wdiAddTsReqParams: the add TS parameters as specified by
7730 the Device Interface
7731
7732 wdiAddTsRspCb: callback for passing back the response of
7733 the add TS operation received from the device
7734
7735 pUserData: user data will be passed back with the
7736 callback
7737
7738 @see WDI_PostAssocReq
7739 @return Result of the function call
7740*/
7741WDI_Status
7742WDI_TSMStatsReq
7743(
7744 WDI_TSMStatsReqParamsType* pwdiTsmStatsReqParams,
7745 WDI_TsmRspCb wdiTsmStatsRspCb,
7746 void* pUserData
7747);
7748
7749
7750#endif
7751
7752/*========================================================================
7753
7754 QoS and BA APIs
7755
7756==========================================================================*/
7757
7758/**
7759 @brief WDI_AddTSReq will be called when the upper MAC to inform
7760 the device of a successful add TSpec negotiation. HW
7761 needs to receive the TSpec Info from the UMAC in order
7762 to configure properly the QoS data traffic. Upon the
7763 call of this API the WLAN DAL will pack and send a HAL
7764 Add TS request message to the lower RIVA sub-system if
7765 DAL is in state STARTED.
7766
7767 In state BUSY this request will be queued. Request won't
7768 be allowed in any other state.
7769
7770 WDI_PostAssocReq must have been called.
7771
7772 @param wdiAddTsReqParams: the add TS parameters as specified by
7773 the Device Interface
7774
7775 wdiAddTsRspCb: callback for passing back the response of
7776 the add TS operation received from the device
7777
7778 pUserData: user data will be passed back with the
7779 callback
7780
7781 @see WDI_PostAssocReq
7782 @return Result of the function call
7783*/
7784WDI_Status
7785WDI_AddTSReq
7786(
7787 WDI_AddTSReqParamsType* pwdiAddTsReqParams,
7788 WDI_AddTsRspCb wdiAddTsRspCb,
7789 void* pUserData
7790);
7791
7792
7793
7794/**
7795 @brief WDI_DelTSReq will be called when the upper MAC has ended
7796 admission on a specific AC. This is to inform HW that
7797 QoS traffic parameters must be rest. Upon the call of
7798 this API the WLAN DAL will pack and send a HAL Del TS
7799 request message to the lower RIVA sub-system if DAL is
7800 in state STARTED.
7801
7802 In state BUSY this request will be queued. Request won't
7803 be allowed in any other state.
7804
7805 WDI_AddTSReq must have been called.
7806
7807 @param wdiDelTsReqParams: the del TS parameters as specified by
7808 the Device Interface
7809
7810 wdiDelTsRspCb: callback for passing back the response of
7811 the del TS operation received from the device
7812
7813 pUserData: user data will be passed back with the
7814 callback
7815
7816 @see WDI_AddTSReq
7817 @return Result of the function call
7818*/
7819WDI_Status
7820WDI_DelTSReq
7821(
7822 WDI_DelTSReqParamsType* pwdiDelTsReqParams,
7823 WDI_DelTsRspCb wdiDelTsRspCb,
7824 void* pUserData
7825);
7826
7827
7828
7829/**
7830 @brief WDI_UpdateEDCAParams will be called when the upper MAC
7831 wishes to update the EDCA parameters used by HW for QoS
7832 data traffic. Upon the call of this API the WLAN DAL
7833 will pack and send a HAL Update EDCA Params request
7834 message to the lower RIVA sub-system if DAL is in state
7835 STARTED.
7836
7837 In state BUSY this request will be queued. Request won't
7838 be allowed in any other state.
7839
7840 WDI_PostAssocReq must have been called.
7841
7842 @param wdiUpdateEDCAParams: the start parameters as specified
7843 by the Device Interface
7844
7845 wdiUpdateEDCAParamsRspCb: callback for passing back the
7846 response of the start operation received from the device
7847
7848 pUserData: user data will be passed back with the
7849 callback
7850
7851 @see WDI_PostAssocReq
7852 @return Result of the function call
7853*/
7854WDI_Status
7855WDI_UpdateEDCAParams
7856(
7857 WDI_UpdateEDCAParamsType* pwdiUpdateEDCAParams,
7858 WDI_UpdateEDCAParamsRspCb wdiUpdateEDCAParamsRspCb,
7859 void* pUserData
7860);
7861
7862
7863
7864/**
7865 @brief WDI_AddBASessionReq will be called when the upper MAC has setup
7866 successfully a BA session and needs to notify the HW for
7867 the appropriate settings to take place. Upon the call of
7868 this API the WLAN DAL will pack and send a HAL Add BA
7869 request message to the lower RIVA sub-system if DAL is
7870 in state STARTED.
7871
7872 In state BUSY this request will be queued. Request won't
7873 be allowed in any other state.
7874
7875 WDI_PostAssocReq must have been called.
7876
7877 @param wdiAddBAReqParams: the add BA parameters as specified by
7878 the Device Interface
7879
7880 wdiAddBARspCb: callback for passing back the response of
7881 the add BA operation received from the device
7882
7883 pUserData: user data will be passed back with the
7884 callback
7885
7886 @see WDI_PostAssocReq
7887 @return Result of the function call
7888*/
7889WDI_Status
7890WDI_AddBASessionReq
7891(
7892 WDI_AddBASessionReqParamsType* pwdiAddBASessionReqParams,
7893 WDI_AddBASessionRspCb wdiAddBASessionRspCb,
7894 void* pUserData
7895);
7896
7897
7898/**
7899 @brief WDI_DelBAReq will be called when the upper MAC wants to
7900 inform HW that it has deleted a previously created BA
7901 session. Upon the call of this API the WLAN DAL will
7902 pack and send a HAL Del BA request message to the lower
7903 RIVA sub-system if DAL is in state STARTED.
7904
7905 In state BUSY this request will be queued. Request won't
7906 be allowed in any other state.
7907
7908 WDI_AddBAReq must have been called.
7909
7910 @param wdiDelBAReqParams: the del BA parameters as specified by
7911 the Device Interface
7912
7913 wdiDelBARspCb: callback for passing back the response of
7914 the del BA operation received from the device
7915
7916 pUserData: user data will be passed back with the
7917 callback
7918
7919 @see WDI_AddBAReq
7920 @return Result of the function call
7921*/
7922WDI_Status
7923WDI_DelBAReq
7924(
7925 WDI_DelBAReqParamsType* pwdiDelBAReqParams,
7926 WDI_DelBARspCb wdiDelBARspCb,
7927 void* pUserData
7928);
7929
7930/**
7931 @brief WDI_UpdateBeaconParamsReq will be called when the upper MAC wants to
7932 inform HW that there is a change in the beacon parameters
7933 Upon the call of this API the WLAN DAL will
7934 pack and send a UpdateBeacon Params message to the lower
7935 RIVA sub-system if DAL is in state STARTED.
7936
7937 In state BUSY this request will be queued. Request won't
7938 be allowed in any other state.
7939
7940 WDI_UpdateBeaconParamsReq must have been called.
7941
7942 @param WDI_UpdateBeaconParamsType: the Update Beacon parameters as specified by
7943 the Device Interface
7944
7945 WDI_UpdateBeaconParamsRspCb: callback for passing back the response of
7946 the Update Beacon Params operation received from the device
7947
7948 pUserData: user data will be passed back with the
7949 callback
7950
7951 @see WDI_AddBAReq
7952 @return Result of the function call
7953*/
7954
7955WDI_Status
7956WDI_UpdateBeaconParamsReq
7957(
7958 WDI_UpdateBeaconParamsType * pwdiUpdateBeaconParams,
7959 WDI_UpdateBeaconParamsRspCb wdiUpdateBeaconParamsRspCb,
7960 void* pUserData
7961);
7962
7963
7964/**
7965 @brief WDI_SendBeaconParamsReq will be called when the upper MAC wants to
7966 update the beacon template to be transmitted as BT MAP STA/IBSS/Soft AP
7967 Upon the call of this API the WLAN DAL will
7968 pack and send the beacon Template message to the lower
7969 RIVA sub-system if DAL is in state STARTED.
7970
7971 In state BUSY this request will be queued. Request won't
7972 be allowed in any other state.
7973
7974 WDI_SendBeaconParamsReq must have been called.
7975
7976 @param WDI_SendBeaconParamsType: the Update Beacon parameters as specified by
7977 the Device Interface
7978
7979 WDI_SendBeaconParamsRspCb: callback for passing back the response of
7980 the Send Beacon Params operation received from the device
7981
7982 pUserData: user data will be passed back with the
7983 callback
7984
7985 @see WDI_AddBAReq
7986 @return Result of the function call
7987*/
7988
7989WDI_Status
7990WDI_SendBeaconParamsReq
7991(
7992 WDI_SendBeaconParamsType* pwdiSendBeaconParams,
7993 WDI_SendBeaconParamsRspCb wdiSendBeaconParamsRspCb,
7994 void* pUserData
7995);
7996
7997
7998/**
7999 @brief WDI_UpdateProbeRspTemplateReq will be called when the
8000 upper MAC wants to update the probe response template to
8001 be transmitted as Soft AP
8002 Upon the call of this API the WLAN DAL will
8003 pack and send the probe rsp template message to the
8004 lower RIVA sub-system if DAL is in state STARTED.
8005
8006 In state BUSY this request will be queued. Request won't
8007 be allowed in any other state.
8008
8009
8010 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
8011 specified by the Device Interface
8012
8013 wdiSendBeaconParamsRspCb: callback for passing back the
8014 response of the Send Beacon Params operation received
8015 from the device
8016
8017 pUserData: user data will be passed back with the
8018 callback
8019
8020 @see WDI_AddBAReq
8021 @return Result of the function call
8022*/
8023
8024WDI_Status
8025WDI_UpdateProbeRspTemplateReq
8026(
8027 WDI_UpdateProbeRspTemplateParamsType* pwdiUpdateProbeRspParams,
8028 WDI_UpdateProbeRspTemplateRspCb wdiSendBeaconParamsRspCb,
8029 void* pUserData
8030);
8031
Jeff Johnson295189b2012-06-20 16:38:30 -07008032/**
8033 @brief WDI_SetP2PGONOAReq will be called when the
8034 upper MAC wants to send Notice of Absence
8035 Upon the call of this API the WLAN DAL will
8036 pack and send the probe rsp template message to the
8037 lower RIVA sub-system if DAL is in state STARTED.
8038
8039 In state BUSY this request will be queued. Request won't
8040 be allowed in any other state.
8041
8042
8043 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
8044 specified by the Device Interface
8045
8046 wdiSendBeaconParamsRspCb: callback for passing back the
8047 response of the Send Beacon Params operation received
8048 from the device
8049
8050 pUserData: user data will be passed back with the
8051 callback
8052
8053 @see WDI_AddBAReq
8054 @return Result of the function call
8055*/
8056WDI_Status
8057WDI_SetP2PGONOAReq
8058(
8059 WDI_SetP2PGONOAReqParamsType* pwdiP2PGONOAReqParams,
8060 WDI_SetP2PGONOAReqParamsRspCb wdiP2PGONOAReqParamsRspCb,
8061 void* pUserData
8062);
Jeff Johnson295189b2012-06-20 16:38:30 -07008063
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05308064/**
8065 @brief WDI_SetTDLSLinkEstablishReq will be called when the
8066 upper MAC wants to send TDLS Link Establish Request Parameters
8067 Upon the call of this API the WLAN DAL will
8068 pack and send the TDLS Link Establish Request message to the
8069 lower RIVA sub-system if DAL is in state STARTED.
8070
8071 In state BUSY this request will be queued. Request won't
8072 be allowed in any other state.
8073
8074
8075 @param pwdiTDLSLinkEstablishReqParams: TDLS Peer Parameters
8076 for Link Establishment (Used for PUAPSD , TDLS Off Channel ...)
8077
8078 wdiTDLSLinkEstablishReqRspCb: callback for passing back the
8079 response of the TDLS Link Establish request received
8080 from the device
8081
8082 pUserData: user data will be passed back with the
8083 callback
8084
8085 @see
8086 @return Result of the function call
8087*/
8088WDI_Status
8089WDI_SetTDLSLinkEstablishReq
8090(
8091 WDI_SetTDLSLinkEstablishReqParamsType* pwdiTDLSLinkEstablishReqParams,
8092 WDI_SetTDLSLinkEstablishReqParamsRspCb wdiTDLSLinkEstablishReqRspCb,
8093 void* pUserData
8094);
Jeff Johnson295189b2012-06-20 16:38:30 -07008095
8096/*========================================================================
8097
8098 Power Save APIs
8099
8100==========================================================================*/
8101
8102/**
8103 @brief WDI_SetPwrSaveCfgReq will be called when the upper MAC
8104 wants to set the power save related configurations of
8105 the WLAN Device. Upon the call of this API the WLAN DAL
8106 will pack and send a HAL Update CFG request message to
8107 the lower RIVA sub-system if DAL is in state STARTED.
8108
8109 In state BUSY this request will be queued. Request won't
8110 be allowed in any other state.
8111
8112 WDI_Start must have been called.
8113
8114 @param pwdiPowerSaveCfg: the power save cfg parameters as
8115 specified by the Device Interface
8116
8117 wdiSetPwrSaveCfgCb: callback for passing back the
8118 response of the set power save cfg operation received
8119 from the device
8120
8121 pUserData: user data will be passed back with the
8122 callback
8123
8124 @see WDI_Start
8125 @return Result of the function call
8126*/
8127WDI_Status
8128WDI_SetPwrSaveCfgReq
8129(
8130 WDI_UpdateCfgReqParamsType* pwdiPowerSaveCfg,
8131 WDI_SetPwrSaveCfgCb wdiSetPwrSaveCfgCb,
8132 void* pUserData
8133);
8134
8135/**
8136 @brief WDI_EnterImpsReq will be called when the upper MAC to
8137 request the device to get into IMPS power state. Upon
8138 the call of this API the WLAN DAL will send a HAL Enter
8139 IMPS request message to the lower RIVA sub-system if DAL
8140 is in state STARTED.
8141
8142 In state BUSY this request will be queued. Request won't
8143 be allowed in any other state.
8144
8145
8146 @param wdiEnterImpsRspCb: callback for passing back the
8147 response of the Enter IMPS operation received from the
8148 device
8149
8150 pUserData: user data will be passed back with the
8151 callback
8152
8153 @see WDI_Start
8154 @return Result of the function call
8155*/
8156WDI_Status
8157WDI_EnterImpsReq
8158(
8159 WDI_EnterImpsRspCb wdiEnterImpsRspCb,
8160 void* pUserData
8161);
8162
8163/**
8164 @brief WDI_ExitImpsReq will be called when the upper MAC to
8165 request the device to get out of IMPS power state. Upon
8166 the call of this API the WLAN DAL will send a HAL Exit
8167 IMPS request message to the lower RIVA sub-system if DAL
8168 is in state STARTED.
8169
8170 In state BUSY this request will be queued. Request won't
8171 be allowed in any other state.
8172
8173
8174
8175 @param wdiExitImpsRspCb: callback for passing back the response
8176 of the Exit IMPS operation received from the device
8177
8178 pUserData: user data will be passed back with the
8179 callback
8180
8181 @see WDI_Start
8182 @return Result of the function call
8183*/
8184WDI_Status
8185WDI_ExitImpsReq
8186(
8187 WDI_ExitImpsRspCb wdiExitImpsRspCb,
8188 void* pUserData
8189);
8190
8191/**
8192 @brief WDI_EnterBmpsReq will be called when the upper MAC to
8193 request the device to get into BMPS power state. Upon
8194 the call of this API the WLAN DAL will pack and send a
8195 HAL Enter BMPS request message to the lower RIVA
8196 sub-system if DAL is in state STARTED.
8197
8198 In state BUSY this request will be queued. Request won't
8199 be allowed in any other state.
8200
8201 WDI_PostAssocReq must have been called.
8202
8203 @param pwdiEnterBmpsReqParams: the Enter BMPS parameters as
8204 specified by the Device Interface
8205
8206 wdiEnterBmpsRspCb: callback for passing back the
8207 response of the Enter BMPS operation received from the
8208 device
8209
8210 pUserData: user data will be passed back with the
8211 callback
8212
8213 @see WDI_PostAssocReq
8214 @return Result of the function call
8215*/
8216WDI_Status
8217WDI_EnterBmpsReq
8218(
8219 WDI_EnterBmpsReqParamsType *pwdiEnterBmpsReqParams,
8220 WDI_EnterBmpsRspCb wdiEnterBmpsRspCb,
8221 void* pUserData
8222);
8223
8224/**
8225 @brief WDI_ExitBmpsReq will be called when the upper MAC to
8226 request the device to get out of BMPS power state. Upon
8227 the call of this API the WLAN DAL will pack and send a
8228 HAL Exit BMPS request message to the lower RIVA
8229 sub-system if DAL is in state STARTED.
8230
8231 In state BUSY this request will be queued. Request won't
8232 be allowed in any other state.
8233
8234 WDI_PostAssocReq must have been called.
8235
8236 @param pwdiExitBmpsReqParams: the Exit BMPS parameters as
8237 specified by the Device Interface
8238
8239 wdiExitBmpsRspCb: callback for passing back the response
8240 of the Exit BMPS operation received from the device
8241
8242 pUserData: user data will be passed back with the
8243 callback
8244
8245 @see WDI_PostAssocReq
8246 @return Result of the function call
8247*/
8248WDI_Status
8249WDI_ExitBmpsReq
8250(
8251 WDI_ExitBmpsReqParamsType *pwdiExitBmpsReqParams,
8252 WDI_ExitBmpsRspCb wdiExitBmpsRspCb,
8253 void* pUserData
8254);
8255
8256/**
8257 @brief WDI_EnterUapsdReq will be called when the upper MAC to
8258 request the device to get into UAPSD power state. Upon
8259 the call of this API the WLAN DAL will pack and send a
8260 HAL Enter UAPSD request message to the lower RIVA
8261 sub-system if DAL is in state STARTED.
8262
8263 In state BUSY this request will be queued. Request won't
8264 be allowed in any other state.
8265
8266 WDI_PostAssocReq must have been called.
8267 WDI_SetUapsdAcParamsReq must have been called.
8268
8269 @param pwdiEnterUapsdReqParams: the Enter UAPSD parameters as
8270 specified by the Device Interface
8271
8272 wdiEnterUapsdRspCb: callback for passing back the
8273 response of the Enter UAPSD operation received from the
8274 device
8275
8276 pUserData: user data will be passed back with the
8277 callback
8278
8279 @see WDI_PostAssocReq, WDI_SetUapsdAcParamsReq
8280 @return Result of the function call
8281*/
8282WDI_Status
8283WDI_EnterUapsdReq
8284(
8285 WDI_EnterUapsdReqParamsType *pwdiEnterUapsdReqParams,
8286 WDI_EnterUapsdRspCb wdiEnterUapsdRspCb,
8287 void* pUserData
8288);
8289
8290/**
8291 @brief WDI_ExitUapsdReq will be called when the upper MAC to
8292 request the device to get out of UAPSD power state. Upon
8293 the call of this API the WLAN DAL will send a HAL Exit
8294 UAPSD request message to the lower RIVA sub-system if
8295 DAL is in state STARTED.
8296
8297 In state BUSY this request will be queued. Request won't
8298 be allowed in any other state.
8299
8300 WDI_PostAssocReq must have been called.
8301
8302 @param wdiExitUapsdRspCb: callback for passing back the
8303 response of the Exit UAPSD operation received from the
8304 device
8305
8306 pUserData: user data will be passed back with the
8307 callback
8308
8309 @see WDI_PostAssocReq
8310 @return Result of the function call
8311*/
8312WDI_Status
8313WDI_ExitUapsdReq
8314(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07008315 WDI_ExitUapsdReqParamsType *pwdiExitUapsdReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07008316 WDI_ExitUapsdRspCb wdiExitUapsdRspCb,
8317 void* pUserData
8318);
8319
8320/**
8321 @brief WDI_UpdateUapsdParamsReq will be called when the upper
8322 MAC wants to set the UAPSD related configurations
8323 of an associated STA (while acting as an AP) to the WLAN
8324 Device. Upon the call of this API the WLAN DAL will pack
8325 and send a HAL Update UAPSD params request message to
8326 the lower RIVA sub-system if DAL is in state STARTED.
8327
8328 In state BUSY this request will be queued. Request won't
8329 be allowed in any other state.
8330
8331 WDI_ConfigBSSReq must have been called.
8332
8333 @param pwdiUpdateUapsdReqParams: the UAPSD parameters
8334 as specified by the Device Interface
8335
8336 wdiUpdateUapsdParamsCb: callback for passing back the
8337 response of the update UAPSD params operation received
8338 from the device
8339
8340 pUserData: user data will be passed back with the
8341 callback
8342
8343 @see WDI_ConfigBSSReq
8344 @return Result of the function call
8345*/
8346WDI_Status
8347WDI_UpdateUapsdParamsReq
8348(
8349 WDI_UpdateUapsdReqParamsType *pwdiUpdateUapsdReqParams,
8350 WDI_UpdateUapsdParamsCb wdiUpdateUapsdParamsCb,
8351 void* pUserData
8352);
8353
8354/**
8355 @brief WDI_SetUapsdAcParamsReq will be called when the upper
8356 MAC wants to set the UAPSD related configurations before
8357 requesting for enter UAPSD power state to the WLAN
8358 Device. Upon the call of this API the WLAN DAL will pack
8359 and send a HAL Set UAPSD params request message to
8360 the lower RIVA sub-system if DAL is in state STARTED.
8361
8362 In state BUSY this request will be queued. Request won't
8363 be allowed in any other state.
8364
8365 WDI_PostAssocReq must have been called.
8366
8367 @param pwdiUapsdInfo: the UAPSD parameters as specified by
8368 the Device Interface
8369
8370 wdiSetUapsdAcParamsCb: callback for passing back the
8371 response of the set UAPSD params operation received from
8372 the device
8373
8374 pUserData: user data will be passed back with the
8375 callback
8376
8377 @see WDI_PostAssocReq
8378 @return Result of the function call
8379*/
8380WDI_Status
8381WDI_SetUapsdAcParamsReq
8382(
8383 WDI_SetUapsdAcParamsReqParamsType* pwdiPowerSaveCfg,
8384 WDI_SetUapsdAcParamsCb wdiSetUapsdAcParamsCb,
8385 void* pUserData
8386);
8387
8388/**
8389 @brief WDI_ConfigureRxpFilterReq will be called when the upper
8390 MAC wants to set/reset the RXP filters for received pkts
8391 (MC, BC etc.). Upon the call of this API the WLAN DAL will pack
8392 and send a HAL configure RXP filter request message to
8393 the lower RIVA sub-system.
8394
8395 In state BUSY this request will be queued. Request won't
8396 be allowed in any other state.
8397
8398
8399 @param pwdiConfigureRxpFilterReqParams: the RXP
8400 filter as specified by the Device
8401 Interface
8402
8403 wdiConfigureRxpFilterCb: callback for passing back the
8404 response of the configure RXP filter operation received
8405 from the device
8406
8407 pUserData: user data will be passed back with the
8408 callback
8409
8410 @return Result of the function call
8411*/
8412WDI_Status
8413WDI_ConfigureRxpFilterReq
8414(
8415 WDI_ConfigureRxpFilterReqParamsType *pwdiConfigureRxpFilterReqParams,
8416 WDI_ConfigureRxpFilterCb wdiConfigureRxpFilterCb,
8417 void* pUserData
8418);
8419
8420/**
8421 @brief WDI_SetBeaconFilterReq will be called when the upper MAC
8422 wants to set the beacon filters while in power save.
8423 Upon the call of this API the WLAN DAL will pack and
8424 send a Beacon filter request message to the
8425 lower RIVA sub-system.
8426
8427 In state BUSY this request will be queued. Request won't
8428 be allowed in any other state.
8429
8430
8431 @param pwdiBeaconFilterReqParams: the beacon
8432 filter as specified by the Device
8433 Interface
8434
8435 wdiBeaconFilterCb: callback for passing back the
8436 response of the set beacon filter operation received
8437 from the device
8438
8439 pUserData: user data will be passed back with the
8440 callback
8441
8442 @return Result of the function call
8443*/
8444WDI_Status
8445WDI_SetBeaconFilterReq
8446(
8447 WDI_BeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
8448 WDI_SetBeaconFilterCb wdiBeaconFilterCb,
8449 void* pUserData
8450);
8451
8452/**
8453 @brief WDI_RemBeaconFilterReq will be called when the upper MAC
8454 wants to remove the beacon filter for perticular IE
8455 while in power save. Upon the call of this API the WLAN
8456 DAL will pack and send a remove Beacon filter request
8457 message to the lower RIVA sub-system.
8458
8459 In state BUSY this request will be queued. Request won't
8460 be allowed in any other state.
8461
8462
8463 @param pwdiBeaconFilterReqParams: the beacon
8464 filter as specified by the Device
8465 Interface
8466
8467 wdiBeaconFilterCb: callback for passing back the
8468 response of the remove beacon filter operation received
8469 from the device
8470
8471 pUserData: user data will be passed back with the
8472 callback
8473
8474 @return Result of the function call
8475*/
8476WDI_Status
8477WDI_RemBeaconFilterReq
8478(
8479 WDI_RemBeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
8480 WDI_RemBeaconFilterCb wdiBeaconFilterCb,
8481 void* pUserData
8482);
8483
8484/**
8485 @brief WDI_SetRSSIThresholdsReq will be called when the upper
8486 MAC wants to set the RSSI thresholds related
8487 configurations while in power save. Upon the call of
8488 this API the WLAN DAL will pack and send a HAL Set RSSI
8489 thresholds request message to the lower RIVA
8490 sub-system if DAL is in state STARTED.
8491
8492 In state BUSY this request will be queued. Request won't
8493 be allowed in any other state.
8494
8495 WDI_PostAssocReq must have been called.
8496
8497 @param pwdiUapsdInfo: the UAPSD parameters as specified by
8498 the Device Interface
8499
8500 wdiSetUapsdAcParamsCb: callback for passing back the
8501 response of the set UAPSD params operation received from
8502 the device
8503
8504 pUserData: user data will be passed back with the
8505 callback
8506
8507 @see WDI_PostAssocReq
8508 @return Result of the function call
8509*/
8510WDI_Status
8511WDI_SetRSSIThresholdsReq
8512(
8513 WDI_SetRSSIThresholdsReqParamsType* pwdiRSSIThresholdsParams,
8514 WDI_SetRSSIThresholdsCb wdiSetRSSIThresholdsCb,
8515 void* pUserData
8516);
8517
8518/**
8519 @brief WDI_HostOffloadReq will be called when the upper MAC
8520 wants to set the filter to minimize unnecessary host
8521 wakeup due to broadcast traffic while in power save.
8522 Upon the call of this API the WLAN DAL will pack and
8523 send a HAL host offload request message to the
8524 lower RIVA sub-system if DAL is in state STARTED.
8525
8526 In state BUSY this request will be queued. Request won't
8527 be allowed in any other state.
8528
8529 WDI_PostAssocReq must have been called.
8530
8531 @param pwdiHostOffloadParams: the host offload as specified
8532 by the Device Interface
8533
8534 wdiHostOffloadCb: callback for passing back the response
8535 of the host offload operation received from the
8536 device
8537
8538 pUserData: user data will be passed back with the
8539 callback
8540
8541 @see WDI_PostAssocReq
8542 @return Result of the function call
8543*/
8544WDI_Status
8545WDI_HostOffloadReq
8546(
8547 WDI_HostOffloadReqParamsType* pwdiHostOffloadParams,
8548 WDI_HostOffloadCb wdiHostOffloadCb,
8549 void* pUserData
8550);
8551
8552/**
8553 @brief WDI_KeepAliveReq will be called when the upper MAC
8554 wants to set the filter to send NULL or unsolicited ARP responses
8555 and minimize unnecessary host wakeups due to while in power save.
8556 Upon the call of this API the WLAN DAL will pack and
8557 send a HAL Keep Alive request message to the
8558 lower RIVA sub-system if DAL is in state STARTED.
8559
8560 In state BUSY this request will be queued. Request won't
8561 be allowed in any other state.
8562
8563 WDI_PostAssocReq must have been called.
8564
8565 @param pwdiKeepAliveParams: the Keep Alive as specified
8566 by the Device Interface
8567
8568 wdiKeepAliveCb: callback for passing back the response
8569 of the Keep Alive operation received from the
8570 device
8571
8572 pUserData: user data will be passed back with the
8573 callback
8574
8575 @see WDI_PostAssocReq
8576 @return Result of the function call
8577*/
8578WDI_Status
8579WDI_KeepAliveReq
8580(
8581 WDI_KeepAliveReqParamsType* pwdiKeepAliveParams,
8582 WDI_KeepAliveCb wdiKeepAliveCb,
8583 void* pUserData
8584);
8585
8586/**
8587 @brief WDI_WowlAddBcPtrnReq will be called when the upper MAC
8588 wants to set the Wowl Bcast ptrn to minimize unnecessary
8589 host wakeup due to broadcast traffic while in power
8590 save. Upon the call of this API the WLAN DAL will pack
8591 and send a HAL Wowl Bcast ptrn request message to the
8592 lower RIVA sub-system if DAL is in state STARTED.
8593
8594 In state BUSY this request will be queued. Request won't
8595 be allowed in any other state.
8596
8597 WDI_PostAssocReq must have been called.
8598
8599 @param pwdiWowlAddBcPtrnParams: the Wowl bcast ptrn as
8600 specified by the Device Interface
8601
8602 wdiWowlAddBcPtrnCb: callback for passing back the
8603 response of the add Wowl bcast ptrn operation received
8604 from the device
8605
8606 pUserData: user data will be passed back with the
8607 callback
8608
8609 @see WDI_PostAssocReq
8610 @return Result of the function call
8611*/
8612WDI_Status
8613WDI_WowlAddBcPtrnReq
8614(
8615 WDI_WowlAddBcPtrnReqParamsType* pwdiWowlAddBcPtrnParams,
8616 WDI_WowlAddBcPtrnCb wdiWowlAddBcPtrnCb,
8617 void* pUserData
8618);
8619
8620/**
8621 @brief WDI_WowlDelBcPtrnReq will be called when the upper MAC
8622 wants to clear the Wowl Bcast ptrn. Upon the call of
8623 this API the WLAN DAL will pack and send a HAL delete
8624 Wowl Bcast ptrn request message to the lower RIVA
8625 sub-system if DAL is in state STARTED.
8626
8627 In state BUSY this request will be queued. Request won't
8628 be allowed in any other state.
8629
8630 WDI_WowlAddBcPtrnReq must have been called.
8631
8632 @param pwdiWowlDelBcPtrnParams: the Wowl bcast ptrn as
8633 specified by the Device Interface
8634
8635 wdiWowlDelBcPtrnCb: callback for passing back the
8636 response of the del Wowl bcast ptrn operation received
8637 from the device
8638
8639 pUserData: user data will be passed back with the
8640 callback
8641
8642 @see WDI_WowlAddBcPtrnReq
8643 @return Result of the function call
8644*/
8645WDI_Status
8646WDI_WowlDelBcPtrnReq
8647(
8648 WDI_WowlDelBcPtrnReqParamsType* pwdiWowlDelBcPtrnParams,
8649 WDI_WowlDelBcPtrnCb wdiWowlDelBcPtrnCb,
8650 void* pUserData
8651);
8652
8653/**
8654 @brief WDI_WowlEnterReq will be called when the upper MAC
8655 wants to enter the Wowl state to minimize unnecessary
8656 host wakeup while in power save. Upon the call of this
8657 API the WLAN DAL will pack and send a HAL Wowl enter
8658 request message to the lower RIVA sub-system if DAL is
8659 in state STARTED.
8660
8661 In state BUSY this request will be queued. Request won't
8662 be allowed in any other state.
8663
8664 WDI_PostAssocReq must have been called.
8665
8666 @param pwdiWowlEnterReqParams: the Wowl enter info as
8667 specified by the Device Interface
8668
8669 wdiWowlEnterReqCb: callback for passing back the
8670 response of the enter Wowl operation received from the
8671 device
8672
8673 pUserData: user data will be passed back with the
8674 callback
8675
8676 @see WDI_PostAssocReq
8677 @return Result of the function call
8678*/
8679WDI_Status
8680WDI_WowlEnterReq
8681(
8682 WDI_WowlEnterReqParamsType* pwdiWowlEnterParams,
8683 WDI_WowlEnterReqCb wdiWowlEnterCb,
8684 void* pUserData
8685);
8686
8687/**
8688 @brief WDI_WowlExitReq will be called when the upper MAC
8689 wants to exit the Wowl state. Upon the call of this API
8690 the WLAN DAL will pack and send a HAL Wowl exit request
8691 message to the lower RIVA sub-system if DAL is in state
8692 STARTED.
8693
8694 In state BUSY this request will be queued. Request won't
8695 be allowed in any other state.
8696
8697 WDI_WowlEnterReq must have been called.
8698
8699 @param pwdiWowlExitReqParams: the Wowl exit info as
8700 specified by the Device Interface
8701
8702 wdiWowlExitReqCb: callback for passing back the response
8703 of the exit Wowl operation received from the device
8704
8705 pUserData: user data will be passed back with the
8706 callback
8707
8708 @see WDI_WowlEnterReq
8709 @return Result of the function call
8710*/
8711WDI_Status
8712WDI_WowlExitReq
8713(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07008714 WDI_WowlExitReqParamsType* pwdiWowlExitParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07008715 WDI_WowlExitReqCb wdiWowlExitCb,
8716 void* pUserData
8717);
8718
8719/**
8720 @brief WDI_ConfigureAppsCpuWakeupStateReq will be called when
8721 the upper MAC wants to dynamically adjusts the listen
8722 interval based on the WLAN/MSM activity. Upon the call
8723 of this API the WLAN DAL will pack and send a HAL
8724 configure Apps Cpu Wakeup State request message to the
8725 lower RIVA sub-system.
8726
8727 In state BUSY this request will be queued. Request won't
8728 be allowed in any other state.
8729
8730
8731 @param pwdiConfigureAppsCpuWakeupStateReqParams: the
8732 Apps Cpu Wakeup State as specified by the
8733 Device Interface
8734
8735 wdiConfigureAppsCpuWakeupStateCb: callback for passing
8736 back the response of the configure Apps Cpu Wakeup State
8737 operation received from the device
8738
8739 pUserData: user data will be passed back with the
8740 callback
8741
8742 @return Result of the function call
8743*/
8744WDI_Status
8745WDI_ConfigureAppsCpuWakeupStateReq
8746(
8747 WDI_ConfigureAppsCpuWakeupStateReqParamsType *pwdiConfigureAppsCpuWakeupStateReqParams,
8748 WDI_ConfigureAppsCpuWakeupStateCb wdiConfigureAppsCpuWakeupStateCb,
8749 void* pUserData
8750);
8751/**
8752 @brief WDI_FlushAcReq will be called when the upper MAC wants
8753 to to perform a flush operation on a given AC. Upon the
8754 call of this API the WLAN DAL will pack and send a HAL
8755 Flush AC request message to the lower RIVA sub-system if
8756 DAL is in state STARTED.
8757
8758 In state BUSY this request will be queued. Request won't
8759 be allowed in any other state.
8760
8761
8762 @param pwdiFlushAcReqParams: the Flush AC parameters as
8763 specified by the Device Interface
8764
8765 wdiFlushAcRspCb: callback for passing back the response
8766 of the Flush AC operation received from the device
8767
8768 pUserData: user data will be passed back with the
8769 callback
8770
8771 @return Result of the function call
8772*/
8773WDI_Status
8774WDI_FlushAcReq
8775(
8776 WDI_FlushAcReqParamsType* pwdiFlushAcReqParams,
8777 WDI_FlushAcRspCb wdiFlushAcRspCb,
8778 void* pUserData
8779);
8780
8781/**
8782 @brief WDI_BtAmpEventReq will be called when the upper MAC
8783 wants to notify the lower mac on a BT AMP event. This is
8784 to inform BTC-SLM that some BT AMP event occurred. Upon
8785 the call of this API the WLAN DAL will pack and send a
8786 HAL BT AMP event request message to the lower RIVA
8787 sub-system if DAL is in state STARTED.
8788
8789 In state BUSY this request will be queued. Request won't
8790 be allowed in any other state.
8791
8792
8793 @param wdiBtAmpEventReqParams: the BT AMP event parameters as
8794 specified by the Device Interface
8795
8796 wdiBtAmpEventRspCb: callback for passing back the
8797 response of the BT AMP event operation received from the
8798 device
8799
8800 pUserData: user data will be passed back with the
8801 callback
8802
8803 @return Result of the function call
8804*/
8805WDI_Status
8806WDI_BtAmpEventReq
8807(
8808 WDI_BtAmpEventParamsType* pwdiBtAmpEventReqParams,
8809 WDI_BtAmpEventRspCb wdiBtAmpEventRspCb,
8810 void* pUserData
8811);
8812
Jeff Johnsone7245742012-09-05 17:12:55 -07008813#ifdef FEATURE_OEM_DATA_SUPPORT
8814/**
8815 @brief WDI_Start oem data Req will be called when the upper MAC
8816 wants to notify the lower mac on a oem data Req event.Upon
8817 the call of this API the WLAN DAL will pack and send a
8818 HAL OEM Data Req event request message to the lower RIVA
8819 sub-system if DAL is in state STARTED.
8820
8821 In state BUSY this request will be queued. Request won't
8822 be allowed in any other state.
8823
8824
8825 @param pWdiOemDataReqParams: the oem data req parameters as
8826 specified by the Device Interface
8827
8828 wdiStartOemDataRspCb: callback for passing back the
8829 response of the Oem Data Req received from the
8830 device
8831
8832 pUserData: user data will be passed back with the
8833 callback
8834
8835 @return Result of the function call
8836*/
8837WDI_Status
8838WDI_StartOemDataReq
8839(
8840 WDI_oemDataReqParamsType* pWdiOemDataReqParams,
8841 WDI_oemDataRspCb wdiOemDataRspCb,
8842 void* pUserData
8843);
8844#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07008845
8846/*========================================================================
8847
8848 CONTROL APIs
8849
8850==========================================================================*/
8851/**
8852 @brief WDI_SwitchChReq will be called when the upper MAC wants
8853 the WLAN HW to change the current channel of operation.
8854 Upon the call of this API the WLAN DAL will pack and
8855 send a HAL Start request message to the lower RIVA
8856 sub-system if DAL is in state STARTED.
8857
8858 In state BUSY this request will be queued. Request won't
8859 be allowed in any other state.
8860
8861 WDI_Start must have been called.
8862
8863 @param wdiSwitchChReqParams: the switch ch parameters as
8864 specified by the Device Interface
8865
8866 wdiSwitchChRspCb: callback for passing back the response
8867 of the switch ch operation received from the device
8868
8869 pUserData: user data will be passed back with the
8870 callback
8871
8872 @see WDI_Start
8873 @return Result of the function call
8874*/
8875WDI_Status
8876WDI_SwitchChReq
8877(
8878 WDI_SwitchChReqParamsType* pwdiSwitchChReqParams,
8879 WDI_SwitchChRspCb wdiSwitchChRspCb,
8880 void* pUserData
8881);
8882
8883
8884
8885/**
8886 @brief WDI_ConfigSTAReq will be called when the upper MAC
8887 wishes to add or update a STA in HW. Upon the call of
8888 this API the WLAN DAL will pack and send a HAL Start
8889 message request message to the lower RIVA sub-system if
8890 DAL is in state STARTED.
8891
8892 In state BUSY this request will be queued. Request won't
8893 be allowed in any other state.
8894
8895 WDI_Start must have been called.
8896
8897 @param wdiConfigSTAReqParams: the config STA parameters as
8898 specified by the Device Interface
8899
8900 wdiConfigSTARspCb: callback for passing back the
8901 response of the config STA operation received from the
8902 device
8903
8904 pUserData: user data will be passed back with the
8905 callback
8906
8907 @see WDI_Start
8908 @return Result of the function call
8909*/
8910WDI_Status
8911WDI_ConfigSTAReq
8912(
8913 WDI_ConfigSTAReqParamsType* pwdiConfigSTAReqParams,
8914 WDI_ConfigSTARspCb wdiConfigSTARspCb,
8915 void* pUserData
8916);
8917
8918/**
8919 @brief WDI_SetLinkStateReq will be called when the upper MAC
8920 wants to change the state of an ongoing link. Upon the
8921 call of this API the WLAN DAL will pack and send a HAL
8922 Start message request message to the lower RIVA
8923 sub-system if DAL is in state STARTED.
8924
8925 In state BUSY this request will be queued. Request won't
8926 be allowed in any other state.
8927
8928 WDI_JoinReq must have been called.
8929
8930 @param wdiSetLinkStateReqParams: the set link state parameters
8931 as specified by the Device Interface
8932
8933 wdiSetLinkStateRspCb: callback for passing back the
8934 response of the set link state operation received from
8935 the device
8936
8937 pUserData: user data will be passed back with the
8938 callback
8939
8940 @see WDI_JoinStartReq
8941 @return Result of the function call
8942*/
8943WDI_Status
8944WDI_SetLinkStateReq
8945(
8946 WDI_SetLinkReqParamsType* pwdiSetLinkStateReqParams,
8947 WDI_SetLinkStateRspCb wdiSetLinkStateRspCb,
8948 void* pUserData
8949);
8950
8951
8952/**
8953 @brief WDI_GetStatsReq will be called when the upper MAC wants
8954 to get statistics (MIB counters) from the device. Upon
8955 the call of this API the WLAN DAL will pack and send a
8956 HAL Start request message to the lower RIVA sub-system
8957 if DAL is in state STARTED.
8958
8959 In state BUSY this request will be queued. Request won't
8960 be allowed in any other state.
8961
8962 WDI_Start must have been called.
8963
8964 @param wdiGetStatsReqParams: the stats parameters to get as
8965 specified by the Device Interface
8966
8967 wdiGetStatsRspCb: callback for passing back the response
8968 of the get stats operation received from the device
8969
8970 pUserData: user data will be passed back with the
8971 callback
8972
8973 @see WDI_Start
8974 @return Result of the function call
8975*/
8976WDI_Status
8977WDI_GetStatsReq
8978(
8979 WDI_GetStatsReqParamsType* pwdiGetStatsReqParams,
8980 WDI_GetStatsRspCb wdiGetStatsRspCb,
8981 void* pUserData
8982);
8983
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08008984#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_CCX || defined(FEATURE_WLAN_LFR)
8985/**
8986 @brief WDI_GetRoamRssiReq will be called when the upper MAC wants
8987 to get roam rssi from the device. Upon
8988 the call of this API the WLAN DAL will pack and send a
8989 HAL Start request message to the lower RIVA sub-system
8990 if DAL is in state STARTED.
8991
8992 In state BUSY this request will be queued. Request won't
8993 be allowed in any other state.
8994
8995 WDI_Start must have been called.
8996
8997 @param wdiGetRoamRssiReqParams: the stats parameters to get as
8998 specified by the Device Interface
8999
9000 wdiGetRoamRssispCb: callback for passing back the response
9001 of the get stats operation received from the device
9002
9003 pUserData: user data will be passed back with the
9004 callback
9005
9006 @see WDI_Start
9007 @return Result of the function call
9008*/
9009WDI_Status
9010WDI_GetRoamRssiReq
9011(
9012 WDI_GetRoamRssiReqParamsType* pwdiGetRoamRssiReqParams,
9013 WDI_GetRoamRssiRspCb wdiGetRoamRssiRspCb,
9014 void* pUserData
9015);
9016#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07009017
9018/**
9019 @brief WDI_UpdateCfgReq will be called when the upper MAC when
9020 it wishes to change the configuration of the WLAN
9021 Device. Upon the call of this API the WLAN DAL will pack
9022 and send a HAL Update CFG request message to the lower
9023 RIVA sub-system if DAL is in state STARTED.
9024
9025 In state BUSY this request will be queued. Request won't
9026 be allowed in any other state.
9027
9028 WDI_Start must have been called.
9029
9030 @param wdiUpdateCfgReqParams: the update cfg parameters as
9031 specified by the Device Interface
9032
9033 wdiUpdateCfgsRspCb: callback for passing back the
9034 response of the update cfg operation received from the
9035 device
9036
9037 pUserData: user data will be passed back with the
9038 callback
9039
9040 @see WDI_Start
9041 @return Result of the function call
9042*/
9043WDI_Status
9044WDI_UpdateCfgReq
9045(
9046 WDI_UpdateCfgReqParamsType* pwdiUpdateCfgReqParams,
9047 WDI_UpdateCfgRspCb wdiUpdateCfgsRspCb,
9048 void* pUserData
9049);
9050
9051/**
9052 @brief WDI_NvDownloadReq will be called by the UMAC to dowload the NV blob
9053 to the NV memory.
9054
9055 @param wdiNvDownloadReqParams: the NV Download parameters as specified by
9056 the Device Interface
9057
9058 wdiNvDownloadRspCb: callback for passing back the response of
9059 the NV Download operation received from the device
9060
9061 pUserData: user data will be passed back with the
9062 callback
9063
9064 @see WDI_PostAssocReq
9065 @return Result of the function call
9066*/
9067WDI_Status
9068WDI_NvDownloadReq
9069(
9070 WDI_NvDownloadReqParamsType* pwdiNvDownloadReqParams,
9071 WDI_NvDownloadRspCb wdiNvDownloadRspCb,
9072 void* pUserData
9073);
9074/**
9075 @brief WDI_AddBAReq will be called when the upper MAC has setup
9076 successfully a BA session and needs to notify the HW for
9077 the appropriate settings to take place. Upon the call of
9078 this API the WLAN DAL will pack and send a HAL Add BA
9079 request message to the lower RIVA sub-system if DAL is
9080 in state STARTED.
9081
9082 In state BUSY this request will be queued. Request won't
9083 be allowed in any other state.
9084
9085 WDI_PostAssocReq must have been called.
9086
9087 @param wdiAddBAReqParams: the add BA parameters as specified by
9088 the Device Interface
9089
9090 wdiAddBARspCb: callback for passing back the response of
9091 the add BA operation received from the device
9092
9093 pUserData: user data will be passed back with the
9094 callback
9095
9096 @see WDI_PostAssocReq
9097 @return Result of the function call
9098*/
9099WDI_Status
9100WDI_AddBAReq
9101(
9102 WDI_AddBAReqParamsType* pwdiAddBAReqParams,
9103 WDI_AddBARspCb wdiAddBARspCb,
9104 void* pUserData
9105);
9106
9107/**
9108 @brief WDI_TriggerBAReq will be called when the upper MAC has setup
9109 successfully a BA session and needs to notify the HW for
9110 the appropriate settings to take place. Upon the call of
9111 this API the WLAN DAL will pack and send a HAL Add BA
9112 request message to the lower RIVA sub-system if DAL is
9113 in state STARTED.
9114
9115 In state BUSY this request will be queued. Request won't
9116 be allowed in any other state.
9117
9118 WDI_PostAssocReq must have been called.
9119
9120 @param wdiAddBAReqParams: the add BA parameters as specified by
9121 the Device Interface
9122
9123 wdiAddBARspCb: callback for passing back the response of
9124 the add BA operation received from the device
9125
9126 pUserData: user data will be passed back with the
9127 callback
9128
9129 @see WDI_PostAssocReq
9130 @return Result of the function call
9131*/
9132WDI_Status
9133WDI_TriggerBAReq
9134(
9135 WDI_TriggerBAReqParamsType* pwdiTriggerBAReqParams,
9136 WDI_TriggerBARspCb wdiTriggerBARspCb,
9137 void* pUserData
9138);
9139
9140
9141/**
9142 @brief WDI_IsHwFrameTxTranslationCapable checks to see if HW
9143 frame xtl is enabled for a particular STA.
9144
9145 WDI_PostAssocReq must have been called.
9146
9147 @param uSTAIdx: STA index
9148
9149 @see WDI_PostAssocReq
9150 @return Result of the function call
9151*/
9152wpt_boolean WDI_IsHwFrameTxTranslationCapable
9153(
9154 wpt_uint8 uSTAIdx
9155);
9156
9157#ifdef WLAN_FEATURE_VOWIFI_11R
9158/**
9159 @brief WDI_AggrAddTSReq will be called when the upper MAC to inform
9160 the device of a successful add TSpec negotiation for 11r. HW
9161 needs to receive the TSpec Info from the UMAC in order
9162 to configure properly the QoS data traffic. Upon the
9163 call of this API the WLAN DAL will pack and send a HAL
9164 Aggregated Add TS request message to the lower RIVA sub-system if
9165 DAL is in state STARTED.
9166
9167 In state BUSY this request will be queued. Request won't
9168 be allowed in any other state.
9169
9170 WDI_PostAssocReq must have been called.
9171
9172 @param wdiAggrAddTsReqParams: the add TS parameters as specified by
9173 the Device Interface
9174
9175 wdiAggrAddTsRspCb: callback for passing back the response of
9176 the add TS operation received from the device
9177
9178 pUserData: user data will be passed back with the
9179 callback
9180
9181 @see WDI_PostAssocReq
9182 @return Result of the function call
9183*/
9184WDI_Status
9185WDI_AggrAddTSReq
9186(
9187 WDI_AggrAddTSReqParamsType* pwdiAddTsReqParams,
9188 WDI_AggrAddTsRspCb wdiAggrAddTsRspCb,
9189 void* pUserData
9190);
9191#endif /* WLAN_FEATURE_VOWIFI_11R */
9192/**
9193 @brief WDI_STATableInit - Initializes the STA tables.
9194 Allocates the necesary memory.
9195
9196
9197 @param pWDICtx: pointer to the WLAN DAL context
9198
9199 @see
9200 @return Result of the function call
9201*/
9202
9203WDI_Status WDI_StubRunTest
9204(
9205 wpt_uint8 ucTestNo
9206);
9207
Jeff Johnson295189b2012-06-20 16:38:30 -07009208/**
9209 @brief WDI_FTMCommandReq -
9210 Route FTMRequest Command to HAL
9211
9212 @param ftmCommandReq: FTM request command body
9213 @param ftmCommandRspCb: Response CB
9214 @param pUserData: User data will be included with CB
9215
9216 @return Result of the function call
9217*/
9218WDI_Status WDI_FTMCommandReq
9219(
9220 WDI_FTMCommandReqType *ftmCommandReq,
9221 WDI_FTMCommandRspCb ftmCommandRspCb,
9222 void *pUserData
9223);
Jeff Johnson295189b2012-06-20 16:38:30 -07009224
9225/**
9226 @brief WDI_HostResumeReq will be called
9227
9228 In state BUSY this request will be queued. Request won't
9229 be allowed in any other state.
9230
9231
9232 @param pwdiResumeReqParams: as specified by
9233 the Device Interface
9234
9235 wdiResumeReqRspCb: callback for passing back the response of
9236 the Resume Req received from the device
9237
9238 pUserData: user data will be passed back with the
9239 callback
9240
9241 @see WDI_PostAssocReq
9242 @return Result of the function call
9243*/
9244WDI_Status
9245WDI_HostResumeReq
9246(
9247 WDI_ResumeParamsType* pwdiResumeReqParams,
9248 WDI_HostResumeEventRspCb wdiResumeReqRspCb,
9249 void* pUserData
9250);
9251
9252/**
9253 @brief WDI_GetAvailableResCount - Function to get the available resource
9254 for data and managemnt frames.
9255
9256 @param pContext: pointer to the WDI context
9257 @param wdiResPool: type of resource pool requesting
9258 @see
9259 @return Result of the function call
9260*/
9261
9262wpt_uint32 WDI_GetAvailableResCount
9263(
9264 void *pContext,
9265 WDI_ResPoolType wdiResPool
9266);
9267
9268/**
9269 @brief WDI_SetAddSTASelfReq will be called when the
9270 UMAC wanted to add self STA while opening any new session
9271 In state BUSY this request will be queued. Request won't
9272 be allowed in any other state.
9273
9274
9275 @param pwdiAddSTASelfParams: the add self sta parameters as
9276 specified by the Device Interface
9277
9278 pUserData: user data will be passed back with the
9279 callback
9280
9281 @see
9282 @return Result of the function call
9283*/
9284WDI_Status
9285WDI_AddSTASelfReq
9286(
9287 WDI_AddSTASelfReqParamsType* pwdiAddSTASelfReqParams,
9288 WDI_AddSTASelfParamsRspCb wdiAddSTASelfReqParamsRspCb,
9289 void* pUserData
9290);
9291
9292
9293/**
9294 @brief WDI_DelSTASelfReq will be called .
9295
9296 @param WDI_DelSTASelfReqParamsType
9297
9298 WDI_DelSTASelfRspCb: callback for passing back the
9299 response of the del sta self operation received from the
9300 device
9301
9302 pUserData: user data will be passed back with the
9303 callback
9304
9305 @see WDI_PostAssocReq
9306 @return Result of the function call
9307*/
9308WDI_Status
9309WDI_DelSTASelfReq
9310(
9311 WDI_DelSTASelfReqParamsType* pwdiDelStaSelfParams,
9312 WDI_DelSTASelfRspCb wdiDelStaSelfRspCb,
9313 void* pUserData
9314);
9315
9316/**
9317 @brief WDI_HostSuspendInd
9318
9319 Suspend Indication from the upper layer will be sent
9320 down to HAL
9321
9322 @param WDI_SuspendParamsType
9323
9324 @see
9325
9326 @return Status of the request
9327*/
9328WDI_Status
9329WDI_HostSuspendInd
9330(
9331 WDI_SuspendParamsType* pwdiSuspendIndParams
9332);
9333
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08009334/**
9335 @brief WDI_TrafficStatsInd
9336
9337 Traffic Stats from the upper layer will be sent
9338 down to HAL
9339
9340 @param WDI_TrafficStatsIndType
9341
9342 @see
9343
9344 @return Status of the request
9345*/
9346WDI_Status
9347WDI_TrafficStatsInd
9348(
9349 WDI_TrafficStatsIndType *pWdiTrafficStatsIndParams
9350);
9351
Chet Lanctot186b5732013-03-18 10:26:30 -07009352#ifdef WLAN_FEATURE_11W
9353/**
9354 @brief WDI_ExcludeUnencryptedInd
9355 Register with HAL to receive/drop unencrypted frames
9356
9357 @param WDI_ExcludeUnencryptIndType
9358
9359 @see
9360
9361 @return Status of the request
9362*/
9363WDI_Status
9364WDI_ExcludeUnencryptedInd
9365(
9366 WDI_ExcludeUnencryptIndType *pWdiExcUnencParams
9367);
9368#endif
9369
Yue Mab9c86f42013-08-14 15:59:08 -07009370/**
9371 @brief WDI_AddPeriodicTxPtrnInd
9372
9373 @param WDI_AddPeriodicTxPtrnParamsType
9374
9375 @see
9376
9377 @return Status of the request
9378*/
9379WDI_Status
9380WDI_AddPeriodicTxPtrnInd
9381(
9382 WDI_AddPeriodicTxPtrnParamsType *addPeriodicTxPtrnParams
9383);
9384
9385/**
9386 @brief WDI_DelPeriodicTxPtrnInd
9387
9388 @param WDI_DelPeriodicTxPtrnParamsType
9389
9390 @see
9391
9392 @return Status of the request
9393*/
9394WDI_Status
9395WDI_DelPeriodicTxPtrnInd
9396(
9397 WDI_DelPeriodicTxPtrnParamsType *delPeriodicTxPtrnParams
9398);
9399
Jeff Johnson295189b2012-06-20 16:38:30 -07009400#ifdef FEATURE_WLAN_SCAN_PNO
9401/**
9402 @brief WDI_SetPreferredNetworkList
9403
9404 @param pwdiPNOScanReqParams: the Set PNO as specified
9405 by the Device Interface
9406
9407 wdiPNOScanCb: callback for passing back the response
9408 of the Set PNO operation received from the
9409 device
9410
9411 pUserData: user data will be passed back with the
9412 callback
9413
9414 @see WDI_PostAssocReq
9415 @return Result of the function call
9416*/
9417WDI_Status
9418WDI_SetPreferredNetworkReq
9419(
9420 WDI_PNOScanReqParamsType* pwdiPNOScanReqParams,
9421 WDI_PNOScanCb wdiPNOScanCb,
9422 void* pUserData
9423);
9424
9425/**
9426 @brief WDI_SetRssiFilterReq
9427
9428 @param pwdiRssiFilterReqParams: the Set RSSI Filter as
9429 specified by the Device Interface
9430
9431 wdiRssiFilterCb: callback for passing back the response
9432 of the Set RSSI Filter operation received from the
9433 device
9434
9435 pUserData: user data will be passed back with the
9436 callback
9437
9438 @see WDI_PostAssocReq
9439 @return Result of the function call
9440*/
9441WDI_Status
9442WDI_SetRssiFilterReq
9443(
9444 WDI_SetRssiFilterReqParamsType* pwdiRssiFilterReqParams,
9445 WDI_RssiFilterCb wdiRssiFilterCb,
9446 void* pUserData
9447);
9448
9449/**
9450 @brief WDI_UpdateScanParams
9451
9452 @param pwdiUpdateScanParamsInfoType: the Update Scan Params as specified
9453 by the Device Interface
9454
9455 wdiUpdateScanParamsCb: callback for passing back the response
9456 of the Set PNO operation received from the
9457 device
9458
9459 pUserData: user data will be passed back with the
9460 callback
9461
9462 @see WDI_PostAssocReq
9463 @return Result of the function call
9464*/
9465WDI_Status
9466WDI_UpdateScanParamsReq
9467(
9468 WDI_UpdateScanParamsInfoType* pwdiUpdateScanParamsInfoType,
9469 WDI_UpdateScanParamsCb wdiUpdateScanParamsCb,
9470 void* pUserData
9471);
9472#endif // FEATURE_WLAN_SCAN_PNO
9473
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07009474#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
9475/**
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07009476 @brief WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07009477
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07009478 @param pwdiRoamScanOffloadReqParams: Start Roam Candidate Lookup Req as specified
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07009479 by the Device Interface
9480
9481 wdiRoamOffloadScanCb: callback for passing back the response
9482 of the Start Roam Candidate Lookup operation received from the
9483 device
9484
9485 pUserData: user data will be passed back with the
9486 callback
9487
9488 @return Result of the function call
9489*/
9490WDI_Status
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07009491WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07009492(
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07009493 WDI_RoamScanOffloadReqParamsType *pwdiRoamScanOffloadReqParams,
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07009494 WDI_RoamOffloadScanCb wdiRoamOffloadScancb,
9495 void* pUserData
9496);
9497#endif
9498
Jeff Johnson295189b2012-06-20 16:38:30 -07009499/**
9500 @brief WDI_SetTxPerTrackingReq will be called when the upper MAC
9501 wants to set the Tx Per Tracking configurations.
9502 Upon the call of this API the WLAN DAL will pack
9503 and send a HAL Set Tx Per Tracking request message to the
9504 lower RIVA sub-system if DAL is in state STARTED.
9505
9506 In state BUSY this request will be queued. Request won't
9507 be allowed in any other state.
9508
9509 @param wdiSetTxPerTrackingConf: the Set Tx PER Tracking configurations as
9510 specified by the Device Interface
9511
9512 wdiSetTxPerTrackingCb: callback for passing back the
9513 response of the set Tx PER Tracking configurations operation received
9514 from the device
9515
9516 pUserData: user data will be passed back with the
9517 callback
9518
9519 @return Result of the function call
9520*/
9521WDI_Status
9522WDI_SetTxPerTrackingReq
9523(
9524 WDI_SetTxPerTrackingReqParamsType* pwdiSetTxPerTrackingReqParams,
9525 WDI_SetTxPerTrackingRspCb pwdiSetTxPerTrackingRspCb,
9526 void* pUserData
9527);
9528
9529/**
9530 @brief WDI_SetTmLevelReq
9531 If HW Thermal condition changed, driver should react based on new
9532 HW thermal condition.
9533
9534 @param pwdiSetTmLevelReq: New thermal condition information
9535
9536 pwdiSetTmLevelRspCb: callback
9537
9538 usrData: user data will be passed back with the
9539 callback
9540
9541 @return Result of the function call
9542*/
9543WDI_Status
9544WDI_SetTmLevelReq
9545(
9546 WDI_SetTmLevelReqType *pwdiSetTmLevelReq,
9547 WDI_SetTmLevelCb pwdiSetTmLevelRspCb,
9548 void *usrData
9549);
9550
9551#ifdef WLAN_FEATURE_PACKET_FILTERING
9552/**
9553 @brief WDI_8023MulticastListReq
9554
9555 @param pwdiRcvFltPktSetMcListReqInfo: the Set 8023 Multicast
9556 List as specified by the Device Interface
9557
9558 wdi8023MulticastListCallback: callback for passing back
9559 the response of the Set 8023 Multicast List operation
9560 received from the device
9561
9562 pUserData: user data will be passed back with the
9563 callback
9564
9565 @see WDI_PostAssocReq
9566 @return Result of the function call
9567*/
9568WDI_Status
9569WDI_8023MulticastListReq
9570(
9571 WDI_RcvFltPktSetMcListReqParamsType* pwdiRcvFltPktSetMcListReqInfo,
9572 WDI_8023MulticastListCb wdi8023MulticastListCallback,
9573 void* pUserData
9574);
9575
9576/**
9577 @brief WDI_ReceiveFilterSetFilterReq
9578
9579 @param pwdiSetRcvPktFilterReqInfo: the Set Receive Filter as
9580 specified by the Device Interface
9581
9582 wdiReceiveFilterSetFilterReqCallback: callback for
9583 passing back the response of the Set Receive Filter
9584 operation received from the device
9585
9586 pUserData: user data will be passed back with the
9587 callback
9588
9589 @see WDI_PostAssocReq
9590 @return Result of the function call
9591*/
9592WDI_Status
9593WDI_ReceiveFilterSetFilterReq
9594(
9595 WDI_SetRcvPktFilterReqParamsType* pwdiSetRcvPktFilterReqInfo,
9596 WDI_ReceiveFilterSetFilterCb wdiReceiveFilterSetFilterReqCallback,
9597 void* pUserData
9598);
9599
9600/**
9601 @brief WDI_PCFilterMatchCountReq
9602
9603 @param pwdiRcvFltPktMatchCntReqInfo: get D0 PC Filter Match
9604 Count
9605
9606 wdiPCFilterMatchCountCallback: callback for passing back
9607 the response of the D0 PC Filter Match Count operation
9608 received from the device
9609
9610 pUserData: user data will be passed back with the
9611 callback
9612
9613 @see WDI_PostAssocReq
9614 @return Result of the function call
9615*/
9616WDI_Status
9617WDI_FilterMatchCountReq
9618(
9619 WDI_RcvFltPktMatchCntReqParamsType* pwdiRcvFltPktMatchCntReqInfo,
9620 WDI_FilterMatchCountCb wdiFilterMatchCountCallback,
9621 void* pUserData
9622);
9623
9624/**
9625 @brief WDI_ReceiveFilterClearFilterReq
9626
9627 @param pwdiRcvFltPktClearReqInfo: the Clear Filter as
9628 specified by the Device Interface
9629
9630 wdiReceiveFilterClearFilterCallback: callback for
9631 passing back the response of the Clear Filter
9632 operation received from the device
9633
9634 pUserData: user data will be passed back with the
9635 callback
9636
9637 @see WDI_PostAssocReq
9638 @return Result of the function call
9639*/
9640WDI_Status
9641WDI_ReceiveFilterClearFilterReq
9642(
9643 WDI_RcvFltPktClearReqParamsType* pwdiRcvFltPktClearReqInfo,
9644 WDI_ReceiveFilterClearFilterCb wdiReceiveFilterClearFilterCallback,
9645 void* pUserData
9646);
9647#endif // WLAN_FEATURE_PACKET_FILTERING
9648
9649/**
9650 @brief WDI_HALDumpCmdReq
9651 Post HAL DUMP Command Event
9652
9653 @param halDumpCmdReqParams: Hal Dump Command Body
9654 @param halDumpCmdRspCb: callback for passing back the
9655 response
9656 @param pUserData: Client Data
9657
9658 @see
9659 @return Result of the function call
9660*/
9661WDI_Status WDI_HALDumpCmdReq(
9662 WDI_HALDumpCmdReqParamsType *halDumpCmdReqParams,
9663 WDI_HALDumpCmdRspCb halDumpCmdRspCb,
9664 void *pUserData
9665);
9666
9667
9668/**
9669 @brief WDI_SetPowerParamsReq
9670
9671 @param pwdiPowerParamsReqParams: the Set Power Params as
9672 specified by the Device Interface
9673
9674 wdiPowerParamsCb: callback for passing back the response
9675 of the Set Power Params operation received from the
9676 device
9677
9678 pUserData: user data will be passed back with the
9679 callback
9680
9681 @return Result of the function call
9682*/
9683WDI_Status
9684WDI_SetPowerParamsReq
9685(
9686 WDI_SetPowerParamsReqParamsType* pwdiPowerParamsReqParams,
9687 WDI_SetPowerParamsCb wdiPowerParamsCb,
9688 void* pUserData
9689);
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +05309690/**
9691 @brief WDI_dhcpStartInd
9692 Forward the DHCP Start event
9693
9694 @param
9695
9696 wdiDHCPInd: device mode and MAC address is passed
9697
9698 @see
9699 @return Result of the function call
9700*/
9701
9702WDI_Status
9703WDI_dhcpStartInd
9704(
9705 WDI_DHCPInd *wdiDHCPInd
9706);
9707/**
9708 @brief WDI_dhcpStopReq
9709 Forward the DHCP Stop event
9710
9711 @param
9712
9713 wdiDHCPInd: device mode and MAC address is passed
9714
9715 @see
9716 @return Result of the function call
9717*/
9718
9719WDI_Status
9720WDI_dhcpStopInd
9721(
9722 WDI_DHCPInd *wdiDHCPInd
9723);
Jeff Johnson295189b2012-06-20 16:38:30 -07009724
9725#ifdef WLAN_FEATURE_GTK_OFFLOAD
9726/**
9727 @brief WDI_GTKOffloadReq will be called when the upper MAC
9728 wants to set GTK Rekey Counter while in power save. Upon
9729 the call of this API the WLAN DAL will pack and send a
9730 HAL GTK offload request message to the lower RIVA
9731 sub-system if DAL is in state STARTED.
9732
9733 In state BUSY this request will be queued. Request won't
9734 be allowed in any other state.
9735
9736 WDI_PostAssocReq must have been called.
9737
9738 @param pwdiGtkOffloadParams: the GTK offload as specified
9739 by the Device Interface
9740
9741 wdiGtkOffloadCb: callback for passing back the response
9742 of the GTK offload operation received from the device
9743
9744 pUserData: user data will be passed back with the
9745 callback
9746
9747 @see WDI_PostAssocReq
9748 @return Result of the function call
9749*/
9750WDI_Status
9751WDI_GTKOffloadReq
9752(
9753 WDI_GtkOffloadReqMsg* pwdiGtkOffloadReqMsg,
9754 WDI_GtkOffloadCb wdiGtkOffloadCb,
9755 void* pUserData
9756);
9757
9758/**
9759 @brief WDI_GTKOffloadGetInfoReq will be called when the upper
9760 MAC wants to get GTK Rekey Counter while in power save.
9761 Upon the call of this API the WLAN DAL will pack and
9762 send a HAL GTK offload request message to the lower RIVA
9763 sub-system if DAL is in state STARTED.
9764
9765 In state BUSY this request will be queued. Request won't
9766 be allowed in any other state.
9767
9768 WDI_PostAssocReq must have been called.
9769
9770 @param pwdiGtkOffloadGetInfoReqMsg: the GTK Offload
9771 Information Message as specified by the
9772 Device Interface
9773
9774 wdiGtkOffloadGetInfoCb: callback for passing back the
9775 response of the GTK offload operation received from the
9776 device
9777
9778 pUserData: user data will be passed back with the
9779 callback
9780
9781 @see WDI_PostAssocReq
9782 @return Result of the function call
9783*/
9784WDI_Status
9785WDI_GTKOffloadGetInfoReq
9786(
9787 WDI_GtkOffloadGetInfoReqMsg* pwdiGtkOffloadGetInfoReqMsg,
9788 WDI_GtkOffloadGetInfoCb wdiGtkOffloadGetInfoCb,
9789 void* pUserData
9790);
9791#endif // WLAN_FEATURE_GTK_OFFLOAD
9792
9793/**
9794 @brief WDI_featureCapsExchangeReq
9795 Post feature capability bitmap exchange event.
9796 Host will send its own capability to FW in this req and
9797 expect FW to send its capability back as a bitmap in Response
9798
9799 @param
9800
9801 wdiFeatCapsExcRspCb: callback called on getting the response.
9802 It is kept to mantain similarity between WDI reqs and if needed, can
9803 be used in future. Currently, It is set to NULL
9804
9805 pUserData: user data will be passed back with the
9806 callback
9807
9808 @see
9809 @return Result of the function call
9810*/
9811WDI_Status
9812WDI_featureCapsExchangeReq
9813(
9814 WDI_featureCapsExchangeCb wdiFeatureCapsExchangeCb,
9815 void* pUserData
9816);
9817
9818/**
Yathish9f22e662012-12-10 14:21:35 -08009819 @brief Disable Active mode offload in Host
9820
9821 @param void
9822 @see
9823 @return void
9824*/
9825void
9826WDI_disableCapablityFeature(wpt_uint8 feature_index);
9827
9828
9829/**
Jeff Johnson295189b2012-06-20 16:38:30 -07009830 @brief WDI_getHostWlanFeatCaps
9831 WDI API that returns whether the feature passed to it as enum value in
9832 "placeHolderInCapBitmap" is supported by Host or not. It uses WDI global
9833 variable storing host capability bitmap to find this. This can be used by
9834 other moduels to decide certain things like call different APIs based on
9835 whether a particular feature is supported.
9836
9837 @param
9838
9839 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap in wlan_hal_msg.h.
9840
9841 @see
9842 @return
9843 0 - if the feature is NOT supported in host
9844 any non-zero value - if the feature is SUPPORTED in host.
9845*/
9846wpt_uint8 WDI_getHostWlanFeatCaps(wpt_uint8 feat_enum_value);
9847
9848/**
9849 @brief WDI_getFwWlanFeatCaps
9850 WDI API that returns whether the feature passed to it as enum value in
9851 "placeHolderInCapBitmap" is supported by FW or not. It uses WDI global
9852 variable storing host capability bitmap to find this. This can be used by
9853 other moduels to decide certain things like call different APIs based on
9854 whether a particular feature is supported.
9855
9856 @param
9857
Jeff Johnsone7245742012-09-05 17:12:55 -07009858 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap
9859 in wlan_hal_msg.h.
Jeff Johnson295189b2012-06-20 16:38:30 -07009860
9861 @see
9862 @return
9863 0 - if the feature is NOT supported in FW
9864 any non-zero value - if the feature is SUPPORTED in FW.
9865*/
9866wpt_uint8 WDI_getFwWlanFeatCaps(wpt_uint8 feat_enum_value);
9867
9868/**
9869 @brief WDI_GetWcnssCompiledApiVersion - Function to get wcnss compiled
9870 api version
9871
9872 @param WDI_WlanVersionType: Wlan version structure
9873 @see
9874 @return none
9875*/
9876
9877void WDI_GetWcnssCompiledApiVersion
9878(
9879 WDI_WlanVersionType *pWcnssApiVersion
9880);
9881
Mohit Khanna4a70d262012-09-11 16:30:12 -07009882#ifdef WLAN_FEATURE_11AC
9883WDI_Status
9884WDI_UpdateVHTOpModeReq
9885(
9886 WDI_UpdateVHTOpMode *pData,
9887 WDI_UpdateVHTOpModeCb wdiUpdateVHTOpModeCb,
9888 void* pUserData
9889);
Jeff Johnson295189b2012-06-20 16:38:30 -07009890
Mohit Khanna4a70d262012-09-11 16:30:12 -07009891#endif
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -07009892
9893/**
9894 @brief WDI_TransportChannelDebug -
9895 Display DXE Channel debugging information
9896 User may request to display DXE channel snapshot
9897 Or if host driver detects any abnormal stcuk may display
9898
Jeff Johnsonb88db982012-12-10 13:34:59 -08009899 @param displaySnapshot : Display DXE snapshot option
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -07009900 @param enableStallDetect : Enable stall detect feature
9901 This feature will take effect to data performance
9902 Not integrate till fully verification
9903 @see
9904 @return none
9905*/
9906void WDI_TransportChannelDebug
9907(
9908 wpt_boolean displaySnapshot,
Madan Mohan Koyyalamudi24a00f92012-10-22 15:21:02 -07009909 wpt_boolean toggleStallDetect
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -07009910);
9911
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -07009912/**
9913 @brief WDI_SsrTimerCB
9914 Callback function for SSR timer, if this is called then the graceful
9915 shutdown for Riva did not happen.
9916
9917 @param pUserData : user data to timer
9918
9919 @see
9920 @return none
9921*/
9922void
9923WDI_SsrTimerCB
9924(
9925 void *pUserData
9926);
9927
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07009928/**
9929 @brief WDI_SetEnableSSR -
9930 This API is called to enable/disable SSR on WDI timeout.
9931
9932 @param enableSSR : enable/disable SSR
9933
9934 @see
9935 @return none
9936*/
9937void WDI_SetEnableSSR(wpt_boolean enableSSR);
9938
Leo Chang9056f462013-08-01 19:21:11 -07009939#ifdef FEATURE_WLAN_LPHB
9940/**
9941 @brief WDI_LPHBConfReq
9942 This API is called to config FW LPHB rule
9943
9944 @param lphbconfParam : LPHB rule should config to FW
9945 usrData : Client context
9946 lphbCfgCb : Configuration status callback
9947 @see
9948 @return SUCCESS or FAIL
9949*/
9950WDI_Status WDI_LPHBConfReq
9951(
9952 void *lphbconfParam,
9953 void *usrData,
9954 WDI_LphbCfgCb lphbCfgCb
9955);
9956#endif /* FEATURE_WLAN_LPHB */
Jeff Johnson295189b2012-06-20 16:38:30 -07009957#ifdef __cplusplus
9958 }
9959#endif
9960
9961
9962#endif /* #ifndef WLAN_QCT_WDI_H */