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