blob: 42c93e04617cc937fbddbcfb97b70e13bca96eb0 [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 */
405
Jeff Johnson295189b2012-06-20 16:38:30 -0700406 WDI_MAX_IND
407}WDI_LowLevelIndEnumType;
408
409
410/*---------------------------------------------------------------------------
411 WDI_LowRSSIThIndType
412---------------------------------------------------------------------------*/
413typedef struct
414{
415 /*Positive crossing of Rssi Thresh1*/
416 wpt_uint32 bRssiThres1PosCross : 1;
417 /*Negative crossing of Rssi Thresh1*/
418 wpt_uint32 bRssiThres1NegCross : 1;
419 /*Positive crossing of Rssi Thresh2*/
420 wpt_uint32 bRssiThres2PosCross : 1;
421 /*Negative crossing of Rssi Thresh2*/
422 wpt_uint32 bRssiThres2NegCross : 1;
423 /*Positive crossing of Rssi Thresh3*/
424 wpt_uint32 bRssiThres3PosCross : 1;
425 /*Negative crossing of Rssi Thresh3*/
426 wpt_uint32 bRssiThres3NegCross : 1;
427
Srinivasdaaec712012-12-12 15:59:44 -0800428 wpt_uint32 avgRssi : 8;
429 wpt_uint32 bReserved : 18;
Jeff Johnson295189b2012-06-20 16:38:30 -0700430
431}WDI_LowRSSIThIndType;
432
433
434/*---------------------------------------------------------------------------
435 WDI_UnkAddr2FrmRxIndType
436---------------------------------------------------------------------------*/
437typedef struct
438{
439 /*Rx Bd data of the unknown received addr2 frame.*/
440 void* bufRxBd;
441
442 /*Buffer Length*/
443 wpt_uint16 usBufLen;
444}WDI_UnkAddr2FrmRxIndType;
445
446/*---------------------------------------------------------------------------
447 WDI_DeleteSTAIndType
448---------------------------------------------------------------------------*/
449typedef struct
450{
451 /*ASSOC ID, as assigned by UMAC*/
452 wpt_uint16 usAssocId;
453
454 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
455 wpt_uint8 ucSTAIdx;
456
457 /*BSSID of STA*/
458 wpt_macAddr macBSSID;
459
460 /*MAC ADDR of STA*/
461 wpt_macAddr macADDR2;
462
463 /* To unify the keepalive / unknown A2 / tim-based disa*/
464 wpt_uint16 wptReasonCode;
465
466}WDI_DeleteSTAIndType;
467
468/*---------------------------------------------------------------------------
469 WDI_MicFailureIndType
470---------------------------------------------------------------------------*/
471typedef struct
472{
473 /*current BSSID*/
474 wpt_macAddr bssId;
475
476 /*Source mac address*/
477 wpt_macAddr macSrcAddr;
478
479 /*Transmitter mac address*/
480 wpt_macAddr macTaAddr;
481
482 /*Destination mac address*/
483 wpt_macAddr macDstAddr;
484
485 /*Multicast flag*/
486 wpt_uint8 ucMulticast;
487
488 /*First byte of IV*/
489 wpt_uint8 ucIV1;
490
491 /*Key Id*/
492 wpt_uint8 keyId;
493
494 /*Sequence Number*/
495 wpt_uint8 TSC[WDI_CIPHER_SEQ_CTR_SIZE];
496
497 /*receive address */
498 wpt_macAddr macRxAddr;
499}WDI_MicFailureIndType;
500
501/*---------------------------------------------------------------------------
502 WDI_CoexIndType
503---------------------------------------------------------------------------*/
504typedef struct
505{
506 wpt_uint32 coexIndType;
507 wpt_uint32 coexIndData[WDI_COEX_IND_DATA_SIZE];
508} WDI_CoexIndType;
509
510/*---------------------------------------------------------------------------
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +0530511 WDI_DHCPInd
512---------------------------------------------------------------------------*/
513
514typedef struct
515{
516 wpt_uint8 device_mode;
517 wpt_uint8 macAddr[WDI_MAC_ADDR_LEN];
518}WDI_DHCPInd;
519
520/*---------------------------------------------------------------------------
521
Jeff Johnson295189b2012-06-20 16:38:30 -0700522 WDI_MacSSid
523---------------------------------------------------------------------------*/
524typedef struct
525{
526 wpt_uint8 ucLength;
527 wpt_uint8 sSSID[WDI_MAX_SSID_SIZE];
528} WDI_MacSSid;
529
530#ifdef FEATURE_WLAN_SCAN_PNO
531/*---------------------------------------------------------------------------
532 WDI_PrefNetworkFoundInd
533---------------------------------------------------------------------------*/
534typedef struct
535{
536 /* Network that was found with the highest RSSI*/
Srikant Kuppa066904f2013-05-07 13:56:02 -0700537 WDI_MacSSid ssId;
Jeff Johnson295189b2012-06-20 16:38:30 -0700538 /* Indicates the RSSI */
Srikant Kuppa066904f2013-05-07 13:56:02 -0700539 wpt_uint8 rssi;
540 wpt_uint16 frameLength;
541 wpt_uint8 *pData;
Jeff Johnson295189b2012-06-20 16:38:30 -0700542} WDI_PrefNetworkFoundInd;
543#endif // FEATURE_WLAN_SCAN_PNO
544
Jeff Johnson295189b2012-06-20 16:38:30 -0700545/*---------------------------------------------------------------------------
546 *WDI_P2pNoaAttrIndType
547 *-------------------------------------------------------------------------*/
Jeff Johnson295189b2012-06-20 16:38:30 -0700548typedef struct
549{
550 wpt_uint8 ucIndex ;
551 wpt_uint8 ucOppPsFlag ;
552 wpt_uint16 usCtWin ;
553
554 wpt_uint16 usNoa1IntervalCnt;
555 wpt_uint16 usRsvd1 ;
556 wpt_uint32 uslNoa1Duration;
557 wpt_uint32 uslNoa1Interval;
558 wpt_uint32 uslNoa1StartTime;
559
560 wpt_uint16 usNoa2IntervalCnt;
561 wpt_uint16 usRsvd2;
562 wpt_uint32 uslNoa2Duration;
563 wpt_uint32 uslNoa2Interval;
564 wpt_uint32 uslNoa2StartTime;
565
566 wpt_uint32 status;
567}WDI_P2pNoaAttrIndType;
Viral Modid86bde22012-12-10 13:09:21 -0800568
569/*---------------------------------------------------------------------------
570 *WDI_P2pNoaStartIndType
571 *-------------------------------------------------------------------------*/
572typedef struct
573{
574 wpt_uint32 status;
575 wpt_uint32 bssIdx;
576}WDI_P2pNoaStartIndType;
577
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530578/*---------------------------------------------------------------------------
579 *WDI_TdlsIndType
580 *-------------------------------------------------------------------------*/
581typedef struct
582{
583 wpt_uint16 status;
584 wpt_uint16 assocId;
585 wpt_uint16 staIdx;
586 wpt_uint16 reasonCode;
587}WDI_TdlsIndType;
Jeff Johnson295189b2012-06-20 16:38:30 -0700588
589#ifdef WLAN_WAKEUP_EVENTS
590/*---------------------------------------------------------------------------
591 WDI_WakeReasonIndType
592---------------------------------------------------------------------------*/
593typedef struct
594{
595 wpt_uint32 ulReason; /* see tWakeReasonType */
596 wpt_uint32 ulReasonArg; /* argument specific to the reason type */
597 wpt_uint32 ulStoredDataLen; /* length of optional data stored in this message, in case
598 HAL truncates the data (i.e. data packets) this length
599 will be less than the actual length */
600 wpt_uint32 ulActualDataLen; /* actual length of data */
601 wpt_uint8 aDataStart[1]; /* variable length start of data (length == storedDataLen)
602 see specific wake type */
603} WDI_WakeReasonIndType;
604#endif // WLAN_WAKEUP_EVENTS
605
606/*---------------------------------------------------------------------------
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800607 WDI_MissedBeaconIndType
608-----------------------------------------------------------------------------*/
609typedef struct
610{
611 wpt_uint8 bssIdx; /*bssidx on which beacon is missed*/
612} WDI_MissedBeaconIndType;
613
Leo Chang9056f462013-08-01 19:21:11 -0700614#ifdef FEATURE_WLAN_LPHB
615/*---------------------------------------------------------------------------
616 WDI_LPHBTimeoutIndData
617-----------------------------------------------------------------------------*/
618typedef struct
619{
620 wpt_uint8 bssIdx;
621 wpt_uint8 sessionIdx;
622 wpt_uint8 protocolType; /*TCP or UDP*/
623 wpt_uint8 eventReason;
624} WDI_LPHBTimeoutIndData;
625#endif /* FEATURE_WLAN_LPHB */
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800626
Yue Mab9c86f42013-08-14 15:59:08 -0700627/*-----------------------------------------------------------------------------
628WDI_PeriodicTxPtrnFwIndType
629-----------------------------------------------------------------------------*/
630typedef struct
631{
632 wpt_uint8 bssIdx;
633 wpt_uint32 selfStaIdx;
634 wpt_uint32 status;
635 wpt_uint32 patternIdBitmap;
636} WDI_PeriodicTxPtrnFwIndType;
637
Rajeev79dbe4c2013-10-05 11:03:42 +0530638#ifdef FEATURE_WLAN_BATCH_SCAN
639/*---------------------------------------------------------------------------
640 WDI_SetBatchScanReqType
641---------------------------------------------------------------------------*/
642typedef struct
643{
644 wpt_uint32 scanFrequency; /* how frequent to do scan default 30Sec*/
645 wpt_uint32 numberOfScansToBatch; /* number of scans to batch */
646 wpt_uint32 bestNetwork; /* best networks in terms of rssi */
647 wpt_uint8 rfBand; /* band to scan :
648 0 ->both Band, 1->2.4Ghz Only
649 and 2-> 5GHz Only */
650 wpt_uint32 rtt; /* set if required to do RTT it is not
651 supported in current version */
652}WDI_SetBatchScanReqType;
653
654/*---------------------------------------------------------------------------
655 WDI_SetBatchScanRspType
656---------------------------------------------------------------------------*/
657typedef struct
658{
659 /*max number of scans which FW can cache*/
660 wpt_uint32 nScansToBatch;
661}WDI_SetBatchScanRspType;
662
663/*---------------------------------------------------------------------------
664 WDI_TriggerBatchScanResultIndType
665---------------------------------------------------------------------------*/
666typedef struct
667{
668 wpt_uint32 param;
669}WDI_TriggerBatchScanResultIndType;
670
671/*---------------------------------------------------------------------------
672 WDI_StopBatchScanIndType
673---------------------------------------------------------------------------*/
674typedef struct
675{
676 /*max number of scans which FW can cache*/
677 wpt_uint32 param;
678}WDI_StopBatchScanIndType;
679
680
681/*---------------------------------------------------------------------------
682 * WDI_BatchScanResultIndType
683 *--------------------------------------------------------------------------*/
684typedef struct
685{
686 wpt_uint32 bssid[6]; /* BSSID */
687 wpt_uint32 ssid[32]; /* SSID */
688 wpt_uint32 ch; /* Channel */
689 wpt_uint32 rssi; /* RSSI or Level */
690 /* Timestamp when Network was found. Used to calculate age based on
691 timestamp in GET_RSP msg header */
692 wpt_uint32 timestamp;
693} tWDIBatchScanNetworkInfo, *tpWDIBatchScanNetworkInfo;
694
695typedef struct
696{
697 wpt_uint32 scanId; /*Scan List ID*/
698 /*No of AP in a Scan Result. Should be same as bestNetwork in SET_REQ msg*/
699 wpt_uint32 numNetworksInScanList;
700 /*Variable data ptr: Number of AP in Scan List*/
701 wpt_uint32 scanList[1];
702} tWDIBatchScanList, *tpWDIBatchScanList;
703
704typedef struct
705{
706 wpt_uint32 timestamp;
707 wpt_uint32 numScanLists;
708 wpt_boolean isLastResult;
709 /* Variable Data ptr: Number of Scan Lists*/
710 wpt_uint32 scanResults[1];
711} tWDIBatchScanResultParam, *tpWDIBatchScanResultParam;
712
713#endif
714
715
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800716/*---------------------------------------------------------------------------
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700717 WDI_IbssPeerInactivityIndType
718-----------------------------------------------------------------------------*/
719typedef struct
720{
721 wpt_uint8 bssIdx;
722 wpt_uint8 staIdx;
723 wpt_macAddr staMacAddr;
724}WDI_IbssPeerInactivityIndType;
725
726/*---------------------------------------------------------------------------
Chittajit Mitraf5413a42013-10-18 14:20:08 -0700727 WDI_TxRateFlags
728-----------------------------------------------------------------------------*/
729typedef enum
730{
731 WDI_TX_RATE_LEGACY = 0x1, /* Legacy rates */
732 WDI_TX_RATE_HT20 = 0x2, /* HT20 rates */
733 WDI_TX_RATE_HT40 = 0x4, /* HT40 rates */
734 WDI_TX_RATE_SGI = 0x8, /* Rate with Short guard interval */
735 WDI_TX_RATE_LGI = 0x10, /* Rate with Long guard interval */
736 WDI_TX_RATE_VHT20 = 0x20, /* VHT 20 rates */
737 WDI_TX_RATE_VHT40 = 0x40, /* VHT 20 rates */
738 WDI_TX_RATE_VHT80 = 0x80, /* VHT 20 rates */
739 WDI_TX_RATE_VIRT = 0x100, /* Virtual Rate */
740} WDI_TxRateFlags;
741
742/*---------------------------------------------------------------------------
743 WDI_RateUpdateIndParams
744-----------------------------------------------------------------------------*/
745typedef struct
746{
747 /* 0 implies RA, positive value implies fixed rate, -1 implies ignore this
748 * param ucastDataRate can be used to control RA behavior of unicast data to
749 */
750 wpt_int32 ucastDataRate;
751
752 /* TX flag to differentiate between HT20, HT40 etc */
753 WDI_TxRateFlags ucastDataRateTxFlag;
754
755 /* BSSID - Optional. 00-00-00-00-00-00 implies apply to all BCAST STAs */
756 wpt_macAddr bssid;
757
758 /*
759 * 0 implies MCAST RA, positive value implies fixed rate,
760 * -1 implies ignore this param
761 */
762 wpt_int32 reliableMcastDataRate; //unit Mbpsx10
763
764 /* TX flag to differentiate between HT20, HT40 etc */
765 WDI_TxRateFlags reliableMcastDataRateTxFlag;
766
767 /*
768 * MCAST(or BCAST) fixed data rate in 2.4 GHz, unit Mbpsx10,
769 * 0 implies ignore
770 */
771 wpt_uint32 mcastDataRate24GHz;
772
773 /* TX flag to differentiate between HT20, HT40 etc */
774 WDI_TxRateFlags mcastDataRate24GHzTxFlag;
775
776 /*
777 * MCAST(or BCAST) fixed data rate in 5 GHz,
778 * unit Mbpsx10, 0 implies ignore
779 */
780 wpt_uint32 mcastDataRate5GHz;
781
782 /* TX flag to differentiate between HT20, HT40 etc */
783 WDI_TxRateFlags mcastDataRate5GHzTxFlag;
784
785 /*
786 * Request status callback offered by UMAC - it is called if the current
787 * req has returned PENDING as status; it delivers the status of sending
788 * the message over the BUS
789 */
790 WDI_ReqStatusCb wdiReqStatusCB;
791
792 /*
793 * The user data passed in by UMAC, it will be sent back when the above
794 * function pointer will be called
795 */
796 void *pUserData;
797
798} WDI_RateUpdateIndParams;
799
Leo Chang0b0e45a2013-12-15 15:18:55 -0800800#ifdef FEATURE_WLAN_CH_AVOID
801#define WDI_CH_AVOID_MAX_RANGE 4
802
803typedef struct
804{
805 wpt_uint32 startFreq;
806 wpt_uint32 endFreq;
807} WDI_ChAvoidFreqType;
808
809typedef struct
810{
811 wpt_uint32 avoidRangeCount;
812 WDI_ChAvoidFreqType avoidFreqRange[WDI_CH_AVOID_MAX_RANGE];
813} WDI_ChAvoidIndType;
814#endif /* FEATURE_WLAN_CH_AVOID */
815
Chittajit Mitraf5413a42013-10-18 14:20:08 -0700816/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -0700817 WDI_LowLevelIndType
818 Inidcation type and information about the indication being carried
819 over
820---------------------------------------------------------------------------*/
821typedef struct
822{
823 /*Inidcation type*/
824 WDI_LowLevelIndEnumType wdiIndicationType;
825
826 /*Indication data*/
827 union
828 {
829 /*RSSI Threshold Info for WDI_LOW_RSSI_IND*/
830 WDI_LowRSSIThIndType wdiLowRSSIInfo;
831
832 /*Addr2 Frame Info for WDI_UNKNOWN_ADDR2_FRAME_RX_IND*/
833 WDI_UnkAddr2FrmRxIndType wdiUnkAddr2FrmInfo;
834
835 /*MIC Failure info for WDI_MIC_FAILURE_IND*/
836 WDI_MicFailureIndType wdiMICFailureInfo;
837
838 /*Error code for WDI_FATAL_ERROR_IND*/
839 wpt_uint16 usErrorCode;
840
841 /*Delete STA Indication*/
842 WDI_DeleteSTAIndType wdiDeleteSTAIndType;
843
844 /*Coex Indication*/
845 WDI_CoexIndType wdiCoexInfo;
846
847 /* Tx Complete Indication */
848 wpt_uint32 tx_complete_status;
849
Jeff Johnson295189b2012-06-20 16:38:30 -0700850 /* P2P NOA ATTR Indication */
851 WDI_P2pNoaAttrIndType wdiP2pNoaAttrInfo;
Viral Modid86bde22012-12-10 13:09:21 -0800852 WDI_P2pNoaStartIndType wdiP2pNoaStartInfo;
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530853 /* TDLS Indications */
854 WDI_TdlsIndType wdiTdlsIndInfo;
Jeff Johnson295189b2012-06-20 16:38:30 -0700855
856
857#ifdef FEATURE_WLAN_SCAN_PNO
858 WDI_PrefNetworkFoundInd wdiPrefNetworkFoundInd;
859#endif // FEATURE_WLAN_SCAN_PNO
860
861#ifdef WLAN_WAKEUP_EVENTS
862 WDI_WakeReasonIndType wdiWakeReasonInd;
863#endif // WLAN_WAKEUP_EVENTS
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800864 WDI_MissedBeaconIndType wdiMissedBeaconInd;
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700865
Leo Chang9056f462013-08-01 19:21:11 -0700866#ifdef FEATURE_WLAN_LPHB
867 WDI_LPHBTimeoutIndData wdiLPHBTimeoutInd;
868#endif /* FEATURE_WLAN_LPHB */
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700869
870 /* IBSS Peer Inactivity Indication */
871 WDI_IbssPeerInactivityIndType wdiIbssPeerInactivityInd;
872
Yue Mab9c86f42013-08-14 15:59:08 -0700873 /* Periodic TX Pattern FW Indication */
874 WDI_PeriodicTxPtrnFwIndType wdiPeriodicTxPtrnFwInd;
Rajeev79dbe4c2013-10-05 11:03:42 +0530875
876#ifdef FEATURE_WLAN_BATCH_SCAN
877 /*batch scan result indication from FW*/
878 void *pBatchScanResult;
879#endif
880
Leo Chang0b0e45a2013-12-15 15:18:55 -0800881#ifdef FEATURE_WLAN_CH_AVOID
882 WDI_ChAvoidIndType wdiChAvoidInd;
883#endif /* FEATURE_WLAN_CH_AVOID */
Jeff Johnson295189b2012-06-20 16:38:30 -0700884 } wdiIndicationData;
885}WDI_LowLevelIndType;
886
887/*---------------------------------------------------------------------------
888 WDI_LowLevelIndCBType
889
890 DESCRIPTION
891
892 This callback is invoked by DAL to deliver to UMAC certain indications
893 that has either received from the lower device or has generated itself.
894
895 PARAMETERS
896
897 IN
898 pwdiInd: information about the indication sent over
899 pUserData: user data provided by UMAC during registration
900
901
902
903 RETURN VALUE
904 The result code associated with performing the operation
905---------------------------------------------------------------------------*/
906typedef void (*WDI_LowLevelIndCBType)(WDI_LowLevelIndType* pwdiInd,
907 void* pUserData);
908
909/*---------------------------------------------------------------------------
910 WDI_DriverType
911---------------------------------------------------------------------------*/
912typedef enum
913{
914 WDI_DRIVER_TYPE_PRODUCTION = 0,
915 WDI_DRIVER_TYPE_MFG = 1,
916 WDI_DRIVER_TYPE_DVT = 2
917} WDI_DriverType;
918
919/*---------------------------------------------------------------------------
920 WDI_StartReqParamsType
921---------------------------------------------------------------------------*/
922typedef struct
923{
924 /*This is a TLV formatted buffer containing all config values that can
925 be set through the DAL Interface
926
927 The TLV is expected to be formatted like this:
928
929 0 7 15 31 ....
930 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
931
932 Or from a C construct point of VU it would look like this:
933
934 typedef struct WPT_PACK_POST
935 {
936 #ifdef WPT_BIG_ENDIAN
937 wpt_uint32 ucCfgId:8;
938 wpt_uint32 ucCfgLen:8;
939 wpt_uint32 usReserved:16;
940 #else
941 wpt_uint32 usReserved:16;
942 wpt_uint32 ucCfgLen:8;
943 wpt_uint32 ucCfgId:8;
944 #endif
945
946 wpt_uint8 ucCfgBody[ucCfgLen];
947 }WDI_ConfigType;
948
949 Multiple such tuplets are to be placed in the config buffer. One for
950 each required configuration item:
951
952 | TLV 1 | TLV2 | ....
953
954 The buffer is expected to be a flat area of memory that can be manipulated
955 with standard memory routines.
956
957 For more info please check paragraph 2.3.1 Config Structure from the
958 HAL LLD.
959
960 For a list of accepted configuration list and IDs please look up
961 wlan_qct_dal_cfg.h
962
963 */
964 void* pConfigBuffer;
965
966 /*Length of the config buffer above*/
967 wpt_uint16 usConfigBufferLen;
968
969 /*Production or FTM driver*/
970 WDI_DriverType wdiDriverType;
971
972 /*Should device enable frame translation */
973 wpt_uint8 bFrameTransEnabled;
974
975 /*Request status callback offered by UMAC - it is called if the current
976 req has returned PENDING as status; it delivers the status of sending
977 the message over the BUS */
978 WDI_ReqStatusCb wdiReqStatusCB;
979
980 /*The user data passed in by UMAC, it will be sent back when the above
981 function pointer will be called */
982 void* pUserData;
983
984 /*Indication callback given by UMAC to be called by the WLAN DAL when it
985 wishes to send something back independent of a request*/
986 WDI_LowLevelIndCBType wdiLowLevelIndCB;
987
988 /*The user data passed in by UMAC, it will be sent back when the indication
989 function pointer will be called */
990 void* pIndUserData;
991}WDI_StartReqParamsType;
992
993
994/*---------------------------------------------------------------------------
995 WDI_StartRspParamsType
996---------------------------------------------------------------------------*/
997typedef struct
998{
999 /*Status of the response*/
1000 WDI_Status wdiStatus;
1001
1002 /*Max number of STA supported by the device*/
1003 wpt_uint8 ucMaxStations;
1004
1005 /*Max number of BSS supported by the device*/
1006 wpt_uint8 ucMaxBssids;
1007
1008 /*Version of the WLAN HAL API with which we were compiled*/
1009 WDI_WlanVersionType wlanCompiledVersion;
1010
1011 /*Version of the WLAN HAL API that was reported*/
1012 WDI_WlanVersionType wlanReportedVersion;
1013
1014 /*WCNSS Software version string*/
1015 wpt_uint8 wcnssSoftwareVersion[WDI_VERSION_LENGTH];
1016
1017 /*WCNSS Hardware version string*/
1018 wpt_uint8 wcnssHardwareVersion[WDI_VERSION_LENGTH];
1019}WDI_StartRspParamsType;
1020
1021
1022/*---------------------------------------------------------------------------
1023 WDI_StopType
1024---------------------------------------------------------------------------*/
1025typedef enum
1026{
1027 /*Device is being stopped due to a reset*/
1028 WDI_STOP_TYPE_SYS_RESET,
1029
1030 /*Device is being stopped due to entering deep sleep*/
1031 WDI_STOP_TYPE_SYS_DEEP_SLEEP,
1032
1033 /*Device is being stopped because the RF needs to shut off
1034 (e.g.:Airplane mode)*/
1035 WDI_STOP_TYPE_RF_KILL
1036}WDI_StopType;
1037
1038/*---------------------------------------------------------------------------
1039 WDI_StopReqParamsType
1040---------------------------------------------------------------------------*/
1041typedef struct
1042{
1043
1044 /*The reason for which the device is being stopped*/
1045 WDI_StopType wdiStopReason;
1046
1047 /*Request status callback offered by UMAC - it is called if the current
1048 req has returned PENDING as status; it delivers the status of sending
1049 the message over the BUS */
1050 WDI_ReqStatusCb wdiReqStatusCB;
1051
1052 /*The user data passed in by UMAC, it will be sent back when the above
1053 function pointer will be called */
1054 void* pUserData;
1055}WDI_StopReqParamsType;
1056
1057
1058/*---------------------------------------------------------------------------
1059 WDI_ScanMode
1060---------------------------------------------------------------------------*/
1061typedef enum
1062{
1063 WDI_SCAN_MODE_NORMAL = 0,
1064 WDI_SCAN_MODE_LEARN,
1065 WDI_SCAN_MODE_SCAN,
1066 WDI_SCAN_MODE_PROMISC,
Madan Mohan Koyyalamudi9b876782012-10-11 16:22:51 -07001067 WDI_SCAN_MODE_SUSPEND_LINK,
1068 WDI_SCAN_MODE_ROAM_SCAN,
1069 WDI_SCAN_MODE_ROAM_SUSPEND_LINK,
1070
Jeff Johnson295189b2012-06-20 16:38:30 -07001071} WDI_ScanMode;
1072
1073/*---------------------------------------------------------------------------
1074 WDI_ScanEntry
1075---------------------------------------------------------------------------*/
1076typedef struct
1077{
1078 wpt_uint8 bssIdx[WDI_NUM_BSSID];
1079 wpt_uint8 activeBSScnt;
1080}WDI_ScanEntry;
1081
1082/*---------------------------------------------------------------------------
1083 WDI_InitScanReqInfoType
1084---------------------------------------------------------------------------*/
1085typedef struct
1086{
1087 /*LEARN - AP Role
1088 SCAN - STA Role*/
1089 WDI_ScanMode wdiScanMode;
1090
1091 /*BSSID of the BSS*/
1092 wpt_macAddr macBSSID;
1093
1094 /*Whether BSS needs to be notified*/
1095 wpt_boolean bNotifyBSS;
1096
1097 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
1098 CTS to Self). Must always be a valid frame type.*/
1099 wpt_uint8 ucFrameType;
1100
1101 /*UMAC has the option of passing the MAC frame to be used for notifying
1102 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
1103 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
1104 frameType.*/
1105 wpt_uint8 ucFrameLength;
1106
1107 /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/
1108 WDI_MacMgmtHdr wdiMACMgmtHdr;
1109
1110 /*Entry to hold number of active BSS to send NULL frames before
1111 * initiating SCAN*/
1112 WDI_ScanEntry wdiScanEntry;
1113
1114 /* Flag to enable/disable Single NOA*/
1115 wpt_boolean bUseNOA;
1116
1117 /* Indicates the scan duration (in ms) */
1118 wpt_uint16 scanDuration;
1119
1120}WDI_InitScanReqInfoType;
1121
1122/*---------------------------------------------------------------------------
1123 WDI_InitScanReqParamsType
1124---------------------------------------------------------------------------*/
1125typedef struct
1126{
1127 /*The info associated with the request that needs to be sent over to the
1128 device*/
1129 WDI_InitScanReqInfoType wdiReqInfo;
1130
1131 /*Request status callback offered by UMAC - it is called if the current
1132 req has returned PENDING as status; it delivers the status of sending
1133 the message over the BUS */
1134 WDI_ReqStatusCb wdiReqStatusCB;
1135
1136 /*The user data passed in by UMAC, it will be sent back when the above
1137 function pointer will be called */
1138 void* pUserData;
1139}WDI_InitScanReqParamsType;
1140
1141/*---------------------------------------------------------------------------
1142 WDI_StartScanReqParamsType
1143---------------------------------------------------------------------------*/
1144typedef struct
1145{
1146 /*Indicates the channel to scan*/
1147 wpt_uint8 ucChannel;
1148
1149 /*Request status callback offered by UMAC - it is called if the current
1150 req has returned PENDING as status; it delivers the status of sending
1151 the message over the BUS */
1152 WDI_ReqStatusCb wdiReqStatusCB;
1153
1154 /*The user data passed in by UMAC, it will be sent back when the above
1155 function pointer will be called */
1156 void* pUserData;
1157}WDI_StartScanReqParamsType;
1158
1159/*---------------------------------------------------------------------------
1160 WDI_StartScanRspParamsType
1161---------------------------------------------------------------------------*/
1162typedef struct
1163{
1164 /*Indicates the status of the operation */
1165 WDI_Status wdiStatus;
1166
1167#if defined WLAN_FEATURE_VOWIFI
1168 wpt_uint32 aStartTSF[2];
1169 wpt_int8 ucTxMgmtPower;
1170#endif
1171}WDI_StartScanRspParamsType;
1172
1173/*---------------------------------------------------------------------------
1174 WDI_EndScanReqParamsType
1175---------------------------------------------------------------------------*/
1176typedef struct
1177{
1178 /*Indicates the channel to stop scanning. Not used really. But retained
1179 for symmetry with "start Scan" message. It can also help in error
1180 check if needed.*/
1181 wpt_uint8 ucChannel;
1182
1183 /*Request status callback offered by UMAC - it is called if the current
1184 req has returned PENDING as status; it delivers the status of sending
1185 the message over the BUS */
1186 WDI_ReqStatusCb wdiReqStatusCB;
1187
1188 /*The user data passed in by UMAC, it will be sent back when the above
1189 function pointer will be called */
1190 void* pUserData;
1191}WDI_EndScanReqParamsType;
1192
1193/*---------------------------------------------------------------------------
1194 WDI_PhyChanBondState
1195---------------------------------------------------------------------------*/
1196typedef enum
1197{
1198 WDI_PHY_SINGLE_CHANNEL_CENTERED = 0,
1199 WDI_PHY_DOUBLE_CHANNEL_LOW_PRIMARY = 1,
1200 WDI_PHY_DOUBLE_CHANNEL_CENTERED = 2,
Jeff Johnsone7245742012-09-05 17:12:55 -07001201 WDI_PHY_DOUBLE_CHANNEL_HIGH_PRIMARY = 3,
1202#ifdef WLAN_FEATURE_11AC
1203 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_CENTERED = 4, //20/40MHZ offset LOW 40/80MHZ offset CENTERED
1204 WDI_QUADRUPLE_CHANNEL_20MHZ_CENTERED_40MHZ_CENTERED = 5, //20/40MHZ offset CENTERED 40/80MHZ offset CENTERED
1205 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_CENTERED = 6, //20/40MHZ offset HIGH 40/80MHZ offset CENTERED
1206 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_LOW = 7,//20/40MHZ offset LOW 40/80MHZ offset LOW
1207 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_LOW = 8, //20/40MHZ offset HIGH 40/80MHZ offset LOW
1208 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_HIGH = 9, //20/40MHZ offset LOW 40/80MHZ offset HIGH
1209 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_HIGH = 10,//20/40MHZ offset-HIGH 40/80MHZ offset HIGH
1210#endif
1211 WDI_MAX_CB_STATE
Jeff Johnson295189b2012-06-20 16:38:30 -07001212} WDI_PhyChanBondState;
1213
1214/*---------------------------------------------------------------------------
1215 WDI_FinishScanReqInfoType
1216---------------------------------------------------------------------------*/
1217typedef struct
1218{
1219 /*LEARN - AP Role
1220 SCAN - STA Role*/
1221 WDI_ScanMode wdiScanMode;
1222
1223 /*Operating channel to tune to.*/
1224 wpt_uint8 ucCurrentOperatingChannel;
1225
1226 /*Channel Bonding state If 20/40 MHz is operational, this will indicate the
1227 40 MHz extension channel in combination with the control channel*/
1228 WDI_PhyChanBondState wdiCBState;
1229
1230 /*BSSID of the BSS*/
1231 wpt_macAddr macBSSID;
1232
1233 /*Whether BSS needs to be notified*/
1234 wpt_boolean bNotifyBSS;
1235
1236 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
1237 CTS to Self). Must always be a valid frame type.*/
1238 wpt_uint8 ucFrameType;
1239
1240 /*UMAC has the option of passing the MAC frame to be used for notifying
1241 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
1242 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
1243 frameType.*/
1244 wpt_uint8 ucFrameLength;
1245
1246 /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/
1247 WDI_MacMgmtHdr wdiMACMgmtHdr;
1248
1249 /*Entry to hold number of active BSS to send NULL frames after SCAN*/
1250 WDI_ScanEntry wdiScanEntry;
1251
1252}WDI_FinishScanReqInfoType;
1253
1254/*---------------------------------------------------------------------------
1255 WDI_SwitchChReqInfoType
1256---------------------------------------------------------------------------*/
1257typedef struct
1258{
1259 /*Indicates the channel to switch to.*/
1260 wpt_uint8 ucChannel;
1261
1262 /*Local power constraint*/
1263 wpt_uint8 ucLocalPowerConstraint;
1264
1265 /*Secondary channel offset */
1266 WDI_HTSecondaryChannelOffset wdiSecondaryChannelOffset;
1267
1268#ifdef WLAN_FEATURE_VOWIFI
1269 wpt_int8 cMaxTxPower;
1270
1271 /*Self STA Mac address*/
1272 wpt_macAddr macSelfStaMacAddr;
1273#endif
1274 /* VO Wifi comment: BSSID is needed to identify which session issued this request. As the
1275 request has power constraints, this should be applied only to that session */
1276 /* V IMP: Keep bssId field at the end of this msg. It is used to mantain backward compatbility
1277 * by way of ignoring if using new host/old FW or old host/new FW since it is at the end of this struct
1278 */
1279 wpt_macAddr macBSSId;
1280
1281}WDI_SwitchChReqInfoType;
1282
1283/*---------------------------------------------------------------------------
1284 WDI_SwitchChReqParamsType
1285---------------------------------------------------------------------------*/
1286typedef struct
1287{
1288 /*Channel Info*/
1289 WDI_SwitchChReqInfoType wdiChInfo;
1290
1291 /*Request status callback offered by UMAC - it is called if the current
1292 req has returned PENDING as status; it delivers the status of sending
1293 the message over the BUS */
1294 WDI_ReqStatusCb wdiReqStatusCB;
1295
1296 /*The user data passed in by UMAC, it will be sent back when the above
1297 function pointer will be called */
1298 void* pUserData;
1299}WDI_SwitchChReqParamsType;
1300
1301/*---------------------------------------------------------------------------
1302 WDI_FinishScanReqParamsType
1303---------------------------------------------------------------------------*/
1304typedef struct
1305{
1306 /*Info for the Finish Scan request that will be sent down to the device*/
1307 WDI_FinishScanReqInfoType wdiReqInfo;
1308
1309 /*Request status callback offered by UMAC - it is called if the current
1310 req has returned PENDING as status; it delivers the status of sending
1311 the message over the BUS */
1312 WDI_ReqStatusCb wdiReqStatusCB;
1313
1314 /*The user data passed in by UMAC, it will be sent back when the above
1315 function pointer will be called */
1316 void* pUserData;
1317}WDI_FinishScanReqParamsType;
1318
1319/*---------------------------------------------------------------------------
1320 WDI_JoinReqInfoType
1321---------------------------------------------------------------------------*/
1322typedef struct
1323{
1324 /*Indicates the BSSID to which STA is going to associate*/
1325 wpt_macAddr macBSSID;
1326
1327 /*Indicates the MAC Address of the current Self STA*/
1328 wpt_macAddr macSTASelf;
1329
1330 /*Indicates the link State determining the entity Type e.g. BTAMP-STA, STA etc.*/
1331 wpt_uint32 linkState;
1332
1333 /*Indicates the channel to switch to.*/
1334 WDI_SwitchChReqInfoType wdiChannelInfo;
1335
1336}WDI_JoinReqInfoType;
1337
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08001338typedef enum
1339{
1340 eWDI_CHANNEL_SWITCH_SOURCE_SCAN,
1341 eWDI_CHANNEL_SWITCH_SOURCE_LISTEN,
1342 eWDI_CHANNEL_SWITCH_SOURCE_MCC,
1343 eWDI_CHANNEL_SWITCH_SOURCE_CSA,
1344 eWDI_CHANNEL_SWITCH_SOURCE_MAX = 0x7FFFFFFF
1345} WDI_ChanSwitchSource;
1346
1347/*---------------------------------------------------------------------------
1348 WDI_SwitchChReqInfoType_V1
1349---------------------------------------------------------------------------*/
1350typedef struct
1351{
1352 /*Indicates the channel to switch to.*/
1353 wpt_uint8 ucChannel;
1354
1355 /*Local power constraint*/
1356 wpt_uint8 ucLocalPowerConstraint;
1357
1358 /*Secondary channel offset */
1359 WDI_HTSecondaryChannelOffset wdiSecondaryChannelOffset;
1360
1361#ifdef WLAN_FEATURE_VOWIFI
1362 wpt_int8 cMaxTxPower;
1363 /*Self STA Mac address*/
1364 wpt_macAddr macSelfStaMacAddr;
1365#endif
1366 /* VO Wifi comment: BSSID is needed to identify which session
1367 issued this request. As the request has power constraints, this
1368 should be applied only to that session
1369 */
1370 /* V IMP: Keep bssId field at the end of this msg. It is used to
1371 maintain backward compatibility by way of ignoring if using new
1372 host/old FW or old host/new FW since it is at the end of this struct
1373 */
1374 wpt_macAddr macBSSId;
1375 /* Source of Channel Switch */
1376 WDI_ChanSwitchSource channelSwitchSrc;
1377}WDI_SwitchChReqInfoType_V1;
1378
1379/*--------------------------------------------------------------------
1380 WDI_SwitchChReqParamsType_V1
1381----------------------------------------------------------------------*/
1382typedef struct
1383{
1384 /*Channel Info*/
1385 WDI_SwitchChReqInfoType_V1 wdiChInfo;
1386
1387 /*Request status callback offered by UMAC - it is called if the current
1388 req has returned PENDING as status; it delivers the status of sending
1389 the message over the BUS */
1390 WDI_ReqStatusCb wdiReqStatusCB;
1391
1392 /*The user data passed in by UMAC, it will be sent back when the above
1393 function pointer will be called */
1394 void* pUserData;
1395}WDI_SwitchChReqParamsType_V1;
1396
Jeff Johnson295189b2012-06-20 16:38:30 -07001397/*---------------------------------------------------------------------------
1398 WDI_JoinReqParamsType
1399---------------------------------------------------------------------------*/
1400typedef struct
1401{
1402 /*Info for the Join request that will be sent down to the device*/
1403 WDI_JoinReqInfoType wdiReqInfo;
1404
1405 /*Request status callback offered by UMAC - it is called if the current
1406 req has returned PENDING as status; it delivers the status of sending
1407 the message over the BUS */
1408 WDI_ReqStatusCb wdiReqStatusCB;
1409
1410 /*The user data passed in by UMAC, it will be sent back when the above
1411 function pointer will be called */
1412 void* pUserData;
1413}WDI_JoinReqParamsType;
1414
1415/*---------------------------------------------------------------------------
1416 WDI_BssType
1417---------------------------------------------------------------------------*/
1418typedef enum
1419{
1420 WDI_INFRASTRUCTURE_MODE,
1421 WDI_INFRA_AP_MODE, //Added for softAP support
1422 WDI_IBSS_MODE,
1423 WDI_BTAMP_STA_MODE,
1424 WDI_BTAMP_AP_MODE,
1425 WDI_BSS_AUTO_MODE,
1426}WDI_BssType;
1427
1428/*---------------------------------------------------------------------------
1429 WDI_NwType
1430---------------------------------------------------------------------------*/
1431typedef enum
1432{
1433 WDI_11A_NW_TYPE,
1434 WDI_11B_NW_TYPE,
1435 WDI_11G_NW_TYPE,
1436 WDI_11N_NW_TYPE,
1437} WDI_NwType;
1438
1439/*---------------------------------------------------------------------------
1440 WDI_ConfigAction
1441---------------------------------------------------------------------------*/
1442typedef enum
1443{
1444 WDI_ADD_BSS,
1445 WDI_UPDATE_BSS
1446} WDI_ConfigAction;
1447
1448/*---------------------------------------------------------------------------
1449 WDI_HTOperatingMode
1450---------------------------------------------------------------------------*/
1451typedef enum
1452{
1453 WDI_HT_OP_MODE_PURE,
1454 WDI_HT_OP_MODE_OVERLAP_LEGACY,
1455 WDI_HT_OP_MODE_NO_LEGACY_20MHZ_HT,
1456 WDI_HT_OP_MODE_MIXED
1457
1458} WDI_HTOperatingMode;
1459
1460
1461/*---------------------------------------------------------------------------
1462 WDI_STAEntryType
1463---------------------------------------------------------------------------*/
1464typedef enum
1465{
1466 WDI_STA_ENTRY_SELF,
1467 WDI_STA_ENTRY_PEER,
1468 WDI_STA_ENTRY_BSSID,
Mohit Khanna698ba2a2012-12-04 15:08:18 -08001469 WDI_STA_ENTRY_BCAST,
1470#ifdef FEATURE_WLAN_TDLS
1471 WDI_STA_ENTRY_TDLS_PEER,
1472#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001473}WDI_STAEntryType;
1474
1475/*---------------------------------------------------------------------------
1476 WDI_ConfigActionType
1477---------------------------------------------------------------------------*/
1478typedef enum
1479{
1480 WDI_ADD_STA,
1481 WDI_UPDATE_STA
1482} WDI_ConfigActionType;
1483
1484/*----------------------------------------------------------------------------
1485 Each station added has a rate mode which specifies the sta attributes
1486 ----------------------------------------------------------------------------*/
1487typedef enum
1488{
1489 WDI_RESERVED_1 = 0,
1490 WDI_RESERVED_2,
1491 WDI_RESERVED_3,
1492 WDI_11b,
1493 WDI_11bg,
1494 WDI_11a,
1495 WDI_11n,
1496} WDI_RateModeType;
1497
1498/*---------------------------------------------------------------------------
1499 WDI_SupportedRatesType
1500---------------------------------------------------------------------------*/
1501typedef struct
1502{
1503 /*
1504 * For Self STA Entry: this represents Self Mode.
1505 * For Peer Stations, this represents the mode of the peer.
1506 * On Station:
1507 * --this mode is updated when PE adds the Self Entry.
1508 * -- OR when PE sends 'ADD_BSS' message and station context in BSS is used to indicate the mode of the AP.
1509 * ON AP:
1510 * -- this mode is updated when PE sends 'ADD_BSS' and Sta entry for that BSS is used
1511 * to indicate the self mode of the AP.
1512 * -- OR when a station is associated, PE sends 'ADD_STA' message with this mode updated.
1513 */
1514
1515 WDI_RateModeType opRateMode;
1516
1517 /* 11b, 11a and aniLegacyRates are IE rates which gives rate in unit of 500Kbps */
1518 wpt_uint16 llbRates[WDI_NUM_11B_RATES];
1519 wpt_uint16 llaRates[WDI_NUM_11A_RATES];
1520 wpt_uint16 aLegacyRates[WDI_NUM_POLARIS_RATES];
1521
1522 /*Taurus only supports 26 Titan Rates(no ESF/concat Rates will be supported)
1523 First 26 bits are reserved for those Titan rates and
1524 the last 4 bits(bit28-31) for Taurus, 2(bit26-27) bits are reserved.*/
1525 wpt_uint32 uEnhancedRateBitmap; //Titan and Taurus Rates
1526
1527 /*
1528 * 0-76 bits used, remaining reserved
1529 * bits 0-15 and 32 should be set.
1530 */
1531 wpt_uint8 aSupportedMCSSet[WDI_MAC_MAX_SUPPORTED_MCS_SET];
1532
1533 /*
1534 * RX Highest Supported Data Rate defines the highest data
1535 * rate that the STA is able to receive, in unites of 1Mbps.
1536 * This value is derived from "Supported MCS Set field" inside
1537 * the HT capability element.
1538 */
1539 wpt_uint16 aRxHighestDataRate;
1540
Jeff Johnsone7245742012-09-05 17:12:55 -07001541
1542#ifdef WLAN_FEATURE_11AC
1543 /*Indicates the Maximum MCS that can be received for each number
1544 of spacial streams */
1545 wpt_uint16 vhtRxMCSMap;
1546 /*Indicate the highest VHT data rate that the STA is able to receive*/
1547 wpt_uint16 vhtRxHighestDataRate;
1548 /*Indicates the Maximum MCS that can be transmitted for each number
1549 of spacial streams */
1550 wpt_uint16 vhtTxMCSMap;
1551 /*Indicate the highest VHT data rate that the STA is able to transmit*/
1552 wpt_uint16 vhtTxHighestDataRate;
1553#endif
1554
Jeff Johnson295189b2012-06-20 16:38:30 -07001555} WDI_SupportedRates;
1556
1557/*--------------------------------------------------------------------------
1558 WDI_HTMIMOPowerSaveState
1559 Spatial Multiplexing(SM) Power Save mode
1560 --------------------------------------------------------------------------*/
1561typedef enum
1562{
1563 WDI_HT_MIMO_PS_STATIC = 0, // Static SM Power Save mode
1564 WDI_HT_MIMO_PS_DYNAMIC = 1, // Dynamic SM Power Save mode
1565 WDI_HT_MIMO_PS_NA = 2, // reserved
1566 WDI_HT_MIMO_PS_NO_LIMIT = 3, // SM Power Save disabled
1567} WDI_HTMIMOPowerSaveState;
1568
1569/*---------------------------------------------------------------------------
1570 WDI_ConfigStaReqInfoType
1571---------------------------------------------------------------------------*/
1572typedef struct
1573{
1574 /*BSSID of STA*/
1575 wpt_macAddr macBSSID;
1576
1577 /*ASSOC ID, as assigned by UMAC*/
1578 wpt_uint16 usAssocId;
1579
1580 /*Used for configuration of different HW modules.*/
1581 WDI_STAEntryType wdiSTAType;
1582
Gopichand Nakkalae7cbc5d2013-03-27 21:09:23 -07001583 /*STA Index */
1584 wpt_uint8 staIdx;
1585
Jeff Johnson295189b2012-06-20 16:38:30 -07001586 /*Short Preamble Supported.*/
1587 wpt_uint8 ucShortPreambleSupported;
1588
1589 /*MAC Address of STA*/
1590 wpt_macAddr macSTA;
1591
1592 /*Listen interval of the STA*/
1593 wpt_uint16 usListenInterval;
1594
1595 /*Support for 11e/WMM*/
1596 wpt_uint8 ucWMMEnabled;
1597
1598 /*11n HT capable STA*/
1599 wpt_uint8 ucHTCapable;
1600
1601 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
1602 wpt_uint8 ucTXChannelWidthSet;
1603
1604 /*RIFS mode 0 - NA, 1 - Allowed*/
1605 wpt_uint8 ucRIFSMode;
1606
1607 /*L-SIG TXOP Protection mechanism
1608 0 - No Support, 1 - Supported
1609 SG - there is global field*/
1610 wpt_uint8 ucLSIGTxopProtection;
1611
1612 /*Max Ampdu Size supported by STA. Device programming.
1613 0 : 8k , 1 : 16k, 2 : 32k, 3 : 64k */
1614 wpt_uint8 ucMaxAmpduSize;
1615
1616 /*Max Ampdu density. Used by RA. 3 : 0~7 : 2^(11nAMPDUdensity -4)*/
1617 wpt_uint8 ucMaxAmpduDensity;
1618
1619 /*Max AMSDU size 1 : 3839 bytes, 0 : 7935 bytes*/
1620 wpt_uint8 ucMaxAmsduSize;
1621
1622 /*Short GI support for 40Mhz packets*/
1623 wpt_uint8 ucShortGI40Mhz;
1624
1625 /*Short GI support for 20Mhz packets*/
1626 wpt_uint8 ucShortGI20Mhz;
1627
1628 /*These rates are the intersection of peer and self capabilities.*/
1629 WDI_SupportedRates wdiSupportedRates;
1630
1631 /*Robust Management Frame (RMF) enabled/disabled*/
1632 wpt_uint8 ucRMFEnabled;
1633
1634 /* The unicast encryption type in the association */
1635 wpt_uint32 ucEncryptType;
1636
1637 /*HAL should update the existing STA entry, if this flag is set. UMAC
1638 will set this flag in case of RE-ASSOC, where we want to reuse the old
1639 STA ID.*/
1640 WDI_ConfigActionType wdiAction;
1641
1642 /*U-APSD Flags: 1b per AC. Encoded as follows:
1643 b7 b6 b5 b4 b3 b2 b1 b0 =
1644 X X X X BE BK VI VO
1645 */
1646 wpt_uint8 ucAPSD;
1647
1648 /*Max SP Length*/
1649 wpt_uint8 ucMaxSPLen;
1650
1651 /*11n Green Field preamble support*/
1652 wpt_uint8 ucGreenFieldCapable;
1653
1654 /*MIMO Power Save mode*/
1655 WDI_HTMIMOPowerSaveState wdiMIMOPS;
1656
1657 /*Delayed BA Support*/
1658 wpt_uint8 ucDelayedBASupport;
1659
1660 /*Max AMPDU duration in 32us*/
1661 wpt_uint8 us32MaxAmpduDuratio;
1662
1663 /*HT STA should set it to 1 if it is enabled in BSS
1664 HT STA should set it to 0 if AP does not support it. This indication is
1665 sent to HAL and HAL uses this flag to pickup up appropriate 40Mhz rates.
1666 */
1667 wpt_uint8 ucDsssCckMode40Mhz;
1668
1669 wpt_uint8 ucP2pCapableSta;
Jeff Johnsone7245742012-09-05 17:12:55 -07001670#ifdef WLAN_FEATURE_11AC
1671 wpt_uint8 ucVhtCapableSta;
1672 wpt_uint8 ucVhtTxChannelWidthSet;
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08001673 wpt_uint8 ucVhtTxBFEnabled;
Jeff Johnsone7245742012-09-05 17:12:55 -07001674#endif
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08001675
1676 wpt_uint8 ucHtLdpcEnabled;
1677 wpt_uint8 ucVhtLdpcEnabled;
Jeff Johnson295189b2012-06-20 16:38:30 -07001678}WDI_ConfigStaReqInfoType;
1679
1680
1681/*---------------------------------------------------------------------------
1682 WDI_RateSet
1683
1684 12 Bytes long because this structure can be used to represent rate
1685 and extended rate set IEs
1686 The parser assume this to be at least 12
1687---------------------------------------------------------------------------*/
1688#define WDI_RATESET_EID_MAX 12
1689
1690typedef struct
1691{
1692 wpt_uint8 ucNumRates;
1693 wpt_uint8 aRates[WDI_RATESET_EID_MAX];
1694} WDI_RateSet;
1695
1696/*---------------------------------------------------------------------------
1697 WDI_AciAifsnType
1698 access category record
1699---------------------------------------------------------------------------*/
1700typedef struct
1701{
1702 wpt_uint8 rsvd : 1;
1703 wpt_uint8 aci : 2;
1704 wpt_uint8 acm : 1;
1705 wpt_uint8 aifsn : 4;
1706} WDI_AciAifsnType;
1707
1708/*---------------------------------------------------------------------------
1709 WDI_CWType
1710 contention window size
1711---------------------------------------------------------------------------*/
1712typedef struct
1713{
1714 wpt_uint8 max : 4;
1715 wpt_uint8 min : 4;
1716} WDI_CWType;
1717
1718/*---------------------------------------------------------------------------
1719 WDI_EdcaParamRecord
1720---------------------------------------------------------------------------*/
1721typedef struct
1722{
1723 /*Access Category Record*/
1724 WDI_AciAifsnType wdiACI;
1725
1726 /*Contention WIndow Size*/
1727 WDI_CWType wdiCW;
1728
1729 /*TX Oportunity Limit*/
1730 wpt_uint16 usTXOPLimit;
1731} WDI_EdcaParamRecord;
1732
1733/*---------------------------------------------------------------------------
1734 WDI_EDCAParamsType
1735---------------------------------------------------------------------------*/
1736typedef struct
1737{
1738 /*BSS Index*/
1739 wpt_uint8 ucBSSIdx;
1740
1741 /*?*/
1742 wpt_boolean bHighPerformance;
1743
1744 /*Best Effort*/
1745 WDI_EdcaParamRecord wdiACBE;
1746
1747 /*Background*/
1748 WDI_EdcaParamRecord wdiACBK;
1749
1750 /*Video*/
1751 WDI_EdcaParamRecord wdiACVI;
1752
1753 /*Voice*/
1754 WDI_EdcaParamRecord acvo; // voice
1755} WDI_EDCAParamsType;
1756
1757/* operMode in ADD BSS message */
1758#define WDI_BSS_OPERATIONAL_MODE_AP 0
1759#define WDI_BSS_OPERATIONAL_MODE_STA 1
1760
1761/*---------------------------------------------------------------------------
1762 WDI_ConfigBSSRspParamsType
1763---------------------------------------------------------------------------*/
1764typedef struct
1765{
1766 /*Status of the response*/
1767 WDI_Status wdiStatus;
1768
1769 /*BSSID of the BSS*/
1770 wpt_macAddr macBSSID;
1771
1772 /*BSS Index*/
1773 wpt_uint8 ucBSSIdx;
1774
1775 /*Unicast DPU signature*/
1776 wpt_uint8 ucUcastSig;
1777
1778 /*Broadcast DPU Signature*/
1779 wpt_uint8 ucBcastSig;
1780
1781 /*MAC Address of STA*/
1782 wpt_macAddr macSTA;
1783
1784 /*BSS STA ID*/
1785 wpt_uint8 ucSTAIdx;
1786
1787#ifdef WLAN_FEATURE_VOWIFI
1788 /*HAL fills in the tx power used for mgmt frames in this field */
1789 wpt_int8 ucTxMgmtPower;
1790#endif
1791
1792}WDI_ConfigBSSRspParamsType;
1793
1794/*---------------------------------------------------------------------------
1795 WDI_DelBSSReqParamsType
1796---------------------------------------------------------------------------*/
1797typedef struct
1798{
1799 /*BSS Index of the BSS*/
1800 wpt_uint8 ucBssIdx;
1801
1802 /*Request status callback offered by UMAC - it is called if the current
1803 req has returned PENDING as status; it delivers the status of sending
1804 the message over the BUS */
1805 WDI_ReqStatusCb wdiReqStatusCB;
1806
1807 /*The user data passed in by UMAC, it will be sent back when the above
1808 function pointer will be called */
1809 void* pUserData;
1810}WDI_DelBSSReqParamsType;
1811
1812/*---------------------------------------------------------------------------
1813 WDI_DelBSSRspParamsType
1814---------------------------------------------------------------------------*/
1815typedef struct
1816{
1817 /*Status of the response*/
1818 WDI_Status wdiStatus;
1819
1820 /*BSSID of the BSS*/
1821 wpt_macAddr macBSSID;
1822
1823 wpt_uint8 ucBssIdx;
1824
1825}WDI_DelBSSRspParamsType;
1826
1827/*---------------------------------------------------------------------------
1828 WDI_ConfigSTARspParamsType
1829---------------------------------------------------------------------------*/
1830typedef struct
1831{
1832 /*Status of the response*/
1833 WDI_Status wdiStatus;
1834
1835 /*STA Idx allocated by HAL*/
1836 wpt_uint8 ucSTAIdx;
1837
1838 /*MAC Address of STA*/
1839 wpt_macAddr macSTA;
1840
1841 /* BSSID Index of BSS to which the station is associated */
1842 wpt_uint8 ucBssIdx;
1843
1844 /* DPU Index - PTK */
1845 wpt_uint8 ucDpuIndex;
1846
1847 /* Bcast DPU Index - GTK */
1848 wpt_uint8 ucBcastDpuIndex;
1849
1850 /* Management DPU Index - IGTK - Why is it called bcastMgmtDpuIdx? */
1851 wpt_uint8 ucBcastMgmtDpuIdx;
1852
1853 /*Unicast DPU signature*/
1854 wpt_uint8 ucUcastSig;
1855
1856 /*Broadcast DPU Signature*/
1857 wpt_uint8 ucBcastSig;
1858
1859 /* IGTK DPU signature*/
1860 wpt_uint8 ucMgmtSig;
1861
1862}WDI_ConfigSTARspParamsType;
1863
1864/*---------------------------------------------------------------------------
1865 WDI_PostAssocRspParamsType
1866---------------------------------------------------------------------------*/
1867typedef struct
1868{
1869 /*Status of the response*/
1870 WDI_Status wdiStatus;
1871
1872 /*Parameters related to the BSS*/
1873 WDI_ConfigBSSRspParamsType bssParams;
1874
1875 /*Parameters related to the self STA*/
1876 WDI_ConfigSTARspParamsType staParams;
1877
1878}WDI_PostAssocRspParamsType;
1879
1880/*---------------------------------------------------------------------------
1881 WDI_DelSTAReqParamsType
1882---------------------------------------------------------------------------*/
1883typedef struct
1884{
1885 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
1886 wpt_uint8 ucSTAIdx;
1887
1888 /*Request status callback offered by UMAC - it is called if the current
1889 req has returned PENDING as status; it delivers the status of sending
1890 the message over the BUS */
1891 WDI_ReqStatusCb wdiReqStatusCB;
1892
1893 /*The user data passed in by UMAC, it will be sent back when the above
1894 function pointer will be called */
1895 void* pUserData;
1896}WDI_DelSTAReqParamsType;
1897
1898/*---------------------------------------------------------------------------
1899 WDI_DelSTARspParamsType
1900---------------------------------------------------------------------------*/
1901typedef struct
1902{
1903 /*Status of the response*/
1904 WDI_Status wdiStatus;
1905
1906 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
1907 wpt_uint8 ucSTAIdx;
1908}WDI_DelSTARspParamsType;
1909
1910/*---------------------------------------------------------------------------
1911 WDI_EncryptType
1912---------------------------------------------------------------------------*/
1913typedef enum
1914{
1915 WDI_ENCR_NONE,
1916 WDI_ENCR_WEP40,
1917 WDI_ENCR_WEP104,
1918 WDI_ENCR_TKIP,
1919 WDI_ENCR_CCMP,
1920#if defined(FEATURE_WLAN_WAPI)
1921 WDI_ENCR_WPI,
1922#endif
1923 WDI_ENCR_AES_128_CMAC
1924} WDI_EncryptType;
1925
1926/*---------------------------------------------------------------------------
1927 WDI_KeyDirectionType
1928---------------------------------------------------------------------------*/
1929typedef enum
1930{
1931 WDI_TX_ONLY,
1932 WDI_RX_ONLY,
1933 WDI_TX_RX,
Jeff Johnson295189b2012-06-20 16:38:30 -07001934 WDI_TX_DEFAULT,
Jeff Johnson295189b2012-06-20 16:38:30 -07001935 WDI_DONOT_USE_KEY_DIRECTION
1936} WDI_KeyDirectionType;
1937
1938#define WDI_MAX_ENCR_KEYS 4
1939#define WDI_MAX_KEY_LENGTH 32
1940#if defined(FEATURE_WLAN_WAPI)
1941#define WDI_MAX_KEY_RSC_LEN 16
1942#define WDI_WAPI_KEY_RSC_LEN 16
1943#else
1944#define WDI_MAX_KEY_RSC_LEN 8
1945#endif
1946
1947typedef struct
1948{
1949 /* Key ID */
1950 wpt_uint8 keyId;
1951 /* 0 for multicast */
1952 wpt_uint8 unicast;
1953 /* Key Direction */
1954 WDI_KeyDirectionType keyDirection;
1955 /* Usage is unknown */
1956 wpt_uint8 keyRsc[WDI_MAX_KEY_RSC_LEN];
1957 /* =1 for authenticator, =0 for supplicant */
1958 wpt_uint8 paeRole;
1959 wpt_uint16 keyLength;
1960 wpt_uint8 key[WDI_MAX_KEY_LENGTH];
1961
1962}WDI_KeysType;
1963
1964/*---------------------------------------------------------------------------
1965 WDI_SetBSSKeyReqInfoType
1966---------------------------------------------------------------------------*/
1967typedef struct
1968{
1969 /*BSS Index of the BSS*/
1970 wpt_uint8 ucBssIdx;
1971
1972 /*Encryption Type used with peer*/
1973 WDI_EncryptType wdiEncType;
1974
1975 /*Number of keys*/
1976 wpt_uint8 ucNumKeys;
1977
1978 /*Array of keys.*/
1979 WDI_KeysType aKeys[WDI_MAX_ENCR_KEYS];
1980
1981 /*Control for Replay Count, 1= Single TID based replay count on Tx
1982 0 = Per TID based replay count on TX */
1983 wpt_uint8 ucSingleTidRc;
1984}WDI_SetBSSKeyReqInfoType;
1985
1986/*---------------------------------------------------------------------------
1987 WDI_SetBSSKeyReqParamsType
1988---------------------------------------------------------------------------*/
1989typedef struct
1990{
1991 /*Key Info */
1992 WDI_SetBSSKeyReqInfoType wdiBSSKeyInfo;
1993
1994 /*Request status callback offered by UMAC - it is called if the current
1995 req has returned PENDING as status; it delivers the status of sending
1996 the message over the BUS */
1997 WDI_ReqStatusCb wdiReqStatusCB;
1998
1999 /*The user data passed in by UMAC, it will be sent back when the above
2000 function pointer will be called */
2001 void* pUserData;
2002}WDI_SetBSSKeyReqParamsType;
2003
2004/*---------------------------------------------------------------------------
2005 WDI_WepType
2006---------------------------------------------------------------------------*/
2007typedef enum
2008{
2009 WDI_WEP_STATIC,
2010 WDI_WEP_DYNAMIC
2011
2012} WDI_WepType;
2013
2014/*---------------------------------------------------------------------------
2015 WDI_RemoveBSSKeyReqInfoType
2016---------------------------------------------------------------------------*/
2017typedef struct
2018{
2019 /*BSS Index of the BSS*/
2020 wpt_uint8 ucBssIdx;
2021
2022 /*Encryption Type used with peer*/
2023 WDI_EncryptType wdiEncType;
2024
2025 /*Key Id*/
2026 wpt_uint8 ucKeyId;
2027
2028 /*STATIC/DYNAMIC. Used in Nullifying in Key Descriptors for Static/Dynamic
2029 keys*/
2030 WDI_WepType wdiWEPType;
2031}WDI_RemoveBSSKeyReqInfoType;
2032
2033/*---------------------------------------------------------------------------
2034 WDI_RemoveBSSKeyReqParamsType
2035---------------------------------------------------------------------------*/
2036typedef struct
2037{
2038 /*Key Info */
2039 WDI_RemoveBSSKeyReqInfoType wdiKeyInfo;
2040
2041 /*Request status callback offered by UMAC - it is called if the current
2042 req has returned PENDING as status; it delivers the status of sending
2043 the message over the BUS */
2044 WDI_ReqStatusCb wdiReqStatusCB;
2045
2046 /*The user data passed in by UMAC, it will be sent back when the above
2047 function pointer will be called */
2048 void* pUserData;
2049}WDI_RemoveBSSKeyReqParamsType;
2050
2051/*---------------------------------------------------------------------------
2052 WDI_SetSTAKeyReqInfoType
2053---------------------------------------------------------------------------*/
2054typedef struct
2055{
2056 /*STA Index*/
2057 wpt_uint8 ucSTAIdx;
2058
2059 /*Encryption Type used with peer*/
2060 WDI_EncryptType wdiEncType;
2061
2062 /*STATIC/DYNAMIC*/
2063 WDI_WepType wdiWEPType;
2064
2065 /*Default WEP key, valid only for static WEP, must between 0 and 3.*/
2066 wpt_uint8 ucDefWEPIdx;
2067
2068 /*Number of keys*/
2069 wpt_uint8 ucNumKeys;
2070
2071 /*Array of keys.*/
2072 WDI_KeysType wdiKey[WDI_MAX_ENCR_KEYS];
2073
2074 /*Control for Replay Count, 1= Single TID based replay count on Tx
2075 0 = Per TID based replay count on TX */
2076 wpt_uint8 ucSingleTidRc;
2077}WDI_SetSTAKeyReqInfoType;
2078
2079/*---------------------------------------------------------------------------
2080 WDI_ConfigBSSReqInfoType
2081---------------------------------------------------------------------------*/
2082typedef struct
2083{
2084 /*Peer BSSID*/
2085 wpt_macAddr macBSSID;
2086
2087 /*Self MAC Address*/
2088 wpt_macAddr macSelfAddr;
2089
2090 /*BSS Type*/
2091 WDI_BssType wdiBSSType;
2092
2093 /*Operational Mode: AP =0, STA = 1*/
2094 wpt_uint8 ucOperMode;
2095
2096 /*Network Type*/
2097 WDI_NwType wdiNWType;
2098
2099 /*Used to classify PURE_11G/11G_MIXED to program MTU*/
2100 wpt_uint8 ucShortSlotTimeSupported;
2101
2102 /*Co-exist with 11a STA*/
2103 wpt_uint8 ucllaCoexist;
2104
2105 /*Co-exist with 11b STA*/
2106 wpt_uint8 ucllbCoexist;
2107
2108 /*Co-exist with 11g STA*/
2109 wpt_uint8 ucllgCoexist;
2110
2111 /*Coexistence with 11n STA*/
2112 wpt_uint8 ucHT20Coexist;
2113
2114 /*Non GF coexist flag*/
2115 wpt_uint8 ucllnNonGFCoexist;
2116
2117 /*TXOP protection support*/
2118 wpt_uint8 ucTXOPProtectionFullSupport;
2119
2120 /*RIFS mode*/
2121 wpt_uint8 ucRIFSMode;
2122
2123 /*Beacon Interval in TU*/
2124 wpt_uint16 usBeaconInterval;
2125
2126 /*DTIM period*/
2127 wpt_uint8 ucDTIMPeriod;
2128
2129 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
2130 wpt_uint8 ucTXChannelWidthSet;
2131
2132 /*Operating channel*/
2133 wpt_uint8 ucCurrentOperChannel;
2134
2135 /*Extension channel for channel bonding*/
2136 wpt_uint8 ucCurrentExtChannel;
2137
2138 /*Context of the station being added in HW.*/
2139 WDI_ConfigStaReqInfoType wdiSTAContext;
2140
2141 /*SSID of the BSS*/
2142 WDI_MacSSid wdiSSID;
2143
2144 /*HAL should update the existing BSS entry, if this flag is set. UMAC will
2145 set this flag in case of RE-ASSOC, where we want to reuse the old BSSID*/
2146 WDI_ConfigAction wdiAction;
2147
2148 /*Basic Rate Set*/
2149 WDI_RateSet wdiRateSet;
2150
2151 /*Enable/Disable HT capabilities of the BSS*/
2152 wpt_uint8 ucHTCapable;
2153
2154 /* Enable/Disable OBSS protection */
2155 wpt_uint8 ucObssProtEnabled;
2156
2157 /*RMF enabled/disabled*/
2158 wpt_uint8 ucRMFEnabled;
2159
2160 /*Determines the current HT Operating Mode operating mode of the
2161 802.11n STA*/
2162 WDI_HTOperatingMode wdiHTOperMod;
2163
2164 /*Dual CTS Protection: 0 - Unused, 1 - Used*/
2165 wpt_uint8 ucDualCTSProtection;
2166
2167 /* Probe Response Max retries */
2168 wpt_uint8 ucMaxProbeRespRetryLimit;
2169
2170 /* To Enable Hidden ssid */
2171 wpt_uint8 bHiddenSSIDEn;
2172
2173 /* To Enable Disable FW Proxy Probe Resp */
2174 wpt_uint8 bProxyProbeRespEn;
2175
2176 /* Boolean to indicate if EDCA params are valid. UMAC might not have valid
2177 EDCA params or might not desire to apply EDCA params during config BSS.
2178 0 implies Not Valid ; Non-Zero implies valid*/
2179 wpt_uint8 ucEDCAParamsValid;
2180
2181 /*EDCA Parameters for BK*/
2182 WDI_EdcaParamRecord wdiBKEDCAParams;
2183
2184 /*EDCA Parameters for BE*/
2185 WDI_EdcaParamRecord wdiBEEDCAParams;
2186
2187 /*EDCA Parameters for VI*/
2188 WDI_EdcaParamRecord wdiVIEDCAParams;
2189
2190 /*EDCA Parameters for VO*/
2191 WDI_EdcaParamRecord wdiVOEDCAParams;
2192
2193#ifdef WLAN_FEATURE_VOWIFI
2194 /*max power to be used after applying the power constraint, if any */
2195 wpt_int8 cMaxTxPower;
2196#endif
2197
2198 /* Persona for the BSS can be STA,AP,GO,CLIENT, same as Connection Mode */
2199 wpt_uint8 ucPersona;
2200
2201 /* Spectrum Mangement Indicator */
2202 wpt_uint8 bSpectrumMgtEn;
2203
2204#ifdef WLAN_FEATURE_VOWIFI_11R
2205 wpt_uint8 bExtSetStaKeyParamValid;
2206 WDI_SetSTAKeyReqInfoType wdiExtSetKeyParam;
2207#endif
2208
Jeff Johnsone7245742012-09-05 17:12:55 -07002209#ifdef WLAN_FEATURE_11AC
2210 wpt_uint8 ucVhtCapableSta;
2211 wpt_uint8 ucVhtTxChannelWidthSet;
2212#endif
2213
Jeff Johnson295189b2012-06-20 16:38:30 -07002214}WDI_ConfigBSSReqInfoType;
2215
2216/*---------------------------------------------------------------------------
2217 WDI_PostAssocReqParamsType
2218---------------------------------------------------------------------------*/
2219typedef struct
2220{
2221 /*Config STA arguments.*/
2222 WDI_ConfigStaReqInfoType wdiSTAParams;
2223
2224 /*Config BSS Arguments*/
2225 WDI_ConfigBSSReqInfoType wdiBSSParams;
2226
2227 /*Request status callback offered by UMAC - it is called if the current
2228 req has returned PENDING as status; it delivers the status of sending
2229 the message over the BUS */
2230 WDI_ReqStatusCb wdiReqStatusCB;
2231
2232 /*The user data passed in by UMAC, it will be sent back when the above
2233 function pointer will be called */
2234 void* pUserData;
2235}WDI_PostAssocReqParamsType;
2236
2237/*---------------------------------------------------------------------------
2238 WDI_ConfigBSSReqParamsType
2239---------------------------------------------------------------------------*/
2240typedef struct
2241{
2242 /*Info for the Join request that will be sent down to the device*/
2243 WDI_ConfigBSSReqInfoType wdiReqInfo;
2244
2245 /*Request status callback offered by UMAC - it is called if the current
2246 req has returned PENDING as status; it delivers the status of sending
2247 the message over the BUS */
2248 WDI_ReqStatusCb wdiReqStatusCB;
2249
2250 /*The user data passed in by UMAC, it will be sent back when the above
2251 function pointer will be called */
2252 void* pUserData;
2253}WDI_ConfigBSSReqParamsType;
2254
2255/*---------------------------------------------------------------------------
2256 WDI_SetSTAKeyReqParamsType
2257---------------------------------------------------------------------------*/
2258typedef struct
2259{
2260 /*Key Info*/
2261 WDI_SetSTAKeyReqInfoType wdiKeyInfo;
2262
2263 /*Request status callback offered by UMAC - it is called if the current
2264 req has returned PENDING as status; it delivers the status of sending
2265 the message over the BUS */
2266 WDI_ReqStatusCb wdiReqStatusCB;
2267
2268 /*The user data passed in by UMAC, it will be sent back when the above
2269 function pointer will be called */
2270 void* pUserData;
2271}WDI_SetSTAKeyReqParamsType;
2272
2273/*---------------------------------------------------------------------------
2274 WDI_RemoveSTAKeyReqInfoType
2275---------------------------------------------------------------------------*/
2276typedef struct
2277{
2278 /*STA Index*/
2279 wpt_uint8 ucSTAIdx;
2280
2281 /*Encryption Type used with peer*/
2282 WDI_EncryptType wdiEncType;
2283
2284 /*Key Id*/
2285 wpt_uint8 ucKeyId;
2286
2287 /*Whether to invalidate the Broadcast key or Unicast key. In case of WEP,
2288 the same key is used for both broadcast and unicast.*/
2289 wpt_uint8 ucUnicast;
2290}WDI_RemoveSTAKeyReqInfoType;
2291
2292/*---------------------------------------------------------------------------
2293 WDI_RemoveSTAKeyReqParamsType
2294---------------------------------------------------------------------------*/
2295typedef struct
2296{
2297 /*Key Info */
2298 WDI_RemoveSTAKeyReqInfoType wdiKeyInfo;
2299
2300 /*Request status callback offered by UMAC - it is called if the current
2301 req has returned PENDING as status; it delivers the status of sending
2302 the message over the BUS */
2303 WDI_ReqStatusCb wdiReqStatusCB;
2304
2305 /*The user data passed in by UMAC, it will be sent back when the above
2306 function pointer will be called */
2307 void* pUserData;
2308}WDI_RemoveSTAKeyReqParamsType;
2309
2310/*---------------------------------------------------------------------------
2311 QOS Parameters
2312---------------------------------------------------------------------------*/
2313
2314/*---------------------------------------------------------------------------
2315 WDI_TSInfoTfc
2316---------------------------------------------------------------------------*/
2317typedef struct
2318{
2319 wpt_uint16 ackPolicy:2;
2320 wpt_uint16 userPrio:3;
2321 wpt_uint16 psb:1;
2322 wpt_uint16 aggregation : 1;
2323 wpt_uint16 accessPolicy : 2;
2324 wpt_uint16 direction : 2;
2325 wpt_uint16 tsid : 4;
2326 wpt_uint16 trafficType : 1;
2327} WDI_TSInfoTfc;
2328
2329/*---------------------------------------------------------------------------
2330 WDI_TSInfoSch
2331---------------------------------------------------------------------------*/
2332typedef struct
2333{
2334 wpt_uint8 rsvd : 7;
2335 wpt_uint8 schedule : 1;
2336} WDI_TSInfoSch;
2337
2338/*---------------------------------------------------------------------------
2339 WDI_TSInfoType
2340---------------------------------------------------------------------------*/
2341typedef struct
2342{
2343 WDI_TSInfoTfc wdiTraffic;
2344 WDI_TSInfoSch wdiSchedule;
2345} WDI_TSInfoType;
2346
2347/*---------------------------------------------------------------------------
2348 WDI_TspecIEType
2349---------------------------------------------------------------------------*/
2350typedef struct
2351{
2352 wpt_uint8 ucType;
2353 wpt_uint8 ucLength;
2354 WDI_TSInfoType wdiTSinfo;
2355 wpt_uint16 usNomMsduSz;
2356 wpt_uint16 usMaxMsduSz;
2357 wpt_uint32 uMinSvcInterval;
2358 wpt_uint32 uMaxSvcInterval;
2359 wpt_uint32 uInactInterval;
2360 wpt_uint32 uSuspendInterval;
2361 wpt_uint32 uSvcStartTime;
2362 wpt_uint32 uMinDataRate;
2363 wpt_uint32 uMeanDataRate;
2364 wpt_uint32 uPeakDataRate;
2365 wpt_uint32 uMaxBurstSz;
2366 wpt_uint32 uDelayBound;
2367 wpt_uint32 uMinPhyRate;
2368 wpt_uint16 usSurplusBw;
2369 wpt_uint16 usMediumTime;
2370}WDI_TspecIEType;
2371
2372/*---------------------------------------------------------------------------
2373 WDI_AddTSReqInfoType
2374---------------------------------------------------------------------------*/
2375typedef struct
2376{
2377 /*STA Index*/
2378 wpt_uint8 ucSTAIdx;
2379
2380 /*Identifier for TSpec*/
2381 wpt_uint16 ucTspecIdx;
2382
2383 /*Tspec IE negotiated OTA*/
2384 WDI_TspecIEType wdiTspecIE;
2385
2386 /*UAPSD delivery and trigger enabled flags */
2387 wpt_uint8 ucUapsdFlags;
2388
2389 /*SI for each AC*/
2390 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
2391
2392 /*Suspend Interval for each AC*/
2393 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
2394
2395 /*DI for each AC*/
2396 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
2397
2398}WDI_AddTSReqInfoType;
2399
2400
2401/*---------------------------------------------------------------------------
2402 WDI_AddTSReqParamsType
2403---------------------------------------------------------------------------*/
2404typedef struct
2405{
2406 /*TSpec Info */
2407 WDI_AddTSReqInfoType wdiTsInfo;
2408
2409 /*Request status callback offered by UMAC - it is called if the current
2410 req has returned PENDING as status; it delivers the status of sending
2411 the message over the BUS */
2412 WDI_ReqStatusCb wdiReqStatusCB;
2413
2414 /*The user data passed in by UMAC, it will be sent back when the above
2415 function pointer will be called */
2416 void* pUserData;
2417}WDI_AddTSReqParamsType;
2418
2419/*---------------------------------------------------------------------------
2420 WDI_DelTSReqInfoType
2421---------------------------------------------------------------------------*/
2422typedef struct
2423{
2424 /*STA Index*/
2425 wpt_uint8 ucSTAIdx;
2426
2427 /*Identifier for TSpec*/
2428 wpt_uint16 ucTspecIdx;
2429
2430 /*BSSID of the BSS*/
2431 wpt_macAddr macBSSID;
2432}WDI_DelTSReqInfoType;
2433
2434/*---------------------------------------------------------------------------
2435 WDI_DelTSReqParamsType
2436---------------------------------------------------------------------------*/
2437typedef struct
2438{
2439 /*Del TSpec Info*/
2440 WDI_DelTSReqInfoType wdiDelTSInfo;
2441
2442 /*Request status callback offered by UMAC - it is called if the current
2443 req has returned PENDING as status; it delivers the status of sending
2444 the message over the BUS */
2445 WDI_ReqStatusCb wdiReqStatusCB;
2446
2447 /*The user data passed in by UMAC, it will be sent back when the above
2448 function pointer will be called */
2449 void* pUserData;
2450}WDI_DelTSReqParamsType;
2451
2452/*---------------------------------------------------------------------------
2453 WDI_UpdateEDCAInfoType
2454---------------------------------------------------------------------------*/
2455typedef struct
2456{
krunal soni0b366c02013-07-17 19:55:57 -07002457 /*BSS Index of the BSS*/
2458 wpt_uint16 ucBssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07002459
Jeff Johnson295189b2012-06-20 16:38:30 -07002460 /*EDCA params for BE*/
2461 WDI_EdcaParamRecord wdiEdcaBEInfo;
2462
2463 /*EDCA params for BK*/
2464 WDI_EdcaParamRecord wdiEdcaBKInfo;
2465
2466 /*EDCA params for VI*/
2467 WDI_EdcaParamRecord wdiEdcaVIInfo;
2468
2469 /*EDCA params for VO*/
2470 WDI_EdcaParamRecord wdiEdcaVOInfo;
2471
2472}WDI_UpdateEDCAInfoType;
2473
2474/*---------------------------------------------------------------------------
2475 WDI_UpdateEDCAParamsType
2476---------------------------------------------------------------------------*/
2477typedef struct
2478{
2479 /*EDCA Info */
2480 WDI_UpdateEDCAInfoType wdiEDCAInfo;
2481
2482 /*Request status callback offered by UMAC - it is called if the current
2483 req has returned PENDING as status; it delivers the status of sending
2484 the message over the BUS */
2485 WDI_ReqStatusCb wdiReqStatusCB;
2486
2487 /*The user data passed in by UMAC, it will be sent back when the above
2488 function pointer will be called */
2489 void* pUserData;
2490}WDI_UpdateEDCAParamsType;
2491
2492/*---------------------------------------------------------------------------
2493 WDI_AddBASessionReqinfoType
2494---------------------------------------------------------------------------*/
2495typedef struct
2496{
2497 /*Indicates the station for which BA is added..*/
2498 wpt_uint8 ucSTAIdx;
2499
2500 /*The peer mac address*/
2501 wpt_macAddr macPeerAddr;
2502
2503 /*TID for which BA was negotiated*/
2504 wpt_uint8 ucBaTID;
2505
2506 /*Delayed or imediate */
2507 wpt_uint8 ucBaPolicy;
2508
2509 /*The number of buffers for this TID (baTID)*/
2510 wpt_uint16 usBaBufferSize;
2511
2512 /*BA timeout in TU's*/
2513 wpt_uint16 usBaTimeout;
2514
2515 /*b0..b3 - Fragment Number - Always set to 0
2516 b4..b15 - Starting Sequence Number of first MSDU for which this BA is setup*/
2517 wpt_uint16 usBaSSN;
2518
2519 /*Originator/Recipient*/
2520 wpt_uint8 ucBaDirection;
2521
2522}WDI_AddBASessionReqinfoType;
2523
2524
2525/*---------------------------------------------------------------------------
2526 WDI_AddBASessionReqParamsType
2527---------------------------------------------------------------------------*/
2528typedef struct
2529{
2530 /*BA Session Info Type*/
2531 WDI_AddBASessionReqinfoType wdiBASessionInfoType;
2532
2533 /*Request status callback offered by UMAC - it is called if the current
2534 req has returned PENDING as status; it delivers the status of sending
2535 the message over the BUS */
2536 WDI_ReqStatusCb wdiReqStatusCB;
2537
2538 /*The user data passed in by UMAC, it will be sent back when the above
2539 function pointer will be called */
2540 void* pUserData;
2541}WDI_AddBASessionReqParamsType;
2542
2543/*---------------------------------------------------------------------------
2544 WDI_AddBASessionRspParamsType
2545---------------------------------------------------------------------------*/
2546typedef struct
2547{
2548 /*Status of the response*/
2549 WDI_Status wdiStatus;
2550
2551 /* Dialog token */
2552 wpt_uint8 ucBaDialogToken;
2553
2554 /* TID for which the BA session has been setup */
2555 wpt_uint8 ucBaTID;
2556
2557 /* BA Buffer Size allocated for the current BA session */
2558 wpt_uint8 ucBaBufferSize;
2559
2560 /* BA session ID */
2561 wpt_uint16 usBaSessionID;
2562
2563 /* Reordering Window buffer */
2564 wpt_uint8 ucWinSize;
2565
2566 /*Station Index to id the sta */
2567 wpt_uint8 ucSTAIdx;
2568
2569 /* Starting Sequence Number */
2570 wpt_uint16 usBaSSN;
2571
2572}WDI_AddBASessionRspParamsType;
2573
2574/*---------------------------------------------------------------------------
2575 WDI_AddBAReqinfoType
2576---------------------------------------------------------------------------*/
2577typedef struct
2578{
2579 /*Indicates the station for which BA is added..*/
2580 wpt_uint8 ucSTAIdx;
2581
2582 /* Session Id */
2583 wpt_uint8 ucBaSessionID;
2584
2585 /* Reorder Window Size */
2586 wpt_uint8 ucWinSize;
2587
2588#ifdef FEATURE_ON_CHIP_REORDERING
2589 wpt_boolean bIsReorderingDoneOnChip;
2590#endif
2591
2592}WDI_AddBAReqinfoType;
2593
2594
2595/*---------------------------------------------------------------------------
2596 WDI_AddBAReqParamsType
2597---------------------------------------------------------------------------*/
2598typedef struct
2599{
2600 /*BA Info Type*/
2601 WDI_AddBAReqinfoType wdiBAInfoType;
2602
2603 /*Request status callback offered by UMAC - it is called if the current
2604 req has returned PENDING as status; it delivers the status of sending
2605 the message over the BUS */
2606 WDI_ReqStatusCb wdiReqStatusCB;
2607
2608 /*The user data passed in by UMAC, it will be sent back when the above
2609 function pointer will be called */
2610 void* pUserData;
2611}WDI_AddBAReqParamsType;
2612
2613
2614/*---------------------------------------------------------------------------
2615 WDI_AddBARspinfoType
2616---------------------------------------------------------------------------*/
2617typedef struct
2618{
2619 /*Status of the response*/
2620 WDI_Status wdiStatus;
2621
2622 /* Dialog token */
2623 wpt_uint8 ucBaDialogToken;
2624
2625}WDI_AddBARspinfoType;
2626
2627/*---------------------------------------------------------------------------
2628 WDI_TriggerBAReqCandidateType
2629---------------------------------------------------------------------------*/
2630typedef struct
2631{
2632 /* STA index */
2633 wpt_uint8 ucSTAIdx;
2634
2635 /* TID bit map for the STA's*/
2636 wpt_uint8 ucTidBitmap;
2637
2638}WDI_TriggerBAReqCandidateType;
2639
2640
2641/*---------------------------------------------------------------------------
2642 WDI_TriggerBAReqinfoType
2643---------------------------------------------------------------------------*/
2644typedef struct
2645{
2646 /*Indicates the station for which BA is added..*/
2647 wpt_uint8 ucSTAIdx;
2648
2649 /* Session Id */
2650 wpt_uint8 ucBASessionID;
2651
2652 /* Trigger BA Request candidate count */
2653 wpt_uint16 usBACandidateCnt;
2654
2655 /* WDI_TriggerBAReqCandidateType followed by this*/
2656
2657}WDI_TriggerBAReqinfoType;
2658
2659
2660/*---------------------------------------------------------------------------
2661 WDI_TriggerBAReqParamsType
2662---------------------------------------------------------------------------*/
2663typedef struct
2664{
2665 /*BA Trigger Info Type*/
2666 WDI_TriggerBAReqinfoType wdiTriggerBAInfoType;
2667
2668 /*Request status callback offered by UMAC - it is called if the current
2669 req has returned PENDING as status; it delivers the status of sending
2670 the message over the BUS */
2671 WDI_ReqStatusCb wdiReqStatusCB;
2672
2673 /*The user data passed in by UMAC, it will be sent back when the above
2674 function pointer will be called */
2675 void* pUserData;
2676}WDI_TriggerBAReqParamsType;
2677
2678/*---------------------------------------------------------------------------
2679 WDI_AddBAInfoType
2680---------------------------------------------------------------------------*/
2681typedef struct
2682{
2683 wpt_uint16 fBaEnable : 1;
2684 wpt_uint16 startingSeqNum: 12;
2685 wpt_uint16 reserved : 3;
2686}WDI_AddBAInfoType;
2687
2688/*---------------------------------------------------------------------------
2689 WDI_TriggerBARspCandidateType
2690---------------------------------------------------------------------------*/
2691#define STA_MAX_TC 8
2692
2693typedef struct
2694{
2695 /* STA index */
2696 wpt_macAddr macSTA;
2697
2698 /* BA Info */
2699 WDI_AddBAInfoType wdiBAInfo[STA_MAX_TC];
2700}WDI_TriggerBARspCandidateType;
2701
2702/*---------------------------------------------------------------------------
2703 WDI_TriggerBARspParamsType
2704---------------------------------------------------------------------------*/
2705typedef struct
2706{
2707 /*Status of the response*/
2708 WDI_Status wdiStatus;
2709
2710 /*BSSID of the BSS*/
2711 wpt_macAddr macBSSID;
2712
2713 /* Trigger BA response candidate count */
2714 wpt_uint16 usBaCandidateCnt;
2715
2716 /* WDI_TriggerBARspCandidateType followed by this*/
2717
2718}WDI_TriggerBARspParamsType;
2719
2720/*---------------------------------------------------------------------------
2721 WDI_DelBAReqinfoType
2722---------------------------------------------------------------------------*/
2723typedef struct
2724{
2725 /*Indicates the station for which BA is added..*/
2726 wpt_uint8 ucSTAIdx;
2727
2728 /*TID for which BA was negotiated*/
2729 wpt_uint8 ucBaTID;
2730
2731 /*Originator/Recipient*/
2732 wpt_uint8 ucBaDirection;
2733
2734}WDI_DelBAReqinfoType;
2735
2736/*---------------------------------------------------------------------------
2737 WDI_DelBAReqParamsType
2738---------------------------------------------------------------------------*/
2739typedef struct
2740{
2741 /*BA Info */
2742 WDI_DelBAReqinfoType wdiBAInfo;
2743
2744 /*Request status callback offered by UMAC - it is called if the current
2745 req has returned PENDING as status; it delivers the status of sending
2746 the message over the BUS */
2747 WDI_ReqStatusCb wdiReqStatusCB;
2748
2749 /*The user data passed in by UMAC, it will be sent back when the above
2750 function pointer will be called */
2751 void* pUserData;
2752}WDI_DelBAReqParamsType;
2753
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08002754/*---------------------------------------------------------------------------
2755 WDI_UpdateChannelReqinfoType
2756---------------------------------------------------------------------------*/
2757typedef struct
2758{
2759 /** primary 20 MHz channel frequency in mhz */
2760 wpt_uint32 mhz;
2761 /** Center frequency 1 in MHz*/
2762 wpt_uint32 band_center_freq1;
2763 /** Center frequency 2 in MHz - valid only for 11acvht 80plus80 mode*/
2764 wpt_uint32 band_center_freq2;
2765 /* The first 26 bits are a bit mask to indicate any channel flags,
2766 (see WLAN_HAL_CHAN_FLAG*)
2767 The last 6 bits indicate the mode (see tChannelPhyModeType)*/
2768 wpt_uint32 channel_info;
2769 /** contains min power, max power, reg power and reg class id. */
2770 wpt_uint32 reg_info_1;
2771 /** contains antennamax */
2772 wpt_uint32 reg_info_2;
2773}WDI_UpdateChannelReqinfoType;
2774
2775typedef struct
2776{
2777 wpt_uint8 numchan;
2778 WDI_UpdateChannelReqinfoType *pchanParam;
2779}WDI_UpdateChannelReqType;
2780/*---------------------------------------------------------------------------
2781 WDI_UpdateChReqParamsType
2782---------------------------------------------------------------------------*/
2783typedef struct
2784{
2785 /*BA Info */
2786 WDI_UpdateChannelReqType wdiUpdateChanParams;
2787
2788 /*Request status callback offered by UMAC - it is called if the current
2789 req has returned PENDING as status; it delivers the status of sending
2790 the message over the BUS */
2791 WDI_ReqStatusCb wdiReqStatusCB;
2792
2793 /*The user data passed in by UMAC, it will be sent back when the above
2794 function pointer will be called */
2795 void* pUserData;
2796}WDI_UpdateChReqParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07002797
2798/*---------------------------------------------------------------------------
2799 WDI_SwitchCHRspParamsType
2800---------------------------------------------------------------------------*/
2801typedef struct
2802{
2803 /*Status of the response*/
2804 WDI_Status wdiStatus;
2805
2806 /*Indicates the channel that WLAN is on*/
2807 wpt_uint8 ucChannel;
2808
2809#ifdef WLAN_FEATURE_VOWIFI
2810 /*HAL fills in the tx power used for mgmt frames in this field.*/
2811 wpt_int8 ucTxMgmtPower;
2812#endif
2813
2814}WDI_SwitchCHRspParamsType;
2815
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08002816/*--------------------------------------------------------------------
2817 WDI_SwitchChRspParamsType_V1
2818--------------------------------------------------------------------*/
2819typedef struct
2820{
2821 /*Status of the response*/
2822 WDI_Status wdiStatus;
2823
2824 /*Indicates the channel that WLAN is on*/
2825 wpt_uint8 ucChannel;
2826
2827#ifdef WLAN_FEATURE_VOWIFI
2828 /*HAL fills in the tx power used for mgmt frames in this field.*/
2829 wpt_int8 ucTxMgmtPower;
2830#endif
2831
2832 /* Source of Channel Switch */
2833 WDI_ChanSwitchSource channelSwitchSrc;
2834}WDI_SwitchChRspParamsType_V1;
2835
Jeff Johnson295189b2012-06-20 16:38:30 -07002836/*---------------------------------------------------------------------------
2837 WDI_ConfigSTAReqParamsType
2838---------------------------------------------------------------------------*/
2839typedef struct
2840{
2841 /*Info for the Join request that will be sent down to the device*/
2842 WDI_ConfigStaReqInfoType wdiReqInfo;
2843
2844 /*Request status callback offered by UMAC - it is called if the current
2845 req has returned PENDING as status; it delivers the status of sending
2846 the message over the BUS */
2847 WDI_ReqStatusCb wdiReqStatusCB;
2848
2849 /*The user data passed in by UMAC, it will be sent back when the above
2850 function pointer will be called */
2851 void* pUserData;
2852}WDI_ConfigSTAReqParamsType;
2853
2854
2855/*---------------------------------------------------------------------------
2856 WDI_UpdateBeaconParamsInfoType
2857---------------------------------------------------------------------------*/
2858
2859typedef struct
2860{
2861 /*BSS Index of the BSS*/
2862 wpt_uint8 ucBssIdx;
2863
2864 /*shortPreamble mode. HAL should update all the STA rates when it
2865 receives this message*/
2866 wpt_uint8 ucfShortPreamble;
2867 /* short Slot time.*/
2868 wpt_uint8 ucfShortSlotTime;
2869 /* Beacon Interval */
2870 wpt_uint16 usBeaconInterval;
2871 /*Protection related */
2872 wpt_uint8 ucllaCoexist;
2873 wpt_uint8 ucllbCoexist;
2874 wpt_uint8 ucllgCoexist;
2875 wpt_uint8 ucHt20MhzCoexist;
2876 wpt_uint8 ucllnNonGFCoexist;
2877 wpt_uint8 ucfLsigTXOPProtectionFullSupport;
2878 wpt_uint8 ucfRIFSMode;
2879
2880 wpt_uint16 usChangeBitmap;
2881}WDI_UpdateBeaconParamsInfoType;
2882
Mohit Khanna4a70d262012-09-11 16:30:12 -07002883#ifdef WLAN_FEATURE_11AC
2884typedef struct
2885{
2886 wpt_uint16 opMode;
2887 wpt_uint16 staId;
2888}WDI_UpdateVHTOpMode;
2889#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07002890
2891/*---------------------------------------------------------------------------
2892 WDI_UpdateBeaconParamsType
2893---------------------------------------------------------------------------*/
2894typedef struct
2895{
2896 /*Update Beacon Params Info*/
2897 WDI_UpdateBeaconParamsInfoType wdiUpdateBeaconParamsInfo;
2898
2899 /*Request status callback offered by UMAC - it is called if the current
2900 req has returned PENDING as status; it delivers the status of sending
2901 the message over the BUS */
2902 WDI_ReqStatusCb wdiReqStatusCB;
2903
2904 /*The user data passed in by UMAC, it will be sent back when the above
2905 function pointer will be called */
2906 void* pUserData;
2907}WDI_UpdateBeaconParamsType;
2908
2909/*---------------------------------------------------------------------------
2910 WDI_SendBeaconParamsInfoType
2911---------------------------------------------------------------------------*/
2912
2913typedef struct {
2914
2915 /*BSSID of the BSS*/
2916 wpt_macAddr macBSSID;
2917
2918 /* Beacon data */
2919 wpt_uint8 beacon[WDI_BEACON_TEMPLATE_SIZE];
2920
2921 /* length of the template */
2922 wpt_uint32 beaconLength;
2923
Jeff Johnson295189b2012-06-20 16:38:30 -07002924 /* TIM IE offset from the beginning of the template.*/
2925 wpt_uint32 timIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07002926
Jeff Johnson295189b2012-06-20 16:38:30 -07002927 /* P2P IE offset from the beginning of the template */
2928 wpt_uint16 usP2PIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07002929} WDI_SendBeaconParamsInfoType;
2930
2931/*---------------------------------------------------------------------------
2932 WDI_SendBeaconParamsType
2933---------------------------------------------------------------------------*/
2934typedef struct
2935{
2936 /*Send Beacon Params Info*/
2937 WDI_SendBeaconParamsInfoType wdiSendBeaconParamsInfo;
2938
2939 /*Request status callback offered by UMAC - it is called if the current
2940 req has returned PENDING as status; it delivers the status of sending
2941 the message over the BUS */
2942 WDI_ReqStatusCb wdiReqStatusCB;
2943
2944 /*The user data passed in by UMAC, it will be sent back when the above
2945 function pointer will be called */
2946 void* pUserData;
2947}WDI_SendBeaconParamsType;
2948
2949/*---------------------------------------------------------------------------
2950 WDI_LinkStateType
2951---------------------------------------------------------------------------*/
2952typedef enum
2953{
2954 WDI_LINK_IDLE_STATE = 0,
2955 WDI_LINK_PREASSOC_STATE = 1,
2956 WDI_LINK_POSTASSOC_STATE = 2,
2957 WDI_LINK_AP_STATE = 3,
2958 WDI_LINK_IBSS_STATE = 4,
2959
2960 // BT-AMP Case
2961 WDI_LINK_BTAMP_PREASSOC_STATE = 5,
2962 WDI_LINK_BTAMP_POSTASSOC_STATE = 6,
2963 WDI_LINK_BTAMP_AP_STATE = 7,
2964 WDI_LINK_BTAMP_STA_STATE = 8,
2965
2966 // Reserved for HAL internal use
2967 WDI_LINK_LEARN_STATE = 9,
2968 WDI_LINK_SCAN_STATE = 10,
2969 WDI_LINK_FINISH_SCAN_STATE = 11,
2970 WDI_LINK_INIT_CAL_STATE = 12,
2971 WDI_LINK_FINISH_CAL_STATE = 13,
Jeff Johnson295189b2012-06-20 16:38:30 -07002972 WDI_LINK_LISTEN_STATE = 14,
Gopichand Nakkala924e4552013-05-08 19:18:14 +05302973 WDI_LINK_SEND_ACTION_STATE = 15,
Jeff Johnson295189b2012-06-20 16:38:30 -07002974 WDI_LINK_MAX = 0x7FFFFFFF
2975} WDI_LinkStateType;
2976
2977/*---------------------------------------------------------------------------
2978 WDI_SetLinkReqInfoType
2979---------------------------------------------------------------------------*/
2980typedef struct
2981{
2982 /*BSSID of the BSS*/
2983 wpt_macAddr macBSSID;
2984
2985 /*Link state*/
2986 WDI_LinkStateType wdiLinkState;
2987
2988 /*BSSID of the BSS*/
2989 wpt_macAddr macSelfStaMacAddr;
2990}WDI_SetLinkReqInfoType;
2991
2992/*---------------------------------------------------------------------------
2993 WDI_SetLinkReqParamsType
2994---------------------------------------------------------------------------*/
2995typedef struct
2996{
2997 /*Link Info*/
2998 WDI_SetLinkReqInfoType wdiLinkInfo;
2999
3000 /*Request status callback offered by UMAC - it is called if the current
3001 req has returned PENDING as status; it delivers the status of sending
3002 the message over the BUS */
3003 WDI_ReqStatusCb wdiReqStatusCB;
3004
3005 /*The user data passed in by UMAC, it will be sent back when the above
3006 function pointer will be called */
3007 void* pUserData;
3008}WDI_SetLinkReqParamsType;
3009
3010/*---------------------------------------------------------------------------
3011 WDI_GetStatsParamsInfoType
3012---------------------------------------------------------------------------*/
3013typedef struct
3014{
3015 /*Indicates the station for which Get Stats are requested..*/
3016 wpt_uint8 ucSTAIdx;
3017
3018 /* categories of stats requested */
3019 wpt_uint32 uStatsMask;
3020}WDI_GetStatsParamsInfoType;
3021
3022/*---------------------------------------------------------------------------
3023 WDI_GetStatsReqParamsType
3024---------------------------------------------------------------------------*/
3025typedef struct
3026{
3027 /*Get Stats Params Info*/
3028 WDI_GetStatsParamsInfoType wdiGetStatsParamsInfo;
3029
3030 /*Request status callback offered by UMAC - it is called if the current
3031 req has returned PENDING as status; it delivers the status of sending
3032 the message over the BUS */
3033 WDI_ReqStatusCb wdiReqStatusCB;
3034
3035 /*The user data passed in by UMAC, it will be sent back when the above
3036 function pointer will be called */
3037 void* pUserData;
3038}WDI_GetStatsReqParamsType;
3039
3040/*---------------------------------------------------------------------------
3041 WDI_GetStatsRspParamsType
3042---------------------------------------------------------------------------*/
3043typedef struct
3044{
3045 /*message type is same as the request type*/
3046 wpt_uint16 usMsgType;
3047
3048 /* length of the entire request, includes the pStatsBuf length too*/
3049 wpt_uint16 usMsgLen;
3050
3051 /*Result of the operation*/
3052 WDI_Status wdiStatus;
3053
3054 /*Indicates the station for which Get Stats are requested..*/
3055 wpt_uint8 ucSTAIdx;
3056
3057 /* categories of stats requested */
3058 wpt_uint32 uStatsMask;
3059
3060 /* The Stats buffer starts here and can be an aggregate of more than one statistics
3061 * structure depending on statsMask.*/
3062}WDI_GetStatsRspParamsType;
3063
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003064#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08003065/*---------------------------------------------------------------------------
3066 WDI_GetRoamRssiParamsInfoType
3067---------------------------------------------------------------------------*/
3068typedef struct
3069{
3070 /*Indicates the station for which Get Stats are requested..*/
3071 wpt_uint8 ucSTAIdx;
3072
3073 /* categories of stats requested */
3074 wpt_uint32 uStatsMask;
3075}WDI_GetRoamRssiParamsInfoType;
3076
3077/*---------------------------------------------------------------------------
3078 WDI_GetRoamRssiReqParamsType
3079---------------------------------------------------------------------------*/
3080typedef struct
3081{
3082 /*Get Roam Rssi Params Info*/
3083 WDI_GetRoamRssiParamsInfoType wdiGetRoamRssiParamsInfo;
3084
3085 /*Request status callback offered by UMAC - it is called if the current
3086 req has returned PENDING as status; it delivers the status of sending
3087 the message over the BUS */
3088 WDI_ReqStatusCb wdiReqStatusCB;
3089
3090 /*The user data passed in by UMAC, it will be sent back when the above
3091 function pointer will be called */
3092 void* pUserData;
3093}WDI_GetRoamRssiReqParamsType;
3094
3095/*---------------------------------------------------------------------------
3096 WDI_GetRoamRssiRspParamsType
3097---------------------------------------------------------------------------*/
3098typedef struct
3099{
3100 /*Result of the operation*/
3101 WDI_Status wdiStatus;
3102
3103 /*Indicates the station for which Get Stats are requested..*/
3104 wpt_uint8 ucSTAIdx;
3105
3106 /* roam rssi requested */
3107 wpt_int8 rssi;
3108
3109 /* The Stats buffer starts here and can be an aggregate of more than one statistics
3110 * structure depending on statsMask.*/
3111}WDI_GetRoamRssiRspParamsType;
3112#endif
3113
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003114#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07003115/*---------------------------------------------------------------------------
3116 WDI_TSMStatsParamsInfoType
3117---------------------------------------------------------------------------*/
3118typedef struct
3119{
3120 /*Indicates the station for which Get Stats are requested..*/
3121 wpt_uint8 ucTid;
3122
3123 wpt_macAddr bssid;
3124}WDI_TSMStatsParamsInfoType;
3125
3126/*---------------------------------------------------------------------------
3127 WDI_TSMStatsReqParamsType
3128---------------------------------------------------------------------------*/
3129typedef struct
3130{
3131 /*Get TSM Stats Params Info*/
3132 WDI_TSMStatsParamsInfoType wdiTsmStatsParamsInfo;
3133
3134 WDI_ReqStatusCb wdiReqStatusCB;
3135
3136 /*The user data passed in by UMAC, it will be sent back when the above
3137 function pointer will be called */
3138 void* pUserData;
3139
3140}WDI_TSMStatsReqParamsType;
3141
3142
3143/*---------------------------------------------------------------------------
3144 WDI_TSMStatsRspParamsType
3145---------------------------------------------------------------------------*/
3146typedef struct
3147{
3148 /*Indicates the status of the operation */
3149 WDI_Status wdiStatus;
3150
3151 wpt_uint16 UplinkPktQueueDly;
3152 wpt_uint16 UplinkPktQueueDlyHist[4];
3153 wpt_uint32 UplinkPktTxDly;
3154 wpt_uint16 UplinkPktLoss;
3155 wpt_uint16 UplinkPktCount;
3156 wpt_uint8 RoamingCount;
3157 wpt_uint16 RoamingDly;
3158}WDI_TSMStatsRspParamsType;
3159
3160
3161#endif
3162/*---------------------------------------------------------------------------
3163 WDI_UpdateCfgReqParamsType
3164---------------------------------------------------------------------------*/
3165typedef struct
3166{
3167 /*This is a TLV formatted buffer containing all config values that can
3168 be set through the DAL Interface
3169
3170 The TLV is expected to be formatted like this:
3171
3172 0 7 15 31 ....
3173 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
3174
3175 Or from a C construct point of VU it would look like this:
3176
3177 typedef struct WPT_PACK_POST
3178 {
3179 #ifdef WPT_BIG_ENDIAN
3180 wpt_uint32 ucCfgId:8;
3181 wpt_uint32 ucCfgLen:8;
3182 wpt_uint32 usReserved:16;
3183 #else
3184 wpt_uint32 usReserved:16;
3185 wpt_uint32 ucCfgLen:8;
3186 wpt_uint32 ucCfgId:8;
3187 #endif
3188
3189 wpt_uint8 ucCfgBody[ucCfgLen];
3190 }WDI_ConfigType;
3191
3192 Multiple such tuplets are to be placed in the config buffer. One for
3193 each required configuration item:
3194
3195 | TLV 1 | TLV2 | ....
3196
3197 The buffer is expected to be a flat area of memory that can be manipulated
3198 with standard memory routines.
3199
3200 For more info please check paragraph 2.3.1 Config Structure from the
3201 HAL LLD.
3202
3203 For a list of accepted configuration list and IDs please look up
3204 wlan_qct_dal_cfg.h
3205 */
3206 void* pConfigBuffer;
3207
3208 /*Length of the config buffer above*/
3209 wpt_uint32 uConfigBufferLen;
3210
3211 /*Request status callback offered by UMAC - it is called if the current
3212 req has returned PENDING as status; it delivers the status of sending
3213 the message over the BUS */
3214 WDI_ReqStatusCb wdiReqStatusCB;
3215
3216 /*The user data passed in by UMAC, it will be sent back when the above
3217 function pointer will be called */
3218 void* pUserData;
3219}WDI_UpdateCfgReqParamsType;
3220
3221/*---------------------------------------------------------------------------
3222 WDI_UpdateProbeRspTemplateInfoType
3223---------------------------------------------------------------------------*/
3224//Default Beacon template size
3225#define WDI_PROBE_RSP_TEMPLATE_SIZE 0x180
3226
3227#define WDI_PROBE_REQ_BITMAP_IE_LEN 8
3228
3229typedef struct
3230{
3231 /*BSSID for which the Probe Template is to be used*/
3232 wpt_macAddr macBSSID;
3233
3234 /*Probe response template*/
3235 wpt_uint8 *pProbeRespTemplate[WDI_PROBE_RSP_TEMPLATE_SIZE];
3236
3237 /*Template Len*/
3238 wpt_uint32 uProbeRespTemplateLen;
3239
3240 /*Bitmap for the IEs that are to be handled at SLM level*/
3241 wpt_uint32 uaProxyProbeReqValidIEBmap[WDI_PROBE_REQ_BITMAP_IE_LEN];
3242
3243}WDI_UpdateProbeRspTemplateInfoType;
3244
3245/*---------------------------------------------------------------------------
3246 WDI_UpdateProbeRspParamsType
3247---------------------------------------------------------------------------*/
3248typedef struct
3249{
3250 /*Link Info*/
3251 WDI_UpdateProbeRspTemplateInfoType wdiProbeRspTemplateInfo;
3252
3253 /*Request status callback offered by UMAC - it is called if the current
3254 req has returned PENDING as status; it delivers the status of sending
3255 the message over the BUS */
3256 WDI_ReqStatusCb wdiReqStatusCB;
3257
3258 /*The user data passed in by UMAC, it will be sent back when the above
3259 function pointer will be called */
3260 void* pUserData;
3261}WDI_UpdateProbeRspTemplateParamsType;
3262
3263/*---------------------------------------------------------------------------
3264 WDI_NvDownloadReqBlobInfo
3265---------------------------------------------------------------------------*/
3266
3267typedef struct
3268{
3269 /* Blob starting address*/
3270 void *pBlobAddress;
3271
3272 /* Blob size */
3273 wpt_uint32 uBlobSize;
3274
3275}WDI_NvDownloadReqBlobInfo;
3276
3277/*---------------------------------------------------------------------------
3278 WDI_NvDownloadReqParamsType
3279---------------------------------------------------------------------------*/
3280typedef struct
3281{
3282 /*NV Blob Info*/
3283 WDI_NvDownloadReqBlobInfo wdiBlobInfo;
3284
3285 /*Request status callback offered by UMAC - it is called if the current
3286 req has returned PENDING as status; it delivers the status of sending
3287 the message over the BUS */
3288 WDI_ReqStatusCb wdiReqStatusCB;
3289
3290 /*The user data passed in by UMAC, it will be sent back when the above
3291 function pointer will be called */
3292 void* pUserData;
3293
3294}WDI_NvDownloadReqParamsType;
3295
3296/*---------------------------------------------------------------------------
3297 WDI_NvDownloadRspInfoType
3298---------------------------------------------------------------------------*/
3299typedef struct
3300{
3301 /*Status of the response*/
3302 WDI_Status wdiStatus;
3303
3304}WDI_NvDownloadRspInfoType;
3305
3306/*---------------------------------------------------------------------------
3307 WDI_SetMaxTxPowerInfoType
3308---------------------------------------------------------------------------*/
3309
3310typedef struct
3311{
3312 /*BSSID is needed to identify which session issued this request. As the request has
3313 power constraints, this should be applied only to that session*/
3314 wpt_macAddr macBSSId;
3315
3316
3317 wpt_macAddr macSelfStaMacAddr;
3318
3319 /* In request power == MaxTxpower to be used.*/
3320 wpt_int8 ucPower;
3321
3322}WDI_SetMaxTxPowerInfoType;
3323
3324/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003325 WDI_SetTxPowerInfoType
3326---------------------------------------------------------------------------*/
3327
3328typedef struct
3329{
3330 wpt_uint8 bssIdx;
3331 /* In request power == MaxTxpower to be used.*/
3332 wpt_uint8 ucPower;
3333
3334}WDI_SetTxPowerInfoType;
3335
3336/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003337 WDI_SetMaxTxPowerParamsType
3338---------------------------------------------------------------------------*/
3339typedef struct
3340{
3341 /*Link Info*/
3342 WDI_SetMaxTxPowerInfoType wdiMaxTxPowerInfo;
3343
3344 /*Request status callback offered by UMAC - it is called if the current
3345 req has returned PENDING as status; it delivers the status of sending
3346 the message over the BUS */
3347 WDI_ReqStatusCb wdiReqStatusCB;
3348
3349 /*The user data passed in by UMAC, it will be sent back when the above
3350 function pointer will be called */
3351 void* pUserData;
3352}WDI_SetMaxTxPowerParamsType;
3353
schang86c22c42013-03-13 18:41:24 -07003354/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07003355 WDI_Band
3356---------------------------------------------------------------------------*/
3357typedef enum
3358{
3359 WDI_BAND_ALL,
3360 WDI_BAND_24,
3361 WDI_BAND_5G,
3362 WDI_BAND_MAX,
3363}eWDIBand;
3364
3365/*---------------------------------------------------------------------------
3366 WDI_MaxTxPowerPerBandInfoType
3367---------------------------------------------------------------------------*/
3368typedef struct
3369{
3370 eWDIBand bandInfo;
3371 /* In request power == MaxTxpower to be used.*/
3372 wpt_uint8 ucPower;
3373}WDI_MaxTxPowerPerBandInfoType;
3374
3375/*---------------------------------------------------------------------------
3376 WDI_SetMaxTxPowerPerBandParamsType
3377---------------------------------------------------------------------------*/
3378typedef struct
3379{
3380 /*Link Info*/
3381 WDI_MaxTxPowerPerBandInfoType wdiMaxTxPowerPerBandInfo;
3382
3383 /*Request status callback offered by UMAC - it is called if the current
3384 req has returned PENDING as status; it delivers the status of sending
3385 the message over the BUS */
3386 WDI_ReqStatusCb wdiReqStatusCB;
3387
3388 /*The user data passed in by UMAC, it will be sent back when the above
3389 function pointer will be called */
3390 void* pUserData;
3391}WDI_SetMaxTxPowerPerBandParamsType;
3392
3393/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003394 WDI_SetTxPowerParamsType
3395---------------------------------------------------------------------------*/
3396typedef struct
3397{
3398 /*Link Info*/
3399 WDI_SetTxPowerInfoType wdiTxPowerInfo;
3400
3401 /*Request status callback offered by UMAC - it is called if the current
3402 req has returned PENDING as status; it delivers the status of sending
3403 the message over the BUS */
3404 WDI_ReqStatusCb wdiReqStatusCB;
3405
3406 /*The user data passed in by UMAC, it will be sent back when the above
3407 function pointer will be called */
3408 void* pUserData;
3409}WDI_SetTxPowerParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003410
3411/*---------------------------------------------------------------------------
3412 WDI_SetMaxTxPowerRspMsg
3413---------------------------------------------------------------------------*/
3414
3415typedef struct
3416{
3417 /* In response, power==tx power used for management frames*/
3418 wpt_int8 ucPower;
3419
3420 /*Result of the operation*/
3421 WDI_Status wdiStatus;
3422
3423}WDI_SetMaxTxPowerRspMsg;
3424
schang86c22c42013-03-13 18:41:24 -07003425/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07003426 WDI_SetMaxTxPowerPerBandRspMsg
3427---------------------------------------------------------------------------*/
3428typedef struct
3429{
3430 /* In response, power==tx power used for management frames*/
3431 wpt_int8 ucPower;
3432
3433 /*Result of the operation*/
3434 WDI_Status wdiStatus;
3435
3436}WDI_SetMaxTxPowerPerBandRspMsg;
3437
3438/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003439 WDI_SetTxPowerRspMsg
3440---------------------------------------------------------------------------*/
3441
3442typedef struct
3443{
3444 /* In response, power==tx power used for management frames*/
3445 wpt_int8 ucPower;
3446
3447 /*Result of the operation*/
3448 WDI_Status wdiStatus;
3449
3450}WDI_SetTxPowerRspMsg;
3451
Jeff Johnson295189b2012-06-20 16:38:30 -07003452typedef struct
3453{
3454 wpt_uint8 ucOpp_ps;
3455 wpt_uint32 uCtWindow;
3456 wpt_uint8 ucCount;
3457 wpt_uint32 uDuration;
3458 wpt_uint32 uInterval;
3459 wpt_uint32 uSingle_noa_duration;
3460 wpt_uint8 ucPsSelection;
3461}WDI_SetP2PGONOAReqInfoType;
3462
3463/*---------------------------------------------------------------------------
3464 WDI_SetP2PGONOAReqParamsType
3465---------------------------------------------------------------------------*/
3466typedef struct
3467{
3468 /*P2P GO NOA Req*/
3469 WDI_SetP2PGONOAReqInfoType wdiP2PGONOAInfo;
3470
3471 /*Request status callback offered by UMAC - it is called if the current
3472 req has returned PENDING as status; it delivers the status of sending
3473 the message over the BUS */
3474 WDI_ReqStatusCb wdiReqStatusCB;
3475
3476 /*The user data passed in by UMAC, it will be sent back when the above
3477 function pointer will be called */
3478 void* pUserData;
3479}WDI_SetP2PGONOAReqParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003480
Naresh Jayaramc7cbd782014-02-04 17:38:23 +05303481#define WDI_MAX_SUPP_CHANNELS 128
3482#define WDI_MAX_SUPP_OPER_CLASSES 32
3483
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303484typedef struct
3485{
3486 wpt_uint16 uStaIdx;
3487 wpt_uint8 uIsResponder;
3488 wpt_uint8 uUapsdQueues;
3489 wpt_uint8 uMaxSp;
3490 wpt_uint8 uIsBufSta;
Naresh Jayaramc7cbd782014-02-04 17:38:23 +05303491 wpt_uint8 uIsOffChannelSupported;
3492 wpt_uint8 peerCurrOperClass;
3493 wpt_uint8 selfCurrOperClass;
3494 wpt_uint8 validChannelsLen;
3495 wpt_uint8 validChannels[WDI_MAX_SUPP_CHANNELS];
3496 wpt_uint8 validOperClassesLen;
3497 wpt_uint8 validOperClasses[WDI_MAX_SUPP_OPER_CLASSES];
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303498}WDI_SetTDLSLinkEstablishReqInfoType;
3499/*---------------------------------------------------------------------------
3500 WDI_SetTDLSLinkEstablishReqParamsType
3501---------------------------------------------------------------------------*/
3502typedef struct
3503{
3504 /*TDLS Link Establish Req*/
3505 WDI_SetTDLSLinkEstablishReqInfoType wdiTDLSLinkEstablishInfo;
3506
3507 /*Request status callback offered by UMAC - it is called if the current
3508 req has returned PENDING as status; it delivers the status of sending
3509 the message over the BUS */
3510 WDI_ReqStatusCb wdiReqStatusCB;
3511
3512 /*The user data passed in by UMAC, it will be sent back when the above
3513 function pointer will be called */
3514 void* pUserData;
3515}WDI_SetTDLSLinkEstablishReqParamsType;
3516
3517
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05303518typedef struct
3519{
3520 /*Result of the operation*/
3521 WDI_Status wdiStatus;
3522
3523 /*STA Idx*/
3524 wpt_uint16 uStaIdx;
3525}WDI_SetTdlsLinkEstablishReqResp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003526
3527/*---------------------------------------------------------------------------
3528 WDI_SetAddSTASelfParamsType
3529---------------------------------------------------------------------------*/
3530typedef struct
3531{
3532 /*Self Station MAC address*/
3533 wpt_macAddr selfMacAddr;
3534
Kiran Kumar Lokere0ad5cd32013-06-25 11:26:22 -07003535 /*Self STA device mode*/
3536 wpt_uint32 currDeviceMode;
3537
Jeff Johnson295189b2012-06-20 16:38:30 -07003538 /*Status of the operation*/
3539 wpt_uint32 uStatus;
3540}WDI_AddSTASelfInfoType;
3541
3542/*---------------------------------------------------------------------------
3543 WDI_SetAddSTASelfParamsType
3544---------------------------------------------------------------------------*/
3545typedef struct
3546{
3547 /* Add Sta Self Req */
3548 WDI_AddSTASelfInfoType wdiAddSTASelfInfo;
3549
3550 /*Request status callback offered by UMAC - it is called if the current
3551 req has returned PENDING as status; it delivers the status of sending
3552 the message over the BUS */
3553 WDI_ReqStatusCb wdiReqStatusCB;
3554
3555 /*The user data passed in by UMAC, it will be sent back when the above
3556 function pointer will be called */
3557 void* pUserData;
3558}WDI_AddSTASelfReqParamsType;
3559
3560
3561/*---------------------------------------------------------------------------
3562 WDI_AddSTASelfRspParamsType
3563---------------------------------------------------------------------------*/
3564typedef struct
3565{
3566 /*Status of the response*/
3567 WDI_Status wdiStatus;
3568
3569 /*STA Idx allocated by HAL*/
3570 wpt_uint8 ucSTASelfIdx;
3571
3572 /* DPU Index (IGTK, PTK, GTK all same) */
3573 wpt_uint8 dpuIdx;
3574
3575 /* DPU Signature */
3576 wpt_uint8 dpuSignature;
3577
3578 /*Self STA Mac*/
3579 wpt_macAddr macSelfSta;
3580
3581}WDI_AddSTASelfRspParamsType;
3582
3583/*---------------------------------------------------------------------------
3584 WDI_DelSTASelfReqParamsType
3585 Del Sta Self info passed to WDI form WDA
3586---------------------------------------------------------------------------*/
3587typedef struct
3588{
3589 wpt_macAddr selfMacAddr;
3590
3591}WDI_DelSTASelfInfoType;
3592
3593/*---------------------------------------------------------------------------
3594 WDI_DelSTASelfReqParamsType
3595 Del Sta Self info passed to WDI form WDA
3596---------------------------------------------------------------------------*/
3597typedef struct
3598{
3599 /*Del Sta Self Info Type */
3600 WDI_DelSTASelfInfoType wdiDelStaSelfInfo;
3601 /*Request status callback offered by UMAC - it is called if the current req
3602 has returned PENDING as status; it delivers the status of sending the message
3603 over the BUS */
3604 WDI_ReqStatusCb wdiReqStatusCB;
3605 /*The user data passed in by UMAC, it will be sent back when the above
3606 function pointer will be called */
3607 void* pUserData;
3608}WDI_DelSTASelfReqParamsType;
3609
3610/*---------------------------------------------------------------------------
3611 WDI_DelSTASelfRspParamsType
3612---------------------------------------------------------------------------*/
3613typedef struct
3614{
3615 /*Status of the response*/
3616 WDI_Status wdiStatus;
3617
3618 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
3619// wpt_uint8 ucSTAIdx;
3620}WDI_DelSTASelfRspParamsType;
3621
3622/*---------------------------------------------------------------------------
3623 WDI_UapsdInfoType
3624 UAPSD parameters passed per AC to WDA from UMAC
3625---------------------------------------------------------------------------*/
3626typedef struct
3627{
3628 wpt_uint8 ucSTAIdx; // STA index
3629 wpt_uint8 ucAc; // Access Category
3630 wpt_uint8 ucUp; // User Priority
3631 wpt_uint32 uSrvInterval; // Service Interval
3632 wpt_uint32 uSusInterval; // Suspend Interval
3633 wpt_uint32 uDelayInterval; // Delay Interval
3634} WDI_UapsdInfoType;
3635
3636/*---------------------------------------------------------------------------
3637 WDI_SetUapsdAcParamsReqParamsType
3638 UAPSD parameters passed per AC to WDI from WDA
3639---------------------------------------------------------------------------*/
3640typedef struct
3641{
3642 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3643 WDI_UapsdInfoType wdiUapsdInfo;
3644 /*Request status callback offered by UMAC - it is called if the current req
3645 has returned PENDING as status; it delivers the status of sending the message
3646 over the BUS */
3647 WDI_ReqStatusCb wdiReqStatusCB;
3648 /*The user data passed in by UMAC, it will be sent back when the above
3649 function pointer will be called */
3650 void* pUserData;
3651}WDI_SetUapsdAcParamsReqParamsType;
3652
3653/*---------------------------------------------------------------------------
3654 WDI_EnterBmpsReqinfoType
3655 Enter BMPS parameters passed to WDA from UMAC
3656---------------------------------------------------------------------------*/
3657typedef struct
3658{
3659 //TBTT value derived from the last beacon
3660 wpt_uint8 ucBssIdx;
3661 wpt_uint64 uTbtt;
3662 wpt_uint8 ucDtimCount;
3663 //DTIM period given to HAL during association may not be valid,
3664 //if association is based on ProbeRsp instead of beacon.
3665 wpt_uint8 ucDtimPeriod;
3666 /* DXE physical addr to be passed down to RIVA. RIVA HAL will use it to program
3667 DXE when DXE wakes up from power save*/
3668 unsigned int dxePhyAddr;
3669
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003670 // For ESE and 11R Roaming
Jeff Johnson295189b2012-06-20 16:38:30 -07003671 wpt_uint32 rssiFilterPeriod;
3672 wpt_uint32 numBeaconPerRssiAverage;
3673 wpt_uint8 bRssiFilterEnable;
3674}WDI_EnterBmpsReqinfoType;
3675
3676/*---------------------------------------------------------------------------
3677 WDI_EnterBmpsReqParamsType
3678 Enter BMPS parameters passed to WDI from WDA
3679---------------------------------------------------------------------------*/
3680typedef struct
3681{
3682 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3683 WDI_EnterBmpsReqinfoType wdiEnterBmpsInfo;
3684 /*Request status callback offered by UMAC - it is called if the current req
3685 has returned PENDING as status; it delivers the status of sending the message
3686 over the BUS */
3687 WDI_ReqStatusCb wdiReqStatusCB;
3688 /*The user data passed in by UMAC, it will be sent back when the above
3689 function pointer will be called */
3690 void* pUserData;
3691}WDI_EnterBmpsReqParamsType;
3692
3693/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003694 WDI_EnterBmpsReqParamsType
3695 Enter BMPS parameters passed from WDI to WDA
3696---------------------------------------------------------------------------*/
3697typedef struct
3698{
3699 /*Status of the response*/
3700 WDI_Status wdiStatus;
3701
3702 /*BssIDX of the session*/
3703 wpt_uint8 bssIdx;
3704}WDI_EnterBmpsRspParamsType;
3705
3706/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003707 WDI_ExitBmpsReqinfoType
3708 Exit BMPS parameters passed to WDA from UMAC
3709---------------------------------------------------------------------------*/
3710typedef struct
3711{
3712 wpt_uint8 ucSendDataNull;
Jeff Johnsone7245742012-09-05 17:12:55 -07003713 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003714}WDI_ExitBmpsReqinfoType;
3715
3716/*---------------------------------------------------------------------------
3717 WDI_ExitBmpsReqParamsType
3718 Exit BMPS parameters passed to WDI from WDA
3719---------------------------------------------------------------------------*/
3720typedef struct
3721{
3722 /*Exit BMPS Info Type, same as tExitBmpsParams */
3723 WDI_ExitBmpsReqinfoType wdiExitBmpsInfo;
3724 /*Request status callback offered by UMAC - it is called if the current req
3725 has returned PENDING as status; it delivers the status of sending the message
3726 over the BUS */
3727 WDI_ReqStatusCb wdiReqStatusCB;
3728 /*The user data passed in by UMAC, it will be sent back when the above
3729 function pointer will be called */
3730 void* pUserData;
3731}WDI_ExitBmpsReqParamsType;
3732
3733/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003734 WDI_ExitBmpsReqParamsType
3735 Exit BMPS parameters passed from WDI to WDA
3736---------------------------------------------------------------------------*/
3737typedef struct
3738{
3739 /*Status of the response*/
3740 WDI_Status wdiStatus;
3741
3742 /*BssIDX of the session*/
3743 wpt_uint8 bssIdx;
3744}WDI_ExitBmpsRspParamsType;
3745
3746/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003747 WDI_EnterUapsdReqinfoType
3748 Enter UAPSD parameters passed to WDA from UMAC
3749---------------------------------------------------------------------------*/
3750typedef struct
3751{
3752 wpt_uint8 ucBkDeliveryEnabled:1;
3753 wpt_uint8 ucBeDeliveryEnabled:1;
3754 wpt_uint8 ucViDeliveryEnabled:1;
3755 wpt_uint8 ucVoDeliveryEnabled:1;
3756 wpt_uint8 ucBkTriggerEnabled:1;
3757 wpt_uint8 ucBeTriggerEnabled:1;
3758 wpt_uint8 ucViTriggerEnabled:1;
3759 wpt_uint8 ucVoTriggerEnabled:1;
Jeff Johnsone7245742012-09-05 17:12:55 -07003760 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003761}WDI_EnterUapsdReqinfoType;
3762
3763/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003764 WDI_EnterUapsdRspParamsType
3765 Enter UAPSD parameters passed from WDI to WDA
3766---------------------------------------------------------------------------*/
3767typedef struct
3768{
3769 /*Status of the response*/
3770 WDI_Status wdiStatus;
3771
3772 /*BssIDX of the session*/
3773 wpt_uint8 bssIdx;
3774}WDI_EnterUapsdRspParamsType;
3775
3776/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003777 WDI_EnterUapsdReqinfoType
3778 Enter UAPSD parameters passed to WDI from WDA
3779---------------------------------------------------------------------------*/
3780typedef struct
3781{
3782 /*Enter UAPSD Info Type, same as tUapsdParams */
3783 WDI_EnterUapsdReqinfoType wdiEnterUapsdInfo;
3784 /*Request status callback offered by UMAC - it is called if the current req
3785 has returned PENDING as status; it delivers the status of sending the message
3786 over the BUS */
3787 WDI_ReqStatusCb wdiReqStatusCB;
3788 /*The user data passed in by UMAC, it will be sent back when the above
3789 function pointer will be called */
3790 void* pUserData;
3791}WDI_EnterUapsdReqParamsType;
3792
3793/*---------------------------------------------------------------------------
3794 WDI_UpdateUapsdReqinfoType
3795 Update UAPSD parameters passed to WDA from UMAC
3796---------------------------------------------------------------------------*/
3797typedef struct
3798{
3799 wpt_uint8 ucSTAIdx;
3800 wpt_uint8 ucUapsdACMask;
3801 wpt_uint32 uMaxSpLen;
3802}WDI_UpdateUapsdReqinfoType;
3803
3804/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003805 WDI_ExitUapsdReqinfoType
3806 Exit UAPSD parameters passed to WDA from UMAC
3807---------------------------------------------------------------------------*/
3808typedef struct
3809{
3810 wpt_uint8 bssIdx;
3811}WDI_ExitUapsdReqinfoType;
3812
3813/*---------------------------------------------------------------------------
3814 WDI_ExitUapsdReqParamsType
3815 Exit UAPSD parameters passed to WDI from WDA
3816---------------------------------------------------------------------------*/
3817typedef struct
3818{
3819 /*Exit UAPSD Info Type, same as tUapsdParams */
3820 WDI_ExitUapsdReqinfoType wdiExitUapsdInfo;
3821 /*Request status callback offered by UMAC - it is called if the current req
3822 has returned PENDING as status; it delivers the status of sending the message
3823 over the BUS */
3824 WDI_ReqStatusCb wdiReqStatusCB;
3825 /*The user data passed in by UMAC, it will be sent back when the above
3826 function pointer will be called */
3827 void* pUserData;
3828}WDI_ExitUapsdReqParamsType;
3829
3830/*---------------------------------------------------------------------------
3831 WDI_ExitUapsdRspParamsType
3832 Exit UAPSD parameters passed from WDI to WDA
3833---------------------------------------------------------------------------*/
3834typedef struct
3835{
3836 /*Status of the response*/
3837 WDI_Status wdiStatus;
3838
3839 /*BssIDX of the session*/
3840 wpt_uint8 bssIdx;
3841}WDI_ExitUapsdRspParamsType;
3842
3843/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003844 WDI_UpdateUapsdReqParamsType
3845 Update UAPSD parameters passed to WDI form WDA
3846---------------------------------------------------------------------------*/
3847typedef struct
3848{
3849 /*Update UAPSD Info Type, same as tUpdateUapsdParams */
3850 WDI_UpdateUapsdReqinfoType wdiUpdateUapsdInfo;
3851 /*Request status callback offered by UMAC - it is called if the current req
3852 has returned PENDING as status; it delivers the status of sending the message
3853 over the BUS */
3854 WDI_ReqStatusCb wdiReqStatusCB;
3855 /*The user data passed in by UMAC, it will be sent back when the above
3856 function pointer will be called */
3857 void* pUserData;
3858}WDI_UpdateUapsdReqParamsType;
3859
3860/*---------------------------------------------------------------------------
3861 WDI_ConfigureRxpFilterReqParamsType
3862 RXP filter parameters passed to WDI form WDA
3863---------------------------------------------------------------------------*/
3864typedef struct
3865{
3866 /* Mode of Mcast and Bcast filters configured */
3867 wpt_uint8 ucSetMcstBcstFilterSetting;
3868
3869 /* Mcast Bcast Filters enable/disable*/
3870 wpt_uint8 ucSetMcstBcstFilter;
3871}WDI_RxpFilterReqParamsType;
3872
3873typedef struct
3874{
3875 /* Rxp Filter */
3876 WDI_RxpFilterReqParamsType wdiRxpFilterParam;
3877
3878 /*Request status callback offered by UMAC - it is called if the current req
3879 has returned PENDING as status; it delivers the status of sending the message
3880 over the BUS */
3881 WDI_ReqStatusCb wdiReqStatusCB;
3882 /*The user data passed in by UMAC, it will be sent back when the above
3883 function pointer will be called */
3884 void* pUserData;
3885}WDI_ConfigureRxpFilterReqParamsType;
3886
3887/*---------------------------------------------------------------------------
3888 WDI_BeaconFilterInfoType
3889 Beacon Filtering data structures passed to WDA form UMAC
3890---------------------------------------------------------------------------*/
3891typedef struct
3892{
3893 wpt_uint16 usCapabilityInfo;
3894 wpt_uint16 usCapabilityMask;
3895 wpt_uint16 usBeaconInterval;
3896 wpt_uint16 usIeNum;
Madan Mohan Koyyalamudia84edda2012-10-15 14:58:25 -07003897 wpt_uint8 bssIdx;
3898 wpt_uint8 reserved;
Jeff Johnson295189b2012-06-20 16:38:30 -07003899}WDI_BeaconFilterInfoType;
3900
3901/*---------------------------------------------------------------------------
3902 WDI_BeaconFilterReqParamsType
3903 Beacon Filtering parameters passed to WDI form WDA
3904---------------------------------------------------------------------------*/
3905typedef struct
3906{
3907 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
3908 WDI_BeaconFilterInfoType wdiBeaconFilterInfo;
3909 /*Beacon Filter(s) follow the "usIeNum" field, hence the array to ease the
3910 copy of params from WDA to WDI */
3911 wpt_uint8 aFilters[WDI_BEACON_FILTER_LEN];
3912 /*Request status callback offered by UMAC - it is called if the current req
3913 has returned PENDING as status; it delivers the status of sending the message
3914 over the BUS */
3915 WDI_ReqStatusCb wdiReqStatusCB;
3916 /*The user data passed in by UMAC, it will be sent back when the above
3917 function pointer will be called */
3918 void* pUserData;
3919}WDI_BeaconFilterReqParamsType;
3920
3921/*---------------------------------------------------------------------------
3922 WDI_RemBeaconFilterInfoType
3923 Beacon Filtering data structures (to be reomoved) passed to WDA form UMAC
3924---------------------------------------------------------------------------*/
3925typedef struct
3926{
3927 wpt_uint8 ucIeCount;
3928 wpt_uint8 ucRemIeId[1];
3929}WDI_RemBeaconFilterInfoType;
3930
3931/*---------------------------------------------------------------------------
3932 WDI_RemBeaconFilterReqParamsType
3933 Beacon Filtering parameters (to be reomoved)passed to WDI form WDA
3934---------------------------------------------------------------------------*/
3935typedef struct
3936{
3937 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
3938 WDI_RemBeaconFilterInfoType wdiBeaconFilterInfo;
3939 /*Request status callback offered by UMAC - it is called if the current req
3940 has returned PENDING as status; it delivers the status of sending the message
3941 over the BUS */
3942 WDI_ReqStatusCb wdiReqStatusCB;
3943 /*The user data passed in by UMAC, it will be sent back when the above
3944 function pointer will be called */
3945 void* pUserData;
3946}WDI_RemBeaconFilterReqParamsType;
3947
3948/*---------------------------------------------------------------------------
3949 WDI_RSSIThresholdsType
3950 RSSI thresholds data structures (to be reomoved) passed to WDA form UMAC
3951---------------------------------------------------------------------------*/
3952typedef struct
3953{
3954 wpt_int8 ucRssiThreshold1 : 8;
3955 wpt_int8 ucRssiThreshold2 : 8;
3956 wpt_int8 ucRssiThreshold3 : 8;
3957 wpt_uint8 bRssiThres1PosNotify : 1;
3958 wpt_uint8 bRssiThres1NegNotify : 1;
3959 wpt_uint8 bRssiThres2PosNotify : 1;
3960 wpt_uint8 bRssiThres2NegNotify : 1;
3961 wpt_uint8 bRssiThres3PosNotify : 1;
3962 wpt_uint8 bRssiThres3NegNotify : 1;
3963 wpt_uint8 bReserved10 : 2;
3964} WDI_RSSIThresholdsType;
3965
3966/*---------------------------------------------------------------------------
3967 WDI_SetRSSIThresholdsReqParamsType
3968 RSSI thresholds parameters (to be reomoved)passed to WDI form WDA
3969---------------------------------------------------------------------------*/
3970typedef struct
3971{
3972 /*RSSI thresholds Info Type, same as WDI_RSSIThresholds */
3973 WDI_RSSIThresholdsType wdiRSSIThresholdsInfo;
3974 /*Request status callback offered by UMAC - it is called if the current req
3975 has returned PENDING as status; it delivers the status of sending the message
3976 over the BUS */
3977 WDI_ReqStatusCb wdiReqStatusCB;
3978 /*The user data passed in by UMAC, it will be sent back when the above
3979 function pointer will be called */
3980 void* pUserData;
3981}WDI_SetRSSIThresholdsReqParamsType;
3982
3983/*---------------------------------------------------------------------------
3984 WDI_HostOffloadReqType
3985 host offload info passed to WDA form UMAC
3986---------------------------------------------------------------------------*/
3987#ifdef WLAN_NS_OFFLOAD
3988typedef struct
3989{
3990 wpt_uint8 srcIPv6Addr[16];
3991 wpt_uint8 selfIPv6Addr[16];
3992 //Only support 2 possible Network Advertisement IPv6 address
3993 wpt_uint8 targetIPv6Addr1[16];
3994 wpt_uint8 targetIPv6Addr2[16];
3995 wpt_uint8 selfMacAddr[6];
3996 wpt_uint8 srcIPv6AddrValid : 1;
3997 wpt_uint8 targetIPv6Addr1Valid : 1;
3998 wpt_uint8 targetIPv6Addr2Valid : 1;
Gopichand Nakkala746a9452013-06-11 12:45:54 +05303999 wpt_uint8 slotIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004000} WDI_NSOffloadParams;
4001#endif //WLAN_NS_OFFLOAD
4002
4003typedef struct
4004{
4005 wpt_uint8 ucOffloadType;
4006 wpt_uint8 ucEnableOrDisable;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004007 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004008 union
4009 {
4010 wpt_uint8 aHostIpv4Addr [4];
4011 wpt_uint8 aHostIpv6Addr [16];
4012 } params;
4013} WDI_HostOffloadReqType;
4014
4015/*---------------------------------------------------------------------------
4016 WDI_HostOffloadReqParamsType
4017 host offload info passed to WDI form WDA
4018---------------------------------------------------------------------------*/
4019typedef struct
4020{
4021 /*Host offload Info Type, same as tHalHostOffloadReq */
4022 WDI_HostOffloadReqType wdiHostOffloadInfo;
4023#ifdef WLAN_NS_OFFLOAD
4024 WDI_NSOffloadParams wdiNsOffloadParams;
4025#endif //WLAN_NS_OFFLOAD
4026 /*Request status callback offered by UMAC - it is called if the current req
4027 has returned PENDING as status; it delivers the status of sending the message
4028 over the BUS */
4029 WDI_ReqStatusCb wdiReqStatusCB;
4030 /*The user data passed in by UMAC, it will be sent back when the above
4031 function pointer will be called */
4032 void* pUserData;
4033}WDI_HostOffloadReqParamsType;
4034
4035/*---------------------------------------------------------------------------
4036 WDI_KeepAliveReqType
4037 Keep Alive info passed to WDA form UMAC
4038---------------------------------------------------------------------------*/
4039typedef struct
4040{
4041 wpt_uint8 ucPacketType;
4042 wpt_uint32 ucTimePeriod;
4043 wpt_uint8 aHostIpv4Addr[4];
4044 wpt_uint8 aDestIpv4Addr[4];
4045 wpt_uint8 aDestMacAddr[6];
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004046 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004047} WDI_KeepAliveReqType;
4048
4049/*---------------------------------------------------------------------------
4050 WDI_KeepAliveReqParamsType
4051 Keep Alive passed to WDI form WDA
4052---------------------------------------------------------------------------*/
4053typedef struct
4054{
4055 /* Keep Alive Info Type, same as tHalKeepAliveReq */
4056 WDI_KeepAliveReqType wdiKeepAliveInfo;
4057 /*Request status callback offered by UMAC - it is called if the current req
4058 has returned PENDING as status; it delivers the status of sending the message
4059 over the BUS */
4060 WDI_ReqStatusCb wdiReqStatusCB;
4061 /*The user data passed in by UMAC, it will be sent back when the above
4062 function pointer will be called */
4063 void* pUserData;
4064}WDI_KeepAliveReqParamsType;
4065
4066/*---------------------------------------------------------------------------
4067 WDI_WowlAddBcPtrnInfoType
4068 Wowl add ptrn info passed to WDA form UMAC
4069---------------------------------------------------------------------------*/
4070typedef struct
4071{
4072 wpt_uint8 ucPatternId; // Pattern ID
4073 // Pattern byte offset from beginning of the 802.11 packet to start of the
4074 // wake-up pattern
4075 wpt_uint8 ucPatternByteOffset;
4076 wpt_uint8 ucPatternSize; // Non-Zero Pattern size
4077 wpt_uint8 ucPattern[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern
4078 wpt_uint8 ucPatternMaskSize; // Non-zero pattern mask size
4079 wpt_uint8 ucPatternMask[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern mask
4080 wpt_uint8 ucPatternExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern
4081 wpt_uint8 ucPatternMaskExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern mask
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004082 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004083} WDI_WowlAddBcPtrnInfoType;
4084
4085/*---------------------------------------------------------------------------
4086 WDI_WowlAddBcPtrnReqParamsType
4087 Wowl add ptrn info passed to WDI form WDA
4088---------------------------------------------------------------------------*/
4089typedef struct
4090{
4091 /*Wowl add ptrn Info Type, same as tpSirWowlAddBcastPtrn */
4092 WDI_WowlAddBcPtrnInfoType wdiWowlAddBcPtrnInfo;
4093 /*Request status callback offered by UMAC - it is called if the current req
4094 has returned PENDING as status; it delivers the status of sending the message
4095 over the BUS */
4096 WDI_ReqStatusCb wdiReqStatusCB;
4097 /*The user data passed in by UMAC, it will be sent back when the above
4098 function pointer will be called */
4099 void* pUserData;
4100}WDI_WowlAddBcPtrnReqParamsType;
4101
4102/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004103 WDI_WowlAddBcPtrnRspParamsType
4104 Wowl add ptrn info passed from WDI to WDA
4105---------------------------------------------------------------------------*/
4106typedef struct
4107{
4108 /*Status of the response*/
4109 WDI_Status wdiStatus;
4110 /*BssIDX of the session*/
4111 wpt_uint8 bssIdx;
4112}WDI_WowlAddBcPtrnRspParamsType;
4113
4114/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004115 WDI_WowlDelBcPtrnInfoType
4116 Wowl add ptrn info passed to WDA form UMAC
4117---------------------------------------------------------------------------*/
4118typedef struct
4119{
4120 /* Pattern ID of the wakeup pattern to be deleted */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004121 wpt_uint8 ucPatternId;
4122 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004123} WDI_WowlDelBcPtrnInfoType;
4124
4125/*---------------------------------------------------------------------------
4126 WDI_WowlDelBcPtrnReqParamsType
4127 Wowl add ptrn info passed to WDI form WDA
4128---------------------------------------------------------------------------*/
4129typedef struct
4130{
4131 /*Wowl delete ptrn Info Type, same as WDI_WowlDelBcastPtrn */
4132 WDI_WowlDelBcPtrnInfoType wdiWowlDelBcPtrnInfo;
4133 /*Request status callback offered by UMAC - it is called if the current req
4134 has returned PENDING as status; it delivers the status of sending the message
4135 over the BUS */
4136 WDI_ReqStatusCb wdiReqStatusCB;
4137 /*The user data passed in by UMAC, it will be sent back when the above
4138 function pointer will be called */
4139 void* pUserData;
4140}WDI_WowlDelBcPtrnReqParamsType;
4141
4142/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004143 WDI_WowlDelBcPtrnRspParamsType
4144 Wowl Del ptrn info passed from WDI to WDA
4145---------------------------------------------------------------------------*/
4146typedef struct
4147{
4148 /*Status of the response*/
4149 WDI_Status wdiStatus;
4150 /*BssIDX of the session*/
4151 wpt_uint8 bssIdx;
4152}WDI_WowlDelBcPtrnRspParamsType;
4153
4154/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004155 WDI_WowlEnterInfoType
4156 Wowl enter info passed to WDA form UMAC
4157---------------------------------------------------------------------------*/
4158typedef struct
4159{
4160 /* Enables/disables magic packet filtering */
4161 wpt_uint8 ucMagicPktEnable;
4162
4163 /* Magic pattern */
4164 wpt_macAddr magicPtrn;
4165
4166 /* Enables/disables packet pattern filtering in firmware.
4167 Enabling this flag enables broadcast pattern matching
4168 in Firmware. If unicast pattern matching is also desired,
4169 ucUcastPatternFilteringEnable flag must be set tot true
4170 as well
4171 */
4172 wpt_uint8 ucPatternFilteringEnable;
4173
4174 /* Enables/disables unicast packet pattern filtering.
4175 This flag specifies whether we want to do pattern match
4176 on unicast packets as well and not just broadcast packets.
4177 This flag has no effect if the ucPatternFilteringEnable
4178 (main controlling flag) is set to false
4179 */
4180 wpt_uint8 ucUcastPatternFilteringEnable;
4181
4182 /* This configuration is valid only when magicPktEnable=1.
4183 * It requests hardware to wake up when it receives the
4184 * Channel Switch Action Frame.
4185 */
4186 wpt_uint8 ucWowChnlSwitchRcv;
4187
4188 /* This configuration is valid only when magicPktEnable=1.
4189 * It requests hardware to wake up when it receives the
4190 * Deauthentication Frame.
4191 */
4192 wpt_uint8 ucWowDeauthRcv;
4193
4194 /* This configuration is valid only when magicPktEnable=1.
4195 * It requests hardware to wake up when it receives the
4196 * Disassociation Frame.
4197 */
4198 wpt_uint8 ucWowDisassocRcv;
4199
4200 /* This configuration is valid only when magicPktEnable=1.
4201 * It requests hardware to wake up when it has missed
4202 * consecutive beacons. This is a hardware register
4203 * configuration (NOT a firmware configuration).
4204 */
4205 wpt_uint8 ucWowMaxMissedBeacons;
4206
4207 /* This configuration is valid only when magicPktEnable=1.
4208 * This is a timeout value in units of microsec. It requests
4209 * hardware to unconditionally wake up after it has stayed
4210 * in WoWLAN mode for some time. Set 0 to disable this feature.
4211 */
4212 wpt_uint8 ucWowMaxSleepUsec;
4213
4214#ifdef WLAN_WAKEUP_EVENTS
4215 /* This configuration directs the WoW packet filtering to look for EAP-ID
4216 * requests embedded in EAPOL frames and use this as a wake source.
4217 */
4218 wpt_uint8 ucWoWEAPIDRequestEnable;
4219
4220 /* This configuration directs the WoW packet filtering to look for EAPOL-4WAY
4221 * requests and use this as a wake source.
4222 */
4223 wpt_uint8 ucWoWEAPOL4WayEnable;
4224
4225 /* This configuration allows a host wakeup on an network scan offload match.
4226 */
4227 wpt_uint8 ucWowNetScanOffloadMatch;
4228
4229 /* This configuration allows a host wakeup on any GTK rekeying error.
4230 */
4231 wpt_uint8 ucWowGTKRekeyError;
4232
4233 /* This configuration allows a host wakeup on BSS connection loss.
4234 */
4235 wpt_uint8 ucWoWBSSConnLoss;
4236#endif // WLAN_WAKEUP_EVENTS
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004237
4238 /* BSSIDX used to find the current session
4239 */
4240 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004241} WDI_WowlEnterInfoType;
4242
4243/*---------------------------------------------------------------------------
4244 WDI_WowlEnterReqParamsType
4245 Wowl enter info passed to WDI form WDA
4246---------------------------------------------------------------------------*/
4247typedef struct
4248{
4249 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
4250 WDI_WowlEnterInfoType wdiWowlEnterInfo;
4251 /*Request status callback offered by UMAC - it is called if the current req
4252 has returned PENDING as status; it delivers the status of sending the message
4253 over the BUS */
4254 WDI_ReqStatusCb wdiReqStatusCB;
4255 /*The user data passed in by UMAC, it will be sent back when the above
4256 function pointer will be called */
4257 void* pUserData;
4258}WDI_WowlEnterReqParamsType;
4259
4260/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004261 WDI_WowlEnterRsqParamsType
4262 Wowl enter info passed from WDI to WDA
4263---------------------------------------------------------------------------*/
4264typedef struct
4265{
4266 /*Status of the response message*/
4267 WDI_Status status;
4268
4269 /* BSSIDX used to find the current session
4270 */
4271 wpt_uint8 bssIdx;
4272}WDI_WowlEnterRspParamsType;
4273
4274/*---------------------------------------------------------------------------
4275 WDI_WowlExitInfoType
4276 Wowl exit info passed to WDA form UMAC
4277 ---------------------------------------------------------------------------*/
4278typedef struct
4279{
4280 /* BSSIDX used to find the current session
4281 */
4282 wpt_uint8 bssIdx;
4283} WDI_WowlExitInfoType;
4284
4285/*---------------------------------------------------------------------------
4286 WDI_WowlExitReqParamsType
4287 Wowl exit info passed to WDI form WDA
4288---------------------------------------------------------------------------*/
4289typedef struct
4290{
4291 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
4292 WDI_WowlExitInfoType wdiWowlExitInfo;
4293 /*Request status callback offered by UMAC - it is called if the current req
4294 has returned PENDING as status; it delivers the status of sending the message
4295 over the BUS */
4296 WDI_ReqStatusCb wdiReqStatusCB;
4297 /*The user data passed in by UMAC, it will be sent back when the above
4298 function pointer will be called */
4299 void* pUserData;
4300}WDI_WowlExitReqParamsType;
4301
4302/*---------------------------------------------------------------------------
4303 WDI_WowlExitRspParamsType
4304 Wowl exit info passed from WDI to WDA
4305---------------------------------------------------------------------------*/
4306typedef struct
4307{
4308 /*Status of the response message*/
4309 WDI_Status status;
4310
4311 /* BSSIDX used to find the current session
4312 */
4313 wpt_uint8 bssIdx;
4314}WDI_WowlExitRspParamsType;
4315
4316/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004317 WDI_ConfigureAppsCpuWakeupStateReqParamsType
4318 Apps Cpu Wakeup State parameters passed to WDI form WDA
4319---------------------------------------------------------------------------*/
4320typedef struct
4321{
4322 /*Depicts the state of the Apps CPU */
4323 wpt_boolean bIsAppsAwake;
4324 /*Request status callback offered by UMAC - it is called if the current req
4325 has returned PENDING as status; it delivers the status of sending the message
4326 over the BUS */
4327 WDI_ReqStatusCb wdiReqStatusCB;
4328 /*The user data passed in by UMAC, it will be sent back when the above
4329 function pointer will be called */
4330 void* pUserData;
4331}WDI_ConfigureAppsCpuWakeupStateReqParamsType;
4332/*---------------------------------------------------------------------------
4333 WDI_FlushAcReqinfoType
4334---------------------------------------------------------------------------*/
4335typedef struct
4336{
4337 // Message Type
4338 wpt_uint16 usMesgType;
4339
4340 // Message Length
4341 wpt_uint16 usMesgLen;
4342
4343 // Station Index. originates from HAL
4344 wpt_uint8 ucSTAId;
4345
4346 // TID for which the transmit queue is being flushed
4347 wpt_uint8 ucTid;
4348
4349}WDI_FlushAcReqinfoType;
4350
4351/*---------------------------------------------------------------------------
4352 WDI_FlushAcReqParamsType
4353---------------------------------------------------------------------------*/
4354typedef struct
4355{
4356 /*AC Info */
4357 WDI_FlushAcReqinfoType wdiFlushAcInfo;
4358
4359 /*Request status callback offered by UMAC - it is called if the current
4360 req has returned PENDING as status; it delivers the status of sending
4361 the message over the BUS */
4362 WDI_ReqStatusCb wdiReqStatusCB;
4363
4364 /*The user data passed in by UMAC, it will be sent back when the above
4365 function pointer will be called */
4366 void* pUserData;
4367}WDI_FlushAcReqParamsType;
4368
4369/*---------------------------------------------------------------------------
4370 WDI_BtAmpEventinfoType
4371 BT-AMP Event Structure
4372---------------------------------------------------------------------------*/
4373typedef struct
4374{
4375 wpt_uint8 ucBtAmpEventType;
4376
4377} WDI_BtAmpEventinfoType;
4378
4379/*---------------------------------------------------------------------------
4380 WDI_BtAmpEventParamsType
4381---------------------------------------------------------------------------*/
4382typedef struct
4383{
4384 /*BT AMP event Info */
4385 WDI_BtAmpEventinfoType wdiBtAmpEventInfo;
4386
4387 /*Request status callback offered by UMAC - it is called if the current
4388 req has returned PENDING as status; it delivers the status of sending
4389 the message over the BUS */
4390 WDI_ReqStatusCb wdiReqStatusCB;
4391
4392 /*The user data passed in by UMAC, it will be sent back when the above
4393 function pointer will be called */
4394 void* pUserData;
4395}WDI_BtAmpEventParamsType;
4396
Jeff Johnsone7245742012-09-05 17:12:55 -07004397#ifdef FEATURE_OEM_DATA_SUPPORT
4398
4399#ifndef OEM_DATA_REQ_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004400#define OEM_DATA_REQ_SIZE 134
Jeff Johnsone7245742012-09-05 17:12:55 -07004401#endif
4402#ifndef OEM_DATA_RSP_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004403#define OEM_DATA_RSP_SIZE 1968
Jeff Johnsone7245742012-09-05 17:12:55 -07004404#endif
4405
4406/*----------------------------------------------------------------------------
4407 WDI_oemDataReqInfoType
4408----------------------------------------------------------------------------*/
4409typedef struct
4410{
4411 wpt_macAddr selfMacAddr;
4412 wpt_uint8 oemDataReq[OEM_DATA_REQ_SIZE];
4413}WDI_oemDataReqInfoType;
4414
4415/*----------------------------------------------------------------------------
4416 WDI_oemDataReqParamsType
4417----------------------------------------------------------------------------*/
4418typedef struct
4419{
4420 /*Request status callback offered by UMAC - it is called if the current
4421 req has returned PENDING as status; it delivers the status of sending
4422 the message over the BUS */
4423 WDI_ReqStatusCb wdiReqStatusCB;
4424
4425 /*The user data passed in by UMAC, it will be sent back when the above
4426 function pointer will be called */
4427 void* pUserData;
4428
4429 /*OEM DATA REQ Info */
4430 WDI_oemDataReqInfoType wdiOemDataReqInfo;
4431
4432}WDI_oemDataReqParamsType;
4433
4434/*----------------------------------------------------------------------------
4435 WDI_oemDataRspParamsType
4436----------------------------------------------------------------------------*/
4437typedef struct
4438{
4439 wpt_uint8 oemDataRsp[OEM_DATA_RSP_SIZE];
4440}WDI_oemDataRspParamsType;
4441
4442#endif /* FEATURE_OEM_DATA_SUPPORT */
Jeff Johnson295189b2012-06-20 16:38:30 -07004443
4444#ifdef WLAN_FEATURE_VOWIFI_11R
4445/*---------------------------------------------------------------------------
4446 WDI_AggrAddTSReqInfoType
4447---------------------------------------------------------------------------*/
4448typedef struct
4449{
4450 /*STA Index*/
4451 wpt_uint8 ucSTAIdx;
4452
4453 /*Identifier for TSpec*/
4454 wpt_uint8 ucTspecIdx;
4455
4456 /*Tspec IE negotiated OTA*/
4457 WDI_TspecIEType wdiTspecIE[WDI_MAX_NO_AC];
4458
4459 /*UAPSD delivery and trigger enabled flags */
4460 wpt_uint8 ucUapsdFlags;
4461
4462 /*SI for each AC*/
4463 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
4464
4465 /*Suspend Interval for each AC*/
4466 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
4467
4468 /*DI for each AC*/
4469 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
4470
4471}WDI_AggrAddTSReqInfoType;
4472
4473
4474/*---------------------------------------------------------------------------
4475 WDI_AggrAddTSReqParamsType
4476---------------------------------------------------------------------------*/
4477typedef struct
4478{
4479 /*TSpec Info */
4480 WDI_AggrAddTSReqInfoType wdiAggrTsInfo;
4481
4482 /*Request status callback offered by UMAC - it is called if the current
4483 req has returned PENDING as status; it delivers the status of sending
4484 the message over the BUS */
4485 WDI_ReqStatusCb wdiReqStatusCB;
4486
4487 /*The user data passed in by UMAC, it will be sent back when the above
4488 function pointer will be called */
4489 void* pUserData;
4490}WDI_AggrAddTSReqParamsType;
4491
4492#endif /* WLAN_FEATURE_VOWIFI_11R */
4493
Jeff Johnson295189b2012-06-20 16:38:30 -07004494/*---------------------------------------------------------------------------
4495 WDI_FTMCommandReqType
4496---------------------------------------------------------------------------*/
4497typedef struct
4498{
4499 /* FTM Command Body length */
4500 wpt_uint32 bodyLength;
4501 /* Actual FTM Command body */
4502 void *FTMCommandBody;
4503}WDI_FTMCommandReqType;
Jeff Johnson295189b2012-06-20 16:38:30 -07004504
4505/*---------------------------------------------------------------------------
4506 WDI_WlanSuspendInfoType
4507---------------------------------------------------------------------------*/
4508typedef struct
4509{
4510 /* Mode of Mcast and Bcast filters configured */
4511 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4512}WDI_WlanSuspendInfoType;
4513
4514/*---------------------------------------------------------------------------
4515 WDI_SuspendParamsType
4516---------------------------------------------------------------------------*/
4517typedef struct
4518{
4519 WDI_WlanSuspendInfoType wdiSuspendParams;
4520
4521 /*Request status callback offered by UMAC - it is called if the current
4522 req has returned PENDING as status; it delivers the status of sending
4523 the message over the BUS */
4524 WDI_ReqStatusCb wdiReqStatusCB;
4525
4526 /*The user data passed in by UMAC, it will be sent back when the above
4527 function pointer will be called */
4528 void* pUserData;
4529
4530}WDI_SuspendParamsType;
4531
4532/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004533 WDI_TrafficStatsType - This is collected for each STA
4534---------------------------------------------------------------------------*/
4535
4536typedef struct
4537{
4538 /* TX stats */
4539 wpt_uint32 txBytesPushed;
4540 wpt_uint32 txPacketsPushed;
4541
4542 /* RX stats */
4543 wpt_uint32 rxBytesRcvd;
4544 wpt_uint32 rxPacketsRcvd;
4545 wpt_uint32 rxTimeTotal;
4546}WDI_TrafficStatsType;
4547
4548typedef struct
4549{
4550 WDI_TrafficStatsType *pTrafficStats;
4551 wpt_uint32 length;
4552 wpt_uint32 duration;
4553
4554 /*Request status callback offered by UMAC - it is called if the current
4555 req has returned PENDING as status; it delivers the status of sending
4556 the message over the BUS */
4557 WDI_ReqStatusCb wdiReqStatusCB;
4558
4559 /*The user data passed in by UMAC, it will be sent back when the above
4560 function pointer will be called */
4561 void* pUserData;
4562}WDI_TrafficStatsIndType;
4563
Chet Lanctot186b5732013-03-18 10:26:30 -07004564#ifdef WLAN_FEATURE_11W
4565typedef struct
4566{
4567
4568 wpt_boolean bExcludeUnencrypt;
4569 wpt_macAddr bssid;
4570 /*Request status callback offered by UMAC - it is called if the current
4571 req has returned PENDING as status; it delivers the status of sending
4572 the message over the BUS */
4573 WDI_ReqStatusCb wdiReqStatusCB;
4574
4575 /*The user data passed in by UMAC, it will be sent back when the above
4576 function pointer will be called */
4577 void* pUserData;
4578}WDI_ExcludeUnencryptIndType;
4579#endif
4580
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004581/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004582 WDI_WlanResumeInfoType
4583---------------------------------------------------------------------------*/
4584typedef struct
4585{
4586 /* Mode of Mcast and Bcast filters configured */
4587 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4588}WDI_WlanResumeInfoType;
4589
4590/*---------------------------------------------------------------------------
4591 WDI_ResumeParamsType
4592---------------------------------------------------------------------------*/
4593typedef struct
4594{
4595 WDI_WlanResumeInfoType wdiResumeParams;
4596
4597 /*Request status callback offered by UMAC - it is called if the current
4598 req has returned PENDING as status; it delivers the status of sending
4599 the message over the BUS */
4600 WDI_ReqStatusCb wdiReqStatusCB;
4601
4602 /*The user data passed in by UMAC, it will be sent back when the above
4603 function pointer will be called */
4604 void* pUserData;
4605
4606}WDI_ResumeParamsType;
4607
4608#ifdef WLAN_FEATURE_GTK_OFFLOAD
4609/*---------------------------------------------------------------------------
4610 * WDI_GTK_OFFLOAD_REQ
4611 *--------------------------------------------------------------------------*/
4612
4613typedef struct
4614{
4615 wpt_uint32 ulFlags; /* optional flags */
4616 wpt_uint8 aKCK[16]; /* Key confirmation key */
4617 wpt_uint8 aKEK[16]; /* key encryption key */
4618 wpt_uint64 ullKeyReplayCounter; /* replay counter */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004619 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004620} WDI_GtkOffloadReqParams;
4621
4622typedef struct
4623{
4624 WDI_GtkOffloadReqParams gtkOffloadReqParams;
4625
4626 /*Request status callback offered by UMAC - it is called if the current
4627 req has returned PENDING as status; it delivers the status of sending
4628 the message over the BUS */
4629 WDI_ReqStatusCb wdiReqStatusCB;
4630
4631 /*The user data passed in by UMAC, it will be sent back when the above
4632 function pointer will be called */
4633 void* pUserData;
4634} WDI_GtkOffloadReqMsg;
4635
4636/*---------------------------------------------------------------------------
4637 * WDI_GTK_OFFLOAD_RSP
4638 *--------------------------------------------------------------------------*/
4639typedef struct
4640{
4641 /* success or failure */
4642 wpt_uint32 ulStatus;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004643 /*BssIdx of the response */
4644 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004645} WDI_GtkOffloadRspParams;
4646
4647typedef struct
4648{
4649 WDI_GtkOffloadRspParams gtkOffloadRspParams;
4650
4651 /*Request status callback offered by UMAC - it is called if the current
4652 req has returned PENDING as status; it delivers the status of sending
4653 the message over the BUS */
4654 WDI_ReqStatusCb wdiReqStatusCB;
4655
4656 /*The user data passed in by UMAC, it will be sent back when the above
4657 function pointer will be called */
4658 void* pUserData;
4659} WDI_GtkOffloadRspMsg;
4660
4661
4662/*---------------------------------------------------------------------------
4663* WDI_GTK_OFFLOAD_GETINFO_REQ
4664*--------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004665typedef struct
4666{
4667 /*BssIdx of the response */
4668 wpt_macAddr bssId;
4669} WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004670
4671typedef struct
4672{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004673
4674 WDI_GtkOffloadGetInfoReqParams WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004675 /*Request status callback offered by UMAC - it is called if the current
4676 req has returned PENDING as status; it delivers the status of sending
4677 the message over the BUS */
4678 WDI_ReqStatusCb wdiReqStatusCB;
4679
4680 /*The user data passed in by UMAC, it will be sent back when the above
4681 function pointer will be called */
4682 void* pUserData;
4683} WDI_GtkOffloadGetInfoReqMsg;
4684
4685/*---------------------------------------------------------------------------
4686* WDI_GTK_OFFLOAD_GETINFO_RSP
4687*--------------------------------------------------------------------------*/
4688typedef struct
4689{
4690 wpt_uint32 ulStatus; /* success or failure */
4691 wpt_uint64 ullKeyReplayCounter; /* current replay counter value */
4692 wpt_uint32 ulTotalRekeyCount; /* total rekey attempts */
4693 wpt_uint32 ulGTKRekeyCount; /* successful GTK rekeys */
4694 wpt_uint32 ulIGTKRekeyCount; /* successful iGTK rekeys */
Gopichand Nakkala870cbae2013-03-15 21:16:09 +05304695 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004696} WDI_GtkOffloadGetInfoRspParams;
4697
4698typedef struct
4699{
4700 WDI_GtkOffloadGetInfoRspParams gtkOffloadGetInfoRspParams;
4701
4702 /*Request status callback offered by UMAC - it is called if the current
4703 req has returned PENDING as status; it delivers the status of sending
4704 the message over the BUS */
4705 WDI_ReqStatusCb wdiReqStatusCB;
4706
4707 /*The user data passed in by UMAC, it will be sent back when the above
4708 function pointer will be called */
4709 void* pUserData;
4710} WDI_GtkOffloadGetInfoRspMsg;
4711#endif // WLAN_FEATURE_GTK_OFFLOAD
4712
4713/*---------------------------------------------------------------------------
4714 WDI_SuspendResumeRspParamsType
4715---------------------------------------------------------------------------*/
4716typedef struct
4717{
4718 /*Status of the response*/
4719 WDI_Status wdiStatus;
4720}WDI_SuspendResumeRspParamsType;
4721
Leo Chang9056f462013-08-01 19:21:11 -07004722#ifdef FEATURE_WLAN_LPHB
4723/*---------------------------------------------------------------------------
4724 WDI Low Power Heart Beat Config request
4725 Copy from sirApi.h to avoid compile error
4726---------------------------------------------------------------------------*/
4727#define WDI_LPHB_FILTER_LEN 64
4728
4729typedef enum
4730{
4731 WDI_LPHB_SET_EN_PARAMS_INDID = 0x0001,
4732 WDI_LPHB_SET_TCP_PARAMS_INDID,
4733 WDI_LPHB_SET_TCP_PKT_FILTER_INDID,
4734 WDI_LPHB_SET_UDP_PARAMS_INDID,
4735 WDI_LPHB_SET_UDP_PKT_FILTER_INDID,
4736 WDI_LPHB_SET_NETWORK_INFO_INDID,
4737} WDI_LPHBIndType;
4738
4739typedef struct
4740{
4741 wpt_uint8 enable;
4742 wpt_uint8 item;
4743 wpt_uint8 session;
4744} WDI_LPHBEnableStruct;
4745
4746typedef struct
4747{
4748 wpt_uint32 srv_ip;
4749 wpt_uint32 dev_ip;
4750 wpt_uint16 src_port;
4751 wpt_uint16 dst_port;
4752 wpt_uint16 timeout;
4753 wpt_uint8 session;
4754 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
Leo Changd9df8aa2013-09-26 13:32:26 -07004755 wpt_uint16 timePeriodSec; // in seconds
4756 wpt_uint32 tcpSn;
Leo Chang9056f462013-08-01 19:21:11 -07004757} WDI_LPHBTcpParamStruct;
4758
4759typedef struct
4760{
4761 wpt_uint16 length;
4762 wpt_uint8 offset;
4763 wpt_uint8 session;
4764 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
4765} WDI_LPHBTcpFilterStruct;
4766
4767typedef struct
4768{
4769 wpt_uint32 srv_ip;
4770 wpt_uint32 dev_ip;
4771 wpt_uint16 src_port;
4772 wpt_uint16 dst_port;
4773 wpt_uint16 interval;
4774 wpt_uint16 timeout;
4775 wpt_uint8 session;
4776 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
4777} WDI_LPHBUdpParamStruct;
4778
4779typedef struct
4780{
4781 wpt_uint16 length;
4782 wpt_uint8 offset;
4783 wpt_uint8 session;
4784 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
4785} WDI_LPHBUdpFilterStruct;
4786
4787typedef struct
4788{
4789 wpt_uint16 cmd;
4790 wpt_uint16 dummy;
4791 union
4792 {
4793 WDI_LPHBEnableStruct lphbEnableReq;
4794 WDI_LPHBTcpParamStruct lphbTcpParamReq;
4795 WDI_LPHBTcpFilterStruct lphbTcpFilterReq;
4796 WDI_LPHBUdpParamStruct lphbUdpParamReq;
4797 WDI_LPHBUdpFilterStruct lphbUdpFilterReq;
4798 } params;
4799} WDI_LPHBReq;
4800#endif /* FEATURE_WLAN_LPHB */
Jeff Johnson295189b2012-06-20 16:38:30 -07004801
Jeff Johnson295189b2012-06-20 16:38:30 -07004802/*---------------------------------------------------------------------------
4803 WDI_AuthType
4804---------------------------------------------------------------------------*/
4805typedef enum
4806{
4807 WDI_AUTH_TYPE_ANY = 0,
4808
4809 WDI_AUTH_TYPE_NONE,
4810 WDI_AUTH_TYPE_OPEN_SYSTEM,
4811 WDI_AUTH_TYPE_SHARED_KEY,
4812
4813 WDI_AUTH_TYPE_WPA,
4814 WDI_AUTH_TYPE_WPA_PSK,
4815 WDI_AUTH_TYPE_WPA_NONE,
4816
4817 WDI_AUTH_TYPE_RSN,
4818 WDI_AUTH_TYPE_RSN_PSK,
4819 WDI_AUTH_TYPE_FT_RSN,
4820 WDI_AUTH_TYPE_FT_RSN_PSK,
4821 WDI_AUTH_TYPE_WAPI_WAI_CERTIFICATE,
4822 WDI_AUTH_TYPE_WAPI_WAI_PSK,
4823 WDI_AUTH_TYPE_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
4824
4825}WDI_AuthType;
4826
4827/*---------------------------------------------------------------------------
4828 WDI_EdType
4829---------------------------------------------------------------------------*/
4830typedef enum
4831{
4832 WDI_ED_ANY = 0,
4833 WDI_ED_NONE,
4834 WDI_ED_WEP40,
4835 WDI_ED_WEP104,
4836 WDI_ED_TKIP,
4837 WDI_ED_CCMP,
4838 WDI_ED_WPI,
4839 WDI_ED_AES_128_CMAC,
4840 WDI_ED_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
4841} WDI_EdType;
4842
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08004843#ifdef FEATURE_WLAN_SCAN_PNO
4844
4845/*Max number of channels for a given network supported by PNO*/
4846#define WDI_PNO_MAX_NETW_CHANNELS 26
4847
4848/*Max number of channels for a given network supported by PNO*/
4849#define WDI_PNO_MAX_NETW_CHANNELS_EX 60
4850
4851/*The max number of programable networks for PNO*/
4852#define WDI_PNO_MAX_SUPP_NETWORKS 16
4853
4854/*The max number of scan timers programable in Riva*/
4855#define WDI_PNO_MAX_SCAN_TIMERS 10
4856
4857#define WDI_PNO_MAX_PROBE_SIZE 450
Jeff Johnson295189b2012-06-20 16:38:30 -07004858
4859/*---------------------------------------------------------------------------
4860 WDI_PNOMode
4861---------------------------------------------------------------------------*/
4862typedef enum
4863{
4864 /*Network offload is to start immediately*/
4865 WDI_PNO_MODE_IMMEDIATE,
4866
4867 /*Network offload is to start on host suspend*/
4868 WDI_PNO_MODE_ON_SUSPEND,
4869
4870 /*Network offload is to start on host resume*/
4871 WDI_PNO_MODE_ON_RESUME,
4872 WDI_PNO_MODE_MAX = 0xFFFFFFFF
4873} WDI_PNOMode;
4874
4875/* SSID broadcast type */
4876typedef enum
4877{
4878 WDI_BCAST_UNKNOWN = 0,
4879 WDI_BCAST_NORMAL = 1,
4880 WDI_BCAST_HIDDEN = 2,
4881
4882 WDI_BCAST_TYPE_MAX = 0xFFFFFFFF
4883} WDI_SSIDBcastType;
4884
4885/*---------------------------------------------------------------------------
4886 WDI_NetworkType
4887---------------------------------------------------------------------------*/
4888typedef struct
4889{
4890 /*The SSID of the preferred network*/
4891 WDI_MacSSid ssId;
4892
4893 /*The authentication method of the preferred network*/
4894 WDI_AuthType wdiAuth;
4895
4896 /*The encryption method of the preferred network*/
4897 WDI_EdType wdiEncryption;
4898
4899 /*SSID broadcast type, normal, hidden or unknown*/
4900 WDI_SSIDBcastType wdiBcastNetworkType;
4901
4902 /*channel count - 0 for all channels*/
4903 wpt_uint8 ucChannelCount;
4904
4905 /*the actual channels*/
Madan Mohan Koyyalamudi4bb5d2e2013-09-26 17:36:46 +05304906 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
Jeff Johnson295189b2012-06-20 16:38:30 -07004907
4908 /*rssi threshold that a network must meet to be considered, 0 - for any*/
4909 wpt_uint8 rssiThreshold;
4910} WDI_NetworkType;
4911
4912
4913/*---------------------------------------------------------------------------
4914 WDI_ScanTimer
4915---------------------------------------------------------------------------*/
4916typedef struct
4917{
4918 /*The timer value*/
4919 wpt_uint32 uTimerValue;
4920
4921 /*The amount of time we should be repeating the interval*/
4922 wpt_uint32 uTimerRepeat;
4923} WDI_ScanTimer;
4924
4925/*---------------------------------------------------------------------------
4926 WDI_ScanTimersType
4927---------------------------------------------------------------------------*/
4928typedef struct
4929{
4930 /*The number of value pair intervals present in the array*/
4931 wpt_uint8 ucScanTimersCount;
4932
4933 /*The time-repeat value pairs*/
4934 WDI_ScanTimer aTimerValues[WDI_PNO_MAX_SCAN_TIMERS];
4935} WDI_ScanTimersType;
4936
4937/*---------------------------------------------------------------------------
4938 WDI_PNOScanReqType
4939---------------------------------------------------------------------------*/
4940typedef struct
4941{
4942 /*Enable or disable PNO feature*/
4943 wpt_uint8 bEnable;
4944
4945 /*PNO mode requested*/
4946 WDI_PNOMode wdiModePNO;
4947
4948 /*Network count*/
4949 wpt_uint8 ucNetworksCount;
4950
4951 /*The networks to look for*/
4952 WDI_NetworkType aNetworks[WDI_PNO_MAX_SUPP_NETWORKS];
4953
4954 /*Scan timer intervals*/
4955 WDI_ScanTimersType scanTimers;
4956
4957 /*Probe template for 2.4GHz band*/
4958 wpt_uint16 us24GProbeSize;
4959 wpt_uint8 a24GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
4960
4961 /*Probe template for 5GHz band*/
4962 wpt_uint16 us5GProbeSize;
4963 wpt_uint8 a5GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
4964} WDI_PNOScanReqType;
4965
4966/*---------------------------------------------------------------------------
4967 WDI_PNOScanReqParamsType
4968 PNO info passed to WDI form WDA
4969---------------------------------------------------------------------------*/
4970typedef struct
4971{
4972 /* PNO Info Type, same as tPrefNetwListParams */
4973 WDI_PNOScanReqType wdiPNOScanInfo;
4974 /* Request status callback offered by UMAC - it is called if the current req
4975 has returned PENDING as status; it delivers the status of sending the message
4976 over the BUS */
4977 WDI_ReqStatusCb wdiReqStatusCB;
4978 /* The user data passed in by UMAC, it will be sent back when the above
4979 function pointer will be called */
4980 void* pUserData;
4981} WDI_PNOScanReqParamsType;
4982
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08004983/*---------------------------------------------------------------------------
4984 WDI_SetRssiFilterReqParamsType
4985 PNO info passed to WDI form WDA
4986---------------------------------------------------------------------------*/
4987typedef struct
4988{
4989 /* RSSI Threshold */
4990 wpt_uint8 rssiThreshold;
4991 /* Request status callback offered by UMAC - it is called if the current req
4992 has returned PENDING as status; it delivers the status of sending the message
4993 over the BUS */
4994 WDI_ReqStatusCb wdiReqStatusCB;
4995 /* The user data passed in by UMAC, it will be sent back when the above
4996 function pointer will be called */
4997 void* pUserData;
4998} WDI_SetRssiFilterReqParamsType;
4999
5000/*---------------------------------------------------------------------------
5001 WDI_UpdateScanParamsInfo
5002---------------------------------------------------------------------------*/
5003typedef struct
5004{
5005 /*Is 11d enabled*/
5006 wpt_uint8 b11dEnabled;
5007
5008 /*Was UMAc able to find the regulatory domain*/
5009 wpt_uint8 b11dResolved;
5010
5011 /*Number of channel allowed in the regulatory domain*/
5012 wpt_uint8 ucChannelCount;
5013
5014 /*The actual channels allowed in the regulatory domain*/
5015 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
5016
5017 /*Passive min channel time*/
5018 wpt_uint16 usPassiveMinChTime;
5019
5020 /*Passive max channel time*/
5021 wpt_uint16 usPassiveMaxChTime;
5022
5023 /*Active min channel time*/
5024 wpt_uint16 usActiveMinChTime;
5025
5026 /*Active max channel time*/
5027 wpt_uint16 usActiveMaxChTime;
5028
5029 /*channel bonding info*/
5030 wpt_uint8 cbState;
5031} WDI_UpdateScanParamsInfo;
5032
5033/*---------------------------------------------------------------------------
5034 WDI_UpdateScanParamsInfoType
5035 UpdateScanParams info passed to WDI form WDA
5036---------------------------------------------------------------------------*/
5037typedef struct
5038{
5039 /* PNO Info Type, same as tUpdateScanParams */
5040 WDI_UpdateScanParamsInfo wdiUpdateScanParamsInfo;
5041 /* Request status callback offered by UMAC - it is called if the current req
5042 has returned PENDING as status; it delivers the status of sending the message
5043 over the BUS */
5044 WDI_ReqStatusCb wdiReqStatusCB;
5045 /* The user data passed in by UMAC, it will be sent back when the above
5046 function pointer will be called */
5047 void* pUserData;
5048} WDI_UpdateScanParamsInfoType;
5049#endif //FEATURE_WLAN_SCAN_PNO
5050
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005051#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
5052
Varun Reddy Yeturu52231ea2014-02-06 12:00:56 -08005053#define WDI_ROAM_SCAN_MAX_CHANNELS 80
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005054#define WDI_ROAM_SCAN_MAX_PROBE_SIZE 450
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005055
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005056typedef struct
5057{
5058 /*The SSID of the preferred network*/
5059 WDI_MacSSid ssId;
5060 wpt_uint8 currAPbssid[WDI_MAC_ADDR_LEN];
5061
5062 /*The authentication method of the preferred network*/
5063 WDI_AuthType authentication;
5064
5065 /*The encryption method of the preferred network*/
5066 WDI_EdType encryption;
5067 WDI_EdType mcencryption;
5068
5069 /*SSID broadcast type, normal, hidden or unknown*/
5070 //WDI_SSIDBcastType wdiBcastNetworkType;
5071
5072 /*channel count - 0 for all channels*/
5073 wpt_uint8 ChannelCount;
5074
5075 /*the actual channels*/
5076 wpt_uint8 ChannelCache[WDI_ROAM_SCAN_MAX_CHANNELS];
5077
5078} WDI_RoamNetworkType;
5079
5080typedef struct WDIMobilityDomainInfo
5081{
5082 wpt_uint8 mdiePresent;
5083 wpt_uint16 mobilityDomain;
5084} WDI_MobilityDomainInfo;
5085
5086/*---------------------------------------------------------------------------
5087 WDI_RoamOffloadScanInfo
5088---------------------------------------------------------------------------*/
5089typedef struct
5090{
5091 wpt_boolean RoamScanOffloadEnabled;
Sameer Thalappil4ae66ec2013-11-05 14:17:35 -08005092 wpt_boolean MAWCEnabled;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005093 wpt_uint8 LookupThreshold;
Varun Reddy Yeturu6c5e25c2014-01-09 21:55:37 -08005094 wpt_uint8 RxSensitivityThreshold;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005095 wpt_uint8 RoamRssiDiff;
5096 wpt_uint8 ChannelCacheType;
5097 wpt_uint8 Command;
5098 wpt_uint8 StartScanReason;
5099 wpt_uint16 NeighborScanTimerPeriod;
5100 wpt_uint16 NeighborRoamScanRefreshPeriod;
5101 wpt_uint16 NeighborScanChannelMinTime;
5102 wpt_uint16 NeighborScanChannelMaxTime;
5103 wpt_uint16 EmptyRefreshScanPeriod;
5104 wpt_uint8 ValidChannelCount;
5105 wpt_uint8 ValidChannelList[WDI_ROAM_SCAN_MAX_CHANNELS];
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08005106 wpt_boolean IsESEEnabled;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005107 /*Probe template for 2.4GHz band*/
5108 wpt_uint16 us24GProbeSize;
5109 wpt_uint8 a24GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
5110
5111 /*Probe template for 5GHz band*/
5112 wpt_uint16 us5GProbeSize;
5113 wpt_uint8 a5GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005114 /*LFR BG Scan will currently look for only one network to which it is initially connected.
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005115 * As per requirement, later, the following structure can be used as an array of networks.*/
5116 WDI_RoamNetworkType ConnectedNetwork;
5117 WDI_MobilityDomainInfo MDID;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005118 wpt_uint8 nProbes;
5119 wpt_uint16 HomeAwayTime;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005120} WDI_RoamOffloadScanInfo;
5121
5122typedef struct
5123{
5124 /* Start Roam Candidate Lookup Offload Back Ground Info Type */
5125 WDI_RoamOffloadScanInfo wdiRoamOffloadScanInfo;
5126 /* Request status callback offered by UMAC - it is called if the current req
5127 has returned PENDING as status; it delivers the status of sending the message
5128 over the BUS */
5129 WDI_ReqStatusCb wdiReqStatusCB;
5130 /* The user data passed in by UMAC, it will be sent back when the above
5131 function pointer will be called */
5132 void* pUserData;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005133} WDI_RoamScanOffloadReqParamsType;
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005134#endif //WLAN_FEATURE_ROAM_SCAN_OFFLOAD
Jeff Johnson295189b2012-06-20 16:38:30 -07005135
5136/*---------------------------------------------------------------------------
Sandeep Puligilla8b8b74b2014-02-10 16:39:05 +05305137 WDI_HT40ObssScanIndType
5138---------------------------------------------------------------------------*/
5139typedef struct
5140{
5141 wpt_uint8 cmdType;
5142 wpt_uint8 scanType;
5143 wpt_uint16 OBSSScanPassiveDwellTime; // In TUs
5144 wpt_uint16 OBSSScanActiveDwellTime; // In TUs
5145 wpt_uint16 BSSChannelWidthTriggerScanInterval; // In seconds
5146 wpt_uint16 OBSSScanPassiveTotalPerChannel; // In TUs
5147 wpt_uint16 OBSSScanActiveTotalPerChannel; // In TUs
5148 wpt_uint16 BSSWidthChannelTransitionDelayFactor;
5149 wpt_uint16 OBSSScanActivityThreshold;
5150 wpt_uint8 selfStaIdx;
5151 wpt_uint8 bssIdx;
5152 wpt_uint8 fortyMHZIntolerent;
5153 wpt_uint8 channelCount;
5154 wpt_uint8 channels[WDI_ROAM_SCAN_MAX_CHANNELS];
5155 wpt_uint8 currentOperatingClass;
5156 wpt_uint16 ieFieldLen;
5157 wpt_uint8 ieField[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
5158} WDI_HT40ObssScanIndType;
5159
5160
5161/*---------------------------------------------------------------------------
5162 WDI_OBSSScanIndParamsType
5163---------------------------------------------------------------------------*/
5164typedef struct
5165{
5166 WDI_HT40ObssScanIndType wdiHT40ObssScanParam;
5167
5168 /*Request status callback offered by UMAC - it is called if the current
5169 req has returned PENDING as status; it delivers the status of sending
5170 the message over the BUS */
5171 WDI_ReqStatusCb wdiReqStatusCB;
5172
5173 /*The user data passed in by UMAC, it will be sent back when the above
5174 function pointer will be called */
5175 void* pUserData;
5176
5177}WDI_HT40ObssScanParamsType;
5178
5179/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07005180 WDI_UpdateScanParamsInfo
5181---------------------------------------------------------------------------*/
5182typedef struct
5183{
5184 /* Ignore DTIM */
5185 wpt_uint32 uIgnoreDTIM;
5186
5187 /*DTIM Period*/
5188 wpt_uint32 uDTIMPeriod;
5189
5190 /* Listen Interval */
5191 wpt_uint32 uListenInterval;
5192
5193 /* Broadcast Multicas Filter */
5194 wpt_uint32 uBcastMcastFilter;
5195
5196 /* Beacon Early Termination */
5197 wpt_uint32 uEnableBET;
5198
5199 /* Beacon Early Termination Interval */
5200 wpt_uint32 uBETInterval;
5201
Yue Mac24062f2013-05-13 17:01:29 -07005202 /* MAX LI for modulated DTIM */
5203 wpt_uint32 uMaxLIModulatedDTIM;
5204
Jeff Johnson295189b2012-06-20 16:38:30 -07005205} WDI_SetPowerParamsInfo;
5206
5207/*---------------------------------------------------------------------------
5208 WDI_UpdateScanParamsInfoType
5209 UpdateScanParams info passed to WDI form WDA
5210---------------------------------------------------------------------------*/
5211typedef struct
5212{
5213 /* Power params Info Type, same as tSetPowerParamsReq */
5214 WDI_SetPowerParamsInfo wdiSetPowerParamsInfo;
5215 /* Request status callback offered by UMAC - it is called if the current req
5216 has returned PENDING as status; it delivers the status of sending the message
5217 over the BUS */
5218 WDI_ReqStatusCb wdiReqStatusCB;
5219 /* The user data passed in by UMAC, it will be sent back when the above
5220 function pointer will be called */
5221 void* pUserData;
5222}WDI_SetPowerParamsReqParamsType;
5223
5224/*---------------------------------------------------------------------------
5225 WDI_SetTxPerTrackingConfType
5226 Wowl add ptrn info passed to WDA form UMAC
5227---------------------------------------------------------------------------*/
5228typedef struct
5229{
5230 wpt_uint8 ucTxPerTrackingEnable; /* 0: disable, 1:enable */
5231 wpt_uint8 ucTxPerTrackingPeriod; /* Check period, unit is sec. */
5232 wpt_uint8 ucTxPerTrackingRatio; /* (Fail TX packet)/(Total TX packet) ratio, the unit is 10%. */
5233 wpt_uint32 uTxPerTrackingWatermark; /* A watermark of check number, once the tx packet exceed this number, we do the check, default is 5 */
5234} WDI_TxPerTrackingParamType;
5235
5236/*---------------------------------------------------------------------------
5237 WDI_SetTxPerTrackingReqParamsType
5238 Tx PER Tracking parameters passed to WDI from WDA
5239---------------------------------------------------------------------------*/
5240typedef struct
5241{
5242 /* Configurations for Tx PER Tracking */
5243 WDI_TxPerTrackingParamType wdiTxPerTrackingParam;
5244 /*Request status callback offered by UMAC - it is called if the current req
5245 has returned PENDING as status; it delivers the status of sending the message
5246 over the BUS */
5247 WDI_ReqStatusCb wdiReqStatusCB;
5248 /*The user data passed in by UMAC, it will be sent back when the above
5249 function pointer will be called */
5250 void* pUserData;
5251}WDI_SetTxPerTrackingReqParamsType;
5252
5253#ifdef WLAN_FEATURE_PACKET_FILTERING
5254/*---------------------------------------------------------------------------
5255 Packet Filtering Parameters
5256---------------------------------------------------------------------------*/
5257
5258#define WDI_IPV4_ADDR_LEN 4
5259#define WDI_MAC_ADDR_LEN 6
5260#define WDI_MAX_FILTER_TEST_DATA_LEN 8
5261#define WDI_MAX_NUM_MULTICAST_ADDRESS 240
5262#define WDI_MAX_NUM_FILTERS 20
5263#define WDI_MAX_NUM_TESTS_PER_FILTER 10
5264
5265//
5266// Receive Filter Parameters
5267//
5268typedef enum
5269{
5270 WDI_RCV_FILTER_TYPE_INVALID,
5271 WDI_RCV_FILTER_TYPE_FILTER_PKT,
5272 WDI_RCV_FILTER_TYPE_BUFFER_PKT,
5273 WDI_RCV_FILTER_TYPE_MAX_ENUM_SIZE
5274}WDI_ReceivePacketFilterType;
5275
5276typedef enum
5277{
5278 WDI_FILTER_HDR_TYPE_INVALID,
5279 WDI_FILTER_HDR_TYPE_MAC,
5280 WDI_FILTER_HDR_TYPE_ARP,
5281 WDI_FILTER_HDR_TYPE_IPV4,
5282 WDI_FILTER_HDR_TYPE_IPV6,
5283 WDI_FILTER_HDR_TYPE_UDP,
5284 WDI_FILTER_HDR_TYPE_MAX
5285}WDI_RcvPktFltProtocolType;
5286
5287typedef enum
5288{
5289 WDI_FILTER_CMP_TYPE_INVALID,
5290 WDI_FILTER_CMP_TYPE_EQUAL,
5291 WDI_FILTER_CMP_TYPE_MASK_EQUAL,
5292 WDI_FILTER_CMP_TYPE_NOT_EQUAL,
5293 WDI_FILTER_CMP_TYPE_MASK_NOT_EQUAL,
5294 WDI_FILTER_CMP_TYPE_MAX
5295}WDI_RcvPktFltCmpFlagType;
5296
5297typedef struct
5298{
5299 WDI_RcvPktFltProtocolType protocolLayer;
5300 WDI_RcvPktFltCmpFlagType cmpFlag;
5301/* Length of the data to compare */
5302 wpt_uint16 dataLength;
5303/* from start of the respective frame header */
5304 wpt_uint8 dataOffset;
5305 wpt_uint8 reserved; /* Reserved field */
5306/* Data to compare */
5307 wpt_uint8 compareData[WDI_MAX_FILTER_TEST_DATA_LEN];
5308/* Mask to be applied on the received packet data before compare */
5309 wpt_uint8 dataMask[WDI_MAX_FILTER_TEST_DATA_LEN];
5310}WDI_RcvPktFilterFieldParams;
5311
5312typedef struct
5313{
5314 wpt_uint8 filterId;
5315 wpt_uint8 filterType;
5316 wpt_uint32 numFieldParams;
5317 wpt_uint32 coalesceTime;
Jeff Johnsone7245742012-09-05 17:12:55 -07005318 wpt_macAddr selfMacAddr;
5319 wpt_macAddr bssId;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005320 WDI_RcvPktFilterFieldParams paramsData[1];
5321
Jeff Johnson295189b2012-06-20 16:38:30 -07005322}WDI_RcvPktFilterCfgType;
5323
5324typedef struct
5325{
5326 /*Request status callback offered by UMAC - it is called if the current
5327 req has returned PENDING as status; it delivers the status of sending
5328 the message over the BUS */
5329 WDI_ReqStatusCb wdiReqStatusCB;
5330
5331 /*The user data passed in by UMAC, it will be sent back when the above
5332 function pointer will be called */
5333 void* pUserData;
5334
5335 // Variable length packet filter field params
5336 WDI_RcvPktFilterCfgType wdiPktFilterCfg;
5337} WDI_SetRcvPktFilterReqParamsType;
5338
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005339typedef struct
5340{
5341 /*Result of the operation*/
5342 WDI_Status wdiStatus;
5343 /* BSSIDX of the Set Receive Filter
5344 */
5345 wpt_uint8 bssIdx;
5346} WDI_SetRcvPktFilterRspParamsType;
5347
Jeff Johnson295189b2012-06-20 16:38:30 -07005348//
5349// Filter Packet Match Count Parameters
5350//
5351typedef struct
5352{
5353 /*Request status callback offered by UMAC - it is called if the current
5354 req has returned PENDING as status; it delivers the status of sending
5355 the message over the BUS */
5356 WDI_ReqStatusCb wdiReqStatusCB;
5357
5358 /*The user data passed in by UMAC, it will be sent back when the above
5359 function pointer will be called */
5360 void* pUserData;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005361
5362 /* BSSID of the Match count
5363 */
5364 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005365} WDI_RcvFltPktMatchCntReqParamsType;
5366
5367typedef struct
5368{
5369 wpt_uint8 filterId;
5370 wpt_uint32 matchCnt;
5371} WDI_RcvFltPktMatchCnt;
5372
5373typedef struct
5374{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005375 /*Result of the operation*/
5376 WDI_Status wdiStatus;
Jeff Johnson295189b2012-06-20 16:38:30 -07005377
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005378 /* BSSIDX of the Match count response
5379 */
5380 wpt_uint8 bssIdx;
5381
Jeff Johnson295189b2012-06-20 16:38:30 -07005382} WDI_RcvFltPktMatchCntRspParamsType;
5383
Jeff Johnson295189b2012-06-20 16:38:30 -07005384//
5385// Receive Filter Clear Parameters
5386//
5387typedef struct
5388{
5389 wpt_uint32 status; /* only valid for response message */
5390 wpt_uint8 filterId;
Jeff Johnsone7245742012-09-05 17:12:55 -07005391 wpt_macAddr selfMacAddr;
5392 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005393}WDI_RcvFltPktClearParam;
5394
5395typedef struct
5396{
5397 WDI_RcvFltPktClearParam filterClearParam;
5398 /*Request status callback offered by UMAC - it is called if the current
5399 req has returned PENDING as status; it delivers the status of sending
5400 the message over the BUS */
5401 WDI_ReqStatusCb wdiReqStatusCB;
5402
5403 /*The user data passed in by UMAC, it will be sent back when the above
5404 function pointer will be called */
5405 void* pUserData;
5406} WDI_RcvFltPktClearReqParamsType;
5407
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005408typedef struct
5409{
5410 /*Result of the operation*/
5411 WDI_Status wdiStatus;
5412 /* BSSIDX of the Match count response
5413 */
5414 wpt_uint8 bssIdx;
5415
5416} WDI_RcvFltPktClearRspParamsType;
5417
Jeff Johnson295189b2012-06-20 16:38:30 -07005418//
5419// Multicast Address List Parameters
5420//
5421typedef struct
5422{
5423 wpt_uint32 ulMulticastAddrCnt;
5424 wpt_macAddr multicastAddr[WDI_MAX_NUM_MULTICAST_ADDRESS];
Jeff Johnsone7245742012-09-05 17:12:55 -07005425 wpt_macAddr selfMacAddr;
5426 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005427} WDI_RcvFltMcAddrListType;
5428
5429typedef struct
5430{
5431 WDI_RcvFltMcAddrListType mcAddrList;
5432 /*Request status callback offered by UMAC - it is called if the current
5433 req has returned PENDING as status; it delivers the status of sending
5434 the message over the BUS */
5435 WDI_ReqStatusCb wdiReqStatusCB;
5436
5437 /*The user data passed in by UMAC, it will be sent back when the above
5438 function pointer will be called */
5439 void* pUserData;
5440} WDI_RcvFltPktSetMcListReqParamsType;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005441
5442typedef struct
5443{
5444 /*Result of the operation*/
5445 WDI_Status wdiStatus;
5446 /* BSSIDX of the Match count response
5447 */
5448 wpt_uint8 bssIdx;
5449} WDI_RcvFltPktSetMcListRspParamsType;
5450
Jeff Johnson295189b2012-06-20 16:38:30 -07005451#endif // WLAN_FEATURE_PACKET_FILTERING
5452
5453/*---------------------------------------------------------------------------
5454 WDI_HALDumpCmdReqInfoType
5455---------------------------------------------------------------------------*/
5456typedef struct
5457{
5458 /*command*/
5459 wpt_uint32 command;
5460
5461 /*Arguments*/
5462 wpt_uint32 argument1;
5463 wpt_uint32 argument2;
5464 wpt_uint32 argument3;
5465 wpt_uint32 argument4;
5466
5467}WDI_HALDumpCmdReqInfoType;
5468
5469/*---------------------------------------------------------------------------
5470 WDI_HALDumpCmdReqParamsType
5471---------------------------------------------------------------------------*/
5472typedef struct
5473{
5474 /*NV Blob Info*/
5475 WDI_HALDumpCmdReqInfoType wdiHALDumpCmdInfoType;
5476
5477 /*Request status callback offered by UMAC - it is called if the current
5478 req has returned PENDING as status; it delivers the status of sending
5479 the message over the BUS */
5480 WDI_ReqStatusCb wdiReqStatusCB;
5481
5482 /*The user data passed in by UMAC, it will be sent back when the above
5483 function pointer will be called */
5484 void* pUserData;
5485
5486}WDI_HALDumpCmdReqParamsType;
5487
5488
5489/*---------------------------------------------------------------------------
5490 WDI_HALDumpCmdRspParamsType
5491---------------------------------------------------------------------------*/
5492typedef struct
5493{
5494 /*Result of the operation*/
5495 WDI_Status wdiStatus;
5496
5497 /* length of the buffer */
5498 wpt_uint16 usBufferLen;
5499
5500 /* Buffer */
5501 wpt_uint8 *pBuffer;
5502}WDI_HALDumpCmdRspParamsType;
5503
5504
5505/*---------------------------------------------------------------------------
5506 WDI_SetTmLevelReqType
5507---------------------------------------------------------------------------*/
5508typedef struct
5509{
5510 wpt_uint16 tmMode;
5511 wpt_uint16 tmLevel;
5512 void* pUserData;
5513}WDI_SetTmLevelReqType;
5514
5515/*---------------------------------------------------------------------------
5516 WDI_SetTmLevelRspType
5517---------------------------------------------------------------------------*/
5518typedef struct
5519{
5520 WDI_Status wdiStatus;
5521 void* pUserData;
5522}WDI_SetTmLevelRspType;
5523
Leo Chang9056f462013-08-01 19:21:11 -07005524#ifdef FEATURE_WLAN_LPHB
5525/*---------------------------------------------------------------------------
5526 WDI_LPHBConfigParamsType
5527---------------------------------------------------------------------------*/
5528typedef struct
5529{
5530 void* pLphsConfIndData;
5531}WDI_LPHBConfigParamsType;
5532#endif /* FEATURE_WLAN_LPHB */
5533
Yue Mab9c86f42013-08-14 15:59:08 -07005534/*---------------------------------------------------------------------------
5535 WDI_AddPeriodicTxPtrnInfoType
5536---------------------------------------------------------------------------*/
5537typedef struct
5538{
5539 /* MAC Address for the adapter */
5540 wpt_macAddr macAddr;
5541
5542 wpt_uint8 ucPtrnId; // Pattern ID
5543 wpt_uint16 ucPtrnSize; // Pattern size
5544 wpt_uint32 usPtrnIntervalMs; // In msec
5545 wpt_uint8 ucPattern[PERIODIC_TX_PTRN_MAX_SIZE]; // Pattern buffer
5546} WDI_AddPeriodicTxPtrnInfoType;
5547
5548/*---------------------------------------------------------------------------
5549 WDI_DelPeriodicTxPtrnInfoType
5550---------------------------------------------------------------------------*/
5551typedef struct
5552{
5553 /* MAC Address for the adapter */
5554 wpt_macAddr macAddr;
5555
5556 /* Bitmap of pattern IDs that needs to be deleted */
5557 wpt_uint32 ucPatternIdBitmap;
5558} WDI_DelPeriodicTxPtrnInfoType;
5559
5560/*---------------------------------------------------------------------------
5561 WDI_AddPeriodicTxPtrnParamsType
5562---------------------------------------------------------------------------*/
5563typedef struct
5564{
5565 WDI_AddPeriodicTxPtrnInfoType wdiAddPeriodicTxPtrnParams;
5566
5567 /*Request status callback offered by UMAC - it is called if the current
5568 req has returned PENDING as status; it delivers the status of sending
5569 the message over the BUS */
5570 WDI_ReqStatusCb wdiReqStatusCB;
5571
5572 /*The user data passed in by UMAC, it will be sent back when the above
5573 function pointer will be called */
5574 void* pUserData;
5575} WDI_AddPeriodicTxPtrnParamsType;
5576
5577/*---------------------------------------------------------------------------
5578 WDI_DelPeriodicTxPtrnParamsType
5579---------------------------------------------------------------------------*/
5580typedef struct
5581{
5582 WDI_DelPeriodicTxPtrnInfoType wdiDelPeriodicTxPtrnParams;
5583
5584 /*Request status callback offered by UMAC - it is called if the current
5585 req has returned PENDING as status; it delivers the status of sending
5586 the message over the BUS */
5587 WDI_ReqStatusCb wdiReqStatusCB;
5588
5589 /*The user data passed in by UMAC, it will be sent back when the above
5590 function pointer will be called */
5591 void* pUserData;
5592} WDI_DelPeriodicTxPtrnParamsType;
5593
Jeff Johnson295189b2012-06-20 16:38:30 -07005594/*----------------------------------------------------------------------------
5595 * WDI callback types
5596 *--------------------------------------------------------------------------*/
5597
5598/*---------------------------------------------------------------------------
5599 WDI_StartRspCb
5600
5601 DESCRIPTION
5602
5603 This callback is invoked by DAL when it has received a Start response from
5604 the underlying device.
5605
5606 PARAMETERS
5607
5608 IN
5609 wdiRspParams: response parameters received from HAL
5610 pUserData: user data
5611
5612
5613 RETURN VALUE
5614 The result code associated with performing the operation
5615---------------------------------------------------------------------------*/
5616typedef void (*WDI_StartRspCb)(WDI_StartRspParamsType* pwdiRspParams,
5617 void* pUserData);
5618
5619/*---------------------------------------------------------------------------
5620 WDI_StartRspCb
5621
5622 DESCRIPTION
5623
5624 This callback is invoked by DAL when it has received a Stop response from
5625 the underlying device.
5626
5627 PARAMETERS
5628
5629 IN
5630 wdiStatus: response status received from HAL
5631 pUserData: user data
5632
5633
5634
5635 RETURN VALUE
5636 The result code associated with performing the operation
5637---------------------------------------------------------------------------*/
5638typedef void (*WDI_StopRspCb)(WDI_Status wdiStatus,
5639 void* pUserData);
5640
5641/*---------------------------------------------------------------------------
5642 WDI_StartRspCb
5643
5644 DESCRIPTION
5645
5646 This callback is invoked by DAL when it has received an Init Scan response
5647 from the underlying device.
5648
5649 PARAMETERS
5650
5651 IN
5652 wdiStatus: response status received from HAL
5653 pUserData: user data
5654
5655
5656
5657 RETURN VALUE
5658 The result code associated with performing the operation
5659---------------------------------------------------------------------------*/
5660typedef void (*WDI_InitScanRspCb)(WDI_Status wdiStatus,
5661 void* pUserData);
5662
5663
5664/*---------------------------------------------------------------------------
5665 WDI_StartRspCb
5666
5667 DESCRIPTION
5668
5669 This callback is invoked by DAL when it has received a StartScan response
5670 from the underlying device.
5671
5672 PARAMETERS
5673
5674 IN
5675 wdiParams: response params received from HAL
5676 pUserData: user data
5677
5678
5679
5680 RETURN VALUE
5681 The result code associated with performing the operation
5682---------------------------------------------------------------------------*/
5683typedef void (*WDI_StartScanRspCb)(WDI_StartScanRspParamsType* wdiParams,
5684 void* pUserData);
5685
5686
5687/*---------------------------------------------------------------------------
5688 WDI_StartRspCb
5689
5690 DESCRIPTION
5691
5692 This callback is invoked by DAL when it has received a End Scan response
5693 from the underlying device.
5694
5695 PARAMETERS
5696
5697 IN
5698 wdiStatus: response status received from HAL
5699 pUserData: user data
5700
5701
5702
5703 RETURN VALUE
5704 The result code associated with performing the operation
5705---------------------------------------------------------------------------*/
5706typedef void (*WDI_EndScanRspCb)(WDI_Status wdiStatus,
5707 void* pUserData);
5708
5709
5710/*---------------------------------------------------------------------------
5711 WDI_StartRspCb
5712
5713 DESCRIPTION
5714
5715 This callback is invoked by DAL when it has received a Finish Scan response
5716 from the underlying device.
5717
5718 PARAMETERS
5719
5720 IN
5721 wdiStatus: response status received from HAL
5722 pUserData: user data
5723
5724
5725
5726 RETURN VALUE
5727 The result code associated with performing the operation
5728---------------------------------------------------------------------------*/
5729typedef void (*WDI_FinishScanRspCb)(WDI_Status wdiStatus,
5730 void* pUserData);
5731
5732
5733/*---------------------------------------------------------------------------
5734 WDI_StartRspCb
5735
5736 DESCRIPTION
5737
5738 This callback is invoked by DAL when it has received a Join response from
5739 the underlying device.
5740
5741 PARAMETERS
5742
5743 IN
5744 wdiStatus: response status received from HAL
5745 pUserData: user data
5746
5747
5748
5749 RETURN VALUE
5750 The result code associated with performing the operation
5751---------------------------------------------------------------------------*/
5752typedef void (*WDI_JoinRspCb)(WDI_Status wdiStatus,
5753 void* pUserData);
5754
5755
5756/*---------------------------------------------------------------------------
5757 WDI_StartRspCb
5758
5759 DESCRIPTION
5760
5761 This callback is invoked by DAL when it has received a Config BSS response
5762 from the underlying device.
5763
5764 PARAMETERS
5765
5766 IN
5767 wdiConfigBSSRsp: response parameters received from HAL
5768 pUserData: user data
5769
5770
5771 RETURN VALUE
5772 The result code associated with performing the operation
5773---------------------------------------------------------------------------*/
5774typedef void (*WDI_ConfigBSSRspCb)(
5775 WDI_ConfigBSSRspParamsType* pwdiConfigBSSRsp,
5776 void* pUserData);
5777
5778
5779/*---------------------------------------------------------------------------
5780 WDI_StartRspCb
5781
5782 DESCRIPTION
5783
5784 This callback is invoked by DAL when it has received a Del BSS response from
5785 the underlying device.
5786
5787 PARAMETERS
5788
5789 IN
5790 wdiDelBSSRsp: response parameters received from HAL
5791 pUserData: user data
5792
5793
5794 RETURN VALUE
5795 The result code associated with performing the operation
5796---------------------------------------------------------------------------*/
5797typedef void (*WDI_DelBSSRspCb)(WDI_DelBSSRspParamsType* pwdiDelBSSRsp,
5798 void* pUserData);
5799
5800
5801/*---------------------------------------------------------------------------
5802 WDI_StartRspCb
5803
5804 DESCRIPTION
5805
5806 This callback is invoked by DAL when it has received a Post Assoc response
5807 from the underlying device.
5808
5809 PARAMETERS
5810
5811 IN
5812 wdiRspParams: response parameters received from HAL
5813 pUserData: user data
5814
5815
5816 RETURN VALUE
5817 The result code associated with performing the operation
5818---------------------------------------------------------------------------*/
5819typedef void (*WDI_PostAssocRspCb)(
5820 WDI_PostAssocRspParamsType* pwdiPostAssocRsp,
5821 void* pUserData);
5822
5823
5824/*---------------------------------------------------------------------------
5825 WDI_StartRspCb
5826
5827 DESCRIPTION
5828
5829 This callback is invoked by DAL when it has received a Del STA response from
5830 the underlying device.
5831
5832 PARAMETERS
5833
5834 IN
5835 wdiDelSTARsp: response parameters received from HAL
5836 pUserData: user data
5837
5838
5839 RETURN VALUE
5840 The result code associated with performing the operation
5841---------------------------------------------------------------------------*/
5842typedef void (*WDI_DelSTARspCb)(WDI_DelSTARspParamsType* pwdiDelSTARsp,
5843 void* pUserData);
5844
5845
5846
5847/*---------------------------------------------------------------------------
5848 WDI_StartRspCb
5849
5850 DESCRIPTION
5851
5852 This callback is invoked by DAL when it has received a Set BSS Key response
5853 from the underlying device.
5854
5855 PARAMETERS
5856
5857 IN
5858 wdiStatus: response status received from HAL
5859 pUserData: user data
5860
5861
5862
5863 RETURN VALUE
5864 The result code associated with performing the operation
5865---------------------------------------------------------------------------*/
5866typedef void (*WDI_SetBSSKeyRspCb)(WDI_Status wdiStatus,
5867 void* pUserData);
5868
5869/*---------------------------------------------------------------------------
5870 WDI_StartRspCb
5871
5872 DESCRIPTION
5873
5874 This callback is invoked by DAL when it has received a Remove BSS Key
5875 response from the underlying device.
5876
5877 PARAMETERS
5878
5879 IN
5880 wdiStatus: response status received from HAL
5881 pUserData: user data
5882
5883
5884
5885 RETURN VALUE
5886 The result code associated with performing the operation
5887---------------------------------------------------------------------------*/
5888typedef void (*WDI_RemoveBSSKeyRspCb)(WDI_Status wdiStatus,
5889 void* pUserData);
5890
5891/*---------------------------------------------------------------------------
5892 WDI_StartRspCb
5893
5894 DESCRIPTION
5895
5896 This callback is invoked by DAL when it has received a Set STA Key response
5897 from the underlying device.
5898
5899 PARAMETERS
5900
5901 IN
5902 wdiStatus: response status received from HAL
5903 pUserData: user data
5904
5905
5906
5907 RETURN VALUE
5908 The result code associated with performing the operation
5909---------------------------------------------------------------------------*/
5910typedef void (*WDI_SetSTAKeyRspCb)(WDI_Status wdiStatus,
5911 void* pUserData);
5912
5913
5914/*---------------------------------------------------------------------------
5915 WDI_StartRspCb
5916
5917 DESCRIPTION
5918
5919 This callback is invoked by DAL when it has received a Remove STA Key
5920 response from the underlying device.
5921
5922 PARAMETERS
5923
5924 IN
5925 wdiStatus: response status received from HAL
5926 pUserData: user data
5927
5928
5929
5930 RETURN VALUE
5931 The result code associated with performing the operation
5932---------------------------------------------------------------------------*/
5933typedef void (*WDI_RemoveSTAKeyRspCb)(WDI_Status wdiStatus,
5934 void* pUserData);
5935
5936
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08005937#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07005938/*---------------------------------------------------------------------------
5939 WDI_TsmRspCb
5940
5941 DESCRIPTION
5942
5943 This callback is invoked by DAL when it has received a TSM Stats response from the underlying device.
5944
5945 PARAMETERS
5946
5947 IN
5948 pTSMStats: response status received from HAL
5949 pUserData: user data
5950
5951
5952
5953 RETURN VALUE
5954 The result code associated with performing the operation
5955---------------------------------------------------------------------------*/
5956typedef void (*WDI_TsmRspCb)(WDI_TSMStatsRspParamsType *pTSMStats,
5957 void* pUserData);
5958#endif
5959
5960/*---------------------------------------------------------------------------
5961 WDI_StartRspCb
5962
5963 DESCRIPTION
5964
5965 This callback is invoked by DAL when it has received a Add TS response from
5966 the underlying device.
5967
5968 PARAMETERS
5969
5970 IN
5971 wdiStatus: response status received from HAL
5972 pUserData: user data
5973
5974
5975
5976 RETURN VALUE
5977 The result code associated with performing the operation
5978---------------------------------------------------------------------------*/
5979typedef void (*WDI_AddTsRspCb)(WDI_Status wdiStatus,
5980 void* pUserData);
5981
5982/*---------------------------------------------------------------------------
5983 WDI_StartRspCb
5984
5985 DESCRIPTION
5986
5987 This callback is invoked by DAL when it has received a Del TS response from
5988 the underlying device.
5989
5990 PARAMETERS
5991
5992 IN
5993 wdiStatus: response status received from HAL
5994 pUserData: user data
5995
5996
5997
5998 RETURN VALUE
5999 The result code associated with performing the operation
6000---------------------------------------------------------------------------*/
6001typedef void (*WDI_DelTsRspCb)(WDI_Status wdiStatus,
6002 void* pUserData);
6003
6004/*---------------------------------------------------------------------------
6005 WDI_StartRspCb
6006
6007 DESCRIPTION
6008
6009 This callback is invoked by DAL when it has received an Update EDCA Params
6010 response from the underlying device.
6011
6012 PARAMETERS
6013
6014 IN
6015 wdiStatus: response status received from HAL
6016 pUserData: user data
6017
6018
6019
6020 RETURN VALUE
6021 The result code associated with performing the operation
6022---------------------------------------------------------------------------*/
6023typedef void (*WDI_UpdateEDCAParamsRspCb)(WDI_Status wdiStatus,
6024 void* pUserData);
6025
6026/*---------------------------------------------------------------------------
6027 WDI_StartRspCb
6028
6029 DESCRIPTION
6030
6031 This callback is invoked by DAL when it has received a Add BA response from
6032 the underlying device.
6033
6034 PARAMETERS
6035
6036 IN
6037 wdiStatus: response status received from HAL
6038 pUserData: user data
6039
6040
6041
6042 RETURN VALUE
6043 The result code associated with performing the operation
6044---------------------------------------------------------------------------*/
6045typedef void (*WDI_AddBASessionRspCb)(
6046 WDI_AddBASessionRspParamsType* wdiAddBASessionRsp,
6047 void* pUserData);
6048
6049
6050/*---------------------------------------------------------------------------
6051 WDI_StartRspCb
6052
6053 DESCRIPTION
6054
6055 This callback is invoked by DAL when it has received a Del BA response from
6056 the underlying device.
6057
6058 PARAMETERS
6059
6060 IN
6061 wdiStatus: response status received from HAL
6062 pUserData: user data
6063
6064
6065
6066 RETURN VALUE
6067 The result code associated with performing the operation
6068---------------------------------------------------------------------------*/
6069typedef void (*WDI_DelBARspCb)(WDI_Status wdiStatus,
6070 void* pUserData);
6071
6072
6073/*---------------------------------------------------------------------------
6074 WDI_StartRspCb
6075
6076 DESCRIPTION
6077
6078 This callback is invoked by DAL when it has received a Switch Ch response
6079 from the underlying device.
6080
6081 PARAMETERS
6082
6083 IN
6084 wdiRspParams: response parameters received from HAL
6085 pUserData: user data
6086
6087
6088 RETURN VALUE
6089 The result code associated with performing the operation
6090---------------------------------------------------------------------------*/
6091typedef void (*WDI_SwitchChRspCb)(WDI_SwitchCHRspParamsType* pwdiSwitchChRsp,
6092 void* pUserData);
6093
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08006094typedef void (*WDI_SwitchChRspCb_V1)(WDI_SwitchChRspParamsType_V1* pwdiSwitchChRsp,
6095 void* pUserData);
6096
Jeff Johnson295189b2012-06-20 16:38:30 -07006097
6098/*---------------------------------------------------------------------------
6099 WDI_StartRspCb
6100
6101 DESCRIPTION
6102
6103 This callback is invoked by DAL when it has received a Config STA response
6104 from the underlying device.
6105
6106 PARAMETERS
6107
6108 IN
6109 wdiRspParams: response parameters received from HAL
6110 pUserData: user data
6111
6112
6113 RETURN VALUE
6114 The result code associated with performing the operation
6115---------------------------------------------------------------------------*/
6116typedef void (*WDI_ConfigSTARspCb)(
6117 WDI_ConfigSTARspParamsType* pwdiConfigSTARsp,
6118 void* pUserData);
6119
6120
6121/*---------------------------------------------------------------------------
6122 WDI_StartRspCb
6123
6124 DESCRIPTION
6125
6126 This callback is invoked by DAL when it has received a Set Link State
6127 response from the underlying device.
6128
6129 PARAMETERS
6130
6131 IN
6132 wdiRspParams: response parameters received from HAL
6133 pUserData: user data
6134
6135
6136 RETURN VALUE
6137 The result code associated with performing the operation
6138---------------------------------------------------------------------------*/
6139typedef void (*WDI_SetLinkStateRspCb)( WDI_Status wdiStatus,
6140 void* pUserData);
6141
6142
6143/*---------------------------------------------------------------------------
6144 WDI_StartRspCb
6145
6146 DESCRIPTION
6147
6148 This callback is invoked by DAL when it has received a Get Stats response
6149 from the underlying device.
6150
6151 PARAMETERS
6152
6153 IN
6154 wdiRspParams: response parameters received from HAL
6155 pUserData: user data
6156
6157
6158 RETURN VALUE
6159 The result code associated with performing the operation
6160---------------------------------------------------------------------------*/
6161typedef void (*WDI_GetStatsRspCb)(WDI_GetStatsRspParamsType* pwdiGetStatsRsp,
6162 void* pUserData);
6163
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08006164#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08006165/*---------------------------------------------------------------------------
6166 WDI_GetRoamRssiRspCb
6167
6168 DESCRIPTION
6169
6170 This callback is invoked by DAL when it has received a Get Roam Rssi response
6171 from the underlying device.
6172
6173 PARAMETERS
6174
6175 IN
6176 wdiRspParams: response parameters received from HAL
6177 pUserData: user data
6178
6179
6180 RETURN VALUE
6181 The result code associated with performing the operation
6182---------------------------------------------------------------------------*/
6183typedef void (*WDI_GetRoamRssiRspCb)(WDI_GetRoamRssiRspParamsType* pwdiGetRoamRssiRsp,
6184 void* pUserData);
6185#endif
6186
Jeff Johnson295189b2012-06-20 16:38:30 -07006187
6188/*---------------------------------------------------------------------------
6189 WDI_StartRspCb
6190
6191 DESCRIPTION
6192
6193 This callback is invoked by DAL when it has received a Update Cfg response
6194 from the underlying device.
6195
6196 PARAMETERS
6197
6198 IN
6199 wdiStatus: response status received from HAL
6200 pUserData: user data
6201
6202
6203 RETURN VALUE
6204 The result code associated with performing the operation
6205---------------------------------------------------------------------------*/
6206typedef void (*WDI_UpdateCfgRspCb)(WDI_Status wdiStatus,
6207 void* pUserData);
6208
6209/*---------------------------------------------------------------------------
6210 WDI_AddBARspCb
6211
6212 DESCRIPTION
6213
6214 This callback is invoked by DAL when it has received a ADD BA response
6215 from the underlying device.
6216
6217 PARAMETERS
6218
6219 IN
6220 wdiStatus: response status received from HAL
6221 pUserData: user data
6222
6223
6224 RETURN VALUE
6225 The result code associated with performing the operation
6226---------------------------------------------------------------------------*/
6227typedef void (*WDI_AddBARspCb)(WDI_AddBARspinfoType* wdiAddBARsp,
6228 void* pUserData);
6229
6230/*---------------------------------------------------------------------------
6231 WDI_TriggerBARspCb
6232
6233 DESCRIPTION
6234
6235 This callback is invoked by DAL when it has received a ADD BA response
6236 from the underlying device.
6237
6238 PARAMETERS
6239
6240 IN
6241 wdiStatus: response status received from HAL
6242 pUserData: user data
6243
6244
6245 RETURN VALUE
6246 The result code associated with performing the operation
6247---------------------------------------------------------------------------*/
6248typedef void (*WDI_TriggerBARspCb)(WDI_TriggerBARspParamsType* wdiTriggerBARsp,
6249 void* pUserData);
6250
6251
6252/*---------------------------------------------------------------------------
6253 WDI_UpdateBeaconParamsRspCb
6254
6255 DESCRIPTION
6256
6257 This callback is invoked by DAL when it has received a Update Beacon Params response from
6258 the underlying device.
6259
6260 PARAMETERS
6261
6262 IN
6263 wdiStatus: response status received from HAL
6264 pUserData: user data
6265
6266
6267
6268 RETURN VALUE
6269 The result code associated with performing the operation
6270---------------------------------------------------------------------------*/
6271typedef void (*WDI_UpdateBeaconParamsRspCb)(WDI_Status wdiStatus,
6272 void* pUserData);
6273
6274/*---------------------------------------------------------------------------
6275 WDI_SendBeaconParamsRspCb
6276
6277 DESCRIPTION
6278
6279 This callback is invoked by DAL when it has received a Send Beacon Params response from
6280 the underlying device.
6281
6282 PARAMETERS
6283
6284 IN
6285 wdiStatus: response status received from HAL
6286 pUserData: user data
6287
6288
6289
6290 RETURN VALUE
6291 The result code associated with performing the operation
6292---------------------------------------------------------------------------*/
6293typedef void (*WDI_SendBeaconParamsRspCb)(WDI_Status wdiStatus,
6294 void* pUserData);
6295
6296/*---------------------------------------------------------------------------
6297 WDA_SetMaxTxPowerRspCb
6298
6299 DESCRIPTION
6300
6301 This callback is invoked by DAL when it has received a set max Tx Power response from
6302 the underlying device.
6303
6304 PARAMETERS
6305
6306 IN
6307 wdiStatus: response status received from HAL
6308 pUserData: user data
6309
6310
6311
6312 RETURN VALUE
6313 The result code associated with performing the operation
6314---------------------------------------------------------------------------*/
6315typedef void (*WDA_SetMaxTxPowerRspCb)(WDI_SetMaxTxPowerRspMsg *wdiSetMaxTxPowerRsp,
6316 void* pUserData);
6317
6318/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07006319 WDA_SetMaxTxPowerPerBandRspCb
6320
6321 DESCRIPTION
6322
6323 This callback is invoked by DAL when it has received a
6324 set max Tx Power Per Band response from the underlying device.
6325
6326 PARAMETERS
6327
6328 IN
6329 wdiSetMaxTxPowerPerBandRsp: response status received from HAL
6330 pUserData: user data
6331
6332 RETURN VALUE
6333 The result code associated with performing the operation
6334---------------------------------------------------------------------------*/
6335typedef void (*WDA_SetMaxTxPowerPerBandRspCb)(WDI_SetMaxTxPowerPerBandRspMsg
6336 *wdiSetMaxTxPowerPerBandRsp,
6337 void* pUserData);
6338
6339/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07006340 WDA_SetTxPowerRspCb
6341
6342 DESCRIPTION
6343
6344 This callback is invoked by DAL when it has received a set max Tx Power response from
6345 the underlying device.
6346
6347 PARAMETERS
6348
6349 IN
6350 wdiStatus: response status received from HAL
6351 pUserData: user data
6352
6353 RETURN VALUE
6354 The result code associated with performing the operation
6355---------------------------------------------------------------------------*/
6356typedef void (*WDA_SetTxPowerRspCb)(WDI_SetTxPowerRspMsg *wdiSetTxPowerRsp,
6357 void* pUserData);
6358
6359/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07006360 WDI_UpdateProbeRspTemplateRspCb
6361
6362 DESCRIPTION
6363
6364 This callback is invoked by DAL when it has received a Probe RSP Template
6365 Update response from the underlying device.
6366
6367 PARAMETERS
6368
6369 IN
6370 wdiStatus: response status received from HAL
6371 pUserData: user data
6372
6373
6374
6375 RETURN VALUE
6376 The result code associated with performing the operation
6377---------------------------------------------------------------------------*/
6378typedef void (*WDI_UpdateProbeRspTemplateRspCb)(WDI_Status wdiStatus,
6379 void* pUserData);
6380
Jeff Johnson295189b2012-06-20 16:38:30 -07006381/*---------------------------------------------------------------------------
6382 WDI_SetP2PGONOAReqParamsRspCb
6383
6384 DESCRIPTION
6385
6386 This callback is invoked by DAL when it has received a P2P GO NOA Params response from
6387 the underlying device.
6388
6389 PARAMETERS
6390
6391 IN
6392 wdiStatus: response status received from HAL
6393 pUserData: user data
6394
6395
6396
6397 RETURN VALUE
6398 The result code associated with performing the operation
6399---------------------------------------------------------------------------*/
6400typedef void (*WDI_SetP2PGONOAReqParamsRspCb)(WDI_Status wdiStatus,
6401 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006402
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05306403/*---------------------------------------------------------------------------
6404 WDI_SetTDLSLinkEstablishReqParamsRspCb
6405
6406 DESCRIPTION
6407
6408 This callback is invoked by DAL when it has received a TDLS Link Establish Req response from
6409 the underlying device.
6410
6411 PARAMETERS
6412
6413 IN
6414 wdiStatus: response status received from HAL
6415 pUserData: user data
6416
6417
6418
6419 RETURN VALUE
6420 The result code associated with performing the operation
6421---------------------------------------------------------------------------*/
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05306422typedef void (*WDI_SetTDLSLinkEstablishReqParamsRspCb)(WDI_SetTdlsLinkEstablishReqResp *
6423 wdiSetTdlsLinkEstablishReqRsp,
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05306424 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006425
6426/*---------------------------------------------------------------------------
6427 WDI_SetPwrSaveCfgCb
6428
6429 DESCRIPTION
6430
6431 This callback is invoked by DAL when it has received a set Power Save CFG
6432 response from the underlying device.
6433
6434 PARAMETERS
6435
6436 IN
6437 wdiStatus: response status received from HAL
6438 pUserData: user data
6439
6440
6441
6442 RETURN VALUE
6443 The result code associated with performing the operation
6444---------------------------------------------------------------------------*/
6445typedef void (*WDI_SetPwrSaveCfgCb)(WDI_Status wdiStatus,
6446 void* pUserData);
6447
6448/*---------------------------------------------------------------------------
6449 WDI_SetUapsdAcParamsCb
6450
6451 DESCRIPTION
6452
6453 This callback is invoked by DAL when it has received a set UAPSD params
6454 response from the underlying device.
6455
6456 PARAMETERS
6457
6458 IN
6459 wdiStatus: response status received from HAL
6460 pUserData: user data
6461
6462
6463
6464 RETURN VALUE
6465 The result code associated with performing the operation
6466---------------------------------------------------------------------------*/
6467typedef void (*WDI_SetUapsdAcParamsCb)(WDI_Status wdiStatus,
6468 void* pUserData);
6469
6470/*---------------------------------------------------------------------------
6471 WDI_EnterImpsRspCb
6472
6473 DESCRIPTION
6474
6475 This callback is invoked by DAL when it has received a Enter IMPS response
6476 from the underlying device.
6477
6478 PARAMETERS
6479
6480 IN
6481 wdiStatus: response status received from HAL
6482 pUserData: user data
6483
6484
6485
6486 RETURN VALUE
6487 The result code associated with performing the operation
6488---------------------------------------------------------------------------*/
6489typedef void (*WDI_EnterImpsRspCb)(WDI_Status wdiStatus,
6490 void* pUserData);
6491
6492/*---------------------------------------------------------------------------
6493 WDI_ExitImpsRspCb
6494
6495 DESCRIPTION
6496
6497 This callback is invoked by DAL when it has received a Exit IMPS response
6498 from the underlying device.
6499
6500 PARAMETERS
6501
6502 IN
6503 wdiStatus: response status received from HAL
6504 pUserData: user data
6505
6506
6507
6508 RETURN VALUE
6509 The result code associated with performing the operation
6510---------------------------------------------------------------------------*/
6511typedef void (*WDI_ExitImpsRspCb)(WDI_Status wdiStatus,
6512 void* pUserData);
6513
6514/*---------------------------------------------------------------------------
6515 WDI_EnterBmpsRspCb
6516
6517 DESCRIPTION
6518
6519 This callback is invoked by DAL when it has received a enter BMPS response
6520 from the underlying device.
6521
6522 PARAMETERS
6523
6524 IN
6525 wdiStatus: response status received from HAL
6526 pUserData: user data
6527
6528
6529
6530 RETURN VALUE
6531 The result code associated with performing the operation
6532---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006533typedef void (*WDI_EnterBmpsRspCb)(WDI_EnterBmpsRspParamsType *pwdiEnterBmpsRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006534 void* pUserData);
6535
6536/*---------------------------------------------------------------------------
6537 WDI_ExitBmpsRspCb
6538
6539 DESCRIPTION
6540
6541 This callback is invoked by DAL when it has received a exit BMPS response
6542 from the underlying device.
6543
6544 PARAMETERS
6545
6546 IN
6547 wdiStatus: response status received from HAL
6548 pUserData: user data
6549
6550
6551
6552 RETURN VALUE
6553 The result code associated with performing the operation
6554---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006555typedef void (*WDI_ExitBmpsRspCb)( WDI_ExitBmpsRspParamsType *pwdiExitBmpsRspParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07006556 void* pUserData);
6557
6558/*---------------------------------------------------------------------------
6559 WDI_EnterUapsdRspCb
6560
6561 DESCRIPTION
6562
6563 This callback is invoked by DAL when it has received a enter UAPSD response
6564 from the underlying device.
6565
6566 PARAMETERS
6567
6568 IN
6569 wdiStatus: response status received from HAL
6570 pUserData: user data
6571
6572
6573
6574 RETURN VALUE
6575 The result code associated with performing the operation
6576---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006577typedef void (*WDI_EnterUapsdRspCb)( WDI_EnterUapsdRspParamsType *pwdiEnterUapsdRspParam,
Jeff Johnson295189b2012-06-20 16:38:30 -07006578 void* pUserData);
6579
6580/*---------------------------------------------------------------------------
6581 WDI_ExitUapsdRspCb
6582
6583 DESCRIPTION
6584
6585 This callback is invoked by DAL when it has received a exit UAPSD response
6586 from the underlying device.
6587
6588 PARAMETERS
6589
6590 IN
6591 wdiStatus: response status received from HAL
6592 pUserData: user data
6593
6594
6595
6596 RETURN VALUE
6597 The result code associated with performing the operation
6598---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006599typedef void (*WDI_ExitUapsdRspCb)(WDI_ExitUapsdRspParamsType *pwidExitUapsdRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006600 void* pUserData);
6601
6602/*---------------------------------------------------------------------------
6603 WDI_UpdateUapsdParamsCb
6604
6605 DESCRIPTION
6606
6607 This callback is invoked by DAL when it has received a update UAPSD params
6608 response from the underlying device.
6609
6610 PARAMETERS
6611
6612 IN
6613 wdiStatus: response status received from HAL
6614 pUserData: user data
6615
6616
6617
6618 RETURN VALUE
6619 The result code associated with performing the operation
6620---------------------------------------------------------------------------*/
6621typedef void (*WDI_UpdateUapsdParamsCb)(WDI_Status wdiStatus,
6622 void* pUserData);
6623
6624/*---------------------------------------------------------------------------
6625 WDI_ConfigureRxpFilterCb
6626
6627 DESCRIPTION
6628
6629 This callback is invoked by DAL when it has received a config RXP filter
6630 response from the underlying device.
6631
6632 PARAMETERS
6633
6634 IN
6635 wdiStatus: response status received from HAL
6636 pUserData: user data
6637
6638
6639
6640 RETURN VALUE
6641 The result code associated with performing the operation
6642---------------------------------------------------------------------------*/
6643typedef void (*WDI_ConfigureRxpFilterCb)(WDI_Status wdiStatus,
6644 void* pUserData);
6645
6646/*---------------------------------------------------------------------------
6647 WDI_SetBeaconFilterCb
6648
6649 DESCRIPTION
6650
6651 This callback is invoked by DAL when it has received a set beacon filter
6652 response from the underlying device.
6653
6654 PARAMETERS
6655
6656 IN
6657 wdiStatus: response status received from HAL
6658 pUserData: user data
6659
6660
6661
6662 RETURN VALUE
6663 The result code associated with performing the operation
6664---------------------------------------------------------------------------*/
6665typedef void (*WDI_SetBeaconFilterCb)(WDI_Status wdiStatus,
6666 void* pUserData);
6667
6668/*---------------------------------------------------------------------------
6669 WDI_RemBeaconFilterCb
6670
6671 DESCRIPTION
6672
6673 This callback is invoked by DAL when it has received a remove beacon filter
6674 response from the underlying device.
6675
6676 PARAMETERS
6677
6678 IN
6679 wdiStatus: response status received from HAL
6680 pUserData: user data
6681
6682
6683
6684 RETURN VALUE
6685 The result code associated with performing the operation
6686---------------------------------------------------------------------------*/
6687typedef void (*WDI_RemBeaconFilterCb)(WDI_Status wdiStatus,
6688 void* pUserData);
6689
6690/*---------------------------------------------------------------------------
6691 WDI_SetRSSIThresholdsCb
6692
6693 DESCRIPTION
6694
6695 This callback is invoked by DAL when it has received a set RSSI thresholds
6696 response from the underlying device.
6697
6698 PARAMETERS
6699
6700 IN
6701 wdiStatus: response status received from HAL
6702 pUserData: user data
6703
6704
6705
6706 RETURN VALUE
6707 The result code associated with performing the operation
6708---------------------------------------------------------------------------*/
6709typedef void (*WDI_SetRSSIThresholdsCb)(WDI_Status wdiStatus,
6710 void* pUserData);
6711
6712/*---------------------------------------------------------------------------
6713 WDI_HostOffloadCb
6714
6715 DESCRIPTION
6716
6717 This callback is invoked by DAL when it has received a host offload
6718 response from the underlying device.
6719
6720 PARAMETERS
6721
6722 IN
6723 wdiStatus: response status received from HAL
6724 pUserData: user data
6725
6726
6727
6728 RETURN VALUE
6729 The result code associated with performing the operation
6730---------------------------------------------------------------------------*/
6731typedef void (*WDI_HostOffloadCb)(WDI_Status wdiStatus,
6732 void* pUserData);
6733
6734/*---------------------------------------------------------------------------
6735 WDI_KeepAliveCb
6736
6737 DESCRIPTION
6738
6739 This callback is invoked by DAL when it has received a Keep Alive
6740 response from the underlying device.
6741
6742 PARAMETERS
6743
6744 IN
6745 wdiStatus: response status received from HAL
6746 pUserData: user data
6747
6748
6749
6750 RETURN VALUE
6751 The result code associated with performing the operation
6752---------------------------------------------------------------------------*/
6753typedef void (*WDI_KeepAliveCb)(WDI_Status wdiStatus,
6754 void* pUserData);
6755
6756/*---------------------------------------------------------------------------
6757 WDI_WowlAddBcPtrnCb
6758
6759 DESCRIPTION
6760
6761 This callback is invoked by DAL when it has received a Wowl add Bcast ptrn
6762 response from the underlying device.
6763
6764 PARAMETERS
6765
6766 IN
6767 wdiStatus: response status received from HAL
6768 pUserData: user data
6769
6770
6771
6772 RETURN VALUE
6773 The result code associated with performing the operation
6774---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006775typedef void (*WDI_WowlAddBcPtrnCb)( WDI_WowlAddBcPtrnRspParamsType *pwdiWowlAddBcPtrnParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07006776 void* pUserData);
6777
6778/*---------------------------------------------------------------------------
6779 WDI_WowlDelBcPtrnCb
6780
6781 DESCRIPTION
6782
6783 This callback is invoked by DAL when it has received a Wowl delete Bcast ptrn
6784 response from the underlying device.
6785
6786 PARAMETERS
6787
6788 IN
6789 wdiStatus: response status received from HAL
6790 pUserData: user data
6791
6792
6793
6794 RETURN VALUE
6795 The result code associated with performing the operation
6796---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006797typedef void (*WDI_WowlDelBcPtrnCb)( WDI_WowlDelBcPtrnRspParamsType *pwdiWowlDelBcstPtrRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006798 void* pUserData);
6799
6800/*---------------------------------------------------------------------------
6801 WDI_WowlEnterReqCb
6802
6803 DESCRIPTION
6804
6805 This callback is invoked by DAL when it has received a Wowl enter
6806 response from the underlying device.
6807
6808 PARAMETERS
6809
6810 IN
6811 wdiStatus: response status received from HAL
6812 pUserData: user data
6813
6814
6815
6816 RETURN VALUE
6817 The result code associated with performing the operation
6818---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006819typedef void (*WDI_WowlEnterReqCb)( WDI_WowlEnterRspParamsType *pwdiwowlEnterRsp,
6820 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006821
6822/*---------------------------------------------------------------------------
6823 WDI_WowlExitReqCb
6824
6825 DESCRIPTION
6826
6827 This callback is invoked by DAL when it has received a Wowl exit
6828 response from the underlying device.
6829
6830 PARAMETERS
6831
6832 IN
6833 wdiStatus: response status received from HAL
6834 pUserData: user data
6835
6836
6837
6838 RETURN VALUE
6839 The result code associated with performing the operation
6840---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006841typedef void (*WDI_WowlExitReqCb)( WDI_WowlExitRspParamsType *pwdiWowlExitRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006842 void* pUserData);
6843
6844/*---------------------------------------------------------------------------
6845 WDI_ConfigureAppsCpuWakeupStateCb
6846
6847 DESCRIPTION
6848
6849 This callback is invoked by DAL when it has received a config Apps Cpu Wakeup
6850 State response from the underlying device.
6851
6852 PARAMETERS
6853
6854 IN
6855 wdiStatus: response status received from HAL
6856 pUserData: user data
6857
6858
6859
6860 RETURN VALUE
6861 The result code associated with performing the operation
6862---------------------------------------------------------------------------*/
6863typedef void (*WDI_ConfigureAppsCpuWakeupStateCb)(WDI_Status wdiStatus,
6864 void* pUserData);
6865/*---------------------------------------------------------------------------
6866 WDI_NvDownloadRspCb
6867
6868 DESCRIPTION
6869
6870 This callback is invoked by DAL when it has received a NV Download response
6871 from the underlying device.
6872
6873 PARAMETERS
6874
6875 IN
6876 wdiStatus:response status received from HAL
6877 pUserData:user data
6878
6879 RETURN VALUE
6880 The result code associated with performing the operation
6881---------------------------------------------------------------------------*/
6882typedef void (*WDI_NvDownloadRspCb)(WDI_NvDownloadRspInfoType* wdiNvDownloadRsp,
6883 void* pUserData);
6884/*---------------------------------------------------------------------------
6885 WDI_FlushAcRspCb
6886
6887 DESCRIPTION
6888
6889 This callback is invoked by DAL when it has received a Flush AC response from
6890 the underlying device.
6891
6892 PARAMETERS
6893
6894 IN
6895 wdiStatus: response status received from HAL
6896 pUserData: user data
6897
6898
6899
6900 RETURN VALUE
6901 The result code associated with performing the operation
6902---------------------------------------------------------------------------*/
6903typedef void (*WDI_FlushAcRspCb)(WDI_Status wdiStatus,
6904 void* pUserData);
6905
6906/*---------------------------------------------------------------------------
6907 WDI_BtAmpEventRspCb
6908
6909 DESCRIPTION
6910
6911 This callback is invoked by DAL when it has received a Bt AMP event response
6912 from the underlying device.
6913
6914 PARAMETERS
6915
6916 IN
6917 wdiStatus: response status received from HAL
6918 pUserData: user data
6919
6920
6921
6922 RETURN VALUE
6923 The result code associated with performing the operation
6924---------------------------------------------------------------------------*/
6925typedef void (*WDI_BtAmpEventRspCb)(WDI_Status wdiStatus,
6926 void* pUserData);
6927
Jeff Johnsone7245742012-09-05 17:12:55 -07006928#ifdef FEATURE_OEM_DATA_SUPPORT
6929/*---------------------------------------------------------------------------
6930 WDI_oemDataRspCb
6931
6932 DESCRIPTION
6933
6934 This callback is invoked by DAL when it has received a Start oem data response from
6935 the underlying device.
6936
6937 PARAMETERS
6938
6939 IN
6940 wdiStatus: response status received from HAL
6941 pUserData: user data
6942
6943
6944
6945 RETURN VALUE
6946 The result code associated with performing the operation
6947---------------------------------------------------------------------------*/
6948typedef void (*WDI_oemDataRspCb)(WDI_oemDataRspParamsType* wdiOemDataRspParams,
6949 void* pUserData);
6950
6951#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07006952
6953/*---------------------------------------------------------------------------
6954 WDI_HostResumeEventRspCb
6955
6956 DESCRIPTION
6957
6958 This callback is invoked by DAL when it has received a Bt AMP event response
6959 from the underlying device.
6960
6961 PARAMETERS
6962
6963 IN
6964 wdiStatus: response status received from HAL
6965 pUserData: user data
6966
6967
6968
6969 RETURN VALUE
6970 The result code associated with performing the operation
6971---------------------------------------------------------------------------*/
6972typedef void (*WDI_HostResumeEventRspCb)(
6973 WDI_SuspendResumeRspParamsType *resumeRspParams,
6974 void* pUserData);
6975
6976
6977#ifdef WLAN_FEATURE_VOWIFI_11R
6978/*---------------------------------------------------------------------------
6979 WDI_AggrAddTsRspCb
6980
6981 DESCRIPTION
6982
6983 This callback is invoked by DAL when it has received a Aggregated Add TS
6984 response from 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_AggrAddTsRspCb)(WDI_Status wdiStatus,
6998 void* pUserData);
6999#endif /* WLAN_FEATURE_VOWIFI_11R */
7000
Jeff Johnson295189b2012-06-20 16:38:30 -07007001/*---------------------------------------------------------------------------
7002 WDI_FTMCommandRspCb
7003
7004 DESCRIPTION
7005
7006 FTM Command response CB
7007
7008 PARAMETERS
7009
7010 IN
7011 ftmCMDRspdata: FTM response data from HAL
7012 pUserData: user data
7013
7014
7015 RETURN VALUE
7016 NONE
7017---------------------------------------------------------------------------*/
7018typedef void (*WDI_FTMCommandRspCb)(void *ftmCMDRspdata,
7019 void *pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007020
7021/*---------------------------------------------------------------------------
7022 WDI_AddSTASelfParamsRspCb
7023
7024 DESCRIPTION
7025
7026 This callback is invoked by DAL when it has received a Add Sta Self Params
7027 response from the underlying device.
7028
7029 PARAMETERS
7030
7031 IN
7032 wdiAddSelfSTARsp: response status received from HAL
7033 pUserData: user data
7034
7035
7036
7037 RETURN VALUE
7038 The result code associated with performing the operation
7039---------------------------------------------------------------------------*/
7040typedef void (*WDI_AddSTASelfParamsRspCb)(
7041 WDI_AddSTASelfRspParamsType* pwdiAddSelfSTARsp,
7042 void* pUserData);
7043
7044
7045/*---------------------------------------------------------------------------
7046 WDI_DelSTASelfRspCb
7047
7048 DESCRIPTION
7049
7050 This callback is invoked by DAL when it has received a host offload
7051 response from the underlying device.
7052
7053 PARAMETERS
7054
7055 IN
7056 wdiStatus: response status received from HAL
7057 pUserData: user data
7058
7059
7060
7061 RETURN VALUE
7062 The result code associated with performing the operation
7063---------------------------------------------------------------------------*/
7064typedef void (*WDI_DelSTASelfRspCb)
7065(
7066WDI_DelSTASelfRspParamsType* wdiDelStaSelfRspParams,
7067void* pUserData
7068);
7069
7070#ifdef FEATURE_WLAN_SCAN_PNO
7071/*---------------------------------------------------------------------------
7072 WDI_PNOScanCb
7073
7074 DESCRIPTION
7075
7076 This callback is invoked by DAL when it has received a Set PNO
7077 response from the underlying device.
7078
7079 PARAMETERS
7080
7081 IN
7082 wdiStatus: response status received from HAL
7083 pUserData: user data
7084
7085
7086
7087 RETURN VALUE
7088 The result code associated with performing the operation
7089---------------------------------------------------------------------------*/
7090typedef void (*WDI_PNOScanCb)(WDI_Status wdiStatus,
7091 void* pUserData);
7092
7093/*---------------------------------------------------------------------------
7094 WDI_PNOScanCb
7095
7096 DESCRIPTION
7097
7098 This callback is invoked by DAL when it has received a Set PNO
7099 response from the underlying device.
7100
7101 PARAMETERS
7102
7103 IN
7104 wdiStatus: response status received from HAL
7105 pUserData: user data
7106
7107
7108
7109 RETURN VALUE
7110 The result code associated with performing the operation
7111---------------------------------------------------------------------------*/
7112typedef void (*WDI_RssiFilterCb)(WDI_Status wdiStatus,
7113 void* pUserData);
7114
7115/*---------------------------------------------------------------------------
7116 WDI_UpdateScanParamsCb
7117
7118 DESCRIPTION
7119
7120 This callback is invoked by DAL when it has received a Update Scan Params
7121 response from the underlying device.
7122
7123 PARAMETERS
7124
7125 IN
7126 wdiStatus: response status received from HAL
7127 pUserData: user data
7128
7129
7130
7131 RETURN VALUE
7132 The result code associated with performing the operation
7133---------------------------------------------------------------------------*/
7134typedef void (*WDI_UpdateScanParamsCb)(WDI_Status wdiStatus,
7135 void* pUserData);
7136#endif // FEATURE_WLAN_SCAN_PNO
7137
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08007138typedef void (*WDI_UpdateChannelRspCb)(WDI_Status wdiStatus,
7139 void* pUserData);
7140
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07007141#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
7142/*---------------------------------------------------------------------------
7143 WDI_RoamOffloadScanCb
7144
7145 DESCRIPTION
7146
7147 This callback is invoked by DAL when it has received a Start Roam Candidate Lookup Req
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_RoamOffloadScanCb)(WDI_Status wdiStatus,
7162 void* pUserData);
7163
7164#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07007165/*---------------------------------------------------------------------------
7166 WDI_SetTxPerTrackingRspCb
7167
7168 DESCRIPTION
7169
7170 This callback is invoked by DAL when it has received a Tx PER Tracking
7171 response from the underlying device.
7172
7173 PARAMETERS
7174
7175 IN
7176 wdiStatus: response status received from HAL
7177 pUserData: user data
7178
7179
7180
7181 RETURN VALUE
7182 The result code associated with performing the operation
7183---------------------------------------------------------------------------*/
7184typedef void (*WDI_SetTxPerTrackingRspCb)(WDI_Status wdiStatus,
7185 void* pUserData);
7186
7187#ifdef WLAN_FEATURE_PACKET_FILTERING
7188/*---------------------------------------------------------------------------
7189 WDI_8023MulticastListCb
7190
7191 DESCRIPTION
7192
7193 This callback is invoked by DAL when it has received a 8023 Multicast List
7194 response from the underlying device.
7195
7196 PARAMETERS
7197
7198 IN
7199 wdiStatus: response status received from HAL
7200 pUserData: user data
7201
7202
7203
7204 RETURN VALUE
7205 The result code associated with performing the operation
7206---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007207typedef void (*WDI_8023MulticastListCb)(
7208 WDI_RcvFltPktSetMcListRspParamsType *pwdiRcvFltPktSetMcListRspInfo,
7209 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007210
7211/*---------------------------------------------------------------------------
7212 WDI_ReceiveFilterSetFilterCb
7213
7214 DESCRIPTION
7215
7216 This callback is invoked by DAL when it has received a Receive Filter Set Filter
7217 response from the underlying device.
7218
7219 PARAMETERS
7220
7221 IN
7222 wdiStatus: response status received from HAL
7223 pUserData: user data
7224
7225
7226
7227 RETURN VALUE
7228 The result code associated with performing the operation
7229---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007230typedef void (*WDI_ReceiveFilterSetFilterCb)(
7231 WDI_SetRcvPktFilterRspParamsType *pwdiSetRcvPktFilterRspInfo,
7232 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007233
7234/*---------------------------------------------------------------------------
7235 WDI_FilterMatchCountCb
7236
7237 DESCRIPTION
7238
7239 This callback is invoked by DAL when it has received a Do PC Filter Match Count
7240 response from the underlying device.
7241
7242 PARAMETERS
7243
7244 IN
7245 wdiStatus: response status received from HAL
7246 pUserData: user data
7247
7248
7249
7250 RETURN VALUE
7251 The result code associated with performing the operation
7252---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007253typedef void (*WDI_FilterMatchCountCb)(
7254 WDI_RcvFltPktMatchCntRspParamsType *pwdiRcvFltPktMatchRspParams,
7255 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007256
7257/*---------------------------------------------------------------------------
7258 WDI_ReceiveFilterClearFilterCb
7259
7260 DESCRIPTION
7261
7262 This callback is invoked by DAL when it has received a Receive Filter Clear Filter
7263 response from the underlying device.
7264
7265 PARAMETERS
7266
7267 IN
7268 wdiStatus: response status received from HAL
7269 pUserData: user data
7270
7271
7272
7273 RETURN VALUE
7274 The result code associated with performing the operation
7275---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007276typedef void (*WDI_ReceiveFilterClearFilterCb)(
7277 WDI_RcvFltPktClearRspParamsType *pwdiRcvFltPktClearRspParamsType,
7278 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007279#endif // WLAN_FEATURE_PACKET_FILTERING
7280
7281/*---------------------------------------------------------------------------
7282 WDI_HALDumpCmdRspCb
7283
7284 DESCRIPTION
7285
7286 This callback is invoked by DAL when it has received a HAL DUMP Command
7287response from
7288 the HAL layer.
7289
7290 PARAMETERS
7291
7292 IN
7293 wdiHalDumpCmdRsp: response status received from HAL
7294 pUserData: user data
7295
7296
7297
7298 RETURN VALUE
7299 The result code associated with performing the operation
7300---------------------------------------------------------------------------*/
7301typedef void (*WDI_HALDumpCmdRspCb)(WDI_HALDumpCmdRspParamsType* wdiHalDumpCmdRsp,
7302 void* pUserData);
7303
7304/*---------------------------------------------------------------------------
7305 WDI_SetPowerParamsCb
7306
7307 DESCRIPTION
7308
7309 This callback is invoked by DAL when it has received a Set Power Param
7310 response from the underlying device.
7311
7312 PARAMETERS
7313
7314 IN
7315 wdiStatus: response status received from HAL
7316 pUserData: user data
7317
7318
7319
7320 RETURN VALUE
7321 The result code associated with performing the operation
7322---------------------------------------------------------------------------*/
7323typedef void (*WDI_SetPowerParamsCb)(WDI_Status wdiStatus,
7324 void* pUserData);
7325
7326#ifdef WLAN_FEATURE_GTK_OFFLOAD
7327/*---------------------------------------------------------------------------
7328 WDI_GtkOffloadCb
7329
7330 DESCRIPTION
7331
7332 This callback is invoked by DAL when it has received a GTK offload
7333 response from the underlying device.
7334
7335 PARAMETERS
7336
7337 IN
7338 wdiStatus: response status received from HAL
7339 pUserData: user data
7340
7341
7342
7343 RETURN VALUE
7344 The result code associated with performing the operation
7345---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007346typedef void (*WDI_GtkOffloadCb)( WDI_GtkOffloadRspParams *pwdiGtkOffloadRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007347 void* pUserData);
7348
7349/*---------------------------------------------------------------------------
7350 WDI_GtkOffloadGetInfoCb
7351
7352 DESCRIPTION
7353
7354 This callback is invoked by DAL when it has received a GTK offload
7355 information response from the underlying device.
7356
7357 PARAMETERS
7358
7359 IN
7360 wdiStatus: response status received from HAL
7361 pUserData: user data
7362
7363
7364
7365 RETURN VALUE
7366 The result code associated with performing the operation
7367---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007368typedef void (*WDI_GtkOffloadGetInfoCb)( WDI_GtkOffloadGetInfoRspParams *pwdiGtkOffloadGetInfoRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007369 void* pUserData);
7370#endif // WLAN_FEATURE_GTK_OFFLOAD
7371
7372/*---------------------------------------------------------------------------
7373 WDI_SetTmLevelCb
7374
7375 DESCRIPTION
7376
7377 This callback is invoked by DAL when it has received a Set New TM Level
7378 done response from the underlying device.
7379
7380 PARAMETERS
7381
7382 IN
7383 wdiStatus: response status received from HAL
7384 pUserData: user data
7385
7386
7387
7388 RETURN VALUE
7389 The result code associated with performing the operation
7390---------------------------------------------------------------------------*/
7391typedef void (*WDI_SetTmLevelCb)(WDI_Status wdiStatus,
7392 void* pUserData);
7393
7394/*---------------------------------------------------------------------------
7395 WDI_featureCapsExchangeCb
7396
7397 DESCRIPTION
7398
7399 This callback is invoked by DAL when it has received a HAL Feature Capbility
7400 Exchange Response the HAL layer. This callback is put to mantain code
7401 similarity and is not being used right now.
7402
7403 PARAMETERS
7404
7405 IN
7406 wdiFeatCapRspParams: response parameters received from HAL
7407 pUserData: user data
7408
7409 RETURN VALUE
7410 The result code associated with performing the operation
7411---------------------------------------------------------------------------*/
7412typedef void (*WDI_featureCapsExchangeCb)(void* wdiFeatCapRspParams,
7413 void* pUserData);
7414
Mohit Khanna4a70d262012-09-11 16:30:12 -07007415#ifdef WLAN_FEATURE_11AC
7416typedef void (*WDI_UpdateVHTOpModeCb)(WDI_Status wdiStatus,
7417 void* pUserData);
7418#endif
7419
Leo Chang9056f462013-08-01 19:21:11 -07007420#ifdef FEATURE_WLAN_LPHB
7421typedef void (*WDI_LphbCfgCb)(WDI_Status wdiStatus,
7422 void* pUserData);
7423#endif /* FEATURE_WLAN_LPHB */
Mohit Khanna4a70d262012-09-11 16:30:12 -07007424
Rajeev79dbe4c2013-10-05 11:03:42 +05307425#ifdef FEATURE_WLAN_BATCH_SCAN
7426/*---------------------------------------------------------------------------
7427 WDI_SetBatchScanCb
7428
7429 DESCRIPTION
7430
7431 This callback is invoked by DAL when it has received a get batch scan
7432 response from the underlying device.
7433
7434 PARAMETERS
7435
7436 IN
7437 wdiStatus: response status received from HAL
7438 pUserData: user data
7439
7440
7441
7442 RETURN VALUE
7443 The result code associated with performing the operation
7444---------------------------------------------------------------------------*/
7445typedef void (*WDI_SetBatchScanCb)(void *pData, WDI_SetBatchScanRspType *pRsp);
7446
7447#endif
7448
7449
Jeff Johnson295189b2012-06-20 16:38:30 -07007450/*========================================================================
7451 * Function Declarations and Documentation
7452 ==========================================================================*/
7453
7454/*========================================================================
7455
7456 INITIALIZATION APIs
7457
7458==========================================================================*/
7459
7460/**
7461 @brief WDI_Init is used to initialize the DAL.
7462
7463 DAL will allocate all the resources it needs. It will open PAL, it will also
7464 open both the data and the control transport which in their turn will open
7465 DXE/SMD or any other drivers that they need.
7466
7467 @param pOSContext: pointer to the OS context provided by the UMAC
7468 will be passed on to PAL on Open
7469 ppWDIGlobalCtx: output pointer of Global Context
7470 pWdiDevCapability: output pointer of device capability
7471
7472 @return Result of the function call
7473*/
7474WDI_Status
7475WDI_Init
7476(
7477 void* pOSContext,
7478 void** ppWDIGlobalCtx,
7479 WDI_DeviceCapabilityType* pWdiDevCapability,
7480 unsigned int driverType
7481);
7482
7483/**
7484 @brief WDI_Start will be called when the upper MAC is ready to
7485 commence operation with the WLAN Device. Upon the call
7486 of this API the WLAN DAL will pack and send a HAL Start
7487 message to the lower RIVA sub-system if the SMD channel
7488 has been fully opened and the RIVA subsystem is up.
7489
7490 If the RIVA sub-system is not yet up and running DAL
7491 will queue the request for Open and will wait for the
7492 SMD notification before attempting to send down the
7493 message to HAL.
7494
7495 WDI_Init must have been called.
7496
7497 @param wdiStartParams: the start parameters as specified by
7498 the Device Interface
7499
7500 wdiStartRspCb: callback for passing back the response of
7501 the start operation received from the device
7502
7503 pUserData: user data will be passed back with the
7504 callback
7505
7506 @see WDI_Start
7507 @return Result of the function call
7508*/
7509WDI_Status
7510WDI_Start
7511(
7512 WDI_StartReqParamsType* pwdiStartParams,
7513 WDI_StartRspCb wdiStartRspCb,
7514 void* pUserData
7515);
7516
7517
7518/**
7519 @brief WDI_Stop will be called when the upper MAC is ready to
7520 stop any operation with the WLAN Device. Upon the call
7521 of this API the WLAN DAL will pack and send a HAL Stop
7522 message to the lower RIVA sub-system if the DAL Core is
7523 in started state.
7524
7525 In state BUSY this request will be queued.
7526
7527 Request will not be accepted in any other state.
7528
7529 WDI_Start must have been called.
7530
7531 @param wdiStopParams: the stop parameters as specified by
7532 the Device Interface
7533
7534 wdiStopRspCb: callback for passing back the response of
7535 the stop operation received from the device
7536
7537 pUserData: user data will be passed back with the
7538 callback
7539
7540 @see WDI_Start
7541 @return Result of the function call
7542*/
7543WDI_Status
7544WDI_Stop
7545(
7546 WDI_StopReqParamsType* pwdiStopParams,
7547 WDI_StopRspCb wdiStopRspCb,
7548 void* pUserData
7549);
7550
7551/**
7552 @brief WDI_Close will be called when the upper MAC no longer
7553 needs to interract with DAL. DAL will free its control
7554 block.
7555
7556 It is only accepted in state STOPPED.
7557
7558 WDI_Stop must have been called.
7559
7560 @param none
7561
7562 @see WDI_Stop
7563 @return Result of the function call
7564*/
7565WDI_Status
7566WDI_Close
7567(
7568 void
7569);
7570
7571
7572/**
7573 @brief WDI_Shutdown will be called during 'SSR shutdown' operation.
7574 This will do most of the WDI stop & close
7575 operations without doing any handshake with Riva
7576
7577 This will also make sure that the control transport
7578 will NOT be closed.
7579
7580 This request will not be queued.
7581
7582
7583 WDI_Start must have been called.
7584
7585 @param closeTransport: Close control channel if this is set
7586
7587 @return Result of the function call
7588*/
7589WDI_Status
7590WDI_Shutdown
7591(
7592 wpt_boolean closeTransport
7593);
7594
7595/*========================================================================
7596
7597 SCAN APIs
7598
7599==========================================================================*/
7600
7601/**
7602 @brief WDI_InitScanReq will be called when the upper MAC wants
7603 the WLAN Device to get ready for a scan procedure. Upon
7604 the call of this API the WLAN DAL will pack and send a
7605 HAL Init Scan request message to the lower RIVA
7606 sub-system if DAL is in state STARTED.
7607
7608 In state BUSY this request will be queued. Request won't
7609 be allowed in any other state.
7610
7611 WDI_Start must have been called.
7612
7613 @param wdiInitScanParams: the init scan parameters as specified
7614 by the Device Interface
7615
7616 wdiInitScanRspCb: callback for passing back the response
7617 of the init scan operation received from the device
7618
7619 pUserData: user data will be passed back with the
7620 callback
7621
7622 @see WDI_Start
7623 @return Result of the function call
7624*/
7625WDI_Status
7626WDI_InitScanReq
7627(
7628 WDI_InitScanReqParamsType* pwdiInitScanParams,
7629 WDI_InitScanRspCb wdiInitScanRspCb,
7630 void* pUserData
7631);
7632
7633/**
7634 @brief WDI_StartScanReq will be called when the upper MAC
7635 wishes to change the Scan channel on the WLAN Device.
7636 Upon the call of this API the WLAN DAL will pack and
7637 send a HAL Start Scan request message to the lower RIVA
7638 sub-system if DAL is in state STARTED.
7639
7640 In state BUSY this request will be queued. Request won't
7641 be allowed in any other state.
7642
7643 WDI_InitScanReq must have been called.
7644
7645 @param wdiStartScanParams: the start scan parameters as
7646 specified by the Device Interface
7647
7648 wdiStartScanRspCb: callback for passing back the
7649 response of the start scan operation received from the
7650 device
7651
7652 pUserData: user data will be passed back with the
7653 callback
7654
7655 @see WDI_InitScanReq
7656 @return Result of the function call
7657*/
7658WDI_Status
7659WDI_StartScanReq
7660(
7661 WDI_StartScanReqParamsType* pwdiStartScanParams,
7662 WDI_StartScanRspCb wdiStartScanRspCb,
7663 void* pUserData
7664);
7665
7666
7667/**
7668 @brief WDI_EndScanReq will be called when the upper MAC is
7669 wants to end scanning for a particular channel that it
7670 had set before by calling Scan Start on the WLAN Device.
7671 Upon the call of this API the WLAN DAL will pack and
7672 send a HAL End Scan request message to the lower RIVA
7673 sub-system if DAL is in state STARTED.
7674
7675 In state BUSY this request will be queued. Request won't
7676 be allowed in any other state.
7677
7678 WDI_StartScanReq must have been called.
7679
7680 @param wdiEndScanParams: the end scan parameters as specified
7681 by the Device Interface
7682
7683 wdiEndScanRspCb: callback for passing back the response
7684 of the end scan operation received from the device
7685
7686 pUserData: user data will be passed back with the
7687 callback
7688
7689 @see WDI_StartScanReq
7690 @return Result of the function call
7691*/
7692WDI_Status
7693WDI_EndScanReq
7694(
7695 WDI_EndScanReqParamsType* pwdiEndScanParams,
7696 WDI_EndScanRspCb wdiEndScanRspCb,
7697 void* pUserData
7698);
7699
7700
7701/**
7702 @brief WDI_FinishScanReq will be called when the upper MAC has
7703 completed the scan process on the WLAN Device. Upon the
7704 call of this API the WLAN DAL will pack and send a HAL
7705 Finish Scan Request request message to the lower RIVA
7706 sub-system if DAL is in state STARTED.
7707
7708 In state BUSY this request will be queued. Request won't
7709 be allowed in any other state.
7710
7711 WDI_InitScanReq must have been called.
7712
7713 @param wdiFinishScanParams: the finish scan parameters as
7714 specified by the Device Interface
7715
7716 wdiFinishScanRspCb: callback for passing back the
7717 response of the finish scan operation received from the
7718 device
7719
7720 pUserData: user data will be passed back with the
7721 callback
7722
7723 @see WDI_InitScanReq
7724 @return Result of the function call
7725*/
7726WDI_Status
7727WDI_FinishScanReq
7728(
7729 WDI_FinishScanReqParamsType* pwdiFinishScanParams,
7730 WDI_FinishScanRspCb wdiFinishScanRspCb,
7731 void* pUserData
7732);
7733
7734/*========================================================================
7735
7736 ASSOCIATION APIs
7737
7738==========================================================================*/
7739
7740/**
7741 @brief WDI_JoinReq will be called when the upper MAC is ready
7742 to start an association procedure to a BSS. Upon the
7743 call of this API the WLAN DAL will pack and send a HAL
7744 Join request message to the lower RIVA sub-system if
7745 DAL is in state STARTED.
7746
7747 In state BUSY this request will be queued. Request won't
7748 be allowed in any other state.
7749
7750 WDI_Start must have been called.
7751
7752 @param wdiJoinParams: the join parameters as specified by
7753 the Device Interface
7754
7755 wdiJoinRspCb: callback for passing back the response of
7756 the join operation received from the device
7757
7758 pUserData: user data will be passed back with the
7759 callback
7760
7761 @see WDI_Start
7762 @return Result of the function call
7763*/
7764WDI_Status
7765WDI_JoinReq
7766(
7767 WDI_JoinReqParamsType* pwdiJoinParams,
7768 WDI_JoinRspCb wdiJoinRspCb,
7769 void* pUserData
7770);
7771
7772/**
7773 @brief WDI_ConfigBSSReq will be called when the upper MAC
7774 wishes to configure the newly acquired or in process of
7775 being acquired BSS to the HW . Upon the call of this API
7776 the WLAN DAL will pack and send a HAL Config BSS request
7777 message to the lower RIVA sub-system if DAL is in state
7778 STARTED.
7779
7780 In state BUSY this request will be queued. Request won't
7781 be allowed in any other state.
7782
7783 WDI_JoinReq must have been called.
7784
7785 @param wdiConfigBSSParams: the config BSS parameters as
7786 specified by the Device Interface
7787
7788 wdiConfigBSSRspCb: callback for passing back the
7789 response of the config BSS operation received from the
7790 device
7791
7792 pUserData: user data will be passed back with the
7793 callback
7794
7795 @see WDI_JoinReq
7796 @return Result of the function call
7797*/
7798WDI_Status
7799WDI_ConfigBSSReq
7800(
7801 WDI_ConfigBSSReqParamsType* pwdiConfigBSSParams,
7802 WDI_ConfigBSSRspCb wdiConfigBSSRspCb,
7803 void* pUserData
7804);
7805
7806/**
7807 @brief WDI_DelBSSReq will be called when the upper MAC is
7808 dissasociating from the BSS and wishes to notify HW.
7809 Upon the call of this API the WLAN DAL will pack and
7810 send a HAL Del BSS request message to the lower RIVA
7811 sub-system if DAL is in state STARTED.
7812
7813 In state BUSY this request will be queued. Request won't
7814 be allowed in any other state.
7815
7816 WDI_ConfigBSSReq or WDI_PostAssocReq must have been called.
7817
7818 @param wdiDelBSSParams: the del BSS parameters as specified by
7819 the Device Interface
7820
7821 wdiDelBSSRspCb: callback for passing back the response
7822 of the del bss operation received from the device
7823
7824 pUserData: user data will be passed back with the
7825 callback
7826
7827 @see WDI_ConfigBSSReq, WDI_PostAssocReq
7828 @return Result of the function call
7829*/
7830WDI_Status
7831WDI_DelBSSReq
7832(
7833 WDI_DelBSSReqParamsType* pwdiDelBSSParams,
7834 WDI_DelBSSRspCb wdiDelBSSRspCb,
7835 void* pUserData
7836);
7837
7838/**
7839 @brief WDI_PostAssocReq will be called when the upper MAC has
7840 associated to a BSS and wishes to configure HW for
7841 associated state. Upon the call of this API the WLAN DAL
7842 will pack and send a HAL Post Assoc request message to
7843 the lower RIVA sub-system if DAL is in state STARTED.
7844
7845 In state BUSY this request will be queued. Request won't
7846 be allowed in any other state.
7847
7848 WDI_JoinReq must have been called.
7849
7850 @param wdiPostAssocReqParams: the assoc parameters as specified
7851 by the Device Interface
7852
7853 wdiPostAssocRspCb: callback for passing back the
7854 response of the post assoc operation received from the
7855 device
7856
7857 pUserData: user data will be passed back with the
7858 callback
7859
7860 @see WDI_JoinReq
7861 @return Result of the function call
7862*/
7863WDI_Status
7864WDI_PostAssocReq
7865(
7866 WDI_PostAssocReqParamsType* pwdiPostAssocReqParams,
7867 WDI_PostAssocRspCb wdiPostAssocRspCb,
7868 void* pUserData
7869);
7870
7871/**
7872 @brief WDI_DelSTAReq will be called when the upper MAC when an
7873 association with another STA has ended and the station
7874 must be deleted from HW. Upon the call of this API the
7875 WLAN DAL will pack and send a HAL Del STA request
7876 message to the lower RIVA sub-system if DAL is in state
7877 STARTED.
7878
7879 In state BUSY this request will be queued. Request won't
7880 be allowed in any other state.
7881
7882 WDI_PostAssocReq must have been called.
7883
7884 @param wdiDelSTAParams: the Del STA parameters as specified by
7885 the Device Interface
7886
7887 wdiDelSTARspCb: callback for passing back the response
7888 of the del STA operation received from the device
7889
7890 pUserData: user data will be passed back with the
7891 callback
7892
7893 @see WDI_PostAssocReq
7894 @return Result of the function call
7895*/
7896WDI_Status
7897WDI_DelSTAReq
7898(
7899 WDI_DelSTAReqParamsType* pwdiDelSTAParams,
7900 WDI_DelSTARspCb wdiDelSTARspCb,
7901 void* pUserData
7902);
7903
7904/*========================================================================
7905
7906 SECURITY APIs
7907
7908==========================================================================*/
7909
7910/**
7911 @brief WDI_SetBSSKeyReq will be called when the upper MAC ito
7912 install a BSS encryption key on the HW. Upon the call of
7913 this API the WLAN DAL will pack and send a HAL Start
7914 request message to the lower RIVA sub-system if DAL is
7915 in state STARTED.
7916
7917 In state BUSY this request will be queued. Request won't
7918 be allowed in any other state.
7919
7920 WDI_PostAssocReq must have been called.
7921
7922 @param wdiSetBSSKeyParams: the BSS Key set parameters as
7923 specified by the Device Interface
7924
7925 wdiSetBSSKeyRspCb: callback for passing back the
7926 response of the set BSS Key operation received from the
7927 device
7928
7929 pUserData: user data will be passed back with the
7930 callback
7931
7932 @see WDI_PostAssocReq
7933 @return Result of the function call
7934*/
7935WDI_Status
7936WDI_SetBSSKeyReq
7937(
7938 WDI_SetBSSKeyReqParamsType* pwdiSetBSSKeyParams,
7939 WDI_SetBSSKeyRspCb wdiSetBSSKeyRspCb,
7940 void* pUserData
7941);
7942
7943
7944/**
7945 @brief WDI_RemoveBSSKeyReq will be called when the upper MAC to
7946 uninstall a BSS key from HW. Upon the call of this API
7947 the WLAN DAL will pack and send a HAL Remove BSS Key
7948 request message to the lower RIVA sub-system if DAL is
7949 in state STARTED.
7950
7951 In state BUSY this request will be queued. Request won't
7952 be allowed in any other state.
7953
7954 WDI_SetBSSKeyReq must have been called.
7955
7956 @param wdiRemoveBSSKeyParams: the remove BSS key parameters as
7957 specified by the Device Interface
7958
7959 wdiRemoveBSSKeyRspCb: callback for passing back the
7960 response of the remove BSS key operation received from
7961 the device
7962
7963 pUserData: user data will be passed back with the
7964 callback
7965
7966 @see WDI_SetBSSKeyReq
7967 @return Result of the function call
7968*/
7969WDI_Status
7970WDI_RemoveBSSKeyReq
7971(
7972 WDI_RemoveBSSKeyReqParamsType* pwdiRemoveBSSKeyParams,
7973 WDI_RemoveBSSKeyRspCb wdiRemoveBSSKeyRspCb,
7974 void* pUserData
7975);
7976
7977
7978/**
7979 @brief WDI_SetSTAKeyReq will be called when the upper MAC is
7980 ready to install a STA(ast) encryption key in HW. Upon
7981 the call of this API the WLAN DAL will pack and send a
7982 HAL Set STA Key request message to the lower RIVA
7983 sub-system if DAL is in state STARTED.
7984
7985 In state BUSY this request will be queued. Request won't
7986 be allowed in any other state.
7987
7988 WDI_PostAssocReq must have been called.
7989
7990 @param wdiSetSTAKeyParams: the set STA key parameters as
7991 specified by the Device Interface
7992
7993 wdiSetSTAKeyRspCb: callback for passing back the
7994 response of the set STA key operation received from the
7995 device
7996
7997 pUserData: user data will be passed back with the
7998 callback
7999
8000 @see WDI_PostAssocReq
8001 @return Result of the function call
8002*/
8003WDI_Status
8004WDI_SetSTAKeyReq
8005(
8006 WDI_SetSTAKeyReqParamsType* pwdiSetSTAKeyParams,
8007 WDI_SetSTAKeyRspCb wdiSetSTAKeyRspCb,
8008 void* pUserData
8009);
8010
8011
8012/**
8013 @brief WDI_RemoveSTAKeyReq will be called when the upper MAC
8014 wants to unistall a previously set STA key in HW. Upon
8015 the call of this API the WLAN DAL will pack and send a
8016 HAL Remove STA Key request message to the lower RIVA
8017 sub-system if DAL is in state STARTED.
8018
8019 In state BUSY this request will be queued. Request won't
8020 be allowed in any other state.
8021
8022 WDI_SetSTAKeyReq must have been called.
8023
8024 @param wdiRemoveSTAKeyParams: the remove STA key parameters as
8025 specified by the Device Interface
8026
8027 wdiRemoveSTAKeyRspCb: callback for passing back the
8028 response of the remove STA key operation received from
8029 the device
8030
8031 pUserData: user data will be passed back with the
8032 callback
8033
8034 @see WDI_SetSTAKeyReq
8035 @return Result of the function call
8036*/
8037WDI_Status
8038WDI_RemoveSTAKeyReq
8039(
8040 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTAKeyParams,
8041 WDI_RemoveSTAKeyRspCb wdiRemoveSTAKeyRspCb,
8042 void* pUserData
8043);
8044
8045/**
8046 @brief WDI_SetSTABcastKeyReq will be called when the upper MAC
8047 wants to install a STA Bcast encryption key on the HW.
8048 Upon the call of this API the WLAN DAL will pack and
8049 send a HAL Start request message to the lower RIVA
8050 sub-system if DAL is in state STARTED.
8051
8052 In state BUSY this request will be queued. Request won't
8053 be allowed in any other state.
8054
8055 WDI_PostAssocReq must have been called.
8056
8057 @param pwdiSetSTABcastKeyParams: the BSS Key set parameters as
8058 specified by the Device Interface
8059
8060 wdiSetSTABcastKeyRspCb: callback for passing back the
8061 response of the set BSS Key operation received from the
8062 device
8063
8064 pUserData: user data will be passed back with the
8065 callback
8066
8067 @see WDI_PostAssocReq
8068 @return Result of the function call
8069*/
8070WDI_Status
8071WDI_SetSTABcastKeyReq
8072(
8073 WDI_SetSTAKeyReqParamsType* pwdiSetSTABcastKeyParams,
8074 WDI_SetSTAKeyRspCb wdiSetSTABcastKeyRspCb,
8075 void* pUserData
8076);
8077
8078
8079/**
8080 @brief WDI_RemoveSTABcastKeyReq will be called when the upper
8081 MAC to uninstall a STA Bcast key from HW. Upon the call
8082 of this API the WLAN DAL will pack and send a HAL Remove
8083 STA Bcast Key request message to the lower RIVA
8084 sub-system if DAL is in state STARTED.
8085
8086 In state BUSY this request will be queued. Request won't
8087 be allowed in any other state.
8088
8089 WDI_SetSTABcastKeyReq must have been called.
8090
8091 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
8092 parameters as specified by the Device
8093 Interface
8094
8095 wdiRemoveSTABcastKeyRspCb: callback for passing back the
8096 response of the remove STA Bcast key operation received
8097 from the device
8098
8099 pUserData: user data will be passed back with the
8100 callback
8101
8102 @see WDI_SetSTABcastKeyReq
8103 @return Result of the function call
8104*/
8105WDI_Status
8106WDI_RemoveSTABcastKeyReq
8107(
8108 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTABcastKeyParams,
8109 WDI_RemoveSTAKeyRspCb wdiRemoveSTABcastKeyRspCb,
8110 void* pUserData
8111);
8112
schang86c22c42013-03-13 18:41:24 -07008113
8114/**
8115 @brief WDI_SetTxPowerReq will be called when the upper
8116 MAC wants to set Tx Power to HW.
8117 In state BUSY this request will be queued. Request won't
8118 be allowed in any other state.
8119
8120
8121 @param pwdiSetTxPowerParams: set TS Power parameters
8122 BSSID and target TX Power with dbm included
8123
8124 wdiReqStatusCb: callback for passing back the response
8125
8126 pUserData: user data will be passed back with the
8127 callback
8128
8129 @return Result of the function call
8130*/
8131WDI_Status
8132WDI_SetTxPowerReq
8133(
8134 WDI_SetTxPowerParamsType* pwdiSetTxPowerParams,
8135 WDA_SetTxPowerRspCb wdiReqStatusCb,
8136 void* pUserData
8137);
8138
Jeff Johnson295189b2012-06-20 16:38:30 -07008139/**
8140 @brief WDI_SetMaxTxPowerReq will be called when the upper
8141 MAC wants to set Max Tx Power to HW. Upon the
8142 call of this API the WLAN DAL will pack and send a HAL
8143 Remove STA Bcast Key request message to the lower RIVA
8144 sub-system if DAL is in state STARTED.
8145
8146 In state BUSY this request will be queued. Request won't
8147 be allowed in any other state.
8148
8149 WDI_SetSTABcastKeyReq must have been called.
8150
8151 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
8152 parameters as specified by the Device
8153 Interface
8154
8155 wdiRemoveSTABcastKeyRspCb: callback for passing back the
8156 response of the remove STA Bcast key operation received
8157 from the device
8158
8159 pUserData: user data will be passed back with the
8160 callback
8161
8162 @see WDI_SetMaxTxPowerReq
8163 @return Result of the function call
8164*/
8165WDI_Status
8166WDI_SetMaxTxPowerReq
8167(
8168 WDI_SetMaxTxPowerParamsType* pwdiSetMaxTxPowerParams,
8169 WDA_SetMaxTxPowerRspCb wdiReqStatusCb,
8170 void* pUserData
8171);
8172
Arif Hussaina5ebce02013-08-09 15:09:58 -07008173/**
8174 @brief WDI_SetMaxTxPowerPerBandReq will be called when the upper
8175 MAC wants to set Max Tx Power to HW for specific band. Upon the
8176 call of this API the WLAN DAL will pack and send a HAL
8177 Set Max Tx Power Per Band request message to the lower RIVA
8178 sub-system if DAL is in state STARTED.
8179
8180 In state BUSY this request will be queued. Request won't
8181 be allowed in any other state.
8182
8183
8184 @param WDI_SetMaxTxPowerPerBandParamsType: Max Tx Per Band Info
8185
8186 WDA_SetMaxTxPowerPerBandRspCb: This callback is invoked by DAL
8187 when it has received a set max Tx Power Per Band response from
8188 the underlying device.
8189
8190 pUserData: user data will be passed back with the
8191 callback
8192
8193 @see WDI_SetMaxTxPowerPerBandReq
8194 @return Result of the function call
8195*/
8196WDI_Status
8197WDI_SetMaxTxPowerPerBandReq
8198(
8199 WDI_SetMaxTxPowerPerBandParamsType* pwdiSetMaxTxPowerPerBandParams,
8200 WDA_SetMaxTxPowerPerBandRspCb wdiReqStatusCb,
8201 void* pUserData
8202);
8203
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08008204#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07008205/**
8206 @brief WDI_TSMStatsReq will be called by the upper MAC to fetch
8207 Traffic Stream metrics.
8208 In state BUSY this request will be queued. Request won't
8209 be allowed in any other state.
8210
8211 @param wdiAddTsReqParams: the add TS parameters as specified by
8212 the Device Interface
8213
8214 wdiAddTsRspCb: callback for passing back the response of
8215 the add TS operation received from the device
8216
8217 pUserData: user data will be passed back with the
8218 callback
8219
8220 @see WDI_PostAssocReq
8221 @return Result of the function call
8222*/
8223WDI_Status
8224WDI_TSMStatsReq
8225(
8226 WDI_TSMStatsReqParamsType* pwdiTsmStatsReqParams,
8227 WDI_TsmRspCb wdiTsmStatsRspCb,
8228 void* pUserData
8229);
8230
8231
8232#endif
8233
8234/*========================================================================
8235
8236 QoS and BA APIs
8237
8238==========================================================================*/
8239
8240/**
8241 @brief WDI_AddTSReq will be called when the upper MAC to inform
8242 the device of a successful add TSpec negotiation. HW
8243 needs to receive the TSpec Info from the UMAC in order
8244 to configure properly the QoS data traffic. Upon the
8245 call of this API the WLAN DAL will pack and send a HAL
8246 Add TS request message to the lower RIVA sub-system if
8247 DAL is in state STARTED.
8248
8249 In state BUSY this request will be queued. Request won't
8250 be allowed in any other state.
8251
8252 WDI_PostAssocReq must have been called.
8253
8254 @param wdiAddTsReqParams: the add TS parameters as specified by
8255 the Device Interface
8256
8257 wdiAddTsRspCb: callback for passing back the response of
8258 the add TS operation received from the device
8259
8260 pUserData: user data will be passed back with the
8261 callback
8262
8263 @see WDI_PostAssocReq
8264 @return Result of the function call
8265*/
8266WDI_Status
8267WDI_AddTSReq
8268(
8269 WDI_AddTSReqParamsType* pwdiAddTsReqParams,
8270 WDI_AddTsRspCb wdiAddTsRspCb,
8271 void* pUserData
8272);
8273
8274
8275
8276/**
8277 @brief WDI_DelTSReq will be called when the upper MAC has ended
8278 admission on a specific AC. This is to inform HW that
8279 QoS traffic parameters must be rest. Upon the call of
8280 this API the WLAN DAL will pack and send a HAL Del TS
8281 request message to the lower RIVA sub-system if DAL is
8282 in state STARTED.
8283
8284 In state BUSY this request will be queued. Request won't
8285 be allowed in any other state.
8286
8287 WDI_AddTSReq must have been called.
8288
8289 @param wdiDelTsReqParams: the del TS parameters as specified by
8290 the Device Interface
8291
8292 wdiDelTsRspCb: callback for passing back the response of
8293 the del TS operation received from the device
8294
8295 pUserData: user data will be passed back with the
8296 callback
8297
8298 @see WDI_AddTSReq
8299 @return Result of the function call
8300*/
8301WDI_Status
8302WDI_DelTSReq
8303(
8304 WDI_DelTSReqParamsType* pwdiDelTsReqParams,
8305 WDI_DelTsRspCb wdiDelTsRspCb,
8306 void* pUserData
8307);
8308
8309
8310
8311/**
8312 @brief WDI_UpdateEDCAParams will be called when the upper MAC
8313 wishes to update the EDCA parameters used by HW for QoS
8314 data traffic. Upon the call of this API the WLAN DAL
8315 will pack and send a HAL Update EDCA Params request
8316 message to the lower RIVA sub-system if DAL is in state
8317 STARTED.
8318
8319 In state BUSY this request will be queued. Request won't
8320 be allowed in any other state.
8321
8322 WDI_PostAssocReq must have been called.
8323
8324 @param wdiUpdateEDCAParams: the start parameters as specified
8325 by the Device Interface
8326
8327 wdiUpdateEDCAParamsRspCb: callback for passing back the
8328 response of the start operation received from the device
8329
8330 pUserData: user data will be passed back with the
8331 callback
8332
8333 @see WDI_PostAssocReq
8334 @return Result of the function call
8335*/
8336WDI_Status
8337WDI_UpdateEDCAParams
8338(
8339 WDI_UpdateEDCAParamsType* pwdiUpdateEDCAParams,
8340 WDI_UpdateEDCAParamsRspCb wdiUpdateEDCAParamsRspCb,
8341 void* pUserData
8342);
8343
8344
8345
8346/**
8347 @brief WDI_AddBASessionReq will be called when the upper MAC has setup
8348 successfully a BA session and needs to notify the HW for
8349 the appropriate settings to take place. Upon the call of
8350 this API the WLAN DAL will pack and send a HAL Add BA
8351 request message to the lower RIVA sub-system if DAL is
8352 in state STARTED.
8353
8354 In state BUSY this request will be queued. Request won't
8355 be allowed in any other state.
8356
8357 WDI_PostAssocReq must have been called.
8358
8359 @param wdiAddBAReqParams: the add BA parameters as specified by
8360 the Device Interface
8361
8362 wdiAddBARspCb: callback for passing back the response of
8363 the add BA operation received from the device
8364
8365 pUserData: user data will be passed back with the
8366 callback
8367
8368 @see WDI_PostAssocReq
8369 @return Result of the function call
8370*/
8371WDI_Status
8372WDI_AddBASessionReq
8373(
8374 WDI_AddBASessionReqParamsType* pwdiAddBASessionReqParams,
8375 WDI_AddBASessionRspCb wdiAddBASessionRspCb,
8376 void* pUserData
8377);
8378
8379
8380/**
8381 @brief WDI_DelBAReq will be called when the upper MAC wants to
8382 inform HW that it has deleted a previously created BA
8383 session. Upon the call of this API the WLAN DAL will
8384 pack and send a HAL Del BA request message to the lower
8385 RIVA sub-system if DAL is in state STARTED.
8386
8387 In state BUSY this request will be queued. Request won't
8388 be allowed in any other state.
8389
8390 WDI_AddBAReq must have been called.
8391
8392 @param wdiDelBAReqParams: the del BA parameters as specified by
8393 the Device Interface
8394
8395 wdiDelBARspCb: callback for passing back the response of
8396 the del BA operation received from the device
8397
8398 pUserData: user data will be passed back with the
8399 callback
8400
8401 @see WDI_AddBAReq
8402 @return Result of the function call
8403*/
8404WDI_Status
8405WDI_DelBAReq
8406(
8407 WDI_DelBAReqParamsType* pwdiDelBAReqParams,
8408 WDI_DelBARspCb wdiDelBARspCb,
8409 void* pUserData
8410);
8411
8412/**
8413 @brief WDI_UpdateBeaconParamsReq will be called when the upper MAC wants to
8414 inform HW that there is a change in the beacon parameters
8415 Upon the call of this API the WLAN DAL will
8416 pack and send a UpdateBeacon Params message to the lower
8417 RIVA sub-system if DAL is in state STARTED.
8418
8419 In state BUSY this request will be queued. Request won't
8420 be allowed in any other state.
8421
8422 WDI_UpdateBeaconParamsReq must have been called.
8423
8424 @param WDI_UpdateBeaconParamsType: the Update Beacon parameters as specified by
8425 the Device Interface
8426
8427 WDI_UpdateBeaconParamsRspCb: callback for passing back the response of
8428 the Update Beacon Params operation received from the device
8429
8430 pUserData: user data will be passed back with the
8431 callback
8432
8433 @see WDI_AddBAReq
8434 @return Result of the function call
8435*/
8436
8437WDI_Status
8438WDI_UpdateBeaconParamsReq
8439(
8440 WDI_UpdateBeaconParamsType * pwdiUpdateBeaconParams,
8441 WDI_UpdateBeaconParamsRspCb wdiUpdateBeaconParamsRspCb,
8442 void* pUserData
8443);
8444
8445
8446/**
8447 @brief WDI_SendBeaconParamsReq will be called when the upper MAC wants to
8448 update the beacon template to be transmitted as BT MAP STA/IBSS/Soft AP
8449 Upon the call of this API the WLAN DAL will
8450 pack and send the beacon Template message to the lower
8451 RIVA sub-system if DAL is in state STARTED.
8452
8453 In state BUSY this request will be queued. Request won't
8454 be allowed in any other state.
8455
8456 WDI_SendBeaconParamsReq must have been called.
8457
8458 @param WDI_SendBeaconParamsType: the Update Beacon parameters as specified by
8459 the Device Interface
8460
8461 WDI_SendBeaconParamsRspCb: callback for passing back the response of
8462 the Send Beacon Params operation received from the device
8463
8464 pUserData: user data will be passed back with the
8465 callback
8466
8467 @see WDI_AddBAReq
8468 @return Result of the function call
8469*/
8470
8471WDI_Status
8472WDI_SendBeaconParamsReq
8473(
8474 WDI_SendBeaconParamsType* pwdiSendBeaconParams,
8475 WDI_SendBeaconParamsRspCb wdiSendBeaconParamsRspCb,
8476 void* pUserData
8477);
8478
8479
8480/**
8481 @brief WDI_UpdateProbeRspTemplateReq will be called when the
8482 upper MAC wants to update the probe response template to
8483 be transmitted as Soft AP
8484 Upon the call of this API the WLAN DAL will
8485 pack and send the probe rsp template message to the
8486 lower RIVA sub-system if DAL is in state STARTED.
8487
8488 In state BUSY this request will be queued. Request won't
8489 be allowed in any other state.
8490
8491
8492 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
8493 specified by the Device Interface
8494
8495 wdiSendBeaconParamsRspCb: callback for passing back the
8496 response of the Send Beacon Params operation received
8497 from the device
8498
8499 pUserData: user data will be passed back with the
8500 callback
8501
8502 @see WDI_AddBAReq
8503 @return Result of the function call
8504*/
8505
8506WDI_Status
8507WDI_UpdateProbeRspTemplateReq
8508(
8509 WDI_UpdateProbeRspTemplateParamsType* pwdiUpdateProbeRspParams,
8510 WDI_UpdateProbeRspTemplateRspCb wdiSendBeaconParamsRspCb,
8511 void* pUserData
8512);
8513
Jeff Johnson295189b2012-06-20 16:38:30 -07008514/**
8515 @brief WDI_SetP2PGONOAReq will be called when the
8516 upper MAC wants to send Notice of Absence
8517 Upon the call of this API the WLAN DAL will
8518 pack and send the probe rsp template message to the
8519 lower RIVA sub-system if DAL is in state STARTED.
8520
8521 In state BUSY this request will be queued. Request won't
8522 be allowed in any other state.
8523
8524
8525 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
8526 specified by the Device Interface
8527
8528 wdiSendBeaconParamsRspCb: callback for passing back the
8529 response of the Send Beacon Params operation received
8530 from the device
8531
8532 pUserData: user data will be passed back with the
8533 callback
8534
8535 @see WDI_AddBAReq
8536 @return Result of the function call
8537*/
8538WDI_Status
8539WDI_SetP2PGONOAReq
8540(
8541 WDI_SetP2PGONOAReqParamsType* pwdiP2PGONOAReqParams,
8542 WDI_SetP2PGONOAReqParamsRspCb wdiP2PGONOAReqParamsRspCb,
8543 void* pUserData
8544);
Jeff Johnson295189b2012-06-20 16:38:30 -07008545
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05308546/**
8547 @brief WDI_SetTDLSLinkEstablishReq will be called when the
8548 upper MAC wants to send TDLS Link Establish Request Parameters
8549 Upon the call of this API the WLAN DAL will
8550 pack and send the TDLS Link Establish Request message to the
8551 lower RIVA sub-system if DAL is in state STARTED.
8552
8553 In state BUSY this request will be queued. Request won't
8554 be allowed in any other state.
8555
8556
8557 @param pwdiTDLSLinkEstablishReqParams: TDLS Peer Parameters
8558 for Link Establishment (Used for PUAPSD , TDLS Off Channel ...)
8559
8560 wdiTDLSLinkEstablishReqRspCb: callback for passing back the
8561 response of the TDLS Link Establish request received
8562 from the device
8563
8564 pUserData: user data will be passed back with the
8565 callback
8566
8567 @see
8568 @return Result of the function call
8569*/
8570WDI_Status
8571WDI_SetTDLSLinkEstablishReq
8572(
8573 WDI_SetTDLSLinkEstablishReqParamsType* pwdiTDLSLinkEstablishReqParams,
8574 WDI_SetTDLSLinkEstablishReqParamsRspCb wdiTDLSLinkEstablishReqRspCb,
8575 void* pUserData
8576);
Jeff Johnson295189b2012-06-20 16:38:30 -07008577
8578/*========================================================================
8579
8580 Power Save APIs
8581
8582==========================================================================*/
8583
8584/**
8585 @brief WDI_SetPwrSaveCfgReq will be called when the upper MAC
8586 wants to set the power save related configurations of
8587 the WLAN Device. Upon the call of this API the WLAN DAL
8588 will pack and send a HAL Update CFG request message to
8589 the lower RIVA sub-system if DAL is in state STARTED.
8590
8591 In state BUSY this request will be queued. Request won't
8592 be allowed in any other state.
8593
8594 WDI_Start must have been called.
8595
8596 @param pwdiPowerSaveCfg: the power save cfg parameters as
8597 specified by the Device Interface
8598
8599 wdiSetPwrSaveCfgCb: callback for passing back the
8600 response of the set power save cfg operation received
8601 from the device
8602
8603 pUserData: user data will be passed back with the
8604 callback
8605
8606 @see WDI_Start
8607 @return Result of the function call
8608*/
8609WDI_Status
8610WDI_SetPwrSaveCfgReq
8611(
8612 WDI_UpdateCfgReqParamsType* pwdiPowerSaveCfg,
8613 WDI_SetPwrSaveCfgCb wdiSetPwrSaveCfgCb,
8614 void* pUserData
8615);
8616
8617/**
8618 @brief WDI_EnterImpsReq will be called when the upper MAC to
8619 request the device to get into IMPS power state. Upon
8620 the call of this API the WLAN DAL will send a HAL Enter
8621 IMPS request message to the lower RIVA sub-system if DAL
8622 is in state STARTED.
8623
8624 In state BUSY this request will be queued. Request won't
8625 be allowed in any other state.
8626
8627
8628 @param wdiEnterImpsRspCb: callback for passing back the
8629 response of the Enter IMPS operation received from the
8630 device
8631
8632 pUserData: user data will be passed back with the
8633 callback
8634
8635 @see WDI_Start
8636 @return Result of the function call
8637*/
8638WDI_Status
8639WDI_EnterImpsReq
8640(
8641 WDI_EnterImpsRspCb wdiEnterImpsRspCb,
8642 void* pUserData
8643);
8644
8645/**
8646 @brief WDI_ExitImpsReq will be called when the upper MAC to
8647 request the device to get out of IMPS power state. Upon
8648 the call of this API the WLAN DAL will send a HAL Exit
8649 IMPS request message to the lower RIVA sub-system if DAL
8650 is in state STARTED.
8651
8652 In state BUSY this request will be queued. Request won't
8653 be allowed in any other state.
8654
8655
8656
8657 @param wdiExitImpsRspCb: callback for passing back the response
8658 of the Exit IMPS operation received from the device
8659
8660 pUserData: user data will be passed back with the
8661 callback
8662
8663 @see WDI_Start
8664 @return Result of the function call
8665*/
8666WDI_Status
8667WDI_ExitImpsReq
8668(
8669 WDI_ExitImpsRspCb wdiExitImpsRspCb,
8670 void* pUserData
8671);
8672
8673/**
8674 @brief WDI_EnterBmpsReq will be called when the upper MAC to
8675 request the device to get into BMPS power state. Upon
8676 the call of this API the WLAN DAL will pack and send a
8677 HAL Enter BMPS request message to the lower RIVA
8678 sub-system if DAL is in state STARTED.
8679
8680 In state BUSY this request will be queued. Request won't
8681 be allowed in any other state.
8682
8683 WDI_PostAssocReq must have been called.
8684
8685 @param pwdiEnterBmpsReqParams: the Enter BMPS parameters as
8686 specified by the Device Interface
8687
8688 wdiEnterBmpsRspCb: callback for passing back the
8689 response of the Enter BMPS operation received from the
8690 device
8691
8692 pUserData: user data will be passed back with the
8693 callback
8694
8695 @see WDI_PostAssocReq
8696 @return Result of the function call
8697*/
8698WDI_Status
8699WDI_EnterBmpsReq
8700(
8701 WDI_EnterBmpsReqParamsType *pwdiEnterBmpsReqParams,
8702 WDI_EnterBmpsRspCb wdiEnterBmpsRspCb,
8703 void* pUserData
8704);
8705
8706/**
8707 @brief WDI_ExitBmpsReq will be called when the upper MAC to
8708 request the device to get out of BMPS power state. Upon
8709 the call of this API the WLAN DAL will pack and send a
8710 HAL Exit BMPS request message to the lower RIVA
8711 sub-system if DAL is in state STARTED.
8712
8713 In state BUSY this request will be queued. Request won't
8714 be allowed in any other state.
8715
8716 WDI_PostAssocReq must have been called.
8717
8718 @param pwdiExitBmpsReqParams: the Exit BMPS parameters as
8719 specified by the Device Interface
8720
8721 wdiExitBmpsRspCb: callback for passing back the response
8722 of the Exit BMPS operation received from the device
8723
8724 pUserData: user data will be passed back with the
8725 callback
8726
8727 @see WDI_PostAssocReq
8728 @return Result of the function call
8729*/
8730WDI_Status
8731WDI_ExitBmpsReq
8732(
8733 WDI_ExitBmpsReqParamsType *pwdiExitBmpsReqParams,
8734 WDI_ExitBmpsRspCb wdiExitBmpsRspCb,
8735 void* pUserData
8736);
8737
8738/**
8739 @brief WDI_EnterUapsdReq will be called when the upper MAC to
8740 request the device to get into UAPSD power state. Upon
8741 the call of this API the WLAN DAL will pack and send a
8742 HAL Enter UAPSD request message to the lower RIVA
8743 sub-system if DAL is in state STARTED.
8744
8745 In state BUSY this request will be queued. Request won't
8746 be allowed in any other state.
8747
8748 WDI_PostAssocReq must have been called.
8749 WDI_SetUapsdAcParamsReq must have been called.
8750
8751 @param pwdiEnterUapsdReqParams: the Enter UAPSD parameters as
8752 specified by the Device Interface
8753
8754 wdiEnterUapsdRspCb: callback for passing back the
8755 response of the Enter UAPSD operation received from the
8756 device
8757
8758 pUserData: user data will be passed back with the
8759 callback
8760
8761 @see WDI_PostAssocReq, WDI_SetUapsdAcParamsReq
8762 @return Result of the function call
8763*/
8764WDI_Status
8765WDI_EnterUapsdReq
8766(
8767 WDI_EnterUapsdReqParamsType *pwdiEnterUapsdReqParams,
8768 WDI_EnterUapsdRspCb wdiEnterUapsdRspCb,
8769 void* pUserData
8770);
8771
8772/**
8773 @brief WDI_ExitUapsdReq will be called when the upper MAC to
8774 request the device to get out of UAPSD power state. Upon
8775 the call of this API the WLAN DAL will send a HAL Exit
8776 UAPSD request message to the lower RIVA sub-system if
8777 DAL is in state STARTED.
8778
8779 In state BUSY this request will be queued. Request won't
8780 be allowed in any other state.
8781
8782 WDI_PostAssocReq must have been called.
8783
8784 @param wdiExitUapsdRspCb: callback for passing back the
8785 response of the Exit UAPSD operation received from the
8786 device
8787
8788 pUserData: user data will be passed back with the
8789 callback
8790
8791 @see WDI_PostAssocReq
8792 @return Result of the function call
8793*/
8794WDI_Status
8795WDI_ExitUapsdReq
8796(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07008797 WDI_ExitUapsdReqParamsType *pwdiExitUapsdReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07008798 WDI_ExitUapsdRspCb wdiExitUapsdRspCb,
8799 void* pUserData
8800);
8801
8802/**
8803 @brief WDI_UpdateUapsdParamsReq will be called when the upper
8804 MAC wants to set the UAPSD related configurations
8805 of an associated STA (while acting as an AP) to the WLAN
8806 Device. Upon the call of this API the WLAN DAL will pack
8807 and send a HAL Update UAPSD params request message to
8808 the lower RIVA sub-system if DAL is in state STARTED.
8809
8810 In state BUSY this request will be queued. Request won't
8811 be allowed in any other state.
8812
8813 WDI_ConfigBSSReq must have been called.
8814
8815 @param pwdiUpdateUapsdReqParams: the UAPSD parameters
8816 as specified by the Device Interface
8817
8818 wdiUpdateUapsdParamsCb: callback for passing back the
8819 response of the update UAPSD params operation received
8820 from the device
8821
8822 pUserData: user data will be passed back with the
8823 callback
8824
8825 @see WDI_ConfigBSSReq
8826 @return Result of the function call
8827*/
8828WDI_Status
8829WDI_UpdateUapsdParamsReq
8830(
8831 WDI_UpdateUapsdReqParamsType *pwdiUpdateUapsdReqParams,
8832 WDI_UpdateUapsdParamsCb wdiUpdateUapsdParamsCb,
8833 void* pUserData
8834);
8835
8836/**
8837 @brief WDI_SetUapsdAcParamsReq will be called when the upper
8838 MAC wants to set the UAPSD related configurations before
8839 requesting for enter UAPSD power state to the WLAN
8840 Device. Upon the call of this API the WLAN DAL will pack
8841 and send a HAL Set UAPSD params request message to
8842 the lower RIVA sub-system if DAL is in state STARTED.
8843
8844 In state BUSY this request will be queued. Request won't
8845 be allowed in any other state.
8846
8847 WDI_PostAssocReq must have been called.
8848
8849 @param pwdiUapsdInfo: the UAPSD parameters as specified by
8850 the Device Interface
8851
8852 wdiSetUapsdAcParamsCb: callback for passing back the
8853 response of the set UAPSD params operation received from
8854 the device
8855
8856 pUserData: user data will be passed back with the
8857 callback
8858
8859 @see WDI_PostAssocReq
8860 @return Result of the function call
8861*/
8862WDI_Status
8863WDI_SetUapsdAcParamsReq
8864(
8865 WDI_SetUapsdAcParamsReqParamsType* pwdiPowerSaveCfg,
8866 WDI_SetUapsdAcParamsCb wdiSetUapsdAcParamsCb,
8867 void* pUserData
8868);
8869
8870/**
8871 @brief WDI_ConfigureRxpFilterReq will be called when the upper
8872 MAC wants to set/reset the RXP filters for received pkts
8873 (MC, BC etc.). Upon the call of this API the WLAN DAL will pack
8874 and send a HAL configure RXP filter request message to
8875 the lower RIVA sub-system.
8876
8877 In state BUSY this request will be queued. Request won't
8878 be allowed in any other state.
8879
8880
8881 @param pwdiConfigureRxpFilterReqParams: the RXP
8882 filter as specified by the Device
8883 Interface
8884
8885 wdiConfigureRxpFilterCb: callback for passing back the
8886 response of the configure RXP filter operation received
8887 from the device
8888
8889 pUserData: user data will be passed back with the
8890 callback
8891
8892 @return Result of the function call
8893*/
8894WDI_Status
8895WDI_ConfigureRxpFilterReq
8896(
8897 WDI_ConfigureRxpFilterReqParamsType *pwdiConfigureRxpFilterReqParams,
8898 WDI_ConfigureRxpFilterCb wdiConfigureRxpFilterCb,
8899 void* pUserData
8900);
8901
8902/**
8903 @brief WDI_SetBeaconFilterReq will be called when the upper MAC
8904 wants to set the beacon filters while in power save.
8905 Upon the call of this API the WLAN DAL will pack and
8906 send a Beacon filter request message to the
8907 lower RIVA sub-system.
8908
8909 In state BUSY this request will be queued. Request won't
8910 be allowed in any other state.
8911
8912
8913 @param pwdiBeaconFilterReqParams: the beacon
8914 filter as specified by the Device
8915 Interface
8916
8917 wdiBeaconFilterCb: callback for passing back the
8918 response of the set beacon filter operation received
8919 from the device
8920
8921 pUserData: user data will be passed back with the
8922 callback
8923
8924 @return Result of the function call
8925*/
8926WDI_Status
8927WDI_SetBeaconFilterReq
8928(
8929 WDI_BeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
8930 WDI_SetBeaconFilterCb wdiBeaconFilterCb,
8931 void* pUserData
8932);
8933
8934/**
8935 @brief WDI_RemBeaconFilterReq will be called when the upper MAC
8936 wants to remove the beacon filter for perticular IE
8937 while in power save. Upon the call of this API the WLAN
8938 DAL will pack and send a remove Beacon filter request
8939 message to the lower RIVA sub-system.
8940
8941 In state BUSY this request will be queued. Request won't
8942 be allowed in any other state.
8943
8944
8945 @param pwdiBeaconFilterReqParams: the beacon
8946 filter as specified by the Device
8947 Interface
8948
8949 wdiBeaconFilterCb: callback for passing back the
8950 response of the remove beacon filter operation received
8951 from the device
8952
8953 pUserData: user data will be passed back with the
8954 callback
8955
8956 @return Result of the function call
8957*/
8958WDI_Status
8959WDI_RemBeaconFilterReq
8960(
8961 WDI_RemBeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
8962 WDI_RemBeaconFilterCb wdiBeaconFilterCb,
8963 void* pUserData
8964);
8965
8966/**
8967 @brief WDI_SetRSSIThresholdsReq will be called when the upper
8968 MAC wants to set the RSSI thresholds related
8969 configurations while in power save. Upon the call of
8970 this API the WLAN DAL will pack and send a HAL Set RSSI
8971 thresholds request message to the lower RIVA
8972 sub-system if DAL is in state STARTED.
8973
8974 In state BUSY this request will be queued. Request won't
8975 be allowed in any other state.
8976
8977 WDI_PostAssocReq must have been called.
8978
8979 @param pwdiUapsdInfo: the UAPSD parameters as specified by
8980 the Device Interface
8981
8982 wdiSetUapsdAcParamsCb: callback for passing back the
8983 response of the set UAPSD params operation received from
8984 the device
8985
8986 pUserData: user data will be passed back with the
8987 callback
8988
8989 @see WDI_PostAssocReq
8990 @return Result of the function call
8991*/
8992WDI_Status
8993WDI_SetRSSIThresholdsReq
8994(
8995 WDI_SetRSSIThresholdsReqParamsType* pwdiRSSIThresholdsParams,
8996 WDI_SetRSSIThresholdsCb wdiSetRSSIThresholdsCb,
8997 void* pUserData
8998);
8999
9000/**
9001 @brief WDI_HostOffloadReq will be called when the upper MAC
9002 wants to set the filter to minimize unnecessary host
9003 wakeup due to broadcast traffic while in power save.
9004 Upon the call of this API the WLAN DAL will pack and
9005 send a HAL host offload request message to the
9006 lower RIVA sub-system if DAL is in state STARTED.
9007
9008 In state BUSY this request will be queued. Request won't
9009 be allowed in any other state.
9010
9011 WDI_PostAssocReq must have been called.
9012
9013 @param pwdiHostOffloadParams: the host offload as specified
9014 by the Device Interface
9015
9016 wdiHostOffloadCb: callback for passing back the response
9017 of the host offload operation received from the
9018 device
9019
9020 pUserData: user data will be passed back with the
9021 callback
9022
9023 @see WDI_PostAssocReq
9024 @return Result of the function call
9025*/
9026WDI_Status
9027WDI_HostOffloadReq
9028(
9029 WDI_HostOffloadReqParamsType* pwdiHostOffloadParams,
9030 WDI_HostOffloadCb wdiHostOffloadCb,
9031 void* pUserData
9032);
9033
9034/**
9035 @brief WDI_KeepAliveReq will be called when the upper MAC
9036 wants to set the filter to send NULL or unsolicited ARP responses
9037 and minimize unnecessary host wakeups due to while in power save.
9038 Upon the call of this API the WLAN DAL will pack and
9039 send a HAL Keep Alive request message to the
9040 lower RIVA sub-system if DAL is in state STARTED.
9041
9042 In state BUSY this request will be queued. Request won't
9043 be allowed in any other state.
9044
9045 WDI_PostAssocReq must have been called.
9046
9047 @param pwdiKeepAliveParams: the Keep Alive as specified
9048 by the Device Interface
9049
9050 wdiKeepAliveCb: callback for passing back the response
9051 of the Keep Alive operation received from the
9052 device
9053
9054 pUserData: user data will be passed back with the
9055 callback
9056
9057 @see WDI_PostAssocReq
9058 @return Result of the function call
9059*/
9060WDI_Status
9061WDI_KeepAliveReq
9062(
9063 WDI_KeepAliveReqParamsType* pwdiKeepAliveParams,
9064 WDI_KeepAliveCb wdiKeepAliveCb,
9065 void* pUserData
9066);
9067
9068/**
9069 @brief WDI_WowlAddBcPtrnReq will be called when the upper MAC
9070 wants to set the Wowl Bcast ptrn to minimize unnecessary
9071 host wakeup due to broadcast traffic while in power
9072 save. Upon the call of this API the WLAN DAL will pack
9073 and send a HAL Wowl Bcast ptrn request message to the
9074 lower RIVA sub-system if DAL is in state STARTED.
9075
9076 In state BUSY this request will be queued. Request won't
9077 be allowed in any other state.
9078
9079 WDI_PostAssocReq must have been called.
9080
9081 @param pwdiWowlAddBcPtrnParams: the Wowl bcast ptrn as
9082 specified by the Device Interface
9083
9084 wdiWowlAddBcPtrnCb: callback for passing back the
9085 response of the add Wowl bcast ptrn operation received
9086 from the device
9087
9088 pUserData: user data will be passed back with the
9089 callback
9090
9091 @see WDI_PostAssocReq
9092 @return Result of the function call
9093*/
9094WDI_Status
9095WDI_WowlAddBcPtrnReq
9096(
9097 WDI_WowlAddBcPtrnReqParamsType* pwdiWowlAddBcPtrnParams,
9098 WDI_WowlAddBcPtrnCb wdiWowlAddBcPtrnCb,
9099 void* pUserData
9100);
9101
9102/**
9103 @brief WDI_WowlDelBcPtrnReq will be called when the upper MAC
9104 wants to clear the Wowl Bcast ptrn. Upon the call of
9105 this API the WLAN DAL will pack and send a HAL delete
9106 Wowl Bcast ptrn request message to the lower RIVA
9107 sub-system if DAL is in state STARTED.
9108
9109 In state BUSY this request will be queued. Request won't
9110 be allowed in any other state.
9111
9112 WDI_WowlAddBcPtrnReq must have been called.
9113
9114 @param pwdiWowlDelBcPtrnParams: the Wowl bcast ptrn as
9115 specified by the Device Interface
9116
9117 wdiWowlDelBcPtrnCb: callback for passing back the
9118 response of the del Wowl bcast ptrn operation received
9119 from the device
9120
9121 pUserData: user data will be passed back with the
9122 callback
9123
9124 @see WDI_WowlAddBcPtrnReq
9125 @return Result of the function call
9126*/
9127WDI_Status
9128WDI_WowlDelBcPtrnReq
9129(
9130 WDI_WowlDelBcPtrnReqParamsType* pwdiWowlDelBcPtrnParams,
9131 WDI_WowlDelBcPtrnCb wdiWowlDelBcPtrnCb,
9132 void* pUserData
9133);
9134
9135/**
9136 @brief WDI_WowlEnterReq will be called when the upper MAC
9137 wants to enter the Wowl state to minimize unnecessary
9138 host wakeup while in power save. Upon the call of this
9139 API the WLAN DAL will pack and send a HAL Wowl enter
9140 request message to the lower RIVA sub-system if DAL is
9141 in state STARTED.
9142
9143 In state BUSY this request will be queued. Request won't
9144 be allowed in any other state.
9145
9146 WDI_PostAssocReq must have been called.
9147
9148 @param pwdiWowlEnterReqParams: the Wowl enter info as
9149 specified by the Device Interface
9150
9151 wdiWowlEnterReqCb: callback for passing back the
9152 response of the enter Wowl operation received from the
9153 device
9154
9155 pUserData: user data will be passed back with the
9156 callback
9157
9158 @see WDI_PostAssocReq
9159 @return Result of the function call
9160*/
9161WDI_Status
9162WDI_WowlEnterReq
9163(
9164 WDI_WowlEnterReqParamsType* pwdiWowlEnterParams,
9165 WDI_WowlEnterReqCb wdiWowlEnterCb,
9166 void* pUserData
9167);
9168
9169/**
9170 @brief WDI_WowlExitReq will be called when the upper MAC
9171 wants to exit the Wowl state. Upon the call of this API
9172 the WLAN DAL will pack and send a HAL Wowl exit request
9173 message to the lower RIVA sub-system if DAL is in state
9174 STARTED.
9175
9176 In state BUSY this request will be queued. Request won't
9177 be allowed in any other state.
9178
9179 WDI_WowlEnterReq must have been called.
9180
9181 @param pwdiWowlExitReqParams: the Wowl exit info as
9182 specified by the Device Interface
9183
9184 wdiWowlExitReqCb: callback for passing back the response
9185 of the exit Wowl operation received from the device
9186
9187 pUserData: user data will be passed back with the
9188 callback
9189
9190 @see WDI_WowlEnterReq
9191 @return Result of the function call
9192*/
9193WDI_Status
9194WDI_WowlExitReq
9195(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07009196 WDI_WowlExitReqParamsType* pwdiWowlExitParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009197 WDI_WowlExitReqCb wdiWowlExitCb,
9198 void* pUserData
9199);
9200
9201/**
9202 @brief WDI_ConfigureAppsCpuWakeupStateReq will be called when
9203 the upper MAC wants to dynamically adjusts the listen
9204 interval based on the WLAN/MSM activity. Upon the call
9205 of this API the WLAN DAL will pack and send a HAL
9206 configure Apps Cpu Wakeup State request message to the
9207 lower RIVA sub-system.
9208
9209 In state BUSY this request will be queued. Request won't
9210 be allowed in any other state.
9211
9212
9213 @param pwdiConfigureAppsCpuWakeupStateReqParams: the
9214 Apps Cpu Wakeup State as specified by the
9215 Device Interface
9216
9217 wdiConfigureAppsCpuWakeupStateCb: callback for passing
9218 back the response of the configure Apps Cpu Wakeup State
9219 operation received from the device
9220
9221 pUserData: user data will be passed back with the
9222 callback
9223
9224 @return Result of the function call
9225*/
9226WDI_Status
9227WDI_ConfigureAppsCpuWakeupStateReq
9228(
9229 WDI_ConfigureAppsCpuWakeupStateReqParamsType *pwdiConfigureAppsCpuWakeupStateReqParams,
9230 WDI_ConfigureAppsCpuWakeupStateCb wdiConfigureAppsCpuWakeupStateCb,
9231 void* pUserData
9232);
9233/**
9234 @brief WDI_FlushAcReq will be called when the upper MAC wants
9235 to to perform a flush operation on a given AC. Upon the
9236 call of this API the WLAN DAL will pack and send a HAL
9237 Flush AC request message to the lower RIVA sub-system if
9238 DAL is in state STARTED.
9239
9240 In state BUSY this request will be queued. Request won't
9241 be allowed in any other state.
9242
9243
9244 @param pwdiFlushAcReqParams: the Flush AC parameters as
9245 specified by the Device Interface
9246
9247 wdiFlushAcRspCb: callback for passing back the response
9248 of the Flush AC operation received from the device
9249
9250 pUserData: user data will be passed back with the
9251 callback
9252
9253 @return Result of the function call
9254*/
9255WDI_Status
9256WDI_FlushAcReq
9257(
9258 WDI_FlushAcReqParamsType* pwdiFlushAcReqParams,
9259 WDI_FlushAcRspCb wdiFlushAcRspCb,
9260 void* pUserData
9261);
9262
9263/**
9264 @brief WDI_BtAmpEventReq will be called when the upper MAC
9265 wants to notify the lower mac on a BT AMP event. This is
9266 to inform BTC-SLM that some BT AMP event occurred. Upon
9267 the call of this API the WLAN DAL will pack and send a
9268 HAL BT AMP event request message to the lower RIVA
9269 sub-system if DAL is in state STARTED.
9270
9271 In state BUSY this request will be queued. Request won't
9272 be allowed in any other state.
9273
9274
9275 @param wdiBtAmpEventReqParams: the BT AMP event parameters as
9276 specified by the Device Interface
9277
9278 wdiBtAmpEventRspCb: callback for passing back the
9279 response of the BT AMP event operation received from the
9280 device
9281
9282 pUserData: user data will be passed back with the
9283 callback
9284
9285 @return Result of the function call
9286*/
9287WDI_Status
9288WDI_BtAmpEventReq
9289(
9290 WDI_BtAmpEventParamsType* pwdiBtAmpEventReqParams,
9291 WDI_BtAmpEventRspCb wdiBtAmpEventRspCb,
9292 void* pUserData
9293);
9294
Jeff Johnsone7245742012-09-05 17:12:55 -07009295#ifdef FEATURE_OEM_DATA_SUPPORT
9296/**
9297 @brief WDI_Start oem data Req will be called when the upper MAC
9298 wants to notify the lower mac on a oem data Req event.Upon
9299 the call of this API the WLAN DAL will pack and send a
9300 HAL OEM Data Req event request message to the lower RIVA
9301 sub-system if DAL is in state STARTED.
9302
9303 In state BUSY this request will be queued. Request won't
9304 be allowed in any other state.
9305
9306
9307 @param pWdiOemDataReqParams: the oem data req parameters as
9308 specified by the Device Interface
9309
9310 wdiStartOemDataRspCb: callback for passing back the
9311 response of the Oem Data Req received from the
9312 device
9313
9314 pUserData: user data will be passed back with the
9315 callback
9316
9317 @return Result of the function call
9318*/
9319WDI_Status
9320WDI_StartOemDataReq
9321(
9322 WDI_oemDataReqParamsType* pWdiOemDataReqParams,
9323 WDI_oemDataRspCb wdiOemDataRspCb,
9324 void* pUserData
9325);
9326#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07009327
9328/*========================================================================
9329
9330 CONTROL APIs
9331
9332==========================================================================*/
9333/**
9334 @brief WDI_SwitchChReq will be called when the upper MAC wants
9335 the WLAN HW to change the current channel of operation.
9336 Upon the call of this API the WLAN DAL will pack and
9337 send a HAL Start request message to the lower RIVA
9338 sub-system if DAL is in state STARTED.
9339
9340 In state BUSY this request will be queued. Request won't
9341 be allowed in any other state.
9342
9343 WDI_Start must have been called.
9344
9345 @param wdiSwitchChReqParams: the switch ch parameters as
9346 specified by the Device Interface
9347
9348 wdiSwitchChRspCb: callback for passing back the response
9349 of the switch ch operation received from the device
9350
9351 pUserData: user data will be passed back with the
9352 callback
9353
9354 @see WDI_Start
9355 @return Result of the function call
9356*/
9357WDI_Status
9358WDI_SwitchChReq
9359(
9360 WDI_SwitchChReqParamsType* pwdiSwitchChReqParams,
9361 WDI_SwitchChRspCb wdiSwitchChRspCb,
9362 void* pUserData
9363);
9364
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08009365/**
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08009366 @brief WDI_SwitchChReq_V1 is similar to WDI_SwitchChReq except
9367 it also send type source for the channel change.
9368 WDI_Start must have been called.
9369
9370 @param wdiSwitchChReqParams: the switch ch parameters as
9371 specified by the Device Interface
9372
9373 wdiSwitchChRspCb: callback for passing back the response
9374 of the switch ch operation received from the device
9375
9376 pUserData: user data will be passed back with the
9377 callback
9378
9379 @see WDI_Start
9380 @return Result of the function call
9381*/
9382
9383WDI_Status
9384WDI_SwitchChReq_V1
9385(
9386 WDI_SwitchChReqParamsType_V1* pwdiSwitchChReqParams,
9387 WDI_SwitchChRspCb_V1 wdiSwitchChRspCb,
9388 void* pUserData
9389);
9390
9391/**
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08009392 @brief WDI_UpdateChannelReq will be called when the upper MAC
9393 wants to update the channel list on change in country code.
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08009394 In state BUSY this request will be queued. Request won't
9395 be allowed in any other state.
9396
9397 WDI_UpdateChannelReq must have been called.
9398
9399 @param wdiUpdateChannelReqParams: the updated channel parameters
9400 as specified by the Device Interface
9401
9402 wdiUpdateChannelRspCb: callback for passing back the
9403 response of the update channel operation received from
9404 the device
9405
9406 pUserData: user data will be passed back with the
9407 callback
9408
9409 @return Result of the function call
9410*/
9411WDI_Status
9412WDI_UpdateChannelReq
9413(
9414 WDI_UpdateChReqParamsType *pwdiUpdateChannelReqParams,
9415 WDI_UpdateChannelRspCb wdiUpdateChannelRspCb,
9416 void* pUserData
9417);
Jeff Johnson295189b2012-06-20 16:38:30 -07009418
9419/**
9420 @brief WDI_ConfigSTAReq will be called when the upper MAC
9421 wishes to add or update a STA in HW. Upon the call of
9422 this API the WLAN DAL will pack and send a HAL Start
9423 message request message to the lower RIVA sub-system if
9424 DAL is in state STARTED.
9425
9426 In state BUSY this request will be queued. Request won't
9427 be allowed in any other state.
9428
9429 WDI_Start must have been called.
9430
9431 @param wdiConfigSTAReqParams: the config STA parameters as
9432 specified by the Device Interface
9433
9434 wdiConfigSTARspCb: callback for passing back the
9435 response of the config STA operation received from the
9436 device
9437
9438 pUserData: user data will be passed back with the
9439 callback
9440
9441 @see WDI_Start
9442 @return Result of the function call
9443*/
9444WDI_Status
9445WDI_ConfigSTAReq
9446(
9447 WDI_ConfigSTAReqParamsType* pwdiConfigSTAReqParams,
9448 WDI_ConfigSTARspCb wdiConfigSTARspCb,
9449 void* pUserData
9450);
9451
9452/**
9453 @brief WDI_SetLinkStateReq will be called when the upper MAC
9454 wants to change the state of an ongoing link. Upon the
9455 call of this API the WLAN DAL will pack and send a HAL
9456 Start message request message to the lower RIVA
9457 sub-system if DAL is in state STARTED.
9458
9459 In state BUSY this request will be queued. Request won't
9460 be allowed in any other state.
9461
9462 WDI_JoinReq must have been called.
9463
9464 @param wdiSetLinkStateReqParams: the set link state parameters
9465 as specified by the Device Interface
9466
9467 wdiSetLinkStateRspCb: callback for passing back the
9468 response of the set link state operation received from
9469 the device
9470
9471 pUserData: user data will be passed back with the
9472 callback
9473
9474 @see WDI_JoinStartReq
9475 @return Result of the function call
9476*/
9477WDI_Status
9478WDI_SetLinkStateReq
9479(
9480 WDI_SetLinkReqParamsType* pwdiSetLinkStateReqParams,
9481 WDI_SetLinkStateRspCb wdiSetLinkStateRspCb,
9482 void* pUserData
9483);
9484
9485
9486/**
9487 @brief WDI_GetStatsReq will be called when the upper MAC wants
9488 to get statistics (MIB counters) from the device. Upon
9489 the call of this API the WLAN DAL will pack and send a
9490 HAL Start request message to the lower RIVA sub-system
9491 if DAL is in state STARTED.
9492
9493 In state BUSY this request will be queued. Request won't
9494 be allowed in any other state.
9495
9496 WDI_Start must have been called.
9497
9498 @param wdiGetStatsReqParams: the stats parameters to get as
9499 specified by the Device Interface
9500
9501 wdiGetStatsRspCb: callback for passing back the response
9502 of the get stats operation received from the device
9503
9504 pUserData: user data will be passed back with the
9505 callback
9506
9507 @see WDI_Start
9508 @return Result of the function call
9509*/
9510WDI_Status
9511WDI_GetStatsReq
9512(
9513 WDI_GetStatsReqParamsType* pwdiGetStatsReqParams,
9514 WDI_GetStatsRspCb wdiGetStatsRspCb,
9515 void* pUserData
9516);
9517
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08009518#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08009519/**
9520 @brief WDI_GetRoamRssiReq will be called when the upper MAC wants
9521 to get roam rssi from the device. Upon
9522 the call of this API the WLAN DAL will pack and send a
9523 HAL Start request message to the lower RIVA sub-system
9524 if DAL is in state STARTED.
9525
9526 In state BUSY this request will be queued. Request won't
9527 be allowed in any other state.
9528
9529 WDI_Start must have been called.
9530
9531 @param wdiGetRoamRssiReqParams: the stats parameters to get as
9532 specified by the Device Interface
9533
9534 wdiGetRoamRssispCb: callback for passing back the response
9535 of the get stats operation received from the device
9536
9537 pUserData: user data will be passed back with the
9538 callback
9539
9540 @see WDI_Start
9541 @return Result of the function call
9542*/
9543WDI_Status
9544WDI_GetRoamRssiReq
9545(
9546 WDI_GetRoamRssiReqParamsType* pwdiGetRoamRssiReqParams,
9547 WDI_GetRoamRssiRspCb wdiGetRoamRssiRspCb,
9548 void* pUserData
9549);
9550#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07009551
9552/**
9553 @brief WDI_UpdateCfgReq will be called when the upper MAC when
9554 it wishes to change the configuration of the WLAN
9555 Device. Upon the call of this API the WLAN DAL will pack
9556 and send a HAL Update CFG request message to the lower
9557 RIVA sub-system if DAL is in state STARTED.
9558
9559 In state BUSY this request will be queued. Request won't
9560 be allowed in any other state.
9561
9562 WDI_Start must have been called.
9563
9564 @param wdiUpdateCfgReqParams: the update cfg parameters as
9565 specified by the Device Interface
9566
9567 wdiUpdateCfgsRspCb: callback for passing back the
9568 response of the update cfg operation received from the
9569 device
9570
9571 pUserData: user data will be passed back with the
9572 callback
9573
9574 @see WDI_Start
9575 @return Result of the function call
9576*/
9577WDI_Status
9578WDI_UpdateCfgReq
9579(
9580 WDI_UpdateCfgReqParamsType* pwdiUpdateCfgReqParams,
9581 WDI_UpdateCfgRspCb wdiUpdateCfgsRspCb,
9582 void* pUserData
9583);
9584
9585/**
9586 @brief WDI_NvDownloadReq will be called by the UMAC to dowload the NV blob
9587 to the NV memory.
9588
9589 @param wdiNvDownloadReqParams: the NV Download parameters as specified by
9590 the Device Interface
9591
9592 wdiNvDownloadRspCb: callback for passing back the response of
9593 the NV Download operation received from the device
9594
9595 pUserData: user data will be passed back with the
9596 callback
9597
9598 @see WDI_PostAssocReq
9599 @return Result of the function call
9600*/
9601WDI_Status
9602WDI_NvDownloadReq
9603(
9604 WDI_NvDownloadReqParamsType* pwdiNvDownloadReqParams,
9605 WDI_NvDownloadRspCb wdiNvDownloadRspCb,
9606 void* pUserData
9607);
9608/**
9609 @brief WDI_AddBAReq will be called when the upper MAC has setup
9610 successfully a BA session and needs to notify the HW for
9611 the appropriate settings to take place. Upon the call of
9612 this API the WLAN DAL will pack and send a HAL Add BA
9613 request message to the lower RIVA sub-system if DAL is
9614 in state STARTED.
9615
9616 In state BUSY this request will be queued. Request won't
9617 be allowed in any other state.
9618
9619 WDI_PostAssocReq must have been called.
9620
9621 @param wdiAddBAReqParams: the add BA parameters as specified by
9622 the Device Interface
9623
9624 wdiAddBARspCb: callback for passing back the response of
9625 the add BA operation received from the device
9626
9627 pUserData: user data will be passed back with the
9628 callback
9629
9630 @see WDI_PostAssocReq
9631 @return Result of the function call
9632*/
9633WDI_Status
9634WDI_AddBAReq
9635(
9636 WDI_AddBAReqParamsType* pwdiAddBAReqParams,
9637 WDI_AddBARspCb wdiAddBARspCb,
9638 void* pUserData
9639);
9640
9641/**
9642 @brief WDI_TriggerBAReq will be called when the upper MAC has setup
9643 successfully a BA session and needs to notify the HW for
9644 the appropriate settings to take place. Upon the call of
9645 this API the WLAN DAL will pack and send a HAL Add BA
9646 request message to the lower RIVA sub-system if DAL is
9647 in state STARTED.
9648
9649 In state BUSY this request will be queued. Request won't
9650 be allowed in any other state.
9651
9652 WDI_PostAssocReq must have been called.
9653
9654 @param wdiAddBAReqParams: the add BA parameters as specified by
9655 the Device Interface
9656
9657 wdiAddBARspCb: callback for passing back the response of
9658 the add BA operation received from the device
9659
9660 pUserData: user data will be passed back with the
9661 callback
9662
9663 @see WDI_PostAssocReq
9664 @return Result of the function call
9665*/
9666WDI_Status
9667WDI_TriggerBAReq
9668(
9669 WDI_TriggerBAReqParamsType* pwdiTriggerBAReqParams,
9670 WDI_TriggerBARspCb wdiTriggerBARspCb,
9671 void* pUserData
9672);
9673
9674
9675/**
9676 @brief WDI_IsHwFrameTxTranslationCapable checks to see if HW
9677 frame xtl is enabled for a particular STA.
9678
9679 WDI_PostAssocReq must have been called.
9680
9681 @param uSTAIdx: STA index
9682
9683 @see WDI_PostAssocReq
9684 @return Result of the function call
9685*/
9686wpt_boolean WDI_IsHwFrameTxTranslationCapable
9687(
9688 wpt_uint8 uSTAIdx
9689);
9690
9691#ifdef WLAN_FEATURE_VOWIFI_11R
9692/**
9693 @brief WDI_AggrAddTSReq will be called when the upper MAC to inform
9694 the device of a successful add TSpec negotiation for 11r. HW
9695 needs to receive the TSpec Info from the UMAC in order
9696 to configure properly the QoS data traffic. Upon the
9697 call of this API the WLAN DAL will pack and send a HAL
9698 Aggregated Add TS request message to the lower RIVA sub-system if
9699 DAL is in state STARTED.
9700
9701 In state BUSY this request will be queued. Request won't
9702 be allowed in any other state.
9703
9704 WDI_PostAssocReq must have been called.
9705
9706 @param wdiAggrAddTsReqParams: the add TS parameters as specified by
9707 the Device Interface
9708
9709 wdiAggrAddTsRspCb: callback for passing back the response of
9710 the add TS operation received from the device
9711
9712 pUserData: user data will be passed back with the
9713 callback
9714
9715 @see WDI_PostAssocReq
9716 @return Result of the function call
9717*/
9718WDI_Status
9719WDI_AggrAddTSReq
9720(
9721 WDI_AggrAddTSReqParamsType* pwdiAddTsReqParams,
9722 WDI_AggrAddTsRspCb wdiAggrAddTsRspCb,
9723 void* pUserData
9724);
9725#endif /* WLAN_FEATURE_VOWIFI_11R */
9726/**
9727 @brief WDI_STATableInit - Initializes the STA tables.
9728 Allocates the necesary memory.
9729
9730
9731 @param pWDICtx: pointer to the WLAN DAL context
9732
9733 @see
9734 @return Result of the function call
9735*/
9736
9737WDI_Status WDI_StubRunTest
9738(
9739 wpt_uint8 ucTestNo
9740);
9741
Jeff Johnson295189b2012-06-20 16:38:30 -07009742/**
9743 @brief WDI_FTMCommandReq -
9744 Route FTMRequest Command to HAL
9745
9746 @param ftmCommandReq: FTM request command body
9747 @param ftmCommandRspCb: Response CB
9748 @param pUserData: User data will be included with CB
9749
9750 @return Result of the function call
9751*/
9752WDI_Status WDI_FTMCommandReq
9753(
9754 WDI_FTMCommandReqType *ftmCommandReq,
9755 WDI_FTMCommandRspCb ftmCommandRspCb,
9756 void *pUserData
9757);
Jeff Johnson295189b2012-06-20 16:38:30 -07009758
9759/**
9760 @brief WDI_HostResumeReq will be called
9761
9762 In state BUSY this request will be queued. Request won't
9763 be allowed in any other state.
9764
9765
9766 @param pwdiResumeReqParams: as specified by
9767 the Device Interface
9768
9769 wdiResumeReqRspCb: callback for passing back the response of
9770 the Resume Req 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_HostResumeReq
9780(
9781 WDI_ResumeParamsType* pwdiResumeReqParams,
9782 WDI_HostResumeEventRspCb wdiResumeReqRspCb,
9783 void* pUserData
9784);
9785
9786/**
9787 @brief WDI_GetAvailableResCount - Function to get the available resource
9788 for data and managemnt frames.
9789
9790 @param pContext: pointer to the WDI context
9791 @param wdiResPool: type of resource pool requesting
9792 @see
9793 @return Result of the function call
9794*/
9795
9796wpt_uint32 WDI_GetAvailableResCount
9797(
9798 void *pContext,
9799 WDI_ResPoolType wdiResPool
9800);
9801
9802/**
9803 @brief WDI_SetAddSTASelfReq will be called when the
9804 UMAC wanted to add self STA while opening any new session
9805 In state BUSY this request will be queued. Request won't
9806 be allowed in any other state.
9807
9808
9809 @param pwdiAddSTASelfParams: the add self sta parameters as
9810 specified by the Device Interface
9811
9812 pUserData: user data will be passed back with the
9813 callback
9814
9815 @see
9816 @return Result of the function call
9817*/
9818WDI_Status
9819WDI_AddSTASelfReq
9820(
9821 WDI_AddSTASelfReqParamsType* pwdiAddSTASelfReqParams,
9822 WDI_AddSTASelfParamsRspCb wdiAddSTASelfReqParamsRspCb,
9823 void* pUserData
9824);
9825
9826
9827/**
9828 @brief WDI_DelSTASelfReq will be called .
9829
9830 @param WDI_DelSTASelfReqParamsType
9831
9832 WDI_DelSTASelfRspCb: callback for passing back the
9833 response of the del sta self operation received from the
9834 device
9835
9836 pUserData: user data will be passed back with the
9837 callback
9838
9839 @see WDI_PostAssocReq
9840 @return Result of the function call
9841*/
9842WDI_Status
9843WDI_DelSTASelfReq
9844(
9845 WDI_DelSTASelfReqParamsType* pwdiDelStaSelfParams,
9846 WDI_DelSTASelfRspCb wdiDelStaSelfRspCb,
9847 void* pUserData
9848);
9849
9850/**
9851 @brief WDI_HostSuspendInd
9852
9853 Suspend Indication from the upper layer will be sent
9854 down to HAL
9855
9856 @param WDI_SuspendParamsType
9857
9858 @see
9859
9860 @return Status of the request
9861*/
9862WDI_Status
9863WDI_HostSuspendInd
9864(
9865 WDI_SuspendParamsType* pwdiSuspendIndParams
9866);
9867
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08009868/**
9869 @brief WDI_TrafficStatsInd
9870
9871 Traffic Stats from the upper layer will be sent
9872 down to HAL
9873
9874 @param WDI_TrafficStatsIndType
9875
9876 @see
9877
9878 @return Status of the request
9879*/
9880WDI_Status
9881WDI_TrafficStatsInd
9882(
9883 WDI_TrafficStatsIndType *pWdiTrafficStatsIndParams
9884);
9885
Chet Lanctot186b5732013-03-18 10:26:30 -07009886#ifdef WLAN_FEATURE_11W
9887/**
9888 @brief WDI_ExcludeUnencryptedInd
9889 Register with HAL to receive/drop unencrypted frames
9890
9891 @param WDI_ExcludeUnencryptIndType
9892
9893 @see
9894
9895 @return Status of the request
9896*/
9897WDI_Status
9898WDI_ExcludeUnencryptedInd
9899(
9900 WDI_ExcludeUnencryptIndType *pWdiExcUnencParams
9901);
9902#endif
9903
Yue Mab9c86f42013-08-14 15:59:08 -07009904/**
9905 @brief WDI_AddPeriodicTxPtrnInd
9906
9907 @param WDI_AddPeriodicTxPtrnParamsType
9908
9909 @see
9910
9911 @return Status of the request
9912*/
9913WDI_Status
9914WDI_AddPeriodicTxPtrnInd
9915(
9916 WDI_AddPeriodicTxPtrnParamsType *addPeriodicTxPtrnParams
9917);
9918
9919/**
9920 @brief WDI_DelPeriodicTxPtrnInd
9921
9922 @param WDI_DelPeriodicTxPtrnParamsType
9923
9924 @see
9925
9926 @return Status of the request
9927*/
9928WDI_Status
9929WDI_DelPeriodicTxPtrnInd
9930(
9931 WDI_DelPeriodicTxPtrnParamsType *delPeriodicTxPtrnParams
9932);
9933
Jeff Johnson295189b2012-06-20 16:38:30 -07009934#ifdef FEATURE_WLAN_SCAN_PNO
9935/**
9936 @brief WDI_SetPreferredNetworkList
9937
9938 @param pwdiPNOScanReqParams: the Set PNO as specified
9939 by the Device Interface
9940
9941 wdiPNOScanCb: callback for passing back the response
9942 of the Set PNO operation received from the
9943 device
9944
9945 pUserData: user data will be passed back with the
9946 callback
9947
9948 @see WDI_PostAssocReq
9949 @return Result of the function call
9950*/
9951WDI_Status
9952WDI_SetPreferredNetworkReq
9953(
9954 WDI_PNOScanReqParamsType* pwdiPNOScanReqParams,
9955 WDI_PNOScanCb wdiPNOScanCb,
9956 void* pUserData
9957);
9958
9959/**
9960 @brief WDI_SetRssiFilterReq
9961
9962 @param pwdiRssiFilterReqParams: the Set RSSI Filter as
9963 specified by the Device Interface
9964
9965 wdiRssiFilterCb: callback for passing back the response
9966 of the Set RSSI Filter operation received from the
9967 device
9968
9969 pUserData: user data will be passed back with the
9970 callback
9971
9972 @see WDI_PostAssocReq
9973 @return Result of the function call
9974*/
9975WDI_Status
9976WDI_SetRssiFilterReq
9977(
9978 WDI_SetRssiFilterReqParamsType* pwdiRssiFilterReqParams,
9979 WDI_RssiFilterCb wdiRssiFilterCb,
9980 void* pUserData
9981);
9982
9983/**
9984 @brief WDI_UpdateScanParams
9985
9986 @param pwdiUpdateScanParamsInfoType: the Update Scan Params as specified
9987 by the Device Interface
9988
9989 wdiUpdateScanParamsCb: callback for passing back the response
9990 of the Set PNO operation received from the
9991 device
9992
9993 pUserData: user data will be passed back with the
9994 callback
9995
9996 @see WDI_PostAssocReq
9997 @return Result of the function call
9998*/
9999WDI_Status
10000WDI_UpdateScanParamsReq
10001(
10002 WDI_UpdateScanParamsInfoType* pwdiUpdateScanParamsInfoType,
10003 WDI_UpdateScanParamsCb wdiUpdateScanParamsCb,
10004 void* pUserData
10005);
10006#endif // FEATURE_WLAN_SCAN_PNO
10007
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010008#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
10009/**
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010010 @brief WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010011
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010012 @param pwdiRoamScanOffloadReqParams: Start Roam Candidate Lookup Req as specified
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010013 by the Device Interface
10014
10015 wdiRoamOffloadScanCb: callback for passing back the response
10016 of the Start Roam Candidate Lookup operation received from the
10017 device
10018
10019 pUserData: user data will be passed back with the
10020 callback
10021
10022 @return Result of the function call
10023*/
10024WDI_Status
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010025WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010026(
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010027 WDI_RoamScanOffloadReqParamsType *pwdiRoamScanOffloadReqParams,
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010028 WDI_RoamOffloadScanCb wdiRoamOffloadScancb,
10029 void* pUserData
10030);
10031#endif
10032
Jeff Johnson295189b2012-06-20 16:38:30 -070010033/**
10034 @brief WDI_SetTxPerTrackingReq will be called when the upper MAC
10035 wants to set the Tx Per Tracking configurations.
10036 Upon the call of this API the WLAN DAL will pack
10037 and send a HAL Set Tx Per Tracking request message to the
10038 lower RIVA sub-system if DAL is in state STARTED.
10039
10040 In state BUSY this request will be queued. Request won't
10041 be allowed in any other state.
10042
10043 @param wdiSetTxPerTrackingConf: the Set Tx PER Tracking configurations as
10044 specified by the Device Interface
10045
10046 wdiSetTxPerTrackingCb: callback for passing back the
10047 response of the set Tx PER Tracking configurations operation received
10048 from the device
10049
10050 pUserData: user data will be passed back with the
10051 callback
10052
10053 @return Result of the function call
10054*/
10055WDI_Status
10056WDI_SetTxPerTrackingReq
10057(
10058 WDI_SetTxPerTrackingReqParamsType* pwdiSetTxPerTrackingReqParams,
10059 WDI_SetTxPerTrackingRspCb pwdiSetTxPerTrackingRspCb,
10060 void* pUserData
10061);
10062
10063/**
10064 @brief WDI_SetTmLevelReq
10065 If HW Thermal condition changed, driver should react based on new
10066 HW thermal condition.
10067
10068 @param pwdiSetTmLevelReq: New thermal condition information
10069
10070 pwdiSetTmLevelRspCb: callback
10071
10072 usrData: user data will be passed back with the
10073 callback
10074
10075 @return Result of the function call
10076*/
10077WDI_Status
10078WDI_SetTmLevelReq
10079(
10080 WDI_SetTmLevelReqType *pwdiSetTmLevelReq,
10081 WDI_SetTmLevelCb pwdiSetTmLevelRspCb,
10082 void *usrData
10083);
10084
10085#ifdef WLAN_FEATURE_PACKET_FILTERING
10086/**
10087 @brief WDI_8023MulticastListReq
10088
10089 @param pwdiRcvFltPktSetMcListReqInfo: the Set 8023 Multicast
10090 List as specified by the Device Interface
10091
10092 wdi8023MulticastListCallback: callback for passing back
10093 the response of the Set 8023 Multicast List operation
10094 received from the device
10095
10096 pUserData: user data will be passed back with the
10097 callback
10098
10099 @see WDI_PostAssocReq
10100 @return Result of the function call
10101*/
10102WDI_Status
10103WDI_8023MulticastListReq
10104(
10105 WDI_RcvFltPktSetMcListReqParamsType* pwdiRcvFltPktSetMcListReqInfo,
10106 WDI_8023MulticastListCb wdi8023MulticastListCallback,
10107 void* pUserData
10108);
10109
10110/**
10111 @brief WDI_ReceiveFilterSetFilterReq
10112
10113 @param pwdiSetRcvPktFilterReqInfo: the Set Receive Filter as
10114 specified by the Device Interface
10115
10116 wdiReceiveFilterSetFilterReqCallback: callback for
10117 passing back the response of the Set Receive Filter
10118 operation received from the device
10119
10120 pUserData: user data will be passed back with the
10121 callback
10122
10123 @see WDI_PostAssocReq
10124 @return Result of the function call
10125*/
10126WDI_Status
10127WDI_ReceiveFilterSetFilterReq
10128(
10129 WDI_SetRcvPktFilterReqParamsType* pwdiSetRcvPktFilterReqInfo,
10130 WDI_ReceiveFilterSetFilterCb wdiReceiveFilterSetFilterReqCallback,
10131 void* pUserData
10132);
10133
10134/**
10135 @brief WDI_PCFilterMatchCountReq
10136
10137 @param pwdiRcvFltPktMatchCntReqInfo: get D0 PC Filter Match
10138 Count
10139
10140 wdiPCFilterMatchCountCallback: callback for passing back
10141 the response of the D0 PC Filter Match Count operation
10142 received from the device
10143
10144 pUserData: user data will be passed back with the
10145 callback
10146
10147 @see WDI_PostAssocReq
10148 @return Result of the function call
10149*/
10150WDI_Status
10151WDI_FilterMatchCountReq
10152(
10153 WDI_RcvFltPktMatchCntReqParamsType* pwdiRcvFltPktMatchCntReqInfo,
10154 WDI_FilterMatchCountCb wdiFilterMatchCountCallback,
10155 void* pUserData
10156);
10157
10158/**
10159 @brief WDI_ReceiveFilterClearFilterReq
10160
10161 @param pwdiRcvFltPktClearReqInfo: the Clear Filter as
10162 specified by the Device Interface
10163
10164 wdiReceiveFilterClearFilterCallback: callback for
10165 passing back the response of the Clear Filter
10166 operation received from the device
10167
10168 pUserData: user data will be passed back with the
10169 callback
10170
10171 @see WDI_PostAssocReq
10172 @return Result of the function call
10173*/
10174WDI_Status
10175WDI_ReceiveFilterClearFilterReq
10176(
10177 WDI_RcvFltPktClearReqParamsType* pwdiRcvFltPktClearReqInfo,
10178 WDI_ReceiveFilterClearFilterCb wdiReceiveFilterClearFilterCallback,
10179 void* pUserData
10180);
10181#endif // WLAN_FEATURE_PACKET_FILTERING
10182
10183/**
10184 @brief WDI_HALDumpCmdReq
10185 Post HAL DUMP Command Event
10186
10187 @param halDumpCmdReqParams: Hal Dump Command Body
10188 @param halDumpCmdRspCb: callback for passing back the
10189 response
10190 @param pUserData: Client Data
10191
10192 @see
10193 @return Result of the function call
10194*/
10195WDI_Status WDI_HALDumpCmdReq(
10196 WDI_HALDumpCmdReqParamsType *halDumpCmdReqParams,
10197 WDI_HALDumpCmdRspCb halDumpCmdRspCb,
10198 void *pUserData
10199);
10200
10201
10202/**
10203 @brief WDI_SetPowerParamsReq
10204
10205 @param pwdiPowerParamsReqParams: the Set Power Params as
10206 specified by the Device Interface
10207
10208 wdiPowerParamsCb: callback for passing back the response
10209 of the Set Power Params operation received from the
10210 device
10211
10212 pUserData: user data will be passed back with the
10213 callback
10214
10215 @return Result of the function call
10216*/
10217WDI_Status
10218WDI_SetPowerParamsReq
10219(
10220 WDI_SetPowerParamsReqParamsType* pwdiPowerParamsReqParams,
10221 WDI_SetPowerParamsCb wdiPowerParamsCb,
10222 void* pUserData
10223);
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +053010224/**
10225 @brief WDI_dhcpStartInd
10226 Forward the DHCP Start event
10227
10228 @param
10229
10230 wdiDHCPInd: device mode and MAC address is passed
10231
10232 @see
10233 @return Result of the function call
10234*/
10235
10236WDI_Status
10237WDI_dhcpStartInd
10238(
10239 WDI_DHCPInd *wdiDHCPInd
10240);
10241/**
10242 @brief WDI_dhcpStopReq
10243 Forward the DHCP Stop event
10244
10245 @param
10246
10247 wdiDHCPInd: device mode and MAC address is passed
10248
10249 @see
10250 @return Result of the function call
10251*/
10252
10253WDI_Status
10254WDI_dhcpStopInd
10255(
10256 WDI_DHCPInd *wdiDHCPInd
10257);
Jeff Johnson295189b2012-06-20 16:38:30 -070010258
Chittajit Mitraf5413a42013-10-18 14:20:08 -070010259/**
10260 @brief WDI_RateUpdateInd will be called when the upper MAC
10261 requests the device to update rates.
10262
10263 In state BUSY this request will be queued. Request won't
10264 be allowed in any other state.
10265
10266
10267 @param wdiRateUpdateIndParams
10268
10269
10270 @see WDI_Start
10271 @return Result of the function call
10272*/
10273WDI_Status
10274WDI_RateUpdateInd
10275(
10276 WDI_RateUpdateIndParams *wdiRateUpdateIndParams
10277);
10278
Jeff Johnson295189b2012-06-20 16:38:30 -070010279#ifdef WLAN_FEATURE_GTK_OFFLOAD
10280/**
10281 @brief WDI_GTKOffloadReq will be called when the upper MAC
10282 wants to set GTK Rekey Counter while in power save. Upon
10283 the call of this API the WLAN DAL will pack and send a
10284 HAL GTK offload request message to the lower RIVA
10285 sub-system if DAL is in state STARTED.
10286
10287 In state BUSY this request will be queued. Request won't
10288 be allowed in any other state.
10289
10290 WDI_PostAssocReq must have been called.
10291
10292 @param pwdiGtkOffloadParams: the GTK offload as specified
10293 by the Device Interface
10294
10295 wdiGtkOffloadCb: callback for passing back the response
10296 of the GTK offload operation received from the device
10297
10298 pUserData: user data will be passed back with the
10299 callback
10300
10301 @see WDI_PostAssocReq
10302 @return Result of the function call
10303*/
10304WDI_Status
10305WDI_GTKOffloadReq
10306(
10307 WDI_GtkOffloadReqMsg* pwdiGtkOffloadReqMsg,
10308 WDI_GtkOffloadCb wdiGtkOffloadCb,
10309 void* pUserData
10310);
10311
10312/**
10313 @brief WDI_GTKOffloadGetInfoReq will be called when the upper
10314 MAC wants to get GTK Rekey Counter while in power save.
10315 Upon the call of this API the WLAN DAL will pack and
10316 send a HAL GTK offload request message to the lower RIVA
10317 sub-system if DAL is in state STARTED.
10318
10319 In state BUSY this request will be queued. Request won't
10320 be allowed in any other state.
10321
10322 WDI_PostAssocReq must have been called.
10323
10324 @param pwdiGtkOffloadGetInfoReqMsg: the GTK Offload
10325 Information Message as specified by the
10326 Device Interface
10327
10328 wdiGtkOffloadGetInfoCb: callback for passing back the
10329 response of the GTK offload operation received from the
10330 device
10331
10332 pUserData: user data will be passed back with the
10333 callback
10334
10335 @see WDI_PostAssocReq
10336 @return Result of the function call
10337*/
10338WDI_Status
10339WDI_GTKOffloadGetInfoReq
10340(
10341 WDI_GtkOffloadGetInfoReqMsg* pwdiGtkOffloadGetInfoReqMsg,
10342 WDI_GtkOffloadGetInfoCb wdiGtkOffloadGetInfoCb,
10343 void* pUserData
10344);
10345#endif // WLAN_FEATURE_GTK_OFFLOAD
10346
10347/**
10348 @brief WDI_featureCapsExchangeReq
10349 Post feature capability bitmap exchange event.
10350 Host will send its own capability to FW in this req and
10351 expect FW to send its capability back as a bitmap in Response
10352
10353 @param
10354
10355 wdiFeatCapsExcRspCb: callback called on getting the response.
10356 It is kept to mantain similarity between WDI reqs and if needed, can
10357 be used in future. Currently, It is set to NULL
10358
10359 pUserData: user data will be passed back with the
10360 callback
10361
10362 @see
10363 @return Result of the function call
10364*/
10365WDI_Status
10366WDI_featureCapsExchangeReq
10367(
10368 WDI_featureCapsExchangeCb wdiFeatureCapsExchangeCb,
10369 void* pUserData
10370);
10371
10372/**
Yathish9f22e662012-12-10 14:21:35 -080010373 @brief Disable Active mode offload in Host
10374
10375 @param void
10376 @see
10377 @return void
10378*/
10379void
10380WDI_disableCapablityFeature(wpt_uint8 feature_index);
10381
10382
10383/**
Jeff Johnson295189b2012-06-20 16:38:30 -070010384 @brief WDI_getHostWlanFeatCaps
10385 WDI API that returns whether the feature passed to it as enum value in
10386 "placeHolderInCapBitmap" is supported by Host or not. It uses WDI global
10387 variable storing host capability bitmap to find this. This can be used by
10388 other moduels to decide certain things like call different APIs based on
10389 whether a particular feature is supported.
10390
10391 @param
10392
10393 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap in wlan_hal_msg.h.
10394
10395 @see
10396 @return
10397 0 - if the feature is NOT supported in host
10398 any non-zero value - if the feature is SUPPORTED in host.
10399*/
10400wpt_uint8 WDI_getHostWlanFeatCaps(wpt_uint8 feat_enum_value);
10401
10402/**
10403 @brief WDI_getFwWlanFeatCaps
10404 WDI API that returns whether the feature passed to it as enum value in
10405 "placeHolderInCapBitmap" is supported by FW or not. It uses WDI global
10406 variable storing host capability bitmap to find this. This can be used by
10407 other moduels to decide certain things like call different APIs based on
10408 whether a particular feature is supported.
10409
10410 @param
10411
Jeff Johnsone7245742012-09-05 17:12:55 -070010412 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap
10413 in wlan_hal_msg.h.
Jeff Johnson295189b2012-06-20 16:38:30 -070010414
10415 @see
10416 @return
10417 0 - if the feature is NOT supported in FW
10418 any non-zero value - if the feature is SUPPORTED in FW.
10419*/
10420wpt_uint8 WDI_getFwWlanFeatCaps(wpt_uint8 feat_enum_value);
10421
10422/**
10423 @brief WDI_GetWcnssCompiledApiVersion - Function to get wcnss compiled
10424 api version
10425
10426 @param WDI_WlanVersionType: Wlan version structure
10427 @see
10428 @return none
10429*/
10430
10431void WDI_GetWcnssCompiledApiVersion
10432(
10433 WDI_WlanVersionType *pWcnssApiVersion
10434);
10435
Mohit Khanna4a70d262012-09-11 16:30:12 -070010436#ifdef WLAN_FEATURE_11AC
10437WDI_Status
10438WDI_UpdateVHTOpModeReq
10439(
10440 WDI_UpdateVHTOpMode *pData,
10441 WDI_UpdateVHTOpModeCb wdiUpdateVHTOpModeCb,
10442 void* pUserData
10443);
Jeff Johnson295189b2012-06-20 16:38:30 -070010444
Mohit Khanna4a70d262012-09-11 16:30:12 -070010445#endif
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070010446
10447/**
10448 @brief WDI_TransportChannelDebug -
10449 Display DXE Channel debugging information
10450 User may request to display DXE channel snapshot
10451 Or if host driver detects any abnormal stcuk may display
10452
Jeff Johnsonb88db982012-12-10 13:34:59 -080010453 @param displaySnapshot : Display DXE snapshot option
Mihir Shete40a55652014-03-02 14:14:47 +053010454 @param debugFlags : Enable stall detect features
10455 defined by WPAL_DeviceDebugFlags
10456 These features may effect
10457 data performance.
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070010458 @see
10459 @return none
10460*/
10461void WDI_TransportChannelDebug
10462(
10463 wpt_boolean displaySnapshot,
Mihir Shete40a55652014-03-02 14:14:47 +053010464 wpt_uint8 debugFlags
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070010465);
10466
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -070010467/**
10468 @brief WDI_SsrTimerCB
10469 Callback function for SSR timer, if this is called then the graceful
10470 shutdown for Riva did not happen.
10471
10472 @param pUserData : user data to timer
10473
10474 @see
10475 @return none
10476*/
10477void
10478WDI_SsrTimerCB
10479(
10480 void *pUserData
10481);
10482
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -070010483/**
10484 @brief WDI_SetEnableSSR -
10485 This API is called to enable/disable SSR on WDI timeout.
10486
10487 @param enableSSR : enable/disable SSR
10488
10489 @see
10490 @return none
10491*/
10492void WDI_SetEnableSSR(wpt_boolean enableSSR);
10493
Leo Chang9056f462013-08-01 19:21:11 -070010494#ifdef FEATURE_WLAN_LPHB
10495/**
10496 @brief WDI_LPHBConfReq
10497 This API is called to config FW LPHB rule
10498
10499 @param lphbconfParam : LPHB rule should config to FW
10500 usrData : Client context
10501 lphbCfgCb : Configuration status callback
10502 @see
10503 @return SUCCESS or FAIL
10504*/
10505WDI_Status WDI_LPHBConfReq
10506(
10507 void *lphbconfParam,
10508 void *usrData,
10509 WDI_LphbCfgCb lphbCfgCb
10510);
10511#endif /* FEATURE_WLAN_LPHB */
Rajeev79dbe4c2013-10-05 11:03:42 +053010512
10513#ifdef FEATURE_WLAN_BATCH_SCAN
10514/**
10515 @brief WDI_SetBatchScanReq
10516 This API is called to set batch scan request in FW
10517
10518 @param pBatchScanReqParam : pointer to set batch scan re param
10519 usrData : Client context
10520 setBatchScanRspCb : set batch scan resp callback
10521 @see
10522 @return SUCCESS or FAIL
10523*/
10524WDI_Status WDI_SetBatchScanReq
10525(
10526 void *pBatchScanReqParam,
10527 void *usrData,
10528 WDI_SetBatchScanCb setBatchScanRspCb
10529);
10530
10531/**
10532 @brief WDI_StopBatchScanInd
10533
10534 @param none
10535
10536 @see
10537
10538 @return Status of the request
10539*/
10540WDI_Status
10541WDI_StopBatchScanInd(WDI_StopBatchScanIndType *pWdiReq);
10542
10543/**
10544 @brief WDI_TriggerBatchScanResultInd
10545 This API is called to pull batch scan result from FW
10546
10547 @param pBatchScanReqParam : pointer to trigger batch scan ind param
10548 usrData : Client context
10549 setBatchScanRspCb : get batch scan resp callback
10550 @see
10551 @return SUCCESS or FAIL
10552*/
10553WDI_Status
10554WDI_TriggerBatchScanResultInd(WDI_TriggerBatchScanResultIndType *pWdiReq);
10555
10556
10557#endif /*FEATURE_WLAN_BATCH_SCAN*/
10558
Sandeep Puligilla8b8b74b2014-02-10 16:39:05 +053010559/**
10560 @brief wdi_HT40OBSSScanInd
10561 This API is called to start OBSS scan
10562
10563 @param pWdiReq : pointer to get ind param
10564 @see
10565 @return SUCCESS or FAIL
10566*/
10567
10568WDI_Status WDI_HT40OBSSScanInd(WDI_HT40ObssScanParamsType *pWdiReq);
10569
10570/**
10571 @brief wdi_HT40OBSSStopScanInd
10572 This API is called to stop OBSS scan
10573
10574 @param bssIdx : bssIdx to stop
10575 @see
10576 @return SUCCESS or FAIL
10577*/
10578
10579WDI_Status WDI_HT40OBSSStopScanInd(wpt_uint8 bssIdx);
10580
Jeff Johnson295189b2012-06-20 16:38:30 -070010581#ifdef __cplusplus
10582 }
10583#endif
10584
Jeff Johnson295189b2012-06-20 16:38:30 -070010585#endif /* #ifndef WLAN_QCT_WDI_H */