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