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