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