blob: 45b2f790d949ce41381c0d4da9debd621685285c [file] [log] [blame]
Jeff Johnson295189b2012-06-20 16:38:30 -07001/*
Kiet Lam1ed83fc2014-02-19 01:15:45 -08002 * Copyright (c) 2012-2014 The Linux Foundation. All rights reserved.
3 *
4 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
5 *
6 *
7 * Permission to use, copy, modify, and/or distribute this software for
8 * any purpose with or without fee is hereby granted, provided that the
9 * above copyright notice and this permission notice appear in all
10 * copies.
11 *
12 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
13 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
14 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
15 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
16 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
17 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
18 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19 * PERFORMANCE OF THIS SOFTWARE.
20 */
21
22/*
23 * Copyright (c) 2012-2014 Qualcomm Atheros, Inc.
24 * All Rights Reserved.
25 * Qualcomm Atheros Confidential and Proprietary.
26 *
27 */
28
Jeff Johnson295189b2012-06-20 16:38:30 -070029
30#ifndef WLAN_QCT_WDI_H
31#define WLAN_QCT_WDI_H
32
33/*===========================================================================
34
35 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
36 E X T E R N A L A P I
37
38
39DESCRIPTION
40 This file contains the external API exposed by the wlan transport layer
41 module.
42
43
44 Copyright (c) 2010-2011 QUALCOMM Incorporated.
45 All Rights Reserved.
46 Qualcomm Confidential and Proprietary
47===========================================================================*/
48
49
50/*===========================================================================
51
52 EDIT HISTORY FOR FILE
53
54
55 This section contains comments describing changes made to the module.
56 Notice that changes are listed in reverse chronological order.
57
58
59 $Header:$ $DateTime: $ $Author: $
60
61
62when who what, where, why
63-------- --- ----------------------------------------------------------
6410/05/11 hap Adding support for Keep Alive
6508/04/10 lti Created module.
66
67===========================================================================*/
68
69
70
71/*===========================================================================
72
73 INCLUDE FILES FOR MODULE
74
75===========================================================================*/
76
77/*----------------------------------------------------------------------------
78 * Include Files
79 * -------------------------------------------------------------------------*/
80#include "wlan_qct_pal_api.h"
81#include "wlan_qct_pal_type.h"
82#include "wlan_qct_pack_align.h"
83#include "wlan_qct_wdi_cfg.h"
84
85/*----------------------------------------------------------------------------
86 * Preprocessor Definitions and Constants
87 * -------------------------------------------------------------------------*/
88#ifdef __cplusplus
89 extern "C" {
90#endif
91
92/* MAC ADDRESS LENGTH - per spec*/
93#define WDI_MAC_ADDR_LEN 6
94
95/* Max number of 11b rates -> 1,2,5.5,11 */
96#define WDI_NUM_11B_RATES 4
97
98/* Max number of 11g rates -> 6,9,12,18,24,36,48,54*/
99#define WDI_NUM_11A_RATES 8
100
101/* Max number of legacy rates -> 72, 96, 108*/
102#define WDI_NUM_POLARIS_RATES 3
103
104/* Max supported MCS set*/
105#define WDI_MAC_MAX_SUPPORTED_MCS_SET 16
106
107/*Max number of Access Categories for QoS - per spec */
108#define WDI_MAX_NO_AC 4
109
110/*Max. size for reserving the Beacon Template */
111#define WDI_BEACON_TEMPLATE_SIZE 0x180
112
113#define WDI_WOWL_BCAST_PATTERN_MAX_SIZE 128
114
115#define WDI_WOWL_BCAST_MAX_NUM_PATTERNS 16
116
117#define WDI_MAX_SSID_SIZE 32
118
119/* The shared memory between WDI and HAL is 4K so maximum data can be transferred
120from WDI to HAL is 4K.This 4K should also include the Message header so sending 4K
121of NV fragment is nt possbile.The next multiple of 1Kb is 3K */
122
123#define FRAGMENT_SIZE 3072
124
125/* Macro to find the total number fragments of the NV Image*/
Madan Mohan Koyyalamudia53c4dc2012-11-13 10:35:42 -0800126#define TOTALFRAGMENTS(x) (((x % FRAGMENT_SIZE) == 0) ? (x / FRAGMENT_SIZE):((x / FRAGMENT_SIZE) + 1))
Jeff Johnson295189b2012-06-20 16:38:30 -0700127
128/* Beacon Filter Length*/
129#define WDI_BEACON_FILTER_LEN 70
130
131/* Coex Indication data size - should match WLAN_COEX_IND_DATA_SIZE */
132#define WDI_COEX_IND_DATA_SIZE (4)
133
134#define WDI_CIPHER_SEQ_CTR_SIZE 6
135
136#define WDI_NUM_BSSID 2
137
138/*Version string max length (including NUL) */
139#define WDI_VERSION_LENGTH 64
140
141
142/*WDI Response timeout - how long will WDI wait for a response from the device
143 - it should be large enough to allow any other failure mechanism to kick
144 in before we get to a timeout (ms units)*/
145#define WDI_RESPONSE_TIMEOUT 10000
146
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -0700147/* SSR timeout - If Riva initiated SSR doesn't happen during this time, then the
148 * Apps initiated SSR will be performed */
149#define WDI_SSR_TIMEOUT 5000
150
Jeff Johnson295189b2012-06-20 16:38:30 -0700151#define WDI_SET_POWER_STATE_TIMEOUT 10000 /* in msec a very high upper limit */
152
Yue Mab9c86f42013-08-14 15:59:08 -0700153/* Periodic Tx pattern offload feature */
154#define PERIODIC_TX_PTRN_MAX_SIZE 1536
155#define MAXNUM_PERIODIC_TX_PTRNS 6
156
Jeff Johnson295189b2012-06-20 16:38:30 -0700157/*============================================================================
158 * GENERIC STRUCTURES
159
160============================================================================*/
161
162/*---------------------------------------------------------------------------
163 WDI Version Information
164---------------------------------------------------------------------------*/
165typedef struct
166{
167 wpt_uint8 revision;
168 wpt_uint8 version;
169 wpt_uint8 minor;
170 wpt_uint8 major;
171} WDI_WlanVersionType;
172
173/*---------------------------------------------------------------------------
174 WDI Device Capability
175---------------------------------------------------------------------------*/
176typedef struct
177{
178 /*If this flag is true it means that the device can support 802.3/ETH2 to
179 802.11 translation*/
180 wpt_boolean bFrameXtlSupported;
181
182 /*Maximum number of BSSes supported by the Device */
183 wpt_uint8 ucMaxBSSSupported;
184
185 /*Maximum number of stations supported by the Device */
186 wpt_uint8 ucMaxSTASupported;
187}WDI_DeviceCapabilityType;
188
189/*---------------------------------------------------------------------------
190 WDI Channel Offset
191---------------------------------------------------------------------------*/
192typedef enum
193{
194 WDI_SECONDARY_CHANNEL_OFFSET_NONE = 0,
195 WDI_SECONDARY_CHANNEL_OFFSET_UP = 1,
Jeff Johnsone7245742012-09-05 17:12:55 -0700196 WDI_SECONDARY_CHANNEL_OFFSET_DOWN = 3,
197#ifdef WLAN_FEATURE_11AC
198 WDI_CHANNEL_20MHZ_LOW_40MHZ_CENTERED = 4, //20/40MHZ offset LOW 40/80MHZ offset CENTERED
199 WDI_CHANNEL_20MHZ_CENTERED_40MHZ_CENTERED = 5, //20/40MHZ offset CENTERED 40/80MHZ offset CENTERED
200 WDI_CHANNEL_20MHZ_HIGH_40MHZ_CENTERED = 6, //20/40MHZ offset HIGH 40/80MHZ offset CENTERED
201 WDI_CHANNEL_20MHZ_LOW_40MHZ_LOW = 7,//20/40MHZ offset LOW 40/80MHZ offset LOW
202 WDI_CHANNEL_20MHZ_HIGH_40MHZ_LOW = 8, //20/40MHZ offset HIGH 40/80MHZ offset LOW
203 WDI_CHANNEL_20MHZ_LOW_40MHZ_HIGH = 9, //20/40MHZ offset LOW 40/80MHZ offset HIGH
204 WDI_CHANNEL_20MHZ_HIGH_40MHZ_HIGH = 10,//20/40MHZ offset-HIGH 40/80MHZ offset HIGH
205#endif
206 WDI_SECONDARY_CHANNEL_OFFSET_MAX
Jeff Johnson295189b2012-06-20 16:38:30 -0700207}WDI_HTSecondaryChannelOffset;
208
209/*---------------------------------------------------------------------------
210 WDI_MacFrameCtl
211 Frame control field format (2 bytes)
212---------------------------------------------------------------------------*/
213typedef struct
214{
215 wpt_uint8 protVer :2;
216 wpt_uint8 type :2;
217 wpt_uint8 subType :4;
218
219 wpt_uint8 toDS :1;
220 wpt_uint8 fromDS :1;
221 wpt_uint8 moreFrag :1;
222 wpt_uint8 retry :1;
223 wpt_uint8 powerMgmt :1;
224 wpt_uint8 moreData :1;
225 wpt_uint8 wep :1;
226 wpt_uint8 order :1;
227
228} WDI_MacFrameCtl;
229
230/*---------------------------------------------------------------------------
231 WDI Sequence control field
232---------------------------------------------------------------------------*/
233typedef struct
234{
235 wpt_uint8 fragNum : 4;
236 wpt_uint8 seqNumLo : 4;
237 wpt_uint8 seqNumHi : 8;
238} WDI_MacSeqCtl;
239
240/*---------------------------------------------------------------------------
241 Management header format
242---------------------------------------------------------------------------*/
243typedef struct
244{
245 WDI_MacFrameCtl fc;
246 wpt_uint8 durationLo;
247 wpt_uint8 durationHi;
248 wpt_uint8 da[WDI_MAC_ADDR_LEN];
249 wpt_uint8 sa[WDI_MAC_ADDR_LEN];
250 wpt_macAddr bssId;
251 WDI_MacSeqCtl seqControl;
252} WDI_MacMgmtHdr;
253
254/*---------------------------------------------------------------------------
255 NV Blob management sturcture
256 ---------------------------------------------------------------------------*/
257
258typedef struct
259{
260 /* NV image fragments count */
261 wpt_uint16 usTotalFragment;
262
263 /* NV fragment size */
264 wpt_uint16 usFragmentSize;
265
266 /* current fragment to be sent */
267 wpt_uint16 usCurrentFragment;
268
269} WDI_NvBlobInfoParams;
270
271
272/*---------------------------------------------------------------------------
273 Data path enums memory pool resource
274 ---------------------------------------------------------------------------*/
275
276typedef enum
277{
278 /* managment resource pool ID */
279 WDI_MGMT_POOL_ID = 0,
280 /* Data resource pool ID */
281 WDI_DATA_POOL_ID = 1
282}WDI_ResPoolType;
283
284/*============================================================================
285 * GENERIC STRUCTURES - END
286 ============================================================================*/
287
288/*----------------------------------------------------------------------------
289 * Type Declarations
290 * -------------------------------------------------------------------------*/
291/*---------------------------------------------------------------------------
292 WDI Status
293---------------------------------------------------------------------------*/
294typedef enum
295{
296 WDI_STATUS_SUCCESS, /* Operation has completed successfully*/
297 WDI_STATUS_SUCCESS_SYNC, /* Operation has completed successfully in a
298 synchronous way - no rsp will be generated*/
299 WDI_STATUS_PENDING, /* Operation result is pending and will be
300 provided asynchronously through the Req Status
301 Callback */
302 WDI_STATUS_E_FAILURE, /* Operation has ended in a generic failure*/
303 WDI_STATUS_RES_FAILURE, /* Operation has ended in a resource failure*/
304 WDI_STATUS_MEM_FAILURE, /* Operation has ended in a memory allocation
305 failure*/
306 WDI_STATUS_E_NOT_ALLOWED, /* Operation is not allowed in the current state
307 of the driver*/
308 WDI_STATUS_E_NOT_IMPLEMENT, /* Operation is not yet implemented*/
309
310 WDI_STATUS_DEV_INTERNAL_FAILURE, /*An internal error has occurred in the device*/
311 WDI_STATUS_MAX
312
313}WDI_Status;
314
315
316/*---------------------------------------------------------------------------
317 WDI_ReqStatusCb
318
319 DESCRIPTION
320
321 This callback is invoked by DAL to deliver to UMAC the result of posting
322 a previous request for which the return status was PENDING.
323
324 PARAMETERS
325
326 IN
327 wdiStatus: response status received from the Control Transport
328 pUserData: user data
329
330
331
332 RETURN VALUE
333 The result code associated with performing the operation
334---------------------------------------------------------------------------*/
335typedef void (*WDI_ReqStatusCb)(WDI_Status wdiStatus,
336 void* pUserData);
337
338/*---------------------------------------------------------------------------
339 WDI_LowLevelIndEnumType
340 Types of indication that can be posted to UMAC by DAL
341---------------------------------------------------------------------------*/
342typedef enum
343{
344 /*When RSSI monitoring is enabled of the Lower MAC and a threshold has been
345 passed. */
346 WDI_RSSI_NOTIFICATION_IND,
347
348 /*Link loss in the low MAC */
349 WDI_MISSED_BEACON_IND,
350
351 /*when hardware has signaled an unknown addr2 frames. The indication will
352 contain info from frames to be passed to the UMAC, this may use this info to
353 deauth the STA*/
354 WDI_UNKNOWN_ADDR2_FRAME_RX_IND,
355
356 /*MIC Failure detected by HW*/
357 WDI_MIC_FAILURE_IND,
358
359 /*Fatal Error Ind*/
360 WDI_FATAL_ERROR_IND,
361
362 /*Delete Station Ind*/
363 WDI_DEL_STA_IND,
364
365 /*Indication from Coex*/
366 WDI_COEX_IND,
367
368 /* Indication for Tx Complete */
369 WDI_TX_COMPLETE_IND,
370
371 /*.P2P_NOA_Attr_Indication */
372 WDI_P2P_NOA_ATTR_IND,
373
374 /* Preferred Network Found Indication */
375 WDI_PREF_NETWORK_FOUND_IND,
376
377 WDI_WAKE_REASON_IND,
378
379 /* Tx PER Tracking Indication */
380 WDI_TX_PER_HIT_IND,
Viral Modid86bde22012-12-10 13:09:21 -0800381
Viral Modid86bde22012-12-10 13:09:21 -0800382 /* P2P_NOA_Start_Indication */
383 WDI_P2P_NOA_START_IND,
Viral Modid86bde22012-12-10 13:09:21 -0800384
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530385 /* TDLS_Indication */
386 WDI_TDLS_IND,
387
Leo Changd9df8aa2013-09-26 13:32:26 -0700388 /* LPHB Indication from FW to umac */
389 WDI_LPHB_IND,
Leo Chang9056f462013-08-01 19:21:11 -0700390
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700391 /* IBSS Peer Inactivity Indication */
392 WDI_IBSS_PEER_INACTIVITY_IND,
393
Yue Mab9c86f42013-08-14 15:59:08 -0700394 /* Periodic Tx Pattern FW Indication */
395 WDI_PERIODIC_TX_PTRN_FW_IND,
396
Rajeev79dbe4c2013-10-05 11:03:42 +0530397#ifdef FEATURE_WLAN_BATCH_SCAN
398 /*Batch scan result indication from FW*/
399 WDI_BATCH_SCAN_RESULT_IND,
400#endif
401
Leo Chang0b0e45a2013-12-15 15:18:55 -0800402#ifdef FEATURE_WLAN_CH_AVOID
403 WDI_CH_AVOID_IND,
404#endif /* FEATURE_WLAN_CH_AVOID */
Sunil Duttbd736ed2014-05-26 21:19:41 +0530405#ifdef WLAN_FEATURE_LINK_LAYER_STATS
406 WDI_LL_STATS_RESULTS_IND,
407#endif
Leo Chang0b0e45a2013-12-15 15:18:55 -0800408
Jeff Johnson295189b2012-06-20 16:38:30 -0700409 WDI_MAX_IND
410}WDI_LowLevelIndEnumType;
411
412
413/*---------------------------------------------------------------------------
414 WDI_LowRSSIThIndType
415---------------------------------------------------------------------------*/
416typedef struct
417{
418 /*Positive crossing of Rssi Thresh1*/
419 wpt_uint32 bRssiThres1PosCross : 1;
420 /*Negative crossing of Rssi Thresh1*/
421 wpt_uint32 bRssiThres1NegCross : 1;
422 /*Positive crossing of Rssi Thresh2*/
423 wpt_uint32 bRssiThres2PosCross : 1;
424 /*Negative crossing of Rssi Thresh2*/
425 wpt_uint32 bRssiThres2NegCross : 1;
426 /*Positive crossing of Rssi Thresh3*/
427 wpt_uint32 bRssiThres3PosCross : 1;
428 /*Negative crossing of Rssi Thresh3*/
429 wpt_uint32 bRssiThres3NegCross : 1;
430
Srinivasdaaec712012-12-12 15:59:44 -0800431 wpt_uint32 avgRssi : 8;
432 wpt_uint32 bReserved : 18;
Jeff Johnson295189b2012-06-20 16:38:30 -0700433
434}WDI_LowRSSIThIndType;
435
436
437/*---------------------------------------------------------------------------
438 WDI_UnkAddr2FrmRxIndType
439---------------------------------------------------------------------------*/
440typedef struct
441{
442 /*Rx Bd data of the unknown received addr2 frame.*/
443 void* bufRxBd;
444
445 /*Buffer Length*/
446 wpt_uint16 usBufLen;
447}WDI_UnkAddr2FrmRxIndType;
448
449/*---------------------------------------------------------------------------
450 WDI_DeleteSTAIndType
451---------------------------------------------------------------------------*/
452typedef struct
453{
454 /*ASSOC ID, as assigned by UMAC*/
455 wpt_uint16 usAssocId;
456
457 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
458 wpt_uint8 ucSTAIdx;
459
460 /*BSSID of STA*/
461 wpt_macAddr macBSSID;
462
463 /*MAC ADDR of STA*/
464 wpt_macAddr macADDR2;
465
466 /* To unify the keepalive / unknown A2 / tim-based disa*/
467 wpt_uint16 wptReasonCode;
468
469}WDI_DeleteSTAIndType;
470
471/*---------------------------------------------------------------------------
472 WDI_MicFailureIndType
473---------------------------------------------------------------------------*/
474typedef struct
475{
476 /*current BSSID*/
477 wpt_macAddr bssId;
478
479 /*Source mac address*/
480 wpt_macAddr macSrcAddr;
481
482 /*Transmitter mac address*/
483 wpt_macAddr macTaAddr;
484
485 /*Destination mac address*/
486 wpt_macAddr macDstAddr;
487
488 /*Multicast flag*/
489 wpt_uint8 ucMulticast;
490
491 /*First byte of IV*/
492 wpt_uint8 ucIV1;
493
494 /*Key Id*/
495 wpt_uint8 keyId;
496
497 /*Sequence Number*/
498 wpt_uint8 TSC[WDI_CIPHER_SEQ_CTR_SIZE];
499
500 /*receive address */
501 wpt_macAddr macRxAddr;
502}WDI_MicFailureIndType;
503
504/*---------------------------------------------------------------------------
505 WDI_CoexIndType
506---------------------------------------------------------------------------*/
507typedef struct
508{
509 wpt_uint32 coexIndType;
510 wpt_uint32 coexIndData[WDI_COEX_IND_DATA_SIZE];
511} WDI_CoexIndType;
512
513/*---------------------------------------------------------------------------
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +0530514 WDI_DHCPInd
515---------------------------------------------------------------------------*/
516
517typedef struct
518{
519 wpt_uint8 device_mode;
520 wpt_uint8 macAddr[WDI_MAC_ADDR_LEN];
521}WDI_DHCPInd;
522
523/*---------------------------------------------------------------------------
524
Jeff Johnson295189b2012-06-20 16:38:30 -0700525 WDI_MacSSid
526---------------------------------------------------------------------------*/
527typedef struct
528{
529 wpt_uint8 ucLength;
530 wpt_uint8 sSSID[WDI_MAX_SSID_SIZE];
531} WDI_MacSSid;
532
533#ifdef FEATURE_WLAN_SCAN_PNO
534/*---------------------------------------------------------------------------
535 WDI_PrefNetworkFoundInd
536---------------------------------------------------------------------------*/
537typedef struct
538{
539 /* Network that was found with the highest RSSI*/
Srikant Kuppa066904f2013-05-07 13:56:02 -0700540 WDI_MacSSid ssId;
Jeff Johnson295189b2012-06-20 16:38:30 -0700541 /* Indicates the RSSI */
Srikant Kuppa066904f2013-05-07 13:56:02 -0700542 wpt_uint8 rssi;
543 wpt_uint16 frameLength;
544 wpt_uint8 *pData;
Jeff Johnson295189b2012-06-20 16:38:30 -0700545} WDI_PrefNetworkFoundInd;
546#endif // FEATURE_WLAN_SCAN_PNO
547
Jeff Johnson295189b2012-06-20 16:38:30 -0700548/*---------------------------------------------------------------------------
549 *WDI_P2pNoaAttrIndType
550 *-------------------------------------------------------------------------*/
Jeff Johnson295189b2012-06-20 16:38:30 -0700551typedef struct
552{
553 wpt_uint8 ucIndex ;
554 wpt_uint8 ucOppPsFlag ;
555 wpt_uint16 usCtWin ;
556
557 wpt_uint16 usNoa1IntervalCnt;
558 wpt_uint16 usRsvd1 ;
559 wpt_uint32 uslNoa1Duration;
560 wpt_uint32 uslNoa1Interval;
561 wpt_uint32 uslNoa1StartTime;
562
563 wpt_uint16 usNoa2IntervalCnt;
564 wpt_uint16 usRsvd2;
565 wpt_uint32 uslNoa2Duration;
566 wpt_uint32 uslNoa2Interval;
567 wpt_uint32 uslNoa2StartTime;
568
569 wpt_uint32 status;
570}WDI_P2pNoaAttrIndType;
Viral Modid86bde22012-12-10 13:09:21 -0800571
572/*---------------------------------------------------------------------------
573 *WDI_P2pNoaStartIndType
574 *-------------------------------------------------------------------------*/
575typedef struct
576{
577 wpt_uint32 status;
578 wpt_uint32 bssIdx;
579}WDI_P2pNoaStartIndType;
580
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530581/*---------------------------------------------------------------------------
582 *WDI_TdlsIndType
583 *-------------------------------------------------------------------------*/
584typedef struct
585{
586 wpt_uint16 status;
587 wpt_uint16 assocId;
588 wpt_uint16 staIdx;
589 wpt_uint16 reasonCode;
590}WDI_TdlsIndType;
Jeff Johnson295189b2012-06-20 16:38:30 -0700591
592#ifdef WLAN_WAKEUP_EVENTS
593/*---------------------------------------------------------------------------
594 WDI_WakeReasonIndType
595---------------------------------------------------------------------------*/
596typedef struct
597{
598 wpt_uint32 ulReason; /* see tWakeReasonType */
599 wpt_uint32 ulReasonArg; /* argument specific to the reason type */
600 wpt_uint32 ulStoredDataLen; /* length of optional data stored in this message, in case
601 HAL truncates the data (i.e. data packets) this length
602 will be less than the actual length */
603 wpt_uint32 ulActualDataLen; /* actual length of data */
604 wpt_uint8 aDataStart[1]; /* variable length start of data (length == storedDataLen)
605 see specific wake type */
606} WDI_WakeReasonIndType;
607#endif // WLAN_WAKEUP_EVENTS
608
609/*---------------------------------------------------------------------------
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800610 WDI_MissedBeaconIndType
611-----------------------------------------------------------------------------*/
612typedef struct
613{
614 wpt_uint8 bssIdx; /*bssidx on which beacon is missed*/
615} WDI_MissedBeaconIndType;
616
Leo Chang9056f462013-08-01 19:21:11 -0700617#ifdef FEATURE_WLAN_LPHB
618/*---------------------------------------------------------------------------
619 WDI_LPHBTimeoutIndData
620-----------------------------------------------------------------------------*/
621typedef struct
622{
623 wpt_uint8 bssIdx;
624 wpt_uint8 sessionIdx;
625 wpt_uint8 protocolType; /*TCP or UDP*/
626 wpt_uint8 eventReason;
627} WDI_LPHBTimeoutIndData;
628#endif /* FEATURE_WLAN_LPHB */
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800629
Yue Mab9c86f42013-08-14 15:59:08 -0700630/*-----------------------------------------------------------------------------
631WDI_PeriodicTxPtrnFwIndType
632-----------------------------------------------------------------------------*/
633typedef struct
634{
635 wpt_uint8 bssIdx;
636 wpt_uint32 selfStaIdx;
637 wpt_uint32 status;
638 wpt_uint32 patternIdBitmap;
639} WDI_PeriodicTxPtrnFwIndType;
640
Rajeev79dbe4c2013-10-05 11:03:42 +0530641#ifdef FEATURE_WLAN_BATCH_SCAN
642/*---------------------------------------------------------------------------
643 WDI_SetBatchScanReqType
644---------------------------------------------------------------------------*/
645typedef struct
646{
647 wpt_uint32 scanFrequency; /* how frequent to do scan default 30Sec*/
648 wpt_uint32 numberOfScansToBatch; /* number of scans to batch */
649 wpt_uint32 bestNetwork; /* best networks in terms of rssi */
650 wpt_uint8 rfBand; /* band to scan :
651 0 ->both Band, 1->2.4Ghz Only
652 and 2-> 5GHz Only */
653 wpt_uint32 rtt; /* set if required to do RTT it is not
654 supported in current version */
655}WDI_SetBatchScanReqType;
656
657/*---------------------------------------------------------------------------
658 WDI_SetBatchScanRspType
659---------------------------------------------------------------------------*/
660typedef struct
661{
662 /*max number of scans which FW can cache*/
663 wpt_uint32 nScansToBatch;
664}WDI_SetBatchScanRspType;
665
666/*---------------------------------------------------------------------------
667 WDI_TriggerBatchScanResultIndType
668---------------------------------------------------------------------------*/
669typedef struct
670{
671 wpt_uint32 param;
672}WDI_TriggerBatchScanResultIndType;
673
674/*---------------------------------------------------------------------------
675 WDI_StopBatchScanIndType
676---------------------------------------------------------------------------*/
677typedef struct
678{
679 /*max number of scans which FW can cache*/
680 wpt_uint32 param;
681}WDI_StopBatchScanIndType;
682
683
684/*---------------------------------------------------------------------------
685 * WDI_BatchScanResultIndType
686 *--------------------------------------------------------------------------*/
687typedef struct
688{
689 wpt_uint32 bssid[6]; /* BSSID */
690 wpt_uint32 ssid[32]; /* SSID */
691 wpt_uint32 ch; /* Channel */
692 wpt_uint32 rssi; /* RSSI or Level */
693 /* Timestamp when Network was found. Used to calculate age based on
694 timestamp in GET_RSP msg header */
695 wpt_uint32 timestamp;
696} tWDIBatchScanNetworkInfo, *tpWDIBatchScanNetworkInfo;
697
698typedef struct
699{
700 wpt_uint32 scanId; /*Scan List ID*/
701 /*No of AP in a Scan Result. Should be same as bestNetwork in SET_REQ msg*/
702 wpt_uint32 numNetworksInScanList;
703 /*Variable data ptr: Number of AP in Scan List*/
704 wpt_uint32 scanList[1];
705} tWDIBatchScanList, *tpWDIBatchScanList;
706
707typedef struct
708{
709 wpt_uint32 timestamp;
710 wpt_uint32 numScanLists;
711 wpt_boolean isLastResult;
712 /* Variable Data ptr: Number of Scan Lists*/
713 wpt_uint32 scanResults[1];
714} tWDIBatchScanResultParam, *tpWDIBatchScanResultParam;
715
716#endif
717
718
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800719/*---------------------------------------------------------------------------
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700720 WDI_IbssPeerInactivityIndType
721-----------------------------------------------------------------------------*/
722typedef struct
723{
724 wpt_uint8 bssIdx;
725 wpt_uint8 staIdx;
726 wpt_macAddr staMacAddr;
727}WDI_IbssPeerInactivityIndType;
728
729/*---------------------------------------------------------------------------
Chittajit Mitraf5413a42013-10-18 14:20:08 -0700730 WDI_TxRateFlags
731-----------------------------------------------------------------------------*/
732typedef enum
733{
734 WDI_TX_RATE_LEGACY = 0x1, /* Legacy rates */
735 WDI_TX_RATE_HT20 = 0x2, /* HT20 rates */
736 WDI_TX_RATE_HT40 = 0x4, /* HT40 rates */
737 WDI_TX_RATE_SGI = 0x8, /* Rate with Short guard interval */
738 WDI_TX_RATE_LGI = 0x10, /* Rate with Long guard interval */
739 WDI_TX_RATE_VHT20 = 0x20, /* VHT 20 rates */
740 WDI_TX_RATE_VHT40 = 0x40, /* VHT 20 rates */
741 WDI_TX_RATE_VHT80 = 0x80, /* VHT 20 rates */
742 WDI_TX_RATE_VIRT = 0x100, /* Virtual Rate */
743} WDI_TxRateFlags;
744
745/*---------------------------------------------------------------------------
746 WDI_RateUpdateIndParams
747-----------------------------------------------------------------------------*/
748typedef struct
749{
750 /* 0 implies RA, positive value implies fixed rate, -1 implies ignore this
751 * param ucastDataRate can be used to control RA behavior of unicast data to
752 */
753 wpt_int32 ucastDataRate;
754
755 /* TX flag to differentiate between HT20, HT40 etc */
756 WDI_TxRateFlags ucastDataRateTxFlag;
757
758 /* BSSID - Optional. 00-00-00-00-00-00 implies apply to all BCAST STAs */
759 wpt_macAddr bssid;
760
761 /*
762 * 0 implies MCAST RA, positive value implies fixed rate,
763 * -1 implies ignore this param
764 */
765 wpt_int32 reliableMcastDataRate; //unit Mbpsx10
766
767 /* TX flag to differentiate between HT20, HT40 etc */
768 WDI_TxRateFlags reliableMcastDataRateTxFlag;
769
770 /*
771 * MCAST(or BCAST) fixed data rate in 2.4 GHz, unit Mbpsx10,
772 * 0 implies ignore
773 */
774 wpt_uint32 mcastDataRate24GHz;
775
776 /* TX flag to differentiate between HT20, HT40 etc */
777 WDI_TxRateFlags mcastDataRate24GHzTxFlag;
778
779 /*
780 * MCAST(or BCAST) fixed data rate in 5 GHz,
781 * unit Mbpsx10, 0 implies ignore
782 */
783 wpt_uint32 mcastDataRate5GHz;
784
785 /* TX flag to differentiate between HT20, HT40 etc */
786 WDI_TxRateFlags mcastDataRate5GHzTxFlag;
787
788 /*
789 * Request status callback offered by UMAC - it is called if the current
790 * req has returned PENDING as status; it delivers the status of sending
791 * the message over the BUS
792 */
793 WDI_ReqStatusCb wdiReqStatusCB;
794
795 /*
796 * The user data passed in by UMAC, it will be sent back when the above
797 * function pointer will be called
798 */
799 void *pUserData;
800
801} WDI_RateUpdateIndParams;
802
Leo Chang0b0e45a2013-12-15 15:18:55 -0800803#ifdef FEATURE_WLAN_CH_AVOID
804#define WDI_CH_AVOID_MAX_RANGE 4
805
806typedef struct
807{
808 wpt_uint32 startFreq;
809 wpt_uint32 endFreq;
810} WDI_ChAvoidFreqType;
811
812typedef struct
813{
814 wpt_uint32 avoidRangeCount;
815 WDI_ChAvoidFreqType avoidFreqRange[WDI_CH_AVOID_MAX_RANGE];
816} WDI_ChAvoidIndType;
817#endif /* FEATURE_WLAN_CH_AVOID */
818
Chittajit Mitraf5413a42013-10-18 14:20:08 -0700819/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -0700820 WDI_LowLevelIndType
821 Inidcation type and information about the indication being carried
822 over
823---------------------------------------------------------------------------*/
824typedef struct
825{
826 /*Inidcation type*/
827 WDI_LowLevelIndEnumType wdiIndicationType;
828
829 /*Indication data*/
830 union
831 {
832 /*RSSI Threshold Info for WDI_LOW_RSSI_IND*/
833 WDI_LowRSSIThIndType wdiLowRSSIInfo;
834
835 /*Addr2 Frame Info for WDI_UNKNOWN_ADDR2_FRAME_RX_IND*/
836 WDI_UnkAddr2FrmRxIndType wdiUnkAddr2FrmInfo;
837
838 /*MIC Failure info for WDI_MIC_FAILURE_IND*/
839 WDI_MicFailureIndType wdiMICFailureInfo;
840
841 /*Error code for WDI_FATAL_ERROR_IND*/
842 wpt_uint16 usErrorCode;
843
844 /*Delete STA Indication*/
845 WDI_DeleteSTAIndType wdiDeleteSTAIndType;
846
847 /*Coex Indication*/
848 WDI_CoexIndType wdiCoexInfo;
849
850 /* Tx Complete Indication */
851 wpt_uint32 tx_complete_status;
852
Jeff Johnson295189b2012-06-20 16:38:30 -0700853 /* P2P NOA ATTR Indication */
854 WDI_P2pNoaAttrIndType wdiP2pNoaAttrInfo;
Viral Modid86bde22012-12-10 13:09:21 -0800855 WDI_P2pNoaStartIndType wdiP2pNoaStartInfo;
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530856 /* TDLS Indications */
857 WDI_TdlsIndType wdiTdlsIndInfo;
Jeff Johnson295189b2012-06-20 16:38:30 -0700858
859
860#ifdef FEATURE_WLAN_SCAN_PNO
861 WDI_PrefNetworkFoundInd wdiPrefNetworkFoundInd;
862#endif // FEATURE_WLAN_SCAN_PNO
863
864#ifdef WLAN_WAKEUP_EVENTS
865 WDI_WakeReasonIndType wdiWakeReasonInd;
866#endif // WLAN_WAKEUP_EVENTS
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800867 WDI_MissedBeaconIndType wdiMissedBeaconInd;
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700868
Leo Chang9056f462013-08-01 19:21:11 -0700869#ifdef FEATURE_WLAN_LPHB
870 WDI_LPHBTimeoutIndData wdiLPHBTimeoutInd;
871#endif /* FEATURE_WLAN_LPHB */
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700872
873 /* IBSS Peer Inactivity Indication */
874 WDI_IbssPeerInactivityIndType wdiIbssPeerInactivityInd;
875
Yue Mab9c86f42013-08-14 15:59:08 -0700876 /* Periodic TX Pattern FW Indication */
877 WDI_PeriodicTxPtrnFwIndType wdiPeriodicTxPtrnFwInd;
Rajeev79dbe4c2013-10-05 11:03:42 +0530878
879#ifdef FEATURE_WLAN_BATCH_SCAN
880 /*batch scan result indication from FW*/
881 void *pBatchScanResult;
882#endif
883
Leo Chang0b0e45a2013-12-15 15:18:55 -0800884#ifdef FEATURE_WLAN_CH_AVOID
885 WDI_ChAvoidIndType wdiChAvoidInd;
886#endif /* FEATURE_WLAN_CH_AVOID */
Sunil Duttbd736ed2014-05-26 21:19:41 +0530887
888#ifdef WLAN_FEATURE_LINK_LAYER_STATS
889 /*Link Layer Statistics from FW*/
890 void *pLinkLayerStatsResults;
891#endif
Jeff Johnson295189b2012-06-20 16:38:30 -0700892 } wdiIndicationData;
893}WDI_LowLevelIndType;
894
895/*---------------------------------------------------------------------------
896 WDI_LowLevelIndCBType
897
898 DESCRIPTION
899
900 This callback is invoked by DAL to deliver to UMAC certain indications
901 that has either received from the lower device or has generated itself.
902
903 PARAMETERS
904
905 IN
906 pwdiInd: information about the indication sent over
907 pUserData: user data provided by UMAC during registration
908
909
910
911 RETURN VALUE
912 The result code associated with performing the operation
913---------------------------------------------------------------------------*/
914typedef void (*WDI_LowLevelIndCBType)(WDI_LowLevelIndType* pwdiInd,
915 void* pUserData);
916
917/*---------------------------------------------------------------------------
918 WDI_DriverType
919---------------------------------------------------------------------------*/
920typedef enum
921{
922 WDI_DRIVER_TYPE_PRODUCTION = 0,
923 WDI_DRIVER_TYPE_MFG = 1,
924 WDI_DRIVER_TYPE_DVT = 2
925} WDI_DriverType;
926
927/*---------------------------------------------------------------------------
928 WDI_StartReqParamsType
929---------------------------------------------------------------------------*/
930typedef struct
931{
932 /*This is a TLV formatted buffer containing all config values that can
933 be set through the DAL Interface
934
935 The TLV is expected to be formatted like this:
936
937 0 7 15 31 ....
938 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
939
940 Or from a C construct point of VU it would look like this:
941
942 typedef struct WPT_PACK_POST
943 {
944 #ifdef WPT_BIG_ENDIAN
945 wpt_uint32 ucCfgId:8;
946 wpt_uint32 ucCfgLen:8;
947 wpt_uint32 usReserved:16;
948 #else
949 wpt_uint32 usReserved:16;
950 wpt_uint32 ucCfgLen:8;
951 wpt_uint32 ucCfgId:8;
952 #endif
953
954 wpt_uint8 ucCfgBody[ucCfgLen];
955 }WDI_ConfigType;
956
957 Multiple such tuplets are to be placed in the config buffer. One for
958 each required configuration item:
959
960 | TLV 1 | TLV2 | ....
961
962 The buffer is expected to be a flat area of memory that can be manipulated
963 with standard memory routines.
964
965 For more info please check paragraph 2.3.1 Config Structure from the
966 HAL LLD.
967
968 For a list of accepted configuration list and IDs please look up
969 wlan_qct_dal_cfg.h
970
971 */
972 void* pConfigBuffer;
973
974 /*Length of the config buffer above*/
975 wpt_uint16 usConfigBufferLen;
976
977 /*Production or FTM driver*/
978 WDI_DriverType wdiDriverType;
979
980 /*Should device enable frame translation */
981 wpt_uint8 bFrameTransEnabled;
982
983 /*Request status callback offered by UMAC - it is called if the current
984 req has returned PENDING as status; it delivers the status of sending
985 the message over the BUS */
986 WDI_ReqStatusCb wdiReqStatusCB;
987
988 /*The user data passed in by UMAC, it will be sent back when the above
989 function pointer will be called */
990 void* pUserData;
991
992 /*Indication callback given by UMAC to be called by the WLAN DAL when it
993 wishes to send something back independent of a request*/
994 WDI_LowLevelIndCBType wdiLowLevelIndCB;
995
996 /*The user data passed in by UMAC, it will be sent back when the indication
997 function pointer will be called */
998 void* pIndUserData;
999}WDI_StartReqParamsType;
1000
1001
1002/*---------------------------------------------------------------------------
1003 WDI_StartRspParamsType
1004---------------------------------------------------------------------------*/
1005typedef struct
1006{
1007 /*Status of the response*/
1008 WDI_Status wdiStatus;
1009
1010 /*Max number of STA supported by the device*/
1011 wpt_uint8 ucMaxStations;
1012
1013 /*Max number of BSS supported by the device*/
1014 wpt_uint8 ucMaxBssids;
1015
1016 /*Version of the WLAN HAL API with which we were compiled*/
1017 WDI_WlanVersionType wlanCompiledVersion;
1018
1019 /*Version of the WLAN HAL API that was reported*/
1020 WDI_WlanVersionType wlanReportedVersion;
1021
1022 /*WCNSS Software version string*/
1023 wpt_uint8 wcnssSoftwareVersion[WDI_VERSION_LENGTH];
1024
1025 /*WCNSS Hardware version string*/
1026 wpt_uint8 wcnssHardwareVersion[WDI_VERSION_LENGTH];
1027}WDI_StartRspParamsType;
1028
1029
1030/*---------------------------------------------------------------------------
1031 WDI_StopType
1032---------------------------------------------------------------------------*/
1033typedef enum
1034{
1035 /*Device is being stopped due to a reset*/
1036 WDI_STOP_TYPE_SYS_RESET,
1037
1038 /*Device is being stopped due to entering deep sleep*/
1039 WDI_STOP_TYPE_SYS_DEEP_SLEEP,
1040
1041 /*Device is being stopped because the RF needs to shut off
1042 (e.g.:Airplane mode)*/
1043 WDI_STOP_TYPE_RF_KILL
1044}WDI_StopType;
1045
1046/*---------------------------------------------------------------------------
1047 WDI_StopReqParamsType
1048---------------------------------------------------------------------------*/
1049typedef struct
1050{
1051
1052 /*The reason for which the device is being stopped*/
1053 WDI_StopType wdiStopReason;
1054
1055 /*Request status callback offered by UMAC - it is called if the current
1056 req has returned PENDING as status; it delivers the status of sending
1057 the message over the BUS */
1058 WDI_ReqStatusCb wdiReqStatusCB;
1059
1060 /*The user data passed in by UMAC, it will be sent back when the above
1061 function pointer will be called */
1062 void* pUserData;
1063}WDI_StopReqParamsType;
1064
1065
1066/*---------------------------------------------------------------------------
1067 WDI_ScanMode
1068---------------------------------------------------------------------------*/
1069typedef enum
1070{
1071 WDI_SCAN_MODE_NORMAL = 0,
1072 WDI_SCAN_MODE_LEARN,
1073 WDI_SCAN_MODE_SCAN,
1074 WDI_SCAN_MODE_PROMISC,
Madan Mohan Koyyalamudi9b876782012-10-11 16:22:51 -07001075 WDI_SCAN_MODE_SUSPEND_LINK,
1076 WDI_SCAN_MODE_ROAM_SCAN,
1077 WDI_SCAN_MODE_ROAM_SUSPEND_LINK,
1078
Jeff Johnson295189b2012-06-20 16:38:30 -07001079} WDI_ScanMode;
1080
1081/*---------------------------------------------------------------------------
1082 WDI_ScanEntry
1083---------------------------------------------------------------------------*/
1084typedef struct
1085{
1086 wpt_uint8 bssIdx[WDI_NUM_BSSID];
1087 wpt_uint8 activeBSScnt;
1088}WDI_ScanEntry;
1089
1090/*---------------------------------------------------------------------------
1091 WDI_InitScanReqInfoType
1092---------------------------------------------------------------------------*/
1093typedef struct
1094{
1095 /*LEARN - AP Role
1096 SCAN - STA Role*/
1097 WDI_ScanMode wdiScanMode;
1098
1099 /*BSSID of the BSS*/
1100 wpt_macAddr macBSSID;
1101
1102 /*Whether BSS needs to be notified*/
1103 wpt_boolean bNotifyBSS;
1104
1105 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
1106 CTS to Self). Must always be a valid frame type.*/
1107 wpt_uint8 ucFrameType;
1108
1109 /*UMAC has the option of passing the MAC frame to be used for notifying
1110 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
1111 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
1112 frameType.*/
1113 wpt_uint8 ucFrameLength;
1114
1115 /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/
1116 WDI_MacMgmtHdr wdiMACMgmtHdr;
1117
1118 /*Entry to hold number of active BSS to send NULL frames before
1119 * initiating SCAN*/
1120 WDI_ScanEntry wdiScanEntry;
1121
1122 /* Flag to enable/disable Single NOA*/
1123 wpt_boolean bUseNOA;
1124
1125 /* Indicates the scan duration (in ms) */
1126 wpt_uint16 scanDuration;
1127
1128}WDI_InitScanReqInfoType;
1129
1130/*---------------------------------------------------------------------------
1131 WDI_InitScanReqParamsType
1132---------------------------------------------------------------------------*/
1133typedef struct
1134{
1135 /*The info associated with the request that needs to be sent over to the
1136 device*/
1137 WDI_InitScanReqInfoType wdiReqInfo;
1138
1139 /*Request status callback offered by UMAC - it is called if the current
1140 req has returned PENDING as status; it delivers the status of sending
1141 the message over the BUS */
1142 WDI_ReqStatusCb wdiReqStatusCB;
1143
1144 /*The user data passed in by UMAC, it will be sent back when the above
1145 function pointer will be called */
1146 void* pUserData;
1147}WDI_InitScanReqParamsType;
1148
1149/*---------------------------------------------------------------------------
1150 WDI_StartScanReqParamsType
1151---------------------------------------------------------------------------*/
1152typedef struct
1153{
1154 /*Indicates the channel to scan*/
1155 wpt_uint8 ucChannel;
1156
1157 /*Request status callback offered by UMAC - it is called if the current
1158 req has returned PENDING as status; it delivers the status of sending
1159 the message over the BUS */
1160 WDI_ReqStatusCb wdiReqStatusCB;
1161
1162 /*The user data passed in by UMAC, it will be sent back when the above
1163 function pointer will be called */
1164 void* pUserData;
1165}WDI_StartScanReqParamsType;
1166
1167/*---------------------------------------------------------------------------
1168 WDI_StartScanRspParamsType
1169---------------------------------------------------------------------------*/
1170typedef struct
1171{
1172 /*Indicates the status of the operation */
1173 WDI_Status wdiStatus;
1174
1175#if defined WLAN_FEATURE_VOWIFI
1176 wpt_uint32 aStartTSF[2];
1177 wpt_int8 ucTxMgmtPower;
1178#endif
1179}WDI_StartScanRspParamsType;
1180
1181/*---------------------------------------------------------------------------
1182 WDI_EndScanReqParamsType
1183---------------------------------------------------------------------------*/
1184typedef struct
1185{
1186 /*Indicates the channel to stop scanning. Not used really. But retained
1187 for symmetry with "start Scan" message. It can also help in error
1188 check if needed.*/
1189 wpt_uint8 ucChannel;
1190
1191 /*Request status callback offered by UMAC - it is called if the current
1192 req has returned PENDING as status; it delivers the status of sending
1193 the message over the BUS */
1194 WDI_ReqStatusCb wdiReqStatusCB;
1195
1196 /*The user data passed in by UMAC, it will be sent back when the above
1197 function pointer will be called */
1198 void* pUserData;
1199}WDI_EndScanReqParamsType;
1200
1201/*---------------------------------------------------------------------------
1202 WDI_PhyChanBondState
1203---------------------------------------------------------------------------*/
1204typedef enum
1205{
1206 WDI_PHY_SINGLE_CHANNEL_CENTERED = 0,
1207 WDI_PHY_DOUBLE_CHANNEL_LOW_PRIMARY = 1,
1208 WDI_PHY_DOUBLE_CHANNEL_CENTERED = 2,
Jeff Johnsone7245742012-09-05 17:12:55 -07001209 WDI_PHY_DOUBLE_CHANNEL_HIGH_PRIMARY = 3,
1210#ifdef WLAN_FEATURE_11AC
1211 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_CENTERED = 4, //20/40MHZ offset LOW 40/80MHZ offset CENTERED
1212 WDI_QUADRUPLE_CHANNEL_20MHZ_CENTERED_40MHZ_CENTERED = 5, //20/40MHZ offset CENTERED 40/80MHZ offset CENTERED
1213 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_CENTERED = 6, //20/40MHZ offset HIGH 40/80MHZ offset CENTERED
1214 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_LOW = 7,//20/40MHZ offset LOW 40/80MHZ offset LOW
1215 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_LOW = 8, //20/40MHZ offset HIGH 40/80MHZ offset LOW
1216 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_HIGH = 9, //20/40MHZ offset LOW 40/80MHZ offset HIGH
1217 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_HIGH = 10,//20/40MHZ offset-HIGH 40/80MHZ offset HIGH
1218#endif
1219 WDI_MAX_CB_STATE
Jeff Johnson295189b2012-06-20 16:38:30 -07001220} WDI_PhyChanBondState;
1221
1222/*---------------------------------------------------------------------------
1223 WDI_FinishScanReqInfoType
1224---------------------------------------------------------------------------*/
1225typedef struct
1226{
1227 /*LEARN - AP Role
1228 SCAN - STA Role*/
1229 WDI_ScanMode wdiScanMode;
1230
1231 /*Operating channel to tune to.*/
1232 wpt_uint8 ucCurrentOperatingChannel;
1233
1234 /*Channel Bonding state If 20/40 MHz is operational, this will indicate the
1235 40 MHz extension channel in combination with the control channel*/
1236 WDI_PhyChanBondState wdiCBState;
1237
1238 /*BSSID of the BSS*/
1239 wpt_macAddr macBSSID;
1240
1241 /*Whether BSS needs to be notified*/
1242 wpt_boolean bNotifyBSS;
1243
1244 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
1245 CTS to Self). Must always be a valid frame type.*/
1246 wpt_uint8 ucFrameType;
1247
1248 /*UMAC has the option of passing the MAC frame to be used for notifying
1249 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
1250 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
1251 frameType.*/
1252 wpt_uint8 ucFrameLength;
1253
1254 /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/
1255 WDI_MacMgmtHdr wdiMACMgmtHdr;
1256
1257 /*Entry to hold number of active BSS to send NULL frames after SCAN*/
1258 WDI_ScanEntry wdiScanEntry;
1259
1260}WDI_FinishScanReqInfoType;
1261
1262/*---------------------------------------------------------------------------
1263 WDI_SwitchChReqInfoType
1264---------------------------------------------------------------------------*/
1265typedef struct
1266{
1267 /*Indicates the channel to switch to.*/
1268 wpt_uint8 ucChannel;
1269
1270 /*Local power constraint*/
1271 wpt_uint8 ucLocalPowerConstraint;
1272
1273 /*Secondary channel offset */
1274 WDI_HTSecondaryChannelOffset wdiSecondaryChannelOffset;
1275
1276#ifdef WLAN_FEATURE_VOWIFI
1277 wpt_int8 cMaxTxPower;
1278
1279 /*Self STA Mac address*/
1280 wpt_macAddr macSelfStaMacAddr;
1281#endif
1282 /* VO Wifi comment: BSSID is needed to identify which session issued this request. As the
1283 request has power constraints, this should be applied only to that session */
1284 /* V IMP: Keep bssId field at the end of this msg. It is used to mantain backward compatbility
1285 * by way of ignoring if using new host/old FW or old host/new FW since it is at the end of this struct
1286 */
1287 wpt_macAddr macBSSId;
1288
1289}WDI_SwitchChReqInfoType;
1290
1291/*---------------------------------------------------------------------------
1292 WDI_SwitchChReqParamsType
1293---------------------------------------------------------------------------*/
1294typedef struct
1295{
1296 /*Channel Info*/
1297 WDI_SwitchChReqInfoType wdiChInfo;
1298
1299 /*Request status callback offered by UMAC - it is called if the current
1300 req has returned PENDING as status; it delivers the status of sending
1301 the message over the BUS */
1302 WDI_ReqStatusCb wdiReqStatusCB;
1303
1304 /*The user data passed in by UMAC, it will be sent back when the above
1305 function pointer will be called */
1306 void* pUserData;
1307}WDI_SwitchChReqParamsType;
1308
1309/*---------------------------------------------------------------------------
1310 WDI_FinishScanReqParamsType
1311---------------------------------------------------------------------------*/
1312typedef struct
1313{
1314 /*Info for the Finish Scan request that will be sent down to the device*/
1315 WDI_FinishScanReqInfoType wdiReqInfo;
1316
1317 /*Request status callback offered by UMAC - it is called if the current
1318 req has returned PENDING as status; it delivers the status of sending
1319 the message over the BUS */
1320 WDI_ReqStatusCb wdiReqStatusCB;
1321
1322 /*The user data passed in by UMAC, it will be sent back when the above
1323 function pointer will be called */
1324 void* pUserData;
1325}WDI_FinishScanReqParamsType;
1326
1327/*---------------------------------------------------------------------------
1328 WDI_JoinReqInfoType
1329---------------------------------------------------------------------------*/
1330typedef struct
1331{
1332 /*Indicates the BSSID to which STA is going to associate*/
1333 wpt_macAddr macBSSID;
1334
1335 /*Indicates the MAC Address of the current Self STA*/
1336 wpt_macAddr macSTASelf;
1337
1338 /*Indicates the link State determining the entity Type e.g. BTAMP-STA, STA etc.*/
1339 wpt_uint32 linkState;
1340
1341 /*Indicates the channel to switch to.*/
1342 WDI_SwitchChReqInfoType wdiChannelInfo;
1343
1344}WDI_JoinReqInfoType;
1345
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08001346typedef enum
1347{
1348 eWDI_CHANNEL_SWITCH_SOURCE_SCAN,
1349 eWDI_CHANNEL_SWITCH_SOURCE_LISTEN,
1350 eWDI_CHANNEL_SWITCH_SOURCE_MCC,
1351 eWDI_CHANNEL_SWITCH_SOURCE_CSA,
1352 eWDI_CHANNEL_SWITCH_SOURCE_MAX = 0x7FFFFFFF
1353} WDI_ChanSwitchSource;
1354
1355/*---------------------------------------------------------------------------
1356 WDI_SwitchChReqInfoType_V1
1357---------------------------------------------------------------------------*/
1358typedef struct
1359{
1360 /*Indicates the channel to switch to.*/
1361 wpt_uint8 ucChannel;
1362
1363 /*Local power constraint*/
1364 wpt_uint8 ucLocalPowerConstraint;
1365
1366 /*Secondary channel offset */
1367 WDI_HTSecondaryChannelOffset wdiSecondaryChannelOffset;
1368
1369#ifdef WLAN_FEATURE_VOWIFI
1370 wpt_int8 cMaxTxPower;
1371 /*Self STA Mac address*/
1372 wpt_macAddr macSelfStaMacAddr;
1373#endif
1374 /* VO Wifi comment: BSSID is needed to identify which session
1375 issued this request. As the request has power constraints, this
1376 should be applied only to that session
1377 */
1378 /* V IMP: Keep bssId field at the end of this msg. It is used to
1379 maintain backward compatibility by way of ignoring if using new
1380 host/old FW or old host/new FW since it is at the end of this struct
1381 */
1382 wpt_macAddr macBSSId;
1383 /* Source of Channel Switch */
1384 WDI_ChanSwitchSource channelSwitchSrc;
1385}WDI_SwitchChReqInfoType_V1;
1386
1387/*--------------------------------------------------------------------
1388 WDI_SwitchChReqParamsType_V1
1389----------------------------------------------------------------------*/
1390typedef struct
1391{
1392 /*Channel Info*/
1393 WDI_SwitchChReqInfoType_V1 wdiChInfo;
1394
1395 /*Request status callback offered by UMAC - it is called if the current
1396 req has returned PENDING as status; it delivers the status of sending
1397 the message over the BUS */
1398 WDI_ReqStatusCb wdiReqStatusCB;
1399
1400 /*The user data passed in by UMAC, it will be sent back when the above
1401 function pointer will be called */
1402 void* pUserData;
1403}WDI_SwitchChReqParamsType_V1;
1404
Jeff Johnson295189b2012-06-20 16:38:30 -07001405/*---------------------------------------------------------------------------
1406 WDI_JoinReqParamsType
1407---------------------------------------------------------------------------*/
1408typedef struct
1409{
1410 /*Info for the Join request that will be sent down to the device*/
1411 WDI_JoinReqInfoType wdiReqInfo;
1412
1413 /*Request status callback offered by UMAC - it is called if the current
1414 req has returned PENDING as status; it delivers the status of sending
1415 the message over the BUS */
1416 WDI_ReqStatusCb wdiReqStatusCB;
1417
1418 /*The user data passed in by UMAC, it will be sent back when the above
1419 function pointer will be called */
1420 void* pUserData;
1421}WDI_JoinReqParamsType;
1422
1423/*---------------------------------------------------------------------------
1424 WDI_BssType
1425---------------------------------------------------------------------------*/
1426typedef enum
1427{
1428 WDI_INFRASTRUCTURE_MODE,
1429 WDI_INFRA_AP_MODE, //Added for softAP support
1430 WDI_IBSS_MODE,
1431 WDI_BTAMP_STA_MODE,
1432 WDI_BTAMP_AP_MODE,
1433 WDI_BSS_AUTO_MODE,
1434}WDI_BssType;
1435
1436/*---------------------------------------------------------------------------
1437 WDI_NwType
1438---------------------------------------------------------------------------*/
1439typedef enum
1440{
1441 WDI_11A_NW_TYPE,
1442 WDI_11B_NW_TYPE,
1443 WDI_11G_NW_TYPE,
1444 WDI_11N_NW_TYPE,
1445} WDI_NwType;
1446
1447/*---------------------------------------------------------------------------
1448 WDI_ConfigAction
1449---------------------------------------------------------------------------*/
1450typedef enum
1451{
1452 WDI_ADD_BSS,
1453 WDI_UPDATE_BSS
1454} WDI_ConfigAction;
1455
1456/*---------------------------------------------------------------------------
1457 WDI_HTOperatingMode
1458---------------------------------------------------------------------------*/
1459typedef enum
1460{
1461 WDI_HT_OP_MODE_PURE,
1462 WDI_HT_OP_MODE_OVERLAP_LEGACY,
1463 WDI_HT_OP_MODE_NO_LEGACY_20MHZ_HT,
1464 WDI_HT_OP_MODE_MIXED
1465
1466} WDI_HTOperatingMode;
1467
1468
1469/*---------------------------------------------------------------------------
1470 WDI_STAEntryType
1471---------------------------------------------------------------------------*/
1472typedef enum
1473{
1474 WDI_STA_ENTRY_SELF,
1475 WDI_STA_ENTRY_PEER,
1476 WDI_STA_ENTRY_BSSID,
Mohit Khanna698ba2a2012-12-04 15:08:18 -08001477 WDI_STA_ENTRY_BCAST,
1478#ifdef FEATURE_WLAN_TDLS
1479 WDI_STA_ENTRY_TDLS_PEER,
1480#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001481}WDI_STAEntryType;
1482
1483/*---------------------------------------------------------------------------
1484 WDI_ConfigActionType
1485---------------------------------------------------------------------------*/
1486typedef enum
1487{
1488 WDI_ADD_STA,
1489 WDI_UPDATE_STA
1490} WDI_ConfigActionType;
1491
1492/*----------------------------------------------------------------------------
1493 Each station added has a rate mode which specifies the sta attributes
1494 ----------------------------------------------------------------------------*/
1495typedef enum
1496{
1497 WDI_RESERVED_1 = 0,
1498 WDI_RESERVED_2,
1499 WDI_RESERVED_3,
1500 WDI_11b,
1501 WDI_11bg,
1502 WDI_11a,
1503 WDI_11n,
1504} WDI_RateModeType;
1505
1506/*---------------------------------------------------------------------------
1507 WDI_SupportedRatesType
1508---------------------------------------------------------------------------*/
1509typedef struct
1510{
1511 /*
1512 * For Self STA Entry: this represents Self Mode.
1513 * For Peer Stations, this represents the mode of the peer.
1514 * On Station:
1515 * --this mode is updated when PE adds the Self Entry.
1516 * -- OR when PE sends 'ADD_BSS' message and station context in BSS is used to indicate the mode of the AP.
1517 * ON AP:
1518 * -- this mode is updated when PE sends 'ADD_BSS' and Sta entry for that BSS is used
1519 * to indicate the self mode of the AP.
1520 * -- OR when a station is associated, PE sends 'ADD_STA' message with this mode updated.
1521 */
1522
1523 WDI_RateModeType opRateMode;
1524
1525 /* 11b, 11a and aniLegacyRates are IE rates which gives rate in unit of 500Kbps */
1526 wpt_uint16 llbRates[WDI_NUM_11B_RATES];
1527 wpt_uint16 llaRates[WDI_NUM_11A_RATES];
1528 wpt_uint16 aLegacyRates[WDI_NUM_POLARIS_RATES];
1529
1530 /*Taurus only supports 26 Titan Rates(no ESF/concat Rates will be supported)
1531 First 26 bits are reserved for those Titan rates and
1532 the last 4 bits(bit28-31) for Taurus, 2(bit26-27) bits are reserved.*/
1533 wpt_uint32 uEnhancedRateBitmap; //Titan and Taurus Rates
1534
1535 /*
1536 * 0-76 bits used, remaining reserved
1537 * bits 0-15 and 32 should be set.
1538 */
1539 wpt_uint8 aSupportedMCSSet[WDI_MAC_MAX_SUPPORTED_MCS_SET];
1540
1541 /*
1542 * RX Highest Supported Data Rate defines the highest data
1543 * rate that the STA is able to receive, in unites of 1Mbps.
1544 * This value is derived from "Supported MCS Set field" inside
1545 * the HT capability element.
1546 */
1547 wpt_uint16 aRxHighestDataRate;
1548
Jeff Johnsone7245742012-09-05 17:12:55 -07001549
1550#ifdef WLAN_FEATURE_11AC
1551 /*Indicates the Maximum MCS that can be received for each number
1552 of spacial streams */
1553 wpt_uint16 vhtRxMCSMap;
1554 /*Indicate the highest VHT data rate that the STA is able to receive*/
1555 wpt_uint16 vhtRxHighestDataRate;
1556 /*Indicates the Maximum MCS that can be transmitted for each number
1557 of spacial streams */
1558 wpt_uint16 vhtTxMCSMap;
1559 /*Indicate the highest VHT data rate that the STA is able to transmit*/
1560 wpt_uint16 vhtTxHighestDataRate;
1561#endif
1562
Jeff Johnson295189b2012-06-20 16:38:30 -07001563} WDI_SupportedRates;
1564
1565/*--------------------------------------------------------------------------
1566 WDI_HTMIMOPowerSaveState
1567 Spatial Multiplexing(SM) Power Save mode
1568 --------------------------------------------------------------------------*/
1569typedef enum
1570{
1571 WDI_HT_MIMO_PS_STATIC = 0, // Static SM Power Save mode
1572 WDI_HT_MIMO_PS_DYNAMIC = 1, // Dynamic SM Power Save mode
1573 WDI_HT_MIMO_PS_NA = 2, // reserved
1574 WDI_HT_MIMO_PS_NO_LIMIT = 3, // SM Power Save disabled
1575} WDI_HTMIMOPowerSaveState;
1576
1577/*---------------------------------------------------------------------------
1578 WDI_ConfigStaReqInfoType
1579---------------------------------------------------------------------------*/
1580typedef struct
1581{
1582 /*BSSID of STA*/
1583 wpt_macAddr macBSSID;
1584
1585 /*ASSOC ID, as assigned by UMAC*/
1586 wpt_uint16 usAssocId;
1587
1588 /*Used for configuration of different HW modules.*/
1589 WDI_STAEntryType wdiSTAType;
1590
Gopichand Nakkalae7cbc5d2013-03-27 21:09:23 -07001591 /*STA Index */
1592 wpt_uint8 staIdx;
1593
Jeff Johnson295189b2012-06-20 16:38:30 -07001594 /*Short Preamble Supported.*/
1595 wpt_uint8 ucShortPreambleSupported;
1596
1597 /*MAC Address of STA*/
1598 wpt_macAddr macSTA;
1599
1600 /*Listen interval of the STA*/
1601 wpt_uint16 usListenInterval;
1602
1603 /*Support for 11e/WMM*/
1604 wpt_uint8 ucWMMEnabled;
1605
1606 /*11n HT capable STA*/
1607 wpt_uint8 ucHTCapable;
1608
1609 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
1610 wpt_uint8 ucTXChannelWidthSet;
1611
1612 /*RIFS mode 0 - NA, 1 - Allowed*/
1613 wpt_uint8 ucRIFSMode;
1614
1615 /*L-SIG TXOP Protection mechanism
1616 0 - No Support, 1 - Supported
1617 SG - there is global field*/
1618 wpt_uint8 ucLSIGTxopProtection;
1619
1620 /*Max Ampdu Size supported by STA. Device programming.
1621 0 : 8k , 1 : 16k, 2 : 32k, 3 : 64k */
1622 wpt_uint8 ucMaxAmpduSize;
1623
1624 /*Max Ampdu density. Used by RA. 3 : 0~7 : 2^(11nAMPDUdensity -4)*/
1625 wpt_uint8 ucMaxAmpduDensity;
1626
1627 /*Max AMSDU size 1 : 3839 bytes, 0 : 7935 bytes*/
1628 wpt_uint8 ucMaxAmsduSize;
1629
1630 /*Short GI support for 40Mhz packets*/
1631 wpt_uint8 ucShortGI40Mhz;
1632
1633 /*Short GI support for 20Mhz packets*/
1634 wpt_uint8 ucShortGI20Mhz;
1635
1636 /*These rates are the intersection of peer and self capabilities.*/
1637 WDI_SupportedRates wdiSupportedRates;
1638
1639 /*Robust Management Frame (RMF) enabled/disabled*/
1640 wpt_uint8 ucRMFEnabled;
1641
1642 /* The unicast encryption type in the association */
1643 wpt_uint32 ucEncryptType;
1644
1645 /*HAL should update the existing STA entry, if this flag is set. UMAC
1646 will set this flag in case of RE-ASSOC, where we want to reuse the old
1647 STA ID.*/
1648 WDI_ConfigActionType wdiAction;
1649
1650 /*U-APSD Flags: 1b per AC. Encoded as follows:
1651 b7 b6 b5 b4 b3 b2 b1 b0 =
1652 X X X X BE BK VI VO
1653 */
1654 wpt_uint8 ucAPSD;
1655
1656 /*Max SP Length*/
1657 wpt_uint8 ucMaxSPLen;
1658
1659 /*11n Green Field preamble support*/
1660 wpt_uint8 ucGreenFieldCapable;
1661
1662 /*MIMO Power Save mode*/
1663 WDI_HTMIMOPowerSaveState wdiMIMOPS;
1664
1665 /*Delayed BA Support*/
1666 wpt_uint8 ucDelayedBASupport;
1667
1668 /*Max AMPDU duration in 32us*/
1669 wpt_uint8 us32MaxAmpduDuratio;
1670
1671 /*HT STA should set it to 1 if it is enabled in BSS
1672 HT STA should set it to 0 if AP does not support it. This indication is
1673 sent to HAL and HAL uses this flag to pickup up appropriate 40Mhz rates.
1674 */
1675 wpt_uint8 ucDsssCckMode40Mhz;
1676
1677 wpt_uint8 ucP2pCapableSta;
Jeff Johnsone7245742012-09-05 17:12:55 -07001678#ifdef WLAN_FEATURE_11AC
1679 wpt_uint8 ucVhtCapableSta;
1680 wpt_uint8 ucVhtTxChannelWidthSet;
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08001681 wpt_uint8 ucVhtTxBFEnabled;
Jeff Johnsone7245742012-09-05 17:12:55 -07001682#endif
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08001683
1684 wpt_uint8 ucHtLdpcEnabled;
1685 wpt_uint8 ucVhtLdpcEnabled;
Jeff Johnson295189b2012-06-20 16:38:30 -07001686}WDI_ConfigStaReqInfoType;
1687
1688
1689/*---------------------------------------------------------------------------
1690 WDI_RateSet
1691
1692 12 Bytes long because this structure can be used to represent rate
1693 and extended rate set IEs
1694 The parser assume this to be at least 12
1695---------------------------------------------------------------------------*/
1696#define WDI_RATESET_EID_MAX 12
1697
1698typedef struct
1699{
1700 wpt_uint8 ucNumRates;
1701 wpt_uint8 aRates[WDI_RATESET_EID_MAX];
1702} WDI_RateSet;
1703
1704/*---------------------------------------------------------------------------
1705 WDI_AciAifsnType
1706 access category record
1707---------------------------------------------------------------------------*/
1708typedef struct
1709{
1710 wpt_uint8 rsvd : 1;
1711 wpt_uint8 aci : 2;
1712 wpt_uint8 acm : 1;
1713 wpt_uint8 aifsn : 4;
1714} WDI_AciAifsnType;
1715
1716/*---------------------------------------------------------------------------
1717 WDI_CWType
1718 contention window size
1719---------------------------------------------------------------------------*/
1720typedef struct
1721{
1722 wpt_uint8 max : 4;
1723 wpt_uint8 min : 4;
1724} WDI_CWType;
1725
1726/*---------------------------------------------------------------------------
1727 WDI_EdcaParamRecord
1728---------------------------------------------------------------------------*/
1729typedef struct
1730{
1731 /*Access Category Record*/
1732 WDI_AciAifsnType wdiACI;
1733
1734 /*Contention WIndow Size*/
1735 WDI_CWType wdiCW;
1736
1737 /*TX Oportunity Limit*/
1738 wpt_uint16 usTXOPLimit;
1739} WDI_EdcaParamRecord;
1740
1741/*---------------------------------------------------------------------------
1742 WDI_EDCAParamsType
1743---------------------------------------------------------------------------*/
1744typedef struct
1745{
1746 /*BSS Index*/
1747 wpt_uint8 ucBSSIdx;
1748
1749 /*?*/
1750 wpt_boolean bHighPerformance;
1751
1752 /*Best Effort*/
1753 WDI_EdcaParamRecord wdiACBE;
1754
1755 /*Background*/
1756 WDI_EdcaParamRecord wdiACBK;
1757
1758 /*Video*/
1759 WDI_EdcaParamRecord wdiACVI;
1760
1761 /*Voice*/
1762 WDI_EdcaParamRecord acvo; // voice
1763} WDI_EDCAParamsType;
1764
1765/* operMode in ADD BSS message */
1766#define WDI_BSS_OPERATIONAL_MODE_AP 0
1767#define WDI_BSS_OPERATIONAL_MODE_STA 1
1768
1769/*---------------------------------------------------------------------------
1770 WDI_ConfigBSSRspParamsType
1771---------------------------------------------------------------------------*/
1772typedef struct
1773{
1774 /*Status of the response*/
1775 WDI_Status wdiStatus;
1776
1777 /*BSSID of the BSS*/
1778 wpt_macAddr macBSSID;
1779
1780 /*BSS Index*/
1781 wpt_uint8 ucBSSIdx;
1782
1783 /*Unicast DPU signature*/
1784 wpt_uint8 ucUcastSig;
1785
1786 /*Broadcast DPU Signature*/
1787 wpt_uint8 ucBcastSig;
1788
1789 /*MAC Address of STA*/
1790 wpt_macAddr macSTA;
1791
1792 /*BSS STA ID*/
1793 wpt_uint8 ucSTAIdx;
1794
1795#ifdef WLAN_FEATURE_VOWIFI
1796 /*HAL fills in the tx power used for mgmt frames in this field */
1797 wpt_int8 ucTxMgmtPower;
1798#endif
1799
1800}WDI_ConfigBSSRspParamsType;
1801
1802/*---------------------------------------------------------------------------
1803 WDI_DelBSSReqParamsType
1804---------------------------------------------------------------------------*/
1805typedef struct
1806{
1807 /*BSS Index of the BSS*/
1808 wpt_uint8 ucBssIdx;
1809
1810 /*Request status callback offered by UMAC - it is called if the current
1811 req has returned PENDING as status; it delivers the status of sending
1812 the message over the BUS */
1813 WDI_ReqStatusCb wdiReqStatusCB;
1814
1815 /*The user data passed in by UMAC, it will be sent back when the above
1816 function pointer will be called */
1817 void* pUserData;
1818}WDI_DelBSSReqParamsType;
1819
1820/*---------------------------------------------------------------------------
1821 WDI_DelBSSRspParamsType
1822---------------------------------------------------------------------------*/
1823typedef struct
1824{
1825 /*Status of the response*/
1826 WDI_Status wdiStatus;
1827
1828 /*BSSID of the BSS*/
1829 wpt_macAddr macBSSID;
1830
1831 wpt_uint8 ucBssIdx;
1832
1833}WDI_DelBSSRspParamsType;
1834
1835/*---------------------------------------------------------------------------
1836 WDI_ConfigSTARspParamsType
1837---------------------------------------------------------------------------*/
1838typedef struct
1839{
1840 /*Status of the response*/
1841 WDI_Status wdiStatus;
1842
1843 /*STA Idx allocated by HAL*/
1844 wpt_uint8 ucSTAIdx;
1845
1846 /*MAC Address of STA*/
1847 wpt_macAddr macSTA;
1848
1849 /* BSSID Index of BSS to which the station is associated */
1850 wpt_uint8 ucBssIdx;
1851
1852 /* DPU Index - PTK */
1853 wpt_uint8 ucDpuIndex;
1854
1855 /* Bcast DPU Index - GTK */
1856 wpt_uint8 ucBcastDpuIndex;
1857
1858 /* Management DPU Index - IGTK - Why is it called bcastMgmtDpuIdx? */
1859 wpt_uint8 ucBcastMgmtDpuIdx;
1860
1861 /*Unicast DPU signature*/
1862 wpt_uint8 ucUcastSig;
1863
1864 /*Broadcast DPU Signature*/
1865 wpt_uint8 ucBcastSig;
1866
1867 /* IGTK DPU signature*/
1868 wpt_uint8 ucMgmtSig;
1869
1870}WDI_ConfigSTARspParamsType;
1871
1872/*---------------------------------------------------------------------------
1873 WDI_PostAssocRspParamsType
1874---------------------------------------------------------------------------*/
1875typedef struct
1876{
1877 /*Status of the response*/
1878 WDI_Status wdiStatus;
1879
1880 /*Parameters related to the BSS*/
1881 WDI_ConfigBSSRspParamsType bssParams;
1882
1883 /*Parameters related to the self STA*/
1884 WDI_ConfigSTARspParamsType staParams;
1885
1886}WDI_PostAssocRspParamsType;
1887
1888/*---------------------------------------------------------------------------
1889 WDI_DelSTAReqParamsType
1890---------------------------------------------------------------------------*/
1891typedef struct
1892{
1893 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
1894 wpt_uint8 ucSTAIdx;
1895
1896 /*Request status callback offered by UMAC - it is called if the current
1897 req has returned PENDING as status; it delivers the status of sending
1898 the message over the BUS */
1899 WDI_ReqStatusCb wdiReqStatusCB;
1900
1901 /*The user data passed in by UMAC, it will be sent back when the above
1902 function pointer will be called */
1903 void* pUserData;
1904}WDI_DelSTAReqParamsType;
1905
1906/*---------------------------------------------------------------------------
1907 WDI_DelSTARspParamsType
1908---------------------------------------------------------------------------*/
1909typedef struct
1910{
1911 /*Status of the response*/
1912 WDI_Status wdiStatus;
1913
1914 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
1915 wpt_uint8 ucSTAIdx;
1916}WDI_DelSTARspParamsType;
1917
1918/*---------------------------------------------------------------------------
1919 WDI_EncryptType
1920---------------------------------------------------------------------------*/
1921typedef enum
1922{
1923 WDI_ENCR_NONE,
1924 WDI_ENCR_WEP40,
1925 WDI_ENCR_WEP104,
1926 WDI_ENCR_TKIP,
1927 WDI_ENCR_CCMP,
1928#if defined(FEATURE_WLAN_WAPI)
1929 WDI_ENCR_WPI,
1930#endif
1931 WDI_ENCR_AES_128_CMAC
1932} WDI_EncryptType;
1933
1934/*---------------------------------------------------------------------------
1935 WDI_KeyDirectionType
1936---------------------------------------------------------------------------*/
1937typedef enum
1938{
1939 WDI_TX_ONLY,
1940 WDI_RX_ONLY,
1941 WDI_TX_RX,
Jeff Johnson295189b2012-06-20 16:38:30 -07001942 WDI_TX_DEFAULT,
Jeff Johnson295189b2012-06-20 16:38:30 -07001943 WDI_DONOT_USE_KEY_DIRECTION
1944} WDI_KeyDirectionType;
1945
1946#define WDI_MAX_ENCR_KEYS 4
1947#define WDI_MAX_KEY_LENGTH 32
1948#if defined(FEATURE_WLAN_WAPI)
1949#define WDI_MAX_KEY_RSC_LEN 16
1950#define WDI_WAPI_KEY_RSC_LEN 16
1951#else
1952#define WDI_MAX_KEY_RSC_LEN 8
1953#endif
1954
1955typedef struct
1956{
1957 /* Key ID */
1958 wpt_uint8 keyId;
1959 /* 0 for multicast */
1960 wpt_uint8 unicast;
1961 /* Key Direction */
1962 WDI_KeyDirectionType keyDirection;
1963 /* Usage is unknown */
1964 wpt_uint8 keyRsc[WDI_MAX_KEY_RSC_LEN];
1965 /* =1 for authenticator, =0 for supplicant */
1966 wpt_uint8 paeRole;
1967 wpt_uint16 keyLength;
1968 wpt_uint8 key[WDI_MAX_KEY_LENGTH];
1969
1970}WDI_KeysType;
1971
1972/*---------------------------------------------------------------------------
1973 WDI_SetBSSKeyReqInfoType
1974---------------------------------------------------------------------------*/
1975typedef struct
1976{
1977 /*BSS Index of the BSS*/
1978 wpt_uint8 ucBssIdx;
1979
1980 /*Encryption Type used with peer*/
1981 WDI_EncryptType wdiEncType;
1982
1983 /*Number of keys*/
1984 wpt_uint8 ucNumKeys;
1985
1986 /*Array of keys.*/
1987 WDI_KeysType aKeys[WDI_MAX_ENCR_KEYS];
1988
1989 /*Control for Replay Count, 1= Single TID based replay count on Tx
1990 0 = Per TID based replay count on TX */
1991 wpt_uint8 ucSingleTidRc;
1992}WDI_SetBSSKeyReqInfoType;
1993
1994/*---------------------------------------------------------------------------
1995 WDI_SetBSSKeyReqParamsType
1996---------------------------------------------------------------------------*/
1997typedef struct
1998{
1999 /*Key Info */
2000 WDI_SetBSSKeyReqInfoType wdiBSSKeyInfo;
2001
2002 /*Request status callback offered by UMAC - it is called if the current
2003 req has returned PENDING as status; it delivers the status of sending
2004 the message over the BUS */
2005 WDI_ReqStatusCb wdiReqStatusCB;
2006
2007 /*The user data passed in by UMAC, it will be sent back when the above
2008 function pointer will be called */
2009 void* pUserData;
2010}WDI_SetBSSKeyReqParamsType;
2011
2012/*---------------------------------------------------------------------------
2013 WDI_WepType
2014---------------------------------------------------------------------------*/
2015typedef enum
2016{
2017 WDI_WEP_STATIC,
2018 WDI_WEP_DYNAMIC
2019
2020} WDI_WepType;
2021
2022/*---------------------------------------------------------------------------
2023 WDI_RemoveBSSKeyReqInfoType
2024---------------------------------------------------------------------------*/
2025typedef struct
2026{
2027 /*BSS Index of the BSS*/
2028 wpt_uint8 ucBssIdx;
2029
2030 /*Encryption Type used with peer*/
2031 WDI_EncryptType wdiEncType;
2032
2033 /*Key Id*/
2034 wpt_uint8 ucKeyId;
2035
2036 /*STATIC/DYNAMIC. Used in Nullifying in Key Descriptors for Static/Dynamic
2037 keys*/
2038 WDI_WepType wdiWEPType;
2039}WDI_RemoveBSSKeyReqInfoType;
2040
2041/*---------------------------------------------------------------------------
2042 WDI_RemoveBSSKeyReqParamsType
2043---------------------------------------------------------------------------*/
2044typedef struct
2045{
2046 /*Key Info */
2047 WDI_RemoveBSSKeyReqInfoType wdiKeyInfo;
2048
2049 /*Request status callback offered by UMAC - it is called if the current
2050 req has returned PENDING as status; it delivers the status of sending
2051 the message over the BUS */
2052 WDI_ReqStatusCb wdiReqStatusCB;
2053
2054 /*The user data passed in by UMAC, it will be sent back when the above
2055 function pointer will be called */
2056 void* pUserData;
2057}WDI_RemoveBSSKeyReqParamsType;
2058
2059/*---------------------------------------------------------------------------
2060 WDI_SetSTAKeyReqInfoType
2061---------------------------------------------------------------------------*/
2062typedef struct
2063{
2064 /*STA Index*/
2065 wpt_uint8 ucSTAIdx;
2066
2067 /*Encryption Type used with peer*/
2068 WDI_EncryptType wdiEncType;
2069
2070 /*STATIC/DYNAMIC*/
2071 WDI_WepType wdiWEPType;
2072
2073 /*Default WEP key, valid only for static WEP, must between 0 and 3.*/
2074 wpt_uint8 ucDefWEPIdx;
2075
2076 /*Number of keys*/
2077 wpt_uint8 ucNumKeys;
2078
2079 /*Array of keys.*/
2080 WDI_KeysType wdiKey[WDI_MAX_ENCR_KEYS];
2081
2082 /*Control for Replay Count, 1= Single TID based replay count on Tx
2083 0 = Per TID based replay count on TX */
2084 wpt_uint8 ucSingleTidRc;
2085}WDI_SetSTAKeyReqInfoType;
2086
2087/*---------------------------------------------------------------------------
2088 WDI_ConfigBSSReqInfoType
2089---------------------------------------------------------------------------*/
2090typedef struct
2091{
2092 /*Peer BSSID*/
2093 wpt_macAddr macBSSID;
2094
2095 /*Self MAC Address*/
2096 wpt_macAddr macSelfAddr;
2097
2098 /*BSS Type*/
2099 WDI_BssType wdiBSSType;
2100
2101 /*Operational Mode: AP =0, STA = 1*/
2102 wpt_uint8 ucOperMode;
2103
2104 /*Network Type*/
2105 WDI_NwType wdiNWType;
2106
2107 /*Used to classify PURE_11G/11G_MIXED to program MTU*/
2108 wpt_uint8 ucShortSlotTimeSupported;
2109
2110 /*Co-exist with 11a STA*/
2111 wpt_uint8 ucllaCoexist;
2112
2113 /*Co-exist with 11b STA*/
2114 wpt_uint8 ucllbCoexist;
2115
2116 /*Co-exist with 11g STA*/
2117 wpt_uint8 ucllgCoexist;
2118
2119 /*Coexistence with 11n STA*/
2120 wpt_uint8 ucHT20Coexist;
2121
2122 /*Non GF coexist flag*/
2123 wpt_uint8 ucllnNonGFCoexist;
2124
2125 /*TXOP protection support*/
2126 wpt_uint8 ucTXOPProtectionFullSupport;
2127
2128 /*RIFS mode*/
2129 wpt_uint8 ucRIFSMode;
2130
2131 /*Beacon Interval in TU*/
2132 wpt_uint16 usBeaconInterval;
2133
2134 /*DTIM period*/
2135 wpt_uint8 ucDTIMPeriod;
2136
2137 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
2138 wpt_uint8 ucTXChannelWidthSet;
2139
2140 /*Operating channel*/
2141 wpt_uint8 ucCurrentOperChannel;
2142
2143 /*Extension channel for channel bonding*/
2144 wpt_uint8 ucCurrentExtChannel;
2145
2146 /*Context of the station being added in HW.*/
2147 WDI_ConfigStaReqInfoType wdiSTAContext;
2148
2149 /*SSID of the BSS*/
2150 WDI_MacSSid wdiSSID;
2151
2152 /*HAL should update the existing BSS entry, if this flag is set. UMAC will
2153 set this flag in case of RE-ASSOC, where we want to reuse the old BSSID*/
2154 WDI_ConfigAction wdiAction;
2155
2156 /*Basic Rate Set*/
2157 WDI_RateSet wdiRateSet;
2158
2159 /*Enable/Disable HT capabilities of the BSS*/
2160 wpt_uint8 ucHTCapable;
2161
2162 /* Enable/Disable OBSS protection */
2163 wpt_uint8 ucObssProtEnabled;
2164
2165 /*RMF enabled/disabled*/
2166 wpt_uint8 ucRMFEnabled;
2167
2168 /*Determines the current HT Operating Mode operating mode of the
2169 802.11n STA*/
2170 WDI_HTOperatingMode wdiHTOperMod;
2171
2172 /*Dual CTS Protection: 0 - Unused, 1 - Used*/
2173 wpt_uint8 ucDualCTSProtection;
2174
2175 /* Probe Response Max retries */
2176 wpt_uint8 ucMaxProbeRespRetryLimit;
2177
2178 /* To Enable Hidden ssid */
2179 wpt_uint8 bHiddenSSIDEn;
2180
2181 /* To Enable Disable FW Proxy Probe Resp */
2182 wpt_uint8 bProxyProbeRespEn;
2183
2184 /* Boolean to indicate if EDCA params are valid. UMAC might not have valid
2185 EDCA params or might not desire to apply EDCA params during config BSS.
2186 0 implies Not Valid ; Non-Zero implies valid*/
2187 wpt_uint8 ucEDCAParamsValid;
2188
2189 /*EDCA Parameters for BK*/
2190 WDI_EdcaParamRecord wdiBKEDCAParams;
2191
2192 /*EDCA Parameters for BE*/
2193 WDI_EdcaParamRecord wdiBEEDCAParams;
2194
2195 /*EDCA Parameters for VI*/
2196 WDI_EdcaParamRecord wdiVIEDCAParams;
2197
2198 /*EDCA Parameters for VO*/
2199 WDI_EdcaParamRecord wdiVOEDCAParams;
2200
2201#ifdef WLAN_FEATURE_VOWIFI
2202 /*max power to be used after applying the power constraint, if any */
2203 wpt_int8 cMaxTxPower;
2204#endif
2205
2206 /* Persona for the BSS can be STA,AP,GO,CLIENT, same as Connection Mode */
2207 wpt_uint8 ucPersona;
2208
2209 /* Spectrum Mangement Indicator */
2210 wpt_uint8 bSpectrumMgtEn;
2211
2212#ifdef WLAN_FEATURE_VOWIFI_11R
2213 wpt_uint8 bExtSetStaKeyParamValid;
2214 WDI_SetSTAKeyReqInfoType wdiExtSetKeyParam;
2215#endif
2216
Jeff Johnsone7245742012-09-05 17:12:55 -07002217#ifdef WLAN_FEATURE_11AC
2218 wpt_uint8 ucVhtCapableSta;
2219 wpt_uint8 ucVhtTxChannelWidthSet;
2220#endif
2221
Jeff Johnson295189b2012-06-20 16:38:30 -07002222}WDI_ConfigBSSReqInfoType;
2223
2224/*---------------------------------------------------------------------------
2225 WDI_PostAssocReqParamsType
2226---------------------------------------------------------------------------*/
2227typedef struct
2228{
2229 /*Config STA arguments.*/
2230 WDI_ConfigStaReqInfoType wdiSTAParams;
2231
2232 /*Config BSS Arguments*/
2233 WDI_ConfigBSSReqInfoType wdiBSSParams;
2234
2235 /*Request status callback offered by UMAC - it is called if the current
2236 req has returned PENDING as status; it delivers the status of sending
2237 the message over the BUS */
2238 WDI_ReqStatusCb wdiReqStatusCB;
2239
2240 /*The user data passed in by UMAC, it will be sent back when the above
2241 function pointer will be called */
2242 void* pUserData;
2243}WDI_PostAssocReqParamsType;
2244
2245/*---------------------------------------------------------------------------
2246 WDI_ConfigBSSReqParamsType
2247---------------------------------------------------------------------------*/
2248typedef struct
2249{
2250 /*Info for the Join request that will be sent down to the device*/
2251 WDI_ConfigBSSReqInfoType wdiReqInfo;
2252
2253 /*Request status callback offered by UMAC - it is called if the current
2254 req has returned PENDING as status; it delivers the status of sending
2255 the message over the BUS */
2256 WDI_ReqStatusCb wdiReqStatusCB;
2257
2258 /*The user data passed in by UMAC, it will be sent back when the above
2259 function pointer will be called */
2260 void* pUserData;
2261}WDI_ConfigBSSReqParamsType;
2262
2263/*---------------------------------------------------------------------------
2264 WDI_SetSTAKeyReqParamsType
2265---------------------------------------------------------------------------*/
2266typedef struct
2267{
2268 /*Key Info*/
2269 WDI_SetSTAKeyReqInfoType wdiKeyInfo;
2270
2271 /*Request status callback offered by UMAC - it is called if the current
2272 req has returned PENDING as status; it delivers the status of sending
2273 the message over the BUS */
2274 WDI_ReqStatusCb wdiReqStatusCB;
2275
2276 /*The user data passed in by UMAC, it will be sent back when the above
2277 function pointer will be called */
2278 void* pUserData;
2279}WDI_SetSTAKeyReqParamsType;
2280
2281/*---------------------------------------------------------------------------
2282 WDI_RemoveSTAKeyReqInfoType
2283---------------------------------------------------------------------------*/
2284typedef struct
2285{
2286 /*STA Index*/
2287 wpt_uint8 ucSTAIdx;
2288
2289 /*Encryption Type used with peer*/
2290 WDI_EncryptType wdiEncType;
2291
2292 /*Key Id*/
2293 wpt_uint8 ucKeyId;
2294
2295 /*Whether to invalidate the Broadcast key or Unicast key. In case of WEP,
2296 the same key is used for both broadcast and unicast.*/
2297 wpt_uint8 ucUnicast;
2298}WDI_RemoveSTAKeyReqInfoType;
2299
2300/*---------------------------------------------------------------------------
2301 WDI_RemoveSTAKeyReqParamsType
2302---------------------------------------------------------------------------*/
2303typedef struct
2304{
2305 /*Key Info */
2306 WDI_RemoveSTAKeyReqInfoType wdiKeyInfo;
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_RemoveSTAKeyReqParamsType;
2317
2318/*---------------------------------------------------------------------------
2319 QOS Parameters
2320---------------------------------------------------------------------------*/
2321
2322/*---------------------------------------------------------------------------
2323 WDI_TSInfoTfc
2324---------------------------------------------------------------------------*/
2325typedef struct
2326{
2327 wpt_uint16 ackPolicy:2;
2328 wpt_uint16 userPrio:3;
2329 wpt_uint16 psb:1;
2330 wpt_uint16 aggregation : 1;
2331 wpt_uint16 accessPolicy : 2;
2332 wpt_uint16 direction : 2;
2333 wpt_uint16 tsid : 4;
2334 wpt_uint16 trafficType : 1;
2335} WDI_TSInfoTfc;
2336
2337/*---------------------------------------------------------------------------
2338 WDI_TSInfoSch
2339---------------------------------------------------------------------------*/
2340typedef struct
2341{
2342 wpt_uint8 rsvd : 7;
2343 wpt_uint8 schedule : 1;
2344} WDI_TSInfoSch;
2345
2346/*---------------------------------------------------------------------------
2347 WDI_TSInfoType
2348---------------------------------------------------------------------------*/
2349typedef struct
2350{
2351 WDI_TSInfoTfc wdiTraffic;
2352 WDI_TSInfoSch wdiSchedule;
2353} WDI_TSInfoType;
2354
2355/*---------------------------------------------------------------------------
2356 WDI_TspecIEType
2357---------------------------------------------------------------------------*/
2358typedef struct
2359{
2360 wpt_uint8 ucType;
2361 wpt_uint8 ucLength;
2362 WDI_TSInfoType wdiTSinfo;
2363 wpt_uint16 usNomMsduSz;
2364 wpt_uint16 usMaxMsduSz;
2365 wpt_uint32 uMinSvcInterval;
2366 wpt_uint32 uMaxSvcInterval;
2367 wpt_uint32 uInactInterval;
2368 wpt_uint32 uSuspendInterval;
2369 wpt_uint32 uSvcStartTime;
2370 wpt_uint32 uMinDataRate;
2371 wpt_uint32 uMeanDataRate;
2372 wpt_uint32 uPeakDataRate;
2373 wpt_uint32 uMaxBurstSz;
2374 wpt_uint32 uDelayBound;
2375 wpt_uint32 uMinPhyRate;
2376 wpt_uint16 usSurplusBw;
2377 wpt_uint16 usMediumTime;
2378}WDI_TspecIEType;
2379
2380/*---------------------------------------------------------------------------
2381 WDI_AddTSReqInfoType
2382---------------------------------------------------------------------------*/
2383typedef struct
2384{
2385 /*STA Index*/
2386 wpt_uint8 ucSTAIdx;
2387
2388 /*Identifier for TSpec*/
2389 wpt_uint16 ucTspecIdx;
2390
2391 /*Tspec IE negotiated OTA*/
2392 WDI_TspecIEType wdiTspecIE;
2393
2394 /*UAPSD delivery and trigger enabled flags */
2395 wpt_uint8 ucUapsdFlags;
2396
2397 /*SI for each AC*/
2398 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
2399
2400 /*Suspend Interval for each AC*/
2401 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
2402
2403 /*DI for each AC*/
2404 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
2405
2406}WDI_AddTSReqInfoType;
2407
2408
2409/*---------------------------------------------------------------------------
2410 WDI_AddTSReqParamsType
2411---------------------------------------------------------------------------*/
2412typedef struct
2413{
2414 /*TSpec Info */
2415 WDI_AddTSReqInfoType wdiTsInfo;
2416
2417 /*Request status callback offered by UMAC - it is called if the current
2418 req has returned PENDING as status; it delivers the status of sending
2419 the message over the BUS */
2420 WDI_ReqStatusCb wdiReqStatusCB;
2421
2422 /*The user data passed in by UMAC, it will be sent back when the above
2423 function pointer will be called */
2424 void* pUserData;
2425}WDI_AddTSReqParamsType;
2426
2427/*---------------------------------------------------------------------------
2428 WDI_DelTSReqInfoType
2429---------------------------------------------------------------------------*/
2430typedef struct
2431{
2432 /*STA Index*/
2433 wpt_uint8 ucSTAIdx;
2434
2435 /*Identifier for TSpec*/
2436 wpt_uint16 ucTspecIdx;
2437
2438 /*BSSID of the BSS*/
2439 wpt_macAddr macBSSID;
2440}WDI_DelTSReqInfoType;
2441
2442/*---------------------------------------------------------------------------
2443 WDI_DelTSReqParamsType
2444---------------------------------------------------------------------------*/
2445typedef struct
2446{
2447 /*Del TSpec Info*/
2448 WDI_DelTSReqInfoType wdiDelTSInfo;
2449
2450 /*Request status callback offered by UMAC - it is called if the current
2451 req has returned PENDING as status; it delivers the status of sending
2452 the message over the BUS */
2453 WDI_ReqStatusCb wdiReqStatusCB;
2454
2455 /*The user data passed in by UMAC, it will be sent back when the above
2456 function pointer will be called */
2457 void* pUserData;
2458}WDI_DelTSReqParamsType;
2459
2460/*---------------------------------------------------------------------------
2461 WDI_UpdateEDCAInfoType
2462---------------------------------------------------------------------------*/
2463typedef struct
2464{
krunal soni0b366c02013-07-17 19:55:57 -07002465 /*BSS Index of the BSS*/
2466 wpt_uint16 ucBssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07002467
Jeff Johnson295189b2012-06-20 16:38:30 -07002468 /*EDCA params for BE*/
2469 WDI_EdcaParamRecord wdiEdcaBEInfo;
2470
2471 /*EDCA params for BK*/
2472 WDI_EdcaParamRecord wdiEdcaBKInfo;
2473
2474 /*EDCA params for VI*/
2475 WDI_EdcaParamRecord wdiEdcaVIInfo;
2476
2477 /*EDCA params for VO*/
2478 WDI_EdcaParamRecord wdiEdcaVOInfo;
2479
2480}WDI_UpdateEDCAInfoType;
2481
2482/*---------------------------------------------------------------------------
2483 WDI_UpdateEDCAParamsType
2484---------------------------------------------------------------------------*/
2485typedef struct
2486{
2487 /*EDCA Info */
2488 WDI_UpdateEDCAInfoType wdiEDCAInfo;
2489
2490 /*Request status callback offered by UMAC - it is called if the current
2491 req has returned PENDING as status; it delivers the status of sending
2492 the message over the BUS */
2493 WDI_ReqStatusCb wdiReqStatusCB;
2494
2495 /*The user data passed in by UMAC, it will be sent back when the above
2496 function pointer will be called */
2497 void* pUserData;
2498}WDI_UpdateEDCAParamsType;
2499
2500/*---------------------------------------------------------------------------
2501 WDI_AddBASessionReqinfoType
2502---------------------------------------------------------------------------*/
2503typedef struct
2504{
2505 /*Indicates the station for which BA is added..*/
2506 wpt_uint8 ucSTAIdx;
2507
2508 /*The peer mac address*/
2509 wpt_macAddr macPeerAddr;
2510
2511 /*TID for which BA was negotiated*/
2512 wpt_uint8 ucBaTID;
2513
2514 /*Delayed or imediate */
2515 wpt_uint8 ucBaPolicy;
2516
2517 /*The number of buffers for this TID (baTID)*/
2518 wpt_uint16 usBaBufferSize;
2519
2520 /*BA timeout in TU's*/
2521 wpt_uint16 usBaTimeout;
2522
2523 /*b0..b3 - Fragment Number - Always set to 0
2524 b4..b15 - Starting Sequence Number of first MSDU for which this BA is setup*/
2525 wpt_uint16 usBaSSN;
2526
2527 /*Originator/Recipient*/
2528 wpt_uint8 ucBaDirection;
2529
2530}WDI_AddBASessionReqinfoType;
2531
2532
2533/*---------------------------------------------------------------------------
2534 WDI_AddBASessionReqParamsType
2535---------------------------------------------------------------------------*/
2536typedef struct
2537{
2538 /*BA Session Info Type*/
2539 WDI_AddBASessionReqinfoType wdiBASessionInfoType;
2540
2541 /*Request status callback offered by UMAC - it is called if the current
2542 req has returned PENDING as status; it delivers the status of sending
2543 the message over the BUS */
2544 WDI_ReqStatusCb wdiReqStatusCB;
2545
2546 /*The user data passed in by UMAC, it will be sent back when the above
2547 function pointer will be called */
2548 void* pUserData;
2549}WDI_AddBASessionReqParamsType;
2550
2551/*---------------------------------------------------------------------------
2552 WDI_AddBASessionRspParamsType
2553---------------------------------------------------------------------------*/
2554typedef struct
2555{
2556 /*Status of the response*/
2557 WDI_Status wdiStatus;
2558
2559 /* Dialog token */
2560 wpt_uint8 ucBaDialogToken;
2561
2562 /* TID for which the BA session has been setup */
2563 wpt_uint8 ucBaTID;
2564
2565 /* BA Buffer Size allocated for the current BA session */
2566 wpt_uint8 ucBaBufferSize;
2567
2568 /* BA session ID */
2569 wpt_uint16 usBaSessionID;
2570
2571 /* Reordering Window buffer */
2572 wpt_uint8 ucWinSize;
2573
2574 /*Station Index to id the sta */
2575 wpt_uint8 ucSTAIdx;
2576
2577 /* Starting Sequence Number */
2578 wpt_uint16 usBaSSN;
2579
2580}WDI_AddBASessionRspParamsType;
2581
2582/*---------------------------------------------------------------------------
2583 WDI_AddBAReqinfoType
2584---------------------------------------------------------------------------*/
2585typedef struct
2586{
2587 /*Indicates the station for which BA is added..*/
2588 wpt_uint8 ucSTAIdx;
2589
2590 /* Session Id */
2591 wpt_uint8 ucBaSessionID;
2592
2593 /* Reorder Window Size */
2594 wpt_uint8 ucWinSize;
2595
2596#ifdef FEATURE_ON_CHIP_REORDERING
2597 wpt_boolean bIsReorderingDoneOnChip;
2598#endif
2599
2600}WDI_AddBAReqinfoType;
2601
2602
2603/*---------------------------------------------------------------------------
2604 WDI_AddBAReqParamsType
2605---------------------------------------------------------------------------*/
2606typedef struct
2607{
2608 /*BA Info Type*/
2609 WDI_AddBAReqinfoType wdiBAInfoType;
2610
2611 /*Request status callback offered by UMAC - it is called if the current
2612 req has returned PENDING as status; it delivers the status of sending
2613 the message over the BUS */
2614 WDI_ReqStatusCb wdiReqStatusCB;
2615
2616 /*The user data passed in by UMAC, it will be sent back when the above
2617 function pointer will be called */
2618 void* pUserData;
2619}WDI_AddBAReqParamsType;
2620
2621
2622/*---------------------------------------------------------------------------
2623 WDI_AddBARspinfoType
2624---------------------------------------------------------------------------*/
2625typedef struct
2626{
2627 /*Status of the response*/
2628 WDI_Status wdiStatus;
2629
2630 /* Dialog token */
2631 wpt_uint8 ucBaDialogToken;
2632
2633}WDI_AddBARspinfoType;
2634
2635/*---------------------------------------------------------------------------
2636 WDI_TriggerBAReqCandidateType
2637---------------------------------------------------------------------------*/
2638typedef struct
2639{
2640 /* STA index */
2641 wpt_uint8 ucSTAIdx;
2642
2643 /* TID bit map for the STA's*/
2644 wpt_uint8 ucTidBitmap;
2645
2646}WDI_TriggerBAReqCandidateType;
2647
2648
2649/*---------------------------------------------------------------------------
2650 WDI_TriggerBAReqinfoType
2651---------------------------------------------------------------------------*/
2652typedef struct
2653{
2654 /*Indicates the station for which BA is added..*/
2655 wpt_uint8 ucSTAIdx;
2656
2657 /* Session Id */
2658 wpt_uint8 ucBASessionID;
2659
2660 /* Trigger BA Request candidate count */
2661 wpt_uint16 usBACandidateCnt;
2662
2663 /* WDI_TriggerBAReqCandidateType followed by this*/
2664
2665}WDI_TriggerBAReqinfoType;
2666
2667
2668/*---------------------------------------------------------------------------
2669 WDI_TriggerBAReqParamsType
2670---------------------------------------------------------------------------*/
2671typedef struct
2672{
2673 /*BA Trigger Info Type*/
2674 WDI_TriggerBAReqinfoType wdiTriggerBAInfoType;
2675
2676 /*Request status callback offered by UMAC - it is called if the current
2677 req has returned PENDING as status; it delivers the status of sending
2678 the message over the BUS */
2679 WDI_ReqStatusCb wdiReqStatusCB;
2680
2681 /*The user data passed in by UMAC, it will be sent back when the above
2682 function pointer will be called */
2683 void* pUserData;
2684}WDI_TriggerBAReqParamsType;
2685
2686/*---------------------------------------------------------------------------
2687 WDI_AddBAInfoType
2688---------------------------------------------------------------------------*/
2689typedef struct
2690{
2691 wpt_uint16 fBaEnable : 1;
2692 wpt_uint16 startingSeqNum: 12;
2693 wpt_uint16 reserved : 3;
2694}WDI_AddBAInfoType;
2695
2696/*---------------------------------------------------------------------------
2697 WDI_TriggerBARspCandidateType
2698---------------------------------------------------------------------------*/
2699#define STA_MAX_TC 8
2700
2701typedef struct
2702{
2703 /* STA index */
2704 wpt_macAddr macSTA;
2705
2706 /* BA Info */
2707 WDI_AddBAInfoType wdiBAInfo[STA_MAX_TC];
2708}WDI_TriggerBARspCandidateType;
2709
2710/*---------------------------------------------------------------------------
2711 WDI_TriggerBARspParamsType
2712---------------------------------------------------------------------------*/
2713typedef struct
2714{
2715 /*Status of the response*/
2716 WDI_Status wdiStatus;
2717
2718 /*BSSID of the BSS*/
2719 wpt_macAddr macBSSID;
2720
2721 /* Trigger BA response candidate count */
2722 wpt_uint16 usBaCandidateCnt;
2723
2724 /* WDI_TriggerBARspCandidateType followed by this*/
2725
2726}WDI_TriggerBARspParamsType;
2727
2728/*---------------------------------------------------------------------------
2729 WDI_DelBAReqinfoType
2730---------------------------------------------------------------------------*/
2731typedef struct
2732{
2733 /*Indicates the station for which BA is added..*/
2734 wpt_uint8 ucSTAIdx;
2735
2736 /*TID for which BA was negotiated*/
2737 wpt_uint8 ucBaTID;
2738
2739 /*Originator/Recipient*/
2740 wpt_uint8 ucBaDirection;
2741
2742}WDI_DelBAReqinfoType;
2743
2744/*---------------------------------------------------------------------------
2745 WDI_DelBAReqParamsType
2746---------------------------------------------------------------------------*/
2747typedef struct
2748{
2749 /*BA Info */
2750 WDI_DelBAReqinfoType wdiBAInfo;
2751
2752 /*Request status callback offered by UMAC - it is called if the current
2753 req has returned PENDING as status; it delivers the status of sending
2754 the message over the BUS */
2755 WDI_ReqStatusCb wdiReqStatusCB;
2756
2757 /*The user data passed in by UMAC, it will be sent back when the above
2758 function pointer will be called */
2759 void* pUserData;
2760}WDI_DelBAReqParamsType;
2761
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08002762/*---------------------------------------------------------------------------
2763 WDI_UpdateChannelReqinfoType
2764---------------------------------------------------------------------------*/
2765typedef struct
2766{
2767 /** primary 20 MHz channel frequency in mhz */
2768 wpt_uint32 mhz;
2769 /** Center frequency 1 in MHz*/
2770 wpt_uint32 band_center_freq1;
2771 /** Center frequency 2 in MHz - valid only for 11acvht 80plus80 mode*/
2772 wpt_uint32 band_center_freq2;
2773 /* The first 26 bits are a bit mask to indicate any channel flags,
2774 (see WLAN_HAL_CHAN_FLAG*)
2775 The last 6 bits indicate the mode (see tChannelPhyModeType)*/
2776 wpt_uint32 channel_info;
2777 /** contains min power, max power, reg power and reg class id. */
2778 wpt_uint32 reg_info_1;
2779 /** contains antennamax */
2780 wpt_uint32 reg_info_2;
2781}WDI_UpdateChannelReqinfoType;
2782
2783typedef struct
2784{
2785 wpt_uint8 numchan;
2786 WDI_UpdateChannelReqinfoType *pchanParam;
2787}WDI_UpdateChannelReqType;
2788/*---------------------------------------------------------------------------
2789 WDI_UpdateChReqParamsType
2790---------------------------------------------------------------------------*/
2791typedef struct
2792{
2793 /*BA Info */
2794 WDI_UpdateChannelReqType wdiUpdateChanParams;
2795
2796 /*Request status callback offered by UMAC - it is called if the current
2797 req has returned PENDING as status; it delivers the status of sending
2798 the message over the BUS */
2799 WDI_ReqStatusCb wdiReqStatusCB;
2800
2801 /*The user data passed in by UMAC, it will be sent back when the above
2802 function pointer will be called */
2803 void* pUserData;
2804}WDI_UpdateChReqParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07002805
2806/*---------------------------------------------------------------------------
2807 WDI_SwitchCHRspParamsType
2808---------------------------------------------------------------------------*/
2809typedef struct
2810{
2811 /*Status of the response*/
2812 WDI_Status wdiStatus;
2813
2814 /*Indicates the channel that WLAN is on*/
2815 wpt_uint8 ucChannel;
2816
2817#ifdef WLAN_FEATURE_VOWIFI
2818 /*HAL fills in the tx power used for mgmt frames in this field.*/
2819 wpt_int8 ucTxMgmtPower;
2820#endif
2821
2822}WDI_SwitchCHRspParamsType;
2823
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08002824/*--------------------------------------------------------------------
2825 WDI_SwitchChRspParamsType_V1
2826--------------------------------------------------------------------*/
2827typedef struct
2828{
2829 /*Status of the response*/
2830 WDI_Status wdiStatus;
2831
2832 /*Indicates the channel that WLAN is on*/
2833 wpt_uint8 ucChannel;
2834
2835#ifdef WLAN_FEATURE_VOWIFI
2836 /*HAL fills in the tx power used for mgmt frames in this field.*/
2837 wpt_int8 ucTxMgmtPower;
2838#endif
2839
2840 /* Source of Channel Switch */
2841 WDI_ChanSwitchSource channelSwitchSrc;
2842}WDI_SwitchChRspParamsType_V1;
2843
Jeff Johnson295189b2012-06-20 16:38:30 -07002844/*---------------------------------------------------------------------------
2845 WDI_ConfigSTAReqParamsType
2846---------------------------------------------------------------------------*/
2847typedef struct
2848{
2849 /*Info for the Join request that will be sent down to the device*/
2850 WDI_ConfigStaReqInfoType wdiReqInfo;
2851
2852 /*Request status callback offered by UMAC - it is called if the current
2853 req has returned PENDING as status; it delivers the status of sending
2854 the message over the BUS */
2855 WDI_ReqStatusCb wdiReqStatusCB;
2856
2857 /*The user data passed in by UMAC, it will be sent back when the above
2858 function pointer will be called */
2859 void* pUserData;
2860}WDI_ConfigSTAReqParamsType;
2861
2862
2863/*---------------------------------------------------------------------------
2864 WDI_UpdateBeaconParamsInfoType
2865---------------------------------------------------------------------------*/
2866
2867typedef struct
2868{
2869 /*BSS Index of the BSS*/
2870 wpt_uint8 ucBssIdx;
2871
2872 /*shortPreamble mode. HAL should update all the STA rates when it
2873 receives this message*/
2874 wpt_uint8 ucfShortPreamble;
2875 /* short Slot time.*/
2876 wpt_uint8 ucfShortSlotTime;
2877 /* Beacon Interval */
2878 wpt_uint16 usBeaconInterval;
2879 /*Protection related */
2880 wpt_uint8 ucllaCoexist;
2881 wpt_uint8 ucllbCoexist;
2882 wpt_uint8 ucllgCoexist;
2883 wpt_uint8 ucHt20MhzCoexist;
2884 wpt_uint8 ucllnNonGFCoexist;
2885 wpt_uint8 ucfLsigTXOPProtectionFullSupport;
2886 wpt_uint8 ucfRIFSMode;
2887
2888 wpt_uint16 usChangeBitmap;
2889}WDI_UpdateBeaconParamsInfoType;
2890
Mohit Khanna4a70d262012-09-11 16:30:12 -07002891#ifdef WLAN_FEATURE_11AC
2892typedef struct
2893{
2894 wpt_uint16 opMode;
2895 wpt_uint16 staId;
2896}WDI_UpdateVHTOpMode;
2897#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07002898
2899/*---------------------------------------------------------------------------
2900 WDI_UpdateBeaconParamsType
2901---------------------------------------------------------------------------*/
2902typedef struct
2903{
2904 /*Update Beacon Params Info*/
2905 WDI_UpdateBeaconParamsInfoType wdiUpdateBeaconParamsInfo;
2906
2907 /*Request status callback offered by UMAC - it is called if the current
2908 req has returned PENDING as status; it delivers the status of sending
2909 the message over the BUS */
2910 WDI_ReqStatusCb wdiReqStatusCB;
2911
2912 /*The user data passed in by UMAC, it will be sent back when the above
2913 function pointer will be called */
2914 void* pUserData;
2915}WDI_UpdateBeaconParamsType;
2916
2917/*---------------------------------------------------------------------------
2918 WDI_SendBeaconParamsInfoType
2919---------------------------------------------------------------------------*/
2920
2921typedef struct {
2922
2923 /*BSSID of the BSS*/
2924 wpt_macAddr macBSSID;
2925
2926 /* Beacon data */
2927 wpt_uint8 beacon[WDI_BEACON_TEMPLATE_SIZE];
2928
2929 /* length of the template */
2930 wpt_uint32 beaconLength;
2931
Jeff Johnson295189b2012-06-20 16:38:30 -07002932 /* TIM IE offset from the beginning of the template.*/
2933 wpt_uint32 timIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07002934
Jeff Johnson295189b2012-06-20 16:38:30 -07002935 /* P2P IE offset from the beginning of the template */
2936 wpt_uint16 usP2PIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07002937} WDI_SendBeaconParamsInfoType;
2938
2939/*---------------------------------------------------------------------------
2940 WDI_SendBeaconParamsType
2941---------------------------------------------------------------------------*/
2942typedef struct
2943{
2944 /*Send Beacon Params Info*/
2945 WDI_SendBeaconParamsInfoType wdiSendBeaconParamsInfo;
2946
2947 /*Request status callback offered by UMAC - it is called if the current
2948 req has returned PENDING as status; it delivers the status of sending
2949 the message over the BUS */
2950 WDI_ReqStatusCb wdiReqStatusCB;
2951
2952 /*The user data passed in by UMAC, it will be sent back when the above
2953 function pointer will be called */
2954 void* pUserData;
2955}WDI_SendBeaconParamsType;
2956
2957/*---------------------------------------------------------------------------
2958 WDI_LinkStateType
2959---------------------------------------------------------------------------*/
2960typedef enum
2961{
2962 WDI_LINK_IDLE_STATE = 0,
2963 WDI_LINK_PREASSOC_STATE = 1,
2964 WDI_LINK_POSTASSOC_STATE = 2,
2965 WDI_LINK_AP_STATE = 3,
2966 WDI_LINK_IBSS_STATE = 4,
2967
2968 // BT-AMP Case
2969 WDI_LINK_BTAMP_PREASSOC_STATE = 5,
2970 WDI_LINK_BTAMP_POSTASSOC_STATE = 6,
2971 WDI_LINK_BTAMP_AP_STATE = 7,
2972 WDI_LINK_BTAMP_STA_STATE = 8,
2973
2974 // Reserved for HAL internal use
2975 WDI_LINK_LEARN_STATE = 9,
2976 WDI_LINK_SCAN_STATE = 10,
2977 WDI_LINK_FINISH_SCAN_STATE = 11,
2978 WDI_LINK_INIT_CAL_STATE = 12,
2979 WDI_LINK_FINISH_CAL_STATE = 13,
Jeff Johnson295189b2012-06-20 16:38:30 -07002980 WDI_LINK_LISTEN_STATE = 14,
Gopichand Nakkala924e4552013-05-08 19:18:14 +05302981 WDI_LINK_SEND_ACTION_STATE = 15,
Jeff Johnson295189b2012-06-20 16:38:30 -07002982 WDI_LINK_MAX = 0x7FFFFFFF
2983} WDI_LinkStateType;
2984
2985/*---------------------------------------------------------------------------
2986 WDI_SetLinkReqInfoType
2987---------------------------------------------------------------------------*/
2988typedef struct
2989{
2990 /*BSSID of the BSS*/
2991 wpt_macAddr macBSSID;
2992
2993 /*Link state*/
2994 WDI_LinkStateType wdiLinkState;
2995
2996 /*BSSID of the BSS*/
2997 wpt_macAddr macSelfStaMacAddr;
2998}WDI_SetLinkReqInfoType;
2999
3000/*---------------------------------------------------------------------------
3001 WDI_SetLinkReqParamsType
3002---------------------------------------------------------------------------*/
3003typedef struct
3004{
3005 /*Link Info*/
3006 WDI_SetLinkReqInfoType wdiLinkInfo;
3007
3008 /*Request status callback offered by UMAC - it is called if the current
3009 req has returned PENDING as status; it delivers the status of sending
3010 the message over the BUS */
3011 WDI_ReqStatusCb wdiReqStatusCB;
3012
3013 /*The user data passed in by UMAC, it will be sent back when the above
3014 function pointer will be called */
3015 void* pUserData;
3016}WDI_SetLinkReqParamsType;
3017
3018/*---------------------------------------------------------------------------
3019 WDI_GetStatsParamsInfoType
3020---------------------------------------------------------------------------*/
3021typedef struct
3022{
3023 /*Indicates the station for which Get Stats are requested..*/
3024 wpt_uint8 ucSTAIdx;
3025
3026 /* categories of stats requested */
3027 wpt_uint32 uStatsMask;
3028}WDI_GetStatsParamsInfoType;
3029
3030/*---------------------------------------------------------------------------
3031 WDI_GetStatsReqParamsType
3032---------------------------------------------------------------------------*/
3033typedef struct
3034{
3035 /*Get Stats Params Info*/
3036 WDI_GetStatsParamsInfoType wdiGetStatsParamsInfo;
3037
3038 /*Request status callback offered by UMAC - it is called if the current
3039 req has returned PENDING as status; it delivers the status of sending
3040 the message over the BUS */
3041 WDI_ReqStatusCb wdiReqStatusCB;
3042
3043 /*The user data passed in by UMAC, it will be sent back when the above
3044 function pointer will be called */
3045 void* pUserData;
3046}WDI_GetStatsReqParamsType;
3047
3048/*---------------------------------------------------------------------------
3049 WDI_GetStatsRspParamsType
3050---------------------------------------------------------------------------*/
3051typedef struct
3052{
3053 /*message type is same as the request type*/
3054 wpt_uint16 usMsgType;
3055
3056 /* length of the entire request, includes the pStatsBuf length too*/
3057 wpt_uint16 usMsgLen;
3058
3059 /*Result of the operation*/
3060 WDI_Status wdiStatus;
3061
3062 /*Indicates the station for which Get Stats are requested..*/
3063 wpt_uint8 ucSTAIdx;
3064
3065 /* categories of stats requested */
3066 wpt_uint32 uStatsMask;
3067
3068 /* The Stats buffer starts here and can be an aggregate of more than one statistics
3069 * structure depending on statsMask.*/
3070}WDI_GetStatsRspParamsType;
3071
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003072#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08003073/*---------------------------------------------------------------------------
3074 WDI_GetRoamRssiParamsInfoType
3075---------------------------------------------------------------------------*/
3076typedef struct
3077{
3078 /*Indicates the station for which Get Stats are requested..*/
3079 wpt_uint8 ucSTAIdx;
3080
3081 /* categories of stats requested */
3082 wpt_uint32 uStatsMask;
3083}WDI_GetRoamRssiParamsInfoType;
3084
3085/*---------------------------------------------------------------------------
3086 WDI_GetRoamRssiReqParamsType
3087---------------------------------------------------------------------------*/
3088typedef struct
3089{
3090 /*Get Roam Rssi Params Info*/
3091 WDI_GetRoamRssiParamsInfoType wdiGetRoamRssiParamsInfo;
3092
3093 /*Request status callback offered by UMAC - it is called if the current
3094 req has returned PENDING as status; it delivers the status of sending
3095 the message over the BUS */
3096 WDI_ReqStatusCb wdiReqStatusCB;
3097
3098 /*The user data passed in by UMAC, it will be sent back when the above
3099 function pointer will be called */
3100 void* pUserData;
3101}WDI_GetRoamRssiReqParamsType;
3102
3103/*---------------------------------------------------------------------------
3104 WDI_GetRoamRssiRspParamsType
3105---------------------------------------------------------------------------*/
3106typedef struct
3107{
3108 /*Result of the operation*/
3109 WDI_Status wdiStatus;
3110
3111 /*Indicates the station for which Get Stats are requested..*/
3112 wpt_uint8 ucSTAIdx;
3113
3114 /* roam rssi requested */
3115 wpt_int8 rssi;
3116
3117 /* The Stats buffer starts here and can be an aggregate of more than one statistics
3118 * structure depending on statsMask.*/
3119}WDI_GetRoamRssiRspParamsType;
3120#endif
3121
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003122#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07003123/*---------------------------------------------------------------------------
3124 WDI_TSMStatsParamsInfoType
3125---------------------------------------------------------------------------*/
3126typedef struct
3127{
3128 /*Indicates the station for which Get Stats are requested..*/
3129 wpt_uint8 ucTid;
3130
3131 wpt_macAddr bssid;
3132}WDI_TSMStatsParamsInfoType;
3133
3134/*---------------------------------------------------------------------------
3135 WDI_TSMStatsReqParamsType
3136---------------------------------------------------------------------------*/
3137typedef struct
3138{
3139 /*Get TSM Stats Params Info*/
3140 WDI_TSMStatsParamsInfoType wdiTsmStatsParamsInfo;
3141
3142 WDI_ReqStatusCb wdiReqStatusCB;
3143
3144 /*The user data passed in by UMAC, it will be sent back when the above
3145 function pointer will be called */
3146 void* pUserData;
3147
3148}WDI_TSMStatsReqParamsType;
3149
3150
3151/*---------------------------------------------------------------------------
3152 WDI_TSMStatsRspParamsType
3153---------------------------------------------------------------------------*/
3154typedef struct
3155{
3156 /*Indicates the status of the operation */
3157 WDI_Status wdiStatus;
3158
3159 wpt_uint16 UplinkPktQueueDly;
3160 wpt_uint16 UplinkPktQueueDlyHist[4];
3161 wpt_uint32 UplinkPktTxDly;
3162 wpt_uint16 UplinkPktLoss;
3163 wpt_uint16 UplinkPktCount;
3164 wpt_uint8 RoamingCount;
3165 wpt_uint16 RoamingDly;
3166}WDI_TSMStatsRspParamsType;
3167
3168
3169#endif
3170/*---------------------------------------------------------------------------
3171 WDI_UpdateCfgReqParamsType
3172---------------------------------------------------------------------------*/
3173typedef struct
3174{
3175 /*This is a TLV formatted buffer containing all config values that can
3176 be set through the DAL Interface
3177
3178 The TLV is expected to be formatted like this:
3179
3180 0 7 15 31 ....
3181 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
3182
3183 Or from a C construct point of VU it would look like this:
3184
3185 typedef struct WPT_PACK_POST
3186 {
3187 #ifdef WPT_BIG_ENDIAN
3188 wpt_uint32 ucCfgId:8;
3189 wpt_uint32 ucCfgLen:8;
3190 wpt_uint32 usReserved:16;
3191 #else
3192 wpt_uint32 usReserved:16;
3193 wpt_uint32 ucCfgLen:8;
3194 wpt_uint32 ucCfgId:8;
3195 #endif
3196
3197 wpt_uint8 ucCfgBody[ucCfgLen];
3198 }WDI_ConfigType;
3199
3200 Multiple such tuplets are to be placed in the config buffer. One for
3201 each required configuration item:
3202
3203 | TLV 1 | TLV2 | ....
3204
3205 The buffer is expected to be a flat area of memory that can be manipulated
3206 with standard memory routines.
3207
3208 For more info please check paragraph 2.3.1 Config Structure from the
3209 HAL LLD.
3210
3211 For a list of accepted configuration list and IDs please look up
3212 wlan_qct_dal_cfg.h
3213 */
3214 void* pConfigBuffer;
3215
3216 /*Length of the config buffer above*/
3217 wpt_uint32 uConfigBufferLen;
3218
3219 /*Request status callback offered by UMAC - it is called if the current
3220 req has returned PENDING as status; it delivers the status of sending
3221 the message over the BUS */
3222 WDI_ReqStatusCb wdiReqStatusCB;
3223
3224 /*The user data passed in by UMAC, it will be sent back when the above
3225 function pointer will be called */
3226 void* pUserData;
3227}WDI_UpdateCfgReqParamsType;
3228
3229/*---------------------------------------------------------------------------
3230 WDI_UpdateProbeRspTemplateInfoType
3231---------------------------------------------------------------------------*/
3232//Default Beacon template size
3233#define WDI_PROBE_RSP_TEMPLATE_SIZE 0x180
3234
3235#define WDI_PROBE_REQ_BITMAP_IE_LEN 8
3236
3237typedef struct
3238{
3239 /*BSSID for which the Probe Template is to be used*/
3240 wpt_macAddr macBSSID;
3241
3242 /*Probe response template*/
3243 wpt_uint8 *pProbeRespTemplate[WDI_PROBE_RSP_TEMPLATE_SIZE];
3244
3245 /*Template Len*/
3246 wpt_uint32 uProbeRespTemplateLen;
3247
3248 /*Bitmap for the IEs that are to be handled at SLM level*/
3249 wpt_uint32 uaProxyProbeReqValidIEBmap[WDI_PROBE_REQ_BITMAP_IE_LEN];
3250
3251}WDI_UpdateProbeRspTemplateInfoType;
3252
3253/*---------------------------------------------------------------------------
3254 WDI_UpdateProbeRspParamsType
3255---------------------------------------------------------------------------*/
3256typedef struct
3257{
3258 /*Link Info*/
3259 WDI_UpdateProbeRspTemplateInfoType wdiProbeRspTemplateInfo;
3260
3261 /*Request status callback offered by UMAC - it is called if the current
3262 req has returned PENDING as status; it delivers the status of sending
3263 the message over the BUS */
3264 WDI_ReqStatusCb wdiReqStatusCB;
3265
3266 /*The user data passed in by UMAC, it will be sent back when the above
3267 function pointer will be called */
3268 void* pUserData;
3269}WDI_UpdateProbeRspTemplateParamsType;
3270
3271/*---------------------------------------------------------------------------
3272 WDI_NvDownloadReqBlobInfo
3273---------------------------------------------------------------------------*/
3274
3275typedef struct
3276{
3277 /* Blob starting address*/
3278 void *pBlobAddress;
3279
3280 /* Blob size */
3281 wpt_uint32 uBlobSize;
3282
3283}WDI_NvDownloadReqBlobInfo;
3284
3285/*---------------------------------------------------------------------------
3286 WDI_NvDownloadReqParamsType
3287---------------------------------------------------------------------------*/
3288typedef struct
3289{
3290 /*NV Blob Info*/
3291 WDI_NvDownloadReqBlobInfo wdiBlobInfo;
3292
3293 /*Request status callback offered by UMAC - it is called if the current
3294 req has returned PENDING as status; it delivers the status of sending
3295 the message over the BUS */
3296 WDI_ReqStatusCb wdiReqStatusCB;
3297
3298 /*The user data passed in by UMAC, it will be sent back when the above
3299 function pointer will be called */
3300 void* pUserData;
3301
3302}WDI_NvDownloadReqParamsType;
3303
3304/*---------------------------------------------------------------------------
3305 WDI_NvDownloadRspInfoType
3306---------------------------------------------------------------------------*/
3307typedef struct
3308{
3309 /*Status of the response*/
3310 WDI_Status wdiStatus;
3311
3312}WDI_NvDownloadRspInfoType;
3313
3314/*---------------------------------------------------------------------------
3315 WDI_SetMaxTxPowerInfoType
3316---------------------------------------------------------------------------*/
3317
3318typedef struct
3319{
3320 /*BSSID is needed to identify which session issued this request. As the request has
3321 power constraints, this should be applied only to that session*/
3322 wpt_macAddr macBSSId;
3323
3324
3325 wpt_macAddr macSelfStaMacAddr;
3326
3327 /* In request power == MaxTxpower to be used.*/
3328 wpt_int8 ucPower;
3329
3330}WDI_SetMaxTxPowerInfoType;
3331
3332/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003333 WDI_SetTxPowerInfoType
3334---------------------------------------------------------------------------*/
3335
3336typedef struct
3337{
3338 wpt_uint8 bssIdx;
3339 /* In request power == MaxTxpower to be used.*/
3340 wpt_uint8 ucPower;
3341
3342}WDI_SetTxPowerInfoType;
3343
3344/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003345 WDI_SetMaxTxPowerParamsType
3346---------------------------------------------------------------------------*/
3347typedef struct
3348{
3349 /*Link Info*/
3350 WDI_SetMaxTxPowerInfoType wdiMaxTxPowerInfo;
3351
3352 /*Request status callback offered by UMAC - it is called if the current
3353 req has returned PENDING as status; it delivers the status of sending
3354 the message over the BUS */
3355 WDI_ReqStatusCb wdiReqStatusCB;
3356
3357 /*The user data passed in by UMAC, it will be sent back when the above
3358 function pointer will be called */
3359 void* pUserData;
3360}WDI_SetMaxTxPowerParamsType;
3361
schang86c22c42013-03-13 18:41:24 -07003362/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07003363 WDI_Band
3364---------------------------------------------------------------------------*/
3365typedef enum
3366{
3367 WDI_BAND_ALL,
3368 WDI_BAND_24,
3369 WDI_BAND_5G,
3370 WDI_BAND_MAX,
3371}eWDIBand;
3372
3373/*---------------------------------------------------------------------------
3374 WDI_MaxTxPowerPerBandInfoType
3375---------------------------------------------------------------------------*/
3376typedef struct
3377{
3378 eWDIBand bandInfo;
3379 /* In request power == MaxTxpower to be used.*/
3380 wpt_uint8 ucPower;
3381}WDI_MaxTxPowerPerBandInfoType;
3382
3383/*---------------------------------------------------------------------------
3384 WDI_SetMaxTxPowerPerBandParamsType
3385---------------------------------------------------------------------------*/
3386typedef struct
3387{
3388 /*Link Info*/
3389 WDI_MaxTxPowerPerBandInfoType wdiMaxTxPowerPerBandInfo;
3390
3391 /*Request status callback offered by UMAC - it is called if the current
3392 req has returned PENDING as status; it delivers the status of sending
3393 the message over the BUS */
3394 WDI_ReqStatusCb wdiReqStatusCB;
3395
3396 /*The user data passed in by UMAC, it will be sent back when the above
3397 function pointer will be called */
3398 void* pUserData;
3399}WDI_SetMaxTxPowerPerBandParamsType;
3400
3401/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003402 WDI_SetTxPowerParamsType
3403---------------------------------------------------------------------------*/
3404typedef struct
3405{
3406 /*Link Info*/
3407 WDI_SetTxPowerInfoType wdiTxPowerInfo;
3408
3409 /*Request status callback offered by UMAC - it is called if the current
3410 req has returned PENDING as status; it delivers the status of sending
3411 the message over the BUS */
3412 WDI_ReqStatusCb wdiReqStatusCB;
3413
3414 /*The user data passed in by UMAC, it will be sent back when the above
3415 function pointer will be called */
3416 void* pUserData;
3417}WDI_SetTxPowerParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003418
3419/*---------------------------------------------------------------------------
3420 WDI_SetMaxTxPowerRspMsg
3421---------------------------------------------------------------------------*/
3422
3423typedef struct
3424{
3425 /* In response, power==tx power used for management frames*/
3426 wpt_int8 ucPower;
3427
3428 /*Result of the operation*/
3429 WDI_Status wdiStatus;
3430
3431}WDI_SetMaxTxPowerRspMsg;
3432
schang86c22c42013-03-13 18:41:24 -07003433/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07003434 WDI_SetMaxTxPowerPerBandRspMsg
3435---------------------------------------------------------------------------*/
3436typedef struct
3437{
3438 /* In response, power==tx power used for management frames*/
3439 wpt_int8 ucPower;
3440
3441 /*Result of the operation*/
3442 WDI_Status wdiStatus;
3443
3444}WDI_SetMaxTxPowerPerBandRspMsg;
3445
3446/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003447 WDI_SetTxPowerRspMsg
3448---------------------------------------------------------------------------*/
3449
3450typedef struct
3451{
3452 /* In response, power==tx power used for management frames*/
3453 wpt_int8 ucPower;
3454
3455 /*Result of the operation*/
3456 WDI_Status wdiStatus;
3457
3458}WDI_SetTxPowerRspMsg;
3459
Jeff Johnson295189b2012-06-20 16:38:30 -07003460typedef struct
3461{
3462 wpt_uint8 ucOpp_ps;
3463 wpt_uint32 uCtWindow;
3464 wpt_uint8 ucCount;
3465 wpt_uint32 uDuration;
3466 wpt_uint32 uInterval;
3467 wpt_uint32 uSingle_noa_duration;
3468 wpt_uint8 ucPsSelection;
3469}WDI_SetP2PGONOAReqInfoType;
3470
3471/*---------------------------------------------------------------------------
3472 WDI_SetP2PGONOAReqParamsType
3473---------------------------------------------------------------------------*/
3474typedef struct
3475{
3476 /*P2P GO NOA Req*/
3477 WDI_SetP2PGONOAReqInfoType wdiP2PGONOAInfo;
3478
3479 /*Request status callback offered by UMAC - it is called if the current
3480 req has returned PENDING as status; it delivers the status of sending
3481 the message over the BUS */
3482 WDI_ReqStatusCb wdiReqStatusCB;
3483
3484 /*The user data passed in by UMAC, it will be sent back when the above
3485 function pointer will be called */
3486 void* pUserData;
3487}WDI_SetP2PGONOAReqParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003488
Naresh Jayaramc7cbd782014-02-04 17:38:23 +05303489#define WDI_MAX_SUPP_CHANNELS 128
3490#define WDI_MAX_SUPP_OPER_CLASSES 32
3491
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303492typedef struct
3493{
3494 wpt_uint16 uStaIdx;
3495 wpt_uint8 uIsResponder;
3496 wpt_uint8 uUapsdQueues;
3497 wpt_uint8 uMaxSp;
3498 wpt_uint8 uIsBufSta;
Naresh Jayaramc7cbd782014-02-04 17:38:23 +05303499 wpt_uint8 uIsOffChannelSupported;
3500 wpt_uint8 peerCurrOperClass;
3501 wpt_uint8 selfCurrOperClass;
3502 wpt_uint8 validChannelsLen;
3503 wpt_uint8 validChannels[WDI_MAX_SUPP_CHANNELS];
3504 wpt_uint8 validOperClassesLen;
3505 wpt_uint8 validOperClasses[WDI_MAX_SUPP_OPER_CLASSES];
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303506}WDI_SetTDLSLinkEstablishReqInfoType;
3507/*---------------------------------------------------------------------------
3508 WDI_SetTDLSLinkEstablishReqParamsType
3509---------------------------------------------------------------------------*/
3510typedef struct
3511{
3512 /*TDLS Link Establish Req*/
3513 WDI_SetTDLSLinkEstablishReqInfoType wdiTDLSLinkEstablishInfo;
3514
3515 /*Request status callback offered by UMAC - it is called if the current
3516 req has returned PENDING as status; it delivers the status of sending
3517 the message over the BUS */
3518 WDI_ReqStatusCb wdiReqStatusCB;
3519
3520 /*The user data passed in by UMAC, it will be sent back when the above
3521 function pointer will be called */
3522 void* pUserData;
3523}WDI_SetTDLSLinkEstablishReqParamsType;
3524
3525
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05303526typedef struct
3527{
3528 /*Result of the operation*/
3529 WDI_Status wdiStatus;
3530
3531 /*STA Idx*/
3532 wpt_uint16 uStaIdx;
3533}WDI_SetTdlsLinkEstablishReqResp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003534
3535/*---------------------------------------------------------------------------
3536 WDI_SetAddSTASelfParamsType
3537---------------------------------------------------------------------------*/
3538typedef struct
3539{
3540 /*Self Station MAC address*/
3541 wpt_macAddr selfMacAddr;
3542
Kiran Kumar Lokere0ad5cd32013-06-25 11:26:22 -07003543 /*Self STA device mode*/
3544 wpt_uint32 currDeviceMode;
3545
Jeff Johnson295189b2012-06-20 16:38:30 -07003546 /*Status of the operation*/
3547 wpt_uint32 uStatus;
3548}WDI_AddSTASelfInfoType;
3549
3550/*---------------------------------------------------------------------------
3551 WDI_SetAddSTASelfParamsType
3552---------------------------------------------------------------------------*/
3553typedef struct
3554{
3555 /* Add Sta Self Req */
3556 WDI_AddSTASelfInfoType wdiAddSTASelfInfo;
3557
3558 /*Request status callback offered by UMAC - it is called if the current
3559 req has returned PENDING as status; it delivers the status of sending
3560 the message over the BUS */
3561 WDI_ReqStatusCb wdiReqStatusCB;
3562
3563 /*The user data passed in by UMAC, it will be sent back when the above
3564 function pointer will be called */
3565 void* pUserData;
3566}WDI_AddSTASelfReqParamsType;
3567
3568
3569/*---------------------------------------------------------------------------
3570 WDI_AddSTASelfRspParamsType
3571---------------------------------------------------------------------------*/
3572typedef struct
3573{
3574 /*Status of the response*/
3575 WDI_Status wdiStatus;
3576
3577 /*STA Idx allocated by HAL*/
3578 wpt_uint8 ucSTASelfIdx;
3579
3580 /* DPU Index (IGTK, PTK, GTK all same) */
3581 wpt_uint8 dpuIdx;
3582
3583 /* DPU Signature */
3584 wpt_uint8 dpuSignature;
3585
3586 /*Self STA Mac*/
3587 wpt_macAddr macSelfSta;
3588
3589}WDI_AddSTASelfRspParamsType;
3590
3591/*---------------------------------------------------------------------------
3592 WDI_DelSTASelfReqParamsType
3593 Del Sta Self info passed to WDI form WDA
3594---------------------------------------------------------------------------*/
3595typedef struct
3596{
3597 wpt_macAddr selfMacAddr;
3598
3599}WDI_DelSTASelfInfoType;
3600
3601/*---------------------------------------------------------------------------
3602 WDI_DelSTASelfReqParamsType
3603 Del Sta Self info passed to WDI form WDA
3604---------------------------------------------------------------------------*/
3605typedef struct
3606{
3607 /*Del Sta Self Info Type */
3608 WDI_DelSTASelfInfoType wdiDelStaSelfInfo;
3609 /*Request status callback offered by UMAC - it is called if the current req
3610 has returned PENDING as status; it delivers the status of sending the message
3611 over the BUS */
3612 WDI_ReqStatusCb wdiReqStatusCB;
3613 /*The user data passed in by UMAC, it will be sent back when the above
3614 function pointer will be called */
3615 void* pUserData;
3616}WDI_DelSTASelfReqParamsType;
3617
3618/*---------------------------------------------------------------------------
3619 WDI_DelSTASelfRspParamsType
3620---------------------------------------------------------------------------*/
3621typedef struct
3622{
3623 /*Status of the response*/
3624 WDI_Status wdiStatus;
3625
3626 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
3627// wpt_uint8 ucSTAIdx;
3628}WDI_DelSTASelfRspParamsType;
3629
3630/*---------------------------------------------------------------------------
3631 WDI_UapsdInfoType
3632 UAPSD parameters passed per AC to WDA from UMAC
3633---------------------------------------------------------------------------*/
3634typedef struct
3635{
3636 wpt_uint8 ucSTAIdx; // STA index
3637 wpt_uint8 ucAc; // Access Category
3638 wpt_uint8 ucUp; // User Priority
3639 wpt_uint32 uSrvInterval; // Service Interval
3640 wpt_uint32 uSusInterval; // Suspend Interval
3641 wpt_uint32 uDelayInterval; // Delay Interval
3642} WDI_UapsdInfoType;
3643
3644/*---------------------------------------------------------------------------
3645 WDI_SetUapsdAcParamsReqParamsType
3646 UAPSD parameters passed per AC to WDI from WDA
3647---------------------------------------------------------------------------*/
3648typedef struct
3649{
3650 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3651 WDI_UapsdInfoType wdiUapsdInfo;
3652 /*Request status callback offered by UMAC - it is called if the current req
3653 has returned PENDING as status; it delivers the status of sending the message
3654 over the BUS */
3655 WDI_ReqStatusCb wdiReqStatusCB;
3656 /*The user data passed in by UMAC, it will be sent back when the above
3657 function pointer will be called */
3658 void* pUserData;
3659}WDI_SetUapsdAcParamsReqParamsType;
3660
3661/*---------------------------------------------------------------------------
3662 WDI_EnterBmpsReqinfoType
3663 Enter BMPS parameters passed to WDA from UMAC
3664---------------------------------------------------------------------------*/
3665typedef struct
3666{
3667 //TBTT value derived from the last beacon
3668 wpt_uint8 ucBssIdx;
3669 wpt_uint64 uTbtt;
3670 wpt_uint8 ucDtimCount;
3671 //DTIM period given to HAL during association may not be valid,
3672 //if association is based on ProbeRsp instead of beacon.
3673 wpt_uint8 ucDtimPeriod;
3674 /* DXE physical addr to be passed down to RIVA. RIVA HAL will use it to program
3675 DXE when DXE wakes up from power save*/
3676 unsigned int dxePhyAddr;
3677
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003678 // For ESE and 11R Roaming
Jeff Johnson295189b2012-06-20 16:38:30 -07003679 wpt_uint32 rssiFilterPeriod;
3680 wpt_uint32 numBeaconPerRssiAverage;
3681 wpt_uint8 bRssiFilterEnable;
3682}WDI_EnterBmpsReqinfoType;
3683
3684/*---------------------------------------------------------------------------
3685 WDI_EnterBmpsReqParamsType
3686 Enter BMPS parameters passed to WDI from WDA
3687---------------------------------------------------------------------------*/
3688typedef struct
3689{
3690 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3691 WDI_EnterBmpsReqinfoType wdiEnterBmpsInfo;
3692 /*Request status callback offered by UMAC - it is called if the current req
3693 has returned PENDING as status; it delivers the status of sending the message
3694 over the BUS */
3695 WDI_ReqStatusCb wdiReqStatusCB;
3696 /*The user data passed in by UMAC, it will be sent back when the above
3697 function pointer will be called */
3698 void* pUserData;
3699}WDI_EnterBmpsReqParamsType;
3700
3701/*---------------------------------------------------------------------------
Mihir Shetea4306052014-03-25 00:02:54 +05303702 WDI_EnterImpsReqParamsType
3703 Enter IMPS parameters passed to WDI from WDA
3704---------------------------------------------------------------------------*/
3705typedef struct
3706{
3707 /*Request status callback offered by UMAC - it is called if the current req
3708 has returned PENDING as status; it delivers the status of sending the message
3709 over the BUS */
3710 WDI_ReqStatusCb wdiReqStatusCB;
3711 /*The user data passed in by UMAC, it will be sent back when the above
3712 function pointer will be called */
3713 void* pUserData;
3714}WDI_EnterImpsReqParamsType;
3715
3716/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003717 WDI_EnterBmpsReqParamsType
3718 Enter BMPS parameters passed from WDI to WDA
3719---------------------------------------------------------------------------*/
3720typedef struct
3721{
3722 /*Status of the response*/
3723 WDI_Status wdiStatus;
3724
3725 /*BssIDX of the session*/
3726 wpt_uint8 bssIdx;
3727}WDI_EnterBmpsRspParamsType;
3728
3729/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003730 WDI_ExitBmpsReqinfoType
3731 Exit BMPS parameters passed to WDA from UMAC
3732---------------------------------------------------------------------------*/
3733typedef struct
3734{
3735 wpt_uint8 ucSendDataNull;
Jeff Johnsone7245742012-09-05 17:12:55 -07003736 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003737}WDI_ExitBmpsReqinfoType;
3738
3739/*---------------------------------------------------------------------------
3740 WDI_ExitBmpsReqParamsType
3741 Exit BMPS parameters passed to WDI from WDA
3742---------------------------------------------------------------------------*/
3743typedef struct
3744{
3745 /*Exit BMPS Info Type, same as tExitBmpsParams */
3746 WDI_ExitBmpsReqinfoType wdiExitBmpsInfo;
3747 /*Request status callback offered by UMAC - it is called if the current req
3748 has returned PENDING as status; it delivers the status of sending the message
3749 over the BUS */
3750 WDI_ReqStatusCb wdiReqStatusCB;
3751 /*The user data passed in by UMAC, it will be sent back when the above
3752 function pointer will be called */
3753 void* pUserData;
3754}WDI_ExitBmpsReqParamsType;
3755
3756/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003757 WDI_ExitBmpsReqParamsType
3758 Exit BMPS parameters passed from WDI to WDA
3759---------------------------------------------------------------------------*/
3760typedef struct
3761{
3762 /*Status of the response*/
3763 WDI_Status wdiStatus;
3764
3765 /*BssIDX of the session*/
3766 wpt_uint8 bssIdx;
3767}WDI_ExitBmpsRspParamsType;
3768
3769/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003770 WDI_EnterUapsdReqinfoType
3771 Enter UAPSD parameters passed to WDA from UMAC
3772---------------------------------------------------------------------------*/
3773typedef struct
3774{
3775 wpt_uint8 ucBkDeliveryEnabled:1;
3776 wpt_uint8 ucBeDeliveryEnabled:1;
3777 wpt_uint8 ucViDeliveryEnabled:1;
3778 wpt_uint8 ucVoDeliveryEnabled:1;
3779 wpt_uint8 ucBkTriggerEnabled:1;
3780 wpt_uint8 ucBeTriggerEnabled:1;
3781 wpt_uint8 ucViTriggerEnabled:1;
3782 wpt_uint8 ucVoTriggerEnabled:1;
Jeff Johnsone7245742012-09-05 17:12:55 -07003783 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003784}WDI_EnterUapsdReqinfoType;
3785
3786/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003787 WDI_EnterUapsdRspParamsType
3788 Enter UAPSD parameters passed from WDI to WDA
3789---------------------------------------------------------------------------*/
3790typedef struct
3791{
3792 /*Status of the response*/
3793 WDI_Status wdiStatus;
3794
3795 /*BssIDX of the session*/
3796 wpt_uint8 bssIdx;
3797}WDI_EnterUapsdRspParamsType;
3798
3799/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003800 WDI_EnterUapsdReqinfoType
3801 Enter UAPSD parameters passed to WDI from WDA
3802---------------------------------------------------------------------------*/
3803typedef struct
3804{
3805 /*Enter UAPSD Info Type, same as tUapsdParams */
3806 WDI_EnterUapsdReqinfoType wdiEnterUapsdInfo;
3807 /*Request status callback offered by UMAC - it is called if the current req
3808 has returned PENDING as status; it delivers the status of sending the message
3809 over the BUS */
3810 WDI_ReqStatusCb wdiReqStatusCB;
3811 /*The user data passed in by UMAC, it will be sent back when the above
3812 function pointer will be called */
3813 void* pUserData;
3814}WDI_EnterUapsdReqParamsType;
3815
3816/*---------------------------------------------------------------------------
3817 WDI_UpdateUapsdReqinfoType
3818 Update UAPSD parameters passed to WDA from UMAC
3819---------------------------------------------------------------------------*/
3820typedef struct
3821{
3822 wpt_uint8 ucSTAIdx;
3823 wpt_uint8 ucUapsdACMask;
3824 wpt_uint32 uMaxSpLen;
3825}WDI_UpdateUapsdReqinfoType;
3826
3827/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003828 WDI_ExitUapsdReqinfoType
3829 Exit UAPSD parameters passed to WDA from UMAC
3830---------------------------------------------------------------------------*/
3831typedef struct
3832{
3833 wpt_uint8 bssIdx;
3834}WDI_ExitUapsdReqinfoType;
3835
3836/*---------------------------------------------------------------------------
3837 WDI_ExitUapsdReqParamsType
3838 Exit UAPSD parameters passed to WDI from WDA
3839---------------------------------------------------------------------------*/
3840typedef struct
3841{
3842 /*Exit UAPSD Info Type, same as tUapsdParams */
3843 WDI_ExitUapsdReqinfoType wdiExitUapsdInfo;
3844 /*Request status callback offered by UMAC - it is called if the current req
3845 has returned PENDING as status; it delivers the status of sending the message
3846 over the BUS */
3847 WDI_ReqStatusCb wdiReqStatusCB;
3848 /*The user data passed in by UMAC, it will be sent back when the above
3849 function pointer will be called */
3850 void* pUserData;
3851}WDI_ExitUapsdReqParamsType;
3852
3853/*---------------------------------------------------------------------------
3854 WDI_ExitUapsdRspParamsType
3855 Exit UAPSD parameters passed from WDI to WDA
3856---------------------------------------------------------------------------*/
3857typedef struct
3858{
3859 /*Status of the response*/
3860 WDI_Status wdiStatus;
3861
3862 /*BssIDX of the session*/
3863 wpt_uint8 bssIdx;
3864}WDI_ExitUapsdRspParamsType;
3865
3866/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003867 WDI_UpdateUapsdReqParamsType
3868 Update UAPSD parameters passed to WDI form WDA
3869---------------------------------------------------------------------------*/
3870typedef struct
3871{
3872 /*Update UAPSD Info Type, same as tUpdateUapsdParams */
3873 WDI_UpdateUapsdReqinfoType wdiUpdateUapsdInfo;
3874 /*Request status callback offered by UMAC - it is called if the current req
3875 has returned PENDING as status; it delivers the status of sending the message
3876 over the BUS */
3877 WDI_ReqStatusCb wdiReqStatusCB;
3878 /*The user data passed in by UMAC, it will be sent back when the above
3879 function pointer will be called */
3880 void* pUserData;
3881}WDI_UpdateUapsdReqParamsType;
3882
3883/*---------------------------------------------------------------------------
3884 WDI_ConfigureRxpFilterReqParamsType
3885 RXP filter parameters passed to WDI form WDA
3886---------------------------------------------------------------------------*/
3887typedef struct
3888{
3889 /* Mode of Mcast and Bcast filters configured */
3890 wpt_uint8 ucSetMcstBcstFilterSetting;
3891
3892 /* Mcast Bcast Filters enable/disable*/
3893 wpt_uint8 ucSetMcstBcstFilter;
3894}WDI_RxpFilterReqParamsType;
3895
3896typedef struct
3897{
3898 /* Rxp Filter */
3899 WDI_RxpFilterReqParamsType wdiRxpFilterParam;
3900
3901 /*Request status callback offered by UMAC - it is called if the current req
3902 has returned PENDING as status; it delivers the status of sending the message
3903 over the BUS */
3904 WDI_ReqStatusCb wdiReqStatusCB;
3905 /*The user data passed in by UMAC, it will be sent back when the above
3906 function pointer will be called */
3907 void* pUserData;
3908}WDI_ConfigureRxpFilterReqParamsType;
3909
3910/*---------------------------------------------------------------------------
3911 WDI_BeaconFilterInfoType
3912 Beacon Filtering data structures passed to WDA form UMAC
3913---------------------------------------------------------------------------*/
3914typedef struct
3915{
3916 wpt_uint16 usCapabilityInfo;
3917 wpt_uint16 usCapabilityMask;
3918 wpt_uint16 usBeaconInterval;
3919 wpt_uint16 usIeNum;
Madan Mohan Koyyalamudia84edda2012-10-15 14:58:25 -07003920 wpt_uint8 bssIdx;
3921 wpt_uint8 reserved;
Jeff Johnson295189b2012-06-20 16:38:30 -07003922}WDI_BeaconFilterInfoType;
3923
3924/*---------------------------------------------------------------------------
3925 WDI_BeaconFilterReqParamsType
3926 Beacon Filtering parameters passed to WDI form WDA
3927---------------------------------------------------------------------------*/
3928typedef struct
3929{
3930 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
3931 WDI_BeaconFilterInfoType wdiBeaconFilterInfo;
3932 /*Beacon Filter(s) follow the "usIeNum" field, hence the array to ease the
3933 copy of params from WDA to WDI */
3934 wpt_uint8 aFilters[WDI_BEACON_FILTER_LEN];
3935 /*Request status callback offered by UMAC - it is called if the current req
3936 has returned PENDING as status; it delivers the status of sending the message
3937 over the BUS */
3938 WDI_ReqStatusCb wdiReqStatusCB;
3939 /*The user data passed in by UMAC, it will be sent back when the above
3940 function pointer will be called */
3941 void* pUserData;
3942}WDI_BeaconFilterReqParamsType;
3943
3944/*---------------------------------------------------------------------------
3945 WDI_RemBeaconFilterInfoType
3946 Beacon Filtering data structures (to be reomoved) passed to WDA form UMAC
3947---------------------------------------------------------------------------*/
3948typedef struct
3949{
3950 wpt_uint8 ucIeCount;
3951 wpt_uint8 ucRemIeId[1];
3952}WDI_RemBeaconFilterInfoType;
3953
3954/*---------------------------------------------------------------------------
3955 WDI_RemBeaconFilterReqParamsType
3956 Beacon Filtering parameters (to be reomoved)passed to WDI form WDA
3957---------------------------------------------------------------------------*/
3958typedef struct
3959{
3960 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
3961 WDI_RemBeaconFilterInfoType wdiBeaconFilterInfo;
3962 /*Request status callback offered by UMAC - it is called if the current req
3963 has returned PENDING as status; it delivers the status of sending the message
3964 over the BUS */
3965 WDI_ReqStatusCb wdiReqStatusCB;
3966 /*The user data passed in by UMAC, it will be sent back when the above
3967 function pointer will be called */
3968 void* pUserData;
3969}WDI_RemBeaconFilterReqParamsType;
3970
3971/*---------------------------------------------------------------------------
3972 WDI_RSSIThresholdsType
3973 RSSI thresholds data structures (to be reomoved) passed to WDA form UMAC
3974---------------------------------------------------------------------------*/
3975typedef struct
3976{
3977 wpt_int8 ucRssiThreshold1 : 8;
3978 wpt_int8 ucRssiThreshold2 : 8;
3979 wpt_int8 ucRssiThreshold3 : 8;
3980 wpt_uint8 bRssiThres1PosNotify : 1;
3981 wpt_uint8 bRssiThres1NegNotify : 1;
3982 wpt_uint8 bRssiThres2PosNotify : 1;
3983 wpt_uint8 bRssiThres2NegNotify : 1;
3984 wpt_uint8 bRssiThres3PosNotify : 1;
3985 wpt_uint8 bRssiThres3NegNotify : 1;
3986 wpt_uint8 bReserved10 : 2;
3987} WDI_RSSIThresholdsType;
3988
3989/*---------------------------------------------------------------------------
3990 WDI_SetRSSIThresholdsReqParamsType
3991 RSSI thresholds parameters (to be reomoved)passed to WDI form WDA
3992---------------------------------------------------------------------------*/
3993typedef struct
3994{
3995 /*RSSI thresholds Info Type, same as WDI_RSSIThresholds */
3996 WDI_RSSIThresholdsType wdiRSSIThresholdsInfo;
3997 /*Request status callback offered by UMAC - it is called if the current req
3998 has returned PENDING as status; it delivers the status of sending the message
3999 over the BUS */
4000 WDI_ReqStatusCb wdiReqStatusCB;
4001 /*The user data passed in by UMAC, it will be sent back when the above
4002 function pointer will be called */
4003 void* pUserData;
4004}WDI_SetRSSIThresholdsReqParamsType;
4005
4006/*---------------------------------------------------------------------------
4007 WDI_HostOffloadReqType
4008 host offload info passed to WDA form UMAC
4009---------------------------------------------------------------------------*/
4010#ifdef WLAN_NS_OFFLOAD
4011typedef struct
4012{
4013 wpt_uint8 srcIPv6Addr[16];
4014 wpt_uint8 selfIPv6Addr[16];
4015 //Only support 2 possible Network Advertisement IPv6 address
4016 wpt_uint8 targetIPv6Addr1[16];
4017 wpt_uint8 targetIPv6Addr2[16];
4018 wpt_uint8 selfMacAddr[6];
4019 wpt_uint8 srcIPv6AddrValid : 1;
4020 wpt_uint8 targetIPv6Addr1Valid : 1;
4021 wpt_uint8 targetIPv6Addr2Valid : 1;
Gopichand Nakkala746a9452013-06-11 12:45:54 +05304022 wpt_uint8 slotIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004023} WDI_NSOffloadParams;
4024#endif //WLAN_NS_OFFLOAD
4025
4026typedef struct
4027{
4028 wpt_uint8 ucOffloadType;
4029 wpt_uint8 ucEnableOrDisable;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004030 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004031 union
4032 {
4033 wpt_uint8 aHostIpv4Addr [4];
4034 wpt_uint8 aHostIpv6Addr [16];
4035 } params;
4036} WDI_HostOffloadReqType;
4037
4038/*---------------------------------------------------------------------------
4039 WDI_HostOffloadReqParamsType
4040 host offload info passed to WDI form WDA
4041---------------------------------------------------------------------------*/
4042typedef struct
4043{
4044 /*Host offload Info Type, same as tHalHostOffloadReq */
4045 WDI_HostOffloadReqType wdiHostOffloadInfo;
4046#ifdef WLAN_NS_OFFLOAD
4047 WDI_NSOffloadParams wdiNsOffloadParams;
4048#endif //WLAN_NS_OFFLOAD
4049 /*Request status callback offered by UMAC - it is called if the current req
4050 has returned PENDING as status; it delivers the status of sending the message
4051 over the BUS */
4052 WDI_ReqStatusCb wdiReqStatusCB;
4053 /*The user data passed in by UMAC, it will be sent back when the above
4054 function pointer will be called */
4055 void* pUserData;
4056}WDI_HostOffloadReqParamsType;
4057
4058/*---------------------------------------------------------------------------
4059 WDI_KeepAliveReqType
4060 Keep Alive info passed to WDA form UMAC
4061---------------------------------------------------------------------------*/
4062typedef struct
4063{
4064 wpt_uint8 ucPacketType;
4065 wpt_uint32 ucTimePeriod;
4066 wpt_uint8 aHostIpv4Addr[4];
4067 wpt_uint8 aDestIpv4Addr[4];
4068 wpt_uint8 aDestMacAddr[6];
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004069 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004070} WDI_KeepAliveReqType;
4071
4072/*---------------------------------------------------------------------------
4073 WDI_KeepAliveReqParamsType
4074 Keep Alive passed to WDI form WDA
4075---------------------------------------------------------------------------*/
4076typedef struct
4077{
4078 /* Keep Alive Info Type, same as tHalKeepAliveReq */
4079 WDI_KeepAliveReqType wdiKeepAliveInfo;
4080 /*Request status callback offered by UMAC - it is called if the current req
4081 has returned PENDING as status; it delivers the status of sending the message
4082 over the BUS */
4083 WDI_ReqStatusCb wdiReqStatusCB;
4084 /*The user data passed in by UMAC, it will be sent back when the above
4085 function pointer will be called */
4086 void* pUserData;
4087}WDI_KeepAliveReqParamsType;
4088
4089/*---------------------------------------------------------------------------
4090 WDI_WowlAddBcPtrnInfoType
4091 Wowl add ptrn info passed to WDA form UMAC
4092---------------------------------------------------------------------------*/
4093typedef struct
4094{
4095 wpt_uint8 ucPatternId; // Pattern ID
4096 // Pattern byte offset from beginning of the 802.11 packet to start of the
4097 // wake-up pattern
4098 wpt_uint8 ucPatternByteOffset;
4099 wpt_uint8 ucPatternSize; // Non-Zero Pattern size
4100 wpt_uint8 ucPattern[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern
4101 wpt_uint8 ucPatternMaskSize; // Non-zero pattern mask size
4102 wpt_uint8 ucPatternMask[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern mask
4103 wpt_uint8 ucPatternExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern
4104 wpt_uint8 ucPatternMaskExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern mask
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004105 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004106} WDI_WowlAddBcPtrnInfoType;
4107
4108/*---------------------------------------------------------------------------
4109 WDI_WowlAddBcPtrnReqParamsType
4110 Wowl add ptrn info passed to WDI form WDA
4111---------------------------------------------------------------------------*/
4112typedef struct
4113{
4114 /*Wowl add ptrn Info Type, same as tpSirWowlAddBcastPtrn */
4115 WDI_WowlAddBcPtrnInfoType wdiWowlAddBcPtrnInfo;
4116 /*Request status callback offered by UMAC - it is called if the current req
4117 has returned PENDING as status; it delivers the status of sending the message
4118 over the BUS */
4119 WDI_ReqStatusCb wdiReqStatusCB;
4120 /*The user data passed in by UMAC, it will be sent back when the above
4121 function pointer will be called */
4122 void* pUserData;
4123}WDI_WowlAddBcPtrnReqParamsType;
4124
4125/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004126 WDI_WowlAddBcPtrnRspParamsType
4127 Wowl add ptrn info passed from WDI to WDA
4128---------------------------------------------------------------------------*/
4129typedef struct
4130{
4131 /*Status of the response*/
4132 WDI_Status wdiStatus;
4133 /*BssIDX of the session*/
4134 wpt_uint8 bssIdx;
4135}WDI_WowlAddBcPtrnRspParamsType;
4136
4137/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004138 WDI_WowlDelBcPtrnInfoType
4139 Wowl add ptrn info passed to WDA form UMAC
4140---------------------------------------------------------------------------*/
4141typedef struct
4142{
4143 /* Pattern ID of the wakeup pattern to be deleted */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004144 wpt_uint8 ucPatternId;
4145 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004146} WDI_WowlDelBcPtrnInfoType;
4147
4148/*---------------------------------------------------------------------------
4149 WDI_WowlDelBcPtrnReqParamsType
4150 Wowl add ptrn info passed to WDI form WDA
4151---------------------------------------------------------------------------*/
4152typedef struct
4153{
4154 /*Wowl delete ptrn Info Type, same as WDI_WowlDelBcastPtrn */
4155 WDI_WowlDelBcPtrnInfoType wdiWowlDelBcPtrnInfo;
4156 /*Request status callback offered by UMAC - it is called if the current req
4157 has returned PENDING as status; it delivers the status of sending the message
4158 over the BUS */
4159 WDI_ReqStatusCb wdiReqStatusCB;
4160 /*The user data passed in by UMAC, it will be sent back when the above
4161 function pointer will be called */
4162 void* pUserData;
4163}WDI_WowlDelBcPtrnReqParamsType;
4164
4165/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004166 WDI_WowlDelBcPtrnRspParamsType
4167 Wowl Del ptrn info passed from WDI to WDA
4168---------------------------------------------------------------------------*/
4169typedef struct
4170{
4171 /*Status of the response*/
4172 WDI_Status wdiStatus;
4173 /*BssIDX of the session*/
4174 wpt_uint8 bssIdx;
4175}WDI_WowlDelBcPtrnRspParamsType;
4176
4177/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004178 WDI_WowlEnterInfoType
4179 Wowl enter info passed to WDA form UMAC
4180---------------------------------------------------------------------------*/
4181typedef struct
4182{
4183 /* Enables/disables magic packet filtering */
4184 wpt_uint8 ucMagicPktEnable;
4185
4186 /* Magic pattern */
4187 wpt_macAddr magicPtrn;
4188
4189 /* Enables/disables packet pattern filtering in firmware.
4190 Enabling this flag enables broadcast pattern matching
4191 in Firmware. If unicast pattern matching is also desired,
4192 ucUcastPatternFilteringEnable flag must be set tot true
4193 as well
4194 */
4195 wpt_uint8 ucPatternFilteringEnable;
4196
4197 /* Enables/disables unicast packet pattern filtering.
4198 This flag specifies whether we want to do pattern match
4199 on unicast packets as well and not just broadcast packets.
4200 This flag has no effect if the ucPatternFilteringEnable
4201 (main controlling flag) is set to false
4202 */
4203 wpt_uint8 ucUcastPatternFilteringEnable;
4204
4205 /* This configuration is valid only when magicPktEnable=1.
4206 * It requests hardware to wake up when it receives the
4207 * Channel Switch Action Frame.
4208 */
4209 wpt_uint8 ucWowChnlSwitchRcv;
4210
4211 /* This configuration is valid only when magicPktEnable=1.
4212 * It requests hardware to wake up when it receives the
4213 * Deauthentication Frame.
4214 */
4215 wpt_uint8 ucWowDeauthRcv;
4216
4217 /* This configuration is valid only when magicPktEnable=1.
4218 * It requests hardware to wake up when it receives the
4219 * Disassociation Frame.
4220 */
4221 wpt_uint8 ucWowDisassocRcv;
4222
4223 /* This configuration is valid only when magicPktEnable=1.
4224 * It requests hardware to wake up when it has missed
4225 * consecutive beacons. This is a hardware register
4226 * configuration (NOT a firmware configuration).
4227 */
4228 wpt_uint8 ucWowMaxMissedBeacons;
4229
4230 /* This configuration is valid only when magicPktEnable=1.
4231 * This is a timeout value in units of microsec. It requests
4232 * hardware to unconditionally wake up after it has stayed
4233 * in WoWLAN mode for some time. Set 0 to disable this feature.
4234 */
4235 wpt_uint8 ucWowMaxSleepUsec;
4236
4237#ifdef WLAN_WAKEUP_EVENTS
4238 /* This configuration directs the WoW packet filtering to look for EAP-ID
4239 * requests embedded in EAPOL frames and use this as a wake source.
4240 */
4241 wpt_uint8 ucWoWEAPIDRequestEnable;
4242
4243 /* This configuration directs the WoW packet filtering to look for EAPOL-4WAY
4244 * requests and use this as a wake source.
4245 */
4246 wpt_uint8 ucWoWEAPOL4WayEnable;
4247
4248 /* This configuration allows a host wakeup on an network scan offload match.
4249 */
4250 wpt_uint8 ucWowNetScanOffloadMatch;
4251
4252 /* This configuration allows a host wakeup on any GTK rekeying error.
4253 */
4254 wpt_uint8 ucWowGTKRekeyError;
4255
4256 /* This configuration allows a host wakeup on BSS connection loss.
4257 */
4258 wpt_uint8 ucWoWBSSConnLoss;
4259#endif // WLAN_WAKEUP_EVENTS
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004260
4261 /* BSSIDX used to find the current session
4262 */
4263 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004264} WDI_WowlEnterInfoType;
4265
4266/*---------------------------------------------------------------------------
4267 WDI_WowlEnterReqParamsType
4268 Wowl enter info passed to WDI form WDA
4269---------------------------------------------------------------------------*/
4270typedef struct
4271{
4272 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
4273 WDI_WowlEnterInfoType wdiWowlEnterInfo;
4274 /*Request status callback offered by UMAC - it is called if the current req
4275 has returned PENDING as status; it delivers the status of sending the message
4276 over the BUS */
4277 WDI_ReqStatusCb wdiReqStatusCB;
4278 /*The user data passed in by UMAC, it will be sent back when the above
4279 function pointer will be called */
4280 void* pUserData;
4281}WDI_WowlEnterReqParamsType;
4282
4283/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004284 WDI_WowlEnterRsqParamsType
4285 Wowl enter info passed from WDI to WDA
4286---------------------------------------------------------------------------*/
4287typedef struct
4288{
4289 /*Status of the response message*/
4290 WDI_Status status;
4291
4292 /* BSSIDX used to find the current session
4293 */
4294 wpt_uint8 bssIdx;
4295}WDI_WowlEnterRspParamsType;
4296
4297/*---------------------------------------------------------------------------
4298 WDI_WowlExitInfoType
4299 Wowl exit info passed to WDA form UMAC
4300 ---------------------------------------------------------------------------*/
4301typedef struct
4302{
4303 /* BSSIDX used to find the current session
4304 */
4305 wpt_uint8 bssIdx;
4306} WDI_WowlExitInfoType;
4307
4308/*---------------------------------------------------------------------------
4309 WDI_WowlExitReqParamsType
4310 Wowl exit info passed to WDI form WDA
4311---------------------------------------------------------------------------*/
4312typedef struct
4313{
4314 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
4315 WDI_WowlExitInfoType wdiWowlExitInfo;
4316 /*Request status callback offered by UMAC - it is called if the current req
4317 has returned PENDING as status; it delivers the status of sending the message
4318 over the BUS */
4319 WDI_ReqStatusCb wdiReqStatusCB;
4320 /*The user data passed in by UMAC, it will be sent back when the above
4321 function pointer will be called */
4322 void* pUserData;
4323}WDI_WowlExitReqParamsType;
4324
4325/*---------------------------------------------------------------------------
4326 WDI_WowlExitRspParamsType
4327 Wowl exit info passed from WDI to WDA
4328---------------------------------------------------------------------------*/
4329typedef struct
4330{
4331 /*Status of the response message*/
4332 WDI_Status status;
4333
4334 /* BSSIDX used to find the current session
4335 */
4336 wpt_uint8 bssIdx;
4337}WDI_WowlExitRspParamsType;
4338
4339/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004340 WDI_ConfigureAppsCpuWakeupStateReqParamsType
4341 Apps Cpu Wakeup State parameters passed to WDI form WDA
4342---------------------------------------------------------------------------*/
4343typedef struct
4344{
4345 /*Depicts the state of the Apps CPU */
4346 wpt_boolean bIsAppsAwake;
4347 /*Request status callback offered by UMAC - it is called if the current req
4348 has returned PENDING as status; it delivers the status of sending the message
4349 over the BUS */
4350 WDI_ReqStatusCb wdiReqStatusCB;
4351 /*The user data passed in by UMAC, it will be sent back when the above
4352 function pointer will be called */
4353 void* pUserData;
4354}WDI_ConfigureAppsCpuWakeupStateReqParamsType;
4355/*---------------------------------------------------------------------------
4356 WDI_FlushAcReqinfoType
4357---------------------------------------------------------------------------*/
4358typedef struct
4359{
4360 // Message Type
4361 wpt_uint16 usMesgType;
4362
4363 // Message Length
4364 wpt_uint16 usMesgLen;
4365
4366 // Station Index. originates from HAL
4367 wpt_uint8 ucSTAId;
4368
4369 // TID for which the transmit queue is being flushed
4370 wpt_uint8 ucTid;
4371
4372}WDI_FlushAcReqinfoType;
4373
4374/*---------------------------------------------------------------------------
4375 WDI_FlushAcReqParamsType
4376---------------------------------------------------------------------------*/
4377typedef struct
4378{
4379 /*AC Info */
4380 WDI_FlushAcReqinfoType wdiFlushAcInfo;
4381
4382 /*Request status callback offered by UMAC - it is called if the current
4383 req has returned PENDING as status; it delivers the status of sending
4384 the message over the BUS */
4385 WDI_ReqStatusCb wdiReqStatusCB;
4386
4387 /*The user data passed in by UMAC, it will be sent back when the above
4388 function pointer will be called */
4389 void* pUserData;
4390}WDI_FlushAcReqParamsType;
4391
4392/*---------------------------------------------------------------------------
4393 WDI_BtAmpEventinfoType
4394 BT-AMP Event Structure
4395---------------------------------------------------------------------------*/
4396typedef struct
4397{
4398 wpt_uint8 ucBtAmpEventType;
4399
4400} WDI_BtAmpEventinfoType;
4401
4402/*---------------------------------------------------------------------------
4403 WDI_BtAmpEventParamsType
4404---------------------------------------------------------------------------*/
4405typedef struct
4406{
4407 /*BT AMP event Info */
4408 WDI_BtAmpEventinfoType wdiBtAmpEventInfo;
4409
4410 /*Request status callback offered by UMAC - it is called if the current
4411 req has returned PENDING as status; it delivers the status of sending
4412 the message over the BUS */
4413 WDI_ReqStatusCb wdiReqStatusCB;
4414
4415 /*The user data passed in by UMAC, it will be sent back when the above
4416 function pointer will be called */
4417 void* pUserData;
4418}WDI_BtAmpEventParamsType;
4419
Jeff Johnsone7245742012-09-05 17:12:55 -07004420#ifdef FEATURE_OEM_DATA_SUPPORT
4421
4422#ifndef OEM_DATA_REQ_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004423#define OEM_DATA_REQ_SIZE 134
Jeff Johnsone7245742012-09-05 17:12:55 -07004424#endif
4425#ifndef OEM_DATA_RSP_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004426#define OEM_DATA_RSP_SIZE 1968
Jeff Johnsone7245742012-09-05 17:12:55 -07004427#endif
4428
4429/*----------------------------------------------------------------------------
4430 WDI_oemDataReqInfoType
4431----------------------------------------------------------------------------*/
4432typedef struct
4433{
4434 wpt_macAddr selfMacAddr;
4435 wpt_uint8 oemDataReq[OEM_DATA_REQ_SIZE];
4436}WDI_oemDataReqInfoType;
4437
4438/*----------------------------------------------------------------------------
4439 WDI_oemDataReqParamsType
4440----------------------------------------------------------------------------*/
4441typedef struct
4442{
4443 /*Request status callback offered by UMAC - it is called if the current
4444 req has returned PENDING as status; it delivers the status of sending
4445 the message over the BUS */
4446 WDI_ReqStatusCb wdiReqStatusCB;
4447
4448 /*The user data passed in by UMAC, it will be sent back when the above
4449 function pointer will be called */
4450 void* pUserData;
4451
4452 /*OEM DATA REQ Info */
4453 WDI_oemDataReqInfoType wdiOemDataReqInfo;
4454
4455}WDI_oemDataReqParamsType;
4456
4457/*----------------------------------------------------------------------------
4458 WDI_oemDataRspParamsType
4459----------------------------------------------------------------------------*/
4460typedef struct
4461{
4462 wpt_uint8 oemDataRsp[OEM_DATA_RSP_SIZE];
4463}WDI_oemDataRspParamsType;
4464
4465#endif /* FEATURE_OEM_DATA_SUPPORT */
Jeff Johnson295189b2012-06-20 16:38:30 -07004466
4467#ifdef WLAN_FEATURE_VOWIFI_11R
4468/*---------------------------------------------------------------------------
4469 WDI_AggrAddTSReqInfoType
4470---------------------------------------------------------------------------*/
4471typedef struct
4472{
4473 /*STA Index*/
4474 wpt_uint8 ucSTAIdx;
4475
4476 /*Identifier for TSpec*/
4477 wpt_uint8 ucTspecIdx;
4478
4479 /*Tspec IE negotiated OTA*/
4480 WDI_TspecIEType wdiTspecIE[WDI_MAX_NO_AC];
4481
4482 /*UAPSD delivery and trigger enabled flags */
4483 wpt_uint8 ucUapsdFlags;
4484
4485 /*SI for each AC*/
4486 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
4487
4488 /*Suspend Interval for each AC*/
4489 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
4490
4491 /*DI for each AC*/
4492 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
4493
4494}WDI_AggrAddTSReqInfoType;
4495
4496
4497/*---------------------------------------------------------------------------
4498 WDI_AggrAddTSReqParamsType
4499---------------------------------------------------------------------------*/
4500typedef struct
4501{
4502 /*TSpec Info */
4503 WDI_AggrAddTSReqInfoType wdiAggrTsInfo;
4504
4505 /*Request status callback offered by UMAC - it is called if the current
4506 req has returned PENDING as status; it delivers the status of sending
4507 the message over the BUS */
4508 WDI_ReqStatusCb wdiReqStatusCB;
4509
4510 /*The user data passed in by UMAC, it will be sent back when the above
4511 function pointer will be called */
4512 void* pUserData;
4513}WDI_AggrAddTSReqParamsType;
4514
4515#endif /* WLAN_FEATURE_VOWIFI_11R */
4516
Jeff Johnson295189b2012-06-20 16:38:30 -07004517/*---------------------------------------------------------------------------
4518 WDI_FTMCommandReqType
4519---------------------------------------------------------------------------*/
4520typedef struct
4521{
4522 /* FTM Command Body length */
4523 wpt_uint32 bodyLength;
4524 /* Actual FTM Command body */
4525 void *FTMCommandBody;
4526}WDI_FTMCommandReqType;
Jeff Johnson295189b2012-06-20 16:38:30 -07004527
4528/*---------------------------------------------------------------------------
4529 WDI_WlanSuspendInfoType
4530---------------------------------------------------------------------------*/
4531typedef struct
4532{
4533 /* Mode of Mcast and Bcast filters configured */
4534 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4535}WDI_WlanSuspendInfoType;
4536
4537/*---------------------------------------------------------------------------
4538 WDI_SuspendParamsType
4539---------------------------------------------------------------------------*/
4540typedef struct
4541{
4542 WDI_WlanSuspendInfoType wdiSuspendParams;
4543
4544 /*Request status callback offered by UMAC - it is called if the current
4545 req has returned PENDING as status; it delivers the status of sending
4546 the message over the BUS */
4547 WDI_ReqStatusCb wdiReqStatusCB;
4548
4549 /*The user data passed in by UMAC, it will be sent back when the above
4550 function pointer will be called */
4551 void* pUserData;
4552
4553}WDI_SuspendParamsType;
4554
4555/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004556 WDI_TrafficStatsType - This is collected for each STA
4557---------------------------------------------------------------------------*/
4558
4559typedef struct
4560{
4561 /* TX stats */
4562 wpt_uint32 txBytesPushed;
4563 wpt_uint32 txPacketsPushed;
4564
4565 /* RX stats */
4566 wpt_uint32 rxBytesRcvd;
4567 wpt_uint32 rxPacketsRcvd;
4568 wpt_uint32 rxTimeTotal;
4569}WDI_TrafficStatsType;
4570
4571typedef struct
4572{
4573 WDI_TrafficStatsType *pTrafficStats;
4574 wpt_uint32 length;
4575 wpt_uint32 duration;
4576
4577 /*Request status callback offered by UMAC - it is called if the current
4578 req has returned PENDING as status; it delivers the status of sending
4579 the message over the BUS */
4580 WDI_ReqStatusCb wdiReqStatusCB;
4581
4582 /*The user data passed in by UMAC, it will be sent back when the above
4583 function pointer will be called */
4584 void* pUserData;
4585}WDI_TrafficStatsIndType;
4586
Chet Lanctot186b5732013-03-18 10:26:30 -07004587#ifdef WLAN_FEATURE_11W
4588typedef struct
4589{
4590
4591 wpt_boolean bExcludeUnencrypt;
4592 wpt_macAddr bssid;
4593 /*Request status callback offered by UMAC - it is called if the current
4594 req has returned PENDING as status; it delivers the status of sending
4595 the message over the BUS */
4596 WDI_ReqStatusCb wdiReqStatusCB;
4597
4598 /*The user data passed in by UMAC, it will be sent back when the above
4599 function pointer will be called */
4600 void* pUserData;
4601}WDI_ExcludeUnencryptIndType;
4602#endif
4603
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004604/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004605 WDI_WlanResumeInfoType
4606---------------------------------------------------------------------------*/
4607typedef struct
4608{
4609 /* Mode of Mcast and Bcast filters configured */
4610 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4611}WDI_WlanResumeInfoType;
4612
4613/*---------------------------------------------------------------------------
4614 WDI_ResumeParamsType
4615---------------------------------------------------------------------------*/
4616typedef struct
4617{
4618 WDI_WlanResumeInfoType wdiResumeParams;
4619
4620 /*Request status callback offered by UMAC - it is called if the current
4621 req has returned PENDING as status; it delivers the status of sending
4622 the message over the BUS */
4623 WDI_ReqStatusCb wdiReqStatusCB;
4624
4625 /*The user data passed in by UMAC, it will be sent back when the above
4626 function pointer will be called */
4627 void* pUserData;
4628
4629}WDI_ResumeParamsType;
4630
4631#ifdef WLAN_FEATURE_GTK_OFFLOAD
4632/*---------------------------------------------------------------------------
4633 * WDI_GTK_OFFLOAD_REQ
4634 *--------------------------------------------------------------------------*/
4635
4636typedef struct
4637{
4638 wpt_uint32 ulFlags; /* optional flags */
4639 wpt_uint8 aKCK[16]; /* Key confirmation key */
4640 wpt_uint8 aKEK[16]; /* key encryption key */
4641 wpt_uint64 ullKeyReplayCounter; /* replay counter */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004642 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004643} WDI_GtkOffloadReqParams;
4644
4645typedef struct
4646{
4647 WDI_GtkOffloadReqParams gtkOffloadReqParams;
4648
4649 /*Request status callback offered by UMAC - it is called if the current
4650 req has returned PENDING as status; it delivers the status of sending
4651 the message over the BUS */
4652 WDI_ReqStatusCb wdiReqStatusCB;
4653
4654 /*The user data passed in by UMAC, it will be sent back when the above
4655 function pointer will be called */
4656 void* pUserData;
4657} WDI_GtkOffloadReqMsg;
4658
4659/*---------------------------------------------------------------------------
4660 * WDI_GTK_OFFLOAD_RSP
4661 *--------------------------------------------------------------------------*/
4662typedef struct
4663{
4664 /* success or failure */
4665 wpt_uint32 ulStatus;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004666 /*BssIdx of the response */
4667 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004668} WDI_GtkOffloadRspParams;
4669
4670typedef struct
4671{
4672 WDI_GtkOffloadRspParams gtkOffloadRspParams;
4673
4674 /*Request status callback offered by UMAC - it is called if the current
4675 req has returned PENDING as status; it delivers the status of sending
4676 the message over the BUS */
4677 WDI_ReqStatusCb wdiReqStatusCB;
4678
4679 /*The user data passed in by UMAC, it will be sent back when the above
4680 function pointer will be called */
4681 void* pUserData;
4682} WDI_GtkOffloadRspMsg;
4683
4684
4685/*---------------------------------------------------------------------------
4686* WDI_GTK_OFFLOAD_GETINFO_REQ
4687*--------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004688typedef struct
4689{
4690 /*BssIdx of the response */
4691 wpt_macAddr bssId;
4692} WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004693
4694typedef struct
4695{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004696
4697 WDI_GtkOffloadGetInfoReqParams WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004698 /*Request status callback offered by UMAC - it is called if the current
4699 req has returned PENDING as status; it delivers the status of sending
4700 the message over the BUS */
4701 WDI_ReqStatusCb wdiReqStatusCB;
4702
4703 /*The user data passed in by UMAC, it will be sent back when the above
4704 function pointer will be called */
4705 void* pUserData;
4706} WDI_GtkOffloadGetInfoReqMsg;
4707
4708/*---------------------------------------------------------------------------
4709* WDI_GTK_OFFLOAD_GETINFO_RSP
4710*--------------------------------------------------------------------------*/
4711typedef struct
4712{
4713 wpt_uint32 ulStatus; /* success or failure */
4714 wpt_uint64 ullKeyReplayCounter; /* current replay counter value */
4715 wpt_uint32 ulTotalRekeyCount; /* total rekey attempts */
4716 wpt_uint32 ulGTKRekeyCount; /* successful GTK rekeys */
4717 wpt_uint32 ulIGTKRekeyCount; /* successful iGTK rekeys */
Gopichand Nakkala870cbae2013-03-15 21:16:09 +05304718 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004719} WDI_GtkOffloadGetInfoRspParams;
4720
4721typedef struct
4722{
4723 WDI_GtkOffloadGetInfoRspParams gtkOffloadGetInfoRspParams;
4724
4725 /*Request status callback offered by UMAC - it is called if the current
4726 req has returned PENDING as status; it delivers the status of sending
4727 the message over the BUS */
4728 WDI_ReqStatusCb wdiReqStatusCB;
4729
4730 /*The user data passed in by UMAC, it will be sent back when the above
4731 function pointer will be called */
4732 void* pUserData;
4733} WDI_GtkOffloadGetInfoRspMsg;
4734#endif // WLAN_FEATURE_GTK_OFFLOAD
4735
4736/*---------------------------------------------------------------------------
4737 WDI_SuspendResumeRspParamsType
4738---------------------------------------------------------------------------*/
4739typedef struct
4740{
4741 /*Status of the response*/
4742 WDI_Status wdiStatus;
4743}WDI_SuspendResumeRspParamsType;
4744
Leo Chang9056f462013-08-01 19:21:11 -07004745#ifdef FEATURE_WLAN_LPHB
4746/*---------------------------------------------------------------------------
4747 WDI Low Power Heart Beat Config request
4748 Copy from sirApi.h to avoid compile error
4749---------------------------------------------------------------------------*/
4750#define WDI_LPHB_FILTER_LEN 64
4751
4752typedef enum
4753{
4754 WDI_LPHB_SET_EN_PARAMS_INDID = 0x0001,
4755 WDI_LPHB_SET_TCP_PARAMS_INDID,
4756 WDI_LPHB_SET_TCP_PKT_FILTER_INDID,
4757 WDI_LPHB_SET_UDP_PARAMS_INDID,
4758 WDI_LPHB_SET_UDP_PKT_FILTER_INDID,
4759 WDI_LPHB_SET_NETWORK_INFO_INDID,
4760} WDI_LPHBIndType;
4761
4762typedef struct
4763{
4764 wpt_uint8 enable;
4765 wpt_uint8 item;
4766 wpt_uint8 session;
4767} WDI_LPHBEnableStruct;
4768
4769typedef struct
4770{
4771 wpt_uint32 srv_ip;
4772 wpt_uint32 dev_ip;
4773 wpt_uint16 src_port;
4774 wpt_uint16 dst_port;
4775 wpt_uint16 timeout;
4776 wpt_uint8 session;
4777 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
Leo Changd9df8aa2013-09-26 13:32:26 -07004778 wpt_uint16 timePeriodSec; // in seconds
4779 wpt_uint32 tcpSn;
Leo Chang9056f462013-08-01 19:21:11 -07004780} WDI_LPHBTcpParamStruct;
4781
4782typedef struct
4783{
4784 wpt_uint16 length;
4785 wpt_uint8 offset;
4786 wpt_uint8 session;
4787 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
4788} WDI_LPHBTcpFilterStruct;
4789
4790typedef struct
4791{
4792 wpt_uint32 srv_ip;
4793 wpt_uint32 dev_ip;
4794 wpt_uint16 src_port;
4795 wpt_uint16 dst_port;
4796 wpt_uint16 interval;
4797 wpt_uint16 timeout;
4798 wpt_uint8 session;
4799 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
4800} WDI_LPHBUdpParamStruct;
4801
4802typedef struct
4803{
4804 wpt_uint16 length;
4805 wpt_uint8 offset;
4806 wpt_uint8 session;
4807 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
4808} WDI_LPHBUdpFilterStruct;
4809
4810typedef struct
4811{
4812 wpt_uint16 cmd;
4813 wpt_uint16 dummy;
4814 union
4815 {
4816 WDI_LPHBEnableStruct lphbEnableReq;
4817 WDI_LPHBTcpParamStruct lphbTcpParamReq;
4818 WDI_LPHBTcpFilterStruct lphbTcpFilterReq;
4819 WDI_LPHBUdpParamStruct lphbUdpParamReq;
4820 WDI_LPHBUdpFilterStruct lphbUdpFilterReq;
4821 } params;
4822} WDI_LPHBReq;
4823#endif /* FEATURE_WLAN_LPHB */
Jeff Johnson295189b2012-06-20 16:38:30 -07004824
Jeff Johnson295189b2012-06-20 16:38:30 -07004825/*---------------------------------------------------------------------------
4826 WDI_AuthType
4827---------------------------------------------------------------------------*/
4828typedef enum
4829{
4830 WDI_AUTH_TYPE_ANY = 0,
4831
4832 WDI_AUTH_TYPE_NONE,
4833 WDI_AUTH_TYPE_OPEN_SYSTEM,
4834 WDI_AUTH_TYPE_SHARED_KEY,
4835
4836 WDI_AUTH_TYPE_WPA,
4837 WDI_AUTH_TYPE_WPA_PSK,
4838 WDI_AUTH_TYPE_WPA_NONE,
4839
4840 WDI_AUTH_TYPE_RSN,
4841 WDI_AUTH_TYPE_RSN_PSK,
4842 WDI_AUTH_TYPE_FT_RSN,
4843 WDI_AUTH_TYPE_FT_RSN_PSK,
4844 WDI_AUTH_TYPE_WAPI_WAI_CERTIFICATE,
4845 WDI_AUTH_TYPE_WAPI_WAI_PSK,
4846 WDI_AUTH_TYPE_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
4847
4848}WDI_AuthType;
4849
4850/*---------------------------------------------------------------------------
4851 WDI_EdType
4852---------------------------------------------------------------------------*/
4853typedef enum
4854{
4855 WDI_ED_ANY = 0,
4856 WDI_ED_NONE,
4857 WDI_ED_WEP40,
4858 WDI_ED_WEP104,
4859 WDI_ED_TKIP,
4860 WDI_ED_CCMP,
4861 WDI_ED_WPI,
4862 WDI_ED_AES_128_CMAC,
4863 WDI_ED_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
4864} WDI_EdType;
4865
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08004866#ifdef FEATURE_WLAN_SCAN_PNO
4867
4868/*Max number of channels for a given network supported by PNO*/
4869#define WDI_PNO_MAX_NETW_CHANNELS 26
4870
4871/*Max number of channels for a given network supported by PNO*/
4872#define WDI_PNO_MAX_NETW_CHANNELS_EX 60
4873
4874/*The max number of programable networks for PNO*/
4875#define WDI_PNO_MAX_SUPP_NETWORKS 16
4876
4877/*The max number of scan timers programable in Riva*/
4878#define WDI_PNO_MAX_SCAN_TIMERS 10
4879
4880#define WDI_PNO_MAX_PROBE_SIZE 450
Jeff Johnson295189b2012-06-20 16:38:30 -07004881
4882/*---------------------------------------------------------------------------
4883 WDI_PNOMode
4884---------------------------------------------------------------------------*/
4885typedef enum
4886{
4887 /*Network offload is to start immediately*/
4888 WDI_PNO_MODE_IMMEDIATE,
4889
4890 /*Network offload is to start on host suspend*/
4891 WDI_PNO_MODE_ON_SUSPEND,
4892
4893 /*Network offload is to start on host resume*/
4894 WDI_PNO_MODE_ON_RESUME,
4895 WDI_PNO_MODE_MAX = 0xFFFFFFFF
4896} WDI_PNOMode;
4897
4898/* SSID broadcast type */
4899typedef enum
4900{
4901 WDI_BCAST_UNKNOWN = 0,
4902 WDI_BCAST_NORMAL = 1,
4903 WDI_BCAST_HIDDEN = 2,
4904
4905 WDI_BCAST_TYPE_MAX = 0xFFFFFFFF
4906} WDI_SSIDBcastType;
4907
4908/*---------------------------------------------------------------------------
4909 WDI_NetworkType
4910---------------------------------------------------------------------------*/
4911typedef struct
4912{
4913 /*The SSID of the preferred network*/
4914 WDI_MacSSid ssId;
4915
4916 /*The authentication method of the preferred network*/
4917 WDI_AuthType wdiAuth;
4918
4919 /*The encryption method of the preferred network*/
4920 WDI_EdType wdiEncryption;
4921
4922 /*SSID broadcast type, normal, hidden or unknown*/
4923 WDI_SSIDBcastType wdiBcastNetworkType;
4924
4925 /*channel count - 0 for all channels*/
4926 wpt_uint8 ucChannelCount;
4927
4928 /*the actual channels*/
Madan Mohan Koyyalamudi4bb5d2e2013-09-26 17:36:46 +05304929 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
Jeff Johnson295189b2012-06-20 16:38:30 -07004930
4931 /*rssi threshold that a network must meet to be considered, 0 - for any*/
4932 wpt_uint8 rssiThreshold;
4933} WDI_NetworkType;
4934
4935
4936/*---------------------------------------------------------------------------
4937 WDI_ScanTimer
4938---------------------------------------------------------------------------*/
4939typedef struct
4940{
4941 /*The timer value*/
4942 wpt_uint32 uTimerValue;
4943
4944 /*The amount of time we should be repeating the interval*/
4945 wpt_uint32 uTimerRepeat;
4946} WDI_ScanTimer;
4947
4948/*---------------------------------------------------------------------------
4949 WDI_ScanTimersType
4950---------------------------------------------------------------------------*/
4951typedef struct
4952{
4953 /*The number of value pair intervals present in the array*/
4954 wpt_uint8 ucScanTimersCount;
4955
4956 /*The time-repeat value pairs*/
4957 WDI_ScanTimer aTimerValues[WDI_PNO_MAX_SCAN_TIMERS];
4958} WDI_ScanTimersType;
4959
4960/*---------------------------------------------------------------------------
4961 WDI_PNOScanReqType
4962---------------------------------------------------------------------------*/
4963typedef struct
4964{
4965 /*Enable or disable PNO feature*/
4966 wpt_uint8 bEnable;
4967
4968 /*PNO mode requested*/
4969 WDI_PNOMode wdiModePNO;
4970
4971 /*Network count*/
4972 wpt_uint8 ucNetworksCount;
4973
4974 /*The networks to look for*/
4975 WDI_NetworkType aNetworks[WDI_PNO_MAX_SUPP_NETWORKS];
4976
4977 /*Scan timer intervals*/
4978 WDI_ScanTimersType scanTimers;
4979
4980 /*Probe template for 2.4GHz band*/
4981 wpt_uint16 us24GProbeSize;
4982 wpt_uint8 a24GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
4983
4984 /*Probe template for 5GHz band*/
4985 wpt_uint16 us5GProbeSize;
4986 wpt_uint8 a5GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
4987} WDI_PNOScanReqType;
4988
4989/*---------------------------------------------------------------------------
4990 WDI_PNOScanReqParamsType
4991 PNO info passed to WDI form WDA
4992---------------------------------------------------------------------------*/
4993typedef struct
4994{
4995 /* PNO Info Type, same as tPrefNetwListParams */
4996 WDI_PNOScanReqType wdiPNOScanInfo;
4997 /* Request status callback offered by UMAC - it is called if the current req
4998 has returned PENDING as status; it delivers the status of sending the message
4999 over the BUS */
5000 WDI_ReqStatusCb wdiReqStatusCB;
5001 /* The user data passed in by UMAC, it will be sent back when the above
5002 function pointer will be called */
5003 void* pUserData;
5004} WDI_PNOScanReqParamsType;
5005
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005006/*---------------------------------------------------------------------------
5007 WDI_SetRssiFilterReqParamsType
5008 PNO info passed to WDI form WDA
5009---------------------------------------------------------------------------*/
5010typedef struct
5011{
5012 /* RSSI Threshold */
5013 wpt_uint8 rssiThreshold;
5014 /* Request status callback offered by UMAC - it is called if the current req
5015 has returned PENDING as status; it delivers the status of sending the message
5016 over the BUS */
5017 WDI_ReqStatusCb wdiReqStatusCB;
5018 /* The user data passed in by UMAC, it will be sent back when the above
5019 function pointer will be called */
5020 void* pUserData;
5021} WDI_SetRssiFilterReqParamsType;
5022
5023/*---------------------------------------------------------------------------
5024 WDI_UpdateScanParamsInfo
5025---------------------------------------------------------------------------*/
5026typedef struct
5027{
5028 /*Is 11d enabled*/
5029 wpt_uint8 b11dEnabled;
5030
5031 /*Was UMAc able to find the regulatory domain*/
5032 wpt_uint8 b11dResolved;
5033
5034 /*Number of channel allowed in the regulatory domain*/
5035 wpt_uint8 ucChannelCount;
5036
5037 /*The actual channels allowed in the regulatory domain*/
5038 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
5039
5040 /*Passive min channel time*/
5041 wpt_uint16 usPassiveMinChTime;
5042
5043 /*Passive max channel time*/
5044 wpt_uint16 usPassiveMaxChTime;
5045
5046 /*Active min channel time*/
5047 wpt_uint16 usActiveMinChTime;
5048
5049 /*Active max channel time*/
5050 wpt_uint16 usActiveMaxChTime;
5051
5052 /*channel bonding info*/
5053 wpt_uint8 cbState;
5054} WDI_UpdateScanParamsInfo;
5055
5056/*---------------------------------------------------------------------------
5057 WDI_UpdateScanParamsInfoType
5058 UpdateScanParams info passed to WDI form WDA
5059---------------------------------------------------------------------------*/
5060typedef struct
5061{
5062 /* PNO Info Type, same as tUpdateScanParams */
5063 WDI_UpdateScanParamsInfo wdiUpdateScanParamsInfo;
5064 /* Request status callback offered by UMAC - it is called if the current req
5065 has returned PENDING as status; it delivers the status of sending the message
5066 over the BUS */
5067 WDI_ReqStatusCb wdiReqStatusCB;
5068 /* The user data passed in by UMAC, it will be sent back when the above
5069 function pointer will be called */
5070 void* pUserData;
5071} WDI_UpdateScanParamsInfoType;
5072#endif //FEATURE_WLAN_SCAN_PNO
5073
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005074#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
5075
Varun Reddy Yeturu52231ea2014-02-06 12:00:56 -08005076#define WDI_ROAM_SCAN_MAX_CHANNELS 80
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005077#define WDI_ROAM_SCAN_MAX_PROBE_SIZE 450
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005078
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005079typedef struct
5080{
5081 /*The SSID of the preferred network*/
5082 WDI_MacSSid ssId;
5083 wpt_uint8 currAPbssid[WDI_MAC_ADDR_LEN];
5084
5085 /*The authentication method of the preferred network*/
5086 WDI_AuthType authentication;
5087
5088 /*The encryption method of the preferred network*/
5089 WDI_EdType encryption;
5090 WDI_EdType mcencryption;
5091
5092 /*SSID broadcast type, normal, hidden or unknown*/
5093 //WDI_SSIDBcastType wdiBcastNetworkType;
5094
5095 /*channel count - 0 for all channels*/
5096 wpt_uint8 ChannelCount;
5097
5098 /*the actual channels*/
5099 wpt_uint8 ChannelCache[WDI_ROAM_SCAN_MAX_CHANNELS];
5100
5101} WDI_RoamNetworkType;
5102
5103typedef struct WDIMobilityDomainInfo
5104{
5105 wpt_uint8 mdiePresent;
5106 wpt_uint16 mobilityDomain;
5107} WDI_MobilityDomainInfo;
5108
5109/*---------------------------------------------------------------------------
5110 WDI_RoamOffloadScanInfo
5111---------------------------------------------------------------------------*/
5112typedef struct
5113{
5114 wpt_boolean RoamScanOffloadEnabled;
Sameer Thalappil4ae66ec2013-11-05 14:17:35 -08005115 wpt_boolean MAWCEnabled;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005116 wpt_uint8 LookupThreshold;
Varun Reddy Yeturu6c5e25c2014-01-09 21:55:37 -08005117 wpt_uint8 RxSensitivityThreshold;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005118 wpt_uint8 RoamRssiDiff;
5119 wpt_uint8 ChannelCacheType;
5120 wpt_uint8 Command;
5121 wpt_uint8 StartScanReason;
5122 wpt_uint16 NeighborScanTimerPeriod;
5123 wpt_uint16 NeighborRoamScanRefreshPeriod;
5124 wpt_uint16 NeighborScanChannelMinTime;
5125 wpt_uint16 NeighborScanChannelMaxTime;
5126 wpt_uint16 EmptyRefreshScanPeriod;
5127 wpt_uint8 ValidChannelCount;
5128 wpt_uint8 ValidChannelList[WDI_ROAM_SCAN_MAX_CHANNELS];
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08005129 wpt_boolean IsESEEnabled;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005130 /*Probe template for 2.4GHz band*/
5131 wpt_uint16 us24GProbeSize;
5132 wpt_uint8 a24GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
5133
5134 /*Probe template for 5GHz band*/
5135 wpt_uint16 us5GProbeSize;
5136 wpt_uint8 a5GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005137 /*LFR BG Scan will currently look for only one network to which it is initially connected.
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005138 * As per requirement, later, the following structure can be used as an array of networks.*/
5139 WDI_RoamNetworkType ConnectedNetwork;
5140 WDI_MobilityDomainInfo MDID;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005141 wpt_uint8 nProbes;
5142 wpt_uint16 HomeAwayTime;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005143} WDI_RoamOffloadScanInfo;
5144
5145typedef struct
5146{
5147 /* Start Roam Candidate Lookup Offload Back Ground Info Type */
5148 WDI_RoamOffloadScanInfo wdiRoamOffloadScanInfo;
5149 /* Request status callback offered by UMAC - it is called if the current req
5150 has returned PENDING as status; it delivers the status of sending the message
5151 over the BUS */
5152 WDI_ReqStatusCb wdiReqStatusCB;
5153 /* The user data passed in by UMAC, it will be sent back when the above
5154 function pointer will be called */
5155 void* pUserData;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005156} WDI_RoamScanOffloadReqParamsType;
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005157#endif //WLAN_FEATURE_ROAM_SCAN_OFFLOAD
Jeff Johnson295189b2012-06-20 16:38:30 -07005158
5159/*---------------------------------------------------------------------------
Sandeep Puligilla8b8b74b2014-02-10 16:39:05 +05305160 WDI_HT40ObssScanIndType
5161---------------------------------------------------------------------------*/
5162typedef struct
5163{
5164 wpt_uint8 cmdType;
5165 wpt_uint8 scanType;
5166 wpt_uint16 OBSSScanPassiveDwellTime; // In TUs
5167 wpt_uint16 OBSSScanActiveDwellTime; // In TUs
5168 wpt_uint16 BSSChannelWidthTriggerScanInterval; // In seconds
5169 wpt_uint16 OBSSScanPassiveTotalPerChannel; // In TUs
5170 wpt_uint16 OBSSScanActiveTotalPerChannel; // In TUs
5171 wpt_uint16 BSSWidthChannelTransitionDelayFactor;
5172 wpt_uint16 OBSSScanActivityThreshold;
5173 wpt_uint8 selfStaIdx;
5174 wpt_uint8 bssIdx;
5175 wpt_uint8 fortyMHZIntolerent;
5176 wpt_uint8 channelCount;
5177 wpt_uint8 channels[WDI_ROAM_SCAN_MAX_CHANNELS];
5178 wpt_uint8 currentOperatingClass;
5179 wpt_uint16 ieFieldLen;
5180 wpt_uint8 ieField[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
5181} WDI_HT40ObssScanIndType;
5182
5183
5184/*---------------------------------------------------------------------------
5185 WDI_OBSSScanIndParamsType
5186---------------------------------------------------------------------------*/
5187typedef struct
5188{
5189 WDI_HT40ObssScanIndType wdiHT40ObssScanParam;
5190
5191 /*Request status callback offered by UMAC - it is called if the current
5192 req has returned PENDING as status; it delivers the status of sending
5193 the message over the BUS */
5194 WDI_ReqStatusCb wdiReqStatusCB;
5195
5196 /*The user data passed in by UMAC, it will be sent back when the above
5197 function pointer will be called */
5198 void* pUserData;
5199
5200}WDI_HT40ObssScanParamsType;
5201
5202/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07005203 WDI_UpdateScanParamsInfo
5204---------------------------------------------------------------------------*/
5205typedef struct
5206{
5207 /* Ignore DTIM */
5208 wpt_uint32 uIgnoreDTIM;
5209
5210 /*DTIM Period*/
5211 wpt_uint32 uDTIMPeriod;
5212
5213 /* Listen Interval */
5214 wpt_uint32 uListenInterval;
5215
5216 /* Broadcast Multicas Filter */
5217 wpt_uint32 uBcastMcastFilter;
5218
5219 /* Beacon Early Termination */
5220 wpt_uint32 uEnableBET;
5221
5222 /* Beacon Early Termination Interval */
5223 wpt_uint32 uBETInterval;
5224
Yue Mac24062f2013-05-13 17:01:29 -07005225 /* MAX LI for modulated DTIM */
5226 wpt_uint32 uMaxLIModulatedDTIM;
5227
Jeff Johnson295189b2012-06-20 16:38:30 -07005228} WDI_SetPowerParamsInfo;
5229
5230/*---------------------------------------------------------------------------
5231 WDI_UpdateScanParamsInfoType
5232 UpdateScanParams info passed to WDI form WDA
5233---------------------------------------------------------------------------*/
5234typedef struct
5235{
5236 /* Power params Info Type, same as tSetPowerParamsReq */
5237 WDI_SetPowerParamsInfo wdiSetPowerParamsInfo;
5238 /* Request status callback offered by UMAC - it is called if the current req
5239 has returned PENDING as status; it delivers the status of sending the message
5240 over the BUS */
5241 WDI_ReqStatusCb wdiReqStatusCB;
5242 /* The user data passed in by UMAC, it will be sent back when the above
5243 function pointer will be called */
5244 void* pUserData;
5245}WDI_SetPowerParamsReqParamsType;
5246
5247/*---------------------------------------------------------------------------
5248 WDI_SetTxPerTrackingConfType
5249 Wowl add ptrn info passed to WDA form UMAC
5250---------------------------------------------------------------------------*/
5251typedef struct
5252{
5253 wpt_uint8 ucTxPerTrackingEnable; /* 0: disable, 1:enable */
5254 wpt_uint8 ucTxPerTrackingPeriod; /* Check period, unit is sec. */
5255 wpt_uint8 ucTxPerTrackingRatio; /* (Fail TX packet)/(Total TX packet) ratio, the unit is 10%. */
5256 wpt_uint32 uTxPerTrackingWatermark; /* A watermark of check number, once the tx packet exceed this number, we do the check, default is 5 */
5257} WDI_TxPerTrackingParamType;
5258
5259/*---------------------------------------------------------------------------
5260 WDI_SetTxPerTrackingReqParamsType
5261 Tx PER Tracking parameters passed to WDI from WDA
5262---------------------------------------------------------------------------*/
5263typedef struct
5264{
5265 /* Configurations for Tx PER Tracking */
5266 WDI_TxPerTrackingParamType wdiTxPerTrackingParam;
5267 /*Request status callback offered by UMAC - it is called if the current req
5268 has returned PENDING as status; it delivers the status of sending the message
5269 over the BUS */
5270 WDI_ReqStatusCb wdiReqStatusCB;
5271 /*The user data passed in by UMAC, it will be sent back when the above
5272 function pointer will be called */
5273 void* pUserData;
5274}WDI_SetTxPerTrackingReqParamsType;
5275
5276#ifdef WLAN_FEATURE_PACKET_FILTERING
5277/*---------------------------------------------------------------------------
5278 Packet Filtering Parameters
5279---------------------------------------------------------------------------*/
5280
5281#define WDI_IPV4_ADDR_LEN 4
5282#define WDI_MAC_ADDR_LEN 6
5283#define WDI_MAX_FILTER_TEST_DATA_LEN 8
5284#define WDI_MAX_NUM_MULTICAST_ADDRESS 240
5285#define WDI_MAX_NUM_FILTERS 20
5286#define WDI_MAX_NUM_TESTS_PER_FILTER 10
5287
5288//
5289// Receive Filter Parameters
5290//
5291typedef enum
5292{
5293 WDI_RCV_FILTER_TYPE_INVALID,
5294 WDI_RCV_FILTER_TYPE_FILTER_PKT,
5295 WDI_RCV_FILTER_TYPE_BUFFER_PKT,
5296 WDI_RCV_FILTER_TYPE_MAX_ENUM_SIZE
5297}WDI_ReceivePacketFilterType;
5298
5299typedef enum
5300{
5301 WDI_FILTER_HDR_TYPE_INVALID,
5302 WDI_FILTER_HDR_TYPE_MAC,
5303 WDI_FILTER_HDR_TYPE_ARP,
5304 WDI_FILTER_HDR_TYPE_IPV4,
5305 WDI_FILTER_HDR_TYPE_IPV6,
5306 WDI_FILTER_HDR_TYPE_UDP,
5307 WDI_FILTER_HDR_TYPE_MAX
5308}WDI_RcvPktFltProtocolType;
5309
5310typedef enum
5311{
5312 WDI_FILTER_CMP_TYPE_INVALID,
5313 WDI_FILTER_CMP_TYPE_EQUAL,
5314 WDI_FILTER_CMP_TYPE_MASK_EQUAL,
5315 WDI_FILTER_CMP_TYPE_NOT_EQUAL,
5316 WDI_FILTER_CMP_TYPE_MASK_NOT_EQUAL,
5317 WDI_FILTER_CMP_TYPE_MAX
5318}WDI_RcvPktFltCmpFlagType;
5319
5320typedef struct
5321{
5322 WDI_RcvPktFltProtocolType protocolLayer;
5323 WDI_RcvPktFltCmpFlagType cmpFlag;
5324/* Length of the data to compare */
5325 wpt_uint16 dataLength;
5326/* from start of the respective frame header */
5327 wpt_uint8 dataOffset;
5328 wpt_uint8 reserved; /* Reserved field */
5329/* Data to compare */
5330 wpt_uint8 compareData[WDI_MAX_FILTER_TEST_DATA_LEN];
5331/* Mask to be applied on the received packet data before compare */
5332 wpt_uint8 dataMask[WDI_MAX_FILTER_TEST_DATA_LEN];
5333}WDI_RcvPktFilterFieldParams;
5334
5335typedef struct
5336{
5337 wpt_uint8 filterId;
5338 wpt_uint8 filterType;
5339 wpt_uint32 numFieldParams;
5340 wpt_uint32 coalesceTime;
Jeff Johnsone7245742012-09-05 17:12:55 -07005341 wpt_macAddr selfMacAddr;
5342 wpt_macAddr bssId;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005343 WDI_RcvPktFilterFieldParams paramsData[1];
5344
Jeff Johnson295189b2012-06-20 16:38:30 -07005345}WDI_RcvPktFilterCfgType;
5346
5347typedef struct
5348{
5349 /*Request status callback offered by UMAC - it is called if the current
5350 req has returned PENDING as status; it delivers the status of sending
5351 the message over the BUS */
5352 WDI_ReqStatusCb wdiReqStatusCB;
5353
5354 /*The user data passed in by UMAC, it will be sent back when the above
5355 function pointer will be called */
5356 void* pUserData;
5357
5358 // Variable length packet filter field params
5359 WDI_RcvPktFilterCfgType wdiPktFilterCfg;
5360} WDI_SetRcvPktFilterReqParamsType;
5361
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005362typedef struct
5363{
5364 /*Result of the operation*/
5365 WDI_Status wdiStatus;
5366 /* BSSIDX of the Set Receive Filter
5367 */
5368 wpt_uint8 bssIdx;
5369} WDI_SetRcvPktFilterRspParamsType;
5370
Jeff Johnson295189b2012-06-20 16:38:30 -07005371//
5372// Filter Packet Match Count Parameters
5373//
5374typedef struct
5375{
5376 /*Request status callback offered by UMAC - it is called if the current
5377 req has returned PENDING as status; it delivers the status of sending
5378 the message over the BUS */
5379 WDI_ReqStatusCb wdiReqStatusCB;
5380
5381 /*The user data passed in by UMAC, it will be sent back when the above
5382 function pointer will be called */
5383 void* pUserData;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005384
5385 /* BSSID of the Match count
5386 */
5387 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005388} WDI_RcvFltPktMatchCntReqParamsType;
5389
5390typedef struct
5391{
5392 wpt_uint8 filterId;
5393 wpt_uint32 matchCnt;
5394} WDI_RcvFltPktMatchCnt;
5395
5396typedef struct
5397{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005398 /*Result of the operation*/
5399 WDI_Status wdiStatus;
Jeff Johnson295189b2012-06-20 16:38:30 -07005400
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005401 /* BSSIDX of the Match count response
5402 */
5403 wpt_uint8 bssIdx;
5404
Jeff Johnson295189b2012-06-20 16:38:30 -07005405} WDI_RcvFltPktMatchCntRspParamsType;
5406
Jeff Johnson295189b2012-06-20 16:38:30 -07005407//
5408// Receive Filter Clear Parameters
5409//
5410typedef struct
5411{
5412 wpt_uint32 status; /* only valid for response message */
5413 wpt_uint8 filterId;
Jeff Johnsone7245742012-09-05 17:12:55 -07005414 wpt_macAddr selfMacAddr;
5415 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005416}WDI_RcvFltPktClearParam;
5417
5418typedef struct
5419{
5420 WDI_RcvFltPktClearParam filterClearParam;
5421 /*Request status callback offered by UMAC - it is called if the current
5422 req has returned PENDING as status; it delivers the status of sending
5423 the message over the BUS */
5424 WDI_ReqStatusCb wdiReqStatusCB;
5425
5426 /*The user data passed in by UMAC, it will be sent back when the above
5427 function pointer will be called */
5428 void* pUserData;
5429} WDI_RcvFltPktClearReqParamsType;
5430
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005431typedef struct
5432{
5433 /*Result of the operation*/
5434 WDI_Status wdiStatus;
5435 /* BSSIDX of the Match count response
5436 */
5437 wpt_uint8 bssIdx;
5438
5439} WDI_RcvFltPktClearRspParamsType;
5440
Jeff Johnson295189b2012-06-20 16:38:30 -07005441//
5442// Multicast Address List Parameters
5443//
5444typedef struct
5445{
5446 wpt_uint32 ulMulticastAddrCnt;
5447 wpt_macAddr multicastAddr[WDI_MAX_NUM_MULTICAST_ADDRESS];
Jeff Johnsone7245742012-09-05 17:12:55 -07005448 wpt_macAddr selfMacAddr;
5449 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005450} WDI_RcvFltMcAddrListType;
5451
5452typedef struct
5453{
5454 WDI_RcvFltMcAddrListType mcAddrList;
5455 /*Request status callback offered by UMAC - it is called if the current
5456 req has returned PENDING as status; it delivers the status of sending
5457 the message over the BUS */
5458 WDI_ReqStatusCb wdiReqStatusCB;
5459
5460 /*The user data passed in by UMAC, it will be sent back when the above
5461 function pointer will be called */
5462 void* pUserData;
5463} WDI_RcvFltPktSetMcListReqParamsType;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005464
5465typedef struct
5466{
5467 /*Result of the operation*/
5468 WDI_Status wdiStatus;
5469 /* BSSIDX of the Match count response
5470 */
5471 wpt_uint8 bssIdx;
5472} WDI_RcvFltPktSetMcListRspParamsType;
5473
Jeff Johnson295189b2012-06-20 16:38:30 -07005474#endif // WLAN_FEATURE_PACKET_FILTERING
5475
5476/*---------------------------------------------------------------------------
5477 WDI_HALDumpCmdReqInfoType
5478---------------------------------------------------------------------------*/
5479typedef struct
5480{
5481 /*command*/
5482 wpt_uint32 command;
5483
5484 /*Arguments*/
5485 wpt_uint32 argument1;
5486 wpt_uint32 argument2;
5487 wpt_uint32 argument3;
5488 wpt_uint32 argument4;
5489
5490}WDI_HALDumpCmdReqInfoType;
5491
5492/*---------------------------------------------------------------------------
5493 WDI_HALDumpCmdReqParamsType
5494---------------------------------------------------------------------------*/
5495typedef struct
5496{
5497 /*NV Blob Info*/
5498 WDI_HALDumpCmdReqInfoType wdiHALDumpCmdInfoType;
5499
5500 /*Request status callback offered by UMAC - it is called if the current
5501 req has returned PENDING as status; it delivers the status of sending
5502 the message over the BUS */
5503 WDI_ReqStatusCb wdiReqStatusCB;
5504
5505 /*The user data passed in by UMAC, it will be sent back when the above
5506 function pointer will be called */
5507 void* pUserData;
5508
5509}WDI_HALDumpCmdReqParamsType;
5510
5511
5512/*---------------------------------------------------------------------------
5513 WDI_HALDumpCmdRspParamsType
5514---------------------------------------------------------------------------*/
5515typedef struct
5516{
5517 /*Result of the operation*/
5518 WDI_Status wdiStatus;
5519
5520 /* length of the buffer */
5521 wpt_uint16 usBufferLen;
5522
5523 /* Buffer */
5524 wpt_uint8 *pBuffer;
5525}WDI_HALDumpCmdRspParamsType;
5526
5527
5528/*---------------------------------------------------------------------------
5529 WDI_SetTmLevelReqType
5530---------------------------------------------------------------------------*/
5531typedef struct
5532{
5533 wpt_uint16 tmMode;
5534 wpt_uint16 tmLevel;
5535 void* pUserData;
5536}WDI_SetTmLevelReqType;
5537
5538/*---------------------------------------------------------------------------
5539 WDI_SetTmLevelRspType
5540---------------------------------------------------------------------------*/
5541typedef struct
5542{
5543 WDI_Status wdiStatus;
5544 void* pUserData;
5545}WDI_SetTmLevelRspType;
5546
Leo Chang9056f462013-08-01 19:21:11 -07005547#ifdef FEATURE_WLAN_LPHB
5548/*---------------------------------------------------------------------------
5549 WDI_LPHBConfigParamsType
5550---------------------------------------------------------------------------*/
5551typedef struct
5552{
5553 void* pLphsConfIndData;
5554}WDI_LPHBConfigParamsType;
5555#endif /* FEATURE_WLAN_LPHB */
5556
Yue Mab9c86f42013-08-14 15:59:08 -07005557/*---------------------------------------------------------------------------
5558 WDI_AddPeriodicTxPtrnInfoType
5559---------------------------------------------------------------------------*/
5560typedef struct
5561{
5562 /* MAC Address for the adapter */
5563 wpt_macAddr macAddr;
5564
5565 wpt_uint8 ucPtrnId; // Pattern ID
5566 wpt_uint16 ucPtrnSize; // Pattern size
5567 wpt_uint32 usPtrnIntervalMs; // In msec
5568 wpt_uint8 ucPattern[PERIODIC_TX_PTRN_MAX_SIZE]; // Pattern buffer
5569} WDI_AddPeriodicTxPtrnInfoType;
5570
5571/*---------------------------------------------------------------------------
5572 WDI_DelPeriodicTxPtrnInfoType
5573---------------------------------------------------------------------------*/
5574typedef struct
5575{
5576 /* MAC Address for the adapter */
5577 wpt_macAddr macAddr;
5578
5579 /* Bitmap of pattern IDs that needs to be deleted */
5580 wpt_uint32 ucPatternIdBitmap;
5581} WDI_DelPeriodicTxPtrnInfoType;
5582
5583/*---------------------------------------------------------------------------
5584 WDI_AddPeriodicTxPtrnParamsType
5585---------------------------------------------------------------------------*/
5586typedef struct
5587{
5588 WDI_AddPeriodicTxPtrnInfoType wdiAddPeriodicTxPtrnParams;
5589
5590 /*Request status callback offered by UMAC - it is called if the current
5591 req has returned PENDING as status; it delivers the status of sending
5592 the message over the BUS */
5593 WDI_ReqStatusCb wdiReqStatusCB;
5594
5595 /*The user data passed in by UMAC, it will be sent back when the above
5596 function pointer will be called */
5597 void* pUserData;
5598} WDI_AddPeriodicTxPtrnParamsType;
5599
5600/*---------------------------------------------------------------------------
5601 WDI_DelPeriodicTxPtrnParamsType
5602---------------------------------------------------------------------------*/
5603typedef struct
5604{
5605 WDI_DelPeriodicTxPtrnInfoType wdiDelPeriodicTxPtrnParams;
5606
5607 /*Request status callback offered by UMAC - it is called if the current
5608 req has returned PENDING as status; it delivers the status of sending
5609 the message over the BUS */
5610 WDI_ReqStatusCb wdiReqStatusCB;
5611
5612 /*The user data passed in by UMAC, it will be sent back when the above
5613 function pointer will be called */
5614 void* pUserData;
5615} WDI_DelPeriodicTxPtrnParamsType;
5616
Sunil Duttbd736ed2014-05-26 21:19:41 +05305617#ifdef WLAN_FEATURE_LINK_LAYER_STATS
5618typedef struct
5619{
5620 wpt_uint32 reqId;
5621 wpt_uint8 staId;
5622 wpt_uint32 mpduSizeThreshold;
5623 wpt_uint32 aggressiveStatisticsGathering;
5624}WDI_LLStatsSetReqType;
5625
5626typedef struct
5627{
5628 wpt_uint32 reqId;
5629 wpt_uint8 staId;
5630 wpt_uint32 paramIdMask;
5631}WDI_LLStatsGetReqType;
5632
5633typedef struct
5634{
5635 wpt_uint32 reqId;
5636 wpt_uint8 staId;
5637 wpt_uint32 statsClearReqMask;
5638 wpt_uint8 stopReq;
5639}WDI_LLStatsClearReqType;
5640#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
5641
5642
Jeff Johnson295189b2012-06-20 16:38:30 -07005643/*----------------------------------------------------------------------------
5644 * WDI callback types
5645 *--------------------------------------------------------------------------*/
5646
5647/*---------------------------------------------------------------------------
5648 WDI_StartRspCb
5649
5650 DESCRIPTION
5651
5652 This callback is invoked by DAL when it has received a Start response from
5653 the underlying device.
5654
5655 PARAMETERS
5656
5657 IN
5658 wdiRspParams: response parameters received from HAL
5659 pUserData: user data
5660
5661
5662 RETURN VALUE
5663 The result code associated with performing the operation
5664---------------------------------------------------------------------------*/
5665typedef void (*WDI_StartRspCb)(WDI_StartRspParamsType* pwdiRspParams,
5666 void* pUserData);
5667
5668/*---------------------------------------------------------------------------
5669 WDI_StartRspCb
5670
5671 DESCRIPTION
5672
5673 This callback is invoked by DAL when it has received a Stop response from
5674 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_StopRspCb)(WDI_Status wdiStatus,
5688 void* pUserData);
5689
5690/*---------------------------------------------------------------------------
5691 WDI_StartRspCb
5692
5693 DESCRIPTION
5694
5695 This callback is invoked by DAL when it has received an Init Scan response
5696 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_InitScanRspCb)(WDI_Status wdiStatus,
5710 void* pUserData);
5711
5712
5713/*---------------------------------------------------------------------------
5714 WDI_StartRspCb
5715
5716 DESCRIPTION
5717
5718 This callback is invoked by DAL when it has received a StartScan response
5719 from the underlying device.
5720
5721 PARAMETERS
5722
5723 IN
5724 wdiParams: response params received from HAL
5725 pUserData: user data
5726
5727
5728
5729 RETURN VALUE
5730 The result code associated with performing the operation
5731---------------------------------------------------------------------------*/
5732typedef void (*WDI_StartScanRspCb)(WDI_StartScanRspParamsType* wdiParams,
5733 void* pUserData);
5734
5735
5736/*---------------------------------------------------------------------------
5737 WDI_StartRspCb
5738
5739 DESCRIPTION
5740
5741 This callback is invoked by DAL when it has received a End Scan response
5742 from the underlying device.
5743
5744 PARAMETERS
5745
5746 IN
5747 wdiStatus: response status received from HAL
5748 pUserData: user data
5749
5750
5751
5752 RETURN VALUE
5753 The result code associated with performing the operation
5754---------------------------------------------------------------------------*/
5755typedef void (*WDI_EndScanRspCb)(WDI_Status wdiStatus,
5756 void* pUserData);
5757
5758
5759/*---------------------------------------------------------------------------
5760 WDI_StartRspCb
5761
5762 DESCRIPTION
5763
5764 This callback is invoked by DAL when it has received a Finish Scan response
5765 from the underlying device.
5766
5767 PARAMETERS
5768
5769 IN
5770 wdiStatus: response status received from HAL
5771 pUserData: user data
5772
5773
5774
5775 RETURN VALUE
5776 The result code associated with performing the operation
5777---------------------------------------------------------------------------*/
5778typedef void (*WDI_FinishScanRspCb)(WDI_Status wdiStatus,
5779 void* pUserData);
5780
5781
5782/*---------------------------------------------------------------------------
5783 WDI_StartRspCb
5784
5785 DESCRIPTION
5786
5787 This callback is invoked by DAL when it has received a Join response from
5788 the underlying device.
5789
5790 PARAMETERS
5791
5792 IN
5793 wdiStatus: response status received from HAL
5794 pUserData: user data
5795
5796
5797
5798 RETURN VALUE
5799 The result code associated with performing the operation
5800---------------------------------------------------------------------------*/
5801typedef void (*WDI_JoinRspCb)(WDI_Status wdiStatus,
5802 void* pUserData);
5803
5804
5805/*---------------------------------------------------------------------------
5806 WDI_StartRspCb
5807
5808 DESCRIPTION
5809
5810 This callback is invoked by DAL when it has received a Config BSS response
5811 from the underlying device.
5812
5813 PARAMETERS
5814
5815 IN
5816 wdiConfigBSSRsp: response parameters received from HAL
5817 pUserData: user data
5818
5819
5820 RETURN VALUE
5821 The result code associated with performing the operation
5822---------------------------------------------------------------------------*/
5823typedef void (*WDI_ConfigBSSRspCb)(
5824 WDI_ConfigBSSRspParamsType* pwdiConfigBSSRsp,
5825 void* pUserData);
5826
5827
5828/*---------------------------------------------------------------------------
5829 WDI_StartRspCb
5830
5831 DESCRIPTION
5832
5833 This callback is invoked by DAL when it has received a Del BSS response from
5834 the underlying device.
5835
5836 PARAMETERS
5837
5838 IN
5839 wdiDelBSSRsp: response parameters received from HAL
5840 pUserData: user data
5841
5842
5843 RETURN VALUE
5844 The result code associated with performing the operation
5845---------------------------------------------------------------------------*/
5846typedef void (*WDI_DelBSSRspCb)(WDI_DelBSSRspParamsType* pwdiDelBSSRsp,
5847 void* pUserData);
5848
5849
5850/*---------------------------------------------------------------------------
5851 WDI_StartRspCb
5852
5853 DESCRIPTION
5854
5855 This callback is invoked by DAL when it has received a Post Assoc response
5856 from the underlying device.
5857
5858 PARAMETERS
5859
5860 IN
5861 wdiRspParams: response parameters received from HAL
5862 pUserData: user data
5863
5864
5865 RETURN VALUE
5866 The result code associated with performing the operation
5867---------------------------------------------------------------------------*/
5868typedef void (*WDI_PostAssocRspCb)(
5869 WDI_PostAssocRspParamsType* pwdiPostAssocRsp,
5870 void* pUserData);
5871
5872
5873/*---------------------------------------------------------------------------
5874 WDI_StartRspCb
5875
5876 DESCRIPTION
5877
5878 This callback is invoked by DAL when it has received a Del STA response from
5879 the underlying device.
5880
5881 PARAMETERS
5882
5883 IN
5884 wdiDelSTARsp: response parameters received from HAL
5885 pUserData: user data
5886
5887
5888 RETURN VALUE
5889 The result code associated with performing the operation
5890---------------------------------------------------------------------------*/
5891typedef void (*WDI_DelSTARspCb)(WDI_DelSTARspParamsType* pwdiDelSTARsp,
5892 void* pUserData);
5893
5894
5895
5896/*---------------------------------------------------------------------------
5897 WDI_StartRspCb
5898
5899 DESCRIPTION
5900
5901 This callback is invoked by DAL when it has received a Set BSS Key response
5902 from the underlying device.
5903
5904 PARAMETERS
5905
5906 IN
5907 wdiStatus: response status received from HAL
5908 pUserData: user data
5909
5910
5911
5912 RETURN VALUE
5913 The result code associated with performing the operation
5914---------------------------------------------------------------------------*/
5915typedef void (*WDI_SetBSSKeyRspCb)(WDI_Status wdiStatus,
5916 void* pUserData);
5917
5918/*---------------------------------------------------------------------------
5919 WDI_StartRspCb
5920
5921 DESCRIPTION
5922
5923 This callback is invoked by DAL when it has received a Remove BSS Key
5924 response from the underlying device.
5925
5926 PARAMETERS
5927
5928 IN
5929 wdiStatus: response status received from HAL
5930 pUserData: user data
5931
5932
5933
5934 RETURN VALUE
5935 The result code associated with performing the operation
5936---------------------------------------------------------------------------*/
5937typedef void (*WDI_RemoveBSSKeyRspCb)(WDI_Status wdiStatus,
5938 void* pUserData);
5939
5940/*---------------------------------------------------------------------------
5941 WDI_StartRspCb
5942
5943 DESCRIPTION
5944
5945 This callback is invoked by DAL when it has received a Set STA Key response
5946 from the underlying device.
5947
5948 PARAMETERS
5949
5950 IN
5951 wdiStatus: response status received from HAL
5952 pUserData: user data
5953
5954
5955
5956 RETURN VALUE
5957 The result code associated with performing the operation
5958---------------------------------------------------------------------------*/
5959typedef void (*WDI_SetSTAKeyRspCb)(WDI_Status wdiStatus,
5960 void* pUserData);
5961
5962
5963/*---------------------------------------------------------------------------
5964 WDI_StartRspCb
5965
5966 DESCRIPTION
5967
5968 This callback is invoked by DAL when it has received a Remove STA Key
5969 response from the underlying device.
5970
5971 PARAMETERS
5972
5973 IN
5974 wdiStatus: response status received from HAL
5975 pUserData: user data
5976
5977
5978
5979 RETURN VALUE
5980 The result code associated with performing the operation
5981---------------------------------------------------------------------------*/
5982typedef void (*WDI_RemoveSTAKeyRspCb)(WDI_Status wdiStatus,
5983 void* pUserData);
5984
5985
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08005986#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07005987/*---------------------------------------------------------------------------
5988 WDI_TsmRspCb
5989
5990 DESCRIPTION
5991
5992 This callback is invoked by DAL when it has received a TSM Stats response from the underlying device.
5993
5994 PARAMETERS
5995
5996 IN
5997 pTSMStats: response status received from HAL
5998 pUserData: user data
5999
6000
6001
6002 RETURN VALUE
6003 The result code associated with performing the operation
6004---------------------------------------------------------------------------*/
6005typedef void (*WDI_TsmRspCb)(WDI_TSMStatsRspParamsType *pTSMStats,
6006 void* pUserData);
6007#endif
6008
6009/*---------------------------------------------------------------------------
6010 WDI_StartRspCb
6011
6012 DESCRIPTION
6013
6014 This callback is invoked by DAL when it has received a Add TS response from
6015 the underlying device.
6016
6017 PARAMETERS
6018
6019 IN
6020 wdiStatus: response status received from HAL
6021 pUserData: user data
6022
6023
6024
6025 RETURN VALUE
6026 The result code associated with performing the operation
6027---------------------------------------------------------------------------*/
6028typedef void (*WDI_AddTsRspCb)(WDI_Status wdiStatus,
6029 void* pUserData);
6030
6031/*---------------------------------------------------------------------------
6032 WDI_StartRspCb
6033
6034 DESCRIPTION
6035
6036 This callback is invoked by DAL when it has received a Del TS response from
6037 the underlying device.
6038
6039 PARAMETERS
6040
6041 IN
6042 wdiStatus: response status received from HAL
6043 pUserData: user data
6044
6045
6046
6047 RETURN VALUE
6048 The result code associated with performing the operation
6049---------------------------------------------------------------------------*/
6050typedef void (*WDI_DelTsRspCb)(WDI_Status wdiStatus,
6051 void* pUserData);
6052
6053/*---------------------------------------------------------------------------
6054 WDI_StartRspCb
6055
6056 DESCRIPTION
6057
6058 This callback is invoked by DAL when it has received an Update EDCA Params
6059 response from the underlying device.
6060
6061 PARAMETERS
6062
6063 IN
6064 wdiStatus: response status received from HAL
6065 pUserData: user data
6066
6067
6068
6069 RETURN VALUE
6070 The result code associated with performing the operation
6071---------------------------------------------------------------------------*/
6072typedef void (*WDI_UpdateEDCAParamsRspCb)(WDI_Status wdiStatus,
6073 void* pUserData);
6074
6075/*---------------------------------------------------------------------------
6076 WDI_StartRspCb
6077
6078 DESCRIPTION
6079
6080 This callback is invoked by DAL when it has received a Add BA response from
6081 the underlying device.
6082
6083 PARAMETERS
6084
6085 IN
6086 wdiStatus: response status received from HAL
6087 pUserData: user data
6088
6089
6090
6091 RETURN VALUE
6092 The result code associated with performing the operation
6093---------------------------------------------------------------------------*/
6094typedef void (*WDI_AddBASessionRspCb)(
6095 WDI_AddBASessionRspParamsType* wdiAddBASessionRsp,
6096 void* pUserData);
6097
6098
6099/*---------------------------------------------------------------------------
6100 WDI_StartRspCb
6101
6102 DESCRIPTION
6103
6104 This callback is invoked by DAL when it has received a Del BA response from
6105 the underlying device.
6106
6107 PARAMETERS
6108
6109 IN
6110 wdiStatus: response status received from HAL
6111 pUserData: user data
6112
6113
6114
6115 RETURN VALUE
6116 The result code associated with performing the operation
6117---------------------------------------------------------------------------*/
6118typedef void (*WDI_DelBARspCb)(WDI_Status wdiStatus,
6119 void* pUserData);
6120
6121
6122/*---------------------------------------------------------------------------
6123 WDI_StartRspCb
6124
6125 DESCRIPTION
6126
6127 This callback is invoked by DAL when it has received a Switch Ch response
6128 from the underlying device.
6129
6130 PARAMETERS
6131
6132 IN
6133 wdiRspParams: response parameters received from HAL
6134 pUserData: user data
6135
6136
6137 RETURN VALUE
6138 The result code associated with performing the operation
6139---------------------------------------------------------------------------*/
6140typedef void (*WDI_SwitchChRspCb)(WDI_SwitchCHRspParamsType* pwdiSwitchChRsp,
6141 void* pUserData);
6142
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08006143typedef void (*WDI_SwitchChRspCb_V1)(WDI_SwitchChRspParamsType_V1* pwdiSwitchChRsp,
6144 void* pUserData);
6145
Jeff Johnson295189b2012-06-20 16:38:30 -07006146
6147/*---------------------------------------------------------------------------
6148 WDI_StartRspCb
6149
6150 DESCRIPTION
6151
6152 This callback is invoked by DAL when it has received a Config STA response
6153 from the underlying device.
6154
6155 PARAMETERS
6156
6157 IN
6158 wdiRspParams: response parameters received from HAL
6159 pUserData: user data
6160
6161
6162 RETURN VALUE
6163 The result code associated with performing the operation
6164---------------------------------------------------------------------------*/
6165typedef void (*WDI_ConfigSTARspCb)(
6166 WDI_ConfigSTARspParamsType* pwdiConfigSTARsp,
6167 void* pUserData);
6168
6169
6170/*---------------------------------------------------------------------------
6171 WDI_StartRspCb
6172
6173 DESCRIPTION
6174
6175 This callback is invoked by DAL when it has received a Set Link State
6176 response from the underlying device.
6177
6178 PARAMETERS
6179
6180 IN
6181 wdiRspParams: response parameters received from HAL
6182 pUserData: user data
6183
6184
6185 RETURN VALUE
6186 The result code associated with performing the operation
6187---------------------------------------------------------------------------*/
6188typedef void (*WDI_SetLinkStateRspCb)( WDI_Status wdiStatus,
6189 void* pUserData);
6190
6191
6192/*---------------------------------------------------------------------------
6193 WDI_StartRspCb
6194
6195 DESCRIPTION
6196
6197 This callback is invoked by DAL when it has received a Get Stats response
6198 from the underlying device.
6199
6200 PARAMETERS
6201
6202 IN
6203 wdiRspParams: response parameters received from HAL
6204 pUserData: user data
6205
6206
6207 RETURN VALUE
6208 The result code associated with performing the operation
6209---------------------------------------------------------------------------*/
6210typedef void (*WDI_GetStatsRspCb)(WDI_GetStatsRspParamsType* pwdiGetStatsRsp,
6211 void* pUserData);
6212
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08006213#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08006214/*---------------------------------------------------------------------------
6215 WDI_GetRoamRssiRspCb
6216
6217 DESCRIPTION
6218
6219 This callback is invoked by DAL when it has received a Get Roam Rssi response
6220 from the underlying device.
6221
6222 PARAMETERS
6223
6224 IN
6225 wdiRspParams: response parameters received from HAL
6226 pUserData: user data
6227
6228
6229 RETURN VALUE
6230 The result code associated with performing the operation
6231---------------------------------------------------------------------------*/
6232typedef void (*WDI_GetRoamRssiRspCb)(WDI_GetRoamRssiRspParamsType* pwdiGetRoamRssiRsp,
6233 void* pUserData);
6234#endif
6235
Jeff Johnson295189b2012-06-20 16:38:30 -07006236
6237/*---------------------------------------------------------------------------
6238 WDI_StartRspCb
6239
6240 DESCRIPTION
6241
6242 This callback is invoked by DAL when it has received a Update Cfg response
6243 from the underlying device.
6244
6245 PARAMETERS
6246
6247 IN
6248 wdiStatus: response status received from HAL
6249 pUserData: user data
6250
6251
6252 RETURN VALUE
6253 The result code associated with performing the operation
6254---------------------------------------------------------------------------*/
6255typedef void (*WDI_UpdateCfgRspCb)(WDI_Status wdiStatus,
6256 void* pUserData);
6257
6258/*---------------------------------------------------------------------------
6259 WDI_AddBARspCb
6260
6261 DESCRIPTION
6262
6263 This callback is invoked by DAL when it has received a ADD BA response
6264 from the underlying device.
6265
6266 PARAMETERS
6267
6268 IN
6269 wdiStatus: response status received from HAL
6270 pUserData: user data
6271
6272
6273 RETURN VALUE
6274 The result code associated with performing the operation
6275---------------------------------------------------------------------------*/
6276typedef void (*WDI_AddBARspCb)(WDI_AddBARspinfoType* wdiAddBARsp,
6277 void* pUserData);
6278
6279/*---------------------------------------------------------------------------
6280 WDI_TriggerBARspCb
6281
6282 DESCRIPTION
6283
6284 This callback is invoked by DAL when it has received a ADD BA response
6285 from the underlying device.
6286
6287 PARAMETERS
6288
6289 IN
6290 wdiStatus: response status received from HAL
6291 pUserData: user data
6292
6293
6294 RETURN VALUE
6295 The result code associated with performing the operation
6296---------------------------------------------------------------------------*/
6297typedef void (*WDI_TriggerBARspCb)(WDI_TriggerBARspParamsType* wdiTriggerBARsp,
6298 void* pUserData);
6299
6300
6301/*---------------------------------------------------------------------------
6302 WDI_UpdateBeaconParamsRspCb
6303
6304 DESCRIPTION
6305
6306 This callback is invoked by DAL when it has received a Update Beacon Params response from
6307 the underlying device.
6308
6309 PARAMETERS
6310
6311 IN
6312 wdiStatus: response status received from HAL
6313 pUserData: user data
6314
6315
6316
6317 RETURN VALUE
6318 The result code associated with performing the operation
6319---------------------------------------------------------------------------*/
6320typedef void (*WDI_UpdateBeaconParamsRspCb)(WDI_Status wdiStatus,
6321 void* pUserData);
6322
6323/*---------------------------------------------------------------------------
6324 WDI_SendBeaconParamsRspCb
6325
6326 DESCRIPTION
6327
6328 This callback is invoked by DAL when it has received a Send Beacon Params response from
6329 the underlying device.
6330
6331 PARAMETERS
6332
6333 IN
6334 wdiStatus: response status received from HAL
6335 pUserData: user data
6336
6337
6338
6339 RETURN VALUE
6340 The result code associated with performing the operation
6341---------------------------------------------------------------------------*/
6342typedef void (*WDI_SendBeaconParamsRspCb)(WDI_Status wdiStatus,
6343 void* pUserData);
6344
6345/*---------------------------------------------------------------------------
6346 WDA_SetMaxTxPowerRspCb
6347
6348 DESCRIPTION
6349
6350 This callback is invoked by DAL when it has received a set max Tx Power response from
6351 the underlying device.
6352
6353 PARAMETERS
6354
6355 IN
6356 wdiStatus: response status received from HAL
6357 pUserData: user data
6358
6359
6360
6361 RETURN VALUE
6362 The result code associated with performing the operation
6363---------------------------------------------------------------------------*/
6364typedef void (*WDA_SetMaxTxPowerRspCb)(WDI_SetMaxTxPowerRspMsg *wdiSetMaxTxPowerRsp,
6365 void* pUserData);
6366
6367/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07006368 WDA_SetMaxTxPowerPerBandRspCb
6369
6370 DESCRIPTION
6371
6372 This callback is invoked by DAL when it has received a
6373 set max Tx Power Per Band response from the underlying device.
6374
6375 PARAMETERS
6376
6377 IN
6378 wdiSetMaxTxPowerPerBandRsp: response status received from HAL
6379 pUserData: user data
6380
6381 RETURN VALUE
6382 The result code associated with performing the operation
6383---------------------------------------------------------------------------*/
6384typedef void (*WDA_SetMaxTxPowerPerBandRspCb)(WDI_SetMaxTxPowerPerBandRspMsg
6385 *wdiSetMaxTxPowerPerBandRsp,
6386 void* pUserData);
6387
6388/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07006389 WDA_SetTxPowerRspCb
6390
6391 DESCRIPTION
6392
6393 This callback is invoked by DAL when it has received a set max Tx Power response from
6394 the underlying device.
6395
6396 PARAMETERS
6397
6398 IN
6399 wdiStatus: response status received from HAL
6400 pUserData: user data
6401
6402 RETURN VALUE
6403 The result code associated with performing the operation
6404---------------------------------------------------------------------------*/
6405typedef void (*WDA_SetTxPowerRspCb)(WDI_SetTxPowerRspMsg *wdiSetTxPowerRsp,
6406 void* pUserData);
6407
6408/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07006409 WDI_UpdateProbeRspTemplateRspCb
6410
6411 DESCRIPTION
6412
6413 This callback is invoked by DAL when it has received a Probe RSP Template
6414 Update response from the underlying device.
6415
6416 PARAMETERS
6417
6418 IN
6419 wdiStatus: response status received from HAL
6420 pUserData: user data
6421
6422
6423
6424 RETURN VALUE
6425 The result code associated with performing the operation
6426---------------------------------------------------------------------------*/
6427typedef void (*WDI_UpdateProbeRspTemplateRspCb)(WDI_Status wdiStatus,
6428 void* pUserData);
6429
Jeff Johnson295189b2012-06-20 16:38:30 -07006430/*---------------------------------------------------------------------------
6431 WDI_SetP2PGONOAReqParamsRspCb
6432
6433 DESCRIPTION
6434
6435 This callback is invoked by DAL when it has received a P2P GO NOA Params response from
6436 the underlying device.
6437
6438 PARAMETERS
6439
6440 IN
6441 wdiStatus: response status received from HAL
6442 pUserData: user data
6443
6444
6445
6446 RETURN VALUE
6447 The result code associated with performing the operation
6448---------------------------------------------------------------------------*/
6449typedef void (*WDI_SetP2PGONOAReqParamsRspCb)(WDI_Status wdiStatus,
6450 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006451
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05306452/*---------------------------------------------------------------------------
6453 WDI_SetTDLSLinkEstablishReqParamsRspCb
6454
6455 DESCRIPTION
6456
6457 This callback is invoked by DAL when it has received a TDLS Link Establish Req response from
6458 the underlying device.
6459
6460 PARAMETERS
6461
6462 IN
6463 wdiStatus: response status received from HAL
6464 pUserData: user data
6465
6466
6467
6468 RETURN VALUE
6469 The result code associated with performing the operation
6470---------------------------------------------------------------------------*/
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05306471typedef void (*WDI_SetTDLSLinkEstablishReqParamsRspCb)(WDI_SetTdlsLinkEstablishReqResp *
6472 wdiSetTdlsLinkEstablishReqRsp,
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05306473 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006474
6475/*---------------------------------------------------------------------------
6476 WDI_SetPwrSaveCfgCb
6477
6478 DESCRIPTION
6479
6480 This callback is invoked by DAL when it has received a set Power Save CFG
6481 response from the underlying device.
6482
6483 PARAMETERS
6484
6485 IN
6486 wdiStatus: response status received from HAL
6487 pUserData: user data
6488
6489
6490
6491 RETURN VALUE
6492 The result code associated with performing the operation
6493---------------------------------------------------------------------------*/
6494typedef void (*WDI_SetPwrSaveCfgCb)(WDI_Status wdiStatus,
6495 void* pUserData);
6496
6497/*---------------------------------------------------------------------------
6498 WDI_SetUapsdAcParamsCb
6499
6500 DESCRIPTION
6501
6502 This callback is invoked by DAL when it has received a set UAPSD params
6503 response from the underlying device.
6504
6505 PARAMETERS
6506
6507 IN
6508 wdiStatus: response status received from HAL
6509 pUserData: user data
6510
6511
6512
6513 RETURN VALUE
6514 The result code associated with performing the operation
6515---------------------------------------------------------------------------*/
6516typedef void (*WDI_SetUapsdAcParamsCb)(WDI_Status wdiStatus,
6517 void* pUserData);
6518
6519/*---------------------------------------------------------------------------
6520 WDI_EnterImpsRspCb
6521
6522 DESCRIPTION
6523
6524 This callback is invoked by DAL when it has received a Enter IMPS response
6525 from the underlying device.
6526
6527 PARAMETERS
6528
6529 IN
6530 wdiStatus: response status received from HAL
6531 pUserData: user data
6532
6533
6534
6535 RETURN VALUE
6536 The result code associated with performing the operation
6537---------------------------------------------------------------------------*/
6538typedef void (*WDI_EnterImpsRspCb)(WDI_Status wdiStatus,
6539 void* pUserData);
6540
6541/*---------------------------------------------------------------------------
6542 WDI_ExitImpsRspCb
6543
6544 DESCRIPTION
6545
6546 This callback is invoked by DAL when it has received a Exit IMPS response
6547 from the underlying device.
6548
6549 PARAMETERS
6550
6551 IN
6552 wdiStatus: response status received from HAL
6553 pUserData: user data
6554
6555
6556
6557 RETURN VALUE
6558 The result code associated with performing the operation
6559---------------------------------------------------------------------------*/
6560typedef void (*WDI_ExitImpsRspCb)(WDI_Status wdiStatus,
6561 void* pUserData);
6562
6563/*---------------------------------------------------------------------------
6564 WDI_EnterBmpsRspCb
6565
6566 DESCRIPTION
6567
6568 This callback is invoked by DAL when it has received a enter BMPS response
6569 from the underlying device.
6570
6571 PARAMETERS
6572
6573 IN
6574 wdiStatus: response status received from HAL
6575 pUserData: user data
6576
6577
6578
6579 RETURN VALUE
6580 The result code associated with performing the operation
6581---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006582typedef void (*WDI_EnterBmpsRspCb)(WDI_EnterBmpsRspParamsType *pwdiEnterBmpsRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006583 void* pUserData);
6584
6585/*---------------------------------------------------------------------------
6586 WDI_ExitBmpsRspCb
6587
6588 DESCRIPTION
6589
6590 This callback is invoked by DAL when it has received a exit BMPS response
6591 from the underlying device.
6592
6593 PARAMETERS
6594
6595 IN
6596 wdiStatus: response status received from HAL
6597 pUserData: user data
6598
6599
6600
6601 RETURN VALUE
6602 The result code associated with performing the operation
6603---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006604typedef void (*WDI_ExitBmpsRspCb)( WDI_ExitBmpsRspParamsType *pwdiExitBmpsRspParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07006605 void* pUserData);
6606
6607/*---------------------------------------------------------------------------
6608 WDI_EnterUapsdRspCb
6609
6610 DESCRIPTION
6611
6612 This callback is invoked by DAL when it has received a enter UAPSD response
6613 from the underlying device.
6614
6615 PARAMETERS
6616
6617 IN
6618 wdiStatus: response status received from HAL
6619 pUserData: user data
6620
6621
6622
6623 RETURN VALUE
6624 The result code associated with performing the operation
6625---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006626typedef void (*WDI_EnterUapsdRspCb)( WDI_EnterUapsdRspParamsType *pwdiEnterUapsdRspParam,
Jeff Johnson295189b2012-06-20 16:38:30 -07006627 void* pUserData);
6628
6629/*---------------------------------------------------------------------------
6630 WDI_ExitUapsdRspCb
6631
6632 DESCRIPTION
6633
6634 This callback is invoked by DAL when it has received a exit UAPSD response
6635 from the underlying device.
6636
6637 PARAMETERS
6638
6639 IN
6640 wdiStatus: response status received from HAL
6641 pUserData: user data
6642
6643
6644
6645 RETURN VALUE
6646 The result code associated with performing the operation
6647---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006648typedef void (*WDI_ExitUapsdRspCb)(WDI_ExitUapsdRspParamsType *pwidExitUapsdRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006649 void* pUserData);
6650
6651/*---------------------------------------------------------------------------
6652 WDI_UpdateUapsdParamsCb
6653
6654 DESCRIPTION
6655
6656 This callback is invoked by DAL when it has received a update UAPSD params
6657 response from the underlying device.
6658
6659 PARAMETERS
6660
6661 IN
6662 wdiStatus: response status received from HAL
6663 pUserData: user data
6664
6665
6666
6667 RETURN VALUE
6668 The result code associated with performing the operation
6669---------------------------------------------------------------------------*/
6670typedef void (*WDI_UpdateUapsdParamsCb)(WDI_Status wdiStatus,
6671 void* pUserData);
6672
6673/*---------------------------------------------------------------------------
6674 WDI_ConfigureRxpFilterCb
6675
6676 DESCRIPTION
6677
6678 This callback is invoked by DAL when it has received a config RXP filter
6679 response from the underlying device.
6680
6681 PARAMETERS
6682
6683 IN
6684 wdiStatus: response status received from HAL
6685 pUserData: user data
6686
6687
6688
6689 RETURN VALUE
6690 The result code associated with performing the operation
6691---------------------------------------------------------------------------*/
6692typedef void (*WDI_ConfigureRxpFilterCb)(WDI_Status wdiStatus,
6693 void* pUserData);
6694
6695/*---------------------------------------------------------------------------
6696 WDI_SetBeaconFilterCb
6697
6698 DESCRIPTION
6699
6700 This callback is invoked by DAL when it has received a set beacon filter
6701 response from the underlying device.
6702
6703 PARAMETERS
6704
6705 IN
6706 wdiStatus: response status received from HAL
6707 pUserData: user data
6708
6709
6710
6711 RETURN VALUE
6712 The result code associated with performing the operation
6713---------------------------------------------------------------------------*/
6714typedef void (*WDI_SetBeaconFilterCb)(WDI_Status wdiStatus,
6715 void* pUserData);
6716
6717/*---------------------------------------------------------------------------
6718 WDI_RemBeaconFilterCb
6719
6720 DESCRIPTION
6721
6722 This callback is invoked by DAL when it has received a remove beacon filter
6723 response from the underlying device.
6724
6725 PARAMETERS
6726
6727 IN
6728 wdiStatus: response status received from HAL
6729 pUserData: user data
6730
6731
6732
6733 RETURN VALUE
6734 The result code associated with performing the operation
6735---------------------------------------------------------------------------*/
6736typedef void (*WDI_RemBeaconFilterCb)(WDI_Status wdiStatus,
6737 void* pUserData);
6738
6739/*---------------------------------------------------------------------------
6740 WDI_SetRSSIThresholdsCb
6741
6742 DESCRIPTION
6743
6744 This callback is invoked by DAL when it has received a set RSSI thresholds
6745 response from the underlying device.
6746
6747 PARAMETERS
6748
6749 IN
6750 wdiStatus: response status received from HAL
6751 pUserData: user data
6752
6753
6754
6755 RETURN VALUE
6756 The result code associated with performing the operation
6757---------------------------------------------------------------------------*/
6758typedef void (*WDI_SetRSSIThresholdsCb)(WDI_Status wdiStatus,
6759 void* pUserData);
6760
6761/*---------------------------------------------------------------------------
6762 WDI_HostOffloadCb
6763
6764 DESCRIPTION
6765
6766 This callback is invoked by DAL when it has received a host offload
6767 response from the underlying device.
6768
6769 PARAMETERS
6770
6771 IN
6772 wdiStatus: response status received from HAL
6773 pUserData: user data
6774
6775
6776
6777 RETURN VALUE
6778 The result code associated with performing the operation
6779---------------------------------------------------------------------------*/
6780typedef void (*WDI_HostOffloadCb)(WDI_Status wdiStatus,
6781 void* pUserData);
6782
6783/*---------------------------------------------------------------------------
6784 WDI_KeepAliveCb
6785
6786 DESCRIPTION
6787
6788 This callback is invoked by DAL when it has received a Keep Alive
6789 response from the underlying device.
6790
6791 PARAMETERS
6792
6793 IN
6794 wdiStatus: response status received from HAL
6795 pUserData: user data
6796
6797
6798
6799 RETURN VALUE
6800 The result code associated with performing the operation
6801---------------------------------------------------------------------------*/
6802typedef void (*WDI_KeepAliveCb)(WDI_Status wdiStatus,
6803 void* pUserData);
6804
6805/*---------------------------------------------------------------------------
6806 WDI_WowlAddBcPtrnCb
6807
6808 DESCRIPTION
6809
6810 This callback is invoked by DAL when it has received a Wowl add Bcast ptrn
6811 response from the underlying device.
6812
6813 PARAMETERS
6814
6815 IN
6816 wdiStatus: response status received from HAL
6817 pUserData: user data
6818
6819
6820
6821 RETURN VALUE
6822 The result code associated with performing the operation
6823---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006824typedef void (*WDI_WowlAddBcPtrnCb)( WDI_WowlAddBcPtrnRspParamsType *pwdiWowlAddBcPtrnParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07006825 void* pUserData);
6826
6827/*---------------------------------------------------------------------------
6828 WDI_WowlDelBcPtrnCb
6829
6830 DESCRIPTION
6831
6832 This callback is invoked by DAL when it has received a Wowl delete Bcast ptrn
6833 response from the underlying device.
6834
6835 PARAMETERS
6836
6837 IN
6838 wdiStatus: response status received from HAL
6839 pUserData: user data
6840
6841
6842
6843 RETURN VALUE
6844 The result code associated with performing the operation
6845---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006846typedef void (*WDI_WowlDelBcPtrnCb)( WDI_WowlDelBcPtrnRspParamsType *pwdiWowlDelBcstPtrRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006847 void* pUserData);
6848
6849/*---------------------------------------------------------------------------
6850 WDI_WowlEnterReqCb
6851
6852 DESCRIPTION
6853
6854 This callback is invoked by DAL when it has received a Wowl enter
6855 response from the underlying device.
6856
6857 PARAMETERS
6858
6859 IN
6860 wdiStatus: response status received from HAL
6861 pUserData: user data
6862
6863
6864
6865 RETURN VALUE
6866 The result code associated with performing the operation
6867---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006868typedef void (*WDI_WowlEnterReqCb)( WDI_WowlEnterRspParamsType *pwdiwowlEnterRsp,
6869 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006870
6871/*---------------------------------------------------------------------------
6872 WDI_WowlExitReqCb
6873
6874 DESCRIPTION
6875
6876 This callback is invoked by DAL when it has received a Wowl exit
6877 response from the underlying device.
6878
6879 PARAMETERS
6880
6881 IN
6882 wdiStatus: response status received from HAL
6883 pUserData: user data
6884
6885
6886
6887 RETURN VALUE
6888 The result code associated with performing the operation
6889---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006890typedef void (*WDI_WowlExitReqCb)( WDI_WowlExitRspParamsType *pwdiWowlExitRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006891 void* pUserData);
6892
6893/*---------------------------------------------------------------------------
6894 WDI_ConfigureAppsCpuWakeupStateCb
6895
6896 DESCRIPTION
6897
6898 This callback is invoked by DAL when it has received a config Apps Cpu Wakeup
6899 State response from the underlying device.
6900
6901 PARAMETERS
6902
6903 IN
6904 wdiStatus: response status received from HAL
6905 pUserData: user data
6906
6907
6908
6909 RETURN VALUE
6910 The result code associated with performing the operation
6911---------------------------------------------------------------------------*/
6912typedef void (*WDI_ConfigureAppsCpuWakeupStateCb)(WDI_Status wdiStatus,
6913 void* pUserData);
6914/*---------------------------------------------------------------------------
6915 WDI_NvDownloadRspCb
6916
6917 DESCRIPTION
6918
6919 This callback is invoked by DAL when it has received a NV Download response
6920 from the underlying device.
6921
6922 PARAMETERS
6923
6924 IN
6925 wdiStatus:response status received from HAL
6926 pUserData:user data
6927
6928 RETURN VALUE
6929 The result code associated with performing the operation
6930---------------------------------------------------------------------------*/
6931typedef void (*WDI_NvDownloadRspCb)(WDI_NvDownloadRspInfoType* wdiNvDownloadRsp,
6932 void* pUserData);
6933/*---------------------------------------------------------------------------
6934 WDI_FlushAcRspCb
6935
6936 DESCRIPTION
6937
6938 This callback is invoked by DAL when it has received a Flush AC response from
6939 the underlying device.
6940
6941 PARAMETERS
6942
6943 IN
6944 wdiStatus: response status received from HAL
6945 pUserData: user data
6946
6947
6948
6949 RETURN VALUE
6950 The result code associated with performing the operation
6951---------------------------------------------------------------------------*/
6952typedef void (*WDI_FlushAcRspCb)(WDI_Status wdiStatus,
6953 void* pUserData);
6954
6955/*---------------------------------------------------------------------------
6956 WDI_BtAmpEventRspCb
6957
6958 DESCRIPTION
6959
6960 This callback is invoked by DAL when it has received a Bt AMP event response
6961 from the underlying device.
6962
6963 PARAMETERS
6964
6965 IN
6966 wdiStatus: response status received from HAL
6967 pUserData: user data
6968
6969
6970
6971 RETURN VALUE
6972 The result code associated with performing the operation
6973---------------------------------------------------------------------------*/
6974typedef void (*WDI_BtAmpEventRspCb)(WDI_Status wdiStatus,
6975 void* pUserData);
6976
Jeff Johnsone7245742012-09-05 17:12:55 -07006977#ifdef FEATURE_OEM_DATA_SUPPORT
6978/*---------------------------------------------------------------------------
6979 WDI_oemDataRspCb
6980
6981 DESCRIPTION
6982
6983 This callback is invoked by DAL when it has received a Start oem data response from
6984 the underlying device.
6985
6986 PARAMETERS
6987
6988 IN
6989 wdiStatus: response status received from HAL
6990 pUserData: user data
6991
6992
6993
6994 RETURN VALUE
6995 The result code associated with performing the operation
6996---------------------------------------------------------------------------*/
6997typedef void (*WDI_oemDataRspCb)(WDI_oemDataRspParamsType* wdiOemDataRspParams,
6998 void* pUserData);
6999
7000#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07007001
7002/*---------------------------------------------------------------------------
7003 WDI_HostResumeEventRspCb
7004
7005 DESCRIPTION
7006
7007 This callback is invoked by DAL when it has received a Bt AMP event response
7008 from the underlying device.
7009
7010 PARAMETERS
7011
7012 IN
7013 wdiStatus: response status received from HAL
7014 pUserData: user data
7015
7016
7017
7018 RETURN VALUE
7019 The result code associated with performing the operation
7020---------------------------------------------------------------------------*/
7021typedef void (*WDI_HostResumeEventRspCb)(
7022 WDI_SuspendResumeRspParamsType *resumeRspParams,
7023 void* pUserData);
7024
7025
7026#ifdef WLAN_FEATURE_VOWIFI_11R
7027/*---------------------------------------------------------------------------
7028 WDI_AggrAddTsRspCb
7029
7030 DESCRIPTION
7031
7032 This callback is invoked by DAL when it has received a Aggregated Add TS
7033 response from the underlying device.
7034
7035 PARAMETERS
7036
7037 IN
7038 wdiStatus: response status received from HAL
7039 pUserData: user data
7040
7041
7042
7043 RETURN VALUE
7044 The result code associated with performing the operation
7045---------------------------------------------------------------------------*/
7046typedef void (*WDI_AggrAddTsRspCb)(WDI_Status wdiStatus,
7047 void* pUserData);
7048#endif /* WLAN_FEATURE_VOWIFI_11R */
7049
Jeff Johnson295189b2012-06-20 16:38:30 -07007050/*---------------------------------------------------------------------------
7051 WDI_FTMCommandRspCb
7052
7053 DESCRIPTION
7054
7055 FTM Command response CB
7056
7057 PARAMETERS
7058
7059 IN
7060 ftmCMDRspdata: FTM response data from HAL
7061 pUserData: user data
7062
7063
7064 RETURN VALUE
7065 NONE
7066---------------------------------------------------------------------------*/
7067typedef void (*WDI_FTMCommandRspCb)(void *ftmCMDRspdata,
7068 void *pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007069
7070/*---------------------------------------------------------------------------
7071 WDI_AddSTASelfParamsRspCb
7072
7073 DESCRIPTION
7074
7075 This callback is invoked by DAL when it has received a Add Sta Self Params
7076 response from the underlying device.
7077
7078 PARAMETERS
7079
7080 IN
7081 wdiAddSelfSTARsp: response status received from HAL
7082 pUserData: user data
7083
7084
7085
7086 RETURN VALUE
7087 The result code associated with performing the operation
7088---------------------------------------------------------------------------*/
7089typedef void (*WDI_AddSTASelfParamsRspCb)(
7090 WDI_AddSTASelfRspParamsType* pwdiAddSelfSTARsp,
7091 void* pUserData);
7092
7093
7094/*---------------------------------------------------------------------------
7095 WDI_DelSTASelfRspCb
7096
7097 DESCRIPTION
7098
7099 This callback is invoked by DAL when it has received a host offload
7100 response from the underlying device.
7101
7102 PARAMETERS
7103
7104 IN
7105 wdiStatus: response status received from HAL
7106 pUserData: user data
7107
7108
7109
7110 RETURN VALUE
7111 The result code associated with performing the operation
7112---------------------------------------------------------------------------*/
7113typedef void (*WDI_DelSTASelfRspCb)
7114(
7115WDI_DelSTASelfRspParamsType* wdiDelStaSelfRspParams,
7116void* pUserData
7117);
7118
7119#ifdef FEATURE_WLAN_SCAN_PNO
7120/*---------------------------------------------------------------------------
7121 WDI_PNOScanCb
7122
7123 DESCRIPTION
7124
7125 This callback is invoked by DAL when it has received a Set PNO
7126 response from the underlying device.
7127
7128 PARAMETERS
7129
7130 IN
7131 wdiStatus: response status received from HAL
7132 pUserData: user data
7133
7134
7135
7136 RETURN VALUE
7137 The result code associated with performing the operation
7138---------------------------------------------------------------------------*/
7139typedef void (*WDI_PNOScanCb)(WDI_Status wdiStatus,
7140 void* pUserData);
7141
7142/*---------------------------------------------------------------------------
7143 WDI_PNOScanCb
7144
7145 DESCRIPTION
7146
7147 This callback is invoked by DAL when it has received a Set PNO
7148 response from the underlying device.
7149
7150 PARAMETERS
7151
7152 IN
7153 wdiStatus: response status received from HAL
7154 pUserData: user data
7155
7156
7157
7158 RETURN VALUE
7159 The result code associated with performing the operation
7160---------------------------------------------------------------------------*/
7161typedef void (*WDI_RssiFilterCb)(WDI_Status wdiStatus,
7162 void* pUserData);
7163
7164/*---------------------------------------------------------------------------
7165 WDI_UpdateScanParamsCb
7166
7167 DESCRIPTION
7168
7169 This callback is invoked by DAL when it has received a Update Scan Params
7170 response from the underlying device.
7171
7172 PARAMETERS
7173
7174 IN
7175 wdiStatus: response status received from HAL
7176 pUserData: user data
7177
7178
7179
7180 RETURN VALUE
7181 The result code associated with performing the operation
7182---------------------------------------------------------------------------*/
7183typedef void (*WDI_UpdateScanParamsCb)(WDI_Status wdiStatus,
7184 void* pUserData);
7185#endif // FEATURE_WLAN_SCAN_PNO
7186
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08007187typedef void (*WDI_UpdateChannelRspCb)(WDI_Status wdiStatus,
7188 void* pUserData);
7189
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07007190#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
7191/*---------------------------------------------------------------------------
7192 WDI_RoamOffloadScanCb
7193
7194 DESCRIPTION
7195
7196 This callback is invoked by DAL when it has received a Start Roam Candidate Lookup Req
7197 response from the underlying device.
7198
7199 PARAMETERS
7200
7201 IN
7202 wdiStatus: response status received from HAL
7203 pUserData: user data
7204
7205
7206
7207 RETURN VALUE
7208 The result code associated with performing the operation
7209---------------------------------------------------------------------------*/
7210typedef void (*WDI_RoamOffloadScanCb)(WDI_Status wdiStatus,
7211 void* pUserData);
7212
7213#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07007214/*---------------------------------------------------------------------------
7215 WDI_SetTxPerTrackingRspCb
7216
7217 DESCRIPTION
7218
7219 This callback is invoked by DAL when it has received a Tx PER Tracking
7220 response from the underlying device.
7221
7222 PARAMETERS
7223
7224 IN
7225 wdiStatus: response status received from HAL
7226 pUserData: user data
7227
7228
7229
7230 RETURN VALUE
7231 The result code associated with performing the operation
7232---------------------------------------------------------------------------*/
7233typedef void (*WDI_SetTxPerTrackingRspCb)(WDI_Status wdiStatus,
7234 void* pUserData);
7235
7236#ifdef WLAN_FEATURE_PACKET_FILTERING
7237/*---------------------------------------------------------------------------
7238 WDI_8023MulticastListCb
7239
7240 DESCRIPTION
7241
7242 This callback is invoked by DAL when it has received a 8023 Multicast List
7243 response from the underlying device.
7244
7245 PARAMETERS
7246
7247 IN
7248 wdiStatus: response status received from HAL
7249 pUserData: user data
7250
7251
7252
7253 RETURN VALUE
7254 The result code associated with performing the operation
7255---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007256typedef void (*WDI_8023MulticastListCb)(
7257 WDI_RcvFltPktSetMcListRspParamsType *pwdiRcvFltPktSetMcListRspInfo,
7258 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007259
7260/*---------------------------------------------------------------------------
7261 WDI_ReceiveFilterSetFilterCb
7262
7263 DESCRIPTION
7264
7265 This callback is invoked by DAL when it has received a Receive Filter Set Filter
7266 response from the underlying device.
7267
7268 PARAMETERS
7269
7270 IN
7271 wdiStatus: response status received from HAL
7272 pUserData: user data
7273
7274
7275
7276 RETURN VALUE
7277 The result code associated with performing the operation
7278---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007279typedef void (*WDI_ReceiveFilterSetFilterCb)(
7280 WDI_SetRcvPktFilterRspParamsType *pwdiSetRcvPktFilterRspInfo,
7281 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007282
7283/*---------------------------------------------------------------------------
7284 WDI_FilterMatchCountCb
7285
7286 DESCRIPTION
7287
7288 This callback is invoked by DAL when it has received a Do PC Filter Match Count
7289 response from the underlying device.
7290
7291 PARAMETERS
7292
7293 IN
7294 wdiStatus: response status received from HAL
7295 pUserData: user data
7296
7297
7298
7299 RETURN VALUE
7300 The result code associated with performing the operation
7301---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007302typedef void (*WDI_FilterMatchCountCb)(
7303 WDI_RcvFltPktMatchCntRspParamsType *pwdiRcvFltPktMatchRspParams,
7304 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007305
7306/*---------------------------------------------------------------------------
7307 WDI_ReceiveFilterClearFilterCb
7308
7309 DESCRIPTION
7310
7311 This callback is invoked by DAL when it has received a Receive Filter Clear Filter
7312 response from the underlying device.
7313
7314 PARAMETERS
7315
7316 IN
7317 wdiStatus: response status received from HAL
7318 pUserData: user data
7319
7320
7321
7322 RETURN VALUE
7323 The result code associated with performing the operation
7324---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007325typedef void (*WDI_ReceiveFilterClearFilterCb)(
7326 WDI_RcvFltPktClearRspParamsType *pwdiRcvFltPktClearRspParamsType,
7327 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007328#endif // WLAN_FEATURE_PACKET_FILTERING
7329
7330/*---------------------------------------------------------------------------
7331 WDI_HALDumpCmdRspCb
7332
7333 DESCRIPTION
7334
7335 This callback is invoked by DAL when it has received a HAL DUMP Command
7336response from
7337 the HAL layer.
7338
7339 PARAMETERS
7340
7341 IN
7342 wdiHalDumpCmdRsp: response status received from HAL
7343 pUserData: user data
7344
7345
7346
7347 RETURN VALUE
7348 The result code associated with performing the operation
7349---------------------------------------------------------------------------*/
7350typedef void (*WDI_HALDumpCmdRspCb)(WDI_HALDumpCmdRspParamsType* wdiHalDumpCmdRsp,
7351 void* pUserData);
7352
7353/*---------------------------------------------------------------------------
7354 WDI_SetPowerParamsCb
7355
7356 DESCRIPTION
7357
7358 This callback is invoked by DAL when it has received a Set Power Param
7359 response from the underlying device.
7360
7361 PARAMETERS
7362
7363 IN
7364 wdiStatus: response status received from HAL
7365 pUserData: user data
7366
7367
7368
7369 RETURN VALUE
7370 The result code associated with performing the operation
7371---------------------------------------------------------------------------*/
7372typedef void (*WDI_SetPowerParamsCb)(WDI_Status wdiStatus,
7373 void* pUserData);
7374
7375#ifdef WLAN_FEATURE_GTK_OFFLOAD
7376/*---------------------------------------------------------------------------
7377 WDI_GtkOffloadCb
7378
7379 DESCRIPTION
7380
7381 This callback is invoked by DAL when it has received a GTK offload
7382 response from the underlying device.
7383
7384 PARAMETERS
7385
7386 IN
7387 wdiStatus: response status received from HAL
7388 pUserData: user data
7389
7390
7391
7392 RETURN VALUE
7393 The result code associated with performing the operation
7394---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007395typedef void (*WDI_GtkOffloadCb)( WDI_GtkOffloadRspParams *pwdiGtkOffloadRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007396 void* pUserData);
7397
7398/*---------------------------------------------------------------------------
7399 WDI_GtkOffloadGetInfoCb
7400
7401 DESCRIPTION
7402
7403 This callback is invoked by DAL when it has received a GTK offload
7404 information response from the underlying device.
7405
7406 PARAMETERS
7407
7408 IN
7409 wdiStatus: response status received from HAL
7410 pUserData: user data
7411
7412
7413
7414 RETURN VALUE
7415 The result code associated with performing the operation
7416---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007417typedef void (*WDI_GtkOffloadGetInfoCb)( WDI_GtkOffloadGetInfoRspParams *pwdiGtkOffloadGetInfoRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007418 void* pUserData);
7419#endif // WLAN_FEATURE_GTK_OFFLOAD
7420
7421/*---------------------------------------------------------------------------
7422 WDI_SetTmLevelCb
7423
7424 DESCRIPTION
7425
7426 This callback is invoked by DAL when it has received a Set New TM Level
7427 done response from the underlying device.
7428
7429 PARAMETERS
7430
7431 IN
7432 wdiStatus: response status received from HAL
7433 pUserData: user data
7434
7435
7436
7437 RETURN VALUE
7438 The result code associated with performing the operation
7439---------------------------------------------------------------------------*/
7440typedef void (*WDI_SetTmLevelCb)(WDI_Status wdiStatus,
7441 void* pUserData);
7442
7443/*---------------------------------------------------------------------------
7444 WDI_featureCapsExchangeCb
7445
7446 DESCRIPTION
7447
7448 This callback is invoked by DAL when it has received a HAL Feature Capbility
7449 Exchange Response the HAL layer. This callback is put to mantain code
7450 similarity and is not being used right now.
7451
7452 PARAMETERS
7453
7454 IN
7455 wdiFeatCapRspParams: response parameters received from HAL
7456 pUserData: user data
7457
7458 RETURN VALUE
7459 The result code associated with performing the operation
7460---------------------------------------------------------------------------*/
7461typedef void (*WDI_featureCapsExchangeCb)(void* wdiFeatCapRspParams,
7462 void* pUserData);
7463
Mohit Khanna4a70d262012-09-11 16:30:12 -07007464#ifdef WLAN_FEATURE_11AC
7465typedef void (*WDI_UpdateVHTOpModeCb)(WDI_Status wdiStatus,
7466 void* pUserData);
7467#endif
7468
Leo Chang9056f462013-08-01 19:21:11 -07007469#ifdef FEATURE_WLAN_LPHB
7470typedef void (*WDI_LphbCfgCb)(WDI_Status wdiStatus,
7471 void* pUserData);
7472#endif /* FEATURE_WLAN_LPHB */
Mohit Khanna4a70d262012-09-11 16:30:12 -07007473
Rajeev79dbe4c2013-10-05 11:03:42 +05307474#ifdef FEATURE_WLAN_BATCH_SCAN
7475/*---------------------------------------------------------------------------
7476 WDI_SetBatchScanCb
7477
7478 DESCRIPTION
7479
7480 This callback is invoked by DAL when it has received a get batch scan
7481 response from the underlying device.
7482
7483 PARAMETERS
7484
7485 IN
7486 wdiStatus: response status received from HAL
7487 pUserData: user data
7488
7489
7490
7491 RETURN VALUE
7492 The result code associated with performing the operation
7493---------------------------------------------------------------------------*/
7494typedef void (*WDI_SetBatchScanCb)(void *pData, WDI_SetBatchScanRspType *pRsp);
7495
7496#endif
7497
c_hpothu92367912014-05-01 15:18:17 +05307498typedef void (*WDI_GetBcnMissRateCb)(wpt_uint8 status, wpt_uint32 bcnMissRate,
7499 void* pUserData);
Rajeev79dbe4c2013-10-05 11:03:42 +05307500
Sunil Duttbd736ed2014-05-26 21:19:41 +05307501
7502#ifdef WLAN_FEATURE_LINK_LAYER_STATS
7503typedef void (*WDI_LLStatsSetRspCb)(void *pEventData,
7504 void *pUserData);
7505typedef void (*WDI_LLStatsGetRspCb)(void *pEventData,
7506 void *pUserData);
7507typedef void (*WDI_LLStatsClearRspCb)(void *pEventData,
7508 void *pUserData);
7509#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
Jeff Johnson295189b2012-06-20 16:38:30 -07007510/*========================================================================
7511 * Function Declarations and Documentation
7512 ==========================================================================*/
7513
7514/*========================================================================
7515
7516 INITIALIZATION APIs
7517
7518==========================================================================*/
7519
7520/**
7521 @brief WDI_Init is used to initialize the DAL.
7522
7523 DAL will allocate all the resources it needs. It will open PAL, it will also
7524 open both the data and the control transport which in their turn will open
7525 DXE/SMD or any other drivers that they need.
7526
Arun Kumar Khandavalliebb19482014-03-25 13:56:53 +05307527 @param devHandle: pointer to the OS specific device handle
Jeff Johnson295189b2012-06-20 16:38:30 -07007528 ppWDIGlobalCtx: output pointer of Global Context
7529 pWdiDevCapability: output pointer of device capability
7530
7531 @return Result of the function call
7532*/
7533WDI_Status
7534WDI_Init
7535(
Arun Kumar Khandavalliebb19482014-03-25 13:56:53 +05307536 void* devHandle,
Jeff Johnson295189b2012-06-20 16:38:30 -07007537 void** ppWDIGlobalCtx,
7538 WDI_DeviceCapabilityType* pWdiDevCapability,
7539 unsigned int driverType
7540);
7541
7542/**
7543 @brief WDI_Start will be called when the upper MAC is ready to
7544 commence operation with the WLAN Device. Upon the call
7545 of this API the WLAN DAL will pack and send a HAL Start
7546 message to the lower RIVA sub-system if the SMD channel
7547 has been fully opened and the RIVA subsystem is up.
7548
7549 If the RIVA sub-system is not yet up and running DAL
7550 will queue the request for Open and will wait for the
7551 SMD notification before attempting to send down the
7552 message to HAL.
7553
7554 WDI_Init must have been called.
7555
7556 @param wdiStartParams: the start parameters as specified by
7557 the Device Interface
7558
7559 wdiStartRspCb: callback for passing back the response of
7560 the start operation received from the device
7561
7562 pUserData: user data will be passed back with the
7563 callback
7564
7565 @see WDI_Start
7566 @return Result of the function call
7567*/
7568WDI_Status
7569WDI_Start
7570(
7571 WDI_StartReqParamsType* pwdiStartParams,
7572 WDI_StartRspCb wdiStartRspCb,
7573 void* pUserData
7574);
7575
7576
7577/**
7578 @brief WDI_Stop will be called when the upper MAC is ready to
7579 stop any operation with the WLAN Device. Upon the call
7580 of this API the WLAN DAL will pack and send a HAL Stop
7581 message to the lower RIVA sub-system if the DAL Core is
7582 in started state.
7583
7584 In state BUSY this request will be queued.
7585
7586 Request will not be accepted in any other state.
7587
7588 WDI_Start must have been called.
7589
7590 @param wdiStopParams: the stop parameters as specified by
7591 the Device Interface
7592
7593 wdiStopRspCb: callback for passing back the response of
7594 the stop operation received from the device
7595
7596 pUserData: user data will be passed back with the
7597 callback
7598
7599 @see WDI_Start
7600 @return Result of the function call
7601*/
7602WDI_Status
7603WDI_Stop
7604(
7605 WDI_StopReqParamsType* pwdiStopParams,
7606 WDI_StopRspCb wdiStopRspCb,
7607 void* pUserData
7608);
7609
7610/**
7611 @brief WDI_Close will be called when the upper MAC no longer
7612 needs to interract with DAL. DAL will free its control
7613 block.
7614
7615 It is only accepted in state STOPPED.
7616
7617 WDI_Stop must have been called.
7618
7619 @param none
7620
7621 @see WDI_Stop
7622 @return Result of the function call
7623*/
7624WDI_Status
7625WDI_Close
7626(
7627 void
7628);
7629
7630
7631/**
7632 @brief WDI_Shutdown will be called during 'SSR shutdown' operation.
7633 This will do most of the WDI stop & close
7634 operations without doing any handshake with Riva
7635
7636 This will also make sure that the control transport
7637 will NOT be closed.
7638
7639 This request will not be queued.
7640
7641
7642 WDI_Start must have been called.
7643
7644 @param closeTransport: Close control channel if this is set
7645
7646 @return Result of the function call
7647*/
7648WDI_Status
7649WDI_Shutdown
7650(
7651 wpt_boolean closeTransport
7652);
7653
7654/*========================================================================
7655
7656 SCAN APIs
7657
7658==========================================================================*/
7659
7660/**
7661 @brief WDI_InitScanReq will be called when the upper MAC wants
7662 the WLAN Device to get ready for a scan procedure. Upon
7663 the call of this API the WLAN DAL will pack and send a
7664 HAL Init Scan request message to the lower RIVA
7665 sub-system if DAL is in state STARTED.
7666
7667 In state BUSY this request will be queued. Request won't
7668 be allowed in any other state.
7669
7670 WDI_Start must have been called.
7671
7672 @param wdiInitScanParams: the init scan parameters as specified
7673 by the Device Interface
7674
7675 wdiInitScanRspCb: callback for passing back the response
7676 of the init scan operation received from the device
7677
7678 pUserData: user data will be passed back with the
7679 callback
7680
7681 @see WDI_Start
7682 @return Result of the function call
7683*/
7684WDI_Status
7685WDI_InitScanReq
7686(
7687 WDI_InitScanReqParamsType* pwdiInitScanParams,
7688 WDI_InitScanRspCb wdiInitScanRspCb,
7689 void* pUserData
7690);
7691
7692/**
7693 @brief WDI_StartScanReq will be called when the upper MAC
7694 wishes to change the Scan channel on the WLAN Device.
7695 Upon the call of this API the WLAN DAL will pack and
7696 send a HAL Start Scan request message to the lower RIVA
7697 sub-system if DAL is in state STARTED.
7698
7699 In state BUSY this request will be queued. Request won't
7700 be allowed in any other state.
7701
7702 WDI_InitScanReq must have been called.
7703
7704 @param wdiStartScanParams: the start scan parameters as
7705 specified by the Device Interface
7706
7707 wdiStartScanRspCb: callback for passing back the
7708 response of the start scan operation received from the
7709 device
7710
7711 pUserData: user data will be passed back with the
7712 callback
7713
7714 @see WDI_InitScanReq
7715 @return Result of the function call
7716*/
7717WDI_Status
7718WDI_StartScanReq
7719(
7720 WDI_StartScanReqParamsType* pwdiStartScanParams,
7721 WDI_StartScanRspCb wdiStartScanRspCb,
7722 void* pUserData
7723);
7724
7725
7726/**
7727 @brief WDI_EndScanReq will be called when the upper MAC is
7728 wants to end scanning for a particular channel that it
7729 had set before by calling Scan Start on the WLAN Device.
7730 Upon the call of this API the WLAN DAL will pack and
7731 send a HAL End Scan request message to the lower RIVA
7732 sub-system if DAL is in state STARTED.
7733
7734 In state BUSY this request will be queued. Request won't
7735 be allowed in any other state.
7736
7737 WDI_StartScanReq must have been called.
7738
7739 @param wdiEndScanParams: the end scan parameters as specified
7740 by the Device Interface
7741
7742 wdiEndScanRspCb: callback for passing back the response
7743 of the end scan operation received from the device
7744
7745 pUserData: user data will be passed back with the
7746 callback
7747
7748 @see WDI_StartScanReq
7749 @return Result of the function call
7750*/
7751WDI_Status
7752WDI_EndScanReq
7753(
7754 WDI_EndScanReqParamsType* pwdiEndScanParams,
7755 WDI_EndScanRspCb wdiEndScanRspCb,
7756 void* pUserData
7757);
7758
7759
7760/**
7761 @brief WDI_FinishScanReq will be called when the upper MAC has
7762 completed the scan process on the WLAN Device. Upon the
7763 call of this API the WLAN DAL will pack and send a HAL
7764 Finish Scan Request request message to the lower RIVA
7765 sub-system if DAL is in state STARTED.
7766
7767 In state BUSY this request will be queued. Request won't
7768 be allowed in any other state.
7769
7770 WDI_InitScanReq must have been called.
7771
7772 @param wdiFinishScanParams: the finish scan parameters as
7773 specified by the Device Interface
7774
7775 wdiFinishScanRspCb: callback for passing back the
7776 response of the finish scan operation received from the
7777 device
7778
7779 pUserData: user data will be passed back with the
7780 callback
7781
7782 @see WDI_InitScanReq
7783 @return Result of the function call
7784*/
7785WDI_Status
7786WDI_FinishScanReq
7787(
7788 WDI_FinishScanReqParamsType* pwdiFinishScanParams,
7789 WDI_FinishScanRspCb wdiFinishScanRspCb,
7790 void* pUserData
7791);
7792
7793/*========================================================================
7794
7795 ASSOCIATION APIs
7796
7797==========================================================================*/
7798
7799/**
7800 @brief WDI_JoinReq will be called when the upper MAC is ready
7801 to start an association procedure to a BSS. Upon the
7802 call of this API the WLAN DAL will pack and send a HAL
7803 Join request message to the lower RIVA sub-system if
7804 DAL is in state STARTED.
7805
7806 In state BUSY this request will be queued. Request won't
7807 be allowed in any other state.
7808
7809 WDI_Start must have been called.
7810
7811 @param wdiJoinParams: the join parameters as specified by
7812 the Device Interface
7813
7814 wdiJoinRspCb: callback for passing back the response of
7815 the join operation received from the device
7816
7817 pUserData: user data will be passed back with the
7818 callback
7819
7820 @see WDI_Start
7821 @return Result of the function call
7822*/
7823WDI_Status
7824WDI_JoinReq
7825(
7826 WDI_JoinReqParamsType* pwdiJoinParams,
7827 WDI_JoinRspCb wdiJoinRspCb,
7828 void* pUserData
7829);
7830
7831/**
7832 @brief WDI_ConfigBSSReq will be called when the upper MAC
7833 wishes to configure the newly acquired or in process of
7834 being acquired BSS to the HW . Upon the call of this API
7835 the WLAN DAL will pack and send a HAL Config BSS request
7836 message to the lower RIVA sub-system if DAL is in state
7837 STARTED.
7838
7839 In state BUSY this request will be queued. Request won't
7840 be allowed in any other state.
7841
7842 WDI_JoinReq must have been called.
7843
7844 @param wdiConfigBSSParams: the config BSS parameters as
7845 specified by the Device Interface
7846
7847 wdiConfigBSSRspCb: callback for passing back the
7848 response of the config BSS operation received from the
7849 device
7850
7851 pUserData: user data will be passed back with the
7852 callback
7853
7854 @see WDI_JoinReq
7855 @return Result of the function call
7856*/
7857WDI_Status
7858WDI_ConfigBSSReq
7859(
7860 WDI_ConfigBSSReqParamsType* pwdiConfigBSSParams,
7861 WDI_ConfigBSSRspCb wdiConfigBSSRspCb,
7862 void* pUserData
7863);
7864
7865/**
7866 @brief WDI_DelBSSReq will be called when the upper MAC is
7867 dissasociating from the BSS and wishes to notify HW.
7868 Upon the call of this API the WLAN DAL will pack and
7869 send a HAL Del BSS request message to the lower RIVA
7870 sub-system if DAL is in state STARTED.
7871
7872 In state BUSY this request will be queued. Request won't
7873 be allowed in any other state.
7874
7875 WDI_ConfigBSSReq or WDI_PostAssocReq must have been called.
7876
7877 @param wdiDelBSSParams: the del BSS parameters as specified by
7878 the Device Interface
7879
7880 wdiDelBSSRspCb: callback for passing back the response
7881 of the del bss operation received from the device
7882
7883 pUserData: user data will be passed back with the
7884 callback
7885
7886 @see WDI_ConfigBSSReq, WDI_PostAssocReq
7887 @return Result of the function call
7888*/
7889WDI_Status
7890WDI_DelBSSReq
7891(
7892 WDI_DelBSSReqParamsType* pwdiDelBSSParams,
7893 WDI_DelBSSRspCb wdiDelBSSRspCb,
7894 void* pUserData
7895);
7896
7897/**
7898 @brief WDI_PostAssocReq will be called when the upper MAC has
7899 associated to a BSS and wishes to configure HW for
7900 associated state. Upon the call of this API the WLAN DAL
7901 will pack and send a HAL Post Assoc request message to
7902 the lower RIVA sub-system if DAL is in state STARTED.
7903
7904 In state BUSY this request will be queued. Request won't
7905 be allowed in any other state.
7906
7907 WDI_JoinReq must have been called.
7908
7909 @param wdiPostAssocReqParams: the assoc parameters as specified
7910 by the Device Interface
7911
7912 wdiPostAssocRspCb: callback for passing back the
7913 response of the post assoc operation received from the
7914 device
7915
7916 pUserData: user data will be passed back with the
7917 callback
7918
7919 @see WDI_JoinReq
7920 @return Result of the function call
7921*/
7922WDI_Status
7923WDI_PostAssocReq
7924(
7925 WDI_PostAssocReqParamsType* pwdiPostAssocReqParams,
7926 WDI_PostAssocRspCb wdiPostAssocRspCb,
7927 void* pUserData
7928);
7929
7930/**
7931 @brief WDI_DelSTAReq will be called when the upper MAC when an
7932 association with another STA has ended and the station
7933 must be deleted from HW. Upon the call of this API the
7934 WLAN DAL will pack and send a HAL Del STA request
7935 message to the lower RIVA sub-system if DAL is in state
7936 STARTED.
7937
7938 In state BUSY this request will be queued. Request won't
7939 be allowed in any other state.
7940
7941 WDI_PostAssocReq must have been called.
7942
7943 @param wdiDelSTAParams: the Del STA parameters as specified by
7944 the Device Interface
7945
7946 wdiDelSTARspCb: callback for passing back the response
7947 of the del STA operation received from the device
7948
7949 pUserData: user data will be passed back with the
7950 callback
7951
7952 @see WDI_PostAssocReq
7953 @return Result of the function call
7954*/
7955WDI_Status
7956WDI_DelSTAReq
7957(
7958 WDI_DelSTAReqParamsType* pwdiDelSTAParams,
7959 WDI_DelSTARspCb wdiDelSTARspCb,
7960 void* pUserData
7961);
7962
7963/*========================================================================
7964
7965 SECURITY APIs
7966
7967==========================================================================*/
7968
7969/**
7970 @brief WDI_SetBSSKeyReq will be called when the upper MAC ito
7971 install a BSS encryption key on the HW. Upon the call of
7972 this API the WLAN DAL will pack and send a HAL Start
7973 request message to the lower RIVA sub-system if DAL is
7974 in state STARTED.
7975
7976 In state BUSY this request will be queued. Request won't
7977 be allowed in any other state.
7978
7979 WDI_PostAssocReq must have been called.
7980
7981 @param wdiSetBSSKeyParams: the BSS Key set parameters as
7982 specified by the Device Interface
7983
7984 wdiSetBSSKeyRspCb: callback for passing back the
7985 response of the set BSS Key operation received from the
7986 device
7987
7988 pUserData: user data will be passed back with the
7989 callback
7990
7991 @see WDI_PostAssocReq
7992 @return Result of the function call
7993*/
7994WDI_Status
7995WDI_SetBSSKeyReq
7996(
7997 WDI_SetBSSKeyReqParamsType* pwdiSetBSSKeyParams,
7998 WDI_SetBSSKeyRspCb wdiSetBSSKeyRspCb,
7999 void* pUserData
8000);
8001
8002
8003/**
8004 @brief WDI_RemoveBSSKeyReq will be called when the upper MAC to
8005 uninstall a BSS key from HW. Upon the call of this API
8006 the WLAN DAL will pack and send a HAL Remove BSS Key
8007 request message to the lower RIVA sub-system if DAL is
8008 in state STARTED.
8009
8010 In state BUSY this request will be queued. Request won't
8011 be allowed in any other state.
8012
8013 WDI_SetBSSKeyReq must have been called.
8014
8015 @param wdiRemoveBSSKeyParams: the remove BSS key parameters as
8016 specified by the Device Interface
8017
8018 wdiRemoveBSSKeyRspCb: callback for passing back the
8019 response of the remove BSS key operation received from
8020 the device
8021
8022 pUserData: user data will be passed back with the
8023 callback
8024
8025 @see WDI_SetBSSKeyReq
8026 @return Result of the function call
8027*/
8028WDI_Status
8029WDI_RemoveBSSKeyReq
8030(
8031 WDI_RemoveBSSKeyReqParamsType* pwdiRemoveBSSKeyParams,
8032 WDI_RemoveBSSKeyRspCb wdiRemoveBSSKeyRspCb,
8033 void* pUserData
8034);
8035
8036
8037/**
8038 @brief WDI_SetSTAKeyReq will be called when the upper MAC is
8039 ready to install a STA(ast) encryption key in HW. Upon
8040 the call of this API the WLAN DAL will pack and send a
8041 HAL Set STA Key request message to the lower RIVA
8042 sub-system if DAL is in state STARTED.
8043
8044 In state BUSY this request will be queued. Request won't
8045 be allowed in any other state.
8046
8047 WDI_PostAssocReq must have been called.
8048
8049 @param wdiSetSTAKeyParams: the set STA key parameters as
8050 specified by the Device Interface
8051
8052 wdiSetSTAKeyRspCb: callback for passing back the
8053 response of the set STA key operation received from the
8054 device
8055
8056 pUserData: user data will be passed back with the
8057 callback
8058
8059 @see WDI_PostAssocReq
8060 @return Result of the function call
8061*/
8062WDI_Status
8063WDI_SetSTAKeyReq
8064(
8065 WDI_SetSTAKeyReqParamsType* pwdiSetSTAKeyParams,
8066 WDI_SetSTAKeyRspCb wdiSetSTAKeyRspCb,
8067 void* pUserData
8068);
8069
8070
8071/**
8072 @brief WDI_RemoveSTAKeyReq will be called when the upper MAC
8073 wants to unistall a previously set STA key in HW. Upon
8074 the call of this API the WLAN DAL will pack and send a
8075 HAL Remove STA Key request message to the lower RIVA
8076 sub-system if 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 WDI_SetSTAKeyReq must have been called.
8082
8083 @param wdiRemoveSTAKeyParams: the remove STA key parameters as
8084 specified by the Device Interface
8085
8086 wdiRemoveSTAKeyRspCb: callback for passing back the
8087 response of the remove STA key operation received from
8088 the device
8089
8090 pUserData: user data will be passed back with the
8091 callback
8092
8093 @see WDI_SetSTAKeyReq
8094 @return Result of the function call
8095*/
8096WDI_Status
8097WDI_RemoveSTAKeyReq
8098(
8099 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTAKeyParams,
8100 WDI_RemoveSTAKeyRspCb wdiRemoveSTAKeyRspCb,
8101 void* pUserData
8102);
8103
8104/**
8105 @brief WDI_SetSTABcastKeyReq will be called when the upper MAC
8106 wants to install a STA Bcast encryption key on the HW.
8107 Upon the call of this API the WLAN DAL will pack and
8108 send a HAL Start request message to the lower RIVA
8109 sub-system if DAL is in state STARTED.
8110
8111 In state BUSY this request will be queued. Request won't
8112 be allowed in any other state.
8113
8114 WDI_PostAssocReq must have been called.
8115
8116 @param pwdiSetSTABcastKeyParams: the BSS Key set parameters as
8117 specified by the Device Interface
8118
8119 wdiSetSTABcastKeyRspCb: callback for passing back the
8120 response of the set BSS Key operation received from the
8121 device
8122
8123 pUserData: user data will be passed back with the
8124 callback
8125
8126 @see WDI_PostAssocReq
8127 @return Result of the function call
8128*/
8129WDI_Status
8130WDI_SetSTABcastKeyReq
8131(
8132 WDI_SetSTAKeyReqParamsType* pwdiSetSTABcastKeyParams,
8133 WDI_SetSTAKeyRspCb wdiSetSTABcastKeyRspCb,
8134 void* pUserData
8135);
8136
8137
8138/**
8139 @brief WDI_RemoveSTABcastKeyReq will be called when the upper
8140 MAC to uninstall a STA Bcast key from HW. Upon the call
8141 of this API the WLAN DAL will pack and send a HAL Remove
8142 STA Bcast Key request message to the lower RIVA
8143 sub-system if DAL is in state STARTED.
8144
8145 In state BUSY this request will be queued. Request won't
8146 be allowed in any other state.
8147
8148 WDI_SetSTABcastKeyReq must have been called.
8149
8150 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
8151 parameters as specified by the Device
8152 Interface
8153
8154 wdiRemoveSTABcastKeyRspCb: callback for passing back the
8155 response of the remove STA Bcast key operation received
8156 from the device
8157
8158 pUserData: user data will be passed back with the
8159 callback
8160
8161 @see WDI_SetSTABcastKeyReq
8162 @return Result of the function call
8163*/
8164WDI_Status
8165WDI_RemoveSTABcastKeyReq
8166(
8167 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTABcastKeyParams,
8168 WDI_RemoveSTAKeyRspCb wdiRemoveSTABcastKeyRspCb,
8169 void* pUserData
8170);
8171
schang86c22c42013-03-13 18:41:24 -07008172
8173/**
8174 @brief WDI_SetTxPowerReq will be called when the upper
8175 MAC wants to set Tx Power to HW.
8176 In state BUSY this request will be queued. Request won't
8177 be allowed in any other state.
8178
8179
8180 @param pwdiSetTxPowerParams: set TS Power parameters
8181 BSSID and target TX Power with dbm included
8182
8183 wdiReqStatusCb: callback for passing back the response
8184
8185 pUserData: user data will be passed back with the
8186 callback
8187
8188 @return Result of the function call
8189*/
8190WDI_Status
8191WDI_SetTxPowerReq
8192(
8193 WDI_SetTxPowerParamsType* pwdiSetTxPowerParams,
8194 WDA_SetTxPowerRspCb wdiReqStatusCb,
8195 void* pUserData
8196);
8197
Jeff Johnson295189b2012-06-20 16:38:30 -07008198/**
8199 @brief WDI_SetMaxTxPowerReq will be called when the upper
8200 MAC wants to set Max Tx Power to HW. Upon the
8201 call of this API the WLAN DAL will pack and send a HAL
8202 Remove STA Bcast Key request message to the lower RIVA
8203 sub-system if DAL is in state STARTED.
8204
8205 In state BUSY this request will be queued. Request won't
8206 be allowed in any other state.
8207
8208 WDI_SetSTABcastKeyReq must have been called.
8209
8210 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
8211 parameters as specified by the Device
8212 Interface
8213
8214 wdiRemoveSTABcastKeyRspCb: callback for passing back the
8215 response of the remove STA Bcast key operation received
8216 from the device
8217
8218 pUserData: user data will be passed back with the
8219 callback
8220
8221 @see WDI_SetMaxTxPowerReq
8222 @return Result of the function call
8223*/
8224WDI_Status
8225WDI_SetMaxTxPowerReq
8226(
8227 WDI_SetMaxTxPowerParamsType* pwdiSetMaxTxPowerParams,
8228 WDA_SetMaxTxPowerRspCb wdiReqStatusCb,
8229 void* pUserData
8230);
8231
Arif Hussaina5ebce02013-08-09 15:09:58 -07008232/**
8233 @brief WDI_SetMaxTxPowerPerBandReq will be called when the upper
8234 MAC wants to set Max Tx Power to HW for specific band. Upon the
8235 call of this API the WLAN DAL will pack and send a HAL
8236 Set Max Tx Power Per Band request message to the lower RIVA
8237 sub-system if DAL is in state STARTED.
8238
8239 In state BUSY this request will be queued. Request won't
8240 be allowed in any other state.
8241
8242
8243 @param WDI_SetMaxTxPowerPerBandParamsType: Max Tx Per Band Info
8244
8245 WDA_SetMaxTxPowerPerBandRspCb: This callback is invoked by DAL
8246 when it has received a set max Tx Power Per Band response from
8247 the underlying device.
8248
8249 pUserData: user data will be passed back with the
8250 callback
8251
8252 @see WDI_SetMaxTxPowerPerBandReq
8253 @return Result of the function call
8254*/
8255WDI_Status
8256WDI_SetMaxTxPowerPerBandReq
8257(
8258 WDI_SetMaxTxPowerPerBandParamsType* pwdiSetMaxTxPowerPerBandParams,
8259 WDA_SetMaxTxPowerPerBandRspCb wdiReqStatusCb,
8260 void* pUserData
8261);
8262
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08008263#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07008264/**
8265 @brief WDI_TSMStatsReq will be called by the upper MAC to fetch
8266 Traffic Stream metrics.
8267 In state BUSY this request will be queued. Request won't
8268 be allowed in any other state.
8269
8270 @param wdiAddTsReqParams: the add TS parameters as specified by
8271 the Device Interface
8272
8273 wdiAddTsRspCb: callback for passing back the response of
8274 the add TS operation received from the device
8275
8276 pUserData: user data will be passed back with the
8277 callback
8278
8279 @see WDI_PostAssocReq
8280 @return Result of the function call
8281*/
8282WDI_Status
8283WDI_TSMStatsReq
8284(
8285 WDI_TSMStatsReqParamsType* pwdiTsmStatsReqParams,
8286 WDI_TsmRspCb wdiTsmStatsRspCb,
8287 void* pUserData
8288);
8289
8290
8291#endif
8292
8293/*========================================================================
8294
8295 QoS and BA APIs
8296
8297==========================================================================*/
8298
8299/**
8300 @brief WDI_AddTSReq will be called when the upper MAC to inform
8301 the device of a successful add TSpec negotiation. HW
8302 needs to receive the TSpec Info from the UMAC in order
8303 to configure properly the QoS data traffic. Upon the
8304 call of this API the WLAN DAL will pack and send a HAL
8305 Add TS request message to the lower RIVA sub-system if
8306 DAL is in state STARTED.
8307
8308 In state BUSY this request will be queued. Request won't
8309 be allowed in any other state.
8310
8311 WDI_PostAssocReq must have been called.
8312
8313 @param wdiAddTsReqParams: the add TS parameters as specified by
8314 the Device Interface
8315
8316 wdiAddTsRspCb: callback for passing back the response of
8317 the add TS operation received from the device
8318
8319 pUserData: user data will be passed back with the
8320 callback
8321
8322 @see WDI_PostAssocReq
8323 @return Result of the function call
8324*/
8325WDI_Status
8326WDI_AddTSReq
8327(
8328 WDI_AddTSReqParamsType* pwdiAddTsReqParams,
8329 WDI_AddTsRspCb wdiAddTsRspCb,
8330 void* pUserData
8331);
8332
8333
8334
8335/**
8336 @brief WDI_DelTSReq will be called when the upper MAC has ended
8337 admission on a specific AC. This is to inform HW that
8338 QoS traffic parameters must be rest. Upon the call of
8339 this API the WLAN DAL will pack and send a HAL Del TS
8340 request message to the lower RIVA sub-system if DAL is
8341 in state STARTED.
8342
8343 In state BUSY this request will be queued. Request won't
8344 be allowed in any other state.
8345
8346 WDI_AddTSReq must have been called.
8347
8348 @param wdiDelTsReqParams: the del TS parameters as specified by
8349 the Device Interface
8350
8351 wdiDelTsRspCb: callback for passing back the response of
8352 the del TS operation received from the device
8353
8354 pUserData: user data will be passed back with the
8355 callback
8356
8357 @see WDI_AddTSReq
8358 @return Result of the function call
8359*/
8360WDI_Status
8361WDI_DelTSReq
8362(
8363 WDI_DelTSReqParamsType* pwdiDelTsReqParams,
8364 WDI_DelTsRspCb wdiDelTsRspCb,
8365 void* pUserData
8366);
8367
8368
8369
8370/**
8371 @brief WDI_UpdateEDCAParams will be called when the upper MAC
8372 wishes to update the EDCA parameters used by HW for QoS
8373 data traffic. Upon the call of this API the WLAN DAL
8374 will pack and send a HAL Update EDCA Params request
8375 message to the lower RIVA sub-system if DAL is in state
8376 STARTED.
8377
8378 In state BUSY this request will be queued. Request won't
8379 be allowed in any other state.
8380
8381 WDI_PostAssocReq must have been called.
8382
8383 @param wdiUpdateEDCAParams: the start parameters as specified
8384 by the Device Interface
8385
8386 wdiUpdateEDCAParamsRspCb: callback for passing back the
8387 response of the start operation received from the device
8388
8389 pUserData: user data will be passed back with the
8390 callback
8391
8392 @see WDI_PostAssocReq
8393 @return Result of the function call
8394*/
8395WDI_Status
8396WDI_UpdateEDCAParams
8397(
8398 WDI_UpdateEDCAParamsType* pwdiUpdateEDCAParams,
8399 WDI_UpdateEDCAParamsRspCb wdiUpdateEDCAParamsRspCb,
8400 void* pUserData
8401);
8402
8403
8404
8405/**
8406 @brief WDI_AddBASessionReq will be called when the upper MAC has setup
8407 successfully a BA session and needs to notify the HW for
8408 the appropriate settings to take place. Upon the call of
8409 this API the WLAN DAL will pack and send a HAL Add BA
8410 request message to the lower RIVA sub-system if DAL is
8411 in state STARTED.
8412
8413 In state BUSY this request will be queued. Request won't
8414 be allowed in any other state.
8415
8416 WDI_PostAssocReq must have been called.
8417
8418 @param wdiAddBAReqParams: the add BA parameters as specified by
8419 the Device Interface
8420
8421 wdiAddBARspCb: callback for passing back the response of
8422 the add BA operation received from the device
8423
8424 pUserData: user data will be passed back with the
8425 callback
8426
8427 @see WDI_PostAssocReq
8428 @return Result of the function call
8429*/
8430WDI_Status
8431WDI_AddBASessionReq
8432(
8433 WDI_AddBASessionReqParamsType* pwdiAddBASessionReqParams,
8434 WDI_AddBASessionRspCb wdiAddBASessionRspCb,
8435 void* pUserData
8436);
8437
8438
8439/**
8440 @brief WDI_DelBAReq will be called when the upper MAC wants to
8441 inform HW that it has deleted a previously created BA
8442 session. Upon the call of this API the WLAN DAL will
8443 pack and send a HAL Del BA request message to the lower
8444 RIVA sub-system if DAL is in state STARTED.
8445
8446 In state BUSY this request will be queued. Request won't
8447 be allowed in any other state.
8448
8449 WDI_AddBAReq must have been called.
8450
8451 @param wdiDelBAReqParams: the del BA parameters as specified by
8452 the Device Interface
8453
8454 wdiDelBARspCb: callback for passing back the response of
8455 the del BA operation received from the device
8456
8457 pUserData: user data will be passed back with the
8458 callback
8459
8460 @see WDI_AddBAReq
8461 @return Result of the function call
8462*/
8463WDI_Status
8464WDI_DelBAReq
8465(
8466 WDI_DelBAReqParamsType* pwdiDelBAReqParams,
8467 WDI_DelBARspCb wdiDelBARspCb,
8468 void* pUserData
8469);
8470
8471/**
8472 @brief WDI_UpdateBeaconParamsReq will be called when the upper MAC wants to
8473 inform HW that there is a change in the beacon parameters
8474 Upon the call of this API the WLAN DAL will
8475 pack and send a UpdateBeacon Params message to the lower
8476 RIVA sub-system if DAL is in state STARTED.
8477
8478 In state BUSY this request will be queued. Request won't
8479 be allowed in any other state.
8480
8481 WDI_UpdateBeaconParamsReq must have been called.
8482
8483 @param WDI_UpdateBeaconParamsType: the Update Beacon parameters as specified by
8484 the Device Interface
8485
8486 WDI_UpdateBeaconParamsRspCb: callback for passing back the response of
8487 the Update Beacon Params operation received from the device
8488
8489 pUserData: user data will be passed back with the
8490 callback
8491
8492 @see WDI_AddBAReq
8493 @return Result of the function call
8494*/
8495
8496WDI_Status
8497WDI_UpdateBeaconParamsReq
8498(
8499 WDI_UpdateBeaconParamsType * pwdiUpdateBeaconParams,
8500 WDI_UpdateBeaconParamsRspCb wdiUpdateBeaconParamsRspCb,
8501 void* pUserData
8502);
8503
8504
8505/**
8506 @brief WDI_SendBeaconParamsReq will be called when the upper MAC wants to
8507 update the beacon template to be transmitted as BT MAP STA/IBSS/Soft AP
8508 Upon the call of this API the WLAN DAL will
8509 pack and send the beacon Template message to the lower
8510 RIVA sub-system if DAL is in state STARTED.
8511
8512 In state BUSY this request will be queued. Request won't
8513 be allowed in any other state.
8514
8515 WDI_SendBeaconParamsReq must have been called.
8516
8517 @param WDI_SendBeaconParamsType: the Update Beacon parameters as specified by
8518 the Device Interface
8519
8520 WDI_SendBeaconParamsRspCb: callback for passing back the response of
8521 the Send Beacon Params operation received from the device
8522
8523 pUserData: user data will be passed back with the
8524 callback
8525
8526 @see WDI_AddBAReq
8527 @return Result of the function call
8528*/
8529
8530WDI_Status
8531WDI_SendBeaconParamsReq
8532(
8533 WDI_SendBeaconParamsType* pwdiSendBeaconParams,
8534 WDI_SendBeaconParamsRspCb wdiSendBeaconParamsRspCb,
8535 void* pUserData
8536);
8537
8538
8539/**
8540 @brief WDI_UpdateProbeRspTemplateReq will be called when the
8541 upper MAC wants to update the probe response template to
8542 be transmitted as Soft AP
8543 Upon the call of this API the WLAN DAL will
8544 pack and send the probe rsp template message to the
8545 lower RIVA sub-system if DAL is in state STARTED.
8546
8547 In state BUSY this request will be queued. Request won't
8548 be allowed in any other state.
8549
8550
8551 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
8552 specified by the Device Interface
8553
8554 wdiSendBeaconParamsRspCb: callback for passing back the
8555 response of the Send Beacon Params operation received
8556 from the device
8557
8558 pUserData: user data will be passed back with the
8559 callback
8560
8561 @see WDI_AddBAReq
8562 @return Result of the function call
8563*/
8564
8565WDI_Status
8566WDI_UpdateProbeRspTemplateReq
8567(
8568 WDI_UpdateProbeRspTemplateParamsType* pwdiUpdateProbeRspParams,
8569 WDI_UpdateProbeRspTemplateRspCb wdiSendBeaconParamsRspCb,
8570 void* pUserData
8571);
8572
Jeff Johnson295189b2012-06-20 16:38:30 -07008573/**
8574 @brief WDI_SetP2PGONOAReq will be called when the
8575 upper MAC wants to send Notice of Absence
8576 Upon the call of this API the WLAN DAL will
8577 pack and send the probe rsp template message to the
8578 lower RIVA sub-system if DAL is in state STARTED.
8579
8580 In state BUSY this request will be queued. Request won't
8581 be allowed in any other state.
8582
8583
8584 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
8585 specified by the Device Interface
8586
8587 wdiSendBeaconParamsRspCb: callback for passing back the
8588 response of the Send Beacon Params operation received
8589 from the device
8590
8591 pUserData: user data will be passed back with the
8592 callback
8593
8594 @see WDI_AddBAReq
8595 @return Result of the function call
8596*/
8597WDI_Status
8598WDI_SetP2PGONOAReq
8599(
8600 WDI_SetP2PGONOAReqParamsType* pwdiP2PGONOAReqParams,
8601 WDI_SetP2PGONOAReqParamsRspCb wdiP2PGONOAReqParamsRspCb,
8602 void* pUserData
8603);
Jeff Johnson295189b2012-06-20 16:38:30 -07008604
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05308605/**
8606 @brief WDI_SetTDLSLinkEstablishReq will be called when the
8607 upper MAC wants to send TDLS Link Establish Request Parameters
8608 Upon the call of this API the WLAN DAL will
8609 pack and send the TDLS Link Establish Request message to the
8610 lower RIVA sub-system if DAL is in state STARTED.
8611
8612 In state BUSY this request will be queued. Request won't
8613 be allowed in any other state.
8614
8615
8616 @param pwdiTDLSLinkEstablishReqParams: TDLS Peer Parameters
8617 for Link Establishment (Used for PUAPSD , TDLS Off Channel ...)
8618
8619 wdiTDLSLinkEstablishReqRspCb: callback for passing back the
8620 response of the TDLS Link Establish request received
8621 from the device
8622
8623 pUserData: user data will be passed back with the
8624 callback
8625
8626 @see
8627 @return Result of the function call
8628*/
8629WDI_Status
8630WDI_SetTDLSLinkEstablishReq
8631(
8632 WDI_SetTDLSLinkEstablishReqParamsType* pwdiTDLSLinkEstablishReqParams,
8633 WDI_SetTDLSLinkEstablishReqParamsRspCb wdiTDLSLinkEstablishReqRspCb,
8634 void* pUserData
8635);
Jeff Johnson295189b2012-06-20 16:38:30 -07008636
8637/*========================================================================
8638
8639 Power Save APIs
8640
8641==========================================================================*/
8642
8643/**
8644 @brief WDI_SetPwrSaveCfgReq will be called when the upper MAC
8645 wants to set the power save related configurations of
8646 the WLAN Device. Upon the call of this API the WLAN DAL
8647 will pack and send a HAL Update CFG request message to
8648 the lower RIVA sub-system if DAL is in state STARTED.
8649
8650 In state BUSY this request will be queued. Request won't
8651 be allowed in any other state.
8652
8653 WDI_Start must have been called.
8654
8655 @param pwdiPowerSaveCfg: the power save cfg parameters as
8656 specified by the Device Interface
8657
8658 wdiSetPwrSaveCfgCb: callback for passing back the
8659 response of the set power save cfg operation received
8660 from the device
8661
8662 pUserData: user data will be passed back with the
8663 callback
8664
8665 @see WDI_Start
8666 @return Result of the function call
8667*/
8668WDI_Status
8669WDI_SetPwrSaveCfgReq
8670(
8671 WDI_UpdateCfgReqParamsType* pwdiPowerSaveCfg,
8672 WDI_SetPwrSaveCfgCb wdiSetPwrSaveCfgCb,
8673 void* pUserData
8674);
8675
8676/**
8677 @brief WDI_EnterImpsReq will be called when the upper MAC to
8678 request the device to get into IMPS power state. Upon
8679 the call of this API the WLAN DAL will send a HAL Enter
8680 IMPS request message to the lower RIVA sub-system if DAL
8681 is in state STARTED.
8682
8683 In state BUSY this request will be queued. Request won't
8684 be allowed in any other state.
8685
8686
8687 @param wdiEnterImpsRspCb: callback for passing back the
8688 response of the Enter IMPS operation received from the
8689 device
8690
8691 pUserData: user data will be passed back with the
8692 callback
8693
8694 @see WDI_Start
8695 @return Result of the function call
8696*/
8697WDI_Status
8698WDI_EnterImpsReq
8699(
Mihir Shetea4306052014-03-25 00:02:54 +05308700 WDI_EnterImpsReqParamsType *pwdiEnterImpsReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07008701 WDI_EnterImpsRspCb wdiEnterImpsRspCb,
8702 void* pUserData
8703);
8704
8705/**
8706 @brief WDI_ExitImpsReq will be called when the upper MAC to
8707 request the device to get out of IMPS power state. Upon
8708 the call of this API the WLAN DAL will send a HAL Exit
8709 IMPS request message to the lower RIVA sub-system if DAL
8710 is in state STARTED.
8711
8712 In state BUSY this request will be queued. Request won't
8713 be allowed in any other state.
8714
8715
8716
8717 @param wdiExitImpsRspCb: callback for passing back the response
8718 of the Exit IMPS operation received from the device
8719
8720 pUserData: user data will be passed back with the
8721 callback
8722
8723 @see WDI_Start
8724 @return Result of the function call
8725*/
8726WDI_Status
8727WDI_ExitImpsReq
8728(
8729 WDI_ExitImpsRspCb wdiExitImpsRspCb,
8730 void* pUserData
8731);
8732
8733/**
8734 @brief WDI_EnterBmpsReq will be called when the upper MAC to
8735 request the device to get into BMPS power state. Upon
8736 the call of this API the WLAN DAL will pack and send a
8737 HAL Enter BMPS request message to the lower RIVA
8738 sub-system if DAL is in state STARTED.
8739
8740 In state BUSY this request will be queued. Request won't
8741 be allowed in any other state.
8742
8743 WDI_PostAssocReq must have been called.
8744
8745 @param pwdiEnterBmpsReqParams: the Enter BMPS parameters as
8746 specified by the Device Interface
8747
8748 wdiEnterBmpsRspCb: callback for passing back the
8749 response of the Enter BMPS operation received from the
8750 device
8751
8752 pUserData: user data will be passed back with the
8753 callback
8754
8755 @see WDI_PostAssocReq
8756 @return Result of the function call
8757*/
8758WDI_Status
8759WDI_EnterBmpsReq
8760(
8761 WDI_EnterBmpsReqParamsType *pwdiEnterBmpsReqParams,
8762 WDI_EnterBmpsRspCb wdiEnterBmpsRspCb,
8763 void* pUserData
8764);
8765
8766/**
8767 @brief WDI_ExitBmpsReq will be called when the upper MAC to
8768 request the device to get out of BMPS power state. Upon
8769 the call of this API the WLAN DAL will pack and send a
8770 HAL Exit BMPS request message to the lower RIVA
8771 sub-system if DAL is in state STARTED.
8772
8773 In state BUSY this request will be queued. Request won't
8774 be allowed in any other state.
8775
8776 WDI_PostAssocReq must have been called.
8777
8778 @param pwdiExitBmpsReqParams: the Exit BMPS parameters as
8779 specified by the Device Interface
8780
8781 wdiExitBmpsRspCb: callback for passing back the response
8782 of the Exit BMPS 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_ExitBmpsReq
8792(
8793 WDI_ExitBmpsReqParamsType *pwdiExitBmpsReqParams,
8794 WDI_ExitBmpsRspCb wdiExitBmpsRspCb,
8795 void* pUserData
8796);
8797
8798/**
8799 @brief WDI_EnterUapsdReq will be called when the upper MAC to
8800 request the device to get into UAPSD power state. Upon
8801 the call of this API the WLAN DAL will pack and send a
8802 HAL Enter UAPSD request message to the lower RIVA
8803 sub-system if DAL is in state STARTED.
8804
8805 In state BUSY this request will be queued. Request won't
8806 be allowed in any other state.
8807
8808 WDI_PostAssocReq must have been called.
8809 WDI_SetUapsdAcParamsReq must have been called.
8810
8811 @param pwdiEnterUapsdReqParams: the Enter UAPSD parameters as
8812 specified by the Device Interface
8813
8814 wdiEnterUapsdRspCb: callback for passing back the
8815 response of the Enter UAPSD operation received from the
8816 device
8817
8818 pUserData: user data will be passed back with the
8819 callback
8820
8821 @see WDI_PostAssocReq, WDI_SetUapsdAcParamsReq
8822 @return Result of the function call
8823*/
8824WDI_Status
8825WDI_EnterUapsdReq
8826(
8827 WDI_EnterUapsdReqParamsType *pwdiEnterUapsdReqParams,
8828 WDI_EnterUapsdRspCb wdiEnterUapsdRspCb,
8829 void* pUserData
8830);
8831
8832/**
8833 @brief WDI_ExitUapsdReq will be called when the upper MAC to
8834 request the device to get out of UAPSD power state. Upon
8835 the call of this API the WLAN DAL will send a HAL Exit
8836 UAPSD request message to the lower RIVA sub-system if
8837 DAL is in state STARTED.
8838
8839 In state BUSY this request will be queued. Request won't
8840 be allowed in any other state.
8841
8842 WDI_PostAssocReq must have been called.
8843
8844 @param wdiExitUapsdRspCb: callback for passing back the
8845 response of the Exit UAPSD operation received from the
8846 device
8847
8848 pUserData: user data will be passed back with the
8849 callback
8850
8851 @see WDI_PostAssocReq
8852 @return Result of the function call
8853*/
8854WDI_Status
8855WDI_ExitUapsdReq
8856(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07008857 WDI_ExitUapsdReqParamsType *pwdiExitUapsdReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07008858 WDI_ExitUapsdRspCb wdiExitUapsdRspCb,
8859 void* pUserData
8860);
8861
8862/**
8863 @brief WDI_UpdateUapsdParamsReq will be called when the upper
8864 MAC wants to set the UAPSD related configurations
8865 of an associated STA (while acting as an AP) to the WLAN
8866 Device. Upon the call of this API the WLAN DAL will pack
8867 and send a HAL Update UAPSD params request message to
8868 the lower RIVA sub-system if DAL is in state STARTED.
8869
8870 In state BUSY this request will be queued. Request won't
8871 be allowed in any other state.
8872
8873 WDI_ConfigBSSReq must have been called.
8874
8875 @param pwdiUpdateUapsdReqParams: the UAPSD parameters
8876 as specified by the Device Interface
8877
8878 wdiUpdateUapsdParamsCb: callback for passing back the
8879 response of the update UAPSD params operation received
8880 from the device
8881
8882 pUserData: user data will be passed back with the
8883 callback
8884
8885 @see WDI_ConfigBSSReq
8886 @return Result of the function call
8887*/
8888WDI_Status
8889WDI_UpdateUapsdParamsReq
8890(
8891 WDI_UpdateUapsdReqParamsType *pwdiUpdateUapsdReqParams,
8892 WDI_UpdateUapsdParamsCb wdiUpdateUapsdParamsCb,
8893 void* pUserData
8894);
8895
8896/**
8897 @brief WDI_SetUapsdAcParamsReq will be called when the upper
8898 MAC wants to set the UAPSD related configurations before
8899 requesting for enter UAPSD power state to the WLAN
8900 Device. Upon the call of this API the WLAN DAL will pack
8901 and send a HAL Set UAPSD params request message to
8902 the lower RIVA sub-system if DAL is in state STARTED.
8903
8904 In state BUSY this request will be queued. Request won't
8905 be allowed in any other state.
8906
8907 WDI_PostAssocReq must have been called.
8908
8909 @param pwdiUapsdInfo: the UAPSD parameters as specified by
8910 the Device Interface
8911
8912 wdiSetUapsdAcParamsCb: callback for passing back the
8913 response of the set UAPSD params operation received from
8914 the device
8915
8916 pUserData: user data will be passed back with the
8917 callback
8918
8919 @see WDI_PostAssocReq
8920 @return Result of the function call
8921*/
8922WDI_Status
8923WDI_SetUapsdAcParamsReq
8924(
8925 WDI_SetUapsdAcParamsReqParamsType* pwdiPowerSaveCfg,
8926 WDI_SetUapsdAcParamsCb wdiSetUapsdAcParamsCb,
8927 void* pUserData
8928);
8929
8930/**
8931 @brief WDI_ConfigureRxpFilterReq will be called when the upper
8932 MAC wants to set/reset the RXP filters for received pkts
8933 (MC, BC etc.). Upon the call of this API the WLAN DAL will pack
8934 and send a HAL configure RXP filter request message to
8935 the lower RIVA sub-system.
8936
8937 In state BUSY this request will be queued. Request won't
8938 be allowed in any other state.
8939
8940
8941 @param pwdiConfigureRxpFilterReqParams: the RXP
8942 filter as specified by the Device
8943 Interface
8944
8945 wdiConfigureRxpFilterCb: callback for passing back the
8946 response of the configure RXP filter operation received
8947 from the device
8948
8949 pUserData: user data will be passed back with the
8950 callback
8951
8952 @return Result of the function call
8953*/
8954WDI_Status
8955WDI_ConfigureRxpFilterReq
8956(
8957 WDI_ConfigureRxpFilterReqParamsType *pwdiConfigureRxpFilterReqParams,
8958 WDI_ConfigureRxpFilterCb wdiConfigureRxpFilterCb,
8959 void* pUserData
8960);
8961
8962/**
8963 @brief WDI_SetBeaconFilterReq will be called when the upper MAC
8964 wants to set the beacon filters while in power save.
8965 Upon the call of this API the WLAN DAL will pack and
8966 send a Beacon filter request message to the
8967 lower RIVA sub-system.
8968
8969 In state BUSY this request will be queued. Request won't
8970 be allowed in any other state.
8971
8972
8973 @param pwdiBeaconFilterReqParams: the beacon
8974 filter as specified by the Device
8975 Interface
8976
8977 wdiBeaconFilterCb: callback for passing back the
8978 response of the set beacon filter operation received
8979 from the device
8980
8981 pUserData: user data will be passed back with the
8982 callback
8983
8984 @return Result of the function call
8985*/
8986WDI_Status
8987WDI_SetBeaconFilterReq
8988(
8989 WDI_BeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
8990 WDI_SetBeaconFilterCb wdiBeaconFilterCb,
8991 void* pUserData
8992);
8993
8994/**
8995 @brief WDI_RemBeaconFilterReq will be called when the upper MAC
8996 wants to remove the beacon filter for perticular IE
8997 while in power save. Upon the call of this API the WLAN
8998 DAL will pack and send a remove Beacon filter request
8999 message to the lower RIVA sub-system.
9000
9001 In state BUSY this request will be queued. Request won't
9002 be allowed in any other state.
9003
9004
9005 @param pwdiBeaconFilterReqParams: the beacon
9006 filter as specified by the Device
9007 Interface
9008
9009 wdiBeaconFilterCb: callback for passing back the
9010 response of the remove beacon filter operation received
9011 from the device
9012
9013 pUserData: user data will be passed back with the
9014 callback
9015
9016 @return Result of the function call
9017*/
9018WDI_Status
9019WDI_RemBeaconFilterReq
9020(
9021 WDI_RemBeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
9022 WDI_RemBeaconFilterCb wdiBeaconFilterCb,
9023 void* pUserData
9024);
9025
9026/**
9027 @brief WDI_SetRSSIThresholdsReq will be called when the upper
9028 MAC wants to set the RSSI thresholds related
9029 configurations while in power save. Upon the call of
9030 this API the WLAN DAL will pack and send a HAL Set RSSI
9031 thresholds request message to the lower RIVA
9032 sub-system if DAL is in state STARTED.
9033
9034 In state BUSY this request will be queued. Request won't
9035 be allowed in any other state.
9036
9037 WDI_PostAssocReq must have been called.
9038
9039 @param pwdiUapsdInfo: the UAPSD parameters as specified by
9040 the Device Interface
9041
9042 wdiSetUapsdAcParamsCb: callback for passing back the
9043 response of the set UAPSD params operation received from
9044 the device
9045
9046 pUserData: user data will be passed back with the
9047 callback
9048
9049 @see WDI_PostAssocReq
9050 @return Result of the function call
9051*/
9052WDI_Status
9053WDI_SetRSSIThresholdsReq
9054(
9055 WDI_SetRSSIThresholdsReqParamsType* pwdiRSSIThresholdsParams,
9056 WDI_SetRSSIThresholdsCb wdiSetRSSIThresholdsCb,
9057 void* pUserData
9058);
9059
9060/**
9061 @brief WDI_HostOffloadReq will be called when the upper MAC
9062 wants to set the filter to minimize unnecessary host
9063 wakeup due to broadcast traffic while in power save.
9064 Upon the call of this API the WLAN DAL will pack and
9065 send a HAL host offload request message to the
9066 lower RIVA sub-system if DAL is in state STARTED.
9067
9068 In state BUSY this request will be queued. Request won't
9069 be allowed in any other state.
9070
9071 WDI_PostAssocReq must have been called.
9072
9073 @param pwdiHostOffloadParams: the host offload as specified
9074 by the Device Interface
9075
9076 wdiHostOffloadCb: callback for passing back the response
9077 of the host offload operation received from the
9078 device
9079
9080 pUserData: user data will be passed back with the
9081 callback
9082
9083 @see WDI_PostAssocReq
9084 @return Result of the function call
9085*/
9086WDI_Status
9087WDI_HostOffloadReq
9088(
9089 WDI_HostOffloadReqParamsType* pwdiHostOffloadParams,
9090 WDI_HostOffloadCb wdiHostOffloadCb,
9091 void* pUserData
9092);
9093
9094/**
9095 @brief WDI_KeepAliveReq will be called when the upper MAC
9096 wants to set the filter to send NULL or unsolicited ARP responses
9097 and minimize unnecessary host wakeups due to while in power save.
9098 Upon the call of this API the WLAN DAL will pack and
9099 send a HAL Keep Alive request message to the
9100 lower RIVA sub-system if DAL is in state STARTED.
9101
9102 In state BUSY this request will be queued. Request won't
9103 be allowed in any other state.
9104
9105 WDI_PostAssocReq must have been called.
9106
9107 @param pwdiKeepAliveParams: the Keep Alive as specified
9108 by the Device Interface
9109
9110 wdiKeepAliveCb: callback for passing back the response
9111 of the Keep Alive operation received from the
9112 device
9113
9114 pUserData: user data will be passed back with the
9115 callback
9116
9117 @see WDI_PostAssocReq
9118 @return Result of the function call
9119*/
9120WDI_Status
9121WDI_KeepAliveReq
9122(
9123 WDI_KeepAliveReqParamsType* pwdiKeepAliveParams,
9124 WDI_KeepAliveCb wdiKeepAliveCb,
9125 void* pUserData
9126);
9127
9128/**
9129 @brief WDI_WowlAddBcPtrnReq will be called when the upper MAC
9130 wants to set the Wowl Bcast ptrn to minimize unnecessary
9131 host wakeup due to broadcast traffic while in power
9132 save. Upon the call of this API the WLAN DAL will pack
9133 and send a HAL Wowl Bcast ptrn request message to the
9134 lower RIVA sub-system if DAL is in state STARTED.
9135
9136 In state BUSY this request will be queued. Request won't
9137 be allowed in any other state.
9138
9139 WDI_PostAssocReq must have been called.
9140
9141 @param pwdiWowlAddBcPtrnParams: the Wowl bcast ptrn as
9142 specified by the Device Interface
9143
9144 wdiWowlAddBcPtrnCb: callback for passing back the
9145 response of the add Wowl bcast ptrn operation received
9146 from the device
9147
9148 pUserData: user data will be passed back with the
9149 callback
9150
9151 @see WDI_PostAssocReq
9152 @return Result of the function call
9153*/
9154WDI_Status
9155WDI_WowlAddBcPtrnReq
9156(
9157 WDI_WowlAddBcPtrnReqParamsType* pwdiWowlAddBcPtrnParams,
9158 WDI_WowlAddBcPtrnCb wdiWowlAddBcPtrnCb,
9159 void* pUserData
9160);
9161
9162/**
9163 @brief WDI_WowlDelBcPtrnReq will be called when the upper MAC
9164 wants to clear the Wowl Bcast ptrn. Upon the call of
9165 this API the WLAN DAL will pack and send a HAL delete
9166 Wowl Bcast ptrn request message to the lower RIVA
9167 sub-system if DAL is in state STARTED.
9168
9169 In state BUSY this request will be queued. Request won't
9170 be allowed in any other state.
9171
9172 WDI_WowlAddBcPtrnReq must have been called.
9173
9174 @param pwdiWowlDelBcPtrnParams: the Wowl bcast ptrn as
9175 specified by the Device Interface
9176
9177 wdiWowlDelBcPtrnCb: callback for passing back the
9178 response of the del Wowl bcast ptrn operation received
9179 from the device
9180
9181 pUserData: user data will be passed back with the
9182 callback
9183
9184 @see WDI_WowlAddBcPtrnReq
9185 @return Result of the function call
9186*/
9187WDI_Status
9188WDI_WowlDelBcPtrnReq
9189(
9190 WDI_WowlDelBcPtrnReqParamsType* pwdiWowlDelBcPtrnParams,
9191 WDI_WowlDelBcPtrnCb wdiWowlDelBcPtrnCb,
9192 void* pUserData
9193);
9194
9195/**
9196 @brief WDI_WowlEnterReq will be called when the upper MAC
9197 wants to enter the Wowl state to minimize unnecessary
9198 host wakeup while in power save. Upon the call of this
9199 API the WLAN DAL will pack and send a HAL Wowl enter
9200 request message to the lower RIVA sub-system if DAL is
9201 in state STARTED.
9202
9203 In state BUSY this request will be queued. Request won't
9204 be allowed in any other state.
9205
9206 WDI_PostAssocReq must have been called.
9207
9208 @param pwdiWowlEnterReqParams: the Wowl enter info as
9209 specified by the Device Interface
9210
9211 wdiWowlEnterReqCb: callback for passing back the
9212 response of the enter Wowl operation received from the
9213 device
9214
9215 pUserData: user data will be passed back with the
9216 callback
9217
9218 @see WDI_PostAssocReq
9219 @return Result of the function call
9220*/
9221WDI_Status
9222WDI_WowlEnterReq
9223(
9224 WDI_WowlEnterReqParamsType* pwdiWowlEnterParams,
9225 WDI_WowlEnterReqCb wdiWowlEnterCb,
9226 void* pUserData
9227);
9228
9229/**
9230 @brief WDI_WowlExitReq will be called when the upper MAC
9231 wants to exit the Wowl state. Upon the call of this API
9232 the WLAN DAL will pack and send a HAL Wowl exit request
9233 message to the lower RIVA sub-system if DAL is in state
9234 STARTED.
9235
9236 In state BUSY this request will be queued. Request won't
9237 be allowed in any other state.
9238
9239 WDI_WowlEnterReq must have been called.
9240
9241 @param pwdiWowlExitReqParams: the Wowl exit info as
9242 specified by the Device Interface
9243
9244 wdiWowlExitReqCb: callback for passing back the response
9245 of the exit Wowl operation received from the device
9246
9247 pUserData: user data will be passed back with the
9248 callback
9249
9250 @see WDI_WowlEnterReq
9251 @return Result of the function call
9252*/
9253WDI_Status
9254WDI_WowlExitReq
9255(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07009256 WDI_WowlExitReqParamsType* pwdiWowlExitParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009257 WDI_WowlExitReqCb wdiWowlExitCb,
9258 void* pUserData
9259);
9260
9261/**
9262 @brief WDI_ConfigureAppsCpuWakeupStateReq will be called when
9263 the upper MAC wants to dynamically adjusts the listen
9264 interval based on the WLAN/MSM activity. Upon the call
9265 of this API the WLAN DAL will pack and send a HAL
9266 configure Apps Cpu Wakeup State request message to the
9267 lower RIVA sub-system.
9268
9269 In state BUSY this request will be queued. Request won't
9270 be allowed in any other state.
9271
9272
9273 @param pwdiConfigureAppsCpuWakeupStateReqParams: the
9274 Apps Cpu Wakeup State as specified by the
9275 Device Interface
9276
9277 wdiConfigureAppsCpuWakeupStateCb: callback for passing
9278 back the response of the configure Apps Cpu Wakeup State
9279 operation received from the device
9280
9281 pUserData: user data will be passed back with the
9282 callback
9283
9284 @return Result of the function call
9285*/
9286WDI_Status
9287WDI_ConfigureAppsCpuWakeupStateReq
9288(
9289 WDI_ConfigureAppsCpuWakeupStateReqParamsType *pwdiConfigureAppsCpuWakeupStateReqParams,
9290 WDI_ConfigureAppsCpuWakeupStateCb wdiConfigureAppsCpuWakeupStateCb,
9291 void* pUserData
9292);
9293/**
9294 @brief WDI_FlushAcReq will be called when the upper MAC wants
9295 to to perform a flush operation on a given AC. Upon the
9296 call of this API the WLAN DAL will pack and send a HAL
9297 Flush AC request message to the lower RIVA sub-system if
9298 DAL is in state STARTED.
9299
9300 In state BUSY this request will be queued. Request won't
9301 be allowed in any other state.
9302
9303
9304 @param pwdiFlushAcReqParams: the Flush AC parameters as
9305 specified by the Device Interface
9306
9307 wdiFlushAcRspCb: callback for passing back the response
9308 of the Flush AC operation received from the device
9309
9310 pUserData: user data will be passed back with the
9311 callback
9312
9313 @return Result of the function call
9314*/
9315WDI_Status
9316WDI_FlushAcReq
9317(
9318 WDI_FlushAcReqParamsType* pwdiFlushAcReqParams,
9319 WDI_FlushAcRspCb wdiFlushAcRspCb,
9320 void* pUserData
9321);
9322
9323/**
9324 @brief WDI_BtAmpEventReq will be called when the upper MAC
9325 wants to notify the lower mac on a BT AMP event. This is
9326 to inform BTC-SLM that some BT AMP event occurred. Upon
9327 the call of this API the WLAN DAL will pack and send a
9328 HAL BT AMP event request message to the lower RIVA
9329 sub-system if DAL is in state STARTED.
9330
9331 In state BUSY this request will be queued. Request won't
9332 be allowed in any other state.
9333
9334
9335 @param wdiBtAmpEventReqParams: the BT AMP event parameters as
9336 specified by the Device Interface
9337
9338 wdiBtAmpEventRspCb: callback for passing back the
9339 response of the BT AMP event operation received from the
9340 device
9341
9342 pUserData: user data will be passed back with the
9343 callback
9344
9345 @return Result of the function call
9346*/
9347WDI_Status
9348WDI_BtAmpEventReq
9349(
9350 WDI_BtAmpEventParamsType* pwdiBtAmpEventReqParams,
9351 WDI_BtAmpEventRspCb wdiBtAmpEventRspCb,
9352 void* pUserData
9353);
9354
Jeff Johnsone7245742012-09-05 17:12:55 -07009355#ifdef FEATURE_OEM_DATA_SUPPORT
9356/**
9357 @brief WDI_Start oem data Req will be called when the upper MAC
9358 wants to notify the lower mac on a oem data Req event.Upon
9359 the call of this API the WLAN DAL will pack and send a
9360 HAL OEM Data Req event request message to the lower RIVA
9361 sub-system if DAL is in state STARTED.
9362
9363 In state BUSY this request will be queued. Request won't
9364 be allowed in any other state.
9365
9366
9367 @param pWdiOemDataReqParams: the oem data req parameters as
9368 specified by the Device Interface
9369
9370 wdiStartOemDataRspCb: callback for passing back the
9371 response of the Oem Data Req received from the
9372 device
9373
9374 pUserData: user data will be passed back with the
9375 callback
9376
9377 @return Result of the function call
9378*/
9379WDI_Status
9380WDI_StartOemDataReq
9381(
9382 WDI_oemDataReqParamsType* pWdiOemDataReqParams,
9383 WDI_oemDataRspCb wdiOemDataRspCb,
9384 void* pUserData
9385);
9386#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07009387
9388/*========================================================================
9389
9390 CONTROL APIs
9391
9392==========================================================================*/
9393/**
9394 @brief WDI_SwitchChReq will be called when the upper MAC wants
9395 the WLAN HW to change the current channel of operation.
9396 Upon the call of this API the WLAN DAL will pack and
9397 send a HAL Start request message to the lower RIVA
9398 sub-system if DAL is in state STARTED.
9399
9400 In state BUSY this request will be queued. Request won't
9401 be allowed in any other state.
9402
9403 WDI_Start must have been called.
9404
9405 @param wdiSwitchChReqParams: the switch ch parameters as
9406 specified by the Device Interface
9407
9408 wdiSwitchChRspCb: callback for passing back the response
9409 of the switch ch operation received from the device
9410
9411 pUserData: user data will be passed back with the
9412 callback
9413
9414 @see WDI_Start
9415 @return Result of the function call
9416*/
9417WDI_Status
9418WDI_SwitchChReq
9419(
9420 WDI_SwitchChReqParamsType* pwdiSwitchChReqParams,
9421 WDI_SwitchChRspCb wdiSwitchChRspCb,
9422 void* pUserData
9423);
9424
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08009425/**
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08009426 @brief WDI_SwitchChReq_V1 is similar to WDI_SwitchChReq except
9427 it also send type source for the channel change.
9428 WDI_Start must have been called.
9429
9430 @param wdiSwitchChReqParams: the switch ch parameters as
9431 specified by the Device Interface
9432
9433 wdiSwitchChRspCb: callback for passing back the response
9434 of the switch ch operation received from the device
9435
9436 pUserData: user data will be passed back with the
9437 callback
9438
9439 @see WDI_Start
9440 @return Result of the function call
9441*/
9442
9443WDI_Status
9444WDI_SwitchChReq_V1
9445(
9446 WDI_SwitchChReqParamsType_V1* pwdiSwitchChReqParams,
9447 WDI_SwitchChRspCb_V1 wdiSwitchChRspCb,
9448 void* pUserData
9449);
9450
9451/**
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08009452 @brief WDI_UpdateChannelReq will be called when the upper MAC
9453 wants to update the channel list on change in country code.
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08009454 In state BUSY this request will be queued. Request won't
9455 be allowed in any other state.
9456
9457 WDI_UpdateChannelReq must have been called.
9458
9459 @param wdiUpdateChannelReqParams: the updated channel parameters
9460 as specified by the Device Interface
9461
9462 wdiUpdateChannelRspCb: callback for passing back the
9463 response of the update channel operation received from
9464 the device
9465
9466 pUserData: user data will be passed back with the
9467 callback
9468
9469 @return Result of the function call
9470*/
9471WDI_Status
9472WDI_UpdateChannelReq
9473(
9474 WDI_UpdateChReqParamsType *pwdiUpdateChannelReqParams,
9475 WDI_UpdateChannelRspCb wdiUpdateChannelRspCb,
9476 void* pUserData
9477);
Jeff Johnson295189b2012-06-20 16:38:30 -07009478
9479/**
9480 @brief WDI_ConfigSTAReq will be called when the upper MAC
9481 wishes to add or update a STA in HW. Upon the call of
9482 this API the WLAN DAL will pack and send a HAL Start
9483 message request message to the lower RIVA sub-system if
9484 DAL is in state STARTED.
9485
9486 In state BUSY this request will be queued. Request won't
9487 be allowed in any other state.
9488
9489 WDI_Start must have been called.
9490
9491 @param wdiConfigSTAReqParams: the config STA parameters as
9492 specified by the Device Interface
9493
9494 wdiConfigSTARspCb: callback for passing back the
9495 response of the config STA operation received from the
9496 device
9497
9498 pUserData: user data will be passed back with the
9499 callback
9500
9501 @see WDI_Start
9502 @return Result of the function call
9503*/
9504WDI_Status
9505WDI_ConfigSTAReq
9506(
9507 WDI_ConfigSTAReqParamsType* pwdiConfigSTAReqParams,
9508 WDI_ConfigSTARspCb wdiConfigSTARspCb,
9509 void* pUserData
9510);
9511
9512/**
9513 @brief WDI_SetLinkStateReq will be called when the upper MAC
9514 wants to change the state of an ongoing link. Upon the
9515 call of this API the WLAN DAL will pack and send a HAL
9516 Start message request message to the lower RIVA
9517 sub-system if DAL is in state STARTED.
9518
9519 In state BUSY this request will be queued. Request won't
9520 be allowed in any other state.
9521
9522 WDI_JoinReq must have been called.
9523
9524 @param wdiSetLinkStateReqParams: the set link state parameters
9525 as specified by the Device Interface
9526
9527 wdiSetLinkStateRspCb: callback for passing back the
9528 response of the set link state operation received from
9529 the device
9530
9531 pUserData: user data will be passed back with the
9532 callback
9533
9534 @see WDI_JoinStartReq
9535 @return Result of the function call
9536*/
9537WDI_Status
9538WDI_SetLinkStateReq
9539(
9540 WDI_SetLinkReqParamsType* pwdiSetLinkStateReqParams,
9541 WDI_SetLinkStateRspCb wdiSetLinkStateRspCb,
9542 void* pUserData
9543);
9544
9545
9546/**
9547 @brief WDI_GetStatsReq will be called when the upper MAC wants
9548 to get statistics (MIB counters) from the device. Upon
9549 the call of this API the WLAN DAL will pack and send a
9550 HAL Start request message to the lower RIVA sub-system
9551 if DAL is in state STARTED.
9552
9553 In state BUSY this request will be queued. Request won't
9554 be allowed in any other state.
9555
9556 WDI_Start must have been called.
9557
9558 @param wdiGetStatsReqParams: the stats parameters to get as
9559 specified by the Device Interface
9560
9561 wdiGetStatsRspCb: callback for passing back the response
9562 of the get stats operation received from the device
9563
9564 pUserData: user data will be passed back with the
9565 callback
9566
9567 @see WDI_Start
9568 @return Result of the function call
9569*/
9570WDI_Status
9571WDI_GetStatsReq
9572(
9573 WDI_GetStatsReqParamsType* pwdiGetStatsReqParams,
9574 WDI_GetStatsRspCb wdiGetStatsRspCb,
9575 void* pUserData
9576);
9577
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08009578#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08009579/**
9580 @brief WDI_GetRoamRssiReq will be called when the upper MAC wants
9581 to get roam rssi from the device. Upon
9582 the call of this API the WLAN DAL will pack and send a
9583 HAL Start request message to the lower RIVA sub-system
9584 if DAL is in state STARTED.
9585
9586 In state BUSY this request will be queued. Request won't
9587 be allowed in any other state.
9588
9589 WDI_Start must have been called.
9590
9591 @param wdiGetRoamRssiReqParams: the stats parameters to get as
9592 specified by the Device Interface
9593
9594 wdiGetRoamRssispCb: callback for passing back the response
9595 of the get stats operation received from the device
9596
9597 pUserData: user data will be passed back with the
9598 callback
9599
9600 @see WDI_Start
9601 @return Result of the function call
9602*/
9603WDI_Status
9604WDI_GetRoamRssiReq
9605(
9606 WDI_GetRoamRssiReqParamsType* pwdiGetRoamRssiReqParams,
9607 WDI_GetRoamRssiRspCb wdiGetRoamRssiRspCb,
9608 void* pUserData
9609);
9610#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07009611
9612/**
9613 @brief WDI_UpdateCfgReq will be called when the upper MAC when
9614 it wishes to change the configuration of the WLAN
9615 Device. Upon the call of this API the WLAN DAL will pack
9616 and send a HAL Update CFG request message to the lower
9617 RIVA sub-system if DAL is in state STARTED.
9618
9619 In state BUSY this request will be queued. Request won't
9620 be allowed in any other state.
9621
9622 WDI_Start must have been called.
9623
9624 @param wdiUpdateCfgReqParams: the update cfg parameters as
9625 specified by the Device Interface
9626
9627 wdiUpdateCfgsRspCb: callback for passing back the
9628 response of the update cfg operation received from the
9629 device
9630
9631 pUserData: user data will be passed back with the
9632 callback
9633
9634 @see WDI_Start
9635 @return Result of the function call
9636*/
9637WDI_Status
9638WDI_UpdateCfgReq
9639(
9640 WDI_UpdateCfgReqParamsType* pwdiUpdateCfgReqParams,
9641 WDI_UpdateCfgRspCb wdiUpdateCfgsRspCb,
9642 void* pUserData
9643);
9644
9645/**
9646 @brief WDI_NvDownloadReq will be called by the UMAC to dowload the NV blob
9647 to the NV memory.
9648
9649 @param wdiNvDownloadReqParams: the NV Download parameters as specified by
9650 the Device Interface
9651
9652 wdiNvDownloadRspCb: callback for passing back the response of
9653 the NV Download operation received from the device
9654
9655 pUserData: user data will be passed back with the
9656 callback
9657
9658 @see WDI_PostAssocReq
9659 @return Result of the function call
9660*/
9661WDI_Status
9662WDI_NvDownloadReq
9663(
9664 WDI_NvDownloadReqParamsType* pwdiNvDownloadReqParams,
9665 WDI_NvDownloadRspCb wdiNvDownloadRspCb,
9666 void* pUserData
9667);
9668/**
9669 @brief WDI_AddBAReq will be called when the upper MAC has setup
9670 successfully a BA session and needs to notify the HW for
9671 the appropriate settings to take place. Upon the call of
9672 this API the WLAN DAL will pack and send a HAL Add BA
9673 request message to the lower RIVA sub-system if DAL is
9674 in state STARTED.
9675
9676 In state BUSY this request will be queued. Request won't
9677 be allowed in any other state.
9678
9679 WDI_PostAssocReq must have been called.
9680
9681 @param wdiAddBAReqParams: the add BA parameters as specified by
9682 the Device Interface
9683
9684 wdiAddBARspCb: callback for passing back the response of
9685 the add BA operation received from the device
9686
9687 pUserData: user data will be passed back with the
9688 callback
9689
9690 @see WDI_PostAssocReq
9691 @return Result of the function call
9692*/
9693WDI_Status
9694WDI_AddBAReq
9695(
9696 WDI_AddBAReqParamsType* pwdiAddBAReqParams,
9697 WDI_AddBARspCb wdiAddBARspCb,
9698 void* pUserData
9699);
9700
9701/**
9702 @brief WDI_TriggerBAReq will be called when the upper MAC has setup
9703 successfully a BA session and needs to notify the HW for
9704 the appropriate settings to take place. Upon the call of
9705 this API the WLAN DAL will pack and send a HAL Add BA
9706 request message to the lower RIVA sub-system if DAL is
9707 in state STARTED.
9708
9709 In state BUSY this request will be queued. Request won't
9710 be allowed in any other state.
9711
9712 WDI_PostAssocReq must have been called.
9713
9714 @param wdiAddBAReqParams: the add BA parameters as specified by
9715 the Device Interface
9716
9717 wdiAddBARspCb: callback for passing back the response of
9718 the add BA operation received from the device
9719
9720 pUserData: user data will be passed back with the
9721 callback
9722
9723 @see WDI_PostAssocReq
9724 @return Result of the function call
9725*/
9726WDI_Status
9727WDI_TriggerBAReq
9728(
9729 WDI_TriggerBAReqParamsType* pwdiTriggerBAReqParams,
9730 WDI_TriggerBARspCb wdiTriggerBARspCb,
9731 void* pUserData
9732);
9733
9734
9735/**
9736 @brief WDI_IsHwFrameTxTranslationCapable checks to see if HW
9737 frame xtl is enabled for a particular STA.
9738
9739 WDI_PostAssocReq must have been called.
9740
9741 @param uSTAIdx: STA index
9742
9743 @see WDI_PostAssocReq
9744 @return Result of the function call
9745*/
9746wpt_boolean WDI_IsHwFrameTxTranslationCapable
9747(
9748 wpt_uint8 uSTAIdx
9749);
9750
9751#ifdef WLAN_FEATURE_VOWIFI_11R
9752/**
9753 @brief WDI_AggrAddTSReq will be called when the upper MAC to inform
9754 the device of a successful add TSpec negotiation for 11r. HW
9755 needs to receive the TSpec Info from the UMAC in order
9756 to configure properly the QoS data traffic. Upon the
9757 call of this API the WLAN DAL will pack and send a HAL
9758 Aggregated Add TS request message to the lower RIVA sub-system if
9759 DAL is in state STARTED.
9760
9761 In state BUSY this request will be queued. Request won't
9762 be allowed in any other state.
9763
9764 WDI_PostAssocReq must have been called.
9765
9766 @param wdiAggrAddTsReqParams: the add TS parameters as specified by
9767 the Device Interface
9768
9769 wdiAggrAddTsRspCb: callback for passing back the response of
9770 the add TS operation received from the device
9771
9772 pUserData: user data will be passed back with the
9773 callback
9774
9775 @see WDI_PostAssocReq
9776 @return Result of the function call
9777*/
9778WDI_Status
9779WDI_AggrAddTSReq
9780(
9781 WDI_AggrAddTSReqParamsType* pwdiAddTsReqParams,
9782 WDI_AggrAddTsRspCb wdiAggrAddTsRspCb,
9783 void* pUserData
9784);
9785#endif /* WLAN_FEATURE_VOWIFI_11R */
9786/**
9787 @brief WDI_STATableInit - Initializes the STA tables.
9788 Allocates the necesary memory.
9789
9790
9791 @param pWDICtx: pointer to the WLAN DAL context
9792
9793 @see
9794 @return Result of the function call
9795*/
9796
9797WDI_Status WDI_StubRunTest
9798(
9799 wpt_uint8 ucTestNo
9800);
9801
Jeff Johnson295189b2012-06-20 16:38:30 -07009802/**
9803 @brief WDI_FTMCommandReq -
9804 Route FTMRequest Command to HAL
9805
9806 @param ftmCommandReq: FTM request command body
9807 @param ftmCommandRspCb: Response CB
9808 @param pUserData: User data will be included with CB
9809
9810 @return Result of the function call
9811*/
9812WDI_Status WDI_FTMCommandReq
9813(
9814 WDI_FTMCommandReqType *ftmCommandReq,
9815 WDI_FTMCommandRspCb ftmCommandRspCb,
9816 void *pUserData
9817);
Jeff Johnson295189b2012-06-20 16:38:30 -07009818
9819/**
9820 @brief WDI_HostResumeReq will be called
9821
9822 In state BUSY this request will be queued. Request won't
9823 be allowed in any other state.
9824
9825
9826 @param pwdiResumeReqParams: as specified by
9827 the Device Interface
9828
9829 wdiResumeReqRspCb: callback for passing back the response of
9830 the Resume Req received from the device
9831
9832 pUserData: user data will be passed back with the
9833 callback
9834
9835 @see WDI_PostAssocReq
9836 @return Result of the function call
9837*/
9838WDI_Status
9839WDI_HostResumeReq
9840(
9841 WDI_ResumeParamsType* pwdiResumeReqParams,
9842 WDI_HostResumeEventRspCb wdiResumeReqRspCb,
9843 void* pUserData
9844);
9845
9846/**
9847 @brief WDI_GetAvailableResCount - Function to get the available resource
9848 for data and managemnt frames.
9849
9850 @param pContext: pointer to the WDI context
9851 @param wdiResPool: type of resource pool requesting
9852 @see
9853 @return Result of the function call
9854*/
9855
9856wpt_uint32 WDI_GetAvailableResCount
9857(
9858 void *pContext,
9859 WDI_ResPoolType wdiResPool
9860);
9861
9862/**
9863 @brief WDI_SetAddSTASelfReq will be called when the
9864 UMAC wanted to add self STA while opening any new session
9865 In state BUSY this request will be queued. Request won't
9866 be allowed in any other state.
9867
9868
9869 @param pwdiAddSTASelfParams: the add self sta parameters as
9870 specified by the Device Interface
9871
9872 pUserData: user data will be passed back with the
9873 callback
9874
9875 @see
9876 @return Result of the function call
9877*/
9878WDI_Status
9879WDI_AddSTASelfReq
9880(
9881 WDI_AddSTASelfReqParamsType* pwdiAddSTASelfReqParams,
9882 WDI_AddSTASelfParamsRspCb wdiAddSTASelfReqParamsRspCb,
9883 void* pUserData
9884);
9885
9886
9887/**
9888 @brief WDI_DelSTASelfReq will be called .
9889
9890 @param WDI_DelSTASelfReqParamsType
9891
9892 WDI_DelSTASelfRspCb: callback for passing back the
9893 response of the del sta self operation received from the
9894 device
9895
9896 pUserData: user data will be passed back with the
9897 callback
9898
9899 @see WDI_PostAssocReq
9900 @return Result of the function call
9901*/
9902WDI_Status
9903WDI_DelSTASelfReq
9904(
9905 WDI_DelSTASelfReqParamsType* pwdiDelStaSelfParams,
9906 WDI_DelSTASelfRspCb wdiDelStaSelfRspCb,
9907 void* pUserData
9908);
9909
9910/**
9911 @brief WDI_HostSuspendInd
9912
9913 Suspend Indication from the upper layer will be sent
9914 down to HAL
9915
9916 @param WDI_SuspendParamsType
9917
9918 @see
9919
9920 @return Status of the request
9921*/
9922WDI_Status
9923WDI_HostSuspendInd
9924(
9925 WDI_SuspendParamsType* pwdiSuspendIndParams
9926);
9927
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08009928/**
9929 @brief WDI_TrafficStatsInd
9930
9931 Traffic Stats from the upper layer will be sent
9932 down to HAL
9933
9934 @param WDI_TrafficStatsIndType
9935
9936 @see
9937
9938 @return Status of the request
9939*/
9940WDI_Status
9941WDI_TrafficStatsInd
9942(
9943 WDI_TrafficStatsIndType *pWdiTrafficStatsIndParams
9944);
9945
Chet Lanctot186b5732013-03-18 10:26:30 -07009946#ifdef WLAN_FEATURE_11W
9947/**
9948 @brief WDI_ExcludeUnencryptedInd
9949 Register with HAL to receive/drop unencrypted frames
9950
9951 @param WDI_ExcludeUnencryptIndType
9952
9953 @see
9954
9955 @return Status of the request
9956*/
9957WDI_Status
9958WDI_ExcludeUnencryptedInd
9959(
9960 WDI_ExcludeUnencryptIndType *pWdiExcUnencParams
9961);
9962#endif
9963
Yue Mab9c86f42013-08-14 15:59:08 -07009964/**
9965 @brief WDI_AddPeriodicTxPtrnInd
9966
9967 @param WDI_AddPeriodicTxPtrnParamsType
9968
9969 @see
9970
9971 @return Status of the request
9972*/
9973WDI_Status
9974WDI_AddPeriodicTxPtrnInd
9975(
9976 WDI_AddPeriodicTxPtrnParamsType *addPeriodicTxPtrnParams
9977);
9978
9979/**
9980 @brief WDI_DelPeriodicTxPtrnInd
9981
9982 @param WDI_DelPeriodicTxPtrnParamsType
9983
9984 @see
9985
9986 @return Status of the request
9987*/
9988WDI_Status
9989WDI_DelPeriodicTxPtrnInd
9990(
9991 WDI_DelPeriodicTxPtrnParamsType *delPeriodicTxPtrnParams
9992);
9993
Jeff Johnson295189b2012-06-20 16:38:30 -07009994#ifdef FEATURE_WLAN_SCAN_PNO
9995/**
9996 @brief WDI_SetPreferredNetworkList
9997
9998 @param pwdiPNOScanReqParams: the Set PNO as specified
9999 by the Device Interface
10000
10001 wdiPNOScanCb: callback for passing back the response
10002 of the Set PNO operation received from the
10003 device
10004
10005 pUserData: user data will be passed back with the
10006 callback
10007
10008 @see WDI_PostAssocReq
10009 @return Result of the function call
10010*/
10011WDI_Status
10012WDI_SetPreferredNetworkReq
10013(
10014 WDI_PNOScanReqParamsType* pwdiPNOScanReqParams,
10015 WDI_PNOScanCb wdiPNOScanCb,
10016 void* pUserData
10017);
10018
10019/**
10020 @brief WDI_SetRssiFilterReq
10021
10022 @param pwdiRssiFilterReqParams: the Set RSSI Filter as
10023 specified by the Device Interface
10024
10025 wdiRssiFilterCb: callback for passing back the response
10026 of the Set RSSI Filter operation received from the
10027 device
10028
10029 pUserData: user data will be passed back with the
10030 callback
10031
10032 @see WDI_PostAssocReq
10033 @return Result of the function call
10034*/
10035WDI_Status
10036WDI_SetRssiFilterReq
10037(
10038 WDI_SetRssiFilterReqParamsType* pwdiRssiFilterReqParams,
10039 WDI_RssiFilterCb wdiRssiFilterCb,
10040 void* pUserData
10041);
10042
10043/**
10044 @brief WDI_UpdateScanParams
10045
10046 @param pwdiUpdateScanParamsInfoType: the Update Scan Params as specified
10047 by the Device Interface
10048
10049 wdiUpdateScanParamsCb: callback for passing back the response
10050 of the Set PNO operation received from the
10051 device
10052
10053 pUserData: user data will be passed back with the
10054 callback
10055
10056 @see WDI_PostAssocReq
10057 @return Result of the function call
10058*/
10059WDI_Status
10060WDI_UpdateScanParamsReq
10061(
10062 WDI_UpdateScanParamsInfoType* pwdiUpdateScanParamsInfoType,
10063 WDI_UpdateScanParamsCb wdiUpdateScanParamsCb,
10064 void* pUserData
10065);
10066#endif // FEATURE_WLAN_SCAN_PNO
10067
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010068#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
10069/**
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010070 @brief WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010071
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010072 @param pwdiRoamScanOffloadReqParams: Start Roam Candidate Lookup Req as specified
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010073 by the Device Interface
10074
10075 wdiRoamOffloadScanCb: callback for passing back the response
10076 of the Start Roam Candidate Lookup operation received from the
10077 device
10078
10079 pUserData: user data will be passed back with the
10080 callback
10081
10082 @return Result of the function call
10083*/
10084WDI_Status
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010085WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010086(
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010087 WDI_RoamScanOffloadReqParamsType *pwdiRoamScanOffloadReqParams,
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010088 WDI_RoamOffloadScanCb wdiRoamOffloadScancb,
10089 void* pUserData
10090);
10091#endif
10092
Jeff Johnson295189b2012-06-20 16:38:30 -070010093/**
10094 @brief WDI_SetTxPerTrackingReq will be called when the upper MAC
10095 wants to set the Tx Per Tracking configurations.
10096 Upon the call of this API the WLAN DAL will pack
10097 and send a HAL Set Tx Per Tracking request message to the
10098 lower RIVA sub-system if DAL is in state STARTED.
10099
10100 In state BUSY this request will be queued. Request won't
10101 be allowed in any other state.
10102
10103 @param wdiSetTxPerTrackingConf: the Set Tx PER Tracking configurations as
10104 specified by the Device Interface
10105
10106 wdiSetTxPerTrackingCb: callback for passing back the
10107 response of the set Tx PER Tracking configurations operation received
10108 from the device
10109
10110 pUserData: user data will be passed back with the
10111 callback
10112
10113 @return Result of the function call
10114*/
10115WDI_Status
10116WDI_SetTxPerTrackingReq
10117(
10118 WDI_SetTxPerTrackingReqParamsType* pwdiSetTxPerTrackingReqParams,
10119 WDI_SetTxPerTrackingRspCb pwdiSetTxPerTrackingRspCb,
10120 void* pUserData
10121);
10122
10123/**
10124 @brief WDI_SetTmLevelReq
10125 If HW Thermal condition changed, driver should react based on new
10126 HW thermal condition.
10127
10128 @param pwdiSetTmLevelReq: New thermal condition information
10129
10130 pwdiSetTmLevelRspCb: callback
10131
10132 usrData: user data will be passed back with the
10133 callback
10134
10135 @return Result of the function call
10136*/
10137WDI_Status
10138WDI_SetTmLevelReq
10139(
10140 WDI_SetTmLevelReqType *pwdiSetTmLevelReq,
10141 WDI_SetTmLevelCb pwdiSetTmLevelRspCb,
10142 void *usrData
10143);
10144
10145#ifdef WLAN_FEATURE_PACKET_FILTERING
10146/**
10147 @brief WDI_8023MulticastListReq
10148
10149 @param pwdiRcvFltPktSetMcListReqInfo: the Set 8023 Multicast
10150 List as specified by the Device Interface
10151
10152 wdi8023MulticastListCallback: callback for passing back
10153 the response of the Set 8023 Multicast List operation
10154 received from the device
10155
10156 pUserData: user data will be passed back with the
10157 callback
10158
10159 @see WDI_PostAssocReq
10160 @return Result of the function call
10161*/
10162WDI_Status
10163WDI_8023MulticastListReq
10164(
10165 WDI_RcvFltPktSetMcListReqParamsType* pwdiRcvFltPktSetMcListReqInfo,
10166 WDI_8023MulticastListCb wdi8023MulticastListCallback,
10167 void* pUserData
10168);
10169
10170/**
10171 @brief WDI_ReceiveFilterSetFilterReq
10172
10173 @param pwdiSetRcvPktFilterReqInfo: the Set Receive Filter as
10174 specified by the Device Interface
10175
10176 wdiReceiveFilterSetFilterReqCallback: callback for
10177 passing back the response of the Set Receive Filter
10178 operation received from the device
10179
10180 pUserData: user data will be passed back with the
10181 callback
10182
10183 @see WDI_PostAssocReq
10184 @return Result of the function call
10185*/
10186WDI_Status
10187WDI_ReceiveFilterSetFilterReq
10188(
10189 WDI_SetRcvPktFilterReqParamsType* pwdiSetRcvPktFilterReqInfo,
10190 WDI_ReceiveFilterSetFilterCb wdiReceiveFilterSetFilterReqCallback,
10191 void* pUserData
10192);
10193
10194/**
10195 @brief WDI_PCFilterMatchCountReq
10196
10197 @param pwdiRcvFltPktMatchCntReqInfo: get D0 PC Filter Match
10198 Count
10199
10200 wdiPCFilterMatchCountCallback: callback for passing back
10201 the response of the D0 PC Filter Match Count operation
10202 received from the device
10203
10204 pUserData: user data will be passed back with the
10205 callback
10206
10207 @see WDI_PostAssocReq
10208 @return Result of the function call
10209*/
10210WDI_Status
10211WDI_FilterMatchCountReq
10212(
10213 WDI_RcvFltPktMatchCntReqParamsType* pwdiRcvFltPktMatchCntReqInfo,
10214 WDI_FilterMatchCountCb wdiFilterMatchCountCallback,
10215 void* pUserData
10216);
10217
10218/**
10219 @brief WDI_ReceiveFilterClearFilterReq
10220
10221 @param pwdiRcvFltPktClearReqInfo: the Clear Filter as
10222 specified by the Device Interface
10223
10224 wdiReceiveFilterClearFilterCallback: callback for
10225 passing back the response of the Clear Filter
10226 operation received from the device
10227
10228 pUserData: user data will be passed back with the
10229 callback
10230
10231 @see WDI_PostAssocReq
10232 @return Result of the function call
10233*/
10234WDI_Status
10235WDI_ReceiveFilterClearFilterReq
10236(
10237 WDI_RcvFltPktClearReqParamsType* pwdiRcvFltPktClearReqInfo,
10238 WDI_ReceiveFilterClearFilterCb wdiReceiveFilterClearFilterCallback,
10239 void* pUserData
10240);
10241#endif // WLAN_FEATURE_PACKET_FILTERING
10242
10243/**
10244 @brief WDI_HALDumpCmdReq
10245 Post HAL DUMP Command Event
10246
10247 @param halDumpCmdReqParams: Hal Dump Command Body
10248 @param halDumpCmdRspCb: callback for passing back the
10249 response
10250 @param pUserData: Client Data
10251
10252 @see
10253 @return Result of the function call
10254*/
10255WDI_Status WDI_HALDumpCmdReq(
10256 WDI_HALDumpCmdReqParamsType *halDumpCmdReqParams,
10257 WDI_HALDumpCmdRspCb halDumpCmdRspCb,
10258 void *pUserData
10259);
10260
10261
10262/**
10263 @brief WDI_SetPowerParamsReq
10264
10265 @param pwdiPowerParamsReqParams: the Set Power Params as
10266 specified by the Device Interface
10267
10268 wdiPowerParamsCb: callback for passing back the response
10269 of the Set Power Params operation received from the
10270 device
10271
10272 pUserData: user data will be passed back with the
10273 callback
10274
10275 @return Result of the function call
10276*/
10277WDI_Status
10278WDI_SetPowerParamsReq
10279(
10280 WDI_SetPowerParamsReqParamsType* pwdiPowerParamsReqParams,
10281 WDI_SetPowerParamsCb wdiPowerParamsCb,
10282 void* pUserData
10283);
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +053010284/**
10285 @brief WDI_dhcpStartInd
10286 Forward the DHCP Start event
10287
10288 @param
10289
10290 wdiDHCPInd: device mode and MAC address is passed
10291
10292 @see
10293 @return Result of the function call
10294*/
10295
10296WDI_Status
10297WDI_dhcpStartInd
10298(
10299 WDI_DHCPInd *wdiDHCPInd
10300);
10301/**
10302 @brief WDI_dhcpStopReq
10303 Forward the DHCP Stop event
10304
10305 @param
10306
10307 wdiDHCPInd: device mode and MAC address is passed
10308
10309 @see
10310 @return Result of the function call
10311*/
10312
10313WDI_Status
10314WDI_dhcpStopInd
10315(
10316 WDI_DHCPInd *wdiDHCPInd
10317);
Jeff Johnson295189b2012-06-20 16:38:30 -070010318
Chittajit Mitraf5413a42013-10-18 14:20:08 -070010319/**
10320 @brief WDI_RateUpdateInd will be called when the upper MAC
10321 requests the device to update rates.
10322
10323 In state BUSY this request will be queued. Request won't
10324 be allowed in any other state.
10325
10326
10327 @param wdiRateUpdateIndParams
10328
10329
10330 @see WDI_Start
10331 @return Result of the function call
10332*/
10333WDI_Status
10334WDI_RateUpdateInd
10335(
10336 WDI_RateUpdateIndParams *wdiRateUpdateIndParams
10337);
10338
Jeff Johnson295189b2012-06-20 16:38:30 -070010339#ifdef WLAN_FEATURE_GTK_OFFLOAD
10340/**
10341 @brief WDI_GTKOffloadReq will be called when the upper MAC
10342 wants to set GTK Rekey Counter while in power save. Upon
10343 the call of this API the WLAN DAL will pack and send a
10344 HAL GTK offload request message to the lower RIVA
10345 sub-system if DAL is in state STARTED.
10346
10347 In state BUSY this request will be queued. Request won't
10348 be allowed in any other state.
10349
10350 WDI_PostAssocReq must have been called.
10351
10352 @param pwdiGtkOffloadParams: the GTK offload as specified
10353 by the Device Interface
10354
10355 wdiGtkOffloadCb: callback for passing back the response
10356 of the GTK offload operation received from the device
10357
10358 pUserData: user data will be passed back with the
10359 callback
10360
10361 @see WDI_PostAssocReq
10362 @return Result of the function call
10363*/
10364WDI_Status
10365WDI_GTKOffloadReq
10366(
10367 WDI_GtkOffloadReqMsg* pwdiGtkOffloadReqMsg,
10368 WDI_GtkOffloadCb wdiGtkOffloadCb,
10369 void* pUserData
10370);
10371
10372/**
10373 @brief WDI_GTKOffloadGetInfoReq will be called when the upper
10374 MAC wants to get GTK Rekey Counter while in power save.
10375 Upon the call of this API the WLAN DAL will pack and
10376 send a HAL GTK offload request message to the lower RIVA
10377 sub-system if DAL is in state STARTED.
10378
10379 In state BUSY this request will be queued. Request won't
10380 be allowed in any other state.
10381
10382 WDI_PostAssocReq must have been called.
10383
10384 @param pwdiGtkOffloadGetInfoReqMsg: the GTK Offload
10385 Information Message as specified by the
10386 Device Interface
10387
10388 wdiGtkOffloadGetInfoCb: callback for passing back the
10389 response of the GTK offload operation received from the
10390 device
10391
10392 pUserData: user data will be passed back with the
10393 callback
10394
10395 @see WDI_PostAssocReq
10396 @return Result of the function call
10397*/
10398WDI_Status
10399WDI_GTKOffloadGetInfoReq
10400(
10401 WDI_GtkOffloadGetInfoReqMsg* pwdiGtkOffloadGetInfoReqMsg,
10402 WDI_GtkOffloadGetInfoCb wdiGtkOffloadGetInfoCb,
10403 void* pUserData
10404);
10405#endif // WLAN_FEATURE_GTK_OFFLOAD
10406
10407/**
10408 @brief WDI_featureCapsExchangeReq
10409 Post feature capability bitmap exchange event.
10410 Host will send its own capability to FW in this req and
10411 expect FW to send its capability back as a bitmap in Response
10412
10413 @param
10414
10415 wdiFeatCapsExcRspCb: callback called on getting the response.
10416 It is kept to mantain similarity between WDI reqs and if needed, can
10417 be used in future. Currently, It is set to NULL
10418
10419 pUserData: user data will be passed back with the
10420 callback
10421
10422 @see
10423 @return Result of the function call
10424*/
10425WDI_Status
10426WDI_featureCapsExchangeReq
10427(
10428 WDI_featureCapsExchangeCb wdiFeatureCapsExchangeCb,
10429 void* pUserData
10430);
10431
10432/**
Yathish9f22e662012-12-10 14:21:35 -080010433 @brief Disable Active mode offload in Host
10434
10435 @param void
10436 @see
10437 @return void
10438*/
10439void
10440WDI_disableCapablityFeature(wpt_uint8 feature_index);
10441
10442
10443/**
Jeff Johnson295189b2012-06-20 16:38:30 -070010444 @brief WDI_getHostWlanFeatCaps
10445 WDI API that returns whether the feature passed to it as enum value in
10446 "placeHolderInCapBitmap" is supported by Host or not. It uses WDI global
10447 variable storing host capability bitmap to find this. This can be used by
10448 other moduels to decide certain things like call different APIs based on
10449 whether a particular feature is supported.
10450
10451 @param
10452
10453 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap in wlan_hal_msg.h.
10454
10455 @see
10456 @return
10457 0 - if the feature is NOT supported in host
10458 any non-zero value - if the feature is SUPPORTED in host.
10459*/
10460wpt_uint8 WDI_getHostWlanFeatCaps(wpt_uint8 feat_enum_value);
10461
10462/**
10463 @brief WDI_getFwWlanFeatCaps
10464 WDI API that returns whether the feature passed to it as enum value in
10465 "placeHolderInCapBitmap" is supported by FW or not. It uses WDI global
10466 variable storing host capability bitmap to find this. This can be used by
10467 other moduels to decide certain things like call different APIs based on
10468 whether a particular feature is supported.
10469
10470 @param
10471
Jeff Johnsone7245742012-09-05 17:12:55 -070010472 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap
10473 in wlan_hal_msg.h.
Jeff Johnson295189b2012-06-20 16:38:30 -070010474
10475 @see
10476 @return
10477 0 - if the feature is NOT supported in FW
10478 any non-zero value - if the feature is SUPPORTED in FW.
10479*/
10480wpt_uint8 WDI_getFwWlanFeatCaps(wpt_uint8 feat_enum_value);
10481
10482/**
10483 @brief WDI_GetWcnssCompiledApiVersion - Function to get wcnss compiled
10484 api version
10485
10486 @param WDI_WlanVersionType: Wlan version structure
10487 @see
10488 @return none
10489*/
10490
10491void WDI_GetWcnssCompiledApiVersion
10492(
10493 WDI_WlanVersionType *pWcnssApiVersion
10494);
10495
Mohit Khanna4a70d262012-09-11 16:30:12 -070010496#ifdef WLAN_FEATURE_11AC
10497WDI_Status
10498WDI_UpdateVHTOpModeReq
10499(
10500 WDI_UpdateVHTOpMode *pData,
10501 WDI_UpdateVHTOpModeCb wdiUpdateVHTOpModeCb,
10502 void* pUserData
10503);
Jeff Johnson295189b2012-06-20 16:38:30 -070010504
Mohit Khanna4a70d262012-09-11 16:30:12 -070010505#endif
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070010506
10507/**
10508 @brief WDI_TransportChannelDebug -
10509 Display DXE Channel debugging information
10510 User may request to display DXE channel snapshot
10511 Or if host driver detects any abnormal stcuk may display
10512
Jeff Johnsonb88db982012-12-10 13:34:59 -080010513 @param displaySnapshot : Display DXE snapshot option
Mihir Shete40a55652014-03-02 14:14:47 +053010514 @param debugFlags : Enable stall detect features
10515 defined by WPAL_DeviceDebugFlags
10516 These features may effect
10517 data performance.
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070010518 @see
10519 @return none
10520*/
10521void WDI_TransportChannelDebug
10522(
10523 wpt_boolean displaySnapshot,
Mihir Shete40a55652014-03-02 14:14:47 +053010524 wpt_uint8 debugFlags
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070010525);
10526
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -070010527/**
10528 @brief WDI_SsrTimerCB
10529 Callback function for SSR timer, if this is called then the graceful
10530 shutdown for Riva did not happen.
10531
10532 @param pUserData : user data to timer
10533
10534 @see
10535 @return none
10536*/
10537void
10538WDI_SsrTimerCB
10539(
10540 void *pUserData
10541);
10542
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -070010543/**
10544 @brief WDI_SetEnableSSR -
10545 This API is called to enable/disable SSR on WDI timeout.
10546
10547 @param enableSSR : enable/disable SSR
10548
10549 @see
10550 @return none
10551*/
10552void WDI_SetEnableSSR(wpt_boolean enableSSR);
10553
Leo Chang9056f462013-08-01 19:21:11 -070010554#ifdef FEATURE_WLAN_LPHB
10555/**
10556 @brief WDI_LPHBConfReq
10557 This API is called to config FW LPHB rule
10558
10559 @param lphbconfParam : LPHB rule should config to FW
10560 usrData : Client context
10561 lphbCfgCb : Configuration status callback
10562 @see
10563 @return SUCCESS or FAIL
10564*/
10565WDI_Status WDI_LPHBConfReq
10566(
10567 void *lphbconfParam,
10568 void *usrData,
10569 WDI_LphbCfgCb lphbCfgCb
10570);
10571#endif /* FEATURE_WLAN_LPHB */
Rajeev79dbe4c2013-10-05 11:03:42 +053010572
Sunil Duttbd736ed2014-05-26 21:19:41 +053010573#ifdef WLAN_FEATURE_LINK_LAYER_STATS
10574/**
10575 @brief WDI_LLStatsSetReq
10576 This API is called to send set link layer stats request to FW
10577
10578 @param pwdiLLStatsSetReqParams : pointer to set link layer stats params
10579 wdiLLStatsSetRspCb : set link layer stats response callback
10580 usrData : Client context
10581 @see
10582 @return SUCCESS or FAIL
10583*/
10584WDI_Status WDI_LLStatsSetReq
10585(
10586 WDI_LLStatsSetReqType* pwdiLLStatsSetReqParams,
10587 WDI_LLStatsSetRspCb wdiLLStatsSetRspCb,
10588 void* pUserData
10589);
10590
10591/**
10592 @brief WDI_LLStatsGetReq
10593 This API is called to send get link layer stats request in FW
10594
10595 @param pwdiLLStatsGetParams : pointer to get link layer stats params
10596 wdiLLStatsGetRspCb : get link layer stats response callback
10597 usrData : Client context
10598 @see
10599 @return SUCCESS or FAIL
10600*/
10601WDI_Status WDI_LLStatsGetReq
10602(
10603 WDI_LLStatsGetReqType* pwdiLLStatsGetReqParams,
10604 WDI_LLStatsGetRspCb wdiLLStatsGetRspCb,
10605 void* pUserData
10606);
10607
10608/**
10609 @brief WDI_LLStatsClearReq
10610 This API is called to set clear link layer stats request in FW
10611
10612 @param pwdiLLStatsClearReqParams : pointer to clear link layer stats params
10613 iwdiLLStatsClearRspCb : clear link layer stats response callback
10614 usrData : Client context
10615 @see
10616 @return SUCCESS or FAIL
10617*/
10618WDI_Status WDI_LLStatsClearReq
10619(
10620 WDI_LLStatsClearReqType* pwdiLLStatsClearReqParams,
10621 WDI_LLStatsClearRspCb wdiLLStatsClearRspCb,
10622 void* pUserData
10623);
10624#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
10625
Rajeev79dbe4c2013-10-05 11:03:42 +053010626#ifdef FEATURE_WLAN_BATCH_SCAN
10627/**
10628 @brief WDI_SetBatchScanReq
10629 This API is called to set batch scan request in FW
10630
10631 @param pBatchScanReqParam : pointer to set batch scan re param
10632 usrData : Client context
10633 setBatchScanRspCb : set batch scan resp callback
10634 @see
10635 @return SUCCESS or FAIL
10636*/
10637WDI_Status WDI_SetBatchScanReq
10638(
10639 void *pBatchScanReqParam,
10640 void *usrData,
10641 WDI_SetBatchScanCb setBatchScanRspCb
10642);
10643
10644/**
10645 @brief WDI_StopBatchScanInd
10646
10647 @param none
10648
10649 @see
10650
10651 @return Status of the request
10652*/
10653WDI_Status
10654WDI_StopBatchScanInd(WDI_StopBatchScanIndType *pWdiReq);
10655
10656/**
10657 @brief WDI_TriggerBatchScanResultInd
10658 This API is called to pull batch scan result from FW
10659
10660 @param pBatchScanReqParam : pointer to trigger batch scan ind param
10661 usrData : Client context
10662 setBatchScanRspCb : get batch scan resp callback
10663 @see
10664 @return SUCCESS or FAIL
10665*/
10666WDI_Status
10667WDI_TriggerBatchScanResultInd(WDI_TriggerBatchScanResultIndType *pWdiReq);
10668
10669
10670#endif /*FEATURE_WLAN_BATCH_SCAN*/
10671
Sandeep Puligilla8b8b74b2014-02-10 16:39:05 +053010672/**
10673 @brief wdi_HT40OBSSScanInd
10674 This API is called to start OBSS scan
10675
10676 @param pWdiReq : pointer to get ind param
10677 @see
10678 @return SUCCESS or FAIL
10679*/
10680
10681WDI_Status WDI_HT40OBSSScanInd(WDI_HT40ObssScanParamsType *pWdiReq);
10682
10683/**
10684 @brief wdi_HT40OBSSStopScanInd
10685 This API is called to stop OBSS scan
10686
10687 @param bssIdx : bssIdx to stop
10688 @see
10689 @return SUCCESS or FAIL
10690*/
10691
10692WDI_Status WDI_HT40OBSSStopScanInd(wpt_uint8 bssIdx);
10693
c_hpothu92367912014-05-01 15:18:17 +053010694
10695WDI_Status WDI_GetBcnMissRate( void *pUserData,
10696 WDI_GetBcnMissRateCb wdiGetBcnMissRateCb,
10697 wpt_uint8 *bssid
10698 );
10699
Jeff Johnson295189b2012-06-20 16:38:30 -070010700#ifdef __cplusplus
10701 }
10702#endif
10703
Jeff Johnson295189b2012-06-20 16:38:30 -070010704#endif /* #ifndef WLAN_QCT_WDI_H */