blob: 6fe448acbc67c2e978a04326767aa8f0c6367c36 [file] [log] [blame]
Jeff Johnson295189b2012-06-20 16:38:30 -07001/*
Varun Reddy Yeturu6c5e25c2014-01-09 21:55:37 -08002 * Copyright (c) 2012-2014, The Linux Foundation. All rights reserved.
Gopichand Nakkala92f07d82013-01-08 21:16:34 -08003 *
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
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08004935
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004936typedef struct
4937{
4938 /*The SSID of the preferred network*/
4939 WDI_MacSSid ssId;
4940 wpt_uint8 currAPbssid[WDI_MAC_ADDR_LEN];
4941
4942 /*The authentication method of the preferred network*/
4943 WDI_AuthType authentication;
4944
4945 /*The encryption method of the preferred network*/
4946 WDI_EdType encryption;
4947 WDI_EdType mcencryption;
4948
4949 /*SSID broadcast type, normal, hidden or unknown*/
4950 //WDI_SSIDBcastType wdiBcastNetworkType;
4951
4952 /*channel count - 0 for all channels*/
4953 wpt_uint8 ChannelCount;
4954
4955 /*the actual channels*/
4956 wpt_uint8 ChannelCache[WDI_ROAM_SCAN_MAX_CHANNELS];
4957
4958} WDI_RoamNetworkType;
4959
4960typedef struct WDIMobilityDomainInfo
4961{
4962 wpt_uint8 mdiePresent;
4963 wpt_uint16 mobilityDomain;
4964} WDI_MobilityDomainInfo;
4965
4966/*---------------------------------------------------------------------------
4967 WDI_RoamOffloadScanInfo
4968---------------------------------------------------------------------------*/
4969typedef struct
4970{
4971 wpt_boolean RoamScanOffloadEnabled;
Sameer Thalappil4ae66ec2013-11-05 14:17:35 -08004972 wpt_boolean MAWCEnabled;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004973 wpt_uint8 LookupThreshold;
Varun Reddy Yeturu6c5e25c2014-01-09 21:55:37 -08004974 wpt_uint8 RxSensitivityThreshold;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004975 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} WDI_RoamOffloadScanInfo;
5001
5002typedef struct
5003{
5004 /* Start Roam Candidate Lookup Offload Back Ground Info Type */
5005 WDI_RoamOffloadScanInfo wdiRoamOffloadScanInfo;
5006 /* Request status callback offered by UMAC - it is called if the current req
5007 has returned PENDING as status; it delivers the status of sending the message
5008 over the BUS */
5009 WDI_ReqStatusCb wdiReqStatusCB;
5010 /* The user data passed in by UMAC, it will be sent back when the above
5011 function pointer will be called */
5012 void* pUserData;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005013} WDI_RoamScanOffloadReqParamsType;
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005014#endif //WLAN_FEATURE_ROAM_SCAN_OFFLOAD
Jeff Johnson295189b2012-06-20 16:38:30 -07005015
5016/*---------------------------------------------------------------------------
5017 WDI_UpdateScanParamsInfo
5018---------------------------------------------------------------------------*/
5019typedef struct
5020{
5021 /* Ignore DTIM */
5022 wpt_uint32 uIgnoreDTIM;
5023
5024 /*DTIM Period*/
5025 wpt_uint32 uDTIMPeriod;
5026
5027 /* Listen Interval */
5028 wpt_uint32 uListenInterval;
5029
5030 /* Broadcast Multicas Filter */
5031 wpt_uint32 uBcastMcastFilter;
5032
5033 /* Beacon Early Termination */
5034 wpt_uint32 uEnableBET;
5035
5036 /* Beacon Early Termination Interval */
5037 wpt_uint32 uBETInterval;
5038
Yue Mac24062f2013-05-13 17:01:29 -07005039 /* MAX LI for modulated DTIM */
5040 wpt_uint32 uMaxLIModulatedDTIM;
5041
Jeff Johnson295189b2012-06-20 16:38:30 -07005042} WDI_SetPowerParamsInfo;
5043
5044/*---------------------------------------------------------------------------
5045 WDI_UpdateScanParamsInfoType
5046 UpdateScanParams info passed to WDI form WDA
5047---------------------------------------------------------------------------*/
5048typedef struct
5049{
5050 /* Power params Info Type, same as tSetPowerParamsReq */
5051 WDI_SetPowerParamsInfo wdiSetPowerParamsInfo;
5052 /* Request status callback offered by UMAC - it is called if the current req
5053 has returned PENDING as status; it delivers the status of sending the message
5054 over the BUS */
5055 WDI_ReqStatusCb wdiReqStatusCB;
5056 /* The user data passed in by UMAC, it will be sent back when the above
5057 function pointer will be called */
5058 void* pUserData;
5059}WDI_SetPowerParamsReqParamsType;
5060
5061/*---------------------------------------------------------------------------
5062 WDI_SetTxPerTrackingConfType
5063 Wowl add ptrn info passed to WDA form UMAC
5064---------------------------------------------------------------------------*/
5065typedef struct
5066{
5067 wpt_uint8 ucTxPerTrackingEnable; /* 0: disable, 1:enable */
5068 wpt_uint8 ucTxPerTrackingPeriod; /* Check period, unit is sec. */
5069 wpt_uint8 ucTxPerTrackingRatio; /* (Fail TX packet)/(Total TX packet) ratio, the unit is 10%. */
5070 wpt_uint32 uTxPerTrackingWatermark; /* A watermark of check number, once the tx packet exceed this number, we do the check, default is 5 */
5071} WDI_TxPerTrackingParamType;
5072
5073/*---------------------------------------------------------------------------
5074 WDI_SetTxPerTrackingReqParamsType
5075 Tx PER Tracking parameters passed to WDI from WDA
5076---------------------------------------------------------------------------*/
5077typedef struct
5078{
5079 /* Configurations for Tx PER Tracking */
5080 WDI_TxPerTrackingParamType wdiTxPerTrackingParam;
5081 /*Request status callback offered by UMAC - it is called if the current req
5082 has returned PENDING as status; it delivers the status of sending the message
5083 over the BUS */
5084 WDI_ReqStatusCb wdiReqStatusCB;
5085 /*The user data passed in by UMAC, it will be sent back when the above
5086 function pointer will be called */
5087 void* pUserData;
5088}WDI_SetTxPerTrackingReqParamsType;
5089
5090#ifdef WLAN_FEATURE_PACKET_FILTERING
5091/*---------------------------------------------------------------------------
5092 Packet Filtering Parameters
5093---------------------------------------------------------------------------*/
5094
5095#define WDI_IPV4_ADDR_LEN 4
5096#define WDI_MAC_ADDR_LEN 6
5097#define WDI_MAX_FILTER_TEST_DATA_LEN 8
5098#define WDI_MAX_NUM_MULTICAST_ADDRESS 240
5099#define WDI_MAX_NUM_FILTERS 20
5100#define WDI_MAX_NUM_TESTS_PER_FILTER 10
5101
5102//
5103// Receive Filter Parameters
5104//
5105typedef enum
5106{
5107 WDI_RCV_FILTER_TYPE_INVALID,
5108 WDI_RCV_FILTER_TYPE_FILTER_PKT,
5109 WDI_RCV_FILTER_TYPE_BUFFER_PKT,
5110 WDI_RCV_FILTER_TYPE_MAX_ENUM_SIZE
5111}WDI_ReceivePacketFilterType;
5112
5113typedef enum
5114{
5115 WDI_FILTER_HDR_TYPE_INVALID,
5116 WDI_FILTER_HDR_TYPE_MAC,
5117 WDI_FILTER_HDR_TYPE_ARP,
5118 WDI_FILTER_HDR_TYPE_IPV4,
5119 WDI_FILTER_HDR_TYPE_IPV6,
5120 WDI_FILTER_HDR_TYPE_UDP,
5121 WDI_FILTER_HDR_TYPE_MAX
5122}WDI_RcvPktFltProtocolType;
5123
5124typedef enum
5125{
5126 WDI_FILTER_CMP_TYPE_INVALID,
5127 WDI_FILTER_CMP_TYPE_EQUAL,
5128 WDI_FILTER_CMP_TYPE_MASK_EQUAL,
5129 WDI_FILTER_CMP_TYPE_NOT_EQUAL,
5130 WDI_FILTER_CMP_TYPE_MASK_NOT_EQUAL,
5131 WDI_FILTER_CMP_TYPE_MAX
5132}WDI_RcvPktFltCmpFlagType;
5133
5134typedef struct
5135{
5136 WDI_RcvPktFltProtocolType protocolLayer;
5137 WDI_RcvPktFltCmpFlagType cmpFlag;
5138/* Length of the data to compare */
5139 wpt_uint16 dataLength;
5140/* from start of the respective frame header */
5141 wpt_uint8 dataOffset;
5142 wpt_uint8 reserved; /* Reserved field */
5143/* Data to compare */
5144 wpt_uint8 compareData[WDI_MAX_FILTER_TEST_DATA_LEN];
5145/* Mask to be applied on the received packet data before compare */
5146 wpt_uint8 dataMask[WDI_MAX_FILTER_TEST_DATA_LEN];
5147}WDI_RcvPktFilterFieldParams;
5148
5149typedef struct
5150{
5151 wpt_uint8 filterId;
5152 wpt_uint8 filterType;
5153 wpt_uint32 numFieldParams;
5154 wpt_uint32 coalesceTime;
Jeff Johnsone7245742012-09-05 17:12:55 -07005155 wpt_macAddr selfMacAddr;
5156 wpt_macAddr bssId;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005157 WDI_RcvPktFilterFieldParams paramsData[1];
5158
Jeff Johnson295189b2012-06-20 16:38:30 -07005159}WDI_RcvPktFilterCfgType;
5160
5161typedef struct
5162{
5163 /*Request status callback offered by UMAC - it is called if the current
5164 req has returned PENDING as status; it delivers the status of sending
5165 the message over the BUS */
5166 WDI_ReqStatusCb wdiReqStatusCB;
5167
5168 /*The user data passed in by UMAC, it will be sent back when the above
5169 function pointer will be called */
5170 void* pUserData;
5171
5172 // Variable length packet filter field params
5173 WDI_RcvPktFilterCfgType wdiPktFilterCfg;
5174} WDI_SetRcvPktFilterReqParamsType;
5175
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005176typedef struct
5177{
5178 /*Result of the operation*/
5179 WDI_Status wdiStatus;
5180 /* BSSIDX of the Set Receive Filter
5181 */
5182 wpt_uint8 bssIdx;
5183} WDI_SetRcvPktFilterRspParamsType;
5184
Jeff Johnson295189b2012-06-20 16:38:30 -07005185//
5186// Filter Packet Match Count Parameters
5187//
5188typedef struct
5189{
5190 /*Request status callback offered by UMAC - it is called if the current
5191 req has returned PENDING as status; it delivers the status of sending
5192 the message over the BUS */
5193 WDI_ReqStatusCb wdiReqStatusCB;
5194
5195 /*The user data passed in by UMAC, it will be sent back when the above
5196 function pointer will be called */
5197 void* pUserData;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005198
5199 /* BSSID of the Match count
5200 */
5201 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005202} WDI_RcvFltPktMatchCntReqParamsType;
5203
5204typedef struct
5205{
5206 wpt_uint8 filterId;
5207 wpt_uint32 matchCnt;
5208} WDI_RcvFltPktMatchCnt;
5209
5210typedef struct
5211{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005212 /*Result of the operation*/
5213 WDI_Status wdiStatus;
Jeff Johnson295189b2012-06-20 16:38:30 -07005214
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005215 /* BSSIDX of the Match count response
5216 */
5217 wpt_uint8 bssIdx;
5218
Jeff Johnson295189b2012-06-20 16:38:30 -07005219} WDI_RcvFltPktMatchCntRspParamsType;
5220
Jeff Johnson295189b2012-06-20 16:38:30 -07005221//
5222// Receive Filter Clear Parameters
5223//
5224typedef struct
5225{
5226 wpt_uint32 status; /* only valid for response message */
5227 wpt_uint8 filterId;
Jeff Johnsone7245742012-09-05 17:12:55 -07005228 wpt_macAddr selfMacAddr;
5229 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005230}WDI_RcvFltPktClearParam;
5231
5232typedef struct
5233{
5234 WDI_RcvFltPktClearParam filterClearParam;
5235 /*Request status callback offered by UMAC - it is called if the current
5236 req has returned PENDING as status; it delivers the status of sending
5237 the message over the BUS */
5238 WDI_ReqStatusCb wdiReqStatusCB;
5239
5240 /*The user data passed in by UMAC, it will be sent back when the above
5241 function pointer will be called */
5242 void* pUserData;
5243} WDI_RcvFltPktClearReqParamsType;
5244
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005245typedef struct
5246{
5247 /*Result of the operation*/
5248 WDI_Status wdiStatus;
5249 /* BSSIDX of the Match count response
5250 */
5251 wpt_uint8 bssIdx;
5252
5253} WDI_RcvFltPktClearRspParamsType;
5254
Jeff Johnson295189b2012-06-20 16:38:30 -07005255//
5256// Multicast Address List Parameters
5257//
5258typedef struct
5259{
5260 wpt_uint32 ulMulticastAddrCnt;
5261 wpt_macAddr multicastAddr[WDI_MAX_NUM_MULTICAST_ADDRESS];
Jeff Johnsone7245742012-09-05 17:12:55 -07005262 wpt_macAddr selfMacAddr;
5263 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005264} WDI_RcvFltMcAddrListType;
5265
5266typedef struct
5267{
5268 WDI_RcvFltMcAddrListType mcAddrList;
5269 /*Request status callback offered by UMAC - it is called if the current
5270 req has returned PENDING as status; it delivers the status of sending
5271 the message over the BUS */
5272 WDI_ReqStatusCb wdiReqStatusCB;
5273
5274 /*The user data passed in by UMAC, it will be sent back when the above
5275 function pointer will be called */
5276 void* pUserData;
5277} WDI_RcvFltPktSetMcListReqParamsType;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005278
5279typedef struct
5280{
5281 /*Result of the operation*/
5282 WDI_Status wdiStatus;
5283 /* BSSIDX of the Match count response
5284 */
5285 wpt_uint8 bssIdx;
5286} WDI_RcvFltPktSetMcListRspParamsType;
5287
Jeff Johnson295189b2012-06-20 16:38:30 -07005288#endif // WLAN_FEATURE_PACKET_FILTERING
5289
5290/*---------------------------------------------------------------------------
5291 WDI_HALDumpCmdReqInfoType
5292---------------------------------------------------------------------------*/
5293typedef struct
5294{
5295 /*command*/
5296 wpt_uint32 command;
5297
5298 /*Arguments*/
5299 wpt_uint32 argument1;
5300 wpt_uint32 argument2;
5301 wpt_uint32 argument3;
5302 wpt_uint32 argument4;
5303
5304}WDI_HALDumpCmdReqInfoType;
5305
5306/*---------------------------------------------------------------------------
5307 WDI_HALDumpCmdReqParamsType
5308---------------------------------------------------------------------------*/
5309typedef struct
5310{
5311 /*NV Blob Info*/
5312 WDI_HALDumpCmdReqInfoType wdiHALDumpCmdInfoType;
5313
5314 /*Request status callback offered by UMAC - it is called if the current
5315 req has returned PENDING as status; it delivers the status of sending
5316 the message over the BUS */
5317 WDI_ReqStatusCb wdiReqStatusCB;
5318
5319 /*The user data passed in by UMAC, it will be sent back when the above
5320 function pointer will be called */
5321 void* pUserData;
5322
5323}WDI_HALDumpCmdReqParamsType;
5324
5325
5326/*---------------------------------------------------------------------------
5327 WDI_HALDumpCmdRspParamsType
5328---------------------------------------------------------------------------*/
5329typedef struct
5330{
5331 /*Result of the operation*/
5332 WDI_Status wdiStatus;
5333
5334 /* length of the buffer */
5335 wpt_uint16 usBufferLen;
5336
5337 /* Buffer */
5338 wpt_uint8 *pBuffer;
5339}WDI_HALDumpCmdRspParamsType;
5340
5341
5342/*---------------------------------------------------------------------------
5343 WDI_SetTmLevelReqType
5344---------------------------------------------------------------------------*/
5345typedef struct
5346{
5347 wpt_uint16 tmMode;
5348 wpt_uint16 tmLevel;
5349 void* pUserData;
5350}WDI_SetTmLevelReqType;
5351
5352/*---------------------------------------------------------------------------
5353 WDI_SetTmLevelRspType
5354---------------------------------------------------------------------------*/
5355typedef struct
5356{
5357 WDI_Status wdiStatus;
5358 void* pUserData;
5359}WDI_SetTmLevelRspType;
5360
Leo Chang9056f462013-08-01 19:21:11 -07005361#ifdef FEATURE_WLAN_LPHB
5362/*---------------------------------------------------------------------------
5363 WDI_LPHBConfigParamsType
5364---------------------------------------------------------------------------*/
5365typedef struct
5366{
5367 void* pLphsConfIndData;
5368}WDI_LPHBConfigParamsType;
5369#endif /* FEATURE_WLAN_LPHB */
5370
Yue Mab9c86f42013-08-14 15:59:08 -07005371/*---------------------------------------------------------------------------
5372 WDI_AddPeriodicTxPtrnInfoType
5373---------------------------------------------------------------------------*/
5374typedef struct
5375{
5376 /* MAC Address for the adapter */
5377 wpt_macAddr macAddr;
5378
5379 wpt_uint8 ucPtrnId; // Pattern ID
5380 wpt_uint16 ucPtrnSize; // Pattern size
5381 wpt_uint32 usPtrnIntervalMs; // In msec
5382 wpt_uint8 ucPattern[PERIODIC_TX_PTRN_MAX_SIZE]; // Pattern buffer
5383} WDI_AddPeriodicTxPtrnInfoType;
5384
5385/*---------------------------------------------------------------------------
5386 WDI_DelPeriodicTxPtrnInfoType
5387---------------------------------------------------------------------------*/
5388typedef struct
5389{
5390 /* MAC Address for the adapter */
5391 wpt_macAddr macAddr;
5392
5393 /* Bitmap of pattern IDs that needs to be deleted */
5394 wpt_uint32 ucPatternIdBitmap;
5395} WDI_DelPeriodicTxPtrnInfoType;
5396
5397/*---------------------------------------------------------------------------
5398 WDI_AddPeriodicTxPtrnParamsType
5399---------------------------------------------------------------------------*/
5400typedef struct
5401{
5402 WDI_AddPeriodicTxPtrnInfoType wdiAddPeriodicTxPtrnParams;
5403
5404 /*Request status callback offered by UMAC - it is called if the current
5405 req has returned PENDING as status; it delivers the status of sending
5406 the message over the BUS */
5407 WDI_ReqStatusCb wdiReqStatusCB;
5408
5409 /*The user data passed in by UMAC, it will be sent back when the above
5410 function pointer will be called */
5411 void* pUserData;
5412} WDI_AddPeriodicTxPtrnParamsType;
5413
5414/*---------------------------------------------------------------------------
5415 WDI_DelPeriodicTxPtrnParamsType
5416---------------------------------------------------------------------------*/
5417typedef struct
5418{
5419 WDI_DelPeriodicTxPtrnInfoType wdiDelPeriodicTxPtrnParams;
5420
5421 /*Request status callback offered by UMAC - it is called if the current
5422 req has returned PENDING as status; it delivers the status of sending
5423 the message over the BUS */
5424 WDI_ReqStatusCb wdiReqStatusCB;
5425
5426 /*The user data passed in by UMAC, it will be sent back when the above
5427 function pointer will be called */
5428 void* pUserData;
5429} WDI_DelPeriodicTxPtrnParamsType;
5430
Jeff Johnson295189b2012-06-20 16:38:30 -07005431/*----------------------------------------------------------------------------
5432 * WDI callback types
5433 *--------------------------------------------------------------------------*/
5434
5435/*---------------------------------------------------------------------------
5436 WDI_StartRspCb
5437
5438 DESCRIPTION
5439
5440 This callback is invoked by DAL when it has received a Start response from
5441 the underlying device.
5442
5443 PARAMETERS
5444
5445 IN
5446 wdiRspParams: response parameters received from HAL
5447 pUserData: user data
5448
5449
5450 RETURN VALUE
5451 The result code associated with performing the operation
5452---------------------------------------------------------------------------*/
5453typedef void (*WDI_StartRspCb)(WDI_StartRspParamsType* pwdiRspParams,
5454 void* pUserData);
5455
5456/*---------------------------------------------------------------------------
5457 WDI_StartRspCb
5458
5459 DESCRIPTION
5460
5461 This callback is invoked by DAL when it has received a Stop response from
5462 the underlying device.
5463
5464 PARAMETERS
5465
5466 IN
5467 wdiStatus: response status received from HAL
5468 pUserData: user data
5469
5470
5471
5472 RETURN VALUE
5473 The result code associated with performing the operation
5474---------------------------------------------------------------------------*/
5475typedef void (*WDI_StopRspCb)(WDI_Status wdiStatus,
5476 void* pUserData);
5477
5478/*---------------------------------------------------------------------------
5479 WDI_StartRspCb
5480
5481 DESCRIPTION
5482
5483 This callback is invoked by DAL when it has received an Init Scan response
5484 from the underlying device.
5485
5486 PARAMETERS
5487
5488 IN
5489 wdiStatus: response status received from HAL
5490 pUserData: user data
5491
5492
5493
5494 RETURN VALUE
5495 The result code associated with performing the operation
5496---------------------------------------------------------------------------*/
5497typedef void (*WDI_InitScanRspCb)(WDI_Status wdiStatus,
5498 void* pUserData);
5499
5500
5501/*---------------------------------------------------------------------------
5502 WDI_StartRspCb
5503
5504 DESCRIPTION
5505
5506 This callback is invoked by DAL when it has received a StartScan response
5507 from the underlying device.
5508
5509 PARAMETERS
5510
5511 IN
5512 wdiParams: response params received from HAL
5513 pUserData: user data
5514
5515
5516
5517 RETURN VALUE
5518 The result code associated with performing the operation
5519---------------------------------------------------------------------------*/
5520typedef void (*WDI_StartScanRspCb)(WDI_StartScanRspParamsType* wdiParams,
5521 void* pUserData);
5522
5523
5524/*---------------------------------------------------------------------------
5525 WDI_StartRspCb
5526
5527 DESCRIPTION
5528
5529 This callback is invoked by DAL when it has received a End Scan response
5530 from the underlying device.
5531
5532 PARAMETERS
5533
5534 IN
5535 wdiStatus: response status received from HAL
5536 pUserData: user data
5537
5538
5539
5540 RETURN VALUE
5541 The result code associated with performing the operation
5542---------------------------------------------------------------------------*/
5543typedef void (*WDI_EndScanRspCb)(WDI_Status wdiStatus,
5544 void* pUserData);
5545
5546
5547/*---------------------------------------------------------------------------
5548 WDI_StartRspCb
5549
5550 DESCRIPTION
5551
5552 This callback is invoked by DAL when it has received a Finish Scan response
5553 from the underlying device.
5554
5555 PARAMETERS
5556
5557 IN
5558 wdiStatus: response status received from HAL
5559 pUserData: user data
5560
5561
5562
5563 RETURN VALUE
5564 The result code associated with performing the operation
5565---------------------------------------------------------------------------*/
5566typedef void (*WDI_FinishScanRspCb)(WDI_Status wdiStatus,
5567 void* pUserData);
5568
5569
5570/*---------------------------------------------------------------------------
5571 WDI_StartRspCb
5572
5573 DESCRIPTION
5574
5575 This callback is invoked by DAL when it has received a Join response from
5576 the underlying device.
5577
5578 PARAMETERS
5579
5580 IN
5581 wdiStatus: response status received from HAL
5582 pUserData: user data
5583
5584
5585
5586 RETURN VALUE
5587 The result code associated with performing the operation
5588---------------------------------------------------------------------------*/
5589typedef void (*WDI_JoinRspCb)(WDI_Status wdiStatus,
5590 void* pUserData);
5591
5592
5593/*---------------------------------------------------------------------------
5594 WDI_StartRspCb
5595
5596 DESCRIPTION
5597
5598 This callback is invoked by DAL when it has received a Config BSS response
5599 from the underlying device.
5600
5601 PARAMETERS
5602
5603 IN
5604 wdiConfigBSSRsp: response parameters received from HAL
5605 pUserData: user data
5606
5607
5608 RETURN VALUE
5609 The result code associated with performing the operation
5610---------------------------------------------------------------------------*/
5611typedef void (*WDI_ConfigBSSRspCb)(
5612 WDI_ConfigBSSRspParamsType* pwdiConfigBSSRsp,
5613 void* pUserData);
5614
5615
5616/*---------------------------------------------------------------------------
5617 WDI_StartRspCb
5618
5619 DESCRIPTION
5620
5621 This callback is invoked by DAL when it has received a Del BSS response from
5622 the underlying device.
5623
5624 PARAMETERS
5625
5626 IN
5627 wdiDelBSSRsp: response parameters received from HAL
5628 pUserData: user data
5629
5630
5631 RETURN VALUE
5632 The result code associated with performing the operation
5633---------------------------------------------------------------------------*/
5634typedef void (*WDI_DelBSSRspCb)(WDI_DelBSSRspParamsType* pwdiDelBSSRsp,
5635 void* pUserData);
5636
5637
5638/*---------------------------------------------------------------------------
5639 WDI_StartRspCb
5640
5641 DESCRIPTION
5642
5643 This callback is invoked by DAL when it has received a Post Assoc response
5644 from the underlying device.
5645
5646 PARAMETERS
5647
5648 IN
5649 wdiRspParams: response parameters received from HAL
5650 pUserData: user data
5651
5652
5653 RETURN VALUE
5654 The result code associated with performing the operation
5655---------------------------------------------------------------------------*/
5656typedef void (*WDI_PostAssocRspCb)(
5657 WDI_PostAssocRspParamsType* pwdiPostAssocRsp,
5658 void* pUserData);
5659
5660
5661/*---------------------------------------------------------------------------
5662 WDI_StartRspCb
5663
5664 DESCRIPTION
5665
5666 This callback is invoked by DAL when it has received a Del STA response from
5667 the underlying device.
5668
5669 PARAMETERS
5670
5671 IN
5672 wdiDelSTARsp: response parameters received from HAL
5673 pUserData: user data
5674
5675
5676 RETURN VALUE
5677 The result code associated with performing the operation
5678---------------------------------------------------------------------------*/
5679typedef void (*WDI_DelSTARspCb)(WDI_DelSTARspParamsType* pwdiDelSTARsp,
5680 void* pUserData);
5681
5682
5683
5684/*---------------------------------------------------------------------------
5685 WDI_StartRspCb
5686
5687 DESCRIPTION
5688
5689 This callback is invoked by DAL when it has received a Set BSS Key response
5690 from the underlying device.
5691
5692 PARAMETERS
5693
5694 IN
5695 wdiStatus: response status received from HAL
5696 pUserData: user data
5697
5698
5699
5700 RETURN VALUE
5701 The result code associated with performing the operation
5702---------------------------------------------------------------------------*/
5703typedef void (*WDI_SetBSSKeyRspCb)(WDI_Status wdiStatus,
5704 void* pUserData);
5705
5706/*---------------------------------------------------------------------------
5707 WDI_StartRspCb
5708
5709 DESCRIPTION
5710
5711 This callback is invoked by DAL when it has received a Remove BSS Key
5712 response from the underlying device.
5713
5714 PARAMETERS
5715
5716 IN
5717 wdiStatus: response status received from HAL
5718 pUserData: user data
5719
5720
5721
5722 RETURN VALUE
5723 The result code associated with performing the operation
5724---------------------------------------------------------------------------*/
5725typedef void (*WDI_RemoveBSSKeyRspCb)(WDI_Status wdiStatus,
5726 void* pUserData);
5727
5728/*---------------------------------------------------------------------------
5729 WDI_StartRspCb
5730
5731 DESCRIPTION
5732
5733 This callback is invoked by DAL when it has received a Set STA Key response
5734 from the underlying device.
5735
5736 PARAMETERS
5737
5738 IN
5739 wdiStatus: response status received from HAL
5740 pUserData: user data
5741
5742
5743
5744 RETURN VALUE
5745 The result code associated with performing the operation
5746---------------------------------------------------------------------------*/
5747typedef void (*WDI_SetSTAKeyRspCb)(WDI_Status wdiStatus,
5748 void* pUserData);
5749
5750
5751/*---------------------------------------------------------------------------
5752 WDI_StartRspCb
5753
5754 DESCRIPTION
5755
5756 This callback is invoked by DAL when it has received a Remove STA Key
5757 response from the underlying device.
5758
5759 PARAMETERS
5760
5761 IN
5762 wdiStatus: response status received from HAL
5763 pUserData: user data
5764
5765
5766
5767 RETURN VALUE
5768 The result code associated with performing the operation
5769---------------------------------------------------------------------------*/
5770typedef void (*WDI_RemoveSTAKeyRspCb)(WDI_Status wdiStatus,
5771 void* pUserData);
5772
5773
5774#ifdef FEATURE_WLAN_CCX
5775/*---------------------------------------------------------------------------
5776 WDI_TsmRspCb
5777
5778 DESCRIPTION
5779
5780 This callback is invoked by DAL when it has received a TSM Stats response from the underlying device.
5781
5782 PARAMETERS
5783
5784 IN
5785 pTSMStats: response status received from HAL
5786 pUserData: user data
5787
5788
5789
5790 RETURN VALUE
5791 The result code associated with performing the operation
5792---------------------------------------------------------------------------*/
5793typedef void (*WDI_TsmRspCb)(WDI_TSMStatsRspParamsType *pTSMStats,
5794 void* pUserData);
5795#endif
5796
5797/*---------------------------------------------------------------------------
5798 WDI_StartRspCb
5799
5800 DESCRIPTION
5801
5802 This callback is invoked by DAL when it has received a Add TS response from
5803 the underlying device.
5804
5805 PARAMETERS
5806
5807 IN
5808 wdiStatus: response status received from HAL
5809 pUserData: user data
5810
5811
5812
5813 RETURN VALUE
5814 The result code associated with performing the operation
5815---------------------------------------------------------------------------*/
5816typedef void (*WDI_AddTsRspCb)(WDI_Status wdiStatus,
5817 void* pUserData);
5818
5819/*---------------------------------------------------------------------------
5820 WDI_StartRspCb
5821
5822 DESCRIPTION
5823
5824 This callback is invoked by DAL when it has received a Del TS response from
5825 the underlying device.
5826
5827 PARAMETERS
5828
5829 IN
5830 wdiStatus: response status received from HAL
5831 pUserData: user data
5832
5833
5834
5835 RETURN VALUE
5836 The result code associated with performing the operation
5837---------------------------------------------------------------------------*/
5838typedef void (*WDI_DelTsRspCb)(WDI_Status wdiStatus,
5839 void* pUserData);
5840
5841/*---------------------------------------------------------------------------
5842 WDI_StartRspCb
5843
5844 DESCRIPTION
5845
5846 This callback is invoked by DAL when it has received an Update EDCA Params
5847 response from the underlying device.
5848
5849 PARAMETERS
5850
5851 IN
5852 wdiStatus: response status received from HAL
5853 pUserData: user data
5854
5855
5856
5857 RETURN VALUE
5858 The result code associated with performing the operation
5859---------------------------------------------------------------------------*/
5860typedef void (*WDI_UpdateEDCAParamsRspCb)(WDI_Status wdiStatus,
5861 void* pUserData);
5862
5863/*---------------------------------------------------------------------------
5864 WDI_StartRspCb
5865
5866 DESCRIPTION
5867
5868 This callback is invoked by DAL when it has received a Add BA response from
5869 the underlying device.
5870
5871 PARAMETERS
5872
5873 IN
5874 wdiStatus: response status received from HAL
5875 pUserData: user data
5876
5877
5878
5879 RETURN VALUE
5880 The result code associated with performing the operation
5881---------------------------------------------------------------------------*/
5882typedef void (*WDI_AddBASessionRspCb)(
5883 WDI_AddBASessionRspParamsType* wdiAddBASessionRsp,
5884 void* pUserData);
5885
5886
5887/*---------------------------------------------------------------------------
5888 WDI_StartRspCb
5889
5890 DESCRIPTION
5891
5892 This callback is invoked by DAL when it has received a Del BA response from
5893 the underlying device.
5894
5895 PARAMETERS
5896
5897 IN
5898 wdiStatus: response status received from HAL
5899 pUserData: user data
5900
5901
5902
5903 RETURN VALUE
5904 The result code associated with performing the operation
5905---------------------------------------------------------------------------*/
5906typedef void (*WDI_DelBARspCb)(WDI_Status wdiStatus,
5907 void* pUserData);
5908
5909
5910/*---------------------------------------------------------------------------
5911 WDI_StartRspCb
5912
5913 DESCRIPTION
5914
5915 This callback is invoked by DAL when it has received a Switch Ch response
5916 from the underlying device.
5917
5918 PARAMETERS
5919
5920 IN
5921 wdiRspParams: response parameters received from HAL
5922 pUserData: user data
5923
5924
5925 RETURN VALUE
5926 The result code associated with performing the operation
5927---------------------------------------------------------------------------*/
5928typedef void (*WDI_SwitchChRspCb)(WDI_SwitchCHRspParamsType* pwdiSwitchChRsp,
5929 void* pUserData);
5930
5931
5932/*---------------------------------------------------------------------------
5933 WDI_StartRspCb
5934
5935 DESCRIPTION
5936
5937 This callback is invoked by DAL when it has received a Config STA response
5938 from the underlying device.
5939
5940 PARAMETERS
5941
5942 IN
5943 wdiRspParams: response parameters received from HAL
5944 pUserData: user data
5945
5946
5947 RETURN VALUE
5948 The result code associated with performing the operation
5949---------------------------------------------------------------------------*/
5950typedef void (*WDI_ConfigSTARspCb)(
5951 WDI_ConfigSTARspParamsType* pwdiConfigSTARsp,
5952 void* pUserData);
5953
5954
5955/*---------------------------------------------------------------------------
5956 WDI_StartRspCb
5957
5958 DESCRIPTION
5959
5960 This callback is invoked by DAL when it has received a Set Link State
5961 response from the underlying device.
5962
5963 PARAMETERS
5964
5965 IN
5966 wdiRspParams: response parameters received from HAL
5967 pUserData: user data
5968
5969
5970 RETURN VALUE
5971 The result code associated with performing the operation
5972---------------------------------------------------------------------------*/
5973typedef void (*WDI_SetLinkStateRspCb)( WDI_Status wdiStatus,
5974 void* pUserData);
5975
5976
5977/*---------------------------------------------------------------------------
5978 WDI_StartRspCb
5979
5980 DESCRIPTION
5981
5982 This callback is invoked by DAL when it has received a Get Stats response
5983 from the underlying device.
5984
5985 PARAMETERS
5986
5987 IN
5988 wdiRspParams: response parameters received from HAL
5989 pUserData: user data
5990
5991
5992 RETURN VALUE
5993 The result code associated with performing the operation
5994---------------------------------------------------------------------------*/
5995typedef void (*WDI_GetStatsRspCb)(WDI_GetStatsRspParamsType* pwdiGetStatsRsp,
5996 void* pUserData);
5997
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08005998#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_CCX || defined(FEATURE_WLAN_LFR)
5999/*---------------------------------------------------------------------------
6000 WDI_GetRoamRssiRspCb
6001
6002 DESCRIPTION
6003
6004 This callback is invoked by DAL when it has received a Get Roam Rssi response
6005 from the underlying device.
6006
6007 PARAMETERS
6008
6009 IN
6010 wdiRspParams: response parameters received from HAL
6011 pUserData: user data
6012
6013
6014 RETURN VALUE
6015 The result code associated with performing the operation
6016---------------------------------------------------------------------------*/
6017typedef void (*WDI_GetRoamRssiRspCb)(WDI_GetRoamRssiRspParamsType* pwdiGetRoamRssiRsp,
6018 void* pUserData);
6019#endif
6020
Jeff Johnson295189b2012-06-20 16:38:30 -07006021
6022/*---------------------------------------------------------------------------
6023 WDI_StartRspCb
6024
6025 DESCRIPTION
6026
6027 This callback is invoked by DAL when it has received a Update Cfg response
6028 from the underlying device.
6029
6030 PARAMETERS
6031
6032 IN
6033 wdiStatus: response status received from HAL
6034 pUserData: user data
6035
6036
6037 RETURN VALUE
6038 The result code associated with performing the operation
6039---------------------------------------------------------------------------*/
6040typedef void (*WDI_UpdateCfgRspCb)(WDI_Status wdiStatus,
6041 void* pUserData);
6042
6043/*---------------------------------------------------------------------------
6044 WDI_AddBARspCb
6045
6046 DESCRIPTION
6047
6048 This callback is invoked by DAL when it has received a ADD BA response
6049 from the underlying device.
6050
6051 PARAMETERS
6052
6053 IN
6054 wdiStatus: response status received from HAL
6055 pUserData: user data
6056
6057
6058 RETURN VALUE
6059 The result code associated with performing the operation
6060---------------------------------------------------------------------------*/
6061typedef void (*WDI_AddBARspCb)(WDI_AddBARspinfoType* wdiAddBARsp,
6062 void* pUserData);
6063
6064/*---------------------------------------------------------------------------
6065 WDI_TriggerBARspCb
6066
6067 DESCRIPTION
6068
6069 This callback is invoked by DAL when it has received a ADD BA response
6070 from the underlying device.
6071
6072 PARAMETERS
6073
6074 IN
6075 wdiStatus: response status received from HAL
6076 pUserData: user data
6077
6078
6079 RETURN VALUE
6080 The result code associated with performing the operation
6081---------------------------------------------------------------------------*/
6082typedef void (*WDI_TriggerBARspCb)(WDI_TriggerBARspParamsType* wdiTriggerBARsp,
6083 void* pUserData);
6084
6085
6086/*---------------------------------------------------------------------------
6087 WDI_UpdateBeaconParamsRspCb
6088
6089 DESCRIPTION
6090
6091 This callback is invoked by DAL when it has received a Update Beacon Params response from
6092 the underlying device.
6093
6094 PARAMETERS
6095
6096 IN
6097 wdiStatus: response status received from HAL
6098 pUserData: user data
6099
6100
6101
6102 RETURN VALUE
6103 The result code associated with performing the operation
6104---------------------------------------------------------------------------*/
6105typedef void (*WDI_UpdateBeaconParamsRspCb)(WDI_Status wdiStatus,
6106 void* pUserData);
6107
6108/*---------------------------------------------------------------------------
6109 WDI_SendBeaconParamsRspCb
6110
6111 DESCRIPTION
6112
6113 This callback is invoked by DAL when it has received a Send Beacon Params response from
6114 the underlying device.
6115
6116 PARAMETERS
6117
6118 IN
6119 wdiStatus: response status received from HAL
6120 pUserData: user data
6121
6122
6123
6124 RETURN VALUE
6125 The result code associated with performing the operation
6126---------------------------------------------------------------------------*/
6127typedef void (*WDI_SendBeaconParamsRspCb)(WDI_Status wdiStatus,
6128 void* pUserData);
6129
6130/*---------------------------------------------------------------------------
6131 WDA_SetMaxTxPowerRspCb
6132
6133 DESCRIPTION
6134
6135 This callback is invoked by DAL when it has received a set max Tx Power response from
6136 the underlying device.
6137
6138 PARAMETERS
6139
6140 IN
6141 wdiStatus: response status received from HAL
6142 pUserData: user data
6143
6144
6145
6146 RETURN VALUE
6147 The result code associated with performing the operation
6148---------------------------------------------------------------------------*/
6149typedef void (*WDA_SetMaxTxPowerRspCb)(WDI_SetMaxTxPowerRspMsg *wdiSetMaxTxPowerRsp,
6150 void* pUserData);
6151
6152/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07006153 WDA_SetMaxTxPowerPerBandRspCb
6154
6155 DESCRIPTION
6156
6157 This callback is invoked by DAL when it has received a
6158 set max Tx Power Per Band response from the underlying device.
6159
6160 PARAMETERS
6161
6162 IN
6163 wdiSetMaxTxPowerPerBandRsp: response status received from HAL
6164 pUserData: user data
6165
6166 RETURN VALUE
6167 The result code associated with performing the operation
6168---------------------------------------------------------------------------*/
6169typedef void (*WDA_SetMaxTxPowerPerBandRspCb)(WDI_SetMaxTxPowerPerBandRspMsg
6170 *wdiSetMaxTxPowerPerBandRsp,
6171 void* pUserData);
6172
6173/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07006174 WDA_SetTxPowerRspCb
6175
6176 DESCRIPTION
6177
6178 This callback is invoked by DAL when it has received a set max Tx Power response from
6179 the underlying device.
6180
6181 PARAMETERS
6182
6183 IN
6184 wdiStatus: response status received from HAL
6185 pUserData: user data
6186
6187 RETURN VALUE
6188 The result code associated with performing the operation
6189---------------------------------------------------------------------------*/
6190typedef void (*WDA_SetTxPowerRspCb)(WDI_SetTxPowerRspMsg *wdiSetTxPowerRsp,
6191 void* pUserData);
6192
6193/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07006194 WDI_UpdateProbeRspTemplateRspCb
6195
6196 DESCRIPTION
6197
6198 This callback is invoked by DAL when it has received a Probe RSP Template
6199 Update response from the underlying device.
6200
6201 PARAMETERS
6202
6203 IN
6204 wdiStatus: response status received from HAL
6205 pUserData: user data
6206
6207
6208
6209 RETURN VALUE
6210 The result code associated with performing the operation
6211---------------------------------------------------------------------------*/
6212typedef void (*WDI_UpdateProbeRspTemplateRspCb)(WDI_Status wdiStatus,
6213 void* pUserData);
6214
Jeff Johnson295189b2012-06-20 16:38:30 -07006215/*---------------------------------------------------------------------------
6216 WDI_SetP2PGONOAReqParamsRspCb
6217
6218 DESCRIPTION
6219
6220 This callback is invoked by DAL when it has received a P2P GO NOA Params response from
6221 the underlying device.
6222
6223 PARAMETERS
6224
6225 IN
6226 wdiStatus: response status received from HAL
6227 pUserData: user data
6228
6229
6230
6231 RETURN VALUE
6232 The result code associated with performing the operation
6233---------------------------------------------------------------------------*/
6234typedef void (*WDI_SetP2PGONOAReqParamsRspCb)(WDI_Status wdiStatus,
6235 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006236
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05306237/*---------------------------------------------------------------------------
6238 WDI_SetTDLSLinkEstablishReqParamsRspCb
6239
6240 DESCRIPTION
6241
6242 This callback is invoked by DAL when it has received a TDLS Link Establish Req response from
6243 the underlying device.
6244
6245 PARAMETERS
6246
6247 IN
6248 wdiStatus: response status received from HAL
6249 pUserData: user data
6250
6251
6252
6253 RETURN VALUE
6254 The result code associated with performing the operation
6255---------------------------------------------------------------------------*/
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05306256typedef void (*WDI_SetTDLSLinkEstablishReqParamsRspCb)(WDI_SetTdlsLinkEstablishReqResp *
6257 wdiSetTdlsLinkEstablishReqRsp,
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05306258 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006259
6260/*---------------------------------------------------------------------------
6261 WDI_SetPwrSaveCfgCb
6262
6263 DESCRIPTION
6264
6265 This callback is invoked by DAL when it has received a set Power Save CFG
6266 response from the underlying device.
6267
6268 PARAMETERS
6269
6270 IN
6271 wdiStatus: response status received from HAL
6272 pUserData: user data
6273
6274
6275
6276 RETURN VALUE
6277 The result code associated with performing the operation
6278---------------------------------------------------------------------------*/
6279typedef void (*WDI_SetPwrSaveCfgCb)(WDI_Status wdiStatus,
6280 void* pUserData);
6281
6282/*---------------------------------------------------------------------------
6283 WDI_SetUapsdAcParamsCb
6284
6285 DESCRIPTION
6286
6287 This callback is invoked by DAL when it has received a set UAPSD params
6288 response from the underlying device.
6289
6290 PARAMETERS
6291
6292 IN
6293 wdiStatus: response status received from HAL
6294 pUserData: user data
6295
6296
6297
6298 RETURN VALUE
6299 The result code associated with performing the operation
6300---------------------------------------------------------------------------*/
6301typedef void (*WDI_SetUapsdAcParamsCb)(WDI_Status wdiStatus,
6302 void* pUserData);
6303
6304/*---------------------------------------------------------------------------
6305 WDI_EnterImpsRspCb
6306
6307 DESCRIPTION
6308
6309 This callback is invoked by DAL when it has received a Enter IMPS response
6310 from the underlying device.
6311
6312 PARAMETERS
6313
6314 IN
6315 wdiStatus: response status received from HAL
6316 pUserData: user data
6317
6318
6319
6320 RETURN VALUE
6321 The result code associated with performing the operation
6322---------------------------------------------------------------------------*/
6323typedef void (*WDI_EnterImpsRspCb)(WDI_Status wdiStatus,
6324 void* pUserData);
6325
6326/*---------------------------------------------------------------------------
6327 WDI_ExitImpsRspCb
6328
6329 DESCRIPTION
6330
6331 This callback is invoked by DAL when it has received a Exit IMPS response
6332 from the underlying device.
6333
6334 PARAMETERS
6335
6336 IN
6337 wdiStatus: response status received from HAL
6338 pUserData: user data
6339
6340
6341
6342 RETURN VALUE
6343 The result code associated with performing the operation
6344---------------------------------------------------------------------------*/
6345typedef void (*WDI_ExitImpsRspCb)(WDI_Status wdiStatus,
6346 void* pUserData);
6347
6348/*---------------------------------------------------------------------------
6349 WDI_EnterBmpsRspCb
6350
6351 DESCRIPTION
6352
6353 This callback is invoked by DAL when it has received a enter BMPS response
6354 from the underlying device.
6355
6356 PARAMETERS
6357
6358 IN
6359 wdiStatus: response status received from HAL
6360 pUserData: user data
6361
6362
6363
6364 RETURN VALUE
6365 The result code associated with performing the operation
6366---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006367typedef void (*WDI_EnterBmpsRspCb)(WDI_EnterBmpsRspParamsType *pwdiEnterBmpsRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006368 void* pUserData);
6369
6370/*---------------------------------------------------------------------------
6371 WDI_ExitBmpsRspCb
6372
6373 DESCRIPTION
6374
6375 This callback is invoked by DAL when it has received a exit BMPS response
6376 from the underlying device.
6377
6378 PARAMETERS
6379
6380 IN
6381 wdiStatus: response status received from HAL
6382 pUserData: user data
6383
6384
6385
6386 RETURN VALUE
6387 The result code associated with performing the operation
6388---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006389typedef void (*WDI_ExitBmpsRspCb)( WDI_ExitBmpsRspParamsType *pwdiExitBmpsRspParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07006390 void* pUserData);
6391
6392/*---------------------------------------------------------------------------
6393 WDI_EnterUapsdRspCb
6394
6395 DESCRIPTION
6396
6397 This callback is invoked by DAL when it has received a enter UAPSD response
6398 from the underlying device.
6399
6400 PARAMETERS
6401
6402 IN
6403 wdiStatus: response status received from HAL
6404 pUserData: user data
6405
6406
6407
6408 RETURN VALUE
6409 The result code associated with performing the operation
6410---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006411typedef void (*WDI_EnterUapsdRspCb)( WDI_EnterUapsdRspParamsType *pwdiEnterUapsdRspParam,
Jeff Johnson295189b2012-06-20 16:38:30 -07006412 void* pUserData);
6413
6414/*---------------------------------------------------------------------------
6415 WDI_ExitUapsdRspCb
6416
6417 DESCRIPTION
6418
6419 This callback is invoked by DAL when it has received a exit UAPSD response
6420 from the underlying device.
6421
6422 PARAMETERS
6423
6424 IN
6425 wdiStatus: response status received from HAL
6426 pUserData: user data
6427
6428
6429
6430 RETURN VALUE
6431 The result code associated with performing the operation
6432---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006433typedef void (*WDI_ExitUapsdRspCb)(WDI_ExitUapsdRspParamsType *pwidExitUapsdRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006434 void* pUserData);
6435
6436/*---------------------------------------------------------------------------
6437 WDI_UpdateUapsdParamsCb
6438
6439 DESCRIPTION
6440
6441 This callback is invoked by DAL when it has received a update UAPSD params
6442 response from the underlying device.
6443
6444 PARAMETERS
6445
6446 IN
6447 wdiStatus: response status received from HAL
6448 pUserData: user data
6449
6450
6451
6452 RETURN VALUE
6453 The result code associated with performing the operation
6454---------------------------------------------------------------------------*/
6455typedef void (*WDI_UpdateUapsdParamsCb)(WDI_Status wdiStatus,
6456 void* pUserData);
6457
6458/*---------------------------------------------------------------------------
6459 WDI_ConfigureRxpFilterCb
6460
6461 DESCRIPTION
6462
6463 This callback is invoked by DAL when it has received a config RXP filter
6464 response from the underlying device.
6465
6466 PARAMETERS
6467
6468 IN
6469 wdiStatus: response status received from HAL
6470 pUserData: user data
6471
6472
6473
6474 RETURN VALUE
6475 The result code associated with performing the operation
6476---------------------------------------------------------------------------*/
6477typedef void (*WDI_ConfigureRxpFilterCb)(WDI_Status wdiStatus,
6478 void* pUserData);
6479
6480/*---------------------------------------------------------------------------
6481 WDI_SetBeaconFilterCb
6482
6483 DESCRIPTION
6484
6485 This callback is invoked by DAL when it has received a set beacon filter
6486 response from the underlying device.
6487
6488 PARAMETERS
6489
6490 IN
6491 wdiStatus: response status received from HAL
6492 pUserData: user data
6493
6494
6495
6496 RETURN VALUE
6497 The result code associated with performing the operation
6498---------------------------------------------------------------------------*/
6499typedef void (*WDI_SetBeaconFilterCb)(WDI_Status wdiStatus,
6500 void* pUserData);
6501
6502/*---------------------------------------------------------------------------
6503 WDI_RemBeaconFilterCb
6504
6505 DESCRIPTION
6506
6507 This callback is invoked by DAL when it has received a remove beacon filter
6508 response from the underlying device.
6509
6510 PARAMETERS
6511
6512 IN
6513 wdiStatus: response status received from HAL
6514 pUserData: user data
6515
6516
6517
6518 RETURN VALUE
6519 The result code associated with performing the operation
6520---------------------------------------------------------------------------*/
6521typedef void (*WDI_RemBeaconFilterCb)(WDI_Status wdiStatus,
6522 void* pUserData);
6523
6524/*---------------------------------------------------------------------------
6525 WDI_SetRSSIThresholdsCb
6526
6527 DESCRIPTION
6528
6529 This callback is invoked by DAL when it has received a set RSSI thresholds
6530 response from the underlying device.
6531
6532 PARAMETERS
6533
6534 IN
6535 wdiStatus: response status received from HAL
6536 pUserData: user data
6537
6538
6539
6540 RETURN VALUE
6541 The result code associated with performing the operation
6542---------------------------------------------------------------------------*/
6543typedef void (*WDI_SetRSSIThresholdsCb)(WDI_Status wdiStatus,
6544 void* pUserData);
6545
6546/*---------------------------------------------------------------------------
6547 WDI_HostOffloadCb
6548
6549 DESCRIPTION
6550
6551 This callback is invoked by DAL when it has received a host offload
6552 response from the underlying device.
6553
6554 PARAMETERS
6555
6556 IN
6557 wdiStatus: response status received from HAL
6558 pUserData: user data
6559
6560
6561
6562 RETURN VALUE
6563 The result code associated with performing the operation
6564---------------------------------------------------------------------------*/
6565typedef void (*WDI_HostOffloadCb)(WDI_Status wdiStatus,
6566 void* pUserData);
6567
6568/*---------------------------------------------------------------------------
6569 WDI_KeepAliveCb
6570
6571 DESCRIPTION
6572
6573 This callback is invoked by DAL when it has received a Keep Alive
6574 response from the underlying device.
6575
6576 PARAMETERS
6577
6578 IN
6579 wdiStatus: response status received from HAL
6580 pUserData: user data
6581
6582
6583
6584 RETURN VALUE
6585 The result code associated with performing the operation
6586---------------------------------------------------------------------------*/
6587typedef void (*WDI_KeepAliveCb)(WDI_Status wdiStatus,
6588 void* pUserData);
6589
6590/*---------------------------------------------------------------------------
6591 WDI_WowlAddBcPtrnCb
6592
6593 DESCRIPTION
6594
6595 This callback is invoked by DAL when it has received a Wowl add Bcast ptrn
6596 response from the underlying device.
6597
6598 PARAMETERS
6599
6600 IN
6601 wdiStatus: response status received from HAL
6602 pUserData: user data
6603
6604
6605
6606 RETURN VALUE
6607 The result code associated with performing the operation
6608---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006609typedef void (*WDI_WowlAddBcPtrnCb)( WDI_WowlAddBcPtrnRspParamsType *pwdiWowlAddBcPtrnParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07006610 void* pUserData);
6611
6612/*---------------------------------------------------------------------------
6613 WDI_WowlDelBcPtrnCb
6614
6615 DESCRIPTION
6616
6617 This callback is invoked by DAL when it has received a Wowl delete Bcast ptrn
6618 response from the underlying device.
6619
6620 PARAMETERS
6621
6622 IN
6623 wdiStatus: response status received from HAL
6624 pUserData: user data
6625
6626
6627
6628 RETURN VALUE
6629 The result code associated with performing the operation
6630---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006631typedef void (*WDI_WowlDelBcPtrnCb)( WDI_WowlDelBcPtrnRspParamsType *pwdiWowlDelBcstPtrRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006632 void* pUserData);
6633
6634/*---------------------------------------------------------------------------
6635 WDI_WowlEnterReqCb
6636
6637 DESCRIPTION
6638
6639 This callback is invoked by DAL when it has received a Wowl enter
6640 response from the underlying device.
6641
6642 PARAMETERS
6643
6644 IN
6645 wdiStatus: response status received from HAL
6646 pUserData: user data
6647
6648
6649
6650 RETURN VALUE
6651 The result code associated with performing the operation
6652---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006653typedef void (*WDI_WowlEnterReqCb)( WDI_WowlEnterRspParamsType *pwdiwowlEnterRsp,
6654 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006655
6656/*---------------------------------------------------------------------------
6657 WDI_WowlExitReqCb
6658
6659 DESCRIPTION
6660
6661 This callback is invoked by DAL when it has received a Wowl exit
6662 response from the underlying device.
6663
6664 PARAMETERS
6665
6666 IN
6667 wdiStatus: response status received from HAL
6668 pUserData: user data
6669
6670
6671
6672 RETURN VALUE
6673 The result code associated with performing the operation
6674---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006675typedef void (*WDI_WowlExitReqCb)( WDI_WowlExitRspParamsType *pwdiWowlExitRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006676 void* pUserData);
6677
6678/*---------------------------------------------------------------------------
6679 WDI_ConfigureAppsCpuWakeupStateCb
6680
6681 DESCRIPTION
6682
6683 This callback is invoked by DAL when it has received a config Apps Cpu Wakeup
6684 State response from the underlying device.
6685
6686 PARAMETERS
6687
6688 IN
6689 wdiStatus: response status received from HAL
6690 pUserData: user data
6691
6692
6693
6694 RETURN VALUE
6695 The result code associated with performing the operation
6696---------------------------------------------------------------------------*/
6697typedef void (*WDI_ConfigureAppsCpuWakeupStateCb)(WDI_Status wdiStatus,
6698 void* pUserData);
6699/*---------------------------------------------------------------------------
6700 WDI_NvDownloadRspCb
6701
6702 DESCRIPTION
6703
6704 This callback is invoked by DAL when it has received a NV Download response
6705 from the underlying device.
6706
6707 PARAMETERS
6708
6709 IN
6710 wdiStatus:response status received from HAL
6711 pUserData:user data
6712
6713 RETURN VALUE
6714 The result code associated with performing the operation
6715---------------------------------------------------------------------------*/
6716typedef void (*WDI_NvDownloadRspCb)(WDI_NvDownloadRspInfoType* wdiNvDownloadRsp,
6717 void* pUserData);
6718/*---------------------------------------------------------------------------
6719 WDI_FlushAcRspCb
6720
6721 DESCRIPTION
6722
6723 This callback is invoked by DAL when it has received a Flush AC response from
6724 the underlying device.
6725
6726 PARAMETERS
6727
6728 IN
6729 wdiStatus: response status received from HAL
6730 pUserData: user data
6731
6732
6733
6734 RETURN VALUE
6735 The result code associated with performing the operation
6736---------------------------------------------------------------------------*/
6737typedef void (*WDI_FlushAcRspCb)(WDI_Status wdiStatus,
6738 void* pUserData);
6739
6740/*---------------------------------------------------------------------------
6741 WDI_BtAmpEventRspCb
6742
6743 DESCRIPTION
6744
6745 This callback is invoked by DAL when it has received a Bt AMP event response
6746 from the underlying device.
6747
6748 PARAMETERS
6749
6750 IN
6751 wdiStatus: response status received from HAL
6752 pUserData: user data
6753
6754
6755
6756 RETURN VALUE
6757 The result code associated with performing the operation
6758---------------------------------------------------------------------------*/
6759typedef void (*WDI_BtAmpEventRspCb)(WDI_Status wdiStatus,
6760 void* pUserData);
6761
Jeff Johnsone7245742012-09-05 17:12:55 -07006762#ifdef FEATURE_OEM_DATA_SUPPORT
6763/*---------------------------------------------------------------------------
6764 WDI_oemDataRspCb
6765
6766 DESCRIPTION
6767
6768 This callback is invoked by DAL when it has received a Start oem data response from
6769 the underlying device.
6770
6771 PARAMETERS
6772
6773 IN
6774 wdiStatus: response status received from HAL
6775 pUserData: user data
6776
6777
6778
6779 RETURN VALUE
6780 The result code associated with performing the operation
6781---------------------------------------------------------------------------*/
6782typedef void (*WDI_oemDataRspCb)(WDI_oemDataRspParamsType* wdiOemDataRspParams,
6783 void* pUserData);
6784
6785#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07006786
6787/*---------------------------------------------------------------------------
6788 WDI_HostResumeEventRspCb
6789
6790 DESCRIPTION
6791
6792 This callback is invoked by DAL when it has received a Bt AMP event response
6793 from the underlying device.
6794
6795 PARAMETERS
6796
6797 IN
6798 wdiStatus: response status received from HAL
6799 pUserData: user data
6800
6801
6802
6803 RETURN VALUE
6804 The result code associated with performing the operation
6805---------------------------------------------------------------------------*/
6806typedef void (*WDI_HostResumeEventRspCb)(
6807 WDI_SuspendResumeRspParamsType *resumeRspParams,
6808 void* pUserData);
6809
6810
6811#ifdef WLAN_FEATURE_VOWIFI_11R
6812/*---------------------------------------------------------------------------
6813 WDI_AggrAddTsRspCb
6814
6815 DESCRIPTION
6816
6817 This callback is invoked by DAL when it has received a Aggregated Add TS
6818 response from the underlying device.
6819
6820 PARAMETERS
6821
6822 IN
6823 wdiStatus: response status received from HAL
6824 pUserData: user data
6825
6826
6827
6828 RETURN VALUE
6829 The result code associated with performing the operation
6830---------------------------------------------------------------------------*/
6831typedef void (*WDI_AggrAddTsRspCb)(WDI_Status wdiStatus,
6832 void* pUserData);
6833#endif /* WLAN_FEATURE_VOWIFI_11R */
6834
Jeff Johnson295189b2012-06-20 16:38:30 -07006835/*---------------------------------------------------------------------------
6836 WDI_FTMCommandRspCb
6837
6838 DESCRIPTION
6839
6840 FTM Command response CB
6841
6842 PARAMETERS
6843
6844 IN
6845 ftmCMDRspdata: FTM response data from HAL
6846 pUserData: user data
6847
6848
6849 RETURN VALUE
6850 NONE
6851---------------------------------------------------------------------------*/
6852typedef void (*WDI_FTMCommandRspCb)(void *ftmCMDRspdata,
6853 void *pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006854
6855/*---------------------------------------------------------------------------
6856 WDI_AddSTASelfParamsRspCb
6857
6858 DESCRIPTION
6859
6860 This callback is invoked by DAL when it has received a Add Sta Self Params
6861 response from the underlying device.
6862
6863 PARAMETERS
6864
6865 IN
6866 wdiAddSelfSTARsp: response status received from HAL
6867 pUserData: user data
6868
6869
6870
6871 RETURN VALUE
6872 The result code associated with performing the operation
6873---------------------------------------------------------------------------*/
6874typedef void (*WDI_AddSTASelfParamsRspCb)(
6875 WDI_AddSTASelfRspParamsType* pwdiAddSelfSTARsp,
6876 void* pUserData);
6877
6878
6879/*---------------------------------------------------------------------------
6880 WDI_DelSTASelfRspCb
6881
6882 DESCRIPTION
6883
6884 This callback is invoked by DAL when it has received a host offload
6885 response from the underlying device.
6886
6887 PARAMETERS
6888
6889 IN
6890 wdiStatus: response status received from HAL
6891 pUserData: user data
6892
6893
6894
6895 RETURN VALUE
6896 The result code associated with performing the operation
6897---------------------------------------------------------------------------*/
6898typedef void (*WDI_DelSTASelfRspCb)
6899(
6900WDI_DelSTASelfRspParamsType* wdiDelStaSelfRspParams,
6901void* pUserData
6902);
6903
6904#ifdef FEATURE_WLAN_SCAN_PNO
6905/*---------------------------------------------------------------------------
6906 WDI_PNOScanCb
6907
6908 DESCRIPTION
6909
6910 This callback is invoked by DAL when it has received a Set PNO
6911 response from the underlying device.
6912
6913 PARAMETERS
6914
6915 IN
6916 wdiStatus: response status received from HAL
6917 pUserData: user data
6918
6919
6920
6921 RETURN VALUE
6922 The result code associated with performing the operation
6923---------------------------------------------------------------------------*/
6924typedef void (*WDI_PNOScanCb)(WDI_Status wdiStatus,
6925 void* pUserData);
6926
6927/*---------------------------------------------------------------------------
6928 WDI_PNOScanCb
6929
6930 DESCRIPTION
6931
6932 This callback is invoked by DAL when it has received a Set PNO
6933 response from the underlying device.
6934
6935 PARAMETERS
6936
6937 IN
6938 wdiStatus: response status received from HAL
6939 pUserData: user data
6940
6941
6942
6943 RETURN VALUE
6944 The result code associated with performing the operation
6945---------------------------------------------------------------------------*/
6946typedef void (*WDI_RssiFilterCb)(WDI_Status wdiStatus,
6947 void* pUserData);
6948
6949/*---------------------------------------------------------------------------
6950 WDI_UpdateScanParamsCb
6951
6952 DESCRIPTION
6953
6954 This callback is invoked by DAL when it has received a Update Scan Params
6955 response from the underlying device.
6956
6957 PARAMETERS
6958
6959 IN
6960 wdiStatus: response status received from HAL
6961 pUserData: user data
6962
6963
6964
6965 RETURN VALUE
6966 The result code associated with performing the operation
6967---------------------------------------------------------------------------*/
6968typedef void (*WDI_UpdateScanParamsCb)(WDI_Status wdiStatus,
6969 void* pUserData);
6970#endif // FEATURE_WLAN_SCAN_PNO
6971
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07006972#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
6973/*---------------------------------------------------------------------------
6974 WDI_RoamOffloadScanCb
6975
6976 DESCRIPTION
6977
6978 This callback is invoked by DAL when it has received a Start Roam Candidate Lookup Req
6979 response from the underlying device.
6980
6981 PARAMETERS
6982
6983 IN
6984 wdiStatus: response status received from HAL
6985 pUserData: user data
6986
6987
6988
6989 RETURN VALUE
6990 The result code associated with performing the operation
6991---------------------------------------------------------------------------*/
6992typedef void (*WDI_RoamOffloadScanCb)(WDI_Status wdiStatus,
6993 void* pUserData);
6994
6995#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07006996/*---------------------------------------------------------------------------
6997 WDI_SetTxPerTrackingRspCb
6998
6999 DESCRIPTION
7000
7001 This callback is invoked by DAL when it has received a Tx PER Tracking
7002 response from the underlying device.
7003
7004 PARAMETERS
7005
7006 IN
7007 wdiStatus: response status received from HAL
7008 pUserData: user data
7009
7010
7011
7012 RETURN VALUE
7013 The result code associated with performing the operation
7014---------------------------------------------------------------------------*/
7015typedef void (*WDI_SetTxPerTrackingRspCb)(WDI_Status wdiStatus,
7016 void* pUserData);
7017
7018#ifdef WLAN_FEATURE_PACKET_FILTERING
7019/*---------------------------------------------------------------------------
7020 WDI_8023MulticastListCb
7021
7022 DESCRIPTION
7023
7024 This callback is invoked by DAL when it has received a 8023 Multicast List
7025 response from the underlying device.
7026
7027 PARAMETERS
7028
7029 IN
7030 wdiStatus: response status received from HAL
7031 pUserData: user data
7032
7033
7034
7035 RETURN VALUE
7036 The result code associated with performing the operation
7037---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007038typedef void (*WDI_8023MulticastListCb)(
7039 WDI_RcvFltPktSetMcListRspParamsType *pwdiRcvFltPktSetMcListRspInfo,
7040 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007041
7042/*---------------------------------------------------------------------------
7043 WDI_ReceiveFilterSetFilterCb
7044
7045 DESCRIPTION
7046
7047 This callback is invoked by DAL when it has received a Receive Filter Set Filter
7048 response from the underlying device.
7049
7050 PARAMETERS
7051
7052 IN
7053 wdiStatus: response status received from HAL
7054 pUserData: user data
7055
7056
7057
7058 RETURN VALUE
7059 The result code associated with performing the operation
7060---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007061typedef void (*WDI_ReceiveFilterSetFilterCb)(
7062 WDI_SetRcvPktFilterRspParamsType *pwdiSetRcvPktFilterRspInfo,
7063 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007064
7065/*---------------------------------------------------------------------------
7066 WDI_FilterMatchCountCb
7067
7068 DESCRIPTION
7069
7070 This callback is invoked by DAL when it has received a Do PC Filter Match Count
7071 response from the underlying device.
7072
7073 PARAMETERS
7074
7075 IN
7076 wdiStatus: response status received from HAL
7077 pUserData: user data
7078
7079
7080
7081 RETURN VALUE
7082 The result code associated with performing the operation
7083---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007084typedef void (*WDI_FilterMatchCountCb)(
7085 WDI_RcvFltPktMatchCntRspParamsType *pwdiRcvFltPktMatchRspParams,
7086 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007087
7088/*---------------------------------------------------------------------------
7089 WDI_ReceiveFilterClearFilterCb
7090
7091 DESCRIPTION
7092
7093 This callback is invoked by DAL when it has received a Receive Filter Clear Filter
7094 response from the underlying device.
7095
7096 PARAMETERS
7097
7098 IN
7099 wdiStatus: response status received from HAL
7100 pUserData: user data
7101
7102
7103
7104 RETURN VALUE
7105 The result code associated with performing the operation
7106---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007107typedef void (*WDI_ReceiveFilterClearFilterCb)(
7108 WDI_RcvFltPktClearRspParamsType *pwdiRcvFltPktClearRspParamsType,
7109 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007110#endif // WLAN_FEATURE_PACKET_FILTERING
7111
7112/*---------------------------------------------------------------------------
7113 WDI_HALDumpCmdRspCb
7114
7115 DESCRIPTION
7116
7117 This callback is invoked by DAL when it has received a HAL DUMP Command
7118response from
7119 the HAL layer.
7120
7121 PARAMETERS
7122
7123 IN
7124 wdiHalDumpCmdRsp: response status received from HAL
7125 pUserData: user data
7126
7127
7128
7129 RETURN VALUE
7130 The result code associated with performing the operation
7131---------------------------------------------------------------------------*/
7132typedef void (*WDI_HALDumpCmdRspCb)(WDI_HALDumpCmdRspParamsType* wdiHalDumpCmdRsp,
7133 void* pUserData);
7134
7135/*---------------------------------------------------------------------------
7136 WDI_SetPowerParamsCb
7137
7138 DESCRIPTION
7139
7140 This callback is invoked by DAL when it has received a Set Power Param
7141 response from the underlying device.
7142
7143 PARAMETERS
7144
7145 IN
7146 wdiStatus: response status received from HAL
7147 pUserData: user data
7148
7149
7150
7151 RETURN VALUE
7152 The result code associated with performing the operation
7153---------------------------------------------------------------------------*/
7154typedef void (*WDI_SetPowerParamsCb)(WDI_Status wdiStatus,
7155 void* pUserData);
7156
7157#ifdef WLAN_FEATURE_GTK_OFFLOAD
7158/*---------------------------------------------------------------------------
7159 WDI_GtkOffloadCb
7160
7161 DESCRIPTION
7162
7163 This callback is invoked by DAL when it has received a GTK offload
7164 response from the underlying device.
7165
7166 PARAMETERS
7167
7168 IN
7169 wdiStatus: response status received from HAL
7170 pUserData: user data
7171
7172
7173
7174 RETURN VALUE
7175 The result code associated with performing the operation
7176---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007177typedef void (*WDI_GtkOffloadCb)( WDI_GtkOffloadRspParams *pwdiGtkOffloadRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007178 void* pUserData);
7179
7180/*---------------------------------------------------------------------------
7181 WDI_GtkOffloadGetInfoCb
7182
7183 DESCRIPTION
7184
7185 This callback is invoked by DAL when it has received a GTK offload
7186 information response from the underlying device.
7187
7188 PARAMETERS
7189
7190 IN
7191 wdiStatus: response status received from HAL
7192 pUserData: user data
7193
7194
7195
7196 RETURN VALUE
7197 The result code associated with performing the operation
7198---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007199typedef void (*WDI_GtkOffloadGetInfoCb)( WDI_GtkOffloadGetInfoRspParams *pwdiGtkOffloadGetInfoRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007200 void* pUserData);
7201#endif // WLAN_FEATURE_GTK_OFFLOAD
7202
7203/*---------------------------------------------------------------------------
7204 WDI_SetTmLevelCb
7205
7206 DESCRIPTION
7207
7208 This callback is invoked by DAL when it has received a Set New TM Level
7209 done response from the underlying device.
7210
7211 PARAMETERS
7212
7213 IN
7214 wdiStatus: response status received from HAL
7215 pUserData: user data
7216
7217
7218
7219 RETURN VALUE
7220 The result code associated with performing the operation
7221---------------------------------------------------------------------------*/
7222typedef void (*WDI_SetTmLevelCb)(WDI_Status wdiStatus,
7223 void* pUserData);
7224
7225/*---------------------------------------------------------------------------
7226 WDI_featureCapsExchangeCb
7227
7228 DESCRIPTION
7229
7230 This callback is invoked by DAL when it has received a HAL Feature Capbility
7231 Exchange Response the HAL layer. This callback is put to mantain code
7232 similarity and is not being used right now.
7233
7234 PARAMETERS
7235
7236 IN
7237 wdiFeatCapRspParams: response parameters received from HAL
7238 pUserData: user data
7239
7240 RETURN VALUE
7241 The result code associated with performing the operation
7242---------------------------------------------------------------------------*/
7243typedef void (*WDI_featureCapsExchangeCb)(void* wdiFeatCapRspParams,
7244 void* pUserData);
7245
Mohit Khanna4a70d262012-09-11 16:30:12 -07007246#ifdef WLAN_FEATURE_11AC
7247typedef void (*WDI_UpdateVHTOpModeCb)(WDI_Status wdiStatus,
7248 void* pUserData);
7249#endif
7250
Leo Chang9056f462013-08-01 19:21:11 -07007251#ifdef FEATURE_WLAN_LPHB
7252typedef void (*WDI_LphbCfgCb)(WDI_Status wdiStatus,
7253 void* pUserData);
7254#endif /* FEATURE_WLAN_LPHB */
Mohit Khanna4a70d262012-09-11 16:30:12 -07007255
Rajeev79dbe4c2013-10-05 11:03:42 +05307256#ifdef FEATURE_WLAN_BATCH_SCAN
7257/*---------------------------------------------------------------------------
7258 WDI_SetBatchScanCb
7259
7260 DESCRIPTION
7261
7262 This callback is invoked by DAL when it has received a get batch scan
7263 response from the underlying device.
7264
7265 PARAMETERS
7266
7267 IN
7268 wdiStatus: response status received from HAL
7269 pUserData: user data
7270
7271
7272
7273 RETURN VALUE
7274 The result code associated with performing the operation
7275---------------------------------------------------------------------------*/
7276typedef void (*WDI_SetBatchScanCb)(void *pData, WDI_SetBatchScanRspType *pRsp);
7277
7278#endif
7279
7280
Jeff Johnson295189b2012-06-20 16:38:30 -07007281/*========================================================================
7282 * Function Declarations and Documentation
7283 ==========================================================================*/
7284
7285/*========================================================================
7286
7287 INITIALIZATION APIs
7288
7289==========================================================================*/
7290
7291/**
7292 @brief WDI_Init is used to initialize the DAL.
7293
7294 DAL will allocate all the resources it needs. It will open PAL, it will also
7295 open both the data and the control transport which in their turn will open
7296 DXE/SMD or any other drivers that they need.
7297
7298 @param pOSContext: pointer to the OS context provided by the UMAC
7299 will be passed on to PAL on Open
7300 ppWDIGlobalCtx: output pointer of Global Context
7301 pWdiDevCapability: output pointer of device capability
7302
7303 @return Result of the function call
7304*/
7305WDI_Status
7306WDI_Init
7307(
7308 void* pOSContext,
7309 void** ppWDIGlobalCtx,
7310 WDI_DeviceCapabilityType* pWdiDevCapability,
7311 unsigned int driverType
7312);
7313
7314/**
7315 @brief WDI_Start will be called when the upper MAC is ready to
7316 commence operation with the WLAN Device. Upon the call
7317 of this API the WLAN DAL will pack and send a HAL Start
7318 message to the lower RIVA sub-system if the SMD channel
7319 has been fully opened and the RIVA subsystem is up.
7320
7321 If the RIVA sub-system is not yet up and running DAL
7322 will queue the request for Open and will wait for the
7323 SMD notification before attempting to send down the
7324 message to HAL.
7325
7326 WDI_Init must have been called.
7327
7328 @param wdiStartParams: the start parameters as specified by
7329 the Device Interface
7330
7331 wdiStartRspCb: callback for passing back the response of
7332 the start operation received from the device
7333
7334 pUserData: user data will be passed back with the
7335 callback
7336
7337 @see WDI_Start
7338 @return Result of the function call
7339*/
7340WDI_Status
7341WDI_Start
7342(
7343 WDI_StartReqParamsType* pwdiStartParams,
7344 WDI_StartRspCb wdiStartRspCb,
7345 void* pUserData
7346);
7347
7348
7349/**
7350 @brief WDI_Stop will be called when the upper MAC is ready to
7351 stop any operation with the WLAN Device. Upon the call
7352 of this API the WLAN DAL will pack and send a HAL Stop
7353 message to the lower RIVA sub-system if the DAL Core is
7354 in started state.
7355
7356 In state BUSY this request will be queued.
7357
7358 Request will not be accepted in any other state.
7359
7360 WDI_Start must have been called.
7361
7362 @param wdiStopParams: the stop parameters as specified by
7363 the Device Interface
7364
7365 wdiStopRspCb: callback for passing back the response of
7366 the stop operation received from the device
7367
7368 pUserData: user data will be passed back with the
7369 callback
7370
7371 @see WDI_Start
7372 @return Result of the function call
7373*/
7374WDI_Status
7375WDI_Stop
7376(
7377 WDI_StopReqParamsType* pwdiStopParams,
7378 WDI_StopRspCb wdiStopRspCb,
7379 void* pUserData
7380);
7381
7382/**
7383 @brief WDI_Close will be called when the upper MAC no longer
7384 needs to interract with DAL. DAL will free its control
7385 block.
7386
7387 It is only accepted in state STOPPED.
7388
7389 WDI_Stop must have been called.
7390
7391 @param none
7392
7393 @see WDI_Stop
7394 @return Result of the function call
7395*/
7396WDI_Status
7397WDI_Close
7398(
7399 void
7400);
7401
7402
7403/**
7404 @brief WDI_Shutdown will be called during 'SSR shutdown' operation.
7405 This will do most of the WDI stop & close
7406 operations without doing any handshake with Riva
7407
7408 This will also make sure that the control transport
7409 will NOT be closed.
7410
7411 This request will not be queued.
7412
7413
7414 WDI_Start must have been called.
7415
7416 @param closeTransport: Close control channel if this is set
7417
7418 @return Result of the function call
7419*/
7420WDI_Status
7421WDI_Shutdown
7422(
7423 wpt_boolean closeTransport
7424);
7425
7426/*========================================================================
7427
7428 SCAN APIs
7429
7430==========================================================================*/
7431
7432/**
7433 @brief WDI_InitScanReq will be called when the upper MAC wants
7434 the WLAN Device to get ready for a scan procedure. Upon
7435 the call of this API the WLAN DAL will pack and send a
7436 HAL Init Scan request message to the lower RIVA
7437 sub-system if DAL is in state STARTED.
7438
7439 In state BUSY this request will be queued. Request won't
7440 be allowed in any other state.
7441
7442 WDI_Start must have been called.
7443
7444 @param wdiInitScanParams: the init scan parameters as specified
7445 by the Device Interface
7446
7447 wdiInitScanRspCb: callback for passing back the response
7448 of the init scan operation received from the device
7449
7450 pUserData: user data will be passed back with the
7451 callback
7452
7453 @see WDI_Start
7454 @return Result of the function call
7455*/
7456WDI_Status
7457WDI_InitScanReq
7458(
7459 WDI_InitScanReqParamsType* pwdiInitScanParams,
7460 WDI_InitScanRspCb wdiInitScanRspCb,
7461 void* pUserData
7462);
7463
7464/**
7465 @brief WDI_StartScanReq will be called when the upper MAC
7466 wishes to change the Scan channel on the WLAN Device.
7467 Upon the call of this API the WLAN DAL will pack and
7468 send a HAL Start Scan request message to the lower RIVA
7469 sub-system if DAL is in state STARTED.
7470
7471 In state BUSY this request will be queued. Request won't
7472 be allowed in any other state.
7473
7474 WDI_InitScanReq must have been called.
7475
7476 @param wdiStartScanParams: the start scan parameters as
7477 specified by the Device Interface
7478
7479 wdiStartScanRspCb: callback for passing back the
7480 response of the start scan operation received from the
7481 device
7482
7483 pUserData: user data will be passed back with the
7484 callback
7485
7486 @see WDI_InitScanReq
7487 @return Result of the function call
7488*/
7489WDI_Status
7490WDI_StartScanReq
7491(
7492 WDI_StartScanReqParamsType* pwdiStartScanParams,
7493 WDI_StartScanRspCb wdiStartScanRspCb,
7494 void* pUserData
7495);
7496
7497
7498/**
7499 @brief WDI_EndScanReq will be called when the upper MAC is
7500 wants to end scanning for a particular channel that it
7501 had set before by calling Scan Start on the WLAN Device.
7502 Upon the call of this API the WLAN DAL will pack and
7503 send a HAL End Scan request message to the lower RIVA
7504 sub-system if DAL is in state STARTED.
7505
7506 In state BUSY this request will be queued. Request won't
7507 be allowed in any other state.
7508
7509 WDI_StartScanReq must have been called.
7510
7511 @param wdiEndScanParams: the end scan parameters as specified
7512 by the Device Interface
7513
7514 wdiEndScanRspCb: callback for passing back the response
7515 of the end scan operation received from the device
7516
7517 pUserData: user data will be passed back with the
7518 callback
7519
7520 @see WDI_StartScanReq
7521 @return Result of the function call
7522*/
7523WDI_Status
7524WDI_EndScanReq
7525(
7526 WDI_EndScanReqParamsType* pwdiEndScanParams,
7527 WDI_EndScanRspCb wdiEndScanRspCb,
7528 void* pUserData
7529);
7530
7531
7532/**
7533 @brief WDI_FinishScanReq will be called when the upper MAC has
7534 completed the scan process on the WLAN Device. Upon the
7535 call of this API the WLAN DAL will pack and send a HAL
7536 Finish Scan Request request message to the lower RIVA
7537 sub-system if DAL is in state STARTED.
7538
7539 In state BUSY this request will be queued. Request won't
7540 be allowed in any other state.
7541
7542 WDI_InitScanReq must have been called.
7543
7544 @param wdiFinishScanParams: the finish scan parameters as
7545 specified by the Device Interface
7546
7547 wdiFinishScanRspCb: callback for passing back the
7548 response of the finish scan operation received from the
7549 device
7550
7551 pUserData: user data will be passed back with the
7552 callback
7553
7554 @see WDI_InitScanReq
7555 @return Result of the function call
7556*/
7557WDI_Status
7558WDI_FinishScanReq
7559(
7560 WDI_FinishScanReqParamsType* pwdiFinishScanParams,
7561 WDI_FinishScanRspCb wdiFinishScanRspCb,
7562 void* pUserData
7563);
7564
7565/*========================================================================
7566
7567 ASSOCIATION APIs
7568
7569==========================================================================*/
7570
7571/**
7572 @brief WDI_JoinReq will be called when the upper MAC is ready
7573 to start an association procedure to a BSS. Upon the
7574 call of this API the WLAN DAL will pack and send a HAL
7575 Join request message to the lower RIVA sub-system if
7576 DAL is in state STARTED.
7577
7578 In state BUSY this request will be queued. Request won't
7579 be allowed in any other state.
7580
7581 WDI_Start must have been called.
7582
7583 @param wdiJoinParams: the join parameters as specified by
7584 the Device Interface
7585
7586 wdiJoinRspCb: callback for passing back the response of
7587 the join operation received from the device
7588
7589 pUserData: user data will be passed back with the
7590 callback
7591
7592 @see WDI_Start
7593 @return Result of the function call
7594*/
7595WDI_Status
7596WDI_JoinReq
7597(
7598 WDI_JoinReqParamsType* pwdiJoinParams,
7599 WDI_JoinRspCb wdiJoinRspCb,
7600 void* pUserData
7601);
7602
7603/**
7604 @brief WDI_ConfigBSSReq will be called when the upper MAC
7605 wishes to configure the newly acquired or in process of
7606 being acquired BSS to the HW . Upon the call of this API
7607 the WLAN DAL will pack and send a HAL Config BSS request
7608 message to the lower RIVA sub-system if DAL is in state
7609 STARTED.
7610
7611 In state BUSY this request will be queued. Request won't
7612 be allowed in any other state.
7613
7614 WDI_JoinReq must have been called.
7615
7616 @param wdiConfigBSSParams: the config BSS parameters as
7617 specified by the Device Interface
7618
7619 wdiConfigBSSRspCb: callback for passing back the
7620 response of the config BSS operation received from the
7621 device
7622
7623 pUserData: user data will be passed back with the
7624 callback
7625
7626 @see WDI_JoinReq
7627 @return Result of the function call
7628*/
7629WDI_Status
7630WDI_ConfigBSSReq
7631(
7632 WDI_ConfigBSSReqParamsType* pwdiConfigBSSParams,
7633 WDI_ConfigBSSRspCb wdiConfigBSSRspCb,
7634 void* pUserData
7635);
7636
7637/**
7638 @brief WDI_DelBSSReq will be called when the upper MAC is
7639 dissasociating from the BSS and wishes to notify HW.
7640 Upon the call of this API the WLAN DAL will pack and
7641 send a HAL Del BSS request message to the lower RIVA
7642 sub-system if DAL is in state STARTED.
7643
7644 In state BUSY this request will be queued. Request won't
7645 be allowed in any other state.
7646
7647 WDI_ConfigBSSReq or WDI_PostAssocReq must have been called.
7648
7649 @param wdiDelBSSParams: the del BSS parameters as specified by
7650 the Device Interface
7651
7652 wdiDelBSSRspCb: callback for passing back the response
7653 of the del bss operation received from the device
7654
7655 pUserData: user data will be passed back with the
7656 callback
7657
7658 @see WDI_ConfigBSSReq, WDI_PostAssocReq
7659 @return Result of the function call
7660*/
7661WDI_Status
7662WDI_DelBSSReq
7663(
7664 WDI_DelBSSReqParamsType* pwdiDelBSSParams,
7665 WDI_DelBSSRspCb wdiDelBSSRspCb,
7666 void* pUserData
7667);
7668
7669/**
7670 @brief WDI_PostAssocReq will be called when the upper MAC has
7671 associated to a BSS and wishes to configure HW for
7672 associated state. Upon the call of this API the WLAN DAL
7673 will pack and send a HAL Post Assoc request message to
7674 the lower RIVA sub-system if DAL is in state STARTED.
7675
7676 In state BUSY this request will be queued. Request won't
7677 be allowed in any other state.
7678
7679 WDI_JoinReq must have been called.
7680
7681 @param wdiPostAssocReqParams: the assoc parameters as specified
7682 by the Device Interface
7683
7684 wdiPostAssocRspCb: callback for passing back the
7685 response of the post assoc operation received from the
7686 device
7687
7688 pUserData: user data will be passed back with the
7689 callback
7690
7691 @see WDI_JoinReq
7692 @return Result of the function call
7693*/
7694WDI_Status
7695WDI_PostAssocReq
7696(
7697 WDI_PostAssocReqParamsType* pwdiPostAssocReqParams,
7698 WDI_PostAssocRspCb wdiPostAssocRspCb,
7699 void* pUserData
7700);
7701
7702/**
7703 @brief WDI_DelSTAReq will be called when the upper MAC when an
7704 association with another STA has ended and the station
7705 must be deleted from HW. Upon the call of this API the
7706 WLAN DAL will pack and send a HAL Del STA request
7707 message to the lower RIVA sub-system if DAL is in state
7708 STARTED.
7709
7710 In state BUSY this request will be queued. Request won't
7711 be allowed in any other state.
7712
7713 WDI_PostAssocReq must have been called.
7714
7715 @param wdiDelSTAParams: the Del STA parameters as specified by
7716 the Device Interface
7717
7718 wdiDelSTARspCb: callback for passing back the response
7719 of the del STA operation received from the device
7720
7721 pUserData: user data will be passed back with the
7722 callback
7723
7724 @see WDI_PostAssocReq
7725 @return Result of the function call
7726*/
7727WDI_Status
7728WDI_DelSTAReq
7729(
7730 WDI_DelSTAReqParamsType* pwdiDelSTAParams,
7731 WDI_DelSTARspCb wdiDelSTARspCb,
7732 void* pUserData
7733);
7734
7735/*========================================================================
7736
7737 SECURITY APIs
7738
7739==========================================================================*/
7740
7741/**
7742 @brief WDI_SetBSSKeyReq will be called when the upper MAC ito
7743 install a BSS encryption key on the HW. Upon the call of
7744 this API the WLAN DAL will pack and send a HAL Start
7745 request message to the lower RIVA sub-system if DAL is
7746 in state STARTED.
7747
7748 In state BUSY this request will be queued. Request won't
7749 be allowed in any other state.
7750
7751 WDI_PostAssocReq must have been called.
7752
7753 @param wdiSetBSSKeyParams: the BSS Key set parameters as
7754 specified by the Device Interface
7755
7756 wdiSetBSSKeyRspCb: callback for passing back the
7757 response of the set BSS Key operation received from the
7758 device
7759
7760 pUserData: user data will be passed back with the
7761 callback
7762
7763 @see WDI_PostAssocReq
7764 @return Result of the function call
7765*/
7766WDI_Status
7767WDI_SetBSSKeyReq
7768(
7769 WDI_SetBSSKeyReqParamsType* pwdiSetBSSKeyParams,
7770 WDI_SetBSSKeyRspCb wdiSetBSSKeyRspCb,
7771 void* pUserData
7772);
7773
7774
7775/**
7776 @brief WDI_RemoveBSSKeyReq will be called when the upper MAC to
7777 uninstall a BSS key from HW. Upon the call of this API
7778 the WLAN DAL will pack and send a HAL Remove BSS Key
7779 request message to the lower RIVA sub-system if DAL is
7780 in state STARTED.
7781
7782 In state BUSY this request will be queued. Request won't
7783 be allowed in any other state.
7784
7785 WDI_SetBSSKeyReq must have been called.
7786
7787 @param wdiRemoveBSSKeyParams: the remove BSS key parameters as
7788 specified by the Device Interface
7789
7790 wdiRemoveBSSKeyRspCb: callback for passing back the
7791 response of the remove BSS key operation received from
7792 the device
7793
7794 pUserData: user data will be passed back with the
7795 callback
7796
7797 @see WDI_SetBSSKeyReq
7798 @return Result of the function call
7799*/
7800WDI_Status
7801WDI_RemoveBSSKeyReq
7802(
7803 WDI_RemoveBSSKeyReqParamsType* pwdiRemoveBSSKeyParams,
7804 WDI_RemoveBSSKeyRspCb wdiRemoveBSSKeyRspCb,
7805 void* pUserData
7806);
7807
7808
7809/**
7810 @brief WDI_SetSTAKeyReq will be called when the upper MAC is
7811 ready to install a STA(ast) encryption key in HW. Upon
7812 the call of this API the WLAN DAL will pack and send a
7813 HAL Set STA Key request message to the lower RIVA
7814 sub-system if DAL is in state STARTED.
7815
7816 In state BUSY this request will be queued. Request won't
7817 be allowed in any other state.
7818
7819 WDI_PostAssocReq must have been called.
7820
7821 @param wdiSetSTAKeyParams: the set STA key parameters as
7822 specified by the Device Interface
7823
7824 wdiSetSTAKeyRspCb: callback for passing back the
7825 response of the set STA key operation received from the
7826 device
7827
7828 pUserData: user data will be passed back with the
7829 callback
7830
7831 @see WDI_PostAssocReq
7832 @return Result of the function call
7833*/
7834WDI_Status
7835WDI_SetSTAKeyReq
7836(
7837 WDI_SetSTAKeyReqParamsType* pwdiSetSTAKeyParams,
7838 WDI_SetSTAKeyRspCb wdiSetSTAKeyRspCb,
7839 void* pUserData
7840);
7841
7842
7843/**
7844 @brief WDI_RemoveSTAKeyReq will be called when the upper MAC
7845 wants to unistall a previously set STA key in HW. Upon
7846 the call of this API the WLAN DAL will pack and send a
7847 HAL Remove STA Key request message to the lower RIVA
7848 sub-system if DAL is in state STARTED.
7849
7850 In state BUSY this request will be queued. Request won't
7851 be allowed in any other state.
7852
7853 WDI_SetSTAKeyReq must have been called.
7854
7855 @param wdiRemoveSTAKeyParams: the remove STA key parameters as
7856 specified by the Device Interface
7857
7858 wdiRemoveSTAKeyRspCb: callback for passing back the
7859 response of the remove STA key operation received from
7860 the device
7861
7862 pUserData: user data will be passed back with the
7863 callback
7864
7865 @see WDI_SetSTAKeyReq
7866 @return Result of the function call
7867*/
7868WDI_Status
7869WDI_RemoveSTAKeyReq
7870(
7871 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTAKeyParams,
7872 WDI_RemoveSTAKeyRspCb wdiRemoveSTAKeyRspCb,
7873 void* pUserData
7874);
7875
7876/**
7877 @brief WDI_SetSTABcastKeyReq will be called when the upper MAC
7878 wants to install a STA Bcast encryption key on the HW.
7879 Upon the call of this API the WLAN DAL will pack and
7880 send a HAL Start request message to the lower RIVA
7881 sub-system if DAL is in state STARTED.
7882
7883 In state BUSY this request will be queued. Request won't
7884 be allowed in any other state.
7885
7886 WDI_PostAssocReq must have been called.
7887
7888 @param pwdiSetSTABcastKeyParams: the BSS Key set parameters as
7889 specified by the Device Interface
7890
7891 wdiSetSTABcastKeyRspCb: callback for passing back the
7892 response of the set BSS Key operation received from the
7893 device
7894
7895 pUserData: user data will be passed back with the
7896 callback
7897
7898 @see WDI_PostAssocReq
7899 @return Result of the function call
7900*/
7901WDI_Status
7902WDI_SetSTABcastKeyReq
7903(
7904 WDI_SetSTAKeyReqParamsType* pwdiSetSTABcastKeyParams,
7905 WDI_SetSTAKeyRspCb wdiSetSTABcastKeyRspCb,
7906 void* pUserData
7907);
7908
7909
7910/**
7911 @brief WDI_RemoveSTABcastKeyReq will be called when the upper
7912 MAC to uninstall a STA Bcast key from HW. Upon the call
7913 of this API the WLAN DAL will pack and send a HAL Remove
7914 STA Bcast Key request message to the lower RIVA
7915 sub-system if DAL is in state STARTED.
7916
7917 In state BUSY this request will be queued. Request won't
7918 be allowed in any other state.
7919
7920 WDI_SetSTABcastKeyReq must have been called.
7921
7922 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
7923 parameters as specified by the Device
7924 Interface
7925
7926 wdiRemoveSTABcastKeyRspCb: callback for passing back the
7927 response of the remove STA Bcast key operation received
7928 from the device
7929
7930 pUserData: user data will be passed back with the
7931 callback
7932
7933 @see WDI_SetSTABcastKeyReq
7934 @return Result of the function call
7935*/
7936WDI_Status
7937WDI_RemoveSTABcastKeyReq
7938(
7939 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTABcastKeyParams,
7940 WDI_RemoveSTAKeyRspCb wdiRemoveSTABcastKeyRspCb,
7941 void* pUserData
7942);
7943
schang86c22c42013-03-13 18:41:24 -07007944
7945/**
7946 @brief WDI_SetTxPowerReq will be called when the upper
7947 MAC wants to set Tx Power to HW.
7948 In state BUSY this request will be queued. Request won't
7949 be allowed in any other state.
7950
7951
7952 @param pwdiSetTxPowerParams: set TS Power parameters
7953 BSSID and target TX Power with dbm included
7954
7955 wdiReqStatusCb: callback for passing back the response
7956
7957 pUserData: user data will be passed back with the
7958 callback
7959
7960 @return Result of the function call
7961*/
7962WDI_Status
7963WDI_SetTxPowerReq
7964(
7965 WDI_SetTxPowerParamsType* pwdiSetTxPowerParams,
7966 WDA_SetTxPowerRspCb wdiReqStatusCb,
7967 void* pUserData
7968);
7969
Jeff Johnson295189b2012-06-20 16:38:30 -07007970/**
7971 @brief WDI_SetMaxTxPowerReq will be called when the upper
7972 MAC wants to set Max Tx Power to HW. Upon the
7973 call of this API the WLAN DAL will pack and send a HAL
7974 Remove STA Bcast Key request message to the lower RIVA
7975 sub-system if DAL is in state STARTED.
7976
7977 In state BUSY this request will be queued. Request won't
7978 be allowed in any other state.
7979
7980 WDI_SetSTABcastKeyReq must have been called.
7981
7982 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
7983 parameters as specified by the Device
7984 Interface
7985
7986 wdiRemoveSTABcastKeyRspCb: callback for passing back the
7987 response of the remove STA Bcast key operation received
7988 from the device
7989
7990 pUserData: user data will be passed back with the
7991 callback
7992
7993 @see WDI_SetMaxTxPowerReq
7994 @return Result of the function call
7995*/
7996WDI_Status
7997WDI_SetMaxTxPowerReq
7998(
7999 WDI_SetMaxTxPowerParamsType* pwdiSetMaxTxPowerParams,
8000 WDA_SetMaxTxPowerRspCb wdiReqStatusCb,
8001 void* pUserData
8002);
8003
Arif Hussaina5ebce02013-08-09 15:09:58 -07008004/**
8005 @brief WDI_SetMaxTxPowerPerBandReq will be called when the upper
8006 MAC wants to set Max Tx Power to HW for specific band. Upon the
8007 call of this API the WLAN DAL will pack and send a HAL
8008 Set Max Tx Power Per Band request message to the lower RIVA
8009 sub-system if DAL is in state STARTED.
8010
8011 In state BUSY this request will be queued. Request won't
8012 be allowed in any other state.
8013
8014
8015 @param WDI_SetMaxTxPowerPerBandParamsType: Max Tx Per Band Info
8016
8017 WDA_SetMaxTxPowerPerBandRspCb: This callback is invoked by DAL
8018 when it has received a set max Tx Power Per Band response from
8019 the underlying device.
8020
8021 pUserData: user data will be passed back with the
8022 callback
8023
8024 @see WDI_SetMaxTxPowerPerBandReq
8025 @return Result of the function call
8026*/
8027WDI_Status
8028WDI_SetMaxTxPowerPerBandReq
8029(
8030 WDI_SetMaxTxPowerPerBandParamsType* pwdiSetMaxTxPowerPerBandParams,
8031 WDA_SetMaxTxPowerPerBandRspCb wdiReqStatusCb,
8032 void* pUserData
8033);
8034
Jeff Johnson295189b2012-06-20 16:38:30 -07008035#ifdef FEATURE_WLAN_CCX
8036/**
8037 @brief WDI_TSMStatsReq will be called by the upper MAC to fetch
8038 Traffic Stream metrics.
8039 In state BUSY this request will be queued. Request won't
8040 be allowed in any other state.
8041
8042 @param wdiAddTsReqParams: the add TS parameters as specified by
8043 the Device Interface
8044
8045 wdiAddTsRspCb: callback for passing back the response of
8046 the add TS operation received from the device
8047
8048 pUserData: user data will be passed back with the
8049 callback
8050
8051 @see WDI_PostAssocReq
8052 @return Result of the function call
8053*/
8054WDI_Status
8055WDI_TSMStatsReq
8056(
8057 WDI_TSMStatsReqParamsType* pwdiTsmStatsReqParams,
8058 WDI_TsmRspCb wdiTsmStatsRspCb,
8059 void* pUserData
8060);
8061
8062
8063#endif
8064
8065/*========================================================================
8066
8067 QoS and BA APIs
8068
8069==========================================================================*/
8070
8071/**
8072 @brief WDI_AddTSReq will be called when the upper MAC to inform
8073 the device of a successful add TSpec negotiation. HW
8074 needs to receive the TSpec Info from the UMAC in order
8075 to configure properly the QoS data traffic. Upon the
8076 call of this API the WLAN DAL will pack and send a HAL
8077 Add TS request message to the lower RIVA sub-system if
8078 DAL is in state STARTED.
8079
8080 In state BUSY this request will be queued. Request won't
8081 be allowed in any other state.
8082
8083 WDI_PostAssocReq must have been called.
8084
8085 @param wdiAddTsReqParams: the add TS parameters as specified by
8086 the Device Interface
8087
8088 wdiAddTsRspCb: callback for passing back the response of
8089 the add TS operation received from the device
8090
8091 pUserData: user data will be passed back with the
8092 callback
8093
8094 @see WDI_PostAssocReq
8095 @return Result of the function call
8096*/
8097WDI_Status
8098WDI_AddTSReq
8099(
8100 WDI_AddTSReqParamsType* pwdiAddTsReqParams,
8101 WDI_AddTsRspCb wdiAddTsRspCb,
8102 void* pUserData
8103);
8104
8105
8106
8107/**
8108 @brief WDI_DelTSReq will be called when the upper MAC has ended
8109 admission on a specific AC. This is to inform HW that
8110 QoS traffic parameters must be rest. Upon the call of
8111 this API the WLAN DAL will pack and send a HAL Del TS
8112 request message to the lower RIVA sub-system if DAL is
8113 in state STARTED.
8114
8115 In state BUSY this request will be queued. Request won't
8116 be allowed in any other state.
8117
8118 WDI_AddTSReq must have been called.
8119
8120 @param wdiDelTsReqParams: the del TS parameters as specified by
8121 the Device Interface
8122
8123 wdiDelTsRspCb: callback for passing back the response of
8124 the del TS operation received from the device
8125
8126 pUserData: user data will be passed back with the
8127 callback
8128
8129 @see WDI_AddTSReq
8130 @return Result of the function call
8131*/
8132WDI_Status
8133WDI_DelTSReq
8134(
8135 WDI_DelTSReqParamsType* pwdiDelTsReqParams,
8136 WDI_DelTsRspCb wdiDelTsRspCb,
8137 void* pUserData
8138);
8139
8140
8141
8142/**
8143 @brief WDI_UpdateEDCAParams will be called when the upper MAC
8144 wishes to update the EDCA parameters used by HW for QoS
8145 data traffic. Upon the call of this API the WLAN DAL
8146 will pack and send a HAL Update EDCA Params request
8147 message to the lower RIVA sub-system if DAL is in state
8148 STARTED.
8149
8150 In state BUSY this request will be queued. Request won't
8151 be allowed in any other state.
8152
8153 WDI_PostAssocReq must have been called.
8154
8155 @param wdiUpdateEDCAParams: the start parameters as specified
8156 by the Device Interface
8157
8158 wdiUpdateEDCAParamsRspCb: callback for passing back the
8159 response of the start operation received from the device
8160
8161 pUserData: user data will be passed back with the
8162 callback
8163
8164 @see WDI_PostAssocReq
8165 @return Result of the function call
8166*/
8167WDI_Status
8168WDI_UpdateEDCAParams
8169(
8170 WDI_UpdateEDCAParamsType* pwdiUpdateEDCAParams,
8171 WDI_UpdateEDCAParamsRspCb wdiUpdateEDCAParamsRspCb,
8172 void* pUserData
8173);
8174
8175
8176
8177/**
8178 @brief WDI_AddBASessionReq will be called when the upper MAC has setup
8179 successfully a BA session and needs to notify the HW for
8180 the appropriate settings to take place. Upon the call of
8181 this API the WLAN DAL will pack and send a HAL Add BA
8182 request message to the lower RIVA sub-system if DAL is
8183 in state STARTED.
8184
8185 In state BUSY this request will be queued. Request won't
8186 be allowed in any other state.
8187
8188 WDI_PostAssocReq must have been called.
8189
8190 @param wdiAddBAReqParams: the add BA parameters as specified by
8191 the Device Interface
8192
8193 wdiAddBARspCb: callback for passing back the response of
8194 the add BA operation received from the device
8195
8196 pUserData: user data will be passed back with the
8197 callback
8198
8199 @see WDI_PostAssocReq
8200 @return Result of the function call
8201*/
8202WDI_Status
8203WDI_AddBASessionReq
8204(
8205 WDI_AddBASessionReqParamsType* pwdiAddBASessionReqParams,
8206 WDI_AddBASessionRspCb wdiAddBASessionRspCb,
8207 void* pUserData
8208);
8209
8210
8211/**
8212 @brief WDI_DelBAReq will be called when the upper MAC wants to
8213 inform HW that it has deleted a previously created BA
8214 session. Upon the call of this API the WLAN DAL will
8215 pack and send a HAL Del BA request message to the lower
8216 RIVA sub-system if DAL is in state STARTED.
8217
8218 In state BUSY this request will be queued. Request won't
8219 be allowed in any other state.
8220
8221 WDI_AddBAReq must have been called.
8222
8223 @param wdiDelBAReqParams: the del BA parameters as specified by
8224 the Device Interface
8225
8226 wdiDelBARspCb: callback for passing back the response of
8227 the del BA operation received from the device
8228
8229 pUserData: user data will be passed back with the
8230 callback
8231
8232 @see WDI_AddBAReq
8233 @return Result of the function call
8234*/
8235WDI_Status
8236WDI_DelBAReq
8237(
8238 WDI_DelBAReqParamsType* pwdiDelBAReqParams,
8239 WDI_DelBARspCb wdiDelBARspCb,
8240 void* pUserData
8241);
8242
8243/**
8244 @brief WDI_UpdateBeaconParamsReq will be called when the upper MAC wants to
8245 inform HW that there is a change in the beacon parameters
8246 Upon the call of this API the WLAN DAL will
8247 pack and send a UpdateBeacon Params message to the lower
8248 RIVA sub-system if DAL is in state STARTED.
8249
8250 In state BUSY this request will be queued. Request won't
8251 be allowed in any other state.
8252
8253 WDI_UpdateBeaconParamsReq must have been called.
8254
8255 @param WDI_UpdateBeaconParamsType: the Update Beacon parameters as specified by
8256 the Device Interface
8257
8258 WDI_UpdateBeaconParamsRspCb: callback for passing back the response of
8259 the Update Beacon Params operation received from the device
8260
8261 pUserData: user data will be passed back with the
8262 callback
8263
8264 @see WDI_AddBAReq
8265 @return Result of the function call
8266*/
8267
8268WDI_Status
8269WDI_UpdateBeaconParamsReq
8270(
8271 WDI_UpdateBeaconParamsType * pwdiUpdateBeaconParams,
8272 WDI_UpdateBeaconParamsRspCb wdiUpdateBeaconParamsRspCb,
8273 void* pUserData
8274);
8275
8276
8277/**
8278 @brief WDI_SendBeaconParamsReq will be called when the upper MAC wants to
8279 update the beacon template to be transmitted as BT MAP STA/IBSS/Soft AP
8280 Upon the call of this API the WLAN DAL will
8281 pack and send the beacon Template message to the lower
8282 RIVA sub-system if DAL is in state STARTED.
8283
8284 In state BUSY this request will be queued. Request won't
8285 be allowed in any other state.
8286
8287 WDI_SendBeaconParamsReq must have been called.
8288
8289 @param WDI_SendBeaconParamsType: the Update Beacon parameters as specified by
8290 the Device Interface
8291
8292 WDI_SendBeaconParamsRspCb: callback for passing back the response of
8293 the Send Beacon Params operation received from the device
8294
8295 pUserData: user data will be passed back with the
8296 callback
8297
8298 @see WDI_AddBAReq
8299 @return Result of the function call
8300*/
8301
8302WDI_Status
8303WDI_SendBeaconParamsReq
8304(
8305 WDI_SendBeaconParamsType* pwdiSendBeaconParams,
8306 WDI_SendBeaconParamsRspCb wdiSendBeaconParamsRspCb,
8307 void* pUserData
8308);
8309
8310
8311/**
8312 @brief WDI_UpdateProbeRspTemplateReq will be called when the
8313 upper MAC wants to update the probe response template to
8314 be transmitted as Soft AP
8315 Upon the call of this API the WLAN DAL will
8316 pack and send the probe rsp template message to the
8317 lower RIVA sub-system if DAL is in state STARTED.
8318
8319 In state BUSY this request will be queued. Request won't
8320 be allowed in any other state.
8321
8322
8323 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
8324 specified by the Device Interface
8325
8326 wdiSendBeaconParamsRspCb: callback for passing back the
8327 response of the Send Beacon Params operation received
8328 from the device
8329
8330 pUserData: user data will be passed back with the
8331 callback
8332
8333 @see WDI_AddBAReq
8334 @return Result of the function call
8335*/
8336
8337WDI_Status
8338WDI_UpdateProbeRspTemplateReq
8339(
8340 WDI_UpdateProbeRspTemplateParamsType* pwdiUpdateProbeRspParams,
8341 WDI_UpdateProbeRspTemplateRspCb wdiSendBeaconParamsRspCb,
8342 void* pUserData
8343);
8344
Jeff Johnson295189b2012-06-20 16:38:30 -07008345/**
8346 @brief WDI_SetP2PGONOAReq will be called when the
8347 upper MAC wants to send Notice of Absence
8348 Upon the call of this API the WLAN DAL will
8349 pack and send the probe rsp template message to the
8350 lower RIVA sub-system if DAL is in state STARTED.
8351
8352 In state BUSY this request will be queued. Request won't
8353 be allowed in any other state.
8354
8355
8356 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
8357 specified by the Device Interface
8358
8359 wdiSendBeaconParamsRspCb: callback for passing back the
8360 response of the Send Beacon Params operation received
8361 from the device
8362
8363 pUserData: user data will be passed back with the
8364 callback
8365
8366 @see WDI_AddBAReq
8367 @return Result of the function call
8368*/
8369WDI_Status
8370WDI_SetP2PGONOAReq
8371(
8372 WDI_SetP2PGONOAReqParamsType* pwdiP2PGONOAReqParams,
8373 WDI_SetP2PGONOAReqParamsRspCb wdiP2PGONOAReqParamsRspCb,
8374 void* pUserData
8375);
Jeff Johnson295189b2012-06-20 16:38:30 -07008376
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05308377/**
8378 @brief WDI_SetTDLSLinkEstablishReq will be called when the
8379 upper MAC wants to send TDLS Link Establish Request Parameters
8380 Upon the call of this API the WLAN DAL will
8381 pack and send the TDLS Link Establish Request message to the
8382 lower RIVA sub-system if DAL is in state STARTED.
8383
8384 In state BUSY this request will be queued. Request won't
8385 be allowed in any other state.
8386
8387
8388 @param pwdiTDLSLinkEstablishReqParams: TDLS Peer Parameters
8389 for Link Establishment (Used for PUAPSD , TDLS Off Channel ...)
8390
8391 wdiTDLSLinkEstablishReqRspCb: callback for passing back the
8392 response of the TDLS Link Establish request received
8393 from the device
8394
8395 pUserData: user data will be passed back with the
8396 callback
8397
8398 @see
8399 @return Result of the function call
8400*/
8401WDI_Status
8402WDI_SetTDLSLinkEstablishReq
8403(
8404 WDI_SetTDLSLinkEstablishReqParamsType* pwdiTDLSLinkEstablishReqParams,
8405 WDI_SetTDLSLinkEstablishReqParamsRspCb wdiTDLSLinkEstablishReqRspCb,
8406 void* pUserData
8407);
Jeff Johnson295189b2012-06-20 16:38:30 -07008408
8409/*========================================================================
8410
8411 Power Save APIs
8412
8413==========================================================================*/
8414
8415/**
8416 @brief WDI_SetPwrSaveCfgReq will be called when the upper MAC
8417 wants to set the power save related configurations of
8418 the WLAN Device. Upon the call of this API the WLAN DAL
8419 will pack and send a HAL Update CFG request message to
8420 the lower RIVA sub-system if DAL is in state STARTED.
8421
8422 In state BUSY this request will be queued. Request won't
8423 be allowed in any other state.
8424
8425 WDI_Start must have been called.
8426
8427 @param pwdiPowerSaveCfg: the power save cfg parameters as
8428 specified by the Device Interface
8429
8430 wdiSetPwrSaveCfgCb: callback for passing back the
8431 response of the set power save cfg operation received
8432 from the device
8433
8434 pUserData: user data will be passed back with the
8435 callback
8436
8437 @see WDI_Start
8438 @return Result of the function call
8439*/
8440WDI_Status
8441WDI_SetPwrSaveCfgReq
8442(
8443 WDI_UpdateCfgReqParamsType* pwdiPowerSaveCfg,
8444 WDI_SetPwrSaveCfgCb wdiSetPwrSaveCfgCb,
8445 void* pUserData
8446);
8447
8448/**
8449 @brief WDI_EnterImpsReq will be called when the upper MAC to
8450 request the device to get into IMPS power state. Upon
8451 the call of this API the WLAN DAL will send a HAL Enter
8452 IMPS request message to the lower RIVA sub-system if DAL
8453 is in state STARTED.
8454
8455 In state BUSY this request will be queued. Request won't
8456 be allowed in any other state.
8457
8458
8459 @param wdiEnterImpsRspCb: callback for passing back the
8460 response of the Enter IMPS operation received from the
8461 device
8462
8463 pUserData: user data will be passed back with the
8464 callback
8465
8466 @see WDI_Start
8467 @return Result of the function call
8468*/
8469WDI_Status
8470WDI_EnterImpsReq
8471(
8472 WDI_EnterImpsRspCb wdiEnterImpsRspCb,
8473 void* pUserData
8474);
8475
8476/**
8477 @brief WDI_ExitImpsReq will be called when the upper MAC to
8478 request the device to get out of IMPS power state. Upon
8479 the call of this API the WLAN DAL will send a HAL Exit
8480 IMPS request message to the lower RIVA sub-system if DAL
8481 is in state STARTED.
8482
8483 In state BUSY this request will be queued. Request won't
8484 be allowed in any other state.
8485
8486
8487
8488 @param wdiExitImpsRspCb: callback for passing back the response
8489 of the Exit IMPS operation received from the device
8490
8491 pUserData: user data will be passed back with the
8492 callback
8493
8494 @see WDI_Start
8495 @return Result of the function call
8496*/
8497WDI_Status
8498WDI_ExitImpsReq
8499(
8500 WDI_ExitImpsRspCb wdiExitImpsRspCb,
8501 void* pUserData
8502);
8503
8504/**
8505 @brief WDI_EnterBmpsReq will be called when the upper MAC to
8506 request the device to get into BMPS power state. Upon
8507 the call of this API the WLAN DAL will pack and send a
8508 HAL Enter BMPS request message to the lower RIVA
8509 sub-system if DAL is in state STARTED.
8510
8511 In state BUSY this request will be queued. Request won't
8512 be allowed in any other state.
8513
8514 WDI_PostAssocReq must have been called.
8515
8516 @param pwdiEnterBmpsReqParams: the Enter BMPS parameters as
8517 specified by the Device Interface
8518
8519 wdiEnterBmpsRspCb: callback for passing back the
8520 response of the Enter BMPS operation received from the
8521 device
8522
8523 pUserData: user data will be passed back with the
8524 callback
8525
8526 @see WDI_PostAssocReq
8527 @return Result of the function call
8528*/
8529WDI_Status
8530WDI_EnterBmpsReq
8531(
8532 WDI_EnterBmpsReqParamsType *pwdiEnterBmpsReqParams,
8533 WDI_EnterBmpsRspCb wdiEnterBmpsRspCb,
8534 void* pUserData
8535);
8536
8537/**
8538 @brief WDI_ExitBmpsReq will be called when the upper MAC to
8539 request the device to get out of BMPS power state. Upon
8540 the call of this API the WLAN DAL will pack and send a
8541 HAL Exit BMPS request message to the lower RIVA
8542 sub-system if DAL is in state STARTED.
8543
8544 In state BUSY this request will be queued. Request won't
8545 be allowed in any other state.
8546
8547 WDI_PostAssocReq must have been called.
8548
8549 @param pwdiExitBmpsReqParams: the Exit BMPS parameters as
8550 specified by the Device Interface
8551
8552 wdiExitBmpsRspCb: callback for passing back the response
8553 of the Exit BMPS operation received from the device
8554
8555 pUserData: user data will be passed back with the
8556 callback
8557
8558 @see WDI_PostAssocReq
8559 @return Result of the function call
8560*/
8561WDI_Status
8562WDI_ExitBmpsReq
8563(
8564 WDI_ExitBmpsReqParamsType *pwdiExitBmpsReqParams,
8565 WDI_ExitBmpsRspCb wdiExitBmpsRspCb,
8566 void* pUserData
8567);
8568
8569/**
8570 @brief WDI_EnterUapsdReq will be called when the upper MAC to
8571 request the device to get into UAPSD power state. Upon
8572 the call of this API the WLAN DAL will pack and send a
8573 HAL Enter UAPSD request message to the lower RIVA
8574 sub-system if DAL is in state STARTED.
8575
8576 In state BUSY this request will be queued. Request won't
8577 be allowed in any other state.
8578
8579 WDI_PostAssocReq must have been called.
8580 WDI_SetUapsdAcParamsReq must have been called.
8581
8582 @param pwdiEnterUapsdReqParams: the Enter UAPSD parameters as
8583 specified by the Device Interface
8584
8585 wdiEnterUapsdRspCb: callback for passing back the
8586 response of the Enter UAPSD operation received from the
8587 device
8588
8589 pUserData: user data will be passed back with the
8590 callback
8591
8592 @see WDI_PostAssocReq, WDI_SetUapsdAcParamsReq
8593 @return Result of the function call
8594*/
8595WDI_Status
8596WDI_EnterUapsdReq
8597(
8598 WDI_EnterUapsdReqParamsType *pwdiEnterUapsdReqParams,
8599 WDI_EnterUapsdRspCb wdiEnterUapsdRspCb,
8600 void* pUserData
8601);
8602
8603/**
8604 @brief WDI_ExitUapsdReq will be called when the upper MAC to
8605 request the device to get out of UAPSD power state. Upon
8606 the call of this API the WLAN DAL will send a HAL Exit
8607 UAPSD request message to the lower RIVA sub-system if
8608 DAL is in state STARTED.
8609
8610 In state BUSY this request will be queued. Request won't
8611 be allowed in any other state.
8612
8613 WDI_PostAssocReq must have been called.
8614
8615 @param wdiExitUapsdRspCb: callback for passing back the
8616 response of the Exit UAPSD operation received from the
8617 device
8618
8619 pUserData: user data will be passed back with the
8620 callback
8621
8622 @see WDI_PostAssocReq
8623 @return Result of the function call
8624*/
8625WDI_Status
8626WDI_ExitUapsdReq
8627(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07008628 WDI_ExitUapsdReqParamsType *pwdiExitUapsdReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07008629 WDI_ExitUapsdRspCb wdiExitUapsdRspCb,
8630 void* pUserData
8631);
8632
8633/**
8634 @brief WDI_UpdateUapsdParamsReq will be called when the upper
8635 MAC wants to set the UAPSD related configurations
8636 of an associated STA (while acting as an AP) to the WLAN
8637 Device. Upon the call of this API the WLAN DAL will pack
8638 and send a HAL Update UAPSD params request message to
8639 the lower RIVA sub-system if DAL is in state STARTED.
8640
8641 In state BUSY this request will be queued. Request won't
8642 be allowed in any other state.
8643
8644 WDI_ConfigBSSReq must have been called.
8645
8646 @param pwdiUpdateUapsdReqParams: the UAPSD parameters
8647 as specified by the Device Interface
8648
8649 wdiUpdateUapsdParamsCb: callback for passing back the
8650 response of the update UAPSD params operation received
8651 from the device
8652
8653 pUserData: user data will be passed back with the
8654 callback
8655
8656 @see WDI_ConfigBSSReq
8657 @return Result of the function call
8658*/
8659WDI_Status
8660WDI_UpdateUapsdParamsReq
8661(
8662 WDI_UpdateUapsdReqParamsType *pwdiUpdateUapsdReqParams,
8663 WDI_UpdateUapsdParamsCb wdiUpdateUapsdParamsCb,
8664 void* pUserData
8665);
8666
8667/**
8668 @brief WDI_SetUapsdAcParamsReq will be called when the upper
8669 MAC wants to set the UAPSD related configurations before
8670 requesting for enter UAPSD power state to the WLAN
8671 Device. Upon the call of this API the WLAN DAL will pack
8672 and send a HAL Set UAPSD params request message to
8673 the lower RIVA sub-system if DAL is in state STARTED.
8674
8675 In state BUSY this request will be queued. Request won't
8676 be allowed in any other state.
8677
8678 WDI_PostAssocReq must have been called.
8679
8680 @param pwdiUapsdInfo: the UAPSD parameters as specified by
8681 the Device Interface
8682
8683 wdiSetUapsdAcParamsCb: callback for passing back the
8684 response of the set UAPSD params operation received from
8685 the device
8686
8687 pUserData: user data will be passed back with the
8688 callback
8689
8690 @see WDI_PostAssocReq
8691 @return Result of the function call
8692*/
8693WDI_Status
8694WDI_SetUapsdAcParamsReq
8695(
8696 WDI_SetUapsdAcParamsReqParamsType* pwdiPowerSaveCfg,
8697 WDI_SetUapsdAcParamsCb wdiSetUapsdAcParamsCb,
8698 void* pUserData
8699);
8700
8701/**
8702 @brief WDI_ConfigureRxpFilterReq will be called when the upper
8703 MAC wants to set/reset the RXP filters for received pkts
8704 (MC, BC etc.). Upon the call of this API the WLAN DAL will pack
8705 and send a HAL configure RXP filter request message to
8706 the lower RIVA sub-system.
8707
8708 In state BUSY this request will be queued. Request won't
8709 be allowed in any other state.
8710
8711
8712 @param pwdiConfigureRxpFilterReqParams: the RXP
8713 filter as specified by the Device
8714 Interface
8715
8716 wdiConfigureRxpFilterCb: callback for passing back the
8717 response of the configure RXP filter operation received
8718 from the device
8719
8720 pUserData: user data will be passed back with the
8721 callback
8722
8723 @return Result of the function call
8724*/
8725WDI_Status
8726WDI_ConfigureRxpFilterReq
8727(
8728 WDI_ConfigureRxpFilterReqParamsType *pwdiConfigureRxpFilterReqParams,
8729 WDI_ConfigureRxpFilterCb wdiConfigureRxpFilterCb,
8730 void* pUserData
8731);
8732
8733/**
8734 @brief WDI_SetBeaconFilterReq will be called when the upper MAC
8735 wants to set the beacon filters while in power save.
8736 Upon the call of this API the WLAN DAL will pack and
8737 send a Beacon filter request message to the
8738 lower RIVA sub-system.
8739
8740 In state BUSY this request will be queued. Request won't
8741 be allowed in any other state.
8742
8743
8744 @param pwdiBeaconFilterReqParams: the beacon
8745 filter as specified by the Device
8746 Interface
8747
8748 wdiBeaconFilterCb: callback for passing back the
8749 response of the set beacon filter operation received
8750 from the device
8751
8752 pUserData: user data will be passed back with the
8753 callback
8754
8755 @return Result of the function call
8756*/
8757WDI_Status
8758WDI_SetBeaconFilterReq
8759(
8760 WDI_BeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
8761 WDI_SetBeaconFilterCb wdiBeaconFilterCb,
8762 void* pUserData
8763);
8764
8765/**
8766 @brief WDI_RemBeaconFilterReq will be called when the upper MAC
8767 wants to remove the beacon filter for perticular IE
8768 while in power save. Upon the call of this API the WLAN
8769 DAL will pack and send a remove Beacon filter request
8770 message to the lower RIVA sub-system.
8771
8772 In state BUSY this request will be queued. Request won't
8773 be allowed in any other state.
8774
8775
8776 @param pwdiBeaconFilterReqParams: the beacon
8777 filter as specified by the Device
8778 Interface
8779
8780 wdiBeaconFilterCb: callback for passing back the
8781 response of the remove beacon filter operation received
8782 from the device
8783
8784 pUserData: user data will be passed back with the
8785 callback
8786
8787 @return Result of the function call
8788*/
8789WDI_Status
8790WDI_RemBeaconFilterReq
8791(
8792 WDI_RemBeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
8793 WDI_RemBeaconFilterCb wdiBeaconFilterCb,
8794 void* pUserData
8795);
8796
8797/**
8798 @brief WDI_SetRSSIThresholdsReq will be called when the upper
8799 MAC wants to set the RSSI thresholds related
8800 configurations while in power save. Upon the call of
8801 this API the WLAN DAL will pack and send a HAL Set RSSI
8802 thresholds request message to the lower RIVA
8803 sub-system if DAL is in state STARTED.
8804
8805 In state BUSY this request will be queued. Request won't
8806 be allowed in any other state.
8807
8808 WDI_PostAssocReq must have been called.
8809
8810 @param pwdiUapsdInfo: the UAPSD parameters as specified by
8811 the Device Interface
8812
8813 wdiSetUapsdAcParamsCb: callback for passing back the
8814 response of the set UAPSD params operation received from
8815 the device
8816
8817 pUserData: user data will be passed back with the
8818 callback
8819
8820 @see WDI_PostAssocReq
8821 @return Result of the function call
8822*/
8823WDI_Status
8824WDI_SetRSSIThresholdsReq
8825(
8826 WDI_SetRSSIThresholdsReqParamsType* pwdiRSSIThresholdsParams,
8827 WDI_SetRSSIThresholdsCb wdiSetRSSIThresholdsCb,
8828 void* pUserData
8829);
8830
8831/**
8832 @brief WDI_HostOffloadReq will be called when the upper MAC
8833 wants to set the filter to minimize unnecessary host
8834 wakeup due to broadcast traffic while in power save.
8835 Upon the call of this API the WLAN DAL will pack and
8836 send a HAL host offload request message to the
8837 lower RIVA sub-system if DAL is in state STARTED.
8838
8839 In state BUSY this request will be queued. Request won't
8840 be allowed in any other state.
8841
8842 WDI_PostAssocReq must have been called.
8843
8844 @param pwdiHostOffloadParams: the host offload as specified
8845 by the Device Interface
8846
8847 wdiHostOffloadCb: callback for passing back the response
8848 of the host offload operation received from the
8849 device
8850
8851 pUserData: user data will be passed back with the
8852 callback
8853
8854 @see WDI_PostAssocReq
8855 @return Result of the function call
8856*/
8857WDI_Status
8858WDI_HostOffloadReq
8859(
8860 WDI_HostOffloadReqParamsType* pwdiHostOffloadParams,
8861 WDI_HostOffloadCb wdiHostOffloadCb,
8862 void* pUserData
8863);
8864
8865/**
8866 @brief WDI_KeepAliveReq will be called when the upper MAC
8867 wants to set the filter to send NULL or unsolicited ARP responses
8868 and minimize unnecessary host wakeups due to while in power save.
8869 Upon the call of this API the WLAN DAL will pack and
8870 send a HAL Keep Alive request message to the
8871 lower RIVA sub-system if DAL is in state STARTED.
8872
8873 In state BUSY this request will be queued. Request won't
8874 be allowed in any other state.
8875
8876 WDI_PostAssocReq must have been called.
8877
8878 @param pwdiKeepAliveParams: the Keep Alive as specified
8879 by the Device Interface
8880
8881 wdiKeepAliveCb: callback for passing back the response
8882 of the Keep Alive operation received from the
8883 device
8884
8885 pUserData: user data will be passed back with the
8886 callback
8887
8888 @see WDI_PostAssocReq
8889 @return Result of the function call
8890*/
8891WDI_Status
8892WDI_KeepAliveReq
8893(
8894 WDI_KeepAliveReqParamsType* pwdiKeepAliveParams,
8895 WDI_KeepAliveCb wdiKeepAliveCb,
8896 void* pUserData
8897);
8898
8899/**
8900 @brief WDI_WowlAddBcPtrnReq will be called when the upper MAC
8901 wants to set the Wowl Bcast ptrn to minimize unnecessary
8902 host wakeup due to broadcast traffic while in power
8903 save. Upon the call of this API the WLAN DAL will pack
8904 and send a HAL Wowl Bcast ptrn request message to the
8905 lower RIVA sub-system if DAL is in state STARTED.
8906
8907 In state BUSY this request will be queued. Request won't
8908 be allowed in any other state.
8909
8910 WDI_PostAssocReq must have been called.
8911
8912 @param pwdiWowlAddBcPtrnParams: the Wowl bcast ptrn as
8913 specified by the Device Interface
8914
8915 wdiWowlAddBcPtrnCb: callback for passing back the
8916 response of the add Wowl bcast ptrn operation received
8917 from the device
8918
8919 pUserData: user data will be passed back with the
8920 callback
8921
8922 @see WDI_PostAssocReq
8923 @return Result of the function call
8924*/
8925WDI_Status
8926WDI_WowlAddBcPtrnReq
8927(
8928 WDI_WowlAddBcPtrnReqParamsType* pwdiWowlAddBcPtrnParams,
8929 WDI_WowlAddBcPtrnCb wdiWowlAddBcPtrnCb,
8930 void* pUserData
8931);
8932
8933/**
8934 @brief WDI_WowlDelBcPtrnReq will be called when the upper MAC
8935 wants to clear the Wowl Bcast ptrn. Upon the call of
8936 this API the WLAN DAL will pack and send a HAL delete
8937 Wowl Bcast ptrn request message to the lower RIVA
8938 sub-system if DAL is in state STARTED.
8939
8940 In state BUSY this request will be queued. Request won't
8941 be allowed in any other state.
8942
8943 WDI_WowlAddBcPtrnReq must have been called.
8944
8945 @param pwdiWowlDelBcPtrnParams: the Wowl bcast ptrn as
8946 specified by the Device Interface
8947
8948 wdiWowlDelBcPtrnCb: callback for passing back the
8949 response of the del Wowl bcast ptrn operation received
8950 from the device
8951
8952 pUserData: user data will be passed back with the
8953 callback
8954
8955 @see WDI_WowlAddBcPtrnReq
8956 @return Result of the function call
8957*/
8958WDI_Status
8959WDI_WowlDelBcPtrnReq
8960(
8961 WDI_WowlDelBcPtrnReqParamsType* pwdiWowlDelBcPtrnParams,
8962 WDI_WowlDelBcPtrnCb wdiWowlDelBcPtrnCb,
8963 void* pUserData
8964);
8965
8966/**
8967 @brief WDI_WowlEnterReq will be called when the upper MAC
8968 wants to enter the Wowl state to minimize unnecessary
8969 host wakeup while in power save. Upon the call of this
8970 API the WLAN DAL will pack and send a HAL Wowl enter
8971 request message to the lower RIVA sub-system if DAL is
8972 in state STARTED.
8973
8974 In state BUSY this request will be queued. Request won't
8975 be allowed in any other state.
8976
8977 WDI_PostAssocReq must have been called.
8978
8979 @param pwdiWowlEnterReqParams: the Wowl enter info as
8980 specified by the Device Interface
8981
8982 wdiWowlEnterReqCb: callback for passing back the
8983 response of the enter Wowl operation received from the
8984 device
8985
8986 pUserData: user data will be passed back with the
8987 callback
8988
8989 @see WDI_PostAssocReq
8990 @return Result of the function call
8991*/
8992WDI_Status
8993WDI_WowlEnterReq
8994(
8995 WDI_WowlEnterReqParamsType* pwdiWowlEnterParams,
8996 WDI_WowlEnterReqCb wdiWowlEnterCb,
8997 void* pUserData
8998);
8999
9000/**
9001 @brief WDI_WowlExitReq will be called when the upper MAC
9002 wants to exit the Wowl state. Upon the call of this API
9003 the WLAN DAL will pack and send a HAL Wowl exit request
9004 message to the lower RIVA sub-system if DAL is in state
9005 STARTED.
9006
9007 In state BUSY this request will be queued. Request won't
9008 be allowed in any other state.
9009
9010 WDI_WowlEnterReq must have been called.
9011
9012 @param pwdiWowlExitReqParams: the Wowl exit info as
9013 specified by the Device Interface
9014
9015 wdiWowlExitReqCb: callback for passing back the response
9016 of the exit Wowl operation received from the device
9017
9018 pUserData: user data will be passed back with the
9019 callback
9020
9021 @see WDI_WowlEnterReq
9022 @return Result of the function call
9023*/
9024WDI_Status
9025WDI_WowlExitReq
9026(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07009027 WDI_WowlExitReqParamsType* pwdiWowlExitParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009028 WDI_WowlExitReqCb wdiWowlExitCb,
9029 void* pUserData
9030);
9031
9032/**
9033 @brief WDI_ConfigureAppsCpuWakeupStateReq will be called when
9034 the upper MAC wants to dynamically adjusts the listen
9035 interval based on the WLAN/MSM activity. Upon the call
9036 of this API the WLAN DAL will pack and send a HAL
9037 configure Apps Cpu Wakeup State request message to the
9038 lower RIVA sub-system.
9039
9040 In state BUSY this request will be queued. Request won't
9041 be allowed in any other state.
9042
9043
9044 @param pwdiConfigureAppsCpuWakeupStateReqParams: the
9045 Apps Cpu Wakeup State as specified by the
9046 Device Interface
9047
9048 wdiConfigureAppsCpuWakeupStateCb: callback for passing
9049 back the response of the configure Apps Cpu Wakeup State
9050 operation received from the device
9051
9052 pUserData: user data will be passed back with the
9053 callback
9054
9055 @return Result of the function call
9056*/
9057WDI_Status
9058WDI_ConfigureAppsCpuWakeupStateReq
9059(
9060 WDI_ConfigureAppsCpuWakeupStateReqParamsType *pwdiConfigureAppsCpuWakeupStateReqParams,
9061 WDI_ConfigureAppsCpuWakeupStateCb wdiConfigureAppsCpuWakeupStateCb,
9062 void* pUserData
9063);
9064/**
9065 @brief WDI_FlushAcReq will be called when the upper MAC wants
9066 to to perform a flush operation on a given AC. Upon the
9067 call of this API the WLAN DAL will pack and send a HAL
9068 Flush AC request message to the lower RIVA sub-system if
9069 DAL is in state STARTED.
9070
9071 In state BUSY this request will be queued. Request won't
9072 be allowed in any other state.
9073
9074
9075 @param pwdiFlushAcReqParams: the Flush AC parameters as
9076 specified by the Device Interface
9077
9078 wdiFlushAcRspCb: callback for passing back the response
9079 of the Flush AC operation received from the device
9080
9081 pUserData: user data will be passed back with the
9082 callback
9083
9084 @return Result of the function call
9085*/
9086WDI_Status
9087WDI_FlushAcReq
9088(
9089 WDI_FlushAcReqParamsType* pwdiFlushAcReqParams,
9090 WDI_FlushAcRspCb wdiFlushAcRspCb,
9091 void* pUserData
9092);
9093
9094/**
9095 @brief WDI_BtAmpEventReq will be called when the upper MAC
9096 wants to notify the lower mac on a BT AMP event. This is
9097 to inform BTC-SLM that some BT AMP event occurred. Upon
9098 the call of this API the WLAN DAL will pack and send a
9099 HAL BT AMP event request message to the lower RIVA
9100 sub-system if DAL is in state STARTED.
9101
9102 In state BUSY this request will be queued. Request won't
9103 be allowed in any other state.
9104
9105
9106 @param wdiBtAmpEventReqParams: the BT AMP event parameters as
9107 specified by the Device Interface
9108
9109 wdiBtAmpEventRspCb: callback for passing back the
9110 response of the BT AMP event operation received from the
9111 device
9112
9113 pUserData: user data will be passed back with the
9114 callback
9115
9116 @return Result of the function call
9117*/
9118WDI_Status
9119WDI_BtAmpEventReq
9120(
9121 WDI_BtAmpEventParamsType* pwdiBtAmpEventReqParams,
9122 WDI_BtAmpEventRspCb wdiBtAmpEventRspCb,
9123 void* pUserData
9124);
9125
Jeff Johnsone7245742012-09-05 17:12:55 -07009126#ifdef FEATURE_OEM_DATA_SUPPORT
9127/**
9128 @brief WDI_Start oem data Req will be called when the upper MAC
9129 wants to notify the lower mac on a oem data Req event.Upon
9130 the call of this API the WLAN DAL will pack and send a
9131 HAL OEM Data Req event request message to the lower RIVA
9132 sub-system if DAL is in state STARTED.
9133
9134 In state BUSY this request will be queued. Request won't
9135 be allowed in any other state.
9136
9137
9138 @param pWdiOemDataReqParams: the oem data req parameters as
9139 specified by the Device Interface
9140
9141 wdiStartOemDataRspCb: callback for passing back the
9142 response of the Oem Data Req received from the
9143 device
9144
9145 pUserData: user data will be passed back with the
9146 callback
9147
9148 @return Result of the function call
9149*/
9150WDI_Status
9151WDI_StartOemDataReq
9152(
9153 WDI_oemDataReqParamsType* pWdiOemDataReqParams,
9154 WDI_oemDataRspCb wdiOemDataRspCb,
9155 void* pUserData
9156);
9157#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07009158
9159/*========================================================================
9160
9161 CONTROL APIs
9162
9163==========================================================================*/
9164/**
9165 @brief WDI_SwitchChReq will be called when the upper MAC wants
9166 the WLAN HW to change the current channel of operation.
9167 Upon the call of this API the WLAN DAL will pack and
9168 send a HAL Start request message to the lower RIVA
9169 sub-system if DAL is in state STARTED.
9170
9171 In state BUSY this request will be queued. Request won't
9172 be allowed in any other state.
9173
9174 WDI_Start must have been called.
9175
9176 @param wdiSwitchChReqParams: the switch ch parameters as
9177 specified by the Device Interface
9178
9179 wdiSwitchChRspCb: callback for passing back the response
9180 of the switch ch operation received from the device
9181
9182 pUserData: user data will be passed back with the
9183 callback
9184
9185 @see WDI_Start
9186 @return Result of the function call
9187*/
9188WDI_Status
9189WDI_SwitchChReq
9190(
9191 WDI_SwitchChReqParamsType* pwdiSwitchChReqParams,
9192 WDI_SwitchChRspCb wdiSwitchChRspCb,
9193 void* pUserData
9194);
9195
9196
9197
9198/**
9199 @brief WDI_ConfigSTAReq will be called when the upper MAC
9200 wishes to add or update a STA in HW. Upon the call of
9201 this API the WLAN DAL will pack and send a HAL Start
9202 message request message to the lower RIVA sub-system if
9203 DAL is in state STARTED.
9204
9205 In state BUSY this request will be queued. Request won't
9206 be allowed in any other state.
9207
9208 WDI_Start must have been called.
9209
9210 @param wdiConfigSTAReqParams: the config STA parameters as
9211 specified by the Device Interface
9212
9213 wdiConfigSTARspCb: callback for passing back the
9214 response of the config STA operation received from the
9215 device
9216
9217 pUserData: user data will be passed back with the
9218 callback
9219
9220 @see WDI_Start
9221 @return Result of the function call
9222*/
9223WDI_Status
9224WDI_ConfigSTAReq
9225(
9226 WDI_ConfigSTAReqParamsType* pwdiConfigSTAReqParams,
9227 WDI_ConfigSTARspCb wdiConfigSTARspCb,
9228 void* pUserData
9229);
9230
9231/**
9232 @brief WDI_SetLinkStateReq will be called when the upper MAC
9233 wants to change the state of an ongoing link. Upon the
9234 call of this API the WLAN DAL will pack and send a HAL
9235 Start message request message to the lower RIVA
9236 sub-system if DAL is in state STARTED.
9237
9238 In state BUSY this request will be queued. Request won't
9239 be allowed in any other state.
9240
9241 WDI_JoinReq must have been called.
9242
9243 @param wdiSetLinkStateReqParams: the set link state parameters
9244 as specified by the Device Interface
9245
9246 wdiSetLinkStateRspCb: callback for passing back the
9247 response of the set link state operation received from
9248 the device
9249
9250 pUserData: user data will be passed back with the
9251 callback
9252
9253 @see WDI_JoinStartReq
9254 @return Result of the function call
9255*/
9256WDI_Status
9257WDI_SetLinkStateReq
9258(
9259 WDI_SetLinkReqParamsType* pwdiSetLinkStateReqParams,
9260 WDI_SetLinkStateRspCb wdiSetLinkStateRspCb,
9261 void* pUserData
9262);
9263
9264
9265/**
9266 @brief WDI_GetStatsReq will be called when the upper MAC wants
9267 to get statistics (MIB counters) from the device. Upon
9268 the call of this API the WLAN DAL will pack and send a
9269 HAL Start request message to the lower RIVA sub-system
9270 if DAL is in state STARTED.
9271
9272 In state BUSY this request will be queued. Request won't
9273 be allowed in any other state.
9274
9275 WDI_Start must have been called.
9276
9277 @param wdiGetStatsReqParams: the stats parameters to get as
9278 specified by the Device Interface
9279
9280 wdiGetStatsRspCb: callback for passing back the response
9281 of the get stats operation received from the device
9282
9283 pUserData: user data will be passed back with the
9284 callback
9285
9286 @see WDI_Start
9287 @return Result of the function call
9288*/
9289WDI_Status
9290WDI_GetStatsReq
9291(
9292 WDI_GetStatsReqParamsType* pwdiGetStatsReqParams,
9293 WDI_GetStatsRspCb wdiGetStatsRspCb,
9294 void* pUserData
9295);
9296
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08009297#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_CCX || defined(FEATURE_WLAN_LFR)
9298/**
9299 @brief WDI_GetRoamRssiReq will be called when the upper MAC wants
9300 to get roam rssi from the device. Upon
9301 the call of this API the WLAN DAL will pack and send a
9302 HAL Start request message to the lower RIVA sub-system
9303 if DAL is in state STARTED.
9304
9305 In state BUSY this request will be queued. Request won't
9306 be allowed in any other state.
9307
9308 WDI_Start must have been called.
9309
9310 @param wdiGetRoamRssiReqParams: the stats parameters to get as
9311 specified by the Device Interface
9312
9313 wdiGetRoamRssispCb: callback for passing back the response
9314 of the get stats operation received from the device
9315
9316 pUserData: user data will be passed back with the
9317 callback
9318
9319 @see WDI_Start
9320 @return Result of the function call
9321*/
9322WDI_Status
9323WDI_GetRoamRssiReq
9324(
9325 WDI_GetRoamRssiReqParamsType* pwdiGetRoamRssiReqParams,
9326 WDI_GetRoamRssiRspCb wdiGetRoamRssiRspCb,
9327 void* pUserData
9328);
9329#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07009330
9331/**
9332 @brief WDI_UpdateCfgReq will be called when the upper MAC when
9333 it wishes to change the configuration of the WLAN
9334 Device. Upon the call of this API the WLAN DAL will pack
9335 and send a HAL Update CFG request message to the lower
9336 RIVA sub-system if DAL is in state STARTED.
9337
9338 In state BUSY this request will be queued. Request won't
9339 be allowed in any other state.
9340
9341 WDI_Start must have been called.
9342
9343 @param wdiUpdateCfgReqParams: the update cfg parameters as
9344 specified by the Device Interface
9345
9346 wdiUpdateCfgsRspCb: callback for passing back the
9347 response of the update cfg operation received from the
9348 device
9349
9350 pUserData: user data will be passed back with the
9351 callback
9352
9353 @see WDI_Start
9354 @return Result of the function call
9355*/
9356WDI_Status
9357WDI_UpdateCfgReq
9358(
9359 WDI_UpdateCfgReqParamsType* pwdiUpdateCfgReqParams,
9360 WDI_UpdateCfgRspCb wdiUpdateCfgsRspCb,
9361 void* pUserData
9362);
9363
9364/**
9365 @brief WDI_NvDownloadReq will be called by the UMAC to dowload the NV blob
9366 to the NV memory.
9367
9368 @param wdiNvDownloadReqParams: the NV Download parameters as specified by
9369 the Device Interface
9370
9371 wdiNvDownloadRspCb: callback for passing back the response of
9372 the NV Download operation received from the device
9373
9374 pUserData: user data will be passed back with the
9375 callback
9376
9377 @see WDI_PostAssocReq
9378 @return Result of the function call
9379*/
9380WDI_Status
9381WDI_NvDownloadReq
9382(
9383 WDI_NvDownloadReqParamsType* pwdiNvDownloadReqParams,
9384 WDI_NvDownloadRspCb wdiNvDownloadRspCb,
9385 void* pUserData
9386);
9387/**
9388 @brief WDI_AddBAReq will be called when the upper MAC has setup
9389 successfully a BA session and needs to notify the HW for
9390 the appropriate settings to take place. Upon the call of
9391 this API the WLAN DAL will pack and send a HAL Add BA
9392 request message to the lower RIVA sub-system if DAL is
9393 in state STARTED.
9394
9395 In state BUSY this request will be queued. Request won't
9396 be allowed in any other state.
9397
9398 WDI_PostAssocReq must have been called.
9399
9400 @param wdiAddBAReqParams: the add BA parameters as specified by
9401 the Device Interface
9402
9403 wdiAddBARspCb: callback for passing back the response of
9404 the add BA operation received from the device
9405
9406 pUserData: user data will be passed back with the
9407 callback
9408
9409 @see WDI_PostAssocReq
9410 @return Result of the function call
9411*/
9412WDI_Status
9413WDI_AddBAReq
9414(
9415 WDI_AddBAReqParamsType* pwdiAddBAReqParams,
9416 WDI_AddBARspCb wdiAddBARspCb,
9417 void* pUserData
9418);
9419
9420/**
9421 @brief WDI_TriggerBAReq will be called when the upper MAC has setup
9422 successfully a BA session and needs to notify the HW for
9423 the appropriate settings to take place. Upon the call of
9424 this API the WLAN DAL will pack and send a HAL Add BA
9425 request message to the lower RIVA sub-system if DAL is
9426 in state STARTED.
9427
9428 In state BUSY this request will be queued. Request won't
9429 be allowed in any other state.
9430
9431 WDI_PostAssocReq must have been called.
9432
9433 @param wdiAddBAReqParams: the add BA parameters as specified by
9434 the Device Interface
9435
9436 wdiAddBARspCb: callback for passing back the response of
9437 the add BA operation received from the device
9438
9439 pUserData: user data will be passed back with the
9440 callback
9441
9442 @see WDI_PostAssocReq
9443 @return Result of the function call
9444*/
9445WDI_Status
9446WDI_TriggerBAReq
9447(
9448 WDI_TriggerBAReqParamsType* pwdiTriggerBAReqParams,
9449 WDI_TriggerBARspCb wdiTriggerBARspCb,
9450 void* pUserData
9451);
9452
9453
9454/**
9455 @brief WDI_IsHwFrameTxTranslationCapable checks to see if HW
9456 frame xtl is enabled for a particular STA.
9457
9458 WDI_PostAssocReq must have been called.
9459
9460 @param uSTAIdx: STA index
9461
9462 @see WDI_PostAssocReq
9463 @return Result of the function call
9464*/
9465wpt_boolean WDI_IsHwFrameTxTranslationCapable
9466(
9467 wpt_uint8 uSTAIdx
9468);
9469
9470#ifdef WLAN_FEATURE_VOWIFI_11R
9471/**
9472 @brief WDI_AggrAddTSReq will be called when the upper MAC to inform
9473 the device of a successful add TSpec negotiation for 11r. HW
9474 needs to receive the TSpec Info from the UMAC in order
9475 to configure properly the QoS data traffic. Upon the
9476 call of this API the WLAN DAL will pack and send a HAL
9477 Aggregated Add TS request message to the lower RIVA sub-system if
9478 DAL is in state STARTED.
9479
9480 In state BUSY this request will be queued. Request won't
9481 be allowed in any other state.
9482
9483 WDI_PostAssocReq must have been called.
9484
9485 @param wdiAggrAddTsReqParams: the add TS parameters as specified by
9486 the Device Interface
9487
9488 wdiAggrAddTsRspCb: callback for passing back the response of
9489 the add TS operation received from the device
9490
9491 pUserData: user data will be passed back with the
9492 callback
9493
9494 @see WDI_PostAssocReq
9495 @return Result of the function call
9496*/
9497WDI_Status
9498WDI_AggrAddTSReq
9499(
9500 WDI_AggrAddTSReqParamsType* pwdiAddTsReqParams,
9501 WDI_AggrAddTsRspCb wdiAggrAddTsRspCb,
9502 void* pUserData
9503);
9504#endif /* WLAN_FEATURE_VOWIFI_11R */
9505/**
9506 @brief WDI_STATableInit - Initializes the STA tables.
9507 Allocates the necesary memory.
9508
9509
9510 @param pWDICtx: pointer to the WLAN DAL context
9511
9512 @see
9513 @return Result of the function call
9514*/
9515
9516WDI_Status WDI_StubRunTest
9517(
9518 wpt_uint8 ucTestNo
9519);
9520
Jeff Johnson295189b2012-06-20 16:38:30 -07009521/**
9522 @brief WDI_FTMCommandReq -
9523 Route FTMRequest Command to HAL
9524
9525 @param ftmCommandReq: FTM request command body
9526 @param ftmCommandRspCb: Response CB
9527 @param pUserData: User data will be included with CB
9528
9529 @return Result of the function call
9530*/
9531WDI_Status WDI_FTMCommandReq
9532(
9533 WDI_FTMCommandReqType *ftmCommandReq,
9534 WDI_FTMCommandRspCb ftmCommandRspCb,
9535 void *pUserData
9536);
Jeff Johnson295189b2012-06-20 16:38:30 -07009537
9538/**
9539 @brief WDI_HostResumeReq will be called
9540
9541 In state BUSY this request will be queued. Request won't
9542 be allowed in any other state.
9543
9544
9545 @param pwdiResumeReqParams: as specified by
9546 the Device Interface
9547
9548 wdiResumeReqRspCb: callback for passing back the response of
9549 the Resume Req received from the device
9550
9551 pUserData: user data will be passed back with the
9552 callback
9553
9554 @see WDI_PostAssocReq
9555 @return Result of the function call
9556*/
9557WDI_Status
9558WDI_HostResumeReq
9559(
9560 WDI_ResumeParamsType* pwdiResumeReqParams,
9561 WDI_HostResumeEventRspCb wdiResumeReqRspCb,
9562 void* pUserData
9563);
9564
9565/**
9566 @brief WDI_GetAvailableResCount - Function to get the available resource
9567 for data and managemnt frames.
9568
9569 @param pContext: pointer to the WDI context
9570 @param wdiResPool: type of resource pool requesting
9571 @see
9572 @return Result of the function call
9573*/
9574
9575wpt_uint32 WDI_GetAvailableResCount
9576(
9577 void *pContext,
9578 WDI_ResPoolType wdiResPool
9579);
9580
9581/**
9582 @brief WDI_SetAddSTASelfReq will be called when the
9583 UMAC wanted to add self STA while opening any new session
9584 In state BUSY this request will be queued. Request won't
9585 be allowed in any other state.
9586
9587
9588 @param pwdiAddSTASelfParams: the add self sta parameters as
9589 specified by the Device Interface
9590
9591 pUserData: user data will be passed back with the
9592 callback
9593
9594 @see
9595 @return Result of the function call
9596*/
9597WDI_Status
9598WDI_AddSTASelfReq
9599(
9600 WDI_AddSTASelfReqParamsType* pwdiAddSTASelfReqParams,
9601 WDI_AddSTASelfParamsRspCb wdiAddSTASelfReqParamsRspCb,
9602 void* pUserData
9603);
9604
9605
9606/**
9607 @brief WDI_DelSTASelfReq will be called .
9608
9609 @param WDI_DelSTASelfReqParamsType
9610
9611 WDI_DelSTASelfRspCb: callback for passing back the
9612 response of the del sta self operation received from the
9613 device
9614
9615 pUserData: user data will be passed back with the
9616 callback
9617
9618 @see WDI_PostAssocReq
9619 @return Result of the function call
9620*/
9621WDI_Status
9622WDI_DelSTASelfReq
9623(
9624 WDI_DelSTASelfReqParamsType* pwdiDelStaSelfParams,
9625 WDI_DelSTASelfRspCb wdiDelStaSelfRspCb,
9626 void* pUserData
9627);
9628
9629/**
9630 @brief WDI_HostSuspendInd
9631
9632 Suspend Indication from the upper layer will be sent
9633 down to HAL
9634
9635 @param WDI_SuspendParamsType
9636
9637 @see
9638
9639 @return Status of the request
9640*/
9641WDI_Status
9642WDI_HostSuspendInd
9643(
9644 WDI_SuspendParamsType* pwdiSuspendIndParams
9645);
9646
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08009647/**
9648 @brief WDI_TrafficStatsInd
9649
9650 Traffic Stats from the upper layer will be sent
9651 down to HAL
9652
9653 @param WDI_TrafficStatsIndType
9654
9655 @see
9656
9657 @return Status of the request
9658*/
9659WDI_Status
9660WDI_TrafficStatsInd
9661(
9662 WDI_TrafficStatsIndType *pWdiTrafficStatsIndParams
9663);
9664
Chet Lanctot186b5732013-03-18 10:26:30 -07009665#ifdef WLAN_FEATURE_11W
9666/**
9667 @brief WDI_ExcludeUnencryptedInd
9668 Register with HAL to receive/drop unencrypted frames
9669
9670 @param WDI_ExcludeUnencryptIndType
9671
9672 @see
9673
9674 @return Status of the request
9675*/
9676WDI_Status
9677WDI_ExcludeUnencryptedInd
9678(
9679 WDI_ExcludeUnencryptIndType *pWdiExcUnencParams
9680);
9681#endif
9682
Yue Mab9c86f42013-08-14 15:59:08 -07009683/**
9684 @brief WDI_AddPeriodicTxPtrnInd
9685
9686 @param WDI_AddPeriodicTxPtrnParamsType
9687
9688 @see
9689
9690 @return Status of the request
9691*/
9692WDI_Status
9693WDI_AddPeriodicTxPtrnInd
9694(
9695 WDI_AddPeriodicTxPtrnParamsType *addPeriodicTxPtrnParams
9696);
9697
9698/**
9699 @brief WDI_DelPeriodicTxPtrnInd
9700
9701 @param WDI_DelPeriodicTxPtrnParamsType
9702
9703 @see
9704
9705 @return Status of the request
9706*/
9707WDI_Status
9708WDI_DelPeriodicTxPtrnInd
9709(
9710 WDI_DelPeriodicTxPtrnParamsType *delPeriodicTxPtrnParams
9711);
9712
Jeff Johnson295189b2012-06-20 16:38:30 -07009713#ifdef FEATURE_WLAN_SCAN_PNO
9714/**
9715 @brief WDI_SetPreferredNetworkList
9716
9717 @param pwdiPNOScanReqParams: the Set PNO as specified
9718 by the Device Interface
9719
9720 wdiPNOScanCb: callback for passing back the response
9721 of the Set PNO operation received from the
9722 device
9723
9724 pUserData: user data will be passed back with the
9725 callback
9726
9727 @see WDI_PostAssocReq
9728 @return Result of the function call
9729*/
9730WDI_Status
9731WDI_SetPreferredNetworkReq
9732(
9733 WDI_PNOScanReqParamsType* pwdiPNOScanReqParams,
9734 WDI_PNOScanCb wdiPNOScanCb,
9735 void* pUserData
9736);
9737
9738/**
9739 @brief WDI_SetRssiFilterReq
9740
9741 @param pwdiRssiFilterReqParams: the Set RSSI Filter as
9742 specified by the Device Interface
9743
9744 wdiRssiFilterCb: callback for passing back the response
9745 of the Set RSSI Filter operation received from the
9746 device
9747
9748 pUserData: user data will be passed back with the
9749 callback
9750
9751 @see WDI_PostAssocReq
9752 @return Result of the function call
9753*/
9754WDI_Status
9755WDI_SetRssiFilterReq
9756(
9757 WDI_SetRssiFilterReqParamsType* pwdiRssiFilterReqParams,
9758 WDI_RssiFilterCb wdiRssiFilterCb,
9759 void* pUserData
9760);
9761
9762/**
9763 @brief WDI_UpdateScanParams
9764
9765 @param pwdiUpdateScanParamsInfoType: the Update Scan Params as specified
9766 by the Device Interface
9767
9768 wdiUpdateScanParamsCb: callback for passing back the response
9769 of the Set PNO operation received from the
9770 device
9771
9772 pUserData: user data will be passed back with the
9773 callback
9774
9775 @see WDI_PostAssocReq
9776 @return Result of the function call
9777*/
9778WDI_Status
9779WDI_UpdateScanParamsReq
9780(
9781 WDI_UpdateScanParamsInfoType* pwdiUpdateScanParamsInfoType,
9782 WDI_UpdateScanParamsCb wdiUpdateScanParamsCb,
9783 void* pUserData
9784);
9785#endif // FEATURE_WLAN_SCAN_PNO
9786
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07009787#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
9788/**
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07009789 @brief WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07009790
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07009791 @param pwdiRoamScanOffloadReqParams: Start Roam Candidate Lookup Req as specified
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07009792 by the Device Interface
9793
9794 wdiRoamOffloadScanCb: callback for passing back the response
9795 of the Start Roam Candidate Lookup operation received from the
9796 device
9797
9798 pUserData: user data will be passed back with the
9799 callback
9800
9801 @return Result of the function call
9802*/
9803WDI_Status
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07009804WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07009805(
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07009806 WDI_RoamScanOffloadReqParamsType *pwdiRoamScanOffloadReqParams,
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07009807 WDI_RoamOffloadScanCb wdiRoamOffloadScancb,
9808 void* pUserData
9809);
9810#endif
9811
Jeff Johnson295189b2012-06-20 16:38:30 -07009812/**
9813 @brief WDI_SetTxPerTrackingReq will be called when the upper MAC
9814 wants to set the Tx Per Tracking configurations.
9815 Upon the call of this API the WLAN DAL will pack
9816 and send a HAL Set Tx Per Tracking request message to the
9817 lower RIVA sub-system if DAL is in state STARTED.
9818
9819 In state BUSY this request will be queued. Request won't
9820 be allowed in any other state.
9821
9822 @param wdiSetTxPerTrackingConf: the Set Tx PER Tracking configurations as
9823 specified by the Device Interface
9824
9825 wdiSetTxPerTrackingCb: callback for passing back the
9826 response of the set Tx PER Tracking configurations operation received
9827 from the device
9828
9829 pUserData: user data will be passed back with the
9830 callback
9831
9832 @return Result of the function call
9833*/
9834WDI_Status
9835WDI_SetTxPerTrackingReq
9836(
9837 WDI_SetTxPerTrackingReqParamsType* pwdiSetTxPerTrackingReqParams,
9838 WDI_SetTxPerTrackingRspCb pwdiSetTxPerTrackingRspCb,
9839 void* pUserData
9840);
9841
9842/**
9843 @brief WDI_SetTmLevelReq
9844 If HW Thermal condition changed, driver should react based on new
9845 HW thermal condition.
9846
9847 @param pwdiSetTmLevelReq: New thermal condition information
9848
9849 pwdiSetTmLevelRspCb: callback
9850
9851 usrData: user data will be passed back with the
9852 callback
9853
9854 @return Result of the function call
9855*/
9856WDI_Status
9857WDI_SetTmLevelReq
9858(
9859 WDI_SetTmLevelReqType *pwdiSetTmLevelReq,
9860 WDI_SetTmLevelCb pwdiSetTmLevelRspCb,
9861 void *usrData
9862);
9863
9864#ifdef WLAN_FEATURE_PACKET_FILTERING
9865/**
9866 @brief WDI_8023MulticastListReq
9867
9868 @param pwdiRcvFltPktSetMcListReqInfo: the Set 8023 Multicast
9869 List as specified by the Device Interface
9870
9871 wdi8023MulticastListCallback: callback for passing back
9872 the response of the Set 8023 Multicast List operation
9873 received from the device
9874
9875 pUserData: user data will be passed back with the
9876 callback
9877
9878 @see WDI_PostAssocReq
9879 @return Result of the function call
9880*/
9881WDI_Status
9882WDI_8023MulticastListReq
9883(
9884 WDI_RcvFltPktSetMcListReqParamsType* pwdiRcvFltPktSetMcListReqInfo,
9885 WDI_8023MulticastListCb wdi8023MulticastListCallback,
9886 void* pUserData
9887);
9888
9889/**
9890 @brief WDI_ReceiveFilterSetFilterReq
9891
9892 @param pwdiSetRcvPktFilterReqInfo: the Set Receive Filter as
9893 specified by the Device Interface
9894
9895 wdiReceiveFilterSetFilterReqCallback: callback for
9896 passing back the response of the Set Receive Filter
9897 operation received from the device
9898
9899 pUserData: user data will be passed back with the
9900 callback
9901
9902 @see WDI_PostAssocReq
9903 @return Result of the function call
9904*/
9905WDI_Status
9906WDI_ReceiveFilterSetFilterReq
9907(
9908 WDI_SetRcvPktFilterReqParamsType* pwdiSetRcvPktFilterReqInfo,
9909 WDI_ReceiveFilterSetFilterCb wdiReceiveFilterSetFilterReqCallback,
9910 void* pUserData
9911);
9912
9913/**
9914 @brief WDI_PCFilterMatchCountReq
9915
9916 @param pwdiRcvFltPktMatchCntReqInfo: get D0 PC Filter Match
9917 Count
9918
9919 wdiPCFilterMatchCountCallback: callback for passing back
9920 the response of the D0 PC Filter Match Count operation
9921 received from the device
9922
9923 pUserData: user data will be passed back with the
9924 callback
9925
9926 @see WDI_PostAssocReq
9927 @return Result of the function call
9928*/
9929WDI_Status
9930WDI_FilterMatchCountReq
9931(
9932 WDI_RcvFltPktMatchCntReqParamsType* pwdiRcvFltPktMatchCntReqInfo,
9933 WDI_FilterMatchCountCb wdiFilterMatchCountCallback,
9934 void* pUserData
9935);
9936
9937/**
9938 @brief WDI_ReceiveFilterClearFilterReq
9939
9940 @param pwdiRcvFltPktClearReqInfo: the Clear Filter as
9941 specified by the Device Interface
9942
9943 wdiReceiveFilterClearFilterCallback: callback for
9944 passing back the response of the Clear Filter
9945 operation received from the device
9946
9947 pUserData: user data will be passed back with the
9948 callback
9949
9950 @see WDI_PostAssocReq
9951 @return Result of the function call
9952*/
9953WDI_Status
9954WDI_ReceiveFilterClearFilterReq
9955(
9956 WDI_RcvFltPktClearReqParamsType* pwdiRcvFltPktClearReqInfo,
9957 WDI_ReceiveFilterClearFilterCb wdiReceiveFilterClearFilterCallback,
9958 void* pUserData
9959);
9960#endif // WLAN_FEATURE_PACKET_FILTERING
9961
9962/**
9963 @brief WDI_HALDumpCmdReq
9964 Post HAL DUMP Command Event
9965
9966 @param halDumpCmdReqParams: Hal Dump Command Body
9967 @param halDumpCmdRspCb: callback for passing back the
9968 response
9969 @param pUserData: Client Data
9970
9971 @see
9972 @return Result of the function call
9973*/
9974WDI_Status WDI_HALDumpCmdReq(
9975 WDI_HALDumpCmdReqParamsType *halDumpCmdReqParams,
9976 WDI_HALDumpCmdRspCb halDumpCmdRspCb,
9977 void *pUserData
9978);
9979
9980
9981/**
9982 @brief WDI_SetPowerParamsReq
9983
9984 @param pwdiPowerParamsReqParams: the Set Power Params as
9985 specified by the Device Interface
9986
9987 wdiPowerParamsCb: callback for passing back the response
9988 of the Set Power Params operation received from the
9989 device
9990
9991 pUserData: user data will be passed back with the
9992 callback
9993
9994 @return Result of the function call
9995*/
9996WDI_Status
9997WDI_SetPowerParamsReq
9998(
9999 WDI_SetPowerParamsReqParamsType* pwdiPowerParamsReqParams,
10000 WDI_SetPowerParamsCb wdiPowerParamsCb,
10001 void* pUserData
10002);
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +053010003/**
10004 @brief WDI_dhcpStartInd
10005 Forward the DHCP Start event
10006
10007 @param
10008
10009 wdiDHCPInd: device mode and MAC address is passed
10010
10011 @see
10012 @return Result of the function call
10013*/
10014
10015WDI_Status
10016WDI_dhcpStartInd
10017(
10018 WDI_DHCPInd *wdiDHCPInd
10019);
10020/**
10021 @brief WDI_dhcpStopReq
10022 Forward the DHCP Stop event
10023
10024 @param
10025
10026 wdiDHCPInd: device mode and MAC address is passed
10027
10028 @see
10029 @return Result of the function call
10030*/
10031
10032WDI_Status
10033WDI_dhcpStopInd
10034(
10035 WDI_DHCPInd *wdiDHCPInd
10036);
Jeff Johnson295189b2012-06-20 16:38:30 -070010037
Chittajit Mitraf5413a42013-10-18 14:20:08 -070010038/**
10039 @brief WDI_RateUpdateInd will be called when the upper MAC
10040 requests the device to update rates.
10041
10042 In state BUSY this request will be queued. Request won't
10043 be allowed in any other state.
10044
10045
10046 @param wdiRateUpdateIndParams
10047
10048
10049 @see WDI_Start
10050 @return Result of the function call
10051*/
10052WDI_Status
10053WDI_RateUpdateInd
10054(
10055 WDI_RateUpdateIndParams *wdiRateUpdateIndParams
10056);
10057
Jeff Johnson295189b2012-06-20 16:38:30 -070010058#ifdef WLAN_FEATURE_GTK_OFFLOAD
10059/**
10060 @brief WDI_GTKOffloadReq will be called when the upper MAC
10061 wants to set GTK Rekey Counter while in power save. Upon
10062 the call of this API the WLAN DAL will pack and send a
10063 HAL GTK offload request message to the lower RIVA
10064 sub-system if DAL is in state STARTED.
10065
10066 In state BUSY this request will be queued. Request won't
10067 be allowed in any other state.
10068
10069 WDI_PostAssocReq must have been called.
10070
10071 @param pwdiGtkOffloadParams: the GTK offload as specified
10072 by the Device Interface
10073
10074 wdiGtkOffloadCb: callback for passing back the response
10075 of the GTK offload operation received from the device
10076
10077 pUserData: user data will be passed back with the
10078 callback
10079
10080 @see WDI_PostAssocReq
10081 @return Result of the function call
10082*/
10083WDI_Status
10084WDI_GTKOffloadReq
10085(
10086 WDI_GtkOffloadReqMsg* pwdiGtkOffloadReqMsg,
10087 WDI_GtkOffloadCb wdiGtkOffloadCb,
10088 void* pUserData
10089);
10090
10091/**
10092 @brief WDI_GTKOffloadGetInfoReq will be called when the upper
10093 MAC wants to get GTK Rekey Counter while in power save.
10094 Upon the call of this API the WLAN DAL will pack and
10095 send a HAL GTK offload request message to the lower RIVA
10096 sub-system if DAL is in state STARTED.
10097
10098 In state BUSY this request will be queued. Request won't
10099 be allowed in any other state.
10100
10101 WDI_PostAssocReq must have been called.
10102
10103 @param pwdiGtkOffloadGetInfoReqMsg: the GTK Offload
10104 Information Message as specified by the
10105 Device Interface
10106
10107 wdiGtkOffloadGetInfoCb: callback for passing back the
10108 response of the GTK offload operation received from the
10109 device
10110
10111 pUserData: user data will be passed back with the
10112 callback
10113
10114 @see WDI_PostAssocReq
10115 @return Result of the function call
10116*/
10117WDI_Status
10118WDI_GTKOffloadGetInfoReq
10119(
10120 WDI_GtkOffloadGetInfoReqMsg* pwdiGtkOffloadGetInfoReqMsg,
10121 WDI_GtkOffloadGetInfoCb wdiGtkOffloadGetInfoCb,
10122 void* pUserData
10123);
10124#endif // WLAN_FEATURE_GTK_OFFLOAD
10125
10126/**
10127 @brief WDI_featureCapsExchangeReq
10128 Post feature capability bitmap exchange event.
10129 Host will send its own capability to FW in this req and
10130 expect FW to send its capability back as a bitmap in Response
10131
10132 @param
10133
10134 wdiFeatCapsExcRspCb: callback called on getting the response.
10135 It is kept to mantain similarity between WDI reqs and if needed, can
10136 be used in future. Currently, It is set to NULL
10137
10138 pUserData: user data will be passed back with the
10139 callback
10140
10141 @see
10142 @return Result of the function call
10143*/
10144WDI_Status
10145WDI_featureCapsExchangeReq
10146(
10147 WDI_featureCapsExchangeCb wdiFeatureCapsExchangeCb,
10148 void* pUserData
10149);
10150
10151/**
Yathish9f22e662012-12-10 14:21:35 -080010152 @brief Disable Active mode offload in Host
10153
10154 @param void
10155 @see
10156 @return void
10157*/
10158void
10159WDI_disableCapablityFeature(wpt_uint8 feature_index);
10160
10161
10162/**
Jeff Johnson295189b2012-06-20 16:38:30 -070010163 @brief WDI_getHostWlanFeatCaps
10164 WDI API that returns whether the feature passed to it as enum value in
10165 "placeHolderInCapBitmap" is supported by Host or not. It uses WDI global
10166 variable storing host capability bitmap to find this. This can be used by
10167 other moduels to decide certain things like call different APIs based on
10168 whether a particular feature is supported.
10169
10170 @param
10171
10172 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap in wlan_hal_msg.h.
10173
10174 @see
10175 @return
10176 0 - if the feature is NOT supported in host
10177 any non-zero value - if the feature is SUPPORTED in host.
10178*/
10179wpt_uint8 WDI_getHostWlanFeatCaps(wpt_uint8 feat_enum_value);
10180
10181/**
10182 @brief WDI_getFwWlanFeatCaps
10183 WDI API that returns whether the feature passed to it as enum value in
10184 "placeHolderInCapBitmap" is supported by FW or not. It uses WDI global
10185 variable storing host capability bitmap to find this. This can be used by
10186 other moduels to decide certain things like call different APIs based on
10187 whether a particular feature is supported.
10188
10189 @param
10190
Jeff Johnsone7245742012-09-05 17:12:55 -070010191 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap
10192 in wlan_hal_msg.h.
Jeff Johnson295189b2012-06-20 16:38:30 -070010193
10194 @see
10195 @return
10196 0 - if the feature is NOT supported in FW
10197 any non-zero value - if the feature is SUPPORTED in FW.
10198*/
10199wpt_uint8 WDI_getFwWlanFeatCaps(wpt_uint8 feat_enum_value);
10200
10201/**
10202 @brief WDI_GetWcnssCompiledApiVersion - Function to get wcnss compiled
10203 api version
10204
10205 @param WDI_WlanVersionType: Wlan version structure
10206 @see
10207 @return none
10208*/
10209
10210void WDI_GetWcnssCompiledApiVersion
10211(
10212 WDI_WlanVersionType *pWcnssApiVersion
10213);
10214
Mohit Khanna4a70d262012-09-11 16:30:12 -070010215#ifdef WLAN_FEATURE_11AC
10216WDI_Status
10217WDI_UpdateVHTOpModeReq
10218(
10219 WDI_UpdateVHTOpMode *pData,
10220 WDI_UpdateVHTOpModeCb wdiUpdateVHTOpModeCb,
10221 void* pUserData
10222);
Jeff Johnson295189b2012-06-20 16:38:30 -070010223
Mohit Khanna4a70d262012-09-11 16:30:12 -070010224#endif
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070010225
10226/**
10227 @brief WDI_TransportChannelDebug -
10228 Display DXE Channel debugging information
10229 User may request to display DXE channel snapshot
10230 Or if host driver detects any abnormal stcuk may display
10231
Jeff Johnsonb88db982012-12-10 13:34:59 -080010232 @param displaySnapshot : Display DXE snapshot option
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070010233 @param enableStallDetect : Enable stall detect feature
10234 This feature will take effect to data performance
10235 Not integrate till fully verification
10236 @see
10237 @return none
10238*/
10239void WDI_TransportChannelDebug
10240(
10241 wpt_boolean displaySnapshot,
Madan Mohan Koyyalamudi24a00f92012-10-22 15:21:02 -070010242 wpt_boolean toggleStallDetect
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070010243);
10244
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -070010245/**
10246 @brief WDI_SsrTimerCB
10247 Callback function for SSR timer, if this is called then the graceful
10248 shutdown for Riva did not happen.
10249
10250 @param pUserData : user data to timer
10251
10252 @see
10253 @return none
10254*/
10255void
10256WDI_SsrTimerCB
10257(
10258 void *pUserData
10259);
10260
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -070010261/**
10262 @brief WDI_SetEnableSSR -
10263 This API is called to enable/disable SSR on WDI timeout.
10264
10265 @param enableSSR : enable/disable SSR
10266
10267 @see
10268 @return none
10269*/
10270void WDI_SetEnableSSR(wpt_boolean enableSSR);
10271
Leo Chang9056f462013-08-01 19:21:11 -070010272#ifdef FEATURE_WLAN_LPHB
10273/**
10274 @brief WDI_LPHBConfReq
10275 This API is called to config FW LPHB rule
10276
10277 @param lphbconfParam : LPHB rule should config to FW
10278 usrData : Client context
10279 lphbCfgCb : Configuration status callback
10280 @see
10281 @return SUCCESS or FAIL
10282*/
10283WDI_Status WDI_LPHBConfReq
10284(
10285 void *lphbconfParam,
10286 void *usrData,
10287 WDI_LphbCfgCb lphbCfgCb
10288);
10289#endif /* FEATURE_WLAN_LPHB */
Rajeev79dbe4c2013-10-05 11:03:42 +053010290
10291#ifdef FEATURE_WLAN_BATCH_SCAN
10292/**
10293 @brief WDI_SetBatchScanReq
10294 This API is called to set batch scan request in FW
10295
10296 @param pBatchScanReqParam : pointer to set batch scan re param
10297 usrData : Client context
10298 setBatchScanRspCb : set batch scan resp callback
10299 @see
10300 @return SUCCESS or FAIL
10301*/
10302WDI_Status WDI_SetBatchScanReq
10303(
10304 void *pBatchScanReqParam,
10305 void *usrData,
10306 WDI_SetBatchScanCb setBatchScanRspCb
10307);
10308
10309/**
10310 @brief WDI_StopBatchScanInd
10311
10312 @param none
10313
10314 @see
10315
10316 @return Status of the request
10317*/
10318WDI_Status
10319WDI_StopBatchScanInd(WDI_StopBatchScanIndType *pWdiReq);
10320
10321/**
10322 @brief WDI_TriggerBatchScanResultInd
10323 This API is called to pull batch scan result from FW
10324
10325 @param pBatchScanReqParam : pointer to trigger batch scan ind param
10326 usrData : Client context
10327 setBatchScanRspCb : get batch scan resp callback
10328 @see
10329 @return SUCCESS or FAIL
10330*/
10331WDI_Status
10332WDI_TriggerBatchScanResultInd(WDI_TriggerBatchScanResultIndType *pWdiReq);
10333
10334
10335#endif /*FEATURE_WLAN_BATCH_SCAN*/
10336
Jeff Johnson295189b2012-06-20 16:38:30 -070010337#ifdef __cplusplus
10338 }
10339#endif
10340
10341
10342#endif /* #ifndef WLAN_QCT_WDI_H */