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