blob: 45b18a539376b8c4f2030a8708ff0a16c977fbfa [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
Rajeev79dbe4c2013-10-05 11:03:42 +0530409#ifdef FEATURE_WLAN_BATCH_SCAN
410 /*Batch scan result indication from FW*/
411 WDI_BATCH_SCAN_RESULT_IND,
412#endif
413
Jeff Johnson295189b2012-06-20 16:38:30 -0700414 WDI_MAX_IND
415}WDI_LowLevelIndEnumType;
416
417
418/*---------------------------------------------------------------------------
419 WDI_LowRSSIThIndType
420---------------------------------------------------------------------------*/
421typedef struct
422{
423 /*Positive crossing of Rssi Thresh1*/
424 wpt_uint32 bRssiThres1PosCross : 1;
425 /*Negative crossing of Rssi Thresh1*/
426 wpt_uint32 bRssiThres1NegCross : 1;
427 /*Positive crossing of Rssi Thresh2*/
428 wpt_uint32 bRssiThres2PosCross : 1;
429 /*Negative crossing of Rssi Thresh2*/
430 wpt_uint32 bRssiThres2NegCross : 1;
431 /*Positive crossing of Rssi Thresh3*/
432 wpt_uint32 bRssiThres3PosCross : 1;
433 /*Negative crossing of Rssi Thresh3*/
434 wpt_uint32 bRssiThres3NegCross : 1;
435
Srinivasdaaec712012-12-12 15:59:44 -0800436 wpt_uint32 avgRssi : 8;
437 wpt_uint32 bReserved : 18;
Jeff Johnson295189b2012-06-20 16:38:30 -0700438
439}WDI_LowRSSIThIndType;
440
441
442/*---------------------------------------------------------------------------
443 WDI_UnkAddr2FrmRxIndType
444---------------------------------------------------------------------------*/
445typedef struct
446{
447 /*Rx Bd data of the unknown received addr2 frame.*/
448 void* bufRxBd;
449
450 /*Buffer Length*/
451 wpt_uint16 usBufLen;
452}WDI_UnkAddr2FrmRxIndType;
453
454/*---------------------------------------------------------------------------
455 WDI_DeleteSTAIndType
456---------------------------------------------------------------------------*/
457typedef struct
458{
459 /*ASSOC ID, as assigned by UMAC*/
460 wpt_uint16 usAssocId;
461
462 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
463 wpt_uint8 ucSTAIdx;
464
465 /*BSSID of STA*/
466 wpt_macAddr macBSSID;
467
468 /*MAC ADDR of STA*/
469 wpt_macAddr macADDR2;
470
471 /* To unify the keepalive / unknown A2 / tim-based disa*/
472 wpt_uint16 wptReasonCode;
473
474}WDI_DeleteSTAIndType;
475
476/*---------------------------------------------------------------------------
477 WDI_MicFailureIndType
478---------------------------------------------------------------------------*/
479typedef struct
480{
481 /*current BSSID*/
482 wpt_macAddr bssId;
483
484 /*Source mac address*/
485 wpt_macAddr macSrcAddr;
486
487 /*Transmitter mac address*/
488 wpt_macAddr macTaAddr;
489
490 /*Destination mac address*/
491 wpt_macAddr macDstAddr;
492
493 /*Multicast flag*/
494 wpt_uint8 ucMulticast;
495
496 /*First byte of IV*/
497 wpt_uint8 ucIV1;
498
499 /*Key Id*/
500 wpt_uint8 keyId;
501
502 /*Sequence Number*/
503 wpt_uint8 TSC[WDI_CIPHER_SEQ_CTR_SIZE];
504
505 /*receive address */
506 wpt_macAddr macRxAddr;
507}WDI_MicFailureIndType;
508
509/*---------------------------------------------------------------------------
510 WDI_CoexIndType
511---------------------------------------------------------------------------*/
512typedef struct
513{
514 wpt_uint32 coexIndType;
515 wpt_uint32 coexIndData[WDI_COEX_IND_DATA_SIZE];
516} WDI_CoexIndType;
517
518/*---------------------------------------------------------------------------
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +0530519 WDI_DHCPInd
520---------------------------------------------------------------------------*/
521
522typedef struct
523{
524 wpt_uint8 device_mode;
525 wpt_uint8 macAddr[WDI_MAC_ADDR_LEN];
526}WDI_DHCPInd;
527
528/*---------------------------------------------------------------------------
529
Jeff Johnson295189b2012-06-20 16:38:30 -0700530 WDI_MacSSid
531---------------------------------------------------------------------------*/
532typedef struct
533{
534 wpt_uint8 ucLength;
535 wpt_uint8 sSSID[WDI_MAX_SSID_SIZE];
536} WDI_MacSSid;
537
538#ifdef FEATURE_WLAN_SCAN_PNO
539/*---------------------------------------------------------------------------
540 WDI_PrefNetworkFoundInd
541---------------------------------------------------------------------------*/
542typedef struct
543{
544 /* Network that was found with the highest RSSI*/
Srikant Kuppa066904f2013-05-07 13:56:02 -0700545 WDI_MacSSid ssId;
Jeff Johnson295189b2012-06-20 16:38:30 -0700546 /* Indicates the RSSI */
Srikant Kuppa066904f2013-05-07 13:56:02 -0700547 wpt_uint8 rssi;
548 wpt_uint16 frameLength;
549 wpt_uint8 *pData;
Jeff Johnson295189b2012-06-20 16:38:30 -0700550} WDI_PrefNetworkFoundInd;
551#endif // FEATURE_WLAN_SCAN_PNO
552
Jeff Johnson295189b2012-06-20 16:38:30 -0700553/*---------------------------------------------------------------------------
554 *WDI_P2pNoaAttrIndType
555 *-------------------------------------------------------------------------*/
Jeff Johnson295189b2012-06-20 16:38:30 -0700556typedef struct
557{
558 wpt_uint8 ucIndex ;
559 wpt_uint8 ucOppPsFlag ;
560 wpt_uint16 usCtWin ;
561
562 wpt_uint16 usNoa1IntervalCnt;
563 wpt_uint16 usRsvd1 ;
564 wpt_uint32 uslNoa1Duration;
565 wpt_uint32 uslNoa1Interval;
566 wpt_uint32 uslNoa1StartTime;
567
568 wpt_uint16 usNoa2IntervalCnt;
569 wpt_uint16 usRsvd2;
570 wpt_uint32 uslNoa2Duration;
571 wpt_uint32 uslNoa2Interval;
572 wpt_uint32 uslNoa2StartTime;
573
574 wpt_uint32 status;
575}WDI_P2pNoaAttrIndType;
Viral Modid86bde22012-12-10 13:09:21 -0800576
577/*---------------------------------------------------------------------------
578 *WDI_P2pNoaStartIndType
579 *-------------------------------------------------------------------------*/
580typedef struct
581{
582 wpt_uint32 status;
583 wpt_uint32 bssIdx;
584}WDI_P2pNoaStartIndType;
585
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530586/*---------------------------------------------------------------------------
587 *WDI_TdlsIndType
588 *-------------------------------------------------------------------------*/
589typedef struct
590{
591 wpt_uint16 status;
592 wpt_uint16 assocId;
593 wpt_uint16 staIdx;
594 wpt_uint16 reasonCode;
595}WDI_TdlsIndType;
Jeff Johnson295189b2012-06-20 16:38:30 -0700596
597#ifdef WLAN_WAKEUP_EVENTS
598/*---------------------------------------------------------------------------
599 WDI_WakeReasonIndType
600---------------------------------------------------------------------------*/
601typedef struct
602{
603 wpt_uint32 ulReason; /* see tWakeReasonType */
604 wpt_uint32 ulReasonArg; /* argument specific to the reason type */
605 wpt_uint32 ulStoredDataLen; /* length of optional data stored in this message, in case
606 HAL truncates the data (i.e. data packets) this length
607 will be less than the actual length */
608 wpt_uint32 ulActualDataLen; /* actual length of data */
609 wpt_uint8 aDataStart[1]; /* variable length start of data (length == storedDataLen)
610 see specific wake type */
611} WDI_WakeReasonIndType;
612#endif // WLAN_WAKEUP_EVENTS
613
614/*---------------------------------------------------------------------------
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800615 WDI_MissedBeaconIndType
616-----------------------------------------------------------------------------*/
617typedef struct
618{
619 wpt_uint8 bssIdx; /*bssidx on which beacon is missed*/
620} WDI_MissedBeaconIndType;
621
Leo Chang9056f462013-08-01 19:21:11 -0700622#ifdef FEATURE_WLAN_LPHB
623/*---------------------------------------------------------------------------
624 WDI_LPHBTimeoutIndData
625-----------------------------------------------------------------------------*/
626typedef struct
627{
628 wpt_uint8 bssIdx;
629 wpt_uint8 sessionIdx;
630 wpt_uint8 protocolType; /*TCP or UDP*/
631 wpt_uint8 eventReason;
632} WDI_LPHBTimeoutIndData;
633#endif /* FEATURE_WLAN_LPHB */
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800634
Yue Mab9c86f42013-08-14 15:59:08 -0700635/*-----------------------------------------------------------------------------
636WDI_PeriodicTxPtrnFwIndType
637-----------------------------------------------------------------------------*/
638typedef struct
639{
640 wpt_uint8 bssIdx;
641 wpt_uint32 selfStaIdx;
642 wpt_uint32 status;
643 wpt_uint32 patternIdBitmap;
644} WDI_PeriodicTxPtrnFwIndType;
645
Rajeev79dbe4c2013-10-05 11:03:42 +0530646#ifdef FEATURE_WLAN_BATCH_SCAN
647/*---------------------------------------------------------------------------
648 WDI_SetBatchScanReqType
649---------------------------------------------------------------------------*/
650typedef struct
651{
652 wpt_uint32 scanFrequency; /* how frequent to do scan default 30Sec*/
653 wpt_uint32 numberOfScansToBatch; /* number of scans to batch */
654 wpt_uint32 bestNetwork; /* best networks in terms of rssi */
655 wpt_uint8 rfBand; /* band to scan :
656 0 ->both Band, 1->2.4Ghz Only
657 and 2-> 5GHz Only */
658 wpt_uint32 rtt; /* set if required to do RTT it is not
659 supported in current version */
660}WDI_SetBatchScanReqType;
661
662/*---------------------------------------------------------------------------
663 WDI_SetBatchScanRspType
664---------------------------------------------------------------------------*/
665typedef struct
666{
667 /*max number of scans which FW can cache*/
668 wpt_uint32 nScansToBatch;
669}WDI_SetBatchScanRspType;
670
671/*---------------------------------------------------------------------------
672 WDI_TriggerBatchScanResultIndType
673---------------------------------------------------------------------------*/
674typedef struct
675{
676 wpt_uint32 param;
677}WDI_TriggerBatchScanResultIndType;
678
679/*---------------------------------------------------------------------------
680 WDI_StopBatchScanIndType
681---------------------------------------------------------------------------*/
682typedef struct
683{
684 /*max number of scans which FW can cache*/
685 wpt_uint32 param;
686}WDI_StopBatchScanIndType;
687
688
689/*---------------------------------------------------------------------------
690 * WDI_BatchScanResultIndType
691 *--------------------------------------------------------------------------*/
692typedef struct
693{
694 wpt_uint32 bssid[6]; /* BSSID */
695 wpt_uint32 ssid[32]; /* SSID */
696 wpt_uint32 ch; /* Channel */
697 wpt_uint32 rssi; /* RSSI or Level */
698 /* Timestamp when Network was found. Used to calculate age based on
699 timestamp in GET_RSP msg header */
700 wpt_uint32 timestamp;
701} tWDIBatchScanNetworkInfo, *tpWDIBatchScanNetworkInfo;
702
703typedef struct
704{
705 wpt_uint32 scanId; /*Scan List ID*/
706 /*No of AP in a Scan Result. Should be same as bestNetwork in SET_REQ msg*/
707 wpt_uint32 numNetworksInScanList;
708 /*Variable data ptr: Number of AP in Scan List*/
709 wpt_uint32 scanList[1];
710} tWDIBatchScanList, *tpWDIBatchScanList;
711
712typedef struct
713{
714 wpt_uint32 timestamp;
715 wpt_uint32 numScanLists;
716 wpt_boolean isLastResult;
717 /* Variable Data ptr: Number of Scan Lists*/
718 wpt_uint32 scanResults[1];
719} tWDIBatchScanResultParam, *tpWDIBatchScanResultParam;
720
721#endif
722
723
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800724/*---------------------------------------------------------------------------
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700725 WDI_IbssPeerInactivityIndType
726-----------------------------------------------------------------------------*/
727typedef struct
728{
729 wpt_uint8 bssIdx;
730 wpt_uint8 staIdx;
731 wpt_macAddr staMacAddr;
732}WDI_IbssPeerInactivityIndType;
733
734/*---------------------------------------------------------------------------
Chittajit Mitraf5413a42013-10-18 14:20:08 -0700735 WDI_TxRateFlags
736-----------------------------------------------------------------------------*/
737typedef enum
738{
739 WDI_TX_RATE_LEGACY = 0x1, /* Legacy rates */
740 WDI_TX_RATE_HT20 = 0x2, /* HT20 rates */
741 WDI_TX_RATE_HT40 = 0x4, /* HT40 rates */
742 WDI_TX_RATE_SGI = 0x8, /* Rate with Short guard interval */
743 WDI_TX_RATE_LGI = 0x10, /* Rate with Long guard interval */
744 WDI_TX_RATE_VHT20 = 0x20, /* VHT 20 rates */
745 WDI_TX_RATE_VHT40 = 0x40, /* VHT 20 rates */
746 WDI_TX_RATE_VHT80 = 0x80, /* VHT 20 rates */
747 WDI_TX_RATE_VIRT = 0x100, /* Virtual Rate */
748} WDI_TxRateFlags;
749
750/*---------------------------------------------------------------------------
751 WDI_RateUpdateIndParams
752-----------------------------------------------------------------------------*/
753typedef struct
754{
755 /* 0 implies RA, positive value implies fixed rate, -1 implies ignore this
756 * param ucastDataRate can be used to control RA behavior of unicast data to
757 */
758 wpt_int32 ucastDataRate;
759
760 /* TX flag to differentiate between HT20, HT40 etc */
761 WDI_TxRateFlags ucastDataRateTxFlag;
762
763 /* BSSID - Optional. 00-00-00-00-00-00 implies apply to all BCAST STAs */
764 wpt_macAddr bssid;
765
766 /*
767 * 0 implies MCAST RA, positive value implies fixed rate,
768 * -1 implies ignore this param
769 */
770 wpt_int32 reliableMcastDataRate; //unit Mbpsx10
771
772 /* TX flag to differentiate between HT20, HT40 etc */
773 WDI_TxRateFlags reliableMcastDataRateTxFlag;
774
775 /*
776 * MCAST(or BCAST) fixed data rate in 2.4 GHz, unit Mbpsx10,
777 * 0 implies ignore
778 */
779 wpt_uint32 mcastDataRate24GHz;
780
781 /* TX flag to differentiate between HT20, HT40 etc */
782 WDI_TxRateFlags mcastDataRate24GHzTxFlag;
783
784 /*
785 * MCAST(or BCAST) fixed data rate in 5 GHz,
786 * unit Mbpsx10, 0 implies ignore
787 */
788 wpt_uint32 mcastDataRate5GHz;
789
790 /* TX flag to differentiate between HT20, HT40 etc */
791 WDI_TxRateFlags mcastDataRate5GHzTxFlag;
792
793 /*
794 * Request status callback offered by UMAC - it is called if the current
795 * req has returned PENDING as status; it delivers the status of sending
796 * the message over the BUS
797 */
798 WDI_ReqStatusCb wdiReqStatusCB;
799
800 /*
801 * The user data passed in by UMAC, it will be sent back when the above
802 * function pointer will be called
803 */
804 void *pUserData;
805
806} WDI_RateUpdateIndParams;
807
808/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -0700809 WDI_LowLevelIndType
810 Inidcation type and information about the indication being carried
811 over
812---------------------------------------------------------------------------*/
813typedef struct
814{
815 /*Inidcation type*/
816 WDI_LowLevelIndEnumType wdiIndicationType;
817
818 /*Indication data*/
819 union
820 {
821 /*RSSI Threshold Info for WDI_LOW_RSSI_IND*/
822 WDI_LowRSSIThIndType wdiLowRSSIInfo;
823
824 /*Addr2 Frame Info for WDI_UNKNOWN_ADDR2_FRAME_RX_IND*/
825 WDI_UnkAddr2FrmRxIndType wdiUnkAddr2FrmInfo;
826
827 /*MIC Failure info for WDI_MIC_FAILURE_IND*/
828 WDI_MicFailureIndType wdiMICFailureInfo;
829
830 /*Error code for WDI_FATAL_ERROR_IND*/
831 wpt_uint16 usErrorCode;
832
833 /*Delete STA Indication*/
834 WDI_DeleteSTAIndType wdiDeleteSTAIndType;
835
836 /*Coex Indication*/
837 WDI_CoexIndType wdiCoexInfo;
838
839 /* Tx Complete Indication */
840 wpt_uint32 tx_complete_status;
841
Jeff Johnson295189b2012-06-20 16:38:30 -0700842 /* P2P NOA ATTR Indication */
843 WDI_P2pNoaAttrIndType wdiP2pNoaAttrInfo;
Viral Modid86bde22012-12-10 13:09:21 -0800844 WDI_P2pNoaStartIndType wdiP2pNoaStartInfo;
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530845 /* TDLS Indications */
846 WDI_TdlsIndType wdiTdlsIndInfo;
Jeff Johnson295189b2012-06-20 16:38:30 -0700847
848
849#ifdef FEATURE_WLAN_SCAN_PNO
850 WDI_PrefNetworkFoundInd wdiPrefNetworkFoundInd;
851#endif // FEATURE_WLAN_SCAN_PNO
852
853#ifdef WLAN_WAKEUP_EVENTS
854 WDI_WakeReasonIndType wdiWakeReasonInd;
855#endif // WLAN_WAKEUP_EVENTS
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800856 WDI_MissedBeaconIndType wdiMissedBeaconInd;
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700857
Leo Chang9056f462013-08-01 19:21:11 -0700858#ifdef FEATURE_WLAN_LPHB
859 WDI_LPHBTimeoutIndData wdiLPHBTimeoutInd;
860#endif /* FEATURE_WLAN_LPHB */
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700861
862 /* IBSS Peer Inactivity Indication */
863 WDI_IbssPeerInactivityIndType wdiIbssPeerInactivityInd;
864
Yue Mab9c86f42013-08-14 15:59:08 -0700865 /* Periodic TX Pattern FW Indication */
866 WDI_PeriodicTxPtrnFwIndType wdiPeriodicTxPtrnFwInd;
Rajeev79dbe4c2013-10-05 11:03:42 +0530867
868#ifdef FEATURE_WLAN_BATCH_SCAN
869 /*batch scan result indication from FW*/
870 void *pBatchScanResult;
871#endif
872
Jeff Johnson295189b2012-06-20 16:38:30 -0700873 } wdiIndicationData;
874}WDI_LowLevelIndType;
875
876/*---------------------------------------------------------------------------
877 WDI_LowLevelIndCBType
878
879 DESCRIPTION
880
881 This callback is invoked by DAL to deliver to UMAC certain indications
882 that has either received from the lower device or has generated itself.
883
884 PARAMETERS
885
886 IN
887 pwdiInd: information about the indication sent over
888 pUserData: user data provided by UMAC during registration
889
890
891
892 RETURN VALUE
893 The result code associated with performing the operation
894---------------------------------------------------------------------------*/
895typedef void (*WDI_LowLevelIndCBType)(WDI_LowLevelIndType* pwdiInd,
896 void* pUserData);
897
898/*---------------------------------------------------------------------------
899 WDI_DriverType
900---------------------------------------------------------------------------*/
901typedef enum
902{
903 WDI_DRIVER_TYPE_PRODUCTION = 0,
904 WDI_DRIVER_TYPE_MFG = 1,
905 WDI_DRIVER_TYPE_DVT = 2
906} WDI_DriverType;
907
908/*---------------------------------------------------------------------------
909 WDI_StartReqParamsType
910---------------------------------------------------------------------------*/
911typedef struct
912{
913 /*This is a TLV formatted buffer containing all config values that can
914 be set through the DAL Interface
915
916 The TLV is expected to be formatted like this:
917
918 0 7 15 31 ....
919 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
920
921 Or from a C construct point of VU it would look like this:
922
923 typedef struct WPT_PACK_POST
924 {
925 #ifdef WPT_BIG_ENDIAN
926 wpt_uint32 ucCfgId:8;
927 wpt_uint32 ucCfgLen:8;
928 wpt_uint32 usReserved:16;
929 #else
930 wpt_uint32 usReserved:16;
931 wpt_uint32 ucCfgLen:8;
932 wpt_uint32 ucCfgId:8;
933 #endif
934
935 wpt_uint8 ucCfgBody[ucCfgLen];
936 }WDI_ConfigType;
937
938 Multiple such tuplets are to be placed in the config buffer. One for
939 each required configuration item:
940
941 | TLV 1 | TLV2 | ....
942
943 The buffer is expected to be a flat area of memory that can be manipulated
944 with standard memory routines.
945
946 For more info please check paragraph 2.3.1 Config Structure from the
947 HAL LLD.
948
949 For a list of accepted configuration list and IDs please look up
950 wlan_qct_dal_cfg.h
951
952 */
953 void* pConfigBuffer;
954
955 /*Length of the config buffer above*/
956 wpt_uint16 usConfigBufferLen;
957
958 /*Production or FTM driver*/
959 WDI_DriverType wdiDriverType;
960
961 /*Should device enable frame translation */
962 wpt_uint8 bFrameTransEnabled;
963
964 /*Request status callback offered by UMAC - it is called if the current
965 req has returned PENDING as status; it delivers the status of sending
966 the message over the BUS */
967 WDI_ReqStatusCb wdiReqStatusCB;
968
969 /*The user data passed in by UMAC, it will be sent back when the above
970 function pointer will be called */
971 void* pUserData;
972
973 /*Indication callback given by UMAC to be called by the WLAN DAL when it
974 wishes to send something back independent of a request*/
975 WDI_LowLevelIndCBType wdiLowLevelIndCB;
976
977 /*The user data passed in by UMAC, it will be sent back when the indication
978 function pointer will be called */
979 void* pIndUserData;
980}WDI_StartReqParamsType;
981
982
983/*---------------------------------------------------------------------------
984 WDI_StartRspParamsType
985---------------------------------------------------------------------------*/
986typedef struct
987{
988 /*Status of the response*/
989 WDI_Status wdiStatus;
990
991 /*Max number of STA supported by the device*/
992 wpt_uint8 ucMaxStations;
993
994 /*Max number of BSS supported by the device*/
995 wpt_uint8 ucMaxBssids;
996
997 /*Version of the WLAN HAL API with which we were compiled*/
998 WDI_WlanVersionType wlanCompiledVersion;
999
1000 /*Version of the WLAN HAL API that was reported*/
1001 WDI_WlanVersionType wlanReportedVersion;
1002
1003 /*WCNSS Software version string*/
1004 wpt_uint8 wcnssSoftwareVersion[WDI_VERSION_LENGTH];
1005
1006 /*WCNSS Hardware version string*/
1007 wpt_uint8 wcnssHardwareVersion[WDI_VERSION_LENGTH];
1008}WDI_StartRspParamsType;
1009
1010
1011/*---------------------------------------------------------------------------
1012 WDI_StopType
1013---------------------------------------------------------------------------*/
1014typedef enum
1015{
1016 /*Device is being stopped due to a reset*/
1017 WDI_STOP_TYPE_SYS_RESET,
1018
1019 /*Device is being stopped due to entering deep sleep*/
1020 WDI_STOP_TYPE_SYS_DEEP_SLEEP,
1021
1022 /*Device is being stopped because the RF needs to shut off
1023 (e.g.:Airplane mode)*/
1024 WDI_STOP_TYPE_RF_KILL
1025}WDI_StopType;
1026
1027/*---------------------------------------------------------------------------
1028 WDI_StopReqParamsType
1029---------------------------------------------------------------------------*/
1030typedef struct
1031{
1032
1033 /*The reason for which the device is being stopped*/
1034 WDI_StopType wdiStopReason;
1035
1036 /*Request status callback offered by UMAC - it is called if the current
1037 req has returned PENDING as status; it delivers the status of sending
1038 the message over the BUS */
1039 WDI_ReqStatusCb wdiReqStatusCB;
1040
1041 /*The user data passed in by UMAC, it will be sent back when the above
1042 function pointer will be called */
1043 void* pUserData;
1044}WDI_StopReqParamsType;
1045
1046
1047/*---------------------------------------------------------------------------
1048 WDI_ScanMode
1049---------------------------------------------------------------------------*/
1050typedef enum
1051{
1052 WDI_SCAN_MODE_NORMAL = 0,
1053 WDI_SCAN_MODE_LEARN,
1054 WDI_SCAN_MODE_SCAN,
1055 WDI_SCAN_MODE_PROMISC,
Madan Mohan Koyyalamudi9b876782012-10-11 16:22:51 -07001056 WDI_SCAN_MODE_SUSPEND_LINK,
1057 WDI_SCAN_MODE_ROAM_SCAN,
1058 WDI_SCAN_MODE_ROAM_SUSPEND_LINK,
1059
Jeff Johnson295189b2012-06-20 16:38:30 -07001060} WDI_ScanMode;
1061
1062/*---------------------------------------------------------------------------
1063 WDI_ScanEntry
1064---------------------------------------------------------------------------*/
1065typedef struct
1066{
1067 wpt_uint8 bssIdx[WDI_NUM_BSSID];
1068 wpt_uint8 activeBSScnt;
1069}WDI_ScanEntry;
1070
1071/*---------------------------------------------------------------------------
1072 WDI_InitScanReqInfoType
1073---------------------------------------------------------------------------*/
1074typedef struct
1075{
1076 /*LEARN - AP Role
1077 SCAN - STA Role*/
1078 WDI_ScanMode wdiScanMode;
1079
1080 /*BSSID of the BSS*/
1081 wpt_macAddr macBSSID;
1082
1083 /*Whether BSS needs to be notified*/
1084 wpt_boolean bNotifyBSS;
1085
1086 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
1087 CTS to Self). Must always be a valid frame type.*/
1088 wpt_uint8 ucFrameType;
1089
1090 /*UMAC has the option of passing the MAC frame to be used for notifying
1091 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
1092 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
1093 frameType.*/
1094 wpt_uint8 ucFrameLength;
1095
1096 /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/
1097 WDI_MacMgmtHdr wdiMACMgmtHdr;
1098
1099 /*Entry to hold number of active BSS to send NULL frames before
1100 * initiating SCAN*/
1101 WDI_ScanEntry wdiScanEntry;
1102
1103 /* Flag to enable/disable Single NOA*/
1104 wpt_boolean bUseNOA;
1105
1106 /* Indicates the scan duration (in ms) */
1107 wpt_uint16 scanDuration;
1108
1109}WDI_InitScanReqInfoType;
1110
1111/*---------------------------------------------------------------------------
1112 WDI_InitScanReqParamsType
1113---------------------------------------------------------------------------*/
1114typedef struct
1115{
1116 /*The info associated with the request that needs to be sent over to the
1117 device*/
1118 WDI_InitScanReqInfoType wdiReqInfo;
1119
1120 /*Request status callback offered by UMAC - it is called if the current
1121 req has returned PENDING as status; it delivers the status of sending
1122 the message over the BUS */
1123 WDI_ReqStatusCb wdiReqStatusCB;
1124
1125 /*The user data passed in by UMAC, it will be sent back when the above
1126 function pointer will be called */
1127 void* pUserData;
1128}WDI_InitScanReqParamsType;
1129
1130/*---------------------------------------------------------------------------
1131 WDI_StartScanReqParamsType
1132---------------------------------------------------------------------------*/
1133typedef struct
1134{
1135 /*Indicates the channel to scan*/
1136 wpt_uint8 ucChannel;
1137
1138 /*Request status callback offered by UMAC - it is called if the current
1139 req has returned PENDING as status; it delivers the status of sending
1140 the message over the BUS */
1141 WDI_ReqStatusCb wdiReqStatusCB;
1142
1143 /*The user data passed in by UMAC, it will be sent back when the above
1144 function pointer will be called */
1145 void* pUserData;
1146}WDI_StartScanReqParamsType;
1147
1148/*---------------------------------------------------------------------------
1149 WDI_StartScanRspParamsType
1150---------------------------------------------------------------------------*/
1151typedef struct
1152{
1153 /*Indicates the status of the operation */
1154 WDI_Status wdiStatus;
1155
1156#if defined WLAN_FEATURE_VOWIFI
1157 wpt_uint32 aStartTSF[2];
1158 wpt_int8 ucTxMgmtPower;
1159#endif
1160}WDI_StartScanRspParamsType;
1161
1162/*---------------------------------------------------------------------------
1163 WDI_EndScanReqParamsType
1164---------------------------------------------------------------------------*/
1165typedef struct
1166{
1167 /*Indicates the channel to stop scanning. Not used really. But retained
1168 for symmetry with "start Scan" message. It can also help in error
1169 check if needed.*/
1170 wpt_uint8 ucChannel;
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_EndScanReqParamsType;
1181
1182/*---------------------------------------------------------------------------
1183 WDI_PhyChanBondState
1184---------------------------------------------------------------------------*/
1185typedef enum
1186{
1187 WDI_PHY_SINGLE_CHANNEL_CENTERED = 0,
1188 WDI_PHY_DOUBLE_CHANNEL_LOW_PRIMARY = 1,
1189 WDI_PHY_DOUBLE_CHANNEL_CENTERED = 2,
Jeff Johnsone7245742012-09-05 17:12:55 -07001190 WDI_PHY_DOUBLE_CHANNEL_HIGH_PRIMARY = 3,
1191#ifdef WLAN_FEATURE_11AC
1192 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_CENTERED = 4, //20/40MHZ offset LOW 40/80MHZ offset CENTERED
1193 WDI_QUADRUPLE_CHANNEL_20MHZ_CENTERED_40MHZ_CENTERED = 5, //20/40MHZ offset CENTERED 40/80MHZ offset CENTERED
1194 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_CENTERED = 6, //20/40MHZ offset HIGH 40/80MHZ offset CENTERED
1195 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_LOW = 7,//20/40MHZ offset LOW 40/80MHZ offset LOW
1196 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_LOW = 8, //20/40MHZ offset HIGH 40/80MHZ offset LOW
1197 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_HIGH = 9, //20/40MHZ offset LOW 40/80MHZ offset HIGH
1198 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_HIGH = 10,//20/40MHZ offset-HIGH 40/80MHZ offset HIGH
1199#endif
1200 WDI_MAX_CB_STATE
Jeff Johnson295189b2012-06-20 16:38:30 -07001201} WDI_PhyChanBondState;
1202
1203/*---------------------------------------------------------------------------
1204 WDI_FinishScanReqInfoType
1205---------------------------------------------------------------------------*/
1206typedef struct
1207{
1208 /*LEARN - AP Role
1209 SCAN - STA Role*/
1210 WDI_ScanMode wdiScanMode;
1211
1212 /*Operating channel to tune to.*/
1213 wpt_uint8 ucCurrentOperatingChannel;
1214
1215 /*Channel Bonding state If 20/40 MHz is operational, this will indicate the
1216 40 MHz extension channel in combination with the control channel*/
1217 WDI_PhyChanBondState wdiCBState;
1218
1219 /*BSSID of the BSS*/
1220 wpt_macAddr macBSSID;
1221
1222 /*Whether BSS needs to be notified*/
1223 wpt_boolean bNotifyBSS;
1224
1225 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
1226 CTS to Self). Must always be a valid frame type.*/
1227 wpt_uint8 ucFrameType;
1228
1229 /*UMAC has the option of passing the MAC frame to be used for notifying
1230 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
1231 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
1232 frameType.*/
1233 wpt_uint8 ucFrameLength;
1234
1235 /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/
1236 WDI_MacMgmtHdr wdiMACMgmtHdr;
1237
1238 /*Entry to hold number of active BSS to send NULL frames after SCAN*/
1239 WDI_ScanEntry wdiScanEntry;
1240
1241}WDI_FinishScanReqInfoType;
1242
1243/*---------------------------------------------------------------------------
1244 WDI_SwitchChReqInfoType
1245---------------------------------------------------------------------------*/
1246typedef struct
1247{
1248 /*Indicates the channel to switch to.*/
1249 wpt_uint8 ucChannel;
1250
1251 /*Local power constraint*/
1252 wpt_uint8 ucLocalPowerConstraint;
1253
1254 /*Secondary channel offset */
1255 WDI_HTSecondaryChannelOffset wdiSecondaryChannelOffset;
1256
1257#ifdef WLAN_FEATURE_VOWIFI
1258 wpt_int8 cMaxTxPower;
1259
1260 /*Self STA Mac address*/
1261 wpt_macAddr macSelfStaMacAddr;
1262#endif
1263 /* VO Wifi comment: BSSID is needed to identify which session issued this request. As the
1264 request has power constraints, this should be applied only to that session */
1265 /* V IMP: Keep bssId field at the end of this msg. It is used to mantain backward compatbility
1266 * by way of ignoring if using new host/old FW or old host/new FW since it is at the end of this struct
1267 */
1268 wpt_macAddr macBSSId;
1269
1270}WDI_SwitchChReqInfoType;
1271
1272/*---------------------------------------------------------------------------
1273 WDI_SwitchChReqParamsType
1274---------------------------------------------------------------------------*/
1275typedef struct
1276{
1277 /*Channel Info*/
1278 WDI_SwitchChReqInfoType wdiChInfo;
1279
1280 /*Request status callback offered by UMAC - it is called if the current
1281 req has returned PENDING as status; it delivers the status of sending
1282 the message over the BUS */
1283 WDI_ReqStatusCb wdiReqStatusCB;
1284
1285 /*The user data passed in by UMAC, it will be sent back when the above
1286 function pointer will be called */
1287 void* pUserData;
1288}WDI_SwitchChReqParamsType;
1289
1290/*---------------------------------------------------------------------------
1291 WDI_FinishScanReqParamsType
1292---------------------------------------------------------------------------*/
1293typedef struct
1294{
1295 /*Info for the Finish Scan request that will be sent down to the device*/
1296 WDI_FinishScanReqInfoType wdiReqInfo;
1297
1298 /*Request status callback offered by UMAC - it is called if the current
1299 req has returned PENDING as status; it delivers the status of sending
1300 the message over the BUS */
1301 WDI_ReqStatusCb wdiReqStatusCB;
1302
1303 /*The user data passed in by UMAC, it will be sent back when the above
1304 function pointer will be called */
1305 void* pUserData;
1306}WDI_FinishScanReqParamsType;
1307
1308/*---------------------------------------------------------------------------
1309 WDI_JoinReqInfoType
1310---------------------------------------------------------------------------*/
1311typedef struct
1312{
1313 /*Indicates the BSSID to which STA is going to associate*/
1314 wpt_macAddr macBSSID;
1315
1316 /*Indicates the MAC Address of the current Self STA*/
1317 wpt_macAddr macSTASelf;
1318
1319 /*Indicates the link State determining the entity Type e.g. BTAMP-STA, STA etc.*/
1320 wpt_uint32 linkState;
1321
1322 /*Indicates the channel to switch to.*/
1323 WDI_SwitchChReqInfoType wdiChannelInfo;
1324
1325}WDI_JoinReqInfoType;
1326
1327/*---------------------------------------------------------------------------
1328 WDI_JoinReqParamsType
1329---------------------------------------------------------------------------*/
1330typedef struct
1331{
1332 /*Info for the Join request that will be sent down to the device*/
1333 WDI_JoinReqInfoType wdiReqInfo;
1334
1335 /*Request status callback offered by UMAC - it is called if the current
1336 req has returned PENDING as status; it delivers the status of sending
1337 the message over the BUS */
1338 WDI_ReqStatusCb wdiReqStatusCB;
1339
1340 /*The user data passed in by UMAC, it will be sent back when the above
1341 function pointer will be called */
1342 void* pUserData;
1343}WDI_JoinReqParamsType;
1344
1345/*---------------------------------------------------------------------------
1346 WDI_BssType
1347---------------------------------------------------------------------------*/
1348typedef enum
1349{
1350 WDI_INFRASTRUCTURE_MODE,
1351 WDI_INFRA_AP_MODE, //Added for softAP support
1352 WDI_IBSS_MODE,
1353 WDI_BTAMP_STA_MODE,
1354 WDI_BTAMP_AP_MODE,
1355 WDI_BSS_AUTO_MODE,
1356}WDI_BssType;
1357
1358/*---------------------------------------------------------------------------
1359 WDI_NwType
1360---------------------------------------------------------------------------*/
1361typedef enum
1362{
1363 WDI_11A_NW_TYPE,
1364 WDI_11B_NW_TYPE,
1365 WDI_11G_NW_TYPE,
1366 WDI_11N_NW_TYPE,
1367} WDI_NwType;
1368
1369/*---------------------------------------------------------------------------
1370 WDI_ConfigAction
1371---------------------------------------------------------------------------*/
1372typedef enum
1373{
1374 WDI_ADD_BSS,
1375 WDI_UPDATE_BSS
1376} WDI_ConfigAction;
1377
1378/*---------------------------------------------------------------------------
1379 WDI_HTOperatingMode
1380---------------------------------------------------------------------------*/
1381typedef enum
1382{
1383 WDI_HT_OP_MODE_PURE,
1384 WDI_HT_OP_MODE_OVERLAP_LEGACY,
1385 WDI_HT_OP_MODE_NO_LEGACY_20MHZ_HT,
1386 WDI_HT_OP_MODE_MIXED
1387
1388} WDI_HTOperatingMode;
1389
1390
1391/*---------------------------------------------------------------------------
1392 WDI_STAEntryType
1393---------------------------------------------------------------------------*/
1394typedef enum
1395{
1396 WDI_STA_ENTRY_SELF,
1397 WDI_STA_ENTRY_PEER,
1398 WDI_STA_ENTRY_BSSID,
Mohit Khanna698ba2a2012-12-04 15:08:18 -08001399 WDI_STA_ENTRY_BCAST,
1400#ifdef FEATURE_WLAN_TDLS
1401 WDI_STA_ENTRY_TDLS_PEER,
1402#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001403}WDI_STAEntryType;
1404
1405/*---------------------------------------------------------------------------
1406 WDI_ConfigActionType
1407---------------------------------------------------------------------------*/
1408typedef enum
1409{
1410 WDI_ADD_STA,
1411 WDI_UPDATE_STA
1412} WDI_ConfigActionType;
1413
1414/*----------------------------------------------------------------------------
1415 Each station added has a rate mode which specifies the sta attributes
1416 ----------------------------------------------------------------------------*/
1417typedef enum
1418{
1419 WDI_RESERVED_1 = 0,
1420 WDI_RESERVED_2,
1421 WDI_RESERVED_3,
1422 WDI_11b,
1423 WDI_11bg,
1424 WDI_11a,
1425 WDI_11n,
1426} WDI_RateModeType;
1427
1428/*---------------------------------------------------------------------------
1429 WDI_SupportedRatesType
1430---------------------------------------------------------------------------*/
1431typedef struct
1432{
1433 /*
1434 * For Self STA Entry: this represents Self Mode.
1435 * For Peer Stations, this represents the mode of the peer.
1436 * On Station:
1437 * --this mode is updated when PE adds the Self Entry.
1438 * -- OR when PE sends 'ADD_BSS' message and station context in BSS is used to indicate the mode of the AP.
1439 * ON AP:
1440 * -- this mode is updated when PE sends 'ADD_BSS' and Sta entry for that BSS is used
1441 * to indicate the self mode of the AP.
1442 * -- OR when a station is associated, PE sends 'ADD_STA' message with this mode updated.
1443 */
1444
1445 WDI_RateModeType opRateMode;
1446
1447 /* 11b, 11a and aniLegacyRates are IE rates which gives rate in unit of 500Kbps */
1448 wpt_uint16 llbRates[WDI_NUM_11B_RATES];
1449 wpt_uint16 llaRates[WDI_NUM_11A_RATES];
1450 wpt_uint16 aLegacyRates[WDI_NUM_POLARIS_RATES];
1451
1452 /*Taurus only supports 26 Titan Rates(no ESF/concat Rates will be supported)
1453 First 26 bits are reserved for those Titan rates and
1454 the last 4 bits(bit28-31) for Taurus, 2(bit26-27) bits are reserved.*/
1455 wpt_uint32 uEnhancedRateBitmap; //Titan and Taurus Rates
1456
1457 /*
1458 * 0-76 bits used, remaining reserved
1459 * bits 0-15 and 32 should be set.
1460 */
1461 wpt_uint8 aSupportedMCSSet[WDI_MAC_MAX_SUPPORTED_MCS_SET];
1462
1463 /*
1464 * RX Highest Supported Data Rate defines the highest data
1465 * rate that the STA is able to receive, in unites of 1Mbps.
1466 * This value is derived from "Supported MCS Set field" inside
1467 * the HT capability element.
1468 */
1469 wpt_uint16 aRxHighestDataRate;
1470
Jeff Johnsone7245742012-09-05 17:12:55 -07001471
1472#ifdef WLAN_FEATURE_11AC
1473 /*Indicates the Maximum MCS that can be received for each number
1474 of spacial streams */
1475 wpt_uint16 vhtRxMCSMap;
1476 /*Indicate the highest VHT data rate that the STA is able to receive*/
1477 wpt_uint16 vhtRxHighestDataRate;
1478 /*Indicates the Maximum MCS that can be transmitted for each number
1479 of spacial streams */
1480 wpt_uint16 vhtTxMCSMap;
1481 /*Indicate the highest VHT data rate that the STA is able to transmit*/
1482 wpt_uint16 vhtTxHighestDataRate;
1483#endif
1484
Jeff Johnson295189b2012-06-20 16:38:30 -07001485} WDI_SupportedRates;
1486
1487/*--------------------------------------------------------------------------
1488 WDI_HTMIMOPowerSaveState
1489 Spatial Multiplexing(SM) Power Save mode
1490 --------------------------------------------------------------------------*/
1491typedef enum
1492{
1493 WDI_HT_MIMO_PS_STATIC = 0, // Static SM Power Save mode
1494 WDI_HT_MIMO_PS_DYNAMIC = 1, // Dynamic SM Power Save mode
1495 WDI_HT_MIMO_PS_NA = 2, // reserved
1496 WDI_HT_MIMO_PS_NO_LIMIT = 3, // SM Power Save disabled
1497} WDI_HTMIMOPowerSaveState;
1498
1499/*---------------------------------------------------------------------------
1500 WDI_ConfigStaReqInfoType
1501---------------------------------------------------------------------------*/
1502typedef struct
1503{
1504 /*BSSID of STA*/
1505 wpt_macAddr macBSSID;
1506
1507 /*ASSOC ID, as assigned by UMAC*/
1508 wpt_uint16 usAssocId;
1509
1510 /*Used for configuration of different HW modules.*/
1511 WDI_STAEntryType wdiSTAType;
1512
Gopichand Nakkalae7cbc5d2013-03-27 21:09:23 -07001513 /*STA Index */
1514 wpt_uint8 staIdx;
1515
Jeff Johnson295189b2012-06-20 16:38:30 -07001516 /*Short Preamble Supported.*/
1517 wpt_uint8 ucShortPreambleSupported;
1518
1519 /*MAC Address of STA*/
1520 wpt_macAddr macSTA;
1521
1522 /*Listen interval of the STA*/
1523 wpt_uint16 usListenInterval;
1524
1525 /*Support for 11e/WMM*/
1526 wpt_uint8 ucWMMEnabled;
1527
1528 /*11n HT capable STA*/
1529 wpt_uint8 ucHTCapable;
1530
1531 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
1532 wpt_uint8 ucTXChannelWidthSet;
1533
1534 /*RIFS mode 0 - NA, 1 - Allowed*/
1535 wpt_uint8 ucRIFSMode;
1536
1537 /*L-SIG TXOP Protection mechanism
1538 0 - No Support, 1 - Supported
1539 SG - there is global field*/
1540 wpt_uint8 ucLSIGTxopProtection;
1541
1542 /*Max Ampdu Size supported by STA. Device programming.
1543 0 : 8k , 1 : 16k, 2 : 32k, 3 : 64k */
1544 wpt_uint8 ucMaxAmpduSize;
1545
1546 /*Max Ampdu density. Used by RA. 3 : 0~7 : 2^(11nAMPDUdensity -4)*/
1547 wpt_uint8 ucMaxAmpduDensity;
1548
1549 /*Max AMSDU size 1 : 3839 bytes, 0 : 7935 bytes*/
1550 wpt_uint8 ucMaxAmsduSize;
1551
1552 /*Short GI support for 40Mhz packets*/
1553 wpt_uint8 ucShortGI40Mhz;
1554
1555 /*Short GI support for 20Mhz packets*/
1556 wpt_uint8 ucShortGI20Mhz;
1557
1558 /*These rates are the intersection of peer and self capabilities.*/
1559 WDI_SupportedRates wdiSupportedRates;
1560
1561 /*Robust Management Frame (RMF) enabled/disabled*/
1562 wpt_uint8 ucRMFEnabled;
1563
1564 /* The unicast encryption type in the association */
1565 wpt_uint32 ucEncryptType;
1566
1567 /*HAL should update the existing STA entry, if this flag is set. UMAC
1568 will set this flag in case of RE-ASSOC, where we want to reuse the old
1569 STA ID.*/
1570 WDI_ConfigActionType wdiAction;
1571
1572 /*U-APSD Flags: 1b per AC. Encoded as follows:
1573 b7 b6 b5 b4 b3 b2 b1 b0 =
1574 X X X X BE BK VI VO
1575 */
1576 wpt_uint8 ucAPSD;
1577
1578 /*Max SP Length*/
1579 wpt_uint8 ucMaxSPLen;
1580
1581 /*11n Green Field preamble support*/
1582 wpt_uint8 ucGreenFieldCapable;
1583
1584 /*MIMO Power Save mode*/
1585 WDI_HTMIMOPowerSaveState wdiMIMOPS;
1586
1587 /*Delayed BA Support*/
1588 wpt_uint8 ucDelayedBASupport;
1589
1590 /*Max AMPDU duration in 32us*/
1591 wpt_uint8 us32MaxAmpduDuratio;
1592
1593 /*HT STA should set it to 1 if it is enabled in BSS
1594 HT STA should set it to 0 if AP does not support it. This indication is
1595 sent to HAL and HAL uses this flag to pickup up appropriate 40Mhz rates.
1596 */
1597 wpt_uint8 ucDsssCckMode40Mhz;
1598
1599 wpt_uint8 ucP2pCapableSta;
Jeff Johnsone7245742012-09-05 17:12:55 -07001600#ifdef WLAN_FEATURE_11AC
1601 wpt_uint8 ucVhtCapableSta;
1602 wpt_uint8 ucVhtTxChannelWidthSet;
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08001603 wpt_uint8 ucVhtTxBFEnabled;
Jeff Johnsone7245742012-09-05 17:12:55 -07001604#endif
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08001605
1606 wpt_uint8 ucHtLdpcEnabled;
1607 wpt_uint8 ucVhtLdpcEnabled;
Jeff Johnson295189b2012-06-20 16:38:30 -07001608}WDI_ConfigStaReqInfoType;
1609
1610
1611/*---------------------------------------------------------------------------
1612 WDI_RateSet
1613
1614 12 Bytes long because this structure can be used to represent rate
1615 and extended rate set IEs
1616 The parser assume this to be at least 12
1617---------------------------------------------------------------------------*/
1618#define WDI_RATESET_EID_MAX 12
1619
1620typedef struct
1621{
1622 wpt_uint8 ucNumRates;
1623 wpt_uint8 aRates[WDI_RATESET_EID_MAX];
1624} WDI_RateSet;
1625
1626/*---------------------------------------------------------------------------
1627 WDI_AciAifsnType
1628 access category record
1629---------------------------------------------------------------------------*/
1630typedef struct
1631{
1632 wpt_uint8 rsvd : 1;
1633 wpt_uint8 aci : 2;
1634 wpt_uint8 acm : 1;
1635 wpt_uint8 aifsn : 4;
1636} WDI_AciAifsnType;
1637
1638/*---------------------------------------------------------------------------
1639 WDI_CWType
1640 contention window size
1641---------------------------------------------------------------------------*/
1642typedef struct
1643{
1644 wpt_uint8 max : 4;
1645 wpt_uint8 min : 4;
1646} WDI_CWType;
1647
1648/*---------------------------------------------------------------------------
1649 WDI_EdcaParamRecord
1650---------------------------------------------------------------------------*/
1651typedef struct
1652{
1653 /*Access Category Record*/
1654 WDI_AciAifsnType wdiACI;
1655
1656 /*Contention WIndow Size*/
1657 WDI_CWType wdiCW;
1658
1659 /*TX Oportunity Limit*/
1660 wpt_uint16 usTXOPLimit;
1661} WDI_EdcaParamRecord;
1662
1663/*---------------------------------------------------------------------------
1664 WDI_EDCAParamsType
1665---------------------------------------------------------------------------*/
1666typedef struct
1667{
1668 /*BSS Index*/
1669 wpt_uint8 ucBSSIdx;
1670
1671 /*?*/
1672 wpt_boolean bHighPerformance;
1673
1674 /*Best Effort*/
1675 WDI_EdcaParamRecord wdiACBE;
1676
1677 /*Background*/
1678 WDI_EdcaParamRecord wdiACBK;
1679
1680 /*Video*/
1681 WDI_EdcaParamRecord wdiACVI;
1682
1683 /*Voice*/
1684 WDI_EdcaParamRecord acvo; // voice
1685} WDI_EDCAParamsType;
1686
1687/* operMode in ADD BSS message */
1688#define WDI_BSS_OPERATIONAL_MODE_AP 0
1689#define WDI_BSS_OPERATIONAL_MODE_STA 1
1690
1691/*---------------------------------------------------------------------------
1692 WDI_ConfigBSSRspParamsType
1693---------------------------------------------------------------------------*/
1694typedef struct
1695{
1696 /*Status of the response*/
1697 WDI_Status wdiStatus;
1698
1699 /*BSSID of the BSS*/
1700 wpt_macAddr macBSSID;
1701
1702 /*BSS Index*/
1703 wpt_uint8 ucBSSIdx;
1704
1705 /*Unicast DPU signature*/
1706 wpt_uint8 ucUcastSig;
1707
1708 /*Broadcast DPU Signature*/
1709 wpt_uint8 ucBcastSig;
1710
1711 /*MAC Address of STA*/
1712 wpt_macAddr macSTA;
1713
1714 /*BSS STA ID*/
1715 wpt_uint8 ucSTAIdx;
1716
1717#ifdef WLAN_FEATURE_VOWIFI
1718 /*HAL fills in the tx power used for mgmt frames in this field */
1719 wpt_int8 ucTxMgmtPower;
1720#endif
1721
1722}WDI_ConfigBSSRspParamsType;
1723
1724/*---------------------------------------------------------------------------
1725 WDI_DelBSSReqParamsType
1726---------------------------------------------------------------------------*/
1727typedef struct
1728{
1729 /*BSS Index of the BSS*/
1730 wpt_uint8 ucBssIdx;
1731
1732 /*Request status callback offered by UMAC - it is called if the current
1733 req has returned PENDING as status; it delivers the status of sending
1734 the message over the BUS */
1735 WDI_ReqStatusCb wdiReqStatusCB;
1736
1737 /*The user data passed in by UMAC, it will be sent back when the above
1738 function pointer will be called */
1739 void* pUserData;
1740}WDI_DelBSSReqParamsType;
1741
1742/*---------------------------------------------------------------------------
1743 WDI_DelBSSRspParamsType
1744---------------------------------------------------------------------------*/
1745typedef struct
1746{
1747 /*Status of the response*/
1748 WDI_Status wdiStatus;
1749
1750 /*BSSID of the BSS*/
1751 wpt_macAddr macBSSID;
1752
1753 wpt_uint8 ucBssIdx;
1754
1755}WDI_DelBSSRspParamsType;
1756
1757/*---------------------------------------------------------------------------
1758 WDI_ConfigSTARspParamsType
1759---------------------------------------------------------------------------*/
1760typedef struct
1761{
1762 /*Status of the response*/
1763 WDI_Status wdiStatus;
1764
1765 /*STA Idx allocated by HAL*/
1766 wpt_uint8 ucSTAIdx;
1767
1768 /*MAC Address of STA*/
1769 wpt_macAddr macSTA;
1770
1771 /* BSSID Index of BSS to which the station is associated */
1772 wpt_uint8 ucBssIdx;
1773
1774 /* DPU Index - PTK */
1775 wpt_uint8 ucDpuIndex;
1776
1777 /* Bcast DPU Index - GTK */
1778 wpt_uint8 ucBcastDpuIndex;
1779
1780 /* Management DPU Index - IGTK - Why is it called bcastMgmtDpuIdx? */
1781 wpt_uint8 ucBcastMgmtDpuIdx;
1782
1783 /*Unicast DPU signature*/
1784 wpt_uint8 ucUcastSig;
1785
1786 /*Broadcast DPU Signature*/
1787 wpt_uint8 ucBcastSig;
1788
1789 /* IGTK DPU signature*/
1790 wpt_uint8 ucMgmtSig;
1791
1792}WDI_ConfigSTARspParamsType;
1793
1794/*---------------------------------------------------------------------------
1795 WDI_PostAssocRspParamsType
1796---------------------------------------------------------------------------*/
1797typedef struct
1798{
1799 /*Status of the response*/
1800 WDI_Status wdiStatus;
1801
1802 /*Parameters related to the BSS*/
1803 WDI_ConfigBSSRspParamsType bssParams;
1804
1805 /*Parameters related to the self STA*/
1806 WDI_ConfigSTARspParamsType staParams;
1807
1808}WDI_PostAssocRspParamsType;
1809
1810/*---------------------------------------------------------------------------
1811 WDI_DelSTAReqParamsType
1812---------------------------------------------------------------------------*/
1813typedef struct
1814{
1815 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
1816 wpt_uint8 ucSTAIdx;
1817
1818 /*Request status callback offered by UMAC - it is called if the current
1819 req has returned PENDING as status; it delivers the status of sending
1820 the message over the BUS */
1821 WDI_ReqStatusCb wdiReqStatusCB;
1822
1823 /*The user data passed in by UMAC, it will be sent back when the above
1824 function pointer will be called */
1825 void* pUserData;
1826}WDI_DelSTAReqParamsType;
1827
1828/*---------------------------------------------------------------------------
1829 WDI_DelSTARspParamsType
1830---------------------------------------------------------------------------*/
1831typedef struct
1832{
1833 /*Status of the response*/
1834 WDI_Status wdiStatus;
1835
1836 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
1837 wpt_uint8 ucSTAIdx;
1838}WDI_DelSTARspParamsType;
1839
1840/*---------------------------------------------------------------------------
1841 WDI_EncryptType
1842---------------------------------------------------------------------------*/
1843typedef enum
1844{
1845 WDI_ENCR_NONE,
1846 WDI_ENCR_WEP40,
1847 WDI_ENCR_WEP104,
1848 WDI_ENCR_TKIP,
1849 WDI_ENCR_CCMP,
1850#if defined(FEATURE_WLAN_WAPI)
1851 WDI_ENCR_WPI,
1852#endif
1853 WDI_ENCR_AES_128_CMAC
1854} WDI_EncryptType;
1855
1856/*---------------------------------------------------------------------------
1857 WDI_KeyDirectionType
1858---------------------------------------------------------------------------*/
1859typedef enum
1860{
1861 WDI_TX_ONLY,
1862 WDI_RX_ONLY,
1863 WDI_TX_RX,
Jeff Johnson295189b2012-06-20 16:38:30 -07001864 WDI_TX_DEFAULT,
Jeff Johnson295189b2012-06-20 16:38:30 -07001865 WDI_DONOT_USE_KEY_DIRECTION
1866} WDI_KeyDirectionType;
1867
1868#define WDI_MAX_ENCR_KEYS 4
1869#define WDI_MAX_KEY_LENGTH 32
1870#if defined(FEATURE_WLAN_WAPI)
1871#define WDI_MAX_KEY_RSC_LEN 16
1872#define WDI_WAPI_KEY_RSC_LEN 16
1873#else
1874#define WDI_MAX_KEY_RSC_LEN 8
1875#endif
1876
1877typedef struct
1878{
1879 /* Key ID */
1880 wpt_uint8 keyId;
1881 /* 0 for multicast */
1882 wpt_uint8 unicast;
1883 /* Key Direction */
1884 WDI_KeyDirectionType keyDirection;
1885 /* Usage is unknown */
1886 wpt_uint8 keyRsc[WDI_MAX_KEY_RSC_LEN];
1887 /* =1 for authenticator, =0 for supplicant */
1888 wpt_uint8 paeRole;
1889 wpt_uint16 keyLength;
1890 wpt_uint8 key[WDI_MAX_KEY_LENGTH];
1891
1892}WDI_KeysType;
1893
1894/*---------------------------------------------------------------------------
1895 WDI_SetBSSKeyReqInfoType
1896---------------------------------------------------------------------------*/
1897typedef struct
1898{
1899 /*BSS Index of the BSS*/
1900 wpt_uint8 ucBssIdx;
1901
1902 /*Encryption Type used with peer*/
1903 WDI_EncryptType wdiEncType;
1904
1905 /*Number of keys*/
1906 wpt_uint8 ucNumKeys;
1907
1908 /*Array of keys.*/
1909 WDI_KeysType aKeys[WDI_MAX_ENCR_KEYS];
1910
1911 /*Control for Replay Count, 1= Single TID based replay count on Tx
1912 0 = Per TID based replay count on TX */
1913 wpt_uint8 ucSingleTidRc;
1914}WDI_SetBSSKeyReqInfoType;
1915
1916/*---------------------------------------------------------------------------
1917 WDI_SetBSSKeyReqParamsType
1918---------------------------------------------------------------------------*/
1919typedef struct
1920{
1921 /*Key Info */
1922 WDI_SetBSSKeyReqInfoType wdiBSSKeyInfo;
1923
1924 /*Request status callback offered by UMAC - it is called if the current
1925 req has returned PENDING as status; it delivers the status of sending
1926 the message over the BUS */
1927 WDI_ReqStatusCb wdiReqStatusCB;
1928
1929 /*The user data passed in by UMAC, it will be sent back when the above
1930 function pointer will be called */
1931 void* pUserData;
1932}WDI_SetBSSKeyReqParamsType;
1933
1934/*---------------------------------------------------------------------------
1935 WDI_WepType
1936---------------------------------------------------------------------------*/
1937typedef enum
1938{
1939 WDI_WEP_STATIC,
1940 WDI_WEP_DYNAMIC
1941
1942} WDI_WepType;
1943
1944/*---------------------------------------------------------------------------
1945 WDI_RemoveBSSKeyReqInfoType
1946---------------------------------------------------------------------------*/
1947typedef struct
1948{
1949 /*BSS Index of the BSS*/
1950 wpt_uint8 ucBssIdx;
1951
1952 /*Encryption Type used with peer*/
1953 WDI_EncryptType wdiEncType;
1954
1955 /*Key Id*/
1956 wpt_uint8 ucKeyId;
1957
1958 /*STATIC/DYNAMIC. Used in Nullifying in Key Descriptors for Static/Dynamic
1959 keys*/
1960 WDI_WepType wdiWEPType;
1961}WDI_RemoveBSSKeyReqInfoType;
1962
1963/*---------------------------------------------------------------------------
1964 WDI_RemoveBSSKeyReqParamsType
1965---------------------------------------------------------------------------*/
1966typedef struct
1967{
1968 /*Key Info */
1969 WDI_RemoveBSSKeyReqInfoType wdiKeyInfo;
1970
1971 /*Request status callback offered by UMAC - it is called if the current
1972 req has returned PENDING as status; it delivers the status of sending
1973 the message over the BUS */
1974 WDI_ReqStatusCb wdiReqStatusCB;
1975
1976 /*The user data passed in by UMAC, it will be sent back when the above
1977 function pointer will be called */
1978 void* pUserData;
1979}WDI_RemoveBSSKeyReqParamsType;
1980
1981/*---------------------------------------------------------------------------
1982 WDI_SetSTAKeyReqInfoType
1983---------------------------------------------------------------------------*/
1984typedef struct
1985{
1986 /*STA Index*/
1987 wpt_uint8 ucSTAIdx;
1988
1989 /*Encryption Type used with peer*/
1990 WDI_EncryptType wdiEncType;
1991
1992 /*STATIC/DYNAMIC*/
1993 WDI_WepType wdiWEPType;
1994
1995 /*Default WEP key, valid only for static WEP, must between 0 and 3.*/
1996 wpt_uint8 ucDefWEPIdx;
1997
1998 /*Number of keys*/
1999 wpt_uint8 ucNumKeys;
2000
2001 /*Array of keys.*/
2002 WDI_KeysType wdiKey[WDI_MAX_ENCR_KEYS];
2003
2004 /*Control for Replay Count, 1= Single TID based replay count on Tx
2005 0 = Per TID based replay count on TX */
2006 wpt_uint8 ucSingleTidRc;
2007}WDI_SetSTAKeyReqInfoType;
2008
2009/*---------------------------------------------------------------------------
2010 WDI_ConfigBSSReqInfoType
2011---------------------------------------------------------------------------*/
2012typedef struct
2013{
2014 /*Peer BSSID*/
2015 wpt_macAddr macBSSID;
2016
2017 /*Self MAC Address*/
2018 wpt_macAddr macSelfAddr;
2019
2020 /*BSS Type*/
2021 WDI_BssType wdiBSSType;
2022
2023 /*Operational Mode: AP =0, STA = 1*/
2024 wpt_uint8 ucOperMode;
2025
2026 /*Network Type*/
2027 WDI_NwType wdiNWType;
2028
2029 /*Used to classify PURE_11G/11G_MIXED to program MTU*/
2030 wpt_uint8 ucShortSlotTimeSupported;
2031
2032 /*Co-exist with 11a STA*/
2033 wpt_uint8 ucllaCoexist;
2034
2035 /*Co-exist with 11b STA*/
2036 wpt_uint8 ucllbCoexist;
2037
2038 /*Co-exist with 11g STA*/
2039 wpt_uint8 ucllgCoexist;
2040
2041 /*Coexistence with 11n STA*/
2042 wpt_uint8 ucHT20Coexist;
2043
2044 /*Non GF coexist flag*/
2045 wpt_uint8 ucllnNonGFCoexist;
2046
2047 /*TXOP protection support*/
2048 wpt_uint8 ucTXOPProtectionFullSupport;
2049
2050 /*RIFS mode*/
2051 wpt_uint8 ucRIFSMode;
2052
2053 /*Beacon Interval in TU*/
2054 wpt_uint16 usBeaconInterval;
2055
2056 /*DTIM period*/
2057 wpt_uint8 ucDTIMPeriod;
2058
2059 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
2060 wpt_uint8 ucTXChannelWidthSet;
2061
2062 /*Operating channel*/
2063 wpt_uint8 ucCurrentOperChannel;
2064
2065 /*Extension channel for channel bonding*/
2066 wpt_uint8 ucCurrentExtChannel;
2067
2068 /*Context of the station being added in HW.*/
2069 WDI_ConfigStaReqInfoType wdiSTAContext;
2070
2071 /*SSID of the BSS*/
2072 WDI_MacSSid wdiSSID;
2073
2074 /*HAL should update the existing BSS entry, if this flag is set. UMAC will
2075 set this flag in case of RE-ASSOC, where we want to reuse the old BSSID*/
2076 WDI_ConfigAction wdiAction;
2077
2078 /*Basic Rate Set*/
2079 WDI_RateSet wdiRateSet;
2080
2081 /*Enable/Disable HT capabilities of the BSS*/
2082 wpt_uint8 ucHTCapable;
2083
2084 /* Enable/Disable OBSS protection */
2085 wpt_uint8 ucObssProtEnabled;
2086
2087 /*RMF enabled/disabled*/
2088 wpt_uint8 ucRMFEnabled;
2089
2090 /*Determines the current HT Operating Mode operating mode of the
2091 802.11n STA*/
2092 WDI_HTOperatingMode wdiHTOperMod;
2093
2094 /*Dual CTS Protection: 0 - Unused, 1 - Used*/
2095 wpt_uint8 ucDualCTSProtection;
2096
2097 /* Probe Response Max retries */
2098 wpt_uint8 ucMaxProbeRespRetryLimit;
2099
2100 /* To Enable Hidden ssid */
2101 wpt_uint8 bHiddenSSIDEn;
2102
2103 /* To Enable Disable FW Proxy Probe Resp */
2104 wpt_uint8 bProxyProbeRespEn;
2105
2106 /* Boolean to indicate if EDCA params are valid. UMAC might not have valid
2107 EDCA params or might not desire to apply EDCA params during config BSS.
2108 0 implies Not Valid ; Non-Zero implies valid*/
2109 wpt_uint8 ucEDCAParamsValid;
2110
2111 /*EDCA Parameters for BK*/
2112 WDI_EdcaParamRecord wdiBKEDCAParams;
2113
2114 /*EDCA Parameters for BE*/
2115 WDI_EdcaParamRecord wdiBEEDCAParams;
2116
2117 /*EDCA Parameters for VI*/
2118 WDI_EdcaParamRecord wdiVIEDCAParams;
2119
2120 /*EDCA Parameters for VO*/
2121 WDI_EdcaParamRecord wdiVOEDCAParams;
2122
2123#ifdef WLAN_FEATURE_VOWIFI
2124 /*max power to be used after applying the power constraint, if any */
2125 wpt_int8 cMaxTxPower;
2126#endif
2127
2128 /* Persona for the BSS can be STA,AP,GO,CLIENT, same as Connection Mode */
2129 wpt_uint8 ucPersona;
2130
2131 /* Spectrum Mangement Indicator */
2132 wpt_uint8 bSpectrumMgtEn;
2133
2134#ifdef WLAN_FEATURE_VOWIFI_11R
2135 wpt_uint8 bExtSetStaKeyParamValid;
2136 WDI_SetSTAKeyReqInfoType wdiExtSetKeyParam;
2137#endif
2138
Jeff Johnsone7245742012-09-05 17:12:55 -07002139#ifdef WLAN_FEATURE_11AC
2140 wpt_uint8 ucVhtCapableSta;
2141 wpt_uint8 ucVhtTxChannelWidthSet;
2142#endif
2143
Jeff Johnson295189b2012-06-20 16:38:30 -07002144}WDI_ConfigBSSReqInfoType;
2145
2146/*---------------------------------------------------------------------------
2147 WDI_PostAssocReqParamsType
2148---------------------------------------------------------------------------*/
2149typedef struct
2150{
2151 /*Config STA arguments.*/
2152 WDI_ConfigStaReqInfoType wdiSTAParams;
2153
2154 /*Config BSS Arguments*/
2155 WDI_ConfigBSSReqInfoType wdiBSSParams;
2156
2157 /*Request status callback offered by UMAC - it is called if the current
2158 req has returned PENDING as status; it delivers the status of sending
2159 the message over the BUS */
2160 WDI_ReqStatusCb wdiReqStatusCB;
2161
2162 /*The user data passed in by UMAC, it will be sent back when the above
2163 function pointer will be called */
2164 void* pUserData;
2165}WDI_PostAssocReqParamsType;
2166
2167/*---------------------------------------------------------------------------
2168 WDI_ConfigBSSReqParamsType
2169---------------------------------------------------------------------------*/
2170typedef struct
2171{
2172 /*Info for the Join request that will be sent down to the device*/
2173 WDI_ConfigBSSReqInfoType wdiReqInfo;
2174
2175 /*Request status callback offered by UMAC - it is called if the current
2176 req has returned PENDING as status; it delivers the status of sending
2177 the message over the BUS */
2178 WDI_ReqStatusCb wdiReqStatusCB;
2179
2180 /*The user data passed in by UMAC, it will be sent back when the above
2181 function pointer will be called */
2182 void* pUserData;
2183}WDI_ConfigBSSReqParamsType;
2184
2185/*---------------------------------------------------------------------------
2186 WDI_SetSTAKeyReqParamsType
2187---------------------------------------------------------------------------*/
2188typedef struct
2189{
2190 /*Key Info*/
2191 WDI_SetSTAKeyReqInfoType wdiKeyInfo;
2192
2193 /*Request status callback offered by UMAC - it is called if the current
2194 req has returned PENDING as status; it delivers the status of sending
2195 the message over the BUS */
2196 WDI_ReqStatusCb wdiReqStatusCB;
2197
2198 /*The user data passed in by UMAC, it will be sent back when the above
2199 function pointer will be called */
2200 void* pUserData;
2201}WDI_SetSTAKeyReqParamsType;
2202
2203/*---------------------------------------------------------------------------
2204 WDI_RemoveSTAKeyReqInfoType
2205---------------------------------------------------------------------------*/
2206typedef struct
2207{
2208 /*STA Index*/
2209 wpt_uint8 ucSTAIdx;
2210
2211 /*Encryption Type used with peer*/
2212 WDI_EncryptType wdiEncType;
2213
2214 /*Key Id*/
2215 wpt_uint8 ucKeyId;
2216
2217 /*Whether to invalidate the Broadcast key or Unicast key. In case of WEP,
2218 the same key is used for both broadcast and unicast.*/
2219 wpt_uint8 ucUnicast;
2220}WDI_RemoveSTAKeyReqInfoType;
2221
2222/*---------------------------------------------------------------------------
2223 WDI_RemoveSTAKeyReqParamsType
2224---------------------------------------------------------------------------*/
2225typedef struct
2226{
2227 /*Key Info */
2228 WDI_RemoveSTAKeyReqInfoType wdiKeyInfo;
2229
2230 /*Request status callback offered by UMAC - it is called if the current
2231 req has returned PENDING as status; it delivers the status of sending
2232 the message over the BUS */
2233 WDI_ReqStatusCb wdiReqStatusCB;
2234
2235 /*The user data passed in by UMAC, it will be sent back when the above
2236 function pointer will be called */
2237 void* pUserData;
2238}WDI_RemoveSTAKeyReqParamsType;
2239
2240/*---------------------------------------------------------------------------
2241 QOS Parameters
2242---------------------------------------------------------------------------*/
2243
2244/*---------------------------------------------------------------------------
2245 WDI_TSInfoTfc
2246---------------------------------------------------------------------------*/
2247typedef struct
2248{
2249 wpt_uint16 ackPolicy:2;
2250 wpt_uint16 userPrio:3;
2251 wpt_uint16 psb:1;
2252 wpt_uint16 aggregation : 1;
2253 wpt_uint16 accessPolicy : 2;
2254 wpt_uint16 direction : 2;
2255 wpt_uint16 tsid : 4;
2256 wpt_uint16 trafficType : 1;
2257} WDI_TSInfoTfc;
2258
2259/*---------------------------------------------------------------------------
2260 WDI_TSInfoSch
2261---------------------------------------------------------------------------*/
2262typedef struct
2263{
2264 wpt_uint8 rsvd : 7;
2265 wpt_uint8 schedule : 1;
2266} WDI_TSInfoSch;
2267
2268/*---------------------------------------------------------------------------
2269 WDI_TSInfoType
2270---------------------------------------------------------------------------*/
2271typedef struct
2272{
2273 WDI_TSInfoTfc wdiTraffic;
2274 WDI_TSInfoSch wdiSchedule;
2275} WDI_TSInfoType;
2276
2277/*---------------------------------------------------------------------------
2278 WDI_TspecIEType
2279---------------------------------------------------------------------------*/
2280typedef struct
2281{
2282 wpt_uint8 ucType;
2283 wpt_uint8 ucLength;
2284 WDI_TSInfoType wdiTSinfo;
2285 wpt_uint16 usNomMsduSz;
2286 wpt_uint16 usMaxMsduSz;
2287 wpt_uint32 uMinSvcInterval;
2288 wpt_uint32 uMaxSvcInterval;
2289 wpt_uint32 uInactInterval;
2290 wpt_uint32 uSuspendInterval;
2291 wpt_uint32 uSvcStartTime;
2292 wpt_uint32 uMinDataRate;
2293 wpt_uint32 uMeanDataRate;
2294 wpt_uint32 uPeakDataRate;
2295 wpt_uint32 uMaxBurstSz;
2296 wpt_uint32 uDelayBound;
2297 wpt_uint32 uMinPhyRate;
2298 wpt_uint16 usSurplusBw;
2299 wpt_uint16 usMediumTime;
2300}WDI_TspecIEType;
2301
2302/*---------------------------------------------------------------------------
2303 WDI_AddTSReqInfoType
2304---------------------------------------------------------------------------*/
2305typedef struct
2306{
2307 /*STA Index*/
2308 wpt_uint8 ucSTAIdx;
2309
2310 /*Identifier for TSpec*/
2311 wpt_uint16 ucTspecIdx;
2312
2313 /*Tspec IE negotiated OTA*/
2314 WDI_TspecIEType wdiTspecIE;
2315
2316 /*UAPSD delivery and trigger enabled flags */
2317 wpt_uint8 ucUapsdFlags;
2318
2319 /*SI for each AC*/
2320 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
2321
2322 /*Suspend Interval for each AC*/
2323 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
2324
2325 /*DI for each AC*/
2326 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
2327
2328}WDI_AddTSReqInfoType;
2329
2330
2331/*---------------------------------------------------------------------------
2332 WDI_AddTSReqParamsType
2333---------------------------------------------------------------------------*/
2334typedef struct
2335{
2336 /*TSpec Info */
2337 WDI_AddTSReqInfoType wdiTsInfo;
2338
2339 /*Request status callback offered by UMAC - it is called if the current
2340 req has returned PENDING as status; it delivers the status of sending
2341 the message over the BUS */
2342 WDI_ReqStatusCb wdiReqStatusCB;
2343
2344 /*The user data passed in by UMAC, it will be sent back when the above
2345 function pointer will be called */
2346 void* pUserData;
2347}WDI_AddTSReqParamsType;
2348
2349/*---------------------------------------------------------------------------
2350 WDI_DelTSReqInfoType
2351---------------------------------------------------------------------------*/
2352typedef struct
2353{
2354 /*STA Index*/
2355 wpt_uint8 ucSTAIdx;
2356
2357 /*Identifier for TSpec*/
2358 wpt_uint16 ucTspecIdx;
2359
2360 /*BSSID of the BSS*/
2361 wpt_macAddr macBSSID;
2362}WDI_DelTSReqInfoType;
2363
2364/*---------------------------------------------------------------------------
2365 WDI_DelTSReqParamsType
2366---------------------------------------------------------------------------*/
2367typedef struct
2368{
2369 /*Del TSpec Info*/
2370 WDI_DelTSReqInfoType wdiDelTSInfo;
2371
2372 /*Request status callback offered by UMAC - it is called if the current
2373 req has returned PENDING as status; it delivers the status of sending
2374 the message over the BUS */
2375 WDI_ReqStatusCb wdiReqStatusCB;
2376
2377 /*The user data passed in by UMAC, it will be sent back when the above
2378 function pointer will be called */
2379 void* pUserData;
2380}WDI_DelTSReqParamsType;
2381
2382/*---------------------------------------------------------------------------
2383 WDI_UpdateEDCAInfoType
2384---------------------------------------------------------------------------*/
2385typedef struct
2386{
krunal soni0b366c02013-07-17 19:55:57 -07002387 /*BSS Index of the BSS*/
2388 wpt_uint16 ucBssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07002389
Jeff Johnson295189b2012-06-20 16:38:30 -07002390 /*EDCA params for BE*/
2391 WDI_EdcaParamRecord wdiEdcaBEInfo;
2392
2393 /*EDCA params for BK*/
2394 WDI_EdcaParamRecord wdiEdcaBKInfo;
2395
2396 /*EDCA params for VI*/
2397 WDI_EdcaParamRecord wdiEdcaVIInfo;
2398
2399 /*EDCA params for VO*/
2400 WDI_EdcaParamRecord wdiEdcaVOInfo;
2401
2402}WDI_UpdateEDCAInfoType;
2403
2404/*---------------------------------------------------------------------------
2405 WDI_UpdateEDCAParamsType
2406---------------------------------------------------------------------------*/
2407typedef struct
2408{
2409 /*EDCA Info */
2410 WDI_UpdateEDCAInfoType wdiEDCAInfo;
2411
2412 /*Request status callback offered by UMAC - it is called if the current
2413 req has returned PENDING as status; it delivers the status of sending
2414 the message over the BUS */
2415 WDI_ReqStatusCb wdiReqStatusCB;
2416
2417 /*The user data passed in by UMAC, it will be sent back when the above
2418 function pointer will be called */
2419 void* pUserData;
2420}WDI_UpdateEDCAParamsType;
2421
2422/*---------------------------------------------------------------------------
2423 WDI_AddBASessionReqinfoType
2424---------------------------------------------------------------------------*/
2425typedef struct
2426{
2427 /*Indicates the station for which BA is added..*/
2428 wpt_uint8 ucSTAIdx;
2429
2430 /*The peer mac address*/
2431 wpt_macAddr macPeerAddr;
2432
2433 /*TID for which BA was negotiated*/
2434 wpt_uint8 ucBaTID;
2435
2436 /*Delayed or imediate */
2437 wpt_uint8 ucBaPolicy;
2438
2439 /*The number of buffers for this TID (baTID)*/
2440 wpt_uint16 usBaBufferSize;
2441
2442 /*BA timeout in TU's*/
2443 wpt_uint16 usBaTimeout;
2444
2445 /*b0..b3 - Fragment Number - Always set to 0
2446 b4..b15 - Starting Sequence Number of first MSDU for which this BA is setup*/
2447 wpt_uint16 usBaSSN;
2448
2449 /*Originator/Recipient*/
2450 wpt_uint8 ucBaDirection;
2451
2452}WDI_AddBASessionReqinfoType;
2453
2454
2455/*---------------------------------------------------------------------------
2456 WDI_AddBASessionReqParamsType
2457---------------------------------------------------------------------------*/
2458typedef struct
2459{
2460 /*BA Session Info Type*/
2461 WDI_AddBASessionReqinfoType wdiBASessionInfoType;
2462
2463 /*Request status callback offered by UMAC - it is called if the current
2464 req has returned PENDING as status; it delivers the status of sending
2465 the message over the BUS */
2466 WDI_ReqStatusCb wdiReqStatusCB;
2467
2468 /*The user data passed in by UMAC, it will be sent back when the above
2469 function pointer will be called */
2470 void* pUserData;
2471}WDI_AddBASessionReqParamsType;
2472
2473/*---------------------------------------------------------------------------
2474 WDI_AddBASessionRspParamsType
2475---------------------------------------------------------------------------*/
2476typedef struct
2477{
2478 /*Status of the response*/
2479 WDI_Status wdiStatus;
2480
2481 /* Dialog token */
2482 wpt_uint8 ucBaDialogToken;
2483
2484 /* TID for which the BA session has been setup */
2485 wpt_uint8 ucBaTID;
2486
2487 /* BA Buffer Size allocated for the current BA session */
2488 wpt_uint8 ucBaBufferSize;
2489
2490 /* BA session ID */
2491 wpt_uint16 usBaSessionID;
2492
2493 /* Reordering Window buffer */
2494 wpt_uint8 ucWinSize;
2495
2496 /*Station Index to id the sta */
2497 wpt_uint8 ucSTAIdx;
2498
2499 /* Starting Sequence Number */
2500 wpt_uint16 usBaSSN;
2501
2502}WDI_AddBASessionRspParamsType;
2503
2504/*---------------------------------------------------------------------------
2505 WDI_AddBAReqinfoType
2506---------------------------------------------------------------------------*/
2507typedef struct
2508{
2509 /*Indicates the station for which BA is added..*/
2510 wpt_uint8 ucSTAIdx;
2511
2512 /* Session Id */
2513 wpt_uint8 ucBaSessionID;
2514
2515 /* Reorder Window Size */
2516 wpt_uint8 ucWinSize;
2517
2518#ifdef FEATURE_ON_CHIP_REORDERING
2519 wpt_boolean bIsReorderingDoneOnChip;
2520#endif
2521
2522}WDI_AddBAReqinfoType;
2523
2524
2525/*---------------------------------------------------------------------------
2526 WDI_AddBAReqParamsType
2527---------------------------------------------------------------------------*/
2528typedef struct
2529{
2530 /*BA Info Type*/
2531 WDI_AddBAReqinfoType wdiBAInfoType;
2532
2533 /*Request status callback offered by UMAC - it is called if the current
2534 req has returned PENDING as status; it delivers the status of sending
2535 the message over the BUS */
2536 WDI_ReqStatusCb wdiReqStatusCB;
2537
2538 /*The user data passed in by UMAC, it will be sent back when the above
2539 function pointer will be called */
2540 void* pUserData;
2541}WDI_AddBAReqParamsType;
2542
2543
2544/*---------------------------------------------------------------------------
2545 WDI_AddBARspinfoType
2546---------------------------------------------------------------------------*/
2547typedef struct
2548{
2549 /*Status of the response*/
2550 WDI_Status wdiStatus;
2551
2552 /* Dialog token */
2553 wpt_uint8 ucBaDialogToken;
2554
2555}WDI_AddBARspinfoType;
2556
2557/*---------------------------------------------------------------------------
2558 WDI_TriggerBAReqCandidateType
2559---------------------------------------------------------------------------*/
2560typedef struct
2561{
2562 /* STA index */
2563 wpt_uint8 ucSTAIdx;
2564
2565 /* TID bit map for the STA's*/
2566 wpt_uint8 ucTidBitmap;
2567
2568}WDI_TriggerBAReqCandidateType;
2569
2570
2571/*---------------------------------------------------------------------------
2572 WDI_TriggerBAReqinfoType
2573---------------------------------------------------------------------------*/
2574typedef struct
2575{
2576 /*Indicates the station for which BA is added..*/
2577 wpt_uint8 ucSTAIdx;
2578
2579 /* Session Id */
2580 wpt_uint8 ucBASessionID;
2581
2582 /* Trigger BA Request candidate count */
2583 wpt_uint16 usBACandidateCnt;
2584
2585 /* WDI_TriggerBAReqCandidateType followed by this*/
2586
2587}WDI_TriggerBAReqinfoType;
2588
2589
2590/*---------------------------------------------------------------------------
2591 WDI_TriggerBAReqParamsType
2592---------------------------------------------------------------------------*/
2593typedef struct
2594{
2595 /*BA Trigger Info Type*/
2596 WDI_TriggerBAReqinfoType wdiTriggerBAInfoType;
2597
2598 /*Request status callback offered by UMAC - it is called if the current
2599 req has returned PENDING as status; it delivers the status of sending
2600 the message over the BUS */
2601 WDI_ReqStatusCb wdiReqStatusCB;
2602
2603 /*The user data passed in by UMAC, it will be sent back when the above
2604 function pointer will be called */
2605 void* pUserData;
2606}WDI_TriggerBAReqParamsType;
2607
2608/*---------------------------------------------------------------------------
2609 WDI_AddBAInfoType
2610---------------------------------------------------------------------------*/
2611typedef struct
2612{
2613 wpt_uint16 fBaEnable : 1;
2614 wpt_uint16 startingSeqNum: 12;
2615 wpt_uint16 reserved : 3;
2616}WDI_AddBAInfoType;
2617
2618/*---------------------------------------------------------------------------
2619 WDI_TriggerBARspCandidateType
2620---------------------------------------------------------------------------*/
2621#define STA_MAX_TC 8
2622
2623typedef struct
2624{
2625 /* STA index */
2626 wpt_macAddr macSTA;
2627
2628 /* BA Info */
2629 WDI_AddBAInfoType wdiBAInfo[STA_MAX_TC];
2630}WDI_TriggerBARspCandidateType;
2631
2632/*---------------------------------------------------------------------------
2633 WDI_TriggerBARspParamsType
2634---------------------------------------------------------------------------*/
2635typedef struct
2636{
2637 /*Status of the response*/
2638 WDI_Status wdiStatus;
2639
2640 /*BSSID of the BSS*/
2641 wpt_macAddr macBSSID;
2642
2643 /* Trigger BA response candidate count */
2644 wpt_uint16 usBaCandidateCnt;
2645
2646 /* WDI_TriggerBARspCandidateType followed by this*/
2647
2648}WDI_TriggerBARspParamsType;
2649
2650/*---------------------------------------------------------------------------
2651 WDI_DelBAReqinfoType
2652---------------------------------------------------------------------------*/
2653typedef struct
2654{
2655 /*Indicates the station for which BA is added..*/
2656 wpt_uint8 ucSTAIdx;
2657
2658 /*TID for which BA was negotiated*/
2659 wpt_uint8 ucBaTID;
2660
2661 /*Originator/Recipient*/
2662 wpt_uint8 ucBaDirection;
2663
2664}WDI_DelBAReqinfoType;
2665
2666/*---------------------------------------------------------------------------
2667 WDI_DelBAReqParamsType
2668---------------------------------------------------------------------------*/
2669typedef struct
2670{
2671 /*BA Info */
2672 WDI_DelBAReqinfoType wdiBAInfo;
2673
2674 /*Request status callback offered by UMAC - it is called if the current
2675 req has returned PENDING as status; it delivers the status of sending
2676 the message over the BUS */
2677 WDI_ReqStatusCb wdiReqStatusCB;
2678
2679 /*The user data passed in by UMAC, it will be sent back when the above
2680 function pointer will be called */
2681 void* pUserData;
2682}WDI_DelBAReqParamsType;
2683
2684
2685/*---------------------------------------------------------------------------
2686 WDI_SwitchCHRspParamsType
2687---------------------------------------------------------------------------*/
2688typedef struct
2689{
2690 /*Status of the response*/
2691 WDI_Status wdiStatus;
2692
2693 /*Indicates the channel that WLAN is on*/
2694 wpt_uint8 ucChannel;
2695
2696#ifdef WLAN_FEATURE_VOWIFI
2697 /*HAL fills in the tx power used for mgmt frames in this field.*/
2698 wpt_int8 ucTxMgmtPower;
2699#endif
2700
2701}WDI_SwitchCHRspParamsType;
2702
2703/*---------------------------------------------------------------------------
2704 WDI_ConfigSTAReqParamsType
2705---------------------------------------------------------------------------*/
2706typedef struct
2707{
2708 /*Info for the Join request that will be sent down to the device*/
2709 WDI_ConfigStaReqInfoType wdiReqInfo;
2710
2711 /*Request status callback offered by UMAC - it is called if the current
2712 req has returned PENDING as status; it delivers the status of sending
2713 the message over the BUS */
2714 WDI_ReqStatusCb wdiReqStatusCB;
2715
2716 /*The user data passed in by UMAC, it will be sent back when the above
2717 function pointer will be called */
2718 void* pUserData;
2719}WDI_ConfigSTAReqParamsType;
2720
2721
2722/*---------------------------------------------------------------------------
2723 WDI_UpdateBeaconParamsInfoType
2724---------------------------------------------------------------------------*/
2725
2726typedef struct
2727{
2728 /*BSS Index of the BSS*/
2729 wpt_uint8 ucBssIdx;
2730
2731 /*shortPreamble mode. HAL should update all the STA rates when it
2732 receives this message*/
2733 wpt_uint8 ucfShortPreamble;
2734 /* short Slot time.*/
2735 wpt_uint8 ucfShortSlotTime;
2736 /* Beacon Interval */
2737 wpt_uint16 usBeaconInterval;
2738 /*Protection related */
2739 wpt_uint8 ucllaCoexist;
2740 wpt_uint8 ucllbCoexist;
2741 wpt_uint8 ucllgCoexist;
2742 wpt_uint8 ucHt20MhzCoexist;
2743 wpt_uint8 ucllnNonGFCoexist;
2744 wpt_uint8 ucfLsigTXOPProtectionFullSupport;
2745 wpt_uint8 ucfRIFSMode;
2746
2747 wpt_uint16 usChangeBitmap;
2748}WDI_UpdateBeaconParamsInfoType;
2749
Mohit Khanna4a70d262012-09-11 16:30:12 -07002750#ifdef WLAN_FEATURE_11AC
2751typedef struct
2752{
2753 wpt_uint16 opMode;
2754 wpt_uint16 staId;
2755}WDI_UpdateVHTOpMode;
2756#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07002757
2758/*---------------------------------------------------------------------------
2759 WDI_UpdateBeaconParamsType
2760---------------------------------------------------------------------------*/
2761typedef struct
2762{
2763 /*Update Beacon Params Info*/
2764 WDI_UpdateBeaconParamsInfoType wdiUpdateBeaconParamsInfo;
2765
2766 /*Request status callback offered by UMAC - it is called if the current
2767 req has returned PENDING as status; it delivers the status of sending
2768 the message over the BUS */
2769 WDI_ReqStatusCb wdiReqStatusCB;
2770
2771 /*The user data passed in by UMAC, it will be sent back when the above
2772 function pointer will be called */
2773 void* pUserData;
2774}WDI_UpdateBeaconParamsType;
2775
2776/*---------------------------------------------------------------------------
2777 WDI_SendBeaconParamsInfoType
2778---------------------------------------------------------------------------*/
2779
2780typedef struct {
2781
2782 /*BSSID of the BSS*/
2783 wpt_macAddr macBSSID;
2784
2785 /* Beacon data */
2786 wpt_uint8 beacon[WDI_BEACON_TEMPLATE_SIZE];
2787
2788 /* length of the template */
2789 wpt_uint32 beaconLength;
2790
Jeff Johnson295189b2012-06-20 16:38:30 -07002791 /* TIM IE offset from the beginning of the template.*/
2792 wpt_uint32 timIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07002793
Jeff Johnson295189b2012-06-20 16:38:30 -07002794 /* P2P IE offset from the beginning of the template */
2795 wpt_uint16 usP2PIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07002796} WDI_SendBeaconParamsInfoType;
2797
2798/*---------------------------------------------------------------------------
2799 WDI_SendBeaconParamsType
2800---------------------------------------------------------------------------*/
2801typedef struct
2802{
2803 /*Send Beacon Params Info*/
2804 WDI_SendBeaconParamsInfoType wdiSendBeaconParamsInfo;
2805
2806 /*Request status callback offered by UMAC - it is called if the current
2807 req has returned PENDING as status; it delivers the status of sending
2808 the message over the BUS */
2809 WDI_ReqStatusCb wdiReqStatusCB;
2810
2811 /*The user data passed in by UMAC, it will be sent back when the above
2812 function pointer will be called */
2813 void* pUserData;
2814}WDI_SendBeaconParamsType;
2815
2816/*---------------------------------------------------------------------------
2817 WDI_LinkStateType
2818---------------------------------------------------------------------------*/
2819typedef enum
2820{
2821 WDI_LINK_IDLE_STATE = 0,
2822 WDI_LINK_PREASSOC_STATE = 1,
2823 WDI_LINK_POSTASSOC_STATE = 2,
2824 WDI_LINK_AP_STATE = 3,
2825 WDI_LINK_IBSS_STATE = 4,
2826
2827 // BT-AMP Case
2828 WDI_LINK_BTAMP_PREASSOC_STATE = 5,
2829 WDI_LINK_BTAMP_POSTASSOC_STATE = 6,
2830 WDI_LINK_BTAMP_AP_STATE = 7,
2831 WDI_LINK_BTAMP_STA_STATE = 8,
2832
2833 // Reserved for HAL internal use
2834 WDI_LINK_LEARN_STATE = 9,
2835 WDI_LINK_SCAN_STATE = 10,
2836 WDI_LINK_FINISH_SCAN_STATE = 11,
2837 WDI_LINK_INIT_CAL_STATE = 12,
2838 WDI_LINK_FINISH_CAL_STATE = 13,
Jeff Johnson295189b2012-06-20 16:38:30 -07002839 WDI_LINK_LISTEN_STATE = 14,
Gopichand Nakkala924e4552013-05-08 19:18:14 +05302840 WDI_LINK_SEND_ACTION_STATE = 15,
Jeff Johnson295189b2012-06-20 16:38:30 -07002841 WDI_LINK_MAX = 0x7FFFFFFF
2842} WDI_LinkStateType;
2843
2844/*---------------------------------------------------------------------------
2845 WDI_SetLinkReqInfoType
2846---------------------------------------------------------------------------*/
2847typedef struct
2848{
2849 /*BSSID of the BSS*/
2850 wpt_macAddr macBSSID;
2851
2852 /*Link state*/
2853 WDI_LinkStateType wdiLinkState;
2854
2855 /*BSSID of the BSS*/
2856 wpt_macAddr macSelfStaMacAddr;
2857}WDI_SetLinkReqInfoType;
2858
2859/*---------------------------------------------------------------------------
2860 WDI_SetLinkReqParamsType
2861---------------------------------------------------------------------------*/
2862typedef struct
2863{
2864 /*Link Info*/
2865 WDI_SetLinkReqInfoType wdiLinkInfo;
2866
2867 /*Request status callback offered by UMAC - it is called if the current
2868 req has returned PENDING as status; it delivers the status of sending
2869 the message over the BUS */
2870 WDI_ReqStatusCb wdiReqStatusCB;
2871
2872 /*The user data passed in by UMAC, it will be sent back when the above
2873 function pointer will be called */
2874 void* pUserData;
2875}WDI_SetLinkReqParamsType;
2876
2877/*---------------------------------------------------------------------------
2878 WDI_GetStatsParamsInfoType
2879---------------------------------------------------------------------------*/
2880typedef struct
2881{
2882 /*Indicates the station for which Get Stats are requested..*/
2883 wpt_uint8 ucSTAIdx;
2884
2885 /* categories of stats requested */
2886 wpt_uint32 uStatsMask;
2887}WDI_GetStatsParamsInfoType;
2888
2889/*---------------------------------------------------------------------------
2890 WDI_GetStatsReqParamsType
2891---------------------------------------------------------------------------*/
2892typedef struct
2893{
2894 /*Get Stats Params Info*/
2895 WDI_GetStatsParamsInfoType wdiGetStatsParamsInfo;
2896
2897 /*Request status callback offered by UMAC - it is called if the current
2898 req has returned PENDING as status; it delivers the status of sending
2899 the message over the BUS */
2900 WDI_ReqStatusCb wdiReqStatusCB;
2901
2902 /*The user data passed in by UMAC, it will be sent back when the above
2903 function pointer will be called */
2904 void* pUserData;
2905}WDI_GetStatsReqParamsType;
2906
2907/*---------------------------------------------------------------------------
2908 WDI_GetStatsRspParamsType
2909---------------------------------------------------------------------------*/
2910typedef struct
2911{
2912 /*message type is same as the request type*/
2913 wpt_uint16 usMsgType;
2914
2915 /* length of the entire request, includes the pStatsBuf length too*/
2916 wpt_uint16 usMsgLen;
2917
2918 /*Result of the operation*/
2919 WDI_Status wdiStatus;
2920
2921 /*Indicates the station for which Get Stats are requested..*/
2922 wpt_uint8 ucSTAIdx;
2923
2924 /* categories of stats requested */
2925 wpt_uint32 uStatsMask;
2926
2927 /* The Stats buffer starts here and can be an aggregate of more than one statistics
2928 * structure depending on statsMask.*/
2929}WDI_GetStatsRspParamsType;
2930
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08002931#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_CCX || defined(FEATURE_WLAN_LFR)
2932/*---------------------------------------------------------------------------
2933 WDI_GetRoamRssiParamsInfoType
2934---------------------------------------------------------------------------*/
2935typedef struct
2936{
2937 /*Indicates the station for which Get Stats are requested..*/
2938 wpt_uint8 ucSTAIdx;
2939
2940 /* categories of stats requested */
2941 wpt_uint32 uStatsMask;
2942}WDI_GetRoamRssiParamsInfoType;
2943
2944/*---------------------------------------------------------------------------
2945 WDI_GetRoamRssiReqParamsType
2946---------------------------------------------------------------------------*/
2947typedef struct
2948{
2949 /*Get Roam Rssi Params Info*/
2950 WDI_GetRoamRssiParamsInfoType wdiGetRoamRssiParamsInfo;
2951
2952 /*Request status callback offered by UMAC - it is called if the current
2953 req has returned PENDING as status; it delivers the status of sending
2954 the message over the BUS */
2955 WDI_ReqStatusCb wdiReqStatusCB;
2956
2957 /*The user data passed in by UMAC, it will be sent back when the above
2958 function pointer will be called */
2959 void* pUserData;
2960}WDI_GetRoamRssiReqParamsType;
2961
2962/*---------------------------------------------------------------------------
2963 WDI_GetRoamRssiRspParamsType
2964---------------------------------------------------------------------------*/
2965typedef struct
2966{
2967 /*Result of the operation*/
2968 WDI_Status wdiStatus;
2969
2970 /*Indicates the station for which Get Stats are requested..*/
2971 wpt_uint8 ucSTAIdx;
2972
2973 /* roam rssi requested */
2974 wpt_int8 rssi;
2975
2976 /* The Stats buffer starts here and can be an aggregate of more than one statistics
2977 * structure depending on statsMask.*/
2978}WDI_GetRoamRssiRspParamsType;
2979#endif
2980
Jeff Johnson295189b2012-06-20 16:38:30 -07002981#ifdef FEATURE_WLAN_CCX
2982/*---------------------------------------------------------------------------
2983 WDI_TSMStatsParamsInfoType
2984---------------------------------------------------------------------------*/
2985typedef struct
2986{
2987 /*Indicates the station for which Get Stats are requested..*/
2988 wpt_uint8 ucTid;
2989
2990 wpt_macAddr bssid;
2991}WDI_TSMStatsParamsInfoType;
2992
2993/*---------------------------------------------------------------------------
2994 WDI_TSMStatsReqParamsType
2995---------------------------------------------------------------------------*/
2996typedef struct
2997{
2998 /*Get TSM Stats Params Info*/
2999 WDI_TSMStatsParamsInfoType wdiTsmStatsParamsInfo;
3000
3001 WDI_ReqStatusCb wdiReqStatusCB;
3002
3003 /*The user data passed in by UMAC, it will be sent back when the above
3004 function pointer will be called */
3005 void* pUserData;
3006
3007}WDI_TSMStatsReqParamsType;
3008
3009
3010/*---------------------------------------------------------------------------
3011 WDI_TSMStatsRspParamsType
3012---------------------------------------------------------------------------*/
3013typedef struct
3014{
3015 /*Indicates the status of the operation */
3016 WDI_Status wdiStatus;
3017
3018 wpt_uint16 UplinkPktQueueDly;
3019 wpt_uint16 UplinkPktQueueDlyHist[4];
3020 wpt_uint32 UplinkPktTxDly;
3021 wpt_uint16 UplinkPktLoss;
3022 wpt_uint16 UplinkPktCount;
3023 wpt_uint8 RoamingCount;
3024 wpt_uint16 RoamingDly;
3025}WDI_TSMStatsRspParamsType;
3026
3027
3028#endif
3029/*---------------------------------------------------------------------------
3030 WDI_UpdateCfgReqParamsType
3031---------------------------------------------------------------------------*/
3032typedef struct
3033{
3034 /*This is a TLV formatted buffer containing all config values that can
3035 be set through the DAL Interface
3036
3037 The TLV is expected to be formatted like this:
3038
3039 0 7 15 31 ....
3040 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
3041
3042 Or from a C construct point of VU it would look like this:
3043
3044 typedef struct WPT_PACK_POST
3045 {
3046 #ifdef WPT_BIG_ENDIAN
3047 wpt_uint32 ucCfgId:8;
3048 wpt_uint32 ucCfgLen:8;
3049 wpt_uint32 usReserved:16;
3050 #else
3051 wpt_uint32 usReserved:16;
3052 wpt_uint32 ucCfgLen:8;
3053 wpt_uint32 ucCfgId:8;
3054 #endif
3055
3056 wpt_uint8 ucCfgBody[ucCfgLen];
3057 }WDI_ConfigType;
3058
3059 Multiple such tuplets are to be placed in the config buffer. One for
3060 each required configuration item:
3061
3062 | TLV 1 | TLV2 | ....
3063
3064 The buffer is expected to be a flat area of memory that can be manipulated
3065 with standard memory routines.
3066
3067 For more info please check paragraph 2.3.1 Config Structure from the
3068 HAL LLD.
3069
3070 For a list of accepted configuration list and IDs please look up
3071 wlan_qct_dal_cfg.h
3072 */
3073 void* pConfigBuffer;
3074
3075 /*Length of the config buffer above*/
3076 wpt_uint32 uConfigBufferLen;
3077
3078 /*Request status callback offered by UMAC - it is called if the current
3079 req has returned PENDING as status; it delivers the status of sending
3080 the message over the BUS */
3081 WDI_ReqStatusCb wdiReqStatusCB;
3082
3083 /*The user data passed in by UMAC, it will be sent back when the above
3084 function pointer will be called */
3085 void* pUserData;
3086}WDI_UpdateCfgReqParamsType;
3087
3088/*---------------------------------------------------------------------------
3089 WDI_UpdateProbeRspTemplateInfoType
3090---------------------------------------------------------------------------*/
3091//Default Beacon template size
3092#define WDI_PROBE_RSP_TEMPLATE_SIZE 0x180
3093
3094#define WDI_PROBE_REQ_BITMAP_IE_LEN 8
3095
3096typedef struct
3097{
3098 /*BSSID for which the Probe Template is to be used*/
3099 wpt_macAddr macBSSID;
3100
3101 /*Probe response template*/
3102 wpt_uint8 *pProbeRespTemplate[WDI_PROBE_RSP_TEMPLATE_SIZE];
3103
3104 /*Template Len*/
3105 wpt_uint32 uProbeRespTemplateLen;
3106
3107 /*Bitmap for the IEs that are to be handled at SLM level*/
3108 wpt_uint32 uaProxyProbeReqValidIEBmap[WDI_PROBE_REQ_BITMAP_IE_LEN];
3109
3110}WDI_UpdateProbeRspTemplateInfoType;
3111
3112/*---------------------------------------------------------------------------
3113 WDI_UpdateProbeRspParamsType
3114---------------------------------------------------------------------------*/
3115typedef struct
3116{
3117 /*Link Info*/
3118 WDI_UpdateProbeRspTemplateInfoType wdiProbeRspTemplateInfo;
3119
3120 /*Request status callback offered by UMAC - it is called if the current
3121 req has returned PENDING as status; it delivers the status of sending
3122 the message over the BUS */
3123 WDI_ReqStatusCb wdiReqStatusCB;
3124
3125 /*The user data passed in by UMAC, it will be sent back when the above
3126 function pointer will be called */
3127 void* pUserData;
3128}WDI_UpdateProbeRspTemplateParamsType;
3129
3130/*---------------------------------------------------------------------------
3131 WDI_NvDownloadReqBlobInfo
3132---------------------------------------------------------------------------*/
3133
3134typedef struct
3135{
3136 /* Blob starting address*/
3137 void *pBlobAddress;
3138
3139 /* Blob size */
3140 wpt_uint32 uBlobSize;
3141
3142}WDI_NvDownloadReqBlobInfo;
3143
3144/*---------------------------------------------------------------------------
3145 WDI_NvDownloadReqParamsType
3146---------------------------------------------------------------------------*/
3147typedef struct
3148{
3149 /*NV Blob Info*/
3150 WDI_NvDownloadReqBlobInfo wdiBlobInfo;
3151
3152 /*Request status callback offered by UMAC - it is called if the current
3153 req has returned PENDING as status; it delivers the status of sending
3154 the message over the BUS */
3155 WDI_ReqStatusCb wdiReqStatusCB;
3156
3157 /*The user data passed in by UMAC, it will be sent back when the above
3158 function pointer will be called */
3159 void* pUserData;
3160
3161}WDI_NvDownloadReqParamsType;
3162
3163/*---------------------------------------------------------------------------
3164 WDI_NvDownloadRspInfoType
3165---------------------------------------------------------------------------*/
3166typedef struct
3167{
3168 /*Status of the response*/
3169 WDI_Status wdiStatus;
3170
3171}WDI_NvDownloadRspInfoType;
3172
3173/*---------------------------------------------------------------------------
3174 WDI_SetMaxTxPowerInfoType
3175---------------------------------------------------------------------------*/
3176
3177typedef struct
3178{
3179 /*BSSID is needed to identify which session issued this request. As the request has
3180 power constraints, this should be applied only to that session*/
3181 wpt_macAddr macBSSId;
3182
3183
3184 wpt_macAddr macSelfStaMacAddr;
3185
3186 /* In request power == MaxTxpower to be used.*/
3187 wpt_int8 ucPower;
3188
3189}WDI_SetMaxTxPowerInfoType;
3190
3191/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003192 WDI_SetTxPowerInfoType
3193---------------------------------------------------------------------------*/
3194
3195typedef struct
3196{
3197 wpt_uint8 bssIdx;
3198 /* In request power == MaxTxpower to be used.*/
3199 wpt_uint8 ucPower;
3200
3201}WDI_SetTxPowerInfoType;
3202
3203/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003204 WDI_SetMaxTxPowerParamsType
3205---------------------------------------------------------------------------*/
3206typedef struct
3207{
3208 /*Link Info*/
3209 WDI_SetMaxTxPowerInfoType wdiMaxTxPowerInfo;
3210
3211 /*Request status callback offered by UMAC - it is called if the current
3212 req has returned PENDING as status; it delivers the status of sending
3213 the message over the BUS */
3214 WDI_ReqStatusCb wdiReqStatusCB;
3215
3216 /*The user data passed in by UMAC, it will be sent back when the above
3217 function pointer will be called */
3218 void* pUserData;
3219}WDI_SetMaxTxPowerParamsType;
3220
schang86c22c42013-03-13 18:41:24 -07003221/*---------------------------------------------------------------------------
3222 WDI_SetTxPowerParamsType
3223---------------------------------------------------------------------------*/
3224typedef struct
3225{
3226 /*Link Info*/
3227 WDI_SetTxPowerInfoType wdiTxPowerInfo;
3228
3229 /*Request status callback offered by UMAC - it is called if the current
3230 req has returned PENDING as status; it delivers the status of sending
3231 the message over the BUS */
3232 WDI_ReqStatusCb wdiReqStatusCB;
3233
3234 /*The user data passed in by UMAC, it will be sent back when the above
3235 function pointer will be called */
3236 void* pUserData;
3237}WDI_SetTxPowerParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003238
3239/*---------------------------------------------------------------------------
3240 WDI_SetMaxTxPowerRspMsg
3241---------------------------------------------------------------------------*/
3242
3243typedef struct
3244{
3245 /* In response, power==tx power used for management frames*/
3246 wpt_int8 ucPower;
3247
3248 /*Result of the operation*/
3249 WDI_Status wdiStatus;
3250
3251}WDI_SetMaxTxPowerRspMsg;
3252
schang86c22c42013-03-13 18:41:24 -07003253/*---------------------------------------------------------------------------
3254 WDI_SetTxPowerRspMsg
3255---------------------------------------------------------------------------*/
3256
3257typedef struct
3258{
3259 /* In response, power==tx power used for management frames*/
3260 wpt_int8 ucPower;
3261
3262 /*Result of the operation*/
3263 WDI_Status wdiStatus;
3264
3265}WDI_SetTxPowerRspMsg;
3266
Jeff Johnson295189b2012-06-20 16:38:30 -07003267typedef struct
3268{
3269 wpt_uint8 ucOpp_ps;
3270 wpt_uint32 uCtWindow;
3271 wpt_uint8 ucCount;
3272 wpt_uint32 uDuration;
3273 wpt_uint32 uInterval;
3274 wpt_uint32 uSingle_noa_duration;
3275 wpt_uint8 ucPsSelection;
3276}WDI_SetP2PGONOAReqInfoType;
3277
3278/*---------------------------------------------------------------------------
3279 WDI_SetP2PGONOAReqParamsType
3280---------------------------------------------------------------------------*/
3281typedef struct
3282{
3283 /*P2P GO NOA Req*/
3284 WDI_SetP2PGONOAReqInfoType wdiP2PGONOAInfo;
3285
3286 /*Request status callback offered by UMAC - it is called if the current
3287 req has returned PENDING as status; it delivers the status of sending
3288 the message over the BUS */
3289 WDI_ReqStatusCb wdiReqStatusCB;
3290
3291 /*The user data passed in by UMAC, it will be sent back when the above
3292 function pointer will be called */
3293 void* pUserData;
3294}WDI_SetP2PGONOAReqParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003295
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303296typedef struct
3297{
3298 wpt_uint16 uStaIdx;
3299 wpt_uint8 uIsResponder;
3300 wpt_uint8 uUapsdQueues;
3301 wpt_uint8 uMaxSp;
3302 wpt_uint8 uIsBufSta;
3303}WDI_SetTDLSLinkEstablishReqInfoType;
3304/*---------------------------------------------------------------------------
3305 WDI_SetTDLSLinkEstablishReqParamsType
3306---------------------------------------------------------------------------*/
3307typedef struct
3308{
3309 /*TDLS Link Establish Req*/
3310 WDI_SetTDLSLinkEstablishReqInfoType wdiTDLSLinkEstablishInfo;
3311
3312 /*Request status callback offered by UMAC - it is called if the current
3313 req has returned PENDING as status; it delivers the status of sending
3314 the message over the BUS */
3315 WDI_ReqStatusCb wdiReqStatusCB;
3316
3317 /*The user data passed in by UMAC, it will be sent back when the above
3318 function pointer will be called */
3319 void* pUserData;
3320}WDI_SetTDLSLinkEstablishReqParamsType;
3321
3322
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05303323typedef struct
3324{
3325 /*Result of the operation*/
3326 WDI_Status wdiStatus;
3327
3328 /*STA Idx*/
3329 wpt_uint16 uStaIdx;
3330}WDI_SetTdlsLinkEstablishReqResp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003331
3332/*---------------------------------------------------------------------------
3333 WDI_SetAddSTASelfParamsType
3334---------------------------------------------------------------------------*/
3335typedef struct
3336{
3337 /*Self Station MAC address*/
3338 wpt_macAddr selfMacAddr;
3339
Kiran Kumar Lokere0ad5cd32013-06-25 11:26:22 -07003340 /*Self STA device mode*/
3341 wpt_uint32 currDeviceMode;
3342
Jeff Johnson295189b2012-06-20 16:38:30 -07003343 /*Status of the operation*/
3344 wpt_uint32 uStatus;
3345}WDI_AddSTASelfInfoType;
3346
3347/*---------------------------------------------------------------------------
3348 WDI_SetAddSTASelfParamsType
3349---------------------------------------------------------------------------*/
3350typedef struct
3351{
3352 /* Add Sta Self Req */
3353 WDI_AddSTASelfInfoType wdiAddSTASelfInfo;
3354
3355 /*Request status callback offered by UMAC - it is called if the current
3356 req has returned PENDING as status; it delivers the status of sending
3357 the message over the BUS */
3358 WDI_ReqStatusCb wdiReqStatusCB;
3359
3360 /*The user data passed in by UMAC, it will be sent back when the above
3361 function pointer will be called */
3362 void* pUserData;
3363}WDI_AddSTASelfReqParamsType;
3364
3365
3366/*---------------------------------------------------------------------------
3367 WDI_AddSTASelfRspParamsType
3368---------------------------------------------------------------------------*/
3369typedef struct
3370{
3371 /*Status of the response*/
3372 WDI_Status wdiStatus;
3373
3374 /*STA Idx allocated by HAL*/
3375 wpt_uint8 ucSTASelfIdx;
3376
3377 /* DPU Index (IGTK, PTK, GTK all same) */
3378 wpt_uint8 dpuIdx;
3379
3380 /* DPU Signature */
3381 wpt_uint8 dpuSignature;
3382
3383 /*Self STA Mac*/
3384 wpt_macAddr macSelfSta;
3385
3386}WDI_AddSTASelfRspParamsType;
3387
3388/*---------------------------------------------------------------------------
3389 WDI_DelSTASelfReqParamsType
3390 Del Sta Self info passed to WDI form WDA
3391---------------------------------------------------------------------------*/
3392typedef struct
3393{
3394 wpt_macAddr selfMacAddr;
3395
3396}WDI_DelSTASelfInfoType;
3397
3398/*---------------------------------------------------------------------------
3399 WDI_DelSTASelfReqParamsType
3400 Del Sta Self info passed to WDI form WDA
3401---------------------------------------------------------------------------*/
3402typedef struct
3403{
3404 /*Del Sta Self Info Type */
3405 WDI_DelSTASelfInfoType wdiDelStaSelfInfo;
3406 /*Request status callback offered by UMAC - it is called if the current req
3407 has returned PENDING as status; it delivers the status of sending the message
3408 over the BUS */
3409 WDI_ReqStatusCb wdiReqStatusCB;
3410 /*The user data passed in by UMAC, it will be sent back when the above
3411 function pointer will be called */
3412 void* pUserData;
3413}WDI_DelSTASelfReqParamsType;
3414
3415/*---------------------------------------------------------------------------
3416 WDI_DelSTASelfRspParamsType
3417---------------------------------------------------------------------------*/
3418typedef struct
3419{
3420 /*Status of the response*/
3421 WDI_Status wdiStatus;
3422
3423 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
3424// wpt_uint8 ucSTAIdx;
3425}WDI_DelSTASelfRspParamsType;
3426
3427/*---------------------------------------------------------------------------
3428 WDI_UapsdInfoType
3429 UAPSD parameters passed per AC to WDA from UMAC
3430---------------------------------------------------------------------------*/
3431typedef struct
3432{
3433 wpt_uint8 ucSTAIdx; // STA index
3434 wpt_uint8 ucAc; // Access Category
3435 wpt_uint8 ucUp; // User Priority
3436 wpt_uint32 uSrvInterval; // Service Interval
3437 wpt_uint32 uSusInterval; // Suspend Interval
3438 wpt_uint32 uDelayInterval; // Delay Interval
3439} WDI_UapsdInfoType;
3440
3441/*---------------------------------------------------------------------------
3442 WDI_SetUapsdAcParamsReqParamsType
3443 UAPSD parameters passed per AC to WDI from WDA
3444---------------------------------------------------------------------------*/
3445typedef struct
3446{
3447 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3448 WDI_UapsdInfoType wdiUapsdInfo;
3449 /*Request status callback offered by UMAC - it is called if the current req
3450 has returned PENDING as status; it delivers the status of sending the message
3451 over the BUS */
3452 WDI_ReqStatusCb wdiReqStatusCB;
3453 /*The user data passed in by UMAC, it will be sent back when the above
3454 function pointer will be called */
3455 void* pUserData;
3456}WDI_SetUapsdAcParamsReqParamsType;
3457
3458/*---------------------------------------------------------------------------
3459 WDI_EnterBmpsReqinfoType
3460 Enter BMPS parameters passed to WDA from UMAC
3461---------------------------------------------------------------------------*/
3462typedef struct
3463{
3464 //TBTT value derived from the last beacon
3465 wpt_uint8 ucBssIdx;
3466 wpt_uint64 uTbtt;
3467 wpt_uint8 ucDtimCount;
3468 //DTIM period given to HAL during association may not be valid,
3469 //if association is based on ProbeRsp instead of beacon.
3470 wpt_uint8 ucDtimPeriod;
3471 /* DXE physical addr to be passed down to RIVA. RIVA HAL will use it to program
3472 DXE when DXE wakes up from power save*/
3473 unsigned int dxePhyAddr;
3474
3475 // For CCX and 11R Roaming
3476 wpt_uint32 rssiFilterPeriod;
3477 wpt_uint32 numBeaconPerRssiAverage;
3478 wpt_uint8 bRssiFilterEnable;
3479}WDI_EnterBmpsReqinfoType;
3480
3481/*---------------------------------------------------------------------------
3482 WDI_EnterBmpsReqParamsType
3483 Enter BMPS parameters passed to WDI from WDA
3484---------------------------------------------------------------------------*/
3485typedef struct
3486{
3487 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3488 WDI_EnterBmpsReqinfoType wdiEnterBmpsInfo;
3489 /*Request status callback offered by UMAC - it is called if the current req
3490 has returned PENDING as status; it delivers the status of sending the message
3491 over the BUS */
3492 WDI_ReqStatusCb wdiReqStatusCB;
3493 /*The user data passed in by UMAC, it will be sent back when the above
3494 function pointer will be called */
3495 void* pUserData;
3496}WDI_EnterBmpsReqParamsType;
3497
3498/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003499 WDI_EnterBmpsReqParamsType
3500 Enter BMPS parameters passed from WDI to WDA
3501---------------------------------------------------------------------------*/
3502typedef struct
3503{
3504 /*Status of the response*/
3505 WDI_Status wdiStatus;
3506
3507 /*BssIDX of the session*/
3508 wpt_uint8 bssIdx;
3509}WDI_EnterBmpsRspParamsType;
3510
3511/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003512 WDI_ExitBmpsReqinfoType
3513 Exit BMPS parameters passed to WDA from UMAC
3514---------------------------------------------------------------------------*/
3515typedef struct
3516{
3517 wpt_uint8 ucSendDataNull;
Jeff Johnsone7245742012-09-05 17:12:55 -07003518 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003519}WDI_ExitBmpsReqinfoType;
3520
3521/*---------------------------------------------------------------------------
3522 WDI_ExitBmpsReqParamsType
3523 Exit BMPS parameters passed to WDI from WDA
3524---------------------------------------------------------------------------*/
3525typedef struct
3526{
3527 /*Exit BMPS Info Type, same as tExitBmpsParams */
3528 WDI_ExitBmpsReqinfoType wdiExitBmpsInfo;
3529 /*Request status callback offered by UMAC - it is called if the current req
3530 has returned PENDING as status; it delivers the status of sending the message
3531 over the BUS */
3532 WDI_ReqStatusCb wdiReqStatusCB;
3533 /*The user data passed in by UMAC, it will be sent back when the above
3534 function pointer will be called */
3535 void* pUserData;
3536}WDI_ExitBmpsReqParamsType;
3537
3538/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003539 WDI_ExitBmpsReqParamsType
3540 Exit BMPS parameters passed from WDI to WDA
3541---------------------------------------------------------------------------*/
3542typedef struct
3543{
3544 /*Status of the response*/
3545 WDI_Status wdiStatus;
3546
3547 /*BssIDX of the session*/
3548 wpt_uint8 bssIdx;
3549}WDI_ExitBmpsRspParamsType;
3550
3551/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003552 WDI_EnterUapsdReqinfoType
3553 Enter UAPSD parameters passed to WDA from UMAC
3554---------------------------------------------------------------------------*/
3555typedef struct
3556{
3557 wpt_uint8 ucBkDeliveryEnabled:1;
3558 wpt_uint8 ucBeDeliveryEnabled:1;
3559 wpt_uint8 ucViDeliveryEnabled:1;
3560 wpt_uint8 ucVoDeliveryEnabled:1;
3561 wpt_uint8 ucBkTriggerEnabled:1;
3562 wpt_uint8 ucBeTriggerEnabled:1;
3563 wpt_uint8 ucViTriggerEnabled:1;
3564 wpt_uint8 ucVoTriggerEnabled:1;
Jeff Johnsone7245742012-09-05 17:12:55 -07003565 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003566}WDI_EnterUapsdReqinfoType;
3567
3568/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003569 WDI_EnterUapsdRspParamsType
3570 Enter UAPSD parameters passed from WDI to WDA
3571---------------------------------------------------------------------------*/
3572typedef struct
3573{
3574 /*Status of the response*/
3575 WDI_Status wdiStatus;
3576
3577 /*BssIDX of the session*/
3578 wpt_uint8 bssIdx;
3579}WDI_EnterUapsdRspParamsType;
3580
3581/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003582 WDI_EnterUapsdReqinfoType
3583 Enter UAPSD parameters passed to WDI from WDA
3584---------------------------------------------------------------------------*/
3585typedef struct
3586{
3587 /*Enter UAPSD Info Type, same as tUapsdParams */
3588 WDI_EnterUapsdReqinfoType wdiEnterUapsdInfo;
3589 /*Request status callback offered by UMAC - it is called if the current req
3590 has returned PENDING as status; it delivers the status of sending the message
3591 over the BUS */
3592 WDI_ReqStatusCb wdiReqStatusCB;
3593 /*The user data passed in by UMAC, it will be sent back when the above
3594 function pointer will be called */
3595 void* pUserData;
3596}WDI_EnterUapsdReqParamsType;
3597
3598/*---------------------------------------------------------------------------
3599 WDI_UpdateUapsdReqinfoType
3600 Update UAPSD parameters passed to WDA from UMAC
3601---------------------------------------------------------------------------*/
3602typedef struct
3603{
3604 wpt_uint8 ucSTAIdx;
3605 wpt_uint8 ucUapsdACMask;
3606 wpt_uint32 uMaxSpLen;
3607}WDI_UpdateUapsdReqinfoType;
3608
3609/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003610 WDI_ExitUapsdReqinfoType
3611 Exit UAPSD parameters passed to WDA from UMAC
3612---------------------------------------------------------------------------*/
3613typedef struct
3614{
3615 wpt_uint8 bssIdx;
3616}WDI_ExitUapsdReqinfoType;
3617
3618/*---------------------------------------------------------------------------
3619 WDI_ExitUapsdReqParamsType
3620 Exit UAPSD parameters passed to WDI from WDA
3621---------------------------------------------------------------------------*/
3622typedef struct
3623{
3624 /*Exit UAPSD Info Type, same as tUapsdParams */
3625 WDI_ExitUapsdReqinfoType wdiExitUapsdInfo;
3626 /*Request status callback offered by UMAC - it is called if the current req
3627 has returned PENDING as status; it delivers the status of sending the message
3628 over the BUS */
3629 WDI_ReqStatusCb wdiReqStatusCB;
3630 /*The user data passed in by UMAC, it will be sent back when the above
3631 function pointer will be called */
3632 void* pUserData;
3633}WDI_ExitUapsdReqParamsType;
3634
3635/*---------------------------------------------------------------------------
3636 WDI_ExitUapsdRspParamsType
3637 Exit UAPSD parameters passed from WDI to WDA
3638---------------------------------------------------------------------------*/
3639typedef struct
3640{
3641 /*Status of the response*/
3642 WDI_Status wdiStatus;
3643
3644 /*BssIDX of the session*/
3645 wpt_uint8 bssIdx;
3646}WDI_ExitUapsdRspParamsType;
3647
3648/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003649 WDI_UpdateUapsdReqParamsType
3650 Update UAPSD parameters passed to WDI form WDA
3651---------------------------------------------------------------------------*/
3652typedef struct
3653{
3654 /*Update UAPSD Info Type, same as tUpdateUapsdParams */
3655 WDI_UpdateUapsdReqinfoType wdiUpdateUapsdInfo;
3656 /*Request status callback offered by UMAC - it is called if the current req
3657 has returned PENDING as status; it delivers the status of sending the message
3658 over the BUS */
3659 WDI_ReqStatusCb wdiReqStatusCB;
3660 /*The user data passed in by UMAC, it will be sent back when the above
3661 function pointer will be called */
3662 void* pUserData;
3663}WDI_UpdateUapsdReqParamsType;
3664
3665/*---------------------------------------------------------------------------
3666 WDI_ConfigureRxpFilterReqParamsType
3667 RXP filter parameters passed to WDI form WDA
3668---------------------------------------------------------------------------*/
3669typedef struct
3670{
3671 /* Mode of Mcast and Bcast filters configured */
3672 wpt_uint8 ucSetMcstBcstFilterSetting;
3673
3674 /* Mcast Bcast Filters enable/disable*/
3675 wpt_uint8 ucSetMcstBcstFilter;
3676}WDI_RxpFilterReqParamsType;
3677
3678typedef struct
3679{
3680 /* Rxp Filter */
3681 WDI_RxpFilterReqParamsType wdiRxpFilterParam;
3682
3683 /*Request status callback offered by UMAC - it is called if the current req
3684 has returned PENDING as status; it delivers the status of sending the message
3685 over the BUS */
3686 WDI_ReqStatusCb wdiReqStatusCB;
3687 /*The user data passed in by UMAC, it will be sent back when the above
3688 function pointer will be called */
3689 void* pUserData;
3690}WDI_ConfigureRxpFilterReqParamsType;
3691
3692/*---------------------------------------------------------------------------
3693 WDI_BeaconFilterInfoType
3694 Beacon Filtering data structures passed to WDA form UMAC
3695---------------------------------------------------------------------------*/
3696typedef struct
3697{
3698 wpt_uint16 usCapabilityInfo;
3699 wpt_uint16 usCapabilityMask;
3700 wpt_uint16 usBeaconInterval;
3701 wpt_uint16 usIeNum;
Madan Mohan Koyyalamudia84edda2012-10-15 14:58:25 -07003702 wpt_uint8 bssIdx;
3703 wpt_uint8 reserved;
Jeff Johnson295189b2012-06-20 16:38:30 -07003704}WDI_BeaconFilterInfoType;
3705
3706/*---------------------------------------------------------------------------
3707 WDI_BeaconFilterReqParamsType
3708 Beacon Filtering parameters passed to WDI form WDA
3709---------------------------------------------------------------------------*/
3710typedef struct
3711{
3712 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
3713 WDI_BeaconFilterInfoType wdiBeaconFilterInfo;
3714 /*Beacon Filter(s) follow the "usIeNum" field, hence the array to ease the
3715 copy of params from WDA to WDI */
3716 wpt_uint8 aFilters[WDI_BEACON_FILTER_LEN];
3717 /*Request status callback offered by UMAC - it is called if the current req
3718 has returned PENDING as status; it delivers the status of sending the message
3719 over the BUS */
3720 WDI_ReqStatusCb wdiReqStatusCB;
3721 /*The user data passed in by UMAC, it will be sent back when the above
3722 function pointer will be called */
3723 void* pUserData;
3724}WDI_BeaconFilterReqParamsType;
3725
3726/*---------------------------------------------------------------------------
3727 WDI_RemBeaconFilterInfoType
3728 Beacon Filtering data structures (to be reomoved) passed to WDA form UMAC
3729---------------------------------------------------------------------------*/
3730typedef struct
3731{
3732 wpt_uint8 ucIeCount;
3733 wpt_uint8 ucRemIeId[1];
3734}WDI_RemBeaconFilterInfoType;
3735
3736/*---------------------------------------------------------------------------
3737 WDI_RemBeaconFilterReqParamsType
3738 Beacon Filtering parameters (to be reomoved)passed to WDI form WDA
3739---------------------------------------------------------------------------*/
3740typedef struct
3741{
3742 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
3743 WDI_RemBeaconFilterInfoType wdiBeaconFilterInfo;
3744 /*Request status callback offered by UMAC - it is called if the current req
3745 has returned PENDING as status; it delivers the status of sending the message
3746 over the BUS */
3747 WDI_ReqStatusCb wdiReqStatusCB;
3748 /*The user data passed in by UMAC, it will be sent back when the above
3749 function pointer will be called */
3750 void* pUserData;
3751}WDI_RemBeaconFilterReqParamsType;
3752
3753/*---------------------------------------------------------------------------
3754 WDI_RSSIThresholdsType
3755 RSSI thresholds data structures (to be reomoved) passed to WDA form UMAC
3756---------------------------------------------------------------------------*/
3757typedef struct
3758{
3759 wpt_int8 ucRssiThreshold1 : 8;
3760 wpt_int8 ucRssiThreshold2 : 8;
3761 wpt_int8 ucRssiThreshold3 : 8;
3762 wpt_uint8 bRssiThres1PosNotify : 1;
3763 wpt_uint8 bRssiThres1NegNotify : 1;
3764 wpt_uint8 bRssiThres2PosNotify : 1;
3765 wpt_uint8 bRssiThres2NegNotify : 1;
3766 wpt_uint8 bRssiThres3PosNotify : 1;
3767 wpt_uint8 bRssiThres3NegNotify : 1;
3768 wpt_uint8 bReserved10 : 2;
3769} WDI_RSSIThresholdsType;
3770
3771/*---------------------------------------------------------------------------
3772 WDI_SetRSSIThresholdsReqParamsType
3773 RSSI thresholds parameters (to be reomoved)passed to WDI form WDA
3774---------------------------------------------------------------------------*/
3775typedef struct
3776{
3777 /*RSSI thresholds Info Type, same as WDI_RSSIThresholds */
3778 WDI_RSSIThresholdsType wdiRSSIThresholdsInfo;
3779 /*Request status callback offered by UMAC - it is called if the current req
3780 has returned PENDING as status; it delivers the status of sending the message
3781 over the BUS */
3782 WDI_ReqStatusCb wdiReqStatusCB;
3783 /*The user data passed in by UMAC, it will be sent back when the above
3784 function pointer will be called */
3785 void* pUserData;
3786}WDI_SetRSSIThresholdsReqParamsType;
3787
3788/*---------------------------------------------------------------------------
3789 WDI_HostOffloadReqType
3790 host offload info passed to WDA form UMAC
3791---------------------------------------------------------------------------*/
3792#ifdef WLAN_NS_OFFLOAD
3793typedef struct
3794{
3795 wpt_uint8 srcIPv6Addr[16];
3796 wpt_uint8 selfIPv6Addr[16];
3797 //Only support 2 possible Network Advertisement IPv6 address
3798 wpt_uint8 targetIPv6Addr1[16];
3799 wpt_uint8 targetIPv6Addr2[16];
3800 wpt_uint8 selfMacAddr[6];
3801 wpt_uint8 srcIPv6AddrValid : 1;
3802 wpt_uint8 targetIPv6Addr1Valid : 1;
3803 wpt_uint8 targetIPv6Addr2Valid : 1;
Gopichand Nakkala746a9452013-06-11 12:45:54 +05303804 wpt_uint8 slotIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003805} WDI_NSOffloadParams;
3806#endif //WLAN_NS_OFFLOAD
3807
3808typedef struct
3809{
3810 wpt_uint8 ucOffloadType;
3811 wpt_uint8 ucEnableOrDisable;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003812 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07003813 union
3814 {
3815 wpt_uint8 aHostIpv4Addr [4];
3816 wpt_uint8 aHostIpv6Addr [16];
3817 } params;
3818} WDI_HostOffloadReqType;
3819
3820/*---------------------------------------------------------------------------
3821 WDI_HostOffloadReqParamsType
3822 host offload info passed to WDI form WDA
3823---------------------------------------------------------------------------*/
3824typedef struct
3825{
3826 /*Host offload Info Type, same as tHalHostOffloadReq */
3827 WDI_HostOffloadReqType wdiHostOffloadInfo;
3828#ifdef WLAN_NS_OFFLOAD
3829 WDI_NSOffloadParams wdiNsOffloadParams;
3830#endif //WLAN_NS_OFFLOAD
3831 /*Request status callback offered by UMAC - it is called if the current req
3832 has returned PENDING as status; it delivers the status of sending the message
3833 over the BUS */
3834 WDI_ReqStatusCb wdiReqStatusCB;
3835 /*The user data passed in by UMAC, it will be sent back when the above
3836 function pointer will be called */
3837 void* pUserData;
3838}WDI_HostOffloadReqParamsType;
3839
3840/*---------------------------------------------------------------------------
3841 WDI_KeepAliveReqType
3842 Keep Alive info passed to WDA form UMAC
3843---------------------------------------------------------------------------*/
3844typedef struct
3845{
3846 wpt_uint8 ucPacketType;
3847 wpt_uint32 ucTimePeriod;
3848 wpt_uint8 aHostIpv4Addr[4];
3849 wpt_uint8 aDestIpv4Addr[4];
3850 wpt_uint8 aDestMacAddr[6];
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003851 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07003852} WDI_KeepAliveReqType;
3853
3854/*---------------------------------------------------------------------------
3855 WDI_KeepAliveReqParamsType
3856 Keep Alive passed to WDI form WDA
3857---------------------------------------------------------------------------*/
3858typedef struct
3859{
3860 /* Keep Alive Info Type, same as tHalKeepAliveReq */
3861 WDI_KeepAliveReqType wdiKeepAliveInfo;
3862 /*Request status callback offered by UMAC - it is called if the current req
3863 has returned PENDING as status; it delivers the status of sending the message
3864 over the BUS */
3865 WDI_ReqStatusCb wdiReqStatusCB;
3866 /*The user data passed in by UMAC, it will be sent back when the above
3867 function pointer will be called */
3868 void* pUserData;
3869}WDI_KeepAliveReqParamsType;
3870
3871/*---------------------------------------------------------------------------
3872 WDI_WowlAddBcPtrnInfoType
3873 Wowl add ptrn info passed to WDA form UMAC
3874---------------------------------------------------------------------------*/
3875typedef struct
3876{
3877 wpt_uint8 ucPatternId; // Pattern ID
3878 // Pattern byte offset from beginning of the 802.11 packet to start of the
3879 // wake-up pattern
3880 wpt_uint8 ucPatternByteOffset;
3881 wpt_uint8 ucPatternSize; // Non-Zero Pattern size
3882 wpt_uint8 ucPattern[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern
3883 wpt_uint8 ucPatternMaskSize; // Non-zero pattern mask size
3884 wpt_uint8 ucPatternMask[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern mask
3885 wpt_uint8 ucPatternExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern
3886 wpt_uint8 ucPatternMaskExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern mask
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003887 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07003888} WDI_WowlAddBcPtrnInfoType;
3889
3890/*---------------------------------------------------------------------------
3891 WDI_WowlAddBcPtrnReqParamsType
3892 Wowl add ptrn info passed to WDI form WDA
3893---------------------------------------------------------------------------*/
3894typedef struct
3895{
3896 /*Wowl add ptrn Info Type, same as tpSirWowlAddBcastPtrn */
3897 WDI_WowlAddBcPtrnInfoType wdiWowlAddBcPtrnInfo;
3898 /*Request status callback offered by UMAC - it is called if the current req
3899 has returned PENDING as status; it delivers the status of sending the message
3900 over the BUS */
3901 WDI_ReqStatusCb wdiReqStatusCB;
3902 /*The user data passed in by UMAC, it will be sent back when the above
3903 function pointer will be called */
3904 void* pUserData;
3905}WDI_WowlAddBcPtrnReqParamsType;
3906
3907/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003908 WDI_WowlAddBcPtrnRspParamsType
3909 Wowl add ptrn info passed from WDI to WDA
3910---------------------------------------------------------------------------*/
3911typedef struct
3912{
3913 /*Status of the response*/
3914 WDI_Status wdiStatus;
3915 /*BssIDX of the session*/
3916 wpt_uint8 bssIdx;
3917}WDI_WowlAddBcPtrnRspParamsType;
3918
3919/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003920 WDI_WowlDelBcPtrnInfoType
3921 Wowl add ptrn info passed to WDA form UMAC
3922---------------------------------------------------------------------------*/
3923typedef struct
3924{
3925 /* Pattern ID of the wakeup pattern to be deleted */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003926 wpt_uint8 ucPatternId;
3927 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07003928} WDI_WowlDelBcPtrnInfoType;
3929
3930/*---------------------------------------------------------------------------
3931 WDI_WowlDelBcPtrnReqParamsType
3932 Wowl add ptrn info passed to WDI form WDA
3933---------------------------------------------------------------------------*/
3934typedef struct
3935{
3936 /*Wowl delete ptrn Info Type, same as WDI_WowlDelBcastPtrn */
3937 WDI_WowlDelBcPtrnInfoType wdiWowlDelBcPtrnInfo;
3938 /*Request status callback offered by UMAC - it is called if the current req
3939 has returned PENDING as status; it delivers the status of sending the message
3940 over the BUS */
3941 WDI_ReqStatusCb wdiReqStatusCB;
3942 /*The user data passed in by UMAC, it will be sent back when the above
3943 function pointer will be called */
3944 void* pUserData;
3945}WDI_WowlDelBcPtrnReqParamsType;
3946
3947/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003948 WDI_WowlDelBcPtrnRspParamsType
3949 Wowl Del ptrn info passed from WDI to WDA
3950---------------------------------------------------------------------------*/
3951typedef struct
3952{
3953 /*Status of the response*/
3954 WDI_Status wdiStatus;
3955 /*BssIDX of the session*/
3956 wpt_uint8 bssIdx;
3957}WDI_WowlDelBcPtrnRspParamsType;
3958
3959/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003960 WDI_WowlEnterInfoType
3961 Wowl enter info passed to WDA form UMAC
3962---------------------------------------------------------------------------*/
3963typedef struct
3964{
3965 /* Enables/disables magic packet filtering */
3966 wpt_uint8 ucMagicPktEnable;
3967
3968 /* Magic pattern */
3969 wpt_macAddr magicPtrn;
3970
3971 /* Enables/disables packet pattern filtering in firmware.
3972 Enabling this flag enables broadcast pattern matching
3973 in Firmware. If unicast pattern matching is also desired,
3974 ucUcastPatternFilteringEnable flag must be set tot true
3975 as well
3976 */
3977 wpt_uint8 ucPatternFilteringEnable;
3978
3979 /* Enables/disables unicast packet pattern filtering.
3980 This flag specifies whether we want to do pattern match
3981 on unicast packets as well and not just broadcast packets.
3982 This flag has no effect if the ucPatternFilteringEnable
3983 (main controlling flag) is set to false
3984 */
3985 wpt_uint8 ucUcastPatternFilteringEnable;
3986
3987 /* This configuration is valid only when magicPktEnable=1.
3988 * It requests hardware to wake up when it receives the
3989 * Channel Switch Action Frame.
3990 */
3991 wpt_uint8 ucWowChnlSwitchRcv;
3992
3993 /* This configuration is valid only when magicPktEnable=1.
3994 * It requests hardware to wake up when it receives the
3995 * Deauthentication Frame.
3996 */
3997 wpt_uint8 ucWowDeauthRcv;
3998
3999 /* This configuration is valid only when magicPktEnable=1.
4000 * It requests hardware to wake up when it receives the
4001 * Disassociation Frame.
4002 */
4003 wpt_uint8 ucWowDisassocRcv;
4004
4005 /* This configuration is valid only when magicPktEnable=1.
4006 * It requests hardware to wake up when it has missed
4007 * consecutive beacons. This is a hardware register
4008 * configuration (NOT a firmware configuration).
4009 */
4010 wpt_uint8 ucWowMaxMissedBeacons;
4011
4012 /* This configuration is valid only when magicPktEnable=1.
4013 * This is a timeout value in units of microsec. It requests
4014 * hardware to unconditionally wake up after it has stayed
4015 * in WoWLAN mode for some time. Set 0 to disable this feature.
4016 */
4017 wpt_uint8 ucWowMaxSleepUsec;
4018
4019#ifdef WLAN_WAKEUP_EVENTS
4020 /* This configuration directs the WoW packet filtering to look for EAP-ID
4021 * requests embedded in EAPOL frames and use this as a wake source.
4022 */
4023 wpt_uint8 ucWoWEAPIDRequestEnable;
4024
4025 /* This configuration directs the WoW packet filtering to look for EAPOL-4WAY
4026 * requests and use this as a wake source.
4027 */
4028 wpt_uint8 ucWoWEAPOL4WayEnable;
4029
4030 /* This configuration allows a host wakeup on an network scan offload match.
4031 */
4032 wpt_uint8 ucWowNetScanOffloadMatch;
4033
4034 /* This configuration allows a host wakeup on any GTK rekeying error.
4035 */
4036 wpt_uint8 ucWowGTKRekeyError;
4037
4038 /* This configuration allows a host wakeup on BSS connection loss.
4039 */
4040 wpt_uint8 ucWoWBSSConnLoss;
4041#endif // WLAN_WAKEUP_EVENTS
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004042
4043 /* BSSIDX used to find the current session
4044 */
4045 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004046} WDI_WowlEnterInfoType;
4047
4048/*---------------------------------------------------------------------------
4049 WDI_WowlEnterReqParamsType
4050 Wowl enter info passed to WDI form WDA
4051---------------------------------------------------------------------------*/
4052typedef struct
4053{
4054 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
4055 WDI_WowlEnterInfoType wdiWowlEnterInfo;
4056 /*Request status callback offered by UMAC - it is called if the current req
4057 has returned PENDING as status; it delivers the status of sending the message
4058 over the BUS */
4059 WDI_ReqStatusCb wdiReqStatusCB;
4060 /*The user data passed in by UMAC, it will be sent back when the above
4061 function pointer will be called */
4062 void* pUserData;
4063}WDI_WowlEnterReqParamsType;
4064
4065/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004066 WDI_WowlEnterRsqParamsType
4067 Wowl enter info passed from WDI to WDA
4068---------------------------------------------------------------------------*/
4069typedef struct
4070{
4071 /*Status of the response message*/
4072 WDI_Status status;
4073
4074 /* BSSIDX used to find the current session
4075 */
4076 wpt_uint8 bssIdx;
4077}WDI_WowlEnterRspParamsType;
4078
4079/*---------------------------------------------------------------------------
4080 WDI_WowlExitInfoType
4081 Wowl exit info passed to WDA form UMAC
4082 ---------------------------------------------------------------------------*/
4083typedef struct
4084{
4085 /* BSSIDX used to find the current session
4086 */
4087 wpt_uint8 bssIdx;
4088} WDI_WowlExitInfoType;
4089
4090/*---------------------------------------------------------------------------
4091 WDI_WowlExitReqParamsType
4092 Wowl exit info passed to WDI form WDA
4093---------------------------------------------------------------------------*/
4094typedef struct
4095{
4096 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
4097 WDI_WowlExitInfoType wdiWowlExitInfo;
4098 /*Request status callback offered by UMAC - it is called if the current req
4099 has returned PENDING as status; it delivers the status of sending the message
4100 over the BUS */
4101 WDI_ReqStatusCb wdiReqStatusCB;
4102 /*The user data passed in by UMAC, it will be sent back when the above
4103 function pointer will be called */
4104 void* pUserData;
4105}WDI_WowlExitReqParamsType;
4106
4107/*---------------------------------------------------------------------------
4108 WDI_WowlExitRspParamsType
4109 Wowl exit info passed from WDI to WDA
4110---------------------------------------------------------------------------*/
4111typedef struct
4112{
4113 /*Status of the response message*/
4114 WDI_Status status;
4115
4116 /* BSSIDX used to find the current session
4117 */
4118 wpt_uint8 bssIdx;
4119}WDI_WowlExitRspParamsType;
4120
4121/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004122 WDI_ConfigureAppsCpuWakeupStateReqParamsType
4123 Apps Cpu Wakeup State parameters passed to WDI form WDA
4124---------------------------------------------------------------------------*/
4125typedef struct
4126{
4127 /*Depicts the state of the Apps CPU */
4128 wpt_boolean bIsAppsAwake;
4129 /*Request status callback offered by UMAC - it is called if the current req
4130 has returned PENDING as status; it delivers the status of sending the message
4131 over the BUS */
4132 WDI_ReqStatusCb wdiReqStatusCB;
4133 /*The user data passed in by UMAC, it will be sent back when the above
4134 function pointer will be called */
4135 void* pUserData;
4136}WDI_ConfigureAppsCpuWakeupStateReqParamsType;
4137/*---------------------------------------------------------------------------
4138 WDI_FlushAcReqinfoType
4139---------------------------------------------------------------------------*/
4140typedef struct
4141{
4142 // Message Type
4143 wpt_uint16 usMesgType;
4144
4145 // Message Length
4146 wpt_uint16 usMesgLen;
4147
4148 // Station Index. originates from HAL
4149 wpt_uint8 ucSTAId;
4150
4151 // TID for which the transmit queue is being flushed
4152 wpt_uint8 ucTid;
4153
4154}WDI_FlushAcReqinfoType;
4155
4156/*---------------------------------------------------------------------------
4157 WDI_FlushAcReqParamsType
4158---------------------------------------------------------------------------*/
4159typedef struct
4160{
4161 /*AC Info */
4162 WDI_FlushAcReqinfoType wdiFlushAcInfo;
4163
4164 /*Request status callback offered by UMAC - it is called if the current
4165 req has returned PENDING as status; it delivers the status of sending
4166 the message over the BUS */
4167 WDI_ReqStatusCb wdiReqStatusCB;
4168
4169 /*The user data passed in by UMAC, it will be sent back when the above
4170 function pointer will be called */
4171 void* pUserData;
4172}WDI_FlushAcReqParamsType;
4173
4174/*---------------------------------------------------------------------------
4175 WDI_BtAmpEventinfoType
4176 BT-AMP Event Structure
4177---------------------------------------------------------------------------*/
4178typedef struct
4179{
4180 wpt_uint8 ucBtAmpEventType;
4181
4182} WDI_BtAmpEventinfoType;
4183
4184/*---------------------------------------------------------------------------
4185 WDI_BtAmpEventParamsType
4186---------------------------------------------------------------------------*/
4187typedef struct
4188{
4189 /*BT AMP event Info */
4190 WDI_BtAmpEventinfoType wdiBtAmpEventInfo;
4191
4192 /*Request status callback offered by UMAC - it is called if the current
4193 req has returned PENDING as status; it delivers the status of sending
4194 the message over the BUS */
4195 WDI_ReqStatusCb wdiReqStatusCB;
4196
4197 /*The user data passed in by UMAC, it will be sent back when the above
4198 function pointer will be called */
4199 void* pUserData;
4200}WDI_BtAmpEventParamsType;
4201
Jeff Johnsone7245742012-09-05 17:12:55 -07004202#ifdef FEATURE_OEM_DATA_SUPPORT
4203
4204#ifndef OEM_DATA_REQ_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004205#define OEM_DATA_REQ_SIZE 134
Jeff Johnsone7245742012-09-05 17:12:55 -07004206#endif
4207#ifndef OEM_DATA_RSP_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004208#define OEM_DATA_RSP_SIZE 1968
Jeff Johnsone7245742012-09-05 17:12:55 -07004209#endif
4210
4211/*----------------------------------------------------------------------------
4212 WDI_oemDataReqInfoType
4213----------------------------------------------------------------------------*/
4214typedef struct
4215{
4216 wpt_macAddr selfMacAddr;
4217 wpt_uint8 oemDataReq[OEM_DATA_REQ_SIZE];
4218}WDI_oemDataReqInfoType;
4219
4220/*----------------------------------------------------------------------------
4221 WDI_oemDataReqParamsType
4222----------------------------------------------------------------------------*/
4223typedef struct
4224{
4225 /*Request status callback offered by UMAC - it is called if the current
4226 req has returned PENDING as status; it delivers the status of sending
4227 the message over the BUS */
4228 WDI_ReqStatusCb wdiReqStatusCB;
4229
4230 /*The user data passed in by UMAC, it will be sent back when the above
4231 function pointer will be called */
4232 void* pUserData;
4233
4234 /*OEM DATA REQ Info */
4235 WDI_oemDataReqInfoType wdiOemDataReqInfo;
4236
4237}WDI_oemDataReqParamsType;
4238
4239/*----------------------------------------------------------------------------
4240 WDI_oemDataRspParamsType
4241----------------------------------------------------------------------------*/
4242typedef struct
4243{
4244 wpt_uint8 oemDataRsp[OEM_DATA_RSP_SIZE];
4245}WDI_oemDataRspParamsType;
4246
4247#endif /* FEATURE_OEM_DATA_SUPPORT */
Jeff Johnson295189b2012-06-20 16:38:30 -07004248
4249#ifdef WLAN_FEATURE_VOWIFI_11R
4250/*---------------------------------------------------------------------------
4251 WDI_AggrAddTSReqInfoType
4252---------------------------------------------------------------------------*/
4253typedef struct
4254{
4255 /*STA Index*/
4256 wpt_uint8 ucSTAIdx;
4257
4258 /*Identifier for TSpec*/
4259 wpt_uint8 ucTspecIdx;
4260
4261 /*Tspec IE negotiated OTA*/
4262 WDI_TspecIEType wdiTspecIE[WDI_MAX_NO_AC];
4263
4264 /*UAPSD delivery and trigger enabled flags */
4265 wpt_uint8 ucUapsdFlags;
4266
4267 /*SI for each AC*/
4268 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
4269
4270 /*Suspend Interval for each AC*/
4271 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
4272
4273 /*DI for each AC*/
4274 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
4275
4276}WDI_AggrAddTSReqInfoType;
4277
4278
4279/*---------------------------------------------------------------------------
4280 WDI_AggrAddTSReqParamsType
4281---------------------------------------------------------------------------*/
4282typedef struct
4283{
4284 /*TSpec Info */
4285 WDI_AggrAddTSReqInfoType wdiAggrTsInfo;
4286
4287 /*Request status callback offered by UMAC - it is called if the current
4288 req has returned PENDING as status; it delivers the status of sending
4289 the message over the BUS */
4290 WDI_ReqStatusCb wdiReqStatusCB;
4291
4292 /*The user data passed in by UMAC, it will be sent back when the above
4293 function pointer will be called */
4294 void* pUserData;
4295}WDI_AggrAddTSReqParamsType;
4296
4297#endif /* WLAN_FEATURE_VOWIFI_11R */
4298
Jeff Johnson295189b2012-06-20 16:38:30 -07004299/*---------------------------------------------------------------------------
4300 WDI_FTMCommandReqType
4301---------------------------------------------------------------------------*/
4302typedef struct
4303{
4304 /* FTM Command Body length */
4305 wpt_uint32 bodyLength;
4306 /* Actual FTM Command body */
4307 void *FTMCommandBody;
4308}WDI_FTMCommandReqType;
Jeff Johnson295189b2012-06-20 16:38:30 -07004309
4310/*---------------------------------------------------------------------------
4311 WDI_WlanSuspendInfoType
4312---------------------------------------------------------------------------*/
4313typedef struct
4314{
4315 /* Mode of Mcast and Bcast filters configured */
4316 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4317}WDI_WlanSuspendInfoType;
4318
4319/*---------------------------------------------------------------------------
4320 WDI_SuspendParamsType
4321---------------------------------------------------------------------------*/
4322typedef struct
4323{
4324 WDI_WlanSuspendInfoType wdiSuspendParams;
4325
4326 /*Request status callback offered by UMAC - it is called if the current
4327 req has returned PENDING as status; it delivers the status of sending
4328 the message over the BUS */
4329 WDI_ReqStatusCb wdiReqStatusCB;
4330
4331 /*The user data passed in by UMAC, it will be sent back when the above
4332 function pointer will be called */
4333 void* pUserData;
4334
4335}WDI_SuspendParamsType;
4336
4337/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004338 WDI_TrafficStatsType - This is collected for each STA
4339---------------------------------------------------------------------------*/
4340
4341typedef struct
4342{
4343 /* TX stats */
4344 wpt_uint32 txBytesPushed;
4345 wpt_uint32 txPacketsPushed;
4346
4347 /* RX stats */
4348 wpt_uint32 rxBytesRcvd;
4349 wpt_uint32 rxPacketsRcvd;
4350 wpt_uint32 rxTimeTotal;
4351}WDI_TrafficStatsType;
4352
4353typedef struct
4354{
4355 WDI_TrafficStatsType *pTrafficStats;
4356 wpt_uint32 length;
4357 wpt_uint32 duration;
4358
4359 /*Request status callback offered by UMAC - it is called if the current
4360 req has returned PENDING as status; it delivers the status of sending
4361 the message over the BUS */
4362 WDI_ReqStatusCb wdiReqStatusCB;
4363
4364 /*The user data passed in by UMAC, it will be sent back when the above
4365 function pointer will be called */
4366 void* pUserData;
4367}WDI_TrafficStatsIndType;
4368
Chet Lanctot186b5732013-03-18 10:26:30 -07004369#ifdef WLAN_FEATURE_11W
4370typedef struct
4371{
4372
4373 wpt_boolean bExcludeUnencrypt;
4374 wpt_macAddr bssid;
4375 /*Request status callback offered by UMAC - it is called if the current
4376 req has returned PENDING as status; it delivers the status of sending
4377 the message over the BUS */
4378 WDI_ReqStatusCb wdiReqStatusCB;
4379
4380 /*The user data passed in by UMAC, it will be sent back when the above
4381 function pointer will be called */
4382 void* pUserData;
4383}WDI_ExcludeUnencryptIndType;
4384#endif
4385
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004386/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004387 WDI_WlanResumeInfoType
4388---------------------------------------------------------------------------*/
4389typedef struct
4390{
4391 /* Mode of Mcast and Bcast filters configured */
4392 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4393}WDI_WlanResumeInfoType;
4394
4395/*---------------------------------------------------------------------------
4396 WDI_ResumeParamsType
4397---------------------------------------------------------------------------*/
4398typedef struct
4399{
4400 WDI_WlanResumeInfoType wdiResumeParams;
4401
4402 /*Request status callback offered by UMAC - it is called if the current
4403 req has returned PENDING as status; it delivers the status of sending
4404 the message over the BUS */
4405 WDI_ReqStatusCb wdiReqStatusCB;
4406
4407 /*The user data passed in by UMAC, it will be sent back when the above
4408 function pointer will be called */
4409 void* pUserData;
4410
4411}WDI_ResumeParamsType;
4412
4413#ifdef WLAN_FEATURE_GTK_OFFLOAD
4414/*---------------------------------------------------------------------------
4415 * WDI_GTK_OFFLOAD_REQ
4416 *--------------------------------------------------------------------------*/
4417
4418typedef struct
4419{
4420 wpt_uint32 ulFlags; /* optional flags */
4421 wpt_uint8 aKCK[16]; /* Key confirmation key */
4422 wpt_uint8 aKEK[16]; /* key encryption key */
4423 wpt_uint64 ullKeyReplayCounter; /* replay counter */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004424 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004425} WDI_GtkOffloadReqParams;
4426
4427typedef struct
4428{
4429 WDI_GtkOffloadReqParams gtkOffloadReqParams;
4430
4431 /*Request status callback offered by UMAC - it is called if the current
4432 req has returned PENDING as status; it delivers the status of sending
4433 the message over the BUS */
4434 WDI_ReqStatusCb wdiReqStatusCB;
4435
4436 /*The user data passed in by UMAC, it will be sent back when the above
4437 function pointer will be called */
4438 void* pUserData;
4439} WDI_GtkOffloadReqMsg;
4440
4441/*---------------------------------------------------------------------------
4442 * WDI_GTK_OFFLOAD_RSP
4443 *--------------------------------------------------------------------------*/
4444typedef struct
4445{
4446 /* success or failure */
4447 wpt_uint32 ulStatus;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004448 /*BssIdx of the response */
4449 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004450} WDI_GtkOffloadRspParams;
4451
4452typedef struct
4453{
4454 WDI_GtkOffloadRspParams gtkOffloadRspParams;
4455
4456 /*Request status callback offered by UMAC - it is called if the current
4457 req has returned PENDING as status; it delivers the status of sending
4458 the message over the BUS */
4459 WDI_ReqStatusCb wdiReqStatusCB;
4460
4461 /*The user data passed in by UMAC, it will be sent back when the above
4462 function pointer will be called */
4463 void* pUserData;
4464} WDI_GtkOffloadRspMsg;
4465
4466
4467/*---------------------------------------------------------------------------
4468* WDI_GTK_OFFLOAD_GETINFO_REQ
4469*--------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004470typedef struct
4471{
4472 /*BssIdx of the response */
4473 wpt_macAddr bssId;
4474} WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004475
4476typedef struct
4477{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004478
4479 WDI_GtkOffloadGetInfoReqParams WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004480 /*Request status callback offered by UMAC - it is called if the current
4481 req has returned PENDING as status; it delivers the status of sending
4482 the message over the BUS */
4483 WDI_ReqStatusCb wdiReqStatusCB;
4484
4485 /*The user data passed in by UMAC, it will be sent back when the above
4486 function pointer will be called */
4487 void* pUserData;
4488} WDI_GtkOffloadGetInfoReqMsg;
4489
4490/*---------------------------------------------------------------------------
4491* WDI_GTK_OFFLOAD_GETINFO_RSP
4492*--------------------------------------------------------------------------*/
4493typedef struct
4494{
4495 wpt_uint32 ulStatus; /* success or failure */
4496 wpt_uint64 ullKeyReplayCounter; /* current replay counter value */
4497 wpt_uint32 ulTotalRekeyCount; /* total rekey attempts */
4498 wpt_uint32 ulGTKRekeyCount; /* successful GTK rekeys */
4499 wpt_uint32 ulIGTKRekeyCount; /* successful iGTK rekeys */
Gopichand Nakkala870cbae2013-03-15 21:16:09 +05304500 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004501} WDI_GtkOffloadGetInfoRspParams;
4502
4503typedef struct
4504{
4505 WDI_GtkOffloadGetInfoRspParams gtkOffloadGetInfoRspParams;
4506
4507 /*Request status callback offered by UMAC - it is called if the current
4508 req has returned PENDING as status; it delivers the status of sending
4509 the message over the BUS */
4510 WDI_ReqStatusCb wdiReqStatusCB;
4511
4512 /*The user data passed in by UMAC, it will be sent back when the above
4513 function pointer will be called */
4514 void* pUserData;
4515} WDI_GtkOffloadGetInfoRspMsg;
4516#endif // WLAN_FEATURE_GTK_OFFLOAD
4517
4518/*---------------------------------------------------------------------------
4519 WDI_SuspendResumeRspParamsType
4520---------------------------------------------------------------------------*/
4521typedef struct
4522{
4523 /*Status of the response*/
4524 WDI_Status wdiStatus;
4525}WDI_SuspendResumeRspParamsType;
4526
Leo Chang9056f462013-08-01 19:21:11 -07004527#ifdef FEATURE_WLAN_LPHB
4528/*---------------------------------------------------------------------------
4529 WDI Low Power Heart Beat Config request
4530 Copy from sirApi.h to avoid compile error
4531---------------------------------------------------------------------------*/
4532#define WDI_LPHB_FILTER_LEN 64
4533
4534typedef enum
4535{
4536 WDI_LPHB_SET_EN_PARAMS_INDID = 0x0001,
4537 WDI_LPHB_SET_TCP_PARAMS_INDID,
4538 WDI_LPHB_SET_TCP_PKT_FILTER_INDID,
4539 WDI_LPHB_SET_UDP_PARAMS_INDID,
4540 WDI_LPHB_SET_UDP_PKT_FILTER_INDID,
4541 WDI_LPHB_SET_NETWORK_INFO_INDID,
4542} WDI_LPHBIndType;
4543
4544typedef struct
4545{
4546 wpt_uint8 enable;
4547 wpt_uint8 item;
4548 wpt_uint8 session;
4549} WDI_LPHBEnableStruct;
4550
4551typedef struct
4552{
4553 wpt_uint32 srv_ip;
4554 wpt_uint32 dev_ip;
4555 wpt_uint16 src_port;
4556 wpt_uint16 dst_port;
4557 wpt_uint16 timeout;
4558 wpt_uint8 session;
4559 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
Leo Changd9df8aa2013-09-26 13:32:26 -07004560 wpt_uint16 timePeriodSec; // in seconds
4561 wpt_uint32 tcpSn;
Leo Chang9056f462013-08-01 19:21:11 -07004562} WDI_LPHBTcpParamStruct;
4563
4564typedef struct
4565{
4566 wpt_uint16 length;
4567 wpt_uint8 offset;
4568 wpt_uint8 session;
4569 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
4570} WDI_LPHBTcpFilterStruct;
4571
4572typedef struct
4573{
4574 wpt_uint32 srv_ip;
4575 wpt_uint32 dev_ip;
4576 wpt_uint16 src_port;
4577 wpt_uint16 dst_port;
4578 wpt_uint16 interval;
4579 wpt_uint16 timeout;
4580 wpt_uint8 session;
4581 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
4582} WDI_LPHBUdpParamStruct;
4583
4584typedef struct
4585{
4586 wpt_uint16 length;
4587 wpt_uint8 offset;
4588 wpt_uint8 session;
4589 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
4590} WDI_LPHBUdpFilterStruct;
4591
4592typedef struct
4593{
4594 wpt_uint16 cmd;
4595 wpt_uint16 dummy;
4596 union
4597 {
4598 WDI_LPHBEnableStruct lphbEnableReq;
4599 WDI_LPHBTcpParamStruct lphbTcpParamReq;
4600 WDI_LPHBTcpFilterStruct lphbTcpFilterReq;
4601 WDI_LPHBUdpParamStruct lphbUdpParamReq;
4602 WDI_LPHBUdpFilterStruct lphbUdpFilterReq;
4603 } params;
4604} WDI_LPHBReq;
4605#endif /* FEATURE_WLAN_LPHB */
Jeff Johnson295189b2012-06-20 16:38:30 -07004606
4607#ifdef FEATURE_WLAN_SCAN_PNO
4608
4609/*Max number of channels for a given network supported by PNO*/
4610#define WDI_PNO_MAX_NETW_CHANNELS 26
4611
Pratik Bhalgatd4404592012-11-22 17:49:14 +05304612/*Max number of channels for a given network supported by PNO*/
4613#define WDI_PNO_MAX_NETW_CHANNELS_EX 60
4614
Jeff Johnson295189b2012-06-20 16:38:30 -07004615/*The max number of programable networks for PNO*/
4616#define WDI_PNO_MAX_SUPP_NETWORKS 16
4617
4618/*The max number of scan timers programable in Riva*/
4619#define WDI_PNO_MAX_SCAN_TIMERS 10
4620
4621#define WDI_PNO_MAX_PROBE_SIZE 450
4622
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004623#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
4624#define WDI_ROAM_SCAN_MAX_CHANNELS 80 /* NUM_RF_CHANNELS */
4625#define WDI_ROAM_SCAN_MAX_PROBE_SIZE 450
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07004626#define WDI_ROAM_SCAN_RESERVED_BYTES 61
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004627#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07004628
4629/*---------------------------------------------------------------------------
4630 WDI_AuthType
4631---------------------------------------------------------------------------*/
4632typedef enum
4633{
4634 WDI_AUTH_TYPE_ANY = 0,
4635
4636 WDI_AUTH_TYPE_NONE,
4637 WDI_AUTH_TYPE_OPEN_SYSTEM,
4638 WDI_AUTH_TYPE_SHARED_KEY,
4639
4640 WDI_AUTH_TYPE_WPA,
4641 WDI_AUTH_TYPE_WPA_PSK,
4642 WDI_AUTH_TYPE_WPA_NONE,
4643
4644 WDI_AUTH_TYPE_RSN,
4645 WDI_AUTH_TYPE_RSN_PSK,
4646 WDI_AUTH_TYPE_FT_RSN,
4647 WDI_AUTH_TYPE_FT_RSN_PSK,
4648 WDI_AUTH_TYPE_WAPI_WAI_CERTIFICATE,
4649 WDI_AUTH_TYPE_WAPI_WAI_PSK,
4650 WDI_AUTH_TYPE_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
4651
4652}WDI_AuthType;
4653
4654/*---------------------------------------------------------------------------
4655 WDI_EdType
4656---------------------------------------------------------------------------*/
4657typedef enum
4658{
4659 WDI_ED_ANY = 0,
4660 WDI_ED_NONE,
4661 WDI_ED_WEP40,
4662 WDI_ED_WEP104,
4663 WDI_ED_TKIP,
4664 WDI_ED_CCMP,
4665 WDI_ED_WPI,
4666 WDI_ED_AES_128_CMAC,
4667 WDI_ED_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
4668} WDI_EdType;
4669
4670
4671/*---------------------------------------------------------------------------
4672 WDI_PNOMode
4673---------------------------------------------------------------------------*/
4674typedef enum
4675{
4676 /*Network offload is to start immediately*/
4677 WDI_PNO_MODE_IMMEDIATE,
4678
4679 /*Network offload is to start on host suspend*/
4680 WDI_PNO_MODE_ON_SUSPEND,
4681
4682 /*Network offload is to start on host resume*/
4683 WDI_PNO_MODE_ON_RESUME,
4684 WDI_PNO_MODE_MAX = 0xFFFFFFFF
4685} WDI_PNOMode;
4686
4687/* SSID broadcast type */
4688typedef enum
4689{
4690 WDI_BCAST_UNKNOWN = 0,
4691 WDI_BCAST_NORMAL = 1,
4692 WDI_BCAST_HIDDEN = 2,
4693
4694 WDI_BCAST_TYPE_MAX = 0xFFFFFFFF
4695} WDI_SSIDBcastType;
4696
4697/*---------------------------------------------------------------------------
4698 WDI_NetworkType
4699---------------------------------------------------------------------------*/
4700typedef struct
4701{
4702 /*The SSID of the preferred network*/
4703 WDI_MacSSid ssId;
4704
4705 /*The authentication method of the preferred network*/
4706 WDI_AuthType wdiAuth;
4707
4708 /*The encryption method of the preferred network*/
4709 WDI_EdType wdiEncryption;
4710
4711 /*SSID broadcast type, normal, hidden or unknown*/
4712 WDI_SSIDBcastType wdiBcastNetworkType;
4713
4714 /*channel count - 0 for all channels*/
4715 wpt_uint8 ucChannelCount;
4716
4717 /*the actual channels*/
Madan Mohan Koyyalamudi4bb5d2e2013-09-26 17:36:46 +05304718 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
Jeff Johnson295189b2012-06-20 16:38:30 -07004719
4720 /*rssi threshold that a network must meet to be considered, 0 - for any*/
4721 wpt_uint8 rssiThreshold;
4722} WDI_NetworkType;
4723
4724
4725/*---------------------------------------------------------------------------
4726 WDI_ScanTimer
4727---------------------------------------------------------------------------*/
4728typedef struct
4729{
4730 /*The timer value*/
4731 wpt_uint32 uTimerValue;
4732
4733 /*The amount of time we should be repeating the interval*/
4734 wpt_uint32 uTimerRepeat;
4735} WDI_ScanTimer;
4736
4737/*---------------------------------------------------------------------------
4738 WDI_ScanTimersType
4739---------------------------------------------------------------------------*/
4740typedef struct
4741{
4742 /*The number of value pair intervals present in the array*/
4743 wpt_uint8 ucScanTimersCount;
4744
4745 /*The time-repeat value pairs*/
4746 WDI_ScanTimer aTimerValues[WDI_PNO_MAX_SCAN_TIMERS];
4747} WDI_ScanTimersType;
4748
4749/*---------------------------------------------------------------------------
4750 WDI_PNOScanReqType
4751---------------------------------------------------------------------------*/
4752typedef struct
4753{
4754 /*Enable or disable PNO feature*/
4755 wpt_uint8 bEnable;
4756
4757 /*PNO mode requested*/
4758 WDI_PNOMode wdiModePNO;
4759
4760 /*Network count*/
4761 wpt_uint8 ucNetworksCount;
4762
4763 /*The networks to look for*/
4764 WDI_NetworkType aNetworks[WDI_PNO_MAX_SUPP_NETWORKS];
4765
4766 /*Scan timer intervals*/
4767 WDI_ScanTimersType scanTimers;
4768
4769 /*Probe template for 2.4GHz band*/
4770 wpt_uint16 us24GProbeSize;
4771 wpt_uint8 a24GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
4772
4773 /*Probe template for 5GHz band*/
4774 wpt_uint16 us5GProbeSize;
4775 wpt_uint8 a5GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
4776} WDI_PNOScanReqType;
4777
4778/*---------------------------------------------------------------------------
4779 WDI_PNOScanReqParamsType
4780 PNO info passed to WDI form WDA
4781---------------------------------------------------------------------------*/
4782typedef struct
4783{
4784 /* PNO Info Type, same as tPrefNetwListParams */
4785 WDI_PNOScanReqType wdiPNOScanInfo;
4786 /* Request status callback offered by UMAC - it is called if the current req
4787 has returned PENDING as status; it delivers the status of sending the message
4788 over the BUS */
4789 WDI_ReqStatusCb wdiReqStatusCB;
4790 /* The user data passed in by UMAC, it will be sent back when the above
4791 function pointer will be called */
4792 void* pUserData;
4793} WDI_PNOScanReqParamsType;
4794
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004795#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
4796
4797typedef struct
4798{
4799 /*The SSID of the preferred network*/
4800 WDI_MacSSid ssId;
4801 wpt_uint8 currAPbssid[WDI_MAC_ADDR_LEN];
4802
4803 /*The authentication method of the preferred network*/
4804 WDI_AuthType authentication;
4805
4806 /*The encryption method of the preferred network*/
4807 WDI_EdType encryption;
4808 WDI_EdType mcencryption;
4809
4810 /*SSID broadcast type, normal, hidden or unknown*/
4811 //WDI_SSIDBcastType wdiBcastNetworkType;
4812
4813 /*channel count - 0 for all channels*/
4814 wpt_uint8 ChannelCount;
4815
4816 /*the actual channels*/
4817 wpt_uint8 ChannelCache[WDI_ROAM_SCAN_MAX_CHANNELS];
4818
4819} WDI_RoamNetworkType;
4820
4821typedef struct WDIMobilityDomainInfo
4822{
4823 wpt_uint8 mdiePresent;
4824 wpt_uint16 mobilityDomain;
4825} WDI_MobilityDomainInfo;
4826
4827/*---------------------------------------------------------------------------
4828 WDI_RoamOffloadScanInfo
4829---------------------------------------------------------------------------*/
4830typedef struct
4831{
4832 wpt_boolean RoamScanOffloadEnabled;
Sameer Thalappil4ae66ec2013-11-05 14:17:35 -08004833 wpt_boolean MAWCEnabled;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004834 wpt_uint8 LookupThreshold;
4835 wpt_uint8 RoamRssiDiff;
4836 wpt_uint8 ChannelCacheType;
4837 wpt_uint8 Command;
4838 wpt_uint8 StartScanReason;
4839 wpt_uint16 NeighborScanTimerPeriod;
4840 wpt_uint16 NeighborRoamScanRefreshPeriod;
4841 wpt_uint16 NeighborScanChannelMinTime;
4842 wpt_uint16 NeighborScanChannelMaxTime;
4843 wpt_uint16 EmptyRefreshScanPeriod;
4844 wpt_uint8 ValidChannelCount;
4845 wpt_uint8 ValidChannelList[WDI_ROAM_SCAN_MAX_CHANNELS];
4846 wpt_boolean IsCCXEnabled;
4847 /*Probe template for 2.4GHz band*/
4848 wpt_uint16 us24GProbeSize;
4849 wpt_uint8 a24GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
4850
4851 /*Probe template for 5GHz band*/
4852 wpt_uint16 us5GProbeSize;
4853 wpt_uint8 a5GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07004854 /*LFR BG Scan will currently look for only one network to which it is initially connected.
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004855 * As per requirement, later, the following structure can be used as an array of networks.*/
4856 WDI_RoamNetworkType ConnectedNetwork;
4857 WDI_MobilityDomainInfo MDID;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07004858 wpt_uint8 nProbes;
4859 wpt_uint16 HomeAwayTime;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004860 wpt_uint8 ReservedBytes[WDI_ROAM_SCAN_RESERVED_BYTES];
4861} WDI_RoamOffloadScanInfo;
4862
4863typedef struct
4864{
4865 /* Start Roam Candidate Lookup Offload Back Ground Info Type */
4866 WDI_RoamOffloadScanInfo wdiRoamOffloadScanInfo;
4867 /* Request status callback offered by UMAC - it is called if the current req
4868 has returned PENDING as status; it delivers the status of sending the message
4869 over the BUS */
4870 WDI_ReqStatusCb wdiReqStatusCB;
4871 /* The user data passed in by UMAC, it will be sent back when the above
4872 function pointer will be called */
4873 void* pUserData;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07004874} WDI_RoamScanOffloadReqParamsType;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004875
4876#endif
4877
Jeff Johnson295189b2012-06-20 16:38:30 -07004878/*---------------------------------------------------------------------------
4879 WDI_SetRssiFilterReqParamsType
4880 PNO info passed to WDI form WDA
4881---------------------------------------------------------------------------*/
4882typedef struct
4883{
4884 /* RSSI Threshold */
4885 wpt_uint8 rssiThreshold;
4886 /* Request status callback offered by UMAC - it is called if the current req
4887 has returned PENDING as status; it delivers the status of sending the message
4888 over the BUS */
4889 WDI_ReqStatusCb wdiReqStatusCB;
4890 /* The user data passed in by UMAC, it will be sent back when the above
4891 function pointer will be called */
4892 void* pUserData;
4893} WDI_SetRssiFilterReqParamsType;
4894
4895/*---------------------------------------------------------------------------
4896 WDI_UpdateScanParamsInfo
4897---------------------------------------------------------------------------*/
4898typedef struct
4899{
4900 /*Is 11d enabled*/
4901 wpt_uint8 b11dEnabled;
4902
4903 /*Was UMAc able to find the regulatory domain*/
4904 wpt_uint8 b11dResolved;
4905
4906 /*Number of channel allowed in the regulatory domain*/
4907 wpt_uint8 ucChannelCount;
4908
4909 /*The actual channels allowed in the regulatory domain*/
Pratik Bhalgatd4404592012-11-22 17:49:14 +05304910 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
Jeff Johnson295189b2012-06-20 16:38:30 -07004911
4912 /*Passive min channel time*/
4913 wpt_uint16 usPassiveMinChTime;
4914
4915 /*Passive max channel time*/
4916 wpt_uint16 usPassiveMaxChTime;
4917
4918 /*Active min channel time*/
4919 wpt_uint16 usActiveMinChTime;
4920
4921 /*Active max channel time*/
4922 wpt_uint16 usActiveMaxChTime;
4923
4924 /*channel bonding info*/
4925 wpt_uint8 cbState;
4926} WDI_UpdateScanParamsInfo;
4927
4928/*---------------------------------------------------------------------------
4929 WDI_UpdateScanParamsInfoType
4930 UpdateScanParams info passed to WDI form WDA
4931---------------------------------------------------------------------------*/
4932typedef struct
4933{
4934 /* PNO Info Type, same as tUpdateScanParams */
4935 WDI_UpdateScanParamsInfo wdiUpdateScanParamsInfo;
4936 /* Request status callback offered by UMAC - it is called if the current req
4937 has returned PENDING as status; it delivers the status of sending the message
4938 over the BUS */
4939 WDI_ReqStatusCb wdiReqStatusCB;
4940 /* The user data passed in by UMAC, it will be sent back when the above
4941 function pointer will be called */
4942 void* pUserData;
4943} WDI_UpdateScanParamsInfoType;
4944#endif // FEATURE_WLAN_SCAN_PNO
4945
4946/*---------------------------------------------------------------------------
4947 WDI_UpdateScanParamsInfo
4948---------------------------------------------------------------------------*/
4949typedef struct
4950{
4951 /* Ignore DTIM */
4952 wpt_uint32 uIgnoreDTIM;
4953
4954 /*DTIM Period*/
4955 wpt_uint32 uDTIMPeriod;
4956
4957 /* Listen Interval */
4958 wpt_uint32 uListenInterval;
4959
4960 /* Broadcast Multicas Filter */
4961 wpt_uint32 uBcastMcastFilter;
4962
4963 /* Beacon Early Termination */
4964 wpt_uint32 uEnableBET;
4965
4966 /* Beacon Early Termination Interval */
4967 wpt_uint32 uBETInterval;
4968
Yue Mac24062f2013-05-13 17:01:29 -07004969 /* MAX LI for modulated DTIM */
4970 wpt_uint32 uMaxLIModulatedDTIM;
4971
Jeff Johnson295189b2012-06-20 16:38:30 -07004972} WDI_SetPowerParamsInfo;
4973
4974/*---------------------------------------------------------------------------
4975 WDI_UpdateScanParamsInfoType
4976 UpdateScanParams info passed to WDI form WDA
4977---------------------------------------------------------------------------*/
4978typedef struct
4979{
4980 /* Power params Info Type, same as tSetPowerParamsReq */
4981 WDI_SetPowerParamsInfo wdiSetPowerParamsInfo;
4982 /* Request status callback offered by UMAC - it is called if the current req
4983 has returned PENDING as status; it delivers the status of sending the message
4984 over the BUS */
4985 WDI_ReqStatusCb wdiReqStatusCB;
4986 /* The user data passed in by UMAC, it will be sent back when the above
4987 function pointer will be called */
4988 void* pUserData;
4989}WDI_SetPowerParamsReqParamsType;
4990
4991/*---------------------------------------------------------------------------
4992 WDI_SetTxPerTrackingConfType
4993 Wowl add ptrn info passed to WDA form UMAC
4994---------------------------------------------------------------------------*/
4995typedef struct
4996{
4997 wpt_uint8 ucTxPerTrackingEnable; /* 0: disable, 1:enable */
4998 wpt_uint8 ucTxPerTrackingPeriod; /* Check period, unit is sec. */
4999 wpt_uint8 ucTxPerTrackingRatio; /* (Fail TX packet)/(Total TX packet) ratio, the unit is 10%. */
5000 wpt_uint32 uTxPerTrackingWatermark; /* A watermark of check number, once the tx packet exceed this number, we do the check, default is 5 */
5001} WDI_TxPerTrackingParamType;
5002
5003/*---------------------------------------------------------------------------
5004 WDI_SetTxPerTrackingReqParamsType
5005 Tx PER Tracking parameters passed to WDI from WDA
5006---------------------------------------------------------------------------*/
5007typedef struct
5008{
5009 /* Configurations for Tx PER Tracking */
5010 WDI_TxPerTrackingParamType wdiTxPerTrackingParam;
5011 /*Request status callback offered by UMAC - it is called if the current req
5012 has returned PENDING as status; it delivers the status of sending the message
5013 over the BUS */
5014 WDI_ReqStatusCb wdiReqStatusCB;
5015 /*The user data passed in by UMAC, it will be sent back when the above
5016 function pointer will be called */
5017 void* pUserData;
5018}WDI_SetTxPerTrackingReqParamsType;
5019
5020#ifdef WLAN_FEATURE_PACKET_FILTERING
5021/*---------------------------------------------------------------------------
5022 Packet Filtering Parameters
5023---------------------------------------------------------------------------*/
5024
5025#define WDI_IPV4_ADDR_LEN 4
5026#define WDI_MAC_ADDR_LEN 6
5027#define WDI_MAX_FILTER_TEST_DATA_LEN 8
5028#define WDI_MAX_NUM_MULTICAST_ADDRESS 240
5029#define WDI_MAX_NUM_FILTERS 20
5030#define WDI_MAX_NUM_TESTS_PER_FILTER 10
5031
5032//
5033// Receive Filter Parameters
5034//
5035typedef enum
5036{
5037 WDI_RCV_FILTER_TYPE_INVALID,
5038 WDI_RCV_FILTER_TYPE_FILTER_PKT,
5039 WDI_RCV_FILTER_TYPE_BUFFER_PKT,
5040 WDI_RCV_FILTER_TYPE_MAX_ENUM_SIZE
5041}WDI_ReceivePacketFilterType;
5042
5043typedef enum
5044{
5045 WDI_FILTER_HDR_TYPE_INVALID,
5046 WDI_FILTER_HDR_TYPE_MAC,
5047 WDI_FILTER_HDR_TYPE_ARP,
5048 WDI_FILTER_HDR_TYPE_IPV4,
5049 WDI_FILTER_HDR_TYPE_IPV6,
5050 WDI_FILTER_HDR_TYPE_UDP,
5051 WDI_FILTER_HDR_TYPE_MAX
5052}WDI_RcvPktFltProtocolType;
5053
5054typedef enum
5055{
5056 WDI_FILTER_CMP_TYPE_INVALID,
5057 WDI_FILTER_CMP_TYPE_EQUAL,
5058 WDI_FILTER_CMP_TYPE_MASK_EQUAL,
5059 WDI_FILTER_CMP_TYPE_NOT_EQUAL,
5060 WDI_FILTER_CMP_TYPE_MASK_NOT_EQUAL,
5061 WDI_FILTER_CMP_TYPE_MAX
5062}WDI_RcvPktFltCmpFlagType;
5063
5064typedef struct
5065{
5066 WDI_RcvPktFltProtocolType protocolLayer;
5067 WDI_RcvPktFltCmpFlagType cmpFlag;
5068/* Length of the data to compare */
5069 wpt_uint16 dataLength;
5070/* from start of the respective frame header */
5071 wpt_uint8 dataOffset;
5072 wpt_uint8 reserved; /* Reserved field */
5073/* Data to compare */
5074 wpt_uint8 compareData[WDI_MAX_FILTER_TEST_DATA_LEN];
5075/* Mask to be applied on the received packet data before compare */
5076 wpt_uint8 dataMask[WDI_MAX_FILTER_TEST_DATA_LEN];
5077}WDI_RcvPktFilterFieldParams;
5078
5079typedef struct
5080{
5081 wpt_uint8 filterId;
5082 wpt_uint8 filterType;
5083 wpt_uint32 numFieldParams;
5084 wpt_uint32 coalesceTime;
Jeff Johnsone7245742012-09-05 17:12:55 -07005085 wpt_macAddr selfMacAddr;
5086 wpt_macAddr bssId;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005087 WDI_RcvPktFilterFieldParams paramsData[1];
5088
Jeff Johnson295189b2012-06-20 16:38:30 -07005089}WDI_RcvPktFilterCfgType;
5090
5091typedef struct
5092{
5093 /*Request status callback offered by UMAC - it is called if the current
5094 req has returned PENDING as status; it delivers the status of sending
5095 the message over the BUS */
5096 WDI_ReqStatusCb wdiReqStatusCB;
5097
5098 /*The user data passed in by UMAC, it will be sent back when the above
5099 function pointer will be called */
5100 void* pUserData;
5101
5102 // Variable length packet filter field params
5103 WDI_RcvPktFilterCfgType wdiPktFilterCfg;
5104} WDI_SetRcvPktFilterReqParamsType;
5105
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005106typedef struct
5107{
5108 /*Result of the operation*/
5109 WDI_Status wdiStatus;
5110 /* BSSIDX of the Set Receive Filter
5111 */
5112 wpt_uint8 bssIdx;
5113} WDI_SetRcvPktFilterRspParamsType;
5114
Jeff Johnson295189b2012-06-20 16:38:30 -07005115//
5116// Filter Packet Match Count Parameters
5117//
5118typedef struct
5119{
5120 /*Request status callback offered by UMAC - it is called if the current
5121 req has returned PENDING as status; it delivers the status of sending
5122 the message over the BUS */
5123 WDI_ReqStatusCb wdiReqStatusCB;
5124
5125 /*The user data passed in by UMAC, it will be sent back when the above
5126 function pointer will be called */
5127 void* pUserData;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005128
5129 /* BSSID of the Match count
5130 */
5131 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005132} WDI_RcvFltPktMatchCntReqParamsType;
5133
5134typedef struct
5135{
5136 wpt_uint8 filterId;
5137 wpt_uint32 matchCnt;
5138} WDI_RcvFltPktMatchCnt;
5139
5140typedef struct
5141{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005142 /*Result of the operation*/
5143 WDI_Status wdiStatus;
Jeff Johnson295189b2012-06-20 16:38:30 -07005144
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005145 /* BSSIDX of the Match count response
5146 */
5147 wpt_uint8 bssIdx;
5148
Jeff Johnson295189b2012-06-20 16:38:30 -07005149} WDI_RcvFltPktMatchCntRspParamsType;
5150
Jeff Johnson295189b2012-06-20 16:38:30 -07005151//
5152// Receive Filter Clear Parameters
5153//
5154typedef struct
5155{
5156 wpt_uint32 status; /* only valid for response message */
5157 wpt_uint8 filterId;
Jeff Johnsone7245742012-09-05 17:12:55 -07005158 wpt_macAddr selfMacAddr;
5159 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005160}WDI_RcvFltPktClearParam;
5161
5162typedef struct
5163{
5164 WDI_RcvFltPktClearParam filterClearParam;
5165 /*Request status callback offered by UMAC - it is called if the current
5166 req has returned PENDING as status; it delivers the status of sending
5167 the message over the BUS */
5168 WDI_ReqStatusCb wdiReqStatusCB;
5169
5170 /*The user data passed in by UMAC, it will be sent back when the above
5171 function pointer will be called */
5172 void* pUserData;
5173} WDI_RcvFltPktClearReqParamsType;
5174
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005175typedef struct
5176{
5177 /*Result of the operation*/
5178 WDI_Status wdiStatus;
5179 /* BSSIDX of the Match count response
5180 */
5181 wpt_uint8 bssIdx;
5182
5183} WDI_RcvFltPktClearRspParamsType;
5184
Jeff Johnson295189b2012-06-20 16:38:30 -07005185//
5186// Multicast Address List Parameters
5187//
5188typedef struct
5189{
5190 wpt_uint32 ulMulticastAddrCnt;
5191 wpt_macAddr multicastAddr[WDI_MAX_NUM_MULTICAST_ADDRESS];
Jeff Johnsone7245742012-09-05 17:12:55 -07005192 wpt_macAddr selfMacAddr;
5193 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005194} WDI_RcvFltMcAddrListType;
5195
5196typedef struct
5197{
5198 WDI_RcvFltMcAddrListType mcAddrList;
5199 /*Request status callback offered by UMAC - it is called if the current
5200 req has returned PENDING as status; it delivers the status of sending
5201 the message over the BUS */
5202 WDI_ReqStatusCb wdiReqStatusCB;
5203
5204 /*The user data passed in by UMAC, it will be sent back when the above
5205 function pointer will be called */
5206 void* pUserData;
5207} WDI_RcvFltPktSetMcListReqParamsType;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005208
5209typedef struct
5210{
5211 /*Result of the operation*/
5212 WDI_Status wdiStatus;
5213 /* BSSIDX of the Match count response
5214 */
5215 wpt_uint8 bssIdx;
5216} WDI_RcvFltPktSetMcListRspParamsType;
5217
Jeff Johnson295189b2012-06-20 16:38:30 -07005218#endif // WLAN_FEATURE_PACKET_FILTERING
5219
5220/*---------------------------------------------------------------------------
5221 WDI_HALDumpCmdReqInfoType
5222---------------------------------------------------------------------------*/
5223typedef struct
5224{
5225 /*command*/
5226 wpt_uint32 command;
5227
5228 /*Arguments*/
5229 wpt_uint32 argument1;
5230 wpt_uint32 argument2;
5231 wpt_uint32 argument3;
5232 wpt_uint32 argument4;
5233
5234}WDI_HALDumpCmdReqInfoType;
5235
5236/*---------------------------------------------------------------------------
5237 WDI_HALDumpCmdReqParamsType
5238---------------------------------------------------------------------------*/
5239typedef struct
5240{
5241 /*NV Blob Info*/
5242 WDI_HALDumpCmdReqInfoType wdiHALDumpCmdInfoType;
5243
5244 /*Request status callback offered by UMAC - it is called if the current
5245 req has returned PENDING as status; it delivers the status of sending
5246 the message over the BUS */
5247 WDI_ReqStatusCb wdiReqStatusCB;
5248
5249 /*The user data passed in by UMAC, it will be sent back when the above
5250 function pointer will be called */
5251 void* pUserData;
5252
5253}WDI_HALDumpCmdReqParamsType;
5254
5255
5256/*---------------------------------------------------------------------------
5257 WDI_HALDumpCmdRspParamsType
5258---------------------------------------------------------------------------*/
5259typedef struct
5260{
5261 /*Result of the operation*/
5262 WDI_Status wdiStatus;
5263
5264 /* length of the buffer */
5265 wpt_uint16 usBufferLen;
5266
5267 /* Buffer */
5268 wpt_uint8 *pBuffer;
5269}WDI_HALDumpCmdRspParamsType;
5270
5271
5272/*---------------------------------------------------------------------------
5273 WDI_SetTmLevelReqType
5274---------------------------------------------------------------------------*/
5275typedef struct
5276{
5277 wpt_uint16 tmMode;
5278 wpt_uint16 tmLevel;
5279 void* pUserData;
5280}WDI_SetTmLevelReqType;
5281
5282/*---------------------------------------------------------------------------
5283 WDI_SetTmLevelRspType
5284---------------------------------------------------------------------------*/
5285typedef struct
5286{
5287 WDI_Status wdiStatus;
5288 void* pUserData;
5289}WDI_SetTmLevelRspType;
5290
Leo Chang9056f462013-08-01 19:21:11 -07005291#ifdef FEATURE_WLAN_LPHB
5292/*---------------------------------------------------------------------------
5293 WDI_LPHBConfigParamsType
5294---------------------------------------------------------------------------*/
5295typedef struct
5296{
5297 void* pLphsConfIndData;
5298}WDI_LPHBConfigParamsType;
5299#endif /* FEATURE_WLAN_LPHB */
5300
Yue Mab9c86f42013-08-14 15:59:08 -07005301/*---------------------------------------------------------------------------
5302 WDI_AddPeriodicTxPtrnInfoType
5303---------------------------------------------------------------------------*/
5304typedef struct
5305{
5306 /* MAC Address for the adapter */
5307 wpt_macAddr macAddr;
5308
5309 wpt_uint8 ucPtrnId; // Pattern ID
5310 wpt_uint16 ucPtrnSize; // Pattern size
5311 wpt_uint32 usPtrnIntervalMs; // In msec
5312 wpt_uint8 ucPattern[PERIODIC_TX_PTRN_MAX_SIZE]; // Pattern buffer
5313} WDI_AddPeriodicTxPtrnInfoType;
5314
5315/*---------------------------------------------------------------------------
5316 WDI_DelPeriodicTxPtrnInfoType
5317---------------------------------------------------------------------------*/
5318typedef struct
5319{
5320 /* MAC Address for the adapter */
5321 wpt_macAddr macAddr;
5322
5323 /* Bitmap of pattern IDs that needs to be deleted */
5324 wpt_uint32 ucPatternIdBitmap;
5325} WDI_DelPeriodicTxPtrnInfoType;
5326
5327/*---------------------------------------------------------------------------
5328 WDI_AddPeriodicTxPtrnParamsType
5329---------------------------------------------------------------------------*/
5330typedef struct
5331{
5332 WDI_AddPeriodicTxPtrnInfoType wdiAddPeriodicTxPtrnParams;
5333
5334 /*Request status callback offered by UMAC - it is called if the current
5335 req has returned PENDING as status; it delivers the status of sending
5336 the message over the BUS */
5337 WDI_ReqStatusCb wdiReqStatusCB;
5338
5339 /*The user data passed in by UMAC, it will be sent back when the above
5340 function pointer will be called */
5341 void* pUserData;
5342} WDI_AddPeriodicTxPtrnParamsType;
5343
5344/*---------------------------------------------------------------------------
5345 WDI_DelPeriodicTxPtrnParamsType
5346---------------------------------------------------------------------------*/
5347typedef struct
5348{
5349 WDI_DelPeriodicTxPtrnInfoType wdiDelPeriodicTxPtrnParams;
5350
5351 /*Request status callback offered by UMAC - it is called if the current
5352 req has returned PENDING as status; it delivers the status of sending
5353 the message over the BUS */
5354 WDI_ReqStatusCb wdiReqStatusCB;
5355
5356 /*The user data passed in by UMAC, it will be sent back when the above
5357 function pointer will be called */
5358 void* pUserData;
5359} WDI_DelPeriodicTxPtrnParamsType;
5360
Jeff Johnson295189b2012-06-20 16:38:30 -07005361/*----------------------------------------------------------------------------
5362 * WDI callback types
5363 *--------------------------------------------------------------------------*/
5364
5365/*---------------------------------------------------------------------------
5366 WDI_StartRspCb
5367
5368 DESCRIPTION
5369
5370 This callback is invoked by DAL when it has received a Start response from
5371 the underlying device.
5372
5373 PARAMETERS
5374
5375 IN
5376 wdiRspParams: response parameters received from HAL
5377 pUserData: user data
5378
5379
5380 RETURN VALUE
5381 The result code associated with performing the operation
5382---------------------------------------------------------------------------*/
5383typedef void (*WDI_StartRspCb)(WDI_StartRspParamsType* pwdiRspParams,
5384 void* pUserData);
5385
5386/*---------------------------------------------------------------------------
5387 WDI_StartRspCb
5388
5389 DESCRIPTION
5390
5391 This callback is invoked by DAL when it has received a Stop response from
5392 the underlying device.
5393
5394 PARAMETERS
5395
5396 IN
5397 wdiStatus: response status received from HAL
5398 pUserData: user data
5399
5400
5401
5402 RETURN VALUE
5403 The result code associated with performing the operation
5404---------------------------------------------------------------------------*/
5405typedef void (*WDI_StopRspCb)(WDI_Status wdiStatus,
5406 void* pUserData);
5407
5408/*---------------------------------------------------------------------------
5409 WDI_StartRspCb
5410
5411 DESCRIPTION
5412
5413 This callback is invoked by DAL when it has received an Init Scan response
5414 from the underlying device.
5415
5416 PARAMETERS
5417
5418 IN
5419 wdiStatus: response status received from HAL
5420 pUserData: user data
5421
5422
5423
5424 RETURN VALUE
5425 The result code associated with performing the operation
5426---------------------------------------------------------------------------*/
5427typedef void (*WDI_InitScanRspCb)(WDI_Status wdiStatus,
5428 void* pUserData);
5429
5430
5431/*---------------------------------------------------------------------------
5432 WDI_StartRspCb
5433
5434 DESCRIPTION
5435
5436 This callback is invoked by DAL when it has received a StartScan response
5437 from the underlying device.
5438
5439 PARAMETERS
5440
5441 IN
5442 wdiParams: response params received from HAL
5443 pUserData: user data
5444
5445
5446
5447 RETURN VALUE
5448 The result code associated with performing the operation
5449---------------------------------------------------------------------------*/
5450typedef void (*WDI_StartScanRspCb)(WDI_StartScanRspParamsType* wdiParams,
5451 void* pUserData);
5452
5453
5454/*---------------------------------------------------------------------------
5455 WDI_StartRspCb
5456
5457 DESCRIPTION
5458
5459 This callback is invoked by DAL when it has received a End Scan response
5460 from the underlying device.
5461
5462 PARAMETERS
5463
5464 IN
5465 wdiStatus: response status received from HAL
5466 pUserData: user data
5467
5468
5469
5470 RETURN VALUE
5471 The result code associated with performing the operation
5472---------------------------------------------------------------------------*/
5473typedef void (*WDI_EndScanRspCb)(WDI_Status wdiStatus,
5474 void* pUserData);
5475
5476
5477/*---------------------------------------------------------------------------
5478 WDI_StartRspCb
5479
5480 DESCRIPTION
5481
5482 This callback is invoked by DAL when it has received a Finish Scan response
5483 from the underlying device.
5484
5485 PARAMETERS
5486
5487 IN
5488 wdiStatus: response status received from HAL
5489 pUserData: user data
5490
5491
5492
5493 RETURN VALUE
5494 The result code associated with performing the operation
5495---------------------------------------------------------------------------*/
5496typedef void (*WDI_FinishScanRspCb)(WDI_Status wdiStatus,
5497 void* pUserData);
5498
5499
5500/*---------------------------------------------------------------------------
5501 WDI_StartRspCb
5502
5503 DESCRIPTION
5504
5505 This callback is invoked by DAL when it has received a Join response from
5506 the underlying device.
5507
5508 PARAMETERS
5509
5510 IN
5511 wdiStatus: response status received from HAL
5512 pUserData: user data
5513
5514
5515
5516 RETURN VALUE
5517 The result code associated with performing the operation
5518---------------------------------------------------------------------------*/
5519typedef void (*WDI_JoinRspCb)(WDI_Status wdiStatus,
5520 void* pUserData);
5521
5522
5523/*---------------------------------------------------------------------------
5524 WDI_StartRspCb
5525
5526 DESCRIPTION
5527
5528 This callback is invoked by DAL when it has received a Config BSS response
5529 from the underlying device.
5530
5531 PARAMETERS
5532
5533 IN
5534 wdiConfigBSSRsp: response parameters received from HAL
5535 pUserData: user data
5536
5537
5538 RETURN VALUE
5539 The result code associated with performing the operation
5540---------------------------------------------------------------------------*/
5541typedef void (*WDI_ConfigBSSRspCb)(
5542 WDI_ConfigBSSRspParamsType* pwdiConfigBSSRsp,
5543 void* pUserData);
5544
5545
5546/*---------------------------------------------------------------------------
5547 WDI_StartRspCb
5548
5549 DESCRIPTION
5550
5551 This callback is invoked by DAL when it has received a Del BSS response from
5552 the underlying device.
5553
5554 PARAMETERS
5555
5556 IN
5557 wdiDelBSSRsp: response parameters received from HAL
5558 pUserData: user data
5559
5560
5561 RETURN VALUE
5562 The result code associated with performing the operation
5563---------------------------------------------------------------------------*/
5564typedef void (*WDI_DelBSSRspCb)(WDI_DelBSSRspParamsType* pwdiDelBSSRsp,
5565 void* pUserData);
5566
5567
5568/*---------------------------------------------------------------------------
5569 WDI_StartRspCb
5570
5571 DESCRIPTION
5572
5573 This callback is invoked by DAL when it has received a Post Assoc response
5574 from the underlying device.
5575
5576 PARAMETERS
5577
5578 IN
5579 wdiRspParams: response parameters received from HAL
5580 pUserData: user data
5581
5582
5583 RETURN VALUE
5584 The result code associated with performing the operation
5585---------------------------------------------------------------------------*/
5586typedef void (*WDI_PostAssocRspCb)(
5587 WDI_PostAssocRspParamsType* pwdiPostAssocRsp,
5588 void* pUserData);
5589
5590
5591/*---------------------------------------------------------------------------
5592 WDI_StartRspCb
5593
5594 DESCRIPTION
5595
5596 This callback is invoked by DAL when it has received a Del STA response from
5597 the underlying device.
5598
5599 PARAMETERS
5600
5601 IN
5602 wdiDelSTARsp: response parameters received from HAL
5603 pUserData: user data
5604
5605
5606 RETURN VALUE
5607 The result code associated with performing the operation
5608---------------------------------------------------------------------------*/
5609typedef void (*WDI_DelSTARspCb)(WDI_DelSTARspParamsType* pwdiDelSTARsp,
5610 void* pUserData);
5611
5612
5613
5614/*---------------------------------------------------------------------------
5615 WDI_StartRspCb
5616
5617 DESCRIPTION
5618
5619 This callback is invoked by DAL when it has received a Set BSS Key response
5620 from the underlying device.
5621
5622 PARAMETERS
5623
5624 IN
5625 wdiStatus: response status received from HAL
5626 pUserData: user data
5627
5628
5629
5630 RETURN VALUE
5631 The result code associated with performing the operation
5632---------------------------------------------------------------------------*/
5633typedef void (*WDI_SetBSSKeyRspCb)(WDI_Status wdiStatus,
5634 void* pUserData);
5635
5636/*---------------------------------------------------------------------------
5637 WDI_StartRspCb
5638
5639 DESCRIPTION
5640
5641 This callback is invoked by DAL when it has received a Remove BSS Key
5642 response from the underlying device.
5643
5644 PARAMETERS
5645
5646 IN
5647 wdiStatus: response status received from HAL
5648 pUserData: user data
5649
5650
5651
5652 RETURN VALUE
5653 The result code associated with performing the operation
5654---------------------------------------------------------------------------*/
5655typedef void (*WDI_RemoveBSSKeyRspCb)(WDI_Status wdiStatus,
5656 void* pUserData);
5657
5658/*---------------------------------------------------------------------------
5659 WDI_StartRspCb
5660
5661 DESCRIPTION
5662
5663 This callback is invoked by DAL when it has received a Set STA Key response
5664 from the underlying device.
5665
5666 PARAMETERS
5667
5668 IN
5669 wdiStatus: response status received from HAL
5670 pUserData: user data
5671
5672
5673
5674 RETURN VALUE
5675 The result code associated with performing the operation
5676---------------------------------------------------------------------------*/
5677typedef void (*WDI_SetSTAKeyRspCb)(WDI_Status wdiStatus,
5678 void* pUserData);
5679
5680
5681/*---------------------------------------------------------------------------
5682 WDI_StartRspCb
5683
5684 DESCRIPTION
5685
5686 This callback is invoked by DAL when it has received a Remove STA Key
5687 response from the underlying device.
5688
5689 PARAMETERS
5690
5691 IN
5692 wdiStatus: response status received from HAL
5693 pUserData: user data
5694
5695
5696
5697 RETURN VALUE
5698 The result code associated with performing the operation
5699---------------------------------------------------------------------------*/
5700typedef void (*WDI_RemoveSTAKeyRspCb)(WDI_Status wdiStatus,
5701 void* pUserData);
5702
5703
5704#ifdef FEATURE_WLAN_CCX
5705/*---------------------------------------------------------------------------
5706 WDI_TsmRspCb
5707
5708 DESCRIPTION
5709
5710 This callback is invoked by DAL when it has received a TSM Stats response from the underlying device.
5711
5712 PARAMETERS
5713
5714 IN
5715 pTSMStats: response status received from HAL
5716 pUserData: user data
5717
5718
5719
5720 RETURN VALUE
5721 The result code associated with performing the operation
5722---------------------------------------------------------------------------*/
5723typedef void (*WDI_TsmRspCb)(WDI_TSMStatsRspParamsType *pTSMStats,
5724 void* pUserData);
5725#endif
5726
5727/*---------------------------------------------------------------------------
5728 WDI_StartRspCb
5729
5730 DESCRIPTION
5731
5732 This callback is invoked by DAL when it has received a Add TS response from
5733 the underlying device.
5734
5735 PARAMETERS
5736
5737 IN
5738 wdiStatus: response status received from HAL
5739 pUserData: user data
5740
5741
5742
5743 RETURN VALUE
5744 The result code associated with performing the operation
5745---------------------------------------------------------------------------*/
5746typedef void (*WDI_AddTsRspCb)(WDI_Status wdiStatus,
5747 void* pUserData);
5748
5749/*---------------------------------------------------------------------------
5750 WDI_StartRspCb
5751
5752 DESCRIPTION
5753
5754 This callback is invoked by DAL when it has received a Del TS response from
5755 the underlying device.
5756
5757 PARAMETERS
5758
5759 IN
5760 wdiStatus: response status received from HAL
5761 pUserData: user data
5762
5763
5764
5765 RETURN VALUE
5766 The result code associated with performing the operation
5767---------------------------------------------------------------------------*/
5768typedef void (*WDI_DelTsRspCb)(WDI_Status wdiStatus,
5769 void* pUserData);
5770
5771/*---------------------------------------------------------------------------
5772 WDI_StartRspCb
5773
5774 DESCRIPTION
5775
5776 This callback is invoked by DAL when it has received an Update EDCA Params
5777 response from the underlying device.
5778
5779 PARAMETERS
5780
5781 IN
5782 wdiStatus: response status received from HAL
5783 pUserData: user data
5784
5785
5786
5787 RETURN VALUE
5788 The result code associated with performing the operation
5789---------------------------------------------------------------------------*/
5790typedef void (*WDI_UpdateEDCAParamsRspCb)(WDI_Status wdiStatus,
5791 void* pUserData);
5792
5793/*---------------------------------------------------------------------------
5794 WDI_StartRspCb
5795
5796 DESCRIPTION
5797
5798 This callback is invoked by DAL when it has received a Add BA response from
5799 the underlying device.
5800
5801 PARAMETERS
5802
5803 IN
5804 wdiStatus: response status received from HAL
5805 pUserData: user data
5806
5807
5808
5809 RETURN VALUE
5810 The result code associated with performing the operation
5811---------------------------------------------------------------------------*/
5812typedef void (*WDI_AddBASessionRspCb)(
5813 WDI_AddBASessionRspParamsType* wdiAddBASessionRsp,
5814 void* pUserData);
5815
5816
5817/*---------------------------------------------------------------------------
5818 WDI_StartRspCb
5819
5820 DESCRIPTION
5821
5822 This callback is invoked by DAL when it has received a Del BA response from
5823 the underlying device.
5824
5825 PARAMETERS
5826
5827 IN
5828 wdiStatus: response status received from HAL
5829 pUserData: user data
5830
5831
5832
5833 RETURN VALUE
5834 The result code associated with performing the operation
5835---------------------------------------------------------------------------*/
5836typedef void (*WDI_DelBARspCb)(WDI_Status wdiStatus,
5837 void* pUserData);
5838
5839
5840/*---------------------------------------------------------------------------
5841 WDI_StartRspCb
5842
5843 DESCRIPTION
5844
5845 This callback is invoked by DAL when it has received a Switch Ch response
5846 from the underlying device.
5847
5848 PARAMETERS
5849
5850 IN
5851 wdiRspParams: response parameters received from HAL
5852 pUserData: user data
5853
5854
5855 RETURN VALUE
5856 The result code associated with performing the operation
5857---------------------------------------------------------------------------*/
5858typedef void (*WDI_SwitchChRspCb)(WDI_SwitchCHRspParamsType* pwdiSwitchChRsp,
5859 void* pUserData);
5860
5861
5862/*---------------------------------------------------------------------------
5863 WDI_StartRspCb
5864
5865 DESCRIPTION
5866
5867 This callback is invoked by DAL when it has received a Config STA response
5868 from the underlying device.
5869
5870 PARAMETERS
5871
5872 IN
5873 wdiRspParams: response parameters received from HAL
5874 pUserData: user data
5875
5876
5877 RETURN VALUE
5878 The result code associated with performing the operation
5879---------------------------------------------------------------------------*/
5880typedef void (*WDI_ConfigSTARspCb)(
5881 WDI_ConfigSTARspParamsType* pwdiConfigSTARsp,
5882 void* pUserData);
5883
5884
5885/*---------------------------------------------------------------------------
5886 WDI_StartRspCb
5887
5888 DESCRIPTION
5889
5890 This callback is invoked by DAL when it has received a Set Link State
5891 response from the underlying device.
5892
5893 PARAMETERS
5894
5895 IN
5896 wdiRspParams: response parameters received from HAL
5897 pUserData: user data
5898
5899
5900 RETURN VALUE
5901 The result code associated with performing the operation
5902---------------------------------------------------------------------------*/
5903typedef void (*WDI_SetLinkStateRspCb)( WDI_Status wdiStatus,
5904 void* pUserData);
5905
5906
5907/*---------------------------------------------------------------------------
5908 WDI_StartRspCb
5909
5910 DESCRIPTION
5911
5912 This callback is invoked by DAL when it has received a Get Stats response
5913 from the underlying device.
5914
5915 PARAMETERS
5916
5917 IN
5918 wdiRspParams: response parameters received from HAL
5919 pUserData: user data
5920
5921
5922 RETURN VALUE
5923 The result code associated with performing the operation
5924---------------------------------------------------------------------------*/
5925typedef void (*WDI_GetStatsRspCb)(WDI_GetStatsRspParamsType* pwdiGetStatsRsp,
5926 void* pUserData);
5927
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08005928#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_CCX || defined(FEATURE_WLAN_LFR)
5929/*---------------------------------------------------------------------------
5930 WDI_GetRoamRssiRspCb
5931
5932 DESCRIPTION
5933
5934 This callback is invoked by DAL when it has received a Get Roam Rssi response
5935 from the underlying device.
5936
5937 PARAMETERS
5938
5939 IN
5940 wdiRspParams: response parameters received from HAL
5941 pUserData: user data
5942
5943
5944 RETURN VALUE
5945 The result code associated with performing the operation
5946---------------------------------------------------------------------------*/
5947typedef void (*WDI_GetRoamRssiRspCb)(WDI_GetRoamRssiRspParamsType* pwdiGetRoamRssiRsp,
5948 void* pUserData);
5949#endif
5950
Jeff Johnson295189b2012-06-20 16:38:30 -07005951
5952/*---------------------------------------------------------------------------
5953 WDI_StartRspCb
5954
5955 DESCRIPTION
5956
5957 This callback is invoked by DAL when it has received a Update Cfg response
5958 from the underlying device.
5959
5960 PARAMETERS
5961
5962 IN
5963 wdiStatus: response status received from HAL
5964 pUserData: user data
5965
5966
5967 RETURN VALUE
5968 The result code associated with performing the operation
5969---------------------------------------------------------------------------*/
5970typedef void (*WDI_UpdateCfgRspCb)(WDI_Status wdiStatus,
5971 void* pUserData);
5972
5973/*---------------------------------------------------------------------------
5974 WDI_AddBARspCb
5975
5976 DESCRIPTION
5977
5978 This callback is invoked by DAL when it has received a ADD BA response
5979 from the underlying device.
5980
5981 PARAMETERS
5982
5983 IN
5984 wdiStatus: response status received from HAL
5985 pUserData: user data
5986
5987
5988 RETURN VALUE
5989 The result code associated with performing the operation
5990---------------------------------------------------------------------------*/
5991typedef void (*WDI_AddBARspCb)(WDI_AddBARspinfoType* wdiAddBARsp,
5992 void* pUserData);
5993
5994/*---------------------------------------------------------------------------
5995 WDI_TriggerBARspCb
5996
5997 DESCRIPTION
5998
5999 This callback is invoked by DAL when it has received a ADD BA response
6000 from the underlying device.
6001
6002 PARAMETERS
6003
6004 IN
6005 wdiStatus: response status received from HAL
6006 pUserData: user data
6007
6008
6009 RETURN VALUE
6010 The result code associated with performing the operation
6011---------------------------------------------------------------------------*/
6012typedef void (*WDI_TriggerBARspCb)(WDI_TriggerBARspParamsType* wdiTriggerBARsp,
6013 void* pUserData);
6014
6015
6016/*---------------------------------------------------------------------------
6017 WDI_UpdateBeaconParamsRspCb
6018
6019 DESCRIPTION
6020
6021 This callback is invoked by DAL when it has received a Update Beacon Params response from
6022 the underlying device.
6023
6024 PARAMETERS
6025
6026 IN
6027 wdiStatus: response status received from HAL
6028 pUserData: user data
6029
6030
6031
6032 RETURN VALUE
6033 The result code associated with performing the operation
6034---------------------------------------------------------------------------*/
6035typedef void (*WDI_UpdateBeaconParamsRspCb)(WDI_Status wdiStatus,
6036 void* pUserData);
6037
6038/*---------------------------------------------------------------------------
6039 WDI_SendBeaconParamsRspCb
6040
6041 DESCRIPTION
6042
6043 This callback is invoked by DAL when it has received a Send Beacon Params response from
6044 the underlying device.
6045
6046 PARAMETERS
6047
6048 IN
6049 wdiStatus: response status received from HAL
6050 pUserData: user data
6051
6052
6053
6054 RETURN VALUE
6055 The result code associated with performing the operation
6056---------------------------------------------------------------------------*/
6057typedef void (*WDI_SendBeaconParamsRspCb)(WDI_Status wdiStatus,
6058 void* pUserData);
6059
6060/*---------------------------------------------------------------------------
6061 WDA_SetMaxTxPowerRspCb
6062
6063 DESCRIPTION
6064
6065 This callback is invoked by DAL when it has received a set max Tx Power response from
6066 the underlying device.
6067
6068 PARAMETERS
6069
6070 IN
6071 wdiStatus: response status received from HAL
6072 pUserData: user data
6073
6074
6075
6076 RETURN VALUE
6077 The result code associated with performing the operation
6078---------------------------------------------------------------------------*/
6079typedef void (*WDA_SetMaxTxPowerRspCb)(WDI_SetMaxTxPowerRspMsg *wdiSetMaxTxPowerRsp,
6080 void* pUserData);
6081
6082/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07006083 WDA_SetTxPowerRspCb
6084
6085 DESCRIPTION
6086
6087 This callback is invoked by DAL when it has received a set max Tx Power response from
6088 the underlying device.
6089
6090 PARAMETERS
6091
6092 IN
6093 wdiStatus: response status received from HAL
6094 pUserData: user data
6095
6096 RETURN VALUE
6097 The result code associated with performing the operation
6098---------------------------------------------------------------------------*/
6099typedef void (*WDA_SetTxPowerRspCb)(WDI_SetTxPowerRspMsg *wdiSetTxPowerRsp,
6100 void* pUserData);
6101
6102/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07006103 WDI_UpdateProbeRspTemplateRspCb
6104
6105 DESCRIPTION
6106
6107 This callback is invoked by DAL when it has received a Probe RSP Template
6108 Update response from the underlying device.
6109
6110 PARAMETERS
6111
6112 IN
6113 wdiStatus: response status received from HAL
6114 pUserData: user data
6115
6116
6117
6118 RETURN VALUE
6119 The result code associated with performing the operation
6120---------------------------------------------------------------------------*/
6121typedef void (*WDI_UpdateProbeRspTemplateRspCb)(WDI_Status wdiStatus,
6122 void* pUserData);
6123
Jeff Johnson295189b2012-06-20 16:38:30 -07006124/*---------------------------------------------------------------------------
6125 WDI_SetP2PGONOAReqParamsRspCb
6126
6127 DESCRIPTION
6128
6129 This callback is invoked by DAL when it has received a P2P GO NOA Params response from
6130 the underlying device.
6131
6132 PARAMETERS
6133
6134 IN
6135 wdiStatus: response status received from HAL
6136 pUserData: user data
6137
6138
6139
6140 RETURN VALUE
6141 The result code associated with performing the operation
6142---------------------------------------------------------------------------*/
6143typedef void (*WDI_SetP2PGONOAReqParamsRspCb)(WDI_Status wdiStatus,
6144 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006145
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05306146/*---------------------------------------------------------------------------
6147 WDI_SetTDLSLinkEstablishReqParamsRspCb
6148
6149 DESCRIPTION
6150
6151 This callback is invoked by DAL when it has received a TDLS Link Establish Req response from
6152 the underlying device.
6153
6154 PARAMETERS
6155
6156 IN
6157 wdiStatus: response status received from HAL
6158 pUserData: user data
6159
6160
6161
6162 RETURN VALUE
6163 The result code associated with performing the operation
6164---------------------------------------------------------------------------*/
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05306165typedef void (*WDI_SetTDLSLinkEstablishReqParamsRspCb)(WDI_SetTdlsLinkEstablishReqResp *
6166 wdiSetTdlsLinkEstablishReqRsp,
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05306167 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006168
6169/*---------------------------------------------------------------------------
6170 WDI_SetPwrSaveCfgCb
6171
6172 DESCRIPTION
6173
6174 This callback is invoked by DAL when it has received a set Power Save CFG
6175 response from the underlying device.
6176
6177 PARAMETERS
6178
6179 IN
6180 wdiStatus: response status received from HAL
6181 pUserData: user data
6182
6183
6184
6185 RETURN VALUE
6186 The result code associated with performing the operation
6187---------------------------------------------------------------------------*/
6188typedef void (*WDI_SetPwrSaveCfgCb)(WDI_Status wdiStatus,
6189 void* pUserData);
6190
6191/*---------------------------------------------------------------------------
6192 WDI_SetUapsdAcParamsCb
6193
6194 DESCRIPTION
6195
6196 This callback is invoked by DAL when it has received a set UAPSD params
6197 response from the underlying device.
6198
6199 PARAMETERS
6200
6201 IN
6202 wdiStatus: response status received from HAL
6203 pUserData: user data
6204
6205
6206
6207 RETURN VALUE
6208 The result code associated with performing the operation
6209---------------------------------------------------------------------------*/
6210typedef void (*WDI_SetUapsdAcParamsCb)(WDI_Status wdiStatus,
6211 void* pUserData);
6212
6213/*---------------------------------------------------------------------------
6214 WDI_EnterImpsRspCb
6215
6216 DESCRIPTION
6217
6218 This callback is invoked by DAL when it has received a Enter IMPS response
6219 from the underlying device.
6220
6221 PARAMETERS
6222
6223 IN
6224 wdiStatus: response status received from HAL
6225 pUserData: user data
6226
6227
6228
6229 RETURN VALUE
6230 The result code associated with performing the operation
6231---------------------------------------------------------------------------*/
6232typedef void (*WDI_EnterImpsRspCb)(WDI_Status wdiStatus,
6233 void* pUserData);
6234
6235/*---------------------------------------------------------------------------
6236 WDI_ExitImpsRspCb
6237
6238 DESCRIPTION
6239
6240 This callback is invoked by DAL when it has received a Exit IMPS response
6241 from the underlying device.
6242
6243 PARAMETERS
6244
6245 IN
6246 wdiStatus: response status received from HAL
6247 pUserData: user data
6248
6249
6250
6251 RETURN VALUE
6252 The result code associated with performing the operation
6253---------------------------------------------------------------------------*/
6254typedef void (*WDI_ExitImpsRspCb)(WDI_Status wdiStatus,
6255 void* pUserData);
6256
6257/*---------------------------------------------------------------------------
6258 WDI_EnterBmpsRspCb
6259
6260 DESCRIPTION
6261
6262 This callback is invoked by DAL when it has received a enter BMPS response
6263 from the underlying device.
6264
6265 PARAMETERS
6266
6267 IN
6268 wdiStatus: response status received from HAL
6269 pUserData: user data
6270
6271
6272
6273 RETURN VALUE
6274 The result code associated with performing the operation
6275---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006276typedef void (*WDI_EnterBmpsRspCb)(WDI_EnterBmpsRspParamsType *pwdiEnterBmpsRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006277 void* pUserData);
6278
6279/*---------------------------------------------------------------------------
6280 WDI_ExitBmpsRspCb
6281
6282 DESCRIPTION
6283
6284 This callback is invoked by DAL when it has received a exit BMPS response
6285 from the underlying device.
6286
6287 PARAMETERS
6288
6289 IN
6290 wdiStatus: response status received from HAL
6291 pUserData: user data
6292
6293
6294
6295 RETURN VALUE
6296 The result code associated with performing the operation
6297---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006298typedef void (*WDI_ExitBmpsRspCb)( WDI_ExitBmpsRspParamsType *pwdiExitBmpsRspParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07006299 void* pUserData);
6300
6301/*---------------------------------------------------------------------------
6302 WDI_EnterUapsdRspCb
6303
6304 DESCRIPTION
6305
6306 This callback is invoked by DAL when it has received a enter UAPSD response
6307 from the underlying device.
6308
6309 PARAMETERS
6310
6311 IN
6312 wdiStatus: response status received from HAL
6313 pUserData: user data
6314
6315
6316
6317 RETURN VALUE
6318 The result code associated with performing the operation
6319---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006320typedef void (*WDI_EnterUapsdRspCb)( WDI_EnterUapsdRspParamsType *pwdiEnterUapsdRspParam,
Jeff Johnson295189b2012-06-20 16:38:30 -07006321 void* pUserData);
6322
6323/*---------------------------------------------------------------------------
6324 WDI_ExitUapsdRspCb
6325
6326 DESCRIPTION
6327
6328 This callback is invoked by DAL when it has received a exit UAPSD response
6329 from the underlying device.
6330
6331 PARAMETERS
6332
6333 IN
6334 wdiStatus: response status received from HAL
6335 pUserData: user data
6336
6337
6338
6339 RETURN VALUE
6340 The result code associated with performing the operation
6341---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006342typedef void (*WDI_ExitUapsdRspCb)(WDI_ExitUapsdRspParamsType *pwidExitUapsdRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006343 void* pUserData);
6344
6345/*---------------------------------------------------------------------------
6346 WDI_UpdateUapsdParamsCb
6347
6348 DESCRIPTION
6349
6350 This callback is invoked by DAL when it has received a update UAPSD params
6351 response from the underlying device.
6352
6353 PARAMETERS
6354
6355 IN
6356 wdiStatus: response status received from HAL
6357 pUserData: user data
6358
6359
6360
6361 RETURN VALUE
6362 The result code associated with performing the operation
6363---------------------------------------------------------------------------*/
6364typedef void (*WDI_UpdateUapsdParamsCb)(WDI_Status wdiStatus,
6365 void* pUserData);
6366
6367/*---------------------------------------------------------------------------
6368 WDI_ConfigureRxpFilterCb
6369
6370 DESCRIPTION
6371
6372 This callback is invoked by DAL when it has received a config RXP filter
6373 response from the underlying device.
6374
6375 PARAMETERS
6376
6377 IN
6378 wdiStatus: response status received from HAL
6379 pUserData: user data
6380
6381
6382
6383 RETURN VALUE
6384 The result code associated with performing the operation
6385---------------------------------------------------------------------------*/
6386typedef void (*WDI_ConfigureRxpFilterCb)(WDI_Status wdiStatus,
6387 void* pUserData);
6388
6389/*---------------------------------------------------------------------------
6390 WDI_SetBeaconFilterCb
6391
6392 DESCRIPTION
6393
6394 This callback is invoked by DAL when it has received a set beacon filter
6395 response from the underlying device.
6396
6397 PARAMETERS
6398
6399 IN
6400 wdiStatus: response status received from HAL
6401 pUserData: user data
6402
6403
6404
6405 RETURN VALUE
6406 The result code associated with performing the operation
6407---------------------------------------------------------------------------*/
6408typedef void (*WDI_SetBeaconFilterCb)(WDI_Status wdiStatus,
6409 void* pUserData);
6410
6411/*---------------------------------------------------------------------------
6412 WDI_RemBeaconFilterCb
6413
6414 DESCRIPTION
6415
6416 This callback is invoked by DAL when it has received a remove beacon filter
6417 response from the underlying device.
6418
6419 PARAMETERS
6420
6421 IN
6422 wdiStatus: response status received from HAL
6423 pUserData: user data
6424
6425
6426
6427 RETURN VALUE
6428 The result code associated with performing the operation
6429---------------------------------------------------------------------------*/
6430typedef void (*WDI_RemBeaconFilterCb)(WDI_Status wdiStatus,
6431 void* pUserData);
6432
6433/*---------------------------------------------------------------------------
6434 WDI_SetRSSIThresholdsCb
6435
6436 DESCRIPTION
6437
6438 This callback is invoked by DAL when it has received a set RSSI thresholds
6439 response from the underlying device.
6440
6441 PARAMETERS
6442
6443 IN
6444 wdiStatus: response status received from HAL
6445 pUserData: user data
6446
6447
6448
6449 RETURN VALUE
6450 The result code associated with performing the operation
6451---------------------------------------------------------------------------*/
6452typedef void (*WDI_SetRSSIThresholdsCb)(WDI_Status wdiStatus,
6453 void* pUserData);
6454
6455/*---------------------------------------------------------------------------
6456 WDI_HostOffloadCb
6457
6458 DESCRIPTION
6459
6460 This callback is invoked by DAL when it has received a host offload
6461 response from the underlying device.
6462
6463 PARAMETERS
6464
6465 IN
6466 wdiStatus: response status received from HAL
6467 pUserData: user data
6468
6469
6470
6471 RETURN VALUE
6472 The result code associated with performing the operation
6473---------------------------------------------------------------------------*/
6474typedef void (*WDI_HostOffloadCb)(WDI_Status wdiStatus,
6475 void* pUserData);
6476
6477/*---------------------------------------------------------------------------
6478 WDI_KeepAliveCb
6479
6480 DESCRIPTION
6481
6482 This callback is invoked by DAL when it has received a Keep Alive
6483 response from the underlying device.
6484
6485 PARAMETERS
6486
6487 IN
6488 wdiStatus: response status received from HAL
6489 pUserData: user data
6490
6491
6492
6493 RETURN VALUE
6494 The result code associated with performing the operation
6495---------------------------------------------------------------------------*/
6496typedef void (*WDI_KeepAliveCb)(WDI_Status wdiStatus,
6497 void* pUserData);
6498
6499/*---------------------------------------------------------------------------
6500 WDI_WowlAddBcPtrnCb
6501
6502 DESCRIPTION
6503
6504 This callback is invoked by DAL when it has received a Wowl add Bcast ptrn
6505 response from the underlying device.
6506
6507 PARAMETERS
6508
6509 IN
6510 wdiStatus: response status received from HAL
6511 pUserData: user data
6512
6513
6514
6515 RETURN VALUE
6516 The result code associated with performing the operation
6517---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006518typedef void (*WDI_WowlAddBcPtrnCb)( WDI_WowlAddBcPtrnRspParamsType *pwdiWowlAddBcPtrnParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07006519 void* pUserData);
6520
6521/*---------------------------------------------------------------------------
6522 WDI_WowlDelBcPtrnCb
6523
6524 DESCRIPTION
6525
6526 This callback is invoked by DAL when it has received a Wowl delete Bcast ptrn
6527 response from the underlying device.
6528
6529 PARAMETERS
6530
6531 IN
6532 wdiStatus: response status received from HAL
6533 pUserData: user data
6534
6535
6536
6537 RETURN VALUE
6538 The result code associated with performing the operation
6539---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006540typedef void (*WDI_WowlDelBcPtrnCb)( WDI_WowlDelBcPtrnRspParamsType *pwdiWowlDelBcstPtrRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006541 void* pUserData);
6542
6543/*---------------------------------------------------------------------------
6544 WDI_WowlEnterReqCb
6545
6546 DESCRIPTION
6547
6548 This callback is invoked by DAL when it has received a Wowl enter
6549 response from the underlying device.
6550
6551 PARAMETERS
6552
6553 IN
6554 wdiStatus: response status received from HAL
6555 pUserData: user data
6556
6557
6558
6559 RETURN VALUE
6560 The result code associated with performing the operation
6561---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006562typedef void (*WDI_WowlEnterReqCb)( WDI_WowlEnterRspParamsType *pwdiwowlEnterRsp,
6563 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006564
6565/*---------------------------------------------------------------------------
6566 WDI_WowlExitReqCb
6567
6568 DESCRIPTION
6569
6570 This callback is invoked by DAL when it has received a Wowl exit
6571 response from the underlying device.
6572
6573 PARAMETERS
6574
6575 IN
6576 wdiStatus: response status received from HAL
6577 pUserData: user data
6578
6579
6580
6581 RETURN VALUE
6582 The result code associated with performing the operation
6583---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006584typedef void (*WDI_WowlExitReqCb)( WDI_WowlExitRspParamsType *pwdiWowlExitRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006585 void* pUserData);
6586
6587/*---------------------------------------------------------------------------
6588 WDI_ConfigureAppsCpuWakeupStateCb
6589
6590 DESCRIPTION
6591
6592 This callback is invoked by DAL when it has received a config Apps Cpu Wakeup
6593 State response from the underlying device.
6594
6595 PARAMETERS
6596
6597 IN
6598 wdiStatus: response status received from HAL
6599 pUserData: user data
6600
6601
6602
6603 RETURN VALUE
6604 The result code associated with performing the operation
6605---------------------------------------------------------------------------*/
6606typedef void (*WDI_ConfigureAppsCpuWakeupStateCb)(WDI_Status wdiStatus,
6607 void* pUserData);
6608/*---------------------------------------------------------------------------
6609 WDI_NvDownloadRspCb
6610
6611 DESCRIPTION
6612
6613 This callback is invoked by DAL when it has received a NV Download response
6614 from the underlying device.
6615
6616 PARAMETERS
6617
6618 IN
6619 wdiStatus:response status received from HAL
6620 pUserData:user data
6621
6622 RETURN VALUE
6623 The result code associated with performing the operation
6624---------------------------------------------------------------------------*/
6625typedef void (*WDI_NvDownloadRspCb)(WDI_NvDownloadRspInfoType* wdiNvDownloadRsp,
6626 void* pUserData);
6627/*---------------------------------------------------------------------------
6628 WDI_FlushAcRspCb
6629
6630 DESCRIPTION
6631
6632 This callback is invoked by DAL when it has received a Flush AC response from
6633 the underlying device.
6634
6635 PARAMETERS
6636
6637 IN
6638 wdiStatus: response status received from HAL
6639 pUserData: user data
6640
6641
6642
6643 RETURN VALUE
6644 The result code associated with performing the operation
6645---------------------------------------------------------------------------*/
6646typedef void (*WDI_FlushAcRspCb)(WDI_Status wdiStatus,
6647 void* pUserData);
6648
6649/*---------------------------------------------------------------------------
6650 WDI_BtAmpEventRspCb
6651
6652 DESCRIPTION
6653
6654 This callback is invoked by DAL when it has received a Bt AMP event response
6655 from the underlying device.
6656
6657 PARAMETERS
6658
6659 IN
6660 wdiStatus: response status received from HAL
6661 pUserData: user data
6662
6663
6664
6665 RETURN VALUE
6666 The result code associated with performing the operation
6667---------------------------------------------------------------------------*/
6668typedef void (*WDI_BtAmpEventRspCb)(WDI_Status wdiStatus,
6669 void* pUserData);
6670
Jeff Johnsone7245742012-09-05 17:12:55 -07006671#ifdef FEATURE_OEM_DATA_SUPPORT
6672/*---------------------------------------------------------------------------
6673 WDI_oemDataRspCb
6674
6675 DESCRIPTION
6676
6677 This callback is invoked by DAL when it has received a Start oem data response from
6678 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_oemDataRspCb)(WDI_oemDataRspParamsType* wdiOemDataRspParams,
6692 void* pUserData);
6693
6694#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07006695
6696/*---------------------------------------------------------------------------
6697 WDI_HostResumeEventRspCb
6698
6699 DESCRIPTION
6700
6701 This callback is invoked by DAL when it has received a Bt AMP event response
6702 from the underlying device.
6703
6704 PARAMETERS
6705
6706 IN
6707 wdiStatus: response status received from HAL
6708 pUserData: user data
6709
6710
6711
6712 RETURN VALUE
6713 The result code associated with performing the operation
6714---------------------------------------------------------------------------*/
6715typedef void (*WDI_HostResumeEventRspCb)(
6716 WDI_SuspendResumeRspParamsType *resumeRspParams,
6717 void* pUserData);
6718
6719
6720#ifdef WLAN_FEATURE_VOWIFI_11R
6721/*---------------------------------------------------------------------------
6722 WDI_AggrAddTsRspCb
6723
6724 DESCRIPTION
6725
6726 This callback is invoked by DAL when it has received a Aggregated Add TS
6727 response from the underlying device.
6728
6729 PARAMETERS
6730
6731 IN
6732 wdiStatus: response status received from HAL
6733 pUserData: user data
6734
6735
6736
6737 RETURN VALUE
6738 The result code associated with performing the operation
6739---------------------------------------------------------------------------*/
6740typedef void (*WDI_AggrAddTsRspCb)(WDI_Status wdiStatus,
6741 void* pUserData);
6742#endif /* WLAN_FEATURE_VOWIFI_11R */
6743
Jeff Johnson295189b2012-06-20 16:38:30 -07006744/*---------------------------------------------------------------------------
6745 WDI_FTMCommandRspCb
6746
6747 DESCRIPTION
6748
6749 FTM Command response CB
6750
6751 PARAMETERS
6752
6753 IN
6754 ftmCMDRspdata: FTM response data from HAL
6755 pUserData: user data
6756
6757
6758 RETURN VALUE
6759 NONE
6760---------------------------------------------------------------------------*/
6761typedef void (*WDI_FTMCommandRspCb)(void *ftmCMDRspdata,
6762 void *pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006763
6764/*---------------------------------------------------------------------------
6765 WDI_AddSTASelfParamsRspCb
6766
6767 DESCRIPTION
6768
6769 This callback is invoked by DAL when it has received a Add Sta Self Params
6770 response from the underlying device.
6771
6772 PARAMETERS
6773
6774 IN
6775 wdiAddSelfSTARsp: 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---------------------------------------------------------------------------*/
6783typedef void (*WDI_AddSTASelfParamsRspCb)(
6784 WDI_AddSTASelfRspParamsType* pwdiAddSelfSTARsp,
6785 void* pUserData);
6786
6787
6788/*---------------------------------------------------------------------------
6789 WDI_DelSTASelfRspCb
6790
6791 DESCRIPTION
6792
6793 This callback is invoked by DAL when it has received a host offload
6794 response from the underlying device.
6795
6796 PARAMETERS
6797
6798 IN
6799 wdiStatus: response status received from HAL
6800 pUserData: user data
6801
6802
6803
6804 RETURN VALUE
6805 The result code associated with performing the operation
6806---------------------------------------------------------------------------*/
6807typedef void (*WDI_DelSTASelfRspCb)
6808(
6809WDI_DelSTASelfRspParamsType* wdiDelStaSelfRspParams,
6810void* pUserData
6811);
6812
6813#ifdef FEATURE_WLAN_SCAN_PNO
6814/*---------------------------------------------------------------------------
6815 WDI_PNOScanCb
6816
6817 DESCRIPTION
6818
6819 This callback is invoked by DAL when it has received a Set PNO
6820 response from the underlying device.
6821
6822 PARAMETERS
6823
6824 IN
6825 wdiStatus: response status received from HAL
6826 pUserData: user data
6827
6828
6829
6830 RETURN VALUE
6831 The result code associated with performing the operation
6832---------------------------------------------------------------------------*/
6833typedef void (*WDI_PNOScanCb)(WDI_Status wdiStatus,
6834 void* pUserData);
6835
6836/*---------------------------------------------------------------------------
6837 WDI_PNOScanCb
6838
6839 DESCRIPTION
6840
6841 This callback is invoked by DAL when it has received a Set PNO
6842 response from the underlying device.
6843
6844 PARAMETERS
6845
6846 IN
6847 wdiStatus: response status received from HAL
6848 pUserData: user data
6849
6850
6851
6852 RETURN VALUE
6853 The result code associated with performing the operation
6854---------------------------------------------------------------------------*/
6855typedef void (*WDI_RssiFilterCb)(WDI_Status wdiStatus,
6856 void* pUserData);
6857
6858/*---------------------------------------------------------------------------
6859 WDI_UpdateScanParamsCb
6860
6861 DESCRIPTION
6862
6863 This callback is invoked by DAL when it has received a Update Scan Params
6864 response from the underlying device.
6865
6866 PARAMETERS
6867
6868 IN
6869 wdiStatus: 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_UpdateScanParamsCb)(WDI_Status wdiStatus,
6878 void* pUserData);
6879#endif // FEATURE_WLAN_SCAN_PNO
6880
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07006881#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
6882/*---------------------------------------------------------------------------
6883 WDI_RoamOffloadScanCb
6884
6885 DESCRIPTION
6886
6887 This callback is invoked by DAL when it has received a Start Roam Candidate Lookup Req
6888 response from the underlying device.
6889
6890 PARAMETERS
6891
6892 IN
6893 wdiStatus: response status received from HAL
6894 pUserData: user data
6895
6896
6897
6898 RETURN VALUE
6899 The result code associated with performing the operation
6900---------------------------------------------------------------------------*/
6901typedef void (*WDI_RoamOffloadScanCb)(WDI_Status wdiStatus,
6902 void* pUserData);
6903
6904#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07006905/*---------------------------------------------------------------------------
6906 WDI_SetTxPerTrackingRspCb
6907
6908 DESCRIPTION
6909
6910 This callback is invoked by DAL when it has received a Tx PER Tracking
6911 response from the underlying device.
6912
6913 PARAMETERS
6914
6915 IN
6916 wdiStatus: response status received from HAL
6917 pUserData: user data
6918
6919
6920
6921 RETURN VALUE
6922 The result code associated with performing the operation
6923---------------------------------------------------------------------------*/
6924typedef void (*WDI_SetTxPerTrackingRspCb)(WDI_Status wdiStatus,
6925 void* pUserData);
6926
6927#ifdef WLAN_FEATURE_PACKET_FILTERING
6928/*---------------------------------------------------------------------------
6929 WDI_8023MulticastListCb
6930
6931 DESCRIPTION
6932
6933 This callback is invoked by DAL when it has received a 8023 Multicast List
6934 response from the underlying device.
6935
6936 PARAMETERS
6937
6938 IN
6939 wdiStatus: response status received from HAL
6940 pUserData: user data
6941
6942
6943
6944 RETURN VALUE
6945 The result code associated with performing the operation
6946---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006947typedef void (*WDI_8023MulticastListCb)(
6948 WDI_RcvFltPktSetMcListRspParamsType *pwdiRcvFltPktSetMcListRspInfo,
6949 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006950
6951/*---------------------------------------------------------------------------
6952 WDI_ReceiveFilterSetFilterCb
6953
6954 DESCRIPTION
6955
6956 This callback is invoked by DAL when it has received a Receive Filter Set Filter
6957 response from the underlying device.
6958
6959 PARAMETERS
6960
6961 IN
6962 wdiStatus: response status received from HAL
6963 pUserData: user data
6964
6965
6966
6967 RETURN VALUE
6968 The result code associated with performing the operation
6969---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006970typedef void (*WDI_ReceiveFilterSetFilterCb)(
6971 WDI_SetRcvPktFilterRspParamsType *pwdiSetRcvPktFilterRspInfo,
6972 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006973
6974/*---------------------------------------------------------------------------
6975 WDI_FilterMatchCountCb
6976
6977 DESCRIPTION
6978
6979 This callback is invoked by DAL when it has received a Do PC Filter Match Count
6980 response from the underlying device.
6981
6982 PARAMETERS
6983
6984 IN
6985 wdiStatus: response status received from HAL
6986 pUserData: user data
6987
6988
6989
6990 RETURN VALUE
6991 The result code associated with performing the operation
6992---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006993typedef void (*WDI_FilterMatchCountCb)(
6994 WDI_RcvFltPktMatchCntRspParamsType *pwdiRcvFltPktMatchRspParams,
6995 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006996
6997/*---------------------------------------------------------------------------
6998 WDI_ReceiveFilterClearFilterCb
6999
7000 DESCRIPTION
7001
7002 This callback is invoked by DAL when it has received a Receive Filter Clear Filter
7003 response from the underlying device.
7004
7005 PARAMETERS
7006
7007 IN
7008 wdiStatus: response status received from HAL
7009 pUserData: user data
7010
7011
7012
7013 RETURN VALUE
7014 The result code associated with performing the operation
7015---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007016typedef void (*WDI_ReceiveFilterClearFilterCb)(
7017 WDI_RcvFltPktClearRspParamsType *pwdiRcvFltPktClearRspParamsType,
7018 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007019#endif // WLAN_FEATURE_PACKET_FILTERING
7020
7021/*---------------------------------------------------------------------------
7022 WDI_HALDumpCmdRspCb
7023
7024 DESCRIPTION
7025
7026 This callback is invoked by DAL when it has received a HAL DUMP Command
7027response from
7028 the HAL layer.
7029
7030 PARAMETERS
7031
7032 IN
7033 wdiHalDumpCmdRsp: response status received from HAL
7034 pUserData: user data
7035
7036
7037
7038 RETURN VALUE
7039 The result code associated with performing the operation
7040---------------------------------------------------------------------------*/
7041typedef void (*WDI_HALDumpCmdRspCb)(WDI_HALDumpCmdRspParamsType* wdiHalDumpCmdRsp,
7042 void* pUserData);
7043
7044/*---------------------------------------------------------------------------
7045 WDI_SetPowerParamsCb
7046
7047 DESCRIPTION
7048
7049 This callback is invoked by DAL when it has received a Set Power Param
7050 response from the underlying device.
7051
7052 PARAMETERS
7053
7054 IN
7055 wdiStatus: response status received from HAL
7056 pUserData: user data
7057
7058
7059
7060 RETURN VALUE
7061 The result code associated with performing the operation
7062---------------------------------------------------------------------------*/
7063typedef void (*WDI_SetPowerParamsCb)(WDI_Status wdiStatus,
7064 void* pUserData);
7065
7066#ifdef WLAN_FEATURE_GTK_OFFLOAD
7067/*---------------------------------------------------------------------------
7068 WDI_GtkOffloadCb
7069
7070 DESCRIPTION
7071
7072 This callback is invoked by DAL when it has received a GTK offload
7073 response from the underlying device.
7074
7075 PARAMETERS
7076
7077 IN
7078 wdiStatus: response status received from HAL
7079 pUserData: user data
7080
7081
7082
7083 RETURN VALUE
7084 The result code associated with performing the operation
7085---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007086typedef void (*WDI_GtkOffloadCb)( WDI_GtkOffloadRspParams *pwdiGtkOffloadRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007087 void* pUserData);
7088
7089/*---------------------------------------------------------------------------
7090 WDI_GtkOffloadGetInfoCb
7091
7092 DESCRIPTION
7093
7094 This callback is invoked by DAL when it has received a GTK offload
7095 information response from the underlying device.
7096
7097 PARAMETERS
7098
7099 IN
7100 wdiStatus: response status received from HAL
7101 pUserData: user data
7102
7103
7104
7105 RETURN VALUE
7106 The result code associated with performing the operation
7107---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007108typedef void (*WDI_GtkOffloadGetInfoCb)( WDI_GtkOffloadGetInfoRspParams *pwdiGtkOffloadGetInfoRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007109 void* pUserData);
7110#endif // WLAN_FEATURE_GTK_OFFLOAD
7111
7112/*---------------------------------------------------------------------------
7113 WDI_SetTmLevelCb
7114
7115 DESCRIPTION
7116
7117 This callback is invoked by DAL when it has received a Set New TM Level
7118 done response from the underlying device.
7119
7120 PARAMETERS
7121
7122 IN
7123 wdiStatus: response status received from HAL
7124 pUserData: user data
7125
7126
7127
7128 RETURN VALUE
7129 The result code associated with performing the operation
7130---------------------------------------------------------------------------*/
7131typedef void (*WDI_SetTmLevelCb)(WDI_Status wdiStatus,
7132 void* pUserData);
7133
7134/*---------------------------------------------------------------------------
7135 WDI_featureCapsExchangeCb
7136
7137 DESCRIPTION
7138
7139 This callback is invoked by DAL when it has received a HAL Feature Capbility
7140 Exchange Response the HAL layer. This callback is put to mantain code
7141 similarity and is not being used right now.
7142
7143 PARAMETERS
7144
7145 IN
7146 wdiFeatCapRspParams: response parameters received from HAL
7147 pUserData: user data
7148
7149 RETURN VALUE
7150 The result code associated with performing the operation
7151---------------------------------------------------------------------------*/
7152typedef void (*WDI_featureCapsExchangeCb)(void* wdiFeatCapRspParams,
7153 void* pUserData);
7154
Mohit Khanna4a70d262012-09-11 16:30:12 -07007155#ifdef WLAN_FEATURE_11AC
7156typedef void (*WDI_UpdateVHTOpModeCb)(WDI_Status wdiStatus,
7157 void* pUserData);
7158#endif
7159
Leo Chang9056f462013-08-01 19:21:11 -07007160#ifdef FEATURE_WLAN_LPHB
7161typedef void (*WDI_LphbCfgCb)(WDI_Status wdiStatus,
7162 void* pUserData);
7163#endif /* FEATURE_WLAN_LPHB */
Mohit Khanna4a70d262012-09-11 16:30:12 -07007164
Rajeev79dbe4c2013-10-05 11:03:42 +05307165#ifdef FEATURE_WLAN_BATCH_SCAN
7166/*---------------------------------------------------------------------------
7167 WDI_SetBatchScanCb
7168
7169 DESCRIPTION
7170
7171 This callback is invoked by DAL when it has received a get batch scan
7172 response from the underlying device.
7173
7174 PARAMETERS
7175
7176 IN
7177 wdiStatus: response status received from HAL
7178 pUserData: user data
7179
7180
7181
7182 RETURN VALUE
7183 The result code associated with performing the operation
7184---------------------------------------------------------------------------*/
7185typedef void (*WDI_SetBatchScanCb)(void *pData, WDI_SetBatchScanRspType *pRsp);
7186
7187#endif
7188
7189
Jeff Johnson295189b2012-06-20 16:38:30 -07007190/*========================================================================
7191 * Function Declarations and Documentation
7192 ==========================================================================*/
7193
7194/*========================================================================
7195
7196 INITIALIZATION APIs
7197
7198==========================================================================*/
7199
7200/**
7201 @brief WDI_Init is used to initialize the DAL.
7202
7203 DAL will allocate all the resources it needs. It will open PAL, it will also
7204 open both the data and the control transport which in their turn will open
7205 DXE/SMD or any other drivers that they need.
7206
7207 @param pOSContext: pointer to the OS context provided by the UMAC
7208 will be passed on to PAL on Open
7209 ppWDIGlobalCtx: output pointer of Global Context
7210 pWdiDevCapability: output pointer of device capability
7211
7212 @return Result of the function call
7213*/
7214WDI_Status
7215WDI_Init
7216(
7217 void* pOSContext,
7218 void** ppWDIGlobalCtx,
7219 WDI_DeviceCapabilityType* pWdiDevCapability,
7220 unsigned int driverType
7221);
7222
7223/**
7224 @brief WDI_Start will be called when the upper MAC is ready to
7225 commence operation with the WLAN Device. Upon the call
7226 of this API the WLAN DAL will pack and send a HAL Start
7227 message to the lower RIVA sub-system if the SMD channel
7228 has been fully opened and the RIVA subsystem is up.
7229
7230 If the RIVA sub-system is not yet up and running DAL
7231 will queue the request for Open and will wait for the
7232 SMD notification before attempting to send down the
7233 message to HAL.
7234
7235 WDI_Init must have been called.
7236
7237 @param wdiStartParams: the start parameters as specified by
7238 the Device Interface
7239
7240 wdiStartRspCb: callback for passing back the response of
7241 the start operation received from the device
7242
7243 pUserData: user data will be passed back with the
7244 callback
7245
7246 @see WDI_Start
7247 @return Result of the function call
7248*/
7249WDI_Status
7250WDI_Start
7251(
7252 WDI_StartReqParamsType* pwdiStartParams,
7253 WDI_StartRspCb wdiStartRspCb,
7254 void* pUserData
7255);
7256
7257
7258/**
7259 @brief WDI_Stop will be called when the upper MAC is ready to
7260 stop any operation with the WLAN Device. Upon the call
7261 of this API the WLAN DAL will pack and send a HAL Stop
7262 message to the lower RIVA sub-system if the DAL Core is
7263 in started state.
7264
7265 In state BUSY this request will be queued.
7266
7267 Request will not be accepted in any other state.
7268
7269 WDI_Start must have been called.
7270
7271 @param wdiStopParams: the stop parameters as specified by
7272 the Device Interface
7273
7274 wdiStopRspCb: callback for passing back the response of
7275 the stop operation received from the device
7276
7277 pUserData: user data will be passed back with the
7278 callback
7279
7280 @see WDI_Start
7281 @return Result of the function call
7282*/
7283WDI_Status
7284WDI_Stop
7285(
7286 WDI_StopReqParamsType* pwdiStopParams,
7287 WDI_StopRspCb wdiStopRspCb,
7288 void* pUserData
7289);
7290
7291/**
7292 @brief WDI_Close will be called when the upper MAC no longer
7293 needs to interract with DAL. DAL will free its control
7294 block.
7295
7296 It is only accepted in state STOPPED.
7297
7298 WDI_Stop must have been called.
7299
7300 @param none
7301
7302 @see WDI_Stop
7303 @return Result of the function call
7304*/
7305WDI_Status
7306WDI_Close
7307(
7308 void
7309);
7310
7311
7312/**
7313 @brief WDI_Shutdown will be called during 'SSR shutdown' operation.
7314 This will do most of the WDI stop & close
7315 operations without doing any handshake with Riva
7316
7317 This will also make sure that the control transport
7318 will NOT be closed.
7319
7320 This request will not be queued.
7321
7322
7323 WDI_Start must have been called.
7324
7325 @param closeTransport: Close control channel if this is set
7326
7327 @return Result of the function call
7328*/
7329WDI_Status
7330WDI_Shutdown
7331(
7332 wpt_boolean closeTransport
7333);
7334
7335/*========================================================================
7336
7337 SCAN APIs
7338
7339==========================================================================*/
7340
7341/**
7342 @brief WDI_InitScanReq will be called when the upper MAC wants
7343 the WLAN Device to get ready for a scan procedure. Upon
7344 the call of this API the WLAN DAL will pack and send a
7345 HAL Init Scan request message to the lower RIVA
7346 sub-system if DAL is in state STARTED.
7347
7348 In state BUSY this request will be queued. Request won't
7349 be allowed in any other state.
7350
7351 WDI_Start must have been called.
7352
7353 @param wdiInitScanParams: the init scan parameters as specified
7354 by the Device Interface
7355
7356 wdiInitScanRspCb: callback for passing back the response
7357 of the init scan operation received from the device
7358
7359 pUserData: user data will be passed back with the
7360 callback
7361
7362 @see WDI_Start
7363 @return Result of the function call
7364*/
7365WDI_Status
7366WDI_InitScanReq
7367(
7368 WDI_InitScanReqParamsType* pwdiInitScanParams,
7369 WDI_InitScanRspCb wdiInitScanRspCb,
7370 void* pUserData
7371);
7372
7373/**
7374 @brief WDI_StartScanReq will be called when the upper MAC
7375 wishes to change the Scan channel on the WLAN Device.
7376 Upon the call of this API the WLAN DAL will pack and
7377 send a HAL Start Scan request message to the lower RIVA
7378 sub-system if DAL is in state STARTED.
7379
7380 In state BUSY this request will be queued. Request won't
7381 be allowed in any other state.
7382
7383 WDI_InitScanReq must have been called.
7384
7385 @param wdiStartScanParams: the start scan parameters as
7386 specified by the Device Interface
7387
7388 wdiStartScanRspCb: callback for passing back the
7389 response of the start scan operation received from the
7390 device
7391
7392 pUserData: user data will be passed back with the
7393 callback
7394
7395 @see WDI_InitScanReq
7396 @return Result of the function call
7397*/
7398WDI_Status
7399WDI_StartScanReq
7400(
7401 WDI_StartScanReqParamsType* pwdiStartScanParams,
7402 WDI_StartScanRspCb wdiStartScanRspCb,
7403 void* pUserData
7404);
7405
7406
7407/**
7408 @brief WDI_EndScanReq will be called when the upper MAC is
7409 wants to end scanning for a particular channel that it
7410 had set before by calling Scan Start on the WLAN Device.
7411 Upon the call of this API the WLAN DAL will pack and
7412 send a HAL End Scan request message to the lower RIVA
7413 sub-system if DAL is in state STARTED.
7414
7415 In state BUSY this request will be queued. Request won't
7416 be allowed in any other state.
7417
7418 WDI_StartScanReq must have been called.
7419
7420 @param wdiEndScanParams: the end scan parameters as specified
7421 by the Device Interface
7422
7423 wdiEndScanRspCb: callback for passing back the response
7424 of the end scan operation received from the device
7425
7426 pUserData: user data will be passed back with the
7427 callback
7428
7429 @see WDI_StartScanReq
7430 @return Result of the function call
7431*/
7432WDI_Status
7433WDI_EndScanReq
7434(
7435 WDI_EndScanReqParamsType* pwdiEndScanParams,
7436 WDI_EndScanRspCb wdiEndScanRspCb,
7437 void* pUserData
7438);
7439
7440
7441/**
7442 @brief WDI_FinishScanReq will be called when the upper MAC has
7443 completed the scan process on the WLAN Device. Upon the
7444 call of this API the WLAN DAL will pack and send a HAL
7445 Finish Scan Request request message to the lower RIVA
7446 sub-system if DAL is in state STARTED.
7447
7448 In state BUSY this request will be queued. Request won't
7449 be allowed in any other state.
7450
7451 WDI_InitScanReq must have been called.
7452
7453 @param wdiFinishScanParams: the finish scan parameters as
7454 specified by the Device Interface
7455
7456 wdiFinishScanRspCb: callback for passing back the
7457 response of the finish scan operation received from the
7458 device
7459
7460 pUserData: user data will be passed back with the
7461 callback
7462
7463 @see WDI_InitScanReq
7464 @return Result of the function call
7465*/
7466WDI_Status
7467WDI_FinishScanReq
7468(
7469 WDI_FinishScanReqParamsType* pwdiFinishScanParams,
7470 WDI_FinishScanRspCb wdiFinishScanRspCb,
7471 void* pUserData
7472);
7473
7474/*========================================================================
7475
7476 ASSOCIATION APIs
7477
7478==========================================================================*/
7479
7480/**
7481 @brief WDI_JoinReq will be called when the upper MAC is ready
7482 to start an association procedure to a BSS. Upon the
7483 call of this API the WLAN DAL will pack and send a HAL
7484 Join request message to the lower RIVA sub-system if
7485 DAL is in state STARTED.
7486
7487 In state BUSY this request will be queued. Request won't
7488 be allowed in any other state.
7489
7490 WDI_Start must have been called.
7491
7492 @param wdiJoinParams: the join parameters as specified by
7493 the Device Interface
7494
7495 wdiJoinRspCb: callback for passing back the response of
7496 the join operation received from the device
7497
7498 pUserData: user data will be passed back with the
7499 callback
7500
7501 @see WDI_Start
7502 @return Result of the function call
7503*/
7504WDI_Status
7505WDI_JoinReq
7506(
7507 WDI_JoinReqParamsType* pwdiJoinParams,
7508 WDI_JoinRspCb wdiJoinRspCb,
7509 void* pUserData
7510);
7511
7512/**
7513 @brief WDI_ConfigBSSReq will be called when the upper MAC
7514 wishes to configure the newly acquired or in process of
7515 being acquired BSS to the HW . Upon the call of this API
7516 the WLAN DAL will pack and send a HAL Config BSS request
7517 message to the lower RIVA sub-system if DAL is in state
7518 STARTED.
7519
7520 In state BUSY this request will be queued. Request won't
7521 be allowed in any other state.
7522
7523 WDI_JoinReq must have been called.
7524
7525 @param wdiConfigBSSParams: the config BSS parameters as
7526 specified by the Device Interface
7527
7528 wdiConfigBSSRspCb: callback for passing back the
7529 response of the config BSS operation received from the
7530 device
7531
7532 pUserData: user data will be passed back with the
7533 callback
7534
7535 @see WDI_JoinReq
7536 @return Result of the function call
7537*/
7538WDI_Status
7539WDI_ConfigBSSReq
7540(
7541 WDI_ConfigBSSReqParamsType* pwdiConfigBSSParams,
7542 WDI_ConfigBSSRspCb wdiConfigBSSRspCb,
7543 void* pUserData
7544);
7545
7546/**
7547 @brief WDI_DelBSSReq will be called when the upper MAC is
7548 dissasociating from the BSS and wishes to notify HW.
7549 Upon the call of this API the WLAN DAL will pack and
7550 send a HAL Del BSS request message to the lower RIVA
7551 sub-system if DAL is in state STARTED.
7552
7553 In state BUSY this request will be queued. Request won't
7554 be allowed in any other state.
7555
7556 WDI_ConfigBSSReq or WDI_PostAssocReq must have been called.
7557
7558 @param wdiDelBSSParams: the del BSS parameters as specified by
7559 the Device Interface
7560
7561 wdiDelBSSRspCb: callback for passing back the response
7562 of the del bss operation received from the device
7563
7564 pUserData: user data will be passed back with the
7565 callback
7566
7567 @see WDI_ConfigBSSReq, WDI_PostAssocReq
7568 @return Result of the function call
7569*/
7570WDI_Status
7571WDI_DelBSSReq
7572(
7573 WDI_DelBSSReqParamsType* pwdiDelBSSParams,
7574 WDI_DelBSSRspCb wdiDelBSSRspCb,
7575 void* pUserData
7576);
7577
7578/**
7579 @brief WDI_PostAssocReq will be called when the upper MAC has
7580 associated to a BSS and wishes to configure HW for
7581 associated state. Upon the call of this API the WLAN DAL
7582 will pack and send a HAL Post Assoc request message to
7583 the lower RIVA sub-system if DAL is in state STARTED.
7584
7585 In state BUSY this request will be queued. Request won't
7586 be allowed in any other state.
7587
7588 WDI_JoinReq must have been called.
7589
7590 @param wdiPostAssocReqParams: the assoc parameters as specified
7591 by the Device Interface
7592
7593 wdiPostAssocRspCb: callback for passing back the
7594 response of the post assoc operation received from the
7595 device
7596
7597 pUserData: user data will be passed back with the
7598 callback
7599
7600 @see WDI_JoinReq
7601 @return Result of the function call
7602*/
7603WDI_Status
7604WDI_PostAssocReq
7605(
7606 WDI_PostAssocReqParamsType* pwdiPostAssocReqParams,
7607 WDI_PostAssocRspCb wdiPostAssocRspCb,
7608 void* pUserData
7609);
7610
7611/**
7612 @brief WDI_DelSTAReq will be called when the upper MAC when an
7613 association with another STA has ended and the station
7614 must be deleted from HW. Upon the call of this API the
7615 WLAN DAL will pack and send a HAL Del STA request
7616 message to the lower RIVA sub-system if DAL is in state
7617 STARTED.
7618
7619 In state BUSY this request will be queued. Request won't
7620 be allowed in any other state.
7621
7622 WDI_PostAssocReq must have been called.
7623
7624 @param wdiDelSTAParams: the Del STA parameters as specified by
7625 the Device Interface
7626
7627 wdiDelSTARspCb: callback for passing back the response
7628 of the del STA operation received from the device
7629
7630 pUserData: user data will be passed back with the
7631 callback
7632
7633 @see WDI_PostAssocReq
7634 @return Result of the function call
7635*/
7636WDI_Status
7637WDI_DelSTAReq
7638(
7639 WDI_DelSTAReqParamsType* pwdiDelSTAParams,
7640 WDI_DelSTARspCb wdiDelSTARspCb,
7641 void* pUserData
7642);
7643
7644/*========================================================================
7645
7646 SECURITY APIs
7647
7648==========================================================================*/
7649
7650/**
7651 @brief WDI_SetBSSKeyReq will be called when the upper MAC ito
7652 install a BSS encryption key on the HW. Upon the call of
7653 this API the WLAN DAL will pack and send a HAL Start
7654 request message to the lower RIVA sub-system if DAL is
7655 in state STARTED.
7656
7657 In state BUSY this request will be queued. Request won't
7658 be allowed in any other state.
7659
7660 WDI_PostAssocReq must have been called.
7661
7662 @param wdiSetBSSKeyParams: the BSS Key set parameters as
7663 specified by the Device Interface
7664
7665 wdiSetBSSKeyRspCb: callback for passing back the
7666 response of the set BSS Key operation received from the
7667 device
7668
7669 pUserData: user data will be passed back with the
7670 callback
7671
7672 @see WDI_PostAssocReq
7673 @return Result of the function call
7674*/
7675WDI_Status
7676WDI_SetBSSKeyReq
7677(
7678 WDI_SetBSSKeyReqParamsType* pwdiSetBSSKeyParams,
7679 WDI_SetBSSKeyRspCb wdiSetBSSKeyRspCb,
7680 void* pUserData
7681);
7682
7683
7684/**
7685 @brief WDI_RemoveBSSKeyReq will be called when the upper MAC to
7686 uninstall a BSS key from HW. Upon the call of this API
7687 the WLAN DAL will pack and send a HAL Remove BSS Key
7688 request message to the lower RIVA sub-system if DAL is
7689 in state STARTED.
7690
7691 In state BUSY this request will be queued. Request won't
7692 be allowed in any other state.
7693
7694 WDI_SetBSSKeyReq must have been called.
7695
7696 @param wdiRemoveBSSKeyParams: the remove BSS key parameters as
7697 specified by the Device Interface
7698
7699 wdiRemoveBSSKeyRspCb: callback for passing back the
7700 response of the remove BSS key operation received from
7701 the device
7702
7703 pUserData: user data will be passed back with the
7704 callback
7705
7706 @see WDI_SetBSSKeyReq
7707 @return Result of the function call
7708*/
7709WDI_Status
7710WDI_RemoveBSSKeyReq
7711(
7712 WDI_RemoveBSSKeyReqParamsType* pwdiRemoveBSSKeyParams,
7713 WDI_RemoveBSSKeyRspCb wdiRemoveBSSKeyRspCb,
7714 void* pUserData
7715);
7716
7717
7718/**
7719 @brief WDI_SetSTAKeyReq will be called when the upper MAC is
7720 ready to install a STA(ast) encryption key in HW. Upon
7721 the call of this API the WLAN DAL will pack and send a
7722 HAL Set STA Key request message to the lower RIVA
7723 sub-system if DAL is in state STARTED.
7724
7725 In state BUSY this request will be queued. Request won't
7726 be allowed in any other state.
7727
7728 WDI_PostAssocReq must have been called.
7729
7730 @param wdiSetSTAKeyParams: the set STA key parameters as
7731 specified by the Device Interface
7732
7733 wdiSetSTAKeyRspCb: callback for passing back the
7734 response of the set STA key operation received from the
7735 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_SetSTAKeyReq
7745(
7746 WDI_SetSTAKeyReqParamsType* pwdiSetSTAKeyParams,
7747 WDI_SetSTAKeyRspCb wdiSetSTAKeyRspCb,
7748 void* pUserData
7749);
7750
7751
7752/**
7753 @brief WDI_RemoveSTAKeyReq will be called when the upper MAC
7754 wants to unistall a previously set STA key in HW. Upon
7755 the call of this API the WLAN DAL will pack and send a
7756 HAL Remove STA Key request message to the lower RIVA
7757 sub-system if DAL is in state STARTED.
7758
7759 In state BUSY this request will be queued. Request won't
7760 be allowed in any other state.
7761
7762 WDI_SetSTAKeyReq must have been called.
7763
7764 @param wdiRemoveSTAKeyParams: the remove STA key parameters as
7765 specified by the Device Interface
7766
7767 wdiRemoveSTAKeyRspCb: callback for passing back the
7768 response of the remove STA key operation received from
7769 the device
7770
7771 pUserData: user data will be passed back with the
7772 callback
7773
7774 @see WDI_SetSTAKeyReq
7775 @return Result of the function call
7776*/
7777WDI_Status
7778WDI_RemoveSTAKeyReq
7779(
7780 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTAKeyParams,
7781 WDI_RemoveSTAKeyRspCb wdiRemoveSTAKeyRspCb,
7782 void* pUserData
7783);
7784
7785/**
7786 @brief WDI_SetSTABcastKeyReq will be called when the upper MAC
7787 wants to install a STA Bcast encryption key on the HW.
7788 Upon the call of this API the WLAN DAL will pack and
7789 send a HAL Start request message to the lower RIVA
7790 sub-system if DAL is in state STARTED.
7791
7792 In state BUSY this request will be queued. Request won't
7793 be allowed in any other state.
7794
7795 WDI_PostAssocReq must have been called.
7796
7797 @param pwdiSetSTABcastKeyParams: the BSS Key set parameters as
7798 specified by the Device Interface
7799
7800 wdiSetSTABcastKeyRspCb: callback for passing back the
7801 response of the set BSS Key operation received from the
7802 device
7803
7804 pUserData: user data will be passed back with the
7805 callback
7806
7807 @see WDI_PostAssocReq
7808 @return Result of the function call
7809*/
7810WDI_Status
7811WDI_SetSTABcastKeyReq
7812(
7813 WDI_SetSTAKeyReqParamsType* pwdiSetSTABcastKeyParams,
7814 WDI_SetSTAKeyRspCb wdiSetSTABcastKeyRspCb,
7815 void* pUserData
7816);
7817
7818
7819/**
7820 @brief WDI_RemoveSTABcastKeyReq will be called when the upper
7821 MAC to uninstall a STA Bcast key from HW. Upon the call
7822 of this API the WLAN DAL will pack and send a HAL Remove
7823 STA Bcast Key request message to the lower RIVA
7824 sub-system if DAL is in state STARTED.
7825
7826 In state BUSY this request will be queued. Request won't
7827 be allowed in any other state.
7828
7829 WDI_SetSTABcastKeyReq must have been called.
7830
7831 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
7832 parameters as specified by the Device
7833 Interface
7834
7835 wdiRemoveSTABcastKeyRspCb: callback for passing back the
7836 response of the remove STA Bcast key operation received
7837 from the device
7838
7839 pUserData: user data will be passed back with the
7840 callback
7841
7842 @see WDI_SetSTABcastKeyReq
7843 @return Result of the function call
7844*/
7845WDI_Status
7846WDI_RemoveSTABcastKeyReq
7847(
7848 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTABcastKeyParams,
7849 WDI_RemoveSTAKeyRspCb wdiRemoveSTABcastKeyRspCb,
7850 void* pUserData
7851);
7852
schang86c22c42013-03-13 18:41:24 -07007853
7854/**
7855 @brief WDI_SetTxPowerReq will be called when the upper
7856 MAC wants to set Tx Power to HW.
7857 In state BUSY this request will be queued. Request won't
7858 be allowed in any other state.
7859
7860
7861 @param pwdiSetTxPowerParams: set TS Power parameters
7862 BSSID and target TX Power with dbm included
7863
7864 wdiReqStatusCb: callback for passing back the response
7865
7866 pUserData: user data will be passed back with the
7867 callback
7868
7869 @return Result of the function call
7870*/
7871WDI_Status
7872WDI_SetTxPowerReq
7873(
7874 WDI_SetTxPowerParamsType* pwdiSetTxPowerParams,
7875 WDA_SetTxPowerRspCb wdiReqStatusCb,
7876 void* pUserData
7877);
7878
Jeff Johnson295189b2012-06-20 16:38:30 -07007879/**
7880 @brief WDI_SetMaxTxPowerReq will be called when the upper
7881 MAC wants to set Max Tx Power to HW. Upon the
7882 call of this API the WLAN DAL will pack and send a HAL
7883 Remove STA Bcast Key request message to the lower RIVA
7884 sub-system if DAL is in state STARTED.
7885
7886 In state BUSY this request will be queued. Request won't
7887 be allowed in any other state.
7888
7889 WDI_SetSTABcastKeyReq must have been called.
7890
7891 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
7892 parameters as specified by the Device
7893 Interface
7894
7895 wdiRemoveSTABcastKeyRspCb: callback for passing back the
7896 response of the remove STA Bcast key operation received
7897 from the device
7898
7899 pUserData: user data will be passed back with the
7900 callback
7901
7902 @see WDI_SetMaxTxPowerReq
7903 @return Result of the function call
7904*/
7905WDI_Status
7906WDI_SetMaxTxPowerReq
7907(
7908 WDI_SetMaxTxPowerParamsType* pwdiSetMaxTxPowerParams,
7909 WDA_SetMaxTxPowerRspCb wdiReqStatusCb,
7910 void* pUserData
7911);
7912
7913#ifdef FEATURE_WLAN_CCX
7914/**
7915 @brief WDI_TSMStatsReq will be called by the upper MAC to fetch
7916 Traffic Stream metrics.
7917 In state BUSY this request will be queued. Request won't
7918 be allowed in any other state.
7919
7920 @param wdiAddTsReqParams: the add TS parameters as specified by
7921 the Device Interface
7922
7923 wdiAddTsRspCb: callback for passing back the response of
7924 the add TS operation received from the device
7925
7926 pUserData: user data will be passed back with the
7927 callback
7928
7929 @see WDI_PostAssocReq
7930 @return Result of the function call
7931*/
7932WDI_Status
7933WDI_TSMStatsReq
7934(
7935 WDI_TSMStatsReqParamsType* pwdiTsmStatsReqParams,
7936 WDI_TsmRspCb wdiTsmStatsRspCb,
7937 void* pUserData
7938);
7939
7940
7941#endif
7942
7943/*========================================================================
7944
7945 QoS and BA APIs
7946
7947==========================================================================*/
7948
7949/**
7950 @brief WDI_AddTSReq will be called when the upper MAC to inform
7951 the device of a successful add TSpec negotiation. HW
7952 needs to receive the TSpec Info from the UMAC in order
7953 to configure properly the QoS data traffic. Upon the
7954 call of this API the WLAN DAL will pack and send a HAL
7955 Add TS request message to the lower RIVA sub-system if
7956 DAL is in state STARTED.
7957
7958 In state BUSY this request will be queued. Request won't
7959 be allowed in any other state.
7960
7961 WDI_PostAssocReq must have been called.
7962
7963 @param wdiAddTsReqParams: the add TS parameters as specified by
7964 the Device Interface
7965
7966 wdiAddTsRspCb: callback for passing back the response of
7967 the add TS operation received from the device
7968
7969 pUserData: user data will be passed back with the
7970 callback
7971
7972 @see WDI_PostAssocReq
7973 @return Result of the function call
7974*/
7975WDI_Status
7976WDI_AddTSReq
7977(
7978 WDI_AddTSReqParamsType* pwdiAddTsReqParams,
7979 WDI_AddTsRspCb wdiAddTsRspCb,
7980 void* pUserData
7981);
7982
7983
7984
7985/**
7986 @brief WDI_DelTSReq will be called when the upper MAC has ended
7987 admission on a specific AC. This is to inform HW that
7988 QoS traffic parameters must be rest. Upon the call of
7989 this API the WLAN DAL will pack and send a HAL Del TS
7990 request message to the lower RIVA sub-system if DAL is
7991 in state STARTED.
7992
7993 In state BUSY this request will be queued. Request won't
7994 be allowed in any other state.
7995
7996 WDI_AddTSReq must have been called.
7997
7998 @param wdiDelTsReqParams: the del TS parameters as specified by
7999 the Device Interface
8000
8001 wdiDelTsRspCb: callback for passing back the response of
8002 the del TS operation received from the device
8003
8004 pUserData: user data will be passed back with the
8005 callback
8006
8007 @see WDI_AddTSReq
8008 @return Result of the function call
8009*/
8010WDI_Status
8011WDI_DelTSReq
8012(
8013 WDI_DelTSReqParamsType* pwdiDelTsReqParams,
8014 WDI_DelTsRspCb wdiDelTsRspCb,
8015 void* pUserData
8016);
8017
8018
8019
8020/**
8021 @brief WDI_UpdateEDCAParams will be called when the upper MAC
8022 wishes to update the EDCA parameters used by HW for QoS
8023 data traffic. Upon the call of this API the WLAN DAL
8024 will pack and send a HAL Update EDCA Params request
8025 message to the lower RIVA sub-system if DAL is in state
8026 STARTED.
8027
8028 In state BUSY this request will be queued. Request won't
8029 be allowed in any other state.
8030
8031 WDI_PostAssocReq must have been called.
8032
8033 @param wdiUpdateEDCAParams: the start parameters as specified
8034 by the Device Interface
8035
8036 wdiUpdateEDCAParamsRspCb: callback for passing back the
8037 response of the start operation received from the device
8038
8039 pUserData: user data will be passed back with the
8040 callback
8041
8042 @see WDI_PostAssocReq
8043 @return Result of the function call
8044*/
8045WDI_Status
8046WDI_UpdateEDCAParams
8047(
8048 WDI_UpdateEDCAParamsType* pwdiUpdateEDCAParams,
8049 WDI_UpdateEDCAParamsRspCb wdiUpdateEDCAParamsRspCb,
8050 void* pUserData
8051);
8052
8053
8054
8055/**
8056 @brief WDI_AddBASessionReq will be called when the upper MAC has setup
8057 successfully a BA session and needs to notify the HW for
8058 the appropriate settings to take place. Upon the call of
8059 this API the WLAN DAL will pack and send a HAL Add BA
8060 request message to the lower RIVA sub-system if DAL is
8061 in state STARTED.
8062
8063 In state BUSY this request will be queued. Request won't
8064 be allowed in any other state.
8065
8066 WDI_PostAssocReq must have been called.
8067
8068 @param wdiAddBAReqParams: the add BA parameters as specified by
8069 the Device Interface
8070
8071 wdiAddBARspCb: callback for passing back the response of
8072 the add BA operation received from the device
8073
8074 pUserData: user data will be passed back with the
8075 callback
8076
8077 @see WDI_PostAssocReq
8078 @return Result of the function call
8079*/
8080WDI_Status
8081WDI_AddBASessionReq
8082(
8083 WDI_AddBASessionReqParamsType* pwdiAddBASessionReqParams,
8084 WDI_AddBASessionRspCb wdiAddBASessionRspCb,
8085 void* pUserData
8086);
8087
8088
8089/**
8090 @brief WDI_DelBAReq will be called when the upper MAC wants to
8091 inform HW that it has deleted a previously created BA
8092 session. Upon the call of this API the WLAN DAL will
8093 pack and send a HAL Del BA request message to the lower
8094 RIVA sub-system if DAL is in state STARTED.
8095
8096 In state BUSY this request will be queued. Request won't
8097 be allowed in any other state.
8098
8099 WDI_AddBAReq must have been called.
8100
8101 @param wdiDelBAReqParams: the del BA parameters as specified by
8102 the Device Interface
8103
8104 wdiDelBARspCb: callback for passing back the response of
8105 the del BA operation received from the device
8106
8107 pUserData: user data will be passed back with the
8108 callback
8109
8110 @see WDI_AddBAReq
8111 @return Result of the function call
8112*/
8113WDI_Status
8114WDI_DelBAReq
8115(
8116 WDI_DelBAReqParamsType* pwdiDelBAReqParams,
8117 WDI_DelBARspCb wdiDelBARspCb,
8118 void* pUserData
8119);
8120
8121/**
8122 @brief WDI_UpdateBeaconParamsReq will be called when the upper MAC wants to
8123 inform HW that there is a change in the beacon parameters
8124 Upon the call of this API the WLAN DAL will
8125 pack and send a UpdateBeacon Params message to the lower
8126 RIVA sub-system if DAL is in state STARTED.
8127
8128 In state BUSY this request will be queued. Request won't
8129 be allowed in any other state.
8130
8131 WDI_UpdateBeaconParamsReq must have been called.
8132
8133 @param WDI_UpdateBeaconParamsType: the Update Beacon parameters as specified by
8134 the Device Interface
8135
8136 WDI_UpdateBeaconParamsRspCb: callback for passing back the response of
8137 the Update Beacon Params operation received from the device
8138
8139 pUserData: user data will be passed back with the
8140 callback
8141
8142 @see WDI_AddBAReq
8143 @return Result of the function call
8144*/
8145
8146WDI_Status
8147WDI_UpdateBeaconParamsReq
8148(
8149 WDI_UpdateBeaconParamsType * pwdiUpdateBeaconParams,
8150 WDI_UpdateBeaconParamsRspCb wdiUpdateBeaconParamsRspCb,
8151 void* pUserData
8152);
8153
8154
8155/**
8156 @brief WDI_SendBeaconParamsReq will be called when the upper MAC wants to
8157 update the beacon template to be transmitted as BT MAP STA/IBSS/Soft AP
8158 Upon the call of this API the WLAN DAL will
8159 pack and send the beacon Template message to the lower
8160 RIVA sub-system if DAL is in state STARTED.
8161
8162 In state BUSY this request will be queued. Request won't
8163 be allowed in any other state.
8164
8165 WDI_SendBeaconParamsReq must have been called.
8166
8167 @param WDI_SendBeaconParamsType: the Update Beacon parameters as specified by
8168 the Device Interface
8169
8170 WDI_SendBeaconParamsRspCb: callback for passing back the response of
8171 the Send Beacon Params operation received from the device
8172
8173 pUserData: user data will be passed back with the
8174 callback
8175
8176 @see WDI_AddBAReq
8177 @return Result of the function call
8178*/
8179
8180WDI_Status
8181WDI_SendBeaconParamsReq
8182(
8183 WDI_SendBeaconParamsType* pwdiSendBeaconParams,
8184 WDI_SendBeaconParamsRspCb wdiSendBeaconParamsRspCb,
8185 void* pUserData
8186);
8187
8188
8189/**
8190 @brief WDI_UpdateProbeRspTemplateReq will be called when the
8191 upper MAC wants to update the probe response template to
8192 be transmitted as Soft AP
8193 Upon the call of this API the WLAN DAL will
8194 pack and send the probe rsp template message to the
8195 lower RIVA sub-system if DAL is in state STARTED.
8196
8197 In state BUSY this request will be queued. Request won't
8198 be allowed in any other state.
8199
8200
8201 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
8202 specified by the Device Interface
8203
8204 wdiSendBeaconParamsRspCb: callback for passing back the
8205 response of the Send Beacon Params operation received
8206 from the device
8207
8208 pUserData: user data will be passed back with the
8209 callback
8210
8211 @see WDI_AddBAReq
8212 @return Result of the function call
8213*/
8214
8215WDI_Status
8216WDI_UpdateProbeRspTemplateReq
8217(
8218 WDI_UpdateProbeRspTemplateParamsType* pwdiUpdateProbeRspParams,
8219 WDI_UpdateProbeRspTemplateRspCb wdiSendBeaconParamsRspCb,
8220 void* pUserData
8221);
8222
Jeff Johnson295189b2012-06-20 16:38:30 -07008223/**
8224 @brief WDI_SetP2PGONOAReq will be called when the
8225 upper MAC wants to send Notice of Absence
8226 Upon the call of this API the WLAN DAL will
8227 pack and send the probe rsp template message to the
8228 lower RIVA sub-system if DAL is in state STARTED.
8229
8230 In state BUSY this request will be queued. Request won't
8231 be allowed in any other state.
8232
8233
8234 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
8235 specified by the Device Interface
8236
8237 wdiSendBeaconParamsRspCb: callback for passing back the
8238 response of the Send Beacon Params operation received
8239 from the device
8240
8241 pUserData: user data will be passed back with the
8242 callback
8243
8244 @see WDI_AddBAReq
8245 @return Result of the function call
8246*/
8247WDI_Status
8248WDI_SetP2PGONOAReq
8249(
8250 WDI_SetP2PGONOAReqParamsType* pwdiP2PGONOAReqParams,
8251 WDI_SetP2PGONOAReqParamsRspCb wdiP2PGONOAReqParamsRspCb,
8252 void* pUserData
8253);
Jeff Johnson295189b2012-06-20 16:38:30 -07008254
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05308255/**
8256 @brief WDI_SetTDLSLinkEstablishReq will be called when the
8257 upper MAC wants to send TDLS Link Establish Request Parameters
8258 Upon the call of this API the WLAN DAL will
8259 pack and send the TDLS Link Establish Request message to the
8260 lower RIVA sub-system if DAL is in state STARTED.
8261
8262 In state BUSY this request will be queued. Request won't
8263 be allowed in any other state.
8264
8265
8266 @param pwdiTDLSLinkEstablishReqParams: TDLS Peer Parameters
8267 for Link Establishment (Used for PUAPSD , TDLS Off Channel ...)
8268
8269 wdiTDLSLinkEstablishReqRspCb: callback for passing back the
8270 response of the TDLS Link Establish request received
8271 from the device
8272
8273 pUserData: user data will be passed back with the
8274 callback
8275
8276 @see
8277 @return Result of the function call
8278*/
8279WDI_Status
8280WDI_SetTDLSLinkEstablishReq
8281(
8282 WDI_SetTDLSLinkEstablishReqParamsType* pwdiTDLSLinkEstablishReqParams,
8283 WDI_SetTDLSLinkEstablishReqParamsRspCb wdiTDLSLinkEstablishReqRspCb,
8284 void* pUserData
8285);
Jeff Johnson295189b2012-06-20 16:38:30 -07008286
8287/*========================================================================
8288
8289 Power Save APIs
8290
8291==========================================================================*/
8292
8293/**
8294 @brief WDI_SetPwrSaveCfgReq will be called when the upper MAC
8295 wants to set the power save related configurations of
8296 the WLAN Device. Upon the call of this API the WLAN DAL
8297 will pack and send a HAL Update CFG request message to
8298 the lower RIVA sub-system if DAL is in state STARTED.
8299
8300 In state BUSY this request will be queued. Request won't
8301 be allowed in any other state.
8302
8303 WDI_Start must have been called.
8304
8305 @param pwdiPowerSaveCfg: the power save cfg parameters as
8306 specified by the Device Interface
8307
8308 wdiSetPwrSaveCfgCb: callback for passing back the
8309 response of the set power save cfg operation received
8310 from the device
8311
8312 pUserData: user data will be passed back with the
8313 callback
8314
8315 @see WDI_Start
8316 @return Result of the function call
8317*/
8318WDI_Status
8319WDI_SetPwrSaveCfgReq
8320(
8321 WDI_UpdateCfgReqParamsType* pwdiPowerSaveCfg,
8322 WDI_SetPwrSaveCfgCb wdiSetPwrSaveCfgCb,
8323 void* pUserData
8324);
8325
8326/**
8327 @brief WDI_EnterImpsReq will be called when the upper MAC to
8328 request the device to get into IMPS power state. Upon
8329 the call of this API the WLAN DAL will send a HAL Enter
8330 IMPS request message to the lower RIVA sub-system if DAL
8331 is in state STARTED.
8332
8333 In state BUSY this request will be queued. Request won't
8334 be allowed in any other state.
8335
8336
8337 @param wdiEnterImpsRspCb: callback for passing back the
8338 response of the Enter IMPS operation received from the
8339 device
8340
8341 pUserData: user data will be passed back with the
8342 callback
8343
8344 @see WDI_Start
8345 @return Result of the function call
8346*/
8347WDI_Status
8348WDI_EnterImpsReq
8349(
8350 WDI_EnterImpsRspCb wdiEnterImpsRspCb,
8351 void* pUserData
8352);
8353
8354/**
8355 @brief WDI_ExitImpsReq will be called when the upper MAC to
8356 request the device to get out of IMPS power state. Upon
8357 the call of this API the WLAN DAL will send a HAL Exit
8358 IMPS request message to the lower RIVA sub-system if DAL
8359 is in state STARTED.
8360
8361 In state BUSY this request will be queued. Request won't
8362 be allowed in any other state.
8363
8364
8365
8366 @param wdiExitImpsRspCb: callback for passing back the response
8367 of the Exit IMPS operation received from the device
8368
8369 pUserData: user data will be passed back with the
8370 callback
8371
8372 @see WDI_Start
8373 @return Result of the function call
8374*/
8375WDI_Status
8376WDI_ExitImpsReq
8377(
8378 WDI_ExitImpsRspCb wdiExitImpsRspCb,
8379 void* pUserData
8380);
8381
8382/**
8383 @brief WDI_EnterBmpsReq will be called when the upper MAC to
8384 request the device to get into BMPS power state. Upon
8385 the call of this API the WLAN DAL will pack and send a
8386 HAL Enter BMPS request message to the lower RIVA
8387 sub-system if DAL is in state STARTED.
8388
8389 In state BUSY this request will be queued. Request won't
8390 be allowed in any other state.
8391
8392 WDI_PostAssocReq must have been called.
8393
8394 @param pwdiEnterBmpsReqParams: the Enter BMPS parameters as
8395 specified by the Device Interface
8396
8397 wdiEnterBmpsRspCb: callback for passing back the
8398 response of the Enter BMPS operation received from the
8399 device
8400
8401 pUserData: user data will be passed back with the
8402 callback
8403
8404 @see WDI_PostAssocReq
8405 @return Result of the function call
8406*/
8407WDI_Status
8408WDI_EnterBmpsReq
8409(
8410 WDI_EnterBmpsReqParamsType *pwdiEnterBmpsReqParams,
8411 WDI_EnterBmpsRspCb wdiEnterBmpsRspCb,
8412 void* pUserData
8413);
8414
8415/**
8416 @brief WDI_ExitBmpsReq will be called when the upper MAC to
8417 request the device to get out of BMPS power state. Upon
8418 the call of this API the WLAN DAL will pack and send a
8419 HAL Exit BMPS request message to the lower RIVA
8420 sub-system if DAL is in state STARTED.
8421
8422 In state BUSY this request will be queued. Request won't
8423 be allowed in any other state.
8424
8425 WDI_PostAssocReq must have been called.
8426
8427 @param pwdiExitBmpsReqParams: the Exit BMPS parameters as
8428 specified by the Device Interface
8429
8430 wdiExitBmpsRspCb: callback for passing back the response
8431 of the Exit BMPS operation received from the device
8432
8433 pUserData: user data will be passed back with the
8434 callback
8435
8436 @see WDI_PostAssocReq
8437 @return Result of the function call
8438*/
8439WDI_Status
8440WDI_ExitBmpsReq
8441(
8442 WDI_ExitBmpsReqParamsType *pwdiExitBmpsReqParams,
8443 WDI_ExitBmpsRspCb wdiExitBmpsRspCb,
8444 void* pUserData
8445);
8446
8447/**
8448 @brief WDI_EnterUapsdReq will be called when the upper MAC to
8449 request the device to get into UAPSD power state. Upon
8450 the call of this API the WLAN DAL will pack and send a
8451 HAL Enter UAPSD request message to the lower RIVA
8452 sub-system if DAL is in state STARTED.
8453
8454 In state BUSY this request will be queued. Request won't
8455 be allowed in any other state.
8456
8457 WDI_PostAssocReq must have been called.
8458 WDI_SetUapsdAcParamsReq must have been called.
8459
8460 @param pwdiEnterUapsdReqParams: the Enter UAPSD parameters as
8461 specified by the Device Interface
8462
8463 wdiEnterUapsdRspCb: callback for passing back the
8464 response of the Enter UAPSD operation received from the
8465 device
8466
8467 pUserData: user data will be passed back with the
8468 callback
8469
8470 @see WDI_PostAssocReq, WDI_SetUapsdAcParamsReq
8471 @return Result of the function call
8472*/
8473WDI_Status
8474WDI_EnterUapsdReq
8475(
8476 WDI_EnterUapsdReqParamsType *pwdiEnterUapsdReqParams,
8477 WDI_EnterUapsdRspCb wdiEnterUapsdRspCb,
8478 void* pUserData
8479);
8480
8481/**
8482 @brief WDI_ExitUapsdReq will be called when the upper MAC to
8483 request the device to get out of UAPSD power state. Upon
8484 the call of this API the WLAN DAL will send a HAL Exit
8485 UAPSD request message to the lower RIVA sub-system if
8486 DAL is in state STARTED.
8487
8488 In state BUSY this request will be queued. Request won't
8489 be allowed in any other state.
8490
8491 WDI_PostAssocReq must have been called.
8492
8493 @param wdiExitUapsdRspCb: callback for passing back the
8494 response of the Exit UAPSD operation received from the
8495 device
8496
8497 pUserData: user data will be passed back with the
8498 callback
8499
8500 @see WDI_PostAssocReq
8501 @return Result of the function call
8502*/
8503WDI_Status
8504WDI_ExitUapsdReq
8505(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07008506 WDI_ExitUapsdReqParamsType *pwdiExitUapsdReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07008507 WDI_ExitUapsdRspCb wdiExitUapsdRspCb,
8508 void* pUserData
8509);
8510
8511/**
8512 @brief WDI_UpdateUapsdParamsReq will be called when the upper
8513 MAC wants to set the UAPSD related configurations
8514 of an associated STA (while acting as an AP) to the WLAN
8515 Device. Upon the call of this API the WLAN DAL will pack
8516 and send a HAL Update UAPSD params request message to
8517 the lower RIVA sub-system if DAL is in state STARTED.
8518
8519 In state BUSY this request will be queued. Request won't
8520 be allowed in any other state.
8521
8522 WDI_ConfigBSSReq must have been called.
8523
8524 @param pwdiUpdateUapsdReqParams: the UAPSD parameters
8525 as specified by the Device Interface
8526
8527 wdiUpdateUapsdParamsCb: callback for passing back the
8528 response of the update UAPSD params operation received
8529 from the device
8530
8531 pUserData: user data will be passed back with the
8532 callback
8533
8534 @see WDI_ConfigBSSReq
8535 @return Result of the function call
8536*/
8537WDI_Status
8538WDI_UpdateUapsdParamsReq
8539(
8540 WDI_UpdateUapsdReqParamsType *pwdiUpdateUapsdReqParams,
8541 WDI_UpdateUapsdParamsCb wdiUpdateUapsdParamsCb,
8542 void* pUserData
8543);
8544
8545/**
8546 @brief WDI_SetUapsdAcParamsReq will be called when the upper
8547 MAC wants to set the UAPSD related configurations before
8548 requesting for enter UAPSD power state to the WLAN
8549 Device. Upon the call of this API the WLAN DAL will pack
8550 and send a HAL Set UAPSD params request message to
8551 the lower RIVA sub-system if DAL is in state STARTED.
8552
8553 In state BUSY this request will be queued. Request won't
8554 be allowed in any other state.
8555
8556 WDI_PostAssocReq must have been called.
8557
8558 @param pwdiUapsdInfo: the UAPSD parameters as specified by
8559 the Device Interface
8560
8561 wdiSetUapsdAcParamsCb: callback for passing back the
8562 response of the set UAPSD params operation received from
8563 the device
8564
8565 pUserData: user data will be passed back with the
8566 callback
8567
8568 @see WDI_PostAssocReq
8569 @return Result of the function call
8570*/
8571WDI_Status
8572WDI_SetUapsdAcParamsReq
8573(
8574 WDI_SetUapsdAcParamsReqParamsType* pwdiPowerSaveCfg,
8575 WDI_SetUapsdAcParamsCb wdiSetUapsdAcParamsCb,
8576 void* pUserData
8577);
8578
8579/**
8580 @brief WDI_ConfigureRxpFilterReq will be called when the upper
8581 MAC wants to set/reset the RXP filters for received pkts
8582 (MC, BC etc.). Upon the call of this API the WLAN DAL will pack
8583 and send a HAL configure RXP filter request message to
8584 the lower RIVA sub-system.
8585
8586 In state BUSY this request will be queued. Request won't
8587 be allowed in any other state.
8588
8589
8590 @param pwdiConfigureRxpFilterReqParams: the RXP
8591 filter as specified by the Device
8592 Interface
8593
8594 wdiConfigureRxpFilterCb: callback for passing back the
8595 response of the configure RXP filter operation received
8596 from the device
8597
8598 pUserData: user data will be passed back with the
8599 callback
8600
8601 @return Result of the function call
8602*/
8603WDI_Status
8604WDI_ConfigureRxpFilterReq
8605(
8606 WDI_ConfigureRxpFilterReqParamsType *pwdiConfigureRxpFilterReqParams,
8607 WDI_ConfigureRxpFilterCb wdiConfigureRxpFilterCb,
8608 void* pUserData
8609);
8610
8611/**
8612 @brief WDI_SetBeaconFilterReq will be called when the upper MAC
8613 wants to set the beacon filters while in power save.
8614 Upon the call of this API the WLAN DAL will pack and
8615 send a Beacon filter request message to the
8616 lower RIVA sub-system.
8617
8618 In state BUSY this request will be queued. Request won't
8619 be allowed in any other state.
8620
8621
8622 @param pwdiBeaconFilterReqParams: the beacon
8623 filter as specified by the Device
8624 Interface
8625
8626 wdiBeaconFilterCb: callback for passing back the
8627 response of the set beacon filter operation received
8628 from the device
8629
8630 pUserData: user data will be passed back with the
8631 callback
8632
8633 @return Result of the function call
8634*/
8635WDI_Status
8636WDI_SetBeaconFilterReq
8637(
8638 WDI_BeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
8639 WDI_SetBeaconFilterCb wdiBeaconFilterCb,
8640 void* pUserData
8641);
8642
8643/**
8644 @brief WDI_RemBeaconFilterReq will be called when the upper MAC
8645 wants to remove the beacon filter for perticular IE
8646 while in power save. Upon the call of this API the WLAN
8647 DAL will pack and send a remove Beacon filter request
8648 message to the lower RIVA sub-system.
8649
8650 In state BUSY this request will be queued. Request won't
8651 be allowed in any other state.
8652
8653
8654 @param pwdiBeaconFilterReqParams: the beacon
8655 filter as specified by the Device
8656 Interface
8657
8658 wdiBeaconFilterCb: callback for passing back the
8659 response of the remove beacon filter operation received
8660 from the device
8661
8662 pUserData: user data will be passed back with the
8663 callback
8664
8665 @return Result of the function call
8666*/
8667WDI_Status
8668WDI_RemBeaconFilterReq
8669(
8670 WDI_RemBeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
8671 WDI_RemBeaconFilterCb wdiBeaconFilterCb,
8672 void* pUserData
8673);
8674
8675/**
8676 @brief WDI_SetRSSIThresholdsReq will be called when the upper
8677 MAC wants to set the RSSI thresholds related
8678 configurations while in power save. Upon the call of
8679 this API the WLAN DAL will pack and send a HAL Set RSSI
8680 thresholds request message to the lower RIVA
8681 sub-system if DAL is in state STARTED.
8682
8683 In state BUSY this request will be queued. Request won't
8684 be allowed in any other state.
8685
8686 WDI_PostAssocReq must have been called.
8687
8688 @param pwdiUapsdInfo: the UAPSD parameters as specified by
8689 the Device Interface
8690
8691 wdiSetUapsdAcParamsCb: callback for passing back the
8692 response of the set UAPSD params operation received from
8693 the device
8694
8695 pUserData: user data will be passed back with the
8696 callback
8697
8698 @see WDI_PostAssocReq
8699 @return Result of the function call
8700*/
8701WDI_Status
8702WDI_SetRSSIThresholdsReq
8703(
8704 WDI_SetRSSIThresholdsReqParamsType* pwdiRSSIThresholdsParams,
8705 WDI_SetRSSIThresholdsCb wdiSetRSSIThresholdsCb,
8706 void* pUserData
8707);
8708
8709/**
8710 @brief WDI_HostOffloadReq will be called when the upper MAC
8711 wants to set the filter to minimize unnecessary host
8712 wakeup due to broadcast traffic while in power save.
8713 Upon the call of this API the WLAN DAL will pack and
8714 send a HAL host offload request message to the
8715 lower RIVA sub-system if DAL is in state STARTED.
8716
8717 In state BUSY this request will be queued. Request won't
8718 be allowed in any other state.
8719
8720 WDI_PostAssocReq must have been called.
8721
8722 @param pwdiHostOffloadParams: the host offload as specified
8723 by the Device Interface
8724
8725 wdiHostOffloadCb: callback for passing back the response
8726 of the host offload operation received from the
8727 device
8728
8729 pUserData: user data will be passed back with the
8730 callback
8731
8732 @see WDI_PostAssocReq
8733 @return Result of the function call
8734*/
8735WDI_Status
8736WDI_HostOffloadReq
8737(
8738 WDI_HostOffloadReqParamsType* pwdiHostOffloadParams,
8739 WDI_HostOffloadCb wdiHostOffloadCb,
8740 void* pUserData
8741);
8742
8743/**
8744 @brief WDI_KeepAliveReq will be called when the upper MAC
8745 wants to set the filter to send NULL or unsolicited ARP responses
8746 and minimize unnecessary host wakeups due to while in power save.
8747 Upon the call of this API the WLAN DAL will pack and
8748 send a HAL Keep Alive request message to the
8749 lower RIVA sub-system if DAL is in state STARTED.
8750
8751 In state BUSY this request will be queued. Request won't
8752 be allowed in any other state.
8753
8754 WDI_PostAssocReq must have been called.
8755
8756 @param pwdiKeepAliveParams: the Keep Alive as specified
8757 by the Device Interface
8758
8759 wdiKeepAliveCb: callback for passing back the response
8760 of the Keep Alive operation received from the
8761 device
8762
8763 pUserData: user data will be passed back with the
8764 callback
8765
8766 @see WDI_PostAssocReq
8767 @return Result of the function call
8768*/
8769WDI_Status
8770WDI_KeepAliveReq
8771(
8772 WDI_KeepAliveReqParamsType* pwdiKeepAliveParams,
8773 WDI_KeepAliveCb wdiKeepAliveCb,
8774 void* pUserData
8775);
8776
8777/**
8778 @brief WDI_WowlAddBcPtrnReq will be called when the upper MAC
8779 wants to set the Wowl Bcast ptrn to minimize unnecessary
8780 host wakeup due to broadcast traffic while in power
8781 save. Upon the call of this API the WLAN DAL will pack
8782 and send a HAL Wowl Bcast ptrn request message to the
8783 lower RIVA sub-system if DAL is in state STARTED.
8784
8785 In state BUSY this request will be queued. Request won't
8786 be allowed in any other state.
8787
8788 WDI_PostAssocReq must have been called.
8789
8790 @param pwdiWowlAddBcPtrnParams: the Wowl bcast ptrn as
8791 specified by the Device Interface
8792
8793 wdiWowlAddBcPtrnCb: callback for passing back the
8794 response of the add Wowl bcast ptrn operation received
8795 from the device
8796
8797 pUserData: user data will be passed back with the
8798 callback
8799
8800 @see WDI_PostAssocReq
8801 @return Result of the function call
8802*/
8803WDI_Status
8804WDI_WowlAddBcPtrnReq
8805(
8806 WDI_WowlAddBcPtrnReqParamsType* pwdiWowlAddBcPtrnParams,
8807 WDI_WowlAddBcPtrnCb wdiWowlAddBcPtrnCb,
8808 void* pUserData
8809);
8810
8811/**
8812 @brief WDI_WowlDelBcPtrnReq will be called when the upper MAC
8813 wants to clear the Wowl Bcast ptrn. Upon the call of
8814 this API the WLAN DAL will pack and send a HAL delete
8815 Wowl Bcast ptrn request message to the lower RIVA
8816 sub-system if DAL is in state STARTED.
8817
8818 In state BUSY this request will be queued. Request won't
8819 be allowed in any other state.
8820
8821 WDI_WowlAddBcPtrnReq must have been called.
8822
8823 @param pwdiWowlDelBcPtrnParams: the Wowl bcast ptrn as
8824 specified by the Device Interface
8825
8826 wdiWowlDelBcPtrnCb: callback for passing back the
8827 response of the del Wowl bcast ptrn operation received
8828 from the device
8829
8830 pUserData: user data will be passed back with the
8831 callback
8832
8833 @see WDI_WowlAddBcPtrnReq
8834 @return Result of the function call
8835*/
8836WDI_Status
8837WDI_WowlDelBcPtrnReq
8838(
8839 WDI_WowlDelBcPtrnReqParamsType* pwdiWowlDelBcPtrnParams,
8840 WDI_WowlDelBcPtrnCb wdiWowlDelBcPtrnCb,
8841 void* pUserData
8842);
8843
8844/**
8845 @brief WDI_WowlEnterReq will be called when the upper MAC
8846 wants to enter the Wowl state to minimize unnecessary
8847 host wakeup while in power save. Upon the call of this
8848 API the WLAN DAL will pack and send a HAL Wowl enter
8849 request message to the lower RIVA sub-system if DAL is
8850 in state STARTED.
8851
8852 In state BUSY this request will be queued. Request won't
8853 be allowed in any other state.
8854
8855 WDI_PostAssocReq must have been called.
8856
8857 @param pwdiWowlEnterReqParams: the Wowl enter info as
8858 specified by the Device Interface
8859
8860 wdiWowlEnterReqCb: callback for passing back the
8861 response of the enter Wowl operation received from the
8862 device
8863
8864 pUserData: user data will be passed back with the
8865 callback
8866
8867 @see WDI_PostAssocReq
8868 @return Result of the function call
8869*/
8870WDI_Status
8871WDI_WowlEnterReq
8872(
8873 WDI_WowlEnterReqParamsType* pwdiWowlEnterParams,
8874 WDI_WowlEnterReqCb wdiWowlEnterCb,
8875 void* pUserData
8876);
8877
8878/**
8879 @brief WDI_WowlExitReq will be called when the upper MAC
8880 wants to exit the Wowl state. Upon the call of this API
8881 the WLAN DAL will pack and send a HAL Wowl exit request
8882 message to the lower RIVA sub-system if DAL is in state
8883 STARTED.
8884
8885 In state BUSY this request will be queued. Request won't
8886 be allowed in any other state.
8887
8888 WDI_WowlEnterReq must have been called.
8889
8890 @param pwdiWowlExitReqParams: the Wowl exit info as
8891 specified by the Device Interface
8892
8893 wdiWowlExitReqCb: callback for passing back the response
8894 of the exit Wowl operation received from the device
8895
8896 pUserData: user data will be passed back with the
8897 callback
8898
8899 @see WDI_WowlEnterReq
8900 @return Result of the function call
8901*/
8902WDI_Status
8903WDI_WowlExitReq
8904(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07008905 WDI_WowlExitReqParamsType* pwdiWowlExitParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07008906 WDI_WowlExitReqCb wdiWowlExitCb,
8907 void* pUserData
8908);
8909
8910/**
8911 @brief WDI_ConfigureAppsCpuWakeupStateReq will be called when
8912 the upper MAC wants to dynamically adjusts the listen
8913 interval based on the WLAN/MSM activity. Upon the call
8914 of this API the WLAN DAL will pack and send a HAL
8915 configure Apps Cpu Wakeup State request message to the
8916 lower RIVA sub-system.
8917
8918 In state BUSY this request will be queued. Request won't
8919 be allowed in any other state.
8920
8921
8922 @param pwdiConfigureAppsCpuWakeupStateReqParams: the
8923 Apps Cpu Wakeup State as specified by the
8924 Device Interface
8925
8926 wdiConfigureAppsCpuWakeupStateCb: callback for passing
8927 back the response of the configure Apps Cpu Wakeup State
8928 operation received from the device
8929
8930 pUserData: user data will be passed back with the
8931 callback
8932
8933 @return Result of the function call
8934*/
8935WDI_Status
8936WDI_ConfigureAppsCpuWakeupStateReq
8937(
8938 WDI_ConfigureAppsCpuWakeupStateReqParamsType *pwdiConfigureAppsCpuWakeupStateReqParams,
8939 WDI_ConfigureAppsCpuWakeupStateCb wdiConfigureAppsCpuWakeupStateCb,
8940 void* pUserData
8941);
8942/**
8943 @brief WDI_FlushAcReq will be called when the upper MAC wants
8944 to to perform a flush operation on a given AC. Upon the
8945 call of this API the WLAN DAL will pack and send a HAL
8946 Flush AC request message to the lower RIVA sub-system if
8947 DAL is in state STARTED.
8948
8949 In state BUSY this request will be queued. Request won't
8950 be allowed in any other state.
8951
8952
8953 @param pwdiFlushAcReqParams: the Flush AC parameters as
8954 specified by the Device Interface
8955
8956 wdiFlushAcRspCb: callback for passing back the response
8957 of the Flush AC operation received from the device
8958
8959 pUserData: user data will be passed back with the
8960 callback
8961
8962 @return Result of the function call
8963*/
8964WDI_Status
8965WDI_FlushAcReq
8966(
8967 WDI_FlushAcReqParamsType* pwdiFlushAcReqParams,
8968 WDI_FlushAcRspCb wdiFlushAcRspCb,
8969 void* pUserData
8970);
8971
8972/**
8973 @brief WDI_BtAmpEventReq will be called when the upper MAC
8974 wants to notify the lower mac on a BT AMP event. This is
8975 to inform BTC-SLM that some BT AMP event occurred. Upon
8976 the call of this API the WLAN DAL will pack and send a
8977 HAL BT AMP event request message to the lower RIVA
8978 sub-system if DAL is in state STARTED.
8979
8980 In state BUSY this request will be queued. Request won't
8981 be allowed in any other state.
8982
8983
8984 @param wdiBtAmpEventReqParams: the BT AMP event parameters as
8985 specified by the Device Interface
8986
8987 wdiBtAmpEventRspCb: callback for passing back the
8988 response of the BT AMP event operation received from the
8989 device
8990
8991 pUserData: user data will be passed back with the
8992 callback
8993
8994 @return Result of the function call
8995*/
8996WDI_Status
8997WDI_BtAmpEventReq
8998(
8999 WDI_BtAmpEventParamsType* pwdiBtAmpEventReqParams,
9000 WDI_BtAmpEventRspCb wdiBtAmpEventRspCb,
9001 void* pUserData
9002);
9003
Jeff Johnsone7245742012-09-05 17:12:55 -07009004#ifdef FEATURE_OEM_DATA_SUPPORT
9005/**
9006 @brief WDI_Start oem data Req will be called when the upper MAC
9007 wants to notify the lower mac on a oem data Req event.Upon
9008 the call of this API the WLAN DAL will pack and send a
9009 HAL OEM Data Req event request message to the lower RIVA
9010 sub-system if DAL is in state STARTED.
9011
9012 In state BUSY this request will be queued. Request won't
9013 be allowed in any other state.
9014
9015
9016 @param pWdiOemDataReqParams: the oem data req parameters as
9017 specified by the Device Interface
9018
9019 wdiStartOemDataRspCb: callback for passing back the
9020 response of the Oem Data Req received from the
9021 device
9022
9023 pUserData: user data will be passed back with the
9024 callback
9025
9026 @return Result of the function call
9027*/
9028WDI_Status
9029WDI_StartOemDataReq
9030(
9031 WDI_oemDataReqParamsType* pWdiOemDataReqParams,
9032 WDI_oemDataRspCb wdiOemDataRspCb,
9033 void* pUserData
9034);
9035#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07009036
9037/*========================================================================
9038
9039 CONTROL APIs
9040
9041==========================================================================*/
9042/**
9043 @brief WDI_SwitchChReq will be called when the upper MAC wants
9044 the WLAN HW to change the current channel of operation.
9045 Upon the call of this API the WLAN DAL will pack and
9046 send a HAL Start request message to the lower RIVA
9047 sub-system if DAL is in state STARTED.
9048
9049 In state BUSY this request will be queued. Request won't
9050 be allowed in any other state.
9051
9052 WDI_Start must have been called.
9053
9054 @param wdiSwitchChReqParams: the switch ch parameters as
9055 specified by the Device Interface
9056
9057 wdiSwitchChRspCb: callback for passing back the response
9058 of the switch ch operation received from the device
9059
9060 pUserData: user data will be passed back with the
9061 callback
9062
9063 @see WDI_Start
9064 @return Result of the function call
9065*/
9066WDI_Status
9067WDI_SwitchChReq
9068(
9069 WDI_SwitchChReqParamsType* pwdiSwitchChReqParams,
9070 WDI_SwitchChRspCb wdiSwitchChRspCb,
9071 void* pUserData
9072);
9073
9074
9075
9076/**
9077 @brief WDI_ConfigSTAReq will be called when the upper MAC
9078 wishes to add or update a STA in HW. Upon the call of
9079 this API the WLAN DAL will pack and send a HAL Start
9080 message request message to the lower RIVA sub-system if
9081 DAL is in state STARTED.
9082
9083 In state BUSY this request will be queued. Request won't
9084 be allowed in any other state.
9085
9086 WDI_Start must have been called.
9087
9088 @param wdiConfigSTAReqParams: the config STA parameters as
9089 specified by the Device Interface
9090
9091 wdiConfigSTARspCb: callback for passing back the
9092 response of the config STA operation received from the
9093 device
9094
9095 pUserData: user data will be passed back with the
9096 callback
9097
9098 @see WDI_Start
9099 @return Result of the function call
9100*/
9101WDI_Status
9102WDI_ConfigSTAReq
9103(
9104 WDI_ConfigSTAReqParamsType* pwdiConfigSTAReqParams,
9105 WDI_ConfigSTARspCb wdiConfigSTARspCb,
9106 void* pUserData
9107);
9108
9109/**
9110 @brief WDI_SetLinkStateReq will be called when the upper MAC
9111 wants to change the state of an ongoing link. Upon the
9112 call of this API the WLAN DAL will pack and send a HAL
9113 Start message request message to the lower RIVA
9114 sub-system if DAL is in state STARTED.
9115
9116 In state BUSY this request will be queued. Request won't
9117 be allowed in any other state.
9118
9119 WDI_JoinReq must have been called.
9120
9121 @param wdiSetLinkStateReqParams: the set link state parameters
9122 as specified by the Device Interface
9123
9124 wdiSetLinkStateRspCb: callback for passing back the
9125 response of the set link state operation received from
9126 the device
9127
9128 pUserData: user data will be passed back with the
9129 callback
9130
9131 @see WDI_JoinStartReq
9132 @return Result of the function call
9133*/
9134WDI_Status
9135WDI_SetLinkStateReq
9136(
9137 WDI_SetLinkReqParamsType* pwdiSetLinkStateReqParams,
9138 WDI_SetLinkStateRspCb wdiSetLinkStateRspCb,
9139 void* pUserData
9140);
9141
9142
9143/**
9144 @brief WDI_GetStatsReq will be called when the upper MAC wants
9145 to get statistics (MIB counters) from the device. Upon
9146 the call of this API the WLAN DAL will pack and send a
9147 HAL Start request message to the lower RIVA sub-system
9148 if DAL is in state STARTED.
9149
9150 In state BUSY this request will be queued. Request won't
9151 be allowed in any other state.
9152
9153 WDI_Start must have been called.
9154
9155 @param wdiGetStatsReqParams: the stats parameters to get as
9156 specified by the Device Interface
9157
9158 wdiGetStatsRspCb: callback for passing back the response
9159 of the get stats operation received from the device
9160
9161 pUserData: user data will be passed back with the
9162 callback
9163
9164 @see WDI_Start
9165 @return Result of the function call
9166*/
9167WDI_Status
9168WDI_GetStatsReq
9169(
9170 WDI_GetStatsReqParamsType* pwdiGetStatsReqParams,
9171 WDI_GetStatsRspCb wdiGetStatsRspCb,
9172 void* pUserData
9173);
9174
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08009175#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_CCX || defined(FEATURE_WLAN_LFR)
9176/**
9177 @brief WDI_GetRoamRssiReq will be called when the upper MAC wants
9178 to get roam rssi from the device. Upon
9179 the call of this API the WLAN DAL will pack and send a
9180 HAL Start request message to the lower RIVA sub-system
9181 if DAL is in state STARTED.
9182
9183 In state BUSY this request will be queued. Request won't
9184 be allowed in any other state.
9185
9186 WDI_Start must have been called.
9187
9188 @param wdiGetRoamRssiReqParams: the stats parameters to get as
9189 specified by the Device Interface
9190
9191 wdiGetRoamRssispCb: callback for passing back the response
9192 of the get stats operation received from the device
9193
9194 pUserData: user data will be passed back with the
9195 callback
9196
9197 @see WDI_Start
9198 @return Result of the function call
9199*/
9200WDI_Status
9201WDI_GetRoamRssiReq
9202(
9203 WDI_GetRoamRssiReqParamsType* pwdiGetRoamRssiReqParams,
9204 WDI_GetRoamRssiRspCb wdiGetRoamRssiRspCb,
9205 void* pUserData
9206);
9207#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07009208
9209/**
9210 @brief WDI_UpdateCfgReq will be called when the upper MAC when
9211 it wishes to change the configuration of the WLAN
9212 Device. Upon the call of this API the WLAN DAL will pack
9213 and send a HAL Update CFG request message to the lower
9214 RIVA sub-system if DAL is in state STARTED.
9215
9216 In state BUSY this request will be queued. Request won't
9217 be allowed in any other state.
9218
9219 WDI_Start must have been called.
9220
9221 @param wdiUpdateCfgReqParams: the update cfg parameters as
9222 specified by the Device Interface
9223
9224 wdiUpdateCfgsRspCb: callback for passing back the
9225 response of the update cfg operation received from the
9226 device
9227
9228 pUserData: user data will be passed back with the
9229 callback
9230
9231 @see WDI_Start
9232 @return Result of the function call
9233*/
9234WDI_Status
9235WDI_UpdateCfgReq
9236(
9237 WDI_UpdateCfgReqParamsType* pwdiUpdateCfgReqParams,
9238 WDI_UpdateCfgRspCb wdiUpdateCfgsRspCb,
9239 void* pUserData
9240);
9241
9242/**
9243 @brief WDI_NvDownloadReq will be called by the UMAC to dowload the NV blob
9244 to the NV memory.
9245
9246 @param wdiNvDownloadReqParams: the NV Download parameters as specified by
9247 the Device Interface
9248
9249 wdiNvDownloadRspCb: callback for passing back the response of
9250 the NV Download operation received from the device
9251
9252 pUserData: user data will be passed back with the
9253 callback
9254
9255 @see WDI_PostAssocReq
9256 @return Result of the function call
9257*/
9258WDI_Status
9259WDI_NvDownloadReq
9260(
9261 WDI_NvDownloadReqParamsType* pwdiNvDownloadReqParams,
9262 WDI_NvDownloadRspCb wdiNvDownloadRspCb,
9263 void* pUserData
9264);
9265/**
9266 @brief WDI_AddBAReq will be called when the upper MAC has setup
9267 successfully a BA session and needs to notify the HW for
9268 the appropriate settings to take place. Upon the call of
9269 this API the WLAN DAL will pack and send a HAL Add BA
9270 request message to the lower RIVA sub-system if DAL is
9271 in state STARTED.
9272
9273 In state BUSY this request will be queued. Request won't
9274 be allowed in any other state.
9275
9276 WDI_PostAssocReq must have been called.
9277
9278 @param wdiAddBAReqParams: the add BA parameters as specified by
9279 the Device Interface
9280
9281 wdiAddBARspCb: callback for passing back the response of
9282 the add BA operation received from the device
9283
9284 pUserData: user data will be passed back with the
9285 callback
9286
9287 @see WDI_PostAssocReq
9288 @return Result of the function call
9289*/
9290WDI_Status
9291WDI_AddBAReq
9292(
9293 WDI_AddBAReqParamsType* pwdiAddBAReqParams,
9294 WDI_AddBARspCb wdiAddBARspCb,
9295 void* pUserData
9296);
9297
9298/**
9299 @brief WDI_TriggerBAReq will be called when the upper MAC has setup
9300 successfully a BA session and needs to notify the HW for
9301 the appropriate settings to take place. Upon the call of
9302 this API the WLAN DAL will pack and send a HAL Add BA
9303 request message to the lower RIVA sub-system if DAL is
9304 in state STARTED.
9305
9306 In state BUSY this request will be queued. Request won't
9307 be allowed in any other state.
9308
9309 WDI_PostAssocReq must have been called.
9310
9311 @param wdiAddBAReqParams: the add BA parameters as specified by
9312 the Device Interface
9313
9314 wdiAddBARspCb: callback for passing back the response of
9315 the add BA operation received from the device
9316
9317 pUserData: user data will be passed back with the
9318 callback
9319
9320 @see WDI_PostAssocReq
9321 @return Result of the function call
9322*/
9323WDI_Status
9324WDI_TriggerBAReq
9325(
9326 WDI_TriggerBAReqParamsType* pwdiTriggerBAReqParams,
9327 WDI_TriggerBARspCb wdiTriggerBARspCb,
9328 void* pUserData
9329);
9330
9331
9332/**
9333 @brief WDI_IsHwFrameTxTranslationCapable checks to see if HW
9334 frame xtl is enabled for a particular STA.
9335
9336 WDI_PostAssocReq must have been called.
9337
9338 @param uSTAIdx: STA index
9339
9340 @see WDI_PostAssocReq
9341 @return Result of the function call
9342*/
9343wpt_boolean WDI_IsHwFrameTxTranslationCapable
9344(
9345 wpt_uint8 uSTAIdx
9346);
9347
9348#ifdef WLAN_FEATURE_VOWIFI_11R
9349/**
9350 @brief WDI_AggrAddTSReq will be called when the upper MAC to inform
9351 the device of a successful add TSpec negotiation for 11r. HW
9352 needs to receive the TSpec Info from the UMAC in order
9353 to configure properly the QoS data traffic. Upon the
9354 call of this API the WLAN DAL will pack and send a HAL
9355 Aggregated Add TS request message to the lower RIVA sub-system if
9356 DAL is in state STARTED.
9357
9358 In state BUSY this request will be queued. Request won't
9359 be allowed in any other state.
9360
9361 WDI_PostAssocReq must have been called.
9362
9363 @param wdiAggrAddTsReqParams: the add TS parameters as specified by
9364 the Device Interface
9365
9366 wdiAggrAddTsRspCb: callback for passing back the response of
9367 the add TS operation received from the device
9368
9369 pUserData: user data will be passed back with the
9370 callback
9371
9372 @see WDI_PostAssocReq
9373 @return Result of the function call
9374*/
9375WDI_Status
9376WDI_AggrAddTSReq
9377(
9378 WDI_AggrAddTSReqParamsType* pwdiAddTsReqParams,
9379 WDI_AggrAddTsRspCb wdiAggrAddTsRspCb,
9380 void* pUserData
9381);
9382#endif /* WLAN_FEATURE_VOWIFI_11R */
9383/**
9384 @brief WDI_STATableInit - Initializes the STA tables.
9385 Allocates the necesary memory.
9386
9387
9388 @param pWDICtx: pointer to the WLAN DAL context
9389
9390 @see
9391 @return Result of the function call
9392*/
9393
9394WDI_Status WDI_StubRunTest
9395(
9396 wpt_uint8 ucTestNo
9397);
9398
Jeff Johnson295189b2012-06-20 16:38:30 -07009399/**
9400 @brief WDI_FTMCommandReq -
9401 Route FTMRequest Command to HAL
9402
9403 @param ftmCommandReq: FTM request command body
9404 @param ftmCommandRspCb: Response CB
9405 @param pUserData: User data will be included with CB
9406
9407 @return Result of the function call
9408*/
9409WDI_Status WDI_FTMCommandReq
9410(
9411 WDI_FTMCommandReqType *ftmCommandReq,
9412 WDI_FTMCommandRspCb ftmCommandRspCb,
9413 void *pUserData
9414);
Jeff Johnson295189b2012-06-20 16:38:30 -07009415
9416/**
9417 @brief WDI_HostResumeReq will be called
9418
9419 In state BUSY this request will be queued. Request won't
9420 be allowed in any other state.
9421
9422
9423 @param pwdiResumeReqParams: as specified by
9424 the Device Interface
9425
9426 wdiResumeReqRspCb: callback for passing back the response of
9427 the Resume Req received from the device
9428
9429 pUserData: user data will be passed back with the
9430 callback
9431
9432 @see WDI_PostAssocReq
9433 @return Result of the function call
9434*/
9435WDI_Status
9436WDI_HostResumeReq
9437(
9438 WDI_ResumeParamsType* pwdiResumeReqParams,
9439 WDI_HostResumeEventRspCb wdiResumeReqRspCb,
9440 void* pUserData
9441);
9442
9443/**
9444 @brief WDI_GetAvailableResCount - Function to get the available resource
9445 for data and managemnt frames.
9446
9447 @param pContext: pointer to the WDI context
9448 @param wdiResPool: type of resource pool requesting
9449 @see
9450 @return Result of the function call
9451*/
9452
9453wpt_uint32 WDI_GetAvailableResCount
9454(
9455 void *pContext,
9456 WDI_ResPoolType wdiResPool
9457);
9458
9459/**
9460 @brief WDI_SetAddSTASelfReq will be called when the
9461 UMAC wanted to add self STA while opening any new session
9462 In state BUSY this request will be queued. Request won't
9463 be allowed in any other state.
9464
9465
9466 @param pwdiAddSTASelfParams: the add self sta parameters as
9467 specified by the Device Interface
9468
9469 pUserData: user data will be passed back with the
9470 callback
9471
9472 @see
9473 @return Result of the function call
9474*/
9475WDI_Status
9476WDI_AddSTASelfReq
9477(
9478 WDI_AddSTASelfReqParamsType* pwdiAddSTASelfReqParams,
9479 WDI_AddSTASelfParamsRspCb wdiAddSTASelfReqParamsRspCb,
9480 void* pUserData
9481);
9482
9483
9484/**
9485 @brief WDI_DelSTASelfReq will be called .
9486
9487 @param WDI_DelSTASelfReqParamsType
9488
9489 WDI_DelSTASelfRspCb: callback for passing back the
9490 response of the del sta self operation received from the
9491 device
9492
9493 pUserData: user data will be passed back with the
9494 callback
9495
9496 @see WDI_PostAssocReq
9497 @return Result of the function call
9498*/
9499WDI_Status
9500WDI_DelSTASelfReq
9501(
9502 WDI_DelSTASelfReqParamsType* pwdiDelStaSelfParams,
9503 WDI_DelSTASelfRspCb wdiDelStaSelfRspCb,
9504 void* pUserData
9505);
9506
9507/**
9508 @brief WDI_HostSuspendInd
9509
9510 Suspend Indication from the upper layer will be sent
9511 down to HAL
9512
9513 @param WDI_SuspendParamsType
9514
9515 @see
9516
9517 @return Status of the request
9518*/
9519WDI_Status
9520WDI_HostSuspendInd
9521(
9522 WDI_SuspendParamsType* pwdiSuspendIndParams
9523);
9524
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08009525/**
9526 @brief WDI_TrafficStatsInd
9527
9528 Traffic Stats from the upper layer will be sent
9529 down to HAL
9530
9531 @param WDI_TrafficStatsIndType
9532
9533 @see
9534
9535 @return Status of the request
9536*/
9537WDI_Status
9538WDI_TrafficStatsInd
9539(
9540 WDI_TrafficStatsIndType *pWdiTrafficStatsIndParams
9541);
9542
Chet Lanctot186b5732013-03-18 10:26:30 -07009543#ifdef WLAN_FEATURE_11W
9544/**
9545 @brief WDI_ExcludeUnencryptedInd
9546 Register with HAL to receive/drop unencrypted frames
9547
9548 @param WDI_ExcludeUnencryptIndType
9549
9550 @see
9551
9552 @return Status of the request
9553*/
9554WDI_Status
9555WDI_ExcludeUnencryptedInd
9556(
9557 WDI_ExcludeUnencryptIndType *pWdiExcUnencParams
9558);
9559#endif
9560
Yue Mab9c86f42013-08-14 15:59:08 -07009561/**
9562 @brief WDI_AddPeriodicTxPtrnInd
9563
9564 @param WDI_AddPeriodicTxPtrnParamsType
9565
9566 @see
9567
9568 @return Status of the request
9569*/
9570WDI_Status
9571WDI_AddPeriodicTxPtrnInd
9572(
9573 WDI_AddPeriodicTxPtrnParamsType *addPeriodicTxPtrnParams
9574);
9575
9576/**
9577 @brief WDI_DelPeriodicTxPtrnInd
9578
9579 @param WDI_DelPeriodicTxPtrnParamsType
9580
9581 @see
9582
9583 @return Status of the request
9584*/
9585WDI_Status
9586WDI_DelPeriodicTxPtrnInd
9587(
9588 WDI_DelPeriodicTxPtrnParamsType *delPeriodicTxPtrnParams
9589);
9590
Jeff Johnson295189b2012-06-20 16:38:30 -07009591#ifdef FEATURE_WLAN_SCAN_PNO
9592/**
9593 @brief WDI_SetPreferredNetworkList
9594
9595 @param pwdiPNOScanReqParams: the Set PNO as specified
9596 by the Device Interface
9597
9598 wdiPNOScanCb: callback for passing back the response
9599 of the Set PNO operation received from the
9600 device
9601
9602 pUserData: user data will be passed back with the
9603 callback
9604
9605 @see WDI_PostAssocReq
9606 @return Result of the function call
9607*/
9608WDI_Status
9609WDI_SetPreferredNetworkReq
9610(
9611 WDI_PNOScanReqParamsType* pwdiPNOScanReqParams,
9612 WDI_PNOScanCb wdiPNOScanCb,
9613 void* pUserData
9614);
9615
9616/**
9617 @brief WDI_SetRssiFilterReq
9618
9619 @param pwdiRssiFilterReqParams: the Set RSSI Filter as
9620 specified by the Device Interface
9621
9622 wdiRssiFilterCb: callback for passing back the response
9623 of the Set RSSI Filter operation received from the
9624 device
9625
9626 pUserData: user data will be passed back with the
9627 callback
9628
9629 @see WDI_PostAssocReq
9630 @return Result of the function call
9631*/
9632WDI_Status
9633WDI_SetRssiFilterReq
9634(
9635 WDI_SetRssiFilterReqParamsType* pwdiRssiFilterReqParams,
9636 WDI_RssiFilterCb wdiRssiFilterCb,
9637 void* pUserData
9638);
9639
9640/**
9641 @brief WDI_UpdateScanParams
9642
9643 @param pwdiUpdateScanParamsInfoType: the Update Scan Params as specified
9644 by the Device Interface
9645
9646 wdiUpdateScanParamsCb: callback for passing back the response
9647 of the Set PNO operation received from the
9648 device
9649
9650 pUserData: user data will be passed back with the
9651 callback
9652
9653 @see WDI_PostAssocReq
9654 @return Result of the function call
9655*/
9656WDI_Status
9657WDI_UpdateScanParamsReq
9658(
9659 WDI_UpdateScanParamsInfoType* pwdiUpdateScanParamsInfoType,
9660 WDI_UpdateScanParamsCb wdiUpdateScanParamsCb,
9661 void* pUserData
9662);
9663#endif // FEATURE_WLAN_SCAN_PNO
9664
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07009665#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
9666/**
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07009667 @brief WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07009668
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07009669 @param pwdiRoamScanOffloadReqParams: Start Roam Candidate Lookup Req as specified
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07009670 by the Device Interface
9671
9672 wdiRoamOffloadScanCb: callback for passing back the response
9673 of the Start Roam Candidate Lookup operation received from the
9674 device
9675
9676 pUserData: user data will be passed back with the
9677 callback
9678
9679 @return Result of the function call
9680*/
9681WDI_Status
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07009682WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07009683(
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07009684 WDI_RoamScanOffloadReqParamsType *pwdiRoamScanOffloadReqParams,
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07009685 WDI_RoamOffloadScanCb wdiRoamOffloadScancb,
9686 void* pUserData
9687);
9688#endif
9689
Jeff Johnson295189b2012-06-20 16:38:30 -07009690/**
9691 @brief WDI_SetTxPerTrackingReq will be called when the upper MAC
9692 wants to set the Tx Per Tracking configurations.
9693 Upon the call of this API the WLAN DAL will pack
9694 and send a HAL Set Tx Per Tracking request message to the
9695 lower RIVA sub-system if DAL is in state STARTED.
9696
9697 In state BUSY this request will be queued. Request won't
9698 be allowed in any other state.
9699
9700 @param wdiSetTxPerTrackingConf: the Set Tx PER Tracking configurations as
9701 specified by the Device Interface
9702
9703 wdiSetTxPerTrackingCb: callback for passing back the
9704 response of the set Tx PER Tracking configurations operation received
9705 from the device
9706
9707 pUserData: user data will be passed back with the
9708 callback
9709
9710 @return Result of the function call
9711*/
9712WDI_Status
9713WDI_SetTxPerTrackingReq
9714(
9715 WDI_SetTxPerTrackingReqParamsType* pwdiSetTxPerTrackingReqParams,
9716 WDI_SetTxPerTrackingRspCb pwdiSetTxPerTrackingRspCb,
9717 void* pUserData
9718);
9719
9720/**
9721 @brief WDI_SetTmLevelReq
9722 If HW Thermal condition changed, driver should react based on new
9723 HW thermal condition.
9724
9725 @param pwdiSetTmLevelReq: New thermal condition information
9726
9727 pwdiSetTmLevelRspCb: callback
9728
9729 usrData: user data will be passed back with the
9730 callback
9731
9732 @return Result of the function call
9733*/
9734WDI_Status
9735WDI_SetTmLevelReq
9736(
9737 WDI_SetTmLevelReqType *pwdiSetTmLevelReq,
9738 WDI_SetTmLevelCb pwdiSetTmLevelRspCb,
9739 void *usrData
9740);
9741
9742#ifdef WLAN_FEATURE_PACKET_FILTERING
9743/**
9744 @brief WDI_8023MulticastListReq
9745
9746 @param pwdiRcvFltPktSetMcListReqInfo: the Set 8023 Multicast
9747 List as specified by the Device Interface
9748
9749 wdi8023MulticastListCallback: callback for passing back
9750 the response of the Set 8023 Multicast List operation
9751 received from the device
9752
9753 pUserData: user data will be passed back with the
9754 callback
9755
9756 @see WDI_PostAssocReq
9757 @return Result of the function call
9758*/
9759WDI_Status
9760WDI_8023MulticastListReq
9761(
9762 WDI_RcvFltPktSetMcListReqParamsType* pwdiRcvFltPktSetMcListReqInfo,
9763 WDI_8023MulticastListCb wdi8023MulticastListCallback,
9764 void* pUserData
9765);
9766
9767/**
9768 @brief WDI_ReceiveFilterSetFilterReq
9769
9770 @param pwdiSetRcvPktFilterReqInfo: the Set Receive Filter as
9771 specified by the Device Interface
9772
9773 wdiReceiveFilterSetFilterReqCallback: callback for
9774 passing back the response of the Set Receive Filter
9775 operation received from the device
9776
9777 pUserData: user data will be passed back with the
9778 callback
9779
9780 @see WDI_PostAssocReq
9781 @return Result of the function call
9782*/
9783WDI_Status
9784WDI_ReceiveFilterSetFilterReq
9785(
9786 WDI_SetRcvPktFilterReqParamsType* pwdiSetRcvPktFilterReqInfo,
9787 WDI_ReceiveFilterSetFilterCb wdiReceiveFilterSetFilterReqCallback,
9788 void* pUserData
9789);
9790
9791/**
9792 @brief WDI_PCFilterMatchCountReq
9793
9794 @param pwdiRcvFltPktMatchCntReqInfo: get D0 PC Filter Match
9795 Count
9796
9797 wdiPCFilterMatchCountCallback: callback for passing back
9798 the response of the D0 PC Filter Match Count operation
9799 received from the device
9800
9801 pUserData: user data will be passed back with the
9802 callback
9803
9804 @see WDI_PostAssocReq
9805 @return Result of the function call
9806*/
9807WDI_Status
9808WDI_FilterMatchCountReq
9809(
9810 WDI_RcvFltPktMatchCntReqParamsType* pwdiRcvFltPktMatchCntReqInfo,
9811 WDI_FilterMatchCountCb wdiFilterMatchCountCallback,
9812 void* pUserData
9813);
9814
9815/**
9816 @brief WDI_ReceiveFilterClearFilterReq
9817
9818 @param pwdiRcvFltPktClearReqInfo: the Clear Filter as
9819 specified by the Device Interface
9820
9821 wdiReceiveFilterClearFilterCallback: callback for
9822 passing back the response of the Clear Filter
9823 operation received from the device
9824
9825 pUserData: user data will be passed back with the
9826 callback
9827
9828 @see WDI_PostAssocReq
9829 @return Result of the function call
9830*/
9831WDI_Status
9832WDI_ReceiveFilterClearFilterReq
9833(
9834 WDI_RcvFltPktClearReqParamsType* pwdiRcvFltPktClearReqInfo,
9835 WDI_ReceiveFilterClearFilterCb wdiReceiveFilterClearFilterCallback,
9836 void* pUserData
9837);
9838#endif // WLAN_FEATURE_PACKET_FILTERING
9839
9840/**
9841 @brief WDI_HALDumpCmdReq
9842 Post HAL DUMP Command Event
9843
9844 @param halDumpCmdReqParams: Hal Dump Command Body
9845 @param halDumpCmdRspCb: callback for passing back the
9846 response
9847 @param pUserData: Client Data
9848
9849 @see
9850 @return Result of the function call
9851*/
9852WDI_Status WDI_HALDumpCmdReq(
9853 WDI_HALDumpCmdReqParamsType *halDumpCmdReqParams,
9854 WDI_HALDumpCmdRspCb halDumpCmdRspCb,
9855 void *pUserData
9856);
9857
9858
9859/**
9860 @brief WDI_SetPowerParamsReq
9861
9862 @param pwdiPowerParamsReqParams: the Set Power Params as
9863 specified by the Device Interface
9864
9865 wdiPowerParamsCb: callback for passing back the response
9866 of the Set Power Params operation received from the
9867 device
9868
9869 pUserData: user data will be passed back with the
9870 callback
9871
9872 @return Result of the function call
9873*/
9874WDI_Status
9875WDI_SetPowerParamsReq
9876(
9877 WDI_SetPowerParamsReqParamsType* pwdiPowerParamsReqParams,
9878 WDI_SetPowerParamsCb wdiPowerParamsCb,
9879 void* pUserData
9880);
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +05309881/**
9882 @brief WDI_dhcpStartInd
9883 Forward the DHCP Start event
9884
9885 @param
9886
9887 wdiDHCPInd: device mode and MAC address is passed
9888
9889 @see
9890 @return Result of the function call
9891*/
9892
9893WDI_Status
9894WDI_dhcpStartInd
9895(
9896 WDI_DHCPInd *wdiDHCPInd
9897);
9898/**
9899 @brief WDI_dhcpStopReq
9900 Forward the DHCP Stop event
9901
9902 @param
9903
9904 wdiDHCPInd: device mode and MAC address is passed
9905
9906 @see
9907 @return Result of the function call
9908*/
9909
9910WDI_Status
9911WDI_dhcpStopInd
9912(
9913 WDI_DHCPInd *wdiDHCPInd
9914);
Jeff Johnson295189b2012-06-20 16:38:30 -07009915
Chittajit Mitraf5413a42013-10-18 14:20:08 -07009916/**
9917 @brief WDI_RateUpdateInd will be called when the upper MAC
9918 requests the device to update rates.
9919
9920 In state BUSY this request will be queued. Request won't
9921 be allowed in any other state.
9922
9923
9924 @param wdiRateUpdateIndParams
9925
9926
9927 @see WDI_Start
9928 @return Result of the function call
9929*/
9930WDI_Status
9931WDI_RateUpdateInd
9932(
9933 WDI_RateUpdateIndParams *wdiRateUpdateIndParams
9934);
9935
Jeff Johnson295189b2012-06-20 16:38:30 -07009936#ifdef WLAN_FEATURE_GTK_OFFLOAD
9937/**
9938 @brief WDI_GTKOffloadReq will be called when the upper MAC
9939 wants to set GTK Rekey Counter while in power save. Upon
9940 the call of this API the WLAN DAL will pack and send a
9941 HAL GTK offload request message to the lower RIVA
9942 sub-system if DAL is in state STARTED.
9943
9944 In state BUSY this request will be queued. Request won't
9945 be allowed in any other state.
9946
9947 WDI_PostAssocReq must have been called.
9948
9949 @param pwdiGtkOffloadParams: the GTK offload as specified
9950 by the Device Interface
9951
9952 wdiGtkOffloadCb: callback for passing back the response
9953 of the GTK offload operation received from the device
9954
9955 pUserData: user data will be passed back with the
9956 callback
9957
9958 @see WDI_PostAssocReq
9959 @return Result of the function call
9960*/
9961WDI_Status
9962WDI_GTKOffloadReq
9963(
9964 WDI_GtkOffloadReqMsg* pwdiGtkOffloadReqMsg,
9965 WDI_GtkOffloadCb wdiGtkOffloadCb,
9966 void* pUserData
9967);
9968
9969/**
9970 @brief WDI_GTKOffloadGetInfoReq will be called when the upper
9971 MAC wants to get GTK Rekey Counter while in power save.
9972 Upon the call of this API the WLAN DAL will pack and
9973 send a HAL GTK offload request message to the lower RIVA
9974 sub-system if DAL is in state STARTED.
9975
9976 In state BUSY this request will be queued. Request won't
9977 be allowed in any other state.
9978
9979 WDI_PostAssocReq must have been called.
9980
9981 @param pwdiGtkOffloadGetInfoReqMsg: the GTK Offload
9982 Information Message as specified by the
9983 Device Interface
9984
9985 wdiGtkOffloadGetInfoCb: callback for passing back the
9986 response of the GTK offload operation received from the
9987 device
9988
9989 pUserData: user data will be passed back with the
9990 callback
9991
9992 @see WDI_PostAssocReq
9993 @return Result of the function call
9994*/
9995WDI_Status
9996WDI_GTKOffloadGetInfoReq
9997(
9998 WDI_GtkOffloadGetInfoReqMsg* pwdiGtkOffloadGetInfoReqMsg,
9999 WDI_GtkOffloadGetInfoCb wdiGtkOffloadGetInfoCb,
10000 void* pUserData
10001);
10002#endif // WLAN_FEATURE_GTK_OFFLOAD
10003
10004/**
10005 @brief WDI_featureCapsExchangeReq
10006 Post feature capability bitmap exchange event.
10007 Host will send its own capability to FW in this req and
10008 expect FW to send its capability back as a bitmap in Response
10009
10010 @param
10011
10012 wdiFeatCapsExcRspCb: callback called on getting the response.
10013 It is kept to mantain similarity between WDI reqs and if needed, can
10014 be used in future. Currently, It is set to NULL
10015
10016 pUserData: user data will be passed back with the
10017 callback
10018
10019 @see
10020 @return Result of the function call
10021*/
10022WDI_Status
10023WDI_featureCapsExchangeReq
10024(
10025 WDI_featureCapsExchangeCb wdiFeatureCapsExchangeCb,
10026 void* pUserData
10027);
10028
10029/**
Yathish9f22e662012-12-10 14:21:35 -080010030 @brief Disable Active mode offload in Host
10031
10032 @param void
10033 @see
10034 @return void
10035*/
10036void
10037WDI_disableCapablityFeature(wpt_uint8 feature_index);
10038
10039
10040/**
Jeff Johnson295189b2012-06-20 16:38:30 -070010041 @brief WDI_getHostWlanFeatCaps
10042 WDI API that returns whether the feature passed to it as enum value in
10043 "placeHolderInCapBitmap" is supported by Host or not. It uses WDI global
10044 variable storing host capability bitmap to find this. This can be used by
10045 other moduels to decide certain things like call different APIs based on
10046 whether a particular feature is supported.
10047
10048 @param
10049
10050 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap in wlan_hal_msg.h.
10051
10052 @see
10053 @return
10054 0 - if the feature is NOT supported in host
10055 any non-zero value - if the feature is SUPPORTED in host.
10056*/
10057wpt_uint8 WDI_getHostWlanFeatCaps(wpt_uint8 feat_enum_value);
10058
10059/**
10060 @brief WDI_getFwWlanFeatCaps
10061 WDI API that returns whether the feature passed to it as enum value in
10062 "placeHolderInCapBitmap" is supported by FW or not. It uses WDI global
10063 variable storing host capability bitmap to find this. This can be used by
10064 other moduels to decide certain things like call different APIs based on
10065 whether a particular feature is supported.
10066
10067 @param
10068
Jeff Johnsone7245742012-09-05 17:12:55 -070010069 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap
10070 in wlan_hal_msg.h.
Jeff Johnson295189b2012-06-20 16:38:30 -070010071
10072 @see
10073 @return
10074 0 - if the feature is NOT supported in FW
10075 any non-zero value - if the feature is SUPPORTED in FW.
10076*/
10077wpt_uint8 WDI_getFwWlanFeatCaps(wpt_uint8 feat_enum_value);
10078
10079/**
10080 @brief WDI_GetWcnssCompiledApiVersion - Function to get wcnss compiled
10081 api version
10082
10083 @param WDI_WlanVersionType: Wlan version structure
10084 @see
10085 @return none
10086*/
10087
10088void WDI_GetWcnssCompiledApiVersion
10089(
10090 WDI_WlanVersionType *pWcnssApiVersion
10091);
10092
Mohit Khanna4a70d262012-09-11 16:30:12 -070010093#ifdef WLAN_FEATURE_11AC
10094WDI_Status
10095WDI_UpdateVHTOpModeReq
10096(
10097 WDI_UpdateVHTOpMode *pData,
10098 WDI_UpdateVHTOpModeCb wdiUpdateVHTOpModeCb,
10099 void* pUserData
10100);
Jeff Johnson295189b2012-06-20 16:38:30 -070010101
Mohit Khanna4a70d262012-09-11 16:30:12 -070010102#endif
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070010103
10104/**
10105 @brief WDI_TransportChannelDebug -
10106 Display DXE Channel debugging information
10107 User may request to display DXE channel snapshot
10108 Or if host driver detects any abnormal stcuk may display
10109
Jeff Johnsonb88db982012-12-10 13:34:59 -080010110 @param displaySnapshot : Display DXE snapshot option
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070010111 @param enableStallDetect : Enable stall detect feature
10112 This feature will take effect to data performance
10113 Not integrate till fully verification
10114 @see
10115 @return none
10116*/
10117void WDI_TransportChannelDebug
10118(
10119 wpt_boolean displaySnapshot,
Madan Mohan Koyyalamudi24a00f92012-10-22 15:21:02 -070010120 wpt_boolean toggleStallDetect
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070010121);
10122
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -070010123/**
10124 @brief WDI_SsrTimerCB
10125 Callback function for SSR timer, if this is called then the graceful
10126 shutdown for Riva did not happen.
10127
10128 @param pUserData : user data to timer
10129
10130 @see
10131 @return none
10132*/
10133void
10134WDI_SsrTimerCB
10135(
10136 void *pUserData
10137);
10138
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -070010139/**
10140 @brief WDI_SetEnableSSR -
10141 This API is called to enable/disable SSR on WDI timeout.
10142
10143 @param enableSSR : enable/disable SSR
10144
10145 @see
10146 @return none
10147*/
10148void WDI_SetEnableSSR(wpt_boolean enableSSR);
10149
Leo Chang9056f462013-08-01 19:21:11 -070010150#ifdef FEATURE_WLAN_LPHB
10151/**
10152 @brief WDI_LPHBConfReq
10153 This API is called to config FW LPHB rule
10154
10155 @param lphbconfParam : LPHB rule should config to FW
10156 usrData : Client context
10157 lphbCfgCb : Configuration status callback
10158 @see
10159 @return SUCCESS or FAIL
10160*/
10161WDI_Status WDI_LPHBConfReq
10162(
10163 void *lphbconfParam,
10164 void *usrData,
10165 WDI_LphbCfgCb lphbCfgCb
10166);
10167#endif /* FEATURE_WLAN_LPHB */
Rajeev79dbe4c2013-10-05 11:03:42 +053010168
10169#ifdef FEATURE_WLAN_BATCH_SCAN
10170/**
10171 @brief WDI_SetBatchScanReq
10172 This API is called to set batch scan request in FW
10173
10174 @param pBatchScanReqParam : pointer to set batch scan re param
10175 usrData : Client context
10176 setBatchScanRspCb : set batch scan resp callback
10177 @see
10178 @return SUCCESS or FAIL
10179*/
10180WDI_Status WDI_SetBatchScanReq
10181(
10182 void *pBatchScanReqParam,
10183 void *usrData,
10184 WDI_SetBatchScanCb setBatchScanRspCb
10185);
10186
10187/**
10188 @brief WDI_StopBatchScanInd
10189
10190 @param none
10191
10192 @see
10193
10194 @return Status of the request
10195*/
10196WDI_Status
10197WDI_StopBatchScanInd(WDI_StopBatchScanIndType *pWdiReq);
10198
10199/**
10200 @brief WDI_TriggerBatchScanResultInd
10201 This API is called to pull batch scan result from FW
10202
10203 @param pBatchScanReqParam : pointer to trigger batch scan ind param
10204 usrData : Client context
10205 setBatchScanRspCb : get batch scan resp callback
10206 @see
10207 @return SUCCESS or FAIL
10208*/
10209WDI_Status
10210WDI_TriggerBatchScanResultInd(WDI_TriggerBatchScanResultIndType *pWdiReq);
10211
10212
10213#endif /*FEATURE_WLAN_BATCH_SCAN*/
10214
Jeff Johnson295189b2012-06-20 16:38:30 -070010215#ifdef __cplusplus
10216 }
10217#endif
10218
10219
10220#endif /* #ifndef WLAN_QCT_WDI_H */