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