blob: fcce9ba5ebeebe12d17ab66c68257b594c1a9572 [file] [log] [blame]
Jeff Johnson295189b2012-06-20 16:38:30 -07001/*
Gopichand Nakkala92f07d82013-01-08 21:16:34 -08002 * Copyright (c) 2012-2013, 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/*
Jeff Johnson32d95a32012-09-10 13:15:23 -070022 * Copyright (c) 2012, The Linux Foundation. All rights reserved.
Jeff Johnson295189b2012-06-20 16:38:30 -070023 *
24 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
25 *
26 *
27 * Permission to use, copy, modify, and/or distribute this software for
28 * any purpose with or without fee is hereby granted, provided that the
29 * above copyright notice and this permission notice appear in all
30 * copies.
31 *
32 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
33 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
34 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
35 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
36 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
37 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
38 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
39 * PERFORMANCE OF THIS SOFTWARE.
40 */
41
42#ifndef WLAN_QCT_WDI_H
43#define WLAN_QCT_WDI_H
44
45/*===========================================================================
46
47 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
48 E X T E R N A L A P I
49
50
51DESCRIPTION
52 This file contains the external API exposed by the wlan transport layer
53 module.
54
55
56 Copyright (c) 2010-2011 QUALCOMM Incorporated.
57 All Rights Reserved.
58 Qualcomm Confidential and Proprietary
59===========================================================================*/
60
61
62/*===========================================================================
63
64 EDIT HISTORY FOR FILE
65
66
67 This section contains comments describing changes made to the module.
68 Notice that changes are listed in reverse chronological order.
69
70
71 $Header:$ $DateTime: $ $Author: $
72
73
74when who what, where, why
75-------- --- ----------------------------------------------------------
7610/05/11 hap Adding support for Keep Alive
7708/04/10 lti Created module.
78
79===========================================================================*/
80
81
82
83/*===========================================================================
84
85 INCLUDE FILES FOR MODULE
86
87===========================================================================*/
88
89/*----------------------------------------------------------------------------
90 * Include Files
91 * -------------------------------------------------------------------------*/
92#include "wlan_qct_pal_api.h"
93#include "wlan_qct_pal_type.h"
94#include "wlan_qct_pack_align.h"
95#include "wlan_qct_wdi_cfg.h"
96
97/*----------------------------------------------------------------------------
98 * Preprocessor Definitions and Constants
99 * -------------------------------------------------------------------------*/
100#ifdef __cplusplus
101 extern "C" {
102#endif
103
104/* MAC ADDRESS LENGTH - per spec*/
105#define WDI_MAC_ADDR_LEN 6
106
107/* Max number of 11b rates -> 1,2,5.5,11 */
108#define WDI_NUM_11B_RATES 4
109
110/* Max number of 11g rates -> 6,9,12,18,24,36,48,54*/
111#define WDI_NUM_11A_RATES 8
112
113/* Max number of legacy rates -> 72, 96, 108*/
114#define WDI_NUM_POLARIS_RATES 3
115
116/* Max supported MCS set*/
117#define WDI_MAC_MAX_SUPPORTED_MCS_SET 16
118
119/*Max number of Access Categories for QoS - per spec */
120#define WDI_MAX_NO_AC 4
121
122/*Max. size for reserving the Beacon Template */
123#define WDI_BEACON_TEMPLATE_SIZE 0x180
124
125#define WDI_WOWL_BCAST_PATTERN_MAX_SIZE 128
126
127#define WDI_WOWL_BCAST_MAX_NUM_PATTERNS 16
128
129#define WDI_MAX_SSID_SIZE 32
130
131/* The shared memory between WDI and HAL is 4K so maximum data can be transferred
132from WDI to HAL is 4K.This 4K should also include the Message header so sending 4K
133of NV fragment is nt possbile.The next multiple of 1Kb is 3K */
134
135#define FRAGMENT_SIZE 3072
136
137/* Macro to find the total number fragments of the NV Image*/
Madan Mohan Koyyalamudia53c4dc2012-11-13 10:35:42 -0800138#define TOTALFRAGMENTS(x) (((x % FRAGMENT_SIZE) == 0) ? (x / FRAGMENT_SIZE):((x / FRAGMENT_SIZE) + 1))
Jeff Johnson295189b2012-06-20 16:38:30 -0700139
140/* Beacon Filter Length*/
141#define WDI_BEACON_FILTER_LEN 70
142
143/* Coex Indication data size - should match WLAN_COEX_IND_DATA_SIZE */
144#define WDI_COEX_IND_DATA_SIZE (4)
145
146#define WDI_CIPHER_SEQ_CTR_SIZE 6
147
148#define WDI_NUM_BSSID 2
149
150/*Version string max length (including NUL) */
151#define WDI_VERSION_LENGTH 64
152
153
154/*WDI Response timeout - how long will WDI wait for a response from the device
155 - it should be large enough to allow any other failure mechanism to kick
156 in before we get to a timeout (ms units)*/
157#define WDI_RESPONSE_TIMEOUT 10000
158
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -0700159/* SSR timeout - If Riva initiated SSR doesn't happen during this time, then the
160 * Apps initiated SSR will be performed */
161#define WDI_SSR_TIMEOUT 5000
162
Jeff Johnson295189b2012-06-20 16:38:30 -0700163#define WDI_SET_POWER_STATE_TIMEOUT 10000 /* in msec a very high upper limit */
164
Yue Mab9c86f42013-08-14 15:59:08 -0700165/* Periodic Tx pattern offload feature */
166#define PERIODIC_TX_PTRN_MAX_SIZE 1536
167#define MAXNUM_PERIODIC_TX_PTRNS 6
168
Jeff Johnson295189b2012-06-20 16:38:30 -0700169/*============================================================================
170 * GENERIC STRUCTURES
171
172============================================================================*/
173
174/*---------------------------------------------------------------------------
175 WDI Version Information
176---------------------------------------------------------------------------*/
177typedef struct
178{
179 wpt_uint8 revision;
180 wpt_uint8 version;
181 wpt_uint8 minor;
182 wpt_uint8 major;
183} WDI_WlanVersionType;
184
185/*---------------------------------------------------------------------------
186 WDI Device Capability
187---------------------------------------------------------------------------*/
188typedef struct
189{
190 /*If this flag is true it means that the device can support 802.3/ETH2 to
191 802.11 translation*/
192 wpt_boolean bFrameXtlSupported;
193
194 /*Maximum number of BSSes supported by the Device */
195 wpt_uint8 ucMaxBSSSupported;
196
197 /*Maximum number of stations supported by the Device */
198 wpt_uint8 ucMaxSTASupported;
199}WDI_DeviceCapabilityType;
200
201/*---------------------------------------------------------------------------
202 WDI Channel Offset
203---------------------------------------------------------------------------*/
204typedef enum
205{
206 WDI_SECONDARY_CHANNEL_OFFSET_NONE = 0,
207 WDI_SECONDARY_CHANNEL_OFFSET_UP = 1,
Jeff Johnsone7245742012-09-05 17:12:55 -0700208 WDI_SECONDARY_CHANNEL_OFFSET_DOWN = 3,
209#ifdef WLAN_FEATURE_11AC
210 WDI_CHANNEL_20MHZ_LOW_40MHZ_CENTERED = 4, //20/40MHZ offset LOW 40/80MHZ offset CENTERED
211 WDI_CHANNEL_20MHZ_CENTERED_40MHZ_CENTERED = 5, //20/40MHZ offset CENTERED 40/80MHZ offset CENTERED
212 WDI_CHANNEL_20MHZ_HIGH_40MHZ_CENTERED = 6, //20/40MHZ offset HIGH 40/80MHZ offset CENTERED
213 WDI_CHANNEL_20MHZ_LOW_40MHZ_LOW = 7,//20/40MHZ offset LOW 40/80MHZ offset LOW
214 WDI_CHANNEL_20MHZ_HIGH_40MHZ_LOW = 8, //20/40MHZ offset HIGH 40/80MHZ offset LOW
215 WDI_CHANNEL_20MHZ_LOW_40MHZ_HIGH = 9, //20/40MHZ offset LOW 40/80MHZ offset HIGH
216 WDI_CHANNEL_20MHZ_HIGH_40MHZ_HIGH = 10,//20/40MHZ offset-HIGH 40/80MHZ offset HIGH
217#endif
218 WDI_SECONDARY_CHANNEL_OFFSET_MAX
Jeff Johnson295189b2012-06-20 16:38:30 -0700219}WDI_HTSecondaryChannelOffset;
220
221/*---------------------------------------------------------------------------
222 WDI_MacFrameCtl
223 Frame control field format (2 bytes)
224---------------------------------------------------------------------------*/
225typedef struct
226{
227 wpt_uint8 protVer :2;
228 wpt_uint8 type :2;
229 wpt_uint8 subType :4;
230
231 wpt_uint8 toDS :1;
232 wpt_uint8 fromDS :1;
233 wpt_uint8 moreFrag :1;
234 wpt_uint8 retry :1;
235 wpt_uint8 powerMgmt :1;
236 wpt_uint8 moreData :1;
237 wpt_uint8 wep :1;
238 wpt_uint8 order :1;
239
240} WDI_MacFrameCtl;
241
242/*---------------------------------------------------------------------------
243 WDI Sequence control field
244---------------------------------------------------------------------------*/
245typedef struct
246{
247 wpt_uint8 fragNum : 4;
248 wpt_uint8 seqNumLo : 4;
249 wpt_uint8 seqNumHi : 8;
250} WDI_MacSeqCtl;
251
252/*---------------------------------------------------------------------------
253 Management header format
254---------------------------------------------------------------------------*/
255typedef struct
256{
257 WDI_MacFrameCtl fc;
258 wpt_uint8 durationLo;
259 wpt_uint8 durationHi;
260 wpt_uint8 da[WDI_MAC_ADDR_LEN];
261 wpt_uint8 sa[WDI_MAC_ADDR_LEN];
262 wpt_macAddr bssId;
263 WDI_MacSeqCtl seqControl;
264} WDI_MacMgmtHdr;
265
266/*---------------------------------------------------------------------------
267 NV Blob management sturcture
268 ---------------------------------------------------------------------------*/
269
270typedef struct
271{
272 /* NV image fragments count */
273 wpt_uint16 usTotalFragment;
274
275 /* NV fragment size */
276 wpt_uint16 usFragmentSize;
277
278 /* current fragment to be sent */
279 wpt_uint16 usCurrentFragment;
280
281} WDI_NvBlobInfoParams;
282
283
284/*---------------------------------------------------------------------------
285 Data path enums memory pool resource
286 ---------------------------------------------------------------------------*/
287
288typedef enum
289{
290 /* managment resource pool ID */
291 WDI_MGMT_POOL_ID = 0,
292 /* Data resource pool ID */
293 WDI_DATA_POOL_ID = 1
294}WDI_ResPoolType;
295
296/*============================================================================
297 * GENERIC STRUCTURES - END
298 ============================================================================*/
299
300/*----------------------------------------------------------------------------
301 * Type Declarations
302 * -------------------------------------------------------------------------*/
303/*---------------------------------------------------------------------------
304 WDI Status
305---------------------------------------------------------------------------*/
306typedef enum
307{
308 WDI_STATUS_SUCCESS, /* Operation has completed successfully*/
309 WDI_STATUS_SUCCESS_SYNC, /* Operation has completed successfully in a
310 synchronous way - no rsp will be generated*/
311 WDI_STATUS_PENDING, /* Operation result is pending and will be
312 provided asynchronously through the Req Status
313 Callback */
314 WDI_STATUS_E_FAILURE, /* Operation has ended in a generic failure*/
315 WDI_STATUS_RES_FAILURE, /* Operation has ended in a resource failure*/
316 WDI_STATUS_MEM_FAILURE, /* Operation has ended in a memory allocation
317 failure*/
318 WDI_STATUS_E_NOT_ALLOWED, /* Operation is not allowed in the current state
319 of the driver*/
320 WDI_STATUS_E_NOT_IMPLEMENT, /* Operation is not yet implemented*/
321
322 WDI_STATUS_DEV_INTERNAL_FAILURE, /*An internal error has occurred in the device*/
323 WDI_STATUS_MAX
324
325}WDI_Status;
326
327
328/*---------------------------------------------------------------------------
329 WDI_ReqStatusCb
330
331 DESCRIPTION
332
333 This callback is invoked by DAL to deliver to UMAC the result of posting
334 a previous request for which the return status was PENDING.
335
336 PARAMETERS
337
338 IN
339 wdiStatus: response status received from the Control Transport
340 pUserData: user data
341
342
343
344 RETURN VALUE
345 The result code associated with performing the operation
346---------------------------------------------------------------------------*/
347typedef void (*WDI_ReqStatusCb)(WDI_Status wdiStatus,
348 void* pUserData);
349
350/*---------------------------------------------------------------------------
351 WDI_LowLevelIndEnumType
352 Types of indication that can be posted to UMAC by DAL
353---------------------------------------------------------------------------*/
354typedef enum
355{
356 /*When RSSI monitoring is enabled of the Lower MAC and a threshold has been
357 passed. */
358 WDI_RSSI_NOTIFICATION_IND,
359
360 /*Link loss in the low MAC */
361 WDI_MISSED_BEACON_IND,
362
363 /*when hardware has signaled an unknown addr2 frames. The indication will
364 contain info from frames to be passed to the UMAC, this may use this info to
365 deauth the STA*/
366 WDI_UNKNOWN_ADDR2_FRAME_RX_IND,
367
368 /*MIC Failure detected by HW*/
369 WDI_MIC_FAILURE_IND,
370
371 /*Fatal Error Ind*/
372 WDI_FATAL_ERROR_IND,
373
374 /*Delete Station Ind*/
375 WDI_DEL_STA_IND,
376
377 /*Indication from Coex*/
378 WDI_COEX_IND,
379
380 /* Indication for Tx Complete */
381 WDI_TX_COMPLETE_IND,
382
383 /*.P2P_NOA_Attr_Indication */
384 WDI_P2P_NOA_ATTR_IND,
385
386 /* Preferred Network Found Indication */
387 WDI_PREF_NETWORK_FOUND_IND,
388
389 WDI_WAKE_REASON_IND,
390
391 /* Tx PER Tracking Indication */
392 WDI_TX_PER_HIT_IND,
Viral Modid86bde22012-12-10 13:09:21 -0800393
Viral Modid86bde22012-12-10 13:09:21 -0800394 /* P2P_NOA_Start_Indication */
395 WDI_P2P_NOA_START_IND,
Viral Modid86bde22012-12-10 13:09:21 -0800396
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530397 /* TDLS_Indication */
398 WDI_TDLS_IND,
399
Leo Changd9df8aa2013-09-26 13:32:26 -0700400 /* LPHB Indication from FW to umac */
401 WDI_LPHB_IND,
Leo Chang9056f462013-08-01 19:21:11 -0700402
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700403 /* IBSS Peer Inactivity Indication */
404 WDI_IBSS_PEER_INACTIVITY_IND,
405
Yue Mab9c86f42013-08-14 15:59:08 -0700406 /* Periodic Tx Pattern FW Indication */
407 WDI_PERIODIC_TX_PTRN_FW_IND,
408
Rajeev79dbe4c2013-10-05 11:03:42 +0530409#ifdef FEATURE_WLAN_BATCH_SCAN
410 /*Batch scan result indication from FW*/
411 WDI_BATCH_SCAN_RESULT_IND,
412#endif
413
Leo Chang0b0e45a2013-12-15 15:18:55 -0800414#ifdef FEATURE_WLAN_CH_AVOID
415 WDI_CH_AVOID_IND,
416#endif /* FEATURE_WLAN_CH_AVOID */
417
Jeff Johnson295189b2012-06-20 16:38:30 -0700418 WDI_MAX_IND
419}WDI_LowLevelIndEnumType;
420
421
422/*---------------------------------------------------------------------------
423 WDI_LowRSSIThIndType
424---------------------------------------------------------------------------*/
425typedef struct
426{
427 /*Positive crossing of Rssi Thresh1*/
428 wpt_uint32 bRssiThres1PosCross : 1;
429 /*Negative crossing of Rssi Thresh1*/
430 wpt_uint32 bRssiThres1NegCross : 1;
431 /*Positive crossing of Rssi Thresh2*/
432 wpt_uint32 bRssiThres2PosCross : 1;
433 /*Negative crossing of Rssi Thresh2*/
434 wpt_uint32 bRssiThres2NegCross : 1;
435 /*Positive crossing of Rssi Thresh3*/
436 wpt_uint32 bRssiThres3PosCross : 1;
437 /*Negative crossing of Rssi Thresh3*/
438 wpt_uint32 bRssiThres3NegCross : 1;
439
Srinivasdaaec712012-12-12 15:59:44 -0800440 wpt_uint32 avgRssi : 8;
441 wpt_uint32 bReserved : 18;
Jeff Johnson295189b2012-06-20 16:38:30 -0700442
443}WDI_LowRSSIThIndType;
444
445
446/*---------------------------------------------------------------------------
447 WDI_UnkAddr2FrmRxIndType
448---------------------------------------------------------------------------*/
449typedef struct
450{
451 /*Rx Bd data of the unknown received addr2 frame.*/
452 void* bufRxBd;
453
454 /*Buffer Length*/
455 wpt_uint16 usBufLen;
456}WDI_UnkAddr2FrmRxIndType;
457
458/*---------------------------------------------------------------------------
459 WDI_DeleteSTAIndType
460---------------------------------------------------------------------------*/
461typedef struct
462{
463 /*ASSOC ID, as assigned by UMAC*/
464 wpt_uint16 usAssocId;
465
466 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
467 wpt_uint8 ucSTAIdx;
468
469 /*BSSID of STA*/
470 wpt_macAddr macBSSID;
471
472 /*MAC ADDR of STA*/
473 wpt_macAddr macADDR2;
474
475 /* To unify the keepalive / unknown A2 / tim-based disa*/
476 wpt_uint16 wptReasonCode;
477
478}WDI_DeleteSTAIndType;
479
480/*---------------------------------------------------------------------------
481 WDI_MicFailureIndType
482---------------------------------------------------------------------------*/
483typedef struct
484{
485 /*current BSSID*/
486 wpt_macAddr bssId;
487
488 /*Source mac address*/
489 wpt_macAddr macSrcAddr;
490
491 /*Transmitter mac address*/
492 wpt_macAddr macTaAddr;
493
494 /*Destination mac address*/
495 wpt_macAddr macDstAddr;
496
497 /*Multicast flag*/
498 wpt_uint8 ucMulticast;
499
500 /*First byte of IV*/
501 wpt_uint8 ucIV1;
502
503 /*Key Id*/
504 wpt_uint8 keyId;
505
506 /*Sequence Number*/
507 wpt_uint8 TSC[WDI_CIPHER_SEQ_CTR_SIZE];
508
509 /*receive address */
510 wpt_macAddr macRxAddr;
511}WDI_MicFailureIndType;
512
513/*---------------------------------------------------------------------------
514 WDI_CoexIndType
515---------------------------------------------------------------------------*/
516typedef struct
517{
518 wpt_uint32 coexIndType;
519 wpt_uint32 coexIndData[WDI_COEX_IND_DATA_SIZE];
520} WDI_CoexIndType;
521
522/*---------------------------------------------------------------------------
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +0530523 WDI_DHCPInd
524---------------------------------------------------------------------------*/
525
526typedef struct
527{
528 wpt_uint8 device_mode;
529 wpt_uint8 macAddr[WDI_MAC_ADDR_LEN];
530}WDI_DHCPInd;
531
532/*---------------------------------------------------------------------------
533
Jeff Johnson295189b2012-06-20 16:38:30 -0700534 WDI_MacSSid
535---------------------------------------------------------------------------*/
536typedef struct
537{
538 wpt_uint8 ucLength;
539 wpt_uint8 sSSID[WDI_MAX_SSID_SIZE];
540} WDI_MacSSid;
541
542#ifdef FEATURE_WLAN_SCAN_PNO
543/*---------------------------------------------------------------------------
544 WDI_PrefNetworkFoundInd
545---------------------------------------------------------------------------*/
546typedef struct
547{
548 /* Network that was found with the highest RSSI*/
Srikant Kuppa066904f2013-05-07 13:56:02 -0700549 WDI_MacSSid ssId;
Jeff Johnson295189b2012-06-20 16:38:30 -0700550 /* Indicates the RSSI */
Srikant Kuppa066904f2013-05-07 13:56:02 -0700551 wpt_uint8 rssi;
552 wpt_uint16 frameLength;
553 wpt_uint8 *pData;
Jeff Johnson295189b2012-06-20 16:38:30 -0700554} WDI_PrefNetworkFoundInd;
555#endif // FEATURE_WLAN_SCAN_PNO
556
Jeff Johnson295189b2012-06-20 16:38:30 -0700557/*---------------------------------------------------------------------------
558 *WDI_P2pNoaAttrIndType
559 *-------------------------------------------------------------------------*/
Jeff Johnson295189b2012-06-20 16:38:30 -0700560typedef struct
561{
562 wpt_uint8 ucIndex ;
563 wpt_uint8 ucOppPsFlag ;
564 wpt_uint16 usCtWin ;
565
566 wpt_uint16 usNoa1IntervalCnt;
567 wpt_uint16 usRsvd1 ;
568 wpt_uint32 uslNoa1Duration;
569 wpt_uint32 uslNoa1Interval;
570 wpt_uint32 uslNoa1StartTime;
571
572 wpt_uint16 usNoa2IntervalCnt;
573 wpt_uint16 usRsvd2;
574 wpt_uint32 uslNoa2Duration;
575 wpt_uint32 uslNoa2Interval;
576 wpt_uint32 uslNoa2StartTime;
577
578 wpt_uint32 status;
579}WDI_P2pNoaAttrIndType;
Viral Modid86bde22012-12-10 13:09:21 -0800580
581/*---------------------------------------------------------------------------
582 *WDI_P2pNoaStartIndType
583 *-------------------------------------------------------------------------*/
584typedef struct
585{
586 wpt_uint32 status;
587 wpt_uint32 bssIdx;
588}WDI_P2pNoaStartIndType;
589
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530590/*---------------------------------------------------------------------------
591 *WDI_TdlsIndType
592 *-------------------------------------------------------------------------*/
593typedef struct
594{
595 wpt_uint16 status;
596 wpt_uint16 assocId;
597 wpt_uint16 staIdx;
598 wpt_uint16 reasonCode;
599}WDI_TdlsIndType;
Jeff Johnson295189b2012-06-20 16:38:30 -0700600
601#ifdef WLAN_WAKEUP_EVENTS
602/*---------------------------------------------------------------------------
603 WDI_WakeReasonIndType
604---------------------------------------------------------------------------*/
605typedef struct
606{
607 wpt_uint32 ulReason; /* see tWakeReasonType */
608 wpt_uint32 ulReasonArg; /* argument specific to the reason type */
609 wpt_uint32 ulStoredDataLen; /* length of optional data stored in this message, in case
610 HAL truncates the data (i.e. data packets) this length
611 will be less than the actual length */
612 wpt_uint32 ulActualDataLen; /* actual length of data */
613 wpt_uint8 aDataStart[1]; /* variable length start of data (length == storedDataLen)
614 see specific wake type */
615} WDI_WakeReasonIndType;
616#endif // WLAN_WAKEUP_EVENTS
617
618/*---------------------------------------------------------------------------
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800619 WDI_MissedBeaconIndType
620-----------------------------------------------------------------------------*/
621typedef struct
622{
623 wpt_uint8 bssIdx; /*bssidx on which beacon is missed*/
624} WDI_MissedBeaconIndType;
625
Leo Chang9056f462013-08-01 19:21:11 -0700626#ifdef FEATURE_WLAN_LPHB
627/*---------------------------------------------------------------------------
628 WDI_LPHBTimeoutIndData
629-----------------------------------------------------------------------------*/
630typedef struct
631{
632 wpt_uint8 bssIdx;
633 wpt_uint8 sessionIdx;
634 wpt_uint8 protocolType; /*TCP or UDP*/
635 wpt_uint8 eventReason;
636} WDI_LPHBTimeoutIndData;
637#endif /* FEATURE_WLAN_LPHB */
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800638
Yue Mab9c86f42013-08-14 15:59:08 -0700639/*-----------------------------------------------------------------------------
640WDI_PeriodicTxPtrnFwIndType
641-----------------------------------------------------------------------------*/
642typedef struct
643{
644 wpt_uint8 bssIdx;
645 wpt_uint32 selfStaIdx;
646 wpt_uint32 status;
647 wpt_uint32 patternIdBitmap;
648} WDI_PeriodicTxPtrnFwIndType;
649
Rajeev79dbe4c2013-10-05 11:03:42 +0530650#ifdef FEATURE_WLAN_BATCH_SCAN
651/*---------------------------------------------------------------------------
652 WDI_SetBatchScanReqType
653---------------------------------------------------------------------------*/
654typedef struct
655{
656 wpt_uint32 scanFrequency; /* how frequent to do scan default 30Sec*/
657 wpt_uint32 numberOfScansToBatch; /* number of scans to batch */
658 wpt_uint32 bestNetwork; /* best networks in terms of rssi */
659 wpt_uint8 rfBand; /* band to scan :
660 0 ->both Band, 1->2.4Ghz Only
661 and 2-> 5GHz Only */
662 wpt_uint32 rtt; /* set if required to do RTT it is not
663 supported in current version */
664}WDI_SetBatchScanReqType;
665
666/*---------------------------------------------------------------------------
667 WDI_SetBatchScanRspType
668---------------------------------------------------------------------------*/
669typedef struct
670{
671 /*max number of scans which FW can cache*/
672 wpt_uint32 nScansToBatch;
673}WDI_SetBatchScanRspType;
674
675/*---------------------------------------------------------------------------
676 WDI_TriggerBatchScanResultIndType
677---------------------------------------------------------------------------*/
678typedef struct
679{
680 wpt_uint32 param;
681}WDI_TriggerBatchScanResultIndType;
682
683/*---------------------------------------------------------------------------
684 WDI_StopBatchScanIndType
685---------------------------------------------------------------------------*/
686typedef struct
687{
688 /*max number of scans which FW can cache*/
689 wpt_uint32 param;
690}WDI_StopBatchScanIndType;
691
692
693/*---------------------------------------------------------------------------
694 * WDI_BatchScanResultIndType
695 *--------------------------------------------------------------------------*/
696typedef struct
697{
698 wpt_uint32 bssid[6]; /* BSSID */
699 wpt_uint32 ssid[32]; /* SSID */
700 wpt_uint32 ch; /* Channel */
701 wpt_uint32 rssi; /* RSSI or Level */
702 /* Timestamp when Network was found. Used to calculate age based on
703 timestamp in GET_RSP msg header */
704 wpt_uint32 timestamp;
705} tWDIBatchScanNetworkInfo, *tpWDIBatchScanNetworkInfo;
706
707typedef struct
708{
709 wpt_uint32 scanId; /*Scan List ID*/
710 /*No of AP in a Scan Result. Should be same as bestNetwork in SET_REQ msg*/
711 wpt_uint32 numNetworksInScanList;
712 /*Variable data ptr: Number of AP in Scan List*/
713 wpt_uint32 scanList[1];
714} tWDIBatchScanList, *tpWDIBatchScanList;
715
716typedef struct
717{
718 wpt_uint32 timestamp;
719 wpt_uint32 numScanLists;
720 wpt_boolean isLastResult;
721 /* Variable Data ptr: Number of Scan Lists*/
722 wpt_uint32 scanResults[1];
723} tWDIBatchScanResultParam, *tpWDIBatchScanResultParam;
724
725#endif
726
727
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800728/*---------------------------------------------------------------------------
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700729 WDI_IbssPeerInactivityIndType
730-----------------------------------------------------------------------------*/
731typedef struct
732{
733 wpt_uint8 bssIdx;
734 wpt_uint8 staIdx;
735 wpt_macAddr staMacAddr;
736}WDI_IbssPeerInactivityIndType;
737
738/*---------------------------------------------------------------------------
Chittajit Mitraf5413a42013-10-18 14:20:08 -0700739 WDI_TxRateFlags
740-----------------------------------------------------------------------------*/
741typedef enum
742{
743 WDI_TX_RATE_LEGACY = 0x1, /* Legacy rates */
744 WDI_TX_RATE_HT20 = 0x2, /* HT20 rates */
745 WDI_TX_RATE_HT40 = 0x4, /* HT40 rates */
746 WDI_TX_RATE_SGI = 0x8, /* Rate with Short guard interval */
747 WDI_TX_RATE_LGI = 0x10, /* Rate with Long guard interval */
748 WDI_TX_RATE_VHT20 = 0x20, /* VHT 20 rates */
749 WDI_TX_RATE_VHT40 = 0x40, /* VHT 20 rates */
750 WDI_TX_RATE_VHT80 = 0x80, /* VHT 20 rates */
751 WDI_TX_RATE_VIRT = 0x100, /* Virtual Rate */
752} WDI_TxRateFlags;
753
754/*---------------------------------------------------------------------------
755 WDI_RateUpdateIndParams
756-----------------------------------------------------------------------------*/
757typedef struct
758{
759 /* 0 implies RA, positive value implies fixed rate, -1 implies ignore this
760 * param ucastDataRate can be used to control RA behavior of unicast data to
761 */
762 wpt_int32 ucastDataRate;
763
764 /* TX flag to differentiate between HT20, HT40 etc */
765 WDI_TxRateFlags ucastDataRateTxFlag;
766
767 /* BSSID - Optional. 00-00-00-00-00-00 implies apply to all BCAST STAs */
768 wpt_macAddr bssid;
769
770 /*
771 * 0 implies MCAST RA, positive value implies fixed rate,
772 * -1 implies ignore this param
773 */
774 wpt_int32 reliableMcastDataRate; //unit Mbpsx10
775
776 /* TX flag to differentiate between HT20, HT40 etc */
777 WDI_TxRateFlags reliableMcastDataRateTxFlag;
778
779 /*
780 * MCAST(or BCAST) fixed data rate in 2.4 GHz, unit Mbpsx10,
781 * 0 implies ignore
782 */
783 wpt_uint32 mcastDataRate24GHz;
784
785 /* TX flag to differentiate between HT20, HT40 etc */
786 WDI_TxRateFlags mcastDataRate24GHzTxFlag;
787
788 /*
789 * MCAST(or BCAST) fixed data rate in 5 GHz,
790 * unit Mbpsx10, 0 implies ignore
791 */
792 wpt_uint32 mcastDataRate5GHz;
793
794 /* TX flag to differentiate between HT20, HT40 etc */
795 WDI_TxRateFlags mcastDataRate5GHzTxFlag;
796
797 /*
798 * Request status callback offered by UMAC - it is called if the current
799 * req has returned PENDING as status; it delivers the status of sending
800 * the message over the BUS
801 */
802 WDI_ReqStatusCb wdiReqStatusCB;
803
804 /*
805 * The user data passed in by UMAC, it will be sent back when the above
806 * function pointer will be called
807 */
808 void *pUserData;
809
810} WDI_RateUpdateIndParams;
811
Leo Chang0b0e45a2013-12-15 15:18:55 -0800812#ifdef FEATURE_WLAN_CH_AVOID
813#define WDI_CH_AVOID_MAX_RANGE 4
814
815typedef struct
816{
817 wpt_uint32 startFreq;
818 wpt_uint32 endFreq;
819} WDI_ChAvoidFreqType;
820
821typedef struct
822{
823 wpt_uint32 avoidRangeCount;
824 WDI_ChAvoidFreqType avoidFreqRange[WDI_CH_AVOID_MAX_RANGE];
825} WDI_ChAvoidIndType;
826#endif /* FEATURE_WLAN_CH_AVOID */
827
Chittajit Mitraf5413a42013-10-18 14:20:08 -0700828/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -0700829 WDI_LowLevelIndType
830 Inidcation type and information about the indication being carried
831 over
832---------------------------------------------------------------------------*/
833typedef struct
834{
835 /*Inidcation type*/
836 WDI_LowLevelIndEnumType wdiIndicationType;
837
838 /*Indication data*/
839 union
840 {
841 /*RSSI Threshold Info for WDI_LOW_RSSI_IND*/
842 WDI_LowRSSIThIndType wdiLowRSSIInfo;
843
844 /*Addr2 Frame Info for WDI_UNKNOWN_ADDR2_FRAME_RX_IND*/
845 WDI_UnkAddr2FrmRxIndType wdiUnkAddr2FrmInfo;
846
847 /*MIC Failure info for WDI_MIC_FAILURE_IND*/
848 WDI_MicFailureIndType wdiMICFailureInfo;
849
850 /*Error code for WDI_FATAL_ERROR_IND*/
851 wpt_uint16 usErrorCode;
852
853 /*Delete STA Indication*/
854 WDI_DeleteSTAIndType wdiDeleteSTAIndType;
855
856 /*Coex Indication*/
857 WDI_CoexIndType wdiCoexInfo;
858
859 /* Tx Complete Indication */
860 wpt_uint32 tx_complete_status;
861
Jeff Johnson295189b2012-06-20 16:38:30 -0700862 /* P2P NOA ATTR Indication */
863 WDI_P2pNoaAttrIndType wdiP2pNoaAttrInfo;
Viral Modid86bde22012-12-10 13:09:21 -0800864 WDI_P2pNoaStartIndType wdiP2pNoaStartInfo;
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530865 /* TDLS Indications */
866 WDI_TdlsIndType wdiTdlsIndInfo;
Jeff Johnson295189b2012-06-20 16:38:30 -0700867
868
869#ifdef FEATURE_WLAN_SCAN_PNO
870 WDI_PrefNetworkFoundInd wdiPrefNetworkFoundInd;
871#endif // FEATURE_WLAN_SCAN_PNO
872
873#ifdef WLAN_WAKEUP_EVENTS
874 WDI_WakeReasonIndType wdiWakeReasonInd;
875#endif // WLAN_WAKEUP_EVENTS
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800876 WDI_MissedBeaconIndType wdiMissedBeaconInd;
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700877
Leo Chang9056f462013-08-01 19:21:11 -0700878#ifdef FEATURE_WLAN_LPHB
879 WDI_LPHBTimeoutIndData wdiLPHBTimeoutInd;
880#endif /* FEATURE_WLAN_LPHB */
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700881
882 /* IBSS Peer Inactivity Indication */
883 WDI_IbssPeerInactivityIndType wdiIbssPeerInactivityInd;
884
Yue Mab9c86f42013-08-14 15:59:08 -0700885 /* Periodic TX Pattern FW Indication */
886 WDI_PeriodicTxPtrnFwIndType wdiPeriodicTxPtrnFwInd;
Rajeev79dbe4c2013-10-05 11:03:42 +0530887
888#ifdef FEATURE_WLAN_BATCH_SCAN
889 /*batch scan result indication from FW*/
890 void *pBatchScanResult;
891#endif
892
Leo Chang0b0e45a2013-12-15 15:18:55 -0800893#ifdef FEATURE_WLAN_CH_AVOID
894 WDI_ChAvoidIndType wdiChAvoidInd;
895#endif /* FEATURE_WLAN_CH_AVOID */
Jeff Johnson295189b2012-06-20 16:38:30 -0700896 } wdiIndicationData;
897}WDI_LowLevelIndType;
898
899/*---------------------------------------------------------------------------
900 WDI_LowLevelIndCBType
901
902 DESCRIPTION
903
904 This callback is invoked by DAL to deliver to UMAC certain indications
905 that has either received from the lower device or has generated itself.
906
907 PARAMETERS
908
909 IN
910 pwdiInd: information about the indication sent over
911 pUserData: user data provided by UMAC during registration
912
913
914
915 RETURN VALUE
916 The result code associated with performing the operation
917---------------------------------------------------------------------------*/
918typedef void (*WDI_LowLevelIndCBType)(WDI_LowLevelIndType* pwdiInd,
919 void* pUserData);
920
921/*---------------------------------------------------------------------------
922 WDI_DriverType
923---------------------------------------------------------------------------*/
924typedef enum
925{
926 WDI_DRIVER_TYPE_PRODUCTION = 0,
927 WDI_DRIVER_TYPE_MFG = 1,
928 WDI_DRIVER_TYPE_DVT = 2
929} WDI_DriverType;
930
931/*---------------------------------------------------------------------------
932 WDI_StartReqParamsType
933---------------------------------------------------------------------------*/
934typedef struct
935{
936 /*This is a TLV formatted buffer containing all config values that can
937 be set through the DAL Interface
938
939 The TLV is expected to be formatted like this:
940
941 0 7 15 31 ....
942 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
943
944 Or from a C construct point of VU it would look like this:
945
946 typedef struct WPT_PACK_POST
947 {
948 #ifdef WPT_BIG_ENDIAN
949 wpt_uint32 ucCfgId:8;
950 wpt_uint32 ucCfgLen:8;
951 wpt_uint32 usReserved:16;
952 #else
953 wpt_uint32 usReserved:16;
954 wpt_uint32 ucCfgLen:8;
955 wpt_uint32 ucCfgId:8;
956 #endif
957
958 wpt_uint8 ucCfgBody[ucCfgLen];
959 }WDI_ConfigType;
960
961 Multiple such tuplets are to be placed in the config buffer. One for
962 each required configuration item:
963
964 | TLV 1 | TLV2 | ....
965
966 The buffer is expected to be a flat area of memory that can be manipulated
967 with standard memory routines.
968
969 For more info please check paragraph 2.3.1 Config Structure from the
970 HAL LLD.
971
972 For a list of accepted configuration list and IDs please look up
973 wlan_qct_dal_cfg.h
974
975 */
976 void* pConfigBuffer;
977
978 /*Length of the config buffer above*/
979 wpt_uint16 usConfigBufferLen;
980
981 /*Production or FTM driver*/
982 WDI_DriverType wdiDriverType;
983
984 /*Should device enable frame translation */
985 wpt_uint8 bFrameTransEnabled;
986
987 /*Request status callback offered by UMAC - it is called if the current
988 req has returned PENDING as status; it delivers the status of sending
989 the message over the BUS */
990 WDI_ReqStatusCb wdiReqStatusCB;
991
992 /*The user data passed in by UMAC, it will be sent back when the above
993 function pointer will be called */
994 void* pUserData;
995
996 /*Indication callback given by UMAC to be called by the WLAN DAL when it
997 wishes to send something back independent of a request*/
998 WDI_LowLevelIndCBType wdiLowLevelIndCB;
999
1000 /*The user data passed in by UMAC, it will be sent back when the indication
1001 function pointer will be called */
1002 void* pIndUserData;
1003}WDI_StartReqParamsType;
1004
1005
1006/*---------------------------------------------------------------------------
1007 WDI_StartRspParamsType
1008---------------------------------------------------------------------------*/
1009typedef struct
1010{
1011 /*Status of the response*/
1012 WDI_Status wdiStatus;
1013
1014 /*Max number of STA supported by the device*/
1015 wpt_uint8 ucMaxStations;
1016
1017 /*Max number of BSS supported by the device*/
1018 wpt_uint8 ucMaxBssids;
1019
1020 /*Version of the WLAN HAL API with which we were compiled*/
1021 WDI_WlanVersionType wlanCompiledVersion;
1022
1023 /*Version of the WLAN HAL API that was reported*/
1024 WDI_WlanVersionType wlanReportedVersion;
1025
1026 /*WCNSS Software version string*/
1027 wpt_uint8 wcnssSoftwareVersion[WDI_VERSION_LENGTH];
1028
1029 /*WCNSS Hardware version string*/
1030 wpt_uint8 wcnssHardwareVersion[WDI_VERSION_LENGTH];
1031}WDI_StartRspParamsType;
1032
1033
1034/*---------------------------------------------------------------------------
1035 WDI_StopType
1036---------------------------------------------------------------------------*/
1037typedef enum
1038{
1039 /*Device is being stopped due to a reset*/
1040 WDI_STOP_TYPE_SYS_RESET,
1041
1042 /*Device is being stopped due to entering deep sleep*/
1043 WDI_STOP_TYPE_SYS_DEEP_SLEEP,
1044
1045 /*Device is being stopped because the RF needs to shut off
1046 (e.g.:Airplane mode)*/
1047 WDI_STOP_TYPE_RF_KILL
1048}WDI_StopType;
1049
1050/*---------------------------------------------------------------------------
1051 WDI_StopReqParamsType
1052---------------------------------------------------------------------------*/
1053typedef struct
1054{
1055
1056 /*The reason for which the device is being stopped*/
1057 WDI_StopType wdiStopReason;
1058
1059 /*Request status callback offered by UMAC - it is called if the current
1060 req has returned PENDING as status; it delivers the status of sending
1061 the message over the BUS */
1062 WDI_ReqStatusCb wdiReqStatusCB;
1063
1064 /*The user data passed in by UMAC, it will be sent back when the above
1065 function pointer will be called */
1066 void* pUserData;
1067}WDI_StopReqParamsType;
1068
1069
1070/*---------------------------------------------------------------------------
1071 WDI_ScanMode
1072---------------------------------------------------------------------------*/
1073typedef enum
1074{
1075 WDI_SCAN_MODE_NORMAL = 0,
1076 WDI_SCAN_MODE_LEARN,
1077 WDI_SCAN_MODE_SCAN,
1078 WDI_SCAN_MODE_PROMISC,
Madan Mohan Koyyalamudi9b876782012-10-11 16:22:51 -07001079 WDI_SCAN_MODE_SUSPEND_LINK,
1080 WDI_SCAN_MODE_ROAM_SCAN,
1081 WDI_SCAN_MODE_ROAM_SUSPEND_LINK,
1082
Jeff Johnson295189b2012-06-20 16:38:30 -07001083} WDI_ScanMode;
1084
1085/*---------------------------------------------------------------------------
1086 WDI_ScanEntry
1087---------------------------------------------------------------------------*/
1088typedef struct
1089{
1090 wpt_uint8 bssIdx[WDI_NUM_BSSID];
1091 wpt_uint8 activeBSScnt;
1092}WDI_ScanEntry;
1093
1094/*---------------------------------------------------------------------------
1095 WDI_InitScanReqInfoType
1096---------------------------------------------------------------------------*/
1097typedef struct
1098{
1099 /*LEARN - AP Role
1100 SCAN - STA Role*/
1101 WDI_ScanMode wdiScanMode;
1102
1103 /*BSSID of the BSS*/
1104 wpt_macAddr macBSSID;
1105
1106 /*Whether BSS needs to be notified*/
1107 wpt_boolean bNotifyBSS;
1108
1109 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
1110 CTS to Self). Must always be a valid frame type.*/
1111 wpt_uint8 ucFrameType;
1112
1113 /*UMAC has the option of passing the MAC frame to be used for notifying
1114 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
1115 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
1116 frameType.*/
1117 wpt_uint8 ucFrameLength;
1118
1119 /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/
1120 WDI_MacMgmtHdr wdiMACMgmtHdr;
1121
1122 /*Entry to hold number of active BSS to send NULL frames before
1123 * initiating SCAN*/
1124 WDI_ScanEntry wdiScanEntry;
1125
1126 /* Flag to enable/disable Single NOA*/
1127 wpt_boolean bUseNOA;
1128
1129 /* Indicates the scan duration (in ms) */
1130 wpt_uint16 scanDuration;
1131
1132}WDI_InitScanReqInfoType;
1133
1134/*---------------------------------------------------------------------------
1135 WDI_InitScanReqParamsType
1136---------------------------------------------------------------------------*/
1137typedef struct
1138{
1139 /*The info associated with the request that needs to be sent over to the
1140 device*/
1141 WDI_InitScanReqInfoType wdiReqInfo;
1142
1143 /*Request status callback offered by UMAC - it is called if the current
1144 req has returned PENDING as status; it delivers the status of sending
1145 the message over the BUS */
1146 WDI_ReqStatusCb wdiReqStatusCB;
1147
1148 /*The user data passed in by UMAC, it will be sent back when the above
1149 function pointer will be called */
1150 void* pUserData;
1151}WDI_InitScanReqParamsType;
1152
1153/*---------------------------------------------------------------------------
1154 WDI_StartScanReqParamsType
1155---------------------------------------------------------------------------*/
1156typedef struct
1157{
1158 /*Indicates the channel to scan*/
1159 wpt_uint8 ucChannel;
1160
1161 /*Request status callback offered by UMAC - it is called if the current
1162 req has returned PENDING as status; it delivers the status of sending
1163 the message over the BUS */
1164 WDI_ReqStatusCb wdiReqStatusCB;
1165
1166 /*The user data passed in by UMAC, it will be sent back when the above
1167 function pointer will be called */
1168 void* pUserData;
1169}WDI_StartScanReqParamsType;
1170
1171/*---------------------------------------------------------------------------
1172 WDI_StartScanRspParamsType
1173---------------------------------------------------------------------------*/
1174typedef struct
1175{
1176 /*Indicates the status of the operation */
1177 WDI_Status wdiStatus;
1178
1179#if defined WLAN_FEATURE_VOWIFI
1180 wpt_uint32 aStartTSF[2];
1181 wpt_int8 ucTxMgmtPower;
1182#endif
1183}WDI_StartScanRspParamsType;
1184
1185/*---------------------------------------------------------------------------
1186 WDI_EndScanReqParamsType
1187---------------------------------------------------------------------------*/
1188typedef struct
1189{
1190 /*Indicates the channel to stop scanning. Not used really. But retained
1191 for symmetry with "start Scan" message. It can also help in error
1192 check if needed.*/
1193 wpt_uint8 ucChannel;
1194
1195 /*Request status callback offered by UMAC - it is called if the current
1196 req has returned PENDING as status; it delivers the status of sending
1197 the message over the BUS */
1198 WDI_ReqStatusCb wdiReqStatusCB;
1199
1200 /*The user data passed in by UMAC, it will be sent back when the above
1201 function pointer will be called */
1202 void* pUserData;
1203}WDI_EndScanReqParamsType;
1204
1205/*---------------------------------------------------------------------------
1206 WDI_PhyChanBondState
1207---------------------------------------------------------------------------*/
1208typedef enum
1209{
1210 WDI_PHY_SINGLE_CHANNEL_CENTERED = 0,
1211 WDI_PHY_DOUBLE_CHANNEL_LOW_PRIMARY = 1,
1212 WDI_PHY_DOUBLE_CHANNEL_CENTERED = 2,
Jeff Johnsone7245742012-09-05 17:12:55 -07001213 WDI_PHY_DOUBLE_CHANNEL_HIGH_PRIMARY = 3,
1214#ifdef WLAN_FEATURE_11AC
1215 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_CENTERED = 4, //20/40MHZ offset LOW 40/80MHZ offset CENTERED
1216 WDI_QUADRUPLE_CHANNEL_20MHZ_CENTERED_40MHZ_CENTERED = 5, //20/40MHZ offset CENTERED 40/80MHZ offset CENTERED
1217 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_CENTERED = 6, //20/40MHZ offset HIGH 40/80MHZ offset CENTERED
1218 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_LOW = 7,//20/40MHZ offset LOW 40/80MHZ offset LOW
1219 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_LOW = 8, //20/40MHZ offset HIGH 40/80MHZ offset LOW
1220 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_HIGH = 9, //20/40MHZ offset LOW 40/80MHZ offset HIGH
1221 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_HIGH = 10,//20/40MHZ offset-HIGH 40/80MHZ offset HIGH
1222#endif
1223 WDI_MAX_CB_STATE
Jeff Johnson295189b2012-06-20 16:38:30 -07001224} WDI_PhyChanBondState;
1225
1226/*---------------------------------------------------------------------------
1227 WDI_FinishScanReqInfoType
1228---------------------------------------------------------------------------*/
1229typedef struct
1230{
1231 /*LEARN - AP Role
1232 SCAN - STA Role*/
1233 WDI_ScanMode wdiScanMode;
1234
1235 /*Operating channel to tune to.*/
1236 wpt_uint8 ucCurrentOperatingChannel;
1237
1238 /*Channel Bonding state If 20/40 MHz is operational, this will indicate the
1239 40 MHz extension channel in combination with the control channel*/
1240 WDI_PhyChanBondState wdiCBState;
1241
1242 /*BSSID of the BSS*/
1243 wpt_macAddr macBSSID;
1244
1245 /*Whether BSS needs to be notified*/
1246 wpt_boolean bNotifyBSS;
1247
1248 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
1249 CTS to Self). Must always be a valid frame type.*/
1250 wpt_uint8 ucFrameType;
1251
1252 /*UMAC has the option of passing the MAC frame to be used for notifying
1253 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
1254 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
1255 frameType.*/
1256 wpt_uint8 ucFrameLength;
1257
1258 /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/
1259 WDI_MacMgmtHdr wdiMACMgmtHdr;
1260
1261 /*Entry to hold number of active BSS to send NULL frames after SCAN*/
1262 WDI_ScanEntry wdiScanEntry;
1263
1264}WDI_FinishScanReqInfoType;
1265
1266/*---------------------------------------------------------------------------
1267 WDI_SwitchChReqInfoType
1268---------------------------------------------------------------------------*/
1269typedef struct
1270{
1271 /*Indicates the channel to switch to.*/
1272 wpt_uint8 ucChannel;
1273
1274 /*Local power constraint*/
1275 wpt_uint8 ucLocalPowerConstraint;
1276
1277 /*Secondary channel offset */
1278 WDI_HTSecondaryChannelOffset wdiSecondaryChannelOffset;
1279
1280#ifdef WLAN_FEATURE_VOWIFI
1281 wpt_int8 cMaxTxPower;
1282
1283 /*Self STA Mac address*/
1284 wpt_macAddr macSelfStaMacAddr;
1285#endif
1286 /* VO Wifi comment: BSSID is needed to identify which session issued this request. As the
1287 request has power constraints, this should be applied only to that session */
1288 /* V IMP: Keep bssId field at the end of this msg. It is used to mantain backward compatbility
1289 * by way of ignoring if using new host/old FW or old host/new FW since it is at the end of this struct
1290 */
1291 wpt_macAddr macBSSId;
1292
1293}WDI_SwitchChReqInfoType;
1294
1295/*---------------------------------------------------------------------------
1296 WDI_SwitchChReqParamsType
1297---------------------------------------------------------------------------*/
1298typedef struct
1299{
1300 /*Channel Info*/
1301 WDI_SwitchChReqInfoType wdiChInfo;
1302
1303 /*Request status callback offered by UMAC - it is called if the current
1304 req has returned PENDING as status; it delivers the status of sending
1305 the message over the BUS */
1306 WDI_ReqStatusCb wdiReqStatusCB;
1307
1308 /*The user data passed in by UMAC, it will be sent back when the above
1309 function pointer will be called */
1310 void* pUserData;
1311}WDI_SwitchChReqParamsType;
1312
1313/*---------------------------------------------------------------------------
1314 WDI_FinishScanReqParamsType
1315---------------------------------------------------------------------------*/
1316typedef struct
1317{
1318 /*Info for the Finish Scan request that will be sent down to the device*/
1319 WDI_FinishScanReqInfoType wdiReqInfo;
1320
1321 /*Request status callback offered by UMAC - it is called if the current
1322 req has returned PENDING as status; it delivers the status of sending
1323 the message over the BUS */
1324 WDI_ReqStatusCb wdiReqStatusCB;
1325
1326 /*The user data passed in by UMAC, it will be sent back when the above
1327 function pointer will be called */
1328 void* pUserData;
1329}WDI_FinishScanReqParamsType;
1330
1331/*---------------------------------------------------------------------------
1332 WDI_JoinReqInfoType
1333---------------------------------------------------------------------------*/
1334typedef struct
1335{
1336 /*Indicates the BSSID to which STA is going to associate*/
1337 wpt_macAddr macBSSID;
1338
1339 /*Indicates the MAC Address of the current Self STA*/
1340 wpt_macAddr macSTASelf;
1341
1342 /*Indicates the link State determining the entity Type e.g. BTAMP-STA, STA etc.*/
1343 wpt_uint32 linkState;
1344
1345 /*Indicates the channel to switch to.*/
1346 WDI_SwitchChReqInfoType wdiChannelInfo;
1347
1348}WDI_JoinReqInfoType;
1349
1350/*---------------------------------------------------------------------------
1351 WDI_JoinReqParamsType
1352---------------------------------------------------------------------------*/
1353typedef struct
1354{
1355 /*Info for the Join request that will be sent down to the device*/
1356 WDI_JoinReqInfoType wdiReqInfo;
1357
1358 /*Request status callback offered by UMAC - it is called if the current
1359 req has returned PENDING as status; it delivers the status of sending
1360 the message over the BUS */
1361 WDI_ReqStatusCb wdiReqStatusCB;
1362
1363 /*The user data passed in by UMAC, it will be sent back when the above
1364 function pointer will be called */
1365 void* pUserData;
1366}WDI_JoinReqParamsType;
1367
1368/*---------------------------------------------------------------------------
1369 WDI_BssType
1370---------------------------------------------------------------------------*/
1371typedef enum
1372{
1373 WDI_INFRASTRUCTURE_MODE,
1374 WDI_INFRA_AP_MODE, //Added for softAP support
1375 WDI_IBSS_MODE,
1376 WDI_BTAMP_STA_MODE,
1377 WDI_BTAMP_AP_MODE,
1378 WDI_BSS_AUTO_MODE,
1379}WDI_BssType;
1380
1381/*---------------------------------------------------------------------------
1382 WDI_NwType
1383---------------------------------------------------------------------------*/
1384typedef enum
1385{
1386 WDI_11A_NW_TYPE,
1387 WDI_11B_NW_TYPE,
1388 WDI_11G_NW_TYPE,
1389 WDI_11N_NW_TYPE,
1390} WDI_NwType;
1391
1392/*---------------------------------------------------------------------------
1393 WDI_ConfigAction
1394---------------------------------------------------------------------------*/
1395typedef enum
1396{
1397 WDI_ADD_BSS,
1398 WDI_UPDATE_BSS
1399} WDI_ConfigAction;
1400
1401/*---------------------------------------------------------------------------
1402 WDI_HTOperatingMode
1403---------------------------------------------------------------------------*/
1404typedef enum
1405{
1406 WDI_HT_OP_MODE_PURE,
1407 WDI_HT_OP_MODE_OVERLAP_LEGACY,
1408 WDI_HT_OP_MODE_NO_LEGACY_20MHZ_HT,
1409 WDI_HT_OP_MODE_MIXED
1410
1411} WDI_HTOperatingMode;
1412
1413
1414/*---------------------------------------------------------------------------
1415 WDI_STAEntryType
1416---------------------------------------------------------------------------*/
1417typedef enum
1418{
1419 WDI_STA_ENTRY_SELF,
1420 WDI_STA_ENTRY_PEER,
1421 WDI_STA_ENTRY_BSSID,
Mohit Khanna698ba2a2012-12-04 15:08:18 -08001422 WDI_STA_ENTRY_BCAST,
1423#ifdef FEATURE_WLAN_TDLS
1424 WDI_STA_ENTRY_TDLS_PEER,
1425#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001426}WDI_STAEntryType;
1427
1428/*---------------------------------------------------------------------------
1429 WDI_ConfigActionType
1430---------------------------------------------------------------------------*/
1431typedef enum
1432{
1433 WDI_ADD_STA,
1434 WDI_UPDATE_STA
1435} WDI_ConfigActionType;
1436
1437/*----------------------------------------------------------------------------
1438 Each station added has a rate mode which specifies the sta attributes
1439 ----------------------------------------------------------------------------*/
1440typedef enum
1441{
1442 WDI_RESERVED_1 = 0,
1443 WDI_RESERVED_2,
1444 WDI_RESERVED_3,
1445 WDI_11b,
1446 WDI_11bg,
1447 WDI_11a,
1448 WDI_11n,
1449} WDI_RateModeType;
1450
1451/*---------------------------------------------------------------------------
1452 WDI_SupportedRatesType
1453---------------------------------------------------------------------------*/
1454typedef struct
1455{
1456 /*
1457 * For Self STA Entry: this represents Self Mode.
1458 * For Peer Stations, this represents the mode of the peer.
1459 * On Station:
1460 * --this mode is updated when PE adds the Self Entry.
1461 * -- OR when PE sends 'ADD_BSS' message and station context in BSS is used to indicate the mode of the AP.
1462 * ON AP:
1463 * -- this mode is updated when PE sends 'ADD_BSS' and Sta entry for that BSS is used
1464 * to indicate the self mode of the AP.
1465 * -- OR when a station is associated, PE sends 'ADD_STA' message with this mode updated.
1466 */
1467
1468 WDI_RateModeType opRateMode;
1469
1470 /* 11b, 11a and aniLegacyRates are IE rates which gives rate in unit of 500Kbps */
1471 wpt_uint16 llbRates[WDI_NUM_11B_RATES];
1472 wpt_uint16 llaRates[WDI_NUM_11A_RATES];
1473 wpt_uint16 aLegacyRates[WDI_NUM_POLARIS_RATES];
1474
1475 /*Taurus only supports 26 Titan Rates(no ESF/concat Rates will be supported)
1476 First 26 bits are reserved for those Titan rates and
1477 the last 4 bits(bit28-31) for Taurus, 2(bit26-27) bits are reserved.*/
1478 wpt_uint32 uEnhancedRateBitmap; //Titan and Taurus Rates
1479
1480 /*
1481 * 0-76 bits used, remaining reserved
1482 * bits 0-15 and 32 should be set.
1483 */
1484 wpt_uint8 aSupportedMCSSet[WDI_MAC_MAX_SUPPORTED_MCS_SET];
1485
1486 /*
1487 * RX Highest Supported Data Rate defines the highest data
1488 * rate that the STA is able to receive, in unites of 1Mbps.
1489 * This value is derived from "Supported MCS Set field" inside
1490 * the HT capability element.
1491 */
1492 wpt_uint16 aRxHighestDataRate;
1493
Jeff Johnsone7245742012-09-05 17:12:55 -07001494
1495#ifdef WLAN_FEATURE_11AC
1496 /*Indicates the Maximum MCS that can be received for each number
1497 of spacial streams */
1498 wpt_uint16 vhtRxMCSMap;
1499 /*Indicate the highest VHT data rate that the STA is able to receive*/
1500 wpt_uint16 vhtRxHighestDataRate;
1501 /*Indicates the Maximum MCS that can be transmitted for each number
1502 of spacial streams */
1503 wpt_uint16 vhtTxMCSMap;
1504 /*Indicate the highest VHT data rate that the STA is able to transmit*/
1505 wpt_uint16 vhtTxHighestDataRate;
1506#endif
1507
Jeff Johnson295189b2012-06-20 16:38:30 -07001508} WDI_SupportedRates;
1509
1510/*--------------------------------------------------------------------------
1511 WDI_HTMIMOPowerSaveState
1512 Spatial Multiplexing(SM) Power Save mode
1513 --------------------------------------------------------------------------*/
1514typedef enum
1515{
1516 WDI_HT_MIMO_PS_STATIC = 0, // Static SM Power Save mode
1517 WDI_HT_MIMO_PS_DYNAMIC = 1, // Dynamic SM Power Save mode
1518 WDI_HT_MIMO_PS_NA = 2, // reserved
1519 WDI_HT_MIMO_PS_NO_LIMIT = 3, // SM Power Save disabled
1520} WDI_HTMIMOPowerSaveState;
1521
1522/*---------------------------------------------------------------------------
1523 WDI_ConfigStaReqInfoType
1524---------------------------------------------------------------------------*/
1525typedef struct
1526{
1527 /*BSSID of STA*/
1528 wpt_macAddr macBSSID;
1529
1530 /*ASSOC ID, as assigned by UMAC*/
1531 wpt_uint16 usAssocId;
1532
1533 /*Used for configuration of different HW modules.*/
1534 WDI_STAEntryType wdiSTAType;
1535
Gopichand Nakkalae7cbc5d2013-03-27 21:09:23 -07001536 /*STA Index */
1537 wpt_uint8 staIdx;
1538
Jeff Johnson295189b2012-06-20 16:38:30 -07001539 /*Short Preamble Supported.*/
1540 wpt_uint8 ucShortPreambleSupported;
1541
1542 /*MAC Address of STA*/
1543 wpt_macAddr macSTA;
1544
1545 /*Listen interval of the STA*/
1546 wpt_uint16 usListenInterval;
1547
1548 /*Support for 11e/WMM*/
1549 wpt_uint8 ucWMMEnabled;
1550
1551 /*11n HT capable STA*/
1552 wpt_uint8 ucHTCapable;
1553
1554 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
1555 wpt_uint8 ucTXChannelWidthSet;
1556
1557 /*RIFS mode 0 - NA, 1 - Allowed*/
1558 wpt_uint8 ucRIFSMode;
1559
1560 /*L-SIG TXOP Protection mechanism
1561 0 - No Support, 1 - Supported
1562 SG - there is global field*/
1563 wpt_uint8 ucLSIGTxopProtection;
1564
1565 /*Max Ampdu Size supported by STA. Device programming.
1566 0 : 8k , 1 : 16k, 2 : 32k, 3 : 64k */
1567 wpt_uint8 ucMaxAmpduSize;
1568
1569 /*Max Ampdu density. Used by RA. 3 : 0~7 : 2^(11nAMPDUdensity -4)*/
1570 wpt_uint8 ucMaxAmpduDensity;
1571
1572 /*Max AMSDU size 1 : 3839 bytes, 0 : 7935 bytes*/
1573 wpt_uint8 ucMaxAmsduSize;
1574
1575 /*Short GI support for 40Mhz packets*/
1576 wpt_uint8 ucShortGI40Mhz;
1577
1578 /*Short GI support for 20Mhz packets*/
1579 wpt_uint8 ucShortGI20Mhz;
1580
1581 /*These rates are the intersection of peer and self capabilities.*/
1582 WDI_SupportedRates wdiSupportedRates;
1583
1584 /*Robust Management Frame (RMF) enabled/disabled*/
1585 wpt_uint8 ucRMFEnabled;
1586
1587 /* The unicast encryption type in the association */
1588 wpt_uint32 ucEncryptType;
1589
1590 /*HAL should update the existing STA entry, if this flag is set. UMAC
1591 will set this flag in case of RE-ASSOC, where we want to reuse the old
1592 STA ID.*/
1593 WDI_ConfigActionType wdiAction;
1594
1595 /*U-APSD Flags: 1b per AC. Encoded as follows:
1596 b7 b6 b5 b4 b3 b2 b1 b0 =
1597 X X X X BE BK VI VO
1598 */
1599 wpt_uint8 ucAPSD;
1600
1601 /*Max SP Length*/
1602 wpt_uint8 ucMaxSPLen;
1603
1604 /*11n Green Field preamble support*/
1605 wpt_uint8 ucGreenFieldCapable;
1606
1607 /*MIMO Power Save mode*/
1608 WDI_HTMIMOPowerSaveState wdiMIMOPS;
1609
1610 /*Delayed BA Support*/
1611 wpt_uint8 ucDelayedBASupport;
1612
1613 /*Max AMPDU duration in 32us*/
1614 wpt_uint8 us32MaxAmpduDuratio;
1615
1616 /*HT STA should set it to 1 if it is enabled in BSS
1617 HT STA should set it to 0 if AP does not support it. This indication is
1618 sent to HAL and HAL uses this flag to pickup up appropriate 40Mhz rates.
1619 */
1620 wpt_uint8 ucDsssCckMode40Mhz;
1621
1622 wpt_uint8 ucP2pCapableSta;
Jeff Johnsone7245742012-09-05 17:12:55 -07001623#ifdef WLAN_FEATURE_11AC
1624 wpt_uint8 ucVhtCapableSta;
1625 wpt_uint8 ucVhtTxChannelWidthSet;
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08001626 wpt_uint8 ucVhtTxBFEnabled;
Jeff Johnsone7245742012-09-05 17:12:55 -07001627#endif
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08001628
1629 wpt_uint8 ucHtLdpcEnabled;
1630 wpt_uint8 ucVhtLdpcEnabled;
Jeff Johnson295189b2012-06-20 16:38:30 -07001631}WDI_ConfigStaReqInfoType;
1632
1633
1634/*---------------------------------------------------------------------------
1635 WDI_RateSet
1636
1637 12 Bytes long because this structure can be used to represent rate
1638 and extended rate set IEs
1639 The parser assume this to be at least 12
1640---------------------------------------------------------------------------*/
1641#define WDI_RATESET_EID_MAX 12
1642
1643typedef struct
1644{
1645 wpt_uint8 ucNumRates;
1646 wpt_uint8 aRates[WDI_RATESET_EID_MAX];
1647} WDI_RateSet;
1648
1649/*---------------------------------------------------------------------------
1650 WDI_AciAifsnType
1651 access category record
1652---------------------------------------------------------------------------*/
1653typedef struct
1654{
1655 wpt_uint8 rsvd : 1;
1656 wpt_uint8 aci : 2;
1657 wpt_uint8 acm : 1;
1658 wpt_uint8 aifsn : 4;
1659} WDI_AciAifsnType;
1660
1661/*---------------------------------------------------------------------------
1662 WDI_CWType
1663 contention window size
1664---------------------------------------------------------------------------*/
1665typedef struct
1666{
1667 wpt_uint8 max : 4;
1668 wpt_uint8 min : 4;
1669} WDI_CWType;
1670
1671/*---------------------------------------------------------------------------
1672 WDI_EdcaParamRecord
1673---------------------------------------------------------------------------*/
1674typedef struct
1675{
1676 /*Access Category Record*/
1677 WDI_AciAifsnType wdiACI;
1678
1679 /*Contention WIndow Size*/
1680 WDI_CWType wdiCW;
1681
1682 /*TX Oportunity Limit*/
1683 wpt_uint16 usTXOPLimit;
1684} WDI_EdcaParamRecord;
1685
1686/*---------------------------------------------------------------------------
1687 WDI_EDCAParamsType
1688---------------------------------------------------------------------------*/
1689typedef struct
1690{
1691 /*BSS Index*/
1692 wpt_uint8 ucBSSIdx;
1693
1694 /*?*/
1695 wpt_boolean bHighPerformance;
1696
1697 /*Best Effort*/
1698 WDI_EdcaParamRecord wdiACBE;
1699
1700 /*Background*/
1701 WDI_EdcaParamRecord wdiACBK;
1702
1703 /*Video*/
1704 WDI_EdcaParamRecord wdiACVI;
1705
1706 /*Voice*/
1707 WDI_EdcaParamRecord acvo; // voice
1708} WDI_EDCAParamsType;
1709
1710/* operMode in ADD BSS message */
1711#define WDI_BSS_OPERATIONAL_MODE_AP 0
1712#define WDI_BSS_OPERATIONAL_MODE_STA 1
1713
1714/*---------------------------------------------------------------------------
1715 WDI_ConfigBSSRspParamsType
1716---------------------------------------------------------------------------*/
1717typedef struct
1718{
1719 /*Status of the response*/
1720 WDI_Status wdiStatus;
1721
1722 /*BSSID of the BSS*/
1723 wpt_macAddr macBSSID;
1724
1725 /*BSS Index*/
1726 wpt_uint8 ucBSSIdx;
1727
1728 /*Unicast DPU signature*/
1729 wpt_uint8 ucUcastSig;
1730
1731 /*Broadcast DPU Signature*/
1732 wpt_uint8 ucBcastSig;
1733
1734 /*MAC Address of STA*/
1735 wpt_macAddr macSTA;
1736
1737 /*BSS STA ID*/
1738 wpt_uint8 ucSTAIdx;
1739
1740#ifdef WLAN_FEATURE_VOWIFI
1741 /*HAL fills in the tx power used for mgmt frames in this field */
1742 wpt_int8 ucTxMgmtPower;
1743#endif
1744
1745}WDI_ConfigBSSRspParamsType;
1746
1747/*---------------------------------------------------------------------------
1748 WDI_DelBSSReqParamsType
1749---------------------------------------------------------------------------*/
1750typedef struct
1751{
1752 /*BSS Index of the BSS*/
1753 wpt_uint8 ucBssIdx;
1754
1755 /*Request status callback offered by UMAC - it is called if the current
1756 req has returned PENDING as status; it delivers the status of sending
1757 the message over the BUS */
1758 WDI_ReqStatusCb wdiReqStatusCB;
1759
1760 /*The user data passed in by UMAC, it will be sent back when the above
1761 function pointer will be called */
1762 void* pUserData;
1763}WDI_DelBSSReqParamsType;
1764
1765/*---------------------------------------------------------------------------
1766 WDI_DelBSSRspParamsType
1767---------------------------------------------------------------------------*/
1768typedef struct
1769{
1770 /*Status of the response*/
1771 WDI_Status wdiStatus;
1772
1773 /*BSSID of the BSS*/
1774 wpt_macAddr macBSSID;
1775
1776 wpt_uint8 ucBssIdx;
1777
1778}WDI_DelBSSRspParamsType;
1779
1780/*---------------------------------------------------------------------------
1781 WDI_ConfigSTARspParamsType
1782---------------------------------------------------------------------------*/
1783typedef struct
1784{
1785 /*Status of the response*/
1786 WDI_Status wdiStatus;
1787
1788 /*STA Idx allocated by HAL*/
1789 wpt_uint8 ucSTAIdx;
1790
1791 /*MAC Address of STA*/
1792 wpt_macAddr macSTA;
1793
1794 /* BSSID Index of BSS to which the station is associated */
1795 wpt_uint8 ucBssIdx;
1796
1797 /* DPU Index - PTK */
1798 wpt_uint8 ucDpuIndex;
1799
1800 /* Bcast DPU Index - GTK */
1801 wpt_uint8 ucBcastDpuIndex;
1802
1803 /* Management DPU Index - IGTK - Why is it called bcastMgmtDpuIdx? */
1804 wpt_uint8 ucBcastMgmtDpuIdx;
1805
1806 /*Unicast DPU signature*/
1807 wpt_uint8 ucUcastSig;
1808
1809 /*Broadcast DPU Signature*/
1810 wpt_uint8 ucBcastSig;
1811
1812 /* IGTK DPU signature*/
1813 wpt_uint8 ucMgmtSig;
1814
1815}WDI_ConfigSTARspParamsType;
1816
1817/*---------------------------------------------------------------------------
1818 WDI_PostAssocRspParamsType
1819---------------------------------------------------------------------------*/
1820typedef struct
1821{
1822 /*Status of the response*/
1823 WDI_Status wdiStatus;
1824
1825 /*Parameters related to the BSS*/
1826 WDI_ConfigBSSRspParamsType bssParams;
1827
1828 /*Parameters related to the self STA*/
1829 WDI_ConfigSTARspParamsType staParams;
1830
1831}WDI_PostAssocRspParamsType;
1832
1833/*---------------------------------------------------------------------------
1834 WDI_DelSTAReqParamsType
1835---------------------------------------------------------------------------*/
1836typedef struct
1837{
1838 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
1839 wpt_uint8 ucSTAIdx;
1840
1841 /*Request status callback offered by UMAC - it is called if the current
1842 req has returned PENDING as status; it delivers the status of sending
1843 the message over the BUS */
1844 WDI_ReqStatusCb wdiReqStatusCB;
1845
1846 /*The user data passed in by UMAC, it will be sent back when the above
1847 function pointer will be called */
1848 void* pUserData;
1849}WDI_DelSTAReqParamsType;
1850
1851/*---------------------------------------------------------------------------
1852 WDI_DelSTARspParamsType
1853---------------------------------------------------------------------------*/
1854typedef struct
1855{
1856 /*Status of the response*/
1857 WDI_Status wdiStatus;
1858
1859 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
1860 wpt_uint8 ucSTAIdx;
1861}WDI_DelSTARspParamsType;
1862
1863/*---------------------------------------------------------------------------
1864 WDI_EncryptType
1865---------------------------------------------------------------------------*/
1866typedef enum
1867{
1868 WDI_ENCR_NONE,
1869 WDI_ENCR_WEP40,
1870 WDI_ENCR_WEP104,
1871 WDI_ENCR_TKIP,
1872 WDI_ENCR_CCMP,
1873#if defined(FEATURE_WLAN_WAPI)
1874 WDI_ENCR_WPI,
1875#endif
1876 WDI_ENCR_AES_128_CMAC
1877} WDI_EncryptType;
1878
1879/*---------------------------------------------------------------------------
1880 WDI_KeyDirectionType
1881---------------------------------------------------------------------------*/
1882typedef enum
1883{
1884 WDI_TX_ONLY,
1885 WDI_RX_ONLY,
1886 WDI_TX_RX,
Jeff Johnson295189b2012-06-20 16:38:30 -07001887 WDI_TX_DEFAULT,
Jeff Johnson295189b2012-06-20 16:38:30 -07001888 WDI_DONOT_USE_KEY_DIRECTION
1889} WDI_KeyDirectionType;
1890
1891#define WDI_MAX_ENCR_KEYS 4
1892#define WDI_MAX_KEY_LENGTH 32
1893#if defined(FEATURE_WLAN_WAPI)
1894#define WDI_MAX_KEY_RSC_LEN 16
1895#define WDI_WAPI_KEY_RSC_LEN 16
1896#else
1897#define WDI_MAX_KEY_RSC_LEN 8
1898#endif
1899
1900typedef struct
1901{
1902 /* Key ID */
1903 wpt_uint8 keyId;
1904 /* 0 for multicast */
1905 wpt_uint8 unicast;
1906 /* Key Direction */
1907 WDI_KeyDirectionType keyDirection;
1908 /* Usage is unknown */
1909 wpt_uint8 keyRsc[WDI_MAX_KEY_RSC_LEN];
1910 /* =1 for authenticator, =0 for supplicant */
1911 wpt_uint8 paeRole;
1912 wpt_uint16 keyLength;
1913 wpt_uint8 key[WDI_MAX_KEY_LENGTH];
1914
1915}WDI_KeysType;
1916
1917/*---------------------------------------------------------------------------
1918 WDI_SetBSSKeyReqInfoType
1919---------------------------------------------------------------------------*/
1920typedef struct
1921{
1922 /*BSS Index of the BSS*/
1923 wpt_uint8 ucBssIdx;
1924
1925 /*Encryption Type used with peer*/
1926 WDI_EncryptType wdiEncType;
1927
1928 /*Number of keys*/
1929 wpt_uint8 ucNumKeys;
1930
1931 /*Array of keys.*/
1932 WDI_KeysType aKeys[WDI_MAX_ENCR_KEYS];
1933
1934 /*Control for Replay Count, 1= Single TID based replay count on Tx
1935 0 = Per TID based replay count on TX */
1936 wpt_uint8 ucSingleTidRc;
1937}WDI_SetBSSKeyReqInfoType;
1938
1939/*---------------------------------------------------------------------------
1940 WDI_SetBSSKeyReqParamsType
1941---------------------------------------------------------------------------*/
1942typedef struct
1943{
1944 /*Key Info */
1945 WDI_SetBSSKeyReqInfoType wdiBSSKeyInfo;
1946
1947 /*Request status callback offered by UMAC - it is called if the current
1948 req has returned PENDING as status; it delivers the status of sending
1949 the message over the BUS */
1950 WDI_ReqStatusCb wdiReqStatusCB;
1951
1952 /*The user data passed in by UMAC, it will be sent back when the above
1953 function pointer will be called */
1954 void* pUserData;
1955}WDI_SetBSSKeyReqParamsType;
1956
1957/*---------------------------------------------------------------------------
1958 WDI_WepType
1959---------------------------------------------------------------------------*/
1960typedef enum
1961{
1962 WDI_WEP_STATIC,
1963 WDI_WEP_DYNAMIC
1964
1965} WDI_WepType;
1966
1967/*---------------------------------------------------------------------------
1968 WDI_RemoveBSSKeyReqInfoType
1969---------------------------------------------------------------------------*/
1970typedef struct
1971{
1972 /*BSS Index of the BSS*/
1973 wpt_uint8 ucBssIdx;
1974
1975 /*Encryption Type used with peer*/
1976 WDI_EncryptType wdiEncType;
1977
1978 /*Key Id*/
1979 wpt_uint8 ucKeyId;
1980
1981 /*STATIC/DYNAMIC. Used in Nullifying in Key Descriptors for Static/Dynamic
1982 keys*/
1983 WDI_WepType wdiWEPType;
1984}WDI_RemoveBSSKeyReqInfoType;
1985
1986/*---------------------------------------------------------------------------
1987 WDI_RemoveBSSKeyReqParamsType
1988---------------------------------------------------------------------------*/
1989typedef struct
1990{
1991 /*Key Info */
1992 WDI_RemoveBSSKeyReqInfoType wdiKeyInfo;
1993
1994 /*Request status callback offered by UMAC - it is called if the current
1995 req has returned PENDING as status; it delivers the status of sending
1996 the message over the BUS */
1997 WDI_ReqStatusCb wdiReqStatusCB;
1998
1999 /*The user data passed in by UMAC, it will be sent back when the above
2000 function pointer will be called */
2001 void* pUserData;
2002}WDI_RemoveBSSKeyReqParamsType;
2003
2004/*---------------------------------------------------------------------------
2005 WDI_SetSTAKeyReqInfoType
2006---------------------------------------------------------------------------*/
2007typedef struct
2008{
2009 /*STA Index*/
2010 wpt_uint8 ucSTAIdx;
2011
2012 /*Encryption Type used with peer*/
2013 WDI_EncryptType wdiEncType;
2014
2015 /*STATIC/DYNAMIC*/
2016 WDI_WepType wdiWEPType;
2017
2018 /*Default WEP key, valid only for static WEP, must between 0 and 3.*/
2019 wpt_uint8 ucDefWEPIdx;
2020
2021 /*Number of keys*/
2022 wpt_uint8 ucNumKeys;
2023
2024 /*Array of keys.*/
2025 WDI_KeysType wdiKey[WDI_MAX_ENCR_KEYS];
2026
2027 /*Control for Replay Count, 1= Single TID based replay count on Tx
2028 0 = Per TID based replay count on TX */
2029 wpt_uint8 ucSingleTidRc;
2030}WDI_SetSTAKeyReqInfoType;
2031
2032/*---------------------------------------------------------------------------
2033 WDI_ConfigBSSReqInfoType
2034---------------------------------------------------------------------------*/
2035typedef struct
2036{
2037 /*Peer BSSID*/
2038 wpt_macAddr macBSSID;
2039
2040 /*Self MAC Address*/
2041 wpt_macAddr macSelfAddr;
2042
2043 /*BSS Type*/
2044 WDI_BssType wdiBSSType;
2045
2046 /*Operational Mode: AP =0, STA = 1*/
2047 wpt_uint8 ucOperMode;
2048
2049 /*Network Type*/
2050 WDI_NwType wdiNWType;
2051
2052 /*Used to classify PURE_11G/11G_MIXED to program MTU*/
2053 wpt_uint8 ucShortSlotTimeSupported;
2054
2055 /*Co-exist with 11a STA*/
2056 wpt_uint8 ucllaCoexist;
2057
2058 /*Co-exist with 11b STA*/
2059 wpt_uint8 ucllbCoexist;
2060
2061 /*Co-exist with 11g STA*/
2062 wpt_uint8 ucllgCoexist;
2063
2064 /*Coexistence with 11n STA*/
2065 wpt_uint8 ucHT20Coexist;
2066
2067 /*Non GF coexist flag*/
2068 wpt_uint8 ucllnNonGFCoexist;
2069
2070 /*TXOP protection support*/
2071 wpt_uint8 ucTXOPProtectionFullSupport;
2072
2073 /*RIFS mode*/
2074 wpt_uint8 ucRIFSMode;
2075
2076 /*Beacon Interval in TU*/
2077 wpt_uint16 usBeaconInterval;
2078
2079 /*DTIM period*/
2080 wpt_uint8 ucDTIMPeriod;
2081
2082 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
2083 wpt_uint8 ucTXChannelWidthSet;
2084
2085 /*Operating channel*/
2086 wpt_uint8 ucCurrentOperChannel;
2087
2088 /*Extension channel for channel bonding*/
2089 wpt_uint8 ucCurrentExtChannel;
2090
2091 /*Context of the station being added in HW.*/
2092 WDI_ConfigStaReqInfoType wdiSTAContext;
2093
2094 /*SSID of the BSS*/
2095 WDI_MacSSid wdiSSID;
2096
2097 /*HAL should update the existing BSS entry, if this flag is set. UMAC will
2098 set this flag in case of RE-ASSOC, where we want to reuse the old BSSID*/
2099 WDI_ConfigAction wdiAction;
2100
2101 /*Basic Rate Set*/
2102 WDI_RateSet wdiRateSet;
2103
2104 /*Enable/Disable HT capabilities of the BSS*/
2105 wpt_uint8 ucHTCapable;
2106
2107 /* Enable/Disable OBSS protection */
2108 wpt_uint8 ucObssProtEnabled;
2109
2110 /*RMF enabled/disabled*/
2111 wpt_uint8 ucRMFEnabled;
2112
2113 /*Determines the current HT Operating Mode operating mode of the
2114 802.11n STA*/
2115 WDI_HTOperatingMode wdiHTOperMod;
2116
2117 /*Dual CTS Protection: 0 - Unused, 1 - Used*/
2118 wpt_uint8 ucDualCTSProtection;
2119
2120 /* Probe Response Max retries */
2121 wpt_uint8 ucMaxProbeRespRetryLimit;
2122
2123 /* To Enable Hidden ssid */
2124 wpt_uint8 bHiddenSSIDEn;
2125
2126 /* To Enable Disable FW Proxy Probe Resp */
2127 wpt_uint8 bProxyProbeRespEn;
2128
2129 /* Boolean to indicate if EDCA params are valid. UMAC might not have valid
2130 EDCA params or might not desire to apply EDCA params during config BSS.
2131 0 implies Not Valid ; Non-Zero implies valid*/
2132 wpt_uint8 ucEDCAParamsValid;
2133
2134 /*EDCA Parameters for BK*/
2135 WDI_EdcaParamRecord wdiBKEDCAParams;
2136
2137 /*EDCA Parameters for BE*/
2138 WDI_EdcaParamRecord wdiBEEDCAParams;
2139
2140 /*EDCA Parameters for VI*/
2141 WDI_EdcaParamRecord wdiVIEDCAParams;
2142
2143 /*EDCA Parameters for VO*/
2144 WDI_EdcaParamRecord wdiVOEDCAParams;
2145
2146#ifdef WLAN_FEATURE_VOWIFI
2147 /*max power to be used after applying the power constraint, if any */
2148 wpt_int8 cMaxTxPower;
2149#endif
2150
2151 /* Persona for the BSS can be STA,AP,GO,CLIENT, same as Connection Mode */
2152 wpt_uint8 ucPersona;
2153
2154 /* Spectrum Mangement Indicator */
2155 wpt_uint8 bSpectrumMgtEn;
2156
2157#ifdef WLAN_FEATURE_VOWIFI_11R
2158 wpt_uint8 bExtSetStaKeyParamValid;
2159 WDI_SetSTAKeyReqInfoType wdiExtSetKeyParam;
2160#endif
2161
Jeff Johnsone7245742012-09-05 17:12:55 -07002162#ifdef WLAN_FEATURE_11AC
2163 wpt_uint8 ucVhtCapableSta;
2164 wpt_uint8 ucVhtTxChannelWidthSet;
2165#endif
2166
Jeff Johnson295189b2012-06-20 16:38:30 -07002167}WDI_ConfigBSSReqInfoType;
2168
2169/*---------------------------------------------------------------------------
2170 WDI_PostAssocReqParamsType
2171---------------------------------------------------------------------------*/
2172typedef struct
2173{
2174 /*Config STA arguments.*/
2175 WDI_ConfigStaReqInfoType wdiSTAParams;
2176
2177 /*Config BSS Arguments*/
2178 WDI_ConfigBSSReqInfoType wdiBSSParams;
2179
2180 /*Request status callback offered by UMAC - it is called if the current
2181 req has returned PENDING as status; it delivers the status of sending
2182 the message over the BUS */
2183 WDI_ReqStatusCb wdiReqStatusCB;
2184
2185 /*The user data passed in by UMAC, it will be sent back when the above
2186 function pointer will be called */
2187 void* pUserData;
2188}WDI_PostAssocReqParamsType;
2189
2190/*---------------------------------------------------------------------------
2191 WDI_ConfigBSSReqParamsType
2192---------------------------------------------------------------------------*/
2193typedef struct
2194{
2195 /*Info for the Join request that will be sent down to the device*/
2196 WDI_ConfigBSSReqInfoType wdiReqInfo;
2197
2198 /*Request status callback offered by UMAC - it is called if the current
2199 req has returned PENDING as status; it delivers the status of sending
2200 the message over the BUS */
2201 WDI_ReqStatusCb wdiReqStatusCB;
2202
2203 /*The user data passed in by UMAC, it will be sent back when the above
2204 function pointer will be called */
2205 void* pUserData;
2206}WDI_ConfigBSSReqParamsType;
2207
2208/*---------------------------------------------------------------------------
2209 WDI_SetSTAKeyReqParamsType
2210---------------------------------------------------------------------------*/
2211typedef struct
2212{
2213 /*Key Info*/
2214 WDI_SetSTAKeyReqInfoType wdiKeyInfo;
2215
2216 /*Request status callback offered by UMAC - it is called if the current
2217 req has returned PENDING as status; it delivers the status of sending
2218 the message over the BUS */
2219 WDI_ReqStatusCb wdiReqStatusCB;
2220
2221 /*The user data passed in by UMAC, it will be sent back when the above
2222 function pointer will be called */
2223 void* pUserData;
2224}WDI_SetSTAKeyReqParamsType;
2225
2226/*---------------------------------------------------------------------------
2227 WDI_RemoveSTAKeyReqInfoType
2228---------------------------------------------------------------------------*/
2229typedef struct
2230{
2231 /*STA Index*/
2232 wpt_uint8 ucSTAIdx;
2233
2234 /*Encryption Type used with peer*/
2235 WDI_EncryptType wdiEncType;
2236
2237 /*Key Id*/
2238 wpt_uint8 ucKeyId;
2239
2240 /*Whether to invalidate the Broadcast key or Unicast key. In case of WEP,
2241 the same key is used for both broadcast and unicast.*/
2242 wpt_uint8 ucUnicast;
2243}WDI_RemoveSTAKeyReqInfoType;
2244
2245/*---------------------------------------------------------------------------
2246 WDI_RemoveSTAKeyReqParamsType
2247---------------------------------------------------------------------------*/
2248typedef struct
2249{
2250 /*Key Info */
2251 WDI_RemoveSTAKeyReqInfoType wdiKeyInfo;
2252
2253 /*Request status callback offered by UMAC - it is called if the current
2254 req has returned PENDING as status; it delivers the status of sending
2255 the message over the BUS */
2256 WDI_ReqStatusCb wdiReqStatusCB;
2257
2258 /*The user data passed in by UMAC, it will be sent back when the above
2259 function pointer will be called */
2260 void* pUserData;
2261}WDI_RemoveSTAKeyReqParamsType;
2262
2263/*---------------------------------------------------------------------------
2264 QOS Parameters
2265---------------------------------------------------------------------------*/
2266
2267/*---------------------------------------------------------------------------
2268 WDI_TSInfoTfc
2269---------------------------------------------------------------------------*/
2270typedef struct
2271{
2272 wpt_uint16 ackPolicy:2;
2273 wpt_uint16 userPrio:3;
2274 wpt_uint16 psb:1;
2275 wpt_uint16 aggregation : 1;
2276 wpt_uint16 accessPolicy : 2;
2277 wpt_uint16 direction : 2;
2278 wpt_uint16 tsid : 4;
2279 wpt_uint16 trafficType : 1;
2280} WDI_TSInfoTfc;
2281
2282/*---------------------------------------------------------------------------
2283 WDI_TSInfoSch
2284---------------------------------------------------------------------------*/
2285typedef struct
2286{
2287 wpt_uint8 rsvd : 7;
2288 wpt_uint8 schedule : 1;
2289} WDI_TSInfoSch;
2290
2291/*---------------------------------------------------------------------------
2292 WDI_TSInfoType
2293---------------------------------------------------------------------------*/
2294typedef struct
2295{
2296 WDI_TSInfoTfc wdiTraffic;
2297 WDI_TSInfoSch wdiSchedule;
2298} WDI_TSInfoType;
2299
2300/*---------------------------------------------------------------------------
2301 WDI_TspecIEType
2302---------------------------------------------------------------------------*/
2303typedef struct
2304{
2305 wpt_uint8 ucType;
2306 wpt_uint8 ucLength;
2307 WDI_TSInfoType wdiTSinfo;
2308 wpt_uint16 usNomMsduSz;
2309 wpt_uint16 usMaxMsduSz;
2310 wpt_uint32 uMinSvcInterval;
2311 wpt_uint32 uMaxSvcInterval;
2312 wpt_uint32 uInactInterval;
2313 wpt_uint32 uSuspendInterval;
2314 wpt_uint32 uSvcStartTime;
2315 wpt_uint32 uMinDataRate;
2316 wpt_uint32 uMeanDataRate;
2317 wpt_uint32 uPeakDataRate;
2318 wpt_uint32 uMaxBurstSz;
2319 wpt_uint32 uDelayBound;
2320 wpt_uint32 uMinPhyRate;
2321 wpt_uint16 usSurplusBw;
2322 wpt_uint16 usMediumTime;
2323}WDI_TspecIEType;
2324
2325/*---------------------------------------------------------------------------
2326 WDI_AddTSReqInfoType
2327---------------------------------------------------------------------------*/
2328typedef struct
2329{
2330 /*STA Index*/
2331 wpt_uint8 ucSTAIdx;
2332
2333 /*Identifier for TSpec*/
2334 wpt_uint16 ucTspecIdx;
2335
2336 /*Tspec IE negotiated OTA*/
2337 WDI_TspecIEType wdiTspecIE;
2338
2339 /*UAPSD delivery and trigger enabled flags */
2340 wpt_uint8 ucUapsdFlags;
2341
2342 /*SI for each AC*/
2343 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
2344
2345 /*Suspend Interval for each AC*/
2346 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
2347
2348 /*DI for each AC*/
2349 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
2350
2351}WDI_AddTSReqInfoType;
2352
2353
2354/*---------------------------------------------------------------------------
2355 WDI_AddTSReqParamsType
2356---------------------------------------------------------------------------*/
2357typedef struct
2358{
2359 /*TSpec Info */
2360 WDI_AddTSReqInfoType wdiTsInfo;
2361
2362 /*Request status callback offered by UMAC - it is called if the current
2363 req has returned PENDING as status; it delivers the status of sending
2364 the message over the BUS */
2365 WDI_ReqStatusCb wdiReqStatusCB;
2366
2367 /*The user data passed in by UMAC, it will be sent back when the above
2368 function pointer will be called */
2369 void* pUserData;
2370}WDI_AddTSReqParamsType;
2371
2372/*---------------------------------------------------------------------------
2373 WDI_DelTSReqInfoType
2374---------------------------------------------------------------------------*/
2375typedef struct
2376{
2377 /*STA Index*/
2378 wpt_uint8 ucSTAIdx;
2379
2380 /*Identifier for TSpec*/
2381 wpt_uint16 ucTspecIdx;
2382
2383 /*BSSID of the BSS*/
2384 wpt_macAddr macBSSID;
2385}WDI_DelTSReqInfoType;
2386
2387/*---------------------------------------------------------------------------
2388 WDI_DelTSReqParamsType
2389---------------------------------------------------------------------------*/
2390typedef struct
2391{
2392 /*Del TSpec Info*/
2393 WDI_DelTSReqInfoType wdiDelTSInfo;
2394
2395 /*Request status callback offered by UMAC - it is called if the current
2396 req has returned PENDING as status; it delivers the status of sending
2397 the message over the BUS */
2398 WDI_ReqStatusCb wdiReqStatusCB;
2399
2400 /*The user data passed in by UMAC, it will be sent back when the above
2401 function pointer will be called */
2402 void* pUserData;
2403}WDI_DelTSReqParamsType;
2404
2405/*---------------------------------------------------------------------------
2406 WDI_UpdateEDCAInfoType
2407---------------------------------------------------------------------------*/
2408typedef struct
2409{
krunal soni0b366c02013-07-17 19:55:57 -07002410 /*BSS Index of the BSS*/
2411 wpt_uint16 ucBssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07002412
Jeff Johnson295189b2012-06-20 16:38:30 -07002413 /*EDCA params for BE*/
2414 WDI_EdcaParamRecord wdiEdcaBEInfo;
2415
2416 /*EDCA params for BK*/
2417 WDI_EdcaParamRecord wdiEdcaBKInfo;
2418
2419 /*EDCA params for VI*/
2420 WDI_EdcaParamRecord wdiEdcaVIInfo;
2421
2422 /*EDCA params for VO*/
2423 WDI_EdcaParamRecord wdiEdcaVOInfo;
2424
2425}WDI_UpdateEDCAInfoType;
2426
2427/*---------------------------------------------------------------------------
2428 WDI_UpdateEDCAParamsType
2429---------------------------------------------------------------------------*/
2430typedef struct
2431{
2432 /*EDCA Info */
2433 WDI_UpdateEDCAInfoType wdiEDCAInfo;
2434
2435 /*Request status callback offered by UMAC - it is called if the current
2436 req has returned PENDING as status; it delivers the status of sending
2437 the message over the BUS */
2438 WDI_ReqStatusCb wdiReqStatusCB;
2439
2440 /*The user data passed in by UMAC, it will be sent back when the above
2441 function pointer will be called */
2442 void* pUserData;
2443}WDI_UpdateEDCAParamsType;
2444
2445/*---------------------------------------------------------------------------
2446 WDI_AddBASessionReqinfoType
2447---------------------------------------------------------------------------*/
2448typedef struct
2449{
2450 /*Indicates the station for which BA is added..*/
2451 wpt_uint8 ucSTAIdx;
2452
2453 /*The peer mac address*/
2454 wpt_macAddr macPeerAddr;
2455
2456 /*TID for which BA was negotiated*/
2457 wpt_uint8 ucBaTID;
2458
2459 /*Delayed or imediate */
2460 wpt_uint8 ucBaPolicy;
2461
2462 /*The number of buffers for this TID (baTID)*/
2463 wpt_uint16 usBaBufferSize;
2464
2465 /*BA timeout in TU's*/
2466 wpt_uint16 usBaTimeout;
2467
2468 /*b0..b3 - Fragment Number - Always set to 0
2469 b4..b15 - Starting Sequence Number of first MSDU for which this BA is setup*/
2470 wpt_uint16 usBaSSN;
2471
2472 /*Originator/Recipient*/
2473 wpt_uint8 ucBaDirection;
2474
2475}WDI_AddBASessionReqinfoType;
2476
2477
2478/*---------------------------------------------------------------------------
2479 WDI_AddBASessionReqParamsType
2480---------------------------------------------------------------------------*/
2481typedef struct
2482{
2483 /*BA Session Info Type*/
2484 WDI_AddBASessionReqinfoType wdiBASessionInfoType;
2485
2486 /*Request status callback offered by UMAC - it is called if the current
2487 req has returned PENDING as status; it delivers the status of sending
2488 the message over the BUS */
2489 WDI_ReqStatusCb wdiReqStatusCB;
2490
2491 /*The user data passed in by UMAC, it will be sent back when the above
2492 function pointer will be called */
2493 void* pUserData;
2494}WDI_AddBASessionReqParamsType;
2495
2496/*---------------------------------------------------------------------------
2497 WDI_AddBASessionRspParamsType
2498---------------------------------------------------------------------------*/
2499typedef struct
2500{
2501 /*Status of the response*/
2502 WDI_Status wdiStatus;
2503
2504 /* Dialog token */
2505 wpt_uint8 ucBaDialogToken;
2506
2507 /* TID for which the BA session has been setup */
2508 wpt_uint8 ucBaTID;
2509
2510 /* BA Buffer Size allocated for the current BA session */
2511 wpt_uint8 ucBaBufferSize;
2512
2513 /* BA session ID */
2514 wpt_uint16 usBaSessionID;
2515
2516 /* Reordering Window buffer */
2517 wpt_uint8 ucWinSize;
2518
2519 /*Station Index to id the sta */
2520 wpt_uint8 ucSTAIdx;
2521
2522 /* Starting Sequence Number */
2523 wpt_uint16 usBaSSN;
2524
2525}WDI_AddBASessionRspParamsType;
2526
2527/*---------------------------------------------------------------------------
2528 WDI_AddBAReqinfoType
2529---------------------------------------------------------------------------*/
2530typedef struct
2531{
2532 /*Indicates the station for which BA is added..*/
2533 wpt_uint8 ucSTAIdx;
2534
2535 /* Session Id */
2536 wpt_uint8 ucBaSessionID;
2537
2538 /* Reorder Window Size */
2539 wpt_uint8 ucWinSize;
2540
2541#ifdef FEATURE_ON_CHIP_REORDERING
2542 wpt_boolean bIsReorderingDoneOnChip;
2543#endif
2544
2545}WDI_AddBAReqinfoType;
2546
2547
2548/*---------------------------------------------------------------------------
2549 WDI_AddBAReqParamsType
2550---------------------------------------------------------------------------*/
2551typedef struct
2552{
2553 /*BA Info Type*/
2554 WDI_AddBAReqinfoType wdiBAInfoType;
2555
2556 /*Request status callback offered by UMAC - it is called if the current
2557 req has returned PENDING as status; it delivers the status of sending
2558 the message over the BUS */
2559 WDI_ReqStatusCb wdiReqStatusCB;
2560
2561 /*The user data passed in by UMAC, it will be sent back when the above
2562 function pointer will be called */
2563 void* pUserData;
2564}WDI_AddBAReqParamsType;
2565
2566
2567/*---------------------------------------------------------------------------
2568 WDI_AddBARspinfoType
2569---------------------------------------------------------------------------*/
2570typedef struct
2571{
2572 /*Status of the response*/
2573 WDI_Status wdiStatus;
2574
2575 /* Dialog token */
2576 wpt_uint8 ucBaDialogToken;
2577
2578}WDI_AddBARspinfoType;
2579
2580/*---------------------------------------------------------------------------
2581 WDI_TriggerBAReqCandidateType
2582---------------------------------------------------------------------------*/
2583typedef struct
2584{
2585 /* STA index */
2586 wpt_uint8 ucSTAIdx;
2587
2588 /* TID bit map for the STA's*/
2589 wpt_uint8 ucTidBitmap;
2590
2591}WDI_TriggerBAReqCandidateType;
2592
2593
2594/*---------------------------------------------------------------------------
2595 WDI_TriggerBAReqinfoType
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 /* Trigger BA Request candidate count */
2606 wpt_uint16 usBACandidateCnt;
2607
2608 /* WDI_TriggerBAReqCandidateType followed by this*/
2609
2610}WDI_TriggerBAReqinfoType;
2611
2612
2613/*---------------------------------------------------------------------------
2614 WDI_TriggerBAReqParamsType
2615---------------------------------------------------------------------------*/
2616typedef struct
2617{
2618 /*BA Trigger Info Type*/
2619 WDI_TriggerBAReqinfoType wdiTriggerBAInfoType;
2620
2621 /*Request status callback offered by UMAC - it is called if the current
2622 req has returned PENDING as status; it delivers the status of sending
2623 the message over the BUS */
2624 WDI_ReqStatusCb wdiReqStatusCB;
2625
2626 /*The user data passed in by UMAC, it will be sent back when the above
2627 function pointer will be called */
2628 void* pUserData;
2629}WDI_TriggerBAReqParamsType;
2630
2631/*---------------------------------------------------------------------------
2632 WDI_AddBAInfoType
2633---------------------------------------------------------------------------*/
2634typedef struct
2635{
2636 wpt_uint16 fBaEnable : 1;
2637 wpt_uint16 startingSeqNum: 12;
2638 wpt_uint16 reserved : 3;
2639}WDI_AddBAInfoType;
2640
2641/*---------------------------------------------------------------------------
2642 WDI_TriggerBARspCandidateType
2643---------------------------------------------------------------------------*/
2644#define STA_MAX_TC 8
2645
2646typedef struct
2647{
2648 /* STA index */
2649 wpt_macAddr macSTA;
2650
2651 /* BA Info */
2652 WDI_AddBAInfoType wdiBAInfo[STA_MAX_TC];
2653}WDI_TriggerBARspCandidateType;
2654
2655/*---------------------------------------------------------------------------
2656 WDI_TriggerBARspParamsType
2657---------------------------------------------------------------------------*/
2658typedef struct
2659{
2660 /*Status of the response*/
2661 WDI_Status wdiStatus;
2662
2663 /*BSSID of the BSS*/
2664 wpt_macAddr macBSSID;
2665
2666 /* Trigger BA response candidate count */
2667 wpt_uint16 usBaCandidateCnt;
2668
2669 /* WDI_TriggerBARspCandidateType followed by this*/
2670
2671}WDI_TriggerBARspParamsType;
2672
2673/*---------------------------------------------------------------------------
2674 WDI_DelBAReqinfoType
2675---------------------------------------------------------------------------*/
2676typedef struct
2677{
2678 /*Indicates the station for which BA is added..*/
2679 wpt_uint8 ucSTAIdx;
2680
2681 /*TID for which BA was negotiated*/
2682 wpt_uint8 ucBaTID;
2683
2684 /*Originator/Recipient*/
2685 wpt_uint8 ucBaDirection;
2686
2687}WDI_DelBAReqinfoType;
2688
2689/*---------------------------------------------------------------------------
2690 WDI_DelBAReqParamsType
2691---------------------------------------------------------------------------*/
2692typedef struct
2693{
2694 /*BA Info */
2695 WDI_DelBAReqinfoType wdiBAInfo;
2696
2697 /*Request status callback offered by UMAC - it is called if the current
2698 req has returned PENDING as status; it delivers the status of sending
2699 the message over the BUS */
2700 WDI_ReqStatusCb wdiReqStatusCB;
2701
2702 /*The user data passed in by UMAC, it will be sent back when the above
2703 function pointer will be called */
2704 void* pUserData;
2705}WDI_DelBAReqParamsType;
2706
2707
2708/*---------------------------------------------------------------------------
2709 WDI_SwitchCHRspParamsType
2710---------------------------------------------------------------------------*/
2711typedef struct
2712{
2713 /*Status of the response*/
2714 WDI_Status wdiStatus;
2715
2716 /*Indicates the channel that WLAN is on*/
2717 wpt_uint8 ucChannel;
2718
2719#ifdef WLAN_FEATURE_VOWIFI
2720 /*HAL fills in the tx power used for mgmt frames in this field.*/
2721 wpt_int8 ucTxMgmtPower;
2722#endif
2723
2724}WDI_SwitchCHRspParamsType;
2725
2726/*---------------------------------------------------------------------------
2727 WDI_ConfigSTAReqParamsType
2728---------------------------------------------------------------------------*/
2729typedef struct
2730{
2731 /*Info for the Join request that will be sent down to the device*/
2732 WDI_ConfigStaReqInfoType wdiReqInfo;
2733
2734 /*Request status callback offered by UMAC - it is called if the current
2735 req has returned PENDING as status; it delivers the status of sending
2736 the message over the BUS */
2737 WDI_ReqStatusCb wdiReqStatusCB;
2738
2739 /*The user data passed in by UMAC, it will be sent back when the above
2740 function pointer will be called */
2741 void* pUserData;
2742}WDI_ConfigSTAReqParamsType;
2743
2744
2745/*---------------------------------------------------------------------------
2746 WDI_UpdateBeaconParamsInfoType
2747---------------------------------------------------------------------------*/
2748
2749typedef struct
2750{
2751 /*BSS Index of the BSS*/
2752 wpt_uint8 ucBssIdx;
2753
2754 /*shortPreamble mode. HAL should update all the STA rates when it
2755 receives this message*/
2756 wpt_uint8 ucfShortPreamble;
2757 /* short Slot time.*/
2758 wpt_uint8 ucfShortSlotTime;
2759 /* Beacon Interval */
2760 wpt_uint16 usBeaconInterval;
2761 /*Protection related */
2762 wpt_uint8 ucllaCoexist;
2763 wpt_uint8 ucllbCoexist;
2764 wpt_uint8 ucllgCoexist;
2765 wpt_uint8 ucHt20MhzCoexist;
2766 wpt_uint8 ucllnNonGFCoexist;
2767 wpt_uint8 ucfLsigTXOPProtectionFullSupport;
2768 wpt_uint8 ucfRIFSMode;
2769
2770 wpt_uint16 usChangeBitmap;
2771}WDI_UpdateBeaconParamsInfoType;
2772
Mohit Khanna4a70d262012-09-11 16:30:12 -07002773#ifdef WLAN_FEATURE_11AC
2774typedef struct
2775{
2776 wpt_uint16 opMode;
2777 wpt_uint16 staId;
2778}WDI_UpdateVHTOpMode;
2779#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07002780
2781/*---------------------------------------------------------------------------
2782 WDI_UpdateBeaconParamsType
2783---------------------------------------------------------------------------*/
2784typedef struct
2785{
2786 /*Update Beacon Params Info*/
2787 WDI_UpdateBeaconParamsInfoType wdiUpdateBeaconParamsInfo;
2788
2789 /*Request status callback offered by UMAC - it is called if the current
2790 req has returned PENDING as status; it delivers the status of sending
2791 the message over the BUS */
2792 WDI_ReqStatusCb wdiReqStatusCB;
2793
2794 /*The user data passed in by UMAC, it will be sent back when the above
2795 function pointer will be called */
2796 void* pUserData;
2797}WDI_UpdateBeaconParamsType;
2798
2799/*---------------------------------------------------------------------------
2800 WDI_SendBeaconParamsInfoType
2801---------------------------------------------------------------------------*/
2802
2803typedef struct {
2804
2805 /*BSSID of the BSS*/
2806 wpt_macAddr macBSSID;
2807
2808 /* Beacon data */
2809 wpt_uint8 beacon[WDI_BEACON_TEMPLATE_SIZE];
2810
2811 /* length of the template */
2812 wpt_uint32 beaconLength;
2813
Jeff Johnson295189b2012-06-20 16:38:30 -07002814 /* TIM IE offset from the beginning of the template.*/
2815 wpt_uint32 timIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07002816
Jeff Johnson295189b2012-06-20 16:38:30 -07002817 /* P2P IE offset from the beginning of the template */
2818 wpt_uint16 usP2PIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07002819} WDI_SendBeaconParamsInfoType;
2820
2821/*---------------------------------------------------------------------------
2822 WDI_SendBeaconParamsType
2823---------------------------------------------------------------------------*/
2824typedef struct
2825{
2826 /*Send Beacon Params Info*/
2827 WDI_SendBeaconParamsInfoType wdiSendBeaconParamsInfo;
2828
2829 /*Request status callback offered by UMAC - it is called if the current
2830 req has returned PENDING as status; it delivers the status of sending
2831 the message over the BUS */
2832 WDI_ReqStatusCb wdiReqStatusCB;
2833
2834 /*The user data passed in by UMAC, it will be sent back when the above
2835 function pointer will be called */
2836 void* pUserData;
2837}WDI_SendBeaconParamsType;
2838
2839/*---------------------------------------------------------------------------
2840 WDI_LinkStateType
2841---------------------------------------------------------------------------*/
2842typedef enum
2843{
2844 WDI_LINK_IDLE_STATE = 0,
2845 WDI_LINK_PREASSOC_STATE = 1,
2846 WDI_LINK_POSTASSOC_STATE = 2,
2847 WDI_LINK_AP_STATE = 3,
2848 WDI_LINK_IBSS_STATE = 4,
2849
2850 // BT-AMP Case
2851 WDI_LINK_BTAMP_PREASSOC_STATE = 5,
2852 WDI_LINK_BTAMP_POSTASSOC_STATE = 6,
2853 WDI_LINK_BTAMP_AP_STATE = 7,
2854 WDI_LINK_BTAMP_STA_STATE = 8,
2855
2856 // Reserved for HAL internal use
2857 WDI_LINK_LEARN_STATE = 9,
2858 WDI_LINK_SCAN_STATE = 10,
2859 WDI_LINK_FINISH_SCAN_STATE = 11,
2860 WDI_LINK_INIT_CAL_STATE = 12,
2861 WDI_LINK_FINISH_CAL_STATE = 13,
Jeff Johnson295189b2012-06-20 16:38:30 -07002862 WDI_LINK_LISTEN_STATE = 14,
Gopichand Nakkala924e4552013-05-08 19:18:14 +05302863 WDI_LINK_SEND_ACTION_STATE = 15,
Jeff Johnson295189b2012-06-20 16:38:30 -07002864 WDI_LINK_MAX = 0x7FFFFFFF
2865} WDI_LinkStateType;
2866
2867/*---------------------------------------------------------------------------
2868 WDI_SetLinkReqInfoType
2869---------------------------------------------------------------------------*/
2870typedef struct
2871{
2872 /*BSSID of the BSS*/
2873 wpt_macAddr macBSSID;
2874
2875 /*Link state*/
2876 WDI_LinkStateType wdiLinkState;
2877
2878 /*BSSID of the BSS*/
2879 wpt_macAddr macSelfStaMacAddr;
2880}WDI_SetLinkReqInfoType;
2881
2882/*---------------------------------------------------------------------------
2883 WDI_SetLinkReqParamsType
2884---------------------------------------------------------------------------*/
2885typedef struct
2886{
2887 /*Link Info*/
2888 WDI_SetLinkReqInfoType wdiLinkInfo;
2889
2890 /*Request status callback offered by UMAC - it is called if the current
2891 req has returned PENDING as status; it delivers the status of sending
2892 the message over the BUS */
2893 WDI_ReqStatusCb wdiReqStatusCB;
2894
2895 /*The user data passed in by UMAC, it will be sent back when the above
2896 function pointer will be called */
2897 void* pUserData;
2898}WDI_SetLinkReqParamsType;
2899
2900/*---------------------------------------------------------------------------
2901 WDI_GetStatsParamsInfoType
2902---------------------------------------------------------------------------*/
2903typedef struct
2904{
2905 /*Indicates the station for which Get Stats are requested..*/
2906 wpt_uint8 ucSTAIdx;
2907
2908 /* categories of stats requested */
2909 wpt_uint32 uStatsMask;
2910}WDI_GetStatsParamsInfoType;
2911
2912/*---------------------------------------------------------------------------
2913 WDI_GetStatsReqParamsType
2914---------------------------------------------------------------------------*/
2915typedef struct
2916{
2917 /*Get Stats Params Info*/
2918 WDI_GetStatsParamsInfoType wdiGetStatsParamsInfo;
2919
2920 /*Request status callback offered by UMAC - it is called if the current
2921 req has returned PENDING as status; it delivers the status of sending
2922 the message over the BUS */
2923 WDI_ReqStatusCb wdiReqStatusCB;
2924
2925 /*The user data passed in by UMAC, it will be sent back when the above
2926 function pointer will be called */
2927 void* pUserData;
2928}WDI_GetStatsReqParamsType;
2929
2930/*---------------------------------------------------------------------------
2931 WDI_GetStatsRspParamsType
2932---------------------------------------------------------------------------*/
2933typedef struct
2934{
2935 /*message type is same as the request type*/
2936 wpt_uint16 usMsgType;
2937
2938 /* length of the entire request, includes the pStatsBuf length too*/
2939 wpt_uint16 usMsgLen;
2940
2941 /*Result of the operation*/
2942 WDI_Status wdiStatus;
2943
2944 /*Indicates the station for which Get Stats are requested..*/
2945 wpt_uint8 ucSTAIdx;
2946
2947 /* categories of stats requested */
2948 wpt_uint32 uStatsMask;
2949
2950 /* The Stats buffer starts here and can be an aggregate of more than one statistics
2951 * structure depending on statsMask.*/
2952}WDI_GetStatsRspParamsType;
2953
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08002954#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_CCX || defined(FEATURE_WLAN_LFR)
2955/*---------------------------------------------------------------------------
2956 WDI_GetRoamRssiParamsInfoType
2957---------------------------------------------------------------------------*/
2958typedef struct
2959{
2960 /*Indicates the station for which Get Stats are requested..*/
2961 wpt_uint8 ucSTAIdx;
2962
2963 /* categories of stats requested */
2964 wpt_uint32 uStatsMask;
2965}WDI_GetRoamRssiParamsInfoType;
2966
2967/*---------------------------------------------------------------------------
2968 WDI_GetRoamRssiReqParamsType
2969---------------------------------------------------------------------------*/
2970typedef struct
2971{
2972 /*Get Roam Rssi Params Info*/
2973 WDI_GetRoamRssiParamsInfoType wdiGetRoamRssiParamsInfo;
2974
2975 /*Request status callback offered by UMAC - it is called if the current
2976 req has returned PENDING as status; it delivers the status of sending
2977 the message over the BUS */
2978 WDI_ReqStatusCb wdiReqStatusCB;
2979
2980 /*The user data passed in by UMAC, it will be sent back when the above
2981 function pointer will be called */
2982 void* pUserData;
2983}WDI_GetRoamRssiReqParamsType;
2984
2985/*---------------------------------------------------------------------------
2986 WDI_GetRoamRssiRspParamsType
2987---------------------------------------------------------------------------*/
2988typedef struct
2989{
2990 /*Result of the operation*/
2991 WDI_Status wdiStatus;
2992
2993 /*Indicates the station for which Get Stats are requested..*/
2994 wpt_uint8 ucSTAIdx;
2995
2996 /* roam rssi requested */
2997 wpt_int8 rssi;
2998
2999 /* The Stats buffer starts here and can be an aggregate of more than one statistics
3000 * structure depending on statsMask.*/
3001}WDI_GetRoamRssiRspParamsType;
3002#endif
3003
Jeff Johnson295189b2012-06-20 16:38:30 -07003004#ifdef FEATURE_WLAN_CCX
3005/*---------------------------------------------------------------------------
3006 WDI_TSMStatsParamsInfoType
3007---------------------------------------------------------------------------*/
3008typedef struct
3009{
3010 /*Indicates the station for which Get Stats are requested..*/
3011 wpt_uint8 ucTid;
3012
3013 wpt_macAddr bssid;
3014}WDI_TSMStatsParamsInfoType;
3015
3016/*---------------------------------------------------------------------------
3017 WDI_TSMStatsReqParamsType
3018---------------------------------------------------------------------------*/
3019typedef struct
3020{
3021 /*Get TSM Stats Params Info*/
3022 WDI_TSMStatsParamsInfoType wdiTsmStatsParamsInfo;
3023
3024 WDI_ReqStatusCb wdiReqStatusCB;
3025
3026 /*The user data passed in by UMAC, it will be sent back when the above
3027 function pointer will be called */
3028 void* pUserData;
3029
3030}WDI_TSMStatsReqParamsType;
3031
3032
3033/*---------------------------------------------------------------------------
3034 WDI_TSMStatsRspParamsType
3035---------------------------------------------------------------------------*/
3036typedef struct
3037{
3038 /*Indicates the status of the operation */
3039 WDI_Status wdiStatus;
3040
3041 wpt_uint16 UplinkPktQueueDly;
3042 wpt_uint16 UplinkPktQueueDlyHist[4];
3043 wpt_uint32 UplinkPktTxDly;
3044 wpt_uint16 UplinkPktLoss;
3045 wpt_uint16 UplinkPktCount;
3046 wpt_uint8 RoamingCount;
3047 wpt_uint16 RoamingDly;
3048}WDI_TSMStatsRspParamsType;
3049
3050
3051#endif
3052/*---------------------------------------------------------------------------
3053 WDI_UpdateCfgReqParamsType
3054---------------------------------------------------------------------------*/
3055typedef struct
3056{
3057 /*This is a TLV formatted buffer containing all config values that can
3058 be set through the DAL Interface
3059
3060 The TLV is expected to be formatted like this:
3061
3062 0 7 15 31 ....
3063 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
3064
3065 Or from a C construct point of VU it would look like this:
3066
3067 typedef struct WPT_PACK_POST
3068 {
3069 #ifdef WPT_BIG_ENDIAN
3070 wpt_uint32 ucCfgId:8;
3071 wpt_uint32 ucCfgLen:8;
3072 wpt_uint32 usReserved:16;
3073 #else
3074 wpt_uint32 usReserved:16;
3075 wpt_uint32 ucCfgLen:8;
3076 wpt_uint32 ucCfgId:8;
3077 #endif
3078
3079 wpt_uint8 ucCfgBody[ucCfgLen];
3080 }WDI_ConfigType;
3081
3082 Multiple such tuplets are to be placed in the config buffer. One for
3083 each required configuration item:
3084
3085 | TLV 1 | TLV2 | ....
3086
3087 The buffer is expected to be a flat area of memory that can be manipulated
3088 with standard memory routines.
3089
3090 For more info please check paragraph 2.3.1 Config Structure from the
3091 HAL LLD.
3092
3093 For a list of accepted configuration list and IDs please look up
3094 wlan_qct_dal_cfg.h
3095 */
3096 void* pConfigBuffer;
3097
3098 /*Length of the config buffer above*/
3099 wpt_uint32 uConfigBufferLen;
3100
3101 /*Request status callback offered by UMAC - it is called if the current
3102 req has returned PENDING as status; it delivers the status of sending
3103 the message over the BUS */
3104 WDI_ReqStatusCb wdiReqStatusCB;
3105
3106 /*The user data passed in by UMAC, it will be sent back when the above
3107 function pointer will be called */
3108 void* pUserData;
3109}WDI_UpdateCfgReqParamsType;
3110
3111/*---------------------------------------------------------------------------
3112 WDI_UpdateProbeRspTemplateInfoType
3113---------------------------------------------------------------------------*/
3114//Default Beacon template size
3115#define WDI_PROBE_RSP_TEMPLATE_SIZE 0x180
3116
3117#define WDI_PROBE_REQ_BITMAP_IE_LEN 8
3118
3119typedef struct
3120{
3121 /*BSSID for which the Probe Template is to be used*/
3122 wpt_macAddr macBSSID;
3123
3124 /*Probe response template*/
3125 wpt_uint8 *pProbeRespTemplate[WDI_PROBE_RSP_TEMPLATE_SIZE];
3126
3127 /*Template Len*/
3128 wpt_uint32 uProbeRespTemplateLen;
3129
3130 /*Bitmap for the IEs that are to be handled at SLM level*/
3131 wpt_uint32 uaProxyProbeReqValidIEBmap[WDI_PROBE_REQ_BITMAP_IE_LEN];
3132
3133}WDI_UpdateProbeRspTemplateInfoType;
3134
3135/*---------------------------------------------------------------------------
3136 WDI_UpdateProbeRspParamsType
3137---------------------------------------------------------------------------*/
3138typedef struct
3139{
3140 /*Link Info*/
3141 WDI_UpdateProbeRspTemplateInfoType wdiProbeRspTemplateInfo;
3142
3143 /*Request status callback offered by UMAC - it is called if the current
3144 req has returned PENDING as status; it delivers the status of sending
3145 the message over the BUS */
3146 WDI_ReqStatusCb wdiReqStatusCB;
3147
3148 /*The user data passed in by UMAC, it will be sent back when the above
3149 function pointer will be called */
3150 void* pUserData;
3151}WDI_UpdateProbeRspTemplateParamsType;
3152
3153/*---------------------------------------------------------------------------
3154 WDI_NvDownloadReqBlobInfo
3155---------------------------------------------------------------------------*/
3156
3157typedef struct
3158{
3159 /* Blob starting address*/
3160 void *pBlobAddress;
3161
3162 /* Blob size */
3163 wpt_uint32 uBlobSize;
3164
3165}WDI_NvDownloadReqBlobInfo;
3166
3167/*---------------------------------------------------------------------------
3168 WDI_NvDownloadReqParamsType
3169---------------------------------------------------------------------------*/
3170typedef struct
3171{
3172 /*NV Blob Info*/
3173 WDI_NvDownloadReqBlobInfo wdiBlobInfo;
3174
3175 /*Request status callback offered by UMAC - it is called if the current
3176 req has returned PENDING as status; it delivers the status of sending
3177 the message over the BUS */
3178 WDI_ReqStatusCb wdiReqStatusCB;
3179
3180 /*The user data passed in by UMAC, it will be sent back when the above
3181 function pointer will be called */
3182 void* pUserData;
3183
3184}WDI_NvDownloadReqParamsType;
3185
3186/*---------------------------------------------------------------------------
3187 WDI_NvDownloadRspInfoType
3188---------------------------------------------------------------------------*/
3189typedef struct
3190{
3191 /*Status of the response*/
3192 WDI_Status wdiStatus;
3193
3194}WDI_NvDownloadRspInfoType;
3195
3196/*---------------------------------------------------------------------------
3197 WDI_SetMaxTxPowerInfoType
3198---------------------------------------------------------------------------*/
3199
3200typedef struct
3201{
3202 /*BSSID is needed to identify which session issued this request. As the request has
3203 power constraints, this should be applied only to that session*/
3204 wpt_macAddr macBSSId;
3205
3206
3207 wpt_macAddr macSelfStaMacAddr;
3208
3209 /* In request power == MaxTxpower to be used.*/
3210 wpt_int8 ucPower;
3211
3212}WDI_SetMaxTxPowerInfoType;
3213
3214/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003215 WDI_SetTxPowerInfoType
3216---------------------------------------------------------------------------*/
3217
3218typedef struct
3219{
3220 wpt_uint8 bssIdx;
3221 /* In request power == MaxTxpower to be used.*/
3222 wpt_uint8 ucPower;
3223
3224}WDI_SetTxPowerInfoType;
3225
3226/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003227 WDI_SetMaxTxPowerParamsType
3228---------------------------------------------------------------------------*/
3229typedef struct
3230{
3231 /*Link Info*/
3232 WDI_SetMaxTxPowerInfoType wdiMaxTxPowerInfo;
3233
3234 /*Request status callback offered by UMAC - it is called if the current
3235 req has returned PENDING as status; it delivers the status of sending
3236 the message over the BUS */
3237 WDI_ReqStatusCb wdiReqStatusCB;
3238
3239 /*The user data passed in by UMAC, it will be sent back when the above
3240 function pointer will be called */
3241 void* pUserData;
3242}WDI_SetMaxTxPowerParamsType;
3243
schang86c22c42013-03-13 18:41:24 -07003244/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07003245 WDI_Band
3246---------------------------------------------------------------------------*/
3247typedef enum
3248{
3249 WDI_BAND_ALL,
3250 WDI_BAND_24,
3251 WDI_BAND_5G,
3252 WDI_BAND_MAX,
3253}eWDIBand;
3254
3255/*---------------------------------------------------------------------------
3256 WDI_MaxTxPowerPerBandInfoType
3257---------------------------------------------------------------------------*/
3258typedef struct
3259{
3260 eWDIBand bandInfo;
3261 /* In request power == MaxTxpower to be used.*/
3262 wpt_uint8 ucPower;
3263}WDI_MaxTxPowerPerBandInfoType;
3264
3265/*---------------------------------------------------------------------------
3266 WDI_SetMaxTxPowerPerBandParamsType
3267---------------------------------------------------------------------------*/
3268typedef struct
3269{
3270 /*Link Info*/
3271 WDI_MaxTxPowerPerBandInfoType wdiMaxTxPowerPerBandInfo;
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_SetMaxTxPowerPerBandParamsType;
3282
3283/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003284 WDI_SetTxPowerParamsType
3285---------------------------------------------------------------------------*/
3286typedef struct
3287{
3288 /*Link Info*/
3289 WDI_SetTxPowerInfoType wdiTxPowerInfo;
3290
3291 /*Request status callback offered by UMAC - it is called if the current
3292 req has returned PENDING as status; it delivers the status of sending
3293 the message over the BUS */
3294 WDI_ReqStatusCb wdiReqStatusCB;
3295
3296 /*The user data passed in by UMAC, it will be sent back when the above
3297 function pointer will be called */
3298 void* pUserData;
3299}WDI_SetTxPowerParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003300
3301/*---------------------------------------------------------------------------
3302 WDI_SetMaxTxPowerRspMsg
3303---------------------------------------------------------------------------*/
3304
3305typedef struct
3306{
3307 /* In response, power==tx power used for management frames*/
3308 wpt_int8 ucPower;
3309
3310 /*Result of the operation*/
3311 WDI_Status wdiStatus;
3312
3313}WDI_SetMaxTxPowerRspMsg;
3314
schang86c22c42013-03-13 18:41:24 -07003315/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07003316 WDI_SetMaxTxPowerPerBandRspMsg
3317---------------------------------------------------------------------------*/
3318typedef struct
3319{
3320 /* In response, power==tx power used for management frames*/
3321 wpt_int8 ucPower;
3322
3323 /*Result of the operation*/
3324 WDI_Status wdiStatus;
3325
3326}WDI_SetMaxTxPowerPerBandRspMsg;
3327
3328/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003329 WDI_SetTxPowerRspMsg
3330---------------------------------------------------------------------------*/
3331
3332typedef struct
3333{
3334 /* In response, power==tx power used for management frames*/
3335 wpt_int8 ucPower;
3336
3337 /*Result of the operation*/
3338 WDI_Status wdiStatus;
3339
3340}WDI_SetTxPowerRspMsg;
3341
Jeff Johnson295189b2012-06-20 16:38:30 -07003342typedef struct
3343{
3344 wpt_uint8 ucOpp_ps;
3345 wpt_uint32 uCtWindow;
3346 wpt_uint8 ucCount;
3347 wpt_uint32 uDuration;
3348 wpt_uint32 uInterval;
3349 wpt_uint32 uSingle_noa_duration;
3350 wpt_uint8 ucPsSelection;
3351}WDI_SetP2PGONOAReqInfoType;
3352
3353/*---------------------------------------------------------------------------
3354 WDI_SetP2PGONOAReqParamsType
3355---------------------------------------------------------------------------*/
3356typedef struct
3357{
3358 /*P2P GO NOA Req*/
3359 WDI_SetP2PGONOAReqInfoType wdiP2PGONOAInfo;
3360
3361 /*Request status callback offered by UMAC - it is called if the current
3362 req has returned PENDING as status; it delivers the status of sending
3363 the message over the BUS */
3364 WDI_ReqStatusCb wdiReqStatusCB;
3365
3366 /*The user data passed in by UMAC, it will be sent back when the above
3367 function pointer will be called */
3368 void* pUserData;
3369}WDI_SetP2PGONOAReqParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003370
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303371typedef struct
3372{
3373 wpt_uint16 uStaIdx;
3374 wpt_uint8 uIsResponder;
3375 wpt_uint8 uUapsdQueues;
3376 wpt_uint8 uMaxSp;
3377 wpt_uint8 uIsBufSta;
3378}WDI_SetTDLSLinkEstablishReqInfoType;
3379/*---------------------------------------------------------------------------
3380 WDI_SetTDLSLinkEstablishReqParamsType
3381---------------------------------------------------------------------------*/
3382typedef struct
3383{
3384 /*TDLS Link Establish Req*/
3385 WDI_SetTDLSLinkEstablishReqInfoType wdiTDLSLinkEstablishInfo;
3386
3387 /*Request status callback offered by UMAC - it is called if the current
3388 req has returned PENDING as status; it delivers the status of sending
3389 the message over the BUS */
3390 WDI_ReqStatusCb wdiReqStatusCB;
3391
3392 /*The user data passed in by UMAC, it will be sent back when the above
3393 function pointer will be called */
3394 void* pUserData;
3395}WDI_SetTDLSLinkEstablishReqParamsType;
3396
3397
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05303398typedef struct
3399{
3400 /*Result of the operation*/
3401 WDI_Status wdiStatus;
3402
3403 /*STA Idx*/
3404 wpt_uint16 uStaIdx;
3405}WDI_SetTdlsLinkEstablishReqResp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003406
3407/*---------------------------------------------------------------------------
3408 WDI_SetAddSTASelfParamsType
3409---------------------------------------------------------------------------*/
3410typedef struct
3411{
3412 /*Self Station MAC address*/
3413 wpt_macAddr selfMacAddr;
3414
Kiran Kumar Lokere0ad5cd32013-06-25 11:26:22 -07003415 /*Self STA device mode*/
3416 wpt_uint32 currDeviceMode;
3417
Jeff Johnson295189b2012-06-20 16:38:30 -07003418 /*Status of the operation*/
3419 wpt_uint32 uStatus;
3420}WDI_AddSTASelfInfoType;
3421
3422/*---------------------------------------------------------------------------
3423 WDI_SetAddSTASelfParamsType
3424---------------------------------------------------------------------------*/
3425typedef struct
3426{
3427 /* Add Sta Self Req */
3428 WDI_AddSTASelfInfoType wdiAddSTASelfInfo;
3429
3430 /*Request status callback offered by UMAC - it is called if the current
3431 req has returned PENDING as status; it delivers the status of sending
3432 the message over the BUS */
3433 WDI_ReqStatusCb wdiReqStatusCB;
3434
3435 /*The user data passed in by UMAC, it will be sent back when the above
3436 function pointer will be called */
3437 void* pUserData;
3438}WDI_AddSTASelfReqParamsType;
3439
3440
3441/*---------------------------------------------------------------------------
3442 WDI_AddSTASelfRspParamsType
3443---------------------------------------------------------------------------*/
3444typedef struct
3445{
3446 /*Status of the response*/
3447 WDI_Status wdiStatus;
3448
3449 /*STA Idx allocated by HAL*/
3450 wpt_uint8 ucSTASelfIdx;
3451
3452 /* DPU Index (IGTK, PTK, GTK all same) */
3453 wpt_uint8 dpuIdx;
3454
3455 /* DPU Signature */
3456 wpt_uint8 dpuSignature;
3457
3458 /*Self STA Mac*/
3459 wpt_macAddr macSelfSta;
3460
3461}WDI_AddSTASelfRspParamsType;
3462
3463/*---------------------------------------------------------------------------
3464 WDI_DelSTASelfReqParamsType
3465 Del Sta Self info passed to WDI form WDA
3466---------------------------------------------------------------------------*/
3467typedef struct
3468{
3469 wpt_macAddr selfMacAddr;
3470
3471}WDI_DelSTASelfInfoType;
3472
3473/*---------------------------------------------------------------------------
3474 WDI_DelSTASelfReqParamsType
3475 Del Sta Self info passed to WDI form WDA
3476---------------------------------------------------------------------------*/
3477typedef struct
3478{
3479 /*Del Sta Self Info Type */
3480 WDI_DelSTASelfInfoType wdiDelStaSelfInfo;
3481 /*Request status callback offered by UMAC - it is called if the current req
3482 has returned PENDING as status; it delivers the status of sending the message
3483 over the BUS */
3484 WDI_ReqStatusCb wdiReqStatusCB;
3485 /*The user data passed in by UMAC, it will be sent back when the above
3486 function pointer will be called */
3487 void* pUserData;
3488}WDI_DelSTASelfReqParamsType;
3489
3490/*---------------------------------------------------------------------------
3491 WDI_DelSTASelfRspParamsType
3492---------------------------------------------------------------------------*/
3493typedef struct
3494{
3495 /*Status of the response*/
3496 WDI_Status wdiStatus;
3497
3498 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
3499// wpt_uint8 ucSTAIdx;
3500}WDI_DelSTASelfRspParamsType;
3501
3502/*---------------------------------------------------------------------------
3503 WDI_UapsdInfoType
3504 UAPSD parameters passed per AC to WDA from UMAC
3505---------------------------------------------------------------------------*/
3506typedef struct
3507{
3508 wpt_uint8 ucSTAIdx; // STA index
3509 wpt_uint8 ucAc; // Access Category
3510 wpt_uint8 ucUp; // User Priority
3511 wpt_uint32 uSrvInterval; // Service Interval
3512 wpt_uint32 uSusInterval; // Suspend Interval
3513 wpt_uint32 uDelayInterval; // Delay Interval
3514} WDI_UapsdInfoType;
3515
3516/*---------------------------------------------------------------------------
3517 WDI_SetUapsdAcParamsReqParamsType
3518 UAPSD parameters passed per AC to WDI from WDA
3519---------------------------------------------------------------------------*/
3520typedef struct
3521{
3522 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3523 WDI_UapsdInfoType wdiUapsdInfo;
3524 /*Request status callback offered by UMAC - it is called if the current req
3525 has returned PENDING as status; it delivers the status of sending the message
3526 over the BUS */
3527 WDI_ReqStatusCb wdiReqStatusCB;
3528 /*The user data passed in by UMAC, it will be sent back when the above
3529 function pointer will be called */
3530 void* pUserData;
3531}WDI_SetUapsdAcParamsReqParamsType;
3532
3533/*---------------------------------------------------------------------------
3534 WDI_EnterBmpsReqinfoType
3535 Enter BMPS parameters passed to WDA from UMAC
3536---------------------------------------------------------------------------*/
3537typedef struct
3538{
3539 //TBTT value derived from the last beacon
3540 wpt_uint8 ucBssIdx;
3541 wpt_uint64 uTbtt;
3542 wpt_uint8 ucDtimCount;
3543 //DTIM period given to HAL during association may not be valid,
3544 //if association is based on ProbeRsp instead of beacon.
3545 wpt_uint8 ucDtimPeriod;
3546 /* DXE physical addr to be passed down to RIVA. RIVA HAL will use it to program
3547 DXE when DXE wakes up from power save*/
3548 unsigned int dxePhyAddr;
3549
3550 // For CCX and 11R Roaming
3551 wpt_uint32 rssiFilterPeriod;
3552 wpt_uint32 numBeaconPerRssiAverage;
3553 wpt_uint8 bRssiFilterEnable;
3554}WDI_EnterBmpsReqinfoType;
3555
3556/*---------------------------------------------------------------------------
3557 WDI_EnterBmpsReqParamsType
3558 Enter BMPS parameters passed to WDI from WDA
3559---------------------------------------------------------------------------*/
3560typedef struct
3561{
3562 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3563 WDI_EnterBmpsReqinfoType wdiEnterBmpsInfo;
3564 /*Request status callback offered by UMAC - it is called if the current req
3565 has returned PENDING as status; it delivers the status of sending the message
3566 over the BUS */
3567 WDI_ReqStatusCb wdiReqStatusCB;
3568 /*The user data passed in by UMAC, it will be sent back when the above
3569 function pointer will be called */
3570 void* pUserData;
3571}WDI_EnterBmpsReqParamsType;
3572
3573/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003574 WDI_EnterBmpsReqParamsType
3575 Enter BMPS parameters passed from WDI to WDA
3576---------------------------------------------------------------------------*/
3577typedef struct
3578{
3579 /*Status of the response*/
3580 WDI_Status wdiStatus;
3581
3582 /*BssIDX of the session*/
3583 wpt_uint8 bssIdx;
3584}WDI_EnterBmpsRspParamsType;
3585
3586/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003587 WDI_ExitBmpsReqinfoType
3588 Exit BMPS parameters passed to WDA from UMAC
3589---------------------------------------------------------------------------*/
3590typedef struct
3591{
3592 wpt_uint8 ucSendDataNull;
Jeff Johnsone7245742012-09-05 17:12:55 -07003593 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003594}WDI_ExitBmpsReqinfoType;
3595
3596/*---------------------------------------------------------------------------
3597 WDI_ExitBmpsReqParamsType
3598 Exit BMPS parameters passed to WDI from WDA
3599---------------------------------------------------------------------------*/
3600typedef struct
3601{
3602 /*Exit BMPS Info Type, same as tExitBmpsParams */
3603 WDI_ExitBmpsReqinfoType wdiExitBmpsInfo;
3604 /*Request status callback offered by UMAC - it is called if the current req
3605 has returned PENDING as status; it delivers the status of sending the message
3606 over the BUS */
3607 WDI_ReqStatusCb wdiReqStatusCB;
3608 /*The user data passed in by UMAC, it will be sent back when the above
3609 function pointer will be called */
3610 void* pUserData;
3611}WDI_ExitBmpsReqParamsType;
3612
3613/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003614 WDI_ExitBmpsReqParamsType
3615 Exit BMPS parameters passed from WDI to WDA
3616---------------------------------------------------------------------------*/
3617typedef struct
3618{
3619 /*Status of the response*/
3620 WDI_Status wdiStatus;
3621
3622 /*BssIDX of the session*/
3623 wpt_uint8 bssIdx;
3624}WDI_ExitBmpsRspParamsType;
3625
3626/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003627 WDI_EnterUapsdReqinfoType
3628 Enter UAPSD parameters passed to WDA from UMAC
3629---------------------------------------------------------------------------*/
3630typedef struct
3631{
3632 wpt_uint8 ucBkDeliveryEnabled:1;
3633 wpt_uint8 ucBeDeliveryEnabled:1;
3634 wpt_uint8 ucViDeliveryEnabled:1;
3635 wpt_uint8 ucVoDeliveryEnabled:1;
3636 wpt_uint8 ucBkTriggerEnabled:1;
3637 wpt_uint8 ucBeTriggerEnabled:1;
3638 wpt_uint8 ucViTriggerEnabled:1;
3639 wpt_uint8 ucVoTriggerEnabled:1;
Jeff Johnsone7245742012-09-05 17:12:55 -07003640 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003641}WDI_EnterUapsdReqinfoType;
3642
3643/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003644 WDI_EnterUapsdRspParamsType
3645 Enter UAPSD parameters passed from WDI to WDA
3646---------------------------------------------------------------------------*/
3647typedef struct
3648{
3649 /*Status of the response*/
3650 WDI_Status wdiStatus;
3651
3652 /*BssIDX of the session*/
3653 wpt_uint8 bssIdx;
3654}WDI_EnterUapsdRspParamsType;
3655
3656/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003657 WDI_EnterUapsdReqinfoType
3658 Enter UAPSD parameters passed to WDI from WDA
3659---------------------------------------------------------------------------*/
3660typedef struct
3661{
3662 /*Enter UAPSD Info Type, same as tUapsdParams */
3663 WDI_EnterUapsdReqinfoType wdiEnterUapsdInfo;
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_EnterUapsdReqParamsType;
3672
3673/*---------------------------------------------------------------------------
3674 WDI_UpdateUapsdReqinfoType
3675 Update UAPSD parameters passed to WDA from UMAC
3676---------------------------------------------------------------------------*/
3677typedef struct
3678{
3679 wpt_uint8 ucSTAIdx;
3680 wpt_uint8 ucUapsdACMask;
3681 wpt_uint32 uMaxSpLen;
3682}WDI_UpdateUapsdReqinfoType;
3683
3684/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003685 WDI_ExitUapsdReqinfoType
3686 Exit UAPSD parameters passed to WDA from UMAC
3687---------------------------------------------------------------------------*/
3688typedef struct
3689{
3690 wpt_uint8 bssIdx;
3691}WDI_ExitUapsdReqinfoType;
3692
3693/*---------------------------------------------------------------------------
3694 WDI_ExitUapsdReqParamsType
3695 Exit UAPSD parameters passed to WDI from WDA
3696---------------------------------------------------------------------------*/
3697typedef struct
3698{
3699 /*Exit UAPSD Info Type, same as tUapsdParams */
3700 WDI_ExitUapsdReqinfoType wdiExitUapsdInfo;
3701 /*Request status callback offered by UMAC - it is called if the current req
3702 has returned PENDING as status; it delivers the status of sending the message
3703 over the BUS */
3704 WDI_ReqStatusCb wdiReqStatusCB;
3705 /*The user data passed in by UMAC, it will be sent back when the above
3706 function pointer will be called */
3707 void* pUserData;
3708}WDI_ExitUapsdReqParamsType;
3709
3710/*---------------------------------------------------------------------------
3711 WDI_ExitUapsdRspParamsType
3712 Exit UAPSD parameters passed from WDI to WDA
3713---------------------------------------------------------------------------*/
3714typedef struct
3715{
3716 /*Status of the response*/
3717 WDI_Status wdiStatus;
3718
3719 /*BssIDX of the session*/
3720 wpt_uint8 bssIdx;
3721}WDI_ExitUapsdRspParamsType;
3722
3723/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003724 WDI_UpdateUapsdReqParamsType
3725 Update UAPSD parameters passed to WDI form WDA
3726---------------------------------------------------------------------------*/
3727typedef struct
3728{
3729 /*Update UAPSD Info Type, same as tUpdateUapsdParams */
3730 WDI_UpdateUapsdReqinfoType wdiUpdateUapsdInfo;
3731 /*Request status callback offered by UMAC - it is called if the current req
3732 has returned PENDING as status; it delivers the status of sending the message
3733 over the BUS */
3734 WDI_ReqStatusCb wdiReqStatusCB;
3735 /*The user data passed in by UMAC, it will be sent back when the above
3736 function pointer will be called */
3737 void* pUserData;
3738}WDI_UpdateUapsdReqParamsType;
3739
3740/*---------------------------------------------------------------------------
3741 WDI_ConfigureRxpFilterReqParamsType
3742 RXP filter parameters passed to WDI form WDA
3743---------------------------------------------------------------------------*/
3744typedef struct
3745{
3746 /* Mode of Mcast and Bcast filters configured */
3747 wpt_uint8 ucSetMcstBcstFilterSetting;
3748
3749 /* Mcast Bcast Filters enable/disable*/
3750 wpt_uint8 ucSetMcstBcstFilter;
3751}WDI_RxpFilterReqParamsType;
3752
3753typedef struct
3754{
3755 /* Rxp Filter */
3756 WDI_RxpFilterReqParamsType wdiRxpFilterParam;
3757
3758 /*Request status callback offered by UMAC - it is called if the current req
3759 has returned PENDING as status; it delivers the status of sending the message
3760 over the BUS */
3761 WDI_ReqStatusCb wdiReqStatusCB;
3762 /*The user data passed in by UMAC, it will be sent back when the above
3763 function pointer will be called */
3764 void* pUserData;
3765}WDI_ConfigureRxpFilterReqParamsType;
3766
3767/*---------------------------------------------------------------------------
3768 WDI_BeaconFilterInfoType
3769 Beacon Filtering data structures passed to WDA form UMAC
3770---------------------------------------------------------------------------*/
3771typedef struct
3772{
3773 wpt_uint16 usCapabilityInfo;
3774 wpt_uint16 usCapabilityMask;
3775 wpt_uint16 usBeaconInterval;
3776 wpt_uint16 usIeNum;
Madan Mohan Koyyalamudia84edda2012-10-15 14:58:25 -07003777 wpt_uint8 bssIdx;
3778 wpt_uint8 reserved;
Jeff Johnson295189b2012-06-20 16:38:30 -07003779}WDI_BeaconFilterInfoType;
3780
3781/*---------------------------------------------------------------------------
3782 WDI_BeaconFilterReqParamsType
3783 Beacon Filtering parameters passed to WDI form WDA
3784---------------------------------------------------------------------------*/
3785typedef struct
3786{
3787 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
3788 WDI_BeaconFilterInfoType wdiBeaconFilterInfo;
3789 /*Beacon Filter(s) follow the "usIeNum" field, hence the array to ease the
3790 copy of params from WDA to WDI */
3791 wpt_uint8 aFilters[WDI_BEACON_FILTER_LEN];
3792 /*Request status callback offered by UMAC - it is called if the current req
3793 has returned PENDING as status; it delivers the status of sending the message
3794 over the BUS */
3795 WDI_ReqStatusCb wdiReqStatusCB;
3796 /*The user data passed in by UMAC, it will be sent back when the above
3797 function pointer will be called */
3798 void* pUserData;
3799}WDI_BeaconFilterReqParamsType;
3800
3801/*---------------------------------------------------------------------------
3802 WDI_RemBeaconFilterInfoType
3803 Beacon Filtering data structures (to be reomoved) passed to WDA form UMAC
3804---------------------------------------------------------------------------*/
3805typedef struct
3806{
3807 wpt_uint8 ucIeCount;
3808 wpt_uint8 ucRemIeId[1];
3809}WDI_RemBeaconFilterInfoType;
3810
3811/*---------------------------------------------------------------------------
3812 WDI_RemBeaconFilterReqParamsType
3813 Beacon Filtering parameters (to be reomoved)passed to WDI form WDA
3814---------------------------------------------------------------------------*/
3815typedef struct
3816{
3817 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
3818 WDI_RemBeaconFilterInfoType wdiBeaconFilterInfo;
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_RemBeaconFilterReqParamsType;
3827
3828/*---------------------------------------------------------------------------
3829 WDI_RSSIThresholdsType
3830 RSSI thresholds data structures (to be reomoved) passed to WDA form UMAC
3831---------------------------------------------------------------------------*/
3832typedef struct
3833{
3834 wpt_int8 ucRssiThreshold1 : 8;
3835 wpt_int8 ucRssiThreshold2 : 8;
3836 wpt_int8 ucRssiThreshold3 : 8;
3837 wpt_uint8 bRssiThres1PosNotify : 1;
3838 wpt_uint8 bRssiThres1NegNotify : 1;
3839 wpt_uint8 bRssiThres2PosNotify : 1;
3840 wpt_uint8 bRssiThres2NegNotify : 1;
3841 wpt_uint8 bRssiThres3PosNotify : 1;
3842 wpt_uint8 bRssiThres3NegNotify : 1;
3843 wpt_uint8 bReserved10 : 2;
3844} WDI_RSSIThresholdsType;
3845
3846/*---------------------------------------------------------------------------
3847 WDI_SetRSSIThresholdsReqParamsType
3848 RSSI thresholds parameters (to be reomoved)passed to WDI form WDA
3849---------------------------------------------------------------------------*/
3850typedef struct
3851{
3852 /*RSSI thresholds Info Type, same as WDI_RSSIThresholds */
3853 WDI_RSSIThresholdsType wdiRSSIThresholdsInfo;
3854 /*Request status callback offered by UMAC - it is called if the current req
3855 has returned PENDING as status; it delivers the status of sending the message
3856 over the BUS */
3857 WDI_ReqStatusCb wdiReqStatusCB;
3858 /*The user data passed in by UMAC, it will be sent back when the above
3859 function pointer will be called */
3860 void* pUserData;
3861}WDI_SetRSSIThresholdsReqParamsType;
3862
3863/*---------------------------------------------------------------------------
3864 WDI_HostOffloadReqType
3865 host offload info passed to WDA form UMAC
3866---------------------------------------------------------------------------*/
3867#ifdef WLAN_NS_OFFLOAD
3868typedef struct
3869{
3870 wpt_uint8 srcIPv6Addr[16];
3871 wpt_uint8 selfIPv6Addr[16];
3872 //Only support 2 possible Network Advertisement IPv6 address
3873 wpt_uint8 targetIPv6Addr1[16];
3874 wpt_uint8 targetIPv6Addr2[16];
3875 wpt_uint8 selfMacAddr[6];
3876 wpt_uint8 srcIPv6AddrValid : 1;
3877 wpt_uint8 targetIPv6Addr1Valid : 1;
3878 wpt_uint8 targetIPv6Addr2Valid : 1;
Gopichand Nakkala746a9452013-06-11 12:45:54 +05303879 wpt_uint8 slotIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003880} WDI_NSOffloadParams;
3881#endif //WLAN_NS_OFFLOAD
3882
3883typedef struct
3884{
3885 wpt_uint8 ucOffloadType;
3886 wpt_uint8 ucEnableOrDisable;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003887 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07003888 union
3889 {
3890 wpt_uint8 aHostIpv4Addr [4];
3891 wpt_uint8 aHostIpv6Addr [16];
3892 } params;
3893} WDI_HostOffloadReqType;
3894
3895/*---------------------------------------------------------------------------
3896 WDI_HostOffloadReqParamsType
3897 host offload info passed to WDI form WDA
3898---------------------------------------------------------------------------*/
3899typedef struct
3900{
3901 /*Host offload Info Type, same as tHalHostOffloadReq */
3902 WDI_HostOffloadReqType wdiHostOffloadInfo;
3903#ifdef WLAN_NS_OFFLOAD
3904 WDI_NSOffloadParams wdiNsOffloadParams;
3905#endif //WLAN_NS_OFFLOAD
3906 /*Request status callback offered by UMAC - it is called if the current req
3907 has returned PENDING as status; it delivers the status of sending the message
3908 over the BUS */
3909 WDI_ReqStatusCb wdiReqStatusCB;
3910 /*The user data passed in by UMAC, it will be sent back when the above
3911 function pointer will be called */
3912 void* pUserData;
3913}WDI_HostOffloadReqParamsType;
3914
3915/*---------------------------------------------------------------------------
3916 WDI_KeepAliveReqType
3917 Keep Alive info passed to WDA form UMAC
3918---------------------------------------------------------------------------*/
3919typedef struct
3920{
3921 wpt_uint8 ucPacketType;
3922 wpt_uint32 ucTimePeriod;
3923 wpt_uint8 aHostIpv4Addr[4];
3924 wpt_uint8 aDestIpv4Addr[4];
3925 wpt_uint8 aDestMacAddr[6];
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003926 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07003927} WDI_KeepAliveReqType;
3928
3929/*---------------------------------------------------------------------------
3930 WDI_KeepAliveReqParamsType
3931 Keep Alive passed to WDI form WDA
3932---------------------------------------------------------------------------*/
3933typedef struct
3934{
3935 /* Keep Alive Info Type, same as tHalKeepAliveReq */
3936 WDI_KeepAliveReqType wdiKeepAliveInfo;
3937 /*Request status callback offered by UMAC - it is called if the current req
3938 has returned PENDING as status; it delivers the status of sending the message
3939 over the BUS */
3940 WDI_ReqStatusCb wdiReqStatusCB;
3941 /*The user data passed in by UMAC, it will be sent back when the above
3942 function pointer will be called */
3943 void* pUserData;
3944}WDI_KeepAliveReqParamsType;
3945
3946/*---------------------------------------------------------------------------
3947 WDI_WowlAddBcPtrnInfoType
3948 Wowl add ptrn info passed to WDA form UMAC
3949---------------------------------------------------------------------------*/
3950typedef struct
3951{
3952 wpt_uint8 ucPatternId; // Pattern ID
3953 // Pattern byte offset from beginning of the 802.11 packet to start of the
3954 // wake-up pattern
3955 wpt_uint8 ucPatternByteOffset;
3956 wpt_uint8 ucPatternSize; // Non-Zero Pattern size
3957 wpt_uint8 ucPattern[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern
3958 wpt_uint8 ucPatternMaskSize; // Non-zero pattern mask size
3959 wpt_uint8 ucPatternMask[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern mask
3960 wpt_uint8 ucPatternExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern
3961 wpt_uint8 ucPatternMaskExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern mask
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003962 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07003963} WDI_WowlAddBcPtrnInfoType;
3964
3965/*---------------------------------------------------------------------------
3966 WDI_WowlAddBcPtrnReqParamsType
3967 Wowl add ptrn info passed to WDI form WDA
3968---------------------------------------------------------------------------*/
3969typedef struct
3970{
3971 /*Wowl add ptrn Info Type, same as tpSirWowlAddBcastPtrn */
3972 WDI_WowlAddBcPtrnInfoType wdiWowlAddBcPtrnInfo;
3973 /*Request status callback offered by UMAC - it is called if the current req
3974 has returned PENDING as status; it delivers the status of sending the message
3975 over the BUS */
3976 WDI_ReqStatusCb wdiReqStatusCB;
3977 /*The user data passed in by UMAC, it will be sent back when the above
3978 function pointer will be called */
3979 void* pUserData;
3980}WDI_WowlAddBcPtrnReqParamsType;
3981
3982/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003983 WDI_WowlAddBcPtrnRspParamsType
3984 Wowl add ptrn info passed from WDI to WDA
3985---------------------------------------------------------------------------*/
3986typedef struct
3987{
3988 /*Status of the response*/
3989 WDI_Status wdiStatus;
3990 /*BssIDX of the session*/
3991 wpt_uint8 bssIdx;
3992}WDI_WowlAddBcPtrnRspParamsType;
3993
3994/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003995 WDI_WowlDelBcPtrnInfoType
3996 Wowl add ptrn info passed to WDA form UMAC
3997---------------------------------------------------------------------------*/
3998typedef struct
3999{
4000 /* Pattern ID of the wakeup pattern to be deleted */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004001 wpt_uint8 ucPatternId;
4002 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004003} WDI_WowlDelBcPtrnInfoType;
4004
4005/*---------------------------------------------------------------------------
4006 WDI_WowlDelBcPtrnReqParamsType
4007 Wowl add ptrn info passed to WDI form WDA
4008---------------------------------------------------------------------------*/
4009typedef struct
4010{
4011 /*Wowl delete ptrn Info Type, same as WDI_WowlDelBcastPtrn */
4012 WDI_WowlDelBcPtrnInfoType wdiWowlDelBcPtrnInfo;
4013 /*Request status callback offered by UMAC - it is called if the current req
4014 has returned PENDING as status; it delivers the status of sending the message
4015 over the BUS */
4016 WDI_ReqStatusCb wdiReqStatusCB;
4017 /*The user data passed in by UMAC, it will be sent back when the above
4018 function pointer will be called */
4019 void* pUserData;
4020}WDI_WowlDelBcPtrnReqParamsType;
4021
4022/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004023 WDI_WowlDelBcPtrnRspParamsType
4024 Wowl Del ptrn info passed from WDI to WDA
4025---------------------------------------------------------------------------*/
4026typedef struct
4027{
4028 /*Status of the response*/
4029 WDI_Status wdiStatus;
4030 /*BssIDX of the session*/
4031 wpt_uint8 bssIdx;
4032}WDI_WowlDelBcPtrnRspParamsType;
4033
4034/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004035 WDI_WowlEnterInfoType
4036 Wowl enter info passed to WDA form UMAC
4037---------------------------------------------------------------------------*/
4038typedef struct
4039{
4040 /* Enables/disables magic packet filtering */
4041 wpt_uint8 ucMagicPktEnable;
4042
4043 /* Magic pattern */
4044 wpt_macAddr magicPtrn;
4045
4046 /* Enables/disables packet pattern filtering in firmware.
4047 Enabling this flag enables broadcast pattern matching
4048 in Firmware. If unicast pattern matching is also desired,
4049 ucUcastPatternFilteringEnable flag must be set tot true
4050 as well
4051 */
4052 wpt_uint8 ucPatternFilteringEnable;
4053
4054 /* Enables/disables unicast packet pattern filtering.
4055 This flag specifies whether we want to do pattern match
4056 on unicast packets as well and not just broadcast packets.
4057 This flag has no effect if the ucPatternFilteringEnable
4058 (main controlling flag) is set to false
4059 */
4060 wpt_uint8 ucUcastPatternFilteringEnable;
4061
4062 /* This configuration is valid only when magicPktEnable=1.
4063 * It requests hardware to wake up when it receives the
4064 * Channel Switch Action Frame.
4065 */
4066 wpt_uint8 ucWowChnlSwitchRcv;
4067
4068 /* This configuration is valid only when magicPktEnable=1.
4069 * It requests hardware to wake up when it receives the
4070 * Deauthentication Frame.
4071 */
4072 wpt_uint8 ucWowDeauthRcv;
4073
4074 /* This configuration is valid only when magicPktEnable=1.
4075 * It requests hardware to wake up when it receives the
4076 * Disassociation Frame.
4077 */
4078 wpt_uint8 ucWowDisassocRcv;
4079
4080 /* This configuration is valid only when magicPktEnable=1.
4081 * It requests hardware to wake up when it has missed
4082 * consecutive beacons. This is a hardware register
4083 * configuration (NOT a firmware configuration).
4084 */
4085 wpt_uint8 ucWowMaxMissedBeacons;
4086
4087 /* This configuration is valid only when magicPktEnable=1.
4088 * This is a timeout value in units of microsec. It requests
4089 * hardware to unconditionally wake up after it has stayed
4090 * in WoWLAN mode for some time. Set 0 to disable this feature.
4091 */
4092 wpt_uint8 ucWowMaxSleepUsec;
4093
4094#ifdef WLAN_WAKEUP_EVENTS
4095 /* This configuration directs the WoW packet filtering to look for EAP-ID
4096 * requests embedded in EAPOL frames and use this as a wake source.
4097 */
4098 wpt_uint8 ucWoWEAPIDRequestEnable;
4099
4100 /* This configuration directs the WoW packet filtering to look for EAPOL-4WAY
4101 * requests and use this as a wake source.
4102 */
4103 wpt_uint8 ucWoWEAPOL4WayEnable;
4104
4105 /* This configuration allows a host wakeup on an network scan offload match.
4106 */
4107 wpt_uint8 ucWowNetScanOffloadMatch;
4108
4109 /* This configuration allows a host wakeup on any GTK rekeying error.
4110 */
4111 wpt_uint8 ucWowGTKRekeyError;
4112
4113 /* This configuration allows a host wakeup on BSS connection loss.
4114 */
4115 wpt_uint8 ucWoWBSSConnLoss;
4116#endif // WLAN_WAKEUP_EVENTS
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004117
4118 /* BSSIDX used to find the current session
4119 */
4120 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004121} WDI_WowlEnterInfoType;
4122
4123/*---------------------------------------------------------------------------
4124 WDI_WowlEnterReqParamsType
4125 Wowl enter info passed to WDI form WDA
4126---------------------------------------------------------------------------*/
4127typedef struct
4128{
4129 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
4130 WDI_WowlEnterInfoType wdiWowlEnterInfo;
4131 /*Request status callback offered by UMAC - it is called if the current req
4132 has returned PENDING as status; it delivers the status of sending the message
4133 over the BUS */
4134 WDI_ReqStatusCb wdiReqStatusCB;
4135 /*The user data passed in by UMAC, it will be sent back when the above
4136 function pointer will be called */
4137 void* pUserData;
4138}WDI_WowlEnterReqParamsType;
4139
4140/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004141 WDI_WowlEnterRsqParamsType
4142 Wowl enter info passed from WDI to WDA
4143---------------------------------------------------------------------------*/
4144typedef struct
4145{
4146 /*Status of the response message*/
4147 WDI_Status status;
4148
4149 /* BSSIDX used to find the current session
4150 */
4151 wpt_uint8 bssIdx;
4152}WDI_WowlEnterRspParamsType;
4153
4154/*---------------------------------------------------------------------------
4155 WDI_WowlExitInfoType
4156 Wowl exit info passed to WDA form UMAC
4157 ---------------------------------------------------------------------------*/
4158typedef struct
4159{
4160 /* BSSIDX used to find the current session
4161 */
4162 wpt_uint8 bssIdx;
4163} WDI_WowlExitInfoType;
4164
4165/*---------------------------------------------------------------------------
4166 WDI_WowlExitReqParamsType
4167 Wowl exit info passed to WDI form WDA
4168---------------------------------------------------------------------------*/
4169typedef struct
4170{
4171 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
4172 WDI_WowlExitInfoType wdiWowlExitInfo;
4173 /*Request status callback offered by UMAC - it is called if the current req
4174 has returned PENDING as status; it delivers the status of sending the message
4175 over the BUS */
4176 WDI_ReqStatusCb wdiReqStatusCB;
4177 /*The user data passed in by UMAC, it will be sent back when the above
4178 function pointer will be called */
4179 void* pUserData;
4180}WDI_WowlExitReqParamsType;
4181
4182/*---------------------------------------------------------------------------
4183 WDI_WowlExitRspParamsType
4184 Wowl exit info passed from WDI to WDA
4185---------------------------------------------------------------------------*/
4186typedef struct
4187{
4188 /*Status of the response message*/
4189 WDI_Status status;
4190
4191 /* BSSIDX used to find the current session
4192 */
4193 wpt_uint8 bssIdx;
4194}WDI_WowlExitRspParamsType;
4195
4196/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004197 WDI_ConfigureAppsCpuWakeupStateReqParamsType
4198 Apps Cpu Wakeup State parameters passed to WDI form WDA
4199---------------------------------------------------------------------------*/
4200typedef struct
4201{
4202 /*Depicts the state of the Apps CPU */
4203 wpt_boolean bIsAppsAwake;
4204 /*Request status callback offered by UMAC - it is called if the current req
4205 has returned PENDING as status; it delivers the status of sending the message
4206 over the BUS */
4207 WDI_ReqStatusCb wdiReqStatusCB;
4208 /*The user data passed in by UMAC, it will be sent back when the above
4209 function pointer will be called */
4210 void* pUserData;
4211}WDI_ConfigureAppsCpuWakeupStateReqParamsType;
4212/*---------------------------------------------------------------------------
4213 WDI_FlushAcReqinfoType
4214---------------------------------------------------------------------------*/
4215typedef struct
4216{
4217 // Message Type
4218 wpt_uint16 usMesgType;
4219
4220 // Message Length
4221 wpt_uint16 usMesgLen;
4222
4223 // Station Index. originates from HAL
4224 wpt_uint8 ucSTAId;
4225
4226 // TID for which the transmit queue is being flushed
4227 wpt_uint8 ucTid;
4228
4229}WDI_FlushAcReqinfoType;
4230
4231/*---------------------------------------------------------------------------
4232 WDI_FlushAcReqParamsType
4233---------------------------------------------------------------------------*/
4234typedef struct
4235{
4236 /*AC Info */
4237 WDI_FlushAcReqinfoType wdiFlushAcInfo;
4238
4239 /*Request status callback offered by UMAC - it is called if the current
4240 req has returned PENDING as status; it delivers the status of sending
4241 the message over the BUS */
4242 WDI_ReqStatusCb wdiReqStatusCB;
4243
4244 /*The user data passed in by UMAC, it will be sent back when the above
4245 function pointer will be called */
4246 void* pUserData;
4247}WDI_FlushAcReqParamsType;
4248
4249/*---------------------------------------------------------------------------
4250 WDI_BtAmpEventinfoType
4251 BT-AMP Event Structure
4252---------------------------------------------------------------------------*/
4253typedef struct
4254{
4255 wpt_uint8 ucBtAmpEventType;
4256
4257} WDI_BtAmpEventinfoType;
4258
4259/*---------------------------------------------------------------------------
4260 WDI_BtAmpEventParamsType
4261---------------------------------------------------------------------------*/
4262typedef struct
4263{
4264 /*BT AMP event Info */
4265 WDI_BtAmpEventinfoType wdiBtAmpEventInfo;
4266
4267 /*Request status callback offered by UMAC - it is called if the current
4268 req has returned PENDING as status; it delivers the status of sending
4269 the message over the BUS */
4270 WDI_ReqStatusCb wdiReqStatusCB;
4271
4272 /*The user data passed in by UMAC, it will be sent back when the above
4273 function pointer will be called */
4274 void* pUserData;
4275}WDI_BtAmpEventParamsType;
4276
Jeff Johnsone7245742012-09-05 17:12:55 -07004277#ifdef FEATURE_OEM_DATA_SUPPORT
4278
4279#ifndef OEM_DATA_REQ_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004280#define OEM_DATA_REQ_SIZE 134
Jeff Johnsone7245742012-09-05 17:12:55 -07004281#endif
4282#ifndef OEM_DATA_RSP_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004283#define OEM_DATA_RSP_SIZE 1968
Jeff Johnsone7245742012-09-05 17:12:55 -07004284#endif
4285
4286/*----------------------------------------------------------------------------
4287 WDI_oemDataReqInfoType
4288----------------------------------------------------------------------------*/
4289typedef struct
4290{
4291 wpt_macAddr selfMacAddr;
4292 wpt_uint8 oemDataReq[OEM_DATA_REQ_SIZE];
4293}WDI_oemDataReqInfoType;
4294
4295/*----------------------------------------------------------------------------
4296 WDI_oemDataReqParamsType
4297----------------------------------------------------------------------------*/
4298typedef struct
4299{
4300 /*Request status callback offered by UMAC - it is called if the current
4301 req has returned PENDING as status; it delivers the status of sending
4302 the message over the BUS */
4303 WDI_ReqStatusCb wdiReqStatusCB;
4304
4305 /*The user data passed in by UMAC, it will be sent back when the above
4306 function pointer will be called */
4307 void* pUserData;
4308
4309 /*OEM DATA REQ Info */
4310 WDI_oemDataReqInfoType wdiOemDataReqInfo;
4311
4312}WDI_oemDataReqParamsType;
4313
4314/*----------------------------------------------------------------------------
4315 WDI_oemDataRspParamsType
4316----------------------------------------------------------------------------*/
4317typedef struct
4318{
4319 wpt_uint8 oemDataRsp[OEM_DATA_RSP_SIZE];
4320}WDI_oemDataRspParamsType;
4321
4322#endif /* FEATURE_OEM_DATA_SUPPORT */
Jeff Johnson295189b2012-06-20 16:38:30 -07004323
4324#ifdef WLAN_FEATURE_VOWIFI_11R
4325/*---------------------------------------------------------------------------
4326 WDI_AggrAddTSReqInfoType
4327---------------------------------------------------------------------------*/
4328typedef struct
4329{
4330 /*STA Index*/
4331 wpt_uint8 ucSTAIdx;
4332
4333 /*Identifier for TSpec*/
4334 wpt_uint8 ucTspecIdx;
4335
4336 /*Tspec IE negotiated OTA*/
4337 WDI_TspecIEType wdiTspecIE[WDI_MAX_NO_AC];
4338
4339 /*UAPSD delivery and trigger enabled flags */
4340 wpt_uint8 ucUapsdFlags;
4341
4342 /*SI for each AC*/
4343 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
4344
4345 /*Suspend Interval for each AC*/
4346 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
4347
4348 /*DI for each AC*/
4349 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
4350
4351}WDI_AggrAddTSReqInfoType;
4352
4353
4354/*---------------------------------------------------------------------------
4355 WDI_AggrAddTSReqParamsType
4356---------------------------------------------------------------------------*/
4357typedef struct
4358{
4359 /*TSpec Info */
4360 WDI_AggrAddTSReqInfoType wdiAggrTsInfo;
4361
4362 /*Request status callback offered by UMAC - it is called if the current
4363 req has returned PENDING as status; it delivers the status of sending
4364 the message over the BUS */
4365 WDI_ReqStatusCb wdiReqStatusCB;
4366
4367 /*The user data passed in by UMAC, it will be sent back when the above
4368 function pointer will be called */
4369 void* pUserData;
4370}WDI_AggrAddTSReqParamsType;
4371
4372#endif /* WLAN_FEATURE_VOWIFI_11R */
4373
Jeff Johnson295189b2012-06-20 16:38:30 -07004374/*---------------------------------------------------------------------------
4375 WDI_FTMCommandReqType
4376---------------------------------------------------------------------------*/
4377typedef struct
4378{
4379 /* FTM Command Body length */
4380 wpt_uint32 bodyLength;
4381 /* Actual FTM Command body */
4382 void *FTMCommandBody;
4383}WDI_FTMCommandReqType;
Jeff Johnson295189b2012-06-20 16:38:30 -07004384
4385/*---------------------------------------------------------------------------
4386 WDI_WlanSuspendInfoType
4387---------------------------------------------------------------------------*/
4388typedef struct
4389{
4390 /* Mode of Mcast and Bcast filters configured */
4391 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4392}WDI_WlanSuspendInfoType;
4393
4394/*---------------------------------------------------------------------------
4395 WDI_SuspendParamsType
4396---------------------------------------------------------------------------*/
4397typedef struct
4398{
4399 WDI_WlanSuspendInfoType wdiSuspendParams;
4400
4401 /*Request status callback offered by UMAC - it is called if the current
4402 req has returned PENDING as status; it delivers the status of sending
4403 the message over the BUS */
4404 WDI_ReqStatusCb wdiReqStatusCB;
4405
4406 /*The user data passed in by UMAC, it will be sent back when the above
4407 function pointer will be called */
4408 void* pUserData;
4409
4410}WDI_SuspendParamsType;
4411
4412/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004413 WDI_TrafficStatsType - This is collected for each STA
4414---------------------------------------------------------------------------*/
4415
4416typedef struct
4417{
4418 /* TX stats */
4419 wpt_uint32 txBytesPushed;
4420 wpt_uint32 txPacketsPushed;
4421
4422 /* RX stats */
4423 wpt_uint32 rxBytesRcvd;
4424 wpt_uint32 rxPacketsRcvd;
4425 wpt_uint32 rxTimeTotal;
4426}WDI_TrafficStatsType;
4427
4428typedef struct
4429{
4430 WDI_TrafficStatsType *pTrafficStats;
4431 wpt_uint32 length;
4432 wpt_uint32 duration;
4433
4434 /*Request status callback offered by UMAC - it is called if the current
4435 req has returned PENDING as status; it delivers the status of sending
4436 the message over the BUS */
4437 WDI_ReqStatusCb wdiReqStatusCB;
4438
4439 /*The user data passed in by UMAC, it will be sent back when the above
4440 function pointer will be called */
4441 void* pUserData;
4442}WDI_TrafficStatsIndType;
4443
Chet Lanctot186b5732013-03-18 10:26:30 -07004444#ifdef WLAN_FEATURE_11W
4445typedef struct
4446{
4447
4448 wpt_boolean bExcludeUnencrypt;
4449 wpt_macAddr bssid;
4450 /*Request status callback offered by UMAC - it is called if the current
4451 req has returned PENDING as status; it delivers the status of sending
4452 the message over the BUS */
4453 WDI_ReqStatusCb wdiReqStatusCB;
4454
4455 /*The user data passed in by UMAC, it will be sent back when the above
4456 function pointer will be called */
4457 void* pUserData;
4458}WDI_ExcludeUnencryptIndType;
4459#endif
4460
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004461/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004462 WDI_WlanResumeInfoType
4463---------------------------------------------------------------------------*/
4464typedef struct
4465{
4466 /* Mode of Mcast and Bcast filters configured */
4467 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4468}WDI_WlanResumeInfoType;
4469
4470/*---------------------------------------------------------------------------
4471 WDI_ResumeParamsType
4472---------------------------------------------------------------------------*/
4473typedef struct
4474{
4475 WDI_WlanResumeInfoType wdiResumeParams;
4476
4477 /*Request status callback offered by UMAC - it is called if the current
4478 req has returned PENDING as status; it delivers the status of sending
4479 the message over the BUS */
4480 WDI_ReqStatusCb wdiReqStatusCB;
4481
4482 /*The user data passed in by UMAC, it will be sent back when the above
4483 function pointer will be called */
4484 void* pUserData;
4485
4486}WDI_ResumeParamsType;
4487
4488#ifdef WLAN_FEATURE_GTK_OFFLOAD
4489/*---------------------------------------------------------------------------
4490 * WDI_GTK_OFFLOAD_REQ
4491 *--------------------------------------------------------------------------*/
4492
4493typedef struct
4494{
4495 wpt_uint32 ulFlags; /* optional flags */
4496 wpt_uint8 aKCK[16]; /* Key confirmation key */
4497 wpt_uint8 aKEK[16]; /* key encryption key */
4498 wpt_uint64 ullKeyReplayCounter; /* replay counter */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004499 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004500} WDI_GtkOffloadReqParams;
4501
4502typedef struct
4503{
4504 WDI_GtkOffloadReqParams gtkOffloadReqParams;
4505
4506 /*Request status callback offered by UMAC - it is called if the current
4507 req has returned PENDING as status; it delivers the status of sending
4508 the message over the BUS */
4509 WDI_ReqStatusCb wdiReqStatusCB;
4510
4511 /*The user data passed in by UMAC, it will be sent back when the above
4512 function pointer will be called */
4513 void* pUserData;
4514} WDI_GtkOffloadReqMsg;
4515
4516/*---------------------------------------------------------------------------
4517 * WDI_GTK_OFFLOAD_RSP
4518 *--------------------------------------------------------------------------*/
4519typedef struct
4520{
4521 /* success or failure */
4522 wpt_uint32 ulStatus;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004523 /*BssIdx of the response */
4524 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004525} WDI_GtkOffloadRspParams;
4526
4527typedef struct
4528{
4529 WDI_GtkOffloadRspParams gtkOffloadRspParams;
4530
4531 /*Request status callback offered by UMAC - it is called if the current
4532 req has returned PENDING as status; it delivers the status of sending
4533 the message over the BUS */
4534 WDI_ReqStatusCb wdiReqStatusCB;
4535
4536 /*The user data passed in by UMAC, it will be sent back when the above
4537 function pointer will be called */
4538 void* pUserData;
4539} WDI_GtkOffloadRspMsg;
4540
4541
4542/*---------------------------------------------------------------------------
4543* WDI_GTK_OFFLOAD_GETINFO_REQ
4544*--------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004545typedef struct
4546{
4547 /*BssIdx of the response */
4548 wpt_macAddr bssId;
4549} WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004550
4551typedef struct
4552{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004553
4554 WDI_GtkOffloadGetInfoReqParams WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004555 /*Request status callback offered by UMAC - it is called if the current
4556 req has returned PENDING as status; it delivers the status of sending
4557 the message over the BUS */
4558 WDI_ReqStatusCb wdiReqStatusCB;
4559
4560 /*The user data passed in by UMAC, it will be sent back when the above
4561 function pointer will be called */
4562 void* pUserData;
4563} WDI_GtkOffloadGetInfoReqMsg;
4564
4565/*---------------------------------------------------------------------------
4566* WDI_GTK_OFFLOAD_GETINFO_RSP
4567*--------------------------------------------------------------------------*/
4568typedef struct
4569{
4570 wpt_uint32 ulStatus; /* success or failure */
4571 wpt_uint64 ullKeyReplayCounter; /* current replay counter value */
4572 wpt_uint32 ulTotalRekeyCount; /* total rekey attempts */
4573 wpt_uint32 ulGTKRekeyCount; /* successful GTK rekeys */
4574 wpt_uint32 ulIGTKRekeyCount; /* successful iGTK rekeys */
Gopichand Nakkala870cbae2013-03-15 21:16:09 +05304575 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004576} WDI_GtkOffloadGetInfoRspParams;
4577
4578typedef struct
4579{
4580 WDI_GtkOffloadGetInfoRspParams gtkOffloadGetInfoRspParams;
4581
4582 /*Request status callback offered by UMAC - it is called if the current
4583 req has returned PENDING as status; it delivers the status of sending
4584 the message over the BUS */
4585 WDI_ReqStatusCb wdiReqStatusCB;
4586
4587 /*The user data passed in by UMAC, it will be sent back when the above
4588 function pointer will be called */
4589 void* pUserData;
4590} WDI_GtkOffloadGetInfoRspMsg;
4591#endif // WLAN_FEATURE_GTK_OFFLOAD
4592
4593/*---------------------------------------------------------------------------
4594 WDI_SuspendResumeRspParamsType
4595---------------------------------------------------------------------------*/
4596typedef struct
4597{
4598 /*Status of the response*/
4599 WDI_Status wdiStatus;
4600}WDI_SuspendResumeRspParamsType;
4601
Leo Chang9056f462013-08-01 19:21:11 -07004602#ifdef FEATURE_WLAN_LPHB
4603/*---------------------------------------------------------------------------
4604 WDI Low Power Heart Beat Config request
4605 Copy from sirApi.h to avoid compile error
4606---------------------------------------------------------------------------*/
4607#define WDI_LPHB_FILTER_LEN 64
4608
4609typedef enum
4610{
4611 WDI_LPHB_SET_EN_PARAMS_INDID = 0x0001,
4612 WDI_LPHB_SET_TCP_PARAMS_INDID,
4613 WDI_LPHB_SET_TCP_PKT_FILTER_INDID,
4614 WDI_LPHB_SET_UDP_PARAMS_INDID,
4615 WDI_LPHB_SET_UDP_PKT_FILTER_INDID,
4616 WDI_LPHB_SET_NETWORK_INFO_INDID,
4617} WDI_LPHBIndType;
4618
4619typedef struct
4620{
4621 wpt_uint8 enable;
4622 wpt_uint8 item;
4623 wpt_uint8 session;
4624} WDI_LPHBEnableStruct;
4625
4626typedef struct
4627{
4628 wpt_uint32 srv_ip;
4629 wpt_uint32 dev_ip;
4630 wpt_uint16 src_port;
4631 wpt_uint16 dst_port;
4632 wpt_uint16 timeout;
4633 wpt_uint8 session;
4634 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
Leo Changd9df8aa2013-09-26 13:32:26 -07004635 wpt_uint16 timePeriodSec; // in seconds
4636 wpt_uint32 tcpSn;
Leo Chang9056f462013-08-01 19:21:11 -07004637} WDI_LPHBTcpParamStruct;
4638
4639typedef struct
4640{
4641 wpt_uint16 length;
4642 wpt_uint8 offset;
4643 wpt_uint8 session;
4644 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
4645} WDI_LPHBTcpFilterStruct;
4646
4647typedef struct
4648{
4649 wpt_uint32 srv_ip;
4650 wpt_uint32 dev_ip;
4651 wpt_uint16 src_port;
4652 wpt_uint16 dst_port;
4653 wpt_uint16 interval;
4654 wpt_uint16 timeout;
4655 wpt_uint8 session;
4656 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
4657} WDI_LPHBUdpParamStruct;
4658
4659typedef struct
4660{
4661 wpt_uint16 length;
4662 wpt_uint8 offset;
4663 wpt_uint8 session;
4664 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
4665} WDI_LPHBUdpFilterStruct;
4666
4667typedef struct
4668{
4669 wpt_uint16 cmd;
4670 wpt_uint16 dummy;
4671 union
4672 {
4673 WDI_LPHBEnableStruct lphbEnableReq;
4674 WDI_LPHBTcpParamStruct lphbTcpParamReq;
4675 WDI_LPHBTcpFilterStruct lphbTcpFilterReq;
4676 WDI_LPHBUdpParamStruct lphbUdpParamReq;
4677 WDI_LPHBUdpFilterStruct lphbUdpFilterReq;
4678 } params;
4679} WDI_LPHBReq;
4680#endif /* FEATURE_WLAN_LPHB */
Jeff Johnson295189b2012-06-20 16:38:30 -07004681
Jeff Johnson295189b2012-06-20 16:38:30 -07004682/*---------------------------------------------------------------------------
4683 WDI_AuthType
4684---------------------------------------------------------------------------*/
4685typedef enum
4686{
4687 WDI_AUTH_TYPE_ANY = 0,
4688
4689 WDI_AUTH_TYPE_NONE,
4690 WDI_AUTH_TYPE_OPEN_SYSTEM,
4691 WDI_AUTH_TYPE_SHARED_KEY,
4692
4693 WDI_AUTH_TYPE_WPA,
4694 WDI_AUTH_TYPE_WPA_PSK,
4695 WDI_AUTH_TYPE_WPA_NONE,
4696
4697 WDI_AUTH_TYPE_RSN,
4698 WDI_AUTH_TYPE_RSN_PSK,
4699 WDI_AUTH_TYPE_FT_RSN,
4700 WDI_AUTH_TYPE_FT_RSN_PSK,
4701 WDI_AUTH_TYPE_WAPI_WAI_CERTIFICATE,
4702 WDI_AUTH_TYPE_WAPI_WAI_PSK,
4703 WDI_AUTH_TYPE_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
4704
4705}WDI_AuthType;
4706
4707/*---------------------------------------------------------------------------
4708 WDI_EdType
4709---------------------------------------------------------------------------*/
4710typedef enum
4711{
4712 WDI_ED_ANY = 0,
4713 WDI_ED_NONE,
4714 WDI_ED_WEP40,
4715 WDI_ED_WEP104,
4716 WDI_ED_TKIP,
4717 WDI_ED_CCMP,
4718 WDI_ED_WPI,
4719 WDI_ED_AES_128_CMAC,
4720 WDI_ED_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
4721} WDI_EdType;
4722
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08004723#ifdef FEATURE_WLAN_SCAN_PNO
4724
4725/*Max number of channels for a given network supported by PNO*/
4726#define WDI_PNO_MAX_NETW_CHANNELS 26
4727
4728/*Max number of channels for a given network supported by PNO*/
4729#define WDI_PNO_MAX_NETW_CHANNELS_EX 60
4730
4731/*The max number of programable networks for PNO*/
4732#define WDI_PNO_MAX_SUPP_NETWORKS 16
4733
4734/*The max number of scan timers programable in Riva*/
4735#define WDI_PNO_MAX_SCAN_TIMERS 10
4736
4737#define WDI_PNO_MAX_PROBE_SIZE 450
Jeff Johnson295189b2012-06-20 16:38:30 -07004738
4739/*---------------------------------------------------------------------------
4740 WDI_PNOMode
4741---------------------------------------------------------------------------*/
4742typedef enum
4743{
4744 /*Network offload is to start immediately*/
4745 WDI_PNO_MODE_IMMEDIATE,
4746
4747 /*Network offload is to start on host suspend*/
4748 WDI_PNO_MODE_ON_SUSPEND,
4749
4750 /*Network offload is to start on host resume*/
4751 WDI_PNO_MODE_ON_RESUME,
4752 WDI_PNO_MODE_MAX = 0xFFFFFFFF
4753} WDI_PNOMode;
4754
4755/* SSID broadcast type */
4756typedef enum
4757{
4758 WDI_BCAST_UNKNOWN = 0,
4759 WDI_BCAST_NORMAL = 1,
4760 WDI_BCAST_HIDDEN = 2,
4761
4762 WDI_BCAST_TYPE_MAX = 0xFFFFFFFF
4763} WDI_SSIDBcastType;
4764
4765/*---------------------------------------------------------------------------
4766 WDI_NetworkType
4767---------------------------------------------------------------------------*/
4768typedef struct
4769{
4770 /*The SSID of the preferred network*/
4771 WDI_MacSSid ssId;
4772
4773 /*The authentication method of the preferred network*/
4774 WDI_AuthType wdiAuth;
4775
4776 /*The encryption method of the preferred network*/
4777 WDI_EdType wdiEncryption;
4778
4779 /*SSID broadcast type, normal, hidden or unknown*/
4780 WDI_SSIDBcastType wdiBcastNetworkType;
4781
4782 /*channel count - 0 for all channels*/
4783 wpt_uint8 ucChannelCount;
4784
4785 /*the actual channels*/
Madan Mohan Koyyalamudi4bb5d2e2013-09-26 17:36:46 +05304786 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
Jeff Johnson295189b2012-06-20 16:38:30 -07004787
4788 /*rssi threshold that a network must meet to be considered, 0 - for any*/
4789 wpt_uint8 rssiThreshold;
4790} WDI_NetworkType;
4791
4792
4793/*---------------------------------------------------------------------------
4794 WDI_ScanTimer
4795---------------------------------------------------------------------------*/
4796typedef struct
4797{
4798 /*The timer value*/
4799 wpt_uint32 uTimerValue;
4800
4801 /*The amount of time we should be repeating the interval*/
4802 wpt_uint32 uTimerRepeat;
4803} WDI_ScanTimer;
4804
4805/*---------------------------------------------------------------------------
4806 WDI_ScanTimersType
4807---------------------------------------------------------------------------*/
4808typedef struct
4809{
4810 /*The number of value pair intervals present in the array*/
4811 wpt_uint8 ucScanTimersCount;
4812
4813 /*The time-repeat value pairs*/
4814 WDI_ScanTimer aTimerValues[WDI_PNO_MAX_SCAN_TIMERS];
4815} WDI_ScanTimersType;
4816
4817/*---------------------------------------------------------------------------
4818 WDI_PNOScanReqType
4819---------------------------------------------------------------------------*/
4820typedef struct
4821{
4822 /*Enable or disable PNO feature*/
4823 wpt_uint8 bEnable;
4824
4825 /*PNO mode requested*/
4826 WDI_PNOMode wdiModePNO;
4827
4828 /*Network count*/
4829 wpt_uint8 ucNetworksCount;
4830
4831 /*The networks to look for*/
4832 WDI_NetworkType aNetworks[WDI_PNO_MAX_SUPP_NETWORKS];
4833
4834 /*Scan timer intervals*/
4835 WDI_ScanTimersType scanTimers;
4836
4837 /*Probe template for 2.4GHz band*/
4838 wpt_uint16 us24GProbeSize;
4839 wpt_uint8 a24GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
4840
4841 /*Probe template for 5GHz band*/
4842 wpt_uint16 us5GProbeSize;
4843 wpt_uint8 a5GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
4844} WDI_PNOScanReqType;
4845
4846/*---------------------------------------------------------------------------
4847 WDI_PNOScanReqParamsType
4848 PNO info passed to WDI form WDA
4849---------------------------------------------------------------------------*/
4850typedef struct
4851{
4852 /* PNO Info Type, same as tPrefNetwListParams */
4853 WDI_PNOScanReqType wdiPNOScanInfo;
4854 /* Request status callback offered by UMAC - it is called if the current req
4855 has returned PENDING as status; it delivers the status of sending the message
4856 over the BUS */
4857 WDI_ReqStatusCb wdiReqStatusCB;
4858 /* The user data passed in by UMAC, it will be sent back when the above
4859 function pointer will be called */
4860 void* pUserData;
4861} WDI_PNOScanReqParamsType;
4862
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08004863/*---------------------------------------------------------------------------
4864 WDI_SetRssiFilterReqParamsType
4865 PNO info passed to WDI form WDA
4866---------------------------------------------------------------------------*/
4867typedef struct
4868{
4869 /* RSSI Threshold */
4870 wpt_uint8 rssiThreshold;
4871 /* Request status callback offered by UMAC - it is called if the current req
4872 has returned PENDING as status; it delivers the status of sending the message
4873 over the BUS */
4874 WDI_ReqStatusCb wdiReqStatusCB;
4875 /* The user data passed in by UMAC, it will be sent back when the above
4876 function pointer will be called */
4877 void* pUserData;
4878} WDI_SetRssiFilterReqParamsType;
4879
4880/*---------------------------------------------------------------------------
4881 WDI_UpdateScanParamsInfo
4882---------------------------------------------------------------------------*/
4883typedef struct
4884{
4885 /*Is 11d enabled*/
4886 wpt_uint8 b11dEnabled;
4887
4888 /*Was UMAc able to find the regulatory domain*/
4889 wpt_uint8 b11dResolved;
4890
4891 /*Number of channel allowed in the regulatory domain*/
4892 wpt_uint8 ucChannelCount;
4893
4894 /*The actual channels allowed in the regulatory domain*/
4895 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
4896
4897 /*Passive min channel time*/
4898 wpt_uint16 usPassiveMinChTime;
4899
4900 /*Passive max channel time*/
4901 wpt_uint16 usPassiveMaxChTime;
4902
4903 /*Active min channel time*/
4904 wpt_uint16 usActiveMinChTime;
4905
4906 /*Active max channel time*/
4907 wpt_uint16 usActiveMaxChTime;
4908
4909 /*channel bonding info*/
4910 wpt_uint8 cbState;
4911} WDI_UpdateScanParamsInfo;
4912
4913/*---------------------------------------------------------------------------
4914 WDI_UpdateScanParamsInfoType
4915 UpdateScanParams info passed to WDI form WDA
4916---------------------------------------------------------------------------*/
4917typedef struct
4918{
4919 /* PNO Info Type, same as tUpdateScanParams */
4920 WDI_UpdateScanParamsInfo wdiUpdateScanParamsInfo;
4921 /* Request status callback offered by UMAC - it is called if the current req
4922 has returned PENDING as status; it delivers the status of sending the message
4923 over the BUS */
4924 WDI_ReqStatusCb wdiReqStatusCB;
4925 /* The user data passed in by UMAC, it will be sent back when the above
4926 function pointer will be called */
4927 void* pUserData;
4928} WDI_UpdateScanParamsInfoType;
4929#endif //FEATURE_WLAN_SCAN_PNO
4930
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004931#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
4932
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08004933#define WDI_ROAM_SCAN_MAX_CHANNELS 80 /* NUM_RF_CHANNELS */
4934#define WDI_ROAM_SCAN_MAX_PROBE_SIZE 450
4935#define WDI_ROAM_SCAN_RESERVED_BYTES 61
4936
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004937typedef struct
4938{
4939 /*The SSID of the preferred network*/
4940 WDI_MacSSid ssId;
4941 wpt_uint8 currAPbssid[WDI_MAC_ADDR_LEN];
4942
4943 /*The authentication method of the preferred network*/
4944 WDI_AuthType authentication;
4945
4946 /*The encryption method of the preferred network*/
4947 WDI_EdType encryption;
4948 WDI_EdType mcencryption;
4949
4950 /*SSID broadcast type, normal, hidden or unknown*/
4951 //WDI_SSIDBcastType wdiBcastNetworkType;
4952
4953 /*channel count - 0 for all channels*/
4954 wpt_uint8 ChannelCount;
4955
4956 /*the actual channels*/
4957 wpt_uint8 ChannelCache[WDI_ROAM_SCAN_MAX_CHANNELS];
4958
4959} WDI_RoamNetworkType;
4960
4961typedef struct WDIMobilityDomainInfo
4962{
4963 wpt_uint8 mdiePresent;
4964 wpt_uint16 mobilityDomain;
4965} WDI_MobilityDomainInfo;
4966
4967/*---------------------------------------------------------------------------
4968 WDI_RoamOffloadScanInfo
4969---------------------------------------------------------------------------*/
4970typedef struct
4971{
4972 wpt_boolean RoamScanOffloadEnabled;
Sameer Thalappil4ae66ec2013-11-05 14:17:35 -08004973 wpt_boolean MAWCEnabled;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004974 wpt_uint8 LookupThreshold;
4975 wpt_uint8 RoamRssiDiff;
4976 wpt_uint8 ChannelCacheType;
4977 wpt_uint8 Command;
4978 wpt_uint8 StartScanReason;
4979 wpt_uint16 NeighborScanTimerPeriod;
4980 wpt_uint16 NeighborRoamScanRefreshPeriod;
4981 wpt_uint16 NeighborScanChannelMinTime;
4982 wpt_uint16 NeighborScanChannelMaxTime;
4983 wpt_uint16 EmptyRefreshScanPeriod;
4984 wpt_uint8 ValidChannelCount;
4985 wpt_uint8 ValidChannelList[WDI_ROAM_SCAN_MAX_CHANNELS];
4986 wpt_boolean IsCCXEnabled;
4987 /*Probe template for 2.4GHz band*/
4988 wpt_uint16 us24GProbeSize;
4989 wpt_uint8 a24GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
4990
4991 /*Probe template for 5GHz band*/
4992 wpt_uint16 us5GProbeSize;
4993 wpt_uint8 a5GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07004994 /*LFR BG Scan will currently look for only one network to which it is initially connected.
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004995 * As per requirement, later, the following structure can be used as an array of networks.*/
4996 WDI_RoamNetworkType ConnectedNetwork;
4997 WDI_MobilityDomainInfo MDID;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07004998 wpt_uint8 nProbes;
4999 wpt_uint16 HomeAwayTime;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005000 wpt_uint8 ReservedBytes[WDI_ROAM_SCAN_RESERVED_BYTES];
5001} WDI_RoamOffloadScanInfo;
5002
5003typedef struct
5004{
5005 /* Start Roam Candidate Lookup Offload Back Ground Info Type */
5006 WDI_RoamOffloadScanInfo wdiRoamOffloadScanInfo;
5007 /* Request status callback offered by UMAC - it is called if the current req
5008 has returned PENDING as status; it delivers the status of sending the message
5009 over the BUS */
5010 WDI_ReqStatusCb wdiReqStatusCB;
5011 /* The user data passed in by UMAC, it will be sent back when the above
5012 function pointer will be called */
5013 void* pUserData;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005014} WDI_RoamScanOffloadReqParamsType;
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005015#endif //WLAN_FEATURE_ROAM_SCAN_OFFLOAD
Jeff Johnson295189b2012-06-20 16:38:30 -07005016
5017/*---------------------------------------------------------------------------
5018 WDI_UpdateScanParamsInfo
5019---------------------------------------------------------------------------*/
5020typedef struct
5021{
5022 /* Ignore DTIM */
5023 wpt_uint32 uIgnoreDTIM;
5024
5025 /*DTIM Period*/
5026 wpt_uint32 uDTIMPeriod;
5027
5028 /* Listen Interval */
5029 wpt_uint32 uListenInterval;
5030
5031 /* Broadcast Multicas Filter */
5032 wpt_uint32 uBcastMcastFilter;
5033
5034 /* Beacon Early Termination */
5035 wpt_uint32 uEnableBET;
5036
5037 /* Beacon Early Termination Interval */
5038 wpt_uint32 uBETInterval;
5039
Yue Mac24062f2013-05-13 17:01:29 -07005040 /* MAX LI for modulated DTIM */
5041 wpt_uint32 uMaxLIModulatedDTIM;
5042
Jeff Johnson295189b2012-06-20 16:38:30 -07005043} WDI_SetPowerParamsInfo;
5044
5045/*---------------------------------------------------------------------------
5046 WDI_UpdateScanParamsInfoType
5047 UpdateScanParams info passed to WDI form WDA
5048---------------------------------------------------------------------------*/
5049typedef struct
5050{
5051 /* Power params Info Type, same as tSetPowerParamsReq */
5052 WDI_SetPowerParamsInfo wdiSetPowerParamsInfo;
5053 /* Request status callback offered by UMAC - it is called if the current req
5054 has returned PENDING as status; it delivers the status of sending the message
5055 over the BUS */
5056 WDI_ReqStatusCb wdiReqStatusCB;
5057 /* The user data passed in by UMAC, it will be sent back when the above
5058 function pointer will be called */
5059 void* pUserData;
5060}WDI_SetPowerParamsReqParamsType;
5061
5062/*---------------------------------------------------------------------------
5063 WDI_SetTxPerTrackingConfType
5064 Wowl add ptrn info passed to WDA form UMAC
5065---------------------------------------------------------------------------*/
5066typedef struct
5067{
5068 wpt_uint8 ucTxPerTrackingEnable; /* 0: disable, 1:enable */
5069 wpt_uint8 ucTxPerTrackingPeriod; /* Check period, unit is sec. */
5070 wpt_uint8 ucTxPerTrackingRatio; /* (Fail TX packet)/(Total TX packet) ratio, the unit is 10%. */
5071 wpt_uint32 uTxPerTrackingWatermark; /* A watermark of check number, once the tx packet exceed this number, we do the check, default is 5 */
5072} WDI_TxPerTrackingParamType;
5073
5074/*---------------------------------------------------------------------------
5075 WDI_SetTxPerTrackingReqParamsType
5076 Tx PER Tracking parameters passed to WDI from WDA
5077---------------------------------------------------------------------------*/
5078typedef struct
5079{
5080 /* Configurations for Tx PER Tracking */
5081 WDI_TxPerTrackingParamType wdiTxPerTrackingParam;
5082 /*Request status callback offered by UMAC - it is called if the current req
5083 has returned PENDING as status; it delivers the status of sending the message
5084 over the BUS */
5085 WDI_ReqStatusCb wdiReqStatusCB;
5086 /*The user data passed in by UMAC, it will be sent back when the above
5087 function pointer will be called */
5088 void* pUserData;
5089}WDI_SetTxPerTrackingReqParamsType;
5090
5091#ifdef WLAN_FEATURE_PACKET_FILTERING
5092/*---------------------------------------------------------------------------
5093 Packet Filtering Parameters
5094---------------------------------------------------------------------------*/
5095
5096#define WDI_IPV4_ADDR_LEN 4
5097#define WDI_MAC_ADDR_LEN 6
5098#define WDI_MAX_FILTER_TEST_DATA_LEN 8
5099#define WDI_MAX_NUM_MULTICAST_ADDRESS 240
5100#define WDI_MAX_NUM_FILTERS 20
5101#define WDI_MAX_NUM_TESTS_PER_FILTER 10
5102
5103//
5104// Receive Filter Parameters
5105//
5106typedef enum
5107{
5108 WDI_RCV_FILTER_TYPE_INVALID,
5109 WDI_RCV_FILTER_TYPE_FILTER_PKT,
5110 WDI_RCV_FILTER_TYPE_BUFFER_PKT,
5111 WDI_RCV_FILTER_TYPE_MAX_ENUM_SIZE
5112}WDI_ReceivePacketFilterType;
5113
5114typedef enum
5115{
5116 WDI_FILTER_HDR_TYPE_INVALID,
5117 WDI_FILTER_HDR_TYPE_MAC,
5118 WDI_FILTER_HDR_TYPE_ARP,
5119 WDI_FILTER_HDR_TYPE_IPV4,
5120 WDI_FILTER_HDR_TYPE_IPV6,
5121 WDI_FILTER_HDR_TYPE_UDP,
5122 WDI_FILTER_HDR_TYPE_MAX
5123}WDI_RcvPktFltProtocolType;
5124
5125typedef enum
5126{
5127 WDI_FILTER_CMP_TYPE_INVALID,
5128 WDI_FILTER_CMP_TYPE_EQUAL,
5129 WDI_FILTER_CMP_TYPE_MASK_EQUAL,
5130 WDI_FILTER_CMP_TYPE_NOT_EQUAL,
5131 WDI_FILTER_CMP_TYPE_MASK_NOT_EQUAL,
5132 WDI_FILTER_CMP_TYPE_MAX
5133}WDI_RcvPktFltCmpFlagType;
5134
5135typedef struct
5136{
5137 WDI_RcvPktFltProtocolType protocolLayer;
5138 WDI_RcvPktFltCmpFlagType cmpFlag;
5139/* Length of the data to compare */
5140 wpt_uint16 dataLength;
5141/* from start of the respective frame header */
5142 wpt_uint8 dataOffset;
5143 wpt_uint8 reserved; /* Reserved field */
5144/* Data to compare */
5145 wpt_uint8 compareData[WDI_MAX_FILTER_TEST_DATA_LEN];
5146/* Mask to be applied on the received packet data before compare */
5147 wpt_uint8 dataMask[WDI_MAX_FILTER_TEST_DATA_LEN];
5148}WDI_RcvPktFilterFieldParams;
5149
5150typedef struct
5151{
5152 wpt_uint8 filterId;
5153 wpt_uint8 filterType;
5154 wpt_uint32 numFieldParams;
5155 wpt_uint32 coalesceTime;
Jeff Johnsone7245742012-09-05 17:12:55 -07005156 wpt_macAddr selfMacAddr;
5157 wpt_macAddr bssId;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005158 WDI_RcvPktFilterFieldParams paramsData[1];
5159
Jeff Johnson295189b2012-06-20 16:38:30 -07005160}WDI_RcvPktFilterCfgType;
5161
5162typedef struct
5163{
5164 /*Request status callback offered by UMAC - it is called if the current
5165 req has returned PENDING as status; it delivers the status of sending
5166 the message over the BUS */
5167 WDI_ReqStatusCb wdiReqStatusCB;
5168
5169 /*The user data passed in by UMAC, it will be sent back when the above
5170 function pointer will be called */
5171 void* pUserData;
5172
5173 // Variable length packet filter field params
5174 WDI_RcvPktFilterCfgType wdiPktFilterCfg;
5175} WDI_SetRcvPktFilterReqParamsType;
5176
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005177typedef struct
5178{
5179 /*Result of the operation*/
5180 WDI_Status wdiStatus;
5181 /* BSSIDX of the Set Receive Filter
5182 */
5183 wpt_uint8 bssIdx;
5184} WDI_SetRcvPktFilterRspParamsType;
5185
Jeff Johnson295189b2012-06-20 16:38:30 -07005186//
5187// Filter Packet Match Count Parameters
5188//
5189typedef struct
5190{
5191 /*Request status callback offered by UMAC - it is called if the current
5192 req has returned PENDING as status; it delivers the status of sending
5193 the message over the BUS */
5194 WDI_ReqStatusCb wdiReqStatusCB;
5195
5196 /*The user data passed in by UMAC, it will be sent back when the above
5197 function pointer will be called */
5198 void* pUserData;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005199
5200 /* BSSID of the Match count
5201 */
5202 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005203} WDI_RcvFltPktMatchCntReqParamsType;
5204
5205typedef struct
5206{
5207 wpt_uint8 filterId;
5208 wpt_uint32 matchCnt;
5209} WDI_RcvFltPktMatchCnt;
5210
5211typedef struct
5212{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005213 /*Result of the operation*/
5214 WDI_Status wdiStatus;
Jeff Johnson295189b2012-06-20 16:38:30 -07005215
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005216 /* BSSIDX of the Match count response
5217 */
5218 wpt_uint8 bssIdx;
5219
Jeff Johnson295189b2012-06-20 16:38:30 -07005220} WDI_RcvFltPktMatchCntRspParamsType;
5221
Jeff Johnson295189b2012-06-20 16:38:30 -07005222//
5223// Receive Filter Clear Parameters
5224//
5225typedef struct
5226{
5227 wpt_uint32 status; /* only valid for response message */
5228 wpt_uint8 filterId;
Jeff Johnsone7245742012-09-05 17:12:55 -07005229 wpt_macAddr selfMacAddr;
5230 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005231}WDI_RcvFltPktClearParam;
5232
5233typedef struct
5234{
5235 WDI_RcvFltPktClearParam filterClearParam;
5236 /*Request status callback offered by UMAC - it is called if the current
5237 req has returned PENDING as status; it delivers the status of sending
5238 the message over the BUS */
5239 WDI_ReqStatusCb wdiReqStatusCB;
5240
5241 /*The user data passed in by UMAC, it will be sent back when the above
5242 function pointer will be called */
5243 void* pUserData;
5244} WDI_RcvFltPktClearReqParamsType;
5245
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005246typedef struct
5247{
5248 /*Result of the operation*/
5249 WDI_Status wdiStatus;
5250 /* BSSIDX of the Match count response
5251 */
5252 wpt_uint8 bssIdx;
5253
5254} WDI_RcvFltPktClearRspParamsType;
5255
Jeff Johnson295189b2012-06-20 16:38:30 -07005256//
5257// Multicast Address List Parameters
5258//
5259typedef struct
5260{
5261 wpt_uint32 ulMulticastAddrCnt;
5262 wpt_macAddr multicastAddr[WDI_MAX_NUM_MULTICAST_ADDRESS];
Jeff Johnsone7245742012-09-05 17:12:55 -07005263 wpt_macAddr selfMacAddr;
5264 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005265} WDI_RcvFltMcAddrListType;
5266
5267typedef struct
5268{
5269 WDI_RcvFltMcAddrListType mcAddrList;
5270 /*Request status callback offered by UMAC - it is called if the current
5271 req has returned PENDING as status; it delivers the status of sending
5272 the message over the BUS */
5273 WDI_ReqStatusCb wdiReqStatusCB;
5274
5275 /*The user data passed in by UMAC, it will be sent back when the above
5276 function pointer will be called */
5277 void* pUserData;
5278} WDI_RcvFltPktSetMcListReqParamsType;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005279
5280typedef struct
5281{
5282 /*Result of the operation*/
5283 WDI_Status wdiStatus;
5284 /* BSSIDX of the Match count response
5285 */
5286 wpt_uint8 bssIdx;
5287} WDI_RcvFltPktSetMcListRspParamsType;
5288
Jeff Johnson295189b2012-06-20 16:38:30 -07005289#endif // WLAN_FEATURE_PACKET_FILTERING
5290
5291/*---------------------------------------------------------------------------
5292 WDI_HALDumpCmdReqInfoType
5293---------------------------------------------------------------------------*/
5294typedef struct
5295{
5296 /*command*/
5297 wpt_uint32 command;
5298
5299 /*Arguments*/
5300 wpt_uint32 argument1;
5301 wpt_uint32 argument2;
5302 wpt_uint32 argument3;
5303 wpt_uint32 argument4;
5304
5305}WDI_HALDumpCmdReqInfoType;
5306
5307/*---------------------------------------------------------------------------
5308 WDI_HALDumpCmdReqParamsType
5309---------------------------------------------------------------------------*/
5310typedef struct
5311{
5312 /*NV Blob Info*/
5313 WDI_HALDumpCmdReqInfoType wdiHALDumpCmdInfoType;
5314
5315 /*Request status callback offered by UMAC - it is called if the current
5316 req has returned PENDING as status; it delivers the status of sending
5317 the message over the BUS */
5318 WDI_ReqStatusCb wdiReqStatusCB;
5319
5320 /*The user data passed in by UMAC, it will be sent back when the above
5321 function pointer will be called */
5322 void* pUserData;
5323
5324}WDI_HALDumpCmdReqParamsType;
5325
5326
5327/*---------------------------------------------------------------------------
5328 WDI_HALDumpCmdRspParamsType
5329---------------------------------------------------------------------------*/
5330typedef struct
5331{
5332 /*Result of the operation*/
5333 WDI_Status wdiStatus;
5334
5335 /* length of the buffer */
5336 wpt_uint16 usBufferLen;
5337
5338 /* Buffer */
5339 wpt_uint8 *pBuffer;
5340}WDI_HALDumpCmdRspParamsType;
5341
5342
5343/*---------------------------------------------------------------------------
5344 WDI_SetTmLevelReqType
5345---------------------------------------------------------------------------*/
5346typedef struct
5347{
5348 wpt_uint16 tmMode;
5349 wpt_uint16 tmLevel;
5350 void* pUserData;
5351}WDI_SetTmLevelReqType;
5352
5353/*---------------------------------------------------------------------------
5354 WDI_SetTmLevelRspType
5355---------------------------------------------------------------------------*/
5356typedef struct
5357{
5358 WDI_Status wdiStatus;
5359 void* pUserData;
5360}WDI_SetTmLevelRspType;
5361
Leo Chang9056f462013-08-01 19:21:11 -07005362#ifdef FEATURE_WLAN_LPHB
5363/*---------------------------------------------------------------------------
5364 WDI_LPHBConfigParamsType
5365---------------------------------------------------------------------------*/
5366typedef struct
5367{
5368 void* pLphsConfIndData;
5369}WDI_LPHBConfigParamsType;
5370#endif /* FEATURE_WLAN_LPHB */
5371
Yue Mab9c86f42013-08-14 15:59:08 -07005372/*---------------------------------------------------------------------------
5373 WDI_AddPeriodicTxPtrnInfoType
5374---------------------------------------------------------------------------*/
5375typedef struct
5376{
5377 /* MAC Address for the adapter */
5378 wpt_macAddr macAddr;
5379
5380 wpt_uint8 ucPtrnId; // Pattern ID
5381 wpt_uint16 ucPtrnSize; // Pattern size
5382 wpt_uint32 usPtrnIntervalMs; // In msec
5383 wpt_uint8 ucPattern[PERIODIC_TX_PTRN_MAX_SIZE]; // Pattern buffer
5384} WDI_AddPeriodicTxPtrnInfoType;
5385
5386/*---------------------------------------------------------------------------
5387 WDI_DelPeriodicTxPtrnInfoType
5388---------------------------------------------------------------------------*/
5389typedef struct
5390{
5391 /* MAC Address for the adapter */
5392 wpt_macAddr macAddr;
5393
5394 /* Bitmap of pattern IDs that needs to be deleted */
5395 wpt_uint32 ucPatternIdBitmap;
5396} WDI_DelPeriodicTxPtrnInfoType;
5397
5398/*---------------------------------------------------------------------------
5399 WDI_AddPeriodicTxPtrnParamsType
5400---------------------------------------------------------------------------*/
5401typedef struct
5402{
5403 WDI_AddPeriodicTxPtrnInfoType wdiAddPeriodicTxPtrnParams;
5404
5405 /*Request status callback offered by UMAC - it is called if the current
5406 req has returned PENDING as status; it delivers the status of sending
5407 the message over the BUS */
5408 WDI_ReqStatusCb wdiReqStatusCB;
5409
5410 /*The user data passed in by UMAC, it will be sent back when the above
5411 function pointer will be called */
5412 void* pUserData;
5413} WDI_AddPeriodicTxPtrnParamsType;
5414
5415/*---------------------------------------------------------------------------
5416 WDI_DelPeriodicTxPtrnParamsType
5417---------------------------------------------------------------------------*/
5418typedef struct
5419{
5420 WDI_DelPeriodicTxPtrnInfoType wdiDelPeriodicTxPtrnParams;
5421
5422 /*Request status callback offered by UMAC - it is called if the current
5423 req has returned PENDING as status; it delivers the status of sending
5424 the message over the BUS */
5425 WDI_ReqStatusCb wdiReqStatusCB;
5426
5427 /*The user data passed in by UMAC, it will be sent back when the above
5428 function pointer will be called */
5429 void* pUserData;
5430} WDI_DelPeriodicTxPtrnParamsType;
5431
Jeff Johnson295189b2012-06-20 16:38:30 -07005432/*----------------------------------------------------------------------------
5433 * WDI callback types
5434 *--------------------------------------------------------------------------*/
5435
5436/*---------------------------------------------------------------------------
5437 WDI_StartRspCb
5438
5439 DESCRIPTION
5440
5441 This callback is invoked by DAL when it has received a Start response from
5442 the underlying device.
5443
5444 PARAMETERS
5445
5446 IN
5447 wdiRspParams: response parameters received from HAL
5448 pUserData: user data
5449
5450
5451 RETURN VALUE
5452 The result code associated with performing the operation
5453---------------------------------------------------------------------------*/
5454typedef void (*WDI_StartRspCb)(WDI_StartRspParamsType* pwdiRspParams,
5455 void* pUserData);
5456
5457/*---------------------------------------------------------------------------
5458 WDI_StartRspCb
5459
5460 DESCRIPTION
5461
5462 This callback is invoked by DAL when it has received a Stop response from
5463 the underlying device.
5464
5465 PARAMETERS
5466
5467 IN
5468 wdiStatus: response status received from HAL
5469 pUserData: user data
5470
5471
5472
5473 RETURN VALUE
5474 The result code associated with performing the operation
5475---------------------------------------------------------------------------*/
5476typedef void (*WDI_StopRspCb)(WDI_Status wdiStatus,
5477 void* pUserData);
5478
5479/*---------------------------------------------------------------------------
5480 WDI_StartRspCb
5481
5482 DESCRIPTION
5483
5484 This callback is invoked by DAL when it has received an Init Scan response
5485 from the underlying device.
5486
5487 PARAMETERS
5488
5489 IN
5490 wdiStatus: response status received from HAL
5491 pUserData: user data
5492
5493
5494
5495 RETURN VALUE
5496 The result code associated with performing the operation
5497---------------------------------------------------------------------------*/
5498typedef void (*WDI_InitScanRspCb)(WDI_Status wdiStatus,
5499 void* pUserData);
5500
5501
5502/*---------------------------------------------------------------------------
5503 WDI_StartRspCb
5504
5505 DESCRIPTION
5506
5507 This callback is invoked by DAL when it has received a StartScan response
5508 from the underlying device.
5509
5510 PARAMETERS
5511
5512 IN
5513 wdiParams: response params received from HAL
5514 pUserData: user data
5515
5516
5517
5518 RETURN VALUE
5519 The result code associated with performing the operation
5520---------------------------------------------------------------------------*/
5521typedef void (*WDI_StartScanRspCb)(WDI_StartScanRspParamsType* wdiParams,
5522 void* pUserData);
5523
5524
5525/*---------------------------------------------------------------------------
5526 WDI_StartRspCb
5527
5528 DESCRIPTION
5529
5530 This callback is invoked by DAL when it has received a End Scan response
5531 from the underlying device.
5532
5533 PARAMETERS
5534
5535 IN
5536 wdiStatus: response status received from HAL
5537 pUserData: user data
5538
5539
5540
5541 RETURN VALUE
5542 The result code associated with performing the operation
5543---------------------------------------------------------------------------*/
5544typedef void (*WDI_EndScanRspCb)(WDI_Status wdiStatus,
5545 void* pUserData);
5546
5547
5548/*---------------------------------------------------------------------------
5549 WDI_StartRspCb
5550
5551 DESCRIPTION
5552
5553 This callback is invoked by DAL when it has received a Finish Scan response
5554 from the underlying device.
5555
5556 PARAMETERS
5557
5558 IN
5559 wdiStatus: response status received from HAL
5560 pUserData: user data
5561
5562
5563
5564 RETURN VALUE
5565 The result code associated with performing the operation
5566---------------------------------------------------------------------------*/
5567typedef void (*WDI_FinishScanRspCb)(WDI_Status wdiStatus,
5568 void* pUserData);
5569
5570
5571/*---------------------------------------------------------------------------
5572 WDI_StartRspCb
5573
5574 DESCRIPTION
5575
5576 This callback is invoked by DAL when it has received a Join response from
5577 the underlying device.
5578
5579 PARAMETERS
5580
5581 IN
5582 wdiStatus: response status received from HAL
5583 pUserData: user data
5584
5585
5586
5587 RETURN VALUE
5588 The result code associated with performing the operation
5589---------------------------------------------------------------------------*/
5590typedef void (*WDI_JoinRspCb)(WDI_Status wdiStatus,
5591 void* pUserData);
5592
5593
5594/*---------------------------------------------------------------------------
5595 WDI_StartRspCb
5596
5597 DESCRIPTION
5598
5599 This callback is invoked by DAL when it has received a Config BSS response
5600 from the underlying device.
5601
5602 PARAMETERS
5603
5604 IN
5605 wdiConfigBSSRsp: response parameters received from HAL
5606 pUserData: user data
5607
5608
5609 RETURN VALUE
5610 The result code associated with performing the operation
5611---------------------------------------------------------------------------*/
5612typedef void (*WDI_ConfigBSSRspCb)(
5613 WDI_ConfigBSSRspParamsType* pwdiConfigBSSRsp,
5614 void* pUserData);
5615
5616
5617/*---------------------------------------------------------------------------
5618 WDI_StartRspCb
5619
5620 DESCRIPTION
5621
5622 This callback is invoked by DAL when it has received a Del BSS response from
5623 the underlying device.
5624
5625 PARAMETERS
5626
5627 IN
5628 wdiDelBSSRsp: response parameters received from HAL
5629 pUserData: user data
5630
5631
5632 RETURN VALUE
5633 The result code associated with performing the operation
5634---------------------------------------------------------------------------*/
5635typedef void (*WDI_DelBSSRspCb)(WDI_DelBSSRspParamsType* pwdiDelBSSRsp,
5636 void* pUserData);
5637
5638
5639/*---------------------------------------------------------------------------
5640 WDI_StartRspCb
5641
5642 DESCRIPTION
5643
5644 This callback is invoked by DAL when it has received a Post Assoc response
5645 from the underlying device.
5646
5647 PARAMETERS
5648
5649 IN
5650 wdiRspParams: response parameters received from HAL
5651 pUserData: user data
5652
5653
5654 RETURN VALUE
5655 The result code associated with performing the operation
5656---------------------------------------------------------------------------*/
5657typedef void (*WDI_PostAssocRspCb)(
5658 WDI_PostAssocRspParamsType* pwdiPostAssocRsp,
5659 void* pUserData);
5660
5661
5662/*---------------------------------------------------------------------------
5663 WDI_StartRspCb
5664
5665 DESCRIPTION
5666
5667 This callback is invoked by DAL when it has received a Del STA response from
5668 the underlying device.
5669
5670 PARAMETERS
5671
5672 IN
5673 wdiDelSTARsp: response parameters received from HAL
5674 pUserData: user data
5675
5676
5677 RETURN VALUE
5678 The result code associated with performing the operation
5679---------------------------------------------------------------------------*/
5680typedef void (*WDI_DelSTARspCb)(WDI_DelSTARspParamsType* pwdiDelSTARsp,
5681 void* pUserData);
5682
5683
5684
5685/*---------------------------------------------------------------------------
5686 WDI_StartRspCb
5687
5688 DESCRIPTION
5689
5690 This callback is invoked by DAL when it has received a Set BSS Key response
5691 from the underlying device.
5692
5693 PARAMETERS
5694
5695 IN
5696 wdiStatus: response status received from HAL
5697 pUserData: user data
5698
5699
5700
5701 RETURN VALUE
5702 The result code associated with performing the operation
5703---------------------------------------------------------------------------*/
5704typedef void (*WDI_SetBSSKeyRspCb)(WDI_Status wdiStatus,
5705 void* pUserData);
5706
5707/*---------------------------------------------------------------------------
5708 WDI_StartRspCb
5709
5710 DESCRIPTION
5711
5712 This callback is invoked by DAL when it has received a Remove BSS Key
5713 response from the underlying device.
5714
5715 PARAMETERS
5716
5717 IN
5718 wdiStatus: response status received from HAL
5719 pUserData: user data
5720
5721
5722
5723 RETURN VALUE
5724 The result code associated with performing the operation
5725---------------------------------------------------------------------------*/
5726typedef void (*WDI_RemoveBSSKeyRspCb)(WDI_Status wdiStatus,
5727 void* pUserData);
5728
5729/*---------------------------------------------------------------------------
5730 WDI_StartRspCb
5731
5732 DESCRIPTION
5733
5734 This callback is invoked by DAL when it has received a Set STA Key response
5735 from the underlying device.
5736
5737 PARAMETERS
5738
5739 IN
5740 wdiStatus: response status received from HAL
5741 pUserData: user data
5742
5743
5744
5745 RETURN VALUE
5746 The result code associated with performing the operation
5747---------------------------------------------------------------------------*/
5748typedef void (*WDI_SetSTAKeyRspCb)(WDI_Status wdiStatus,
5749 void* pUserData);
5750
5751
5752/*---------------------------------------------------------------------------
5753 WDI_StartRspCb
5754
5755 DESCRIPTION
5756
5757 This callback is invoked by DAL when it has received a Remove STA Key
5758 response from the underlying device.
5759
5760 PARAMETERS
5761
5762 IN
5763 wdiStatus: response status received from HAL
5764 pUserData: user data
5765
5766
5767
5768 RETURN VALUE
5769 The result code associated with performing the operation
5770---------------------------------------------------------------------------*/
5771typedef void (*WDI_RemoveSTAKeyRspCb)(WDI_Status wdiStatus,
5772 void* pUserData);
5773
5774
5775#ifdef FEATURE_WLAN_CCX
5776/*---------------------------------------------------------------------------
5777 WDI_TsmRspCb
5778
5779 DESCRIPTION
5780
5781 This callback is invoked by DAL when it has received a TSM Stats response from the underlying device.
5782
5783 PARAMETERS
5784
5785 IN
5786 pTSMStats: response status received from HAL
5787 pUserData: user data
5788
5789
5790
5791 RETURN VALUE
5792 The result code associated with performing the operation
5793---------------------------------------------------------------------------*/
5794typedef void (*WDI_TsmRspCb)(WDI_TSMStatsRspParamsType *pTSMStats,
5795 void* pUserData);
5796#endif
5797
5798/*---------------------------------------------------------------------------
5799 WDI_StartRspCb
5800
5801 DESCRIPTION
5802
5803 This callback is invoked by DAL when it has received a Add TS response from
5804 the underlying device.
5805
5806 PARAMETERS
5807
5808 IN
5809 wdiStatus: response status received from HAL
5810 pUserData: user data
5811
5812
5813
5814 RETURN VALUE
5815 The result code associated with performing the operation
5816---------------------------------------------------------------------------*/
5817typedef void (*WDI_AddTsRspCb)(WDI_Status wdiStatus,
5818 void* pUserData);
5819
5820/*---------------------------------------------------------------------------
5821 WDI_StartRspCb
5822
5823 DESCRIPTION
5824
5825 This callback is invoked by DAL when it has received a Del TS response from
5826 the underlying device.
5827
5828 PARAMETERS
5829
5830 IN
5831 wdiStatus: response status received from HAL
5832 pUserData: user data
5833
5834
5835
5836 RETURN VALUE
5837 The result code associated with performing the operation
5838---------------------------------------------------------------------------*/
5839typedef void (*WDI_DelTsRspCb)(WDI_Status wdiStatus,
5840 void* pUserData);
5841
5842/*---------------------------------------------------------------------------
5843 WDI_StartRspCb
5844
5845 DESCRIPTION
5846
5847 This callback is invoked by DAL when it has received an Update EDCA Params
5848 response from the underlying device.
5849
5850 PARAMETERS
5851
5852 IN
5853 wdiStatus: response status received from HAL
5854 pUserData: user data
5855
5856
5857
5858 RETURN VALUE
5859 The result code associated with performing the operation
5860---------------------------------------------------------------------------*/
5861typedef void (*WDI_UpdateEDCAParamsRspCb)(WDI_Status wdiStatus,
5862 void* pUserData);
5863
5864/*---------------------------------------------------------------------------
5865 WDI_StartRspCb
5866
5867 DESCRIPTION
5868
5869 This callback is invoked by DAL when it has received a Add BA response from
5870 the underlying device.
5871
5872 PARAMETERS
5873
5874 IN
5875 wdiStatus: response status received from HAL
5876 pUserData: user data
5877
5878
5879
5880 RETURN VALUE
5881 The result code associated with performing the operation
5882---------------------------------------------------------------------------*/
5883typedef void (*WDI_AddBASessionRspCb)(
5884 WDI_AddBASessionRspParamsType* wdiAddBASessionRsp,
5885 void* pUserData);
5886
5887
5888/*---------------------------------------------------------------------------
5889 WDI_StartRspCb
5890
5891 DESCRIPTION
5892
5893 This callback is invoked by DAL when it has received a Del BA response from
5894 the underlying device.
5895
5896 PARAMETERS
5897
5898 IN
5899 wdiStatus: response status received from HAL
5900 pUserData: user data
5901
5902
5903
5904 RETURN VALUE
5905 The result code associated with performing the operation
5906---------------------------------------------------------------------------*/
5907typedef void (*WDI_DelBARspCb)(WDI_Status wdiStatus,
5908 void* pUserData);
5909
5910
5911/*---------------------------------------------------------------------------
5912 WDI_StartRspCb
5913
5914 DESCRIPTION
5915
5916 This callback is invoked by DAL when it has received a Switch Ch response
5917 from the underlying device.
5918
5919 PARAMETERS
5920
5921 IN
5922 wdiRspParams: response parameters received from HAL
5923 pUserData: user data
5924
5925
5926 RETURN VALUE
5927 The result code associated with performing the operation
5928---------------------------------------------------------------------------*/
5929typedef void (*WDI_SwitchChRspCb)(WDI_SwitchCHRspParamsType* pwdiSwitchChRsp,
5930 void* pUserData);
5931
5932
5933/*---------------------------------------------------------------------------
5934 WDI_StartRspCb
5935
5936 DESCRIPTION
5937
5938 This callback is invoked by DAL when it has received a Config STA response
5939 from the underlying device.
5940
5941 PARAMETERS
5942
5943 IN
5944 wdiRspParams: response parameters received from HAL
5945 pUserData: user data
5946
5947
5948 RETURN VALUE
5949 The result code associated with performing the operation
5950---------------------------------------------------------------------------*/
5951typedef void (*WDI_ConfigSTARspCb)(
5952 WDI_ConfigSTARspParamsType* pwdiConfigSTARsp,
5953 void* pUserData);
5954
5955
5956/*---------------------------------------------------------------------------
5957 WDI_StartRspCb
5958
5959 DESCRIPTION
5960
5961 This callback is invoked by DAL when it has received a Set Link State
5962 response from the underlying device.
5963
5964 PARAMETERS
5965
5966 IN
5967 wdiRspParams: response parameters received from HAL
5968 pUserData: user data
5969
5970
5971 RETURN VALUE
5972 The result code associated with performing the operation
5973---------------------------------------------------------------------------*/
5974typedef void (*WDI_SetLinkStateRspCb)( WDI_Status wdiStatus,
5975 void* pUserData);
5976
5977
5978/*---------------------------------------------------------------------------
5979 WDI_StartRspCb
5980
5981 DESCRIPTION
5982
5983 This callback is invoked by DAL when it has received a Get Stats response
5984 from the underlying device.
5985
5986 PARAMETERS
5987
5988 IN
5989 wdiRspParams: response parameters received from HAL
5990 pUserData: user data
5991
5992
5993 RETURN VALUE
5994 The result code associated with performing the operation
5995---------------------------------------------------------------------------*/
5996typedef void (*WDI_GetStatsRspCb)(WDI_GetStatsRspParamsType* pwdiGetStatsRsp,
5997 void* pUserData);
5998
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08005999#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_CCX || defined(FEATURE_WLAN_LFR)
6000/*---------------------------------------------------------------------------
6001 WDI_GetRoamRssiRspCb
6002
6003 DESCRIPTION
6004
6005 This callback is invoked by DAL when it has received a Get Roam Rssi response
6006 from the underlying device.
6007
6008 PARAMETERS
6009
6010 IN
6011 wdiRspParams: response parameters received from HAL
6012 pUserData: user data
6013
6014
6015 RETURN VALUE
6016 The result code associated with performing the operation
6017---------------------------------------------------------------------------*/
6018typedef void (*WDI_GetRoamRssiRspCb)(WDI_GetRoamRssiRspParamsType* pwdiGetRoamRssiRsp,
6019 void* pUserData);
6020#endif
6021
Jeff Johnson295189b2012-06-20 16:38:30 -07006022
6023/*---------------------------------------------------------------------------
6024 WDI_StartRspCb
6025
6026 DESCRIPTION
6027
6028 This callback is invoked by DAL when it has received a Update Cfg response
6029 from the underlying device.
6030
6031 PARAMETERS
6032
6033 IN
6034 wdiStatus: response status received from HAL
6035 pUserData: user data
6036
6037
6038 RETURN VALUE
6039 The result code associated with performing the operation
6040---------------------------------------------------------------------------*/
6041typedef void (*WDI_UpdateCfgRspCb)(WDI_Status wdiStatus,
6042 void* pUserData);
6043
6044/*---------------------------------------------------------------------------
6045 WDI_AddBARspCb
6046
6047 DESCRIPTION
6048
6049 This callback is invoked by DAL when it has received a ADD BA response
6050 from the underlying device.
6051
6052 PARAMETERS
6053
6054 IN
6055 wdiStatus: response status received from HAL
6056 pUserData: user data
6057
6058
6059 RETURN VALUE
6060 The result code associated with performing the operation
6061---------------------------------------------------------------------------*/
6062typedef void (*WDI_AddBARspCb)(WDI_AddBARspinfoType* wdiAddBARsp,
6063 void* pUserData);
6064
6065/*---------------------------------------------------------------------------
6066 WDI_TriggerBARspCb
6067
6068 DESCRIPTION
6069
6070 This callback is invoked by DAL when it has received a ADD BA response
6071 from the underlying device.
6072
6073 PARAMETERS
6074
6075 IN
6076 wdiStatus: response status received from HAL
6077 pUserData: user data
6078
6079
6080 RETURN VALUE
6081 The result code associated with performing the operation
6082---------------------------------------------------------------------------*/
6083typedef void (*WDI_TriggerBARspCb)(WDI_TriggerBARspParamsType* wdiTriggerBARsp,
6084 void* pUserData);
6085
6086
6087/*---------------------------------------------------------------------------
6088 WDI_UpdateBeaconParamsRspCb
6089
6090 DESCRIPTION
6091
6092 This callback is invoked by DAL when it has received a Update Beacon Params response from
6093 the underlying device.
6094
6095 PARAMETERS
6096
6097 IN
6098 wdiStatus: response status received from HAL
6099 pUserData: user data
6100
6101
6102
6103 RETURN VALUE
6104 The result code associated with performing the operation
6105---------------------------------------------------------------------------*/
6106typedef void (*WDI_UpdateBeaconParamsRspCb)(WDI_Status wdiStatus,
6107 void* pUserData);
6108
6109/*---------------------------------------------------------------------------
6110 WDI_SendBeaconParamsRspCb
6111
6112 DESCRIPTION
6113
6114 This callback is invoked by DAL when it has received a Send Beacon Params response from
6115 the underlying device.
6116
6117 PARAMETERS
6118
6119 IN
6120 wdiStatus: response status received from HAL
6121 pUserData: user data
6122
6123
6124
6125 RETURN VALUE
6126 The result code associated with performing the operation
6127---------------------------------------------------------------------------*/
6128typedef void (*WDI_SendBeaconParamsRspCb)(WDI_Status wdiStatus,
6129 void* pUserData);
6130
6131/*---------------------------------------------------------------------------
6132 WDA_SetMaxTxPowerRspCb
6133
6134 DESCRIPTION
6135
6136 This callback is invoked by DAL when it has received a set max Tx Power response from
6137 the underlying device.
6138
6139 PARAMETERS
6140
6141 IN
6142 wdiStatus: response status received from HAL
6143 pUserData: user data
6144
6145
6146
6147 RETURN VALUE
6148 The result code associated with performing the operation
6149---------------------------------------------------------------------------*/
6150typedef void (*WDA_SetMaxTxPowerRspCb)(WDI_SetMaxTxPowerRspMsg *wdiSetMaxTxPowerRsp,
6151 void* pUserData);
6152
6153/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07006154 WDA_SetMaxTxPowerPerBandRspCb
6155
6156 DESCRIPTION
6157
6158 This callback is invoked by DAL when it has received a
6159 set max Tx Power Per Band response from the underlying device.
6160
6161 PARAMETERS
6162
6163 IN
6164 wdiSetMaxTxPowerPerBandRsp: response status received from HAL
6165 pUserData: user data
6166
6167 RETURN VALUE
6168 The result code associated with performing the operation
6169---------------------------------------------------------------------------*/
6170typedef void (*WDA_SetMaxTxPowerPerBandRspCb)(WDI_SetMaxTxPowerPerBandRspMsg
6171 *wdiSetMaxTxPowerPerBandRsp,
6172 void* pUserData);
6173
6174/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07006175 WDA_SetTxPowerRspCb
6176
6177 DESCRIPTION
6178
6179 This callback is invoked by DAL when it has received a set max Tx Power response from
6180 the underlying device.
6181
6182 PARAMETERS
6183
6184 IN
6185 wdiStatus: response status received from HAL
6186 pUserData: user data
6187
6188 RETURN VALUE
6189 The result code associated with performing the operation
6190---------------------------------------------------------------------------*/
6191typedef void (*WDA_SetTxPowerRspCb)(WDI_SetTxPowerRspMsg *wdiSetTxPowerRsp,
6192 void* pUserData);
6193
6194/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07006195 WDI_UpdateProbeRspTemplateRspCb
6196
6197 DESCRIPTION
6198
6199 This callback is invoked by DAL when it has received a Probe RSP Template
6200 Update response from the underlying device.
6201
6202 PARAMETERS
6203
6204 IN
6205 wdiStatus: response status received from HAL
6206 pUserData: user data
6207
6208
6209
6210 RETURN VALUE
6211 The result code associated with performing the operation
6212---------------------------------------------------------------------------*/
6213typedef void (*WDI_UpdateProbeRspTemplateRspCb)(WDI_Status wdiStatus,
6214 void* pUserData);
6215
Jeff Johnson295189b2012-06-20 16:38:30 -07006216/*---------------------------------------------------------------------------
6217 WDI_SetP2PGONOAReqParamsRspCb
6218
6219 DESCRIPTION
6220
6221 This callback is invoked by DAL when it has received a P2P GO NOA Params response from
6222 the underlying device.
6223
6224 PARAMETERS
6225
6226 IN
6227 wdiStatus: response status received from HAL
6228 pUserData: user data
6229
6230
6231
6232 RETURN VALUE
6233 The result code associated with performing the operation
6234---------------------------------------------------------------------------*/
6235typedef void (*WDI_SetP2PGONOAReqParamsRspCb)(WDI_Status wdiStatus,
6236 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006237
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05306238/*---------------------------------------------------------------------------
6239 WDI_SetTDLSLinkEstablishReqParamsRspCb
6240
6241 DESCRIPTION
6242
6243 This callback is invoked by DAL when it has received a TDLS Link Establish Req response from
6244 the underlying device.
6245
6246 PARAMETERS
6247
6248 IN
6249 wdiStatus: response status received from HAL
6250 pUserData: user data
6251
6252
6253
6254 RETURN VALUE
6255 The result code associated with performing the operation
6256---------------------------------------------------------------------------*/
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05306257typedef void (*WDI_SetTDLSLinkEstablishReqParamsRspCb)(WDI_SetTdlsLinkEstablishReqResp *
6258 wdiSetTdlsLinkEstablishReqRsp,
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05306259 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006260
6261/*---------------------------------------------------------------------------
6262 WDI_SetPwrSaveCfgCb
6263
6264 DESCRIPTION
6265
6266 This callback is invoked by DAL when it has received a set Power Save CFG
6267 response from the underlying device.
6268
6269 PARAMETERS
6270
6271 IN
6272 wdiStatus: response status received from HAL
6273 pUserData: user data
6274
6275
6276
6277 RETURN VALUE
6278 The result code associated with performing the operation
6279---------------------------------------------------------------------------*/
6280typedef void (*WDI_SetPwrSaveCfgCb)(WDI_Status wdiStatus,
6281 void* pUserData);
6282
6283/*---------------------------------------------------------------------------
6284 WDI_SetUapsdAcParamsCb
6285
6286 DESCRIPTION
6287
6288 This callback is invoked by DAL when it has received a set UAPSD params
6289 response from the underlying device.
6290
6291 PARAMETERS
6292
6293 IN
6294 wdiStatus: response status received from HAL
6295 pUserData: user data
6296
6297
6298
6299 RETURN VALUE
6300 The result code associated with performing the operation
6301---------------------------------------------------------------------------*/
6302typedef void (*WDI_SetUapsdAcParamsCb)(WDI_Status wdiStatus,
6303 void* pUserData);
6304
6305/*---------------------------------------------------------------------------
6306 WDI_EnterImpsRspCb
6307
6308 DESCRIPTION
6309
6310 This callback is invoked by DAL when it has received a Enter IMPS response
6311 from the underlying device.
6312
6313 PARAMETERS
6314
6315 IN
6316 wdiStatus: response status received from HAL
6317 pUserData: user data
6318
6319
6320
6321 RETURN VALUE
6322 The result code associated with performing the operation
6323---------------------------------------------------------------------------*/
6324typedef void (*WDI_EnterImpsRspCb)(WDI_Status wdiStatus,
6325 void* pUserData);
6326
6327/*---------------------------------------------------------------------------
6328 WDI_ExitImpsRspCb
6329
6330 DESCRIPTION
6331
6332 This callback is invoked by DAL when it has received a Exit IMPS response
6333 from the underlying device.
6334
6335 PARAMETERS
6336
6337 IN
6338 wdiStatus: response status received from HAL
6339 pUserData: user data
6340
6341
6342
6343 RETURN VALUE
6344 The result code associated with performing the operation
6345---------------------------------------------------------------------------*/
6346typedef void (*WDI_ExitImpsRspCb)(WDI_Status wdiStatus,
6347 void* pUserData);
6348
6349/*---------------------------------------------------------------------------
6350 WDI_EnterBmpsRspCb
6351
6352 DESCRIPTION
6353
6354 This callback is invoked by DAL when it has received a enter BMPS response
6355 from the underlying device.
6356
6357 PARAMETERS
6358
6359 IN
6360 wdiStatus: response status received from HAL
6361 pUserData: user data
6362
6363
6364
6365 RETURN VALUE
6366 The result code associated with performing the operation
6367---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006368typedef void (*WDI_EnterBmpsRspCb)(WDI_EnterBmpsRspParamsType *pwdiEnterBmpsRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006369 void* pUserData);
6370
6371/*---------------------------------------------------------------------------
6372 WDI_ExitBmpsRspCb
6373
6374 DESCRIPTION
6375
6376 This callback is invoked by DAL when it has received a exit BMPS response
6377 from the underlying device.
6378
6379 PARAMETERS
6380
6381 IN
6382 wdiStatus: response status received from HAL
6383 pUserData: user data
6384
6385
6386
6387 RETURN VALUE
6388 The result code associated with performing the operation
6389---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006390typedef void (*WDI_ExitBmpsRspCb)( WDI_ExitBmpsRspParamsType *pwdiExitBmpsRspParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07006391 void* pUserData);
6392
6393/*---------------------------------------------------------------------------
6394 WDI_EnterUapsdRspCb
6395
6396 DESCRIPTION
6397
6398 This callback is invoked by DAL when it has received a enter UAPSD response
6399 from the underlying device.
6400
6401 PARAMETERS
6402
6403 IN
6404 wdiStatus: response status received from HAL
6405 pUserData: user data
6406
6407
6408
6409 RETURN VALUE
6410 The result code associated with performing the operation
6411---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006412typedef void (*WDI_EnterUapsdRspCb)( WDI_EnterUapsdRspParamsType *pwdiEnterUapsdRspParam,
Jeff Johnson295189b2012-06-20 16:38:30 -07006413 void* pUserData);
6414
6415/*---------------------------------------------------------------------------
6416 WDI_ExitUapsdRspCb
6417
6418 DESCRIPTION
6419
6420 This callback is invoked by DAL when it has received a exit UAPSD response
6421 from the underlying device.
6422
6423 PARAMETERS
6424
6425 IN
6426 wdiStatus: response status received from HAL
6427 pUserData: user data
6428
6429
6430
6431 RETURN VALUE
6432 The result code associated with performing the operation
6433---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006434typedef void (*WDI_ExitUapsdRspCb)(WDI_ExitUapsdRspParamsType *pwidExitUapsdRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006435 void* pUserData);
6436
6437/*---------------------------------------------------------------------------
6438 WDI_UpdateUapsdParamsCb
6439
6440 DESCRIPTION
6441
6442 This callback is invoked by DAL when it has received a update UAPSD params
6443 response from the underlying device.
6444
6445 PARAMETERS
6446
6447 IN
6448 wdiStatus: response status received from HAL
6449 pUserData: user data
6450
6451
6452
6453 RETURN VALUE
6454 The result code associated with performing the operation
6455---------------------------------------------------------------------------*/
6456typedef void (*WDI_UpdateUapsdParamsCb)(WDI_Status wdiStatus,
6457 void* pUserData);
6458
6459/*---------------------------------------------------------------------------
6460 WDI_ConfigureRxpFilterCb
6461
6462 DESCRIPTION
6463
6464 This callback is invoked by DAL when it has received a config RXP filter
6465 response from the underlying device.
6466
6467 PARAMETERS
6468
6469 IN
6470 wdiStatus: response status received from HAL
6471 pUserData: user data
6472
6473
6474
6475 RETURN VALUE
6476 The result code associated with performing the operation
6477---------------------------------------------------------------------------*/
6478typedef void (*WDI_ConfigureRxpFilterCb)(WDI_Status wdiStatus,
6479 void* pUserData);
6480
6481/*---------------------------------------------------------------------------
6482 WDI_SetBeaconFilterCb
6483
6484 DESCRIPTION
6485
6486 This callback is invoked by DAL when it has received a set beacon filter
6487 response from the underlying device.
6488
6489 PARAMETERS
6490
6491 IN
6492 wdiStatus: response status received from HAL
6493 pUserData: user data
6494
6495
6496
6497 RETURN VALUE
6498 The result code associated with performing the operation
6499---------------------------------------------------------------------------*/
6500typedef void (*WDI_SetBeaconFilterCb)(WDI_Status wdiStatus,
6501 void* pUserData);
6502
6503/*---------------------------------------------------------------------------
6504 WDI_RemBeaconFilterCb
6505
6506 DESCRIPTION
6507
6508 This callback is invoked by DAL when it has received a remove beacon filter
6509 response from the underlying device.
6510
6511 PARAMETERS
6512
6513 IN
6514 wdiStatus: response status received from HAL
6515 pUserData: user data
6516
6517
6518
6519 RETURN VALUE
6520 The result code associated with performing the operation
6521---------------------------------------------------------------------------*/
6522typedef void (*WDI_RemBeaconFilterCb)(WDI_Status wdiStatus,
6523 void* pUserData);
6524
6525/*---------------------------------------------------------------------------
6526 WDI_SetRSSIThresholdsCb
6527
6528 DESCRIPTION
6529
6530 This callback is invoked by DAL when it has received a set RSSI thresholds
6531 response from the underlying device.
6532
6533 PARAMETERS
6534
6535 IN
6536 wdiStatus: response status received from HAL
6537 pUserData: user data
6538
6539
6540
6541 RETURN VALUE
6542 The result code associated with performing the operation
6543---------------------------------------------------------------------------*/
6544typedef void (*WDI_SetRSSIThresholdsCb)(WDI_Status wdiStatus,
6545 void* pUserData);
6546
6547/*---------------------------------------------------------------------------
6548 WDI_HostOffloadCb
6549
6550 DESCRIPTION
6551
6552 This callback is invoked by DAL when it has received a host offload
6553 response from the underlying device.
6554
6555 PARAMETERS
6556
6557 IN
6558 wdiStatus: response status received from HAL
6559 pUserData: user data
6560
6561
6562
6563 RETURN VALUE
6564 The result code associated with performing the operation
6565---------------------------------------------------------------------------*/
6566typedef void (*WDI_HostOffloadCb)(WDI_Status wdiStatus,
6567 void* pUserData);
6568
6569/*---------------------------------------------------------------------------
6570 WDI_KeepAliveCb
6571
6572 DESCRIPTION
6573
6574 This callback is invoked by DAL when it has received a Keep Alive
6575 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_KeepAliveCb)(WDI_Status wdiStatus,
6589 void* pUserData);
6590
6591/*---------------------------------------------------------------------------
6592 WDI_WowlAddBcPtrnCb
6593
6594 DESCRIPTION
6595
6596 This callback is invoked by DAL when it has received a Wowl add Bcast ptrn
6597 response from 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---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006610typedef void (*WDI_WowlAddBcPtrnCb)( WDI_WowlAddBcPtrnRspParamsType *pwdiWowlAddBcPtrnParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07006611 void* pUserData);
6612
6613/*---------------------------------------------------------------------------
6614 WDI_WowlDelBcPtrnCb
6615
6616 DESCRIPTION
6617
6618 This callback is invoked by DAL when it has received a Wowl delete Bcast ptrn
6619 response from 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---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006632typedef void (*WDI_WowlDelBcPtrnCb)( WDI_WowlDelBcPtrnRspParamsType *pwdiWowlDelBcstPtrRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006633 void* pUserData);
6634
6635/*---------------------------------------------------------------------------
6636 WDI_WowlEnterReqCb
6637
6638 DESCRIPTION
6639
6640 This callback is invoked by DAL when it has received a Wowl enter
6641 response from the underlying device.
6642
6643 PARAMETERS
6644
6645 IN
6646 wdiStatus: response status received from HAL
6647 pUserData: user data
6648
6649
6650
6651 RETURN VALUE
6652 The result code associated with performing the operation
6653---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006654typedef void (*WDI_WowlEnterReqCb)( WDI_WowlEnterRspParamsType *pwdiwowlEnterRsp,
6655 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006656
6657/*---------------------------------------------------------------------------
6658 WDI_WowlExitReqCb
6659
6660 DESCRIPTION
6661
6662 This callback is invoked by DAL when it has received a Wowl exit
6663 response from the underlying device.
6664
6665 PARAMETERS
6666
6667 IN
6668 wdiStatus: response status received from HAL
6669 pUserData: user data
6670
6671
6672
6673 RETURN VALUE
6674 The result code associated with performing the operation
6675---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006676typedef void (*WDI_WowlExitReqCb)( WDI_WowlExitRspParamsType *pwdiWowlExitRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006677 void* pUserData);
6678
6679/*---------------------------------------------------------------------------
6680 WDI_ConfigureAppsCpuWakeupStateCb
6681
6682 DESCRIPTION
6683
6684 This callback is invoked by DAL when it has received a config Apps Cpu Wakeup
6685 State response from the underlying device.
6686
6687 PARAMETERS
6688
6689 IN
6690 wdiStatus: response status received from HAL
6691 pUserData: user data
6692
6693
6694
6695 RETURN VALUE
6696 The result code associated with performing the operation
6697---------------------------------------------------------------------------*/
6698typedef void (*WDI_ConfigureAppsCpuWakeupStateCb)(WDI_Status wdiStatus,
6699 void* pUserData);
6700/*---------------------------------------------------------------------------
6701 WDI_NvDownloadRspCb
6702
6703 DESCRIPTION
6704
6705 This callback is invoked by DAL when it has received a NV Download response
6706 from the underlying device.
6707
6708 PARAMETERS
6709
6710 IN
6711 wdiStatus:response status received from HAL
6712 pUserData:user data
6713
6714 RETURN VALUE
6715 The result code associated with performing the operation
6716---------------------------------------------------------------------------*/
6717typedef void (*WDI_NvDownloadRspCb)(WDI_NvDownloadRspInfoType* wdiNvDownloadRsp,
6718 void* pUserData);
6719/*---------------------------------------------------------------------------
6720 WDI_FlushAcRspCb
6721
6722 DESCRIPTION
6723
6724 This callback is invoked by DAL when it has received a Flush AC response from
6725 the underlying device.
6726
6727 PARAMETERS
6728
6729 IN
6730 wdiStatus: response status received from HAL
6731 pUserData: user data
6732
6733
6734
6735 RETURN VALUE
6736 The result code associated with performing the operation
6737---------------------------------------------------------------------------*/
6738typedef void (*WDI_FlushAcRspCb)(WDI_Status wdiStatus,
6739 void* pUserData);
6740
6741/*---------------------------------------------------------------------------
6742 WDI_BtAmpEventRspCb
6743
6744 DESCRIPTION
6745
6746 This callback is invoked by DAL when it has received a Bt AMP event response
6747 from the underlying device.
6748
6749 PARAMETERS
6750
6751 IN
6752 wdiStatus: response status received from HAL
6753 pUserData: user data
6754
6755
6756
6757 RETURN VALUE
6758 The result code associated with performing the operation
6759---------------------------------------------------------------------------*/
6760typedef void (*WDI_BtAmpEventRspCb)(WDI_Status wdiStatus,
6761 void* pUserData);
6762
Jeff Johnsone7245742012-09-05 17:12:55 -07006763#ifdef FEATURE_OEM_DATA_SUPPORT
6764/*---------------------------------------------------------------------------
6765 WDI_oemDataRspCb
6766
6767 DESCRIPTION
6768
6769 This callback is invoked by DAL when it has received a Start oem data response from
6770 the underlying device.
6771
6772 PARAMETERS
6773
6774 IN
6775 wdiStatus: response status received from HAL
6776 pUserData: user data
6777
6778
6779
6780 RETURN VALUE
6781 The result code associated with performing the operation
6782---------------------------------------------------------------------------*/
6783typedef void (*WDI_oemDataRspCb)(WDI_oemDataRspParamsType* wdiOemDataRspParams,
6784 void* pUserData);
6785
6786#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07006787
6788/*---------------------------------------------------------------------------
6789 WDI_HostResumeEventRspCb
6790
6791 DESCRIPTION
6792
6793 This callback is invoked by DAL when it has received a Bt AMP event response
6794 from the underlying device.
6795
6796 PARAMETERS
6797
6798 IN
6799 wdiStatus: response status received from HAL
6800 pUserData: user data
6801
6802
6803
6804 RETURN VALUE
6805 The result code associated with performing the operation
6806---------------------------------------------------------------------------*/
6807typedef void (*WDI_HostResumeEventRspCb)(
6808 WDI_SuspendResumeRspParamsType *resumeRspParams,
6809 void* pUserData);
6810
6811
6812#ifdef WLAN_FEATURE_VOWIFI_11R
6813/*---------------------------------------------------------------------------
6814 WDI_AggrAddTsRspCb
6815
6816 DESCRIPTION
6817
6818 This callback is invoked by DAL when it has received a Aggregated Add TS
6819 response from the underlying device.
6820
6821 PARAMETERS
6822
6823 IN
6824 wdiStatus: response status received from HAL
6825 pUserData: user data
6826
6827
6828
6829 RETURN VALUE
6830 The result code associated with performing the operation
6831---------------------------------------------------------------------------*/
6832typedef void (*WDI_AggrAddTsRspCb)(WDI_Status wdiStatus,
6833 void* pUserData);
6834#endif /* WLAN_FEATURE_VOWIFI_11R */
6835
Jeff Johnson295189b2012-06-20 16:38:30 -07006836/*---------------------------------------------------------------------------
6837 WDI_FTMCommandRspCb
6838
6839 DESCRIPTION
6840
6841 FTM Command response CB
6842
6843 PARAMETERS
6844
6845 IN
6846 ftmCMDRspdata: FTM response data from HAL
6847 pUserData: user data
6848
6849
6850 RETURN VALUE
6851 NONE
6852---------------------------------------------------------------------------*/
6853typedef void (*WDI_FTMCommandRspCb)(void *ftmCMDRspdata,
6854 void *pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006855
6856/*---------------------------------------------------------------------------
6857 WDI_AddSTASelfParamsRspCb
6858
6859 DESCRIPTION
6860
6861 This callback is invoked by DAL when it has received a Add Sta Self Params
6862 response from the underlying device.
6863
6864 PARAMETERS
6865
6866 IN
6867 wdiAddSelfSTARsp: 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_AddSTASelfParamsRspCb)(
6876 WDI_AddSTASelfRspParamsType* pwdiAddSelfSTARsp,
6877 void* pUserData);
6878
6879
6880/*---------------------------------------------------------------------------
6881 WDI_DelSTASelfRspCb
6882
6883 DESCRIPTION
6884
6885 This callback is invoked by DAL when it has received a host offload
6886 response from the underlying device.
6887
6888 PARAMETERS
6889
6890 IN
6891 wdiStatus: response status received from HAL
6892 pUserData: user data
6893
6894
6895
6896 RETURN VALUE
6897 The result code associated with performing the operation
6898---------------------------------------------------------------------------*/
6899typedef void (*WDI_DelSTASelfRspCb)
6900(
6901WDI_DelSTASelfRspParamsType* wdiDelStaSelfRspParams,
6902void* pUserData
6903);
6904
6905#ifdef FEATURE_WLAN_SCAN_PNO
6906/*---------------------------------------------------------------------------
6907 WDI_PNOScanCb
6908
6909 DESCRIPTION
6910
6911 This callback is invoked by DAL when it has received a Set PNO
6912 response from the underlying device.
6913
6914 PARAMETERS
6915
6916 IN
6917 wdiStatus: response status received from HAL
6918 pUserData: user data
6919
6920
6921
6922 RETURN VALUE
6923 The result code associated with performing the operation
6924---------------------------------------------------------------------------*/
6925typedef void (*WDI_PNOScanCb)(WDI_Status wdiStatus,
6926 void* pUserData);
6927
6928/*---------------------------------------------------------------------------
6929 WDI_PNOScanCb
6930
6931 DESCRIPTION
6932
6933 This callback is invoked by DAL when it has received a Set PNO
6934 response from the underlying device.
6935
6936 PARAMETERS
6937
6938 IN
6939 wdiStatus: response status received from HAL
6940 pUserData: user data
6941
6942
6943
6944 RETURN VALUE
6945 The result code associated with performing the operation
6946---------------------------------------------------------------------------*/
6947typedef void (*WDI_RssiFilterCb)(WDI_Status wdiStatus,
6948 void* pUserData);
6949
6950/*---------------------------------------------------------------------------
6951 WDI_UpdateScanParamsCb
6952
6953 DESCRIPTION
6954
6955 This callback is invoked by DAL when it has received a Update Scan Params
6956 response from the underlying device.
6957
6958 PARAMETERS
6959
6960 IN
6961 wdiStatus: response status received from HAL
6962 pUserData: user data
6963
6964
6965
6966 RETURN VALUE
6967 The result code associated with performing the operation
6968---------------------------------------------------------------------------*/
6969typedef void (*WDI_UpdateScanParamsCb)(WDI_Status wdiStatus,
6970 void* pUserData);
6971#endif // FEATURE_WLAN_SCAN_PNO
6972
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07006973#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
6974/*---------------------------------------------------------------------------
6975 WDI_RoamOffloadScanCb
6976
6977 DESCRIPTION
6978
6979 This callback is invoked by DAL when it has received a Start Roam Candidate Lookup Req
6980 response from the underlying device.
6981
6982 PARAMETERS
6983
6984 IN
6985 wdiStatus: response status received from HAL
6986 pUserData: user data
6987
6988
6989
6990 RETURN VALUE
6991 The result code associated with performing the operation
6992---------------------------------------------------------------------------*/
6993typedef void (*WDI_RoamOffloadScanCb)(WDI_Status wdiStatus,
6994 void* pUserData);
6995
6996#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07006997/*---------------------------------------------------------------------------
6998 WDI_SetTxPerTrackingRspCb
6999
7000 DESCRIPTION
7001
7002 This callback is invoked by DAL when it has received a Tx PER Tracking
7003 response from the underlying device.
7004
7005 PARAMETERS
7006
7007 IN
7008 wdiStatus: response status received from HAL
7009 pUserData: user data
7010
7011
7012
7013 RETURN VALUE
7014 The result code associated with performing the operation
7015---------------------------------------------------------------------------*/
7016typedef void (*WDI_SetTxPerTrackingRspCb)(WDI_Status wdiStatus,
7017 void* pUserData);
7018
7019#ifdef WLAN_FEATURE_PACKET_FILTERING
7020/*---------------------------------------------------------------------------
7021 WDI_8023MulticastListCb
7022
7023 DESCRIPTION
7024
7025 This callback is invoked by DAL when it has received a 8023 Multicast List
7026 response from the underlying device.
7027
7028 PARAMETERS
7029
7030 IN
7031 wdiStatus: response status received from HAL
7032 pUserData: user data
7033
7034
7035
7036 RETURN VALUE
7037 The result code associated with performing the operation
7038---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007039typedef void (*WDI_8023MulticastListCb)(
7040 WDI_RcvFltPktSetMcListRspParamsType *pwdiRcvFltPktSetMcListRspInfo,
7041 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007042
7043/*---------------------------------------------------------------------------
7044 WDI_ReceiveFilterSetFilterCb
7045
7046 DESCRIPTION
7047
7048 This callback is invoked by DAL when it has received a Receive Filter Set Filter
7049 response from the underlying device.
7050
7051 PARAMETERS
7052
7053 IN
7054 wdiStatus: response status received from HAL
7055 pUserData: user data
7056
7057
7058
7059 RETURN VALUE
7060 The result code associated with performing the operation
7061---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007062typedef void (*WDI_ReceiveFilterSetFilterCb)(
7063 WDI_SetRcvPktFilterRspParamsType *pwdiSetRcvPktFilterRspInfo,
7064 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007065
7066/*---------------------------------------------------------------------------
7067 WDI_FilterMatchCountCb
7068
7069 DESCRIPTION
7070
7071 This callback is invoked by DAL when it has received a Do PC Filter Match Count
7072 response from the underlying device.
7073
7074 PARAMETERS
7075
7076 IN
7077 wdiStatus: response status received from HAL
7078 pUserData: user data
7079
7080
7081
7082 RETURN VALUE
7083 The result code associated with performing the operation
7084---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007085typedef void (*WDI_FilterMatchCountCb)(
7086 WDI_RcvFltPktMatchCntRspParamsType *pwdiRcvFltPktMatchRspParams,
7087 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007088
7089/*---------------------------------------------------------------------------
7090 WDI_ReceiveFilterClearFilterCb
7091
7092 DESCRIPTION
7093
7094 This callback is invoked by DAL when it has received a Receive Filter Clear Filter
7095 response from the underlying device.
7096
7097 PARAMETERS
7098
7099 IN
7100 wdiStatus: response status received from HAL
7101 pUserData: user data
7102
7103
7104
7105 RETURN VALUE
7106 The result code associated with performing the operation
7107---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007108typedef void (*WDI_ReceiveFilterClearFilterCb)(
7109 WDI_RcvFltPktClearRspParamsType *pwdiRcvFltPktClearRspParamsType,
7110 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007111#endif // WLAN_FEATURE_PACKET_FILTERING
7112
7113/*---------------------------------------------------------------------------
7114 WDI_HALDumpCmdRspCb
7115
7116 DESCRIPTION
7117
7118 This callback is invoked by DAL when it has received a HAL DUMP Command
7119response from
7120 the HAL layer.
7121
7122 PARAMETERS
7123
7124 IN
7125 wdiHalDumpCmdRsp: response status received from HAL
7126 pUserData: user data
7127
7128
7129
7130 RETURN VALUE
7131 The result code associated with performing the operation
7132---------------------------------------------------------------------------*/
7133typedef void (*WDI_HALDumpCmdRspCb)(WDI_HALDumpCmdRspParamsType* wdiHalDumpCmdRsp,
7134 void* pUserData);
7135
7136/*---------------------------------------------------------------------------
7137 WDI_SetPowerParamsCb
7138
7139 DESCRIPTION
7140
7141 This callback is invoked by DAL when it has received a Set Power Param
7142 response from the underlying device.
7143
7144 PARAMETERS
7145
7146 IN
7147 wdiStatus: response status received from HAL
7148 pUserData: user data
7149
7150
7151
7152 RETURN VALUE
7153 The result code associated with performing the operation
7154---------------------------------------------------------------------------*/
7155typedef void (*WDI_SetPowerParamsCb)(WDI_Status wdiStatus,
7156 void* pUserData);
7157
7158#ifdef WLAN_FEATURE_GTK_OFFLOAD
7159/*---------------------------------------------------------------------------
7160 WDI_GtkOffloadCb
7161
7162 DESCRIPTION
7163
7164 This callback is invoked by DAL when it has received a GTK offload
7165 response from the underlying device.
7166
7167 PARAMETERS
7168
7169 IN
7170 wdiStatus: response status received from HAL
7171 pUserData: user data
7172
7173
7174
7175 RETURN VALUE
7176 The result code associated with performing the operation
7177---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007178typedef void (*WDI_GtkOffloadCb)( WDI_GtkOffloadRspParams *pwdiGtkOffloadRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007179 void* pUserData);
7180
7181/*---------------------------------------------------------------------------
7182 WDI_GtkOffloadGetInfoCb
7183
7184 DESCRIPTION
7185
7186 This callback is invoked by DAL when it has received a GTK offload
7187 information response from the underlying device.
7188
7189 PARAMETERS
7190
7191 IN
7192 wdiStatus: response status received from HAL
7193 pUserData: user data
7194
7195
7196
7197 RETURN VALUE
7198 The result code associated with performing the operation
7199---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007200typedef void (*WDI_GtkOffloadGetInfoCb)( WDI_GtkOffloadGetInfoRspParams *pwdiGtkOffloadGetInfoRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007201 void* pUserData);
7202#endif // WLAN_FEATURE_GTK_OFFLOAD
7203
7204/*---------------------------------------------------------------------------
7205 WDI_SetTmLevelCb
7206
7207 DESCRIPTION
7208
7209 This callback is invoked by DAL when it has received a Set New TM Level
7210 done response from the underlying device.
7211
7212 PARAMETERS
7213
7214 IN
7215 wdiStatus: response status received from HAL
7216 pUserData: user data
7217
7218
7219
7220 RETURN VALUE
7221 The result code associated with performing the operation
7222---------------------------------------------------------------------------*/
7223typedef void (*WDI_SetTmLevelCb)(WDI_Status wdiStatus,
7224 void* pUserData);
7225
7226/*---------------------------------------------------------------------------
7227 WDI_featureCapsExchangeCb
7228
7229 DESCRIPTION
7230
7231 This callback is invoked by DAL when it has received a HAL Feature Capbility
7232 Exchange Response the HAL layer. This callback is put to mantain code
7233 similarity and is not being used right now.
7234
7235 PARAMETERS
7236
7237 IN
7238 wdiFeatCapRspParams: response parameters received from HAL
7239 pUserData: user data
7240
7241 RETURN VALUE
7242 The result code associated with performing the operation
7243---------------------------------------------------------------------------*/
7244typedef void (*WDI_featureCapsExchangeCb)(void* wdiFeatCapRspParams,
7245 void* pUserData);
7246
Mohit Khanna4a70d262012-09-11 16:30:12 -07007247#ifdef WLAN_FEATURE_11AC
7248typedef void (*WDI_UpdateVHTOpModeCb)(WDI_Status wdiStatus,
7249 void* pUserData);
7250#endif
7251
Leo Chang9056f462013-08-01 19:21:11 -07007252#ifdef FEATURE_WLAN_LPHB
7253typedef void (*WDI_LphbCfgCb)(WDI_Status wdiStatus,
7254 void* pUserData);
7255#endif /* FEATURE_WLAN_LPHB */
Mohit Khanna4a70d262012-09-11 16:30:12 -07007256
Rajeev79dbe4c2013-10-05 11:03:42 +05307257#ifdef FEATURE_WLAN_BATCH_SCAN
7258/*---------------------------------------------------------------------------
7259 WDI_SetBatchScanCb
7260
7261 DESCRIPTION
7262
7263 This callback is invoked by DAL when it has received a get batch scan
7264 response from the underlying device.
7265
7266 PARAMETERS
7267
7268 IN
7269 wdiStatus: response status received from HAL
7270 pUserData: user data
7271
7272
7273
7274 RETURN VALUE
7275 The result code associated with performing the operation
7276---------------------------------------------------------------------------*/
7277typedef void (*WDI_SetBatchScanCb)(void *pData, WDI_SetBatchScanRspType *pRsp);
7278
7279#endif
7280
7281
Jeff Johnson295189b2012-06-20 16:38:30 -07007282/*========================================================================
7283 * Function Declarations and Documentation
7284 ==========================================================================*/
7285
7286/*========================================================================
7287
7288 INITIALIZATION APIs
7289
7290==========================================================================*/
7291
7292/**
7293 @brief WDI_Init is used to initialize the DAL.
7294
7295 DAL will allocate all the resources it needs. It will open PAL, it will also
7296 open both the data and the control transport which in their turn will open
7297 DXE/SMD or any other drivers that they need.
7298
7299 @param pOSContext: pointer to the OS context provided by the UMAC
7300 will be passed on to PAL on Open
7301 ppWDIGlobalCtx: output pointer of Global Context
7302 pWdiDevCapability: output pointer of device capability
7303
7304 @return Result of the function call
7305*/
7306WDI_Status
7307WDI_Init
7308(
7309 void* pOSContext,
7310 void** ppWDIGlobalCtx,
7311 WDI_DeviceCapabilityType* pWdiDevCapability,
7312 unsigned int driverType
7313);
7314
7315/**
7316 @brief WDI_Start will be called when the upper MAC is ready to
7317 commence operation with the WLAN Device. Upon the call
7318 of this API the WLAN DAL will pack and send a HAL Start
7319 message to the lower RIVA sub-system if the SMD channel
7320 has been fully opened and the RIVA subsystem is up.
7321
7322 If the RIVA sub-system is not yet up and running DAL
7323 will queue the request for Open and will wait for the
7324 SMD notification before attempting to send down the
7325 message to HAL.
7326
7327 WDI_Init must have been called.
7328
7329 @param wdiStartParams: the start parameters as specified by
7330 the Device Interface
7331
7332 wdiStartRspCb: callback for passing back the response of
7333 the start operation received from the device
7334
7335 pUserData: user data will be passed back with the
7336 callback
7337
7338 @see WDI_Start
7339 @return Result of the function call
7340*/
7341WDI_Status
7342WDI_Start
7343(
7344 WDI_StartReqParamsType* pwdiStartParams,
7345 WDI_StartRspCb wdiStartRspCb,
7346 void* pUserData
7347);
7348
7349
7350/**
7351 @brief WDI_Stop will be called when the upper MAC is ready to
7352 stop any operation with the WLAN Device. Upon the call
7353 of this API the WLAN DAL will pack and send a HAL Stop
7354 message to the lower RIVA sub-system if the DAL Core is
7355 in started state.
7356
7357 In state BUSY this request will be queued.
7358
7359 Request will not be accepted in any other state.
7360
7361 WDI_Start must have been called.
7362
7363 @param wdiStopParams: the stop parameters as specified by
7364 the Device Interface
7365
7366 wdiStopRspCb: callback for passing back the response of
7367 the stop operation received from the device
7368
7369 pUserData: user data will be passed back with the
7370 callback
7371
7372 @see WDI_Start
7373 @return Result of the function call
7374*/
7375WDI_Status
7376WDI_Stop
7377(
7378 WDI_StopReqParamsType* pwdiStopParams,
7379 WDI_StopRspCb wdiStopRspCb,
7380 void* pUserData
7381);
7382
7383/**
7384 @brief WDI_Close will be called when the upper MAC no longer
7385 needs to interract with DAL. DAL will free its control
7386 block.
7387
7388 It is only accepted in state STOPPED.
7389
7390 WDI_Stop must have been called.
7391
7392 @param none
7393
7394 @see WDI_Stop
7395 @return Result of the function call
7396*/
7397WDI_Status
7398WDI_Close
7399(
7400 void
7401);
7402
7403
7404/**
7405 @brief WDI_Shutdown will be called during 'SSR shutdown' operation.
7406 This will do most of the WDI stop & close
7407 operations without doing any handshake with Riva
7408
7409 This will also make sure that the control transport
7410 will NOT be closed.
7411
7412 This request will not be queued.
7413
7414
7415 WDI_Start must have been called.
7416
7417 @param closeTransport: Close control channel if this is set
7418
7419 @return Result of the function call
7420*/
7421WDI_Status
7422WDI_Shutdown
7423(
7424 wpt_boolean closeTransport
7425);
7426
7427/*========================================================================
7428
7429 SCAN APIs
7430
7431==========================================================================*/
7432
7433/**
7434 @brief WDI_InitScanReq will be called when the upper MAC wants
7435 the WLAN Device to get ready for a scan procedure. Upon
7436 the call of this API the WLAN DAL will pack and send a
7437 HAL Init Scan request message to the lower RIVA
7438 sub-system if DAL is in state STARTED.
7439
7440 In state BUSY this request will be queued. Request won't
7441 be allowed in any other state.
7442
7443 WDI_Start must have been called.
7444
7445 @param wdiInitScanParams: the init scan parameters as specified
7446 by the Device Interface
7447
7448 wdiInitScanRspCb: callback for passing back the response
7449 of the init scan operation received from the device
7450
7451 pUserData: user data will be passed back with the
7452 callback
7453
7454 @see WDI_Start
7455 @return Result of the function call
7456*/
7457WDI_Status
7458WDI_InitScanReq
7459(
7460 WDI_InitScanReqParamsType* pwdiInitScanParams,
7461 WDI_InitScanRspCb wdiInitScanRspCb,
7462 void* pUserData
7463);
7464
7465/**
7466 @brief WDI_StartScanReq will be called when the upper MAC
7467 wishes to change the Scan channel on the WLAN Device.
7468 Upon the call of this API the WLAN DAL will pack and
7469 send a HAL Start Scan request message to the lower RIVA
7470 sub-system if DAL is in state STARTED.
7471
7472 In state BUSY this request will be queued. Request won't
7473 be allowed in any other state.
7474
7475 WDI_InitScanReq must have been called.
7476
7477 @param wdiStartScanParams: the start scan parameters as
7478 specified by the Device Interface
7479
7480 wdiStartScanRspCb: callback for passing back the
7481 response of the start scan operation received from the
7482 device
7483
7484 pUserData: user data will be passed back with the
7485 callback
7486
7487 @see WDI_InitScanReq
7488 @return Result of the function call
7489*/
7490WDI_Status
7491WDI_StartScanReq
7492(
7493 WDI_StartScanReqParamsType* pwdiStartScanParams,
7494 WDI_StartScanRspCb wdiStartScanRspCb,
7495 void* pUserData
7496);
7497
7498
7499/**
7500 @brief WDI_EndScanReq will be called when the upper MAC is
7501 wants to end scanning for a particular channel that it
7502 had set before by calling Scan Start on the WLAN Device.
7503 Upon the call of this API the WLAN DAL will pack and
7504 send a HAL End Scan request message to the lower RIVA
7505 sub-system if DAL is in state STARTED.
7506
7507 In state BUSY this request will be queued. Request won't
7508 be allowed in any other state.
7509
7510 WDI_StartScanReq must have been called.
7511
7512 @param wdiEndScanParams: the end scan parameters as specified
7513 by the Device Interface
7514
7515 wdiEndScanRspCb: callback for passing back the response
7516 of the end scan operation received from the device
7517
7518 pUserData: user data will be passed back with the
7519 callback
7520
7521 @see WDI_StartScanReq
7522 @return Result of the function call
7523*/
7524WDI_Status
7525WDI_EndScanReq
7526(
7527 WDI_EndScanReqParamsType* pwdiEndScanParams,
7528 WDI_EndScanRspCb wdiEndScanRspCb,
7529 void* pUserData
7530);
7531
7532
7533/**
7534 @brief WDI_FinishScanReq will be called when the upper MAC has
7535 completed the scan process on the WLAN Device. Upon the
7536 call of this API the WLAN DAL will pack and send a HAL
7537 Finish Scan Request request message to the lower RIVA
7538 sub-system if DAL is in state STARTED.
7539
7540 In state BUSY this request will be queued. Request won't
7541 be allowed in any other state.
7542
7543 WDI_InitScanReq must have been called.
7544
7545 @param wdiFinishScanParams: the finish scan parameters as
7546 specified by the Device Interface
7547
7548 wdiFinishScanRspCb: callback for passing back the
7549 response of the finish scan operation received from the
7550 device
7551
7552 pUserData: user data will be passed back with the
7553 callback
7554
7555 @see WDI_InitScanReq
7556 @return Result of the function call
7557*/
7558WDI_Status
7559WDI_FinishScanReq
7560(
7561 WDI_FinishScanReqParamsType* pwdiFinishScanParams,
7562 WDI_FinishScanRspCb wdiFinishScanRspCb,
7563 void* pUserData
7564);
7565
7566/*========================================================================
7567
7568 ASSOCIATION APIs
7569
7570==========================================================================*/
7571
7572/**
7573 @brief WDI_JoinReq will be called when the upper MAC is ready
7574 to start an association procedure to a BSS. Upon the
7575 call of this API the WLAN DAL will pack and send a HAL
7576 Join request message to the lower RIVA sub-system if
7577 DAL is in state STARTED.
7578
7579 In state BUSY this request will be queued. Request won't
7580 be allowed in any other state.
7581
7582 WDI_Start must have been called.
7583
7584 @param wdiJoinParams: the join parameters as specified by
7585 the Device Interface
7586
7587 wdiJoinRspCb: callback for passing back the response of
7588 the join operation received from the device
7589
7590 pUserData: user data will be passed back with the
7591 callback
7592
7593 @see WDI_Start
7594 @return Result of the function call
7595*/
7596WDI_Status
7597WDI_JoinReq
7598(
7599 WDI_JoinReqParamsType* pwdiJoinParams,
7600 WDI_JoinRspCb wdiJoinRspCb,
7601 void* pUserData
7602);
7603
7604/**
7605 @brief WDI_ConfigBSSReq will be called when the upper MAC
7606 wishes to configure the newly acquired or in process of
7607 being acquired BSS to the HW . Upon the call of this API
7608 the WLAN DAL will pack and send a HAL Config BSS request
7609 message to the lower RIVA sub-system if DAL is in state
7610 STARTED.
7611
7612 In state BUSY this request will be queued. Request won't
7613 be allowed in any other state.
7614
7615 WDI_JoinReq must have been called.
7616
7617 @param wdiConfigBSSParams: the config BSS parameters as
7618 specified by the Device Interface
7619
7620 wdiConfigBSSRspCb: callback for passing back the
7621 response of the config BSS operation received from the
7622 device
7623
7624 pUserData: user data will be passed back with the
7625 callback
7626
7627 @see WDI_JoinReq
7628 @return Result of the function call
7629*/
7630WDI_Status
7631WDI_ConfigBSSReq
7632(
7633 WDI_ConfigBSSReqParamsType* pwdiConfigBSSParams,
7634 WDI_ConfigBSSRspCb wdiConfigBSSRspCb,
7635 void* pUserData
7636);
7637
7638/**
7639 @brief WDI_DelBSSReq will be called when the upper MAC is
7640 dissasociating from the BSS and wishes to notify HW.
7641 Upon the call of this API the WLAN DAL will pack and
7642 send a HAL Del BSS request message to the lower RIVA
7643 sub-system if DAL is in state STARTED.
7644
7645 In state BUSY this request will be queued. Request won't
7646 be allowed in any other state.
7647
7648 WDI_ConfigBSSReq or WDI_PostAssocReq must have been called.
7649
7650 @param wdiDelBSSParams: the del BSS parameters as specified by
7651 the Device Interface
7652
7653 wdiDelBSSRspCb: callback for passing back the response
7654 of the del bss operation received from the device
7655
7656 pUserData: user data will be passed back with the
7657 callback
7658
7659 @see WDI_ConfigBSSReq, WDI_PostAssocReq
7660 @return Result of the function call
7661*/
7662WDI_Status
7663WDI_DelBSSReq
7664(
7665 WDI_DelBSSReqParamsType* pwdiDelBSSParams,
7666 WDI_DelBSSRspCb wdiDelBSSRspCb,
7667 void* pUserData
7668);
7669
7670/**
7671 @brief WDI_PostAssocReq will be called when the upper MAC has
7672 associated to a BSS and wishes to configure HW for
7673 associated state. Upon the call of this API the WLAN DAL
7674 will pack and send a HAL Post Assoc request message to
7675 the lower RIVA sub-system if DAL is in state STARTED.
7676
7677 In state BUSY this request will be queued. Request won't
7678 be allowed in any other state.
7679
7680 WDI_JoinReq must have been called.
7681
7682 @param wdiPostAssocReqParams: the assoc parameters as specified
7683 by the Device Interface
7684
7685 wdiPostAssocRspCb: callback for passing back the
7686 response of the post assoc operation received from the
7687 device
7688
7689 pUserData: user data will be passed back with the
7690 callback
7691
7692 @see WDI_JoinReq
7693 @return Result of the function call
7694*/
7695WDI_Status
7696WDI_PostAssocReq
7697(
7698 WDI_PostAssocReqParamsType* pwdiPostAssocReqParams,
7699 WDI_PostAssocRspCb wdiPostAssocRspCb,
7700 void* pUserData
7701);
7702
7703/**
7704 @brief WDI_DelSTAReq will be called when the upper MAC when an
7705 association with another STA has ended and the station
7706 must be deleted from HW. Upon the call of this API the
7707 WLAN DAL will pack and send a HAL Del STA request
7708 message to the lower RIVA sub-system if DAL is in state
7709 STARTED.
7710
7711 In state BUSY this request will be queued. Request won't
7712 be allowed in any other state.
7713
7714 WDI_PostAssocReq must have been called.
7715
7716 @param wdiDelSTAParams: the Del STA parameters as specified by
7717 the Device Interface
7718
7719 wdiDelSTARspCb: callback for passing back the response
7720 of the del STA operation received from the device
7721
7722 pUserData: user data will be passed back with the
7723 callback
7724
7725 @see WDI_PostAssocReq
7726 @return Result of the function call
7727*/
7728WDI_Status
7729WDI_DelSTAReq
7730(
7731 WDI_DelSTAReqParamsType* pwdiDelSTAParams,
7732 WDI_DelSTARspCb wdiDelSTARspCb,
7733 void* pUserData
7734);
7735
7736/*========================================================================
7737
7738 SECURITY APIs
7739
7740==========================================================================*/
7741
7742/**
7743 @brief WDI_SetBSSKeyReq will be called when the upper MAC ito
7744 install a BSS encryption key on the HW. Upon the call of
7745 this API the WLAN DAL will pack and send a HAL Start
7746 request message to the lower RIVA sub-system if DAL is
7747 in state STARTED.
7748
7749 In state BUSY this request will be queued. Request won't
7750 be allowed in any other state.
7751
7752 WDI_PostAssocReq must have been called.
7753
7754 @param wdiSetBSSKeyParams: the BSS Key set parameters as
7755 specified by the Device Interface
7756
7757 wdiSetBSSKeyRspCb: callback for passing back the
7758 response of the set BSS Key operation received from the
7759 device
7760
7761 pUserData: user data will be passed back with the
7762 callback
7763
7764 @see WDI_PostAssocReq
7765 @return Result of the function call
7766*/
7767WDI_Status
7768WDI_SetBSSKeyReq
7769(
7770 WDI_SetBSSKeyReqParamsType* pwdiSetBSSKeyParams,
7771 WDI_SetBSSKeyRspCb wdiSetBSSKeyRspCb,
7772 void* pUserData
7773);
7774
7775
7776/**
7777 @brief WDI_RemoveBSSKeyReq will be called when the upper MAC to
7778 uninstall a BSS key from HW. Upon the call of this API
7779 the WLAN DAL will pack and send a HAL Remove BSS Key
7780 request message to the lower RIVA sub-system if DAL is
7781 in state STARTED.
7782
7783 In state BUSY this request will be queued. Request won't
7784 be allowed in any other state.
7785
7786 WDI_SetBSSKeyReq must have been called.
7787
7788 @param wdiRemoveBSSKeyParams: the remove BSS key parameters as
7789 specified by the Device Interface
7790
7791 wdiRemoveBSSKeyRspCb: callback for passing back the
7792 response of the remove BSS key operation received from
7793 the device
7794
7795 pUserData: user data will be passed back with the
7796 callback
7797
7798 @see WDI_SetBSSKeyReq
7799 @return Result of the function call
7800*/
7801WDI_Status
7802WDI_RemoveBSSKeyReq
7803(
7804 WDI_RemoveBSSKeyReqParamsType* pwdiRemoveBSSKeyParams,
7805 WDI_RemoveBSSKeyRspCb wdiRemoveBSSKeyRspCb,
7806 void* pUserData
7807);
7808
7809
7810/**
7811 @brief WDI_SetSTAKeyReq will be called when the upper MAC is
7812 ready to install a STA(ast) encryption key in HW. Upon
7813 the call of this API the WLAN DAL will pack and send a
7814 HAL Set STA Key request message to the lower RIVA
7815 sub-system if DAL is in state STARTED.
7816
7817 In state BUSY this request will be queued. Request won't
7818 be allowed in any other state.
7819
7820 WDI_PostAssocReq must have been called.
7821
7822 @param wdiSetSTAKeyParams: the set STA key parameters as
7823 specified by the Device Interface
7824
7825 wdiSetSTAKeyRspCb: callback for passing back the
7826 response of the set STA key operation received from the
7827 device
7828
7829 pUserData: user data will be passed back with the
7830 callback
7831
7832 @see WDI_PostAssocReq
7833 @return Result of the function call
7834*/
7835WDI_Status
7836WDI_SetSTAKeyReq
7837(
7838 WDI_SetSTAKeyReqParamsType* pwdiSetSTAKeyParams,
7839 WDI_SetSTAKeyRspCb wdiSetSTAKeyRspCb,
7840 void* pUserData
7841);
7842
7843
7844/**
7845 @brief WDI_RemoveSTAKeyReq will be called when the upper MAC
7846 wants to unistall a previously set STA key in HW. Upon
7847 the call of this API the WLAN DAL will pack and send a
7848 HAL Remove STA Key request message to the lower RIVA
7849 sub-system if DAL is in state STARTED.
7850
7851 In state BUSY this request will be queued. Request won't
7852 be allowed in any other state.
7853
7854 WDI_SetSTAKeyReq must have been called.
7855
7856 @param wdiRemoveSTAKeyParams: the remove STA key parameters as
7857 specified by the Device Interface
7858
7859 wdiRemoveSTAKeyRspCb: callback for passing back the
7860 response of the remove STA key operation received from
7861 the device
7862
7863 pUserData: user data will be passed back with the
7864 callback
7865
7866 @see WDI_SetSTAKeyReq
7867 @return Result of the function call
7868*/
7869WDI_Status
7870WDI_RemoveSTAKeyReq
7871(
7872 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTAKeyParams,
7873 WDI_RemoveSTAKeyRspCb wdiRemoveSTAKeyRspCb,
7874 void* pUserData
7875);
7876
7877/**
7878 @brief WDI_SetSTABcastKeyReq will be called when the upper MAC
7879 wants to install a STA Bcast encryption key on the HW.
7880 Upon the call of this API the WLAN DAL will pack and
7881 send a HAL Start request message to the lower RIVA
7882 sub-system if DAL is in state STARTED.
7883
7884 In state BUSY this request will be queued. Request won't
7885 be allowed in any other state.
7886
7887 WDI_PostAssocReq must have been called.
7888
7889 @param pwdiSetSTABcastKeyParams: the BSS Key set parameters as
7890 specified by the Device Interface
7891
7892 wdiSetSTABcastKeyRspCb: callback for passing back the
7893 response of the set BSS Key operation received from the
7894 device
7895
7896 pUserData: user data will be passed back with the
7897 callback
7898
7899 @see WDI_PostAssocReq
7900 @return Result of the function call
7901*/
7902WDI_Status
7903WDI_SetSTABcastKeyReq
7904(
7905 WDI_SetSTAKeyReqParamsType* pwdiSetSTABcastKeyParams,
7906 WDI_SetSTAKeyRspCb wdiSetSTABcastKeyRspCb,
7907 void* pUserData
7908);
7909
7910
7911/**
7912 @brief WDI_RemoveSTABcastKeyReq will be called when the upper
7913 MAC to uninstall a STA Bcast key from HW. Upon the call
7914 of this API the WLAN DAL will pack and send a HAL Remove
7915 STA Bcast Key request message to the lower RIVA
7916 sub-system if DAL is in state STARTED.
7917
7918 In state BUSY this request will be queued. Request won't
7919 be allowed in any other state.
7920
7921 WDI_SetSTABcastKeyReq must have been called.
7922
7923 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
7924 parameters as specified by the Device
7925 Interface
7926
7927 wdiRemoveSTABcastKeyRspCb: callback for passing back the
7928 response of the remove STA Bcast key operation received
7929 from the device
7930
7931 pUserData: user data will be passed back with the
7932 callback
7933
7934 @see WDI_SetSTABcastKeyReq
7935 @return Result of the function call
7936*/
7937WDI_Status
7938WDI_RemoveSTABcastKeyReq
7939(
7940 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTABcastKeyParams,
7941 WDI_RemoveSTAKeyRspCb wdiRemoveSTABcastKeyRspCb,
7942 void* pUserData
7943);
7944
schang86c22c42013-03-13 18:41:24 -07007945
7946/**
7947 @brief WDI_SetTxPowerReq will be called when the upper
7948 MAC wants to set Tx Power to HW.
7949 In state BUSY this request will be queued. Request won't
7950 be allowed in any other state.
7951
7952
7953 @param pwdiSetTxPowerParams: set TS Power parameters
7954 BSSID and target TX Power with dbm included
7955
7956 wdiReqStatusCb: callback for passing back the response
7957
7958 pUserData: user data will be passed back with the
7959 callback
7960
7961 @return Result of the function call
7962*/
7963WDI_Status
7964WDI_SetTxPowerReq
7965(
7966 WDI_SetTxPowerParamsType* pwdiSetTxPowerParams,
7967 WDA_SetTxPowerRspCb wdiReqStatusCb,
7968 void* pUserData
7969);
7970
Jeff Johnson295189b2012-06-20 16:38:30 -07007971/**
7972 @brief WDI_SetMaxTxPowerReq will be called when the upper
7973 MAC wants to set Max Tx Power to HW. Upon the
7974 call of this API the WLAN DAL will pack and send a HAL
7975 Remove STA Bcast Key request message to the lower RIVA
7976 sub-system if DAL is in state STARTED.
7977
7978 In state BUSY this request will be queued. Request won't
7979 be allowed in any other state.
7980
7981 WDI_SetSTABcastKeyReq must have been called.
7982
7983 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
7984 parameters as specified by the Device
7985 Interface
7986
7987 wdiRemoveSTABcastKeyRspCb: callback for passing back the
7988 response of the remove STA Bcast key operation received
7989 from the device
7990
7991 pUserData: user data will be passed back with the
7992 callback
7993
7994 @see WDI_SetMaxTxPowerReq
7995 @return Result of the function call
7996*/
7997WDI_Status
7998WDI_SetMaxTxPowerReq
7999(
8000 WDI_SetMaxTxPowerParamsType* pwdiSetMaxTxPowerParams,
8001 WDA_SetMaxTxPowerRspCb wdiReqStatusCb,
8002 void* pUserData
8003);
8004
Arif Hussaina5ebce02013-08-09 15:09:58 -07008005/**
8006 @brief WDI_SetMaxTxPowerPerBandReq will be called when the upper
8007 MAC wants to set Max Tx Power to HW for specific band. Upon the
8008 call of this API the WLAN DAL will pack and send a HAL
8009 Set Max Tx Power Per Band request message to the lower RIVA
8010 sub-system if DAL is in state STARTED.
8011
8012 In state BUSY this request will be queued. Request won't
8013 be allowed in any other state.
8014
8015
8016 @param WDI_SetMaxTxPowerPerBandParamsType: Max Tx Per Band Info
8017
8018 WDA_SetMaxTxPowerPerBandRspCb: This callback is invoked by DAL
8019 when it has received a set max Tx Power Per Band response from
8020 the underlying device.
8021
8022 pUserData: user data will be passed back with the
8023 callback
8024
8025 @see WDI_SetMaxTxPowerPerBandReq
8026 @return Result of the function call
8027*/
8028WDI_Status
8029WDI_SetMaxTxPowerPerBandReq
8030(
8031 WDI_SetMaxTxPowerPerBandParamsType* pwdiSetMaxTxPowerPerBandParams,
8032 WDA_SetMaxTxPowerPerBandRspCb wdiReqStatusCb,
8033 void* pUserData
8034);
8035
Jeff Johnson295189b2012-06-20 16:38:30 -07008036#ifdef FEATURE_WLAN_CCX
8037/**
8038 @brief WDI_TSMStatsReq will be called by the upper MAC to fetch
8039 Traffic Stream metrics.
8040 In state BUSY this request will be queued. Request won't
8041 be allowed in any other state.
8042
8043 @param wdiAddTsReqParams: the add TS parameters as specified by
8044 the Device Interface
8045
8046 wdiAddTsRspCb: callback for passing back the response of
8047 the add TS operation received from the device
8048
8049 pUserData: user data will be passed back with the
8050 callback
8051
8052 @see WDI_PostAssocReq
8053 @return Result of the function call
8054*/
8055WDI_Status
8056WDI_TSMStatsReq
8057(
8058 WDI_TSMStatsReqParamsType* pwdiTsmStatsReqParams,
8059 WDI_TsmRspCb wdiTsmStatsRspCb,
8060 void* pUserData
8061);
8062
8063
8064#endif
8065
8066/*========================================================================
8067
8068 QoS and BA APIs
8069
8070==========================================================================*/
8071
8072/**
8073 @brief WDI_AddTSReq will be called when the upper MAC to inform
8074 the device of a successful add TSpec negotiation. HW
8075 needs to receive the TSpec Info from the UMAC in order
8076 to configure properly the QoS data traffic. Upon the
8077 call of this API the WLAN DAL will pack and send a HAL
8078 Add TS request message to the lower RIVA sub-system if
8079 DAL is in state STARTED.
8080
8081 In state BUSY this request will be queued. Request won't
8082 be allowed in any other state.
8083
8084 WDI_PostAssocReq must have been called.
8085
8086 @param wdiAddTsReqParams: the add TS parameters as specified by
8087 the Device Interface
8088
8089 wdiAddTsRspCb: callback for passing back the response of
8090 the add TS operation received from the device
8091
8092 pUserData: user data will be passed back with the
8093 callback
8094
8095 @see WDI_PostAssocReq
8096 @return Result of the function call
8097*/
8098WDI_Status
8099WDI_AddTSReq
8100(
8101 WDI_AddTSReqParamsType* pwdiAddTsReqParams,
8102 WDI_AddTsRspCb wdiAddTsRspCb,
8103 void* pUserData
8104);
8105
8106
8107
8108/**
8109 @brief WDI_DelTSReq will be called when the upper MAC has ended
8110 admission on a specific AC. This is to inform HW that
8111 QoS traffic parameters must be rest. Upon the call of
8112 this API the WLAN DAL will pack and send a HAL Del TS
8113 request message to the lower RIVA sub-system if DAL is
8114 in state STARTED.
8115
8116 In state BUSY this request will be queued. Request won't
8117 be allowed in any other state.
8118
8119 WDI_AddTSReq must have been called.
8120
8121 @param wdiDelTsReqParams: the del TS parameters as specified by
8122 the Device Interface
8123
8124 wdiDelTsRspCb: callback for passing back the response of
8125 the del TS operation received from the device
8126
8127 pUserData: user data will be passed back with the
8128 callback
8129
8130 @see WDI_AddTSReq
8131 @return Result of the function call
8132*/
8133WDI_Status
8134WDI_DelTSReq
8135(
8136 WDI_DelTSReqParamsType* pwdiDelTsReqParams,
8137 WDI_DelTsRspCb wdiDelTsRspCb,
8138 void* pUserData
8139);
8140
8141
8142
8143/**
8144 @brief WDI_UpdateEDCAParams will be called when the upper MAC
8145 wishes to update the EDCA parameters used by HW for QoS
8146 data traffic. Upon the call of this API the WLAN DAL
8147 will pack and send a HAL Update EDCA Params request
8148 message to the lower RIVA sub-system if DAL is in state
8149 STARTED.
8150
8151 In state BUSY this request will be queued. Request won't
8152 be allowed in any other state.
8153
8154 WDI_PostAssocReq must have been called.
8155
8156 @param wdiUpdateEDCAParams: the start parameters as specified
8157 by the Device Interface
8158
8159 wdiUpdateEDCAParamsRspCb: callback for passing back the
8160 response of the start operation received from the device
8161
8162 pUserData: user data will be passed back with the
8163 callback
8164
8165 @see WDI_PostAssocReq
8166 @return Result of the function call
8167*/
8168WDI_Status
8169WDI_UpdateEDCAParams
8170(
8171 WDI_UpdateEDCAParamsType* pwdiUpdateEDCAParams,
8172 WDI_UpdateEDCAParamsRspCb wdiUpdateEDCAParamsRspCb,
8173 void* pUserData
8174);
8175
8176
8177
8178/**
8179 @brief WDI_AddBASessionReq will be called when the upper MAC has setup
8180 successfully a BA session and needs to notify the HW for
8181 the appropriate settings to take place. Upon the call of
8182 this API the WLAN DAL will pack and send a HAL Add BA
8183 request message to the lower RIVA sub-system if DAL is
8184 in state STARTED.
8185
8186 In state BUSY this request will be queued. Request won't
8187 be allowed in any other state.
8188
8189 WDI_PostAssocReq must have been called.
8190
8191 @param wdiAddBAReqParams: the add BA parameters as specified by
8192 the Device Interface
8193
8194 wdiAddBARspCb: callback for passing back the response of
8195 the add BA operation received from the device
8196
8197 pUserData: user data will be passed back with the
8198 callback
8199
8200 @see WDI_PostAssocReq
8201 @return Result of the function call
8202*/
8203WDI_Status
8204WDI_AddBASessionReq
8205(
8206 WDI_AddBASessionReqParamsType* pwdiAddBASessionReqParams,
8207 WDI_AddBASessionRspCb wdiAddBASessionRspCb,
8208 void* pUserData
8209);
8210
8211
8212/**
8213 @brief WDI_DelBAReq will be called when the upper MAC wants to
8214 inform HW that it has deleted a previously created BA
8215 session. Upon the call of this API the WLAN DAL will
8216 pack and send a HAL Del BA request message to the lower
8217 RIVA sub-system if DAL is in state STARTED.
8218
8219 In state BUSY this request will be queued. Request won't
8220 be allowed in any other state.
8221
8222 WDI_AddBAReq must have been called.
8223
8224 @param wdiDelBAReqParams: the del BA parameters as specified by
8225 the Device Interface
8226
8227 wdiDelBARspCb: callback for passing back the response of
8228 the del BA operation received from the device
8229
8230 pUserData: user data will be passed back with the
8231 callback
8232
8233 @see WDI_AddBAReq
8234 @return Result of the function call
8235*/
8236WDI_Status
8237WDI_DelBAReq
8238(
8239 WDI_DelBAReqParamsType* pwdiDelBAReqParams,
8240 WDI_DelBARspCb wdiDelBARspCb,
8241 void* pUserData
8242);
8243
8244/**
8245 @brief WDI_UpdateBeaconParamsReq will be called when the upper MAC wants to
8246 inform HW that there is a change in the beacon parameters
8247 Upon the call of this API the WLAN DAL will
8248 pack and send a UpdateBeacon Params message to the lower
8249 RIVA sub-system if DAL is in state STARTED.
8250
8251 In state BUSY this request will be queued. Request won't
8252 be allowed in any other state.
8253
8254 WDI_UpdateBeaconParamsReq must have been called.
8255
8256 @param WDI_UpdateBeaconParamsType: the Update Beacon parameters as specified by
8257 the Device Interface
8258
8259 WDI_UpdateBeaconParamsRspCb: callback for passing back the response of
8260 the Update Beacon Params operation received from the device
8261
8262 pUserData: user data will be passed back with the
8263 callback
8264
8265 @see WDI_AddBAReq
8266 @return Result of the function call
8267*/
8268
8269WDI_Status
8270WDI_UpdateBeaconParamsReq
8271(
8272 WDI_UpdateBeaconParamsType * pwdiUpdateBeaconParams,
8273 WDI_UpdateBeaconParamsRspCb wdiUpdateBeaconParamsRspCb,
8274 void* pUserData
8275);
8276
8277
8278/**
8279 @brief WDI_SendBeaconParamsReq will be called when the upper MAC wants to
8280 update the beacon template to be transmitted as BT MAP STA/IBSS/Soft AP
8281 Upon the call of this API the WLAN DAL will
8282 pack and send the beacon Template message to the lower
8283 RIVA sub-system if DAL is in state STARTED.
8284
8285 In state BUSY this request will be queued. Request won't
8286 be allowed in any other state.
8287
8288 WDI_SendBeaconParamsReq must have been called.
8289
8290 @param WDI_SendBeaconParamsType: the Update Beacon parameters as specified by
8291 the Device Interface
8292
8293 WDI_SendBeaconParamsRspCb: callback for passing back the response of
8294 the Send Beacon Params operation received from the device
8295
8296 pUserData: user data will be passed back with the
8297 callback
8298
8299 @see WDI_AddBAReq
8300 @return Result of the function call
8301*/
8302
8303WDI_Status
8304WDI_SendBeaconParamsReq
8305(
8306 WDI_SendBeaconParamsType* pwdiSendBeaconParams,
8307 WDI_SendBeaconParamsRspCb wdiSendBeaconParamsRspCb,
8308 void* pUserData
8309);
8310
8311
8312/**
8313 @brief WDI_UpdateProbeRspTemplateReq will be called when the
8314 upper MAC wants to update the probe response template to
8315 be transmitted as Soft AP
8316 Upon the call of this API the WLAN DAL will
8317 pack and send the probe rsp template message to the
8318 lower RIVA sub-system if DAL is in state STARTED.
8319
8320 In state BUSY this request will be queued. Request won't
8321 be allowed in any other state.
8322
8323
8324 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
8325 specified by the Device Interface
8326
8327 wdiSendBeaconParamsRspCb: callback for passing back the
8328 response of the Send Beacon Params operation received
8329 from the device
8330
8331 pUserData: user data will be passed back with the
8332 callback
8333
8334 @see WDI_AddBAReq
8335 @return Result of the function call
8336*/
8337
8338WDI_Status
8339WDI_UpdateProbeRspTemplateReq
8340(
8341 WDI_UpdateProbeRspTemplateParamsType* pwdiUpdateProbeRspParams,
8342 WDI_UpdateProbeRspTemplateRspCb wdiSendBeaconParamsRspCb,
8343 void* pUserData
8344);
8345
Jeff Johnson295189b2012-06-20 16:38:30 -07008346/**
8347 @brief WDI_SetP2PGONOAReq will be called when the
8348 upper MAC wants to send Notice of Absence
8349 Upon the call of this API the WLAN DAL will
8350 pack and send the probe rsp template message to the
8351 lower RIVA sub-system if DAL is in state STARTED.
8352
8353 In state BUSY this request will be queued. Request won't
8354 be allowed in any other state.
8355
8356
8357 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
8358 specified by the Device Interface
8359
8360 wdiSendBeaconParamsRspCb: callback for passing back the
8361 response of the Send Beacon Params operation received
8362 from the device
8363
8364 pUserData: user data will be passed back with the
8365 callback
8366
8367 @see WDI_AddBAReq
8368 @return Result of the function call
8369*/
8370WDI_Status
8371WDI_SetP2PGONOAReq
8372(
8373 WDI_SetP2PGONOAReqParamsType* pwdiP2PGONOAReqParams,
8374 WDI_SetP2PGONOAReqParamsRspCb wdiP2PGONOAReqParamsRspCb,
8375 void* pUserData
8376);
Jeff Johnson295189b2012-06-20 16:38:30 -07008377
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05308378/**
8379 @brief WDI_SetTDLSLinkEstablishReq will be called when the
8380 upper MAC wants to send TDLS Link Establish Request Parameters
8381 Upon the call of this API the WLAN DAL will
8382 pack and send the TDLS Link Establish Request message to the
8383 lower RIVA sub-system if DAL is in state STARTED.
8384
8385 In state BUSY this request will be queued. Request won't
8386 be allowed in any other state.
8387
8388
8389 @param pwdiTDLSLinkEstablishReqParams: TDLS Peer Parameters
8390 for Link Establishment (Used for PUAPSD , TDLS Off Channel ...)
8391
8392 wdiTDLSLinkEstablishReqRspCb: callback for passing back the
8393 response of the TDLS Link Establish request received
8394 from the device
8395
8396 pUserData: user data will be passed back with the
8397 callback
8398
8399 @see
8400 @return Result of the function call
8401*/
8402WDI_Status
8403WDI_SetTDLSLinkEstablishReq
8404(
8405 WDI_SetTDLSLinkEstablishReqParamsType* pwdiTDLSLinkEstablishReqParams,
8406 WDI_SetTDLSLinkEstablishReqParamsRspCb wdiTDLSLinkEstablishReqRspCb,
8407 void* pUserData
8408);
Jeff Johnson295189b2012-06-20 16:38:30 -07008409
8410/*========================================================================
8411
8412 Power Save APIs
8413
8414==========================================================================*/
8415
8416/**
8417 @brief WDI_SetPwrSaveCfgReq will be called when the upper MAC
8418 wants to set the power save related configurations of
8419 the WLAN Device. Upon the call of this API the WLAN DAL
8420 will pack and send a HAL Update CFG request message to
8421 the lower RIVA sub-system if DAL is in state STARTED.
8422
8423 In state BUSY this request will be queued. Request won't
8424 be allowed in any other state.
8425
8426 WDI_Start must have been called.
8427
8428 @param pwdiPowerSaveCfg: the power save cfg parameters as
8429 specified by the Device Interface
8430
8431 wdiSetPwrSaveCfgCb: callback for passing back the
8432 response of the set power save cfg operation received
8433 from the device
8434
8435 pUserData: user data will be passed back with the
8436 callback
8437
8438 @see WDI_Start
8439 @return Result of the function call
8440*/
8441WDI_Status
8442WDI_SetPwrSaveCfgReq
8443(
8444 WDI_UpdateCfgReqParamsType* pwdiPowerSaveCfg,
8445 WDI_SetPwrSaveCfgCb wdiSetPwrSaveCfgCb,
8446 void* pUserData
8447);
8448
8449/**
8450 @brief WDI_EnterImpsReq will be called when the upper MAC to
8451 request the device to get into IMPS power state. Upon
8452 the call of this API the WLAN DAL will send a HAL Enter
8453 IMPS request message to the lower RIVA sub-system if DAL
8454 is in state STARTED.
8455
8456 In state BUSY this request will be queued. Request won't
8457 be allowed in any other state.
8458
8459
8460 @param wdiEnterImpsRspCb: callback for passing back the
8461 response of the Enter IMPS operation received from the
8462 device
8463
8464 pUserData: user data will be passed back with the
8465 callback
8466
8467 @see WDI_Start
8468 @return Result of the function call
8469*/
8470WDI_Status
8471WDI_EnterImpsReq
8472(
8473 WDI_EnterImpsRspCb wdiEnterImpsRspCb,
8474 void* pUserData
8475);
8476
8477/**
8478 @brief WDI_ExitImpsReq will be called when the upper MAC to
8479 request the device to get out of IMPS power state. Upon
8480 the call of this API the WLAN DAL will send a HAL Exit
8481 IMPS request message to the lower RIVA sub-system if DAL
8482 is in state STARTED.
8483
8484 In state BUSY this request will be queued. Request won't
8485 be allowed in any other state.
8486
8487
8488
8489 @param wdiExitImpsRspCb: callback for passing back the response
8490 of the Exit IMPS operation received from the device
8491
8492 pUserData: user data will be passed back with the
8493 callback
8494
8495 @see WDI_Start
8496 @return Result of the function call
8497*/
8498WDI_Status
8499WDI_ExitImpsReq
8500(
8501 WDI_ExitImpsRspCb wdiExitImpsRspCb,
8502 void* pUserData
8503);
8504
8505/**
8506 @brief WDI_EnterBmpsReq will be called when the upper MAC to
8507 request the device to get into BMPS power state. Upon
8508 the call of this API the WLAN DAL will pack and send a
8509 HAL Enter BMPS request message to the lower RIVA
8510 sub-system if DAL is in state STARTED.
8511
8512 In state BUSY this request will be queued. Request won't
8513 be allowed in any other state.
8514
8515 WDI_PostAssocReq must have been called.
8516
8517 @param pwdiEnterBmpsReqParams: the Enter BMPS parameters as
8518 specified by the Device Interface
8519
8520 wdiEnterBmpsRspCb: callback for passing back the
8521 response of the Enter BMPS operation received from the
8522 device
8523
8524 pUserData: user data will be passed back with the
8525 callback
8526
8527 @see WDI_PostAssocReq
8528 @return Result of the function call
8529*/
8530WDI_Status
8531WDI_EnterBmpsReq
8532(
8533 WDI_EnterBmpsReqParamsType *pwdiEnterBmpsReqParams,
8534 WDI_EnterBmpsRspCb wdiEnterBmpsRspCb,
8535 void* pUserData
8536);
8537
8538/**
8539 @brief WDI_ExitBmpsReq will be called when the upper MAC to
8540 request the device to get out of BMPS power state. Upon
8541 the call of this API the WLAN DAL will pack and send a
8542 HAL Exit BMPS request message to the lower RIVA
8543 sub-system if DAL is in state STARTED.
8544
8545 In state BUSY this request will be queued. Request won't
8546 be allowed in any other state.
8547
8548 WDI_PostAssocReq must have been called.
8549
8550 @param pwdiExitBmpsReqParams: the Exit BMPS parameters as
8551 specified by the Device Interface
8552
8553 wdiExitBmpsRspCb: callback for passing back the response
8554 of the Exit BMPS operation received from the device
8555
8556 pUserData: user data will be passed back with the
8557 callback
8558
8559 @see WDI_PostAssocReq
8560 @return Result of the function call
8561*/
8562WDI_Status
8563WDI_ExitBmpsReq
8564(
8565 WDI_ExitBmpsReqParamsType *pwdiExitBmpsReqParams,
8566 WDI_ExitBmpsRspCb wdiExitBmpsRspCb,
8567 void* pUserData
8568);
8569
8570/**
8571 @brief WDI_EnterUapsdReq will be called when the upper MAC to
8572 request the device to get into UAPSD power state. Upon
8573 the call of this API the WLAN DAL will pack and send a
8574 HAL Enter UAPSD request message to the lower RIVA
8575 sub-system if DAL is in state STARTED.
8576
8577 In state BUSY this request will be queued. Request won't
8578 be allowed in any other state.
8579
8580 WDI_PostAssocReq must have been called.
8581 WDI_SetUapsdAcParamsReq must have been called.
8582
8583 @param pwdiEnterUapsdReqParams: the Enter UAPSD parameters as
8584 specified by the Device Interface
8585
8586 wdiEnterUapsdRspCb: callback for passing back the
8587 response of the Enter UAPSD operation received from the
8588 device
8589
8590 pUserData: user data will be passed back with the
8591 callback
8592
8593 @see WDI_PostAssocReq, WDI_SetUapsdAcParamsReq
8594 @return Result of the function call
8595*/
8596WDI_Status
8597WDI_EnterUapsdReq
8598(
8599 WDI_EnterUapsdReqParamsType *pwdiEnterUapsdReqParams,
8600 WDI_EnterUapsdRspCb wdiEnterUapsdRspCb,
8601 void* pUserData
8602);
8603
8604/**
8605 @brief WDI_ExitUapsdReq will be called when the upper MAC to
8606 request the device to get out of UAPSD power state. Upon
8607 the call of this API the WLAN DAL will send a HAL Exit
8608 UAPSD request message to the lower RIVA sub-system if
8609 DAL is in state STARTED.
8610
8611 In state BUSY this request will be queued. Request won't
8612 be allowed in any other state.
8613
8614 WDI_PostAssocReq must have been called.
8615
8616 @param wdiExitUapsdRspCb: callback for passing back the
8617 response of the Exit UAPSD operation received from the
8618 device
8619
8620 pUserData: user data will be passed back with the
8621 callback
8622
8623 @see WDI_PostAssocReq
8624 @return Result of the function call
8625*/
8626WDI_Status
8627WDI_ExitUapsdReq
8628(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07008629 WDI_ExitUapsdReqParamsType *pwdiExitUapsdReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07008630 WDI_ExitUapsdRspCb wdiExitUapsdRspCb,
8631 void* pUserData
8632);
8633
8634/**
8635 @brief WDI_UpdateUapsdParamsReq will be called when the upper
8636 MAC wants to set the UAPSD related configurations
8637 of an associated STA (while acting as an AP) to the WLAN
8638 Device. Upon the call of this API the WLAN DAL will pack
8639 and send a HAL Update UAPSD params request message to
8640 the lower RIVA sub-system if DAL is in state STARTED.
8641
8642 In state BUSY this request will be queued. Request won't
8643 be allowed in any other state.
8644
8645 WDI_ConfigBSSReq must have been called.
8646
8647 @param pwdiUpdateUapsdReqParams: the UAPSD parameters
8648 as specified by the Device Interface
8649
8650 wdiUpdateUapsdParamsCb: callback for passing back the
8651 response of the update UAPSD params operation received
8652 from the device
8653
8654 pUserData: user data will be passed back with the
8655 callback
8656
8657 @see WDI_ConfigBSSReq
8658 @return Result of the function call
8659*/
8660WDI_Status
8661WDI_UpdateUapsdParamsReq
8662(
8663 WDI_UpdateUapsdReqParamsType *pwdiUpdateUapsdReqParams,
8664 WDI_UpdateUapsdParamsCb wdiUpdateUapsdParamsCb,
8665 void* pUserData
8666);
8667
8668/**
8669 @brief WDI_SetUapsdAcParamsReq will be called when the upper
8670 MAC wants to set the UAPSD related configurations before
8671 requesting for enter UAPSD power state to the WLAN
8672 Device. Upon the call of this API the WLAN DAL will pack
8673 and send a HAL Set UAPSD params request message to
8674 the lower RIVA sub-system if DAL is in state STARTED.
8675
8676 In state BUSY this request will be queued. Request won't
8677 be allowed in any other state.
8678
8679 WDI_PostAssocReq must have been called.
8680
8681 @param pwdiUapsdInfo: the UAPSD parameters as specified by
8682 the Device Interface
8683
8684 wdiSetUapsdAcParamsCb: callback for passing back the
8685 response of the set UAPSD params operation received from
8686 the device
8687
8688 pUserData: user data will be passed back with the
8689 callback
8690
8691 @see WDI_PostAssocReq
8692 @return Result of the function call
8693*/
8694WDI_Status
8695WDI_SetUapsdAcParamsReq
8696(
8697 WDI_SetUapsdAcParamsReqParamsType* pwdiPowerSaveCfg,
8698 WDI_SetUapsdAcParamsCb wdiSetUapsdAcParamsCb,
8699 void* pUserData
8700);
8701
8702/**
8703 @brief WDI_ConfigureRxpFilterReq will be called when the upper
8704 MAC wants to set/reset the RXP filters for received pkts
8705 (MC, BC etc.). Upon the call of this API the WLAN DAL will pack
8706 and send a HAL configure RXP filter request message to
8707 the lower RIVA sub-system.
8708
8709 In state BUSY this request will be queued. Request won't
8710 be allowed in any other state.
8711
8712
8713 @param pwdiConfigureRxpFilterReqParams: the RXP
8714 filter as specified by the Device
8715 Interface
8716
8717 wdiConfigureRxpFilterCb: callback for passing back the
8718 response of the configure RXP filter operation received
8719 from the device
8720
8721 pUserData: user data will be passed back with the
8722 callback
8723
8724 @return Result of the function call
8725*/
8726WDI_Status
8727WDI_ConfigureRxpFilterReq
8728(
8729 WDI_ConfigureRxpFilterReqParamsType *pwdiConfigureRxpFilterReqParams,
8730 WDI_ConfigureRxpFilterCb wdiConfigureRxpFilterCb,
8731 void* pUserData
8732);
8733
8734/**
8735 @brief WDI_SetBeaconFilterReq will be called when the upper MAC
8736 wants to set the beacon filters while in power save.
8737 Upon the call of this API the WLAN DAL will pack and
8738 send a Beacon filter request message to the
8739 lower RIVA sub-system.
8740
8741 In state BUSY this request will be queued. Request won't
8742 be allowed in any other state.
8743
8744
8745 @param pwdiBeaconFilterReqParams: the beacon
8746 filter as specified by the Device
8747 Interface
8748
8749 wdiBeaconFilterCb: callback for passing back the
8750 response of the set beacon filter operation received
8751 from the device
8752
8753 pUserData: user data will be passed back with the
8754 callback
8755
8756 @return Result of the function call
8757*/
8758WDI_Status
8759WDI_SetBeaconFilterReq
8760(
8761 WDI_BeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
8762 WDI_SetBeaconFilterCb wdiBeaconFilterCb,
8763 void* pUserData
8764);
8765
8766/**
8767 @brief WDI_RemBeaconFilterReq will be called when the upper MAC
8768 wants to remove the beacon filter for perticular IE
8769 while in power save. Upon the call of this API the WLAN
8770 DAL will pack and send a remove Beacon filter request
8771 message to the lower RIVA sub-system.
8772
8773 In state BUSY this request will be queued. Request won't
8774 be allowed in any other state.
8775
8776
8777 @param pwdiBeaconFilterReqParams: the beacon
8778 filter as specified by the Device
8779 Interface
8780
8781 wdiBeaconFilterCb: callback for passing back the
8782 response of the remove beacon filter operation received
8783 from the device
8784
8785 pUserData: user data will be passed back with the
8786 callback
8787
8788 @return Result of the function call
8789*/
8790WDI_Status
8791WDI_RemBeaconFilterReq
8792(
8793 WDI_RemBeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
8794 WDI_RemBeaconFilterCb wdiBeaconFilterCb,
8795 void* pUserData
8796);
8797
8798/**
8799 @brief WDI_SetRSSIThresholdsReq will be called when the upper
8800 MAC wants to set the RSSI thresholds related
8801 configurations while in power save. Upon the call of
8802 this API the WLAN DAL will pack and send a HAL Set RSSI
8803 thresholds request message to the lower RIVA
8804 sub-system if DAL is in state STARTED.
8805
8806 In state BUSY this request will be queued. Request won't
8807 be allowed in any other state.
8808
8809 WDI_PostAssocReq must have been called.
8810
8811 @param pwdiUapsdInfo: the UAPSD parameters as specified by
8812 the Device Interface
8813
8814 wdiSetUapsdAcParamsCb: callback for passing back the
8815 response of the set UAPSD params operation received from
8816 the device
8817
8818 pUserData: user data will be passed back with the
8819 callback
8820
8821 @see WDI_PostAssocReq
8822 @return Result of the function call
8823*/
8824WDI_Status
8825WDI_SetRSSIThresholdsReq
8826(
8827 WDI_SetRSSIThresholdsReqParamsType* pwdiRSSIThresholdsParams,
8828 WDI_SetRSSIThresholdsCb wdiSetRSSIThresholdsCb,
8829 void* pUserData
8830);
8831
8832/**
8833 @brief WDI_HostOffloadReq will be called when the upper MAC
8834 wants to set the filter to minimize unnecessary host
8835 wakeup due to broadcast traffic while in power save.
8836 Upon the call of this API the WLAN DAL will pack and
8837 send a HAL host offload request message to the
8838 lower RIVA sub-system if DAL is in state STARTED.
8839
8840 In state BUSY this request will be queued. Request won't
8841 be allowed in any other state.
8842
8843 WDI_PostAssocReq must have been called.
8844
8845 @param pwdiHostOffloadParams: the host offload as specified
8846 by the Device Interface
8847
8848 wdiHostOffloadCb: callback for passing back the response
8849 of the host offload operation received from the
8850 device
8851
8852 pUserData: user data will be passed back with the
8853 callback
8854
8855 @see WDI_PostAssocReq
8856 @return Result of the function call
8857*/
8858WDI_Status
8859WDI_HostOffloadReq
8860(
8861 WDI_HostOffloadReqParamsType* pwdiHostOffloadParams,
8862 WDI_HostOffloadCb wdiHostOffloadCb,
8863 void* pUserData
8864);
8865
8866/**
8867 @brief WDI_KeepAliveReq will be called when the upper MAC
8868 wants to set the filter to send NULL or unsolicited ARP responses
8869 and minimize unnecessary host wakeups due to while in power save.
8870 Upon the call of this API the WLAN DAL will pack and
8871 send a HAL Keep Alive request message to the
8872 lower RIVA sub-system if DAL is in state STARTED.
8873
8874 In state BUSY this request will be queued. Request won't
8875 be allowed in any other state.
8876
8877 WDI_PostAssocReq must have been called.
8878
8879 @param pwdiKeepAliveParams: the Keep Alive as specified
8880 by the Device Interface
8881
8882 wdiKeepAliveCb: callback for passing back the response
8883 of the Keep Alive operation received from the
8884 device
8885
8886 pUserData: user data will be passed back with the
8887 callback
8888
8889 @see WDI_PostAssocReq
8890 @return Result of the function call
8891*/
8892WDI_Status
8893WDI_KeepAliveReq
8894(
8895 WDI_KeepAliveReqParamsType* pwdiKeepAliveParams,
8896 WDI_KeepAliveCb wdiKeepAliveCb,
8897 void* pUserData
8898);
8899
8900/**
8901 @brief WDI_WowlAddBcPtrnReq will be called when the upper MAC
8902 wants to set the Wowl Bcast ptrn to minimize unnecessary
8903 host wakeup due to broadcast traffic while in power
8904 save. Upon the call of this API the WLAN DAL will pack
8905 and send a HAL Wowl Bcast ptrn request message to the
8906 lower RIVA sub-system if DAL is in state STARTED.
8907
8908 In state BUSY this request will be queued. Request won't
8909 be allowed in any other state.
8910
8911 WDI_PostAssocReq must have been called.
8912
8913 @param pwdiWowlAddBcPtrnParams: the Wowl bcast ptrn as
8914 specified by the Device Interface
8915
8916 wdiWowlAddBcPtrnCb: callback for passing back the
8917 response of the add Wowl bcast ptrn operation received
8918 from the device
8919
8920 pUserData: user data will be passed back with the
8921 callback
8922
8923 @see WDI_PostAssocReq
8924 @return Result of the function call
8925*/
8926WDI_Status
8927WDI_WowlAddBcPtrnReq
8928(
8929 WDI_WowlAddBcPtrnReqParamsType* pwdiWowlAddBcPtrnParams,
8930 WDI_WowlAddBcPtrnCb wdiWowlAddBcPtrnCb,
8931 void* pUserData
8932);
8933
8934/**
8935 @brief WDI_WowlDelBcPtrnReq will be called when the upper MAC
8936 wants to clear the Wowl Bcast ptrn. Upon the call of
8937 this API the WLAN DAL will pack and send a HAL delete
8938 Wowl Bcast ptrn request message to the lower RIVA
8939 sub-system if DAL is in state STARTED.
8940
8941 In state BUSY this request will be queued. Request won't
8942 be allowed in any other state.
8943
8944 WDI_WowlAddBcPtrnReq must have been called.
8945
8946 @param pwdiWowlDelBcPtrnParams: the Wowl bcast ptrn as
8947 specified by the Device Interface
8948
8949 wdiWowlDelBcPtrnCb: callback for passing back the
8950 response of the del Wowl bcast ptrn operation received
8951 from the device
8952
8953 pUserData: user data will be passed back with the
8954 callback
8955
8956 @see WDI_WowlAddBcPtrnReq
8957 @return Result of the function call
8958*/
8959WDI_Status
8960WDI_WowlDelBcPtrnReq
8961(
8962 WDI_WowlDelBcPtrnReqParamsType* pwdiWowlDelBcPtrnParams,
8963 WDI_WowlDelBcPtrnCb wdiWowlDelBcPtrnCb,
8964 void* pUserData
8965);
8966
8967/**
8968 @brief WDI_WowlEnterReq will be called when the upper MAC
8969 wants to enter the Wowl state to minimize unnecessary
8970 host wakeup while in power save. Upon the call of this
8971 API the WLAN DAL will pack and send a HAL Wowl enter
8972 request message to the lower RIVA sub-system if DAL is
8973 in state STARTED.
8974
8975 In state BUSY this request will be queued. Request won't
8976 be allowed in any other state.
8977
8978 WDI_PostAssocReq must have been called.
8979
8980 @param pwdiWowlEnterReqParams: the Wowl enter info as
8981 specified by the Device Interface
8982
8983 wdiWowlEnterReqCb: callback for passing back the
8984 response of the enter Wowl operation received from the
8985 device
8986
8987 pUserData: user data will be passed back with the
8988 callback
8989
8990 @see WDI_PostAssocReq
8991 @return Result of the function call
8992*/
8993WDI_Status
8994WDI_WowlEnterReq
8995(
8996 WDI_WowlEnterReqParamsType* pwdiWowlEnterParams,
8997 WDI_WowlEnterReqCb wdiWowlEnterCb,
8998 void* pUserData
8999);
9000
9001/**
9002 @brief WDI_WowlExitReq will be called when the upper MAC
9003 wants to exit the Wowl state. Upon the call of this API
9004 the WLAN DAL will pack and send a HAL Wowl exit request
9005 message to the lower RIVA sub-system if DAL is in state
9006 STARTED.
9007
9008 In state BUSY this request will be queued. Request won't
9009 be allowed in any other state.
9010
9011 WDI_WowlEnterReq must have been called.
9012
9013 @param pwdiWowlExitReqParams: the Wowl exit info as
9014 specified by the Device Interface
9015
9016 wdiWowlExitReqCb: callback for passing back the response
9017 of the exit Wowl operation received from the device
9018
9019 pUserData: user data will be passed back with the
9020 callback
9021
9022 @see WDI_WowlEnterReq
9023 @return Result of the function call
9024*/
9025WDI_Status
9026WDI_WowlExitReq
9027(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07009028 WDI_WowlExitReqParamsType* pwdiWowlExitParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009029 WDI_WowlExitReqCb wdiWowlExitCb,
9030 void* pUserData
9031);
9032
9033/**
9034 @brief WDI_ConfigureAppsCpuWakeupStateReq will be called when
9035 the upper MAC wants to dynamically adjusts the listen
9036 interval based on the WLAN/MSM activity. Upon the call
9037 of this API the WLAN DAL will pack and send a HAL
9038 configure Apps Cpu Wakeup State request message to the
9039 lower RIVA sub-system.
9040
9041 In state BUSY this request will be queued. Request won't
9042 be allowed in any other state.
9043
9044
9045 @param pwdiConfigureAppsCpuWakeupStateReqParams: the
9046 Apps Cpu Wakeup State as specified by the
9047 Device Interface
9048
9049 wdiConfigureAppsCpuWakeupStateCb: callback for passing
9050 back the response of the configure Apps Cpu Wakeup State
9051 operation received from the device
9052
9053 pUserData: user data will be passed back with the
9054 callback
9055
9056 @return Result of the function call
9057*/
9058WDI_Status
9059WDI_ConfigureAppsCpuWakeupStateReq
9060(
9061 WDI_ConfigureAppsCpuWakeupStateReqParamsType *pwdiConfigureAppsCpuWakeupStateReqParams,
9062 WDI_ConfigureAppsCpuWakeupStateCb wdiConfigureAppsCpuWakeupStateCb,
9063 void* pUserData
9064);
9065/**
9066 @brief WDI_FlushAcReq will be called when the upper MAC wants
9067 to to perform a flush operation on a given AC. Upon the
9068 call of this API the WLAN DAL will pack and send a HAL
9069 Flush AC request message to the lower RIVA sub-system if
9070 DAL is in state STARTED.
9071
9072 In state BUSY this request will be queued. Request won't
9073 be allowed in any other state.
9074
9075
9076 @param pwdiFlushAcReqParams: the Flush AC parameters as
9077 specified by the Device Interface
9078
9079 wdiFlushAcRspCb: callback for passing back the response
9080 of the Flush AC operation received from the device
9081
9082 pUserData: user data will be passed back with the
9083 callback
9084
9085 @return Result of the function call
9086*/
9087WDI_Status
9088WDI_FlushAcReq
9089(
9090 WDI_FlushAcReqParamsType* pwdiFlushAcReqParams,
9091 WDI_FlushAcRspCb wdiFlushAcRspCb,
9092 void* pUserData
9093);
9094
9095/**
9096 @brief WDI_BtAmpEventReq will be called when the upper MAC
9097 wants to notify the lower mac on a BT AMP event. This is
9098 to inform BTC-SLM that some BT AMP event occurred. Upon
9099 the call of this API the WLAN DAL will pack and send a
9100 HAL BT AMP event request message to the lower RIVA
9101 sub-system if DAL is in state STARTED.
9102
9103 In state BUSY this request will be queued. Request won't
9104 be allowed in any other state.
9105
9106
9107 @param wdiBtAmpEventReqParams: the BT AMP event parameters as
9108 specified by the Device Interface
9109
9110 wdiBtAmpEventRspCb: callback for passing back the
9111 response of the BT AMP event operation received from the
9112 device
9113
9114 pUserData: user data will be passed back with the
9115 callback
9116
9117 @return Result of the function call
9118*/
9119WDI_Status
9120WDI_BtAmpEventReq
9121(
9122 WDI_BtAmpEventParamsType* pwdiBtAmpEventReqParams,
9123 WDI_BtAmpEventRspCb wdiBtAmpEventRspCb,
9124 void* pUserData
9125);
9126
Jeff Johnsone7245742012-09-05 17:12:55 -07009127#ifdef FEATURE_OEM_DATA_SUPPORT
9128/**
9129 @brief WDI_Start oem data Req will be called when the upper MAC
9130 wants to notify the lower mac on a oem data Req event.Upon
9131 the call of this API the WLAN DAL will pack and send a
9132 HAL OEM Data Req event request message to the lower RIVA
9133 sub-system if DAL is in state STARTED.
9134
9135 In state BUSY this request will be queued. Request won't
9136 be allowed in any other state.
9137
9138
9139 @param pWdiOemDataReqParams: the oem data req parameters as
9140 specified by the Device Interface
9141
9142 wdiStartOemDataRspCb: callback for passing back the
9143 response of the Oem Data Req received from the
9144 device
9145
9146 pUserData: user data will be passed back with the
9147 callback
9148
9149 @return Result of the function call
9150*/
9151WDI_Status
9152WDI_StartOemDataReq
9153(
9154 WDI_oemDataReqParamsType* pWdiOemDataReqParams,
9155 WDI_oemDataRspCb wdiOemDataRspCb,
9156 void* pUserData
9157);
9158#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07009159
9160/*========================================================================
9161
9162 CONTROL APIs
9163
9164==========================================================================*/
9165/**
9166 @brief WDI_SwitchChReq will be called when the upper MAC wants
9167 the WLAN HW to change the current channel of operation.
9168 Upon the call of this API the WLAN DAL will pack and
9169 send a HAL Start request message to the lower RIVA
9170 sub-system if DAL is in state STARTED.
9171
9172 In state BUSY this request will be queued. Request won't
9173 be allowed in any other state.
9174
9175 WDI_Start must have been called.
9176
9177 @param wdiSwitchChReqParams: the switch ch parameters as
9178 specified by the Device Interface
9179
9180 wdiSwitchChRspCb: callback for passing back the response
9181 of the switch ch operation received from the device
9182
9183 pUserData: user data will be passed back with the
9184 callback
9185
9186 @see WDI_Start
9187 @return Result of the function call
9188*/
9189WDI_Status
9190WDI_SwitchChReq
9191(
9192 WDI_SwitchChReqParamsType* pwdiSwitchChReqParams,
9193 WDI_SwitchChRspCb wdiSwitchChRspCb,
9194 void* pUserData
9195);
9196
9197
9198
9199/**
9200 @brief WDI_ConfigSTAReq will be called when the upper MAC
9201 wishes to add or update a STA in HW. Upon the call of
9202 this API the WLAN DAL will pack and send a HAL Start
9203 message request message to the lower RIVA sub-system if
9204 DAL is in state STARTED.
9205
9206 In state BUSY this request will be queued. Request won't
9207 be allowed in any other state.
9208
9209 WDI_Start must have been called.
9210
9211 @param wdiConfigSTAReqParams: the config STA parameters as
9212 specified by the Device Interface
9213
9214 wdiConfigSTARspCb: callback for passing back the
9215 response of the config STA operation received from the
9216 device
9217
9218 pUserData: user data will be passed back with the
9219 callback
9220
9221 @see WDI_Start
9222 @return Result of the function call
9223*/
9224WDI_Status
9225WDI_ConfigSTAReq
9226(
9227 WDI_ConfigSTAReqParamsType* pwdiConfigSTAReqParams,
9228 WDI_ConfigSTARspCb wdiConfigSTARspCb,
9229 void* pUserData
9230);
9231
9232/**
9233 @brief WDI_SetLinkStateReq will be called when the upper MAC
9234 wants to change the state of an ongoing link. Upon the
9235 call of this API the WLAN DAL will pack and send a HAL
9236 Start message request message to the lower RIVA
9237 sub-system if DAL is in state STARTED.
9238
9239 In state BUSY this request will be queued. Request won't
9240 be allowed in any other state.
9241
9242 WDI_JoinReq must have been called.
9243
9244 @param wdiSetLinkStateReqParams: the set link state parameters
9245 as specified by the Device Interface
9246
9247 wdiSetLinkStateRspCb: callback for passing back the
9248 response of the set link state operation received from
9249 the device
9250
9251 pUserData: user data will be passed back with the
9252 callback
9253
9254 @see WDI_JoinStartReq
9255 @return Result of the function call
9256*/
9257WDI_Status
9258WDI_SetLinkStateReq
9259(
9260 WDI_SetLinkReqParamsType* pwdiSetLinkStateReqParams,
9261 WDI_SetLinkStateRspCb wdiSetLinkStateRspCb,
9262 void* pUserData
9263);
9264
9265
9266/**
9267 @brief WDI_GetStatsReq will be called when the upper MAC wants
9268 to get statistics (MIB counters) from the device. Upon
9269 the call of this API the WLAN DAL will pack and send a
9270 HAL Start request message to the lower RIVA sub-system
9271 if DAL is in state STARTED.
9272
9273 In state BUSY this request will be queued. Request won't
9274 be allowed in any other state.
9275
9276 WDI_Start must have been called.
9277
9278 @param wdiGetStatsReqParams: the stats parameters to get as
9279 specified by the Device Interface
9280
9281 wdiGetStatsRspCb: callback for passing back the response
9282 of the get stats operation received from the device
9283
9284 pUserData: user data will be passed back with the
9285 callback
9286
9287 @see WDI_Start
9288 @return Result of the function call
9289*/
9290WDI_Status
9291WDI_GetStatsReq
9292(
9293 WDI_GetStatsReqParamsType* pwdiGetStatsReqParams,
9294 WDI_GetStatsRspCb wdiGetStatsRspCb,
9295 void* pUserData
9296);
9297
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08009298#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_CCX || defined(FEATURE_WLAN_LFR)
9299/**
9300 @brief WDI_GetRoamRssiReq will be called when the upper MAC wants
9301 to get roam rssi from the device. Upon
9302 the call of this API the WLAN DAL will pack and send a
9303 HAL Start request message to the lower RIVA sub-system
9304 if DAL is in state STARTED.
9305
9306 In state BUSY this request will be queued. Request won't
9307 be allowed in any other state.
9308
9309 WDI_Start must have been called.
9310
9311 @param wdiGetRoamRssiReqParams: the stats parameters to get as
9312 specified by the Device Interface
9313
9314 wdiGetRoamRssispCb: callback for passing back the response
9315 of the get stats operation received from the device
9316
9317 pUserData: user data will be passed back with the
9318 callback
9319
9320 @see WDI_Start
9321 @return Result of the function call
9322*/
9323WDI_Status
9324WDI_GetRoamRssiReq
9325(
9326 WDI_GetRoamRssiReqParamsType* pwdiGetRoamRssiReqParams,
9327 WDI_GetRoamRssiRspCb wdiGetRoamRssiRspCb,
9328 void* pUserData
9329);
9330#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07009331
9332/**
9333 @brief WDI_UpdateCfgReq will be called when the upper MAC when
9334 it wishes to change the configuration of the WLAN
9335 Device. Upon the call of this API the WLAN DAL will pack
9336 and send a HAL Update CFG request message to the lower
9337 RIVA sub-system if DAL is in state STARTED.
9338
9339 In state BUSY this request will be queued. Request won't
9340 be allowed in any other state.
9341
9342 WDI_Start must have been called.
9343
9344 @param wdiUpdateCfgReqParams: the update cfg parameters as
9345 specified by the Device Interface
9346
9347 wdiUpdateCfgsRspCb: callback for passing back the
9348 response of the update cfg operation received from the
9349 device
9350
9351 pUserData: user data will be passed back with the
9352 callback
9353
9354 @see WDI_Start
9355 @return Result of the function call
9356*/
9357WDI_Status
9358WDI_UpdateCfgReq
9359(
9360 WDI_UpdateCfgReqParamsType* pwdiUpdateCfgReqParams,
9361 WDI_UpdateCfgRspCb wdiUpdateCfgsRspCb,
9362 void* pUserData
9363);
9364
9365/**
9366 @brief WDI_NvDownloadReq will be called by the UMAC to dowload the NV blob
9367 to the NV memory.
9368
9369 @param wdiNvDownloadReqParams: the NV Download parameters as specified by
9370 the Device Interface
9371
9372 wdiNvDownloadRspCb: callback for passing back the response of
9373 the NV Download operation received from the device
9374
9375 pUserData: user data will be passed back with the
9376 callback
9377
9378 @see WDI_PostAssocReq
9379 @return Result of the function call
9380*/
9381WDI_Status
9382WDI_NvDownloadReq
9383(
9384 WDI_NvDownloadReqParamsType* pwdiNvDownloadReqParams,
9385 WDI_NvDownloadRspCb wdiNvDownloadRspCb,
9386 void* pUserData
9387);
9388/**
9389 @brief WDI_AddBAReq will be called when the upper MAC has setup
9390 successfully a BA session and needs to notify the HW for
9391 the appropriate settings to take place. Upon the call of
9392 this API the WLAN DAL will pack and send a HAL Add BA
9393 request message to the lower RIVA sub-system if DAL is
9394 in state STARTED.
9395
9396 In state BUSY this request will be queued. Request won't
9397 be allowed in any other state.
9398
9399 WDI_PostAssocReq must have been called.
9400
9401 @param wdiAddBAReqParams: the add BA parameters as specified by
9402 the Device Interface
9403
9404 wdiAddBARspCb: callback for passing back the response of
9405 the add BA operation received from the device
9406
9407 pUserData: user data will be passed back with the
9408 callback
9409
9410 @see WDI_PostAssocReq
9411 @return Result of the function call
9412*/
9413WDI_Status
9414WDI_AddBAReq
9415(
9416 WDI_AddBAReqParamsType* pwdiAddBAReqParams,
9417 WDI_AddBARspCb wdiAddBARspCb,
9418 void* pUserData
9419);
9420
9421/**
9422 @brief WDI_TriggerBAReq will be called when the upper MAC has setup
9423 successfully a BA session and needs to notify the HW for
9424 the appropriate settings to take place. Upon the call of
9425 this API the WLAN DAL will pack and send a HAL Add BA
9426 request message to the lower RIVA sub-system if DAL is
9427 in state STARTED.
9428
9429 In state BUSY this request will be queued. Request won't
9430 be allowed in any other state.
9431
9432 WDI_PostAssocReq must have been called.
9433
9434 @param wdiAddBAReqParams: the add BA parameters as specified by
9435 the Device Interface
9436
9437 wdiAddBARspCb: callback for passing back the response of
9438 the add BA operation received from the device
9439
9440 pUserData: user data will be passed back with the
9441 callback
9442
9443 @see WDI_PostAssocReq
9444 @return Result of the function call
9445*/
9446WDI_Status
9447WDI_TriggerBAReq
9448(
9449 WDI_TriggerBAReqParamsType* pwdiTriggerBAReqParams,
9450 WDI_TriggerBARspCb wdiTriggerBARspCb,
9451 void* pUserData
9452);
9453
9454
9455/**
9456 @brief WDI_IsHwFrameTxTranslationCapable checks to see if HW
9457 frame xtl is enabled for a particular STA.
9458
9459 WDI_PostAssocReq must have been called.
9460
9461 @param uSTAIdx: STA index
9462
9463 @see WDI_PostAssocReq
9464 @return Result of the function call
9465*/
9466wpt_boolean WDI_IsHwFrameTxTranslationCapable
9467(
9468 wpt_uint8 uSTAIdx
9469);
9470
9471#ifdef WLAN_FEATURE_VOWIFI_11R
9472/**
9473 @brief WDI_AggrAddTSReq will be called when the upper MAC to inform
9474 the device of a successful add TSpec negotiation for 11r. HW
9475 needs to receive the TSpec Info from the UMAC in order
9476 to configure properly the QoS data traffic. Upon the
9477 call of this API the WLAN DAL will pack and send a HAL
9478 Aggregated Add TS request message to the lower RIVA sub-system if
9479 DAL is in state STARTED.
9480
9481 In state BUSY this request will be queued. Request won't
9482 be allowed in any other state.
9483
9484 WDI_PostAssocReq must have been called.
9485
9486 @param wdiAggrAddTsReqParams: the add TS parameters as specified by
9487 the Device Interface
9488
9489 wdiAggrAddTsRspCb: callback for passing back the response of
9490 the add TS operation received from the device
9491
9492 pUserData: user data will be passed back with the
9493 callback
9494
9495 @see WDI_PostAssocReq
9496 @return Result of the function call
9497*/
9498WDI_Status
9499WDI_AggrAddTSReq
9500(
9501 WDI_AggrAddTSReqParamsType* pwdiAddTsReqParams,
9502 WDI_AggrAddTsRspCb wdiAggrAddTsRspCb,
9503 void* pUserData
9504);
9505#endif /* WLAN_FEATURE_VOWIFI_11R */
9506/**
9507 @brief WDI_STATableInit - Initializes the STA tables.
9508 Allocates the necesary memory.
9509
9510
9511 @param pWDICtx: pointer to the WLAN DAL context
9512
9513 @see
9514 @return Result of the function call
9515*/
9516
9517WDI_Status WDI_StubRunTest
9518(
9519 wpt_uint8 ucTestNo
9520);
9521
Jeff Johnson295189b2012-06-20 16:38:30 -07009522/**
9523 @brief WDI_FTMCommandReq -
9524 Route FTMRequest Command to HAL
9525
9526 @param ftmCommandReq: FTM request command body
9527 @param ftmCommandRspCb: Response CB
9528 @param pUserData: User data will be included with CB
9529
9530 @return Result of the function call
9531*/
9532WDI_Status WDI_FTMCommandReq
9533(
9534 WDI_FTMCommandReqType *ftmCommandReq,
9535 WDI_FTMCommandRspCb ftmCommandRspCb,
9536 void *pUserData
9537);
Jeff Johnson295189b2012-06-20 16:38:30 -07009538
9539/**
9540 @brief WDI_HostResumeReq will be called
9541
9542 In state BUSY this request will be queued. Request won't
9543 be allowed in any other state.
9544
9545
9546 @param pwdiResumeReqParams: as specified by
9547 the Device Interface
9548
9549 wdiResumeReqRspCb: callback for passing back the response of
9550 the Resume Req received from the device
9551
9552 pUserData: user data will be passed back with the
9553 callback
9554
9555 @see WDI_PostAssocReq
9556 @return Result of the function call
9557*/
9558WDI_Status
9559WDI_HostResumeReq
9560(
9561 WDI_ResumeParamsType* pwdiResumeReqParams,
9562 WDI_HostResumeEventRspCb wdiResumeReqRspCb,
9563 void* pUserData
9564);
9565
9566/**
9567 @brief WDI_GetAvailableResCount - Function to get the available resource
9568 for data and managemnt frames.
9569
9570 @param pContext: pointer to the WDI context
9571 @param wdiResPool: type of resource pool requesting
9572 @see
9573 @return Result of the function call
9574*/
9575
9576wpt_uint32 WDI_GetAvailableResCount
9577(
9578 void *pContext,
9579 WDI_ResPoolType wdiResPool
9580);
9581
9582/**
9583 @brief WDI_SetAddSTASelfReq will be called when the
9584 UMAC wanted to add self STA while opening any new session
9585 In state BUSY this request will be queued. Request won't
9586 be allowed in any other state.
9587
9588
9589 @param pwdiAddSTASelfParams: the add self sta parameters as
9590 specified by the Device Interface
9591
9592 pUserData: user data will be passed back with the
9593 callback
9594
9595 @see
9596 @return Result of the function call
9597*/
9598WDI_Status
9599WDI_AddSTASelfReq
9600(
9601 WDI_AddSTASelfReqParamsType* pwdiAddSTASelfReqParams,
9602 WDI_AddSTASelfParamsRspCb wdiAddSTASelfReqParamsRspCb,
9603 void* pUserData
9604);
9605
9606
9607/**
9608 @brief WDI_DelSTASelfReq will be called .
9609
9610 @param WDI_DelSTASelfReqParamsType
9611
9612 WDI_DelSTASelfRspCb: callback for passing back the
9613 response of the del sta self operation received from the
9614 device
9615
9616 pUserData: user data will be passed back with the
9617 callback
9618
9619 @see WDI_PostAssocReq
9620 @return Result of the function call
9621*/
9622WDI_Status
9623WDI_DelSTASelfReq
9624(
9625 WDI_DelSTASelfReqParamsType* pwdiDelStaSelfParams,
9626 WDI_DelSTASelfRspCb wdiDelStaSelfRspCb,
9627 void* pUserData
9628);
9629
9630/**
9631 @brief WDI_HostSuspendInd
9632
9633 Suspend Indication from the upper layer will be sent
9634 down to HAL
9635
9636 @param WDI_SuspendParamsType
9637
9638 @see
9639
9640 @return Status of the request
9641*/
9642WDI_Status
9643WDI_HostSuspendInd
9644(
9645 WDI_SuspendParamsType* pwdiSuspendIndParams
9646);
9647
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08009648/**
9649 @brief WDI_TrafficStatsInd
9650
9651 Traffic Stats from the upper layer will be sent
9652 down to HAL
9653
9654 @param WDI_TrafficStatsIndType
9655
9656 @see
9657
9658 @return Status of the request
9659*/
9660WDI_Status
9661WDI_TrafficStatsInd
9662(
9663 WDI_TrafficStatsIndType *pWdiTrafficStatsIndParams
9664);
9665
Chet Lanctot186b5732013-03-18 10:26:30 -07009666#ifdef WLAN_FEATURE_11W
9667/**
9668 @brief WDI_ExcludeUnencryptedInd
9669 Register with HAL to receive/drop unencrypted frames
9670
9671 @param WDI_ExcludeUnencryptIndType
9672
9673 @see
9674
9675 @return Status of the request
9676*/
9677WDI_Status
9678WDI_ExcludeUnencryptedInd
9679(
9680 WDI_ExcludeUnencryptIndType *pWdiExcUnencParams
9681);
9682#endif
9683
Yue Mab9c86f42013-08-14 15:59:08 -07009684/**
9685 @brief WDI_AddPeriodicTxPtrnInd
9686
9687 @param WDI_AddPeriodicTxPtrnParamsType
9688
9689 @see
9690
9691 @return Status of the request
9692*/
9693WDI_Status
9694WDI_AddPeriodicTxPtrnInd
9695(
9696 WDI_AddPeriodicTxPtrnParamsType *addPeriodicTxPtrnParams
9697);
9698
9699/**
9700 @brief WDI_DelPeriodicTxPtrnInd
9701
9702 @param WDI_DelPeriodicTxPtrnParamsType
9703
9704 @see
9705
9706 @return Status of the request
9707*/
9708WDI_Status
9709WDI_DelPeriodicTxPtrnInd
9710(
9711 WDI_DelPeriodicTxPtrnParamsType *delPeriodicTxPtrnParams
9712);
9713
Jeff Johnson295189b2012-06-20 16:38:30 -07009714#ifdef FEATURE_WLAN_SCAN_PNO
9715/**
9716 @brief WDI_SetPreferredNetworkList
9717
9718 @param pwdiPNOScanReqParams: the Set PNO as specified
9719 by the Device Interface
9720
9721 wdiPNOScanCb: callback for passing back the response
9722 of the Set PNO operation received from the
9723 device
9724
9725 pUserData: user data will be passed back with the
9726 callback
9727
9728 @see WDI_PostAssocReq
9729 @return Result of the function call
9730*/
9731WDI_Status
9732WDI_SetPreferredNetworkReq
9733(
9734 WDI_PNOScanReqParamsType* pwdiPNOScanReqParams,
9735 WDI_PNOScanCb wdiPNOScanCb,
9736 void* pUserData
9737);
9738
9739/**
9740 @brief WDI_SetRssiFilterReq
9741
9742 @param pwdiRssiFilterReqParams: the Set RSSI Filter as
9743 specified by the Device Interface
9744
9745 wdiRssiFilterCb: callback for passing back the response
9746 of the Set RSSI Filter operation received from the
9747 device
9748
9749 pUserData: user data will be passed back with the
9750 callback
9751
9752 @see WDI_PostAssocReq
9753 @return Result of the function call
9754*/
9755WDI_Status
9756WDI_SetRssiFilterReq
9757(
9758 WDI_SetRssiFilterReqParamsType* pwdiRssiFilterReqParams,
9759 WDI_RssiFilterCb wdiRssiFilterCb,
9760 void* pUserData
9761);
9762
9763/**
9764 @brief WDI_UpdateScanParams
9765
9766 @param pwdiUpdateScanParamsInfoType: the Update Scan Params as specified
9767 by the Device Interface
9768
9769 wdiUpdateScanParamsCb: callback for passing back the response
9770 of the Set PNO operation received from the
9771 device
9772
9773 pUserData: user data will be passed back with the
9774 callback
9775
9776 @see WDI_PostAssocReq
9777 @return Result of the function call
9778*/
9779WDI_Status
9780WDI_UpdateScanParamsReq
9781(
9782 WDI_UpdateScanParamsInfoType* pwdiUpdateScanParamsInfoType,
9783 WDI_UpdateScanParamsCb wdiUpdateScanParamsCb,
9784 void* pUserData
9785);
9786#endif // FEATURE_WLAN_SCAN_PNO
9787
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07009788#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
9789/**
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07009790 @brief WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07009791
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07009792 @param pwdiRoamScanOffloadReqParams: Start Roam Candidate Lookup Req as specified
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07009793 by the Device Interface
9794
9795 wdiRoamOffloadScanCb: callback for passing back the response
9796 of the Start Roam Candidate Lookup operation received from the
9797 device
9798
9799 pUserData: user data will be passed back with the
9800 callback
9801
9802 @return Result of the function call
9803*/
9804WDI_Status
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07009805WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07009806(
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07009807 WDI_RoamScanOffloadReqParamsType *pwdiRoamScanOffloadReqParams,
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07009808 WDI_RoamOffloadScanCb wdiRoamOffloadScancb,
9809 void* pUserData
9810);
9811#endif
9812
Jeff Johnson295189b2012-06-20 16:38:30 -07009813/**
9814 @brief WDI_SetTxPerTrackingReq will be called when the upper MAC
9815 wants to set the Tx Per Tracking configurations.
9816 Upon the call of this API the WLAN DAL will pack
9817 and send a HAL Set Tx Per Tracking request message to the
9818 lower RIVA sub-system if DAL is in state STARTED.
9819
9820 In state BUSY this request will be queued. Request won't
9821 be allowed in any other state.
9822
9823 @param wdiSetTxPerTrackingConf: the Set Tx PER Tracking configurations as
9824 specified by the Device Interface
9825
9826 wdiSetTxPerTrackingCb: callback for passing back the
9827 response of the set Tx PER Tracking configurations operation received
9828 from the device
9829
9830 pUserData: user data will be passed back with the
9831 callback
9832
9833 @return Result of the function call
9834*/
9835WDI_Status
9836WDI_SetTxPerTrackingReq
9837(
9838 WDI_SetTxPerTrackingReqParamsType* pwdiSetTxPerTrackingReqParams,
9839 WDI_SetTxPerTrackingRspCb pwdiSetTxPerTrackingRspCb,
9840 void* pUserData
9841);
9842
9843/**
9844 @brief WDI_SetTmLevelReq
9845 If HW Thermal condition changed, driver should react based on new
9846 HW thermal condition.
9847
9848 @param pwdiSetTmLevelReq: New thermal condition information
9849
9850 pwdiSetTmLevelRspCb: callback
9851
9852 usrData: user data will be passed back with the
9853 callback
9854
9855 @return Result of the function call
9856*/
9857WDI_Status
9858WDI_SetTmLevelReq
9859(
9860 WDI_SetTmLevelReqType *pwdiSetTmLevelReq,
9861 WDI_SetTmLevelCb pwdiSetTmLevelRspCb,
9862 void *usrData
9863);
9864
9865#ifdef WLAN_FEATURE_PACKET_FILTERING
9866/**
9867 @brief WDI_8023MulticastListReq
9868
9869 @param pwdiRcvFltPktSetMcListReqInfo: the Set 8023 Multicast
9870 List as specified by the Device Interface
9871
9872 wdi8023MulticastListCallback: callback for passing back
9873 the response of the Set 8023 Multicast List operation
9874 received from the device
9875
9876 pUserData: user data will be passed back with the
9877 callback
9878
9879 @see WDI_PostAssocReq
9880 @return Result of the function call
9881*/
9882WDI_Status
9883WDI_8023MulticastListReq
9884(
9885 WDI_RcvFltPktSetMcListReqParamsType* pwdiRcvFltPktSetMcListReqInfo,
9886 WDI_8023MulticastListCb wdi8023MulticastListCallback,
9887 void* pUserData
9888);
9889
9890/**
9891 @brief WDI_ReceiveFilterSetFilterReq
9892
9893 @param pwdiSetRcvPktFilterReqInfo: the Set Receive Filter as
9894 specified by the Device Interface
9895
9896 wdiReceiveFilterSetFilterReqCallback: callback for
9897 passing back the response of the Set Receive Filter
9898 operation received from the device
9899
9900 pUserData: user data will be passed back with the
9901 callback
9902
9903 @see WDI_PostAssocReq
9904 @return Result of the function call
9905*/
9906WDI_Status
9907WDI_ReceiveFilterSetFilterReq
9908(
9909 WDI_SetRcvPktFilterReqParamsType* pwdiSetRcvPktFilterReqInfo,
9910 WDI_ReceiveFilterSetFilterCb wdiReceiveFilterSetFilterReqCallback,
9911 void* pUserData
9912);
9913
9914/**
9915 @brief WDI_PCFilterMatchCountReq
9916
9917 @param pwdiRcvFltPktMatchCntReqInfo: get D0 PC Filter Match
9918 Count
9919
9920 wdiPCFilterMatchCountCallback: callback for passing back
9921 the response of the D0 PC Filter Match Count operation
9922 received from the device
9923
9924 pUserData: user data will be passed back with the
9925 callback
9926
9927 @see WDI_PostAssocReq
9928 @return Result of the function call
9929*/
9930WDI_Status
9931WDI_FilterMatchCountReq
9932(
9933 WDI_RcvFltPktMatchCntReqParamsType* pwdiRcvFltPktMatchCntReqInfo,
9934 WDI_FilterMatchCountCb wdiFilterMatchCountCallback,
9935 void* pUserData
9936);
9937
9938/**
9939 @brief WDI_ReceiveFilterClearFilterReq
9940
9941 @param pwdiRcvFltPktClearReqInfo: the Clear Filter as
9942 specified by the Device Interface
9943
9944 wdiReceiveFilterClearFilterCallback: callback for
9945 passing back the response of the Clear Filter
9946 operation received from the device
9947
9948 pUserData: user data will be passed back with the
9949 callback
9950
9951 @see WDI_PostAssocReq
9952 @return Result of the function call
9953*/
9954WDI_Status
9955WDI_ReceiveFilterClearFilterReq
9956(
9957 WDI_RcvFltPktClearReqParamsType* pwdiRcvFltPktClearReqInfo,
9958 WDI_ReceiveFilterClearFilterCb wdiReceiveFilterClearFilterCallback,
9959 void* pUserData
9960);
9961#endif // WLAN_FEATURE_PACKET_FILTERING
9962
9963/**
9964 @brief WDI_HALDumpCmdReq
9965 Post HAL DUMP Command Event
9966
9967 @param halDumpCmdReqParams: Hal Dump Command Body
9968 @param halDumpCmdRspCb: callback for passing back the
9969 response
9970 @param pUserData: Client Data
9971
9972 @see
9973 @return Result of the function call
9974*/
9975WDI_Status WDI_HALDumpCmdReq(
9976 WDI_HALDumpCmdReqParamsType *halDumpCmdReqParams,
9977 WDI_HALDumpCmdRspCb halDumpCmdRspCb,
9978 void *pUserData
9979);
9980
9981
9982/**
9983 @brief WDI_SetPowerParamsReq
9984
9985 @param pwdiPowerParamsReqParams: the Set Power Params as
9986 specified by the Device Interface
9987
9988 wdiPowerParamsCb: callback for passing back the response
9989 of the Set Power Params operation received from the
9990 device
9991
9992 pUserData: user data will be passed back with the
9993 callback
9994
9995 @return Result of the function call
9996*/
9997WDI_Status
9998WDI_SetPowerParamsReq
9999(
10000 WDI_SetPowerParamsReqParamsType* pwdiPowerParamsReqParams,
10001 WDI_SetPowerParamsCb wdiPowerParamsCb,
10002 void* pUserData
10003);
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +053010004/**
10005 @brief WDI_dhcpStartInd
10006 Forward the DHCP Start event
10007
10008 @param
10009
10010 wdiDHCPInd: device mode and MAC address is passed
10011
10012 @see
10013 @return Result of the function call
10014*/
10015
10016WDI_Status
10017WDI_dhcpStartInd
10018(
10019 WDI_DHCPInd *wdiDHCPInd
10020);
10021/**
10022 @brief WDI_dhcpStopReq
10023 Forward the DHCP Stop event
10024
10025 @param
10026
10027 wdiDHCPInd: device mode and MAC address is passed
10028
10029 @see
10030 @return Result of the function call
10031*/
10032
10033WDI_Status
10034WDI_dhcpStopInd
10035(
10036 WDI_DHCPInd *wdiDHCPInd
10037);
Jeff Johnson295189b2012-06-20 16:38:30 -070010038
Chittajit Mitraf5413a42013-10-18 14:20:08 -070010039/**
10040 @brief WDI_RateUpdateInd will be called when the upper MAC
10041 requests the device to update rates.
10042
10043 In state BUSY this request will be queued. Request won't
10044 be allowed in any other state.
10045
10046
10047 @param wdiRateUpdateIndParams
10048
10049
10050 @see WDI_Start
10051 @return Result of the function call
10052*/
10053WDI_Status
10054WDI_RateUpdateInd
10055(
10056 WDI_RateUpdateIndParams *wdiRateUpdateIndParams
10057);
10058
Jeff Johnson295189b2012-06-20 16:38:30 -070010059#ifdef WLAN_FEATURE_GTK_OFFLOAD
10060/**
10061 @brief WDI_GTKOffloadReq will be called when the upper MAC
10062 wants to set GTK Rekey Counter while in power save. Upon
10063 the call of this API the WLAN DAL will pack and send a
10064 HAL GTK offload request message to the lower RIVA
10065 sub-system if DAL is in state STARTED.
10066
10067 In state BUSY this request will be queued. Request won't
10068 be allowed in any other state.
10069
10070 WDI_PostAssocReq must have been called.
10071
10072 @param pwdiGtkOffloadParams: the GTK offload as specified
10073 by the Device Interface
10074
10075 wdiGtkOffloadCb: callback for passing back the response
10076 of the GTK offload operation received from the device
10077
10078 pUserData: user data will be passed back with the
10079 callback
10080
10081 @see WDI_PostAssocReq
10082 @return Result of the function call
10083*/
10084WDI_Status
10085WDI_GTKOffloadReq
10086(
10087 WDI_GtkOffloadReqMsg* pwdiGtkOffloadReqMsg,
10088 WDI_GtkOffloadCb wdiGtkOffloadCb,
10089 void* pUserData
10090);
10091
10092/**
10093 @brief WDI_GTKOffloadGetInfoReq will be called when the upper
10094 MAC wants to get GTK Rekey Counter while in power save.
10095 Upon the call of this API the WLAN DAL will pack and
10096 send a HAL GTK offload request message to the lower RIVA
10097 sub-system if DAL is in state STARTED.
10098
10099 In state BUSY this request will be queued. Request won't
10100 be allowed in any other state.
10101
10102 WDI_PostAssocReq must have been called.
10103
10104 @param pwdiGtkOffloadGetInfoReqMsg: the GTK Offload
10105 Information Message as specified by the
10106 Device Interface
10107
10108 wdiGtkOffloadGetInfoCb: callback for passing back the
10109 response of the GTK offload operation received from the
10110 device
10111
10112 pUserData: user data will be passed back with the
10113 callback
10114
10115 @see WDI_PostAssocReq
10116 @return Result of the function call
10117*/
10118WDI_Status
10119WDI_GTKOffloadGetInfoReq
10120(
10121 WDI_GtkOffloadGetInfoReqMsg* pwdiGtkOffloadGetInfoReqMsg,
10122 WDI_GtkOffloadGetInfoCb wdiGtkOffloadGetInfoCb,
10123 void* pUserData
10124);
10125#endif // WLAN_FEATURE_GTK_OFFLOAD
10126
10127/**
10128 @brief WDI_featureCapsExchangeReq
10129 Post feature capability bitmap exchange event.
10130 Host will send its own capability to FW in this req and
10131 expect FW to send its capability back as a bitmap in Response
10132
10133 @param
10134
10135 wdiFeatCapsExcRspCb: callback called on getting the response.
10136 It is kept to mantain similarity between WDI reqs and if needed, can
10137 be used in future. Currently, It is set to NULL
10138
10139 pUserData: user data will be passed back with the
10140 callback
10141
10142 @see
10143 @return Result of the function call
10144*/
10145WDI_Status
10146WDI_featureCapsExchangeReq
10147(
10148 WDI_featureCapsExchangeCb wdiFeatureCapsExchangeCb,
10149 void* pUserData
10150);
10151
10152/**
Yathish9f22e662012-12-10 14:21:35 -080010153 @brief Disable Active mode offload in Host
10154
10155 @param void
10156 @see
10157 @return void
10158*/
10159void
10160WDI_disableCapablityFeature(wpt_uint8 feature_index);
10161
10162
10163/**
Jeff Johnson295189b2012-06-20 16:38:30 -070010164 @brief WDI_getHostWlanFeatCaps
10165 WDI API that returns whether the feature passed to it as enum value in
10166 "placeHolderInCapBitmap" is supported by Host or not. It uses WDI global
10167 variable storing host capability bitmap to find this. This can be used by
10168 other moduels to decide certain things like call different APIs based on
10169 whether a particular feature is supported.
10170
10171 @param
10172
10173 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap in wlan_hal_msg.h.
10174
10175 @see
10176 @return
10177 0 - if the feature is NOT supported in host
10178 any non-zero value - if the feature is SUPPORTED in host.
10179*/
10180wpt_uint8 WDI_getHostWlanFeatCaps(wpt_uint8 feat_enum_value);
10181
10182/**
10183 @brief WDI_getFwWlanFeatCaps
10184 WDI API that returns whether the feature passed to it as enum value in
10185 "placeHolderInCapBitmap" is supported by FW or not. It uses WDI global
10186 variable storing host capability bitmap to find this. This can be used by
10187 other moduels to decide certain things like call different APIs based on
10188 whether a particular feature is supported.
10189
10190 @param
10191
Jeff Johnsone7245742012-09-05 17:12:55 -070010192 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap
10193 in wlan_hal_msg.h.
Jeff Johnson295189b2012-06-20 16:38:30 -070010194
10195 @see
10196 @return
10197 0 - if the feature is NOT supported in FW
10198 any non-zero value - if the feature is SUPPORTED in FW.
10199*/
10200wpt_uint8 WDI_getFwWlanFeatCaps(wpt_uint8 feat_enum_value);
10201
10202/**
10203 @brief WDI_GetWcnssCompiledApiVersion - Function to get wcnss compiled
10204 api version
10205
10206 @param WDI_WlanVersionType: Wlan version structure
10207 @see
10208 @return none
10209*/
10210
10211void WDI_GetWcnssCompiledApiVersion
10212(
10213 WDI_WlanVersionType *pWcnssApiVersion
10214);
10215
Mohit Khanna4a70d262012-09-11 16:30:12 -070010216#ifdef WLAN_FEATURE_11AC
10217WDI_Status
10218WDI_UpdateVHTOpModeReq
10219(
10220 WDI_UpdateVHTOpMode *pData,
10221 WDI_UpdateVHTOpModeCb wdiUpdateVHTOpModeCb,
10222 void* pUserData
10223);
Jeff Johnson295189b2012-06-20 16:38:30 -070010224
Mohit Khanna4a70d262012-09-11 16:30:12 -070010225#endif
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070010226
10227/**
10228 @brief WDI_TransportChannelDebug -
10229 Display DXE Channel debugging information
10230 User may request to display DXE channel snapshot
10231 Or if host driver detects any abnormal stcuk may display
10232
Jeff Johnsonb88db982012-12-10 13:34:59 -080010233 @param displaySnapshot : Display DXE snapshot option
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070010234 @param enableStallDetect : Enable stall detect feature
10235 This feature will take effect to data performance
10236 Not integrate till fully verification
10237 @see
10238 @return none
10239*/
10240void WDI_TransportChannelDebug
10241(
10242 wpt_boolean displaySnapshot,
Madan Mohan Koyyalamudi24a00f92012-10-22 15:21:02 -070010243 wpt_boolean toggleStallDetect
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070010244);
10245
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -070010246/**
10247 @brief WDI_SsrTimerCB
10248 Callback function for SSR timer, if this is called then the graceful
10249 shutdown for Riva did not happen.
10250
10251 @param pUserData : user data to timer
10252
10253 @see
10254 @return none
10255*/
10256void
10257WDI_SsrTimerCB
10258(
10259 void *pUserData
10260);
10261
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -070010262/**
10263 @brief WDI_SetEnableSSR -
10264 This API is called to enable/disable SSR on WDI timeout.
10265
10266 @param enableSSR : enable/disable SSR
10267
10268 @see
10269 @return none
10270*/
10271void WDI_SetEnableSSR(wpt_boolean enableSSR);
10272
Leo Chang9056f462013-08-01 19:21:11 -070010273#ifdef FEATURE_WLAN_LPHB
10274/**
10275 @brief WDI_LPHBConfReq
10276 This API is called to config FW LPHB rule
10277
10278 @param lphbconfParam : LPHB rule should config to FW
10279 usrData : Client context
10280 lphbCfgCb : Configuration status callback
10281 @see
10282 @return SUCCESS or FAIL
10283*/
10284WDI_Status WDI_LPHBConfReq
10285(
10286 void *lphbconfParam,
10287 void *usrData,
10288 WDI_LphbCfgCb lphbCfgCb
10289);
10290#endif /* FEATURE_WLAN_LPHB */
Rajeev79dbe4c2013-10-05 11:03:42 +053010291
10292#ifdef FEATURE_WLAN_BATCH_SCAN
10293/**
10294 @brief WDI_SetBatchScanReq
10295 This API is called to set batch scan request in FW
10296
10297 @param pBatchScanReqParam : pointer to set batch scan re param
10298 usrData : Client context
10299 setBatchScanRspCb : set batch scan resp callback
10300 @see
10301 @return SUCCESS or FAIL
10302*/
10303WDI_Status WDI_SetBatchScanReq
10304(
10305 void *pBatchScanReqParam,
10306 void *usrData,
10307 WDI_SetBatchScanCb setBatchScanRspCb
10308);
10309
10310/**
10311 @brief WDI_StopBatchScanInd
10312
10313 @param none
10314
10315 @see
10316
10317 @return Status of the request
10318*/
10319WDI_Status
10320WDI_StopBatchScanInd(WDI_StopBatchScanIndType *pWdiReq);
10321
10322/**
10323 @brief WDI_TriggerBatchScanResultInd
10324 This API is called to pull batch scan result from FW
10325
10326 @param pBatchScanReqParam : pointer to trigger batch scan ind param
10327 usrData : Client context
10328 setBatchScanRspCb : get batch scan resp callback
10329 @see
10330 @return SUCCESS or FAIL
10331*/
10332WDI_Status
10333WDI_TriggerBatchScanResultInd(WDI_TriggerBatchScanResultIndType *pWdiReq);
10334
10335
10336#endif /*FEATURE_WLAN_BATCH_SCAN*/
10337
Jeff Johnson295189b2012-06-20 16:38:30 -070010338#ifdef __cplusplus
10339 }
10340#endif
10341
10342
10343#endif /* #ifndef WLAN_QCT_WDI_H */