blob: b9ccff53592ff7e7084ef692166af100904c3a49 [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 Changd9df8aa2013-09-26 13:32:26 -0700400 /* LPHB Indication from FW to umac */
401 WDI_LPHB_IND,
Leo Chang9056f462013-08-01 19:21:11 -0700402
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];
Leo Changd9df8aa2013-09-26 13:32:26 -07004397 wpt_uint16 timePeriodSec; // in seconds
4398 wpt_uint32 tcpSn;
Leo Chang9056f462013-08-01 19:21:11 -07004399} WDI_LPHBTcpParamStruct;
4400
4401typedef struct
4402{
4403 wpt_uint16 length;
4404 wpt_uint8 offset;
4405 wpt_uint8 session;
4406 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
4407} WDI_LPHBTcpFilterStruct;
4408
4409typedef struct
4410{
4411 wpt_uint32 srv_ip;
4412 wpt_uint32 dev_ip;
4413 wpt_uint16 src_port;
4414 wpt_uint16 dst_port;
4415 wpt_uint16 interval;
4416 wpt_uint16 timeout;
4417 wpt_uint8 session;
4418 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
4419} WDI_LPHBUdpParamStruct;
4420
4421typedef struct
4422{
4423 wpt_uint16 length;
4424 wpt_uint8 offset;
4425 wpt_uint8 session;
4426 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
4427} WDI_LPHBUdpFilterStruct;
4428
4429typedef struct
4430{
4431 wpt_uint16 cmd;
4432 wpt_uint16 dummy;
4433 union
4434 {
4435 WDI_LPHBEnableStruct lphbEnableReq;
4436 WDI_LPHBTcpParamStruct lphbTcpParamReq;
4437 WDI_LPHBTcpFilterStruct lphbTcpFilterReq;
4438 WDI_LPHBUdpParamStruct lphbUdpParamReq;
4439 WDI_LPHBUdpFilterStruct lphbUdpFilterReq;
4440 } params;
4441} WDI_LPHBReq;
4442#endif /* FEATURE_WLAN_LPHB */
Jeff Johnson295189b2012-06-20 16:38:30 -07004443
4444#ifdef FEATURE_WLAN_SCAN_PNO
4445
4446/*Max number of channels for a given network supported by PNO*/
4447#define WDI_PNO_MAX_NETW_CHANNELS 26
4448
Pratik Bhalgatd4404592012-11-22 17:49:14 +05304449/*Max number of channels for a given network supported by PNO*/
4450#define WDI_PNO_MAX_NETW_CHANNELS_EX 60
4451
Jeff Johnson295189b2012-06-20 16:38:30 -07004452/*The max number of programable networks for PNO*/
4453#define WDI_PNO_MAX_SUPP_NETWORKS 16
4454
4455/*The max number of scan timers programable in Riva*/
4456#define WDI_PNO_MAX_SCAN_TIMERS 10
4457
4458#define WDI_PNO_MAX_PROBE_SIZE 450
4459
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004460#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
4461#define WDI_ROAM_SCAN_MAX_CHANNELS 80 /* NUM_RF_CHANNELS */
4462#define WDI_ROAM_SCAN_MAX_PROBE_SIZE 450
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07004463#define WDI_ROAM_SCAN_RESERVED_BYTES 61
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004464#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07004465
4466/*---------------------------------------------------------------------------
4467 WDI_AuthType
4468---------------------------------------------------------------------------*/
4469typedef enum
4470{
4471 WDI_AUTH_TYPE_ANY = 0,
4472
4473 WDI_AUTH_TYPE_NONE,
4474 WDI_AUTH_TYPE_OPEN_SYSTEM,
4475 WDI_AUTH_TYPE_SHARED_KEY,
4476
4477 WDI_AUTH_TYPE_WPA,
4478 WDI_AUTH_TYPE_WPA_PSK,
4479 WDI_AUTH_TYPE_WPA_NONE,
4480
4481 WDI_AUTH_TYPE_RSN,
4482 WDI_AUTH_TYPE_RSN_PSK,
4483 WDI_AUTH_TYPE_FT_RSN,
4484 WDI_AUTH_TYPE_FT_RSN_PSK,
4485 WDI_AUTH_TYPE_WAPI_WAI_CERTIFICATE,
4486 WDI_AUTH_TYPE_WAPI_WAI_PSK,
4487 WDI_AUTH_TYPE_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
4488
4489}WDI_AuthType;
4490
4491/*---------------------------------------------------------------------------
4492 WDI_EdType
4493---------------------------------------------------------------------------*/
4494typedef enum
4495{
4496 WDI_ED_ANY = 0,
4497 WDI_ED_NONE,
4498 WDI_ED_WEP40,
4499 WDI_ED_WEP104,
4500 WDI_ED_TKIP,
4501 WDI_ED_CCMP,
4502 WDI_ED_WPI,
4503 WDI_ED_AES_128_CMAC,
4504 WDI_ED_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
4505} WDI_EdType;
4506
4507
4508/*---------------------------------------------------------------------------
4509 WDI_PNOMode
4510---------------------------------------------------------------------------*/
4511typedef enum
4512{
4513 /*Network offload is to start immediately*/
4514 WDI_PNO_MODE_IMMEDIATE,
4515
4516 /*Network offload is to start on host suspend*/
4517 WDI_PNO_MODE_ON_SUSPEND,
4518
4519 /*Network offload is to start on host resume*/
4520 WDI_PNO_MODE_ON_RESUME,
4521 WDI_PNO_MODE_MAX = 0xFFFFFFFF
4522} WDI_PNOMode;
4523
4524/* SSID broadcast type */
4525typedef enum
4526{
4527 WDI_BCAST_UNKNOWN = 0,
4528 WDI_BCAST_NORMAL = 1,
4529 WDI_BCAST_HIDDEN = 2,
4530
4531 WDI_BCAST_TYPE_MAX = 0xFFFFFFFF
4532} WDI_SSIDBcastType;
4533
4534/*---------------------------------------------------------------------------
4535 WDI_NetworkType
4536---------------------------------------------------------------------------*/
4537typedef struct
4538{
4539 /*The SSID of the preferred network*/
4540 WDI_MacSSid ssId;
4541
4542 /*The authentication method of the preferred network*/
4543 WDI_AuthType wdiAuth;
4544
4545 /*The encryption method of the preferred network*/
4546 WDI_EdType wdiEncryption;
4547
4548 /*SSID broadcast type, normal, hidden or unknown*/
4549 WDI_SSIDBcastType wdiBcastNetworkType;
4550
4551 /*channel count - 0 for all channels*/
4552 wpt_uint8 ucChannelCount;
4553
4554 /*the actual channels*/
Madan Mohan Koyyalamudi4bb5d2e2013-09-26 17:36:46 +05304555 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
Jeff Johnson295189b2012-06-20 16:38:30 -07004556
4557 /*rssi threshold that a network must meet to be considered, 0 - for any*/
4558 wpt_uint8 rssiThreshold;
4559} WDI_NetworkType;
4560
4561
4562/*---------------------------------------------------------------------------
4563 WDI_ScanTimer
4564---------------------------------------------------------------------------*/
4565typedef struct
4566{
4567 /*The timer value*/
4568 wpt_uint32 uTimerValue;
4569
4570 /*The amount of time we should be repeating the interval*/
4571 wpt_uint32 uTimerRepeat;
4572} WDI_ScanTimer;
4573
4574/*---------------------------------------------------------------------------
4575 WDI_ScanTimersType
4576---------------------------------------------------------------------------*/
4577typedef struct
4578{
4579 /*The number of value pair intervals present in the array*/
4580 wpt_uint8 ucScanTimersCount;
4581
4582 /*The time-repeat value pairs*/
4583 WDI_ScanTimer aTimerValues[WDI_PNO_MAX_SCAN_TIMERS];
4584} WDI_ScanTimersType;
4585
4586/*---------------------------------------------------------------------------
4587 WDI_PNOScanReqType
4588---------------------------------------------------------------------------*/
4589typedef struct
4590{
4591 /*Enable or disable PNO feature*/
4592 wpt_uint8 bEnable;
4593
4594 /*PNO mode requested*/
4595 WDI_PNOMode wdiModePNO;
4596
4597 /*Network count*/
4598 wpt_uint8 ucNetworksCount;
4599
4600 /*The networks to look for*/
4601 WDI_NetworkType aNetworks[WDI_PNO_MAX_SUPP_NETWORKS];
4602
4603 /*Scan timer intervals*/
4604 WDI_ScanTimersType scanTimers;
4605
4606 /*Probe template for 2.4GHz band*/
4607 wpt_uint16 us24GProbeSize;
4608 wpt_uint8 a24GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
4609
4610 /*Probe template for 5GHz band*/
4611 wpt_uint16 us5GProbeSize;
4612 wpt_uint8 a5GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
4613} WDI_PNOScanReqType;
4614
4615/*---------------------------------------------------------------------------
4616 WDI_PNOScanReqParamsType
4617 PNO info passed to WDI form WDA
4618---------------------------------------------------------------------------*/
4619typedef struct
4620{
4621 /* PNO Info Type, same as tPrefNetwListParams */
4622 WDI_PNOScanReqType wdiPNOScanInfo;
4623 /* Request status callback offered by UMAC - it is called if the current req
4624 has returned PENDING as status; it delivers the status of sending the message
4625 over the BUS */
4626 WDI_ReqStatusCb wdiReqStatusCB;
4627 /* The user data passed in by UMAC, it will be sent back when the above
4628 function pointer will be called */
4629 void* pUserData;
4630} WDI_PNOScanReqParamsType;
4631
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004632#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
4633
4634typedef struct
4635{
4636 /*The SSID of the preferred network*/
4637 WDI_MacSSid ssId;
4638 wpt_uint8 currAPbssid[WDI_MAC_ADDR_LEN];
4639
4640 /*The authentication method of the preferred network*/
4641 WDI_AuthType authentication;
4642
4643 /*The encryption method of the preferred network*/
4644 WDI_EdType encryption;
4645 WDI_EdType mcencryption;
4646
4647 /*SSID broadcast type, normal, hidden or unknown*/
4648 //WDI_SSIDBcastType wdiBcastNetworkType;
4649
4650 /*channel count - 0 for all channels*/
4651 wpt_uint8 ChannelCount;
4652
4653 /*the actual channels*/
4654 wpt_uint8 ChannelCache[WDI_ROAM_SCAN_MAX_CHANNELS];
4655
4656} WDI_RoamNetworkType;
4657
4658typedef struct WDIMobilityDomainInfo
4659{
4660 wpt_uint8 mdiePresent;
4661 wpt_uint16 mobilityDomain;
4662} WDI_MobilityDomainInfo;
4663
4664/*---------------------------------------------------------------------------
4665 WDI_RoamOffloadScanInfo
4666---------------------------------------------------------------------------*/
4667typedef struct
4668{
4669 wpt_boolean RoamScanOffloadEnabled;
4670 wpt_uint8 LookupThreshold;
4671 wpt_uint8 RoamRssiDiff;
4672 wpt_uint8 ChannelCacheType;
4673 wpt_uint8 Command;
4674 wpt_uint8 StartScanReason;
4675 wpt_uint16 NeighborScanTimerPeriod;
4676 wpt_uint16 NeighborRoamScanRefreshPeriod;
4677 wpt_uint16 NeighborScanChannelMinTime;
4678 wpt_uint16 NeighborScanChannelMaxTime;
4679 wpt_uint16 EmptyRefreshScanPeriod;
4680 wpt_uint8 ValidChannelCount;
4681 wpt_uint8 ValidChannelList[WDI_ROAM_SCAN_MAX_CHANNELS];
4682 wpt_boolean IsCCXEnabled;
4683 /*Probe template for 2.4GHz band*/
4684 wpt_uint16 us24GProbeSize;
4685 wpt_uint8 a24GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
4686
4687 /*Probe template for 5GHz band*/
4688 wpt_uint16 us5GProbeSize;
4689 wpt_uint8 a5GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07004690 /*LFR BG Scan will currently look for only one network to which it is initially connected.
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004691 * As per requirement, later, the following structure can be used as an array of networks.*/
4692 WDI_RoamNetworkType ConnectedNetwork;
4693 WDI_MobilityDomainInfo MDID;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07004694 wpt_uint8 nProbes;
4695 wpt_uint16 HomeAwayTime;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004696 wpt_uint8 ReservedBytes[WDI_ROAM_SCAN_RESERVED_BYTES];
4697} WDI_RoamOffloadScanInfo;
4698
4699typedef struct
4700{
4701 /* Start Roam Candidate Lookup Offload Back Ground Info Type */
4702 WDI_RoamOffloadScanInfo wdiRoamOffloadScanInfo;
4703 /* Request status callback offered by UMAC - it is called if the current req
4704 has returned PENDING as status; it delivers the status of sending the message
4705 over the BUS */
4706 WDI_ReqStatusCb wdiReqStatusCB;
4707 /* The user data passed in by UMAC, it will be sent back when the above
4708 function pointer will be called */
4709 void* pUserData;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07004710} WDI_RoamScanOffloadReqParamsType;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004711
4712#endif
4713
Jeff Johnson295189b2012-06-20 16:38:30 -07004714/*---------------------------------------------------------------------------
4715 WDI_SetRssiFilterReqParamsType
4716 PNO info passed to WDI form WDA
4717---------------------------------------------------------------------------*/
4718typedef struct
4719{
4720 /* RSSI Threshold */
4721 wpt_uint8 rssiThreshold;
4722 /* Request status callback offered by UMAC - it is called if the current req
4723 has returned PENDING as status; it delivers the status of sending the message
4724 over the BUS */
4725 WDI_ReqStatusCb wdiReqStatusCB;
4726 /* The user data passed in by UMAC, it will be sent back when the above
4727 function pointer will be called */
4728 void* pUserData;
4729} WDI_SetRssiFilterReqParamsType;
4730
4731/*---------------------------------------------------------------------------
4732 WDI_UpdateScanParamsInfo
4733---------------------------------------------------------------------------*/
4734typedef struct
4735{
4736 /*Is 11d enabled*/
4737 wpt_uint8 b11dEnabled;
4738
4739 /*Was UMAc able to find the regulatory domain*/
4740 wpt_uint8 b11dResolved;
4741
4742 /*Number of channel allowed in the regulatory domain*/
4743 wpt_uint8 ucChannelCount;
4744
4745 /*The actual channels allowed in the regulatory domain*/
Pratik Bhalgatd4404592012-11-22 17:49:14 +05304746 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
Jeff Johnson295189b2012-06-20 16:38:30 -07004747
4748 /*Passive min channel time*/
4749 wpt_uint16 usPassiveMinChTime;
4750
4751 /*Passive max channel time*/
4752 wpt_uint16 usPassiveMaxChTime;
4753
4754 /*Active min channel time*/
4755 wpt_uint16 usActiveMinChTime;
4756
4757 /*Active max channel time*/
4758 wpt_uint16 usActiveMaxChTime;
4759
4760 /*channel bonding info*/
4761 wpt_uint8 cbState;
4762} WDI_UpdateScanParamsInfo;
4763
4764/*---------------------------------------------------------------------------
4765 WDI_UpdateScanParamsInfoType
4766 UpdateScanParams info passed to WDI form WDA
4767---------------------------------------------------------------------------*/
4768typedef struct
4769{
4770 /* PNO Info Type, same as tUpdateScanParams */
4771 WDI_UpdateScanParamsInfo wdiUpdateScanParamsInfo;
4772 /* Request status callback offered by UMAC - it is called if the current req
4773 has returned PENDING as status; it delivers the status of sending the message
4774 over the BUS */
4775 WDI_ReqStatusCb wdiReqStatusCB;
4776 /* The user data passed in by UMAC, it will be sent back when the above
4777 function pointer will be called */
4778 void* pUserData;
4779} WDI_UpdateScanParamsInfoType;
4780#endif // FEATURE_WLAN_SCAN_PNO
4781
4782/*---------------------------------------------------------------------------
4783 WDI_UpdateScanParamsInfo
4784---------------------------------------------------------------------------*/
4785typedef struct
4786{
4787 /* Ignore DTIM */
4788 wpt_uint32 uIgnoreDTIM;
4789
4790 /*DTIM Period*/
4791 wpt_uint32 uDTIMPeriod;
4792
4793 /* Listen Interval */
4794 wpt_uint32 uListenInterval;
4795
4796 /* Broadcast Multicas Filter */
4797 wpt_uint32 uBcastMcastFilter;
4798
4799 /* Beacon Early Termination */
4800 wpt_uint32 uEnableBET;
4801
4802 /* Beacon Early Termination Interval */
4803 wpt_uint32 uBETInterval;
4804
Yue Mac24062f2013-05-13 17:01:29 -07004805 /* MAX LI for modulated DTIM */
4806 wpt_uint32 uMaxLIModulatedDTIM;
4807
Jeff Johnson295189b2012-06-20 16:38:30 -07004808} WDI_SetPowerParamsInfo;
4809
4810/*---------------------------------------------------------------------------
4811 WDI_UpdateScanParamsInfoType
4812 UpdateScanParams info passed to WDI form WDA
4813---------------------------------------------------------------------------*/
4814typedef struct
4815{
4816 /* Power params Info Type, same as tSetPowerParamsReq */
4817 WDI_SetPowerParamsInfo wdiSetPowerParamsInfo;
4818 /* Request status callback offered by UMAC - it is called if the current req
4819 has returned PENDING as status; it delivers the status of sending the message
4820 over the BUS */
4821 WDI_ReqStatusCb wdiReqStatusCB;
4822 /* The user data passed in by UMAC, it will be sent back when the above
4823 function pointer will be called */
4824 void* pUserData;
4825}WDI_SetPowerParamsReqParamsType;
4826
4827/*---------------------------------------------------------------------------
4828 WDI_SetTxPerTrackingConfType
4829 Wowl add ptrn info passed to WDA form UMAC
4830---------------------------------------------------------------------------*/
4831typedef struct
4832{
4833 wpt_uint8 ucTxPerTrackingEnable; /* 0: disable, 1:enable */
4834 wpt_uint8 ucTxPerTrackingPeriod; /* Check period, unit is sec. */
4835 wpt_uint8 ucTxPerTrackingRatio; /* (Fail TX packet)/(Total TX packet) ratio, the unit is 10%. */
4836 wpt_uint32 uTxPerTrackingWatermark; /* A watermark of check number, once the tx packet exceed this number, we do the check, default is 5 */
4837} WDI_TxPerTrackingParamType;
4838
4839/*---------------------------------------------------------------------------
4840 WDI_SetTxPerTrackingReqParamsType
4841 Tx PER Tracking parameters passed to WDI from WDA
4842---------------------------------------------------------------------------*/
4843typedef struct
4844{
4845 /* Configurations for Tx PER Tracking */
4846 WDI_TxPerTrackingParamType wdiTxPerTrackingParam;
4847 /*Request status callback offered by UMAC - it is called if the current req
4848 has returned PENDING as status; it delivers the status of sending the message
4849 over the BUS */
4850 WDI_ReqStatusCb wdiReqStatusCB;
4851 /*The user data passed in by UMAC, it will be sent back when the above
4852 function pointer will be called */
4853 void* pUserData;
4854}WDI_SetTxPerTrackingReqParamsType;
4855
4856#ifdef WLAN_FEATURE_PACKET_FILTERING
4857/*---------------------------------------------------------------------------
4858 Packet Filtering Parameters
4859---------------------------------------------------------------------------*/
4860
4861#define WDI_IPV4_ADDR_LEN 4
4862#define WDI_MAC_ADDR_LEN 6
4863#define WDI_MAX_FILTER_TEST_DATA_LEN 8
4864#define WDI_MAX_NUM_MULTICAST_ADDRESS 240
4865#define WDI_MAX_NUM_FILTERS 20
4866#define WDI_MAX_NUM_TESTS_PER_FILTER 10
4867
4868//
4869// Receive Filter Parameters
4870//
4871typedef enum
4872{
4873 WDI_RCV_FILTER_TYPE_INVALID,
4874 WDI_RCV_FILTER_TYPE_FILTER_PKT,
4875 WDI_RCV_FILTER_TYPE_BUFFER_PKT,
4876 WDI_RCV_FILTER_TYPE_MAX_ENUM_SIZE
4877}WDI_ReceivePacketFilterType;
4878
4879typedef enum
4880{
4881 WDI_FILTER_HDR_TYPE_INVALID,
4882 WDI_FILTER_HDR_TYPE_MAC,
4883 WDI_FILTER_HDR_TYPE_ARP,
4884 WDI_FILTER_HDR_TYPE_IPV4,
4885 WDI_FILTER_HDR_TYPE_IPV6,
4886 WDI_FILTER_HDR_TYPE_UDP,
4887 WDI_FILTER_HDR_TYPE_MAX
4888}WDI_RcvPktFltProtocolType;
4889
4890typedef enum
4891{
4892 WDI_FILTER_CMP_TYPE_INVALID,
4893 WDI_FILTER_CMP_TYPE_EQUAL,
4894 WDI_FILTER_CMP_TYPE_MASK_EQUAL,
4895 WDI_FILTER_CMP_TYPE_NOT_EQUAL,
4896 WDI_FILTER_CMP_TYPE_MASK_NOT_EQUAL,
4897 WDI_FILTER_CMP_TYPE_MAX
4898}WDI_RcvPktFltCmpFlagType;
4899
4900typedef struct
4901{
4902 WDI_RcvPktFltProtocolType protocolLayer;
4903 WDI_RcvPktFltCmpFlagType cmpFlag;
4904/* Length of the data to compare */
4905 wpt_uint16 dataLength;
4906/* from start of the respective frame header */
4907 wpt_uint8 dataOffset;
4908 wpt_uint8 reserved; /* Reserved field */
4909/* Data to compare */
4910 wpt_uint8 compareData[WDI_MAX_FILTER_TEST_DATA_LEN];
4911/* Mask to be applied on the received packet data before compare */
4912 wpt_uint8 dataMask[WDI_MAX_FILTER_TEST_DATA_LEN];
4913}WDI_RcvPktFilterFieldParams;
4914
4915typedef struct
4916{
4917 wpt_uint8 filterId;
4918 wpt_uint8 filterType;
4919 wpt_uint32 numFieldParams;
4920 wpt_uint32 coalesceTime;
Jeff Johnsone7245742012-09-05 17:12:55 -07004921 wpt_macAddr selfMacAddr;
4922 wpt_macAddr bssId;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004923 WDI_RcvPktFilterFieldParams paramsData[1];
4924
Jeff Johnson295189b2012-06-20 16:38:30 -07004925}WDI_RcvPktFilterCfgType;
4926
4927typedef struct
4928{
4929 /*Request status callback offered by UMAC - it is called if the current
4930 req has returned PENDING as status; it delivers the status of sending
4931 the message over the BUS */
4932 WDI_ReqStatusCb wdiReqStatusCB;
4933
4934 /*The user data passed in by UMAC, it will be sent back when the above
4935 function pointer will be called */
4936 void* pUserData;
4937
4938 // Variable length packet filter field params
4939 WDI_RcvPktFilterCfgType wdiPktFilterCfg;
4940} WDI_SetRcvPktFilterReqParamsType;
4941
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004942typedef struct
4943{
4944 /*Result of the operation*/
4945 WDI_Status wdiStatus;
4946 /* BSSIDX of the Set Receive Filter
4947 */
4948 wpt_uint8 bssIdx;
4949} WDI_SetRcvPktFilterRspParamsType;
4950
Jeff Johnson295189b2012-06-20 16:38:30 -07004951//
4952// Filter Packet Match Count Parameters
4953//
4954typedef struct
4955{
4956 /*Request status callback offered by UMAC - it is called if the current
4957 req has returned PENDING as status; it delivers the status of sending
4958 the message over the BUS */
4959 WDI_ReqStatusCb wdiReqStatusCB;
4960
4961 /*The user data passed in by UMAC, it will be sent back when the above
4962 function pointer will be called */
4963 void* pUserData;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004964
4965 /* BSSID of the Match count
4966 */
4967 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004968} WDI_RcvFltPktMatchCntReqParamsType;
4969
4970typedef struct
4971{
4972 wpt_uint8 filterId;
4973 wpt_uint32 matchCnt;
4974} WDI_RcvFltPktMatchCnt;
4975
4976typedef struct
4977{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004978 /*Result of the operation*/
4979 WDI_Status wdiStatus;
Jeff Johnson295189b2012-06-20 16:38:30 -07004980
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004981 /* BSSIDX of the Match count response
4982 */
4983 wpt_uint8 bssIdx;
4984
Jeff Johnson295189b2012-06-20 16:38:30 -07004985} WDI_RcvFltPktMatchCntRspParamsType;
4986
Jeff Johnson295189b2012-06-20 16:38:30 -07004987//
4988// Receive Filter Clear Parameters
4989//
4990typedef struct
4991{
4992 wpt_uint32 status; /* only valid for response message */
4993 wpt_uint8 filterId;
Jeff Johnsone7245742012-09-05 17:12:55 -07004994 wpt_macAddr selfMacAddr;
4995 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004996}WDI_RcvFltPktClearParam;
4997
4998typedef struct
4999{
5000 WDI_RcvFltPktClearParam filterClearParam;
5001 /*Request status callback offered by UMAC - it is called if the current
5002 req has returned PENDING as status; it delivers the status of sending
5003 the message over the BUS */
5004 WDI_ReqStatusCb wdiReqStatusCB;
5005
5006 /*The user data passed in by UMAC, it will be sent back when the above
5007 function pointer will be called */
5008 void* pUserData;
5009} WDI_RcvFltPktClearReqParamsType;
5010
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005011typedef struct
5012{
5013 /*Result of the operation*/
5014 WDI_Status wdiStatus;
5015 /* BSSIDX of the Match count response
5016 */
5017 wpt_uint8 bssIdx;
5018
5019} WDI_RcvFltPktClearRspParamsType;
5020
Jeff Johnson295189b2012-06-20 16:38:30 -07005021//
5022// Multicast Address List Parameters
5023//
5024typedef struct
5025{
5026 wpt_uint32 ulMulticastAddrCnt;
5027 wpt_macAddr multicastAddr[WDI_MAX_NUM_MULTICAST_ADDRESS];
Jeff Johnsone7245742012-09-05 17:12:55 -07005028 wpt_macAddr selfMacAddr;
5029 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005030} WDI_RcvFltMcAddrListType;
5031
5032typedef struct
5033{
5034 WDI_RcvFltMcAddrListType mcAddrList;
5035 /*Request status callback offered by UMAC - it is called if the current
5036 req has returned PENDING as status; it delivers the status of sending
5037 the message over the BUS */
5038 WDI_ReqStatusCb wdiReqStatusCB;
5039
5040 /*The user data passed in by UMAC, it will be sent back when the above
5041 function pointer will be called */
5042 void* pUserData;
5043} WDI_RcvFltPktSetMcListReqParamsType;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005044
5045typedef struct
5046{
5047 /*Result of the operation*/
5048 WDI_Status wdiStatus;
5049 /* BSSIDX of the Match count response
5050 */
5051 wpt_uint8 bssIdx;
5052} WDI_RcvFltPktSetMcListRspParamsType;
5053
Jeff Johnson295189b2012-06-20 16:38:30 -07005054#endif // WLAN_FEATURE_PACKET_FILTERING
5055
5056/*---------------------------------------------------------------------------
5057 WDI_HALDumpCmdReqInfoType
5058---------------------------------------------------------------------------*/
5059typedef struct
5060{
5061 /*command*/
5062 wpt_uint32 command;
5063
5064 /*Arguments*/
5065 wpt_uint32 argument1;
5066 wpt_uint32 argument2;
5067 wpt_uint32 argument3;
5068 wpt_uint32 argument4;
5069
5070}WDI_HALDumpCmdReqInfoType;
5071
5072/*---------------------------------------------------------------------------
5073 WDI_HALDumpCmdReqParamsType
5074---------------------------------------------------------------------------*/
5075typedef struct
5076{
5077 /*NV Blob Info*/
5078 WDI_HALDumpCmdReqInfoType wdiHALDumpCmdInfoType;
5079
5080 /*Request status callback offered by UMAC - it is called if the current
5081 req has returned PENDING as status; it delivers the status of sending
5082 the message over the BUS */
5083 WDI_ReqStatusCb wdiReqStatusCB;
5084
5085 /*The user data passed in by UMAC, it will be sent back when the above
5086 function pointer will be called */
5087 void* pUserData;
5088
5089}WDI_HALDumpCmdReqParamsType;
5090
5091
5092/*---------------------------------------------------------------------------
5093 WDI_HALDumpCmdRspParamsType
5094---------------------------------------------------------------------------*/
5095typedef struct
5096{
5097 /*Result of the operation*/
5098 WDI_Status wdiStatus;
5099
5100 /* length of the buffer */
5101 wpt_uint16 usBufferLen;
5102
5103 /* Buffer */
5104 wpt_uint8 *pBuffer;
5105}WDI_HALDumpCmdRspParamsType;
5106
5107
5108/*---------------------------------------------------------------------------
5109 WDI_SetTmLevelReqType
5110---------------------------------------------------------------------------*/
5111typedef struct
5112{
5113 wpt_uint16 tmMode;
5114 wpt_uint16 tmLevel;
5115 void* pUserData;
5116}WDI_SetTmLevelReqType;
5117
5118/*---------------------------------------------------------------------------
5119 WDI_SetTmLevelRspType
5120---------------------------------------------------------------------------*/
5121typedef struct
5122{
5123 WDI_Status wdiStatus;
5124 void* pUserData;
5125}WDI_SetTmLevelRspType;
5126
Leo Chang9056f462013-08-01 19:21:11 -07005127#ifdef FEATURE_WLAN_LPHB
5128/*---------------------------------------------------------------------------
5129 WDI_LPHBConfigParamsType
5130---------------------------------------------------------------------------*/
5131typedef struct
5132{
5133 void* pLphsConfIndData;
5134}WDI_LPHBConfigParamsType;
5135#endif /* FEATURE_WLAN_LPHB */
5136
Yue Mab9c86f42013-08-14 15:59:08 -07005137/*---------------------------------------------------------------------------
5138 WDI_AddPeriodicTxPtrnInfoType
5139---------------------------------------------------------------------------*/
5140typedef struct
5141{
5142 /* MAC Address for the adapter */
5143 wpt_macAddr macAddr;
5144
5145 wpt_uint8 ucPtrnId; // Pattern ID
5146 wpt_uint16 ucPtrnSize; // Pattern size
5147 wpt_uint32 usPtrnIntervalMs; // In msec
5148 wpt_uint8 ucPattern[PERIODIC_TX_PTRN_MAX_SIZE]; // Pattern buffer
5149} WDI_AddPeriodicTxPtrnInfoType;
5150
5151/*---------------------------------------------------------------------------
5152 WDI_DelPeriodicTxPtrnInfoType
5153---------------------------------------------------------------------------*/
5154typedef struct
5155{
5156 /* MAC Address for the adapter */
5157 wpt_macAddr macAddr;
5158
5159 /* Bitmap of pattern IDs that needs to be deleted */
5160 wpt_uint32 ucPatternIdBitmap;
5161} WDI_DelPeriodicTxPtrnInfoType;
5162
5163/*---------------------------------------------------------------------------
5164 WDI_AddPeriodicTxPtrnParamsType
5165---------------------------------------------------------------------------*/
5166typedef struct
5167{
5168 WDI_AddPeriodicTxPtrnInfoType wdiAddPeriodicTxPtrnParams;
5169
5170 /*Request status callback offered by UMAC - it is called if the current
5171 req has returned PENDING as status; it delivers the status of sending
5172 the message over the BUS */
5173 WDI_ReqStatusCb wdiReqStatusCB;
5174
5175 /*The user data passed in by UMAC, it will be sent back when the above
5176 function pointer will be called */
5177 void* pUserData;
5178} WDI_AddPeriodicTxPtrnParamsType;
5179
5180/*---------------------------------------------------------------------------
5181 WDI_DelPeriodicTxPtrnParamsType
5182---------------------------------------------------------------------------*/
5183typedef struct
5184{
5185 WDI_DelPeriodicTxPtrnInfoType wdiDelPeriodicTxPtrnParams;
5186
5187 /*Request status callback offered by UMAC - it is called if the current
5188 req has returned PENDING as status; it delivers the status of sending
5189 the message over the BUS */
5190 WDI_ReqStatusCb wdiReqStatusCB;
5191
5192 /*The user data passed in by UMAC, it will be sent back when the above
5193 function pointer will be called */
5194 void* pUserData;
5195} WDI_DelPeriodicTxPtrnParamsType;
5196
Jeff Johnson295189b2012-06-20 16:38:30 -07005197/*----------------------------------------------------------------------------
5198 * WDI callback types
5199 *--------------------------------------------------------------------------*/
5200
5201/*---------------------------------------------------------------------------
5202 WDI_StartRspCb
5203
5204 DESCRIPTION
5205
5206 This callback is invoked by DAL when it has received a Start response from
5207 the underlying device.
5208
5209 PARAMETERS
5210
5211 IN
5212 wdiRspParams: response parameters received from HAL
5213 pUserData: user data
5214
5215
5216 RETURN VALUE
5217 The result code associated with performing the operation
5218---------------------------------------------------------------------------*/
5219typedef void (*WDI_StartRspCb)(WDI_StartRspParamsType* pwdiRspParams,
5220 void* pUserData);
5221
5222/*---------------------------------------------------------------------------
5223 WDI_StartRspCb
5224
5225 DESCRIPTION
5226
5227 This callback is invoked by DAL when it has received a Stop response from
5228 the underlying device.
5229
5230 PARAMETERS
5231
5232 IN
5233 wdiStatus: response status received from HAL
5234 pUserData: user data
5235
5236
5237
5238 RETURN VALUE
5239 The result code associated with performing the operation
5240---------------------------------------------------------------------------*/
5241typedef void (*WDI_StopRspCb)(WDI_Status wdiStatus,
5242 void* pUserData);
5243
5244/*---------------------------------------------------------------------------
5245 WDI_StartRspCb
5246
5247 DESCRIPTION
5248
5249 This callback is invoked by DAL when it has received an Init Scan response
5250 from the underlying device.
5251
5252 PARAMETERS
5253
5254 IN
5255 wdiStatus: response status received from HAL
5256 pUserData: user data
5257
5258
5259
5260 RETURN VALUE
5261 The result code associated with performing the operation
5262---------------------------------------------------------------------------*/
5263typedef void (*WDI_InitScanRspCb)(WDI_Status wdiStatus,
5264 void* pUserData);
5265
5266
5267/*---------------------------------------------------------------------------
5268 WDI_StartRspCb
5269
5270 DESCRIPTION
5271
5272 This callback is invoked by DAL when it has received a StartScan response
5273 from the underlying device.
5274
5275 PARAMETERS
5276
5277 IN
5278 wdiParams: response params received from HAL
5279 pUserData: user data
5280
5281
5282
5283 RETURN VALUE
5284 The result code associated with performing the operation
5285---------------------------------------------------------------------------*/
5286typedef void (*WDI_StartScanRspCb)(WDI_StartScanRspParamsType* wdiParams,
5287 void* pUserData);
5288
5289
5290/*---------------------------------------------------------------------------
5291 WDI_StartRspCb
5292
5293 DESCRIPTION
5294
5295 This callback is invoked by DAL when it has received a End Scan response
5296 from the underlying device.
5297
5298 PARAMETERS
5299
5300 IN
5301 wdiStatus: response status received from HAL
5302 pUserData: user data
5303
5304
5305
5306 RETURN VALUE
5307 The result code associated with performing the operation
5308---------------------------------------------------------------------------*/
5309typedef void (*WDI_EndScanRspCb)(WDI_Status wdiStatus,
5310 void* pUserData);
5311
5312
5313/*---------------------------------------------------------------------------
5314 WDI_StartRspCb
5315
5316 DESCRIPTION
5317
5318 This callback is invoked by DAL when it has received a Finish Scan response
5319 from the underlying device.
5320
5321 PARAMETERS
5322
5323 IN
5324 wdiStatus: response status received from HAL
5325 pUserData: user data
5326
5327
5328
5329 RETURN VALUE
5330 The result code associated with performing the operation
5331---------------------------------------------------------------------------*/
5332typedef void (*WDI_FinishScanRspCb)(WDI_Status wdiStatus,
5333 void* pUserData);
5334
5335
5336/*---------------------------------------------------------------------------
5337 WDI_StartRspCb
5338
5339 DESCRIPTION
5340
5341 This callback is invoked by DAL when it has received a Join response from
5342 the underlying device.
5343
5344 PARAMETERS
5345
5346 IN
5347 wdiStatus: response status received from HAL
5348 pUserData: user data
5349
5350
5351
5352 RETURN VALUE
5353 The result code associated with performing the operation
5354---------------------------------------------------------------------------*/
5355typedef void (*WDI_JoinRspCb)(WDI_Status wdiStatus,
5356 void* pUserData);
5357
5358
5359/*---------------------------------------------------------------------------
5360 WDI_StartRspCb
5361
5362 DESCRIPTION
5363
5364 This callback is invoked by DAL when it has received a Config BSS response
5365 from the underlying device.
5366
5367 PARAMETERS
5368
5369 IN
5370 wdiConfigBSSRsp: response parameters received from HAL
5371 pUserData: user data
5372
5373
5374 RETURN VALUE
5375 The result code associated with performing the operation
5376---------------------------------------------------------------------------*/
5377typedef void (*WDI_ConfigBSSRspCb)(
5378 WDI_ConfigBSSRspParamsType* pwdiConfigBSSRsp,
5379 void* pUserData);
5380
5381
5382/*---------------------------------------------------------------------------
5383 WDI_StartRspCb
5384
5385 DESCRIPTION
5386
5387 This callback is invoked by DAL when it has received a Del BSS response from
5388 the underlying device.
5389
5390 PARAMETERS
5391
5392 IN
5393 wdiDelBSSRsp: response parameters received from HAL
5394 pUserData: user data
5395
5396
5397 RETURN VALUE
5398 The result code associated with performing the operation
5399---------------------------------------------------------------------------*/
5400typedef void (*WDI_DelBSSRspCb)(WDI_DelBSSRspParamsType* pwdiDelBSSRsp,
5401 void* pUserData);
5402
5403
5404/*---------------------------------------------------------------------------
5405 WDI_StartRspCb
5406
5407 DESCRIPTION
5408
5409 This callback is invoked by DAL when it has received a Post Assoc response
5410 from the underlying device.
5411
5412 PARAMETERS
5413
5414 IN
5415 wdiRspParams: response parameters received from HAL
5416 pUserData: user data
5417
5418
5419 RETURN VALUE
5420 The result code associated with performing the operation
5421---------------------------------------------------------------------------*/
5422typedef void (*WDI_PostAssocRspCb)(
5423 WDI_PostAssocRspParamsType* pwdiPostAssocRsp,
5424 void* pUserData);
5425
5426
5427/*---------------------------------------------------------------------------
5428 WDI_StartRspCb
5429
5430 DESCRIPTION
5431
5432 This callback is invoked by DAL when it has received a Del STA response from
5433 the underlying device.
5434
5435 PARAMETERS
5436
5437 IN
5438 wdiDelSTARsp: response parameters received from HAL
5439 pUserData: user data
5440
5441
5442 RETURN VALUE
5443 The result code associated with performing the operation
5444---------------------------------------------------------------------------*/
5445typedef void (*WDI_DelSTARspCb)(WDI_DelSTARspParamsType* pwdiDelSTARsp,
5446 void* pUserData);
5447
5448
5449
5450/*---------------------------------------------------------------------------
5451 WDI_StartRspCb
5452
5453 DESCRIPTION
5454
5455 This callback is invoked by DAL when it has received a Set BSS Key response
5456 from the underlying device.
5457
5458 PARAMETERS
5459
5460 IN
5461 wdiStatus: response status received from HAL
5462 pUserData: user data
5463
5464
5465
5466 RETURN VALUE
5467 The result code associated with performing the operation
5468---------------------------------------------------------------------------*/
5469typedef void (*WDI_SetBSSKeyRspCb)(WDI_Status wdiStatus,
5470 void* pUserData);
5471
5472/*---------------------------------------------------------------------------
5473 WDI_StartRspCb
5474
5475 DESCRIPTION
5476
5477 This callback is invoked by DAL when it has received a Remove BSS Key
5478 response from the underlying device.
5479
5480 PARAMETERS
5481
5482 IN
5483 wdiStatus: response status received from HAL
5484 pUserData: user data
5485
5486
5487
5488 RETURN VALUE
5489 The result code associated with performing the operation
5490---------------------------------------------------------------------------*/
5491typedef void (*WDI_RemoveBSSKeyRspCb)(WDI_Status wdiStatus,
5492 void* pUserData);
5493
5494/*---------------------------------------------------------------------------
5495 WDI_StartRspCb
5496
5497 DESCRIPTION
5498
5499 This callback is invoked by DAL when it has received a Set STA Key response
5500 from the underlying device.
5501
5502 PARAMETERS
5503
5504 IN
5505 wdiStatus: response status received from HAL
5506 pUserData: user data
5507
5508
5509
5510 RETURN VALUE
5511 The result code associated with performing the operation
5512---------------------------------------------------------------------------*/
5513typedef void (*WDI_SetSTAKeyRspCb)(WDI_Status wdiStatus,
5514 void* pUserData);
5515
5516
5517/*---------------------------------------------------------------------------
5518 WDI_StartRspCb
5519
5520 DESCRIPTION
5521
5522 This callback is invoked by DAL when it has received a Remove STA Key
5523 response from the underlying device.
5524
5525 PARAMETERS
5526
5527 IN
5528 wdiStatus: response status received from HAL
5529 pUserData: user data
5530
5531
5532
5533 RETURN VALUE
5534 The result code associated with performing the operation
5535---------------------------------------------------------------------------*/
5536typedef void (*WDI_RemoveSTAKeyRspCb)(WDI_Status wdiStatus,
5537 void* pUserData);
5538
5539
5540#ifdef FEATURE_WLAN_CCX
5541/*---------------------------------------------------------------------------
5542 WDI_TsmRspCb
5543
5544 DESCRIPTION
5545
5546 This callback is invoked by DAL when it has received a TSM Stats response from the underlying device.
5547
5548 PARAMETERS
5549
5550 IN
5551 pTSMStats: response status received from HAL
5552 pUserData: user data
5553
5554
5555
5556 RETURN VALUE
5557 The result code associated with performing the operation
5558---------------------------------------------------------------------------*/
5559typedef void (*WDI_TsmRspCb)(WDI_TSMStatsRspParamsType *pTSMStats,
5560 void* pUserData);
5561#endif
5562
5563/*---------------------------------------------------------------------------
5564 WDI_StartRspCb
5565
5566 DESCRIPTION
5567
5568 This callback is invoked by DAL when it has received a Add TS response from
5569 the underlying device.
5570
5571 PARAMETERS
5572
5573 IN
5574 wdiStatus: response status received from HAL
5575 pUserData: user data
5576
5577
5578
5579 RETURN VALUE
5580 The result code associated with performing the operation
5581---------------------------------------------------------------------------*/
5582typedef void (*WDI_AddTsRspCb)(WDI_Status wdiStatus,
5583 void* pUserData);
5584
5585/*---------------------------------------------------------------------------
5586 WDI_StartRspCb
5587
5588 DESCRIPTION
5589
5590 This callback is invoked by DAL when it has received a Del TS response from
5591 the underlying device.
5592
5593 PARAMETERS
5594
5595 IN
5596 wdiStatus: response status received from HAL
5597 pUserData: user data
5598
5599
5600
5601 RETURN VALUE
5602 The result code associated with performing the operation
5603---------------------------------------------------------------------------*/
5604typedef void (*WDI_DelTsRspCb)(WDI_Status wdiStatus,
5605 void* pUserData);
5606
5607/*---------------------------------------------------------------------------
5608 WDI_StartRspCb
5609
5610 DESCRIPTION
5611
5612 This callback is invoked by DAL when it has received an Update EDCA Params
5613 response from the underlying device.
5614
5615 PARAMETERS
5616
5617 IN
5618 wdiStatus: response status received from HAL
5619 pUserData: user data
5620
5621
5622
5623 RETURN VALUE
5624 The result code associated with performing the operation
5625---------------------------------------------------------------------------*/
5626typedef void (*WDI_UpdateEDCAParamsRspCb)(WDI_Status wdiStatus,
5627 void* pUserData);
5628
5629/*---------------------------------------------------------------------------
5630 WDI_StartRspCb
5631
5632 DESCRIPTION
5633
5634 This callback is invoked by DAL when it has received a Add BA response from
5635 the underlying device.
5636
5637 PARAMETERS
5638
5639 IN
5640 wdiStatus: response status received from HAL
5641 pUserData: user data
5642
5643
5644
5645 RETURN VALUE
5646 The result code associated with performing the operation
5647---------------------------------------------------------------------------*/
5648typedef void (*WDI_AddBASessionRspCb)(
5649 WDI_AddBASessionRspParamsType* wdiAddBASessionRsp,
5650 void* pUserData);
5651
5652
5653/*---------------------------------------------------------------------------
5654 WDI_StartRspCb
5655
5656 DESCRIPTION
5657
5658 This callback is invoked by DAL when it has received a Del BA response from
5659 the underlying device.
5660
5661 PARAMETERS
5662
5663 IN
5664 wdiStatus: response status received from HAL
5665 pUserData: user data
5666
5667
5668
5669 RETURN VALUE
5670 The result code associated with performing the operation
5671---------------------------------------------------------------------------*/
5672typedef void (*WDI_DelBARspCb)(WDI_Status wdiStatus,
5673 void* pUserData);
5674
5675
5676/*---------------------------------------------------------------------------
5677 WDI_StartRspCb
5678
5679 DESCRIPTION
5680
5681 This callback is invoked by DAL when it has received a Switch Ch response
5682 from the underlying device.
5683
5684 PARAMETERS
5685
5686 IN
5687 wdiRspParams: response parameters received from HAL
5688 pUserData: user data
5689
5690
5691 RETURN VALUE
5692 The result code associated with performing the operation
5693---------------------------------------------------------------------------*/
5694typedef void (*WDI_SwitchChRspCb)(WDI_SwitchCHRspParamsType* pwdiSwitchChRsp,
5695 void* pUserData);
5696
5697
5698/*---------------------------------------------------------------------------
5699 WDI_StartRspCb
5700
5701 DESCRIPTION
5702
5703 This callback is invoked by DAL when it has received a Config STA response
5704 from the underlying device.
5705
5706 PARAMETERS
5707
5708 IN
5709 wdiRspParams: response parameters received from HAL
5710 pUserData: user data
5711
5712
5713 RETURN VALUE
5714 The result code associated with performing the operation
5715---------------------------------------------------------------------------*/
5716typedef void (*WDI_ConfigSTARspCb)(
5717 WDI_ConfigSTARspParamsType* pwdiConfigSTARsp,
5718 void* pUserData);
5719
5720
5721/*---------------------------------------------------------------------------
5722 WDI_StartRspCb
5723
5724 DESCRIPTION
5725
5726 This callback is invoked by DAL when it has received a Set Link State
5727 response from the underlying device.
5728
5729 PARAMETERS
5730
5731 IN
5732 wdiRspParams: response parameters received from HAL
5733 pUserData: user data
5734
5735
5736 RETURN VALUE
5737 The result code associated with performing the operation
5738---------------------------------------------------------------------------*/
5739typedef void (*WDI_SetLinkStateRspCb)( WDI_Status wdiStatus,
5740 void* pUserData);
5741
5742
5743/*---------------------------------------------------------------------------
5744 WDI_StartRspCb
5745
5746 DESCRIPTION
5747
5748 This callback is invoked by DAL when it has received a Get Stats response
5749 from the underlying device.
5750
5751 PARAMETERS
5752
5753 IN
5754 wdiRspParams: response parameters received from HAL
5755 pUserData: user data
5756
5757
5758 RETURN VALUE
5759 The result code associated with performing the operation
5760---------------------------------------------------------------------------*/
5761typedef void (*WDI_GetStatsRspCb)(WDI_GetStatsRspParamsType* pwdiGetStatsRsp,
5762 void* pUserData);
5763
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08005764#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_CCX || defined(FEATURE_WLAN_LFR)
5765/*---------------------------------------------------------------------------
5766 WDI_GetRoamRssiRspCb
5767
5768 DESCRIPTION
5769
5770 This callback is invoked by DAL when it has received a Get Roam Rssi response
5771 from the underlying device.
5772
5773 PARAMETERS
5774
5775 IN
5776 wdiRspParams: response parameters received from HAL
5777 pUserData: user data
5778
5779
5780 RETURN VALUE
5781 The result code associated with performing the operation
5782---------------------------------------------------------------------------*/
5783typedef void (*WDI_GetRoamRssiRspCb)(WDI_GetRoamRssiRspParamsType* pwdiGetRoamRssiRsp,
5784 void* pUserData);
5785#endif
5786
Jeff Johnson295189b2012-06-20 16:38:30 -07005787
5788/*---------------------------------------------------------------------------
5789 WDI_StartRspCb
5790
5791 DESCRIPTION
5792
5793 This callback is invoked by DAL when it has received a Update Cfg response
5794 from the underlying device.
5795
5796 PARAMETERS
5797
5798 IN
5799 wdiStatus: response status received from HAL
5800 pUserData: user data
5801
5802
5803 RETURN VALUE
5804 The result code associated with performing the operation
5805---------------------------------------------------------------------------*/
5806typedef void (*WDI_UpdateCfgRspCb)(WDI_Status wdiStatus,
5807 void* pUserData);
5808
5809/*---------------------------------------------------------------------------
5810 WDI_AddBARspCb
5811
5812 DESCRIPTION
5813
5814 This callback is invoked by DAL when it has received a ADD BA response
5815 from the underlying device.
5816
5817 PARAMETERS
5818
5819 IN
5820 wdiStatus: response status received from HAL
5821 pUserData: user data
5822
5823
5824 RETURN VALUE
5825 The result code associated with performing the operation
5826---------------------------------------------------------------------------*/
5827typedef void (*WDI_AddBARspCb)(WDI_AddBARspinfoType* wdiAddBARsp,
5828 void* pUserData);
5829
5830/*---------------------------------------------------------------------------
5831 WDI_TriggerBARspCb
5832
5833 DESCRIPTION
5834
5835 This callback is invoked by DAL when it has received a ADD BA response
5836 from the underlying device.
5837
5838 PARAMETERS
5839
5840 IN
5841 wdiStatus: response status received from HAL
5842 pUserData: user data
5843
5844
5845 RETURN VALUE
5846 The result code associated with performing the operation
5847---------------------------------------------------------------------------*/
5848typedef void (*WDI_TriggerBARspCb)(WDI_TriggerBARspParamsType* wdiTriggerBARsp,
5849 void* pUserData);
5850
5851
5852/*---------------------------------------------------------------------------
5853 WDI_UpdateBeaconParamsRspCb
5854
5855 DESCRIPTION
5856
5857 This callback is invoked by DAL when it has received a Update Beacon Params response from
5858 the underlying device.
5859
5860 PARAMETERS
5861
5862 IN
5863 wdiStatus: response status received from HAL
5864 pUserData: user data
5865
5866
5867
5868 RETURN VALUE
5869 The result code associated with performing the operation
5870---------------------------------------------------------------------------*/
5871typedef void (*WDI_UpdateBeaconParamsRspCb)(WDI_Status wdiStatus,
5872 void* pUserData);
5873
5874/*---------------------------------------------------------------------------
5875 WDI_SendBeaconParamsRspCb
5876
5877 DESCRIPTION
5878
5879 This callback is invoked by DAL when it has received a Send Beacon Params response from
5880 the underlying device.
5881
5882 PARAMETERS
5883
5884 IN
5885 wdiStatus: response status received from HAL
5886 pUserData: user data
5887
5888
5889
5890 RETURN VALUE
5891 The result code associated with performing the operation
5892---------------------------------------------------------------------------*/
5893typedef void (*WDI_SendBeaconParamsRspCb)(WDI_Status wdiStatus,
5894 void* pUserData);
5895
5896/*---------------------------------------------------------------------------
5897 WDA_SetMaxTxPowerRspCb
5898
5899 DESCRIPTION
5900
5901 This callback is invoked by DAL when it has received a set max Tx Power response from
5902 the underlying device.
5903
5904 PARAMETERS
5905
5906 IN
5907 wdiStatus: response status received from HAL
5908 pUserData: user data
5909
5910
5911
5912 RETURN VALUE
5913 The result code associated with performing the operation
5914---------------------------------------------------------------------------*/
5915typedef void (*WDA_SetMaxTxPowerRspCb)(WDI_SetMaxTxPowerRspMsg *wdiSetMaxTxPowerRsp,
5916 void* pUserData);
5917
5918/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07005919 WDA_SetTxPowerRspCb
5920
5921 DESCRIPTION
5922
5923 This callback is invoked by DAL when it has received a set max Tx Power response from
5924 the underlying device.
5925
5926 PARAMETERS
5927
5928 IN
5929 wdiStatus: response status received from HAL
5930 pUserData: user data
5931
5932 RETURN VALUE
5933 The result code associated with performing the operation
5934---------------------------------------------------------------------------*/
5935typedef void (*WDA_SetTxPowerRspCb)(WDI_SetTxPowerRspMsg *wdiSetTxPowerRsp,
5936 void* pUserData);
5937
5938/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07005939 WDI_UpdateProbeRspTemplateRspCb
5940
5941 DESCRIPTION
5942
5943 This callback is invoked by DAL when it has received a Probe RSP Template
5944 Update response from the underlying device.
5945
5946 PARAMETERS
5947
5948 IN
5949 wdiStatus: response status received from HAL
5950 pUserData: user data
5951
5952
5953
5954 RETURN VALUE
5955 The result code associated with performing the operation
5956---------------------------------------------------------------------------*/
5957typedef void (*WDI_UpdateProbeRspTemplateRspCb)(WDI_Status wdiStatus,
5958 void* pUserData);
5959
Jeff Johnson295189b2012-06-20 16:38:30 -07005960/*---------------------------------------------------------------------------
5961 WDI_SetP2PGONOAReqParamsRspCb
5962
5963 DESCRIPTION
5964
5965 This callback is invoked by DAL when it has received a P2P GO NOA Params response from
5966 the underlying device.
5967
5968 PARAMETERS
5969
5970 IN
5971 wdiStatus: response status received from HAL
5972 pUserData: user data
5973
5974
5975
5976 RETURN VALUE
5977 The result code associated with performing the operation
5978---------------------------------------------------------------------------*/
5979typedef void (*WDI_SetP2PGONOAReqParamsRspCb)(WDI_Status wdiStatus,
5980 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07005981
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05305982/*---------------------------------------------------------------------------
5983 WDI_SetTDLSLinkEstablishReqParamsRspCb
5984
5985 DESCRIPTION
5986
5987 This callback is invoked by DAL when it has received a TDLS Link Establish Req response from
5988 the underlying device.
5989
5990 PARAMETERS
5991
5992 IN
5993 wdiStatus: response status received from HAL
5994 pUserData: user data
5995
5996
5997
5998 RETURN VALUE
5999 The result code associated with performing the operation
6000---------------------------------------------------------------------------*/
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05306001typedef void (*WDI_SetTDLSLinkEstablishReqParamsRspCb)(WDI_SetTdlsLinkEstablishReqResp *
6002 wdiSetTdlsLinkEstablishReqRsp,
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05306003 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006004
6005/*---------------------------------------------------------------------------
6006 WDI_SetPwrSaveCfgCb
6007
6008 DESCRIPTION
6009
6010 This callback is invoked by DAL when it has received a set Power Save CFG
6011 response from the underlying device.
6012
6013 PARAMETERS
6014
6015 IN
6016 wdiStatus: response status received from HAL
6017 pUserData: user data
6018
6019
6020
6021 RETURN VALUE
6022 The result code associated with performing the operation
6023---------------------------------------------------------------------------*/
6024typedef void (*WDI_SetPwrSaveCfgCb)(WDI_Status wdiStatus,
6025 void* pUserData);
6026
6027/*---------------------------------------------------------------------------
6028 WDI_SetUapsdAcParamsCb
6029
6030 DESCRIPTION
6031
6032 This callback is invoked by DAL when it has received a set UAPSD params
6033 response from the underlying device.
6034
6035 PARAMETERS
6036
6037 IN
6038 wdiStatus: response status received from HAL
6039 pUserData: user data
6040
6041
6042
6043 RETURN VALUE
6044 The result code associated with performing the operation
6045---------------------------------------------------------------------------*/
6046typedef void (*WDI_SetUapsdAcParamsCb)(WDI_Status wdiStatus,
6047 void* pUserData);
6048
6049/*---------------------------------------------------------------------------
6050 WDI_EnterImpsRspCb
6051
6052 DESCRIPTION
6053
6054 This callback is invoked by DAL when it has received a Enter IMPS response
6055 from the underlying device.
6056
6057 PARAMETERS
6058
6059 IN
6060 wdiStatus: response status received from HAL
6061 pUserData: user data
6062
6063
6064
6065 RETURN VALUE
6066 The result code associated with performing the operation
6067---------------------------------------------------------------------------*/
6068typedef void (*WDI_EnterImpsRspCb)(WDI_Status wdiStatus,
6069 void* pUserData);
6070
6071/*---------------------------------------------------------------------------
6072 WDI_ExitImpsRspCb
6073
6074 DESCRIPTION
6075
6076 This callback is invoked by DAL when it has received a Exit IMPS response
6077 from the underlying device.
6078
6079 PARAMETERS
6080
6081 IN
6082 wdiStatus: response status received from HAL
6083 pUserData: user data
6084
6085
6086
6087 RETURN VALUE
6088 The result code associated with performing the operation
6089---------------------------------------------------------------------------*/
6090typedef void (*WDI_ExitImpsRspCb)(WDI_Status wdiStatus,
6091 void* pUserData);
6092
6093/*---------------------------------------------------------------------------
6094 WDI_EnterBmpsRspCb
6095
6096 DESCRIPTION
6097
6098 This callback is invoked by DAL when it has received a enter BMPS response
6099 from the underlying device.
6100
6101 PARAMETERS
6102
6103 IN
6104 wdiStatus: response status received from HAL
6105 pUserData: user data
6106
6107
6108
6109 RETURN VALUE
6110 The result code associated with performing the operation
6111---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006112typedef void (*WDI_EnterBmpsRspCb)(WDI_EnterBmpsRspParamsType *pwdiEnterBmpsRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006113 void* pUserData);
6114
6115/*---------------------------------------------------------------------------
6116 WDI_ExitBmpsRspCb
6117
6118 DESCRIPTION
6119
6120 This callback is invoked by DAL when it has received a exit BMPS response
6121 from the underlying device.
6122
6123 PARAMETERS
6124
6125 IN
6126 wdiStatus: response status received from HAL
6127 pUserData: user data
6128
6129
6130
6131 RETURN VALUE
6132 The result code associated with performing the operation
6133---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006134typedef void (*WDI_ExitBmpsRspCb)( WDI_ExitBmpsRspParamsType *pwdiExitBmpsRspParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07006135 void* pUserData);
6136
6137/*---------------------------------------------------------------------------
6138 WDI_EnterUapsdRspCb
6139
6140 DESCRIPTION
6141
6142 This callback is invoked by DAL when it has received a enter UAPSD response
6143 from the underlying device.
6144
6145 PARAMETERS
6146
6147 IN
6148 wdiStatus: response status received from HAL
6149 pUserData: user data
6150
6151
6152
6153 RETURN VALUE
6154 The result code associated with performing the operation
6155---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006156typedef void (*WDI_EnterUapsdRspCb)( WDI_EnterUapsdRspParamsType *pwdiEnterUapsdRspParam,
Jeff Johnson295189b2012-06-20 16:38:30 -07006157 void* pUserData);
6158
6159/*---------------------------------------------------------------------------
6160 WDI_ExitUapsdRspCb
6161
6162 DESCRIPTION
6163
6164 This callback is invoked by DAL when it has received a exit UAPSD response
6165 from the underlying device.
6166
6167 PARAMETERS
6168
6169 IN
6170 wdiStatus: response status received from HAL
6171 pUserData: user data
6172
6173
6174
6175 RETURN VALUE
6176 The result code associated with performing the operation
6177---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006178typedef void (*WDI_ExitUapsdRspCb)(WDI_ExitUapsdRspParamsType *pwidExitUapsdRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006179 void* pUserData);
6180
6181/*---------------------------------------------------------------------------
6182 WDI_UpdateUapsdParamsCb
6183
6184 DESCRIPTION
6185
6186 This callback is invoked by DAL when it has received a update UAPSD params
6187 response from the underlying device.
6188
6189 PARAMETERS
6190
6191 IN
6192 wdiStatus: response status received from HAL
6193 pUserData: user data
6194
6195
6196
6197 RETURN VALUE
6198 The result code associated with performing the operation
6199---------------------------------------------------------------------------*/
6200typedef void (*WDI_UpdateUapsdParamsCb)(WDI_Status wdiStatus,
6201 void* pUserData);
6202
6203/*---------------------------------------------------------------------------
6204 WDI_ConfigureRxpFilterCb
6205
6206 DESCRIPTION
6207
6208 This callback is invoked by DAL when it has received a config RXP filter
6209 response from the underlying device.
6210
6211 PARAMETERS
6212
6213 IN
6214 wdiStatus: response status received from HAL
6215 pUserData: user data
6216
6217
6218
6219 RETURN VALUE
6220 The result code associated with performing the operation
6221---------------------------------------------------------------------------*/
6222typedef void (*WDI_ConfigureRxpFilterCb)(WDI_Status wdiStatus,
6223 void* pUserData);
6224
6225/*---------------------------------------------------------------------------
6226 WDI_SetBeaconFilterCb
6227
6228 DESCRIPTION
6229
6230 This callback is invoked by DAL when it has received a set beacon filter
6231 response from the underlying device.
6232
6233 PARAMETERS
6234
6235 IN
6236 wdiStatus: response status received from HAL
6237 pUserData: user data
6238
6239
6240
6241 RETURN VALUE
6242 The result code associated with performing the operation
6243---------------------------------------------------------------------------*/
6244typedef void (*WDI_SetBeaconFilterCb)(WDI_Status wdiStatus,
6245 void* pUserData);
6246
6247/*---------------------------------------------------------------------------
6248 WDI_RemBeaconFilterCb
6249
6250 DESCRIPTION
6251
6252 This callback is invoked by DAL when it has received a remove beacon filter
6253 response from the underlying device.
6254
6255 PARAMETERS
6256
6257 IN
6258 wdiStatus: response status received from HAL
6259 pUserData: user data
6260
6261
6262
6263 RETURN VALUE
6264 The result code associated with performing the operation
6265---------------------------------------------------------------------------*/
6266typedef void (*WDI_RemBeaconFilterCb)(WDI_Status wdiStatus,
6267 void* pUserData);
6268
6269/*---------------------------------------------------------------------------
6270 WDI_SetRSSIThresholdsCb
6271
6272 DESCRIPTION
6273
6274 This callback is invoked by DAL when it has received a set RSSI thresholds
6275 response from the underlying device.
6276
6277 PARAMETERS
6278
6279 IN
6280 wdiStatus: response status received from HAL
6281 pUserData: user data
6282
6283
6284
6285 RETURN VALUE
6286 The result code associated with performing the operation
6287---------------------------------------------------------------------------*/
6288typedef void (*WDI_SetRSSIThresholdsCb)(WDI_Status wdiStatus,
6289 void* pUserData);
6290
6291/*---------------------------------------------------------------------------
6292 WDI_HostOffloadCb
6293
6294 DESCRIPTION
6295
6296 This callback is invoked by DAL when it has received a host offload
6297 response from the underlying device.
6298
6299 PARAMETERS
6300
6301 IN
6302 wdiStatus: response status received from HAL
6303 pUserData: user data
6304
6305
6306
6307 RETURN VALUE
6308 The result code associated with performing the operation
6309---------------------------------------------------------------------------*/
6310typedef void (*WDI_HostOffloadCb)(WDI_Status wdiStatus,
6311 void* pUserData);
6312
6313/*---------------------------------------------------------------------------
6314 WDI_KeepAliveCb
6315
6316 DESCRIPTION
6317
6318 This callback is invoked by DAL when it has received a Keep Alive
6319 response from the underlying device.
6320
6321 PARAMETERS
6322
6323 IN
6324 wdiStatus: response status received from HAL
6325 pUserData: user data
6326
6327
6328
6329 RETURN VALUE
6330 The result code associated with performing the operation
6331---------------------------------------------------------------------------*/
6332typedef void (*WDI_KeepAliveCb)(WDI_Status wdiStatus,
6333 void* pUserData);
6334
6335/*---------------------------------------------------------------------------
6336 WDI_WowlAddBcPtrnCb
6337
6338 DESCRIPTION
6339
6340 This callback is invoked by DAL when it has received a Wowl add Bcast ptrn
6341 response from the underlying device.
6342
6343 PARAMETERS
6344
6345 IN
6346 wdiStatus: response status received from HAL
6347 pUserData: user data
6348
6349
6350
6351 RETURN VALUE
6352 The result code associated with performing the operation
6353---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006354typedef void (*WDI_WowlAddBcPtrnCb)( WDI_WowlAddBcPtrnRspParamsType *pwdiWowlAddBcPtrnParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07006355 void* pUserData);
6356
6357/*---------------------------------------------------------------------------
6358 WDI_WowlDelBcPtrnCb
6359
6360 DESCRIPTION
6361
6362 This callback is invoked by DAL when it has received a Wowl delete Bcast ptrn
6363 response from the underlying device.
6364
6365 PARAMETERS
6366
6367 IN
6368 wdiStatus: response status received from HAL
6369 pUserData: user data
6370
6371
6372
6373 RETURN VALUE
6374 The result code associated with performing the operation
6375---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006376typedef void (*WDI_WowlDelBcPtrnCb)( WDI_WowlDelBcPtrnRspParamsType *pwdiWowlDelBcstPtrRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006377 void* pUserData);
6378
6379/*---------------------------------------------------------------------------
6380 WDI_WowlEnterReqCb
6381
6382 DESCRIPTION
6383
6384 This callback is invoked by DAL when it has received a Wowl enter
6385 response from the underlying device.
6386
6387 PARAMETERS
6388
6389 IN
6390 wdiStatus: response status received from HAL
6391 pUserData: user data
6392
6393
6394
6395 RETURN VALUE
6396 The result code associated with performing the operation
6397---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006398typedef void (*WDI_WowlEnterReqCb)( WDI_WowlEnterRspParamsType *pwdiwowlEnterRsp,
6399 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006400
6401/*---------------------------------------------------------------------------
6402 WDI_WowlExitReqCb
6403
6404 DESCRIPTION
6405
6406 This callback is invoked by DAL when it has received a Wowl exit
6407 response from the underlying device.
6408
6409 PARAMETERS
6410
6411 IN
6412 wdiStatus: response status received from HAL
6413 pUserData: user data
6414
6415
6416
6417 RETURN VALUE
6418 The result code associated with performing the operation
6419---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006420typedef void (*WDI_WowlExitReqCb)( WDI_WowlExitRspParamsType *pwdiWowlExitRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006421 void* pUserData);
6422
6423/*---------------------------------------------------------------------------
6424 WDI_ConfigureAppsCpuWakeupStateCb
6425
6426 DESCRIPTION
6427
6428 This callback is invoked by DAL when it has received a config Apps Cpu Wakeup
6429 State response from the underlying device.
6430
6431 PARAMETERS
6432
6433 IN
6434 wdiStatus: response status received from HAL
6435 pUserData: user data
6436
6437
6438
6439 RETURN VALUE
6440 The result code associated with performing the operation
6441---------------------------------------------------------------------------*/
6442typedef void (*WDI_ConfigureAppsCpuWakeupStateCb)(WDI_Status wdiStatus,
6443 void* pUserData);
6444/*---------------------------------------------------------------------------
6445 WDI_NvDownloadRspCb
6446
6447 DESCRIPTION
6448
6449 This callback is invoked by DAL when it has received a NV Download response
6450 from the underlying device.
6451
6452 PARAMETERS
6453
6454 IN
6455 wdiStatus:response status received from HAL
6456 pUserData:user data
6457
6458 RETURN VALUE
6459 The result code associated with performing the operation
6460---------------------------------------------------------------------------*/
6461typedef void (*WDI_NvDownloadRspCb)(WDI_NvDownloadRspInfoType* wdiNvDownloadRsp,
6462 void* pUserData);
6463/*---------------------------------------------------------------------------
6464 WDI_FlushAcRspCb
6465
6466 DESCRIPTION
6467
6468 This callback is invoked by DAL when it has received a Flush AC response from
6469 the underlying device.
6470
6471 PARAMETERS
6472
6473 IN
6474 wdiStatus: response status received from HAL
6475 pUserData: user data
6476
6477
6478
6479 RETURN VALUE
6480 The result code associated with performing the operation
6481---------------------------------------------------------------------------*/
6482typedef void (*WDI_FlushAcRspCb)(WDI_Status wdiStatus,
6483 void* pUserData);
6484
6485/*---------------------------------------------------------------------------
6486 WDI_BtAmpEventRspCb
6487
6488 DESCRIPTION
6489
6490 This callback is invoked by DAL when it has received a Bt AMP event response
6491 from the underlying device.
6492
6493 PARAMETERS
6494
6495 IN
6496 wdiStatus: response status received from HAL
6497 pUserData: user data
6498
6499
6500
6501 RETURN VALUE
6502 The result code associated with performing the operation
6503---------------------------------------------------------------------------*/
6504typedef void (*WDI_BtAmpEventRspCb)(WDI_Status wdiStatus,
6505 void* pUserData);
6506
Jeff Johnsone7245742012-09-05 17:12:55 -07006507#ifdef FEATURE_OEM_DATA_SUPPORT
6508/*---------------------------------------------------------------------------
6509 WDI_oemDataRspCb
6510
6511 DESCRIPTION
6512
6513 This callback is invoked by DAL when it has received a Start oem data response from
6514 the underlying device.
6515
6516 PARAMETERS
6517
6518 IN
6519 wdiStatus: response status received from HAL
6520 pUserData: user data
6521
6522
6523
6524 RETURN VALUE
6525 The result code associated with performing the operation
6526---------------------------------------------------------------------------*/
6527typedef void (*WDI_oemDataRspCb)(WDI_oemDataRspParamsType* wdiOemDataRspParams,
6528 void* pUserData);
6529
6530#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07006531
6532/*---------------------------------------------------------------------------
6533 WDI_HostResumeEventRspCb
6534
6535 DESCRIPTION
6536
6537 This callback is invoked by DAL when it has received a Bt AMP event response
6538 from the underlying device.
6539
6540 PARAMETERS
6541
6542 IN
6543 wdiStatus: response status received from HAL
6544 pUserData: user data
6545
6546
6547
6548 RETURN VALUE
6549 The result code associated with performing the operation
6550---------------------------------------------------------------------------*/
6551typedef void (*WDI_HostResumeEventRspCb)(
6552 WDI_SuspendResumeRspParamsType *resumeRspParams,
6553 void* pUserData);
6554
6555
6556#ifdef WLAN_FEATURE_VOWIFI_11R
6557/*---------------------------------------------------------------------------
6558 WDI_AggrAddTsRspCb
6559
6560 DESCRIPTION
6561
6562 This callback is invoked by DAL when it has received a Aggregated Add TS
6563 response from the underlying device.
6564
6565 PARAMETERS
6566
6567 IN
6568 wdiStatus: response status received from HAL
6569 pUserData: user data
6570
6571
6572
6573 RETURN VALUE
6574 The result code associated with performing the operation
6575---------------------------------------------------------------------------*/
6576typedef void (*WDI_AggrAddTsRspCb)(WDI_Status wdiStatus,
6577 void* pUserData);
6578#endif /* WLAN_FEATURE_VOWIFI_11R */
6579
Jeff Johnson295189b2012-06-20 16:38:30 -07006580/*---------------------------------------------------------------------------
6581 WDI_FTMCommandRspCb
6582
6583 DESCRIPTION
6584
6585 FTM Command response CB
6586
6587 PARAMETERS
6588
6589 IN
6590 ftmCMDRspdata: FTM response data from HAL
6591 pUserData: user data
6592
6593
6594 RETURN VALUE
6595 NONE
6596---------------------------------------------------------------------------*/
6597typedef void (*WDI_FTMCommandRspCb)(void *ftmCMDRspdata,
6598 void *pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006599
6600/*---------------------------------------------------------------------------
6601 WDI_AddSTASelfParamsRspCb
6602
6603 DESCRIPTION
6604
6605 This callback is invoked by DAL when it has received a Add Sta Self Params
6606 response from the underlying device.
6607
6608 PARAMETERS
6609
6610 IN
6611 wdiAddSelfSTARsp: response status received from HAL
6612 pUserData: user data
6613
6614
6615
6616 RETURN VALUE
6617 The result code associated with performing the operation
6618---------------------------------------------------------------------------*/
6619typedef void (*WDI_AddSTASelfParamsRspCb)(
6620 WDI_AddSTASelfRspParamsType* pwdiAddSelfSTARsp,
6621 void* pUserData);
6622
6623
6624/*---------------------------------------------------------------------------
6625 WDI_DelSTASelfRspCb
6626
6627 DESCRIPTION
6628
6629 This callback is invoked by DAL when it has received a host offload
6630 response from the underlying device.
6631
6632 PARAMETERS
6633
6634 IN
6635 wdiStatus: response status received from HAL
6636 pUserData: user data
6637
6638
6639
6640 RETURN VALUE
6641 The result code associated with performing the operation
6642---------------------------------------------------------------------------*/
6643typedef void (*WDI_DelSTASelfRspCb)
6644(
6645WDI_DelSTASelfRspParamsType* wdiDelStaSelfRspParams,
6646void* pUserData
6647);
6648
6649#ifdef FEATURE_WLAN_SCAN_PNO
6650/*---------------------------------------------------------------------------
6651 WDI_PNOScanCb
6652
6653 DESCRIPTION
6654
6655 This callback is invoked by DAL when it has received a Set PNO
6656 response from the underlying device.
6657
6658 PARAMETERS
6659
6660 IN
6661 wdiStatus: response status received from HAL
6662 pUserData: user data
6663
6664
6665
6666 RETURN VALUE
6667 The result code associated with performing the operation
6668---------------------------------------------------------------------------*/
6669typedef void (*WDI_PNOScanCb)(WDI_Status wdiStatus,
6670 void* pUserData);
6671
6672/*---------------------------------------------------------------------------
6673 WDI_PNOScanCb
6674
6675 DESCRIPTION
6676
6677 This callback is invoked by DAL when it has received a Set PNO
6678 response from the underlying device.
6679
6680 PARAMETERS
6681
6682 IN
6683 wdiStatus: response status received from HAL
6684 pUserData: user data
6685
6686
6687
6688 RETURN VALUE
6689 The result code associated with performing the operation
6690---------------------------------------------------------------------------*/
6691typedef void (*WDI_RssiFilterCb)(WDI_Status wdiStatus,
6692 void* pUserData);
6693
6694/*---------------------------------------------------------------------------
6695 WDI_UpdateScanParamsCb
6696
6697 DESCRIPTION
6698
6699 This callback is invoked by DAL when it has received a Update Scan Params
6700 response from the underlying device.
6701
6702 PARAMETERS
6703
6704 IN
6705 wdiStatus: response status received from HAL
6706 pUserData: user data
6707
6708
6709
6710 RETURN VALUE
6711 The result code associated with performing the operation
6712---------------------------------------------------------------------------*/
6713typedef void (*WDI_UpdateScanParamsCb)(WDI_Status wdiStatus,
6714 void* pUserData);
6715#endif // FEATURE_WLAN_SCAN_PNO
6716
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07006717#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
6718/*---------------------------------------------------------------------------
6719 WDI_RoamOffloadScanCb
6720
6721 DESCRIPTION
6722
6723 This callback is invoked by DAL when it has received a Start Roam Candidate Lookup Req
6724 response from the underlying device.
6725
6726 PARAMETERS
6727
6728 IN
6729 wdiStatus: response status received from HAL
6730 pUserData: user data
6731
6732
6733
6734 RETURN VALUE
6735 The result code associated with performing the operation
6736---------------------------------------------------------------------------*/
6737typedef void (*WDI_RoamOffloadScanCb)(WDI_Status wdiStatus,
6738 void* pUserData);
6739
6740#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07006741/*---------------------------------------------------------------------------
6742 WDI_SetTxPerTrackingRspCb
6743
6744 DESCRIPTION
6745
6746 This callback is invoked by DAL when it has received a Tx PER Tracking
6747 response from the underlying device.
6748
6749 PARAMETERS
6750
6751 IN
6752 wdiStatus: response status received from HAL
6753 pUserData: user data
6754
6755
6756
6757 RETURN VALUE
6758 The result code associated with performing the operation
6759---------------------------------------------------------------------------*/
6760typedef void (*WDI_SetTxPerTrackingRspCb)(WDI_Status wdiStatus,
6761 void* pUserData);
6762
6763#ifdef WLAN_FEATURE_PACKET_FILTERING
6764/*---------------------------------------------------------------------------
6765 WDI_8023MulticastListCb
6766
6767 DESCRIPTION
6768
6769 This callback is invoked by DAL when it has received a 8023 Multicast List
6770 response from the underlying device.
6771
6772 PARAMETERS
6773
6774 IN
6775 wdiStatus: response status received from HAL
6776 pUserData: user data
6777
6778
6779
6780 RETURN VALUE
6781 The result code associated with performing the operation
6782---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006783typedef void (*WDI_8023MulticastListCb)(
6784 WDI_RcvFltPktSetMcListRspParamsType *pwdiRcvFltPktSetMcListRspInfo,
6785 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006786
6787/*---------------------------------------------------------------------------
6788 WDI_ReceiveFilterSetFilterCb
6789
6790 DESCRIPTION
6791
6792 This callback is invoked by DAL when it has received a Receive Filter Set Filter
6793 response from the underlying device.
6794
6795 PARAMETERS
6796
6797 IN
6798 wdiStatus: response status received from HAL
6799 pUserData: user data
6800
6801
6802
6803 RETURN VALUE
6804 The result code associated with performing the operation
6805---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006806typedef void (*WDI_ReceiveFilterSetFilterCb)(
6807 WDI_SetRcvPktFilterRspParamsType *pwdiSetRcvPktFilterRspInfo,
6808 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006809
6810/*---------------------------------------------------------------------------
6811 WDI_FilterMatchCountCb
6812
6813 DESCRIPTION
6814
6815 This callback is invoked by DAL when it has received a Do PC Filter Match Count
6816 response from the underlying device.
6817
6818 PARAMETERS
6819
6820 IN
6821 wdiStatus: response status received from HAL
6822 pUserData: user data
6823
6824
6825
6826 RETURN VALUE
6827 The result code associated with performing the operation
6828---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006829typedef void (*WDI_FilterMatchCountCb)(
6830 WDI_RcvFltPktMatchCntRspParamsType *pwdiRcvFltPktMatchRspParams,
6831 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006832
6833/*---------------------------------------------------------------------------
6834 WDI_ReceiveFilterClearFilterCb
6835
6836 DESCRIPTION
6837
6838 This callback is invoked by DAL when it has received a Receive Filter Clear Filter
6839 response from the underlying device.
6840
6841 PARAMETERS
6842
6843 IN
6844 wdiStatus: response status received from HAL
6845 pUserData: user data
6846
6847
6848
6849 RETURN VALUE
6850 The result code associated with performing the operation
6851---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006852typedef void (*WDI_ReceiveFilterClearFilterCb)(
6853 WDI_RcvFltPktClearRspParamsType *pwdiRcvFltPktClearRspParamsType,
6854 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006855#endif // WLAN_FEATURE_PACKET_FILTERING
6856
6857/*---------------------------------------------------------------------------
6858 WDI_HALDumpCmdRspCb
6859
6860 DESCRIPTION
6861
6862 This callback is invoked by DAL when it has received a HAL DUMP Command
6863response from
6864 the HAL layer.
6865
6866 PARAMETERS
6867
6868 IN
6869 wdiHalDumpCmdRsp: response status received from HAL
6870 pUserData: user data
6871
6872
6873
6874 RETURN VALUE
6875 The result code associated with performing the operation
6876---------------------------------------------------------------------------*/
6877typedef void (*WDI_HALDumpCmdRspCb)(WDI_HALDumpCmdRspParamsType* wdiHalDumpCmdRsp,
6878 void* pUserData);
6879
6880/*---------------------------------------------------------------------------
6881 WDI_SetPowerParamsCb
6882
6883 DESCRIPTION
6884
6885 This callback is invoked by DAL when it has received a Set Power Param
6886 response from the underlying device.
6887
6888 PARAMETERS
6889
6890 IN
6891 wdiStatus: response status received from HAL
6892 pUserData: user data
6893
6894
6895
6896 RETURN VALUE
6897 The result code associated with performing the operation
6898---------------------------------------------------------------------------*/
6899typedef void (*WDI_SetPowerParamsCb)(WDI_Status wdiStatus,
6900 void* pUserData);
6901
6902#ifdef WLAN_FEATURE_GTK_OFFLOAD
6903/*---------------------------------------------------------------------------
6904 WDI_GtkOffloadCb
6905
6906 DESCRIPTION
6907
6908 This callback is invoked by DAL when it has received a GTK offload
6909 response from the underlying device.
6910
6911 PARAMETERS
6912
6913 IN
6914 wdiStatus: response status received from HAL
6915 pUserData: user data
6916
6917
6918
6919 RETURN VALUE
6920 The result code associated with performing the operation
6921---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006922typedef void (*WDI_GtkOffloadCb)( WDI_GtkOffloadRspParams *pwdiGtkOffloadRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07006923 void* pUserData);
6924
6925/*---------------------------------------------------------------------------
6926 WDI_GtkOffloadGetInfoCb
6927
6928 DESCRIPTION
6929
6930 This callback is invoked by DAL when it has received a GTK offload
6931 information response from the underlying device.
6932
6933 PARAMETERS
6934
6935 IN
6936 wdiStatus: response status received from HAL
6937 pUserData: user data
6938
6939
6940
6941 RETURN VALUE
6942 The result code associated with performing the operation
6943---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006944typedef void (*WDI_GtkOffloadGetInfoCb)( WDI_GtkOffloadGetInfoRspParams *pwdiGtkOffloadGetInfoRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07006945 void* pUserData);
6946#endif // WLAN_FEATURE_GTK_OFFLOAD
6947
6948/*---------------------------------------------------------------------------
6949 WDI_SetTmLevelCb
6950
6951 DESCRIPTION
6952
6953 This callback is invoked by DAL when it has received a Set New TM Level
6954 done response from the underlying device.
6955
6956 PARAMETERS
6957
6958 IN
6959 wdiStatus: response status received from HAL
6960 pUserData: user data
6961
6962
6963
6964 RETURN VALUE
6965 The result code associated with performing the operation
6966---------------------------------------------------------------------------*/
6967typedef void (*WDI_SetTmLevelCb)(WDI_Status wdiStatus,
6968 void* pUserData);
6969
6970/*---------------------------------------------------------------------------
6971 WDI_featureCapsExchangeCb
6972
6973 DESCRIPTION
6974
6975 This callback is invoked by DAL when it has received a HAL Feature Capbility
6976 Exchange Response the HAL layer. This callback is put to mantain code
6977 similarity and is not being used right now.
6978
6979 PARAMETERS
6980
6981 IN
6982 wdiFeatCapRspParams: response parameters received from HAL
6983 pUserData: user data
6984
6985 RETURN VALUE
6986 The result code associated with performing the operation
6987---------------------------------------------------------------------------*/
6988typedef void (*WDI_featureCapsExchangeCb)(void* wdiFeatCapRspParams,
6989 void* pUserData);
6990
Mohit Khanna4a70d262012-09-11 16:30:12 -07006991#ifdef WLAN_FEATURE_11AC
6992typedef void (*WDI_UpdateVHTOpModeCb)(WDI_Status wdiStatus,
6993 void* pUserData);
6994#endif
6995
Leo Chang9056f462013-08-01 19:21:11 -07006996#ifdef FEATURE_WLAN_LPHB
6997typedef void (*WDI_LphbCfgCb)(WDI_Status wdiStatus,
6998 void* pUserData);
6999#endif /* FEATURE_WLAN_LPHB */
Mohit Khanna4a70d262012-09-11 16:30:12 -07007000
Jeff Johnson295189b2012-06-20 16:38:30 -07007001/*========================================================================
7002 * Function Declarations and Documentation
7003 ==========================================================================*/
7004
7005/*========================================================================
7006
7007 INITIALIZATION APIs
7008
7009==========================================================================*/
7010
7011/**
7012 @brief WDI_Init is used to initialize the DAL.
7013
7014 DAL will allocate all the resources it needs. It will open PAL, it will also
7015 open both the data and the control transport which in their turn will open
7016 DXE/SMD or any other drivers that they need.
7017
7018 @param pOSContext: pointer to the OS context provided by the UMAC
7019 will be passed on to PAL on Open
7020 ppWDIGlobalCtx: output pointer of Global Context
7021 pWdiDevCapability: output pointer of device capability
7022
7023 @return Result of the function call
7024*/
7025WDI_Status
7026WDI_Init
7027(
7028 void* pOSContext,
7029 void** ppWDIGlobalCtx,
7030 WDI_DeviceCapabilityType* pWdiDevCapability,
7031 unsigned int driverType
7032);
7033
7034/**
7035 @brief WDI_Start will be called when the upper MAC is ready to
7036 commence operation with the WLAN Device. Upon the call
7037 of this API the WLAN DAL will pack and send a HAL Start
7038 message to the lower RIVA sub-system if the SMD channel
7039 has been fully opened and the RIVA subsystem is up.
7040
7041 If the RIVA sub-system is not yet up and running DAL
7042 will queue the request for Open and will wait for the
7043 SMD notification before attempting to send down the
7044 message to HAL.
7045
7046 WDI_Init must have been called.
7047
7048 @param wdiStartParams: the start parameters as specified by
7049 the Device Interface
7050
7051 wdiStartRspCb: callback for passing back the response of
7052 the start operation received from the device
7053
7054 pUserData: user data will be passed back with the
7055 callback
7056
7057 @see WDI_Start
7058 @return Result of the function call
7059*/
7060WDI_Status
7061WDI_Start
7062(
7063 WDI_StartReqParamsType* pwdiStartParams,
7064 WDI_StartRspCb wdiStartRspCb,
7065 void* pUserData
7066);
7067
7068
7069/**
7070 @brief WDI_Stop will be called when the upper MAC is ready to
7071 stop any operation with the WLAN Device. Upon the call
7072 of this API the WLAN DAL will pack and send a HAL Stop
7073 message to the lower RIVA sub-system if the DAL Core is
7074 in started state.
7075
7076 In state BUSY this request will be queued.
7077
7078 Request will not be accepted in any other state.
7079
7080 WDI_Start must have been called.
7081
7082 @param wdiStopParams: the stop parameters as specified by
7083 the Device Interface
7084
7085 wdiStopRspCb: callback for passing back the response of
7086 the stop operation received from the device
7087
7088 pUserData: user data will be passed back with the
7089 callback
7090
7091 @see WDI_Start
7092 @return Result of the function call
7093*/
7094WDI_Status
7095WDI_Stop
7096(
7097 WDI_StopReqParamsType* pwdiStopParams,
7098 WDI_StopRspCb wdiStopRspCb,
7099 void* pUserData
7100);
7101
7102/**
7103 @brief WDI_Close will be called when the upper MAC no longer
7104 needs to interract with DAL. DAL will free its control
7105 block.
7106
7107 It is only accepted in state STOPPED.
7108
7109 WDI_Stop must have been called.
7110
7111 @param none
7112
7113 @see WDI_Stop
7114 @return Result of the function call
7115*/
7116WDI_Status
7117WDI_Close
7118(
7119 void
7120);
7121
7122
7123/**
7124 @brief WDI_Shutdown will be called during 'SSR shutdown' operation.
7125 This will do most of the WDI stop & close
7126 operations without doing any handshake with Riva
7127
7128 This will also make sure that the control transport
7129 will NOT be closed.
7130
7131 This request will not be queued.
7132
7133
7134 WDI_Start must have been called.
7135
7136 @param closeTransport: Close control channel if this is set
7137
7138 @return Result of the function call
7139*/
7140WDI_Status
7141WDI_Shutdown
7142(
7143 wpt_boolean closeTransport
7144);
7145
7146/*========================================================================
7147
7148 SCAN APIs
7149
7150==========================================================================*/
7151
7152/**
7153 @brief WDI_InitScanReq will be called when the upper MAC wants
7154 the WLAN Device to get ready for a scan procedure. Upon
7155 the call of this API the WLAN DAL will pack and send a
7156 HAL Init Scan request message to the lower RIVA
7157 sub-system if DAL is in state STARTED.
7158
7159 In state BUSY this request will be queued. Request won't
7160 be allowed in any other state.
7161
7162 WDI_Start must have been called.
7163
7164 @param wdiInitScanParams: the init scan parameters as specified
7165 by the Device Interface
7166
7167 wdiInitScanRspCb: callback for passing back the response
7168 of the init scan operation received from the device
7169
7170 pUserData: user data will be passed back with the
7171 callback
7172
7173 @see WDI_Start
7174 @return Result of the function call
7175*/
7176WDI_Status
7177WDI_InitScanReq
7178(
7179 WDI_InitScanReqParamsType* pwdiInitScanParams,
7180 WDI_InitScanRspCb wdiInitScanRspCb,
7181 void* pUserData
7182);
7183
7184/**
7185 @brief WDI_StartScanReq will be called when the upper MAC
7186 wishes to change the Scan channel on the WLAN Device.
7187 Upon the call of this API the WLAN DAL will pack and
7188 send a HAL Start Scan request message to the lower RIVA
7189 sub-system if DAL is in state STARTED.
7190
7191 In state BUSY this request will be queued. Request won't
7192 be allowed in any other state.
7193
7194 WDI_InitScanReq must have been called.
7195
7196 @param wdiStartScanParams: the start scan parameters as
7197 specified by the Device Interface
7198
7199 wdiStartScanRspCb: callback for passing back the
7200 response of the start scan operation received from the
7201 device
7202
7203 pUserData: user data will be passed back with the
7204 callback
7205
7206 @see WDI_InitScanReq
7207 @return Result of the function call
7208*/
7209WDI_Status
7210WDI_StartScanReq
7211(
7212 WDI_StartScanReqParamsType* pwdiStartScanParams,
7213 WDI_StartScanRspCb wdiStartScanRspCb,
7214 void* pUserData
7215);
7216
7217
7218/**
7219 @brief WDI_EndScanReq will be called when the upper MAC is
7220 wants to end scanning for a particular channel that it
7221 had set before by calling Scan Start on the WLAN Device.
7222 Upon the call of this API the WLAN DAL will pack and
7223 send a HAL End Scan request message to the lower RIVA
7224 sub-system if DAL is in state STARTED.
7225
7226 In state BUSY this request will be queued. Request won't
7227 be allowed in any other state.
7228
7229 WDI_StartScanReq must have been called.
7230
7231 @param wdiEndScanParams: the end scan parameters as specified
7232 by the Device Interface
7233
7234 wdiEndScanRspCb: callback for passing back the response
7235 of the end scan operation received from the device
7236
7237 pUserData: user data will be passed back with the
7238 callback
7239
7240 @see WDI_StartScanReq
7241 @return Result of the function call
7242*/
7243WDI_Status
7244WDI_EndScanReq
7245(
7246 WDI_EndScanReqParamsType* pwdiEndScanParams,
7247 WDI_EndScanRspCb wdiEndScanRspCb,
7248 void* pUserData
7249);
7250
7251
7252/**
7253 @brief WDI_FinishScanReq will be called when the upper MAC has
7254 completed the scan process on the WLAN Device. Upon the
7255 call of this API the WLAN DAL will pack and send a HAL
7256 Finish Scan Request request message to the lower RIVA
7257 sub-system if DAL is in state STARTED.
7258
7259 In state BUSY this request will be queued. Request won't
7260 be allowed in any other state.
7261
7262 WDI_InitScanReq must have been called.
7263
7264 @param wdiFinishScanParams: the finish scan parameters as
7265 specified by the Device Interface
7266
7267 wdiFinishScanRspCb: callback for passing back the
7268 response of the finish scan operation received from the
7269 device
7270
7271 pUserData: user data will be passed back with the
7272 callback
7273
7274 @see WDI_InitScanReq
7275 @return Result of the function call
7276*/
7277WDI_Status
7278WDI_FinishScanReq
7279(
7280 WDI_FinishScanReqParamsType* pwdiFinishScanParams,
7281 WDI_FinishScanRspCb wdiFinishScanRspCb,
7282 void* pUserData
7283);
7284
7285/*========================================================================
7286
7287 ASSOCIATION APIs
7288
7289==========================================================================*/
7290
7291/**
7292 @brief WDI_JoinReq will be called when the upper MAC is ready
7293 to start an association procedure to a BSS. Upon the
7294 call of this API the WLAN DAL will pack and send a HAL
7295 Join request message to the lower RIVA sub-system if
7296 DAL is in state STARTED.
7297
7298 In state BUSY this request will be queued. Request won't
7299 be allowed in any other state.
7300
7301 WDI_Start must have been called.
7302
7303 @param wdiJoinParams: the join parameters as specified by
7304 the Device Interface
7305
7306 wdiJoinRspCb: callback for passing back the response of
7307 the join operation received from the device
7308
7309 pUserData: user data will be passed back with the
7310 callback
7311
7312 @see WDI_Start
7313 @return Result of the function call
7314*/
7315WDI_Status
7316WDI_JoinReq
7317(
7318 WDI_JoinReqParamsType* pwdiJoinParams,
7319 WDI_JoinRspCb wdiJoinRspCb,
7320 void* pUserData
7321);
7322
7323/**
7324 @brief WDI_ConfigBSSReq will be called when the upper MAC
7325 wishes to configure the newly acquired or in process of
7326 being acquired BSS to the HW . Upon the call of this API
7327 the WLAN DAL will pack and send a HAL Config BSS request
7328 message to the lower RIVA sub-system if DAL is in state
7329 STARTED.
7330
7331 In state BUSY this request will be queued. Request won't
7332 be allowed in any other state.
7333
7334 WDI_JoinReq must have been called.
7335
7336 @param wdiConfigBSSParams: the config BSS parameters as
7337 specified by the Device Interface
7338
7339 wdiConfigBSSRspCb: callback for passing back the
7340 response of the config BSS operation received from the
7341 device
7342
7343 pUserData: user data will be passed back with the
7344 callback
7345
7346 @see WDI_JoinReq
7347 @return Result of the function call
7348*/
7349WDI_Status
7350WDI_ConfigBSSReq
7351(
7352 WDI_ConfigBSSReqParamsType* pwdiConfigBSSParams,
7353 WDI_ConfigBSSRspCb wdiConfigBSSRspCb,
7354 void* pUserData
7355);
7356
7357/**
7358 @brief WDI_DelBSSReq will be called when the upper MAC is
7359 dissasociating from the BSS and wishes to notify HW.
7360 Upon the call of this API the WLAN DAL will pack and
7361 send a HAL Del BSS request message to the lower RIVA
7362 sub-system if DAL is in state STARTED.
7363
7364 In state BUSY this request will be queued. Request won't
7365 be allowed in any other state.
7366
7367 WDI_ConfigBSSReq or WDI_PostAssocReq must have been called.
7368
7369 @param wdiDelBSSParams: the del BSS parameters as specified by
7370 the Device Interface
7371
7372 wdiDelBSSRspCb: callback for passing back the response
7373 of the del bss operation received from the device
7374
7375 pUserData: user data will be passed back with the
7376 callback
7377
7378 @see WDI_ConfigBSSReq, WDI_PostAssocReq
7379 @return Result of the function call
7380*/
7381WDI_Status
7382WDI_DelBSSReq
7383(
7384 WDI_DelBSSReqParamsType* pwdiDelBSSParams,
7385 WDI_DelBSSRspCb wdiDelBSSRspCb,
7386 void* pUserData
7387);
7388
7389/**
7390 @brief WDI_PostAssocReq will be called when the upper MAC has
7391 associated to a BSS and wishes to configure HW for
7392 associated state. Upon the call of this API the WLAN DAL
7393 will pack and send a HAL Post Assoc request message to
7394 the lower RIVA sub-system if DAL is in state STARTED.
7395
7396 In state BUSY this request will be queued. Request won't
7397 be allowed in any other state.
7398
7399 WDI_JoinReq must have been called.
7400
7401 @param wdiPostAssocReqParams: the assoc parameters as specified
7402 by the Device Interface
7403
7404 wdiPostAssocRspCb: callback for passing back the
7405 response of the post assoc operation received from the
7406 device
7407
7408 pUserData: user data will be passed back with the
7409 callback
7410
7411 @see WDI_JoinReq
7412 @return Result of the function call
7413*/
7414WDI_Status
7415WDI_PostAssocReq
7416(
7417 WDI_PostAssocReqParamsType* pwdiPostAssocReqParams,
7418 WDI_PostAssocRspCb wdiPostAssocRspCb,
7419 void* pUserData
7420);
7421
7422/**
7423 @brief WDI_DelSTAReq will be called when the upper MAC when an
7424 association with another STA has ended and the station
7425 must be deleted from HW. Upon the call of this API the
7426 WLAN DAL will pack and send a HAL Del STA request
7427 message to the lower RIVA sub-system if DAL is in state
7428 STARTED.
7429
7430 In state BUSY this request will be queued. Request won't
7431 be allowed in any other state.
7432
7433 WDI_PostAssocReq must have been called.
7434
7435 @param wdiDelSTAParams: the Del STA parameters as specified by
7436 the Device Interface
7437
7438 wdiDelSTARspCb: callback for passing back the response
7439 of the del STA operation received from the device
7440
7441 pUserData: user data will be passed back with the
7442 callback
7443
7444 @see WDI_PostAssocReq
7445 @return Result of the function call
7446*/
7447WDI_Status
7448WDI_DelSTAReq
7449(
7450 WDI_DelSTAReqParamsType* pwdiDelSTAParams,
7451 WDI_DelSTARspCb wdiDelSTARspCb,
7452 void* pUserData
7453);
7454
7455/*========================================================================
7456
7457 SECURITY APIs
7458
7459==========================================================================*/
7460
7461/**
7462 @brief WDI_SetBSSKeyReq will be called when the upper MAC ito
7463 install a BSS encryption key on the HW. Upon the call of
7464 this API the WLAN DAL will pack and send a HAL Start
7465 request message to the lower RIVA sub-system if DAL is
7466 in state STARTED.
7467
7468 In state BUSY this request will be queued. Request won't
7469 be allowed in any other state.
7470
7471 WDI_PostAssocReq must have been called.
7472
7473 @param wdiSetBSSKeyParams: the BSS Key set parameters as
7474 specified by the Device Interface
7475
7476 wdiSetBSSKeyRspCb: callback for passing back the
7477 response of the set BSS Key operation received from the
7478 device
7479
7480 pUserData: user data will be passed back with the
7481 callback
7482
7483 @see WDI_PostAssocReq
7484 @return Result of the function call
7485*/
7486WDI_Status
7487WDI_SetBSSKeyReq
7488(
7489 WDI_SetBSSKeyReqParamsType* pwdiSetBSSKeyParams,
7490 WDI_SetBSSKeyRspCb wdiSetBSSKeyRspCb,
7491 void* pUserData
7492);
7493
7494
7495/**
7496 @brief WDI_RemoveBSSKeyReq will be called when the upper MAC to
7497 uninstall a BSS key from HW. Upon the call of this API
7498 the WLAN DAL will pack and send a HAL Remove BSS Key
7499 request message to the lower RIVA sub-system if DAL is
7500 in state STARTED.
7501
7502 In state BUSY this request will be queued. Request won't
7503 be allowed in any other state.
7504
7505 WDI_SetBSSKeyReq must have been called.
7506
7507 @param wdiRemoveBSSKeyParams: the remove BSS key parameters as
7508 specified by the Device Interface
7509
7510 wdiRemoveBSSKeyRspCb: callback for passing back the
7511 response of the remove BSS key operation received from
7512 the device
7513
7514 pUserData: user data will be passed back with the
7515 callback
7516
7517 @see WDI_SetBSSKeyReq
7518 @return Result of the function call
7519*/
7520WDI_Status
7521WDI_RemoveBSSKeyReq
7522(
7523 WDI_RemoveBSSKeyReqParamsType* pwdiRemoveBSSKeyParams,
7524 WDI_RemoveBSSKeyRspCb wdiRemoveBSSKeyRspCb,
7525 void* pUserData
7526);
7527
7528
7529/**
7530 @brief WDI_SetSTAKeyReq will be called when the upper MAC is
7531 ready to install a STA(ast) encryption key in HW. Upon
7532 the call of this API the WLAN DAL will pack and send a
7533 HAL Set STA Key request message to the lower RIVA
7534 sub-system if DAL is in state STARTED.
7535
7536 In state BUSY this request will be queued. Request won't
7537 be allowed in any other state.
7538
7539 WDI_PostAssocReq must have been called.
7540
7541 @param wdiSetSTAKeyParams: the set STA key parameters as
7542 specified by the Device Interface
7543
7544 wdiSetSTAKeyRspCb: callback for passing back the
7545 response of the set STA key operation received from the
7546 device
7547
7548 pUserData: user data will be passed back with the
7549 callback
7550
7551 @see WDI_PostAssocReq
7552 @return Result of the function call
7553*/
7554WDI_Status
7555WDI_SetSTAKeyReq
7556(
7557 WDI_SetSTAKeyReqParamsType* pwdiSetSTAKeyParams,
7558 WDI_SetSTAKeyRspCb wdiSetSTAKeyRspCb,
7559 void* pUserData
7560);
7561
7562
7563/**
7564 @brief WDI_RemoveSTAKeyReq will be called when the upper MAC
7565 wants to unistall a previously set STA key in HW. Upon
7566 the call of this API the WLAN DAL will pack and send a
7567 HAL Remove STA Key request message to the lower RIVA
7568 sub-system if DAL is in state STARTED.
7569
7570 In state BUSY this request will be queued. Request won't
7571 be allowed in any other state.
7572
7573 WDI_SetSTAKeyReq must have been called.
7574
7575 @param wdiRemoveSTAKeyParams: the remove STA key parameters as
7576 specified by the Device Interface
7577
7578 wdiRemoveSTAKeyRspCb: callback for passing back the
7579 response of the remove STA key operation received from
7580 the device
7581
7582 pUserData: user data will be passed back with the
7583 callback
7584
7585 @see WDI_SetSTAKeyReq
7586 @return Result of the function call
7587*/
7588WDI_Status
7589WDI_RemoveSTAKeyReq
7590(
7591 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTAKeyParams,
7592 WDI_RemoveSTAKeyRspCb wdiRemoveSTAKeyRspCb,
7593 void* pUserData
7594);
7595
7596/**
7597 @brief WDI_SetSTABcastKeyReq will be called when the upper MAC
7598 wants to install a STA Bcast encryption key on the HW.
7599 Upon the call of this API the WLAN DAL will pack and
7600 send a HAL Start request message to the lower RIVA
7601 sub-system if DAL is in state STARTED.
7602
7603 In state BUSY this request will be queued. Request won't
7604 be allowed in any other state.
7605
7606 WDI_PostAssocReq must have been called.
7607
7608 @param pwdiSetSTABcastKeyParams: the BSS Key set parameters as
7609 specified by the Device Interface
7610
7611 wdiSetSTABcastKeyRspCb: callback for passing back the
7612 response of the set BSS Key operation received from the
7613 device
7614
7615 pUserData: user data will be passed back with the
7616 callback
7617
7618 @see WDI_PostAssocReq
7619 @return Result of the function call
7620*/
7621WDI_Status
7622WDI_SetSTABcastKeyReq
7623(
7624 WDI_SetSTAKeyReqParamsType* pwdiSetSTABcastKeyParams,
7625 WDI_SetSTAKeyRspCb wdiSetSTABcastKeyRspCb,
7626 void* pUserData
7627);
7628
7629
7630/**
7631 @brief WDI_RemoveSTABcastKeyReq will be called when the upper
7632 MAC to uninstall a STA Bcast key from HW. Upon the call
7633 of this API the WLAN DAL will pack and send a HAL Remove
7634 STA Bcast Key request message to the lower RIVA
7635 sub-system if DAL is in state STARTED.
7636
7637 In state BUSY this request will be queued. Request won't
7638 be allowed in any other state.
7639
7640 WDI_SetSTABcastKeyReq must have been called.
7641
7642 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
7643 parameters as specified by the Device
7644 Interface
7645
7646 wdiRemoveSTABcastKeyRspCb: callback for passing back the
7647 response of the remove STA Bcast key operation received
7648 from the device
7649
7650 pUserData: user data will be passed back with the
7651 callback
7652
7653 @see WDI_SetSTABcastKeyReq
7654 @return Result of the function call
7655*/
7656WDI_Status
7657WDI_RemoveSTABcastKeyReq
7658(
7659 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTABcastKeyParams,
7660 WDI_RemoveSTAKeyRspCb wdiRemoveSTABcastKeyRspCb,
7661 void* pUserData
7662);
7663
schang86c22c42013-03-13 18:41:24 -07007664
7665/**
7666 @brief WDI_SetTxPowerReq will be called when the upper
7667 MAC wants to set Tx Power to HW.
7668 In state BUSY this request will be queued. Request won't
7669 be allowed in any other state.
7670
7671
7672 @param pwdiSetTxPowerParams: set TS Power parameters
7673 BSSID and target TX Power with dbm included
7674
7675 wdiReqStatusCb: callback for passing back the response
7676
7677 pUserData: user data will be passed back with the
7678 callback
7679
7680 @return Result of the function call
7681*/
7682WDI_Status
7683WDI_SetTxPowerReq
7684(
7685 WDI_SetTxPowerParamsType* pwdiSetTxPowerParams,
7686 WDA_SetTxPowerRspCb wdiReqStatusCb,
7687 void* pUserData
7688);
7689
Jeff Johnson295189b2012-06-20 16:38:30 -07007690/**
7691 @brief WDI_SetMaxTxPowerReq will be called when the upper
7692 MAC wants to set Max Tx Power to HW. Upon the
7693 call of this API the WLAN DAL will pack and send a HAL
7694 Remove STA Bcast Key request message to the lower RIVA
7695 sub-system if DAL is in state STARTED.
7696
7697 In state BUSY this request will be queued. Request won't
7698 be allowed in any other state.
7699
7700 WDI_SetSTABcastKeyReq must have been called.
7701
7702 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
7703 parameters as specified by the Device
7704 Interface
7705
7706 wdiRemoveSTABcastKeyRspCb: callback for passing back the
7707 response of the remove STA Bcast key operation received
7708 from the device
7709
7710 pUserData: user data will be passed back with the
7711 callback
7712
7713 @see WDI_SetMaxTxPowerReq
7714 @return Result of the function call
7715*/
7716WDI_Status
7717WDI_SetMaxTxPowerReq
7718(
7719 WDI_SetMaxTxPowerParamsType* pwdiSetMaxTxPowerParams,
7720 WDA_SetMaxTxPowerRspCb wdiReqStatusCb,
7721 void* pUserData
7722);
7723
7724#ifdef FEATURE_WLAN_CCX
7725/**
7726 @brief WDI_TSMStatsReq will be called by the upper MAC to fetch
7727 Traffic Stream metrics.
7728 In state BUSY this request will be queued. Request won't
7729 be allowed in any other state.
7730
7731 @param wdiAddTsReqParams: the add TS parameters as specified by
7732 the Device Interface
7733
7734 wdiAddTsRspCb: callback for passing back the response of
7735 the add TS operation received from the device
7736
7737 pUserData: user data will be passed back with the
7738 callback
7739
7740 @see WDI_PostAssocReq
7741 @return Result of the function call
7742*/
7743WDI_Status
7744WDI_TSMStatsReq
7745(
7746 WDI_TSMStatsReqParamsType* pwdiTsmStatsReqParams,
7747 WDI_TsmRspCb wdiTsmStatsRspCb,
7748 void* pUserData
7749);
7750
7751
7752#endif
7753
7754/*========================================================================
7755
7756 QoS and BA APIs
7757
7758==========================================================================*/
7759
7760/**
7761 @brief WDI_AddTSReq will be called when the upper MAC to inform
7762 the device of a successful add TSpec negotiation. HW
7763 needs to receive the TSpec Info from the UMAC in order
7764 to configure properly the QoS data traffic. Upon the
7765 call of this API the WLAN DAL will pack and send a HAL
7766 Add TS request message to the lower RIVA sub-system if
7767 DAL is in state STARTED.
7768
7769 In state BUSY this request will be queued. Request won't
7770 be allowed in any other state.
7771
7772 WDI_PostAssocReq must have been called.
7773
7774 @param wdiAddTsReqParams: the add TS parameters as specified by
7775 the Device Interface
7776
7777 wdiAddTsRspCb: callback for passing back the response of
7778 the add TS operation received from the device
7779
7780 pUserData: user data will be passed back with the
7781 callback
7782
7783 @see WDI_PostAssocReq
7784 @return Result of the function call
7785*/
7786WDI_Status
7787WDI_AddTSReq
7788(
7789 WDI_AddTSReqParamsType* pwdiAddTsReqParams,
7790 WDI_AddTsRspCb wdiAddTsRspCb,
7791 void* pUserData
7792);
7793
7794
7795
7796/**
7797 @brief WDI_DelTSReq will be called when the upper MAC has ended
7798 admission on a specific AC. This is to inform HW that
7799 QoS traffic parameters must be rest. Upon the call of
7800 this API the WLAN DAL will pack and send a HAL Del TS
7801 request message to the lower RIVA sub-system if DAL is
7802 in state STARTED.
7803
7804 In state BUSY this request will be queued. Request won't
7805 be allowed in any other state.
7806
7807 WDI_AddTSReq must have been called.
7808
7809 @param wdiDelTsReqParams: the del TS parameters as specified by
7810 the Device Interface
7811
7812 wdiDelTsRspCb: callback for passing back the response of
7813 the del TS operation received from the device
7814
7815 pUserData: user data will be passed back with the
7816 callback
7817
7818 @see WDI_AddTSReq
7819 @return Result of the function call
7820*/
7821WDI_Status
7822WDI_DelTSReq
7823(
7824 WDI_DelTSReqParamsType* pwdiDelTsReqParams,
7825 WDI_DelTsRspCb wdiDelTsRspCb,
7826 void* pUserData
7827);
7828
7829
7830
7831/**
7832 @brief WDI_UpdateEDCAParams will be called when the upper MAC
7833 wishes to update the EDCA parameters used by HW for QoS
7834 data traffic. Upon the call of this API the WLAN DAL
7835 will pack and send a HAL Update EDCA Params request
7836 message to the lower RIVA sub-system if DAL is in state
7837 STARTED.
7838
7839 In state BUSY this request will be queued. Request won't
7840 be allowed in any other state.
7841
7842 WDI_PostAssocReq must have been called.
7843
7844 @param wdiUpdateEDCAParams: the start parameters as specified
7845 by the Device Interface
7846
7847 wdiUpdateEDCAParamsRspCb: callback for passing back the
7848 response of the start operation received from the device
7849
7850 pUserData: user data will be passed back with the
7851 callback
7852
7853 @see WDI_PostAssocReq
7854 @return Result of the function call
7855*/
7856WDI_Status
7857WDI_UpdateEDCAParams
7858(
7859 WDI_UpdateEDCAParamsType* pwdiUpdateEDCAParams,
7860 WDI_UpdateEDCAParamsRspCb wdiUpdateEDCAParamsRspCb,
7861 void* pUserData
7862);
7863
7864
7865
7866/**
7867 @brief WDI_AddBASessionReq will be called when the upper MAC has setup
7868 successfully a BA session and needs to notify the HW for
7869 the appropriate settings to take place. Upon the call of
7870 this API the WLAN DAL will pack and send a HAL Add BA
7871 request message to the lower RIVA sub-system if DAL is
7872 in state STARTED.
7873
7874 In state BUSY this request will be queued. Request won't
7875 be allowed in any other state.
7876
7877 WDI_PostAssocReq must have been called.
7878
7879 @param wdiAddBAReqParams: the add BA parameters as specified by
7880 the Device Interface
7881
7882 wdiAddBARspCb: callback for passing back the response of
7883 the add BA operation received from the device
7884
7885 pUserData: user data will be passed back with the
7886 callback
7887
7888 @see WDI_PostAssocReq
7889 @return Result of the function call
7890*/
7891WDI_Status
7892WDI_AddBASessionReq
7893(
7894 WDI_AddBASessionReqParamsType* pwdiAddBASessionReqParams,
7895 WDI_AddBASessionRspCb wdiAddBASessionRspCb,
7896 void* pUserData
7897);
7898
7899
7900/**
7901 @brief WDI_DelBAReq will be called when the upper MAC wants to
7902 inform HW that it has deleted a previously created BA
7903 session. Upon the call of this API the WLAN DAL will
7904 pack and send a HAL Del BA request message to the lower
7905 RIVA sub-system if DAL is in state STARTED.
7906
7907 In state BUSY this request will be queued. Request won't
7908 be allowed in any other state.
7909
7910 WDI_AddBAReq must have been called.
7911
7912 @param wdiDelBAReqParams: the del BA parameters as specified by
7913 the Device Interface
7914
7915 wdiDelBARspCb: callback for passing back the response of
7916 the del BA operation received from the device
7917
7918 pUserData: user data will be passed back with the
7919 callback
7920
7921 @see WDI_AddBAReq
7922 @return Result of the function call
7923*/
7924WDI_Status
7925WDI_DelBAReq
7926(
7927 WDI_DelBAReqParamsType* pwdiDelBAReqParams,
7928 WDI_DelBARspCb wdiDelBARspCb,
7929 void* pUserData
7930);
7931
7932/**
7933 @brief WDI_UpdateBeaconParamsReq will be called when the upper MAC wants to
7934 inform HW that there is a change in the beacon parameters
7935 Upon the call of this API the WLAN DAL will
7936 pack and send a UpdateBeacon Params message to the lower
7937 RIVA sub-system if DAL is in state STARTED.
7938
7939 In state BUSY this request will be queued. Request won't
7940 be allowed in any other state.
7941
7942 WDI_UpdateBeaconParamsReq must have been called.
7943
7944 @param WDI_UpdateBeaconParamsType: the Update Beacon parameters as specified by
7945 the Device Interface
7946
7947 WDI_UpdateBeaconParamsRspCb: callback for passing back the response of
7948 the Update Beacon Params operation received from the device
7949
7950 pUserData: user data will be passed back with the
7951 callback
7952
7953 @see WDI_AddBAReq
7954 @return Result of the function call
7955*/
7956
7957WDI_Status
7958WDI_UpdateBeaconParamsReq
7959(
7960 WDI_UpdateBeaconParamsType * pwdiUpdateBeaconParams,
7961 WDI_UpdateBeaconParamsRspCb wdiUpdateBeaconParamsRspCb,
7962 void* pUserData
7963);
7964
7965
7966/**
7967 @brief WDI_SendBeaconParamsReq will be called when the upper MAC wants to
7968 update the beacon template to be transmitted as BT MAP STA/IBSS/Soft AP
7969 Upon the call of this API the WLAN DAL will
7970 pack and send the beacon Template message to the lower
7971 RIVA sub-system if DAL is in state STARTED.
7972
7973 In state BUSY this request will be queued. Request won't
7974 be allowed in any other state.
7975
7976 WDI_SendBeaconParamsReq must have been called.
7977
7978 @param WDI_SendBeaconParamsType: the Update Beacon parameters as specified by
7979 the Device Interface
7980
7981 WDI_SendBeaconParamsRspCb: callback for passing back the response of
7982 the Send Beacon Params operation received from the device
7983
7984 pUserData: user data will be passed back with the
7985 callback
7986
7987 @see WDI_AddBAReq
7988 @return Result of the function call
7989*/
7990
7991WDI_Status
7992WDI_SendBeaconParamsReq
7993(
7994 WDI_SendBeaconParamsType* pwdiSendBeaconParams,
7995 WDI_SendBeaconParamsRspCb wdiSendBeaconParamsRspCb,
7996 void* pUserData
7997);
7998
7999
8000/**
8001 @brief WDI_UpdateProbeRspTemplateReq will be called when the
8002 upper MAC wants to update the probe response template to
8003 be transmitted as Soft AP
8004 Upon the call of this API the WLAN DAL will
8005 pack and send the probe rsp template message to the
8006 lower RIVA sub-system if DAL is in state STARTED.
8007
8008 In state BUSY this request will be queued. Request won't
8009 be allowed in any other state.
8010
8011
8012 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
8013 specified by the Device Interface
8014
8015 wdiSendBeaconParamsRspCb: callback for passing back the
8016 response of the Send Beacon Params operation received
8017 from the device
8018
8019 pUserData: user data will be passed back with the
8020 callback
8021
8022 @see WDI_AddBAReq
8023 @return Result of the function call
8024*/
8025
8026WDI_Status
8027WDI_UpdateProbeRspTemplateReq
8028(
8029 WDI_UpdateProbeRspTemplateParamsType* pwdiUpdateProbeRspParams,
8030 WDI_UpdateProbeRspTemplateRspCb wdiSendBeaconParamsRspCb,
8031 void* pUserData
8032);
8033
Jeff Johnson295189b2012-06-20 16:38:30 -07008034/**
8035 @brief WDI_SetP2PGONOAReq will be called when the
8036 upper MAC wants to send Notice of Absence
8037 Upon the call of this API the WLAN DAL will
8038 pack and send the probe rsp template message to the
8039 lower RIVA sub-system if DAL is in state STARTED.
8040
8041 In state BUSY this request will be queued. Request won't
8042 be allowed in any other state.
8043
8044
8045 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
8046 specified by the Device Interface
8047
8048 wdiSendBeaconParamsRspCb: callback for passing back the
8049 response of the Send Beacon Params operation received
8050 from the device
8051
8052 pUserData: user data will be passed back with the
8053 callback
8054
8055 @see WDI_AddBAReq
8056 @return Result of the function call
8057*/
8058WDI_Status
8059WDI_SetP2PGONOAReq
8060(
8061 WDI_SetP2PGONOAReqParamsType* pwdiP2PGONOAReqParams,
8062 WDI_SetP2PGONOAReqParamsRspCb wdiP2PGONOAReqParamsRspCb,
8063 void* pUserData
8064);
Jeff Johnson295189b2012-06-20 16:38:30 -07008065
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05308066/**
8067 @brief WDI_SetTDLSLinkEstablishReq will be called when the
8068 upper MAC wants to send TDLS Link Establish Request Parameters
8069 Upon the call of this API the WLAN DAL will
8070 pack and send the TDLS Link Establish Request message to the
8071 lower RIVA sub-system if DAL is in state STARTED.
8072
8073 In state BUSY this request will be queued. Request won't
8074 be allowed in any other state.
8075
8076
8077 @param pwdiTDLSLinkEstablishReqParams: TDLS Peer Parameters
8078 for Link Establishment (Used for PUAPSD , TDLS Off Channel ...)
8079
8080 wdiTDLSLinkEstablishReqRspCb: callback for passing back the
8081 response of the TDLS Link Establish request received
8082 from the device
8083
8084 pUserData: user data will be passed back with the
8085 callback
8086
8087 @see
8088 @return Result of the function call
8089*/
8090WDI_Status
8091WDI_SetTDLSLinkEstablishReq
8092(
8093 WDI_SetTDLSLinkEstablishReqParamsType* pwdiTDLSLinkEstablishReqParams,
8094 WDI_SetTDLSLinkEstablishReqParamsRspCb wdiTDLSLinkEstablishReqRspCb,
8095 void* pUserData
8096);
Jeff Johnson295189b2012-06-20 16:38:30 -07008097
8098/*========================================================================
8099
8100 Power Save APIs
8101
8102==========================================================================*/
8103
8104/**
8105 @brief WDI_SetPwrSaveCfgReq will be called when the upper MAC
8106 wants to set the power save related configurations of
8107 the WLAN Device. Upon the call of this API the WLAN DAL
8108 will pack and send a HAL Update CFG request message to
8109 the lower RIVA sub-system if DAL is in state STARTED.
8110
8111 In state BUSY this request will be queued. Request won't
8112 be allowed in any other state.
8113
8114 WDI_Start must have been called.
8115
8116 @param pwdiPowerSaveCfg: the power save cfg parameters as
8117 specified by the Device Interface
8118
8119 wdiSetPwrSaveCfgCb: callback for passing back the
8120 response of the set power save cfg operation received
8121 from the device
8122
8123 pUserData: user data will be passed back with the
8124 callback
8125
8126 @see WDI_Start
8127 @return Result of the function call
8128*/
8129WDI_Status
8130WDI_SetPwrSaveCfgReq
8131(
8132 WDI_UpdateCfgReqParamsType* pwdiPowerSaveCfg,
8133 WDI_SetPwrSaveCfgCb wdiSetPwrSaveCfgCb,
8134 void* pUserData
8135);
8136
8137/**
8138 @brief WDI_EnterImpsReq will be called when the upper MAC to
8139 request the device to get into IMPS power state. Upon
8140 the call of this API the WLAN DAL will send a HAL Enter
8141 IMPS request message to the lower RIVA sub-system if DAL
8142 is in state STARTED.
8143
8144 In state BUSY this request will be queued. Request won't
8145 be allowed in any other state.
8146
8147
8148 @param wdiEnterImpsRspCb: callback for passing back the
8149 response of the Enter IMPS operation received from the
8150 device
8151
8152 pUserData: user data will be passed back with the
8153 callback
8154
8155 @see WDI_Start
8156 @return Result of the function call
8157*/
8158WDI_Status
8159WDI_EnterImpsReq
8160(
8161 WDI_EnterImpsRspCb wdiEnterImpsRspCb,
8162 void* pUserData
8163);
8164
8165/**
8166 @brief WDI_ExitImpsReq will be called when the upper MAC to
8167 request the device to get out of IMPS power state. Upon
8168 the call of this API the WLAN DAL will send a HAL Exit
8169 IMPS request message to the lower RIVA sub-system if DAL
8170 is in state STARTED.
8171
8172 In state BUSY this request will be queued. Request won't
8173 be allowed in any other state.
8174
8175
8176
8177 @param wdiExitImpsRspCb: callback for passing back the response
8178 of the Exit IMPS operation received from the device
8179
8180 pUserData: user data will be passed back with the
8181 callback
8182
8183 @see WDI_Start
8184 @return Result of the function call
8185*/
8186WDI_Status
8187WDI_ExitImpsReq
8188(
8189 WDI_ExitImpsRspCb wdiExitImpsRspCb,
8190 void* pUserData
8191);
8192
8193/**
8194 @brief WDI_EnterBmpsReq will be called when the upper MAC to
8195 request the device to get into BMPS power state. Upon
8196 the call of this API the WLAN DAL will pack and send a
8197 HAL Enter BMPS request message to the lower RIVA
8198 sub-system if DAL is in state STARTED.
8199
8200 In state BUSY this request will be queued. Request won't
8201 be allowed in any other state.
8202
8203 WDI_PostAssocReq must have been called.
8204
8205 @param pwdiEnterBmpsReqParams: the Enter BMPS parameters as
8206 specified by the Device Interface
8207
8208 wdiEnterBmpsRspCb: callback for passing back the
8209 response of the Enter BMPS operation received from the
8210 device
8211
8212 pUserData: user data will be passed back with the
8213 callback
8214
8215 @see WDI_PostAssocReq
8216 @return Result of the function call
8217*/
8218WDI_Status
8219WDI_EnterBmpsReq
8220(
8221 WDI_EnterBmpsReqParamsType *pwdiEnterBmpsReqParams,
8222 WDI_EnterBmpsRspCb wdiEnterBmpsRspCb,
8223 void* pUserData
8224);
8225
8226/**
8227 @brief WDI_ExitBmpsReq will be called when the upper MAC to
8228 request the device to get out of BMPS power state. Upon
8229 the call of this API the WLAN DAL will pack and send a
8230 HAL Exit BMPS request message to the lower RIVA
8231 sub-system if DAL is in state STARTED.
8232
8233 In state BUSY this request will be queued. Request won't
8234 be allowed in any other state.
8235
8236 WDI_PostAssocReq must have been called.
8237
8238 @param pwdiExitBmpsReqParams: the Exit BMPS parameters as
8239 specified by the Device Interface
8240
8241 wdiExitBmpsRspCb: callback for passing back the response
8242 of the Exit BMPS operation received from the device
8243
8244 pUserData: user data will be passed back with the
8245 callback
8246
8247 @see WDI_PostAssocReq
8248 @return Result of the function call
8249*/
8250WDI_Status
8251WDI_ExitBmpsReq
8252(
8253 WDI_ExitBmpsReqParamsType *pwdiExitBmpsReqParams,
8254 WDI_ExitBmpsRspCb wdiExitBmpsRspCb,
8255 void* pUserData
8256);
8257
8258/**
8259 @brief WDI_EnterUapsdReq will be called when the upper MAC to
8260 request the device to get into UAPSD power state. Upon
8261 the call of this API the WLAN DAL will pack and send a
8262 HAL Enter UAPSD request message to the lower RIVA
8263 sub-system if DAL is in state STARTED.
8264
8265 In state BUSY this request will be queued. Request won't
8266 be allowed in any other state.
8267
8268 WDI_PostAssocReq must have been called.
8269 WDI_SetUapsdAcParamsReq must have been called.
8270
8271 @param pwdiEnterUapsdReqParams: the Enter UAPSD parameters as
8272 specified by the Device Interface
8273
8274 wdiEnterUapsdRspCb: callback for passing back the
8275 response of the Enter UAPSD operation received from the
8276 device
8277
8278 pUserData: user data will be passed back with the
8279 callback
8280
8281 @see WDI_PostAssocReq, WDI_SetUapsdAcParamsReq
8282 @return Result of the function call
8283*/
8284WDI_Status
8285WDI_EnterUapsdReq
8286(
8287 WDI_EnterUapsdReqParamsType *pwdiEnterUapsdReqParams,
8288 WDI_EnterUapsdRspCb wdiEnterUapsdRspCb,
8289 void* pUserData
8290);
8291
8292/**
8293 @brief WDI_ExitUapsdReq will be called when the upper MAC to
8294 request the device to get out of UAPSD power state. Upon
8295 the call of this API the WLAN DAL will send a HAL Exit
8296 UAPSD request message to the lower RIVA sub-system if
8297 DAL is in state STARTED.
8298
8299 In state BUSY this request will be queued. Request won't
8300 be allowed in any other state.
8301
8302 WDI_PostAssocReq must have been called.
8303
8304 @param wdiExitUapsdRspCb: callback for passing back the
8305 response of the Exit UAPSD operation received from the
8306 device
8307
8308 pUserData: user data will be passed back with the
8309 callback
8310
8311 @see WDI_PostAssocReq
8312 @return Result of the function call
8313*/
8314WDI_Status
8315WDI_ExitUapsdReq
8316(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07008317 WDI_ExitUapsdReqParamsType *pwdiExitUapsdReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07008318 WDI_ExitUapsdRspCb wdiExitUapsdRspCb,
8319 void* pUserData
8320);
8321
8322/**
8323 @brief WDI_UpdateUapsdParamsReq will be called when the upper
8324 MAC wants to set the UAPSD related configurations
8325 of an associated STA (while acting as an AP) to the WLAN
8326 Device. Upon the call of this API the WLAN DAL will pack
8327 and send a HAL Update UAPSD params request message to
8328 the lower RIVA sub-system if DAL is in state STARTED.
8329
8330 In state BUSY this request will be queued. Request won't
8331 be allowed in any other state.
8332
8333 WDI_ConfigBSSReq must have been called.
8334
8335 @param pwdiUpdateUapsdReqParams: the UAPSD parameters
8336 as specified by the Device Interface
8337
8338 wdiUpdateUapsdParamsCb: callback for passing back the
8339 response of the update UAPSD params operation received
8340 from the device
8341
8342 pUserData: user data will be passed back with the
8343 callback
8344
8345 @see WDI_ConfigBSSReq
8346 @return Result of the function call
8347*/
8348WDI_Status
8349WDI_UpdateUapsdParamsReq
8350(
8351 WDI_UpdateUapsdReqParamsType *pwdiUpdateUapsdReqParams,
8352 WDI_UpdateUapsdParamsCb wdiUpdateUapsdParamsCb,
8353 void* pUserData
8354);
8355
8356/**
8357 @brief WDI_SetUapsdAcParamsReq will be called when the upper
8358 MAC wants to set the UAPSD related configurations before
8359 requesting for enter UAPSD power state to the WLAN
8360 Device. Upon the call of this API the WLAN DAL will pack
8361 and send a HAL Set UAPSD params request message to
8362 the lower RIVA sub-system if DAL is in state STARTED.
8363
8364 In state BUSY this request will be queued. Request won't
8365 be allowed in any other state.
8366
8367 WDI_PostAssocReq must have been called.
8368
8369 @param pwdiUapsdInfo: the UAPSD parameters as specified by
8370 the Device Interface
8371
8372 wdiSetUapsdAcParamsCb: callback for passing back the
8373 response of the set UAPSD params operation received from
8374 the device
8375
8376 pUserData: user data will be passed back with the
8377 callback
8378
8379 @see WDI_PostAssocReq
8380 @return Result of the function call
8381*/
8382WDI_Status
8383WDI_SetUapsdAcParamsReq
8384(
8385 WDI_SetUapsdAcParamsReqParamsType* pwdiPowerSaveCfg,
8386 WDI_SetUapsdAcParamsCb wdiSetUapsdAcParamsCb,
8387 void* pUserData
8388);
8389
8390/**
8391 @brief WDI_ConfigureRxpFilterReq will be called when the upper
8392 MAC wants to set/reset the RXP filters for received pkts
8393 (MC, BC etc.). Upon the call of this API the WLAN DAL will pack
8394 and send a HAL configure RXP filter request message to
8395 the lower RIVA sub-system.
8396
8397 In state BUSY this request will be queued. Request won't
8398 be allowed in any other state.
8399
8400
8401 @param pwdiConfigureRxpFilterReqParams: the RXP
8402 filter as specified by the Device
8403 Interface
8404
8405 wdiConfigureRxpFilterCb: callback for passing back the
8406 response of the configure RXP filter operation received
8407 from the device
8408
8409 pUserData: user data will be passed back with the
8410 callback
8411
8412 @return Result of the function call
8413*/
8414WDI_Status
8415WDI_ConfigureRxpFilterReq
8416(
8417 WDI_ConfigureRxpFilterReqParamsType *pwdiConfigureRxpFilterReqParams,
8418 WDI_ConfigureRxpFilterCb wdiConfigureRxpFilterCb,
8419 void* pUserData
8420);
8421
8422/**
8423 @brief WDI_SetBeaconFilterReq will be called when the upper MAC
8424 wants to set the beacon filters while in power save.
8425 Upon the call of this API the WLAN DAL will pack and
8426 send a Beacon filter request message to the
8427 lower RIVA sub-system.
8428
8429 In state BUSY this request will be queued. Request won't
8430 be allowed in any other state.
8431
8432
8433 @param pwdiBeaconFilterReqParams: the beacon
8434 filter as specified by the Device
8435 Interface
8436
8437 wdiBeaconFilterCb: callback for passing back the
8438 response of the set beacon filter operation received
8439 from the device
8440
8441 pUserData: user data will be passed back with the
8442 callback
8443
8444 @return Result of the function call
8445*/
8446WDI_Status
8447WDI_SetBeaconFilterReq
8448(
8449 WDI_BeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
8450 WDI_SetBeaconFilterCb wdiBeaconFilterCb,
8451 void* pUserData
8452);
8453
8454/**
8455 @brief WDI_RemBeaconFilterReq will be called when the upper MAC
8456 wants to remove the beacon filter for perticular IE
8457 while in power save. Upon the call of this API the WLAN
8458 DAL will pack and send a remove Beacon filter request
8459 message to the lower RIVA sub-system.
8460
8461 In state BUSY this request will be queued. Request won't
8462 be allowed in any other state.
8463
8464
8465 @param pwdiBeaconFilterReqParams: the beacon
8466 filter as specified by the Device
8467 Interface
8468
8469 wdiBeaconFilterCb: callback for passing back the
8470 response of the remove beacon filter operation received
8471 from the device
8472
8473 pUserData: user data will be passed back with the
8474 callback
8475
8476 @return Result of the function call
8477*/
8478WDI_Status
8479WDI_RemBeaconFilterReq
8480(
8481 WDI_RemBeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
8482 WDI_RemBeaconFilterCb wdiBeaconFilterCb,
8483 void* pUserData
8484);
8485
8486/**
8487 @brief WDI_SetRSSIThresholdsReq will be called when the upper
8488 MAC wants to set the RSSI thresholds related
8489 configurations while in power save. Upon the call of
8490 this API the WLAN DAL will pack and send a HAL Set RSSI
8491 thresholds request message to the lower RIVA
8492 sub-system if DAL is in state STARTED.
8493
8494 In state BUSY this request will be queued. Request won't
8495 be allowed in any other state.
8496
8497 WDI_PostAssocReq must have been called.
8498
8499 @param pwdiUapsdInfo: the UAPSD parameters as specified by
8500 the Device Interface
8501
8502 wdiSetUapsdAcParamsCb: callback for passing back the
8503 response of the set UAPSD params operation received from
8504 the device
8505
8506 pUserData: user data will be passed back with the
8507 callback
8508
8509 @see WDI_PostAssocReq
8510 @return Result of the function call
8511*/
8512WDI_Status
8513WDI_SetRSSIThresholdsReq
8514(
8515 WDI_SetRSSIThresholdsReqParamsType* pwdiRSSIThresholdsParams,
8516 WDI_SetRSSIThresholdsCb wdiSetRSSIThresholdsCb,
8517 void* pUserData
8518);
8519
8520/**
8521 @brief WDI_HostOffloadReq will be called when the upper MAC
8522 wants to set the filter to minimize unnecessary host
8523 wakeup due to broadcast traffic while in power save.
8524 Upon the call of this API the WLAN DAL will pack and
8525 send a HAL host offload request message to the
8526 lower RIVA sub-system if DAL is in state STARTED.
8527
8528 In state BUSY this request will be queued. Request won't
8529 be allowed in any other state.
8530
8531 WDI_PostAssocReq must have been called.
8532
8533 @param pwdiHostOffloadParams: the host offload as specified
8534 by the Device Interface
8535
8536 wdiHostOffloadCb: callback for passing back the response
8537 of the host offload operation received from the
8538 device
8539
8540 pUserData: user data will be passed back with the
8541 callback
8542
8543 @see WDI_PostAssocReq
8544 @return Result of the function call
8545*/
8546WDI_Status
8547WDI_HostOffloadReq
8548(
8549 WDI_HostOffloadReqParamsType* pwdiHostOffloadParams,
8550 WDI_HostOffloadCb wdiHostOffloadCb,
8551 void* pUserData
8552);
8553
8554/**
8555 @brief WDI_KeepAliveReq will be called when the upper MAC
8556 wants to set the filter to send NULL or unsolicited ARP responses
8557 and minimize unnecessary host wakeups due to while in power save.
8558 Upon the call of this API the WLAN DAL will pack and
8559 send a HAL Keep Alive request message to the
8560 lower RIVA sub-system if DAL is in state STARTED.
8561
8562 In state BUSY this request will be queued. Request won't
8563 be allowed in any other state.
8564
8565 WDI_PostAssocReq must have been called.
8566
8567 @param pwdiKeepAliveParams: the Keep Alive as specified
8568 by the Device Interface
8569
8570 wdiKeepAliveCb: callback for passing back the response
8571 of the Keep Alive operation received from the
8572 device
8573
8574 pUserData: user data will be passed back with the
8575 callback
8576
8577 @see WDI_PostAssocReq
8578 @return Result of the function call
8579*/
8580WDI_Status
8581WDI_KeepAliveReq
8582(
8583 WDI_KeepAliveReqParamsType* pwdiKeepAliveParams,
8584 WDI_KeepAliveCb wdiKeepAliveCb,
8585 void* pUserData
8586);
8587
8588/**
8589 @brief WDI_WowlAddBcPtrnReq will be called when the upper MAC
8590 wants to set the Wowl Bcast ptrn to minimize unnecessary
8591 host wakeup due to broadcast traffic while in power
8592 save. Upon the call of this API the WLAN DAL will pack
8593 and send a HAL Wowl Bcast ptrn request message to the
8594 lower RIVA sub-system if DAL is in state STARTED.
8595
8596 In state BUSY this request will be queued. Request won't
8597 be allowed in any other state.
8598
8599 WDI_PostAssocReq must have been called.
8600
8601 @param pwdiWowlAddBcPtrnParams: the Wowl bcast ptrn as
8602 specified by the Device Interface
8603
8604 wdiWowlAddBcPtrnCb: callback for passing back the
8605 response of the add Wowl bcast ptrn operation received
8606 from the device
8607
8608 pUserData: user data will be passed back with the
8609 callback
8610
8611 @see WDI_PostAssocReq
8612 @return Result of the function call
8613*/
8614WDI_Status
8615WDI_WowlAddBcPtrnReq
8616(
8617 WDI_WowlAddBcPtrnReqParamsType* pwdiWowlAddBcPtrnParams,
8618 WDI_WowlAddBcPtrnCb wdiWowlAddBcPtrnCb,
8619 void* pUserData
8620);
8621
8622/**
8623 @brief WDI_WowlDelBcPtrnReq will be called when the upper MAC
8624 wants to clear the Wowl Bcast ptrn. Upon the call of
8625 this API the WLAN DAL will pack and send a HAL delete
8626 Wowl Bcast ptrn request message to the lower RIVA
8627 sub-system if DAL is in state STARTED.
8628
8629 In state BUSY this request will be queued. Request won't
8630 be allowed in any other state.
8631
8632 WDI_WowlAddBcPtrnReq must have been called.
8633
8634 @param pwdiWowlDelBcPtrnParams: the Wowl bcast ptrn as
8635 specified by the Device Interface
8636
8637 wdiWowlDelBcPtrnCb: callback for passing back the
8638 response of the del Wowl bcast ptrn operation received
8639 from the device
8640
8641 pUserData: user data will be passed back with the
8642 callback
8643
8644 @see WDI_WowlAddBcPtrnReq
8645 @return Result of the function call
8646*/
8647WDI_Status
8648WDI_WowlDelBcPtrnReq
8649(
8650 WDI_WowlDelBcPtrnReqParamsType* pwdiWowlDelBcPtrnParams,
8651 WDI_WowlDelBcPtrnCb wdiWowlDelBcPtrnCb,
8652 void* pUserData
8653);
8654
8655/**
8656 @brief WDI_WowlEnterReq will be called when the upper MAC
8657 wants to enter the Wowl state to minimize unnecessary
8658 host wakeup while in power save. Upon the call of this
8659 API the WLAN DAL will pack and send a HAL Wowl enter
8660 request message to the lower RIVA sub-system if DAL is
8661 in state STARTED.
8662
8663 In state BUSY this request will be queued. Request won't
8664 be allowed in any other state.
8665
8666 WDI_PostAssocReq must have been called.
8667
8668 @param pwdiWowlEnterReqParams: the Wowl enter info as
8669 specified by the Device Interface
8670
8671 wdiWowlEnterReqCb: callback for passing back the
8672 response of the enter Wowl operation received from the
8673 device
8674
8675 pUserData: user data will be passed back with the
8676 callback
8677
8678 @see WDI_PostAssocReq
8679 @return Result of the function call
8680*/
8681WDI_Status
8682WDI_WowlEnterReq
8683(
8684 WDI_WowlEnterReqParamsType* pwdiWowlEnterParams,
8685 WDI_WowlEnterReqCb wdiWowlEnterCb,
8686 void* pUserData
8687);
8688
8689/**
8690 @brief WDI_WowlExitReq will be called when the upper MAC
8691 wants to exit the Wowl state. Upon the call of this API
8692 the WLAN DAL will pack and send a HAL Wowl exit request
8693 message to the lower RIVA sub-system if DAL is in state
8694 STARTED.
8695
8696 In state BUSY this request will be queued. Request won't
8697 be allowed in any other state.
8698
8699 WDI_WowlEnterReq must have been called.
8700
8701 @param pwdiWowlExitReqParams: the Wowl exit info as
8702 specified by the Device Interface
8703
8704 wdiWowlExitReqCb: callback for passing back the response
8705 of the exit Wowl operation received from the device
8706
8707 pUserData: user data will be passed back with the
8708 callback
8709
8710 @see WDI_WowlEnterReq
8711 @return Result of the function call
8712*/
8713WDI_Status
8714WDI_WowlExitReq
8715(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07008716 WDI_WowlExitReqParamsType* pwdiWowlExitParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07008717 WDI_WowlExitReqCb wdiWowlExitCb,
8718 void* pUserData
8719);
8720
8721/**
8722 @brief WDI_ConfigureAppsCpuWakeupStateReq will be called when
8723 the upper MAC wants to dynamically adjusts the listen
8724 interval based on the WLAN/MSM activity. Upon the call
8725 of this API the WLAN DAL will pack and send a HAL
8726 configure Apps Cpu Wakeup State request message to the
8727 lower RIVA sub-system.
8728
8729 In state BUSY this request will be queued. Request won't
8730 be allowed in any other state.
8731
8732
8733 @param pwdiConfigureAppsCpuWakeupStateReqParams: the
8734 Apps Cpu Wakeup State as specified by the
8735 Device Interface
8736
8737 wdiConfigureAppsCpuWakeupStateCb: callback for passing
8738 back the response of the configure Apps Cpu Wakeup State
8739 operation received from the device
8740
8741 pUserData: user data will be passed back with the
8742 callback
8743
8744 @return Result of the function call
8745*/
8746WDI_Status
8747WDI_ConfigureAppsCpuWakeupStateReq
8748(
8749 WDI_ConfigureAppsCpuWakeupStateReqParamsType *pwdiConfigureAppsCpuWakeupStateReqParams,
8750 WDI_ConfigureAppsCpuWakeupStateCb wdiConfigureAppsCpuWakeupStateCb,
8751 void* pUserData
8752);
8753/**
8754 @brief WDI_FlushAcReq will be called when the upper MAC wants
8755 to to perform a flush operation on a given AC. Upon the
8756 call of this API the WLAN DAL will pack and send a HAL
8757 Flush AC request message to the lower RIVA sub-system if
8758 DAL is in state STARTED.
8759
8760 In state BUSY this request will be queued. Request won't
8761 be allowed in any other state.
8762
8763
8764 @param pwdiFlushAcReqParams: the Flush AC parameters as
8765 specified by the Device Interface
8766
8767 wdiFlushAcRspCb: callback for passing back the response
8768 of the Flush AC operation received from the device
8769
8770 pUserData: user data will be passed back with the
8771 callback
8772
8773 @return Result of the function call
8774*/
8775WDI_Status
8776WDI_FlushAcReq
8777(
8778 WDI_FlushAcReqParamsType* pwdiFlushAcReqParams,
8779 WDI_FlushAcRspCb wdiFlushAcRspCb,
8780 void* pUserData
8781);
8782
8783/**
8784 @brief WDI_BtAmpEventReq will be called when the upper MAC
8785 wants to notify the lower mac on a BT AMP event. This is
8786 to inform BTC-SLM that some BT AMP event occurred. Upon
8787 the call of this API the WLAN DAL will pack and send a
8788 HAL BT AMP event request message to the lower RIVA
8789 sub-system if DAL is in state STARTED.
8790
8791 In state BUSY this request will be queued. Request won't
8792 be allowed in any other state.
8793
8794
8795 @param wdiBtAmpEventReqParams: the BT AMP event parameters as
8796 specified by the Device Interface
8797
8798 wdiBtAmpEventRspCb: callback for passing back the
8799 response of the BT AMP event operation received from the
8800 device
8801
8802 pUserData: user data will be passed back with the
8803 callback
8804
8805 @return Result of the function call
8806*/
8807WDI_Status
8808WDI_BtAmpEventReq
8809(
8810 WDI_BtAmpEventParamsType* pwdiBtAmpEventReqParams,
8811 WDI_BtAmpEventRspCb wdiBtAmpEventRspCb,
8812 void* pUserData
8813);
8814
Jeff Johnsone7245742012-09-05 17:12:55 -07008815#ifdef FEATURE_OEM_DATA_SUPPORT
8816/**
8817 @brief WDI_Start oem data Req will be called when the upper MAC
8818 wants to notify the lower mac on a oem data Req event.Upon
8819 the call of this API the WLAN DAL will pack and send a
8820 HAL OEM Data Req event request message to the lower RIVA
8821 sub-system if DAL is in state STARTED.
8822
8823 In state BUSY this request will be queued. Request won't
8824 be allowed in any other state.
8825
8826
8827 @param pWdiOemDataReqParams: the oem data req parameters as
8828 specified by the Device Interface
8829
8830 wdiStartOemDataRspCb: callback for passing back the
8831 response of the Oem Data Req received from the
8832 device
8833
8834 pUserData: user data will be passed back with the
8835 callback
8836
8837 @return Result of the function call
8838*/
8839WDI_Status
8840WDI_StartOemDataReq
8841(
8842 WDI_oemDataReqParamsType* pWdiOemDataReqParams,
8843 WDI_oemDataRspCb wdiOemDataRspCb,
8844 void* pUserData
8845);
8846#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07008847
8848/*========================================================================
8849
8850 CONTROL APIs
8851
8852==========================================================================*/
8853/**
8854 @brief WDI_SwitchChReq will be called when the upper MAC wants
8855 the WLAN HW to change the current channel of operation.
8856 Upon the call of this API the WLAN DAL will pack and
8857 send a HAL Start request message to the lower RIVA
8858 sub-system if DAL is in state STARTED.
8859
8860 In state BUSY this request will be queued. Request won't
8861 be allowed in any other state.
8862
8863 WDI_Start must have been called.
8864
8865 @param wdiSwitchChReqParams: the switch ch parameters as
8866 specified by the Device Interface
8867
8868 wdiSwitchChRspCb: callback for passing back the response
8869 of the switch ch operation received from the device
8870
8871 pUserData: user data will be passed back with the
8872 callback
8873
8874 @see WDI_Start
8875 @return Result of the function call
8876*/
8877WDI_Status
8878WDI_SwitchChReq
8879(
8880 WDI_SwitchChReqParamsType* pwdiSwitchChReqParams,
8881 WDI_SwitchChRspCb wdiSwitchChRspCb,
8882 void* pUserData
8883);
8884
8885
8886
8887/**
8888 @brief WDI_ConfigSTAReq will be called when the upper MAC
8889 wishes to add or update a STA in HW. Upon the call of
8890 this API the WLAN DAL will pack and send a HAL Start
8891 message request message to the lower RIVA sub-system if
8892 DAL is in state STARTED.
8893
8894 In state BUSY this request will be queued. Request won't
8895 be allowed in any other state.
8896
8897 WDI_Start must have been called.
8898
8899 @param wdiConfigSTAReqParams: the config STA parameters as
8900 specified by the Device Interface
8901
8902 wdiConfigSTARspCb: callback for passing back the
8903 response of the config STA operation received from the
8904 device
8905
8906 pUserData: user data will be passed back with the
8907 callback
8908
8909 @see WDI_Start
8910 @return Result of the function call
8911*/
8912WDI_Status
8913WDI_ConfigSTAReq
8914(
8915 WDI_ConfigSTAReqParamsType* pwdiConfigSTAReqParams,
8916 WDI_ConfigSTARspCb wdiConfigSTARspCb,
8917 void* pUserData
8918);
8919
8920/**
8921 @brief WDI_SetLinkStateReq will be called when the upper MAC
8922 wants to change the state of an ongoing link. Upon the
8923 call of this API the WLAN DAL will pack and send a HAL
8924 Start message request message to the lower RIVA
8925 sub-system if DAL is in state STARTED.
8926
8927 In state BUSY this request will be queued. Request won't
8928 be allowed in any other state.
8929
8930 WDI_JoinReq must have been called.
8931
8932 @param wdiSetLinkStateReqParams: the set link state parameters
8933 as specified by the Device Interface
8934
8935 wdiSetLinkStateRspCb: callback for passing back the
8936 response of the set link state operation received from
8937 the device
8938
8939 pUserData: user data will be passed back with the
8940 callback
8941
8942 @see WDI_JoinStartReq
8943 @return Result of the function call
8944*/
8945WDI_Status
8946WDI_SetLinkStateReq
8947(
8948 WDI_SetLinkReqParamsType* pwdiSetLinkStateReqParams,
8949 WDI_SetLinkStateRspCb wdiSetLinkStateRspCb,
8950 void* pUserData
8951);
8952
8953
8954/**
8955 @brief WDI_GetStatsReq will be called when the upper MAC wants
8956 to get statistics (MIB counters) from the device. Upon
8957 the call of this API the WLAN DAL will pack and send a
8958 HAL Start request message to the lower RIVA sub-system
8959 if DAL is in state STARTED.
8960
8961 In state BUSY this request will be queued. Request won't
8962 be allowed in any other state.
8963
8964 WDI_Start must have been called.
8965
8966 @param wdiGetStatsReqParams: the stats parameters to get as
8967 specified by the Device Interface
8968
8969 wdiGetStatsRspCb: callback for passing back the response
8970 of the get stats operation received from the device
8971
8972 pUserData: user data will be passed back with the
8973 callback
8974
8975 @see WDI_Start
8976 @return Result of the function call
8977*/
8978WDI_Status
8979WDI_GetStatsReq
8980(
8981 WDI_GetStatsReqParamsType* pwdiGetStatsReqParams,
8982 WDI_GetStatsRspCb wdiGetStatsRspCb,
8983 void* pUserData
8984);
8985
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08008986#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_CCX || defined(FEATURE_WLAN_LFR)
8987/**
8988 @brief WDI_GetRoamRssiReq will be called when the upper MAC wants
8989 to get roam rssi from the device. Upon
8990 the call of this API the WLAN DAL will pack and send a
8991 HAL Start request message to the lower RIVA sub-system
8992 if DAL is in state STARTED.
8993
8994 In state BUSY this request will be queued. Request won't
8995 be allowed in any other state.
8996
8997 WDI_Start must have been called.
8998
8999 @param wdiGetRoamRssiReqParams: the stats parameters to get as
9000 specified by the Device Interface
9001
9002 wdiGetRoamRssispCb: callback for passing back the response
9003 of the get stats operation received from the device
9004
9005 pUserData: user data will be passed back with the
9006 callback
9007
9008 @see WDI_Start
9009 @return Result of the function call
9010*/
9011WDI_Status
9012WDI_GetRoamRssiReq
9013(
9014 WDI_GetRoamRssiReqParamsType* pwdiGetRoamRssiReqParams,
9015 WDI_GetRoamRssiRspCb wdiGetRoamRssiRspCb,
9016 void* pUserData
9017);
9018#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07009019
9020/**
9021 @brief WDI_UpdateCfgReq will be called when the upper MAC when
9022 it wishes to change the configuration of the WLAN
9023 Device. Upon the call of this API the WLAN DAL will pack
9024 and send a HAL Update CFG request message to the lower
9025 RIVA sub-system if DAL is in state STARTED.
9026
9027 In state BUSY this request will be queued. Request won't
9028 be allowed in any other state.
9029
9030 WDI_Start must have been called.
9031
9032 @param wdiUpdateCfgReqParams: the update cfg parameters as
9033 specified by the Device Interface
9034
9035 wdiUpdateCfgsRspCb: callback for passing back the
9036 response of the update cfg operation received from the
9037 device
9038
9039 pUserData: user data will be passed back with the
9040 callback
9041
9042 @see WDI_Start
9043 @return Result of the function call
9044*/
9045WDI_Status
9046WDI_UpdateCfgReq
9047(
9048 WDI_UpdateCfgReqParamsType* pwdiUpdateCfgReqParams,
9049 WDI_UpdateCfgRspCb wdiUpdateCfgsRspCb,
9050 void* pUserData
9051);
9052
9053/**
9054 @brief WDI_NvDownloadReq will be called by the UMAC to dowload the NV blob
9055 to the NV memory.
9056
9057 @param wdiNvDownloadReqParams: the NV Download parameters as specified by
9058 the Device Interface
9059
9060 wdiNvDownloadRspCb: callback for passing back the response of
9061 the NV Download operation received from the device
9062
9063 pUserData: user data will be passed back with the
9064 callback
9065
9066 @see WDI_PostAssocReq
9067 @return Result of the function call
9068*/
9069WDI_Status
9070WDI_NvDownloadReq
9071(
9072 WDI_NvDownloadReqParamsType* pwdiNvDownloadReqParams,
9073 WDI_NvDownloadRspCb wdiNvDownloadRspCb,
9074 void* pUserData
9075);
9076/**
9077 @brief WDI_AddBAReq will be called when the upper MAC has setup
9078 successfully a BA session and needs to notify the HW for
9079 the appropriate settings to take place. Upon the call of
9080 this API the WLAN DAL will pack and send a HAL Add BA
9081 request message to the lower RIVA sub-system if DAL is
9082 in state STARTED.
9083
9084 In state BUSY this request will be queued. Request won't
9085 be allowed in any other state.
9086
9087 WDI_PostAssocReq must have been called.
9088
9089 @param wdiAddBAReqParams: the add BA parameters as specified by
9090 the Device Interface
9091
9092 wdiAddBARspCb: callback for passing back the response of
9093 the add BA operation received from the device
9094
9095 pUserData: user data will be passed back with the
9096 callback
9097
9098 @see WDI_PostAssocReq
9099 @return Result of the function call
9100*/
9101WDI_Status
9102WDI_AddBAReq
9103(
9104 WDI_AddBAReqParamsType* pwdiAddBAReqParams,
9105 WDI_AddBARspCb wdiAddBARspCb,
9106 void* pUserData
9107);
9108
9109/**
9110 @brief WDI_TriggerBAReq will be called when the upper MAC has setup
9111 successfully a BA session and needs to notify the HW for
9112 the appropriate settings to take place. Upon the call of
9113 this API the WLAN DAL will pack and send a HAL Add BA
9114 request message to the lower RIVA sub-system if DAL is
9115 in state STARTED.
9116
9117 In state BUSY this request will be queued. Request won't
9118 be allowed in any other state.
9119
9120 WDI_PostAssocReq must have been called.
9121
9122 @param wdiAddBAReqParams: the add BA parameters as specified by
9123 the Device Interface
9124
9125 wdiAddBARspCb: callback for passing back the response of
9126 the add BA operation received from the device
9127
9128 pUserData: user data will be passed back with the
9129 callback
9130
9131 @see WDI_PostAssocReq
9132 @return Result of the function call
9133*/
9134WDI_Status
9135WDI_TriggerBAReq
9136(
9137 WDI_TriggerBAReqParamsType* pwdiTriggerBAReqParams,
9138 WDI_TriggerBARspCb wdiTriggerBARspCb,
9139 void* pUserData
9140);
9141
9142
9143/**
9144 @brief WDI_IsHwFrameTxTranslationCapable checks to see if HW
9145 frame xtl is enabled for a particular STA.
9146
9147 WDI_PostAssocReq must have been called.
9148
9149 @param uSTAIdx: STA index
9150
9151 @see WDI_PostAssocReq
9152 @return Result of the function call
9153*/
9154wpt_boolean WDI_IsHwFrameTxTranslationCapable
9155(
9156 wpt_uint8 uSTAIdx
9157);
9158
9159#ifdef WLAN_FEATURE_VOWIFI_11R
9160/**
9161 @brief WDI_AggrAddTSReq will be called when the upper MAC to inform
9162 the device of a successful add TSpec negotiation for 11r. HW
9163 needs to receive the TSpec Info from the UMAC in order
9164 to configure properly the QoS data traffic. Upon the
9165 call of this API the WLAN DAL will pack and send a HAL
9166 Aggregated Add TS request message to the lower RIVA sub-system if
9167 DAL is in state STARTED.
9168
9169 In state BUSY this request will be queued. Request won't
9170 be allowed in any other state.
9171
9172 WDI_PostAssocReq must have been called.
9173
9174 @param wdiAggrAddTsReqParams: the add TS parameters as specified by
9175 the Device Interface
9176
9177 wdiAggrAddTsRspCb: callback for passing back the response of
9178 the add TS operation received from the device
9179
9180 pUserData: user data will be passed back with the
9181 callback
9182
9183 @see WDI_PostAssocReq
9184 @return Result of the function call
9185*/
9186WDI_Status
9187WDI_AggrAddTSReq
9188(
9189 WDI_AggrAddTSReqParamsType* pwdiAddTsReqParams,
9190 WDI_AggrAddTsRspCb wdiAggrAddTsRspCb,
9191 void* pUserData
9192);
9193#endif /* WLAN_FEATURE_VOWIFI_11R */
9194/**
9195 @brief WDI_STATableInit - Initializes the STA tables.
9196 Allocates the necesary memory.
9197
9198
9199 @param pWDICtx: pointer to the WLAN DAL context
9200
9201 @see
9202 @return Result of the function call
9203*/
9204
9205WDI_Status WDI_StubRunTest
9206(
9207 wpt_uint8 ucTestNo
9208);
9209
Jeff Johnson295189b2012-06-20 16:38:30 -07009210/**
9211 @brief WDI_FTMCommandReq -
9212 Route FTMRequest Command to HAL
9213
9214 @param ftmCommandReq: FTM request command body
9215 @param ftmCommandRspCb: Response CB
9216 @param pUserData: User data will be included with CB
9217
9218 @return Result of the function call
9219*/
9220WDI_Status WDI_FTMCommandReq
9221(
9222 WDI_FTMCommandReqType *ftmCommandReq,
9223 WDI_FTMCommandRspCb ftmCommandRspCb,
9224 void *pUserData
9225);
Jeff Johnson295189b2012-06-20 16:38:30 -07009226
9227/**
9228 @brief WDI_HostResumeReq will be called
9229
9230 In state BUSY this request will be queued. Request won't
9231 be allowed in any other state.
9232
9233
9234 @param pwdiResumeReqParams: as specified by
9235 the Device Interface
9236
9237 wdiResumeReqRspCb: callback for passing back the response of
9238 the Resume Req received from the device
9239
9240 pUserData: user data will be passed back with the
9241 callback
9242
9243 @see WDI_PostAssocReq
9244 @return Result of the function call
9245*/
9246WDI_Status
9247WDI_HostResumeReq
9248(
9249 WDI_ResumeParamsType* pwdiResumeReqParams,
9250 WDI_HostResumeEventRspCb wdiResumeReqRspCb,
9251 void* pUserData
9252);
9253
9254/**
9255 @brief WDI_GetAvailableResCount - Function to get the available resource
9256 for data and managemnt frames.
9257
9258 @param pContext: pointer to the WDI context
9259 @param wdiResPool: type of resource pool requesting
9260 @see
9261 @return Result of the function call
9262*/
9263
9264wpt_uint32 WDI_GetAvailableResCount
9265(
9266 void *pContext,
9267 WDI_ResPoolType wdiResPool
9268);
9269
9270/**
9271 @brief WDI_SetAddSTASelfReq will be called when the
9272 UMAC wanted to add self STA while opening any new session
9273 In state BUSY this request will be queued. Request won't
9274 be allowed in any other state.
9275
9276
9277 @param pwdiAddSTASelfParams: the add self sta parameters as
9278 specified by the Device Interface
9279
9280 pUserData: user data will be passed back with the
9281 callback
9282
9283 @see
9284 @return Result of the function call
9285*/
9286WDI_Status
9287WDI_AddSTASelfReq
9288(
9289 WDI_AddSTASelfReqParamsType* pwdiAddSTASelfReqParams,
9290 WDI_AddSTASelfParamsRspCb wdiAddSTASelfReqParamsRspCb,
9291 void* pUserData
9292);
9293
9294
9295/**
9296 @brief WDI_DelSTASelfReq will be called .
9297
9298 @param WDI_DelSTASelfReqParamsType
9299
9300 WDI_DelSTASelfRspCb: callback for passing back the
9301 response of the del sta self operation received from the
9302 device
9303
9304 pUserData: user data will be passed back with the
9305 callback
9306
9307 @see WDI_PostAssocReq
9308 @return Result of the function call
9309*/
9310WDI_Status
9311WDI_DelSTASelfReq
9312(
9313 WDI_DelSTASelfReqParamsType* pwdiDelStaSelfParams,
9314 WDI_DelSTASelfRspCb wdiDelStaSelfRspCb,
9315 void* pUserData
9316);
9317
9318/**
9319 @brief WDI_HostSuspendInd
9320
9321 Suspend Indication from the upper layer will be sent
9322 down to HAL
9323
9324 @param WDI_SuspendParamsType
9325
9326 @see
9327
9328 @return Status of the request
9329*/
9330WDI_Status
9331WDI_HostSuspendInd
9332(
9333 WDI_SuspendParamsType* pwdiSuspendIndParams
9334);
9335
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08009336/**
9337 @brief WDI_TrafficStatsInd
9338
9339 Traffic Stats from the upper layer will be sent
9340 down to HAL
9341
9342 @param WDI_TrafficStatsIndType
9343
9344 @see
9345
9346 @return Status of the request
9347*/
9348WDI_Status
9349WDI_TrafficStatsInd
9350(
9351 WDI_TrafficStatsIndType *pWdiTrafficStatsIndParams
9352);
9353
Chet Lanctot186b5732013-03-18 10:26:30 -07009354#ifdef WLAN_FEATURE_11W
9355/**
9356 @brief WDI_ExcludeUnencryptedInd
9357 Register with HAL to receive/drop unencrypted frames
9358
9359 @param WDI_ExcludeUnencryptIndType
9360
9361 @see
9362
9363 @return Status of the request
9364*/
9365WDI_Status
9366WDI_ExcludeUnencryptedInd
9367(
9368 WDI_ExcludeUnencryptIndType *pWdiExcUnencParams
9369);
9370#endif
9371
Yue Mab9c86f42013-08-14 15:59:08 -07009372/**
9373 @brief WDI_AddPeriodicTxPtrnInd
9374
9375 @param WDI_AddPeriodicTxPtrnParamsType
9376
9377 @see
9378
9379 @return Status of the request
9380*/
9381WDI_Status
9382WDI_AddPeriodicTxPtrnInd
9383(
9384 WDI_AddPeriodicTxPtrnParamsType *addPeriodicTxPtrnParams
9385);
9386
9387/**
9388 @brief WDI_DelPeriodicTxPtrnInd
9389
9390 @param WDI_DelPeriodicTxPtrnParamsType
9391
9392 @see
9393
9394 @return Status of the request
9395*/
9396WDI_Status
9397WDI_DelPeriodicTxPtrnInd
9398(
9399 WDI_DelPeriodicTxPtrnParamsType *delPeriodicTxPtrnParams
9400);
9401
Jeff Johnson295189b2012-06-20 16:38:30 -07009402#ifdef FEATURE_WLAN_SCAN_PNO
9403/**
9404 @brief WDI_SetPreferredNetworkList
9405
9406 @param pwdiPNOScanReqParams: the Set PNO as specified
9407 by the Device Interface
9408
9409 wdiPNOScanCb: callback for passing back the response
9410 of the Set PNO operation received from the
9411 device
9412
9413 pUserData: user data will be passed back with the
9414 callback
9415
9416 @see WDI_PostAssocReq
9417 @return Result of the function call
9418*/
9419WDI_Status
9420WDI_SetPreferredNetworkReq
9421(
9422 WDI_PNOScanReqParamsType* pwdiPNOScanReqParams,
9423 WDI_PNOScanCb wdiPNOScanCb,
9424 void* pUserData
9425);
9426
9427/**
9428 @brief WDI_SetRssiFilterReq
9429
9430 @param pwdiRssiFilterReqParams: the Set RSSI Filter as
9431 specified by the Device Interface
9432
9433 wdiRssiFilterCb: callback for passing back the response
9434 of the Set RSSI Filter operation received from the
9435 device
9436
9437 pUserData: user data will be passed back with the
9438 callback
9439
9440 @see WDI_PostAssocReq
9441 @return Result of the function call
9442*/
9443WDI_Status
9444WDI_SetRssiFilterReq
9445(
9446 WDI_SetRssiFilterReqParamsType* pwdiRssiFilterReqParams,
9447 WDI_RssiFilterCb wdiRssiFilterCb,
9448 void* pUserData
9449);
9450
9451/**
9452 @brief WDI_UpdateScanParams
9453
9454 @param pwdiUpdateScanParamsInfoType: the Update Scan Params as specified
9455 by the Device Interface
9456
9457 wdiUpdateScanParamsCb: callback for passing back the response
9458 of the Set PNO operation received from the
9459 device
9460
9461 pUserData: user data will be passed back with the
9462 callback
9463
9464 @see WDI_PostAssocReq
9465 @return Result of the function call
9466*/
9467WDI_Status
9468WDI_UpdateScanParamsReq
9469(
9470 WDI_UpdateScanParamsInfoType* pwdiUpdateScanParamsInfoType,
9471 WDI_UpdateScanParamsCb wdiUpdateScanParamsCb,
9472 void* pUserData
9473);
9474#endif // FEATURE_WLAN_SCAN_PNO
9475
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07009476#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
9477/**
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07009478 @brief WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07009479
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07009480 @param pwdiRoamScanOffloadReqParams: Start Roam Candidate Lookup Req as specified
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07009481 by the Device Interface
9482
9483 wdiRoamOffloadScanCb: callback for passing back the response
9484 of the Start Roam Candidate Lookup operation received from the
9485 device
9486
9487 pUserData: user data will be passed back with the
9488 callback
9489
9490 @return Result of the function call
9491*/
9492WDI_Status
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07009493WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07009494(
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07009495 WDI_RoamScanOffloadReqParamsType *pwdiRoamScanOffloadReqParams,
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07009496 WDI_RoamOffloadScanCb wdiRoamOffloadScancb,
9497 void* pUserData
9498);
9499#endif
9500
Jeff Johnson295189b2012-06-20 16:38:30 -07009501/**
9502 @brief WDI_SetTxPerTrackingReq will be called when the upper MAC
9503 wants to set the Tx Per Tracking configurations.
9504 Upon the call of this API the WLAN DAL will pack
9505 and send a HAL Set Tx Per Tracking request message to the
9506 lower RIVA sub-system if DAL is in state STARTED.
9507
9508 In state BUSY this request will be queued. Request won't
9509 be allowed in any other state.
9510
9511 @param wdiSetTxPerTrackingConf: the Set Tx PER Tracking configurations as
9512 specified by the Device Interface
9513
9514 wdiSetTxPerTrackingCb: callback for passing back the
9515 response of the set Tx PER Tracking configurations operation received
9516 from the device
9517
9518 pUserData: user data will be passed back with the
9519 callback
9520
9521 @return Result of the function call
9522*/
9523WDI_Status
9524WDI_SetTxPerTrackingReq
9525(
9526 WDI_SetTxPerTrackingReqParamsType* pwdiSetTxPerTrackingReqParams,
9527 WDI_SetTxPerTrackingRspCb pwdiSetTxPerTrackingRspCb,
9528 void* pUserData
9529);
9530
9531/**
9532 @brief WDI_SetTmLevelReq
9533 If HW Thermal condition changed, driver should react based on new
9534 HW thermal condition.
9535
9536 @param pwdiSetTmLevelReq: New thermal condition information
9537
9538 pwdiSetTmLevelRspCb: callback
9539
9540 usrData: user data will be passed back with the
9541 callback
9542
9543 @return Result of the function call
9544*/
9545WDI_Status
9546WDI_SetTmLevelReq
9547(
9548 WDI_SetTmLevelReqType *pwdiSetTmLevelReq,
9549 WDI_SetTmLevelCb pwdiSetTmLevelRspCb,
9550 void *usrData
9551);
9552
9553#ifdef WLAN_FEATURE_PACKET_FILTERING
9554/**
9555 @brief WDI_8023MulticastListReq
9556
9557 @param pwdiRcvFltPktSetMcListReqInfo: the Set 8023 Multicast
9558 List as specified by the Device Interface
9559
9560 wdi8023MulticastListCallback: callback for passing back
9561 the response of the Set 8023 Multicast List operation
9562 received from the device
9563
9564 pUserData: user data will be passed back with the
9565 callback
9566
9567 @see WDI_PostAssocReq
9568 @return Result of the function call
9569*/
9570WDI_Status
9571WDI_8023MulticastListReq
9572(
9573 WDI_RcvFltPktSetMcListReqParamsType* pwdiRcvFltPktSetMcListReqInfo,
9574 WDI_8023MulticastListCb wdi8023MulticastListCallback,
9575 void* pUserData
9576);
9577
9578/**
9579 @brief WDI_ReceiveFilterSetFilterReq
9580
9581 @param pwdiSetRcvPktFilterReqInfo: the Set Receive Filter as
9582 specified by the Device Interface
9583
9584 wdiReceiveFilterSetFilterReqCallback: callback for
9585 passing back the response of the Set Receive Filter
9586 operation received from the device
9587
9588 pUserData: user data will be passed back with the
9589 callback
9590
9591 @see WDI_PostAssocReq
9592 @return Result of the function call
9593*/
9594WDI_Status
9595WDI_ReceiveFilterSetFilterReq
9596(
9597 WDI_SetRcvPktFilterReqParamsType* pwdiSetRcvPktFilterReqInfo,
9598 WDI_ReceiveFilterSetFilterCb wdiReceiveFilterSetFilterReqCallback,
9599 void* pUserData
9600);
9601
9602/**
9603 @brief WDI_PCFilterMatchCountReq
9604
9605 @param pwdiRcvFltPktMatchCntReqInfo: get D0 PC Filter Match
9606 Count
9607
9608 wdiPCFilterMatchCountCallback: callback for passing back
9609 the response of the D0 PC Filter Match Count operation
9610 received from the device
9611
9612 pUserData: user data will be passed back with the
9613 callback
9614
9615 @see WDI_PostAssocReq
9616 @return Result of the function call
9617*/
9618WDI_Status
9619WDI_FilterMatchCountReq
9620(
9621 WDI_RcvFltPktMatchCntReqParamsType* pwdiRcvFltPktMatchCntReqInfo,
9622 WDI_FilterMatchCountCb wdiFilterMatchCountCallback,
9623 void* pUserData
9624);
9625
9626/**
9627 @brief WDI_ReceiveFilterClearFilterReq
9628
9629 @param pwdiRcvFltPktClearReqInfo: the Clear Filter as
9630 specified by the Device Interface
9631
9632 wdiReceiveFilterClearFilterCallback: callback for
9633 passing back the response of the Clear Filter
9634 operation received from the device
9635
9636 pUserData: user data will be passed back with the
9637 callback
9638
9639 @see WDI_PostAssocReq
9640 @return Result of the function call
9641*/
9642WDI_Status
9643WDI_ReceiveFilterClearFilterReq
9644(
9645 WDI_RcvFltPktClearReqParamsType* pwdiRcvFltPktClearReqInfo,
9646 WDI_ReceiveFilterClearFilterCb wdiReceiveFilterClearFilterCallback,
9647 void* pUserData
9648);
9649#endif // WLAN_FEATURE_PACKET_FILTERING
9650
9651/**
9652 @brief WDI_HALDumpCmdReq
9653 Post HAL DUMP Command Event
9654
9655 @param halDumpCmdReqParams: Hal Dump Command Body
9656 @param halDumpCmdRspCb: callback for passing back the
9657 response
9658 @param pUserData: Client Data
9659
9660 @see
9661 @return Result of the function call
9662*/
9663WDI_Status WDI_HALDumpCmdReq(
9664 WDI_HALDumpCmdReqParamsType *halDumpCmdReqParams,
9665 WDI_HALDumpCmdRspCb halDumpCmdRspCb,
9666 void *pUserData
9667);
9668
9669
9670/**
9671 @brief WDI_SetPowerParamsReq
9672
9673 @param pwdiPowerParamsReqParams: the Set Power Params as
9674 specified by the Device Interface
9675
9676 wdiPowerParamsCb: callback for passing back the response
9677 of the Set Power Params operation received from the
9678 device
9679
9680 pUserData: user data will be passed back with the
9681 callback
9682
9683 @return Result of the function call
9684*/
9685WDI_Status
9686WDI_SetPowerParamsReq
9687(
9688 WDI_SetPowerParamsReqParamsType* pwdiPowerParamsReqParams,
9689 WDI_SetPowerParamsCb wdiPowerParamsCb,
9690 void* pUserData
9691);
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +05309692/**
9693 @brief WDI_dhcpStartInd
9694 Forward the DHCP Start event
9695
9696 @param
9697
9698 wdiDHCPInd: device mode and MAC address is passed
9699
9700 @see
9701 @return Result of the function call
9702*/
9703
9704WDI_Status
9705WDI_dhcpStartInd
9706(
9707 WDI_DHCPInd *wdiDHCPInd
9708);
9709/**
9710 @brief WDI_dhcpStopReq
9711 Forward the DHCP Stop event
9712
9713 @param
9714
9715 wdiDHCPInd: device mode and MAC address is passed
9716
9717 @see
9718 @return Result of the function call
9719*/
9720
9721WDI_Status
9722WDI_dhcpStopInd
9723(
9724 WDI_DHCPInd *wdiDHCPInd
9725);
Jeff Johnson295189b2012-06-20 16:38:30 -07009726
9727#ifdef WLAN_FEATURE_GTK_OFFLOAD
9728/**
9729 @brief WDI_GTKOffloadReq will be called when the upper MAC
9730 wants to set GTK Rekey Counter while in power save. Upon
9731 the call of this API the WLAN DAL will pack and send a
9732 HAL GTK offload request message to the lower RIVA
9733 sub-system if DAL is in state STARTED.
9734
9735 In state BUSY this request will be queued. Request won't
9736 be allowed in any other state.
9737
9738 WDI_PostAssocReq must have been called.
9739
9740 @param pwdiGtkOffloadParams: the GTK offload as specified
9741 by the Device Interface
9742
9743 wdiGtkOffloadCb: callback for passing back the response
9744 of the GTK offload operation received from the device
9745
9746 pUserData: user data will be passed back with the
9747 callback
9748
9749 @see WDI_PostAssocReq
9750 @return Result of the function call
9751*/
9752WDI_Status
9753WDI_GTKOffloadReq
9754(
9755 WDI_GtkOffloadReqMsg* pwdiGtkOffloadReqMsg,
9756 WDI_GtkOffloadCb wdiGtkOffloadCb,
9757 void* pUserData
9758);
9759
9760/**
9761 @brief WDI_GTKOffloadGetInfoReq will be called when the upper
9762 MAC wants to get GTK Rekey Counter while in power save.
9763 Upon the call of this API the WLAN DAL will pack and
9764 send a HAL GTK offload request message to the lower RIVA
9765 sub-system if DAL is in state STARTED.
9766
9767 In state BUSY this request will be queued. Request won't
9768 be allowed in any other state.
9769
9770 WDI_PostAssocReq must have been called.
9771
9772 @param pwdiGtkOffloadGetInfoReqMsg: the GTK Offload
9773 Information Message as specified by the
9774 Device Interface
9775
9776 wdiGtkOffloadGetInfoCb: callback for passing back the
9777 response of the GTK offload operation received from the
9778 device
9779
9780 pUserData: user data will be passed back with the
9781 callback
9782
9783 @see WDI_PostAssocReq
9784 @return Result of the function call
9785*/
9786WDI_Status
9787WDI_GTKOffloadGetInfoReq
9788(
9789 WDI_GtkOffloadGetInfoReqMsg* pwdiGtkOffloadGetInfoReqMsg,
9790 WDI_GtkOffloadGetInfoCb wdiGtkOffloadGetInfoCb,
9791 void* pUserData
9792);
9793#endif // WLAN_FEATURE_GTK_OFFLOAD
9794
9795/**
9796 @brief WDI_featureCapsExchangeReq
9797 Post feature capability bitmap exchange event.
9798 Host will send its own capability to FW in this req and
9799 expect FW to send its capability back as a bitmap in Response
9800
9801 @param
9802
9803 wdiFeatCapsExcRspCb: callback called on getting the response.
9804 It is kept to mantain similarity between WDI reqs and if needed, can
9805 be used in future. Currently, It is set to NULL
9806
9807 pUserData: user data will be passed back with the
9808 callback
9809
9810 @see
9811 @return Result of the function call
9812*/
9813WDI_Status
9814WDI_featureCapsExchangeReq
9815(
9816 WDI_featureCapsExchangeCb wdiFeatureCapsExchangeCb,
9817 void* pUserData
9818);
9819
9820/**
Yathish9f22e662012-12-10 14:21:35 -08009821 @brief Disable Active mode offload in Host
9822
9823 @param void
9824 @see
9825 @return void
9826*/
9827void
9828WDI_disableCapablityFeature(wpt_uint8 feature_index);
9829
9830
9831/**
Jeff Johnson295189b2012-06-20 16:38:30 -07009832 @brief WDI_getHostWlanFeatCaps
9833 WDI API that returns whether the feature passed to it as enum value in
9834 "placeHolderInCapBitmap" is supported by Host or not. It uses WDI global
9835 variable storing host capability bitmap to find this. This can be used by
9836 other moduels to decide certain things like call different APIs based on
9837 whether a particular feature is supported.
9838
9839 @param
9840
9841 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap in wlan_hal_msg.h.
9842
9843 @see
9844 @return
9845 0 - if the feature is NOT supported in host
9846 any non-zero value - if the feature is SUPPORTED in host.
9847*/
9848wpt_uint8 WDI_getHostWlanFeatCaps(wpt_uint8 feat_enum_value);
9849
9850/**
9851 @brief WDI_getFwWlanFeatCaps
9852 WDI API that returns whether the feature passed to it as enum value in
9853 "placeHolderInCapBitmap" is supported by FW or not. It uses WDI global
9854 variable storing host capability bitmap to find this. This can be used by
9855 other moduels to decide certain things like call different APIs based on
9856 whether a particular feature is supported.
9857
9858 @param
9859
Jeff Johnsone7245742012-09-05 17:12:55 -07009860 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap
9861 in wlan_hal_msg.h.
Jeff Johnson295189b2012-06-20 16:38:30 -07009862
9863 @see
9864 @return
9865 0 - if the feature is NOT supported in FW
9866 any non-zero value - if the feature is SUPPORTED in FW.
9867*/
9868wpt_uint8 WDI_getFwWlanFeatCaps(wpt_uint8 feat_enum_value);
9869
9870/**
9871 @brief WDI_GetWcnssCompiledApiVersion - Function to get wcnss compiled
9872 api version
9873
9874 @param WDI_WlanVersionType: Wlan version structure
9875 @see
9876 @return none
9877*/
9878
9879void WDI_GetWcnssCompiledApiVersion
9880(
9881 WDI_WlanVersionType *pWcnssApiVersion
9882);
9883
Mohit Khanna4a70d262012-09-11 16:30:12 -07009884#ifdef WLAN_FEATURE_11AC
9885WDI_Status
9886WDI_UpdateVHTOpModeReq
9887(
9888 WDI_UpdateVHTOpMode *pData,
9889 WDI_UpdateVHTOpModeCb wdiUpdateVHTOpModeCb,
9890 void* pUserData
9891);
Jeff Johnson295189b2012-06-20 16:38:30 -07009892
Mohit Khanna4a70d262012-09-11 16:30:12 -07009893#endif
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -07009894
9895/**
9896 @brief WDI_TransportChannelDebug -
9897 Display DXE Channel debugging information
9898 User may request to display DXE channel snapshot
9899 Or if host driver detects any abnormal stcuk may display
9900
Jeff Johnsonb88db982012-12-10 13:34:59 -08009901 @param displaySnapshot : Display DXE snapshot option
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -07009902 @param enableStallDetect : Enable stall detect feature
9903 This feature will take effect to data performance
9904 Not integrate till fully verification
9905 @see
9906 @return none
9907*/
9908void WDI_TransportChannelDebug
9909(
9910 wpt_boolean displaySnapshot,
Madan Mohan Koyyalamudi24a00f92012-10-22 15:21:02 -07009911 wpt_boolean toggleStallDetect
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -07009912);
9913
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -07009914/**
9915 @brief WDI_SsrTimerCB
9916 Callback function for SSR timer, if this is called then the graceful
9917 shutdown for Riva did not happen.
9918
9919 @param pUserData : user data to timer
9920
9921 @see
9922 @return none
9923*/
9924void
9925WDI_SsrTimerCB
9926(
9927 void *pUserData
9928);
9929
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07009930/**
9931 @brief WDI_SetEnableSSR -
9932 This API is called to enable/disable SSR on WDI timeout.
9933
9934 @param enableSSR : enable/disable SSR
9935
9936 @see
9937 @return none
9938*/
9939void WDI_SetEnableSSR(wpt_boolean enableSSR);
9940
Leo Chang9056f462013-08-01 19:21:11 -07009941#ifdef FEATURE_WLAN_LPHB
9942/**
9943 @brief WDI_LPHBConfReq
9944 This API is called to config FW LPHB rule
9945
9946 @param lphbconfParam : LPHB rule should config to FW
9947 usrData : Client context
9948 lphbCfgCb : Configuration status callback
9949 @see
9950 @return SUCCESS or FAIL
9951*/
9952WDI_Status WDI_LPHBConfReq
9953(
9954 void *lphbconfParam,
9955 void *usrData,
9956 WDI_LphbCfgCb lphbCfgCb
9957);
9958#endif /* FEATURE_WLAN_LPHB */
Jeff Johnson295189b2012-06-20 16:38:30 -07009959#ifdef __cplusplus
9960 }
9961#endif
9962
9963
9964#endif /* #ifndef WLAN_QCT_WDI_H */