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