blob: 16b59df200049e51d8e3fbe9e8daf4c065b5e28a [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
Chittajit Mitraf5413a42013-10-18 14:20:08 -0700827/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -0700828 WDI_LowLevelIndType
829 Inidcation type and information about the indication being carried
830 over
831---------------------------------------------------------------------------*/
832typedef struct
833{
834 /*Inidcation type*/
835 WDI_LowLevelIndEnumType wdiIndicationType;
836
837 /*Indication data*/
838 union
839 {
840 /*RSSI Threshold Info for WDI_LOW_RSSI_IND*/
841 WDI_LowRSSIThIndType wdiLowRSSIInfo;
842
843 /*Addr2 Frame Info for WDI_UNKNOWN_ADDR2_FRAME_RX_IND*/
844 WDI_UnkAddr2FrmRxIndType wdiUnkAddr2FrmInfo;
845
846 /*MIC Failure info for WDI_MIC_FAILURE_IND*/
847 WDI_MicFailureIndType wdiMICFailureInfo;
848
849 /*Error code for WDI_FATAL_ERROR_IND*/
850 wpt_uint16 usErrorCode;
851
852 /*Delete STA Indication*/
853 WDI_DeleteSTAIndType wdiDeleteSTAIndType;
854
855 /*Coex Indication*/
856 WDI_CoexIndType wdiCoexInfo;
857
858 /* Tx Complete Indication */
859 wpt_uint32 tx_complete_status;
860
Jeff Johnson295189b2012-06-20 16:38:30 -0700861 /* P2P NOA ATTR Indication */
862 WDI_P2pNoaAttrIndType wdiP2pNoaAttrInfo;
Viral Modid86bde22012-12-10 13:09:21 -0800863 WDI_P2pNoaStartIndType wdiP2pNoaStartInfo;
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530864 /* TDLS Indications */
865 WDI_TdlsIndType wdiTdlsIndInfo;
Jeff Johnson295189b2012-06-20 16:38:30 -0700866
867
868#ifdef FEATURE_WLAN_SCAN_PNO
869 WDI_PrefNetworkFoundInd wdiPrefNetworkFoundInd;
870#endif // FEATURE_WLAN_SCAN_PNO
871
872#ifdef WLAN_WAKEUP_EVENTS
873 WDI_WakeReasonIndType wdiWakeReasonInd;
874#endif // WLAN_WAKEUP_EVENTS
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800875 WDI_MissedBeaconIndType wdiMissedBeaconInd;
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700876
Leo Chang9056f462013-08-01 19:21:11 -0700877#ifdef FEATURE_WLAN_LPHB
878 WDI_LPHBTimeoutIndData wdiLPHBTimeoutInd;
879#endif /* FEATURE_WLAN_LPHB */
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700880
881 /* IBSS Peer Inactivity Indication */
882 WDI_IbssPeerInactivityIndType wdiIbssPeerInactivityInd;
883
Yue Mab9c86f42013-08-14 15:59:08 -0700884 /* Periodic TX Pattern FW Indication */
885 WDI_PeriodicTxPtrnFwIndType wdiPeriodicTxPtrnFwInd;
Rajeev79dbe4c2013-10-05 11:03:42 +0530886
887#ifdef FEATURE_WLAN_BATCH_SCAN
888 /*batch scan result indication from FW*/
889 void *pBatchScanResult;
890#endif
891
Leo Chang0b0e45a2013-12-15 15:18:55 -0800892#ifdef FEATURE_WLAN_CH_AVOID
893 WDI_ChAvoidIndType wdiChAvoidInd;
894#endif /* FEATURE_WLAN_CH_AVOID */
Sunil Duttbd736ed2014-05-26 21:19:41 +0530895
896#ifdef WLAN_FEATURE_LINK_LAYER_STATS
897 /*Link Layer Statistics from FW*/
898 void *pLinkLayerStatsResults;
899#endif
Dino Mycle41bdc942014-06-10 11:30:24 +0530900#ifdef WLAN_FEATURE_EXTSCAN
901 /*EXTSCAN Results from FW*/
902 void *pEXTScanIndData;
903#endif
Jeff Johnson295189b2012-06-20 16:38:30 -0700904 } wdiIndicationData;
905}WDI_LowLevelIndType;
906
907/*---------------------------------------------------------------------------
908 WDI_LowLevelIndCBType
909
910 DESCRIPTION
911
912 This callback is invoked by DAL to deliver to UMAC certain indications
913 that has either received from the lower device or has generated itself.
914
915 PARAMETERS
916
917 IN
918 pwdiInd: information about the indication sent over
919 pUserData: user data provided by UMAC during registration
920
921
922
923 RETURN VALUE
924 The result code associated with performing the operation
925---------------------------------------------------------------------------*/
926typedef void (*WDI_LowLevelIndCBType)(WDI_LowLevelIndType* pwdiInd,
927 void* pUserData);
928
929/*---------------------------------------------------------------------------
930 WDI_DriverType
931---------------------------------------------------------------------------*/
932typedef enum
933{
934 WDI_DRIVER_TYPE_PRODUCTION = 0,
935 WDI_DRIVER_TYPE_MFG = 1,
936 WDI_DRIVER_TYPE_DVT = 2
937} WDI_DriverType;
938
939/*---------------------------------------------------------------------------
940 WDI_StartReqParamsType
941---------------------------------------------------------------------------*/
942typedef struct
943{
944 /*This is a TLV formatted buffer containing all config values that can
945 be set through the DAL Interface
946
947 The TLV is expected to be formatted like this:
948
949 0 7 15 31 ....
950 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
951
952 Or from a C construct point of VU it would look like this:
953
954 typedef struct WPT_PACK_POST
955 {
956 #ifdef WPT_BIG_ENDIAN
957 wpt_uint32 ucCfgId:8;
958 wpt_uint32 ucCfgLen:8;
959 wpt_uint32 usReserved:16;
960 #else
961 wpt_uint32 usReserved:16;
962 wpt_uint32 ucCfgLen:8;
963 wpt_uint32 ucCfgId:8;
964 #endif
965
966 wpt_uint8 ucCfgBody[ucCfgLen];
967 }WDI_ConfigType;
968
969 Multiple such tuplets are to be placed in the config buffer. One for
970 each required configuration item:
971
972 | TLV 1 | TLV2 | ....
973
974 The buffer is expected to be a flat area of memory that can be manipulated
975 with standard memory routines.
976
977 For more info please check paragraph 2.3.1 Config Structure from the
978 HAL LLD.
979
980 For a list of accepted configuration list and IDs please look up
981 wlan_qct_dal_cfg.h
982
983 */
984 void* pConfigBuffer;
985
986 /*Length of the config buffer above*/
987 wpt_uint16 usConfigBufferLen;
988
989 /*Production or FTM driver*/
990 WDI_DriverType wdiDriverType;
991
992 /*Should device enable frame translation */
993 wpt_uint8 bFrameTransEnabled;
994
995 /*Request status callback offered by UMAC - it is called if the current
996 req has returned PENDING as status; it delivers the status of sending
997 the message over the BUS */
998 WDI_ReqStatusCb wdiReqStatusCB;
999
1000 /*The user data passed in by UMAC, it will be sent back when the above
1001 function pointer will be called */
1002 void* pUserData;
1003
1004 /*Indication callback given by UMAC to be called by the WLAN DAL when it
1005 wishes to send something back independent of a request*/
1006 WDI_LowLevelIndCBType wdiLowLevelIndCB;
1007
1008 /*The user data passed in by UMAC, it will be sent back when the indication
1009 function pointer will be called */
1010 void* pIndUserData;
1011}WDI_StartReqParamsType;
1012
1013
1014/*---------------------------------------------------------------------------
1015 WDI_StartRspParamsType
1016---------------------------------------------------------------------------*/
1017typedef struct
1018{
1019 /*Status of the response*/
1020 WDI_Status wdiStatus;
1021
1022 /*Max number of STA supported by the device*/
1023 wpt_uint8 ucMaxStations;
1024
1025 /*Max number of BSS supported by the device*/
1026 wpt_uint8 ucMaxBssids;
1027
1028 /*Version of the WLAN HAL API with which we were compiled*/
1029 WDI_WlanVersionType wlanCompiledVersion;
1030
1031 /*Version of the WLAN HAL API that was reported*/
1032 WDI_WlanVersionType wlanReportedVersion;
1033
1034 /*WCNSS Software version string*/
1035 wpt_uint8 wcnssSoftwareVersion[WDI_VERSION_LENGTH];
1036
1037 /*WCNSS Hardware version string*/
1038 wpt_uint8 wcnssHardwareVersion[WDI_VERSION_LENGTH];
1039}WDI_StartRspParamsType;
1040
1041
1042/*---------------------------------------------------------------------------
1043 WDI_StopType
1044---------------------------------------------------------------------------*/
1045typedef enum
1046{
1047 /*Device is being stopped due to a reset*/
1048 WDI_STOP_TYPE_SYS_RESET,
1049
1050 /*Device is being stopped due to entering deep sleep*/
1051 WDI_STOP_TYPE_SYS_DEEP_SLEEP,
1052
1053 /*Device is being stopped because the RF needs to shut off
1054 (e.g.:Airplane mode)*/
1055 WDI_STOP_TYPE_RF_KILL
1056}WDI_StopType;
1057
1058/*---------------------------------------------------------------------------
1059 WDI_StopReqParamsType
1060---------------------------------------------------------------------------*/
1061typedef struct
1062{
1063
1064 /*The reason for which the device is being stopped*/
1065 WDI_StopType wdiStopReason;
1066
1067 /*Request status callback offered by UMAC - it is called if the current
1068 req has returned PENDING as status; it delivers the status of sending
1069 the message over the BUS */
1070 WDI_ReqStatusCb wdiReqStatusCB;
1071
1072 /*The user data passed in by UMAC, it will be sent back when the above
1073 function pointer will be called */
1074 void* pUserData;
1075}WDI_StopReqParamsType;
1076
1077
1078/*---------------------------------------------------------------------------
1079 WDI_ScanMode
1080---------------------------------------------------------------------------*/
1081typedef enum
1082{
1083 WDI_SCAN_MODE_NORMAL = 0,
1084 WDI_SCAN_MODE_LEARN,
1085 WDI_SCAN_MODE_SCAN,
1086 WDI_SCAN_MODE_PROMISC,
Madan Mohan Koyyalamudi9b876782012-10-11 16:22:51 -07001087 WDI_SCAN_MODE_SUSPEND_LINK,
1088 WDI_SCAN_MODE_ROAM_SCAN,
1089 WDI_SCAN_MODE_ROAM_SUSPEND_LINK,
1090
Jeff Johnson295189b2012-06-20 16:38:30 -07001091} WDI_ScanMode;
1092
1093/*---------------------------------------------------------------------------
1094 WDI_ScanEntry
1095---------------------------------------------------------------------------*/
1096typedef struct
1097{
1098 wpt_uint8 bssIdx[WDI_NUM_BSSID];
1099 wpt_uint8 activeBSScnt;
1100}WDI_ScanEntry;
1101
1102/*---------------------------------------------------------------------------
1103 WDI_InitScanReqInfoType
1104---------------------------------------------------------------------------*/
1105typedef struct
1106{
1107 /*LEARN - AP Role
1108 SCAN - STA Role*/
1109 WDI_ScanMode wdiScanMode;
1110
1111 /*BSSID of the BSS*/
1112 wpt_macAddr macBSSID;
1113
1114 /*Whether BSS needs to be notified*/
1115 wpt_boolean bNotifyBSS;
1116
1117 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
1118 CTS to Self). Must always be a valid frame type.*/
1119 wpt_uint8 ucFrameType;
1120
1121 /*UMAC has the option of passing the MAC frame to be used for notifying
1122 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
1123 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
1124 frameType.*/
1125 wpt_uint8 ucFrameLength;
1126
1127 /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/
1128 WDI_MacMgmtHdr wdiMACMgmtHdr;
1129
1130 /*Entry to hold number of active BSS to send NULL frames before
1131 * initiating SCAN*/
1132 WDI_ScanEntry wdiScanEntry;
1133
1134 /* Flag to enable/disable Single NOA*/
1135 wpt_boolean bUseNOA;
1136
1137 /* Indicates the scan duration (in ms) */
1138 wpt_uint16 scanDuration;
1139
1140}WDI_InitScanReqInfoType;
1141
1142/*---------------------------------------------------------------------------
1143 WDI_InitScanReqParamsType
1144---------------------------------------------------------------------------*/
1145typedef struct
1146{
1147 /*The info associated with the request that needs to be sent over to the
1148 device*/
1149 WDI_InitScanReqInfoType wdiReqInfo;
1150
1151 /*Request status callback offered by UMAC - it is called if the current
1152 req has returned PENDING as status; it delivers the status of sending
1153 the message over the BUS */
1154 WDI_ReqStatusCb wdiReqStatusCB;
1155
1156 /*The user data passed in by UMAC, it will be sent back when the above
1157 function pointer will be called */
1158 void* pUserData;
1159}WDI_InitScanReqParamsType;
1160
1161/*---------------------------------------------------------------------------
1162 WDI_StartScanReqParamsType
1163---------------------------------------------------------------------------*/
1164typedef struct
1165{
1166 /*Indicates the channel to scan*/
1167 wpt_uint8 ucChannel;
1168
1169 /*Request status callback offered by UMAC - it is called if the current
1170 req has returned PENDING as status; it delivers the status of sending
1171 the message over the BUS */
1172 WDI_ReqStatusCb wdiReqStatusCB;
1173
1174 /*The user data passed in by UMAC, it will be sent back when the above
1175 function pointer will be called */
1176 void* pUserData;
1177}WDI_StartScanReqParamsType;
1178
1179/*---------------------------------------------------------------------------
1180 WDI_StartScanRspParamsType
1181---------------------------------------------------------------------------*/
1182typedef struct
1183{
1184 /*Indicates the status of the operation */
1185 WDI_Status wdiStatus;
1186
1187#if defined WLAN_FEATURE_VOWIFI
1188 wpt_uint32 aStartTSF[2];
1189 wpt_int8 ucTxMgmtPower;
1190#endif
1191}WDI_StartScanRspParamsType;
1192
1193/*---------------------------------------------------------------------------
1194 WDI_EndScanReqParamsType
1195---------------------------------------------------------------------------*/
1196typedef struct
1197{
1198 /*Indicates the channel to stop scanning. Not used really. But retained
1199 for symmetry with "start Scan" message. It can also help in error
1200 check if needed.*/
1201 wpt_uint8 ucChannel;
1202
1203 /*Request status callback offered by UMAC - it is called if the current
1204 req has returned PENDING as status; it delivers the status of sending
1205 the message over the BUS */
1206 WDI_ReqStatusCb wdiReqStatusCB;
1207
1208 /*The user data passed in by UMAC, it will be sent back when the above
1209 function pointer will be called */
1210 void* pUserData;
1211}WDI_EndScanReqParamsType;
1212
1213/*---------------------------------------------------------------------------
1214 WDI_PhyChanBondState
1215---------------------------------------------------------------------------*/
1216typedef enum
1217{
1218 WDI_PHY_SINGLE_CHANNEL_CENTERED = 0,
1219 WDI_PHY_DOUBLE_CHANNEL_LOW_PRIMARY = 1,
1220 WDI_PHY_DOUBLE_CHANNEL_CENTERED = 2,
Jeff Johnsone7245742012-09-05 17:12:55 -07001221 WDI_PHY_DOUBLE_CHANNEL_HIGH_PRIMARY = 3,
1222#ifdef WLAN_FEATURE_11AC
1223 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_CENTERED = 4, //20/40MHZ offset LOW 40/80MHZ offset CENTERED
1224 WDI_QUADRUPLE_CHANNEL_20MHZ_CENTERED_40MHZ_CENTERED = 5, //20/40MHZ offset CENTERED 40/80MHZ offset CENTERED
1225 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_CENTERED = 6, //20/40MHZ offset HIGH 40/80MHZ offset CENTERED
1226 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_LOW = 7,//20/40MHZ offset LOW 40/80MHZ offset LOW
1227 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_LOW = 8, //20/40MHZ offset HIGH 40/80MHZ offset LOW
1228 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_HIGH = 9, //20/40MHZ offset LOW 40/80MHZ offset HIGH
1229 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_HIGH = 10,//20/40MHZ offset-HIGH 40/80MHZ offset HIGH
1230#endif
1231 WDI_MAX_CB_STATE
Jeff Johnson295189b2012-06-20 16:38:30 -07001232} WDI_PhyChanBondState;
1233
1234/*---------------------------------------------------------------------------
1235 WDI_FinishScanReqInfoType
1236---------------------------------------------------------------------------*/
1237typedef struct
1238{
1239 /*LEARN - AP Role
1240 SCAN - STA Role*/
1241 WDI_ScanMode wdiScanMode;
1242
1243 /*Operating channel to tune to.*/
1244 wpt_uint8 ucCurrentOperatingChannel;
1245
1246 /*Channel Bonding state If 20/40 MHz is operational, this will indicate the
1247 40 MHz extension channel in combination with the control channel*/
1248 WDI_PhyChanBondState wdiCBState;
1249
1250 /*BSSID of the BSS*/
1251 wpt_macAddr macBSSID;
1252
1253 /*Whether BSS needs to be notified*/
1254 wpt_boolean bNotifyBSS;
1255
1256 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
1257 CTS to Self). Must always be a valid frame type.*/
1258 wpt_uint8 ucFrameType;
1259
1260 /*UMAC has the option of passing the MAC frame to be used for notifying
1261 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
1262 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
1263 frameType.*/
1264 wpt_uint8 ucFrameLength;
1265
1266 /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/
1267 WDI_MacMgmtHdr wdiMACMgmtHdr;
1268
1269 /*Entry to hold number of active BSS to send NULL frames after SCAN*/
1270 WDI_ScanEntry wdiScanEntry;
1271
1272}WDI_FinishScanReqInfoType;
1273
1274/*---------------------------------------------------------------------------
1275 WDI_SwitchChReqInfoType
1276---------------------------------------------------------------------------*/
1277typedef struct
1278{
1279 /*Indicates the channel to switch to.*/
1280 wpt_uint8 ucChannel;
1281
1282 /*Local power constraint*/
1283 wpt_uint8 ucLocalPowerConstraint;
1284
1285 /*Secondary channel offset */
1286 WDI_HTSecondaryChannelOffset wdiSecondaryChannelOffset;
1287
1288#ifdef WLAN_FEATURE_VOWIFI
1289 wpt_int8 cMaxTxPower;
1290
1291 /*Self STA Mac address*/
1292 wpt_macAddr macSelfStaMacAddr;
1293#endif
1294 /* VO Wifi comment: BSSID is needed to identify which session issued this request. As the
1295 request has power constraints, this should be applied only to that session */
1296 /* V IMP: Keep bssId field at the end of this msg. It is used to mantain backward compatbility
1297 * by way of ignoring if using new host/old FW or old host/new FW since it is at the end of this struct
1298 */
1299 wpt_macAddr macBSSId;
1300
1301}WDI_SwitchChReqInfoType;
1302
1303/*---------------------------------------------------------------------------
1304 WDI_SwitchChReqParamsType
1305---------------------------------------------------------------------------*/
1306typedef struct
1307{
1308 /*Channel Info*/
1309 WDI_SwitchChReqInfoType wdiChInfo;
1310
1311 /*Request status callback offered by UMAC - it is called if the current
1312 req has returned PENDING as status; it delivers the status of sending
1313 the message over the BUS */
1314 WDI_ReqStatusCb wdiReqStatusCB;
1315
1316 /*The user data passed in by UMAC, it will be sent back when the above
1317 function pointer will be called */
1318 void* pUserData;
1319}WDI_SwitchChReqParamsType;
1320
1321/*---------------------------------------------------------------------------
1322 WDI_FinishScanReqParamsType
1323---------------------------------------------------------------------------*/
1324typedef struct
1325{
1326 /*Info for the Finish Scan request that will be sent down to the device*/
1327 WDI_FinishScanReqInfoType wdiReqInfo;
1328
1329 /*Request status callback offered by UMAC - it is called if the current
1330 req has returned PENDING as status; it delivers the status of sending
1331 the message over the BUS */
1332 WDI_ReqStatusCb wdiReqStatusCB;
1333
1334 /*The user data passed in by UMAC, it will be sent back when the above
1335 function pointer will be called */
1336 void* pUserData;
1337}WDI_FinishScanReqParamsType;
1338
1339/*---------------------------------------------------------------------------
1340 WDI_JoinReqInfoType
1341---------------------------------------------------------------------------*/
1342typedef struct
1343{
1344 /*Indicates the BSSID to which STA is going to associate*/
1345 wpt_macAddr macBSSID;
1346
1347 /*Indicates the MAC Address of the current Self STA*/
1348 wpt_macAddr macSTASelf;
1349
1350 /*Indicates the link State determining the entity Type e.g. BTAMP-STA, STA etc.*/
1351 wpt_uint32 linkState;
1352
1353 /*Indicates the channel to switch to.*/
1354 WDI_SwitchChReqInfoType wdiChannelInfo;
1355
1356}WDI_JoinReqInfoType;
1357
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08001358typedef enum
1359{
1360 eWDI_CHANNEL_SWITCH_SOURCE_SCAN,
1361 eWDI_CHANNEL_SWITCH_SOURCE_LISTEN,
1362 eWDI_CHANNEL_SWITCH_SOURCE_MCC,
1363 eWDI_CHANNEL_SWITCH_SOURCE_CSA,
1364 eWDI_CHANNEL_SWITCH_SOURCE_MAX = 0x7FFFFFFF
1365} WDI_ChanSwitchSource;
1366
1367/*---------------------------------------------------------------------------
1368 WDI_SwitchChReqInfoType_V1
1369---------------------------------------------------------------------------*/
1370typedef struct
1371{
1372 /*Indicates the channel to switch to.*/
1373 wpt_uint8 ucChannel;
1374
1375 /*Local power constraint*/
1376 wpt_uint8 ucLocalPowerConstraint;
1377
1378 /*Secondary channel offset */
1379 WDI_HTSecondaryChannelOffset wdiSecondaryChannelOffset;
1380
1381#ifdef WLAN_FEATURE_VOWIFI
1382 wpt_int8 cMaxTxPower;
1383 /*Self STA Mac address*/
1384 wpt_macAddr macSelfStaMacAddr;
1385#endif
1386 /* VO Wifi comment: BSSID is needed to identify which session
1387 issued this request. As the request has power constraints, this
1388 should be applied only to that session
1389 */
1390 /* V IMP: Keep bssId field at the end of this msg. It is used to
1391 maintain backward compatibility by way of ignoring if using new
1392 host/old FW or old host/new FW since it is at the end of this struct
1393 */
1394 wpt_macAddr macBSSId;
1395 /* Source of Channel Switch */
1396 WDI_ChanSwitchSource channelSwitchSrc;
1397}WDI_SwitchChReqInfoType_V1;
1398
1399/*--------------------------------------------------------------------
1400 WDI_SwitchChReqParamsType_V1
1401----------------------------------------------------------------------*/
1402typedef struct
1403{
1404 /*Channel Info*/
1405 WDI_SwitchChReqInfoType_V1 wdiChInfo;
1406
1407 /*Request status callback offered by UMAC - it is called if the current
1408 req has returned PENDING as status; it delivers the status of sending
1409 the message over the BUS */
1410 WDI_ReqStatusCb wdiReqStatusCB;
1411
1412 /*The user data passed in by UMAC, it will be sent back when the above
1413 function pointer will be called */
1414 void* pUserData;
1415}WDI_SwitchChReqParamsType_V1;
1416
Jeff Johnson295189b2012-06-20 16:38:30 -07001417/*---------------------------------------------------------------------------
1418 WDI_JoinReqParamsType
1419---------------------------------------------------------------------------*/
1420typedef struct
1421{
1422 /*Info for the Join request that will be sent down to the device*/
1423 WDI_JoinReqInfoType wdiReqInfo;
1424
1425 /*Request status callback offered by UMAC - it is called if the current
1426 req has returned PENDING as status; it delivers the status of sending
1427 the message over the BUS */
1428 WDI_ReqStatusCb wdiReqStatusCB;
1429
1430 /*The user data passed in by UMAC, it will be sent back when the above
1431 function pointer will be called */
1432 void* pUserData;
1433}WDI_JoinReqParamsType;
1434
1435/*---------------------------------------------------------------------------
1436 WDI_BssType
1437---------------------------------------------------------------------------*/
1438typedef enum
1439{
1440 WDI_INFRASTRUCTURE_MODE,
1441 WDI_INFRA_AP_MODE, //Added for softAP support
1442 WDI_IBSS_MODE,
1443 WDI_BTAMP_STA_MODE,
1444 WDI_BTAMP_AP_MODE,
1445 WDI_BSS_AUTO_MODE,
1446}WDI_BssType;
1447
1448/*---------------------------------------------------------------------------
1449 WDI_NwType
1450---------------------------------------------------------------------------*/
1451typedef enum
1452{
1453 WDI_11A_NW_TYPE,
1454 WDI_11B_NW_TYPE,
1455 WDI_11G_NW_TYPE,
1456 WDI_11N_NW_TYPE,
1457} WDI_NwType;
1458
1459/*---------------------------------------------------------------------------
1460 WDI_ConfigAction
1461---------------------------------------------------------------------------*/
1462typedef enum
1463{
1464 WDI_ADD_BSS,
1465 WDI_UPDATE_BSS
1466} WDI_ConfigAction;
1467
1468/*---------------------------------------------------------------------------
1469 WDI_HTOperatingMode
1470---------------------------------------------------------------------------*/
1471typedef enum
1472{
1473 WDI_HT_OP_MODE_PURE,
1474 WDI_HT_OP_MODE_OVERLAP_LEGACY,
1475 WDI_HT_OP_MODE_NO_LEGACY_20MHZ_HT,
1476 WDI_HT_OP_MODE_MIXED
1477
1478} WDI_HTOperatingMode;
1479
1480
1481/*---------------------------------------------------------------------------
1482 WDI_STAEntryType
1483---------------------------------------------------------------------------*/
1484typedef enum
1485{
1486 WDI_STA_ENTRY_SELF,
1487 WDI_STA_ENTRY_PEER,
1488 WDI_STA_ENTRY_BSSID,
Mohit Khanna698ba2a2012-12-04 15:08:18 -08001489 WDI_STA_ENTRY_BCAST,
1490#ifdef FEATURE_WLAN_TDLS
1491 WDI_STA_ENTRY_TDLS_PEER,
1492#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001493}WDI_STAEntryType;
1494
1495/*---------------------------------------------------------------------------
1496 WDI_ConfigActionType
1497---------------------------------------------------------------------------*/
1498typedef enum
1499{
1500 WDI_ADD_STA,
1501 WDI_UPDATE_STA
1502} WDI_ConfigActionType;
1503
1504/*----------------------------------------------------------------------------
1505 Each station added has a rate mode which specifies the sta attributes
1506 ----------------------------------------------------------------------------*/
1507typedef enum
1508{
1509 WDI_RESERVED_1 = 0,
1510 WDI_RESERVED_2,
1511 WDI_RESERVED_3,
1512 WDI_11b,
1513 WDI_11bg,
1514 WDI_11a,
1515 WDI_11n,
1516} WDI_RateModeType;
1517
1518/*---------------------------------------------------------------------------
1519 WDI_SupportedRatesType
1520---------------------------------------------------------------------------*/
1521typedef struct
1522{
1523 /*
1524 * For Self STA Entry: this represents Self Mode.
1525 * For Peer Stations, this represents the mode of the peer.
1526 * On Station:
1527 * --this mode is updated when PE adds the Self Entry.
1528 * -- OR when PE sends 'ADD_BSS' message and station context in BSS is used to indicate the mode of the AP.
1529 * ON AP:
1530 * -- this mode is updated when PE sends 'ADD_BSS' and Sta entry for that BSS is used
1531 * to indicate the self mode of the AP.
1532 * -- OR when a station is associated, PE sends 'ADD_STA' message with this mode updated.
1533 */
1534
1535 WDI_RateModeType opRateMode;
1536
1537 /* 11b, 11a and aniLegacyRates are IE rates which gives rate in unit of 500Kbps */
1538 wpt_uint16 llbRates[WDI_NUM_11B_RATES];
1539 wpt_uint16 llaRates[WDI_NUM_11A_RATES];
1540 wpt_uint16 aLegacyRates[WDI_NUM_POLARIS_RATES];
1541
1542 /*Taurus only supports 26 Titan Rates(no ESF/concat Rates will be supported)
1543 First 26 bits are reserved for those Titan rates and
1544 the last 4 bits(bit28-31) for Taurus, 2(bit26-27) bits are reserved.*/
1545 wpt_uint32 uEnhancedRateBitmap; //Titan and Taurus Rates
1546
1547 /*
1548 * 0-76 bits used, remaining reserved
1549 * bits 0-15 and 32 should be set.
1550 */
1551 wpt_uint8 aSupportedMCSSet[WDI_MAC_MAX_SUPPORTED_MCS_SET];
1552
1553 /*
1554 * RX Highest Supported Data Rate defines the highest data
1555 * rate that the STA is able to receive, in unites of 1Mbps.
1556 * This value is derived from "Supported MCS Set field" inside
1557 * the HT capability element.
1558 */
1559 wpt_uint16 aRxHighestDataRate;
1560
Jeff Johnsone7245742012-09-05 17:12:55 -07001561
1562#ifdef WLAN_FEATURE_11AC
1563 /*Indicates the Maximum MCS that can be received for each number
1564 of spacial streams */
1565 wpt_uint16 vhtRxMCSMap;
1566 /*Indicate the highest VHT data rate that the STA is able to receive*/
1567 wpt_uint16 vhtRxHighestDataRate;
1568 /*Indicates the Maximum MCS that can be transmitted for each number
1569 of spacial streams */
1570 wpt_uint16 vhtTxMCSMap;
1571 /*Indicate the highest VHT data rate that the STA is able to transmit*/
1572 wpt_uint16 vhtTxHighestDataRate;
1573#endif
1574
Jeff Johnson295189b2012-06-20 16:38:30 -07001575} WDI_SupportedRates;
1576
1577/*--------------------------------------------------------------------------
1578 WDI_HTMIMOPowerSaveState
1579 Spatial Multiplexing(SM) Power Save mode
1580 --------------------------------------------------------------------------*/
1581typedef enum
1582{
1583 WDI_HT_MIMO_PS_STATIC = 0, // Static SM Power Save mode
1584 WDI_HT_MIMO_PS_DYNAMIC = 1, // Dynamic SM Power Save mode
1585 WDI_HT_MIMO_PS_NA = 2, // reserved
1586 WDI_HT_MIMO_PS_NO_LIMIT = 3, // SM Power Save disabled
1587} WDI_HTMIMOPowerSaveState;
1588
1589/*---------------------------------------------------------------------------
1590 WDI_ConfigStaReqInfoType
1591---------------------------------------------------------------------------*/
1592typedef struct
1593{
1594 /*BSSID of STA*/
1595 wpt_macAddr macBSSID;
1596
1597 /*ASSOC ID, as assigned by UMAC*/
1598 wpt_uint16 usAssocId;
1599
1600 /*Used for configuration of different HW modules.*/
1601 WDI_STAEntryType wdiSTAType;
1602
Gopichand Nakkalae7cbc5d2013-03-27 21:09:23 -07001603 /*STA Index */
1604 wpt_uint8 staIdx;
1605
Jeff Johnson295189b2012-06-20 16:38:30 -07001606 /*Short Preamble Supported.*/
1607 wpt_uint8 ucShortPreambleSupported;
1608
1609 /*MAC Address of STA*/
1610 wpt_macAddr macSTA;
1611
1612 /*Listen interval of the STA*/
1613 wpt_uint16 usListenInterval;
1614
1615 /*Support for 11e/WMM*/
1616 wpt_uint8 ucWMMEnabled;
1617
1618 /*11n HT capable STA*/
1619 wpt_uint8 ucHTCapable;
1620
1621 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
1622 wpt_uint8 ucTXChannelWidthSet;
1623
1624 /*RIFS mode 0 - NA, 1 - Allowed*/
1625 wpt_uint8 ucRIFSMode;
1626
1627 /*L-SIG TXOP Protection mechanism
1628 0 - No Support, 1 - Supported
1629 SG - there is global field*/
1630 wpt_uint8 ucLSIGTxopProtection;
1631
1632 /*Max Ampdu Size supported by STA. Device programming.
1633 0 : 8k , 1 : 16k, 2 : 32k, 3 : 64k */
1634 wpt_uint8 ucMaxAmpduSize;
1635
1636 /*Max Ampdu density. Used by RA. 3 : 0~7 : 2^(11nAMPDUdensity -4)*/
1637 wpt_uint8 ucMaxAmpduDensity;
1638
1639 /*Max AMSDU size 1 : 3839 bytes, 0 : 7935 bytes*/
1640 wpt_uint8 ucMaxAmsduSize;
1641
1642 /*Short GI support for 40Mhz packets*/
1643 wpt_uint8 ucShortGI40Mhz;
1644
1645 /*Short GI support for 20Mhz packets*/
1646 wpt_uint8 ucShortGI20Mhz;
1647
1648 /*These rates are the intersection of peer and self capabilities.*/
1649 WDI_SupportedRates wdiSupportedRates;
1650
1651 /*Robust Management Frame (RMF) enabled/disabled*/
1652 wpt_uint8 ucRMFEnabled;
1653
1654 /* The unicast encryption type in the association */
1655 wpt_uint32 ucEncryptType;
1656
1657 /*HAL should update the existing STA entry, if this flag is set. UMAC
1658 will set this flag in case of RE-ASSOC, where we want to reuse the old
1659 STA ID.*/
1660 WDI_ConfigActionType wdiAction;
1661
1662 /*U-APSD Flags: 1b per AC. Encoded as follows:
1663 b7 b6 b5 b4 b3 b2 b1 b0 =
1664 X X X X BE BK VI VO
1665 */
1666 wpt_uint8 ucAPSD;
1667
1668 /*Max SP Length*/
1669 wpt_uint8 ucMaxSPLen;
1670
1671 /*11n Green Field preamble support*/
1672 wpt_uint8 ucGreenFieldCapable;
1673
1674 /*MIMO Power Save mode*/
1675 WDI_HTMIMOPowerSaveState wdiMIMOPS;
1676
1677 /*Delayed BA Support*/
1678 wpt_uint8 ucDelayedBASupport;
1679
1680 /*Max AMPDU duration in 32us*/
1681 wpt_uint8 us32MaxAmpduDuratio;
1682
1683 /*HT STA should set it to 1 if it is enabled in BSS
1684 HT STA should set it to 0 if AP does not support it. This indication is
1685 sent to HAL and HAL uses this flag to pickup up appropriate 40Mhz rates.
1686 */
1687 wpt_uint8 ucDsssCckMode40Mhz;
1688
1689 wpt_uint8 ucP2pCapableSta;
Jeff Johnsone7245742012-09-05 17:12:55 -07001690#ifdef WLAN_FEATURE_11AC
1691 wpt_uint8 ucVhtCapableSta;
1692 wpt_uint8 ucVhtTxChannelWidthSet;
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08001693 wpt_uint8 ucVhtTxBFEnabled;
Abhishek Singh6927fa02014-06-27 17:19:55 +05301694 wpt_uint8 vhtTxMUBformeeCapable;
Jeff Johnsone7245742012-09-05 17:12:55 -07001695#endif
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08001696
1697 wpt_uint8 ucHtLdpcEnabled;
1698 wpt_uint8 ucVhtLdpcEnabled;
Jeff Johnson295189b2012-06-20 16:38:30 -07001699}WDI_ConfigStaReqInfoType;
1700
1701
1702/*---------------------------------------------------------------------------
1703 WDI_RateSet
1704
1705 12 Bytes long because this structure can be used to represent rate
1706 and extended rate set IEs
1707 The parser assume this to be at least 12
1708---------------------------------------------------------------------------*/
1709#define WDI_RATESET_EID_MAX 12
1710
1711typedef struct
1712{
1713 wpt_uint8 ucNumRates;
1714 wpt_uint8 aRates[WDI_RATESET_EID_MAX];
1715} WDI_RateSet;
1716
1717/*---------------------------------------------------------------------------
1718 WDI_AciAifsnType
1719 access category record
1720---------------------------------------------------------------------------*/
1721typedef struct
1722{
1723 wpt_uint8 rsvd : 1;
1724 wpt_uint8 aci : 2;
1725 wpt_uint8 acm : 1;
1726 wpt_uint8 aifsn : 4;
1727} WDI_AciAifsnType;
1728
1729/*---------------------------------------------------------------------------
1730 WDI_CWType
1731 contention window size
1732---------------------------------------------------------------------------*/
1733typedef struct
1734{
1735 wpt_uint8 max : 4;
1736 wpt_uint8 min : 4;
1737} WDI_CWType;
1738
1739/*---------------------------------------------------------------------------
1740 WDI_EdcaParamRecord
1741---------------------------------------------------------------------------*/
1742typedef struct
1743{
1744 /*Access Category Record*/
1745 WDI_AciAifsnType wdiACI;
1746
1747 /*Contention WIndow Size*/
1748 WDI_CWType wdiCW;
1749
1750 /*TX Oportunity Limit*/
1751 wpt_uint16 usTXOPLimit;
1752} WDI_EdcaParamRecord;
1753
1754/*---------------------------------------------------------------------------
1755 WDI_EDCAParamsType
1756---------------------------------------------------------------------------*/
1757typedef struct
1758{
1759 /*BSS Index*/
1760 wpt_uint8 ucBSSIdx;
1761
1762 /*?*/
1763 wpt_boolean bHighPerformance;
1764
1765 /*Best Effort*/
1766 WDI_EdcaParamRecord wdiACBE;
1767
1768 /*Background*/
1769 WDI_EdcaParamRecord wdiACBK;
1770
1771 /*Video*/
1772 WDI_EdcaParamRecord wdiACVI;
1773
1774 /*Voice*/
1775 WDI_EdcaParamRecord acvo; // voice
1776} WDI_EDCAParamsType;
1777
1778/* operMode in ADD BSS message */
1779#define WDI_BSS_OPERATIONAL_MODE_AP 0
1780#define WDI_BSS_OPERATIONAL_MODE_STA 1
1781
1782/*---------------------------------------------------------------------------
1783 WDI_ConfigBSSRspParamsType
1784---------------------------------------------------------------------------*/
1785typedef struct
1786{
1787 /*Status of the response*/
1788 WDI_Status wdiStatus;
1789
1790 /*BSSID of the BSS*/
1791 wpt_macAddr macBSSID;
1792
1793 /*BSS Index*/
1794 wpt_uint8 ucBSSIdx;
1795
1796 /*Unicast DPU signature*/
1797 wpt_uint8 ucUcastSig;
1798
1799 /*Broadcast DPU Signature*/
1800 wpt_uint8 ucBcastSig;
1801
1802 /*MAC Address of STA*/
1803 wpt_macAddr macSTA;
1804
1805 /*BSS STA ID*/
1806 wpt_uint8 ucSTAIdx;
1807
1808#ifdef WLAN_FEATURE_VOWIFI
1809 /*HAL fills in the tx power used for mgmt frames in this field */
1810 wpt_int8 ucTxMgmtPower;
1811#endif
1812
1813}WDI_ConfigBSSRspParamsType;
1814
1815/*---------------------------------------------------------------------------
1816 WDI_DelBSSReqParamsType
1817---------------------------------------------------------------------------*/
1818typedef struct
1819{
1820 /*BSS Index of the BSS*/
1821 wpt_uint8 ucBssIdx;
1822
1823 /*Request status callback offered by UMAC - it is called if the current
1824 req has returned PENDING as status; it delivers the status of sending
1825 the message over the BUS */
1826 WDI_ReqStatusCb wdiReqStatusCB;
1827
1828 /*The user data passed in by UMAC, it will be sent back when the above
1829 function pointer will be called */
1830 void* pUserData;
1831}WDI_DelBSSReqParamsType;
1832
1833/*---------------------------------------------------------------------------
1834 WDI_DelBSSRspParamsType
1835---------------------------------------------------------------------------*/
1836typedef struct
1837{
1838 /*Status of the response*/
1839 WDI_Status wdiStatus;
1840
1841 /*BSSID of the BSS*/
1842 wpt_macAddr macBSSID;
1843
1844 wpt_uint8 ucBssIdx;
1845
1846}WDI_DelBSSRspParamsType;
1847
1848/*---------------------------------------------------------------------------
1849 WDI_ConfigSTARspParamsType
1850---------------------------------------------------------------------------*/
1851typedef struct
1852{
1853 /*Status of the response*/
1854 WDI_Status wdiStatus;
1855
1856 /*STA Idx allocated by HAL*/
1857 wpt_uint8 ucSTAIdx;
1858
1859 /*MAC Address of STA*/
1860 wpt_macAddr macSTA;
1861
1862 /* BSSID Index of BSS to which the station is associated */
1863 wpt_uint8 ucBssIdx;
1864
1865 /* DPU Index - PTK */
1866 wpt_uint8 ucDpuIndex;
1867
1868 /* Bcast DPU Index - GTK */
1869 wpt_uint8 ucBcastDpuIndex;
1870
1871 /* Management DPU Index - IGTK - Why is it called bcastMgmtDpuIdx? */
1872 wpt_uint8 ucBcastMgmtDpuIdx;
1873
1874 /*Unicast DPU signature*/
1875 wpt_uint8 ucUcastSig;
1876
1877 /*Broadcast DPU Signature*/
1878 wpt_uint8 ucBcastSig;
1879
1880 /* IGTK DPU signature*/
1881 wpt_uint8 ucMgmtSig;
1882
1883}WDI_ConfigSTARspParamsType;
1884
1885/*---------------------------------------------------------------------------
1886 WDI_PostAssocRspParamsType
1887---------------------------------------------------------------------------*/
1888typedef struct
1889{
1890 /*Status of the response*/
1891 WDI_Status wdiStatus;
1892
1893 /*Parameters related to the BSS*/
1894 WDI_ConfigBSSRspParamsType bssParams;
1895
1896 /*Parameters related to the self STA*/
1897 WDI_ConfigSTARspParamsType staParams;
1898
1899}WDI_PostAssocRspParamsType;
1900
1901/*---------------------------------------------------------------------------
1902 WDI_DelSTAReqParamsType
1903---------------------------------------------------------------------------*/
1904typedef struct
1905{
1906 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
1907 wpt_uint8 ucSTAIdx;
1908
1909 /*Request status callback offered by UMAC - it is called if the current
1910 req has returned PENDING as status; it delivers the status of sending
1911 the message over the BUS */
1912 WDI_ReqStatusCb wdiReqStatusCB;
1913
1914 /*The user data passed in by UMAC, it will be sent back when the above
1915 function pointer will be called */
1916 void* pUserData;
1917}WDI_DelSTAReqParamsType;
1918
1919/*---------------------------------------------------------------------------
1920 WDI_DelSTARspParamsType
1921---------------------------------------------------------------------------*/
1922typedef struct
1923{
1924 /*Status of the response*/
1925 WDI_Status wdiStatus;
1926
1927 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
1928 wpt_uint8 ucSTAIdx;
1929}WDI_DelSTARspParamsType;
1930
1931/*---------------------------------------------------------------------------
1932 WDI_EncryptType
1933---------------------------------------------------------------------------*/
1934typedef enum
1935{
1936 WDI_ENCR_NONE,
1937 WDI_ENCR_WEP40,
1938 WDI_ENCR_WEP104,
1939 WDI_ENCR_TKIP,
1940 WDI_ENCR_CCMP,
1941#if defined(FEATURE_WLAN_WAPI)
1942 WDI_ENCR_WPI,
1943#endif
1944 WDI_ENCR_AES_128_CMAC
1945} WDI_EncryptType;
1946
1947/*---------------------------------------------------------------------------
1948 WDI_KeyDirectionType
1949---------------------------------------------------------------------------*/
1950typedef enum
1951{
1952 WDI_TX_ONLY,
1953 WDI_RX_ONLY,
1954 WDI_TX_RX,
Jeff Johnson295189b2012-06-20 16:38:30 -07001955 WDI_TX_DEFAULT,
Jeff Johnson295189b2012-06-20 16:38:30 -07001956 WDI_DONOT_USE_KEY_DIRECTION
1957} WDI_KeyDirectionType;
1958
1959#define WDI_MAX_ENCR_KEYS 4
1960#define WDI_MAX_KEY_LENGTH 32
1961#if defined(FEATURE_WLAN_WAPI)
1962#define WDI_MAX_KEY_RSC_LEN 16
1963#define WDI_WAPI_KEY_RSC_LEN 16
1964#else
1965#define WDI_MAX_KEY_RSC_LEN 8
1966#endif
1967
1968typedef struct
1969{
1970 /* Key ID */
1971 wpt_uint8 keyId;
1972 /* 0 for multicast */
1973 wpt_uint8 unicast;
1974 /* Key Direction */
1975 WDI_KeyDirectionType keyDirection;
1976 /* Usage is unknown */
1977 wpt_uint8 keyRsc[WDI_MAX_KEY_RSC_LEN];
1978 /* =1 for authenticator, =0 for supplicant */
1979 wpt_uint8 paeRole;
1980 wpt_uint16 keyLength;
1981 wpt_uint8 key[WDI_MAX_KEY_LENGTH];
1982
1983}WDI_KeysType;
1984
1985/*---------------------------------------------------------------------------
1986 WDI_SetBSSKeyReqInfoType
1987---------------------------------------------------------------------------*/
1988typedef struct
1989{
1990 /*BSS Index of the BSS*/
1991 wpt_uint8 ucBssIdx;
1992
1993 /*Encryption Type used with peer*/
1994 WDI_EncryptType wdiEncType;
1995
1996 /*Number of keys*/
1997 wpt_uint8 ucNumKeys;
1998
1999 /*Array of keys.*/
2000 WDI_KeysType aKeys[WDI_MAX_ENCR_KEYS];
2001
2002 /*Control for Replay Count, 1= Single TID based replay count on Tx
2003 0 = Per TID based replay count on TX */
2004 wpt_uint8 ucSingleTidRc;
2005}WDI_SetBSSKeyReqInfoType;
2006
2007/*---------------------------------------------------------------------------
2008 WDI_SetBSSKeyReqParamsType
2009---------------------------------------------------------------------------*/
2010typedef struct
2011{
2012 /*Key Info */
2013 WDI_SetBSSKeyReqInfoType wdiBSSKeyInfo;
2014
2015 /*Request status callback offered by UMAC - it is called if the current
2016 req has returned PENDING as status; it delivers the status of sending
2017 the message over the BUS */
2018 WDI_ReqStatusCb wdiReqStatusCB;
2019
2020 /*The user data passed in by UMAC, it will be sent back when the above
2021 function pointer will be called */
2022 void* pUserData;
2023}WDI_SetBSSKeyReqParamsType;
2024
2025/*---------------------------------------------------------------------------
2026 WDI_WepType
2027---------------------------------------------------------------------------*/
2028typedef enum
2029{
2030 WDI_WEP_STATIC,
2031 WDI_WEP_DYNAMIC
2032
2033} WDI_WepType;
2034
2035/*---------------------------------------------------------------------------
2036 WDI_RemoveBSSKeyReqInfoType
2037---------------------------------------------------------------------------*/
2038typedef struct
2039{
2040 /*BSS Index of the BSS*/
2041 wpt_uint8 ucBssIdx;
2042
2043 /*Encryption Type used with peer*/
2044 WDI_EncryptType wdiEncType;
2045
2046 /*Key Id*/
2047 wpt_uint8 ucKeyId;
2048
2049 /*STATIC/DYNAMIC. Used in Nullifying in Key Descriptors for Static/Dynamic
2050 keys*/
2051 WDI_WepType wdiWEPType;
2052}WDI_RemoveBSSKeyReqInfoType;
2053
2054/*---------------------------------------------------------------------------
2055 WDI_RemoveBSSKeyReqParamsType
2056---------------------------------------------------------------------------*/
2057typedef struct
2058{
2059 /*Key Info */
2060 WDI_RemoveBSSKeyReqInfoType wdiKeyInfo;
2061
2062 /*Request status callback offered by UMAC - it is called if the current
2063 req has returned PENDING as status; it delivers the status of sending
2064 the message over the BUS */
2065 WDI_ReqStatusCb wdiReqStatusCB;
2066
2067 /*The user data passed in by UMAC, it will be sent back when the above
2068 function pointer will be called */
2069 void* pUserData;
2070}WDI_RemoveBSSKeyReqParamsType;
2071
2072/*---------------------------------------------------------------------------
2073 WDI_SetSTAKeyReqInfoType
2074---------------------------------------------------------------------------*/
2075typedef struct
2076{
2077 /*STA Index*/
2078 wpt_uint8 ucSTAIdx;
2079
2080 /*Encryption Type used with peer*/
2081 WDI_EncryptType wdiEncType;
2082
2083 /*STATIC/DYNAMIC*/
2084 WDI_WepType wdiWEPType;
2085
2086 /*Default WEP key, valid only for static WEP, must between 0 and 3.*/
2087 wpt_uint8 ucDefWEPIdx;
2088
2089 /*Number of keys*/
2090 wpt_uint8 ucNumKeys;
2091
2092 /*Array of keys.*/
2093 WDI_KeysType wdiKey[WDI_MAX_ENCR_KEYS];
2094
2095 /*Control for Replay Count, 1= Single TID based replay count on Tx
2096 0 = Per TID based replay count on TX */
2097 wpt_uint8 ucSingleTidRc;
2098}WDI_SetSTAKeyReqInfoType;
2099
2100/*---------------------------------------------------------------------------
2101 WDI_ConfigBSSReqInfoType
2102---------------------------------------------------------------------------*/
2103typedef struct
2104{
2105 /*Peer BSSID*/
2106 wpt_macAddr macBSSID;
2107
2108 /*Self MAC Address*/
2109 wpt_macAddr macSelfAddr;
2110
2111 /*BSS Type*/
2112 WDI_BssType wdiBSSType;
2113
2114 /*Operational Mode: AP =0, STA = 1*/
2115 wpt_uint8 ucOperMode;
2116
2117 /*Network Type*/
2118 WDI_NwType wdiNWType;
2119
2120 /*Used to classify PURE_11G/11G_MIXED to program MTU*/
2121 wpt_uint8 ucShortSlotTimeSupported;
2122
2123 /*Co-exist with 11a STA*/
2124 wpt_uint8 ucllaCoexist;
2125
2126 /*Co-exist with 11b STA*/
2127 wpt_uint8 ucllbCoexist;
2128
2129 /*Co-exist with 11g STA*/
2130 wpt_uint8 ucllgCoexist;
2131
2132 /*Coexistence with 11n STA*/
2133 wpt_uint8 ucHT20Coexist;
2134
2135 /*Non GF coexist flag*/
2136 wpt_uint8 ucllnNonGFCoexist;
2137
2138 /*TXOP protection support*/
2139 wpt_uint8 ucTXOPProtectionFullSupport;
2140
2141 /*RIFS mode*/
2142 wpt_uint8 ucRIFSMode;
2143
2144 /*Beacon Interval in TU*/
2145 wpt_uint16 usBeaconInterval;
2146
2147 /*DTIM period*/
2148 wpt_uint8 ucDTIMPeriod;
2149
2150 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
2151 wpt_uint8 ucTXChannelWidthSet;
2152
2153 /*Operating channel*/
2154 wpt_uint8 ucCurrentOperChannel;
2155
2156 /*Extension channel for channel bonding*/
2157 wpt_uint8 ucCurrentExtChannel;
2158
2159 /*Context of the station being added in HW.*/
2160 WDI_ConfigStaReqInfoType wdiSTAContext;
2161
2162 /*SSID of the BSS*/
2163 WDI_MacSSid wdiSSID;
2164
2165 /*HAL should update the existing BSS entry, if this flag is set. UMAC will
2166 set this flag in case of RE-ASSOC, where we want to reuse the old BSSID*/
2167 WDI_ConfigAction wdiAction;
2168
2169 /*Basic Rate Set*/
2170 WDI_RateSet wdiRateSet;
2171
2172 /*Enable/Disable HT capabilities of the BSS*/
2173 wpt_uint8 ucHTCapable;
2174
2175 /* Enable/Disable OBSS protection */
2176 wpt_uint8 ucObssProtEnabled;
2177
2178 /*RMF enabled/disabled*/
2179 wpt_uint8 ucRMFEnabled;
2180
2181 /*Determines the current HT Operating Mode operating mode of the
2182 802.11n STA*/
2183 WDI_HTOperatingMode wdiHTOperMod;
2184
2185 /*Dual CTS Protection: 0 - Unused, 1 - Used*/
2186 wpt_uint8 ucDualCTSProtection;
2187
2188 /* Probe Response Max retries */
2189 wpt_uint8 ucMaxProbeRespRetryLimit;
2190
2191 /* To Enable Hidden ssid */
2192 wpt_uint8 bHiddenSSIDEn;
2193
2194 /* To Enable Disable FW Proxy Probe Resp */
2195 wpt_uint8 bProxyProbeRespEn;
2196
2197 /* Boolean to indicate if EDCA params are valid. UMAC might not have valid
2198 EDCA params or might not desire to apply EDCA params during config BSS.
2199 0 implies Not Valid ; Non-Zero implies valid*/
2200 wpt_uint8 ucEDCAParamsValid;
2201
2202 /*EDCA Parameters for BK*/
2203 WDI_EdcaParamRecord wdiBKEDCAParams;
2204
2205 /*EDCA Parameters for BE*/
2206 WDI_EdcaParamRecord wdiBEEDCAParams;
2207
2208 /*EDCA Parameters for VI*/
2209 WDI_EdcaParamRecord wdiVIEDCAParams;
2210
2211 /*EDCA Parameters for VO*/
2212 WDI_EdcaParamRecord wdiVOEDCAParams;
2213
2214#ifdef WLAN_FEATURE_VOWIFI
2215 /*max power to be used after applying the power constraint, if any */
2216 wpt_int8 cMaxTxPower;
2217#endif
2218
2219 /* Persona for the BSS can be STA,AP,GO,CLIENT, same as Connection Mode */
2220 wpt_uint8 ucPersona;
2221
2222 /* Spectrum Mangement Indicator */
2223 wpt_uint8 bSpectrumMgtEn;
2224
2225#ifdef WLAN_FEATURE_VOWIFI_11R
2226 wpt_uint8 bExtSetStaKeyParamValid;
2227 WDI_SetSTAKeyReqInfoType wdiExtSetKeyParam;
2228#endif
2229
Jeff Johnsone7245742012-09-05 17:12:55 -07002230#ifdef WLAN_FEATURE_11AC
2231 wpt_uint8 ucVhtCapableSta;
2232 wpt_uint8 ucVhtTxChannelWidthSet;
2233#endif
2234
Jeff Johnson295189b2012-06-20 16:38:30 -07002235}WDI_ConfigBSSReqInfoType;
2236
2237/*---------------------------------------------------------------------------
2238 WDI_PostAssocReqParamsType
2239---------------------------------------------------------------------------*/
2240typedef struct
2241{
2242 /*Config STA arguments.*/
2243 WDI_ConfigStaReqInfoType wdiSTAParams;
2244
2245 /*Config BSS Arguments*/
2246 WDI_ConfigBSSReqInfoType wdiBSSParams;
2247
2248 /*Request status callback offered by UMAC - it is called if the current
2249 req has returned PENDING as status; it delivers the status of sending
2250 the message over the BUS */
2251 WDI_ReqStatusCb wdiReqStatusCB;
2252
2253 /*The user data passed in by UMAC, it will be sent back when the above
2254 function pointer will be called */
2255 void* pUserData;
2256}WDI_PostAssocReqParamsType;
2257
2258/*---------------------------------------------------------------------------
2259 WDI_ConfigBSSReqParamsType
2260---------------------------------------------------------------------------*/
2261typedef struct
2262{
2263 /*Info for the Join request that will be sent down to the device*/
2264 WDI_ConfigBSSReqInfoType wdiReqInfo;
2265
2266 /*Request status callback offered by UMAC - it is called if the current
2267 req has returned PENDING as status; it delivers the status of sending
2268 the message over the BUS */
2269 WDI_ReqStatusCb wdiReqStatusCB;
2270
2271 /*The user data passed in by UMAC, it will be sent back when the above
2272 function pointer will be called */
2273 void* pUserData;
2274}WDI_ConfigBSSReqParamsType;
2275
2276/*---------------------------------------------------------------------------
2277 WDI_SetSTAKeyReqParamsType
2278---------------------------------------------------------------------------*/
2279typedef struct
2280{
2281 /*Key Info*/
2282 WDI_SetSTAKeyReqInfoType wdiKeyInfo;
2283
2284 /*Request status callback offered by UMAC - it is called if the current
2285 req has returned PENDING as status; it delivers the status of sending
2286 the message over the BUS */
2287 WDI_ReqStatusCb wdiReqStatusCB;
2288
2289 /*The user data passed in by UMAC, it will be sent back when the above
2290 function pointer will be called */
2291 void* pUserData;
2292}WDI_SetSTAKeyReqParamsType;
2293
2294/*---------------------------------------------------------------------------
2295 WDI_RemoveSTAKeyReqInfoType
2296---------------------------------------------------------------------------*/
2297typedef struct
2298{
2299 /*STA Index*/
2300 wpt_uint8 ucSTAIdx;
2301
2302 /*Encryption Type used with peer*/
2303 WDI_EncryptType wdiEncType;
2304
2305 /*Key Id*/
2306 wpt_uint8 ucKeyId;
2307
2308 /*Whether to invalidate the Broadcast key or Unicast key. In case of WEP,
2309 the same key is used for both broadcast and unicast.*/
2310 wpt_uint8 ucUnicast;
2311}WDI_RemoveSTAKeyReqInfoType;
2312
2313/*---------------------------------------------------------------------------
2314 WDI_RemoveSTAKeyReqParamsType
2315---------------------------------------------------------------------------*/
2316typedef struct
2317{
2318 /*Key Info */
2319 WDI_RemoveSTAKeyReqInfoType wdiKeyInfo;
2320
2321 /*Request status callback offered by UMAC - it is called if the current
2322 req has returned PENDING as status; it delivers the status of sending
2323 the message over the BUS */
2324 WDI_ReqStatusCb wdiReqStatusCB;
2325
2326 /*The user data passed in by UMAC, it will be sent back when the above
2327 function pointer will be called */
2328 void* pUserData;
2329}WDI_RemoveSTAKeyReqParamsType;
2330
2331/*---------------------------------------------------------------------------
2332 QOS Parameters
2333---------------------------------------------------------------------------*/
2334
2335/*---------------------------------------------------------------------------
2336 WDI_TSInfoTfc
2337---------------------------------------------------------------------------*/
2338typedef struct
2339{
2340 wpt_uint16 ackPolicy:2;
2341 wpt_uint16 userPrio:3;
2342 wpt_uint16 psb:1;
2343 wpt_uint16 aggregation : 1;
2344 wpt_uint16 accessPolicy : 2;
2345 wpt_uint16 direction : 2;
2346 wpt_uint16 tsid : 4;
2347 wpt_uint16 trafficType : 1;
2348} WDI_TSInfoTfc;
2349
2350/*---------------------------------------------------------------------------
2351 WDI_TSInfoSch
2352---------------------------------------------------------------------------*/
2353typedef struct
2354{
2355 wpt_uint8 rsvd : 7;
2356 wpt_uint8 schedule : 1;
2357} WDI_TSInfoSch;
2358
2359/*---------------------------------------------------------------------------
2360 WDI_TSInfoType
2361---------------------------------------------------------------------------*/
2362typedef struct
2363{
2364 WDI_TSInfoTfc wdiTraffic;
2365 WDI_TSInfoSch wdiSchedule;
2366} WDI_TSInfoType;
2367
2368/*---------------------------------------------------------------------------
2369 WDI_TspecIEType
2370---------------------------------------------------------------------------*/
2371typedef struct
2372{
2373 wpt_uint8 ucType;
2374 wpt_uint8 ucLength;
2375 WDI_TSInfoType wdiTSinfo;
2376 wpt_uint16 usNomMsduSz;
2377 wpt_uint16 usMaxMsduSz;
2378 wpt_uint32 uMinSvcInterval;
2379 wpt_uint32 uMaxSvcInterval;
2380 wpt_uint32 uInactInterval;
2381 wpt_uint32 uSuspendInterval;
2382 wpt_uint32 uSvcStartTime;
2383 wpt_uint32 uMinDataRate;
2384 wpt_uint32 uMeanDataRate;
2385 wpt_uint32 uPeakDataRate;
2386 wpt_uint32 uMaxBurstSz;
2387 wpt_uint32 uDelayBound;
2388 wpt_uint32 uMinPhyRate;
2389 wpt_uint16 usSurplusBw;
2390 wpt_uint16 usMediumTime;
2391}WDI_TspecIEType;
2392
2393/*---------------------------------------------------------------------------
2394 WDI_AddTSReqInfoType
2395---------------------------------------------------------------------------*/
2396typedef struct
2397{
2398 /*STA Index*/
2399 wpt_uint8 ucSTAIdx;
2400
2401 /*Identifier for TSpec*/
2402 wpt_uint16 ucTspecIdx;
2403
2404 /*Tspec IE negotiated OTA*/
2405 WDI_TspecIEType wdiTspecIE;
2406
2407 /*UAPSD delivery and trigger enabled flags */
2408 wpt_uint8 ucUapsdFlags;
2409
2410 /*SI for each AC*/
2411 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
2412
2413 /*Suspend Interval for each AC*/
2414 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
2415
2416 /*DI for each AC*/
2417 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
2418
2419}WDI_AddTSReqInfoType;
2420
2421
2422/*---------------------------------------------------------------------------
2423 WDI_AddTSReqParamsType
2424---------------------------------------------------------------------------*/
2425typedef struct
2426{
2427 /*TSpec Info */
2428 WDI_AddTSReqInfoType wdiTsInfo;
2429
2430 /*Request status callback offered by UMAC - it is called if the current
2431 req has returned PENDING as status; it delivers the status of sending
2432 the message over the BUS */
2433 WDI_ReqStatusCb wdiReqStatusCB;
2434
2435 /*The user data passed in by UMAC, it will be sent back when the above
2436 function pointer will be called */
2437 void* pUserData;
2438}WDI_AddTSReqParamsType;
2439
2440/*---------------------------------------------------------------------------
2441 WDI_DelTSReqInfoType
2442---------------------------------------------------------------------------*/
2443typedef struct
2444{
2445 /*STA Index*/
2446 wpt_uint8 ucSTAIdx;
2447
2448 /*Identifier for TSpec*/
2449 wpt_uint16 ucTspecIdx;
2450
2451 /*BSSID of the BSS*/
2452 wpt_macAddr macBSSID;
2453}WDI_DelTSReqInfoType;
2454
2455/*---------------------------------------------------------------------------
2456 WDI_DelTSReqParamsType
2457---------------------------------------------------------------------------*/
2458typedef struct
2459{
2460 /*Del TSpec Info*/
2461 WDI_DelTSReqInfoType wdiDelTSInfo;
2462
2463 /*Request status callback offered by UMAC - it is called if the current
2464 req has returned PENDING as status; it delivers the status of sending
2465 the message over the BUS */
2466 WDI_ReqStatusCb wdiReqStatusCB;
2467
2468 /*The user data passed in by UMAC, it will be sent back when the above
2469 function pointer will be called */
2470 void* pUserData;
2471}WDI_DelTSReqParamsType;
2472
2473/*---------------------------------------------------------------------------
2474 WDI_UpdateEDCAInfoType
2475---------------------------------------------------------------------------*/
2476typedef struct
2477{
krunal soni0b366c02013-07-17 19:55:57 -07002478 /*BSS Index of the BSS*/
2479 wpt_uint16 ucBssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07002480
Jeff Johnson295189b2012-06-20 16:38:30 -07002481 /*EDCA params for BE*/
2482 WDI_EdcaParamRecord wdiEdcaBEInfo;
2483
2484 /*EDCA params for BK*/
2485 WDI_EdcaParamRecord wdiEdcaBKInfo;
2486
2487 /*EDCA params for VI*/
2488 WDI_EdcaParamRecord wdiEdcaVIInfo;
2489
2490 /*EDCA params for VO*/
2491 WDI_EdcaParamRecord wdiEdcaVOInfo;
2492
2493}WDI_UpdateEDCAInfoType;
2494
2495/*---------------------------------------------------------------------------
2496 WDI_UpdateEDCAParamsType
2497---------------------------------------------------------------------------*/
2498typedef struct
2499{
2500 /*EDCA Info */
2501 WDI_UpdateEDCAInfoType wdiEDCAInfo;
2502
2503 /*Request status callback offered by UMAC - it is called if the current
2504 req has returned PENDING as status; it delivers the status of sending
2505 the message over the BUS */
2506 WDI_ReqStatusCb wdiReqStatusCB;
2507
2508 /*The user data passed in by UMAC, it will be sent back when the above
2509 function pointer will be called */
2510 void* pUserData;
2511}WDI_UpdateEDCAParamsType;
2512
2513/*---------------------------------------------------------------------------
2514 WDI_AddBASessionReqinfoType
2515---------------------------------------------------------------------------*/
2516typedef struct
2517{
2518 /*Indicates the station for which BA is added..*/
2519 wpt_uint8 ucSTAIdx;
2520
2521 /*The peer mac address*/
2522 wpt_macAddr macPeerAddr;
2523
2524 /*TID for which BA was negotiated*/
2525 wpt_uint8 ucBaTID;
2526
2527 /*Delayed or imediate */
2528 wpt_uint8 ucBaPolicy;
2529
2530 /*The number of buffers for this TID (baTID)*/
2531 wpt_uint16 usBaBufferSize;
2532
2533 /*BA timeout in TU's*/
2534 wpt_uint16 usBaTimeout;
2535
2536 /*b0..b3 - Fragment Number - Always set to 0
2537 b4..b15 - Starting Sequence Number of first MSDU for which this BA is setup*/
2538 wpt_uint16 usBaSSN;
2539
2540 /*Originator/Recipient*/
2541 wpt_uint8 ucBaDirection;
2542
2543}WDI_AddBASessionReqinfoType;
2544
2545
2546/*---------------------------------------------------------------------------
2547 WDI_AddBASessionReqParamsType
2548---------------------------------------------------------------------------*/
2549typedef struct
2550{
2551 /*BA Session Info Type*/
2552 WDI_AddBASessionReqinfoType wdiBASessionInfoType;
2553
2554 /*Request status callback offered by UMAC - it is called if the current
2555 req has returned PENDING as status; it delivers the status of sending
2556 the message over the BUS */
2557 WDI_ReqStatusCb wdiReqStatusCB;
2558
2559 /*The user data passed in by UMAC, it will be sent back when the above
2560 function pointer will be called */
2561 void* pUserData;
2562}WDI_AddBASessionReqParamsType;
2563
2564/*---------------------------------------------------------------------------
2565 WDI_AddBASessionRspParamsType
2566---------------------------------------------------------------------------*/
2567typedef struct
2568{
2569 /*Status of the response*/
2570 WDI_Status wdiStatus;
2571
2572 /* Dialog token */
2573 wpt_uint8 ucBaDialogToken;
2574
2575 /* TID for which the BA session has been setup */
2576 wpt_uint8 ucBaTID;
2577
2578 /* BA Buffer Size allocated for the current BA session */
2579 wpt_uint8 ucBaBufferSize;
2580
2581 /* BA session ID */
2582 wpt_uint16 usBaSessionID;
2583
2584 /* Reordering Window buffer */
2585 wpt_uint8 ucWinSize;
2586
2587 /*Station Index to id the sta */
2588 wpt_uint8 ucSTAIdx;
2589
2590 /* Starting Sequence Number */
2591 wpt_uint16 usBaSSN;
2592
2593}WDI_AddBASessionRspParamsType;
2594
2595/*---------------------------------------------------------------------------
2596 WDI_AddBAReqinfoType
2597---------------------------------------------------------------------------*/
2598typedef struct
2599{
2600 /*Indicates the station for which BA is added..*/
2601 wpt_uint8 ucSTAIdx;
2602
2603 /* Session Id */
2604 wpt_uint8 ucBaSessionID;
2605
2606 /* Reorder Window Size */
2607 wpt_uint8 ucWinSize;
2608
2609#ifdef FEATURE_ON_CHIP_REORDERING
2610 wpt_boolean bIsReorderingDoneOnChip;
2611#endif
2612
2613}WDI_AddBAReqinfoType;
2614
2615
2616/*---------------------------------------------------------------------------
2617 WDI_AddBAReqParamsType
2618---------------------------------------------------------------------------*/
2619typedef struct
2620{
2621 /*BA Info Type*/
2622 WDI_AddBAReqinfoType wdiBAInfoType;
2623
2624 /*Request status callback offered by UMAC - it is called if the current
2625 req has returned PENDING as status; it delivers the status of sending
2626 the message over the BUS */
2627 WDI_ReqStatusCb wdiReqStatusCB;
2628
2629 /*The user data passed in by UMAC, it will be sent back when the above
2630 function pointer will be called */
2631 void* pUserData;
2632}WDI_AddBAReqParamsType;
2633
2634
2635/*---------------------------------------------------------------------------
2636 WDI_AddBARspinfoType
2637---------------------------------------------------------------------------*/
2638typedef struct
2639{
2640 /*Status of the response*/
2641 WDI_Status wdiStatus;
2642
2643 /* Dialog token */
2644 wpt_uint8 ucBaDialogToken;
2645
2646}WDI_AddBARspinfoType;
2647
2648/*---------------------------------------------------------------------------
2649 WDI_TriggerBAReqCandidateType
2650---------------------------------------------------------------------------*/
2651typedef struct
2652{
2653 /* STA index */
2654 wpt_uint8 ucSTAIdx;
2655
2656 /* TID bit map for the STA's*/
2657 wpt_uint8 ucTidBitmap;
2658
2659}WDI_TriggerBAReqCandidateType;
2660
2661
2662/*---------------------------------------------------------------------------
2663 WDI_TriggerBAReqinfoType
2664---------------------------------------------------------------------------*/
2665typedef struct
2666{
2667 /*Indicates the station for which BA is added..*/
2668 wpt_uint8 ucSTAIdx;
2669
2670 /* Session Id */
2671 wpt_uint8 ucBASessionID;
2672
2673 /* Trigger BA Request candidate count */
2674 wpt_uint16 usBACandidateCnt;
2675
2676 /* WDI_TriggerBAReqCandidateType followed by this*/
2677
2678}WDI_TriggerBAReqinfoType;
2679
2680
2681/*---------------------------------------------------------------------------
2682 WDI_TriggerBAReqParamsType
2683---------------------------------------------------------------------------*/
2684typedef struct
2685{
2686 /*BA Trigger Info Type*/
2687 WDI_TriggerBAReqinfoType wdiTriggerBAInfoType;
2688
2689 /*Request status callback offered by UMAC - it is called if the current
2690 req has returned PENDING as status; it delivers the status of sending
2691 the message over the BUS */
2692 WDI_ReqStatusCb wdiReqStatusCB;
2693
2694 /*The user data passed in by UMAC, it will be sent back when the above
2695 function pointer will be called */
2696 void* pUserData;
2697}WDI_TriggerBAReqParamsType;
2698
2699/*---------------------------------------------------------------------------
2700 WDI_AddBAInfoType
2701---------------------------------------------------------------------------*/
2702typedef struct
2703{
2704 wpt_uint16 fBaEnable : 1;
2705 wpt_uint16 startingSeqNum: 12;
2706 wpt_uint16 reserved : 3;
2707}WDI_AddBAInfoType;
2708
2709/*---------------------------------------------------------------------------
2710 WDI_TriggerBARspCandidateType
2711---------------------------------------------------------------------------*/
2712#define STA_MAX_TC 8
2713
2714typedef struct
2715{
2716 /* STA index */
2717 wpt_macAddr macSTA;
2718
2719 /* BA Info */
2720 WDI_AddBAInfoType wdiBAInfo[STA_MAX_TC];
2721}WDI_TriggerBARspCandidateType;
2722
2723/*---------------------------------------------------------------------------
2724 WDI_TriggerBARspParamsType
2725---------------------------------------------------------------------------*/
2726typedef struct
2727{
2728 /*Status of the response*/
2729 WDI_Status wdiStatus;
2730
2731 /*BSSID of the BSS*/
2732 wpt_macAddr macBSSID;
2733
2734 /* Trigger BA response candidate count */
2735 wpt_uint16 usBaCandidateCnt;
2736
2737 /* WDI_TriggerBARspCandidateType followed by this*/
2738
2739}WDI_TriggerBARspParamsType;
2740
2741/*---------------------------------------------------------------------------
2742 WDI_DelBAReqinfoType
2743---------------------------------------------------------------------------*/
2744typedef struct
2745{
2746 /*Indicates the station for which BA is added..*/
2747 wpt_uint8 ucSTAIdx;
2748
2749 /*TID for which BA was negotiated*/
2750 wpt_uint8 ucBaTID;
2751
2752 /*Originator/Recipient*/
2753 wpt_uint8 ucBaDirection;
2754
2755}WDI_DelBAReqinfoType;
2756
2757/*---------------------------------------------------------------------------
2758 WDI_DelBAReqParamsType
2759---------------------------------------------------------------------------*/
2760typedef struct
2761{
2762 /*BA Info */
2763 WDI_DelBAReqinfoType wdiBAInfo;
2764
2765 /*Request status callback offered by UMAC - it is called if the current
2766 req has returned PENDING as status; it delivers the status of sending
2767 the message over the BUS */
2768 WDI_ReqStatusCb wdiReqStatusCB;
2769
2770 /*The user data passed in by UMAC, it will be sent back when the above
2771 function pointer will be called */
2772 void* pUserData;
2773}WDI_DelBAReqParamsType;
2774
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08002775/*---------------------------------------------------------------------------
2776 WDI_UpdateChannelReqinfoType
2777---------------------------------------------------------------------------*/
2778typedef struct
2779{
2780 /** primary 20 MHz channel frequency in mhz */
2781 wpt_uint32 mhz;
2782 /** Center frequency 1 in MHz*/
2783 wpt_uint32 band_center_freq1;
2784 /** Center frequency 2 in MHz - valid only for 11acvht 80plus80 mode*/
2785 wpt_uint32 band_center_freq2;
2786 /* The first 26 bits are a bit mask to indicate any channel flags,
2787 (see WLAN_HAL_CHAN_FLAG*)
2788 The last 6 bits indicate the mode (see tChannelPhyModeType)*/
2789 wpt_uint32 channel_info;
2790 /** contains min power, max power, reg power and reg class id. */
2791 wpt_uint32 reg_info_1;
2792 /** contains antennamax */
2793 wpt_uint32 reg_info_2;
2794}WDI_UpdateChannelReqinfoType;
2795
2796typedef struct
2797{
2798 wpt_uint8 numchan;
2799 WDI_UpdateChannelReqinfoType *pchanParam;
2800}WDI_UpdateChannelReqType;
2801/*---------------------------------------------------------------------------
2802 WDI_UpdateChReqParamsType
2803---------------------------------------------------------------------------*/
2804typedef struct
2805{
2806 /*BA Info */
2807 WDI_UpdateChannelReqType wdiUpdateChanParams;
2808
2809 /*Request status callback offered by UMAC - it is called if the current
2810 req has returned PENDING as status; it delivers the status of sending
2811 the message over the BUS */
2812 WDI_ReqStatusCb wdiReqStatusCB;
2813
2814 /*The user data passed in by UMAC, it will be sent back when the above
2815 function pointer will be called */
2816 void* pUserData;
2817}WDI_UpdateChReqParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07002818
2819/*---------------------------------------------------------------------------
2820 WDI_SwitchCHRspParamsType
2821---------------------------------------------------------------------------*/
2822typedef struct
2823{
2824 /*Status of the response*/
2825 WDI_Status wdiStatus;
2826
2827 /*Indicates the channel that WLAN is on*/
2828 wpt_uint8 ucChannel;
2829
2830#ifdef WLAN_FEATURE_VOWIFI
2831 /*HAL fills in the tx power used for mgmt frames in this field.*/
2832 wpt_int8 ucTxMgmtPower;
2833#endif
2834
2835}WDI_SwitchCHRspParamsType;
2836
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08002837/*--------------------------------------------------------------------
2838 WDI_SwitchChRspParamsType_V1
2839--------------------------------------------------------------------*/
2840typedef struct
2841{
2842 /*Status of the response*/
2843 WDI_Status wdiStatus;
2844
2845 /*Indicates the channel that WLAN is on*/
2846 wpt_uint8 ucChannel;
2847
2848#ifdef WLAN_FEATURE_VOWIFI
2849 /*HAL fills in the tx power used for mgmt frames in this field.*/
2850 wpt_int8 ucTxMgmtPower;
2851#endif
2852
2853 /* Source of Channel Switch */
2854 WDI_ChanSwitchSource channelSwitchSrc;
2855}WDI_SwitchChRspParamsType_V1;
2856
Jeff Johnson295189b2012-06-20 16:38:30 -07002857/*---------------------------------------------------------------------------
2858 WDI_ConfigSTAReqParamsType
2859---------------------------------------------------------------------------*/
2860typedef struct
2861{
2862 /*Info for the Join request that will be sent down to the device*/
2863 WDI_ConfigStaReqInfoType wdiReqInfo;
2864
2865 /*Request status callback offered by UMAC - it is called if the current
2866 req has returned PENDING as status; it delivers the status of sending
2867 the message over the BUS */
2868 WDI_ReqStatusCb wdiReqStatusCB;
2869
2870 /*The user data passed in by UMAC, it will be sent back when the above
2871 function pointer will be called */
2872 void* pUserData;
2873}WDI_ConfigSTAReqParamsType;
2874
2875
2876/*---------------------------------------------------------------------------
2877 WDI_UpdateBeaconParamsInfoType
2878---------------------------------------------------------------------------*/
2879
2880typedef struct
2881{
2882 /*BSS Index of the BSS*/
2883 wpt_uint8 ucBssIdx;
2884
2885 /*shortPreamble mode. HAL should update all the STA rates when it
2886 receives this message*/
2887 wpt_uint8 ucfShortPreamble;
2888 /* short Slot time.*/
2889 wpt_uint8 ucfShortSlotTime;
2890 /* Beacon Interval */
2891 wpt_uint16 usBeaconInterval;
2892 /*Protection related */
2893 wpt_uint8 ucllaCoexist;
2894 wpt_uint8 ucllbCoexist;
2895 wpt_uint8 ucllgCoexist;
2896 wpt_uint8 ucHt20MhzCoexist;
2897 wpt_uint8 ucllnNonGFCoexist;
2898 wpt_uint8 ucfLsigTXOPProtectionFullSupport;
2899 wpt_uint8 ucfRIFSMode;
2900
2901 wpt_uint16 usChangeBitmap;
2902}WDI_UpdateBeaconParamsInfoType;
2903
Mohit Khanna4a70d262012-09-11 16:30:12 -07002904#ifdef WLAN_FEATURE_11AC
2905typedef struct
2906{
2907 wpt_uint16 opMode;
2908 wpt_uint16 staId;
2909}WDI_UpdateVHTOpMode;
2910#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07002911
2912/*---------------------------------------------------------------------------
2913 WDI_UpdateBeaconParamsType
2914---------------------------------------------------------------------------*/
2915typedef struct
2916{
2917 /*Update Beacon Params Info*/
2918 WDI_UpdateBeaconParamsInfoType wdiUpdateBeaconParamsInfo;
2919
2920 /*Request status callback offered by UMAC - it is called if the current
2921 req has returned PENDING as status; it delivers the status of sending
2922 the message over the BUS */
2923 WDI_ReqStatusCb wdiReqStatusCB;
2924
2925 /*The user data passed in by UMAC, it will be sent back when the above
2926 function pointer will be called */
2927 void* pUserData;
2928}WDI_UpdateBeaconParamsType;
2929
2930/*---------------------------------------------------------------------------
2931 WDI_SendBeaconParamsInfoType
2932---------------------------------------------------------------------------*/
2933
2934typedef struct {
2935
2936 /*BSSID of the BSS*/
2937 wpt_macAddr macBSSID;
2938
2939 /* Beacon data */
2940 wpt_uint8 beacon[WDI_BEACON_TEMPLATE_SIZE];
2941
2942 /* length of the template */
2943 wpt_uint32 beaconLength;
2944
Jeff Johnson295189b2012-06-20 16:38:30 -07002945 /* TIM IE offset from the beginning of the template.*/
2946 wpt_uint32 timIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07002947
Jeff Johnson295189b2012-06-20 16:38:30 -07002948 /* P2P IE offset from the beginning of the template */
2949 wpt_uint16 usP2PIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07002950} WDI_SendBeaconParamsInfoType;
2951
2952/*---------------------------------------------------------------------------
2953 WDI_SendBeaconParamsType
2954---------------------------------------------------------------------------*/
2955typedef struct
2956{
2957 /*Send Beacon Params Info*/
2958 WDI_SendBeaconParamsInfoType wdiSendBeaconParamsInfo;
2959
2960 /*Request status callback offered by UMAC - it is called if the current
2961 req has returned PENDING as status; it delivers the status of sending
2962 the message over the BUS */
2963 WDI_ReqStatusCb wdiReqStatusCB;
2964
2965 /*The user data passed in by UMAC, it will be sent back when the above
2966 function pointer will be called */
2967 void* pUserData;
2968}WDI_SendBeaconParamsType;
2969
2970/*---------------------------------------------------------------------------
2971 WDI_LinkStateType
2972---------------------------------------------------------------------------*/
2973typedef enum
2974{
2975 WDI_LINK_IDLE_STATE = 0,
2976 WDI_LINK_PREASSOC_STATE = 1,
2977 WDI_LINK_POSTASSOC_STATE = 2,
2978 WDI_LINK_AP_STATE = 3,
2979 WDI_LINK_IBSS_STATE = 4,
2980
2981 // BT-AMP Case
2982 WDI_LINK_BTAMP_PREASSOC_STATE = 5,
2983 WDI_LINK_BTAMP_POSTASSOC_STATE = 6,
2984 WDI_LINK_BTAMP_AP_STATE = 7,
2985 WDI_LINK_BTAMP_STA_STATE = 8,
2986
2987 // Reserved for HAL internal use
2988 WDI_LINK_LEARN_STATE = 9,
2989 WDI_LINK_SCAN_STATE = 10,
2990 WDI_LINK_FINISH_SCAN_STATE = 11,
2991 WDI_LINK_INIT_CAL_STATE = 12,
2992 WDI_LINK_FINISH_CAL_STATE = 13,
Jeff Johnson295189b2012-06-20 16:38:30 -07002993 WDI_LINK_LISTEN_STATE = 14,
Gopichand Nakkala924e4552013-05-08 19:18:14 +05302994 WDI_LINK_SEND_ACTION_STATE = 15,
Jeff Johnson295189b2012-06-20 16:38:30 -07002995 WDI_LINK_MAX = 0x7FFFFFFF
2996} WDI_LinkStateType;
2997
2998/*---------------------------------------------------------------------------
2999 WDI_SetLinkReqInfoType
3000---------------------------------------------------------------------------*/
3001typedef struct
3002{
3003 /*BSSID of the BSS*/
3004 wpt_macAddr macBSSID;
3005
3006 /*Link state*/
3007 WDI_LinkStateType wdiLinkState;
3008
3009 /*BSSID of the BSS*/
3010 wpt_macAddr macSelfStaMacAddr;
3011}WDI_SetLinkReqInfoType;
3012
3013/*---------------------------------------------------------------------------
3014 WDI_SetLinkReqParamsType
3015---------------------------------------------------------------------------*/
3016typedef struct
3017{
3018 /*Link Info*/
3019 WDI_SetLinkReqInfoType wdiLinkInfo;
3020
3021 /*Request status callback offered by UMAC - it is called if the current
3022 req has returned PENDING as status; it delivers the status of sending
3023 the message over the BUS */
3024 WDI_ReqStatusCb wdiReqStatusCB;
3025
3026 /*The user data passed in by UMAC, it will be sent back when the above
3027 function pointer will be called */
3028 void* pUserData;
3029}WDI_SetLinkReqParamsType;
3030
3031/*---------------------------------------------------------------------------
3032 WDI_GetStatsParamsInfoType
3033---------------------------------------------------------------------------*/
3034typedef struct
3035{
3036 /*Indicates the station for which Get Stats are requested..*/
3037 wpt_uint8 ucSTAIdx;
3038
3039 /* categories of stats requested */
3040 wpt_uint32 uStatsMask;
3041}WDI_GetStatsParamsInfoType;
3042
3043/*---------------------------------------------------------------------------
3044 WDI_GetStatsReqParamsType
3045---------------------------------------------------------------------------*/
3046typedef struct
3047{
3048 /*Get Stats Params Info*/
3049 WDI_GetStatsParamsInfoType wdiGetStatsParamsInfo;
3050
3051 /*Request status callback offered by UMAC - it is called if the current
3052 req has returned PENDING as status; it delivers the status of sending
3053 the message over the BUS */
3054 WDI_ReqStatusCb wdiReqStatusCB;
3055
3056 /*The user data passed in by UMAC, it will be sent back when the above
3057 function pointer will be called */
3058 void* pUserData;
3059}WDI_GetStatsReqParamsType;
3060
3061/*---------------------------------------------------------------------------
3062 WDI_GetStatsRspParamsType
3063---------------------------------------------------------------------------*/
3064typedef struct
3065{
3066 /*message type is same as the request type*/
3067 wpt_uint16 usMsgType;
3068
3069 /* length of the entire request, includes the pStatsBuf length too*/
3070 wpt_uint16 usMsgLen;
3071
3072 /*Result of the operation*/
3073 WDI_Status wdiStatus;
3074
3075 /*Indicates the station for which Get Stats are requested..*/
3076 wpt_uint8 ucSTAIdx;
3077
3078 /* categories of stats requested */
3079 wpt_uint32 uStatsMask;
3080
3081 /* The Stats buffer starts here and can be an aggregate of more than one statistics
3082 * structure depending on statsMask.*/
3083}WDI_GetStatsRspParamsType;
3084
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003085#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08003086/*---------------------------------------------------------------------------
3087 WDI_GetRoamRssiParamsInfoType
3088---------------------------------------------------------------------------*/
3089typedef struct
3090{
3091 /*Indicates the station for which Get Stats are requested..*/
3092 wpt_uint8 ucSTAIdx;
3093
3094 /* categories of stats requested */
3095 wpt_uint32 uStatsMask;
3096}WDI_GetRoamRssiParamsInfoType;
3097
3098/*---------------------------------------------------------------------------
3099 WDI_GetRoamRssiReqParamsType
3100---------------------------------------------------------------------------*/
3101typedef struct
3102{
3103 /*Get Roam Rssi Params Info*/
3104 WDI_GetRoamRssiParamsInfoType wdiGetRoamRssiParamsInfo;
3105
3106 /*Request status callback offered by UMAC - it is called if the current
3107 req has returned PENDING as status; it delivers the status of sending
3108 the message over the BUS */
3109 WDI_ReqStatusCb wdiReqStatusCB;
3110
3111 /*The user data passed in by UMAC, it will be sent back when the above
3112 function pointer will be called */
3113 void* pUserData;
3114}WDI_GetRoamRssiReqParamsType;
3115
3116/*---------------------------------------------------------------------------
3117 WDI_GetRoamRssiRspParamsType
3118---------------------------------------------------------------------------*/
3119typedef struct
3120{
3121 /*Result of the operation*/
3122 WDI_Status wdiStatus;
3123
3124 /*Indicates the station for which Get Stats are requested..*/
3125 wpt_uint8 ucSTAIdx;
3126
3127 /* roam rssi requested */
3128 wpt_int8 rssi;
3129
3130 /* The Stats buffer starts here and can be an aggregate of more than one statistics
3131 * structure depending on statsMask.*/
3132}WDI_GetRoamRssiRspParamsType;
3133#endif
3134
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003135#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07003136/*---------------------------------------------------------------------------
3137 WDI_TSMStatsParamsInfoType
3138---------------------------------------------------------------------------*/
3139typedef struct
3140{
3141 /*Indicates the station for which Get Stats are requested..*/
3142 wpt_uint8 ucTid;
3143
3144 wpt_macAddr bssid;
3145}WDI_TSMStatsParamsInfoType;
3146
3147/*---------------------------------------------------------------------------
3148 WDI_TSMStatsReqParamsType
3149---------------------------------------------------------------------------*/
3150typedef struct
3151{
3152 /*Get TSM Stats Params Info*/
3153 WDI_TSMStatsParamsInfoType wdiTsmStatsParamsInfo;
3154
3155 WDI_ReqStatusCb wdiReqStatusCB;
3156
3157 /*The user data passed in by UMAC, it will be sent back when the above
3158 function pointer will be called */
3159 void* pUserData;
3160
3161}WDI_TSMStatsReqParamsType;
3162
3163
3164/*---------------------------------------------------------------------------
3165 WDI_TSMStatsRspParamsType
3166---------------------------------------------------------------------------*/
3167typedef struct
3168{
3169 /*Indicates the status of the operation */
3170 WDI_Status wdiStatus;
3171
3172 wpt_uint16 UplinkPktQueueDly;
3173 wpt_uint16 UplinkPktQueueDlyHist[4];
3174 wpt_uint32 UplinkPktTxDly;
3175 wpt_uint16 UplinkPktLoss;
3176 wpt_uint16 UplinkPktCount;
3177 wpt_uint8 RoamingCount;
3178 wpt_uint16 RoamingDly;
3179}WDI_TSMStatsRspParamsType;
3180
3181
3182#endif
3183/*---------------------------------------------------------------------------
3184 WDI_UpdateCfgReqParamsType
3185---------------------------------------------------------------------------*/
3186typedef struct
3187{
3188 /*This is a TLV formatted buffer containing all config values that can
3189 be set through the DAL Interface
3190
3191 The TLV is expected to be formatted like this:
3192
3193 0 7 15 31 ....
3194 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
3195
3196 Or from a C construct point of VU it would look like this:
3197
3198 typedef struct WPT_PACK_POST
3199 {
3200 #ifdef WPT_BIG_ENDIAN
3201 wpt_uint32 ucCfgId:8;
3202 wpt_uint32 ucCfgLen:8;
3203 wpt_uint32 usReserved:16;
3204 #else
3205 wpt_uint32 usReserved:16;
3206 wpt_uint32 ucCfgLen:8;
3207 wpt_uint32 ucCfgId:8;
3208 #endif
3209
3210 wpt_uint8 ucCfgBody[ucCfgLen];
3211 }WDI_ConfigType;
3212
3213 Multiple such tuplets are to be placed in the config buffer. One for
3214 each required configuration item:
3215
3216 | TLV 1 | TLV2 | ....
3217
3218 The buffer is expected to be a flat area of memory that can be manipulated
3219 with standard memory routines.
3220
3221 For more info please check paragraph 2.3.1 Config Structure from the
3222 HAL LLD.
3223
3224 For a list of accepted configuration list and IDs please look up
3225 wlan_qct_dal_cfg.h
3226 */
3227 void* pConfigBuffer;
3228
3229 /*Length of the config buffer above*/
3230 wpt_uint32 uConfigBufferLen;
3231
3232 /*Request status callback offered by UMAC - it is called if the current
3233 req has returned PENDING as status; it delivers the status of sending
3234 the message over the BUS */
3235 WDI_ReqStatusCb wdiReqStatusCB;
3236
3237 /*The user data passed in by UMAC, it will be sent back when the above
3238 function pointer will be called */
3239 void* pUserData;
3240}WDI_UpdateCfgReqParamsType;
3241
3242/*---------------------------------------------------------------------------
3243 WDI_UpdateProbeRspTemplateInfoType
3244---------------------------------------------------------------------------*/
3245//Default Beacon template size
3246#define WDI_PROBE_RSP_TEMPLATE_SIZE 0x180
3247
3248#define WDI_PROBE_REQ_BITMAP_IE_LEN 8
3249
3250typedef struct
3251{
3252 /*BSSID for which the Probe Template is to be used*/
3253 wpt_macAddr macBSSID;
3254
3255 /*Probe response template*/
3256 wpt_uint8 *pProbeRespTemplate[WDI_PROBE_RSP_TEMPLATE_SIZE];
3257
3258 /*Template Len*/
3259 wpt_uint32 uProbeRespTemplateLen;
3260
3261 /*Bitmap for the IEs that are to be handled at SLM level*/
3262 wpt_uint32 uaProxyProbeReqValidIEBmap[WDI_PROBE_REQ_BITMAP_IE_LEN];
3263
3264}WDI_UpdateProbeRspTemplateInfoType;
3265
3266/*---------------------------------------------------------------------------
3267 WDI_UpdateProbeRspParamsType
3268---------------------------------------------------------------------------*/
3269typedef struct
3270{
3271 /*Link Info*/
3272 WDI_UpdateProbeRspTemplateInfoType wdiProbeRspTemplateInfo;
3273
3274 /*Request status callback offered by UMAC - it is called if the current
3275 req has returned PENDING as status; it delivers the status of sending
3276 the message over the BUS */
3277 WDI_ReqStatusCb wdiReqStatusCB;
3278
3279 /*The user data passed in by UMAC, it will be sent back when the above
3280 function pointer will be called */
3281 void* pUserData;
3282}WDI_UpdateProbeRspTemplateParamsType;
3283
3284/*---------------------------------------------------------------------------
3285 WDI_NvDownloadReqBlobInfo
3286---------------------------------------------------------------------------*/
3287
3288typedef struct
3289{
3290 /* Blob starting address*/
3291 void *pBlobAddress;
3292
3293 /* Blob size */
3294 wpt_uint32 uBlobSize;
3295
3296}WDI_NvDownloadReqBlobInfo;
3297
3298/*---------------------------------------------------------------------------
3299 WDI_NvDownloadReqParamsType
3300---------------------------------------------------------------------------*/
3301typedef struct
3302{
3303 /*NV Blob Info*/
3304 WDI_NvDownloadReqBlobInfo wdiBlobInfo;
3305
3306 /*Request status callback offered by UMAC - it is called if the current
3307 req has returned PENDING as status; it delivers the status of sending
3308 the message over the BUS */
3309 WDI_ReqStatusCb wdiReqStatusCB;
3310
3311 /*The user data passed in by UMAC, it will be sent back when the above
3312 function pointer will be called */
3313 void* pUserData;
3314
3315}WDI_NvDownloadReqParamsType;
3316
3317/*---------------------------------------------------------------------------
3318 WDI_NvDownloadRspInfoType
3319---------------------------------------------------------------------------*/
3320typedef struct
3321{
3322 /*Status of the response*/
3323 WDI_Status wdiStatus;
3324
3325}WDI_NvDownloadRspInfoType;
3326
3327/*---------------------------------------------------------------------------
3328 WDI_SetMaxTxPowerInfoType
3329---------------------------------------------------------------------------*/
3330
3331typedef struct
3332{
3333 /*BSSID is needed to identify which session issued this request. As the request has
3334 power constraints, this should be applied only to that session*/
3335 wpt_macAddr macBSSId;
3336
3337
3338 wpt_macAddr macSelfStaMacAddr;
3339
3340 /* In request power == MaxTxpower to be used.*/
3341 wpt_int8 ucPower;
3342
3343}WDI_SetMaxTxPowerInfoType;
3344
3345/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003346 WDI_SetTxPowerInfoType
3347---------------------------------------------------------------------------*/
3348
3349typedef struct
3350{
3351 wpt_uint8 bssIdx;
3352 /* In request power == MaxTxpower to be used.*/
3353 wpt_uint8 ucPower;
3354
3355}WDI_SetTxPowerInfoType;
3356
3357/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003358 WDI_SetMaxTxPowerParamsType
3359---------------------------------------------------------------------------*/
3360typedef struct
3361{
3362 /*Link Info*/
3363 WDI_SetMaxTxPowerInfoType wdiMaxTxPowerInfo;
3364
3365 /*Request status callback offered by UMAC - it is called if the current
3366 req has returned PENDING as status; it delivers the status of sending
3367 the message over the BUS */
3368 WDI_ReqStatusCb wdiReqStatusCB;
3369
3370 /*The user data passed in by UMAC, it will be sent back when the above
3371 function pointer will be called */
3372 void* pUserData;
3373}WDI_SetMaxTxPowerParamsType;
3374
schang86c22c42013-03-13 18:41:24 -07003375/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07003376 WDI_Band
3377---------------------------------------------------------------------------*/
3378typedef enum
3379{
3380 WDI_BAND_ALL,
3381 WDI_BAND_24,
3382 WDI_BAND_5G,
3383 WDI_BAND_MAX,
3384}eWDIBand;
3385
3386/*---------------------------------------------------------------------------
3387 WDI_MaxTxPowerPerBandInfoType
3388---------------------------------------------------------------------------*/
3389typedef struct
3390{
3391 eWDIBand bandInfo;
3392 /* In request power == MaxTxpower to be used.*/
3393 wpt_uint8 ucPower;
3394}WDI_MaxTxPowerPerBandInfoType;
3395
3396/*---------------------------------------------------------------------------
3397 WDI_SetMaxTxPowerPerBandParamsType
3398---------------------------------------------------------------------------*/
3399typedef struct
3400{
3401 /*Link Info*/
3402 WDI_MaxTxPowerPerBandInfoType wdiMaxTxPowerPerBandInfo;
3403
3404 /*Request status callback offered by UMAC - it is called if the current
3405 req has returned PENDING as status; it delivers the status of sending
3406 the message over the BUS */
3407 WDI_ReqStatusCb wdiReqStatusCB;
3408
3409 /*The user data passed in by UMAC, it will be sent back when the above
3410 function pointer will be called */
3411 void* pUserData;
3412}WDI_SetMaxTxPowerPerBandParamsType;
3413
3414/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003415 WDI_SetTxPowerParamsType
3416---------------------------------------------------------------------------*/
3417typedef struct
3418{
3419 /*Link Info*/
3420 WDI_SetTxPowerInfoType wdiTxPowerInfo;
3421
3422 /*Request status callback offered by UMAC - it is called if the current
3423 req has returned PENDING as status; it delivers the status of sending
3424 the message over the BUS */
3425 WDI_ReqStatusCb wdiReqStatusCB;
3426
3427 /*The user data passed in by UMAC, it will be sent back when the above
3428 function pointer will be called */
3429 void* pUserData;
3430}WDI_SetTxPowerParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003431
3432/*---------------------------------------------------------------------------
3433 WDI_SetMaxTxPowerRspMsg
3434---------------------------------------------------------------------------*/
3435
3436typedef struct
3437{
3438 /* In response, power==tx power used for management frames*/
3439 wpt_int8 ucPower;
3440
3441 /*Result of the operation*/
3442 WDI_Status wdiStatus;
3443
3444}WDI_SetMaxTxPowerRspMsg;
3445
schang86c22c42013-03-13 18:41:24 -07003446/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07003447 WDI_SetMaxTxPowerPerBandRspMsg
3448---------------------------------------------------------------------------*/
3449typedef struct
3450{
3451 /* In response, power==tx power used for management frames*/
3452 wpt_int8 ucPower;
3453
3454 /*Result of the operation*/
3455 WDI_Status wdiStatus;
3456
3457}WDI_SetMaxTxPowerPerBandRspMsg;
3458
3459/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003460 WDI_SetTxPowerRspMsg
3461---------------------------------------------------------------------------*/
3462
3463typedef struct
3464{
3465 /* In response, power==tx power used for management frames*/
3466 wpt_int8 ucPower;
3467
3468 /*Result of the operation*/
3469 WDI_Status wdiStatus;
3470
3471}WDI_SetTxPowerRspMsg;
3472
Jeff Johnson295189b2012-06-20 16:38:30 -07003473typedef struct
3474{
3475 wpt_uint8 ucOpp_ps;
3476 wpt_uint32 uCtWindow;
3477 wpt_uint8 ucCount;
3478 wpt_uint32 uDuration;
3479 wpt_uint32 uInterval;
3480 wpt_uint32 uSingle_noa_duration;
3481 wpt_uint8 ucPsSelection;
3482}WDI_SetP2PGONOAReqInfoType;
3483
3484/*---------------------------------------------------------------------------
3485 WDI_SetP2PGONOAReqParamsType
3486---------------------------------------------------------------------------*/
3487typedef struct
3488{
3489 /*P2P GO NOA Req*/
3490 WDI_SetP2PGONOAReqInfoType wdiP2PGONOAInfo;
3491
3492 /*Request status callback offered by UMAC - it is called if the current
3493 req has returned PENDING as status; it delivers the status of sending
3494 the message over the BUS */
3495 WDI_ReqStatusCb wdiReqStatusCB;
3496
3497 /*The user data passed in by UMAC, it will be sent back when the above
3498 function pointer will be called */
3499 void* pUserData;
3500}WDI_SetP2PGONOAReqParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003501
Naresh Jayaramc7cbd782014-02-04 17:38:23 +05303502#define WDI_MAX_SUPP_CHANNELS 128
3503#define WDI_MAX_SUPP_OPER_CLASSES 32
3504
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303505typedef struct
3506{
3507 wpt_uint16 uStaIdx;
3508 wpt_uint8 uIsResponder;
3509 wpt_uint8 uUapsdQueues;
3510 wpt_uint8 uMaxSp;
3511 wpt_uint8 uIsBufSta;
Naresh Jayaramc7cbd782014-02-04 17:38:23 +05303512 wpt_uint8 uIsOffChannelSupported;
3513 wpt_uint8 peerCurrOperClass;
3514 wpt_uint8 selfCurrOperClass;
3515 wpt_uint8 validChannelsLen;
3516 wpt_uint8 validChannels[WDI_MAX_SUPP_CHANNELS];
3517 wpt_uint8 validOperClassesLen;
3518 wpt_uint8 validOperClasses[WDI_MAX_SUPP_OPER_CLASSES];
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303519}WDI_SetTDLSLinkEstablishReqInfoType;
3520/*---------------------------------------------------------------------------
3521 WDI_SetTDLSLinkEstablishReqParamsType
3522---------------------------------------------------------------------------*/
3523typedef struct
3524{
3525 /*TDLS Link Establish Req*/
3526 WDI_SetTDLSLinkEstablishReqInfoType wdiTDLSLinkEstablishInfo;
3527
3528 /*Request status callback offered by UMAC - it is called if the current
3529 req has returned PENDING as status; it delivers the status of sending
3530 the message over the BUS */
3531 WDI_ReqStatusCb wdiReqStatusCB;
3532
3533 /*The user data passed in by UMAC, it will be sent back when the above
3534 function pointer will be called */
3535 void* pUserData;
3536}WDI_SetTDLSLinkEstablishReqParamsType;
3537
3538
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05303539typedef struct
3540{
3541 /*Result of the operation*/
3542 WDI_Status wdiStatus;
3543
3544 /*STA Idx*/
3545 wpt_uint16 uStaIdx;
3546}WDI_SetTdlsLinkEstablishReqResp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003547
3548/*---------------------------------------------------------------------------
3549 WDI_SetAddSTASelfParamsType
3550---------------------------------------------------------------------------*/
3551typedef struct
3552{
3553 /*Self Station MAC address*/
3554 wpt_macAddr selfMacAddr;
3555
Kiran Kumar Lokere0ad5cd32013-06-25 11:26:22 -07003556 /*Self STA device mode*/
3557 wpt_uint32 currDeviceMode;
3558
Jeff Johnson295189b2012-06-20 16:38:30 -07003559 /*Status of the operation*/
3560 wpt_uint32 uStatus;
3561}WDI_AddSTASelfInfoType;
3562
3563/*---------------------------------------------------------------------------
3564 WDI_SetAddSTASelfParamsType
3565---------------------------------------------------------------------------*/
3566typedef struct
3567{
3568 /* Add Sta Self Req */
3569 WDI_AddSTASelfInfoType wdiAddSTASelfInfo;
3570
3571 /*Request status callback offered by UMAC - it is called if the current
3572 req has returned PENDING as status; it delivers the status of sending
3573 the message over the BUS */
3574 WDI_ReqStatusCb wdiReqStatusCB;
3575
3576 /*The user data passed in by UMAC, it will be sent back when the above
3577 function pointer will be called */
3578 void* pUserData;
3579}WDI_AddSTASelfReqParamsType;
3580
3581
3582/*---------------------------------------------------------------------------
3583 WDI_AddSTASelfRspParamsType
3584---------------------------------------------------------------------------*/
3585typedef struct
3586{
3587 /*Status of the response*/
3588 WDI_Status wdiStatus;
3589
3590 /*STA Idx allocated by HAL*/
3591 wpt_uint8 ucSTASelfIdx;
3592
3593 /* DPU Index (IGTK, PTK, GTK all same) */
3594 wpt_uint8 dpuIdx;
3595
3596 /* DPU Signature */
3597 wpt_uint8 dpuSignature;
3598
3599 /*Self STA Mac*/
3600 wpt_macAddr macSelfSta;
3601
3602}WDI_AddSTASelfRspParamsType;
3603
3604/*---------------------------------------------------------------------------
3605 WDI_DelSTASelfReqParamsType
3606 Del Sta Self info passed to WDI form WDA
3607---------------------------------------------------------------------------*/
3608typedef struct
3609{
3610 wpt_macAddr selfMacAddr;
3611
3612}WDI_DelSTASelfInfoType;
3613
3614/*---------------------------------------------------------------------------
3615 WDI_DelSTASelfReqParamsType
3616 Del Sta Self info passed to WDI form WDA
3617---------------------------------------------------------------------------*/
3618typedef struct
3619{
3620 /*Del Sta Self Info Type */
3621 WDI_DelSTASelfInfoType wdiDelStaSelfInfo;
3622 /*Request status callback offered by UMAC - it is called if the current req
3623 has returned PENDING as status; it delivers the status of sending the message
3624 over the BUS */
3625 WDI_ReqStatusCb wdiReqStatusCB;
3626 /*The user data passed in by UMAC, it will be sent back when the above
3627 function pointer will be called */
3628 void* pUserData;
3629}WDI_DelSTASelfReqParamsType;
3630
3631/*---------------------------------------------------------------------------
3632 WDI_DelSTASelfRspParamsType
3633---------------------------------------------------------------------------*/
3634typedef struct
3635{
3636 /*Status of the response*/
3637 WDI_Status wdiStatus;
3638
3639 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
3640// wpt_uint8 ucSTAIdx;
3641}WDI_DelSTASelfRspParamsType;
3642
3643/*---------------------------------------------------------------------------
3644 WDI_UapsdInfoType
3645 UAPSD parameters passed per AC to WDA from UMAC
3646---------------------------------------------------------------------------*/
3647typedef struct
3648{
3649 wpt_uint8 ucSTAIdx; // STA index
3650 wpt_uint8 ucAc; // Access Category
3651 wpt_uint8 ucUp; // User Priority
3652 wpt_uint32 uSrvInterval; // Service Interval
3653 wpt_uint32 uSusInterval; // Suspend Interval
3654 wpt_uint32 uDelayInterval; // Delay Interval
3655} WDI_UapsdInfoType;
3656
3657/*---------------------------------------------------------------------------
3658 WDI_SetUapsdAcParamsReqParamsType
3659 UAPSD parameters passed per AC to WDI from WDA
3660---------------------------------------------------------------------------*/
3661typedef struct
3662{
3663 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3664 WDI_UapsdInfoType wdiUapsdInfo;
3665 /*Request status callback offered by UMAC - it is called if the current req
3666 has returned PENDING as status; it delivers the status of sending the message
3667 over the BUS */
3668 WDI_ReqStatusCb wdiReqStatusCB;
3669 /*The user data passed in by UMAC, it will be sent back when the above
3670 function pointer will be called */
3671 void* pUserData;
3672}WDI_SetUapsdAcParamsReqParamsType;
3673
3674/*---------------------------------------------------------------------------
3675 WDI_EnterBmpsReqinfoType
3676 Enter BMPS parameters passed to WDA from UMAC
3677---------------------------------------------------------------------------*/
3678typedef struct
3679{
3680 //TBTT value derived from the last beacon
3681 wpt_uint8 ucBssIdx;
3682 wpt_uint64 uTbtt;
3683 wpt_uint8 ucDtimCount;
3684 //DTIM period given to HAL during association may not be valid,
3685 //if association is based on ProbeRsp instead of beacon.
3686 wpt_uint8 ucDtimPeriod;
3687 /* DXE physical addr to be passed down to RIVA. RIVA HAL will use it to program
3688 DXE when DXE wakes up from power save*/
3689 unsigned int dxePhyAddr;
3690
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003691 // For ESE and 11R Roaming
Jeff Johnson295189b2012-06-20 16:38:30 -07003692 wpt_uint32 rssiFilterPeriod;
3693 wpt_uint32 numBeaconPerRssiAverage;
3694 wpt_uint8 bRssiFilterEnable;
3695}WDI_EnterBmpsReqinfoType;
3696
3697/*---------------------------------------------------------------------------
3698 WDI_EnterBmpsReqParamsType
3699 Enter BMPS parameters passed to WDI from WDA
3700---------------------------------------------------------------------------*/
3701typedef struct
3702{
3703 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3704 WDI_EnterBmpsReqinfoType wdiEnterBmpsInfo;
3705 /*Request status callback offered by UMAC - it is called if the current req
3706 has returned PENDING as status; it delivers the status of sending the message
3707 over the BUS */
3708 WDI_ReqStatusCb wdiReqStatusCB;
3709 /*The user data passed in by UMAC, it will be sent back when the above
3710 function pointer will be called */
3711 void* pUserData;
3712}WDI_EnterBmpsReqParamsType;
3713
3714/*---------------------------------------------------------------------------
Mihir Shetea4306052014-03-25 00:02:54 +05303715 WDI_EnterImpsReqParamsType
3716 Enter IMPS parameters passed to WDI from WDA
3717---------------------------------------------------------------------------*/
3718typedef struct
3719{
3720 /*Request status callback offered by UMAC - it is called if the current req
3721 has returned PENDING as status; it delivers the status of sending the message
3722 over the BUS */
3723 WDI_ReqStatusCb wdiReqStatusCB;
3724 /*The user data passed in by UMAC, it will be sent back when the above
3725 function pointer will be called */
3726 void* pUserData;
3727}WDI_EnterImpsReqParamsType;
3728
3729/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003730 WDI_EnterBmpsReqParamsType
3731 Enter BMPS parameters passed from WDI to WDA
3732---------------------------------------------------------------------------*/
3733typedef struct
3734{
3735 /*Status of the response*/
3736 WDI_Status wdiStatus;
3737
3738 /*BssIDX of the session*/
3739 wpt_uint8 bssIdx;
3740}WDI_EnterBmpsRspParamsType;
3741
3742/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003743 WDI_ExitBmpsReqinfoType
3744 Exit BMPS parameters passed to WDA from UMAC
3745---------------------------------------------------------------------------*/
3746typedef struct
3747{
3748 wpt_uint8 ucSendDataNull;
Jeff Johnsone7245742012-09-05 17:12:55 -07003749 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003750}WDI_ExitBmpsReqinfoType;
3751
3752/*---------------------------------------------------------------------------
3753 WDI_ExitBmpsReqParamsType
3754 Exit BMPS parameters passed to WDI from WDA
3755---------------------------------------------------------------------------*/
3756typedef struct
3757{
3758 /*Exit BMPS Info Type, same as tExitBmpsParams */
3759 WDI_ExitBmpsReqinfoType wdiExitBmpsInfo;
3760 /*Request status callback offered by UMAC - it is called if the current req
3761 has returned PENDING as status; it delivers the status of sending the message
3762 over the BUS */
3763 WDI_ReqStatusCb wdiReqStatusCB;
3764 /*The user data passed in by UMAC, it will be sent back when the above
3765 function pointer will be called */
3766 void* pUserData;
3767}WDI_ExitBmpsReqParamsType;
3768
3769/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003770 WDI_ExitBmpsReqParamsType
3771 Exit BMPS parameters passed from WDI to WDA
3772---------------------------------------------------------------------------*/
3773typedef struct
3774{
3775 /*Status of the response*/
3776 WDI_Status wdiStatus;
3777
3778 /*BssIDX of the session*/
3779 wpt_uint8 bssIdx;
3780}WDI_ExitBmpsRspParamsType;
3781
3782/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003783 WDI_EnterUapsdReqinfoType
3784 Enter UAPSD parameters passed to WDA from UMAC
3785---------------------------------------------------------------------------*/
3786typedef struct
3787{
3788 wpt_uint8 ucBkDeliveryEnabled:1;
3789 wpt_uint8 ucBeDeliveryEnabled:1;
3790 wpt_uint8 ucViDeliveryEnabled:1;
3791 wpt_uint8 ucVoDeliveryEnabled:1;
3792 wpt_uint8 ucBkTriggerEnabled:1;
3793 wpt_uint8 ucBeTriggerEnabled:1;
3794 wpt_uint8 ucViTriggerEnabled:1;
3795 wpt_uint8 ucVoTriggerEnabled:1;
Jeff Johnsone7245742012-09-05 17:12:55 -07003796 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003797}WDI_EnterUapsdReqinfoType;
3798
3799/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003800 WDI_EnterUapsdRspParamsType
3801 Enter UAPSD parameters passed from WDI to WDA
3802---------------------------------------------------------------------------*/
3803typedef struct
3804{
3805 /*Status of the response*/
3806 WDI_Status wdiStatus;
3807
3808 /*BssIDX of the session*/
3809 wpt_uint8 bssIdx;
3810}WDI_EnterUapsdRspParamsType;
3811
3812/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003813 WDI_EnterUapsdReqinfoType
3814 Enter UAPSD parameters passed to WDI from WDA
3815---------------------------------------------------------------------------*/
3816typedef struct
3817{
3818 /*Enter UAPSD Info Type, same as tUapsdParams */
3819 WDI_EnterUapsdReqinfoType wdiEnterUapsdInfo;
3820 /*Request status callback offered by UMAC - it is called if the current req
3821 has returned PENDING as status; it delivers the status of sending the message
3822 over the BUS */
3823 WDI_ReqStatusCb wdiReqStatusCB;
3824 /*The user data passed in by UMAC, it will be sent back when the above
3825 function pointer will be called */
3826 void* pUserData;
3827}WDI_EnterUapsdReqParamsType;
3828
3829/*---------------------------------------------------------------------------
3830 WDI_UpdateUapsdReqinfoType
3831 Update UAPSD parameters passed to WDA from UMAC
3832---------------------------------------------------------------------------*/
3833typedef struct
3834{
3835 wpt_uint8 ucSTAIdx;
3836 wpt_uint8 ucUapsdACMask;
3837 wpt_uint32 uMaxSpLen;
3838}WDI_UpdateUapsdReqinfoType;
3839
3840/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003841 WDI_ExitUapsdReqinfoType
3842 Exit UAPSD parameters passed to WDA from UMAC
3843---------------------------------------------------------------------------*/
3844typedef struct
3845{
3846 wpt_uint8 bssIdx;
3847}WDI_ExitUapsdReqinfoType;
3848
3849/*---------------------------------------------------------------------------
3850 WDI_ExitUapsdReqParamsType
3851 Exit UAPSD parameters passed to WDI from WDA
3852---------------------------------------------------------------------------*/
3853typedef struct
3854{
3855 /*Exit UAPSD Info Type, same as tUapsdParams */
3856 WDI_ExitUapsdReqinfoType wdiExitUapsdInfo;
3857 /*Request status callback offered by UMAC - it is called if the current req
3858 has returned PENDING as status; it delivers the status of sending the message
3859 over the BUS */
3860 WDI_ReqStatusCb wdiReqStatusCB;
3861 /*The user data passed in by UMAC, it will be sent back when the above
3862 function pointer will be called */
3863 void* pUserData;
3864}WDI_ExitUapsdReqParamsType;
3865
3866/*---------------------------------------------------------------------------
3867 WDI_ExitUapsdRspParamsType
3868 Exit UAPSD parameters passed from WDI to WDA
3869---------------------------------------------------------------------------*/
3870typedef struct
3871{
3872 /*Status of the response*/
3873 WDI_Status wdiStatus;
3874
3875 /*BssIDX of the session*/
3876 wpt_uint8 bssIdx;
3877}WDI_ExitUapsdRspParamsType;
3878
3879/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003880 WDI_UpdateUapsdReqParamsType
3881 Update UAPSD parameters passed to WDI form WDA
3882---------------------------------------------------------------------------*/
3883typedef struct
3884{
3885 /*Update UAPSD Info Type, same as tUpdateUapsdParams */
3886 WDI_UpdateUapsdReqinfoType wdiUpdateUapsdInfo;
3887 /*Request status callback offered by UMAC - it is called if the current req
3888 has returned PENDING as status; it delivers the status of sending the message
3889 over the BUS */
3890 WDI_ReqStatusCb wdiReqStatusCB;
3891 /*The user data passed in by UMAC, it will be sent back when the above
3892 function pointer will be called */
3893 void* pUserData;
3894}WDI_UpdateUapsdReqParamsType;
3895
3896/*---------------------------------------------------------------------------
3897 WDI_ConfigureRxpFilterReqParamsType
3898 RXP filter parameters passed to WDI form WDA
3899---------------------------------------------------------------------------*/
3900typedef struct
3901{
3902 /* Mode of Mcast and Bcast filters configured */
3903 wpt_uint8 ucSetMcstBcstFilterSetting;
3904
3905 /* Mcast Bcast Filters enable/disable*/
3906 wpt_uint8 ucSetMcstBcstFilter;
3907}WDI_RxpFilterReqParamsType;
3908
3909typedef struct
3910{
3911 /* Rxp Filter */
3912 WDI_RxpFilterReqParamsType wdiRxpFilterParam;
3913
3914 /*Request status callback offered by UMAC - it is called if the current req
3915 has returned PENDING as status; it delivers the status of sending the message
3916 over the BUS */
3917 WDI_ReqStatusCb wdiReqStatusCB;
3918 /*The user data passed in by UMAC, it will be sent back when the above
3919 function pointer will be called */
3920 void* pUserData;
3921}WDI_ConfigureRxpFilterReqParamsType;
3922
3923/*---------------------------------------------------------------------------
3924 WDI_BeaconFilterInfoType
3925 Beacon Filtering data structures passed to WDA form UMAC
3926---------------------------------------------------------------------------*/
3927typedef struct
3928{
3929 wpt_uint16 usCapabilityInfo;
3930 wpt_uint16 usCapabilityMask;
3931 wpt_uint16 usBeaconInterval;
3932 wpt_uint16 usIeNum;
Madan Mohan Koyyalamudia84edda2012-10-15 14:58:25 -07003933 wpt_uint8 bssIdx;
3934 wpt_uint8 reserved;
Jeff Johnson295189b2012-06-20 16:38:30 -07003935}WDI_BeaconFilterInfoType;
3936
3937/*---------------------------------------------------------------------------
3938 WDI_BeaconFilterReqParamsType
3939 Beacon Filtering parameters passed to WDI form WDA
3940---------------------------------------------------------------------------*/
3941typedef struct
3942{
3943 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
3944 WDI_BeaconFilterInfoType wdiBeaconFilterInfo;
3945 /*Beacon Filter(s) follow the "usIeNum" field, hence the array to ease the
3946 copy of params from WDA to WDI */
3947 wpt_uint8 aFilters[WDI_BEACON_FILTER_LEN];
3948 /*Request status callback offered by UMAC - it is called if the current req
3949 has returned PENDING as status; it delivers the status of sending the message
3950 over the BUS */
3951 WDI_ReqStatusCb wdiReqStatusCB;
3952 /*The user data passed in by UMAC, it will be sent back when the above
3953 function pointer will be called */
3954 void* pUserData;
3955}WDI_BeaconFilterReqParamsType;
3956
3957/*---------------------------------------------------------------------------
3958 WDI_RemBeaconFilterInfoType
3959 Beacon Filtering data structures (to be reomoved) passed to WDA form UMAC
3960---------------------------------------------------------------------------*/
3961typedef struct
3962{
3963 wpt_uint8 ucIeCount;
3964 wpt_uint8 ucRemIeId[1];
3965}WDI_RemBeaconFilterInfoType;
3966
3967/*---------------------------------------------------------------------------
3968 WDI_RemBeaconFilterReqParamsType
3969 Beacon Filtering parameters (to be reomoved)passed to WDI form WDA
3970---------------------------------------------------------------------------*/
3971typedef struct
3972{
3973 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
3974 WDI_RemBeaconFilterInfoType wdiBeaconFilterInfo;
3975 /*Request status callback offered by UMAC - it is called if the current req
3976 has returned PENDING as status; it delivers the status of sending the message
3977 over the BUS */
3978 WDI_ReqStatusCb wdiReqStatusCB;
3979 /*The user data passed in by UMAC, it will be sent back when the above
3980 function pointer will be called */
3981 void* pUserData;
3982}WDI_RemBeaconFilterReqParamsType;
3983
3984/*---------------------------------------------------------------------------
3985 WDI_RSSIThresholdsType
3986 RSSI thresholds data structures (to be reomoved) passed to WDA form UMAC
3987---------------------------------------------------------------------------*/
3988typedef struct
3989{
3990 wpt_int8 ucRssiThreshold1 : 8;
3991 wpt_int8 ucRssiThreshold2 : 8;
3992 wpt_int8 ucRssiThreshold3 : 8;
3993 wpt_uint8 bRssiThres1PosNotify : 1;
3994 wpt_uint8 bRssiThres1NegNotify : 1;
3995 wpt_uint8 bRssiThres2PosNotify : 1;
3996 wpt_uint8 bRssiThres2NegNotify : 1;
3997 wpt_uint8 bRssiThres3PosNotify : 1;
3998 wpt_uint8 bRssiThres3NegNotify : 1;
3999 wpt_uint8 bReserved10 : 2;
4000} WDI_RSSIThresholdsType;
4001
4002/*---------------------------------------------------------------------------
4003 WDI_SetRSSIThresholdsReqParamsType
4004 RSSI thresholds parameters (to be reomoved)passed to WDI form WDA
4005---------------------------------------------------------------------------*/
4006typedef struct
4007{
4008 /*RSSI thresholds Info Type, same as WDI_RSSIThresholds */
4009 WDI_RSSIThresholdsType wdiRSSIThresholdsInfo;
4010 /*Request status callback offered by UMAC - it is called if the current req
4011 has returned PENDING as status; it delivers the status of sending the message
4012 over the BUS */
4013 WDI_ReqStatusCb wdiReqStatusCB;
4014 /*The user data passed in by UMAC, it will be sent back when the above
4015 function pointer will be called */
4016 void* pUserData;
4017}WDI_SetRSSIThresholdsReqParamsType;
4018
4019/*---------------------------------------------------------------------------
4020 WDI_HostOffloadReqType
4021 host offload info passed to WDA form UMAC
4022---------------------------------------------------------------------------*/
4023#ifdef WLAN_NS_OFFLOAD
4024typedef struct
4025{
4026 wpt_uint8 srcIPv6Addr[16];
4027 wpt_uint8 selfIPv6Addr[16];
4028 //Only support 2 possible Network Advertisement IPv6 address
4029 wpt_uint8 targetIPv6Addr1[16];
4030 wpt_uint8 targetIPv6Addr2[16];
4031 wpt_uint8 selfMacAddr[6];
4032 wpt_uint8 srcIPv6AddrValid : 1;
4033 wpt_uint8 targetIPv6Addr1Valid : 1;
4034 wpt_uint8 targetIPv6Addr2Valid : 1;
Gopichand Nakkala746a9452013-06-11 12:45:54 +05304035 wpt_uint8 slotIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004036} WDI_NSOffloadParams;
4037#endif //WLAN_NS_OFFLOAD
4038
4039typedef struct
4040{
4041 wpt_uint8 ucOffloadType;
4042 wpt_uint8 ucEnableOrDisable;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004043 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004044 union
4045 {
4046 wpt_uint8 aHostIpv4Addr [4];
4047 wpt_uint8 aHostIpv6Addr [16];
4048 } params;
4049} WDI_HostOffloadReqType;
4050
4051/*---------------------------------------------------------------------------
4052 WDI_HostOffloadReqParamsType
4053 host offload info passed to WDI form WDA
4054---------------------------------------------------------------------------*/
4055typedef struct
4056{
4057 /*Host offload Info Type, same as tHalHostOffloadReq */
4058 WDI_HostOffloadReqType wdiHostOffloadInfo;
4059#ifdef WLAN_NS_OFFLOAD
4060 WDI_NSOffloadParams wdiNsOffloadParams;
4061#endif //WLAN_NS_OFFLOAD
4062 /*Request status callback offered by UMAC - it is called if the current req
4063 has returned PENDING as status; it delivers the status of sending the message
4064 over the BUS */
4065 WDI_ReqStatusCb wdiReqStatusCB;
4066 /*The user data passed in by UMAC, it will be sent back when the above
4067 function pointer will be called */
4068 void* pUserData;
4069}WDI_HostOffloadReqParamsType;
4070
4071/*---------------------------------------------------------------------------
4072 WDI_KeepAliveReqType
4073 Keep Alive info passed to WDA form UMAC
4074---------------------------------------------------------------------------*/
4075typedef struct
4076{
4077 wpt_uint8 ucPacketType;
4078 wpt_uint32 ucTimePeriod;
4079 wpt_uint8 aHostIpv4Addr[4];
4080 wpt_uint8 aDestIpv4Addr[4];
4081 wpt_uint8 aDestMacAddr[6];
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004082 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004083} WDI_KeepAliveReqType;
4084
4085/*---------------------------------------------------------------------------
4086 WDI_KeepAliveReqParamsType
4087 Keep Alive passed to WDI form WDA
4088---------------------------------------------------------------------------*/
4089typedef struct
4090{
4091 /* Keep Alive Info Type, same as tHalKeepAliveReq */
4092 WDI_KeepAliveReqType wdiKeepAliveInfo;
4093 /*Request status callback offered by UMAC - it is called if the current req
4094 has returned PENDING as status; it delivers the status of sending the message
4095 over the BUS */
4096 WDI_ReqStatusCb wdiReqStatusCB;
4097 /*The user data passed in by UMAC, it will be sent back when the above
4098 function pointer will be called */
4099 void* pUserData;
4100}WDI_KeepAliveReqParamsType;
4101
4102/*---------------------------------------------------------------------------
4103 WDI_WowlAddBcPtrnInfoType
4104 Wowl add ptrn info passed to WDA form UMAC
4105---------------------------------------------------------------------------*/
4106typedef struct
4107{
4108 wpt_uint8 ucPatternId; // Pattern ID
4109 // Pattern byte offset from beginning of the 802.11 packet to start of the
4110 // wake-up pattern
4111 wpt_uint8 ucPatternByteOffset;
4112 wpt_uint8 ucPatternSize; // Non-Zero Pattern size
4113 wpt_uint8 ucPattern[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern
4114 wpt_uint8 ucPatternMaskSize; // Non-zero pattern mask size
4115 wpt_uint8 ucPatternMask[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern mask
4116 wpt_uint8 ucPatternExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern
4117 wpt_uint8 ucPatternMaskExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern mask
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004118 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004119} WDI_WowlAddBcPtrnInfoType;
4120
4121/*---------------------------------------------------------------------------
4122 WDI_WowlAddBcPtrnReqParamsType
4123 Wowl add ptrn info passed to WDI form WDA
4124---------------------------------------------------------------------------*/
4125typedef struct
4126{
4127 /*Wowl add ptrn Info Type, same as tpSirWowlAddBcastPtrn */
4128 WDI_WowlAddBcPtrnInfoType wdiWowlAddBcPtrnInfo;
4129 /*Request status callback offered by UMAC - it is called if the current req
4130 has returned PENDING as status; it delivers the status of sending the message
4131 over the BUS */
4132 WDI_ReqStatusCb wdiReqStatusCB;
4133 /*The user data passed in by UMAC, it will be sent back when the above
4134 function pointer will be called */
4135 void* pUserData;
4136}WDI_WowlAddBcPtrnReqParamsType;
4137
4138/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004139 WDI_WowlAddBcPtrnRspParamsType
4140 Wowl add ptrn info passed from WDI to WDA
4141---------------------------------------------------------------------------*/
4142typedef struct
4143{
4144 /*Status of the response*/
4145 WDI_Status wdiStatus;
4146 /*BssIDX of the session*/
4147 wpt_uint8 bssIdx;
4148}WDI_WowlAddBcPtrnRspParamsType;
4149
4150/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004151 WDI_WowlDelBcPtrnInfoType
4152 Wowl add ptrn info passed to WDA form UMAC
4153---------------------------------------------------------------------------*/
4154typedef struct
4155{
4156 /* Pattern ID of the wakeup pattern to be deleted */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004157 wpt_uint8 ucPatternId;
4158 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004159} WDI_WowlDelBcPtrnInfoType;
4160
4161/*---------------------------------------------------------------------------
4162 WDI_WowlDelBcPtrnReqParamsType
4163 Wowl add ptrn info passed to WDI form WDA
4164---------------------------------------------------------------------------*/
4165typedef struct
4166{
4167 /*Wowl delete ptrn Info Type, same as WDI_WowlDelBcastPtrn */
4168 WDI_WowlDelBcPtrnInfoType wdiWowlDelBcPtrnInfo;
4169 /*Request status callback offered by UMAC - it is called if the current req
4170 has returned PENDING as status; it delivers the status of sending the message
4171 over the BUS */
4172 WDI_ReqStatusCb wdiReqStatusCB;
4173 /*The user data passed in by UMAC, it will be sent back when the above
4174 function pointer will be called */
4175 void* pUserData;
4176}WDI_WowlDelBcPtrnReqParamsType;
4177
4178/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004179 WDI_WowlDelBcPtrnRspParamsType
4180 Wowl Del ptrn info passed from WDI to WDA
4181---------------------------------------------------------------------------*/
4182typedef struct
4183{
4184 /*Status of the response*/
4185 WDI_Status wdiStatus;
4186 /*BssIDX of the session*/
4187 wpt_uint8 bssIdx;
4188}WDI_WowlDelBcPtrnRspParamsType;
4189
4190/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004191 WDI_WowlEnterInfoType
4192 Wowl enter info passed to WDA form UMAC
4193---------------------------------------------------------------------------*/
4194typedef struct
4195{
4196 /* Enables/disables magic packet filtering */
4197 wpt_uint8 ucMagicPktEnable;
4198
4199 /* Magic pattern */
4200 wpt_macAddr magicPtrn;
4201
4202 /* Enables/disables packet pattern filtering in firmware.
4203 Enabling this flag enables broadcast pattern matching
4204 in Firmware. If unicast pattern matching is also desired,
4205 ucUcastPatternFilteringEnable flag must be set tot true
4206 as well
4207 */
4208 wpt_uint8 ucPatternFilteringEnable;
4209
4210 /* Enables/disables unicast packet pattern filtering.
4211 This flag specifies whether we want to do pattern match
4212 on unicast packets as well and not just broadcast packets.
4213 This flag has no effect if the ucPatternFilteringEnable
4214 (main controlling flag) is set to false
4215 */
4216 wpt_uint8 ucUcastPatternFilteringEnable;
4217
4218 /* This configuration is valid only when magicPktEnable=1.
4219 * It requests hardware to wake up when it receives the
4220 * Channel Switch Action Frame.
4221 */
4222 wpt_uint8 ucWowChnlSwitchRcv;
4223
4224 /* This configuration is valid only when magicPktEnable=1.
4225 * It requests hardware to wake up when it receives the
4226 * Deauthentication Frame.
4227 */
4228 wpt_uint8 ucWowDeauthRcv;
4229
4230 /* This configuration is valid only when magicPktEnable=1.
4231 * It requests hardware to wake up when it receives the
4232 * Disassociation Frame.
4233 */
4234 wpt_uint8 ucWowDisassocRcv;
4235
4236 /* This configuration is valid only when magicPktEnable=1.
4237 * It requests hardware to wake up when it has missed
4238 * consecutive beacons. This is a hardware register
4239 * configuration (NOT a firmware configuration).
4240 */
4241 wpt_uint8 ucWowMaxMissedBeacons;
4242
4243 /* This configuration is valid only when magicPktEnable=1.
4244 * This is a timeout value in units of microsec. It requests
4245 * hardware to unconditionally wake up after it has stayed
4246 * in WoWLAN mode for some time. Set 0 to disable this feature.
4247 */
4248 wpt_uint8 ucWowMaxSleepUsec;
4249
4250#ifdef WLAN_WAKEUP_EVENTS
4251 /* This configuration directs the WoW packet filtering to look for EAP-ID
4252 * requests embedded in EAPOL frames and use this as a wake source.
4253 */
4254 wpt_uint8 ucWoWEAPIDRequestEnable;
4255
4256 /* This configuration directs the WoW packet filtering to look for EAPOL-4WAY
4257 * requests and use this as a wake source.
4258 */
4259 wpt_uint8 ucWoWEAPOL4WayEnable;
4260
4261 /* This configuration allows a host wakeup on an network scan offload match.
4262 */
4263 wpt_uint8 ucWowNetScanOffloadMatch;
4264
4265 /* This configuration allows a host wakeup on any GTK rekeying error.
4266 */
4267 wpt_uint8 ucWowGTKRekeyError;
4268
4269 /* This configuration allows a host wakeup on BSS connection loss.
4270 */
4271 wpt_uint8 ucWoWBSSConnLoss;
4272#endif // WLAN_WAKEUP_EVENTS
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004273
4274 /* BSSIDX used to find the current session
4275 */
4276 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004277} WDI_WowlEnterInfoType;
4278
4279/*---------------------------------------------------------------------------
4280 WDI_WowlEnterReqParamsType
4281 Wowl enter info passed to WDI form WDA
4282---------------------------------------------------------------------------*/
4283typedef struct
4284{
4285 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
4286 WDI_WowlEnterInfoType wdiWowlEnterInfo;
4287 /*Request status callback offered by UMAC - it is called if the current req
4288 has returned PENDING as status; it delivers the status of sending the message
4289 over the BUS */
4290 WDI_ReqStatusCb wdiReqStatusCB;
4291 /*The user data passed in by UMAC, it will be sent back when the above
4292 function pointer will be called */
4293 void* pUserData;
4294}WDI_WowlEnterReqParamsType;
4295
4296/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004297 WDI_WowlEnterRsqParamsType
4298 Wowl enter info passed from WDI to WDA
4299---------------------------------------------------------------------------*/
4300typedef struct
4301{
4302 /*Status of the response message*/
4303 WDI_Status status;
4304
4305 /* BSSIDX used to find the current session
4306 */
4307 wpt_uint8 bssIdx;
4308}WDI_WowlEnterRspParamsType;
4309
4310/*---------------------------------------------------------------------------
4311 WDI_WowlExitInfoType
4312 Wowl exit info passed to WDA form UMAC
4313 ---------------------------------------------------------------------------*/
4314typedef struct
4315{
4316 /* BSSIDX used to find the current session
4317 */
4318 wpt_uint8 bssIdx;
4319} WDI_WowlExitInfoType;
4320
4321/*---------------------------------------------------------------------------
4322 WDI_WowlExitReqParamsType
4323 Wowl exit info passed to WDI form WDA
4324---------------------------------------------------------------------------*/
4325typedef struct
4326{
4327 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
4328 WDI_WowlExitInfoType wdiWowlExitInfo;
4329 /*Request status callback offered by UMAC - it is called if the current req
4330 has returned PENDING as status; it delivers the status of sending the message
4331 over the BUS */
4332 WDI_ReqStatusCb wdiReqStatusCB;
4333 /*The user data passed in by UMAC, it will be sent back when the above
4334 function pointer will be called */
4335 void* pUserData;
4336}WDI_WowlExitReqParamsType;
4337
4338/*---------------------------------------------------------------------------
4339 WDI_WowlExitRspParamsType
4340 Wowl exit info passed from WDI to WDA
4341---------------------------------------------------------------------------*/
4342typedef struct
4343{
4344 /*Status of the response message*/
4345 WDI_Status status;
4346
4347 /* BSSIDX used to find the current session
4348 */
4349 wpt_uint8 bssIdx;
4350}WDI_WowlExitRspParamsType;
4351
4352/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004353 WDI_ConfigureAppsCpuWakeupStateReqParamsType
4354 Apps Cpu Wakeup State parameters passed to WDI form WDA
4355---------------------------------------------------------------------------*/
4356typedef struct
4357{
4358 /*Depicts the state of the Apps CPU */
4359 wpt_boolean bIsAppsAwake;
4360 /*Request status callback offered by UMAC - it is called if the current req
4361 has returned PENDING as status; it delivers the status of sending the message
4362 over the BUS */
4363 WDI_ReqStatusCb wdiReqStatusCB;
4364 /*The user data passed in by UMAC, it will be sent back when the above
4365 function pointer will be called */
4366 void* pUserData;
4367}WDI_ConfigureAppsCpuWakeupStateReqParamsType;
4368/*---------------------------------------------------------------------------
4369 WDI_FlushAcReqinfoType
4370---------------------------------------------------------------------------*/
4371typedef struct
4372{
4373 // Message Type
4374 wpt_uint16 usMesgType;
4375
4376 // Message Length
4377 wpt_uint16 usMesgLen;
4378
4379 // Station Index. originates from HAL
4380 wpt_uint8 ucSTAId;
4381
4382 // TID for which the transmit queue is being flushed
4383 wpt_uint8 ucTid;
4384
4385}WDI_FlushAcReqinfoType;
4386
4387/*---------------------------------------------------------------------------
4388 WDI_FlushAcReqParamsType
4389---------------------------------------------------------------------------*/
4390typedef struct
4391{
4392 /*AC Info */
4393 WDI_FlushAcReqinfoType wdiFlushAcInfo;
4394
4395 /*Request status callback offered by UMAC - it is called if the current
4396 req has returned PENDING as status; it delivers the status of sending
4397 the message over the BUS */
4398 WDI_ReqStatusCb wdiReqStatusCB;
4399
4400 /*The user data passed in by UMAC, it will be sent back when the above
4401 function pointer will be called */
4402 void* pUserData;
4403}WDI_FlushAcReqParamsType;
4404
4405/*---------------------------------------------------------------------------
4406 WDI_BtAmpEventinfoType
4407 BT-AMP Event Structure
4408---------------------------------------------------------------------------*/
4409typedef struct
4410{
4411 wpt_uint8 ucBtAmpEventType;
4412
4413} WDI_BtAmpEventinfoType;
4414
4415/*---------------------------------------------------------------------------
4416 WDI_BtAmpEventParamsType
4417---------------------------------------------------------------------------*/
4418typedef struct
4419{
4420 /*BT AMP event Info */
4421 WDI_BtAmpEventinfoType wdiBtAmpEventInfo;
4422
4423 /*Request status callback offered by UMAC - it is called if the current
4424 req has returned PENDING as status; it delivers the status of sending
4425 the message over the BUS */
4426 WDI_ReqStatusCb wdiReqStatusCB;
4427
4428 /*The user data passed in by UMAC, it will be sent back when the above
4429 function pointer will be called */
4430 void* pUserData;
4431}WDI_BtAmpEventParamsType;
4432
Jeff Johnsone7245742012-09-05 17:12:55 -07004433#ifdef FEATURE_OEM_DATA_SUPPORT
4434
4435#ifndef OEM_DATA_REQ_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004436#define OEM_DATA_REQ_SIZE 134
Jeff Johnsone7245742012-09-05 17:12:55 -07004437#endif
4438#ifndef OEM_DATA_RSP_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004439#define OEM_DATA_RSP_SIZE 1968
Jeff Johnsone7245742012-09-05 17:12:55 -07004440#endif
4441
4442/*----------------------------------------------------------------------------
4443 WDI_oemDataReqInfoType
4444----------------------------------------------------------------------------*/
4445typedef struct
4446{
4447 wpt_macAddr selfMacAddr;
4448 wpt_uint8 oemDataReq[OEM_DATA_REQ_SIZE];
4449}WDI_oemDataReqInfoType;
4450
4451/*----------------------------------------------------------------------------
4452 WDI_oemDataReqParamsType
4453----------------------------------------------------------------------------*/
4454typedef struct
4455{
4456 /*Request status callback offered by UMAC - it is called if the current
4457 req has returned PENDING as status; it delivers the status of sending
4458 the message over the BUS */
4459 WDI_ReqStatusCb wdiReqStatusCB;
4460
4461 /*The user data passed in by UMAC, it will be sent back when the above
4462 function pointer will be called */
4463 void* pUserData;
4464
4465 /*OEM DATA REQ Info */
4466 WDI_oemDataReqInfoType wdiOemDataReqInfo;
4467
4468}WDI_oemDataReqParamsType;
4469
4470/*----------------------------------------------------------------------------
4471 WDI_oemDataRspParamsType
4472----------------------------------------------------------------------------*/
4473typedef struct
4474{
4475 wpt_uint8 oemDataRsp[OEM_DATA_RSP_SIZE];
4476}WDI_oemDataRspParamsType;
4477
4478#endif /* FEATURE_OEM_DATA_SUPPORT */
Jeff Johnson295189b2012-06-20 16:38:30 -07004479
4480#ifdef WLAN_FEATURE_VOWIFI_11R
4481/*---------------------------------------------------------------------------
4482 WDI_AggrAddTSReqInfoType
4483---------------------------------------------------------------------------*/
4484typedef struct
4485{
4486 /*STA Index*/
4487 wpt_uint8 ucSTAIdx;
4488
4489 /*Identifier for TSpec*/
4490 wpt_uint8 ucTspecIdx;
4491
4492 /*Tspec IE negotiated OTA*/
4493 WDI_TspecIEType wdiTspecIE[WDI_MAX_NO_AC];
4494
4495 /*UAPSD delivery and trigger enabled flags */
4496 wpt_uint8 ucUapsdFlags;
4497
4498 /*SI for each AC*/
4499 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
4500
4501 /*Suspend Interval for each AC*/
4502 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
4503
4504 /*DI for each AC*/
4505 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
4506
4507}WDI_AggrAddTSReqInfoType;
4508
4509
4510/*---------------------------------------------------------------------------
4511 WDI_AggrAddTSReqParamsType
4512---------------------------------------------------------------------------*/
4513typedef struct
4514{
4515 /*TSpec Info */
4516 WDI_AggrAddTSReqInfoType wdiAggrTsInfo;
4517
4518 /*Request status callback offered by UMAC - it is called if the current
4519 req has returned PENDING as status; it delivers the status of sending
4520 the message over the BUS */
4521 WDI_ReqStatusCb wdiReqStatusCB;
4522
4523 /*The user data passed in by UMAC, it will be sent back when the above
4524 function pointer will be called */
4525 void* pUserData;
4526}WDI_AggrAddTSReqParamsType;
4527
4528#endif /* WLAN_FEATURE_VOWIFI_11R */
4529
Jeff Johnson295189b2012-06-20 16:38:30 -07004530/*---------------------------------------------------------------------------
4531 WDI_FTMCommandReqType
4532---------------------------------------------------------------------------*/
4533typedef struct
4534{
4535 /* FTM Command Body length */
4536 wpt_uint32 bodyLength;
4537 /* Actual FTM Command body */
4538 void *FTMCommandBody;
4539}WDI_FTMCommandReqType;
Jeff Johnson295189b2012-06-20 16:38:30 -07004540
4541/*---------------------------------------------------------------------------
4542 WDI_WlanSuspendInfoType
4543---------------------------------------------------------------------------*/
4544typedef struct
4545{
4546 /* Mode of Mcast and Bcast filters configured */
4547 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4548}WDI_WlanSuspendInfoType;
4549
4550/*---------------------------------------------------------------------------
4551 WDI_SuspendParamsType
4552---------------------------------------------------------------------------*/
4553typedef struct
4554{
4555 WDI_WlanSuspendInfoType wdiSuspendParams;
4556
4557 /*Request status callback offered by UMAC - it is called if the current
4558 req has returned PENDING as status; it delivers the status of sending
4559 the message over the BUS */
4560 WDI_ReqStatusCb wdiReqStatusCB;
4561
4562 /*The user data passed in by UMAC, it will be sent back when the above
4563 function pointer will be called */
4564 void* pUserData;
4565
4566}WDI_SuspendParamsType;
4567
4568/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004569 WDI_TrafficStatsType - This is collected for each STA
4570---------------------------------------------------------------------------*/
4571
4572typedef struct
4573{
4574 /* TX stats */
4575 wpt_uint32 txBytesPushed;
4576 wpt_uint32 txPacketsPushed;
4577
4578 /* RX stats */
4579 wpt_uint32 rxBytesRcvd;
4580 wpt_uint32 rxPacketsRcvd;
4581 wpt_uint32 rxTimeTotal;
4582}WDI_TrafficStatsType;
4583
4584typedef struct
4585{
4586 WDI_TrafficStatsType *pTrafficStats;
4587 wpt_uint32 length;
4588 wpt_uint32 duration;
4589
4590 /*Request status callback offered by UMAC - it is called if the current
4591 req has returned PENDING as status; it delivers the status of sending
4592 the message over the BUS */
4593 WDI_ReqStatusCb wdiReqStatusCB;
4594
4595 /*The user data passed in by UMAC, it will be sent back when the above
4596 function pointer will be called */
4597 void* pUserData;
4598}WDI_TrafficStatsIndType;
4599
Chet Lanctot186b5732013-03-18 10:26:30 -07004600#ifdef WLAN_FEATURE_11W
4601typedef struct
4602{
4603
4604 wpt_boolean bExcludeUnencrypt;
4605 wpt_macAddr bssid;
4606 /*Request status callback offered by UMAC - it is called if the current
4607 req has returned PENDING as status; it delivers the status of sending
4608 the message over the BUS */
4609 WDI_ReqStatusCb wdiReqStatusCB;
4610
4611 /*The user data passed in by UMAC, it will be sent back when the above
4612 function pointer will be called */
4613 void* pUserData;
4614}WDI_ExcludeUnencryptIndType;
4615#endif
4616
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004617/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004618 WDI_WlanResumeInfoType
4619---------------------------------------------------------------------------*/
4620typedef struct
4621{
4622 /* Mode of Mcast and Bcast filters configured */
4623 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4624}WDI_WlanResumeInfoType;
4625
4626/*---------------------------------------------------------------------------
4627 WDI_ResumeParamsType
4628---------------------------------------------------------------------------*/
4629typedef struct
4630{
4631 WDI_WlanResumeInfoType wdiResumeParams;
4632
4633 /*Request status callback offered by UMAC - it is called if the current
4634 req has returned PENDING as status; it delivers the status of sending
4635 the message over the BUS */
4636 WDI_ReqStatusCb wdiReqStatusCB;
4637
4638 /*The user data passed in by UMAC, it will be sent back when the above
4639 function pointer will be called */
4640 void* pUserData;
4641
4642}WDI_ResumeParamsType;
4643
4644#ifdef WLAN_FEATURE_GTK_OFFLOAD
4645/*---------------------------------------------------------------------------
4646 * WDI_GTK_OFFLOAD_REQ
4647 *--------------------------------------------------------------------------*/
4648
4649typedef struct
4650{
4651 wpt_uint32 ulFlags; /* optional flags */
4652 wpt_uint8 aKCK[16]; /* Key confirmation key */
4653 wpt_uint8 aKEK[16]; /* key encryption key */
4654 wpt_uint64 ullKeyReplayCounter; /* replay counter */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004655 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004656} WDI_GtkOffloadReqParams;
4657
4658typedef struct
4659{
4660 WDI_GtkOffloadReqParams gtkOffloadReqParams;
4661
4662 /*Request status callback offered by UMAC - it is called if the current
4663 req has returned PENDING as status; it delivers the status of sending
4664 the message over the BUS */
4665 WDI_ReqStatusCb wdiReqStatusCB;
4666
4667 /*The user data passed in by UMAC, it will be sent back when the above
4668 function pointer will be called */
4669 void* pUserData;
4670} WDI_GtkOffloadReqMsg;
4671
4672/*---------------------------------------------------------------------------
4673 * WDI_GTK_OFFLOAD_RSP
4674 *--------------------------------------------------------------------------*/
4675typedef struct
4676{
4677 /* success or failure */
4678 wpt_uint32 ulStatus;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004679 /*BssIdx of the response */
4680 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004681} WDI_GtkOffloadRspParams;
4682
4683typedef struct
4684{
4685 WDI_GtkOffloadRspParams gtkOffloadRspParams;
4686
4687 /*Request status callback offered by UMAC - it is called if the current
4688 req has returned PENDING as status; it delivers the status of sending
4689 the message over the BUS */
4690 WDI_ReqStatusCb wdiReqStatusCB;
4691
4692 /*The user data passed in by UMAC, it will be sent back when the above
4693 function pointer will be called */
4694 void* pUserData;
4695} WDI_GtkOffloadRspMsg;
4696
4697
4698/*---------------------------------------------------------------------------
4699* WDI_GTK_OFFLOAD_GETINFO_REQ
4700*--------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004701typedef struct
4702{
4703 /*BssIdx of the response */
4704 wpt_macAddr bssId;
4705} WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004706
4707typedef struct
4708{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004709
4710 WDI_GtkOffloadGetInfoReqParams WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004711 /*Request status callback offered by UMAC - it is called if the current
4712 req has returned PENDING as status; it delivers the status of sending
4713 the message over the BUS */
4714 WDI_ReqStatusCb wdiReqStatusCB;
4715
4716 /*The user data passed in by UMAC, it will be sent back when the above
4717 function pointer will be called */
4718 void* pUserData;
4719} WDI_GtkOffloadGetInfoReqMsg;
4720
4721/*---------------------------------------------------------------------------
4722* WDI_GTK_OFFLOAD_GETINFO_RSP
4723*--------------------------------------------------------------------------*/
4724typedef struct
4725{
4726 wpt_uint32 ulStatus; /* success or failure */
4727 wpt_uint64 ullKeyReplayCounter; /* current replay counter value */
4728 wpt_uint32 ulTotalRekeyCount; /* total rekey attempts */
4729 wpt_uint32 ulGTKRekeyCount; /* successful GTK rekeys */
4730 wpt_uint32 ulIGTKRekeyCount; /* successful iGTK rekeys */
Gopichand Nakkala870cbae2013-03-15 21:16:09 +05304731 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004732} WDI_GtkOffloadGetInfoRspParams;
4733
4734typedef struct
4735{
4736 WDI_GtkOffloadGetInfoRspParams gtkOffloadGetInfoRspParams;
4737
4738 /*Request status callback offered by UMAC - it is called if the current
4739 req has returned PENDING as status; it delivers the status of sending
4740 the message over the BUS */
4741 WDI_ReqStatusCb wdiReqStatusCB;
4742
4743 /*The user data passed in by UMAC, it will be sent back when the above
4744 function pointer will be called */
4745 void* pUserData;
4746} WDI_GtkOffloadGetInfoRspMsg;
4747#endif // WLAN_FEATURE_GTK_OFFLOAD
4748
4749/*---------------------------------------------------------------------------
4750 WDI_SuspendResumeRspParamsType
4751---------------------------------------------------------------------------*/
4752typedef struct
4753{
4754 /*Status of the response*/
4755 WDI_Status wdiStatus;
4756}WDI_SuspendResumeRspParamsType;
4757
Leo Chang9056f462013-08-01 19:21:11 -07004758#ifdef FEATURE_WLAN_LPHB
4759/*---------------------------------------------------------------------------
4760 WDI Low Power Heart Beat Config request
4761 Copy from sirApi.h to avoid compile error
4762---------------------------------------------------------------------------*/
4763#define WDI_LPHB_FILTER_LEN 64
4764
4765typedef enum
4766{
4767 WDI_LPHB_SET_EN_PARAMS_INDID = 0x0001,
4768 WDI_LPHB_SET_TCP_PARAMS_INDID,
4769 WDI_LPHB_SET_TCP_PKT_FILTER_INDID,
4770 WDI_LPHB_SET_UDP_PARAMS_INDID,
4771 WDI_LPHB_SET_UDP_PKT_FILTER_INDID,
4772 WDI_LPHB_SET_NETWORK_INFO_INDID,
4773} WDI_LPHBIndType;
4774
4775typedef struct
4776{
4777 wpt_uint8 enable;
4778 wpt_uint8 item;
4779 wpt_uint8 session;
4780} WDI_LPHBEnableStruct;
4781
4782typedef struct
4783{
4784 wpt_uint32 srv_ip;
4785 wpt_uint32 dev_ip;
4786 wpt_uint16 src_port;
4787 wpt_uint16 dst_port;
4788 wpt_uint16 timeout;
4789 wpt_uint8 session;
4790 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
Leo Changd9df8aa2013-09-26 13:32:26 -07004791 wpt_uint16 timePeriodSec; // in seconds
4792 wpt_uint32 tcpSn;
Leo Chang9056f462013-08-01 19:21:11 -07004793} WDI_LPHBTcpParamStruct;
4794
4795typedef struct
4796{
4797 wpt_uint16 length;
4798 wpt_uint8 offset;
4799 wpt_uint8 session;
4800 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
4801} WDI_LPHBTcpFilterStruct;
4802
4803typedef struct
4804{
4805 wpt_uint32 srv_ip;
4806 wpt_uint32 dev_ip;
4807 wpt_uint16 src_port;
4808 wpt_uint16 dst_port;
4809 wpt_uint16 interval;
4810 wpt_uint16 timeout;
4811 wpt_uint8 session;
4812 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
4813} WDI_LPHBUdpParamStruct;
4814
4815typedef struct
4816{
4817 wpt_uint16 length;
4818 wpt_uint8 offset;
4819 wpt_uint8 session;
4820 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
4821} WDI_LPHBUdpFilterStruct;
4822
4823typedef struct
4824{
4825 wpt_uint16 cmd;
4826 wpt_uint16 dummy;
4827 union
4828 {
4829 WDI_LPHBEnableStruct lphbEnableReq;
4830 WDI_LPHBTcpParamStruct lphbTcpParamReq;
4831 WDI_LPHBTcpFilterStruct lphbTcpFilterReq;
4832 WDI_LPHBUdpParamStruct lphbUdpParamReq;
4833 WDI_LPHBUdpFilterStruct lphbUdpFilterReq;
4834 } params;
4835} WDI_LPHBReq;
4836#endif /* FEATURE_WLAN_LPHB */
Jeff Johnson295189b2012-06-20 16:38:30 -07004837
Jeff Johnson295189b2012-06-20 16:38:30 -07004838/*---------------------------------------------------------------------------
4839 WDI_AuthType
4840---------------------------------------------------------------------------*/
4841typedef enum
4842{
4843 WDI_AUTH_TYPE_ANY = 0,
4844
4845 WDI_AUTH_TYPE_NONE,
4846 WDI_AUTH_TYPE_OPEN_SYSTEM,
4847 WDI_AUTH_TYPE_SHARED_KEY,
4848
4849 WDI_AUTH_TYPE_WPA,
4850 WDI_AUTH_TYPE_WPA_PSK,
4851 WDI_AUTH_TYPE_WPA_NONE,
4852
4853 WDI_AUTH_TYPE_RSN,
4854 WDI_AUTH_TYPE_RSN_PSK,
4855 WDI_AUTH_TYPE_FT_RSN,
4856 WDI_AUTH_TYPE_FT_RSN_PSK,
4857 WDI_AUTH_TYPE_WAPI_WAI_CERTIFICATE,
4858 WDI_AUTH_TYPE_WAPI_WAI_PSK,
4859 WDI_AUTH_TYPE_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
4860
4861}WDI_AuthType;
4862
4863/*---------------------------------------------------------------------------
4864 WDI_EdType
4865---------------------------------------------------------------------------*/
4866typedef enum
4867{
4868 WDI_ED_ANY = 0,
4869 WDI_ED_NONE,
4870 WDI_ED_WEP40,
4871 WDI_ED_WEP104,
4872 WDI_ED_TKIP,
4873 WDI_ED_CCMP,
4874 WDI_ED_WPI,
4875 WDI_ED_AES_128_CMAC,
4876 WDI_ED_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
4877} WDI_EdType;
4878
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08004879#ifdef FEATURE_WLAN_SCAN_PNO
4880
4881/*Max number of channels for a given network supported by PNO*/
4882#define WDI_PNO_MAX_NETW_CHANNELS 26
4883
4884/*Max number of channels for a given network supported by PNO*/
4885#define WDI_PNO_MAX_NETW_CHANNELS_EX 60
4886
4887/*The max number of programable networks for PNO*/
4888#define WDI_PNO_MAX_SUPP_NETWORKS 16
4889
4890/*The max number of scan timers programable in Riva*/
4891#define WDI_PNO_MAX_SCAN_TIMERS 10
4892
4893#define WDI_PNO_MAX_PROBE_SIZE 450
Jeff Johnson295189b2012-06-20 16:38:30 -07004894
4895/*---------------------------------------------------------------------------
4896 WDI_PNOMode
4897---------------------------------------------------------------------------*/
4898typedef enum
4899{
4900 /*Network offload is to start immediately*/
4901 WDI_PNO_MODE_IMMEDIATE,
4902
4903 /*Network offload is to start on host suspend*/
4904 WDI_PNO_MODE_ON_SUSPEND,
4905
4906 /*Network offload is to start on host resume*/
4907 WDI_PNO_MODE_ON_RESUME,
4908 WDI_PNO_MODE_MAX = 0xFFFFFFFF
4909} WDI_PNOMode;
4910
4911/* SSID broadcast type */
4912typedef enum
4913{
4914 WDI_BCAST_UNKNOWN = 0,
4915 WDI_BCAST_NORMAL = 1,
4916 WDI_BCAST_HIDDEN = 2,
4917
4918 WDI_BCAST_TYPE_MAX = 0xFFFFFFFF
4919} WDI_SSIDBcastType;
4920
4921/*---------------------------------------------------------------------------
4922 WDI_NetworkType
4923---------------------------------------------------------------------------*/
4924typedef struct
4925{
4926 /*The SSID of the preferred network*/
4927 WDI_MacSSid ssId;
4928
4929 /*The authentication method of the preferred network*/
4930 WDI_AuthType wdiAuth;
4931
4932 /*The encryption method of the preferred network*/
4933 WDI_EdType wdiEncryption;
4934
4935 /*SSID broadcast type, normal, hidden or unknown*/
4936 WDI_SSIDBcastType wdiBcastNetworkType;
4937
4938 /*channel count - 0 for all channels*/
4939 wpt_uint8 ucChannelCount;
4940
4941 /*the actual channels*/
Madan Mohan Koyyalamudi4bb5d2e2013-09-26 17:36:46 +05304942 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
Jeff Johnson295189b2012-06-20 16:38:30 -07004943
4944 /*rssi threshold that a network must meet to be considered, 0 - for any*/
4945 wpt_uint8 rssiThreshold;
4946} WDI_NetworkType;
4947
4948
4949/*---------------------------------------------------------------------------
4950 WDI_ScanTimer
4951---------------------------------------------------------------------------*/
4952typedef struct
4953{
4954 /*The timer value*/
4955 wpt_uint32 uTimerValue;
4956
4957 /*The amount of time we should be repeating the interval*/
4958 wpt_uint32 uTimerRepeat;
4959} WDI_ScanTimer;
4960
4961/*---------------------------------------------------------------------------
4962 WDI_ScanTimersType
4963---------------------------------------------------------------------------*/
4964typedef struct
4965{
4966 /*The number of value pair intervals present in the array*/
4967 wpt_uint8 ucScanTimersCount;
4968
4969 /*The time-repeat value pairs*/
4970 WDI_ScanTimer aTimerValues[WDI_PNO_MAX_SCAN_TIMERS];
4971} WDI_ScanTimersType;
4972
4973/*---------------------------------------------------------------------------
4974 WDI_PNOScanReqType
4975---------------------------------------------------------------------------*/
4976typedef struct
4977{
4978 /*Enable or disable PNO feature*/
4979 wpt_uint8 bEnable;
4980
4981 /*PNO mode requested*/
4982 WDI_PNOMode wdiModePNO;
4983
4984 /*Network count*/
4985 wpt_uint8 ucNetworksCount;
4986
4987 /*The networks to look for*/
4988 WDI_NetworkType aNetworks[WDI_PNO_MAX_SUPP_NETWORKS];
4989
4990 /*Scan timer intervals*/
4991 WDI_ScanTimersType scanTimers;
4992
4993 /*Probe template for 2.4GHz band*/
4994 wpt_uint16 us24GProbeSize;
4995 wpt_uint8 a24GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
4996
4997 /*Probe template for 5GHz band*/
4998 wpt_uint16 us5GProbeSize;
4999 wpt_uint8 a5GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
5000} WDI_PNOScanReqType;
5001
5002/*---------------------------------------------------------------------------
5003 WDI_PNOScanReqParamsType
5004 PNO info passed to WDI form WDA
5005---------------------------------------------------------------------------*/
5006typedef struct
5007{
5008 /* PNO Info Type, same as tPrefNetwListParams */
5009 WDI_PNOScanReqType wdiPNOScanInfo;
5010 /* Request status callback offered by UMAC - it is called if the current req
5011 has returned PENDING as status; it delivers the status of sending the message
5012 over the BUS */
5013 WDI_ReqStatusCb wdiReqStatusCB;
5014 /* The user data passed in by UMAC, it will be sent back when the above
5015 function pointer will be called */
5016 void* pUserData;
5017} WDI_PNOScanReqParamsType;
5018
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005019/*---------------------------------------------------------------------------
5020 WDI_SetRssiFilterReqParamsType
5021 PNO info passed to WDI form WDA
5022---------------------------------------------------------------------------*/
5023typedef struct
5024{
5025 /* RSSI Threshold */
5026 wpt_uint8 rssiThreshold;
5027 /* Request status callback offered by UMAC - it is called if the current req
5028 has returned PENDING as status; it delivers the status of sending the message
5029 over the BUS */
5030 WDI_ReqStatusCb wdiReqStatusCB;
5031 /* The user data passed in by UMAC, it will be sent back when the above
5032 function pointer will be called */
5033 void* pUserData;
5034} WDI_SetRssiFilterReqParamsType;
5035
5036/*---------------------------------------------------------------------------
5037 WDI_UpdateScanParamsInfo
5038---------------------------------------------------------------------------*/
5039typedef struct
5040{
5041 /*Is 11d enabled*/
5042 wpt_uint8 b11dEnabled;
5043
5044 /*Was UMAc able to find the regulatory domain*/
5045 wpt_uint8 b11dResolved;
5046
5047 /*Number of channel allowed in the regulatory domain*/
5048 wpt_uint8 ucChannelCount;
5049
5050 /*The actual channels allowed in the regulatory domain*/
5051 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
5052
5053 /*Passive min channel time*/
5054 wpt_uint16 usPassiveMinChTime;
5055
5056 /*Passive max channel time*/
5057 wpt_uint16 usPassiveMaxChTime;
5058
5059 /*Active min channel time*/
5060 wpt_uint16 usActiveMinChTime;
5061
5062 /*Active max channel time*/
5063 wpt_uint16 usActiveMaxChTime;
5064
5065 /*channel bonding info*/
5066 wpt_uint8 cbState;
5067} WDI_UpdateScanParamsInfo;
5068
5069/*---------------------------------------------------------------------------
5070 WDI_UpdateScanParamsInfoType
5071 UpdateScanParams info passed to WDI form WDA
5072---------------------------------------------------------------------------*/
5073typedef struct
5074{
5075 /* PNO Info Type, same as tUpdateScanParams */
5076 WDI_UpdateScanParamsInfo wdiUpdateScanParamsInfo;
5077 /* Request status callback offered by UMAC - it is called if the current req
5078 has returned PENDING as status; it delivers the status of sending the message
5079 over the BUS */
5080 WDI_ReqStatusCb wdiReqStatusCB;
5081 /* The user data passed in by UMAC, it will be sent back when the above
5082 function pointer will be called */
5083 void* pUserData;
5084} WDI_UpdateScanParamsInfoType;
5085#endif //FEATURE_WLAN_SCAN_PNO
5086
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005087#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
5088
Varun Reddy Yeturu52231ea2014-02-06 12:00:56 -08005089#define WDI_ROAM_SCAN_MAX_CHANNELS 80
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005090#define WDI_ROAM_SCAN_MAX_PROBE_SIZE 450
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005091
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005092typedef struct
5093{
5094 /*The SSID of the preferred network*/
5095 WDI_MacSSid ssId;
5096 wpt_uint8 currAPbssid[WDI_MAC_ADDR_LEN];
5097
5098 /*The authentication method of the preferred network*/
5099 WDI_AuthType authentication;
5100
5101 /*The encryption method of the preferred network*/
5102 WDI_EdType encryption;
5103 WDI_EdType mcencryption;
5104
5105 /*SSID broadcast type, normal, hidden or unknown*/
5106 //WDI_SSIDBcastType wdiBcastNetworkType;
5107
5108 /*channel count - 0 for all channels*/
5109 wpt_uint8 ChannelCount;
5110
5111 /*the actual channels*/
5112 wpt_uint8 ChannelCache[WDI_ROAM_SCAN_MAX_CHANNELS];
5113
5114} WDI_RoamNetworkType;
5115
5116typedef struct WDIMobilityDomainInfo
5117{
5118 wpt_uint8 mdiePresent;
5119 wpt_uint16 mobilityDomain;
5120} WDI_MobilityDomainInfo;
5121
5122/*---------------------------------------------------------------------------
5123 WDI_RoamOffloadScanInfo
5124---------------------------------------------------------------------------*/
5125typedef struct
5126{
5127 wpt_boolean RoamScanOffloadEnabled;
Sameer Thalappil4ae66ec2013-11-05 14:17:35 -08005128 wpt_boolean MAWCEnabled;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005129 wpt_uint8 LookupThreshold;
Varun Reddy Yeturu6c5e25c2014-01-09 21:55:37 -08005130 wpt_uint8 RxSensitivityThreshold;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005131 wpt_uint8 RoamRssiDiff;
5132 wpt_uint8 ChannelCacheType;
5133 wpt_uint8 Command;
5134 wpt_uint8 StartScanReason;
5135 wpt_uint16 NeighborScanTimerPeriod;
5136 wpt_uint16 NeighborRoamScanRefreshPeriod;
5137 wpt_uint16 NeighborScanChannelMinTime;
5138 wpt_uint16 NeighborScanChannelMaxTime;
5139 wpt_uint16 EmptyRefreshScanPeriod;
5140 wpt_uint8 ValidChannelCount;
5141 wpt_uint8 ValidChannelList[WDI_ROAM_SCAN_MAX_CHANNELS];
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08005142 wpt_boolean IsESEEnabled;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005143 /*Probe template for 2.4GHz band*/
5144 wpt_uint16 us24GProbeSize;
5145 wpt_uint8 a24GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
5146
5147 /*Probe template for 5GHz band*/
5148 wpt_uint16 us5GProbeSize;
5149 wpt_uint8 a5GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005150 /*LFR BG Scan will currently look for only one network to which it is initially connected.
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005151 * As per requirement, later, the following structure can be used as an array of networks.*/
5152 WDI_RoamNetworkType ConnectedNetwork;
5153 WDI_MobilityDomainInfo MDID;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005154 wpt_uint8 nProbes;
5155 wpt_uint16 HomeAwayTime;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005156} WDI_RoamOffloadScanInfo;
5157
5158typedef struct
5159{
5160 /* Start Roam Candidate Lookup Offload Back Ground Info Type */
5161 WDI_RoamOffloadScanInfo wdiRoamOffloadScanInfo;
5162 /* Request status callback offered by UMAC - it is called if the current req
5163 has returned PENDING as status; it delivers the status of sending the message
5164 over the BUS */
5165 WDI_ReqStatusCb wdiReqStatusCB;
5166 /* The user data passed in by UMAC, it will be sent back when the above
5167 function pointer will be called */
5168 void* pUserData;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005169} WDI_RoamScanOffloadReqParamsType;
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005170#endif //WLAN_FEATURE_ROAM_SCAN_OFFLOAD
Jeff Johnson295189b2012-06-20 16:38:30 -07005171
5172/*---------------------------------------------------------------------------
Sandeep Puligilla8b8b74b2014-02-10 16:39:05 +05305173 WDI_HT40ObssScanIndType
5174---------------------------------------------------------------------------*/
5175typedef struct
5176{
5177 wpt_uint8 cmdType;
5178 wpt_uint8 scanType;
5179 wpt_uint16 OBSSScanPassiveDwellTime; // In TUs
5180 wpt_uint16 OBSSScanActiveDwellTime; // In TUs
5181 wpt_uint16 BSSChannelWidthTriggerScanInterval; // In seconds
5182 wpt_uint16 OBSSScanPassiveTotalPerChannel; // In TUs
5183 wpt_uint16 OBSSScanActiveTotalPerChannel; // In TUs
5184 wpt_uint16 BSSWidthChannelTransitionDelayFactor;
5185 wpt_uint16 OBSSScanActivityThreshold;
5186 wpt_uint8 selfStaIdx;
5187 wpt_uint8 bssIdx;
5188 wpt_uint8 fortyMHZIntolerent;
5189 wpt_uint8 channelCount;
5190 wpt_uint8 channels[WDI_ROAM_SCAN_MAX_CHANNELS];
5191 wpt_uint8 currentOperatingClass;
5192 wpt_uint16 ieFieldLen;
5193 wpt_uint8 ieField[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
5194} WDI_HT40ObssScanIndType;
5195
5196
5197/*---------------------------------------------------------------------------
5198 WDI_OBSSScanIndParamsType
5199---------------------------------------------------------------------------*/
5200typedef struct
5201{
5202 WDI_HT40ObssScanIndType wdiHT40ObssScanParam;
5203
5204 /*Request status callback offered by UMAC - it is called if the current
5205 req has returned PENDING as status; it delivers the status of sending
5206 the message over the BUS */
5207 WDI_ReqStatusCb wdiReqStatusCB;
5208
5209 /*The user data passed in by UMAC, it will be sent back when the above
5210 function pointer will be called */
5211 void* pUserData;
5212
5213}WDI_HT40ObssScanParamsType;
5214
5215/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07005216 WDI_UpdateScanParamsInfo
5217---------------------------------------------------------------------------*/
5218typedef struct
5219{
5220 /* Ignore DTIM */
5221 wpt_uint32 uIgnoreDTIM;
5222
5223 /*DTIM Period*/
5224 wpt_uint32 uDTIMPeriod;
5225
5226 /* Listen Interval */
5227 wpt_uint32 uListenInterval;
5228
5229 /* Broadcast Multicas Filter */
5230 wpt_uint32 uBcastMcastFilter;
5231
5232 /* Beacon Early Termination */
5233 wpt_uint32 uEnableBET;
5234
5235 /* Beacon Early Termination Interval */
5236 wpt_uint32 uBETInterval;
5237
Yue Mac24062f2013-05-13 17:01:29 -07005238 /* MAX LI for modulated DTIM */
5239 wpt_uint32 uMaxLIModulatedDTIM;
5240
Jeff Johnson295189b2012-06-20 16:38:30 -07005241} WDI_SetPowerParamsInfo;
5242
5243/*---------------------------------------------------------------------------
5244 WDI_UpdateScanParamsInfoType
5245 UpdateScanParams info passed to WDI form WDA
5246---------------------------------------------------------------------------*/
5247typedef struct
5248{
5249 /* Power params Info Type, same as tSetPowerParamsReq */
5250 WDI_SetPowerParamsInfo wdiSetPowerParamsInfo;
5251 /* Request status callback offered by UMAC - it is called if the current req
5252 has returned PENDING as status; it delivers the status of sending the message
5253 over the BUS */
5254 WDI_ReqStatusCb wdiReqStatusCB;
5255 /* The user data passed in by UMAC, it will be sent back when the above
5256 function pointer will be called */
5257 void* pUserData;
5258}WDI_SetPowerParamsReqParamsType;
5259
5260/*---------------------------------------------------------------------------
5261 WDI_SetTxPerTrackingConfType
5262 Wowl add ptrn info passed to WDA form UMAC
5263---------------------------------------------------------------------------*/
5264typedef struct
5265{
5266 wpt_uint8 ucTxPerTrackingEnable; /* 0: disable, 1:enable */
5267 wpt_uint8 ucTxPerTrackingPeriod; /* Check period, unit is sec. */
5268 wpt_uint8 ucTxPerTrackingRatio; /* (Fail TX packet)/(Total TX packet) ratio, the unit is 10%. */
5269 wpt_uint32 uTxPerTrackingWatermark; /* A watermark of check number, once the tx packet exceed this number, we do the check, default is 5 */
5270} WDI_TxPerTrackingParamType;
5271
5272/*---------------------------------------------------------------------------
5273 WDI_SetTxPerTrackingReqParamsType
5274 Tx PER Tracking parameters passed to WDI from WDA
5275---------------------------------------------------------------------------*/
5276typedef struct
5277{
5278 /* Configurations for Tx PER Tracking */
5279 WDI_TxPerTrackingParamType wdiTxPerTrackingParam;
5280 /*Request status callback offered by UMAC - it is called if the current req
5281 has returned PENDING as status; it delivers the status of sending the message
5282 over the BUS */
5283 WDI_ReqStatusCb wdiReqStatusCB;
5284 /*The user data passed in by UMAC, it will be sent back when the above
5285 function pointer will be called */
5286 void* pUserData;
5287}WDI_SetTxPerTrackingReqParamsType;
5288
5289#ifdef WLAN_FEATURE_PACKET_FILTERING
5290/*---------------------------------------------------------------------------
5291 Packet Filtering Parameters
5292---------------------------------------------------------------------------*/
5293
5294#define WDI_IPV4_ADDR_LEN 4
5295#define WDI_MAC_ADDR_LEN 6
5296#define WDI_MAX_FILTER_TEST_DATA_LEN 8
5297#define WDI_MAX_NUM_MULTICAST_ADDRESS 240
5298#define WDI_MAX_NUM_FILTERS 20
5299#define WDI_MAX_NUM_TESTS_PER_FILTER 10
5300
5301//
5302// Receive Filter Parameters
5303//
5304typedef enum
5305{
5306 WDI_RCV_FILTER_TYPE_INVALID,
5307 WDI_RCV_FILTER_TYPE_FILTER_PKT,
5308 WDI_RCV_FILTER_TYPE_BUFFER_PKT,
5309 WDI_RCV_FILTER_TYPE_MAX_ENUM_SIZE
5310}WDI_ReceivePacketFilterType;
5311
5312typedef enum
5313{
5314 WDI_FILTER_HDR_TYPE_INVALID,
5315 WDI_FILTER_HDR_TYPE_MAC,
5316 WDI_FILTER_HDR_TYPE_ARP,
5317 WDI_FILTER_HDR_TYPE_IPV4,
5318 WDI_FILTER_HDR_TYPE_IPV6,
5319 WDI_FILTER_HDR_TYPE_UDP,
5320 WDI_FILTER_HDR_TYPE_MAX
5321}WDI_RcvPktFltProtocolType;
5322
5323typedef enum
5324{
5325 WDI_FILTER_CMP_TYPE_INVALID,
5326 WDI_FILTER_CMP_TYPE_EQUAL,
5327 WDI_FILTER_CMP_TYPE_MASK_EQUAL,
5328 WDI_FILTER_CMP_TYPE_NOT_EQUAL,
5329 WDI_FILTER_CMP_TYPE_MASK_NOT_EQUAL,
5330 WDI_FILTER_CMP_TYPE_MAX
5331}WDI_RcvPktFltCmpFlagType;
5332
5333typedef struct
5334{
5335 WDI_RcvPktFltProtocolType protocolLayer;
5336 WDI_RcvPktFltCmpFlagType cmpFlag;
5337/* Length of the data to compare */
5338 wpt_uint16 dataLength;
5339/* from start of the respective frame header */
5340 wpt_uint8 dataOffset;
5341 wpt_uint8 reserved; /* Reserved field */
5342/* Data to compare */
5343 wpt_uint8 compareData[WDI_MAX_FILTER_TEST_DATA_LEN];
5344/* Mask to be applied on the received packet data before compare */
5345 wpt_uint8 dataMask[WDI_MAX_FILTER_TEST_DATA_LEN];
5346}WDI_RcvPktFilterFieldParams;
5347
5348typedef struct
5349{
5350 wpt_uint8 filterId;
5351 wpt_uint8 filterType;
5352 wpt_uint32 numFieldParams;
5353 wpt_uint32 coalesceTime;
Jeff Johnsone7245742012-09-05 17:12:55 -07005354 wpt_macAddr selfMacAddr;
5355 wpt_macAddr bssId;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005356 WDI_RcvPktFilterFieldParams paramsData[1];
5357
Jeff Johnson295189b2012-06-20 16:38:30 -07005358}WDI_RcvPktFilterCfgType;
5359
5360typedef struct
5361{
5362 /*Request status callback offered by UMAC - it is called if the current
5363 req has returned PENDING as status; it delivers the status of sending
5364 the message over the BUS */
5365 WDI_ReqStatusCb wdiReqStatusCB;
5366
5367 /*The user data passed in by UMAC, it will be sent back when the above
5368 function pointer will be called */
5369 void* pUserData;
5370
5371 // Variable length packet filter field params
5372 WDI_RcvPktFilterCfgType wdiPktFilterCfg;
5373} WDI_SetRcvPktFilterReqParamsType;
5374
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005375typedef struct
5376{
5377 /*Result of the operation*/
5378 WDI_Status wdiStatus;
5379 /* BSSIDX of the Set Receive Filter
5380 */
5381 wpt_uint8 bssIdx;
5382} WDI_SetRcvPktFilterRspParamsType;
5383
Jeff Johnson295189b2012-06-20 16:38:30 -07005384//
5385// Filter Packet Match Count Parameters
5386//
5387typedef struct
5388{
5389 /*Request status callback offered by UMAC - it is called if the current
5390 req has returned PENDING as status; it delivers the status of sending
5391 the message over the BUS */
5392 WDI_ReqStatusCb wdiReqStatusCB;
5393
5394 /*The user data passed in by UMAC, it will be sent back when the above
5395 function pointer will be called */
5396 void* pUserData;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005397
5398 /* BSSID of the Match count
5399 */
5400 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005401} WDI_RcvFltPktMatchCntReqParamsType;
5402
5403typedef struct
5404{
5405 wpt_uint8 filterId;
5406 wpt_uint32 matchCnt;
5407} WDI_RcvFltPktMatchCnt;
5408
5409typedef struct
5410{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005411 /*Result of the operation*/
5412 WDI_Status wdiStatus;
Jeff Johnson295189b2012-06-20 16:38:30 -07005413
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005414 /* BSSIDX of the Match count response
5415 */
5416 wpt_uint8 bssIdx;
5417
Jeff Johnson295189b2012-06-20 16:38:30 -07005418} WDI_RcvFltPktMatchCntRspParamsType;
5419
Jeff Johnson295189b2012-06-20 16:38:30 -07005420//
5421// Receive Filter Clear Parameters
5422//
5423typedef struct
5424{
5425 wpt_uint32 status; /* only valid for response message */
5426 wpt_uint8 filterId;
Jeff Johnsone7245742012-09-05 17:12:55 -07005427 wpt_macAddr selfMacAddr;
5428 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005429}WDI_RcvFltPktClearParam;
5430
5431typedef struct
5432{
5433 WDI_RcvFltPktClearParam filterClearParam;
5434 /*Request status callback offered by UMAC - it is called if the current
5435 req has returned PENDING as status; it delivers the status of sending
5436 the message over the BUS */
5437 WDI_ReqStatusCb wdiReqStatusCB;
5438
5439 /*The user data passed in by UMAC, it will be sent back when the above
5440 function pointer will be called */
5441 void* pUserData;
5442} WDI_RcvFltPktClearReqParamsType;
5443
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005444typedef struct
5445{
5446 /*Result of the operation*/
5447 WDI_Status wdiStatus;
5448 /* BSSIDX of the Match count response
5449 */
5450 wpt_uint8 bssIdx;
5451
5452} WDI_RcvFltPktClearRspParamsType;
5453
Jeff Johnson295189b2012-06-20 16:38:30 -07005454//
5455// Multicast Address List Parameters
5456//
5457typedef struct
5458{
5459 wpt_uint32 ulMulticastAddrCnt;
5460 wpt_macAddr multicastAddr[WDI_MAX_NUM_MULTICAST_ADDRESS];
Jeff Johnsone7245742012-09-05 17:12:55 -07005461 wpt_macAddr selfMacAddr;
5462 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005463} WDI_RcvFltMcAddrListType;
5464
5465typedef struct
5466{
5467 WDI_RcvFltMcAddrListType mcAddrList;
5468 /*Request status callback offered by UMAC - it is called if the current
5469 req has returned PENDING as status; it delivers the status of sending
5470 the message over the BUS */
5471 WDI_ReqStatusCb wdiReqStatusCB;
5472
5473 /*The user data passed in by UMAC, it will be sent back when the above
5474 function pointer will be called */
5475 void* pUserData;
5476} WDI_RcvFltPktSetMcListReqParamsType;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005477
5478typedef struct
5479{
5480 /*Result of the operation*/
5481 WDI_Status wdiStatus;
5482 /* BSSIDX of the Match count response
5483 */
5484 wpt_uint8 bssIdx;
5485} WDI_RcvFltPktSetMcListRspParamsType;
5486
Jeff Johnson295189b2012-06-20 16:38:30 -07005487#endif // WLAN_FEATURE_PACKET_FILTERING
5488
5489/*---------------------------------------------------------------------------
5490 WDI_HALDumpCmdReqInfoType
5491---------------------------------------------------------------------------*/
5492typedef struct
5493{
5494 /*command*/
5495 wpt_uint32 command;
5496
5497 /*Arguments*/
5498 wpt_uint32 argument1;
5499 wpt_uint32 argument2;
5500 wpt_uint32 argument3;
5501 wpt_uint32 argument4;
5502
5503}WDI_HALDumpCmdReqInfoType;
5504
5505/*---------------------------------------------------------------------------
5506 WDI_HALDumpCmdReqParamsType
5507---------------------------------------------------------------------------*/
5508typedef struct
5509{
5510 /*NV Blob Info*/
5511 WDI_HALDumpCmdReqInfoType wdiHALDumpCmdInfoType;
5512
5513 /*Request status callback offered by UMAC - it is called if the current
5514 req has returned PENDING as status; it delivers the status of sending
5515 the message over the BUS */
5516 WDI_ReqStatusCb wdiReqStatusCB;
5517
5518 /*The user data passed in by UMAC, it will be sent back when the above
5519 function pointer will be called */
5520 void* pUserData;
5521
5522}WDI_HALDumpCmdReqParamsType;
5523
5524
5525/*---------------------------------------------------------------------------
5526 WDI_HALDumpCmdRspParamsType
5527---------------------------------------------------------------------------*/
5528typedef struct
5529{
5530 /*Result of the operation*/
5531 WDI_Status wdiStatus;
5532
5533 /* length of the buffer */
5534 wpt_uint16 usBufferLen;
5535
5536 /* Buffer */
5537 wpt_uint8 *pBuffer;
5538}WDI_HALDumpCmdRspParamsType;
5539
5540
5541/*---------------------------------------------------------------------------
5542 WDI_SetTmLevelReqType
5543---------------------------------------------------------------------------*/
5544typedef struct
5545{
5546 wpt_uint16 tmMode;
5547 wpt_uint16 tmLevel;
5548 void* pUserData;
5549}WDI_SetTmLevelReqType;
5550
5551/*---------------------------------------------------------------------------
5552 WDI_SetTmLevelRspType
5553---------------------------------------------------------------------------*/
5554typedef struct
5555{
5556 WDI_Status wdiStatus;
5557 void* pUserData;
5558}WDI_SetTmLevelRspType;
5559
Leo Chang9056f462013-08-01 19:21:11 -07005560#ifdef FEATURE_WLAN_LPHB
5561/*---------------------------------------------------------------------------
5562 WDI_LPHBConfigParamsType
5563---------------------------------------------------------------------------*/
5564typedef struct
5565{
5566 void* pLphsConfIndData;
5567}WDI_LPHBConfigParamsType;
5568#endif /* FEATURE_WLAN_LPHB */
5569
Yue Mab9c86f42013-08-14 15:59:08 -07005570/*---------------------------------------------------------------------------
5571 WDI_AddPeriodicTxPtrnInfoType
5572---------------------------------------------------------------------------*/
5573typedef struct
5574{
5575 /* MAC Address for the adapter */
5576 wpt_macAddr macAddr;
5577
5578 wpt_uint8 ucPtrnId; // Pattern ID
5579 wpt_uint16 ucPtrnSize; // Pattern size
5580 wpt_uint32 usPtrnIntervalMs; // In msec
5581 wpt_uint8 ucPattern[PERIODIC_TX_PTRN_MAX_SIZE]; // Pattern buffer
5582} WDI_AddPeriodicTxPtrnInfoType;
5583
5584/*---------------------------------------------------------------------------
5585 WDI_DelPeriodicTxPtrnInfoType
5586---------------------------------------------------------------------------*/
5587typedef struct
5588{
5589 /* MAC Address for the adapter */
5590 wpt_macAddr macAddr;
5591
5592 /* Bitmap of pattern IDs that needs to be deleted */
5593 wpt_uint32 ucPatternIdBitmap;
5594} WDI_DelPeriodicTxPtrnInfoType;
5595
5596/*---------------------------------------------------------------------------
5597 WDI_AddPeriodicTxPtrnParamsType
5598---------------------------------------------------------------------------*/
5599typedef struct
5600{
5601 WDI_AddPeriodicTxPtrnInfoType wdiAddPeriodicTxPtrnParams;
5602
5603 /*Request status callback offered by UMAC - it is called if the current
5604 req has returned PENDING as status; it delivers the status of sending
5605 the message over the BUS */
5606 WDI_ReqStatusCb wdiReqStatusCB;
5607
5608 /*The user data passed in by UMAC, it will be sent back when the above
5609 function pointer will be called */
5610 void* pUserData;
5611} WDI_AddPeriodicTxPtrnParamsType;
5612
5613/*---------------------------------------------------------------------------
5614 WDI_DelPeriodicTxPtrnParamsType
5615---------------------------------------------------------------------------*/
5616typedef struct
5617{
5618 WDI_DelPeriodicTxPtrnInfoType wdiDelPeriodicTxPtrnParams;
5619
5620 /*Request status callback offered by UMAC - it is called if the current
5621 req has returned PENDING as status; it delivers the status of sending
5622 the message over the BUS */
5623 WDI_ReqStatusCb wdiReqStatusCB;
5624
5625 /*The user data passed in by UMAC, it will be sent back when the above
5626 function pointer will be called */
5627 void* pUserData;
5628} WDI_DelPeriodicTxPtrnParamsType;
5629
Dino Mycle41bdc942014-06-10 11:30:24 +05305630#ifdef WLAN_FEATURE_EXTSCAN
5631
5632#define WDI_WLAN_EXTSCAN_MAX_CHANNELS 16
5633#define WDI_WLAN_EXTSCAN_MAX_BUCKETS 16
5634#define WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS 128
5635#define WDI_WLAN_EXTSCAN_MAX_SIGNIFICANT_CHANGE_APS 64
5636
5637typedef enum
5638{
5639 WDI_WIFI_BAND_UNSPECIFIED,
5640 WDI_WIFI_BAND_BG = 1, // 2.4 GHz
5641 WDI_WIFI_BAND_A = 2, // 5 GHz without DFS
5642 WDI_WIFI_BAND_ABG = 3, // 2.4 GHz + 5 GHz; no DFS
5643 WDI_WIFI_BAND_A_DFS = 4, // 5 GHz DFS only
5644 WDI_WIFI_BAND_A_WITH_DFS = 6, // 5 GHz with DFS
5645 WDI_WIFI_BAND_ABG_WITH_DFS = 7, // 2.4 GHz + 5 GHz with DFS
5646
5647 /* Keep it last */
5648 WDI_WIFI_BAND_MAX
5649} WDI_WifiBand;
5650
5651typedef struct
5652{
5653 wpt_uint32 channel; // frequency
5654 wpt_uint32 dwellTimeMs; // dwell time hint
5655 wpt_uint8 passive; // 0 => active,
5656 // 1 => passive scan; ignored for DFS
5657 wpt_uint8 chnlClass;
5658} WDI_WifiScanChannelSpec;
5659
5660typedef struct
5661{
5662 wpt_uint8 bucket; // bucket index, 0 based
5663 WDI_WifiBand band; // when UNSPECIFIED, use channel list
5664
5665 /*
5666 * desired period, in millisecond; if this is too
5667 * low, the firmware should choose to generate results as fast as
5668 * it can instead of failing the command byte
5669 */
5670 wpt_uint32 period;
5671
5672 /*
5673 * 0 => normal reporting (reporting rssi history
5674 * only, when rssi history buffer is % full)
5675 * 1 => same as 0 + report a scan completion event after scanning
5676 * this bucket
5677 * 2 => same as 1 + forward scan results (beacons/probe responses + IEs)
5678 * in real time to HAL
5679 */
5680 wpt_uint8 reportEvents;
5681
5682 wpt_uint8 numChannels;
5683
5684 /*
5685 * channels to scan; these may include DFS channels
5686 */
5687 WDI_WifiScanChannelSpec channels[WDI_WLAN_EXTSCAN_MAX_CHANNELS];
5688} WDI_WifiScanBucketSpec;
5689
5690typedef struct
5691{
5692 wpt_uint32 requestId;
5693 wpt_uint8 sessionId;
5694 wpt_uint32 basePeriod; // base timer period
5695 wpt_uint32 maxAPperScan;
5696
5697 /* in %, when buffer is this much full, wake up host */
5698 wpt_uint32 reportThreshold;
5699
5700 wpt_uint8 numBuckets;
5701 WDI_WifiScanBucketSpec buckets[WDI_WLAN_EXTSCAN_MAX_BUCKETS];
5702} WDI_EXTScanStartReqParams;
5703
5704typedef struct
5705{
5706 wpt_uint32 requestId;
5707 wpt_uint8 sessionId;
5708} WDI_EXTScanStopReqParams;
5709
5710typedef struct
5711{
5712 wpt_uint32 requestId;
5713 wpt_uint8 sessionId;
5714
5715 /*
5716 * 1 return cached results and flush it
5717 * 0 return cached results and do not flush
5718 */
5719 wpt_boolean flush;
5720} WDI_EXTScanGetCachedResultsReqParams;
5721
5722typedef struct
5723{
5724 wpt_uint32 requestId;
5725 wpt_uint8 sessionId;
5726} WDI_EXTScanGetCapabilitiesReqParams;
5727
5728typedef struct
5729{
5730 wpt_uint8 bssid[6]; /* BSSID */
5731 wpt_int32 low; // low threshold
5732 wpt_int32 high; // high threshold
5733 wpt_uint32 channel; // channel hint
5734} WDI_APThresholdParam;
5735
5736typedef struct
5737{
5738 wpt_int32 requestId;
5739 wpt_int8 sessionId; // session Id mapped to vdev_id
5740
5741 wpt_int32 numAp; // number of hotlist APs
5742 WDI_APThresholdParam ap[WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS]; // hotlist APs
5743} WDI_EXTScanSetBSSIDHotlistReqParams;
5744
5745typedef struct
5746{
5747 wpt_uint32 requestId;
5748 wpt_uint8 sessionId;
5749} WDI_EXTScanResetBSSIDHotlistReqParams;
5750
5751
5752typedef struct
5753{
5754 wpt_int32 requestId;
5755 wpt_int8 sessionId; // session Id mapped to vdev_id
5756
5757 /* number of samples for averaging RSSI */
5758 wpt_int32 rssiSampleSize;
5759
5760 /* number of missed samples to confirm AP loss */
5761 wpt_int32 lostApSampleSize;
5762
5763 /* number of APs breaching threshold required for firmware
5764 * to generate event
5765 */
5766 wpt_int32 minBreaching;
5767
5768 wpt_int32 numAp; // number of hotlist APs
5769 WDI_APThresholdParam ap[WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS]; // hotlist APs
5770} WDI_EXTScanSetSignfRSSIChangeReqParams;
5771
5772typedef struct
5773{
5774 wpt_uint32 requestId;
5775 wpt_uint8 sessionId;
5776} WDI_EXTScanResetSignfRSSIChangeReqParams;
5777#endif /* WLAN_FEATURE_EXTSCAN */
5778
Sunil Duttbd736ed2014-05-26 21:19:41 +05305779#ifdef WLAN_FEATURE_LINK_LAYER_STATS
5780typedef struct
5781{
5782 wpt_uint32 reqId;
5783 wpt_uint8 staId;
5784 wpt_uint32 mpduSizeThreshold;
5785 wpt_uint32 aggressiveStatisticsGathering;
5786}WDI_LLStatsSetReqType;
5787
5788typedef struct
5789{
5790 wpt_uint32 reqId;
5791 wpt_uint8 staId;
5792 wpt_uint32 paramIdMask;
5793}WDI_LLStatsGetReqType;
5794
5795typedef struct
5796{
5797 wpt_uint32 reqId;
5798 wpt_uint8 staId;
5799 wpt_uint32 statsClearReqMask;
5800 wpt_uint8 stopReq;
5801}WDI_LLStatsClearReqType;
5802#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
5803
5804
Jeff Johnson295189b2012-06-20 16:38:30 -07005805/*----------------------------------------------------------------------------
5806 * WDI callback types
5807 *--------------------------------------------------------------------------*/
5808
5809/*---------------------------------------------------------------------------
5810 WDI_StartRspCb
5811
5812 DESCRIPTION
5813
5814 This callback is invoked by DAL when it has received a Start response from
5815 the underlying device.
5816
5817 PARAMETERS
5818
5819 IN
5820 wdiRspParams: response parameters received from HAL
5821 pUserData: user data
5822
5823
5824 RETURN VALUE
5825 The result code associated with performing the operation
5826---------------------------------------------------------------------------*/
5827typedef void (*WDI_StartRspCb)(WDI_StartRspParamsType* pwdiRspParams,
5828 void* pUserData);
5829
5830/*---------------------------------------------------------------------------
5831 WDI_StartRspCb
5832
5833 DESCRIPTION
5834
5835 This callback is invoked by DAL when it has received a Stop response from
5836 the underlying device.
5837
5838 PARAMETERS
5839
5840 IN
5841 wdiStatus: response status received from HAL
5842 pUserData: user data
5843
5844
5845
5846 RETURN VALUE
5847 The result code associated with performing the operation
5848---------------------------------------------------------------------------*/
5849typedef void (*WDI_StopRspCb)(WDI_Status wdiStatus,
5850 void* pUserData);
5851
5852/*---------------------------------------------------------------------------
5853 WDI_StartRspCb
5854
5855 DESCRIPTION
5856
5857 This callback is invoked by DAL when it has received an Init Scan response
5858 from the underlying device.
5859
5860 PARAMETERS
5861
5862 IN
5863 wdiStatus: response status received from HAL
5864 pUserData: user data
5865
5866
5867
5868 RETURN VALUE
5869 The result code associated with performing the operation
5870---------------------------------------------------------------------------*/
5871typedef void (*WDI_InitScanRspCb)(WDI_Status wdiStatus,
5872 void* pUserData);
5873
5874
5875/*---------------------------------------------------------------------------
5876 WDI_StartRspCb
5877
5878 DESCRIPTION
5879
5880 This callback is invoked by DAL when it has received a StartScan response
5881 from the underlying device.
5882
5883 PARAMETERS
5884
5885 IN
5886 wdiParams: response params received from HAL
5887 pUserData: user data
5888
5889
5890
5891 RETURN VALUE
5892 The result code associated with performing the operation
5893---------------------------------------------------------------------------*/
5894typedef void (*WDI_StartScanRspCb)(WDI_StartScanRspParamsType* wdiParams,
5895 void* pUserData);
5896
5897
5898/*---------------------------------------------------------------------------
5899 WDI_StartRspCb
5900
5901 DESCRIPTION
5902
5903 This callback is invoked by DAL when it has received a End Scan response
5904 from the underlying device.
5905
5906 PARAMETERS
5907
5908 IN
5909 wdiStatus: response status received from HAL
5910 pUserData: user data
5911
5912
5913
5914 RETURN VALUE
5915 The result code associated with performing the operation
5916---------------------------------------------------------------------------*/
5917typedef void (*WDI_EndScanRspCb)(WDI_Status wdiStatus,
5918 void* pUserData);
5919
5920
5921/*---------------------------------------------------------------------------
5922 WDI_StartRspCb
5923
5924 DESCRIPTION
5925
5926 This callback is invoked by DAL when it has received a Finish Scan response
5927 from the underlying device.
5928
5929 PARAMETERS
5930
5931 IN
5932 wdiStatus: response status received from HAL
5933 pUserData: user data
5934
5935
5936
5937 RETURN VALUE
5938 The result code associated with performing the operation
5939---------------------------------------------------------------------------*/
5940typedef void (*WDI_FinishScanRspCb)(WDI_Status wdiStatus,
5941 void* pUserData);
5942
5943
5944/*---------------------------------------------------------------------------
5945 WDI_StartRspCb
5946
5947 DESCRIPTION
5948
5949 This callback is invoked by DAL when it has received a Join response from
5950 the underlying device.
5951
5952 PARAMETERS
5953
5954 IN
5955 wdiStatus: response status received from HAL
5956 pUserData: user data
5957
5958
5959
5960 RETURN VALUE
5961 The result code associated with performing the operation
5962---------------------------------------------------------------------------*/
5963typedef void (*WDI_JoinRspCb)(WDI_Status wdiStatus,
5964 void* pUserData);
5965
5966
5967/*---------------------------------------------------------------------------
5968 WDI_StartRspCb
5969
5970 DESCRIPTION
5971
5972 This callback is invoked by DAL when it has received a Config BSS response
5973 from the underlying device.
5974
5975 PARAMETERS
5976
5977 IN
5978 wdiConfigBSSRsp: response parameters received from HAL
5979 pUserData: user data
5980
5981
5982 RETURN VALUE
5983 The result code associated with performing the operation
5984---------------------------------------------------------------------------*/
5985typedef void (*WDI_ConfigBSSRspCb)(
5986 WDI_ConfigBSSRspParamsType* pwdiConfigBSSRsp,
5987 void* pUserData);
5988
5989
5990/*---------------------------------------------------------------------------
5991 WDI_StartRspCb
5992
5993 DESCRIPTION
5994
5995 This callback is invoked by DAL when it has received a Del BSS response from
5996 the underlying device.
5997
5998 PARAMETERS
5999
6000 IN
6001 wdiDelBSSRsp: response parameters received from HAL
6002 pUserData: user data
6003
6004
6005 RETURN VALUE
6006 The result code associated with performing the operation
6007---------------------------------------------------------------------------*/
6008typedef void (*WDI_DelBSSRspCb)(WDI_DelBSSRspParamsType* pwdiDelBSSRsp,
6009 void* pUserData);
6010
6011
6012/*---------------------------------------------------------------------------
6013 WDI_StartRspCb
6014
6015 DESCRIPTION
6016
6017 This callback is invoked by DAL when it has received a Post Assoc response
6018 from the underlying device.
6019
6020 PARAMETERS
6021
6022 IN
6023 wdiRspParams: response parameters received from HAL
6024 pUserData: user data
6025
6026
6027 RETURN VALUE
6028 The result code associated with performing the operation
6029---------------------------------------------------------------------------*/
6030typedef void (*WDI_PostAssocRspCb)(
6031 WDI_PostAssocRspParamsType* pwdiPostAssocRsp,
6032 void* pUserData);
6033
6034
6035/*---------------------------------------------------------------------------
6036 WDI_StartRspCb
6037
6038 DESCRIPTION
6039
6040 This callback is invoked by DAL when it has received a Del STA response from
6041 the underlying device.
6042
6043 PARAMETERS
6044
6045 IN
6046 wdiDelSTARsp: response parameters received from HAL
6047 pUserData: user data
6048
6049
6050 RETURN VALUE
6051 The result code associated with performing the operation
6052---------------------------------------------------------------------------*/
6053typedef void (*WDI_DelSTARspCb)(WDI_DelSTARspParamsType* pwdiDelSTARsp,
6054 void* pUserData);
6055
6056
6057
6058/*---------------------------------------------------------------------------
6059 WDI_StartRspCb
6060
6061 DESCRIPTION
6062
6063 This callback is invoked by DAL when it has received a Set BSS Key response
6064 from the underlying device.
6065
6066 PARAMETERS
6067
6068 IN
6069 wdiStatus: response status received from HAL
6070 pUserData: user data
6071
6072
6073
6074 RETURN VALUE
6075 The result code associated with performing the operation
6076---------------------------------------------------------------------------*/
6077typedef void (*WDI_SetBSSKeyRspCb)(WDI_Status wdiStatus,
6078 void* pUserData);
6079
6080/*---------------------------------------------------------------------------
6081 WDI_StartRspCb
6082
6083 DESCRIPTION
6084
6085 This callback is invoked by DAL when it has received a Remove BSS Key
6086 response from the underlying device.
6087
6088 PARAMETERS
6089
6090 IN
6091 wdiStatus: response status received from HAL
6092 pUserData: user data
6093
6094
6095
6096 RETURN VALUE
6097 The result code associated with performing the operation
6098---------------------------------------------------------------------------*/
6099typedef void (*WDI_RemoveBSSKeyRspCb)(WDI_Status wdiStatus,
6100 void* pUserData);
6101
6102/*---------------------------------------------------------------------------
6103 WDI_StartRspCb
6104
6105 DESCRIPTION
6106
6107 This callback is invoked by DAL when it has received a Set STA Key response
6108 from the underlying device.
6109
6110 PARAMETERS
6111
6112 IN
6113 wdiStatus: response status received from HAL
6114 pUserData: user data
6115
6116
6117
6118 RETURN VALUE
6119 The result code associated with performing the operation
6120---------------------------------------------------------------------------*/
6121typedef void (*WDI_SetSTAKeyRspCb)(WDI_Status wdiStatus,
6122 void* pUserData);
6123
6124
6125/*---------------------------------------------------------------------------
6126 WDI_StartRspCb
6127
6128 DESCRIPTION
6129
6130 This callback is invoked by DAL when it has received a Remove STA Key
6131 response from the underlying device.
6132
6133 PARAMETERS
6134
6135 IN
6136 wdiStatus: response status received from HAL
6137 pUserData: user data
6138
6139
6140
6141 RETURN VALUE
6142 The result code associated with performing the operation
6143---------------------------------------------------------------------------*/
6144typedef void (*WDI_RemoveSTAKeyRspCb)(WDI_Status wdiStatus,
6145 void* pUserData);
6146
6147
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08006148#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07006149/*---------------------------------------------------------------------------
6150 WDI_TsmRspCb
6151
6152 DESCRIPTION
6153
6154 This callback is invoked by DAL when it has received a TSM Stats response from the underlying device.
6155
6156 PARAMETERS
6157
6158 IN
6159 pTSMStats: response status received from HAL
6160 pUserData: user data
6161
6162
6163
6164 RETURN VALUE
6165 The result code associated with performing the operation
6166---------------------------------------------------------------------------*/
6167typedef void (*WDI_TsmRspCb)(WDI_TSMStatsRspParamsType *pTSMStats,
6168 void* pUserData);
6169#endif
6170
6171/*---------------------------------------------------------------------------
6172 WDI_StartRspCb
6173
6174 DESCRIPTION
6175
6176 This callback is invoked by DAL when it has received a Add TS response from
6177 the underlying device.
6178
6179 PARAMETERS
6180
6181 IN
6182 wdiStatus: response status received from HAL
6183 pUserData: user data
6184
6185
6186
6187 RETURN VALUE
6188 The result code associated with performing the operation
6189---------------------------------------------------------------------------*/
6190typedef void (*WDI_AddTsRspCb)(WDI_Status wdiStatus,
6191 void* pUserData);
6192
6193/*---------------------------------------------------------------------------
6194 WDI_StartRspCb
6195
6196 DESCRIPTION
6197
6198 This callback is invoked by DAL when it has received a Del TS response from
6199 the underlying device.
6200
6201 PARAMETERS
6202
6203 IN
6204 wdiStatus: response status received from HAL
6205 pUserData: user data
6206
6207
6208
6209 RETURN VALUE
6210 The result code associated with performing the operation
6211---------------------------------------------------------------------------*/
6212typedef void (*WDI_DelTsRspCb)(WDI_Status wdiStatus,
6213 void* pUserData);
6214
6215/*---------------------------------------------------------------------------
6216 WDI_StartRspCb
6217
6218 DESCRIPTION
6219
6220 This callback is invoked by DAL when it has received an Update EDCA Params
6221 response from the underlying device.
6222
6223 PARAMETERS
6224
6225 IN
6226 wdiStatus: response status received from HAL
6227 pUserData: user data
6228
6229
6230
6231 RETURN VALUE
6232 The result code associated with performing the operation
6233---------------------------------------------------------------------------*/
6234typedef void (*WDI_UpdateEDCAParamsRspCb)(WDI_Status wdiStatus,
6235 void* pUserData);
6236
6237/*---------------------------------------------------------------------------
6238 WDI_StartRspCb
6239
6240 DESCRIPTION
6241
6242 This callback is invoked by DAL when it has received a Add BA response from
6243 the underlying device.
6244
6245 PARAMETERS
6246
6247 IN
6248 wdiStatus: response status received from HAL
6249 pUserData: user data
6250
6251
6252
6253 RETURN VALUE
6254 The result code associated with performing the operation
6255---------------------------------------------------------------------------*/
6256typedef void (*WDI_AddBASessionRspCb)(
6257 WDI_AddBASessionRspParamsType* wdiAddBASessionRsp,
6258 void* pUserData);
6259
6260
6261/*---------------------------------------------------------------------------
6262 WDI_StartRspCb
6263
6264 DESCRIPTION
6265
6266 This callback is invoked by DAL when it has received a Del BA response from
6267 the underlying device.
6268
6269 PARAMETERS
6270
6271 IN
6272 wdiStatus: response status received from HAL
6273 pUserData: user data
6274
6275
6276
6277 RETURN VALUE
6278 The result code associated with performing the operation
6279---------------------------------------------------------------------------*/
6280typedef void (*WDI_DelBARspCb)(WDI_Status wdiStatus,
6281 void* pUserData);
6282
6283
6284/*---------------------------------------------------------------------------
6285 WDI_StartRspCb
6286
6287 DESCRIPTION
6288
6289 This callback is invoked by DAL when it has received a Switch Ch response
6290 from the underlying device.
6291
6292 PARAMETERS
6293
6294 IN
6295 wdiRspParams: response parameters received from HAL
6296 pUserData: user data
6297
6298
6299 RETURN VALUE
6300 The result code associated with performing the operation
6301---------------------------------------------------------------------------*/
6302typedef void (*WDI_SwitchChRspCb)(WDI_SwitchCHRspParamsType* pwdiSwitchChRsp,
6303 void* pUserData);
6304
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08006305typedef void (*WDI_SwitchChRspCb_V1)(WDI_SwitchChRspParamsType_V1* pwdiSwitchChRsp,
6306 void* pUserData);
6307
Jeff Johnson295189b2012-06-20 16:38:30 -07006308
6309/*---------------------------------------------------------------------------
6310 WDI_StartRspCb
6311
6312 DESCRIPTION
6313
6314 This callback is invoked by DAL when it has received a Config STA response
6315 from the underlying device.
6316
6317 PARAMETERS
6318
6319 IN
6320 wdiRspParams: response parameters received from HAL
6321 pUserData: user data
6322
6323
6324 RETURN VALUE
6325 The result code associated with performing the operation
6326---------------------------------------------------------------------------*/
6327typedef void (*WDI_ConfigSTARspCb)(
6328 WDI_ConfigSTARspParamsType* pwdiConfigSTARsp,
6329 void* pUserData);
6330
6331
6332/*---------------------------------------------------------------------------
6333 WDI_StartRspCb
6334
6335 DESCRIPTION
6336
6337 This callback is invoked by DAL when it has received a Set Link State
6338 response from the underlying device.
6339
6340 PARAMETERS
6341
6342 IN
6343 wdiRspParams: response parameters received from HAL
6344 pUserData: user data
6345
6346
6347 RETURN VALUE
6348 The result code associated with performing the operation
6349---------------------------------------------------------------------------*/
6350typedef void (*WDI_SetLinkStateRspCb)( WDI_Status wdiStatus,
6351 void* pUserData);
6352
6353
6354/*---------------------------------------------------------------------------
6355 WDI_StartRspCb
6356
6357 DESCRIPTION
6358
6359 This callback is invoked by DAL when it has received a Get Stats response
6360 from the underlying device.
6361
6362 PARAMETERS
6363
6364 IN
6365 wdiRspParams: response parameters received from HAL
6366 pUserData: user data
6367
6368
6369 RETURN VALUE
6370 The result code associated with performing the operation
6371---------------------------------------------------------------------------*/
6372typedef void (*WDI_GetStatsRspCb)(WDI_GetStatsRspParamsType* pwdiGetStatsRsp,
6373 void* pUserData);
6374
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08006375#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08006376/*---------------------------------------------------------------------------
6377 WDI_GetRoamRssiRspCb
6378
6379 DESCRIPTION
6380
6381 This callback is invoked by DAL when it has received a Get Roam Rssi response
6382 from the underlying device.
6383
6384 PARAMETERS
6385
6386 IN
6387 wdiRspParams: response parameters received from HAL
6388 pUserData: user data
6389
6390
6391 RETURN VALUE
6392 The result code associated with performing the operation
6393---------------------------------------------------------------------------*/
6394typedef void (*WDI_GetRoamRssiRspCb)(WDI_GetRoamRssiRspParamsType* pwdiGetRoamRssiRsp,
6395 void* pUserData);
6396#endif
6397
Jeff Johnson295189b2012-06-20 16:38:30 -07006398
6399/*---------------------------------------------------------------------------
6400 WDI_StartRspCb
6401
6402 DESCRIPTION
6403
6404 This callback is invoked by DAL when it has received a Update Cfg response
6405 from the underlying device.
6406
6407 PARAMETERS
6408
6409 IN
6410 wdiStatus: response status received from HAL
6411 pUserData: user data
6412
6413
6414 RETURN VALUE
6415 The result code associated with performing the operation
6416---------------------------------------------------------------------------*/
6417typedef void (*WDI_UpdateCfgRspCb)(WDI_Status wdiStatus,
6418 void* pUserData);
6419
6420/*---------------------------------------------------------------------------
6421 WDI_AddBARspCb
6422
6423 DESCRIPTION
6424
6425 This callback is invoked by DAL when it has received a ADD BA response
6426 from the underlying device.
6427
6428 PARAMETERS
6429
6430 IN
6431 wdiStatus: response status received from HAL
6432 pUserData: user data
6433
6434
6435 RETURN VALUE
6436 The result code associated with performing the operation
6437---------------------------------------------------------------------------*/
6438typedef void (*WDI_AddBARspCb)(WDI_AddBARspinfoType* wdiAddBARsp,
6439 void* pUserData);
6440
6441/*---------------------------------------------------------------------------
6442 WDI_TriggerBARspCb
6443
6444 DESCRIPTION
6445
6446 This callback is invoked by DAL when it has received a ADD BA response
6447 from the underlying device.
6448
6449 PARAMETERS
6450
6451 IN
6452 wdiStatus: response status received from HAL
6453 pUserData: user data
6454
6455
6456 RETURN VALUE
6457 The result code associated with performing the operation
6458---------------------------------------------------------------------------*/
6459typedef void (*WDI_TriggerBARspCb)(WDI_TriggerBARspParamsType* wdiTriggerBARsp,
6460 void* pUserData);
6461
6462
6463/*---------------------------------------------------------------------------
6464 WDI_UpdateBeaconParamsRspCb
6465
6466 DESCRIPTION
6467
6468 This callback is invoked by DAL when it has received a Update Beacon Params response from
6469 the underlying device.
6470
6471 PARAMETERS
6472
6473 IN
6474 wdiStatus: response status received from HAL
6475 pUserData: user data
6476
6477
6478
6479 RETURN VALUE
6480 The result code associated with performing the operation
6481---------------------------------------------------------------------------*/
6482typedef void (*WDI_UpdateBeaconParamsRspCb)(WDI_Status wdiStatus,
6483 void* pUserData);
6484
6485/*---------------------------------------------------------------------------
6486 WDI_SendBeaconParamsRspCb
6487
6488 DESCRIPTION
6489
6490 This callback is invoked by DAL when it has received a Send Beacon Params response from
6491 the underlying device.
6492
6493 PARAMETERS
6494
6495 IN
6496 wdiStatus: response status received from HAL
6497 pUserData: user data
6498
6499
6500
6501 RETURN VALUE
6502 The result code associated with performing the operation
6503---------------------------------------------------------------------------*/
6504typedef void (*WDI_SendBeaconParamsRspCb)(WDI_Status wdiStatus,
6505 void* pUserData);
6506
6507/*---------------------------------------------------------------------------
6508 WDA_SetMaxTxPowerRspCb
6509
6510 DESCRIPTION
6511
6512 This callback is invoked by DAL when it has received a set max Tx Power response from
6513 the underlying device.
6514
6515 PARAMETERS
6516
6517 IN
6518 wdiStatus: response status received from HAL
6519 pUserData: user data
6520
6521
6522
6523 RETURN VALUE
6524 The result code associated with performing the operation
6525---------------------------------------------------------------------------*/
6526typedef void (*WDA_SetMaxTxPowerRspCb)(WDI_SetMaxTxPowerRspMsg *wdiSetMaxTxPowerRsp,
6527 void* pUserData);
6528
6529/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07006530 WDA_SetMaxTxPowerPerBandRspCb
6531
6532 DESCRIPTION
6533
6534 This callback is invoked by DAL when it has received a
6535 set max Tx Power Per Band response from the underlying device.
6536
6537 PARAMETERS
6538
6539 IN
6540 wdiSetMaxTxPowerPerBandRsp: response status received from HAL
6541 pUserData: user data
6542
6543 RETURN VALUE
6544 The result code associated with performing the operation
6545---------------------------------------------------------------------------*/
6546typedef void (*WDA_SetMaxTxPowerPerBandRspCb)(WDI_SetMaxTxPowerPerBandRspMsg
6547 *wdiSetMaxTxPowerPerBandRsp,
6548 void* pUserData);
6549
6550/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07006551 WDA_SetTxPowerRspCb
6552
6553 DESCRIPTION
6554
6555 This callback is invoked by DAL when it has received a set max Tx Power response from
6556 the underlying device.
6557
6558 PARAMETERS
6559
6560 IN
6561 wdiStatus: response status received from HAL
6562 pUserData: user data
6563
6564 RETURN VALUE
6565 The result code associated with performing the operation
6566---------------------------------------------------------------------------*/
6567typedef void (*WDA_SetTxPowerRspCb)(WDI_SetTxPowerRspMsg *wdiSetTxPowerRsp,
6568 void* pUserData);
6569
6570/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07006571 WDI_UpdateProbeRspTemplateRspCb
6572
6573 DESCRIPTION
6574
6575 This callback is invoked by DAL when it has received a Probe RSP Template
6576 Update response from the underlying device.
6577
6578 PARAMETERS
6579
6580 IN
6581 wdiStatus: response status received from HAL
6582 pUserData: user data
6583
6584
6585
6586 RETURN VALUE
6587 The result code associated with performing the operation
6588---------------------------------------------------------------------------*/
6589typedef void (*WDI_UpdateProbeRspTemplateRspCb)(WDI_Status wdiStatus,
6590 void* pUserData);
6591
Jeff Johnson295189b2012-06-20 16:38:30 -07006592/*---------------------------------------------------------------------------
6593 WDI_SetP2PGONOAReqParamsRspCb
6594
6595 DESCRIPTION
6596
6597 This callback is invoked by DAL when it has received a P2P GO NOA Params response from
6598 the underlying device.
6599
6600 PARAMETERS
6601
6602 IN
6603 wdiStatus: response status received from HAL
6604 pUserData: user data
6605
6606
6607
6608 RETURN VALUE
6609 The result code associated with performing the operation
6610---------------------------------------------------------------------------*/
6611typedef void (*WDI_SetP2PGONOAReqParamsRspCb)(WDI_Status wdiStatus,
6612 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006613
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05306614/*---------------------------------------------------------------------------
6615 WDI_SetTDLSLinkEstablishReqParamsRspCb
6616
6617 DESCRIPTION
6618
6619 This callback is invoked by DAL when it has received a TDLS Link Establish Req response from
6620 the underlying device.
6621
6622 PARAMETERS
6623
6624 IN
6625 wdiStatus: response status received from HAL
6626 pUserData: user data
6627
6628
6629
6630 RETURN VALUE
6631 The result code associated with performing the operation
6632---------------------------------------------------------------------------*/
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05306633typedef void (*WDI_SetTDLSLinkEstablishReqParamsRspCb)(WDI_SetTdlsLinkEstablishReqResp *
6634 wdiSetTdlsLinkEstablishReqRsp,
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05306635 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006636
6637/*---------------------------------------------------------------------------
6638 WDI_SetPwrSaveCfgCb
6639
6640 DESCRIPTION
6641
6642 This callback is invoked by DAL when it has received a set Power Save CFG
6643 response from the underlying device.
6644
6645 PARAMETERS
6646
6647 IN
6648 wdiStatus: response status received from HAL
6649 pUserData: user data
6650
6651
6652
6653 RETURN VALUE
6654 The result code associated with performing the operation
6655---------------------------------------------------------------------------*/
6656typedef void (*WDI_SetPwrSaveCfgCb)(WDI_Status wdiStatus,
6657 void* pUserData);
6658
6659/*---------------------------------------------------------------------------
6660 WDI_SetUapsdAcParamsCb
6661
6662 DESCRIPTION
6663
6664 This callback is invoked by DAL when it has received a set UAPSD params
6665 response from the underlying device.
6666
6667 PARAMETERS
6668
6669 IN
6670 wdiStatus: response status received from HAL
6671 pUserData: user data
6672
6673
6674
6675 RETURN VALUE
6676 The result code associated with performing the operation
6677---------------------------------------------------------------------------*/
6678typedef void (*WDI_SetUapsdAcParamsCb)(WDI_Status wdiStatus,
6679 void* pUserData);
6680
6681/*---------------------------------------------------------------------------
6682 WDI_EnterImpsRspCb
6683
6684 DESCRIPTION
6685
6686 This callback is invoked by DAL when it has received a Enter IMPS response
6687 from the underlying device.
6688
6689 PARAMETERS
6690
6691 IN
6692 wdiStatus: response status received from HAL
6693 pUserData: user data
6694
6695
6696
6697 RETURN VALUE
6698 The result code associated with performing the operation
6699---------------------------------------------------------------------------*/
6700typedef void (*WDI_EnterImpsRspCb)(WDI_Status wdiStatus,
6701 void* pUserData);
6702
6703/*---------------------------------------------------------------------------
6704 WDI_ExitImpsRspCb
6705
6706 DESCRIPTION
6707
6708 This callback is invoked by DAL when it has received a Exit IMPS response
6709 from the underlying device.
6710
6711 PARAMETERS
6712
6713 IN
6714 wdiStatus: response status received from HAL
6715 pUserData: user data
6716
6717
6718
6719 RETURN VALUE
6720 The result code associated with performing the operation
6721---------------------------------------------------------------------------*/
6722typedef void (*WDI_ExitImpsRspCb)(WDI_Status wdiStatus,
6723 void* pUserData);
6724
6725/*---------------------------------------------------------------------------
6726 WDI_EnterBmpsRspCb
6727
6728 DESCRIPTION
6729
6730 This callback is invoked by DAL when it has received a enter BMPS response
6731 from the underlying device.
6732
6733 PARAMETERS
6734
6735 IN
6736 wdiStatus: response status received from HAL
6737 pUserData: user data
6738
6739
6740
6741 RETURN VALUE
6742 The result code associated with performing the operation
6743---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006744typedef void (*WDI_EnterBmpsRspCb)(WDI_EnterBmpsRspParamsType *pwdiEnterBmpsRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006745 void* pUserData);
6746
6747/*---------------------------------------------------------------------------
6748 WDI_ExitBmpsRspCb
6749
6750 DESCRIPTION
6751
6752 This callback is invoked by DAL when it has received a exit BMPS response
6753 from the underlying device.
6754
6755 PARAMETERS
6756
6757 IN
6758 wdiStatus: response status received from HAL
6759 pUserData: user data
6760
6761
6762
6763 RETURN VALUE
6764 The result code associated with performing the operation
6765---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006766typedef void (*WDI_ExitBmpsRspCb)( WDI_ExitBmpsRspParamsType *pwdiExitBmpsRspParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07006767 void* pUserData);
6768
6769/*---------------------------------------------------------------------------
6770 WDI_EnterUapsdRspCb
6771
6772 DESCRIPTION
6773
6774 This callback is invoked by DAL when it has received a enter UAPSD response
6775 from the underlying device.
6776
6777 PARAMETERS
6778
6779 IN
6780 wdiStatus: response status received from HAL
6781 pUserData: user data
6782
6783
6784
6785 RETURN VALUE
6786 The result code associated with performing the operation
6787---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006788typedef void (*WDI_EnterUapsdRspCb)( WDI_EnterUapsdRspParamsType *pwdiEnterUapsdRspParam,
Jeff Johnson295189b2012-06-20 16:38:30 -07006789 void* pUserData);
6790
6791/*---------------------------------------------------------------------------
6792 WDI_ExitUapsdRspCb
6793
6794 DESCRIPTION
6795
6796 This callback is invoked by DAL when it has received a exit UAPSD response
6797 from the underlying device.
6798
6799 PARAMETERS
6800
6801 IN
6802 wdiStatus: response status received from HAL
6803 pUserData: user data
6804
6805
6806
6807 RETURN VALUE
6808 The result code associated with performing the operation
6809---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006810typedef void (*WDI_ExitUapsdRspCb)(WDI_ExitUapsdRspParamsType *pwidExitUapsdRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006811 void* pUserData);
6812
6813/*---------------------------------------------------------------------------
6814 WDI_UpdateUapsdParamsCb
6815
6816 DESCRIPTION
6817
6818 This callback is invoked by DAL when it has received a update UAPSD params
6819 response from the underlying device.
6820
6821 PARAMETERS
6822
6823 IN
6824 wdiStatus: response status received from HAL
6825 pUserData: user data
6826
6827
6828
6829 RETURN VALUE
6830 The result code associated with performing the operation
6831---------------------------------------------------------------------------*/
6832typedef void (*WDI_UpdateUapsdParamsCb)(WDI_Status wdiStatus,
6833 void* pUserData);
6834
6835/*---------------------------------------------------------------------------
6836 WDI_ConfigureRxpFilterCb
6837
6838 DESCRIPTION
6839
6840 This callback is invoked by DAL when it has received a config RXP filter
6841 response from the underlying device.
6842
6843 PARAMETERS
6844
6845 IN
6846 wdiStatus: response status received from HAL
6847 pUserData: user data
6848
6849
6850
6851 RETURN VALUE
6852 The result code associated with performing the operation
6853---------------------------------------------------------------------------*/
6854typedef void (*WDI_ConfigureRxpFilterCb)(WDI_Status wdiStatus,
6855 void* pUserData);
6856
6857/*---------------------------------------------------------------------------
6858 WDI_SetBeaconFilterCb
6859
6860 DESCRIPTION
6861
6862 This callback is invoked by DAL when it has received a set beacon filter
6863 response from the underlying device.
6864
6865 PARAMETERS
6866
6867 IN
6868 wdiStatus: response status received from HAL
6869 pUserData: user data
6870
6871
6872
6873 RETURN VALUE
6874 The result code associated with performing the operation
6875---------------------------------------------------------------------------*/
6876typedef void (*WDI_SetBeaconFilterCb)(WDI_Status wdiStatus,
6877 void* pUserData);
6878
6879/*---------------------------------------------------------------------------
6880 WDI_RemBeaconFilterCb
6881
6882 DESCRIPTION
6883
6884 This callback is invoked by DAL when it has received a remove beacon filter
6885 response from the underlying device.
6886
6887 PARAMETERS
6888
6889 IN
6890 wdiStatus: response status received from HAL
6891 pUserData: user data
6892
6893
6894
6895 RETURN VALUE
6896 The result code associated with performing the operation
6897---------------------------------------------------------------------------*/
6898typedef void (*WDI_RemBeaconFilterCb)(WDI_Status wdiStatus,
6899 void* pUserData);
6900
6901/*---------------------------------------------------------------------------
6902 WDI_SetRSSIThresholdsCb
6903
6904 DESCRIPTION
6905
6906 This callback is invoked by DAL when it has received a set RSSI thresholds
6907 response from the underlying device.
6908
6909 PARAMETERS
6910
6911 IN
6912 wdiStatus: response status received from HAL
6913 pUserData: user data
6914
6915
6916
6917 RETURN VALUE
6918 The result code associated with performing the operation
6919---------------------------------------------------------------------------*/
6920typedef void (*WDI_SetRSSIThresholdsCb)(WDI_Status wdiStatus,
6921 void* pUserData);
6922
6923/*---------------------------------------------------------------------------
6924 WDI_HostOffloadCb
6925
6926 DESCRIPTION
6927
6928 This callback is invoked by DAL when it has received a host offload
6929 response from the underlying device.
6930
6931 PARAMETERS
6932
6933 IN
6934 wdiStatus: response status received from HAL
6935 pUserData: user data
6936
6937
6938
6939 RETURN VALUE
6940 The result code associated with performing the operation
6941---------------------------------------------------------------------------*/
6942typedef void (*WDI_HostOffloadCb)(WDI_Status wdiStatus,
6943 void* pUserData);
6944
6945/*---------------------------------------------------------------------------
6946 WDI_KeepAliveCb
6947
6948 DESCRIPTION
6949
6950 This callback is invoked by DAL when it has received a Keep Alive
6951 response from the underlying device.
6952
6953 PARAMETERS
6954
6955 IN
6956 wdiStatus: response status received from HAL
6957 pUserData: user data
6958
6959
6960
6961 RETURN VALUE
6962 The result code associated with performing the operation
6963---------------------------------------------------------------------------*/
6964typedef void (*WDI_KeepAliveCb)(WDI_Status wdiStatus,
6965 void* pUserData);
6966
6967/*---------------------------------------------------------------------------
6968 WDI_WowlAddBcPtrnCb
6969
6970 DESCRIPTION
6971
6972 This callback is invoked by DAL when it has received a Wowl add Bcast ptrn
6973 response from the underlying device.
6974
6975 PARAMETERS
6976
6977 IN
6978 wdiStatus: response status received from HAL
6979 pUserData: user data
6980
6981
6982
6983 RETURN VALUE
6984 The result code associated with performing the operation
6985---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006986typedef void (*WDI_WowlAddBcPtrnCb)( WDI_WowlAddBcPtrnRspParamsType *pwdiWowlAddBcPtrnParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07006987 void* pUserData);
6988
6989/*---------------------------------------------------------------------------
6990 WDI_WowlDelBcPtrnCb
6991
6992 DESCRIPTION
6993
6994 This callback is invoked by DAL when it has received a Wowl delete Bcast ptrn
6995 response from the underlying device.
6996
6997 PARAMETERS
6998
6999 IN
7000 wdiStatus: response status received from HAL
7001 pUserData: user data
7002
7003
7004
7005 RETURN VALUE
7006 The result code associated with performing the operation
7007---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007008typedef void (*WDI_WowlDelBcPtrnCb)( WDI_WowlDelBcPtrnRspParamsType *pwdiWowlDelBcstPtrRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007009 void* pUserData);
7010
7011/*---------------------------------------------------------------------------
7012 WDI_WowlEnterReqCb
7013
7014 DESCRIPTION
7015
7016 This callback is invoked by DAL when it has received a Wowl enter
7017 response from the underlying device.
7018
7019 PARAMETERS
7020
7021 IN
7022 wdiStatus: response status received from HAL
7023 pUserData: user data
7024
7025
7026
7027 RETURN VALUE
7028 The result code associated with performing the operation
7029---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007030typedef void (*WDI_WowlEnterReqCb)( WDI_WowlEnterRspParamsType *pwdiwowlEnterRsp,
7031 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007032
7033/*---------------------------------------------------------------------------
7034 WDI_WowlExitReqCb
7035
7036 DESCRIPTION
7037
7038 This callback is invoked by DAL when it has received a Wowl exit
7039 response from the underlying device.
7040
7041 PARAMETERS
7042
7043 IN
7044 wdiStatus: response status received from HAL
7045 pUserData: user data
7046
7047
7048
7049 RETURN VALUE
7050 The result code associated with performing the operation
7051---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007052typedef void (*WDI_WowlExitReqCb)( WDI_WowlExitRspParamsType *pwdiWowlExitRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007053 void* pUserData);
7054
7055/*---------------------------------------------------------------------------
7056 WDI_ConfigureAppsCpuWakeupStateCb
7057
7058 DESCRIPTION
7059
7060 This callback is invoked by DAL when it has received a config Apps Cpu Wakeup
7061 State response from the underlying device.
7062
7063 PARAMETERS
7064
7065 IN
7066 wdiStatus: response status received from HAL
7067 pUserData: user data
7068
7069
7070
7071 RETURN VALUE
7072 The result code associated with performing the operation
7073---------------------------------------------------------------------------*/
7074typedef void (*WDI_ConfigureAppsCpuWakeupStateCb)(WDI_Status wdiStatus,
7075 void* pUserData);
7076/*---------------------------------------------------------------------------
7077 WDI_NvDownloadRspCb
7078
7079 DESCRIPTION
7080
7081 This callback is invoked by DAL when it has received a NV Download response
7082 from the underlying device.
7083
7084 PARAMETERS
7085
7086 IN
7087 wdiStatus:response status received from HAL
7088 pUserData:user data
7089
7090 RETURN VALUE
7091 The result code associated with performing the operation
7092---------------------------------------------------------------------------*/
7093typedef void (*WDI_NvDownloadRspCb)(WDI_NvDownloadRspInfoType* wdiNvDownloadRsp,
7094 void* pUserData);
7095/*---------------------------------------------------------------------------
7096 WDI_FlushAcRspCb
7097
7098 DESCRIPTION
7099
7100 This callback is invoked by DAL when it has received a Flush AC response from
7101 the underlying device.
7102
7103 PARAMETERS
7104
7105 IN
7106 wdiStatus: response status received from HAL
7107 pUserData: user data
7108
7109
7110
7111 RETURN VALUE
7112 The result code associated with performing the operation
7113---------------------------------------------------------------------------*/
7114typedef void (*WDI_FlushAcRspCb)(WDI_Status wdiStatus,
7115 void* pUserData);
7116
7117/*---------------------------------------------------------------------------
7118 WDI_BtAmpEventRspCb
7119
7120 DESCRIPTION
7121
7122 This callback is invoked by DAL when it has received a Bt AMP event response
7123 from the underlying device.
7124
7125 PARAMETERS
7126
7127 IN
7128 wdiStatus: response status received from HAL
7129 pUserData: user data
7130
7131
7132
7133 RETURN VALUE
7134 The result code associated with performing the operation
7135---------------------------------------------------------------------------*/
7136typedef void (*WDI_BtAmpEventRspCb)(WDI_Status wdiStatus,
7137 void* pUserData);
7138
Jeff Johnsone7245742012-09-05 17:12:55 -07007139#ifdef FEATURE_OEM_DATA_SUPPORT
7140/*---------------------------------------------------------------------------
7141 WDI_oemDataRspCb
7142
7143 DESCRIPTION
7144
7145 This callback is invoked by DAL when it has received a Start oem data response from
7146 the underlying device.
7147
7148 PARAMETERS
7149
7150 IN
7151 wdiStatus: response status received from HAL
7152 pUserData: user data
7153
7154
7155
7156 RETURN VALUE
7157 The result code associated with performing the operation
7158---------------------------------------------------------------------------*/
7159typedef void (*WDI_oemDataRspCb)(WDI_oemDataRspParamsType* wdiOemDataRspParams,
7160 void* pUserData);
7161
7162#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07007163
7164/*---------------------------------------------------------------------------
7165 WDI_HostResumeEventRspCb
7166
7167 DESCRIPTION
7168
7169 This callback is invoked by DAL when it has received a Bt AMP event response
7170 from the underlying device.
7171
7172 PARAMETERS
7173
7174 IN
7175 wdiStatus: response status received from HAL
7176 pUserData: user data
7177
7178
7179
7180 RETURN VALUE
7181 The result code associated with performing the operation
7182---------------------------------------------------------------------------*/
7183typedef void (*WDI_HostResumeEventRspCb)(
7184 WDI_SuspendResumeRspParamsType *resumeRspParams,
7185 void* pUserData);
7186
7187
7188#ifdef WLAN_FEATURE_VOWIFI_11R
7189/*---------------------------------------------------------------------------
7190 WDI_AggrAddTsRspCb
7191
7192 DESCRIPTION
7193
7194 This callback is invoked by DAL when it has received a Aggregated Add TS
7195 response from the underlying device.
7196
7197 PARAMETERS
7198
7199 IN
7200 wdiStatus: response status received from HAL
7201 pUserData: user data
7202
7203
7204
7205 RETURN VALUE
7206 The result code associated with performing the operation
7207---------------------------------------------------------------------------*/
7208typedef void (*WDI_AggrAddTsRspCb)(WDI_Status wdiStatus,
7209 void* pUserData);
7210#endif /* WLAN_FEATURE_VOWIFI_11R */
7211
Jeff Johnson295189b2012-06-20 16:38:30 -07007212/*---------------------------------------------------------------------------
7213 WDI_FTMCommandRspCb
7214
7215 DESCRIPTION
7216
7217 FTM Command response CB
7218
7219 PARAMETERS
7220
7221 IN
7222 ftmCMDRspdata: FTM response data from HAL
7223 pUserData: user data
7224
7225
7226 RETURN VALUE
7227 NONE
7228---------------------------------------------------------------------------*/
7229typedef void (*WDI_FTMCommandRspCb)(void *ftmCMDRspdata,
7230 void *pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007231
7232/*---------------------------------------------------------------------------
7233 WDI_AddSTASelfParamsRspCb
7234
7235 DESCRIPTION
7236
7237 This callback is invoked by DAL when it has received a Add Sta Self Params
7238 response from the underlying device.
7239
7240 PARAMETERS
7241
7242 IN
7243 wdiAddSelfSTARsp: response status received from HAL
7244 pUserData: user data
7245
7246
7247
7248 RETURN VALUE
7249 The result code associated with performing the operation
7250---------------------------------------------------------------------------*/
7251typedef void (*WDI_AddSTASelfParamsRspCb)(
7252 WDI_AddSTASelfRspParamsType* pwdiAddSelfSTARsp,
7253 void* pUserData);
7254
7255
7256/*---------------------------------------------------------------------------
7257 WDI_DelSTASelfRspCb
7258
7259 DESCRIPTION
7260
7261 This callback is invoked by DAL when it has received a host offload
7262 response from the underlying device.
7263
7264 PARAMETERS
7265
7266 IN
7267 wdiStatus: response status received from HAL
7268 pUserData: user data
7269
7270
7271
7272 RETURN VALUE
7273 The result code associated with performing the operation
7274---------------------------------------------------------------------------*/
7275typedef void (*WDI_DelSTASelfRspCb)
7276(
7277WDI_DelSTASelfRspParamsType* wdiDelStaSelfRspParams,
7278void* pUserData
7279);
7280
7281#ifdef FEATURE_WLAN_SCAN_PNO
7282/*---------------------------------------------------------------------------
7283 WDI_PNOScanCb
7284
7285 DESCRIPTION
7286
7287 This callback is invoked by DAL when it has received a Set PNO
7288 response from the underlying device.
7289
7290 PARAMETERS
7291
7292 IN
7293 wdiStatus: response status received from HAL
7294 pUserData: user data
7295
7296
7297
7298 RETURN VALUE
7299 The result code associated with performing the operation
7300---------------------------------------------------------------------------*/
7301typedef void (*WDI_PNOScanCb)(WDI_Status wdiStatus,
7302 void* pUserData);
7303
7304/*---------------------------------------------------------------------------
7305 WDI_PNOScanCb
7306
7307 DESCRIPTION
7308
7309 This callback is invoked by DAL when it has received a Set PNO
7310 response from the underlying device.
7311
7312 PARAMETERS
7313
7314 IN
7315 wdiStatus: response status received from HAL
7316 pUserData: user data
7317
7318
7319
7320 RETURN VALUE
7321 The result code associated with performing the operation
7322---------------------------------------------------------------------------*/
7323typedef void (*WDI_RssiFilterCb)(WDI_Status wdiStatus,
7324 void* pUserData);
7325
7326/*---------------------------------------------------------------------------
7327 WDI_UpdateScanParamsCb
7328
7329 DESCRIPTION
7330
7331 This callback is invoked by DAL when it has received a Update Scan Params
7332 response from the underlying device.
7333
7334 PARAMETERS
7335
7336 IN
7337 wdiStatus: response status received from HAL
7338 pUserData: user data
7339
7340
7341
7342 RETURN VALUE
7343 The result code associated with performing the operation
7344---------------------------------------------------------------------------*/
7345typedef void (*WDI_UpdateScanParamsCb)(WDI_Status wdiStatus,
7346 void* pUserData);
7347#endif // FEATURE_WLAN_SCAN_PNO
7348
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08007349typedef void (*WDI_UpdateChannelRspCb)(WDI_Status wdiStatus,
7350 void* pUserData);
7351
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07007352#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
7353/*---------------------------------------------------------------------------
7354 WDI_RoamOffloadScanCb
7355
7356 DESCRIPTION
7357
7358 This callback is invoked by DAL when it has received a Start Roam Candidate Lookup Req
7359 response from the underlying device.
7360
7361 PARAMETERS
7362
7363 IN
7364 wdiStatus: response status received from HAL
7365 pUserData: user data
7366
7367
7368
7369 RETURN VALUE
7370 The result code associated with performing the operation
7371---------------------------------------------------------------------------*/
7372typedef void (*WDI_RoamOffloadScanCb)(WDI_Status wdiStatus,
7373 void* pUserData);
7374
7375#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07007376/*---------------------------------------------------------------------------
7377 WDI_SetTxPerTrackingRspCb
7378
7379 DESCRIPTION
7380
7381 This callback is invoked by DAL when it has received a Tx PER Tracking
7382 response from the underlying device.
7383
7384 PARAMETERS
7385
7386 IN
7387 wdiStatus: response status received from HAL
7388 pUserData: user data
7389
7390
7391
7392 RETURN VALUE
7393 The result code associated with performing the operation
7394---------------------------------------------------------------------------*/
7395typedef void (*WDI_SetTxPerTrackingRspCb)(WDI_Status wdiStatus,
7396 void* pUserData);
7397
7398#ifdef WLAN_FEATURE_PACKET_FILTERING
7399/*---------------------------------------------------------------------------
7400 WDI_8023MulticastListCb
7401
7402 DESCRIPTION
7403
7404 This callback is invoked by DAL when it has received a 8023 Multicast List
7405 response from the underlying device.
7406
7407 PARAMETERS
7408
7409 IN
7410 wdiStatus: response status received from HAL
7411 pUserData: user data
7412
7413
7414
7415 RETURN VALUE
7416 The result code associated with performing the operation
7417---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007418typedef void (*WDI_8023MulticastListCb)(
7419 WDI_RcvFltPktSetMcListRspParamsType *pwdiRcvFltPktSetMcListRspInfo,
7420 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007421
7422/*---------------------------------------------------------------------------
7423 WDI_ReceiveFilterSetFilterCb
7424
7425 DESCRIPTION
7426
7427 This callback is invoked by DAL when it has received a Receive Filter Set Filter
7428 response from the underlying device.
7429
7430 PARAMETERS
7431
7432 IN
7433 wdiStatus: response status received from HAL
7434 pUserData: user data
7435
7436
7437
7438 RETURN VALUE
7439 The result code associated with performing the operation
7440---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007441typedef void (*WDI_ReceiveFilterSetFilterCb)(
7442 WDI_SetRcvPktFilterRspParamsType *pwdiSetRcvPktFilterRspInfo,
7443 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007444
7445/*---------------------------------------------------------------------------
7446 WDI_FilterMatchCountCb
7447
7448 DESCRIPTION
7449
7450 This callback is invoked by DAL when it has received a Do PC Filter Match Count
7451 response from the underlying device.
7452
7453 PARAMETERS
7454
7455 IN
7456 wdiStatus: response status received from HAL
7457 pUserData: user data
7458
7459
7460
7461 RETURN VALUE
7462 The result code associated with performing the operation
7463---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007464typedef void (*WDI_FilterMatchCountCb)(
7465 WDI_RcvFltPktMatchCntRspParamsType *pwdiRcvFltPktMatchRspParams,
7466 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007467
7468/*---------------------------------------------------------------------------
7469 WDI_ReceiveFilterClearFilterCb
7470
7471 DESCRIPTION
7472
7473 This callback is invoked by DAL when it has received a Receive Filter Clear Filter
7474 response from the underlying device.
7475
7476 PARAMETERS
7477
7478 IN
7479 wdiStatus: response status received from HAL
7480 pUserData: user data
7481
7482
7483
7484 RETURN VALUE
7485 The result code associated with performing the operation
7486---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007487typedef void (*WDI_ReceiveFilterClearFilterCb)(
7488 WDI_RcvFltPktClearRspParamsType *pwdiRcvFltPktClearRspParamsType,
7489 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007490#endif // WLAN_FEATURE_PACKET_FILTERING
7491
7492/*---------------------------------------------------------------------------
7493 WDI_HALDumpCmdRspCb
7494
7495 DESCRIPTION
7496
7497 This callback is invoked by DAL when it has received a HAL DUMP Command
7498response from
7499 the HAL layer.
7500
7501 PARAMETERS
7502
7503 IN
7504 wdiHalDumpCmdRsp: response status received from HAL
7505 pUserData: user data
7506
7507
7508
7509 RETURN VALUE
7510 The result code associated with performing the operation
7511---------------------------------------------------------------------------*/
7512typedef void (*WDI_HALDumpCmdRspCb)(WDI_HALDumpCmdRspParamsType* wdiHalDumpCmdRsp,
7513 void* pUserData);
7514
7515/*---------------------------------------------------------------------------
7516 WDI_SetPowerParamsCb
7517
7518 DESCRIPTION
7519
7520 This callback is invoked by DAL when it has received a Set Power Param
7521 response from the underlying device.
7522
7523 PARAMETERS
7524
7525 IN
7526 wdiStatus: response status received from HAL
7527 pUserData: user data
7528
7529
7530
7531 RETURN VALUE
7532 The result code associated with performing the operation
7533---------------------------------------------------------------------------*/
7534typedef void (*WDI_SetPowerParamsCb)(WDI_Status wdiStatus,
7535 void* pUserData);
7536
7537#ifdef WLAN_FEATURE_GTK_OFFLOAD
7538/*---------------------------------------------------------------------------
7539 WDI_GtkOffloadCb
7540
7541 DESCRIPTION
7542
7543 This callback is invoked by DAL when it has received a GTK offload
7544 response from the underlying device.
7545
7546 PARAMETERS
7547
7548 IN
7549 wdiStatus: response status received from HAL
7550 pUserData: user data
7551
7552
7553
7554 RETURN VALUE
7555 The result code associated with performing the operation
7556---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007557typedef void (*WDI_GtkOffloadCb)( WDI_GtkOffloadRspParams *pwdiGtkOffloadRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007558 void* pUserData);
7559
7560/*---------------------------------------------------------------------------
7561 WDI_GtkOffloadGetInfoCb
7562
7563 DESCRIPTION
7564
7565 This callback is invoked by DAL when it has received a GTK offload
7566 information response from the underlying device.
7567
7568 PARAMETERS
7569
7570 IN
7571 wdiStatus: response status received from HAL
7572 pUserData: user data
7573
7574
7575
7576 RETURN VALUE
7577 The result code associated with performing the operation
7578---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007579typedef void (*WDI_GtkOffloadGetInfoCb)( WDI_GtkOffloadGetInfoRspParams *pwdiGtkOffloadGetInfoRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007580 void* pUserData);
7581#endif // WLAN_FEATURE_GTK_OFFLOAD
7582
7583/*---------------------------------------------------------------------------
7584 WDI_SetTmLevelCb
7585
7586 DESCRIPTION
7587
7588 This callback is invoked by DAL when it has received a Set New TM Level
7589 done response from the underlying device.
7590
7591 PARAMETERS
7592
7593 IN
7594 wdiStatus: response status received from HAL
7595 pUserData: user data
7596
7597
7598
7599 RETURN VALUE
7600 The result code associated with performing the operation
7601---------------------------------------------------------------------------*/
7602typedef void (*WDI_SetTmLevelCb)(WDI_Status wdiStatus,
7603 void* pUserData);
7604
7605/*---------------------------------------------------------------------------
7606 WDI_featureCapsExchangeCb
7607
7608 DESCRIPTION
7609
7610 This callback is invoked by DAL when it has received a HAL Feature Capbility
7611 Exchange Response the HAL layer. This callback is put to mantain code
7612 similarity and is not being used right now.
7613
7614 PARAMETERS
7615
7616 IN
7617 wdiFeatCapRspParams: response parameters received from HAL
7618 pUserData: user data
7619
7620 RETURN VALUE
7621 The result code associated with performing the operation
7622---------------------------------------------------------------------------*/
7623typedef void (*WDI_featureCapsExchangeCb)(void* wdiFeatCapRspParams,
7624 void* pUserData);
7625
Mohit Khanna4a70d262012-09-11 16:30:12 -07007626#ifdef WLAN_FEATURE_11AC
7627typedef void (*WDI_UpdateVHTOpModeCb)(WDI_Status wdiStatus,
7628 void* pUserData);
7629#endif
7630
Leo Chang9056f462013-08-01 19:21:11 -07007631#ifdef FEATURE_WLAN_LPHB
7632typedef void (*WDI_LphbCfgCb)(WDI_Status wdiStatus,
7633 void* pUserData);
7634#endif /* FEATURE_WLAN_LPHB */
Mohit Khanna4a70d262012-09-11 16:30:12 -07007635
Rajeev79dbe4c2013-10-05 11:03:42 +05307636#ifdef FEATURE_WLAN_BATCH_SCAN
7637/*---------------------------------------------------------------------------
7638 WDI_SetBatchScanCb
7639
7640 DESCRIPTION
7641
7642 This callback is invoked by DAL when it has received a get batch scan
7643 response from the underlying device.
7644
7645 PARAMETERS
7646
7647 IN
7648 wdiStatus: response status received from HAL
7649 pUserData: user data
7650
7651
7652
7653 RETURN VALUE
7654 The result code associated with performing the operation
7655---------------------------------------------------------------------------*/
7656typedef void (*WDI_SetBatchScanCb)(void *pData, WDI_SetBatchScanRspType *pRsp);
7657
7658#endif
7659
c_hpothu92367912014-05-01 15:18:17 +05307660typedef void (*WDI_GetBcnMissRateCb)(wpt_uint8 status, wpt_uint32 bcnMissRate,
7661 void* pUserData);
Rajeev79dbe4c2013-10-05 11:03:42 +05307662
Dino Mycle41bdc942014-06-10 11:30:24 +05307663#ifdef WLAN_FEATURE_EXTSCAN
7664typedef void (*WDI_EXTScanStartRspCb)(void *pEventData,
7665 void *pUserData);
7666typedef void (*WDI_EXTScanStopRspCb)(void *pEventData,
7667 void *pUserData);
7668typedef void (*WDI_EXTScanGetCachedResultsRspCb)(void *pEventData,
7669 void *pUserData);
7670typedef void (*WDI_EXTScanGetCapabilitiesRspCb)(void *pEventData,
7671 void *pUserData);
7672typedef void (*WDI_EXTScanSetBSSIDHotlistRspCb)(void *pEventData,
7673 void *pUserData);
7674typedef void (*WDI_EXTScanResetBSSIDHotlistRspCb)(void *pEventData,
7675 void *pUserData);
7676typedef void (*WDI_EXTScanSetSignfRSSIChangeRspCb)(void *pEventData,
7677 void *pUserData);
7678typedef void (*WDI_EXTScanResetSignfRSSIChangeRspCb)(void *pEventData,
7679 void *pUserData);
7680#endif /* WLAN_FEATURE_EXTSCAN */
Sunil Duttbd736ed2014-05-26 21:19:41 +05307681
7682#ifdef WLAN_FEATURE_LINK_LAYER_STATS
7683typedef void (*WDI_LLStatsSetRspCb)(void *pEventData,
7684 void *pUserData);
7685typedef void (*WDI_LLStatsGetRspCb)(void *pEventData,
7686 void *pUserData);
7687typedef void (*WDI_LLStatsClearRspCb)(void *pEventData,
7688 void *pUserData);
7689#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
Jeff Johnson295189b2012-06-20 16:38:30 -07007690/*========================================================================
7691 * Function Declarations and Documentation
7692 ==========================================================================*/
7693
7694/*========================================================================
7695
7696 INITIALIZATION APIs
7697
7698==========================================================================*/
7699
7700/**
7701 @brief WDI_Init is used to initialize the DAL.
7702
7703 DAL will allocate all the resources it needs. It will open PAL, it will also
7704 open both the data and the control transport which in their turn will open
7705 DXE/SMD or any other drivers that they need.
7706
Arun Kumar Khandavalliebb19482014-03-25 13:56:53 +05307707 @param devHandle: pointer to the OS specific device handle
Jeff Johnson295189b2012-06-20 16:38:30 -07007708 ppWDIGlobalCtx: output pointer of Global Context
7709 pWdiDevCapability: output pointer of device capability
7710
7711 @return Result of the function call
7712*/
7713WDI_Status
7714WDI_Init
7715(
Arun Kumar Khandavalliebb19482014-03-25 13:56:53 +05307716 void* devHandle,
Jeff Johnson295189b2012-06-20 16:38:30 -07007717 void** ppWDIGlobalCtx,
7718 WDI_DeviceCapabilityType* pWdiDevCapability,
7719 unsigned int driverType
7720);
7721
7722/**
7723 @brief WDI_Start will be called when the upper MAC is ready to
7724 commence operation with the WLAN Device. Upon the call
7725 of this API the WLAN DAL will pack and send a HAL Start
7726 message to the lower RIVA sub-system if the SMD channel
7727 has been fully opened and the RIVA subsystem is up.
7728
7729 If the RIVA sub-system is not yet up and running DAL
7730 will queue the request for Open and will wait for the
7731 SMD notification before attempting to send down the
7732 message to HAL.
7733
7734 WDI_Init must have been called.
7735
7736 @param wdiStartParams: the start parameters as specified by
7737 the Device Interface
7738
7739 wdiStartRspCb: callback for passing back the response of
7740 the start operation received from the device
7741
7742 pUserData: user data will be passed back with the
7743 callback
7744
7745 @see WDI_Start
7746 @return Result of the function call
7747*/
7748WDI_Status
7749WDI_Start
7750(
7751 WDI_StartReqParamsType* pwdiStartParams,
7752 WDI_StartRspCb wdiStartRspCb,
7753 void* pUserData
7754);
7755
7756
7757/**
7758 @brief WDI_Stop will be called when the upper MAC is ready to
7759 stop any operation with the WLAN Device. Upon the call
7760 of this API the WLAN DAL will pack and send a HAL Stop
7761 message to the lower RIVA sub-system if the DAL Core is
7762 in started state.
7763
7764 In state BUSY this request will be queued.
7765
7766 Request will not be accepted in any other state.
7767
7768 WDI_Start must have been called.
7769
7770 @param wdiStopParams: the stop parameters as specified by
7771 the Device Interface
7772
7773 wdiStopRspCb: callback for passing back the response of
7774 the stop operation received from the device
7775
7776 pUserData: user data will be passed back with the
7777 callback
7778
7779 @see WDI_Start
7780 @return Result of the function call
7781*/
7782WDI_Status
7783WDI_Stop
7784(
7785 WDI_StopReqParamsType* pwdiStopParams,
7786 WDI_StopRspCb wdiStopRspCb,
7787 void* pUserData
7788);
7789
7790/**
7791 @brief WDI_Close will be called when the upper MAC no longer
7792 needs to interract with DAL. DAL will free its control
7793 block.
7794
7795 It is only accepted in state STOPPED.
7796
7797 WDI_Stop must have been called.
7798
7799 @param none
7800
7801 @see WDI_Stop
7802 @return Result of the function call
7803*/
7804WDI_Status
7805WDI_Close
7806(
7807 void
7808);
7809
7810
7811/**
7812 @brief WDI_Shutdown will be called during 'SSR shutdown' operation.
7813 This will do most of the WDI stop & close
7814 operations without doing any handshake with Riva
7815
7816 This will also make sure that the control transport
7817 will NOT be closed.
7818
7819 This request will not be queued.
7820
7821
7822 WDI_Start must have been called.
7823
7824 @param closeTransport: Close control channel if this is set
7825
7826 @return Result of the function call
7827*/
7828WDI_Status
7829WDI_Shutdown
7830(
7831 wpt_boolean closeTransport
7832);
7833
7834/*========================================================================
7835
7836 SCAN APIs
7837
7838==========================================================================*/
7839
7840/**
7841 @brief WDI_InitScanReq will be called when the upper MAC wants
7842 the WLAN Device to get ready for a scan procedure. Upon
7843 the call of this API the WLAN DAL will pack and send a
7844 HAL Init Scan request message to the lower RIVA
7845 sub-system if DAL is in state STARTED.
7846
7847 In state BUSY this request will be queued. Request won't
7848 be allowed in any other state.
7849
7850 WDI_Start must have been called.
7851
7852 @param wdiInitScanParams: the init scan parameters as specified
7853 by the Device Interface
7854
7855 wdiInitScanRspCb: callback for passing back the response
7856 of the init scan operation received from the device
7857
7858 pUserData: user data will be passed back with the
7859 callback
7860
7861 @see WDI_Start
7862 @return Result of the function call
7863*/
7864WDI_Status
7865WDI_InitScanReq
7866(
7867 WDI_InitScanReqParamsType* pwdiInitScanParams,
7868 WDI_InitScanRspCb wdiInitScanRspCb,
7869 void* pUserData
7870);
7871
7872/**
7873 @brief WDI_StartScanReq will be called when the upper MAC
7874 wishes to change the Scan channel on the WLAN Device.
7875 Upon the call of this API the WLAN DAL will pack and
7876 send a HAL Start Scan request message to the lower RIVA
7877 sub-system if DAL is in state STARTED.
7878
7879 In state BUSY this request will be queued. Request won't
7880 be allowed in any other state.
7881
7882 WDI_InitScanReq must have been called.
7883
7884 @param wdiStartScanParams: the start scan parameters as
7885 specified by the Device Interface
7886
7887 wdiStartScanRspCb: callback for passing back the
7888 response of the start scan operation received from the
7889 device
7890
7891 pUserData: user data will be passed back with the
7892 callback
7893
7894 @see WDI_InitScanReq
7895 @return Result of the function call
7896*/
7897WDI_Status
7898WDI_StartScanReq
7899(
7900 WDI_StartScanReqParamsType* pwdiStartScanParams,
7901 WDI_StartScanRspCb wdiStartScanRspCb,
7902 void* pUserData
7903);
7904
7905
7906/**
7907 @brief WDI_EndScanReq will be called when the upper MAC is
7908 wants to end scanning for a particular channel that it
7909 had set before by calling Scan Start on the WLAN Device.
7910 Upon the call of this API the WLAN DAL will pack and
7911 send a HAL End Scan request message to the lower RIVA
7912 sub-system if DAL is in state STARTED.
7913
7914 In state BUSY this request will be queued. Request won't
7915 be allowed in any other state.
7916
7917 WDI_StartScanReq must have been called.
7918
7919 @param wdiEndScanParams: the end scan parameters as specified
7920 by the Device Interface
7921
7922 wdiEndScanRspCb: callback for passing back the response
7923 of the end scan operation received from the device
7924
7925 pUserData: user data will be passed back with the
7926 callback
7927
7928 @see WDI_StartScanReq
7929 @return Result of the function call
7930*/
7931WDI_Status
7932WDI_EndScanReq
7933(
7934 WDI_EndScanReqParamsType* pwdiEndScanParams,
7935 WDI_EndScanRspCb wdiEndScanRspCb,
7936 void* pUserData
7937);
7938
7939
7940/**
7941 @brief WDI_FinishScanReq will be called when the upper MAC has
7942 completed the scan process on the WLAN Device. Upon the
7943 call of this API the WLAN DAL will pack and send a HAL
7944 Finish Scan Request request message to the lower RIVA
7945 sub-system if DAL is in state STARTED.
7946
7947 In state BUSY this request will be queued. Request won't
7948 be allowed in any other state.
7949
7950 WDI_InitScanReq must have been called.
7951
7952 @param wdiFinishScanParams: the finish scan parameters as
7953 specified by the Device Interface
7954
7955 wdiFinishScanRspCb: callback for passing back the
7956 response of the finish scan operation received from the
7957 device
7958
7959 pUserData: user data will be passed back with the
7960 callback
7961
7962 @see WDI_InitScanReq
7963 @return Result of the function call
7964*/
7965WDI_Status
7966WDI_FinishScanReq
7967(
7968 WDI_FinishScanReqParamsType* pwdiFinishScanParams,
7969 WDI_FinishScanRspCb wdiFinishScanRspCb,
7970 void* pUserData
7971);
7972
7973/*========================================================================
7974
7975 ASSOCIATION APIs
7976
7977==========================================================================*/
7978
7979/**
7980 @brief WDI_JoinReq will be called when the upper MAC is ready
7981 to start an association procedure to a BSS. Upon the
7982 call of this API the WLAN DAL will pack and send a HAL
7983 Join request message to the lower RIVA sub-system if
7984 DAL is in state STARTED.
7985
7986 In state BUSY this request will be queued. Request won't
7987 be allowed in any other state.
7988
7989 WDI_Start must have been called.
7990
7991 @param wdiJoinParams: the join parameters as specified by
7992 the Device Interface
7993
7994 wdiJoinRspCb: callback for passing back the response of
7995 the join operation received from the device
7996
7997 pUserData: user data will be passed back with the
7998 callback
7999
8000 @see WDI_Start
8001 @return Result of the function call
8002*/
8003WDI_Status
8004WDI_JoinReq
8005(
8006 WDI_JoinReqParamsType* pwdiJoinParams,
8007 WDI_JoinRspCb wdiJoinRspCb,
8008 void* pUserData
8009);
8010
8011/**
8012 @brief WDI_ConfigBSSReq will be called when the upper MAC
8013 wishes to configure the newly acquired or in process of
8014 being acquired BSS to the HW . Upon the call of this API
8015 the WLAN DAL will pack and send a HAL Config BSS request
8016 message to the lower RIVA sub-system if DAL is in state
8017 STARTED.
8018
8019 In state BUSY this request will be queued. Request won't
8020 be allowed in any other state.
8021
8022 WDI_JoinReq must have been called.
8023
8024 @param wdiConfigBSSParams: the config BSS parameters as
8025 specified by the Device Interface
8026
8027 wdiConfigBSSRspCb: callback for passing back the
8028 response of the config BSS operation received from the
8029 device
8030
8031 pUserData: user data will be passed back with the
8032 callback
8033
8034 @see WDI_JoinReq
8035 @return Result of the function call
8036*/
8037WDI_Status
8038WDI_ConfigBSSReq
8039(
8040 WDI_ConfigBSSReqParamsType* pwdiConfigBSSParams,
8041 WDI_ConfigBSSRspCb wdiConfigBSSRspCb,
8042 void* pUserData
8043);
8044
8045/**
8046 @brief WDI_DelBSSReq will be called when the upper MAC is
8047 dissasociating from the BSS and wishes to notify HW.
8048 Upon the call of this API the WLAN DAL will pack and
8049 send a HAL Del BSS request message to the lower RIVA
8050 sub-system if DAL is in state STARTED.
8051
8052 In state BUSY this request will be queued. Request won't
8053 be allowed in any other state.
8054
8055 WDI_ConfigBSSReq or WDI_PostAssocReq must have been called.
8056
8057 @param wdiDelBSSParams: the del BSS parameters as specified by
8058 the Device Interface
8059
8060 wdiDelBSSRspCb: callback for passing back the response
8061 of the del bss operation received from the device
8062
8063 pUserData: user data will be passed back with the
8064 callback
8065
8066 @see WDI_ConfigBSSReq, WDI_PostAssocReq
8067 @return Result of the function call
8068*/
8069WDI_Status
8070WDI_DelBSSReq
8071(
8072 WDI_DelBSSReqParamsType* pwdiDelBSSParams,
8073 WDI_DelBSSRspCb wdiDelBSSRspCb,
8074 void* pUserData
8075);
8076
8077/**
8078 @brief WDI_PostAssocReq will be called when the upper MAC has
8079 associated to a BSS and wishes to configure HW for
8080 associated state. Upon the call of this API the WLAN DAL
8081 will pack and send a HAL Post Assoc request message to
8082 the lower RIVA sub-system if DAL is in state STARTED.
8083
8084 In state BUSY this request will be queued. Request won't
8085 be allowed in any other state.
8086
8087 WDI_JoinReq must have been called.
8088
8089 @param wdiPostAssocReqParams: the assoc parameters as specified
8090 by the Device Interface
8091
8092 wdiPostAssocRspCb: callback for passing back the
8093 response of the post assoc operation received from the
8094 device
8095
8096 pUserData: user data will be passed back with the
8097 callback
8098
8099 @see WDI_JoinReq
8100 @return Result of the function call
8101*/
8102WDI_Status
8103WDI_PostAssocReq
8104(
8105 WDI_PostAssocReqParamsType* pwdiPostAssocReqParams,
8106 WDI_PostAssocRspCb wdiPostAssocRspCb,
8107 void* pUserData
8108);
8109
8110/**
8111 @brief WDI_DelSTAReq will be called when the upper MAC when an
8112 association with another STA has ended and the station
8113 must be deleted from HW. Upon the call of this API the
8114 WLAN DAL will pack and send a HAL Del STA request
8115 message to the lower RIVA sub-system if DAL is in state
8116 STARTED.
8117
8118 In state BUSY this request will be queued. Request won't
8119 be allowed in any other state.
8120
8121 WDI_PostAssocReq must have been called.
8122
8123 @param wdiDelSTAParams: the Del STA parameters as specified by
8124 the Device Interface
8125
8126 wdiDelSTARspCb: callback for passing back the response
8127 of the del STA operation received from the device
8128
8129 pUserData: user data will be passed back with the
8130 callback
8131
8132 @see WDI_PostAssocReq
8133 @return Result of the function call
8134*/
8135WDI_Status
8136WDI_DelSTAReq
8137(
8138 WDI_DelSTAReqParamsType* pwdiDelSTAParams,
8139 WDI_DelSTARspCb wdiDelSTARspCb,
8140 void* pUserData
8141);
8142
8143/*========================================================================
8144
8145 SECURITY APIs
8146
8147==========================================================================*/
8148
8149/**
8150 @brief WDI_SetBSSKeyReq will be called when the upper MAC ito
8151 install a BSS encryption key on the HW. Upon the call of
8152 this API the WLAN DAL will pack and send a HAL Start
8153 request message to the lower RIVA sub-system if DAL is
8154 in state STARTED.
8155
8156 In state BUSY this request will be queued. Request won't
8157 be allowed in any other state.
8158
8159 WDI_PostAssocReq must have been called.
8160
8161 @param wdiSetBSSKeyParams: the BSS Key set parameters as
8162 specified by the Device Interface
8163
8164 wdiSetBSSKeyRspCb: callback for passing back the
8165 response of the set BSS Key operation received from the
8166 device
8167
8168 pUserData: user data will be passed back with the
8169 callback
8170
8171 @see WDI_PostAssocReq
8172 @return Result of the function call
8173*/
8174WDI_Status
8175WDI_SetBSSKeyReq
8176(
8177 WDI_SetBSSKeyReqParamsType* pwdiSetBSSKeyParams,
8178 WDI_SetBSSKeyRspCb wdiSetBSSKeyRspCb,
8179 void* pUserData
8180);
8181
8182
8183/**
8184 @brief WDI_RemoveBSSKeyReq will be called when the upper MAC to
8185 uninstall a BSS key from HW. Upon the call of this API
8186 the WLAN DAL will pack and send a HAL Remove BSS Key
8187 request message to the lower RIVA sub-system if DAL is
8188 in state STARTED.
8189
8190 In state BUSY this request will be queued. Request won't
8191 be allowed in any other state.
8192
8193 WDI_SetBSSKeyReq must have been called.
8194
8195 @param wdiRemoveBSSKeyParams: the remove BSS key parameters as
8196 specified by the Device Interface
8197
8198 wdiRemoveBSSKeyRspCb: callback for passing back the
8199 response of the remove BSS key operation received from
8200 the device
8201
8202 pUserData: user data will be passed back with the
8203 callback
8204
8205 @see WDI_SetBSSKeyReq
8206 @return Result of the function call
8207*/
8208WDI_Status
8209WDI_RemoveBSSKeyReq
8210(
8211 WDI_RemoveBSSKeyReqParamsType* pwdiRemoveBSSKeyParams,
8212 WDI_RemoveBSSKeyRspCb wdiRemoveBSSKeyRspCb,
8213 void* pUserData
8214);
8215
8216
8217/**
8218 @brief WDI_SetSTAKeyReq will be called when the upper MAC is
8219 ready to install a STA(ast) encryption key in HW. Upon
8220 the call of this API the WLAN DAL will pack and send a
8221 HAL Set STA Key request message to the lower RIVA
8222 sub-system if DAL is in state STARTED.
8223
8224 In state BUSY this request will be queued. Request won't
8225 be allowed in any other state.
8226
8227 WDI_PostAssocReq must have been called.
8228
8229 @param wdiSetSTAKeyParams: the set STA key parameters as
8230 specified by the Device Interface
8231
8232 wdiSetSTAKeyRspCb: callback for passing back the
8233 response of the set STA key operation received from the
8234 device
8235
8236 pUserData: user data will be passed back with the
8237 callback
8238
8239 @see WDI_PostAssocReq
8240 @return Result of the function call
8241*/
8242WDI_Status
8243WDI_SetSTAKeyReq
8244(
8245 WDI_SetSTAKeyReqParamsType* pwdiSetSTAKeyParams,
8246 WDI_SetSTAKeyRspCb wdiSetSTAKeyRspCb,
8247 void* pUserData
8248);
8249
8250
8251/**
8252 @brief WDI_RemoveSTAKeyReq will be called when the upper MAC
8253 wants to unistall a previously set STA key in HW. Upon
8254 the call of this API the WLAN DAL will pack and send a
8255 HAL Remove STA Key request message to the lower RIVA
8256 sub-system if DAL is in state STARTED.
8257
8258 In state BUSY this request will be queued. Request won't
8259 be allowed in any other state.
8260
8261 WDI_SetSTAKeyReq must have been called.
8262
8263 @param wdiRemoveSTAKeyParams: the remove STA key parameters as
8264 specified by the Device Interface
8265
8266 wdiRemoveSTAKeyRspCb: callback for passing back the
8267 response of the remove STA key operation received from
8268 the device
8269
8270 pUserData: user data will be passed back with the
8271 callback
8272
8273 @see WDI_SetSTAKeyReq
8274 @return Result of the function call
8275*/
8276WDI_Status
8277WDI_RemoveSTAKeyReq
8278(
8279 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTAKeyParams,
8280 WDI_RemoveSTAKeyRspCb wdiRemoveSTAKeyRspCb,
8281 void* pUserData
8282);
8283
8284/**
8285 @brief WDI_SetSTABcastKeyReq will be called when the upper MAC
8286 wants to install a STA Bcast encryption key on the HW.
8287 Upon the call of this API the WLAN DAL will pack and
8288 send a HAL Start request message to the lower RIVA
8289 sub-system if DAL is in state STARTED.
8290
8291 In state BUSY this request will be queued. Request won't
8292 be allowed in any other state.
8293
8294 WDI_PostAssocReq must have been called.
8295
8296 @param pwdiSetSTABcastKeyParams: the BSS Key set parameters as
8297 specified by the Device Interface
8298
8299 wdiSetSTABcastKeyRspCb: callback for passing back the
8300 response of the set BSS Key operation received from the
8301 device
8302
8303 pUserData: user data will be passed back with the
8304 callback
8305
8306 @see WDI_PostAssocReq
8307 @return Result of the function call
8308*/
8309WDI_Status
8310WDI_SetSTABcastKeyReq
8311(
8312 WDI_SetSTAKeyReqParamsType* pwdiSetSTABcastKeyParams,
8313 WDI_SetSTAKeyRspCb wdiSetSTABcastKeyRspCb,
8314 void* pUserData
8315);
8316
8317
8318/**
8319 @brief WDI_RemoveSTABcastKeyReq will be called when the upper
8320 MAC to uninstall a STA Bcast key from HW. Upon the call
8321 of this API the WLAN DAL will pack and send a HAL Remove
8322 STA Bcast Key request message to the lower RIVA
8323 sub-system if DAL is in state STARTED.
8324
8325 In state BUSY this request will be queued. Request won't
8326 be allowed in any other state.
8327
8328 WDI_SetSTABcastKeyReq must have been called.
8329
8330 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
8331 parameters as specified by the Device
8332 Interface
8333
8334 wdiRemoveSTABcastKeyRspCb: callback for passing back the
8335 response of the remove STA Bcast key operation received
8336 from the device
8337
8338 pUserData: user data will be passed back with the
8339 callback
8340
8341 @see WDI_SetSTABcastKeyReq
8342 @return Result of the function call
8343*/
8344WDI_Status
8345WDI_RemoveSTABcastKeyReq
8346(
8347 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTABcastKeyParams,
8348 WDI_RemoveSTAKeyRspCb wdiRemoveSTABcastKeyRspCb,
8349 void* pUserData
8350);
8351
schang86c22c42013-03-13 18:41:24 -07008352
8353/**
8354 @brief WDI_SetTxPowerReq will be called when the upper
8355 MAC wants to set Tx Power to HW.
8356 In state BUSY this request will be queued. Request won't
8357 be allowed in any other state.
8358
8359
8360 @param pwdiSetTxPowerParams: set TS Power parameters
8361 BSSID and target TX Power with dbm included
8362
8363 wdiReqStatusCb: callback for passing back the response
8364
8365 pUserData: user data will be passed back with the
8366 callback
8367
8368 @return Result of the function call
8369*/
8370WDI_Status
8371WDI_SetTxPowerReq
8372(
8373 WDI_SetTxPowerParamsType* pwdiSetTxPowerParams,
8374 WDA_SetTxPowerRspCb wdiReqStatusCb,
8375 void* pUserData
8376);
8377
Jeff Johnson295189b2012-06-20 16:38:30 -07008378/**
8379 @brief WDI_SetMaxTxPowerReq will be called when the upper
8380 MAC wants to set Max Tx Power to HW. Upon the
8381 call of this API the WLAN DAL will pack and send a HAL
8382 Remove STA Bcast Key request message to the lower RIVA
8383 sub-system if DAL is in state STARTED.
8384
8385 In state BUSY this request will be queued. Request won't
8386 be allowed in any other state.
8387
8388 WDI_SetSTABcastKeyReq must have been called.
8389
8390 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
8391 parameters as specified by the Device
8392 Interface
8393
8394 wdiRemoveSTABcastKeyRspCb: callback for passing back the
8395 response of the remove STA Bcast key operation received
8396 from the device
8397
8398 pUserData: user data will be passed back with the
8399 callback
8400
8401 @see WDI_SetMaxTxPowerReq
8402 @return Result of the function call
8403*/
8404WDI_Status
8405WDI_SetMaxTxPowerReq
8406(
8407 WDI_SetMaxTxPowerParamsType* pwdiSetMaxTxPowerParams,
8408 WDA_SetMaxTxPowerRspCb wdiReqStatusCb,
8409 void* pUserData
8410);
8411
Arif Hussaina5ebce02013-08-09 15:09:58 -07008412/**
8413 @brief WDI_SetMaxTxPowerPerBandReq will be called when the upper
8414 MAC wants to set Max Tx Power to HW for specific band. Upon the
8415 call of this API the WLAN DAL will pack and send a HAL
8416 Set Max Tx Power Per Band request message to the lower RIVA
8417 sub-system if DAL is in state STARTED.
8418
8419 In state BUSY this request will be queued. Request won't
8420 be allowed in any other state.
8421
8422
8423 @param WDI_SetMaxTxPowerPerBandParamsType: Max Tx Per Band Info
8424
8425 WDA_SetMaxTxPowerPerBandRspCb: This callback is invoked by DAL
8426 when it has received a set max Tx Power Per Band response from
8427 the underlying device.
8428
8429 pUserData: user data will be passed back with the
8430 callback
8431
8432 @see WDI_SetMaxTxPowerPerBandReq
8433 @return Result of the function call
8434*/
8435WDI_Status
8436WDI_SetMaxTxPowerPerBandReq
8437(
8438 WDI_SetMaxTxPowerPerBandParamsType* pwdiSetMaxTxPowerPerBandParams,
8439 WDA_SetMaxTxPowerPerBandRspCb wdiReqStatusCb,
8440 void* pUserData
8441);
8442
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08008443#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07008444/**
8445 @brief WDI_TSMStatsReq will be called by the upper MAC to fetch
8446 Traffic Stream metrics.
8447 In state BUSY this request will be queued. Request won't
8448 be allowed in any other state.
8449
8450 @param wdiAddTsReqParams: the add TS parameters as specified by
8451 the Device Interface
8452
8453 wdiAddTsRspCb: callback for passing back the response of
8454 the add TS operation received from the device
8455
8456 pUserData: user data will be passed back with the
8457 callback
8458
8459 @see WDI_PostAssocReq
8460 @return Result of the function call
8461*/
8462WDI_Status
8463WDI_TSMStatsReq
8464(
8465 WDI_TSMStatsReqParamsType* pwdiTsmStatsReqParams,
8466 WDI_TsmRspCb wdiTsmStatsRspCb,
8467 void* pUserData
8468);
8469
8470
8471#endif
8472
8473/*========================================================================
8474
8475 QoS and BA APIs
8476
8477==========================================================================*/
8478
8479/**
8480 @brief WDI_AddTSReq will be called when the upper MAC to inform
8481 the device of a successful add TSpec negotiation. HW
8482 needs to receive the TSpec Info from the UMAC in order
8483 to configure properly the QoS data traffic. Upon the
8484 call of this API the WLAN DAL will pack and send a HAL
8485 Add TS request message to the lower RIVA sub-system if
8486 DAL is in state STARTED.
8487
8488 In state BUSY this request will be queued. Request won't
8489 be allowed in any other state.
8490
8491 WDI_PostAssocReq must have been called.
8492
8493 @param wdiAddTsReqParams: the add TS parameters as specified by
8494 the Device Interface
8495
8496 wdiAddTsRspCb: callback for passing back the response of
8497 the add TS operation received from the device
8498
8499 pUserData: user data will be passed back with the
8500 callback
8501
8502 @see WDI_PostAssocReq
8503 @return Result of the function call
8504*/
8505WDI_Status
8506WDI_AddTSReq
8507(
8508 WDI_AddTSReqParamsType* pwdiAddTsReqParams,
8509 WDI_AddTsRspCb wdiAddTsRspCb,
8510 void* pUserData
8511);
8512
8513
8514
8515/**
8516 @brief WDI_DelTSReq will be called when the upper MAC has ended
8517 admission on a specific AC. This is to inform HW that
8518 QoS traffic parameters must be rest. Upon the call of
8519 this API the WLAN DAL will pack and send a HAL Del TS
8520 request message to the lower RIVA sub-system if DAL is
8521 in state STARTED.
8522
8523 In state BUSY this request will be queued. Request won't
8524 be allowed in any other state.
8525
8526 WDI_AddTSReq must have been called.
8527
8528 @param wdiDelTsReqParams: the del TS parameters as specified by
8529 the Device Interface
8530
8531 wdiDelTsRspCb: callback for passing back the response of
8532 the del TS operation received from the device
8533
8534 pUserData: user data will be passed back with the
8535 callback
8536
8537 @see WDI_AddTSReq
8538 @return Result of the function call
8539*/
8540WDI_Status
8541WDI_DelTSReq
8542(
8543 WDI_DelTSReqParamsType* pwdiDelTsReqParams,
8544 WDI_DelTsRspCb wdiDelTsRspCb,
8545 void* pUserData
8546);
8547
8548
8549
8550/**
8551 @brief WDI_UpdateEDCAParams will be called when the upper MAC
8552 wishes to update the EDCA parameters used by HW for QoS
8553 data traffic. Upon the call of this API the WLAN DAL
8554 will pack and send a HAL Update EDCA Params request
8555 message to the lower RIVA sub-system if DAL is in state
8556 STARTED.
8557
8558 In state BUSY this request will be queued. Request won't
8559 be allowed in any other state.
8560
8561 WDI_PostAssocReq must have been called.
8562
8563 @param wdiUpdateEDCAParams: the start parameters as specified
8564 by the Device Interface
8565
8566 wdiUpdateEDCAParamsRspCb: callback for passing back the
8567 response of the start operation received from the device
8568
8569 pUserData: user data will be passed back with the
8570 callback
8571
8572 @see WDI_PostAssocReq
8573 @return Result of the function call
8574*/
8575WDI_Status
8576WDI_UpdateEDCAParams
8577(
8578 WDI_UpdateEDCAParamsType* pwdiUpdateEDCAParams,
8579 WDI_UpdateEDCAParamsRspCb wdiUpdateEDCAParamsRspCb,
8580 void* pUserData
8581);
8582
8583
8584
8585/**
8586 @brief WDI_AddBASessionReq will be called when the upper MAC has setup
8587 successfully a BA session and needs to notify the HW for
8588 the appropriate settings to take place. Upon the call of
8589 this API the WLAN DAL will pack and send a HAL Add BA
8590 request message to the lower RIVA sub-system if DAL is
8591 in state STARTED.
8592
8593 In state BUSY this request will be queued. Request won't
8594 be allowed in any other state.
8595
8596 WDI_PostAssocReq must have been called.
8597
8598 @param wdiAddBAReqParams: the add BA parameters as specified by
8599 the Device Interface
8600
8601 wdiAddBARspCb: callback for passing back the response of
8602 the add BA operation received from the device
8603
8604 pUserData: user data will be passed back with the
8605 callback
8606
8607 @see WDI_PostAssocReq
8608 @return Result of the function call
8609*/
8610WDI_Status
8611WDI_AddBASessionReq
8612(
8613 WDI_AddBASessionReqParamsType* pwdiAddBASessionReqParams,
8614 WDI_AddBASessionRspCb wdiAddBASessionRspCb,
8615 void* pUserData
8616);
8617
8618
8619/**
8620 @brief WDI_DelBAReq will be called when the upper MAC wants to
8621 inform HW that it has deleted a previously created BA
8622 session. Upon the call of this API the WLAN DAL will
8623 pack and send a HAL Del BA request message to the lower
8624 RIVA sub-system if DAL is in state STARTED.
8625
8626 In state BUSY this request will be queued. Request won't
8627 be allowed in any other state.
8628
8629 WDI_AddBAReq must have been called.
8630
8631 @param wdiDelBAReqParams: the del BA parameters as specified by
8632 the Device Interface
8633
8634 wdiDelBARspCb: callback for passing back the response of
8635 the del BA operation received from the device
8636
8637 pUserData: user data will be passed back with the
8638 callback
8639
8640 @see WDI_AddBAReq
8641 @return Result of the function call
8642*/
8643WDI_Status
8644WDI_DelBAReq
8645(
8646 WDI_DelBAReqParamsType* pwdiDelBAReqParams,
8647 WDI_DelBARspCb wdiDelBARspCb,
8648 void* pUserData
8649);
8650
8651/**
8652 @brief WDI_UpdateBeaconParamsReq will be called when the upper MAC wants to
8653 inform HW that there is a change in the beacon parameters
8654 Upon the call of this API the WLAN DAL will
8655 pack and send a UpdateBeacon Params message to the lower
8656 RIVA sub-system if DAL is in state STARTED.
8657
8658 In state BUSY this request will be queued. Request won't
8659 be allowed in any other state.
8660
8661 WDI_UpdateBeaconParamsReq must have been called.
8662
8663 @param WDI_UpdateBeaconParamsType: the Update Beacon parameters as specified by
8664 the Device Interface
8665
8666 WDI_UpdateBeaconParamsRspCb: callback for passing back the response of
8667 the Update Beacon Params operation received from the device
8668
8669 pUserData: user data will be passed back with the
8670 callback
8671
8672 @see WDI_AddBAReq
8673 @return Result of the function call
8674*/
8675
8676WDI_Status
8677WDI_UpdateBeaconParamsReq
8678(
8679 WDI_UpdateBeaconParamsType * pwdiUpdateBeaconParams,
8680 WDI_UpdateBeaconParamsRspCb wdiUpdateBeaconParamsRspCb,
8681 void* pUserData
8682);
8683
8684
8685/**
8686 @brief WDI_SendBeaconParamsReq will be called when the upper MAC wants to
8687 update the beacon template to be transmitted as BT MAP STA/IBSS/Soft AP
8688 Upon the call of this API the WLAN DAL will
8689 pack and send the beacon Template message to the lower
8690 RIVA sub-system if DAL is in state STARTED.
8691
8692 In state BUSY this request will be queued. Request won't
8693 be allowed in any other state.
8694
8695 WDI_SendBeaconParamsReq must have been called.
8696
8697 @param WDI_SendBeaconParamsType: the Update Beacon parameters as specified by
8698 the Device Interface
8699
8700 WDI_SendBeaconParamsRspCb: callback for passing back the response of
8701 the Send Beacon Params operation received from the device
8702
8703 pUserData: user data will be passed back with the
8704 callback
8705
8706 @see WDI_AddBAReq
8707 @return Result of the function call
8708*/
8709
8710WDI_Status
8711WDI_SendBeaconParamsReq
8712(
8713 WDI_SendBeaconParamsType* pwdiSendBeaconParams,
8714 WDI_SendBeaconParamsRspCb wdiSendBeaconParamsRspCb,
8715 void* pUserData
8716);
8717
8718
8719/**
8720 @brief WDI_UpdateProbeRspTemplateReq will be called when the
8721 upper MAC wants to update the probe response template to
8722 be transmitted as Soft AP
8723 Upon the call of this API the WLAN DAL will
8724 pack and send the probe rsp template message to the
8725 lower RIVA sub-system if DAL is in state STARTED.
8726
8727 In state BUSY this request will be queued. Request won't
8728 be allowed in any other state.
8729
8730
8731 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
8732 specified by the Device Interface
8733
8734 wdiSendBeaconParamsRspCb: callback for passing back the
8735 response of the Send Beacon Params operation received
8736 from the device
8737
8738 pUserData: user data will be passed back with the
8739 callback
8740
8741 @see WDI_AddBAReq
8742 @return Result of the function call
8743*/
8744
8745WDI_Status
8746WDI_UpdateProbeRspTemplateReq
8747(
8748 WDI_UpdateProbeRspTemplateParamsType* pwdiUpdateProbeRspParams,
8749 WDI_UpdateProbeRspTemplateRspCb wdiSendBeaconParamsRspCb,
8750 void* pUserData
8751);
8752
Jeff Johnson295189b2012-06-20 16:38:30 -07008753/**
8754 @brief WDI_SetP2PGONOAReq will be called when the
8755 upper MAC wants to send Notice of Absence
8756 Upon the call of this API the WLAN DAL will
8757 pack and send the probe rsp template message to the
8758 lower RIVA sub-system if DAL is in state STARTED.
8759
8760 In state BUSY this request will be queued. Request won't
8761 be allowed in any other state.
8762
8763
8764 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
8765 specified by the Device Interface
8766
8767 wdiSendBeaconParamsRspCb: callback for passing back the
8768 response of the Send Beacon Params operation received
8769 from the device
8770
8771 pUserData: user data will be passed back with the
8772 callback
8773
8774 @see WDI_AddBAReq
8775 @return Result of the function call
8776*/
8777WDI_Status
8778WDI_SetP2PGONOAReq
8779(
8780 WDI_SetP2PGONOAReqParamsType* pwdiP2PGONOAReqParams,
8781 WDI_SetP2PGONOAReqParamsRspCb wdiP2PGONOAReqParamsRspCb,
8782 void* pUserData
8783);
Jeff Johnson295189b2012-06-20 16:38:30 -07008784
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05308785/**
8786 @brief WDI_SetTDLSLinkEstablishReq will be called when the
8787 upper MAC wants to send TDLS Link Establish Request Parameters
8788 Upon the call of this API the WLAN DAL will
8789 pack and send the TDLS Link Establish Request message to the
8790 lower RIVA sub-system if DAL is in state STARTED.
8791
8792 In state BUSY this request will be queued. Request won't
8793 be allowed in any other state.
8794
8795
8796 @param pwdiTDLSLinkEstablishReqParams: TDLS Peer Parameters
8797 for Link Establishment (Used for PUAPSD , TDLS Off Channel ...)
8798
8799 wdiTDLSLinkEstablishReqRspCb: callback for passing back the
8800 response of the TDLS Link Establish request received
8801 from the device
8802
8803 pUserData: user data will be passed back with the
8804 callback
8805
8806 @see
8807 @return Result of the function call
8808*/
8809WDI_Status
8810WDI_SetTDLSLinkEstablishReq
8811(
8812 WDI_SetTDLSLinkEstablishReqParamsType* pwdiTDLSLinkEstablishReqParams,
8813 WDI_SetTDLSLinkEstablishReqParamsRspCb wdiTDLSLinkEstablishReqRspCb,
8814 void* pUserData
8815);
Jeff Johnson295189b2012-06-20 16:38:30 -07008816
8817/*========================================================================
8818
8819 Power Save APIs
8820
8821==========================================================================*/
8822
8823/**
8824 @brief WDI_SetPwrSaveCfgReq will be called when the upper MAC
8825 wants to set the power save related configurations of
8826 the WLAN Device. Upon the call of this API the WLAN DAL
8827 will pack and send a HAL Update CFG request message to
8828 the lower RIVA sub-system if DAL is in state STARTED.
8829
8830 In state BUSY this request will be queued. Request won't
8831 be allowed in any other state.
8832
8833 WDI_Start must have been called.
8834
8835 @param pwdiPowerSaveCfg: the power save cfg parameters as
8836 specified by the Device Interface
8837
8838 wdiSetPwrSaveCfgCb: callback for passing back the
8839 response of the set power save cfg operation received
8840 from the device
8841
8842 pUserData: user data will be passed back with the
8843 callback
8844
8845 @see WDI_Start
8846 @return Result of the function call
8847*/
8848WDI_Status
8849WDI_SetPwrSaveCfgReq
8850(
8851 WDI_UpdateCfgReqParamsType* pwdiPowerSaveCfg,
8852 WDI_SetPwrSaveCfgCb wdiSetPwrSaveCfgCb,
8853 void* pUserData
8854);
8855
8856/**
8857 @brief WDI_EnterImpsReq will be called when the upper MAC to
8858 request the device to get into IMPS power state. Upon
8859 the call of this API the WLAN DAL will send a HAL Enter
8860 IMPS request message to the lower RIVA sub-system if DAL
8861 is in state STARTED.
8862
8863 In state BUSY this request will be queued. Request won't
8864 be allowed in any other state.
8865
8866
8867 @param wdiEnterImpsRspCb: callback for passing back the
8868 response of the Enter IMPS operation received from the
8869 device
8870
8871 pUserData: user data will be passed back with the
8872 callback
8873
8874 @see WDI_Start
8875 @return Result of the function call
8876*/
8877WDI_Status
8878WDI_EnterImpsReq
8879(
Mihir Shetea4306052014-03-25 00:02:54 +05308880 WDI_EnterImpsReqParamsType *pwdiEnterImpsReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07008881 WDI_EnterImpsRspCb wdiEnterImpsRspCb,
8882 void* pUserData
8883);
8884
8885/**
8886 @brief WDI_ExitImpsReq will be called when the upper MAC to
8887 request the device to get out of IMPS power state. Upon
8888 the call of this API the WLAN DAL will send a HAL Exit
8889 IMPS request message to the lower RIVA sub-system if DAL
8890 is in state STARTED.
8891
8892 In state BUSY this request will be queued. Request won't
8893 be allowed in any other state.
8894
8895
8896
8897 @param wdiExitImpsRspCb: callback for passing back the response
8898 of the Exit IMPS operation received from the device
8899
8900 pUserData: user data will be passed back with the
8901 callback
8902
8903 @see WDI_Start
8904 @return Result of the function call
8905*/
8906WDI_Status
8907WDI_ExitImpsReq
8908(
8909 WDI_ExitImpsRspCb wdiExitImpsRspCb,
8910 void* pUserData
8911);
8912
8913/**
8914 @brief WDI_EnterBmpsReq will be called when the upper MAC to
8915 request the device to get into BMPS power state. Upon
8916 the call of this API the WLAN DAL will pack and send a
8917 HAL Enter BMPS request message to the lower RIVA
8918 sub-system if DAL is in state STARTED.
8919
8920 In state BUSY this request will be queued. Request won't
8921 be allowed in any other state.
8922
8923 WDI_PostAssocReq must have been called.
8924
8925 @param pwdiEnterBmpsReqParams: the Enter BMPS parameters as
8926 specified by the Device Interface
8927
8928 wdiEnterBmpsRspCb: callback for passing back the
8929 response of the Enter BMPS operation received from the
8930 device
8931
8932 pUserData: user data will be passed back with the
8933 callback
8934
8935 @see WDI_PostAssocReq
8936 @return Result of the function call
8937*/
8938WDI_Status
8939WDI_EnterBmpsReq
8940(
8941 WDI_EnterBmpsReqParamsType *pwdiEnterBmpsReqParams,
8942 WDI_EnterBmpsRspCb wdiEnterBmpsRspCb,
8943 void* pUserData
8944);
8945
8946/**
8947 @brief WDI_ExitBmpsReq will be called when the upper MAC to
8948 request the device to get out of BMPS power state. Upon
8949 the call of this API the WLAN DAL will pack and send a
8950 HAL Exit BMPS request message to the lower RIVA
8951 sub-system if DAL is in state STARTED.
8952
8953 In state BUSY this request will be queued. Request won't
8954 be allowed in any other state.
8955
8956 WDI_PostAssocReq must have been called.
8957
8958 @param pwdiExitBmpsReqParams: the Exit BMPS parameters as
8959 specified by the Device Interface
8960
8961 wdiExitBmpsRspCb: callback for passing back the response
8962 of the Exit BMPS operation received from the device
8963
8964 pUserData: user data will be passed back with the
8965 callback
8966
8967 @see WDI_PostAssocReq
8968 @return Result of the function call
8969*/
8970WDI_Status
8971WDI_ExitBmpsReq
8972(
8973 WDI_ExitBmpsReqParamsType *pwdiExitBmpsReqParams,
8974 WDI_ExitBmpsRspCb wdiExitBmpsRspCb,
8975 void* pUserData
8976);
8977
8978/**
8979 @brief WDI_EnterUapsdReq will be called when the upper MAC to
8980 request the device to get into UAPSD power state. Upon
8981 the call of this API the WLAN DAL will pack and send a
8982 HAL Enter UAPSD request message to the lower RIVA
8983 sub-system if DAL is in state STARTED.
8984
8985 In state BUSY this request will be queued. Request won't
8986 be allowed in any other state.
8987
8988 WDI_PostAssocReq must have been called.
8989 WDI_SetUapsdAcParamsReq must have been called.
8990
8991 @param pwdiEnterUapsdReqParams: the Enter UAPSD parameters as
8992 specified by the Device Interface
8993
8994 wdiEnterUapsdRspCb: callback for passing back the
8995 response of the Enter UAPSD operation received from the
8996 device
8997
8998 pUserData: user data will be passed back with the
8999 callback
9000
9001 @see WDI_PostAssocReq, WDI_SetUapsdAcParamsReq
9002 @return Result of the function call
9003*/
9004WDI_Status
9005WDI_EnterUapsdReq
9006(
9007 WDI_EnterUapsdReqParamsType *pwdiEnterUapsdReqParams,
9008 WDI_EnterUapsdRspCb wdiEnterUapsdRspCb,
9009 void* pUserData
9010);
9011
9012/**
9013 @brief WDI_ExitUapsdReq will be called when the upper MAC to
9014 request the device to get out of UAPSD power state. Upon
9015 the call of this API the WLAN DAL will send a HAL Exit
9016 UAPSD request message to the lower RIVA sub-system if
9017 DAL is in state STARTED.
9018
9019 In state BUSY this request will be queued. Request won't
9020 be allowed in any other state.
9021
9022 WDI_PostAssocReq must have been called.
9023
9024 @param wdiExitUapsdRspCb: callback for passing back the
9025 response of the Exit UAPSD operation received from the
9026 device
9027
9028 pUserData: user data will be passed back with the
9029 callback
9030
9031 @see WDI_PostAssocReq
9032 @return Result of the function call
9033*/
9034WDI_Status
9035WDI_ExitUapsdReq
9036(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07009037 WDI_ExitUapsdReqParamsType *pwdiExitUapsdReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009038 WDI_ExitUapsdRspCb wdiExitUapsdRspCb,
9039 void* pUserData
9040);
9041
9042/**
9043 @brief WDI_UpdateUapsdParamsReq will be called when the upper
9044 MAC wants to set the UAPSD related configurations
9045 of an associated STA (while acting as an AP) to the WLAN
9046 Device. Upon the call of this API the WLAN DAL will pack
9047 and send a HAL Update UAPSD params request message to
9048 the lower RIVA sub-system if DAL is in state STARTED.
9049
9050 In state BUSY this request will be queued. Request won't
9051 be allowed in any other state.
9052
9053 WDI_ConfigBSSReq must have been called.
9054
9055 @param pwdiUpdateUapsdReqParams: the UAPSD parameters
9056 as specified by the Device Interface
9057
9058 wdiUpdateUapsdParamsCb: callback for passing back the
9059 response of the update UAPSD params operation received
9060 from the device
9061
9062 pUserData: user data will be passed back with the
9063 callback
9064
9065 @see WDI_ConfigBSSReq
9066 @return Result of the function call
9067*/
9068WDI_Status
9069WDI_UpdateUapsdParamsReq
9070(
9071 WDI_UpdateUapsdReqParamsType *pwdiUpdateUapsdReqParams,
9072 WDI_UpdateUapsdParamsCb wdiUpdateUapsdParamsCb,
9073 void* pUserData
9074);
9075
9076/**
9077 @brief WDI_SetUapsdAcParamsReq will be called when the upper
9078 MAC wants to set the UAPSD related configurations before
9079 requesting for enter UAPSD power state to the WLAN
9080 Device. Upon the call of this API the WLAN DAL will pack
9081 and send a HAL Set UAPSD params request message to
9082 the lower RIVA sub-system if DAL is in state STARTED.
9083
9084 In state BUSY this request will be queued. Request won't
9085 be allowed in any other state.
9086
9087 WDI_PostAssocReq must have been called.
9088
9089 @param pwdiUapsdInfo: the UAPSD parameters as specified by
9090 the Device Interface
9091
9092 wdiSetUapsdAcParamsCb: callback for passing back the
9093 response of the set UAPSD params operation received from
9094 the device
9095
9096 pUserData: user data will be passed back with the
9097 callback
9098
9099 @see WDI_PostAssocReq
9100 @return Result of the function call
9101*/
9102WDI_Status
9103WDI_SetUapsdAcParamsReq
9104(
9105 WDI_SetUapsdAcParamsReqParamsType* pwdiPowerSaveCfg,
9106 WDI_SetUapsdAcParamsCb wdiSetUapsdAcParamsCb,
9107 void* pUserData
9108);
9109
9110/**
9111 @brief WDI_ConfigureRxpFilterReq will be called when the upper
9112 MAC wants to set/reset the RXP filters for received pkts
9113 (MC, BC etc.). Upon the call of this API the WLAN DAL will pack
9114 and send a HAL configure RXP filter request message to
9115 the lower RIVA sub-system.
9116
9117 In state BUSY this request will be queued. Request won't
9118 be allowed in any other state.
9119
9120
9121 @param pwdiConfigureRxpFilterReqParams: the RXP
9122 filter as specified by the Device
9123 Interface
9124
9125 wdiConfigureRxpFilterCb: callback for passing back the
9126 response of the configure RXP filter operation received
9127 from the device
9128
9129 pUserData: user data will be passed back with the
9130 callback
9131
9132 @return Result of the function call
9133*/
9134WDI_Status
9135WDI_ConfigureRxpFilterReq
9136(
9137 WDI_ConfigureRxpFilterReqParamsType *pwdiConfigureRxpFilterReqParams,
9138 WDI_ConfigureRxpFilterCb wdiConfigureRxpFilterCb,
9139 void* pUserData
9140);
9141
9142/**
9143 @brief WDI_SetBeaconFilterReq will be called when the upper MAC
9144 wants to set the beacon filters while in power save.
9145 Upon the call of this API the WLAN DAL will pack and
9146 send a Beacon filter request message to the
9147 lower RIVA sub-system.
9148
9149 In state BUSY this request will be queued. Request won't
9150 be allowed in any other state.
9151
9152
9153 @param pwdiBeaconFilterReqParams: the beacon
9154 filter as specified by the Device
9155 Interface
9156
9157 wdiBeaconFilterCb: callback for passing back the
9158 response of the set beacon filter operation received
9159 from the device
9160
9161 pUserData: user data will be passed back with the
9162 callback
9163
9164 @return Result of the function call
9165*/
9166WDI_Status
9167WDI_SetBeaconFilterReq
9168(
9169 WDI_BeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
9170 WDI_SetBeaconFilterCb wdiBeaconFilterCb,
9171 void* pUserData
9172);
9173
9174/**
9175 @brief WDI_RemBeaconFilterReq will be called when the upper MAC
9176 wants to remove the beacon filter for perticular IE
9177 while in power save. Upon the call of this API the WLAN
9178 DAL will pack and send a remove Beacon filter request
9179 message to the lower RIVA sub-system.
9180
9181 In state BUSY this request will be queued. Request won't
9182 be allowed in any other state.
9183
9184
9185 @param pwdiBeaconFilterReqParams: the beacon
9186 filter as specified by the Device
9187 Interface
9188
9189 wdiBeaconFilterCb: callback for passing back the
9190 response of the remove beacon filter operation received
9191 from the device
9192
9193 pUserData: user data will be passed back with the
9194 callback
9195
9196 @return Result of the function call
9197*/
9198WDI_Status
9199WDI_RemBeaconFilterReq
9200(
9201 WDI_RemBeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
9202 WDI_RemBeaconFilterCb wdiBeaconFilterCb,
9203 void* pUserData
9204);
9205
9206/**
9207 @brief WDI_SetRSSIThresholdsReq will be called when the upper
9208 MAC wants to set the RSSI thresholds related
9209 configurations while in power save. Upon the call of
9210 this API the WLAN DAL will pack and send a HAL Set RSSI
9211 thresholds request message to the lower RIVA
9212 sub-system if DAL is in state STARTED.
9213
9214 In state BUSY this request will be queued. Request won't
9215 be allowed in any other state.
9216
9217 WDI_PostAssocReq must have been called.
9218
9219 @param pwdiUapsdInfo: the UAPSD parameters as specified by
9220 the Device Interface
9221
9222 wdiSetUapsdAcParamsCb: callback for passing back the
9223 response of the set UAPSD params operation received from
9224 the device
9225
9226 pUserData: user data will be passed back with the
9227 callback
9228
9229 @see WDI_PostAssocReq
9230 @return Result of the function call
9231*/
9232WDI_Status
9233WDI_SetRSSIThresholdsReq
9234(
9235 WDI_SetRSSIThresholdsReqParamsType* pwdiRSSIThresholdsParams,
9236 WDI_SetRSSIThresholdsCb wdiSetRSSIThresholdsCb,
9237 void* pUserData
9238);
9239
9240/**
9241 @brief WDI_HostOffloadReq will be called when the upper MAC
9242 wants to set the filter to minimize unnecessary host
9243 wakeup due to broadcast traffic while in power save.
9244 Upon the call of this API the WLAN DAL will pack and
9245 send a HAL host offload request message to the
9246 lower RIVA sub-system if DAL is in state STARTED.
9247
9248 In state BUSY this request will be queued. Request won't
9249 be allowed in any other state.
9250
9251 WDI_PostAssocReq must have been called.
9252
9253 @param pwdiHostOffloadParams: the host offload as specified
9254 by the Device Interface
9255
9256 wdiHostOffloadCb: callback for passing back the response
9257 of the host offload operation received from the
9258 device
9259
9260 pUserData: user data will be passed back with the
9261 callback
9262
9263 @see WDI_PostAssocReq
9264 @return Result of the function call
9265*/
9266WDI_Status
9267WDI_HostOffloadReq
9268(
9269 WDI_HostOffloadReqParamsType* pwdiHostOffloadParams,
9270 WDI_HostOffloadCb wdiHostOffloadCb,
9271 void* pUserData
9272);
9273
9274/**
9275 @brief WDI_KeepAliveReq will be called when the upper MAC
9276 wants to set the filter to send NULL or unsolicited ARP responses
9277 and minimize unnecessary host wakeups due to while in power save.
9278 Upon the call of this API the WLAN DAL will pack and
9279 send a HAL Keep Alive request message to the
9280 lower RIVA sub-system if DAL is in state STARTED.
9281
9282 In state BUSY this request will be queued. Request won't
9283 be allowed in any other state.
9284
9285 WDI_PostAssocReq must have been called.
9286
9287 @param pwdiKeepAliveParams: the Keep Alive as specified
9288 by the Device Interface
9289
9290 wdiKeepAliveCb: callback for passing back the response
9291 of the Keep Alive operation received from the
9292 device
9293
9294 pUserData: user data will be passed back with the
9295 callback
9296
9297 @see WDI_PostAssocReq
9298 @return Result of the function call
9299*/
9300WDI_Status
9301WDI_KeepAliveReq
9302(
9303 WDI_KeepAliveReqParamsType* pwdiKeepAliveParams,
9304 WDI_KeepAliveCb wdiKeepAliveCb,
9305 void* pUserData
9306);
9307
9308/**
9309 @brief WDI_WowlAddBcPtrnReq will be called when the upper MAC
9310 wants to set the Wowl Bcast ptrn to minimize unnecessary
9311 host wakeup due to broadcast traffic while in power
9312 save. Upon the call of this API the WLAN DAL will pack
9313 and send a HAL Wowl Bcast ptrn request message to the
9314 lower RIVA sub-system if DAL is in state STARTED.
9315
9316 In state BUSY this request will be queued. Request won't
9317 be allowed in any other state.
9318
9319 WDI_PostAssocReq must have been called.
9320
9321 @param pwdiWowlAddBcPtrnParams: the Wowl bcast ptrn as
9322 specified by the Device Interface
9323
9324 wdiWowlAddBcPtrnCb: callback for passing back the
9325 response of the add Wowl bcast ptrn operation received
9326 from the device
9327
9328 pUserData: user data will be passed back with the
9329 callback
9330
9331 @see WDI_PostAssocReq
9332 @return Result of the function call
9333*/
9334WDI_Status
9335WDI_WowlAddBcPtrnReq
9336(
9337 WDI_WowlAddBcPtrnReqParamsType* pwdiWowlAddBcPtrnParams,
9338 WDI_WowlAddBcPtrnCb wdiWowlAddBcPtrnCb,
9339 void* pUserData
9340);
9341
9342/**
9343 @brief WDI_WowlDelBcPtrnReq will be called when the upper MAC
9344 wants to clear the Wowl Bcast ptrn. Upon the call of
9345 this API the WLAN DAL will pack and send a HAL delete
9346 Wowl Bcast ptrn request message to the lower RIVA
9347 sub-system if DAL is in state STARTED.
9348
9349 In state BUSY this request will be queued. Request won't
9350 be allowed in any other state.
9351
9352 WDI_WowlAddBcPtrnReq must have been called.
9353
9354 @param pwdiWowlDelBcPtrnParams: the Wowl bcast ptrn as
9355 specified by the Device Interface
9356
9357 wdiWowlDelBcPtrnCb: callback for passing back the
9358 response of the del Wowl bcast ptrn operation received
9359 from the device
9360
9361 pUserData: user data will be passed back with the
9362 callback
9363
9364 @see WDI_WowlAddBcPtrnReq
9365 @return Result of the function call
9366*/
9367WDI_Status
9368WDI_WowlDelBcPtrnReq
9369(
9370 WDI_WowlDelBcPtrnReqParamsType* pwdiWowlDelBcPtrnParams,
9371 WDI_WowlDelBcPtrnCb wdiWowlDelBcPtrnCb,
9372 void* pUserData
9373);
9374
9375/**
9376 @brief WDI_WowlEnterReq will be called when the upper MAC
9377 wants to enter the Wowl state to minimize unnecessary
9378 host wakeup while in power save. Upon the call of this
9379 API the WLAN DAL will pack and send a HAL Wowl enter
9380 request message to the lower RIVA sub-system if DAL is
9381 in state STARTED.
9382
9383 In state BUSY this request will be queued. Request won't
9384 be allowed in any other state.
9385
9386 WDI_PostAssocReq must have been called.
9387
9388 @param pwdiWowlEnterReqParams: the Wowl enter info as
9389 specified by the Device Interface
9390
9391 wdiWowlEnterReqCb: callback for passing back the
9392 response of the enter Wowl operation received from the
9393 device
9394
9395 pUserData: user data will be passed back with the
9396 callback
9397
9398 @see WDI_PostAssocReq
9399 @return Result of the function call
9400*/
9401WDI_Status
9402WDI_WowlEnterReq
9403(
9404 WDI_WowlEnterReqParamsType* pwdiWowlEnterParams,
9405 WDI_WowlEnterReqCb wdiWowlEnterCb,
9406 void* pUserData
9407);
9408
9409/**
9410 @brief WDI_WowlExitReq will be called when the upper MAC
9411 wants to exit the Wowl state. Upon the call of this API
9412 the WLAN DAL will pack and send a HAL Wowl exit request
9413 message to the lower RIVA sub-system if DAL is in state
9414 STARTED.
9415
9416 In state BUSY this request will be queued. Request won't
9417 be allowed in any other state.
9418
9419 WDI_WowlEnterReq must have been called.
9420
9421 @param pwdiWowlExitReqParams: the Wowl exit info as
9422 specified by the Device Interface
9423
9424 wdiWowlExitReqCb: callback for passing back the response
9425 of the exit Wowl operation received from the device
9426
9427 pUserData: user data will be passed back with the
9428 callback
9429
9430 @see WDI_WowlEnterReq
9431 @return Result of the function call
9432*/
9433WDI_Status
9434WDI_WowlExitReq
9435(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07009436 WDI_WowlExitReqParamsType* pwdiWowlExitParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009437 WDI_WowlExitReqCb wdiWowlExitCb,
9438 void* pUserData
9439);
9440
9441/**
9442 @brief WDI_ConfigureAppsCpuWakeupStateReq will be called when
9443 the upper MAC wants to dynamically adjusts the listen
9444 interval based on the WLAN/MSM activity. Upon the call
9445 of this API the WLAN DAL will pack and send a HAL
9446 configure Apps Cpu Wakeup State request message to the
9447 lower RIVA sub-system.
9448
9449 In state BUSY this request will be queued. Request won't
9450 be allowed in any other state.
9451
9452
9453 @param pwdiConfigureAppsCpuWakeupStateReqParams: the
9454 Apps Cpu Wakeup State as specified by the
9455 Device Interface
9456
9457 wdiConfigureAppsCpuWakeupStateCb: callback for passing
9458 back the response of the configure Apps Cpu Wakeup State
9459 operation received from the device
9460
9461 pUserData: user data will be passed back with the
9462 callback
9463
9464 @return Result of the function call
9465*/
9466WDI_Status
9467WDI_ConfigureAppsCpuWakeupStateReq
9468(
9469 WDI_ConfigureAppsCpuWakeupStateReqParamsType *pwdiConfigureAppsCpuWakeupStateReqParams,
9470 WDI_ConfigureAppsCpuWakeupStateCb wdiConfigureAppsCpuWakeupStateCb,
9471 void* pUserData
9472);
9473/**
9474 @brief WDI_FlushAcReq will be called when the upper MAC wants
9475 to to perform a flush operation on a given AC. Upon the
9476 call of this API the WLAN DAL will pack and send a HAL
9477 Flush AC request message to the lower RIVA sub-system if
9478 DAL is in state STARTED.
9479
9480 In state BUSY this request will be queued. Request won't
9481 be allowed in any other state.
9482
9483
9484 @param pwdiFlushAcReqParams: the Flush AC parameters as
9485 specified by the Device Interface
9486
9487 wdiFlushAcRspCb: callback for passing back the response
9488 of the Flush AC operation received from the device
9489
9490 pUserData: user data will be passed back with the
9491 callback
9492
9493 @return Result of the function call
9494*/
9495WDI_Status
9496WDI_FlushAcReq
9497(
9498 WDI_FlushAcReqParamsType* pwdiFlushAcReqParams,
9499 WDI_FlushAcRspCb wdiFlushAcRspCb,
9500 void* pUserData
9501);
9502
9503/**
9504 @brief WDI_BtAmpEventReq will be called when the upper MAC
9505 wants to notify the lower mac on a BT AMP event. This is
9506 to inform BTC-SLM that some BT AMP event occurred. Upon
9507 the call of this API the WLAN DAL will pack and send a
9508 HAL BT AMP event request message to the lower RIVA
9509 sub-system if DAL is in state STARTED.
9510
9511 In state BUSY this request will be queued. Request won't
9512 be allowed in any other state.
9513
9514
9515 @param wdiBtAmpEventReqParams: the BT AMP event parameters as
9516 specified by the Device Interface
9517
9518 wdiBtAmpEventRspCb: callback for passing back the
9519 response of the BT AMP event operation received from the
9520 device
9521
9522 pUserData: user data will be passed back with the
9523 callback
9524
9525 @return Result of the function call
9526*/
9527WDI_Status
9528WDI_BtAmpEventReq
9529(
9530 WDI_BtAmpEventParamsType* pwdiBtAmpEventReqParams,
9531 WDI_BtAmpEventRspCb wdiBtAmpEventRspCb,
9532 void* pUserData
9533);
9534
Jeff Johnsone7245742012-09-05 17:12:55 -07009535#ifdef FEATURE_OEM_DATA_SUPPORT
9536/**
9537 @brief WDI_Start oem data Req will be called when the upper MAC
9538 wants to notify the lower mac on a oem data Req event.Upon
9539 the call of this API the WLAN DAL will pack and send a
9540 HAL OEM Data Req event request message to the lower RIVA
9541 sub-system if DAL is in state STARTED.
9542
9543 In state BUSY this request will be queued. Request won't
9544 be allowed in any other state.
9545
9546
9547 @param pWdiOemDataReqParams: the oem data req parameters as
9548 specified by the Device Interface
9549
9550 wdiStartOemDataRspCb: callback for passing back the
9551 response of the Oem Data Req received from the
9552 device
9553
9554 pUserData: user data will be passed back with the
9555 callback
9556
9557 @return Result of the function call
9558*/
9559WDI_Status
9560WDI_StartOemDataReq
9561(
9562 WDI_oemDataReqParamsType* pWdiOemDataReqParams,
9563 WDI_oemDataRspCb wdiOemDataRspCb,
9564 void* pUserData
9565);
9566#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07009567
9568/*========================================================================
9569
9570 CONTROL APIs
9571
9572==========================================================================*/
9573/**
9574 @brief WDI_SwitchChReq will be called when the upper MAC wants
9575 the WLAN HW to change the current channel of operation.
9576 Upon the call of this API the WLAN DAL will pack and
9577 send a HAL Start request message to the lower RIVA
9578 sub-system if DAL is in state STARTED.
9579
9580 In state BUSY this request will be queued. Request won't
9581 be allowed in any other state.
9582
9583 WDI_Start must have been called.
9584
9585 @param wdiSwitchChReqParams: the switch ch parameters as
9586 specified by the Device Interface
9587
9588 wdiSwitchChRspCb: callback for passing back the response
9589 of the switch ch operation received from the device
9590
9591 pUserData: user data will be passed back with the
9592 callback
9593
9594 @see WDI_Start
9595 @return Result of the function call
9596*/
9597WDI_Status
9598WDI_SwitchChReq
9599(
9600 WDI_SwitchChReqParamsType* pwdiSwitchChReqParams,
9601 WDI_SwitchChRspCb wdiSwitchChRspCb,
9602 void* pUserData
9603);
9604
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08009605/**
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08009606 @brief WDI_SwitchChReq_V1 is similar to WDI_SwitchChReq except
9607 it also send type source for the channel change.
9608 WDI_Start must have been called.
9609
9610 @param wdiSwitchChReqParams: the switch ch parameters as
9611 specified by the Device Interface
9612
9613 wdiSwitchChRspCb: callback for passing back the response
9614 of the switch ch operation received from the device
9615
9616 pUserData: user data will be passed back with the
9617 callback
9618
9619 @see WDI_Start
9620 @return Result of the function call
9621*/
9622
9623WDI_Status
9624WDI_SwitchChReq_V1
9625(
9626 WDI_SwitchChReqParamsType_V1* pwdiSwitchChReqParams,
9627 WDI_SwitchChRspCb_V1 wdiSwitchChRspCb,
9628 void* pUserData
9629);
9630
9631/**
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08009632 @brief WDI_UpdateChannelReq will be called when the upper MAC
9633 wants to update the channel list on change in country code.
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08009634 In state BUSY this request will be queued. Request won't
9635 be allowed in any other state.
9636
9637 WDI_UpdateChannelReq must have been called.
9638
9639 @param wdiUpdateChannelReqParams: the updated channel parameters
9640 as specified by the Device Interface
9641
9642 wdiUpdateChannelRspCb: callback for passing back the
9643 response of the update channel operation received from
9644 the device
9645
9646 pUserData: user data will be passed back with the
9647 callback
9648
9649 @return Result of the function call
9650*/
9651WDI_Status
9652WDI_UpdateChannelReq
9653(
9654 WDI_UpdateChReqParamsType *pwdiUpdateChannelReqParams,
9655 WDI_UpdateChannelRspCb wdiUpdateChannelRspCb,
9656 void* pUserData
9657);
Jeff Johnson295189b2012-06-20 16:38:30 -07009658
9659/**
9660 @brief WDI_ConfigSTAReq will be called when the upper MAC
9661 wishes to add or update a STA in HW. Upon the call of
9662 this API the WLAN DAL will pack and send a HAL Start
9663 message request message to the lower RIVA sub-system if
9664 DAL is in state STARTED.
9665
9666 In state BUSY this request will be queued. Request won't
9667 be allowed in any other state.
9668
9669 WDI_Start must have been called.
9670
9671 @param wdiConfigSTAReqParams: the config STA parameters as
9672 specified by the Device Interface
9673
9674 wdiConfigSTARspCb: callback for passing back the
9675 response of the config STA operation received from the
9676 device
9677
9678 pUserData: user data will be passed back with the
9679 callback
9680
9681 @see WDI_Start
9682 @return Result of the function call
9683*/
9684WDI_Status
9685WDI_ConfigSTAReq
9686(
9687 WDI_ConfigSTAReqParamsType* pwdiConfigSTAReqParams,
9688 WDI_ConfigSTARspCb wdiConfigSTARspCb,
9689 void* pUserData
9690);
9691
9692/**
9693 @brief WDI_SetLinkStateReq will be called when the upper MAC
9694 wants to change the state of an ongoing link. Upon the
9695 call of this API the WLAN DAL will pack and send a HAL
9696 Start message request message to the lower RIVA
9697 sub-system if DAL is in state STARTED.
9698
9699 In state BUSY this request will be queued. Request won't
9700 be allowed in any other state.
9701
9702 WDI_JoinReq must have been called.
9703
9704 @param wdiSetLinkStateReqParams: the set link state parameters
9705 as specified by the Device Interface
9706
9707 wdiSetLinkStateRspCb: callback for passing back the
9708 response of the set link state operation received from
9709 the device
9710
9711 pUserData: user data will be passed back with the
9712 callback
9713
9714 @see WDI_JoinStartReq
9715 @return Result of the function call
9716*/
9717WDI_Status
9718WDI_SetLinkStateReq
9719(
9720 WDI_SetLinkReqParamsType* pwdiSetLinkStateReqParams,
9721 WDI_SetLinkStateRspCb wdiSetLinkStateRspCb,
9722 void* pUserData
9723);
9724
9725
9726/**
9727 @brief WDI_GetStatsReq will be called when the upper MAC wants
9728 to get statistics (MIB counters) from the device. Upon
9729 the call of this API the WLAN DAL will pack and send a
9730 HAL Start request message to the lower RIVA sub-system
9731 if DAL is in state STARTED.
9732
9733 In state BUSY this request will be queued. Request won't
9734 be allowed in any other state.
9735
9736 WDI_Start must have been called.
9737
9738 @param wdiGetStatsReqParams: the stats parameters to get as
9739 specified by the Device Interface
9740
9741 wdiGetStatsRspCb: callback for passing back the response
9742 of the get stats operation received from the device
9743
9744 pUserData: user data will be passed back with the
9745 callback
9746
9747 @see WDI_Start
9748 @return Result of the function call
9749*/
9750WDI_Status
9751WDI_GetStatsReq
9752(
9753 WDI_GetStatsReqParamsType* pwdiGetStatsReqParams,
9754 WDI_GetStatsRspCb wdiGetStatsRspCb,
9755 void* pUserData
9756);
9757
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08009758#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08009759/**
9760 @brief WDI_GetRoamRssiReq will be called when the upper MAC wants
9761 to get roam rssi from the device. Upon
9762 the call of this API the WLAN DAL will pack and send a
9763 HAL Start request message to the lower RIVA sub-system
9764 if DAL is in state STARTED.
9765
9766 In state BUSY this request will be queued. Request won't
9767 be allowed in any other state.
9768
9769 WDI_Start must have been called.
9770
9771 @param wdiGetRoamRssiReqParams: the stats parameters to get as
9772 specified by the Device Interface
9773
9774 wdiGetRoamRssispCb: callback for passing back the response
9775 of the get stats operation received from the device
9776
9777 pUserData: user data will be passed back with the
9778 callback
9779
9780 @see WDI_Start
9781 @return Result of the function call
9782*/
9783WDI_Status
9784WDI_GetRoamRssiReq
9785(
9786 WDI_GetRoamRssiReqParamsType* pwdiGetRoamRssiReqParams,
9787 WDI_GetRoamRssiRspCb wdiGetRoamRssiRspCb,
9788 void* pUserData
9789);
9790#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07009791
9792/**
9793 @brief WDI_UpdateCfgReq will be called when the upper MAC when
9794 it wishes to change the configuration of the WLAN
9795 Device. Upon the call of this API the WLAN DAL will pack
9796 and send a HAL Update CFG request message to the lower
9797 RIVA sub-system if DAL is in state STARTED.
9798
9799 In state BUSY this request will be queued. Request won't
9800 be allowed in any other state.
9801
9802 WDI_Start must have been called.
9803
9804 @param wdiUpdateCfgReqParams: the update cfg parameters as
9805 specified by the Device Interface
9806
9807 wdiUpdateCfgsRspCb: callback for passing back the
9808 response of the update cfg operation received from the
9809 device
9810
9811 pUserData: user data will be passed back with the
9812 callback
9813
9814 @see WDI_Start
9815 @return Result of the function call
9816*/
9817WDI_Status
9818WDI_UpdateCfgReq
9819(
9820 WDI_UpdateCfgReqParamsType* pwdiUpdateCfgReqParams,
9821 WDI_UpdateCfgRspCb wdiUpdateCfgsRspCb,
9822 void* pUserData
9823);
9824
9825/**
9826 @brief WDI_NvDownloadReq will be called by the UMAC to dowload the NV blob
9827 to the NV memory.
9828
9829 @param wdiNvDownloadReqParams: the NV Download parameters as specified by
9830 the Device Interface
9831
9832 wdiNvDownloadRspCb: callback for passing back the response of
9833 the NV Download operation received from the device
9834
9835 pUserData: user data will be passed back with the
9836 callback
9837
9838 @see WDI_PostAssocReq
9839 @return Result of the function call
9840*/
9841WDI_Status
9842WDI_NvDownloadReq
9843(
9844 WDI_NvDownloadReqParamsType* pwdiNvDownloadReqParams,
9845 WDI_NvDownloadRspCb wdiNvDownloadRspCb,
9846 void* pUserData
9847);
9848/**
9849 @brief WDI_AddBAReq will be called when the upper MAC has setup
9850 successfully a BA session and needs to notify the HW for
9851 the appropriate settings to take place. Upon the call of
9852 this API the WLAN DAL will pack and send a HAL Add BA
9853 request message to the lower RIVA sub-system if DAL is
9854 in state STARTED.
9855
9856 In state BUSY this request will be queued. Request won't
9857 be allowed in any other state.
9858
9859 WDI_PostAssocReq must have been called.
9860
9861 @param wdiAddBAReqParams: the add BA parameters as specified by
9862 the Device Interface
9863
9864 wdiAddBARspCb: callback for passing back the response of
9865 the add BA operation received from the device
9866
9867 pUserData: user data will be passed back with the
9868 callback
9869
9870 @see WDI_PostAssocReq
9871 @return Result of the function call
9872*/
9873WDI_Status
9874WDI_AddBAReq
9875(
9876 WDI_AddBAReqParamsType* pwdiAddBAReqParams,
9877 WDI_AddBARspCb wdiAddBARspCb,
9878 void* pUserData
9879);
9880
9881/**
9882 @brief WDI_TriggerBAReq will be called when the upper MAC has setup
9883 successfully a BA session and needs to notify the HW for
9884 the appropriate settings to take place. Upon the call of
9885 this API the WLAN DAL will pack and send a HAL Add BA
9886 request message to the lower RIVA sub-system if DAL is
9887 in state STARTED.
9888
9889 In state BUSY this request will be queued. Request won't
9890 be allowed in any other state.
9891
9892 WDI_PostAssocReq must have been called.
9893
9894 @param wdiAddBAReqParams: the add BA parameters as specified by
9895 the Device Interface
9896
9897 wdiAddBARspCb: callback for passing back the response of
9898 the add BA operation received from the device
9899
9900 pUserData: user data will be passed back with the
9901 callback
9902
9903 @see WDI_PostAssocReq
9904 @return Result of the function call
9905*/
9906WDI_Status
9907WDI_TriggerBAReq
9908(
9909 WDI_TriggerBAReqParamsType* pwdiTriggerBAReqParams,
9910 WDI_TriggerBARspCb wdiTriggerBARspCb,
9911 void* pUserData
9912);
9913
9914
9915/**
9916 @brief WDI_IsHwFrameTxTranslationCapable checks to see if HW
9917 frame xtl is enabled for a particular STA.
9918
9919 WDI_PostAssocReq must have been called.
9920
9921 @param uSTAIdx: STA index
9922
9923 @see WDI_PostAssocReq
9924 @return Result of the function call
9925*/
9926wpt_boolean WDI_IsHwFrameTxTranslationCapable
9927(
9928 wpt_uint8 uSTAIdx
9929);
9930
Katya Nigam6201c3e2014-05-27 17:51:42 +05309931
9932/**
9933 @brief WDI_IsSelfSTA - check if staid is self sta index
9934
9935 @param pWDICtx: pointer to the WLAN DAL context
9936 ucSTAIdx: station index
9937
9938 @return Result of the function call
9939*/
9940
9941wpt_boolean
9942WDI_IsSelfSTA
9943(
9944 void* pWDICtx,
9945 wpt_uint8 ucSTAIdx
9946);
9947
9948
Jeff Johnson295189b2012-06-20 16:38:30 -07009949#ifdef WLAN_FEATURE_VOWIFI_11R
9950/**
9951 @brief WDI_AggrAddTSReq will be called when the upper MAC to inform
9952 the device of a successful add TSpec negotiation for 11r. HW
9953 needs to receive the TSpec Info from the UMAC in order
9954 to configure properly the QoS data traffic. Upon the
9955 call of this API the WLAN DAL will pack and send a HAL
9956 Aggregated Add TS request message to the lower RIVA sub-system if
9957 DAL is in state STARTED.
9958
9959 In state BUSY this request will be queued. Request won't
9960 be allowed in any other state.
9961
9962 WDI_PostAssocReq must have been called.
9963
9964 @param wdiAggrAddTsReqParams: the add TS parameters as specified by
9965 the Device Interface
9966
9967 wdiAggrAddTsRspCb: callback for passing back the response of
9968 the add TS operation received from the device
9969
9970 pUserData: user data will be passed back with the
9971 callback
9972
9973 @see WDI_PostAssocReq
9974 @return Result of the function call
9975*/
9976WDI_Status
9977WDI_AggrAddTSReq
9978(
9979 WDI_AggrAddTSReqParamsType* pwdiAddTsReqParams,
9980 WDI_AggrAddTsRspCb wdiAggrAddTsRspCb,
9981 void* pUserData
9982);
9983#endif /* WLAN_FEATURE_VOWIFI_11R */
9984/**
9985 @brief WDI_STATableInit - Initializes the STA tables.
9986 Allocates the necesary memory.
9987
9988
9989 @param pWDICtx: pointer to the WLAN DAL context
9990
9991 @see
9992 @return Result of the function call
9993*/
9994
9995WDI_Status WDI_StubRunTest
9996(
9997 wpt_uint8 ucTestNo
9998);
9999
Jeff Johnson295189b2012-06-20 16:38:30 -070010000/**
10001 @brief WDI_FTMCommandReq -
10002 Route FTMRequest Command to HAL
10003
10004 @param ftmCommandReq: FTM request command body
10005 @param ftmCommandRspCb: Response CB
10006 @param pUserData: User data will be included with CB
10007
10008 @return Result of the function call
10009*/
10010WDI_Status WDI_FTMCommandReq
10011(
10012 WDI_FTMCommandReqType *ftmCommandReq,
10013 WDI_FTMCommandRspCb ftmCommandRspCb,
10014 void *pUserData
10015);
Jeff Johnson295189b2012-06-20 16:38:30 -070010016
10017/**
10018 @brief WDI_HostResumeReq will be called
10019
10020 In state BUSY this request will be queued. Request won't
10021 be allowed in any other state.
10022
10023
10024 @param pwdiResumeReqParams: as specified by
10025 the Device Interface
10026
10027 wdiResumeReqRspCb: callback for passing back the response of
10028 the Resume Req received from the device
10029
10030 pUserData: user data will be passed back with the
10031 callback
10032
10033 @see WDI_PostAssocReq
10034 @return Result of the function call
10035*/
10036WDI_Status
10037WDI_HostResumeReq
10038(
10039 WDI_ResumeParamsType* pwdiResumeReqParams,
10040 WDI_HostResumeEventRspCb wdiResumeReqRspCb,
10041 void* pUserData
10042);
10043
10044/**
10045 @brief WDI_GetAvailableResCount - Function to get the available resource
10046 for data and managemnt frames.
10047
10048 @param pContext: pointer to the WDI context
10049 @param wdiResPool: type of resource pool requesting
10050 @see
10051 @return Result of the function call
10052*/
10053
10054wpt_uint32 WDI_GetAvailableResCount
10055(
10056 void *pContext,
10057 WDI_ResPoolType wdiResPool
10058);
10059
10060/**
10061 @brief WDI_SetAddSTASelfReq will be called when the
10062 UMAC wanted to add self STA while opening any new session
10063 In state BUSY this request will be queued. Request won't
10064 be allowed in any other state.
10065
10066
10067 @param pwdiAddSTASelfParams: the add self sta parameters as
10068 specified by the Device Interface
10069
10070 pUserData: user data will be passed back with the
10071 callback
10072
10073 @see
10074 @return Result of the function call
10075*/
10076WDI_Status
10077WDI_AddSTASelfReq
10078(
10079 WDI_AddSTASelfReqParamsType* pwdiAddSTASelfReqParams,
10080 WDI_AddSTASelfParamsRspCb wdiAddSTASelfReqParamsRspCb,
10081 void* pUserData
10082);
10083
10084
10085/**
10086 @brief WDI_DelSTASelfReq will be called .
10087
10088 @param WDI_DelSTASelfReqParamsType
10089
10090 WDI_DelSTASelfRspCb: callback for passing back the
10091 response of the del sta self operation received from the
10092 device
10093
10094 pUserData: user data will be passed back with the
10095 callback
10096
10097 @see WDI_PostAssocReq
10098 @return Result of the function call
10099*/
10100WDI_Status
10101WDI_DelSTASelfReq
10102(
10103 WDI_DelSTASelfReqParamsType* pwdiDelStaSelfParams,
10104 WDI_DelSTASelfRspCb wdiDelStaSelfRspCb,
10105 void* pUserData
10106);
10107
10108/**
10109 @brief WDI_HostSuspendInd
10110
10111 Suspend Indication from the upper layer will be sent
10112 down to HAL
10113
10114 @param WDI_SuspendParamsType
10115
10116 @see
10117
10118 @return Status of the request
10119*/
10120WDI_Status
10121WDI_HostSuspendInd
10122(
10123 WDI_SuspendParamsType* pwdiSuspendIndParams
10124);
10125
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -080010126/**
10127 @brief WDI_TrafficStatsInd
10128
10129 Traffic Stats from the upper layer will be sent
10130 down to HAL
10131
10132 @param WDI_TrafficStatsIndType
10133
10134 @see
10135
10136 @return Status of the request
10137*/
10138WDI_Status
10139WDI_TrafficStatsInd
10140(
10141 WDI_TrafficStatsIndType *pWdiTrafficStatsIndParams
10142);
10143
Chet Lanctot186b5732013-03-18 10:26:30 -070010144#ifdef WLAN_FEATURE_11W
10145/**
10146 @brief WDI_ExcludeUnencryptedInd
10147 Register with HAL to receive/drop unencrypted frames
10148
10149 @param WDI_ExcludeUnencryptIndType
10150
10151 @see
10152
10153 @return Status of the request
10154*/
10155WDI_Status
10156WDI_ExcludeUnencryptedInd
10157(
10158 WDI_ExcludeUnencryptIndType *pWdiExcUnencParams
10159);
10160#endif
10161
Yue Mab9c86f42013-08-14 15:59:08 -070010162/**
10163 @brief WDI_AddPeriodicTxPtrnInd
10164
10165 @param WDI_AddPeriodicTxPtrnParamsType
10166
10167 @see
10168
10169 @return Status of the request
10170*/
10171WDI_Status
10172WDI_AddPeriodicTxPtrnInd
10173(
10174 WDI_AddPeriodicTxPtrnParamsType *addPeriodicTxPtrnParams
10175);
10176
10177/**
10178 @brief WDI_DelPeriodicTxPtrnInd
10179
10180 @param WDI_DelPeriodicTxPtrnParamsType
10181
10182 @see
10183
10184 @return Status of the request
10185*/
10186WDI_Status
10187WDI_DelPeriodicTxPtrnInd
10188(
10189 WDI_DelPeriodicTxPtrnParamsType *delPeriodicTxPtrnParams
10190);
10191
Jeff Johnson295189b2012-06-20 16:38:30 -070010192#ifdef FEATURE_WLAN_SCAN_PNO
10193/**
10194 @brief WDI_SetPreferredNetworkList
10195
10196 @param pwdiPNOScanReqParams: the Set PNO as specified
10197 by the Device Interface
10198
10199 wdiPNOScanCb: callback for passing back the response
10200 of the Set PNO operation received from the
10201 device
10202
10203 pUserData: user data will be passed back with the
10204 callback
10205
10206 @see WDI_PostAssocReq
10207 @return Result of the function call
10208*/
10209WDI_Status
10210WDI_SetPreferredNetworkReq
10211(
10212 WDI_PNOScanReqParamsType* pwdiPNOScanReqParams,
10213 WDI_PNOScanCb wdiPNOScanCb,
10214 void* pUserData
10215);
10216
10217/**
10218 @brief WDI_SetRssiFilterReq
10219
10220 @param pwdiRssiFilterReqParams: the Set RSSI Filter as
10221 specified by the Device Interface
10222
10223 wdiRssiFilterCb: callback for passing back the response
10224 of the Set RSSI Filter operation received from the
10225 device
10226
10227 pUserData: user data will be passed back with the
10228 callback
10229
10230 @see WDI_PostAssocReq
10231 @return Result of the function call
10232*/
10233WDI_Status
10234WDI_SetRssiFilterReq
10235(
10236 WDI_SetRssiFilterReqParamsType* pwdiRssiFilterReqParams,
10237 WDI_RssiFilterCb wdiRssiFilterCb,
10238 void* pUserData
10239);
10240
10241/**
10242 @brief WDI_UpdateScanParams
10243
10244 @param pwdiUpdateScanParamsInfoType: the Update Scan Params as specified
10245 by the Device Interface
10246
10247 wdiUpdateScanParamsCb: callback for passing back the response
10248 of the Set PNO operation received from the
10249 device
10250
10251 pUserData: user data will be passed back with the
10252 callback
10253
10254 @see WDI_PostAssocReq
10255 @return Result of the function call
10256*/
10257WDI_Status
10258WDI_UpdateScanParamsReq
10259(
10260 WDI_UpdateScanParamsInfoType* pwdiUpdateScanParamsInfoType,
10261 WDI_UpdateScanParamsCb wdiUpdateScanParamsCb,
10262 void* pUserData
10263);
10264#endif // FEATURE_WLAN_SCAN_PNO
10265
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010266#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
10267/**
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010268 @brief WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010269
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010270 @param pwdiRoamScanOffloadReqParams: Start Roam Candidate Lookup Req as specified
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010271 by the Device Interface
10272
10273 wdiRoamOffloadScanCb: callback for passing back the response
10274 of the Start Roam Candidate Lookup operation received from the
10275 device
10276
10277 pUserData: user data will be passed back with the
10278 callback
10279
10280 @return Result of the function call
10281*/
10282WDI_Status
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010283WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010284(
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010285 WDI_RoamScanOffloadReqParamsType *pwdiRoamScanOffloadReqParams,
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010286 WDI_RoamOffloadScanCb wdiRoamOffloadScancb,
10287 void* pUserData
10288);
10289#endif
10290
Jeff Johnson295189b2012-06-20 16:38:30 -070010291/**
10292 @brief WDI_SetTxPerTrackingReq will be called when the upper MAC
10293 wants to set the Tx Per Tracking configurations.
10294 Upon the call of this API the WLAN DAL will pack
10295 and send a HAL Set Tx Per Tracking request message to the
10296 lower RIVA sub-system if DAL is in state STARTED.
10297
10298 In state BUSY this request will be queued. Request won't
10299 be allowed in any other state.
10300
10301 @param wdiSetTxPerTrackingConf: the Set Tx PER Tracking configurations as
10302 specified by the Device Interface
10303
10304 wdiSetTxPerTrackingCb: callback for passing back the
10305 response of the set Tx PER Tracking configurations operation received
10306 from the device
10307
10308 pUserData: user data will be passed back with the
10309 callback
10310
10311 @return Result of the function call
10312*/
10313WDI_Status
10314WDI_SetTxPerTrackingReq
10315(
10316 WDI_SetTxPerTrackingReqParamsType* pwdiSetTxPerTrackingReqParams,
10317 WDI_SetTxPerTrackingRspCb pwdiSetTxPerTrackingRspCb,
10318 void* pUserData
10319);
10320
10321/**
10322 @brief WDI_SetTmLevelReq
10323 If HW Thermal condition changed, driver should react based on new
10324 HW thermal condition.
10325
10326 @param pwdiSetTmLevelReq: New thermal condition information
10327
10328 pwdiSetTmLevelRspCb: callback
10329
10330 usrData: user data will be passed back with the
10331 callback
10332
10333 @return Result of the function call
10334*/
10335WDI_Status
10336WDI_SetTmLevelReq
10337(
10338 WDI_SetTmLevelReqType *pwdiSetTmLevelReq,
10339 WDI_SetTmLevelCb pwdiSetTmLevelRspCb,
10340 void *usrData
10341);
10342
10343#ifdef WLAN_FEATURE_PACKET_FILTERING
10344/**
10345 @brief WDI_8023MulticastListReq
10346
10347 @param pwdiRcvFltPktSetMcListReqInfo: the Set 8023 Multicast
10348 List as specified by the Device Interface
10349
10350 wdi8023MulticastListCallback: callback for passing back
10351 the response of the Set 8023 Multicast List operation
10352 received from the device
10353
10354 pUserData: user data will be passed back with the
10355 callback
10356
10357 @see WDI_PostAssocReq
10358 @return Result of the function call
10359*/
10360WDI_Status
10361WDI_8023MulticastListReq
10362(
10363 WDI_RcvFltPktSetMcListReqParamsType* pwdiRcvFltPktSetMcListReqInfo,
10364 WDI_8023MulticastListCb wdi8023MulticastListCallback,
10365 void* pUserData
10366);
10367
10368/**
10369 @brief WDI_ReceiveFilterSetFilterReq
10370
10371 @param pwdiSetRcvPktFilterReqInfo: the Set Receive Filter as
10372 specified by the Device Interface
10373
10374 wdiReceiveFilterSetFilterReqCallback: callback for
10375 passing back the response of the Set Receive Filter
10376 operation received from the device
10377
10378 pUserData: user data will be passed back with the
10379 callback
10380
10381 @see WDI_PostAssocReq
10382 @return Result of the function call
10383*/
10384WDI_Status
10385WDI_ReceiveFilterSetFilterReq
10386(
10387 WDI_SetRcvPktFilterReqParamsType* pwdiSetRcvPktFilterReqInfo,
10388 WDI_ReceiveFilterSetFilterCb wdiReceiveFilterSetFilterReqCallback,
10389 void* pUserData
10390);
10391
10392/**
10393 @brief WDI_PCFilterMatchCountReq
10394
10395 @param pwdiRcvFltPktMatchCntReqInfo: get D0 PC Filter Match
10396 Count
10397
10398 wdiPCFilterMatchCountCallback: callback for passing back
10399 the response of the D0 PC Filter Match Count operation
10400 received from the device
10401
10402 pUserData: user data will be passed back with the
10403 callback
10404
10405 @see WDI_PostAssocReq
10406 @return Result of the function call
10407*/
10408WDI_Status
10409WDI_FilterMatchCountReq
10410(
10411 WDI_RcvFltPktMatchCntReqParamsType* pwdiRcvFltPktMatchCntReqInfo,
10412 WDI_FilterMatchCountCb wdiFilterMatchCountCallback,
10413 void* pUserData
10414);
10415
10416/**
10417 @brief WDI_ReceiveFilterClearFilterReq
10418
10419 @param pwdiRcvFltPktClearReqInfo: the Clear Filter as
10420 specified by the Device Interface
10421
10422 wdiReceiveFilterClearFilterCallback: callback for
10423 passing back the response of the Clear Filter
10424 operation received from the device
10425
10426 pUserData: user data will be passed back with the
10427 callback
10428
10429 @see WDI_PostAssocReq
10430 @return Result of the function call
10431*/
10432WDI_Status
10433WDI_ReceiveFilterClearFilterReq
10434(
10435 WDI_RcvFltPktClearReqParamsType* pwdiRcvFltPktClearReqInfo,
10436 WDI_ReceiveFilterClearFilterCb wdiReceiveFilterClearFilterCallback,
10437 void* pUserData
10438);
10439#endif // WLAN_FEATURE_PACKET_FILTERING
10440
10441/**
10442 @brief WDI_HALDumpCmdReq
10443 Post HAL DUMP Command Event
10444
10445 @param halDumpCmdReqParams: Hal Dump Command Body
10446 @param halDumpCmdRspCb: callback for passing back the
10447 response
10448 @param pUserData: Client Data
10449
10450 @see
10451 @return Result of the function call
10452*/
10453WDI_Status WDI_HALDumpCmdReq(
10454 WDI_HALDumpCmdReqParamsType *halDumpCmdReqParams,
10455 WDI_HALDumpCmdRspCb halDumpCmdRspCb,
10456 void *pUserData
10457);
10458
10459
10460/**
10461 @brief WDI_SetPowerParamsReq
10462
10463 @param pwdiPowerParamsReqParams: the Set Power Params as
10464 specified by the Device Interface
10465
10466 wdiPowerParamsCb: callback for passing back the response
10467 of the Set Power Params operation received from the
10468 device
10469
10470 pUserData: user data will be passed back with the
10471 callback
10472
10473 @return Result of the function call
10474*/
10475WDI_Status
10476WDI_SetPowerParamsReq
10477(
10478 WDI_SetPowerParamsReqParamsType* pwdiPowerParamsReqParams,
10479 WDI_SetPowerParamsCb wdiPowerParamsCb,
10480 void* pUserData
10481);
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +053010482/**
10483 @brief WDI_dhcpStartInd
10484 Forward the DHCP Start event
10485
10486 @param
10487
10488 wdiDHCPInd: device mode and MAC address is passed
10489
10490 @see
10491 @return Result of the function call
10492*/
10493
10494WDI_Status
10495WDI_dhcpStartInd
10496(
10497 WDI_DHCPInd *wdiDHCPInd
10498);
10499/**
10500 @brief WDI_dhcpStopReq
10501 Forward the DHCP Stop event
10502
10503 @param
10504
10505 wdiDHCPInd: device mode and MAC address is passed
10506
10507 @see
10508 @return Result of the function call
10509*/
10510
10511WDI_Status
10512WDI_dhcpStopInd
10513(
10514 WDI_DHCPInd *wdiDHCPInd
10515);
Jeff Johnson295189b2012-06-20 16:38:30 -070010516
Chittajit Mitraf5413a42013-10-18 14:20:08 -070010517/**
10518 @brief WDI_RateUpdateInd will be called when the upper MAC
10519 requests the device to update rates.
10520
10521 In state BUSY this request will be queued. Request won't
10522 be allowed in any other state.
10523
10524
10525 @param wdiRateUpdateIndParams
10526
10527
10528 @see WDI_Start
10529 @return Result of the function call
10530*/
10531WDI_Status
10532WDI_RateUpdateInd
10533(
10534 WDI_RateUpdateIndParams *wdiRateUpdateIndParams
10535);
10536
Jeff Johnson295189b2012-06-20 16:38:30 -070010537#ifdef WLAN_FEATURE_GTK_OFFLOAD
10538/**
10539 @brief WDI_GTKOffloadReq will be called when the upper MAC
10540 wants to set GTK Rekey Counter while in power save. Upon
10541 the call of this API the WLAN DAL will pack and send a
10542 HAL GTK offload request message to the lower RIVA
10543 sub-system if DAL is in state STARTED.
10544
10545 In state BUSY this request will be queued. Request won't
10546 be allowed in any other state.
10547
10548 WDI_PostAssocReq must have been called.
10549
10550 @param pwdiGtkOffloadParams: the GTK offload as specified
10551 by the Device Interface
10552
10553 wdiGtkOffloadCb: callback for passing back the response
10554 of the GTK offload operation received from the device
10555
10556 pUserData: user data will be passed back with the
10557 callback
10558
10559 @see WDI_PostAssocReq
10560 @return Result of the function call
10561*/
10562WDI_Status
10563WDI_GTKOffloadReq
10564(
10565 WDI_GtkOffloadReqMsg* pwdiGtkOffloadReqMsg,
10566 WDI_GtkOffloadCb wdiGtkOffloadCb,
10567 void* pUserData
10568);
10569
10570/**
10571 @brief WDI_GTKOffloadGetInfoReq will be called when the upper
10572 MAC wants to get GTK Rekey Counter while in power save.
10573 Upon the call of this API the WLAN DAL will pack and
10574 send a HAL GTK offload request message to the lower RIVA
10575 sub-system if DAL is in state STARTED.
10576
10577 In state BUSY this request will be queued. Request won't
10578 be allowed in any other state.
10579
10580 WDI_PostAssocReq must have been called.
10581
10582 @param pwdiGtkOffloadGetInfoReqMsg: the GTK Offload
10583 Information Message as specified by the
10584 Device Interface
10585
10586 wdiGtkOffloadGetInfoCb: callback for passing back the
10587 response of the GTK offload operation received from the
10588 device
10589
10590 pUserData: user data will be passed back with the
10591 callback
10592
10593 @see WDI_PostAssocReq
10594 @return Result of the function call
10595*/
10596WDI_Status
10597WDI_GTKOffloadGetInfoReq
10598(
10599 WDI_GtkOffloadGetInfoReqMsg* pwdiGtkOffloadGetInfoReqMsg,
10600 WDI_GtkOffloadGetInfoCb wdiGtkOffloadGetInfoCb,
10601 void* pUserData
10602);
10603#endif // WLAN_FEATURE_GTK_OFFLOAD
10604
10605/**
10606 @brief WDI_featureCapsExchangeReq
10607 Post feature capability bitmap exchange event.
10608 Host will send its own capability to FW in this req and
10609 expect FW to send its capability back as a bitmap in Response
10610
10611 @param
10612
10613 wdiFeatCapsExcRspCb: callback called on getting the response.
10614 It is kept to mantain similarity between WDI reqs and if needed, can
10615 be used in future. Currently, It is set to NULL
10616
10617 pUserData: user data will be passed back with the
10618 callback
10619
10620 @see
10621 @return Result of the function call
10622*/
10623WDI_Status
10624WDI_featureCapsExchangeReq
10625(
10626 WDI_featureCapsExchangeCb wdiFeatureCapsExchangeCb,
10627 void* pUserData
10628);
10629
10630/**
Yathish9f22e662012-12-10 14:21:35 -080010631 @brief Disable Active mode offload in Host
10632
10633 @param void
10634 @see
10635 @return void
10636*/
10637void
10638WDI_disableCapablityFeature(wpt_uint8 feature_index);
10639
10640
10641/**
Jeff Johnson295189b2012-06-20 16:38:30 -070010642 @brief WDI_getHostWlanFeatCaps
10643 WDI API that returns whether the feature passed to it as enum value in
10644 "placeHolderInCapBitmap" is supported by Host or not. It uses WDI global
10645 variable storing host capability bitmap to find this. This can be used by
10646 other moduels to decide certain things like call different APIs based on
10647 whether a particular feature is supported.
10648
10649 @param
10650
10651 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap in wlan_hal_msg.h.
10652
10653 @see
10654 @return
10655 0 - if the feature is NOT supported in host
10656 any non-zero value - if the feature is SUPPORTED in host.
10657*/
10658wpt_uint8 WDI_getHostWlanFeatCaps(wpt_uint8 feat_enum_value);
10659
10660/**
10661 @brief WDI_getFwWlanFeatCaps
10662 WDI API that returns whether the feature passed to it as enum value in
10663 "placeHolderInCapBitmap" is supported by FW or not. It uses WDI global
10664 variable storing host capability bitmap to find this. This can be used by
10665 other moduels to decide certain things like call different APIs based on
10666 whether a particular feature is supported.
10667
10668 @param
10669
Jeff Johnsone7245742012-09-05 17:12:55 -070010670 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap
10671 in wlan_hal_msg.h.
Jeff Johnson295189b2012-06-20 16:38:30 -070010672
10673 @see
10674 @return
10675 0 - if the feature is NOT supported in FW
10676 any non-zero value - if the feature is SUPPORTED in FW.
10677*/
10678wpt_uint8 WDI_getFwWlanFeatCaps(wpt_uint8 feat_enum_value);
10679
10680/**
10681 @brief WDI_GetWcnssCompiledApiVersion - Function to get wcnss compiled
10682 api version
10683
10684 @param WDI_WlanVersionType: Wlan version structure
10685 @see
10686 @return none
10687*/
10688
10689void WDI_GetWcnssCompiledApiVersion
10690(
10691 WDI_WlanVersionType *pWcnssApiVersion
10692);
10693
Mohit Khanna4a70d262012-09-11 16:30:12 -070010694#ifdef WLAN_FEATURE_11AC
10695WDI_Status
10696WDI_UpdateVHTOpModeReq
10697(
10698 WDI_UpdateVHTOpMode *pData,
10699 WDI_UpdateVHTOpModeCb wdiUpdateVHTOpModeCb,
10700 void* pUserData
10701);
Jeff Johnson295189b2012-06-20 16:38:30 -070010702
Mohit Khanna4a70d262012-09-11 16:30:12 -070010703#endif
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070010704
10705/**
10706 @brief WDI_TransportChannelDebug -
10707 Display DXE Channel debugging information
10708 User may request to display DXE channel snapshot
10709 Or if host driver detects any abnormal stcuk may display
10710
Jeff Johnsonb88db982012-12-10 13:34:59 -080010711 @param displaySnapshot : Display DXE snapshot option
Mihir Shete40a55652014-03-02 14:14:47 +053010712 @param debugFlags : Enable stall detect features
10713 defined by WPAL_DeviceDebugFlags
10714 These features may effect
10715 data performance.
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070010716 @see
10717 @return none
10718*/
10719void WDI_TransportChannelDebug
10720(
10721 wpt_boolean displaySnapshot,
Mihir Shete40a55652014-03-02 14:14:47 +053010722 wpt_uint8 debugFlags
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070010723);
10724
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -070010725/**
10726 @brief WDI_SsrTimerCB
10727 Callback function for SSR timer, if this is called then the graceful
10728 shutdown for Riva did not happen.
10729
10730 @param pUserData : user data to timer
10731
10732 @see
10733 @return none
10734*/
10735void
10736WDI_SsrTimerCB
10737(
10738 void *pUserData
10739);
10740
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -070010741/**
10742 @brief WDI_SetEnableSSR -
10743 This API is called to enable/disable SSR on WDI timeout.
10744
10745 @param enableSSR : enable/disable SSR
10746
10747 @see
10748 @return none
10749*/
10750void WDI_SetEnableSSR(wpt_boolean enableSSR);
10751
Leo Chang9056f462013-08-01 19:21:11 -070010752#ifdef FEATURE_WLAN_LPHB
10753/**
10754 @brief WDI_LPHBConfReq
10755 This API is called to config FW LPHB rule
10756
10757 @param lphbconfParam : LPHB rule should config to FW
10758 usrData : Client context
10759 lphbCfgCb : Configuration status callback
10760 @see
10761 @return SUCCESS or FAIL
10762*/
10763WDI_Status WDI_LPHBConfReq
10764(
10765 void *lphbconfParam,
10766 void *usrData,
10767 WDI_LphbCfgCb lphbCfgCb
10768);
10769#endif /* FEATURE_WLAN_LPHB */
Rajeev79dbe4c2013-10-05 11:03:42 +053010770
Dino Mycle41bdc942014-06-10 11:30:24 +053010771#ifdef WLAN_FEATURE_EXTSCAN
10772/**
10773 @brief WDI_EXTScanStartReq
10774 This API is called to send EXTScan start request to FW
10775
10776 @param pwdiEXTScanStartReqParams : pointer to the request params.
10777 wdiEXTScanStartRspCb : callback on getting the response.
10778 usrData : Client context
10779 @see
10780 @return SUCCESS or FAIL
10781*/
10782WDI_Status WDI_EXTScanStartReq
10783(
10784 WDI_EXTScanStartReqParams* pwdiEXTScanStartReqParams,
10785 WDI_EXTScanStartRspCb wdiEXTScanStartRspCb,
10786 void* pUserData
10787);
10788
10789/**
10790 @brief WDI_EXTScanStopReq
10791 This API is called to stop the EXTScan operations in the FW
10792
10793 @param pwdiEXTScanStopReqParams : pointer to the request params.
10794 wdiEXTScanStopRspCb : callback on getting the response.
10795 usrData : Client context
10796 @see
10797 @return SUCCESS or FAIL
10798*/
10799WDI_Status WDI_EXTScanStopReq
10800(
10801 WDI_EXTScanStopReqParams* pwdiEXTScanStopReqParams,
10802 WDI_EXTScanStopRspCb wdiEXTScanStopRspCb,
10803 void* pUserData
10804);
10805
10806/**
10807 @brief WDI_EXTScanGetCachedResultsReq
10808 This API is called to send get link layer stats request in FW
10809
10810 @param pwdiEXTScanGetCachedResultsReqParams : pointer to the request params.
10811 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
10812 usrData : Client context
10813 @see
10814 @return SUCCESS or FAIL
10815*/
10816WDI_Status WDI_EXTScanGetCachedResultsReq
10817(
10818 WDI_EXTScanGetCachedResultsReqParams* pwdiEXTScanGetCachedResultsReqParams,
10819 WDI_EXTScanGetCachedResultsRspCb wdiEXTScanGetCachedResultsRspCb,
10820 void* pUserData
10821);
10822
10823/**
10824 @brief WDI_EXTScanGetCapabilitiesReq
10825 This API is called to send get EXTScan capabilities from FW
10826
10827 @param pwdiEXTScanGetCachedResultsReqParams : pointer to the request params.
10828 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
10829 usrData : Client context
10830 @see
10831 @return SUCCESS or FAIL
10832*/
10833WDI_Status WDI_EXTScanGetCapabilitiesReq
10834(
10835 WDI_EXTScanGetCapabilitiesReqParams* pwdiEXTScanGetCapabilitiesReqParams,
10836 WDI_EXTScanGetCapabilitiesRspCb wdiEXTScanGetCapabilitiesRspCb,
10837 void* pUserData
10838);
10839
10840/**
10841 @brief WDI_EXTScanSetBSSIDHotlistReq
10842 This API is called to send Set BSSID Hotlist Request FW
10843
10844 @param pwdiEXTScanSetBssidHotlistReqParams : pointer to the request params.
10845 wdiEXTScanSetBSSIDHotlistRspCb : callback on getting the response.
10846 usrData : Client context
10847 @see
10848 @return SUCCESS or FAIL
10849*/
10850WDI_Status WDI_EXTScanSetBSSIDHotlistReq
10851(
10852 WDI_EXTScanSetBSSIDHotlistReqParams* pwdiEXTScanSetBSSIDHotlistReqParams,
10853 WDI_EXTScanSetBSSIDHotlistRspCb wdiEXTScanSetBSSIDHotlistRspCb,
10854 void* pUserData
10855);
10856
10857/**
10858 @brief WDI_EXTScanResetBSSIDHotlistReq
10859 This API is called to send Reset BSSID Hotlist Request FW
10860
10861 @param pwdiEXTScanResetBssidHotlistReqParams : pointer to the request params.
10862 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
10863 usrData : Client context
10864 @see
10865 @return SUCCESS or FAIL
10866*/
10867WDI_Status WDI_EXTScanResetBSSIDHotlistReq
10868(
10869 WDI_EXTScanResetBSSIDHotlistReqParams* pwdiEXTScanResetBSSIDHotlistReqParams,
10870 WDI_EXTScanResetBSSIDHotlistRspCb wdiEXTScanResetBSSIDHotlistRspCb,
10871 void* pUserData
10872);
10873
10874/**
10875 @brief WDI_EXTScanSetSignfRSSIChangeReq
10876 This API is called to send Set Significant RSSI Request FW
10877
10878 @param pwdiEXTScanSetSignfRSSIChangeReqParams : pointer to the request params.
10879 wdiEXTScanSetSignfRSSIChangeRspCb : callback on getting the response.
10880 usrData : Client context
10881 @see
10882 @return SUCCESS or FAIL
10883*/
10884WDI_Status WDI_EXTScanSetSignfRSSIChangeReq
10885(
10886 WDI_EXTScanSetSignfRSSIChangeReqParams*
10887 pwdiEXTScanSetSignfRSSIChangeReqParams,
10888 WDI_EXTScanSetSignfRSSIChangeRspCb wdiEXTScanSetSignfRSSIChangeRspCb,
10889 void* pUserData
10890);
10891
10892/**
10893 @brief WDI_EXTScanResetSignfRSSIChangeReq
10894 This API is called to send Reset BSSID Hotlist Request FW
10895
10896 @param pwdiEXTScanResetSignfRSSIChangeReqParams : pointer to the request params.
10897 wdiEXTScanResetSignfRSSIChangeRs : callback on getting the response.
10898 usrData : Client context
10899 @see
10900 @return SUCCESS or FAIL
10901*/
10902WDI_Status WDI_EXTScanResetSignfRSSIChangeReq
10903(
10904 WDI_EXTScanResetSignfRSSIChangeReqParams*
10905 pwdiEXTScanResetSignfRSSIChangeReqParams,
10906 WDI_EXTScanResetSignfRSSIChangeRspCb wdiEXTScanResetSignfRSSIChangeRspCb,
10907 void* pUserData
10908);
10909#endif /* WLAN_FEATURE_EXTSCAN */
10910
Sunil Duttbd736ed2014-05-26 21:19:41 +053010911#ifdef WLAN_FEATURE_LINK_LAYER_STATS
10912/**
10913 @brief WDI_LLStatsSetReq
10914 This API is called to send set link layer stats request to FW
10915
10916 @param pwdiLLStatsSetReqParams : pointer to set link layer stats params
10917 wdiLLStatsSetRspCb : set link layer stats response callback
10918 usrData : Client context
10919 @see
10920 @return SUCCESS or FAIL
10921*/
10922WDI_Status WDI_LLStatsSetReq
10923(
10924 WDI_LLStatsSetReqType* pwdiLLStatsSetReqParams,
10925 WDI_LLStatsSetRspCb wdiLLStatsSetRspCb,
10926 void* pUserData
10927);
10928
10929/**
10930 @brief WDI_LLStatsGetReq
10931 This API is called to send get link layer stats request in FW
10932
10933 @param pwdiLLStatsGetParams : pointer to get link layer stats params
10934 wdiLLStatsGetRspCb : get link layer stats response callback
10935 usrData : Client context
10936 @see
10937 @return SUCCESS or FAIL
10938*/
10939WDI_Status WDI_LLStatsGetReq
10940(
10941 WDI_LLStatsGetReqType* pwdiLLStatsGetReqParams,
10942 WDI_LLStatsGetRspCb wdiLLStatsGetRspCb,
10943 void* pUserData
10944);
10945
10946/**
10947 @brief WDI_LLStatsClearReq
10948 This API is called to set clear link layer stats request in FW
10949
10950 @param pwdiLLStatsClearReqParams : pointer to clear link layer stats params
10951 iwdiLLStatsClearRspCb : clear link layer stats response callback
10952 usrData : Client context
10953 @see
10954 @return SUCCESS or FAIL
10955*/
10956WDI_Status WDI_LLStatsClearReq
10957(
10958 WDI_LLStatsClearReqType* pwdiLLStatsClearReqParams,
10959 WDI_LLStatsClearRspCb wdiLLStatsClearRspCb,
10960 void* pUserData
10961);
10962#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
10963
Rajeev79dbe4c2013-10-05 11:03:42 +053010964#ifdef FEATURE_WLAN_BATCH_SCAN
10965/**
10966 @brief WDI_SetBatchScanReq
10967 This API is called to set batch scan request in FW
10968
10969 @param pBatchScanReqParam : pointer to set batch scan re param
10970 usrData : Client context
10971 setBatchScanRspCb : set batch scan resp callback
10972 @see
10973 @return SUCCESS or FAIL
10974*/
10975WDI_Status WDI_SetBatchScanReq
10976(
10977 void *pBatchScanReqParam,
10978 void *usrData,
10979 WDI_SetBatchScanCb setBatchScanRspCb
10980);
10981
10982/**
10983 @brief WDI_StopBatchScanInd
10984
10985 @param none
10986
10987 @see
10988
10989 @return Status of the request
10990*/
10991WDI_Status
10992WDI_StopBatchScanInd(WDI_StopBatchScanIndType *pWdiReq);
10993
10994/**
10995 @brief WDI_TriggerBatchScanResultInd
10996 This API is called to pull batch scan result from FW
10997
10998 @param pBatchScanReqParam : pointer to trigger batch scan ind param
10999 usrData : Client context
11000 setBatchScanRspCb : get batch scan resp callback
11001 @see
11002 @return SUCCESS or FAIL
11003*/
11004WDI_Status
11005WDI_TriggerBatchScanResultInd(WDI_TriggerBatchScanResultIndType *pWdiReq);
11006
11007
11008#endif /*FEATURE_WLAN_BATCH_SCAN*/
11009
Sandeep Puligilla8b8b74b2014-02-10 16:39:05 +053011010/**
11011 @brief wdi_HT40OBSSScanInd
11012 This API is called to start OBSS scan
11013
11014 @param pWdiReq : pointer to get ind param
11015 @see
11016 @return SUCCESS or FAIL
11017*/
11018
11019WDI_Status WDI_HT40OBSSScanInd(WDI_HT40ObssScanParamsType *pWdiReq);
11020
11021/**
11022 @brief wdi_HT40OBSSStopScanInd
11023 This API is called to stop OBSS scan
11024
11025 @param bssIdx : bssIdx to stop
11026 @see
11027 @return SUCCESS or FAIL
11028*/
11029
11030WDI_Status WDI_HT40OBSSStopScanInd(wpt_uint8 bssIdx);
11031
c_hpothu92367912014-05-01 15:18:17 +053011032
11033WDI_Status WDI_GetBcnMissRate( void *pUserData,
11034 WDI_GetBcnMissRateCb wdiGetBcnMissRateCb,
11035 wpt_uint8 *bssid
11036 );
11037
Jeff Johnson295189b2012-06-20 16:38:30 -070011038#ifdef __cplusplus
11039 }
11040#endif
11041
Jeff Johnson295189b2012-06-20 16:38:30 -070011042#endif /* #ifndef WLAN_QCT_WDI_H */