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