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