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