blob: c0768fb77ab6463bb3e0f96d11ed32218012702d [file] [log] [blame]
Jeff Johnson295189b2012-06-20 16:38:30 -07001/*
2 * Copyright (c) 2012, Code Aurora Forum. All rights reserved.
3 *
4 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
5 *
6 *
7 * Permission to use, copy, modify, and/or distribute this software for
8 * any purpose with or without fee is hereby granted, provided that the
9 * above copyright notice and this permission notice appear in all
10 * copies.
11 *
12 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
13 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
14 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
15 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
16 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
17 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
18 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19 * PERFORMANCE OF THIS SOFTWARE.
20 */
21
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
2453
2454
2455/*---------------------------------------------------------------------------
2456 WDI_UpdateBeaconParamsType
2457---------------------------------------------------------------------------*/
2458typedef struct
2459{
2460 /*Update Beacon Params Info*/
2461 WDI_UpdateBeaconParamsInfoType wdiUpdateBeaconParamsInfo;
2462
2463 /*Request status callback offered by UMAC - it is called if the current
2464 req has returned PENDING as status; it delivers the status of sending
2465 the message over the BUS */
2466 WDI_ReqStatusCb wdiReqStatusCB;
2467
2468 /*The user data passed in by UMAC, it will be sent back when the above
2469 function pointer will be called */
2470 void* pUserData;
2471}WDI_UpdateBeaconParamsType;
2472
2473/*---------------------------------------------------------------------------
2474 WDI_SendBeaconParamsInfoType
2475---------------------------------------------------------------------------*/
2476
2477typedef struct {
2478
2479 /*BSSID of the BSS*/
2480 wpt_macAddr macBSSID;
2481
2482 /* Beacon data */
2483 wpt_uint8 beacon[WDI_BEACON_TEMPLATE_SIZE];
2484
2485 /* length of the template */
2486 wpt_uint32 beaconLength;
2487
2488#ifdef WLAN_SOFTAP_FEATURE
2489 /* TIM IE offset from the beginning of the template.*/
2490 wpt_uint32 timIeOffset;
2491#endif
2492
2493#ifdef WLAN_FEATURE_P2P
2494 /* P2P IE offset from the beginning of the template */
2495 wpt_uint16 usP2PIeOffset;
2496#endif
2497} WDI_SendBeaconParamsInfoType;
2498
2499/*---------------------------------------------------------------------------
2500 WDI_SendBeaconParamsType
2501---------------------------------------------------------------------------*/
2502typedef struct
2503{
2504 /*Send Beacon Params Info*/
2505 WDI_SendBeaconParamsInfoType wdiSendBeaconParamsInfo;
2506
2507 /*Request status callback offered by UMAC - it is called if the current
2508 req has returned PENDING as status; it delivers the status of sending
2509 the message over the BUS */
2510 WDI_ReqStatusCb wdiReqStatusCB;
2511
2512 /*The user data passed in by UMAC, it will be sent back when the above
2513 function pointer will be called */
2514 void* pUserData;
2515}WDI_SendBeaconParamsType;
2516
2517/*---------------------------------------------------------------------------
2518 WDI_LinkStateType
2519---------------------------------------------------------------------------*/
2520typedef enum
2521{
2522 WDI_LINK_IDLE_STATE = 0,
2523 WDI_LINK_PREASSOC_STATE = 1,
2524 WDI_LINK_POSTASSOC_STATE = 2,
2525 WDI_LINK_AP_STATE = 3,
2526 WDI_LINK_IBSS_STATE = 4,
2527
2528 // BT-AMP Case
2529 WDI_LINK_BTAMP_PREASSOC_STATE = 5,
2530 WDI_LINK_BTAMP_POSTASSOC_STATE = 6,
2531 WDI_LINK_BTAMP_AP_STATE = 7,
2532 WDI_LINK_BTAMP_STA_STATE = 8,
2533
2534 // Reserved for HAL internal use
2535 WDI_LINK_LEARN_STATE = 9,
2536 WDI_LINK_SCAN_STATE = 10,
2537 WDI_LINK_FINISH_SCAN_STATE = 11,
2538 WDI_LINK_INIT_CAL_STATE = 12,
2539 WDI_LINK_FINISH_CAL_STATE = 13,
2540#ifdef WLAN_FEATURE_P2P
2541 WDI_LINK_LISTEN_STATE = 14,
2542#endif
2543 WDI_LINK_MAX = 0x7FFFFFFF
2544} WDI_LinkStateType;
2545
2546/*---------------------------------------------------------------------------
2547 WDI_SetLinkReqInfoType
2548---------------------------------------------------------------------------*/
2549typedef struct
2550{
2551 /*BSSID of the BSS*/
2552 wpt_macAddr macBSSID;
2553
2554 /*Link state*/
2555 WDI_LinkStateType wdiLinkState;
2556
2557 /*BSSID of the BSS*/
2558 wpt_macAddr macSelfStaMacAddr;
2559}WDI_SetLinkReqInfoType;
2560
2561/*---------------------------------------------------------------------------
2562 WDI_SetLinkReqParamsType
2563---------------------------------------------------------------------------*/
2564typedef struct
2565{
2566 /*Link Info*/
2567 WDI_SetLinkReqInfoType wdiLinkInfo;
2568
2569 /*Request status callback offered by UMAC - it is called if the current
2570 req has returned PENDING as status; it delivers the status of sending
2571 the message over the BUS */
2572 WDI_ReqStatusCb wdiReqStatusCB;
2573
2574 /*The user data passed in by UMAC, it will be sent back when the above
2575 function pointer will be called */
2576 void* pUserData;
2577}WDI_SetLinkReqParamsType;
2578
2579/*---------------------------------------------------------------------------
2580 WDI_GetStatsParamsInfoType
2581---------------------------------------------------------------------------*/
2582typedef struct
2583{
2584 /*Indicates the station for which Get Stats are requested..*/
2585 wpt_uint8 ucSTAIdx;
2586
2587 /* categories of stats requested */
2588 wpt_uint32 uStatsMask;
2589}WDI_GetStatsParamsInfoType;
2590
2591/*---------------------------------------------------------------------------
2592 WDI_GetStatsReqParamsType
2593---------------------------------------------------------------------------*/
2594typedef struct
2595{
2596 /*Get Stats Params Info*/
2597 WDI_GetStatsParamsInfoType wdiGetStatsParamsInfo;
2598
2599 /*Request status callback offered by UMAC - it is called if the current
2600 req has returned PENDING as status; it delivers the status of sending
2601 the message over the BUS */
2602 WDI_ReqStatusCb wdiReqStatusCB;
2603
2604 /*The user data passed in by UMAC, it will be sent back when the above
2605 function pointer will be called */
2606 void* pUserData;
2607}WDI_GetStatsReqParamsType;
2608
2609/*---------------------------------------------------------------------------
2610 WDI_GetStatsRspParamsType
2611---------------------------------------------------------------------------*/
2612typedef struct
2613{
2614 /*message type is same as the request type*/
2615 wpt_uint16 usMsgType;
2616
2617 /* length of the entire request, includes the pStatsBuf length too*/
2618 wpt_uint16 usMsgLen;
2619
2620 /*Result of the operation*/
2621 WDI_Status wdiStatus;
2622
2623 /*Indicates the station for which Get Stats are requested..*/
2624 wpt_uint8 ucSTAIdx;
2625
2626 /* categories of stats requested */
2627 wpt_uint32 uStatsMask;
2628
2629 /* The Stats buffer starts here and can be an aggregate of more than one statistics
2630 * structure depending on statsMask.*/
2631}WDI_GetStatsRspParamsType;
2632
2633#ifdef FEATURE_WLAN_CCX
2634/*---------------------------------------------------------------------------
2635 WDI_TSMStatsParamsInfoType
2636---------------------------------------------------------------------------*/
2637typedef struct
2638{
2639 /*Indicates the station for which Get Stats are requested..*/
2640 wpt_uint8 ucTid;
2641
2642 wpt_macAddr bssid;
2643}WDI_TSMStatsParamsInfoType;
2644
2645/*---------------------------------------------------------------------------
2646 WDI_TSMStatsReqParamsType
2647---------------------------------------------------------------------------*/
2648typedef struct
2649{
2650 /*Get TSM Stats Params Info*/
2651 WDI_TSMStatsParamsInfoType wdiTsmStatsParamsInfo;
2652
2653 WDI_ReqStatusCb wdiReqStatusCB;
2654
2655 /*The user data passed in by UMAC, it will be sent back when the above
2656 function pointer will be called */
2657 void* pUserData;
2658
2659}WDI_TSMStatsReqParamsType;
2660
2661
2662/*---------------------------------------------------------------------------
2663 WDI_TSMStatsRspParamsType
2664---------------------------------------------------------------------------*/
2665typedef struct
2666{
2667 /*Indicates the status of the operation */
2668 WDI_Status wdiStatus;
2669
2670 wpt_uint16 UplinkPktQueueDly;
2671 wpt_uint16 UplinkPktQueueDlyHist[4];
2672 wpt_uint32 UplinkPktTxDly;
2673 wpt_uint16 UplinkPktLoss;
2674 wpt_uint16 UplinkPktCount;
2675 wpt_uint8 RoamingCount;
2676 wpt_uint16 RoamingDly;
2677}WDI_TSMStatsRspParamsType;
2678
2679
2680#endif
2681/*---------------------------------------------------------------------------
2682 WDI_UpdateCfgReqParamsType
2683---------------------------------------------------------------------------*/
2684typedef struct
2685{
2686 /*This is a TLV formatted buffer containing all config values that can
2687 be set through the DAL Interface
2688
2689 The TLV is expected to be formatted like this:
2690
2691 0 7 15 31 ....
2692 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
2693
2694 Or from a C construct point of VU it would look like this:
2695
2696 typedef struct WPT_PACK_POST
2697 {
2698 #ifdef WPT_BIG_ENDIAN
2699 wpt_uint32 ucCfgId:8;
2700 wpt_uint32 ucCfgLen:8;
2701 wpt_uint32 usReserved:16;
2702 #else
2703 wpt_uint32 usReserved:16;
2704 wpt_uint32 ucCfgLen:8;
2705 wpt_uint32 ucCfgId:8;
2706 #endif
2707
2708 wpt_uint8 ucCfgBody[ucCfgLen];
2709 }WDI_ConfigType;
2710
2711 Multiple such tuplets are to be placed in the config buffer. One for
2712 each required configuration item:
2713
2714 | TLV 1 | TLV2 | ....
2715
2716 The buffer is expected to be a flat area of memory that can be manipulated
2717 with standard memory routines.
2718
2719 For more info please check paragraph 2.3.1 Config Structure from the
2720 HAL LLD.
2721
2722 For a list of accepted configuration list and IDs please look up
2723 wlan_qct_dal_cfg.h
2724 */
2725 void* pConfigBuffer;
2726
2727 /*Length of the config buffer above*/
2728 wpt_uint32 uConfigBufferLen;
2729
2730 /*Request status callback offered by UMAC - it is called if the current
2731 req has returned PENDING as status; it delivers the status of sending
2732 the message over the BUS */
2733 WDI_ReqStatusCb wdiReqStatusCB;
2734
2735 /*The user data passed in by UMAC, it will be sent back when the above
2736 function pointer will be called */
2737 void* pUserData;
2738}WDI_UpdateCfgReqParamsType;
2739
2740/*---------------------------------------------------------------------------
2741 WDI_UpdateProbeRspTemplateInfoType
2742---------------------------------------------------------------------------*/
2743//Default Beacon template size
2744#define WDI_PROBE_RSP_TEMPLATE_SIZE 0x180
2745
2746#define WDI_PROBE_REQ_BITMAP_IE_LEN 8
2747
2748typedef struct
2749{
2750 /*BSSID for which the Probe Template is to be used*/
2751 wpt_macAddr macBSSID;
2752
2753 /*Probe response template*/
2754 wpt_uint8 *pProbeRespTemplate[WDI_PROBE_RSP_TEMPLATE_SIZE];
2755
2756 /*Template Len*/
2757 wpt_uint32 uProbeRespTemplateLen;
2758
2759 /*Bitmap for the IEs that are to be handled at SLM level*/
2760 wpt_uint32 uaProxyProbeReqValidIEBmap[WDI_PROBE_REQ_BITMAP_IE_LEN];
2761
2762}WDI_UpdateProbeRspTemplateInfoType;
2763
2764/*---------------------------------------------------------------------------
2765 WDI_UpdateProbeRspParamsType
2766---------------------------------------------------------------------------*/
2767typedef struct
2768{
2769 /*Link Info*/
2770 WDI_UpdateProbeRspTemplateInfoType wdiProbeRspTemplateInfo;
2771
2772 /*Request status callback offered by UMAC - it is called if the current
2773 req has returned PENDING as status; it delivers the status of sending
2774 the message over the BUS */
2775 WDI_ReqStatusCb wdiReqStatusCB;
2776
2777 /*The user data passed in by UMAC, it will be sent back when the above
2778 function pointer will be called */
2779 void* pUserData;
2780}WDI_UpdateProbeRspTemplateParamsType;
2781
2782/*---------------------------------------------------------------------------
2783 WDI_NvDownloadReqBlobInfo
2784---------------------------------------------------------------------------*/
2785
2786typedef struct
2787{
2788 /* Blob starting address*/
2789 void *pBlobAddress;
2790
2791 /* Blob size */
2792 wpt_uint32 uBlobSize;
2793
2794}WDI_NvDownloadReqBlobInfo;
2795
2796/*---------------------------------------------------------------------------
2797 WDI_NvDownloadReqParamsType
2798---------------------------------------------------------------------------*/
2799typedef struct
2800{
2801 /*NV Blob Info*/
2802 WDI_NvDownloadReqBlobInfo wdiBlobInfo;
2803
2804 /*Request status callback offered by UMAC - it is called if the current
2805 req has returned PENDING as status; it delivers the status of sending
2806 the message over the BUS */
2807 WDI_ReqStatusCb wdiReqStatusCB;
2808
2809 /*The user data passed in by UMAC, it will be sent back when the above
2810 function pointer will be called */
2811 void* pUserData;
2812
2813}WDI_NvDownloadReqParamsType;
2814
2815/*---------------------------------------------------------------------------
2816 WDI_NvDownloadRspInfoType
2817---------------------------------------------------------------------------*/
2818typedef struct
2819{
2820 /*Status of the response*/
2821 WDI_Status wdiStatus;
2822
2823}WDI_NvDownloadRspInfoType;
2824
2825/*---------------------------------------------------------------------------
2826 WDI_SetMaxTxPowerInfoType
2827---------------------------------------------------------------------------*/
2828
2829typedef struct
2830{
2831 /*BSSID is needed to identify which session issued this request. As the request has
2832 power constraints, this should be applied only to that session*/
2833 wpt_macAddr macBSSId;
2834
2835
2836 wpt_macAddr macSelfStaMacAddr;
2837
2838 /* In request power == MaxTxpower to be used.*/
2839 wpt_int8 ucPower;
2840
2841}WDI_SetMaxTxPowerInfoType;
2842
2843/*---------------------------------------------------------------------------
2844 WDI_SetMaxTxPowerParamsType
2845---------------------------------------------------------------------------*/
2846typedef struct
2847{
2848 /*Link Info*/
2849 WDI_SetMaxTxPowerInfoType wdiMaxTxPowerInfo;
2850
2851 /*Request status callback offered by UMAC - it is called if the current
2852 req has returned PENDING as status; it delivers the status of sending
2853 the message over the BUS */
2854 WDI_ReqStatusCb wdiReqStatusCB;
2855
2856 /*The user data passed in by UMAC, it will be sent back when the above
2857 function pointer will be called */
2858 void* pUserData;
2859}WDI_SetMaxTxPowerParamsType;
2860
2861
2862/*---------------------------------------------------------------------------
2863 WDI_SetMaxTxPowerRspMsg
2864---------------------------------------------------------------------------*/
2865
2866typedef struct
2867{
2868 /* In response, power==tx power used for management frames*/
2869 wpt_int8 ucPower;
2870
2871 /*Result of the operation*/
2872 WDI_Status wdiStatus;
2873
2874}WDI_SetMaxTxPowerRspMsg;
2875
2876#ifdef WLAN_FEATURE_P2P
2877typedef struct
2878{
2879 wpt_uint8 ucOpp_ps;
2880 wpt_uint32 uCtWindow;
2881 wpt_uint8 ucCount;
2882 wpt_uint32 uDuration;
2883 wpt_uint32 uInterval;
2884 wpt_uint32 uSingle_noa_duration;
2885 wpt_uint8 ucPsSelection;
2886}WDI_SetP2PGONOAReqInfoType;
2887
2888/*---------------------------------------------------------------------------
2889 WDI_SetP2PGONOAReqParamsType
2890---------------------------------------------------------------------------*/
2891typedef struct
2892{
2893 /*P2P GO NOA Req*/
2894 WDI_SetP2PGONOAReqInfoType wdiP2PGONOAInfo;
2895
2896 /*Request status callback offered by UMAC - it is called if the current
2897 req has returned PENDING as status; it delivers the status of sending
2898 the message over the BUS */
2899 WDI_ReqStatusCb wdiReqStatusCB;
2900
2901 /*The user data passed in by UMAC, it will be sent back when the above
2902 function pointer will be called */
2903 void* pUserData;
2904}WDI_SetP2PGONOAReqParamsType;
2905#endif
2906
2907
2908/*---------------------------------------------------------------------------
2909 WDI_SetAddSTASelfParamsType
2910---------------------------------------------------------------------------*/
2911typedef struct
2912{
2913 /*Self Station MAC address*/
2914 wpt_macAddr selfMacAddr;
2915
2916 /*Status of the operation*/
2917 wpt_uint32 uStatus;
2918}WDI_AddSTASelfInfoType;
2919
2920/*---------------------------------------------------------------------------
2921 WDI_SetAddSTASelfParamsType
2922---------------------------------------------------------------------------*/
2923typedef struct
2924{
2925 /* Add Sta Self Req */
2926 WDI_AddSTASelfInfoType wdiAddSTASelfInfo;
2927
2928 /*Request status callback offered by UMAC - it is called if the current
2929 req has returned PENDING as status; it delivers the status of sending
2930 the message over the BUS */
2931 WDI_ReqStatusCb wdiReqStatusCB;
2932
2933 /*The user data passed in by UMAC, it will be sent back when the above
2934 function pointer will be called */
2935 void* pUserData;
2936}WDI_AddSTASelfReqParamsType;
2937
2938
2939/*---------------------------------------------------------------------------
2940 WDI_AddSTASelfRspParamsType
2941---------------------------------------------------------------------------*/
2942typedef struct
2943{
2944 /*Status of the response*/
2945 WDI_Status wdiStatus;
2946
2947 /*STA Idx allocated by HAL*/
2948 wpt_uint8 ucSTASelfIdx;
2949
2950 /* DPU Index (IGTK, PTK, GTK all same) */
2951 wpt_uint8 dpuIdx;
2952
2953 /* DPU Signature */
2954 wpt_uint8 dpuSignature;
2955
2956 /*Self STA Mac*/
2957 wpt_macAddr macSelfSta;
2958
2959}WDI_AddSTASelfRspParamsType;
2960
2961/*---------------------------------------------------------------------------
2962 WDI_DelSTASelfReqParamsType
2963 Del Sta Self info passed to WDI form WDA
2964---------------------------------------------------------------------------*/
2965typedef struct
2966{
2967 wpt_macAddr selfMacAddr;
2968
2969}WDI_DelSTASelfInfoType;
2970
2971/*---------------------------------------------------------------------------
2972 WDI_DelSTASelfReqParamsType
2973 Del Sta Self info passed to WDI form WDA
2974---------------------------------------------------------------------------*/
2975typedef struct
2976{
2977 /*Del Sta Self Info Type */
2978 WDI_DelSTASelfInfoType wdiDelStaSelfInfo;
2979 /*Request status callback offered by UMAC - it is called if the current req
2980 has returned PENDING as status; it delivers the status of sending the message
2981 over the BUS */
2982 WDI_ReqStatusCb wdiReqStatusCB;
2983 /*The user data passed in by UMAC, it will be sent back when the above
2984 function pointer will be called */
2985 void* pUserData;
2986}WDI_DelSTASelfReqParamsType;
2987
2988/*---------------------------------------------------------------------------
2989 WDI_DelSTASelfRspParamsType
2990---------------------------------------------------------------------------*/
2991typedef struct
2992{
2993 /*Status of the response*/
2994 WDI_Status wdiStatus;
2995
2996 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
2997// wpt_uint8 ucSTAIdx;
2998}WDI_DelSTASelfRspParamsType;
2999
3000/*---------------------------------------------------------------------------
3001 WDI_UapsdInfoType
3002 UAPSD parameters passed per AC to WDA from UMAC
3003---------------------------------------------------------------------------*/
3004typedef struct
3005{
3006 wpt_uint8 ucSTAIdx; // STA index
3007 wpt_uint8 ucAc; // Access Category
3008 wpt_uint8 ucUp; // User Priority
3009 wpt_uint32 uSrvInterval; // Service Interval
3010 wpt_uint32 uSusInterval; // Suspend Interval
3011 wpt_uint32 uDelayInterval; // Delay Interval
3012} WDI_UapsdInfoType;
3013
3014/*---------------------------------------------------------------------------
3015 WDI_SetUapsdAcParamsReqParamsType
3016 UAPSD parameters passed per AC to WDI from WDA
3017---------------------------------------------------------------------------*/
3018typedef struct
3019{
3020 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3021 WDI_UapsdInfoType wdiUapsdInfo;
3022 /*Request status callback offered by UMAC - it is called if the current req
3023 has returned PENDING as status; it delivers the status of sending the message
3024 over the BUS */
3025 WDI_ReqStatusCb wdiReqStatusCB;
3026 /*The user data passed in by UMAC, it will be sent back when the above
3027 function pointer will be called */
3028 void* pUserData;
3029}WDI_SetUapsdAcParamsReqParamsType;
3030
3031/*---------------------------------------------------------------------------
3032 WDI_EnterBmpsReqinfoType
3033 Enter BMPS parameters passed to WDA from UMAC
3034---------------------------------------------------------------------------*/
3035typedef struct
3036{
3037 //TBTT value derived from the last beacon
3038 wpt_uint8 ucBssIdx;
3039 wpt_uint64 uTbtt;
3040 wpt_uint8 ucDtimCount;
3041 //DTIM period given to HAL during association may not be valid,
3042 //if association is based on ProbeRsp instead of beacon.
3043 wpt_uint8 ucDtimPeriod;
3044 /* DXE physical addr to be passed down to RIVA. RIVA HAL will use it to program
3045 DXE when DXE wakes up from power save*/
3046 unsigned int dxePhyAddr;
3047
3048 // For CCX and 11R Roaming
3049 wpt_uint32 rssiFilterPeriod;
3050 wpt_uint32 numBeaconPerRssiAverage;
3051 wpt_uint8 bRssiFilterEnable;
3052}WDI_EnterBmpsReqinfoType;
3053
3054/*---------------------------------------------------------------------------
3055 WDI_EnterBmpsReqParamsType
3056 Enter BMPS parameters passed to WDI from WDA
3057---------------------------------------------------------------------------*/
3058typedef struct
3059{
3060 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3061 WDI_EnterBmpsReqinfoType wdiEnterBmpsInfo;
3062 /*Request status callback offered by UMAC - it is called if the current req
3063 has returned PENDING as status; it delivers the status of sending the message
3064 over the BUS */
3065 WDI_ReqStatusCb wdiReqStatusCB;
3066 /*The user data passed in by UMAC, it will be sent back when the above
3067 function pointer will be called */
3068 void* pUserData;
3069}WDI_EnterBmpsReqParamsType;
3070
3071/*---------------------------------------------------------------------------
3072 WDI_ExitBmpsReqinfoType
3073 Exit BMPS parameters passed to WDA from UMAC
3074---------------------------------------------------------------------------*/
3075typedef struct
3076{
3077 wpt_uint8 ucSendDataNull;
Jeff Johnsone7245742012-09-05 17:12:55 -07003078 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003079}WDI_ExitBmpsReqinfoType;
3080
3081/*---------------------------------------------------------------------------
3082 WDI_ExitBmpsReqParamsType
3083 Exit BMPS parameters passed to WDI from WDA
3084---------------------------------------------------------------------------*/
3085typedef struct
3086{
3087 /*Exit BMPS Info Type, same as tExitBmpsParams */
3088 WDI_ExitBmpsReqinfoType wdiExitBmpsInfo;
3089 /*Request status callback offered by UMAC - it is called if the current req
3090 has returned PENDING as status; it delivers the status of sending the message
3091 over the BUS */
3092 WDI_ReqStatusCb wdiReqStatusCB;
3093 /*The user data passed in by UMAC, it will be sent back when the above
3094 function pointer will be called */
3095 void* pUserData;
3096}WDI_ExitBmpsReqParamsType;
3097
3098/*---------------------------------------------------------------------------
3099 WDI_EnterUapsdReqinfoType
3100 Enter UAPSD parameters passed to WDA from UMAC
3101---------------------------------------------------------------------------*/
3102typedef struct
3103{
3104 wpt_uint8 ucBkDeliveryEnabled:1;
3105 wpt_uint8 ucBeDeliveryEnabled:1;
3106 wpt_uint8 ucViDeliveryEnabled:1;
3107 wpt_uint8 ucVoDeliveryEnabled:1;
3108 wpt_uint8 ucBkTriggerEnabled:1;
3109 wpt_uint8 ucBeTriggerEnabled:1;
3110 wpt_uint8 ucViTriggerEnabled:1;
3111 wpt_uint8 ucVoTriggerEnabled:1;
Jeff Johnsone7245742012-09-05 17:12:55 -07003112 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003113}WDI_EnterUapsdReqinfoType;
3114
3115/*---------------------------------------------------------------------------
3116 WDI_EnterUapsdReqinfoType
3117 Enter UAPSD parameters passed to WDI from WDA
3118---------------------------------------------------------------------------*/
3119typedef struct
3120{
3121 /*Enter UAPSD Info Type, same as tUapsdParams */
3122 WDI_EnterUapsdReqinfoType wdiEnterUapsdInfo;
3123 /*Request status callback offered by UMAC - it is called if the current req
3124 has returned PENDING as status; it delivers the status of sending the message
3125 over the BUS */
3126 WDI_ReqStatusCb wdiReqStatusCB;
3127 /*The user data passed in by UMAC, it will be sent back when the above
3128 function pointer will be called */
3129 void* pUserData;
3130}WDI_EnterUapsdReqParamsType;
3131
3132/*---------------------------------------------------------------------------
3133 WDI_UpdateUapsdReqinfoType
3134 Update UAPSD parameters passed to WDA from UMAC
3135---------------------------------------------------------------------------*/
3136typedef struct
3137{
3138 wpt_uint8 ucSTAIdx;
3139 wpt_uint8 ucUapsdACMask;
3140 wpt_uint32 uMaxSpLen;
3141}WDI_UpdateUapsdReqinfoType;
3142
3143/*---------------------------------------------------------------------------
3144 WDI_UpdateUapsdReqParamsType
3145 Update UAPSD parameters passed to WDI form WDA
3146---------------------------------------------------------------------------*/
3147typedef struct
3148{
3149 /*Update UAPSD Info Type, same as tUpdateUapsdParams */
3150 WDI_UpdateUapsdReqinfoType wdiUpdateUapsdInfo;
3151 /*Request status callback offered by UMAC - it is called if the current req
3152 has returned PENDING as status; it delivers the status of sending the message
3153 over the BUS */
3154 WDI_ReqStatusCb wdiReqStatusCB;
3155 /*The user data passed in by UMAC, it will be sent back when the above
3156 function pointer will be called */
3157 void* pUserData;
3158}WDI_UpdateUapsdReqParamsType;
3159
3160/*---------------------------------------------------------------------------
3161 WDI_ConfigureRxpFilterReqParamsType
3162 RXP filter parameters passed to WDI form WDA
3163---------------------------------------------------------------------------*/
3164typedef struct
3165{
3166 /* Mode of Mcast and Bcast filters configured */
3167 wpt_uint8 ucSetMcstBcstFilterSetting;
3168
3169 /* Mcast Bcast Filters enable/disable*/
3170 wpt_uint8 ucSetMcstBcstFilter;
3171}WDI_RxpFilterReqParamsType;
3172
3173typedef struct
3174{
3175 /* Rxp Filter */
3176 WDI_RxpFilterReqParamsType wdiRxpFilterParam;
3177
3178 /*Request status callback offered by UMAC - it is called if the current req
3179 has returned PENDING as status; it delivers the status of sending the message
3180 over the BUS */
3181 WDI_ReqStatusCb wdiReqStatusCB;
3182 /*The user data passed in by UMAC, it will be sent back when the above
3183 function pointer will be called */
3184 void* pUserData;
3185}WDI_ConfigureRxpFilterReqParamsType;
3186
3187/*---------------------------------------------------------------------------
3188 WDI_BeaconFilterInfoType
3189 Beacon Filtering data structures passed to WDA form UMAC
3190---------------------------------------------------------------------------*/
3191typedef struct
3192{
3193 wpt_uint16 usCapabilityInfo;
3194 wpt_uint16 usCapabilityMask;
3195 wpt_uint16 usBeaconInterval;
3196 wpt_uint16 usIeNum;
3197}WDI_BeaconFilterInfoType;
3198
3199/*---------------------------------------------------------------------------
3200 WDI_BeaconFilterReqParamsType
3201 Beacon Filtering parameters passed to WDI form WDA
3202---------------------------------------------------------------------------*/
3203typedef struct
3204{
3205 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
3206 WDI_BeaconFilterInfoType wdiBeaconFilterInfo;
3207 /*Beacon Filter(s) follow the "usIeNum" field, hence the array to ease the
3208 copy of params from WDA to WDI */
3209 wpt_uint8 aFilters[WDI_BEACON_FILTER_LEN];
3210 /*Request status callback offered by UMAC - it is called if the current req
3211 has returned PENDING as status; it delivers the status of sending the message
3212 over the BUS */
3213 WDI_ReqStatusCb wdiReqStatusCB;
3214 /*The user data passed in by UMAC, it will be sent back when the above
3215 function pointer will be called */
3216 void* pUserData;
3217}WDI_BeaconFilterReqParamsType;
3218
3219/*---------------------------------------------------------------------------
3220 WDI_RemBeaconFilterInfoType
3221 Beacon Filtering data structures (to be reomoved) passed to WDA form UMAC
3222---------------------------------------------------------------------------*/
3223typedef struct
3224{
3225 wpt_uint8 ucIeCount;
3226 wpt_uint8 ucRemIeId[1];
3227}WDI_RemBeaconFilterInfoType;
3228
3229/*---------------------------------------------------------------------------
3230 WDI_RemBeaconFilterReqParamsType
3231 Beacon Filtering parameters (to be reomoved)passed to WDI form WDA
3232---------------------------------------------------------------------------*/
3233typedef struct
3234{
3235 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
3236 WDI_RemBeaconFilterInfoType wdiBeaconFilterInfo;
3237 /*Request status callback offered by UMAC - it is called if the current req
3238 has returned PENDING as status; it delivers the status of sending the message
3239 over the BUS */
3240 WDI_ReqStatusCb wdiReqStatusCB;
3241 /*The user data passed in by UMAC, it will be sent back when the above
3242 function pointer will be called */
3243 void* pUserData;
3244}WDI_RemBeaconFilterReqParamsType;
3245
3246/*---------------------------------------------------------------------------
3247 WDI_RSSIThresholdsType
3248 RSSI thresholds data structures (to be reomoved) passed to WDA form UMAC
3249---------------------------------------------------------------------------*/
3250typedef struct
3251{
3252 wpt_int8 ucRssiThreshold1 : 8;
3253 wpt_int8 ucRssiThreshold2 : 8;
3254 wpt_int8 ucRssiThreshold3 : 8;
3255 wpt_uint8 bRssiThres1PosNotify : 1;
3256 wpt_uint8 bRssiThres1NegNotify : 1;
3257 wpt_uint8 bRssiThres2PosNotify : 1;
3258 wpt_uint8 bRssiThres2NegNotify : 1;
3259 wpt_uint8 bRssiThres3PosNotify : 1;
3260 wpt_uint8 bRssiThres3NegNotify : 1;
3261 wpt_uint8 bReserved10 : 2;
3262} WDI_RSSIThresholdsType;
3263
3264/*---------------------------------------------------------------------------
3265 WDI_SetRSSIThresholdsReqParamsType
3266 RSSI thresholds parameters (to be reomoved)passed to WDI form WDA
3267---------------------------------------------------------------------------*/
3268typedef struct
3269{
3270 /*RSSI thresholds Info Type, same as WDI_RSSIThresholds */
3271 WDI_RSSIThresholdsType wdiRSSIThresholdsInfo;
3272 /*Request status callback offered by UMAC - it is called if the current req
3273 has returned PENDING as status; it delivers the status of sending the message
3274 over the BUS */
3275 WDI_ReqStatusCb wdiReqStatusCB;
3276 /*The user data passed in by UMAC, it will be sent back when the above
3277 function pointer will be called */
3278 void* pUserData;
3279}WDI_SetRSSIThresholdsReqParamsType;
3280
3281/*---------------------------------------------------------------------------
3282 WDI_HostOffloadReqType
3283 host offload info passed to WDA form UMAC
3284---------------------------------------------------------------------------*/
3285#ifdef WLAN_NS_OFFLOAD
3286typedef struct
3287{
3288 wpt_uint8 srcIPv6Addr[16];
3289 wpt_uint8 selfIPv6Addr[16];
3290 //Only support 2 possible Network Advertisement IPv6 address
3291 wpt_uint8 targetIPv6Addr1[16];
3292 wpt_uint8 targetIPv6Addr2[16];
3293 wpt_uint8 selfMacAddr[6];
3294 wpt_uint8 srcIPv6AddrValid : 1;
3295 wpt_uint8 targetIPv6Addr1Valid : 1;
3296 wpt_uint8 targetIPv6Addr2Valid : 1;
Jeff Johnsone7245742012-09-05 17:12:55 -07003297 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003298} WDI_NSOffloadParams;
3299#endif //WLAN_NS_OFFLOAD
3300
3301typedef struct
3302{
3303 wpt_uint8 ucOffloadType;
3304 wpt_uint8 ucEnableOrDisable;
Jeff Johnsone7245742012-09-05 17:12:55 -07003305 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003306 union
3307 {
3308 wpt_uint8 aHostIpv4Addr [4];
3309 wpt_uint8 aHostIpv6Addr [16];
3310 } params;
3311} WDI_HostOffloadReqType;
3312
3313/*---------------------------------------------------------------------------
3314 WDI_HostOffloadReqParamsType
3315 host offload info passed to WDI form WDA
3316---------------------------------------------------------------------------*/
3317typedef struct
3318{
3319 /*Host offload Info Type, same as tHalHostOffloadReq */
3320 WDI_HostOffloadReqType wdiHostOffloadInfo;
3321#ifdef WLAN_NS_OFFLOAD
3322 WDI_NSOffloadParams wdiNsOffloadParams;
3323#endif //WLAN_NS_OFFLOAD
3324 /*Request status callback offered by UMAC - it is called if the current req
3325 has returned PENDING as status; it delivers the status of sending the message
3326 over the BUS */
3327 WDI_ReqStatusCb wdiReqStatusCB;
3328 /*The user data passed in by UMAC, it will be sent back when the above
3329 function pointer will be called */
3330 void* pUserData;
3331}WDI_HostOffloadReqParamsType;
3332
3333/*---------------------------------------------------------------------------
3334 WDI_KeepAliveReqType
3335 Keep Alive info passed to WDA form UMAC
3336---------------------------------------------------------------------------*/
3337typedef struct
3338{
3339 wpt_uint8 ucPacketType;
3340 wpt_uint32 ucTimePeriod;
3341 wpt_uint8 aHostIpv4Addr[4];
3342 wpt_uint8 aDestIpv4Addr[4];
3343 wpt_uint8 aDestMacAddr[6];
Jeff Johnsone7245742012-09-05 17:12:55 -07003344 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003345} WDI_KeepAliveReqType;
3346
3347/*---------------------------------------------------------------------------
3348 WDI_KeepAliveReqParamsType
3349 Keep Alive passed to WDI form WDA
3350---------------------------------------------------------------------------*/
3351typedef struct
3352{
3353 /* Keep Alive Info Type, same as tHalKeepAliveReq */
3354 WDI_KeepAliveReqType wdiKeepAliveInfo;
3355 /*Request status callback offered by UMAC - it is called if the current req
3356 has returned PENDING as status; it delivers the status of sending the message
3357 over the BUS */
3358 WDI_ReqStatusCb wdiReqStatusCB;
3359 /*The user data passed in by UMAC, it will be sent back when the above
3360 function pointer will be called */
3361 void* pUserData;
3362}WDI_KeepAliveReqParamsType;
3363
3364/*---------------------------------------------------------------------------
3365 WDI_WowlAddBcPtrnInfoType
3366 Wowl add ptrn info passed to WDA form UMAC
3367---------------------------------------------------------------------------*/
3368typedef struct
3369{
3370 wpt_uint8 ucPatternId; // Pattern ID
3371 // Pattern byte offset from beginning of the 802.11 packet to start of the
3372 // wake-up pattern
3373 wpt_uint8 ucPatternByteOffset;
3374 wpt_uint8 ucPatternSize; // Non-Zero Pattern size
3375 wpt_uint8 ucPattern[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern
3376 wpt_uint8 ucPatternMaskSize; // Non-zero pattern mask size
3377 wpt_uint8 ucPatternMask[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern mask
3378 wpt_uint8 ucPatternExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern
3379 wpt_uint8 ucPatternMaskExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern mask
Jeff Johnsone7245742012-09-05 17:12:55 -07003380 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003381} WDI_WowlAddBcPtrnInfoType;
3382
3383/*---------------------------------------------------------------------------
3384 WDI_WowlAddBcPtrnReqParamsType
3385 Wowl add ptrn info passed to WDI form WDA
3386---------------------------------------------------------------------------*/
3387typedef struct
3388{
3389 /*Wowl add ptrn Info Type, same as tpSirWowlAddBcastPtrn */
3390 WDI_WowlAddBcPtrnInfoType wdiWowlAddBcPtrnInfo;
3391 /*Request status callback offered by UMAC - it is called if the current req
3392 has returned PENDING as status; it delivers the status of sending the message
3393 over the BUS */
3394 WDI_ReqStatusCb wdiReqStatusCB;
3395 /*The user data passed in by UMAC, it will be sent back when the above
3396 function pointer will be called */
3397 void* pUserData;
3398}WDI_WowlAddBcPtrnReqParamsType;
3399
3400/*---------------------------------------------------------------------------
3401 WDI_WowlDelBcPtrnInfoType
3402 Wowl add ptrn info passed to WDA form UMAC
3403---------------------------------------------------------------------------*/
3404typedef struct
3405{
3406 /* Pattern ID of the wakeup pattern to be deleted */
3407 wpt_uint8 ucPatternId;
3408} WDI_WowlDelBcPtrnInfoType;
3409
3410/*---------------------------------------------------------------------------
3411 WDI_WowlDelBcPtrnReqParamsType
3412 Wowl add ptrn info passed to WDI form WDA
3413---------------------------------------------------------------------------*/
3414typedef struct
3415{
3416 /*Wowl delete ptrn Info Type, same as WDI_WowlDelBcastPtrn */
3417 WDI_WowlDelBcPtrnInfoType wdiWowlDelBcPtrnInfo;
3418 /*Request status callback offered by UMAC - it is called if the current req
3419 has returned PENDING as status; it delivers the status of sending the message
3420 over the BUS */
3421 WDI_ReqStatusCb wdiReqStatusCB;
3422 /*The user data passed in by UMAC, it will be sent back when the above
3423 function pointer will be called */
3424 void* pUserData;
3425}WDI_WowlDelBcPtrnReqParamsType;
3426
3427/*---------------------------------------------------------------------------
3428 WDI_WowlEnterInfoType
3429 Wowl enter info passed to WDA form UMAC
3430---------------------------------------------------------------------------*/
3431typedef struct
3432{
3433 /* Enables/disables magic packet filtering */
3434 wpt_uint8 ucMagicPktEnable;
3435
3436 /* Magic pattern */
3437 wpt_macAddr magicPtrn;
3438
3439 /* Enables/disables packet pattern filtering in firmware.
3440 Enabling this flag enables broadcast pattern matching
3441 in Firmware. If unicast pattern matching is also desired,
3442 ucUcastPatternFilteringEnable flag must be set tot true
3443 as well
3444 */
3445 wpt_uint8 ucPatternFilteringEnable;
3446
3447 /* Enables/disables unicast packet pattern filtering.
3448 This flag specifies whether we want to do pattern match
3449 on unicast packets as well and not just broadcast packets.
3450 This flag has no effect if the ucPatternFilteringEnable
3451 (main controlling flag) is set to false
3452 */
3453 wpt_uint8 ucUcastPatternFilteringEnable;
3454
3455 /* This configuration is valid only when magicPktEnable=1.
3456 * It requests hardware to wake up when it receives the
3457 * Channel Switch Action Frame.
3458 */
3459 wpt_uint8 ucWowChnlSwitchRcv;
3460
3461 /* This configuration is valid only when magicPktEnable=1.
3462 * It requests hardware to wake up when it receives the
3463 * Deauthentication Frame.
3464 */
3465 wpt_uint8 ucWowDeauthRcv;
3466
3467 /* This configuration is valid only when magicPktEnable=1.
3468 * It requests hardware to wake up when it receives the
3469 * Disassociation Frame.
3470 */
3471 wpt_uint8 ucWowDisassocRcv;
3472
3473 /* This configuration is valid only when magicPktEnable=1.
3474 * It requests hardware to wake up when it has missed
3475 * consecutive beacons. This is a hardware register
3476 * configuration (NOT a firmware configuration).
3477 */
3478 wpt_uint8 ucWowMaxMissedBeacons;
3479
3480 /* This configuration is valid only when magicPktEnable=1.
3481 * This is a timeout value in units of microsec. It requests
3482 * hardware to unconditionally wake up after it has stayed
3483 * in WoWLAN mode for some time. Set 0 to disable this feature.
3484 */
3485 wpt_uint8 ucWowMaxSleepUsec;
3486
3487#ifdef WLAN_WAKEUP_EVENTS
3488 /* This configuration directs the WoW packet filtering to look for EAP-ID
3489 * requests embedded in EAPOL frames and use this as a wake source.
3490 */
3491 wpt_uint8 ucWoWEAPIDRequestEnable;
3492
3493 /* This configuration directs the WoW packet filtering to look for EAPOL-4WAY
3494 * requests and use this as a wake source.
3495 */
3496 wpt_uint8 ucWoWEAPOL4WayEnable;
3497
3498 /* This configuration allows a host wakeup on an network scan offload match.
3499 */
3500 wpt_uint8 ucWowNetScanOffloadMatch;
3501
3502 /* This configuration allows a host wakeup on any GTK rekeying error.
3503 */
3504 wpt_uint8 ucWowGTKRekeyError;
3505
3506 /* This configuration allows a host wakeup on BSS connection loss.
3507 */
3508 wpt_uint8 ucWoWBSSConnLoss;
3509#endif // WLAN_WAKEUP_EVENTS
3510} WDI_WowlEnterInfoType;
3511
3512/*---------------------------------------------------------------------------
3513 WDI_WowlEnterReqParamsType
3514 Wowl enter info passed to WDI form WDA
3515---------------------------------------------------------------------------*/
3516typedef struct
3517{
3518 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
3519 WDI_WowlEnterInfoType wdiWowlEnterInfo;
3520 /*Request status callback offered by UMAC - it is called if the current req
3521 has returned PENDING as status; it delivers the status of sending the message
3522 over the BUS */
3523 WDI_ReqStatusCb wdiReqStatusCB;
3524 /*The user data passed in by UMAC, it will be sent back when the above
3525 function pointer will be called */
3526 void* pUserData;
3527}WDI_WowlEnterReqParamsType;
3528
3529/*---------------------------------------------------------------------------
3530 WDI_ConfigureAppsCpuWakeupStateReqParamsType
3531 Apps Cpu Wakeup State parameters passed to WDI form WDA
3532---------------------------------------------------------------------------*/
3533typedef struct
3534{
3535 /*Depicts the state of the Apps CPU */
3536 wpt_boolean bIsAppsAwake;
3537 /*Request status callback offered by UMAC - it is called if the current req
3538 has returned PENDING as status; it delivers the status of sending the message
3539 over the BUS */
3540 WDI_ReqStatusCb wdiReqStatusCB;
3541 /*The user data passed in by UMAC, it will be sent back when the above
3542 function pointer will be called */
3543 void* pUserData;
3544}WDI_ConfigureAppsCpuWakeupStateReqParamsType;
3545/*---------------------------------------------------------------------------
3546 WDI_FlushAcReqinfoType
3547---------------------------------------------------------------------------*/
3548typedef struct
3549{
3550 // Message Type
3551 wpt_uint16 usMesgType;
3552
3553 // Message Length
3554 wpt_uint16 usMesgLen;
3555
3556 // Station Index. originates from HAL
3557 wpt_uint8 ucSTAId;
3558
3559 // TID for which the transmit queue is being flushed
3560 wpt_uint8 ucTid;
3561
3562}WDI_FlushAcReqinfoType;
3563
3564/*---------------------------------------------------------------------------
3565 WDI_FlushAcReqParamsType
3566---------------------------------------------------------------------------*/
3567typedef struct
3568{
3569 /*AC Info */
3570 WDI_FlushAcReqinfoType wdiFlushAcInfo;
3571
3572 /*Request status callback offered by UMAC - it is called if the current
3573 req has returned PENDING as status; it delivers the status of sending
3574 the message over the BUS */
3575 WDI_ReqStatusCb wdiReqStatusCB;
3576
3577 /*The user data passed in by UMAC, it will be sent back when the above
3578 function pointer will be called */
3579 void* pUserData;
3580}WDI_FlushAcReqParamsType;
3581
3582/*---------------------------------------------------------------------------
3583 WDI_BtAmpEventinfoType
3584 BT-AMP Event Structure
3585---------------------------------------------------------------------------*/
3586typedef struct
3587{
3588 wpt_uint8 ucBtAmpEventType;
3589
3590} WDI_BtAmpEventinfoType;
3591
3592/*---------------------------------------------------------------------------
3593 WDI_BtAmpEventParamsType
3594---------------------------------------------------------------------------*/
3595typedef struct
3596{
3597 /*BT AMP event Info */
3598 WDI_BtAmpEventinfoType wdiBtAmpEventInfo;
3599
3600 /*Request status callback offered by UMAC - it is called if the current
3601 req has returned PENDING as status; it delivers the status of sending
3602 the message over the BUS */
3603 WDI_ReqStatusCb wdiReqStatusCB;
3604
3605 /*The user data passed in by UMAC, it will be sent back when the above
3606 function pointer will be called */
3607 void* pUserData;
3608}WDI_BtAmpEventParamsType;
3609
Jeff Johnsone7245742012-09-05 17:12:55 -07003610#ifdef FEATURE_OEM_DATA_SUPPORT
3611
3612#ifndef OEM_DATA_REQ_SIZE
3613#define OEM_DATA_REQ_SIZE 70
3614#endif
3615#ifndef OEM_DATA_RSP_SIZE
3616#define OEM_DATA_RSP_SIZE 968
3617#endif
3618
3619/*----------------------------------------------------------------------------
3620 WDI_oemDataReqInfoType
3621----------------------------------------------------------------------------*/
3622typedef struct
3623{
3624 wpt_macAddr selfMacAddr;
3625 wpt_uint8 oemDataReq[OEM_DATA_REQ_SIZE];
3626}WDI_oemDataReqInfoType;
3627
3628/*----------------------------------------------------------------------------
3629 WDI_oemDataReqParamsType
3630----------------------------------------------------------------------------*/
3631typedef struct
3632{
3633 /*Request status callback offered by UMAC - it is called if the current
3634 req has returned PENDING as status; it delivers the status of sending
3635 the message over the BUS */
3636 WDI_ReqStatusCb wdiReqStatusCB;
3637
3638 /*The user data passed in by UMAC, it will be sent back when the above
3639 function pointer will be called */
3640 void* pUserData;
3641
3642 /*OEM DATA REQ Info */
3643 WDI_oemDataReqInfoType wdiOemDataReqInfo;
3644
3645}WDI_oemDataReqParamsType;
3646
3647/*----------------------------------------------------------------------------
3648 WDI_oemDataRspParamsType
3649----------------------------------------------------------------------------*/
3650typedef struct
3651{
3652 wpt_uint8 oemDataRsp[OEM_DATA_RSP_SIZE];
3653}WDI_oemDataRspParamsType;
3654
3655#endif /* FEATURE_OEM_DATA_SUPPORT */
Jeff Johnson295189b2012-06-20 16:38:30 -07003656
3657#ifdef WLAN_FEATURE_VOWIFI_11R
3658/*---------------------------------------------------------------------------
3659 WDI_AggrAddTSReqInfoType
3660---------------------------------------------------------------------------*/
3661typedef struct
3662{
3663 /*STA Index*/
3664 wpt_uint8 ucSTAIdx;
3665
3666 /*Identifier for TSpec*/
3667 wpt_uint8 ucTspecIdx;
3668
3669 /*Tspec IE negotiated OTA*/
3670 WDI_TspecIEType wdiTspecIE[WDI_MAX_NO_AC];
3671
3672 /*UAPSD delivery and trigger enabled flags */
3673 wpt_uint8 ucUapsdFlags;
3674
3675 /*SI for each AC*/
3676 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
3677
3678 /*Suspend Interval for each AC*/
3679 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
3680
3681 /*DI for each AC*/
3682 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
3683
3684}WDI_AggrAddTSReqInfoType;
3685
3686
3687/*---------------------------------------------------------------------------
3688 WDI_AggrAddTSReqParamsType
3689---------------------------------------------------------------------------*/
3690typedef struct
3691{
3692 /*TSpec Info */
3693 WDI_AggrAddTSReqInfoType wdiAggrTsInfo;
3694
3695 /*Request status callback offered by UMAC - it is called if the current
3696 req has returned PENDING as status; it delivers the status of sending
3697 the message over the BUS */
3698 WDI_ReqStatusCb wdiReqStatusCB;
3699
3700 /*The user data passed in by UMAC, it will be sent back when the above
3701 function pointer will be called */
3702 void* pUserData;
3703}WDI_AggrAddTSReqParamsType;
3704
3705#endif /* WLAN_FEATURE_VOWIFI_11R */
3706
3707#ifdef ANI_MANF_DIAG
3708/*---------------------------------------------------------------------------
3709 WDI_FTMCommandReqType
3710---------------------------------------------------------------------------*/
3711typedef struct
3712{
3713 /* FTM Command Body length */
3714 wpt_uint32 bodyLength;
3715 /* Actual FTM Command body */
3716 void *FTMCommandBody;
3717}WDI_FTMCommandReqType;
3718#endif /* ANI_MANF_DIAG */
3719
3720/*---------------------------------------------------------------------------
3721 WDI_WlanSuspendInfoType
3722---------------------------------------------------------------------------*/
3723typedef struct
3724{
3725 /* Mode of Mcast and Bcast filters configured */
3726 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
3727}WDI_WlanSuspendInfoType;
3728
3729/*---------------------------------------------------------------------------
3730 WDI_SuspendParamsType
3731---------------------------------------------------------------------------*/
3732typedef struct
3733{
3734 WDI_WlanSuspendInfoType wdiSuspendParams;
3735
3736 /*Request status callback offered by UMAC - it is called if the current
3737 req has returned PENDING as status; it delivers the status of sending
3738 the message over the BUS */
3739 WDI_ReqStatusCb wdiReqStatusCB;
3740
3741 /*The user data passed in by UMAC, it will be sent back when the above
3742 function pointer will be called */
3743 void* pUserData;
3744
3745}WDI_SuspendParamsType;
3746
3747/*---------------------------------------------------------------------------
3748 WDI_WlanResumeInfoType
3749---------------------------------------------------------------------------*/
3750typedef struct
3751{
3752 /* Mode of Mcast and Bcast filters configured */
3753 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
3754}WDI_WlanResumeInfoType;
3755
3756/*---------------------------------------------------------------------------
3757 WDI_ResumeParamsType
3758---------------------------------------------------------------------------*/
3759typedef struct
3760{
3761 WDI_WlanResumeInfoType wdiResumeParams;
3762
3763 /*Request status callback offered by UMAC - it is called if the current
3764 req has returned PENDING as status; it delivers the status of sending
3765 the message over the BUS */
3766 WDI_ReqStatusCb wdiReqStatusCB;
3767
3768 /*The user data passed in by UMAC, it will be sent back when the above
3769 function pointer will be called */
3770 void* pUserData;
3771
3772}WDI_ResumeParamsType;
3773
3774#ifdef WLAN_FEATURE_GTK_OFFLOAD
3775/*---------------------------------------------------------------------------
3776 * WDI_GTK_OFFLOAD_REQ
3777 *--------------------------------------------------------------------------*/
3778
3779typedef struct
3780{
3781 wpt_uint32 ulFlags; /* optional flags */
3782 wpt_uint8 aKCK[16]; /* Key confirmation key */
3783 wpt_uint8 aKEK[16]; /* key encryption key */
3784 wpt_uint64 ullKeyReplayCounter; /* replay counter */
3785} WDI_GtkOffloadReqParams;
3786
3787typedef struct
3788{
3789 WDI_GtkOffloadReqParams gtkOffloadReqParams;
3790
3791 /*Request status callback offered by UMAC - it is called if the current
3792 req has returned PENDING as status; it delivers the status of sending
3793 the message over the BUS */
3794 WDI_ReqStatusCb wdiReqStatusCB;
3795
3796 /*The user data passed in by UMAC, it will be sent back when the above
3797 function pointer will be called */
3798 void* pUserData;
3799} WDI_GtkOffloadReqMsg;
3800
3801/*---------------------------------------------------------------------------
3802 * WDI_GTK_OFFLOAD_RSP
3803 *--------------------------------------------------------------------------*/
3804typedef struct
3805{
3806 /* success or failure */
3807 wpt_uint32 ulStatus;
3808} WDI_GtkOffloadRspParams;
3809
3810typedef struct
3811{
3812 WDI_GtkOffloadRspParams gtkOffloadRspParams;
3813
3814 /*Request status callback offered by UMAC - it is called if the current
3815 req has returned PENDING as status; it delivers the status of sending
3816 the message over the BUS */
3817 WDI_ReqStatusCb wdiReqStatusCB;
3818
3819 /*The user data passed in by UMAC, it will be sent back when the above
3820 function pointer will be called */
3821 void* pUserData;
3822} WDI_GtkOffloadRspMsg;
3823
3824
3825/*---------------------------------------------------------------------------
3826* WDI_GTK_OFFLOAD_GETINFO_REQ
3827*--------------------------------------------------------------------------*/
3828
3829typedef struct
3830{
3831 /*Request status callback offered by UMAC - it is called if the current
3832 req has returned PENDING as status; it delivers the status of sending
3833 the message over the BUS */
3834 WDI_ReqStatusCb wdiReqStatusCB;
3835
3836 /*The user data passed in by UMAC, it will be sent back when the above
3837 function pointer will be called */
3838 void* pUserData;
3839} WDI_GtkOffloadGetInfoReqMsg;
3840
3841/*---------------------------------------------------------------------------
3842* WDI_GTK_OFFLOAD_GETINFO_RSP
3843*--------------------------------------------------------------------------*/
3844typedef struct
3845{
3846 wpt_uint32 ulStatus; /* success or failure */
3847 wpt_uint64 ullKeyReplayCounter; /* current replay counter value */
3848 wpt_uint32 ulTotalRekeyCount; /* total rekey attempts */
3849 wpt_uint32 ulGTKRekeyCount; /* successful GTK rekeys */
3850 wpt_uint32 ulIGTKRekeyCount; /* successful iGTK rekeys */
3851} WDI_GtkOffloadGetInfoRspParams;
3852
3853typedef struct
3854{
3855 WDI_GtkOffloadGetInfoRspParams gtkOffloadGetInfoRspParams;
3856
3857 /*Request status callback offered by UMAC - it is called if the current
3858 req has returned PENDING as status; it delivers the status of sending
3859 the message over the BUS */
3860 WDI_ReqStatusCb wdiReqStatusCB;
3861
3862 /*The user data passed in by UMAC, it will be sent back when the above
3863 function pointer will be called */
3864 void* pUserData;
3865} WDI_GtkOffloadGetInfoRspMsg;
3866#endif // WLAN_FEATURE_GTK_OFFLOAD
3867
3868/*---------------------------------------------------------------------------
3869 WDI_SuspendResumeRspParamsType
3870---------------------------------------------------------------------------*/
3871typedef struct
3872{
3873 /*Status of the response*/
3874 WDI_Status wdiStatus;
3875}WDI_SuspendResumeRspParamsType;
3876
3877
3878#ifdef FEATURE_WLAN_SCAN_PNO
3879
3880/*Max number of channels for a given network supported by PNO*/
3881#define WDI_PNO_MAX_NETW_CHANNELS 26
3882
3883/*The max number of programable networks for PNO*/
3884#define WDI_PNO_MAX_SUPP_NETWORKS 16
3885
3886/*The max number of scan timers programable in Riva*/
3887#define WDI_PNO_MAX_SCAN_TIMERS 10
3888
3889#define WDI_PNO_MAX_PROBE_SIZE 450
3890
3891
3892/*---------------------------------------------------------------------------
3893 WDI_AuthType
3894---------------------------------------------------------------------------*/
3895typedef enum
3896{
3897 WDI_AUTH_TYPE_ANY = 0,
3898
3899 WDI_AUTH_TYPE_NONE,
3900 WDI_AUTH_TYPE_OPEN_SYSTEM,
3901 WDI_AUTH_TYPE_SHARED_KEY,
3902
3903 WDI_AUTH_TYPE_WPA,
3904 WDI_AUTH_TYPE_WPA_PSK,
3905 WDI_AUTH_TYPE_WPA_NONE,
3906
3907 WDI_AUTH_TYPE_RSN,
3908 WDI_AUTH_TYPE_RSN_PSK,
3909 WDI_AUTH_TYPE_FT_RSN,
3910 WDI_AUTH_TYPE_FT_RSN_PSK,
3911 WDI_AUTH_TYPE_WAPI_WAI_CERTIFICATE,
3912 WDI_AUTH_TYPE_WAPI_WAI_PSK,
3913 WDI_AUTH_TYPE_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
3914
3915}WDI_AuthType;
3916
3917/*---------------------------------------------------------------------------
3918 WDI_EdType
3919---------------------------------------------------------------------------*/
3920typedef enum
3921{
3922 WDI_ED_ANY = 0,
3923 WDI_ED_NONE,
3924 WDI_ED_WEP40,
3925 WDI_ED_WEP104,
3926 WDI_ED_TKIP,
3927 WDI_ED_CCMP,
3928 WDI_ED_WPI,
3929 WDI_ED_AES_128_CMAC,
3930 WDI_ED_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
3931} WDI_EdType;
3932
3933
3934/*---------------------------------------------------------------------------
3935 WDI_PNOMode
3936---------------------------------------------------------------------------*/
3937typedef enum
3938{
3939 /*Network offload is to start immediately*/
3940 WDI_PNO_MODE_IMMEDIATE,
3941
3942 /*Network offload is to start on host suspend*/
3943 WDI_PNO_MODE_ON_SUSPEND,
3944
3945 /*Network offload is to start on host resume*/
3946 WDI_PNO_MODE_ON_RESUME,
3947 WDI_PNO_MODE_MAX = 0xFFFFFFFF
3948} WDI_PNOMode;
3949
3950/* SSID broadcast type */
3951typedef enum
3952{
3953 WDI_BCAST_UNKNOWN = 0,
3954 WDI_BCAST_NORMAL = 1,
3955 WDI_BCAST_HIDDEN = 2,
3956
3957 WDI_BCAST_TYPE_MAX = 0xFFFFFFFF
3958} WDI_SSIDBcastType;
3959
3960/*---------------------------------------------------------------------------
3961 WDI_NetworkType
3962---------------------------------------------------------------------------*/
3963typedef struct
3964{
3965 /*The SSID of the preferred network*/
3966 WDI_MacSSid ssId;
3967
3968 /*The authentication method of the preferred network*/
3969 WDI_AuthType wdiAuth;
3970
3971 /*The encryption method of the preferred network*/
3972 WDI_EdType wdiEncryption;
3973
3974 /*SSID broadcast type, normal, hidden or unknown*/
3975 WDI_SSIDBcastType wdiBcastNetworkType;
3976
3977 /*channel count - 0 for all channels*/
3978 wpt_uint8 ucChannelCount;
3979
3980 /*the actual channels*/
3981 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS];
3982
3983 /*rssi threshold that a network must meet to be considered, 0 - for any*/
3984 wpt_uint8 rssiThreshold;
3985} WDI_NetworkType;
3986
3987
3988/*---------------------------------------------------------------------------
3989 WDI_ScanTimer
3990---------------------------------------------------------------------------*/
3991typedef struct
3992{
3993 /*The timer value*/
3994 wpt_uint32 uTimerValue;
3995
3996 /*The amount of time we should be repeating the interval*/
3997 wpt_uint32 uTimerRepeat;
3998} WDI_ScanTimer;
3999
4000/*---------------------------------------------------------------------------
4001 WDI_ScanTimersType
4002---------------------------------------------------------------------------*/
4003typedef struct
4004{
4005 /*The number of value pair intervals present in the array*/
4006 wpt_uint8 ucScanTimersCount;
4007
4008 /*The time-repeat value pairs*/
4009 WDI_ScanTimer aTimerValues[WDI_PNO_MAX_SCAN_TIMERS];
4010} WDI_ScanTimersType;
4011
4012/*---------------------------------------------------------------------------
4013 WDI_PNOScanReqType
4014---------------------------------------------------------------------------*/
4015typedef struct
4016{
4017 /*Enable or disable PNO feature*/
4018 wpt_uint8 bEnable;
4019
4020 /*PNO mode requested*/
4021 WDI_PNOMode wdiModePNO;
4022
4023 /*Network count*/
4024 wpt_uint8 ucNetworksCount;
4025
4026 /*The networks to look for*/
4027 WDI_NetworkType aNetworks[WDI_PNO_MAX_SUPP_NETWORKS];
4028
4029 /*Scan timer intervals*/
4030 WDI_ScanTimersType scanTimers;
4031
4032 /*Probe template for 2.4GHz band*/
4033 wpt_uint16 us24GProbeSize;
4034 wpt_uint8 a24GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
4035
4036 /*Probe template for 5GHz band*/
4037 wpt_uint16 us5GProbeSize;
4038 wpt_uint8 a5GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
4039} WDI_PNOScanReqType;
4040
4041/*---------------------------------------------------------------------------
4042 WDI_PNOScanReqParamsType
4043 PNO info passed to WDI form WDA
4044---------------------------------------------------------------------------*/
4045typedef struct
4046{
4047 /* PNO Info Type, same as tPrefNetwListParams */
4048 WDI_PNOScanReqType wdiPNOScanInfo;
4049 /* Request status callback offered by UMAC - it is called if the current req
4050 has returned PENDING as status; it delivers the status of sending the message
4051 over the BUS */
4052 WDI_ReqStatusCb wdiReqStatusCB;
4053 /* The user data passed in by UMAC, it will be sent back when the above
4054 function pointer will be called */
4055 void* pUserData;
4056} WDI_PNOScanReqParamsType;
4057
4058/*---------------------------------------------------------------------------
4059 WDI_SetRssiFilterReqParamsType
4060 PNO info passed to WDI form WDA
4061---------------------------------------------------------------------------*/
4062typedef struct
4063{
4064 /* RSSI Threshold */
4065 wpt_uint8 rssiThreshold;
4066 /* Request status callback offered by UMAC - it is called if the current req
4067 has returned PENDING as status; it delivers the status of sending the message
4068 over the BUS */
4069 WDI_ReqStatusCb wdiReqStatusCB;
4070 /* The user data passed in by UMAC, it will be sent back when the above
4071 function pointer will be called */
4072 void* pUserData;
4073} WDI_SetRssiFilterReqParamsType;
4074
4075/*---------------------------------------------------------------------------
4076 WDI_UpdateScanParamsInfo
4077---------------------------------------------------------------------------*/
4078typedef struct
4079{
4080 /*Is 11d enabled*/
4081 wpt_uint8 b11dEnabled;
4082
4083 /*Was UMAc able to find the regulatory domain*/
4084 wpt_uint8 b11dResolved;
4085
4086 /*Number of channel allowed in the regulatory domain*/
4087 wpt_uint8 ucChannelCount;
4088
4089 /*The actual channels allowed in the regulatory domain*/
4090 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS];
4091
4092 /*Passive min channel time*/
4093 wpt_uint16 usPassiveMinChTime;
4094
4095 /*Passive max channel time*/
4096 wpt_uint16 usPassiveMaxChTime;
4097
4098 /*Active min channel time*/
4099 wpt_uint16 usActiveMinChTime;
4100
4101 /*Active max channel time*/
4102 wpt_uint16 usActiveMaxChTime;
4103
4104 /*channel bonding info*/
4105 wpt_uint8 cbState;
4106} WDI_UpdateScanParamsInfo;
4107
4108/*---------------------------------------------------------------------------
4109 WDI_UpdateScanParamsInfoType
4110 UpdateScanParams info passed to WDI form WDA
4111---------------------------------------------------------------------------*/
4112typedef struct
4113{
4114 /* PNO Info Type, same as tUpdateScanParams */
4115 WDI_UpdateScanParamsInfo wdiUpdateScanParamsInfo;
4116 /* Request status callback offered by UMAC - it is called if the current req
4117 has returned PENDING as status; it delivers the status of sending the message
4118 over the BUS */
4119 WDI_ReqStatusCb wdiReqStatusCB;
4120 /* The user data passed in by UMAC, it will be sent back when the above
4121 function pointer will be called */
4122 void* pUserData;
4123} WDI_UpdateScanParamsInfoType;
4124#endif // FEATURE_WLAN_SCAN_PNO
4125
4126/*---------------------------------------------------------------------------
4127 WDI_UpdateScanParamsInfo
4128---------------------------------------------------------------------------*/
4129typedef struct
4130{
4131 /* Ignore DTIM */
4132 wpt_uint32 uIgnoreDTIM;
4133
4134 /*DTIM Period*/
4135 wpt_uint32 uDTIMPeriod;
4136
4137 /* Listen Interval */
4138 wpt_uint32 uListenInterval;
4139
4140 /* Broadcast Multicas Filter */
4141 wpt_uint32 uBcastMcastFilter;
4142
4143 /* Beacon Early Termination */
4144 wpt_uint32 uEnableBET;
4145
4146 /* Beacon Early Termination Interval */
4147 wpt_uint32 uBETInterval;
4148
4149} WDI_SetPowerParamsInfo;
4150
4151/*---------------------------------------------------------------------------
4152 WDI_UpdateScanParamsInfoType
4153 UpdateScanParams info passed to WDI form WDA
4154---------------------------------------------------------------------------*/
4155typedef struct
4156{
4157 /* Power params Info Type, same as tSetPowerParamsReq */
4158 WDI_SetPowerParamsInfo wdiSetPowerParamsInfo;
4159 /* Request status callback offered by UMAC - it is called if the current req
4160 has returned PENDING as status; it delivers the status of sending the message
4161 over the BUS */
4162 WDI_ReqStatusCb wdiReqStatusCB;
4163 /* The user data passed in by UMAC, it will be sent back when the above
4164 function pointer will be called */
4165 void* pUserData;
4166}WDI_SetPowerParamsReqParamsType;
4167
4168/*---------------------------------------------------------------------------
4169 WDI_SetTxPerTrackingConfType
4170 Wowl add ptrn info passed to WDA form UMAC
4171---------------------------------------------------------------------------*/
4172typedef struct
4173{
4174 wpt_uint8 ucTxPerTrackingEnable; /* 0: disable, 1:enable */
4175 wpt_uint8 ucTxPerTrackingPeriod; /* Check period, unit is sec. */
4176 wpt_uint8 ucTxPerTrackingRatio; /* (Fail TX packet)/(Total TX packet) ratio, the unit is 10%. */
4177 wpt_uint32 uTxPerTrackingWatermark; /* A watermark of check number, once the tx packet exceed this number, we do the check, default is 5 */
4178} WDI_TxPerTrackingParamType;
4179
4180/*---------------------------------------------------------------------------
4181 WDI_SetTxPerTrackingReqParamsType
4182 Tx PER Tracking parameters passed to WDI from WDA
4183---------------------------------------------------------------------------*/
4184typedef struct
4185{
4186 /* Configurations for Tx PER Tracking */
4187 WDI_TxPerTrackingParamType wdiTxPerTrackingParam;
4188 /*Request status callback offered by UMAC - it is called if the current req
4189 has returned PENDING as status; it delivers the status of sending the message
4190 over the BUS */
4191 WDI_ReqStatusCb wdiReqStatusCB;
4192 /*The user data passed in by UMAC, it will be sent back when the above
4193 function pointer will be called */
4194 void* pUserData;
4195}WDI_SetTxPerTrackingReqParamsType;
4196
4197#ifdef WLAN_FEATURE_PACKET_FILTERING
4198/*---------------------------------------------------------------------------
4199 Packet Filtering Parameters
4200---------------------------------------------------------------------------*/
4201
4202#define WDI_IPV4_ADDR_LEN 4
4203#define WDI_MAC_ADDR_LEN 6
4204#define WDI_MAX_FILTER_TEST_DATA_LEN 8
4205#define WDI_MAX_NUM_MULTICAST_ADDRESS 240
4206#define WDI_MAX_NUM_FILTERS 20
4207#define WDI_MAX_NUM_TESTS_PER_FILTER 10
4208
4209//
4210// Receive Filter Parameters
4211//
4212typedef enum
4213{
4214 WDI_RCV_FILTER_TYPE_INVALID,
4215 WDI_RCV_FILTER_TYPE_FILTER_PKT,
4216 WDI_RCV_FILTER_TYPE_BUFFER_PKT,
4217 WDI_RCV_FILTER_TYPE_MAX_ENUM_SIZE
4218}WDI_ReceivePacketFilterType;
4219
4220typedef enum
4221{
4222 WDI_FILTER_HDR_TYPE_INVALID,
4223 WDI_FILTER_HDR_TYPE_MAC,
4224 WDI_FILTER_HDR_TYPE_ARP,
4225 WDI_FILTER_HDR_TYPE_IPV4,
4226 WDI_FILTER_HDR_TYPE_IPV6,
4227 WDI_FILTER_HDR_TYPE_UDP,
4228 WDI_FILTER_HDR_TYPE_MAX
4229}WDI_RcvPktFltProtocolType;
4230
4231typedef enum
4232{
4233 WDI_FILTER_CMP_TYPE_INVALID,
4234 WDI_FILTER_CMP_TYPE_EQUAL,
4235 WDI_FILTER_CMP_TYPE_MASK_EQUAL,
4236 WDI_FILTER_CMP_TYPE_NOT_EQUAL,
4237 WDI_FILTER_CMP_TYPE_MASK_NOT_EQUAL,
4238 WDI_FILTER_CMP_TYPE_MAX
4239}WDI_RcvPktFltCmpFlagType;
4240
4241typedef struct
4242{
4243 WDI_RcvPktFltProtocolType protocolLayer;
4244 WDI_RcvPktFltCmpFlagType cmpFlag;
4245/* Length of the data to compare */
4246 wpt_uint16 dataLength;
4247/* from start of the respective frame header */
4248 wpt_uint8 dataOffset;
4249 wpt_uint8 reserved; /* Reserved field */
4250/* Data to compare */
4251 wpt_uint8 compareData[WDI_MAX_FILTER_TEST_DATA_LEN];
4252/* Mask to be applied on the received packet data before compare */
4253 wpt_uint8 dataMask[WDI_MAX_FILTER_TEST_DATA_LEN];
4254}WDI_RcvPktFilterFieldParams;
4255
4256typedef struct
4257{
4258 wpt_uint8 filterId;
4259 wpt_uint8 filterType;
4260 wpt_uint32 numFieldParams;
4261 wpt_uint32 coalesceTime;
4262 WDI_RcvPktFilterFieldParams paramsData[1];
Jeff Johnsone7245742012-09-05 17:12:55 -07004263 wpt_macAddr selfMacAddr;
4264 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004265}WDI_RcvPktFilterCfgType;
4266
4267typedef struct
4268{
4269 /*Request status callback offered by UMAC - it is called if the current
4270 req has returned PENDING as status; it delivers the status of sending
4271 the message over the BUS */
4272 WDI_ReqStatusCb wdiReqStatusCB;
4273
4274 /*The user data passed in by UMAC, it will be sent back when the above
4275 function pointer will be called */
4276 void* pUserData;
4277
4278 // Variable length packet filter field params
4279 WDI_RcvPktFilterCfgType wdiPktFilterCfg;
4280} WDI_SetRcvPktFilterReqParamsType;
4281
4282//
4283// Filter Packet Match Count Parameters
4284//
4285typedef struct
4286{
4287 /*Request status callback offered by UMAC - it is called if the current
4288 req has returned PENDING as status; it delivers the status of sending
4289 the message over the BUS */
4290 WDI_ReqStatusCb wdiReqStatusCB;
4291
4292 /*The user data passed in by UMAC, it will be sent back when the above
4293 function pointer will be called */
4294 void* pUserData;
4295} WDI_RcvFltPktMatchCntReqParamsType;
4296
4297typedef struct
4298{
4299 wpt_uint8 filterId;
4300 wpt_uint32 matchCnt;
4301} WDI_RcvFltPktMatchCnt;
4302
4303typedef struct
4304{
4305 /* Success or Failure */
4306 wpt_uint32 status;
4307 WDI_RcvFltPktMatchCnt filterMatchCnt[WDI_MAX_NUM_FILTERS];
4308
4309 /*Request status callback offered by UMAC - it is called if the current
4310 req has returned PENDING as status; it delivers the status of sending
4311 the message over the BUS */
4312 WDI_ReqStatusCb wdiReqStatusCB;
4313
4314 /*The user data passed in by UMAC, it will be sent back when the above
4315 function pointer will be called */
4316 void* pUserData;
4317} WDI_RcvFltPktMatchRspParams;
4318
4319typedef struct
4320{
4321 WDI_RcvFltPktMatchRspParams fltPktMatchRspParams;
4322 /*Request status callback offered by UMAC - it is called if the current
4323 req has returned PENDING as status; it delivers the status of sending
4324 the message over the BUS */
4325 WDI_ReqStatusCb wdiReqStatusCB;
4326
4327 /*The user data passed in by UMAC, it will be sent back when the above
4328 function pointer will be called */
4329 void* pUserData;
4330} WDI_RcvFltPktMatchCntRspParamsType;
4331
4332
4333//
4334// Receive Filter Clear Parameters
4335//
4336typedef struct
4337{
4338 wpt_uint32 status; /* only valid for response message */
4339 wpt_uint8 filterId;
Jeff Johnsone7245742012-09-05 17:12:55 -07004340 wpt_macAddr selfMacAddr;
4341 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004342}WDI_RcvFltPktClearParam;
4343
4344typedef struct
4345{
4346 WDI_RcvFltPktClearParam filterClearParam;
4347 /*Request status callback offered by UMAC - it is called if the current
4348 req has returned PENDING as status; it delivers the status of sending
4349 the message over the BUS */
4350 WDI_ReqStatusCb wdiReqStatusCB;
4351
4352 /*The user data passed in by UMAC, it will be sent back when the above
4353 function pointer will be called */
4354 void* pUserData;
4355} WDI_RcvFltPktClearReqParamsType;
4356
4357//
4358// Multicast Address List Parameters
4359//
4360typedef struct
4361{
4362 wpt_uint32 ulMulticastAddrCnt;
4363 wpt_macAddr multicastAddr[WDI_MAX_NUM_MULTICAST_ADDRESS];
Jeff Johnsone7245742012-09-05 17:12:55 -07004364 wpt_macAddr selfMacAddr;
4365 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004366} WDI_RcvFltMcAddrListType;
4367
4368typedef struct
4369{
4370 WDI_RcvFltMcAddrListType mcAddrList;
4371 /*Request status callback offered by UMAC - it is called if the current
4372 req has returned PENDING as status; it delivers the status of sending
4373 the message over the BUS */
4374 WDI_ReqStatusCb wdiReqStatusCB;
4375
4376 /*The user data passed in by UMAC, it will be sent back when the above
4377 function pointer will be called */
4378 void* pUserData;
4379} WDI_RcvFltPktSetMcListReqParamsType;
4380#endif // WLAN_FEATURE_PACKET_FILTERING
4381
4382/*---------------------------------------------------------------------------
4383 WDI_HALDumpCmdReqInfoType
4384---------------------------------------------------------------------------*/
4385typedef struct
4386{
4387 /*command*/
4388 wpt_uint32 command;
4389
4390 /*Arguments*/
4391 wpt_uint32 argument1;
4392 wpt_uint32 argument2;
4393 wpt_uint32 argument3;
4394 wpt_uint32 argument4;
4395
4396}WDI_HALDumpCmdReqInfoType;
4397
4398/*---------------------------------------------------------------------------
4399 WDI_HALDumpCmdReqParamsType
4400---------------------------------------------------------------------------*/
4401typedef struct
4402{
4403 /*NV Blob Info*/
4404 WDI_HALDumpCmdReqInfoType wdiHALDumpCmdInfoType;
4405
4406 /*Request status callback offered by UMAC - it is called if the current
4407 req has returned PENDING as status; it delivers the status of sending
4408 the message over the BUS */
4409 WDI_ReqStatusCb wdiReqStatusCB;
4410
4411 /*The user data passed in by UMAC, it will be sent back when the above
4412 function pointer will be called */
4413 void* pUserData;
4414
4415}WDI_HALDumpCmdReqParamsType;
4416
4417
4418/*---------------------------------------------------------------------------
4419 WDI_HALDumpCmdRspParamsType
4420---------------------------------------------------------------------------*/
4421typedef struct
4422{
4423 /*Result of the operation*/
4424 WDI_Status wdiStatus;
4425
4426 /* length of the buffer */
4427 wpt_uint16 usBufferLen;
4428
4429 /* Buffer */
4430 wpt_uint8 *pBuffer;
4431}WDI_HALDumpCmdRspParamsType;
4432
4433
4434/*---------------------------------------------------------------------------
4435 WDI_SetTmLevelReqType
4436---------------------------------------------------------------------------*/
4437typedef struct
4438{
4439 wpt_uint16 tmMode;
4440 wpt_uint16 tmLevel;
4441 void* pUserData;
4442}WDI_SetTmLevelReqType;
4443
4444/*---------------------------------------------------------------------------
4445 WDI_SetTmLevelRspType
4446---------------------------------------------------------------------------*/
4447typedef struct
4448{
4449 WDI_Status wdiStatus;
4450 void* pUserData;
4451}WDI_SetTmLevelRspType;
4452
4453/*----------------------------------------------------------------------------
4454 * WDI callback types
4455 *--------------------------------------------------------------------------*/
4456
4457/*---------------------------------------------------------------------------
4458 WDI_StartRspCb
4459
4460 DESCRIPTION
4461
4462 This callback is invoked by DAL when it has received a Start response from
4463 the underlying device.
4464
4465 PARAMETERS
4466
4467 IN
4468 wdiRspParams: response parameters received from HAL
4469 pUserData: user data
4470
4471
4472 RETURN VALUE
4473 The result code associated with performing the operation
4474---------------------------------------------------------------------------*/
4475typedef void (*WDI_StartRspCb)(WDI_StartRspParamsType* pwdiRspParams,
4476 void* pUserData);
4477
4478/*---------------------------------------------------------------------------
4479 WDI_StartRspCb
4480
4481 DESCRIPTION
4482
4483 This callback is invoked by DAL when it has received a Stop response from
4484 the underlying device.
4485
4486 PARAMETERS
4487
4488 IN
4489 wdiStatus: response status received from HAL
4490 pUserData: user data
4491
4492
4493
4494 RETURN VALUE
4495 The result code associated with performing the operation
4496---------------------------------------------------------------------------*/
4497typedef void (*WDI_StopRspCb)(WDI_Status wdiStatus,
4498 void* pUserData);
4499
4500/*---------------------------------------------------------------------------
4501 WDI_StartRspCb
4502
4503 DESCRIPTION
4504
4505 This callback is invoked by DAL when it has received an Init Scan response
4506 from the underlying device.
4507
4508 PARAMETERS
4509
4510 IN
4511 wdiStatus: response status received from HAL
4512 pUserData: user data
4513
4514
4515
4516 RETURN VALUE
4517 The result code associated with performing the operation
4518---------------------------------------------------------------------------*/
4519typedef void (*WDI_InitScanRspCb)(WDI_Status wdiStatus,
4520 void* pUserData);
4521
4522
4523/*---------------------------------------------------------------------------
4524 WDI_StartRspCb
4525
4526 DESCRIPTION
4527
4528 This callback is invoked by DAL when it has received a StartScan response
4529 from the underlying device.
4530
4531 PARAMETERS
4532
4533 IN
4534 wdiParams: response params received from HAL
4535 pUserData: user data
4536
4537
4538
4539 RETURN VALUE
4540 The result code associated with performing the operation
4541---------------------------------------------------------------------------*/
4542typedef void (*WDI_StartScanRspCb)(WDI_StartScanRspParamsType* wdiParams,
4543 void* pUserData);
4544
4545
4546/*---------------------------------------------------------------------------
4547 WDI_StartRspCb
4548
4549 DESCRIPTION
4550
4551 This callback is invoked by DAL when it has received a End Scan response
4552 from the underlying device.
4553
4554 PARAMETERS
4555
4556 IN
4557 wdiStatus: response status received from HAL
4558 pUserData: user data
4559
4560
4561
4562 RETURN VALUE
4563 The result code associated with performing the operation
4564---------------------------------------------------------------------------*/
4565typedef void (*WDI_EndScanRspCb)(WDI_Status wdiStatus,
4566 void* pUserData);
4567
4568
4569/*---------------------------------------------------------------------------
4570 WDI_StartRspCb
4571
4572 DESCRIPTION
4573
4574 This callback is invoked by DAL when it has received a Finish Scan response
4575 from the underlying device.
4576
4577 PARAMETERS
4578
4579 IN
4580 wdiStatus: response status received from HAL
4581 pUserData: user data
4582
4583
4584
4585 RETURN VALUE
4586 The result code associated with performing the operation
4587---------------------------------------------------------------------------*/
4588typedef void (*WDI_FinishScanRspCb)(WDI_Status wdiStatus,
4589 void* pUserData);
4590
4591
4592/*---------------------------------------------------------------------------
4593 WDI_StartRspCb
4594
4595 DESCRIPTION
4596
4597 This callback is invoked by DAL when it has received a Join response from
4598 the underlying device.
4599
4600 PARAMETERS
4601
4602 IN
4603 wdiStatus: response status received from HAL
4604 pUserData: user data
4605
4606
4607
4608 RETURN VALUE
4609 The result code associated with performing the operation
4610---------------------------------------------------------------------------*/
4611typedef void (*WDI_JoinRspCb)(WDI_Status wdiStatus,
4612 void* pUserData);
4613
4614
4615/*---------------------------------------------------------------------------
4616 WDI_StartRspCb
4617
4618 DESCRIPTION
4619
4620 This callback is invoked by DAL when it has received a Config BSS response
4621 from the underlying device.
4622
4623 PARAMETERS
4624
4625 IN
4626 wdiConfigBSSRsp: response parameters received from HAL
4627 pUserData: user data
4628
4629
4630 RETURN VALUE
4631 The result code associated with performing the operation
4632---------------------------------------------------------------------------*/
4633typedef void (*WDI_ConfigBSSRspCb)(
4634 WDI_ConfigBSSRspParamsType* pwdiConfigBSSRsp,
4635 void* pUserData);
4636
4637
4638/*---------------------------------------------------------------------------
4639 WDI_StartRspCb
4640
4641 DESCRIPTION
4642
4643 This callback is invoked by DAL when it has received a Del BSS response from
4644 the underlying device.
4645
4646 PARAMETERS
4647
4648 IN
4649 wdiDelBSSRsp: response parameters received from HAL
4650 pUserData: user data
4651
4652
4653 RETURN VALUE
4654 The result code associated with performing the operation
4655---------------------------------------------------------------------------*/
4656typedef void (*WDI_DelBSSRspCb)(WDI_DelBSSRspParamsType* pwdiDelBSSRsp,
4657 void* pUserData);
4658
4659
4660/*---------------------------------------------------------------------------
4661 WDI_StartRspCb
4662
4663 DESCRIPTION
4664
4665 This callback is invoked by DAL when it has received a Post Assoc response
4666 from the underlying device.
4667
4668 PARAMETERS
4669
4670 IN
4671 wdiRspParams: response parameters received from HAL
4672 pUserData: user data
4673
4674
4675 RETURN VALUE
4676 The result code associated with performing the operation
4677---------------------------------------------------------------------------*/
4678typedef void (*WDI_PostAssocRspCb)(
4679 WDI_PostAssocRspParamsType* pwdiPostAssocRsp,
4680 void* pUserData);
4681
4682
4683/*---------------------------------------------------------------------------
4684 WDI_StartRspCb
4685
4686 DESCRIPTION
4687
4688 This callback is invoked by DAL when it has received a Del STA response from
4689 the underlying device.
4690
4691 PARAMETERS
4692
4693 IN
4694 wdiDelSTARsp: response parameters received from HAL
4695 pUserData: user data
4696
4697
4698 RETURN VALUE
4699 The result code associated with performing the operation
4700---------------------------------------------------------------------------*/
4701typedef void (*WDI_DelSTARspCb)(WDI_DelSTARspParamsType* pwdiDelSTARsp,
4702 void* pUserData);
4703
4704
4705
4706/*---------------------------------------------------------------------------
4707 WDI_StartRspCb
4708
4709 DESCRIPTION
4710
4711 This callback is invoked by DAL when it has received a Set BSS Key response
4712 from the underlying device.
4713
4714 PARAMETERS
4715
4716 IN
4717 wdiStatus: response status received from HAL
4718 pUserData: user data
4719
4720
4721
4722 RETURN VALUE
4723 The result code associated with performing the operation
4724---------------------------------------------------------------------------*/
4725typedef void (*WDI_SetBSSKeyRspCb)(WDI_Status wdiStatus,
4726 void* pUserData);
4727
4728/*---------------------------------------------------------------------------
4729 WDI_StartRspCb
4730
4731 DESCRIPTION
4732
4733 This callback is invoked by DAL when it has received a Remove BSS Key
4734 response from the underlying device.
4735
4736 PARAMETERS
4737
4738 IN
4739 wdiStatus: response status received from HAL
4740 pUserData: user data
4741
4742
4743
4744 RETURN VALUE
4745 The result code associated with performing the operation
4746---------------------------------------------------------------------------*/
4747typedef void (*WDI_RemoveBSSKeyRspCb)(WDI_Status wdiStatus,
4748 void* pUserData);
4749
4750/*---------------------------------------------------------------------------
4751 WDI_StartRspCb
4752
4753 DESCRIPTION
4754
4755 This callback is invoked by DAL when it has received a Set STA Key response
4756 from the underlying device.
4757
4758 PARAMETERS
4759
4760 IN
4761 wdiStatus: response status received from HAL
4762 pUserData: user data
4763
4764
4765
4766 RETURN VALUE
4767 The result code associated with performing the operation
4768---------------------------------------------------------------------------*/
4769typedef void (*WDI_SetSTAKeyRspCb)(WDI_Status wdiStatus,
4770 void* pUserData);
4771
4772
4773/*---------------------------------------------------------------------------
4774 WDI_StartRspCb
4775
4776 DESCRIPTION
4777
4778 This callback is invoked by DAL when it has received a Remove STA Key
4779 response from the underlying device.
4780
4781 PARAMETERS
4782
4783 IN
4784 wdiStatus: response status received from HAL
4785 pUserData: user data
4786
4787
4788
4789 RETURN VALUE
4790 The result code associated with performing the operation
4791---------------------------------------------------------------------------*/
4792typedef void (*WDI_RemoveSTAKeyRspCb)(WDI_Status wdiStatus,
4793 void* pUserData);
4794
4795
4796#ifdef FEATURE_WLAN_CCX
4797/*---------------------------------------------------------------------------
4798 WDI_TsmRspCb
4799
4800 DESCRIPTION
4801
4802 This callback is invoked by DAL when it has received a TSM Stats response from the underlying device.
4803
4804 PARAMETERS
4805
4806 IN
4807 pTSMStats: response status received from HAL
4808 pUserData: user data
4809
4810
4811
4812 RETURN VALUE
4813 The result code associated with performing the operation
4814---------------------------------------------------------------------------*/
4815typedef void (*WDI_TsmRspCb)(WDI_TSMStatsRspParamsType *pTSMStats,
4816 void* pUserData);
4817#endif
4818
4819/*---------------------------------------------------------------------------
4820 WDI_StartRspCb
4821
4822 DESCRIPTION
4823
4824 This callback is invoked by DAL when it has received a Add TS response from
4825 the underlying device.
4826
4827 PARAMETERS
4828
4829 IN
4830 wdiStatus: response status received from HAL
4831 pUserData: user data
4832
4833
4834
4835 RETURN VALUE
4836 The result code associated with performing the operation
4837---------------------------------------------------------------------------*/
4838typedef void (*WDI_AddTsRspCb)(WDI_Status wdiStatus,
4839 void* pUserData);
4840
4841/*---------------------------------------------------------------------------
4842 WDI_StartRspCb
4843
4844 DESCRIPTION
4845
4846 This callback is invoked by DAL when it has received a Del TS response from
4847 the underlying device.
4848
4849 PARAMETERS
4850
4851 IN
4852 wdiStatus: response status received from HAL
4853 pUserData: user data
4854
4855
4856
4857 RETURN VALUE
4858 The result code associated with performing the operation
4859---------------------------------------------------------------------------*/
4860typedef void (*WDI_DelTsRspCb)(WDI_Status wdiStatus,
4861 void* pUserData);
4862
4863/*---------------------------------------------------------------------------
4864 WDI_StartRspCb
4865
4866 DESCRIPTION
4867
4868 This callback is invoked by DAL when it has received an Update EDCA Params
4869 response from the underlying device.
4870
4871 PARAMETERS
4872
4873 IN
4874 wdiStatus: response status received from HAL
4875 pUserData: user data
4876
4877
4878
4879 RETURN VALUE
4880 The result code associated with performing the operation
4881---------------------------------------------------------------------------*/
4882typedef void (*WDI_UpdateEDCAParamsRspCb)(WDI_Status wdiStatus,
4883 void* pUserData);
4884
4885/*---------------------------------------------------------------------------
4886 WDI_StartRspCb
4887
4888 DESCRIPTION
4889
4890 This callback is invoked by DAL when it has received a Add BA response from
4891 the underlying device.
4892
4893 PARAMETERS
4894
4895 IN
4896 wdiStatus: response status received from HAL
4897 pUserData: user data
4898
4899
4900
4901 RETURN VALUE
4902 The result code associated with performing the operation
4903---------------------------------------------------------------------------*/
4904typedef void (*WDI_AddBASessionRspCb)(
4905 WDI_AddBASessionRspParamsType* wdiAddBASessionRsp,
4906 void* pUserData);
4907
4908
4909/*---------------------------------------------------------------------------
4910 WDI_StartRspCb
4911
4912 DESCRIPTION
4913
4914 This callback is invoked by DAL when it has received a Del BA response from
4915 the underlying device.
4916
4917 PARAMETERS
4918
4919 IN
4920 wdiStatus: response status received from HAL
4921 pUserData: user data
4922
4923
4924
4925 RETURN VALUE
4926 The result code associated with performing the operation
4927---------------------------------------------------------------------------*/
4928typedef void (*WDI_DelBARspCb)(WDI_Status wdiStatus,
4929 void* pUserData);
4930
4931
4932/*---------------------------------------------------------------------------
4933 WDI_StartRspCb
4934
4935 DESCRIPTION
4936
4937 This callback is invoked by DAL when it has received a Switch Ch response
4938 from the underlying device.
4939
4940 PARAMETERS
4941
4942 IN
4943 wdiRspParams: response parameters received from HAL
4944 pUserData: user data
4945
4946
4947 RETURN VALUE
4948 The result code associated with performing the operation
4949---------------------------------------------------------------------------*/
4950typedef void (*WDI_SwitchChRspCb)(WDI_SwitchCHRspParamsType* pwdiSwitchChRsp,
4951 void* pUserData);
4952
4953
4954/*---------------------------------------------------------------------------
4955 WDI_StartRspCb
4956
4957 DESCRIPTION
4958
4959 This callback is invoked by DAL when it has received a Config STA response
4960 from the underlying device.
4961
4962 PARAMETERS
4963
4964 IN
4965 wdiRspParams: response parameters received from HAL
4966 pUserData: user data
4967
4968
4969 RETURN VALUE
4970 The result code associated with performing the operation
4971---------------------------------------------------------------------------*/
4972typedef void (*WDI_ConfigSTARspCb)(
4973 WDI_ConfigSTARspParamsType* pwdiConfigSTARsp,
4974 void* pUserData);
4975
4976
4977/*---------------------------------------------------------------------------
4978 WDI_StartRspCb
4979
4980 DESCRIPTION
4981
4982 This callback is invoked by DAL when it has received a Set Link State
4983 response from the underlying device.
4984
4985 PARAMETERS
4986
4987 IN
4988 wdiRspParams: response parameters received from HAL
4989 pUserData: user data
4990
4991
4992 RETURN VALUE
4993 The result code associated with performing the operation
4994---------------------------------------------------------------------------*/
4995typedef void (*WDI_SetLinkStateRspCb)( WDI_Status wdiStatus,
4996 void* pUserData);
4997
4998
4999/*---------------------------------------------------------------------------
5000 WDI_StartRspCb
5001
5002 DESCRIPTION
5003
5004 This callback is invoked by DAL when it has received a Get Stats response
5005 from the underlying device.
5006
5007 PARAMETERS
5008
5009 IN
5010 wdiRspParams: response parameters received from HAL
5011 pUserData: user data
5012
5013
5014 RETURN VALUE
5015 The result code associated with performing the operation
5016---------------------------------------------------------------------------*/
5017typedef void (*WDI_GetStatsRspCb)(WDI_GetStatsRspParamsType* pwdiGetStatsRsp,
5018 void* pUserData);
5019
5020
5021/*---------------------------------------------------------------------------
5022 WDI_StartRspCb
5023
5024 DESCRIPTION
5025
5026 This callback is invoked by DAL when it has received a Update Cfg response
5027 from the underlying device.
5028
5029 PARAMETERS
5030
5031 IN
5032 wdiStatus: response status received from HAL
5033 pUserData: user data
5034
5035
5036 RETURN VALUE
5037 The result code associated with performing the operation
5038---------------------------------------------------------------------------*/
5039typedef void (*WDI_UpdateCfgRspCb)(WDI_Status wdiStatus,
5040 void* pUserData);
5041
5042/*---------------------------------------------------------------------------
5043 WDI_AddBARspCb
5044
5045 DESCRIPTION
5046
5047 This callback is invoked by DAL when it has received a ADD BA response
5048 from the underlying device.
5049
5050 PARAMETERS
5051
5052 IN
5053 wdiStatus: response status received from HAL
5054 pUserData: user data
5055
5056
5057 RETURN VALUE
5058 The result code associated with performing the operation
5059---------------------------------------------------------------------------*/
5060typedef void (*WDI_AddBARspCb)(WDI_AddBARspinfoType* wdiAddBARsp,
5061 void* pUserData);
5062
5063/*---------------------------------------------------------------------------
5064 WDI_TriggerBARspCb
5065
5066 DESCRIPTION
5067
5068 This callback is invoked by DAL when it has received a ADD BA response
5069 from the underlying device.
5070
5071 PARAMETERS
5072
5073 IN
5074 wdiStatus: response status received from HAL
5075 pUserData: user data
5076
5077
5078 RETURN VALUE
5079 The result code associated with performing the operation
5080---------------------------------------------------------------------------*/
5081typedef void (*WDI_TriggerBARspCb)(WDI_TriggerBARspParamsType* wdiTriggerBARsp,
5082 void* pUserData);
5083
5084
5085/*---------------------------------------------------------------------------
5086 WDI_UpdateBeaconParamsRspCb
5087
5088 DESCRIPTION
5089
5090 This callback is invoked by DAL when it has received a Update Beacon Params response from
5091 the underlying device.
5092
5093 PARAMETERS
5094
5095 IN
5096 wdiStatus: response status received from HAL
5097 pUserData: user data
5098
5099
5100
5101 RETURN VALUE
5102 The result code associated with performing the operation
5103---------------------------------------------------------------------------*/
5104typedef void (*WDI_UpdateBeaconParamsRspCb)(WDI_Status wdiStatus,
5105 void* pUserData);
5106
5107/*---------------------------------------------------------------------------
5108 WDI_SendBeaconParamsRspCb
5109
5110 DESCRIPTION
5111
5112 This callback is invoked by DAL when it has received a Send Beacon Params response from
5113 the underlying device.
5114
5115 PARAMETERS
5116
5117 IN
5118 wdiStatus: response status received from HAL
5119 pUserData: user data
5120
5121
5122
5123 RETURN VALUE
5124 The result code associated with performing the operation
5125---------------------------------------------------------------------------*/
5126typedef void (*WDI_SendBeaconParamsRspCb)(WDI_Status wdiStatus,
5127 void* pUserData);
5128
5129/*---------------------------------------------------------------------------
5130 WDA_SetMaxTxPowerRspCb
5131
5132 DESCRIPTION
5133
5134 This callback is invoked by DAL when it has received a set max Tx Power response from
5135 the underlying device.
5136
5137 PARAMETERS
5138
5139 IN
5140 wdiStatus: response status received from HAL
5141 pUserData: user data
5142
5143
5144
5145 RETURN VALUE
5146 The result code associated with performing the operation
5147---------------------------------------------------------------------------*/
5148typedef void (*WDA_SetMaxTxPowerRspCb)(WDI_SetMaxTxPowerRspMsg *wdiSetMaxTxPowerRsp,
5149 void* pUserData);
5150
5151/*---------------------------------------------------------------------------
5152 WDI_UpdateProbeRspTemplateRspCb
5153
5154 DESCRIPTION
5155
5156 This callback is invoked by DAL when it has received a Probe RSP Template
5157 Update response from the underlying device.
5158
5159 PARAMETERS
5160
5161 IN
5162 wdiStatus: response status received from HAL
5163 pUserData: user data
5164
5165
5166
5167 RETURN VALUE
5168 The result code associated with performing the operation
5169---------------------------------------------------------------------------*/
5170typedef void (*WDI_UpdateProbeRspTemplateRspCb)(WDI_Status wdiStatus,
5171 void* pUserData);
5172
5173#ifdef WLAN_FEATURE_P2P
5174/*---------------------------------------------------------------------------
5175 WDI_SetP2PGONOAReqParamsRspCb
5176
5177 DESCRIPTION
5178
5179 This callback is invoked by DAL when it has received a P2P GO NOA Params response from
5180 the underlying device.
5181
5182 PARAMETERS
5183
5184 IN
5185 wdiStatus: response status received from HAL
5186 pUserData: user data
5187
5188
5189
5190 RETURN VALUE
5191 The result code associated with performing the operation
5192---------------------------------------------------------------------------*/
5193typedef void (*WDI_SetP2PGONOAReqParamsRspCb)(WDI_Status wdiStatus,
5194 void* pUserData);
5195#endif
5196
5197
5198/*---------------------------------------------------------------------------
5199 WDI_SetPwrSaveCfgCb
5200
5201 DESCRIPTION
5202
5203 This callback is invoked by DAL when it has received a set Power Save CFG
5204 response from the underlying device.
5205
5206 PARAMETERS
5207
5208 IN
5209 wdiStatus: response status received from HAL
5210 pUserData: user data
5211
5212
5213
5214 RETURN VALUE
5215 The result code associated with performing the operation
5216---------------------------------------------------------------------------*/
5217typedef void (*WDI_SetPwrSaveCfgCb)(WDI_Status wdiStatus,
5218 void* pUserData);
5219
5220/*---------------------------------------------------------------------------
5221 WDI_SetUapsdAcParamsCb
5222
5223 DESCRIPTION
5224
5225 This callback is invoked by DAL when it has received a set UAPSD params
5226 response from the underlying device.
5227
5228 PARAMETERS
5229
5230 IN
5231 wdiStatus: response status received from HAL
5232 pUserData: user data
5233
5234
5235
5236 RETURN VALUE
5237 The result code associated with performing the operation
5238---------------------------------------------------------------------------*/
5239typedef void (*WDI_SetUapsdAcParamsCb)(WDI_Status wdiStatus,
5240 void* pUserData);
5241
5242/*---------------------------------------------------------------------------
5243 WDI_EnterImpsRspCb
5244
5245 DESCRIPTION
5246
5247 This callback is invoked by DAL when it has received a Enter IMPS response
5248 from the underlying device.
5249
5250 PARAMETERS
5251
5252 IN
5253 wdiStatus: response status received from HAL
5254 pUserData: user data
5255
5256
5257
5258 RETURN VALUE
5259 The result code associated with performing the operation
5260---------------------------------------------------------------------------*/
5261typedef void (*WDI_EnterImpsRspCb)(WDI_Status wdiStatus,
5262 void* pUserData);
5263
5264/*---------------------------------------------------------------------------
5265 WDI_ExitImpsRspCb
5266
5267 DESCRIPTION
5268
5269 This callback is invoked by DAL when it has received a Exit IMPS response
5270 from the underlying device.
5271
5272 PARAMETERS
5273
5274 IN
5275 wdiStatus: response status received from HAL
5276 pUserData: user data
5277
5278
5279
5280 RETURN VALUE
5281 The result code associated with performing the operation
5282---------------------------------------------------------------------------*/
5283typedef void (*WDI_ExitImpsRspCb)(WDI_Status wdiStatus,
5284 void* pUserData);
5285
5286/*---------------------------------------------------------------------------
5287 WDI_EnterBmpsRspCb
5288
5289 DESCRIPTION
5290
5291 This callback is invoked by DAL when it has received a enter BMPS response
5292 from the underlying device.
5293
5294 PARAMETERS
5295
5296 IN
5297 wdiStatus: response status received from HAL
5298 pUserData: user data
5299
5300
5301
5302 RETURN VALUE
5303 The result code associated with performing the operation
5304---------------------------------------------------------------------------*/
5305typedef void (*WDI_EnterBmpsRspCb)(WDI_Status wdiStatus,
5306 void* pUserData);
5307
5308/*---------------------------------------------------------------------------
5309 WDI_ExitBmpsRspCb
5310
5311 DESCRIPTION
5312
5313 This callback is invoked by DAL when it has received a exit BMPS response
5314 from the underlying device.
5315
5316 PARAMETERS
5317
5318 IN
5319 wdiStatus: response status received from HAL
5320 pUserData: user data
5321
5322
5323
5324 RETURN VALUE
5325 The result code associated with performing the operation
5326---------------------------------------------------------------------------*/
5327typedef void (*WDI_ExitBmpsRspCb)(WDI_Status wdiStatus,
5328 void* pUserData);
5329
5330/*---------------------------------------------------------------------------
5331 WDI_EnterUapsdRspCb
5332
5333 DESCRIPTION
5334
5335 This callback is invoked by DAL when it has received a enter UAPSD response
5336 from the underlying device.
5337
5338 PARAMETERS
5339
5340 IN
5341 wdiStatus: response status received from HAL
5342 pUserData: user data
5343
5344
5345
5346 RETURN VALUE
5347 The result code associated with performing the operation
5348---------------------------------------------------------------------------*/
5349typedef void (*WDI_EnterUapsdRspCb)(WDI_Status wdiStatus,
5350 void* pUserData);
5351
5352/*---------------------------------------------------------------------------
5353 WDI_ExitUapsdRspCb
5354
5355 DESCRIPTION
5356
5357 This callback is invoked by DAL when it has received a exit UAPSD response
5358 from the underlying device.
5359
5360 PARAMETERS
5361
5362 IN
5363 wdiStatus: response status received from HAL
5364 pUserData: user data
5365
5366
5367
5368 RETURN VALUE
5369 The result code associated with performing the operation
5370---------------------------------------------------------------------------*/
5371typedef void (*WDI_ExitUapsdRspCb)(WDI_Status wdiStatus,
5372 void* pUserData);
5373
5374/*---------------------------------------------------------------------------
5375 WDI_UpdateUapsdParamsCb
5376
5377 DESCRIPTION
5378
5379 This callback is invoked by DAL when it has received a update UAPSD params
5380 response from the underlying device.
5381
5382 PARAMETERS
5383
5384 IN
5385 wdiStatus: response status received from HAL
5386 pUserData: user data
5387
5388
5389
5390 RETURN VALUE
5391 The result code associated with performing the operation
5392---------------------------------------------------------------------------*/
5393typedef void (*WDI_UpdateUapsdParamsCb)(WDI_Status wdiStatus,
5394 void* pUserData);
5395
5396/*---------------------------------------------------------------------------
5397 WDI_ConfigureRxpFilterCb
5398
5399 DESCRIPTION
5400
5401 This callback is invoked by DAL when it has received a config RXP filter
5402 response from the underlying device.
5403
5404 PARAMETERS
5405
5406 IN
5407 wdiStatus: response status received from HAL
5408 pUserData: user data
5409
5410
5411
5412 RETURN VALUE
5413 The result code associated with performing the operation
5414---------------------------------------------------------------------------*/
5415typedef void (*WDI_ConfigureRxpFilterCb)(WDI_Status wdiStatus,
5416 void* pUserData);
5417
5418/*---------------------------------------------------------------------------
5419 WDI_SetBeaconFilterCb
5420
5421 DESCRIPTION
5422
5423 This callback is invoked by DAL when it has received a set beacon filter
5424 response from the underlying device.
5425
5426 PARAMETERS
5427
5428 IN
5429 wdiStatus: response status received from HAL
5430 pUserData: user data
5431
5432
5433
5434 RETURN VALUE
5435 The result code associated with performing the operation
5436---------------------------------------------------------------------------*/
5437typedef void (*WDI_SetBeaconFilterCb)(WDI_Status wdiStatus,
5438 void* pUserData);
5439
5440/*---------------------------------------------------------------------------
5441 WDI_RemBeaconFilterCb
5442
5443 DESCRIPTION
5444
5445 This callback is invoked by DAL when it has received a remove beacon filter
5446 response from the underlying device.
5447
5448 PARAMETERS
5449
5450 IN
5451 wdiStatus: response status received from HAL
5452 pUserData: user data
5453
5454
5455
5456 RETURN VALUE
5457 The result code associated with performing the operation
5458---------------------------------------------------------------------------*/
5459typedef void (*WDI_RemBeaconFilterCb)(WDI_Status wdiStatus,
5460 void* pUserData);
5461
5462/*---------------------------------------------------------------------------
5463 WDI_SetRSSIThresholdsCb
5464
5465 DESCRIPTION
5466
5467 This callback is invoked by DAL when it has received a set RSSI thresholds
5468 response from the underlying device.
5469
5470 PARAMETERS
5471
5472 IN
5473 wdiStatus: response status received from HAL
5474 pUserData: user data
5475
5476
5477
5478 RETURN VALUE
5479 The result code associated with performing the operation
5480---------------------------------------------------------------------------*/
5481typedef void (*WDI_SetRSSIThresholdsCb)(WDI_Status wdiStatus,
5482 void* pUserData);
5483
5484/*---------------------------------------------------------------------------
5485 WDI_HostOffloadCb
5486
5487 DESCRIPTION
5488
5489 This callback is invoked by DAL when it has received a host offload
5490 response from the underlying device.
5491
5492 PARAMETERS
5493
5494 IN
5495 wdiStatus: response status received from HAL
5496 pUserData: user data
5497
5498
5499
5500 RETURN VALUE
5501 The result code associated with performing the operation
5502---------------------------------------------------------------------------*/
5503typedef void (*WDI_HostOffloadCb)(WDI_Status wdiStatus,
5504 void* pUserData);
5505
5506/*---------------------------------------------------------------------------
5507 WDI_KeepAliveCb
5508
5509 DESCRIPTION
5510
5511 This callback is invoked by DAL when it has received a Keep Alive
5512 response from the underlying device.
5513
5514 PARAMETERS
5515
5516 IN
5517 wdiStatus: response status received from HAL
5518 pUserData: user data
5519
5520
5521
5522 RETURN VALUE
5523 The result code associated with performing the operation
5524---------------------------------------------------------------------------*/
5525typedef void (*WDI_KeepAliveCb)(WDI_Status wdiStatus,
5526 void* pUserData);
5527
5528/*---------------------------------------------------------------------------
5529 WDI_WowlAddBcPtrnCb
5530
5531 DESCRIPTION
5532
5533 This callback is invoked by DAL when it has received a Wowl add Bcast ptrn
5534 response from the underlying device.
5535
5536 PARAMETERS
5537
5538 IN
5539 wdiStatus: response status received from HAL
5540 pUserData: user data
5541
5542
5543
5544 RETURN VALUE
5545 The result code associated with performing the operation
5546---------------------------------------------------------------------------*/
5547typedef void (*WDI_WowlAddBcPtrnCb)(WDI_Status wdiStatus,
5548 void* pUserData);
5549
5550/*---------------------------------------------------------------------------
5551 WDI_WowlDelBcPtrnCb
5552
5553 DESCRIPTION
5554
5555 This callback is invoked by DAL when it has received a Wowl delete Bcast ptrn
5556 response from the underlying device.
5557
5558 PARAMETERS
5559
5560 IN
5561 wdiStatus: response status received from HAL
5562 pUserData: user data
5563
5564
5565
5566 RETURN VALUE
5567 The result code associated with performing the operation
5568---------------------------------------------------------------------------*/
5569typedef void (*WDI_WowlDelBcPtrnCb)(WDI_Status wdiStatus,
5570 void* pUserData);
5571
5572/*---------------------------------------------------------------------------
5573 WDI_WowlEnterReqCb
5574
5575 DESCRIPTION
5576
5577 This callback is invoked by DAL when it has received a Wowl enter
5578 response from the underlying device.
5579
5580 PARAMETERS
5581
5582 IN
5583 wdiStatus: response status received from HAL
5584 pUserData: user data
5585
5586
5587
5588 RETURN VALUE
5589 The result code associated with performing the operation
5590---------------------------------------------------------------------------*/
5591typedef void (*WDI_WowlEnterReqCb)(WDI_Status wdiStatus,
5592 void* pUserData);
5593
5594/*---------------------------------------------------------------------------
5595 WDI_WowlExitReqCb
5596
5597 DESCRIPTION
5598
5599 This callback is invoked by DAL when it has received a Wowl exit
5600 response from the underlying device.
5601
5602 PARAMETERS
5603
5604 IN
5605 wdiStatus: response status received from HAL
5606 pUserData: user data
5607
5608
5609
5610 RETURN VALUE
5611 The result code associated with performing the operation
5612---------------------------------------------------------------------------*/
5613typedef void (*WDI_WowlExitReqCb)(WDI_Status wdiStatus,
5614 void* pUserData);
5615
5616/*---------------------------------------------------------------------------
5617 WDI_ConfigureAppsCpuWakeupStateCb
5618
5619 DESCRIPTION
5620
5621 This callback is invoked by DAL when it has received a config Apps Cpu Wakeup
5622 State response from the underlying device.
5623
5624 PARAMETERS
5625
5626 IN
5627 wdiStatus: response status received from HAL
5628 pUserData: user data
5629
5630
5631
5632 RETURN VALUE
5633 The result code associated with performing the operation
5634---------------------------------------------------------------------------*/
5635typedef void (*WDI_ConfigureAppsCpuWakeupStateCb)(WDI_Status wdiStatus,
5636 void* pUserData);
5637/*---------------------------------------------------------------------------
5638 WDI_NvDownloadRspCb
5639
5640 DESCRIPTION
5641
5642 This callback is invoked by DAL when it has received a NV Download response
5643 from the underlying device.
5644
5645 PARAMETERS
5646
5647 IN
5648 wdiStatus:response status received from HAL
5649 pUserData:user data
5650
5651 RETURN VALUE
5652 The result code associated with performing the operation
5653---------------------------------------------------------------------------*/
5654typedef void (*WDI_NvDownloadRspCb)(WDI_NvDownloadRspInfoType* wdiNvDownloadRsp,
5655 void* pUserData);
5656/*---------------------------------------------------------------------------
5657 WDI_FlushAcRspCb
5658
5659 DESCRIPTION
5660
5661 This callback is invoked by DAL when it has received a Flush AC response from
5662 the underlying device.
5663
5664 PARAMETERS
5665
5666 IN
5667 wdiStatus: response status received from HAL
5668 pUserData: user data
5669
5670
5671
5672 RETURN VALUE
5673 The result code associated with performing the operation
5674---------------------------------------------------------------------------*/
5675typedef void (*WDI_FlushAcRspCb)(WDI_Status wdiStatus,
5676 void* pUserData);
5677
5678/*---------------------------------------------------------------------------
5679 WDI_BtAmpEventRspCb
5680
5681 DESCRIPTION
5682
5683 This callback is invoked by DAL when it has received a Bt AMP event response
5684 from the underlying device.
5685
5686 PARAMETERS
5687
5688 IN
5689 wdiStatus: response status received from HAL
5690 pUserData: user data
5691
5692
5693
5694 RETURN VALUE
5695 The result code associated with performing the operation
5696---------------------------------------------------------------------------*/
5697typedef void (*WDI_BtAmpEventRspCb)(WDI_Status wdiStatus,
5698 void* pUserData);
5699
Jeff Johnsone7245742012-09-05 17:12:55 -07005700#ifdef FEATURE_OEM_DATA_SUPPORT
5701/*---------------------------------------------------------------------------
5702 WDI_oemDataRspCb
5703
5704 DESCRIPTION
5705
5706 This callback is invoked by DAL when it has received a Start oem data response from
5707 the underlying device.
5708
5709 PARAMETERS
5710
5711 IN
5712 wdiStatus: response status received from HAL
5713 pUserData: user data
5714
5715
5716
5717 RETURN VALUE
5718 The result code associated with performing the operation
5719---------------------------------------------------------------------------*/
5720typedef void (*WDI_oemDataRspCb)(WDI_oemDataRspParamsType* wdiOemDataRspParams,
5721 void* pUserData);
5722
5723#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07005724
5725/*---------------------------------------------------------------------------
5726 WDI_HostResumeEventRspCb
5727
5728 DESCRIPTION
5729
5730 This callback is invoked by DAL when it has received a Bt AMP event response
5731 from the underlying device.
5732
5733 PARAMETERS
5734
5735 IN
5736 wdiStatus: response status received from HAL
5737 pUserData: user data
5738
5739
5740
5741 RETURN VALUE
5742 The result code associated with performing the operation
5743---------------------------------------------------------------------------*/
5744typedef void (*WDI_HostResumeEventRspCb)(
5745 WDI_SuspendResumeRspParamsType *resumeRspParams,
5746 void* pUserData);
5747
5748
5749#ifdef WLAN_FEATURE_VOWIFI_11R
5750/*---------------------------------------------------------------------------
5751 WDI_AggrAddTsRspCb
5752
5753 DESCRIPTION
5754
5755 This callback is invoked by DAL when it has received a Aggregated Add TS
5756 response from the underlying device.
5757
5758 PARAMETERS
5759
5760 IN
5761 wdiStatus: response status received from HAL
5762 pUserData: user data
5763
5764
5765
5766 RETURN VALUE
5767 The result code associated with performing the operation
5768---------------------------------------------------------------------------*/
5769typedef void (*WDI_AggrAddTsRspCb)(WDI_Status wdiStatus,
5770 void* pUserData);
5771#endif /* WLAN_FEATURE_VOWIFI_11R */
5772
5773#ifdef ANI_MANF_DIAG
5774/*---------------------------------------------------------------------------
5775 WDI_FTMCommandRspCb
5776
5777 DESCRIPTION
5778
5779 FTM Command response CB
5780
5781 PARAMETERS
5782
5783 IN
5784 ftmCMDRspdata: FTM response data from HAL
5785 pUserData: user data
5786
5787
5788 RETURN VALUE
5789 NONE
5790---------------------------------------------------------------------------*/
5791typedef void (*WDI_FTMCommandRspCb)(void *ftmCMDRspdata,
5792 void *pUserData);
5793#endif /* ANI_MANF_DIAG */
5794
5795/*---------------------------------------------------------------------------
5796 WDI_AddSTASelfParamsRspCb
5797
5798 DESCRIPTION
5799
5800 This callback is invoked by DAL when it has received a Add Sta Self Params
5801 response from the underlying device.
5802
5803 PARAMETERS
5804
5805 IN
5806 wdiAddSelfSTARsp: response status received from HAL
5807 pUserData: user data
5808
5809
5810
5811 RETURN VALUE
5812 The result code associated with performing the operation
5813---------------------------------------------------------------------------*/
5814typedef void (*WDI_AddSTASelfParamsRspCb)(
5815 WDI_AddSTASelfRspParamsType* pwdiAddSelfSTARsp,
5816 void* pUserData);
5817
5818
5819/*---------------------------------------------------------------------------
5820 WDI_DelSTASelfRspCb
5821
5822 DESCRIPTION
5823
5824 This callback is invoked by DAL when it has received a host offload
5825 response from the underlying device.
5826
5827 PARAMETERS
5828
5829 IN
5830 wdiStatus: response status received from HAL
5831 pUserData: user data
5832
5833
5834
5835 RETURN VALUE
5836 The result code associated with performing the operation
5837---------------------------------------------------------------------------*/
5838typedef void (*WDI_DelSTASelfRspCb)
5839(
5840WDI_DelSTASelfRspParamsType* wdiDelStaSelfRspParams,
5841void* pUserData
5842);
5843
5844#ifdef FEATURE_WLAN_SCAN_PNO
5845/*---------------------------------------------------------------------------
5846 WDI_PNOScanCb
5847
5848 DESCRIPTION
5849
5850 This callback is invoked by DAL when it has received a Set PNO
5851 response from the underlying device.
5852
5853 PARAMETERS
5854
5855 IN
5856 wdiStatus: response status received from HAL
5857 pUserData: user data
5858
5859
5860
5861 RETURN VALUE
5862 The result code associated with performing the operation
5863---------------------------------------------------------------------------*/
5864typedef void (*WDI_PNOScanCb)(WDI_Status wdiStatus,
5865 void* pUserData);
5866
5867/*---------------------------------------------------------------------------
5868 WDI_PNOScanCb
5869
5870 DESCRIPTION
5871
5872 This callback is invoked by DAL when it has received a Set PNO
5873 response from the underlying device.
5874
5875 PARAMETERS
5876
5877 IN
5878 wdiStatus: response status received from HAL
5879 pUserData: user data
5880
5881
5882
5883 RETURN VALUE
5884 The result code associated with performing the operation
5885---------------------------------------------------------------------------*/
5886typedef void (*WDI_RssiFilterCb)(WDI_Status wdiStatus,
5887 void* pUserData);
5888
5889/*---------------------------------------------------------------------------
5890 WDI_UpdateScanParamsCb
5891
5892 DESCRIPTION
5893
5894 This callback is invoked by DAL when it has received a Update Scan Params
5895 response from the underlying device.
5896
5897 PARAMETERS
5898
5899 IN
5900 wdiStatus: response status received from HAL
5901 pUserData: user data
5902
5903
5904
5905 RETURN VALUE
5906 The result code associated with performing the operation
5907---------------------------------------------------------------------------*/
5908typedef void (*WDI_UpdateScanParamsCb)(WDI_Status wdiStatus,
5909 void* pUserData);
5910#endif // FEATURE_WLAN_SCAN_PNO
5911
5912/*---------------------------------------------------------------------------
5913 WDI_SetTxPerTrackingRspCb
5914
5915 DESCRIPTION
5916
5917 This callback is invoked by DAL when it has received a Tx PER Tracking
5918 response from the underlying device.
5919
5920 PARAMETERS
5921
5922 IN
5923 wdiStatus: response status received from HAL
5924 pUserData: user data
5925
5926
5927
5928 RETURN VALUE
5929 The result code associated with performing the operation
5930---------------------------------------------------------------------------*/
5931typedef void (*WDI_SetTxPerTrackingRspCb)(WDI_Status wdiStatus,
5932 void* pUserData);
5933
5934#ifdef WLAN_FEATURE_PACKET_FILTERING
5935/*---------------------------------------------------------------------------
5936 WDI_8023MulticastListCb
5937
5938 DESCRIPTION
5939
5940 This callback is invoked by DAL when it has received a 8023 Multicast List
5941 response from the underlying device.
5942
5943 PARAMETERS
5944
5945 IN
5946 wdiStatus: response status received from HAL
5947 pUserData: user data
5948
5949
5950
5951 RETURN VALUE
5952 The result code associated with performing the operation
5953---------------------------------------------------------------------------*/
5954typedef void (*WDI_8023MulticastListCb)(WDI_Status wdiStatus,
5955 void* pUserData);
5956
5957/*---------------------------------------------------------------------------
5958 WDI_ReceiveFilterSetFilterCb
5959
5960 DESCRIPTION
5961
5962 This callback is invoked by DAL when it has received a Receive Filter Set Filter
5963 response from the underlying device.
5964
5965 PARAMETERS
5966
5967 IN
5968 wdiStatus: response status received from HAL
5969 pUserData: user data
5970
5971
5972
5973 RETURN VALUE
5974 The result code associated with performing the operation
5975---------------------------------------------------------------------------*/
5976typedef void (*WDI_ReceiveFilterSetFilterCb)(WDI_Status wdiStatus,
5977 void* pUserData);
5978
5979/*---------------------------------------------------------------------------
5980 WDI_FilterMatchCountCb
5981
5982 DESCRIPTION
5983
5984 This callback is invoked by DAL when it has received a Do PC Filter Match Count
5985 response from the underlying device.
5986
5987 PARAMETERS
5988
5989 IN
5990 wdiStatus: response status received from HAL
5991 pUserData: user data
5992
5993
5994
5995 RETURN VALUE
5996 The result code associated with performing the operation
5997---------------------------------------------------------------------------*/
5998typedef void (*WDI_FilterMatchCountCb)(WDI_Status wdiStatus,
5999 void* pUserData);
6000
6001/*---------------------------------------------------------------------------
6002 WDI_ReceiveFilterClearFilterCb
6003
6004 DESCRIPTION
6005
6006 This callback is invoked by DAL when it has received a Receive Filter Clear Filter
6007 response from the underlying device.
6008
6009 PARAMETERS
6010
6011 IN
6012 wdiStatus: response status received from HAL
6013 pUserData: user data
6014
6015
6016
6017 RETURN VALUE
6018 The result code associated with performing the operation
6019---------------------------------------------------------------------------*/
6020typedef void (*WDI_ReceiveFilterClearFilterCb)(WDI_Status wdiStatus,
6021 void* pUserData);
6022#endif // WLAN_FEATURE_PACKET_FILTERING
6023
6024/*---------------------------------------------------------------------------
6025 WDI_HALDumpCmdRspCb
6026
6027 DESCRIPTION
6028
6029 This callback is invoked by DAL when it has received a HAL DUMP Command
6030response from
6031 the HAL layer.
6032
6033 PARAMETERS
6034
6035 IN
6036 wdiHalDumpCmdRsp: response status received from HAL
6037 pUserData: user data
6038
6039
6040
6041 RETURN VALUE
6042 The result code associated with performing the operation
6043---------------------------------------------------------------------------*/
6044typedef void (*WDI_HALDumpCmdRspCb)(WDI_HALDumpCmdRspParamsType* wdiHalDumpCmdRsp,
6045 void* pUserData);
6046
6047/*---------------------------------------------------------------------------
6048 WDI_SetPowerParamsCb
6049
6050 DESCRIPTION
6051
6052 This callback is invoked by DAL when it has received a Set Power Param
6053 response from the underlying device.
6054
6055 PARAMETERS
6056
6057 IN
6058 wdiStatus: response status received from HAL
6059 pUserData: user data
6060
6061
6062
6063 RETURN VALUE
6064 The result code associated with performing the operation
6065---------------------------------------------------------------------------*/
6066typedef void (*WDI_SetPowerParamsCb)(WDI_Status wdiStatus,
6067 void* pUserData);
6068
6069#ifdef WLAN_FEATURE_GTK_OFFLOAD
6070/*---------------------------------------------------------------------------
6071 WDI_GtkOffloadCb
6072
6073 DESCRIPTION
6074
6075 This callback is invoked by DAL when it has received a GTK offload
6076 response from the underlying device.
6077
6078 PARAMETERS
6079
6080 IN
6081 wdiStatus: response status received from HAL
6082 pUserData: user data
6083
6084
6085
6086 RETURN VALUE
6087 The result code associated with performing the operation
6088---------------------------------------------------------------------------*/
6089typedef void (*WDI_GtkOffloadCb)(WDI_Status wdiStatus,
6090 void* pUserData);
6091
6092/*---------------------------------------------------------------------------
6093 WDI_GtkOffloadGetInfoCb
6094
6095 DESCRIPTION
6096
6097 This callback is invoked by DAL when it has received a GTK offload
6098 information response from the underlying device.
6099
6100 PARAMETERS
6101
6102 IN
6103 wdiStatus: response status received from HAL
6104 pUserData: user data
6105
6106
6107
6108 RETURN VALUE
6109 The result code associated with performing the operation
6110---------------------------------------------------------------------------*/
6111typedef void (*WDI_GtkOffloadGetInfoCb)(WDI_Status wdiStatus,
6112 void* pUserData);
6113#endif // WLAN_FEATURE_GTK_OFFLOAD
6114
6115/*---------------------------------------------------------------------------
6116 WDI_SetTmLevelCb
6117
6118 DESCRIPTION
6119
6120 This callback is invoked by DAL when it has received a Set New TM Level
6121 done response from the underlying device.
6122
6123 PARAMETERS
6124
6125 IN
6126 wdiStatus: response status received from HAL
6127 pUserData: user data
6128
6129
6130
6131 RETURN VALUE
6132 The result code associated with performing the operation
6133---------------------------------------------------------------------------*/
6134typedef void (*WDI_SetTmLevelCb)(WDI_Status wdiStatus,
6135 void* pUserData);
6136
6137/*---------------------------------------------------------------------------
6138 WDI_featureCapsExchangeCb
6139
6140 DESCRIPTION
6141
6142 This callback is invoked by DAL when it has received a HAL Feature Capbility
6143 Exchange Response the HAL layer. This callback is put to mantain code
6144 similarity and is not being used right now.
6145
6146 PARAMETERS
6147
6148 IN
6149 wdiFeatCapRspParams: response parameters received from HAL
6150 pUserData: user data
6151
6152 RETURN VALUE
6153 The result code associated with performing the operation
6154---------------------------------------------------------------------------*/
6155typedef void (*WDI_featureCapsExchangeCb)(void* wdiFeatCapRspParams,
6156 void* pUserData);
6157
6158/*========================================================================
6159 * Function Declarations and Documentation
6160 ==========================================================================*/
6161
6162/*========================================================================
6163
6164 INITIALIZATION APIs
6165
6166==========================================================================*/
6167
6168/**
6169 @brief WDI_Init is used to initialize the DAL.
6170
6171 DAL will allocate all the resources it needs. It will open PAL, it will also
6172 open both the data and the control transport which in their turn will open
6173 DXE/SMD or any other drivers that they need.
6174
6175 @param pOSContext: pointer to the OS context provided by the UMAC
6176 will be passed on to PAL on Open
6177 ppWDIGlobalCtx: output pointer of Global Context
6178 pWdiDevCapability: output pointer of device capability
6179
6180 @return Result of the function call
6181*/
6182WDI_Status
6183WDI_Init
6184(
6185 void* pOSContext,
6186 void** ppWDIGlobalCtx,
6187 WDI_DeviceCapabilityType* pWdiDevCapability,
6188 unsigned int driverType
6189);
6190
6191/**
6192 @brief WDI_Start will be called when the upper MAC is ready to
6193 commence operation with the WLAN Device. Upon the call
6194 of this API the WLAN DAL will pack and send a HAL Start
6195 message to the lower RIVA sub-system if the SMD channel
6196 has been fully opened and the RIVA subsystem is up.
6197
6198 If the RIVA sub-system is not yet up and running DAL
6199 will queue the request for Open and will wait for the
6200 SMD notification before attempting to send down the
6201 message to HAL.
6202
6203 WDI_Init must have been called.
6204
6205 @param wdiStartParams: the start parameters as specified by
6206 the Device Interface
6207
6208 wdiStartRspCb: callback for passing back the response of
6209 the start operation received from the device
6210
6211 pUserData: user data will be passed back with the
6212 callback
6213
6214 @see WDI_Start
6215 @return Result of the function call
6216*/
6217WDI_Status
6218WDI_Start
6219(
6220 WDI_StartReqParamsType* pwdiStartParams,
6221 WDI_StartRspCb wdiStartRspCb,
6222 void* pUserData
6223);
6224
6225
6226/**
6227 @brief WDI_Stop will be called when the upper MAC is ready to
6228 stop any operation with the WLAN Device. Upon the call
6229 of this API the WLAN DAL will pack and send a HAL Stop
6230 message to the lower RIVA sub-system if the DAL Core is
6231 in started state.
6232
6233 In state BUSY this request will be queued.
6234
6235 Request will not be accepted in any other state.
6236
6237 WDI_Start must have been called.
6238
6239 @param wdiStopParams: the stop parameters as specified by
6240 the Device Interface
6241
6242 wdiStopRspCb: callback for passing back the response of
6243 the stop operation received from the device
6244
6245 pUserData: user data will be passed back with the
6246 callback
6247
6248 @see WDI_Start
6249 @return Result of the function call
6250*/
6251WDI_Status
6252WDI_Stop
6253(
6254 WDI_StopReqParamsType* pwdiStopParams,
6255 WDI_StopRspCb wdiStopRspCb,
6256 void* pUserData
6257);
6258
6259/**
6260 @brief WDI_Close will be called when the upper MAC no longer
6261 needs to interract with DAL. DAL will free its control
6262 block.
6263
6264 It is only accepted in state STOPPED.
6265
6266 WDI_Stop must have been called.
6267
6268 @param none
6269
6270 @see WDI_Stop
6271 @return Result of the function call
6272*/
6273WDI_Status
6274WDI_Close
6275(
6276 void
6277);
6278
6279
6280/**
6281 @brief WDI_Shutdown will be called during 'SSR shutdown' operation.
6282 This will do most of the WDI stop & close
6283 operations without doing any handshake with Riva
6284
6285 This will also make sure that the control transport
6286 will NOT be closed.
6287
6288 This request will not be queued.
6289
6290
6291 WDI_Start must have been called.
6292
6293 @param closeTransport: Close control channel if this is set
6294
6295 @return Result of the function call
6296*/
6297WDI_Status
6298WDI_Shutdown
6299(
6300 wpt_boolean closeTransport
6301);
6302
6303/*========================================================================
6304
6305 SCAN APIs
6306
6307==========================================================================*/
6308
6309/**
6310 @brief WDI_InitScanReq will be called when the upper MAC wants
6311 the WLAN Device to get ready for a scan procedure. Upon
6312 the call of this API the WLAN DAL will pack and send a
6313 HAL Init Scan request message to the lower RIVA
6314 sub-system if DAL is in state STARTED.
6315
6316 In state BUSY this request will be queued. Request won't
6317 be allowed in any other state.
6318
6319 WDI_Start must have been called.
6320
6321 @param wdiInitScanParams: the init scan parameters as specified
6322 by the Device Interface
6323
6324 wdiInitScanRspCb: callback for passing back the response
6325 of the init scan operation received from the device
6326
6327 pUserData: user data will be passed back with the
6328 callback
6329
6330 @see WDI_Start
6331 @return Result of the function call
6332*/
6333WDI_Status
6334WDI_InitScanReq
6335(
6336 WDI_InitScanReqParamsType* pwdiInitScanParams,
6337 WDI_InitScanRspCb wdiInitScanRspCb,
6338 void* pUserData
6339);
6340
6341/**
6342 @brief WDI_StartScanReq will be called when the upper MAC
6343 wishes to change the Scan channel on the WLAN Device.
6344 Upon the call of this API the WLAN DAL will pack and
6345 send a HAL Start Scan request message to the lower RIVA
6346 sub-system if DAL is in state STARTED.
6347
6348 In state BUSY this request will be queued. Request won't
6349 be allowed in any other state.
6350
6351 WDI_InitScanReq must have been called.
6352
6353 @param wdiStartScanParams: the start scan parameters as
6354 specified by the Device Interface
6355
6356 wdiStartScanRspCb: callback for passing back the
6357 response of the start scan operation received from the
6358 device
6359
6360 pUserData: user data will be passed back with the
6361 callback
6362
6363 @see WDI_InitScanReq
6364 @return Result of the function call
6365*/
6366WDI_Status
6367WDI_StartScanReq
6368(
6369 WDI_StartScanReqParamsType* pwdiStartScanParams,
6370 WDI_StartScanRspCb wdiStartScanRspCb,
6371 void* pUserData
6372);
6373
6374
6375/**
6376 @brief WDI_EndScanReq will be called when the upper MAC is
6377 wants to end scanning for a particular channel that it
6378 had set before by calling Scan Start on the WLAN Device.
6379 Upon the call of this API the WLAN DAL will pack and
6380 send a HAL End Scan request message to the lower RIVA
6381 sub-system if DAL is in state STARTED.
6382
6383 In state BUSY this request will be queued. Request won't
6384 be allowed in any other state.
6385
6386 WDI_StartScanReq must have been called.
6387
6388 @param wdiEndScanParams: the end scan parameters as specified
6389 by the Device Interface
6390
6391 wdiEndScanRspCb: callback for passing back the response
6392 of the end scan operation received from the device
6393
6394 pUserData: user data will be passed back with the
6395 callback
6396
6397 @see WDI_StartScanReq
6398 @return Result of the function call
6399*/
6400WDI_Status
6401WDI_EndScanReq
6402(
6403 WDI_EndScanReqParamsType* pwdiEndScanParams,
6404 WDI_EndScanRspCb wdiEndScanRspCb,
6405 void* pUserData
6406);
6407
6408
6409/**
6410 @brief WDI_FinishScanReq will be called when the upper MAC has
6411 completed the scan process on the WLAN Device. Upon the
6412 call of this API the WLAN DAL will pack and send a HAL
6413 Finish Scan Request request message to the lower RIVA
6414 sub-system if DAL is in state STARTED.
6415
6416 In state BUSY this request will be queued. Request won't
6417 be allowed in any other state.
6418
6419 WDI_InitScanReq must have been called.
6420
6421 @param wdiFinishScanParams: the finish scan parameters as
6422 specified by the Device Interface
6423
6424 wdiFinishScanRspCb: callback for passing back the
6425 response of the finish scan operation received from the
6426 device
6427
6428 pUserData: user data will be passed back with the
6429 callback
6430
6431 @see WDI_InitScanReq
6432 @return Result of the function call
6433*/
6434WDI_Status
6435WDI_FinishScanReq
6436(
6437 WDI_FinishScanReqParamsType* pwdiFinishScanParams,
6438 WDI_FinishScanRspCb wdiFinishScanRspCb,
6439 void* pUserData
6440);
6441
6442/*========================================================================
6443
6444 ASSOCIATION APIs
6445
6446==========================================================================*/
6447
6448/**
6449 @brief WDI_JoinReq will be called when the upper MAC is ready
6450 to start an association procedure to a BSS. Upon the
6451 call of this API the WLAN DAL will pack and send a HAL
6452 Join request message to the lower RIVA sub-system if
6453 DAL is in state STARTED.
6454
6455 In state BUSY this request will be queued. Request won't
6456 be allowed in any other state.
6457
6458 WDI_Start must have been called.
6459
6460 @param wdiJoinParams: the join parameters as specified by
6461 the Device Interface
6462
6463 wdiJoinRspCb: callback for passing back the response of
6464 the join operation received from the device
6465
6466 pUserData: user data will be passed back with the
6467 callback
6468
6469 @see WDI_Start
6470 @return Result of the function call
6471*/
6472WDI_Status
6473WDI_JoinReq
6474(
6475 WDI_JoinReqParamsType* pwdiJoinParams,
6476 WDI_JoinRspCb wdiJoinRspCb,
6477 void* pUserData
6478);
6479
6480/**
6481 @brief WDI_ConfigBSSReq will be called when the upper MAC
6482 wishes to configure the newly acquired or in process of
6483 being acquired BSS to the HW . Upon the call of this API
6484 the WLAN DAL will pack and send a HAL Config BSS request
6485 message to the lower RIVA sub-system if DAL is in state
6486 STARTED.
6487
6488 In state BUSY this request will be queued. Request won't
6489 be allowed in any other state.
6490
6491 WDI_JoinReq must have been called.
6492
6493 @param wdiConfigBSSParams: the config BSS parameters as
6494 specified by the Device Interface
6495
6496 wdiConfigBSSRspCb: callback for passing back the
6497 response of the config BSS operation received from the
6498 device
6499
6500 pUserData: user data will be passed back with the
6501 callback
6502
6503 @see WDI_JoinReq
6504 @return Result of the function call
6505*/
6506WDI_Status
6507WDI_ConfigBSSReq
6508(
6509 WDI_ConfigBSSReqParamsType* pwdiConfigBSSParams,
6510 WDI_ConfigBSSRspCb wdiConfigBSSRspCb,
6511 void* pUserData
6512);
6513
6514/**
6515 @brief WDI_DelBSSReq will be called when the upper MAC is
6516 dissasociating from the BSS and wishes to notify HW.
6517 Upon the call of this API the WLAN DAL will pack and
6518 send a HAL Del BSS request message to the lower RIVA
6519 sub-system if DAL is in state STARTED.
6520
6521 In state BUSY this request will be queued. Request won't
6522 be allowed in any other state.
6523
6524 WDI_ConfigBSSReq or WDI_PostAssocReq must have been called.
6525
6526 @param wdiDelBSSParams: the del BSS parameters as specified by
6527 the Device Interface
6528
6529 wdiDelBSSRspCb: callback for passing back the response
6530 of the del bss operation received from the device
6531
6532 pUserData: user data will be passed back with the
6533 callback
6534
6535 @see WDI_ConfigBSSReq, WDI_PostAssocReq
6536 @return Result of the function call
6537*/
6538WDI_Status
6539WDI_DelBSSReq
6540(
6541 WDI_DelBSSReqParamsType* pwdiDelBSSParams,
6542 WDI_DelBSSRspCb wdiDelBSSRspCb,
6543 void* pUserData
6544);
6545
6546/**
6547 @brief WDI_PostAssocReq will be called when the upper MAC has
6548 associated to a BSS and wishes to configure HW for
6549 associated state. Upon the call of this API the WLAN DAL
6550 will pack and send a HAL Post Assoc request message to
6551 the lower RIVA sub-system if DAL is in state STARTED.
6552
6553 In state BUSY this request will be queued. Request won't
6554 be allowed in any other state.
6555
6556 WDI_JoinReq must have been called.
6557
6558 @param wdiPostAssocReqParams: the assoc parameters as specified
6559 by the Device Interface
6560
6561 wdiPostAssocRspCb: callback for passing back the
6562 response of the post assoc operation received from the
6563 device
6564
6565 pUserData: user data will be passed back with the
6566 callback
6567
6568 @see WDI_JoinReq
6569 @return Result of the function call
6570*/
6571WDI_Status
6572WDI_PostAssocReq
6573(
6574 WDI_PostAssocReqParamsType* pwdiPostAssocReqParams,
6575 WDI_PostAssocRspCb wdiPostAssocRspCb,
6576 void* pUserData
6577);
6578
6579/**
6580 @brief WDI_DelSTAReq will be called when the upper MAC when an
6581 association with another STA has ended and the station
6582 must be deleted from HW. Upon the call of this API the
6583 WLAN DAL will pack and send a HAL Del STA request
6584 message to the lower RIVA sub-system if DAL is in state
6585 STARTED.
6586
6587 In state BUSY this request will be queued. Request won't
6588 be allowed in any other state.
6589
6590 WDI_PostAssocReq must have been called.
6591
6592 @param wdiDelSTAParams: the Del STA parameters as specified by
6593 the Device Interface
6594
6595 wdiDelSTARspCb: callback for passing back the response
6596 of the del STA operation received from the device
6597
6598 pUserData: user data will be passed back with the
6599 callback
6600
6601 @see WDI_PostAssocReq
6602 @return Result of the function call
6603*/
6604WDI_Status
6605WDI_DelSTAReq
6606(
6607 WDI_DelSTAReqParamsType* pwdiDelSTAParams,
6608 WDI_DelSTARspCb wdiDelSTARspCb,
6609 void* pUserData
6610);
6611
6612/*========================================================================
6613
6614 SECURITY APIs
6615
6616==========================================================================*/
6617
6618/**
6619 @brief WDI_SetBSSKeyReq will be called when the upper MAC ito
6620 install a BSS encryption key on the HW. Upon the call of
6621 this API the WLAN DAL will pack and send a HAL Start
6622 request message to the lower RIVA sub-system if DAL is
6623 in state STARTED.
6624
6625 In state BUSY this request will be queued. Request won't
6626 be allowed in any other state.
6627
6628 WDI_PostAssocReq must have been called.
6629
6630 @param wdiSetBSSKeyParams: the BSS Key set parameters as
6631 specified by the Device Interface
6632
6633 wdiSetBSSKeyRspCb: callback for passing back the
6634 response of the set BSS Key operation received from the
6635 device
6636
6637 pUserData: user data will be passed back with the
6638 callback
6639
6640 @see WDI_PostAssocReq
6641 @return Result of the function call
6642*/
6643WDI_Status
6644WDI_SetBSSKeyReq
6645(
6646 WDI_SetBSSKeyReqParamsType* pwdiSetBSSKeyParams,
6647 WDI_SetBSSKeyRspCb wdiSetBSSKeyRspCb,
6648 void* pUserData
6649);
6650
6651
6652/**
6653 @brief WDI_RemoveBSSKeyReq will be called when the upper MAC to
6654 uninstall a BSS key from HW. Upon the call of this API
6655 the WLAN DAL will pack and send a HAL Remove BSS Key
6656 request message to the lower RIVA sub-system if DAL is
6657 in state STARTED.
6658
6659 In state BUSY this request will be queued. Request won't
6660 be allowed in any other state.
6661
6662 WDI_SetBSSKeyReq must have been called.
6663
6664 @param wdiRemoveBSSKeyParams: the remove BSS key parameters as
6665 specified by the Device Interface
6666
6667 wdiRemoveBSSKeyRspCb: callback for passing back the
6668 response of the remove BSS key operation received from
6669 the device
6670
6671 pUserData: user data will be passed back with the
6672 callback
6673
6674 @see WDI_SetBSSKeyReq
6675 @return Result of the function call
6676*/
6677WDI_Status
6678WDI_RemoveBSSKeyReq
6679(
6680 WDI_RemoveBSSKeyReqParamsType* pwdiRemoveBSSKeyParams,
6681 WDI_RemoveBSSKeyRspCb wdiRemoveBSSKeyRspCb,
6682 void* pUserData
6683);
6684
6685
6686/**
6687 @brief WDI_SetSTAKeyReq will be called when the upper MAC is
6688 ready to install a STA(ast) encryption key in HW. Upon
6689 the call of this API the WLAN DAL will pack and send a
6690 HAL Set STA Key request message to the lower RIVA
6691 sub-system if DAL is in state STARTED.
6692
6693 In state BUSY this request will be queued. Request won't
6694 be allowed in any other state.
6695
6696 WDI_PostAssocReq must have been called.
6697
6698 @param wdiSetSTAKeyParams: the set STA key parameters as
6699 specified by the Device Interface
6700
6701 wdiSetSTAKeyRspCb: callback for passing back the
6702 response of the set STA key operation received from the
6703 device
6704
6705 pUserData: user data will be passed back with the
6706 callback
6707
6708 @see WDI_PostAssocReq
6709 @return Result of the function call
6710*/
6711WDI_Status
6712WDI_SetSTAKeyReq
6713(
6714 WDI_SetSTAKeyReqParamsType* pwdiSetSTAKeyParams,
6715 WDI_SetSTAKeyRspCb wdiSetSTAKeyRspCb,
6716 void* pUserData
6717);
6718
6719
6720/**
6721 @brief WDI_RemoveSTAKeyReq will be called when the upper MAC
6722 wants to unistall a previously set STA key in HW. Upon
6723 the call of this API the WLAN DAL will pack and send a
6724 HAL Remove STA Key request message to the lower RIVA
6725 sub-system if DAL is in state STARTED.
6726
6727 In state BUSY this request will be queued. Request won't
6728 be allowed in any other state.
6729
6730 WDI_SetSTAKeyReq must have been called.
6731
6732 @param wdiRemoveSTAKeyParams: the remove STA key parameters as
6733 specified by the Device Interface
6734
6735 wdiRemoveSTAKeyRspCb: callback for passing back the
6736 response of the remove STA key operation received from
6737 the device
6738
6739 pUserData: user data will be passed back with the
6740 callback
6741
6742 @see WDI_SetSTAKeyReq
6743 @return Result of the function call
6744*/
6745WDI_Status
6746WDI_RemoveSTAKeyReq
6747(
6748 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTAKeyParams,
6749 WDI_RemoveSTAKeyRspCb wdiRemoveSTAKeyRspCb,
6750 void* pUserData
6751);
6752
6753/**
6754 @brief WDI_SetSTABcastKeyReq will be called when the upper MAC
6755 wants to install a STA Bcast encryption key on the HW.
6756 Upon the call of this API the WLAN DAL will pack and
6757 send a HAL Start request message to the lower RIVA
6758 sub-system if DAL is in state STARTED.
6759
6760 In state BUSY this request will be queued. Request won't
6761 be allowed in any other state.
6762
6763 WDI_PostAssocReq must have been called.
6764
6765 @param pwdiSetSTABcastKeyParams: the BSS Key set parameters as
6766 specified by the Device Interface
6767
6768 wdiSetSTABcastKeyRspCb: callback for passing back the
6769 response of the set BSS Key operation received from the
6770 device
6771
6772 pUserData: user data will be passed back with the
6773 callback
6774
6775 @see WDI_PostAssocReq
6776 @return Result of the function call
6777*/
6778WDI_Status
6779WDI_SetSTABcastKeyReq
6780(
6781 WDI_SetSTAKeyReqParamsType* pwdiSetSTABcastKeyParams,
6782 WDI_SetSTAKeyRspCb wdiSetSTABcastKeyRspCb,
6783 void* pUserData
6784);
6785
6786
6787/**
6788 @brief WDI_RemoveSTABcastKeyReq will be called when the upper
6789 MAC to uninstall a STA Bcast key from HW. Upon the call
6790 of this API the WLAN DAL will pack and send a HAL Remove
6791 STA Bcast Key request message to the lower RIVA
6792 sub-system if DAL is in state STARTED.
6793
6794 In state BUSY this request will be queued. Request won't
6795 be allowed in any other state.
6796
6797 WDI_SetSTABcastKeyReq must have been called.
6798
6799 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
6800 parameters as specified by the Device
6801 Interface
6802
6803 wdiRemoveSTABcastKeyRspCb: callback for passing back the
6804 response of the remove STA Bcast key operation received
6805 from the device
6806
6807 pUserData: user data will be passed back with the
6808 callback
6809
6810 @see WDI_SetSTABcastKeyReq
6811 @return Result of the function call
6812*/
6813WDI_Status
6814WDI_RemoveSTABcastKeyReq
6815(
6816 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTABcastKeyParams,
6817 WDI_RemoveSTAKeyRspCb wdiRemoveSTABcastKeyRspCb,
6818 void* pUserData
6819);
6820
6821/**
6822 @brief WDI_SetMaxTxPowerReq will be called when the upper
6823 MAC wants to set Max Tx Power to HW. Upon the
6824 call of this API the WLAN DAL will pack and send a HAL
6825 Remove STA Bcast Key request message to the lower RIVA
6826 sub-system if DAL is in state STARTED.
6827
6828 In state BUSY this request will be queued. Request won't
6829 be allowed in any other state.
6830
6831 WDI_SetSTABcastKeyReq must have been called.
6832
6833 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
6834 parameters as specified by the Device
6835 Interface
6836
6837 wdiRemoveSTABcastKeyRspCb: callback for passing back the
6838 response of the remove STA Bcast key operation received
6839 from the device
6840
6841 pUserData: user data will be passed back with the
6842 callback
6843
6844 @see WDI_SetMaxTxPowerReq
6845 @return Result of the function call
6846*/
6847WDI_Status
6848WDI_SetMaxTxPowerReq
6849(
6850 WDI_SetMaxTxPowerParamsType* pwdiSetMaxTxPowerParams,
6851 WDA_SetMaxTxPowerRspCb wdiReqStatusCb,
6852 void* pUserData
6853);
6854
6855#ifdef FEATURE_WLAN_CCX
6856/**
6857 @brief WDI_TSMStatsReq will be called by the upper MAC to fetch
6858 Traffic Stream metrics.
6859 In state BUSY this request will be queued. Request won't
6860 be allowed in any other state.
6861
6862 @param wdiAddTsReqParams: the add TS parameters as specified by
6863 the Device Interface
6864
6865 wdiAddTsRspCb: callback for passing back the response of
6866 the add TS operation received from the device
6867
6868 pUserData: user data will be passed back with the
6869 callback
6870
6871 @see WDI_PostAssocReq
6872 @return Result of the function call
6873*/
6874WDI_Status
6875WDI_TSMStatsReq
6876(
6877 WDI_TSMStatsReqParamsType* pwdiTsmStatsReqParams,
6878 WDI_TsmRspCb wdiTsmStatsRspCb,
6879 void* pUserData
6880);
6881
6882
6883#endif
6884
6885/*========================================================================
6886
6887 QoS and BA APIs
6888
6889==========================================================================*/
6890
6891/**
6892 @brief WDI_AddTSReq will be called when the upper MAC to inform
6893 the device of a successful add TSpec negotiation. HW
6894 needs to receive the TSpec Info from the UMAC in order
6895 to configure properly the QoS data traffic. Upon the
6896 call of this API the WLAN DAL will pack and send a HAL
6897 Add TS request message to the lower RIVA sub-system if
6898 DAL is in state STARTED.
6899
6900 In state BUSY this request will be queued. Request won't
6901 be allowed in any other state.
6902
6903 WDI_PostAssocReq must have been called.
6904
6905 @param wdiAddTsReqParams: the add TS parameters as specified by
6906 the Device Interface
6907
6908 wdiAddTsRspCb: callback for passing back the response of
6909 the add TS operation received from the device
6910
6911 pUserData: user data will be passed back with the
6912 callback
6913
6914 @see WDI_PostAssocReq
6915 @return Result of the function call
6916*/
6917WDI_Status
6918WDI_AddTSReq
6919(
6920 WDI_AddTSReqParamsType* pwdiAddTsReqParams,
6921 WDI_AddTsRspCb wdiAddTsRspCb,
6922 void* pUserData
6923);
6924
6925
6926
6927/**
6928 @brief WDI_DelTSReq will be called when the upper MAC has ended
6929 admission on a specific AC. This is to inform HW that
6930 QoS traffic parameters must be rest. Upon the call of
6931 this API the WLAN DAL will pack and send a HAL Del TS
6932 request message to the lower RIVA sub-system if DAL is
6933 in state STARTED.
6934
6935 In state BUSY this request will be queued. Request won't
6936 be allowed in any other state.
6937
6938 WDI_AddTSReq must have been called.
6939
6940 @param wdiDelTsReqParams: the del TS parameters as specified by
6941 the Device Interface
6942
6943 wdiDelTsRspCb: callback for passing back the response of
6944 the del TS operation received from the device
6945
6946 pUserData: user data will be passed back with the
6947 callback
6948
6949 @see WDI_AddTSReq
6950 @return Result of the function call
6951*/
6952WDI_Status
6953WDI_DelTSReq
6954(
6955 WDI_DelTSReqParamsType* pwdiDelTsReqParams,
6956 WDI_DelTsRspCb wdiDelTsRspCb,
6957 void* pUserData
6958);
6959
6960
6961
6962/**
6963 @brief WDI_UpdateEDCAParams will be called when the upper MAC
6964 wishes to update the EDCA parameters used by HW for QoS
6965 data traffic. Upon the call of this API the WLAN DAL
6966 will pack and send a HAL Update EDCA Params request
6967 message to the lower RIVA sub-system if DAL is in state
6968 STARTED.
6969
6970 In state BUSY this request will be queued. Request won't
6971 be allowed in any other state.
6972
6973 WDI_PostAssocReq must have been called.
6974
6975 @param wdiUpdateEDCAParams: the start parameters as specified
6976 by the Device Interface
6977
6978 wdiUpdateEDCAParamsRspCb: callback for passing back the
6979 response of the start operation received from the device
6980
6981 pUserData: user data will be passed back with the
6982 callback
6983
6984 @see WDI_PostAssocReq
6985 @return Result of the function call
6986*/
6987WDI_Status
6988WDI_UpdateEDCAParams
6989(
6990 WDI_UpdateEDCAParamsType* pwdiUpdateEDCAParams,
6991 WDI_UpdateEDCAParamsRspCb wdiUpdateEDCAParamsRspCb,
6992 void* pUserData
6993);
6994
6995
6996
6997/**
6998 @brief WDI_AddBASessionReq will be called when the upper MAC has setup
6999 successfully a BA session and needs to notify the HW for
7000 the appropriate settings to take place. Upon the call of
7001 this API the WLAN DAL will pack and send a HAL Add BA
7002 request message to the lower RIVA sub-system if DAL is
7003 in state STARTED.
7004
7005 In state BUSY this request will be queued. Request won't
7006 be allowed in any other state.
7007
7008 WDI_PostAssocReq must have been called.
7009
7010 @param wdiAddBAReqParams: the add BA parameters as specified by
7011 the Device Interface
7012
7013 wdiAddBARspCb: callback for passing back the response of
7014 the add BA operation received from the device
7015
7016 pUserData: user data will be passed back with the
7017 callback
7018
7019 @see WDI_PostAssocReq
7020 @return Result of the function call
7021*/
7022WDI_Status
7023WDI_AddBASessionReq
7024(
7025 WDI_AddBASessionReqParamsType* pwdiAddBASessionReqParams,
7026 WDI_AddBASessionRspCb wdiAddBASessionRspCb,
7027 void* pUserData
7028);
7029
7030
7031/**
7032 @brief WDI_DelBAReq will be called when the upper MAC wants to
7033 inform HW that it has deleted a previously created BA
7034 session. Upon the call of this API the WLAN DAL will
7035 pack and send a HAL Del BA request message to the lower
7036 RIVA sub-system if DAL is in state STARTED.
7037
7038 In state BUSY this request will be queued. Request won't
7039 be allowed in any other state.
7040
7041 WDI_AddBAReq must have been called.
7042
7043 @param wdiDelBAReqParams: the del BA parameters as specified by
7044 the Device Interface
7045
7046 wdiDelBARspCb: callback for passing back the response of
7047 the del BA operation received from the device
7048
7049 pUserData: user data will be passed back with the
7050 callback
7051
7052 @see WDI_AddBAReq
7053 @return Result of the function call
7054*/
7055WDI_Status
7056WDI_DelBAReq
7057(
7058 WDI_DelBAReqParamsType* pwdiDelBAReqParams,
7059 WDI_DelBARspCb wdiDelBARspCb,
7060 void* pUserData
7061);
7062
7063/**
7064 @brief WDI_UpdateBeaconParamsReq will be called when the upper MAC wants to
7065 inform HW that there is a change in the beacon parameters
7066 Upon the call of this API the WLAN DAL will
7067 pack and send a UpdateBeacon Params message to the lower
7068 RIVA sub-system if DAL is in state STARTED.
7069
7070 In state BUSY this request will be queued. Request won't
7071 be allowed in any other state.
7072
7073 WDI_UpdateBeaconParamsReq must have been called.
7074
7075 @param WDI_UpdateBeaconParamsType: the Update Beacon parameters as specified by
7076 the Device Interface
7077
7078 WDI_UpdateBeaconParamsRspCb: callback for passing back the response of
7079 the Update Beacon Params operation received from the device
7080
7081 pUserData: user data will be passed back with the
7082 callback
7083
7084 @see WDI_AddBAReq
7085 @return Result of the function call
7086*/
7087
7088WDI_Status
7089WDI_UpdateBeaconParamsReq
7090(
7091 WDI_UpdateBeaconParamsType * pwdiUpdateBeaconParams,
7092 WDI_UpdateBeaconParamsRspCb wdiUpdateBeaconParamsRspCb,
7093 void* pUserData
7094);
7095
7096
7097/**
7098 @brief WDI_SendBeaconParamsReq will be called when the upper MAC wants to
7099 update the beacon template to be transmitted as BT MAP STA/IBSS/Soft AP
7100 Upon the call of this API the WLAN DAL will
7101 pack and send the beacon Template message to the lower
7102 RIVA sub-system if DAL is in state STARTED.
7103
7104 In state BUSY this request will be queued. Request won't
7105 be allowed in any other state.
7106
7107 WDI_SendBeaconParamsReq must have been called.
7108
7109 @param WDI_SendBeaconParamsType: the Update Beacon parameters as specified by
7110 the Device Interface
7111
7112 WDI_SendBeaconParamsRspCb: callback for passing back the response of
7113 the Send Beacon Params operation received from the device
7114
7115 pUserData: user data will be passed back with the
7116 callback
7117
7118 @see WDI_AddBAReq
7119 @return Result of the function call
7120*/
7121
7122WDI_Status
7123WDI_SendBeaconParamsReq
7124(
7125 WDI_SendBeaconParamsType* pwdiSendBeaconParams,
7126 WDI_SendBeaconParamsRspCb wdiSendBeaconParamsRspCb,
7127 void* pUserData
7128);
7129
7130
7131/**
7132 @brief WDI_UpdateProbeRspTemplateReq will be called when the
7133 upper MAC wants to update the probe response template to
7134 be transmitted as Soft AP
7135 Upon the call of this API the WLAN DAL will
7136 pack and send the probe rsp template message to the
7137 lower RIVA sub-system if DAL is in state STARTED.
7138
7139 In state BUSY this request will be queued. Request won't
7140 be allowed in any other state.
7141
7142
7143 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
7144 specified by the Device Interface
7145
7146 wdiSendBeaconParamsRspCb: callback for passing back the
7147 response of the Send Beacon Params operation received
7148 from the device
7149
7150 pUserData: user data will be passed back with the
7151 callback
7152
7153 @see WDI_AddBAReq
7154 @return Result of the function call
7155*/
7156
7157WDI_Status
7158WDI_UpdateProbeRspTemplateReq
7159(
7160 WDI_UpdateProbeRspTemplateParamsType* pwdiUpdateProbeRspParams,
7161 WDI_UpdateProbeRspTemplateRspCb wdiSendBeaconParamsRspCb,
7162 void* pUserData
7163);
7164
7165#ifdef WLAN_FEATURE_P2P
7166/**
7167 @brief WDI_SetP2PGONOAReq will be called when the
7168 upper MAC wants to send Notice of Absence
7169 Upon the call of this API the WLAN DAL will
7170 pack and send the probe rsp template message to the
7171 lower RIVA sub-system if DAL is in state STARTED.
7172
7173 In state BUSY this request will be queued. Request won't
7174 be allowed in any other state.
7175
7176
7177 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
7178 specified by the Device Interface
7179
7180 wdiSendBeaconParamsRspCb: callback for passing back the
7181 response of the Send Beacon Params operation received
7182 from the device
7183
7184 pUserData: user data will be passed back with the
7185 callback
7186
7187 @see WDI_AddBAReq
7188 @return Result of the function call
7189*/
7190WDI_Status
7191WDI_SetP2PGONOAReq
7192(
7193 WDI_SetP2PGONOAReqParamsType* pwdiP2PGONOAReqParams,
7194 WDI_SetP2PGONOAReqParamsRspCb wdiP2PGONOAReqParamsRspCb,
7195 void* pUserData
7196);
7197#endif
7198
7199
7200/*========================================================================
7201
7202 Power Save APIs
7203
7204==========================================================================*/
7205
7206/**
7207 @brief WDI_SetPwrSaveCfgReq will be called when the upper MAC
7208 wants to set the power save related configurations of
7209 the WLAN Device. Upon the call of this API the WLAN DAL
7210 will pack and send a HAL Update CFG request message to
7211 the lower RIVA sub-system if DAL is in state STARTED.
7212
7213 In state BUSY this request will be queued. Request won't
7214 be allowed in any other state.
7215
7216 WDI_Start must have been called.
7217
7218 @param pwdiPowerSaveCfg: the power save cfg parameters as
7219 specified by the Device Interface
7220
7221 wdiSetPwrSaveCfgCb: callback for passing back the
7222 response of the set power save cfg operation received
7223 from the device
7224
7225 pUserData: user data will be passed back with the
7226 callback
7227
7228 @see WDI_Start
7229 @return Result of the function call
7230*/
7231WDI_Status
7232WDI_SetPwrSaveCfgReq
7233(
7234 WDI_UpdateCfgReqParamsType* pwdiPowerSaveCfg,
7235 WDI_SetPwrSaveCfgCb wdiSetPwrSaveCfgCb,
7236 void* pUserData
7237);
7238
7239/**
7240 @brief WDI_EnterImpsReq will be called when the upper MAC to
7241 request the device to get into IMPS power state. Upon
7242 the call of this API the WLAN DAL will send a HAL Enter
7243 IMPS request message to the lower RIVA sub-system if DAL
7244 is in state STARTED.
7245
7246 In state BUSY this request will be queued. Request won't
7247 be allowed in any other state.
7248
7249
7250 @param wdiEnterImpsRspCb: callback for passing back the
7251 response of the Enter IMPS operation received from the
7252 device
7253
7254 pUserData: user data will be passed back with the
7255 callback
7256
7257 @see WDI_Start
7258 @return Result of the function call
7259*/
7260WDI_Status
7261WDI_EnterImpsReq
7262(
7263 WDI_EnterImpsRspCb wdiEnterImpsRspCb,
7264 void* pUserData
7265);
7266
7267/**
7268 @brief WDI_ExitImpsReq will be called when the upper MAC to
7269 request the device to get out of IMPS power state. Upon
7270 the call of this API the WLAN DAL will send a HAL Exit
7271 IMPS request message to the lower RIVA sub-system if DAL
7272 is in state STARTED.
7273
7274 In state BUSY this request will be queued. Request won't
7275 be allowed in any other state.
7276
7277
7278
7279 @param wdiExitImpsRspCb: callback for passing back the response
7280 of the Exit IMPS operation received from the device
7281
7282 pUserData: user data will be passed back with the
7283 callback
7284
7285 @see WDI_Start
7286 @return Result of the function call
7287*/
7288WDI_Status
7289WDI_ExitImpsReq
7290(
7291 WDI_ExitImpsRspCb wdiExitImpsRspCb,
7292 void* pUserData
7293);
7294
7295/**
7296 @brief WDI_EnterBmpsReq will be called when the upper MAC to
7297 request the device to get into BMPS power state. Upon
7298 the call of this API the WLAN DAL will pack and send a
7299 HAL Enter BMPS request message to the lower RIVA
7300 sub-system if DAL is in state STARTED.
7301
7302 In state BUSY this request will be queued. Request won't
7303 be allowed in any other state.
7304
7305 WDI_PostAssocReq must have been called.
7306
7307 @param pwdiEnterBmpsReqParams: the Enter BMPS parameters as
7308 specified by the Device Interface
7309
7310 wdiEnterBmpsRspCb: callback for passing back the
7311 response of the Enter BMPS operation received from the
7312 device
7313
7314 pUserData: user data will be passed back with the
7315 callback
7316
7317 @see WDI_PostAssocReq
7318 @return Result of the function call
7319*/
7320WDI_Status
7321WDI_EnterBmpsReq
7322(
7323 WDI_EnterBmpsReqParamsType *pwdiEnterBmpsReqParams,
7324 WDI_EnterBmpsRspCb wdiEnterBmpsRspCb,
7325 void* pUserData
7326);
7327
7328/**
7329 @brief WDI_ExitBmpsReq will be called when the upper MAC to
7330 request the device to get out of BMPS power state. Upon
7331 the call of this API the WLAN DAL will pack and send a
7332 HAL Exit BMPS request message to the lower RIVA
7333 sub-system if DAL is in state STARTED.
7334
7335 In state BUSY this request will be queued. Request won't
7336 be allowed in any other state.
7337
7338 WDI_PostAssocReq must have been called.
7339
7340 @param pwdiExitBmpsReqParams: the Exit BMPS parameters as
7341 specified by the Device Interface
7342
7343 wdiExitBmpsRspCb: callback for passing back the response
7344 of the Exit BMPS operation received from the device
7345
7346 pUserData: user data will be passed back with the
7347 callback
7348
7349 @see WDI_PostAssocReq
7350 @return Result of the function call
7351*/
7352WDI_Status
7353WDI_ExitBmpsReq
7354(
7355 WDI_ExitBmpsReqParamsType *pwdiExitBmpsReqParams,
7356 WDI_ExitBmpsRspCb wdiExitBmpsRspCb,
7357 void* pUserData
7358);
7359
7360/**
7361 @brief WDI_EnterUapsdReq will be called when the upper MAC to
7362 request the device to get into UAPSD power state. Upon
7363 the call of this API the WLAN DAL will pack and send a
7364 HAL Enter UAPSD request message to the lower RIVA
7365 sub-system if DAL is in state STARTED.
7366
7367 In state BUSY this request will be queued. Request won't
7368 be allowed in any other state.
7369
7370 WDI_PostAssocReq must have been called.
7371 WDI_SetUapsdAcParamsReq must have been called.
7372
7373 @param pwdiEnterUapsdReqParams: the Enter UAPSD parameters as
7374 specified by the Device Interface
7375
7376 wdiEnterUapsdRspCb: callback for passing back the
7377 response of the Enter UAPSD operation received from the
7378 device
7379
7380 pUserData: user data will be passed back with the
7381 callback
7382
7383 @see WDI_PostAssocReq, WDI_SetUapsdAcParamsReq
7384 @return Result of the function call
7385*/
7386WDI_Status
7387WDI_EnterUapsdReq
7388(
7389 WDI_EnterUapsdReqParamsType *pwdiEnterUapsdReqParams,
7390 WDI_EnterUapsdRspCb wdiEnterUapsdRspCb,
7391 void* pUserData
7392);
7393
7394/**
7395 @brief WDI_ExitUapsdReq will be called when the upper MAC to
7396 request the device to get out of UAPSD power state. Upon
7397 the call of this API the WLAN DAL will send a HAL Exit
7398 UAPSD request message to the lower RIVA sub-system if
7399 DAL is in state STARTED.
7400
7401 In state BUSY this request will be queued. Request won't
7402 be allowed in any other state.
7403
7404 WDI_PostAssocReq must have been called.
7405
7406 @param wdiExitUapsdRspCb: callback for passing back the
7407 response of the Exit UAPSD operation received from the
7408 device
7409
7410 pUserData: user data will be passed back with the
7411 callback
7412
7413 @see WDI_PostAssocReq
7414 @return Result of the function call
7415*/
7416WDI_Status
7417WDI_ExitUapsdReq
7418(
7419 WDI_ExitUapsdRspCb wdiExitUapsdRspCb,
7420 void* pUserData
7421);
7422
7423/**
7424 @brief WDI_UpdateUapsdParamsReq will be called when the upper
7425 MAC wants to set the UAPSD related configurations
7426 of an associated STA (while acting as an AP) to the WLAN
7427 Device. Upon the call of this API the WLAN DAL will pack
7428 and send a HAL Update UAPSD params request message to
7429 the lower RIVA sub-system if DAL is in state STARTED.
7430
7431 In state BUSY this request will be queued. Request won't
7432 be allowed in any other state.
7433
7434 WDI_ConfigBSSReq must have been called.
7435
7436 @param pwdiUpdateUapsdReqParams: the UAPSD parameters
7437 as specified by the Device Interface
7438
7439 wdiUpdateUapsdParamsCb: callback for passing back the
7440 response of the update UAPSD params operation received
7441 from the device
7442
7443 pUserData: user data will be passed back with the
7444 callback
7445
7446 @see WDI_ConfigBSSReq
7447 @return Result of the function call
7448*/
7449WDI_Status
7450WDI_UpdateUapsdParamsReq
7451(
7452 WDI_UpdateUapsdReqParamsType *pwdiUpdateUapsdReqParams,
7453 WDI_UpdateUapsdParamsCb wdiUpdateUapsdParamsCb,
7454 void* pUserData
7455);
7456
7457/**
7458 @brief WDI_SetUapsdAcParamsReq will be called when the upper
7459 MAC wants to set the UAPSD related configurations before
7460 requesting for enter UAPSD power state to the WLAN
7461 Device. Upon the call of this API the WLAN DAL will pack
7462 and send a HAL Set UAPSD params request message to
7463 the lower RIVA sub-system if DAL is in state STARTED.
7464
7465 In state BUSY this request will be queued. Request won't
7466 be allowed in any other state.
7467
7468 WDI_PostAssocReq must have been called.
7469
7470 @param pwdiUapsdInfo: the UAPSD parameters as specified by
7471 the Device Interface
7472
7473 wdiSetUapsdAcParamsCb: callback for passing back the
7474 response of the set UAPSD params operation received from
7475 the device
7476
7477 pUserData: user data will be passed back with the
7478 callback
7479
7480 @see WDI_PostAssocReq
7481 @return Result of the function call
7482*/
7483WDI_Status
7484WDI_SetUapsdAcParamsReq
7485(
7486 WDI_SetUapsdAcParamsReqParamsType* pwdiPowerSaveCfg,
7487 WDI_SetUapsdAcParamsCb wdiSetUapsdAcParamsCb,
7488 void* pUserData
7489);
7490
7491/**
7492 @brief WDI_ConfigureRxpFilterReq will be called when the upper
7493 MAC wants to set/reset the RXP filters for received pkts
7494 (MC, BC etc.). Upon the call of this API the WLAN DAL will pack
7495 and send a HAL configure RXP filter request message to
7496 the lower RIVA sub-system.
7497
7498 In state BUSY this request will be queued. Request won't
7499 be allowed in any other state.
7500
7501
7502 @param pwdiConfigureRxpFilterReqParams: the RXP
7503 filter as specified by the Device
7504 Interface
7505
7506 wdiConfigureRxpFilterCb: callback for passing back the
7507 response of the configure RXP filter operation received
7508 from the device
7509
7510 pUserData: user data will be passed back with the
7511 callback
7512
7513 @return Result of the function call
7514*/
7515WDI_Status
7516WDI_ConfigureRxpFilterReq
7517(
7518 WDI_ConfigureRxpFilterReqParamsType *pwdiConfigureRxpFilterReqParams,
7519 WDI_ConfigureRxpFilterCb wdiConfigureRxpFilterCb,
7520 void* pUserData
7521);
7522
7523/**
7524 @brief WDI_SetBeaconFilterReq will be called when the upper MAC
7525 wants to set the beacon filters while in power save.
7526 Upon the call of this API the WLAN DAL will pack and
7527 send a Beacon filter request message to the
7528 lower RIVA sub-system.
7529
7530 In state BUSY this request will be queued. Request won't
7531 be allowed in any other state.
7532
7533
7534 @param pwdiBeaconFilterReqParams: the beacon
7535 filter as specified by the Device
7536 Interface
7537
7538 wdiBeaconFilterCb: callback for passing back the
7539 response of the set beacon filter operation received
7540 from the device
7541
7542 pUserData: user data will be passed back with the
7543 callback
7544
7545 @return Result of the function call
7546*/
7547WDI_Status
7548WDI_SetBeaconFilterReq
7549(
7550 WDI_BeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
7551 WDI_SetBeaconFilterCb wdiBeaconFilterCb,
7552 void* pUserData
7553);
7554
7555/**
7556 @brief WDI_RemBeaconFilterReq will be called when the upper MAC
7557 wants to remove the beacon filter for perticular IE
7558 while in power save. Upon the call of this API the WLAN
7559 DAL will pack and send a remove Beacon filter request
7560 message to the lower RIVA sub-system.
7561
7562 In state BUSY this request will be queued. Request won't
7563 be allowed in any other state.
7564
7565
7566 @param pwdiBeaconFilterReqParams: the beacon
7567 filter as specified by the Device
7568 Interface
7569
7570 wdiBeaconFilterCb: callback for passing back the
7571 response of the remove beacon filter operation received
7572 from the device
7573
7574 pUserData: user data will be passed back with the
7575 callback
7576
7577 @return Result of the function call
7578*/
7579WDI_Status
7580WDI_RemBeaconFilterReq
7581(
7582 WDI_RemBeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
7583 WDI_RemBeaconFilterCb wdiBeaconFilterCb,
7584 void* pUserData
7585);
7586
7587/**
7588 @brief WDI_SetRSSIThresholdsReq will be called when the upper
7589 MAC wants to set the RSSI thresholds related
7590 configurations while in power save. Upon the call of
7591 this API the WLAN DAL will pack and send a HAL Set RSSI
7592 thresholds request message to the lower RIVA
7593 sub-system if DAL is in state STARTED.
7594
7595 In state BUSY this request will be queued. Request won't
7596 be allowed in any other state.
7597
7598 WDI_PostAssocReq must have been called.
7599
7600 @param pwdiUapsdInfo: the UAPSD parameters as specified by
7601 the Device Interface
7602
7603 wdiSetUapsdAcParamsCb: callback for passing back the
7604 response of the set UAPSD params operation received from
7605 the device
7606
7607 pUserData: user data will be passed back with the
7608 callback
7609
7610 @see WDI_PostAssocReq
7611 @return Result of the function call
7612*/
7613WDI_Status
7614WDI_SetRSSIThresholdsReq
7615(
7616 WDI_SetRSSIThresholdsReqParamsType* pwdiRSSIThresholdsParams,
7617 WDI_SetRSSIThresholdsCb wdiSetRSSIThresholdsCb,
7618 void* pUserData
7619);
7620
7621/**
7622 @brief WDI_HostOffloadReq will be called when the upper MAC
7623 wants to set the filter to minimize unnecessary host
7624 wakeup due to broadcast traffic while in power save.
7625 Upon the call of this API the WLAN DAL will pack and
7626 send a HAL host offload request message to the
7627 lower RIVA sub-system if DAL is in state STARTED.
7628
7629 In state BUSY this request will be queued. Request won't
7630 be allowed in any other state.
7631
7632 WDI_PostAssocReq must have been called.
7633
7634 @param pwdiHostOffloadParams: the host offload as specified
7635 by the Device Interface
7636
7637 wdiHostOffloadCb: callback for passing back the response
7638 of the host offload operation received from the
7639 device
7640
7641 pUserData: user data will be passed back with the
7642 callback
7643
7644 @see WDI_PostAssocReq
7645 @return Result of the function call
7646*/
7647WDI_Status
7648WDI_HostOffloadReq
7649(
7650 WDI_HostOffloadReqParamsType* pwdiHostOffloadParams,
7651 WDI_HostOffloadCb wdiHostOffloadCb,
7652 void* pUserData
7653);
7654
7655/**
7656 @brief WDI_KeepAliveReq will be called when the upper MAC
7657 wants to set the filter to send NULL or unsolicited ARP responses
7658 and minimize unnecessary host wakeups due to while in power save.
7659 Upon the call of this API the WLAN DAL will pack and
7660 send a HAL Keep Alive request message to the
7661 lower RIVA sub-system if DAL is in state STARTED.
7662
7663 In state BUSY this request will be queued. Request won't
7664 be allowed in any other state.
7665
7666 WDI_PostAssocReq must have been called.
7667
7668 @param pwdiKeepAliveParams: the Keep Alive as specified
7669 by the Device Interface
7670
7671 wdiKeepAliveCb: callback for passing back the response
7672 of the Keep Alive operation received from the
7673 device
7674
7675 pUserData: user data will be passed back with the
7676 callback
7677
7678 @see WDI_PostAssocReq
7679 @return Result of the function call
7680*/
7681WDI_Status
7682WDI_KeepAliveReq
7683(
7684 WDI_KeepAliveReqParamsType* pwdiKeepAliveParams,
7685 WDI_KeepAliveCb wdiKeepAliveCb,
7686 void* pUserData
7687);
7688
7689/**
7690 @brief WDI_WowlAddBcPtrnReq will be called when the upper MAC
7691 wants to set the Wowl Bcast ptrn to minimize unnecessary
7692 host wakeup due to broadcast traffic while in power
7693 save. Upon the call of this API the WLAN DAL will pack
7694 and send a HAL Wowl Bcast ptrn request message to the
7695 lower RIVA sub-system if DAL is in state STARTED.
7696
7697 In state BUSY this request will be queued. Request won't
7698 be allowed in any other state.
7699
7700 WDI_PostAssocReq must have been called.
7701
7702 @param pwdiWowlAddBcPtrnParams: the Wowl bcast ptrn as
7703 specified by the Device Interface
7704
7705 wdiWowlAddBcPtrnCb: callback for passing back the
7706 response of the add Wowl bcast ptrn operation received
7707 from the device
7708
7709 pUserData: user data will be passed back with the
7710 callback
7711
7712 @see WDI_PostAssocReq
7713 @return Result of the function call
7714*/
7715WDI_Status
7716WDI_WowlAddBcPtrnReq
7717(
7718 WDI_WowlAddBcPtrnReqParamsType* pwdiWowlAddBcPtrnParams,
7719 WDI_WowlAddBcPtrnCb wdiWowlAddBcPtrnCb,
7720 void* pUserData
7721);
7722
7723/**
7724 @brief WDI_WowlDelBcPtrnReq will be called when the upper MAC
7725 wants to clear the Wowl Bcast ptrn. Upon the call of
7726 this API the WLAN DAL will pack and send a HAL delete
7727 Wowl Bcast ptrn request message to the lower RIVA
7728 sub-system if DAL is in state STARTED.
7729
7730 In state BUSY this request will be queued. Request won't
7731 be allowed in any other state.
7732
7733 WDI_WowlAddBcPtrnReq must have been called.
7734
7735 @param pwdiWowlDelBcPtrnParams: the Wowl bcast ptrn as
7736 specified by the Device Interface
7737
7738 wdiWowlDelBcPtrnCb: callback for passing back the
7739 response of the del Wowl bcast ptrn operation received
7740 from the device
7741
7742 pUserData: user data will be passed back with the
7743 callback
7744
7745 @see WDI_WowlAddBcPtrnReq
7746 @return Result of the function call
7747*/
7748WDI_Status
7749WDI_WowlDelBcPtrnReq
7750(
7751 WDI_WowlDelBcPtrnReqParamsType* pwdiWowlDelBcPtrnParams,
7752 WDI_WowlDelBcPtrnCb wdiWowlDelBcPtrnCb,
7753 void* pUserData
7754);
7755
7756/**
7757 @brief WDI_WowlEnterReq will be called when the upper MAC
7758 wants to enter the Wowl state to minimize unnecessary
7759 host wakeup while in power save. Upon the call of this
7760 API the WLAN DAL will pack and send a HAL Wowl enter
7761 request message to the lower RIVA sub-system if DAL is
7762 in state STARTED.
7763
7764 In state BUSY this request will be queued. Request won't
7765 be allowed in any other state.
7766
7767 WDI_PostAssocReq must have been called.
7768
7769 @param pwdiWowlEnterReqParams: the Wowl enter info as
7770 specified by the Device Interface
7771
7772 wdiWowlEnterReqCb: callback for passing back the
7773 response of the enter Wowl operation received from the
7774 device
7775
7776 pUserData: user data will be passed back with the
7777 callback
7778
7779 @see WDI_PostAssocReq
7780 @return Result of the function call
7781*/
7782WDI_Status
7783WDI_WowlEnterReq
7784(
7785 WDI_WowlEnterReqParamsType* pwdiWowlEnterParams,
7786 WDI_WowlEnterReqCb wdiWowlEnterCb,
7787 void* pUserData
7788);
7789
7790/**
7791 @brief WDI_WowlExitReq will be called when the upper MAC
7792 wants to exit the Wowl state. Upon the call of this API
7793 the WLAN DAL will pack and send a HAL Wowl exit request
7794 message to the lower RIVA sub-system if DAL is in state
7795 STARTED.
7796
7797 In state BUSY this request will be queued. Request won't
7798 be allowed in any other state.
7799
7800 WDI_WowlEnterReq must have been called.
7801
7802 @param pwdiWowlExitReqParams: the Wowl exit info as
7803 specified by the Device Interface
7804
7805 wdiWowlExitReqCb: callback for passing back the response
7806 of the exit Wowl operation received from the device
7807
7808 pUserData: user data will be passed back with the
7809 callback
7810
7811 @see WDI_WowlEnterReq
7812 @return Result of the function call
7813*/
7814WDI_Status
7815WDI_WowlExitReq
7816(
7817 WDI_WowlExitReqCb wdiWowlExitCb,
7818 void* pUserData
7819);
7820
7821/**
7822 @brief WDI_ConfigureAppsCpuWakeupStateReq will be called when
7823 the upper MAC wants to dynamically adjusts the listen
7824 interval based on the WLAN/MSM activity. Upon the call
7825 of this API the WLAN DAL will pack and send a HAL
7826 configure Apps Cpu Wakeup State request message to the
7827 lower RIVA sub-system.
7828
7829 In state BUSY this request will be queued. Request won't
7830 be allowed in any other state.
7831
7832
7833 @param pwdiConfigureAppsCpuWakeupStateReqParams: the
7834 Apps Cpu Wakeup State as specified by the
7835 Device Interface
7836
7837 wdiConfigureAppsCpuWakeupStateCb: callback for passing
7838 back the response of the configure Apps Cpu Wakeup State
7839 operation received from the device
7840
7841 pUserData: user data will be passed back with the
7842 callback
7843
7844 @return Result of the function call
7845*/
7846WDI_Status
7847WDI_ConfigureAppsCpuWakeupStateReq
7848(
7849 WDI_ConfigureAppsCpuWakeupStateReqParamsType *pwdiConfigureAppsCpuWakeupStateReqParams,
7850 WDI_ConfigureAppsCpuWakeupStateCb wdiConfigureAppsCpuWakeupStateCb,
7851 void* pUserData
7852);
7853/**
7854 @brief WDI_FlushAcReq will be called when the upper MAC wants
7855 to to perform a flush operation on a given AC. Upon the
7856 call of this API the WLAN DAL will pack and send a HAL
7857 Flush AC request message to the lower RIVA sub-system if
7858 DAL is in state STARTED.
7859
7860 In state BUSY this request will be queued. Request won't
7861 be allowed in any other state.
7862
7863
7864 @param pwdiFlushAcReqParams: the Flush AC parameters as
7865 specified by the Device Interface
7866
7867 wdiFlushAcRspCb: callback for passing back the response
7868 of the Flush AC operation received from the device
7869
7870 pUserData: user data will be passed back with the
7871 callback
7872
7873 @return Result of the function call
7874*/
7875WDI_Status
7876WDI_FlushAcReq
7877(
7878 WDI_FlushAcReqParamsType* pwdiFlushAcReqParams,
7879 WDI_FlushAcRspCb wdiFlushAcRspCb,
7880 void* pUserData
7881);
7882
7883/**
7884 @brief WDI_BtAmpEventReq will be called when the upper MAC
7885 wants to notify the lower mac on a BT AMP event. This is
7886 to inform BTC-SLM that some BT AMP event occurred. Upon
7887 the call of this API the WLAN DAL will pack and send a
7888 HAL BT AMP event request message to the lower RIVA
7889 sub-system if DAL is in state STARTED.
7890
7891 In state BUSY this request will be queued. Request won't
7892 be allowed in any other state.
7893
7894
7895 @param wdiBtAmpEventReqParams: the BT AMP event parameters as
7896 specified by the Device Interface
7897
7898 wdiBtAmpEventRspCb: callback for passing back the
7899 response of the BT AMP event operation received from the
7900 device
7901
7902 pUserData: user data will be passed back with the
7903 callback
7904
7905 @return Result of the function call
7906*/
7907WDI_Status
7908WDI_BtAmpEventReq
7909(
7910 WDI_BtAmpEventParamsType* pwdiBtAmpEventReqParams,
7911 WDI_BtAmpEventRspCb wdiBtAmpEventRspCb,
7912 void* pUserData
7913);
7914
Jeff Johnsone7245742012-09-05 17:12:55 -07007915#ifdef FEATURE_OEM_DATA_SUPPORT
7916/**
7917 @brief WDI_Start oem data Req will be called when the upper MAC
7918 wants to notify the lower mac on a oem data Req event.Upon
7919 the call of this API the WLAN DAL will pack and send a
7920 HAL OEM Data Req event request message to the lower RIVA
7921 sub-system if DAL is in state STARTED.
7922
7923 In state BUSY this request will be queued. Request won't
7924 be allowed in any other state.
7925
7926
7927 @param pWdiOemDataReqParams: the oem data req parameters as
7928 specified by the Device Interface
7929
7930 wdiStartOemDataRspCb: callback for passing back the
7931 response of the Oem Data Req received from the
7932 device
7933
7934 pUserData: user data will be passed back with the
7935 callback
7936
7937 @return Result of the function call
7938*/
7939WDI_Status
7940WDI_StartOemDataReq
7941(
7942 WDI_oemDataReqParamsType* pWdiOemDataReqParams,
7943 WDI_oemDataRspCb wdiOemDataRspCb,
7944 void* pUserData
7945);
7946#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07007947
7948/*========================================================================
7949
7950 CONTROL APIs
7951
7952==========================================================================*/
7953/**
7954 @brief WDI_SwitchChReq will be called when the upper MAC wants
7955 the WLAN HW to change the current channel of operation.
7956 Upon the call of this API the WLAN DAL will pack and
7957 send a HAL Start request message to the lower RIVA
7958 sub-system if DAL is in state STARTED.
7959
7960 In state BUSY this request will be queued. Request won't
7961 be allowed in any other state.
7962
7963 WDI_Start must have been called.
7964
7965 @param wdiSwitchChReqParams: the switch ch parameters as
7966 specified by the Device Interface
7967
7968 wdiSwitchChRspCb: callback for passing back the response
7969 of the switch ch operation received from the device
7970
7971 pUserData: user data will be passed back with the
7972 callback
7973
7974 @see WDI_Start
7975 @return Result of the function call
7976*/
7977WDI_Status
7978WDI_SwitchChReq
7979(
7980 WDI_SwitchChReqParamsType* pwdiSwitchChReqParams,
7981 WDI_SwitchChRspCb wdiSwitchChRspCb,
7982 void* pUserData
7983);
7984
7985
7986
7987/**
7988 @brief WDI_ConfigSTAReq will be called when the upper MAC
7989 wishes to add or update a STA in HW. Upon the call of
7990 this API the WLAN DAL will pack and send a HAL Start
7991 message request message to the lower RIVA sub-system if
7992 DAL is in state STARTED.
7993
7994 In state BUSY this request will be queued. Request won't
7995 be allowed in any other state.
7996
7997 WDI_Start must have been called.
7998
7999 @param wdiConfigSTAReqParams: the config STA parameters as
8000 specified by the Device Interface
8001
8002 wdiConfigSTARspCb: callback for passing back the
8003 response of the config STA operation received from the
8004 device
8005
8006 pUserData: user data will be passed back with the
8007 callback
8008
8009 @see WDI_Start
8010 @return Result of the function call
8011*/
8012WDI_Status
8013WDI_ConfigSTAReq
8014(
8015 WDI_ConfigSTAReqParamsType* pwdiConfigSTAReqParams,
8016 WDI_ConfigSTARspCb wdiConfigSTARspCb,
8017 void* pUserData
8018);
8019
8020/**
8021 @brief WDI_SetLinkStateReq will be called when the upper MAC
8022 wants to change the state of an ongoing link. Upon the
8023 call of this API the WLAN DAL will pack and send a HAL
8024 Start message request message to the lower RIVA
8025 sub-system if DAL is in state STARTED.
8026
8027 In state BUSY this request will be queued. Request won't
8028 be allowed in any other state.
8029
8030 WDI_JoinReq must have been called.
8031
8032 @param wdiSetLinkStateReqParams: the set link state parameters
8033 as specified by the Device Interface
8034
8035 wdiSetLinkStateRspCb: callback for passing back the
8036 response of the set link state operation received from
8037 the device
8038
8039 pUserData: user data will be passed back with the
8040 callback
8041
8042 @see WDI_JoinStartReq
8043 @return Result of the function call
8044*/
8045WDI_Status
8046WDI_SetLinkStateReq
8047(
8048 WDI_SetLinkReqParamsType* pwdiSetLinkStateReqParams,
8049 WDI_SetLinkStateRspCb wdiSetLinkStateRspCb,
8050 void* pUserData
8051);
8052
8053
8054/**
8055 @brief WDI_GetStatsReq will be called when the upper MAC wants
8056 to get statistics (MIB counters) from the device. Upon
8057 the call of this API the WLAN DAL will pack and send a
8058 HAL Start request message to the lower RIVA sub-system
8059 if DAL is in state STARTED.
8060
8061 In state BUSY this request will be queued. Request won't
8062 be allowed in any other state.
8063
8064 WDI_Start must have been called.
8065
8066 @param wdiGetStatsReqParams: the stats parameters to get as
8067 specified by the Device Interface
8068
8069 wdiGetStatsRspCb: callback for passing back the response
8070 of the get stats operation received from the device
8071
8072 pUserData: user data will be passed back with the
8073 callback
8074
8075 @see WDI_Start
8076 @return Result of the function call
8077*/
8078WDI_Status
8079WDI_GetStatsReq
8080(
8081 WDI_GetStatsReqParamsType* pwdiGetStatsReqParams,
8082 WDI_GetStatsRspCb wdiGetStatsRspCb,
8083 void* pUserData
8084);
8085
8086
8087/**
8088 @brief WDI_UpdateCfgReq will be called when the upper MAC when
8089 it wishes to change the configuration of the WLAN
8090 Device. Upon the call of this API the WLAN DAL will pack
8091 and send a HAL Update CFG request message to the lower
8092 RIVA sub-system if DAL is in state STARTED.
8093
8094 In state BUSY this request will be queued. Request won't
8095 be allowed in any other state.
8096
8097 WDI_Start must have been called.
8098
8099 @param wdiUpdateCfgReqParams: the update cfg parameters as
8100 specified by the Device Interface
8101
8102 wdiUpdateCfgsRspCb: callback for passing back the
8103 response of the update cfg operation received from the
8104 device
8105
8106 pUserData: user data will be passed back with the
8107 callback
8108
8109 @see WDI_Start
8110 @return Result of the function call
8111*/
8112WDI_Status
8113WDI_UpdateCfgReq
8114(
8115 WDI_UpdateCfgReqParamsType* pwdiUpdateCfgReqParams,
8116 WDI_UpdateCfgRspCb wdiUpdateCfgsRspCb,
8117 void* pUserData
8118);
8119
8120/**
8121 @brief WDI_NvDownloadReq will be called by the UMAC to dowload the NV blob
8122 to the NV memory.
8123
8124 @param wdiNvDownloadReqParams: the NV Download parameters as specified by
8125 the Device Interface
8126
8127 wdiNvDownloadRspCb: callback for passing back the response of
8128 the NV Download operation received from the device
8129
8130 pUserData: user data will be passed back with the
8131 callback
8132
8133 @see WDI_PostAssocReq
8134 @return Result of the function call
8135*/
8136WDI_Status
8137WDI_NvDownloadReq
8138(
8139 WDI_NvDownloadReqParamsType* pwdiNvDownloadReqParams,
8140 WDI_NvDownloadRspCb wdiNvDownloadRspCb,
8141 void* pUserData
8142);
8143/**
8144 @brief WDI_AddBAReq will be called when the upper MAC has setup
8145 successfully a BA session and needs to notify the HW for
8146 the appropriate settings to take place. Upon the call of
8147 this API the WLAN DAL will pack and send a HAL Add BA
8148 request message to the lower RIVA sub-system if DAL is
8149 in state STARTED.
8150
8151 In state BUSY this request will be queued. Request won't
8152 be allowed in any other state.
8153
8154 WDI_PostAssocReq must have been called.
8155
8156 @param wdiAddBAReqParams: the add BA parameters as specified by
8157 the Device Interface
8158
8159 wdiAddBARspCb: callback for passing back the response of
8160 the add BA operation received from the device
8161
8162 pUserData: user data will be passed back with the
8163 callback
8164
8165 @see WDI_PostAssocReq
8166 @return Result of the function call
8167*/
8168WDI_Status
8169WDI_AddBAReq
8170(
8171 WDI_AddBAReqParamsType* pwdiAddBAReqParams,
8172 WDI_AddBARspCb wdiAddBARspCb,
8173 void* pUserData
8174);
8175
8176/**
8177 @brief WDI_TriggerBAReq will be called when the upper MAC has setup
8178 successfully a BA session and needs to notify the HW for
8179 the appropriate settings to take place. Upon the call of
8180 this API the WLAN DAL will pack and send a HAL Add BA
8181 request message to the lower RIVA sub-system if DAL is
8182 in state STARTED.
8183
8184 In state BUSY this request will be queued. Request won't
8185 be allowed in any other state.
8186
8187 WDI_PostAssocReq must have been called.
8188
8189 @param wdiAddBAReqParams: the add BA parameters as specified by
8190 the Device Interface
8191
8192 wdiAddBARspCb: callback for passing back the response of
8193 the add BA operation received from the device
8194
8195 pUserData: user data will be passed back with the
8196 callback
8197
8198 @see WDI_PostAssocReq
8199 @return Result of the function call
8200*/
8201WDI_Status
8202WDI_TriggerBAReq
8203(
8204 WDI_TriggerBAReqParamsType* pwdiTriggerBAReqParams,
8205 WDI_TriggerBARspCb wdiTriggerBARspCb,
8206 void* pUserData
8207);
8208
8209
8210/**
8211 @brief WDI_IsHwFrameTxTranslationCapable checks to see if HW
8212 frame xtl is enabled for a particular STA.
8213
8214 WDI_PostAssocReq must have been called.
8215
8216 @param uSTAIdx: STA index
8217
8218 @see WDI_PostAssocReq
8219 @return Result of the function call
8220*/
8221wpt_boolean WDI_IsHwFrameTxTranslationCapable
8222(
8223 wpt_uint8 uSTAIdx
8224);
8225
8226#ifdef WLAN_FEATURE_VOWIFI_11R
8227/**
8228 @brief WDI_AggrAddTSReq will be called when the upper MAC to inform
8229 the device of a successful add TSpec negotiation for 11r. HW
8230 needs to receive the TSpec Info from the UMAC in order
8231 to configure properly the QoS data traffic. Upon the
8232 call of this API the WLAN DAL will pack and send a HAL
8233 Aggregated Add TS request message to the lower RIVA sub-system if
8234 DAL is in state STARTED.
8235
8236 In state BUSY this request will be queued. Request won't
8237 be allowed in any other state.
8238
8239 WDI_PostAssocReq must have been called.
8240
8241 @param wdiAggrAddTsReqParams: the add TS parameters as specified by
8242 the Device Interface
8243
8244 wdiAggrAddTsRspCb: callback for passing back the response of
8245 the add TS operation received from the device
8246
8247 pUserData: user data will be passed back with the
8248 callback
8249
8250 @see WDI_PostAssocReq
8251 @return Result of the function call
8252*/
8253WDI_Status
8254WDI_AggrAddTSReq
8255(
8256 WDI_AggrAddTSReqParamsType* pwdiAddTsReqParams,
8257 WDI_AggrAddTsRspCb wdiAggrAddTsRspCb,
8258 void* pUserData
8259);
8260#endif /* WLAN_FEATURE_VOWIFI_11R */
8261/**
8262 @brief WDI_STATableInit - Initializes the STA tables.
8263 Allocates the necesary memory.
8264
8265
8266 @param pWDICtx: pointer to the WLAN DAL context
8267
8268 @see
8269 @return Result of the function call
8270*/
8271
8272WDI_Status WDI_StubRunTest
8273(
8274 wpt_uint8 ucTestNo
8275);
8276
8277#ifdef ANI_MANF_DIAG
8278/**
8279 @brief WDI_FTMCommandReq -
8280 Route FTMRequest Command to HAL
8281
8282 @param ftmCommandReq: FTM request command body
8283 @param ftmCommandRspCb: Response CB
8284 @param pUserData: User data will be included with CB
8285
8286 @return Result of the function call
8287*/
8288WDI_Status WDI_FTMCommandReq
8289(
8290 WDI_FTMCommandReqType *ftmCommandReq,
8291 WDI_FTMCommandRspCb ftmCommandRspCb,
8292 void *pUserData
8293);
8294#endif /* ANI_MANF_DIAG */
8295
8296/**
8297 @brief WDI_HostResumeReq will be called
8298
8299 In state BUSY this request will be queued. Request won't
8300 be allowed in any other state.
8301
8302
8303 @param pwdiResumeReqParams: as specified by
8304 the Device Interface
8305
8306 wdiResumeReqRspCb: callback for passing back the response of
8307 the Resume Req received from the device
8308
8309 pUserData: user data will be passed back with the
8310 callback
8311
8312 @see WDI_PostAssocReq
8313 @return Result of the function call
8314*/
8315WDI_Status
8316WDI_HostResumeReq
8317(
8318 WDI_ResumeParamsType* pwdiResumeReqParams,
8319 WDI_HostResumeEventRspCb wdiResumeReqRspCb,
8320 void* pUserData
8321);
8322
8323/**
8324 @brief WDI_GetAvailableResCount - Function to get the available resource
8325 for data and managemnt frames.
8326
8327 @param pContext: pointer to the WDI context
8328 @param wdiResPool: type of resource pool requesting
8329 @see
8330 @return Result of the function call
8331*/
8332
8333wpt_uint32 WDI_GetAvailableResCount
8334(
8335 void *pContext,
8336 WDI_ResPoolType wdiResPool
8337);
8338
8339/**
8340 @brief WDI_SetAddSTASelfReq will be called when the
8341 UMAC wanted to add self STA while opening any new session
8342 In state BUSY this request will be queued. Request won't
8343 be allowed in any other state.
8344
8345
8346 @param pwdiAddSTASelfParams: the add self sta parameters as
8347 specified by the Device Interface
8348
8349 pUserData: user data will be passed back with the
8350 callback
8351
8352 @see
8353 @return Result of the function call
8354*/
8355WDI_Status
8356WDI_AddSTASelfReq
8357(
8358 WDI_AddSTASelfReqParamsType* pwdiAddSTASelfReqParams,
8359 WDI_AddSTASelfParamsRspCb wdiAddSTASelfReqParamsRspCb,
8360 void* pUserData
8361);
8362
8363
8364/**
8365 @brief WDI_DelSTASelfReq will be called .
8366
8367 @param WDI_DelSTASelfReqParamsType
8368
8369 WDI_DelSTASelfRspCb: callback for passing back the
8370 response of the del sta self operation received from the
8371 device
8372
8373 pUserData: user data will be passed back with the
8374 callback
8375
8376 @see WDI_PostAssocReq
8377 @return Result of the function call
8378*/
8379WDI_Status
8380WDI_DelSTASelfReq
8381(
8382 WDI_DelSTASelfReqParamsType* pwdiDelStaSelfParams,
8383 WDI_DelSTASelfRspCb wdiDelStaSelfRspCb,
8384 void* pUserData
8385);
8386
8387/**
8388 @brief WDI_HostSuspendInd
8389
8390 Suspend Indication from the upper layer will be sent
8391 down to HAL
8392
8393 @param WDI_SuspendParamsType
8394
8395 @see
8396
8397 @return Status of the request
8398*/
8399WDI_Status
8400WDI_HostSuspendInd
8401(
8402 WDI_SuspendParamsType* pwdiSuspendIndParams
8403);
8404
8405#ifdef FEATURE_WLAN_SCAN_PNO
8406/**
8407 @brief WDI_SetPreferredNetworkList
8408
8409 @param pwdiPNOScanReqParams: the Set PNO as specified
8410 by the Device Interface
8411
8412 wdiPNOScanCb: callback for passing back the response
8413 of the Set PNO operation received from the
8414 device
8415
8416 pUserData: user data will be passed back with the
8417 callback
8418
8419 @see WDI_PostAssocReq
8420 @return Result of the function call
8421*/
8422WDI_Status
8423WDI_SetPreferredNetworkReq
8424(
8425 WDI_PNOScanReqParamsType* pwdiPNOScanReqParams,
8426 WDI_PNOScanCb wdiPNOScanCb,
8427 void* pUserData
8428);
8429
8430/**
8431 @brief WDI_SetRssiFilterReq
8432
8433 @param pwdiRssiFilterReqParams: the Set RSSI Filter as
8434 specified by the Device Interface
8435
8436 wdiRssiFilterCb: callback for passing back the response
8437 of the Set RSSI Filter operation received from the
8438 device
8439
8440 pUserData: user data will be passed back with the
8441 callback
8442
8443 @see WDI_PostAssocReq
8444 @return Result of the function call
8445*/
8446WDI_Status
8447WDI_SetRssiFilterReq
8448(
8449 WDI_SetRssiFilterReqParamsType* pwdiRssiFilterReqParams,
8450 WDI_RssiFilterCb wdiRssiFilterCb,
8451 void* pUserData
8452);
8453
8454/**
8455 @brief WDI_UpdateScanParams
8456
8457 @param pwdiUpdateScanParamsInfoType: the Update Scan Params as specified
8458 by the Device Interface
8459
8460 wdiUpdateScanParamsCb: callback for passing back the response
8461 of the Set PNO operation received from the
8462 device
8463
8464 pUserData: user data will be passed back with the
8465 callback
8466
8467 @see WDI_PostAssocReq
8468 @return Result of the function call
8469*/
8470WDI_Status
8471WDI_UpdateScanParamsReq
8472(
8473 WDI_UpdateScanParamsInfoType* pwdiUpdateScanParamsInfoType,
8474 WDI_UpdateScanParamsCb wdiUpdateScanParamsCb,
8475 void* pUserData
8476);
8477#endif // FEATURE_WLAN_SCAN_PNO
8478
8479/**
8480 @brief WDI_SetTxPerTrackingReq will be called when the upper MAC
8481 wants to set the Tx Per Tracking configurations.
8482 Upon the call of this API the WLAN DAL will pack
8483 and send a HAL Set Tx Per Tracking request message to the
8484 lower RIVA sub-system if DAL is in state STARTED.
8485
8486 In state BUSY this request will be queued. Request won't
8487 be allowed in any other state.
8488
8489 @param wdiSetTxPerTrackingConf: the Set Tx PER Tracking configurations as
8490 specified by the Device Interface
8491
8492 wdiSetTxPerTrackingCb: callback for passing back the
8493 response of the set Tx PER Tracking configurations operation received
8494 from the device
8495
8496 pUserData: user data will be passed back with the
8497 callback
8498
8499 @return Result of the function call
8500*/
8501WDI_Status
8502WDI_SetTxPerTrackingReq
8503(
8504 WDI_SetTxPerTrackingReqParamsType* pwdiSetTxPerTrackingReqParams,
8505 WDI_SetTxPerTrackingRspCb pwdiSetTxPerTrackingRspCb,
8506 void* pUserData
8507);
8508
8509/**
8510 @brief WDI_SetTmLevelReq
8511 If HW Thermal condition changed, driver should react based on new
8512 HW thermal condition.
8513
8514 @param pwdiSetTmLevelReq: New thermal condition information
8515
8516 pwdiSetTmLevelRspCb: callback
8517
8518 usrData: user data will be passed back with the
8519 callback
8520
8521 @return Result of the function call
8522*/
8523WDI_Status
8524WDI_SetTmLevelReq
8525(
8526 WDI_SetTmLevelReqType *pwdiSetTmLevelReq,
8527 WDI_SetTmLevelCb pwdiSetTmLevelRspCb,
8528 void *usrData
8529);
8530
8531#ifdef WLAN_FEATURE_PACKET_FILTERING
8532/**
8533 @brief WDI_8023MulticastListReq
8534
8535 @param pwdiRcvFltPktSetMcListReqInfo: the Set 8023 Multicast
8536 List as specified by the Device Interface
8537
8538 wdi8023MulticastListCallback: callback for passing back
8539 the response of the Set 8023 Multicast List operation
8540 received from the device
8541
8542 pUserData: user data will be passed back with the
8543 callback
8544
8545 @see WDI_PostAssocReq
8546 @return Result of the function call
8547*/
8548WDI_Status
8549WDI_8023MulticastListReq
8550(
8551 WDI_RcvFltPktSetMcListReqParamsType* pwdiRcvFltPktSetMcListReqInfo,
8552 WDI_8023MulticastListCb wdi8023MulticastListCallback,
8553 void* pUserData
8554);
8555
8556/**
8557 @brief WDI_ReceiveFilterSetFilterReq
8558
8559 @param pwdiSetRcvPktFilterReqInfo: the Set Receive Filter as
8560 specified by the Device Interface
8561
8562 wdiReceiveFilterSetFilterReqCallback: callback for
8563 passing back the response of the Set Receive Filter
8564 operation received from the device
8565
8566 pUserData: user data will be passed back with the
8567 callback
8568
8569 @see WDI_PostAssocReq
8570 @return Result of the function call
8571*/
8572WDI_Status
8573WDI_ReceiveFilterSetFilterReq
8574(
8575 WDI_SetRcvPktFilterReqParamsType* pwdiSetRcvPktFilterReqInfo,
8576 WDI_ReceiveFilterSetFilterCb wdiReceiveFilterSetFilterReqCallback,
8577 void* pUserData
8578);
8579
8580/**
8581 @brief WDI_PCFilterMatchCountReq
8582
8583 @param pwdiRcvFltPktMatchCntReqInfo: get D0 PC Filter Match
8584 Count
8585
8586 wdiPCFilterMatchCountCallback: callback for passing back
8587 the response of the D0 PC Filter Match Count operation
8588 received from the device
8589
8590 pUserData: user data will be passed back with the
8591 callback
8592
8593 @see WDI_PostAssocReq
8594 @return Result of the function call
8595*/
8596WDI_Status
8597WDI_FilterMatchCountReq
8598(
8599 WDI_RcvFltPktMatchCntReqParamsType* pwdiRcvFltPktMatchCntReqInfo,
8600 WDI_FilterMatchCountCb wdiFilterMatchCountCallback,
8601 void* pUserData
8602);
8603
8604/**
8605 @brief WDI_ReceiveFilterClearFilterReq
8606
8607 @param pwdiRcvFltPktClearReqInfo: the Clear Filter as
8608 specified by the Device Interface
8609
8610 wdiReceiveFilterClearFilterCallback: callback for
8611 passing back the response of the Clear Filter
8612 operation received from the device
8613
8614 pUserData: user data will be passed back with the
8615 callback
8616
8617 @see WDI_PostAssocReq
8618 @return Result of the function call
8619*/
8620WDI_Status
8621WDI_ReceiveFilterClearFilterReq
8622(
8623 WDI_RcvFltPktClearReqParamsType* pwdiRcvFltPktClearReqInfo,
8624 WDI_ReceiveFilterClearFilterCb wdiReceiveFilterClearFilterCallback,
8625 void* pUserData
8626);
8627#endif // WLAN_FEATURE_PACKET_FILTERING
8628
8629/**
8630 @brief WDI_HALDumpCmdReq
8631 Post HAL DUMP Command Event
8632
8633 @param halDumpCmdReqParams: Hal Dump Command Body
8634 @param halDumpCmdRspCb: callback for passing back the
8635 response
8636 @param pUserData: Client Data
8637
8638 @see
8639 @return Result of the function call
8640*/
8641WDI_Status WDI_HALDumpCmdReq(
8642 WDI_HALDumpCmdReqParamsType *halDumpCmdReqParams,
8643 WDI_HALDumpCmdRspCb halDumpCmdRspCb,
8644 void *pUserData
8645);
8646
8647
8648/**
8649 @brief WDI_SetPowerParamsReq
8650
8651 @param pwdiPowerParamsReqParams: the Set Power Params as
8652 specified by the Device Interface
8653
8654 wdiPowerParamsCb: callback for passing back the response
8655 of the Set Power Params operation received from the
8656 device
8657
8658 pUserData: user data will be passed back with the
8659 callback
8660
8661 @return Result of the function call
8662*/
8663WDI_Status
8664WDI_SetPowerParamsReq
8665(
8666 WDI_SetPowerParamsReqParamsType* pwdiPowerParamsReqParams,
8667 WDI_SetPowerParamsCb wdiPowerParamsCb,
8668 void* pUserData
8669);
8670
8671#ifdef WLAN_FEATURE_GTK_OFFLOAD
8672/**
8673 @brief WDI_GTKOffloadReq will be called when the upper MAC
8674 wants to set GTK Rekey Counter while in power save. Upon
8675 the call of this API the WLAN DAL will pack and send a
8676 HAL GTK offload request message to the lower RIVA
8677 sub-system if DAL is in state STARTED.
8678
8679 In state BUSY this request will be queued. Request won't
8680 be allowed in any other state.
8681
8682 WDI_PostAssocReq must have been called.
8683
8684 @param pwdiGtkOffloadParams: the GTK offload as specified
8685 by the Device Interface
8686
8687 wdiGtkOffloadCb: callback for passing back the response
8688 of the GTK offload operation received from the device
8689
8690 pUserData: user data will be passed back with the
8691 callback
8692
8693 @see WDI_PostAssocReq
8694 @return Result of the function call
8695*/
8696WDI_Status
8697WDI_GTKOffloadReq
8698(
8699 WDI_GtkOffloadReqMsg* pwdiGtkOffloadReqMsg,
8700 WDI_GtkOffloadCb wdiGtkOffloadCb,
8701 void* pUserData
8702);
8703
8704/**
8705 @brief WDI_GTKOffloadGetInfoReq will be called when the upper
8706 MAC wants to get GTK Rekey Counter while in power save.
8707 Upon the call of this API the WLAN DAL will pack and
8708 send a HAL GTK offload request message to the lower RIVA
8709 sub-system if DAL is in state STARTED.
8710
8711 In state BUSY this request will be queued. Request won't
8712 be allowed in any other state.
8713
8714 WDI_PostAssocReq must have been called.
8715
8716 @param pwdiGtkOffloadGetInfoReqMsg: the GTK Offload
8717 Information Message as specified by the
8718 Device Interface
8719
8720 wdiGtkOffloadGetInfoCb: callback for passing back the
8721 response of the GTK offload operation received from the
8722 device
8723
8724 pUserData: user data will be passed back with the
8725 callback
8726
8727 @see WDI_PostAssocReq
8728 @return Result of the function call
8729*/
8730WDI_Status
8731WDI_GTKOffloadGetInfoReq
8732(
8733 WDI_GtkOffloadGetInfoReqMsg* pwdiGtkOffloadGetInfoReqMsg,
8734 WDI_GtkOffloadGetInfoCb wdiGtkOffloadGetInfoCb,
8735 void* pUserData
8736);
8737#endif // WLAN_FEATURE_GTK_OFFLOAD
8738
8739/**
8740 @brief WDI_featureCapsExchangeReq
8741 Post feature capability bitmap exchange event.
8742 Host will send its own capability to FW in this req and
8743 expect FW to send its capability back as a bitmap in Response
8744
8745 @param
8746
8747 wdiFeatCapsExcRspCb: callback called on getting the response.
8748 It is kept to mantain similarity between WDI reqs and if needed, can
8749 be used in future. Currently, It is set to NULL
8750
8751 pUserData: user data will be passed back with the
8752 callback
8753
8754 @see
8755 @return Result of the function call
8756*/
8757WDI_Status
8758WDI_featureCapsExchangeReq
8759(
8760 WDI_featureCapsExchangeCb wdiFeatureCapsExchangeCb,
8761 void* pUserData
8762);
8763
8764/**
8765 @brief WDI_getHostWlanFeatCaps
8766 WDI API that returns whether the feature passed to it as enum value in
8767 "placeHolderInCapBitmap" is supported by Host or not. It uses WDI global
8768 variable storing host capability bitmap to find this. This can be used by
8769 other moduels to decide certain things like call different APIs based on
8770 whether a particular feature is supported.
8771
8772 @param
8773
8774 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap in wlan_hal_msg.h.
8775
8776 @see
8777 @return
8778 0 - if the feature is NOT supported in host
8779 any non-zero value - if the feature is SUPPORTED in host.
8780*/
8781wpt_uint8 WDI_getHostWlanFeatCaps(wpt_uint8 feat_enum_value);
8782
8783/**
8784 @brief WDI_getFwWlanFeatCaps
8785 WDI API that returns whether the feature passed to it as enum value in
8786 "placeHolderInCapBitmap" is supported by FW or not. It uses WDI global
8787 variable storing host capability bitmap to find this. This can be used by
8788 other moduels to decide certain things like call different APIs based on
8789 whether a particular feature is supported.
8790
8791 @param
8792
Jeff Johnsone7245742012-09-05 17:12:55 -07008793 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap
8794 in wlan_hal_msg.h.
Jeff Johnson295189b2012-06-20 16:38:30 -07008795
8796 @see
8797 @return
8798 0 - if the feature is NOT supported in FW
8799 any non-zero value - if the feature is SUPPORTED in FW.
8800*/
8801wpt_uint8 WDI_getFwWlanFeatCaps(wpt_uint8 feat_enum_value);
8802
8803/**
8804 @brief WDI_GetWcnssCompiledApiVersion - Function to get wcnss compiled
8805 api version
8806
8807 @param WDI_WlanVersionType: Wlan version structure
8808 @see
8809 @return none
8810*/
8811
8812void WDI_GetWcnssCompiledApiVersion
8813(
8814 WDI_WlanVersionType *pWcnssApiVersion
8815);
8816
8817
8818
8819#ifdef __cplusplus
8820 }
8821#endif
8822
8823
8824#endif /* #ifndef WLAN_QCT_WDI_H */