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