blob: 184c972d9c8169218c7f33de60a04c685b4d1bec [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
1338/*---------------------------------------------------------------------------
1339 WDI_JoinReqParamsType
1340---------------------------------------------------------------------------*/
1341typedef struct
1342{
1343 /*Info for the Join request that will be sent down to the device*/
1344 WDI_JoinReqInfoType wdiReqInfo;
1345
1346 /*Request status callback offered by UMAC - it is called if the current
1347 req has returned PENDING as status; it delivers the status of sending
1348 the message over the BUS */
1349 WDI_ReqStatusCb wdiReqStatusCB;
1350
1351 /*The user data passed in by UMAC, it will be sent back when the above
1352 function pointer will be called */
1353 void* pUserData;
1354}WDI_JoinReqParamsType;
1355
1356/*---------------------------------------------------------------------------
1357 WDI_BssType
1358---------------------------------------------------------------------------*/
1359typedef enum
1360{
1361 WDI_INFRASTRUCTURE_MODE,
1362 WDI_INFRA_AP_MODE, //Added for softAP support
1363 WDI_IBSS_MODE,
1364 WDI_BTAMP_STA_MODE,
1365 WDI_BTAMP_AP_MODE,
1366 WDI_BSS_AUTO_MODE,
1367}WDI_BssType;
1368
1369/*---------------------------------------------------------------------------
1370 WDI_NwType
1371---------------------------------------------------------------------------*/
1372typedef enum
1373{
1374 WDI_11A_NW_TYPE,
1375 WDI_11B_NW_TYPE,
1376 WDI_11G_NW_TYPE,
1377 WDI_11N_NW_TYPE,
1378} WDI_NwType;
1379
1380/*---------------------------------------------------------------------------
1381 WDI_ConfigAction
1382---------------------------------------------------------------------------*/
1383typedef enum
1384{
1385 WDI_ADD_BSS,
1386 WDI_UPDATE_BSS
1387} WDI_ConfigAction;
1388
1389/*---------------------------------------------------------------------------
1390 WDI_HTOperatingMode
1391---------------------------------------------------------------------------*/
1392typedef enum
1393{
1394 WDI_HT_OP_MODE_PURE,
1395 WDI_HT_OP_MODE_OVERLAP_LEGACY,
1396 WDI_HT_OP_MODE_NO_LEGACY_20MHZ_HT,
1397 WDI_HT_OP_MODE_MIXED
1398
1399} WDI_HTOperatingMode;
1400
1401
1402/*---------------------------------------------------------------------------
1403 WDI_STAEntryType
1404---------------------------------------------------------------------------*/
1405typedef enum
1406{
1407 WDI_STA_ENTRY_SELF,
1408 WDI_STA_ENTRY_PEER,
1409 WDI_STA_ENTRY_BSSID,
Mohit Khanna698ba2a2012-12-04 15:08:18 -08001410 WDI_STA_ENTRY_BCAST,
1411#ifdef FEATURE_WLAN_TDLS
1412 WDI_STA_ENTRY_TDLS_PEER,
1413#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001414}WDI_STAEntryType;
1415
1416/*---------------------------------------------------------------------------
1417 WDI_ConfigActionType
1418---------------------------------------------------------------------------*/
1419typedef enum
1420{
1421 WDI_ADD_STA,
1422 WDI_UPDATE_STA
1423} WDI_ConfigActionType;
1424
1425/*----------------------------------------------------------------------------
1426 Each station added has a rate mode which specifies the sta attributes
1427 ----------------------------------------------------------------------------*/
1428typedef enum
1429{
1430 WDI_RESERVED_1 = 0,
1431 WDI_RESERVED_2,
1432 WDI_RESERVED_3,
1433 WDI_11b,
1434 WDI_11bg,
1435 WDI_11a,
1436 WDI_11n,
1437} WDI_RateModeType;
1438
1439/*---------------------------------------------------------------------------
1440 WDI_SupportedRatesType
1441---------------------------------------------------------------------------*/
1442typedef struct
1443{
1444 /*
1445 * For Self STA Entry: this represents Self Mode.
1446 * For Peer Stations, this represents the mode of the peer.
1447 * On Station:
1448 * --this mode is updated when PE adds the Self Entry.
1449 * -- OR when PE sends 'ADD_BSS' message and station context in BSS is used to indicate the mode of the AP.
1450 * ON AP:
1451 * -- this mode is updated when PE sends 'ADD_BSS' and Sta entry for that BSS is used
1452 * to indicate the self mode of the AP.
1453 * -- OR when a station is associated, PE sends 'ADD_STA' message with this mode updated.
1454 */
1455
1456 WDI_RateModeType opRateMode;
1457
1458 /* 11b, 11a and aniLegacyRates are IE rates which gives rate in unit of 500Kbps */
1459 wpt_uint16 llbRates[WDI_NUM_11B_RATES];
1460 wpt_uint16 llaRates[WDI_NUM_11A_RATES];
1461 wpt_uint16 aLegacyRates[WDI_NUM_POLARIS_RATES];
1462
1463 /*Taurus only supports 26 Titan Rates(no ESF/concat Rates will be supported)
1464 First 26 bits are reserved for those Titan rates and
1465 the last 4 bits(bit28-31) for Taurus, 2(bit26-27) bits are reserved.*/
1466 wpt_uint32 uEnhancedRateBitmap; //Titan and Taurus Rates
1467
1468 /*
1469 * 0-76 bits used, remaining reserved
1470 * bits 0-15 and 32 should be set.
1471 */
1472 wpt_uint8 aSupportedMCSSet[WDI_MAC_MAX_SUPPORTED_MCS_SET];
1473
1474 /*
1475 * RX Highest Supported Data Rate defines the highest data
1476 * rate that the STA is able to receive, in unites of 1Mbps.
1477 * This value is derived from "Supported MCS Set field" inside
1478 * the HT capability element.
1479 */
1480 wpt_uint16 aRxHighestDataRate;
1481
Jeff Johnsone7245742012-09-05 17:12:55 -07001482
1483#ifdef WLAN_FEATURE_11AC
1484 /*Indicates the Maximum MCS that can be received for each number
1485 of spacial streams */
1486 wpt_uint16 vhtRxMCSMap;
1487 /*Indicate the highest VHT data rate that the STA is able to receive*/
1488 wpt_uint16 vhtRxHighestDataRate;
1489 /*Indicates the Maximum MCS that can be transmitted for each number
1490 of spacial streams */
1491 wpt_uint16 vhtTxMCSMap;
1492 /*Indicate the highest VHT data rate that the STA is able to transmit*/
1493 wpt_uint16 vhtTxHighestDataRate;
1494#endif
1495
Jeff Johnson295189b2012-06-20 16:38:30 -07001496} WDI_SupportedRates;
1497
1498/*--------------------------------------------------------------------------
1499 WDI_HTMIMOPowerSaveState
1500 Spatial Multiplexing(SM) Power Save mode
1501 --------------------------------------------------------------------------*/
1502typedef enum
1503{
1504 WDI_HT_MIMO_PS_STATIC = 0, // Static SM Power Save mode
1505 WDI_HT_MIMO_PS_DYNAMIC = 1, // Dynamic SM Power Save mode
1506 WDI_HT_MIMO_PS_NA = 2, // reserved
1507 WDI_HT_MIMO_PS_NO_LIMIT = 3, // SM Power Save disabled
1508} WDI_HTMIMOPowerSaveState;
1509
1510/*---------------------------------------------------------------------------
1511 WDI_ConfigStaReqInfoType
1512---------------------------------------------------------------------------*/
1513typedef struct
1514{
1515 /*BSSID of STA*/
1516 wpt_macAddr macBSSID;
1517
1518 /*ASSOC ID, as assigned by UMAC*/
1519 wpt_uint16 usAssocId;
1520
1521 /*Used for configuration of different HW modules.*/
1522 WDI_STAEntryType wdiSTAType;
1523
Gopichand Nakkalae7cbc5d2013-03-27 21:09:23 -07001524 /*STA Index */
1525 wpt_uint8 staIdx;
1526
Jeff Johnson295189b2012-06-20 16:38:30 -07001527 /*Short Preamble Supported.*/
1528 wpt_uint8 ucShortPreambleSupported;
1529
1530 /*MAC Address of STA*/
1531 wpt_macAddr macSTA;
1532
1533 /*Listen interval of the STA*/
1534 wpt_uint16 usListenInterval;
1535
1536 /*Support for 11e/WMM*/
1537 wpt_uint8 ucWMMEnabled;
1538
1539 /*11n HT capable STA*/
1540 wpt_uint8 ucHTCapable;
1541
1542 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
1543 wpt_uint8 ucTXChannelWidthSet;
1544
1545 /*RIFS mode 0 - NA, 1 - Allowed*/
1546 wpt_uint8 ucRIFSMode;
1547
1548 /*L-SIG TXOP Protection mechanism
1549 0 - No Support, 1 - Supported
1550 SG - there is global field*/
1551 wpt_uint8 ucLSIGTxopProtection;
1552
1553 /*Max Ampdu Size supported by STA. Device programming.
1554 0 : 8k , 1 : 16k, 2 : 32k, 3 : 64k */
1555 wpt_uint8 ucMaxAmpduSize;
1556
1557 /*Max Ampdu density. Used by RA. 3 : 0~7 : 2^(11nAMPDUdensity -4)*/
1558 wpt_uint8 ucMaxAmpduDensity;
1559
1560 /*Max AMSDU size 1 : 3839 bytes, 0 : 7935 bytes*/
1561 wpt_uint8 ucMaxAmsduSize;
1562
1563 /*Short GI support for 40Mhz packets*/
1564 wpt_uint8 ucShortGI40Mhz;
1565
1566 /*Short GI support for 20Mhz packets*/
1567 wpt_uint8 ucShortGI20Mhz;
1568
1569 /*These rates are the intersection of peer and self capabilities.*/
1570 WDI_SupportedRates wdiSupportedRates;
1571
1572 /*Robust Management Frame (RMF) enabled/disabled*/
1573 wpt_uint8 ucRMFEnabled;
1574
1575 /* The unicast encryption type in the association */
1576 wpt_uint32 ucEncryptType;
1577
1578 /*HAL should update the existing STA entry, if this flag is set. UMAC
1579 will set this flag in case of RE-ASSOC, where we want to reuse the old
1580 STA ID.*/
1581 WDI_ConfigActionType wdiAction;
1582
1583 /*U-APSD Flags: 1b per AC. Encoded as follows:
1584 b7 b6 b5 b4 b3 b2 b1 b0 =
1585 X X X X BE BK VI VO
1586 */
1587 wpt_uint8 ucAPSD;
1588
1589 /*Max SP Length*/
1590 wpt_uint8 ucMaxSPLen;
1591
1592 /*11n Green Field preamble support*/
1593 wpt_uint8 ucGreenFieldCapable;
1594
1595 /*MIMO Power Save mode*/
1596 WDI_HTMIMOPowerSaveState wdiMIMOPS;
1597
1598 /*Delayed BA Support*/
1599 wpt_uint8 ucDelayedBASupport;
1600
1601 /*Max AMPDU duration in 32us*/
1602 wpt_uint8 us32MaxAmpduDuratio;
1603
1604 /*HT STA should set it to 1 if it is enabled in BSS
1605 HT STA should set it to 0 if AP does not support it. This indication is
1606 sent to HAL and HAL uses this flag to pickup up appropriate 40Mhz rates.
1607 */
1608 wpt_uint8 ucDsssCckMode40Mhz;
1609
1610 wpt_uint8 ucP2pCapableSta;
Jeff Johnsone7245742012-09-05 17:12:55 -07001611#ifdef WLAN_FEATURE_11AC
1612 wpt_uint8 ucVhtCapableSta;
1613 wpt_uint8 ucVhtTxChannelWidthSet;
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08001614 wpt_uint8 ucVhtTxBFEnabled;
Jeff Johnsone7245742012-09-05 17:12:55 -07001615#endif
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08001616
1617 wpt_uint8 ucHtLdpcEnabled;
1618 wpt_uint8 ucVhtLdpcEnabled;
Jeff Johnson295189b2012-06-20 16:38:30 -07001619}WDI_ConfigStaReqInfoType;
1620
1621
1622/*---------------------------------------------------------------------------
1623 WDI_RateSet
1624
1625 12 Bytes long because this structure can be used to represent rate
1626 and extended rate set IEs
1627 The parser assume this to be at least 12
1628---------------------------------------------------------------------------*/
1629#define WDI_RATESET_EID_MAX 12
1630
1631typedef struct
1632{
1633 wpt_uint8 ucNumRates;
1634 wpt_uint8 aRates[WDI_RATESET_EID_MAX];
1635} WDI_RateSet;
1636
1637/*---------------------------------------------------------------------------
1638 WDI_AciAifsnType
1639 access category record
1640---------------------------------------------------------------------------*/
1641typedef struct
1642{
1643 wpt_uint8 rsvd : 1;
1644 wpt_uint8 aci : 2;
1645 wpt_uint8 acm : 1;
1646 wpt_uint8 aifsn : 4;
1647} WDI_AciAifsnType;
1648
1649/*---------------------------------------------------------------------------
1650 WDI_CWType
1651 contention window size
1652---------------------------------------------------------------------------*/
1653typedef struct
1654{
1655 wpt_uint8 max : 4;
1656 wpt_uint8 min : 4;
1657} WDI_CWType;
1658
1659/*---------------------------------------------------------------------------
1660 WDI_EdcaParamRecord
1661---------------------------------------------------------------------------*/
1662typedef struct
1663{
1664 /*Access Category Record*/
1665 WDI_AciAifsnType wdiACI;
1666
1667 /*Contention WIndow Size*/
1668 WDI_CWType wdiCW;
1669
1670 /*TX Oportunity Limit*/
1671 wpt_uint16 usTXOPLimit;
1672} WDI_EdcaParamRecord;
1673
1674/*---------------------------------------------------------------------------
1675 WDI_EDCAParamsType
1676---------------------------------------------------------------------------*/
1677typedef struct
1678{
1679 /*BSS Index*/
1680 wpt_uint8 ucBSSIdx;
1681
1682 /*?*/
1683 wpt_boolean bHighPerformance;
1684
1685 /*Best Effort*/
1686 WDI_EdcaParamRecord wdiACBE;
1687
1688 /*Background*/
1689 WDI_EdcaParamRecord wdiACBK;
1690
1691 /*Video*/
1692 WDI_EdcaParamRecord wdiACVI;
1693
1694 /*Voice*/
1695 WDI_EdcaParamRecord acvo; // voice
1696} WDI_EDCAParamsType;
1697
1698/* operMode in ADD BSS message */
1699#define WDI_BSS_OPERATIONAL_MODE_AP 0
1700#define WDI_BSS_OPERATIONAL_MODE_STA 1
1701
1702/*---------------------------------------------------------------------------
1703 WDI_ConfigBSSRspParamsType
1704---------------------------------------------------------------------------*/
1705typedef struct
1706{
1707 /*Status of the response*/
1708 WDI_Status wdiStatus;
1709
1710 /*BSSID of the BSS*/
1711 wpt_macAddr macBSSID;
1712
1713 /*BSS Index*/
1714 wpt_uint8 ucBSSIdx;
1715
1716 /*Unicast DPU signature*/
1717 wpt_uint8 ucUcastSig;
1718
1719 /*Broadcast DPU Signature*/
1720 wpt_uint8 ucBcastSig;
1721
1722 /*MAC Address of STA*/
1723 wpt_macAddr macSTA;
1724
1725 /*BSS STA ID*/
1726 wpt_uint8 ucSTAIdx;
1727
1728#ifdef WLAN_FEATURE_VOWIFI
1729 /*HAL fills in the tx power used for mgmt frames in this field */
1730 wpt_int8 ucTxMgmtPower;
1731#endif
1732
1733}WDI_ConfigBSSRspParamsType;
1734
1735/*---------------------------------------------------------------------------
1736 WDI_DelBSSReqParamsType
1737---------------------------------------------------------------------------*/
1738typedef struct
1739{
1740 /*BSS Index of the BSS*/
1741 wpt_uint8 ucBssIdx;
1742
1743 /*Request status callback offered by UMAC - it is called if the current
1744 req has returned PENDING as status; it delivers the status of sending
1745 the message over the BUS */
1746 WDI_ReqStatusCb wdiReqStatusCB;
1747
1748 /*The user data passed in by UMAC, it will be sent back when the above
1749 function pointer will be called */
1750 void* pUserData;
1751}WDI_DelBSSReqParamsType;
1752
1753/*---------------------------------------------------------------------------
1754 WDI_DelBSSRspParamsType
1755---------------------------------------------------------------------------*/
1756typedef struct
1757{
1758 /*Status of the response*/
1759 WDI_Status wdiStatus;
1760
1761 /*BSSID of the BSS*/
1762 wpt_macAddr macBSSID;
1763
1764 wpt_uint8 ucBssIdx;
1765
1766}WDI_DelBSSRspParamsType;
1767
1768/*---------------------------------------------------------------------------
1769 WDI_ConfigSTARspParamsType
1770---------------------------------------------------------------------------*/
1771typedef struct
1772{
1773 /*Status of the response*/
1774 WDI_Status wdiStatus;
1775
1776 /*STA Idx allocated by HAL*/
1777 wpt_uint8 ucSTAIdx;
1778
1779 /*MAC Address of STA*/
1780 wpt_macAddr macSTA;
1781
1782 /* BSSID Index of BSS to which the station is associated */
1783 wpt_uint8 ucBssIdx;
1784
1785 /* DPU Index - PTK */
1786 wpt_uint8 ucDpuIndex;
1787
1788 /* Bcast DPU Index - GTK */
1789 wpt_uint8 ucBcastDpuIndex;
1790
1791 /* Management DPU Index - IGTK - Why is it called bcastMgmtDpuIdx? */
1792 wpt_uint8 ucBcastMgmtDpuIdx;
1793
1794 /*Unicast DPU signature*/
1795 wpt_uint8 ucUcastSig;
1796
1797 /*Broadcast DPU Signature*/
1798 wpt_uint8 ucBcastSig;
1799
1800 /* IGTK DPU signature*/
1801 wpt_uint8 ucMgmtSig;
1802
1803}WDI_ConfigSTARspParamsType;
1804
1805/*---------------------------------------------------------------------------
1806 WDI_PostAssocRspParamsType
1807---------------------------------------------------------------------------*/
1808typedef struct
1809{
1810 /*Status of the response*/
1811 WDI_Status wdiStatus;
1812
1813 /*Parameters related to the BSS*/
1814 WDI_ConfigBSSRspParamsType bssParams;
1815
1816 /*Parameters related to the self STA*/
1817 WDI_ConfigSTARspParamsType staParams;
1818
1819}WDI_PostAssocRspParamsType;
1820
1821/*---------------------------------------------------------------------------
1822 WDI_DelSTAReqParamsType
1823---------------------------------------------------------------------------*/
1824typedef struct
1825{
1826 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
1827 wpt_uint8 ucSTAIdx;
1828
1829 /*Request status callback offered by UMAC - it is called if the current
1830 req has returned PENDING as status; it delivers the status of sending
1831 the message over the BUS */
1832 WDI_ReqStatusCb wdiReqStatusCB;
1833
1834 /*The user data passed in by UMAC, it will be sent back when the above
1835 function pointer will be called */
1836 void* pUserData;
1837}WDI_DelSTAReqParamsType;
1838
1839/*---------------------------------------------------------------------------
1840 WDI_DelSTARspParamsType
1841---------------------------------------------------------------------------*/
1842typedef struct
1843{
1844 /*Status of the response*/
1845 WDI_Status wdiStatus;
1846
1847 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
1848 wpt_uint8 ucSTAIdx;
1849}WDI_DelSTARspParamsType;
1850
1851/*---------------------------------------------------------------------------
1852 WDI_EncryptType
1853---------------------------------------------------------------------------*/
1854typedef enum
1855{
1856 WDI_ENCR_NONE,
1857 WDI_ENCR_WEP40,
1858 WDI_ENCR_WEP104,
1859 WDI_ENCR_TKIP,
1860 WDI_ENCR_CCMP,
1861#if defined(FEATURE_WLAN_WAPI)
1862 WDI_ENCR_WPI,
1863#endif
1864 WDI_ENCR_AES_128_CMAC
1865} WDI_EncryptType;
1866
1867/*---------------------------------------------------------------------------
1868 WDI_KeyDirectionType
1869---------------------------------------------------------------------------*/
1870typedef enum
1871{
1872 WDI_TX_ONLY,
1873 WDI_RX_ONLY,
1874 WDI_TX_RX,
Jeff Johnson295189b2012-06-20 16:38:30 -07001875 WDI_TX_DEFAULT,
Jeff Johnson295189b2012-06-20 16:38:30 -07001876 WDI_DONOT_USE_KEY_DIRECTION
1877} WDI_KeyDirectionType;
1878
1879#define WDI_MAX_ENCR_KEYS 4
1880#define WDI_MAX_KEY_LENGTH 32
1881#if defined(FEATURE_WLAN_WAPI)
1882#define WDI_MAX_KEY_RSC_LEN 16
1883#define WDI_WAPI_KEY_RSC_LEN 16
1884#else
1885#define WDI_MAX_KEY_RSC_LEN 8
1886#endif
1887
1888typedef struct
1889{
1890 /* Key ID */
1891 wpt_uint8 keyId;
1892 /* 0 for multicast */
1893 wpt_uint8 unicast;
1894 /* Key Direction */
1895 WDI_KeyDirectionType keyDirection;
1896 /* Usage is unknown */
1897 wpt_uint8 keyRsc[WDI_MAX_KEY_RSC_LEN];
1898 /* =1 for authenticator, =0 for supplicant */
1899 wpt_uint8 paeRole;
1900 wpt_uint16 keyLength;
1901 wpt_uint8 key[WDI_MAX_KEY_LENGTH];
1902
1903}WDI_KeysType;
1904
1905/*---------------------------------------------------------------------------
1906 WDI_SetBSSKeyReqInfoType
1907---------------------------------------------------------------------------*/
1908typedef struct
1909{
1910 /*BSS Index of the BSS*/
1911 wpt_uint8 ucBssIdx;
1912
1913 /*Encryption Type used with peer*/
1914 WDI_EncryptType wdiEncType;
1915
1916 /*Number of keys*/
1917 wpt_uint8 ucNumKeys;
1918
1919 /*Array of keys.*/
1920 WDI_KeysType aKeys[WDI_MAX_ENCR_KEYS];
1921
1922 /*Control for Replay Count, 1= Single TID based replay count on Tx
1923 0 = Per TID based replay count on TX */
1924 wpt_uint8 ucSingleTidRc;
1925}WDI_SetBSSKeyReqInfoType;
1926
1927/*---------------------------------------------------------------------------
1928 WDI_SetBSSKeyReqParamsType
1929---------------------------------------------------------------------------*/
1930typedef struct
1931{
1932 /*Key Info */
1933 WDI_SetBSSKeyReqInfoType wdiBSSKeyInfo;
1934
1935 /*Request status callback offered by UMAC - it is called if the current
1936 req has returned PENDING as status; it delivers the status of sending
1937 the message over the BUS */
1938 WDI_ReqStatusCb wdiReqStatusCB;
1939
1940 /*The user data passed in by UMAC, it will be sent back when the above
1941 function pointer will be called */
1942 void* pUserData;
1943}WDI_SetBSSKeyReqParamsType;
1944
1945/*---------------------------------------------------------------------------
1946 WDI_WepType
1947---------------------------------------------------------------------------*/
1948typedef enum
1949{
1950 WDI_WEP_STATIC,
1951 WDI_WEP_DYNAMIC
1952
1953} WDI_WepType;
1954
1955/*---------------------------------------------------------------------------
1956 WDI_RemoveBSSKeyReqInfoType
1957---------------------------------------------------------------------------*/
1958typedef struct
1959{
1960 /*BSS Index of the BSS*/
1961 wpt_uint8 ucBssIdx;
1962
1963 /*Encryption Type used with peer*/
1964 WDI_EncryptType wdiEncType;
1965
1966 /*Key Id*/
1967 wpt_uint8 ucKeyId;
1968
1969 /*STATIC/DYNAMIC. Used in Nullifying in Key Descriptors for Static/Dynamic
1970 keys*/
1971 WDI_WepType wdiWEPType;
1972}WDI_RemoveBSSKeyReqInfoType;
1973
1974/*---------------------------------------------------------------------------
1975 WDI_RemoveBSSKeyReqParamsType
1976---------------------------------------------------------------------------*/
1977typedef struct
1978{
1979 /*Key Info */
1980 WDI_RemoveBSSKeyReqInfoType wdiKeyInfo;
1981
1982 /*Request status callback offered by UMAC - it is called if the current
1983 req has returned PENDING as status; it delivers the status of sending
1984 the message over the BUS */
1985 WDI_ReqStatusCb wdiReqStatusCB;
1986
1987 /*The user data passed in by UMAC, it will be sent back when the above
1988 function pointer will be called */
1989 void* pUserData;
1990}WDI_RemoveBSSKeyReqParamsType;
1991
1992/*---------------------------------------------------------------------------
1993 WDI_SetSTAKeyReqInfoType
1994---------------------------------------------------------------------------*/
1995typedef struct
1996{
1997 /*STA Index*/
1998 wpt_uint8 ucSTAIdx;
1999
2000 /*Encryption Type used with peer*/
2001 WDI_EncryptType wdiEncType;
2002
2003 /*STATIC/DYNAMIC*/
2004 WDI_WepType wdiWEPType;
2005
2006 /*Default WEP key, valid only for static WEP, must between 0 and 3.*/
2007 wpt_uint8 ucDefWEPIdx;
2008
2009 /*Number of keys*/
2010 wpt_uint8 ucNumKeys;
2011
2012 /*Array of keys.*/
2013 WDI_KeysType wdiKey[WDI_MAX_ENCR_KEYS];
2014
2015 /*Control for Replay Count, 1= Single TID based replay count on Tx
2016 0 = Per TID based replay count on TX */
2017 wpt_uint8 ucSingleTidRc;
2018}WDI_SetSTAKeyReqInfoType;
2019
2020/*---------------------------------------------------------------------------
2021 WDI_ConfigBSSReqInfoType
2022---------------------------------------------------------------------------*/
2023typedef struct
2024{
2025 /*Peer BSSID*/
2026 wpt_macAddr macBSSID;
2027
2028 /*Self MAC Address*/
2029 wpt_macAddr macSelfAddr;
2030
2031 /*BSS Type*/
2032 WDI_BssType wdiBSSType;
2033
2034 /*Operational Mode: AP =0, STA = 1*/
2035 wpt_uint8 ucOperMode;
2036
2037 /*Network Type*/
2038 WDI_NwType wdiNWType;
2039
2040 /*Used to classify PURE_11G/11G_MIXED to program MTU*/
2041 wpt_uint8 ucShortSlotTimeSupported;
2042
2043 /*Co-exist with 11a STA*/
2044 wpt_uint8 ucllaCoexist;
2045
2046 /*Co-exist with 11b STA*/
2047 wpt_uint8 ucllbCoexist;
2048
2049 /*Co-exist with 11g STA*/
2050 wpt_uint8 ucllgCoexist;
2051
2052 /*Coexistence with 11n STA*/
2053 wpt_uint8 ucHT20Coexist;
2054
2055 /*Non GF coexist flag*/
2056 wpt_uint8 ucllnNonGFCoexist;
2057
2058 /*TXOP protection support*/
2059 wpt_uint8 ucTXOPProtectionFullSupport;
2060
2061 /*RIFS mode*/
2062 wpt_uint8 ucRIFSMode;
2063
2064 /*Beacon Interval in TU*/
2065 wpt_uint16 usBeaconInterval;
2066
2067 /*DTIM period*/
2068 wpt_uint8 ucDTIMPeriod;
2069
2070 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
2071 wpt_uint8 ucTXChannelWidthSet;
2072
2073 /*Operating channel*/
2074 wpt_uint8 ucCurrentOperChannel;
2075
2076 /*Extension channel for channel bonding*/
2077 wpt_uint8 ucCurrentExtChannel;
2078
2079 /*Context of the station being added in HW.*/
2080 WDI_ConfigStaReqInfoType wdiSTAContext;
2081
2082 /*SSID of the BSS*/
2083 WDI_MacSSid wdiSSID;
2084
2085 /*HAL should update the existing BSS entry, if this flag is set. UMAC will
2086 set this flag in case of RE-ASSOC, where we want to reuse the old BSSID*/
2087 WDI_ConfigAction wdiAction;
2088
2089 /*Basic Rate Set*/
2090 WDI_RateSet wdiRateSet;
2091
2092 /*Enable/Disable HT capabilities of the BSS*/
2093 wpt_uint8 ucHTCapable;
2094
2095 /* Enable/Disable OBSS protection */
2096 wpt_uint8 ucObssProtEnabled;
2097
2098 /*RMF enabled/disabled*/
2099 wpt_uint8 ucRMFEnabled;
2100
2101 /*Determines the current HT Operating Mode operating mode of the
2102 802.11n STA*/
2103 WDI_HTOperatingMode wdiHTOperMod;
2104
2105 /*Dual CTS Protection: 0 - Unused, 1 - Used*/
2106 wpt_uint8 ucDualCTSProtection;
2107
2108 /* Probe Response Max retries */
2109 wpt_uint8 ucMaxProbeRespRetryLimit;
2110
2111 /* To Enable Hidden ssid */
2112 wpt_uint8 bHiddenSSIDEn;
2113
2114 /* To Enable Disable FW Proxy Probe Resp */
2115 wpt_uint8 bProxyProbeRespEn;
2116
2117 /* Boolean to indicate if EDCA params are valid. UMAC might not have valid
2118 EDCA params or might not desire to apply EDCA params during config BSS.
2119 0 implies Not Valid ; Non-Zero implies valid*/
2120 wpt_uint8 ucEDCAParamsValid;
2121
2122 /*EDCA Parameters for BK*/
2123 WDI_EdcaParamRecord wdiBKEDCAParams;
2124
2125 /*EDCA Parameters for BE*/
2126 WDI_EdcaParamRecord wdiBEEDCAParams;
2127
2128 /*EDCA Parameters for VI*/
2129 WDI_EdcaParamRecord wdiVIEDCAParams;
2130
2131 /*EDCA Parameters for VO*/
2132 WDI_EdcaParamRecord wdiVOEDCAParams;
2133
2134#ifdef WLAN_FEATURE_VOWIFI
2135 /*max power to be used after applying the power constraint, if any */
2136 wpt_int8 cMaxTxPower;
2137#endif
2138
2139 /* Persona for the BSS can be STA,AP,GO,CLIENT, same as Connection Mode */
2140 wpt_uint8 ucPersona;
2141
2142 /* Spectrum Mangement Indicator */
2143 wpt_uint8 bSpectrumMgtEn;
2144
2145#ifdef WLAN_FEATURE_VOWIFI_11R
2146 wpt_uint8 bExtSetStaKeyParamValid;
2147 WDI_SetSTAKeyReqInfoType wdiExtSetKeyParam;
2148#endif
2149
Jeff Johnsone7245742012-09-05 17:12:55 -07002150#ifdef WLAN_FEATURE_11AC
2151 wpt_uint8 ucVhtCapableSta;
2152 wpt_uint8 ucVhtTxChannelWidthSet;
2153#endif
2154
Jeff Johnson295189b2012-06-20 16:38:30 -07002155}WDI_ConfigBSSReqInfoType;
2156
2157/*---------------------------------------------------------------------------
2158 WDI_PostAssocReqParamsType
2159---------------------------------------------------------------------------*/
2160typedef struct
2161{
2162 /*Config STA arguments.*/
2163 WDI_ConfigStaReqInfoType wdiSTAParams;
2164
2165 /*Config BSS Arguments*/
2166 WDI_ConfigBSSReqInfoType wdiBSSParams;
2167
2168 /*Request status callback offered by UMAC - it is called if the current
2169 req has returned PENDING as status; it delivers the status of sending
2170 the message over the BUS */
2171 WDI_ReqStatusCb wdiReqStatusCB;
2172
2173 /*The user data passed in by UMAC, it will be sent back when the above
2174 function pointer will be called */
2175 void* pUserData;
2176}WDI_PostAssocReqParamsType;
2177
2178/*---------------------------------------------------------------------------
2179 WDI_ConfigBSSReqParamsType
2180---------------------------------------------------------------------------*/
2181typedef struct
2182{
2183 /*Info for the Join request that will be sent down to the device*/
2184 WDI_ConfigBSSReqInfoType wdiReqInfo;
2185
2186 /*Request status callback offered by UMAC - it is called if the current
2187 req has returned PENDING as status; it delivers the status of sending
2188 the message over the BUS */
2189 WDI_ReqStatusCb wdiReqStatusCB;
2190
2191 /*The user data passed in by UMAC, it will be sent back when the above
2192 function pointer will be called */
2193 void* pUserData;
2194}WDI_ConfigBSSReqParamsType;
2195
2196/*---------------------------------------------------------------------------
2197 WDI_SetSTAKeyReqParamsType
2198---------------------------------------------------------------------------*/
2199typedef struct
2200{
2201 /*Key Info*/
2202 WDI_SetSTAKeyReqInfoType wdiKeyInfo;
2203
2204 /*Request status callback offered by UMAC - it is called if the current
2205 req has returned PENDING as status; it delivers the status of sending
2206 the message over the BUS */
2207 WDI_ReqStatusCb wdiReqStatusCB;
2208
2209 /*The user data passed in by UMAC, it will be sent back when the above
2210 function pointer will be called */
2211 void* pUserData;
2212}WDI_SetSTAKeyReqParamsType;
2213
2214/*---------------------------------------------------------------------------
2215 WDI_RemoveSTAKeyReqInfoType
2216---------------------------------------------------------------------------*/
2217typedef struct
2218{
2219 /*STA Index*/
2220 wpt_uint8 ucSTAIdx;
2221
2222 /*Encryption Type used with peer*/
2223 WDI_EncryptType wdiEncType;
2224
2225 /*Key Id*/
2226 wpt_uint8 ucKeyId;
2227
2228 /*Whether to invalidate the Broadcast key or Unicast key. In case of WEP,
2229 the same key is used for both broadcast and unicast.*/
2230 wpt_uint8 ucUnicast;
2231}WDI_RemoveSTAKeyReqInfoType;
2232
2233/*---------------------------------------------------------------------------
2234 WDI_RemoveSTAKeyReqParamsType
2235---------------------------------------------------------------------------*/
2236typedef struct
2237{
2238 /*Key Info */
2239 WDI_RemoveSTAKeyReqInfoType wdiKeyInfo;
2240
2241 /*Request status callback offered by UMAC - it is called if the current
2242 req has returned PENDING as status; it delivers the status of sending
2243 the message over the BUS */
2244 WDI_ReqStatusCb wdiReqStatusCB;
2245
2246 /*The user data passed in by UMAC, it will be sent back when the above
2247 function pointer will be called */
2248 void* pUserData;
2249}WDI_RemoveSTAKeyReqParamsType;
2250
2251/*---------------------------------------------------------------------------
2252 QOS Parameters
2253---------------------------------------------------------------------------*/
2254
2255/*---------------------------------------------------------------------------
2256 WDI_TSInfoTfc
2257---------------------------------------------------------------------------*/
2258typedef struct
2259{
2260 wpt_uint16 ackPolicy:2;
2261 wpt_uint16 userPrio:3;
2262 wpt_uint16 psb:1;
2263 wpt_uint16 aggregation : 1;
2264 wpt_uint16 accessPolicy : 2;
2265 wpt_uint16 direction : 2;
2266 wpt_uint16 tsid : 4;
2267 wpt_uint16 trafficType : 1;
2268} WDI_TSInfoTfc;
2269
2270/*---------------------------------------------------------------------------
2271 WDI_TSInfoSch
2272---------------------------------------------------------------------------*/
2273typedef struct
2274{
2275 wpt_uint8 rsvd : 7;
2276 wpt_uint8 schedule : 1;
2277} WDI_TSInfoSch;
2278
2279/*---------------------------------------------------------------------------
2280 WDI_TSInfoType
2281---------------------------------------------------------------------------*/
2282typedef struct
2283{
2284 WDI_TSInfoTfc wdiTraffic;
2285 WDI_TSInfoSch wdiSchedule;
2286} WDI_TSInfoType;
2287
2288/*---------------------------------------------------------------------------
2289 WDI_TspecIEType
2290---------------------------------------------------------------------------*/
2291typedef struct
2292{
2293 wpt_uint8 ucType;
2294 wpt_uint8 ucLength;
2295 WDI_TSInfoType wdiTSinfo;
2296 wpt_uint16 usNomMsduSz;
2297 wpt_uint16 usMaxMsduSz;
2298 wpt_uint32 uMinSvcInterval;
2299 wpt_uint32 uMaxSvcInterval;
2300 wpt_uint32 uInactInterval;
2301 wpt_uint32 uSuspendInterval;
2302 wpt_uint32 uSvcStartTime;
2303 wpt_uint32 uMinDataRate;
2304 wpt_uint32 uMeanDataRate;
2305 wpt_uint32 uPeakDataRate;
2306 wpt_uint32 uMaxBurstSz;
2307 wpt_uint32 uDelayBound;
2308 wpt_uint32 uMinPhyRate;
2309 wpt_uint16 usSurplusBw;
2310 wpt_uint16 usMediumTime;
2311}WDI_TspecIEType;
2312
2313/*---------------------------------------------------------------------------
2314 WDI_AddTSReqInfoType
2315---------------------------------------------------------------------------*/
2316typedef struct
2317{
2318 /*STA Index*/
2319 wpt_uint8 ucSTAIdx;
2320
2321 /*Identifier for TSpec*/
2322 wpt_uint16 ucTspecIdx;
2323
2324 /*Tspec IE negotiated OTA*/
2325 WDI_TspecIEType wdiTspecIE;
2326
2327 /*UAPSD delivery and trigger enabled flags */
2328 wpt_uint8 ucUapsdFlags;
2329
2330 /*SI for each AC*/
2331 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
2332
2333 /*Suspend Interval for each AC*/
2334 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
2335
2336 /*DI for each AC*/
2337 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
2338
2339}WDI_AddTSReqInfoType;
2340
2341
2342/*---------------------------------------------------------------------------
2343 WDI_AddTSReqParamsType
2344---------------------------------------------------------------------------*/
2345typedef struct
2346{
2347 /*TSpec Info */
2348 WDI_AddTSReqInfoType wdiTsInfo;
2349
2350 /*Request status callback offered by UMAC - it is called if the current
2351 req has returned PENDING as status; it delivers the status of sending
2352 the message over the BUS */
2353 WDI_ReqStatusCb wdiReqStatusCB;
2354
2355 /*The user data passed in by UMAC, it will be sent back when the above
2356 function pointer will be called */
2357 void* pUserData;
2358}WDI_AddTSReqParamsType;
2359
2360/*---------------------------------------------------------------------------
2361 WDI_DelTSReqInfoType
2362---------------------------------------------------------------------------*/
2363typedef struct
2364{
2365 /*STA Index*/
2366 wpt_uint8 ucSTAIdx;
2367
2368 /*Identifier for TSpec*/
2369 wpt_uint16 ucTspecIdx;
2370
2371 /*BSSID of the BSS*/
2372 wpt_macAddr macBSSID;
2373}WDI_DelTSReqInfoType;
2374
2375/*---------------------------------------------------------------------------
2376 WDI_DelTSReqParamsType
2377---------------------------------------------------------------------------*/
2378typedef struct
2379{
2380 /*Del TSpec Info*/
2381 WDI_DelTSReqInfoType wdiDelTSInfo;
2382
2383 /*Request status callback offered by UMAC - it is called if the current
2384 req has returned PENDING as status; it delivers the status of sending
2385 the message over the BUS */
2386 WDI_ReqStatusCb wdiReqStatusCB;
2387
2388 /*The user data passed in by UMAC, it will be sent back when the above
2389 function pointer will be called */
2390 void* pUserData;
2391}WDI_DelTSReqParamsType;
2392
2393/*---------------------------------------------------------------------------
2394 WDI_UpdateEDCAInfoType
2395---------------------------------------------------------------------------*/
2396typedef struct
2397{
krunal soni0b366c02013-07-17 19:55:57 -07002398 /*BSS Index of the BSS*/
2399 wpt_uint16 ucBssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07002400
Jeff Johnson295189b2012-06-20 16:38:30 -07002401 /*EDCA params for BE*/
2402 WDI_EdcaParamRecord wdiEdcaBEInfo;
2403
2404 /*EDCA params for BK*/
2405 WDI_EdcaParamRecord wdiEdcaBKInfo;
2406
2407 /*EDCA params for VI*/
2408 WDI_EdcaParamRecord wdiEdcaVIInfo;
2409
2410 /*EDCA params for VO*/
2411 WDI_EdcaParamRecord wdiEdcaVOInfo;
2412
2413}WDI_UpdateEDCAInfoType;
2414
2415/*---------------------------------------------------------------------------
2416 WDI_UpdateEDCAParamsType
2417---------------------------------------------------------------------------*/
2418typedef struct
2419{
2420 /*EDCA Info */
2421 WDI_UpdateEDCAInfoType wdiEDCAInfo;
2422
2423 /*Request status callback offered by UMAC - it is called if the current
2424 req has returned PENDING as status; it delivers the status of sending
2425 the message over the BUS */
2426 WDI_ReqStatusCb wdiReqStatusCB;
2427
2428 /*The user data passed in by UMAC, it will be sent back when the above
2429 function pointer will be called */
2430 void* pUserData;
2431}WDI_UpdateEDCAParamsType;
2432
2433/*---------------------------------------------------------------------------
2434 WDI_AddBASessionReqinfoType
2435---------------------------------------------------------------------------*/
2436typedef struct
2437{
2438 /*Indicates the station for which BA is added..*/
2439 wpt_uint8 ucSTAIdx;
2440
2441 /*The peer mac address*/
2442 wpt_macAddr macPeerAddr;
2443
2444 /*TID for which BA was negotiated*/
2445 wpt_uint8 ucBaTID;
2446
2447 /*Delayed or imediate */
2448 wpt_uint8 ucBaPolicy;
2449
2450 /*The number of buffers for this TID (baTID)*/
2451 wpt_uint16 usBaBufferSize;
2452
2453 /*BA timeout in TU's*/
2454 wpt_uint16 usBaTimeout;
2455
2456 /*b0..b3 - Fragment Number - Always set to 0
2457 b4..b15 - Starting Sequence Number of first MSDU for which this BA is setup*/
2458 wpt_uint16 usBaSSN;
2459
2460 /*Originator/Recipient*/
2461 wpt_uint8 ucBaDirection;
2462
2463}WDI_AddBASessionReqinfoType;
2464
2465
2466/*---------------------------------------------------------------------------
2467 WDI_AddBASessionReqParamsType
2468---------------------------------------------------------------------------*/
2469typedef struct
2470{
2471 /*BA Session Info Type*/
2472 WDI_AddBASessionReqinfoType wdiBASessionInfoType;
2473
2474 /*Request status callback offered by UMAC - it is called if the current
2475 req has returned PENDING as status; it delivers the status of sending
2476 the message over the BUS */
2477 WDI_ReqStatusCb wdiReqStatusCB;
2478
2479 /*The user data passed in by UMAC, it will be sent back when the above
2480 function pointer will be called */
2481 void* pUserData;
2482}WDI_AddBASessionReqParamsType;
2483
2484/*---------------------------------------------------------------------------
2485 WDI_AddBASessionRspParamsType
2486---------------------------------------------------------------------------*/
2487typedef struct
2488{
2489 /*Status of the response*/
2490 WDI_Status wdiStatus;
2491
2492 /* Dialog token */
2493 wpt_uint8 ucBaDialogToken;
2494
2495 /* TID for which the BA session has been setup */
2496 wpt_uint8 ucBaTID;
2497
2498 /* BA Buffer Size allocated for the current BA session */
2499 wpt_uint8 ucBaBufferSize;
2500
2501 /* BA session ID */
2502 wpt_uint16 usBaSessionID;
2503
2504 /* Reordering Window buffer */
2505 wpt_uint8 ucWinSize;
2506
2507 /*Station Index to id the sta */
2508 wpt_uint8 ucSTAIdx;
2509
2510 /* Starting Sequence Number */
2511 wpt_uint16 usBaSSN;
2512
2513}WDI_AddBASessionRspParamsType;
2514
2515/*---------------------------------------------------------------------------
2516 WDI_AddBAReqinfoType
2517---------------------------------------------------------------------------*/
2518typedef struct
2519{
2520 /*Indicates the station for which BA is added..*/
2521 wpt_uint8 ucSTAIdx;
2522
2523 /* Session Id */
2524 wpt_uint8 ucBaSessionID;
2525
2526 /* Reorder Window Size */
2527 wpt_uint8 ucWinSize;
2528
2529#ifdef FEATURE_ON_CHIP_REORDERING
2530 wpt_boolean bIsReorderingDoneOnChip;
2531#endif
2532
2533}WDI_AddBAReqinfoType;
2534
2535
2536/*---------------------------------------------------------------------------
2537 WDI_AddBAReqParamsType
2538---------------------------------------------------------------------------*/
2539typedef struct
2540{
2541 /*BA Info Type*/
2542 WDI_AddBAReqinfoType wdiBAInfoType;
2543
2544 /*Request status callback offered by UMAC - it is called if the current
2545 req has returned PENDING as status; it delivers the status of sending
2546 the message over the BUS */
2547 WDI_ReqStatusCb wdiReqStatusCB;
2548
2549 /*The user data passed in by UMAC, it will be sent back when the above
2550 function pointer will be called */
2551 void* pUserData;
2552}WDI_AddBAReqParamsType;
2553
2554
2555/*---------------------------------------------------------------------------
2556 WDI_AddBARspinfoType
2557---------------------------------------------------------------------------*/
2558typedef struct
2559{
2560 /*Status of the response*/
2561 WDI_Status wdiStatus;
2562
2563 /* Dialog token */
2564 wpt_uint8 ucBaDialogToken;
2565
2566}WDI_AddBARspinfoType;
2567
2568/*---------------------------------------------------------------------------
2569 WDI_TriggerBAReqCandidateType
2570---------------------------------------------------------------------------*/
2571typedef struct
2572{
2573 /* STA index */
2574 wpt_uint8 ucSTAIdx;
2575
2576 /* TID bit map for the STA's*/
2577 wpt_uint8 ucTidBitmap;
2578
2579}WDI_TriggerBAReqCandidateType;
2580
2581
2582/*---------------------------------------------------------------------------
2583 WDI_TriggerBAReqinfoType
2584---------------------------------------------------------------------------*/
2585typedef struct
2586{
2587 /*Indicates the station for which BA is added..*/
2588 wpt_uint8 ucSTAIdx;
2589
2590 /* Session Id */
2591 wpt_uint8 ucBASessionID;
2592
2593 /* Trigger BA Request candidate count */
2594 wpt_uint16 usBACandidateCnt;
2595
2596 /* WDI_TriggerBAReqCandidateType followed by this*/
2597
2598}WDI_TriggerBAReqinfoType;
2599
2600
2601/*---------------------------------------------------------------------------
2602 WDI_TriggerBAReqParamsType
2603---------------------------------------------------------------------------*/
2604typedef struct
2605{
2606 /*BA Trigger Info Type*/
2607 WDI_TriggerBAReqinfoType wdiTriggerBAInfoType;
2608
2609 /*Request status callback offered by UMAC - it is called if the current
2610 req has returned PENDING as status; it delivers the status of sending
2611 the message over the BUS */
2612 WDI_ReqStatusCb wdiReqStatusCB;
2613
2614 /*The user data passed in by UMAC, it will be sent back when the above
2615 function pointer will be called */
2616 void* pUserData;
2617}WDI_TriggerBAReqParamsType;
2618
2619/*---------------------------------------------------------------------------
2620 WDI_AddBAInfoType
2621---------------------------------------------------------------------------*/
2622typedef struct
2623{
2624 wpt_uint16 fBaEnable : 1;
2625 wpt_uint16 startingSeqNum: 12;
2626 wpt_uint16 reserved : 3;
2627}WDI_AddBAInfoType;
2628
2629/*---------------------------------------------------------------------------
2630 WDI_TriggerBARspCandidateType
2631---------------------------------------------------------------------------*/
2632#define STA_MAX_TC 8
2633
2634typedef struct
2635{
2636 /* STA index */
2637 wpt_macAddr macSTA;
2638
2639 /* BA Info */
2640 WDI_AddBAInfoType wdiBAInfo[STA_MAX_TC];
2641}WDI_TriggerBARspCandidateType;
2642
2643/*---------------------------------------------------------------------------
2644 WDI_TriggerBARspParamsType
2645---------------------------------------------------------------------------*/
2646typedef struct
2647{
2648 /*Status of the response*/
2649 WDI_Status wdiStatus;
2650
2651 /*BSSID of the BSS*/
2652 wpt_macAddr macBSSID;
2653
2654 /* Trigger BA response candidate count */
2655 wpt_uint16 usBaCandidateCnt;
2656
2657 /* WDI_TriggerBARspCandidateType followed by this*/
2658
2659}WDI_TriggerBARspParamsType;
2660
2661/*---------------------------------------------------------------------------
2662 WDI_DelBAReqinfoType
2663---------------------------------------------------------------------------*/
2664typedef struct
2665{
2666 /*Indicates the station for which BA is added..*/
2667 wpt_uint8 ucSTAIdx;
2668
2669 /*TID for which BA was negotiated*/
2670 wpt_uint8 ucBaTID;
2671
2672 /*Originator/Recipient*/
2673 wpt_uint8 ucBaDirection;
2674
2675}WDI_DelBAReqinfoType;
2676
2677/*---------------------------------------------------------------------------
2678 WDI_DelBAReqParamsType
2679---------------------------------------------------------------------------*/
2680typedef struct
2681{
2682 /*BA Info */
2683 WDI_DelBAReqinfoType wdiBAInfo;
2684
2685 /*Request status callback offered by UMAC - it is called if the current
2686 req has returned PENDING as status; it delivers the status of sending
2687 the message over the BUS */
2688 WDI_ReqStatusCb wdiReqStatusCB;
2689
2690 /*The user data passed in by UMAC, it will be sent back when the above
2691 function pointer will be called */
2692 void* pUserData;
2693}WDI_DelBAReqParamsType;
2694
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08002695/*---------------------------------------------------------------------------
2696 WDI_UpdateChannelReqinfoType
2697---------------------------------------------------------------------------*/
2698typedef struct
2699{
2700 /** primary 20 MHz channel frequency in mhz */
2701 wpt_uint32 mhz;
2702 /** Center frequency 1 in MHz*/
2703 wpt_uint32 band_center_freq1;
2704 /** Center frequency 2 in MHz - valid only for 11acvht 80plus80 mode*/
2705 wpt_uint32 band_center_freq2;
2706 /* The first 26 bits are a bit mask to indicate any channel flags,
2707 (see WLAN_HAL_CHAN_FLAG*)
2708 The last 6 bits indicate the mode (see tChannelPhyModeType)*/
2709 wpt_uint32 channel_info;
2710 /** contains min power, max power, reg power and reg class id. */
2711 wpt_uint32 reg_info_1;
2712 /** contains antennamax */
2713 wpt_uint32 reg_info_2;
2714}WDI_UpdateChannelReqinfoType;
2715
2716typedef struct
2717{
2718 wpt_uint8 numchan;
2719 WDI_UpdateChannelReqinfoType *pchanParam;
2720}WDI_UpdateChannelReqType;
2721/*---------------------------------------------------------------------------
2722 WDI_UpdateChReqParamsType
2723---------------------------------------------------------------------------*/
2724typedef struct
2725{
2726 /*BA Info */
2727 WDI_UpdateChannelReqType wdiUpdateChanParams;
2728
2729 /*Request status callback offered by UMAC - it is called if the current
2730 req has returned PENDING as status; it delivers the status of sending
2731 the message over the BUS */
2732 WDI_ReqStatusCb wdiReqStatusCB;
2733
2734 /*The user data passed in by UMAC, it will be sent back when the above
2735 function pointer will be called */
2736 void* pUserData;
2737}WDI_UpdateChReqParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07002738
2739/*---------------------------------------------------------------------------
2740 WDI_SwitchCHRspParamsType
2741---------------------------------------------------------------------------*/
2742typedef struct
2743{
2744 /*Status of the response*/
2745 WDI_Status wdiStatus;
2746
2747 /*Indicates the channel that WLAN is on*/
2748 wpt_uint8 ucChannel;
2749
2750#ifdef WLAN_FEATURE_VOWIFI
2751 /*HAL fills in the tx power used for mgmt frames in this field.*/
2752 wpt_int8 ucTxMgmtPower;
2753#endif
2754
2755}WDI_SwitchCHRspParamsType;
2756
2757/*---------------------------------------------------------------------------
2758 WDI_ConfigSTAReqParamsType
2759---------------------------------------------------------------------------*/
2760typedef struct
2761{
2762 /*Info for the Join request that will be sent down to the device*/
2763 WDI_ConfigStaReqInfoType wdiReqInfo;
2764
2765 /*Request status callback offered by UMAC - it is called if the current
2766 req has returned PENDING as status; it delivers the status of sending
2767 the message over the BUS */
2768 WDI_ReqStatusCb wdiReqStatusCB;
2769
2770 /*The user data passed in by UMAC, it will be sent back when the above
2771 function pointer will be called */
2772 void* pUserData;
2773}WDI_ConfigSTAReqParamsType;
2774
2775
2776/*---------------------------------------------------------------------------
2777 WDI_UpdateBeaconParamsInfoType
2778---------------------------------------------------------------------------*/
2779
2780typedef struct
2781{
2782 /*BSS Index of the BSS*/
2783 wpt_uint8 ucBssIdx;
2784
2785 /*shortPreamble mode. HAL should update all the STA rates when it
2786 receives this message*/
2787 wpt_uint8 ucfShortPreamble;
2788 /* short Slot time.*/
2789 wpt_uint8 ucfShortSlotTime;
2790 /* Beacon Interval */
2791 wpt_uint16 usBeaconInterval;
2792 /*Protection related */
2793 wpt_uint8 ucllaCoexist;
2794 wpt_uint8 ucllbCoexist;
2795 wpt_uint8 ucllgCoexist;
2796 wpt_uint8 ucHt20MhzCoexist;
2797 wpt_uint8 ucllnNonGFCoexist;
2798 wpt_uint8 ucfLsigTXOPProtectionFullSupport;
2799 wpt_uint8 ucfRIFSMode;
2800
2801 wpt_uint16 usChangeBitmap;
2802}WDI_UpdateBeaconParamsInfoType;
2803
Mohit Khanna4a70d262012-09-11 16:30:12 -07002804#ifdef WLAN_FEATURE_11AC
2805typedef struct
2806{
2807 wpt_uint16 opMode;
2808 wpt_uint16 staId;
2809}WDI_UpdateVHTOpMode;
2810#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07002811
2812/*---------------------------------------------------------------------------
2813 WDI_UpdateBeaconParamsType
2814---------------------------------------------------------------------------*/
2815typedef struct
2816{
2817 /*Update Beacon Params Info*/
2818 WDI_UpdateBeaconParamsInfoType wdiUpdateBeaconParamsInfo;
2819
2820 /*Request status callback offered by UMAC - it is called if the current
2821 req has returned PENDING as status; it delivers the status of sending
2822 the message over the BUS */
2823 WDI_ReqStatusCb wdiReqStatusCB;
2824
2825 /*The user data passed in by UMAC, it will be sent back when the above
2826 function pointer will be called */
2827 void* pUserData;
2828}WDI_UpdateBeaconParamsType;
2829
2830/*---------------------------------------------------------------------------
2831 WDI_SendBeaconParamsInfoType
2832---------------------------------------------------------------------------*/
2833
2834typedef struct {
2835
2836 /*BSSID of the BSS*/
2837 wpt_macAddr macBSSID;
2838
2839 /* Beacon data */
2840 wpt_uint8 beacon[WDI_BEACON_TEMPLATE_SIZE];
2841
2842 /* length of the template */
2843 wpt_uint32 beaconLength;
2844
Jeff Johnson295189b2012-06-20 16:38:30 -07002845 /* TIM IE offset from the beginning of the template.*/
2846 wpt_uint32 timIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07002847
Jeff Johnson295189b2012-06-20 16:38:30 -07002848 /* P2P IE offset from the beginning of the template */
2849 wpt_uint16 usP2PIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07002850} WDI_SendBeaconParamsInfoType;
2851
2852/*---------------------------------------------------------------------------
2853 WDI_SendBeaconParamsType
2854---------------------------------------------------------------------------*/
2855typedef struct
2856{
2857 /*Send Beacon Params Info*/
2858 WDI_SendBeaconParamsInfoType wdiSendBeaconParamsInfo;
2859
2860 /*Request status callback offered by UMAC - it is called if the current
2861 req has returned PENDING as status; it delivers the status of sending
2862 the message over the BUS */
2863 WDI_ReqStatusCb wdiReqStatusCB;
2864
2865 /*The user data passed in by UMAC, it will be sent back when the above
2866 function pointer will be called */
2867 void* pUserData;
2868}WDI_SendBeaconParamsType;
2869
2870/*---------------------------------------------------------------------------
2871 WDI_LinkStateType
2872---------------------------------------------------------------------------*/
2873typedef enum
2874{
2875 WDI_LINK_IDLE_STATE = 0,
2876 WDI_LINK_PREASSOC_STATE = 1,
2877 WDI_LINK_POSTASSOC_STATE = 2,
2878 WDI_LINK_AP_STATE = 3,
2879 WDI_LINK_IBSS_STATE = 4,
2880
2881 // BT-AMP Case
2882 WDI_LINK_BTAMP_PREASSOC_STATE = 5,
2883 WDI_LINK_BTAMP_POSTASSOC_STATE = 6,
2884 WDI_LINK_BTAMP_AP_STATE = 7,
2885 WDI_LINK_BTAMP_STA_STATE = 8,
2886
2887 // Reserved for HAL internal use
2888 WDI_LINK_LEARN_STATE = 9,
2889 WDI_LINK_SCAN_STATE = 10,
2890 WDI_LINK_FINISH_SCAN_STATE = 11,
2891 WDI_LINK_INIT_CAL_STATE = 12,
2892 WDI_LINK_FINISH_CAL_STATE = 13,
Jeff Johnson295189b2012-06-20 16:38:30 -07002893 WDI_LINK_LISTEN_STATE = 14,
Gopichand Nakkala924e4552013-05-08 19:18:14 +05302894 WDI_LINK_SEND_ACTION_STATE = 15,
Jeff Johnson295189b2012-06-20 16:38:30 -07002895 WDI_LINK_MAX = 0x7FFFFFFF
2896} WDI_LinkStateType;
2897
2898/*---------------------------------------------------------------------------
2899 WDI_SetLinkReqInfoType
2900---------------------------------------------------------------------------*/
2901typedef struct
2902{
2903 /*BSSID of the BSS*/
2904 wpt_macAddr macBSSID;
2905
2906 /*Link state*/
2907 WDI_LinkStateType wdiLinkState;
2908
2909 /*BSSID of the BSS*/
2910 wpt_macAddr macSelfStaMacAddr;
2911}WDI_SetLinkReqInfoType;
2912
2913/*---------------------------------------------------------------------------
2914 WDI_SetLinkReqParamsType
2915---------------------------------------------------------------------------*/
2916typedef struct
2917{
2918 /*Link Info*/
2919 WDI_SetLinkReqInfoType wdiLinkInfo;
2920
2921 /*Request status callback offered by UMAC - it is called if the current
2922 req has returned PENDING as status; it delivers the status of sending
2923 the message over the BUS */
2924 WDI_ReqStatusCb wdiReqStatusCB;
2925
2926 /*The user data passed in by UMAC, it will be sent back when the above
2927 function pointer will be called */
2928 void* pUserData;
2929}WDI_SetLinkReqParamsType;
2930
2931/*---------------------------------------------------------------------------
2932 WDI_GetStatsParamsInfoType
2933---------------------------------------------------------------------------*/
2934typedef struct
2935{
2936 /*Indicates the station for which Get Stats are requested..*/
2937 wpt_uint8 ucSTAIdx;
2938
2939 /* categories of stats requested */
2940 wpt_uint32 uStatsMask;
2941}WDI_GetStatsParamsInfoType;
2942
2943/*---------------------------------------------------------------------------
2944 WDI_GetStatsReqParamsType
2945---------------------------------------------------------------------------*/
2946typedef struct
2947{
2948 /*Get Stats Params Info*/
2949 WDI_GetStatsParamsInfoType wdiGetStatsParamsInfo;
2950
2951 /*Request status callback offered by UMAC - it is called if the current
2952 req has returned PENDING as status; it delivers the status of sending
2953 the message over the BUS */
2954 WDI_ReqStatusCb wdiReqStatusCB;
2955
2956 /*The user data passed in by UMAC, it will be sent back when the above
2957 function pointer will be called */
2958 void* pUserData;
2959}WDI_GetStatsReqParamsType;
2960
2961/*---------------------------------------------------------------------------
2962 WDI_GetStatsRspParamsType
2963---------------------------------------------------------------------------*/
2964typedef struct
2965{
2966 /*message type is same as the request type*/
2967 wpt_uint16 usMsgType;
2968
2969 /* length of the entire request, includes the pStatsBuf length too*/
2970 wpt_uint16 usMsgLen;
2971
2972 /*Result of the operation*/
2973 WDI_Status wdiStatus;
2974
2975 /*Indicates the station for which Get Stats are requested..*/
2976 wpt_uint8 ucSTAIdx;
2977
2978 /* categories of stats requested */
2979 wpt_uint32 uStatsMask;
2980
2981 /* The Stats buffer starts here and can be an aggregate of more than one statistics
2982 * structure depending on statsMask.*/
2983}WDI_GetStatsRspParamsType;
2984
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08002985#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_CCX || defined(FEATURE_WLAN_LFR)
2986/*---------------------------------------------------------------------------
2987 WDI_GetRoamRssiParamsInfoType
2988---------------------------------------------------------------------------*/
2989typedef struct
2990{
2991 /*Indicates the station for which Get Stats are requested..*/
2992 wpt_uint8 ucSTAIdx;
2993
2994 /* categories of stats requested */
2995 wpt_uint32 uStatsMask;
2996}WDI_GetRoamRssiParamsInfoType;
2997
2998/*---------------------------------------------------------------------------
2999 WDI_GetRoamRssiReqParamsType
3000---------------------------------------------------------------------------*/
3001typedef struct
3002{
3003 /*Get Roam Rssi Params Info*/
3004 WDI_GetRoamRssiParamsInfoType wdiGetRoamRssiParamsInfo;
3005
3006 /*Request status callback offered by UMAC - it is called if the current
3007 req has returned PENDING as status; it delivers the status of sending
3008 the message over the BUS */
3009 WDI_ReqStatusCb wdiReqStatusCB;
3010
3011 /*The user data passed in by UMAC, it will be sent back when the above
3012 function pointer will be called */
3013 void* pUserData;
3014}WDI_GetRoamRssiReqParamsType;
3015
3016/*---------------------------------------------------------------------------
3017 WDI_GetRoamRssiRspParamsType
3018---------------------------------------------------------------------------*/
3019typedef struct
3020{
3021 /*Result of the operation*/
3022 WDI_Status wdiStatus;
3023
3024 /*Indicates the station for which Get Stats are requested..*/
3025 wpt_uint8 ucSTAIdx;
3026
3027 /* roam rssi requested */
3028 wpt_int8 rssi;
3029
3030 /* The Stats buffer starts here and can be an aggregate of more than one statistics
3031 * structure depending on statsMask.*/
3032}WDI_GetRoamRssiRspParamsType;
3033#endif
3034
Jeff Johnson295189b2012-06-20 16:38:30 -07003035#ifdef FEATURE_WLAN_CCX
3036/*---------------------------------------------------------------------------
3037 WDI_TSMStatsParamsInfoType
3038---------------------------------------------------------------------------*/
3039typedef struct
3040{
3041 /*Indicates the station for which Get Stats are requested..*/
3042 wpt_uint8 ucTid;
3043
3044 wpt_macAddr bssid;
3045}WDI_TSMStatsParamsInfoType;
3046
3047/*---------------------------------------------------------------------------
3048 WDI_TSMStatsReqParamsType
3049---------------------------------------------------------------------------*/
3050typedef struct
3051{
3052 /*Get TSM Stats Params Info*/
3053 WDI_TSMStatsParamsInfoType wdiTsmStatsParamsInfo;
3054
3055 WDI_ReqStatusCb wdiReqStatusCB;
3056
3057 /*The user data passed in by UMAC, it will be sent back when the above
3058 function pointer will be called */
3059 void* pUserData;
3060
3061}WDI_TSMStatsReqParamsType;
3062
3063
3064/*---------------------------------------------------------------------------
3065 WDI_TSMStatsRspParamsType
3066---------------------------------------------------------------------------*/
3067typedef struct
3068{
3069 /*Indicates the status of the operation */
3070 WDI_Status wdiStatus;
3071
3072 wpt_uint16 UplinkPktQueueDly;
3073 wpt_uint16 UplinkPktQueueDlyHist[4];
3074 wpt_uint32 UplinkPktTxDly;
3075 wpt_uint16 UplinkPktLoss;
3076 wpt_uint16 UplinkPktCount;
3077 wpt_uint8 RoamingCount;
3078 wpt_uint16 RoamingDly;
3079}WDI_TSMStatsRspParamsType;
3080
3081
3082#endif
3083/*---------------------------------------------------------------------------
3084 WDI_UpdateCfgReqParamsType
3085---------------------------------------------------------------------------*/
3086typedef struct
3087{
3088 /*This is a TLV formatted buffer containing all config values that can
3089 be set through the DAL Interface
3090
3091 The TLV is expected to be formatted like this:
3092
3093 0 7 15 31 ....
3094 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
3095
3096 Or from a C construct point of VU it would look like this:
3097
3098 typedef struct WPT_PACK_POST
3099 {
3100 #ifdef WPT_BIG_ENDIAN
3101 wpt_uint32 ucCfgId:8;
3102 wpt_uint32 ucCfgLen:8;
3103 wpt_uint32 usReserved:16;
3104 #else
3105 wpt_uint32 usReserved:16;
3106 wpt_uint32 ucCfgLen:8;
3107 wpt_uint32 ucCfgId:8;
3108 #endif
3109
3110 wpt_uint8 ucCfgBody[ucCfgLen];
3111 }WDI_ConfigType;
3112
3113 Multiple such tuplets are to be placed in the config buffer. One for
3114 each required configuration item:
3115
3116 | TLV 1 | TLV2 | ....
3117
3118 The buffer is expected to be a flat area of memory that can be manipulated
3119 with standard memory routines.
3120
3121 For more info please check paragraph 2.3.1 Config Structure from the
3122 HAL LLD.
3123
3124 For a list of accepted configuration list and IDs please look up
3125 wlan_qct_dal_cfg.h
3126 */
3127 void* pConfigBuffer;
3128
3129 /*Length of the config buffer above*/
3130 wpt_uint32 uConfigBufferLen;
3131
3132 /*Request status callback offered by UMAC - it is called if the current
3133 req has returned PENDING as status; it delivers the status of sending
3134 the message over the BUS */
3135 WDI_ReqStatusCb wdiReqStatusCB;
3136
3137 /*The user data passed in by UMAC, it will be sent back when the above
3138 function pointer will be called */
3139 void* pUserData;
3140}WDI_UpdateCfgReqParamsType;
3141
3142/*---------------------------------------------------------------------------
3143 WDI_UpdateProbeRspTemplateInfoType
3144---------------------------------------------------------------------------*/
3145//Default Beacon template size
3146#define WDI_PROBE_RSP_TEMPLATE_SIZE 0x180
3147
3148#define WDI_PROBE_REQ_BITMAP_IE_LEN 8
3149
3150typedef struct
3151{
3152 /*BSSID for which the Probe Template is to be used*/
3153 wpt_macAddr macBSSID;
3154
3155 /*Probe response template*/
3156 wpt_uint8 *pProbeRespTemplate[WDI_PROBE_RSP_TEMPLATE_SIZE];
3157
3158 /*Template Len*/
3159 wpt_uint32 uProbeRespTemplateLen;
3160
3161 /*Bitmap for the IEs that are to be handled at SLM level*/
3162 wpt_uint32 uaProxyProbeReqValidIEBmap[WDI_PROBE_REQ_BITMAP_IE_LEN];
3163
3164}WDI_UpdateProbeRspTemplateInfoType;
3165
3166/*---------------------------------------------------------------------------
3167 WDI_UpdateProbeRspParamsType
3168---------------------------------------------------------------------------*/
3169typedef struct
3170{
3171 /*Link Info*/
3172 WDI_UpdateProbeRspTemplateInfoType wdiProbeRspTemplateInfo;
3173
3174 /*Request status callback offered by UMAC - it is called if the current
3175 req has returned PENDING as status; it delivers the status of sending
3176 the message over the BUS */
3177 WDI_ReqStatusCb wdiReqStatusCB;
3178
3179 /*The user data passed in by UMAC, it will be sent back when the above
3180 function pointer will be called */
3181 void* pUserData;
3182}WDI_UpdateProbeRspTemplateParamsType;
3183
3184/*---------------------------------------------------------------------------
3185 WDI_NvDownloadReqBlobInfo
3186---------------------------------------------------------------------------*/
3187
3188typedef struct
3189{
3190 /* Blob starting address*/
3191 void *pBlobAddress;
3192
3193 /* Blob size */
3194 wpt_uint32 uBlobSize;
3195
3196}WDI_NvDownloadReqBlobInfo;
3197
3198/*---------------------------------------------------------------------------
3199 WDI_NvDownloadReqParamsType
3200---------------------------------------------------------------------------*/
3201typedef struct
3202{
3203 /*NV Blob Info*/
3204 WDI_NvDownloadReqBlobInfo wdiBlobInfo;
3205
3206 /*Request status callback offered by UMAC - it is called if the current
3207 req has returned PENDING as status; it delivers the status of sending
3208 the message over the BUS */
3209 WDI_ReqStatusCb wdiReqStatusCB;
3210
3211 /*The user data passed in by UMAC, it will be sent back when the above
3212 function pointer will be called */
3213 void* pUserData;
3214
3215}WDI_NvDownloadReqParamsType;
3216
3217/*---------------------------------------------------------------------------
3218 WDI_NvDownloadRspInfoType
3219---------------------------------------------------------------------------*/
3220typedef struct
3221{
3222 /*Status of the response*/
3223 WDI_Status wdiStatus;
3224
3225}WDI_NvDownloadRspInfoType;
3226
3227/*---------------------------------------------------------------------------
3228 WDI_SetMaxTxPowerInfoType
3229---------------------------------------------------------------------------*/
3230
3231typedef struct
3232{
3233 /*BSSID is needed to identify which session issued this request. As the request has
3234 power constraints, this should be applied only to that session*/
3235 wpt_macAddr macBSSId;
3236
3237
3238 wpt_macAddr macSelfStaMacAddr;
3239
3240 /* In request power == MaxTxpower to be used.*/
3241 wpt_int8 ucPower;
3242
3243}WDI_SetMaxTxPowerInfoType;
3244
3245/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003246 WDI_SetTxPowerInfoType
3247---------------------------------------------------------------------------*/
3248
3249typedef struct
3250{
3251 wpt_uint8 bssIdx;
3252 /* In request power == MaxTxpower to be used.*/
3253 wpt_uint8 ucPower;
3254
3255}WDI_SetTxPowerInfoType;
3256
3257/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003258 WDI_SetMaxTxPowerParamsType
3259---------------------------------------------------------------------------*/
3260typedef struct
3261{
3262 /*Link Info*/
3263 WDI_SetMaxTxPowerInfoType wdiMaxTxPowerInfo;
3264
3265 /*Request status callback offered by UMAC - it is called if the current
3266 req has returned PENDING as status; it delivers the status of sending
3267 the message over the BUS */
3268 WDI_ReqStatusCb wdiReqStatusCB;
3269
3270 /*The user data passed in by UMAC, it will be sent back when the above
3271 function pointer will be called */
3272 void* pUserData;
3273}WDI_SetMaxTxPowerParamsType;
3274
schang86c22c42013-03-13 18:41:24 -07003275/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07003276 WDI_Band
3277---------------------------------------------------------------------------*/
3278typedef enum
3279{
3280 WDI_BAND_ALL,
3281 WDI_BAND_24,
3282 WDI_BAND_5G,
3283 WDI_BAND_MAX,
3284}eWDIBand;
3285
3286/*---------------------------------------------------------------------------
3287 WDI_MaxTxPowerPerBandInfoType
3288---------------------------------------------------------------------------*/
3289typedef struct
3290{
3291 eWDIBand bandInfo;
3292 /* In request power == MaxTxpower to be used.*/
3293 wpt_uint8 ucPower;
3294}WDI_MaxTxPowerPerBandInfoType;
3295
3296/*---------------------------------------------------------------------------
3297 WDI_SetMaxTxPowerPerBandParamsType
3298---------------------------------------------------------------------------*/
3299typedef struct
3300{
3301 /*Link Info*/
3302 WDI_MaxTxPowerPerBandInfoType wdiMaxTxPowerPerBandInfo;
3303
3304 /*Request status callback offered by UMAC - it is called if the current
3305 req has returned PENDING as status; it delivers the status of sending
3306 the message over the BUS */
3307 WDI_ReqStatusCb wdiReqStatusCB;
3308
3309 /*The user data passed in by UMAC, it will be sent back when the above
3310 function pointer will be called */
3311 void* pUserData;
3312}WDI_SetMaxTxPowerPerBandParamsType;
3313
3314/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003315 WDI_SetTxPowerParamsType
3316---------------------------------------------------------------------------*/
3317typedef struct
3318{
3319 /*Link Info*/
3320 WDI_SetTxPowerInfoType wdiTxPowerInfo;
3321
3322 /*Request status callback offered by UMAC - it is called if the current
3323 req has returned PENDING as status; it delivers the status of sending
3324 the message over the BUS */
3325 WDI_ReqStatusCb wdiReqStatusCB;
3326
3327 /*The user data passed in by UMAC, it will be sent back when the above
3328 function pointer will be called */
3329 void* pUserData;
3330}WDI_SetTxPowerParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003331
3332/*---------------------------------------------------------------------------
3333 WDI_SetMaxTxPowerRspMsg
3334---------------------------------------------------------------------------*/
3335
3336typedef struct
3337{
3338 /* In response, power==tx power used for management frames*/
3339 wpt_int8 ucPower;
3340
3341 /*Result of the operation*/
3342 WDI_Status wdiStatus;
3343
3344}WDI_SetMaxTxPowerRspMsg;
3345
schang86c22c42013-03-13 18:41:24 -07003346/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07003347 WDI_SetMaxTxPowerPerBandRspMsg
3348---------------------------------------------------------------------------*/
3349typedef struct
3350{
3351 /* In response, power==tx power used for management frames*/
3352 wpt_int8 ucPower;
3353
3354 /*Result of the operation*/
3355 WDI_Status wdiStatus;
3356
3357}WDI_SetMaxTxPowerPerBandRspMsg;
3358
3359/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003360 WDI_SetTxPowerRspMsg
3361---------------------------------------------------------------------------*/
3362
3363typedef struct
3364{
3365 /* In response, power==tx power used for management frames*/
3366 wpt_int8 ucPower;
3367
3368 /*Result of the operation*/
3369 WDI_Status wdiStatus;
3370
3371}WDI_SetTxPowerRspMsg;
3372
Jeff Johnson295189b2012-06-20 16:38:30 -07003373typedef struct
3374{
3375 wpt_uint8 ucOpp_ps;
3376 wpt_uint32 uCtWindow;
3377 wpt_uint8 ucCount;
3378 wpt_uint32 uDuration;
3379 wpt_uint32 uInterval;
3380 wpt_uint32 uSingle_noa_duration;
3381 wpt_uint8 ucPsSelection;
3382}WDI_SetP2PGONOAReqInfoType;
3383
3384/*---------------------------------------------------------------------------
3385 WDI_SetP2PGONOAReqParamsType
3386---------------------------------------------------------------------------*/
3387typedef struct
3388{
3389 /*P2P GO NOA Req*/
3390 WDI_SetP2PGONOAReqInfoType wdiP2PGONOAInfo;
3391
3392 /*Request status callback offered by UMAC - it is called if the current
3393 req has returned PENDING as status; it delivers the status of sending
3394 the message over the BUS */
3395 WDI_ReqStatusCb wdiReqStatusCB;
3396
3397 /*The user data passed in by UMAC, it will be sent back when the above
3398 function pointer will be called */
3399 void* pUserData;
3400}WDI_SetP2PGONOAReqParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003401
Naresh Jayaramc7cbd782014-02-04 17:38:23 +05303402#define WDI_MAX_SUPP_CHANNELS 128
3403#define WDI_MAX_SUPP_OPER_CLASSES 32
3404
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303405typedef struct
3406{
3407 wpt_uint16 uStaIdx;
3408 wpt_uint8 uIsResponder;
3409 wpt_uint8 uUapsdQueues;
3410 wpt_uint8 uMaxSp;
3411 wpt_uint8 uIsBufSta;
Naresh Jayaramc7cbd782014-02-04 17:38:23 +05303412 wpt_uint8 uIsOffChannelSupported;
3413 wpt_uint8 peerCurrOperClass;
3414 wpt_uint8 selfCurrOperClass;
3415 wpt_uint8 validChannelsLen;
3416 wpt_uint8 validChannels[WDI_MAX_SUPP_CHANNELS];
3417 wpt_uint8 validOperClassesLen;
3418 wpt_uint8 validOperClasses[WDI_MAX_SUPP_OPER_CLASSES];
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303419}WDI_SetTDLSLinkEstablishReqInfoType;
3420/*---------------------------------------------------------------------------
3421 WDI_SetTDLSLinkEstablishReqParamsType
3422---------------------------------------------------------------------------*/
3423typedef struct
3424{
3425 /*TDLS Link Establish Req*/
3426 WDI_SetTDLSLinkEstablishReqInfoType wdiTDLSLinkEstablishInfo;
3427
3428 /*Request status callback offered by UMAC - it is called if the current
3429 req has returned PENDING as status; it delivers the status of sending
3430 the message over the BUS */
3431 WDI_ReqStatusCb wdiReqStatusCB;
3432
3433 /*The user data passed in by UMAC, it will be sent back when the above
3434 function pointer will be called */
3435 void* pUserData;
3436}WDI_SetTDLSLinkEstablishReqParamsType;
3437
3438
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05303439typedef struct
3440{
3441 /*Result of the operation*/
3442 WDI_Status wdiStatus;
3443
3444 /*STA Idx*/
3445 wpt_uint16 uStaIdx;
3446}WDI_SetTdlsLinkEstablishReqResp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003447
3448/*---------------------------------------------------------------------------
3449 WDI_SetAddSTASelfParamsType
3450---------------------------------------------------------------------------*/
3451typedef struct
3452{
3453 /*Self Station MAC address*/
3454 wpt_macAddr selfMacAddr;
3455
Kiran Kumar Lokere0ad5cd32013-06-25 11:26:22 -07003456 /*Self STA device mode*/
3457 wpt_uint32 currDeviceMode;
3458
Jeff Johnson295189b2012-06-20 16:38:30 -07003459 /*Status of the operation*/
3460 wpt_uint32 uStatus;
3461}WDI_AddSTASelfInfoType;
3462
3463/*---------------------------------------------------------------------------
3464 WDI_SetAddSTASelfParamsType
3465---------------------------------------------------------------------------*/
3466typedef struct
3467{
3468 /* Add Sta Self Req */
3469 WDI_AddSTASelfInfoType wdiAddSTASelfInfo;
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_AddSTASelfReqParamsType;
3480
3481
3482/*---------------------------------------------------------------------------
3483 WDI_AddSTASelfRspParamsType
3484---------------------------------------------------------------------------*/
3485typedef struct
3486{
3487 /*Status of the response*/
3488 WDI_Status wdiStatus;
3489
3490 /*STA Idx allocated by HAL*/
3491 wpt_uint8 ucSTASelfIdx;
3492
3493 /* DPU Index (IGTK, PTK, GTK all same) */
3494 wpt_uint8 dpuIdx;
3495
3496 /* DPU Signature */
3497 wpt_uint8 dpuSignature;
3498
3499 /*Self STA Mac*/
3500 wpt_macAddr macSelfSta;
3501
3502}WDI_AddSTASelfRspParamsType;
3503
3504/*---------------------------------------------------------------------------
3505 WDI_DelSTASelfReqParamsType
3506 Del Sta Self info passed to WDI form WDA
3507---------------------------------------------------------------------------*/
3508typedef struct
3509{
3510 wpt_macAddr selfMacAddr;
3511
3512}WDI_DelSTASelfInfoType;
3513
3514/*---------------------------------------------------------------------------
3515 WDI_DelSTASelfReqParamsType
3516 Del Sta Self info passed to WDI form WDA
3517---------------------------------------------------------------------------*/
3518typedef struct
3519{
3520 /*Del Sta Self Info Type */
3521 WDI_DelSTASelfInfoType wdiDelStaSelfInfo;
3522 /*Request status callback offered by UMAC - it is called if the current req
3523 has returned PENDING as status; it delivers the status of sending the message
3524 over the BUS */
3525 WDI_ReqStatusCb wdiReqStatusCB;
3526 /*The user data passed in by UMAC, it will be sent back when the above
3527 function pointer will be called */
3528 void* pUserData;
3529}WDI_DelSTASelfReqParamsType;
3530
3531/*---------------------------------------------------------------------------
3532 WDI_DelSTASelfRspParamsType
3533---------------------------------------------------------------------------*/
3534typedef struct
3535{
3536 /*Status of the response*/
3537 WDI_Status wdiStatus;
3538
3539 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
3540// wpt_uint8 ucSTAIdx;
3541}WDI_DelSTASelfRspParamsType;
3542
3543/*---------------------------------------------------------------------------
3544 WDI_UapsdInfoType
3545 UAPSD parameters passed per AC to WDA from UMAC
3546---------------------------------------------------------------------------*/
3547typedef struct
3548{
3549 wpt_uint8 ucSTAIdx; // STA index
3550 wpt_uint8 ucAc; // Access Category
3551 wpt_uint8 ucUp; // User Priority
3552 wpt_uint32 uSrvInterval; // Service Interval
3553 wpt_uint32 uSusInterval; // Suspend Interval
3554 wpt_uint32 uDelayInterval; // Delay Interval
3555} WDI_UapsdInfoType;
3556
3557/*---------------------------------------------------------------------------
3558 WDI_SetUapsdAcParamsReqParamsType
3559 UAPSD parameters passed per AC to WDI from WDA
3560---------------------------------------------------------------------------*/
3561typedef struct
3562{
3563 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3564 WDI_UapsdInfoType wdiUapsdInfo;
3565 /*Request status callback offered by UMAC - it is called if the current req
3566 has returned PENDING as status; it delivers the status of sending the message
3567 over the BUS */
3568 WDI_ReqStatusCb wdiReqStatusCB;
3569 /*The user data passed in by UMAC, it will be sent back when the above
3570 function pointer will be called */
3571 void* pUserData;
3572}WDI_SetUapsdAcParamsReqParamsType;
3573
3574/*---------------------------------------------------------------------------
3575 WDI_EnterBmpsReqinfoType
3576 Enter BMPS parameters passed to WDA from UMAC
3577---------------------------------------------------------------------------*/
3578typedef struct
3579{
3580 //TBTT value derived from the last beacon
3581 wpt_uint8 ucBssIdx;
3582 wpt_uint64 uTbtt;
3583 wpt_uint8 ucDtimCount;
3584 //DTIM period given to HAL during association may not be valid,
3585 //if association is based on ProbeRsp instead of beacon.
3586 wpt_uint8 ucDtimPeriod;
3587 /* DXE physical addr to be passed down to RIVA. RIVA HAL will use it to program
3588 DXE when DXE wakes up from power save*/
3589 unsigned int dxePhyAddr;
3590
3591 // For CCX and 11R Roaming
3592 wpt_uint32 rssiFilterPeriod;
3593 wpt_uint32 numBeaconPerRssiAverage;
3594 wpt_uint8 bRssiFilterEnable;
3595}WDI_EnterBmpsReqinfoType;
3596
3597/*---------------------------------------------------------------------------
3598 WDI_EnterBmpsReqParamsType
3599 Enter BMPS parameters passed to WDI from WDA
3600---------------------------------------------------------------------------*/
3601typedef struct
3602{
3603 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3604 WDI_EnterBmpsReqinfoType wdiEnterBmpsInfo;
3605 /*Request status callback offered by UMAC - it is called if the current req
3606 has returned PENDING as status; it delivers the status of sending the message
3607 over the BUS */
3608 WDI_ReqStatusCb wdiReqStatusCB;
3609 /*The user data passed in by UMAC, it will be sent back when the above
3610 function pointer will be called */
3611 void* pUserData;
3612}WDI_EnterBmpsReqParamsType;
3613
3614/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003615 WDI_EnterBmpsReqParamsType
3616 Enter BMPS parameters passed from WDI to WDA
3617---------------------------------------------------------------------------*/
3618typedef struct
3619{
3620 /*Status of the response*/
3621 WDI_Status wdiStatus;
3622
3623 /*BssIDX of the session*/
3624 wpt_uint8 bssIdx;
3625}WDI_EnterBmpsRspParamsType;
3626
3627/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003628 WDI_ExitBmpsReqinfoType
3629 Exit BMPS parameters passed to WDA from UMAC
3630---------------------------------------------------------------------------*/
3631typedef struct
3632{
3633 wpt_uint8 ucSendDataNull;
Jeff Johnsone7245742012-09-05 17:12:55 -07003634 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003635}WDI_ExitBmpsReqinfoType;
3636
3637/*---------------------------------------------------------------------------
3638 WDI_ExitBmpsReqParamsType
3639 Exit BMPS parameters passed to WDI from WDA
3640---------------------------------------------------------------------------*/
3641typedef struct
3642{
3643 /*Exit BMPS Info Type, same as tExitBmpsParams */
3644 WDI_ExitBmpsReqinfoType wdiExitBmpsInfo;
3645 /*Request status callback offered by UMAC - it is called if the current req
3646 has returned PENDING as status; it delivers the status of sending the message
3647 over the BUS */
3648 WDI_ReqStatusCb wdiReqStatusCB;
3649 /*The user data passed in by UMAC, it will be sent back when the above
3650 function pointer will be called */
3651 void* pUserData;
3652}WDI_ExitBmpsReqParamsType;
3653
3654/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003655 WDI_ExitBmpsReqParamsType
3656 Exit BMPS parameters passed from WDI to WDA
3657---------------------------------------------------------------------------*/
3658typedef struct
3659{
3660 /*Status of the response*/
3661 WDI_Status wdiStatus;
3662
3663 /*BssIDX of the session*/
3664 wpt_uint8 bssIdx;
3665}WDI_ExitBmpsRspParamsType;
3666
3667/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003668 WDI_EnterUapsdReqinfoType
3669 Enter UAPSD parameters passed to WDA from UMAC
3670---------------------------------------------------------------------------*/
3671typedef struct
3672{
3673 wpt_uint8 ucBkDeliveryEnabled:1;
3674 wpt_uint8 ucBeDeliveryEnabled:1;
3675 wpt_uint8 ucViDeliveryEnabled:1;
3676 wpt_uint8 ucVoDeliveryEnabled:1;
3677 wpt_uint8 ucBkTriggerEnabled:1;
3678 wpt_uint8 ucBeTriggerEnabled:1;
3679 wpt_uint8 ucViTriggerEnabled:1;
3680 wpt_uint8 ucVoTriggerEnabled:1;
Jeff Johnsone7245742012-09-05 17:12:55 -07003681 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003682}WDI_EnterUapsdReqinfoType;
3683
3684/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003685 WDI_EnterUapsdRspParamsType
3686 Enter UAPSD parameters passed from WDI to WDA
3687---------------------------------------------------------------------------*/
3688typedef struct
3689{
3690 /*Status of the response*/
3691 WDI_Status wdiStatus;
3692
3693 /*BssIDX of the session*/
3694 wpt_uint8 bssIdx;
3695}WDI_EnterUapsdRspParamsType;
3696
3697/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003698 WDI_EnterUapsdReqinfoType
3699 Enter UAPSD parameters passed to WDI from WDA
3700---------------------------------------------------------------------------*/
3701typedef struct
3702{
3703 /*Enter UAPSD Info Type, same as tUapsdParams */
3704 WDI_EnterUapsdReqinfoType wdiEnterUapsdInfo;
3705 /*Request status callback offered by UMAC - it is called if the current req
3706 has returned PENDING as status; it delivers the status of sending the message
3707 over the BUS */
3708 WDI_ReqStatusCb wdiReqStatusCB;
3709 /*The user data passed in by UMAC, it will be sent back when the above
3710 function pointer will be called */
3711 void* pUserData;
3712}WDI_EnterUapsdReqParamsType;
3713
3714/*---------------------------------------------------------------------------
3715 WDI_UpdateUapsdReqinfoType
3716 Update UAPSD parameters passed to WDA from UMAC
3717---------------------------------------------------------------------------*/
3718typedef struct
3719{
3720 wpt_uint8 ucSTAIdx;
3721 wpt_uint8 ucUapsdACMask;
3722 wpt_uint32 uMaxSpLen;
3723}WDI_UpdateUapsdReqinfoType;
3724
3725/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003726 WDI_ExitUapsdReqinfoType
3727 Exit UAPSD parameters passed to WDA from UMAC
3728---------------------------------------------------------------------------*/
3729typedef struct
3730{
3731 wpt_uint8 bssIdx;
3732}WDI_ExitUapsdReqinfoType;
3733
3734/*---------------------------------------------------------------------------
3735 WDI_ExitUapsdReqParamsType
3736 Exit UAPSD parameters passed to WDI from WDA
3737---------------------------------------------------------------------------*/
3738typedef struct
3739{
3740 /*Exit UAPSD Info Type, same as tUapsdParams */
3741 WDI_ExitUapsdReqinfoType wdiExitUapsdInfo;
3742 /*Request status callback offered by UMAC - it is called if the current req
3743 has returned PENDING as status; it delivers the status of sending the message
3744 over the BUS */
3745 WDI_ReqStatusCb wdiReqStatusCB;
3746 /*The user data passed in by UMAC, it will be sent back when the above
3747 function pointer will be called */
3748 void* pUserData;
3749}WDI_ExitUapsdReqParamsType;
3750
3751/*---------------------------------------------------------------------------
3752 WDI_ExitUapsdRspParamsType
3753 Exit UAPSD parameters passed from WDI to WDA
3754---------------------------------------------------------------------------*/
3755typedef struct
3756{
3757 /*Status of the response*/
3758 WDI_Status wdiStatus;
3759
3760 /*BssIDX of the session*/
3761 wpt_uint8 bssIdx;
3762}WDI_ExitUapsdRspParamsType;
3763
3764/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003765 WDI_UpdateUapsdReqParamsType
3766 Update UAPSD parameters passed to WDI form WDA
3767---------------------------------------------------------------------------*/
3768typedef struct
3769{
3770 /*Update UAPSD Info Type, same as tUpdateUapsdParams */
3771 WDI_UpdateUapsdReqinfoType wdiUpdateUapsdInfo;
3772 /*Request status callback offered by UMAC - it is called if the current req
3773 has returned PENDING as status; it delivers the status of sending the message
3774 over the BUS */
3775 WDI_ReqStatusCb wdiReqStatusCB;
3776 /*The user data passed in by UMAC, it will be sent back when the above
3777 function pointer will be called */
3778 void* pUserData;
3779}WDI_UpdateUapsdReqParamsType;
3780
3781/*---------------------------------------------------------------------------
3782 WDI_ConfigureRxpFilterReqParamsType
3783 RXP filter parameters passed to WDI form WDA
3784---------------------------------------------------------------------------*/
3785typedef struct
3786{
3787 /* Mode of Mcast and Bcast filters configured */
3788 wpt_uint8 ucSetMcstBcstFilterSetting;
3789
3790 /* Mcast Bcast Filters enable/disable*/
3791 wpt_uint8 ucSetMcstBcstFilter;
3792}WDI_RxpFilterReqParamsType;
3793
3794typedef struct
3795{
3796 /* Rxp Filter */
3797 WDI_RxpFilterReqParamsType wdiRxpFilterParam;
3798
3799 /*Request status callback offered by UMAC - it is called if the current req
3800 has returned PENDING as status; it delivers the status of sending the message
3801 over the BUS */
3802 WDI_ReqStatusCb wdiReqStatusCB;
3803 /*The user data passed in by UMAC, it will be sent back when the above
3804 function pointer will be called */
3805 void* pUserData;
3806}WDI_ConfigureRxpFilterReqParamsType;
3807
3808/*---------------------------------------------------------------------------
3809 WDI_BeaconFilterInfoType
3810 Beacon Filtering data structures passed to WDA form UMAC
3811---------------------------------------------------------------------------*/
3812typedef struct
3813{
3814 wpt_uint16 usCapabilityInfo;
3815 wpt_uint16 usCapabilityMask;
3816 wpt_uint16 usBeaconInterval;
3817 wpt_uint16 usIeNum;
Madan Mohan Koyyalamudia84edda2012-10-15 14:58:25 -07003818 wpt_uint8 bssIdx;
3819 wpt_uint8 reserved;
Jeff Johnson295189b2012-06-20 16:38:30 -07003820}WDI_BeaconFilterInfoType;
3821
3822/*---------------------------------------------------------------------------
3823 WDI_BeaconFilterReqParamsType
3824 Beacon Filtering parameters passed to WDI form WDA
3825---------------------------------------------------------------------------*/
3826typedef struct
3827{
3828 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
3829 WDI_BeaconFilterInfoType wdiBeaconFilterInfo;
3830 /*Beacon Filter(s) follow the "usIeNum" field, hence the array to ease the
3831 copy of params from WDA to WDI */
3832 wpt_uint8 aFilters[WDI_BEACON_FILTER_LEN];
3833 /*Request status callback offered by UMAC - it is called if the current req
3834 has returned PENDING as status; it delivers the status of sending the message
3835 over the BUS */
3836 WDI_ReqStatusCb wdiReqStatusCB;
3837 /*The user data passed in by UMAC, it will be sent back when the above
3838 function pointer will be called */
3839 void* pUserData;
3840}WDI_BeaconFilterReqParamsType;
3841
3842/*---------------------------------------------------------------------------
3843 WDI_RemBeaconFilterInfoType
3844 Beacon Filtering data structures (to be reomoved) passed to WDA form UMAC
3845---------------------------------------------------------------------------*/
3846typedef struct
3847{
3848 wpt_uint8 ucIeCount;
3849 wpt_uint8 ucRemIeId[1];
3850}WDI_RemBeaconFilterInfoType;
3851
3852/*---------------------------------------------------------------------------
3853 WDI_RemBeaconFilterReqParamsType
3854 Beacon Filtering parameters (to be reomoved)passed to WDI form WDA
3855---------------------------------------------------------------------------*/
3856typedef struct
3857{
3858 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
3859 WDI_RemBeaconFilterInfoType wdiBeaconFilterInfo;
3860 /*Request status callback offered by UMAC - it is called if the current req
3861 has returned PENDING as status; it delivers the status of sending the message
3862 over the BUS */
3863 WDI_ReqStatusCb wdiReqStatusCB;
3864 /*The user data passed in by UMAC, it will be sent back when the above
3865 function pointer will be called */
3866 void* pUserData;
3867}WDI_RemBeaconFilterReqParamsType;
3868
3869/*---------------------------------------------------------------------------
3870 WDI_RSSIThresholdsType
3871 RSSI thresholds data structures (to be reomoved) passed to WDA form UMAC
3872---------------------------------------------------------------------------*/
3873typedef struct
3874{
3875 wpt_int8 ucRssiThreshold1 : 8;
3876 wpt_int8 ucRssiThreshold2 : 8;
3877 wpt_int8 ucRssiThreshold3 : 8;
3878 wpt_uint8 bRssiThres1PosNotify : 1;
3879 wpt_uint8 bRssiThres1NegNotify : 1;
3880 wpt_uint8 bRssiThres2PosNotify : 1;
3881 wpt_uint8 bRssiThres2NegNotify : 1;
3882 wpt_uint8 bRssiThres3PosNotify : 1;
3883 wpt_uint8 bRssiThres3NegNotify : 1;
3884 wpt_uint8 bReserved10 : 2;
3885} WDI_RSSIThresholdsType;
3886
3887/*---------------------------------------------------------------------------
3888 WDI_SetRSSIThresholdsReqParamsType
3889 RSSI thresholds parameters (to be reomoved)passed to WDI form WDA
3890---------------------------------------------------------------------------*/
3891typedef struct
3892{
3893 /*RSSI thresholds Info Type, same as WDI_RSSIThresholds */
3894 WDI_RSSIThresholdsType wdiRSSIThresholdsInfo;
3895 /*Request status callback offered by UMAC - it is called if the current req
3896 has returned PENDING as status; it delivers the status of sending the message
3897 over the BUS */
3898 WDI_ReqStatusCb wdiReqStatusCB;
3899 /*The user data passed in by UMAC, it will be sent back when the above
3900 function pointer will be called */
3901 void* pUserData;
3902}WDI_SetRSSIThresholdsReqParamsType;
3903
3904/*---------------------------------------------------------------------------
3905 WDI_HostOffloadReqType
3906 host offload info passed to WDA form UMAC
3907---------------------------------------------------------------------------*/
3908#ifdef WLAN_NS_OFFLOAD
3909typedef struct
3910{
3911 wpt_uint8 srcIPv6Addr[16];
3912 wpt_uint8 selfIPv6Addr[16];
3913 //Only support 2 possible Network Advertisement IPv6 address
3914 wpt_uint8 targetIPv6Addr1[16];
3915 wpt_uint8 targetIPv6Addr2[16];
3916 wpt_uint8 selfMacAddr[6];
3917 wpt_uint8 srcIPv6AddrValid : 1;
3918 wpt_uint8 targetIPv6Addr1Valid : 1;
3919 wpt_uint8 targetIPv6Addr2Valid : 1;
Gopichand Nakkala746a9452013-06-11 12:45:54 +05303920 wpt_uint8 slotIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003921} WDI_NSOffloadParams;
3922#endif //WLAN_NS_OFFLOAD
3923
3924typedef struct
3925{
3926 wpt_uint8 ucOffloadType;
3927 wpt_uint8 ucEnableOrDisable;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003928 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07003929 union
3930 {
3931 wpt_uint8 aHostIpv4Addr [4];
3932 wpt_uint8 aHostIpv6Addr [16];
3933 } params;
3934} WDI_HostOffloadReqType;
3935
3936/*---------------------------------------------------------------------------
3937 WDI_HostOffloadReqParamsType
3938 host offload info passed to WDI form WDA
3939---------------------------------------------------------------------------*/
3940typedef struct
3941{
3942 /*Host offload Info Type, same as tHalHostOffloadReq */
3943 WDI_HostOffloadReqType wdiHostOffloadInfo;
3944#ifdef WLAN_NS_OFFLOAD
3945 WDI_NSOffloadParams wdiNsOffloadParams;
3946#endif //WLAN_NS_OFFLOAD
3947 /*Request status callback offered by UMAC - it is called if the current req
3948 has returned PENDING as status; it delivers the status of sending the message
3949 over the BUS */
3950 WDI_ReqStatusCb wdiReqStatusCB;
3951 /*The user data passed in by UMAC, it will be sent back when the above
3952 function pointer will be called */
3953 void* pUserData;
3954}WDI_HostOffloadReqParamsType;
3955
3956/*---------------------------------------------------------------------------
3957 WDI_KeepAliveReqType
3958 Keep Alive info passed to WDA form UMAC
3959---------------------------------------------------------------------------*/
3960typedef struct
3961{
3962 wpt_uint8 ucPacketType;
3963 wpt_uint32 ucTimePeriod;
3964 wpt_uint8 aHostIpv4Addr[4];
3965 wpt_uint8 aDestIpv4Addr[4];
3966 wpt_uint8 aDestMacAddr[6];
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003967 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07003968} WDI_KeepAliveReqType;
3969
3970/*---------------------------------------------------------------------------
3971 WDI_KeepAliveReqParamsType
3972 Keep Alive passed to WDI form WDA
3973---------------------------------------------------------------------------*/
3974typedef struct
3975{
3976 /* Keep Alive Info Type, same as tHalKeepAliveReq */
3977 WDI_KeepAliveReqType wdiKeepAliveInfo;
3978 /*Request status callback offered by UMAC - it is called if the current req
3979 has returned PENDING as status; it delivers the status of sending the message
3980 over the BUS */
3981 WDI_ReqStatusCb wdiReqStatusCB;
3982 /*The user data passed in by UMAC, it will be sent back when the above
3983 function pointer will be called */
3984 void* pUserData;
3985}WDI_KeepAliveReqParamsType;
3986
3987/*---------------------------------------------------------------------------
3988 WDI_WowlAddBcPtrnInfoType
3989 Wowl add ptrn info passed to WDA form UMAC
3990---------------------------------------------------------------------------*/
3991typedef struct
3992{
3993 wpt_uint8 ucPatternId; // Pattern ID
3994 // Pattern byte offset from beginning of the 802.11 packet to start of the
3995 // wake-up pattern
3996 wpt_uint8 ucPatternByteOffset;
3997 wpt_uint8 ucPatternSize; // Non-Zero Pattern size
3998 wpt_uint8 ucPattern[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern
3999 wpt_uint8 ucPatternMaskSize; // Non-zero pattern mask size
4000 wpt_uint8 ucPatternMask[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern mask
4001 wpt_uint8 ucPatternExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern
4002 wpt_uint8 ucPatternMaskExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern mask
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004003 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004004} WDI_WowlAddBcPtrnInfoType;
4005
4006/*---------------------------------------------------------------------------
4007 WDI_WowlAddBcPtrnReqParamsType
4008 Wowl add ptrn info passed to WDI form WDA
4009---------------------------------------------------------------------------*/
4010typedef struct
4011{
4012 /*Wowl add ptrn Info Type, same as tpSirWowlAddBcastPtrn */
4013 WDI_WowlAddBcPtrnInfoType wdiWowlAddBcPtrnInfo;
4014 /*Request status callback offered by UMAC - it is called if the current req
4015 has returned PENDING as status; it delivers the status of sending the message
4016 over the BUS */
4017 WDI_ReqStatusCb wdiReqStatusCB;
4018 /*The user data passed in by UMAC, it will be sent back when the above
4019 function pointer will be called */
4020 void* pUserData;
4021}WDI_WowlAddBcPtrnReqParamsType;
4022
4023/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004024 WDI_WowlAddBcPtrnRspParamsType
4025 Wowl add ptrn info passed from WDI to WDA
4026---------------------------------------------------------------------------*/
4027typedef struct
4028{
4029 /*Status of the response*/
4030 WDI_Status wdiStatus;
4031 /*BssIDX of the session*/
4032 wpt_uint8 bssIdx;
4033}WDI_WowlAddBcPtrnRspParamsType;
4034
4035/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004036 WDI_WowlDelBcPtrnInfoType
4037 Wowl add ptrn info passed to WDA form UMAC
4038---------------------------------------------------------------------------*/
4039typedef struct
4040{
4041 /* Pattern ID of the wakeup pattern to be deleted */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004042 wpt_uint8 ucPatternId;
4043 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004044} WDI_WowlDelBcPtrnInfoType;
4045
4046/*---------------------------------------------------------------------------
4047 WDI_WowlDelBcPtrnReqParamsType
4048 Wowl add ptrn info passed to WDI form WDA
4049---------------------------------------------------------------------------*/
4050typedef struct
4051{
4052 /*Wowl delete ptrn Info Type, same as WDI_WowlDelBcastPtrn */
4053 WDI_WowlDelBcPtrnInfoType wdiWowlDelBcPtrnInfo;
4054 /*Request status callback offered by UMAC - it is called if the current req
4055 has returned PENDING as status; it delivers the status of sending the message
4056 over the BUS */
4057 WDI_ReqStatusCb wdiReqStatusCB;
4058 /*The user data passed in by UMAC, it will be sent back when the above
4059 function pointer will be called */
4060 void* pUserData;
4061}WDI_WowlDelBcPtrnReqParamsType;
4062
4063/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004064 WDI_WowlDelBcPtrnRspParamsType
4065 Wowl Del ptrn info passed from WDI to WDA
4066---------------------------------------------------------------------------*/
4067typedef struct
4068{
4069 /*Status of the response*/
4070 WDI_Status wdiStatus;
4071 /*BssIDX of the session*/
4072 wpt_uint8 bssIdx;
4073}WDI_WowlDelBcPtrnRspParamsType;
4074
4075/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004076 WDI_WowlEnterInfoType
4077 Wowl enter info passed to WDA form UMAC
4078---------------------------------------------------------------------------*/
4079typedef struct
4080{
4081 /* Enables/disables magic packet filtering */
4082 wpt_uint8 ucMagicPktEnable;
4083
4084 /* Magic pattern */
4085 wpt_macAddr magicPtrn;
4086
4087 /* Enables/disables packet pattern filtering in firmware.
4088 Enabling this flag enables broadcast pattern matching
4089 in Firmware. If unicast pattern matching is also desired,
4090 ucUcastPatternFilteringEnable flag must be set tot true
4091 as well
4092 */
4093 wpt_uint8 ucPatternFilteringEnable;
4094
4095 /* Enables/disables unicast packet pattern filtering.
4096 This flag specifies whether we want to do pattern match
4097 on unicast packets as well and not just broadcast packets.
4098 This flag has no effect if the ucPatternFilteringEnable
4099 (main controlling flag) is set to false
4100 */
4101 wpt_uint8 ucUcastPatternFilteringEnable;
4102
4103 /* This configuration is valid only when magicPktEnable=1.
4104 * It requests hardware to wake up when it receives the
4105 * Channel Switch Action Frame.
4106 */
4107 wpt_uint8 ucWowChnlSwitchRcv;
4108
4109 /* This configuration is valid only when magicPktEnable=1.
4110 * It requests hardware to wake up when it receives the
4111 * Deauthentication Frame.
4112 */
4113 wpt_uint8 ucWowDeauthRcv;
4114
4115 /* This configuration is valid only when magicPktEnable=1.
4116 * It requests hardware to wake up when it receives the
4117 * Disassociation Frame.
4118 */
4119 wpt_uint8 ucWowDisassocRcv;
4120
4121 /* This configuration is valid only when magicPktEnable=1.
4122 * It requests hardware to wake up when it has missed
4123 * consecutive beacons. This is a hardware register
4124 * configuration (NOT a firmware configuration).
4125 */
4126 wpt_uint8 ucWowMaxMissedBeacons;
4127
4128 /* This configuration is valid only when magicPktEnable=1.
4129 * This is a timeout value in units of microsec. It requests
4130 * hardware to unconditionally wake up after it has stayed
4131 * in WoWLAN mode for some time. Set 0 to disable this feature.
4132 */
4133 wpt_uint8 ucWowMaxSleepUsec;
4134
4135#ifdef WLAN_WAKEUP_EVENTS
4136 /* This configuration directs the WoW packet filtering to look for EAP-ID
4137 * requests embedded in EAPOL frames and use this as a wake source.
4138 */
4139 wpt_uint8 ucWoWEAPIDRequestEnable;
4140
4141 /* This configuration directs the WoW packet filtering to look for EAPOL-4WAY
4142 * requests and use this as a wake source.
4143 */
4144 wpt_uint8 ucWoWEAPOL4WayEnable;
4145
4146 /* This configuration allows a host wakeup on an network scan offload match.
4147 */
4148 wpt_uint8 ucWowNetScanOffloadMatch;
4149
4150 /* This configuration allows a host wakeup on any GTK rekeying error.
4151 */
4152 wpt_uint8 ucWowGTKRekeyError;
4153
4154 /* This configuration allows a host wakeup on BSS connection loss.
4155 */
4156 wpt_uint8 ucWoWBSSConnLoss;
4157#endif // WLAN_WAKEUP_EVENTS
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004158
4159 /* BSSIDX used to find the current session
4160 */
4161 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004162} WDI_WowlEnterInfoType;
4163
4164/*---------------------------------------------------------------------------
4165 WDI_WowlEnterReqParamsType
4166 Wowl enter info passed to WDI form WDA
4167---------------------------------------------------------------------------*/
4168typedef struct
4169{
4170 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
4171 WDI_WowlEnterInfoType wdiWowlEnterInfo;
4172 /*Request status callback offered by UMAC - it is called if the current req
4173 has returned PENDING as status; it delivers the status of sending the message
4174 over the BUS */
4175 WDI_ReqStatusCb wdiReqStatusCB;
4176 /*The user data passed in by UMAC, it will be sent back when the above
4177 function pointer will be called */
4178 void* pUserData;
4179}WDI_WowlEnterReqParamsType;
4180
4181/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004182 WDI_WowlEnterRsqParamsType
4183 Wowl enter info passed from WDI to WDA
4184---------------------------------------------------------------------------*/
4185typedef struct
4186{
4187 /*Status of the response message*/
4188 WDI_Status status;
4189
4190 /* BSSIDX used to find the current session
4191 */
4192 wpt_uint8 bssIdx;
4193}WDI_WowlEnterRspParamsType;
4194
4195/*---------------------------------------------------------------------------
4196 WDI_WowlExitInfoType
4197 Wowl exit info passed to WDA form UMAC
4198 ---------------------------------------------------------------------------*/
4199typedef struct
4200{
4201 /* BSSIDX used to find the current session
4202 */
4203 wpt_uint8 bssIdx;
4204} WDI_WowlExitInfoType;
4205
4206/*---------------------------------------------------------------------------
4207 WDI_WowlExitReqParamsType
4208 Wowl exit info passed to WDI form WDA
4209---------------------------------------------------------------------------*/
4210typedef struct
4211{
4212 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
4213 WDI_WowlExitInfoType wdiWowlExitInfo;
4214 /*Request status callback offered by UMAC - it is called if the current req
4215 has returned PENDING as status; it delivers the status of sending the message
4216 over the BUS */
4217 WDI_ReqStatusCb wdiReqStatusCB;
4218 /*The user data passed in by UMAC, it will be sent back when the above
4219 function pointer will be called */
4220 void* pUserData;
4221}WDI_WowlExitReqParamsType;
4222
4223/*---------------------------------------------------------------------------
4224 WDI_WowlExitRspParamsType
4225 Wowl exit info passed from WDI to WDA
4226---------------------------------------------------------------------------*/
4227typedef struct
4228{
4229 /*Status of the response message*/
4230 WDI_Status status;
4231
4232 /* BSSIDX used to find the current session
4233 */
4234 wpt_uint8 bssIdx;
4235}WDI_WowlExitRspParamsType;
4236
4237/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004238 WDI_ConfigureAppsCpuWakeupStateReqParamsType
4239 Apps Cpu Wakeup State parameters passed to WDI form WDA
4240---------------------------------------------------------------------------*/
4241typedef struct
4242{
4243 /*Depicts the state of the Apps CPU */
4244 wpt_boolean bIsAppsAwake;
4245 /*Request status callback offered by UMAC - it is called if the current req
4246 has returned PENDING as status; it delivers the status of sending the message
4247 over the BUS */
4248 WDI_ReqStatusCb wdiReqStatusCB;
4249 /*The user data passed in by UMAC, it will be sent back when the above
4250 function pointer will be called */
4251 void* pUserData;
4252}WDI_ConfigureAppsCpuWakeupStateReqParamsType;
4253/*---------------------------------------------------------------------------
4254 WDI_FlushAcReqinfoType
4255---------------------------------------------------------------------------*/
4256typedef struct
4257{
4258 // Message Type
4259 wpt_uint16 usMesgType;
4260
4261 // Message Length
4262 wpt_uint16 usMesgLen;
4263
4264 // Station Index. originates from HAL
4265 wpt_uint8 ucSTAId;
4266
4267 // TID for which the transmit queue is being flushed
4268 wpt_uint8 ucTid;
4269
4270}WDI_FlushAcReqinfoType;
4271
4272/*---------------------------------------------------------------------------
4273 WDI_FlushAcReqParamsType
4274---------------------------------------------------------------------------*/
4275typedef struct
4276{
4277 /*AC Info */
4278 WDI_FlushAcReqinfoType wdiFlushAcInfo;
4279
4280 /*Request status callback offered by UMAC - it is called if the current
4281 req has returned PENDING as status; it delivers the status of sending
4282 the message over the BUS */
4283 WDI_ReqStatusCb wdiReqStatusCB;
4284
4285 /*The user data passed in by UMAC, it will be sent back when the above
4286 function pointer will be called */
4287 void* pUserData;
4288}WDI_FlushAcReqParamsType;
4289
4290/*---------------------------------------------------------------------------
4291 WDI_BtAmpEventinfoType
4292 BT-AMP Event Structure
4293---------------------------------------------------------------------------*/
4294typedef struct
4295{
4296 wpt_uint8 ucBtAmpEventType;
4297
4298} WDI_BtAmpEventinfoType;
4299
4300/*---------------------------------------------------------------------------
4301 WDI_BtAmpEventParamsType
4302---------------------------------------------------------------------------*/
4303typedef struct
4304{
4305 /*BT AMP event Info */
4306 WDI_BtAmpEventinfoType wdiBtAmpEventInfo;
4307
4308 /*Request status callback offered by UMAC - it is called if the current
4309 req has returned PENDING as status; it delivers the status of sending
4310 the message over the BUS */
4311 WDI_ReqStatusCb wdiReqStatusCB;
4312
4313 /*The user data passed in by UMAC, it will be sent back when the above
4314 function pointer will be called */
4315 void* pUserData;
4316}WDI_BtAmpEventParamsType;
4317
Jeff Johnsone7245742012-09-05 17:12:55 -07004318#ifdef FEATURE_OEM_DATA_SUPPORT
4319
4320#ifndef OEM_DATA_REQ_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004321#define OEM_DATA_REQ_SIZE 134
Jeff Johnsone7245742012-09-05 17:12:55 -07004322#endif
4323#ifndef OEM_DATA_RSP_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004324#define OEM_DATA_RSP_SIZE 1968
Jeff Johnsone7245742012-09-05 17:12:55 -07004325#endif
4326
4327/*----------------------------------------------------------------------------
4328 WDI_oemDataReqInfoType
4329----------------------------------------------------------------------------*/
4330typedef struct
4331{
4332 wpt_macAddr selfMacAddr;
4333 wpt_uint8 oemDataReq[OEM_DATA_REQ_SIZE];
4334}WDI_oemDataReqInfoType;
4335
4336/*----------------------------------------------------------------------------
4337 WDI_oemDataReqParamsType
4338----------------------------------------------------------------------------*/
4339typedef struct
4340{
4341 /*Request status callback offered by UMAC - it is called if the current
4342 req has returned PENDING as status; it delivers the status of sending
4343 the message over the BUS */
4344 WDI_ReqStatusCb wdiReqStatusCB;
4345
4346 /*The user data passed in by UMAC, it will be sent back when the above
4347 function pointer will be called */
4348 void* pUserData;
4349
4350 /*OEM DATA REQ Info */
4351 WDI_oemDataReqInfoType wdiOemDataReqInfo;
4352
4353}WDI_oemDataReqParamsType;
4354
4355/*----------------------------------------------------------------------------
4356 WDI_oemDataRspParamsType
4357----------------------------------------------------------------------------*/
4358typedef struct
4359{
4360 wpt_uint8 oemDataRsp[OEM_DATA_RSP_SIZE];
4361}WDI_oemDataRspParamsType;
4362
4363#endif /* FEATURE_OEM_DATA_SUPPORT */
Jeff Johnson295189b2012-06-20 16:38:30 -07004364
4365#ifdef WLAN_FEATURE_VOWIFI_11R
4366/*---------------------------------------------------------------------------
4367 WDI_AggrAddTSReqInfoType
4368---------------------------------------------------------------------------*/
4369typedef struct
4370{
4371 /*STA Index*/
4372 wpt_uint8 ucSTAIdx;
4373
4374 /*Identifier for TSpec*/
4375 wpt_uint8 ucTspecIdx;
4376
4377 /*Tspec IE negotiated OTA*/
4378 WDI_TspecIEType wdiTspecIE[WDI_MAX_NO_AC];
4379
4380 /*UAPSD delivery and trigger enabled flags */
4381 wpt_uint8 ucUapsdFlags;
4382
4383 /*SI for each AC*/
4384 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
4385
4386 /*Suspend Interval for each AC*/
4387 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
4388
4389 /*DI for each AC*/
4390 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
4391
4392}WDI_AggrAddTSReqInfoType;
4393
4394
4395/*---------------------------------------------------------------------------
4396 WDI_AggrAddTSReqParamsType
4397---------------------------------------------------------------------------*/
4398typedef struct
4399{
4400 /*TSpec Info */
4401 WDI_AggrAddTSReqInfoType wdiAggrTsInfo;
4402
4403 /*Request status callback offered by UMAC - it is called if the current
4404 req has returned PENDING as status; it delivers the status of sending
4405 the message over the BUS */
4406 WDI_ReqStatusCb wdiReqStatusCB;
4407
4408 /*The user data passed in by UMAC, it will be sent back when the above
4409 function pointer will be called */
4410 void* pUserData;
4411}WDI_AggrAddTSReqParamsType;
4412
4413#endif /* WLAN_FEATURE_VOWIFI_11R */
4414
Jeff Johnson295189b2012-06-20 16:38:30 -07004415/*---------------------------------------------------------------------------
4416 WDI_FTMCommandReqType
4417---------------------------------------------------------------------------*/
4418typedef struct
4419{
4420 /* FTM Command Body length */
4421 wpt_uint32 bodyLength;
4422 /* Actual FTM Command body */
4423 void *FTMCommandBody;
4424}WDI_FTMCommandReqType;
Jeff Johnson295189b2012-06-20 16:38:30 -07004425
4426/*---------------------------------------------------------------------------
4427 WDI_WlanSuspendInfoType
4428---------------------------------------------------------------------------*/
4429typedef struct
4430{
4431 /* Mode of Mcast and Bcast filters configured */
4432 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4433}WDI_WlanSuspendInfoType;
4434
4435/*---------------------------------------------------------------------------
4436 WDI_SuspendParamsType
4437---------------------------------------------------------------------------*/
4438typedef struct
4439{
4440 WDI_WlanSuspendInfoType wdiSuspendParams;
4441
4442 /*Request status callback offered by UMAC - it is called if the current
4443 req has returned PENDING as status; it delivers the status of sending
4444 the message over the BUS */
4445 WDI_ReqStatusCb wdiReqStatusCB;
4446
4447 /*The user data passed in by UMAC, it will be sent back when the above
4448 function pointer will be called */
4449 void* pUserData;
4450
4451}WDI_SuspendParamsType;
4452
4453/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004454 WDI_TrafficStatsType - This is collected for each STA
4455---------------------------------------------------------------------------*/
4456
4457typedef struct
4458{
4459 /* TX stats */
4460 wpt_uint32 txBytesPushed;
4461 wpt_uint32 txPacketsPushed;
4462
4463 /* RX stats */
4464 wpt_uint32 rxBytesRcvd;
4465 wpt_uint32 rxPacketsRcvd;
4466 wpt_uint32 rxTimeTotal;
4467}WDI_TrafficStatsType;
4468
4469typedef struct
4470{
4471 WDI_TrafficStatsType *pTrafficStats;
4472 wpt_uint32 length;
4473 wpt_uint32 duration;
4474
4475 /*Request status callback offered by UMAC - it is called if the current
4476 req has returned PENDING as status; it delivers the status of sending
4477 the message over the BUS */
4478 WDI_ReqStatusCb wdiReqStatusCB;
4479
4480 /*The user data passed in by UMAC, it will be sent back when the above
4481 function pointer will be called */
4482 void* pUserData;
4483}WDI_TrafficStatsIndType;
4484
Chet Lanctot186b5732013-03-18 10:26:30 -07004485#ifdef WLAN_FEATURE_11W
4486typedef struct
4487{
4488
4489 wpt_boolean bExcludeUnencrypt;
4490 wpt_macAddr bssid;
4491 /*Request status callback offered by UMAC - it is called if the current
4492 req has returned PENDING as status; it delivers the status of sending
4493 the message over the BUS */
4494 WDI_ReqStatusCb wdiReqStatusCB;
4495
4496 /*The user data passed in by UMAC, it will be sent back when the above
4497 function pointer will be called */
4498 void* pUserData;
4499}WDI_ExcludeUnencryptIndType;
4500#endif
4501
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004502/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004503 WDI_WlanResumeInfoType
4504---------------------------------------------------------------------------*/
4505typedef struct
4506{
4507 /* Mode of Mcast and Bcast filters configured */
4508 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4509}WDI_WlanResumeInfoType;
4510
4511/*---------------------------------------------------------------------------
4512 WDI_ResumeParamsType
4513---------------------------------------------------------------------------*/
4514typedef struct
4515{
4516 WDI_WlanResumeInfoType wdiResumeParams;
4517
4518 /*Request status callback offered by UMAC - it is called if the current
4519 req has returned PENDING as status; it delivers the status of sending
4520 the message over the BUS */
4521 WDI_ReqStatusCb wdiReqStatusCB;
4522
4523 /*The user data passed in by UMAC, it will be sent back when the above
4524 function pointer will be called */
4525 void* pUserData;
4526
4527}WDI_ResumeParamsType;
4528
4529#ifdef WLAN_FEATURE_GTK_OFFLOAD
4530/*---------------------------------------------------------------------------
4531 * WDI_GTK_OFFLOAD_REQ
4532 *--------------------------------------------------------------------------*/
4533
4534typedef struct
4535{
4536 wpt_uint32 ulFlags; /* optional flags */
4537 wpt_uint8 aKCK[16]; /* Key confirmation key */
4538 wpt_uint8 aKEK[16]; /* key encryption key */
4539 wpt_uint64 ullKeyReplayCounter; /* replay counter */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004540 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004541} WDI_GtkOffloadReqParams;
4542
4543typedef struct
4544{
4545 WDI_GtkOffloadReqParams gtkOffloadReqParams;
4546
4547 /*Request status callback offered by UMAC - it is called if the current
4548 req has returned PENDING as status; it delivers the status of sending
4549 the message over the BUS */
4550 WDI_ReqStatusCb wdiReqStatusCB;
4551
4552 /*The user data passed in by UMAC, it will be sent back when the above
4553 function pointer will be called */
4554 void* pUserData;
4555} WDI_GtkOffloadReqMsg;
4556
4557/*---------------------------------------------------------------------------
4558 * WDI_GTK_OFFLOAD_RSP
4559 *--------------------------------------------------------------------------*/
4560typedef struct
4561{
4562 /* success or failure */
4563 wpt_uint32 ulStatus;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004564 /*BssIdx of the response */
4565 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004566} WDI_GtkOffloadRspParams;
4567
4568typedef struct
4569{
4570 WDI_GtkOffloadRspParams gtkOffloadRspParams;
4571
4572 /*Request status callback offered by UMAC - it is called if the current
4573 req has returned PENDING as status; it delivers the status of sending
4574 the message over the BUS */
4575 WDI_ReqStatusCb wdiReqStatusCB;
4576
4577 /*The user data passed in by UMAC, it will be sent back when the above
4578 function pointer will be called */
4579 void* pUserData;
4580} WDI_GtkOffloadRspMsg;
4581
4582
4583/*---------------------------------------------------------------------------
4584* WDI_GTK_OFFLOAD_GETINFO_REQ
4585*--------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004586typedef struct
4587{
4588 /*BssIdx of the response */
4589 wpt_macAddr bssId;
4590} WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004591
4592typedef struct
4593{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004594
4595 WDI_GtkOffloadGetInfoReqParams WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004596 /*Request status callback offered by UMAC - it is called if the current
4597 req has returned PENDING as status; it delivers the status of sending
4598 the message over the BUS */
4599 WDI_ReqStatusCb wdiReqStatusCB;
4600
4601 /*The user data passed in by UMAC, it will be sent back when the above
4602 function pointer will be called */
4603 void* pUserData;
4604} WDI_GtkOffloadGetInfoReqMsg;
4605
4606/*---------------------------------------------------------------------------
4607* WDI_GTK_OFFLOAD_GETINFO_RSP
4608*--------------------------------------------------------------------------*/
4609typedef struct
4610{
4611 wpt_uint32 ulStatus; /* success or failure */
4612 wpt_uint64 ullKeyReplayCounter; /* current replay counter value */
4613 wpt_uint32 ulTotalRekeyCount; /* total rekey attempts */
4614 wpt_uint32 ulGTKRekeyCount; /* successful GTK rekeys */
4615 wpt_uint32 ulIGTKRekeyCount; /* successful iGTK rekeys */
Gopichand Nakkala870cbae2013-03-15 21:16:09 +05304616 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004617} WDI_GtkOffloadGetInfoRspParams;
4618
4619typedef struct
4620{
4621 WDI_GtkOffloadGetInfoRspParams gtkOffloadGetInfoRspParams;
4622
4623 /*Request status callback offered by UMAC - it is called if the current
4624 req has returned PENDING as status; it delivers the status of sending
4625 the message over the BUS */
4626 WDI_ReqStatusCb wdiReqStatusCB;
4627
4628 /*The user data passed in by UMAC, it will be sent back when the above
4629 function pointer will be called */
4630 void* pUserData;
4631} WDI_GtkOffloadGetInfoRspMsg;
4632#endif // WLAN_FEATURE_GTK_OFFLOAD
4633
4634/*---------------------------------------------------------------------------
4635 WDI_SuspendResumeRspParamsType
4636---------------------------------------------------------------------------*/
4637typedef struct
4638{
4639 /*Status of the response*/
4640 WDI_Status wdiStatus;
4641}WDI_SuspendResumeRspParamsType;
4642
Leo Chang9056f462013-08-01 19:21:11 -07004643#ifdef FEATURE_WLAN_LPHB
4644/*---------------------------------------------------------------------------
4645 WDI Low Power Heart Beat Config request
4646 Copy from sirApi.h to avoid compile error
4647---------------------------------------------------------------------------*/
4648#define WDI_LPHB_FILTER_LEN 64
4649
4650typedef enum
4651{
4652 WDI_LPHB_SET_EN_PARAMS_INDID = 0x0001,
4653 WDI_LPHB_SET_TCP_PARAMS_INDID,
4654 WDI_LPHB_SET_TCP_PKT_FILTER_INDID,
4655 WDI_LPHB_SET_UDP_PARAMS_INDID,
4656 WDI_LPHB_SET_UDP_PKT_FILTER_INDID,
4657 WDI_LPHB_SET_NETWORK_INFO_INDID,
4658} WDI_LPHBIndType;
4659
4660typedef struct
4661{
4662 wpt_uint8 enable;
4663 wpt_uint8 item;
4664 wpt_uint8 session;
4665} WDI_LPHBEnableStruct;
4666
4667typedef struct
4668{
4669 wpt_uint32 srv_ip;
4670 wpt_uint32 dev_ip;
4671 wpt_uint16 src_port;
4672 wpt_uint16 dst_port;
4673 wpt_uint16 timeout;
4674 wpt_uint8 session;
4675 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
Leo Changd9df8aa2013-09-26 13:32:26 -07004676 wpt_uint16 timePeriodSec; // in seconds
4677 wpt_uint32 tcpSn;
Leo Chang9056f462013-08-01 19:21:11 -07004678} WDI_LPHBTcpParamStruct;
4679
4680typedef struct
4681{
4682 wpt_uint16 length;
4683 wpt_uint8 offset;
4684 wpt_uint8 session;
4685 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
4686} WDI_LPHBTcpFilterStruct;
4687
4688typedef struct
4689{
4690 wpt_uint32 srv_ip;
4691 wpt_uint32 dev_ip;
4692 wpt_uint16 src_port;
4693 wpt_uint16 dst_port;
4694 wpt_uint16 interval;
4695 wpt_uint16 timeout;
4696 wpt_uint8 session;
4697 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
4698} WDI_LPHBUdpParamStruct;
4699
4700typedef struct
4701{
4702 wpt_uint16 length;
4703 wpt_uint8 offset;
4704 wpt_uint8 session;
4705 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
4706} WDI_LPHBUdpFilterStruct;
4707
4708typedef struct
4709{
4710 wpt_uint16 cmd;
4711 wpt_uint16 dummy;
4712 union
4713 {
4714 WDI_LPHBEnableStruct lphbEnableReq;
4715 WDI_LPHBTcpParamStruct lphbTcpParamReq;
4716 WDI_LPHBTcpFilterStruct lphbTcpFilterReq;
4717 WDI_LPHBUdpParamStruct lphbUdpParamReq;
4718 WDI_LPHBUdpFilterStruct lphbUdpFilterReq;
4719 } params;
4720} WDI_LPHBReq;
4721#endif /* FEATURE_WLAN_LPHB */
Jeff Johnson295189b2012-06-20 16:38:30 -07004722
Jeff Johnson295189b2012-06-20 16:38:30 -07004723/*---------------------------------------------------------------------------
4724 WDI_AuthType
4725---------------------------------------------------------------------------*/
4726typedef enum
4727{
4728 WDI_AUTH_TYPE_ANY = 0,
4729
4730 WDI_AUTH_TYPE_NONE,
4731 WDI_AUTH_TYPE_OPEN_SYSTEM,
4732 WDI_AUTH_TYPE_SHARED_KEY,
4733
4734 WDI_AUTH_TYPE_WPA,
4735 WDI_AUTH_TYPE_WPA_PSK,
4736 WDI_AUTH_TYPE_WPA_NONE,
4737
4738 WDI_AUTH_TYPE_RSN,
4739 WDI_AUTH_TYPE_RSN_PSK,
4740 WDI_AUTH_TYPE_FT_RSN,
4741 WDI_AUTH_TYPE_FT_RSN_PSK,
4742 WDI_AUTH_TYPE_WAPI_WAI_CERTIFICATE,
4743 WDI_AUTH_TYPE_WAPI_WAI_PSK,
4744 WDI_AUTH_TYPE_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
4745
4746}WDI_AuthType;
4747
4748/*---------------------------------------------------------------------------
4749 WDI_EdType
4750---------------------------------------------------------------------------*/
4751typedef enum
4752{
4753 WDI_ED_ANY = 0,
4754 WDI_ED_NONE,
4755 WDI_ED_WEP40,
4756 WDI_ED_WEP104,
4757 WDI_ED_TKIP,
4758 WDI_ED_CCMP,
4759 WDI_ED_WPI,
4760 WDI_ED_AES_128_CMAC,
4761 WDI_ED_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
4762} WDI_EdType;
4763
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08004764#ifdef FEATURE_WLAN_SCAN_PNO
4765
4766/*Max number of channels for a given network supported by PNO*/
4767#define WDI_PNO_MAX_NETW_CHANNELS 26
4768
4769/*Max number of channels for a given network supported by PNO*/
4770#define WDI_PNO_MAX_NETW_CHANNELS_EX 60
4771
4772/*The max number of programable networks for PNO*/
4773#define WDI_PNO_MAX_SUPP_NETWORKS 16
4774
4775/*The max number of scan timers programable in Riva*/
4776#define WDI_PNO_MAX_SCAN_TIMERS 10
4777
4778#define WDI_PNO_MAX_PROBE_SIZE 450
Jeff Johnson295189b2012-06-20 16:38:30 -07004779
4780/*---------------------------------------------------------------------------
4781 WDI_PNOMode
4782---------------------------------------------------------------------------*/
4783typedef enum
4784{
4785 /*Network offload is to start immediately*/
4786 WDI_PNO_MODE_IMMEDIATE,
4787
4788 /*Network offload is to start on host suspend*/
4789 WDI_PNO_MODE_ON_SUSPEND,
4790
4791 /*Network offload is to start on host resume*/
4792 WDI_PNO_MODE_ON_RESUME,
4793 WDI_PNO_MODE_MAX = 0xFFFFFFFF
4794} WDI_PNOMode;
4795
4796/* SSID broadcast type */
4797typedef enum
4798{
4799 WDI_BCAST_UNKNOWN = 0,
4800 WDI_BCAST_NORMAL = 1,
4801 WDI_BCAST_HIDDEN = 2,
4802
4803 WDI_BCAST_TYPE_MAX = 0xFFFFFFFF
4804} WDI_SSIDBcastType;
4805
4806/*---------------------------------------------------------------------------
4807 WDI_NetworkType
4808---------------------------------------------------------------------------*/
4809typedef struct
4810{
4811 /*The SSID of the preferred network*/
4812 WDI_MacSSid ssId;
4813
4814 /*The authentication method of the preferred network*/
4815 WDI_AuthType wdiAuth;
4816
4817 /*The encryption method of the preferred network*/
4818 WDI_EdType wdiEncryption;
4819
4820 /*SSID broadcast type, normal, hidden or unknown*/
4821 WDI_SSIDBcastType wdiBcastNetworkType;
4822
4823 /*channel count - 0 for all channels*/
4824 wpt_uint8 ucChannelCount;
4825
4826 /*the actual channels*/
Madan Mohan Koyyalamudi4bb5d2e2013-09-26 17:36:46 +05304827 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
Jeff Johnson295189b2012-06-20 16:38:30 -07004828
4829 /*rssi threshold that a network must meet to be considered, 0 - for any*/
4830 wpt_uint8 rssiThreshold;
4831} WDI_NetworkType;
4832
4833
4834/*---------------------------------------------------------------------------
4835 WDI_ScanTimer
4836---------------------------------------------------------------------------*/
4837typedef struct
4838{
4839 /*The timer value*/
4840 wpt_uint32 uTimerValue;
4841
4842 /*The amount of time we should be repeating the interval*/
4843 wpt_uint32 uTimerRepeat;
4844} WDI_ScanTimer;
4845
4846/*---------------------------------------------------------------------------
4847 WDI_ScanTimersType
4848---------------------------------------------------------------------------*/
4849typedef struct
4850{
4851 /*The number of value pair intervals present in the array*/
4852 wpt_uint8 ucScanTimersCount;
4853
4854 /*The time-repeat value pairs*/
4855 WDI_ScanTimer aTimerValues[WDI_PNO_MAX_SCAN_TIMERS];
4856} WDI_ScanTimersType;
4857
4858/*---------------------------------------------------------------------------
4859 WDI_PNOScanReqType
4860---------------------------------------------------------------------------*/
4861typedef struct
4862{
4863 /*Enable or disable PNO feature*/
4864 wpt_uint8 bEnable;
4865
4866 /*PNO mode requested*/
4867 WDI_PNOMode wdiModePNO;
4868
4869 /*Network count*/
4870 wpt_uint8 ucNetworksCount;
4871
4872 /*The networks to look for*/
4873 WDI_NetworkType aNetworks[WDI_PNO_MAX_SUPP_NETWORKS];
4874
4875 /*Scan timer intervals*/
4876 WDI_ScanTimersType scanTimers;
4877
4878 /*Probe template for 2.4GHz band*/
4879 wpt_uint16 us24GProbeSize;
4880 wpt_uint8 a24GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
4881
4882 /*Probe template for 5GHz band*/
4883 wpt_uint16 us5GProbeSize;
4884 wpt_uint8 a5GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
4885} WDI_PNOScanReqType;
4886
4887/*---------------------------------------------------------------------------
4888 WDI_PNOScanReqParamsType
4889 PNO info passed to WDI form WDA
4890---------------------------------------------------------------------------*/
4891typedef struct
4892{
4893 /* PNO Info Type, same as tPrefNetwListParams */
4894 WDI_PNOScanReqType wdiPNOScanInfo;
4895 /* Request status callback offered by UMAC - it is called if the current req
4896 has returned PENDING as status; it delivers the status of sending the message
4897 over the BUS */
4898 WDI_ReqStatusCb wdiReqStatusCB;
4899 /* The user data passed in by UMAC, it will be sent back when the above
4900 function pointer will be called */
4901 void* pUserData;
4902} WDI_PNOScanReqParamsType;
4903
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08004904/*---------------------------------------------------------------------------
4905 WDI_SetRssiFilterReqParamsType
4906 PNO info passed to WDI form WDA
4907---------------------------------------------------------------------------*/
4908typedef struct
4909{
4910 /* RSSI Threshold */
4911 wpt_uint8 rssiThreshold;
4912 /* Request status callback offered by UMAC - it is called if the current req
4913 has returned PENDING as status; it delivers the status of sending the message
4914 over the BUS */
4915 WDI_ReqStatusCb wdiReqStatusCB;
4916 /* The user data passed in by UMAC, it will be sent back when the above
4917 function pointer will be called */
4918 void* pUserData;
4919} WDI_SetRssiFilterReqParamsType;
4920
4921/*---------------------------------------------------------------------------
4922 WDI_UpdateScanParamsInfo
4923---------------------------------------------------------------------------*/
4924typedef struct
4925{
4926 /*Is 11d enabled*/
4927 wpt_uint8 b11dEnabled;
4928
4929 /*Was UMAc able to find the regulatory domain*/
4930 wpt_uint8 b11dResolved;
4931
4932 /*Number of channel allowed in the regulatory domain*/
4933 wpt_uint8 ucChannelCount;
4934
4935 /*The actual channels allowed in the regulatory domain*/
4936 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
4937
4938 /*Passive min channel time*/
4939 wpt_uint16 usPassiveMinChTime;
4940
4941 /*Passive max channel time*/
4942 wpt_uint16 usPassiveMaxChTime;
4943
4944 /*Active min channel time*/
4945 wpt_uint16 usActiveMinChTime;
4946
4947 /*Active max channel time*/
4948 wpt_uint16 usActiveMaxChTime;
4949
4950 /*channel bonding info*/
4951 wpt_uint8 cbState;
4952} WDI_UpdateScanParamsInfo;
4953
4954/*---------------------------------------------------------------------------
4955 WDI_UpdateScanParamsInfoType
4956 UpdateScanParams info passed to WDI form WDA
4957---------------------------------------------------------------------------*/
4958typedef struct
4959{
4960 /* PNO Info Type, same as tUpdateScanParams */
4961 WDI_UpdateScanParamsInfo wdiUpdateScanParamsInfo;
4962 /* Request status callback offered by UMAC - it is called if the current req
4963 has returned PENDING as status; it delivers the status of sending the message
4964 over the BUS */
4965 WDI_ReqStatusCb wdiReqStatusCB;
4966 /* The user data passed in by UMAC, it will be sent back when the above
4967 function pointer will be called */
4968 void* pUserData;
4969} WDI_UpdateScanParamsInfoType;
4970#endif //FEATURE_WLAN_SCAN_PNO
4971
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004972#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
4973
Varun Reddy Yeturu52231ea2014-02-06 12:00:56 -08004974#define WDI_ROAM_SCAN_MAX_CHANNELS 80
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08004975#define WDI_ROAM_SCAN_MAX_PROBE_SIZE 450
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08004976
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004977typedef struct
4978{
4979 /*The SSID of the preferred network*/
4980 WDI_MacSSid ssId;
4981 wpt_uint8 currAPbssid[WDI_MAC_ADDR_LEN];
4982
4983 /*The authentication method of the preferred network*/
4984 WDI_AuthType authentication;
4985
4986 /*The encryption method of the preferred network*/
4987 WDI_EdType encryption;
4988 WDI_EdType mcencryption;
4989
4990 /*SSID broadcast type, normal, hidden or unknown*/
4991 //WDI_SSIDBcastType wdiBcastNetworkType;
4992
4993 /*channel count - 0 for all channels*/
4994 wpt_uint8 ChannelCount;
4995
4996 /*the actual channels*/
4997 wpt_uint8 ChannelCache[WDI_ROAM_SCAN_MAX_CHANNELS];
4998
4999} WDI_RoamNetworkType;
5000
5001typedef struct WDIMobilityDomainInfo
5002{
5003 wpt_uint8 mdiePresent;
5004 wpt_uint16 mobilityDomain;
5005} WDI_MobilityDomainInfo;
5006
5007/*---------------------------------------------------------------------------
5008 WDI_RoamOffloadScanInfo
5009---------------------------------------------------------------------------*/
5010typedef struct
5011{
5012 wpt_boolean RoamScanOffloadEnabled;
Sameer Thalappil4ae66ec2013-11-05 14:17:35 -08005013 wpt_boolean MAWCEnabled;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005014 wpt_uint8 LookupThreshold;
Varun Reddy Yeturu6c5e25c2014-01-09 21:55:37 -08005015 wpt_uint8 RxSensitivityThreshold;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005016 wpt_uint8 RoamRssiDiff;
5017 wpt_uint8 ChannelCacheType;
5018 wpt_uint8 Command;
5019 wpt_uint8 StartScanReason;
5020 wpt_uint16 NeighborScanTimerPeriod;
5021 wpt_uint16 NeighborRoamScanRefreshPeriod;
5022 wpt_uint16 NeighborScanChannelMinTime;
5023 wpt_uint16 NeighborScanChannelMaxTime;
5024 wpt_uint16 EmptyRefreshScanPeriod;
5025 wpt_uint8 ValidChannelCount;
5026 wpt_uint8 ValidChannelList[WDI_ROAM_SCAN_MAX_CHANNELS];
5027 wpt_boolean IsCCXEnabled;
5028 /*Probe template for 2.4GHz band*/
5029 wpt_uint16 us24GProbeSize;
5030 wpt_uint8 a24GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
5031
5032 /*Probe template for 5GHz band*/
5033 wpt_uint16 us5GProbeSize;
5034 wpt_uint8 a5GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005035 /*LFR BG Scan will currently look for only one network to which it is initially connected.
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005036 * As per requirement, later, the following structure can be used as an array of networks.*/
5037 WDI_RoamNetworkType ConnectedNetwork;
5038 WDI_MobilityDomainInfo MDID;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005039 wpt_uint8 nProbes;
5040 wpt_uint16 HomeAwayTime;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005041} WDI_RoamOffloadScanInfo;
5042
5043typedef struct
5044{
5045 /* Start Roam Candidate Lookup Offload Back Ground Info Type */
5046 WDI_RoamOffloadScanInfo wdiRoamOffloadScanInfo;
5047 /* Request status callback offered by UMAC - it is called if the current req
5048 has returned PENDING as status; it delivers the status of sending the message
5049 over the BUS */
5050 WDI_ReqStatusCb wdiReqStatusCB;
5051 /* The user data passed in by UMAC, it will be sent back when the above
5052 function pointer will be called */
5053 void* pUserData;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005054} WDI_RoamScanOffloadReqParamsType;
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005055#endif //WLAN_FEATURE_ROAM_SCAN_OFFLOAD
Jeff Johnson295189b2012-06-20 16:38:30 -07005056
5057/*---------------------------------------------------------------------------
Sandeep Puligilla8b8b74b2014-02-10 16:39:05 +05305058 WDI_HT40ObssScanIndType
5059---------------------------------------------------------------------------*/
5060typedef struct
5061{
5062 wpt_uint8 cmdType;
5063 wpt_uint8 scanType;
5064 wpt_uint16 OBSSScanPassiveDwellTime; // In TUs
5065 wpt_uint16 OBSSScanActiveDwellTime; // In TUs
5066 wpt_uint16 BSSChannelWidthTriggerScanInterval; // In seconds
5067 wpt_uint16 OBSSScanPassiveTotalPerChannel; // In TUs
5068 wpt_uint16 OBSSScanActiveTotalPerChannel; // In TUs
5069 wpt_uint16 BSSWidthChannelTransitionDelayFactor;
5070 wpt_uint16 OBSSScanActivityThreshold;
5071 wpt_uint8 selfStaIdx;
5072 wpt_uint8 bssIdx;
5073 wpt_uint8 fortyMHZIntolerent;
5074 wpt_uint8 channelCount;
5075 wpt_uint8 channels[WDI_ROAM_SCAN_MAX_CHANNELS];
5076 wpt_uint8 currentOperatingClass;
5077 wpt_uint16 ieFieldLen;
5078 wpt_uint8 ieField[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
5079} WDI_HT40ObssScanIndType;
5080
5081
5082/*---------------------------------------------------------------------------
5083 WDI_OBSSScanIndParamsType
5084---------------------------------------------------------------------------*/
5085typedef struct
5086{
5087 WDI_HT40ObssScanIndType wdiHT40ObssScanParam;
5088
5089 /*Request status callback offered by UMAC - it is called if the current
5090 req has returned PENDING as status; it delivers the status of sending
5091 the message over the BUS */
5092 WDI_ReqStatusCb wdiReqStatusCB;
5093
5094 /*The user data passed in by UMAC, it will be sent back when the above
5095 function pointer will be called */
5096 void* pUserData;
5097
5098}WDI_HT40ObssScanParamsType;
5099
5100/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07005101 WDI_UpdateScanParamsInfo
5102---------------------------------------------------------------------------*/
5103typedef struct
5104{
5105 /* Ignore DTIM */
5106 wpt_uint32 uIgnoreDTIM;
5107
5108 /*DTIM Period*/
5109 wpt_uint32 uDTIMPeriod;
5110
5111 /* Listen Interval */
5112 wpt_uint32 uListenInterval;
5113
5114 /* Broadcast Multicas Filter */
5115 wpt_uint32 uBcastMcastFilter;
5116
5117 /* Beacon Early Termination */
5118 wpt_uint32 uEnableBET;
5119
5120 /* Beacon Early Termination Interval */
5121 wpt_uint32 uBETInterval;
5122
Yue Mac24062f2013-05-13 17:01:29 -07005123 /* MAX LI for modulated DTIM */
5124 wpt_uint32 uMaxLIModulatedDTIM;
5125
Jeff Johnson295189b2012-06-20 16:38:30 -07005126} WDI_SetPowerParamsInfo;
5127
5128/*---------------------------------------------------------------------------
5129 WDI_UpdateScanParamsInfoType
5130 UpdateScanParams info passed to WDI form WDA
5131---------------------------------------------------------------------------*/
5132typedef struct
5133{
5134 /* Power params Info Type, same as tSetPowerParamsReq */
5135 WDI_SetPowerParamsInfo wdiSetPowerParamsInfo;
5136 /* Request status callback offered by UMAC - it is called if the current req
5137 has returned PENDING as status; it delivers the status of sending the message
5138 over the BUS */
5139 WDI_ReqStatusCb wdiReqStatusCB;
5140 /* The user data passed in by UMAC, it will be sent back when the above
5141 function pointer will be called */
5142 void* pUserData;
5143}WDI_SetPowerParamsReqParamsType;
5144
5145/*---------------------------------------------------------------------------
5146 WDI_SetTxPerTrackingConfType
5147 Wowl add ptrn info passed to WDA form UMAC
5148---------------------------------------------------------------------------*/
5149typedef struct
5150{
5151 wpt_uint8 ucTxPerTrackingEnable; /* 0: disable, 1:enable */
5152 wpt_uint8 ucTxPerTrackingPeriod; /* Check period, unit is sec. */
5153 wpt_uint8 ucTxPerTrackingRatio; /* (Fail TX packet)/(Total TX packet) ratio, the unit is 10%. */
5154 wpt_uint32 uTxPerTrackingWatermark; /* A watermark of check number, once the tx packet exceed this number, we do the check, default is 5 */
5155} WDI_TxPerTrackingParamType;
5156
5157/*---------------------------------------------------------------------------
5158 WDI_SetTxPerTrackingReqParamsType
5159 Tx PER Tracking parameters passed to WDI from WDA
5160---------------------------------------------------------------------------*/
5161typedef struct
5162{
5163 /* Configurations for Tx PER Tracking */
5164 WDI_TxPerTrackingParamType wdiTxPerTrackingParam;
5165 /*Request status callback offered by UMAC - it is called if the current req
5166 has returned PENDING as status; it delivers the status of sending the message
5167 over the BUS */
5168 WDI_ReqStatusCb wdiReqStatusCB;
5169 /*The user data passed in by UMAC, it will be sent back when the above
5170 function pointer will be called */
5171 void* pUserData;
5172}WDI_SetTxPerTrackingReqParamsType;
5173
5174#ifdef WLAN_FEATURE_PACKET_FILTERING
5175/*---------------------------------------------------------------------------
5176 Packet Filtering Parameters
5177---------------------------------------------------------------------------*/
5178
5179#define WDI_IPV4_ADDR_LEN 4
5180#define WDI_MAC_ADDR_LEN 6
5181#define WDI_MAX_FILTER_TEST_DATA_LEN 8
5182#define WDI_MAX_NUM_MULTICAST_ADDRESS 240
5183#define WDI_MAX_NUM_FILTERS 20
5184#define WDI_MAX_NUM_TESTS_PER_FILTER 10
5185
5186//
5187// Receive Filter Parameters
5188//
5189typedef enum
5190{
5191 WDI_RCV_FILTER_TYPE_INVALID,
5192 WDI_RCV_FILTER_TYPE_FILTER_PKT,
5193 WDI_RCV_FILTER_TYPE_BUFFER_PKT,
5194 WDI_RCV_FILTER_TYPE_MAX_ENUM_SIZE
5195}WDI_ReceivePacketFilterType;
5196
5197typedef enum
5198{
5199 WDI_FILTER_HDR_TYPE_INVALID,
5200 WDI_FILTER_HDR_TYPE_MAC,
5201 WDI_FILTER_HDR_TYPE_ARP,
5202 WDI_FILTER_HDR_TYPE_IPV4,
5203 WDI_FILTER_HDR_TYPE_IPV6,
5204 WDI_FILTER_HDR_TYPE_UDP,
5205 WDI_FILTER_HDR_TYPE_MAX
5206}WDI_RcvPktFltProtocolType;
5207
5208typedef enum
5209{
5210 WDI_FILTER_CMP_TYPE_INVALID,
5211 WDI_FILTER_CMP_TYPE_EQUAL,
5212 WDI_FILTER_CMP_TYPE_MASK_EQUAL,
5213 WDI_FILTER_CMP_TYPE_NOT_EQUAL,
5214 WDI_FILTER_CMP_TYPE_MASK_NOT_EQUAL,
5215 WDI_FILTER_CMP_TYPE_MAX
5216}WDI_RcvPktFltCmpFlagType;
5217
5218typedef struct
5219{
5220 WDI_RcvPktFltProtocolType protocolLayer;
5221 WDI_RcvPktFltCmpFlagType cmpFlag;
5222/* Length of the data to compare */
5223 wpt_uint16 dataLength;
5224/* from start of the respective frame header */
5225 wpt_uint8 dataOffset;
5226 wpt_uint8 reserved; /* Reserved field */
5227/* Data to compare */
5228 wpt_uint8 compareData[WDI_MAX_FILTER_TEST_DATA_LEN];
5229/* Mask to be applied on the received packet data before compare */
5230 wpt_uint8 dataMask[WDI_MAX_FILTER_TEST_DATA_LEN];
5231}WDI_RcvPktFilterFieldParams;
5232
5233typedef struct
5234{
5235 wpt_uint8 filterId;
5236 wpt_uint8 filterType;
5237 wpt_uint32 numFieldParams;
5238 wpt_uint32 coalesceTime;
Jeff Johnsone7245742012-09-05 17:12:55 -07005239 wpt_macAddr selfMacAddr;
5240 wpt_macAddr bssId;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005241 WDI_RcvPktFilterFieldParams paramsData[1];
5242
Jeff Johnson295189b2012-06-20 16:38:30 -07005243}WDI_RcvPktFilterCfgType;
5244
5245typedef struct
5246{
5247 /*Request status callback offered by UMAC - it is called if the current
5248 req has returned PENDING as status; it delivers the status of sending
5249 the message over the BUS */
5250 WDI_ReqStatusCb wdiReqStatusCB;
5251
5252 /*The user data passed in by UMAC, it will be sent back when the above
5253 function pointer will be called */
5254 void* pUserData;
5255
5256 // Variable length packet filter field params
5257 WDI_RcvPktFilterCfgType wdiPktFilterCfg;
5258} WDI_SetRcvPktFilterReqParamsType;
5259
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005260typedef struct
5261{
5262 /*Result of the operation*/
5263 WDI_Status wdiStatus;
5264 /* BSSIDX of the Set Receive Filter
5265 */
5266 wpt_uint8 bssIdx;
5267} WDI_SetRcvPktFilterRspParamsType;
5268
Jeff Johnson295189b2012-06-20 16:38:30 -07005269//
5270// Filter Packet Match Count Parameters
5271//
5272typedef struct
5273{
5274 /*Request status callback offered by UMAC - it is called if the current
5275 req has returned PENDING as status; it delivers the status of sending
5276 the message over the BUS */
5277 WDI_ReqStatusCb wdiReqStatusCB;
5278
5279 /*The user data passed in by UMAC, it will be sent back when the above
5280 function pointer will be called */
5281 void* pUserData;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005282
5283 /* BSSID of the Match count
5284 */
5285 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005286} WDI_RcvFltPktMatchCntReqParamsType;
5287
5288typedef struct
5289{
5290 wpt_uint8 filterId;
5291 wpt_uint32 matchCnt;
5292} WDI_RcvFltPktMatchCnt;
5293
5294typedef struct
5295{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005296 /*Result of the operation*/
5297 WDI_Status wdiStatus;
Jeff Johnson295189b2012-06-20 16:38:30 -07005298
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005299 /* BSSIDX of the Match count response
5300 */
5301 wpt_uint8 bssIdx;
5302
Jeff Johnson295189b2012-06-20 16:38:30 -07005303} WDI_RcvFltPktMatchCntRspParamsType;
5304
Jeff Johnson295189b2012-06-20 16:38:30 -07005305//
5306// Receive Filter Clear Parameters
5307//
5308typedef struct
5309{
5310 wpt_uint32 status; /* only valid for response message */
5311 wpt_uint8 filterId;
Jeff Johnsone7245742012-09-05 17:12:55 -07005312 wpt_macAddr selfMacAddr;
5313 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005314}WDI_RcvFltPktClearParam;
5315
5316typedef struct
5317{
5318 WDI_RcvFltPktClearParam filterClearParam;
5319 /*Request status callback offered by UMAC - it is called if the current
5320 req has returned PENDING as status; it delivers the status of sending
5321 the message over the BUS */
5322 WDI_ReqStatusCb wdiReqStatusCB;
5323
5324 /*The user data passed in by UMAC, it will be sent back when the above
5325 function pointer will be called */
5326 void* pUserData;
5327} WDI_RcvFltPktClearReqParamsType;
5328
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005329typedef struct
5330{
5331 /*Result of the operation*/
5332 WDI_Status wdiStatus;
5333 /* BSSIDX of the Match count response
5334 */
5335 wpt_uint8 bssIdx;
5336
5337} WDI_RcvFltPktClearRspParamsType;
5338
Jeff Johnson295189b2012-06-20 16:38:30 -07005339//
5340// Multicast Address List Parameters
5341//
5342typedef struct
5343{
5344 wpt_uint32 ulMulticastAddrCnt;
5345 wpt_macAddr multicastAddr[WDI_MAX_NUM_MULTICAST_ADDRESS];
Jeff Johnsone7245742012-09-05 17:12:55 -07005346 wpt_macAddr selfMacAddr;
5347 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005348} WDI_RcvFltMcAddrListType;
5349
5350typedef struct
5351{
5352 WDI_RcvFltMcAddrListType mcAddrList;
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;
5361} WDI_RcvFltPktSetMcListReqParamsType;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005362
5363typedef struct
5364{
5365 /*Result of the operation*/
5366 WDI_Status wdiStatus;
5367 /* BSSIDX of the Match count response
5368 */
5369 wpt_uint8 bssIdx;
5370} WDI_RcvFltPktSetMcListRspParamsType;
5371
Jeff Johnson295189b2012-06-20 16:38:30 -07005372#endif // WLAN_FEATURE_PACKET_FILTERING
5373
5374/*---------------------------------------------------------------------------
5375 WDI_HALDumpCmdReqInfoType
5376---------------------------------------------------------------------------*/
5377typedef struct
5378{
5379 /*command*/
5380 wpt_uint32 command;
5381
5382 /*Arguments*/
5383 wpt_uint32 argument1;
5384 wpt_uint32 argument2;
5385 wpt_uint32 argument3;
5386 wpt_uint32 argument4;
5387
5388}WDI_HALDumpCmdReqInfoType;
5389
5390/*---------------------------------------------------------------------------
5391 WDI_HALDumpCmdReqParamsType
5392---------------------------------------------------------------------------*/
5393typedef struct
5394{
5395 /*NV Blob Info*/
5396 WDI_HALDumpCmdReqInfoType wdiHALDumpCmdInfoType;
5397
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
5407}WDI_HALDumpCmdReqParamsType;
5408
5409
5410/*---------------------------------------------------------------------------
5411 WDI_HALDumpCmdRspParamsType
5412---------------------------------------------------------------------------*/
5413typedef struct
5414{
5415 /*Result of the operation*/
5416 WDI_Status wdiStatus;
5417
5418 /* length of the buffer */
5419 wpt_uint16 usBufferLen;
5420
5421 /* Buffer */
5422 wpt_uint8 *pBuffer;
5423}WDI_HALDumpCmdRspParamsType;
5424
5425
5426/*---------------------------------------------------------------------------
5427 WDI_SetTmLevelReqType
5428---------------------------------------------------------------------------*/
5429typedef struct
5430{
5431 wpt_uint16 tmMode;
5432 wpt_uint16 tmLevel;
5433 void* pUserData;
5434}WDI_SetTmLevelReqType;
5435
5436/*---------------------------------------------------------------------------
5437 WDI_SetTmLevelRspType
5438---------------------------------------------------------------------------*/
5439typedef struct
5440{
5441 WDI_Status wdiStatus;
5442 void* pUserData;
5443}WDI_SetTmLevelRspType;
5444
Leo Chang9056f462013-08-01 19:21:11 -07005445#ifdef FEATURE_WLAN_LPHB
5446/*---------------------------------------------------------------------------
5447 WDI_LPHBConfigParamsType
5448---------------------------------------------------------------------------*/
5449typedef struct
5450{
5451 void* pLphsConfIndData;
5452}WDI_LPHBConfigParamsType;
5453#endif /* FEATURE_WLAN_LPHB */
5454
Yue Mab9c86f42013-08-14 15:59:08 -07005455/*---------------------------------------------------------------------------
5456 WDI_AddPeriodicTxPtrnInfoType
5457---------------------------------------------------------------------------*/
5458typedef struct
5459{
5460 /* MAC Address for the adapter */
5461 wpt_macAddr macAddr;
5462
5463 wpt_uint8 ucPtrnId; // Pattern ID
5464 wpt_uint16 ucPtrnSize; // Pattern size
5465 wpt_uint32 usPtrnIntervalMs; // In msec
5466 wpt_uint8 ucPattern[PERIODIC_TX_PTRN_MAX_SIZE]; // Pattern buffer
5467} WDI_AddPeriodicTxPtrnInfoType;
5468
5469/*---------------------------------------------------------------------------
5470 WDI_DelPeriodicTxPtrnInfoType
5471---------------------------------------------------------------------------*/
5472typedef struct
5473{
5474 /* MAC Address for the adapter */
5475 wpt_macAddr macAddr;
5476
5477 /* Bitmap of pattern IDs that needs to be deleted */
5478 wpt_uint32 ucPatternIdBitmap;
5479} WDI_DelPeriodicTxPtrnInfoType;
5480
5481/*---------------------------------------------------------------------------
5482 WDI_AddPeriodicTxPtrnParamsType
5483---------------------------------------------------------------------------*/
5484typedef struct
5485{
5486 WDI_AddPeriodicTxPtrnInfoType wdiAddPeriodicTxPtrnParams;
5487
5488 /*Request status callback offered by UMAC - it is called if the current
5489 req has returned PENDING as status; it delivers the status of sending
5490 the message over the BUS */
5491 WDI_ReqStatusCb wdiReqStatusCB;
5492
5493 /*The user data passed in by UMAC, it will be sent back when the above
5494 function pointer will be called */
5495 void* pUserData;
5496} WDI_AddPeriodicTxPtrnParamsType;
5497
5498/*---------------------------------------------------------------------------
5499 WDI_DelPeriodicTxPtrnParamsType
5500---------------------------------------------------------------------------*/
5501typedef struct
5502{
5503 WDI_DelPeriodicTxPtrnInfoType wdiDelPeriodicTxPtrnParams;
5504
5505 /*Request status callback offered by UMAC - it is called if the current
5506 req has returned PENDING as status; it delivers the status of sending
5507 the message over the BUS */
5508 WDI_ReqStatusCb wdiReqStatusCB;
5509
5510 /*The user data passed in by UMAC, it will be sent back when the above
5511 function pointer will be called */
5512 void* pUserData;
5513} WDI_DelPeriodicTxPtrnParamsType;
5514
Jeff Johnson295189b2012-06-20 16:38:30 -07005515/*----------------------------------------------------------------------------
5516 * WDI callback types
5517 *--------------------------------------------------------------------------*/
5518
5519/*---------------------------------------------------------------------------
5520 WDI_StartRspCb
5521
5522 DESCRIPTION
5523
5524 This callback is invoked by DAL when it has received a Start response from
5525 the underlying device.
5526
5527 PARAMETERS
5528
5529 IN
5530 wdiRspParams: response parameters received from HAL
5531 pUserData: user data
5532
5533
5534 RETURN VALUE
5535 The result code associated with performing the operation
5536---------------------------------------------------------------------------*/
5537typedef void (*WDI_StartRspCb)(WDI_StartRspParamsType* pwdiRspParams,
5538 void* pUserData);
5539
5540/*---------------------------------------------------------------------------
5541 WDI_StartRspCb
5542
5543 DESCRIPTION
5544
5545 This callback is invoked by DAL when it has received a Stop response from
5546 the underlying device.
5547
5548 PARAMETERS
5549
5550 IN
5551 wdiStatus: response status received from HAL
5552 pUserData: user data
5553
5554
5555
5556 RETURN VALUE
5557 The result code associated with performing the operation
5558---------------------------------------------------------------------------*/
5559typedef void (*WDI_StopRspCb)(WDI_Status wdiStatus,
5560 void* pUserData);
5561
5562/*---------------------------------------------------------------------------
5563 WDI_StartRspCb
5564
5565 DESCRIPTION
5566
5567 This callback is invoked by DAL when it has received an Init Scan response
5568 from the underlying device.
5569
5570 PARAMETERS
5571
5572 IN
5573 wdiStatus: response status received from HAL
5574 pUserData: user data
5575
5576
5577
5578 RETURN VALUE
5579 The result code associated with performing the operation
5580---------------------------------------------------------------------------*/
5581typedef void (*WDI_InitScanRspCb)(WDI_Status wdiStatus,
5582 void* pUserData);
5583
5584
5585/*---------------------------------------------------------------------------
5586 WDI_StartRspCb
5587
5588 DESCRIPTION
5589
5590 This callback is invoked by DAL when it has received a StartScan response
5591 from the underlying device.
5592
5593 PARAMETERS
5594
5595 IN
5596 wdiParams: response params received from HAL
5597 pUserData: user data
5598
5599
5600
5601 RETURN VALUE
5602 The result code associated with performing the operation
5603---------------------------------------------------------------------------*/
5604typedef void (*WDI_StartScanRspCb)(WDI_StartScanRspParamsType* wdiParams,
5605 void* pUserData);
5606
5607
5608/*---------------------------------------------------------------------------
5609 WDI_StartRspCb
5610
5611 DESCRIPTION
5612
5613 This callback is invoked by DAL when it has received a End Scan response
5614 from the underlying device.
5615
5616 PARAMETERS
5617
5618 IN
5619 wdiStatus: response status received from HAL
5620 pUserData: user data
5621
5622
5623
5624 RETURN VALUE
5625 The result code associated with performing the operation
5626---------------------------------------------------------------------------*/
5627typedef void (*WDI_EndScanRspCb)(WDI_Status wdiStatus,
5628 void* pUserData);
5629
5630
5631/*---------------------------------------------------------------------------
5632 WDI_StartRspCb
5633
5634 DESCRIPTION
5635
5636 This callback is invoked by DAL when it has received a Finish Scan response
5637 from the underlying device.
5638
5639 PARAMETERS
5640
5641 IN
5642 wdiStatus: response status received from HAL
5643 pUserData: user data
5644
5645
5646
5647 RETURN VALUE
5648 The result code associated with performing the operation
5649---------------------------------------------------------------------------*/
5650typedef void (*WDI_FinishScanRspCb)(WDI_Status wdiStatus,
5651 void* pUserData);
5652
5653
5654/*---------------------------------------------------------------------------
5655 WDI_StartRspCb
5656
5657 DESCRIPTION
5658
5659 This callback is invoked by DAL when it has received a Join response from
5660 the underlying device.
5661
5662 PARAMETERS
5663
5664 IN
5665 wdiStatus: response status received from HAL
5666 pUserData: user data
5667
5668
5669
5670 RETURN VALUE
5671 The result code associated with performing the operation
5672---------------------------------------------------------------------------*/
5673typedef void (*WDI_JoinRspCb)(WDI_Status wdiStatus,
5674 void* pUserData);
5675
5676
5677/*---------------------------------------------------------------------------
5678 WDI_StartRspCb
5679
5680 DESCRIPTION
5681
5682 This callback is invoked by DAL when it has received a Config BSS response
5683 from the underlying device.
5684
5685 PARAMETERS
5686
5687 IN
5688 wdiConfigBSSRsp: response parameters received from HAL
5689 pUserData: user data
5690
5691
5692 RETURN VALUE
5693 The result code associated with performing the operation
5694---------------------------------------------------------------------------*/
5695typedef void (*WDI_ConfigBSSRspCb)(
5696 WDI_ConfigBSSRspParamsType* pwdiConfigBSSRsp,
5697 void* pUserData);
5698
5699
5700/*---------------------------------------------------------------------------
5701 WDI_StartRspCb
5702
5703 DESCRIPTION
5704
5705 This callback is invoked by DAL when it has received a Del BSS response from
5706 the underlying device.
5707
5708 PARAMETERS
5709
5710 IN
5711 wdiDelBSSRsp: response parameters received from HAL
5712 pUserData: user data
5713
5714
5715 RETURN VALUE
5716 The result code associated with performing the operation
5717---------------------------------------------------------------------------*/
5718typedef void (*WDI_DelBSSRspCb)(WDI_DelBSSRspParamsType* pwdiDelBSSRsp,
5719 void* pUserData);
5720
5721
5722/*---------------------------------------------------------------------------
5723 WDI_StartRspCb
5724
5725 DESCRIPTION
5726
5727 This callback is invoked by DAL when it has received a Post Assoc response
5728 from the underlying device.
5729
5730 PARAMETERS
5731
5732 IN
5733 wdiRspParams: response parameters received from HAL
5734 pUserData: user data
5735
5736
5737 RETURN VALUE
5738 The result code associated with performing the operation
5739---------------------------------------------------------------------------*/
5740typedef void (*WDI_PostAssocRspCb)(
5741 WDI_PostAssocRspParamsType* pwdiPostAssocRsp,
5742 void* pUserData);
5743
5744
5745/*---------------------------------------------------------------------------
5746 WDI_StartRspCb
5747
5748 DESCRIPTION
5749
5750 This callback is invoked by DAL when it has received a Del STA response from
5751 the underlying device.
5752
5753 PARAMETERS
5754
5755 IN
5756 wdiDelSTARsp: response parameters received from HAL
5757 pUserData: user data
5758
5759
5760 RETURN VALUE
5761 The result code associated with performing the operation
5762---------------------------------------------------------------------------*/
5763typedef void (*WDI_DelSTARspCb)(WDI_DelSTARspParamsType* pwdiDelSTARsp,
5764 void* pUserData);
5765
5766
5767
5768/*---------------------------------------------------------------------------
5769 WDI_StartRspCb
5770
5771 DESCRIPTION
5772
5773 This callback is invoked by DAL when it has received a Set BSS Key response
5774 from the underlying device.
5775
5776 PARAMETERS
5777
5778 IN
5779 wdiStatus: response status received from HAL
5780 pUserData: user data
5781
5782
5783
5784 RETURN VALUE
5785 The result code associated with performing the operation
5786---------------------------------------------------------------------------*/
5787typedef void (*WDI_SetBSSKeyRspCb)(WDI_Status wdiStatus,
5788 void* pUserData);
5789
5790/*---------------------------------------------------------------------------
5791 WDI_StartRspCb
5792
5793 DESCRIPTION
5794
5795 This callback is invoked by DAL when it has received a Remove BSS Key
5796 response from the underlying device.
5797
5798 PARAMETERS
5799
5800 IN
5801 wdiStatus: response status received from HAL
5802 pUserData: user data
5803
5804
5805
5806 RETURN VALUE
5807 The result code associated with performing the operation
5808---------------------------------------------------------------------------*/
5809typedef void (*WDI_RemoveBSSKeyRspCb)(WDI_Status wdiStatus,
5810 void* pUserData);
5811
5812/*---------------------------------------------------------------------------
5813 WDI_StartRspCb
5814
5815 DESCRIPTION
5816
5817 This callback is invoked by DAL when it has received a Set STA Key response
5818 from the underlying device.
5819
5820 PARAMETERS
5821
5822 IN
5823 wdiStatus: response status received from HAL
5824 pUserData: user data
5825
5826
5827
5828 RETURN VALUE
5829 The result code associated with performing the operation
5830---------------------------------------------------------------------------*/
5831typedef void (*WDI_SetSTAKeyRspCb)(WDI_Status wdiStatus,
5832 void* pUserData);
5833
5834
5835/*---------------------------------------------------------------------------
5836 WDI_StartRspCb
5837
5838 DESCRIPTION
5839
5840 This callback is invoked by DAL when it has received a Remove STA Key
5841 response from the underlying device.
5842
5843 PARAMETERS
5844
5845 IN
5846 wdiStatus: response status received from HAL
5847 pUserData: user data
5848
5849
5850
5851 RETURN VALUE
5852 The result code associated with performing the operation
5853---------------------------------------------------------------------------*/
5854typedef void (*WDI_RemoveSTAKeyRspCb)(WDI_Status wdiStatus,
5855 void* pUserData);
5856
5857
5858#ifdef FEATURE_WLAN_CCX
5859/*---------------------------------------------------------------------------
5860 WDI_TsmRspCb
5861
5862 DESCRIPTION
5863
5864 This callback is invoked by DAL when it has received a TSM Stats response from the underlying device.
5865
5866 PARAMETERS
5867
5868 IN
5869 pTSMStats: response status received from HAL
5870 pUserData: user data
5871
5872
5873
5874 RETURN VALUE
5875 The result code associated with performing the operation
5876---------------------------------------------------------------------------*/
5877typedef void (*WDI_TsmRspCb)(WDI_TSMStatsRspParamsType *pTSMStats,
5878 void* pUserData);
5879#endif
5880
5881/*---------------------------------------------------------------------------
5882 WDI_StartRspCb
5883
5884 DESCRIPTION
5885
5886 This callback is invoked by DAL when it has received a Add TS response from
5887 the underlying device.
5888
5889 PARAMETERS
5890
5891 IN
5892 wdiStatus: response status received from HAL
5893 pUserData: user data
5894
5895
5896
5897 RETURN VALUE
5898 The result code associated with performing the operation
5899---------------------------------------------------------------------------*/
5900typedef void (*WDI_AddTsRspCb)(WDI_Status wdiStatus,
5901 void* pUserData);
5902
5903/*---------------------------------------------------------------------------
5904 WDI_StartRspCb
5905
5906 DESCRIPTION
5907
5908 This callback is invoked by DAL when it has received a Del TS response from
5909 the underlying device.
5910
5911 PARAMETERS
5912
5913 IN
5914 wdiStatus: response status received from HAL
5915 pUserData: user data
5916
5917
5918
5919 RETURN VALUE
5920 The result code associated with performing the operation
5921---------------------------------------------------------------------------*/
5922typedef void (*WDI_DelTsRspCb)(WDI_Status wdiStatus,
5923 void* pUserData);
5924
5925/*---------------------------------------------------------------------------
5926 WDI_StartRspCb
5927
5928 DESCRIPTION
5929
5930 This callback is invoked by DAL when it has received an Update EDCA Params
5931 response from the underlying device.
5932
5933 PARAMETERS
5934
5935 IN
5936 wdiStatus: response status received from HAL
5937 pUserData: user data
5938
5939
5940
5941 RETURN VALUE
5942 The result code associated with performing the operation
5943---------------------------------------------------------------------------*/
5944typedef void (*WDI_UpdateEDCAParamsRspCb)(WDI_Status wdiStatus,
5945 void* pUserData);
5946
5947/*---------------------------------------------------------------------------
5948 WDI_StartRspCb
5949
5950 DESCRIPTION
5951
5952 This callback is invoked by DAL when it has received a Add BA response from
5953 the underlying device.
5954
5955 PARAMETERS
5956
5957 IN
5958 wdiStatus: response status received from HAL
5959 pUserData: user data
5960
5961
5962
5963 RETURN VALUE
5964 The result code associated with performing the operation
5965---------------------------------------------------------------------------*/
5966typedef void (*WDI_AddBASessionRspCb)(
5967 WDI_AddBASessionRspParamsType* wdiAddBASessionRsp,
5968 void* pUserData);
5969
5970
5971/*---------------------------------------------------------------------------
5972 WDI_StartRspCb
5973
5974 DESCRIPTION
5975
5976 This callback is invoked by DAL when it has received a Del BA response from
5977 the underlying device.
5978
5979 PARAMETERS
5980
5981 IN
5982 wdiStatus: response status received from HAL
5983 pUserData: user data
5984
5985
5986
5987 RETURN VALUE
5988 The result code associated with performing the operation
5989---------------------------------------------------------------------------*/
5990typedef void (*WDI_DelBARspCb)(WDI_Status wdiStatus,
5991 void* pUserData);
5992
5993
5994/*---------------------------------------------------------------------------
5995 WDI_StartRspCb
5996
5997 DESCRIPTION
5998
5999 This callback is invoked by DAL when it has received a Switch Ch response
6000 from the underlying device.
6001
6002 PARAMETERS
6003
6004 IN
6005 wdiRspParams: response parameters received from HAL
6006 pUserData: user data
6007
6008
6009 RETURN VALUE
6010 The result code associated with performing the operation
6011---------------------------------------------------------------------------*/
6012typedef void (*WDI_SwitchChRspCb)(WDI_SwitchCHRspParamsType* pwdiSwitchChRsp,
6013 void* pUserData);
6014
6015
6016/*---------------------------------------------------------------------------
6017 WDI_StartRspCb
6018
6019 DESCRIPTION
6020
6021 This callback is invoked by DAL when it has received a Config STA response
6022 from the underlying device.
6023
6024 PARAMETERS
6025
6026 IN
6027 wdiRspParams: response parameters received from HAL
6028 pUserData: user data
6029
6030
6031 RETURN VALUE
6032 The result code associated with performing the operation
6033---------------------------------------------------------------------------*/
6034typedef void (*WDI_ConfigSTARspCb)(
6035 WDI_ConfigSTARspParamsType* pwdiConfigSTARsp,
6036 void* pUserData);
6037
6038
6039/*---------------------------------------------------------------------------
6040 WDI_StartRspCb
6041
6042 DESCRIPTION
6043
6044 This callback is invoked by DAL when it has received a Set Link State
6045 response from the underlying device.
6046
6047 PARAMETERS
6048
6049 IN
6050 wdiRspParams: response parameters received from HAL
6051 pUserData: user data
6052
6053
6054 RETURN VALUE
6055 The result code associated with performing the operation
6056---------------------------------------------------------------------------*/
6057typedef void (*WDI_SetLinkStateRspCb)( WDI_Status wdiStatus,
6058 void* pUserData);
6059
6060
6061/*---------------------------------------------------------------------------
6062 WDI_StartRspCb
6063
6064 DESCRIPTION
6065
6066 This callback is invoked by DAL when it has received a Get Stats response
6067 from the underlying device.
6068
6069 PARAMETERS
6070
6071 IN
6072 wdiRspParams: response parameters received from HAL
6073 pUserData: user data
6074
6075
6076 RETURN VALUE
6077 The result code associated with performing the operation
6078---------------------------------------------------------------------------*/
6079typedef void (*WDI_GetStatsRspCb)(WDI_GetStatsRspParamsType* pwdiGetStatsRsp,
6080 void* pUserData);
6081
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08006082#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_CCX || defined(FEATURE_WLAN_LFR)
6083/*---------------------------------------------------------------------------
6084 WDI_GetRoamRssiRspCb
6085
6086 DESCRIPTION
6087
6088 This callback is invoked by DAL when it has received a Get Roam Rssi response
6089 from the underlying device.
6090
6091 PARAMETERS
6092
6093 IN
6094 wdiRspParams: response parameters received from HAL
6095 pUserData: user data
6096
6097
6098 RETURN VALUE
6099 The result code associated with performing the operation
6100---------------------------------------------------------------------------*/
6101typedef void (*WDI_GetRoamRssiRspCb)(WDI_GetRoamRssiRspParamsType* pwdiGetRoamRssiRsp,
6102 void* pUserData);
6103#endif
6104
Jeff Johnson295189b2012-06-20 16:38:30 -07006105
6106/*---------------------------------------------------------------------------
6107 WDI_StartRspCb
6108
6109 DESCRIPTION
6110
6111 This callback is invoked by DAL when it has received a Update Cfg response
6112 from the underlying device.
6113
6114 PARAMETERS
6115
6116 IN
6117 wdiStatus: response status received from HAL
6118 pUserData: user data
6119
6120
6121 RETURN VALUE
6122 The result code associated with performing the operation
6123---------------------------------------------------------------------------*/
6124typedef void (*WDI_UpdateCfgRspCb)(WDI_Status wdiStatus,
6125 void* pUserData);
6126
6127/*---------------------------------------------------------------------------
6128 WDI_AddBARspCb
6129
6130 DESCRIPTION
6131
6132 This callback is invoked by DAL when it has received a ADD BA response
6133 from the underlying device.
6134
6135 PARAMETERS
6136
6137 IN
6138 wdiStatus: response status received from HAL
6139 pUserData: user data
6140
6141
6142 RETURN VALUE
6143 The result code associated with performing the operation
6144---------------------------------------------------------------------------*/
6145typedef void (*WDI_AddBARspCb)(WDI_AddBARspinfoType* wdiAddBARsp,
6146 void* pUserData);
6147
6148/*---------------------------------------------------------------------------
6149 WDI_TriggerBARspCb
6150
6151 DESCRIPTION
6152
6153 This callback is invoked by DAL when it has received a ADD BA response
6154 from the underlying device.
6155
6156 PARAMETERS
6157
6158 IN
6159 wdiStatus: response status received from HAL
6160 pUserData: user data
6161
6162
6163 RETURN VALUE
6164 The result code associated with performing the operation
6165---------------------------------------------------------------------------*/
6166typedef void (*WDI_TriggerBARspCb)(WDI_TriggerBARspParamsType* wdiTriggerBARsp,
6167 void* pUserData);
6168
6169
6170/*---------------------------------------------------------------------------
6171 WDI_UpdateBeaconParamsRspCb
6172
6173 DESCRIPTION
6174
6175 This callback is invoked by DAL when it has received a Update Beacon Params response from
6176 the underlying device.
6177
6178 PARAMETERS
6179
6180 IN
6181 wdiStatus: response status received from HAL
6182 pUserData: user data
6183
6184
6185
6186 RETURN VALUE
6187 The result code associated with performing the operation
6188---------------------------------------------------------------------------*/
6189typedef void (*WDI_UpdateBeaconParamsRspCb)(WDI_Status wdiStatus,
6190 void* pUserData);
6191
6192/*---------------------------------------------------------------------------
6193 WDI_SendBeaconParamsRspCb
6194
6195 DESCRIPTION
6196
6197 This callback is invoked by DAL when it has received a Send Beacon Params response from
6198 the underlying device.
6199
6200 PARAMETERS
6201
6202 IN
6203 wdiStatus: response status received from HAL
6204 pUserData: user data
6205
6206
6207
6208 RETURN VALUE
6209 The result code associated with performing the operation
6210---------------------------------------------------------------------------*/
6211typedef void (*WDI_SendBeaconParamsRspCb)(WDI_Status wdiStatus,
6212 void* pUserData);
6213
6214/*---------------------------------------------------------------------------
6215 WDA_SetMaxTxPowerRspCb
6216
6217 DESCRIPTION
6218
6219 This callback is invoked by DAL when it has received a set max Tx Power response from
6220 the underlying device.
6221
6222 PARAMETERS
6223
6224 IN
6225 wdiStatus: response status received from HAL
6226 pUserData: user data
6227
6228
6229
6230 RETURN VALUE
6231 The result code associated with performing the operation
6232---------------------------------------------------------------------------*/
6233typedef void (*WDA_SetMaxTxPowerRspCb)(WDI_SetMaxTxPowerRspMsg *wdiSetMaxTxPowerRsp,
6234 void* pUserData);
6235
6236/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07006237 WDA_SetMaxTxPowerPerBandRspCb
6238
6239 DESCRIPTION
6240
6241 This callback is invoked by DAL when it has received a
6242 set max Tx Power Per Band response from the underlying device.
6243
6244 PARAMETERS
6245
6246 IN
6247 wdiSetMaxTxPowerPerBandRsp: response status received from HAL
6248 pUserData: user data
6249
6250 RETURN VALUE
6251 The result code associated with performing the operation
6252---------------------------------------------------------------------------*/
6253typedef void (*WDA_SetMaxTxPowerPerBandRspCb)(WDI_SetMaxTxPowerPerBandRspMsg
6254 *wdiSetMaxTxPowerPerBandRsp,
6255 void* pUserData);
6256
6257/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07006258 WDA_SetTxPowerRspCb
6259
6260 DESCRIPTION
6261
6262 This callback is invoked by DAL when it has received a set max Tx Power response from
6263 the underlying device.
6264
6265 PARAMETERS
6266
6267 IN
6268 wdiStatus: response status received from HAL
6269 pUserData: user data
6270
6271 RETURN VALUE
6272 The result code associated with performing the operation
6273---------------------------------------------------------------------------*/
6274typedef void (*WDA_SetTxPowerRspCb)(WDI_SetTxPowerRspMsg *wdiSetTxPowerRsp,
6275 void* pUserData);
6276
6277/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07006278 WDI_UpdateProbeRspTemplateRspCb
6279
6280 DESCRIPTION
6281
6282 This callback is invoked by DAL when it has received a Probe RSP Template
6283 Update response from the underlying device.
6284
6285 PARAMETERS
6286
6287 IN
6288 wdiStatus: response status received from HAL
6289 pUserData: user data
6290
6291
6292
6293 RETURN VALUE
6294 The result code associated with performing the operation
6295---------------------------------------------------------------------------*/
6296typedef void (*WDI_UpdateProbeRspTemplateRspCb)(WDI_Status wdiStatus,
6297 void* pUserData);
6298
Jeff Johnson295189b2012-06-20 16:38:30 -07006299/*---------------------------------------------------------------------------
6300 WDI_SetP2PGONOAReqParamsRspCb
6301
6302 DESCRIPTION
6303
6304 This callback is invoked by DAL when it has received a P2P GO NOA Params response from
6305 the underlying device.
6306
6307 PARAMETERS
6308
6309 IN
6310 wdiStatus: response status received from HAL
6311 pUserData: user data
6312
6313
6314
6315 RETURN VALUE
6316 The result code associated with performing the operation
6317---------------------------------------------------------------------------*/
6318typedef void (*WDI_SetP2PGONOAReqParamsRspCb)(WDI_Status wdiStatus,
6319 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006320
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05306321/*---------------------------------------------------------------------------
6322 WDI_SetTDLSLinkEstablishReqParamsRspCb
6323
6324 DESCRIPTION
6325
6326 This callback is invoked by DAL when it has received a TDLS Link Establish Req response from
6327 the underlying device.
6328
6329 PARAMETERS
6330
6331 IN
6332 wdiStatus: response status received from HAL
6333 pUserData: user data
6334
6335
6336
6337 RETURN VALUE
6338 The result code associated with performing the operation
6339---------------------------------------------------------------------------*/
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05306340typedef void (*WDI_SetTDLSLinkEstablishReqParamsRspCb)(WDI_SetTdlsLinkEstablishReqResp *
6341 wdiSetTdlsLinkEstablishReqRsp,
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05306342 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006343
6344/*---------------------------------------------------------------------------
6345 WDI_SetPwrSaveCfgCb
6346
6347 DESCRIPTION
6348
6349 This callback is invoked by DAL when it has received a set Power Save CFG
6350 response from the underlying device.
6351
6352 PARAMETERS
6353
6354 IN
6355 wdiStatus: response status received from HAL
6356 pUserData: user data
6357
6358
6359
6360 RETURN VALUE
6361 The result code associated with performing the operation
6362---------------------------------------------------------------------------*/
6363typedef void (*WDI_SetPwrSaveCfgCb)(WDI_Status wdiStatus,
6364 void* pUserData);
6365
6366/*---------------------------------------------------------------------------
6367 WDI_SetUapsdAcParamsCb
6368
6369 DESCRIPTION
6370
6371 This callback is invoked by DAL when it has received a set UAPSD params
6372 response from the underlying device.
6373
6374 PARAMETERS
6375
6376 IN
6377 wdiStatus: response status received from HAL
6378 pUserData: user data
6379
6380
6381
6382 RETURN VALUE
6383 The result code associated with performing the operation
6384---------------------------------------------------------------------------*/
6385typedef void (*WDI_SetUapsdAcParamsCb)(WDI_Status wdiStatus,
6386 void* pUserData);
6387
6388/*---------------------------------------------------------------------------
6389 WDI_EnterImpsRspCb
6390
6391 DESCRIPTION
6392
6393 This callback is invoked by DAL when it has received a Enter IMPS response
6394 from the underlying device.
6395
6396 PARAMETERS
6397
6398 IN
6399 wdiStatus: response status received from HAL
6400 pUserData: user data
6401
6402
6403
6404 RETURN VALUE
6405 The result code associated with performing the operation
6406---------------------------------------------------------------------------*/
6407typedef void (*WDI_EnterImpsRspCb)(WDI_Status wdiStatus,
6408 void* pUserData);
6409
6410/*---------------------------------------------------------------------------
6411 WDI_ExitImpsRspCb
6412
6413 DESCRIPTION
6414
6415 This callback is invoked by DAL when it has received a Exit IMPS response
6416 from the underlying device.
6417
6418 PARAMETERS
6419
6420 IN
6421 wdiStatus: response status received from HAL
6422 pUserData: user data
6423
6424
6425
6426 RETURN VALUE
6427 The result code associated with performing the operation
6428---------------------------------------------------------------------------*/
6429typedef void (*WDI_ExitImpsRspCb)(WDI_Status wdiStatus,
6430 void* pUserData);
6431
6432/*---------------------------------------------------------------------------
6433 WDI_EnterBmpsRspCb
6434
6435 DESCRIPTION
6436
6437 This callback is invoked by DAL when it has received a enter BMPS response
6438 from the underlying device.
6439
6440 PARAMETERS
6441
6442 IN
6443 wdiStatus: response status received from HAL
6444 pUserData: user data
6445
6446
6447
6448 RETURN VALUE
6449 The result code associated with performing the operation
6450---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006451typedef void (*WDI_EnterBmpsRspCb)(WDI_EnterBmpsRspParamsType *pwdiEnterBmpsRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006452 void* pUserData);
6453
6454/*---------------------------------------------------------------------------
6455 WDI_ExitBmpsRspCb
6456
6457 DESCRIPTION
6458
6459 This callback is invoked by DAL when it has received a exit BMPS response
6460 from the underlying device.
6461
6462 PARAMETERS
6463
6464 IN
6465 wdiStatus: response status received from HAL
6466 pUserData: user data
6467
6468
6469
6470 RETURN VALUE
6471 The result code associated with performing the operation
6472---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006473typedef void (*WDI_ExitBmpsRspCb)( WDI_ExitBmpsRspParamsType *pwdiExitBmpsRspParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07006474 void* pUserData);
6475
6476/*---------------------------------------------------------------------------
6477 WDI_EnterUapsdRspCb
6478
6479 DESCRIPTION
6480
6481 This callback is invoked by DAL when it has received a enter UAPSD response
6482 from the underlying device.
6483
6484 PARAMETERS
6485
6486 IN
6487 wdiStatus: response status received from HAL
6488 pUserData: user data
6489
6490
6491
6492 RETURN VALUE
6493 The result code associated with performing the operation
6494---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006495typedef void (*WDI_EnterUapsdRspCb)( WDI_EnterUapsdRspParamsType *pwdiEnterUapsdRspParam,
Jeff Johnson295189b2012-06-20 16:38:30 -07006496 void* pUserData);
6497
6498/*---------------------------------------------------------------------------
6499 WDI_ExitUapsdRspCb
6500
6501 DESCRIPTION
6502
6503 This callback is invoked by DAL when it has received a exit UAPSD response
6504 from the underlying device.
6505
6506 PARAMETERS
6507
6508 IN
6509 wdiStatus: response status received from HAL
6510 pUserData: user data
6511
6512
6513
6514 RETURN VALUE
6515 The result code associated with performing the operation
6516---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006517typedef void (*WDI_ExitUapsdRspCb)(WDI_ExitUapsdRspParamsType *pwidExitUapsdRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006518 void* pUserData);
6519
6520/*---------------------------------------------------------------------------
6521 WDI_UpdateUapsdParamsCb
6522
6523 DESCRIPTION
6524
6525 This callback is invoked by DAL when it has received a update UAPSD params
6526 response from the underlying device.
6527
6528 PARAMETERS
6529
6530 IN
6531 wdiStatus: response status received from HAL
6532 pUserData: user data
6533
6534
6535
6536 RETURN VALUE
6537 The result code associated with performing the operation
6538---------------------------------------------------------------------------*/
6539typedef void (*WDI_UpdateUapsdParamsCb)(WDI_Status wdiStatus,
6540 void* pUserData);
6541
6542/*---------------------------------------------------------------------------
6543 WDI_ConfigureRxpFilterCb
6544
6545 DESCRIPTION
6546
6547 This callback is invoked by DAL when it has received a config RXP filter
6548 response from the underlying device.
6549
6550 PARAMETERS
6551
6552 IN
6553 wdiStatus: response status received from HAL
6554 pUserData: user data
6555
6556
6557
6558 RETURN VALUE
6559 The result code associated with performing the operation
6560---------------------------------------------------------------------------*/
6561typedef void (*WDI_ConfigureRxpFilterCb)(WDI_Status wdiStatus,
6562 void* pUserData);
6563
6564/*---------------------------------------------------------------------------
6565 WDI_SetBeaconFilterCb
6566
6567 DESCRIPTION
6568
6569 This callback is invoked by DAL when it has received a set beacon filter
6570 response from the underlying device.
6571
6572 PARAMETERS
6573
6574 IN
6575 wdiStatus: response status received from HAL
6576 pUserData: user data
6577
6578
6579
6580 RETURN VALUE
6581 The result code associated with performing the operation
6582---------------------------------------------------------------------------*/
6583typedef void (*WDI_SetBeaconFilterCb)(WDI_Status wdiStatus,
6584 void* pUserData);
6585
6586/*---------------------------------------------------------------------------
6587 WDI_RemBeaconFilterCb
6588
6589 DESCRIPTION
6590
6591 This callback is invoked by DAL when it has received a remove beacon filter
6592 response from the underlying device.
6593
6594 PARAMETERS
6595
6596 IN
6597 wdiStatus: response status received from HAL
6598 pUserData: user data
6599
6600
6601
6602 RETURN VALUE
6603 The result code associated with performing the operation
6604---------------------------------------------------------------------------*/
6605typedef void (*WDI_RemBeaconFilterCb)(WDI_Status wdiStatus,
6606 void* pUserData);
6607
6608/*---------------------------------------------------------------------------
6609 WDI_SetRSSIThresholdsCb
6610
6611 DESCRIPTION
6612
6613 This callback is invoked by DAL when it has received a set RSSI thresholds
6614 response from the underlying device.
6615
6616 PARAMETERS
6617
6618 IN
6619 wdiStatus: response status received from HAL
6620 pUserData: user data
6621
6622
6623
6624 RETURN VALUE
6625 The result code associated with performing the operation
6626---------------------------------------------------------------------------*/
6627typedef void (*WDI_SetRSSIThresholdsCb)(WDI_Status wdiStatus,
6628 void* pUserData);
6629
6630/*---------------------------------------------------------------------------
6631 WDI_HostOffloadCb
6632
6633 DESCRIPTION
6634
6635 This callback is invoked by DAL when it has received a host offload
6636 response from the underlying device.
6637
6638 PARAMETERS
6639
6640 IN
6641 wdiStatus: response status received from HAL
6642 pUserData: user data
6643
6644
6645
6646 RETURN VALUE
6647 The result code associated with performing the operation
6648---------------------------------------------------------------------------*/
6649typedef void (*WDI_HostOffloadCb)(WDI_Status wdiStatus,
6650 void* pUserData);
6651
6652/*---------------------------------------------------------------------------
6653 WDI_KeepAliveCb
6654
6655 DESCRIPTION
6656
6657 This callback is invoked by DAL when it has received a Keep Alive
6658 response from the underlying device.
6659
6660 PARAMETERS
6661
6662 IN
6663 wdiStatus: response status received from HAL
6664 pUserData: user data
6665
6666
6667
6668 RETURN VALUE
6669 The result code associated with performing the operation
6670---------------------------------------------------------------------------*/
6671typedef void (*WDI_KeepAliveCb)(WDI_Status wdiStatus,
6672 void* pUserData);
6673
6674/*---------------------------------------------------------------------------
6675 WDI_WowlAddBcPtrnCb
6676
6677 DESCRIPTION
6678
6679 This callback is invoked by DAL when it has received a Wowl add Bcast ptrn
6680 response from the underlying device.
6681
6682 PARAMETERS
6683
6684 IN
6685 wdiStatus: response status received from HAL
6686 pUserData: user data
6687
6688
6689
6690 RETURN VALUE
6691 The result code associated with performing the operation
6692---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006693typedef void (*WDI_WowlAddBcPtrnCb)( WDI_WowlAddBcPtrnRspParamsType *pwdiWowlAddBcPtrnParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07006694 void* pUserData);
6695
6696/*---------------------------------------------------------------------------
6697 WDI_WowlDelBcPtrnCb
6698
6699 DESCRIPTION
6700
6701 This callback is invoked by DAL when it has received a Wowl delete Bcast ptrn
6702 response from the underlying device.
6703
6704 PARAMETERS
6705
6706 IN
6707 wdiStatus: response status received from HAL
6708 pUserData: user data
6709
6710
6711
6712 RETURN VALUE
6713 The result code associated with performing the operation
6714---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006715typedef void (*WDI_WowlDelBcPtrnCb)( WDI_WowlDelBcPtrnRspParamsType *pwdiWowlDelBcstPtrRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006716 void* pUserData);
6717
6718/*---------------------------------------------------------------------------
6719 WDI_WowlEnterReqCb
6720
6721 DESCRIPTION
6722
6723 This callback is invoked by DAL when it has received a Wowl enter
6724 response from the underlying device.
6725
6726 PARAMETERS
6727
6728 IN
6729 wdiStatus: response status received from HAL
6730 pUserData: user data
6731
6732
6733
6734 RETURN VALUE
6735 The result code associated with performing the operation
6736---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006737typedef void (*WDI_WowlEnterReqCb)( WDI_WowlEnterRspParamsType *pwdiwowlEnterRsp,
6738 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006739
6740/*---------------------------------------------------------------------------
6741 WDI_WowlExitReqCb
6742
6743 DESCRIPTION
6744
6745 This callback is invoked by DAL when it has received a Wowl exit
6746 response from the underlying device.
6747
6748 PARAMETERS
6749
6750 IN
6751 wdiStatus: response status received from HAL
6752 pUserData: user data
6753
6754
6755
6756 RETURN VALUE
6757 The result code associated with performing the operation
6758---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006759typedef void (*WDI_WowlExitReqCb)( WDI_WowlExitRspParamsType *pwdiWowlExitRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006760 void* pUserData);
6761
6762/*---------------------------------------------------------------------------
6763 WDI_ConfigureAppsCpuWakeupStateCb
6764
6765 DESCRIPTION
6766
6767 This callback is invoked by DAL when it has received a config Apps Cpu Wakeup
6768 State response from the underlying device.
6769
6770 PARAMETERS
6771
6772 IN
6773 wdiStatus: response status received from HAL
6774 pUserData: user data
6775
6776
6777
6778 RETURN VALUE
6779 The result code associated with performing the operation
6780---------------------------------------------------------------------------*/
6781typedef void (*WDI_ConfigureAppsCpuWakeupStateCb)(WDI_Status wdiStatus,
6782 void* pUserData);
6783/*---------------------------------------------------------------------------
6784 WDI_NvDownloadRspCb
6785
6786 DESCRIPTION
6787
6788 This callback is invoked by DAL when it has received a NV Download response
6789 from the underlying device.
6790
6791 PARAMETERS
6792
6793 IN
6794 wdiStatus:response status received from HAL
6795 pUserData:user data
6796
6797 RETURN VALUE
6798 The result code associated with performing the operation
6799---------------------------------------------------------------------------*/
6800typedef void (*WDI_NvDownloadRspCb)(WDI_NvDownloadRspInfoType* wdiNvDownloadRsp,
6801 void* pUserData);
6802/*---------------------------------------------------------------------------
6803 WDI_FlushAcRspCb
6804
6805 DESCRIPTION
6806
6807 This callback is invoked by DAL when it has received a Flush AC response from
6808 the underlying device.
6809
6810 PARAMETERS
6811
6812 IN
6813 wdiStatus: response status received from HAL
6814 pUserData: user data
6815
6816
6817
6818 RETURN VALUE
6819 The result code associated with performing the operation
6820---------------------------------------------------------------------------*/
6821typedef void (*WDI_FlushAcRspCb)(WDI_Status wdiStatus,
6822 void* pUserData);
6823
6824/*---------------------------------------------------------------------------
6825 WDI_BtAmpEventRspCb
6826
6827 DESCRIPTION
6828
6829 This callback is invoked by DAL when it has received a Bt AMP event response
6830 from the underlying device.
6831
6832 PARAMETERS
6833
6834 IN
6835 wdiStatus: response status received from HAL
6836 pUserData: user data
6837
6838
6839
6840 RETURN VALUE
6841 The result code associated with performing the operation
6842---------------------------------------------------------------------------*/
6843typedef void (*WDI_BtAmpEventRspCb)(WDI_Status wdiStatus,
6844 void* pUserData);
6845
Jeff Johnsone7245742012-09-05 17:12:55 -07006846#ifdef FEATURE_OEM_DATA_SUPPORT
6847/*---------------------------------------------------------------------------
6848 WDI_oemDataRspCb
6849
6850 DESCRIPTION
6851
6852 This callback is invoked by DAL when it has received a Start oem data response from
6853 the underlying device.
6854
6855 PARAMETERS
6856
6857 IN
6858 wdiStatus: response status received from HAL
6859 pUserData: user data
6860
6861
6862
6863 RETURN VALUE
6864 The result code associated with performing the operation
6865---------------------------------------------------------------------------*/
6866typedef void (*WDI_oemDataRspCb)(WDI_oemDataRspParamsType* wdiOemDataRspParams,
6867 void* pUserData);
6868
6869#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07006870
6871/*---------------------------------------------------------------------------
6872 WDI_HostResumeEventRspCb
6873
6874 DESCRIPTION
6875
6876 This callback is invoked by DAL when it has received a Bt AMP event response
6877 from the underlying device.
6878
6879 PARAMETERS
6880
6881 IN
6882 wdiStatus: response status received from HAL
6883 pUserData: user data
6884
6885
6886
6887 RETURN VALUE
6888 The result code associated with performing the operation
6889---------------------------------------------------------------------------*/
6890typedef void (*WDI_HostResumeEventRspCb)(
6891 WDI_SuspendResumeRspParamsType *resumeRspParams,
6892 void* pUserData);
6893
6894
6895#ifdef WLAN_FEATURE_VOWIFI_11R
6896/*---------------------------------------------------------------------------
6897 WDI_AggrAddTsRspCb
6898
6899 DESCRIPTION
6900
6901 This callback is invoked by DAL when it has received a Aggregated Add TS
6902 response from the underlying device.
6903
6904 PARAMETERS
6905
6906 IN
6907 wdiStatus: response status received from HAL
6908 pUserData: user data
6909
6910
6911
6912 RETURN VALUE
6913 The result code associated with performing the operation
6914---------------------------------------------------------------------------*/
6915typedef void (*WDI_AggrAddTsRspCb)(WDI_Status wdiStatus,
6916 void* pUserData);
6917#endif /* WLAN_FEATURE_VOWIFI_11R */
6918
Jeff Johnson295189b2012-06-20 16:38:30 -07006919/*---------------------------------------------------------------------------
6920 WDI_FTMCommandRspCb
6921
6922 DESCRIPTION
6923
6924 FTM Command response CB
6925
6926 PARAMETERS
6927
6928 IN
6929 ftmCMDRspdata: FTM response data from HAL
6930 pUserData: user data
6931
6932
6933 RETURN VALUE
6934 NONE
6935---------------------------------------------------------------------------*/
6936typedef void (*WDI_FTMCommandRspCb)(void *ftmCMDRspdata,
6937 void *pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006938
6939/*---------------------------------------------------------------------------
6940 WDI_AddSTASelfParamsRspCb
6941
6942 DESCRIPTION
6943
6944 This callback is invoked by DAL when it has received a Add Sta Self Params
6945 response from the underlying device.
6946
6947 PARAMETERS
6948
6949 IN
6950 wdiAddSelfSTARsp: response status received from HAL
6951 pUserData: user data
6952
6953
6954
6955 RETURN VALUE
6956 The result code associated with performing the operation
6957---------------------------------------------------------------------------*/
6958typedef void (*WDI_AddSTASelfParamsRspCb)(
6959 WDI_AddSTASelfRspParamsType* pwdiAddSelfSTARsp,
6960 void* pUserData);
6961
6962
6963/*---------------------------------------------------------------------------
6964 WDI_DelSTASelfRspCb
6965
6966 DESCRIPTION
6967
6968 This callback is invoked by DAL when it has received a host offload
6969 response from the underlying device.
6970
6971 PARAMETERS
6972
6973 IN
6974 wdiStatus: response status received from HAL
6975 pUserData: user data
6976
6977
6978
6979 RETURN VALUE
6980 The result code associated with performing the operation
6981---------------------------------------------------------------------------*/
6982typedef void (*WDI_DelSTASelfRspCb)
6983(
6984WDI_DelSTASelfRspParamsType* wdiDelStaSelfRspParams,
6985void* pUserData
6986);
6987
6988#ifdef FEATURE_WLAN_SCAN_PNO
6989/*---------------------------------------------------------------------------
6990 WDI_PNOScanCb
6991
6992 DESCRIPTION
6993
6994 This callback is invoked by DAL when it has received a Set PNO
6995 response from the underlying device.
6996
6997 PARAMETERS
6998
6999 IN
7000 wdiStatus: response status received from HAL
7001 pUserData: user data
7002
7003
7004
7005 RETURN VALUE
7006 The result code associated with performing the operation
7007---------------------------------------------------------------------------*/
7008typedef void (*WDI_PNOScanCb)(WDI_Status wdiStatus,
7009 void* pUserData);
7010
7011/*---------------------------------------------------------------------------
7012 WDI_PNOScanCb
7013
7014 DESCRIPTION
7015
7016 This callback is invoked by DAL when it has received a Set PNO
7017 response from the underlying device.
7018
7019 PARAMETERS
7020
7021 IN
7022 wdiStatus: response status received from HAL
7023 pUserData: user data
7024
7025
7026
7027 RETURN VALUE
7028 The result code associated with performing the operation
7029---------------------------------------------------------------------------*/
7030typedef void (*WDI_RssiFilterCb)(WDI_Status wdiStatus,
7031 void* pUserData);
7032
7033/*---------------------------------------------------------------------------
7034 WDI_UpdateScanParamsCb
7035
7036 DESCRIPTION
7037
7038 This callback is invoked by DAL when it has received a Update Scan Params
7039 response from the underlying device.
7040
7041 PARAMETERS
7042
7043 IN
7044 wdiStatus: response status received from HAL
7045 pUserData: user data
7046
7047
7048
7049 RETURN VALUE
7050 The result code associated with performing the operation
7051---------------------------------------------------------------------------*/
7052typedef void (*WDI_UpdateScanParamsCb)(WDI_Status wdiStatus,
7053 void* pUserData);
7054#endif // FEATURE_WLAN_SCAN_PNO
7055
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08007056typedef void (*WDI_UpdateChannelRspCb)(WDI_Status wdiStatus,
7057 void* pUserData);
7058
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07007059#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
7060/*---------------------------------------------------------------------------
7061 WDI_RoamOffloadScanCb
7062
7063 DESCRIPTION
7064
7065 This callback is invoked by DAL when it has received a Start Roam Candidate Lookup Req
7066 response from the underlying device.
7067
7068 PARAMETERS
7069
7070 IN
7071 wdiStatus: response status received from HAL
7072 pUserData: user data
7073
7074
7075
7076 RETURN VALUE
7077 The result code associated with performing the operation
7078---------------------------------------------------------------------------*/
7079typedef void (*WDI_RoamOffloadScanCb)(WDI_Status wdiStatus,
7080 void* pUserData);
7081
7082#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07007083/*---------------------------------------------------------------------------
7084 WDI_SetTxPerTrackingRspCb
7085
7086 DESCRIPTION
7087
7088 This callback is invoked by DAL when it has received a Tx PER Tracking
7089 response from the underlying device.
7090
7091 PARAMETERS
7092
7093 IN
7094 wdiStatus: response status received from HAL
7095 pUserData: user data
7096
7097
7098
7099 RETURN VALUE
7100 The result code associated with performing the operation
7101---------------------------------------------------------------------------*/
7102typedef void (*WDI_SetTxPerTrackingRspCb)(WDI_Status wdiStatus,
7103 void* pUserData);
7104
7105#ifdef WLAN_FEATURE_PACKET_FILTERING
7106/*---------------------------------------------------------------------------
7107 WDI_8023MulticastListCb
7108
7109 DESCRIPTION
7110
7111 This callback is invoked by DAL when it has received a 8023 Multicast List
7112 response from the underlying device.
7113
7114 PARAMETERS
7115
7116 IN
7117 wdiStatus: response status received from HAL
7118 pUserData: user data
7119
7120
7121
7122 RETURN VALUE
7123 The result code associated with performing the operation
7124---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007125typedef void (*WDI_8023MulticastListCb)(
7126 WDI_RcvFltPktSetMcListRspParamsType *pwdiRcvFltPktSetMcListRspInfo,
7127 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007128
7129/*---------------------------------------------------------------------------
7130 WDI_ReceiveFilterSetFilterCb
7131
7132 DESCRIPTION
7133
7134 This callback is invoked by DAL when it has received a Receive Filter Set Filter
7135 response from the underlying device.
7136
7137 PARAMETERS
7138
7139 IN
7140 wdiStatus: response status received from HAL
7141 pUserData: user data
7142
7143
7144
7145 RETURN VALUE
7146 The result code associated with performing the operation
7147---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007148typedef void (*WDI_ReceiveFilterSetFilterCb)(
7149 WDI_SetRcvPktFilterRspParamsType *pwdiSetRcvPktFilterRspInfo,
7150 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007151
7152/*---------------------------------------------------------------------------
7153 WDI_FilterMatchCountCb
7154
7155 DESCRIPTION
7156
7157 This callback is invoked by DAL when it has received a Do PC Filter Match Count
7158 response from the underlying device.
7159
7160 PARAMETERS
7161
7162 IN
7163 wdiStatus: response status received from HAL
7164 pUserData: user data
7165
7166
7167
7168 RETURN VALUE
7169 The result code associated with performing the operation
7170---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007171typedef void (*WDI_FilterMatchCountCb)(
7172 WDI_RcvFltPktMatchCntRspParamsType *pwdiRcvFltPktMatchRspParams,
7173 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007174
7175/*---------------------------------------------------------------------------
7176 WDI_ReceiveFilterClearFilterCb
7177
7178 DESCRIPTION
7179
7180 This callback is invoked by DAL when it has received a Receive Filter Clear Filter
7181 response from the underlying device.
7182
7183 PARAMETERS
7184
7185 IN
7186 wdiStatus: response status received from HAL
7187 pUserData: user data
7188
7189
7190
7191 RETURN VALUE
7192 The result code associated with performing the operation
7193---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007194typedef void (*WDI_ReceiveFilterClearFilterCb)(
7195 WDI_RcvFltPktClearRspParamsType *pwdiRcvFltPktClearRspParamsType,
7196 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007197#endif // WLAN_FEATURE_PACKET_FILTERING
7198
7199/*---------------------------------------------------------------------------
7200 WDI_HALDumpCmdRspCb
7201
7202 DESCRIPTION
7203
7204 This callback is invoked by DAL when it has received a HAL DUMP Command
7205response from
7206 the HAL layer.
7207
7208 PARAMETERS
7209
7210 IN
7211 wdiHalDumpCmdRsp: response status received from HAL
7212 pUserData: user data
7213
7214
7215
7216 RETURN VALUE
7217 The result code associated with performing the operation
7218---------------------------------------------------------------------------*/
7219typedef void (*WDI_HALDumpCmdRspCb)(WDI_HALDumpCmdRspParamsType* wdiHalDumpCmdRsp,
7220 void* pUserData);
7221
7222/*---------------------------------------------------------------------------
7223 WDI_SetPowerParamsCb
7224
7225 DESCRIPTION
7226
7227 This callback is invoked by DAL when it has received a Set Power Param
7228 response from the underlying device.
7229
7230 PARAMETERS
7231
7232 IN
7233 wdiStatus: response status received from HAL
7234 pUserData: user data
7235
7236
7237
7238 RETURN VALUE
7239 The result code associated with performing the operation
7240---------------------------------------------------------------------------*/
7241typedef void (*WDI_SetPowerParamsCb)(WDI_Status wdiStatus,
7242 void* pUserData);
7243
7244#ifdef WLAN_FEATURE_GTK_OFFLOAD
7245/*---------------------------------------------------------------------------
7246 WDI_GtkOffloadCb
7247
7248 DESCRIPTION
7249
7250 This callback is invoked by DAL when it has received a GTK offload
7251 response from the underlying device.
7252
7253 PARAMETERS
7254
7255 IN
7256 wdiStatus: response status received from HAL
7257 pUserData: user data
7258
7259
7260
7261 RETURN VALUE
7262 The result code associated with performing the operation
7263---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007264typedef void (*WDI_GtkOffloadCb)( WDI_GtkOffloadRspParams *pwdiGtkOffloadRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007265 void* pUserData);
7266
7267/*---------------------------------------------------------------------------
7268 WDI_GtkOffloadGetInfoCb
7269
7270 DESCRIPTION
7271
7272 This callback is invoked by DAL when it has received a GTK offload
7273 information response from the underlying device.
7274
7275 PARAMETERS
7276
7277 IN
7278 wdiStatus: response status received from HAL
7279 pUserData: user data
7280
7281
7282
7283 RETURN VALUE
7284 The result code associated with performing the operation
7285---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007286typedef void (*WDI_GtkOffloadGetInfoCb)( WDI_GtkOffloadGetInfoRspParams *pwdiGtkOffloadGetInfoRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007287 void* pUserData);
7288#endif // WLAN_FEATURE_GTK_OFFLOAD
7289
7290/*---------------------------------------------------------------------------
7291 WDI_SetTmLevelCb
7292
7293 DESCRIPTION
7294
7295 This callback is invoked by DAL when it has received a Set New TM Level
7296 done response from the underlying device.
7297
7298 PARAMETERS
7299
7300 IN
7301 wdiStatus: response status received from HAL
7302 pUserData: user data
7303
7304
7305
7306 RETURN VALUE
7307 The result code associated with performing the operation
7308---------------------------------------------------------------------------*/
7309typedef void (*WDI_SetTmLevelCb)(WDI_Status wdiStatus,
7310 void* pUserData);
7311
7312/*---------------------------------------------------------------------------
7313 WDI_featureCapsExchangeCb
7314
7315 DESCRIPTION
7316
7317 This callback is invoked by DAL when it has received a HAL Feature Capbility
7318 Exchange Response the HAL layer. This callback is put to mantain code
7319 similarity and is not being used right now.
7320
7321 PARAMETERS
7322
7323 IN
7324 wdiFeatCapRspParams: response parameters received from HAL
7325 pUserData: user data
7326
7327 RETURN VALUE
7328 The result code associated with performing the operation
7329---------------------------------------------------------------------------*/
7330typedef void (*WDI_featureCapsExchangeCb)(void* wdiFeatCapRspParams,
7331 void* pUserData);
7332
Mohit Khanna4a70d262012-09-11 16:30:12 -07007333#ifdef WLAN_FEATURE_11AC
7334typedef void (*WDI_UpdateVHTOpModeCb)(WDI_Status wdiStatus,
7335 void* pUserData);
7336#endif
7337
Leo Chang9056f462013-08-01 19:21:11 -07007338#ifdef FEATURE_WLAN_LPHB
7339typedef void (*WDI_LphbCfgCb)(WDI_Status wdiStatus,
7340 void* pUserData);
7341#endif /* FEATURE_WLAN_LPHB */
Mohit Khanna4a70d262012-09-11 16:30:12 -07007342
Rajeev79dbe4c2013-10-05 11:03:42 +05307343#ifdef FEATURE_WLAN_BATCH_SCAN
7344/*---------------------------------------------------------------------------
7345 WDI_SetBatchScanCb
7346
7347 DESCRIPTION
7348
7349 This callback is invoked by DAL when it has received a get batch scan
7350 response from the underlying device.
7351
7352 PARAMETERS
7353
7354 IN
7355 wdiStatus: response status received from HAL
7356 pUserData: user data
7357
7358
7359
7360 RETURN VALUE
7361 The result code associated with performing the operation
7362---------------------------------------------------------------------------*/
7363typedef void (*WDI_SetBatchScanCb)(void *pData, WDI_SetBatchScanRspType *pRsp);
7364
7365#endif
7366
7367
Jeff Johnson295189b2012-06-20 16:38:30 -07007368/*========================================================================
7369 * Function Declarations and Documentation
7370 ==========================================================================*/
7371
7372/*========================================================================
7373
7374 INITIALIZATION APIs
7375
7376==========================================================================*/
7377
7378/**
7379 @brief WDI_Init is used to initialize the DAL.
7380
7381 DAL will allocate all the resources it needs. It will open PAL, it will also
7382 open both the data and the control transport which in their turn will open
7383 DXE/SMD or any other drivers that they need.
7384
7385 @param pOSContext: pointer to the OS context provided by the UMAC
7386 will be passed on to PAL on Open
7387 ppWDIGlobalCtx: output pointer of Global Context
7388 pWdiDevCapability: output pointer of device capability
7389
7390 @return Result of the function call
7391*/
7392WDI_Status
7393WDI_Init
7394(
7395 void* pOSContext,
7396 void** ppWDIGlobalCtx,
7397 WDI_DeviceCapabilityType* pWdiDevCapability,
7398 unsigned int driverType
7399);
7400
7401/**
7402 @brief WDI_Start will be called when the upper MAC is ready to
7403 commence operation with the WLAN Device. Upon the call
7404 of this API the WLAN DAL will pack and send a HAL Start
7405 message to the lower RIVA sub-system if the SMD channel
7406 has been fully opened and the RIVA subsystem is up.
7407
7408 If the RIVA sub-system is not yet up and running DAL
7409 will queue the request for Open and will wait for the
7410 SMD notification before attempting to send down the
7411 message to HAL.
7412
7413 WDI_Init must have been called.
7414
7415 @param wdiStartParams: the start parameters as specified by
7416 the Device Interface
7417
7418 wdiStartRspCb: callback for passing back the response of
7419 the start operation received from the device
7420
7421 pUserData: user data will be passed back with the
7422 callback
7423
7424 @see WDI_Start
7425 @return Result of the function call
7426*/
7427WDI_Status
7428WDI_Start
7429(
7430 WDI_StartReqParamsType* pwdiStartParams,
7431 WDI_StartRspCb wdiStartRspCb,
7432 void* pUserData
7433);
7434
7435
7436/**
7437 @brief WDI_Stop will be called when the upper MAC is ready to
7438 stop any operation with the WLAN Device. Upon the call
7439 of this API the WLAN DAL will pack and send a HAL Stop
7440 message to the lower RIVA sub-system if the DAL Core is
7441 in started state.
7442
7443 In state BUSY this request will be queued.
7444
7445 Request will not be accepted in any other state.
7446
7447 WDI_Start must have been called.
7448
7449 @param wdiStopParams: the stop parameters as specified by
7450 the Device Interface
7451
7452 wdiStopRspCb: callback for passing back the response of
7453 the stop operation received from the device
7454
7455 pUserData: user data will be passed back with the
7456 callback
7457
7458 @see WDI_Start
7459 @return Result of the function call
7460*/
7461WDI_Status
7462WDI_Stop
7463(
7464 WDI_StopReqParamsType* pwdiStopParams,
7465 WDI_StopRspCb wdiStopRspCb,
7466 void* pUserData
7467);
7468
7469/**
7470 @brief WDI_Close will be called when the upper MAC no longer
7471 needs to interract with DAL. DAL will free its control
7472 block.
7473
7474 It is only accepted in state STOPPED.
7475
7476 WDI_Stop must have been called.
7477
7478 @param none
7479
7480 @see WDI_Stop
7481 @return Result of the function call
7482*/
7483WDI_Status
7484WDI_Close
7485(
7486 void
7487);
7488
7489
7490/**
7491 @brief WDI_Shutdown will be called during 'SSR shutdown' operation.
7492 This will do most of the WDI stop & close
7493 operations without doing any handshake with Riva
7494
7495 This will also make sure that the control transport
7496 will NOT be closed.
7497
7498 This request will not be queued.
7499
7500
7501 WDI_Start must have been called.
7502
7503 @param closeTransport: Close control channel if this is set
7504
7505 @return Result of the function call
7506*/
7507WDI_Status
7508WDI_Shutdown
7509(
7510 wpt_boolean closeTransport
7511);
7512
7513/*========================================================================
7514
7515 SCAN APIs
7516
7517==========================================================================*/
7518
7519/**
7520 @brief WDI_InitScanReq will be called when the upper MAC wants
7521 the WLAN Device to get ready for a scan procedure. Upon
7522 the call of this API the WLAN DAL will pack and send a
7523 HAL Init Scan request message to the lower RIVA
7524 sub-system if DAL is in state STARTED.
7525
7526 In state BUSY this request will be queued. Request won't
7527 be allowed in any other state.
7528
7529 WDI_Start must have been called.
7530
7531 @param wdiInitScanParams: the init scan parameters as specified
7532 by the Device Interface
7533
7534 wdiInitScanRspCb: callback for passing back the response
7535 of the init scan 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_InitScanReq
7545(
7546 WDI_InitScanReqParamsType* pwdiInitScanParams,
7547 WDI_InitScanRspCb wdiInitScanRspCb,
7548 void* pUserData
7549);
7550
7551/**
7552 @brief WDI_StartScanReq will be called when the upper MAC
7553 wishes to change the Scan channel on the WLAN Device.
7554 Upon the call of this API the WLAN DAL will pack and
7555 send a HAL Start Scan request message to the lower RIVA
7556 sub-system if DAL is in state STARTED.
7557
7558 In state BUSY this request will be queued. Request won't
7559 be allowed in any other state.
7560
7561 WDI_InitScanReq must have been called.
7562
7563 @param wdiStartScanParams: the start scan parameters as
7564 specified by the Device Interface
7565
7566 wdiStartScanRspCb: callback for passing back the
7567 response of the start scan operation received from the
7568 device
7569
7570 pUserData: user data will be passed back with the
7571 callback
7572
7573 @see WDI_InitScanReq
7574 @return Result of the function call
7575*/
7576WDI_Status
7577WDI_StartScanReq
7578(
7579 WDI_StartScanReqParamsType* pwdiStartScanParams,
7580 WDI_StartScanRspCb wdiStartScanRspCb,
7581 void* pUserData
7582);
7583
7584
7585/**
7586 @brief WDI_EndScanReq will be called when the upper MAC is
7587 wants to end scanning for a particular channel that it
7588 had set before by calling Scan Start on the WLAN Device.
7589 Upon the call of this API the WLAN DAL will pack and
7590 send a HAL End Scan request message to the lower RIVA
7591 sub-system if DAL is in state STARTED.
7592
7593 In state BUSY this request will be queued. Request won't
7594 be allowed in any other state.
7595
7596 WDI_StartScanReq must have been called.
7597
7598 @param wdiEndScanParams: the end scan parameters as specified
7599 by the Device Interface
7600
7601 wdiEndScanRspCb: callback for passing back the response
7602 of the end scan operation received from the device
7603
7604 pUserData: user data will be passed back with the
7605 callback
7606
7607 @see WDI_StartScanReq
7608 @return Result of the function call
7609*/
7610WDI_Status
7611WDI_EndScanReq
7612(
7613 WDI_EndScanReqParamsType* pwdiEndScanParams,
7614 WDI_EndScanRspCb wdiEndScanRspCb,
7615 void* pUserData
7616);
7617
7618
7619/**
7620 @brief WDI_FinishScanReq will be called when the upper MAC has
7621 completed the scan process on the WLAN Device. Upon the
7622 call of this API the WLAN DAL will pack and send a HAL
7623 Finish Scan Request request message to the lower RIVA
7624 sub-system if DAL is in state STARTED.
7625
7626 In state BUSY this request will be queued. Request won't
7627 be allowed in any other state.
7628
7629 WDI_InitScanReq must have been called.
7630
7631 @param wdiFinishScanParams: the finish scan parameters as
7632 specified by the Device Interface
7633
7634 wdiFinishScanRspCb: callback for passing back the
7635 response of the finish scan operation received from the
7636 device
7637
7638 pUserData: user data will be passed back with the
7639 callback
7640
7641 @see WDI_InitScanReq
7642 @return Result of the function call
7643*/
7644WDI_Status
7645WDI_FinishScanReq
7646(
7647 WDI_FinishScanReqParamsType* pwdiFinishScanParams,
7648 WDI_FinishScanRspCb wdiFinishScanRspCb,
7649 void* pUserData
7650);
7651
7652/*========================================================================
7653
7654 ASSOCIATION APIs
7655
7656==========================================================================*/
7657
7658/**
7659 @brief WDI_JoinReq will be called when the upper MAC is ready
7660 to start an association procedure to a BSS. Upon the
7661 call of this API the WLAN DAL will pack and send a HAL
7662 Join request message to the lower RIVA sub-system if
7663 DAL is in state STARTED.
7664
7665 In state BUSY this request will be queued. Request won't
7666 be allowed in any other state.
7667
7668 WDI_Start must have been called.
7669
7670 @param wdiJoinParams: the join parameters as specified by
7671 the Device Interface
7672
7673 wdiJoinRspCb: callback for passing back the response of
7674 the join operation received from the device
7675
7676 pUserData: user data will be passed back with the
7677 callback
7678
7679 @see WDI_Start
7680 @return Result of the function call
7681*/
7682WDI_Status
7683WDI_JoinReq
7684(
7685 WDI_JoinReqParamsType* pwdiJoinParams,
7686 WDI_JoinRspCb wdiJoinRspCb,
7687 void* pUserData
7688);
7689
7690/**
7691 @brief WDI_ConfigBSSReq will be called when the upper MAC
7692 wishes to configure the newly acquired or in process of
7693 being acquired BSS to the HW . Upon the call of this API
7694 the WLAN DAL will pack and send a HAL Config BSS request
7695 message to the lower RIVA sub-system if DAL is in state
7696 STARTED.
7697
7698 In state BUSY this request will be queued. Request won't
7699 be allowed in any other state.
7700
7701 WDI_JoinReq must have been called.
7702
7703 @param wdiConfigBSSParams: the config BSS parameters as
7704 specified by the Device Interface
7705
7706 wdiConfigBSSRspCb: callback for passing back the
7707 response of the config BSS operation received from the
7708 device
7709
7710 pUserData: user data will be passed back with the
7711 callback
7712
7713 @see WDI_JoinReq
7714 @return Result of the function call
7715*/
7716WDI_Status
7717WDI_ConfigBSSReq
7718(
7719 WDI_ConfigBSSReqParamsType* pwdiConfigBSSParams,
7720 WDI_ConfigBSSRspCb wdiConfigBSSRspCb,
7721 void* pUserData
7722);
7723
7724/**
7725 @brief WDI_DelBSSReq will be called when the upper MAC is
7726 dissasociating from the BSS and wishes to notify HW.
7727 Upon the call of this API the WLAN DAL will pack and
7728 send a HAL Del BSS request message to the lower RIVA
7729 sub-system if DAL is in state STARTED.
7730
7731 In state BUSY this request will be queued. Request won't
7732 be allowed in any other state.
7733
7734 WDI_ConfigBSSReq or WDI_PostAssocReq must have been called.
7735
7736 @param wdiDelBSSParams: the del BSS parameters as specified by
7737 the Device Interface
7738
7739 wdiDelBSSRspCb: callback for passing back the response
7740 of the del bss operation received from the device
7741
7742 pUserData: user data will be passed back with the
7743 callback
7744
7745 @see WDI_ConfigBSSReq, WDI_PostAssocReq
7746 @return Result of the function call
7747*/
7748WDI_Status
7749WDI_DelBSSReq
7750(
7751 WDI_DelBSSReqParamsType* pwdiDelBSSParams,
7752 WDI_DelBSSRspCb wdiDelBSSRspCb,
7753 void* pUserData
7754);
7755
7756/**
7757 @brief WDI_PostAssocReq will be called when the upper MAC has
7758 associated to a BSS and wishes to configure HW for
7759 associated state. Upon the call of this API the WLAN DAL
7760 will pack and send a HAL Post Assoc request message to
7761 the lower RIVA sub-system if DAL is in state STARTED.
7762
7763 In state BUSY this request will be queued. Request won't
7764 be allowed in any other state.
7765
7766 WDI_JoinReq must have been called.
7767
7768 @param wdiPostAssocReqParams: the assoc parameters as specified
7769 by the Device Interface
7770
7771 wdiPostAssocRspCb: callback for passing back the
7772 response of the post assoc operation received from the
7773 device
7774
7775 pUserData: user data will be passed back with the
7776 callback
7777
7778 @see WDI_JoinReq
7779 @return Result of the function call
7780*/
7781WDI_Status
7782WDI_PostAssocReq
7783(
7784 WDI_PostAssocReqParamsType* pwdiPostAssocReqParams,
7785 WDI_PostAssocRspCb wdiPostAssocRspCb,
7786 void* pUserData
7787);
7788
7789/**
7790 @brief WDI_DelSTAReq will be called when the upper MAC when an
7791 association with another STA has ended and the station
7792 must be deleted from HW. Upon the call of this API the
7793 WLAN DAL will pack and send a HAL Del STA request
7794 message to the lower RIVA sub-system if DAL is in state
7795 STARTED.
7796
7797 In state BUSY this request will be queued. Request won't
7798 be allowed in any other state.
7799
7800 WDI_PostAssocReq must have been called.
7801
7802 @param wdiDelSTAParams: the Del STA parameters as specified by
7803 the Device Interface
7804
7805 wdiDelSTARspCb: callback for passing back the response
7806 of the del STA operation received from the device
7807
7808 pUserData: user data will be passed back with the
7809 callback
7810
7811 @see WDI_PostAssocReq
7812 @return Result of the function call
7813*/
7814WDI_Status
7815WDI_DelSTAReq
7816(
7817 WDI_DelSTAReqParamsType* pwdiDelSTAParams,
7818 WDI_DelSTARspCb wdiDelSTARspCb,
7819 void* pUserData
7820);
7821
7822/*========================================================================
7823
7824 SECURITY APIs
7825
7826==========================================================================*/
7827
7828/**
7829 @brief WDI_SetBSSKeyReq will be called when the upper MAC ito
7830 install a BSS encryption key on the HW. Upon the call of
7831 this API the WLAN DAL will pack and send a HAL Start
7832 request message to the lower RIVA sub-system if DAL is
7833 in state STARTED.
7834
7835 In state BUSY this request will be queued. Request won't
7836 be allowed in any other state.
7837
7838 WDI_PostAssocReq must have been called.
7839
7840 @param wdiSetBSSKeyParams: the BSS Key set parameters as
7841 specified by the Device Interface
7842
7843 wdiSetBSSKeyRspCb: callback for passing back the
7844 response of the set BSS Key operation received from the
7845 device
7846
7847 pUserData: user data will be passed back with the
7848 callback
7849
7850 @see WDI_PostAssocReq
7851 @return Result of the function call
7852*/
7853WDI_Status
7854WDI_SetBSSKeyReq
7855(
7856 WDI_SetBSSKeyReqParamsType* pwdiSetBSSKeyParams,
7857 WDI_SetBSSKeyRspCb wdiSetBSSKeyRspCb,
7858 void* pUserData
7859);
7860
7861
7862/**
7863 @brief WDI_RemoveBSSKeyReq will be called when the upper MAC to
7864 uninstall a BSS key from HW. Upon the call of this API
7865 the WLAN DAL will pack and send a HAL Remove BSS Key
7866 request message to the lower RIVA sub-system if DAL is
7867 in state STARTED.
7868
7869 In state BUSY this request will be queued. Request won't
7870 be allowed in any other state.
7871
7872 WDI_SetBSSKeyReq must have been called.
7873
7874 @param wdiRemoveBSSKeyParams: the remove BSS key parameters as
7875 specified by the Device Interface
7876
7877 wdiRemoveBSSKeyRspCb: callback for passing back the
7878 response of the remove BSS key operation received from
7879 the device
7880
7881 pUserData: user data will be passed back with the
7882 callback
7883
7884 @see WDI_SetBSSKeyReq
7885 @return Result of the function call
7886*/
7887WDI_Status
7888WDI_RemoveBSSKeyReq
7889(
7890 WDI_RemoveBSSKeyReqParamsType* pwdiRemoveBSSKeyParams,
7891 WDI_RemoveBSSKeyRspCb wdiRemoveBSSKeyRspCb,
7892 void* pUserData
7893);
7894
7895
7896/**
7897 @brief WDI_SetSTAKeyReq will be called when the upper MAC is
7898 ready to install a STA(ast) encryption key in HW. Upon
7899 the call of this API the WLAN DAL will pack and send a
7900 HAL Set STA Key request message to the lower RIVA
7901 sub-system if DAL is in state STARTED.
7902
7903 In state BUSY this request will be queued. Request won't
7904 be allowed in any other state.
7905
7906 WDI_PostAssocReq must have been called.
7907
7908 @param wdiSetSTAKeyParams: the set STA key parameters as
7909 specified by the Device Interface
7910
7911 wdiSetSTAKeyRspCb: callback for passing back the
7912 response of the set STA key operation received from the
7913 device
7914
7915 pUserData: user data will be passed back with the
7916 callback
7917
7918 @see WDI_PostAssocReq
7919 @return Result of the function call
7920*/
7921WDI_Status
7922WDI_SetSTAKeyReq
7923(
7924 WDI_SetSTAKeyReqParamsType* pwdiSetSTAKeyParams,
7925 WDI_SetSTAKeyRspCb wdiSetSTAKeyRspCb,
7926 void* pUserData
7927);
7928
7929
7930/**
7931 @brief WDI_RemoveSTAKeyReq will be called when the upper MAC
7932 wants to unistall a previously set STA key in HW. Upon
7933 the call of this API the WLAN DAL will pack and send a
7934 HAL Remove STA Key request message to the lower RIVA
7935 sub-system if DAL is in state STARTED.
7936
7937 In state BUSY this request will be queued. Request won't
7938 be allowed in any other state.
7939
7940 WDI_SetSTAKeyReq must have been called.
7941
7942 @param wdiRemoveSTAKeyParams: the remove STA key parameters as
7943 specified by the Device Interface
7944
7945 wdiRemoveSTAKeyRspCb: callback for passing back the
7946 response of the remove STA key operation received from
7947 the device
7948
7949 pUserData: user data will be passed back with the
7950 callback
7951
7952 @see WDI_SetSTAKeyReq
7953 @return Result of the function call
7954*/
7955WDI_Status
7956WDI_RemoveSTAKeyReq
7957(
7958 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTAKeyParams,
7959 WDI_RemoveSTAKeyRspCb wdiRemoveSTAKeyRspCb,
7960 void* pUserData
7961);
7962
7963/**
7964 @brief WDI_SetSTABcastKeyReq will be called when the upper MAC
7965 wants to install a STA Bcast encryption key on the HW.
7966 Upon the call of this API the WLAN DAL will pack and
7967 send a HAL Start request message to the lower RIVA
7968 sub-system if DAL is in state STARTED.
7969
7970 In state BUSY this request will be queued. Request won't
7971 be allowed in any other state.
7972
7973 WDI_PostAssocReq must have been called.
7974
7975 @param pwdiSetSTABcastKeyParams: the BSS Key set parameters as
7976 specified by the Device Interface
7977
7978 wdiSetSTABcastKeyRspCb: callback for passing back the
7979 response of the set BSS Key operation received from the
7980 device
7981
7982 pUserData: user data will be passed back with the
7983 callback
7984
7985 @see WDI_PostAssocReq
7986 @return Result of the function call
7987*/
7988WDI_Status
7989WDI_SetSTABcastKeyReq
7990(
7991 WDI_SetSTAKeyReqParamsType* pwdiSetSTABcastKeyParams,
7992 WDI_SetSTAKeyRspCb wdiSetSTABcastKeyRspCb,
7993 void* pUserData
7994);
7995
7996
7997/**
7998 @brief WDI_RemoveSTABcastKeyReq will be called when the upper
7999 MAC to uninstall a STA Bcast key from HW. Upon the call
8000 of this API the WLAN DAL will pack and send a HAL Remove
8001 STA Bcast Key request message to the lower RIVA
8002 sub-system if DAL is in state STARTED.
8003
8004 In state BUSY this request will be queued. Request won't
8005 be allowed in any other state.
8006
8007 WDI_SetSTABcastKeyReq must have been called.
8008
8009 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
8010 parameters as specified by the Device
8011 Interface
8012
8013 wdiRemoveSTABcastKeyRspCb: callback for passing back the
8014 response of the remove STA Bcast key operation received
8015 from the device
8016
8017 pUserData: user data will be passed back with the
8018 callback
8019
8020 @see WDI_SetSTABcastKeyReq
8021 @return Result of the function call
8022*/
8023WDI_Status
8024WDI_RemoveSTABcastKeyReq
8025(
8026 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTABcastKeyParams,
8027 WDI_RemoveSTAKeyRspCb wdiRemoveSTABcastKeyRspCb,
8028 void* pUserData
8029);
8030
schang86c22c42013-03-13 18:41:24 -07008031
8032/**
8033 @brief WDI_SetTxPowerReq will be called when the upper
8034 MAC wants to set Tx Power to HW.
8035 In state BUSY this request will be queued. Request won't
8036 be allowed in any other state.
8037
8038
8039 @param pwdiSetTxPowerParams: set TS Power parameters
8040 BSSID and target TX Power with dbm included
8041
8042 wdiReqStatusCb: callback for passing back the response
8043
8044 pUserData: user data will be passed back with the
8045 callback
8046
8047 @return Result of the function call
8048*/
8049WDI_Status
8050WDI_SetTxPowerReq
8051(
8052 WDI_SetTxPowerParamsType* pwdiSetTxPowerParams,
8053 WDA_SetTxPowerRspCb wdiReqStatusCb,
8054 void* pUserData
8055);
8056
Jeff Johnson295189b2012-06-20 16:38:30 -07008057/**
8058 @brief WDI_SetMaxTxPowerReq will be called when the upper
8059 MAC wants to set Max Tx Power to HW. Upon the
8060 call of this API the WLAN DAL will pack and send a HAL
8061 Remove STA Bcast Key request message to the lower RIVA
8062 sub-system if DAL is in state STARTED.
8063
8064 In state BUSY this request will be queued. Request won't
8065 be allowed in any other state.
8066
8067 WDI_SetSTABcastKeyReq must have been called.
8068
8069 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
8070 parameters as specified by the Device
8071 Interface
8072
8073 wdiRemoveSTABcastKeyRspCb: callback for passing back the
8074 response of the remove STA Bcast key operation received
8075 from the device
8076
8077 pUserData: user data will be passed back with the
8078 callback
8079
8080 @see WDI_SetMaxTxPowerReq
8081 @return Result of the function call
8082*/
8083WDI_Status
8084WDI_SetMaxTxPowerReq
8085(
8086 WDI_SetMaxTxPowerParamsType* pwdiSetMaxTxPowerParams,
8087 WDA_SetMaxTxPowerRspCb wdiReqStatusCb,
8088 void* pUserData
8089);
8090
Arif Hussaina5ebce02013-08-09 15:09:58 -07008091/**
8092 @brief WDI_SetMaxTxPowerPerBandReq will be called when the upper
8093 MAC wants to set Max Tx Power to HW for specific band. Upon the
8094 call of this API the WLAN DAL will pack and send a HAL
8095 Set Max Tx Power Per Band request message to the lower RIVA
8096 sub-system if DAL is in state STARTED.
8097
8098 In state BUSY this request will be queued. Request won't
8099 be allowed in any other state.
8100
8101
8102 @param WDI_SetMaxTxPowerPerBandParamsType: Max Tx Per Band Info
8103
8104 WDA_SetMaxTxPowerPerBandRspCb: This callback is invoked by DAL
8105 when it has received a set max Tx Power Per Band response from
8106 the underlying device.
8107
8108 pUserData: user data will be passed back with the
8109 callback
8110
8111 @see WDI_SetMaxTxPowerPerBandReq
8112 @return Result of the function call
8113*/
8114WDI_Status
8115WDI_SetMaxTxPowerPerBandReq
8116(
8117 WDI_SetMaxTxPowerPerBandParamsType* pwdiSetMaxTxPowerPerBandParams,
8118 WDA_SetMaxTxPowerPerBandRspCb wdiReqStatusCb,
8119 void* pUserData
8120);
8121
Jeff Johnson295189b2012-06-20 16:38:30 -07008122#ifdef FEATURE_WLAN_CCX
8123/**
8124 @brief WDI_TSMStatsReq will be called by the upper MAC to fetch
8125 Traffic Stream metrics.
8126 In state BUSY this request will be queued. Request won't
8127 be allowed in any other state.
8128
8129 @param wdiAddTsReqParams: the add TS parameters as specified by
8130 the Device Interface
8131
8132 wdiAddTsRspCb: callback for passing back the response of
8133 the add TS operation received from the device
8134
8135 pUserData: user data will be passed back with the
8136 callback
8137
8138 @see WDI_PostAssocReq
8139 @return Result of the function call
8140*/
8141WDI_Status
8142WDI_TSMStatsReq
8143(
8144 WDI_TSMStatsReqParamsType* pwdiTsmStatsReqParams,
8145 WDI_TsmRspCb wdiTsmStatsRspCb,
8146 void* pUserData
8147);
8148
8149
8150#endif
8151
8152/*========================================================================
8153
8154 QoS and BA APIs
8155
8156==========================================================================*/
8157
8158/**
8159 @brief WDI_AddTSReq will be called when the upper MAC to inform
8160 the device of a successful add TSpec negotiation. HW
8161 needs to receive the TSpec Info from the UMAC in order
8162 to configure properly the QoS data traffic. Upon the
8163 call of this API the WLAN DAL will pack and send a HAL
8164 Add TS request message to the lower RIVA sub-system if
8165 DAL is in state STARTED.
8166
8167 In state BUSY this request will be queued. Request won't
8168 be allowed in any other state.
8169
8170 WDI_PostAssocReq must have been called.
8171
8172 @param wdiAddTsReqParams: the add TS parameters as specified by
8173 the Device Interface
8174
8175 wdiAddTsRspCb: callback for passing back the response of
8176 the add TS operation received from the device
8177
8178 pUserData: user data will be passed back with the
8179 callback
8180
8181 @see WDI_PostAssocReq
8182 @return Result of the function call
8183*/
8184WDI_Status
8185WDI_AddTSReq
8186(
8187 WDI_AddTSReqParamsType* pwdiAddTsReqParams,
8188 WDI_AddTsRspCb wdiAddTsRspCb,
8189 void* pUserData
8190);
8191
8192
8193
8194/**
8195 @brief WDI_DelTSReq will be called when the upper MAC has ended
8196 admission on a specific AC. This is to inform HW that
8197 QoS traffic parameters must be rest. Upon the call of
8198 this API the WLAN DAL will pack and send a HAL Del TS
8199 request message to the lower RIVA sub-system if DAL is
8200 in state STARTED.
8201
8202 In state BUSY this request will be queued. Request won't
8203 be allowed in any other state.
8204
8205 WDI_AddTSReq must have been called.
8206
8207 @param wdiDelTsReqParams: the del TS parameters as specified by
8208 the Device Interface
8209
8210 wdiDelTsRspCb: callback for passing back the response of
8211 the del TS operation received from the device
8212
8213 pUserData: user data will be passed back with the
8214 callback
8215
8216 @see WDI_AddTSReq
8217 @return Result of the function call
8218*/
8219WDI_Status
8220WDI_DelTSReq
8221(
8222 WDI_DelTSReqParamsType* pwdiDelTsReqParams,
8223 WDI_DelTsRspCb wdiDelTsRspCb,
8224 void* pUserData
8225);
8226
8227
8228
8229/**
8230 @brief WDI_UpdateEDCAParams will be called when the upper MAC
8231 wishes to update the EDCA parameters used by HW for QoS
8232 data traffic. Upon the call of this API the WLAN DAL
8233 will pack and send a HAL Update EDCA Params request
8234 message to the lower RIVA sub-system if DAL is in state
8235 STARTED.
8236
8237 In state BUSY this request will be queued. Request won't
8238 be allowed in any other state.
8239
8240 WDI_PostAssocReq must have been called.
8241
8242 @param wdiUpdateEDCAParams: the start parameters as specified
8243 by the Device Interface
8244
8245 wdiUpdateEDCAParamsRspCb: callback for passing back the
8246 response of the start operation received from the device
8247
8248 pUserData: user data will be passed back with the
8249 callback
8250
8251 @see WDI_PostAssocReq
8252 @return Result of the function call
8253*/
8254WDI_Status
8255WDI_UpdateEDCAParams
8256(
8257 WDI_UpdateEDCAParamsType* pwdiUpdateEDCAParams,
8258 WDI_UpdateEDCAParamsRspCb wdiUpdateEDCAParamsRspCb,
8259 void* pUserData
8260);
8261
8262
8263
8264/**
8265 @brief WDI_AddBASessionReq will be called when the upper MAC has setup
8266 successfully a BA session and needs to notify the HW for
8267 the appropriate settings to take place. Upon the call of
8268 this API the WLAN DAL will pack and send a HAL Add BA
8269 request message to the lower RIVA sub-system if DAL is
8270 in state STARTED.
8271
8272 In state BUSY this request will be queued. Request won't
8273 be allowed in any other state.
8274
8275 WDI_PostAssocReq must have been called.
8276
8277 @param wdiAddBAReqParams: the add BA parameters as specified by
8278 the Device Interface
8279
8280 wdiAddBARspCb: callback for passing back the response of
8281 the add BA operation received from the device
8282
8283 pUserData: user data will be passed back with the
8284 callback
8285
8286 @see WDI_PostAssocReq
8287 @return Result of the function call
8288*/
8289WDI_Status
8290WDI_AddBASessionReq
8291(
8292 WDI_AddBASessionReqParamsType* pwdiAddBASessionReqParams,
8293 WDI_AddBASessionRspCb wdiAddBASessionRspCb,
8294 void* pUserData
8295);
8296
8297
8298/**
8299 @brief WDI_DelBAReq will be called when the upper MAC wants to
8300 inform HW that it has deleted a previously created BA
8301 session. Upon the call of this API the WLAN DAL will
8302 pack and send a HAL Del BA request message to the lower
8303 RIVA sub-system if DAL is in state STARTED.
8304
8305 In state BUSY this request will be queued. Request won't
8306 be allowed in any other state.
8307
8308 WDI_AddBAReq must have been called.
8309
8310 @param wdiDelBAReqParams: the del BA parameters as specified by
8311 the Device Interface
8312
8313 wdiDelBARspCb: callback for passing back the response of
8314 the del BA operation received from the device
8315
8316 pUserData: user data will be passed back with the
8317 callback
8318
8319 @see WDI_AddBAReq
8320 @return Result of the function call
8321*/
8322WDI_Status
8323WDI_DelBAReq
8324(
8325 WDI_DelBAReqParamsType* pwdiDelBAReqParams,
8326 WDI_DelBARspCb wdiDelBARspCb,
8327 void* pUserData
8328);
8329
8330/**
8331 @brief WDI_UpdateBeaconParamsReq will be called when the upper MAC wants to
8332 inform HW that there is a change in the beacon parameters
8333 Upon the call of this API the WLAN DAL will
8334 pack and send a UpdateBeacon Params message to the lower
8335 RIVA sub-system if DAL is in state STARTED.
8336
8337 In state BUSY this request will be queued. Request won't
8338 be allowed in any other state.
8339
8340 WDI_UpdateBeaconParamsReq must have been called.
8341
8342 @param WDI_UpdateBeaconParamsType: the Update Beacon parameters as specified by
8343 the Device Interface
8344
8345 WDI_UpdateBeaconParamsRspCb: callback for passing back the response of
8346 the Update Beacon Params operation received from the device
8347
8348 pUserData: user data will be passed back with the
8349 callback
8350
8351 @see WDI_AddBAReq
8352 @return Result of the function call
8353*/
8354
8355WDI_Status
8356WDI_UpdateBeaconParamsReq
8357(
8358 WDI_UpdateBeaconParamsType * pwdiUpdateBeaconParams,
8359 WDI_UpdateBeaconParamsRspCb wdiUpdateBeaconParamsRspCb,
8360 void* pUserData
8361);
8362
8363
8364/**
8365 @brief WDI_SendBeaconParamsReq will be called when the upper MAC wants to
8366 update the beacon template to be transmitted as BT MAP STA/IBSS/Soft AP
8367 Upon the call of this API the WLAN DAL will
8368 pack and send the beacon Template message to the lower
8369 RIVA sub-system if DAL is in state STARTED.
8370
8371 In state BUSY this request will be queued. Request won't
8372 be allowed in any other state.
8373
8374 WDI_SendBeaconParamsReq must have been called.
8375
8376 @param WDI_SendBeaconParamsType: the Update Beacon parameters as specified by
8377 the Device Interface
8378
8379 WDI_SendBeaconParamsRspCb: callback for passing back the response of
8380 the Send Beacon Params operation received from the device
8381
8382 pUserData: user data will be passed back with the
8383 callback
8384
8385 @see WDI_AddBAReq
8386 @return Result of the function call
8387*/
8388
8389WDI_Status
8390WDI_SendBeaconParamsReq
8391(
8392 WDI_SendBeaconParamsType* pwdiSendBeaconParams,
8393 WDI_SendBeaconParamsRspCb wdiSendBeaconParamsRspCb,
8394 void* pUserData
8395);
8396
8397
8398/**
8399 @brief WDI_UpdateProbeRspTemplateReq will be called when the
8400 upper MAC wants to update the probe response template to
8401 be transmitted as Soft AP
8402 Upon the call of this API the WLAN DAL will
8403 pack and send the probe rsp template message to the
8404 lower RIVA sub-system if DAL is in state STARTED.
8405
8406 In state BUSY this request will be queued. Request won't
8407 be allowed in any other state.
8408
8409
8410 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
8411 specified by the Device Interface
8412
8413 wdiSendBeaconParamsRspCb: callback for passing back the
8414 response of the Send Beacon Params operation received
8415 from the device
8416
8417 pUserData: user data will be passed back with the
8418 callback
8419
8420 @see WDI_AddBAReq
8421 @return Result of the function call
8422*/
8423
8424WDI_Status
8425WDI_UpdateProbeRspTemplateReq
8426(
8427 WDI_UpdateProbeRspTemplateParamsType* pwdiUpdateProbeRspParams,
8428 WDI_UpdateProbeRspTemplateRspCb wdiSendBeaconParamsRspCb,
8429 void* pUserData
8430);
8431
Jeff Johnson295189b2012-06-20 16:38:30 -07008432/**
8433 @brief WDI_SetP2PGONOAReq will be called when the
8434 upper MAC wants to send Notice of Absence
8435 Upon the call of this API the WLAN DAL will
8436 pack and send the probe rsp template message to the
8437 lower RIVA sub-system if DAL is in state STARTED.
8438
8439 In state BUSY this request will be queued. Request won't
8440 be allowed in any other state.
8441
8442
8443 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
8444 specified by the Device Interface
8445
8446 wdiSendBeaconParamsRspCb: callback for passing back the
8447 response of the Send Beacon Params operation received
8448 from the device
8449
8450 pUserData: user data will be passed back with the
8451 callback
8452
8453 @see WDI_AddBAReq
8454 @return Result of the function call
8455*/
8456WDI_Status
8457WDI_SetP2PGONOAReq
8458(
8459 WDI_SetP2PGONOAReqParamsType* pwdiP2PGONOAReqParams,
8460 WDI_SetP2PGONOAReqParamsRspCb wdiP2PGONOAReqParamsRspCb,
8461 void* pUserData
8462);
Jeff Johnson295189b2012-06-20 16:38:30 -07008463
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05308464/**
8465 @brief WDI_SetTDLSLinkEstablishReq will be called when the
8466 upper MAC wants to send TDLS Link Establish Request Parameters
8467 Upon the call of this API the WLAN DAL will
8468 pack and send the TDLS Link Establish Request message to the
8469 lower RIVA sub-system if DAL is in state STARTED.
8470
8471 In state BUSY this request will be queued. Request won't
8472 be allowed in any other state.
8473
8474
8475 @param pwdiTDLSLinkEstablishReqParams: TDLS Peer Parameters
8476 for Link Establishment (Used for PUAPSD , TDLS Off Channel ...)
8477
8478 wdiTDLSLinkEstablishReqRspCb: callback for passing back the
8479 response of the TDLS Link Establish request received
8480 from the device
8481
8482 pUserData: user data will be passed back with the
8483 callback
8484
8485 @see
8486 @return Result of the function call
8487*/
8488WDI_Status
8489WDI_SetTDLSLinkEstablishReq
8490(
8491 WDI_SetTDLSLinkEstablishReqParamsType* pwdiTDLSLinkEstablishReqParams,
8492 WDI_SetTDLSLinkEstablishReqParamsRspCb wdiTDLSLinkEstablishReqRspCb,
8493 void* pUserData
8494);
Jeff Johnson295189b2012-06-20 16:38:30 -07008495
8496/*========================================================================
8497
8498 Power Save APIs
8499
8500==========================================================================*/
8501
8502/**
8503 @brief WDI_SetPwrSaveCfgReq will be called when the upper MAC
8504 wants to set the power save related configurations of
8505 the WLAN Device. Upon the call of this API the WLAN DAL
8506 will pack and send a HAL Update CFG request message to
8507 the lower RIVA sub-system if DAL is in state STARTED.
8508
8509 In state BUSY this request will be queued. Request won't
8510 be allowed in any other state.
8511
8512 WDI_Start must have been called.
8513
8514 @param pwdiPowerSaveCfg: the power save cfg parameters as
8515 specified by the Device Interface
8516
8517 wdiSetPwrSaveCfgCb: callback for passing back the
8518 response of the set power save cfg operation received
8519 from the device
8520
8521 pUserData: user data will be passed back with the
8522 callback
8523
8524 @see WDI_Start
8525 @return Result of the function call
8526*/
8527WDI_Status
8528WDI_SetPwrSaveCfgReq
8529(
8530 WDI_UpdateCfgReqParamsType* pwdiPowerSaveCfg,
8531 WDI_SetPwrSaveCfgCb wdiSetPwrSaveCfgCb,
8532 void* pUserData
8533);
8534
8535/**
8536 @brief WDI_EnterImpsReq will be called when the upper MAC to
8537 request the device to get into IMPS power state. Upon
8538 the call of this API the WLAN DAL will send a HAL Enter
8539 IMPS request message to the lower RIVA sub-system if DAL
8540 is in state STARTED.
8541
8542 In state BUSY this request will be queued. Request won't
8543 be allowed in any other state.
8544
8545
8546 @param wdiEnterImpsRspCb: callback for passing back the
8547 response of the Enter IMPS operation received from the
8548 device
8549
8550 pUserData: user data will be passed back with the
8551 callback
8552
8553 @see WDI_Start
8554 @return Result of the function call
8555*/
8556WDI_Status
8557WDI_EnterImpsReq
8558(
8559 WDI_EnterImpsRspCb wdiEnterImpsRspCb,
8560 void* pUserData
8561);
8562
8563/**
8564 @brief WDI_ExitImpsReq will be called when the upper MAC to
8565 request the device to get out of IMPS power state. Upon
8566 the call of this API the WLAN DAL will send a HAL Exit
8567 IMPS request message to the lower RIVA sub-system if DAL
8568 is in state STARTED.
8569
8570 In state BUSY this request will be queued. Request won't
8571 be allowed in any other state.
8572
8573
8574
8575 @param wdiExitImpsRspCb: callback for passing back the response
8576 of the Exit IMPS operation received from the device
8577
8578 pUserData: user data will be passed back with the
8579 callback
8580
8581 @see WDI_Start
8582 @return Result of the function call
8583*/
8584WDI_Status
8585WDI_ExitImpsReq
8586(
8587 WDI_ExitImpsRspCb wdiExitImpsRspCb,
8588 void* pUserData
8589);
8590
8591/**
8592 @brief WDI_EnterBmpsReq will be called when the upper MAC to
8593 request the device to get into BMPS power state. Upon
8594 the call of this API the WLAN DAL will pack and send a
8595 HAL Enter BMPS request message to the lower RIVA
8596 sub-system if DAL is in state STARTED.
8597
8598 In state BUSY this request will be queued. Request won't
8599 be allowed in any other state.
8600
8601 WDI_PostAssocReq must have been called.
8602
8603 @param pwdiEnterBmpsReqParams: the Enter BMPS parameters as
8604 specified by the Device Interface
8605
8606 wdiEnterBmpsRspCb: callback for passing back the
8607 response of the Enter BMPS operation received from the
8608 device
8609
8610 pUserData: user data will be passed back with the
8611 callback
8612
8613 @see WDI_PostAssocReq
8614 @return Result of the function call
8615*/
8616WDI_Status
8617WDI_EnterBmpsReq
8618(
8619 WDI_EnterBmpsReqParamsType *pwdiEnterBmpsReqParams,
8620 WDI_EnterBmpsRspCb wdiEnterBmpsRspCb,
8621 void* pUserData
8622);
8623
8624/**
8625 @brief WDI_ExitBmpsReq will be called when the upper MAC to
8626 request the device to get out of BMPS power state. Upon
8627 the call of this API the WLAN DAL will pack and send a
8628 HAL Exit BMPS request message to the lower RIVA
8629 sub-system if DAL is in state STARTED.
8630
8631 In state BUSY this request will be queued. Request won't
8632 be allowed in any other state.
8633
8634 WDI_PostAssocReq must have been called.
8635
8636 @param pwdiExitBmpsReqParams: the Exit BMPS parameters as
8637 specified by the Device Interface
8638
8639 wdiExitBmpsRspCb: callback for passing back the response
8640 of the Exit BMPS operation received from the device
8641
8642 pUserData: user data will be passed back with the
8643 callback
8644
8645 @see WDI_PostAssocReq
8646 @return Result of the function call
8647*/
8648WDI_Status
8649WDI_ExitBmpsReq
8650(
8651 WDI_ExitBmpsReqParamsType *pwdiExitBmpsReqParams,
8652 WDI_ExitBmpsRspCb wdiExitBmpsRspCb,
8653 void* pUserData
8654);
8655
8656/**
8657 @brief WDI_EnterUapsdReq will be called when the upper MAC to
8658 request the device to get into UAPSD power state. Upon
8659 the call of this API the WLAN DAL will pack and send a
8660 HAL Enter UAPSD request message to the lower RIVA
8661 sub-system if DAL is in state STARTED.
8662
8663 In state BUSY this request will be queued. Request won't
8664 be allowed in any other state.
8665
8666 WDI_PostAssocReq must have been called.
8667 WDI_SetUapsdAcParamsReq must have been called.
8668
8669 @param pwdiEnterUapsdReqParams: the Enter UAPSD parameters as
8670 specified by the Device Interface
8671
8672 wdiEnterUapsdRspCb: callback for passing back the
8673 response of the Enter UAPSD operation received from the
8674 device
8675
8676 pUserData: user data will be passed back with the
8677 callback
8678
8679 @see WDI_PostAssocReq, WDI_SetUapsdAcParamsReq
8680 @return Result of the function call
8681*/
8682WDI_Status
8683WDI_EnterUapsdReq
8684(
8685 WDI_EnterUapsdReqParamsType *pwdiEnterUapsdReqParams,
8686 WDI_EnterUapsdRspCb wdiEnterUapsdRspCb,
8687 void* pUserData
8688);
8689
8690/**
8691 @brief WDI_ExitUapsdReq will be called when the upper MAC to
8692 request the device to get out of UAPSD power state. Upon
8693 the call of this API the WLAN DAL will send a HAL Exit
8694 UAPSD request message to the lower RIVA sub-system if
8695 DAL is in state STARTED.
8696
8697 In state BUSY this request will be queued. Request won't
8698 be allowed in any other state.
8699
8700 WDI_PostAssocReq must have been called.
8701
8702 @param wdiExitUapsdRspCb: callback for passing back the
8703 response of the Exit UAPSD operation received from the
8704 device
8705
8706 pUserData: user data will be passed back with the
8707 callback
8708
8709 @see WDI_PostAssocReq
8710 @return Result of the function call
8711*/
8712WDI_Status
8713WDI_ExitUapsdReq
8714(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07008715 WDI_ExitUapsdReqParamsType *pwdiExitUapsdReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07008716 WDI_ExitUapsdRspCb wdiExitUapsdRspCb,
8717 void* pUserData
8718);
8719
8720/**
8721 @brief WDI_UpdateUapsdParamsReq will be called when the upper
8722 MAC wants to set the UAPSD related configurations
8723 of an associated STA (while acting as an AP) to the WLAN
8724 Device. Upon the call of this API the WLAN DAL will pack
8725 and send a HAL Update UAPSD params request message to
8726 the lower RIVA sub-system if DAL is in state STARTED.
8727
8728 In state BUSY this request will be queued. Request won't
8729 be allowed in any other state.
8730
8731 WDI_ConfigBSSReq must have been called.
8732
8733 @param pwdiUpdateUapsdReqParams: the UAPSD parameters
8734 as specified by the Device Interface
8735
8736 wdiUpdateUapsdParamsCb: callback for passing back the
8737 response of the update UAPSD params operation received
8738 from the device
8739
8740 pUserData: user data will be passed back with the
8741 callback
8742
8743 @see WDI_ConfigBSSReq
8744 @return Result of the function call
8745*/
8746WDI_Status
8747WDI_UpdateUapsdParamsReq
8748(
8749 WDI_UpdateUapsdReqParamsType *pwdiUpdateUapsdReqParams,
8750 WDI_UpdateUapsdParamsCb wdiUpdateUapsdParamsCb,
8751 void* pUserData
8752);
8753
8754/**
8755 @brief WDI_SetUapsdAcParamsReq will be called when the upper
8756 MAC wants to set the UAPSD related configurations before
8757 requesting for enter UAPSD power state to the WLAN
8758 Device. Upon the call of this API the WLAN DAL will pack
8759 and send a HAL Set UAPSD params request message to
8760 the lower RIVA sub-system if DAL is in state STARTED.
8761
8762 In state BUSY this request will be queued. Request won't
8763 be allowed in any other state.
8764
8765 WDI_PostAssocReq must have been called.
8766
8767 @param pwdiUapsdInfo: the UAPSD parameters as specified by
8768 the Device Interface
8769
8770 wdiSetUapsdAcParamsCb: callback for passing back the
8771 response of the set UAPSD params operation received from
8772 the device
8773
8774 pUserData: user data will be passed back with the
8775 callback
8776
8777 @see WDI_PostAssocReq
8778 @return Result of the function call
8779*/
8780WDI_Status
8781WDI_SetUapsdAcParamsReq
8782(
8783 WDI_SetUapsdAcParamsReqParamsType* pwdiPowerSaveCfg,
8784 WDI_SetUapsdAcParamsCb wdiSetUapsdAcParamsCb,
8785 void* pUserData
8786);
8787
8788/**
8789 @brief WDI_ConfigureRxpFilterReq will be called when the upper
8790 MAC wants to set/reset the RXP filters for received pkts
8791 (MC, BC etc.). Upon the call of this API the WLAN DAL will pack
8792 and send a HAL configure RXP filter request message to
8793 the lower RIVA sub-system.
8794
8795 In state BUSY this request will be queued. Request won't
8796 be allowed in any other state.
8797
8798
8799 @param pwdiConfigureRxpFilterReqParams: the RXP
8800 filter as specified by the Device
8801 Interface
8802
8803 wdiConfigureRxpFilterCb: callback for passing back the
8804 response of the configure RXP filter operation received
8805 from the device
8806
8807 pUserData: user data will be passed back with the
8808 callback
8809
8810 @return Result of the function call
8811*/
8812WDI_Status
8813WDI_ConfigureRxpFilterReq
8814(
8815 WDI_ConfigureRxpFilterReqParamsType *pwdiConfigureRxpFilterReqParams,
8816 WDI_ConfigureRxpFilterCb wdiConfigureRxpFilterCb,
8817 void* pUserData
8818);
8819
8820/**
8821 @brief WDI_SetBeaconFilterReq will be called when the upper MAC
8822 wants to set the beacon filters while in power save.
8823 Upon the call of this API the WLAN DAL will pack and
8824 send a Beacon filter request message to the
8825 lower RIVA sub-system.
8826
8827 In state BUSY this request will be queued. Request won't
8828 be allowed in any other state.
8829
8830
8831 @param pwdiBeaconFilterReqParams: the beacon
8832 filter as specified by the Device
8833 Interface
8834
8835 wdiBeaconFilterCb: callback for passing back the
8836 response of the set beacon filter operation received
8837 from the device
8838
8839 pUserData: user data will be passed back with the
8840 callback
8841
8842 @return Result of the function call
8843*/
8844WDI_Status
8845WDI_SetBeaconFilterReq
8846(
8847 WDI_BeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
8848 WDI_SetBeaconFilterCb wdiBeaconFilterCb,
8849 void* pUserData
8850);
8851
8852/**
8853 @brief WDI_RemBeaconFilterReq will be called when the upper MAC
8854 wants to remove the beacon filter for perticular IE
8855 while in power save. Upon the call of this API the WLAN
8856 DAL will pack and send a remove Beacon filter request
8857 message to the lower RIVA sub-system.
8858
8859 In state BUSY this request will be queued. Request won't
8860 be allowed in any other state.
8861
8862
8863 @param pwdiBeaconFilterReqParams: the beacon
8864 filter as specified by the Device
8865 Interface
8866
8867 wdiBeaconFilterCb: callback for passing back the
8868 response of the remove beacon filter operation received
8869 from the device
8870
8871 pUserData: user data will be passed back with the
8872 callback
8873
8874 @return Result of the function call
8875*/
8876WDI_Status
8877WDI_RemBeaconFilterReq
8878(
8879 WDI_RemBeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
8880 WDI_RemBeaconFilterCb wdiBeaconFilterCb,
8881 void* pUserData
8882);
8883
8884/**
8885 @brief WDI_SetRSSIThresholdsReq will be called when the upper
8886 MAC wants to set the RSSI thresholds related
8887 configurations while in power save. Upon the call of
8888 this API the WLAN DAL will pack and send a HAL Set RSSI
8889 thresholds request message to the lower RIVA
8890 sub-system if DAL is in state STARTED.
8891
8892 In state BUSY this request will be queued. Request won't
8893 be allowed in any other state.
8894
8895 WDI_PostAssocReq must have been called.
8896
8897 @param pwdiUapsdInfo: the UAPSD parameters as specified by
8898 the Device Interface
8899
8900 wdiSetUapsdAcParamsCb: callback for passing back the
8901 response of the set UAPSD params operation received from
8902 the device
8903
8904 pUserData: user data will be passed back with the
8905 callback
8906
8907 @see WDI_PostAssocReq
8908 @return Result of the function call
8909*/
8910WDI_Status
8911WDI_SetRSSIThresholdsReq
8912(
8913 WDI_SetRSSIThresholdsReqParamsType* pwdiRSSIThresholdsParams,
8914 WDI_SetRSSIThresholdsCb wdiSetRSSIThresholdsCb,
8915 void* pUserData
8916);
8917
8918/**
8919 @brief WDI_HostOffloadReq will be called when the upper MAC
8920 wants to set the filter to minimize unnecessary host
8921 wakeup due to broadcast traffic while in power save.
8922 Upon the call of this API the WLAN DAL will pack and
8923 send a HAL host offload request message to the
8924 lower RIVA sub-system if DAL is in state STARTED.
8925
8926 In state BUSY this request will be queued. Request won't
8927 be allowed in any other state.
8928
8929 WDI_PostAssocReq must have been called.
8930
8931 @param pwdiHostOffloadParams: the host offload as specified
8932 by the Device Interface
8933
8934 wdiHostOffloadCb: callback for passing back the response
8935 of the host offload operation received from the
8936 device
8937
8938 pUserData: user data will be passed back with the
8939 callback
8940
8941 @see WDI_PostAssocReq
8942 @return Result of the function call
8943*/
8944WDI_Status
8945WDI_HostOffloadReq
8946(
8947 WDI_HostOffloadReqParamsType* pwdiHostOffloadParams,
8948 WDI_HostOffloadCb wdiHostOffloadCb,
8949 void* pUserData
8950);
8951
8952/**
8953 @brief WDI_KeepAliveReq will be called when the upper MAC
8954 wants to set the filter to send NULL or unsolicited ARP responses
8955 and minimize unnecessary host wakeups due to while in power save.
8956 Upon the call of this API the WLAN DAL will pack and
8957 send a HAL Keep Alive request message to the
8958 lower RIVA sub-system if DAL is in state STARTED.
8959
8960 In state BUSY this request will be queued. Request won't
8961 be allowed in any other state.
8962
8963 WDI_PostAssocReq must have been called.
8964
8965 @param pwdiKeepAliveParams: the Keep Alive as specified
8966 by the Device Interface
8967
8968 wdiKeepAliveCb: callback for passing back the response
8969 of the Keep Alive operation received from the
8970 device
8971
8972 pUserData: user data will be passed back with the
8973 callback
8974
8975 @see WDI_PostAssocReq
8976 @return Result of the function call
8977*/
8978WDI_Status
8979WDI_KeepAliveReq
8980(
8981 WDI_KeepAliveReqParamsType* pwdiKeepAliveParams,
8982 WDI_KeepAliveCb wdiKeepAliveCb,
8983 void* pUserData
8984);
8985
8986/**
8987 @brief WDI_WowlAddBcPtrnReq will be called when the upper MAC
8988 wants to set the Wowl Bcast ptrn to minimize unnecessary
8989 host wakeup due to broadcast traffic while in power
8990 save. Upon the call of this API the WLAN DAL will pack
8991 and send a HAL Wowl Bcast ptrn request message to the
8992 lower RIVA sub-system if DAL is in state STARTED.
8993
8994 In state BUSY this request will be queued. Request won't
8995 be allowed in any other state.
8996
8997 WDI_PostAssocReq must have been called.
8998
8999 @param pwdiWowlAddBcPtrnParams: the Wowl bcast ptrn as
9000 specified by the Device Interface
9001
9002 wdiWowlAddBcPtrnCb: callback for passing back the
9003 response of the add Wowl bcast ptrn operation received
9004 from the device
9005
9006 pUserData: user data will be passed back with the
9007 callback
9008
9009 @see WDI_PostAssocReq
9010 @return Result of the function call
9011*/
9012WDI_Status
9013WDI_WowlAddBcPtrnReq
9014(
9015 WDI_WowlAddBcPtrnReqParamsType* pwdiWowlAddBcPtrnParams,
9016 WDI_WowlAddBcPtrnCb wdiWowlAddBcPtrnCb,
9017 void* pUserData
9018);
9019
9020/**
9021 @brief WDI_WowlDelBcPtrnReq will be called when the upper MAC
9022 wants to clear the Wowl Bcast ptrn. Upon the call of
9023 this API the WLAN DAL will pack and send a HAL delete
9024 Wowl Bcast ptrn request message to the lower RIVA
9025 sub-system if DAL is in state STARTED.
9026
9027 In state BUSY this request will be queued. Request won't
9028 be allowed in any other state.
9029
9030 WDI_WowlAddBcPtrnReq must have been called.
9031
9032 @param pwdiWowlDelBcPtrnParams: the Wowl bcast ptrn as
9033 specified by the Device Interface
9034
9035 wdiWowlDelBcPtrnCb: callback for passing back the
9036 response of the del Wowl bcast ptrn operation received
9037 from the device
9038
9039 pUserData: user data will be passed back with the
9040 callback
9041
9042 @see WDI_WowlAddBcPtrnReq
9043 @return Result of the function call
9044*/
9045WDI_Status
9046WDI_WowlDelBcPtrnReq
9047(
9048 WDI_WowlDelBcPtrnReqParamsType* pwdiWowlDelBcPtrnParams,
9049 WDI_WowlDelBcPtrnCb wdiWowlDelBcPtrnCb,
9050 void* pUserData
9051);
9052
9053/**
9054 @brief WDI_WowlEnterReq will be called when the upper MAC
9055 wants to enter the Wowl state to minimize unnecessary
9056 host wakeup while in power save. Upon the call of this
9057 API the WLAN DAL will pack and send a HAL Wowl enter
9058 request message to the lower RIVA sub-system if DAL is
9059 in state STARTED.
9060
9061 In state BUSY this request will be queued. Request won't
9062 be allowed in any other state.
9063
9064 WDI_PostAssocReq must have been called.
9065
9066 @param pwdiWowlEnterReqParams: the Wowl enter info as
9067 specified by the Device Interface
9068
9069 wdiWowlEnterReqCb: callback for passing back the
9070 response of the enter Wowl operation received from the
9071 device
9072
9073 pUserData: user data will be passed back with the
9074 callback
9075
9076 @see WDI_PostAssocReq
9077 @return Result of the function call
9078*/
9079WDI_Status
9080WDI_WowlEnterReq
9081(
9082 WDI_WowlEnterReqParamsType* pwdiWowlEnterParams,
9083 WDI_WowlEnterReqCb wdiWowlEnterCb,
9084 void* pUserData
9085);
9086
9087/**
9088 @brief WDI_WowlExitReq will be called when the upper MAC
9089 wants to exit the Wowl state. Upon the call of this API
9090 the WLAN DAL will pack and send a HAL Wowl exit request
9091 message to the lower RIVA sub-system if DAL is in state
9092 STARTED.
9093
9094 In state BUSY this request will be queued. Request won't
9095 be allowed in any other state.
9096
9097 WDI_WowlEnterReq must have been called.
9098
9099 @param pwdiWowlExitReqParams: the Wowl exit info as
9100 specified by the Device Interface
9101
9102 wdiWowlExitReqCb: callback for passing back the response
9103 of the exit Wowl operation received from the device
9104
9105 pUserData: user data will be passed back with the
9106 callback
9107
9108 @see WDI_WowlEnterReq
9109 @return Result of the function call
9110*/
9111WDI_Status
9112WDI_WowlExitReq
9113(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07009114 WDI_WowlExitReqParamsType* pwdiWowlExitParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009115 WDI_WowlExitReqCb wdiWowlExitCb,
9116 void* pUserData
9117);
9118
9119/**
9120 @brief WDI_ConfigureAppsCpuWakeupStateReq will be called when
9121 the upper MAC wants to dynamically adjusts the listen
9122 interval based on the WLAN/MSM activity. Upon the call
9123 of this API the WLAN DAL will pack and send a HAL
9124 configure Apps Cpu Wakeup State request message to the
9125 lower RIVA sub-system.
9126
9127 In state BUSY this request will be queued. Request won't
9128 be allowed in any other state.
9129
9130
9131 @param pwdiConfigureAppsCpuWakeupStateReqParams: the
9132 Apps Cpu Wakeup State as specified by the
9133 Device Interface
9134
9135 wdiConfigureAppsCpuWakeupStateCb: callback for passing
9136 back the response of the configure Apps Cpu Wakeup State
9137 operation received from the device
9138
9139 pUserData: user data will be passed back with the
9140 callback
9141
9142 @return Result of the function call
9143*/
9144WDI_Status
9145WDI_ConfigureAppsCpuWakeupStateReq
9146(
9147 WDI_ConfigureAppsCpuWakeupStateReqParamsType *pwdiConfigureAppsCpuWakeupStateReqParams,
9148 WDI_ConfigureAppsCpuWakeupStateCb wdiConfigureAppsCpuWakeupStateCb,
9149 void* pUserData
9150);
9151/**
9152 @brief WDI_FlushAcReq will be called when the upper MAC wants
9153 to to perform a flush operation on a given AC. Upon the
9154 call of this API the WLAN DAL will pack and send a HAL
9155 Flush AC request message to the lower RIVA sub-system if
9156 DAL is in state STARTED.
9157
9158 In state BUSY this request will be queued. Request won't
9159 be allowed in any other state.
9160
9161
9162 @param pwdiFlushAcReqParams: the Flush AC parameters as
9163 specified by the Device Interface
9164
9165 wdiFlushAcRspCb: callback for passing back the response
9166 of the Flush AC operation received from the device
9167
9168 pUserData: user data will be passed back with the
9169 callback
9170
9171 @return Result of the function call
9172*/
9173WDI_Status
9174WDI_FlushAcReq
9175(
9176 WDI_FlushAcReqParamsType* pwdiFlushAcReqParams,
9177 WDI_FlushAcRspCb wdiFlushAcRspCb,
9178 void* pUserData
9179);
9180
9181/**
9182 @brief WDI_BtAmpEventReq will be called when the upper MAC
9183 wants to notify the lower mac on a BT AMP event. This is
9184 to inform BTC-SLM that some BT AMP event occurred. Upon
9185 the call of this API the WLAN DAL will pack and send a
9186 HAL BT AMP event request message to the lower RIVA
9187 sub-system if DAL is in state STARTED.
9188
9189 In state BUSY this request will be queued. Request won't
9190 be allowed in any other state.
9191
9192
9193 @param wdiBtAmpEventReqParams: the BT AMP event parameters as
9194 specified by the Device Interface
9195
9196 wdiBtAmpEventRspCb: callback for passing back the
9197 response of the BT AMP event operation received from the
9198 device
9199
9200 pUserData: user data will be passed back with the
9201 callback
9202
9203 @return Result of the function call
9204*/
9205WDI_Status
9206WDI_BtAmpEventReq
9207(
9208 WDI_BtAmpEventParamsType* pwdiBtAmpEventReqParams,
9209 WDI_BtAmpEventRspCb wdiBtAmpEventRspCb,
9210 void* pUserData
9211);
9212
Jeff Johnsone7245742012-09-05 17:12:55 -07009213#ifdef FEATURE_OEM_DATA_SUPPORT
9214/**
9215 @brief WDI_Start oem data Req will be called when the upper MAC
9216 wants to notify the lower mac on a oem data Req event.Upon
9217 the call of this API the WLAN DAL will pack and send a
9218 HAL OEM Data Req event request message to the lower RIVA
9219 sub-system if DAL is in state STARTED.
9220
9221 In state BUSY this request will be queued. Request won't
9222 be allowed in any other state.
9223
9224
9225 @param pWdiOemDataReqParams: the oem data req parameters as
9226 specified by the Device Interface
9227
9228 wdiStartOemDataRspCb: callback for passing back the
9229 response of the Oem Data Req received from the
9230 device
9231
9232 pUserData: user data will be passed back with the
9233 callback
9234
9235 @return Result of the function call
9236*/
9237WDI_Status
9238WDI_StartOemDataReq
9239(
9240 WDI_oemDataReqParamsType* pWdiOemDataReqParams,
9241 WDI_oemDataRspCb wdiOemDataRspCb,
9242 void* pUserData
9243);
9244#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07009245
9246/*========================================================================
9247
9248 CONTROL APIs
9249
9250==========================================================================*/
9251/**
9252 @brief WDI_SwitchChReq will be called when the upper MAC wants
9253 the WLAN HW to change the current channel of operation.
9254 Upon the call of this API the WLAN DAL will pack and
9255 send a HAL Start request message to the lower RIVA
9256 sub-system if DAL is in state STARTED.
9257
9258 In state BUSY this request will be queued. Request won't
9259 be allowed in any other state.
9260
9261 WDI_Start must have been called.
9262
9263 @param wdiSwitchChReqParams: the switch ch parameters as
9264 specified by the Device Interface
9265
9266 wdiSwitchChRspCb: callback for passing back the response
9267 of the switch ch operation received from the device
9268
9269 pUserData: user data will be passed back with the
9270 callback
9271
9272 @see WDI_Start
9273 @return Result of the function call
9274*/
9275WDI_Status
9276WDI_SwitchChReq
9277(
9278 WDI_SwitchChReqParamsType* pwdiSwitchChReqParams,
9279 WDI_SwitchChRspCb wdiSwitchChRspCb,
9280 void* pUserData
9281);
9282
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08009283/**
9284 @brief WDI_UpdateChannelReq will be called when the upper MAC
9285 wants to update the channel list on change in country code.
Jeff Johnson295189b2012-06-20 16:38:30 -07009286
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08009287 In state BUSY this request will be queued. Request won't
9288 be allowed in any other state.
9289
9290 WDI_UpdateChannelReq must have been called.
9291
9292 @param wdiUpdateChannelReqParams: the updated channel parameters
9293 as specified by the Device Interface
9294
9295 wdiUpdateChannelRspCb: callback for passing back the
9296 response of the update channel operation received from
9297 the device
9298
9299 pUserData: user data will be passed back with the
9300 callback
9301
9302 @return Result of the function call
9303*/
9304WDI_Status
9305WDI_UpdateChannelReq
9306(
9307 WDI_UpdateChReqParamsType *pwdiUpdateChannelReqParams,
9308 WDI_UpdateChannelRspCb wdiUpdateChannelRspCb,
9309 void* pUserData
9310);
Jeff Johnson295189b2012-06-20 16:38:30 -07009311
9312/**
9313 @brief WDI_ConfigSTAReq will be called when the upper MAC
9314 wishes to add or update a STA in HW. Upon the call of
9315 this API the WLAN DAL will pack and send a HAL Start
9316 message request message to the lower RIVA sub-system if
9317 DAL is in state STARTED.
9318
9319 In state BUSY this request will be queued. Request won't
9320 be allowed in any other state.
9321
9322 WDI_Start must have been called.
9323
9324 @param wdiConfigSTAReqParams: the config STA parameters as
9325 specified by the Device Interface
9326
9327 wdiConfigSTARspCb: callback for passing back the
9328 response of the config STA operation received from the
9329 device
9330
9331 pUserData: user data will be passed back with the
9332 callback
9333
9334 @see WDI_Start
9335 @return Result of the function call
9336*/
9337WDI_Status
9338WDI_ConfigSTAReq
9339(
9340 WDI_ConfigSTAReqParamsType* pwdiConfigSTAReqParams,
9341 WDI_ConfigSTARspCb wdiConfigSTARspCb,
9342 void* pUserData
9343);
9344
9345/**
9346 @brief WDI_SetLinkStateReq will be called when the upper MAC
9347 wants to change the state of an ongoing link. Upon the
9348 call of this API the WLAN DAL will pack and send a HAL
9349 Start message request message to the lower RIVA
9350 sub-system if DAL is in state STARTED.
9351
9352 In state BUSY this request will be queued. Request won't
9353 be allowed in any other state.
9354
9355 WDI_JoinReq must have been called.
9356
9357 @param wdiSetLinkStateReqParams: the set link state parameters
9358 as specified by the Device Interface
9359
9360 wdiSetLinkStateRspCb: callback for passing back the
9361 response of the set link state operation received from
9362 the device
9363
9364 pUserData: user data will be passed back with the
9365 callback
9366
9367 @see WDI_JoinStartReq
9368 @return Result of the function call
9369*/
9370WDI_Status
9371WDI_SetLinkStateReq
9372(
9373 WDI_SetLinkReqParamsType* pwdiSetLinkStateReqParams,
9374 WDI_SetLinkStateRspCb wdiSetLinkStateRspCb,
9375 void* pUserData
9376);
9377
9378
9379/**
9380 @brief WDI_GetStatsReq will be called when the upper MAC wants
9381 to get statistics (MIB counters) from the device. Upon
9382 the call of this API the WLAN DAL will pack and send a
9383 HAL Start request message to the lower RIVA sub-system
9384 if DAL is in state STARTED.
9385
9386 In state BUSY this request will be queued. Request won't
9387 be allowed in any other state.
9388
9389 WDI_Start must have been called.
9390
9391 @param wdiGetStatsReqParams: the stats parameters to get as
9392 specified by the Device Interface
9393
9394 wdiGetStatsRspCb: callback for passing back the response
9395 of the get stats operation received from the device
9396
9397 pUserData: user data will be passed back with the
9398 callback
9399
9400 @see WDI_Start
9401 @return Result of the function call
9402*/
9403WDI_Status
9404WDI_GetStatsReq
9405(
9406 WDI_GetStatsReqParamsType* pwdiGetStatsReqParams,
9407 WDI_GetStatsRspCb wdiGetStatsRspCb,
9408 void* pUserData
9409);
9410
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08009411#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_CCX || defined(FEATURE_WLAN_LFR)
9412/**
9413 @brief WDI_GetRoamRssiReq will be called when the upper MAC wants
9414 to get roam rssi from the device. Upon
9415 the call of this API the WLAN DAL will pack and send a
9416 HAL Start request message to the lower RIVA sub-system
9417 if DAL is in state STARTED.
9418
9419 In state BUSY this request will be queued. Request won't
9420 be allowed in any other state.
9421
9422 WDI_Start must have been called.
9423
9424 @param wdiGetRoamRssiReqParams: the stats parameters to get as
9425 specified by the Device Interface
9426
9427 wdiGetRoamRssispCb: callback for passing back the response
9428 of the get stats operation received from the device
9429
9430 pUserData: user data will be passed back with the
9431 callback
9432
9433 @see WDI_Start
9434 @return Result of the function call
9435*/
9436WDI_Status
9437WDI_GetRoamRssiReq
9438(
9439 WDI_GetRoamRssiReqParamsType* pwdiGetRoamRssiReqParams,
9440 WDI_GetRoamRssiRspCb wdiGetRoamRssiRspCb,
9441 void* pUserData
9442);
9443#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07009444
9445/**
9446 @brief WDI_UpdateCfgReq will be called when the upper MAC when
9447 it wishes to change the configuration of the WLAN
9448 Device. Upon the call of this API the WLAN DAL will pack
9449 and send a HAL Update CFG request message to the lower
9450 RIVA sub-system if DAL is in state STARTED.
9451
9452 In state BUSY this request will be queued. Request won't
9453 be allowed in any other state.
9454
9455 WDI_Start must have been called.
9456
9457 @param wdiUpdateCfgReqParams: the update cfg parameters as
9458 specified by the Device Interface
9459
9460 wdiUpdateCfgsRspCb: callback for passing back the
9461 response of the update cfg operation received from the
9462 device
9463
9464 pUserData: user data will be passed back with the
9465 callback
9466
9467 @see WDI_Start
9468 @return Result of the function call
9469*/
9470WDI_Status
9471WDI_UpdateCfgReq
9472(
9473 WDI_UpdateCfgReqParamsType* pwdiUpdateCfgReqParams,
9474 WDI_UpdateCfgRspCb wdiUpdateCfgsRspCb,
9475 void* pUserData
9476);
9477
9478/**
9479 @brief WDI_NvDownloadReq will be called by the UMAC to dowload the NV blob
9480 to the NV memory.
9481
9482 @param wdiNvDownloadReqParams: the NV Download parameters as specified by
9483 the Device Interface
9484
9485 wdiNvDownloadRspCb: callback for passing back the response of
9486 the NV Download operation received from the device
9487
9488 pUserData: user data will be passed back with the
9489 callback
9490
9491 @see WDI_PostAssocReq
9492 @return Result of the function call
9493*/
9494WDI_Status
9495WDI_NvDownloadReq
9496(
9497 WDI_NvDownloadReqParamsType* pwdiNvDownloadReqParams,
9498 WDI_NvDownloadRspCb wdiNvDownloadRspCb,
9499 void* pUserData
9500);
9501/**
9502 @brief WDI_AddBAReq will be called when the upper MAC has setup
9503 successfully a BA session and needs to notify the HW for
9504 the appropriate settings to take place. Upon the call of
9505 this API the WLAN DAL will pack and send a HAL Add BA
9506 request message to the lower RIVA sub-system if DAL is
9507 in state STARTED.
9508
9509 In state BUSY this request will be queued. Request won't
9510 be allowed in any other state.
9511
9512 WDI_PostAssocReq must have been called.
9513
9514 @param wdiAddBAReqParams: the add BA parameters as specified by
9515 the Device Interface
9516
9517 wdiAddBARspCb: callback for passing back the response of
9518 the add BA operation received from the device
9519
9520 pUserData: user data will be passed back with the
9521 callback
9522
9523 @see WDI_PostAssocReq
9524 @return Result of the function call
9525*/
9526WDI_Status
9527WDI_AddBAReq
9528(
9529 WDI_AddBAReqParamsType* pwdiAddBAReqParams,
9530 WDI_AddBARspCb wdiAddBARspCb,
9531 void* pUserData
9532);
9533
9534/**
9535 @brief WDI_TriggerBAReq will be called when the upper MAC has setup
9536 successfully a BA session and needs to notify the HW for
9537 the appropriate settings to take place. Upon the call of
9538 this API the WLAN DAL will pack and send a HAL Add BA
9539 request message to the lower RIVA sub-system if DAL is
9540 in state STARTED.
9541
9542 In state BUSY this request will be queued. Request won't
9543 be allowed in any other state.
9544
9545 WDI_PostAssocReq must have been called.
9546
9547 @param wdiAddBAReqParams: the add BA parameters as specified by
9548 the Device Interface
9549
9550 wdiAddBARspCb: callback for passing back the response of
9551 the add BA operation received from the device
9552
9553 pUserData: user data will be passed back with the
9554 callback
9555
9556 @see WDI_PostAssocReq
9557 @return Result of the function call
9558*/
9559WDI_Status
9560WDI_TriggerBAReq
9561(
9562 WDI_TriggerBAReqParamsType* pwdiTriggerBAReqParams,
9563 WDI_TriggerBARspCb wdiTriggerBARspCb,
9564 void* pUserData
9565);
9566
9567
9568/**
9569 @brief WDI_IsHwFrameTxTranslationCapable checks to see if HW
9570 frame xtl is enabled for a particular STA.
9571
9572 WDI_PostAssocReq must have been called.
9573
9574 @param uSTAIdx: STA index
9575
9576 @see WDI_PostAssocReq
9577 @return Result of the function call
9578*/
9579wpt_boolean WDI_IsHwFrameTxTranslationCapable
9580(
9581 wpt_uint8 uSTAIdx
9582);
9583
9584#ifdef WLAN_FEATURE_VOWIFI_11R
9585/**
9586 @brief WDI_AggrAddTSReq will be called when the upper MAC to inform
9587 the device of a successful add TSpec negotiation for 11r. HW
9588 needs to receive the TSpec Info from the UMAC in order
9589 to configure properly the QoS data traffic. Upon the
9590 call of this API the WLAN DAL will pack and send a HAL
9591 Aggregated Add TS request message to the lower RIVA sub-system if
9592 DAL is in state STARTED.
9593
9594 In state BUSY this request will be queued. Request won't
9595 be allowed in any other state.
9596
9597 WDI_PostAssocReq must have been called.
9598
9599 @param wdiAggrAddTsReqParams: the add TS parameters as specified by
9600 the Device Interface
9601
9602 wdiAggrAddTsRspCb: callback for passing back the response of
9603 the add TS operation received from the device
9604
9605 pUserData: user data will be passed back with the
9606 callback
9607
9608 @see WDI_PostAssocReq
9609 @return Result of the function call
9610*/
9611WDI_Status
9612WDI_AggrAddTSReq
9613(
9614 WDI_AggrAddTSReqParamsType* pwdiAddTsReqParams,
9615 WDI_AggrAddTsRspCb wdiAggrAddTsRspCb,
9616 void* pUserData
9617);
9618#endif /* WLAN_FEATURE_VOWIFI_11R */
9619/**
9620 @brief WDI_STATableInit - Initializes the STA tables.
9621 Allocates the necesary memory.
9622
9623
9624 @param pWDICtx: pointer to the WLAN DAL context
9625
9626 @see
9627 @return Result of the function call
9628*/
9629
9630WDI_Status WDI_StubRunTest
9631(
9632 wpt_uint8 ucTestNo
9633);
9634
Jeff Johnson295189b2012-06-20 16:38:30 -07009635/**
9636 @brief WDI_FTMCommandReq -
9637 Route FTMRequest Command to HAL
9638
9639 @param ftmCommandReq: FTM request command body
9640 @param ftmCommandRspCb: Response CB
9641 @param pUserData: User data will be included with CB
9642
9643 @return Result of the function call
9644*/
9645WDI_Status WDI_FTMCommandReq
9646(
9647 WDI_FTMCommandReqType *ftmCommandReq,
9648 WDI_FTMCommandRspCb ftmCommandRspCb,
9649 void *pUserData
9650);
Jeff Johnson295189b2012-06-20 16:38:30 -07009651
9652/**
9653 @brief WDI_HostResumeReq will be called
9654
9655 In state BUSY this request will be queued. Request won't
9656 be allowed in any other state.
9657
9658
9659 @param pwdiResumeReqParams: as specified by
9660 the Device Interface
9661
9662 wdiResumeReqRspCb: callback for passing back the response of
9663 the Resume Req received from the device
9664
9665 pUserData: user data will be passed back with the
9666 callback
9667
9668 @see WDI_PostAssocReq
9669 @return Result of the function call
9670*/
9671WDI_Status
9672WDI_HostResumeReq
9673(
9674 WDI_ResumeParamsType* pwdiResumeReqParams,
9675 WDI_HostResumeEventRspCb wdiResumeReqRspCb,
9676 void* pUserData
9677);
9678
9679/**
9680 @brief WDI_GetAvailableResCount - Function to get the available resource
9681 for data and managemnt frames.
9682
9683 @param pContext: pointer to the WDI context
9684 @param wdiResPool: type of resource pool requesting
9685 @see
9686 @return Result of the function call
9687*/
9688
9689wpt_uint32 WDI_GetAvailableResCount
9690(
9691 void *pContext,
9692 WDI_ResPoolType wdiResPool
9693);
9694
9695/**
9696 @brief WDI_SetAddSTASelfReq will be called when the
9697 UMAC wanted to add self STA while opening any new session
9698 In state BUSY this request will be queued. Request won't
9699 be allowed in any other state.
9700
9701
9702 @param pwdiAddSTASelfParams: the add self sta parameters as
9703 specified by the Device Interface
9704
9705 pUserData: user data will be passed back with the
9706 callback
9707
9708 @see
9709 @return Result of the function call
9710*/
9711WDI_Status
9712WDI_AddSTASelfReq
9713(
9714 WDI_AddSTASelfReqParamsType* pwdiAddSTASelfReqParams,
9715 WDI_AddSTASelfParamsRspCb wdiAddSTASelfReqParamsRspCb,
9716 void* pUserData
9717);
9718
9719
9720/**
9721 @brief WDI_DelSTASelfReq will be called .
9722
9723 @param WDI_DelSTASelfReqParamsType
9724
9725 WDI_DelSTASelfRspCb: callback for passing back the
9726 response of the del sta self operation received from the
9727 device
9728
9729 pUserData: user data will be passed back with the
9730 callback
9731
9732 @see WDI_PostAssocReq
9733 @return Result of the function call
9734*/
9735WDI_Status
9736WDI_DelSTASelfReq
9737(
9738 WDI_DelSTASelfReqParamsType* pwdiDelStaSelfParams,
9739 WDI_DelSTASelfRspCb wdiDelStaSelfRspCb,
9740 void* pUserData
9741);
9742
9743/**
9744 @brief WDI_HostSuspendInd
9745
9746 Suspend Indication from the upper layer will be sent
9747 down to HAL
9748
9749 @param WDI_SuspendParamsType
9750
9751 @see
9752
9753 @return Status of the request
9754*/
9755WDI_Status
9756WDI_HostSuspendInd
9757(
9758 WDI_SuspendParamsType* pwdiSuspendIndParams
9759);
9760
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08009761/**
9762 @brief WDI_TrafficStatsInd
9763
9764 Traffic Stats from the upper layer will be sent
9765 down to HAL
9766
9767 @param WDI_TrafficStatsIndType
9768
9769 @see
9770
9771 @return Status of the request
9772*/
9773WDI_Status
9774WDI_TrafficStatsInd
9775(
9776 WDI_TrafficStatsIndType *pWdiTrafficStatsIndParams
9777);
9778
Chet Lanctot186b5732013-03-18 10:26:30 -07009779#ifdef WLAN_FEATURE_11W
9780/**
9781 @brief WDI_ExcludeUnencryptedInd
9782 Register with HAL to receive/drop unencrypted frames
9783
9784 @param WDI_ExcludeUnencryptIndType
9785
9786 @see
9787
9788 @return Status of the request
9789*/
9790WDI_Status
9791WDI_ExcludeUnencryptedInd
9792(
9793 WDI_ExcludeUnencryptIndType *pWdiExcUnencParams
9794);
9795#endif
9796
Yue Mab9c86f42013-08-14 15:59:08 -07009797/**
9798 @brief WDI_AddPeriodicTxPtrnInd
9799
9800 @param WDI_AddPeriodicTxPtrnParamsType
9801
9802 @see
9803
9804 @return Status of the request
9805*/
9806WDI_Status
9807WDI_AddPeriodicTxPtrnInd
9808(
9809 WDI_AddPeriodicTxPtrnParamsType *addPeriodicTxPtrnParams
9810);
9811
9812/**
9813 @brief WDI_DelPeriodicTxPtrnInd
9814
9815 @param WDI_DelPeriodicTxPtrnParamsType
9816
9817 @see
9818
9819 @return Status of the request
9820*/
9821WDI_Status
9822WDI_DelPeriodicTxPtrnInd
9823(
9824 WDI_DelPeriodicTxPtrnParamsType *delPeriodicTxPtrnParams
9825);
9826
Jeff Johnson295189b2012-06-20 16:38:30 -07009827#ifdef FEATURE_WLAN_SCAN_PNO
9828/**
9829 @brief WDI_SetPreferredNetworkList
9830
9831 @param pwdiPNOScanReqParams: the Set PNO as specified
9832 by the Device Interface
9833
9834 wdiPNOScanCb: callback for passing back the response
9835 of the Set PNO operation received from the
9836 device
9837
9838 pUserData: user data will be passed back with the
9839 callback
9840
9841 @see WDI_PostAssocReq
9842 @return Result of the function call
9843*/
9844WDI_Status
9845WDI_SetPreferredNetworkReq
9846(
9847 WDI_PNOScanReqParamsType* pwdiPNOScanReqParams,
9848 WDI_PNOScanCb wdiPNOScanCb,
9849 void* pUserData
9850);
9851
9852/**
9853 @brief WDI_SetRssiFilterReq
9854
9855 @param pwdiRssiFilterReqParams: the Set RSSI Filter as
9856 specified by the Device Interface
9857
9858 wdiRssiFilterCb: callback for passing back the response
9859 of the Set RSSI Filter operation received from the
9860 device
9861
9862 pUserData: user data will be passed back with the
9863 callback
9864
9865 @see WDI_PostAssocReq
9866 @return Result of the function call
9867*/
9868WDI_Status
9869WDI_SetRssiFilterReq
9870(
9871 WDI_SetRssiFilterReqParamsType* pwdiRssiFilterReqParams,
9872 WDI_RssiFilterCb wdiRssiFilterCb,
9873 void* pUserData
9874);
9875
9876/**
9877 @brief WDI_UpdateScanParams
9878
9879 @param pwdiUpdateScanParamsInfoType: the Update Scan Params as specified
9880 by the Device Interface
9881
9882 wdiUpdateScanParamsCb: callback for passing back the response
9883 of the Set PNO operation received from the
9884 device
9885
9886 pUserData: user data will be passed back with the
9887 callback
9888
9889 @see WDI_PostAssocReq
9890 @return Result of the function call
9891*/
9892WDI_Status
9893WDI_UpdateScanParamsReq
9894(
9895 WDI_UpdateScanParamsInfoType* pwdiUpdateScanParamsInfoType,
9896 WDI_UpdateScanParamsCb wdiUpdateScanParamsCb,
9897 void* pUserData
9898);
9899#endif // FEATURE_WLAN_SCAN_PNO
9900
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07009901#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
9902/**
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07009903 @brief WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07009904
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07009905 @param pwdiRoamScanOffloadReqParams: Start Roam Candidate Lookup Req as specified
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07009906 by the Device Interface
9907
9908 wdiRoamOffloadScanCb: callback for passing back the response
9909 of the Start Roam Candidate Lookup operation received from the
9910 device
9911
9912 pUserData: user data will be passed back with the
9913 callback
9914
9915 @return Result of the function call
9916*/
9917WDI_Status
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07009918WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07009919(
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07009920 WDI_RoamScanOffloadReqParamsType *pwdiRoamScanOffloadReqParams,
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07009921 WDI_RoamOffloadScanCb wdiRoamOffloadScancb,
9922 void* pUserData
9923);
9924#endif
9925
Jeff Johnson295189b2012-06-20 16:38:30 -07009926/**
9927 @brief WDI_SetTxPerTrackingReq will be called when the upper MAC
9928 wants to set the Tx Per Tracking configurations.
9929 Upon the call of this API the WLAN DAL will pack
9930 and send a HAL Set Tx Per Tracking request message to the
9931 lower RIVA sub-system if DAL is in state STARTED.
9932
9933 In state BUSY this request will be queued. Request won't
9934 be allowed in any other state.
9935
9936 @param wdiSetTxPerTrackingConf: the Set Tx PER Tracking configurations as
9937 specified by the Device Interface
9938
9939 wdiSetTxPerTrackingCb: callback for passing back the
9940 response of the set Tx PER Tracking configurations operation received
9941 from the device
9942
9943 pUserData: user data will be passed back with the
9944 callback
9945
9946 @return Result of the function call
9947*/
9948WDI_Status
9949WDI_SetTxPerTrackingReq
9950(
9951 WDI_SetTxPerTrackingReqParamsType* pwdiSetTxPerTrackingReqParams,
9952 WDI_SetTxPerTrackingRspCb pwdiSetTxPerTrackingRspCb,
9953 void* pUserData
9954);
9955
9956/**
9957 @brief WDI_SetTmLevelReq
9958 If HW Thermal condition changed, driver should react based on new
9959 HW thermal condition.
9960
9961 @param pwdiSetTmLevelReq: New thermal condition information
9962
9963 pwdiSetTmLevelRspCb: callback
9964
9965 usrData: user data will be passed back with the
9966 callback
9967
9968 @return Result of the function call
9969*/
9970WDI_Status
9971WDI_SetTmLevelReq
9972(
9973 WDI_SetTmLevelReqType *pwdiSetTmLevelReq,
9974 WDI_SetTmLevelCb pwdiSetTmLevelRspCb,
9975 void *usrData
9976);
9977
9978#ifdef WLAN_FEATURE_PACKET_FILTERING
9979/**
9980 @brief WDI_8023MulticastListReq
9981
9982 @param pwdiRcvFltPktSetMcListReqInfo: the Set 8023 Multicast
9983 List as specified by the Device Interface
9984
9985 wdi8023MulticastListCallback: callback for passing back
9986 the response of the Set 8023 Multicast List operation
9987 received from the device
9988
9989 pUserData: user data will be passed back with the
9990 callback
9991
9992 @see WDI_PostAssocReq
9993 @return Result of the function call
9994*/
9995WDI_Status
9996WDI_8023MulticastListReq
9997(
9998 WDI_RcvFltPktSetMcListReqParamsType* pwdiRcvFltPktSetMcListReqInfo,
9999 WDI_8023MulticastListCb wdi8023MulticastListCallback,
10000 void* pUserData
10001);
10002
10003/**
10004 @brief WDI_ReceiveFilterSetFilterReq
10005
10006 @param pwdiSetRcvPktFilterReqInfo: the Set Receive Filter as
10007 specified by the Device Interface
10008
10009 wdiReceiveFilterSetFilterReqCallback: callback for
10010 passing back the response of the Set Receive Filter
10011 operation received from the device
10012
10013 pUserData: user data will be passed back with the
10014 callback
10015
10016 @see WDI_PostAssocReq
10017 @return Result of the function call
10018*/
10019WDI_Status
10020WDI_ReceiveFilterSetFilterReq
10021(
10022 WDI_SetRcvPktFilterReqParamsType* pwdiSetRcvPktFilterReqInfo,
10023 WDI_ReceiveFilterSetFilterCb wdiReceiveFilterSetFilterReqCallback,
10024 void* pUserData
10025);
10026
10027/**
10028 @brief WDI_PCFilterMatchCountReq
10029
10030 @param pwdiRcvFltPktMatchCntReqInfo: get D0 PC Filter Match
10031 Count
10032
10033 wdiPCFilterMatchCountCallback: callback for passing back
10034 the response of the D0 PC Filter Match Count operation
10035 received from the device
10036
10037 pUserData: user data will be passed back with the
10038 callback
10039
10040 @see WDI_PostAssocReq
10041 @return Result of the function call
10042*/
10043WDI_Status
10044WDI_FilterMatchCountReq
10045(
10046 WDI_RcvFltPktMatchCntReqParamsType* pwdiRcvFltPktMatchCntReqInfo,
10047 WDI_FilterMatchCountCb wdiFilterMatchCountCallback,
10048 void* pUserData
10049);
10050
10051/**
10052 @brief WDI_ReceiveFilterClearFilterReq
10053
10054 @param pwdiRcvFltPktClearReqInfo: the Clear Filter as
10055 specified by the Device Interface
10056
10057 wdiReceiveFilterClearFilterCallback: callback for
10058 passing back the response of the Clear Filter
10059 operation received from the device
10060
10061 pUserData: user data will be passed back with the
10062 callback
10063
10064 @see WDI_PostAssocReq
10065 @return Result of the function call
10066*/
10067WDI_Status
10068WDI_ReceiveFilterClearFilterReq
10069(
10070 WDI_RcvFltPktClearReqParamsType* pwdiRcvFltPktClearReqInfo,
10071 WDI_ReceiveFilterClearFilterCb wdiReceiveFilterClearFilterCallback,
10072 void* pUserData
10073);
10074#endif // WLAN_FEATURE_PACKET_FILTERING
10075
10076/**
10077 @brief WDI_HALDumpCmdReq
10078 Post HAL DUMP Command Event
10079
10080 @param halDumpCmdReqParams: Hal Dump Command Body
10081 @param halDumpCmdRspCb: callback for passing back the
10082 response
10083 @param pUserData: Client Data
10084
10085 @see
10086 @return Result of the function call
10087*/
10088WDI_Status WDI_HALDumpCmdReq(
10089 WDI_HALDumpCmdReqParamsType *halDumpCmdReqParams,
10090 WDI_HALDumpCmdRspCb halDumpCmdRspCb,
10091 void *pUserData
10092);
10093
10094
10095/**
10096 @brief WDI_SetPowerParamsReq
10097
10098 @param pwdiPowerParamsReqParams: the Set Power Params as
10099 specified by the Device Interface
10100
10101 wdiPowerParamsCb: callback for passing back the response
10102 of the Set Power Params operation received from the
10103 device
10104
10105 pUserData: user data will be passed back with the
10106 callback
10107
10108 @return Result of the function call
10109*/
10110WDI_Status
10111WDI_SetPowerParamsReq
10112(
10113 WDI_SetPowerParamsReqParamsType* pwdiPowerParamsReqParams,
10114 WDI_SetPowerParamsCb wdiPowerParamsCb,
10115 void* pUserData
10116);
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +053010117/**
10118 @brief WDI_dhcpStartInd
10119 Forward the DHCP Start event
10120
10121 @param
10122
10123 wdiDHCPInd: device mode and MAC address is passed
10124
10125 @see
10126 @return Result of the function call
10127*/
10128
10129WDI_Status
10130WDI_dhcpStartInd
10131(
10132 WDI_DHCPInd *wdiDHCPInd
10133);
10134/**
10135 @brief WDI_dhcpStopReq
10136 Forward the DHCP Stop event
10137
10138 @param
10139
10140 wdiDHCPInd: device mode and MAC address is passed
10141
10142 @see
10143 @return Result of the function call
10144*/
10145
10146WDI_Status
10147WDI_dhcpStopInd
10148(
10149 WDI_DHCPInd *wdiDHCPInd
10150);
Jeff Johnson295189b2012-06-20 16:38:30 -070010151
Chittajit Mitraf5413a42013-10-18 14:20:08 -070010152/**
10153 @brief WDI_RateUpdateInd will be called when the upper MAC
10154 requests the device to update rates.
10155
10156 In state BUSY this request will be queued. Request won't
10157 be allowed in any other state.
10158
10159
10160 @param wdiRateUpdateIndParams
10161
10162
10163 @see WDI_Start
10164 @return Result of the function call
10165*/
10166WDI_Status
10167WDI_RateUpdateInd
10168(
10169 WDI_RateUpdateIndParams *wdiRateUpdateIndParams
10170);
10171
Jeff Johnson295189b2012-06-20 16:38:30 -070010172#ifdef WLAN_FEATURE_GTK_OFFLOAD
10173/**
10174 @brief WDI_GTKOffloadReq will be called when the upper MAC
10175 wants to set GTK Rekey Counter while in power save. Upon
10176 the call of this API the WLAN DAL will pack and send a
10177 HAL GTK offload request message to the lower RIVA
10178 sub-system if DAL is in state STARTED.
10179
10180 In state BUSY this request will be queued. Request won't
10181 be allowed in any other state.
10182
10183 WDI_PostAssocReq must have been called.
10184
10185 @param pwdiGtkOffloadParams: the GTK offload as specified
10186 by the Device Interface
10187
10188 wdiGtkOffloadCb: callback for passing back the response
10189 of the GTK offload operation received from the device
10190
10191 pUserData: user data will be passed back with the
10192 callback
10193
10194 @see WDI_PostAssocReq
10195 @return Result of the function call
10196*/
10197WDI_Status
10198WDI_GTKOffloadReq
10199(
10200 WDI_GtkOffloadReqMsg* pwdiGtkOffloadReqMsg,
10201 WDI_GtkOffloadCb wdiGtkOffloadCb,
10202 void* pUserData
10203);
10204
10205/**
10206 @brief WDI_GTKOffloadGetInfoReq will be called when the upper
10207 MAC wants to get GTK Rekey Counter while in power save.
10208 Upon the call of this API the WLAN DAL will pack and
10209 send a HAL GTK offload request message to the lower RIVA
10210 sub-system if DAL is in state STARTED.
10211
10212 In state BUSY this request will be queued. Request won't
10213 be allowed in any other state.
10214
10215 WDI_PostAssocReq must have been called.
10216
10217 @param pwdiGtkOffloadGetInfoReqMsg: the GTK Offload
10218 Information Message as specified by the
10219 Device Interface
10220
10221 wdiGtkOffloadGetInfoCb: callback for passing back the
10222 response of the GTK offload operation received from the
10223 device
10224
10225 pUserData: user data will be passed back with the
10226 callback
10227
10228 @see WDI_PostAssocReq
10229 @return Result of the function call
10230*/
10231WDI_Status
10232WDI_GTKOffloadGetInfoReq
10233(
10234 WDI_GtkOffloadGetInfoReqMsg* pwdiGtkOffloadGetInfoReqMsg,
10235 WDI_GtkOffloadGetInfoCb wdiGtkOffloadGetInfoCb,
10236 void* pUserData
10237);
10238#endif // WLAN_FEATURE_GTK_OFFLOAD
10239
10240/**
10241 @brief WDI_featureCapsExchangeReq
10242 Post feature capability bitmap exchange event.
10243 Host will send its own capability to FW in this req and
10244 expect FW to send its capability back as a bitmap in Response
10245
10246 @param
10247
10248 wdiFeatCapsExcRspCb: callback called on getting the response.
10249 It is kept to mantain similarity between WDI reqs and if needed, can
10250 be used in future. Currently, It is set to NULL
10251
10252 pUserData: user data will be passed back with the
10253 callback
10254
10255 @see
10256 @return Result of the function call
10257*/
10258WDI_Status
10259WDI_featureCapsExchangeReq
10260(
10261 WDI_featureCapsExchangeCb wdiFeatureCapsExchangeCb,
10262 void* pUserData
10263);
10264
10265/**
Yathish9f22e662012-12-10 14:21:35 -080010266 @brief Disable Active mode offload in Host
10267
10268 @param void
10269 @see
10270 @return void
10271*/
10272void
10273WDI_disableCapablityFeature(wpt_uint8 feature_index);
10274
10275
10276/**
Jeff Johnson295189b2012-06-20 16:38:30 -070010277 @brief WDI_getHostWlanFeatCaps
10278 WDI API that returns whether the feature passed to it as enum value in
10279 "placeHolderInCapBitmap" is supported by Host or not. It uses WDI global
10280 variable storing host capability bitmap to find this. This can be used by
10281 other moduels to decide certain things like call different APIs based on
10282 whether a particular feature is supported.
10283
10284 @param
10285
10286 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap in wlan_hal_msg.h.
10287
10288 @see
10289 @return
10290 0 - if the feature is NOT supported in host
10291 any non-zero value - if the feature is SUPPORTED in host.
10292*/
10293wpt_uint8 WDI_getHostWlanFeatCaps(wpt_uint8 feat_enum_value);
10294
10295/**
10296 @brief WDI_getFwWlanFeatCaps
10297 WDI API that returns whether the feature passed to it as enum value in
10298 "placeHolderInCapBitmap" is supported by FW or not. It uses WDI global
10299 variable storing host capability bitmap to find this. This can be used by
10300 other moduels to decide certain things like call different APIs based on
10301 whether a particular feature is supported.
10302
10303 @param
10304
Jeff Johnsone7245742012-09-05 17:12:55 -070010305 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap
10306 in wlan_hal_msg.h.
Jeff Johnson295189b2012-06-20 16:38:30 -070010307
10308 @see
10309 @return
10310 0 - if the feature is NOT supported in FW
10311 any non-zero value - if the feature is SUPPORTED in FW.
10312*/
10313wpt_uint8 WDI_getFwWlanFeatCaps(wpt_uint8 feat_enum_value);
10314
10315/**
10316 @brief WDI_GetWcnssCompiledApiVersion - Function to get wcnss compiled
10317 api version
10318
10319 @param WDI_WlanVersionType: Wlan version structure
10320 @see
10321 @return none
10322*/
10323
10324void WDI_GetWcnssCompiledApiVersion
10325(
10326 WDI_WlanVersionType *pWcnssApiVersion
10327);
10328
Mohit Khanna4a70d262012-09-11 16:30:12 -070010329#ifdef WLAN_FEATURE_11AC
10330WDI_Status
10331WDI_UpdateVHTOpModeReq
10332(
10333 WDI_UpdateVHTOpMode *pData,
10334 WDI_UpdateVHTOpModeCb wdiUpdateVHTOpModeCb,
10335 void* pUserData
10336);
Jeff Johnson295189b2012-06-20 16:38:30 -070010337
Mohit Khanna4a70d262012-09-11 16:30:12 -070010338#endif
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070010339
10340/**
10341 @brief WDI_TransportChannelDebug -
10342 Display DXE Channel debugging information
10343 User may request to display DXE channel snapshot
10344 Or if host driver detects any abnormal stcuk may display
10345
Jeff Johnsonb88db982012-12-10 13:34:59 -080010346 @param displaySnapshot : Display DXE snapshot option
Mihir Shete40a55652014-03-02 14:14:47 +053010347 @param debugFlags : Enable stall detect features
10348 defined by WPAL_DeviceDebugFlags
10349 These features may effect
10350 data performance.
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070010351 @see
10352 @return none
10353*/
10354void WDI_TransportChannelDebug
10355(
10356 wpt_boolean displaySnapshot,
Mihir Shete40a55652014-03-02 14:14:47 +053010357 wpt_uint8 debugFlags
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070010358);
10359
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -070010360/**
10361 @brief WDI_SsrTimerCB
10362 Callback function for SSR timer, if this is called then the graceful
10363 shutdown for Riva did not happen.
10364
10365 @param pUserData : user data to timer
10366
10367 @see
10368 @return none
10369*/
10370void
10371WDI_SsrTimerCB
10372(
10373 void *pUserData
10374);
10375
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -070010376/**
10377 @brief WDI_SetEnableSSR -
10378 This API is called to enable/disable SSR on WDI timeout.
10379
10380 @param enableSSR : enable/disable SSR
10381
10382 @see
10383 @return none
10384*/
10385void WDI_SetEnableSSR(wpt_boolean enableSSR);
10386
Leo Chang9056f462013-08-01 19:21:11 -070010387#ifdef FEATURE_WLAN_LPHB
10388/**
10389 @brief WDI_LPHBConfReq
10390 This API is called to config FW LPHB rule
10391
10392 @param lphbconfParam : LPHB rule should config to FW
10393 usrData : Client context
10394 lphbCfgCb : Configuration status callback
10395 @see
10396 @return SUCCESS or FAIL
10397*/
10398WDI_Status WDI_LPHBConfReq
10399(
10400 void *lphbconfParam,
10401 void *usrData,
10402 WDI_LphbCfgCb lphbCfgCb
10403);
10404#endif /* FEATURE_WLAN_LPHB */
Rajeev79dbe4c2013-10-05 11:03:42 +053010405
10406#ifdef FEATURE_WLAN_BATCH_SCAN
10407/**
10408 @brief WDI_SetBatchScanReq
10409 This API is called to set batch scan request in FW
10410
10411 @param pBatchScanReqParam : pointer to set batch scan re param
10412 usrData : Client context
10413 setBatchScanRspCb : set batch scan resp callback
10414 @see
10415 @return SUCCESS or FAIL
10416*/
10417WDI_Status WDI_SetBatchScanReq
10418(
10419 void *pBatchScanReqParam,
10420 void *usrData,
10421 WDI_SetBatchScanCb setBatchScanRspCb
10422);
10423
10424/**
10425 @brief WDI_StopBatchScanInd
10426
10427 @param none
10428
10429 @see
10430
10431 @return Status of the request
10432*/
10433WDI_Status
10434WDI_StopBatchScanInd(WDI_StopBatchScanIndType *pWdiReq);
10435
10436/**
10437 @brief WDI_TriggerBatchScanResultInd
10438 This API is called to pull batch scan result from FW
10439
10440 @param pBatchScanReqParam : pointer to trigger batch scan ind param
10441 usrData : Client context
10442 setBatchScanRspCb : get batch scan resp callback
10443 @see
10444 @return SUCCESS or FAIL
10445*/
10446WDI_Status
10447WDI_TriggerBatchScanResultInd(WDI_TriggerBatchScanResultIndType *pWdiReq);
10448
10449
10450#endif /*FEATURE_WLAN_BATCH_SCAN*/
10451
Sandeep Puligilla8b8b74b2014-02-10 16:39:05 +053010452/**
10453 @brief wdi_HT40OBSSScanInd
10454 This API is called to start OBSS scan
10455
10456 @param pWdiReq : pointer to get ind param
10457 @see
10458 @return SUCCESS or FAIL
10459*/
10460
10461WDI_Status WDI_HT40OBSSScanInd(WDI_HT40ObssScanParamsType *pWdiReq);
10462
10463/**
10464 @brief wdi_HT40OBSSStopScanInd
10465 This API is called to stop OBSS scan
10466
10467 @param bssIdx : bssIdx to stop
10468 @see
10469 @return SUCCESS or FAIL
10470*/
10471
10472WDI_Status WDI_HT40OBSSStopScanInd(wpt_uint8 bssIdx);
10473
Jeff Johnson295189b2012-06-20 16:38:30 -070010474#ifdef __cplusplus
10475 }
10476#endif
10477
Jeff Johnson295189b2012-06-20 16:38:30 -070010478#endif /* #ifndef WLAN_QCT_WDI_H */