blob: 4a1c541a462569d335bb6432bfb259182519b90a [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
2695
2696/*---------------------------------------------------------------------------
2697 WDI_SwitchCHRspParamsType
2698---------------------------------------------------------------------------*/
2699typedef struct
2700{
2701 /*Status of the response*/
2702 WDI_Status wdiStatus;
2703
2704 /*Indicates the channel that WLAN is on*/
2705 wpt_uint8 ucChannel;
2706
2707#ifdef WLAN_FEATURE_VOWIFI
2708 /*HAL fills in the tx power used for mgmt frames in this field.*/
2709 wpt_int8 ucTxMgmtPower;
2710#endif
2711
2712}WDI_SwitchCHRspParamsType;
2713
2714/*---------------------------------------------------------------------------
2715 WDI_ConfigSTAReqParamsType
2716---------------------------------------------------------------------------*/
2717typedef struct
2718{
2719 /*Info for the Join request that will be sent down to the device*/
2720 WDI_ConfigStaReqInfoType wdiReqInfo;
2721
2722 /*Request status callback offered by UMAC - it is called if the current
2723 req has returned PENDING as status; it delivers the status of sending
2724 the message over the BUS */
2725 WDI_ReqStatusCb wdiReqStatusCB;
2726
2727 /*The user data passed in by UMAC, it will be sent back when the above
2728 function pointer will be called */
2729 void* pUserData;
2730}WDI_ConfigSTAReqParamsType;
2731
2732
2733/*---------------------------------------------------------------------------
2734 WDI_UpdateBeaconParamsInfoType
2735---------------------------------------------------------------------------*/
2736
2737typedef struct
2738{
2739 /*BSS Index of the BSS*/
2740 wpt_uint8 ucBssIdx;
2741
2742 /*shortPreamble mode. HAL should update all the STA rates when it
2743 receives this message*/
2744 wpt_uint8 ucfShortPreamble;
2745 /* short Slot time.*/
2746 wpt_uint8 ucfShortSlotTime;
2747 /* Beacon Interval */
2748 wpt_uint16 usBeaconInterval;
2749 /*Protection related */
2750 wpt_uint8 ucllaCoexist;
2751 wpt_uint8 ucllbCoexist;
2752 wpt_uint8 ucllgCoexist;
2753 wpt_uint8 ucHt20MhzCoexist;
2754 wpt_uint8 ucllnNonGFCoexist;
2755 wpt_uint8 ucfLsigTXOPProtectionFullSupport;
2756 wpt_uint8 ucfRIFSMode;
2757
2758 wpt_uint16 usChangeBitmap;
2759}WDI_UpdateBeaconParamsInfoType;
2760
Mohit Khanna4a70d262012-09-11 16:30:12 -07002761#ifdef WLAN_FEATURE_11AC
2762typedef struct
2763{
2764 wpt_uint16 opMode;
2765 wpt_uint16 staId;
2766}WDI_UpdateVHTOpMode;
2767#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07002768
2769/*---------------------------------------------------------------------------
2770 WDI_UpdateBeaconParamsType
2771---------------------------------------------------------------------------*/
2772typedef struct
2773{
2774 /*Update Beacon Params Info*/
2775 WDI_UpdateBeaconParamsInfoType wdiUpdateBeaconParamsInfo;
2776
2777 /*Request status callback offered by UMAC - it is called if the current
2778 req has returned PENDING as status; it delivers the status of sending
2779 the message over the BUS */
2780 WDI_ReqStatusCb wdiReqStatusCB;
2781
2782 /*The user data passed in by UMAC, it will be sent back when the above
2783 function pointer will be called */
2784 void* pUserData;
2785}WDI_UpdateBeaconParamsType;
2786
2787/*---------------------------------------------------------------------------
2788 WDI_SendBeaconParamsInfoType
2789---------------------------------------------------------------------------*/
2790
2791typedef struct {
2792
2793 /*BSSID of the BSS*/
2794 wpt_macAddr macBSSID;
2795
2796 /* Beacon data */
2797 wpt_uint8 beacon[WDI_BEACON_TEMPLATE_SIZE];
2798
2799 /* length of the template */
2800 wpt_uint32 beaconLength;
2801
Jeff Johnson295189b2012-06-20 16:38:30 -07002802 /* TIM IE offset from the beginning of the template.*/
2803 wpt_uint32 timIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07002804
Jeff Johnson295189b2012-06-20 16:38:30 -07002805 /* P2P IE offset from the beginning of the template */
2806 wpt_uint16 usP2PIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07002807} WDI_SendBeaconParamsInfoType;
2808
2809/*---------------------------------------------------------------------------
2810 WDI_SendBeaconParamsType
2811---------------------------------------------------------------------------*/
2812typedef struct
2813{
2814 /*Send Beacon Params Info*/
2815 WDI_SendBeaconParamsInfoType wdiSendBeaconParamsInfo;
2816
2817 /*Request status callback offered by UMAC - it is called if the current
2818 req has returned PENDING as status; it delivers the status of sending
2819 the message over the BUS */
2820 WDI_ReqStatusCb wdiReqStatusCB;
2821
2822 /*The user data passed in by UMAC, it will be sent back when the above
2823 function pointer will be called */
2824 void* pUserData;
2825}WDI_SendBeaconParamsType;
2826
2827/*---------------------------------------------------------------------------
2828 WDI_LinkStateType
2829---------------------------------------------------------------------------*/
2830typedef enum
2831{
2832 WDI_LINK_IDLE_STATE = 0,
2833 WDI_LINK_PREASSOC_STATE = 1,
2834 WDI_LINK_POSTASSOC_STATE = 2,
2835 WDI_LINK_AP_STATE = 3,
2836 WDI_LINK_IBSS_STATE = 4,
2837
2838 // BT-AMP Case
2839 WDI_LINK_BTAMP_PREASSOC_STATE = 5,
2840 WDI_LINK_BTAMP_POSTASSOC_STATE = 6,
2841 WDI_LINK_BTAMP_AP_STATE = 7,
2842 WDI_LINK_BTAMP_STA_STATE = 8,
2843
2844 // Reserved for HAL internal use
2845 WDI_LINK_LEARN_STATE = 9,
2846 WDI_LINK_SCAN_STATE = 10,
2847 WDI_LINK_FINISH_SCAN_STATE = 11,
2848 WDI_LINK_INIT_CAL_STATE = 12,
2849 WDI_LINK_FINISH_CAL_STATE = 13,
Jeff Johnson295189b2012-06-20 16:38:30 -07002850 WDI_LINK_LISTEN_STATE = 14,
Gopichand Nakkala924e4552013-05-08 19:18:14 +05302851 WDI_LINK_SEND_ACTION_STATE = 15,
Jeff Johnson295189b2012-06-20 16:38:30 -07002852 WDI_LINK_MAX = 0x7FFFFFFF
2853} WDI_LinkStateType;
2854
2855/*---------------------------------------------------------------------------
2856 WDI_SetLinkReqInfoType
2857---------------------------------------------------------------------------*/
2858typedef struct
2859{
2860 /*BSSID of the BSS*/
2861 wpt_macAddr macBSSID;
2862
2863 /*Link state*/
2864 WDI_LinkStateType wdiLinkState;
2865
2866 /*BSSID of the BSS*/
2867 wpt_macAddr macSelfStaMacAddr;
2868}WDI_SetLinkReqInfoType;
2869
2870/*---------------------------------------------------------------------------
2871 WDI_SetLinkReqParamsType
2872---------------------------------------------------------------------------*/
2873typedef struct
2874{
2875 /*Link Info*/
2876 WDI_SetLinkReqInfoType wdiLinkInfo;
2877
2878 /*Request status callback offered by UMAC - it is called if the current
2879 req has returned PENDING as status; it delivers the status of sending
2880 the message over the BUS */
2881 WDI_ReqStatusCb wdiReqStatusCB;
2882
2883 /*The user data passed in by UMAC, it will be sent back when the above
2884 function pointer will be called */
2885 void* pUserData;
2886}WDI_SetLinkReqParamsType;
2887
2888/*---------------------------------------------------------------------------
2889 WDI_GetStatsParamsInfoType
2890---------------------------------------------------------------------------*/
2891typedef struct
2892{
2893 /*Indicates the station for which Get Stats are requested..*/
2894 wpt_uint8 ucSTAIdx;
2895
2896 /* categories of stats requested */
2897 wpt_uint32 uStatsMask;
2898}WDI_GetStatsParamsInfoType;
2899
2900/*---------------------------------------------------------------------------
2901 WDI_GetStatsReqParamsType
2902---------------------------------------------------------------------------*/
2903typedef struct
2904{
2905 /*Get Stats Params Info*/
2906 WDI_GetStatsParamsInfoType wdiGetStatsParamsInfo;
2907
2908 /*Request status callback offered by UMAC - it is called if the current
2909 req has returned PENDING as status; it delivers the status of sending
2910 the message over the BUS */
2911 WDI_ReqStatusCb wdiReqStatusCB;
2912
2913 /*The user data passed in by UMAC, it will be sent back when the above
2914 function pointer will be called */
2915 void* pUserData;
2916}WDI_GetStatsReqParamsType;
2917
2918/*---------------------------------------------------------------------------
2919 WDI_GetStatsRspParamsType
2920---------------------------------------------------------------------------*/
2921typedef struct
2922{
2923 /*message type is same as the request type*/
2924 wpt_uint16 usMsgType;
2925
2926 /* length of the entire request, includes the pStatsBuf length too*/
2927 wpt_uint16 usMsgLen;
2928
2929 /*Result of the operation*/
2930 WDI_Status wdiStatus;
2931
2932 /*Indicates the station for which Get Stats are requested..*/
2933 wpt_uint8 ucSTAIdx;
2934
2935 /* categories of stats requested */
2936 wpt_uint32 uStatsMask;
2937
2938 /* The Stats buffer starts here and can be an aggregate of more than one statistics
2939 * structure depending on statsMask.*/
2940}WDI_GetStatsRspParamsType;
2941
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08002942#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_CCX || defined(FEATURE_WLAN_LFR)
2943/*---------------------------------------------------------------------------
2944 WDI_GetRoamRssiParamsInfoType
2945---------------------------------------------------------------------------*/
2946typedef struct
2947{
2948 /*Indicates the station for which Get Stats are requested..*/
2949 wpt_uint8 ucSTAIdx;
2950
2951 /* categories of stats requested */
2952 wpt_uint32 uStatsMask;
2953}WDI_GetRoamRssiParamsInfoType;
2954
2955/*---------------------------------------------------------------------------
2956 WDI_GetRoamRssiReqParamsType
2957---------------------------------------------------------------------------*/
2958typedef struct
2959{
2960 /*Get Roam Rssi Params Info*/
2961 WDI_GetRoamRssiParamsInfoType wdiGetRoamRssiParamsInfo;
2962
2963 /*Request status callback offered by UMAC - it is called if the current
2964 req has returned PENDING as status; it delivers the status of sending
2965 the message over the BUS */
2966 WDI_ReqStatusCb wdiReqStatusCB;
2967
2968 /*The user data passed in by UMAC, it will be sent back when the above
2969 function pointer will be called */
2970 void* pUserData;
2971}WDI_GetRoamRssiReqParamsType;
2972
2973/*---------------------------------------------------------------------------
2974 WDI_GetRoamRssiRspParamsType
2975---------------------------------------------------------------------------*/
2976typedef struct
2977{
2978 /*Result of the operation*/
2979 WDI_Status wdiStatus;
2980
2981 /*Indicates the station for which Get Stats are requested..*/
2982 wpt_uint8 ucSTAIdx;
2983
2984 /* roam rssi requested */
2985 wpt_int8 rssi;
2986
2987 /* The Stats buffer starts here and can be an aggregate of more than one statistics
2988 * structure depending on statsMask.*/
2989}WDI_GetRoamRssiRspParamsType;
2990#endif
2991
Jeff Johnson295189b2012-06-20 16:38:30 -07002992#ifdef FEATURE_WLAN_CCX
2993/*---------------------------------------------------------------------------
2994 WDI_TSMStatsParamsInfoType
2995---------------------------------------------------------------------------*/
2996typedef struct
2997{
2998 /*Indicates the station for which Get Stats are requested..*/
2999 wpt_uint8 ucTid;
3000
3001 wpt_macAddr bssid;
3002}WDI_TSMStatsParamsInfoType;
3003
3004/*---------------------------------------------------------------------------
3005 WDI_TSMStatsReqParamsType
3006---------------------------------------------------------------------------*/
3007typedef struct
3008{
3009 /*Get TSM Stats Params Info*/
3010 WDI_TSMStatsParamsInfoType wdiTsmStatsParamsInfo;
3011
3012 WDI_ReqStatusCb wdiReqStatusCB;
3013
3014 /*The user data passed in by UMAC, it will be sent back when the above
3015 function pointer will be called */
3016 void* pUserData;
3017
3018}WDI_TSMStatsReqParamsType;
3019
3020
3021/*---------------------------------------------------------------------------
3022 WDI_TSMStatsRspParamsType
3023---------------------------------------------------------------------------*/
3024typedef struct
3025{
3026 /*Indicates the status of the operation */
3027 WDI_Status wdiStatus;
3028
3029 wpt_uint16 UplinkPktQueueDly;
3030 wpt_uint16 UplinkPktQueueDlyHist[4];
3031 wpt_uint32 UplinkPktTxDly;
3032 wpt_uint16 UplinkPktLoss;
3033 wpt_uint16 UplinkPktCount;
3034 wpt_uint8 RoamingCount;
3035 wpt_uint16 RoamingDly;
3036}WDI_TSMStatsRspParamsType;
3037
3038
3039#endif
3040/*---------------------------------------------------------------------------
3041 WDI_UpdateCfgReqParamsType
3042---------------------------------------------------------------------------*/
3043typedef struct
3044{
3045 /*This is a TLV formatted buffer containing all config values that can
3046 be set through the DAL Interface
3047
3048 The TLV is expected to be formatted like this:
3049
3050 0 7 15 31 ....
3051 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
3052
3053 Or from a C construct point of VU it would look like this:
3054
3055 typedef struct WPT_PACK_POST
3056 {
3057 #ifdef WPT_BIG_ENDIAN
3058 wpt_uint32 ucCfgId:8;
3059 wpt_uint32 ucCfgLen:8;
3060 wpt_uint32 usReserved:16;
3061 #else
3062 wpt_uint32 usReserved:16;
3063 wpt_uint32 ucCfgLen:8;
3064 wpt_uint32 ucCfgId:8;
3065 #endif
3066
3067 wpt_uint8 ucCfgBody[ucCfgLen];
3068 }WDI_ConfigType;
3069
3070 Multiple such tuplets are to be placed in the config buffer. One for
3071 each required configuration item:
3072
3073 | TLV 1 | TLV2 | ....
3074
3075 The buffer is expected to be a flat area of memory that can be manipulated
3076 with standard memory routines.
3077
3078 For more info please check paragraph 2.3.1 Config Structure from the
3079 HAL LLD.
3080
3081 For a list of accepted configuration list and IDs please look up
3082 wlan_qct_dal_cfg.h
3083 */
3084 void* pConfigBuffer;
3085
3086 /*Length of the config buffer above*/
3087 wpt_uint32 uConfigBufferLen;
3088
3089 /*Request status callback offered by UMAC - it is called if the current
3090 req has returned PENDING as status; it delivers the status of sending
3091 the message over the BUS */
3092 WDI_ReqStatusCb wdiReqStatusCB;
3093
3094 /*The user data passed in by UMAC, it will be sent back when the above
3095 function pointer will be called */
3096 void* pUserData;
3097}WDI_UpdateCfgReqParamsType;
3098
3099/*---------------------------------------------------------------------------
3100 WDI_UpdateProbeRspTemplateInfoType
3101---------------------------------------------------------------------------*/
3102//Default Beacon template size
3103#define WDI_PROBE_RSP_TEMPLATE_SIZE 0x180
3104
3105#define WDI_PROBE_REQ_BITMAP_IE_LEN 8
3106
3107typedef struct
3108{
3109 /*BSSID for which the Probe Template is to be used*/
3110 wpt_macAddr macBSSID;
3111
3112 /*Probe response template*/
3113 wpt_uint8 *pProbeRespTemplate[WDI_PROBE_RSP_TEMPLATE_SIZE];
3114
3115 /*Template Len*/
3116 wpt_uint32 uProbeRespTemplateLen;
3117
3118 /*Bitmap for the IEs that are to be handled at SLM level*/
3119 wpt_uint32 uaProxyProbeReqValidIEBmap[WDI_PROBE_REQ_BITMAP_IE_LEN];
3120
3121}WDI_UpdateProbeRspTemplateInfoType;
3122
3123/*---------------------------------------------------------------------------
3124 WDI_UpdateProbeRspParamsType
3125---------------------------------------------------------------------------*/
3126typedef struct
3127{
3128 /*Link Info*/
3129 WDI_UpdateProbeRspTemplateInfoType wdiProbeRspTemplateInfo;
3130
3131 /*Request status callback offered by UMAC - it is called if the current
3132 req has returned PENDING as status; it delivers the status of sending
3133 the message over the BUS */
3134 WDI_ReqStatusCb wdiReqStatusCB;
3135
3136 /*The user data passed in by UMAC, it will be sent back when the above
3137 function pointer will be called */
3138 void* pUserData;
3139}WDI_UpdateProbeRspTemplateParamsType;
3140
3141/*---------------------------------------------------------------------------
3142 WDI_NvDownloadReqBlobInfo
3143---------------------------------------------------------------------------*/
3144
3145typedef struct
3146{
3147 /* Blob starting address*/
3148 void *pBlobAddress;
3149
3150 /* Blob size */
3151 wpt_uint32 uBlobSize;
3152
3153}WDI_NvDownloadReqBlobInfo;
3154
3155/*---------------------------------------------------------------------------
3156 WDI_NvDownloadReqParamsType
3157---------------------------------------------------------------------------*/
3158typedef struct
3159{
3160 /*NV Blob Info*/
3161 WDI_NvDownloadReqBlobInfo wdiBlobInfo;
3162
3163 /*Request status callback offered by UMAC - it is called if the current
3164 req has returned PENDING as status; it delivers the status of sending
3165 the message over the BUS */
3166 WDI_ReqStatusCb wdiReqStatusCB;
3167
3168 /*The user data passed in by UMAC, it will be sent back when the above
3169 function pointer will be called */
3170 void* pUserData;
3171
3172}WDI_NvDownloadReqParamsType;
3173
3174/*---------------------------------------------------------------------------
3175 WDI_NvDownloadRspInfoType
3176---------------------------------------------------------------------------*/
3177typedef struct
3178{
3179 /*Status of the response*/
3180 WDI_Status wdiStatus;
3181
3182}WDI_NvDownloadRspInfoType;
3183
3184/*---------------------------------------------------------------------------
3185 WDI_SetMaxTxPowerInfoType
3186---------------------------------------------------------------------------*/
3187
3188typedef struct
3189{
3190 /*BSSID is needed to identify which session issued this request. As the request has
3191 power constraints, this should be applied only to that session*/
3192 wpt_macAddr macBSSId;
3193
3194
3195 wpt_macAddr macSelfStaMacAddr;
3196
3197 /* In request power == MaxTxpower to be used.*/
3198 wpt_int8 ucPower;
3199
3200}WDI_SetMaxTxPowerInfoType;
3201
3202/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003203 WDI_SetTxPowerInfoType
3204---------------------------------------------------------------------------*/
3205
3206typedef struct
3207{
3208 wpt_uint8 bssIdx;
3209 /* In request power == MaxTxpower to be used.*/
3210 wpt_uint8 ucPower;
3211
3212}WDI_SetTxPowerInfoType;
3213
3214/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003215 WDI_SetMaxTxPowerParamsType
3216---------------------------------------------------------------------------*/
3217typedef struct
3218{
3219 /*Link Info*/
3220 WDI_SetMaxTxPowerInfoType wdiMaxTxPowerInfo;
3221
3222 /*Request status callback offered by UMAC - it is called if the current
3223 req has returned PENDING as status; it delivers the status of sending
3224 the message over the BUS */
3225 WDI_ReqStatusCb wdiReqStatusCB;
3226
3227 /*The user data passed in by UMAC, it will be sent back when the above
3228 function pointer will be called */
3229 void* pUserData;
3230}WDI_SetMaxTxPowerParamsType;
3231
schang86c22c42013-03-13 18:41:24 -07003232/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07003233 WDI_Band
3234---------------------------------------------------------------------------*/
3235typedef enum
3236{
3237 WDI_BAND_ALL,
3238 WDI_BAND_24,
3239 WDI_BAND_5G,
3240 WDI_BAND_MAX,
3241}eWDIBand;
3242
3243/*---------------------------------------------------------------------------
3244 WDI_MaxTxPowerPerBandInfoType
3245---------------------------------------------------------------------------*/
3246typedef struct
3247{
3248 eWDIBand bandInfo;
3249 /* In request power == MaxTxpower to be used.*/
3250 wpt_uint8 ucPower;
3251}WDI_MaxTxPowerPerBandInfoType;
3252
3253/*---------------------------------------------------------------------------
3254 WDI_SetMaxTxPowerPerBandParamsType
3255---------------------------------------------------------------------------*/
3256typedef struct
3257{
3258 /*Link Info*/
3259 WDI_MaxTxPowerPerBandInfoType wdiMaxTxPowerPerBandInfo;
3260
3261 /*Request status callback offered by UMAC - it is called if the current
3262 req has returned PENDING as status; it delivers the status of sending
3263 the message over the BUS */
3264 WDI_ReqStatusCb wdiReqStatusCB;
3265
3266 /*The user data passed in by UMAC, it will be sent back when the above
3267 function pointer will be called */
3268 void* pUserData;
3269}WDI_SetMaxTxPowerPerBandParamsType;
3270
3271/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003272 WDI_SetTxPowerParamsType
3273---------------------------------------------------------------------------*/
3274typedef struct
3275{
3276 /*Link Info*/
3277 WDI_SetTxPowerInfoType wdiTxPowerInfo;
3278
3279 /*Request status callback offered by UMAC - it is called if the current
3280 req has returned PENDING as status; it delivers the status of sending
3281 the message over the BUS */
3282 WDI_ReqStatusCb wdiReqStatusCB;
3283
3284 /*The user data passed in by UMAC, it will be sent back when the above
3285 function pointer will be called */
3286 void* pUserData;
3287}WDI_SetTxPowerParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003288
3289/*---------------------------------------------------------------------------
3290 WDI_SetMaxTxPowerRspMsg
3291---------------------------------------------------------------------------*/
3292
3293typedef struct
3294{
3295 /* In response, power==tx power used for management frames*/
3296 wpt_int8 ucPower;
3297
3298 /*Result of the operation*/
3299 WDI_Status wdiStatus;
3300
3301}WDI_SetMaxTxPowerRspMsg;
3302
schang86c22c42013-03-13 18:41:24 -07003303/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07003304 WDI_SetMaxTxPowerPerBandRspMsg
3305---------------------------------------------------------------------------*/
3306typedef struct
3307{
3308 /* In response, power==tx power used for management frames*/
3309 wpt_int8 ucPower;
3310
3311 /*Result of the operation*/
3312 WDI_Status wdiStatus;
3313
3314}WDI_SetMaxTxPowerPerBandRspMsg;
3315
3316/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003317 WDI_SetTxPowerRspMsg
3318---------------------------------------------------------------------------*/
3319
3320typedef struct
3321{
3322 /* In response, power==tx power used for management frames*/
3323 wpt_int8 ucPower;
3324
3325 /*Result of the operation*/
3326 WDI_Status wdiStatus;
3327
3328}WDI_SetTxPowerRspMsg;
3329
Jeff Johnson295189b2012-06-20 16:38:30 -07003330typedef struct
3331{
3332 wpt_uint8 ucOpp_ps;
3333 wpt_uint32 uCtWindow;
3334 wpt_uint8 ucCount;
3335 wpt_uint32 uDuration;
3336 wpt_uint32 uInterval;
3337 wpt_uint32 uSingle_noa_duration;
3338 wpt_uint8 ucPsSelection;
3339}WDI_SetP2PGONOAReqInfoType;
3340
3341/*---------------------------------------------------------------------------
3342 WDI_SetP2PGONOAReqParamsType
3343---------------------------------------------------------------------------*/
3344typedef struct
3345{
3346 /*P2P GO NOA Req*/
3347 WDI_SetP2PGONOAReqInfoType wdiP2PGONOAInfo;
3348
3349 /*Request status callback offered by UMAC - it is called if the current
3350 req has returned PENDING as status; it delivers the status of sending
3351 the message over the BUS */
3352 WDI_ReqStatusCb wdiReqStatusCB;
3353
3354 /*The user data passed in by UMAC, it will be sent back when the above
3355 function pointer will be called */
3356 void* pUserData;
3357}WDI_SetP2PGONOAReqParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003358
Naresh Jayaramc7cbd782014-02-04 17:38:23 +05303359#define WDI_MAX_SUPP_CHANNELS 128
3360#define WDI_MAX_SUPP_OPER_CLASSES 32
3361
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303362typedef struct
3363{
3364 wpt_uint16 uStaIdx;
3365 wpt_uint8 uIsResponder;
3366 wpt_uint8 uUapsdQueues;
3367 wpt_uint8 uMaxSp;
3368 wpt_uint8 uIsBufSta;
Naresh Jayaramc7cbd782014-02-04 17:38:23 +05303369 wpt_uint8 uIsOffChannelSupported;
3370 wpt_uint8 peerCurrOperClass;
3371 wpt_uint8 selfCurrOperClass;
3372 wpt_uint8 validChannelsLen;
3373 wpt_uint8 validChannels[WDI_MAX_SUPP_CHANNELS];
3374 wpt_uint8 validOperClassesLen;
3375 wpt_uint8 validOperClasses[WDI_MAX_SUPP_OPER_CLASSES];
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303376}WDI_SetTDLSLinkEstablishReqInfoType;
3377/*---------------------------------------------------------------------------
3378 WDI_SetTDLSLinkEstablishReqParamsType
3379---------------------------------------------------------------------------*/
3380typedef struct
3381{
3382 /*TDLS Link Establish Req*/
3383 WDI_SetTDLSLinkEstablishReqInfoType wdiTDLSLinkEstablishInfo;
3384
3385 /*Request status callback offered by UMAC - it is called if the current
3386 req has returned PENDING as status; it delivers the status of sending
3387 the message over the BUS */
3388 WDI_ReqStatusCb wdiReqStatusCB;
3389
3390 /*The user data passed in by UMAC, it will be sent back when the above
3391 function pointer will be called */
3392 void* pUserData;
3393}WDI_SetTDLSLinkEstablishReqParamsType;
3394
3395
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05303396typedef struct
3397{
3398 /*Result of the operation*/
3399 WDI_Status wdiStatus;
3400
3401 /*STA Idx*/
3402 wpt_uint16 uStaIdx;
3403}WDI_SetTdlsLinkEstablishReqResp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003404
3405/*---------------------------------------------------------------------------
3406 WDI_SetAddSTASelfParamsType
3407---------------------------------------------------------------------------*/
3408typedef struct
3409{
3410 /*Self Station MAC address*/
3411 wpt_macAddr selfMacAddr;
3412
Kiran Kumar Lokere0ad5cd32013-06-25 11:26:22 -07003413 /*Self STA device mode*/
3414 wpt_uint32 currDeviceMode;
3415
Jeff Johnson295189b2012-06-20 16:38:30 -07003416 /*Status of the operation*/
3417 wpt_uint32 uStatus;
3418}WDI_AddSTASelfInfoType;
3419
3420/*---------------------------------------------------------------------------
3421 WDI_SetAddSTASelfParamsType
3422---------------------------------------------------------------------------*/
3423typedef struct
3424{
3425 /* Add Sta Self Req */
3426 WDI_AddSTASelfInfoType wdiAddSTASelfInfo;
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_AddSTASelfReqParamsType;
3437
3438
3439/*---------------------------------------------------------------------------
3440 WDI_AddSTASelfRspParamsType
3441---------------------------------------------------------------------------*/
3442typedef struct
3443{
3444 /*Status of the response*/
3445 WDI_Status wdiStatus;
3446
3447 /*STA Idx allocated by HAL*/
3448 wpt_uint8 ucSTASelfIdx;
3449
3450 /* DPU Index (IGTK, PTK, GTK all same) */
3451 wpt_uint8 dpuIdx;
3452
3453 /* DPU Signature */
3454 wpt_uint8 dpuSignature;
3455
3456 /*Self STA Mac*/
3457 wpt_macAddr macSelfSta;
3458
3459}WDI_AddSTASelfRspParamsType;
3460
3461/*---------------------------------------------------------------------------
3462 WDI_DelSTASelfReqParamsType
3463 Del Sta Self info passed to WDI form WDA
3464---------------------------------------------------------------------------*/
3465typedef struct
3466{
3467 wpt_macAddr selfMacAddr;
3468
3469}WDI_DelSTASelfInfoType;
3470
3471/*---------------------------------------------------------------------------
3472 WDI_DelSTASelfReqParamsType
3473 Del Sta Self info passed to WDI form WDA
3474---------------------------------------------------------------------------*/
3475typedef struct
3476{
3477 /*Del Sta Self Info Type */
3478 WDI_DelSTASelfInfoType wdiDelStaSelfInfo;
3479 /*Request status callback offered by UMAC - it is called if the current req
3480 has returned PENDING as status; it delivers the status of sending the message
3481 over the BUS */
3482 WDI_ReqStatusCb wdiReqStatusCB;
3483 /*The user data passed in by UMAC, it will be sent back when the above
3484 function pointer will be called */
3485 void* pUserData;
3486}WDI_DelSTASelfReqParamsType;
3487
3488/*---------------------------------------------------------------------------
3489 WDI_DelSTASelfRspParamsType
3490---------------------------------------------------------------------------*/
3491typedef struct
3492{
3493 /*Status of the response*/
3494 WDI_Status wdiStatus;
3495
3496 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
3497// wpt_uint8 ucSTAIdx;
3498}WDI_DelSTASelfRspParamsType;
3499
3500/*---------------------------------------------------------------------------
3501 WDI_UapsdInfoType
3502 UAPSD parameters passed per AC to WDA from UMAC
3503---------------------------------------------------------------------------*/
3504typedef struct
3505{
3506 wpt_uint8 ucSTAIdx; // STA index
3507 wpt_uint8 ucAc; // Access Category
3508 wpt_uint8 ucUp; // User Priority
3509 wpt_uint32 uSrvInterval; // Service Interval
3510 wpt_uint32 uSusInterval; // Suspend Interval
3511 wpt_uint32 uDelayInterval; // Delay Interval
3512} WDI_UapsdInfoType;
3513
3514/*---------------------------------------------------------------------------
3515 WDI_SetUapsdAcParamsReqParamsType
3516 UAPSD parameters passed per AC to WDI from WDA
3517---------------------------------------------------------------------------*/
3518typedef struct
3519{
3520 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3521 WDI_UapsdInfoType wdiUapsdInfo;
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_SetUapsdAcParamsReqParamsType;
3530
3531/*---------------------------------------------------------------------------
3532 WDI_EnterBmpsReqinfoType
3533 Enter BMPS parameters passed to WDA from UMAC
3534---------------------------------------------------------------------------*/
3535typedef struct
3536{
3537 //TBTT value derived from the last beacon
3538 wpt_uint8 ucBssIdx;
3539 wpt_uint64 uTbtt;
3540 wpt_uint8 ucDtimCount;
3541 //DTIM period given to HAL during association may not be valid,
3542 //if association is based on ProbeRsp instead of beacon.
3543 wpt_uint8 ucDtimPeriod;
3544 /* DXE physical addr to be passed down to RIVA. RIVA HAL will use it to program
3545 DXE when DXE wakes up from power save*/
3546 unsigned int dxePhyAddr;
3547
3548 // For CCX and 11R Roaming
3549 wpt_uint32 rssiFilterPeriod;
3550 wpt_uint32 numBeaconPerRssiAverage;
3551 wpt_uint8 bRssiFilterEnable;
3552}WDI_EnterBmpsReqinfoType;
3553
3554/*---------------------------------------------------------------------------
3555 WDI_EnterBmpsReqParamsType
3556 Enter BMPS parameters passed to WDI from WDA
3557---------------------------------------------------------------------------*/
3558typedef struct
3559{
3560 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3561 WDI_EnterBmpsReqinfoType wdiEnterBmpsInfo;
3562 /*Request status callback offered by UMAC - it is called if the current req
3563 has returned PENDING as status; it delivers the status of sending the message
3564 over the BUS */
3565 WDI_ReqStatusCb wdiReqStatusCB;
3566 /*The user data passed in by UMAC, it will be sent back when the above
3567 function pointer will be called */
3568 void* pUserData;
3569}WDI_EnterBmpsReqParamsType;
3570
3571/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003572 WDI_EnterBmpsReqParamsType
3573 Enter BMPS parameters passed from WDI to WDA
3574---------------------------------------------------------------------------*/
3575typedef struct
3576{
3577 /*Status of the response*/
3578 WDI_Status wdiStatus;
3579
3580 /*BssIDX of the session*/
3581 wpt_uint8 bssIdx;
3582}WDI_EnterBmpsRspParamsType;
3583
3584/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003585 WDI_ExitBmpsReqinfoType
3586 Exit BMPS parameters passed to WDA from UMAC
3587---------------------------------------------------------------------------*/
3588typedef struct
3589{
3590 wpt_uint8 ucSendDataNull;
Jeff Johnsone7245742012-09-05 17:12:55 -07003591 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003592}WDI_ExitBmpsReqinfoType;
3593
3594/*---------------------------------------------------------------------------
3595 WDI_ExitBmpsReqParamsType
3596 Exit BMPS parameters passed to WDI from WDA
3597---------------------------------------------------------------------------*/
3598typedef struct
3599{
3600 /*Exit BMPS Info Type, same as tExitBmpsParams */
3601 WDI_ExitBmpsReqinfoType wdiExitBmpsInfo;
3602 /*Request status callback offered by UMAC - it is called if the current req
3603 has returned PENDING as status; it delivers the status of sending the message
3604 over the BUS */
3605 WDI_ReqStatusCb wdiReqStatusCB;
3606 /*The user data passed in by UMAC, it will be sent back when the above
3607 function pointer will be called */
3608 void* pUserData;
3609}WDI_ExitBmpsReqParamsType;
3610
3611/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003612 WDI_ExitBmpsReqParamsType
3613 Exit BMPS parameters passed from WDI to WDA
3614---------------------------------------------------------------------------*/
3615typedef struct
3616{
3617 /*Status of the response*/
3618 WDI_Status wdiStatus;
3619
3620 /*BssIDX of the session*/
3621 wpt_uint8 bssIdx;
3622}WDI_ExitBmpsRspParamsType;
3623
3624/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003625 WDI_EnterUapsdReqinfoType
3626 Enter UAPSD parameters passed to WDA from UMAC
3627---------------------------------------------------------------------------*/
3628typedef struct
3629{
3630 wpt_uint8 ucBkDeliveryEnabled:1;
3631 wpt_uint8 ucBeDeliveryEnabled:1;
3632 wpt_uint8 ucViDeliveryEnabled:1;
3633 wpt_uint8 ucVoDeliveryEnabled:1;
3634 wpt_uint8 ucBkTriggerEnabled:1;
3635 wpt_uint8 ucBeTriggerEnabled:1;
3636 wpt_uint8 ucViTriggerEnabled:1;
3637 wpt_uint8 ucVoTriggerEnabled:1;
Jeff Johnsone7245742012-09-05 17:12:55 -07003638 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003639}WDI_EnterUapsdReqinfoType;
3640
3641/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003642 WDI_EnterUapsdRspParamsType
3643 Enter UAPSD parameters passed from WDI to WDA
3644---------------------------------------------------------------------------*/
3645typedef struct
3646{
3647 /*Status of the response*/
3648 WDI_Status wdiStatus;
3649
3650 /*BssIDX of the session*/
3651 wpt_uint8 bssIdx;
3652}WDI_EnterUapsdRspParamsType;
3653
3654/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003655 WDI_EnterUapsdReqinfoType
3656 Enter UAPSD parameters passed to WDI from WDA
3657---------------------------------------------------------------------------*/
3658typedef struct
3659{
3660 /*Enter UAPSD Info Type, same as tUapsdParams */
3661 WDI_EnterUapsdReqinfoType wdiEnterUapsdInfo;
3662 /*Request status callback offered by UMAC - it is called if the current req
3663 has returned PENDING as status; it delivers the status of sending the message
3664 over the BUS */
3665 WDI_ReqStatusCb wdiReqStatusCB;
3666 /*The user data passed in by UMAC, it will be sent back when the above
3667 function pointer will be called */
3668 void* pUserData;
3669}WDI_EnterUapsdReqParamsType;
3670
3671/*---------------------------------------------------------------------------
3672 WDI_UpdateUapsdReqinfoType
3673 Update UAPSD parameters passed to WDA from UMAC
3674---------------------------------------------------------------------------*/
3675typedef struct
3676{
3677 wpt_uint8 ucSTAIdx;
3678 wpt_uint8 ucUapsdACMask;
3679 wpt_uint32 uMaxSpLen;
3680}WDI_UpdateUapsdReqinfoType;
3681
3682/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003683 WDI_ExitUapsdReqinfoType
3684 Exit UAPSD parameters passed to WDA from UMAC
3685---------------------------------------------------------------------------*/
3686typedef struct
3687{
3688 wpt_uint8 bssIdx;
3689}WDI_ExitUapsdReqinfoType;
3690
3691/*---------------------------------------------------------------------------
3692 WDI_ExitUapsdReqParamsType
3693 Exit UAPSD parameters passed to WDI from WDA
3694---------------------------------------------------------------------------*/
3695typedef struct
3696{
3697 /*Exit UAPSD Info Type, same as tUapsdParams */
3698 WDI_ExitUapsdReqinfoType wdiExitUapsdInfo;
3699 /*Request status callback offered by UMAC - it is called if the current req
3700 has returned PENDING as status; it delivers the status of sending the message
3701 over the BUS */
3702 WDI_ReqStatusCb wdiReqStatusCB;
3703 /*The user data passed in by UMAC, it will be sent back when the above
3704 function pointer will be called */
3705 void* pUserData;
3706}WDI_ExitUapsdReqParamsType;
3707
3708/*---------------------------------------------------------------------------
3709 WDI_ExitUapsdRspParamsType
3710 Exit UAPSD parameters passed from WDI to WDA
3711---------------------------------------------------------------------------*/
3712typedef struct
3713{
3714 /*Status of the response*/
3715 WDI_Status wdiStatus;
3716
3717 /*BssIDX of the session*/
3718 wpt_uint8 bssIdx;
3719}WDI_ExitUapsdRspParamsType;
3720
3721/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003722 WDI_UpdateUapsdReqParamsType
3723 Update UAPSD parameters passed to WDI form WDA
3724---------------------------------------------------------------------------*/
3725typedef struct
3726{
3727 /*Update UAPSD Info Type, same as tUpdateUapsdParams */
3728 WDI_UpdateUapsdReqinfoType wdiUpdateUapsdInfo;
3729 /*Request status callback offered by UMAC - it is called if the current req
3730 has returned PENDING as status; it delivers the status of sending the message
3731 over the BUS */
3732 WDI_ReqStatusCb wdiReqStatusCB;
3733 /*The user data passed in by UMAC, it will be sent back when the above
3734 function pointer will be called */
3735 void* pUserData;
3736}WDI_UpdateUapsdReqParamsType;
3737
3738/*---------------------------------------------------------------------------
3739 WDI_ConfigureRxpFilterReqParamsType
3740 RXP filter parameters passed to WDI form WDA
3741---------------------------------------------------------------------------*/
3742typedef struct
3743{
3744 /* Mode of Mcast and Bcast filters configured */
3745 wpt_uint8 ucSetMcstBcstFilterSetting;
3746
3747 /* Mcast Bcast Filters enable/disable*/
3748 wpt_uint8 ucSetMcstBcstFilter;
3749}WDI_RxpFilterReqParamsType;
3750
3751typedef struct
3752{
3753 /* Rxp Filter */
3754 WDI_RxpFilterReqParamsType wdiRxpFilterParam;
3755
3756 /*Request status callback offered by UMAC - it is called if the current req
3757 has returned PENDING as status; it delivers the status of sending the message
3758 over the BUS */
3759 WDI_ReqStatusCb wdiReqStatusCB;
3760 /*The user data passed in by UMAC, it will be sent back when the above
3761 function pointer will be called */
3762 void* pUserData;
3763}WDI_ConfigureRxpFilterReqParamsType;
3764
3765/*---------------------------------------------------------------------------
3766 WDI_BeaconFilterInfoType
3767 Beacon Filtering data structures passed to WDA form UMAC
3768---------------------------------------------------------------------------*/
3769typedef struct
3770{
3771 wpt_uint16 usCapabilityInfo;
3772 wpt_uint16 usCapabilityMask;
3773 wpt_uint16 usBeaconInterval;
3774 wpt_uint16 usIeNum;
Madan Mohan Koyyalamudia84edda2012-10-15 14:58:25 -07003775 wpt_uint8 bssIdx;
3776 wpt_uint8 reserved;
Jeff Johnson295189b2012-06-20 16:38:30 -07003777}WDI_BeaconFilterInfoType;
3778
3779/*---------------------------------------------------------------------------
3780 WDI_BeaconFilterReqParamsType
3781 Beacon Filtering parameters passed to WDI form WDA
3782---------------------------------------------------------------------------*/
3783typedef struct
3784{
3785 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
3786 WDI_BeaconFilterInfoType wdiBeaconFilterInfo;
3787 /*Beacon Filter(s) follow the "usIeNum" field, hence the array to ease the
3788 copy of params from WDA to WDI */
3789 wpt_uint8 aFilters[WDI_BEACON_FILTER_LEN];
3790 /*Request status callback offered by UMAC - it is called if the current req
3791 has returned PENDING as status; it delivers the status of sending the message
3792 over the BUS */
3793 WDI_ReqStatusCb wdiReqStatusCB;
3794 /*The user data passed in by UMAC, it will be sent back when the above
3795 function pointer will be called */
3796 void* pUserData;
3797}WDI_BeaconFilterReqParamsType;
3798
3799/*---------------------------------------------------------------------------
3800 WDI_RemBeaconFilterInfoType
3801 Beacon Filtering data structures (to be reomoved) passed to WDA form UMAC
3802---------------------------------------------------------------------------*/
3803typedef struct
3804{
3805 wpt_uint8 ucIeCount;
3806 wpt_uint8 ucRemIeId[1];
3807}WDI_RemBeaconFilterInfoType;
3808
3809/*---------------------------------------------------------------------------
3810 WDI_RemBeaconFilterReqParamsType
3811 Beacon Filtering parameters (to be reomoved)passed to WDI form WDA
3812---------------------------------------------------------------------------*/
3813typedef struct
3814{
3815 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
3816 WDI_RemBeaconFilterInfoType wdiBeaconFilterInfo;
3817 /*Request status callback offered by UMAC - it is called if the current req
3818 has returned PENDING as status; it delivers the status of sending the message
3819 over the BUS */
3820 WDI_ReqStatusCb wdiReqStatusCB;
3821 /*The user data passed in by UMAC, it will be sent back when the above
3822 function pointer will be called */
3823 void* pUserData;
3824}WDI_RemBeaconFilterReqParamsType;
3825
3826/*---------------------------------------------------------------------------
3827 WDI_RSSIThresholdsType
3828 RSSI thresholds data structures (to be reomoved) passed to WDA form UMAC
3829---------------------------------------------------------------------------*/
3830typedef struct
3831{
3832 wpt_int8 ucRssiThreshold1 : 8;
3833 wpt_int8 ucRssiThreshold2 : 8;
3834 wpt_int8 ucRssiThreshold3 : 8;
3835 wpt_uint8 bRssiThres1PosNotify : 1;
3836 wpt_uint8 bRssiThres1NegNotify : 1;
3837 wpt_uint8 bRssiThres2PosNotify : 1;
3838 wpt_uint8 bRssiThres2NegNotify : 1;
3839 wpt_uint8 bRssiThres3PosNotify : 1;
3840 wpt_uint8 bRssiThres3NegNotify : 1;
3841 wpt_uint8 bReserved10 : 2;
3842} WDI_RSSIThresholdsType;
3843
3844/*---------------------------------------------------------------------------
3845 WDI_SetRSSIThresholdsReqParamsType
3846 RSSI thresholds parameters (to be reomoved)passed to WDI form WDA
3847---------------------------------------------------------------------------*/
3848typedef struct
3849{
3850 /*RSSI thresholds Info Type, same as WDI_RSSIThresholds */
3851 WDI_RSSIThresholdsType wdiRSSIThresholdsInfo;
3852 /*Request status callback offered by UMAC - it is called if the current req
3853 has returned PENDING as status; it delivers the status of sending the message
3854 over the BUS */
3855 WDI_ReqStatusCb wdiReqStatusCB;
3856 /*The user data passed in by UMAC, it will be sent back when the above
3857 function pointer will be called */
3858 void* pUserData;
3859}WDI_SetRSSIThresholdsReqParamsType;
3860
3861/*---------------------------------------------------------------------------
3862 WDI_HostOffloadReqType
3863 host offload info passed to WDA form UMAC
3864---------------------------------------------------------------------------*/
3865#ifdef WLAN_NS_OFFLOAD
3866typedef struct
3867{
3868 wpt_uint8 srcIPv6Addr[16];
3869 wpt_uint8 selfIPv6Addr[16];
3870 //Only support 2 possible Network Advertisement IPv6 address
3871 wpt_uint8 targetIPv6Addr1[16];
3872 wpt_uint8 targetIPv6Addr2[16];
3873 wpt_uint8 selfMacAddr[6];
3874 wpt_uint8 srcIPv6AddrValid : 1;
3875 wpt_uint8 targetIPv6Addr1Valid : 1;
3876 wpt_uint8 targetIPv6Addr2Valid : 1;
Gopichand Nakkala746a9452013-06-11 12:45:54 +05303877 wpt_uint8 slotIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003878} WDI_NSOffloadParams;
3879#endif //WLAN_NS_OFFLOAD
3880
3881typedef struct
3882{
3883 wpt_uint8 ucOffloadType;
3884 wpt_uint8 ucEnableOrDisable;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003885 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07003886 union
3887 {
3888 wpt_uint8 aHostIpv4Addr [4];
3889 wpt_uint8 aHostIpv6Addr [16];
3890 } params;
3891} WDI_HostOffloadReqType;
3892
3893/*---------------------------------------------------------------------------
3894 WDI_HostOffloadReqParamsType
3895 host offload info passed to WDI form WDA
3896---------------------------------------------------------------------------*/
3897typedef struct
3898{
3899 /*Host offload Info Type, same as tHalHostOffloadReq */
3900 WDI_HostOffloadReqType wdiHostOffloadInfo;
3901#ifdef WLAN_NS_OFFLOAD
3902 WDI_NSOffloadParams wdiNsOffloadParams;
3903#endif //WLAN_NS_OFFLOAD
3904 /*Request status callback offered by UMAC - it is called if the current req
3905 has returned PENDING as status; it delivers the status of sending the message
3906 over the BUS */
3907 WDI_ReqStatusCb wdiReqStatusCB;
3908 /*The user data passed in by UMAC, it will be sent back when the above
3909 function pointer will be called */
3910 void* pUserData;
3911}WDI_HostOffloadReqParamsType;
3912
3913/*---------------------------------------------------------------------------
3914 WDI_KeepAliveReqType
3915 Keep Alive info passed to WDA form UMAC
3916---------------------------------------------------------------------------*/
3917typedef struct
3918{
3919 wpt_uint8 ucPacketType;
3920 wpt_uint32 ucTimePeriod;
3921 wpt_uint8 aHostIpv4Addr[4];
3922 wpt_uint8 aDestIpv4Addr[4];
3923 wpt_uint8 aDestMacAddr[6];
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003924 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07003925} WDI_KeepAliveReqType;
3926
3927/*---------------------------------------------------------------------------
3928 WDI_KeepAliveReqParamsType
3929 Keep Alive passed to WDI form WDA
3930---------------------------------------------------------------------------*/
3931typedef struct
3932{
3933 /* Keep Alive Info Type, same as tHalKeepAliveReq */
3934 WDI_KeepAliveReqType wdiKeepAliveInfo;
3935 /*Request status callback offered by UMAC - it is called if the current req
3936 has returned PENDING as status; it delivers the status of sending the message
3937 over the BUS */
3938 WDI_ReqStatusCb wdiReqStatusCB;
3939 /*The user data passed in by UMAC, it will be sent back when the above
3940 function pointer will be called */
3941 void* pUserData;
3942}WDI_KeepAliveReqParamsType;
3943
3944/*---------------------------------------------------------------------------
3945 WDI_WowlAddBcPtrnInfoType
3946 Wowl add ptrn info passed to WDA form UMAC
3947---------------------------------------------------------------------------*/
3948typedef struct
3949{
3950 wpt_uint8 ucPatternId; // Pattern ID
3951 // Pattern byte offset from beginning of the 802.11 packet to start of the
3952 // wake-up pattern
3953 wpt_uint8 ucPatternByteOffset;
3954 wpt_uint8 ucPatternSize; // Non-Zero Pattern size
3955 wpt_uint8 ucPattern[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern
3956 wpt_uint8 ucPatternMaskSize; // Non-zero pattern mask size
3957 wpt_uint8 ucPatternMask[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern mask
3958 wpt_uint8 ucPatternExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern
3959 wpt_uint8 ucPatternMaskExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern mask
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003960 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07003961} WDI_WowlAddBcPtrnInfoType;
3962
3963/*---------------------------------------------------------------------------
3964 WDI_WowlAddBcPtrnReqParamsType
3965 Wowl add ptrn info passed to WDI form WDA
3966---------------------------------------------------------------------------*/
3967typedef struct
3968{
3969 /*Wowl add ptrn Info Type, same as tpSirWowlAddBcastPtrn */
3970 WDI_WowlAddBcPtrnInfoType wdiWowlAddBcPtrnInfo;
3971 /*Request status callback offered by UMAC - it is called if the current req
3972 has returned PENDING as status; it delivers the status of sending the message
3973 over the BUS */
3974 WDI_ReqStatusCb wdiReqStatusCB;
3975 /*The user data passed in by UMAC, it will be sent back when the above
3976 function pointer will be called */
3977 void* pUserData;
3978}WDI_WowlAddBcPtrnReqParamsType;
3979
3980/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003981 WDI_WowlAddBcPtrnRspParamsType
3982 Wowl add ptrn info passed from WDI to WDA
3983---------------------------------------------------------------------------*/
3984typedef struct
3985{
3986 /*Status of the response*/
3987 WDI_Status wdiStatus;
3988 /*BssIDX of the session*/
3989 wpt_uint8 bssIdx;
3990}WDI_WowlAddBcPtrnRspParamsType;
3991
3992/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003993 WDI_WowlDelBcPtrnInfoType
3994 Wowl add ptrn info passed to WDA form UMAC
3995---------------------------------------------------------------------------*/
3996typedef struct
3997{
3998 /* Pattern ID of the wakeup pattern to be deleted */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003999 wpt_uint8 ucPatternId;
4000 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004001} WDI_WowlDelBcPtrnInfoType;
4002
4003/*---------------------------------------------------------------------------
4004 WDI_WowlDelBcPtrnReqParamsType
4005 Wowl add ptrn info passed to WDI form WDA
4006---------------------------------------------------------------------------*/
4007typedef struct
4008{
4009 /*Wowl delete ptrn Info Type, same as WDI_WowlDelBcastPtrn */
4010 WDI_WowlDelBcPtrnInfoType wdiWowlDelBcPtrnInfo;
4011 /*Request status callback offered by UMAC - it is called if the current req
4012 has returned PENDING as status; it delivers the status of sending the message
4013 over the BUS */
4014 WDI_ReqStatusCb wdiReqStatusCB;
4015 /*The user data passed in by UMAC, it will be sent back when the above
4016 function pointer will be called */
4017 void* pUserData;
4018}WDI_WowlDelBcPtrnReqParamsType;
4019
4020/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004021 WDI_WowlDelBcPtrnRspParamsType
4022 Wowl Del ptrn info passed from WDI to WDA
4023---------------------------------------------------------------------------*/
4024typedef struct
4025{
4026 /*Status of the response*/
4027 WDI_Status wdiStatus;
4028 /*BssIDX of the session*/
4029 wpt_uint8 bssIdx;
4030}WDI_WowlDelBcPtrnRspParamsType;
4031
4032/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004033 WDI_WowlEnterInfoType
4034 Wowl enter info passed to WDA form UMAC
4035---------------------------------------------------------------------------*/
4036typedef struct
4037{
4038 /* Enables/disables magic packet filtering */
4039 wpt_uint8 ucMagicPktEnable;
4040
4041 /* Magic pattern */
4042 wpt_macAddr magicPtrn;
4043
4044 /* Enables/disables packet pattern filtering in firmware.
4045 Enabling this flag enables broadcast pattern matching
4046 in Firmware. If unicast pattern matching is also desired,
4047 ucUcastPatternFilteringEnable flag must be set tot true
4048 as well
4049 */
4050 wpt_uint8 ucPatternFilteringEnable;
4051
4052 /* Enables/disables unicast packet pattern filtering.
4053 This flag specifies whether we want to do pattern match
4054 on unicast packets as well and not just broadcast packets.
4055 This flag has no effect if the ucPatternFilteringEnable
4056 (main controlling flag) is set to false
4057 */
4058 wpt_uint8 ucUcastPatternFilteringEnable;
4059
4060 /* This configuration is valid only when magicPktEnable=1.
4061 * It requests hardware to wake up when it receives the
4062 * Channel Switch Action Frame.
4063 */
4064 wpt_uint8 ucWowChnlSwitchRcv;
4065
4066 /* This configuration is valid only when magicPktEnable=1.
4067 * It requests hardware to wake up when it receives the
4068 * Deauthentication Frame.
4069 */
4070 wpt_uint8 ucWowDeauthRcv;
4071
4072 /* This configuration is valid only when magicPktEnable=1.
4073 * It requests hardware to wake up when it receives the
4074 * Disassociation Frame.
4075 */
4076 wpt_uint8 ucWowDisassocRcv;
4077
4078 /* This configuration is valid only when magicPktEnable=1.
4079 * It requests hardware to wake up when it has missed
4080 * consecutive beacons. This is a hardware register
4081 * configuration (NOT a firmware configuration).
4082 */
4083 wpt_uint8 ucWowMaxMissedBeacons;
4084
4085 /* This configuration is valid only when magicPktEnable=1.
4086 * This is a timeout value in units of microsec. It requests
4087 * hardware to unconditionally wake up after it has stayed
4088 * in WoWLAN mode for some time. Set 0 to disable this feature.
4089 */
4090 wpt_uint8 ucWowMaxSleepUsec;
4091
4092#ifdef WLAN_WAKEUP_EVENTS
4093 /* This configuration directs the WoW packet filtering to look for EAP-ID
4094 * requests embedded in EAPOL frames and use this as a wake source.
4095 */
4096 wpt_uint8 ucWoWEAPIDRequestEnable;
4097
4098 /* This configuration directs the WoW packet filtering to look for EAPOL-4WAY
4099 * requests and use this as a wake source.
4100 */
4101 wpt_uint8 ucWoWEAPOL4WayEnable;
4102
4103 /* This configuration allows a host wakeup on an network scan offload match.
4104 */
4105 wpt_uint8 ucWowNetScanOffloadMatch;
4106
4107 /* This configuration allows a host wakeup on any GTK rekeying error.
4108 */
4109 wpt_uint8 ucWowGTKRekeyError;
4110
4111 /* This configuration allows a host wakeup on BSS connection loss.
4112 */
4113 wpt_uint8 ucWoWBSSConnLoss;
4114#endif // WLAN_WAKEUP_EVENTS
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004115
4116 /* BSSIDX used to find the current session
4117 */
4118 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004119} WDI_WowlEnterInfoType;
4120
4121/*---------------------------------------------------------------------------
4122 WDI_WowlEnterReqParamsType
4123 Wowl enter info passed to WDI form WDA
4124---------------------------------------------------------------------------*/
4125typedef struct
4126{
4127 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
4128 WDI_WowlEnterInfoType wdiWowlEnterInfo;
4129 /*Request status callback offered by UMAC - it is called if the current req
4130 has returned PENDING as status; it delivers the status of sending the message
4131 over the BUS */
4132 WDI_ReqStatusCb wdiReqStatusCB;
4133 /*The user data passed in by UMAC, it will be sent back when the above
4134 function pointer will be called */
4135 void* pUserData;
4136}WDI_WowlEnterReqParamsType;
4137
4138/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004139 WDI_WowlEnterRsqParamsType
4140 Wowl enter info passed from WDI to WDA
4141---------------------------------------------------------------------------*/
4142typedef struct
4143{
4144 /*Status of the response message*/
4145 WDI_Status status;
4146
4147 /* BSSIDX used to find the current session
4148 */
4149 wpt_uint8 bssIdx;
4150}WDI_WowlEnterRspParamsType;
4151
4152/*---------------------------------------------------------------------------
4153 WDI_WowlExitInfoType
4154 Wowl exit info passed to WDA form UMAC
4155 ---------------------------------------------------------------------------*/
4156typedef struct
4157{
4158 /* BSSIDX used to find the current session
4159 */
4160 wpt_uint8 bssIdx;
4161} WDI_WowlExitInfoType;
4162
4163/*---------------------------------------------------------------------------
4164 WDI_WowlExitReqParamsType
4165 Wowl exit info passed to WDI form WDA
4166---------------------------------------------------------------------------*/
4167typedef struct
4168{
4169 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
4170 WDI_WowlExitInfoType wdiWowlExitInfo;
4171 /*Request status callback offered by UMAC - it is called if the current req
4172 has returned PENDING as status; it delivers the status of sending the message
4173 over the BUS */
4174 WDI_ReqStatusCb wdiReqStatusCB;
4175 /*The user data passed in by UMAC, it will be sent back when the above
4176 function pointer will be called */
4177 void* pUserData;
4178}WDI_WowlExitReqParamsType;
4179
4180/*---------------------------------------------------------------------------
4181 WDI_WowlExitRspParamsType
4182 Wowl exit info passed from WDI to WDA
4183---------------------------------------------------------------------------*/
4184typedef struct
4185{
4186 /*Status of the response message*/
4187 WDI_Status status;
4188
4189 /* BSSIDX used to find the current session
4190 */
4191 wpt_uint8 bssIdx;
4192}WDI_WowlExitRspParamsType;
4193
4194/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004195 WDI_ConfigureAppsCpuWakeupStateReqParamsType
4196 Apps Cpu Wakeup State parameters passed to WDI form WDA
4197---------------------------------------------------------------------------*/
4198typedef struct
4199{
4200 /*Depicts the state of the Apps CPU */
4201 wpt_boolean bIsAppsAwake;
4202 /*Request status callback offered by UMAC - it is called if the current req
4203 has returned PENDING as status; it delivers the status of sending the message
4204 over the BUS */
4205 WDI_ReqStatusCb wdiReqStatusCB;
4206 /*The user data passed in by UMAC, it will be sent back when the above
4207 function pointer will be called */
4208 void* pUserData;
4209}WDI_ConfigureAppsCpuWakeupStateReqParamsType;
4210/*---------------------------------------------------------------------------
4211 WDI_FlushAcReqinfoType
4212---------------------------------------------------------------------------*/
4213typedef struct
4214{
4215 // Message Type
4216 wpt_uint16 usMesgType;
4217
4218 // Message Length
4219 wpt_uint16 usMesgLen;
4220
4221 // Station Index. originates from HAL
4222 wpt_uint8 ucSTAId;
4223
4224 // TID for which the transmit queue is being flushed
4225 wpt_uint8 ucTid;
4226
4227}WDI_FlushAcReqinfoType;
4228
4229/*---------------------------------------------------------------------------
4230 WDI_FlushAcReqParamsType
4231---------------------------------------------------------------------------*/
4232typedef struct
4233{
4234 /*AC Info */
4235 WDI_FlushAcReqinfoType wdiFlushAcInfo;
4236
4237 /*Request status callback offered by UMAC - it is called if the current
4238 req has returned PENDING as status; it delivers the status of sending
4239 the message over the BUS */
4240 WDI_ReqStatusCb wdiReqStatusCB;
4241
4242 /*The user data passed in by UMAC, it will be sent back when the above
4243 function pointer will be called */
4244 void* pUserData;
4245}WDI_FlushAcReqParamsType;
4246
4247/*---------------------------------------------------------------------------
4248 WDI_BtAmpEventinfoType
4249 BT-AMP Event Structure
4250---------------------------------------------------------------------------*/
4251typedef struct
4252{
4253 wpt_uint8 ucBtAmpEventType;
4254
4255} WDI_BtAmpEventinfoType;
4256
4257/*---------------------------------------------------------------------------
4258 WDI_BtAmpEventParamsType
4259---------------------------------------------------------------------------*/
4260typedef struct
4261{
4262 /*BT AMP event Info */
4263 WDI_BtAmpEventinfoType wdiBtAmpEventInfo;
4264
4265 /*Request status callback offered by UMAC - it is called if the current
4266 req has returned PENDING as status; it delivers the status of sending
4267 the message over the BUS */
4268 WDI_ReqStatusCb wdiReqStatusCB;
4269
4270 /*The user data passed in by UMAC, it will be sent back when the above
4271 function pointer will be called */
4272 void* pUserData;
4273}WDI_BtAmpEventParamsType;
4274
Jeff Johnsone7245742012-09-05 17:12:55 -07004275#ifdef FEATURE_OEM_DATA_SUPPORT
4276
4277#ifndef OEM_DATA_REQ_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004278#define OEM_DATA_REQ_SIZE 134
Jeff Johnsone7245742012-09-05 17:12:55 -07004279#endif
4280#ifndef OEM_DATA_RSP_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004281#define OEM_DATA_RSP_SIZE 1968
Jeff Johnsone7245742012-09-05 17:12:55 -07004282#endif
4283
4284/*----------------------------------------------------------------------------
4285 WDI_oemDataReqInfoType
4286----------------------------------------------------------------------------*/
4287typedef struct
4288{
4289 wpt_macAddr selfMacAddr;
4290 wpt_uint8 oemDataReq[OEM_DATA_REQ_SIZE];
4291}WDI_oemDataReqInfoType;
4292
4293/*----------------------------------------------------------------------------
4294 WDI_oemDataReqParamsType
4295----------------------------------------------------------------------------*/
4296typedef struct
4297{
4298 /*Request status callback offered by UMAC - it is called if the current
4299 req has returned PENDING as status; it delivers the status of sending
4300 the message over the BUS */
4301 WDI_ReqStatusCb wdiReqStatusCB;
4302
4303 /*The user data passed in by UMAC, it will be sent back when the above
4304 function pointer will be called */
4305 void* pUserData;
4306
4307 /*OEM DATA REQ Info */
4308 WDI_oemDataReqInfoType wdiOemDataReqInfo;
4309
4310}WDI_oemDataReqParamsType;
4311
4312/*----------------------------------------------------------------------------
4313 WDI_oemDataRspParamsType
4314----------------------------------------------------------------------------*/
4315typedef struct
4316{
4317 wpt_uint8 oemDataRsp[OEM_DATA_RSP_SIZE];
4318}WDI_oemDataRspParamsType;
4319
4320#endif /* FEATURE_OEM_DATA_SUPPORT */
Jeff Johnson295189b2012-06-20 16:38:30 -07004321
4322#ifdef WLAN_FEATURE_VOWIFI_11R
4323/*---------------------------------------------------------------------------
4324 WDI_AggrAddTSReqInfoType
4325---------------------------------------------------------------------------*/
4326typedef struct
4327{
4328 /*STA Index*/
4329 wpt_uint8 ucSTAIdx;
4330
4331 /*Identifier for TSpec*/
4332 wpt_uint8 ucTspecIdx;
4333
4334 /*Tspec IE negotiated OTA*/
4335 WDI_TspecIEType wdiTspecIE[WDI_MAX_NO_AC];
4336
4337 /*UAPSD delivery and trigger enabled flags */
4338 wpt_uint8 ucUapsdFlags;
4339
4340 /*SI for each AC*/
4341 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
4342
4343 /*Suspend Interval for each AC*/
4344 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
4345
4346 /*DI for each AC*/
4347 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
4348
4349}WDI_AggrAddTSReqInfoType;
4350
4351
4352/*---------------------------------------------------------------------------
4353 WDI_AggrAddTSReqParamsType
4354---------------------------------------------------------------------------*/
4355typedef struct
4356{
4357 /*TSpec Info */
4358 WDI_AggrAddTSReqInfoType wdiAggrTsInfo;
4359
4360 /*Request status callback offered by UMAC - it is called if the current
4361 req has returned PENDING as status; it delivers the status of sending
4362 the message over the BUS */
4363 WDI_ReqStatusCb wdiReqStatusCB;
4364
4365 /*The user data passed in by UMAC, it will be sent back when the above
4366 function pointer will be called */
4367 void* pUserData;
4368}WDI_AggrAddTSReqParamsType;
4369
4370#endif /* WLAN_FEATURE_VOWIFI_11R */
4371
Jeff Johnson295189b2012-06-20 16:38:30 -07004372/*---------------------------------------------------------------------------
4373 WDI_FTMCommandReqType
4374---------------------------------------------------------------------------*/
4375typedef struct
4376{
4377 /* FTM Command Body length */
4378 wpt_uint32 bodyLength;
4379 /* Actual FTM Command body */
4380 void *FTMCommandBody;
4381}WDI_FTMCommandReqType;
Jeff Johnson295189b2012-06-20 16:38:30 -07004382
4383/*---------------------------------------------------------------------------
4384 WDI_WlanSuspendInfoType
4385---------------------------------------------------------------------------*/
4386typedef struct
4387{
4388 /* Mode of Mcast and Bcast filters configured */
4389 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4390}WDI_WlanSuspendInfoType;
4391
4392/*---------------------------------------------------------------------------
4393 WDI_SuspendParamsType
4394---------------------------------------------------------------------------*/
4395typedef struct
4396{
4397 WDI_WlanSuspendInfoType wdiSuspendParams;
4398
4399 /*Request status callback offered by UMAC - it is called if the current
4400 req has returned PENDING as status; it delivers the status of sending
4401 the message over the BUS */
4402 WDI_ReqStatusCb wdiReqStatusCB;
4403
4404 /*The user data passed in by UMAC, it will be sent back when the above
4405 function pointer will be called */
4406 void* pUserData;
4407
4408}WDI_SuspendParamsType;
4409
4410/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004411 WDI_TrafficStatsType - This is collected for each STA
4412---------------------------------------------------------------------------*/
4413
4414typedef struct
4415{
4416 /* TX stats */
4417 wpt_uint32 txBytesPushed;
4418 wpt_uint32 txPacketsPushed;
4419
4420 /* RX stats */
4421 wpt_uint32 rxBytesRcvd;
4422 wpt_uint32 rxPacketsRcvd;
4423 wpt_uint32 rxTimeTotal;
4424}WDI_TrafficStatsType;
4425
4426typedef struct
4427{
4428 WDI_TrafficStatsType *pTrafficStats;
4429 wpt_uint32 length;
4430 wpt_uint32 duration;
4431
4432 /*Request status callback offered by UMAC - it is called if the current
4433 req has returned PENDING as status; it delivers the status of sending
4434 the message over the BUS */
4435 WDI_ReqStatusCb wdiReqStatusCB;
4436
4437 /*The user data passed in by UMAC, it will be sent back when the above
4438 function pointer will be called */
4439 void* pUserData;
4440}WDI_TrafficStatsIndType;
4441
Chet Lanctot186b5732013-03-18 10:26:30 -07004442#ifdef WLAN_FEATURE_11W
4443typedef struct
4444{
4445
4446 wpt_boolean bExcludeUnencrypt;
4447 wpt_macAddr bssid;
4448 /*Request status callback offered by UMAC - it is called if the current
4449 req has returned PENDING as status; it delivers the status of sending
4450 the message over the BUS */
4451 WDI_ReqStatusCb wdiReqStatusCB;
4452
4453 /*The user data passed in by UMAC, it will be sent back when the above
4454 function pointer will be called */
4455 void* pUserData;
4456}WDI_ExcludeUnencryptIndType;
4457#endif
4458
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004459/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004460 WDI_WlanResumeInfoType
4461---------------------------------------------------------------------------*/
4462typedef struct
4463{
4464 /* Mode of Mcast and Bcast filters configured */
4465 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4466}WDI_WlanResumeInfoType;
4467
4468/*---------------------------------------------------------------------------
4469 WDI_ResumeParamsType
4470---------------------------------------------------------------------------*/
4471typedef struct
4472{
4473 WDI_WlanResumeInfoType wdiResumeParams;
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
4484}WDI_ResumeParamsType;
4485
4486#ifdef WLAN_FEATURE_GTK_OFFLOAD
4487/*---------------------------------------------------------------------------
4488 * WDI_GTK_OFFLOAD_REQ
4489 *--------------------------------------------------------------------------*/
4490
4491typedef struct
4492{
4493 wpt_uint32 ulFlags; /* optional flags */
4494 wpt_uint8 aKCK[16]; /* Key confirmation key */
4495 wpt_uint8 aKEK[16]; /* key encryption key */
4496 wpt_uint64 ullKeyReplayCounter; /* replay counter */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004497 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004498} WDI_GtkOffloadReqParams;
4499
4500typedef struct
4501{
4502 WDI_GtkOffloadReqParams gtkOffloadReqParams;
4503
4504 /*Request status callback offered by UMAC - it is called if the current
4505 req has returned PENDING as status; it delivers the status of sending
4506 the message over the BUS */
4507 WDI_ReqStatusCb wdiReqStatusCB;
4508
4509 /*The user data passed in by UMAC, it will be sent back when the above
4510 function pointer will be called */
4511 void* pUserData;
4512} WDI_GtkOffloadReqMsg;
4513
4514/*---------------------------------------------------------------------------
4515 * WDI_GTK_OFFLOAD_RSP
4516 *--------------------------------------------------------------------------*/
4517typedef struct
4518{
4519 /* success or failure */
4520 wpt_uint32 ulStatus;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004521 /*BssIdx of the response */
4522 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004523} WDI_GtkOffloadRspParams;
4524
4525typedef struct
4526{
4527 WDI_GtkOffloadRspParams gtkOffloadRspParams;
4528
4529 /*Request status callback offered by UMAC - it is called if the current
4530 req has returned PENDING as status; it delivers the status of sending
4531 the message over the BUS */
4532 WDI_ReqStatusCb wdiReqStatusCB;
4533
4534 /*The user data passed in by UMAC, it will be sent back when the above
4535 function pointer will be called */
4536 void* pUserData;
4537} WDI_GtkOffloadRspMsg;
4538
4539
4540/*---------------------------------------------------------------------------
4541* WDI_GTK_OFFLOAD_GETINFO_REQ
4542*--------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004543typedef struct
4544{
4545 /*BssIdx of the response */
4546 wpt_macAddr bssId;
4547} WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004548
4549typedef struct
4550{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004551
4552 WDI_GtkOffloadGetInfoReqParams WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004553 /*Request status callback offered by UMAC - it is called if the current
4554 req has returned PENDING as status; it delivers the status of sending
4555 the message over the BUS */
4556 WDI_ReqStatusCb wdiReqStatusCB;
4557
4558 /*The user data passed in by UMAC, it will be sent back when the above
4559 function pointer will be called */
4560 void* pUserData;
4561} WDI_GtkOffloadGetInfoReqMsg;
4562
4563/*---------------------------------------------------------------------------
4564* WDI_GTK_OFFLOAD_GETINFO_RSP
4565*--------------------------------------------------------------------------*/
4566typedef struct
4567{
4568 wpt_uint32 ulStatus; /* success or failure */
4569 wpt_uint64 ullKeyReplayCounter; /* current replay counter value */
4570 wpt_uint32 ulTotalRekeyCount; /* total rekey attempts */
4571 wpt_uint32 ulGTKRekeyCount; /* successful GTK rekeys */
4572 wpt_uint32 ulIGTKRekeyCount; /* successful iGTK rekeys */
Gopichand Nakkala870cbae2013-03-15 21:16:09 +05304573 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004574} WDI_GtkOffloadGetInfoRspParams;
4575
4576typedef struct
4577{
4578 WDI_GtkOffloadGetInfoRspParams gtkOffloadGetInfoRspParams;
4579
4580 /*Request status callback offered by UMAC - it is called if the current
4581 req has returned PENDING as status; it delivers the status of sending
4582 the message over the BUS */
4583 WDI_ReqStatusCb wdiReqStatusCB;
4584
4585 /*The user data passed in by UMAC, it will be sent back when the above
4586 function pointer will be called */
4587 void* pUserData;
4588} WDI_GtkOffloadGetInfoRspMsg;
4589#endif // WLAN_FEATURE_GTK_OFFLOAD
4590
4591/*---------------------------------------------------------------------------
4592 WDI_SuspendResumeRspParamsType
4593---------------------------------------------------------------------------*/
4594typedef struct
4595{
4596 /*Status of the response*/
4597 WDI_Status wdiStatus;
4598}WDI_SuspendResumeRspParamsType;
4599
Leo Chang9056f462013-08-01 19:21:11 -07004600#ifdef FEATURE_WLAN_LPHB
4601/*---------------------------------------------------------------------------
4602 WDI Low Power Heart Beat Config request
4603 Copy from sirApi.h to avoid compile error
4604---------------------------------------------------------------------------*/
4605#define WDI_LPHB_FILTER_LEN 64
4606
4607typedef enum
4608{
4609 WDI_LPHB_SET_EN_PARAMS_INDID = 0x0001,
4610 WDI_LPHB_SET_TCP_PARAMS_INDID,
4611 WDI_LPHB_SET_TCP_PKT_FILTER_INDID,
4612 WDI_LPHB_SET_UDP_PARAMS_INDID,
4613 WDI_LPHB_SET_UDP_PKT_FILTER_INDID,
4614 WDI_LPHB_SET_NETWORK_INFO_INDID,
4615} WDI_LPHBIndType;
4616
4617typedef struct
4618{
4619 wpt_uint8 enable;
4620 wpt_uint8 item;
4621 wpt_uint8 session;
4622} WDI_LPHBEnableStruct;
4623
4624typedef struct
4625{
4626 wpt_uint32 srv_ip;
4627 wpt_uint32 dev_ip;
4628 wpt_uint16 src_port;
4629 wpt_uint16 dst_port;
4630 wpt_uint16 timeout;
4631 wpt_uint8 session;
4632 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
Leo Changd9df8aa2013-09-26 13:32:26 -07004633 wpt_uint16 timePeriodSec; // in seconds
4634 wpt_uint32 tcpSn;
Leo Chang9056f462013-08-01 19:21:11 -07004635} WDI_LPHBTcpParamStruct;
4636
4637typedef struct
4638{
4639 wpt_uint16 length;
4640 wpt_uint8 offset;
4641 wpt_uint8 session;
4642 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
4643} WDI_LPHBTcpFilterStruct;
4644
4645typedef struct
4646{
4647 wpt_uint32 srv_ip;
4648 wpt_uint32 dev_ip;
4649 wpt_uint16 src_port;
4650 wpt_uint16 dst_port;
4651 wpt_uint16 interval;
4652 wpt_uint16 timeout;
4653 wpt_uint8 session;
4654 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
4655} WDI_LPHBUdpParamStruct;
4656
4657typedef struct
4658{
4659 wpt_uint16 length;
4660 wpt_uint8 offset;
4661 wpt_uint8 session;
4662 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
4663} WDI_LPHBUdpFilterStruct;
4664
4665typedef struct
4666{
4667 wpt_uint16 cmd;
4668 wpt_uint16 dummy;
4669 union
4670 {
4671 WDI_LPHBEnableStruct lphbEnableReq;
4672 WDI_LPHBTcpParamStruct lphbTcpParamReq;
4673 WDI_LPHBTcpFilterStruct lphbTcpFilterReq;
4674 WDI_LPHBUdpParamStruct lphbUdpParamReq;
4675 WDI_LPHBUdpFilterStruct lphbUdpFilterReq;
4676 } params;
4677} WDI_LPHBReq;
4678#endif /* FEATURE_WLAN_LPHB */
Jeff Johnson295189b2012-06-20 16:38:30 -07004679
Jeff Johnson295189b2012-06-20 16:38:30 -07004680/*---------------------------------------------------------------------------
4681 WDI_AuthType
4682---------------------------------------------------------------------------*/
4683typedef enum
4684{
4685 WDI_AUTH_TYPE_ANY = 0,
4686
4687 WDI_AUTH_TYPE_NONE,
4688 WDI_AUTH_TYPE_OPEN_SYSTEM,
4689 WDI_AUTH_TYPE_SHARED_KEY,
4690
4691 WDI_AUTH_TYPE_WPA,
4692 WDI_AUTH_TYPE_WPA_PSK,
4693 WDI_AUTH_TYPE_WPA_NONE,
4694
4695 WDI_AUTH_TYPE_RSN,
4696 WDI_AUTH_TYPE_RSN_PSK,
4697 WDI_AUTH_TYPE_FT_RSN,
4698 WDI_AUTH_TYPE_FT_RSN_PSK,
4699 WDI_AUTH_TYPE_WAPI_WAI_CERTIFICATE,
4700 WDI_AUTH_TYPE_WAPI_WAI_PSK,
4701 WDI_AUTH_TYPE_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
4702
4703}WDI_AuthType;
4704
4705/*---------------------------------------------------------------------------
4706 WDI_EdType
4707---------------------------------------------------------------------------*/
4708typedef enum
4709{
4710 WDI_ED_ANY = 0,
4711 WDI_ED_NONE,
4712 WDI_ED_WEP40,
4713 WDI_ED_WEP104,
4714 WDI_ED_TKIP,
4715 WDI_ED_CCMP,
4716 WDI_ED_WPI,
4717 WDI_ED_AES_128_CMAC,
4718 WDI_ED_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
4719} WDI_EdType;
4720
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08004721#ifdef FEATURE_WLAN_SCAN_PNO
4722
4723/*Max number of channels for a given network supported by PNO*/
4724#define WDI_PNO_MAX_NETW_CHANNELS 26
4725
4726/*Max number of channels for a given network supported by PNO*/
4727#define WDI_PNO_MAX_NETW_CHANNELS_EX 60
4728
4729/*The max number of programable networks for PNO*/
4730#define WDI_PNO_MAX_SUPP_NETWORKS 16
4731
4732/*The max number of scan timers programable in Riva*/
4733#define WDI_PNO_MAX_SCAN_TIMERS 10
4734
4735#define WDI_PNO_MAX_PROBE_SIZE 450
Jeff Johnson295189b2012-06-20 16:38:30 -07004736
4737/*---------------------------------------------------------------------------
4738 WDI_PNOMode
4739---------------------------------------------------------------------------*/
4740typedef enum
4741{
4742 /*Network offload is to start immediately*/
4743 WDI_PNO_MODE_IMMEDIATE,
4744
4745 /*Network offload is to start on host suspend*/
4746 WDI_PNO_MODE_ON_SUSPEND,
4747
4748 /*Network offload is to start on host resume*/
4749 WDI_PNO_MODE_ON_RESUME,
4750 WDI_PNO_MODE_MAX = 0xFFFFFFFF
4751} WDI_PNOMode;
4752
4753/* SSID broadcast type */
4754typedef enum
4755{
4756 WDI_BCAST_UNKNOWN = 0,
4757 WDI_BCAST_NORMAL = 1,
4758 WDI_BCAST_HIDDEN = 2,
4759
4760 WDI_BCAST_TYPE_MAX = 0xFFFFFFFF
4761} WDI_SSIDBcastType;
4762
4763/*---------------------------------------------------------------------------
4764 WDI_NetworkType
4765---------------------------------------------------------------------------*/
4766typedef struct
4767{
4768 /*The SSID of the preferred network*/
4769 WDI_MacSSid ssId;
4770
4771 /*The authentication method of the preferred network*/
4772 WDI_AuthType wdiAuth;
4773
4774 /*The encryption method of the preferred network*/
4775 WDI_EdType wdiEncryption;
4776
4777 /*SSID broadcast type, normal, hidden or unknown*/
4778 WDI_SSIDBcastType wdiBcastNetworkType;
4779
4780 /*channel count - 0 for all channels*/
4781 wpt_uint8 ucChannelCount;
4782
4783 /*the actual channels*/
Madan Mohan Koyyalamudi4bb5d2e2013-09-26 17:36:46 +05304784 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
Jeff Johnson295189b2012-06-20 16:38:30 -07004785
4786 /*rssi threshold that a network must meet to be considered, 0 - for any*/
4787 wpt_uint8 rssiThreshold;
4788} WDI_NetworkType;
4789
4790
4791/*---------------------------------------------------------------------------
4792 WDI_ScanTimer
4793---------------------------------------------------------------------------*/
4794typedef struct
4795{
4796 /*The timer value*/
4797 wpt_uint32 uTimerValue;
4798
4799 /*The amount of time we should be repeating the interval*/
4800 wpt_uint32 uTimerRepeat;
4801} WDI_ScanTimer;
4802
4803/*---------------------------------------------------------------------------
4804 WDI_ScanTimersType
4805---------------------------------------------------------------------------*/
4806typedef struct
4807{
4808 /*The number of value pair intervals present in the array*/
4809 wpt_uint8 ucScanTimersCount;
4810
4811 /*The time-repeat value pairs*/
4812 WDI_ScanTimer aTimerValues[WDI_PNO_MAX_SCAN_TIMERS];
4813} WDI_ScanTimersType;
4814
4815/*---------------------------------------------------------------------------
4816 WDI_PNOScanReqType
4817---------------------------------------------------------------------------*/
4818typedef struct
4819{
4820 /*Enable or disable PNO feature*/
4821 wpt_uint8 bEnable;
4822
4823 /*PNO mode requested*/
4824 WDI_PNOMode wdiModePNO;
4825
4826 /*Network count*/
4827 wpt_uint8 ucNetworksCount;
4828
4829 /*The networks to look for*/
4830 WDI_NetworkType aNetworks[WDI_PNO_MAX_SUPP_NETWORKS];
4831
4832 /*Scan timer intervals*/
4833 WDI_ScanTimersType scanTimers;
4834
4835 /*Probe template for 2.4GHz band*/
4836 wpt_uint16 us24GProbeSize;
4837 wpt_uint8 a24GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
4838
4839 /*Probe template for 5GHz band*/
4840 wpt_uint16 us5GProbeSize;
4841 wpt_uint8 a5GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
4842} WDI_PNOScanReqType;
4843
4844/*---------------------------------------------------------------------------
4845 WDI_PNOScanReqParamsType
4846 PNO info passed to WDI form WDA
4847---------------------------------------------------------------------------*/
4848typedef struct
4849{
4850 /* PNO Info Type, same as tPrefNetwListParams */
4851 WDI_PNOScanReqType wdiPNOScanInfo;
4852 /* Request status callback offered by UMAC - it is called if the current req
4853 has returned PENDING as status; it delivers the status of sending the message
4854 over the BUS */
4855 WDI_ReqStatusCb wdiReqStatusCB;
4856 /* The user data passed in by UMAC, it will be sent back when the above
4857 function pointer will be called */
4858 void* pUserData;
4859} WDI_PNOScanReqParamsType;
4860
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08004861/*---------------------------------------------------------------------------
4862 WDI_SetRssiFilterReqParamsType
4863 PNO info passed to WDI form WDA
4864---------------------------------------------------------------------------*/
4865typedef struct
4866{
4867 /* RSSI Threshold */
4868 wpt_uint8 rssiThreshold;
4869 /* Request status callback offered by UMAC - it is called if the current req
4870 has returned PENDING as status; it delivers the status of sending the message
4871 over the BUS */
4872 WDI_ReqStatusCb wdiReqStatusCB;
4873 /* The user data passed in by UMAC, it will be sent back when the above
4874 function pointer will be called */
4875 void* pUserData;
4876} WDI_SetRssiFilterReqParamsType;
4877
4878/*---------------------------------------------------------------------------
4879 WDI_UpdateScanParamsInfo
4880---------------------------------------------------------------------------*/
4881typedef struct
4882{
4883 /*Is 11d enabled*/
4884 wpt_uint8 b11dEnabled;
4885
4886 /*Was UMAc able to find the regulatory domain*/
4887 wpt_uint8 b11dResolved;
4888
4889 /*Number of channel allowed in the regulatory domain*/
4890 wpt_uint8 ucChannelCount;
4891
4892 /*The actual channels allowed in the regulatory domain*/
4893 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
4894
4895 /*Passive min channel time*/
4896 wpt_uint16 usPassiveMinChTime;
4897
4898 /*Passive max channel time*/
4899 wpt_uint16 usPassiveMaxChTime;
4900
4901 /*Active min channel time*/
4902 wpt_uint16 usActiveMinChTime;
4903
4904 /*Active max channel time*/
4905 wpt_uint16 usActiveMaxChTime;
4906
4907 /*channel bonding info*/
4908 wpt_uint8 cbState;
4909} WDI_UpdateScanParamsInfo;
4910
4911/*---------------------------------------------------------------------------
4912 WDI_UpdateScanParamsInfoType
4913 UpdateScanParams info passed to WDI form WDA
4914---------------------------------------------------------------------------*/
4915typedef struct
4916{
4917 /* PNO Info Type, same as tUpdateScanParams */
4918 WDI_UpdateScanParamsInfo wdiUpdateScanParamsInfo;
4919 /* Request status callback offered by UMAC - it is called if the current req
4920 has returned PENDING as status; it delivers the status of sending the message
4921 over the BUS */
4922 WDI_ReqStatusCb wdiReqStatusCB;
4923 /* The user data passed in by UMAC, it will be sent back when the above
4924 function pointer will be called */
4925 void* pUserData;
4926} WDI_UpdateScanParamsInfoType;
4927#endif //FEATURE_WLAN_SCAN_PNO
4928
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004929#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
4930
Varun Reddy Yeturu52231ea2014-02-06 12:00:56 -08004931#define WDI_ROAM_SCAN_MAX_CHANNELS 80
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08004932#define WDI_ROAM_SCAN_MAX_PROBE_SIZE 450
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08004933
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004934typedef struct
4935{
4936 /*The SSID of the preferred network*/
4937 WDI_MacSSid ssId;
4938 wpt_uint8 currAPbssid[WDI_MAC_ADDR_LEN];
4939
4940 /*The authentication method of the preferred network*/
4941 WDI_AuthType authentication;
4942
4943 /*The encryption method of the preferred network*/
4944 WDI_EdType encryption;
4945 WDI_EdType mcencryption;
4946
4947 /*SSID broadcast type, normal, hidden or unknown*/
4948 //WDI_SSIDBcastType wdiBcastNetworkType;
4949
4950 /*channel count - 0 for all channels*/
4951 wpt_uint8 ChannelCount;
4952
4953 /*the actual channels*/
4954 wpt_uint8 ChannelCache[WDI_ROAM_SCAN_MAX_CHANNELS];
4955
4956} WDI_RoamNetworkType;
4957
4958typedef struct WDIMobilityDomainInfo
4959{
4960 wpt_uint8 mdiePresent;
4961 wpt_uint16 mobilityDomain;
4962} WDI_MobilityDomainInfo;
4963
4964/*---------------------------------------------------------------------------
4965 WDI_RoamOffloadScanInfo
4966---------------------------------------------------------------------------*/
4967typedef struct
4968{
4969 wpt_boolean RoamScanOffloadEnabled;
Sameer Thalappil4ae66ec2013-11-05 14:17:35 -08004970 wpt_boolean MAWCEnabled;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004971 wpt_uint8 LookupThreshold;
Varun Reddy Yeturu6c5e25c2014-01-09 21:55:37 -08004972 wpt_uint8 RxSensitivityThreshold;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004973 wpt_uint8 RoamRssiDiff;
4974 wpt_uint8 ChannelCacheType;
4975 wpt_uint8 Command;
4976 wpt_uint8 StartScanReason;
4977 wpt_uint16 NeighborScanTimerPeriod;
4978 wpt_uint16 NeighborRoamScanRefreshPeriod;
4979 wpt_uint16 NeighborScanChannelMinTime;
4980 wpt_uint16 NeighborScanChannelMaxTime;
4981 wpt_uint16 EmptyRefreshScanPeriod;
4982 wpt_uint8 ValidChannelCount;
4983 wpt_uint8 ValidChannelList[WDI_ROAM_SCAN_MAX_CHANNELS];
4984 wpt_boolean IsCCXEnabled;
4985 /*Probe template for 2.4GHz band*/
4986 wpt_uint16 us24GProbeSize;
4987 wpt_uint8 a24GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
4988
4989 /*Probe template for 5GHz band*/
4990 wpt_uint16 us5GProbeSize;
4991 wpt_uint8 a5GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07004992 /*LFR BG Scan will currently look for only one network to which it is initially connected.
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004993 * As per requirement, later, the following structure can be used as an array of networks.*/
4994 WDI_RoamNetworkType ConnectedNetwork;
4995 WDI_MobilityDomainInfo MDID;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07004996 wpt_uint8 nProbes;
4997 wpt_uint16 HomeAwayTime;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004998} WDI_RoamOffloadScanInfo;
4999
5000typedef struct
5001{
5002 /* Start Roam Candidate Lookup Offload Back Ground Info Type */
5003 WDI_RoamOffloadScanInfo wdiRoamOffloadScanInfo;
5004 /* Request status callback offered by UMAC - it is called if the current req
5005 has returned PENDING as status; it delivers the status of sending the message
5006 over the BUS */
5007 WDI_ReqStatusCb wdiReqStatusCB;
5008 /* The user data passed in by UMAC, it will be sent back when the above
5009 function pointer will be called */
5010 void* pUserData;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005011} WDI_RoamScanOffloadReqParamsType;
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005012#endif //WLAN_FEATURE_ROAM_SCAN_OFFLOAD
Jeff Johnson295189b2012-06-20 16:38:30 -07005013
5014/*---------------------------------------------------------------------------
Sandeep Puligilla8b8b74b2014-02-10 16:39:05 +05305015 WDI_HT40ObssScanIndType
5016---------------------------------------------------------------------------*/
5017typedef struct
5018{
5019 wpt_uint8 cmdType;
5020 wpt_uint8 scanType;
5021 wpt_uint16 OBSSScanPassiveDwellTime; // In TUs
5022 wpt_uint16 OBSSScanActiveDwellTime; // In TUs
5023 wpt_uint16 BSSChannelWidthTriggerScanInterval; // In seconds
5024 wpt_uint16 OBSSScanPassiveTotalPerChannel; // In TUs
5025 wpt_uint16 OBSSScanActiveTotalPerChannel; // In TUs
5026 wpt_uint16 BSSWidthChannelTransitionDelayFactor;
5027 wpt_uint16 OBSSScanActivityThreshold;
5028 wpt_uint8 selfStaIdx;
5029 wpt_uint8 bssIdx;
5030 wpt_uint8 fortyMHZIntolerent;
5031 wpt_uint8 channelCount;
5032 wpt_uint8 channels[WDI_ROAM_SCAN_MAX_CHANNELS];
5033 wpt_uint8 currentOperatingClass;
5034 wpt_uint16 ieFieldLen;
5035 wpt_uint8 ieField[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
5036} WDI_HT40ObssScanIndType;
5037
5038
5039/*---------------------------------------------------------------------------
5040 WDI_OBSSScanIndParamsType
5041---------------------------------------------------------------------------*/
5042typedef struct
5043{
5044 WDI_HT40ObssScanIndType wdiHT40ObssScanParam;
5045
5046 /*Request status callback offered by UMAC - it is called if the current
5047 req has returned PENDING as status; it delivers the status of sending
5048 the message over the BUS */
5049 WDI_ReqStatusCb wdiReqStatusCB;
5050
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;
5054
5055}WDI_HT40ObssScanParamsType;
5056
5057/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07005058 WDI_UpdateScanParamsInfo
5059---------------------------------------------------------------------------*/
5060typedef struct
5061{
5062 /* Ignore DTIM */
5063 wpt_uint32 uIgnoreDTIM;
5064
5065 /*DTIM Period*/
5066 wpt_uint32 uDTIMPeriod;
5067
5068 /* Listen Interval */
5069 wpt_uint32 uListenInterval;
5070
5071 /* Broadcast Multicas Filter */
5072 wpt_uint32 uBcastMcastFilter;
5073
5074 /* Beacon Early Termination */
5075 wpt_uint32 uEnableBET;
5076
5077 /* Beacon Early Termination Interval */
5078 wpt_uint32 uBETInterval;
5079
Yue Mac24062f2013-05-13 17:01:29 -07005080 /* MAX LI for modulated DTIM */
5081 wpt_uint32 uMaxLIModulatedDTIM;
5082
Jeff Johnson295189b2012-06-20 16:38:30 -07005083} WDI_SetPowerParamsInfo;
5084
5085/*---------------------------------------------------------------------------
5086 WDI_UpdateScanParamsInfoType
5087 UpdateScanParams info passed to WDI form WDA
5088---------------------------------------------------------------------------*/
5089typedef struct
5090{
5091 /* Power params Info Type, same as tSetPowerParamsReq */
5092 WDI_SetPowerParamsInfo wdiSetPowerParamsInfo;
5093 /* Request status callback offered by UMAC - it is called if the current req
5094 has returned PENDING as status; it delivers the status of sending the message
5095 over the BUS */
5096 WDI_ReqStatusCb wdiReqStatusCB;
5097 /* The user data passed in by UMAC, it will be sent back when the above
5098 function pointer will be called */
5099 void* pUserData;
5100}WDI_SetPowerParamsReqParamsType;
5101
5102/*---------------------------------------------------------------------------
5103 WDI_SetTxPerTrackingConfType
5104 Wowl add ptrn info passed to WDA form UMAC
5105---------------------------------------------------------------------------*/
5106typedef struct
5107{
5108 wpt_uint8 ucTxPerTrackingEnable; /* 0: disable, 1:enable */
5109 wpt_uint8 ucTxPerTrackingPeriod; /* Check period, unit is sec. */
5110 wpt_uint8 ucTxPerTrackingRatio; /* (Fail TX packet)/(Total TX packet) ratio, the unit is 10%. */
5111 wpt_uint32 uTxPerTrackingWatermark; /* A watermark of check number, once the tx packet exceed this number, we do the check, default is 5 */
5112} WDI_TxPerTrackingParamType;
5113
5114/*---------------------------------------------------------------------------
5115 WDI_SetTxPerTrackingReqParamsType
5116 Tx PER Tracking parameters passed to WDI from WDA
5117---------------------------------------------------------------------------*/
5118typedef struct
5119{
5120 /* Configurations for Tx PER Tracking */
5121 WDI_TxPerTrackingParamType wdiTxPerTrackingParam;
5122 /*Request status callback offered by UMAC - it is called if the current req
5123 has returned PENDING as status; it delivers the status of sending the message
5124 over the BUS */
5125 WDI_ReqStatusCb wdiReqStatusCB;
5126 /*The user data passed in by UMAC, it will be sent back when the above
5127 function pointer will be called */
5128 void* pUserData;
5129}WDI_SetTxPerTrackingReqParamsType;
5130
5131#ifdef WLAN_FEATURE_PACKET_FILTERING
5132/*---------------------------------------------------------------------------
5133 Packet Filtering Parameters
5134---------------------------------------------------------------------------*/
5135
5136#define WDI_IPV4_ADDR_LEN 4
5137#define WDI_MAC_ADDR_LEN 6
5138#define WDI_MAX_FILTER_TEST_DATA_LEN 8
5139#define WDI_MAX_NUM_MULTICAST_ADDRESS 240
5140#define WDI_MAX_NUM_FILTERS 20
5141#define WDI_MAX_NUM_TESTS_PER_FILTER 10
5142
5143//
5144// Receive Filter Parameters
5145//
5146typedef enum
5147{
5148 WDI_RCV_FILTER_TYPE_INVALID,
5149 WDI_RCV_FILTER_TYPE_FILTER_PKT,
5150 WDI_RCV_FILTER_TYPE_BUFFER_PKT,
5151 WDI_RCV_FILTER_TYPE_MAX_ENUM_SIZE
5152}WDI_ReceivePacketFilterType;
5153
5154typedef enum
5155{
5156 WDI_FILTER_HDR_TYPE_INVALID,
5157 WDI_FILTER_HDR_TYPE_MAC,
5158 WDI_FILTER_HDR_TYPE_ARP,
5159 WDI_FILTER_HDR_TYPE_IPV4,
5160 WDI_FILTER_HDR_TYPE_IPV6,
5161 WDI_FILTER_HDR_TYPE_UDP,
5162 WDI_FILTER_HDR_TYPE_MAX
5163}WDI_RcvPktFltProtocolType;
5164
5165typedef enum
5166{
5167 WDI_FILTER_CMP_TYPE_INVALID,
5168 WDI_FILTER_CMP_TYPE_EQUAL,
5169 WDI_FILTER_CMP_TYPE_MASK_EQUAL,
5170 WDI_FILTER_CMP_TYPE_NOT_EQUAL,
5171 WDI_FILTER_CMP_TYPE_MASK_NOT_EQUAL,
5172 WDI_FILTER_CMP_TYPE_MAX
5173}WDI_RcvPktFltCmpFlagType;
5174
5175typedef struct
5176{
5177 WDI_RcvPktFltProtocolType protocolLayer;
5178 WDI_RcvPktFltCmpFlagType cmpFlag;
5179/* Length of the data to compare */
5180 wpt_uint16 dataLength;
5181/* from start of the respective frame header */
5182 wpt_uint8 dataOffset;
5183 wpt_uint8 reserved; /* Reserved field */
5184/* Data to compare */
5185 wpt_uint8 compareData[WDI_MAX_FILTER_TEST_DATA_LEN];
5186/* Mask to be applied on the received packet data before compare */
5187 wpt_uint8 dataMask[WDI_MAX_FILTER_TEST_DATA_LEN];
5188}WDI_RcvPktFilterFieldParams;
5189
5190typedef struct
5191{
5192 wpt_uint8 filterId;
5193 wpt_uint8 filterType;
5194 wpt_uint32 numFieldParams;
5195 wpt_uint32 coalesceTime;
Jeff Johnsone7245742012-09-05 17:12:55 -07005196 wpt_macAddr selfMacAddr;
5197 wpt_macAddr bssId;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005198 WDI_RcvPktFilterFieldParams paramsData[1];
5199
Jeff Johnson295189b2012-06-20 16:38:30 -07005200}WDI_RcvPktFilterCfgType;
5201
5202typedef struct
5203{
5204 /*Request status callback offered by UMAC - it is called if the current
5205 req has returned PENDING as status; it delivers the status of sending
5206 the message over the BUS */
5207 WDI_ReqStatusCb wdiReqStatusCB;
5208
5209 /*The user data passed in by UMAC, it will be sent back when the above
5210 function pointer will be called */
5211 void* pUserData;
5212
5213 // Variable length packet filter field params
5214 WDI_RcvPktFilterCfgType wdiPktFilterCfg;
5215} WDI_SetRcvPktFilterReqParamsType;
5216
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005217typedef struct
5218{
5219 /*Result of the operation*/
5220 WDI_Status wdiStatus;
5221 /* BSSIDX of the Set Receive Filter
5222 */
5223 wpt_uint8 bssIdx;
5224} WDI_SetRcvPktFilterRspParamsType;
5225
Jeff Johnson295189b2012-06-20 16:38:30 -07005226//
5227// Filter Packet Match Count Parameters
5228//
5229typedef struct
5230{
5231 /*Request status callback offered by UMAC - it is called if the current
5232 req has returned PENDING as status; it delivers the status of sending
5233 the message over the BUS */
5234 WDI_ReqStatusCb wdiReqStatusCB;
5235
5236 /*The user data passed in by UMAC, it will be sent back when the above
5237 function pointer will be called */
5238 void* pUserData;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005239
5240 /* BSSID of the Match count
5241 */
5242 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005243} WDI_RcvFltPktMatchCntReqParamsType;
5244
5245typedef struct
5246{
5247 wpt_uint8 filterId;
5248 wpt_uint32 matchCnt;
5249} WDI_RcvFltPktMatchCnt;
5250
5251typedef struct
5252{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005253 /*Result of the operation*/
5254 WDI_Status wdiStatus;
Jeff Johnson295189b2012-06-20 16:38:30 -07005255
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005256 /* BSSIDX of the Match count response
5257 */
5258 wpt_uint8 bssIdx;
5259
Jeff Johnson295189b2012-06-20 16:38:30 -07005260} WDI_RcvFltPktMatchCntRspParamsType;
5261
Jeff Johnson295189b2012-06-20 16:38:30 -07005262//
5263// Receive Filter Clear Parameters
5264//
5265typedef struct
5266{
5267 wpt_uint32 status; /* only valid for response message */
5268 wpt_uint8 filterId;
Jeff Johnsone7245742012-09-05 17:12:55 -07005269 wpt_macAddr selfMacAddr;
5270 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005271}WDI_RcvFltPktClearParam;
5272
5273typedef struct
5274{
5275 WDI_RcvFltPktClearParam filterClearParam;
5276 /*Request status callback offered by UMAC - it is called if the current
5277 req has returned PENDING as status; it delivers the status of sending
5278 the message over the BUS */
5279 WDI_ReqStatusCb wdiReqStatusCB;
5280
5281 /*The user data passed in by UMAC, it will be sent back when the above
5282 function pointer will be called */
5283 void* pUserData;
5284} WDI_RcvFltPktClearReqParamsType;
5285
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005286typedef struct
5287{
5288 /*Result of the operation*/
5289 WDI_Status wdiStatus;
5290 /* BSSIDX of the Match count response
5291 */
5292 wpt_uint8 bssIdx;
5293
5294} WDI_RcvFltPktClearRspParamsType;
5295
Jeff Johnson295189b2012-06-20 16:38:30 -07005296//
5297// Multicast Address List Parameters
5298//
5299typedef struct
5300{
5301 wpt_uint32 ulMulticastAddrCnt;
5302 wpt_macAddr multicastAddr[WDI_MAX_NUM_MULTICAST_ADDRESS];
Jeff Johnsone7245742012-09-05 17:12:55 -07005303 wpt_macAddr selfMacAddr;
5304 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005305} WDI_RcvFltMcAddrListType;
5306
5307typedef struct
5308{
5309 WDI_RcvFltMcAddrListType mcAddrList;
5310 /*Request status callback offered by UMAC - it is called if the current
5311 req has returned PENDING as status; it delivers the status of sending
5312 the message over the BUS */
5313 WDI_ReqStatusCb wdiReqStatusCB;
5314
5315 /*The user data passed in by UMAC, it will be sent back when the above
5316 function pointer will be called */
5317 void* pUserData;
5318} WDI_RcvFltPktSetMcListReqParamsType;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005319
5320typedef struct
5321{
5322 /*Result of the operation*/
5323 WDI_Status wdiStatus;
5324 /* BSSIDX of the Match count response
5325 */
5326 wpt_uint8 bssIdx;
5327} WDI_RcvFltPktSetMcListRspParamsType;
5328
Jeff Johnson295189b2012-06-20 16:38:30 -07005329#endif // WLAN_FEATURE_PACKET_FILTERING
5330
5331/*---------------------------------------------------------------------------
5332 WDI_HALDumpCmdReqInfoType
5333---------------------------------------------------------------------------*/
5334typedef struct
5335{
5336 /*command*/
5337 wpt_uint32 command;
5338
5339 /*Arguments*/
5340 wpt_uint32 argument1;
5341 wpt_uint32 argument2;
5342 wpt_uint32 argument3;
5343 wpt_uint32 argument4;
5344
5345}WDI_HALDumpCmdReqInfoType;
5346
5347/*---------------------------------------------------------------------------
5348 WDI_HALDumpCmdReqParamsType
5349---------------------------------------------------------------------------*/
5350typedef struct
5351{
5352 /*NV Blob Info*/
5353 WDI_HALDumpCmdReqInfoType wdiHALDumpCmdInfoType;
5354
5355 /*Request status callback offered by UMAC - it is called if the current
5356 req has returned PENDING as status; it delivers the status of sending
5357 the message over the BUS */
5358 WDI_ReqStatusCb wdiReqStatusCB;
5359
5360 /*The user data passed in by UMAC, it will be sent back when the above
5361 function pointer will be called */
5362 void* pUserData;
5363
5364}WDI_HALDumpCmdReqParamsType;
5365
5366
5367/*---------------------------------------------------------------------------
5368 WDI_HALDumpCmdRspParamsType
5369---------------------------------------------------------------------------*/
5370typedef struct
5371{
5372 /*Result of the operation*/
5373 WDI_Status wdiStatus;
5374
5375 /* length of the buffer */
5376 wpt_uint16 usBufferLen;
5377
5378 /* Buffer */
5379 wpt_uint8 *pBuffer;
5380}WDI_HALDumpCmdRspParamsType;
5381
5382
5383/*---------------------------------------------------------------------------
5384 WDI_SetTmLevelReqType
5385---------------------------------------------------------------------------*/
5386typedef struct
5387{
5388 wpt_uint16 tmMode;
5389 wpt_uint16 tmLevel;
5390 void* pUserData;
5391}WDI_SetTmLevelReqType;
5392
5393/*---------------------------------------------------------------------------
5394 WDI_SetTmLevelRspType
5395---------------------------------------------------------------------------*/
5396typedef struct
5397{
5398 WDI_Status wdiStatus;
5399 void* pUserData;
5400}WDI_SetTmLevelRspType;
5401
Leo Chang9056f462013-08-01 19:21:11 -07005402#ifdef FEATURE_WLAN_LPHB
5403/*---------------------------------------------------------------------------
5404 WDI_LPHBConfigParamsType
5405---------------------------------------------------------------------------*/
5406typedef struct
5407{
5408 void* pLphsConfIndData;
5409}WDI_LPHBConfigParamsType;
5410#endif /* FEATURE_WLAN_LPHB */
5411
Yue Mab9c86f42013-08-14 15:59:08 -07005412/*---------------------------------------------------------------------------
5413 WDI_AddPeriodicTxPtrnInfoType
5414---------------------------------------------------------------------------*/
5415typedef struct
5416{
5417 /* MAC Address for the adapter */
5418 wpt_macAddr macAddr;
5419
5420 wpt_uint8 ucPtrnId; // Pattern ID
5421 wpt_uint16 ucPtrnSize; // Pattern size
5422 wpt_uint32 usPtrnIntervalMs; // In msec
5423 wpt_uint8 ucPattern[PERIODIC_TX_PTRN_MAX_SIZE]; // Pattern buffer
5424} WDI_AddPeriodicTxPtrnInfoType;
5425
5426/*---------------------------------------------------------------------------
5427 WDI_DelPeriodicTxPtrnInfoType
5428---------------------------------------------------------------------------*/
5429typedef struct
5430{
5431 /* MAC Address for the adapter */
5432 wpt_macAddr macAddr;
5433
5434 /* Bitmap of pattern IDs that needs to be deleted */
5435 wpt_uint32 ucPatternIdBitmap;
5436} WDI_DelPeriodicTxPtrnInfoType;
5437
5438/*---------------------------------------------------------------------------
5439 WDI_AddPeriodicTxPtrnParamsType
5440---------------------------------------------------------------------------*/
5441typedef struct
5442{
5443 WDI_AddPeriodicTxPtrnInfoType wdiAddPeriodicTxPtrnParams;
5444
5445 /*Request status callback offered by UMAC - it is called if the current
5446 req has returned PENDING as status; it delivers the status of sending
5447 the message over the BUS */
5448 WDI_ReqStatusCb wdiReqStatusCB;
5449
5450 /*The user data passed in by UMAC, it will be sent back when the above
5451 function pointer will be called */
5452 void* pUserData;
5453} WDI_AddPeriodicTxPtrnParamsType;
5454
5455/*---------------------------------------------------------------------------
5456 WDI_DelPeriodicTxPtrnParamsType
5457---------------------------------------------------------------------------*/
5458typedef struct
5459{
5460 WDI_DelPeriodicTxPtrnInfoType wdiDelPeriodicTxPtrnParams;
5461
5462 /*Request status callback offered by UMAC - it is called if the current
5463 req has returned PENDING as status; it delivers the status of sending
5464 the message over the BUS */
5465 WDI_ReqStatusCb wdiReqStatusCB;
5466
5467 /*The user data passed in by UMAC, it will be sent back when the above
5468 function pointer will be called */
5469 void* pUserData;
5470} WDI_DelPeriodicTxPtrnParamsType;
5471
Jeff Johnson295189b2012-06-20 16:38:30 -07005472/*----------------------------------------------------------------------------
5473 * WDI callback types
5474 *--------------------------------------------------------------------------*/
5475
5476/*---------------------------------------------------------------------------
5477 WDI_StartRspCb
5478
5479 DESCRIPTION
5480
5481 This callback is invoked by DAL when it has received a Start response from
5482 the underlying device.
5483
5484 PARAMETERS
5485
5486 IN
5487 wdiRspParams: response parameters received from HAL
5488 pUserData: user data
5489
5490
5491 RETURN VALUE
5492 The result code associated with performing the operation
5493---------------------------------------------------------------------------*/
5494typedef void (*WDI_StartRspCb)(WDI_StartRspParamsType* pwdiRspParams,
5495 void* pUserData);
5496
5497/*---------------------------------------------------------------------------
5498 WDI_StartRspCb
5499
5500 DESCRIPTION
5501
5502 This callback is invoked by DAL when it has received a Stop response from
5503 the underlying device.
5504
5505 PARAMETERS
5506
5507 IN
5508 wdiStatus: response status received from HAL
5509 pUserData: user data
5510
5511
5512
5513 RETURN VALUE
5514 The result code associated with performing the operation
5515---------------------------------------------------------------------------*/
5516typedef void (*WDI_StopRspCb)(WDI_Status wdiStatus,
5517 void* pUserData);
5518
5519/*---------------------------------------------------------------------------
5520 WDI_StartRspCb
5521
5522 DESCRIPTION
5523
5524 This callback is invoked by DAL when it has received an Init Scan response
5525 from the underlying device.
5526
5527 PARAMETERS
5528
5529 IN
5530 wdiStatus: response status received from HAL
5531 pUserData: user data
5532
5533
5534
5535 RETURN VALUE
5536 The result code associated with performing the operation
5537---------------------------------------------------------------------------*/
5538typedef void (*WDI_InitScanRspCb)(WDI_Status wdiStatus,
5539 void* pUserData);
5540
5541
5542/*---------------------------------------------------------------------------
5543 WDI_StartRspCb
5544
5545 DESCRIPTION
5546
5547 This callback is invoked by DAL when it has received a StartScan response
5548 from the underlying device.
5549
5550 PARAMETERS
5551
5552 IN
5553 wdiParams: response params received from HAL
5554 pUserData: user data
5555
5556
5557
5558 RETURN VALUE
5559 The result code associated with performing the operation
5560---------------------------------------------------------------------------*/
5561typedef void (*WDI_StartScanRspCb)(WDI_StartScanRspParamsType* wdiParams,
5562 void* pUserData);
5563
5564
5565/*---------------------------------------------------------------------------
5566 WDI_StartRspCb
5567
5568 DESCRIPTION
5569
5570 This callback is invoked by DAL when it has received a End Scan response
5571 from the underlying device.
5572
5573 PARAMETERS
5574
5575 IN
5576 wdiStatus: response status received from HAL
5577 pUserData: user data
5578
5579
5580
5581 RETURN VALUE
5582 The result code associated with performing the operation
5583---------------------------------------------------------------------------*/
5584typedef void (*WDI_EndScanRspCb)(WDI_Status wdiStatus,
5585 void* pUserData);
5586
5587
5588/*---------------------------------------------------------------------------
5589 WDI_StartRspCb
5590
5591 DESCRIPTION
5592
5593 This callback is invoked by DAL when it has received a Finish Scan response
5594 from the underlying device.
5595
5596 PARAMETERS
5597
5598 IN
5599 wdiStatus: response status received from HAL
5600 pUserData: user data
5601
5602
5603
5604 RETURN VALUE
5605 The result code associated with performing the operation
5606---------------------------------------------------------------------------*/
5607typedef void (*WDI_FinishScanRspCb)(WDI_Status wdiStatus,
5608 void* pUserData);
5609
5610
5611/*---------------------------------------------------------------------------
5612 WDI_StartRspCb
5613
5614 DESCRIPTION
5615
5616 This callback is invoked by DAL when it has received a Join response from
5617 the underlying device.
5618
5619 PARAMETERS
5620
5621 IN
5622 wdiStatus: response status received from HAL
5623 pUserData: user data
5624
5625
5626
5627 RETURN VALUE
5628 The result code associated with performing the operation
5629---------------------------------------------------------------------------*/
5630typedef void (*WDI_JoinRspCb)(WDI_Status wdiStatus,
5631 void* pUserData);
5632
5633
5634/*---------------------------------------------------------------------------
5635 WDI_StartRspCb
5636
5637 DESCRIPTION
5638
5639 This callback is invoked by DAL when it has received a Config BSS response
5640 from the underlying device.
5641
5642 PARAMETERS
5643
5644 IN
5645 wdiConfigBSSRsp: response parameters received from HAL
5646 pUserData: user data
5647
5648
5649 RETURN VALUE
5650 The result code associated with performing the operation
5651---------------------------------------------------------------------------*/
5652typedef void (*WDI_ConfigBSSRspCb)(
5653 WDI_ConfigBSSRspParamsType* pwdiConfigBSSRsp,
5654 void* pUserData);
5655
5656
5657/*---------------------------------------------------------------------------
5658 WDI_StartRspCb
5659
5660 DESCRIPTION
5661
5662 This callback is invoked by DAL when it has received a Del BSS response from
5663 the underlying device.
5664
5665 PARAMETERS
5666
5667 IN
5668 wdiDelBSSRsp: response parameters received from HAL
5669 pUserData: user data
5670
5671
5672 RETURN VALUE
5673 The result code associated with performing the operation
5674---------------------------------------------------------------------------*/
5675typedef void (*WDI_DelBSSRspCb)(WDI_DelBSSRspParamsType* pwdiDelBSSRsp,
5676 void* pUserData);
5677
5678
5679/*---------------------------------------------------------------------------
5680 WDI_StartRspCb
5681
5682 DESCRIPTION
5683
5684 This callback is invoked by DAL when it has received a Post Assoc response
5685 from the underlying device.
5686
5687 PARAMETERS
5688
5689 IN
5690 wdiRspParams: response parameters received from HAL
5691 pUserData: user data
5692
5693
5694 RETURN VALUE
5695 The result code associated with performing the operation
5696---------------------------------------------------------------------------*/
5697typedef void (*WDI_PostAssocRspCb)(
5698 WDI_PostAssocRspParamsType* pwdiPostAssocRsp,
5699 void* pUserData);
5700
5701
5702/*---------------------------------------------------------------------------
5703 WDI_StartRspCb
5704
5705 DESCRIPTION
5706
5707 This callback is invoked by DAL when it has received a Del STA response from
5708 the underlying device.
5709
5710 PARAMETERS
5711
5712 IN
5713 wdiDelSTARsp: response parameters received from HAL
5714 pUserData: user data
5715
5716
5717 RETURN VALUE
5718 The result code associated with performing the operation
5719---------------------------------------------------------------------------*/
5720typedef void (*WDI_DelSTARspCb)(WDI_DelSTARspParamsType* pwdiDelSTARsp,
5721 void* pUserData);
5722
5723
5724
5725/*---------------------------------------------------------------------------
5726 WDI_StartRspCb
5727
5728 DESCRIPTION
5729
5730 This callback is invoked by DAL when it has received a Set BSS Key response
5731 from the underlying device.
5732
5733 PARAMETERS
5734
5735 IN
5736 wdiStatus: response status received from HAL
5737 pUserData: user data
5738
5739
5740
5741 RETURN VALUE
5742 The result code associated with performing the operation
5743---------------------------------------------------------------------------*/
5744typedef void (*WDI_SetBSSKeyRspCb)(WDI_Status wdiStatus,
5745 void* pUserData);
5746
5747/*---------------------------------------------------------------------------
5748 WDI_StartRspCb
5749
5750 DESCRIPTION
5751
5752 This callback is invoked by DAL when it has received a Remove BSS Key
5753 response from the underlying device.
5754
5755 PARAMETERS
5756
5757 IN
5758 wdiStatus: response status received from HAL
5759 pUserData: user data
5760
5761
5762
5763 RETURN VALUE
5764 The result code associated with performing the operation
5765---------------------------------------------------------------------------*/
5766typedef void (*WDI_RemoveBSSKeyRspCb)(WDI_Status wdiStatus,
5767 void* pUserData);
5768
5769/*---------------------------------------------------------------------------
5770 WDI_StartRspCb
5771
5772 DESCRIPTION
5773
5774 This callback is invoked by DAL when it has received a Set STA Key response
5775 from the underlying device.
5776
5777 PARAMETERS
5778
5779 IN
5780 wdiStatus: response status received from HAL
5781 pUserData: user data
5782
5783
5784
5785 RETURN VALUE
5786 The result code associated with performing the operation
5787---------------------------------------------------------------------------*/
5788typedef void (*WDI_SetSTAKeyRspCb)(WDI_Status wdiStatus,
5789 void* pUserData);
5790
5791
5792/*---------------------------------------------------------------------------
5793 WDI_StartRspCb
5794
5795 DESCRIPTION
5796
5797 This callback is invoked by DAL when it has received a Remove STA Key
5798 response from the underlying device.
5799
5800 PARAMETERS
5801
5802 IN
5803 wdiStatus: response status received from HAL
5804 pUserData: user data
5805
5806
5807
5808 RETURN VALUE
5809 The result code associated with performing the operation
5810---------------------------------------------------------------------------*/
5811typedef void (*WDI_RemoveSTAKeyRspCb)(WDI_Status wdiStatus,
5812 void* pUserData);
5813
5814
5815#ifdef FEATURE_WLAN_CCX
5816/*---------------------------------------------------------------------------
5817 WDI_TsmRspCb
5818
5819 DESCRIPTION
5820
5821 This callback is invoked by DAL when it has received a TSM Stats response from the underlying device.
5822
5823 PARAMETERS
5824
5825 IN
5826 pTSMStats: response status received from HAL
5827 pUserData: user data
5828
5829
5830
5831 RETURN VALUE
5832 The result code associated with performing the operation
5833---------------------------------------------------------------------------*/
5834typedef void (*WDI_TsmRspCb)(WDI_TSMStatsRspParamsType *pTSMStats,
5835 void* pUserData);
5836#endif
5837
5838/*---------------------------------------------------------------------------
5839 WDI_StartRspCb
5840
5841 DESCRIPTION
5842
5843 This callback is invoked by DAL when it has received a Add TS response from
5844 the underlying device.
5845
5846 PARAMETERS
5847
5848 IN
5849 wdiStatus: response status received from HAL
5850 pUserData: user data
5851
5852
5853
5854 RETURN VALUE
5855 The result code associated with performing the operation
5856---------------------------------------------------------------------------*/
5857typedef void (*WDI_AddTsRspCb)(WDI_Status wdiStatus,
5858 void* pUserData);
5859
5860/*---------------------------------------------------------------------------
5861 WDI_StartRspCb
5862
5863 DESCRIPTION
5864
5865 This callback is invoked by DAL when it has received a Del TS response from
5866 the underlying device.
5867
5868 PARAMETERS
5869
5870 IN
5871 wdiStatus: response status received from HAL
5872 pUserData: user data
5873
5874
5875
5876 RETURN VALUE
5877 The result code associated with performing the operation
5878---------------------------------------------------------------------------*/
5879typedef void (*WDI_DelTsRspCb)(WDI_Status wdiStatus,
5880 void* pUserData);
5881
5882/*---------------------------------------------------------------------------
5883 WDI_StartRspCb
5884
5885 DESCRIPTION
5886
5887 This callback is invoked by DAL when it has received an Update EDCA Params
5888 response from the underlying device.
5889
5890 PARAMETERS
5891
5892 IN
5893 wdiStatus: response status received from HAL
5894 pUserData: user data
5895
5896
5897
5898 RETURN VALUE
5899 The result code associated with performing the operation
5900---------------------------------------------------------------------------*/
5901typedef void (*WDI_UpdateEDCAParamsRspCb)(WDI_Status wdiStatus,
5902 void* pUserData);
5903
5904/*---------------------------------------------------------------------------
5905 WDI_StartRspCb
5906
5907 DESCRIPTION
5908
5909 This callback is invoked by DAL when it has received a Add BA response from
5910 the underlying device.
5911
5912 PARAMETERS
5913
5914 IN
5915 wdiStatus: response status received from HAL
5916 pUserData: user data
5917
5918
5919
5920 RETURN VALUE
5921 The result code associated with performing the operation
5922---------------------------------------------------------------------------*/
5923typedef void (*WDI_AddBASessionRspCb)(
5924 WDI_AddBASessionRspParamsType* wdiAddBASessionRsp,
5925 void* pUserData);
5926
5927
5928/*---------------------------------------------------------------------------
5929 WDI_StartRspCb
5930
5931 DESCRIPTION
5932
5933 This callback is invoked by DAL when it has received a Del BA response from
5934 the underlying device.
5935
5936 PARAMETERS
5937
5938 IN
5939 wdiStatus: response status received from HAL
5940 pUserData: user data
5941
5942
5943
5944 RETURN VALUE
5945 The result code associated with performing the operation
5946---------------------------------------------------------------------------*/
5947typedef void (*WDI_DelBARspCb)(WDI_Status wdiStatus,
5948 void* pUserData);
5949
5950
5951/*---------------------------------------------------------------------------
5952 WDI_StartRspCb
5953
5954 DESCRIPTION
5955
5956 This callback is invoked by DAL when it has received a Switch Ch response
5957 from the underlying device.
5958
5959 PARAMETERS
5960
5961 IN
5962 wdiRspParams: response parameters received from HAL
5963 pUserData: user data
5964
5965
5966 RETURN VALUE
5967 The result code associated with performing the operation
5968---------------------------------------------------------------------------*/
5969typedef void (*WDI_SwitchChRspCb)(WDI_SwitchCHRspParamsType* pwdiSwitchChRsp,
5970 void* pUserData);
5971
5972
5973/*---------------------------------------------------------------------------
5974 WDI_StartRspCb
5975
5976 DESCRIPTION
5977
5978 This callback is invoked by DAL when it has received a Config STA response
5979 from the underlying device.
5980
5981 PARAMETERS
5982
5983 IN
5984 wdiRspParams: response parameters received from HAL
5985 pUserData: user data
5986
5987
5988 RETURN VALUE
5989 The result code associated with performing the operation
5990---------------------------------------------------------------------------*/
5991typedef void (*WDI_ConfigSTARspCb)(
5992 WDI_ConfigSTARspParamsType* pwdiConfigSTARsp,
5993 void* pUserData);
5994
5995
5996/*---------------------------------------------------------------------------
5997 WDI_StartRspCb
5998
5999 DESCRIPTION
6000
6001 This callback is invoked by DAL when it has received a Set Link State
6002 response from the underlying device.
6003
6004 PARAMETERS
6005
6006 IN
6007 wdiRspParams: response parameters received from HAL
6008 pUserData: user data
6009
6010
6011 RETURN VALUE
6012 The result code associated with performing the operation
6013---------------------------------------------------------------------------*/
6014typedef void (*WDI_SetLinkStateRspCb)( WDI_Status wdiStatus,
6015 void* pUserData);
6016
6017
6018/*---------------------------------------------------------------------------
6019 WDI_StartRspCb
6020
6021 DESCRIPTION
6022
6023 This callback is invoked by DAL when it has received a Get Stats response
6024 from the underlying device.
6025
6026 PARAMETERS
6027
6028 IN
6029 wdiRspParams: response parameters received from HAL
6030 pUserData: user data
6031
6032
6033 RETURN VALUE
6034 The result code associated with performing the operation
6035---------------------------------------------------------------------------*/
6036typedef void (*WDI_GetStatsRspCb)(WDI_GetStatsRspParamsType* pwdiGetStatsRsp,
6037 void* pUserData);
6038
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08006039#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_CCX || defined(FEATURE_WLAN_LFR)
6040/*---------------------------------------------------------------------------
6041 WDI_GetRoamRssiRspCb
6042
6043 DESCRIPTION
6044
6045 This callback is invoked by DAL when it has received a Get Roam Rssi response
6046 from the underlying device.
6047
6048 PARAMETERS
6049
6050 IN
6051 wdiRspParams: response parameters received from HAL
6052 pUserData: user data
6053
6054
6055 RETURN VALUE
6056 The result code associated with performing the operation
6057---------------------------------------------------------------------------*/
6058typedef void (*WDI_GetRoamRssiRspCb)(WDI_GetRoamRssiRspParamsType* pwdiGetRoamRssiRsp,
6059 void* pUserData);
6060#endif
6061
Jeff Johnson295189b2012-06-20 16:38:30 -07006062
6063/*---------------------------------------------------------------------------
6064 WDI_StartRspCb
6065
6066 DESCRIPTION
6067
6068 This callback is invoked by DAL when it has received a Update Cfg response
6069 from the underlying device.
6070
6071 PARAMETERS
6072
6073 IN
6074 wdiStatus: response status received from HAL
6075 pUserData: user data
6076
6077
6078 RETURN VALUE
6079 The result code associated with performing the operation
6080---------------------------------------------------------------------------*/
6081typedef void (*WDI_UpdateCfgRspCb)(WDI_Status wdiStatus,
6082 void* pUserData);
6083
6084/*---------------------------------------------------------------------------
6085 WDI_AddBARspCb
6086
6087 DESCRIPTION
6088
6089 This callback is invoked by DAL when it has received a ADD BA response
6090 from the underlying device.
6091
6092 PARAMETERS
6093
6094 IN
6095 wdiStatus: response status received from HAL
6096 pUserData: user data
6097
6098
6099 RETURN VALUE
6100 The result code associated with performing the operation
6101---------------------------------------------------------------------------*/
6102typedef void (*WDI_AddBARspCb)(WDI_AddBARspinfoType* wdiAddBARsp,
6103 void* pUserData);
6104
6105/*---------------------------------------------------------------------------
6106 WDI_TriggerBARspCb
6107
6108 DESCRIPTION
6109
6110 This callback is invoked by DAL when it has received a ADD BA response
6111 from the underlying device.
6112
6113 PARAMETERS
6114
6115 IN
6116 wdiStatus: response status received from HAL
6117 pUserData: user data
6118
6119
6120 RETURN VALUE
6121 The result code associated with performing the operation
6122---------------------------------------------------------------------------*/
6123typedef void (*WDI_TriggerBARspCb)(WDI_TriggerBARspParamsType* wdiTriggerBARsp,
6124 void* pUserData);
6125
6126
6127/*---------------------------------------------------------------------------
6128 WDI_UpdateBeaconParamsRspCb
6129
6130 DESCRIPTION
6131
6132 This callback is invoked by DAL when it has received a Update Beacon Params response from
6133 the underlying device.
6134
6135 PARAMETERS
6136
6137 IN
6138 wdiStatus: response status received from HAL
6139 pUserData: user data
6140
6141
6142
6143 RETURN VALUE
6144 The result code associated with performing the operation
6145---------------------------------------------------------------------------*/
6146typedef void (*WDI_UpdateBeaconParamsRspCb)(WDI_Status wdiStatus,
6147 void* pUserData);
6148
6149/*---------------------------------------------------------------------------
6150 WDI_SendBeaconParamsRspCb
6151
6152 DESCRIPTION
6153
6154 This callback is invoked by DAL when it has received a Send Beacon Params response from
6155 the underlying device.
6156
6157 PARAMETERS
6158
6159 IN
6160 wdiStatus: response status received from HAL
6161 pUserData: user data
6162
6163
6164
6165 RETURN VALUE
6166 The result code associated with performing the operation
6167---------------------------------------------------------------------------*/
6168typedef void (*WDI_SendBeaconParamsRspCb)(WDI_Status wdiStatus,
6169 void* pUserData);
6170
6171/*---------------------------------------------------------------------------
6172 WDA_SetMaxTxPowerRspCb
6173
6174 DESCRIPTION
6175
6176 This callback is invoked by DAL when it has received a set max Tx Power response from
6177 the underlying device.
6178
6179 PARAMETERS
6180
6181 IN
6182 wdiStatus: response status received from HAL
6183 pUserData: user data
6184
6185
6186
6187 RETURN VALUE
6188 The result code associated with performing the operation
6189---------------------------------------------------------------------------*/
6190typedef void (*WDA_SetMaxTxPowerRspCb)(WDI_SetMaxTxPowerRspMsg *wdiSetMaxTxPowerRsp,
6191 void* pUserData);
6192
6193/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07006194 WDA_SetMaxTxPowerPerBandRspCb
6195
6196 DESCRIPTION
6197
6198 This callback is invoked by DAL when it has received a
6199 set max Tx Power Per Band response from the underlying device.
6200
6201 PARAMETERS
6202
6203 IN
6204 wdiSetMaxTxPowerPerBandRsp: response status received from HAL
6205 pUserData: user data
6206
6207 RETURN VALUE
6208 The result code associated with performing the operation
6209---------------------------------------------------------------------------*/
6210typedef void (*WDA_SetMaxTxPowerPerBandRspCb)(WDI_SetMaxTxPowerPerBandRspMsg
6211 *wdiSetMaxTxPowerPerBandRsp,
6212 void* pUserData);
6213
6214/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07006215 WDA_SetTxPowerRspCb
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 RETURN VALUE
6229 The result code associated with performing the operation
6230---------------------------------------------------------------------------*/
6231typedef void (*WDA_SetTxPowerRspCb)(WDI_SetTxPowerRspMsg *wdiSetTxPowerRsp,
6232 void* pUserData);
6233
6234/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07006235 WDI_UpdateProbeRspTemplateRspCb
6236
6237 DESCRIPTION
6238
6239 This callback is invoked by DAL when it has received a Probe RSP Template
6240 Update response from the underlying device.
6241
6242 PARAMETERS
6243
6244 IN
6245 wdiStatus: response status received from HAL
6246 pUserData: user data
6247
6248
6249
6250 RETURN VALUE
6251 The result code associated with performing the operation
6252---------------------------------------------------------------------------*/
6253typedef void (*WDI_UpdateProbeRspTemplateRspCb)(WDI_Status wdiStatus,
6254 void* pUserData);
6255
Jeff Johnson295189b2012-06-20 16:38:30 -07006256/*---------------------------------------------------------------------------
6257 WDI_SetP2PGONOAReqParamsRspCb
6258
6259 DESCRIPTION
6260
6261 This callback is invoked by DAL when it has received a P2P GO NOA Params response from
6262 the underlying device.
6263
6264 PARAMETERS
6265
6266 IN
6267 wdiStatus: response status received from HAL
6268 pUserData: user data
6269
6270
6271
6272 RETURN VALUE
6273 The result code associated with performing the operation
6274---------------------------------------------------------------------------*/
6275typedef void (*WDI_SetP2PGONOAReqParamsRspCb)(WDI_Status wdiStatus,
6276 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006277
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05306278/*---------------------------------------------------------------------------
6279 WDI_SetTDLSLinkEstablishReqParamsRspCb
6280
6281 DESCRIPTION
6282
6283 This callback is invoked by DAL when it has received a TDLS Link Establish Req response from
6284 the underlying device.
6285
6286 PARAMETERS
6287
6288 IN
6289 wdiStatus: response status received from HAL
6290 pUserData: user data
6291
6292
6293
6294 RETURN VALUE
6295 The result code associated with performing the operation
6296---------------------------------------------------------------------------*/
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05306297typedef void (*WDI_SetTDLSLinkEstablishReqParamsRspCb)(WDI_SetTdlsLinkEstablishReqResp *
6298 wdiSetTdlsLinkEstablishReqRsp,
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05306299 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006300
6301/*---------------------------------------------------------------------------
6302 WDI_SetPwrSaveCfgCb
6303
6304 DESCRIPTION
6305
6306 This callback is invoked by DAL when it has received a set Power Save CFG
6307 response from the underlying device.
6308
6309 PARAMETERS
6310
6311 IN
6312 wdiStatus: response status received from HAL
6313 pUserData: user data
6314
6315
6316
6317 RETURN VALUE
6318 The result code associated with performing the operation
6319---------------------------------------------------------------------------*/
6320typedef void (*WDI_SetPwrSaveCfgCb)(WDI_Status wdiStatus,
6321 void* pUserData);
6322
6323/*---------------------------------------------------------------------------
6324 WDI_SetUapsdAcParamsCb
6325
6326 DESCRIPTION
6327
6328 This callback is invoked by DAL when it has received a set UAPSD params
6329 response from the underlying device.
6330
6331 PARAMETERS
6332
6333 IN
6334 wdiStatus: response status received from HAL
6335 pUserData: user data
6336
6337
6338
6339 RETURN VALUE
6340 The result code associated with performing the operation
6341---------------------------------------------------------------------------*/
6342typedef void (*WDI_SetUapsdAcParamsCb)(WDI_Status wdiStatus,
6343 void* pUserData);
6344
6345/*---------------------------------------------------------------------------
6346 WDI_EnterImpsRspCb
6347
6348 DESCRIPTION
6349
6350 This callback is invoked by DAL when it has received a Enter IMPS response
6351 from the underlying device.
6352
6353 PARAMETERS
6354
6355 IN
6356 wdiStatus: response status received from HAL
6357 pUserData: user data
6358
6359
6360
6361 RETURN VALUE
6362 The result code associated with performing the operation
6363---------------------------------------------------------------------------*/
6364typedef void (*WDI_EnterImpsRspCb)(WDI_Status wdiStatus,
6365 void* pUserData);
6366
6367/*---------------------------------------------------------------------------
6368 WDI_ExitImpsRspCb
6369
6370 DESCRIPTION
6371
6372 This callback is invoked by DAL when it has received a Exit IMPS response
6373 from the underlying device.
6374
6375 PARAMETERS
6376
6377 IN
6378 wdiStatus: response status received from HAL
6379 pUserData: user data
6380
6381
6382
6383 RETURN VALUE
6384 The result code associated with performing the operation
6385---------------------------------------------------------------------------*/
6386typedef void (*WDI_ExitImpsRspCb)(WDI_Status wdiStatus,
6387 void* pUserData);
6388
6389/*---------------------------------------------------------------------------
6390 WDI_EnterBmpsRspCb
6391
6392 DESCRIPTION
6393
6394 This callback is invoked by DAL when it has received a enter BMPS response
6395 from the underlying device.
6396
6397 PARAMETERS
6398
6399 IN
6400 wdiStatus: response status received from HAL
6401 pUserData: user data
6402
6403
6404
6405 RETURN VALUE
6406 The result code associated with performing the operation
6407---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006408typedef void (*WDI_EnterBmpsRspCb)(WDI_EnterBmpsRspParamsType *pwdiEnterBmpsRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006409 void* pUserData);
6410
6411/*---------------------------------------------------------------------------
6412 WDI_ExitBmpsRspCb
6413
6414 DESCRIPTION
6415
6416 This callback is invoked by DAL when it has received a exit BMPS response
6417 from the underlying device.
6418
6419 PARAMETERS
6420
6421 IN
6422 wdiStatus: response status received from HAL
6423 pUserData: user data
6424
6425
6426
6427 RETURN VALUE
6428 The result code associated with performing the operation
6429---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006430typedef void (*WDI_ExitBmpsRspCb)( WDI_ExitBmpsRspParamsType *pwdiExitBmpsRspParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07006431 void* pUserData);
6432
6433/*---------------------------------------------------------------------------
6434 WDI_EnterUapsdRspCb
6435
6436 DESCRIPTION
6437
6438 This callback is invoked by DAL when it has received a enter UAPSD response
6439 from the underlying device.
6440
6441 PARAMETERS
6442
6443 IN
6444 wdiStatus: response status received from HAL
6445 pUserData: user data
6446
6447
6448
6449 RETURN VALUE
6450 The result code associated with performing the operation
6451---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006452typedef void (*WDI_EnterUapsdRspCb)( WDI_EnterUapsdRspParamsType *pwdiEnterUapsdRspParam,
Jeff Johnson295189b2012-06-20 16:38:30 -07006453 void* pUserData);
6454
6455/*---------------------------------------------------------------------------
6456 WDI_ExitUapsdRspCb
6457
6458 DESCRIPTION
6459
6460 This callback is invoked by DAL when it has received a exit UAPSD response
6461 from the underlying device.
6462
6463 PARAMETERS
6464
6465 IN
6466 wdiStatus: response status received from HAL
6467 pUserData: user data
6468
6469
6470
6471 RETURN VALUE
6472 The result code associated with performing the operation
6473---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006474typedef void (*WDI_ExitUapsdRspCb)(WDI_ExitUapsdRspParamsType *pwidExitUapsdRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006475 void* pUserData);
6476
6477/*---------------------------------------------------------------------------
6478 WDI_UpdateUapsdParamsCb
6479
6480 DESCRIPTION
6481
6482 This callback is invoked by DAL when it has received a update UAPSD params
6483 response from the underlying device.
6484
6485 PARAMETERS
6486
6487 IN
6488 wdiStatus: response status received from HAL
6489 pUserData: user data
6490
6491
6492
6493 RETURN VALUE
6494 The result code associated with performing the operation
6495---------------------------------------------------------------------------*/
6496typedef void (*WDI_UpdateUapsdParamsCb)(WDI_Status wdiStatus,
6497 void* pUserData);
6498
6499/*---------------------------------------------------------------------------
6500 WDI_ConfigureRxpFilterCb
6501
6502 DESCRIPTION
6503
6504 This callback is invoked by DAL when it has received a config RXP filter
6505 response from the underlying device.
6506
6507 PARAMETERS
6508
6509 IN
6510 wdiStatus: response status received from HAL
6511 pUserData: user data
6512
6513
6514
6515 RETURN VALUE
6516 The result code associated with performing the operation
6517---------------------------------------------------------------------------*/
6518typedef void (*WDI_ConfigureRxpFilterCb)(WDI_Status wdiStatus,
6519 void* pUserData);
6520
6521/*---------------------------------------------------------------------------
6522 WDI_SetBeaconFilterCb
6523
6524 DESCRIPTION
6525
6526 This callback is invoked by DAL when it has received a set beacon filter
6527 response from the underlying device.
6528
6529 PARAMETERS
6530
6531 IN
6532 wdiStatus: response status received from HAL
6533 pUserData: user data
6534
6535
6536
6537 RETURN VALUE
6538 The result code associated with performing the operation
6539---------------------------------------------------------------------------*/
6540typedef void (*WDI_SetBeaconFilterCb)(WDI_Status wdiStatus,
6541 void* pUserData);
6542
6543/*---------------------------------------------------------------------------
6544 WDI_RemBeaconFilterCb
6545
6546 DESCRIPTION
6547
6548 This callback is invoked by DAL when it has received a remove beacon filter
6549 response from the underlying device.
6550
6551 PARAMETERS
6552
6553 IN
6554 wdiStatus: response status received from HAL
6555 pUserData: user data
6556
6557
6558
6559 RETURN VALUE
6560 The result code associated with performing the operation
6561---------------------------------------------------------------------------*/
6562typedef void (*WDI_RemBeaconFilterCb)(WDI_Status wdiStatus,
6563 void* pUserData);
6564
6565/*---------------------------------------------------------------------------
6566 WDI_SetRSSIThresholdsCb
6567
6568 DESCRIPTION
6569
6570 This callback is invoked by DAL when it has received a set RSSI thresholds
6571 response from the underlying device.
6572
6573 PARAMETERS
6574
6575 IN
6576 wdiStatus: response status received from HAL
6577 pUserData: user data
6578
6579
6580
6581 RETURN VALUE
6582 The result code associated with performing the operation
6583---------------------------------------------------------------------------*/
6584typedef void (*WDI_SetRSSIThresholdsCb)(WDI_Status wdiStatus,
6585 void* pUserData);
6586
6587/*---------------------------------------------------------------------------
6588 WDI_HostOffloadCb
6589
6590 DESCRIPTION
6591
6592 This callback is invoked by DAL when it has received a host offload
6593 response from the underlying device.
6594
6595 PARAMETERS
6596
6597 IN
6598 wdiStatus: response status received from HAL
6599 pUserData: user data
6600
6601
6602
6603 RETURN VALUE
6604 The result code associated with performing the operation
6605---------------------------------------------------------------------------*/
6606typedef void (*WDI_HostOffloadCb)(WDI_Status wdiStatus,
6607 void* pUserData);
6608
6609/*---------------------------------------------------------------------------
6610 WDI_KeepAliveCb
6611
6612 DESCRIPTION
6613
6614 This callback is invoked by DAL when it has received a Keep Alive
6615 response from the underlying device.
6616
6617 PARAMETERS
6618
6619 IN
6620 wdiStatus: response status received from HAL
6621 pUserData: user data
6622
6623
6624
6625 RETURN VALUE
6626 The result code associated with performing the operation
6627---------------------------------------------------------------------------*/
6628typedef void (*WDI_KeepAliveCb)(WDI_Status wdiStatus,
6629 void* pUserData);
6630
6631/*---------------------------------------------------------------------------
6632 WDI_WowlAddBcPtrnCb
6633
6634 DESCRIPTION
6635
6636 This callback is invoked by DAL when it has received a Wowl add Bcast ptrn
6637 response from the underlying device.
6638
6639 PARAMETERS
6640
6641 IN
6642 wdiStatus: response status received from HAL
6643 pUserData: user data
6644
6645
6646
6647 RETURN VALUE
6648 The result code associated with performing the operation
6649---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006650typedef void (*WDI_WowlAddBcPtrnCb)( WDI_WowlAddBcPtrnRspParamsType *pwdiWowlAddBcPtrnParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07006651 void* pUserData);
6652
6653/*---------------------------------------------------------------------------
6654 WDI_WowlDelBcPtrnCb
6655
6656 DESCRIPTION
6657
6658 This callback is invoked by DAL when it has received a Wowl delete Bcast ptrn
6659 response from the underlying device.
6660
6661 PARAMETERS
6662
6663 IN
6664 wdiStatus: response status received from HAL
6665 pUserData: user data
6666
6667
6668
6669 RETURN VALUE
6670 The result code associated with performing the operation
6671---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006672typedef void (*WDI_WowlDelBcPtrnCb)( WDI_WowlDelBcPtrnRspParamsType *pwdiWowlDelBcstPtrRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006673 void* pUserData);
6674
6675/*---------------------------------------------------------------------------
6676 WDI_WowlEnterReqCb
6677
6678 DESCRIPTION
6679
6680 This callback is invoked by DAL when it has received a Wowl enter
6681 response from the underlying device.
6682
6683 PARAMETERS
6684
6685 IN
6686 wdiStatus: response status received from HAL
6687 pUserData: user data
6688
6689
6690
6691 RETURN VALUE
6692 The result code associated with performing the operation
6693---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006694typedef void (*WDI_WowlEnterReqCb)( WDI_WowlEnterRspParamsType *pwdiwowlEnterRsp,
6695 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006696
6697/*---------------------------------------------------------------------------
6698 WDI_WowlExitReqCb
6699
6700 DESCRIPTION
6701
6702 This callback is invoked by DAL when it has received a Wowl exit
6703 response from the underlying device.
6704
6705 PARAMETERS
6706
6707 IN
6708 wdiStatus: response status received from HAL
6709 pUserData: user data
6710
6711
6712
6713 RETURN VALUE
6714 The result code associated with performing the operation
6715---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006716typedef void (*WDI_WowlExitReqCb)( WDI_WowlExitRspParamsType *pwdiWowlExitRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006717 void* pUserData);
6718
6719/*---------------------------------------------------------------------------
6720 WDI_ConfigureAppsCpuWakeupStateCb
6721
6722 DESCRIPTION
6723
6724 This callback is invoked by DAL when it has received a config Apps Cpu Wakeup
6725 State response from the underlying device.
6726
6727 PARAMETERS
6728
6729 IN
6730 wdiStatus: response status received from HAL
6731 pUserData: user data
6732
6733
6734
6735 RETURN VALUE
6736 The result code associated with performing the operation
6737---------------------------------------------------------------------------*/
6738typedef void (*WDI_ConfigureAppsCpuWakeupStateCb)(WDI_Status wdiStatus,
6739 void* pUserData);
6740/*---------------------------------------------------------------------------
6741 WDI_NvDownloadRspCb
6742
6743 DESCRIPTION
6744
6745 This callback is invoked by DAL when it has received a NV Download response
6746 from the underlying device.
6747
6748 PARAMETERS
6749
6750 IN
6751 wdiStatus:response status received from HAL
6752 pUserData:user data
6753
6754 RETURN VALUE
6755 The result code associated with performing the operation
6756---------------------------------------------------------------------------*/
6757typedef void (*WDI_NvDownloadRspCb)(WDI_NvDownloadRspInfoType* wdiNvDownloadRsp,
6758 void* pUserData);
6759/*---------------------------------------------------------------------------
6760 WDI_FlushAcRspCb
6761
6762 DESCRIPTION
6763
6764 This callback is invoked by DAL when it has received a Flush AC response from
6765 the underlying device.
6766
6767 PARAMETERS
6768
6769 IN
6770 wdiStatus: response status received from HAL
6771 pUserData: user data
6772
6773
6774
6775 RETURN VALUE
6776 The result code associated with performing the operation
6777---------------------------------------------------------------------------*/
6778typedef void (*WDI_FlushAcRspCb)(WDI_Status wdiStatus,
6779 void* pUserData);
6780
6781/*---------------------------------------------------------------------------
6782 WDI_BtAmpEventRspCb
6783
6784 DESCRIPTION
6785
6786 This callback is invoked by DAL when it has received a Bt AMP event response
6787 from the underlying device.
6788
6789 PARAMETERS
6790
6791 IN
6792 wdiStatus: response status received from HAL
6793 pUserData: user data
6794
6795
6796
6797 RETURN VALUE
6798 The result code associated with performing the operation
6799---------------------------------------------------------------------------*/
6800typedef void (*WDI_BtAmpEventRspCb)(WDI_Status wdiStatus,
6801 void* pUserData);
6802
Jeff Johnsone7245742012-09-05 17:12:55 -07006803#ifdef FEATURE_OEM_DATA_SUPPORT
6804/*---------------------------------------------------------------------------
6805 WDI_oemDataRspCb
6806
6807 DESCRIPTION
6808
6809 This callback is invoked by DAL when it has received a Start oem data response from
6810 the underlying device.
6811
6812 PARAMETERS
6813
6814 IN
6815 wdiStatus: response status received from HAL
6816 pUserData: user data
6817
6818
6819
6820 RETURN VALUE
6821 The result code associated with performing the operation
6822---------------------------------------------------------------------------*/
6823typedef void (*WDI_oemDataRspCb)(WDI_oemDataRspParamsType* wdiOemDataRspParams,
6824 void* pUserData);
6825
6826#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07006827
6828/*---------------------------------------------------------------------------
6829 WDI_HostResumeEventRspCb
6830
6831 DESCRIPTION
6832
6833 This callback is invoked by DAL when it has received a Bt AMP event response
6834 from the underlying device.
6835
6836 PARAMETERS
6837
6838 IN
6839 wdiStatus: response status received from HAL
6840 pUserData: user data
6841
6842
6843
6844 RETURN VALUE
6845 The result code associated with performing the operation
6846---------------------------------------------------------------------------*/
6847typedef void (*WDI_HostResumeEventRspCb)(
6848 WDI_SuspendResumeRspParamsType *resumeRspParams,
6849 void* pUserData);
6850
6851
6852#ifdef WLAN_FEATURE_VOWIFI_11R
6853/*---------------------------------------------------------------------------
6854 WDI_AggrAddTsRspCb
6855
6856 DESCRIPTION
6857
6858 This callback is invoked by DAL when it has received a Aggregated Add TS
6859 response from the underlying device.
6860
6861 PARAMETERS
6862
6863 IN
6864 wdiStatus: response status received from HAL
6865 pUserData: user data
6866
6867
6868
6869 RETURN VALUE
6870 The result code associated with performing the operation
6871---------------------------------------------------------------------------*/
6872typedef void (*WDI_AggrAddTsRspCb)(WDI_Status wdiStatus,
6873 void* pUserData);
6874#endif /* WLAN_FEATURE_VOWIFI_11R */
6875
Jeff Johnson295189b2012-06-20 16:38:30 -07006876/*---------------------------------------------------------------------------
6877 WDI_FTMCommandRspCb
6878
6879 DESCRIPTION
6880
6881 FTM Command response CB
6882
6883 PARAMETERS
6884
6885 IN
6886 ftmCMDRspdata: FTM response data from HAL
6887 pUserData: user data
6888
6889
6890 RETURN VALUE
6891 NONE
6892---------------------------------------------------------------------------*/
6893typedef void (*WDI_FTMCommandRspCb)(void *ftmCMDRspdata,
6894 void *pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006895
6896/*---------------------------------------------------------------------------
6897 WDI_AddSTASelfParamsRspCb
6898
6899 DESCRIPTION
6900
6901 This callback is invoked by DAL when it has received a Add Sta Self Params
6902 response from the underlying device.
6903
6904 PARAMETERS
6905
6906 IN
6907 wdiAddSelfSTARsp: 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_AddSTASelfParamsRspCb)(
6916 WDI_AddSTASelfRspParamsType* pwdiAddSelfSTARsp,
6917 void* pUserData);
6918
6919
6920/*---------------------------------------------------------------------------
6921 WDI_DelSTASelfRspCb
6922
6923 DESCRIPTION
6924
6925 This callback is invoked by DAL when it has received a host offload
6926 response from the underlying device.
6927
6928 PARAMETERS
6929
6930 IN
6931 wdiStatus: response status received from HAL
6932 pUserData: user data
6933
6934
6935
6936 RETURN VALUE
6937 The result code associated with performing the operation
6938---------------------------------------------------------------------------*/
6939typedef void (*WDI_DelSTASelfRspCb)
6940(
6941WDI_DelSTASelfRspParamsType* wdiDelStaSelfRspParams,
6942void* pUserData
6943);
6944
6945#ifdef FEATURE_WLAN_SCAN_PNO
6946/*---------------------------------------------------------------------------
6947 WDI_PNOScanCb
6948
6949 DESCRIPTION
6950
6951 This callback is invoked by DAL when it has received a Set PNO
6952 response from the underlying device.
6953
6954 PARAMETERS
6955
6956 IN
6957 wdiStatus: response status received from HAL
6958 pUserData: user data
6959
6960
6961
6962 RETURN VALUE
6963 The result code associated with performing the operation
6964---------------------------------------------------------------------------*/
6965typedef void (*WDI_PNOScanCb)(WDI_Status wdiStatus,
6966 void* pUserData);
6967
6968/*---------------------------------------------------------------------------
6969 WDI_PNOScanCb
6970
6971 DESCRIPTION
6972
6973 This callback is invoked by DAL when it has received a Set PNO
6974 response from the underlying device.
6975
6976 PARAMETERS
6977
6978 IN
6979 wdiStatus: response status received from HAL
6980 pUserData: user data
6981
6982
6983
6984 RETURN VALUE
6985 The result code associated with performing the operation
6986---------------------------------------------------------------------------*/
6987typedef void (*WDI_RssiFilterCb)(WDI_Status wdiStatus,
6988 void* pUserData);
6989
6990/*---------------------------------------------------------------------------
6991 WDI_UpdateScanParamsCb
6992
6993 DESCRIPTION
6994
6995 This callback is invoked by DAL when it has received a Update Scan Params
6996 response from the underlying device.
6997
6998 PARAMETERS
6999
7000 IN
7001 wdiStatus: response status received from HAL
7002 pUserData: user data
7003
7004
7005
7006 RETURN VALUE
7007 The result code associated with performing the operation
7008---------------------------------------------------------------------------*/
7009typedef void (*WDI_UpdateScanParamsCb)(WDI_Status wdiStatus,
7010 void* pUserData);
7011#endif // FEATURE_WLAN_SCAN_PNO
7012
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07007013#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
7014/*---------------------------------------------------------------------------
7015 WDI_RoamOffloadScanCb
7016
7017 DESCRIPTION
7018
7019 This callback is invoked by DAL when it has received a Start Roam Candidate Lookup Req
7020 response from the underlying device.
7021
7022 PARAMETERS
7023
7024 IN
7025 wdiStatus: response status received from HAL
7026 pUserData: user data
7027
7028
7029
7030 RETURN VALUE
7031 The result code associated with performing the operation
7032---------------------------------------------------------------------------*/
7033typedef void (*WDI_RoamOffloadScanCb)(WDI_Status wdiStatus,
7034 void* pUserData);
7035
7036#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07007037/*---------------------------------------------------------------------------
7038 WDI_SetTxPerTrackingRspCb
7039
7040 DESCRIPTION
7041
7042 This callback is invoked by DAL when it has received a Tx PER Tracking
7043 response from the underlying device.
7044
7045 PARAMETERS
7046
7047 IN
7048 wdiStatus: response status received from HAL
7049 pUserData: user data
7050
7051
7052
7053 RETURN VALUE
7054 The result code associated with performing the operation
7055---------------------------------------------------------------------------*/
7056typedef void (*WDI_SetTxPerTrackingRspCb)(WDI_Status wdiStatus,
7057 void* pUserData);
7058
7059#ifdef WLAN_FEATURE_PACKET_FILTERING
7060/*---------------------------------------------------------------------------
7061 WDI_8023MulticastListCb
7062
7063 DESCRIPTION
7064
7065 This callback is invoked by DAL when it has received a 8023 Multicast List
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---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007079typedef void (*WDI_8023MulticastListCb)(
7080 WDI_RcvFltPktSetMcListRspParamsType *pwdiRcvFltPktSetMcListRspInfo,
7081 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007082
7083/*---------------------------------------------------------------------------
7084 WDI_ReceiveFilterSetFilterCb
7085
7086 DESCRIPTION
7087
7088 This callback is invoked by DAL when it has received a Receive Filter Set Filter
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---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007102typedef void (*WDI_ReceiveFilterSetFilterCb)(
7103 WDI_SetRcvPktFilterRspParamsType *pwdiSetRcvPktFilterRspInfo,
7104 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007105
7106/*---------------------------------------------------------------------------
7107 WDI_FilterMatchCountCb
7108
7109 DESCRIPTION
7110
7111 This callback is invoked by DAL when it has received a Do PC Filter Match Count
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_FilterMatchCountCb)(
7126 WDI_RcvFltPktMatchCntRspParamsType *pwdiRcvFltPktMatchRspParams,
7127 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007128
7129/*---------------------------------------------------------------------------
7130 WDI_ReceiveFilterClearFilterCb
7131
7132 DESCRIPTION
7133
7134 This callback is invoked by DAL when it has received a Receive Filter Clear 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_ReceiveFilterClearFilterCb)(
7149 WDI_RcvFltPktClearRspParamsType *pwdiRcvFltPktClearRspParamsType,
7150 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007151#endif // WLAN_FEATURE_PACKET_FILTERING
7152
7153/*---------------------------------------------------------------------------
7154 WDI_HALDumpCmdRspCb
7155
7156 DESCRIPTION
7157
7158 This callback is invoked by DAL when it has received a HAL DUMP Command
7159response from
7160 the HAL layer.
7161
7162 PARAMETERS
7163
7164 IN
7165 wdiHalDumpCmdRsp: response status received from HAL
7166 pUserData: user data
7167
7168
7169
7170 RETURN VALUE
7171 The result code associated with performing the operation
7172---------------------------------------------------------------------------*/
7173typedef void (*WDI_HALDumpCmdRspCb)(WDI_HALDumpCmdRspParamsType* wdiHalDumpCmdRsp,
7174 void* pUserData);
7175
7176/*---------------------------------------------------------------------------
7177 WDI_SetPowerParamsCb
7178
7179 DESCRIPTION
7180
7181 This callback is invoked by DAL when it has received a Set Power Param
7182 response from the underlying device.
7183
7184 PARAMETERS
7185
7186 IN
7187 wdiStatus: response status received from HAL
7188 pUserData: user data
7189
7190
7191
7192 RETURN VALUE
7193 The result code associated with performing the operation
7194---------------------------------------------------------------------------*/
7195typedef void (*WDI_SetPowerParamsCb)(WDI_Status wdiStatus,
7196 void* pUserData);
7197
7198#ifdef WLAN_FEATURE_GTK_OFFLOAD
7199/*---------------------------------------------------------------------------
7200 WDI_GtkOffloadCb
7201
7202 DESCRIPTION
7203
7204 This callback is invoked by DAL when it has received a GTK offload
7205 response from the underlying device.
7206
7207 PARAMETERS
7208
7209 IN
7210 wdiStatus: response status received from HAL
7211 pUserData: user data
7212
7213
7214
7215 RETURN VALUE
7216 The result code associated with performing the operation
7217---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007218typedef void (*WDI_GtkOffloadCb)( WDI_GtkOffloadRspParams *pwdiGtkOffloadRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007219 void* pUserData);
7220
7221/*---------------------------------------------------------------------------
7222 WDI_GtkOffloadGetInfoCb
7223
7224 DESCRIPTION
7225
7226 This callback is invoked by DAL when it has received a GTK offload
7227 information response from the underlying device.
7228
7229 PARAMETERS
7230
7231 IN
7232 wdiStatus: response status received from HAL
7233 pUserData: user data
7234
7235
7236
7237 RETURN VALUE
7238 The result code associated with performing the operation
7239---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007240typedef void (*WDI_GtkOffloadGetInfoCb)( WDI_GtkOffloadGetInfoRspParams *pwdiGtkOffloadGetInfoRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007241 void* pUserData);
7242#endif // WLAN_FEATURE_GTK_OFFLOAD
7243
7244/*---------------------------------------------------------------------------
7245 WDI_SetTmLevelCb
7246
7247 DESCRIPTION
7248
7249 This callback is invoked by DAL when it has received a Set New TM Level
7250 done response from the underlying device.
7251
7252 PARAMETERS
7253
7254 IN
7255 wdiStatus: response status received from HAL
7256 pUserData: user data
7257
7258
7259
7260 RETURN VALUE
7261 The result code associated with performing the operation
7262---------------------------------------------------------------------------*/
7263typedef void (*WDI_SetTmLevelCb)(WDI_Status wdiStatus,
7264 void* pUserData);
7265
7266/*---------------------------------------------------------------------------
7267 WDI_featureCapsExchangeCb
7268
7269 DESCRIPTION
7270
7271 This callback is invoked by DAL when it has received a HAL Feature Capbility
7272 Exchange Response the HAL layer. This callback is put to mantain code
7273 similarity and is not being used right now.
7274
7275 PARAMETERS
7276
7277 IN
7278 wdiFeatCapRspParams: response parameters received from HAL
7279 pUserData: user data
7280
7281 RETURN VALUE
7282 The result code associated with performing the operation
7283---------------------------------------------------------------------------*/
7284typedef void (*WDI_featureCapsExchangeCb)(void* wdiFeatCapRspParams,
7285 void* pUserData);
7286
Mohit Khanna4a70d262012-09-11 16:30:12 -07007287#ifdef WLAN_FEATURE_11AC
7288typedef void (*WDI_UpdateVHTOpModeCb)(WDI_Status wdiStatus,
7289 void* pUserData);
7290#endif
7291
Leo Chang9056f462013-08-01 19:21:11 -07007292#ifdef FEATURE_WLAN_LPHB
7293typedef void (*WDI_LphbCfgCb)(WDI_Status wdiStatus,
7294 void* pUserData);
7295#endif /* FEATURE_WLAN_LPHB */
Mohit Khanna4a70d262012-09-11 16:30:12 -07007296
Rajeev79dbe4c2013-10-05 11:03:42 +05307297#ifdef FEATURE_WLAN_BATCH_SCAN
7298/*---------------------------------------------------------------------------
7299 WDI_SetBatchScanCb
7300
7301 DESCRIPTION
7302
7303 This callback is invoked by DAL when it has received a get batch scan
7304 response from the underlying device.
7305
7306 PARAMETERS
7307
7308 IN
7309 wdiStatus: response status received from HAL
7310 pUserData: user data
7311
7312
7313
7314 RETURN VALUE
7315 The result code associated with performing the operation
7316---------------------------------------------------------------------------*/
7317typedef void (*WDI_SetBatchScanCb)(void *pData, WDI_SetBatchScanRspType *pRsp);
7318
7319#endif
7320
7321
Jeff Johnson295189b2012-06-20 16:38:30 -07007322/*========================================================================
7323 * Function Declarations and Documentation
7324 ==========================================================================*/
7325
7326/*========================================================================
7327
7328 INITIALIZATION APIs
7329
7330==========================================================================*/
7331
7332/**
7333 @brief WDI_Init is used to initialize the DAL.
7334
7335 DAL will allocate all the resources it needs. It will open PAL, it will also
7336 open both the data and the control transport which in their turn will open
7337 DXE/SMD or any other drivers that they need.
7338
7339 @param pOSContext: pointer to the OS context provided by the UMAC
7340 will be passed on to PAL on Open
7341 ppWDIGlobalCtx: output pointer of Global Context
7342 pWdiDevCapability: output pointer of device capability
7343
7344 @return Result of the function call
7345*/
7346WDI_Status
7347WDI_Init
7348(
7349 void* pOSContext,
7350 void** ppWDIGlobalCtx,
7351 WDI_DeviceCapabilityType* pWdiDevCapability,
7352 unsigned int driverType
7353);
7354
7355/**
7356 @brief WDI_Start will be called when the upper MAC is ready to
7357 commence operation with the WLAN Device. Upon the call
7358 of this API the WLAN DAL will pack and send a HAL Start
7359 message to the lower RIVA sub-system if the SMD channel
7360 has been fully opened and the RIVA subsystem is up.
7361
7362 If the RIVA sub-system is not yet up and running DAL
7363 will queue the request for Open and will wait for the
7364 SMD notification before attempting to send down the
7365 message to HAL.
7366
7367 WDI_Init must have been called.
7368
7369 @param wdiStartParams: the start parameters as specified by
7370 the Device Interface
7371
7372 wdiStartRspCb: callback for passing back the response of
7373 the start operation received from the device
7374
7375 pUserData: user data will be passed back with the
7376 callback
7377
7378 @see WDI_Start
7379 @return Result of the function call
7380*/
7381WDI_Status
7382WDI_Start
7383(
7384 WDI_StartReqParamsType* pwdiStartParams,
7385 WDI_StartRspCb wdiStartRspCb,
7386 void* pUserData
7387);
7388
7389
7390/**
7391 @brief WDI_Stop will be called when the upper MAC is ready to
7392 stop any operation with the WLAN Device. Upon the call
7393 of this API the WLAN DAL will pack and send a HAL Stop
7394 message to the lower RIVA sub-system if the DAL Core is
7395 in started state.
7396
7397 In state BUSY this request will be queued.
7398
7399 Request will not be accepted in any other state.
7400
7401 WDI_Start must have been called.
7402
7403 @param wdiStopParams: the stop parameters as specified by
7404 the Device Interface
7405
7406 wdiStopRspCb: callback for passing back the response of
7407 the stop operation received from the device
7408
7409 pUserData: user data will be passed back with the
7410 callback
7411
7412 @see WDI_Start
7413 @return Result of the function call
7414*/
7415WDI_Status
7416WDI_Stop
7417(
7418 WDI_StopReqParamsType* pwdiStopParams,
7419 WDI_StopRspCb wdiStopRspCb,
7420 void* pUserData
7421);
7422
7423/**
7424 @brief WDI_Close will be called when the upper MAC no longer
7425 needs to interract with DAL. DAL will free its control
7426 block.
7427
7428 It is only accepted in state STOPPED.
7429
7430 WDI_Stop must have been called.
7431
7432 @param none
7433
7434 @see WDI_Stop
7435 @return Result of the function call
7436*/
7437WDI_Status
7438WDI_Close
7439(
7440 void
7441);
7442
7443
7444/**
7445 @brief WDI_Shutdown will be called during 'SSR shutdown' operation.
7446 This will do most of the WDI stop & close
7447 operations without doing any handshake with Riva
7448
7449 This will also make sure that the control transport
7450 will NOT be closed.
7451
7452 This request will not be queued.
7453
7454
7455 WDI_Start must have been called.
7456
7457 @param closeTransport: Close control channel if this is set
7458
7459 @return Result of the function call
7460*/
7461WDI_Status
7462WDI_Shutdown
7463(
7464 wpt_boolean closeTransport
7465);
7466
7467/*========================================================================
7468
7469 SCAN APIs
7470
7471==========================================================================*/
7472
7473/**
7474 @brief WDI_InitScanReq will be called when the upper MAC wants
7475 the WLAN Device to get ready for a scan procedure. Upon
7476 the call of this API the WLAN DAL will pack and send a
7477 HAL Init Scan request message to the lower RIVA
7478 sub-system if DAL is in state STARTED.
7479
7480 In state BUSY this request will be queued. Request won't
7481 be allowed in any other state.
7482
7483 WDI_Start must have been called.
7484
7485 @param wdiInitScanParams: the init scan parameters as specified
7486 by the Device Interface
7487
7488 wdiInitScanRspCb: callback for passing back the response
7489 of the init scan operation received from the device
7490
7491 pUserData: user data will be passed back with the
7492 callback
7493
7494 @see WDI_Start
7495 @return Result of the function call
7496*/
7497WDI_Status
7498WDI_InitScanReq
7499(
7500 WDI_InitScanReqParamsType* pwdiInitScanParams,
7501 WDI_InitScanRspCb wdiInitScanRspCb,
7502 void* pUserData
7503);
7504
7505/**
7506 @brief WDI_StartScanReq will be called when the upper MAC
7507 wishes to change the Scan channel on the WLAN Device.
7508 Upon the call of this API the WLAN DAL will pack and
7509 send a HAL Start Scan request message to the lower RIVA
7510 sub-system if DAL is in state STARTED.
7511
7512 In state BUSY this request will be queued. Request won't
7513 be allowed in any other state.
7514
7515 WDI_InitScanReq must have been called.
7516
7517 @param wdiStartScanParams: the start scan parameters as
7518 specified by the Device Interface
7519
7520 wdiStartScanRspCb: callback for passing back the
7521 response of the start scan operation received from the
7522 device
7523
7524 pUserData: user data will be passed back with the
7525 callback
7526
7527 @see WDI_InitScanReq
7528 @return Result of the function call
7529*/
7530WDI_Status
7531WDI_StartScanReq
7532(
7533 WDI_StartScanReqParamsType* pwdiStartScanParams,
7534 WDI_StartScanRspCb wdiStartScanRspCb,
7535 void* pUserData
7536);
7537
7538
7539/**
7540 @brief WDI_EndScanReq will be called when the upper MAC is
7541 wants to end scanning for a particular channel that it
7542 had set before by calling Scan Start on the WLAN Device.
7543 Upon the call of this API the WLAN DAL will pack and
7544 send a HAL End Scan request message to the lower RIVA
7545 sub-system if DAL is in state STARTED.
7546
7547 In state BUSY this request will be queued. Request won't
7548 be allowed in any other state.
7549
7550 WDI_StartScanReq must have been called.
7551
7552 @param wdiEndScanParams: the end scan parameters as specified
7553 by the Device Interface
7554
7555 wdiEndScanRspCb: callback for passing back the response
7556 of the end scan operation received from the device
7557
7558 pUserData: user data will be passed back with the
7559 callback
7560
7561 @see WDI_StartScanReq
7562 @return Result of the function call
7563*/
7564WDI_Status
7565WDI_EndScanReq
7566(
7567 WDI_EndScanReqParamsType* pwdiEndScanParams,
7568 WDI_EndScanRspCb wdiEndScanRspCb,
7569 void* pUserData
7570);
7571
7572
7573/**
7574 @brief WDI_FinishScanReq will be called when the upper MAC has
7575 completed the scan process on the WLAN Device. Upon the
7576 call of this API the WLAN DAL will pack and send a HAL
7577 Finish Scan Request request message to the lower RIVA
7578 sub-system if DAL is in state STARTED.
7579
7580 In state BUSY this request will be queued. Request won't
7581 be allowed in any other state.
7582
7583 WDI_InitScanReq must have been called.
7584
7585 @param wdiFinishScanParams: the finish scan parameters as
7586 specified by the Device Interface
7587
7588 wdiFinishScanRspCb: callback for passing back the
7589 response of the finish scan operation received from the
7590 device
7591
7592 pUserData: user data will be passed back with the
7593 callback
7594
7595 @see WDI_InitScanReq
7596 @return Result of the function call
7597*/
7598WDI_Status
7599WDI_FinishScanReq
7600(
7601 WDI_FinishScanReqParamsType* pwdiFinishScanParams,
7602 WDI_FinishScanRspCb wdiFinishScanRspCb,
7603 void* pUserData
7604);
7605
7606/*========================================================================
7607
7608 ASSOCIATION APIs
7609
7610==========================================================================*/
7611
7612/**
7613 @brief WDI_JoinReq will be called when the upper MAC is ready
7614 to start an association procedure to a BSS. Upon the
7615 call of this API the WLAN DAL will pack and send a HAL
7616 Join request message to the lower RIVA sub-system if
7617 DAL is in state STARTED.
7618
7619 In state BUSY this request will be queued. Request won't
7620 be allowed in any other state.
7621
7622 WDI_Start must have been called.
7623
7624 @param wdiJoinParams: the join parameters as specified by
7625 the Device Interface
7626
7627 wdiJoinRspCb: callback for passing back the response of
7628 the join operation received from the device
7629
7630 pUserData: user data will be passed back with the
7631 callback
7632
7633 @see WDI_Start
7634 @return Result of the function call
7635*/
7636WDI_Status
7637WDI_JoinReq
7638(
7639 WDI_JoinReqParamsType* pwdiJoinParams,
7640 WDI_JoinRspCb wdiJoinRspCb,
7641 void* pUserData
7642);
7643
7644/**
7645 @brief WDI_ConfigBSSReq will be called when the upper MAC
7646 wishes to configure the newly acquired or in process of
7647 being acquired BSS to the HW . Upon the call of this API
7648 the WLAN DAL will pack and send a HAL Config BSS request
7649 message to the lower RIVA sub-system if DAL is in state
7650 STARTED.
7651
7652 In state BUSY this request will be queued. Request won't
7653 be allowed in any other state.
7654
7655 WDI_JoinReq must have been called.
7656
7657 @param wdiConfigBSSParams: the config BSS parameters as
7658 specified by the Device Interface
7659
7660 wdiConfigBSSRspCb: callback for passing back the
7661 response of the config BSS operation received from the
7662 device
7663
7664 pUserData: user data will be passed back with the
7665 callback
7666
7667 @see WDI_JoinReq
7668 @return Result of the function call
7669*/
7670WDI_Status
7671WDI_ConfigBSSReq
7672(
7673 WDI_ConfigBSSReqParamsType* pwdiConfigBSSParams,
7674 WDI_ConfigBSSRspCb wdiConfigBSSRspCb,
7675 void* pUserData
7676);
7677
7678/**
7679 @brief WDI_DelBSSReq will be called when the upper MAC is
7680 dissasociating from the BSS and wishes to notify HW.
7681 Upon the call of this API the WLAN DAL will pack and
7682 send a HAL Del BSS request message to the lower RIVA
7683 sub-system if DAL is in state STARTED.
7684
7685 In state BUSY this request will be queued. Request won't
7686 be allowed in any other state.
7687
7688 WDI_ConfigBSSReq or WDI_PostAssocReq must have been called.
7689
7690 @param wdiDelBSSParams: the del BSS parameters as specified by
7691 the Device Interface
7692
7693 wdiDelBSSRspCb: callback for passing back the response
7694 of the del bss operation received from the device
7695
7696 pUserData: user data will be passed back with the
7697 callback
7698
7699 @see WDI_ConfigBSSReq, WDI_PostAssocReq
7700 @return Result of the function call
7701*/
7702WDI_Status
7703WDI_DelBSSReq
7704(
7705 WDI_DelBSSReqParamsType* pwdiDelBSSParams,
7706 WDI_DelBSSRspCb wdiDelBSSRspCb,
7707 void* pUserData
7708);
7709
7710/**
7711 @brief WDI_PostAssocReq will be called when the upper MAC has
7712 associated to a BSS and wishes to configure HW for
7713 associated state. Upon the call of this API the WLAN DAL
7714 will pack and send a HAL Post Assoc request message to
7715 the lower RIVA sub-system if DAL is in state STARTED.
7716
7717 In state BUSY this request will be queued. Request won't
7718 be allowed in any other state.
7719
7720 WDI_JoinReq must have been called.
7721
7722 @param wdiPostAssocReqParams: the assoc parameters as specified
7723 by the Device Interface
7724
7725 wdiPostAssocRspCb: callback for passing back the
7726 response of the post assoc operation received from the
7727 device
7728
7729 pUserData: user data will be passed back with the
7730 callback
7731
7732 @see WDI_JoinReq
7733 @return Result of the function call
7734*/
7735WDI_Status
7736WDI_PostAssocReq
7737(
7738 WDI_PostAssocReqParamsType* pwdiPostAssocReqParams,
7739 WDI_PostAssocRspCb wdiPostAssocRspCb,
7740 void* pUserData
7741);
7742
7743/**
7744 @brief WDI_DelSTAReq will be called when the upper MAC when an
7745 association with another STA has ended and the station
7746 must be deleted from HW. Upon the call of this API the
7747 WLAN DAL will pack and send a HAL Del STA request
7748 message to the lower RIVA sub-system if DAL is in state
7749 STARTED.
7750
7751 In state BUSY this request will be queued. Request won't
7752 be allowed in any other state.
7753
7754 WDI_PostAssocReq must have been called.
7755
7756 @param wdiDelSTAParams: the Del STA parameters as specified by
7757 the Device Interface
7758
7759 wdiDelSTARspCb: callback for passing back the response
7760 of the del STA operation received from the device
7761
7762 pUserData: user data will be passed back with the
7763 callback
7764
7765 @see WDI_PostAssocReq
7766 @return Result of the function call
7767*/
7768WDI_Status
7769WDI_DelSTAReq
7770(
7771 WDI_DelSTAReqParamsType* pwdiDelSTAParams,
7772 WDI_DelSTARspCb wdiDelSTARspCb,
7773 void* pUserData
7774);
7775
7776/*========================================================================
7777
7778 SECURITY APIs
7779
7780==========================================================================*/
7781
7782/**
7783 @brief WDI_SetBSSKeyReq will be called when the upper MAC ito
7784 install a BSS encryption key on the HW. Upon the call of
7785 this API the WLAN DAL will pack and send a HAL Start
7786 request message to the lower RIVA sub-system if DAL is
7787 in state STARTED.
7788
7789 In state BUSY this request will be queued. Request won't
7790 be allowed in any other state.
7791
7792 WDI_PostAssocReq must have been called.
7793
7794 @param wdiSetBSSKeyParams: the BSS Key set parameters as
7795 specified by the Device Interface
7796
7797 wdiSetBSSKeyRspCb: callback for passing back the
7798 response of the set BSS Key operation received from the
7799 device
7800
7801 pUserData: user data will be passed back with the
7802 callback
7803
7804 @see WDI_PostAssocReq
7805 @return Result of the function call
7806*/
7807WDI_Status
7808WDI_SetBSSKeyReq
7809(
7810 WDI_SetBSSKeyReqParamsType* pwdiSetBSSKeyParams,
7811 WDI_SetBSSKeyRspCb wdiSetBSSKeyRspCb,
7812 void* pUserData
7813);
7814
7815
7816/**
7817 @brief WDI_RemoveBSSKeyReq will be called when the upper MAC to
7818 uninstall a BSS key from HW. Upon the call of this API
7819 the WLAN DAL will pack and send a HAL Remove BSS Key
7820 request message to the lower RIVA sub-system if DAL is
7821 in state STARTED.
7822
7823 In state BUSY this request will be queued. Request won't
7824 be allowed in any other state.
7825
7826 WDI_SetBSSKeyReq must have been called.
7827
7828 @param wdiRemoveBSSKeyParams: the remove BSS key parameters as
7829 specified by the Device Interface
7830
7831 wdiRemoveBSSKeyRspCb: callback for passing back the
7832 response of the remove BSS key operation received from
7833 the device
7834
7835 pUserData: user data will be passed back with the
7836 callback
7837
7838 @see WDI_SetBSSKeyReq
7839 @return Result of the function call
7840*/
7841WDI_Status
7842WDI_RemoveBSSKeyReq
7843(
7844 WDI_RemoveBSSKeyReqParamsType* pwdiRemoveBSSKeyParams,
7845 WDI_RemoveBSSKeyRspCb wdiRemoveBSSKeyRspCb,
7846 void* pUserData
7847);
7848
7849
7850/**
7851 @brief WDI_SetSTAKeyReq will be called when the upper MAC is
7852 ready to install a STA(ast) encryption key in HW. Upon
7853 the call of this API the WLAN DAL will pack and send a
7854 HAL Set STA Key request message to the lower RIVA
7855 sub-system if DAL is in state STARTED.
7856
7857 In state BUSY this request will be queued. Request won't
7858 be allowed in any other state.
7859
7860 WDI_PostAssocReq must have been called.
7861
7862 @param wdiSetSTAKeyParams: the set STA key parameters as
7863 specified by the Device Interface
7864
7865 wdiSetSTAKeyRspCb: callback for passing back the
7866 response of the set STA key operation received from the
7867 device
7868
7869 pUserData: user data will be passed back with the
7870 callback
7871
7872 @see WDI_PostAssocReq
7873 @return Result of the function call
7874*/
7875WDI_Status
7876WDI_SetSTAKeyReq
7877(
7878 WDI_SetSTAKeyReqParamsType* pwdiSetSTAKeyParams,
7879 WDI_SetSTAKeyRspCb wdiSetSTAKeyRspCb,
7880 void* pUserData
7881);
7882
7883
7884/**
7885 @brief WDI_RemoveSTAKeyReq will be called when the upper MAC
7886 wants to unistall a previously set STA key in HW. Upon
7887 the call of this API the WLAN DAL will pack and send a
7888 HAL Remove STA Key request message to the lower RIVA
7889 sub-system if DAL is in state STARTED.
7890
7891 In state BUSY this request will be queued. Request won't
7892 be allowed in any other state.
7893
7894 WDI_SetSTAKeyReq must have been called.
7895
7896 @param wdiRemoveSTAKeyParams: the remove STA key parameters as
7897 specified by the Device Interface
7898
7899 wdiRemoveSTAKeyRspCb: callback for passing back the
7900 response of the remove STA key operation received from
7901 the device
7902
7903 pUserData: user data will be passed back with the
7904 callback
7905
7906 @see WDI_SetSTAKeyReq
7907 @return Result of the function call
7908*/
7909WDI_Status
7910WDI_RemoveSTAKeyReq
7911(
7912 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTAKeyParams,
7913 WDI_RemoveSTAKeyRspCb wdiRemoveSTAKeyRspCb,
7914 void* pUserData
7915);
7916
7917/**
7918 @brief WDI_SetSTABcastKeyReq will be called when the upper MAC
7919 wants to install a STA Bcast encryption key on the HW.
7920 Upon the call of this API the WLAN DAL will pack and
7921 send a HAL Start request message to the lower RIVA
7922 sub-system if DAL is in state STARTED.
7923
7924 In state BUSY this request will be queued. Request won't
7925 be allowed in any other state.
7926
7927 WDI_PostAssocReq must have been called.
7928
7929 @param pwdiSetSTABcastKeyParams: the BSS Key set parameters as
7930 specified by the Device Interface
7931
7932 wdiSetSTABcastKeyRspCb: callback for passing back the
7933 response of the set BSS Key operation received from the
7934 device
7935
7936 pUserData: user data will be passed back with the
7937 callback
7938
7939 @see WDI_PostAssocReq
7940 @return Result of the function call
7941*/
7942WDI_Status
7943WDI_SetSTABcastKeyReq
7944(
7945 WDI_SetSTAKeyReqParamsType* pwdiSetSTABcastKeyParams,
7946 WDI_SetSTAKeyRspCb wdiSetSTABcastKeyRspCb,
7947 void* pUserData
7948);
7949
7950
7951/**
7952 @brief WDI_RemoveSTABcastKeyReq will be called when the upper
7953 MAC to uninstall a STA Bcast key from HW. Upon the call
7954 of this API the WLAN DAL will pack and send a HAL Remove
7955 STA Bcast Key request message to the lower RIVA
7956 sub-system if DAL is in state STARTED.
7957
7958 In state BUSY this request will be queued. Request won't
7959 be allowed in any other state.
7960
7961 WDI_SetSTABcastKeyReq must have been called.
7962
7963 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
7964 parameters as specified by the Device
7965 Interface
7966
7967 wdiRemoveSTABcastKeyRspCb: callback for passing back the
7968 response of the remove STA Bcast key operation received
7969 from the device
7970
7971 pUserData: user data will be passed back with the
7972 callback
7973
7974 @see WDI_SetSTABcastKeyReq
7975 @return Result of the function call
7976*/
7977WDI_Status
7978WDI_RemoveSTABcastKeyReq
7979(
7980 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTABcastKeyParams,
7981 WDI_RemoveSTAKeyRspCb wdiRemoveSTABcastKeyRspCb,
7982 void* pUserData
7983);
7984
schang86c22c42013-03-13 18:41:24 -07007985
7986/**
7987 @brief WDI_SetTxPowerReq will be called when the upper
7988 MAC wants to set Tx Power to HW.
7989 In state BUSY this request will be queued. Request won't
7990 be allowed in any other state.
7991
7992
7993 @param pwdiSetTxPowerParams: set TS Power parameters
7994 BSSID and target TX Power with dbm included
7995
7996 wdiReqStatusCb: callback for passing back the response
7997
7998 pUserData: user data will be passed back with the
7999 callback
8000
8001 @return Result of the function call
8002*/
8003WDI_Status
8004WDI_SetTxPowerReq
8005(
8006 WDI_SetTxPowerParamsType* pwdiSetTxPowerParams,
8007 WDA_SetTxPowerRspCb wdiReqStatusCb,
8008 void* pUserData
8009);
8010
Jeff Johnson295189b2012-06-20 16:38:30 -07008011/**
8012 @brief WDI_SetMaxTxPowerReq will be called when the upper
8013 MAC wants to set Max Tx Power to HW. Upon the
8014 call of this API the WLAN DAL will pack and send a HAL
8015 Remove STA Bcast Key request message to the lower RIVA
8016 sub-system if DAL is in state STARTED.
8017
8018 In state BUSY this request will be queued. Request won't
8019 be allowed in any other state.
8020
8021 WDI_SetSTABcastKeyReq must have been called.
8022
8023 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
8024 parameters as specified by the Device
8025 Interface
8026
8027 wdiRemoveSTABcastKeyRspCb: callback for passing back the
8028 response of the remove STA Bcast key operation received
8029 from the device
8030
8031 pUserData: user data will be passed back with the
8032 callback
8033
8034 @see WDI_SetMaxTxPowerReq
8035 @return Result of the function call
8036*/
8037WDI_Status
8038WDI_SetMaxTxPowerReq
8039(
8040 WDI_SetMaxTxPowerParamsType* pwdiSetMaxTxPowerParams,
8041 WDA_SetMaxTxPowerRspCb wdiReqStatusCb,
8042 void* pUserData
8043);
8044
Arif Hussaina5ebce02013-08-09 15:09:58 -07008045/**
8046 @brief WDI_SetMaxTxPowerPerBandReq will be called when the upper
8047 MAC wants to set Max Tx Power to HW for specific band. Upon the
8048 call of this API the WLAN DAL will pack and send a HAL
8049 Set Max Tx Power Per Band request message to the lower RIVA
8050 sub-system if DAL is in state STARTED.
8051
8052 In state BUSY this request will be queued. Request won't
8053 be allowed in any other state.
8054
8055
8056 @param WDI_SetMaxTxPowerPerBandParamsType: Max Tx Per Band Info
8057
8058 WDA_SetMaxTxPowerPerBandRspCb: This callback is invoked by DAL
8059 when it has received a set max Tx Power Per Band response from
8060 the underlying device.
8061
8062 pUserData: user data will be passed back with the
8063 callback
8064
8065 @see WDI_SetMaxTxPowerPerBandReq
8066 @return Result of the function call
8067*/
8068WDI_Status
8069WDI_SetMaxTxPowerPerBandReq
8070(
8071 WDI_SetMaxTxPowerPerBandParamsType* pwdiSetMaxTxPowerPerBandParams,
8072 WDA_SetMaxTxPowerPerBandRspCb wdiReqStatusCb,
8073 void* pUserData
8074);
8075
Jeff Johnson295189b2012-06-20 16:38:30 -07008076#ifdef FEATURE_WLAN_CCX
8077/**
8078 @brief WDI_TSMStatsReq will be called by the upper MAC to fetch
8079 Traffic Stream metrics.
8080 In state BUSY this request will be queued. Request won't
8081 be allowed in any other state.
8082
8083 @param wdiAddTsReqParams: the add TS parameters as specified by
8084 the Device Interface
8085
8086 wdiAddTsRspCb: callback for passing back the response of
8087 the add TS operation received from the device
8088
8089 pUserData: user data will be passed back with the
8090 callback
8091
8092 @see WDI_PostAssocReq
8093 @return Result of the function call
8094*/
8095WDI_Status
8096WDI_TSMStatsReq
8097(
8098 WDI_TSMStatsReqParamsType* pwdiTsmStatsReqParams,
8099 WDI_TsmRspCb wdiTsmStatsRspCb,
8100 void* pUserData
8101);
8102
8103
8104#endif
8105
8106/*========================================================================
8107
8108 QoS and BA APIs
8109
8110==========================================================================*/
8111
8112/**
8113 @brief WDI_AddTSReq will be called when the upper MAC to inform
8114 the device of a successful add TSpec negotiation. HW
8115 needs to receive the TSpec Info from the UMAC in order
8116 to configure properly the QoS data traffic. Upon the
8117 call of this API the WLAN DAL will pack and send a HAL
8118 Add TS request message to the lower RIVA sub-system if
8119 DAL is in state STARTED.
8120
8121 In state BUSY this request will be queued. Request won't
8122 be allowed in any other state.
8123
8124 WDI_PostAssocReq must have been called.
8125
8126 @param wdiAddTsReqParams: the add TS parameters as specified by
8127 the Device Interface
8128
8129 wdiAddTsRspCb: callback for passing back the response of
8130 the add TS operation received from the device
8131
8132 pUserData: user data will be passed back with the
8133 callback
8134
8135 @see WDI_PostAssocReq
8136 @return Result of the function call
8137*/
8138WDI_Status
8139WDI_AddTSReq
8140(
8141 WDI_AddTSReqParamsType* pwdiAddTsReqParams,
8142 WDI_AddTsRspCb wdiAddTsRspCb,
8143 void* pUserData
8144);
8145
8146
8147
8148/**
8149 @brief WDI_DelTSReq will be called when the upper MAC has ended
8150 admission on a specific AC. This is to inform HW that
8151 QoS traffic parameters must be rest. Upon the call of
8152 this API the WLAN DAL will pack and send a HAL Del TS
8153 request message to the lower RIVA sub-system if DAL is
8154 in state STARTED.
8155
8156 In state BUSY this request will be queued. Request won't
8157 be allowed in any other state.
8158
8159 WDI_AddTSReq must have been called.
8160
8161 @param wdiDelTsReqParams: the del TS parameters as specified by
8162 the Device Interface
8163
8164 wdiDelTsRspCb: callback for passing back the response of
8165 the del TS operation received from the device
8166
8167 pUserData: user data will be passed back with the
8168 callback
8169
8170 @see WDI_AddTSReq
8171 @return Result of the function call
8172*/
8173WDI_Status
8174WDI_DelTSReq
8175(
8176 WDI_DelTSReqParamsType* pwdiDelTsReqParams,
8177 WDI_DelTsRspCb wdiDelTsRspCb,
8178 void* pUserData
8179);
8180
8181
8182
8183/**
8184 @brief WDI_UpdateEDCAParams will be called when the upper MAC
8185 wishes to update the EDCA parameters used by HW for QoS
8186 data traffic. Upon the call of this API the WLAN DAL
8187 will pack and send a HAL Update EDCA Params request
8188 message to the lower RIVA sub-system if DAL is in state
8189 STARTED.
8190
8191 In state BUSY this request will be queued. Request won't
8192 be allowed in any other state.
8193
8194 WDI_PostAssocReq must have been called.
8195
8196 @param wdiUpdateEDCAParams: the start parameters as specified
8197 by the Device Interface
8198
8199 wdiUpdateEDCAParamsRspCb: callback for passing back the
8200 response of the start operation received from the device
8201
8202 pUserData: user data will be passed back with the
8203 callback
8204
8205 @see WDI_PostAssocReq
8206 @return Result of the function call
8207*/
8208WDI_Status
8209WDI_UpdateEDCAParams
8210(
8211 WDI_UpdateEDCAParamsType* pwdiUpdateEDCAParams,
8212 WDI_UpdateEDCAParamsRspCb wdiUpdateEDCAParamsRspCb,
8213 void* pUserData
8214);
8215
8216
8217
8218/**
8219 @brief WDI_AddBASessionReq will be called when the upper MAC has setup
8220 successfully a BA session and needs to notify the HW for
8221 the appropriate settings to take place. Upon the call of
8222 this API the WLAN DAL will pack and send a HAL Add BA
8223 request message to the lower RIVA sub-system if DAL is
8224 in state STARTED.
8225
8226 In state BUSY this request will be queued. Request won't
8227 be allowed in any other state.
8228
8229 WDI_PostAssocReq must have been called.
8230
8231 @param wdiAddBAReqParams: the add BA parameters as specified by
8232 the Device Interface
8233
8234 wdiAddBARspCb: callback for passing back the response of
8235 the add BA operation received from the device
8236
8237 pUserData: user data will be passed back with the
8238 callback
8239
8240 @see WDI_PostAssocReq
8241 @return Result of the function call
8242*/
8243WDI_Status
8244WDI_AddBASessionReq
8245(
8246 WDI_AddBASessionReqParamsType* pwdiAddBASessionReqParams,
8247 WDI_AddBASessionRspCb wdiAddBASessionRspCb,
8248 void* pUserData
8249);
8250
8251
8252/**
8253 @brief WDI_DelBAReq will be called when the upper MAC wants to
8254 inform HW that it has deleted a previously created BA
8255 session. Upon the call of this API the WLAN DAL will
8256 pack and send a HAL Del BA request message to the lower
8257 RIVA sub-system if DAL is in state STARTED.
8258
8259 In state BUSY this request will be queued. Request won't
8260 be allowed in any other state.
8261
8262 WDI_AddBAReq must have been called.
8263
8264 @param wdiDelBAReqParams: the del BA parameters as specified by
8265 the Device Interface
8266
8267 wdiDelBARspCb: callback for passing back the response of
8268 the del BA operation received from the device
8269
8270 pUserData: user data will be passed back with the
8271 callback
8272
8273 @see WDI_AddBAReq
8274 @return Result of the function call
8275*/
8276WDI_Status
8277WDI_DelBAReq
8278(
8279 WDI_DelBAReqParamsType* pwdiDelBAReqParams,
8280 WDI_DelBARspCb wdiDelBARspCb,
8281 void* pUserData
8282);
8283
8284/**
8285 @brief WDI_UpdateBeaconParamsReq will be called when the upper MAC wants to
8286 inform HW that there is a change in the beacon parameters
8287 Upon the call of this API the WLAN DAL will
8288 pack and send a UpdateBeacon Params message to the lower
8289 RIVA sub-system if DAL is in state STARTED.
8290
8291 In state BUSY this request will be queued. Request won't
8292 be allowed in any other state.
8293
8294 WDI_UpdateBeaconParamsReq must have been called.
8295
8296 @param WDI_UpdateBeaconParamsType: the Update Beacon parameters as specified by
8297 the Device Interface
8298
8299 WDI_UpdateBeaconParamsRspCb: callback for passing back the response of
8300 the Update Beacon Params operation received from the device
8301
8302 pUserData: user data will be passed back with the
8303 callback
8304
8305 @see WDI_AddBAReq
8306 @return Result of the function call
8307*/
8308
8309WDI_Status
8310WDI_UpdateBeaconParamsReq
8311(
8312 WDI_UpdateBeaconParamsType * pwdiUpdateBeaconParams,
8313 WDI_UpdateBeaconParamsRspCb wdiUpdateBeaconParamsRspCb,
8314 void* pUserData
8315);
8316
8317
8318/**
8319 @brief WDI_SendBeaconParamsReq will be called when the upper MAC wants to
8320 update the beacon template to be transmitted as BT MAP STA/IBSS/Soft AP
8321 Upon the call of this API the WLAN DAL will
8322 pack and send the beacon Template message to the lower
8323 RIVA sub-system if DAL is in state STARTED.
8324
8325 In state BUSY this request will be queued. Request won't
8326 be allowed in any other state.
8327
8328 WDI_SendBeaconParamsReq must have been called.
8329
8330 @param WDI_SendBeaconParamsType: the Update Beacon parameters as specified by
8331 the Device Interface
8332
8333 WDI_SendBeaconParamsRspCb: callback for passing back the response of
8334 the Send Beacon Params operation received from the device
8335
8336 pUserData: user data will be passed back with the
8337 callback
8338
8339 @see WDI_AddBAReq
8340 @return Result of the function call
8341*/
8342
8343WDI_Status
8344WDI_SendBeaconParamsReq
8345(
8346 WDI_SendBeaconParamsType* pwdiSendBeaconParams,
8347 WDI_SendBeaconParamsRspCb wdiSendBeaconParamsRspCb,
8348 void* pUserData
8349);
8350
8351
8352/**
8353 @brief WDI_UpdateProbeRspTemplateReq will be called when the
8354 upper MAC wants to update the probe response template to
8355 be transmitted as Soft AP
8356 Upon the call of this API the WLAN DAL will
8357 pack and send the probe rsp template message to the
8358 lower RIVA sub-system if DAL is in state STARTED.
8359
8360 In state BUSY this request will be queued. Request won't
8361 be allowed in any other state.
8362
8363
8364 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
8365 specified by the Device Interface
8366
8367 wdiSendBeaconParamsRspCb: callback for passing back the
8368 response of the Send Beacon Params operation received
8369 from the device
8370
8371 pUserData: user data will be passed back with the
8372 callback
8373
8374 @see WDI_AddBAReq
8375 @return Result of the function call
8376*/
8377
8378WDI_Status
8379WDI_UpdateProbeRspTemplateReq
8380(
8381 WDI_UpdateProbeRspTemplateParamsType* pwdiUpdateProbeRspParams,
8382 WDI_UpdateProbeRspTemplateRspCb wdiSendBeaconParamsRspCb,
8383 void* pUserData
8384);
8385
Jeff Johnson295189b2012-06-20 16:38:30 -07008386/**
8387 @brief WDI_SetP2PGONOAReq will be called when the
8388 upper MAC wants to send Notice of Absence
8389 Upon the call of this API the WLAN DAL will
8390 pack and send the probe rsp template message to the
8391 lower RIVA sub-system if DAL is in state STARTED.
8392
8393 In state BUSY this request will be queued. Request won't
8394 be allowed in any other state.
8395
8396
8397 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
8398 specified by the Device Interface
8399
8400 wdiSendBeaconParamsRspCb: callback for passing back the
8401 response of the Send Beacon Params operation received
8402 from the device
8403
8404 pUserData: user data will be passed back with the
8405 callback
8406
8407 @see WDI_AddBAReq
8408 @return Result of the function call
8409*/
8410WDI_Status
8411WDI_SetP2PGONOAReq
8412(
8413 WDI_SetP2PGONOAReqParamsType* pwdiP2PGONOAReqParams,
8414 WDI_SetP2PGONOAReqParamsRspCb wdiP2PGONOAReqParamsRspCb,
8415 void* pUserData
8416);
Jeff Johnson295189b2012-06-20 16:38:30 -07008417
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05308418/**
8419 @brief WDI_SetTDLSLinkEstablishReq will be called when the
8420 upper MAC wants to send TDLS Link Establish Request Parameters
8421 Upon the call of this API the WLAN DAL will
8422 pack and send the TDLS Link Establish Request message to the
8423 lower RIVA sub-system if DAL is in state STARTED.
8424
8425 In state BUSY this request will be queued. Request won't
8426 be allowed in any other state.
8427
8428
8429 @param pwdiTDLSLinkEstablishReqParams: TDLS Peer Parameters
8430 for Link Establishment (Used for PUAPSD , TDLS Off Channel ...)
8431
8432 wdiTDLSLinkEstablishReqRspCb: callback for passing back the
8433 response of the TDLS Link Establish request received
8434 from the device
8435
8436 pUserData: user data will be passed back with the
8437 callback
8438
8439 @see
8440 @return Result of the function call
8441*/
8442WDI_Status
8443WDI_SetTDLSLinkEstablishReq
8444(
8445 WDI_SetTDLSLinkEstablishReqParamsType* pwdiTDLSLinkEstablishReqParams,
8446 WDI_SetTDLSLinkEstablishReqParamsRspCb wdiTDLSLinkEstablishReqRspCb,
8447 void* pUserData
8448);
Jeff Johnson295189b2012-06-20 16:38:30 -07008449
8450/*========================================================================
8451
8452 Power Save APIs
8453
8454==========================================================================*/
8455
8456/**
8457 @brief WDI_SetPwrSaveCfgReq will be called when the upper MAC
8458 wants to set the power save related configurations of
8459 the WLAN Device. Upon the call of this API the WLAN DAL
8460 will pack and send a HAL Update CFG request message to
8461 the lower RIVA sub-system if DAL is in state STARTED.
8462
8463 In state BUSY this request will be queued. Request won't
8464 be allowed in any other state.
8465
8466 WDI_Start must have been called.
8467
8468 @param pwdiPowerSaveCfg: the power save cfg parameters as
8469 specified by the Device Interface
8470
8471 wdiSetPwrSaveCfgCb: callback for passing back the
8472 response of the set power save cfg operation received
8473 from the device
8474
8475 pUserData: user data will be passed back with the
8476 callback
8477
8478 @see WDI_Start
8479 @return Result of the function call
8480*/
8481WDI_Status
8482WDI_SetPwrSaveCfgReq
8483(
8484 WDI_UpdateCfgReqParamsType* pwdiPowerSaveCfg,
8485 WDI_SetPwrSaveCfgCb wdiSetPwrSaveCfgCb,
8486 void* pUserData
8487);
8488
8489/**
8490 @brief WDI_EnterImpsReq will be called when the upper MAC to
8491 request the device to get into IMPS power state. Upon
8492 the call of this API the WLAN DAL will send a HAL Enter
8493 IMPS request message to the lower RIVA sub-system if DAL
8494 is in state STARTED.
8495
8496 In state BUSY this request will be queued. Request won't
8497 be allowed in any other state.
8498
8499
8500 @param wdiEnterImpsRspCb: callback for passing back the
8501 response of the Enter IMPS operation received from the
8502 device
8503
8504 pUserData: user data will be passed back with the
8505 callback
8506
8507 @see WDI_Start
8508 @return Result of the function call
8509*/
8510WDI_Status
8511WDI_EnterImpsReq
8512(
8513 WDI_EnterImpsRspCb wdiEnterImpsRspCb,
8514 void* pUserData
8515);
8516
8517/**
8518 @brief WDI_ExitImpsReq will be called when the upper MAC to
8519 request the device to get out of IMPS power state. Upon
8520 the call of this API the WLAN DAL will send a HAL Exit
8521 IMPS request message to the lower RIVA sub-system if DAL
8522 is in state STARTED.
8523
8524 In state BUSY this request will be queued. Request won't
8525 be allowed in any other state.
8526
8527
8528
8529 @param wdiExitImpsRspCb: callback for passing back the response
8530 of the Exit IMPS operation received from the device
8531
8532 pUserData: user data will be passed back with the
8533 callback
8534
8535 @see WDI_Start
8536 @return Result of the function call
8537*/
8538WDI_Status
8539WDI_ExitImpsReq
8540(
8541 WDI_ExitImpsRspCb wdiExitImpsRspCb,
8542 void* pUserData
8543);
8544
8545/**
8546 @brief WDI_EnterBmpsReq will be called when the upper MAC to
8547 request the device to get into BMPS power state. Upon
8548 the call of this API the WLAN DAL will pack and send a
8549 HAL Enter BMPS request message to the lower RIVA
8550 sub-system if DAL is in state STARTED.
8551
8552 In state BUSY this request will be queued. Request won't
8553 be allowed in any other state.
8554
8555 WDI_PostAssocReq must have been called.
8556
8557 @param pwdiEnterBmpsReqParams: the Enter BMPS parameters as
8558 specified by the Device Interface
8559
8560 wdiEnterBmpsRspCb: callback for passing back the
8561 response of the Enter BMPS operation received from the
8562 device
8563
8564 pUserData: user data will be passed back with the
8565 callback
8566
8567 @see WDI_PostAssocReq
8568 @return Result of the function call
8569*/
8570WDI_Status
8571WDI_EnterBmpsReq
8572(
8573 WDI_EnterBmpsReqParamsType *pwdiEnterBmpsReqParams,
8574 WDI_EnterBmpsRspCb wdiEnterBmpsRspCb,
8575 void* pUserData
8576);
8577
8578/**
8579 @brief WDI_ExitBmpsReq will be called when the upper MAC to
8580 request the device to get out of BMPS power state. Upon
8581 the call of this API the WLAN DAL will pack and send a
8582 HAL Exit BMPS request message to the lower RIVA
8583 sub-system if DAL is in state STARTED.
8584
8585 In state BUSY this request will be queued. Request won't
8586 be allowed in any other state.
8587
8588 WDI_PostAssocReq must have been called.
8589
8590 @param pwdiExitBmpsReqParams: the Exit BMPS parameters as
8591 specified by the Device Interface
8592
8593 wdiExitBmpsRspCb: callback for passing back the response
8594 of the Exit BMPS operation received from the device
8595
8596 pUserData: user data will be passed back with the
8597 callback
8598
8599 @see WDI_PostAssocReq
8600 @return Result of the function call
8601*/
8602WDI_Status
8603WDI_ExitBmpsReq
8604(
8605 WDI_ExitBmpsReqParamsType *pwdiExitBmpsReqParams,
8606 WDI_ExitBmpsRspCb wdiExitBmpsRspCb,
8607 void* pUserData
8608);
8609
8610/**
8611 @brief WDI_EnterUapsdReq will be called when the upper MAC to
8612 request the device to get into UAPSD power state. Upon
8613 the call of this API the WLAN DAL will pack and send a
8614 HAL Enter UAPSD request message to the lower RIVA
8615 sub-system if DAL is in state STARTED.
8616
8617 In state BUSY this request will be queued. Request won't
8618 be allowed in any other state.
8619
8620 WDI_PostAssocReq must have been called.
8621 WDI_SetUapsdAcParamsReq must have been called.
8622
8623 @param pwdiEnterUapsdReqParams: the Enter UAPSD parameters as
8624 specified by the Device Interface
8625
8626 wdiEnterUapsdRspCb: callback for passing back the
8627 response of the Enter UAPSD operation received from the
8628 device
8629
8630 pUserData: user data will be passed back with the
8631 callback
8632
8633 @see WDI_PostAssocReq, WDI_SetUapsdAcParamsReq
8634 @return Result of the function call
8635*/
8636WDI_Status
8637WDI_EnterUapsdReq
8638(
8639 WDI_EnterUapsdReqParamsType *pwdiEnterUapsdReqParams,
8640 WDI_EnterUapsdRspCb wdiEnterUapsdRspCb,
8641 void* pUserData
8642);
8643
8644/**
8645 @brief WDI_ExitUapsdReq will be called when the upper MAC to
8646 request the device to get out of UAPSD power state. Upon
8647 the call of this API the WLAN DAL will send a HAL Exit
8648 UAPSD request message to the lower RIVA sub-system if
8649 DAL is in state STARTED.
8650
8651 In state BUSY this request will be queued. Request won't
8652 be allowed in any other state.
8653
8654 WDI_PostAssocReq must have been called.
8655
8656 @param wdiExitUapsdRspCb: callback for passing back the
8657 response of the Exit UAPSD operation received from the
8658 device
8659
8660 pUserData: user data will be passed back with the
8661 callback
8662
8663 @see WDI_PostAssocReq
8664 @return Result of the function call
8665*/
8666WDI_Status
8667WDI_ExitUapsdReq
8668(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07008669 WDI_ExitUapsdReqParamsType *pwdiExitUapsdReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07008670 WDI_ExitUapsdRspCb wdiExitUapsdRspCb,
8671 void* pUserData
8672);
8673
8674/**
8675 @brief WDI_UpdateUapsdParamsReq will be called when the upper
8676 MAC wants to set the UAPSD related configurations
8677 of an associated STA (while acting as an AP) to the WLAN
8678 Device. Upon the call of this API the WLAN DAL will pack
8679 and send a HAL Update UAPSD params request message to
8680 the lower RIVA sub-system if DAL is in state STARTED.
8681
8682 In state BUSY this request will be queued. Request won't
8683 be allowed in any other state.
8684
8685 WDI_ConfigBSSReq must have been called.
8686
8687 @param pwdiUpdateUapsdReqParams: the UAPSD parameters
8688 as specified by the Device Interface
8689
8690 wdiUpdateUapsdParamsCb: callback for passing back the
8691 response of the update UAPSD params operation received
8692 from the device
8693
8694 pUserData: user data will be passed back with the
8695 callback
8696
8697 @see WDI_ConfigBSSReq
8698 @return Result of the function call
8699*/
8700WDI_Status
8701WDI_UpdateUapsdParamsReq
8702(
8703 WDI_UpdateUapsdReqParamsType *pwdiUpdateUapsdReqParams,
8704 WDI_UpdateUapsdParamsCb wdiUpdateUapsdParamsCb,
8705 void* pUserData
8706);
8707
8708/**
8709 @brief WDI_SetUapsdAcParamsReq will be called when the upper
8710 MAC wants to set the UAPSD related configurations before
8711 requesting for enter UAPSD power state to the WLAN
8712 Device. Upon the call of this API the WLAN DAL will pack
8713 and send a HAL Set UAPSD params request message to
8714 the lower RIVA sub-system if DAL is in state STARTED.
8715
8716 In state BUSY this request will be queued. Request won't
8717 be allowed in any other state.
8718
8719 WDI_PostAssocReq must have been called.
8720
8721 @param pwdiUapsdInfo: the UAPSD parameters as specified by
8722 the Device Interface
8723
8724 wdiSetUapsdAcParamsCb: callback for passing back the
8725 response of the set UAPSD params operation received from
8726 the device
8727
8728 pUserData: user data will be passed back with the
8729 callback
8730
8731 @see WDI_PostAssocReq
8732 @return Result of the function call
8733*/
8734WDI_Status
8735WDI_SetUapsdAcParamsReq
8736(
8737 WDI_SetUapsdAcParamsReqParamsType* pwdiPowerSaveCfg,
8738 WDI_SetUapsdAcParamsCb wdiSetUapsdAcParamsCb,
8739 void* pUserData
8740);
8741
8742/**
8743 @brief WDI_ConfigureRxpFilterReq will be called when the upper
8744 MAC wants to set/reset the RXP filters for received pkts
8745 (MC, BC etc.). Upon the call of this API the WLAN DAL will pack
8746 and send a HAL configure RXP filter request message to
8747 the lower RIVA sub-system.
8748
8749 In state BUSY this request will be queued. Request won't
8750 be allowed in any other state.
8751
8752
8753 @param pwdiConfigureRxpFilterReqParams: the RXP
8754 filter as specified by the Device
8755 Interface
8756
8757 wdiConfigureRxpFilterCb: callback for passing back the
8758 response of the configure RXP filter operation received
8759 from the device
8760
8761 pUserData: user data will be passed back with the
8762 callback
8763
8764 @return Result of the function call
8765*/
8766WDI_Status
8767WDI_ConfigureRxpFilterReq
8768(
8769 WDI_ConfigureRxpFilterReqParamsType *pwdiConfigureRxpFilterReqParams,
8770 WDI_ConfigureRxpFilterCb wdiConfigureRxpFilterCb,
8771 void* pUserData
8772);
8773
8774/**
8775 @brief WDI_SetBeaconFilterReq will be called when the upper MAC
8776 wants to set the beacon filters while in power save.
8777 Upon the call of this API the WLAN DAL will pack and
8778 send a Beacon filter request message to the
8779 lower RIVA sub-system.
8780
8781 In state BUSY this request will be queued. Request won't
8782 be allowed in any other state.
8783
8784
8785 @param pwdiBeaconFilterReqParams: the beacon
8786 filter as specified by the Device
8787 Interface
8788
8789 wdiBeaconFilterCb: callback for passing back the
8790 response of the set beacon filter operation received
8791 from the device
8792
8793 pUserData: user data will be passed back with the
8794 callback
8795
8796 @return Result of the function call
8797*/
8798WDI_Status
8799WDI_SetBeaconFilterReq
8800(
8801 WDI_BeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
8802 WDI_SetBeaconFilterCb wdiBeaconFilterCb,
8803 void* pUserData
8804);
8805
8806/**
8807 @brief WDI_RemBeaconFilterReq will be called when the upper MAC
8808 wants to remove the beacon filter for perticular IE
8809 while in power save. Upon the call of this API the WLAN
8810 DAL will pack and send a remove Beacon filter request
8811 message to the lower RIVA sub-system.
8812
8813 In state BUSY this request will be queued. Request won't
8814 be allowed in any other state.
8815
8816
8817 @param pwdiBeaconFilterReqParams: the beacon
8818 filter as specified by the Device
8819 Interface
8820
8821 wdiBeaconFilterCb: callback for passing back the
8822 response of the remove beacon filter operation received
8823 from the device
8824
8825 pUserData: user data will be passed back with the
8826 callback
8827
8828 @return Result of the function call
8829*/
8830WDI_Status
8831WDI_RemBeaconFilterReq
8832(
8833 WDI_RemBeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
8834 WDI_RemBeaconFilterCb wdiBeaconFilterCb,
8835 void* pUserData
8836);
8837
8838/**
8839 @brief WDI_SetRSSIThresholdsReq will be called when the upper
8840 MAC wants to set the RSSI thresholds related
8841 configurations while in power save. Upon the call of
8842 this API the WLAN DAL will pack and send a HAL Set RSSI
8843 thresholds request message to the lower RIVA
8844 sub-system if DAL is in state STARTED.
8845
8846 In state BUSY this request will be queued. Request won't
8847 be allowed in any other state.
8848
8849 WDI_PostAssocReq must have been called.
8850
8851 @param pwdiUapsdInfo: the UAPSD parameters as specified by
8852 the Device Interface
8853
8854 wdiSetUapsdAcParamsCb: callback for passing back the
8855 response of the set UAPSD params operation received from
8856 the device
8857
8858 pUserData: user data will be passed back with the
8859 callback
8860
8861 @see WDI_PostAssocReq
8862 @return Result of the function call
8863*/
8864WDI_Status
8865WDI_SetRSSIThresholdsReq
8866(
8867 WDI_SetRSSIThresholdsReqParamsType* pwdiRSSIThresholdsParams,
8868 WDI_SetRSSIThresholdsCb wdiSetRSSIThresholdsCb,
8869 void* pUserData
8870);
8871
8872/**
8873 @brief WDI_HostOffloadReq will be called when the upper MAC
8874 wants to set the filter to minimize unnecessary host
8875 wakeup due to broadcast traffic while in power save.
8876 Upon the call of this API the WLAN DAL will pack and
8877 send a HAL host offload request message to the
8878 lower RIVA sub-system if DAL is in state STARTED.
8879
8880 In state BUSY this request will be queued. Request won't
8881 be allowed in any other state.
8882
8883 WDI_PostAssocReq must have been called.
8884
8885 @param pwdiHostOffloadParams: the host offload as specified
8886 by the Device Interface
8887
8888 wdiHostOffloadCb: callback for passing back the response
8889 of the host offload operation received from the
8890 device
8891
8892 pUserData: user data will be passed back with the
8893 callback
8894
8895 @see WDI_PostAssocReq
8896 @return Result of the function call
8897*/
8898WDI_Status
8899WDI_HostOffloadReq
8900(
8901 WDI_HostOffloadReqParamsType* pwdiHostOffloadParams,
8902 WDI_HostOffloadCb wdiHostOffloadCb,
8903 void* pUserData
8904);
8905
8906/**
8907 @brief WDI_KeepAliveReq will be called when the upper MAC
8908 wants to set the filter to send NULL or unsolicited ARP responses
8909 and minimize unnecessary host wakeups due to while in power save.
8910 Upon the call of this API the WLAN DAL will pack and
8911 send a HAL Keep Alive request message to the
8912 lower RIVA sub-system if DAL is in state STARTED.
8913
8914 In state BUSY this request will be queued. Request won't
8915 be allowed in any other state.
8916
8917 WDI_PostAssocReq must have been called.
8918
8919 @param pwdiKeepAliveParams: the Keep Alive as specified
8920 by the Device Interface
8921
8922 wdiKeepAliveCb: callback for passing back the response
8923 of the Keep Alive operation received from the
8924 device
8925
8926 pUserData: user data will be passed back with the
8927 callback
8928
8929 @see WDI_PostAssocReq
8930 @return Result of the function call
8931*/
8932WDI_Status
8933WDI_KeepAliveReq
8934(
8935 WDI_KeepAliveReqParamsType* pwdiKeepAliveParams,
8936 WDI_KeepAliveCb wdiKeepAliveCb,
8937 void* pUserData
8938);
8939
8940/**
8941 @brief WDI_WowlAddBcPtrnReq will be called when the upper MAC
8942 wants to set the Wowl Bcast ptrn to minimize unnecessary
8943 host wakeup due to broadcast traffic while in power
8944 save. Upon the call of this API the WLAN DAL will pack
8945 and send a HAL Wowl Bcast ptrn request message to the
8946 lower RIVA sub-system if DAL is in state STARTED.
8947
8948 In state BUSY this request will be queued. Request won't
8949 be allowed in any other state.
8950
8951 WDI_PostAssocReq must have been called.
8952
8953 @param pwdiWowlAddBcPtrnParams: the Wowl bcast ptrn as
8954 specified by the Device Interface
8955
8956 wdiWowlAddBcPtrnCb: callback for passing back the
8957 response of the add Wowl bcast ptrn operation received
8958 from the device
8959
8960 pUserData: user data will be passed back with the
8961 callback
8962
8963 @see WDI_PostAssocReq
8964 @return Result of the function call
8965*/
8966WDI_Status
8967WDI_WowlAddBcPtrnReq
8968(
8969 WDI_WowlAddBcPtrnReqParamsType* pwdiWowlAddBcPtrnParams,
8970 WDI_WowlAddBcPtrnCb wdiWowlAddBcPtrnCb,
8971 void* pUserData
8972);
8973
8974/**
8975 @brief WDI_WowlDelBcPtrnReq will be called when the upper MAC
8976 wants to clear the Wowl Bcast ptrn. Upon the call of
8977 this API the WLAN DAL will pack and send a HAL delete
8978 Wowl Bcast ptrn request message to the lower RIVA
8979 sub-system if DAL is in state STARTED.
8980
8981 In state BUSY this request will be queued. Request won't
8982 be allowed in any other state.
8983
8984 WDI_WowlAddBcPtrnReq must have been called.
8985
8986 @param pwdiWowlDelBcPtrnParams: the Wowl bcast ptrn as
8987 specified by the Device Interface
8988
8989 wdiWowlDelBcPtrnCb: callback for passing back the
8990 response of the del Wowl bcast ptrn operation received
8991 from the device
8992
8993 pUserData: user data will be passed back with the
8994 callback
8995
8996 @see WDI_WowlAddBcPtrnReq
8997 @return Result of the function call
8998*/
8999WDI_Status
9000WDI_WowlDelBcPtrnReq
9001(
9002 WDI_WowlDelBcPtrnReqParamsType* pwdiWowlDelBcPtrnParams,
9003 WDI_WowlDelBcPtrnCb wdiWowlDelBcPtrnCb,
9004 void* pUserData
9005);
9006
9007/**
9008 @brief WDI_WowlEnterReq will be called when the upper MAC
9009 wants to enter the Wowl state to minimize unnecessary
9010 host wakeup while in power save. Upon the call of this
9011 API the WLAN DAL will pack and send a HAL Wowl enter
9012 request message to the lower RIVA sub-system if DAL is
9013 in state STARTED.
9014
9015 In state BUSY this request will be queued. Request won't
9016 be allowed in any other state.
9017
9018 WDI_PostAssocReq must have been called.
9019
9020 @param pwdiWowlEnterReqParams: the Wowl enter info as
9021 specified by the Device Interface
9022
9023 wdiWowlEnterReqCb: callback for passing back the
9024 response of the enter Wowl operation received from the
9025 device
9026
9027 pUserData: user data will be passed back with the
9028 callback
9029
9030 @see WDI_PostAssocReq
9031 @return Result of the function call
9032*/
9033WDI_Status
9034WDI_WowlEnterReq
9035(
9036 WDI_WowlEnterReqParamsType* pwdiWowlEnterParams,
9037 WDI_WowlEnterReqCb wdiWowlEnterCb,
9038 void* pUserData
9039);
9040
9041/**
9042 @brief WDI_WowlExitReq will be called when the upper MAC
9043 wants to exit the Wowl state. Upon the call of this API
9044 the WLAN DAL will pack and send a HAL Wowl exit request
9045 message to the lower RIVA sub-system if DAL is in state
9046 STARTED.
9047
9048 In state BUSY this request will be queued. Request won't
9049 be allowed in any other state.
9050
9051 WDI_WowlEnterReq must have been called.
9052
9053 @param pwdiWowlExitReqParams: the Wowl exit info as
9054 specified by the Device Interface
9055
9056 wdiWowlExitReqCb: callback for passing back the response
9057 of the exit Wowl operation received from the device
9058
9059 pUserData: user data will be passed back with the
9060 callback
9061
9062 @see WDI_WowlEnterReq
9063 @return Result of the function call
9064*/
9065WDI_Status
9066WDI_WowlExitReq
9067(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07009068 WDI_WowlExitReqParamsType* pwdiWowlExitParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009069 WDI_WowlExitReqCb wdiWowlExitCb,
9070 void* pUserData
9071);
9072
9073/**
9074 @brief WDI_ConfigureAppsCpuWakeupStateReq will be called when
9075 the upper MAC wants to dynamically adjusts the listen
9076 interval based on the WLAN/MSM activity. Upon the call
9077 of this API the WLAN DAL will pack and send a HAL
9078 configure Apps Cpu Wakeup State request message to the
9079 lower RIVA sub-system.
9080
9081 In state BUSY this request will be queued. Request won't
9082 be allowed in any other state.
9083
9084
9085 @param pwdiConfigureAppsCpuWakeupStateReqParams: the
9086 Apps Cpu Wakeup State as specified by the
9087 Device Interface
9088
9089 wdiConfigureAppsCpuWakeupStateCb: callback for passing
9090 back the response of the configure Apps Cpu Wakeup State
9091 operation received from the device
9092
9093 pUserData: user data will be passed back with the
9094 callback
9095
9096 @return Result of the function call
9097*/
9098WDI_Status
9099WDI_ConfigureAppsCpuWakeupStateReq
9100(
9101 WDI_ConfigureAppsCpuWakeupStateReqParamsType *pwdiConfigureAppsCpuWakeupStateReqParams,
9102 WDI_ConfigureAppsCpuWakeupStateCb wdiConfigureAppsCpuWakeupStateCb,
9103 void* pUserData
9104);
9105/**
9106 @brief WDI_FlushAcReq will be called when the upper MAC wants
9107 to to perform a flush operation on a given AC. Upon the
9108 call of this API the WLAN DAL will pack and send a HAL
9109 Flush AC request message to the lower RIVA sub-system if
9110 DAL is in state STARTED.
9111
9112 In state BUSY this request will be queued. Request won't
9113 be allowed in any other state.
9114
9115
9116 @param pwdiFlushAcReqParams: the Flush AC parameters as
9117 specified by the Device Interface
9118
9119 wdiFlushAcRspCb: callback for passing back the response
9120 of the Flush AC operation received from the device
9121
9122 pUserData: user data will be passed back with the
9123 callback
9124
9125 @return Result of the function call
9126*/
9127WDI_Status
9128WDI_FlushAcReq
9129(
9130 WDI_FlushAcReqParamsType* pwdiFlushAcReqParams,
9131 WDI_FlushAcRspCb wdiFlushAcRspCb,
9132 void* pUserData
9133);
9134
9135/**
9136 @brief WDI_BtAmpEventReq will be called when the upper MAC
9137 wants to notify the lower mac on a BT AMP event. This is
9138 to inform BTC-SLM that some BT AMP event occurred. Upon
9139 the call of this API the WLAN DAL will pack and send a
9140 HAL BT AMP event request message to the lower RIVA
9141 sub-system if DAL is in state STARTED.
9142
9143 In state BUSY this request will be queued. Request won't
9144 be allowed in any other state.
9145
9146
9147 @param wdiBtAmpEventReqParams: the BT AMP event parameters as
9148 specified by the Device Interface
9149
9150 wdiBtAmpEventRspCb: callback for passing back the
9151 response of the BT AMP event operation received from the
9152 device
9153
9154 pUserData: user data will be passed back with the
9155 callback
9156
9157 @return Result of the function call
9158*/
9159WDI_Status
9160WDI_BtAmpEventReq
9161(
9162 WDI_BtAmpEventParamsType* pwdiBtAmpEventReqParams,
9163 WDI_BtAmpEventRspCb wdiBtAmpEventRspCb,
9164 void* pUserData
9165);
9166
Jeff Johnsone7245742012-09-05 17:12:55 -07009167#ifdef FEATURE_OEM_DATA_SUPPORT
9168/**
9169 @brief WDI_Start oem data Req will be called when the upper MAC
9170 wants to notify the lower mac on a oem data Req event.Upon
9171 the call of this API the WLAN DAL will pack and send a
9172 HAL OEM Data Req event request message to the lower RIVA
9173 sub-system if DAL is in state STARTED.
9174
9175 In state BUSY this request will be queued. Request won't
9176 be allowed in any other state.
9177
9178
9179 @param pWdiOemDataReqParams: the oem data req parameters as
9180 specified by the Device Interface
9181
9182 wdiStartOemDataRspCb: callback for passing back the
9183 response of the Oem Data Req received from the
9184 device
9185
9186 pUserData: user data will be passed back with the
9187 callback
9188
9189 @return Result of the function call
9190*/
9191WDI_Status
9192WDI_StartOemDataReq
9193(
9194 WDI_oemDataReqParamsType* pWdiOemDataReqParams,
9195 WDI_oemDataRspCb wdiOemDataRspCb,
9196 void* pUserData
9197);
9198#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07009199
9200/*========================================================================
9201
9202 CONTROL APIs
9203
9204==========================================================================*/
9205/**
9206 @brief WDI_SwitchChReq will be called when the upper MAC wants
9207 the WLAN HW to change the current channel of operation.
9208 Upon the call of this API the WLAN DAL will pack and
9209 send a HAL Start request message to the lower RIVA
9210 sub-system if DAL is in state STARTED.
9211
9212 In state BUSY this request will be queued. Request won't
9213 be allowed in any other state.
9214
9215 WDI_Start must have been called.
9216
9217 @param wdiSwitchChReqParams: the switch ch parameters as
9218 specified by the Device Interface
9219
9220 wdiSwitchChRspCb: callback for passing back the response
9221 of the switch ch operation received from the device
9222
9223 pUserData: user data will be passed back with the
9224 callback
9225
9226 @see WDI_Start
9227 @return Result of the function call
9228*/
9229WDI_Status
9230WDI_SwitchChReq
9231(
9232 WDI_SwitchChReqParamsType* pwdiSwitchChReqParams,
9233 WDI_SwitchChRspCb wdiSwitchChRspCb,
9234 void* pUserData
9235);
9236
9237
9238
9239/**
9240 @brief WDI_ConfigSTAReq will be called when the upper MAC
9241 wishes to add or update a STA in HW. Upon the call of
9242 this API the WLAN DAL will pack and send a HAL Start
9243 message request message to the lower RIVA sub-system if
9244 DAL is in state STARTED.
9245
9246 In state BUSY this request will be queued. Request won't
9247 be allowed in any other state.
9248
9249 WDI_Start must have been called.
9250
9251 @param wdiConfigSTAReqParams: the config STA parameters as
9252 specified by the Device Interface
9253
9254 wdiConfigSTARspCb: callback for passing back the
9255 response of the config STA operation received from the
9256 device
9257
9258 pUserData: user data will be passed back with the
9259 callback
9260
9261 @see WDI_Start
9262 @return Result of the function call
9263*/
9264WDI_Status
9265WDI_ConfigSTAReq
9266(
9267 WDI_ConfigSTAReqParamsType* pwdiConfigSTAReqParams,
9268 WDI_ConfigSTARspCb wdiConfigSTARspCb,
9269 void* pUserData
9270);
9271
9272/**
9273 @brief WDI_SetLinkStateReq will be called when the upper MAC
9274 wants to change the state of an ongoing link. Upon the
9275 call of this API the WLAN DAL will pack and send a HAL
9276 Start message request message to the lower RIVA
9277 sub-system if DAL is in state STARTED.
9278
9279 In state BUSY this request will be queued. Request won't
9280 be allowed in any other state.
9281
9282 WDI_JoinReq must have been called.
9283
9284 @param wdiSetLinkStateReqParams: the set link state parameters
9285 as specified by the Device Interface
9286
9287 wdiSetLinkStateRspCb: callback for passing back the
9288 response of the set link state operation received from
9289 the device
9290
9291 pUserData: user data will be passed back with the
9292 callback
9293
9294 @see WDI_JoinStartReq
9295 @return Result of the function call
9296*/
9297WDI_Status
9298WDI_SetLinkStateReq
9299(
9300 WDI_SetLinkReqParamsType* pwdiSetLinkStateReqParams,
9301 WDI_SetLinkStateRspCb wdiSetLinkStateRspCb,
9302 void* pUserData
9303);
9304
9305
9306/**
9307 @brief WDI_GetStatsReq will be called when the upper MAC wants
9308 to get statistics (MIB counters) from the device. Upon
9309 the call of this API the WLAN DAL will pack and send a
9310 HAL Start request message to the lower RIVA sub-system
9311 if DAL is in state STARTED.
9312
9313 In state BUSY this request will be queued. Request won't
9314 be allowed in any other state.
9315
9316 WDI_Start must have been called.
9317
9318 @param wdiGetStatsReqParams: the stats parameters to get as
9319 specified by the Device Interface
9320
9321 wdiGetStatsRspCb: callback for passing back the response
9322 of the get stats operation received from the device
9323
9324 pUserData: user data will be passed back with the
9325 callback
9326
9327 @see WDI_Start
9328 @return Result of the function call
9329*/
9330WDI_Status
9331WDI_GetStatsReq
9332(
9333 WDI_GetStatsReqParamsType* pwdiGetStatsReqParams,
9334 WDI_GetStatsRspCb wdiGetStatsRspCb,
9335 void* pUserData
9336);
9337
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08009338#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_CCX || defined(FEATURE_WLAN_LFR)
9339/**
9340 @brief WDI_GetRoamRssiReq will be called when the upper MAC wants
9341 to get roam rssi from the device. Upon
9342 the call of this API the WLAN DAL will pack and send a
9343 HAL Start request message to the lower RIVA sub-system
9344 if DAL is in state STARTED.
9345
9346 In state BUSY this request will be queued. Request won't
9347 be allowed in any other state.
9348
9349 WDI_Start must have been called.
9350
9351 @param wdiGetRoamRssiReqParams: the stats parameters to get as
9352 specified by the Device Interface
9353
9354 wdiGetRoamRssispCb: callback for passing back the response
9355 of the get stats operation received from the device
9356
9357 pUserData: user data will be passed back with the
9358 callback
9359
9360 @see WDI_Start
9361 @return Result of the function call
9362*/
9363WDI_Status
9364WDI_GetRoamRssiReq
9365(
9366 WDI_GetRoamRssiReqParamsType* pwdiGetRoamRssiReqParams,
9367 WDI_GetRoamRssiRspCb wdiGetRoamRssiRspCb,
9368 void* pUserData
9369);
9370#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07009371
9372/**
9373 @brief WDI_UpdateCfgReq will be called when the upper MAC when
9374 it wishes to change the configuration of the WLAN
9375 Device. Upon the call of this API the WLAN DAL will pack
9376 and send a HAL Update CFG request message to the lower
9377 RIVA sub-system if DAL is in state STARTED.
9378
9379 In state BUSY this request will be queued. Request won't
9380 be allowed in any other state.
9381
9382 WDI_Start must have been called.
9383
9384 @param wdiUpdateCfgReqParams: the update cfg parameters as
9385 specified by the Device Interface
9386
9387 wdiUpdateCfgsRspCb: callback for passing back the
9388 response of the update cfg operation received from the
9389 device
9390
9391 pUserData: user data will be passed back with the
9392 callback
9393
9394 @see WDI_Start
9395 @return Result of the function call
9396*/
9397WDI_Status
9398WDI_UpdateCfgReq
9399(
9400 WDI_UpdateCfgReqParamsType* pwdiUpdateCfgReqParams,
9401 WDI_UpdateCfgRspCb wdiUpdateCfgsRspCb,
9402 void* pUserData
9403);
9404
9405/**
9406 @brief WDI_NvDownloadReq will be called by the UMAC to dowload the NV blob
9407 to the NV memory.
9408
9409 @param wdiNvDownloadReqParams: the NV Download parameters as specified by
9410 the Device Interface
9411
9412 wdiNvDownloadRspCb: callback for passing back the response of
9413 the NV Download operation received from the device
9414
9415 pUserData: user data will be passed back with the
9416 callback
9417
9418 @see WDI_PostAssocReq
9419 @return Result of the function call
9420*/
9421WDI_Status
9422WDI_NvDownloadReq
9423(
9424 WDI_NvDownloadReqParamsType* pwdiNvDownloadReqParams,
9425 WDI_NvDownloadRspCb wdiNvDownloadRspCb,
9426 void* pUserData
9427);
9428/**
9429 @brief WDI_AddBAReq will be called when the upper MAC has setup
9430 successfully a BA session and needs to notify the HW for
9431 the appropriate settings to take place. Upon the call of
9432 this API the WLAN DAL will pack and send a HAL Add BA
9433 request message to the lower RIVA sub-system if DAL is
9434 in state STARTED.
9435
9436 In state BUSY this request will be queued. Request won't
9437 be allowed in any other state.
9438
9439 WDI_PostAssocReq must have been called.
9440
9441 @param wdiAddBAReqParams: the add BA parameters as specified by
9442 the Device Interface
9443
9444 wdiAddBARspCb: callback for passing back the response of
9445 the add BA operation received from the device
9446
9447 pUserData: user data will be passed back with the
9448 callback
9449
9450 @see WDI_PostAssocReq
9451 @return Result of the function call
9452*/
9453WDI_Status
9454WDI_AddBAReq
9455(
9456 WDI_AddBAReqParamsType* pwdiAddBAReqParams,
9457 WDI_AddBARspCb wdiAddBARspCb,
9458 void* pUserData
9459);
9460
9461/**
9462 @brief WDI_TriggerBAReq will be called when the upper MAC has setup
9463 successfully a BA session and needs to notify the HW for
9464 the appropriate settings to take place. Upon the call of
9465 this API the WLAN DAL will pack and send a HAL Add BA
9466 request message to the lower RIVA sub-system if DAL is
9467 in state STARTED.
9468
9469 In state BUSY this request will be queued. Request won't
9470 be allowed in any other state.
9471
9472 WDI_PostAssocReq must have been called.
9473
9474 @param wdiAddBAReqParams: the add BA parameters as specified by
9475 the Device Interface
9476
9477 wdiAddBARspCb: callback for passing back the response of
9478 the add BA operation received from the device
9479
9480 pUserData: user data will be passed back with the
9481 callback
9482
9483 @see WDI_PostAssocReq
9484 @return Result of the function call
9485*/
9486WDI_Status
9487WDI_TriggerBAReq
9488(
9489 WDI_TriggerBAReqParamsType* pwdiTriggerBAReqParams,
9490 WDI_TriggerBARspCb wdiTriggerBARspCb,
9491 void* pUserData
9492);
9493
9494
9495/**
9496 @brief WDI_IsHwFrameTxTranslationCapable checks to see if HW
9497 frame xtl is enabled for a particular STA.
9498
9499 WDI_PostAssocReq must have been called.
9500
9501 @param uSTAIdx: STA index
9502
9503 @see WDI_PostAssocReq
9504 @return Result of the function call
9505*/
9506wpt_boolean WDI_IsHwFrameTxTranslationCapable
9507(
9508 wpt_uint8 uSTAIdx
9509);
9510
9511#ifdef WLAN_FEATURE_VOWIFI_11R
9512/**
9513 @brief WDI_AggrAddTSReq will be called when the upper MAC to inform
9514 the device of a successful add TSpec negotiation for 11r. HW
9515 needs to receive the TSpec Info from the UMAC in order
9516 to configure properly the QoS data traffic. Upon the
9517 call of this API the WLAN DAL will pack and send a HAL
9518 Aggregated Add TS request message to the lower RIVA sub-system if
9519 DAL is in state STARTED.
9520
9521 In state BUSY this request will be queued. Request won't
9522 be allowed in any other state.
9523
9524 WDI_PostAssocReq must have been called.
9525
9526 @param wdiAggrAddTsReqParams: the add TS parameters as specified by
9527 the Device Interface
9528
9529 wdiAggrAddTsRspCb: callback for passing back the response of
9530 the add TS operation received from the device
9531
9532 pUserData: user data will be passed back with the
9533 callback
9534
9535 @see WDI_PostAssocReq
9536 @return Result of the function call
9537*/
9538WDI_Status
9539WDI_AggrAddTSReq
9540(
9541 WDI_AggrAddTSReqParamsType* pwdiAddTsReqParams,
9542 WDI_AggrAddTsRspCb wdiAggrAddTsRspCb,
9543 void* pUserData
9544);
9545#endif /* WLAN_FEATURE_VOWIFI_11R */
9546/**
9547 @brief WDI_STATableInit - Initializes the STA tables.
9548 Allocates the necesary memory.
9549
9550
9551 @param pWDICtx: pointer to the WLAN DAL context
9552
9553 @see
9554 @return Result of the function call
9555*/
9556
9557WDI_Status WDI_StubRunTest
9558(
9559 wpt_uint8 ucTestNo
9560);
9561
Jeff Johnson295189b2012-06-20 16:38:30 -07009562/**
9563 @brief WDI_FTMCommandReq -
9564 Route FTMRequest Command to HAL
9565
9566 @param ftmCommandReq: FTM request command body
9567 @param ftmCommandRspCb: Response CB
9568 @param pUserData: User data will be included with CB
9569
9570 @return Result of the function call
9571*/
9572WDI_Status WDI_FTMCommandReq
9573(
9574 WDI_FTMCommandReqType *ftmCommandReq,
9575 WDI_FTMCommandRspCb ftmCommandRspCb,
9576 void *pUserData
9577);
Jeff Johnson295189b2012-06-20 16:38:30 -07009578
9579/**
9580 @brief WDI_HostResumeReq will be called
9581
9582 In state BUSY this request will be queued. Request won't
9583 be allowed in any other state.
9584
9585
9586 @param pwdiResumeReqParams: as specified by
9587 the Device Interface
9588
9589 wdiResumeReqRspCb: callback for passing back the response of
9590 the Resume Req received from the device
9591
9592 pUserData: user data will be passed back with the
9593 callback
9594
9595 @see WDI_PostAssocReq
9596 @return Result of the function call
9597*/
9598WDI_Status
9599WDI_HostResumeReq
9600(
9601 WDI_ResumeParamsType* pwdiResumeReqParams,
9602 WDI_HostResumeEventRspCb wdiResumeReqRspCb,
9603 void* pUserData
9604);
9605
9606/**
9607 @brief WDI_GetAvailableResCount - Function to get the available resource
9608 for data and managemnt frames.
9609
9610 @param pContext: pointer to the WDI context
9611 @param wdiResPool: type of resource pool requesting
9612 @see
9613 @return Result of the function call
9614*/
9615
9616wpt_uint32 WDI_GetAvailableResCount
9617(
9618 void *pContext,
9619 WDI_ResPoolType wdiResPool
9620);
9621
9622/**
9623 @brief WDI_SetAddSTASelfReq will be called when the
9624 UMAC wanted to add self STA while opening any new session
9625 In state BUSY this request will be queued. Request won't
9626 be allowed in any other state.
9627
9628
9629 @param pwdiAddSTASelfParams: the add self sta parameters as
9630 specified by the Device Interface
9631
9632 pUserData: user data will be passed back with the
9633 callback
9634
9635 @see
9636 @return Result of the function call
9637*/
9638WDI_Status
9639WDI_AddSTASelfReq
9640(
9641 WDI_AddSTASelfReqParamsType* pwdiAddSTASelfReqParams,
9642 WDI_AddSTASelfParamsRspCb wdiAddSTASelfReqParamsRspCb,
9643 void* pUserData
9644);
9645
9646
9647/**
9648 @brief WDI_DelSTASelfReq will be called .
9649
9650 @param WDI_DelSTASelfReqParamsType
9651
9652 WDI_DelSTASelfRspCb: callback for passing back the
9653 response of the del sta self operation received from the
9654 device
9655
9656 pUserData: user data will be passed back with the
9657 callback
9658
9659 @see WDI_PostAssocReq
9660 @return Result of the function call
9661*/
9662WDI_Status
9663WDI_DelSTASelfReq
9664(
9665 WDI_DelSTASelfReqParamsType* pwdiDelStaSelfParams,
9666 WDI_DelSTASelfRspCb wdiDelStaSelfRspCb,
9667 void* pUserData
9668);
9669
9670/**
9671 @brief WDI_HostSuspendInd
9672
9673 Suspend Indication from the upper layer will be sent
9674 down to HAL
9675
9676 @param WDI_SuspendParamsType
9677
9678 @see
9679
9680 @return Status of the request
9681*/
9682WDI_Status
9683WDI_HostSuspendInd
9684(
9685 WDI_SuspendParamsType* pwdiSuspendIndParams
9686);
9687
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08009688/**
9689 @brief WDI_TrafficStatsInd
9690
9691 Traffic Stats from the upper layer will be sent
9692 down to HAL
9693
9694 @param WDI_TrafficStatsIndType
9695
9696 @see
9697
9698 @return Status of the request
9699*/
9700WDI_Status
9701WDI_TrafficStatsInd
9702(
9703 WDI_TrafficStatsIndType *pWdiTrafficStatsIndParams
9704);
9705
Chet Lanctot186b5732013-03-18 10:26:30 -07009706#ifdef WLAN_FEATURE_11W
9707/**
9708 @brief WDI_ExcludeUnencryptedInd
9709 Register with HAL to receive/drop unencrypted frames
9710
9711 @param WDI_ExcludeUnencryptIndType
9712
9713 @see
9714
9715 @return Status of the request
9716*/
9717WDI_Status
9718WDI_ExcludeUnencryptedInd
9719(
9720 WDI_ExcludeUnencryptIndType *pWdiExcUnencParams
9721);
9722#endif
9723
Yue Mab9c86f42013-08-14 15:59:08 -07009724/**
9725 @brief WDI_AddPeriodicTxPtrnInd
9726
9727 @param WDI_AddPeriodicTxPtrnParamsType
9728
9729 @see
9730
9731 @return Status of the request
9732*/
9733WDI_Status
9734WDI_AddPeriodicTxPtrnInd
9735(
9736 WDI_AddPeriodicTxPtrnParamsType *addPeriodicTxPtrnParams
9737);
9738
9739/**
9740 @brief WDI_DelPeriodicTxPtrnInd
9741
9742 @param WDI_DelPeriodicTxPtrnParamsType
9743
9744 @see
9745
9746 @return Status of the request
9747*/
9748WDI_Status
9749WDI_DelPeriodicTxPtrnInd
9750(
9751 WDI_DelPeriodicTxPtrnParamsType *delPeriodicTxPtrnParams
9752);
9753
Jeff Johnson295189b2012-06-20 16:38:30 -07009754#ifdef FEATURE_WLAN_SCAN_PNO
9755/**
9756 @brief WDI_SetPreferredNetworkList
9757
9758 @param pwdiPNOScanReqParams: the Set PNO as specified
9759 by the Device Interface
9760
9761 wdiPNOScanCb: callback for passing back the response
9762 of the Set PNO operation received from the
9763 device
9764
9765 pUserData: user data will be passed back with the
9766 callback
9767
9768 @see WDI_PostAssocReq
9769 @return Result of the function call
9770*/
9771WDI_Status
9772WDI_SetPreferredNetworkReq
9773(
9774 WDI_PNOScanReqParamsType* pwdiPNOScanReqParams,
9775 WDI_PNOScanCb wdiPNOScanCb,
9776 void* pUserData
9777);
9778
9779/**
9780 @brief WDI_SetRssiFilterReq
9781
9782 @param pwdiRssiFilterReqParams: the Set RSSI Filter as
9783 specified by the Device Interface
9784
9785 wdiRssiFilterCb: callback for passing back the response
9786 of the Set RSSI Filter operation received from the
9787 device
9788
9789 pUserData: user data will be passed back with the
9790 callback
9791
9792 @see WDI_PostAssocReq
9793 @return Result of the function call
9794*/
9795WDI_Status
9796WDI_SetRssiFilterReq
9797(
9798 WDI_SetRssiFilterReqParamsType* pwdiRssiFilterReqParams,
9799 WDI_RssiFilterCb wdiRssiFilterCb,
9800 void* pUserData
9801);
9802
9803/**
9804 @brief WDI_UpdateScanParams
9805
9806 @param pwdiUpdateScanParamsInfoType: the Update Scan Params as specified
9807 by the Device Interface
9808
9809 wdiUpdateScanParamsCb: callback for passing back the response
9810 of the Set PNO operation received from the
9811 device
9812
9813 pUserData: user data will be passed back with the
9814 callback
9815
9816 @see WDI_PostAssocReq
9817 @return Result of the function call
9818*/
9819WDI_Status
9820WDI_UpdateScanParamsReq
9821(
9822 WDI_UpdateScanParamsInfoType* pwdiUpdateScanParamsInfoType,
9823 WDI_UpdateScanParamsCb wdiUpdateScanParamsCb,
9824 void* pUserData
9825);
9826#endif // FEATURE_WLAN_SCAN_PNO
9827
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07009828#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
9829/**
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07009830 @brief WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07009831
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07009832 @param pwdiRoamScanOffloadReqParams: Start Roam Candidate Lookup Req as specified
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07009833 by the Device Interface
9834
9835 wdiRoamOffloadScanCb: callback for passing back the response
9836 of the Start Roam Candidate Lookup operation received from the
9837 device
9838
9839 pUserData: user data will be passed back with the
9840 callback
9841
9842 @return Result of the function call
9843*/
9844WDI_Status
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07009845WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07009846(
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07009847 WDI_RoamScanOffloadReqParamsType *pwdiRoamScanOffloadReqParams,
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07009848 WDI_RoamOffloadScanCb wdiRoamOffloadScancb,
9849 void* pUserData
9850);
9851#endif
9852
Jeff Johnson295189b2012-06-20 16:38:30 -07009853/**
9854 @brief WDI_SetTxPerTrackingReq will be called when the upper MAC
9855 wants to set the Tx Per Tracking configurations.
9856 Upon the call of this API the WLAN DAL will pack
9857 and send a HAL Set Tx Per Tracking request message to the
9858 lower RIVA sub-system if DAL is in state STARTED.
9859
9860 In state BUSY this request will be queued. Request won't
9861 be allowed in any other state.
9862
9863 @param wdiSetTxPerTrackingConf: the Set Tx PER Tracking configurations as
9864 specified by the Device Interface
9865
9866 wdiSetTxPerTrackingCb: callback for passing back the
9867 response of the set Tx PER Tracking configurations operation received
9868 from the device
9869
9870 pUserData: user data will be passed back with the
9871 callback
9872
9873 @return Result of the function call
9874*/
9875WDI_Status
9876WDI_SetTxPerTrackingReq
9877(
9878 WDI_SetTxPerTrackingReqParamsType* pwdiSetTxPerTrackingReqParams,
9879 WDI_SetTxPerTrackingRspCb pwdiSetTxPerTrackingRspCb,
9880 void* pUserData
9881);
9882
9883/**
9884 @brief WDI_SetTmLevelReq
9885 If HW Thermal condition changed, driver should react based on new
9886 HW thermal condition.
9887
9888 @param pwdiSetTmLevelReq: New thermal condition information
9889
9890 pwdiSetTmLevelRspCb: callback
9891
9892 usrData: user data will be passed back with the
9893 callback
9894
9895 @return Result of the function call
9896*/
9897WDI_Status
9898WDI_SetTmLevelReq
9899(
9900 WDI_SetTmLevelReqType *pwdiSetTmLevelReq,
9901 WDI_SetTmLevelCb pwdiSetTmLevelRspCb,
9902 void *usrData
9903);
9904
9905#ifdef WLAN_FEATURE_PACKET_FILTERING
9906/**
9907 @brief WDI_8023MulticastListReq
9908
9909 @param pwdiRcvFltPktSetMcListReqInfo: the Set 8023 Multicast
9910 List as specified by the Device Interface
9911
9912 wdi8023MulticastListCallback: callback for passing back
9913 the response of the Set 8023 Multicast List operation
9914 received from the device
9915
9916 pUserData: user data will be passed back with the
9917 callback
9918
9919 @see WDI_PostAssocReq
9920 @return Result of the function call
9921*/
9922WDI_Status
9923WDI_8023MulticastListReq
9924(
9925 WDI_RcvFltPktSetMcListReqParamsType* pwdiRcvFltPktSetMcListReqInfo,
9926 WDI_8023MulticastListCb wdi8023MulticastListCallback,
9927 void* pUserData
9928);
9929
9930/**
9931 @brief WDI_ReceiveFilterSetFilterReq
9932
9933 @param pwdiSetRcvPktFilterReqInfo: the Set Receive Filter as
9934 specified by the Device Interface
9935
9936 wdiReceiveFilterSetFilterReqCallback: callback for
9937 passing back the response of the Set Receive Filter
9938 operation received from the device
9939
9940 pUserData: user data will be passed back with the
9941 callback
9942
9943 @see WDI_PostAssocReq
9944 @return Result of the function call
9945*/
9946WDI_Status
9947WDI_ReceiveFilterSetFilterReq
9948(
9949 WDI_SetRcvPktFilterReqParamsType* pwdiSetRcvPktFilterReqInfo,
9950 WDI_ReceiveFilterSetFilterCb wdiReceiveFilterSetFilterReqCallback,
9951 void* pUserData
9952);
9953
9954/**
9955 @brief WDI_PCFilterMatchCountReq
9956
9957 @param pwdiRcvFltPktMatchCntReqInfo: get D0 PC Filter Match
9958 Count
9959
9960 wdiPCFilterMatchCountCallback: callback for passing back
9961 the response of the D0 PC Filter Match Count operation
9962 received from the device
9963
9964 pUserData: user data will be passed back with the
9965 callback
9966
9967 @see WDI_PostAssocReq
9968 @return Result of the function call
9969*/
9970WDI_Status
9971WDI_FilterMatchCountReq
9972(
9973 WDI_RcvFltPktMatchCntReqParamsType* pwdiRcvFltPktMatchCntReqInfo,
9974 WDI_FilterMatchCountCb wdiFilterMatchCountCallback,
9975 void* pUserData
9976);
9977
9978/**
9979 @brief WDI_ReceiveFilterClearFilterReq
9980
9981 @param pwdiRcvFltPktClearReqInfo: the Clear Filter as
9982 specified by the Device Interface
9983
9984 wdiReceiveFilterClearFilterCallback: callback for
9985 passing back the response of the Clear Filter
9986 operation received from the device
9987
9988 pUserData: user data will be passed back with the
9989 callback
9990
9991 @see WDI_PostAssocReq
9992 @return Result of the function call
9993*/
9994WDI_Status
9995WDI_ReceiveFilterClearFilterReq
9996(
9997 WDI_RcvFltPktClearReqParamsType* pwdiRcvFltPktClearReqInfo,
9998 WDI_ReceiveFilterClearFilterCb wdiReceiveFilterClearFilterCallback,
9999 void* pUserData
10000);
10001#endif // WLAN_FEATURE_PACKET_FILTERING
10002
10003/**
10004 @brief WDI_HALDumpCmdReq
10005 Post HAL DUMP Command Event
10006
10007 @param halDumpCmdReqParams: Hal Dump Command Body
10008 @param halDumpCmdRspCb: callback for passing back the
10009 response
10010 @param pUserData: Client Data
10011
10012 @see
10013 @return Result of the function call
10014*/
10015WDI_Status WDI_HALDumpCmdReq(
10016 WDI_HALDumpCmdReqParamsType *halDumpCmdReqParams,
10017 WDI_HALDumpCmdRspCb halDumpCmdRspCb,
10018 void *pUserData
10019);
10020
10021
10022/**
10023 @brief WDI_SetPowerParamsReq
10024
10025 @param pwdiPowerParamsReqParams: the Set Power Params as
10026 specified by the Device Interface
10027
10028 wdiPowerParamsCb: callback for passing back the response
10029 of the Set Power Params operation received from the
10030 device
10031
10032 pUserData: user data will be passed back with the
10033 callback
10034
10035 @return Result of the function call
10036*/
10037WDI_Status
10038WDI_SetPowerParamsReq
10039(
10040 WDI_SetPowerParamsReqParamsType* pwdiPowerParamsReqParams,
10041 WDI_SetPowerParamsCb wdiPowerParamsCb,
10042 void* pUserData
10043);
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +053010044/**
10045 @brief WDI_dhcpStartInd
10046 Forward the DHCP Start event
10047
10048 @param
10049
10050 wdiDHCPInd: device mode and MAC address is passed
10051
10052 @see
10053 @return Result of the function call
10054*/
10055
10056WDI_Status
10057WDI_dhcpStartInd
10058(
10059 WDI_DHCPInd *wdiDHCPInd
10060);
10061/**
10062 @brief WDI_dhcpStopReq
10063 Forward the DHCP Stop event
10064
10065 @param
10066
10067 wdiDHCPInd: device mode and MAC address is passed
10068
10069 @see
10070 @return Result of the function call
10071*/
10072
10073WDI_Status
10074WDI_dhcpStopInd
10075(
10076 WDI_DHCPInd *wdiDHCPInd
10077);
Jeff Johnson295189b2012-06-20 16:38:30 -070010078
Chittajit Mitraf5413a42013-10-18 14:20:08 -070010079/**
10080 @brief WDI_RateUpdateInd will be called when the upper MAC
10081 requests the device to update rates.
10082
10083 In state BUSY this request will be queued. Request won't
10084 be allowed in any other state.
10085
10086
10087 @param wdiRateUpdateIndParams
10088
10089
10090 @see WDI_Start
10091 @return Result of the function call
10092*/
10093WDI_Status
10094WDI_RateUpdateInd
10095(
10096 WDI_RateUpdateIndParams *wdiRateUpdateIndParams
10097);
10098
Jeff Johnson295189b2012-06-20 16:38:30 -070010099#ifdef WLAN_FEATURE_GTK_OFFLOAD
10100/**
10101 @brief WDI_GTKOffloadReq will be called when the upper MAC
10102 wants to set GTK Rekey Counter while in power save. Upon
10103 the call of this API the WLAN DAL will pack and send a
10104 HAL GTK offload request message to the lower RIVA
10105 sub-system if DAL is in state STARTED.
10106
10107 In state BUSY this request will be queued. Request won't
10108 be allowed in any other state.
10109
10110 WDI_PostAssocReq must have been called.
10111
10112 @param pwdiGtkOffloadParams: the GTK offload as specified
10113 by the Device Interface
10114
10115 wdiGtkOffloadCb: callback for passing back the response
10116 of the GTK offload operation received from the device
10117
10118 pUserData: user data will be passed back with the
10119 callback
10120
10121 @see WDI_PostAssocReq
10122 @return Result of the function call
10123*/
10124WDI_Status
10125WDI_GTKOffloadReq
10126(
10127 WDI_GtkOffloadReqMsg* pwdiGtkOffloadReqMsg,
10128 WDI_GtkOffloadCb wdiGtkOffloadCb,
10129 void* pUserData
10130);
10131
10132/**
10133 @brief WDI_GTKOffloadGetInfoReq will be called when the upper
10134 MAC wants to get GTK Rekey Counter while in power save.
10135 Upon the call of this API the WLAN DAL will pack and
10136 send a HAL GTK offload request message to the lower RIVA
10137 sub-system if DAL is in state STARTED.
10138
10139 In state BUSY this request will be queued. Request won't
10140 be allowed in any other state.
10141
10142 WDI_PostAssocReq must have been called.
10143
10144 @param pwdiGtkOffloadGetInfoReqMsg: the GTK Offload
10145 Information Message as specified by the
10146 Device Interface
10147
10148 wdiGtkOffloadGetInfoCb: callback for passing back the
10149 response of the GTK offload operation received from the
10150 device
10151
10152 pUserData: user data will be passed back with the
10153 callback
10154
10155 @see WDI_PostAssocReq
10156 @return Result of the function call
10157*/
10158WDI_Status
10159WDI_GTKOffloadGetInfoReq
10160(
10161 WDI_GtkOffloadGetInfoReqMsg* pwdiGtkOffloadGetInfoReqMsg,
10162 WDI_GtkOffloadGetInfoCb wdiGtkOffloadGetInfoCb,
10163 void* pUserData
10164);
10165#endif // WLAN_FEATURE_GTK_OFFLOAD
10166
10167/**
10168 @brief WDI_featureCapsExchangeReq
10169 Post feature capability bitmap exchange event.
10170 Host will send its own capability to FW in this req and
10171 expect FW to send its capability back as a bitmap in Response
10172
10173 @param
10174
10175 wdiFeatCapsExcRspCb: callback called on getting the response.
10176 It is kept to mantain similarity between WDI reqs and if needed, can
10177 be used in future. Currently, It is set to NULL
10178
10179 pUserData: user data will be passed back with the
10180 callback
10181
10182 @see
10183 @return Result of the function call
10184*/
10185WDI_Status
10186WDI_featureCapsExchangeReq
10187(
10188 WDI_featureCapsExchangeCb wdiFeatureCapsExchangeCb,
10189 void* pUserData
10190);
10191
10192/**
Yathish9f22e662012-12-10 14:21:35 -080010193 @brief Disable Active mode offload in Host
10194
10195 @param void
10196 @see
10197 @return void
10198*/
10199void
10200WDI_disableCapablityFeature(wpt_uint8 feature_index);
10201
10202
10203/**
Jeff Johnson295189b2012-06-20 16:38:30 -070010204 @brief WDI_getHostWlanFeatCaps
10205 WDI API that returns whether the feature passed to it as enum value in
10206 "placeHolderInCapBitmap" is supported by Host or not. It uses WDI global
10207 variable storing host capability bitmap to find this. This can be used by
10208 other moduels to decide certain things like call different APIs based on
10209 whether a particular feature is supported.
10210
10211 @param
10212
10213 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap in wlan_hal_msg.h.
10214
10215 @see
10216 @return
10217 0 - if the feature is NOT supported in host
10218 any non-zero value - if the feature is SUPPORTED in host.
10219*/
10220wpt_uint8 WDI_getHostWlanFeatCaps(wpt_uint8 feat_enum_value);
10221
10222/**
10223 @brief WDI_getFwWlanFeatCaps
10224 WDI API that returns whether the feature passed to it as enum value in
10225 "placeHolderInCapBitmap" is supported by FW or not. It uses WDI global
10226 variable storing host capability bitmap to find this. This can be used by
10227 other moduels to decide certain things like call different APIs based on
10228 whether a particular feature is supported.
10229
10230 @param
10231
Jeff Johnsone7245742012-09-05 17:12:55 -070010232 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap
10233 in wlan_hal_msg.h.
Jeff Johnson295189b2012-06-20 16:38:30 -070010234
10235 @see
10236 @return
10237 0 - if the feature is NOT supported in FW
10238 any non-zero value - if the feature is SUPPORTED in FW.
10239*/
10240wpt_uint8 WDI_getFwWlanFeatCaps(wpt_uint8 feat_enum_value);
10241
10242/**
10243 @brief WDI_GetWcnssCompiledApiVersion - Function to get wcnss compiled
10244 api version
10245
10246 @param WDI_WlanVersionType: Wlan version structure
10247 @see
10248 @return none
10249*/
10250
10251void WDI_GetWcnssCompiledApiVersion
10252(
10253 WDI_WlanVersionType *pWcnssApiVersion
10254);
10255
Mohit Khanna4a70d262012-09-11 16:30:12 -070010256#ifdef WLAN_FEATURE_11AC
10257WDI_Status
10258WDI_UpdateVHTOpModeReq
10259(
10260 WDI_UpdateVHTOpMode *pData,
10261 WDI_UpdateVHTOpModeCb wdiUpdateVHTOpModeCb,
10262 void* pUserData
10263);
Jeff Johnson295189b2012-06-20 16:38:30 -070010264
Mohit Khanna4a70d262012-09-11 16:30:12 -070010265#endif
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070010266
10267/**
10268 @brief WDI_TransportChannelDebug -
10269 Display DXE Channel debugging information
10270 User may request to display DXE channel snapshot
10271 Or if host driver detects any abnormal stcuk may display
10272
Jeff Johnsonb88db982012-12-10 13:34:59 -080010273 @param displaySnapshot : Display DXE snapshot option
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070010274 @param enableStallDetect : Enable stall detect feature
10275 This feature will take effect to data performance
10276 Not integrate till fully verification
10277 @see
10278 @return none
10279*/
10280void WDI_TransportChannelDebug
10281(
10282 wpt_boolean displaySnapshot,
Madan Mohan Koyyalamudi24a00f92012-10-22 15:21:02 -070010283 wpt_boolean toggleStallDetect
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070010284);
10285
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -070010286/**
10287 @brief WDI_SsrTimerCB
10288 Callback function for SSR timer, if this is called then the graceful
10289 shutdown for Riva did not happen.
10290
10291 @param pUserData : user data to timer
10292
10293 @see
10294 @return none
10295*/
10296void
10297WDI_SsrTimerCB
10298(
10299 void *pUserData
10300);
10301
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -070010302/**
10303 @brief WDI_SetEnableSSR -
10304 This API is called to enable/disable SSR on WDI timeout.
10305
10306 @param enableSSR : enable/disable SSR
10307
10308 @see
10309 @return none
10310*/
10311void WDI_SetEnableSSR(wpt_boolean enableSSR);
10312
Leo Chang9056f462013-08-01 19:21:11 -070010313#ifdef FEATURE_WLAN_LPHB
10314/**
10315 @brief WDI_LPHBConfReq
10316 This API is called to config FW LPHB rule
10317
10318 @param lphbconfParam : LPHB rule should config to FW
10319 usrData : Client context
10320 lphbCfgCb : Configuration status callback
10321 @see
10322 @return SUCCESS or FAIL
10323*/
10324WDI_Status WDI_LPHBConfReq
10325(
10326 void *lphbconfParam,
10327 void *usrData,
10328 WDI_LphbCfgCb lphbCfgCb
10329);
10330#endif /* FEATURE_WLAN_LPHB */
Rajeev79dbe4c2013-10-05 11:03:42 +053010331
10332#ifdef FEATURE_WLAN_BATCH_SCAN
10333/**
10334 @brief WDI_SetBatchScanReq
10335 This API is called to set batch scan request in FW
10336
10337 @param pBatchScanReqParam : pointer to set batch scan re param
10338 usrData : Client context
10339 setBatchScanRspCb : set batch scan resp callback
10340 @see
10341 @return SUCCESS or FAIL
10342*/
10343WDI_Status WDI_SetBatchScanReq
10344(
10345 void *pBatchScanReqParam,
10346 void *usrData,
10347 WDI_SetBatchScanCb setBatchScanRspCb
10348);
10349
10350/**
10351 @brief WDI_StopBatchScanInd
10352
10353 @param none
10354
10355 @see
10356
10357 @return Status of the request
10358*/
10359WDI_Status
10360WDI_StopBatchScanInd(WDI_StopBatchScanIndType *pWdiReq);
10361
10362/**
10363 @brief WDI_TriggerBatchScanResultInd
10364 This API is called to pull batch scan result from FW
10365
10366 @param pBatchScanReqParam : pointer to trigger batch scan ind param
10367 usrData : Client context
10368 setBatchScanRspCb : get batch scan resp callback
10369 @see
10370 @return SUCCESS or FAIL
10371*/
10372WDI_Status
10373WDI_TriggerBatchScanResultInd(WDI_TriggerBatchScanResultIndType *pWdiReq);
10374
10375
10376#endif /*FEATURE_WLAN_BATCH_SCAN*/
10377
Sandeep Puligilla8b8b74b2014-02-10 16:39:05 +053010378/**
10379 @brief wdi_HT40OBSSScanInd
10380 This API is called to start OBSS scan
10381
10382 @param pWdiReq : pointer to get ind param
10383 @see
10384 @return SUCCESS or FAIL
10385*/
10386
10387WDI_Status WDI_HT40OBSSScanInd(WDI_HT40ObssScanParamsType *pWdiReq);
10388
10389/**
10390 @brief wdi_HT40OBSSStopScanInd
10391 This API is called to stop OBSS scan
10392
10393 @param bssIdx : bssIdx to stop
10394 @see
10395 @return SUCCESS or FAIL
10396*/
10397
10398WDI_Status WDI_HT40OBSSStopScanInd(wpt_uint8 bssIdx);
10399
Jeff Johnson295189b2012-06-20 16:38:30 -070010400#ifdef __cplusplus
10401 }
10402#endif
10403
Jeff Johnson295189b2012-06-20 16:38:30 -070010404#endif /* #ifndef WLAN_QCT_WDI_H */