blob: 95c5fdd538684149c609da3d1e9046acc0327344 [file] [log] [blame]
Jeff Johnson295189b2012-06-20 16:38:30 -07001/*
Kiet Lam1ed83fc2014-02-19 01:15:45 -08002 * Copyright (c) 2012-2014 The Linux Foundation. All rights reserved.
3 *
4 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
5 *
6 *
7 * Permission to use, copy, modify, and/or distribute this software for
8 * any purpose with or without fee is hereby granted, provided that the
9 * above copyright notice and this permission notice appear in all
10 * copies.
11 *
12 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
13 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
14 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
15 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
16 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
17 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
18 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19 * PERFORMANCE OF THIS SOFTWARE.
20 */
21
22/*
23 * Copyright (c) 2012-2014 Qualcomm Atheros, Inc.
24 * All Rights Reserved.
25 * Qualcomm Atheros Confidential and Proprietary.
26 *
27 */
28
Jeff Johnson295189b2012-06-20 16:38:30 -070029
30#ifndef WLAN_QCT_WDI_H
31#define WLAN_QCT_WDI_H
32
33/*===========================================================================
34
35 W L A N D E V I C E A B S T R A C T I O N L A Y E R
36 E X T E R N A L A P I
37
38
39DESCRIPTION
40 This file contains the external API exposed by the wlan transport layer
41 module.
42
43
44 Copyright (c) 2010-2011 QUALCOMM Incorporated.
45 All Rights Reserved.
46 Qualcomm Confidential and Proprietary
47===========================================================================*/
48
49
50/*===========================================================================
51
52 EDIT HISTORY FOR FILE
53
54
55 This section contains comments describing changes made to the module.
56 Notice that changes are listed in reverse chronological order.
57
58
59 $Header:$ $DateTime: $ $Author: $
60
61
62when who what, where, why
63-------- --- ----------------------------------------------------------
6410/05/11 hap Adding support for Keep Alive
6508/04/10 lti Created module.
66
67===========================================================================*/
68
69
70
71/*===========================================================================
72
73 INCLUDE FILES FOR MODULE
74
75===========================================================================*/
76
77/*----------------------------------------------------------------------------
78 * Include Files
79 * -------------------------------------------------------------------------*/
80#include "wlan_qct_pal_api.h"
81#include "wlan_qct_pal_type.h"
82#include "wlan_qct_pack_align.h"
83#include "wlan_qct_wdi_cfg.h"
84
85/*----------------------------------------------------------------------------
86 * Preprocessor Definitions and Constants
87 * -------------------------------------------------------------------------*/
88#ifdef __cplusplus
89 extern "C" {
90#endif
91
92/* MAC ADDRESS LENGTH - per spec*/
93#define WDI_MAC_ADDR_LEN 6
94
95/* Max number of 11b rates -> 1,2,5.5,11 */
96#define WDI_NUM_11B_RATES 4
97
98/* Max number of 11g rates -> 6,9,12,18,24,36,48,54*/
99#define WDI_NUM_11A_RATES 8
100
101/* Max number of legacy rates -> 72, 96, 108*/
102#define WDI_NUM_POLARIS_RATES 3
103
104/* Max supported MCS set*/
105#define WDI_MAC_MAX_SUPPORTED_MCS_SET 16
106
107/*Max number of Access Categories for QoS - per spec */
108#define WDI_MAX_NO_AC 4
109
110/*Max. size for reserving the Beacon Template */
111#define WDI_BEACON_TEMPLATE_SIZE 0x180
112
113#define WDI_WOWL_BCAST_PATTERN_MAX_SIZE 128
114
115#define WDI_WOWL_BCAST_MAX_NUM_PATTERNS 16
116
117#define WDI_MAX_SSID_SIZE 32
118
119/* The shared memory between WDI and HAL is 4K so maximum data can be transferred
120from WDI to HAL is 4K.This 4K should also include the Message header so sending 4K
121of NV fragment is nt possbile.The next multiple of 1Kb is 3K */
122
123#define FRAGMENT_SIZE 3072
124
125/* Macro to find the total number fragments of the NV Image*/
Madan Mohan Koyyalamudia53c4dc2012-11-13 10:35:42 -0800126#define TOTALFRAGMENTS(x) (((x % FRAGMENT_SIZE) == 0) ? (x / FRAGMENT_SIZE):((x / FRAGMENT_SIZE) + 1))
Jeff Johnson295189b2012-06-20 16:38:30 -0700127
128/* Beacon Filter Length*/
129#define WDI_BEACON_FILTER_LEN 70
130
131/* Coex Indication data size - should match WLAN_COEX_IND_DATA_SIZE */
132#define WDI_COEX_IND_DATA_SIZE (4)
133
134#define WDI_CIPHER_SEQ_CTR_SIZE 6
135
136#define WDI_NUM_BSSID 2
137
138/*Version string max length (including NUL) */
139#define WDI_VERSION_LENGTH 64
140
141
142/*WDI Response timeout - how long will WDI wait for a response from the device
143 - it should be large enough to allow any other failure mechanism to kick
144 in before we get to a timeout (ms units)*/
145#define WDI_RESPONSE_TIMEOUT 10000
146
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -0700147/* SSR timeout - If Riva initiated SSR doesn't happen during this time, then the
148 * Apps initiated SSR will be performed */
149#define WDI_SSR_TIMEOUT 5000
150
Jeff Johnson295189b2012-06-20 16:38:30 -0700151#define WDI_SET_POWER_STATE_TIMEOUT 10000 /* in msec a very high upper limit */
152
Yue Mab9c86f42013-08-14 15:59:08 -0700153/* Periodic Tx pattern offload feature */
154#define PERIODIC_TX_PTRN_MAX_SIZE 1536
155#define MAXNUM_PERIODIC_TX_PTRNS 6
156
Jeff Johnson295189b2012-06-20 16:38:30 -0700157/*============================================================================
158 * GENERIC STRUCTURES
159
160============================================================================*/
161
162/*---------------------------------------------------------------------------
163 WDI Version Information
164---------------------------------------------------------------------------*/
165typedef struct
166{
167 wpt_uint8 revision;
168 wpt_uint8 version;
169 wpt_uint8 minor;
170 wpt_uint8 major;
171} WDI_WlanVersionType;
172
173/*---------------------------------------------------------------------------
174 WDI Device Capability
175---------------------------------------------------------------------------*/
176typedef struct
177{
178 /*If this flag is true it means that the device can support 802.3/ETH2 to
179 802.11 translation*/
180 wpt_boolean bFrameXtlSupported;
181
182 /*Maximum number of BSSes supported by the Device */
183 wpt_uint8 ucMaxBSSSupported;
184
185 /*Maximum number of stations supported by the Device */
186 wpt_uint8 ucMaxSTASupported;
187}WDI_DeviceCapabilityType;
188
189/*---------------------------------------------------------------------------
190 WDI Channel Offset
191---------------------------------------------------------------------------*/
192typedef enum
193{
194 WDI_SECONDARY_CHANNEL_OFFSET_NONE = 0,
195 WDI_SECONDARY_CHANNEL_OFFSET_UP = 1,
Jeff Johnsone7245742012-09-05 17:12:55 -0700196 WDI_SECONDARY_CHANNEL_OFFSET_DOWN = 3,
197#ifdef WLAN_FEATURE_11AC
198 WDI_CHANNEL_20MHZ_LOW_40MHZ_CENTERED = 4, //20/40MHZ offset LOW 40/80MHZ offset CENTERED
199 WDI_CHANNEL_20MHZ_CENTERED_40MHZ_CENTERED = 5, //20/40MHZ offset CENTERED 40/80MHZ offset CENTERED
200 WDI_CHANNEL_20MHZ_HIGH_40MHZ_CENTERED = 6, //20/40MHZ offset HIGH 40/80MHZ offset CENTERED
201 WDI_CHANNEL_20MHZ_LOW_40MHZ_LOW = 7,//20/40MHZ offset LOW 40/80MHZ offset LOW
202 WDI_CHANNEL_20MHZ_HIGH_40MHZ_LOW = 8, //20/40MHZ offset HIGH 40/80MHZ offset LOW
203 WDI_CHANNEL_20MHZ_LOW_40MHZ_HIGH = 9, //20/40MHZ offset LOW 40/80MHZ offset HIGH
204 WDI_CHANNEL_20MHZ_HIGH_40MHZ_HIGH = 10,//20/40MHZ offset-HIGH 40/80MHZ offset HIGH
205#endif
206 WDI_SECONDARY_CHANNEL_OFFSET_MAX
Jeff Johnson295189b2012-06-20 16:38:30 -0700207}WDI_HTSecondaryChannelOffset;
208
209/*---------------------------------------------------------------------------
210 WDI_MacFrameCtl
211 Frame control field format (2 bytes)
212---------------------------------------------------------------------------*/
213typedef struct
214{
215 wpt_uint8 protVer :2;
216 wpt_uint8 type :2;
217 wpt_uint8 subType :4;
218
219 wpt_uint8 toDS :1;
220 wpt_uint8 fromDS :1;
221 wpt_uint8 moreFrag :1;
222 wpt_uint8 retry :1;
223 wpt_uint8 powerMgmt :1;
224 wpt_uint8 moreData :1;
225 wpt_uint8 wep :1;
226 wpt_uint8 order :1;
227
228} WDI_MacFrameCtl;
229
230/*---------------------------------------------------------------------------
231 WDI Sequence control field
232---------------------------------------------------------------------------*/
233typedef struct
234{
235 wpt_uint8 fragNum : 4;
236 wpt_uint8 seqNumLo : 4;
237 wpt_uint8 seqNumHi : 8;
238} WDI_MacSeqCtl;
239
240/*---------------------------------------------------------------------------
241 Management header format
242---------------------------------------------------------------------------*/
243typedef struct
244{
245 WDI_MacFrameCtl fc;
246 wpt_uint8 durationLo;
247 wpt_uint8 durationHi;
248 wpt_uint8 da[WDI_MAC_ADDR_LEN];
249 wpt_uint8 sa[WDI_MAC_ADDR_LEN];
250 wpt_macAddr bssId;
251 WDI_MacSeqCtl seqControl;
252} WDI_MacMgmtHdr;
253
254/*---------------------------------------------------------------------------
255 NV Blob management sturcture
256 ---------------------------------------------------------------------------*/
257
258typedef struct
259{
260 /* NV image fragments count */
261 wpt_uint16 usTotalFragment;
262
263 /* NV fragment size */
264 wpt_uint16 usFragmentSize;
265
266 /* current fragment to be sent */
267 wpt_uint16 usCurrentFragment;
268
269} WDI_NvBlobInfoParams;
270
271
272/*---------------------------------------------------------------------------
273 Data path enums memory pool resource
274 ---------------------------------------------------------------------------*/
275
276typedef enum
277{
278 /* managment resource pool ID */
279 WDI_MGMT_POOL_ID = 0,
280 /* Data resource pool ID */
281 WDI_DATA_POOL_ID = 1
282}WDI_ResPoolType;
283
284/*============================================================================
285 * GENERIC STRUCTURES - END
286 ============================================================================*/
287
288/*----------------------------------------------------------------------------
289 * Type Declarations
290 * -------------------------------------------------------------------------*/
291/*---------------------------------------------------------------------------
292 WDI Status
293---------------------------------------------------------------------------*/
294typedef enum
295{
296 WDI_STATUS_SUCCESS, /* Operation has completed successfully*/
297 WDI_STATUS_SUCCESS_SYNC, /* Operation has completed successfully in a
298 synchronous way - no rsp will be generated*/
299 WDI_STATUS_PENDING, /* Operation result is pending and will be
300 provided asynchronously through the Req Status
301 Callback */
302 WDI_STATUS_E_FAILURE, /* Operation has ended in a generic failure*/
303 WDI_STATUS_RES_FAILURE, /* Operation has ended in a resource failure*/
304 WDI_STATUS_MEM_FAILURE, /* Operation has ended in a memory allocation
305 failure*/
306 WDI_STATUS_E_NOT_ALLOWED, /* Operation is not allowed in the current state
307 of the driver*/
308 WDI_STATUS_E_NOT_IMPLEMENT, /* Operation is not yet implemented*/
309
310 WDI_STATUS_DEV_INTERNAL_FAILURE, /*An internal error has occurred in the device*/
311 WDI_STATUS_MAX
312
313}WDI_Status;
314
315
316/*---------------------------------------------------------------------------
317 WDI_ReqStatusCb
318
319 DESCRIPTION
320
321 This callback is invoked by DAL to deliver to UMAC the result of posting
322 a previous request for which the return status was PENDING.
323
324 PARAMETERS
325
326 IN
327 wdiStatus: response status received from the Control Transport
328 pUserData: user data
329
330
331
332 RETURN VALUE
333 The result code associated with performing the operation
334---------------------------------------------------------------------------*/
335typedef void (*WDI_ReqStatusCb)(WDI_Status wdiStatus,
336 void* pUserData);
337
338/*---------------------------------------------------------------------------
339 WDI_LowLevelIndEnumType
340 Types of indication that can be posted to UMAC by DAL
341---------------------------------------------------------------------------*/
342typedef enum
343{
344 /*When RSSI monitoring is enabled of the Lower MAC and a threshold has been
345 passed. */
346 WDI_RSSI_NOTIFICATION_IND,
347
348 /*Link loss in the low MAC */
349 WDI_MISSED_BEACON_IND,
350
351 /*when hardware has signaled an unknown addr2 frames. The indication will
352 contain info from frames to be passed to the UMAC, this may use this info to
353 deauth the STA*/
354 WDI_UNKNOWN_ADDR2_FRAME_RX_IND,
355
356 /*MIC Failure detected by HW*/
357 WDI_MIC_FAILURE_IND,
358
359 /*Fatal Error Ind*/
360 WDI_FATAL_ERROR_IND,
361
362 /*Delete Station Ind*/
363 WDI_DEL_STA_IND,
364
365 /*Indication from Coex*/
366 WDI_COEX_IND,
367
368 /* Indication for Tx Complete */
369 WDI_TX_COMPLETE_IND,
370
371 /*.P2P_NOA_Attr_Indication */
372 WDI_P2P_NOA_ATTR_IND,
373
374 /* Preferred Network Found Indication */
375 WDI_PREF_NETWORK_FOUND_IND,
376
377 WDI_WAKE_REASON_IND,
378
379 /* Tx PER Tracking Indication */
380 WDI_TX_PER_HIT_IND,
Viral Modid86bde22012-12-10 13:09:21 -0800381
Viral Modid86bde22012-12-10 13:09:21 -0800382 /* P2P_NOA_Start_Indication */
383 WDI_P2P_NOA_START_IND,
Viral Modid86bde22012-12-10 13:09:21 -0800384
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530385 /* TDLS_Indication */
386 WDI_TDLS_IND,
387
Leo Changd9df8aa2013-09-26 13:32:26 -0700388 /* LPHB Indication from FW to umac */
389 WDI_LPHB_IND,
Leo Chang9056f462013-08-01 19:21:11 -0700390
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700391 /* IBSS Peer Inactivity Indication */
392 WDI_IBSS_PEER_INACTIVITY_IND,
393
Yue Mab9c86f42013-08-14 15:59:08 -0700394 /* Periodic Tx Pattern FW Indication */
395 WDI_PERIODIC_TX_PTRN_FW_IND,
396
Rajeev79dbe4c2013-10-05 11:03:42 +0530397#ifdef FEATURE_WLAN_BATCH_SCAN
398 /*Batch scan result indication from FW*/
399 WDI_BATCH_SCAN_RESULT_IND,
400#endif
401
Leo Chang0b0e45a2013-12-15 15:18:55 -0800402#ifdef FEATURE_WLAN_CH_AVOID
403 WDI_CH_AVOID_IND,
404#endif /* FEATURE_WLAN_CH_AVOID */
Sunil Duttbd736ed2014-05-26 21:19:41 +0530405#ifdef WLAN_FEATURE_LINK_LAYER_STATS
406 WDI_LL_STATS_RESULTS_IND,
407#endif
Dino Mycle41bdc942014-06-10 11:30:24 +0530408#ifdef WLAN_FEATURE_EXTSCAN
409 WDI_EXTSCAN_PROGRESS_IND,
410 WDI_EXTSCAN_SCAN_AVAILABLE_IND,
411 WDI_EXTSCAN_SCAN_RESULT_IND,
412 WDI_EXTSCAN_GET_CAPABILITIES_IND,
413 WDI_EXTSCAN_BSSID_HOTLIST_RESULT_IND,
414 WDI_EXTSCAN_SIGN_RSSI_RESULT_IND,
415#endif
Leo Chang0b0e45a2013-12-15 15:18:55 -0800416
Jeff Johnson295189b2012-06-20 16:38:30 -0700417 WDI_MAX_IND
418}WDI_LowLevelIndEnumType;
419
420
421/*---------------------------------------------------------------------------
422 WDI_LowRSSIThIndType
423---------------------------------------------------------------------------*/
424typedef struct
425{
426 /*Positive crossing of Rssi Thresh1*/
427 wpt_uint32 bRssiThres1PosCross : 1;
428 /*Negative crossing of Rssi Thresh1*/
429 wpt_uint32 bRssiThres1NegCross : 1;
430 /*Positive crossing of Rssi Thresh2*/
431 wpt_uint32 bRssiThres2PosCross : 1;
432 /*Negative crossing of Rssi Thresh2*/
433 wpt_uint32 bRssiThres2NegCross : 1;
434 /*Positive crossing of Rssi Thresh3*/
435 wpt_uint32 bRssiThres3PosCross : 1;
436 /*Negative crossing of Rssi Thresh3*/
437 wpt_uint32 bRssiThres3NegCross : 1;
438
Srinivasdaaec712012-12-12 15:59:44 -0800439 wpt_uint32 avgRssi : 8;
440 wpt_uint32 bReserved : 18;
Jeff Johnson295189b2012-06-20 16:38:30 -0700441
442}WDI_LowRSSIThIndType;
443
444
445/*---------------------------------------------------------------------------
446 WDI_UnkAddr2FrmRxIndType
447---------------------------------------------------------------------------*/
448typedef struct
449{
450 /*Rx Bd data of the unknown received addr2 frame.*/
451 void* bufRxBd;
452
453 /*Buffer Length*/
454 wpt_uint16 usBufLen;
455}WDI_UnkAddr2FrmRxIndType;
456
457/*---------------------------------------------------------------------------
458 WDI_DeleteSTAIndType
459---------------------------------------------------------------------------*/
460typedef struct
461{
462 /*ASSOC ID, as assigned by UMAC*/
463 wpt_uint16 usAssocId;
464
465 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
466 wpt_uint8 ucSTAIdx;
467
468 /*BSSID of STA*/
469 wpt_macAddr macBSSID;
470
471 /*MAC ADDR of STA*/
472 wpt_macAddr macADDR2;
473
474 /* To unify the keepalive / unknown A2 / tim-based disa*/
475 wpt_uint16 wptReasonCode;
476
477}WDI_DeleteSTAIndType;
478
479/*---------------------------------------------------------------------------
480 WDI_MicFailureIndType
481---------------------------------------------------------------------------*/
482typedef struct
483{
484 /*current BSSID*/
485 wpt_macAddr bssId;
486
487 /*Source mac address*/
488 wpt_macAddr macSrcAddr;
489
490 /*Transmitter mac address*/
491 wpt_macAddr macTaAddr;
492
493 /*Destination mac address*/
494 wpt_macAddr macDstAddr;
495
496 /*Multicast flag*/
497 wpt_uint8 ucMulticast;
498
499 /*First byte of IV*/
500 wpt_uint8 ucIV1;
501
502 /*Key Id*/
503 wpt_uint8 keyId;
504
505 /*Sequence Number*/
506 wpt_uint8 TSC[WDI_CIPHER_SEQ_CTR_SIZE];
507
508 /*receive address */
509 wpt_macAddr macRxAddr;
510}WDI_MicFailureIndType;
511
512/*---------------------------------------------------------------------------
513 WDI_CoexIndType
514---------------------------------------------------------------------------*/
515typedef struct
516{
517 wpt_uint32 coexIndType;
518 wpt_uint32 coexIndData[WDI_COEX_IND_DATA_SIZE];
519} WDI_CoexIndType;
520
521/*---------------------------------------------------------------------------
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +0530522 WDI_DHCPInd
523---------------------------------------------------------------------------*/
524
525typedef struct
526{
527 wpt_uint8 device_mode;
528 wpt_uint8 macAddr[WDI_MAC_ADDR_LEN];
529}WDI_DHCPInd;
530
531/*---------------------------------------------------------------------------
532
Jeff Johnson295189b2012-06-20 16:38:30 -0700533 WDI_MacSSid
534---------------------------------------------------------------------------*/
535typedef struct
536{
537 wpt_uint8 ucLength;
538 wpt_uint8 sSSID[WDI_MAX_SSID_SIZE];
539} WDI_MacSSid;
540
541#ifdef FEATURE_WLAN_SCAN_PNO
542/*---------------------------------------------------------------------------
543 WDI_PrefNetworkFoundInd
544---------------------------------------------------------------------------*/
545typedef struct
546{
547 /* Network that was found with the highest RSSI*/
Srikant Kuppa066904f2013-05-07 13:56:02 -0700548 WDI_MacSSid ssId;
Jeff Johnson295189b2012-06-20 16:38:30 -0700549 /* Indicates the RSSI */
Srikant Kuppa066904f2013-05-07 13:56:02 -0700550 wpt_uint8 rssi;
551 wpt_uint16 frameLength;
552 wpt_uint8 *pData;
Jeff Johnson295189b2012-06-20 16:38:30 -0700553} WDI_PrefNetworkFoundInd;
554#endif // FEATURE_WLAN_SCAN_PNO
555
Jeff Johnson295189b2012-06-20 16:38:30 -0700556/*---------------------------------------------------------------------------
557 *WDI_P2pNoaAttrIndType
558 *-------------------------------------------------------------------------*/
Jeff Johnson295189b2012-06-20 16:38:30 -0700559typedef struct
560{
561 wpt_uint8 ucIndex ;
562 wpt_uint8 ucOppPsFlag ;
563 wpt_uint16 usCtWin ;
564
565 wpt_uint16 usNoa1IntervalCnt;
566 wpt_uint16 usRsvd1 ;
567 wpt_uint32 uslNoa1Duration;
568 wpt_uint32 uslNoa1Interval;
569 wpt_uint32 uslNoa1StartTime;
570
571 wpt_uint16 usNoa2IntervalCnt;
572 wpt_uint16 usRsvd2;
573 wpt_uint32 uslNoa2Duration;
574 wpt_uint32 uslNoa2Interval;
575 wpt_uint32 uslNoa2StartTime;
576
577 wpt_uint32 status;
578}WDI_P2pNoaAttrIndType;
Viral Modid86bde22012-12-10 13:09:21 -0800579
580/*---------------------------------------------------------------------------
581 *WDI_P2pNoaStartIndType
582 *-------------------------------------------------------------------------*/
583typedef struct
584{
585 wpt_uint32 status;
586 wpt_uint32 bssIdx;
587}WDI_P2pNoaStartIndType;
588
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530589/*---------------------------------------------------------------------------
590 *WDI_TdlsIndType
591 *-------------------------------------------------------------------------*/
592typedef struct
593{
594 wpt_uint16 status;
595 wpt_uint16 assocId;
596 wpt_uint16 staIdx;
597 wpt_uint16 reasonCode;
598}WDI_TdlsIndType;
Jeff Johnson295189b2012-06-20 16:38:30 -0700599
600#ifdef WLAN_WAKEUP_EVENTS
601/*---------------------------------------------------------------------------
602 WDI_WakeReasonIndType
603---------------------------------------------------------------------------*/
604typedef struct
605{
606 wpt_uint32 ulReason; /* see tWakeReasonType */
607 wpt_uint32 ulReasonArg; /* argument specific to the reason type */
608 wpt_uint32 ulStoredDataLen; /* length of optional data stored in this message, in case
609 HAL truncates the data (i.e. data packets) this length
610 will be less than the actual length */
611 wpt_uint32 ulActualDataLen; /* actual length of data */
612 wpt_uint8 aDataStart[1]; /* variable length start of data (length == storedDataLen)
613 see specific wake type */
614} WDI_WakeReasonIndType;
615#endif // WLAN_WAKEUP_EVENTS
616
617/*---------------------------------------------------------------------------
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800618 WDI_MissedBeaconIndType
619-----------------------------------------------------------------------------*/
620typedef struct
621{
622 wpt_uint8 bssIdx; /*bssidx on which beacon is missed*/
623} WDI_MissedBeaconIndType;
624
Leo Chang9056f462013-08-01 19:21:11 -0700625#ifdef FEATURE_WLAN_LPHB
626/*---------------------------------------------------------------------------
627 WDI_LPHBTimeoutIndData
628-----------------------------------------------------------------------------*/
629typedef struct
630{
631 wpt_uint8 bssIdx;
632 wpt_uint8 sessionIdx;
633 wpt_uint8 protocolType; /*TCP or UDP*/
634 wpt_uint8 eventReason;
635} WDI_LPHBTimeoutIndData;
636#endif /* FEATURE_WLAN_LPHB */
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800637
Yue Mab9c86f42013-08-14 15:59:08 -0700638/*-----------------------------------------------------------------------------
639WDI_PeriodicTxPtrnFwIndType
640-----------------------------------------------------------------------------*/
641typedef struct
642{
643 wpt_uint8 bssIdx;
644 wpt_uint32 selfStaIdx;
645 wpt_uint32 status;
646 wpt_uint32 patternIdBitmap;
647} WDI_PeriodicTxPtrnFwIndType;
648
Rajeev79dbe4c2013-10-05 11:03:42 +0530649#ifdef FEATURE_WLAN_BATCH_SCAN
650/*---------------------------------------------------------------------------
651 WDI_SetBatchScanReqType
652---------------------------------------------------------------------------*/
653typedef struct
654{
655 wpt_uint32 scanFrequency; /* how frequent to do scan default 30Sec*/
656 wpt_uint32 numberOfScansToBatch; /* number of scans to batch */
657 wpt_uint32 bestNetwork; /* best networks in terms of rssi */
658 wpt_uint8 rfBand; /* band to scan :
659 0 ->both Band, 1->2.4Ghz Only
660 and 2-> 5GHz Only */
661 wpt_uint32 rtt; /* set if required to do RTT it is not
662 supported in current version */
663}WDI_SetBatchScanReqType;
664
665/*---------------------------------------------------------------------------
666 WDI_SetBatchScanRspType
667---------------------------------------------------------------------------*/
668typedef struct
669{
670 /*max number of scans which FW can cache*/
671 wpt_uint32 nScansToBatch;
672}WDI_SetBatchScanRspType;
673
674/*---------------------------------------------------------------------------
675 WDI_TriggerBatchScanResultIndType
676---------------------------------------------------------------------------*/
677typedef struct
678{
679 wpt_uint32 param;
680}WDI_TriggerBatchScanResultIndType;
681
682/*---------------------------------------------------------------------------
683 WDI_StopBatchScanIndType
684---------------------------------------------------------------------------*/
685typedef struct
686{
687 /*max number of scans which FW can cache*/
688 wpt_uint32 param;
689}WDI_StopBatchScanIndType;
690
691
692/*---------------------------------------------------------------------------
693 * WDI_BatchScanResultIndType
694 *--------------------------------------------------------------------------*/
695typedef struct
696{
697 wpt_uint32 bssid[6]; /* BSSID */
698 wpt_uint32 ssid[32]; /* SSID */
699 wpt_uint32 ch; /* Channel */
700 wpt_uint32 rssi; /* RSSI or Level */
701 /* Timestamp when Network was found. Used to calculate age based on
702 timestamp in GET_RSP msg header */
703 wpt_uint32 timestamp;
704} tWDIBatchScanNetworkInfo, *tpWDIBatchScanNetworkInfo;
705
706typedef struct
707{
708 wpt_uint32 scanId; /*Scan List ID*/
709 /*No of AP in a Scan Result. Should be same as bestNetwork in SET_REQ msg*/
710 wpt_uint32 numNetworksInScanList;
711 /*Variable data ptr: Number of AP in Scan List*/
712 wpt_uint32 scanList[1];
713} tWDIBatchScanList, *tpWDIBatchScanList;
714
715typedef struct
716{
717 wpt_uint32 timestamp;
718 wpt_uint32 numScanLists;
719 wpt_boolean isLastResult;
720 /* Variable Data ptr: Number of Scan Lists*/
721 wpt_uint32 scanResults[1];
722} tWDIBatchScanResultParam, *tpWDIBatchScanResultParam;
723
724#endif
725
726
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800727/*---------------------------------------------------------------------------
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700728 WDI_IbssPeerInactivityIndType
729-----------------------------------------------------------------------------*/
730typedef struct
731{
732 wpt_uint8 bssIdx;
733 wpt_uint8 staIdx;
734 wpt_macAddr staMacAddr;
735}WDI_IbssPeerInactivityIndType;
736
737/*---------------------------------------------------------------------------
Chittajit Mitraf5413a42013-10-18 14:20:08 -0700738 WDI_TxRateFlags
739-----------------------------------------------------------------------------*/
740typedef enum
741{
742 WDI_TX_RATE_LEGACY = 0x1, /* Legacy rates */
743 WDI_TX_RATE_HT20 = 0x2, /* HT20 rates */
744 WDI_TX_RATE_HT40 = 0x4, /* HT40 rates */
745 WDI_TX_RATE_SGI = 0x8, /* Rate with Short guard interval */
746 WDI_TX_RATE_LGI = 0x10, /* Rate with Long guard interval */
747 WDI_TX_RATE_VHT20 = 0x20, /* VHT 20 rates */
748 WDI_TX_RATE_VHT40 = 0x40, /* VHT 20 rates */
749 WDI_TX_RATE_VHT80 = 0x80, /* VHT 20 rates */
750 WDI_TX_RATE_VIRT = 0x100, /* Virtual Rate */
751} WDI_TxRateFlags;
752
753/*---------------------------------------------------------------------------
754 WDI_RateUpdateIndParams
755-----------------------------------------------------------------------------*/
756typedef struct
757{
758 /* 0 implies RA, positive value implies fixed rate, -1 implies ignore this
759 * param ucastDataRate can be used to control RA behavior of unicast data to
760 */
761 wpt_int32 ucastDataRate;
762
763 /* TX flag to differentiate between HT20, HT40 etc */
764 WDI_TxRateFlags ucastDataRateTxFlag;
765
766 /* BSSID - Optional. 00-00-00-00-00-00 implies apply to all BCAST STAs */
767 wpt_macAddr bssid;
768
769 /*
770 * 0 implies MCAST RA, positive value implies fixed rate,
771 * -1 implies ignore this param
772 */
773 wpt_int32 reliableMcastDataRate; //unit Mbpsx10
774
775 /* TX flag to differentiate between HT20, HT40 etc */
776 WDI_TxRateFlags reliableMcastDataRateTxFlag;
777
778 /*
779 * MCAST(or BCAST) fixed data rate in 2.4 GHz, unit Mbpsx10,
780 * 0 implies ignore
781 */
782 wpt_uint32 mcastDataRate24GHz;
783
784 /* TX flag to differentiate between HT20, HT40 etc */
785 WDI_TxRateFlags mcastDataRate24GHzTxFlag;
786
787 /*
788 * MCAST(or BCAST) fixed data rate in 5 GHz,
789 * unit Mbpsx10, 0 implies ignore
790 */
791 wpt_uint32 mcastDataRate5GHz;
792
793 /* TX flag to differentiate between HT20, HT40 etc */
794 WDI_TxRateFlags mcastDataRate5GHzTxFlag;
795
796 /*
797 * Request status callback offered by UMAC - it is called if the current
798 * req has returned PENDING as status; it delivers the status of sending
799 * the message over the BUS
800 */
801 WDI_ReqStatusCb wdiReqStatusCB;
802
803 /*
804 * The user data passed in by UMAC, it will be sent back when the above
805 * function pointer will be called
806 */
807 void *pUserData;
808
809} WDI_RateUpdateIndParams;
810
Leo Chang0b0e45a2013-12-15 15:18:55 -0800811#ifdef FEATURE_WLAN_CH_AVOID
812#define WDI_CH_AVOID_MAX_RANGE 4
813
814typedef struct
815{
816 wpt_uint32 startFreq;
817 wpt_uint32 endFreq;
818} WDI_ChAvoidFreqType;
819
820typedef struct
821{
822 wpt_uint32 avoidRangeCount;
823 WDI_ChAvoidFreqType avoidFreqRange[WDI_CH_AVOID_MAX_RANGE];
824} WDI_ChAvoidIndType;
825#endif /* FEATURE_WLAN_CH_AVOID */
826
Dino Mycled3d50022014-07-07 12:58:25 +0530827#ifdef WLAN_FEATURE_LINK_LAYER_STATS
828typedef struct
829{
830 void *pLinkLayerStatsResults;
831 wpt_macAddr macAddr;
832} WDI_LinkLayerStatsResults;
833
834#endif
Chittajit Mitraf5413a42013-10-18 14:20:08 -0700835/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -0700836 WDI_LowLevelIndType
837 Inidcation type and information about the indication being carried
838 over
839---------------------------------------------------------------------------*/
840typedef struct
841{
842 /*Inidcation type*/
843 WDI_LowLevelIndEnumType wdiIndicationType;
844
845 /*Indication data*/
846 union
847 {
848 /*RSSI Threshold Info for WDI_LOW_RSSI_IND*/
849 WDI_LowRSSIThIndType wdiLowRSSIInfo;
850
851 /*Addr2 Frame Info for WDI_UNKNOWN_ADDR2_FRAME_RX_IND*/
852 WDI_UnkAddr2FrmRxIndType wdiUnkAddr2FrmInfo;
853
854 /*MIC Failure info for WDI_MIC_FAILURE_IND*/
855 WDI_MicFailureIndType wdiMICFailureInfo;
856
857 /*Error code for WDI_FATAL_ERROR_IND*/
858 wpt_uint16 usErrorCode;
859
860 /*Delete STA Indication*/
861 WDI_DeleteSTAIndType wdiDeleteSTAIndType;
862
863 /*Coex Indication*/
864 WDI_CoexIndType wdiCoexInfo;
865
866 /* Tx Complete Indication */
867 wpt_uint32 tx_complete_status;
868
Jeff Johnson295189b2012-06-20 16:38:30 -0700869 /* P2P NOA ATTR Indication */
870 WDI_P2pNoaAttrIndType wdiP2pNoaAttrInfo;
Viral Modid86bde22012-12-10 13:09:21 -0800871 WDI_P2pNoaStartIndType wdiP2pNoaStartInfo;
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530872 /* TDLS Indications */
873 WDI_TdlsIndType wdiTdlsIndInfo;
Jeff Johnson295189b2012-06-20 16:38:30 -0700874
875
876#ifdef FEATURE_WLAN_SCAN_PNO
877 WDI_PrefNetworkFoundInd wdiPrefNetworkFoundInd;
878#endif // FEATURE_WLAN_SCAN_PNO
879
880#ifdef WLAN_WAKEUP_EVENTS
881 WDI_WakeReasonIndType wdiWakeReasonInd;
882#endif // WLAN_WAKEUP_EVENTS
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800883 WDI_MissedBeaconIndType wdiMissedBeaconInd;
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700884
Leo Chang9056f462013-08-01 19:21:11 -0700885#ifdef FEATURE_WLAN_LPHB
886 WDI_LPHBTimeoutIndData wdiLPHBTimeoutInd;
887#endif /* FEATURE_WLAN_LPHB */
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700888
889 /* IBSS Peer Inactivity Indication */
890 WDI_IbssPeerInactivityIndType wdiIbssPeerInactivityInd;
891
Yue Mab9c86f42013-08-14 15:59:08 -0700892 /* Periodic TX Pattern FW Indication */
893 WDI_PeriodicTxPtrnFwIndType wdiPeriodicTxPtrnFwInd;
Rajeev79dbe4c2013-10-05 11:03:42 +0530894
895#ifdef FEATURE_WLAN_BATCH_SCAN
896 /*batch scan result indication from FW*/
897 void *pBatchScanResult;
898#endif
899
Leo Chang0b0e45a2013-12-15 15:18:55 -0800900#ifdef FEATURE_WLAN_CH_AVOID
901 WDI_ChAvoidIndType wdiChAvoidInd;
902#endif /* FEATURE_WLAN_CH_AVOID */
Sunil Duttbd736ed2014-05-26 21:19:41 +0530903
904#ifdef WLAN_FEATURE_LINK_LAYER_STATS
905 /*Link Layer Statistics from FW*/
Dino Mycled3d50022014-07-07 12:58:25 +0530906 WDI_LinkLayerStatsResults wdiLinkLayerStatsResults;
Sunil Duttbd736ed2014-05-26 21:19:41 +0530907#endif
Dino Mycle41bdc942014-06-10 11:30:24 +0530908#ifdef WLAN_FEATURE_EXTSCAN
909 /*EXTSCAN Results from FW*/
910 void *pEXTScanIndData;
911#endif
Jeff Johnson295189b2012-06-20 16:38:30 -0700912 } wdiIndicationData;
913}WDI_LowLevelIndType;
914
915/*---------------------------------------------------------------------------
916 WDI_LowLevelIndCBType
917
918 DESCRIPTION
919
920 This callback is invoked by DAL to deliver to UMAC certain indications
921 that has either received from the lower device or has generated itself.
922
923 PARAMETERS
924
925 IN
926 pwdiInd: information about the indication sent over
927 pUserData: user data provided by UMAC during registration
928
929
930
931 RETURN VALUE
932 The result code associated with performing the operation
933---------------------------------------------------------------------------*/
934typedef void (*WDI_LowLevelIndCBType)(WDI_LowLevelIndType* pwdiInd,
935 void* pUserData);
936
937/*---------------------------------------------------------------------------
938 WDI_DriverType
939---------------------------------------------------------------------------*/
940typedef enum
941{
942 WDI_DRIVER_TYPE_PRODUCTION = 0,
943 WDI_DRIVER_TYPE_MFG = 1,
944 WDI_DRIVER_TYPE_DVT = 2
945} WDI_DriverType;
946
947/*---------------------------------------------------------------------------
948 WDI_StartReqParamsType
949---------------------------------------------------------------------------*/
950typedef struct
951{
952 /*This is a TLV formatted buffer containing all config values that can
953 be set through the DAL Interface
954
955 The TLV is expected to be formatted like this:
956
957 0 7 15 31 ....
958 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
959
960 Or from a C construct point of VU it would look like this:
961
962 typedef struct WPT_PACK_POST
963 {
964 #ifdef WPT_BIG_ENDIAN
965 wpt_uint32 ucCfgId:8;
966 wpt_uint32 ucCfgLen:8;
967 wpt_uint32 usReserved:16;
968 #else
969 wpt_uint32 usReserved:16;
970 wpt_uint32 ucCfgLen:8;
971 wpt_uint32 ucCfgId:8;
972 #endif
973
974 wpt_uint8 ucCfgBody[ucCfgLen];
975 }WDI_ConfigType;
976
977 Multiple such tuplets are to be placed in the config buffer. One for
978 each required configuration item:
979
980 | TLV 1 | TLV2 | ....
981
982 The buffer is expected to be a flat area of memory that can be manipulated
983 with standard memory routines.
984
985 For more info please check paragraph 2.3.1 Config Structure from the
986 HAL LLD.
987
988 For a list of accepted configuration list and IDs please look up
989 wlan_qct_dal_cfg.h
990
991 */
992 void* pConfigBuffer;
993
994 /*Length of the config buffer above*/
995 wpt_uint16 usConfigBufferLen;
996
997 /*Production or FTM driver*/
998 WDI_DriverType wdiDriverType;
999
1000 /*Should device enable frame translation */
1001 wpt_uint8 bFrameTransEnabled;
1002
1003 /*Request status callback offered by UMAC - it is called if the current
1004 req has returned PENDING as status; it delivers the status of sending
1005 the message over the BUS */
1006 WDI_ReqStatusCb wdiReqStatusCB;
1007
1008 /*The user data passed in by UMAC, it will be sent back when the above
1009 function pointer will be called */
1010 void* pUserData;
1011
1012 /*Indication callback given by UMAC to be called by the WLAN DAL when it
1013 wishes to send something back independent of a request*/
1014 WDI_LowLevelIndCBType wdiLowLevelIndCB;
1015
1016 /*The user data passed in by UMAC, it will be sent back when the indication
1017 function pointer will be called */
1018 void* pIndUserData;
1019}WDI_StartReqParamsType;
1020
1021
1022/*---------------------------------------------------------------------------
1023 WDI_StartRspParamsType
1024---------------------------------------------------------------------------*/
1025typedef struct
1026{
1027 /*Status of the response*/
1028 WDI_Status wdiStatus;
1029
1030 /*Max number of STA supported by the device*/
1031 wpt_uint8 ucMaxStations;
1032
1033 /*Max number of BSS supported by the device*/
1034 wpt_uint8 ucMaxBssids;
1035
1036 /*Version of the WLAN HAL API with which we were compiled*/
1037 WDI_WlanVersionType wlanCompiledVersion;
1038
1039 /*Version of the WLAN HAL API that was reported*/
1040 WDI_WlanVersionType wlanReportedVersion;
1041
1042 /*WCNSS Software version string*/
1043 wpt_uint8 wcnssSoftwareVersion[WDI_VERSION_LENGTH];
1044
1045 /*WCNSS Hardware version string*/
1046 wpt_uint8 wcnssHardwareVersion[WDI_VERSION_LENGTH];
1047}WDI_StartRspParamsType;
1048
1049
1050/*---------------------------------------------------------------------------
1051 WDI_StopType
1052---------------------------------------------------------------------------*/
1053typedef enum
1054{
1055 /*Device is being stopped due to a reset*/
1056 WDI_STOP_TYPE_SYS_RESET,
1057
1058 /*Device is being stopped due to entering deep sleep*/
1059 WDI_STOP_TYPE_SYS_DEEP_SLEEP,
1060
1061 /*Device is being stopped because the RF needs to shut off
1062 (e.g.:Airplane mode)*/
1063 WDI_STOP_TYPE_RF_KILL
1064}WDI_StopType;
1065
1066/*---------------------------------------------------------------------------
1067 WDI_StopReqParamsType
1068---------------------------------------------------------------------------*/
1069typedef struct
1070{
1071
1072 /*The reason for which the device is being stopped*/
1073 WDI_StopType wdiStopReason;
1074
1075 /*Request status callback offered by UMAC - it is called if the current
1076 req has returned PENDING as status; it delivers the status of sending
1077 the message over the BUS */
1078 WDI_ReqStatusCb wdiReqStatusCB;
1079
1080 /*The user data passed in by UMAC, it will be sent back when the above
1081 function pointer will be called */
1082 void* pUserData;
1083}WDI_StopReqParamsType;
1084
1085
1086/*---------------------------------------------------------------------------
1087 WDI_ScanMode
1088---------------------------------------------------------------------------*/
1089typedef enum
1090{
1091 WDI_SCAN_MODE_NORMAL = 0,
1092 WDI_SCAN_MODE_LEARN,
1093 WDI_SCAN_MODE_SCAN,
1094 WDI_SCAN_MODE_PROMISC,
Madan Mohan Koyyalamudi9b876782012-10-11 16:22:51 -07001095 WDI_SCAN_MODE_SUSPEND_LINK,
1096 WDI_SCAN_MODE_ROAM_SCAN,
1097 WDI_SCAN_MODE_ROAM_SUSPEND_LINK,
1098
Jeff Johnson295189b2012-06-20 16:38:30 -07001099} WDI_ScanMode;
1100
1101/*---------------------------------------------------------------------------
1102 WDI_ScanEntry
1103---------------------------------------------------------------------------*/
1104typedef struct
1105{
1106 wpt_uint8 bssIdx[WDI_NUM_BSSID];
1107 wpt_uint8 activeBSScnt;
1108}WDI_ScanEntry;
1109
1110/*---------------------------------------------------------------------------
1111 WDI_InitScanReqInfoType
1112---------------------------------------------------------------------------*/
1113typedef struct
1114{
1115 /*LEARN - AP Role
1116 SCAN - STA Role*/
1117 WDI_ScanMode wdiScanMode;
1118
1119 /*BSSID of the BSS*/
1120 wpt_macAddr macBSSID;
1121
1122 /*Whether BSS needs to be notified*/
1123 wpt_boolean bNotifyBSS;
1124
1125 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
1126 CTS to Self). Must always be a valid frame type.*/
1127 wpt_uint8 ucFrameType;
1128
1129 /*UMAC has the option of passing the MAC frame to be used for notifying
1130 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
1131 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
1132 frameType.*/
1133 wpt_uint8 ucFrameLength;
1134
1135 /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/
1136 WDI_MacMgmtHdr wdiMACMgmtHdr;
1137
1138 /*Entry to hold number of active BSS to send NULL frames before
1139 * initiating SCAN*/
1140 WDI_ScanEntry wdiScanEntry;
1141
1142 /* Flag to enable/disable Single NOA*/
1143 wpt_boolean bUseNOA;
1144
1145 /* Indicates the scan duration (in ms) */
1146 wpt_uint16 scanDuration;
1147
1148}WDI_InitScanReqInfoType;
1149
1150/*---------------------------------------------------------------------------
1151 WDI_InitScanReqParamsType
1152---------------------------------------------------------------------------*/
1153typedef struct
1154{
1155 /*The info associated with the request that needs to be sent over to the
1156 device*/
1157 WDI_InitScanReqInfoType wdiReqInfo;
1158
1159 /*Request status callback offered by UMAC - it is called if the current
1160 req has returned PENDING as status; it delivers the status of sending
1161 the message over the BUS */
1162 WDI_ReqStatusCb wdiReqStatusCB;
1163
1164 /*The user data passed in by UMAC, it will be sent back when the above
1165 function pointer will be called */
1166 void* pUserData;
1167}WDI_InitScanReqParamsType;
1168
1169/*---------------------------------------------------------------------------
1170 WDI_StartScanReqParamsType
1171---------------------------------------------------------------------------*/
1172typedef struct
1173{
1174 /*Indicates the channel to scan*/
1175 wpt_uint8 ucChannel;
1176
1177 /*Request status callback offered by UMAC - it is called if the current
1178 req has returned PENDING as status; it delivers the status of sending
1179 the message over the BUS */
1180 WDI_ReqStatusCb wdiReqStatusCB;
1181
1182 /*The user data passed in by UMAC, it will be sent back when the above
1183 function pointer will be called */
1184 void* pUserData;
1185}WDI_StartScanReqParamsType;
1186
1187/*---------------------------------------------------------------------------
1188 WDI_StartScanRspParamsType
1189---------------------------------------------------------------------------*/
1190typedef struct
1191{
1192 /*Indicates the status of the operation */
1193 WDI_Status wdiStatus;
1194
1195#if defined WLAN_FEATURE_VOWIFI
1196 wpt_uint32 aStartTSF[2];
1197 wpt_int8 ucTxMgmtPower;
1198#endif
1199}WDI_StartScanRspParamsType;
1200
1201/*---------------------------------------------------------------------------
1202 WDI_EndScanReqParamsType
1203---------------------------------------------------------------------------*/
1204typedef struct
1205{
1206 /*Indicates the channel to stop scanning. Not used really. But retained
1207 for symmetry with "start Scan" message. It can also help in error
1208 check if needed.*/
1209 wpt_uint8 ucChannel;
1210
1211 /*Request status callback offered by UMAC - it is called if the current
1212 req has returned PENDING as status; it delivers the status of sending
1213 the message over the BUS */
1214 WDI_ReqStatusCb wdiReqStatusCB;
1215
1216 /*The user data passed in by UMAC, it will be sent back when the above
1217 function pointer will be called */
1218 void* pUserData;
1219}WDI_EndScanReqParamsType;
1220
1221/*---------------------------------------------------------------------------
1222 WDI_PhyChanBondState
1223---------------------------------------------------------------------------*/
1224typedef enum
1225{
1226 WDI_PHY_SINGLE_CHANNEL_CENTERED = 0,
1227 WDI_PHY_DOUBLE_CHANNEL_LOW_PRIMARY = 1,
1228 WDI_PHY_DOUBLE_CHANNEL_CENTERED = 2,
Jeff Johnsone7245742012-09-05 17:12:55 -07001229 WDI_PHY_DOUBLE_CHANNEL_HIGH_PRIMARY = 3,
1230#ifdef WLAN_FEATURE_11AC
1231 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_CENTERED = 4, //20/40MHZ offset LOW 40/80MHZ offset CENTERED
1232 WDI_QUADRUPLE_CHANNEL_20MHZ_CENTERED_40MHZ_CENTERED = 5, //20/40MHZ offset CENTERED 40/80MHZ offset CENTERED
1233 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_CENTERED = 6, //20/40MHZ offset HIGH 40/80MHZ offset CENTERED
1234 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_LOW = 7,//20/40MHZ offset LOW 40/80MHZ offset LOW
1235 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_LOW = 8, //20/40MHZ offset HIGH 40/80MHZ offset LOW
1236 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_HIGH = 9, //20/40MHZ offset LOW 40/80MHZ offset HIGH
1237 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_HIGH = 10,//20/40MHZ offset-HIGH 40/80MHZ offset HIGH
1238#endif
1239 WDI_MAX_CB_STATE
Jeff Johnson295189b2012-06-20 16:38:30 -07001240} WDI_PhyChanBondState;
1241
1242/*---------------------------------------------------------------------------
1243 WDI_FinishScanReqInfoType
1244---------------------------------------------------------------------------*/
1245typedef struct
1246{
1247 /*LEARN - AP Role
1248 SCAN - STA Role*/
1249 WDI_ScanMode wdiScanMode;
1250
1251 /*Operating channel to tune to.*/
1252 wpt_uint8 ucCurrentOperatingChannel;
1253
1254 /*Channel Bonding state If 20/40 MHz is operational, this will indicate the
1255 40 MHz extension channel in combination with the control channel*/
1256 WDI_PhyChanBondState wdiCBState;
1257
1258 /*BSSID of the BSS*/
1259 wpt_macAddr macBSSID;
1260
1261 /*Whether BSS needs to be notified*/
1262 wpt_boolean bNotifyBSS;
1263
1264 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
1265 CTS to Self). Must always be a valid frame type.*/
1266 wpt_uint8 ucFrameType;
1267
1268 /*UMAC has the option of passing the MAC frame to be used for notifying
1269 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
1270 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
1271 frameType.*/
1272 wpt_uint8 ucFrameLength;
1273
1274 /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/
1275 WDI_MacMgmtHdr wdiMACMgmtHdr;
1276
1277 /*Entry to hold number of active BSS to send NULL frames after SCAN*/
1278 WDI_ScanEntry wdiScanEntry;
1279
1280}WDI_FinishScanReqInfoType;
1281
1282/*---------------------------------------------------------------------------
1283 WDI_SwitchChReqInfoType
1284---------------------------------------------------------------------------*/
1285typedef struct
1286{
1287 /*Indicates the channel to switch to.*/
1288 wpt_uint8 ucChannel;
1289
1290 /*Local power constraint*/
1291 wpt_uint8 ucLocalPowerConstraint;
1292
1293 /*Secondary channel offset */
1294 WDI_HTSecondaryChannelOffset wdiSecondaryChannelOffset;
1295
1296#ifdef WLAN_FEATURE_VOWIFI
1297 wpt_int8 cMaxTxPower;
1298
1299 /*Self STA Mac address*/
1300 wpt_macAddr macSelfStaMacAddr;
1301#endif
1302 /* VO Wifi comment: BSSID is needed to identify which session issued this request. As the
1303 request has power constraints, this should be applied only to that session */
1304 /* V IMP: Keep bssId field at the end of this msg. It is used to mantain backward compatbility
1305 * by way of ignoring if using new host/old FW or old host/new FW since it is at the end of this struct
1306 */
1307 wpt_macAddr macBSSId;
1308
1309}WDI_SwitchChReqInfoType;
1310
1311/*---------------------------------------------------------------------------
1312 WDI_SwitchChReqParamsType
1313---------------------------------------------------------------------------*/
1314typedef struct
1315{
1316 /*Channel Info*/
1317 WDI_SwitchChReqInfoType wdiChInfo;
1318
1319 /*Request status callback offered by UMAC - it is called if the current
1320 req has returned PENDING as status; it delivers the status of sending
1321 the message over the BUS */
1322 WDI_ReqStatusCb wdiReqStatusCB;
1323
1324 /*The user data passed in by UMAC, it will be sent back when the above
1325 function pointer will be called */
1326 void* pUserData;
1327}WDI_SwitchChReqParamsType;
1328
1329/*---------------------------------------------------------------------------
1330 WDI_FinishScanReqParamsType
1331---------------------------------------------------------------------------*/
1332typedef struct
1333{
1334 /*Info for the Finish Scan request that will be sent down to the device*/
1335 WDI_FinishScanReqInfoType wdiReqInfo;
1336
1337 /*Request status callback offered by UMAC - it is called if the current
1338 req has returned PENDING as status; it delivers the status of sending
1339 the message over the BUS */
1340 WDI_ReqStatusCb wdiReqStatusCB;
1341
1342 /*The user data passed in by UMAC, it will be sent back when the above
1343 function pointer will be called */
1344 void* pUserData;
1345}WDI_FinishScanReqParamsType;
1346
1347/*---------------------------------------------------------------------------
1348 WDI_JoinReqInfoType
1349---------------------------------------------------------------------------*/
1350typedef struct
1351{
1352 /*Indicates the BSSID to which STA is going to associate*/
1353 wpt_macAddr macBSSID;
1354
1355 /*Indicates the MAC Address of the current Self STA*/
1356 wpt_macAddr macSTASelf;
1357
1358 /*Indicates the link State determining the entity Type e.g. BTAMP-STA, STA etc.*/
1359 wpt_uint32 linkState;
1360
1361 /*Indicates the channel to switch to.*/
1362 WDI_SwitchChReqInfoType wdiChannelInfo;
1363
1364}WDI_JoinReqInfoType;
1365
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08001366typedef enum
1367{
1368 eWDI_CHANNEL_SWITCH_SOURCE_SCAN,
1369 eWDI_CHANNEL_SWITCH_SOURCE_LISTEN,
1370 eWDI_CHANNEL_SWITCH_SOURCE_MCC,
1371 eWDI_CHANNEL_SWITCH_SOURCE_CSA,
1372 eWDI_CHANNEL_SWITCH_SOURCE_MAX = 0x7FFFFFFF
1373} WDI_ChanSwitchSource;
1374
1375/*---------------------------------------------------------------------------
1376 WDI_SwitchChReqInfoType_V1
1377---------------------------------------------------------------------------*/
1378typedef struct
1379{
1380 /*Indicates the channel to switch to.*/
1381 wpt_uint8 ucChannel;
1382
1383 /*Local power constraint*/
1384 wpt_uint8 ucLocalPowerConstraint;
1385
1386 /*Secondary channel offset */
1387 WDI_HTSecondaryChannelOffset wdiSecondaryChannelOffset;
1388
1389#ifdef WLAN_FEATURE_VOWIFI
1390 wpt_int8 cMaxTxPower;
1391 /*Self STA Mac address*/
1392 wpt_macAddr macSelfStaMacAddr;
1393#endif
1394 /* VO Wifi comment: BSSID is needed to identify which session
1395 issued this request. As the request has power constraints, this
1396 should be applied only to that session
1397 */
1398 /* V IMP: Keep bssId field at the end of this msg. It is used to
1399 maintain backward compatibility by way of ignoring if using new
1400 host/old FW or old host/new FW since it is at the end of this struct
1401 */
1402 wpt_macAddr macBSSId;
1403 /* Source of Channel Switch */
1404 WDI_ChanSwitchSource channelSwitchSrc;
1405}WDI_SwitchChReqInfoType_V1;
1406
1407/*--------------------------------------------------------------------
1408 WDI_SwitchChReqParamsType_V1
1409----------------------------------------------------------------------*/
1410typedef struct
1411{
1412 /*Channel Info*/
1413 WDI_SwitchChReqInfoType_V1 wdiChInfo;
1414
1415 /*Request status callback offered by UMAC - it is called if the current
1416 req has returned PENDING as status; it delivers the status of sending
1417 the message over the BUS */
1418 WDI_ReqStatusCb wdiReqStatusCB;
1419
1420 /*The user data passed in by UMAC, it will be sent back when the above
1421 function pointer will be called */
1422 void* pUserData;
1423}WDI_SwitchChReqParamsType_V1;
1424
Jeff Johnson295189b2012-06-20 16:38:30 -07001425/*---------------------------------------------------------------------------
1426 WDI_JoinReqParamsType
1427---------------------------------------------------------------------------*/
1428typedef struct
1429{
1430 /*Info for the Join request that will be sent down to the device*/
1431 WDI_JoinReqInfoType wdiReqInfo;
1432
1433 /*Request status callback offered by UMAC - it is called if the current
1434 req has returned PENDING as status; it delivers the status of sending
1435 the message over the BUS */
1436 WDI_ReqStatusCb wdiReqStatusCB;
1437
1438 /*The user data passed in by UMAC, it will be sent back when the above
1439 function pointer will be called */
1440 void* pUserData;
1441}WDI_JoinReqParamsType;
1442
1443/*---------------------------------------------------------------------------
1444 WDI_BssType
1445---------------------------------------------------------------------------*/
1446typedef enum
1447{
1448 WDI_INFRASTRUCTURE_MODE,
1449 WDI_INFRA_AP_MODE, //Added for softAP support
1450 WDI_IBSS_MODE,
1451 WDI_BTAMP_STA_MODE,
1452 WDI_BTAMP_AP_MODE,
1453 WDI_BSS_AUTO_MODE,
1454}WDI_BssType;
1455
1456/*---------------------------------------------------------------------------
1457 WDI_NwType
1458---------------------------------------------------------------------------*/
1459typedef enum
1460{
1461 WDI_11A_NW_TYPE,
1462 WDI_11B_NW_TYPE,
1463 WDI_11G_NW_TYPE,
1464 WDI_11N_NW_TYPE,
1465} WDI_NwType;
1466
1467/*---------------------------------------------------------------------------
1468 WDI_ConfigAction
1469---------------------------------------------------------------------------*/
1470typedef enum
1471{
1472 WDI_ADD_BSS,
1473 WDI_UPDATE_BSS
1474} WDI_ConfigAction;
1475
1476/*---------------------------------------------------------------------------
1477 WDI_HTOperatingMode
1478---------------------------------------------------------------------------*/
1479typedef enum
1480{
1481 WDI_HT_OP_MODE_PURE,
1482 WDI_HT_OP_MODE_OVERLAP_LEGACY,
1483 WDI_HT_OP_MODE_NO_LEGACY_20MHZ_HT,
1484 WDI_HT_OP_MODE_MIXED
1485
1486} WDI_HTOperatingMode;
1487
1488
1489/*---------------------------------------------------------------------------
1490 WDI_STAEntryType
1491---------------------------------------------------------------------------*/
1492typedef enum
1493{
1494 WDI_STA_ENTRY_SELF,
1495 WDI_STA_ENTRY_PEER,
1496 WDI_STA_ENTRY_BSSID,
Mohit Khanna698ba2a2012-12-04 15:08:18 -08001497 WDI_STA_ENTRY_BCAST,
1498#ifdef FEATURE_WLAN_TDLS
1499 WDI_STA_ENTRY_TDLS_PEER,
1500#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001501}WDI_STAEntryType;
1502
1503/*---------------------------------------------------------------------------
1504 WDI_ConfigActionType
1505---------------------------------------------------------------------------*/
1506typedef enum
1507{
1508 WDI_ADD_STA,
1509 WDI_UPDATE_STA
1510} WDI_ConfigActionType;
1511
1512/*----------------------------------------------------------------------------
1513 Each station added has a rate mode which specifies the sta attributes
1514 ----------------------------------------------------------------------------*/
1515typedef enum
1516{
1517 WDI_RESERVED_1 = 0,
1518 WDI_RESERVED_2,
1519 WDI_RESERVED_3,
1520 WDI_11b,
1521 WDI_11bg,
1522 WDI_11a,
1523 WDI_11n,
1524} WDI_RateModeType;
1525
1526/*---------------------------------------------------------------------------
1527 WDI_SupportedRatesType
1528---------------------------------------------------------------------------*/
1529typedef struct
1530{
1531 /*
1532 * For Self STA Entry: this represents Self Mode.
1533 * For Peer Stations, this represents the mode of the peer.
1534 * On Station:
1535 * --this mode is updated when PE adds the Self Entry.
1536 * -- OR when PE sends 'ADD_BSS' message and station context in BSS is used to indicate the mode of the AP.
1537 * ON AP:
1538 * -- this mode is updated when PE sends 'ADD_BSS' and Sta entry for that BSS is used
1539 * to indicate the self mode of the AP.
1540 * -- OR when a station is associated, PE sends 'ADD_STA' message with this mode updated.
1541 */
1542
1543 WDI_RateModeType opRateMode;
1544
1545 /* 11b, 11a and aniLegacyRates are IE rates which gives rate in unit of 500Kbps */
1546 wpt_uint16 llbRates[WDI_NUM_11B_RATES];
1547 wpt_uint16 llaRates[WDI_NUM_11A_RATES];
1548 wpt_uint16 aLegacyRates[WDI_NUM_POLARIS_RATES];
1549
1550 /*Taurus only supports 26 Titan Rates(no ESF/concat Rates will be supported)
1551 First 26 bits are reserved for those Titan rates and
1552 the last 4 bits(bit28-31) for Taurus, 2(bit26-27) bits are reserved.*/
1553 wpt_uint32 uEnhancedRateBitmap; //Titan and Taurus Rates
1554
1555 /*
1556 * 0-76 bits used, remaining reserved
1557 * bits 0-15 and 32 should be set.
1558 */
1559 wpt_uint8 aSupportedMCSSet[WDI_MAC_MAX_SUPPORTED_MCS_SET];
1560
1561 /*
1562 * RX Highest Supported Data Rate defines the highest data
1563 * rate that the STA is able to receive, in unites of 1Mbps.
1564 * This value is derived from "Supported MCS Set field" inside
1565 * the HT capability element.
1566 */
1567 wpt_uint16 aRxHighestDataRate;
1568
Jeff Johnsone7245742012-09-05 17:12:55 -07001569
1570#ifdef WLAN_FEATURE_11AC
1571 /*Indicates the Maximum MCS that can be received for each number
1572 of spacial streams */
1573 wpt_uint16 vhtRxMCSMap;
1574 /*Indicate the highest VHT data rate that the STA is able to receive*/
1575 wpt_uint16 vhtRxHighestDataRate;
1576 /*Indicates the Maximum MCS that can be transmitted for each number
1577 of spacial streams */
1578 wpt_uint16 vhtTxMCSMap;
1579 /*Indicate the highest VHT data rate that the STA is able to transmit*/
1580 wpt_uint16 vhtTxHighestDataRate;
1581#endif
1582
Jeff Johnson295189b2012-06-20 16:38:30 -07001583} WDI_SupportedRates;
1584
1585/*--------------------------------------------------------------------------
1586 WDI_HTMIMOPowerSaveState
1587 Spatial Multiplexing(SM) Power Save mode
1588 --------------------------------------------------------------------------*/
1589typedef enum
1590{
1591 WDI_HT_MIMO_PS_STATIC = 0, // Static SM Power Save mode
1592 WDI_HT_MIMO_PS_DYNAMIC = 1, // Dynamic SM Power Save mode
1593 WDI_HT_MIMO_PS_NA = 2, // reserved
1594 WDI_HT_MIMO_PS_NO_LIMIT = 3, // SM Power Save disabled
1595} WDI_HTMIMOPowerSaveState;
1596
1597/*---------------------------------------------------------------------------
1598 WDI_ConfigStaReqInfoType
1599---------------------------------------------------------------------------*/
1600typedef struct
1601{
1602 /*BSSID of STA*/
1603 wpt_macAddr macBSSID;
1604
1605 /*ASSOC ID, as assigned by UMAC*/
1606 wpt_uint16 usAssocId;
1607
1608 /*Used for configuration of different HW modules.*/
1609 WDI_STAEntryType wdiSTAType;
1610
Gopichand Nakkalae7cbc5d2013-03-27 21:09:23 -07001611 /*STA Index */
1612 wpt_uint8 staIdx;
1613
Jeff Johnson295189b2012-06-20 16:38:30 -07001614 /*Short Preamble Supported.*/
1615 wpt_uint8 ucShortPreambleSupported;
1616
1617 /*MAC Address of STA*/
1618 wpt_macAddr macSTA;
1619
1620 /*Listen interval of the STA*/
1621 wpt_uint16 usListenInterval;
1622
1623 /*Support for 11e/WMM*/
1624 wpt_uint8 ucWMMEnabled;
1625
1626 /*11n HT capable STA*/
1627 wpt_uint8 ucHTCapable;
1628
1629 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
1630 wpt_uint8 ucTXChannelWidthSet;
1631
1632 /*RIFS mode 0 - NA, 1 - Allowed*/
1633 wpt_uint8 ucRIFSMode;
1634
1635 /*L-SIG TXOP Protection mechanism
1636 0 - No Support, 1 - Supported
1637 SG - there is global field*/
1638 wpt_uint8 ucLSIGTxopProtection;
1639
1640 /*Max Ampdu Size supported by STA. Device programming.
1641 0 : 8k , 1 : 16k, 2 : 32k, 3 : 64k */
1642 wpt_uint8 ucMaxAmpduSize;
1643
1644 /*Max Ampdu density. Used by RA. 3 : 0~7 : 2^(11nAMPDUdensity -4)*/
1645 wpt_uint8 ucMaxAmpduDensity;
1646
1647 /*Max AMSDU size 1 : 3839 bytes, 0 : 7935 bytes*/
1648 wpt_uint8 ucMaxAmsduSize;
1649
1650 /*Short GI support for 40Mhz packets*/
1651 wpt_uint8 ucShortGI40Mhz;
1652
1653 /*Short GI support for 20Mhz packets*/
1654 wpt_uint8 ucShortGI20Mhz;
1655
1656 /*These rates are the intersection of peer and self capabilities.*/
1657 WDI_SupportedRates wdiSupportedRates;
1658
1659 /*Robust Management Frame (RMF) enabled/disabled*/
1660 wpt_uint8 ucRMFEnabled;
1661
1662 /* The unicast encryption type in the association */
1663 wpt_uint32 ucEncryptType;
1664
1665 /*HAL should update the existing STA entry, if this flag is set. UMAC
1666 will set this flag in case of RE-ASSOC, where we want to reuse the old
1667 STA ID.*/
1668 WDI_ConfigActionType wdiAction;
1669
1670 /*U-APSD Flags: 1b per AC. Encoded as follows:
1671 b7 b6 b5 b4 b3 b2 b1 b0 =
1672 X X X X BE BK VI VO
1673 */
1674 wpt_uint8 ucAPSD;
1675
1676 /*Max SP Length*/
1677 wpt_uint8 ucMaxSPLen;
1678
1679 /*11n Green Field preamble support*/
1680 wpt_uint8 ucGreenFieldCapable;
1681
1682 /*MIMO Power Save mode*/
1683 WDI_HTMIMOPowerSaveState wdiMIMOPS;
1684
1685 /*Delayed BA Support*/
1686 wpt_uint8 ucDelayedBASupport;
1687
1688 /*Max AMPDU duration in 32us*/
1689 wpt_uint8 us32MaxAmpduDuratio;
1690
1691 /*HT STA should set it to 1 if it is enabled in BSS
1692 HT STA should set it to 0 if AP does not support it. This indication is
1693 sent to HAL and HAL uses this flag to pickup up appropriate 40Mhz rates.
1694 */
1695 wpt_uint8 ucDsssCckMode40Mhz;
1696
1697 wpt_uint8 ucP2pCapableSta;
Jeff Johnsone7245742012-09-05 17:12:55 -07001698#ifdef WLAN_FEATURE_11AC
1699 wpt_uint8 ucVhtCapableSta;
1700 wpt_uint8 ucVhtTxChannelWidthSet;
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08001701 wpt_uint8 ucVhtTxBFEnabled;
Abhishek Singh6927fa02014-06-27 17:19:55 +05301702 wpt_uint8 vhtTxMUBformeeCapable;
Jeff Johnsone7245742012-09-05 17:12:55 -07001703#endif
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08001704
1705 wpt_uint8 ucHtLdpcEnabled;
1706 wpt_uint8 ucVhtLdpcEnabled;
Jeff Johnson295189b2012-06-20 16:38:30 -07001707}WDI_ConfigStaReqInfoType;
1708
1709
1710/*---------------------------------------------------------------------------
1711 WDI_RateSet
1712
1713 12 Bytes long because this structure can be used to represent rate
1714 and extended rate set IEs
1715 The parser assume this to be at least 12
1716---------------------------------------------------------------------------*/
1717#define WDI_RATESET_EID_MAX 12
1718
1719typedef struct
1720{
1721 wpt_uint8 ucNumRates;
1722 wpt_uint8 aRates[WDI_RATESET_EID_MAX];
1723} WDI_RateSet;
1724
1725/*---------------------------------------------------------------------------
1726 WDI_AciAifsnType
1727 access category record
1728---------------------------------------------------------------------------*/
1729typedef struct
1730{
1731 wpt_uint8 rsvd : 1;
1732 wpt_uint8 aci : 2;
1733 wpt_uint8 acm : 1;
1734 wpt_uint8 aifsn : 4;
1735} WDI_AciAifsnType;
1736
1737/*---------------------------------------------------------------------------
1738 WDI_CWType
1739 contention window size
1740---------------------------------------------------------------------------*/
1741typedef struct
1742{
1743 wpt_uint8 max : 4;
1744 wpt_uint8 min : 4;
1745} WDI_CWType;
1746
1747/*---------------------------------------------------------------------------
1748 WDI_EdcaParamRecord
1749---------------------------------------------------------------------------*/
1750typedef struct
1751{
1752 /*Access Category Record*/
1753 WDI_AciAifsnType wdiACI;
1754
1755 /*Contention WIndow Size*/
1756 WDI_CWType wdiCW;
1757
1758 /*TX Oportunity Limit*/
1759 wpt_uint16 usTXOPLimit;
1760} WDI_EdcaParamRecord;
1761
1762/*---------------------------------------------------------------------------
1763 WDI_EDCAParamsType
1764---------------------------------------------------------------------------*/
1765typedef struct
1766{
1767 /*BSS Index*/
1768 wpt_uint8 ucBSSIdx;
1769
1770 /*?*/
1771 wpt_boolean bHighPerformance;
1772
1773 /*Best Effort*/
1774 WDI_EdcaParamRecord wdiACBE;
1775
1776 /*Background*/
1777 WDI_EdcaParamRecord wdiACBK;
1778
1779 /*Video*/
1780 WDI_EdcaParamRecord wdiACVI;
1781
1782 /*Voice*/
1783 WDI_EdcaParamRecord acvo; // voice
1784} WDI_EDCAParamsType;
1785
1786/* operMode in ADD BSS message */
1787#define WDI_BSS_OPERATIONAL_MODE_AP 0
1788#define WDI_BSS_OPERATIONAL_MODE_STA 1
1789
1790/*---------------------------------------------------------------------------
1791 WDI_ConfigBSSRspParamsType
1792---------------------------------------------------------------------------*/
1793typedef struct
1794{
1795 /*Status of the response*/
1796 WDI_Status wdiStatus;
1797
1798 /*BSSID of the BSS*/
1799 wpt_macAddr macBSSID;
1800
1801 /*BSS Index*/
1802 wpt_uint8 ucBSSIdx;
1803
1804 /*Unicast DPU signature*/
1805 wpt_uint8 ucUcastSig;
1806
1807 /*Broadcast DPU Signature*/
1808 wpt_uint8 ucBcastSig;
1809
1810 /*MAC Address of STA*/
1811 wpt_macAddr macSTA;
1812
1813 /*BSS STA ID*/
1814 wpt_uint8 ucSTAIdx;
1815
1816#ifdef WLAN_FEATURE_VOWIFI
1817 /*HAL fills in the tx power used for mgmt frames in this field */
1818 wpt_int8 ucTxMgmtPower;
1819#endif
1820
1821}WDI_ConfigBSSRspParamsType;
1822
1823/*---------------------------------------------------------------------------
1824 WDI_DelBSSReqParamsType
1825---------------------------------------------------------------------------*/
1826typedef struct
1827{
1828 /*BSS Index of the BSS*/
1829 wpt_uint8 ucBssIdx;
1830
1831 /*Request status callback offered by UMAC - it is called if the current
1832 req has returned PENDING as status; it delivers the status of sending
1833 the message over the BUS */
1834 WDI_ReqStatusCb wdiReqStatusCB;
1835
1836 /*The user data passed in by UMAC, it will be sent back when the above
1837 function pointer will be called */
1838 void* pUserData;
1839}WDI_DelBSSReqParamsType;
1840
1841/*---------------------------------------------------------------------------
1842 WDI_DelBSSRspParamsType
1843---------------------------------------------------------------------------*/
1844typedef struct
1845{
1846 /*Status of the response*/
1847 WDI_Status wdiStatus;
1848
1849 /*BSSID of the BSS*/
1850 wpt_macAddr macBSSID;
1851
1852 wpt_uint8 ucBssIdx;
1853
1854}WDI_DelBSSRspParamsType;
1855
1856/*---------------------------------------------------------------------------
1857 WDI_ConfigSTARspParamsType
1858---------------------------------------------------------------------------*/
1859typedef struct
1860{
1861 /*Status of the response*/
1862 WDI_Status wdiStatus;
1863
1864 /*STA Idx allocated by HAL*/
1865 wpt_uint8 ucSTAIdx;
1866
1867 /*MAC Address of STA*/
1868 wpt_macAddr macSTA;
1869
1870 /* BSSID Index of BSS to which the station is associated */
1871 wpt_uint8 ucBssIdx;
1872
1873 /* DPU Index - PTK */
1874 wpt_uint8 ucDpuIndex;
1875
1876 /* Bcast DPU Index - GTK */
1877 wpt_uint8 ucBcastDpuIndex;
1878
1879 /* Management DPU Index - IGTK - Why is it called bcastMgmtDpuIdx? */
1880 wpt_uint8 ucBcastMgmtDpuIdx;
1881
1882 /*Unicast DPU signature*/
1883 wpt_uint8 ucUcastSig;
1884
1885 /*Broadcast DPU Signature*/
1886 wpt_uint8 ucBcastSig;
1887
1888 /* IGTK DPU signature*/
1889 wpt_uint8 ucMgmtSig;
1890
1891}WDI_ConfigSTARspParamsType;
1892
1893/*---------------------------------------------------------------------------
1894 WDI_PostAssocRspParamsType
1895---------------------------------------------------------------------------*/
1896typedef struct
1897{
1898 /*Status of the response*/
1899 WDI_Status wdiStatus;
1900
1901 /*Parameters related to the BSS*/
1902 WDI_ConfigBSSRspParamsType bssParams;
1903
1904 /*Parameters related to the self STA*/
1905 WDI_ConfigSTARspParamsType staParams;
1906
1907}WDI_PostAssocRspParamsType;
1908
1909/*---------------------------------------------------------------------------
1910 WDI_DelSTAReqParamsType
1911---------------------------------------------------------------------------*/
1912typedef struct
1913{
1914 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
1915 wpt_uint8 ucSTAIdx;
1916
1917 /*Request status callback offered by UMAC - it is called if the current
1918 req has returned PENDING as status; it delivers the status of sending
1919 the message over the BUS */
1920 WDI_ReqStatusCb wdiReqStatusCB;
1921
1922 /*The user data passed in by UMAC, it will be sent back when the above
1923 function pointer will be called */
1924 void* pUserData;
1925}WDI_DelSTAReqParamsType;
1926
1927/*---------------------------------------------------------------------------
1928 WDI_DelSTARspParamsType
1929---------------------------------------------------------------------------*/
1930typedef struct
1931{
1932 /*Status of the response*/
1933 WDI_Status wdiStatus;
1934
1935 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
1936 wpt_uint8 ucSTAIdx;
1937}WDI_DelSTARspParamsType;
1938
1939/*---------------------------------------------------------------------------
1940 WDI_EncryptType
1941---------------------------------------------------------------------------*/
1942typedef enum
1943{
1944 WDI_ENCR_NONE,
1945 WDI_ENCR_WEP40,
1946 WDI_ENCR_WEP104,
1947 WDI_ENCR_TKIP,
1948 WDI_ENCR_CCMP,
1949#if defined(FEATURE_WLAN_WAPI)
1950 WDI_ENCR_WPI,
1951#endif
1952 WDI_ENCR_AES_128_CMAC
1953} WDI_EncryptType;
1954
1955/*---------------------------------------------------------------------------
1956 WDI_KeyDirectionType
1957---------------------------------------------------------------------------*/
1958typedef enum
1959{
1960 WDI_TX_ONLY,
1961 WDI_RX_ONLY,
1962 WDI_TX_RX,
Jeff Johnson295189b2012-06-20 16:38:30 -07001963 WDI_TX_DEFAULT,
Jeff Johnson295189b2012-06-20 16:38:30 -07001964 WDI_DONOT_USE_KEY_DIRECTION
1965} WDI_KeyDirectionType;
1966
1967#define WDI_MAX_ENCR_KEYS 4
1968#define WDI_MAX_KEY_LENGTH 32
1969#if defined(FEATURE_WLAN_WAPI)
1970#define WDI_MAX_KEY_RSC_LEN 16
1971#define WDI_WAPI_KEY_RSC_LEN 16
1972#else
1973#define WDI_MAX_KEY_RSC_LEN 8
1974#endif
1975
1976typedef struct
1977{
1978 /* Key ID */
1979 wpt_uint8 keyId;
1980 /* 0 for multicast */
1981 wpt_uint8 unicast;
1982 /* Key Direction */
1983 WDI_KeyDirectionType keyDirection;
1984 /* Usage is unknown */
1985 wpt_uint8 keyRsc[WDI_MAX_KEY_RSC_LEN];
1986 /* =1 for authenticator, =0 for supplicant */
1987 wpt_uint8 paeRole;
1988 wpt_uint16 keyLength;
1989 wpt_uint8 key[WDI_MAX_KEY_LENGTH];
1990
1991}WDI_KeysType;
1992
1993/*---------------------------------------------------------------------------
1994 WDI_SetBSSKeyReqInfoType
1995---------------------------------------------------------------------------*/
1996typedef struct
1997{
1998 /*BSS Index of the BSS*/
1999 wpt_uint8 ucBssIdx;
2000
2001 /*Encryption Type used with peer*/
2002 WDI_EncryptType wdiEncType;
2003
2004 /*Number of keys*/
2005 wpt_uint8 ucNumKeys;
2006
2007 /*Array of keys.*/
2008 WDI_KeysType aKeys[WDI_MAX_ENCR_KEYS];
2009
2010 /*Control for Replay Count, 1= Single TID based replay count on Tx
2011 0 = Per TID based replay count on TX */
2012 wpt_uint8 ucSingleTidRc;
2013}WDI_SetBSSKeyReqInfoType;
2014
2015/*---------------------------------------------------------------------------
2016 WDI_SetBSSKeyReqParamsType
2017---------------------------------------------------------------------------*/
2018typedef struct
2019{
2020 /*Key Info */
2021 WDI_SetBSSKeyReqInfoType wdiBSSKeyInfo;
2022
2023 /*Request status callback offered by UMAC - it is called if the current
2024 req has returned PENDING as status; it delivers the status of sending
2025 the message over the BUS */
2026 WDI_ReqStatusCb wdiReqStatusCB;
2027
2028 /*The user data passed in by UMAC, it will be sent back when the above
2029 function pointer will be called */
2030 void* pUserData;
2031}WDI_SetBSSKeyReqParamsType;
2032
2033/*---------------------------------------------------------------------------
2034 WDI_WepType
2035---------------------------------------------------------------------------*/
2036typedef enum
2037{
2038 WDI_WEP_STATIC,
2039 WDI_WEP_DYNAMIC
2040
2041} WDI_WepType;
2042
2043/*---------------------------------------------------------------------------
2044 WDI_RemoveBSSKeyReqInfoType
2045---------------------------------------------------------------------------*/
2046typedef struct
2047{
2048 /*BSS Index of the BSS*/
2049 wpt_uint8 ucBssIdx;
2050
2051 /*Encryption Type used with peer*/
2052 WDI_EncryptType wdiEncType;
2053
2054 /*Key Id*/
2055 wpt_uint8 ucKeyId;
2056
2057 /*STATIC/DYNAMIC. Used in Nullifying in Key Descriptors for Static/Dynamic
2058 keys*/
2059 WDI_WepType wdiWEPType;
2060}WDI_RemoveBSSKeyReqInfoType;
2061
2062/*---------------------------------------------------------------------------
2063 WDI_RemoveBSSKeyReqParamsType
2064---------------------------------------------------------------------------*/
2065typedef struct
2066{
2067 /*Key Info */
2068 WDI_RemoveBSSKeyReqInfoType wdiKeyInfo;
2069
2070 /*Request status callback offered by UMAC - it is called if the current
2071 req has returned PENDING as status; it delivers the status of sending
2072 the message over the BUS */
2073 WDI_ReqStatusCb wdiReqStatusCB;
2074
2075 /*The user data passed in by UMAC, it will be sent back when the above
2076 function pointer will be called */
2077 void* pUserData;
2078}WDI_RemoveBSSKeyReqParamsType;
2079
2080/*---------------------------------------------------------------------------
2081 WDI_SetSTAKeyReqInfoType
2082---------------------------------------------------------------------------*/
2083typedef struct
2084{
2085 /*STA Index*/
2086 wpt_uint8 ucSTAIdx;
2087
2088 /*Encryption Type used with peer*/
2089 WDI_EncryptType wdiEncType;
2090
2091 /*STATIC/DYNAMIC*/
2092 WDI_WepType wdiWEPType;
2093
2094 /*Default WEP key, valid only for static WEP, must between 0 and 3.*/
2095 wpt_uint8 ucDefWEPIdx;
2096
2097 /*Number of keys*/
2098 wpt_uint8 ucNumKeys;
2099
2100 /*Array of keys.*/
2101 WDI_KeysType wdiKey[WDI_MAX_ENCR_KEYS];
2102
2103 /*Control for Replay Count, 1= Single TID based replay count on Tx
2104 0 = Per TID based replay count on TX */
2105 wpt_uint8 ucSingleTidRc;
2106}WDI_SetSTAKeyReqInfoType;
2107
2108/*---------------------------------------------------------------------------
2109 WDI_ConfigBSSReqInfoType
2110---------------------------------------------------------------------------*/
2111typedef struct
2112{
2113 /*Peer BSSID*/
2114 wpt_macAddr macBSSID;
2115
2116 /*Self MAC Address*/
2117 wpt_macAddr macSelfAddr;
2118
2119 /*BSS Type*/
2120 WDI_BssType wdiBSSType;
2121
2122 /*Operational Mode: AP =0, STA = 1*/
2123 wpt_uint8 ucOperMode;
2124
2125 /*Network Type*/
2126 WDI_NwType wdiNWType;
2127
2128 /*Used to classify PURE_11G/11G_MIXED to program MTU*/
2129 wpt_uint8 ucShortSlotTimeSupported;
2130
2131 /*Co-exist with 11a STA*/
2132 wpt_uint8 ucllaCoexist;
2133
2134 /*Co-exist with 11b STA*/
2135 wpt_uint8 ucllbCoexist;
2136
2137 /*Co-exist with 11g STA*/
2138 wpt_uint8 ucllgCoexist;
2139
2140 /*Coexistence with 11n STA*/
2141 wpt_uint8 ucHT20Coexist;
2142
2143 /*Non GF coexist flag*/
2144 wpt_uint8 ucllnNonGFCoexist;
2145
2146 /*TXOP protection support*/
2147 wpt_uint8 ucTXOPProtectionFullSupport;
2148
2149 /*RIFS mode*/
2150 wpt_uint8 ucRIFSMode;
2151
2152 /*Beacon Interval in TU*/
2153 wpt_uint16 usBeaconInterval;
2154
2155 /*DTIM period*/
2156 wpt_uint8 ucDTIMPeriod;
2157
2158 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
2159 wpt_uint8 ucTXChannelWidthSet;
2160
2161 /*Operating channel*/
2162 wpt_uint8 ucCurrentOperChannel;
2163
2164 /*Extension channel for channel bonding*/
2165 wpt_uint8 ucCurrentExtChannel;
2166
2167 /*Context of the station being added in HW.*/
2168 WDI_ConfigStaReqInfoType wdiSTAContext;
2169
2170 /*SSID of the BSS*/
2171 WDI_MacSSid wdiSSID;
2172
2173 /*HAL should update the existing BSS entry, if this flag is set. UMAC will
2174 set this flag in case of RE-ASSOC, where we want to reuse the old BSSID*/
2175 WDI_ConfigAction wdiAction;
2176
2177 /*Basic Rate Set*/
2178 WDI_RateSet wdiRateSet;
2179
2180 /*Enable/Disable HT capabilities of the BSS*/
2181 wpt_uint8 ucHTCapable;
2182
2183 /* Enable/Disable OBSS protection */
2184 wpt_uint8 ucObssProtEnabled;
2185
2186 /*RMF enabled/disabled*/
2187 wpt_uint8 ucRMFEnabled;
2188
2189 /*Determines the current HT Operating Mode operating mode of the
2190 802.11n STA*/
2191 WDI_HTOperatingMode wdiHTOperMod;
2192
2193 /*Dual CTS Protection: 0 - Unused, 1 - Used*/
2194 wpt_uint8 ucDualCTSProtection;
2195
2196 /* Probe Response Max retries */
2197 wpt_uint8 ucMaxProbeRespRetryLimit;
2198
2199 /* To Enable Hidden ssid */
2200 wpt_uint8 bHiddenSSIDEn;
2201
2202 /* To Enable Disable FW Proxy Probe Resp */
2203 wpt_uint8 bProxyProbeRespEn;
2204
2205 /* Boolean to indicate if EDCA params are valid. UMAC might not have valid
2206 EDCA params or might not desire to apply EDCA params during config BSS.
2207 0 implies Not Valid ; Non-Zero implies valid*/
2208 wpt_uint8 ucEDCAParamsValid;
2209
2210 /*EDCA Parameters for BK*/
2211 WDI_EdcaParamRecord wdiBKEDCAParams;
2212
2213 /*EDCA Parameters for BE*/
2214 WDI_EdcaParamRecord wdiBEEDCAParams;
2215
2216 /*EDCA Parameters for VI*/
2217 WDI_EdcaParamRecord wdiVIEDCAParams;
2218
2219 /*EDCA Parameters for VO*/
2220 WDI_EdcaParamRecord wdiVOEDCAParams;
2221
2222#ifdef WLAN_FEATURE_VOWIFI
2223 /*max power to be used after applying the power constraint, if any */
2224 wpt_int8 cMaxTxPower;
2225#endif
2226
2227 /* Persona for the BSS can be STA,AP,GO,CLIENT, same as Connection Mode */
2228 wpt_uint8 ucPersona;
2229
2230 /* Spectrum Mangement Indicator */
2231 wpt_uint8 bSpectrumMgtEn;
2232
2233#ifdef WLAN_FEATURE_VOWIFI_11R
2234 wpt_uint8 bExtSetStaKeyParamValid;
2235 WDI_SetSTAKeyReqInfoType wdiExtSetKeyParam;
2236#endif
2237
Jeff Johnsone7245742012-09-05 17:12:55 -07002238#ifdef WLAN_FEATURE_11AC
2239 wpt_uint8 ucVhtCapableSta;
2240 wpt_uint8 ucVhtTxChannelWidthSet;
2241#endif
2242
Jeff Johnson295189b2012-06-20 16:38:30 -07002243}WDI_ConfigBSSReqInfoType;
2244
2245/*---------------------------------------------------------------------------
2246 WDI_PostAssocReqParamsType
2247---------------------------------------------------------------------------*/
2248typedef struct
2249{
2250 /*Config STA arguments.*/
2251 WDI_ConfigStaReqInfoType wdiSTAParams;
2252
2253 /*Config BSS Arguments*/
2254 WDI_ConfigBSSReqInfoType wdiBSSParams;
2255
2256 /*Request status callback offered by UMAC - it is called if the current
2257 req has returned PENDING as status; it delivers the status of sending
2258 the message over the BUS */
2259 WDI_ReqStatusCb wdiReqStatusCB;
2260
2261 /*The user data passed in by UMAC, it will be sent back when the above
2262 function pointer will be called */
2263 void* pUserData;
2264}WDI_PostAssocReqParamsType;
2265
2266/*---------------------------------------------------------------------------
2267 WDI_ConfigBSSReqParamsType
2268---------------------------------------------------------------------------*/
2269typedef struct
2270{
2271 /*Info for the Join request that will be sent down to the device*/
2272 WDI_ConfigBSSReqInfoType wdiReqInfo;
2273
2274 /*Request status callback offered by UMAC - it is called if the current
2275 req has returned PENDING as status; it delivers the status of sending
2276 the message over the BUS */
2277 WDI_ReqStatusCb wdiReqStatusCB;
2278
2279 /*The user data passed in by UMAC, it will be sent back when the above
2280 function pointer will be called */
2281 void* pUserData;
2282}WDI_ConfigBSSReqParamsType;
2283
2284/*---------------------------------------------------------------------------
2285 WDI_SetSTAKeyReqParamsType
2286---------------------------------------------------------------------------*/
2287typedef struct
2288{
2289 /*Key Info*/
2290 WDI_SetSTAKeyReqInfoType wdiKeyInfo;
2291
2292 /*Request status callback offered by UMAC - it is called if the current
2293 req has returned PENDING as status; it delivers the status of sending
2294 the message over the BUS */
2295 WDI_ReqStatusCb wdiReqStatusCB;
2296
2297 /*The user data passed in by UMAC, it will be sent back when the above
2298 function pointer will be called */
2299 void* pUserData;
2300}WDI_SetSTAKeyReqParamsType;
2301
2302/*---------------------------------------------------------------------------
2303 WDI_RemoveSTAKeyReqInfoType
2304---------------------------------------------------------------------------*/
2305typedef struct
2306{
2307 /*STA Index*/
2308 wpt_uint8 ucSTAIdx;
2309
2310 /*Encryption Type used with peer*/
2311 WDI_EncryptType wdiEncType;
2312
2313 /*Key Id*/
2314 wpt_uint8 ucKeyId;
2315
2316 /*Whether to invalidate the Broadcast key or Unicast key. In case of WEP,
2317 the same key is used for both broadcast and unicast.*/
2318 wpt_uint8 ucUnicast;
2319}WDI_RemoveSTAKeyReqInfoType;
2320
2321/*---------------------------------------------------------------------------
2322 WDI_RemoveSTAKeyReqParamsType
2323---------------------------------------------------------------------------*/
2324typedef struct
2325{
2326 /*Key Info */
2327 WDI_RemoveSTAKeyReqInfoType wdiKeyInfo;
2328
2329 /*Request status callback offered by UMAC - it is called if the current
2330 req has returned PENDING as status; it delivers the status of sending
2331 the message over the BUS */
2332 WDI_ReqStatusCb wdiReqStatusCB;
2333
2334 /*The user data passed in by UMAC, it will be sent back when the above
2335 function pointer will be called */
2336 void* pUserData;
2337}WDI_RemoveSTAKeyReqParamsType;
2338
2339/*---------------------------------------------------------------------------
2340 QOS Parameters
2341---------------------------------------------------------------------------*/
2342
2343/*---------------------------------------------------------------------------
2344 WDI_TSInfoTfc
2345---------------------------------------------------------------------------*/
2346typedef struct
2347{
2348 wpt_uint16 ackPolicy:2;
2349 wpt_uint16 userPrio:3;
2350 wpt_uint16 psb:1;
2351 wpt_uint16 aggregation : 1;
2352 wpt_uint16 accessPolicy : 2;
2353 wpt_uint16 direction : 2;
2354 wpt_uint16 tsid : 4;
2355 wpt_uint16 trafficType : 1;
2356} WDI_TSInfoTfc;
2357
2358/*---------------------------------------------------------------------------
2359 WDI_TSInfoSch
2360---------------------------------------------------------------------------*/
2361typedef struct
2362{
2363 wpt_uint8 rsvd : 7;
2364 wpt_uint8 schedule : 1;
2365} WDI_TSInfoSch;
2366
2367/*---------------------------------------------------------------------------
2368 WDI_TSInfoType
2369---------------------------------------------------------------------------*/
2370typedef struct
2371{
2372 WDI_TSInfoTfc wdiTraffic;
2373 WDI_TSInfoSch wdiSchedule;
2374} WDI_TSInfoType;
2375
2376/*---------------------------------------------------------------------------
2377 WDI_TspecIEType
2378---------------------------------------------------------------------------*/
2379typedef struct
2380{
2381 wpt_uint8 ucType;
2382 wpt_uint8 ucLength;
2383 WDI_TSInfoType wdiTSinfo;
2384 wpt_uint16 usNomMsduSz;
2385 wpt_uint16 usMaxMsduSz;
2386 wpt_uint32 uMinSvcInterval;
2387 wpt_uint32 uMaxSvcInterval;
2388 wpt_uint32 uInactInterval;
2389 wpt_uint32 uSuspendInterval;
2390 wpt_uint32 uSvcStartTime;
2391 wpt_uint32 uMinDataRate;
2392 wpt_uint32 uMeanDataRate;
2393 wpt_uint32 uPeakDataRate;
2394 wpt_uint32 uMaxBurstSz;
2395 wpt_uint32 uDelayBound;
2396 wpt_uint32 uMinPhyRate;
2397 wpt_uint16 usSurplusBw;
2398 wpt_uint16 usMediumTime;
2399}WDI_TspecIEType;
2400
2401/*---------------------------------------------------------------------------
2402 WDI_AddTSReqInfoType
2403---------------------------------------------------------------------------*/
2404typedef struct
2405{
2406 /*STA Index*/
2407 wpt_uint8 ucSTAIdx;
2408
2409 /*Identifier for TSpec*/
2410 wpt_uint16 ucTspecIdx;
2411
2412 /*Tspec IE negotiated OTA*/
2413 WDI_TspecIEType wdiTspecIE;
2414
2415 /*UAPSD delivery and trigger enabled flags */
2416 wpt_uint8 ucUapsdFlags;
2417
2418 /*SI for each AC*/
2419 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
2420
2421 /*Suspend Interval for each AC*/
2422 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
2423
2424 /*DI for each AC*/
2425 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
2426
2427}WDI_AddTSReqInfoType;
2428
2429
2430/*---------------------------------------------------------------------------
2431 WDI_AddTSReqParamsType
2432---------------------------------------------------------------------------*/
2433typedef struct
2434{
2435 /*TSpec Info */
2436 WDI_AddTSReqInfoType wdiTsInfo;
2437
2438 /*Request status callback offered by UMAC - it is called if the current
2439 req has returned PENDING as status; it delivers the status of sending
2440 the message over the BUS */
2441 WDI_ReqStatusCb wdiReqStatusCB;
2442
2443 /*The user data passed in by UMAC, it will be sent back when the above
2444 function pointer will be called */
2445 void* pUserData;
2446}WDI_AddTSReqParamsType;
2447
2448/*---------------------------------------------------------------------------
2449 WDI_DelTSReqInfoType
2450---------------------------------------------------------------------------*/
2451typedef struct
2452{
2453 /*STA Index*/
2454 wpt_uint8 ucSTAIdx;
2455
2456 /*Identifier for TSpec*/
2457 wpt_uint16 ucTspecIdx;
2458
2459 /*BSSID of the BSS*/
2460 wpt_macAddr macBSSID;
2461}WDI_DelTSReqInfoType;
2462
2463/*---------------------------------------------------------------------------
2464 WDI_DelTSReqParamsType
2465---------------------------------------------------------------------------*/
2466typedef struct
2467{
2468 /*Del TSpec Info*/
2469 WDI_DelTSReqInfoType wdiDelTSInfo;
2470
2471 /*Request status callback offered by UMAC - it is called if the current
2472 req has returned PENDING as status; it delivers the status of sending
2473 the message over the BUS */
2474 WDI_ReqStatusCb wdiReqStatusCB;
2475
2476 /*The user data passed in by UMAC, it will be sent back when the above
2477 function pointer will be called */
2478 void* pUserData;
2479}WDI_DelTSReqParamsType;
2480
2481/*---------------------------------------------------------------------------
2482 WDI_UpdateEDCAInfoType
2483---------------------------------------------------------------------------*/
2484typedef struct
2485{
krunal soni0b366c02013-07-17 19:55:57 -07002486 /*BSS Index of the BSS*/
2487 wpt_uint16 ucBssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07002488
Jeff Johnson295189b2012-06-20 16:38:30 -07002489 /*EDCA params for BE*/
2490 WDI_EdcaParamRecord wdiEdcaBEInfo;
2491
2492 /*EDCA params for BK*/
2493 WDI_EdcaParamRecord wdiEdcaBKInfo;
2494
2495 /*EDCA params for VI*/
2496 WDI_EdcaParamRecord wdiEdcaVIInfo;
2497
2498 /*EDCA params for VO*/
2499 WDI_EdcaParamRecord wdiEdcaVOInfo;
2500
2501}WDI_UpdateEDCAInfoType;
2502
2503/*---------------------------------------------------------------------------
2504 WDI_UpdateEDCAParamsType
2505---------------------------------------------------------------------------*/
2506typedef struct
2507{
2508 /*EDCA Info */
2509 WDI_UpdateEDCAInfoType wdiEDCAInfo;
2510
2511 /*Request status callback offered by UMAC - it is called if the current
2512 req has returned PENDING as status; it delivers the status of sending
2513 the message over the BUS */
2514 WDI_ReqStatusCb wdiReqStatusCB;
2515
2516 /*The user data passed in by UMAC, it will be sent back when the above
2517 function pointer will be called */
2518 void* pUserData;
2519}WDI_UpdateEDCAParamsType;
2520
2521/*---------------------------------------------------------------------------
2522 WDI_AddBASessionReqinfoType
2523---------------------------------------------------------------------------*/
2524typedef struct
2525{
2526 /*Indicates the station for which BA is added..*/
2527 wpt_uint8 ucSTAIdx;
2528
2529 /*The peer mac address*/
2530 wpt_macAddr macPeerAddr;
2531
2532 /*TID for which BA was negotiated*/
2533 wpt_uint8 ucBaTID;
2534
2535 /*Delayed or imediate */
2536 wpt_uint8 ucBaPolicy;
2537
2538 /*The number of buffers for this TID (baTID)*/
2539 wpt_uint16 usBaBufferSize;
2540
2541 /*BA timeout in TU's*/
2542 wpt_uint16 usBaTimeout;
2543
2544 /*b0..b3 - Fragment Number - Always set to 0
2545 b4..b15 - Starting Sequence Number of first MSDU for which this BA is setup*/
2546 wpt_uint16 usBaSSN;
2547
2548 /*Originator/Recipient*/
2549 wpt_uint8 ucBaDirection;
2550
2551}WDI_AddBASessionReqinfoType;
2552
2553
2554/*---------------------------------------------------------------------------
2555 WDI_AddBASessionReqParamsType
2556---------------------------------------------------------------------------*/
2557typedef struct
2558{
2559 /*BA Session Info Type*/
2560 WDI_AddBASessionReqinfoType wdiBASessionInfoType;
2561
2562 /*Request status callback offered by UMAC - it is called if the current
2563 req has returned PENDING as status; it delivers the status of sending
2564 the message over the BUS */
2565 WDI_ReqStatusCb wdiReqStatusCB;
2566
2567 /*The user data passed in by UMAC, it will be sent back when the above
2568 function pointer will be called */
2569 void* pUserData;
2570}WDI_AddBASessionReqParamsType;
2571
2572/*---------------------------------------------------------------------------
2573 WDI_AddBASessionRspParamsType
2574---------------------------------------------------------------------------*/
2575typedef struct
2576{
2577 /*Status of the response*/
2578 WDI_Status wdiStatus;
2579
2580 /* Dialog token */
2581 wpt_uint8 ucBaDialogToken;
2582
2583 /* TID for which the BA session has been setup */
2584 wpt_uint8 ucBaTID;
2585
2586 /* BA Buffer Size allocated for the current BA session */
2587 wpt_uint8 ucBaBufferSize;
2588
2589 /* BA session ID */
2590 wpt_uint16 usBaSessionID;
2591
2592 /* Reordering Window buffer */
2593 wpt_uint8 ucWinSize;
2594
2595 /*Station Index to id the sta */
2596 wpt_uint8 ucSTAIdx;
2597
2598 /* Starting Sequence Number */
2599 wpt_uint16 usBaSSN;
2600
2601}WDI_AddBASessionRspParamsType;
2602
2603/*---------------------------------------------------------------------------
2604 WDI_AddBAReqinfoType
2605---------------------------------------------------------------------------*/
2606typedef struct
2607{
2608 /*Indicates the station for which BA is added..*/
2609 wpt_uint8 ucSTAIdx;
2610
2611 /* Session Id */
2612 wpt_uint8 ucBaSessionID;
2613
2614 /* Reorder Window Size */
2615 wpt_uint8 ucWinSize;
2616
2617#ifdef FEATURE_ON_CHIP_REORDERING
2618 wpt_boolean bIsReorderingDoneOnChip;
2619#endif
2620
2621}WDI_AddBAReqinfoType;
2622
2623
2624/*---------------------------------------------------------------------------
2625 WDI_AddBAReqParamsType
2626---------------------------------------------------------------------------*/
2627typedef struct
2628{
2629 /*BA Info Type*/
2630 WDI_AddBAReqinfoType wdiBAInfoType;
2631
2632 /*Request status callback offered by UMAC - it is called if the current
2633 req has returned PENDING as status; it delivers the status of sending
2634 the message over the BUS */
2635 WDI_ReqStatusCb wdiReqStatusCB;
2636
2637 /*The user data passed in by UMAC, it will be sent back when the above
2638 function pointer will be called */
2639 void* pUserData;
2640}WDI_AddBAReqParamsType;
2641
2642
2643/*---------------------------------------------------------------------------
2644 WDI_AddBARspinfoType
2645---------------------------------------------------------------------------*/
2646typedef struct
2647{
2648 /*Status of the response*/
2649 WDI_Status wdiStatus;
2650
2651 /* Dialog token */
2652 wpt_uint8 ucBaDialogToken;
2653
2654}WDI_AddBARspinfoType;
2655
2656/*---------------------------------------------------------------------------
2657 WDI_TriggerBAReqCandidateType
2658---------------------------------------------------------------------------*/
2659typedef struct
2660{
2661 /* STA index */
2662 wpt_uint8 ucSTAIdx;
2663
2664 /* TID bit map for the STA's*/
2665 wpt_uint8 ucTidBitmap;
2666
2667}WDI_TriggerBAReqCandidateType;
2668
2669
2670/*---------------------------------------------------------------------------
2671 WDI_TriggerBAReqinfoType
2672---------------------------------------------------------------------------*/
2673typedef struct
2674{
2675 /*Indicates the station for which BA is added..*/
2676 wpt_uint8 ucSTAIdx;
2677
2678 /* Session Id */
2679 wpt_uint8 ucBASessionID;
2680
2681 /* Trigger BA Request candidate count */
2682 wpt_uint16 usBACandidateCnt;
2683
2684 /* WDI_TriggerBAReqCandidateType followed by this*/
2685
2686}WDI_TriggerBAReqinfoType;
2687
2688
2689/*---------------------------------------------------------------------------
2690 WDI_TriggerBAReqParamsType
2691---------------------------------------------------------------------------*/
2692typedef struct
2693{
2694 /*BA Trigger Info Type*/
2695 WDI_TriggerBAReqinfoType wdiTriggerBAInfoType;
2696
2697 /*Request status callback offered by UMAC - it is called if the current
2698 req has returned PENDING as status; it delivers the status of sending
2699 the message over the BUS */
2700 WDI_ReqStatusCb wdiReqStatusCB;
2701
2702 /*The user data passed in by UMAC, it will be sent back when the above
2703 function pointer will be called */
2704 void* pUserData;
2705}WDI_TriggerBAReqParamsType;
2706
2707/*---------------------------------------------------------------------------
2708 WDI_AddBAInfoType
2709---------------------------------------------------------------------------*/
2710typedef struct
2711{
2712 wpt_uint16 fBaEnable : 1;
2713 wpt_uint16 startingSeqNum: 12;
2714 wpt_uint16 reserved : 3;
2715}WDI_AddBAInfoType;
2716
2717/*---------------------------------------------------------------------------
2718 WDI_TriggerBARspCandidateType
2719---------------------------------------------------------------------------*/
2720#define STA_MAX_TC 8
2721
2722typedef struct
2723{
2724 /* STA index */
2725 wpt_macAddr macSTA;
2726
2727 /* BA Info */
2728 WDI_AddBAInfoType wdiBAInfo[STA_MAX_TC];
2729}WDI_TriggerBARspCandidateType;
2730
2731/*---------------------------------------------------------------------------
2732 WDI_TriggerBARspParamsType
2733---------------------------------------------------------------------------*/
2734typedef struct
2735{
2736 /*Status of the response*/
2737 WDI_Status wdiStatus;
2738
2739 /*BSSID of the BSS*/
2740 wpt_macAddr macBSSID;
2741
2742 /* Trigger BA response candidate count */
2743 wpt_uint16 usBaCandidateCnt;
2744
2745 /* WDI_TriggerBARspCandidateType followed by this*/
2746
2747}WDI_TriggerBARspParamsType;
2748
2749/*---------------------------------------------------------------------------
2750 WDI_DelBAReqinfoType
2751---------------------------------------------------------------------------*/
2752typedef struct
2753{
2754 /*Indicates the station for which BA is added..*/
2755 wpt_uint8 ucSTAIdx;
2756
2757 /*TID for which BA was negotiated*/
2758 wpt_uint8 ucBaTID;
2759
2760 /*Originator/Recipient*/
2761 wpt_uint8 ucBaDirection;
2762
2763}WDI_DelBAReqinfoType;
2764
2765/*---------------------------------------------------------------------------
2766 WDI_DelBAReqParamsType
2767---------------------------------------------------------------------------*/
2768typedef struct
2769{
2770 /*BA Info */
2771 WDI_DelBAReqinfoType wdiBAInfo;
2772
2773 /*Request status callback offered by UMAC - it is called if the current
2774 req has returned PENDING as status; it delivers the status of sending
2775 the message over the BUS */
2776 WDI_ReqStatusCb wdiReqStatusCB;
2777
2778 /*The user data passed in by UMAC, it will be sent back when the above
2779 function pointer will be called */
2780 void* pUserData;
2781}WDI_DelBAReqParamsType;
2782
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08002783/*---------------------------------------------------------------------------
2784 WDI_UpdateChannelReqinfoType
2785---------------------------------------------------------------------------*/
2786typedef struct
2787{
2788 /** primary 20 MHz channel frequency in mhz */
2789 wpt_uint32 mhz;
2790 /** Center frequency 1 in MHz*/
2791 wpt_uint32 band_center_freq1;
2792 /** Center frequency 2 in MHz - valid only for 11acvht 80plus80 mode*/
2793 wpt_uint32 band_center_freq2;
2794 /* The first 26 bits are a bit mask to indicate any channel flags,
2795 (see WLAN_HAL_CHAN_FLAG*)
2796 The last 6 bits indicate the mode (see tChannelPhyModeType)*/
2797 wpt_uint32 channel_info;
2798 /** contains min power, max power, reg power and reg class id. */
2799 wpt_uint32 reg_info_1;
2800 /** contains antennamax */
2801 wpt_uint32 reg_info_2;
2802}WDI_UpdateChannelReqinfoType;
2803
2804typedef struct
2805{
2806 wpt_uint8 numchan;
2807 WDI_UpdateChannelReqinfoType *pchanParam;
2808}WDI_UpdateChannelReqType;
2809/*---------------------------------------------------------------------------
2810 WDI_UpdateChReqParamsType
2811---------------------------------------------------------------------------*/
2812typedef struct
2813{
2814 /*BA Info */
2815 WDI_UpdateChannelReqType wdiUpdateChanParams;
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_UpdateChReqParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07002826
2827/*---------------------------------------------------------------------------
2828 WDI_SwitchCHRspParamsType
2829---------------------------------------------------------------------------*/
2830typedef struct
2831{
2832 /*Status of the response*/
2833 WDI_Status wdiStatus;
2834
2835 /*Indicates the channel that WLAN is on*/
2836 wpt_uint8 ucChannel;
2837
2838#ifdef WLAN_FEATURE_VOWIFI
2839 /*HAL fills in the tx power used for mgmt frames in this field.*/
2840 wpt_int8 ucTxMgmtPower;
2841#endif
2842
2843}WDI_SwitchCHRspParamsType;
2844
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08002845/*--------------------------------------------------------------------
2846 WDI_SwitchChRspParamsType_V1
2847--------------------------------------------------------------------*/
2848typedef struct
2849{
2850 /*Status of the response*/
2851 WDI_Status wdiStatus;
2852
2853 /*Indicates the channel that WLAN is on*/
2854 wpt_uint8 ucChannel;
2855
2856#ifdef WLAN_FEATURE_VOWIFI
2857 /*HAL fills in the tx power used for mgmt frames in this field.*/
2858 wpt_int8 ucTxMgmtPower;
2859#endif
2860
2861 /* Source of Channel Switch */
2862 WDI_ChanSwitchSource channelSwitchSrc;
2863}WDI_SwitchChRspParamsType_V1;
2864
Jeff Johnson295189b2012-06-20 16:38:30 -07002865/*---------------------------------------------------------------------------
2866 WDI_ConfigSTAReqParamsType
2867---------------------------------------------------------------------------*/
2868typedef struct
2869{
2870 /*Info for the Join request that will be sent down to the device*/
2871 WDI_ConfigStaReqInfoType wdiReqInfo;
2872
2873 /*Request status callback offered by UMAC - it is called if the current
2874 req has returned PENDING as status; it delivers the status of sending
2875 the message over the BUS */
2876 WDI_ReqStatusCb wdiReqStatusCB;
2877
2878 /*The user data passed in by UMAC, it will be sent back when the above
2879 function pointer will be called */
2880 void* pUserData;
2881}WDI_ConfigSTAReqParamsType;
2882
2883
2884/*---------------------------------------------------------------------------
2885 WDI_UpdateBeaconParamsInfoType
2886---------------------------------------------------------------------------*/
2887
2888typedef struct
2889{
2890 /*BSS Index of the BSS*/
2891 wpt_uint8 ucBssIdx;
2892
2893 /*shortPreamble mode. HAL should update all the STA rates when it
2894 receives this message*/
2895 wpt_uint8 ucfShortPreamble;
2896 /* short Slot time.*/
2897 wpt_uint8 ucfShortSlotTime;
2898 /* Beacon Interval */
2899 wpt_uint16 usBeaconInterval;
2900 /*Protection related */
2901 wpt_uint8 ucllaCoexist;
2902 wpt_uint8 ucllbCoexist;
2903 wpt_uint8 ucllgCoexist;
2904 wpt_uint8 ucHt20MhzCoexist;
2905 wpt_uint8 ucllnNonGFCoexist;
2906 wpt_uint8 ucfLsigTXOPProtectionFullSupport;
2907 wpt_uint8 ucfRIFSMode;
2908
2909 wpt_uint16 usChangeBitmap;
2910}WDI_UpdateBeaconParamsInfoType;
2911
Mohit Khanna4a70d262012-09-11 16:30:12 -07002912#ifdef WLAN_FEATURE_11AC
2913typedef struct
2914{
2915 wpt_uint16 opMode;
2916 wpt_uint16 staId;
2917}WDI_UpdateVHTOpMode;
2918#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07002919
2920/*---------------------------------------------------------------------------
2921 WDI_UpdateBeaconParamsType
2922---------------------------------------------------------------------------*/
2923typedef struct
2924{
2925 /*Update Beacon Params Info*/
2926 WDI_UpdateBeaconParamsInfoType wdiUpdateBeaconParamsInfo;
2927
2928 /*Request status callback offered by UMAC - it is called if the current
2929 req has returned PENDING as status; it delivers the status of sending
2930 the message over the BUS */
2931 WDI_ReqStatusCb wdiReqStatusCB;
2932
2933 /*The user data passed in by UMAC, it will be sent back when the above
2934 function pointer will be called */
2935 void* pUserData;
2936}WDI_UpdateBeaconParamsType;
2937
2938/*---------------------------------------------------------------------------
2939 WDI_SendBeaconParamsInfoType
2940---------------------------------------------------------------------------*/
2941
2942typedef struct {
2943
2944 /*BSSID of the BSS*/
2945 wpt_macAddr macBSSID;
2946
2947 /* Beacon data */
2948 wpt_uint8 beacon[WDI_BEACON_TEMPLATE_SIZE];
2949
2950 /* length of the template */
2951 wpt_uint32 beaconLength;
2952
Jeff Johnson295189b2012-06-20 16:38:30 -07002953 /* TIM IE offset from the beginning of the template.*/
2954 wpt_uint32 timIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07002955
Jeff Johnson295189b2012-06-20 16:38:30 -07002956 /* P2P IE offset from the beginning of the template */
2957 wpt_uint16 usP2PIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07002958} WDI_SendBeaconParamsInfoType;
2959
2960/*---------------------------------------------------------------------------
2961 WDI_SendBeaconParamsType
2962---------------------------------------------------------------------------*/
2963typedef struct
2964{
2965 /*Send Beacon Params Info*/
2966 WDI_SendBeaconParamsInfoType wdiSendBeaconParamsInfo;
2967
2968 /*Request status callback offered by UMAC - it is called if the current
2969 req has returned PENDING as status; it delivers the status of sending
2970 the message over the BUS */
2971 WDI_ReqStatusCb wdiReqStatusCB;
2972
2973 /*The user data passed in by UMAC, it will be sent back when the above
2974 function pointer will be called */
2975 void* pUserData;
2976}WDI_SendBeaconParamsType;
2977
2978/*---------------------------------------------------------------------------
2979 WDI_LinkStateType
2980---------------------------------------------------------------------------*/
2981typedef enum
2982{
2983 WDI_LINK_IDLE_STATE = 0,
2984 WDI_LINK_PREASSOC_STATE = 1,
2985 WDI_LINK_POSTASSOC_STATE = 2,
2986 WDI_LINK_AP_STATE = 3,
2987 WDI_LINK_IBSS_STATE = 4,
2988
2989 // BT-AMP Case
2990 WDI_LINK_BTAMP_PREASSOC_STATE = 5,
2991 WDI_LINK_BTAMP_POSTASSOC_STATE = 6,
2992 WDI_LINK_BTAMP_AP_STATE = 7,
2993 WDI_LINK_BTAMP_STA_STATE = 8,
2994
2995 // Reserved for HAL internal use
2996 WDI_LINK_LEARN_STATE = 9,
2997 WDI_LINK_SCAN_STATE = 10,
2998 WDI_LINK_FINISH_SCAN_STATE = 11,
2999 WDI_LINK_INIT_CAL_STATE = 12,
3000 WDI_LINK_FINISH_CAL_STATE = 13,
Jeff Johnson295189b2012-06-20 16:38:30 -07003001 WDI_LINK_LISTEN_STATE = 14,
Gopichand Nakkala924e4552013-05-08 19:18:14 +05303002 WDI_LINK_SEND_ACTION_STATE = 15,
Jeff Johnson295189b2012-06-20 16:38:30 -07003003 WDI_LINK_MAX = 0x7FFFFFFF
3004} WDI_LinkStateType;
3005
3006/*---------------------------------------------------------------------------
3007 WDI_SetLinkReqInfoType
3008---------------------------------------------------------------------------*/
3009typedef struct
3010{
3011 /*BSSID of the BSS*/
3012 wpt_macAddr macBSSID;
3013
3014 /*Link state*/
3015 WDI_LinkStateType wdiLinkState;
3016
3017 /*BSSID of the BSS*/
3018 wpt_macAddr macSelfStaMacAddr;
3019}WDI_SetLinkReqInfoType;
3020
3021/*---------------------------------------------------------------------------
3022 WDI_SetLinkReqParamsType
3023---------------------------------------------------------------------------*/
3024typedef struct
3025{
3026 /*Link Info*/
3027 WDI_SetLinkReqInfoType wdiLinkInfo;
3028
3029 /*Request status callback offered by UMAC - it is called if the current
3030 req has returned PENDING as status; it delivers the status of sending
3031 the message over the BUS */
3032 WDI_ReqStatusCb wdiReqStatusCB;
3033
3034 /*The user data passed in by UMAC, it will be sent back when the above
3035 function pointer will be called */
3036 void* pUserData;
3037}WDI_SetLinkReqParamsType;
3038
3039/*---------------------------------------------------------------------------
3040 WDI_GetStatsParamsInfoType
3041---------------------------------------------------------------------------*/
3042typedef struct
3043{
3044 /*Indicates the station for which Get Stats are requested..*/
3045 wpt_uint8 ucSTAIdx;
3046
3047 /* categories of stats requested */
3048 wpt_uint32 uStatsMask;
3049}WDI_GetStatsParamsInfoType;
3050
3051/*---------------------------------------------------------------------------
3052 WDI_GetStatsReqParamsType
3053---------------------------------------------------------------------------*/
3054typedef struct
3055{
3056 /*Get Stats Params Info*/
3057 WDI_GetStatsParamsInfoType wdiGetStatsParamsInfo;
3058
3059 /*Request status callback offered by UMAC - it is called if the current
3060 req has returned PENDING as status; it delivers the status of sending
3061 the message over the BUS */
3062 WDI_ReqStatusCb wdiReqStatusCB;
3063
3064 /*The user data passed in by UMAC, it will be sent back when the above
3065 function pointer will be called */
3066 void* pUserData;
3067}WDI_GetStatsReqParamsType;
3068
3069/*---------------------------------------------------------------------------
3070 WDI_GetStatsRspParamsType
3071---------------------------------------------------------------------------*/
3072typedef struct
3073{
3074 /*message type is same as the request type*/
3075 wpt_uint16 usMsgType;
3076
3077 /* length of the entire request, includes the pStatsBuf length too*/
3078 wpt_uint16 usMsgLen;
3079
3080 /*Result of the operation*/
3081 WDI_Status wdiStatus;
3082
3083 /*Indicates the station for which Get Stats are requested..*/
3084 wpt_uint8 ucSTAIdx;
3085
3086 /* categories of stats requested */
3087 wpt_uint32 uStatsMask;
3088
3089 /* The Stats buffer starts here and can be an aggregate of more than one statistics
3090 * structure depending on statsMask.*/
3091}WDI_GetStatsRspParamsType;
3092
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003093#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08003094/*---------------------------------------------------------------------------
3095 WDI_GetRoamRssiParamsInfoType
3096---------------------------------------------------------------------------*/
3097typedef struct
3098{
3099 /*Indicates the station for which Get Stats are requested..*/
3100 wpt_uint8 ucSTAIdx;
3101
3102 /* categories of stats requested */
3103 wpt_uint32 uStatsMask;
3104}WDI_GetRoamRssiParamsInfoType;
3105
3106/*---------------------------------------------------------------------------
3107 WDI_GetRoamRssiReqParamsType
3108---------------------------------------------------------------------------*/
3109typedef struct
3110{
3111 /*Get Roam Rssi Params Info*/
3112 WDI_GetRoamRssiParamsInfoType wdiGetRoamRssiParamsInfo;
3113
3114 /*Request status callback offered by UMAC - it is called if the current
3115 req has returned PENDING as status; it delivers the status of sending
3116 the message over the BUS */
3117 WDI_ReqStatusCb wdiReqStatusCB;
3118
3119 /*The user data passed in by UMAC, it will be sent back when the above
3120 function pointer will be called */
3121 void* pUserData;
3122}WDI_GetRoamRssiReqParamsType;
3123
3124/*---------------------------------------------------------------------------
3125 WDI_GetRoamRssiRspParamsType
3126---------------------------------------------------------------------------*/
3127typedef struct
3128{
3129 /*Result of the operation*/
3130 WDI_Status wdiStatus;
3131
3132 /*Indicates the station for which Get Stats are requested..*/
3133 wpt_uint8 ucSTAIdx;
3134
3135 /* roam rssi requested */
3136 wpt_int8 rssi;
3137
3138 /* The Stats buffer starts here and can be an aggregate of more than one statistics
3139 * structure depending on statsMask.*/
3140}WDI_GetRoamRssiRspParamsType;
3141#endif
3142
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003143#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07003144/*---------------------------------------------------------------------------
3145 WDI_TSMStatsParamsInfoType
3146---------------------------------------------------------------------------*/
3147typedef struct
3148{
3149 /*Indicates the station for which Get Stats are requested..*/
3150 wpt_uint8 ucTid;
3151
3152 wpt_macAddr bssid;
3153}WDI_TSMStatsParamsInfoType;
3154
3155/*---------------------------------------------------------------------------
3156 WDI_TSMStatsReqParamsType
3157---------------------------------------------------------------------------*/
3158typedef struct
3159{
3160 /*Get TSM Stats Params Info*/
3161 WDI_TSMStatsParamsInfoType wdiTsmStatsParamsInfo;
3162
3163 WDI_ReqStatusCb wdiReqStatusCB;
3164
3165 /*The user data passed in by UMAC, it will be sent back when the above
3166 function pointer will be called */
3167 void* pUserData;
3168
3169}WDI_TSMStatsReqParamsType;
3170
3171
3172/*---------------------------------------------------------------------------
3173 WDI_TSMStatsRspParamsType
3174---------------------------------------------------------------------------*/
3175typedef struct
3176{
3177 /*Indicates the status of the operation */
3178 WDI_Status wdiStatus;
3179
3180 wpt_uint16 UplinkPktQueueDly;
3181 wpt_uint16 UplinkPktQueueDlyHist[4];
3182 wpt_uint32 UplinkPktTxDly;
3183 wpt_uint16 UplinkPktLoss;
3184 wpt_uint16 UplinkPktCount;
3185 wpt_uint8 RoamingCount;
3186 wpt_uint16 RoamingDly;
3187}WDI_TSMStatsRspParamsType;
3188
3189
3190#endif
3191/*---------------------------------------------------------------------------
3192 WDI_UpdateCfgReqParamsType
3193---------------------------------------------------------------------------*/
3194typedef struct
3195{
3196 /*This is a TLV formatted buffer containing all config values that can
3197 be set through the DAL Interface
3198
3199 The TLV is expected to be formatted like this:
3200
3201 0 7 15 31 ....
3202 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
3203
3204 Or from a C construct point of VU it would look like this:
3205
3206 typedef struct WPT_PACK_POST
3207 {
3208 #ifdef WPT_BIG_ENDIAN
3209 wpt_uint32 ucCfgId:8;
3210 wpt_uint32 ucCfgLen:8;
3211 wpt_uint32 usReserved:16;
3212 #else
3213 wpt_uint32 usReserved:16;
3214 wpt_uint32 ucCfgLen:8;
3215 wpt_uint32 ucCfgId:8;
3216 #endif
3217
3218 wpt_uint8 ucCfgBody[ucCfgLen];
3219 }WDI_ConfigType;
3220
3221 Multiple such tuplets are to be placed in the config buffer. One for
3222 each required configuration item:
3223
3224 | TLV 1 | TLV2 | ....
3225
3226 The buffer is expected to be a flat area of memory that can be manipulated
3227 with standard memory routines.
3228
3229 For more info please check paragraph 2.3.1 Config Structure from the
3230 HAL LLD.
3231
3232 For a list of accepted configuration list and IDs please look up
3233 wlan_qct_dal_cfg.h
3234 */
3235 void* pConfigBuffer;
3236
3237 /*Length of the config buffer above*/
3238 wpt_uint32 uConfigBufferLen;
3239
3240 /*Request status callback offered by UMAC - it is called if the current
3241 req has returned PENDING as status; it delivers the status of sending
3242 the message over the BUS */
3243 WDI_ReqStatusCb wdiReqStatusCB;
3244
3245 /*The user data passed in by UMAC, it will be sent back when the above
3246 function pointer will be called */
3247 void* pUserData;
3248}WDI_UpdateCfgReqParamsType;
3249
3250/*---------------------------------------------------------------------------
3251 WDI_UpdateProbeRspTemplateInfoType
3252---------------------------------------------------------------------------*/
3253//Default Beacon template size
3254#define WDI_PROBE_RSP_TEMPLATE_SIZE 0x180
3255
3256#define WDI_PROBE_REQ_BITMAP_IE_LEN 8
3257
3258typedef struct
3259{
3260 /*BSSID for which the Probe Template is to be used*/
3261 wpt_macAddr macBSSID;
3262
3263 /*Probe response template*/
3264 wpt_uint8 *pProbeRespTemplate[WDI_PROBE_RSP_TEMPLATE_SIZE];
3265
3266 /*Template Len*/
3267 wpt_uint32 uProbeRespTemplateLen;
3268
3269 /*Bitmap for the IEs that are to be handled at SLM level*/
3270 wpt_uint32 uaProxyProbeReqValidIEBmap[WDI_PROBE_REQ_BITMAP_IE_LEN];
3271
3272}WDI_UpdateProbeRspTemplateInfoType;
3273
3274/*---------------------------------------------------------------------------
3275 WDI_UpdateProbeRspParamsType
3276---------------------------------------------------------------------------*/
3277typedef struct
3278{
3279 /*Link Info*/
3280 WDI_UpdateProbeRspTemplateInfoType wdiProbeRspTemplateInfo;
3281
3282 /*Request status callback offered by UMAC - it is called if the current
3283 req has returned PENDING as status; it delivers the status of sending
3284 the message over the BUS */
3285 WDI_ReqStatusCb wdiReqStatusCB;
3286
3287 /*The user data passed in by UMAC, it will be sent back when the above
3288 function pointer will be called */
3289 void* pUserData;
3290}WDI_UpdateProbeRspTemplateParamsType;
3291
3292/*---------------------------------------------------------------------------
3293 WDI_NvDownloadReqBlobInfo
3294---------------------------------------------------------------------------*/
3295
3296typedef struct
3297{
3298 /* Blob starting address*/
3299 void *pBlobAddress;
3300
3301 /* Blob size */
3302 wpt_uint32 uBlobSize;
3303
3304}WDI_NvDownloadReqBlobInfo;
3305
3306/*---------------------------------------------------------------------------
3307 WDI_NvDownloadReqParamsType
3308---------------------------------------------------------------------------*/
3309typedef struct
3310{
3311 /*NV Blob Info*/
3312 WDI_NvDownloadReqBlobInfo wdiBlobInfo;
3313
3314 /*Request status callback offered by UMAC - it is called if the current
3315 req has returned PENDING as status; it delivers the status of sending
3316 the message over the BUS */
3317 WDI_ReqStatusCb wdiReqStatusCB;
3318
3319 /*The user data passed in by UMAC, it will be sent back when the above
3320 function pointer will be called */
3321 void* pUserData;
3322
3323}WDI_NvDownloadReqParamsType;
3324
3325/*---------------------------------------------------------------------------
3326 WDI_NvDownloadRspInfoType
3327---------------------------------------------------------------------------*/
3328typedef struct
3329{
3330 /*Status of the response*/
3331 WDI_Status wdiStatus;
3332
3333}WDI_NvDownloadRspInfoType;
3334
3335/*---------------------------------------------------------------------------
3336 WDI_SetMaxTxPowerInfoType
3337---------------------------------------------------------------------------*/
3338
3339typedef struct
3340{
3341 /*BSSID is needed to identify which session issued this request. As the request has
3342 power constraints, this should be applied only to that session*/
3343 wpt_macAddr macBSSId;
3344
3345
3346 wpt_macAddr macSelfStaMacAddr;
3347
3348 /* In request power == MaxTxpower to be used.*/
3349 wpt_int8 ucPower;
3350
3351}WDI_SetMaxTxPowerInfoType;
3352
3353/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003354 WDI_SetTxPowerInfoType
3355---------------------------------------------------------------------------*/
3356
3357typedef struct
3358{
3359 wpt_uint8 bssIdx;
3360 /* In request power == MaxTxpower to be used.*/
3361 wpt_uint8 ucPower;
3362
3363}WDI_SetTxPowerInfoType;
3364
3365/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003366 WDI_SetMaxTxPowerParamsType
3367---------------------------------------------------------------------------*/
3368typedef struct
3369{
3370 /*Link Info*/
3371 WDI_SetMaxTxPowerInfoType wdiMaxTxPowerInfo;
3372
3373 /*Request status callback offered by UMAC - it is called if the current
3374 req has returned PENDING as status; it delivers the status of sending
3375 the message over the BUS */
3376 WDI_ReqStatusCb wdiReqStatusCB;
3377
3378 /*The user data passed in by UMAC, it will be sent back when the above
3379 function pointer will be called */
3380 void* pUserData;
3381}WDI_SetMaxTxPowerParamsType;
3382
schang86c22c42013-03-13 18:41:24 -07003383/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07003384 WDI_Band
3385---------------------------------------------------------------------------*/
3386typedef enum
3387{
3388 WDI_BAND_ALL,
3389 WDI_BAND_24,
3390 WDI_BAND_5G,
3391 WDI_BAND_MAX,
3392}eWDIBand;
3393
3394/*---------------------------------------------------------------------------
3395 WDI_MaxTxPowerPerBandInfoType
3396---------------------------------------------------------------------------*/
3397typedef struct
3398{
3399 eWDIBand bandInfo;
3400 /* In request power == MaxTxpower to be used.*/
3401 wpt_uint8 ucPower;
3402}WDI_MaxTxPowerPerBandInfoType;
3403
3404/*---------------------------------------------------------------------------
3405 WDI_SetMaxTxPowerPerBandParamsType
3406---------------------------------------------------------------------------*/
3407typedef struct
3408{
3409 /*Link Info*/
3410 WDI_MaxTxPowerPerBandInfoType wdiMaxTxPowerPerBandInfo;
3411
3412 /*Request status callback offered by UMAC - it is called if the current
3413 req has returned PENDING as status; it delivers the status of sending
3414 the message over the BUS */
3415 WDI_ReqStatusCb wdiReqStatusCB;
3416
3417 /*The user data passed in by UMAC, it will be sent back when the above
3418 function pointer will be called */
3419 void* pUserData;
3420}WDI_SetMaxTxPowerPerBandParamsType;
3421
3422/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003423 WDI_SetTxPowerParamsType
3424---------------------------------------------------------------------------*/
3425typedef struct
3426{
3427 /*Link Info*/
3428 WDI_SetTxPowerInfoType wdiTxPowerInfo;
3429
3430 /*Request status callback offered by UMAC - it is called if the current
3431 req has returned PENDING as status; it delivers the status of sending
3432 the message over the BUS */
3433 WDI_ReqStatusCb wdiReqStatusCB;
3434
3435 /*The user data passed in by UMAC, it will be sent back when the above
3436 function pointer will be called */
3437 void* pUserData;
3438}WDI_SetTxPowerParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003439
3440/*---------------------------------------------------------------------------
3441 WDI_SetMaxTxPowerRspMsg
3442---------------------------------------------------------------------------*/
3443
3444typedef struct
3445{
3446 /* In response, power==tx power used for management frames*/
3447 wpt_int8 ucPower;
3448
3449 /*Result of the operation*/
3450 WDI_Status wdiStatus;
3451
3452}WDI_SetMaxTxPowerRspMsg;
3453
schang86c22c42013-03-13 18:41:24 -07003454/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07003455 WDI_SetMaxTxPowerPerBandRspMsg
3456---------------------------------------------------------------------------*/
3457typedef struct
3458{
3459 /* In response, power==tx power used for management frames*/
3460 wpt_int8 ucPower;
3461
3462 /*Result of the operation*/
3463 WDI_Status wdiStatus;
3464
3465}WDI_SetMaxTxPowerPerBandRspMsg;
3466
3467/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003468 WDI_SetTxPowerRspMsg
3469---------------------------------------------------------------------------*/
3470
3471typedef struct
3472{
3473 /* In response, power==tx power used for management frames*/
3474 wpt_int8 ucPower;
3475
3476 /*Result of the operation*/
3477 WDI_Status wdiStatus;
3478
3479}WDI_SetTxPowerRspMsg;
3480
Jeff Johnson295189b2012-06-20 16:38:30 -07003481typedef struct
3482{
3483 wpt_uint8 ucOpp_ps;
3484 wpt_uint32 uCtWindow;
3485 wpt_uint8 ucCount;
3486 wpt_uint32 uDuration;
3487 wpt_uint32 uInterval;
3488 wpt_uint32 uSingle_noa_duration;
3489 wpt_uint8 ucPsSelection;
3490}WDI_SetP2PGONOAReqInfoType;
3491
3492/*---------------------------------------------------------------------------
3493 WDI_SetP2PGONOAReqParamsType
3494---------------------------------------------------------------------------*/
3495typedef struct
3496{
3497 /*P2P GO NOA Req*/
3498 WDI_SetP2PGONOAReqInfoType wdiP2PGONOAInfo;
3499
3500 /*Request status callback offered by UMAC - it is called if the current
3501 req has returned PENDING as status; it delivers the status of sending
3502 the message over the BUS */
3503 WDI_ReqStatusCb wdiReqStatusCB;
3504
3505 /*The user data passed in by UMAC, it will be sent back when the above
3506 function pointer will be called */
3507 void* pUserData;
3508}WDI_SetP2PGONOAReqParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003509
Naresh Jayaramc7cbd782014-02-04 17:38:23 +05303510#define WDI_MAX_SUPP_CHANNELS 128
3511#define WDI_MAX_SUPP_OPER_CLASSES 32
3512
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303513typedef struct
3514{
3515 wpt_uint16 uStaIdx;
3516 wpt_uint8 uIsResponder;
3517 wpt_uint8 uUapsdQueues;
3518 wpt_uint8 uMaxSp;
3519 wpt_uint8 uIsBufSta;
Naresh Jayaramc7cbd782014-02-04 17:38:23 +05303520 wpt_uint8 uIsOffChannelSupported;
3521 wpt_uint8 peerCurrOperClass;
3522 wpt_uint8 selfCurrOperClass;
3523 wpt_uint8 validChannelsLen;
3524 wpt_uint8 validChannels[WDI_MAX_SUPP_CHANNELS];
3525 wpt_uint8 validOperClassesLen;
3526 wpt_uint8 validOperClasses[WDI_MAX_SUPP_OPER_CLASSES];
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303527}WDI_SetTDLSLinkEstablishReqInfoType;
3528/*---------------------------------------------------------------------------
3529 WDI_SetTDLSLinkEstablishReqParamsType
3530---------------------------------------------------------------------------*/
3531typedef struct
3532{
3533 /*TDLS Link Establish Req*/
3534 WDI_SetTDLSLinkEstablishReqInfoType wdiTDLSLinkEstablishInfo;
3535
3536 /*Request status callback offered by UMAC - it is called if the current
3537 req has returned PENDING as status; it delivers the status of sending
3538 the message over the BUS */
3539 WDI_ReqStatusCb wdiReqStatusCB;
3540
3541 /*The user data passed in by UMAC, it will be sent back when the above
3542 function pointer will be called */
3543 void* pUserData;
3544}WDI_SetTDLSLinkEstablishReqParamsType;
3545
3546
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05303547typedef struct
3548{
3549 /*Result of the operation*/
3550 WDI_Status wdiStatus;
3551
3552 /*STA Idx*/
3553 wpt_uint16 uStaIdx;
3554}WDI_SetTdlsLinkEstablishReqResp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003555
3556/*---------------------------------------------------------------------------
3557 WDI_SetAddSTASelfParamsType
3558---------------------------------------------------------------------------*/
3559typedef struct
3560{
3561 /*Self Station MAC address*/
3562 wpt_macAddr selfMacAddr;
3563
Kiran Kumar Lokere0ad5cd32013-06-25 11:26:22 -07003564 /*Self STA device mode*/
3565 wpt_uint32 currDeviceMode;
3566
Jeff Johnson295189b2012-06-20 16:38:30 -07003567 /*Status of the operation*/
3568 wpt_uint32 uStatus;
3569}WDI_AddSTASelfInfoType;
3570
3571/*---------------------------------------------------------------------------
3572 WDI_SetAddSTASelfParamsType
3573---------------------------------------------------------------------------*/
3574typedef struct
3575{
3576 /* Add Sta Self Req */
3577 WDI_AddSTASelfInfoType wdiAddSTASelfInfo;
3578
3579 /*Request status callback offered by UMAC - it is called if the current
3580 req has returned PENDING as status; it delivers the status of sending
3581 the message over the BUS */
3582 WDI_ReqStatusCb wdiReqStatusCB;
3583
3584 /*The user data passed in by UMAC, it will be sent back when the above
3585 function pointer will be called */
3586 void* pUserData;
3587}WDI_AddSTASelfReqParamsType;
3588
3589
3590/*---------------------------------------------------------------------------
3591 WDI_AddSTASelfRspParamsType
3592---------------------------------------------------------------------------*/
3593typedef struct
3594{
3595 /*Status of the response*/
3596 WDI_Status wdiStatus;
3597
3598 /*STA Idx allocated by HAL*/
3599 wpt_uint8 ucSTASelfIdx;
3600
3601 /* DPU Index (IGTK, PTK, GTK all same) */
3602 wpt_uint8 dpuIdx;
3603
3604 /* DPU Signature */
3605 wpt_uint8 dpuSignature;
3606
3607 /*Self STA Mac*/
3608 wpt_macAddr macSelfSta;
3609
3610}WDI_AddSTASelfRspParamsType;
3611
3612/*---------------------------------------------------------------------------
3613 WDI_DelSTASelfReqParamsType
3614 Del Sta Self info passed to WDI form WDA
3615---------------------------------------------------------------------------*/
3616typedef struct
3617{
3618 wpt_macAddr selfMacAddr;
3619
3620}WDI_DelSTASelfInfoType;
3621
3622/*---------------------------------------------------------------------------
3623 WDI_DelSTASelfReqParamsType
3624 Del Sta Self info passed to WDI form WDA
3625---------------------------------------------------------------------------*/
3626typedef struct
3627{
3628 /*Del Sta Self Info Type */
3629 WDI_DelSTASelfInfoType wdiDelStaSelfInfo;
3630 /*Request status callback offered by UMAC - it is called if the current req
3631 has returned PENDING as status; it delivers the status of sending the message
3632 over the BUS */
3633 WDI_ReqStatusCb wdiReqStatusCB;
3634 /*The user data passed in by UMAC, it will be sent back when the above
3635 function pointer will be called */
3636 void* pUserData;
3637}WDI_DelSTASelfReqParamsType;
3638
3639/*---------------------------------------------------------------------------
3640 WDI_DelSTASelfRspParamsType
3641---------------------------------------------------------------------------*/
3642typedef struct
3643{
3644 /*Status of the response*/
3645 WDI_Status wdiStatus;
3646
3647 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
3648// wpt_uint8 ucSTAIdx;
3649}WDI_DelSTASelfRspParamsType;
3650
3651/*---------------------------------------------------------------------------
3652 WDI_UapsdInfoType
3653 UAPSD parameters passed per AC to WDA from UMAC
3654---------------------------------------------------------------------------*/
3655typedef struct
3656{
3657 wpt_uint8 ucSTAIdx; // STA index
3658 wpt_uint8 ucAc; // Access Category
3659 wpt_uint8 ucUp; // User Priority
3660 wpt_uint32 uSrvInterval; // Service Interval
3661 wpt_uint32 uSusInterval; // Suspend Interval
3662 wpt_uint32 uDelayInterval; // Delay Interval
3663} WDI_UapsdInfoType;
3664
3665/*---------------------------------------------------------------------------
3666 WDI_SetUapsdAcParamsReqParamsType
3667 UAPSD parameters passed per AC to WDI from WDA
3668---------------------------------------------------------------------------*/
3669typedef struct
3670{
3671 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3672 WDI_UapsdInfoType wdiUapsdInfo;
3673 /*Request status callback offered by UMAC - it is called if the current req
3674 has returned PENDING as status; it delivers the status of sending the message
3675 over the BUS */
3676 WDI_ReqStatusCb wdiReqStatusCB;
3677 /*The user data passed in by UMAC, it will be sent back when the above
3678 function pointer will be called */
3679 void* pUserData;
3680}WDI_SetUapsdAcParamsReqParamsType;
3681
3682/*---------------------------------------------------------------------------
3683 WDI_EnterBmpsReqinfoType
3684 Enter BMPS parameters passed to WDA from UMAC
3685---------------------------------------------------------------------------*/
3686typedef struct
3687{
3688 //TBTT value derived from the last beacon
3689 wpt_uint8 ucBssIdx;
3690 wpt_uint64 uTbtt;
3691 wpt_uint8 ucDtimCount;
3692 //DTIM period given to HAL during association may not be valid,
3693 //if association is based on ProbeRsp instead of beacon.
3694 wpt_uint8 ucDtimPeriod;
3695 /* DXE physical addr to be passed down to RIVA. RIVA HAL will use it to program
3696 DXE when DXE wakes up from power save*/
3697 unsigned int dxePhyAddr;
3698
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003699 // For ESE and 11R Roaming
Jeff Johnson295189b2012-06-20 16:38:30 -07003700 wpt_uint32 rssiFilterPeriod;
3701 wpt_uint32 numBeaconPerRssiAverage;
3702 wpt_uint8 bRssiFilterEnable;
3703}WDI_EnterBmpsReqinfoType;
3704
3705/*---------------------------------------------------------------------------
3706 WDI_EnterBmpsReqParamsType
3707 Enter BMPS parameters passed to WDI from WDA
3708---------------------------------------------------------------------------*/
3709typedef struct
3710{
3711 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3712 WDI_EnterBmpsReqinfoType wdiEnterBmpsInfo;
3713 /*Request status callback offered by UMAC - it is called if the current req
3714 has returned PENDING as status; it delivers the status of sending the message
3715 over the BUS */
3716 WDI_ReqStatusCb wdiReqStatusCB;
3717 /*The user data passed in by UMAC, it will be sent back when the above
3718 function pointer will be called */
3719 void* pUserData;
3720}WDI_EnterBmpsReqParamsType;
3721
3722/*---------------------------------------------------------------------------
Mihir Shetea4306052014-03-25 00:02:54 +05303723 WDI_EnterImpsReqParamsType
3724 Enter IMPS parameters passed to WDI from WDA
3725---------------------------------------------------------------------------*/
3726typedef struct
3727{
3728 /*Request status callback offered by UMAC - it is called if the current req
3729 has returned PENDING as status; it delivers the status of sending the message
3730 over the BUS */
3731 WDI_ReqStatusCb wdiReqStatusCB;
3732 /*The user data passed in by UMAC, it will be sent back when the above
3733 function pointer will be called */
3734 void* pUserData;
3735}WDI_EnterImpsReqParamsType;
3736
3737/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003738 WDI_EnterBmpsReqParamsType
3739 Enter BMPS parameters passed from WDI to WDA
3740---------------------------------------------------------------------------*/
3741typedef struct
3742{
3743 /*Status of the response*/
3744 WDI_Status wdiStatus;
3745
3746 /*BssIDX of the session*/
3747 wpt_uint8 bssIdx;
3748}WDI_EnterBmpsRspParamsType;
3749
3750/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003751 WDI_ExitBmpsReqinfoType
3752 Exit BMPS parameters passed to WDA from UMAC
3753---------------------------------------------------------------------------*/
3754typedef struct
3755{
3756 wpt_uint8 ucSendDataNull;
Jeff Johnsone7245742012-09-05 17:12:55 -07003757 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003758}WDI_ExitBmpsReqinfoType;
3759
3760/*---------------------------------------------------------------------------
3761 WDI_ExitBmpsReqParamsType
3762 Exit BMPS parameters passed to WDI from WDA
3763---------------------------------------------------------------------------*/
3764typedef struct
3765{
3766 /*Exit BMPS Info Type, same as tExitBmpsParams */
3767 WDI_ExitBmpsReqinfoType wdiExitBmpsInfo;
3768 /*Request status callback offered by UMAC - it is called if the current req
3769 has returned PENDING as status; it delivers the status of sending the message
3770 over the BUS */
3771 WDI_ReqStatusCb wdiReqStatusCB;
3772 /*The user data passed in by UMAC, it will be sent back when the above
3773 function pointer will be called */
3774 void* pUserData;
3775}WDI_ExitBmpsReqParamsType;
3776
3777/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003778 WDI_ExitBmpsReqParamsType
3779 Exit BMPS parameters passed from WDI to WDA
3780---------------------------------------------------------------------------*/
3781typedef struct
3782{
3783 /*Status of the response*/
3784 WDI_Status wdiStatus;
3785
3786 /*BssIDX of the session*/
3787 wpt_uint8 bssIdx;
3788}WDI_ExitBmpsRspParamsType;
3789
3790/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003791 WDI_EnterUapsdReqinfoType
3792 Enter UAPSD parameters passed to WDA from UMAC
3793---------------------------------------------------------------------------*/
3794typedef struct
3795{
3796 wpt_uint8 ucBkDeliveryEnabled:1;
3797 wpt_uint8 ucBeDeliveryEnabled:1;
3798 wpt_uint8 ucViDeliveryEnabled:1;
3799 wpt_uint8 ucVoDeliveryEnabled:1;
3800 wpt_uint8 ucBkTriggerEnabled:1;
3801 wpt_uint8 ucBeTriggerEnabled:1;
3802 wpt_uint8 ucViTriggerEnabled:1;
3803 wpt_uint8 ucVoTriggerEnabled:1;
Jeff Johnsone7245742012-09-05 17:12:55 -07003804 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003805}WDI_EnterUapsdReqinfoType;
3806
3807/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003808 WDI_EnterUapsdRspParamsType
3809 Enter UAPSD parameters passed from WDI to WDA
3810---------------------------------------------------------------------------*/
3811typedef struct
3812{
3813 /*Status of the response*/
3814 WDI_Status wdiStatus;
3815
3816 /*BssIDX of the session*/
3817 wpt_uint8 bssIdx;
3818}WDI_EnterUapsdRspParamsType;
3819
3820/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003821 WDI_EnterUapsdReqinfoType
3822 Enter UAPSD parameters passed to WDI from WDA
3823---------------------------------------------------------------------------*/
3824typedef struct
3825{
3826 /*Enter UAPSD Info Type, same as tUapsdParams */
3827 WDI_EnterUapsdReqinfoType wdiEnterUapsdInfo;
3828 /*Request status callback offered by UMAC - it is called if the current req
3829 has returned PENDING as status; it delivers the status of sending the message
3830 over the BUS */
3831 WDI_ReqStatusCb wdiReqStatusCB;
3832 /*The user data passed in by UMAC, it will be sent back when the above
3833 function pointer will be called */
3834 void* pUserData;
3835}WDI_EnterUapsdReqParamsType;
3836
3837/*---------------------------------------------------------------------------
3838 WDI_UpdateUapsdReqinfoType
3839 Update UAPSD parameters passed to WDA from UMAC
3840---------------------------------------------------------------------------*/
3841typedef struct
3842{
3843 wpt_uint8 ucSTAIdx;
3844 wpt_uint8 ucUapsdACMask;
3845 wpt_uint32 uMaxSpLen;
3846}WDI_UpdateUapsdReqinfoType;
3847
3848/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003849 WDI_ExitUapsdReqinfoType
3850 Exit UAPSD parameters passed to WDA from UMAC
3851---------------------------------------------------------------------------*/
3852typedef struct
3853{
3854 wpt_uint8 bssIdx;
3855}WDI_ExitUapsdReqinfoType;
3856
3857/*---------------------------------------------------------------------------
3858 WDI_ExitUapsdReqParamsType
3859 Exit UAPSD parameters passed to WDI from WDA
3860---------------------------------------------------------------------------*/
3861typedef struct
3862{
3863 /*Exit UAPSD Info Type, same as tUapsdParams */
3864 WDI_ExitUapsdReqinfoType wdiExitUapsdInfo;
3865 /*Request status callback offered by UMAC - it is called if the current req
3866 has returned PENDING as status; it delivers the status of sending the message
3867 over the BUS */
3868 WDI_ReqStatusCb wdiReqStatusCB;
3869 /*The user data passed in by UMAC, it will be sent back when the above
3870 function pointer will be called */
3871 void* pUserData;
3872}WDI_ExitUapsdReqParamsType;
3873
3874/*---------------------------------------------------------------------------
3875 WDI_ExitUapsdRspParamsType
3876 Exit UAPSD parameters passed from WDI to WDA
3877---------------------------------------------------------------------------*/
3878typedef struct
3879{
3880 /*Status of the response*/
3881 WDI_Status wdiStatus;
3882
3883 /*BssIDX of the session*/
3884 wpt_uint8 bssIdx;
3885}WDI_ExitUapsdRspParamsType;
3886
3887/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003888 WDI_UpdateUapsdReqParamsType
3889 Update UAPSD parameters passed to WDI form WDA
3890---------------------------------------------------------------------------*/
3891typedef struct
3892{
3893 /*Update UAPSD Info Type, same as tUpdateUapsdParams */
3894 WDI_UpdateUapsdReqinfoType wdiUpdateUapsdInfo;
3895 /*Request status callback offered by UMAC - it is called if the current req
3896 has returned PENDING as status; it delivers the status of sending the message
3897 over the BUS */
3898 WDI_ReqStatusCb wdiReqStatusCB;
3899 /*The user data passed in by UMAC, it will be sent back when the above
3900 function pointer will be called */
3901 void* pUserData;
3902}WDI_UpdateUapsdReqParamsType;
3903
3904/*---------------------------------------------------------------------------
3905 WDI_ConfigureRxpFilterReqParamsType
3906 RXP filter parameters passed to WDI form WDA
3907---------------------------------------------------------------------------*/
3908typedef struct
3909{
3910 /* Mode of Mcast and Bcast filters configured */
3911 wpt_uint8 ucSetMcstBcstFilterSetting;
3912
3913 /* Mcast Bcast Filters enable/disable*/
3914 wpt_uint8 ucSetMcstBcstFilter;
3915}WDI_RxpFilterReqParamsType;
3916
3917typedef struct
3918{
3919 /* Rxp Filter */
3920 WDI_RxpFilterReqParamsType wdiRxpFilterParam;
3921
3922 /*Request status callback offered by UMAC - it is called if the current req
3923 has returned PENDING as status; it delivers the status of sending the message
3924 over the BUS */
3925 WDI_ReqStatusCb wdiReqStatusCB;
3926 /*The user data passed in by UMAC, it will be sent back when the above
3927 function pointer will be called */
3928 void* pUserData;
3929}WDI_ConfigureRxpFilterReqParamsType;
3930
3931/*---------------------------------------------------------------------------
3932 WDI_BeaconFilterInfoType
3933 Beacon Filtering data structures passed to WDA form UMAC
3934---------------------------------------------------------------------------*/
3935typedef struct
3936{
3937 wpt_uint16 usCapabilityInfo;
3938 wpt_uint16 usCapabilityMask;
3939 wpt_uint16 usBeaconInterval;
3940 wpt_uint16 usIeNum;
Madan Mohan Koyyalamudia84edda2012-10-15 14:58:25 -07003941 wpt_uint8 bssIdx;
3942 wpt_uint8 reserved;
Jeff Johnson295189b2012-06-20 16:38:30 -07003943}WDI_BeaconFilterInfoType;
3944
3945/*---------------------------------------------------------------------------
3946 WDI_BeaconFilterReqParamsType
3947 Beacon Filtering parameters passed to WDI form WDA
3948---------------------------------------------------------------------------*/
3949typedef struct
3950{
3951 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
3952 WDI_BeaconFilterInfoType wdiBeaconFilterInfo;
3953 /*Beacon Filter(s) follow the "usIeNum" field, hence the array to ease the
3954 copy of params from WDA to WDI */
3955 wpt_uint8 aFilters[WDI_BEACON_FILTER_LEN];
3956 /*Request status callback offered by UMAC - it is called if the current req
3957 has returned PENDING as status; it delivers the status of sending the message
3958 over the BUS */
3959 WDI_ReqStatusCb wdiReqStatusCB;
3960 /*The user data passed in by UMAC, it will be sent back when the above
3961 function pointer will be called */
3962 void* pUserData;
3963}WDI_BeaconFilterReqParamsType;
3964
3965/*---------------------------------------------------------------------------
3966 WDI_RemBeaconFilterInfoType
3967 Beacon Filtering data structures (to be reomoved) passed to WDA form UMAC
3968---------------------------------------------------------------------------*/
3969typedef struct
3970{
3971 wpt_uint8 ucIeCount;
3972 wpt_uint8 ucRemIeId[1];
3973}WDI_RemBeaconFilterInfoType;
3974
3975/*---------------------------------------------------------------------------
3976 WDI_RemBeaconFilterReqParamsType
3977 Beacon Filtering parameters (to be reomoved)passed to WDI form WDA
3978---------------------------------------------------------------------------*/
3979typedef struct
3980{
3981 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
3982 WDI_RemBeaconFilterInfoType wdiBeaconFilterInfo;
3983 /*Request status callback offered by UMAC - it is called if the current req
3984 has returned PENDING as status; it delivers the status of sending the message
3985 over the BUS */
3986 WDI_ReqStatusCb wdiReqStatusCB;
3987 /*The user data passed in by UMAC, it will be sent back when the above
3988 function pointer will be called */
3989 void* pUserData;
3990}WDI_RemBeaconFilterReqParamsType;
3991
3992/*---------------------------------------------------------------------------
3993 WDI_RSSIThresholdsType
3994 RSSI thresholds data structures (to be reomoved) passed to WDA form UMAC
3995---------------------------------------------------------------------------*/
3996typedef struct
3997{
3998 wpt_int8 ucRssiThreshold1 : 8;
3999 wpt_int8 ucRssiThreshold2 : 8;
4000 wpt_int8 ucRssiThreshold3 : 8;
4001 wpt_uint8 bRssiThres1PosNotify : 1;
4002 wpt_uint8 bRssiThres1NegNotify : 1;
4003 wpt_uint8 bRssiThres2PosNotify : 1;
4004 wpt_uint8 bRssiThres2NegNotify : 1;
4005 wpt_uint8 bRssiThres3PosNotify : 1;
4006 wpt_uint8 bRssiThres3NegNotify : 1;
4007 wpt_uint8 bReserved10 : 2;
4008} WDI_RSSIThresholdsType;
4009
4010/*---------------------------------------------------------------------------
4011 WDI_SetRSSIThresholdsReqParamsType
4012 RSSI thresholds parameters (to be reomoved)passed to WDI form WDA
4013---------------------------------------------------------------------------*/
4014typedef struct
4015{
4016 /*RSSI thresholds Info Type, same as WDI_RSSIThresholds */
4017 WDI_RSSIThresholdsType wdiRSSIThresholdsInfo;
4018 /*Request status callback offered by UMAC - it is called if the current req
4019 has returned PENDING as status; it delivers the status of sending the message
4020 over the BUS */
4021 WDI_ReqStatusCb wdiReqStatusCB;
4022 /*The user data passed in by UMAC, it will be sent back when the above
4023 function pointer will be called */
4024 void* pUserData;
4025}WDI_SetRSSIThresholdsReqParamsType;
4026
4027/*---------------------------------------------------------------------------
4028 WDI_HostOffloadReqType
4029 host offload info passed to WDA form UMAC
4030---------------------------------------------------------------------------*/
4031#ifdef WLAN_NS_OFFLOAD
4032typedef struct
4033{
4034 wpt_uint8 srcIPv6Addr[16];
4035 wpt_uint8 selfIPv6Addr[16];
4036 //Only support 2 possible Network Advertisement IPv6 address
4037 wpt_uint8 targetIPv6Addr1[16];
4038 wpt_uint8 targetIPv6Addr2[16];
4039 wpt_uint8 selfMacAddr[6];
4040 wpt_uint8 srcIPv6AddrValid : 1;
4041 wpt_uint8 targetIPv6Addr1Valid : 1;
4042 wpt_uint8 targetIPv6Addr2Valid : 1;
Gopichand Nakkala746a9452013-06-11 12:45:54 +05304043 wpt_uint8 slotIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004044} WDI_NSOffloadParams;
4045#endif //WLAN_NS_OFFLOAD
4046
4047typedef struct
4048{
4049 wpt_uint8 ucOffloadType;
4050 wpt_uint8 ucEnableOrDisable;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004051 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004052 union
4053 {
4054 wpt_uint8 aHostIpv4Addr [4];
4055 wpt_uint8 aHostIpv6Addr [16];
4056 } params;
4057} WDI_HostOffloadReqType;
4058
4059/*---------------------------------------------------------------------------
4060 WDI_HostOffloadReqParamsType
4061 host offload info passed to WDI form WDA
4062---------------------------------------------------------------------------*/
4063typedef struct
4064{
4065 /*Host offload Info Type, same as tHalHostOffloadReq */
4066 WDI_HostOffloadReqType wdiHostOffloadInfo;
4067#ifdef WLAN_NS_OFFLOAD
4068 WDI_NSOffloadParams wdiNsOffloadParams;
4069#endif //WLAN_NS_OFFLOAD
4070 /*Request status callback offered by UMAC - it is called if the current req
4071 has returned PENDING as status; it delivers the status of sending the message
4072 over the BUS */
4073 WDI_ReqStatusCb wdiReqStatusCB;
4074 /*The user data passed in by UMAC, it will be sent back when the above
4075 function pointer will be called */
4076 void* pUserData;
4077}WDI_HostOffloadReqParamsType;
4078
4079/*---------------------------------------------------------------------------
4080 WDI_KeepAliveReqType
4081 Keep Alive info passed to WDA form UMAC
4082---------------------------------------------------------------------------*/
4083typedef struct
4084{
4085 wpt_uint8 ucPacketType;
4086 wpt_uint32 ucTimePeriod;
4087 wpt_uint8 aHostIpv4Addr[4];
4088 wpt_uint8 aDestIpv4Addr[4];
4089 wpt_uint8 aDestMacAddr[6];
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004090 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004091} WDI_KeepAliveReqType;
4092
4093/*---------------------------------------------------------------------------
4094 WDI_KeepAliveReqParamsType
4095 Keep Alive passed to WDI form WDA
4096---------------------------------------------------------------------------*/
4097typedef struct
4098{
4099 /* Keep Alive Info Type, same as tHalKeepAliveReq */
4100 WDI_KeepAliveReqType wdiKeepAliveInfo;
4101 /*Request status callback offered by UMAC - it is called if the current req
4102 has returned PENDING as status; it delivers the status of sending the message
4103 over the BUS */
4104 WDI_ReqStatusCb wdiReqStatusCB;
4105 /*The user data passed in by UMAC, it will be sent back when the above
4106 function pointer will be called */
4107 void* pUserData;
4108}WDI_KeepAliveReqParamsType;
4109
4110/*---------------------------------------------------------------------------
4111 WDI_WowlAddBcPtrnInfoType
4112 Wowl add ptrn info passed to WDA form UMAC
4113---------------------------------------------------------------------------*/
4114typedef struct
4115{
4116 wpt_uint8 ucPatternId; // Pattern ID
4117 // Pattern byte offset from beginning of the 802.11 packet to start of the
4118 // wake-up pattern
4119 wpt_uint8 ucPatternByteOffset;
4120 wpt_uint8 ucPatternSize; // Non-Zero Pattern size
4121 wpt_uint8 ucPattern[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern
4122 wpt_uint8 ucPatternMaskSize; // Non-zero pattern mask size
4123 wpt_uint8 ucPatternMask[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern mask
4124 wpt_uint8 ucPatternExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern
4125 wpt_uint8 ucPatternMaskExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern mask
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004126 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004127} WDI_WowlAddBcPtrnInfoType;
4128
4129/*---------------------------------------------------------------------------
4130 WDI_WowlAddBcPtrnReqParamsType
4131 Wowl add ptrn info passed to WDI form WDA
4132---------------------------------------------------------------------------*/
4133typedef struct
4134{
4135 /*Wowl add ptrn Info Type, same as tpSirWowlAddBcastPtrn */
4136 WDI_WowlAddBcPtrnInfoType wdiWowlAddBcPtrnInfo;
4137 /*Request status callback offered by UMAC - it is called if the current req
4138 has returned PENDING as status; it delivers the status of sending the message
4139 over the BUS */
4140 WDI_ReqStatusCb wdiReqStatusCB;
4141 /*The user data passed in by UMAC, it will be sent back when the above
4142 function pointer will be called */
4143 void* pUserData;
4144}WDI_WowlAddBcPtrnReqParamsType;
4145
4146/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004147 WDI_WowlAddBcPtrnRspParamsType
4148 Wowl add ptrn info passed from WDI to WDA
4149---------------------------------------------------------------------------*/
4150typedef struct
4151{
4152 /*Status of the response*/
4153 WDI_Status wdiStatus;
4154 /*BssIDX of the session*/
4155 wpt_uint8 bssIdx;
4156}WDI_WowlAddBcPtrnRspParamsType;
4157
4158/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004159 WDI_WowlDelBcPtrnInfoType
4160 Wowl add ptrn info passed to WDA form UMAC
4161---------------------------------------------------------------------------*/
4162typedef struct
4163{
4164 /* Pattern ID of the wakeup pattern to be deleted */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004165 wpt_uint8 ucPatternId;
4166 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004167} WDI_WowlDelBcPtrnInfoType;
4168
4169/*---------------------------------------------------------------------------
4170 WDI_WowlDelBcPtrnReqParamsType
4171 Wowl add ptrn info passed to WDI form WDA
4172---------------------------------------------------------------------------*/
4173typedef struct
4174{
4175 /*Wowl delete ptrn Info Type, same as WDI_WowlDelBcastPtrn */
4176 WDI_WowlDelBcPtrnInfoType wdiWowlDelBcPtrnInfo;
4177 /*Request status callback offered by UMAC - it is called if the current req
4178 has returned PENDING as status; it delivers the status of sending the message
4179 over the BUS */
4180 WDI_ReqStatusCb wdiReqStatusCB;
4181 /*The user data passed in by UMAC, it will be sent back when the above
4182 function pointer will be called */
4183 void* pUserData;
4184}WDI_WowlDelBcPtrnReqParamsType;
4185
4186/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004187 WDI_WowlDelBcPtrnRspParamsType
4188 Wowl Del ptrn info passed from WDI to WDA
4189---------------------------------------------------------------------------*/
4190typedef struct
4191{
4192 /*Status of the response*/
4193 WDI_Status wdiStatus;
4194 /*BssIDX of the session*/
4195 wpt_uint8 bssIdx;
4196}WDI_WowlDelBcPtrnRspParamsType;
4197
4198/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004199 WDI_WowlEnterInfoType
4200 Wowl enter info passed to WDA form UMAC
4201---------------------------------------------------------------------------*/
4202typedef struct
4203{
4204 /* Enables/disables magic packet filtering */
4205 wpt_uint8 ucMagicPktEnable;
4206
4207 /* Magic pattern */
4208 wpt_macAddr magicPtrn;
4209
4210 /* Enables/disables packet pattern filtering in firmware.
4211 Enabling this flag enables broadcast pattern matching
4212 in Firmware. If unicast pattern matching is also desired,
4213 ucUcastPatternFilteringEnable flag must be set tot true
4214 as well
4215 */
4216 wpt_uint8 ucPatternFilteringEnable;
4217
4218 /* Enables/disables unicast packet pattern filtering.
4219 This flag specifies whether we want to do pattern match
4220 on unicast packets as well and not just broadcast packets.
4221 This flag has no effect if the ucPatternFilteringEnable
4222 (main controlling flag) is set to false
4223 */
4224 wpt_uint8 ucUcastPatternFilteringEnable;
4225
4226 /* This configuration is valid only when magicPktEnable=1.
4227 * It requests hardware to wake up when it receives the
4228 * Channel Switch Action Frame.
4229 */
4230 wpt_uint8 ucWowChnlSwitchRcv;
4231
4232 /* This configuration is valid only when magicPktEnable=1.
4233 * It requests hardware to wake up when it receives the
4234 * Deauthentication Frame.
4235 */
4236 wpt_uint8 ucWowDeauthRcv;
4237
4238 /* This configuration is valid only when magicPktEnable=1.
4239 * It requests hardware to wake up when it receives the
4240 * Disassociation Frame.
4241 */
4242 wpt_uint8 ucWowDisassocRcv;
4243
4244 /* This configuration is valid only when magicPktEnable=1.
4245 * It requests hardware to wake up when it has missed
4246 * consecutive beacons. This is a hardware register
4247 * configuration (NOT a firmware configuration).
4248 */
4249 wpt_uint8 ucWowMaxMissedBeacons;
4250
4251 /* This configuration is valid only when magicPktEnable=1.
4252 * This is a timeout value in units of microsec. It requests
4253 * hardware to unconditionally wake up after it has stayed
4254 * in WoWLAN mode for some time. Set 0 to disable this feature.
4255 */
4256 wpt_uint8 ucWowMaxSleepUsec;
4257
4258#ifdef WLAN_WAKEUP_EVENTS
4259 /* This configuration directs the WoW packet filtering to look for EAP-ID
4260 * requests embedded in EAPOL frames and use this as a wake source.
4261 */
4262 wpt_uint8 ucWoWEAPIDRequestEnable;
4263
4264 /* This configuration directs the WoW packet filtering to look for EAPOL-4WAY
4265 * requests and use this as a wake source.
4266 */
4267 wpt_uint8 ucWoWEAPOL4WayEnable;
4268
4269 /* This configuration allows a host wakeup on an network scan offload match.
4270 */
4271 wpt_uint8 ucWowNetScanOffloadMatch;
4272
4273 /* This configuration allows a host wakeup on any GTK rekeying error.
4274 */
4275 wpt_uint8 ucWowGTKRekeyError;
4276
4277 /* This configuration allows a host wakeup on BSS connection loss.
4278 */
4279 wpt_uint8 ucWoWBSSConnLoss;
4280#endif // WLAN_WAKEUP_EVENTS
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004281
4282 /* BSSIDX used to find the current session
4283 */
4284 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004285} WDI_WowlEnterInfoType;
4286
4287/*---------------------------------------------------------------------------
4288 WDI_WowlEnterReqParamsType
4289 Wowl enter info passed to WDI form WDA
4290---------------------------------------------------------------------------*/
4291typedef struct
4292{
4293 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
4294 WDI_WowlEnterInfoType wdiWowlEnterInfo;
4295 /*Request status callback offered by UMAC - it is called if the current req
4296 has returned PENDING as status; it delivers the status of sending the message
4297 over the BUS */
4298 WDI_ReqStatusCb wdiReqStatusCB;
4299 /*The user data passed in by UMAC, it will be sent back when the above
4300 function pointer will be called */
4301 void* pUserData;
4302}WDI_WowlEnterReqParamsType;
4303
4304/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004305 WDI_WowlEnterRsqParamsType
4306 Wowl enter info passed from WDI to WDA
4307---------------------------------------------------------------------------*/
4308typedef struct
4309{
4310 /*Status of the response message*/
4311 WDI_Status status;
4312
4313 /* BSSIDX used to find the current session
4314 */
4315 wpt_uint8 bssIdx;
4316}WDI_WowlEnterRspParamsType;
4317
4318/*---------------------------------------------------------------------------
4319 WDI_WowlExitInfoType
4320 Wowl exit info passed to WDA form UMAC
4321 ---------------------------------------------------------------------------*/
4322typedef struct
4323{
4324 /* BSSIDX used to find the current session
4325 */
4326 wpt_uint8 bssIdx;
4327} WDI_WowlExitInfoType;
4328
4329/*---------------------------------------------------------------------------
4330 WDI_WowlExitReqParamsType
4331 Wowl exit info passed to WDI form WDA
4332---------------------------------------------------------------------------*/
4333typedef struct
4334{
4335 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
4336 WDI_WowlExitInfoType wdiWowlExitInfo;
4337 /*Request status callback offered by UMAC - it is called if the current req
4338 has returned PENDING as status; it delivers the status of sending the message
4339 over the BUS */
4340 WDI_ReqStatusCb wdiReqStatusCB;
4341 /*The user data passed in by UMAC, it will be sent back when the above
4342 function pointer will be called */
4343 void* pUserData;
4344}WDI_WowlExitReqParamsType;
4345
4346/*---------------------------------------------------------------------------
4347 WDI_WowlExitRspParamsType
4348 Wowl exit info passed from WDI to WDA
4349---------------------------------------------------------------------------*/
4350typedef struct
4351{
4352 /*Status of the response message*/
4353 WDI_Status status;
4354
4355 /* BSSIDX used to find the current session
4356 */
4357 wpt_uint8 bssIdx;
4358}WDI_WowlExitRspParamsType;
4359
4360/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004361 WDI_ConfigureAppsCpuWakeupStateReqParamsType
4362 Apps Cpu Wakeup State parameters passed to WDI form WDA
4363---------------------------------------------------------------------------*/
4364typedef struct
4365{
4366 /*Depicts the state of the Apps CPU */
4367 wpt_boolean bIsAppsAwake;
4368 /*Request status callback offered by UMAC - it is called if the current req
4369 has returned PENDING as status; it delivers the status of sending the message
4370 over the BUS */
4371 WDI_ReqStatusCb wdiReqStatusCB;
4372 /*The user data passed in by UMAC, it will be sent back when the above
4373 function pointer will be called */
4374 void* pUserData;
4375}WDI_ConfigureAppsCpuWakeupStateReqParamsType;
4376/*---------------------------------------------------------------------------
4377 WDI_FlushAcReqinfoType
4378---------------------------------------------------------------------------*/
4379typedef struct
4380{
4381 // Message Type
4382 wpt_uint16 usMesgType;
4383
4384 // Message Length
4385 wpt_uint16 usMesgLen;
4386
4387 // Station Index. originates from HAL
4388 wpt_uint8 ucSTAId;
4389
4390 // TID for which the transmit queue is being flushed
4391 wpt_uint8 ucTid;
4392
4393}WDI_FlushAcReqinfoType;
4394
4395/*---------------------------------------------------------------------------
4396 WDI_FlushAcReqParamsType
4397---------------------------------------------------------------------------*/
4398typedef struct
4399{
4400 /*AC Info */
4401 WDI_FlushAcReqinfoType wdiFlushAcInfo;
4402
4403 /*Request status callback offered by UMAC - it is called if the current
4404 req has returned PENDING as status; it delivers the status of sending
4405 the message over the BUS */
4406 WDI_ReqStatusCb wdiReqStatusCB;
4407
4408 /*The user data passed in by UMAC, it will be sent back when the above
4409 function pointer will be called */
4410 void* pUserData;
4411}WDI_FlushAcReqParamsType;
4412
4413/*---------------------------------------------------------------------------
4414 WDI_BtAmpEventinfoType
4415 BT-AMP Event Structure
4416---------------------------------------------------------------------------*/
4417typedef struct
4418{
4419 wpt_uint8 ucBtAmpEventType;
4420
4421} WDI_BtAmpEventinfoType;
4422
4423/*---------------------------------------------------------------------------
4424 WDI_BtAmpEventParamsType
4425---------------------------------------------------------------------------*/
4426typedef struct
4427{
4428 /*BT AMP event Info */
4429 WDI_BtAmpEventinfoType wdiBtAmpEventInfo;
4430
4431 /*Request status callback offered by UMAC - it is called if the current
4432 req has returned PENDING as status; it delivers the status of sending
4433 the message over the BUS */
4434 WDI_ReqStatusCb wdiReqStatusCB;
4435
4436 /*The user data passed in by UMAC, it will be sent back when the above
4437 function pointer will be called */
4438 void* pUserData;
4439}WDI_BtAmpEventParamsType;
4440
Jeff Johnsone7245742012-09-05 17:12:55 -07004441#ifdef FEATURE_OEM_DATA_SUPPORT
4442
4443#ifndef OEM_DATA_REQ_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004444#define OEM_DATA_REQ_SIZE 134
Jeff Johnsone7245742012-09-05 17:12:55 -07004445#endif
4446#ifndef OEM_DATA_RSP_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004447#define OEM_DATA_RSP_SIZE 1968
Jeff Johnsone7245742012-09-05 17:12:55 -07004448#endif
4449
4450/*----------------------------------------------------------------------------
4451 WDI_oemDataReqInfoType
4452----------------------------------------------------------------------------*/
4453typedef struct
4454{
4455 wpt_macAddr selfMacAddr;
4456 wpt_uint8 oemDataReq[OEM_DATA_REQ_SIZE];
4457}WDI_oemDataReqInfoType;
4458
4459/*----------------------------------------------------------------------------
4460 WDI_oemDataReqParamsType
4461----------------------------------------------------------------------------*/
4462typedef struct
4463{
4464 /*Request status callback offered by UMAC - it is called if the current
4465 req has returned PENDING as status; it delivers the status of sending
4466 the message over the BUS */
4467 WDI_ReqStatusCb wdiReqStatusCB;
4468
4469 /*The user data passed in by UMAC, it will be sent back when the above
4470 function pointer will be called */
4471 void* pUserData;
4472
4473 /*OEM DATA REQ Info */
4474 WDI_oemDataReqInfoType wdiOemDataReqInfo;
4475
4476}WDI_oemDataReqParamsType;
4477
4478/*----------------------------------------------------------------------------
4479 WDI_oemDataRspParamsType
4480----------------------------------------------------------------------------*/
4481typedef struct
4482{
4483 wpt_uint8 oemDataRsp[OEM_DATA_RSP_SIZE];
4484}WDI_oemDataRspParamsType;
4485
4486#endif /* FEATURE_OEM_DATA_SUPPORT */
Jeff Johnson295189b2012-06-20 16:38:30 -07004487
4488#ifdef WLAN_FEATURE_VOWIFI_11R
4489/*---------------------------------------------------------------------------
4490 WDI_AggrAddTSReqInfoType
4491---------------------------------------------------------------------------*/
4492typedef struct
4493{
4494 /*STA Index*/
4495 wpt_uint8 ucSTAIdx;
4496
4497 /*Identifier for TSpec*/
4498 wpt_uint8 ucTspecIdx;
4499
4500 /*Tspec IE negotiated OTA*/
4501 WDI_TspecIEType wdiTspecIE[WDI_MAX_NO_AC];
4502
4503 /*UAPSD delivery and trigger enabled flags */
4504 wpt_uint8 ucUapsdFlags;
4505
4506 /*SI for each AC*/
4507 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
4508
4509 /*Suspend Interval for each AC*/
4510 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
4511
4512 /*DI for each AC*/
4513 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
4514
4515}WDI_AggrAddTSReqInfoType;
4516
4517
4518/*---------------------------------------------------------------------------
4519 WDI_AggrAddTSReqParamsType
4520---------------------------------------------------------------------------*/
4521typedef struct
4522{
4523 /*TSpec Info */
4524 WDI_AggrAddTSReqInfoType wdiAggrTsInfo;
4525
4526 /*Request status callback offered by UMAC - it is called if the current
4527 req has returned PENDING as status; it delivers the status of sending
4528 the message over the BUS */
4529 WDI_ReqStatusCb wdiReqStatusCB;
4530
4531 /*The user data passed in by UMAC, it will be sent back when the above
4532 function pointer will be called */
4533 void* pUserData;
4534}WDI_AggrAddTSReqParamsType;
4535
4536#endif /* WLAN_FEATURE_VOWIFI_11R */
4537
Jeff Johnson295189b2012-06-20 16:38:30 -07004538/*---------------------------------------------------------------------------
4539 WDI_FTMCommandReqType
4540---------------------------------------------------------------------------*/
4541typedef struct
4542{
4543 /* FTM Command Body length */
4544 wpt_uint32 bodyLength;
4545 /* Actual FTM Command body */
4546 void *FTMCommandBody;
4547}WDI_FTMCommandReqType;
Jeff Johnson295189b2012-06-20 16:38:30 -07004548
4549/*---------------------------------------------------------------------------
4550 WDI_WlanSuspendInfoType
4551---------------------------------------------------------------------------*/
4552typedef struct
4553{
4554 /* Mode of Mcast and Bcast filters configured */
4555 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4556}WDI_WlanSuspendInfoType;
4557
4558/*---------------------------------------------------------------------------
4559 WDI_SuspendParamsType
4560---------------------------------------------------------------------------*/
4561typedef struct
4562{
4563 WDI_WlanSuspendInfoType wdiSuspendParams;
4564
4565 /*Request status callback offered by UMAC - it is called if the current
4566 req has returned PENDING as status; it delivers the status of sending
4567 the message over the BUS */
4568 WDI_ReqStatusCb wdiReqStatusCB;
4569
4570 /*The user data passed in by UMAC, it will be sent back when the above
4571 function pointer will be called */
4572 void* pUserData;
4573
4574}WDI_SuspendParamsType;
4575
4576/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004577 WDI_TrafficStatsType - This is collected for each STA
4578---------------------------------------------------------------------------*/
4579
4580typedef struct
4581{
4582 /* TX stats */
4583 wpt_uint32 txBytesPushed;
4584 wpt_uint32 txPacketsPushed;
4585
4586 /* RX stats */
4587 wpt_uint32 rxBytesRcvd;
4588 wpt_uint32 rxPacketsRcvd;
4589 wpt_uint32 rxTimeTotal;
4590}WDI_TrafficStatsType;
4591
4592typedef struct
4593{
4594 WDI_TrafficStatsType *pTrafficStats;
4595 wpt_uint32 length;
4596 wpt_uint32 duration;
4597
4598 /*Request status callback offered by UMAC - it is called if the current
4599 req has returned PENDING as status; it delivers the status of sending
4600 the message over the BUS */
4601 WDI_ReqStatusCb wdiReqStatusCB;
4602
4603 /*The user data passed in by UMAC, it will be sent back when the above
4604 function pointer will be called */
4605 void* pUserData;
4606}WDI_TrafficStatsIndType;
4607
Chet Lanctot186b5732013-03-18 10:26:30 -07004608#ifdef WLAN_FEATURE_11W
4609typedef struct
4610{
4611
4612 wpt_boolean bExcludeUnencrypt;
4613 wpt_macAddr bssid;
4614 /*Request status callback offered by UMAC - it is called if the current
4615 req has returned PENDING as status; it delivers the status of sending
4616 the message over the BUS */
4617 WDI_ReqStatusCb wdiReqStatusCB;
4618
4619 /*The user data passed in by UMAC, it will be sent back when the above
4620 function pointer will be called */
4621 void* pUserData;
4622}WDI_ExcludeUnencryptIndType;
4623#endif
4624
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004625/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004626 WDI_WlanResumeInfoType
4627---------------------------------------------------------------------------*/
4628typedef struct
4629{
4630 /* Mode of Mcast and Bcast filters configured */
4631 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4632}WDI_WlanResumeInfoType;
4633
4634/*---------------------------------------------------------------------------
4635 WDI_ResumeParamsType
4636---------------------------------------------------------------------------*/
4637typedef struct
4638{
4639 WDI_WlanResumeInfoType wdiResumeParams;
4640
4641 /*Request status callback offered by UMAC - it is called if the current
4642 req has returned PENDING as status; it delivers the status of sending
4643 the message over the BUS */
4644 WDI_ReqStatusCb wdiReqStatusCB;
4645
4646 /*The user data passed in by UMAC, it will be sent back when the above
4647 function pointer will be called */
4648 void* pUserData;
4649
4650}WDI_ResumeParamsType;
4651
4652#ifdef WLAN_FEATURE_GTK_OFFLOAD
4653/*---------------------------------------------------------------------------
4654 * WDI_GTK_OFFLOAD_REQ
4655 *--------------------------------------------------------------------------*/
4656
4657typedef struct
4658{
4659 wpt_uint32 ulFlags; /* optional flags */
4660 wpt_uint8 aKCK[16]; /* Key confirmation key */
4661 wpt_uint8 aKEK[16]; /* key encryption key */
4662 wpt_uint64 ullKeyReplayCounter; /* replay counter */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004663 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004664} WDI_GtkOffloadReqParams;
4665
4666typedef struct
4667{
4668 WDI_GtkOffloadReqParams gtkOffloadReqParams;
4669
4670 /*Request status callback offered by UMAC - it is called if the current
4671 req has returned PENDING as status; it delivers the status of sending
4672 the message over the BUS */
4673 WDI_ReqStatusCb wdiReqStatusCB;
4674
4675 /*The user data passed in by UMAC, it will be sent back when the above
4676 function pointer will be called */
4677 void* pUserData;
4678} WDI_GtkOffloadReqMsg;
4679
4680/*---------------------------------------------------------------------------
4681 * WDI_GTK_OFFLOAD_RSP
4682 *--------------------------------------------------------------------------*/
4683typedef struct
4684{
4685 /* success or failure */
4686 wpt_uint32 ulStatus;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004687 /*BssIdx of the response */
4688 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004689} WDI_GtkOffloadRspParams;
4690
4691typedef struct
4692{
4693 WDI_GtkOffloadRspParams gtkOffloadRspParams;
4694
4695 /*Request status callback offered by UMAC - it is called if the current
4696 req has returned PENDING as status; it delivers the status of sending
4697 the message over the BUS */
4698 WDI_ReqStatusCb wdiReqStatusCB;
4699
4700 /*The user data passed in by UMAC, it will be sent back when the above
4701 function pointer will be called */
4702 void* pUserData;
4703} WDI_GtkOffloadRspMsg;
4704
4705
4706/*---------------------------------------------------------------------------
4707* WDI_GTK_OFFLOAD_GETINFO_REQ
4708*--------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004709typedef struct
4710{
4711 /*BssIdx of the response */
4712 wpt_macAddr bssId;
4713} WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004714
4715typedef struct
4716{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004717
4718 WDI_GtkOffloadGetInfoReqParams WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004719 /*Request status callback offered by UMAC - it is called if the current
4720 req has returned PENDING as status; it delivers the status of sending
4721 the message over the BUS */
4722 WDI_ReqStatusCb wdiReqStatusCB;
4723
4724 /*The user data passed in by UMAC, it will be sent back when the above
4725 function pointer will be called */
4726 void* pUserData;
4727} WDI_GtkOffloadGetInfoReqMsg;
4728
4729/*---------------------------------------------------------------------------
4730* WDI_GTK_OFFLOAD_GETINFO_RSP
4731*--------------------------------------------------------------------------*/
4732typedef struct
4733{
4734 wpt_uint32 ulStatus; /* success or failure */
4735 wpt_uint64 ullKeyReplayCounter; /* current replay counter value */
4736 wpt_uint32 ulTotalRekeyCount; /* total rekey attempts */
4737 wpt_uint32 ulGTKRekeyCount; /* successful GTK rekeys */
4738 wpt_uint32 ulIGTKRekeyCount; /* successful iGTK rekeys */
Gopichand Nakkala870cbae2013-03-15 21:16:09 +05304739 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004740} WDI_GtkOffloadGetInfoRspParams;
4741
4742typedef struct
4743{
4744 WDI_GtkOffloadGetInfoRspParams gtkOffloadGetInfoRspParams;
4745
4746 /*Request status callback offered by UMAC - it is called if the current
4747 req has returned PENDING as status; it delivers the status of sending
4748 the message over the BUS */
4749 WDI_ReqStatusCb wdiReqStatusCB;
4750
4751 /*The user data passed in by UMAC, it will be sent back when the above
4752 function pointer will be called */
4753 void* pUserData;
4754} WDI_GtkOffloadGetInfoRspMsg;
4755#endif // WLAN_FEATURE_GTK_OFFLOAD
4756
4757/*---------------------------------------------------------------------------
4758 WDI_SuspendResumeRspParamsType
4759---------------------------------------------------------------------------*/
4760typedef struct
4761{
4762 /*Status of the response*/
4763 WDI_Status wdiStatus;
4764}WDI_SuspendResumeRspParamsType;
4765
Leo Chang9056f462013-08-01 19:21:11 -07004766#ifdef FEATURE_WLAN_LPHB
4767/*---------------------------------------------------------------------------
4768 WDI Low Power Heart Beat Config request
4769 Copy from sirApi.h to avoid compile error
4770---------------------------------------------------------------------------*/
4771#define WDI_LPHB_FILTER_LEN 64
4772
4773typedef enum
4774{
4775 WDI_LPHB_SET_EN_PARAMS_INDID = 0x0001,
4776 WDI_LPHB_SET_TCP_PARAMS_INDID,
4777 WDI_LPHB_SET_TCP_PKT_FILTER_INDID,
4778 WDI_LPHB_SET_UDP_PARAMS_INDID,
4779 WDI_LPHB_SET_UDP_PKT_FILTER_INDID,
4780 WDI_LPHB_SET_NETWORK_INFO_INDID,
4781} WDI_LPHBIndType;
4782
4783typedef struct
4784{
4785 wpt_uint8 enable;
4786 wpt_uint8 item;
4787 wpt_uint8 session;
4788} WDI_LPHBEnableStruct;
4789
4790typedef struct
4791{
4792 wpt_uint32 srv_ip;
4793 wpt_uint32 dev_ip;
4794 wpt_uint16 src_port;
4795 wpt_uint16 dst_port;
4796 wpt_uint16 timeout;
4797 wpt_uint8 session;
4798 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
Leo Changd9df8aa2013-09-26 13:32:26 -07004799 wpt_uint16 timePeriodSec; // in seconds
4800 wpt_uint32 tcpSn;
Leo Chang9056f462013-08-01 19:21:11 -07004801} WDI_LPHBTcpParamStruct;
4802
4803typedef struct
4804{
4805 wpt_uint16 length;
4806 wpt_uint8 offset;
4807 wpt_uint8 session;
4808 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
4809} WDI_LPHBTcpFilterStruct;
4810
4811typedef struct
4812{
4813 wpt_uint32 srv_ip;
4814 wpt_uint32 dev_ip;
4815 wpt_uint16 src_port;
4816 wpt_uint16 dst_port;
4817 wpt_uint16 interval;
4818 wpt_uint16 timeout;
4819 wpt_uint8 session;
4820 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
4821} WDI_LPHBUdpParamStruct;
4822
4823typedef struct
4824{
4825 wpt_uint16 length;
4826 wpt_uint8 offset;
4827 wpt_uint8 session;
4828 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
4829} WDI_LPHBUdpFilterStruct;
4830
4831typedef struct
4832{
4833 wpt_uint16 cmd;
4834 wpt_uint16 dummy;
4835 union
4836 {
4837 WDI_LPHBEnableStruct lphbEnableReq;
4838 WDI_LPHBTcpParamStruct lphbTcpParamReq;
4839 WDI_LPHBTcpFilterStruct lphbTcpFilterReq;
4840 WDI_LPHBUdpParamStruct lphbUdpParamReq;
4841 WDI_LPHBUdpFilterStruct lphbUdpFilterReq;
4842 } params;
4843} WDI_LPHBReq;
4844#endif /* FEATURE_WLAN_LPHB */
Jeff Johnson295189b2012-06-20 16:38:30 -07004845
Jeff Johnson295189b2012-06-20 16:38:30 -07004846/*---------------------------------------------------------------------------
4847 WDI_AuthType
4848---------------------------------------------------------------------------*/
4849typedef enum
4850{
4851 WDI_AUTH_TYPE_ANY = 0,
4852
4853 WDI_AUTH_TYPE_NONE,
4854 WDI_AUTH_TYPE_OPEN_SYSTEM,
4855 WDI_AUTH_TYPE_SHARED_KEY,
4856
4857 WDI_AUTH_TYPE_WPA,
4858 WDI_AUTH_TYPE_WPA_PSK,
4859 WDI_AUTH_TYPE_WPA_NONE,
4860
4861 WDI_AUTH_TYPE_RSN,
4862 WDI_AUTH_TYPE_RSN_PSK,
4863 WDI_AUTH_TYPE_FT_RSN,
4864 WDI_AUTH_TYPE_FT_RSN_PSK,
4865 WDI_AUTH_TYPE_WAPI_WAI_CERTIFICATE,
4866 WDI_AUTH_TYPE_WAPI_WAI_PSK,
4867 WDI_AUTH_TYPE_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
4868
4869}WDI_AuthType;
4870
4871/*---------------------------------------------------------------------------
4872 WDI_EdType
4873---------------------------------------------------------------------------*/
4874typedef enum
4875{
4876 WDI_ED_ANY = 0,
4877 WDI_ED_NONE,
4878 WDI_ED_WEP40,
4879 WDI_ED_WEP104,
4880 WDI_ED_TKIP,
4881 WDI_ED_CCMP,
4882 WDI_ED_WPI,
4883 WDI_ED_AES_128_CMAC,
4884 WDI_ED_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
4885} WDI_EdType;
4886
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08004887#ifdef FEATURE_WLAN_SCAN_PNO
4888
4889/*Max number of channels for a given network supported by PNO*/
4890#define WDI_PNO_MAX_NETW_CHANNELS 26
4891
4892/*Max number of channels for a given network supported by PNO*/
4893#define WDI_PNO_MAX_NETW_CHANNELS_EX 60
4894
4895/*The max number of programable networks for PNO*/
4896#define WDI_PNO_MAX_SUPP_NETWORKS 16
4897
4898/*The max number of scan timers programable in Riva*/
4899#define WDI_PNO_MAX_SCAN_TIMERS 10
4900
4901#define WDI_PNO_MAX_PROBE_SIZE 450
Jeff Johnson295189b2012-06-20 16:38:30 -07004902
4903/*---------------------------------------------------------------------------
4904 WDI_PNOMode
4905---------------------------------------------------------------------------*/
4906typedef enum
4907{
4908 /*Network offload is to start immediately*/
4909 WDI_PNO_MODE_IMMEDIATE,
4910
4911 /*Network offload is to start on host suspend*/
4912 WDI_PNO_MODE_ON_SUSPEND,
4913
4914 /*Network offload is to start on host resume*/
4915 WDI_PNO_MODE_ON_RESUME,
4916 WDI_PNO_MODE_MAX = 0xFFFFFFFF
4917} WDI_PNOMode;
4918
4919/* SSID broadcast type */
4920typedef enum
4921{
4922 WDI_BCAST_UNKNOWN = 0,
4923 WDI_BCAST_NORMAL = 1,
4924 WDI_BCAST_HIDDEN = 2,
4925
4926 WDI_BCAST_TYPE_MAX = 0xFFFFFFFF
4927} WDI_SSIDBcastType;
4928
4929/*---------------------------------------------------------------------------
4930 WDI_NetworkType
4931---------------------------------------------------------------------------*/
4932typedef struct
4933{
4934 /*The SSID of the preferred network*/
4935 WDI_MacSSid ssId;
4936
4937 /*The authentication method of the preferred network*/
4938 WDI_AuthType wdiAuth;
4939
4940 /*The encryption method of the preferred network*/
4941 WDI_EdType wdiEncryption;
4942
4943 /*SSID broadcast type, normal, hidden or unknown*/
4944 WDI_SSIDBcastType wdiBcastNetworkType;
4945
4946 /*channel count - 0 for all channels*/
4947 wpt_uint8 ucChannelCount;
4948
4949 /*the actual channels*/
Madan Mohan Koyyalamudi4bb5d2e2013-09-26 17:36:46 +05304950 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
Jeff Johnson295189b2012-06-20 16:38:30 -07004951
4952 /*rssi threshold that a network must meet to be considered, 0 - for any*/
4953 wpt_uint8 rssiThreshold;
4954} WDI_NetworkType;
4955
4956
4957/*---------------------------------------------------------------------------
4958 WDI_ScanTimer
4959---------------------------------------------------------------------------*/
4960typedef struct
4961{
4962 /*The timer value*/
4963 wpt_uint32 uTimerValue;
4964
4965 /*The amount of time we should be repeating the interval*/
4966 wpt_uint32 uTimerRepeat;
4967} WDI_ScanTimer;
4968
4969/*---------------------------------------------------------------------------
4970 WDI_ScanTimersType
4971---------------------------------------------------------------------------*/
4972typedef struct
4973{
4974 /*The number of value pair intervals present in the array*/
4975 wpt_uint8 ucScanTimersCount;
4976
4977 /*The time-repeat value pairs*/
4978 WDI_ScanTimer aTimerValues[WDI_PNO_MAX_SCAN_TIMERS];
4979} WDI_ScanTimersType;
4980
4981/*---------------------------------------------------------------------------
4982 WDI_PNOScanReqType
4983---------------------------------------------------------------------------*/
4984typedef struct
4985{
4986 /*Enable or disable PNO feature*/
4987 wpt_uint8 bEnable;
4988
4989 /*PNO mode requested*/
4990 WDI_PNOMode wdiModePNO;
4991
4992 /*Network count*/
4993 wpt_uint8 ucNetworksCount;
4994
4995 /*The networks to look for*/
4996 WDI_NetworkType aNetworks[WDI_PNO_MAX_SUPP_NETWORKS];
4997
4998 /*Scan timer intervals*/
4999 WDI_ScanTimersType scanTimers;
5000
5001 /*Probe template for 2.4GHz band*/
5002 wpt_uint16 us24GProbeSize;
5003 wpt_uint8 a24GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
5004
5005 /*Probe template for 5GHz band*/
5006 wpt_uint16 us5GProbeSize;
5007 wpt_uint8 a5GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
5008} WDI_PNOScanReqType;
5009
5010/*---------------------------------------------------------------------------
5011 WDI_PNOScanReqParamsType
5012 PNO info passed to WDI form WDA
5013---------------------------------------------------------------------------*/
5014typedef struct
5015{
5016 /* PNO Info Type, same as tPrefNetwListParams */
5017 WDI_PNOScanReqType wdiPNOScanInfo;
5018 /* Request status callback offered by UMAC - it is called if the current req
5019 has returned PENDING as status; it delivers the status of sending the message
5020 over the BUS */
5021 WDI_ReqStatusCb wdiReqStatusCB;
5022 /* The user data passed in by UMAC, it will be sent back when the above
5023 function pointer will be called */
5024 void* pUserData;
5025} WDI_PNOScanReqParamsType;
5026
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005027/*---------------------------------------------------------------------------
5028 WDI_SetRssiFilterReqParamsType
5029 PNO info passed to WDI form WDA
5030---------------------------------------------------------------------------*/
5031typedef struct
5032{
5033 /* RSSI Threshold */
5034 wpt_uint8 rssiThreshold;
5035 /* Request status callback offered by UMAC - it is called if the current req
5036 has returned PENDING as status; it delivers the status of sending the message
5037 over the BUS */
5038 WDI_ReqStatusCb wdiReqStatusCB;
5039 /* The user data passed in by UMAC, it will be sent back when the above
5040 function pointer will be called */
5041 void* pUserData;
5042} WDI_SetRssiFilterReqParamsType;
5043
5044/*---------------------------------------------------------------------------
5045 WDI_UpdateScanParamsInfo
5046---------------------------------------------------------------------------*/
5047typedef struct
5048{
5049 /*Is 11d enabled*/
5050 wpt_uint8 b11dEnabled;
5051
5052 /*Was UMAc able to find the regulatory domain*/
5053 wpt_uint8 b11dResolved;
5054
5055 /*Number of channel allowed in the regulatory domain*/
5056 wpt_uint8 ucChannelCount;
5057
5058 /*The actual channels allowed in the regulatory domain*/
5059 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
5060
5061 /*Passive min channel time*/
5062 wpt_uint16 usPassiveMinChTime;
5063
5064 /*Passive max channel time*/
5065 wpt_uint16 usPassiveMaxChTime;
5066
5067 /*Active min channel time*/
5068 wpt_uint16 usActiveMinChTime;
5069
5070 /*Active max channel time*/
5071 wpt_uint16 usActiveMaxChTime;
5072
5073 /*channel bonding info*/
5074 wpt_uint8 cbState;
5075} WDI_UpdateScanParamsInfo;
5076
5077/*---------------------------------------------------------------------------
5078 WDI_UpdateScanParamsInfoType
5079 UpdateScanParams info passed to WDI form WDA
5080---------------------------------------------------------------------------*/
5081typedef struct
5082{
5083 /* PNO Info Type, same as tUpdateScanParams */
5084 WDI_UpdateScanParamsInfo wdiUpdateScanParamsInfo;
5085 /* Request status callback offered by UMAC - it is called if the current req
5086 has returned PENDING as status; it delivers the status of sending the message
5087 over the BUS */
5088 WDI_ReqStatusCb wdiReqStatusCB;
5089 /* The user data passed in by UMAC, it will be sent back when the above
5090 function pointer will be called */
5091 void* pUserData;
5092} WDI_UpdateScanParamsInfoType;
5093#endif //FEATURE_WLAN_SCAN_PNO
5094
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005095#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
5096
Varun Reddy Yeturu52231ea2014-02-06 12:00:56 -08005097#define WDI_ROAM_SCAN_MAX_CHANNELS 80
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005098#define WDI_ROAM_SCAN_MAX_PROBE_SIZE 450
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005099
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005100typedef struct
5101{
5102 /*The SSID of the preferred network*/
5103 WDI_MacSSid ssId;
5104 wpt_uint8 currAPbssid[WDI_MAC_ADDR_LEN];
5105
5106 /*The authentication method of the preferred network*/
5107 WDI_AuthType authentication;
5108
5109 /*The encryption method of the preferred network*/
5110 WDI_EdType encryption;
5111 WDI_EdType mcencryption;
5112
5113 /*SSID broadcast type, normal, hidden or unknown*/
5114 //WDI_SSIDBcastType wdiBcastNetworkType;
5115
5116 /*channel count - 0 for all channels*/
5117 wpt_uint8 ChannelCount;
5118
5119 /*the actual channels*/
5120 wpt_uint8 ChannelCache[WDI_ROAM_SCAN_MAX_CHANNELS];
5121
5122} WDI_RoamNetworkType;
5123
5124typedef struct WDIMobilityDomainInfo
5125{
5126 wpt_uint8 mdiePresent;
5127 wpt_uint16 mobilityDomain;
5128} WDI_MobilityDomainInfo;
5129
5130/*---------------------------------------------------------------------------
5131 WDI_RoamOffloadScanInfo
5132---------------------------------------------------------------------------*/
5133typedef struct
5134{
5135 wpt_boolean RoamScanOffloadEnabled;
Sameer Thalappil4ae66ec2013-11-05 14:17:35 -08005136 wpt_boolean MAWCEnabled;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005137 wpt_uint8 LookupThreshold;
Varun Reddy Yeturu6c5e25c2014-01-09 21:55:37 -08005138 wpt_uint8 RxSensitivityThreshold;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005139 wpt_uint8 RoamRssiDiff;
5140 wpt_uint8 ChannelCacheType;
5141 wpt_uint8 Command;
5142 wpt_uint8 StartScanReason;
5143 wpt_uint16 NeighborScanTimerPeriod;
5144 wpt_uint16 NeighborRoamScanRefreshPeriod;
5145 wpt_uint16 NeighborScanChannelMinTime;
5146 wpt_uint16 NeighborScanChannelMaxTime;
5147 wpt_uint16 EmptyRefreshScanPeriod;
5148 wpt_uint8 ValidChannelCount;
5149 wpt_uint8 ValidChannelList[WDI_ROAM_SCAN_MAX_CHANNELS];
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08005150 wpt_boolean IsESEEnabled;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005151 /*Probe template for 2.4GHz band*/
5152 wpt_uint16 us24GProbeSize;
5153 wpt_uint8 a24GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
5154
5155 /*Probe template for 5GHz band*/
5156 wpt_uint16 us5GProbeSize;
5157 wpt_uint8 a5GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005158 /*LFR BG Scan will currently look for only one network to which it is initially connected.
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005159 * As per requirement, later, the following structure can be used as an array of networks.*/
5160 WDI_RoamNetworkType ConnectedNetwork;
5161 WDI_MobilityDomainInfo MDID;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005162 wpt_uint8 nProbes;
5163 wpt_uint16 HomeAwayTime;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005164} WDI_RoamOffloadScanInfo;
5165
5166typedef struct
5167{
5168 /* Start Roam Candidate Lookup Offload Back Ground Info Type */
5169 WDI_RoamOffloadScanInfo wdiRoamOffloadScanInfo;
5170 /* Request status callback offered by UMAC - it is called if the current req
5171 has returned PENDING as status; it delivers the status of sending the message
5172 over the BUS */
5173 WDI_ReqStatusCb wdiReqStatusCB;
5174 /* The user data passed in by UMAC, it will be sent back when the above
5175 function pointer will be called */
5176 void* pUserData;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005177} WDI_RoamScanOffloadReqParamsType;
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005178#endif //WLAN_FEATURE_ROAM_SCAN_OFFLOAD
Jeff Johnson295189b2012-06-20 16:38:30 -07005179
5180/*---------------------------------------------------------------------------
Sandeep Puligilla8b8b74b2014-02-10 16:39:05 +05305181 WDI_HT40ObssScanIndType
5182---------------------------------------------------------------------------*/
5183typedef struct
5184{
5185 wpt_uint8 cmdType;
5186 wpt_uint8 scanType;
5187 wpt_uint16 OBSSScanPassiveDwellTime; // In TUs
5188 wpt_uint16 OBSSScanActiveDwellTime; // In TUs
5189 wpt_uint16 BSSChannelWidthTriggerScanInterval; // In seconds
5190 wpt_uint16 OBSSScanPassiveTotalPerChannel; // In TUs
5191 wpt_uint16 OBSSScanActiveTotalPerChannel; // In TUs
5192 wpt_uint16 BSSWidthChannelTransitionDelayFactor;
5193 wpt_uint16 OBSSScanActivityThreshold;
5194 wpt_uint8 selfStaIdx;
5195 wpt_uint8 bssIdx;
5196 wpt_uint8 fortyMHZIntolerent;
5197 wpt_uint8 channelCount;
5198 wpt_uint8 channels[WDI_ROAM_SCAN_MAX_CHANNELS];
5199 wpt_uint8 currentOperatingClass;
5200 wpt_uint16 ieFieldLen;
5201 wpt_uint8 ieField[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
5202} WDI_HT40ObssScanIndType;
5203
5204
5205/*---------------------------------------------------------------------------
5206 WDI_OBSSScanIndParamsType
5207---------------------------------------------------------------------------*/
5208typedef struct
5209{
5210 WDI_HT40ObssScanIndType wdiHT40ObssScanParam;
5211
5212 /*Request status callback offered by UMAC - it is called if the current
5213 req has returned PENDING as status; it delivers the status of sending
5214 the message over the BUS */
5215 WDI_ReqStatusCb wdiReqStatusCB;
5216
5217 /*The user data passed in by UMAC, it will be sent back when the above
5218 function pointer will be called */
5219 void* pUserData;
5220
5221}WDI_HT40ObssScanParamsType;
5222
5223/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07005224 WDI_UpdateScanParamsInfo
5225---------------------------------------------------------------------------*/
5226typedef struct
5227{
5228 /* Ignore DTIM */
5229 wpt_uint32 uIgnoreDTIM;
5230
5231 /*DTIM Period*/
5232 wpt_uint32 uDTIMPeriod;
5233
5234 /* Listen Interval */
5235 wpt_uint32 uListenInterval;
5236
5237 /* Broadcast Multicas Filter */
5238 wpt_uint32 uBcastMcastFilter;
5239
5240 /* Beacon Early Termination */
5241 wpt_uint32 uEnableBET;
5242
5243 /* Beacon Early Termination Interval */
5244 wpt_uint32 uBETInterval;
5245
Yue Mac24062f2013-05-13 17:01:29 -07005246 /* MAX LI for modulated DTIM */
5247 wpt_uint32 uMaxLIModulatedDTIM;
5248
Jeff Johnson295189b2012-06-20 16:38:30 -07005249} WDI_SetPowerParamsInfo;
5250
5251/*---------------------------------------------------------------------------
5252 WDI_UpdateScanParamsInfoType
5253 UpdateScanParams info passed to WDI form WDA
5254---------------------------------------------------------------------------*/
5255typedef struct
5256{
5257 /* Power params Info Type, same as tSetPowerParamsReq */
5258 WDI_SetPowerParamsInfo wdiSetPowerParamsInfo;
5259 /* Request status callback offered by UMAC - it is called if the current req
5260 has returned PENDING as status; it delivers the status of sending the message
5261 over the BUS */
5262 WDI_ReqStatusCb wdiReqStatusCB;
5263 /* The user data passed in by UMAC, it will be sent back when the above
5264 function pointer will be called */
5265 void* pUserData;
5266}WDI_SetPowerParamsReqParamsType;
5267
5268/*---------------------------------------------------------------------------
5269 WDI_SetTxPerTrackingConfType
5270 Wowl add ptrn info passed to WDA form UMAC
5271---------------------------------------------------------------------------*/
5272typedef struct
5273{
5274 wpt_uint8 ucTxPerTrackingEnable; /* 0: disable, 1:enable */
5275 wpt_uint8 ucTxPerTrackingPeriod; /* Check period, unit is sec. */
5276 wpt_uint8 ucTxPerTrackingRatio; /* (Fail TX packet)/(Total TX packet) ratio, the unit is 10%. */
5277 wpt_uint32 uTxPerTrackingWatermark; /* A watermark of check number, once the tx packet exceed this number, we do the check, default is 5 */
5278} WDI_TxPerTrackingParamType;
5279
5280/*---------------------------------------------------------------------------
5281 WDI_SetTxPerTrackingReqParamsType
5282 Tx PER Tracking parameters passed to WDI from WDA
5283---------------------------------------------------------------------------*/
5284typedef struct
5285{
5286 /* Configurations for Tx PER Tracking */
5287 WDI_TxPerTrackingParamType wdiTxPerTrackingParam;
5288 /*Request status callback offered by UMAC - it is called if the current req
5289 has returned PENDING as status; it delivers the status of sending the message
5290 over the BUS */
5291 WDI_ReqStatusCb wdiReqStatusCB;
5292 /*The user data passed in by UMAC, it will be sent back when the above
5293 function pointer will be called */
5294 void* pUserData;
5295}WDI_SetTxPerTrackingReqParamsType;
5296
5297#ifdef WLAN_FEATURE_PACKET_FILTERING
5298/*---------------------------------------------------------------------------
5299 Packet Filtering Parameters
5300---------------------------------------------------------------------------*/
5301
5302#define WDI_IPV4_ADDR_LEN 4
5303#define WDI_MAC_ADDR_LEN 6
5304#define WDI_MAX_FILTER_TEST_DATA_LEN 8
5305#define WDI_MAX_NUM_MULTICAST_ADDRESS 240
5306#define WDI_MAX_NUM_FILTERS 20
5307#define WDI_MAX_NUM_TESTS_PER_FILTER 10
5308
5309//
5310// Receive Filter Parameters
5311//
5312typedef enum
5313{
5314 WDI_RCV_FILTER_TYPE_INVALID,
5315 WDI_RCV_FILTER_TYPE_FILTER_PKT,
5316 WDI_RCV_FILTER_TYPE_BUFFER_PKT,
5317 WDI_RCV_FILTER_TYPE_MAX_ENUM_SIZE
5318}WDI_ReceivePacketFilterType;
5319
5320typedef enum
5321{
5322 WDI_FILTER_HDR_TYPE_INVALID,
5323 WDI_FILTER_HDR_TYPE_MAC,
5324 WDI_FILTER_HDR_TYPE_ARP,
5325 WDI_FILTER_HDR_TYPE_IPV4,
5326 WDI_FILTER_HDR_TYPE_IPV6,
5327 WDI_FILTER_HDR_TYPE_UDP,
5328 WDI_FILTER_HDR_TYPE_MAX
5329}WDI_RcvPktFltProtocolType;
5330
5331typedef enum
5332{
5333 WDI_FILTER_CMP_TYPE_INVALID,
5334 WDI_FILTER_CMP_TYPE_EQUAL,
5335 WDI_FILTER_CMP_TYPE_MASK_EQUAL,
5336 WDI_FILTER_CMP_TYPE_NOT_EQUAL,
5337 WDI_FILTER_CMP_TYPE_MASK_NOT_EQUAL,
5338 WDI_FILTER_CMP_TYPE_MAX
5339}WDI_RcvPktFltCmpFlagType;
5340
5341typedef struct
5342{
5343 WDI_RcvPktFltProtocolType protocolLayer;
5344 WDI_RcvPktFltCmpFlagType cmpFlag;
5345/* Length of the data to compare */
5346 wpt_uint16 dataLength;
5347/* from start of the respective frame header */
5348 wpt_uint8 dataOffset;
5349 wpt_uint8 reserved; /* Reserved field */
5350/* Data to compare */
5351 wpt_uint8 compareData[WDI_MAX_FILTER_TEST_DATA_LEN];
5352/* Mask to be applied on the received packet data before compare */
5353 wpt_uint8 dataMask[WDI_MAX_FILTER_TEST_DATA_LEN];
5354}WDI_RcvPktFilterFieldParams;
5355
5356typedef struct
5357{
5358 wpt_uint8 filterId;
5359 wpt_uint8 filterType;
5360 wpt_uint32 numFieldParams;
5361 wpt_uint32 coalesceTime;
Jeff Johnsone7245742012-09-05 17:12:55 -07005362 wpt_macAddr selfMacAddr;
5363 wpt_macAddr bssId;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005364 WDI_RcvPktFilterFieldParams paramsData[1];
5365
Jeff Johnson295189b2012-06-20 16:38:30 -07005366}WDI_RcvPktFilterCfgType;
5367
5368typedef struct
5369{
5370 /*Request status callback offered by UMAC - it is called if the current
5371 req has returned PENDING as status; it delivers the status of sending
5372 the message over the BUS */
5373 WDI_ReqStatusCb wdiReqStatusCB;
5374
5375 /*The user data passed in by UMAC, it will be sent back when the above
5376 function pointer will be called */
5377 void* pUserData;
5378
5379 // Variable length packet filter field params
5380 WDI_RcvPktFilterCfgType wdiPktFilterCfg;
5381} WDI_SetRcvPktFilterReqParamsType;
5382
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005383typedef struct
5384{
5385 /*Result of the operation*/
5386 WDI_Status wdiStatus;
5387 /* BSSIDX of the Set Receive Filter
5388 */
5389 wpt_uint8 bssIdx;
5390} WDI_SetRcvPktFilterRspParamsType;
5391
Jeff Johnson295189b2012-06-20 16:38:30 -07005392//
5393// Filter Packet Match Count Parameters
5394//
5395typedef struct
5396{
5397 /*Request status callback offered by UMAC - it is called if the current
5398 req has returned PENDING as status; it delivers the status of sending
5399 the message over the BUS */
5400 WDI_ReqStatusCb wdiReqStatusCB;
5401
5402 /*The user data passed in by UMAC, it will be sent back when the above
5403 function pointer will be called */
5404 void* pUserData;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005405
5406 /* BSSID of the Match count
5407 */
5408 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005409} WDI_RcvFltPktMatchCntReqParamsType;
5410
5411typedef struct
5412{
5413 wpt_uint8 filterId;
5414 wpt_uint32 matchCnt;
5415} WDI_RcvFltPktMatchCnt;
5416
5417typedef struct
5418{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005419 /*Result of the operation*/
5420 WDI_Status wdiStatus;
Jeff Johnson295189b2012-06-20 16:38:30 -07005421
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005422 /* BSSIDX of the Match count response
5423 */
5424 wpt_uint8 bssIdx;
5425
Jeff Johnson295189b2012-06-20 16:38:30 -07005426} WDI_RcvFltPktMatchCntRspParamsType;
5427
Jeff Johnson295189b2012-06-20 16:38:30 -07005428//
5429// Receive Filter Clear Parameters
5430//
5431typedef struct
5432{
5433 wpt_uint32 status; /* only valid for response message */
5434 wpt_uint8 filterId;
Jeff Johnsone7245742012-09-05 17:12:55 -07005435 wpt_macAddr selfMacAddr;
5436 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005437}WDI_RcvFltPktClearParam;
5438
5439typedef struct
5440{
5441 WDI_RcvFltPktClearParam filterClearParam;
5442 /*Request status callback offered by UMAC - it is called if the current
5443 req has returned PENDING as status; it delivers the status of sending
5444 the message over the BUS */
5445 WDI_ReqStatusCb wdiReqStatusCB;
5446
5447 /*The user data passed in by UMAC, it will be sent back when the above
5448 function pointer will be called */
5449 void* pUserData;
5450} WDI_RcvFltPktClearReqParamsType;
5451
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005452typedef struct
5453{
5454 /*Result of the operation*/
5455 WDI_Status wdiStatus;
5456 /* BSSIDX of the Match count response
5457 */
5458 wpt_uint8 bssIdx;
5459
5460} WDI_RcvFltPktClearRspParamsType;
5461
Jeff Johnson295189b2012-06-20 16:38:30 -07005462//
5463// Multicast Address List Parameters
5464//
5465typedef struct
5466{
5467 wpt_uint32 ulMulticastAddrCnt;
5468 wpt_macAddr multicastAddr[WDI_MAX_NUM_MULTICAST_ADDRESS];
Jeff Johnsone7245742012-09-05 17:12:55 -07005469 wpt_macAddr selfMacAddr;
5470 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005471} WDI_RcvFltMcAddrListType;
5472
5473typedef struct
5474{
5475 WDI_RcvFltMcAddrListType mcAddrList;
5476 /*Request status callback offered by UMAC - it is called if the current
5477 req has returned PENDING as status; it delivers the status of sending
5478 the message over the BUS */
5479 WDI_ReqStatusCb wdiReqStatusCB;
5480
5481 /*The user data passed in by UMAC, it will be sent back when the above
5482 function pointer will be called */
5483 void* pUserData;
5484} WDI_RcvFltPktSetMcListReqParamsType;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005485
5486typedef struct
5487{
5488 /*Result of the operation*/
5489 WDI_Status wdiStatus;
5490 /* BSSIDX of the Match count response
5491 */
5492 wpt_uint8 bssIdx;
5493} WDI_RcvFltPktSetMcListRspParamsType;
5494
Jeff Johnson295189b2012-06-20 16:38:30 -07005495#endif // WLAN_FEATURE_PACKET_FILTERING
5496
5497/*---------------------------------------------------------------------------
5498 WDI_HALDumpCmdReqInfoType
5499---------------------------------------------------------------------------*/
5500typedef struct
5501{
5502 /*command*/
5503 wpt_uint32 command;
5504
5505 /*Arguments*/
5506 wpt_uint32 argument1;
5507 wpt_uint32 argument2;
5508 wpt_uint32 argument3;
5509 wpt_uint32 argument4;
5510
5511}WDI_HALDumpCmdReqInfoType;
5512
5513/*---------------------------------------------------------------------------
5514 WDI_HALDumpCmdReqParamsType
5515---------------------------------------------------------------------------*/
5516typedef struct
5517{
5518 /*NV Blob Info*/
5519 WDI_HALDumpCmdReqInfoType wdiHALDumpCmdInfoType;
5520
5521 /*Request status callback offered by UMAC - it is called if the current
5522 req has returned PENDING as status; it delivers the status of sending
5523 the message over the BUS */
5524 WDI_ReqStatusCb wdiReqStatusCB;
5525
5526 /*The user data passed in by UMAC, it will be sent back when the above
5527 function pointer will be called */
5528 void* pUserData;
5529
5530}WDI_HALDumpCmdReqParamsType;
5531
5532
5533/*---------------------------------------------------------------------------
5534 WDI_HALDumpCmdRspParamsType
5535---------------------------------------------------------------------------*/
5536typedef struct
5537{
5538 /*Result of the operation*/
5539 WDI_Status wdiStatus;
5540
5541 /* length of the buffer */
5542 wpt_uint16 usBufferLen;
5543
5544 /* Buffer */
5545 wpt_uint8 *pBuffer;
5546}WDI_HALDumpCmdRspParamsType;
5547
5548
5549/*---------------------------------------------------------------------------
5550 WDI_SetTmLevelReqType
5551---------------------------------------------------------------------------*/
5552typedef struct
5553{
5554 wpt_uint16 tmMode;
5555 wpt_uint16 tmLevel;
5556 void* pUserData;
5557}WDI_SetTmLevelReqType;
5558
5559/*---------------------------------------------------------------------------
5560 WDI_SetTmLevelRspType
5561---------------------------------------------------------------------------*/
5562typedef struct
5563{
5564 WDI_Status wdiStatus;
5565 void* pUserData;
5566}WDI_SetTmLevelRspType;
5567
Leo Chang9056f462013-08-01 19:21:11 -07005568#ifdef FEATURE_WLAN_LPHB
5569/*---------------------------------------------------------------------------
5570 WDI_LPHBConfigParamsType
5571---------------------------------------------------------------------------*/
5572typedef struct
5573{
5574 void* pLphsConfIndData;
5575}WDI_LPHBConfigParamsType;
5576#endif /* FEATURE_WLAN_LPHB */
5577
Yue Mab9c86f42013-08-14 15:59:08 -07005578/*---------------------------------------------------------------------------
5579 WDI_AddPeriodicTxPtrnInfoType
5580---------------------------------------------------------------------------*/
5581typedef struct
5582{
5583 /* MAC Address for the adapter */
5584 wpt_macAddr macAddr;
5585
5586 wpt_uint8 ucPtrnId; // Pattern ID
5587 wpt_uint16 ucPtrnSize; // Pattern size
5588 wpt_uint32 usPtrnIntervalMs; // In msec
5589 wpt_uint8 ucPattern[PERIODIC_TX_PTRN_MAX_SIZE]; // Pattern buffer
5590} WDI_AddPeriodicTxPtrnInfoType;
5591
5592/*---------------------------------------------------------------------------
5593 WDI_DelPeriodicTxPtrnInfoType
5594---------------------------------------------------------------------------*/
5595typedef struct
5596{
5597 /* MAC Address for the adapter */
5598 wpt_macAddr macAddr;
5599
5600 /* Bitmap of pattern IDs that needs to be deleted */
5601 wpt_uint32 ucPatternIdBitmap;
5602} WDI_DelPeriodicTxPtrnInfoType;
5603
5604/*---------------------------------------------------------------------------
5605 WDI_AddPeriodicTxPtrnParamsType
5606---------------------------------------------------------------------------*/
5607typedef struct
5608{
5609 WDI_AddPeriodicTxPtrnInfoType wdiAddPeriodicTxPtrnParams;
5610
5611 /*Request status callback offered by UMAC - it is called if the current
5612 req has returned PENDING as status; it delivers the status of sending
5613 the message over the BUS */
5614 WDI_ReqStatusCb wdiReqStatusCB;
5615
5616 /*The user data passed in by UMAC, it will be sent back when the above
5617 function pointer will be called */
5618 void* pUserData;
5619} WDI_AddPeriodicTxPtrnParamsType;
5620
5621/*---------------------------------------------------------------------------
5622 WDI_DelPeriodicTxPtrnParamsType
5623---------------------------------------------------------------------------*/
5624typedef struct
5625{
5626 WDI_DelPeriodicTxPtrnInfoType wdiDelPeriodicTxPtrnParams;
5627
5628 /*Request status callback offered by UMAC - it is called if the current
5629 req has returned PENDING as status; it delivers the status of sending
5630 the message over the BUS */
5631 WDI_ReqStatusCb wdiReqStatusCB;
5632
5633 /*The user data passed in by UMAC, it will be sent back when the above
5634 function pointer will be called */
5635 void* pUserData;
5636} WDI_DelPeriodicTxPtrnParamsType;
5637
Dino Mycle41bdc942014-06-10 11:30:24 +05305638#ifdef WLAN_FEATURE_EXTSCAN
5639
5640#define WDI_WLAN_EXTSCAN_MAX_CHANNELS 16
5641#define WDI_WLAN_EXTSCAN_MAX_BUCKETS 16
5642#define WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS 128
5643#define WDI_WLAN_EXTSCAN_MAX_SIGNIFICANT_CHANGE_APS 64
5644
5645typedef enum
5646{
5647 WDI_WIFI_BAND_UNSPECIFIED,
5648 WDI_WIFI_BAND_BG = 1, // 2.4 GHz
5649 WDI_WIFI_BAND_A = 2, // 5 GHz without DFS
5650 WDI_WIFI_BAND_ABG = 3, // 2.4 GHz + 5 GHz; no DFS
5651 WDI_WIFI_BAND_A_DFS = 4, // 5 GHz DFS only
5652 WDI_WIFI_BAND_A_WITH_DFS = 6, // 5 GHz with DFS
5653 WDI_WIFI_BAND_ABG_WITH_DFS = 7, // 2.4 GHz + 5 GHz with DFS
5654
5655 /* Keep it last */
5656 WDI_WIFI_BAND_MAX
5657} WDI_WifiBand;
5658
5659typedef struct
5660{
5661 wpt_uint32 channel; // frequency
5662 wpt_uint32 dwellTimeMs; // dwell time hint
5663 wpt_uint8 passive; // 0 => active,
5664 // 1 => passive scan; ignored for DFS
5665 wpt_uint8 chnlClass;
5666} WDI_WifiScanChannelSpec;
5667
5668typedef struct
5669{
5670 wpt_uint8 bucket; // bucket index, 0 based
5671 WDI_WifiBand band; // when UNSPECIFIED, use channel list
5672
5673 /*
5674 * desired period, in millisecond; if this is too
5675 * low, the firmware should choose to generate results as fast as
5676 * it can instead of failing the command byte
5677 */
5678 wpt_uint32 period;
5679
5680 /*
5681 * 0 => normal reporting (reporting rssi history
5682 * only, when rssi history buffer is % full)
5683 * 1 => same as 0 + report a scan completion event after scanning
5684 * this bucket
5685 * 2 => same as 1 + forward scan results (beacons/probe responses + IEs)
5686 * in real time to HAL
5687 */
5688 wpt_uint8 reportEvents;
5689
5690 wpt_uint8 numChannels;
5691
5692 /*
5693 * channels to scan; these may include DFS channels
5694 */
5695 WDI_WifiScanChannelSpec channels[WDI_WLAN_EXTSCAN_MAX_CHANNELS];
5696} WDI_WifiScanBucketSpec;
5697
5698typedef struct
5699{
5700 wpt_uint32 requestId;
5701 wpt_uint8 sessionId;
5702 wpt_uint32 basePeriod; // base timer period
5703 wpt_uint32 maxAPperScan;
5704
5705 /* in %, when buffer is this much full, wake up host */
5706 wpt_uint32 reportThreshold;
5707
5708 wpt_uint8 numBuckets;
5709 WDI_WifiScanBucketSpec buckets[WDI_WLAN_EXTSCAN_MAX_BUCKETS];
5710} WDI_EXTScanStartReqParams;
5711
5712typedef struct
5713{
5714 wpt_uint32 requestId;
5715 wpt_uint8 sessionId;
5716} WDI_EXTScanStopReqParams;
5717
5718typedef struct
5719{
5720 wpt_uint32 requestId;
5721 wpt_uint8 sessionId;
5722
5723 /*
5724 * 1 return cached results and flush it
5725 * 0 return cached results and do not flush
5726 */
5727 wpt_boolean flush;
5728} WDI_EXTScanGetCachedResultsReqParams;
5729
5730typedef struct
5731{
5732 wpt_uint32 requestId;
5733 wpt_uint8 sessionId;
5734} WDI_EXTScanGetCapabilitiesReqParams;
5735
5736typedef struct
5737{
5738 wpt_uint8 bssid[6]; /* BSSID */
5739 wpt_int32 low; // low threshold
5740 wpt_int32 high; // high threshold
5741 wpt_uint32 channel; // channel hint
5742} WDI_APThresholdParam;
5743
5744typedef struct
5745{
5746 wpt_int32 requestId;
5747 wpt_int8 sessionId; // session Id mapped to vdev_id
5748
5749 wpt_int32 numAp; // number of hotlist APs
5750 WDI_APThresholdParam ap[WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS]; // hotlist APs
5751} WDI_EXTScanSetBSSIDHotlistReqParams;
5752
5753typedef struct
5754{
5755 wpt_uint32 requestId;
5756 wpt_uint8 sessionId;
5757} WDI_EXTScanResetBSSIDHotlistReqParams;
5758
5759
5760typedef struct
5761{
5762 wpt_int32 requestId;
5763 wpt_int8 sessionId; // session Id mapped to vdev_id
5764
5765 /* number of samples for averaging RSSI */
5766 wpt_int32 rssiSampleSize;
5767
5768 /* number of missed samples to confirm AP loss */
5769 wpt_int32 lostApSampleSize;
5770
5771 /* number of APs breaching threshold required for firmware
5772 * to generate event
5773 */
5774 wpt_int32 minBreaching;
5775
5776 wpt_int32 numAp; // number of hotlist APs
5777 WDI_APThresholdParam ap[WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS]; // hotlist APs
5778} WDI_EXTScanSetSignfRSSIChangeReqParams;
5779
5780typedef struct
5781{
5782 wpt_uint32 requestId;
5783 wpt_uint8 sessionId;
5784} WDI_EXTScanResetSignfRSSIChangeReqParams;
5785#endif /* WLAN_FEATURE_EXTSCAN */
5786
Sunil Duttbd736ed2014-05-26 21:19:41 +05305787#ifdef WLAN_FEATURE_LINK_LAYER_STATS
5788typedef struct
5789{
5790 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05305791 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05305792 wpt_uint32 mpduSizeThreshold;
5793 wpt_uint32 aggressiveStatisticsGathering;
5794}WDI_LLStatsSetReqType;
5795
5796typedef struct
5797{
5798 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05305799 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05305800 wpt_uint32 paramIdMask;
5801}WDI_LLStatsGetReqType;
5802
5803typedef struct
5804{
5805 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05305806 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05305807 wpt_uint32 statsClearReqMask;
5808 wpt_uint8 stopReq;
5809}WDI_LLStatsClearReqType;
Dino Mycled3d50022014-07-07 12:58:25 +05305810
Sunil Duttbd736ed2014-05-26 21:19:41 +05305811#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
5812
5813
Jeff Johnson295189b2012-06-20 16:38:30 -07005814/*----------------------------------------------------------------------------
5815 * WDI callback types
5816 *--------------------------------------------------------------------------*/
5817
5818/*---------------------------------------------------------------------------
5819 WDI_StartRspCb
5820
5821 DESCRIPTION
5822
5823 This callback is invoked by DAL when it has received a Start response from
5824 the underlying device.
5825
5826 PARAMETERS
5827
5828 IN
5829 wdiRspParams: response parameters received from HAL
5830 pUserData: user data
5831
5832
5833 RETURN VALUE
5834 The result code associated with performing the operation
5835---------------------------------------------------------------------------*/
5836typedef void (*WDI_StartRspCb)(WDI_StartRspParamsType* pwdiRspParams,
5837 void* pUserData);
5838
5839/*---------------------------------------------------------------------------
5840 WDI_StartRspCb
5841
5842 DESCRIPTION
5843
5844 This callback is invoked by DAL when it has received a Stop response from
5845 the underlying device.
5846
5847 PARAMETERS
5848
5849 IN
5850 wdiStatus: response status received from HAL
5851 pUserData: user data
5852
5853
5854
5855 RETURN VALUE
5856 The result code associated with performing the operation
5857---------------------------------------------------------------------------*/
5858typedef void (*WDI_StopRspCb)(WDI_Status wdiStatus,
5859 void* pUserData);
5860
5861/*---------------------------------------------------------------------------
5862 WDI_StartRspCb
5863
5864 DESCRIPTION
5865
5866 This callback is invoked by DAL when it has received an Init Scan response
5867 from the underlying device.
5868
5869 PARAMETERS
5870
5871 IN
5872 wdiStatus: response status received from HAL
5873 pUserData: user data
5874
5875
5876
5877 RETURN VALUE
5878 The result code associated with performing the operation
5879---------------------------------------------------------------------------*/
5880typedef void (*WDI_InitScanRspCb)(WDI_Status wdiStatus,
5881 void* pUserData);
5882
5883
5884/*---------------------------------------------------------------------------
5885 WDI_StartRspCb
5886
5887 DESCRIPTION
5888
5889 This callback is invoked by DAL when it has received a StartScan response
5890 from the underlying device.
5891
5892 PARAMETERS
5893
5894 IN
5895 wdiParams: response params received from HAL
5896 pUserData: user data
5897
5898
5899
5900 RETURN VALUE
5901 The result code associated with performing the operation
5902---------------------------------------------------------------------------*/
5903typedef void (*WDI_StartScanRspCb)(WDI_StartScanRspParamsType* wdiParams,
5904 void* pUserData);
5905
5906
5907/*---------------------------------------------------------------------------
5908 WDI_StartRspCb
5909
5910 DESCRIPTION
5911
5912 This callback is invoked by DAL when it has received a End Scan response
5913 from the underlying device.
5914
5915 PARAMETERS
5916
5917 IN
5918 wdiStatus: response status received from HAL
5919 pUserData: user data
5920
5921
5922
5923 RETURN VALUE
5924 The result code associated with performing the operation
5925---------------------------------------------------------------------------*/
5926typedef void (*WDI_EndScanRspCb)(WDI_Status wdiStatus,
5927 void* pUserData);
5928
5929
5930/*---------------------------------------------------------------------------
5931 WDI_StartRspCb
5932
5933 DESCRIPTION
5934
5935 This callback is invoked by DAL when it has received a Finish Scan response
5936 from the underlying device.
5937
5938 PARAMETERS
5939
5940 IN
5941 wdiStatus: response status received from HAL
5942 pUserData: user data
5943
5944
5945
5946 RETURN VALUE
5947 The result code associated with performing the operation
5948---------------------------------------------------------------------------*/
5949typedef void (*WDI_FinishScanRspCb)(WDI_Status wdiStatus,
5950 void* pUserData);
5951
5952
5953/*---------------------------------------------------------------------------
5954 WDI_StartRspCb
5955
5956 DESCRIPTION
5957
5958 This callback is invoked by DAL when it has received a Join response from
5959 the underlying device.
5960
5961 PARAMETERS
5962
5963 IN
5964 wdiStatus: response status received from HAL
5965 pUserData: user data
5966
5967
5968
5969 RETURN VALUE
5970 The result code associated with performing the operation
5971---------------------------------------------------------------------------*/
5972typedef void (*WDI_JoinRspCb)(WDI_Status wdiStatus,
5973 void* pUserData);
5974
5975
5976/*---------------------------------------------------------------------------
5977 WDI_StartRspCb
5978
5979 DESCRIPTION
5980
5981 This callback is invoked by DAL when it has received a Config BSS response
5982 from the underlying device.
5983
5984 PARAMETERS
5985
5986 IN
5987 wdiConfigBSSRsp: response parameters received from HAL
5988 pUserData: user data
5989
5990
5991 RETURN VALUE
5992 The result code associated with performing the operation
5993---------------------------------------------------------------------------*/
5994typedef void (*WDI_ConfigBSSRspCb)(
5995 WDI_ConfigBSSRspParamsType* pwdiConfigBSSRsp,
5996 void* pUserData);
5997
5998
5999/*---------------------------------------------------------------------------
6000 WDI_StartRspCb
6001
6002 DESCRIPTION
6003
6004 This callback is invoked by DAL when it has received a Del BSS response from
6005 the underlying device.
6006
6007 PARAMETERS
6008
6009 IN
6010 wdiDelBSSRsp: response parameters received from HAL
6011 pUserData: user data
6012
6013
6014 RETURN VALUE
6015 The result code associated with performing the operation
6016---------------------------------------------------------------------------*/
6017typedef void (*WDI_DelBSSRspCb)(WDI_DelBSSRspParamsType* pwdiDelBSSRsp,
6018 void* pUserData);
6019
6020
6021/*---------------------------------------------------------------------------
6022 WDI_StartRspCb
6023
6024 DESCRIPTION
6025
6026 This callback is invoked by DAL when it has received a Post Assoc response
6027 from the underlying device.
6028
6029 PARAMETERS
6030
6031 IN
6032 wdiRspParams: response parameters received from HAL
6033 pUserData: user data
6034
6035
6036 RETURN VALUE
6037 The result code associated with performing the operation
6038---------------------------------------------------------------------------*/
6039typedef void (*WDI_PostAssocRspCb)(
6040 WDI_PostAssocRspParamsType* pwdiPostAssocRsp,
6041 void* pUserData);
6042
6043
6044/*---------------------------------------------------------------------------
6045 WDI_StartRspCb
6046
6047 DESCRIPTION
6048
6049 This callback is invoked by DAL when it has received a Del STA response from
6050 the underlying device.
6051
6052 PARAMETERS
6053
6054 IN
6055 wdiDelSTARsp: response parameters received from HAL
6056 pUserData: user data
6057
6058
6059 RETURN VALUE
6060 The result code associated with performing the operation
6061---------------------------------------------------------------------------*/
6062typedef void (*WDI_DelSTARspCb)(WDI_DelSTARspParamsType* pwdiDelSTARsp,
6063 void* pUserData);
6064
6065
6066
6067/*---------------------------------------------------------------------------
6068 WDI_StartRspCb
6069
6070 DESCRIPTION
6071
6072 This callback is invoked by DAL when it has received a Set BSS Key response
6073 from the underlying device.
6074
6075 PARAMETERS
6076
6077 IN
6078 wdiStatus: response status received from HAL
6079 pUserData: user data
6080
6081
6082
6083 RETURN VALUE
6084 The result code associated with performing the operation
6085---------------------------------------------------------------------------*/
6086typedef void (*WDI_SetBSSKeyRspCb)(WDI_Status wdiStatus,
6087 void* pUserData);
6088
6089/*---------------------------------------------------------------------------
6090 WDI_StartRspCb
6091
6092 DESCRIPTION
6093
6094 This callback is invoked by DAL when it has received a Remove BSS Key
6095 response from the underlying device.
6096
6097 PARAMETERS
6098
6099 IN
6100 wdiStatus: response status received from HAL
6101 pUserData: user data
6102
6103
6104
6105 RETURN VALUE
6106 The result code associated with performing the operation
6107---------------------------------------------------------------------------*/
6108typedef void (*WDI_RemoveBSSKeyRspCb)(WDI_Status wdiStatus,
6109 void* pUserData);
6110
6111/*---------------------------------------------------------------------------
6112 WDI_StartRspCb
6113
6114 DESCRIPTION
6115
6116 This callback is invoked by DAL when it has received a Set STA Key response
6117 from the underlying device.
6118
6119 PARAMETERS
6120
6121 IN
6122 wdiStatus: response status received from HAL
6123 pUserData: user data
6124
6125
6126
6127 RETURN VALUE
6128 The result code associated with performing the operation
6129---------------------------------------------------------------------------*/
6130typedef void (*WDI_SetSTAKeyRspCb)(WDI_Status wdiStatus,
6131 void* pUserData);
6132
6133
6134/*---------------------------------------------------------------------------
6135 WDI_StartRspCb
6136
6137 DESCRIPTION
6138
6139 This callback is invoked by DAL when it has received a Remove STA Key
6140 response from the underlying device.
6141
6142 PARAMETERS
6143
6144 IN
6145 wdiStatus: response status received from HAL
6146 pUserData: user data
6147
6148
6149
6150 RETURN VALUE
6151 The result code associated with performing the operation
6152---------------------------------------------------------------------------*/
6153typedef void (*WDI_RemoveSTAKeyRspCb)(WDI_Status wdiStatus,
6154 void* pUserData);
6155
6156
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08006157#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07006158/*---------------------------------------------------------------------------
6159 WDI_TsmRspCb
6160
6161 DESCRIPTION
6162
6163 This callback is invoked by DAL when it has received a TSM Stats response from the underlying device.
6164
6165 PARAMETERS
6166
6167 IN
6168 pTSMStats: response status received from HAL
6169 pUserData: user data
6170
6171
6172
6173 RETURN VALUE
6174 The result code associated with performing the operation
6175---------------------------------------------------------------------------*/
6176typedef void (*WDI_TsmRspCb)(WDI_TSMStatsRspParamsType *pTSMStats,
6177 void* pUserData);
6178#endif
6179
6180/*---------------------------------------------------------------------------
6181 WDI_StartRspCb
6182
6183 DESCRIPTION
6184
6185 This callback is invoked by DAL when it has received a Add TS response from
6186 the underlying device.
6187
6188 PARAMETERS
6189
6190 IN
6191 wdiStatus: response status received from HAL
6192 pUserData: user data
6193
6194
6195
6196 RETURN VALUE
6197 The result code associated with performing the operation
6198---------------------------------------------------------------------------*/
6199typedef void (*WDI_AddTsRspCb)(WDI_Status wdiStatus,
6200 void* pUserData);
6201
6202/*---------------------------------------------------------------------------
6203 WDI_StartRspCb
6204
6205 DESCRIPTION
6206
6207 This callback is invoked by DAL when it has received a Del TS response from
6208 the underlying device.
6209
6210 PARAMETERS
6211
6212 IN
6213 wdiStatus: response status received from HAL
6214 pUserData: user data
6215
6216
6217
6218 RETURN VALUE
6219 The result code associated with performing the operation
6220---------------------------------------------------------------------------*/
6221typedef void (*WDI_DelTsRspCb)(WDI_Status wdiStatus,
6222 void* pUserData);
6223
6224/*---------------------------------------------------------------------------
6225 WDI_StartRspCb
6226
6227 DESCRIPTION
6228
6229 This callback is invoked by DAL when it has received an Update EDCA Params
6230 response from the underlying device.
6231
6232 PARAMETERS
6233
6234 IN
6235 wdiStatus: response status received from HAL
6236 pUserData: user data
6237
6238
6239
6240 RETURN VALUE
6241 The result code associated with performing the operation
6242---------------------------------------------------------------------------*/
6243typedef void (*WDI_UpdateEDCAParamsRspCb)(WDI_Status wdiStatus,
6244 void* pUserData);
6245
6246/*---------------------------------------------------------------------------
6247 WDI_StartRspCb
6248
6249 DESCRIPTION
6250
6251 This callback is invoked by DAL when it has received a Add BA response from
6252 the underlying device.
6253
6254 PARAMETERS
6255
6256 IN
6257 wdiStatus: response status received from HAL
6258 pUserData: user data
6259
6260
6261
6262 RETURN VALUE
6263 The result code associated with performing the operation
6264---------------------------------------------------------------------------*/
6265typedef void (*WDI_AddBASessionRspCb)(
6266 WDI_AddBASessionRspParamsType* wdiAddBASessionRsp,
6267 void* pUserData);
6268
6269
6270/*---------------------------------------------------------------------------
6271 WDI_StartRspCb
6272
6273 DESCRIPTION
6274
6275 This callback is invoked by DAL when it has received a Del BA response from
6276 the underlying device.
6277
6278 PARAMETERS
6279
6280 IN
6281 wdiStatus: response status received from HAL
6282 pUserData: user data
6283
6284
6285
6286 RETURN VALUE
6287 The result code associated with performing the operation
6288---------------------------------------------------------------------------*/
6289typedef void (*WDI_DelBARspCb)(WDI_Status wdiStatus,
6290 void* pUserData);
6291
6292
6293/*---------------------------------------------------------------------------
6294 WDI_StartRspCb
6295
6296 DESCRIPTION
6297
6298 This callback is invoked by DAL when it has received a Switch Ch response
6299 from the underlying device.
6300
6301 PARAMETERS
6302
6303 IN
6304 wdiRspParams: response parameters received from HAL
6305 pUserData: user data
6306
6307
6308 RETURN VALUE
6309 The result code associated with performing the operation
6310---------------------------------------------------------------------------*/
6311typedef void (*WDI_SwitchChRspCb)(WDI_SwitchCHRspParamsType* pwdiSwitchChRsp,
6312 void* pUserData);
6313
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08006314typedef void (*WDI_SwitchChRspCb_V1)(WDI_SwitchChRspParamsType_V1* pwdiSwitchChRsp,
6315 void* pUserData);
6316
Jeff Johnson295189b2012-06-20 16:38:30 -07006317
6318/*---------------------------------------------------------------------------
6319 WDI_StartRspCb
6320
6321 DESCRIPTION
6322
6323 This callback is invoked by DAL when it has received a Config STA response
6324 from the underlying device.
6325
6326 PARAMETERS
6327
6328 IN
6329 wdiRspParams: response parameters received from HAL
6330 pUserData: user data
6331
6332
6333 RETURN VALUE
6334 The result code associated with performing the operation
6335---------------------------------------------------------------------------*/
6336typedef void (*WDI_ConfigSTARspCb)(
6337 WDI_ConfigSTARspParamsType* pwdiConfigSTARsp,
6338 void* pUserData);
6339
6340
6341/*---------------------------------------------------------------------------
6342 WDI_StartRspCb
6343
6344 DESCRIPTION
6345
6346 This callback is invoked by DAL when it has received a Set Link State
6347 response from the underlying device.
6348
6349 PARAMETERS
6350
6351 IN
6352 wdiRspParams: response parameters received from HAL
6353 pUserData: user data
6354
6355
6356 RETURN VALUE
6357 The result code associated with performing the operation
6358---------------------------------------------------------------------------*/
6359typedef void (*WDI_SetLinkStateRspCb)( WDI_Status wdiStatus,
6360 void* pUserData);
6361
6362
6363/*---------------------------------------------------------------------------
6364 WDI_StartRspCb
6365
6366 DESCRIPTION
6367
6368 This callback is invoked by DAL when it has received a Get Stats response
6369 from the underlying device.
6370
6371 PARAMETERS
6372
6373 IN
6374 wdiRspParams: response parameters received from HAL
6375 pUserData: user data
6376
6377
6378 RETURN VALUE
6379 The result code associated with performing the operation
6380---------------------------------------------------------------------------*/
6381typedef void (*WDI_GetStatsRspCb)(WDI_GetStatsRspParamsType* pwdiGetStatsRsp,
6382 void* pUserData);
6383
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08006384#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08006385/*---------------------------------------------------------------------------
6386 WDI_GetRoamRssiRspCb
6387
6388 DESCRIPTION
6389
6390 This callback is invoked by DAL when it has received a Get Roam Rssi response
6391 from the underlying device.
6392
6393 PARAMETERS
6394
6395 IN
6396 wdiRspParams: response parameters received from HAL
6397 pUserData: user data
6398
6399
6400 RETURN VALUE
6401 The result code associated with performing the operation
6402---------------------------------------------------------------------------*/
6403typedef void (*WDI_GetRoamRssiRspCb)(WDI_GetRoamRssiRspParamsType* pwdiGetRoamRssiRsp,
6404 void* pUserData);
6405#endif
6406
Jeff Johnson295189b2012-06-20 16:38:30 -07006407
6408/*---------------------------------------------------------------------------
6409 WDI_StartRspCb
6410
6411 DESCRIPTION
6412
6413 This callback is invoked by DAL when it has received a Update Cfg response
6414 from the underlying device.
6415
6416 PARAMETERS
6417
6418 IN
6419 wdiStatus: response status received from HAL
6420 pUserData: user data
6421
6422
6423 RETURN VALUE
6424 The result code associated with performing the operation
6425---------------------------------------------------------------------------*/
6426typedef void (*WDI_UpdateCfgRspCb)(WDI_Status wdiStatus,
6427 void* pUserData);
6428
6429/*---------------------------------------------------------------------------
6430 WDI_AddBARspCb
6431
6432 DESCRIPTION
6433
6434 This callback is invoked by DAL when it has received a ADD BA response
6435 from the underlying device.
6436
6437 PARAMETERS
6438
6439 IN
6440 wdiStatus: response status received from HAL
6441 pUserData: user data
6442
6443
6444 RETURN VALUE
6445 The result code associated with performing the operation
6446---------------------------------------------------------------------------*/
6447typedef void (*WDI_AddBARspCb)(WDI_AddBARspinfoType* wdiAddBARsp,
6448 void* pUserData);
6449
6450/*---------------------------------------------------------------------------
6451 WDI_TriggerBARspCb
6452
6453 DESCRIPTION
6454
6455 This callback is invoked by DAL when it has received a ADD BA response
6456 from the underlying device.
6457
6458 PARAMETERS
6459
6460 IN
6461 wdiStatus: response status received from HAL
6462 pUserData: user data
6463
6464
6465 RETURN VALUE
6466 The result code associated with performing the operation
6467---------------------------------------------------------------------------*/
6468typedef void (*WDI_TriggerBARspCb)(WDI_TriggerBARspParamsType* wdiTriggerBARsp,
6469 void* pUserData);
6470
6471
6472/*---------------------------------------------------------------------------
6473 WDI_UpdateBeaconParamsRspCb
6474
6475 DESCRIPTION
6476
6477 This callback is invoked by DAL when it has received a Update Beacon Params response from
6478 the underlying device.
6479
6480 PARAMETERS
6481
6482 IN
6483 wdiStatus: response status received from HAL
6484 pUserData: user data
6485
6486
6487
6488 RETURN VALUE
6489 The result code associated with performing the operation
6490---------------------------------------------------------------------------*/
6491typedef void (*WDI_UpdateBeaconParamsRspCb)(WDI_Status wdiStatus,
6492 void* pUserData);
6493
6494/*---------------------------------------------------------------------------
6495 WDI_SendBeaconParamsRspCb
6496
6497 DESCRIPTION
6498
6499 This callback is invoked by DAL when it has received a Send Beacon Params response from
6500 the underlying device.
6501
6502 PARAMETERS
6503
6504 IN
6505 wdiStatus: response status received from HAL
6506 pUserData: user data
6507
6508
6509
6510 RETURN VALUE
6511 The result code associated with performing the operation
6512---------------------------------------------------------------------------*/
6513typedef void (*WDI_SendBeaconParamsRspCb)(WDI_Status wdiStatus,
6514 void* pUserData);
6515
6516/*---------------------------------------------------------------------------
6517 WDA_SetMaxTxPowerRspCb
6518
6519 DESCRIPTION
6520
6521 This callback is invoked by DAL when it has received a set max Tx Power response from
6522 the underlying device.
6523
6524 PARAMETERS
6525
6526 IN
6527 wdiStatus: response status received from HAL
6528 pUserData: user data
6529
6530
6531
6532 RETURN VALUE
6533 The result code associated with performing the operation
6534---------------------------------------------------------------------------*/
6535typedef void (*WDA_SetMaxTxPowerRspCb)(WDI_SetMaxTxPowerRspMsg *wdiSetMaxTxPowerRsp,
6536 void* pUserData);
6537
6538/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07006539 WDA_SetMaxTxPowerPerBandRspCb
6540
6541 DESCRIPTION
6542
6543 This callback is invoked by DAL when it has received a
6544 set max Tx Power Per Band response from the underlying device.
6545
6546 PARAMETERS
6547
6548 IN
6549 wdiSetMaxTxPowerPerBandRsp: response status received from HAL
6550 pUserData: user data
6551
6552 RETURN VALUE
6553 The result code associated with performing the operation
6554---------------------------------------------------------------------------*/
6555typedef void (*WDA_SetMaxTxPowerPerBandRspCb)(WDI_SetMaxTxPowerPerBandRspMsg
6556 *wdiSetMaxTxPowerPerBandRsp,
6557 void* pUserData);
6558
6559/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07006560 WDA_SetTxPowerRspCb
6561
6562 DESCRIPTION
6563
6564 This callback is invoked by DAL when it has received a set max Tx Power response from
6565 the underlying device.
6566
6567 PARAMETERS
6568
6569 IN
6570 wdiStatus: response status received from HAL
6571 pUserData: user data
6572
6573 RETURN VALUE
6574 The result code associated with performing the operation
6575---------------------------------------------------------------------------*/
6576typedef void (*WDA_SetTxPowerRspCb)(WDI_SetTxPowerRspMsg *wdiSetTxPowerRsp,
6577 void* pUserData);
6578
6579/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07006580 WDI_UpdateProbeRspTemplateRspCb
6581
6582 DESCRIPTION
6583
6584 This callback is invoked by DAL when it has received a Probe RSP Template
6585 Update response from the underlying device.
6586
6587 PARAMETERS
6588
6589 IN
6590 wdiStatus: response status received from HAL
6591 pUserData: user data
6592
6593
6594
6595 RETURN VALUE
6596 The result code associated with performing the operation
6597---------------------------------------------------------------------------*/
6598typedef void (*WDI_UpdateProbeRspTemplateRspCb)(WDI_Status wdiStatus,
6599 void* pUserData);
6600
Jeff Johnson295189b2012-06-20 16:38:30 -07006601/*---------------------------------------------------------------------------
6602 WDI_SetP2PGONOAReqParamsRspCb
6603
6604 DESCRIPTION
6605
6606 This callback is invoked by DAL when it has received a P2P GO NOA Params response from
6607 the underlying device.
6608
6609 PARAMETERS
6610
6611 IN
6612 wdiStatus: response status received from HAL
6613 pUserData: user data
6614
6615
6616
6617 RETURN VALUE
6618 The result code associated with performing the operation
6619---------------------------------------------------------------------------*/
6620typedef void (*WDI_SetP2PGONOAReqParamsRspCb)(WDI_Status wdiStatus,
6621 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006622
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05306623/*---------------------------------------------------------------------------
6624 WDI_SetTDLSLinkEstablishReqParamsRspCb
6625
6626 DESCRIPTION
6627
6628 This callback is invoked by DAL when it has received a TDLS Link Establish Req response from
6629 the underlying device.
6630
6631 PARAMETERS
6632
6633 IN
6634 wdiStatus: response status received from HAL
6635 pUserData: user data
6636
6637
6638
6639 RETURN VALUE
6640 The result code associated with performing the operation
6641---------------------------------------------------------------------------*/
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05306642typedef void (*WDI_SetTDLSLinkEstablishReqParamsRspCb)(WDI_SetTdlsLinkEstablishReqResp *
6643 wdiSetTdlsLinkEstablishReqRsp,
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05306644 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006645
6646/*---------------------------------------------------------------------------
6647 WDI_SetPwrSaveCfgCb
6648
6649 DESCRIPTION
6650
6651 This callback is invoked by DAL when it has received a set Power Save CFG
6652 response from the underlying device.
6653
6654 PARAMETERS
6655
6656 IN
6657 wdiStatus: response status received from HAL
6658 pUserData: user data
6659
6660
6661
6662 RETURN VALUE
6663 The result code associated with performing the operation
6664---------------------------------------------------------------------------*/
6665typedef void (*WDI_SetPwrSaveCfgCb)(WDI_Status wdiStatus,
6666 void* pUserData);
6667
6668/*---------------------------------------------------------------------------
6669 WDI_SetUapsdAcParamsCb
6670
6671 DESCRIPTION
6672
6673 This callback is invoked by DAL when it has received a set UAPSD params
6674 response from the underlying device.
6675
6676 PARAMETERS
6677
6678 IN
6679 wdiStatus: response status received from HAL
6680 pUserData: user data
6681
6682
6683
6684 RETURN VALUE
6685 The result code associated with performing the operation
6686---------------------------------------------------------------------------*/
6687typedef void (*WDI_SetUapsdAcParamsCb)(WDI_Status wdiStatus,
6688 void* pUserData);
6689
6690/*---------------------------------------------------------------------------
6691 WDI_EnterImpsRspCb
6692
6693 DESCRIPTION
6694
6695 This callback is invoked by DAL when it has received a Enter IMPS response
6696 from the underlying device.
6697
6698 PARAMETERS
6699
6700 IN
6701 wdiStatus: response status received from HAL
6702 pUserData: user data
6703
6704
6705
6706 RETURN VALUE
6707 The result code associated with performing the operation
6708---------------------------------------------------------------------------*/
6709typedef void (*WDI_EnterImpsRspCb)(WDI_Status wdiStatus,
6710 void* pUserData);
6711
6712/*---------------------------------------------------------------------------
6713 WDI_ExitImpsRspCb
6714
6715 DESCRIPTION
6716
6717 This callback is invoked by DAL when it has received a Exit IMPS response
6718 from the underlying device.
6719
6720 PARAMETERS
6721
6722 IN
6723 wdiStatus: response status received from HAL
6724 pUserData: user data
6725
6726
6727
6728 RETURN VALUE
6729 The result code associated with performing the operation
6730---------------------------------------------------------------------------*/
6731typedef void (*WDI_ExitImpsRspCb)(WDI_Status wdiStatus,
6732 void* pUserData);
6733
6734/*---------------------------------------------------------------------------
6735 WDI_EnterBmpsRspCb
6736
6737 DESCRIPTION
6738
6739 This callback is invoked by DAL when it has received a enter BMPS response
6740 from the underlying device.
6741
6742 PARAMETERS
6743
6744 IN
6745 wdiStatus: response status received from HAL
6746 pUserData: user data
6747
6748
6749
6750 RETURN VALUE
6751 The result code associated with performing the operation
6752---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006753typedef void (*WDI_EnterBmpsRspCb)(WDI_EnterBmpsRspParamsType *pwdiEnterBmpsRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006754 void* pUserData);
6755
6756/*---------------------------------------------------------------------------
6757 WDI_ExitBmpsRspCb
6758
6759 DESCRIPTION
6760
6761 This callback is invoked by DAL when it has received a exit BMPS response
6762 from the underlying device.
6763
6764 PARAMETERS
6765
6766 IN
6767 wdiStatus: response status received from HAL
6768 pUserData: user data
6769
6770
6771
6772 RETURN VALUE
6773 The result code associated with performing the operation
6774---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006775typedef void (*WDI_ExitBmpsRspCb)( WDI_ExitBmpsRspParamsType *pwdiExitBmpsRspParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07006776 void* pUserData);
6777
6778/*---------------------------------------------------------------------------
6779 WDI_EnterUapsdRspCb
6780
6781 DESCRIPTION
6782
6783 This callback is invoked by DAL when it has received a enter UAPSD response
6784 from the underlying device.
6785
6786 PARAMETERS
6787
6788 IN
6789 wdiStatus: response status received from HAL
6790 pUserData: user data
6791
6792
6793
6794 RETURN VALUE
6795 The result code associated with performing the operation
6796---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006797typedef void (*WDI_EnterUapsdRspCb)( WDI_EnterUapsdRspParamsType *pwdiEnterUapsdRspParam,
Jeff Johnson295189b2012-06-20 16:38:30 -07006798 void* pUserData);
6799
6800/*---------------------------------------------------------------------------
6801 WDI_ExitUapsdRspCb
6802
6803 DESCRIPTION
6804
6805 This callback is invoked by DAL when it has received a exit UAPSD response
6806 from the underlying device.
6807
6808 PARAMETERS
6809
6810 IN
6811 wdiStatus: response status received from HAL
6812 pUserData: user data
6813
6814
6815
6816 RETURN VALUE
6817 The result code associated with performing the operation
6818---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006819typedef void (*WDI_ExitUapsdRspCb)(WDI_ExitUapsdRspParamsType *pwidExitUapsdRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006820 void* pUserData);
6821
6822/*---------------------------------------------------------------------------
6823 WDI_UpdateUapsdParamsCb
6824
6825 DESCRIPTION
6826
6827 This callback is invoked by DAL when it has received a update UAPSD params
6828 response from the underlying device.
6829
6830 PARAMETERS
6831
6832 IN
6833 wdiStatus: response status received from HAL
6834 pUserData: user data
6835
6836
6837
6838 RETURN VALUE
6839 The result code associated with performing the operation
6840---------------------------------------------------------------------------*/
6841typedef void (*WDI_UpdateUapsdParamsCb)(WDI_Status wdiStatus,
6842 void* pUserData);
6843
6844/*---------------------------------------------------------------------------
6845 WDI_ConfigureRxpFilterCb
6846
6847 DESCRIPTION
6848
6849 This callback is invoked by DAL when it has received a config RXP filter
6850 response from the underlying device.
6851
6852 PARAMETERS
6853
6854 IN
6855 wdiStatus: response status received from HAL
6856 pUserData: user data
6857
6858
6859
6860 RETURN VALUE
6861 The result code associated with performing the operation
6862---------------------------------------------------------------------------*/
6863typedef void (*WDI_ConfigureRxpFilterCb)(WDI_Status wdiStatus,
6864 void* pUserData);
6865
6866/*---------------------------------------------------------------------------
6867 WDI_SetBeaconFilterCb
6868
6869 DESCRIPTION
6870
6871 This callback is invoked by DAL when it has received a set beacon filter
6872 response from the underlying device.
6873
6874 PARAMETERS
6875
6876 IN
6877 wdiStatus: response status received from HAL
6878 pUserData: user data
6879
6880
6881
6882 RETURN VALUE
6883 The result code associated with performing the operation
6884---------------------------------------------------------------------------*/
6885typedef void (*WDI_SetBeaconFilterCb)(WDI_Status wdiStatus,
6886 void* pUserData);
6887
6888/*---------------------------------------------------------------------------
6889 WDI_RemBeaconFilterCb
6890
6891 DESCRIPTION
6892
6893 This callback is invoked by DAL when it has received a remove beacon filter
6894 response from the underlying device.
6895
6896 PARAMETERS
6897
6898 IN
6899 wdiStatus: response status received from HAL
6900 pUserData: user data
6901
6902
6903
6904 RETURN VALUE
6905 The result code associated with performing the operation
6906---------------------------------------------------------------------------*/
6907typedef void (*WDI_RemBeaconFilterCb)(WDI_Status wdiStatus,
6908 void* pUserData);
6909
6910/*---------------------------------------------------------------------------
6911 WDI_SetRSSIThresholdsCb
6912
6913 DESCRIPTION
6914
6915 This callback is invoked by DAL when it has received a set RSSI thresholds
6916 response from the underlying device.
6917
6918 PARAMETERS
6919
6920 IN
6921 wdiStatus: response status received from HAL
6922 pUserData: user data
6923
6924
6925
6926 RETURN VALUE
6927 The result code associated with performing the operation
6928---------------------------------------------------------------------------*/
6929typedef void (*WDI_SetRSSIThresholdsCb)(WDI_Status wdiStatus,
6930 void* pUserData);
6931
6932/*---------------------------------------------------------------------------
6933 WDI_HostOffloadCb
6934
6935 DESCRIPTION
6936
6937 This callback is invoked by DAL when it has received a host offload
6938 response from the underlying device.
6939
6940 PARAMETERS
6941
6942 IN
6943 wdiStatus: response status received from HAL
6944 pUserData: user data
6945
6946
6947
6948 RETURN VALUE
6949 The result code associated with performing the operation
6950---------------------------------------------------------------------------*/
6951typedef void (*WDI_HostOffloadCb)(WDI_Status wdiStatus,
6952 void* pUserData);
6953
6954/*---------------------------------------------------------------------------
6955 WDI_KeepAliveCb
6956
6957 DESCRIPTION
6958
6959 This callback is invoked by DAL when it has received a Keep Alive
6960 response from the underlying device.
6961
6962 PARAMETERS
6963
6964 IN
6965 wdiStatus: response status received from HAL
6966 pUserData: user data
6967
6968
6969
6970 RETURN VALUE
6971 The result code associated with performing the operation
6972---------------------------------------------------------------------------*/
6973typedef void (*WDI_KeepAliveCb)(WDI_Status wdiStatus,
6974 void* pUserData);
6975
6976/*---------------------------------------------------------------------------
6977 WDI_WowlAddBcPtrnCb
6978
6979 DESCRIPTION
6980
6981 This callback is invoked by DAL when it has received a Wowl add Bcast ptrn
6982 response from the underlying device.
6983
6984 PARAMETERS
6985
6986 IN
6987 wdiStatus: response status received from HAL
6988 pUserData: user data
6989
6990
6991
6992 RETURN VALUE
6993 The result code associated with performing the operation
6994---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006995typedef void (*WDI_WowlAddBcPtrnCb)( WDI_WowlAddBcPtrnRspParamsType *pwdiWowlAddBcPtrnParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07006996 void* pUserData);
6997
6998/*---------------------------------------------------------------------------
6999 WDI_WowlDelBcPtrnCb
7000
7001 DESCRIPTION
7002
7003 This callback is invoked by DAL when it has received a Wowl delete Bcast ptrn
7004 response from the underlying device.
7005
7006 PARAMETERS
7007
7008 IN
7009 wdiStatus: response status received from HAL
7010 pUserData: user data
7011
7012
7013
7014 RETURN VALUE
7015 The result code associated with performing the operation
7016---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007017typedef void (*WDI_WowlDelBcPtrnCb)( WDI_WowlDelBcPtrnRspParamsType *pwdiWowlDelBcstPtrRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007018 void* pUserData);
7019
7020/*---------------------------------------------------------------------------
7021 WDI_WowlEnterReqCb
7022
7023 DESCRIPTION
7024
7025 This callback is invoked by DAL when it has received a Wowl enter
7026 response from the underlying device.
7027
7028 PARAMETERS
7029
7030 IN
7031 wdiStatus: response status received from HAL
7032 pUserData: user data
7033
7034
7035
7036 RETURN VALUE
7037 The result code associated with performing the operation
7038---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007039typedef void (*WDI_WowlEnterReqCb)( WDI_WowlEnterRspParamsType *pwdiwowlEnterRsp,
7040 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007041
7042/*---------------------------------------------------------------------------
7043 WDI_WowlExitReqCb
7044
7045 DESCRIPTION
7046
7047 This callback is invoked by DAL when it has received a Wowl exit
7048 response from the underlying device.
7049
7050 PARAMETERS
7051
7052 IN
7053 wdiStatus: response status received from HAL
7054 pUserData: user data
7055
7056
7057
7058 RETURN VALUE
7059 The result code associated with performing the operation
7060---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007061typedef void (*WDI_WowlExitReqCb)( WDI_WowlExitRspParamsType *pwdiWowlExitRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007062 void* pUserData);
7063
7064/*---------------------------------------------------------------------------
7065 WDI_ConfigureAppsCpuWakeupStateCb
7066
7067 DESCRIPTION
7068
7069 This callback is invoked by DAL when it has received a config Apps Cpu Wakeup
7070 State response from the underlying device.
7071
7072 PARAMETERS
7073
7074 IN
7075 wdiStatus: response status received from HAL
7076 pUserData: user data
7077
7078
7079
7080 RETURN VALUE
7081 The result code associated with performing the operation
7082---------------------------------------------------------------------------*/
7083typedef void (*WDI_ConfigureAppsCpuWakeupStateCb)(WDI_Status wdiStatus,
7084 void* pUserData);
7085/*---------------------------------------------------------------------------
7086 WDI_NvDownloadRspCb
7087
7088 DESCRIPTION
7089
7090 This callback is invoked by DAL when it has received a NV Download response
7091 from the underlying device.
7092
7093 PARAMETERS
7094
7095 IN
7096 wdiStatus:response status received from HAL
7097 pUserData:user data
7098
7099 RETURN VALUE
7100 The result code associated with performing the operation
7101---------------------------------------------------------------------------*/
7102typedef void (*WDI_NvDownloadRspCb)(WDI_NvDownloadRspInfoType* wdiNvDownloadRsp,
7103 void* pUserData);
7104/*---------------------------------------------------------------------------
7105 WDI_FlushAcRspCb
7106
7107 DESCRIPTION
7108
7109 This callback is invoked by DAL when it has received a Flush AC response from
7110 the underlying device.
7111
7112 PARAMETERS
7113
7114 IN
7115 wdiStatus: response status received from HAL
7116 pUserData: user data
7117
7118
7119
7120 RETURN VALUE
7121 The result code associated with performing the operation
7122---------------------------------------------------------------------------*/
7123typedef void (*WDI_FlushAcRspCb)(WDI_Status wdiStatus,
7124 void* pUserData);
7125
7126/*---------------------------------------------------------------------------
7127 WDI_BtAmpEventRspCb
7128
7129 DESCRIPTION
7130
7131 This callback is invoked by DAL when it has received a Bt AMP event response
7132 from the underlying device.
7133
7134 PARAMETERS
7135
7136 IN
7137 wdiStatus: response status received from HAL
7138 pUserData: user data
7139
7140
7141
7142 RETURN VALUE
7143 The result code associated with performing the operation
7144---------------------------------------------------------------------------*/
7145typedef void (*WDI_BtAmpEventRspCb)(WDI_Status wdiStatus,
7146 void* pUserData);
7147
Jeff Johnsone7245742012-09-05 17:12:55 -07007148#ifdef FEATURE_OEM_DATA_SUPPORT
7149/*---------------------------------------------------------------------------
7150 WDI_oemDataRspCb
7151
7152 DESCRIPTION
7153
7154 This callback is invoked by DAL when it has received a Start oem data response from
7155 the underlying device.
7156
7157 PARAMETERS
7158
7159 IN
7160 wdiStatus: response status received from HAL
7161 pUserData: user data
7162
7163
7164
7165 RETURN VALUE
7166 The result code associated with performing the operation
7167---------------------------------------------------------------------------*/
7168typedef void (*WDI_oemDataRspCb)(WDI_oemDataRspParamsType* wdiOemDataRspParams,
7169 void* pUserData);
7170
7171#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07007172
7173/*---------------------------------------------------------------------------
7174 WDI_HostResumeEventRspCb
7175
7176 DESCRIPTION
7177
7178 This callback is invoked by DAL when it has received a Bt AMP event response
7179 from the underlying device.
7180
7181 PARAMETERS
7182
7183 IN
7184 wdiStatus: response status received from HAL
7185 pUserData: user data
7186
7187
7188
7189 RETURN VALUE
7190 The result code associated with performing the operation
7191---------------------------------------------------------------------------*/
7192typedef void (*WDI_HostResumeEventRspCb)(
7193 WDI_SuspendResumeRspParamsType *resumeRspParams,
7194 void* pUserData);
7195
7196
7197#ifdef WLAN_FEATURE_VOWIFI_11R
7198/*---------------------------------------------------------------------------
7199 WDI_AggrAddTsRspCb
7200
7201 DESCRIPTION
7202
7203 This callback is invoked by DAL when it has received a Aggregated Add TS
7204 response from the underlying device.
7205
7206 PARAMETERS
7207
7208 IN
7209 wdiStatus: response status received from HAL
7210 pUserData: user data
7211
7212
7213
7214 RETURN VALUE
7215 The result code associated with performing the operation
7216---------------------------------------------------------------------------*/
7217typedef void (*WDI_AggrAddTsRspCb)(WDI_Status wdiStatus,
7218 void* pUserData);
7219#endif /* WLAN_FEATURE_VOWIFI_11R */
7220
Jeff Johnson295189b2012-06-20 16:38:30 -07007221/*---------------------------------------------------------------------------
7222 WDI_FTMCommandRspCb
7223
7224 DESCRIPTION
7225
7226 FTM Command response CB
7227
7228 PARAMETERS
7229
7230 IN
7231 ftmCMDRspdata: FTM response data from HAL
7232 pUserData: user data
7233
7234
7235 RETURN VALUE
7236 NONE
7237---------------------------------------------------------------------------*/
7238typedef void (*WDI_FTMCommandRspCb)(void *ftmCMDRspdata,
7239 void *pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007240
7241/*---------------------------------------------------------------------------
7242 WDI_AddSTASelfParamsRspCb
7243
7244 DESCRIPTION
7245
7246 This callback is invoked by DAL when it has received a Add Sta Self Params
7247 response from the underlying device.
7248
7249 PARAMETERS
7250
7251 IN
7252 wdiAddSelfSTARsp: response status received from HAL
7253 pUserData: user data
7254
7255
7256
7257 RETURN VALUE
7258 The result code associated with performing the operation
7259---------------------------------------------------------------------------*/
7260typedef void (*WDI_AddSTASelfParamsRspCb)(
7261 WDI_AddSTASelfRspParamsType* pwdiAddSelfSTARsp,
7262 void* pUserData);
7263
7264
7265/*---------------------------------------------------------------------------
7266 WDI_DelSTASelfRspCb
7267
7268 DESCRIPTION
7269
7270 This callback is invoked by DAL when it has received a host offload
7271 response from the underlying device.
7272
7273 PARAMETERS
7274
7275 IN
7276 wdiStatus: response status received from HAL
7277 pUserData: user data
7278
7279
7280
7281 RETURN VALUE
7282 The result code associated with performing the operation
7283---------------------------------------------------------------------------*/
7284typedef void (*WDI_DelSTASelfRspCb)
7285(
7286WDI_DelSTASelfRspParamsType* wdiDelStaSelfRspParams,
7287void* pUserData
7288);
7289
7290#ifdef FEATURE_WLAN_SCAN_PNO
7291/*---------------------------------------------------------------------------
7292 WDI_PNOScanCb
7293
7294 DESCRIPTION
7295
7296 This callback is invoked by DAL when it has received a Set PNO
7297 response from the underlying device.
7298
7299 PARAMETERS
7300
7301 IN
7302 wdiStatus: response status received from HAL
7303 pUserData: user data
7304
7305
7306
7307 RETURN VALUE
7308 The result code associated with performing the operation
7309---------------------------------------------------------------------------*/
7310typedef void (*WDI_PNOScanCb)(WDI_Status wdiStatus,
7311 void* pUserData);
7312
7313/*---------------------------------------------------------------------------
7314 WDI_PNOScanCb
7315
7316 DESCRIPTION
7317
7318 This callback is invoked by DAL when it has received a Set PNO
7319 response from the underlying device.
7320
7321 PARAMETERS
7322
7323 IN
7324 wdiStatus: response status received from HAL
7325 pUserData: user data
7326
7327
7328
7329 RETURN VALUE
7330 The result code associated with performing the operation
7331---------------------------------------------------------------------------*/
7332typedef void (*WDI_RssiFilterCb)(WDI_Status wdiStatus,
7333 void* pUserData);
7334
7335/*---------------------------------------------------------------------------
7336 WDI_UpdateScanParamsCb
7337
7338 DESCRIPTION
7339
7340 This callback is invoked by DAL when it has received a Update Scan Params
7341 response from the underlying device.
7342
7343 PARAMETERS
7344
7345 IN
7346 wdiStatus: response status received from HAL
7347 pUserData: user data
7348
7349
7350
7351 RETURN VALUE
7352 The result code associated with performing the operation
7353---------------------------------------------------------------------------*/
7354typedef void (*WDI_UpdateScanParamsCb)(WDI_Status wdiStatus,
7355 void* pUserData);
7356#endif // FEATURE_WLAN_SCAN_PNO
7357
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08007358typedef void (*WDI_UpdateChannelRspCb)(WDI_Status wdiStatus,
7359 void* pUserData);
7360
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07007361#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
7362/*---------------------------------------------------------------------------
7363 WDI_RoamOffloadScanCb
7364
7365 DESCRIPTION
7366
7367 This callback is invoked by DAL when it has received a Start Roam Candidate Lookup Req
7368 response from the underlying device.
7369
7370 PARAMETERS
7371
7372 IN
7373 wdiStatus: response status received from HAL
7374 pUserData: user data
7375
7376
7377
7378 RETURN VALUE
7379 The result code associated with performing the operation
7380---------------------------------------------------------------------------*/
7381typedef void (*WDI_RoamOffloadScanCb)(WDI_Status wdiStatus,
7382 void* pUserData);
7383
7384#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07007385/*---------------------------------------------------------------------------
7386 WDI_SetTxPerTrackingRspCb
7387
7388 DESCRIPTION
7389
7390 This callback is invoked by DAL when it has received a Tx PER Tracking
7391 response from the underlying device.
7392
7393 PARAMETERS
7394
7395 IN
7396 wdiStatus: response status received from HAL
7397 pUserData: user data
7398
7399
7400
7401 RETURN VALUE
7402 The result code associated with performing the operation
7403---------------------------------------------------------------------------*/
7404typedef void (*WDI_SetTxPerTrackingRspCb)(WDI_Status wdiStatus,
7405 void* pUserData);
7406
7407#ifdef WLAN_FEATURE_PACKET_FILTERING
7408/*---------------------------------------------------------------------------
7409 WDI_8023MulticastListCb
7410
7411 DESCRIPTION
7412
7413 This callback is invoked by DAL when it has received a 8023 Multicast List
7414 response from the underlying device.
7415
7416 PARAMETERS
7417
7418 IN
7419 wdiStatus: response status received from HAL
7420 pUserData: user data
7421
7422
7423
7424 RETURN VALUE
7425 The result code associated with performing the operation
7426---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007427typedef void (*WDI_8023MulticastListCb)(
7428 WDI_RcvFltPktSetMcListRspParamsType *pwdiRcvFltPktSetMcListRspInfo,
7429 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007430
7431/*---------------------------------------------------------------------------
7432 WDI_ReceiveFilterSetFilterCb
7433
7434 DESCRIPTION
7435
7436 This callback is invoked by DAL when it has received a Receive Filter Set Filter
7437 response from the underlying device.
7438
7439 PARAMETERS
7440
7441 IN
7442 wdiStatus: response status received from HAL
7443 pUserData: user data
7444
7445
7446
7447 RETURN VALUE
7448 The result code associated with performing the operation
7449---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007450typedef void (*WDI_ReceiveFilterSetFilterCb)(
7451 WDI_SetRcvPktFilterRspParamsType *pwdiSetRcvPktFilterRspInfo,
7452 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007453
7454/*---------------------------------------------------------------------------
7455 WDI_FilterMatchCountCb
7456
7457 DESCRIPTION
7458
7459 This callback is invoked by DAL when it has received a Do PC Filter Match Count
7460 response from the underlying device.
7461
7462 PARAMETERS
7463
7464 IN
7465 wdiStatus: response status received from HAL
7466 pUserData: user data
7467
7468
7469
7470 RETURN VALUE
7471 The result code associated with performing the operation
7472---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007473typedef void (*WDI_FilterMatchCountCb)(
7474 WDI_RcvFltPktMatchCntRspParamsType *pwdiRcvFltPktMatchRspParams,
7475 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007476
7477/*---------------------------------------------------------------------------
7478 WDI_ReceiveFilterClearFilterCb
7479
7480 DESCRIPTION
7481
7482 This callback is invoked by DAL when it has received a Receive Filter Clear Filter
7483 response from the underlying device.
7484
7485 PARAMETERS
7486
7487 IN
7488 wdiStatus: response status received from HAL
7489 pUserData: user data
7490
7491
7492
7493 RETURN VALUE
7494 The result code associated with performing the operation
7495---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007496typedef void (*WDI_ReceiveFilterClearFilterCb)(
7497 WDI_RcvFltPktClearRspParamsType *pwdiRcvFltPktClearRspParamsType,
7498 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007499#endif // WLAN_FEATURE_PACKET_FILTERING
7500
7501/*---------------------------------------------------------------------------
7502 WDI_HALDumpCmdRspCb
7503
7504 DESCRIPTION
7505
7506 This callback is invoked by DAL when it has received a HAL DUMP Command
7507response from
7508 the HAL layer.
7509
7510 PARAMETERS
7511
7512 IN
7513 wdiHalDumpCmdRsp: response status received from HAL
7514 pUserData: user data
7515
7516
7517
7518 RETURN VALUE
7519 The result code associated with performing the operation
7520---------------------------------------------------------------------------*/
7521typedef void (*WDI_HALDumpCmdRspCb)(WDI_HALDumpCmdRspParamsType* wdiHalDumpCmdRsp,
7522 void* pUserData);
7523
7524/*---------------------------------------------------------------------------
7525 WDI_SetPowerParamsCb
7526
7527 DESCRIPTION
7528
7529 This callback is invoked by DAL when it has received a Set Power Param
7530 response from the underlying device.
7531
7532 PARAMETERS
7533
7534 IN
7535 wdiStatus: response status received from HAL
7536 pUserData: user data
7537
7538
7539
7540 RETURN VALUE
7541 The result code associated with performing the operation
7542---------------------------------------------------------------------------*/
7543typedef void (*WDI_SetPowerParamsCb)(WDI_Status wdiStatus,
7544 void* pUserData);
7545
7546#ifdef WLAN_FEATURE_GTK_OFFLOAD
7547/*---------------------------------------------------------------------------
7548 WDI_GtkOffloadCb
7549
7550 DESCRIPTION
7551
7552 This callback is invoked by DAL when it has received a GTK offload
7553 response from the underlying device.
7554
7555 PARAMETERS
7556
7557 IN
7558 wdiStatus: response status received from HAL
7559 pUserData: user data
7560
7561
7562
7563 RETURN VALUE
7564 The result code associated with performing the operation
7565---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007566typedef void (*WDI_GtkOffloadCb)( WDI_GtkOffloadRspParams *pwdiGtkOffloadRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007567 void* pUserData);
7568
7569/*---------------------------------------------------------------------------
7570 WDI_GtkOffloadGetInfoCb
7571
7572 DESCRIPTION
7573
7574 This callback is invoked by DAL when it has received a GTK offload
7575 information response from the underlying device.
7576
7577 PARAMETERS
7578
7579 IN
7580 wdiStatus: response status received from HAL
7581 pUserData: user data
7582
7583
7584
7585 RETURN VALUE
7586 The result code associated with performing the operation
7587---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007588typedef void (*WDI_GtkOffloadGetInfoCb)( WDI_GtkOffloadGetInfoRspParams *pwdiGtkOffloadGetInfoRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007589 void* pUserData);
7590#endif // WLAN_FEATURE_GTK_OFFLOAD
7591
7592/*---------------------------------------------------------------------------
7593 WDI_SetTmLevelCb
7594
7595 DESCRIPTION
7596
7597 This callback is invoked by DAL when it has received a Set New TM Level
7598 done response from the underlying device.
7599
7600 PARAMETERS
7601
7602 IN
7603 wdiStatus: response status received from HAL
7604 pUserData: user data
7605
7606
7607
7608 RETURN VALUE
7609 The result code associated with performing the operation
7610---------------------------------------------------------------------------*/
7611typedef void (*WDI_SetTmLevelCb)(WDI_Status wdiStatus,
7612 void* pUserData);
7613
7614/*---------------------------------------------------------------------------
7615 WDI_featureCapsExchangeCb
7616
7617 DESCRIPTION
7618
7619 This callback is invoked by DAL when it has received a HAL Feature Capbility
7620 Exchange Response the HAL layer. This callback is put to mantain code
7621 similarity and is not being used right now.
7622
7623 PARAMETERS
7624
7625 IN
7626 wdiFeatCapRspParams: response parameters received from HAL
7627 pUserData: user data
7628
7629 RETURN VALUE
7630 The result code associated with performing the operation
7631---------------------------------------------------------------------------*/
7632typedef void (*WDI_featureCapsExchangeCb)(void* wdiFeatCapRspParams,
7633 void* pUserData);
7634
Mohit Khanna4a70d262012-09-11 16:30:12 -07007635#ifdef WLAN_FEATURE_11AC
7636typedef void (*WDI_UpdateVHTOpModeCb)(WDI_Status wdiStatus,
7637 void* pUserData);
7638#endif
7639
Leo Chang9056f462013-08-01 19:21:11 -07007640#ifdef FEATURE_WLAN_LPHB
7641typedef void (*WDI_LphbCfgCb)(WDI_Status wdiStatus,
7642 void* pUserData);
7643#endif /* FEATURE_WLAN_LPHB */
Mohit Khanna4a70d262012-09-11 16:30:12 -07007644
Rajeev79dbe4c2013-10-05 11:03:42 +05307645#ifdef FEATURE_WLAN_BATCH_SCAN
7646/*---------------------------------------------------------------------------
7647 WDI_SetBatchScanCb
7648
7649 DESCRIPTION
7650
7651 This callback is invoked by DAL when it has received a get batch scan
7652 response from the underlying device.
7653
7654 PARAMETERS
7655
7656 IN
7657 wdiStatus: response status received from HAL
7658 pUserData: user data
7659
7660
7661
7662 RETURN VALUE
7663 The result code associated with performing the operation
7664---------------------------------------------------------------------------*/
7665typedef void (*WDI_SetBatchScanCb)(void *pData, WDI_SetBatchScanRspType *pRsp);
7666
7667#endif
7668
c_hpothu92367912014-05-01 15:18:17 +05307669typedef void (*WDI_GetBcnMissRateCb)(wpt_uint8 status, wpt_uint32 bcnMissRate,
7670 void* pUserData);
Rajeev79dbe4c2013-10-05 11:03:42 +05307671
Dino Mycle41bdc942014-06-10 11:30:24 +05307672#ifdef WLAN_FEATURE_EXTSCAN
7673typedef void (*WDI_EXTScanStartRspCb)(void *pEventData,
7674 void *pUserData);
7675typedef void (*WDI_EXTScanStopRspCb)(void *pEventData,
7676 void *pUserData);
7677typedef void (*WDI_EXTScanGetCachedResultsRspCb)(void *pEventData,
7678 void *pUserData);
7679typedef void (*WDI_EXTScanGetCapabilitiesRspCb)(void *pEventData,
7680 void *pUserData);
7681typedef void (*WDI_EXTScanSetBSSIDHotlistRspCb)(void *pEventData,
7682 void *pUserData);
7683typedef void (*WDI_EXTScanResetBSSIDHotlistRspCb)(void *pEventData,
7684 void *pUserData);
7685typedef void (*WDI_EXTScanSetSignfRSSIChangeRspCb)(void *pEventData,
7686 void *pUserData);
7687typedef void (*WDI_EXTScanResetSignfRSSIChangeRspCb)(void *pEventData,
7688 void *pUserData);
7689#endif /* WLAN_FEATURE_EXTSCAN */
Sunil Duttbd736ed2014-05-26 21:19:41 +05307690
7691#ifdef WLAN_FEATURE_LINK_LAYER_STATS
7692typedef void (*WDI_LLStatsSetRspCb)(void *pEventData,
7693 void *pUserData);
7694typedef void (*WDI_LLStatsGetRspCb)(void *pEventData,
7695 void *pUserData);
7696typedef void (*WDI_LLStatsClearRspCb)(void *pEventData,
7697 void *pUserData);
7698#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
Jeff Johnson295189b2012-06-20 16:38:30 -07007699/*========================================================================
7700 * Function Declarations and Documentation
7701 ==========================================================================*/
7702
7703/*========================================================================
7704
7705 INITIALIZATION APIs
7706
7707==========================================================================*/
7708
7709/**
7710 @brief WDI_Init is used to initialize the DAL.
7711
7712 DAL will allocate all the resources it needs. It will open PAL, it will also
7713 open both the data and the control transport which in their turn will open
7714 DXE/SMD or any other drivers that they need.
7715
Arun Kumar Khandavalliebb19482014-03-25 13:56:53 +05307716 @param devHandle: pointer to the OS specific device handle
Jeff Johnson295189b2012-06-20 16:38:30 -07007717 ppWDIGlobalCtx: output pointer of Global Context
7718 pWdiDevCapability: output pointer of device capability
7719
7720 @return Result of the function call
7721*/
7722WDI_Status
7723WDI_Init
7724(
Arun Kumar Khandavalliebb19482014-03-25 13:56:53 +05307725 void* devHandle,
Jeff Johnson295189b2012-06-20 16:38:30 -07007726 void** ppWDIGlobalCtx,
7727 WDI_DeviceCapabilityType* pWdiDevCapability,
7728 unsigned int driverType
7729);
7730
7731/**
7732 @brief WDI_Start will be called when the upper MAC is ready to
7733 commence operation with the WLAN Device. Upon the call
7734 of this API the WLAN DAL will pack and send a HAL Start
7735 message to the lower RIVA sub-system if the SMD channel
7736 has been fully opened and the RIVA subsystem is up.
7737
7738 If the RIVA sub-system is not yet up and running DAL
7739 will queue the request for Open and will wait for the
7740 SMD notification before attempting to send down the
7741 message to HAL.
7742
7743 WDI_Init must have been called.
7744
7745 @param wdiStartParams: the start parameters as specified by
7746 the Device Interface
7747
7748 wdiStartRspCb: callback for passing back the response of
7749 the start operation received from the device
7750
7751 pUserData: user data will be passed back with the
7752 callback
7753
7754 @see WDI_Start
7755 @return Result of the function call
7756*/
7757WDI_Status
7758WDI_Start
7759(
7760 WDI_StartReqParamsType* pwdiStartParams,
7761 WDI_StartRspCb wdiStartRspCb,
7762 void* pUserData
7763);
7764
7765
7766/**
7767 @brief WDI_Stop will be called when the upper MAC is ready to
7768 stop any operation with the WLAN Device. Upon the call
7769 of this API the WLAN DAL will pack and send a HAL Stop
7770 message to the lower RIVA sub-system if the DAL Core is
7771 in started state.
7772
7773 In state BUSY this request will be queued.
7774
7775 Request will not be accepted in any other state.
7776
7777 WDI_Start must have been called.
7778
7779 @param wdiStopParams: the stop parameters as specified by
7780 the Device Interface
7781
7782 wdiStopRspCb: callback for passing back the response of
7783 the stop operation received from the device
7784
7785 pUserData: user data will be passed back with the
7786 callback
7787
7788 @see WDI_Start
7789 @return Result of the function call
7790*/
7791WDI_Status
7792WDI_Stop
7793(
7794 WDI_StopReqParamsType* pwdiStopParams,
7795 WDI_StopRspCb wdiStopRspCb,
7796 void* pUserData
7797);
7798
7799/**
7800 @brief WDI_Close will be called when the upper MAC no longer
7801 needs to interract with DAL. DAL will free its control
7802 block.
7803
7804 It is only accepted in state STOPPED.
7805
7806 WDI_Stop must have been called.
7807
7808 @param none
7809
7810 @see WDI_Stop
7811 @return Result of the function call
7812*/
7813WDI_Status
7814WDI_Close
7815(
7816 void
7817);
7818
7819
7820/**
7821 @brief WDI_Shutdown will be called during 'SSR shutdown' operation.
7822 This will do most of the WDI stop & close
7823 operations without doing any handshake with Riva
7824
7825 This will also make sure that the control transport
7826 will NOT be closed.
7827
7828 This request will not be queued.
7829
7830
7831 WDI_Start must have been called.
7832
7833 @param closeTransport: Close control channel if this is set
7834
7835 @return Result of the function call
7836*/
7837WDI_Status
7838WDI_Shutdown
7839(
7840 wpt_boolean closeTransport
7841);
7842
7843/*========================================================================
7844
7845 SCAN APIs
7846
7847==========================================================================*/
7848
7849/**
7850 @brief WDI_InitScanReq will be called when the upper MAC wants
7851 the WLAN Device to get ready for a scan procedure. Upon
7852 the call of this API the WLAN DAL will pack and send a
7853 HAL Init Scan request message to the lower RIVA
7854 sub-system if DAL is in state STARTED.
7855
7856 In state BUSY this request will be queued. Request won't
7857 be allowed in any other state.
7858
7859 WDI_Start must have been called.
7860
7861 @param wdiInitScanParams: the init scan parameters as specified
7862 by the Device Interface
7863
7864 wdiInitScanRspCb: callback for passing back the response
7865 of the init scan operation received from the device
7866
7867 pUserData: user data will be passed back with the
7868 callback
7869
7870 @see WDI_Start
7871 @return Result of the function call
7872*/
7873WDI_Status
7874WDI_InitScanReq
7875(
7876 WDI_InitScanReqParamsType* pwdiInitScanParams,
7877 WDI_InitScanRspCb wdiInitScanRspCb,
7878 void* pUserData
7879);
7880
7881/**
7882 @brief WDI_StartScanReq will be called when the upper MAC
7883 wishes to change the Scan channel on the WLAN Device.
7884 Upon the call of this API the WLAN DAL will pack and
7885 send a HAL Start Scan request message to the lower RIVA
7886 sub-system if DAL is in state STARTED.
7887
7888 In state BUSY this request will be queued. Request won't
7889 be allowed in any other state.
7890
7891 WDI_InitScanReq must have been called.
7892
7893 @param wdiStartScanParams: the start scan parameters as
7894 specified by the Device Interface
7895
7896 wdiStartScanRspCb: callback for passing back the
7897 response of the start scan operation received from the
7898 device
7899
7900 pUserData: user data will be passed back with the
7901 callback
7902
7903 @see WDI_InitScanReq
7904 @return Result of the function call
7905*/
7906WDI_Status
7907WDI_StartScanReq
7908(
7909 WDI_StartScanReqParamsType* pwdiStartScanParams,
7910 WDI_StartScanRspCb wdiStartScanRspCb,
7911 void* pUserData
7912);
7913
7914
7915/**
7916 @brief WDI_EndScanReq will be called when the upper MAC is
7917 wants to end scanning for a particular channel that it
7918 had set before by calling Scan Start on the WLAN Device.
7919 Upon the call of this API the WLAN DAL will pack and
7920 send a HAL End Scan request message to the lower RIVA
7921 sub-system if DAL is in state STARTED.
7922
7923 In state BUSY this request will be queued. Request won't
7924 be allowed in any other state.
7925
7926 WDI_StartScanReq must have been called.
7927
7928 @param wdiEndScanParams: the end scan parameters as specified
7929 by the Device Interface
7930
7931 wdiEndScanRspCb: callback for passing back the response
7932 of the end scan operation received from the device
7933
7934 pUserData: user data will be passed back with the
7935 callback
7936
7937 @see WDI_StartScanReq
7938 @return Result of the function call
7939*/
7940WDI_Status
7941WDI_EndScanReq
7942(
7943 WDI_EndScanReqParamsType* pwdiEndScanParams,
7944 WDI_EndScanRspCb wdiEndScanRspCb,
7945 void* pUserData
7946);
7947
7948
7949/**
7950 @brief WDI_FinishScanReq will be called when the upper MAC has
7951 completed the scan process on the WLAN Device. Upon the
7952 call of this API the WLAN DAL will pack and send a HAL
7953 Finish Scan Request request message to the lower RIVA
7954 sub-system if DAL is in state STARTED.
7955
7956 In state BUSY this request will be queued. Request won't
7957 be allowed in any other state.
7958
7959 WDI_InitScanReq must have been called.
7960
7961 @param wdiFinishScanParams: the finish scan parameters as
7962 specified by the Device Interface
7963
7964 wdiFinishScanRspCb: callback for passing back the
7965 response of the finish scan operation received from the
7966 device
7967
7968 pUserData: user data will be passed back with the
7969 callback
7970
7971 @see WDI_InitScanReq
7972 @return Result of the function call
7973*/
7974WDI_Status
7975WDI_FinishScanReq
7976(
7977 WDI_FinishScanReqParamsType* pwdiFinishScanParams,
7978 WDI_FinishScanRspCb wdiFinishScanRspCb,
7979 void* pUserData
7980);
7981
7982/*========================================================================
7983
7984 ASSOCIATION APIs
7985
7986==========================================================================*/
7987
7988/**
7989 @brief WDI_JoinReq will be called when the upper MAC is ready
7990 to start an association procedure to a BSS. Upon the
7991 call of this API the WLAN DAL will pack and send a HAL
7992 Join request message to the lower RIVA sub-system if
7993 DAL is in state STARTED.
7994
7995 In state BUSY this request will be queued. Request won't
7996 be allowed in any other state.
7997
7998 WDI_Start must have been called.
7999
8000 @param wdiJoinParams: the join parameters as specified by
8001 the Device Interface
8002
8003 wdiJoinRspCb: callback for passing back the response of
8004 the join operation received from the device
8005
8006 pUserData: user data will be passed back with the
8007 callback
8008
8009 @see WDI_Start
8010 @return Result of the function call
8011*/
8012WDI_Status
8013WDI_JoinReq
8014(
8015 WDI_JoinReqParamsType* pwdiJoinParams,
8016 WDI_JoinRspCb wdiJoinRspCb,
8017 void* pUserData
8018);
8019
8020/**
8021 @brief WDI_ConfigBSSReq will be called when the upper MAC
8022 wishes to configure the newly acquired or in process of
8023 being acquired BSS to the HW . Upon the call of this API
8024 the WLAN DAL will pack and send a HAL Config BSS request
8025 message to the lower RIVA sub-system if DAL is in state
8026 STARTED.
8027
8028 In state BUSY this request will be queued. Request won't
8029 be allowed in any other state.
8030
8031 WDI_JoinReq must have been called.
8032
8033 @param wdiConfigBSSParams: the config BSS parameters as
8034 specified by the Device Interface
8035
8036 wdiConfigBSSRspCb: callback for passing back the
8037 response of the config BSS operation received from the
8038 device
8039
8040 pUserData: user data will be passed back with the
8041 callback
8042
8043 @see WDI_JoinReq
8044 @return Result of the function call
8045*/
8046WDI_Status
8047WDI_ConfigBSSReq
8048(
8049 WDI_ConfigBSSReqParamsType* pwdiConfigBSSParams,
8050 WDI_ConfigBSSRspCb wdiConfigBSSRspCb,
8051 void* pUserData
8052);
8053
8054/**
8055 @brief WDI_DelBSSReq will be called when the upper MAC is
8056 dissasociating from the BSS and wishes to notify HW.
8057 Upon the call of this API the WLAN DAL will pack and
8058 send a HAL Del BSS request message to the lower RIVA
8059 sub-system if DAL is in state STARTED.
8060
8061 In state BUSY this request will be queued. Request won't
8062 be allowed in any other state.
8063
8064 WDI_ConfigBSSReq or WDI_PostAssocReq must have been called.
8065
8066 @param wdiDelBSSParams: the del BSS parameters as specified by
8067 the Device Interface
8068
8069 wdiDelBSSRspCb: callback for passing back the response
8070 of the del bss operation received from the device
8071
8072 pUserData: user data will be passed back with the
8073 callback
8074
8075 @see WDI_ConfigBSSReq, WDI_PostAssocReq
8076 @return Result of the function call
8077*/
8078WDI_Status
8079WDI_DelBSSReq
8080(
8081 WDI_DelBSSReqParamsType* pwdiDelBSSParams,
8082 WDI_DelBSSRspCb wdiDelBSSRspCb,
8083 void* pUserData
8084);
8085
8086/**
8087 @brief WDI_PostAssocReq will be called when the upper MAC has
8088 associated to a BSS and wishes to configure HW for
8089 associated state. Upon the call of this API the WLAN DAL
8090 will pack and send a HAL Post Assoc request message to
8091 the lower RIVA sub-system if DAL is in state STARTED.
8092
8093 In state BUSY this request will be queued. Request won't
8094 be allowed in any other state.
8095
8096 WDI_JoinReq must have been called.
8097
8098 @param wdiPostAssocReqParams: the assoc parameters as specified
8099 by the Device Interface
8100
8101 wdiPostAssocRspCb: callback for passing back the
8102 response of the post assoc operation received from the
8103 device
8104
8105 pUserData: user data will be passed back with the
8106 callback
8107
8108 @see WDI_JoinReq
8109 @return Result of the function call
8110*/
8111WDI_Status
8112WDI_PostAssocReq
8113(
8114 WDI_PostAssocReqParamsType* pwdiPostAssocReqParams,
8115 WDI_PostAssocRspCb wdiPostAssocRspCb,
8116 void* pUserData
8117);
8118
8119/**
8120 @brief WDI_DelSTAReq will be called when the upper MAC when an
8121 association with another STA has ended and the station
8122 must be deleted from HW. Upon the call of this API the
8123 WLAN DAL will pack and send a HAL Del STA request
8124 message to the lower RIVA sub-system if DAL is in state
8125 STARTED.
8126
8127 In state BUSY this request will be queued. Request won't
8128 be allowed in any other state.
8129
8130 WDI_PostAssocReq must have been called.
8131
8132 @param wdiDelSTAParams: the Del STA parameters as specified by
8133 the Device Interface
8134
8135 wdiDelSTARspCb: callback for passing back the response
8136 of the del STA operation received from the device
8137
8138 pUserData: user data will be passed back with the
8139 callback
8140
8141 @see WDI_PostAssocReq
8142 @return Result of the function call
8143*/
8144WDI_Status
8145WDI_DelSTAReq
8146(
8147 WDI_DelSTAReqParamsType* pwdiDelSTAParams,
8148 WDI_DelSTARspCb wdiDelSTARspCb,
8149 void* pUserData
8150);
8151
8152/*========================================================================
8153
8154 SECURITY APIs
8155
8156==========================================================================*/
8157
8158/**
8159 @brief WDI_SetBSSKeyReq will be called when the upper MAC ito
8160 install a BSS encryption key on the HW. Upon the call of
8161 this API the WLAN DAL will pack and send a HAL Start
8162 request message to the lower RIVA sub-system if DAL is
8163 in state STARTED.
8164
8165 In state BUSY this request will be queued. Request won't
8166 be allowed in any other state.
8167
8168 WDI_PostAssocReq must have been called.
8169
8170 @param wdiSetBSSKeyParams: the BSS Key set parameters as
8171 specified by the Device Interface
8172
8173 wdiSetBSSKeyRspCb: callback for passing back the
8174 response of the set BSS Key operation received from the
8175 device
8176
8177 pUserData: user data will be passed back with the
8178 callback
8179
8180 @see WDI_PostAssocReq
8181 @return Result of the function call
8182*/
8183WDI_Status
8184WDI_SetBSSKeyReq
8185(
8186 WDI_SetBSSKeyReqParamsType* pwdiSetBSSKeyParams,
8187 WDI_SetBSSKeyRspCb wdiSetBSSKeyRspCb,
8188 void* pUserData
8189);
8190
8191
8192/**
8193 @brief WDI_RemoveBSSKeyReq will be called when the upper MAC to
8194 uninstall a BSS key from HW. Upon the call of this API
8195 the WLAN DAL will pack and send a HAL Remove BSS Key
8196 request message to the lower RIVA sub-system if DAL is
8197 in state STARTED.
8198
8199 In state BUSY this request will be queued. Request won't
8200 be allowed in any other state.
8201
8202 WDI_SetBSSKeyReq must have been called.
8203
8204 @param wdiRemoveBSSKeyParams: the remove BSS key parameters as
8205 specified by the Device Interface
8206
8207 wdiRemoveBSSKeyRspCb: callback for passing back the
8208 response of the remove BSS key operation received from
8209 the device
8210
8211 pUserData: user data will be passed back with the
8212 callback
8213
8214 @see WDI_SetBSSKeyReq
8215 @return Result of the function call
8216*/
8217WDI_Status
8218WDI_RemoveBSSKeyReq
8219(
8220 WDI_RemoveBSSKeyReqParamsType* pwdiRemoveBSSKeyParams,
8221 WDI_RemoveBSSKeyRspCb wdiRemoveBSSKeyRspCb,
8222 void* pUserData
8223);
8224
8225
8226/**
8227 @brief WDI_SetSTAKeyReq will be called when the upper MAC is
8228 ready to install a STA(ast) encryption key in HW. Upon
8229 the call of this API the WLAN DAL will pack and send a
8230 HAL Set STA Key request message to the lower RIVA
8231 sub-system if DAL is in state STARTED.
8232
8233 In state BUSY this request will be queued. Request won't
8234 be allowed in any other state.
8235
8236 WDI_PostAssocReq must have been called.
8237
8238 @param wdiSetSTAKeyParams: the set STA key parameters as
8239 specified by the Device Interface
8240
8241 wdiSetSTAKeyRspCb: callback for passing back the
8242 response of the set STA key operation received from the
8243 device
8244
8245 pUserData: user data will be passed back with the
8246 callback
8247
8248 @see WDI_PostAssocReq
8249 @return Result of the function call
8250*/
8251WDI_Status
8252WDI_SetSTAKeyReq
8253(
8254 WDI_SetSTAKeyReqParamsType* pwdiSetSTAKeyParams,
8255 WDI_SetSTAKeyRspCb wdiSetSTAKeyRspCb,
8256 void* pUserData
8257);
8258
8259
8260/**
8261 @brief WDI_RemoveSTAKeyReq will be called when the upper MAC
8262 wants to unistall a previously set STA key in HW. Upon
8263 the call of this API the WLAN DAL will pack and send a
8264 HAL Remove STA Key request message to the lower RIVA
8265 sub-system if DAL is in state STARTED.
8266
8267 In state BUSY this request will be queued. Request won't
8268 be allowed in any other state.
8269
8270 WDI_SetSTAKeyReq must have been called.
8271
8272 @param wdiRemoveSTAKeyParams: the remove STA key parameters as
8273 specified by the Device Interface
8274
8275 wdiRemoveSTAKeyRspCb: callback for passing back the
8276 response of the remove STA key operation received from
8277 the device
8278
8279 pUserData: user data will be passed back with the
8280 callback
8281
8282 @see WDI_SetSTAKeyReq
8283 @return Result of the function call
8284*/
8285WDI_Status
8286WDI_RemoveSTAKeyReq
8287(
8288 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTAKeyParams,
8289 WDI_RemoveSTAKeyRspCb wdiRemoveSTAKeyRspCb,
8290 void* pUserData
8291);
8292
8293/**
8294 @brief WDI_SetSTABcastKeyReq will be called when the upper MAC
8295 wants to install a STA Bcast encryption key on the HW.
8296 Upon the call of this API the WLAN DAL will pack and
8297 send a HAL Start request message to the lower RIVA
8298 sub-system if DAL is in state STARTED.
8299
8300 In state BUSY this request will be queued. Request won't
8301 be allowed in any other state.
8302
8303 WDI_PostAssocReq must have been called.
8304
8305 @param pwdiSetSTABcastKeyParams: the BSS Key set parameters as
8306 specified by the Device Interface
8307
8308 wdiSetSTABcastKeyRspCb: callback for passing back the
8309 response of the set BSS Key operation received from the
8310 device
8311
8312 pUserData: user data will be passed back with the
8313 callback
8314
8315 @see WDI_PostAssocReq
8316 @return Result of the function call
8317*/
8318WDI_Status
8319WDI_SetSTABcastKeyReq
8320(
8321 WDI_SetSTAKeyReqParamsType* pwdiSetSTABcastKeyParams,
8322 WDI_SetSTAKeyRspCb wdiSetSTABcastKeyRspCb,
8323 void* pUserData
8324);
8325
8326
8327/**
8328 @brief WDI_RemoveSTABcastKeyReq will be called when the upper
8329 MAC to uninstall a STA Bcast key from HW. Upon the call
8330 of this API the WLAN DAL will pack and send a HAL Remove
8331 STA Bcast Key request message to the lower RIVA
8332 sub-system if DAL is in state STARTED.
8333
8334 In state BUSY this request will be queued. Request won't
8335 be allowed in any other state.
8336
8337 WDI_SetSTABcastKeyReq must have been called.
8338
8339 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
8340 parameters as specified by the Device
8341 Interface
8342
8343 wdiRemoveSTABcastKeyRspCb: callback for passing back the
8344 response of the remove STA Bcast key operation received
8345 from the device
8346
8347 pUserData: user data will be passed back with the
8348 callback
8349
8350 @see WDI_SetSTABcastKeyReq
8351 @return Result of the function call
8352*/
8353WDI_Status
8354WDI_RemoveSTABcastKeyReq
8355(
8356 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTABcastKeyParams,
8357 WDI_RemoveSTAKeyRspCb wdiRemoveSTABcastKeyRspCb,
8358 void* pUserData
8359);
8360
schang86c22c42013-03-13 18:41:24 -07008361
8362/**
8363 @brief WDI_SetTxPowerReq will be called when the upper
8364 MAC wants to set Tx Power to HW.
8365 In state BUSY this request will be queued. Request won't
8366 be allowed in any other state.
8367
8368
8369 @param pwdiSetTxPowerParams: set TS Power parameters
8370 BSSID and target TX Power with dbm included
8371
8372 wdiReqStatusCb: callback for passing back the response
8373
8374 pUserData: user data will be passed back with the
8375 callback
8376
8377 @return Result of the function call
8378*/
8379WDI_Status
8380WDI_SetTxPowerReq
8381(
8382 WDI_SetTxPowerParamsType* pwdiSetTxPowerParams,
8383 WDA_SetTxPowerRspCb wdiReqStatusCb,
8384 void* pUserData
8385);
8386
Jeff Johnson295189b2012-06-20 16:38:30 -07008387/**
8388 @brief WDI_SetMaxTxPowerReq will be called when the upper
8389 MAC wants to set Max Tx Power to HW. Upon the
8390 call of this API the WLAN DAL will pack and send a HAL
8391 Remove STA Bcast Key request message to the lower RIVA
8392 sub-system if DAL is in state STARTED.
8393
8394 In state BUSY this request will be queued. Request won't
8395 be allowed in any other state.
8396
8397 WDI_SetSTABcastKeyReq must have been called.
8398
8399 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
8400 parameters as specified by the Device
8401 Interface
8402
8403 wdiRemoveSTABcastKeyRspCb: callback for passing back the
8404 response of the remove STA Bcast key operation received
8405 from the device
8406
8407 pUserData: user data will be passed back with the
8408 callback
8409
8410 @see WDI_SetMaxTxPowerReq
8411 @return Result of the function call
8412*/
8413WDI_Status
8414WDI_SetMaxTxPowerReq
8415(
8416 WDI_SetMaxTxPowerParamsType* pwdiSetMaxTxPowerParams,
8417 WDA_SetMaxTxPowerRspCb wdiReqStatusCb,
8418 void* pUserData
8419);
8420
Arif Hussaina5ebce02013-08-09 15:09:58 -07008421/**
8422 @brief WDI_SetMaxTxPowerPerBandReq will be called when the upper
8423 MAC wants to set Max Tx Power to HW for specific band. Upon the
8424 call of this API the WLAN DAL will pack and send a HAL
8425 Set Max Tx Power Per Band request message to the lower RIVA
8426 sub-system if DAL is in state STARTED.
8427
8428 In state BUSY this request will be queued. Request won't
8429 be allowed in any other state.
8430
8431
8432 @param WDI_SetMaxTxPowerPerBandParamsType: Max Tx Per Band Info
8433
8434 WDA_SetMaxTxPowerPerBandRspCb: This callback is invoked by DAL
8435 when it has received a set max Tx Power Per Band response from
8436 the underlying device.
8437
8438 pUserData: user data will be passed back with the
8439 callback
8440
8441 @see WDI_SetMaxTxPowerPerBandReq
8442 @return Result of the function call
8443*/
8444WDI_Status
8445WDI_SetMaxTxPowerPerBandReq
8446(
8447 WDI_SetMaxTxPowerPerBandParamsType* pwdiSetMaxTxPowerPerBandParams,
8448 WDA_SetMaxTxPowerPerBandRspCb wdiReqStatusCb,
8449 void* pUserData
8450);
8451
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08008452#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07008453/**
8454 @brief WDI_TSMStatsReq will be called by the upper MAC to fetch
8455 Traffic Stream metrics.
8456 In state BUSY this request will be queued. Request won't
8457 be allowed in any other state.
8458
8459 @param wdiAddTsReqParams: the add TS parameters as specified by
8460 the Device Interface
8461
8462 wdiAddTsRspCb: callback for passing back the response of
8463 the add TS operation received from the device
8464
8465 pUserData: user data will be passed back with the
8466 callback
8467
8468 @see WDI_PostAssocReq
8469 @return Result of the function call
8470*/
8471WDI_Status
8472WDI_TSMStatsReq
8473(
8474 WDI_TSMStatsReqParamsType* pwdiTsmStatsReqParams,
8475 WDI_TsmRspCb wdiTsmStatsRspCb,
8476 void* pUserData
8477);
8478
8479
8480#endif
8481
8482/*========================================================================
8483
8484 QoS and BA APIs
8485
8486==========================================================================*/
8487
8488/**
8489 @brief WDI_AddTSReq will be called when the upper MAC to inform
8490 the device of a successful add TSpec negotiation. HW
8491 needs to receive the TSpec Info from the UMAC in order
8492 to configure properly the QoS data traffic. Upon the
8493 call of this API the WLAN DAL will pack and send a HAL
8494 Add TS request message to the lower RIVA sub-system if
8495 DAL is in state STARTED.
8496
8497 In state BUSY this request will be queued. Request won't
8498 be allowed in any other state.
8499
8500 WDI_PostAssocReq must have been called.
8501
8502 @param wdiAddTsReqParams: the add TS parameters as specified by
8503 the Device Interface
8504
8505 wdiAddTsRspCb: callback for passing back the response of
8506 the add TS operation received from the device
8507
8508 pUserData: user data will be passed back with the
8509 callback
8510
8511 @see WDI_PostAssocReq
8512 @return Result of the function call
8513*/
8514WDI_Status
8515WDI_AddTSReq
8516(
8517 WDI_AddTSReqParamsType* pwdiAddTsReqParams,
8518 WDI_AddTsRspCb wdiAddTsRspCb,
8519 void* pUserData
8520);
8521
8522
8523
8524/**
8525 @brief WDI_DelTSReq will be called when the upper MAC has ended
8526 admission on a specific AC. This is to inform HW that
8527 QoS traffic parameters must be rest. Upon the call of
8528 this API the WLAN DAL will pack and send a HAL Del TS
8529 request message to the lower RIVA sub-system if DAL is
8530 in state STARTED.
8531
8532 In state BUSY this request will be queued. Request won't
8533 be allowed in any other state.
8534
8535 WDI_AddTSReq must have been called.
8536
8537 @param wdiDelTsReqParams: the del TS parameters as specified by
8538 the Device Interface
8539
8540 wdiDelTsRspCb: callback for passing back the response of
8541 the del TS operation received from the device
8542
8543 pUserData: user data will be passed back with the
8544 callback
8545
8546 @see WDI_AddTSReq
8547 @return Result of the function call
8548*/
8549WDI_Status
8550WDI_DelTSReq
8551(
8552 WDI_DelTSReqParamsType* pwdiDelTsReqParams,
8553 WDI_DelTsRspCb wdiDelTsRspCb,
8554 void* pUserData
8555);
8556
8557
8558
8559/**
8560 @brief WDI_UpdateEDCAParams will be called when the upper MAC
8561 wishes to update the EDCA parameters used by HW for QoS
8562 data traffic. Upon the call of this API the WLAN DAL
8563 will pack and send a HAL Update EDCA Params request
8564 message to the lower RIVA sub-system if DAL is in state
8565 STARTED.
8566
8567 In state BUSY this request will be queued. Request won't
8568 be allowed in any other state.
8569
8570 WDI_PostAssocReq must have been called.
8571
8572 @param wdiUpdateEDCAParams: the start parameters as specified
8573 by the Device Interface
8574
8575 wdiUpdateEDCAParamsRspCb: callback for passing back the
8576 response of the start operation received from the device
8577
8578 pUserData: user data will be passed back with the
8579 callback
8580
8581 @see WDI_PostAssocReq
8582 @return Result of the function call
8583*/
8584WDI_Status
8585WDI_UpdateEDCAParams
8586(
8587 WDI_UpdateEDCAParamsType* pwdiUpdateEDCAParams,
8588 WDI_UpdateEDCAParamsRspCb wdiUpdateEDCAParamsRspCb,
8589 void* pUserData
8590);
8591
8592
8593
8594/**
8595 @brief WDI_AddBASessionReq will be called when the upper MAC has setup
8596 successfully a BA session and needs to notify the HW for
8597 the appropriate settings to take place. Upon the call of
8598 this API the WLAN DAL will pack and send a HAL Add BA
8599 request message to the lower RIVA sub-system if DAL is
8600 in state STARTED.
8601
8602 In state BUSY this request will be queued. Request won't
8603 be allowed in any other state.
8604
8605 WDI_PostAssocReq must have been called.
8606
8607 @param wdiAddBAReqParams: the add BA parameters as specified by
8608 the Device Interface
8609
8610 wdiAddBARspCb: callback for passing back the response of
8611 the add BA operation received from the device
8612
8613 pUserData: user data will be passed back with the
8614 callback
8615
8616 @see WDI_PostAssocReq
8617 @return Result of the function call
8618*/
8619WDI_Status
8620WDI_AddBASessionReq
8621(
8622 WDI_AddBASessionReqParamsType* pwdiAddBASessionReqParams,
8623 WDI_AddBASessionRspCb wdiAddBASessionRspCb,
8624 void* pUserData
8625);
8626
8627
8628/**
8629 @brief WDI_DelBAReq will be called when the upper MAC wants to
8630 inform HW that it has deleted a previously created BA
8631 session. Upon the call of this API the WLAN DAL will
8632 pack and send a HAL Del BA request message to the lower
8633 RIVA sub-system if DAL is in state STARTED.
8634
8635 In state BUSY this request will be queued. Request won't
8636 be allowed in any other state.
8637
8638 WDI_AddBAReq must have been called.
8639
8640 @param wdiDelBAReqParams: the del BA parameters as specified by
8641 the Device Interface
8642
8643 wdiDelBARspCb: callback for passing back the response of
8644 the del BA operation received from the device
8645
8646 pUserData: user data will be passed back with the
8647 callback
8648
8649 @see WDI_AddBAReq
8650 @return Result of the function call
8651*/
8652WDI_Status
8653WDI_DelBAReq
8654(
8655 WDI_DelBAReqParamsType* pwdiDelBAReqParams,
8656 WDI_DelBARspCb wdiDelBARspCb,
8657 void* pUserData
8658);
8659
8660/**
8661 @brief WDI_UpdateBeaconParamsReq will be called when the upper MAC wants to
8662 inform HW that there is a change in the beacon parameters
8663 Upon the call of this API the WLAN DAL will
8664 pack and send a UpdateBeacon Params message to the lower
8665 RIVA sub-system if DAL is in state STARTED.
8666
8667 In state BUSY this request will be queued. Request won't
8668 be allowed in any other state.
8669
8670 WDI_UpdateBeaconParamsReq must have been called.
8671
8672 @param WDI_UpdateBeaconParamsType: the Update Beacon parameters as specified by
8673 the Device Interface
8674
8675 WDI_UpdateBeaconParamsRspCb: callback for passing back the response of
8676 the Update Beacon Params operation received from the device
8677
8678 pUserData: user data will be passed back with the
8679 callback
8680
8681 @see WDI_AddBAReq
8682 @return Result of the function call
8683*/
8684
8685WDI_Status
8686WDI_UpdateBeaconParamsReq
8687(
8688 WDI_UpdateBeaconParamsType * pwdiUpdateBeaconParams,
8689 WDI_UpdateBeaconParamsRspCb wdiUpdateBeaconParamsRspCb,
8690 void* pUserData
8691);
8692
8693
8694/**
8695 @brief WDI_SendBeaconParamsReq will be called when the upper MAC wants to
8696 update the beacon template to be transmitted as BT MAP STA/IBSS/Soft AP
8697 Upon the call of this API the WLAN DAL will
8698 pack and send the beacon Template message to the lower
8699 RIVA sub-system if DAL is in state STARTED.
8700
8701 In state BUSY this request will be queued. Request won't
8702 be allowed in any other state.
8703
8704 WDI_SendBeaconParamsReq must have been called.
8705
8706 @param WDI_SendBeaconParamsType: the Update Beacon parameters as specified by
8707 the Device Interface
8708
8709 WDI_SendBeaconParamsRspCb: callback for passing back the response of
8710 the Send Beacon Params operation received from the device
8711
8712 pUserData: user data will be passed back with the
8713 callback
8714
8715 @see WDI_AddBAReq
8716 @return Result of the function call
8717*/
8718
8719WDI_Status
8720WDI_SendBeaconParamsReq
8721(
8722 WDI_SendBeaconParamsType* pwdiSendBeaconParams,
8723 WDI_SendBeaconParamsRspCb wdiSendBeaconParamsRspCb,
8724 void* pUserData
8725);
8726
8727
8728/**
8729 @brief WDI_UpdateProbeRspTemplateReq will be called when the
8730 upper MAC wants to update the probe response template to
8731 be transmitted as Soft AP
8732 Upon the call of this API the WLAN DAL will
8733 pack and send the probe rsp template message to the
8734 lower RIVA sub-system if DAL is in state STARTED.
8735
8736 In state BUSY this request will be queued. Request won't
8737 be allowed in any other state.
8738
8739
8740 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
8741 specified by the Device Interface
8742
8743 wdiSendBeaconParamsRspCb: callback for passing back the
8744 response of the Send Beacon Params operation received
8745 from the device
8746
8747 pUserData: user data will be passed back with the
8748 callback
8749
8750 @see WDI_AddBAReq
8751 @return Result of the function call
8752*/
8753
8754WDI_Status
8755WDI_UpdateProbeRspTemplateReq
8756(
8757 WDI_UpdateProbeRspTemplateParamsType* pwdiUpdateProbeRspParams,
8758 WDI_UpdateProbeRspTemplateRspCb wdiSendBeaconParamsRspCb,
8759 void* pUserData
8760);
8761
Jeff Johnson295189b2012-06-20 16:38:30 -07008762/**
8763 @brief WDI_SetP2PGONOAReq will be called when the
8764 upper MAC wants to send Notice of Absence
8765 Upon the call of this API the WLAN DAL will
8766 pack and send the probe rsp template message to the
8767 lower RIVA sub-system if DAL is in state STARTED.
8768
8769 In state BUSY this request will be queued. Request won't
8770 be allowed in any other state.
8771
8772
8773 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
8774 specified by the Device Interface
8775
8776 wdiSendBeaconParamsRspCb: callback for passing back the
8777 response of the Send Beacon Params operation received
8778 from the device
8779
8780 pUserData: user data will be passed back with the
8781 callback
8782
8783 @see WDI_AddBAReq
8784 @return Result of the function call
8785*/
8786WDI_Status
8787WDI_SetP2PGONOAReq
8788(
8789 WDI_SetP2PGONOAReqParamsType* pwdiP2PGONOAReqParams,
8790 WDI_SetP2PGONOAReqParamsRspCb wdiP2PGONOAReqParamsRspCb,
8791 void* pUserData
8792);
Jeff Johnson295189b2012-06-20 16:38:30 -07008793
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05308794/**
8795 @brief WDI_SetTDLSLinkEstablishReq will be called when the
8796 upper MAC wants to send TDLS Link Establish Request Parameters
8797 Upon the call of this API the WLAN DAL will
8798 pack and send the TDLS Link Establish Request message to the
8799 lower RIVA sub-system if DAL is in state STARTED.
8800
8801 In state BUSY this request will be queued. Request won't
8802 be allowed in any other state.
8803
8804
8805 @param pwdiTDLSLinkEstablishReqParams: TDLS Peer Parameters
8806 for Link Establishment (Used for PUAPSD , TDLS Off Channel ...)
8807
8808 wdiTDLSLinkEstablishReqRspCb: callback for passing back the
8809 response of the TDLS Link Establish request received
8810 from the device
8811
8812 pUserData: user data will be passed back with the
8813 callback
8814
8815 @see
8816 @return Result of the function call
8817*/
8818WDI_Status
8819WDI_SetTDLSLinkEstablishReq
8820(
8821 WDI_SetTDLSLinkEstablishReqParamsType* pwdiTDLSLinkEstablishReqParams,
8822 WDI_SetTDLSLinkEstablishReqParamsRspCb wdiTDLSLinkEstablishReqRspCb,
8823 void* pUserData
8824);
Jeff Johnson295189b2012-06-20 16:38:30 -07008825
8826/*========================================================================
8827
8828 Power Save APIs
8829
8830==========================================================================*/
8831
8832/**
8833 @brief WDI_SetPwrSaveCfgReq will be called when the upper MAC
8834 wants to set the power save related configurations of
8835 the WLAN Device. Upon the call of this API the WLAN DAL
8836 will pack and send a HAL Update CFG request message to
8837 the lower RIVA sub-system if DAL is in state STARTED.
8838
8839 In state BUSY this request will be queued. Request won't
8840 be allowed in any other state.
8841
8842 WDI_Start must have been called.
8843
8844 @param pwdiPowerSaveCfg: the power save cfg parameters as
8845 specified by the Device Interface
8846
8847 wdiSetPwrSaveCfgCb: callback for passing back the
8848 response of the set power save cfg operation received
8849 from the device
8850
8851 pUserData: user data will be passed back with the
8852 callback
8853
8854 @see WDI_Start
8855 @return Result of the function call
8856*/
8857WDI_Status
8858WDI_SetPwrSaveCfgReq
8859(
8860 WDI_UpdateCfgReqParamsType* pwdiPowerSaveCfg,
8861 WDI_SetPwrSaveCfgCb wdiSetPwrSaveCfgCb,
8862 void* pUserData
8863);
8864
8865/**
8866 @brief WDI_EnterImpsReq will be called when the upper MAC to
8867 request the device to get into IMPS power state. Upon
8868 the call of this API the WLAN DAL will send a HAL Enter
8869 IMPS request message to the lower RIVA sub-system if DAL
8870 is in state STARTED.
8871
8872 In state BUSY this request will be queued. Request won't
8873 be allowed in any other state.
8874
8875
8876 @param wdiEnterImpsRspCb: callback for passing back the
8877 response of the Enter IMPS operation received from the
8878 device
8879
8880 pUserData: user data will be passed back with the
8881 callback
8882
8883 @see WDI_Start
8884 @return Result of the function call
8885*/
8886WDI_Status
8887WDI_EnterImpsReq
8888(
Mihir Shetea4306052014-03-25 00:02:54 +05308889 WDI_EnterImpsReqParamsType *pwdiEnterImpsReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07008890 WDI_EnterImpsRspCb wdiEnterImpsRspCb,
8891 void* pUserData
8892);
8893
8894/**
8895 @brief WDI_ExitImpsReq will be called when the upper MAC to
8896 request the device to get out of IMPS power state. Upon
8897 the call of this API the WLAN DAL will send a HAL Exit
8898 IMPS request message to the lower RIVA sub-system if DAL
8899 is in state STARTED.
8900
8901 In state BUSY this request will be queued. Request won't
8902 be allowed in any other state.
8903
8904
8905
8906 @param wdiExitImpsRspCb: callback for passing back the response
8907 of the Exit IMPS operation received from the device
8908
8909 pUserData: user data will be passed back with the
8910 callback
8911
8912 @see WDI_Start
8913 @return Result of the function call
8914*/
8915WDI_Status
8916WDI_ExitImpsReq
8917(
8918 WDI_ExitImpsRspCb wdiExitImpsRspCb,
8919 void* pUserData
8920);
8921
8922/**
8923 @brief WDI_EnterBmpsReq will be called when the upper MAC to
8924 request the device to get into BMPS power state. Upon
8925 the call of this API the WLAN DAL will pack and send a
8926 HAL Enter BMPS request message to the lower RIVA
8927 sub-system if DAL is in state STARTED.
8928
8929 In state BUSY this request will be queued. Request won't
8930 be allowed in any other state.
8931
8932 WDI_PostAssocReq must have been called.
8933
8934 @param pwdiEnterBmpsReqParams: the Enter BMPS parameters as
8935 specified by the Device Interface
8936
8937 wdiEnterBmpsRspCb: callback for passing back the
8938 response of the Enter BMPS operation received from the
8939 device
8940
8941 pUserData: user data will be passed back with the
8942 callback
8943
8944 @see WDI_PostAssocReq
8945 @return Result of the function call
8946*/
8947WDI_Status
8948WDI_EnterBmpsReq
8949(
8950 WDI_EnterBmpsReqParamsType *pwdiEnterBmpsReqParams,
8951 WDI_EnterBmpsRspCb wdiEnterBmpsRspCb,
8952 void* pUserData
8953);
8954
8955/**
8956 @brief WDI_ExitBmpsReq will be called when the upper MAC to
8957 request the device to get out of BMPS power state. Upon
8958 the call of this API the WLAN DAL will pack and send a
8959 HAL Exit BMPS request message to the lower RIVA
8960 sub-system if DAL is in state STARTED.
8961
8962 In state BUSY this request will be queued. Request won't
8963 be allowed in any other state.
8964
8965 WDI_PostAssocReq must have been called.
8966
8967 @param pwdiExitBmpsReqParams: the Exit BMPS parameters as
8968 specified by the Device Interface
8969
8970 wdiExitBmpsRspCb: callback for passing back the response
8971 of the Exit BMPS operation received from the device
8972
8973 pUserData: user data will be passed back with the
8974 callback
8975
8976 @see WDI_PostAssocReq
8977 @return Result of the function call
8978*/
8979WDI_Status
8980WDI_ExitBmpsReq
8981(
8982 WDI_ExitBmpsReqParamsType *pwdiExitBmpsReqParams,
8983 WDI_ExitBmpsRspCb wdiExitBmpsRspCb,
8984 void* pUserData
8985);
8986
8987/**
8988 @brief WDI_EnterUapsdReq will be called when the upper MAC to
8989 request the device to get into UAPSD power state. Upon
8990 the call of this API the WLAN DAL will pack and send a
8991 HAL Enter UAPSD request message to the lower RIVA
8992 sub-system if DAL is in state STARTED.
8993
8994 In state BUSY this request will be queued. Request won't
8995 be allowed in any other state.
8996
8997 WDI_PostAssocReq must have been called.
8998 WDI_SetUapsdAcParamsReq must have been called.
8999
9000 @param pwdiEnterUapsdReqParams: the Enter UAPSD parameters as
9001 specified by the Device Interface
9002
9003 wdiEnterUapsdRspCb: callback for passing back the
9004 response of the Enter UAPSD operation received from the
9005 device
9006
9007 pUserData: user data will be passed back with the
9008 callback
9009
9010 @see WDI_PostAssocReq, WDI_SetUapsdAcParamsReq
9011 @return Result of the function call
9012*/
9013WDI_Status
9014WDI_EnterUapsdReq
9015(
9016 WDI_EnterUapsdReqParamsType *pwdiEnterUapsdReqParams,
9017 WDI_EnterUapsdRspCb wdiEnterUapsdRspCb,
9018 void* pUserData
9019);
9020
9021/**
9022 @brief WDI_ExitUapsdReq will be called when the upper MAC to
9023 request the device to get out of UAPSD power state. Upon
9024 the call of this API the WLAN DAL will send a HAL Exit
9025 UAPSD request message to the lower RIVA sub-system if
9026 DAL is in state STARTED.
9027
9028 In state BUSY this request will be queued. Request won't
9029 be allowed in any other state.
9030
9031 WDI_PostAssocReq must have been called.
9032
9033 @param wdiExitUapsdRspCb: callback for passing back the
9034 response of the Exit UAPSD operation received from the
9035 device
9036
9037 pUserData: user data will be passed back with the
9038 callback
9039
9040 @see WDI_PostAssocReq
9041 @return Result of the function call
9042*/
9043WDI_Status
9044WDI_ExitUapsdReq
9045(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07009046 WDI_ExitUapsdReqParamsType *pwdiExitUapsdReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009047 WDI_ExitUapsdRspCb wdiExitUapsdRspCb,
9048 void* pUserData
9049);
9050
9051/**
9052 @brief WDI_UpdateUapsdParamsReq will be called when the upper
9053 MAC wants to set the UAPSD related configurations
9054 of an associated STA (while acting as an AP) to the WLAN
9055 Device. Upon the call of this API the WLAN DAL will pack
9056 and send a HAL Update UAPSD params request message to
9057 the lower RIVA sub-system if DAL is in state STARTED.
9058
9059 In state BUSY this request will be queued. Request won't
9060 be allowed in any other state.
9061
9062 WDI_ConfigBSSReq must have been called.
9063
9064 @param pwdiUpdateUapsdReqParams: the UAPSD parameters
9065 as specified by the Device Interface
9066
9067 wdiUpdateUapsdParamsCb: callback for passing back the
9068 response of the update UAPSD params operation received
9069 from the device
9070
9071 pUserData: user data will be passed back with the
9072 callback
9073
9074 @see WDI_ConfigBSSReq
9075 @return Result of the function call
9076*/
9077WDI_Status
9078WDI_UpdateUapsdParamsReq
9079(
9080 WDI_UpdateUapsdReqParamsType *pwdiUpdateUapsdReqParams,
9081 WDI_UpdateUapsdParamsCb wdiUpdateUapsdParamsCb,
9082 void* pUserData
9083);
9084
9085/**
9086 @brief WDI_SetUapsdAcParamsReq will be called when the upper
9087 MAC wants to set the UAPSD related configurations before
9088 requesting for enter UAPSD power state to the WLAN
9089 Device. Upon the call of this API the WLAN DAL will pack
9090 and send a HAL Set UAPSD params request message to
9091 the lower RIVA sub-system if DAL is in state STARTED.
9092
9093 In state BUSY this request will be queued. Request won't
9094 be allowed in any other state.
9095
9096 WDI_PostAssocReq must have been called.
9097
9098 @param pwdiUapsdInfo: the UAPSD parameters as specified by
9099 the Device Interface
9100
9101 wdiSetUapsdAcParamsCb: callback for passing back the
9102 response of the set UAPSD params operation received from
9103 the device
9104
9105 pUserData: user data will be passed back with the
9106 callback
9107
9108 @see WDI_PostAssocReq
9109 @return Result of the function call
9110*/
9111WDI_Status
9112WDI_SetUapsdAcParamsReq
9113(
9114 WDI_SetUapsdAcParamsReqParamsType* pwdiPowerSaveCfg,
9115 WDI_SetUapsdAcParamsCb wdiSetUapsdAcParamsCb,
9116 void* pUserData
9117);
9118
9119/**
9120 @brief WDI_ConfigureRxpFilterReq will be called when the upper
9121 MAC wants to set/reset the RXP filters for received pkts
9122 (MC, BC etc.). Upon the call of this API the WLAN DAL will pack
9123 and send a HAL configure RXP filter request message to
9124 the lower RIVA sub-system.
9125
9126 In state BUSY this request will be queued. Request won't
9127 be allowed in any other state.
9128
9129
9130 @param pwdiConfigureRxpFilterReqParams: the RXP
9131 filter as specified by the Device
9132 Interface
9133
9134 wdiConfigureRxpFilterCb: callback for passing back the
9135 response of the configure RXP filter operation received
9136 from the device
9137
9138 pUserData: user data will be passed back with the
9139 callback
9140
9141 @return Result of the function call
9142*/
9143WDI_Status
9144WDI_ConfigureRxpFilterReq
9145(
9146 WDI_ConfigureRxpFilterReqParamsType *pwdiConfigureRxpFilterReqParams,
9147 WDI_ConfigureRxpFilterCb wdiConfigureRxpFilterCb,
9148 void* pUserData
9149);
9150
9151/**
9152 @brief WDI_SetBeaconFilterReq will be called when the upper MAC
9153 wants to set the beacon filters while in power save.
9154 Upon the call of this API the WLAN DAL will pack and
9155 send a Beacon filter request message to the
9156 lower RIVA sub-system.
9157
9158 In state BUSY this request will be queued. Request won't
9159 be allowed in any other state.
9160
9161
9162 @param pwdiBeaconFilterReqParams: the beacon
9163 filter as specified by the Device
9164 Interface
9165
9166 wdiBeaconFilterCb: callback for passing back the
9167 response of the set beacon filter operation received
9168 from the device
9169
9170 pUserData: user data will be passed back with the
9171 callback
9172
9173 @return Result of the function call
9174*/
9175WDI_Status
9176WDI_SetBeaconFilterReq
9177(
9178 WDI_BeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
9179 WDI_SetBeaconFilterCb wdiBeaconFilterCb,
9180 void* pUserData
9181);
9182
9183/**
9184 @brief WDI_RemBeaconFilterReq will be called when the upper MAC
9185 wants to remove the beacon filter for perticular IE
9186 while in power save. Upon the call of this API the WLAN
9187 DAL will pack and send a remove Beacon filter request
9188 message to the lower RIVA sub-system.
9189
9190 In state BUSY this request will be queued. Request won't
9191 be allowed in any other state.
9192
9193
9194 @param pwdiBeaconFilterReqParams: the beacon
9195 filter as specified by the Device
9196 Interface
9197
9198 wdiBeaconFilterCb: callback for passing back the
9199 response of the remove beacon filter operation received
9200 from the device
9201
9202 pUserData: user data will be passed back with the
9203 callback
9204
9205 @return Result of the function call
9206*/
9207WDI_Status
9208WDI_RemBeaconFilterReq
9209(
9210 WDI_RemBeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
9211 WDI_RemBeaconFilterCb wdiBeaconFilterCb,
9212 void* pUserData
9213);
9214
9215/**
9216 @brief WDI_SetRSSIThresholdsReq will be called when the upper
9217 MAC wants to set the RSSI thresholds related
9218 configurations while in power save. Upon the call of
9219 this API the WLAN DAL will pack and send a HAL Set RSSI
9220 thresholds request message to the lower RIVA
9221 sub-system if DAL is in state STARTED.
9222
9223 In state BUSY this request will be queued. Request won't
9224 be allowed in any other state.
9225
9226 WDI_PostAssocReq must have been called.
9227
9228 @param pwdiUapsdInfo: the UAPSD parameters as specified by
9229 the Device Interface
9230
9231 wdiSetUapsdAcParamsCb: callback for passing back the
9232 response of the set UAPSD params operation received from
9233 the device
9234
9235 pUserData: user data will be passed back with the
9236 callback
9237
9238 @see WDI_PostAssocReq
9239 @return Result of the function call
9240*/
9241WDI_Status
9242WDI_SetRSSIThresholdsReq
9243(
9244 WDI_SetRSSIThresholdsReqParamsType* pwdiRSSIThresholdsParams,
9245 WDI_SetRSSIThresholdsCb wdiSetRSSIThresholdsCb,
9246 void* pUserData
9247);
9248
9249/**
9250 @brief WDI_HostOffloadReq will be called when the upper MAC
9251 wants to set the filter to minimize unnecessary host
9252 wakeup due to broadcast traffic while in power save.
9253 Upon the call of this API the WLAN DAL will pack and
9254 send a HAL host offload request message to the
9255 lower RIVA sub-system if DAL is in state STARTED.
9256
9257 In state BUSY this request will be queued. Request won't
9258 be allowed in any other state.
9259
9260 WDI_PostAssocReq must have been called.
9261
9262 @param pwdiHostOffloadParams: the host offload as specified
9263 by the Device Interface
9264
9265 wdiHostOffloadCb: callback for passing back the response
9266 of the host offload operation received from the
9267 device
9268
9269 pUserData: user data will be passed back with the
9270 callback
9271
9272 @see WDI_PostAssocReq
9273 @return Result of the function call
9274*/
9275WDI_Status
9276WDI_HostOffloadReq
9277(
9278 WDI_HostOffloadReqParamsType* pwdiHostOffloadParams,
9279 WDI_HostOffloadCb wdiHostOffloadCb,
9280 void* pUserData
9281);
9282
9283/**
9284 @brief WDI_KeepAliveReq will be called when the upper MAC
9285 wants to set the filter to send NULL or unsolicited ARP responses
9286 and minimize unnecessary host wakeups due to while in power save.
9287 Upon the call of this API the WLAN DAL will pack and
9288 send a HAL Keep Alive request message to the
9289 lower RIVA sub-system if DAL is in state STARTED.
9290
9291 In state BUSY this request will be queued. Request won't
9292 be allowed in any other state.
9293
9294 WDI_PostAssocReq must have been called.
9295
9296 @param pwdiKeepAliveParams: the Keep Alive as specified
9297 by the Device Interface
9298
9299 wdiKeepAliveCb: callback for passing back the response
9300 of the Keep Alive operation received from the
9301 device
9302
9303 pUserData: user data will be passed back with the
9304 callback
9305
9306 @see WDI_PostAssocReq
9307 @return Result of the function call
9308*/
9309WDI_Status
9310WDI_KeepAliveReq
9311(
9312 WDI_KeepAliveReqParamsType* pwdiKeepAliveParams,
9313 WDI_KeepAliveCb wdiKeepAliveCb,
9314 void* pUserData
9315);
9316
9317/**
9318 @brief WDI_WowlAddBcPtrnReq will be called when the upper MAC
9319 wants to set the Wowl Bcast ptrn to minimize unnecessary
9320 host wakeup due to broadcast traffic while in power
9321 save. Upon the call of this API the WLAN DAL will pack
9322 and send a HAL Wowl Bcast ptrn request message to the
9323 lower RIVA sub-system if DAL is in state STARTED.
9324
9325 In state BUSY this request will be queued. Request won't
9326 be allowed in any other state.
9327
9328 WDI_PostAssocReq must have been called.
9329
9330 @param pwdiWowlAddBcPtrnParams: the Wowl bcast ptrn as
9331 specified by the Device Interface
9332
9333 wdiWowlAddBcPtrnCb: callback for passing back the
9334 response of the add Wowl bcast ptrn operation received
9335 from the device
9336
9337 pUserData: user data will be passed back with the
9338 callback
9339
9340 @see WDI_PostAssocReq
9341 @return Result of the function call
9342*/
9343WDI_Status
9344WDI_WowlAddBcPtrnReq
9345(
9346 WDI_WowlAddBcPtrnReqParamsType* pwdiWowlAddBcPtrnParams,
9347 WDI_WowlAddBcPtrnCb wdiWowlAddBcPtrnCb,
9348 void* pUserData
9349);
9350
9351/**
9352 @brief WDI_WowlDelBcPtrnReq will be called when the upper MAC
9353 wants to clear the Wowl Bcast ptrn. Upon the call of
9354 this API the WLAN DAL will pack and send a HAL delete
9355 Wowl Bcast ptrn request message to the lower RIVA
9356 sub-system if DAL is in state STARTED.
9357
9358 In state BUSY this request will be queued. Request won't
9359 be allowed in any other state.
9360
9361 WDI_WowlAddBcPtrnReq must have been called.
9362
9363 @param pwdiWowlDelBcPtrnParams: the Wowl bcast ptrn as
9364 specified by the Device Interface
9365
9366 wdiWowlDelBcPtrnCb: callback for passing back the
9367 response of the del Wowl bcast ptrn operation received
9368 from the device
9369
9370 pUserData: user data will be passed back with the
9371 callback
9372
9373 @see WDI_WowlAddBcPtrnReq
9374 @return Result of the function call
9375*/
9376WDI_Status
9377WDI_WowlDelBcPtrnReq
9378(
9379 WDI_WowlDelBcPtrnReqParamsType* pwdiWowlDelBcPtrnParams,
9380 WDI_WowlDelBcPtrnCb wdiWowlDelBcPtrnCb,
9381 void* pUserData
9382);
9383
9384/**
9385 @brief WDI_WowlEnterReq will be called when the upper MAC
9386 wants to enter the Wowl state to minimize unnecessary
9387 host wakeup while in power save. Upon the call of this
9388 API the WLAN DAL will pack and send a HAL Wowl enter
9389 request message to the lower RIVA sub-system if DAL is
9390 in state STARTED.
9391
9392 In state BUSY this request will be queued. Request won't
9393 be allowed in any other state.
9394
9395 WDI_PostAssocReq must have been called.
9396
9397 @param pwdiWowlEnterReqParams: the Wowl enter info as
9398 specified by the Device Interface
9399
9400 wdiWowlEnterReqCb: callback for passing back the
9401 response of the enter Wowl operation received from the
9402 device
9403
9404 pUserData: user data will be passed back with the
9405 callback
9406
9407 @see WDI_PostAssocReq
9408 @return Result of the function call
9409*/
9410WDI_Status
9411WDI_WowlEnterReq
9412(
9413 WDI_WowlEnterReqParamsType* pwdiWowlEnterParams,
9414 WDI_WowlEnterReqCb wdiWowlEnterCb,
9415 void* pUserData
9416);
9417
9418/**
9419 @brief WDI_WowlExitReq will be called when the upper MAC
9420 wants to exit the Wowl state. Upon the call of this API
9421 the WLAN DAL will pack and send a HAL Wowl exit request
9422 message to the lower RIVA sub-system if DAL is in state
9423 STARTED.
9424
9425 In state BUSY this request will be queued. Request won't
9426 be allowed in any other state.
9427
9428 WDI_WowlEnterReq must have been called.
9429
9430 @param pwdiWowlExitReqParams: the Wowl exit info as
9431 specified by the Device Interface
9432
9433 wdiWowlExitReqCb: callback for passing back the response
9434 of the exit Wowl operation received from the device
9435
9436 pUserData: user data will be passed back with the
9437 callback
9438
9439 @see WDI_WowlEnterReq
9440 @return Result of the function call
9441*/
9442WDI_Status
9443WDI_WowlExitReq
9444(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07009445 WDI_WowlExitReqParamsType* pwdiWowlExitParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009446 WDI_WowlExitReqCb wdiWowlExitCb,
9447 void* pUserData
9448);
9449
9450/**
9451 @brief WDI_ConfigureAppsCpuWakeupStateReq will be called when
9452 the upper MAC wants to dynamically adjusts the listen
9453 interval based on the WLAN/MSM activity. Upon the call
9454 of this API the WLAN DAL will pack and send a HAL
9455 configure Apps Cpu Wakeup State request message to the
9456 lower RIVA sub-system.
9457
9458 In state BUSY this request will be queued. Request won't
9459 be allowed in any other state.
9460
9461
9462 @param pwdiConfigureAppsCpuWakeupStateReqParams: the
9463 Apps Cpu Wakeup State as specified by the
9464 Device Interface
9465
9466 wdiConfigureAppsCpuWakeupStateCb: callback for passing
9467 back the response of the configure Apps Cpu Wakeup State
9468 operation received from the device
9469
9470 pUserData: user data will be passed back with the
9471 callback
9472
9473 @return Result of the function call
9474*/
9475WDI_Status
9476WDI_ConfigureAppsCpuWakeupStateReq
9477(
9478 WDI_ConfigureAppsCpuWakeupStateReqParamsType *pwdiConfigureAppsCpuWakeupStateReqParams,
9479 WDI_ConfigureAppsCpuWakeupStateCb wdiConfigureAppsCpuWakeupStateCb,
9480 void* pUserData
9481);
9482/**
9483 @brief WDI_FlushAcReq will be called when the upper MAC wants
9484 to to perform a flush operation on a given AC. Upon the
9485 call of this API the WLAN DAL will pack and send a HAL
9486 Flush AC request message to the lower RIVA sub-system if
9487 DAL is in state STARTED.
9488
9489 In state BUSY this request will be queued. Request won't
9490 be allowed in any other state.
9491
9492
9493 @param pwdiFlushAcReqParams: the Flush AC parameters as
9494 specified by the Device Interface
9495
9496 wdiFlushAcRspCb: callback for passing back the response
9497 of the Flush AC operation received from the device
9498
9499 pUserData: user data will be passed back with the
9500 callback
9501
9502 @return Result of the function call
9503*/
9504WDI_Status
9505WDI_FlushAcReq
9506(
9507 WDI_FlushAcReqParamsType* pwdiFlushAcReqParams,
9508 WDI_FlushAcRspCb wdiFlushAcRspCb,
9509 void* pUserData
9510);
9511
9512/**
9513 @brief WDI_BtAmpEventReq will be called when the upper MAC
9514 wants to notify the lower mac on a BT AMP event. This is
9515 to inform BTC-SLM that some BT AMP event occurred. Upon
9516 the call of this API the WLAN DAL will pack and send a
9517 HAL BT AMP event request message to the lower RIVA
9518 sub-system if DAL is in state STARTED.
9519
9520 In state BUSY this request will be queued. Request won't
9521 be allowed in any other state.
9522
9523
9524 @param wdiBtAmpEventReqParams: the BT AMP event parameters as
9525 specified by the Device Interface
9526
9527 wdiBtAmpEventRspCb: callback for passing back the
9528 response of the BT AMP event operation received from the
9529 device
9530
9531 pUserData: user data will be passed back with the
9532 callback
9533
9534 @return Result of the function call
9535*/
9536WDI_Status
9537WDI_BtAmpEventReq
9538(
9539 WDI_BtAmpEventParamsType* pwdiBtAmpEventReqParams,
9540 WDI_BtAmpEventRspCb wdiBtAmpEventRspCb,
9541 void* pUserData
9542);
9543
Jeff Johnsone7245742012-09-05 17:12:55 -07009544#ifdef FEATURE_OEM_DATA_SUPPORT
9545/**
9546 @brief WDI_Start oem data Req will be called when the upper MAC
9547 wants to notify the lower mac on a oem data Req event.Upon
9548 the call of this API the WLAN DAL will pack and send a
9549 HAL OEM Data Req event request message to the lower RIVA
9550 sub-system if DAL is in state STARTED.
9551
9552 In state BUSY this request will be queued. Request won't
9553 be allowed in any other state.
9554
9555
9556 @param pWdiOemDataReqParams: the oem data req parameters as
9557 specified by the Device Interface
9558
9559 wdiStartOemDataRspCb: callback for passing back the
9560 response of the Oem Data Req received from the
9561 device
9562
9563 pUserData: user data will be passed back with the
9564 callback
9565
9566 @return Result of the function call
9567*/
9568WDI_Status
9569WDI_StartOemDataReq
9570(
9571 WDI_oemDataReqParamsType* pWdiOemDataReqParams,
9572 WDI_oemDataRspCb wdiOemDataRspCb,
9573 void* pUserData
9574);
9575#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07009576
9577/*========================================================================
9578
9579 CONTROL APIs
9580
9581==========================================================================*/
9582/**
9583 @brief WDI_SwitchChReq will be called when the upper MAC wants
9584 the WLAN HW to change the current channel of operation.
9585 Upon the call of this API the WLAN DAL will pack and
9586 send a HAL Start request message to the lower RIVA
9587 sub-system if DAL is in state STARTED.
9588
9589 In state BUSY this request will be queued. Request won't
9590 be allowed in any other state.
9591
9592 WDI_Start must have been called.
9593
9594 @param wdiSwitchChReqParams: the switch ch parameters as
9595 specified by the Device Interface
9596
9597 wdiSwitchChRspCb: callback for passing back the response
9598 of the switch ch operation received from the device
9599
9600 pUserData: user data will be passed back with the
9601 callback
9602
9603 @see WDI_Start
9604 @return Result of the function call
9605*/
9606WDI_Status
9607WDI_SwitchChReq
9608(
9609 WDI_SwitchChReqParamsType* pwdiSwitchChReqParams,
9610 WDI_SwitchChRspCb wdiSwitchChRspCb,
9611 void* pUserData
9612);
9613
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08009614/**
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08009615 @brief WDI_SwitchChReq_V1 is similar to WDI_SwitchChReq except
9616 it also send type source for the channel change.
9617 WDI_Start must have been called.
9618
9619 @param wdiSwitchChReqParams: the switch ch parameters as
9620 specified by the Device Interface
9621
9622 wdiSwitchChRspCb: callback for passing back the response
9623 of the switch ch operation received from the device
9624
9625 pUserData: user data will be passed back with the
9626 callback
9627
9628 @see WDI_Start
9629 @return Result of the function call
9630*/
9631
9632WDI_Status
9633WDI_SwitchChReq_V1
9634(
9635 WDI_SwitchChReqParamsType_V1* pwdiSwitchChReqParams,
9636 WDI_SwitchChRspCb_V1 wdiSwitchChRspCb,
9637 void* pUserData
9638);
9639
9640/**
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08009641 @brief WDI_UpdateChannelReq will be called when the upper MAC
9642 wants to update the channel list on change in country code.
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08009643 In state BUSY this request will be queued. Request won't
9644 be allowed in any other state.
9645
9646 WDI_UpdateChannelReq must have been called.
9647
9648 @param wdiUpdateChannelReqParams: the updated channel parameters
9649 as specified by the Device Interface
9650
9651 wdiUpdateChannelRspCb: callback for passing back the
9652 response of the update channel operation received from
9653 the device
9654
9655 pUserData: user data will be passed back with the
9656 callback
9657
9658 @return Result of the function call
9659*/
9660WDI_Status
9661WDI_UpdateChannelReq
9662(
9663 WDI_UpdateChReqParamsType *pwdiUpdateChannelReqParams,
9664 WDI_UpdateChannelRspCb wdiUpdateChannelRspCb,
9665 void* pUserData
9666);
Jeff Johnson295189b2012-06-20 16:38:30 -07009667
9668/**
9669 @brief WDI_ConfigSTAReq will be called when the upper MAC
9670 wishes to add or update a STA in HW. Upon the call of
9671 this API the WLAN DAL will pack and send a HAL Start
9672 message request message to the lower RIVA sub-system if
9673 DAL is in state STARTED.
9674
9675 In state BUSY this request will be queued. Request won't
9676 be allowed in any other state.
9677
9678 WDI_Start must have been called.
9679
9680 @param wdiConfigSTAReqParams: the config STA parameters as
9681 specified by the Device Interface
9682
9683 wdiConfigSTARspCb: callback for passing back the
9684 response of the config STA operation received from the
9685 device
9686
9687 pUserData: user data will be passed back with the
9688 callback
9689
9690 @see WDI_Start
9691 @return Result of the function call
9692*/
9693WDI_Status
9694WDI_ConfigSTAReq
9695(
9696 WDI_ConfigSTAReqParamsType* pwdiConfigSTAReqParams,
9697 WDI_ConfigSTARspCb wdiConfigSTARspCb,
9698 void* pUserData
9699);
9700
9701/**
9702 @brief WDI_SetLinkStateReq will be called when the upper MAC
9703 wants to change the state of an ongoing link. Upon the
9704 call of this API the WLAN DAL will pack and send a HAL
9705 Start message request message to the lower RIVA
9706 sub-system if DAL is in state STARTED.
9707
9708 In state BUSY this request will be queued. Request won't
9709 be allowed in any other state.
9710
9711 WDI_JoinReq must have been called.
9712
9713 @param wdiSetLinkStateReqParams: the set link state parameters
9714 as specified by the Device Interface
9715
9716 wdiSetLinkStateRspCb: callback for passing back the
9717 response of the set link state operation received from
9718 the device
9719
9720 pUserData: user data will be passed back with the
9721 callback
9722
9723 @see WDI_JoinStartReq
9724 @return Result of the function call
9725*/
9726WDI_Status
9727WDI_SetLinkStateReq
9728(
9729 WDI_SetLinkReqParamsType* pwdiSetLinkStateReqParams,
9730 WDI_SetLinkStateRspCb wdiSetLinkStateRspCb,
9731 void* pUserData
9732);
9733
9734
9735/**
9736 @brief WDI_GetStatsReq will be called when the upper MAC wants
9737 to get statistics (MIB counters) from the device. Upon
9738 the call of this API the WLAN DAL will pack and send a
9739 HAL Start request message to the lower RIVA sub-system
9740 if DAL is in state STARTED.
9741
9742 In state BUSY this request will be queued. Request won't
9743 be allowed in any other state.
9744
9745 WDI_Start must have been called.
9746
9747 @param wdiGetStatsReqParams: the stats parameters to get as
9748 specified by the Device Interface
9749
9750 wdiGetStatsRspCb: callback for passing back the response
9751 of the get stats operation received from the device
9752
9753 pUserData: user data will be passed back with the
9754 callback
9755
9756 @see WDI_Start
9757 @return Result of the function call
9758*/
9759WDI_Status
9760WDI_GetStatsReq
9761(
9762 WDI_GetStatsReqParamsType* pwdiGetStatsReqParams,
9763 WDI_GetStatsRspCb wdiGetStatsRspCb,
9764 void* pUserData
9765);
9766
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08009767#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08009768/**
9769 @brief WDI_GetRoamRssiReq will be called when the upper MAC wants
9770 to get roam rssi from the device. Upon
9771 the call of this API the WLAN DAL will pack and send a
9772 HAL Start request message to the lower RIVA sub-system
9773 if DAL is in state STARTED.
9774
9775 In state BUSY this request will be queued. Request won't
9776 be allowed in any other state.
9777
9778 WDI_Start must have been called.
9779
9780 @param wdiGetRoamRssiReqParams: the stats parameters to get as
9781 specified by the Device Interface
9782
9783 wdiGetRoamRssispCb: callback for passing back the response
9784 of the get stats operation received from the device
9785
9786 pUserData: user data will be passed back with the
9787 callback
9788
9789 @see WDI_Start
9790 @return Result of the function call
9791*/
9792WDI_Status
9793WDI_GetRoamRssiReq
9794(
9795 WDI_GetRoamRssiReqParamsType* pwdiGetRoamRssiReqParams,
9796 WDI_GetRoamRssiRspCb wdiGetRoamRssiRspCb,
9797 void* pUserData
9798);
9799#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07009800
9801/**
9802 @brief WDI_UpdateCfgReq will be called when the upper MAC when
9803 it wishes to change the configuration of the WLAN
9804 Device. Upon the call of this API the WLAN DAL will pack
9805 and send a HAL Update CFG request message to the lower
9806 RIVA sub-system if DAL is in state STARTED.
9807
9808 In state BUSY this request will be queued. Request won't
9809 be allowed in any other state.
9810
9811 WDI_Start must have been called.
9812
9813 @param wdiUpdateCfgReqParams: the update cfg parameters as
9814 specified by the Device Interface
9815
9816 wdiUpdateCfgsRspCb: callback for passing back the
9817 response of the update cfg operation received from the
9818 device
9819
9820 pUserData: user data will be passed back with the
9821 callback
9822
9823 @see WDI_Start
9824 @return Result of the function call
9825*/
9826WDI_Status
9827WDI_UpdateCfgReq
9828(
9829 WDI_UpdateCfgReqParamsType* pwdiUpdateCfgReqParams,
9830 WDI_UpdateCfgRspCb wdiUpdateCfgsRspCb,
9831 void* pUserData
9832);
9833
9834/**
9835 @brief WDI_NvDownloadReq will be called by the UMAC to dowload the NV blob
9836 to the NV memory.
9837
9838 @param wdiNvDownloadReqParams: the NV Download parameters as specified by
9839 the Device Interface
9840
9841 wdiNvDownloadRspCb: callback for passing back the response of
9842 the NV Download operation received from the device
9843
9844 pUserData: user data will be passed back with the
9845 callback
9846
9847 @see WDI_PostAssocReq
9848 @return Result of the function call
9849*/
9850WDI_Status
9851WDI_NvDownloadReq
9852(
9853 WDI_NvDownloadReqParamsType* pwdiNvDownloadReqParams,
9854 WDI_NvDownloadRspCb wdiNvDownloadRspCb,
9855 void* pUserData
9856);
9857/**
9858 @brief WDI_AddBAReq will be called when the upper MAC has setup
9859 successfully a BA session and needs to notify the HW for
9860 the appropriate settings to take place. Upon the call of
9861 this API the WLAN DAL will pack and send a HAL Add BA
9862 request message to the lower RIVA sub-system if DAL is
9863 in state STARTED.
9864
9865 In state BUSY this request will be queued. Request won't
9866 be allowed in any other state.
9867
9868 WDI_PostAssocReq must have been called.
9869
9870 @param wdiAddBAReqParams: the add BA parameters as specified by
9871 the Device Interface
9872
9873 wdiAddBARspCb: callback for passing back the response of
9874 the add BA operation received from the device
9875
9876 pUserData: user data will be passed back with the
9877 callback
9878
9879 @see WDI_PostAssocReq
9880 @return Result of the function call
9881*/
9882WDI_Status
9883WDI_AddBAReq
9884(
9885 WDI_AddBAReqParamsType* pwdiAddBAReqParams,
9886 WDI_AddBARspCb wdiAddBARspCb,
9887 void* pUserData
9888);
9889
9890/**
9891 @brief WDI_TriggerBAReq will be called when the upper MAC has setup
9892 successfully a BA session and needs to notify the HW for
9893 the appropriate settings to take place. Upon the call of
9894 this API the WLAN DAL will pack and send a HAL Add BA
9895 request message to the lower RIVA sub-system if DAL is
9896 in state STARTED.
9897
9898 In state BUSY this request will be queued. Request won't
9899 be allowed in any other state.
9900
9901 WDI_PostAssocReq must have been called.
9902
9903 @param wdiAddBAReqParams: the add BA parameters as specified by
9904 the Device Interface
9905
9906 wdiAddBARspCb: callback for passing back the response of
9907 the add BA operation received from the device
9908
9909 pUserData: user data will be passed back with the
9910 callback
9911
9912 @see WDI_PostAssocReq
9913 @return Result of the function call
9914*/
9915WDI_Status
9916WDI_TriggerBAReq
9917(
9918 WDI_TriggerBAReqParamsType* pwdiTriggerBAReqParams,
9919 WDI_TriggerBARspCb wdiTriggerBARspCb,
9920 void* pUserData
9921);
9922
9923
9924/**
9925 @brief WDI_IsHwFrameTxTranslationCapable checks to see if HW
9926 frame xtl is enabled for a particular STA.
9927
9928 WDI_PostAssocReq must have been called.
9929
9930 @param uSTAIdx: STA index
9931
9932 @see WDI_PostAssocReq
9933 @return Result of the function call
9934*/
9935wpt_boolean WDI_IsHwFrameTxTranslationCapable
9936(
9937 wpt_uint8 uSTAIdx
9938);
9939
Katya Nigam6201c3e2014-05-27 17:51:42 +05309940
9941/**
9942 @brief WDI_IsSelfSTA - check if staid is self sta index
9943
9944 @param pWDICtx: pointer to the WLAN DAL context
9945 ucSTAIdx: station index
9946
9947 @return Result of the function call
9948*/
9949
9950wpt_boolean
9951WDI_IsSelfSTA
9952(
9953 void* pWDICtx,
9954 wpt_uint8 ucSTAIdx
9955);
9956
9957
Jeff Johnson295189b2012-06-20 16:38:30 -07009958#ifdef WLAN_FEATURE_VOWIFI_11R
9959/**
9960 @brief WDI_AggrAddTSReq will be called when the upper MAC to inform
9961 the device of a successful add TSpec negotiation for 11r. HW
9962 needs to receive the TSpec Info from the UMAC in order
9963 to configure properly the QoS data traffic. Upon the
9964 call of this API the WLAN DAL will pack and send a HAL
9965 Aggregated Add TS request message to the lower RIVA sub-system if
9966 DAL is in state STARTED.
9967
9968 In state BUSY this request will be queued. Request won't
9969 be allowed in any other state.
9970
9971 WDI_PostAssocReq must have been called.
9972
9973 @param wdiAggrAddTsReqParams: the add TS parameters as specified by
9974 the Device Interface
9975
9976 wdiAggrAddTsRspCb: callback for passing back the response of
9977 the add TS operation received from the device
9978
9979 pUserData: user data will be passed back with the
9980 callback
9981
9982 @see WDI_PostAssocReq
9983 @return Result of the function call
9984*/
9985WDI_Status
9986WDI_AggrAddTSReq
9987(
9988 WDI_AggrAddTSReqParamsType* pwdiAddTsReqParams,
9989 WDI_AggrAddTsRspCb wdiAggrAddTsRspCb,
9990 void* pUserData
9991);
9992#endif /* WLAN_FEATURE_VOWIFI_11R */
9993/**
9994 @brief WDI_STATableInit - Initializes the STA tables.
9995 Allocates the necesary memory.
9996
9997
9998 @param pWDICtx: pointer to the WLAN DAL context
9999
10000 @see
10001 @return Result of the function call
10002*/
10003
10004WDI_Status WDI_StubRunTest
10005(
10006 wpt_uint8 ucTestNo
10007);
10008
Jeff Johnson295189b2012-06-20 16:38:30 -070010009/**
10010 @brief WDI_FTMCommandReq -
10011 Route FTMRequest Command to HAL
10012
10013 @param ftmCommandReq: FTM request command body
10014 @param ftmCommandRspCb: Response CB
10015 @param pUserData: User data will be included with CB
10016
10017 @return Result of the function call
10018*/
10019WDI_Status WDI_FTMCommandReq
10020(
10021 WDI_FTMCommandReqType *ftmCommandReq,
10022 WDI_FTMCommandRspCb ftmCommandRspCb,
10023 void *pUserData
10024);
Jeff Johnson295189b2012-06-20 16:38:30 -070010025
10026/**
10027 @brief WDI_HostResumeReq will be called
10028
10029 In state BUSY this request will be queued. Request won't
10030 be allowed in any other state.
10031
10032
10033 @param pwdiResumeReqParams: as specified by
10034 the Device Interface
10035
10036 wdiResumeReqRspCb: callback for passing back the response of
10037 the Resume Req received from the device
10038
10039 pUserData: user data will be passed back with the
10040 callback
10041
10042 @see WDI_PostAssocReq
10043 @return Result of the function call
10044*/
10045WDI_Status
10046WDI_HostResumeReq
10047(
10048 WDI_ResumeParamsType* pwdiResumeReqParams,
10049 WDI_HostResumeEventRspCb wdiResumeReqRspCb,
10050 void* pUserData
10051);
10052
10053/**
10054 @brief WDI_GetAvailableResCount - Function to get the available resource
10055 for data and managemnt frames.
10056
10057 @param pContext: pointer to the WDI context
10058 @param wdiResPool: type of resource pool requesting
10059 @see
10060 @return Result of the function call
10061*/
10062
10063wpt_uint32 WDI_GetAvailableResCount
10064(
10065 void *pContext,
10066 WDI_ResPoolType wdiResPool
10067);
10068
10069/**
10070 @brief WDI_SetAddSTASelfReq will be called when the
10071 UMAC wanted to add self STA while opening any new session
10072 In state BUSY this request will be queued. Request won't
10073 be allowed in any other state.
10074
10075
10076 @param pwdiAddSTASelfParams: the add self sta parameters as
10077 specified by the Device Interface
10078
10079 pUserData: user data will be passed back with the
10080 callback
10081
10082 @see
10083 @return Result of the function call
10084*/
10085WDI_Status
10086WDI_AddSTASelfReq
10087(
10088 WDI_AddSTASelfReqParamsType* pwdiAddSTASelfReqParams,
10089 WDI_AddSTASelfParamsRspCb wdiAddSTASelfReqParamsRspCb,
10090 void* pUserData
10091);
10092
10093
10094/**
10095 @brief WDI_DelSTASelfReq will be called .
10096
10097 @param WDI_DelSTASelfReqParamsType
10098
10099 WDI_DelSTASelfRspCb: callback for passing back the
10100 response of the del sta self operation received from the
10101 device
10102
10103 pUserData: user data will be passed back with the
10104 callback
10105
10106 @see WDI_PostAssocReq
10107 @return Result of the function call
10108*/
10109WDI_Status
10110WDI_DelSTASelfReq
10111(
10112 WDI_DelSTASelfReqParamsType* pwdiDelStaSelfParams,
10113 WDI_DelSTASelfRspCb wdiDelStaSelfRspCb,
10114 void* pUserData
10115);
10116
10117/**
10118 @brief WDI_HostSuspendInd
10119
10120 Suspend Indication from the upper layer will be sent
10121 down to HAL
10122
10123 @param WDI_SuspendParamsType
10124
10125 @see
10126
10127 @return Status of the request
10128*/
10129WDI_Status
10130WDI_HostSuspendInd
10131(
10132 WDI_SuspendParamsType* pwdiSuspendIndParams
10133);
10134
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -080010135/**
10136 @brief WDI_TrafficStatsInd
10137
10138 Traffic Stats from the upper layer will be sent
10139 down to HAL
10140
10141 @param WDI_TrafficStatsIndType
10142
10143 @see
10144
10145 @return Status of the request
10146*/
10147WDI_Status
10148WDI_TrafficStatsInd
10149(
10150 WDI_TrafficStatsIndType *pWdiTrafficStatsIndParams
10151);
10152
Chet Lanctot186b5732013-03-18 10:26:30 -070010153#ifdef WLAN_FEATURE_11W
10154/**
10155 @brief WDI_ExcludeUnencryptedInd
10156 Register with HAL to receive/drop unencrypted frames
10157
10158 @param WDI_ExcludeUnencryptIndType
10159
10160 @see
10161
10162 @return Status of the request
10163*/
10164WDI_Status
10165WDI_ExcludeUnencryptedInd
10166(
10167 WDI_ExcludeUnencryptIndType *pWdiExcUnencParams
10168);
10169#endif
10170
Yue Mab9c86f42013-08-14 15:59:08 -070010171/**
10172 @brief WDI_AddPeriodicTxPtrnInd
10173
10174 @param WDI_AddPeriodicTxPtrnParamsType
10175
10176 @see
10177
10178 @return Status of the request
10179*/
10180WDI_Status
10181WDI_AddPeriodicTxPtrnInd
10182(
10183 WDI_AddPeriodicTxPtrnParamsType *addPeriodicTxPtrnParams
10184);
10185
10186/**
10187 @brief WDI_DelPeriodicTxPtrnInd
10188
10189 @param WDI_DelPeriodicTxPtrnParamsType
10190
10191 @see
10192
10193 @return Status of the request
10194*/
10195WDI_Status
10196WDI_DelPeriodicTxPtrnInd
10197(
10198 WDI_DelPeriodicTxPtrnParamsType *delPeriodicTxPtrnParams
10199);
10200
Jeff Johnson295189b2012-06-20 16:38:30 -070010201#ifdef FEATURE_WLAN_SCAN_PNO
10202/**
10203 @brief WDI_SetPreferredNetworkList
10204
10205 @param pwdiPNOScanReqParams: the Set PNO as specified
10206 by the Device Interface
10207
10208 wdiPNOScanCb: callback for passing back the response
10209 of the Set PNO operation received from the
10210 device
10211
10212 pUserData: user data will be passed back with the
10213 callback
10214
10215 @see WDI_PostAssocReq
10216 @return Result of the function call
10217*/
10218WDI_Status
10219WDI_SetPreferredNetworkReq
10220(
10221 WDI_PNOScanReqParamsType* pwdiPNOScanReqParams,
10222 WDI_PNOScanCb wdiPNOScanCb,
10223 void* pUserData
10224);
10225
10226/**
10227 @brief WDI_SetRssiFilterReq
10228
10229 @param pwdiRssiFilterReqParams: the Set RSSI Filter as
10230 specified by the Device Interface
10231
10232 wdiRssiFilterCb: callback for passing back the response
10233 of the Set RSSI Filter operation received from the
10234 device
10235
10236 pUserData: user data will be passed back with the
10237 callback
10238
10239 @see WDI_PostAssocReq
10240 @return Result of the function call
10241*/
10242WDI_Status
10243WDI_SetRssiFilterReq
10244(
10245 WDI_SetRssiFilterReqParamsType* pwdiRssiFilterReqParams,
10246 WDI_RssiFilterCb wdiRssiFilterCb,
10247 void* pUserData
10248);
10249
10250/**
10251 @brief WDI_UpdateScanParams
10252
10253 @param pwdiUpdateScanParamsInfoType: the Update Scan Params as specified
10254 by the Device Interface
10255
10256 wdiUpdateScanParamsCb: callback for passing back the response
10257 of the Set PNO operation received from the
10258 device
10259
10260 pUserData: user data will be passed back with the
10261 callback
10262
10263 @see WDI_PostAssocReq
10264 @return Result of the function call
10265*/
10266WDI_Status
10267WDI_UpdateScanParamsReq
10268(
10269 WDI_UpdateScanParamsInfoType* pwdiUpdateScanParamsInfoType,
10270 WDI_UpdateScanParamsCb wdiUpdateScanParamsCb,
10271 void* pUserData
10272);
10273#endif // FEATURE_WLAN_SCAN_PNO
10274
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010275#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
10276/**
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010277 @brief WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010278
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010279 @param pwdiRoamScanOffloadReqParams: Start Roam Candidate Lookup Req as specified
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010280 by the Device Interface
10281
10282 wdiRoamOffloadScanCb: callback for passing back the response
10283 of the Start Roam Candidate Lookup operation received from the
10284 device
10285
10286 pUserData: user data will be passed back with the
10287 callback
10288
10289 @return Result of the function call
10290*/
10291WDI_Status
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010292WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010293(
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010294 WDI_RoamScanOffloadReqParamsType *pwdiRoamScanOffloadReqParams,
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010295 WDI_RoamOffloadScanCb wdiRoamOffloadScancb,
10296 void* pUserData
10297);
10298#endif
10299
Jeff Johnson295189b2012-06-20 16:38:30 -070010300/**
10301 @brief WDI_SetTxPerTrackingReq will be called when the upper MAC
10302 wants to set the Tx Per Tracking configurations.
10303 Upon the call of this API the WLAN DAL will pack
10304 and send a HAL Set Tx Per Tracking request message to the
10305 lower RIVA sub-system if DAL is in state STARTED.
10306
10307 In state BUSY this request will be queued. Request won't
10308 be allowed in any other state.
10309
10310 @param wdiSetTxPerTrackingConf: the Set Tx PER Tracking configurations as
10311 specified by the Device Interface
10312
10313 wdiSetTxPerTrackingCb: callback for passing back the
10314 response of the set Tx PER Tracking configurations operation received
10315 from the device
10316
10317 pUserData: user data will be passed back with the
10318 callback
10319
10320 @return Result of the function call
10321*/
10322WDI_Status
10323WDI_SetTxPerTrackingReq
10324(
10325 WDI_SetTxPerTrackingReqParamsType* pwdiSetTxPerTrackingReqParams,
10326 WDI_SetTxPerTrackingRspCb pwdiSetTxPerTrackingRspCb,
10327 void* pUserData
10328);
10329
10330/**
10331 @brief WDI_SetTmLevelReq
10332 If HW Thermal condition changed, driver should react based on new
10333 HW thermal condition.
10334
10335 @param pwdiSetTmLevelReq: New thermal condition information
10336
10337 pwdiSetTmLevelRspCb: callback
10338
10339 usrData: user data will be passed back with the
10340 callback
10341
10342 @return Result of the function call
10343*/
10344WDI_Status
10345WDI_SetTmLevelReq
10346(
10347 WDI_SetTmLevelReqType *pwdiSetTmLevelReq,
10348 WDI_SetTmLevelCb pwdiSetTmLevelRspCb,
10349 void *usrData
10350);
10351
10352#ifdef WLAN_FEATURE_PACKET_FILTERING
10353/**
10354 @brief WDI_8023MulticastListReq
10355
10356 @param pwdiRcvFltPktSetMcListReqInfo: the Set 8023 Multicast
10357 List as specified by the Device Interface
10358
10359 wdi8023MulticastListCallback: callback for passing back
10360 the response of the Set 8023 Multicast List operation
10361 received from the device
10362
10363 pUserData: user data will be passed back with the
10364 callback
10365
10366 @see WDI_PostAssocReq
10367 @return Result of the function call
10368*/
10369WDI_Status
10370WDI_8023MulticastListReq
10371(
10372 WDI_RcvFltPktSetMcListReqParamsType* pwdiRcvFltPktSetMcListReqInfo,
10373 WDI_8023MulticastListCb wdi8023MulticastListCallback,
10374 void* pUserData
10375);
10376
10377/**
10378 @brief WDI_ReceiveFilterSetFilterReq
10379
10380 @param pwdiSetRcvPktFilterReqInfo: the Set Receive Filter as
10381 specified by the Device Interface
10382
10383 wdiReceiveFilterSetFilterReqCallback: callback for
10384 passing back the response of the Set Receive Filter
10385 operation received from the device
10386
10387 pUserData: user data will be passed back with the
10388 callback
10389
10390 @see WDI_PostAssocReq
10391 @return Result of the function call
10392*/
10393WDI_Status
10394WDI_ReceiveFilterSetFilterReq
10395(
10396 WDI_SetRcvPktFilterReqParamsType* pwdiSetRcvPktFilterReqInfo,
10397 WDI_ReceiveFilterSetFilterCb wdiReceiveFilterSetFilterReqCallback,
10398 void* pUserData
10399);
10400
10401/**
10402 @brief WDI_PCFilterMatchCountReq
10403
10404 @param pwdiRcvFltPktMatchCntReqInfo: get D0 PC Filter Match
10405 Count
10406
10407 wdiPCFilterMatchCountCallback: callback for passing back
10408 the response of the D0 PC Filter Match Count operation
10409 received from the device
10410
10411 pUserData: user data will be passed back with the
10412 callback
10413
10414 @see WDI_PostAssocReq
10415 @return Result of the function call
10416*/
10417WDI_Status
10418WDI_FilterMatchCountReq
10419(
10420 WDI_RcvFltPktMatchCntReqParamsType* pwdiRcvFltPktMatchCntReqInfo,
10421 WDI_FilterMatchCountCb wdiFilterMatchCountCallback,
10422 void* pUserData
10423);
10424
10425/**
10426 @brief WDI_ReceiveFilterClearFilterReq
10427
10428 @param pwdiRcvFltPktClearReqInfo: the Clear Filter as
10429 specified by the Device Interface
10430
10431 wdiReceiveFilterClearFilterCallback: callback for
10432 passing back the response of the Clear Filter
10433 operation received from the device
10434
10435 pUserData: user data will be passed back with the
10436 callback
10437
10438 @see WDI_PostAssocReq
10439 @return Result of the function call
10440*/
10441WDI_Status
10442WDI_ReceiveFilterClearFilterReq
10443(
10444 WDI_RcvFltPktClearReqParamsType* pwdiRcvFltPktClearReqInfo,
10445 WDI_ReceiveFilterClearFilterCb wdiReceiveFilterClearFilterCallback,
10446 void* pUserData
10447);
10448#endif // WLAN_FEATURE_PACKET_FILTERING
10449
10450/**
10451 @brief WDI_HALDumpCmdReq
10452 Post HAL DUMP Command Event
10453
10454 @param halDumpCmdReqParams: Hal Dump Command Body
10455 @param halDumpCmdRspCb: callback for passing back the
10456 response
10457 @param pUserData: Client Data
10458
10459 @see
10460 @return Result of the function call
10461*/
10462WDI_Status WDI_HALDumpCmdReq(
10463 WDI_HALDumpCmdReqParamsType *halDumpCmdReqParams,
10464 WDI_HALDumpCmdRspCb halDumpCmdRspCb,
10465 void *pUserData
10466);
10467
10468
10469/**
10470 @brief WDI_SetPowerParamsReq
10471
10472 @param pwdiPowerParamsReqParams: the Set Power Params as
10473 specified by the Device Interface
10474
10475 wdiPowerParamsCb: callback for passing back the response
10476 of the Set Power Params operation received from the
10477 device
10478
10479 pUserData: user data will be passed back with the
10480 callback
10481
10482 @return Result of the function call
10483*/
10484WDI_Status
10485WDI_SetPowerParamsReq
10486(
10487 WDI_SetPowerParamsReqParamsType* pwdiPowerParamsReqParams,
10488 WDI_SetPowerParamsCb wdiPowerParamsCb,
10489 void* pUserData
10490);
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +053010491/**
10492 @brief WDI_dhcpStartInd
10493 Forward the DHCP Start event
10494
10495 @param
10496
10497 wdiDHCPInd: device mode and MAC address is passed
10498
10499 @see
10500 @return Result of the function call
10501*/
10502
10503WDI_Status
10504WDI_dhcpStartInd
10505(
10506 WDI_DHCPInd *wdiDHCPInd
10507);
10508/**
10509 @brief WDI_dhcpStopReq
10510 Forward the DHCP Stop event
10511
10512 @param
10513
10514 wdiDHCPInd: device mode and MAC address is passed
10515
10516 @see
10517 @return Result of the function call
10518*/
10519
10520WDI_Status
10521WDI_dhcpStopInd
10522(
10523 WDI_DHCPInd *wdiDHCPInd
10524);
Jeff Johnson295189b2012-06-20 16:38:30 -070010525
Chittajit Mitraf5413a42013-10-18 14:20:08 -070010526/**
10527 @brief WDI_RateUpdateInd will be called when the upper MAC
10528 requests the device to update rates.
10529
10530 In state BUSY this request will be queued. Request won't
10531 be allowed in any other state.
10532
10533
10534 @param wdiRateUpdateIndParams
10535
10536
10537 @see WDI_Start
10538 @return Result of the function call
10539*/
10540WDI_Status
10541WDI_RateUpdateInd
10542(
10543 WDI_RateUpdateIndParams *wdiRateUpdateIndParams
10544);
10545
Jeff Johnson295189b2012-06-20 16:38:30 -070010546#ifdef WLAN_FEATURE_GTK_OFFLOAD
10547/**
10548 @brief WDI_GTKOffloadReq will be called when the upper MAC
10549 wants to set GTK Rekey Counter while in power save. Upon
10550 the call of this API the WLAN DAL will pack and send a
10551 HAL GTK offload request message to the lower RIVA
10552 sub-system if DAL is in state STARTED.
10553
10554 In state BUSY this request will be queued. Request won't
10555 be allowed in any other state.
10556
10557 WDI_PostAssocReq must have been called.
10558
10559 @param pwdiGtkOffloadParams: the GTK offload as specified
10560 by the Device Interface
10561
10562 wdiGtkOffloadCb: callback for passing back the response
10563 of the GTK offload operation received from the device
10564
10565 pUserData: user data will be passed back with the
10566 callback
10567
10568 @see WDI_PostAssocReq
10569 @return Result of the function call
10570*/
10571WDI_Status
10572WDI_GTKOffloadReq
10573(
10574 WDI_GtkOffloadReqMsg* pwdiGtkOffloadReqMsg,
10575 WDI_GtkOffloadCb wdiGtkOffloadCb,
10576 void* pUserData
10577);
10578
10579/**
10580 @brief WDI_GTKOffloadGetInfoReq will be called when the upper
10581 MAC wants to get GTK Rekey Counter while in power save.
10582 Upon the call of this API the WLAN DAL will pack and
10583 send a HAL GTK offload request message to the lower RIVA
10584 sub-system if DAL is in state STARTED.
10585
10586 In state BUSY this request will be queued. Request won't
10587 be allowed in any other state.
10588
10589 WDI_PostAssocReq must have been called.
10590
10591 @param pwdiGtkOffloadGetInfoReqMsg: the GTK Offload
10592 Information Message as specified by the
10593 Device Interface
10594
10595 wdiGtkOffloadGetInfoCb: callback for passing back the
10596 response of the GTK offload operation received from the
10597 device
10598
10599 pUserData: user data will be passed back with the
10600 callback
10601
10602 @see WDI_PostAssocReq
10603 @return Result of the function call
10604*/
10605WDI_Status
10606WDI_GTKOffloadGetInfoReq
10607(
10608 WDI_GtkOffloadGetInfoReqMsg* pwdiGtkOffloadGetInfoReqMsg,
10609 WDI_GtkOffloadGetInfoCb wdiGtkOffloadGetInfoCb,
10610 void* pUserData
10611);
10612#endif // WLAN_FEATURE_GTK_OFFLOAD
10613
10614/**
10615 @brief WDI_featureCapsExchangeReq
10616 Post feature capability bitmap exchange event.
10617 Host will send its own capability to FW in this req and
10618 expect FW to send its capability back as a bitmap in Response
10619
10620 @param
10621
10622 wdiFeatCapsExcRspCb: callback called on getting the response.
10623 It is kept to mantain similarity between WDI reqs and if needed, can
10624 be used in future. Currently, It is set to NULL
10625
10626 pUserData: user data will be passed back with the
10627 callback
10628
10629 @see
10630 @return Result of the function call
10631*/
10632WDI_Status
10633WDI_featureCapsExchangeReq
10634(
10635 WDI_featureCapsExchangeCb wdiFeatureCapsExchangeCb,
10636 void* pUserData
10637);
10638
10639/**
Yathish9f22e662012-12-10 14:21:35 -080010640 @brief Disable Active mode offload in Host
10641
10642 @param void
10643 @see
10644 @return void
10645*/
10646void
10647WDI_disableCapablityFeature(wpt_uint8 feature_index);
10648
10649
10650/**
Jeff Johnson295189b2012-06-20 16:38:30 -070010651 @brief WDI_getHostWlanFeatCaps
10652 WDI API that returns whether the feature passed to it as enum value in
10653 "placeHolderInCapBitmap" is supported by Host or not. It uses WDI global
10654 variable storing host capability bitmap to find this. This can be used by
10655 other moduels to decide certain things like call different APIs based on
10656 whether a particular feature is supported.
10657
10658 @param
10659
10660 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap in wlan_hal_msg.h.
10661
10662 @see
10663 @return
10664 0 - if the feature is NOT supported in host
10665 any non-zero value - if the feature is SUPPORTED in host.
10666*/
10667wpt_uint8 WDI_getHostWlanFeatCaps(wpt_uint8 feat_enum_value);
10668
10669/**
10670 @brief WDI_getFwWlanFeatCaps
10671 WDI API that returns whether the feature passed to it as enum value in
10672 "placeHolderInCapBitmap" is supported by FW or not. It uses WDI global
10673 variable storing host capability bitmap to find this. This can be used by
10674 other moduels to decide certain things like call different APIs based on
10675 whether a particular feature is supported.
10676
10677 @param
10678
Jeff Johnsone7245742012-09-05 17:12:55 -070010679 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap
10680 in wlan_hal_msg.h.
Jeff Johnson295189b2012-06-20 16:38:30 -070010681
10682 @see
10683 @return
10684 0 - if the feature is NOT supported in FW
10685 any non-zero value - if the feature is SUPPORTED in FW.
10686*/
10687wpt_uint8 WDI_getFwWlanFeatCaps(wpt_uint8 feat_enum_value);
10688
10689/**
10690 @brief WDI_GetWcnssCompiledApiVersion - Function to get wcnss compiled
10691 api version
10692
10693 @param WDI_WlanVersionType: Wlan version structure
10694 @see
10695 @return none
10696*/
10697
10698void WDI_GetWcnssCompiledApiVersion
10699(
10700 WDI_WlanVersionType *pWcnssApiVersion
10701);
10702
Mohit Khanna4a70d262012-09-11 16:30:12 -070010703#ifdef WLAN_FEATURE_11AC
10704WDI_Status
10705WDI_UpdateVHTOpModeReq
10706(
10707 WDI_UpdateVHTOpMode *pData,
10708 WDI_UpdateVHTOpModeCb wdiUpdateVHTOpModeCb,
10709 void* pUserData
10710);
Jeff Johnson295189b2012-06-20 16:38:30 -070010711
Mohit Khanna4a70d262012-09-11 16:30:12 -070010712#endif
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070010713
10714/**
10715 @brief WDI_TransportChannelDebug -
10716 Display DXE Channel debugging information
10717 User may request to display DXE channel snapshot
10718 Or if host driver detects any abnormal stcuk may display
10719
Jeff Johnsonb88db982012-12-10 13:34:59 -080010720 @param displaySnapshot : Display DXE snapshot option
Mihir Shete40a55652014-03-02 14:14:47 +053010721 @param debugFlags : Enable stall detect features
10722 defined by WPAL_DeviceDebugFlags
10723 These features may effect
10724 data performance.
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070010725 @see
10726 @return none
10727*/
10728void WDI_TransportChannelDebug
10729(
10730 wpt_boolean displaySnapshot,
Mihir Shete40a55652014-03-02 14:14:47 +053010731 wpt_uint8 debugFlags
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070010732);
10733
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -070010734/**
10735 @brief WDI_SsrTimerCB
10736 Callback function for SSR timer, if this is called then the graceful
10737 shutdown for Riva did not happen.
10738
10739 @param pUserData : user data to timer
10740
10741 @see
10742 @return none
10743*/
10744void
10745WDI_SsrTimerCB
10746(
10747 void *pUserData
10748);
10749
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -070010750/**
10751 @brief WDI_SetEnableSSR -
10752 This API is called to enable/disable SSR on WDI timeout.
10753
10754 @param enableSSR : enable/disable SSR
10755
10756 @see
10757 @return none
10758*/
10759void WDI_SetEnableSSR(wpt_boolean enableSSR);
10760
Leo Chang9056f462013-08-01 19:21:11 -070010761#ifdef FEATURE_WLAN_LPHB
10762/**
10763 @brief WDI_LPHBConfReq
10764 This API is called to config FW LPHB rule
10765
10766 @param lphbconfParam : LPHB rule should config to FW
10767 usrData : Client context
10768 lphbCfgCb : Configuration status callback
10769 @see
10770 @return SUCCESS or FAIL
10771*/
10772WDI_Status WDI_LPHBConfReq
10773(
10774 void *lphbconfParam,
10775 void *usrData,
10776 WDI_LphbCfgCb lphbCfgCb
10777);
10778#endif /* FEATURE_WLAN_LPHB */
Rajeev79dbe4c2013-10-05 11:03:42 +053010779
Dino Mycle41bdc942014-06-10 11:30:24 +053010780#ifdef WLAN_FEATURE_EXTSCAN
10781/**
10782 @brief WDI_EXTScanStartReq
10783 This API is called to send EXTScan start request to FW
10784
10785 @param pwdiEXTScanStartReqParams : pointer to the request params.
10786 wdiEXTScanStartRspCb : callback on getting the response.
10787 usrData : Client context
10788 @see
10789 @return SUCCESS or FAIL
10790*/
10791WDI_Status WDI_EXTScanStartReq
10792(
10793 WDI_EXTScanStartReqParams* pwdiEXTScanStartReqParams,
10794 WDI_EXTScanStartRspCb wdiEXTScanStartRspCb,
10795 void* pUserData
10796);
10797
10798/**
10799 @brief WDI_EXTScanStopReq
10800 This API is called to stop the EXTScan operations in the FW
10801
10802 @param pwdiEXTScanStopReqParams : pointer to the request params.
10803 wdiEXTScanStopRspCb : callback on getting the response.
10804 usrData : Client context
10805 @see
10806 @return SUCCESS or FAIL
10807*/
10808WDI_Status WDI_EXTScanStopReq
10809(
10810 WDI_EXTScanStopReqParams* pwdiEXTScanStopReqParams,
10811 WDI_EXTScanStopRspCb wdiEXTScanStopRspCb,
10812 void* pUserData
10813);
10814
10815/**
10816 @brief WDI_EXTScanGetCachedResultsReq
10817 This API is called to send get link layer stats request in FW
10818
10819 @param pwdiEXTScanGetCachedResultsReqParams : pointer to the request params.
10820 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
10821 usrData : Client context
10822 @see
10823 @return SUCCESS or FAIL
10824*/
10825WDI_Status WDI_EXTScanGetCachedResultsReq
10826(
10827 WDI_EXTScanGetCachedResultsReqParams* pwdiEXTScanGetCachedResultsReqParams,
10828 WDI_EXTScanGetCachedResultsRspCb wdiEXTScanGetCachedResultsRspCb,
10829 void* pUserData
10830);
10831
10832/**
10833 @brief WDI_EXTScanGetCapabilitiesReq
10834 This API is called to send get EXTScan capabilities from FW
10835
10836 @param pwdiEXTScanGetCachedResultsReqParams : pointer to the request params.
10837 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
10838 usrData : Client context
10839 @see
10840 @return SUCCESS or FAIL
10841*/
10842WDI_Status WDI_EXTScanGetCapabilitiesReq
10843(
10844 WDI_EXTScanGetCapabilitiesReqParams* pwdiEXTScanGetCapabilitiesReqParams,
10845 WDI_EXTScanGetCapabilitiesRspCb wdiEXTScanGetCapabilitiesRspCb,
10846 void* pUserData
10847);
10848
10849/**
10850 @brief WDI_EXTScanSetBSSIDHotlistReq
10851 This API is called to send Set BSSID Hotlist Request FW
10852
10853 @param pwdiEXTScanSetBssidHotlistReqParams : pointer to the request params.
10854 wdiEXTScanSetBSSIDHotlistRspCb : callback on getting the response.
10855 usrData : Client context
10856 @see
10857 @return SUCCESS or FAIL
10858*/
10859WDI_Status WDI_EXTScanSetBSSIDHotlistReq
10860(
10861 WDI_EXTScanSetBSSIDHotlistReqParams* pwdiEXTScanSetBSSIDHotlistReqParams,
10862 WDI_EXTScanSetBSSIDHotlistRspCb wdiEXTScanSetBSSIDHotlistRspCb,
10863 void* pUserData
10864);
10865
10866/**
10867 @brief WDI_EXTScanResetBSSIDHotlistReq
10868 This API is called to send Reset BSSID Hotlist Request FW
10869
10870 @param pwdiEXTScanResetBssidHotlistReqParams : pointer to the request params.
10871 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
10872 usrData : Client context
10873 @see
10874 @return SUCCESS or FAIL
10875*/
10876WDI_Status WDI_EXTScanResetBSSIDHotlistReq
10877(
10878 WDI_EXTScanResetBSSIDHotlistReqParams* pwdiEXTScanResetBSSIDHotlistReqParams,
10879 WDI_EXTScanResetBSSIDHotlistRspCb wdiEXTScanResetBSSIDHotlistRspCb,
10880 void* pUserData
10881);
10882
10883/**
10884 @brief WDI_EXTScanSetSignfRSSIChangeReq
10885 This API is called to send Set Significant RSSI Request FW
10886
10887 @param pwdiEXTScanSetSignfRSSIChangeReqParams : pointer to the request params.
10888 wdiEXTScanSetSignfRSSIChangeRspCb : callback on getting the response.
10889 usrData : Client context
10890 @see
10891 @return SUCCESS or FAIL
10892*/
10893WDI_Status WDI_EXTScanSetSignfRSSIChangeReq
10894(
10895 WDI_EXTScanSetSignfRSSIChangeReqParams*
10896 pwdiEXTScanSetSignfRSSIChangeReqParams,
10897 WDI_EXTScanSetSignfRSSIChangeRspCb wdiEXTScanSetSignfRSSIChangeRspCb,
10898 void* pUserData
10899);
10900
10901/**
10902 @brief WDI_EXTScanResetSignfRSSIChangeReq
10903 This API is called to send Reset BSSID Hotlist Request FW
10904
10905 @param pwdiEXTScanResetSignfRSSIChangeReqParams : pointer to the request params.
10906 wdiEXTScanResetSignfRSSIChangeRs : callback on getting the response.
10907 usrData : Client context
10908 @see
10909 @return SUCCESS or FAIL
10910*/
10911WDI_Status WDI_EXTScanResetSignfRSSIChangeReq
10912(
10913 WDI_EXTScanResetSignfRSSIChangeReqParams*
10914 pwdiEXTScanResetSignfRSSIChangeReqParams,
10915 WDI_EXTScanResetSignfRSSIChangeRspCb wdiEXTScanResetSignfRSSIChangeRspCb,
10916 void* pUserData
10917);
10918#endif /* WLAN_FEATURE_EXTSCAN */
10919
Sunil Duttbd736ed2014-05-26 21:19:41 +053010920#ifdef WLAN_FEATURE_LINK_LAYER_STATS
10921/**
10922 @brief WDI_LLStatsSetReq
10923 This API is called to send set link layer stats request to FW
10924
10925 @param pwdiLLStatsSetReqParams : pointer to set link layer stats params
10926 wdiLLStatsSetRspCb : set link layer stats response callback
10927 usrData : Client context
10928 @see
10929 @return SUCCESS or FAIL
10930*/
10931WDI_Status WDI_LLStatsSetReq
10932(
10933 WDI_LLStatsSetReqType* pwdiLLStatsSetReqParams,
10934 WDI_LLStatsSetRspCb wdiLLStatsSetRspCb,
10935 void* pUserData
10936);
10937
10938/**
10939 @brief WDI_LLStatsGetReq
10940 This API is called to send get link layer stats request in FW
10941
10942 @param pwdiLLStatsGetParams : pointer to get link layer stats params
10943 wdiLLStatsGetRspCb : get link layer stats response callback
10944 usrData : Client context
10945 @see
10946 @return SUCCESS or FAIL
10947*/
10948WDI_Status WDI_LLStatsGetReq
10949(
10950 WDI_LLStatsGetReqType* pwdiLLStatsGetReqParams,
10951 WDI_LLStatsGetRspCb wdiLLStatsGetRspCb,
10952 void* pUserData
10953);
10954
10955/**
10956 @brief WDI_LLStatsClearReq
10957 This API is called to set clear link layer stats request in FW
10958
10959 @param pwdiLLStatsClearReqParams : pointer to clear link layer stats params
10960 iwdiLLStatsClearRspCb : clear link layer stats response callback
10961 usrData : Client context
10962 @see
10963 @return SUCCESS or FAIL
10964*/
10965WDI_Status WDI_LLStatsClearReq
10966(
10967 WDI_LLStatsClearReqType* pwdiLLStatsClearReqParams,
10968 WDI_LLStatsClearRspCb wdiLLStatsClearRspCb,
10969 void* pUserData
10970);
10971#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
10972
Rajeev79dbe4c2013-10-05 11:03:42 +053010973#ifdef FEATURE_WLAN_BATCH_SCAN
10974/**
10975 @brief WDI_SetBatchScanReq
10976 This API is called to set batch scan request in FW
10977
10978 @param pBatchScanReqParam : pointer to set batch scan re param
10979 usrData : Client context
10980 setBatchScanRspCb : set batch scan resp callback
10981 @see
10982 @return SUCCESS or FAIL
10983*/
10984WDI_Status WDI_SetBatchScanReq
10985(
10986 void *pBatchScanReqParam,
10987 void *usrData,
10988 WDI_SetBatchScanCb setBatchScanRspCb
10989);
10990
10991/**
10992 @brief WDI_StopBatchScanInd
10993
10994 @param none
10995
10996 @see
10997
10998 @return Status of the request
10999*/
11000WDI_Status
11001WDI_StopBatchScanInd(WDI_StopBatchScanIndType *pWdiReq);
11002
11003/**
11004 @brief WDI_TriggerBatchScanResultInd
11005 This API is called to pull batch scan result from FW
11006
11007 @param pBatchScanReqParam : pointer to trigger batch scan ind param
11008 usrData : Client context
11009 setBatchScanRspCb : get batch scan resp callback
11010 @see
11011 @return SUCCESS or FAIL
11012*/
11013WDI_Status
11014WDI_TriggerBatchScanResultInd(WDI_TriggerBatchScanResultIndType *pWdiReq);
11015
11016
11017#endif /*FEATURE_WLAN_BATCH_SCAN*/
11018
Sandeep Puligilla8b8b74b2014-02-10 16:39:05 +053011019/**
11020 @brief wdi_HT40OBSSScanInd
11021 This API is called to start OBSS scan
11022
11023 @param pWdiReq : pointer to get ind param
11024 @see
11025 @return SUCCESS or FAIL
11026*/
11027
11028WDI_Status WDI_HT40OBSSScanInd(WDI_HT40ObssScanParamsType *pWdiReq);
11029
11030/**
11031 @brief wdi_HT40OBSSStopScanInd
11032 This API is called to stop OBSS scan
11033
11034 @param bssIdx : bssIdx to stop
11035 @see
11036 @return SUCCESS or FAIL
11037*/
11038
11039WDI_Status WDI_HT40OBSSStopScanInd(wpt_uint8 bssIdx);
11040
c_hpothu92367912014-05-01 15:18:17 +053011041
11042WDI_Status WDI_GetBcnMissRate( void *pUserData,
11043 WDI_GetBcnMissRateCb wdiGetBcnMissRateCb,
11044 wpt_uint8 *bssid
11045 );
11046
Jeff Johnson295189b2012-06-20 16:38:30 -070011047#ifdef __cplusplus
11048 }
11049#endif
11050
Jeff Johnson295189b2012-06-20 16:38:30 -070011051#endif /* #ifndef WLAN_QCT_WDI_H */