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