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