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