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