blob: f7bdd3e447e15e98511941a03abb38e443b6d2e8 [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
Naresh Jayaramc7cbd782014-02-04 17:38:23 +05303371#define WDI_MAX_SUPP_CHANNELS 128
3372#define WDI_MAX_SUPP_OPER_CLASSES 32
3373
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303374typedef struct
3375{
3376 wpt_uint16 uStaIdx;
3377 wpt_uint8 uIsResponder;
3378 wpt_uint8 uUapsdQueues;
3379 wpt_uint8 uMaxSp;
3380 wpt_uint8 uIsBufSta;
Naresh Jayaramc7cbd782014-02-04 17:38:23 +05303381 wpt_uint8 uIsOffChannelSupported;
3382 wpt_uint8 peerCurrOperClass;
3383 wpt_uint8 selfCurrOperClass;
3384 wpt_uint8 validChannelsLen;
3385 wpt_uint8 validChannels[WDI_MAX_SUPP_CHANNELS];
3386 wpt_uint8 validOperClassesLen;
3387 wpt_uint8 validOperClasses[WDI_MAX_SUPP_OPER_CLASSES];
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303388}WDI_SetTDLSLinkEstablishReqInfoType;
3389/*---------------------------------------------------------------------------
3390 WDI_SetTDLSLinkEstablishReqParamsType
3391---------------------------------------------------------------------------*/
3392typedef struct
3393{
3394 /*TDLS Link Establish Req*/
3395 WDI_SetTDLSLinkEstablishReqInfoType wdiTDLSLinkEstablishInfo;
3396
3397 /*Request status callback offered by UMAC - it is called if the current
3398 req has returned PENDING as status; it delivers the status of sending
3399 the message over the BUS */
3400 WDI_ReqStatusCb wdiReqStatusCB;
3401
3402 /*The user data passed in by UMAC, it will be sent back when the above
3403 function pointer will be called */
3404 void* pUserData;
3405}WDI_SetTDLSLinkEstablishReqParamsType;
3406
3407
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05303408typedef struct
3409{
3410 /*Result of the operation*/
3411 WDI_Status wdiStatus;
3412
3413 /*STA Idx*/
3414 wpt_uint16 uStaIdx;
3415}WDI_SetTdlsLinkEstablishReqResp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003416
3417/*---------------------------------------------------------------------------
3418 WDI_SetAddSTASelfParamsType
3419---------------------------------------------------------------------------*/
3420typedef struct
3421{
3422 /*Self Station MAC address*/
3423 wpt_macAddr selfMacAddr;
3424
Kiran Kumar Lokere0ad5cd32013-06-25 11:26:22 -07003425 /*Self STA device mode*/
3426 wpt_uint32 currDeviceMode;
3427
Jeff Johnson295189b2012-06-20 16:38:30 -07003428 /*Status of the operation*/
3429 wpt_uint32 uStatus;
3430}WDI_AddSTASelfInfoType;
3431
3432/*---------------------------------------------------------------------------
3433 WDI_SetAddSTASelfParamsType
3434---------------------------------------------------------------------------*/
3435typedef struct
3436{
3437 /* Add Sta Self Req */
3438 WDI_AddSTASelfInfoType wdiAddSTASelfInfo;
3439
3440 /*Request status callback offered by UMAC - it is called if the current
3441 req has returned PENDING as status; it delivers the status of sending
3442 the message over the BUS */
3443 WDI_ReqStatusCb wdiReqStatusCB;
3444
3445 /*The user data passed in by UMAC, it will be sent back when the above
3446 function pointer will be called */
3447 void* pUserData;
3448}WDI_AddSTASelfReqParamsType;
3449
3450
3451/*---------------------------------------------------------------------------
3452 WDI_AddSTASelfRspParamsType
3453---------------------------------------------------------------------------*/
3454typedef struct
3455{
3456 /*Status of the response*/
3457 WDI_Status wdiStatus;
3458
3459 /*STA Idx allocated by HAL*/
3460 wpt_uint8 ucSTASelfIdx;
3461
3462 /* DPU Index (IGTK, PTK, GTK all same) */
3463 wpt_uint8 dpuIdx;
3464
3465 /* DPU Signature */
3466 wpt_uint8 dpuSignature;
3467
3468 /*Self STA Mac*/
3469 wpt_macAddr macSelfSta;
3470
3471}WDI_AddSTASelfRspParamsType;
3472
3473/*---------------------------------------------------------------------------
3474 WDI_DelSTASelfReqParamsType
3475 Del Sta Self info passed to WDI form WDA
3476---------------------------------------------------------------------------*/
3477typedef struct
3478{
3479 wpt_macAddr selfMacAddr;
3480
3481}WDI_DelSTASelfInfoType;
3482
3483/*---------------------------------------------------------------------------
3484 WDI_DelSTASelfReqParamsType
3485 Del Sta Self info passed to WDI form WDA
3486---------------------------------------------------------------------------*/
3487typedef struct
3488{
3489 /*Del Sta Self Info Type */
3490 WDI_DelSTASelfInfoType wdiDelStaSelfInfo;
3491 /*Request status callback offered by UMAC - it is called if the current req
3492 has returned PENDING as status; it delivers the status of sending the message
3493 over the BUS */
3494 WDI_ReqStatusCb wdiReqStatusCB;
3495 /*The user data passed in by UMAC, it will be sent back when the above
3496 function pointer will be called */
3497 void* pUserData;
3498}WDI_DelSTASelfReqParamsType;
3499
3500/*---------------------------------------------------------------------------
3501 WDI_DelSTASelfRspParamsType
3502---------------------------------------------------------------------------*/
3503typedef struct
3504{
3505 /*Status of the response*/
3506 WDI_Status wdiStatus;
3507
3508 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
3509// wpt_uint8 ucSTAIdx;
3510}WDI_DelSTASelfRspParamsType;
3511
3512/*---------------------------------------------------------------------------
3513 WDI_UapsdInfoType
3514 UAPSD parameters passed per AC to WDA from UMAC
3515---------------------------------------------------------------------------*/
3516typedef struct
3517{
3518 wpt_uint8 ucSTAIdx; // STA index
3519 wpt_uint8 ucAc; // Access Category
3520 wpt_uint8 ucUp; // User Priority
3521 wpt_uint32 uSrvInterval; // Service Interval
3522 wpt_uint32 uSusInterval; // Suspend Interval
3523 wpt_uint32 uDelayInterval; // Delay Interval
3524} WDI_UapsdInfoType;
3525
3526/*---------------------------------------------------------------------------
3527 WDI_SetUapsdAcParamsReqParamsType
3528 UAPSD parameters passed per AC to WDI from WDA
3529---------------------------------------------------------------------------*/
3530typedef struct
3531{
3532 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3533 WDI_UapsdInfoType wdiUapsdInfo;
3534 /*Request status callback offered by UMAC - it is called if the current req
3535 has returned PENDING as status; it delivers the status of sending the message
3536 over the BUS */
3537 WDI_ReqStatusCb wdiReqStatusCB;
3538 /*The user data passed in by UMAC, it will be sent back when the above
3539 function pointer will be called */
3540 void* pUserData;
3541}WDI_SetUapsdAcParamsReqParamsType;
3542
3543/*---------------------------------------------------------------------------
3544 WDI_EnterBmpsReqinfoType
3545 Enter BMPS parameters passed to WDA from UMAC
3546---------------------------------------------------------------------------*/
3547typedef struct
3548{
3549 //TBTT value derived from the last beacon
3550 wpt_uint8 ucBssIdx;
3551 wpt_uint64 uTbtt;
3552 wpt_uint8 ucDtimCount;
3553 //DTIM period given to HAL during association may not be valid,
3554 //if association is based on ProbeRsp instead of beacon.
3555 wpt_uint8 ucDtimPeriod;
3556 /* DXE physical addr to be passed down to RIVA. RIVA HAL will use it to program
3557 DXE when DXE wakes up from power save*/
3558 unsigned int dxePhyAddr;
3559
3560 // For CCX and 11R Roaming
3561 wpt_uint32 rssiFilterPeriod;
3562 wpt_uint32 numBeaconPerRssiAverage;
3563 wpt_uint8 bRssiFilterEnable;
3564}WDI_EnterBmpsReqinfoType;
3565
3566/*---------------------------------------------------------------------------
3567 WDI_EnterBmpsReqParamsType
3568 Enter BMPS parameters passed to WDI from WDA
3569---------------------------------------------------------------------------*/
3570typedef struct
3571{
3572 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3573 WDI_EnterBmpsReqinfoType wdiEnterBmpsInfo;
3574 /*Request status callback offered by UMAC - it is called if the current req
3575 has returned PENDING as status; it delivers the status of sending the message
3576 over the BUS */
3577 WDI_ReqStatusCb wdiReqStatusCB;
3578 /*The user data passed in by UMAC, it will be sent back when the above
3579 function pointer will be called */
3580 void* pUserData;
3581}WDI_EnterBmpsReqParamsType;
3582
3583/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003584 WDI_EnterBmpsReqParamsType
3585 Enter BMPS parameters passed from WDI to WDA
3586---------------------------------------------------------------------------*/
3587typedef struct
3588{
3589 /*Status of the response*/
3590 WDI_Status wdiStatus;
3591
3592 /*BssIDX of the session*/
3593 wpt_uint8 bssIdx;
3594}WDI_EnterBmpsRspParamsType;
3595
3596/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003597 WDI_ExitBmpsReqinfoType
3598 Exit BMPS parameters passed to WDA from UMAC
3599---------------------------------------------------------------------------*/
3600typedef struct
3601{
3602 wpt_uint8 ucSendDataNull;
Jeff Johnsone7245742012-09-05 17:12:55 -07003603 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003604}WDI_ExitBmpsReqinfoType;
3605
3606/*---------------------------------------------------------------------------
3607 WDI_ExitBmpsReqParamsType
3608 Exit BMPS parameters passed to WDI from WDA
3609---------------------------------------------------------------------------*/
3610typedef struct
3611{
3612 /*Exit BMPS Info Type, same as tExitBmpsParams */
3613 WDI_ExitBmpsReqinfoType wdiExitBmpsInfo;
3614 /*Request status callback offered by UMAC - it is called if the current req
3615 has returned PENDING as status; it delivers the status of sending the message
3616 over the BUS */
3617 WDI_ReqStatusCb wdiReqStatusCB;
3618 /*The user data passed in by UMAC, it will be sent back when the above
3619 function pointer will be called */
3620 void* pUserData;
3621}WDI_ExitBmpsReqParamsType;
3622
3623/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003624 WDI_ExitBmpsReqParamsType
3625 Exit BMPS parameters passed from WDI to WDA
3626---------------------------------------------------------------------------*/
3627typedef struct
3628{
3629 /*Status of the response*/
3630 WDI_Status wdiStatus;
3631
3632 /*BssIDX of the session*/
3633 wpt_uint8 bssIdx;
3634}WDI_ExitBmpsRspParamsType;
3635
3636/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003637 WDI_EnterUapsdReqinfoType
3638 Enter UAPSD parameters passed to WDA from UMAC
3639---------------------------------------------------------------------------*/
3640typedef struct
3641{
3642 wpt_uint8 ucBkDeliveryEnabled:1;
3643 wpt_uint8 ucBeDeliveryEnabled:1;
3644 wpt_uint8 ucViDeliveryEnabled:1;
3645 wpt_uint8 ucVoDeliveryEnabled:1;
3646 wpt_uint8 ucBkTriggerEnabled:1;
3647 wpt_uint8 ucBeTriggerEnabled:1;
3648 wpt_uint8 ucViTriggerEnabled:1;
3649 wpt_uint8 ucVoTriggerEnabled:1;
Jeff Johnsone7245742012-09-05 17:12:55 -07003650 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003651}WDI_EnterUapsdReqinfoType;
3652
3653/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003654 WDI_EnterUapsdRspParamsType
3655 Enter UAPSD parameters passed from WDI to WDA
3656---------------------------------------------------------------------------*/
3657typedef struct
3658{
3659 /*Status of the response*/
3660 WDI_Status wdiStatus;
3661
3662 /*BssIDX of the session*/
3663 wpt_uint8 bssIdx;
3664}WDI_EnterUapsdRspParamsType;
3665
3666/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003667 WDI_EnterUapsdReqinfoType
3668 Enter UAPSD parameters passed to WDI from WDA
3669---------------------------------------------------------------------------*/
3670typedef struct
3671{
3672 /*Enter UAPSD Info Type, same as tUapsdParams */
3673 WDI_EnterUapsdReqinfoType wdiEnterUapsdInfo;
3674 /*Request status callback offered by UMAC - it is called if the current req
3675 has returned PENDING as status; it delivers the status of sending the message
3676 over the BUS */
3677 WDI_ReqStatusCb wdiReqStatusCB;
3678 /*The user data passed in by UMAC, it will be sent back when the above
3679 function pointer will be called */
3680 void* pUserData;
3681}WDI_EnterUapsdReqParamsType;
3682
3683/*---------------------------------------------------------------------------
3684 WDI_UpdateUapsdReqinfoType
3685 Update UAPSD parameters passed to WDA from UMAC
3686---------------------------------------------------------------------------*/
3687typedef struct
3688{
3689 wpt_uint8 ucSTAIdx;
3690 wpt_uint8 ucUapsdACMask;
3691 wpt_uint32 uMaxSpLen;
3692}WDI_UpdateUapsdReqinfoType;
3693
3694/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003695 WDI_ExitUapsdReqinfoType
3696 Exit UAPSD parameters passed to WDA from UMAC
3697---------------------------------------------------------------------------*/
3698typedef struct
3699{
3700 wpt_uint8 bssIdx;
3701}WDI_ExitUapsdReqinfoType;
3702
3703/*---------------------------------------------------------------------------
3704 WDI_ExitUapsdReqParamsType
3705 Exit UAPSD parameters passed to WDI from WDA
3706---------------------------------------------------------------------------*/
3707typedef struct
3708{
3709 /*Exit UAPSD Info Type, same as tUapsdParams */
3710 WDI_ExitUapsdReqinfoType wdiExitUapsdInfo;
3711 /*Request status callback offered by UMAC - it is called if the current req
3712 has returned PENDING as status; it delivers the status of sending the message
3713 over the BUS */
3714 WDI_ReqStatusCb wdiReqStatusCB;
3715 /*The user data passed in by UMAC, it will be sent back when the above
3716 function pointer will be called */
3717 void* pUserData;
3718}WDI_ExitUapsdReqParamsType;
3719
3720/*---------------------------------------------------------------------------
3721 WDI_ExitUapsdRspParamsType
3722 Exit UAPSD parameters passed from WDI to WDA
3723---------------------------------------------------------------------------*/
3724typedef struct
3725{
3726 /*Status of the response*/
3727 WDI_Status wdiStatus;
3728
3729 /*BssIDX of the session*/
3730 wpt_uint8 bssIdx;
3731}WDI_ExitUapsdRspParamsType;
3732
3733/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003734 WDI_UpdateUapsdReqParamsType
3735 Update UAPSD parameters passed to WDI form WDA
3736---------------------------------------------------------------------------*/
3737typedef struct
3738{
3739 /*Update UAPSD Info Type, same as tUpdateUapsdParams */
3740 WDI_UpdateUapsdReqinfoType wdiUpdateUapsdInfo;
3741 /*Request status callback offered by UMAC - it is called if the current req
3742 has returned PENDING as status; it delivers the status of sending the message
3743 over the BUS */
3744 WDI_ReqStatusCb wdiReqStatusCB;
3745 /*The user data passed in by UMAC, it will be sent back when the above
3746 function pointer will be called */
3747 void* pUserData;
3748}WDI_UpdateUapsdReqParamsType;
3749
3750/*---------------------------------------------------------------------------
3751 WDI_ConfigureRxpFilterReqParamsType
3752 RXP filter parameters passed to WDI form WDA
3753---------------------------------------------------------------------------*/
3754typedef struct
3755{
3756 /* Mode of Mcast and Bcast filters configured */
3757 wpt_uint8 ucSetMcstBcstFilterSetting;
3758
3759 /* Mcast Bcast Filters enable/disable*/
3760 wpt_uint8 ucSetMcstBcstFilter;
3761}WDI_RxpFilterReqParamsType;
3762
3763typedef struct
3764{
3765 /* Rxp Filter */
3766 WDI_RxpFilterReqParamsType wdiRxpFilterParam;
3767
3768 /*Request status callback offered by UMAC - it is called if the current req
3769 has returned PENDING as status; it delivers the status of sending the message
3770 over the BUS */
3771 WDI_ReqStatusCb wdiReqStatusCB;
3772 /*The user data passed in by UMAC, it will be sent back when the above
3773 function pointer will be called */
3774 void* pUserData;
3775}WDI_ConfigureRxpFilterReqParamsType;
3776
3777/*---------------------------------------------------------------------------
3778 WDI_BeaconFilterInfoType
3779 Beacon Filtering data structures passed to WDA form UMAC
3780---------------------------------------------------------------------------*/
3781typedef struct
3782{
3783 wpt_uint16 usCapabilityInfo;
3784 wpt_uint16 usCapabilityMask;
3785 wpt_uint16 usBeaconInterval;
3786 wpt_uint16 usIeNum;
Madan Mohan Koyyalamudia84edda2012-10-15 14:58:25 -07003787 wpt_uint8 bssIdx;
3788 wpt_uint8 reserved;
Jeff Johnson295189b2012-06-20 16:38:30 -07003789}WDI_BeaconFilterInfoType;
3790
3791/*---------------------------------------------------------------------------
3792 WDI_BeaconFilterReqParamsType
3793 Beacon Filtering parameters passed to WDI form WDA
3794---------------------------------------------------------------------------*/
3795typedef struct
3796{
3797 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
3798 WDI_BeaconFilterInfoType wdiBeaconFilterInfo;
3799 /*Beacon Filter(s) follow the "usIeNum" field, hence the array to ease the
3800 copy of params from WDA to WDI */
3801 wpt_uint8 aFilters[WDI_BEACON_FILTER_LEN];
3802 /*Request status callback offered by UMAC - it is called if the current req
3803 has returned PENDING as status; it delivers the status of sending the message
3804 over the BUS */
3805 WDI_ReqStatusCb wdiReqStatusCB;
3806 /*The user data passed in by UMAC, it will be sent back when the above
3807 function pointer will be called */
3808 void* pUserData;
3809}WDI_BeaconFilterReqParamsType;
3810
3811/*---------------------------------------------------------------------------
3812 WDI_RemBeaconFilterInfoType
3813 Beacon Filtering data structures (to be reomoved) passed to WDA form UMAC
3814---------------------------------------------------------------------------*/
3815typedef struct
3816{
3817 wpt_uint8 ucIeCount;
3818 wpt_uint8 ucRemIeId[1];
3819}WDI_RemBeaconFilterInfoType;
3820
3821/*---------------------------------------------------------------------------
3822 WDI_RemBeaconFilterReqParamsType
3823 Beacon Filtering parameters (to be reomoved)passed to WDI form WDA
3824---------------------------------------------------------------------------*/
3825typedef struct
3826{
3827 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
3828 WDI_RemBeaconFilterInfoType wdiBeaconFilterInfo;
3829 /*Request status callback offered by UMAC - it is called if the current req
3830 has returned PENDING as status; it delivers the status of sending the message
3831 over the BUS */
3832 WDI_ReqStatusCb wdiReqStatusCB;
3833 /*The user data passed in by UMAC, it will be sent back when the above
3834 function pointer will be called */
3835 void* pUserData;
3836}WDI_RemBeaconFilterReqParamsType;
3837
3838/*---------------------------------------------------------------------------
3839 WDI_RSSIThresholdsType
3840 RSSI thresholds data structures (to be reomoved) passed to WDA form UMAC
3841---------------------------------------------------------------------------*/
3842typedef struct
3843{
3844 wpt_int8 ucRssiThreshold1 : 8;
3845 wpt_int8 ucRssiThreshold2 : 8;
3846 wpt_int8 ucRssiThreshold3 : 8;
3847 wpt_uint8 bRssiThres1PosNotify : 1;
3848 wpt_uint8 bRssiThres1NegNotify : 1;
3849 wpt_uint8 bRssiThres2PosNotify : 1;
3850 wpt_uint8 bRssiThres2NegNotify : 1;
3851 wpt_uint8 bRssiThres3PosNotify : 1;
3852 wpt_uint8 bRssiThres3NegNotify : 1;
3853 wpt_uint8 bReserved10 : 2;
3854} WDI_RSSIThresholdsType;
3855
3856/*---------------------------------------------------------------------------
3857 WDI_SetRSSIThresholdsReqParamsType
3858 RSSI thresholds parameters (to be reomoved)passed to WDI form WDA
3859---------------------------------------------------------------------------*/
3860typedef struct
3861{
3862 /*RSSI thresholds Info Type, same as WDI_RSSIThresholds */
3863 WDI_RSSIThresholdsType wdiRSSIThresholdsInfo;
3864 /*Request status callback offered by UMAC - it is called if the current req
3865 has returned PENDING as status; it delivers the status of sending the message
3866 over the BUS */
3867 WDI_ReqStatusCb wdiReqStatusCB;
3868 /*The user data passed in by UMAC, it will be sent back when the above
3869 function pointer will be called */
3870 void* pUserData;
3871}WDI_SetRSSIThresholdsReqParamsType;
3872
3873/*---------------------------------------------------------------------------
3874 WDI_HostOffloadReqType
3875 host offload info passed to WDA form UMAC
3876---------------------------------------------------------------------------*/
3877#ifdef WLAN_NS_OFFLOAD
3878typedef struct
3879{
3880 wpt_uint8 srcIPv6Addr[16];
3881 wpt_uint8 selfIPv6Addr[16];
3882 //Only support 2 possible Network Advertisement IPv6 address
3883 wpt_uint8 targetIPv6Addr1[16];
3884 wpt_uint8 targetIPv6Addr2[16];
3885 wpt_uint8 selfMacAddr[6];
3886 wpt_uint8 srcIPv6AddrValid : 1;
3887 wpt_uint8 targetIPv6Addr1Valid : 1;
3888 wpt_uint8 targetIPv6Addr2Valid : 1;
Gopichand Nakkala746a9452013-06-11 12:45:54 +05303889 wpt_uint8 slotIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003890} WDI_NSOffloadParams;
3891#endif //WLAN_NS_OFFLOAD
3892
3893typedef struct
3894{
3895 wpt_uint8 ucOffloadType;
3896 wpt_uint8 ucEnableOrDisable;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003897 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07003898 union
3899 {
3900 wpt_uint8 aHostIpv4Addr [4];
3901 wpt_uint8 aHostIpv6Addr [16];
3902 } params;
3903} WDI_HostOffloadReqType;
3904
3905/*---------------------------------------------------------------------------
3906 WDI_HostOffloadReqParamsType
3907 host offload info passed to WDI form WDA
3908---------------------------------------------------------------------------*/
3909typedef struct
3910{
3911 /*Host offload Info Type, same as tHalHostOffloadReq */
3912 WDI_HostOffloadReqType wdiHostOffloadInfo;
3913#ifdef WLAN_NS_OFFLOAD
3914 WDI_NSOffloadParams wdiNsOffloadParams;
3915#endif //WLAN_NS_OFFLOAD
3916 /*Request status callback offered by UMAC - it is called if the current req
3917 has returned PENDING as status; it delivers the status of sending the message
3918 over the BUS */
3919 WDI_ReqStatusCb wdiReqStatusCB;
3920 /*The user data passed in by UMAC, it will be sent back when the above
3921 function pointer will be called */
3922 void* pUserData;
3923}WDI_HostOffloadReqParamsType;
3924
3925/*---------------------------------------------------------------------------
3926 WDI_KeepAliveReqType
3927 Keep Alive info passed to WDA form UMAC
3928---------------------------------------------------------------------------*/
3929typedef struct
3930{
3931 wpt_uint8 ucPacketType;
3932 wpt_uint32 ucTimePeriod;
3933 wpt_uint8 aHostIpv4Addr[4];
3934 wpt_uint8 aDestIpv4Addr[4];
3935 wpt_uint8 aDestMacAddr[6];
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003936 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07003937} WDI_KeepAliveReqType;
3938
3939/*---------------------------------------------------------------------------
3940 WDI_KeepAliveReqParamsType
3941 Keep Alive passed to WDI form WDA
3942---------------------------------------------------------------------------*/
3943typedef struct
3944{
3945 /* Keep Alive Info Type, same as tHalKeepAliveReq */
3946 WDI_KeepAliveReqType wdiKeepAliveInfo;
3947 /*Request status callback offered by UMAC - it is called if the current req
3948 has returned PENDING as status; it delivers the status of sending the message
3949 over the BUS */
3950 WDI_ReqStatusCb wdiReqStatusCB;
3951 /*The user data passed in by UMAC, it will be sent back when the above
3952 function pointer will be called */
3953 void* pUserData;
3954}WDI_KeepAliveReqParamsType;
3955
3956/*---------------------------------------------------------------------------
3957 WDI_WowlAddBcPtrnInfoType
3958 Wowl add ptrn info passed to WDA form UMAC
3959---------------------------------------------------------------------------*/
3960typedef struct
3961{
3962 wpt_uint8 ucPatternId; // Pattern ID
3963 // Pattern byte offset from beginning of the 802.11 packet to start of the
3964 // wake-up pattern
3965 wpt_uint8 ucPatternByteOffset;
3966 wpt_uint8 ucPatternSize; // Non-Zero Pattern size
3967 wpt_uint8 ucPattern[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern
3968 wpt_uint8 ucPatternMaskSize; // Non-zero pattern mask size
3969 wpt_uint8 ucPatternMask[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern mask
3970 wpt_uint8 ucPatternExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern
3971 wpt_uint8 ucPatternMaskExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern mask
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003972 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07003973} WDI_WowlAddBcPtrnInfoType;
3974
3975/*---------------------------------------------------------------------------
3976 WDI_WowlAddBcPtrnReqParamsType
3977 Wowl add ptrn info passed to WDI form WDA
3978---------------------------------------------------------------------------*/
3979typedef struct
3980{
3981 /*Wowl add ptrn Info Type, same as tpSirWowlAddBcastPtrn */
3982 WDI_WowlAddBcPtrnInfoType wdiWowlAddBcPtrnInfo;
3983 /*Request status callback offered by UMAC - it is called if the current req
3984 has returned PENDING as status; it delivers the status of sending the message
3985 over the BUS */
3986 WDI_ReqStatusCb wdiReqStatusCB;
3987 /*The user data passed in by UMAC, it will be sent back when the above
3988 function pointer will be called */
3989 void* pUserData;
3990}WDI_WowlAddBcPtrnReqParamsType;
3991
3992/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003993 WDI_WowlAddBcPtrnRspParamsType
3994 Wowl add ptrn info passed from WDI to WDA
3995---------------------------------------------------------------------------*/
3996typedef struct
3997{
3998 /*Status of the response*/
3999 WDI_Status wdiStatus;
4000 /*BssIDX of the session*/
4001 wpt_uint8 bssIdx;
4002}WDI_WowlAddBcPtrnRspParamsType;
4003
4004/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004005 WDI_WowlDelBcPtrnInfoType
4006 Wowl add ptrn info passed to WDA form UMAC
4007---------------------------------------------------------------------------*/
4008typedef struct
4009{
4010 /* Pattern ID of the wakeup pattern to be deleted */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004011 wpt_uint8 ucPatternId;
4012 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004013} WDI_WowlDelBcPtrnInfoType;
4014
4015/*---------------------------------------------------------------------------
4016 WDI_WowlDelBcPtrnReqParamsType
4017 Wowl add ptrn info passed to WDI form WDA
4018---------------------------------------------------------------------------*/
4019typedef struct
4020{
4021 /*Wowl delete ptrn Info Type, same as WDI_WowlDelBcastPtrn */
4022 WDI_WowlDelBcPtrnInfoType wdiWowlDelBcPtrnInfo;
4023 /*Request status callback offered by UMAC - it is called if the current req
4024 has returned PENDING as status; it delivers the status of sending the message
4025 over the BUS */
4026 WDI_ReqStatusCb wdiReqStatusCB;
4027 /*The user data passed in by UMAC, it will be sent back when the above
4028 function pointer will be called */
4029 void* pUserData;
4030}WDI_WowlDelBcPtrnReqParamsType;
4031
4032/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004033 WDI_WowlDelBcPtrnRspParamsType
4034 Wowl Del ptrn info passed from WDI to WDA
4035---------------------------------------------------------------------------*/
4036typedef struct
4037{
4038 /*Status of the response*/
4039 WDI_Status wdiStatus;
4040 /*BssIDX of the session*/
4041 wpt_uint8 bssIdx;
4042}WDI_WowlDelBcPtrnRspParamsType;
4043
4044/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004045 WDI_WowlEnterInfoType
4046 Wowl enter info passed to WDA form UMAC
4047---------------------------------------------------------------------------*/
4048typedef struct
4049{
4050 /* Enables/disables magic packet filtering */
4051 wpt_uint8 ucMagicPktEnable;
4052
4053 /* Magic pattern */
4054 wpt_macAddr magicPtrn;
4055
4056 /* Enables/disables packet pattern filtering in firmware.
4057 Enabling this flag enables broadcast pattern matching
4058 in Firmware. If unicast pattern matching is also desired,
4059 ucUcastPatternFilteringEnable flag must be set tot true
4060 as well
4061 */
4062 wpt_uint8 ucPatternFilteringEnable;
4063
4064 /* Enables/disables unicast packet pattern filtering.
4065 This flag specifies whether we want to do pattern match
4066 on unicast packets as well and not just broadcast packets.
4067 This flag has no effect if the ucPatternFilteringEnable
4068 (main controlling flag) is set to false
4069 */
4070 wpt_uint8 ucUcastPatternFilteringEnable;
4071
4072 /* This configuration is valid only when magicPktEnable=1.
4073 * It requests hardware to wake up when it receives the
4074 * Channel Switch Action Frame.
4075 */
4076 wpt_uint8 ucWowChnlSwitchRcv;
4077
4078 /* This configuration is valid only when magicPktEnable=1.
4079 * It requests hardware to wake up when it receives the
4080 * Deauthentication Frame.
4081 */
4082 wpt_uint8 ucWowDeauthRcv;
4083
4084 /* This configuration is valid only when magicPktEnable=1.
4085 * It requests hardware to wake up when it receives the
4086 * Disassociation Frame.
4087 */
4088 wpt_uint8 ucWowDisassocRcv;
4089
4090 /* This configuration is valid only when magicPktEnable=1.
4091 * It requests hardware to wake up when it has missed
4092 * consecutive beacons. This is a hardware register
4093 * configuration (NOT a firmware configuration).
4094 */
4095 wpt_uint8 ucWowMaxMissedBeacons;
4096
4097 /* This configuration is valid only when magicPktEnable=1.
4098 * This is a timeout value in units of microsec. It requests
4099 * hardware to unconditionally wake up after it has stayed
4100 * in WoWLAN mode for some time. Set 0 to disable this feature.
4101 */
4102 wpt_uint8 ucWowMaxSleepUsec;
4103
4104#ifdef WLAN_WAKEUP_EVENTS
4105 /* This configuration directs the WoW packet filtering to look for EAP-ID
4106 * requests embedded in EAPOL frames and use this as a wake source.
4107 */
4108 wpt_uint8 ucWoWEAPIDRequestEnable;
4109
4110 /* This configuration directs the WoW packet filtering to look for EAPOL-4WAY
4111 * requests and use this as a wake source.
4112 */
4113 wpt_uint8 ucWoWEAPOL4WayEnable;
4114
4115 /* This configuration allows a host wakeup on an network scan offload match.
4116 */
4117 wpt_uint8 ucWowNetScanOffloadMatch;
4118
4119 /* This configuration allows a host wakeup on any GTK rekeying error.
4120 */
4121 wpt_uint8 ucWowGTKRekeyError;
4122
4123 /* This configuration allows a host wakeup on BSS connection loss.
4124 */
4125 wpt_uint8 ucWoWBSSConnLoss;
4126#endif // WLAN_WAKEUP_EVENTS
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004127
4128 /* BSSIDX used to find the current session
4129 */
4130 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004131} WDI_WowlEnterInfoType;
4132
4133/*---------------------------------------------------------------------------
4134 WDI_WowlEnterReqParamsType
4135 Wowl enter info passed to WDI form WDA
4136---------------------------------------------------------------------------*/
4137typedef struct
4138{
4139 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
4140 WDI_WowlEnterInfoType wdiWowlEnterInfo;
4141 /*Request status callback offered by UMAC - it is called if the current req
4142 has returned PENDING as status; it delivers the status of sending the message
4143 over the BUS */
4144 WDI_ReqStatusCb wdiReqStatusCB;
4145 /*The user data passed in by UMAC, it will be sent back when the above
4146 function pointer will be called */
4147 void* pUserData;
4148}WDI_WowlEnterReqParamsType;
4149
4150/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004151 WDI_WowlEnterRsqParamsType
4152 Wowl enter info passed from WDI to WDA
4153---------------------------------------------------------------------------*/
4154typedef struct
4155{
4156 /*Status of the response message*/
4157 WDI_Status status;
4158
4159 /* BSSIDX used to find the current session
4160 */
4161 wpt_uint8 bssIdx;
4162}WDI_WowlEnterRspParamsType;
4163
4164/*---------------------------------------------------------------------------
4165 WDI_WowlExitInfoType
4166 Wowl exit info passed to WDA form UMAC
4167 ---------------------------------------------------------------------------*/
4168typedef struct
4169{
4170 /* BSSIDX used to find the current session
4171 */
4172 wpt_uint8 bssIdx;
4173} WDI_WowlExitInfoType;
4174
4175/*---------------------------------------------------------------------------
4176 WDI_WowlExitReqParamsType
4177 Wowl exit info passed to WDI form WDA
4178---------------------------------------------------------------------------*/
4179typedef struct
4180{
4181 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
4182 WDI_WowlExitInfoType wdiWowlExitInfo;
4183 /*Request status callback offered by UMAC - it is called if the current req
4184 has returned PENDING as status; it delivers the status of sending the message
4185 over the BUS */
4186 WDI_ReqStatusCb wdiReqStatusCB;
4187 /*The user data passed in by UMAC, it will be sent back when the above
4188 function pointer will be called */
4189 void* pUserData;
4190}WDI_WowlExitReqParamsType;
4191
4192/*---------------------------------------------------------------------------
4193 WDI_WowlExitRspParamsType
4194 Wowl exit info passed from WDI to WDA
4195---------------------------------------------------------------------------*/
4196typedef struct
4197{
4198 /*Status of the response message*/
4199 WDI_Status status;
4200
4201 /* BSSIDX used to find the current session
4202 */
4203 wpt_uint8 bssIdx;
4204}WDI_WowlExitRspParamsType;
4205
4206/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004207 WDI_ConfigureAppsCpuWakeupStateReqParamsType
4208 Apps Cpu Wakeup State parameters passed to WDI form WDA
4209---------------------------------------------------------------------------*/
4210typedef struct
4211{
4212 /*Depicts the state of the Apps CPU */
4213 wpt_boolean bIsAppsAwake;
4214 /*Request status callback offered by UMAC - it is called if the current req
4215 has returned PENDING as status; it delivers the status of sending the message
4216 over the BUS */
4217 WDI_ReqStatusCb wdiReqStatusCB;
4218 /*The user data passed in by UMAC, it will be sent back when the above
4219 function pointer will be called */
4220 void* pUserData;
4221}WDI_ConfigureAppsCpuWakeupStateReqParamsType;
4222/*---------------------------------------------------------------------------
4223 WDI_FlushAcReqinfoType
4224---------------------------------------------------------------------------*/
4225typedef struct
4226{
4227 // Message Type
4228 wpt_uint16 usMesgType;
4229
4230 // Message Length
4231 wpt_uint16 usMesgLen;
4232
4233 // Station Index. originates from HAL
4234 wpt_uint8 ucSTAId;
4235
4236 // TID for which the transmit queue is being flushed
4237 wpt_uint8 ucTid;
4238
4239}WDI_FlushAcReqinfoType;
4240
4241/*---------------------------------------------------------------------------
4242 WDI_FlushAcReqParamsType
4243---------------------------------------------------------------------------*/
4244typedef struct
4245{
4246 /*AC Info */
4247 WDI_FlushAcReqinfoType wdiFlushAcInfo;
4248
4249 /*Request status callback offered by UMAC - it is called if the current
4250 req has returned PENDING as status; it delivers the status of sending
4251 the message over the BUS */
4252 WDI_ReqStatusCb wdiReqStatusCB;
4253
4254 /*The user data passed in by UMAC, it will be sent back when the above
4255 function pointer will be called */
4256 void* pUserData;
4257}WDI_FlushAcReqParamsType;
4258
4259/*---------------------------------------------------------------------------
4260 WDI_BtAmpEventinfoType
4261 BT-AMP Event Structure
4262---------------------------------------------------------------------------*/
4263typedef struct
4264{
4265 wpt_uint8 ucBtAmpEventType;
4266
4267} WDI_BtAmpEventinfoType;
4268
4269/*---------------------------------------------------------------------------
4270 WDI_BtAmpEventParamsType
4271---------------------------------------------------------------------------*/
4272typedef struct
4273{
4274 /*BT AMP event Info */
4275 WDI_BtAmpEventinfoType wdiBtAmpEventInfo;
4276
4277 /*Request status callback offered by UMAC - it is called if the current
4278 req has returned PENDING as status; it delivers the status of sending
4279 the message over the BUS */
4280 WDI_ReqStatusCb wdiReqStatusCB;
4281
4282 /*The user data passed in by UMAC, it will be sent back when the above
4283 function pointer will be called */
4284 void* pUserData;
4285}WDI_BtAmpEventParamsType;
4286
Jeff Johnsone7245742012-09-05 17:12:55 -07004287#ifdef FEATURE_OEM_DATA_SUPPORT
4288
4289#ifndef OEM_DATA_REQ_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004290#define OEM_DATA_REQ_SIZE 134
Jeff Johnsone7245742012-09-05 17:12:55 -07004291#endif
4292#ifndef OEM_DATA_RSP_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004293#define OEM_DATA_RSP_SIZE 1968
Jeff Johnsone7245742012-09-05 17:12:55 -07004294#endif
4295
4296/*----------------------------------------------------------------------------
4297 WDI_oemDataReqInfoType
4298----------------------------------------------------------------------------*/
4299typedef struct
4300{
4301 wpt_macAddr selfMacAddr;
4302 wpt_uint8 oemDataReq[OEM_DATA_REQ_SIZE];
4303}WDI_oemDataReqInfoType;
4304
4305/*----------------------------------------------------------------------------
4306 WDI_oemDataReqParamsType
4307----------------------------------------------------------------------------*/
4308typedef struct
4309{
4310 /*Request status callback offered by UMAC - it is called if the current
4311 req has returned PENDING as status; it delivers the status of sending
4312 the message over the BUS */
4313 WDI_ReqStatusCb wdiReqStatusCB;
4314
4315 /*The user data passed in by UMAC, it will be sent back when the above
4316 function pointer will be called */
4317 void* pUserData;
4318
4319 /*OEM DATA REQ Info */
4320 WDI_oemDataReqInfoType wdiOemDataReqInfo;
4321
4322}WDI_oemDataReqParamsType;
4323
4324/*----------------------------------------------------------------------------
4325 WDI_oemDataRspParamsType
4326----------------------------------------------------------------------------*/
4327typedef struct
4328{
4329 wpt_uint8 oemDataRsp[OEM_DATA_RSP_SIZE];
4330}WDI_oemDataRspParamsType;
4331
4332#endif /* FEATURE_OEM_DATA_SUPPORT */
Jeff Johnson295189b2012-06-20 16:38:30 -07004333
4334#ifdef WLAN_FEATURE_VOWIFI_11R
4335/*---------------------------------------------------------------------------
4336 WDI_AggrAddTSReqInfoType
4337---------------------------------------------------------------------------*/
4338typedef struct
4339{
4340 /*STA Index*/
4341 wpt_uint8 ucSTAIdx;
4342
4343 /*Identifier for TSpec*/
4344 wpt_uint8 ucTspecIdx;
4345
4346 /*Tspec IE negotiated OTA*/
4347 WDI_TspecIEType wdiTspecIE[WDI_MAX_NO_AC];
4348
4349 /*UAPSD delivery and trigger enabled flags */
4350 wpt_uint8 ucUapsdFlags;
4351
4352 /*SI for each AC*/
4353 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
4354
4355 /*Suspend Interval for each AC*/
4356 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
4357
4358 /*DI for each AC*/
4359 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
4360
4361}WDI_AggrAddTSReqInfoType;
4362
4363
4364/*---------------------------------------------------------------------------
4365 WDI_AggrAddTSReqParamsType
4366---------------------------------------------------------------------------*/
4367typedef struct
4368{
4369 /*TSpec Info */
4370 WDI_AggrAddTSReqInfoType wdiAggrTsInfo;
4371
4372 /*Request status callback offered by UMAC - it is called if the current
4373 req has returned PENDING as status; it delivers the status of sending
4374 the message over the BUS */
4375 WDI_ReqStatusCb wdiReqStatusCB;
4376
4377 /*The user data passed in by UMAC, it will be sent back when the above
4378 function pointer will be called */
4379 void* pUserData;
4380}WDI_AggrAddTSReqParamsType;
4381
4382#endif /* WLAN_FEATURE_VOWIFI_11R */
4383
Jeff Johnson295189b2012-06-20 16:38:30 -07004384/*---------------------------------------------------------------------------
4385 WDI_FTMCommandReqType
4386---------------------------------------------------------------------------*/
4387typedef struct
4388{
4389 /* FTM Command Body length */
4390 wpt_uint32 bodyLength;
4391 /* Actual FTM Command body */
4392 void *FTMCommandBody;
4393}WDI_FTMCommandReqType;
Jeff Johnson295189b2012-06-20 16:38:30 -07004394
4395/*---------------------------------------------------------------------------
4396 WDI_WlanSuspendInfoType
4397---------------------------------------------------------------------------*/
4398typedef struct
4399{
4400 /* Mode of Mcast and Bcast filters configured */
4401 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4402}WDI_WlanSuspendInfoType;
4403
4404/*---------------------------------------------------------------------------
4405 WDI_SuspendParamsType
4406---------------------------------------------------------------------------*/
4407typedef struct
4408{
4409 WDI_WlanSuspendInfoType wdiSuspendParams;
4410
4411 /*Request status callback offered by UMAC - it is called if the current
4412 req has returned PENDING as status; it delivers the status of sending
4413 the message over the BUS */
4414 WDI_ReqStatusCb wdiReqStatusCB;
4415
4416 /*The user data passed in by UMAC, it will be sent back when the above
4417 function pointer will be called */
4418 void* pUserData;
4419
4420}WDI_SuspendParamsType;
4421
4422/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004423 WDI_TrafficStatsType - This is collected for each STA
4424---------------------------------------------------------------------------*/
4425
4426typedef struct
4427{
4428 /* TX stats */
4429 wpt_uint32 txBytesPushed;
4430 wpt_uint32 txPacketsPushed;
4431
4432 /* RX stats */
4433 wpt_uint32 rxBytesRcvd;
4434 wpt_uint32 rxPacketsRcvd;
4435 wpt_uint32 rxTimeTotal;
4436}WDI_TrafficStatsType;
4437
4438typedef struct
4439{
4440 WDI_TrafficStatsType *pTrafficStats;
4441 wpt_uint32 length;
4442 wpt_uint32 duration;
4443
4444 /*Request status callback offered by UMAC - it is called if the current
4445 req has returned PENDING as status; it delivers the status of sending
4446 the message over the BUS */
4447 WDI_ReqStatusCb wdiReqStatusCB;
4448
4449 /*The user data passed in by UMAC, it will be sent back when the above
4450 function pointer will be called */
4451 void* pUserData;
4452}WDI_TrafficStatsIndType;
4453
Chet Lanctot186b5732013-03-18 10:26:30 -07004454#ifdef WLAN_FEATURE_11W
4455typedef struct
4456{
4457
4458 wpt_boolean bExcludeUnencrypt;
4459 wpt_macAddr bssid;
4460 /*Request status callback offered by UMAC - it is called if the current
4461 req has returned PENDING as status; it delivers the status of sending
4462 the message over the BUS */
4463 WDI_ReqStatusCb wdiReqStatusCB;
4464
4465 /*The user data passed in by UMAC, it will be sent back when the above
4466 function pointer will be called */
4467 void* pUserData;
4468}WDI_ExcludeUnencryptIndType;
4469#endif
4470
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004471/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004472 WDI_WlanResumeInfoType
4473---------------------------------------------------------------------------*/
4474typedef struct
4475{
4476 /* Mode of Mcast and Bcast filters configured */
4477 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4478}WDI_WlanResumeInfoType;
4479
4480/*---------------------------------------------------------------------------
4481 WDI_ResumeParamsType
4482---------------------------------------------------------------------------*/
4483typedef struct
4484{
4485 WDI_WlanResumeInfoType wdiResumeParams;
4486
4487 /*Request status callback offered by UMAC - it is called if the current
4488 req has returned PENDING as status; it delivers the status of sending
4489 the message over the BUS */
4490 WDI_ReqStatusCb wdiReqStatusCB;
4491
4492 /*The user data passed in by UMAC, it will be sent back when the above
4493 function pointer will be called */
4494 void* pUserData;
4495
4496}WDI_ResumeParamsType;
4497
4498#ifdef WLAN_FEATURE_GTK_OFFLOAD
4499/*---------------------------------------------------------------------------
4500 * WDI_GTK_OFFLOAD_REQ
4501 *--------------------------------------------------------------------------*/
4502
4503typedef struct
4504{
4505 wpt_uint32 ulFlags; /* optional flags */
4506 wpt_uint8 aKCK[16]; /* Key confirmation key */
4507 wpt_uint8 aKEK[16]; /* key encryption key */
4508 wpt_uint64 ullKeyReplayCounter; /* replay counter */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004509 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004510} WDI_GtkOffloadReqParams;
4511
4512typedef struct
4513{
4514 WDI_GtkOffloadReqParams gtkOffloadReqParams;
4515
4516 /*Request status callback offered by UMAC - it is called if the current
4517 req has returned PENDING as status; it delivers the status of sending
4518 the message over the BUS */
4519 WDI_ReqStatusCb wdiReqStatusCB;
4520
4521 /*The user data passed in by UMAC, it will be sent back when the above
4522 function pointer will be called */
4523 void* pUserData;
4524} WDI_GtkOffloadReqMsg;
4525
4526/*---------------------------------------------------------------------------
4527 * WDI_GTK_OFFLOAD_RSP
4528 *--------------------------------------------------------------------------*/
4529typedef struct
4530{
4531 /* success or failure */
4532 wpt_uint32 ulStatus;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004533 /*BssIdx of the response */
4534 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004535} WDI_GtkOffloadRspParams;
4536
4537typedef struct
4538{
4539 WDI_GtkOffloadRspParams gtkOffloadRspParams;
4540
4541 /*Request status callback offered by UMAC - it is called if the current
4542 req has returned PENDING as status; it delivers the status of sending
4543 the message over the BUS */
4544 WDI_ReqStatusCb wdiReqStatusCB;
4545
4546 /*The user data passed in by UMAC, it will be sent back when the above
4547 function pointer will be called */
4548 void* pUserData;
4549} WDI_GtkOffloadRspMsg;
4550
4551
4552/*---------------------------------------------------------------------------
4553* WDI_GTK_OFFLOAD_GETINFO_REQ
4554*--------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004555typedef struct
4556{
4557 /*BssIdx of the response */
4558 wpt_macAddr bssId;
4559} WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004560
4561typedef struct
4562{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004563
4564 WDI_GtkOffloadGetInfoReqParams WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004565 /*Request status callback offered by UMAC - it is called if the current
4566 req has returned PENDING as status; it delivers the status of sending
4567 the message over the BUS */
4568 WDI_ReqStatusCb wdiReqStatusCB;
4569
4570 /*The user data passed in by UMAC, it will be sent back when the above
4571 function pointer will be called */
4572 void* pUserData;
4573} WDI_GtkOffloadGetInfoReqMsg;
4574
4575/*---------------------------------------------------------------------------
4576* WDI_GTK_OFFLOAD_GETINFO_RSP
4577*--------------------------------------------------------------------------*/
4578typedef struct
4579{
4580 wpt_uint32 ulStatus; /* success or failure */
4581 wpt_uint64 ullKeyReplayCounter; /* current replay counter value */
4582 wpt_uint32 ulTotalRekeyCount; /* total rekey attempts */
4583 wpt_uint32 ulGTKRekeyCount; /* successful GTK rekeys */
4584 wpt_uint32 ulIGTKRekeyCount; /* successful iGTK rekeys */
Gopichand Nakkala870cbae2013-03-15 21:16:09 +05304585 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004586} WDI_GtkOffloadGetInfoRspParams;
4587
4588typedef struct
4589{
4590 WDI_GtkOffloadGetInfoRspParams gtkOffloadGetInfoRspParams;
4591
4592 /*Request status callback offered by UMAC - it is called if the current
4593 req has returned PENDING as status; it delivers the status of sending
4594 the message over the BUS */
4595 WDI_ReqStatusCb wdiReqStatusCB;
4596
4597 /*The user data passed in by UMAC, it will be sent back when the above
4598 function pointer will be called */
4599 void* pUserData;
4600} WDI_GtkOffloadGetInfoRspMsg;
4601#endif // WLAN_FEATURE_GTK_OFFLOAD
4602
4603/*---------------------------------------------------------------------------
4604 WDI_SuspendResumeRspParamsType
4605---------------------------------------------------------------------------*/
4606typedef struct
4607{
4608 /*Status of the response*/
4609 WDI_Status wdiStatus;
4610}WDI_SuspendResumeRspParamsType;
4611
Leo Chang9056f462013-08-01 19:21:11 -07004612#ifdef FEATURE_WLAN_LPHB
4613/*---------------------------------------------------------------------------
4614 WDI Low Power Heart Beat Config request
4615 Copy from sirApi.h to avoid compile error
4616---------------------------------------------------------------------------*/
4617#define WDI_LPHB_FILTER_LEN 64
4618
4619typedef enum
4620{
4621 WDI_LPHB_SET_EN_PARAMS_INDID = 0x0001,
4622 WDI_LPHB_SET_TCP_PARAMS_INDID,
4623 WDI_LPHB_SET_TCP_PKT_FILTER_INDID,
4624 WDI_LPHB_SET_UDP_PARAMS_INDID,
4625 WDI_LPHB_SET_UDP_PKT_FILTER_INDID,
4626 WDI_LPHB_SET_NETWORK_INFO_INDID,
4627} WDI_LPHBIndType;
4628
4629typedef struct
4630{
4631 wpt_uint8 enable;
4632 wpt_uint8 item;
4633 wpt_uint8 session;
4634} WDI_LPHBEnableStruct;
4635
4636typedef struct
4637{
4638 wpt_uint32 srv_ip;
4639 wpt_uint32 dev_ip;
4640 wpt_uint16 src_port;
4641 wpt_uint16 dst_port;
4642 wpt_uint16 timeout;
4643 wpt_uint8 session;
4644 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
Leo Changd9df8aa2013-09-26 13:32:26 -07004645 wpt_uint16 timePeriodSec; // in seconds
4646 wpt_uint32 tcpSn;
Leo Chang9056f462013-08-01 19:21:11 -07004647} WDI_LPHBTcpParamStruct;
4648
4649typedef struct
4650{
4651 wpt_uint16 length;
4652 wpt_uint8 offset;
4653 wpt_uint8 session;
4654 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
4655} WDI_LPHBTcpFilterStruct;
4656
4657typedef struct
4658{
4659 wpt_uint32 srv_ip;
4660 wpt_uint32 dev_ip;
4661 wpt_uint16 src_port;
4662 wpt_uint16 dst_port;
4663 wpt_uint16 interval;
4664 wpt_uint16 timeout;
4665 wpt_uint8 session;
4666 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
4667} WDI_LPHBUdpParamStruct;
4668
4669typedef struct
4670{
4671 wpt_uint16 length;
4672 wpt_uint8 offset;
4673 wpt_uint8 session;
4674 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
4675} WDI_LPHBUdpFilterStruct;
4676
4677typedef struct
4678{
4679 wpt_uint16 cmd;
4680 wpt_uint16 dummy;
4681 union
4682 {
4683 WDI_LPHBEnableStruct lphbEnableReq;
4684 WDI_LPHBTcpParamStruct lphbTcpParamReq;
4685 WDI_LPHBTcpFilterStruct lphbTcpFilterReq;
4686 WDI_LPHBUdpParamStruct lphbUdpParamReq;
4687 WDI_LPHBUdpFilterStruct lphbUdpFilterReq;
4688 } params;
4689} WDI_LPHBReq;
4690#endif /* FEATURE_WLAN_LPHB */
Jeff Johnson295189b2012-06-20 16:38:30 -07004691
Jeff Johnson295189b2012-06-20 16:38:30 -07004692/*---------------------------------------------------------------------------
4693 WDI_AuthType
4694---------------------------------------------------------------------------*/
4695typedef enum
4696{
4697 WDI_AUTH_TYPE_ANY = 0,
4698
4699 WDI_AUTH_TYPE_NONE,
4700 WDI_AUTH_TYPE_OPEN_SYSTEM,
4701 WDI_AUTH_TYPE_SHARED_KEY,
4702
4703 WDI_AUTH_TYPE_WPA,
4704 WDI_AUTH_TYPE_WPA_PSK,
4705 WDI_AUTH_TYPE_WPA_NONE,
4706
4707 WDI_AUTH_TYPE_RSN,
4708 WDI_AUTH_TYPE_RSN_PSK,
4709 WDI_AUTH_TYPE_FT_RSN,
4710 WDI_AUTH_TYPE_FT_RSN_PSK,
4711 WDI_AUTH_TYPE_WAPI_WAI_CERTIFICATE,
4712 WDI_AUTH_TYPE_WAPI_WAI_PSK,
4713 WDI_AUTH_TYPE_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
4714
4715}WDI_AuthType;
4716
4717/*---------------------------------------------------------------------------
4718 WDI_EdType
4719---------------------------------------------------------------------------*/
4720typedef enum
4721{
4722 WDI_ED_ANY = 0,
4723 WDI_ED_NONE,
4724 WDI_ED_WEP40,
4725 WDI_ED_WEP104,
4726 WDI_ED_TKIP,
4727 WDI_ED_CCMP,
4728 WDI_ED_WPI,
4729 WDI_ED_AES_128_CMAC,
4730 WDI_ED_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
4731} WDI_EdType;
4732
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08004733#ifdef FEATURE_WLAN_SCAN_PNO
4734
4735/*Max number of channels for a given network supported by PNO*/
4736#define WDI_PNO_MAX_NETW_CHANNELS 26
4737
4738/*Max number of channels for a given network supported by PNO*/
4739#define WDI_PNO_MAX_NETW_CHANNELS_EX 60
4740
4741/*The max number of programable networks for PNO*/
4742#define WDI_PNO_MAX_SUPP_NETWORKS 16
4743
4744/*The max number of scan timers programable in Riva*/
4745#define WDI_PNO_MAX_SCAN_TIMERS 10
4746
4747#define WDI_PNO_MAX_PROBE_SIZE 450
Jeff Johnson295189b2012-06-20 16:38:30 -07004748
4749/*---------------------------------------------------------------------------
4750 WDI_PNOMode
4751---------------------------------------------------------------------------*/
4752typedef enum
4753{
4754 /*Network offload is to start immediately*/
4755 WDI_PNO_MODE_IMMEDIATE,
4756
4757 /*Network offload is to start on host suspend*/
4758 WDI_PNO_MODE_ON_SUSPEND,
4759
4760 /*Network offload is to start on host resume*/
4761 WDI_PNO_MODE_ON_RESUME,
4762 WDI_PNO_MODE_MAX = 0xFFFFFFFF
4763} WDI_PNOMode;
4764
4765/* SSID broadcast type */
4766typedef enum
4767{
4768 WDI_BCAST_UNKNOWN = 0,
4769 WDI_BCAST_NORMAL = 1,
4770 WDI_BCAST_HIDDEN = 2,
4771
4772 WDI_BCAST_TYPE_MAX = 0xFFFFFFFF
4773} WDI_SSIDBcastType;
4774
4775/*---------------------------------------------------------------------------
4776 WDI_NetworkType
4777---------------------------------------------------------------------------*/
4778typedef struct
4779{
4780 /*The SSID of the preferred network*/
4781 WDI_MacSSid ssId;
4782
4783 /*The authentication method of the preferred network*/
4784 WDI_AuthType wdiAuth;
4785
4786 /*The encryption method of the preferred network*/
4787 WDI_EdType wdiEncryption;
4788
4789 /*SSID broadcast type, normal, hidden or unknown*/
4790 WDI_SSIDBcastType wdiBcastNetworkType;
4791
4792 /*channel count - 0 for all channels*/
4793 wpt_uint8 ucChannelCount;
4794
4795 /*the actual channels*/
Madan Mohan Koyyalamudi4bb5d2e2013-09-26 17:36:46 +05304796 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
Jeff Johnson295189b2012-06-20 16:38:30 -07004797
4798 /*rssi threshold that a network must meet to be considered, 0 - for any*/
4799 wpt_uint8 rssiThreshold;
4800} WDI_NetworkType;
4801
4802
4803/*---------------------------------------------------------------------------
4804 WDI_ScanTimer
4805---------------------------------------------------------------------------*/
4806typedef struct
4807{
4808 /*The timer value*/
4809 wpt_uint32 uTimerValue;
4810
4811 /*The amount of time we should be repeating the interval*/
4812 wpt_uint32 uTimerRepeat;
4813} WDI_ScanTimer;
4814
4815/*---------------------------------------------------------------------------
4816 WDI_ScanTimersType
4817---------------------------------------------------------------------------*/
4818typedef struct
4819{
4820 /*The number of value pair intervals present in the array*/
4821 wpt_uint8 ucScanTimersCount;
4822
4823 /*The time-repeat value pairs*/
4824 WDI_ScanTimer aTimerValues[WDI_PNO_MAX_SCAN_TIMERS];
4825} WDI_ScanTimersType;
4826
4827/*---------------------------------------------------------------------------
4828 WDI_PNOScanReqType
4829---------------------------------------------------------------------------*/
4830typedef struct
4831{
4832 /*Enable or disable PNO feature*/
4833 wpt_uint8 bEnable;
4834
4835 /*PNO mode requested*/
4836 WDI_PNOMode wdiModePNO;
4837
4838 /*Network count*/
4839 wpt_uint8 ucNetworksCount;
4840
4841 /*The networks to look for*/
4842 WDI_NetworkType aNetworks[WDI_PNO_MAX_SUPP_NETWORKS];
4843
4844 /*Scan timer intervals*/
4845 WDI_ScanTimersType scanTimers;
4846
4847 /*Probe template for 2.4GHz band*/
4848 wpt_uint16 us24GProbeSize;
4849 wpt_uint8 a24GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
4850
4851 /*Probe template for 5GHz band*/
4852 wpt_uint16 us5GProbeSize;
4853 wpt_uint8 a5GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
4854} WDI_PNOScanReqType;
4855
4856/*---------------------------------------------------------------------------
4857 WDI_PNOScanReqParamsType
4858 PNO info passed to WDI form WDA
4859---------------------------------------------------------------------------*/
4860typedef struct
4861{
4862 /* PNO Info Type, same as tPrefNetwListParams */
4863 WDI_PNOScanReqType wdiPNOScanInfo;
4864 /* Request status callback offered by UMAC - it is called if the current req
4865 has returned PENDING as status; it delivers the status of sending the message
4866 over the BUS */
4867 WDI_ReqStatusCb wdiReqStatusCB;
4868 /* The user data passed in by UMAC, it will be sent back when the above
4869 function pointer will be called */
4870 void* pUserData;
4871} WDI_PNOScanReqParamsType;
4872
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08004873/*---------------------------------------------------------------------------
4874 WDI_SetRssiFilterReqParamsType
4875 PNO info passed to WDI form WDA
4876---------------------------------------------------------------------------*/
4877typedef struct
4878{
4879 /* RSSI Threshold */
4880 wpt_uint8 rssiThreshold;
4881 /* Request status callback offered by UMAC - it is called if the current req
4882 has returned PENDING as status; it delivers the status of sending the message
4883 over the BUS */
4884 WDI_ReqStatusCb wdiReqStatusCB;
4885 /* The user data passed in by UMAC, it will be sent back when the above
4886 function pointer will be called */
4887 void* pUserData;
4888} WDI_SetRssiFilterReqParamsType;
4889
4890/*---------------------------------------------------------------------------
4891 WDI_UpdateScanParamsInfo
4892---------------------------------------------------------------------------*/
4893typedef struct
4894{
4895 /*Is 11d enabled*/
4896 wpt_uint8 b11dEnabled;
4897
4898 /*Was UMAc able to find the regulatory domain*/
4899 wpt_uint8 b11dResolved;
4900
4901 /*Number of channel allowed in the regulatory domain*/
4902 wpt_uint8 ucChannelCount;
4903
4904 /*The actual channels allowed in the regulatory domain*/
4905 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
4906
4907 /*Passive min channel time*/
4908 wpt_uint16 usPassiveMinChTime;
4909
4910 /*Passive max channel time*/
4911 wpt_uint16 usPassiveMaxChTime;
4912
4913 /*Active min channel time*/
4914 wpt_uint16 usActiveMinChTime;
4915
4916 /*Active max channel time*/
4917 wpt_uint16 usActiveMaxChTime;
4918
4919 /*channel bonding info*/
4920 wpt_uint8 cbState;
4921} WDI_UpdateScanParamsInfo;
4922
4923/*---------------------------------------------------------------------------
4924 WDI_UpdateScanParamsInfoType
4925 UpdateScanParams info passed to WDI form WDA
4926---------------------------------------------------------------------------*/
4927typedef struct
4928{
4929 /* PNO Info Type, same as tUpdateScanParams */
4930 WDI_UpdateScanParamsInfo wdiUpdateScanParamsInfo;
4931 /* Request status callback offered by UMAC - it is called if the current req
4932 has returned PENDING as status; it delivers the status of sending the message
4933 over the BUS */
4934 WDI_ReqStatusCb wdiReqStatusCB;
4935 /* The user data passed in by UMAC, it will be sent back when the above
4936 function pointer will be called */
4937 void* pUserData;
4938} WDI_UpdateScanParamsInfoType;
4939#endif //FEATURE_WLAN_SCAN_PNO
4940
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004941#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
4942
Varun Reddy Yeturu52231ea2014-02-06 12:00:56 -08004943#define WDI_ROAM_SCAN_MAX_CHANNELS 80
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08004944#define WDI_ROAM_SCAN_MAX_PROBE_SIZE 450
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08004945
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004946typedef struct
4947{
4948 /*The SSID of the preferred network*/
4949 WDI_MacSSid ssId;
4950 wpt_uint8 currAPbssid[WDI_MAC_ADDR_LEN];
4951
4952 /*The authentication method of the preferred network*/
4953 WDI_AuthType authentication;
4954
4955 /*The encryption method of the preferred network*/
4956 WDI_EdType encryption;
4957 WDI_EdType mcencryption;
4958
4959 /*SSID broadcast type, normal, hidden or unknown*/
4960 //WDI_SSIDBcastType wdiBcastNetworkType;
4961
4962 /*channel count - 0 for all channels*/
4963 wpt_uint8 ChannelCount;
4964
4965 /*the actual channels*/
4966 wpt_uint8 ChannelCache[WDI_ROAM_SCAN_MAX_CHANNELS];
4967
4968} WDI_RoamNetworkType;
4969
4970typedef struct WDIMobilityDomainInfo
4971{
4972 wpt_uint8 mdiePresent;
4973 wpt_uint16 mobilityDomain;
4974} WDI_MobilityDomainInfo;
4975
4976/*---------------------------------------------------------------------------
4977 WDI_RoamOffloadScanInfo
4978---------------------------------------------------------------------------*/
4979typedef struct
4980{
4981 wpt_boolean RoamScanOffloadEnabled;
Sameer Thalappil4ae66ec2013-11-05 14:17:35 -08004982 wpt_boolean MAWCEnabled;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004983 wpt_uint8 LookupThreshold;
Varun Reddy Yeturu6c5e25c2014-01-09 21:55:37 -08004984 wpt_uint8 RxSensitivityThreshold;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004985 wpt_uint8 RoamRssiDiff;
4986 wpt_uint8 ChannelCacheType;
4987 wpt_uint8 Command;
4988 wpt_uint8 StartScanReason;
4989 wpt_uint16 NeighborScanTimerPeriod;
4990 wpt_uint16 NeighborRoamScanRefreshPeriod;
4991 wpt_uint16 NeighborScanChannelMinTime;
4992 wpt_uint16 NeighborScanChannelMaxTime;
4993 wpt_uint16 EmptyRefreshScanPeriod;
4994 wpt_uint8 ValidChannelCount;
4995 wpt_uint8 ValidChannelList[WDI_ROAM_SCAN_MAX_CHANNELS];
4996 wpt_boolean IsCCXEnabled;
4997 /*Probe template for 2.4GHz band*/
4998 wpt_uint16 us24GProbeSize;
4999 wpt_uint8 a24GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
5000
5001 /*Probe template for 5GHz band*/
5002 wpt_uint16 us5GProbeSize;
5003 wpt_uint8 a5GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005004 /*LFR BG Scan will currently look for only one network to which it is initially connected.
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005005 * As per requirement, later, the following structure can be used as an array of networks.*/
5006 WDI_RoamNetworkType ConnectedNetwork;
5007 WDI_MobilityDomainInfo MDID;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005008 wpt_uint8 nProbes;
5009 wpt_uint16 HomeAwayTime;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005010} WDI_RoamOffloadScanInfo;
5011
5012typedef struct
5013{
5014 /* Start Roam Candidate Lookup Offload Back Ground Info Type */
5015 WDI_RoamOffloadScanInfo wdiRoamOffloadScanInfo;
5016 /* Request status callback offered by UMAC - it is called if the current req
5017 has returned PENDING as status; it delivers the status of sending the message
5018 over the BUS */
5019 WDI_ReqStatusCb wdiReqStatusCB;
5020 /* The user data passed in by UMAC, it will be sent back when the above
5021 function pointer will be called */
5022 void* pUserData;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005023} WDI_RoamScanOffloadReqParamsType;
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005024#endif //WLAN_FEATURE_ROAM_SCAN_OFFLOAD
Jeff Johnson295189b2012-06-20 16:38:30 -07005025
5026/*---------------------------------------------------------------------------
Sandeep Puligilla8b8b74b2014-02-10 16:39:05 +05305027 WDI_HT40ObssScanIndType
5028---------------------------------------------------------------------------*/
5029typedef struct
5030{
5031 wpt_uint8 cmdType;
5032 wpt_uint8 scanType;
5033 wpt_uint16 OBSSScanPassiveDwellTime; // In TUs
5034 wpt_uint16 OBSSScanActiveDwellTime; // In TUs
5035 wpt_uint16 BSSChannelWidthTriggerScanInterval; // In seconds
5036 wpt_uint16 OBSSScanPassiveTotalPerChannel; // In TUs
5037 wpt_uint16 OBSSScanActiveTotalPerChannel; // In TUs
5038 wpt_uint16 BSSWidthChannelTransitionDelayFactor;
5039 wpt_uint16 OBSSScanActivityThreshold;
5040 wpt_uint8 selfStaIdx;
5041 wpt_uint8 bssIdx;
5042 wpt_uint8 fortyMHZIntolerent;
5043 wpt_uint8 channelCount;
5044 wpt_uint8 channels[WDI_ROAM_SCAN_MAX_CHANNELS];
5045 wpt_uint8 currentOperatingClass;
5046 wpt_uint16 ieFieldLen;
5047 wpt_uint8 ieField[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
5048} WDI_HT40ObssScanIndType;
5049
5050
5051/*---------------------------------------------------------------------------
5052 WDI_OBSSScanIndParamsType
5053---------------------------------------------------------------------------*/
5054typedef struct
5055{
5056 WDI_HT40ObssScanIndType wdiHT40ObssScanParam;
5057
5058 /*Request status callback offered by UMAC - it is called if the current
5059 req has returned PENDING as status; it delivers the status of sending
5060 the message over the BUS */
5061 WDI_ReqStatusCb wdiReqStatusCB;
5062
5063 /*The user data passed in by UMAC, it will be sent back when the above
5064 function pointer will be called */
5065 void* pUserData;
5066
5067}WDI_HT40ObssScanParamsType;
5068
5069/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07005070 WDI_UpdateScanParamsInfo
5071---------------------------------------------------------------------------*/
5072typedef struct
5073{
5074 /* Ignore DTIM */
5075 wpt_uint32 uIgnoreDTIM;
5076
5077 /*DTIM Period*/
5078 wpt_uint32 uDTIMPeriod;
5079
5080 /* Listen Interval */
5081 wpt_uint32 uListenInterval;
5082
5083 /* Broadcast Multicas Filter */
5084 wpt_uint32 uBcastMcastFilter;
5085
5086 /* Beacon Early Termination */
5087 wpt_uint32 uEnableBET;
5088
5089 /* Beacon Early Termination Interval */
5090 wpt_uint32 uBETInterval;
5091
Yue Mac24062f2013-05-13 17:01:29 -07005092 /* MAX LI for modulated DTIM */
5093 wpt_uint32 uMaxLIModulatedDTIM;
5094
Jeff Johnson295189b2012-06-20 16:38:30 -07005095} WDI_SetPowerParamsInfo;
5096
5097/*---------------------------------------------------------------------------
5098 WDI_UpdateScanParamsInfoType
5099 UpdateScanParams info passed to WDI form WDA
5100---------------------------------------------------------------------------*/
5101typedef struct
5102{
5103 /* Power params Info Type, same as tSetPowerParamsReq */
5104 WDI_SetPowerParamsInfo wdiSetPowerParamsInfo;
5105 /* Request status callback offered by UMAC - it is called if the current req
5106 has returned PENDING as status; it delivers the status of sending the message
5107 over the BUS */
5108 WDI_ReqStatusCb wdiReqStatusCB;
5109 /* The user data passed in by UMAC, it will be sent back when the above
5110 function pointer will be called */
5111 void* pUserData;
5112}WDI_SetPowerParamsReqParamsType;
5113
5114/*---------------------------------------------------------------------------
5115 WDI_SetTxPerTrackingConfType
5116 Wowl add ptrn info passed to WDA form UMAC
5117---------------------------------------------------------------------------*/
5118typedef struct
5119{
5120 wpt_uint8 ucTxPerTrackingEnable; /* 0: disable, 1:enable */
5121 wpt_uint8 ucTxPerTrackingPeriod; /* Check period, unit is sec. */
5122 wpt_uint8 ucTxPerTrackingRatio; /* (Fail TX packet)/(Total TX packet) ratio, the unit is 10%. */
5123 wpt_uint32 uTxPerTrackingWatermark; /* A watermark of check number, once the tx packet exceed this number, we do the check, default is 5 */
5124} WDI_TxPerTrackingParamType;
5125
5126/*---------------------------------------------------------------------------
5127 WDI_SetTxPerTrackingReqParamsType
5128 Tx PER Tracking parameters passed to WDI from WDA
5129---------------------------------------------------------------------------*/
5130typedef struct
5131{
5132 /* Configurations for Tx PER Tracking */
5133 WDI_TxPerTrackingParamType wdiTxPerTrackingParam;
5134 /*Request status callback offered by UMAC - it is called if the current req
5135 has returned PENDING as status; it delivers the status of sending the message
5136 over the BUS */
5137 WDI_ReqStatusCb wdiReqStatusCB;
5138 /*The user data passed in by UMAC, it will be sent back when the above
5139 function pointer will be called */
5140 void* pUserData;
5141}WDI_SetTxPerTrackingReqParamsType;
5142
5143#ifdef WLAN_FEATURE_PACKET_FILTERING
5144/*---------------------------------------------------------------------------
5145 Packet Filtering Parameters
5146---------------------------------------------------------------------------*/
5147
5148#define WDI_IPV4_ADDR_LEN 4
5149#define WDI_MAC_ADDR_LEN 6
5150#define WDI_MAX_FILTER_TEST_DATA_LEN 8
5151#define WDI_MAX_NUM_MULTICAST_ADDRESS 240
5152#define WDI_MAX_NUM_FILTERS 20
5153#define WDI_MAX_NUM_TESTS_PER_FILTER 10
5154
5155//
5156// Receive Filter Parameters
5157//
5158typedef enum
5159{
5160 WDI_RCV_FILTER_TYPE_INVALID,
5161 WDI_RCV_FILTER_TYPE_FILTER_PKT,
5162 WDI_RCV_FILTER_TYPE_BUFFER_PKT,
5163 WDI_RCV_FILTER_TYPE_MAX_ENUM_SIZE
5164}WDI_ReceivePacketFilterType;
5165
5166typedef enum
5167{
5168 WDI_FILTER_HDR_TYPE_INVALID,
5169 WDI_FILTER_HDR_TYPE_MAC,
5170 WDI_FILTER_HDR_TYPE_ARP,
5171 WDI_FILTER_HDR_TYPE_IPV4,
5172 WDI_FILTER_HDR_TYPE_IPV6,
5173 WDI_FILTER_HDR_TYPE_UDP,
5174 WDI_FILTER_HDR_TYPE_MAX
5175}WDI_RcvPktFltProtocolType;
5176
5177typedef enum
5178{
5179 WDI_FILTER_CMP_TYPE_INVALID,
5180 WDI_FILTER_CMP_TYPE_EQUAL,
5181 WDI_FILTER_CMP_TYPE_MASK_EQUAL,
5182 WDI_FILTER_CMP_TYPE_NOT_EQUAL,
5183 WDI_FILTER_CMP_TYPE_MASK_NOT_EQUAL,
5184 WDI_FILTER_CMP_TYPE_MAX
5185}WDI_RcvPktFltCmpFlagType;
5186
5187typedef struct
5188{
5189 WDI_RcvPktFltProtocolType protocolLayer;
5190 WDI_RcvPktFltCmpFlagType cmpFlag;
5191/* Length of the data to compare */
5192 wpt_uint16 dataLength;
5193/* from start of the respective frame header */
5194 wpt_uint8 dataOffset;
5195 wpt_uint8 reserved; /* Reserved field */
5196/* Data to compare */
5197 wpt_uint8 compareData[WDI_MAX_FILTER_TEST_DATA_LEN];
5198/* Mask to be applied on the received packet data before compare */
5199 wpt_uint8 dataMask[WDI_MAX_FILTER_TEST_DATA_LEN];
5200}WDI_RcvPktFilterFieldParams;
5201
5202typedef struct
5203{
5204 wpt_uint8 filterId;
5205 wpt_uint8 filterType;
5206 wpt_uint32 numFieldParams;
5207 wpt_uint32 coalesceTime;
Jeff Johnsone7245742012-09-05 17:12:55 -07005208 wpt_macAddr selfMacAddr;
5209 wpt_macAddr bssId;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005210 WDI_RcvPktFilterFieldParams paramsData[1];
5211
Jeff Johnson295189b2012-06-20 16:38:30 -07005212}WDI_RcvPktFilterCfgType;
5213
5214typedef struct
5215{
5216 /*Request status callback offered by UMAC - it is called if the current
5217 req has returned PENDING as status; it delivers the status of sending
5218 the message over the BUS */
5219 WDI_ReqStatusCb wdiReqStatusCB;
5220
5221 /*The user data passed in by UMAC, it will be sent back when the above
5222 function pointer will be called */
5223 void* pUserData;
5224
5225 // Variable length packet filter field params
5226 WDI_RcvPktFilterCfgType wdiPktFilterCfg;
5227} WDI_SetRcvPktFilterReqParamsType;
5228
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005229typedef struct
5230{
5231 /*Result of the operation*/
5232 WDI_Status wdiStatus;
5233 /* BSSIDX of the Set Receive Filter
5234 */
5235 wpt_uint8 bssIdx;
5236} WDI_SetRcvPktFilterRspParamsType;
5237
Jeff Johnson295189b2012-06-20 16:38:30 -07005238//
5239// Filter Packet Match Count Parameters
5240//
5241typedef struct
5242{
5243 /*Request status callback offered by UMAC - it is called if the current
5244 req has returned PENDING as status; it delivers the status of sending
5245 the message over the BUS */
5246 WDI_ReqStatusCb wdiReqStatusCB;
5247
5248 /*The user data passed in by UMAC, it will be sent back when the above
5249 function pointer will be called */
5250 void* pUserData;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005251
5252 /* BSSID of the Match count
5253 */
5254 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005255} WDI_RcvFltPktMatchCntReqParamsType;
5256
5257typedef struct
5258{
5259 wpt_uint8 filterId;
5260 wpt_uint32 matchCnt;
5261} WDI_RcvFltPktMatchCnt;
5262
5263typedef struct
5264{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005265 /*Result of the operation*/
5266 WDI_Status wdiStatus;
Jeff Johnson295189b2012-06-20 16:38:30 -07005267
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005268 /* BSSIDX of the Match count response
5269 */
5270 wpt_uint8 bssIdx;
5271
Jeff Johnson295189b2012-06-20 16:38:30 -07005272} WDI_RcvFltPktMatchCntRspParamsType;
5273
Jeff Johnson295189b2012-06-20 16:38:30 -07005274//
5275// Receive Filter Clear Parameters
5276//
5277typedef struct
5278{
5279 wpt_uint32 status; /* only valid for response message */
5280 wpt_uint8 filterId;
Jeff Johnsone7245742012-09-05 17:12:55 -07005281 wpt_macAddr selfMacAddr;
5282 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005283}WDI_RcvFltPktClearParam;
5284
5285typedef struct
5286{
5287 WDI_RcvFltPktClearParam filterClearParam;
5288 /*Request status callback offered by UMAC - it is called if the current
5289 req has returned PENDING as status; it delivers the status of sending
5290 the message over the BUS */
5291 WDI_ReqStatusCb wdiReqStatusCB;
5292
5293 /*The user data passed in by UMAC, it will be sent back when the above
5294 function pointer will be called */
5295 void* pUserData;
5296} WDI_RcvFltPktClearReqParamsType;
5297
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005298typedef struct
5299{
5300 /*Result of the operation*/
5301 WDI_Status wdiStatus;
5302 /* BSSIDX of the Match count response
5303 */
5304 wpt_uint8 bssIdx;
5305
5306} WDI_RcvFltPktClearRspParamsType;
5307
Jeff Johnson295189b2012-06-20 16:38:30 -07005308//
5309// Multicast Address List Parameters
5310//
5311typedef struct
5312{
5313 wpt_uint32 ulMulticastAddrCnt;
5314 wpt_macAddr multicastAddr[WDI_MAX_NUM_MULTICAST_ADDRESS];
Jeff Johnsone7245742012-09-05 17:12:55 -07005315 wpt_macAddr selfMacAddr;
5316 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005317} WDI_RcvFltMcAddrListType;
5318
5319typedef struct
5320{
5321 WDI_RcvFltMcAddrListType mcAddrList;
5322 /*Request status callback offered by UMAC - it is called if the current
5323 req has returned PENDING as status; it delivers the status of sending
5324 the message over the BUS */
5325 WDI_ReqStatusCb wdiReqStatusCB;
5326
5327 /*The user data passed in by UMAC, it will be sent back when the above
5328 function pointer will be called */
5329 void* pUserData;
5330} WDI_RcvFltPktSetMcListReqParamsType;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005331
5332typedef struct
5333{
5334 /*Result of the operation*/
5335 WDI_Status wdiStatus;
5336 /* BSSIDX of the Match count response
5337 */
5338 wpt_uint8 bssIdx;
5339} WDI_RcvFltPktSetMcListRspParamsType;
5340
Jeff Johnson295189b2012-06-20 16:38:30 -07005341#endif // WLAN_FEATURE_PACKET_FILTERING
5342
5343/*---------------------------------------------------------------------------
5344 WDI_HALDumpCmdReqInfoType
5345---------------------------------------------------------------------------*/
5346typedef struct
5347{
5348 /*command*/
5349 wpt_uint32 command;
5350
5351 /*Arguments*/
5352 wpt_uint32 argument1;
5353 wpt_uint32 argument2;
5354 wpt_uint32 argument3;
5355 wpt_uint32 argument4;
5356
5357}WDI_HALDumpCmdReqInfoType;
5358
5359/*---------------------------------------------------------------------------
5360 WDI_HALDumpCmdReqParamsType
5361---------------------------------------------------------------------------*/
5362typedef struct
5363{
5364 /*NV Blob Info*/
5365 WDI_HALDumpCmdReqInfoType wdiHALDumpCmdInfoType;
5366
5367 /*Request status callback offered by UMAC - it is called if the current
5368 req has returned PENDING as status; it delivers the status of sending
5369 the message over the BUS */
5370 WDI_ReqStatusCb wdiReqStatusCB;
5371
5372 /*The user data passed in by UMAC, it will be sent back when the above
5373 function pointer will be called */
5374 void* pUserData;
5375
5376}WDI_HALDumpCmdReqParamsType;
5377
5378
5379/*---------------------------------------------------------------------------
5380 WDI_HALDumpCmdRspParamsType
5381---------------------------------------------------------------------------*/
5382typedef struct
5383{
5384 /*Result of the operation*/
5385 WDI_Status wdiStatus;
5386
5387 /* length of the buffer */
5388 wpt_uint16 usBufferLen;
5389
5390 /* Buffer */
5391 wpt_uint8 *pBuffer;
5392}WDI_HALDumpCmdRspParamsType;
5393
5394
5395/*---------------------------------------------------------------------------
5396 WDI_SetTmLevelReqType
5397---------------------------------------------------------------------------*/
5398typedef struct
5399{
5400 wpt_uint16 tmMode;
5401 wpt_uint16 tmLevel;
5402 void* pUserData;
5403}WDI_SetTmLevelReqType;
5404
5405/*---------------------------------------------------------------------------
5406 WDI_SetTmLevelRspType
5407---------------------------------------------------------------------------*/
5408typedef struct
5409{
5410 WDI_Status wdiStatus;
5411 void* pUserData;
5412}WDI_SetTmLevelRspType;
5413
Leo Chang9056f462013-08-01 19:21:11 -07005414#ifdef FEATURE_WLAN_LPHB
5415/*---------------------------------------------------------------------------
5416 WDI_LPHBConfigParamsType
5417---------------------------------------------------------------------------*/
5418typedef struct
5419{
5420 void* pLphsConfIndData;
5421}WDI_LPHBConfigParamsType;
5422#endif /* FEATURE_WLAN_LPHB */
5423
Yue Mab9c86f42013-08-14 15:59:08 -07005424/*---------------------------------------------------------------------------
5425 WDI_AddPeriodicTxPtrnInfoType
5426---------------------------------------------------------------------------*/
5427typedef struct
5428{
5429 /* MAC Address for the adapter */
5430 wpt_macAddr macAddr;
5431
5432 wpt_uint8 ucPtrnId; // Pattern ID
5433 wpt_uint16 ucPtrnSize; // Pattern size
5434 wpt_uint32 usPtrnIntervalMs; // In msec
5435 wpt_uint8 ucPattern[PERIODIC_TX_PTRN_MAX_SIZE]; // Pattern buffer
5436} WDI_AddPeriodicTxPtrnInfoType;
5437
5438/*---------------------------------------------------------------------------
5439 WDI_DelPeriodicTxPtrnInfoType
5440---------------------------------------------------------------------------*/
5441typedef struct
5442{
5443 /* MAC Address for the adapter */
5444 wpt_macAddr macAddr;
5445
5446 /* Bitmap of pattern IDs that needs to be deleted */
5447 wpt_uint32 ucPatternIdBitmap;
5448} WDI_DelPeriodicTxPtrnInfoType;
5449
5450/*---------------------------------------------------------------------------
5451 WDI_AddPeriodicTxPtrnParamsType
5452---------------------------------------------------------------------------*/
5453typedef struct
5454{
5455 WDI_AddPeriodicTxPtrnInfoType wdiAddPeriodicTxPtrnParams;
5456
5457 /*Request status callback offered by UMAC - it is called if the current
5458 req has returned PENDING as status; it delivers the status of sending
5459 the message over the BUS */
5460 WDI_ReqStatusCb wdiReqStatusCB;
5461
5462 /*The user data passed in by UMAC, it will be sent back when the above
5463 function pointer will be called */
5464 void* pUserData;
5465} WDI_AddPeriodicTxPtrnParamsType;
5466
5467/*---------------------------------------------------------------------------
5468 WDI_DelPeriodicTxPtrnParamsType
5469---------------------------------------------------------------------------*/
5470typedef struct
5471{
5472 WDI_DelPeriodicTxPtrnInfoType wdiDelPeriodicTxPtrnParams;
5473
5474 /*Request status callback offered by UMAC - it is called if the current
5475 req has returned PENDING as status; it delivers the status of sending
5476 the message over the BUS */
5477 WDI_ReqStatusCb wdiReqStatusCB;
5478
5479 /*The user data passed in by UMAC, it will be sent back when the above
5480 function pointer will be called */
5481 void* pUserData;
5482} WDI_DelPeriodicTxPtrnParamsType;
5483
Jeff Johnson295189b2012-06-20 16:38:30 -07005484/*----------------------------------------------------------------------------
5485 * WDI callback types
5486 *--------------------------------------------------------------------------*/
5487
5488/*---------------------------------------------------------------------------
5489 WDI_StartRspCb
5490
5491 DESCRIPTION
5492
5493 This callback is invoked by DAL when it has received a Start response from
5494 the underlying device.
5495
5496 PARAMETERS
5497
5498 IN
5499 wdiRspParams: response parameters received from HAL
5500 pUserData: user data
5501
5502
5503 RETURN VALUE
5504 The result code associated with performing the operation
5505---------------------------------------------------------------------------*/
5506typedef void (*WDI_StartRspCb)(WDI_StartRspParamsType* pwdiRspParams,
5507 void* pUserData);
5508
5509/*---------------------------------------------------------------------------
5510 WDI_StartRspCb
5511
5512 DESCRIPTION
5513
5514 This callback is invoked by DAL when it has received a Stop response from
5515 the underlying device.
5516
5517 PARAMETERS
5518
5519 IN
5520 wdiStatus: response status received from HAL
5521 pUserData: user data
5522
5523
5524
5525 RETURN VALUE
5526 The result code associated with performing the operation
5527---------------------------------------------------------------------------*/
5528typedef void (*WDI_StopRspCb)(WDI_Status wdiStatus,
5529 void* pUserData);
5530
5531/*---------------------------------------------------------------------------
5532 WDI_StartRspCb
5533
5534 DESCRIPTION
5535
5536 This callback is invoked by DAL when it has received an Init Scan response
5537 from the underlying device.
5538
5539 PARAMETERS
5540
5541 IN
5542 wdiStatus: response status received from HAL
5543 pUserData: user data
5544
5545
5546
5547 RETURN VALUE
5548 The result code associated with performing the operation
5549---------------------------------------------------------------------------*/
5550typedef void (*WDI_InitScanRspCb)(WDI_Status wdiStatus,
5551 void* pUserData);
5552
5553
5554/*---------------------------------------------------------------------------
5555 WDI_StartRspCb
5556
5557 DESCRIPTION
5558
5559 This callback is invoked by DAL when it has received a StartScan response
5560 from the underlying device.
5561
5562 PARAMETERS
5563
5564 IN
5565 wdiParams: response params received from HAL
5566 pUserData: user data
5567
5568
5569
5570 RETURN VALUE
5571 The result code associated with performing the operation
5572---------------------------------------------------------------------------*/
5573typedef void (*WDI_StartScanRspCb)(WDI_StartScanRspParamsType* wdiParams,
5574 void* pUserData);
5575
5576
5577/*---------------------------------------------------------------------------
5578 WDI_StartRspCb
5579
5580 DESCRIPTION
5581
5582 This callback is invoked by DAL when it has received a End Scan response
5583 from the underlying device.
5584
5585 PARAMETERS
5586
5587 IN
5588 wdiStatus: response status received from HAL
5589 pUserData: user data
5590
5591
5592
5593 RETURN VALUE
5594 The result code associated with performing the operation
5595---------------------------------------------------------------------------*/
5596typedef void (*WDI_EndScanRspCb)(WDI_Status wdiStatus,
5597 void* pUserData);
5598
5599
5600/*---------------------------------------------------------------------------
5601 WDI_StartRspCb
5602
5603 DESCRIPTION
5604
5605 This callback is invoked by DAL when it has received a Finish Scan response
5606 from the underlying device.
5607
5608 PARAMETERS
5609
5610 IN
5611 wdiStatus: response status received from HAL
5612 pUserData: user data
5613
5614
5615
5616 RETURN VALUE
5617 The result code associated with performing the operation
5618---------------------------------------------------------------------------*/
5619typedef void (*WDI_FinishScanRspCb)(WDI_Status wdiStatus,
5620 void* pUserData);
5621
5622
5623/*---------------------------------------------------------------------------
5624 WDI_StartRspCb
5625
5626 DESCRIPTION
5627
5628 This callback is invoked by DAL when it has received a Join response from
5629 the underlying device.
5630
5631 PARAMETERS
5632
5633 IN
5634 wdiStatus: response status received from HAL
5635 pUserData: user data
5636
5637
5638
5639 RETURN VALUE
5640 The result code associated with performing the operation
5641---------------------------------------------------------------------------*/
5642typedef void (*WDI_JoinRspCb)(WDI_Status wdiStatus,
5643 void* pUserData);
5644
5645
5646/*---------------------------------------------------------------------------
5647 WDI_StartRspCb
5648
5649 DESCRIPTION
5650
5651 This callback is invoked by DAL when it has received a Config BSS response
5652 from the underlying device.
5653
5654 PARAMETERS
5655
5656 IN
5657 wdiConfigBSSRsp: response parameters received from HAL
5658 pUserData: user data
5659
5660
5661 RETURN VALUE
5662 The result code associated with performing the operation
5663---------------------------------------------------------------------------*/
5664typedef void (*WDI_ConfigBSSRspCb)(
5665 WDI_ConfigBSSRspParamsType* pwdiConfigBSSRsp,
5666 void* pUserData);
5667
5668
5669/*---------------------------------------------------------------------------
5670 WDI_StartRspCb
5671
5672 DESCRIPTION
5673
5674 This callback is invoked by DAL when it has received a Del BSS response from
5675 the underlying device.
5676
5677 PARAMETERS
5678
5679 IN
5680 wdiDelBSSRsp: response parameters received from HAL
5681 pUserData: user data
5682
5683
5684 RETURN VALUE
5685 The result code associated with performing the operation
5686---------------------------------------------------------------------------*/
5687typedef void (*WDI_DelBSSRspCb)(WDI_DelBSSRspParamsType* pwdiDelBSSRsp,
5688 void* pUserData);
5689
5690
5691/*---------------------------------------------------------------------------
5692 WDI_StartRspCb
5693
5694 DESCRIPTION
5695
5696 This callback is invoked by DAL when it has received a Post Assoc response
5697 from the underlying device.
5698
5699 PARAMETERS
5700
5701 IN
5702 wdiRspParams: response parameters received from HAL
5703 pUserData: user data
5704
5705
5706 RETURN VALUE
5707 The result code associated with performing the operation
5708---------------------------------------------------------------------------*/
5709typedef void (*WDI_PostAssocRspCb)(
5710 WDI_PostAssocRspParamsType* pwdiPostAssocRsp,
5711 void* pUserData);
5712
5713
5714/*---------------------------------------------------------------------------
5715 WDI_StartRspCb
5716
5717 DESCRIPTION
5718
5719 This callback is invoked by DAL when it has received a Del STA response from
5720 the underlying device.
5721
5722 PARAMETERS
5723
5724 IN
5725 wdiDelSTARsp: response parameters received from HAL
5726 pUserData: user data
5727
5728
5729 RETURN VALUE
5730 The result code associated with performing the operation
5731---------------------------------------------------------------------------*/
5732typedef void (*WDI_DelSTARspCb)(WDI_DelSTARspParamsType* pwdiDelSTARsp,
5733 void* pUserData);
5734
5735
5736
5737/*---------------------------------------------------------------------------
5738 WDI_StartRspCb
5739
5740 DESCRIPTION
5741
5742 This callback is invoked by DAL when it has received a Set BSS Key response
5743 from the underlying device.
5744
5745 PARAMETERS
5746
5747 IN
5748 wdiStatus: response status received from HAL
5749 pUserData: user data
5750
5751
5752
5753 RETURN VALUE
5754 The result code associated with performing the operation
5755---------------------------------------------------------------------------*/
5756typedef void (*WDI_SetBSSKeyRspCb)(WDI_Status wdiStatus,
5757 void* pUserData);
5758
5759/*---------------------------------------------------------------------------
5760 WDI_StartRspCb
5761
5762 DESCRIPTION
5763
5764 This callback is invoked by DAL when it has received a Remove BSS Key
5765 response from the underlying device.
5766
5767 PARAMETERS
5768
5769 IN
5770 wdiStatus: response status received from HAL
5771 pUserData: user data
5772
5773
5774
5775 RETURN VALUE
5776 The result code associated with performing the operation
5777---------------------------------------------------------------------------*/
5778typedef void (*WDI_RemoveBSSKeyRspCb)(WDI_Status wdiStatus,
5779 void* pUserData);
5780
5781/*---------------------------------------------------------------------------
5782 WDI_StartRspCb
5783
5784 DESCRIPTION
5785
5786 This callback is invoked by DAL when it has received a Set STA Key response
5787 from the underlying device.
5788
5789 PARAMETERS
5790
5791 IN
5792 wdiStatus: response status received from HAL
5793 pUserData: user data
5794
5795
5796
5797 RETURN VALUE
5798 The result code associated with performing the operation
5799---------------------------------------------------------------------------*/
5800typedef void (*WDI_SetSTAKeyRspCb)(WDI_Status wdiStatus,
5801 void* pUserData);
5802
5803
5804/*---------------------------------------------------------------------------
5805 WDI_StartRspCb
5806
5807 DESCRIPTION
5808
5809 This callback is invoked by DAL when it has received a Remove STA Key
5810 response from the underlying device.
5811
5812 PARAMETERS
5813
5814 IN
5815 wdiStatus: response status received from HAL
5816 pUserData: user data
5817
5818
5819
5820 RETURN VALUE
5821 The result code associated with performing the operation
5822---------------------------------------------------------------------------*/
5823typedef void (*WDI_RemoveSTAKeyRspCb)(WDI_Status wdiStatus,
5824 void* pUserData);
5825
5826
5827#ifdef FEATURE_WLAN_CCX
5828/*---------------------------------------------------------------------------
5829 WDI_TsmRspCb
5830
5831 DESCRIPTION
5832
5833 This callback is invoked by DAL when it has received a TSM Stats response from the underlying device.
5834
5835 PARAMETERS
5836
5837 IN
5838 pTSMStats: response status received from HAL
5839 pUserData: user data
5840
5841
5842
5843 RETURN VALUE
5844 The result code associated with performing the operation
5845---------------------------------------------------------------------------*/
5846typedef void (*WDI_TsmRspCb)(WDI_TSMStatsRspParamsType *pTSMStats,
5847 void* pUserData);
5848#endif
5849
5850/*---------------------------------------------------------------------------
5851 WDI_StartRspCb
5852
5853 DESCRIPTION
5854
5855 This callback is invoked by DAL when it has received a Add TS response from
5856 the underlying device.
5857
5858 PARAMETERS
5859
5860 IN
5861 wdiStatus: response status received from HAL
5862 pUserData: user data
5863
5864
5865
5866 RETURN VALUE
5867 The result code associated with performing the operation
5868---------------------------------------------------------------------------*/
5869typedef void (*WDI_AddTsRspCb)(WDI_Status wdiStatus,
5870 void* pUserData);
5871
5872/*---------------------------------------------------------------------------
5873 WDI_StartRspCb
5874
5875 DESCRIPTION
5876
5877 This callback is invoked by DAL when it has received a Del TS response from
5878 the underlying device.
5879
5880 PARAMETERS
5881
5882 IN
5883 wdiStatus: response status received from HAL
5884 pUserData: user data
5885
5886
5887
5888 RETURN VALUE
5889 The result code associated with performing the operation
5890---------------------------------------------------------------------------*/
5891typedef void (*WDI_DelTsRspCb)(WDI_Status wdiStatus,
5892 void* pUserData);
5893
5894/*---------------------------------------------------------------------------
5895 WDI_StartRspCb
5896
5897 DESCRIPTION
5898
5899 This callback is invoked by DAL when it has received an Update EDCA Params
5900 response from the underlying device.
5901
5902 PARAMETERS
5903
5904 IN
5905 wdiStatus: response status received from HAL
5906 pUserData: user data
5907
5908
5909
5910 RETURN VALUE
5911 The result code associated with performing the operation
5912---------------------------------------------------------------------------*/
5913typedef void (*WDI_UpdateEDCAParamsRspCb)(WDI_Status wdiStatus,
5914 void* pUserData);
5915
5916/*---------------------------------------------------------------------------
5917 WDI_StartRspCb
5918
5919 DESCRIPTION
5920
5921 This callback is invoked by DAL when it has received a Add BA response from
5922 the underlying device.
5923
5924 PARAMETERS
5925
5926 IN
5927 wdiStatus: response status received from HAL
5928 pUserData: user data
5929
5930
5931
5932 RETURN VALUE
5933 The result code associated with performing the operation
5934---------------------------------------------------------------------------*/
5935typedef void (*WDI_AddBASessionRspCb)(
5936 WDI_AddBASessionRspParamsType* wdiAddBASessionRsp,
5937 void* pUserData);
5938
5939
5940/*---------------------------------------------------------------------------
5941 WDI_StartRspCb
5942
5943 DESCRIPTION
5944
5945 This callback is invoked by DAL when it has received a Del BA response from
5946 the underlying device.
5947
5948 PARAMETERS
5949
5950 IN
5951 wdiStatus: response status received from HAL
5952 pUserData: user data
5953
5954
5955
5956 RETURN VALUE
5957 The result code associated with performing the operation
5958---------------------------------------------------------------------------*/
5959typedef void (*WDI_DelBARspCb)(WDI_Status wdiStatus,
5960 void* pUserData);
5961
5962
5963/*---------------------------------------------------------------------------
5964 WDI_StartRspCb
5965
5966 DESCRIPTION
5967
5968 This callback is invoked by DAL when it has received a Switch Ch response
5969 from the underlying device.
5970
5971 PARAMETERS
5972
5973 IN
5974 wdiRspParams: response parameters received from HAL
5975 pUserData: user data
5976
5977
5978 RETURN VALUE
5979 The result code associated with performing the operation
5980---------------------------------------------------------------------------*/
5981typedef void (*WDI_SwitchChRspCb)(WDI_SwitchCHRspParamsType* pwdiSwitchChRsp,
5982 void* pUserData);
5983
5984
5985/*---------------------------------------------------------------------------
5986 WDI_StartRspCb
5987
5988 DESCRIPTION
5989
5990 This callback is invoked by DAL when it has received a Config STA response
5991 from the underlying device.
5992
5993 PARAMETERS
5994
5995 IN
5996 wdiRspParams: response parameters received from HAL
5997 pUserData: user data
5998
5999
6000 RETURN VALUE
6001 The result code associated with performing the operation
6002---------------------------------------------------------------------------*/
6003typedef void (*WDI_ConfigSTARspCb)(
6004 WDI_ConfigSTARspParamsType* pwdiConfigSTARsp,
6005 void* pUserData);
6006
6007
6008/*---------------------------------------------------------------------------
6009 WDI_StartRspCb
6010
6011 DESCRIPTION
6012
6013 This callback is invoked by DAL when it has received a Set Link State
6014 response from the underlying device.
6015
6016 PARAMETERS
6017
6018 IN
6019 wdiRspParams: response parameters received from HAL
6020 pUserData: user data
6021
6022
6023 RETURN VALUE
6024 The result code associated with performing the operation
6025---------------------------------------------------------------------------*/
6026typedef void (*WDI_SetLinkStateRspCb)( WDI_Status wdiStatus,
6027 void* pUserData);
6028
6029
6030/*---------------------------------------------------------------------------
6031 WDI_StartRspCb
6032
6033 DESCRIPTION
6034
6035 This callback is invoked by DAL when it has received a Get Stats response
6036 from the underlying device.
6037
6038 PARAMETERS
6039
6040 IN
6041 wdiRspParams: response parameters received from HAL
6042 pUserData: user data
6043
6044
6045 RETURN VALUE
6046 The result code associated with performing the operation
6047---------------------------------------------------------------------------*/
6048typedef void (*WDI_GetStatsRspCb)(WDI_GetStatsRspParamsType* pwdiGetStatsRsp,
6049 void* pUserData);
6050
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08006051#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_CCX || defined(FEATURE_WLAN_LFR)
6052/*---------------------------------------------------------------------------
6053 WDI_GetRoamRssiRspCb
6054
6055 DESCRIPTION
6056
6057 This callback is invoked by DAL when it has received a Get Roam Rssi response
6058 from the underlying device.
6059
6060 PARAMETERS
6061
6062 IN
6063 wdiRspParams: response parameters received from HAL
6064 pUserData: user data
6065
6066
6067 RETURN VALUE
6068 The result code associated with performing the operation
6069---------------------------------------------------------------------------*/
6070typedef void (*WDI_GetRoamRssiRspCb)(WDI_GetRoamRssiRspParamsType* pwdiGetRoamRssiRsp,
6071 void* pUserData);
6072#endif
6073
Jeff Johnson295189b2012-06-20 16:38:30 -07006074
6075/*---------------------------------------------------------------------------
6076 WDI_StartRspCb
6077
6078 DESCRIPTION
6079
6080 This callback is invoked by DAL when it has received a Update Cfg response
6081 from the underlying device.
6082
6083 PARAMETERS
6084
6085 IN
6086 wdiStatus: response status received from HAL
6087 pUserData: user data
6088
6089
6090 RETURN VALUE
6091 The result code associated with performing the operation
6092---------------------------------------------------------------------------*/
6093typedef void (*WDI_UpdateCfgRspCb)(WDI_Status wdiStatus,
6094 void* pUserData);
6095
6096/*---------------------------------------------------------------------------
6097 WDI_AddBARspCb
6098
6099 DESCRIPTION
6100
6101 This callback is invoked by DAL when it has received a ADD BA response
6102 from the underlying device.
6103
6104 PARAMETERS
6105
6106 IN
6107 wdiStatus: response status received from HAL
6108 pUserData: user data
6109
6110
6111 RETURN VALUE
6112 The result code associated with performing the operation
6113---------------------------------------------------------------------------*/
6114typedef void (*WDI_AddBARspCb)(WDI_AddBARspinfoType* wdiAddBARsp,
6115 void* pUserData);
6116
6117/*---------------------------------------------------------------------------
6118 WDI_TriggerBARspCb
6119
6120 DESCRIPTION
6121
6122 This callback is invoked by DAL when it has received a ADD BA response
6123 from the underlying device.
6124
6125 PARAMETERS
6126
6127 IN
6128 wdiStatus: response status received from HAL
6129 pUserData: user data
6130
6131
6132 RETURN VALUE
6133 The result code associated with performing the operation
6134---------------------------------------------------------------------------*/
6135typedef void (*WDI_TriggerBARspCb)(WDI_TriggerBARspParamsType* wdiTriggerBARsp,
6136 void* pUserData);
6137
6138
6139/*---------------------------------------------------------------------------
6140 WDI_UpdateBeaconParamsRspCb
6141
6142 DESCRIPTION
6143
6144 This callback is invoked by DAL when it has received a Update Beacon Params response from
6145 the underlying device.
6146
6147 PARAMETERS
6148
6149 IN
6150 wdiStatus: response status received from HAL
6151 pUserData: user data
6152
6153
6154
6155 RETURN VALUE
6156 The result code associated with performing the operation
6157---------------------------------------------------------------------------*/
6158typedef void (*WDI_UpdateBeaconParamsRspCb)(WDI_Status wdiStatus,
6159 void* pUserData);
6160
6161/*---------------------------------------------------------------------------
6162 WDI_SendBeaconParamsRspCb
6163
6164 DESCRIPTION
6165
6166 This callback is invoked by DAL when it has received a Send Beacon Params response from
6167 the underlying device.
6168
6169 PARAMETERS
6170
6171 IN
6172 wdiStatus: response status received from HAL
6173 pUserData: user data
6174
6175
6176
6177 RETURN VALUE
6178 The result code associated with performing the operation
6179---------------------------------------------------------------------------*/
6180typedef void (*WDI_SendBeaconParamsRspCb)(WDI_Status wdiStatus,
6181 void* pUserData);
6182
6183/*---------------------------------------------------------------------------
6184 WDA_SetMaxTxPowerRspCb
6185
6186 DESCRIPTION
6187
6188 This callback is invoked by DAL when it has received a set max Tx Power response from
6189 the underlying device.
6190
6191 PARAMETERS
6192
6193 IN
6194 wdiStatus: response status received from HAL
6195 pUserData: user data
6196
6197
6198
6199 RETURN VALUE
6200 The result code associated with performing the operation
6201---------------------------------------------------------------------------*/
6202typedef void (*WDA_SetMaxTxPowerRspCb)(WDI_SetMaxTxPowerRspMsg *wdiSetMaxTxPowerRsp,
6203 void* pUserData);
6204
6205/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07006206 WDA_SetMaxTxPowerPerBandRspCb
6207
6208 DESCRIPTION
6209
6210 This callback is invoked by DAL when it has received a
6211 set max Tx Power Per Band response from the underlying device.
6212
6213 PARAMETERS
6214
6215 IN
6216 wdiSetMaxTxPowerPerBandRsp: response status received from HAL
6217 pUserData: user data
6218
6219 RETURN VALUE
6220 The result code associated with performing the operation
6221---------------------------------------------------------------------------*/
6222typedef void (*WDA_SetMaxTxPowerPerBandRspCb)(WDI_SetMaxTxPowerPerBandRspMsg
6223 *wdiSetMaxTxPowerPerBandRsp,
6224 void* pUserData);
6225
6226/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07006227 WDA_SetTxPowerRspCb
6228
6229 DESCRIPTION
6230
6231 This callback is invoked by DAL when it has received a set max Tx Power response from
6232 the underlying device.
6233
6234 PARAMETERS
6235
6236 IN
6237 wdiStatus: response status received from HAL
6238 pUserData: user data
6239
6240 RETURN VALUE
6241 The result code associated with performing the operation
6242---------------------------------------------------------------------------*/
6243typedef void (*WDA_SetTxPowerRspCb)(WDI_SetTxPowerRspMsg *wdiSetTxPowerRsp,
6244 void* pUserData);
6245
6246/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07006247 WDI_UpdateProbeRspTemplateRspCb
6248
6249 DESCRIPTION
6250
6251 This callback is invoked by DAL when it has received a Probe RSP Template
6252 Update response from the underlying device.
6253
6254 PARAMETERS
6255
6256 IN
6257 wdiStatus: response status received from HAL
6258 pUserData: user data
6259
6260
6261
6262 RETURN VALUE
6263 The result code associated with performing the operation
6264---------------------------------------------------------------------------*/
6265typedef void (*WDI_UpdateProbeRspTemplateRspCb)(WDI_Status wdiStatus,
6266 void* pUserData);
6267
Jeff Johnson295189b2012-06-20 16:38:30 -07006268/*---------------------------------------------------------------------------
6269 WDI_SetP2PGONOAReqParamsRspCb
6270
6271 DESCRIPTION
6272
6273 This callback is invoked by DAL when it has received a P2P GO NOA Params response from
6274 the underlying device.
6275
6276 PARAMETERS
6277
6278 IN
6279 wdiStatus: response status received from HAL
6280 pUserData: user data
6281
6282
6283
6284 RETURN VALUE
6285 The result code associated with performing the operation
6286---------------------------------------------------------------------------*/
6287typedef void (*WDI_SetP2PGONOAReqParamsRspCb)(WDI_Status wdiStatus,
6288 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006289
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05306290/*---------------------------------------------------------------------------
6291 WDI_SetTDLSLinkEstablishReqParamsRspCb
6292
6293 DESCRIPTION
6294
6295 This callback is invoked by DAL when it has received a TDLS Link Establish Req response from
6296 the underlying device.
6297
6298 PARAMETERS
6299
6300 IN
6301 wdiStatus: response status received from HAL
6302 pUserData: user data
6303
6304
6305
6306 RETURN VALUE
6307 The result code associated with performing the operation
6308---------------------------------------------------------------------------*/
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05306309typedef void (*WDI_SetTDLSLinkEstablishReqParamsRspCb)(WDI_SetTdlsLinkEstablishReqResp *
6310 wdiSetTdlsLinkEstablishReqRsp,
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05306311 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006312
6313/*---------------------------------------------------------------------------
6314 WDI_SetPwrSaveCfgCb
6315
6316 DESCRIPTION
6317
6318 This callback is invoked by DAL when it has received a set Power Save CFG
6319 response from the underlying device.
6320
6321 PARAMETERS
6322
6323 IN
6324 wdiStatus: response status received from HAL
6325 pUserData: user data
6326
6327
6328
6329 RETURN VALUE
6330 The result code associated with performing the operation
6331---------------------------------------------------------------------------*/
6332typedef void (*WDI_SetPwrSaveCfgCb)(WDI_Status wdiStatus,
6333 void* pUserData);
6334
6335/*---------------------------------------------------------------------------
6336 WDI_SetUapsdAcParamsCb
6337
6338 DESCRIPTION
6339
6340 This callback is invoked by DAL when it has received a set UAPSD params
6341 response from the underlying device.
6342
6343 PARAMETERS
6344
6345 IN
6346 wdiStatus: response status received from HAL
6347 pUserData: user data
6348
6349
6350
6351 RETURN VALUE
6352 The result code associated with performing the operation
6353---------------------------------------------------------------------------*/
6354typedef void (*WDI_SetUapsdAcParamsCb)(WDI_Status wdiStatus,
6355 void* pUserData);
6356
6357/*---------------------------------------------------------------------------
6358 WDI_EnterImpsRspCb
6359
6360 DESCRIPTION
6361
6362 This callback is invoked by DAL when it has received a Enter IMPS response
6363 from the underlying device.
6364
6365 PARAMETERS
6366
6367 IN
6368 wdiStatus: response status received from HAL
6369 pUserData: user data
6370
6371
6372
6373 RETURN VALUE
6374 The result code associated with performing the operation
6375---------------------------------------------------------------------------*/
6376typedef void (*WDI_EnterImpsRspCb)(WDI_Status wdiStatus,
6377 void* pUserData);
6378
6379/*---------------------------------------------------------------------------
6380 WDI_ExitImpsRspCb
6381
6382 DESCRIPTION
6383
6384 This callback is invoked by DAL when it has received a Exit IMPS response
6385 from the underlying device.
6386
6387 PARAMETERS
6388
6389 IN
6390 wdiStatus: response status received from HAL
6391 pUserData: user data
6392
6393
6394
6395 RETURN VALUE
6396 The result code associated with performing the operation
6397---------------------------------------------------------------------------*/
6398typedef void (*WDI_ExitImpsRspCb)(WDI_Status wdiStatus,
6399 void* pUserData);
6400
6401/*---------------------------------------------------------------------------
6402 WDI_EnterBmpsRspCb
6403
6404 DESCRIPTION
6405
6406 This callback is invoked by DAL when it has received a enter BMPS response
6407 from the underlying device.
6408
6409 PARAMETERS
6410
6411 IN
6412 wdiStatus: response status received from HAL
6413 pUserData: user data
6414
6415
6416
6417 RETURN VALUE
6418 The result code associated with performing the operation
6419---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006420typedef void (*WDI_EnterBmpsRspCb)(WDI_EnterBmpsRspParamsType *pwdiEnterBmpsRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006421 void* pUserData);
6422
6423/*---------------------------------------------------------------------------
6424 WDI_ExitBmpsRspCb
6425
6426 DESCRIPTION
6427
6428 This callback is invoked by DAL when it has received a exit BMPS response
6429 from the underlying device.
6430
6431 PARAMETERS
6432
6433 IN
6434 wdiStatus: response status received from HAL
6435 pUserData: user data
6436
6437
6438
6439 RETURN VALUE
6440 The result code associated with performing the operation
6441---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006442typedef void (*WDI_ExitBmpsRspCb)( WDI_ExitBmpsRspParamsType *pwdiExitBmpsRspParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07006443 void* pUserData);
6444
6445/*---------------------------------------------------------------------------
6446 WDI_EnterUapsdRspCb
6447
6448 DESCRIPTION
6449
6450 This callback is invoked by DAL when it has received a enter UAPSD response
6451 from the underlying device.
6452
6453 PARAMETERS
6454
6455 IN
6456 wdiStatus: response status received from HAL
6457 pUserData: user data
6458
6459
6460
6461 RETURN VALUE
6462 The result code associated with performing the operation
6463---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006464typedef void (*WDI_EnterUapsdRspCb)( WDI_EnterUapsdRspParamsType *pwdiEnterUapsdRspParam,
Jeff Johnson295189b2012-06-20 16:38:30 -07006465 void* pUserData);
6466
6467/*---------------------------------------------------------------------------
6468 WDI_ExitUapsdRspCb
6469
6470 DESCRIPTION
6471
6472 This callback is invoked by DAL when it has received a exit UAPSD response
6473 from the underlying device.
6474
6475 PARAMETERS
6476
6477 IN
6478 wdiStatus: response status received from HAL
6479 pUserData: user data
6480
6481
6482
6483 RETURN VALUE
6484 The result code associated with performing the operation
6485---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006486typedef void (*WDI_ExitUapsdRspCb)(WDI_ExitUapsdRspParamsType *pwidExitUapsdRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006487 void* pUserData);
6488
6489/*---------------------------------------------------------------------------
6490 WDI_UpdateUapsdParamsCb
6491
6492 DESCRIPTION
6493
6494 This callback is invoked by DAL when it has received a update UAPSD params
6495 response from the underlying device.
6496
6497 PARAMETERS
6498
6499 IN
6500 wdiStatus: response status received from HAL
6501 pUserData: user data
6502
6503
6504
6505 RETURN VALUE
6506 The result code associated with performing the operation
6507---------------------------------------------------------------------------*/
6508typedef void (*WDI_UpdateUapsdParamsCb)(WDI_Status wdiStatus,
6509 void* pUserData);
6510
6511/*---------------------------------------------------------------------------
6512 WDI_ConfigureRxpFilterCb
6513
6514 DESCRIPTION
6515
6516 This callback is invoked by DAL when it has received a config RXP filter
6517 response from the underlying device.
6518
6519 PARAMETERS
6520
6521 IN
6522 wdiStatus: response status received from HAL
6523 pUserData: user data
6524
6525
6526
6527 RETURN VALUE
6528 The result code associated with performing the operation
6529---------------------------------------------------------------------------*/
6530typedef void (*WDI_ConfigureRxpFilterCb)(WDI_Status wdiStatus,
6531 void* pUserData);
6532
6533/*---------------------------------------------------------------------------
6534 WDI_SetBeaconFilterCb
6535
6536 DESCRIPTION
6537
6538 This callback is invoked by DAL when it has received a set beacon filter
6539 response from the underlying device.
6540
6541 PARAMETERS
6542
6543 IN
6544 wdiStatus: response status received from HAL
6545 pUserData: user data
6546
6547
6548
6549 RETURN VALUE
6550 The result code associated with performing the operation
6551---------------------------------------------------------------------------*/
6552typedef void (*WDI_SetBeaconFilterCb)(WDI_Status wdiStatus,
6553 void* pUserData);
6554
6555/*---------------------------------------------------------------------------
6556 WDI_RemBeaconFilterCb
6557
6558 DESCRIPTION
6559
6560 This callback is invoked by DAL when it has received a remove beacon filter
6561 response from the underlying device.
6562
6563 PARAMETERS
6564
6565 IN
6566 wdiStatus: response status received from HAL
6567 pUserData: user data
6568
6569
6570
6571 RETURN VALUE
6572 The result code associated with performing the operation
6573---------------------------------------------------------------------------*/
6574typedef void (*WDI_RemBeaconFilterCb)(WDI_Status wdiStatus,
6575 void* pUserData);
6576
6577/*---------------------------------------------------------------------------
6578 WDI_SetRSSIThresholdsCb
6579
6580 DESCRIPTION
6581
6582 This callback is invoked by DAL when it has received a set RSSI thresholds
6583 response from the underlying device.
6584
6585 PARAMETERS
6586
6587 IN
6588 wdiStatus: response status received from HAL
6589 pUserData: user data
6590
6591
6592
6593 RETURN VALUE
6594 The result code associated with performing the operation
6595---------------------------------------------------------------------------*/
6596typedef void (*WDI_SetRSSIThresholdsCb)(WDI_Status wdiStatus,
6597 void* pUserData);
6598
6599/*---------------------------------------------------------------------------
6600 WDI_HostOffloadCb
6601
6602 DESCRIPTION
6603
6604 This callback is invoked by DAL when it has received a host offload
6605 response from the underlying device.
6606
6607 PARAMETERS
6608
6609 IN
6610 wdiStatus: response status received from HAL
6611 pUserData: user data
6612
6613
6614
6615 RETURN VALUE
6616 The result code associated with performing the operation
6617---------------------------------------------------------------------------*/
6618typedef void (*WDI_HostOffloadCb)(WDI_Status wdiStatus,
6619 void* pUserData);
6620
6621/*---------------------------------------------------------------------------
6622 WDI_KeepAliveCb
6623
6624 DESCRIPTION
6625
6626 This callback is invoked by DAL when it has received a Keep Alive
6627 response from the underlying device.
6628
6629 PARAMETERS
6630
6631 IN
6632 wdiStatus: response status received from HAL
6633 pUserData: user data
6634
6635
6636
6637 RETURN VALUE
6638 The result code associated with performing the operation
6639---------------------------------------------------------------------------*/
6640typedef void (*WDI_KeepAliveCb)(WDI_Status wdiStatus,
6641 void* pUserData);
6642
6643/*---------------------------------------------------------------------------
6644 WDI_WowlAddBcPtrnCb
6645
6646 DESCRIPTION
6647
6648 This callback is invoked by DAL when it has received a Wowl add Bcast ptrn
6649 response from the underlying device.
6650
6651 PARAMETERS
6652
6653 IN
6654 wdiStatus: response status received from HAL
6655 pUserData: user data
6656
6657
6658
6659 RETURN VALUE
6660 The result code associated with performing the operation
6661---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006662typedef void (*WDI_WowlAddBcPtrnCb)( WDI_WowlAddBcPtrnRspParamsType *pwdiWowlAddBcPtrnParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07006663 void* pUserData);
6664
6665/*---------------------------------------------------------------------------
6666 WDI_WowlDelBcPtrnCb
6667
6668 DESCRIPTION
6669
6670 This callback is invoked by DAL when it has received a Wowl delete Bcast ptrn
6671 response from the underlying device.
6672
6673 PARAMETERS
6674
6675 IN
6676 wdiStatus: response status received from HAL
6677 pUserData: user data
6678
6679
6680
6681 RETURN VALUE
6682 The result code associated with performing the operation
6683---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006684typedef void (*WDI_WowlDelBcPtrnCb)( WDI_WowlDelBcPtrnRspParamsType *pwdiWowlDelBcstPtrRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006685 void* pUserData);
6686
6687/*---------------------------------------------------------------------------
6688 WDI_WowlEnterReqCb
6689
6690 DESCRIPTION
6691
6692 This callback is invoked by DAL when it has received a Wowl enter
6693 response from the underlying device.
6694
6695 PARAMETERS
6696
6697 IN
6698 wdiStatus: response status received from HAL
6699 pUserData: user data
6700
6701
6702
6703 RETURN VALUE
6704 The result code associated with performing the operation
6705---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006706typedef void (*WDI_WowlEnterReqCb)( WDI_WowlEnterRspParamsType *pwdiwowlEnterRsp,
6707 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006708
6709/*---------------------------------------------------------------------------
6710 WDI_WowlExitReqCb
6711
6712 DESCRIPTION
6713
6714 This callback is invoked by DAL when it has received a Wowl exit
6715 response from the underlying device.
6716
6717 PARAMETERS
6718
6719 IN
6720 wdiStatus: response status received from HAL
6721 pUserData: user data
6722
6723
6724
6725 RETURN VALUE
6726 The result code associated with performing the operation
6727---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006728typedef void (*WDI_WowlExitReqCb)( WDI_WowlExitRspParamsType *pwdiWowlExitRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006729 void* pUserData);
6730
6731/*---------------------------------------------------------------------------
6732 WDI_ConfigureAppsCpuWakeupStateCb
6733
6734 DESCRIPTION
6735
6736 This callback is invoked by DAL when it has received a config Apps Cpu Wakeup
6737 State response from the underlying device.
6738
6739 PARAMETERS
6740
6741 IN
6742 wdiStatus: response status received from HAL
6743 pUserData: user data
6744
6745
6746
6747 RETURN VALUE
6748 The result code associated with performing the operation
6749---------------------------------------------------------------------------*/
6750typedef void (*WDI_ConfigureAppsCpuWakeupStateCb)(WDI_Status wdiStatus,
6751 void* pUserData);
6752/*---------------------------------------------------------------------------
6753 WDI_NvDownloadRspCb
6754
6755 DESCRIPTION
6756
6757 This callback is invoked by DAL when it has received a NV Download response
6758 from the underlying device.
6759
6760 PARAMETERS
6761
6762 IN
6763 wdiStatus:response status received from HAL
6764 pUserData:user data
6765
6766 RETURN VALUE
6767 The result code associated with performing the operation
6768---------------------------------------------------------------------------*/
6769typedef void (*WDI_NvDownloadRspCb)(WDI_NvDownloadRspInfoType* wdiNvDownloadRsp,
6770 void* pUserData);
6771/*---------------------------------------------------------------------------
6772 WDI_FlushAcRspCb
6773
6774 DESCRIPTION
6775
6776 This callback is invoked by DAL when it has received a Flush AC response from
6777 the underlying device.
6778
6779 PARAMETERS
6780
6781 IN
6782 wdiStatus: response status received from HAL
6783 pUserData: user data
6784
6785
6786
6787 RETURN VALUE
6788 The result code associated with performing the operation
6789---------------------------------------------------------------------------*/
6790typedef void (*WDI_FlushAcRspCb)(WDI_Status wdiStatus,
6791 void* pUserData);
6792
6793/*---------------------------------------------------------------------------
6794 WDI_BtAmpEventRspCb
6795
6796 DESCRIPTION
6797
6798 This callback is invoked by DAL when it has received a Bt AMP event response
6799 from the underlying device.
6800
6801 PARAMETERS
6802
6803 IN
6804 wdiStatus: response status received from HAL
6805 pUserData: user data
6806
6807
6808
6809 RETURN VALUE
6810 The result code associated with performing the operation
6811---------------------------------------------------------------------------*/
6812typedef void (*WDI_BtAmpEventRspCb)(WDI_Status wdiStatus,
6813 void* pUserData);
6814
Jeff Johnsone7245742012-09-05 17:12:55 -07006815#ifdef FEATURE_OEM_DATA_SUPPORT
6816/*---------------------------------------------------------------------------
6817 WDI_oemDataRspCb
6818
6819 DESCRIPTION
6820
6821 This callback is invoked by DAL when it has received a Start oem data response from
6822 the underlying device.
6823
6824 PARAMETERS
6825
6826 IN
6827 wdiStatus: response status received from HAL
6828 pUserData: user data
6829
6830
6831
6832 RETURN VALUE
6833 The result code associated with performing the operation
6834---------------------------------------------------------------------------*/
6835typedef void (*WDI_oemDataRspCb)(WDI_oemDataRspParamsType* wdiOemDataRspParams,
6836 void* pUserData);
6837
6838#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07006839
6840/*---------------------------------------------------------------------------
6841 WDI_HostResumeEventRspCb
6842
6843 DESCRIPTION
6844
6845 This callback is invoked by DAL when it has received a Bt AMP event response
6846 from the underlying device.
6847
6848 PARAMETERS
6849
6850 IN
6851 wdiStatus: response status received from HAL
6852 pUserData: user data
6853
6854
6855
6856 RETURN VALUE
6857 The result code associated with performing the operation
6858---------------------------------------------------------------------------*/
6859typedef void (*WDI_HostResumeEventRspCb)(
6860 WDI_SuspendResumeRspParamsType *resumeRspParams,
6861 void* pUserData);
6862
6863
6864#ifdef WLAN_FEATURE_VOWIFI_11R
6865/*---------------------------------------------------------------------------
6866 WDI_AggrAddTsRspCb
6867
6868 DESCRIPTION
6869
6870 This callback is invoked by DAL when it has received a Aggregated Add TS
6871 response from the underlying device.
6872
6873 PARAMETERS
6874
6875 IN
6876 wdiStatus: response status received from HAL
6877 pUserData: user data
6878
6879
6880
6881 RETURN VALUE
6882 The result code associated with performing the operation
6883---------------------------------------------------------------------------*/
6884typedef void (*WDI_AggrAddTsRspCb)(WDI_Status wdiStatus,
6885 void* pUserData);
6886#endif /* WLAN_FEATURE_VOWIFI_11R */
6887
Jeff Johnson295189b2012-06-20 16:38:30 -07006888/*---------------------------------------------------------------------------
6889 WDI_FTMCommandRspCb
6890
6891 DESCRIPTION
6892
6893 FTM Command response CB
6894
6895 PARAMETERS
6896
6897 IN
6898 ftmCMDRspdata: FTM response data from HAL
6899 pUserData: user data
6900
6901
6902 RETURN VALUE
6903 NONE
6904---------------------------------------------------------------------------*/
6905typedef void (*WDI_FTMCommandRspCb)(void *ftmCMDRspdata,
6906 void *pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006907
6908/*---------------------------------------------------------------------------
6909 WDI_AddSTASelfParamsRspCb
6910
6911 DESCRIPTION
6912
6913 This callback is invoked by DAL when it has received a Add Sta Self Params
6914 response from the underlying device.
6915
6916 PARAMETERS
6917
6918 IN
6919 wdiAddSelfSTARsp: response status received from HAL
6920 pUserData: user data
6921
6922
6923
6924 RETURN VALUE
6925 The result code associated with performing the operation
6926---------------------------------------------------------------------------*/
6927typedef void (*WDI_AddSTASelfParamsRspCb)(
6928 WDI_AddSTASelfRspParamsType* pwdiAddSelfSTARsp,
6929 void* pUserData);
6930
6931
6932/*---------------------------------------------------------------------------
6933 WDI_DelSTASelfRspCb
6934
6935 DESCRIPTION
6936
6937 This callback is invoked by DAL when it has received a host offload
6938 response from the underlying device.
6939
6940 PARAMETERS
6941
6942 IN
6943 wdiStatus: response status received from HAL
6944 pUserData: user data
6945
6946
6947
6948 RETURN VALUE
6949 The result code associated with performing the operation
6950---------------------------------------------------------------------------*/
6951typedef void (*WDI_DelSTASelfRspCb)
6952(
6953WDI_DelSTASelfRspParamsType* wdiDelStaSelfRspParams,
6954void* pUserData
6955);
6956
6957#ifdef FEATURE_WLAN_SCAN_PNO
6958/*---------------------------------------------------------------------------
6959 WDI_PNOScanCb
6960
6961 DESCRIPTION
6962
6963 This callback is invoked by DAL when it has received a Set PNO
6964 response from the underlying device.
6965
6966 PARAMETERS
6967
6968 IN
6969 wdiStatus: response status received from HAL
6970 pUserData: user data
6971
6972
6973
6974 RETURN VALUE
6975 The result code associated with performing the operation
6976---------------------------------------------------------------------------*/
6977typedef void (*WDI_PNOScanCb)(WDI_Status wdiStatus,
6978 void* pUserData);
6979
6980/*---------------------------------------------------------------------------
6981 WDI_PNOScanCb
6982
6983 DESCRIPTION
6984
6985 This callback is invoked by DAL when it has received a Set PNO
6986 response from the underlying device.
6987
6988 PARAMETERS
6989
6990 IN
6991 wdiStatus: response status received from HAL
6992 pUserData: user data
6993
6994
6995
6996 RETURN VALUE
6997 The result code associated with performing the operation
6998---------------------------------------------------------------------------*/
6999typedef void (*WDI_RssiFilterCb)(WDI_Status wdiStatus,
7000 void* pUserData);
7001
7002/*---------------------------------------------------------------------------
7003 WDI_UpdateScanParamsCb
7004
7005 DESCRIPTION
7006
7007 This callback is invoked by DAL when it has received a Update Scan Params
7008 response from the underlying device.
7009
7010 PARAMETERS
7011
7012 IN
7013 wdiStatus: response status received from HAL
7014 pUserData: user data
7015
7016
7017
7018 RETURN VALUE
7019 The result code associated with performing the operation
7020---------------------------------------------------------------------------*/
7021typedef void (*WDI_UpdateScanParamsCb)(WDI_Status wdiStatus,
7022 void* pUserData);
7023#endif // FEATURE_WLAN_SCAN_PNO
7024
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07007025#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
7026/*---------------------------------------------------------------------------
7027 WDI_RoamOffloadScanCb
7028
7029 DESCRIPTION
7030
7031 This callback is invoked by DAL when it has received a Start Roam Candidate Lookup Req
7032 response from the underlying device.
7033
7034 PARAMETERS
7035
7036 IN
7037 wdiStatus: response status received from HAL
7038 pUserData: user data
7039
7040
7041
7042 RETURN VALUE
7043 The result code associated with performing the operation
7044---------------------------------------------------------------------------*/
7045typedef void (*WDI_RoamOffloadScanCb)(WDI_Status wdiStatus,
7046 void* pUserData);
7047
7048#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07007049/*---------------------------------------------------------------------------
7050 WDI_SetTxPerTrackingRspCb
7051
7052 DESCRIPTION
7053
7054 This callback is invoked by DAL when it has received a Tx PER Tracking
7055 response from the underlying device.
7056
7057 PARAMETERS
7058
7059 IN
7060 wdiStatus: response status received from HAL
7061 pUserData: user data
7062
7063
7064
7065 RETURN VALUE
7066 The result code associated with performing the operation
7067---------------------------------------------------------------------------*/
7068typedef void (*WDI_SetTxPerTrackingRspCb)(WDI_Status wdiStatus,
7069 void* pUserData);
7070
7071#ifdef WLAN_FEATURE_PACKET_FILTERING
7072/*---------------------------------------------------------------------------
7073 WDI_8023MulticastListCb
7074
7075 DESCRIPTION
7076
7077 This callback is invoked by DAL when it has received a 8023 Multicast List
7078 response from the underlying device.
7079
7080 PARAMETERS
7081
7082 IN
7083 wdiStatus: response status received from HAL
7084 pUserData: user data
7085
7086
7087
7088 RETURN VALUE
7089 The result code associated with performing the operation
7090---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007091typedef void (*WDI_8023MulticastListCb)(
7092 WDI_RcvFltPktSetMcListRspParamsType *pwdiRcvFltPktSetMcListRspInfo,
7093 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007094
7095/*---------------------------------------------------------------------------
7096 WDI_ReceiveFilterSetFilterCb
7097
7098 DESCRIPTION
7099
7100 This callback is invoked by DAL when it has received a Receive Filter Set Filter
7101 response from the underlying device.
7102
7103 PARAMETERS
7104
7105 IN
7106 wdiStatus: response status received from HAL
7107 pUserData: user data
7108
7109
7110
7111 RETURN VALUE
7112 The result code associated with performing the operation
7113---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007114typedef void (*WDI_ReceiveFilterSetFilterCb)(
7115 WDI_SetRcvPktFilterRspParamsType *pwdiSetRcvPktFilterRspInfo,
7116 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007117
7118/*---------------------------------------------------------------------------
7119 WDI_FilterMatchCountCb
7120
7121 DESCRIPTION
7122
7123 This callback is invoked by DAL when it has received a Do PC Filter Match Count
7124 response from the underlying device.
7125
7126 PARAMETERS
7127
7128 IN
7129 wdiStatus: response status received from HAL
7130 pUserData: user data
7131
7132
7133
7134 RETURN VALUE
7135 The result code associated with performing the operation
7136---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007137typedef void (*WDI_FilterMatchCountCb)(
7138 WDI_RcvFltPktMatchCntRspParamsType *pwdiRcvFltPktMatchRspParams,
7139 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007140
7141/*---------------------------------------------------------------------------
7142 WDI_ReceiveFilterClearFilterCb
7143
7144 DESCRIPTION
7145
7146 This callback is invoked by DAL when it has received a Receive Filter Clear Filter
7147 response from the underlying device.
7148
7149 PARAMETERS
7150
7151 IN
7152 wdiStatus: response status received from HAL
7153 pUserData: user data
7154
7155
7156
7157 RETURN VALUE
7158 The result code associated with performing the operation
7159---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007160typedef void (*WDI_ReceiveFilterClearFilterCb)(
7161 WDI_RcvFltPktClearRspParamsType *pwdiRcvFltPktClearRspParamsType,
7162 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007163#endif // WLAN_FEATURE_PACKET_FILTERING
7164
7165/*---------------------------------------------------------------------------
7166 WDI_HALDumpCmdRspCb
7167
7168 DESCRIPTION
7169
7170 This callback is invoked by DAL when it has received a HAL DUMP Command
7171response from
7172 the HAL layer.
7173
7174 PARAMETERS
7175
7176 IN
7177 wdiHalDumpCmdRsp: response status received from HAL
7178 pUserData: user data
7179
7180
7181
7182 RETURN VALUE
7183 The result code associated with performing the operation
7184---------------------------------------------------------------------------*/
7185typedef void (*WDI_HALDumpCmdRspCb)(WDI_HALDumpCmdRspParamsType* wdiHalDumpCmdRsp,
7186 void* pUserData);
7187
7188/*---------------------------------------------------------------------------
7189 WDI_SetPowerParamsCb
7190
7191 DESCRIPTION
7192
7193 This callback is invoked by DAL when it has received a Set Power Param
7194 response from the underlying device.
7195
7196 PARAMETERS
7197
7198 IN
7199 wdiStatus: response status received from HAL
7200 pUserData: user data
7201
7202
7203
7204 RETURN VALUE
7205 The result code associated with performing the operation
7206---------------------------------------------------------------------------*/
7207typedef void (*WDI_SetPowerParamsCb)(WDI_Status wdiStatus,
7208 void* pUserData);
7209
7210#ifdef WLAN_FEATURE_GTK_OFFLOAD
7211/*---------------------------------------------------------------------------
7212 WDI_GtkOffloadCb
7213
7214 DESCRIPTION
7215
7216 This callback is invoked by DAL when it has received a GTK offload
7217 response from the underlying device.
7218
7219 PARAMETERS
7220
7221 IN
7222 wdiStatus: response status received from HAL
7223 pUserData: user data
7224
7225
7226
7227 RETURN VALUE
7228 The result code associated with performing the operation
7229---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007230typedef void (*WDI_GtkOffloadCb)( WDI_GtkOffloadRspParams *pwdiGtkOffloadRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007231 void* pUserData);
7232
7233/*---------------------------------------------------------------------------
7234 WDI_GtkOffloadGetInfoCb
7235
7236 DESCRIPTION
7237
7238 This callback is invoked by DAL when it has received a GTK offload
7239 information response from the underlying device.
7240
7241 PARAMETERS
7242
7243 IN
7244 wdiStatus: response status received from HAL
7245 pUserData: user data
7246
7247
7248
7249 RETURN VALUE
7250 The result code associated with performing the operation
7251---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007252typedef void (*WDI_GtkOffloadGetInfoCb)( WDI_GtkOffloadGetInfoRspParams *pwdiGtkOffloadGetInfoRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007253 void* pUserData);
7254#endif // WLAN_FEATURE_GTK_OFFLOAD
7255
7256/*---------------------------------------------------------------------------
7257 WDI_SetTmLevelCb
7258
7259 DESCRIPTION
7260
7261 This callback is invoked by DAL when it has received a Set New TM Level
7262 done response from the underlying device.
7263
7264 PARAMETERS
7265
7266 IN
7267 wdiStatus: response status received from HAL
7268 pUserData: user data
7269
7270
7271
7272 RETURN VALUE
7273 The result code associated with performing the operation
7274---------------------------------------------------------------------------*/
7275typedef void (*WDI_SetTmLevelCb)(WDI_Status wdiStatus,
7276 void* pUserData);
7277
7278/*---------------------------------------------------------------------------
7279 WDI_featureCapsExchangeCb
7280
7281 DESCRIPTION
7282
7283 This callback is invoked by DAL when it has received a HAL Feature Capbility
7284 Exchange Response the HAL layer. This callback is put to mantain code
7285 similarity and is not being used right now.
7286
7287 PARAMETERS
7288
7289 IN
7290 wdiFeatCapRspParams: response parameters received from HAL
7291 pUserData: user data
7292
7293 RETURN VALUE
7294 The result code associated with performing the operation
7295---------------------------------------------------------------------------*/
7296typedef void (*WDI_featureCapsExchangeCb)(void* wdiFeatCapRspParams,
7297 void* pUserData);
7298
Mohit Khanna4a70d262012-09-11 16:30:12 -07007299#ifdef WLAN_FEATURE_11AC
7300typedef void (*WDI_UpdateVHTOpModeCb)(WDI_Status wdiStatus,
7301 void* pUserData);
7302#endif
7303
Leo Chang9056f462013-08-01 19:21:11 -07007304#ifdef FEATURE_WLAN_LPHB
7305typedef void (*WDI_LphbCfgCb)(WDI_Status wdiStatus,
7306 void* pUserData);
7307#endif /* FEATURE_WLAN_LPHB */
Mohit Khanna4a70d262012-09-11 16:30:12 -07007308
Rajeev79dbe4c2013-10-05 11:03:42 +05307309#ifdef FEATURE_WLAN_BATCH_SCAN
7310/*---------------------------------------------------------------------------
7311 WDI_SetBatchScanCb
7312
7313 DESCRIPTION
7314
7315 This callback is invoked by DAL when it has received a get batch scan
7316 response from the underlying device.
7317
7318 PARAMETERS
7319
7320 IN
7321 wdiStatus: response status received from HAL
7322 pUserData: user data
7323
7324
7325
7326 RETURN VALUE
7327 The result code associated with performing the operation
7328---------------------------------------------------------------------------*/
7329typedef void (*WDI_SetBatchScanCb)(void *pData, WDI_SetBatchScanRspType *pRsp);
7330
7331#endif
7332
7333
Jeff Johnson295189b2012-06-20 16:38:30 -07007334/*========================================================================
7335 * Function Declarations and Documentation
7336 ==========================================================================*/
7337
7338/*========================================================================
7339
7340 INITIALIZATION APIs
7341
7342==========================================================================*/
7343
7344/**
7345 @brief WDI_Init is used to initialize the DAL.
7346
7347 DAL will allocate all the resources it needs. It will open PAL, it will also
7348 open both the data and the control transport which in their turn will open
7349 DXE/SMD or any other drivers that they need.
7350
7351 @param pOSContext: pointer to the OS context provided by the UMAC
7352 will be passed on to PAL on Open
7353 ppWDIGlobalCtx: output pointer of Global Context
7354 pWdiDevCapability: output pointer of device capability
7355
7356 @return Result of the function call
7357*/
7358WDI_Status
7359WDI_Init
7360(
7361 void* pOSContext,
7362 void** ppWDIGlobalCtx,
7363 WDI_DeviceCapabilityType* pWdiDevCapability,
7364 unsigned int driverType
7365);
7366
7367/**
7368 @brief WDI_Start will be called when the upper MAC is ready to
7369 commence operation with the WLAN Device. Upon the call
7370 of this API the WLAN DAL will pack and send a HAL Start
7371 message to the lower RIVA sub-system if the SMD channel
7372 has been fully opened and the RIVA subsystem is up.
7373
7374 If the RIVA sub-system is not yet up and running DAL
7375 will queue the request for Open and will wait for the
7376 SMD notification before attempting to send down the
7377 message to HAL.
7378
7379 WDI_Init must have been called.
7380
7381 @param wdiStartParams: the start parameters as specified by
7382 the Device Interface
7383
7384 wdiStartRspCb: callback for passing back the response of
7385 the start operation received from the device
7386
7387 pUserData: user data will be passed back with the
7388 callback
7389
7390 @see WDI_Start
7391 @return Result of the function call
7392*/
7393WDI_Status
7394WDI_Start
7395(
7396 WDI_StartReqParamsType* pwdiStartParams,
7397 WDI_StartRspCb wdiStartRspCb,
7398 void* pUserData
7399);
7400
7401
7402/**
7403 @brief WDI_Stop will be called when the upper MAC is ready to
7404 stop any operation with the WLAN Device. Upon the call
7405 of this API the WLAN DAL will pack and send a HAL Stop
7406 message to the lower RIVA sub-system if the DAL Core is
7407 in started state.
7408
7409 In state BUSY this request will be queued.
7410
7411 Request will not be accepted in any other state.
7412
7413 WDI_Start must have been called.
7414
7415 @param wdiStopParams: the stop parameters as specified by
7416 the Device Interface
7417
7418 wdiStopRspCb: callback for passing back the response of
7419 the stop operation received from the device
7420
7421 pUserData: user data will be passed back with the
7422 callback
7423
7424 @see WDI_Start
7425 @return Result of the function call
7426*/
7427WDI_Status
7428WDI_Stop
7429(
7430 WDI_StopReqParamsType* pwdiStopParams,
7431 WDI_StopRspCb wdiStopRspCb,
7432 void* pUserData
7433);
7434
7435/**
7436 @brief WDI_Close will be called when the upper MAC no longer
7437 needs to interract with DAL. DAL will free its control
7438 block.
7439
7440 It is only accepted in state STOPPED.
7441
7442 WDI_Stop must have been called.
7443
7444 @param none
7445
7446 @see WDI_Stop
7447 @return Result of the function call
7448*/
7449WDI_Status
7450WDI_Close
7451(
7452 void
7453);
7454
7455
7456/**
7457 @brief WDI_Shutdown will be called during 'SSR shutdown' operation.
7458 This will do most of the WDI stop & close
7459 operations without doing any handshake with Riva
7460
7461 This will also make sure that the control transport
7462 will NOT be closed.
7463
7464 This request will not be queued.
7465
7466
7467 WDI_Start must have been called.
7468
7469 @param closeTransport: Close control channel if this is set
7470
7471 @return Result of the function call
7472*/
7473WDI_Status
7474WDI_Shutdown
7475(
7476 wpt_boolean closeTransport
7477);
7478
7479/*========================================================================
7480
7481 SCAN APIs
7482
7483==========================================================================*/
7484
7485/**
7486 @brief WDI_InitScanReq will be called when the upper MAC wants
7487 the WLAN Device to get ready for a scan procedure. Upon
7488 the call of this API the WLAN DAL will pack and send a
7489 HAL Init Scan request message to the lower RIVA
7490 sub-system if DAL is in state STARTED.
7491
7492 In state BUSY this request will be queued. Request won't
7493 be allowed in any other state.
7494
7495 WDI_Start must have been called.
7496
7497 @param wdiInitScanParams: the init scan parameters as specified
7498 by the Device Interface
7499
7500 wdiInitScanRspCb: callback for passing back the response
7501 of the init scan operation received from the device
7502
7503 pUserData: user data will be passed back with the
7504 callback
7505
7506 @see WDI_Start
7507 @return Result of the function call
7508*/
7509WDI_Status
7510WDI_InitScanReq
7511(
7512 WDI_InitScanReqParamsType* pwdiInitScanParams,
7513 WDI_InitScanRspCb wdiInitScanRspCb,
7514 void* pUserData
7515);
7516
7517/**
7518 @brief WDI_StartScanReq will be called when the upper MAC
7519 wishes to change the Scan channel on the WLAN Device.
7520 Upon the call of this API the WLAN DAL will pack and
7521 send a HAL Start Scan request message to the lower RIVA
7522 sub-system if DAL is in state STARTED.
7523
7524 In state BUSY this request will be queued. Request won't
7525 be allowed in any other state.
7526
7527 WDI_InitScanReq must have been called.
7528
7529 @param wdiStartScanParams: the start scan parameters as
7530 specified by the Device Interface
7531
7532 wdiStartScanRspCb: callback for passing back the
7533 response of the start scan operation received from the
7534 device
7535
7536 pUserData: user data will be passed back with the
7537 callback
7538
7539 @see WDI_InitScanReq
7540 @return Result of the function call
7541*/
7542WDI_Status
7543WDI_StartScanReq
7544(
7545 WDI_StartScanReqParamsType* pwdiStartScanParams,
7546 WDI_StartScanRspCb wdiStartScanRspCb,
7547 void* pUserData
7548);
7549
7550
7551/**
7552 @brief WDI_EndScanReq will be called when the upper MAC is
7553 wants to end scanning for a particular channel that it
7554 had set before by calling Scan Start on the WLAN Device.
7555 Upon the call of this API the WLAN DAL will pack and
7556 send a HAL End Scan request message to the lower RIVA
7557 sub-system if DAL is in state STARTED.
7558
7559 In state BUSY this request will be queued. Request won't
7560 be allowed in any other state.
7561
7562 WDI_StartScanReq must have been called.
7563
7564 @param wdiEndScanParams: the end scan parameters as specified
7565 by the Device Interface
7566
7567 wdiEndScanRspCb: callback for passing back the response
7568 of the end scan operation received from the device
7569
7570 pUserData: user data will be passed back with the
7571 callback
7572
7573 @see WDI_StartScanReq
7574 @return Result of the function call
7575*/
7576WDI_Status
7577WDI_EndScanReq
7578(
7579 WDI_EndScanReqParamsType* pwdiEndScanParams,
7580 WDI_EndScanRspCb wdiEndScanRspCb,
7581 void* pUserData
7582);
7583
7584
7585/**
7586 @brief WDI_FinishScanReq will be called when the upper MAC has
7587 completed the scan process on the WLAN Device. Upon the
7588 call of this API the WLAN DAL will pack and send a HAL
7589 Finish Scan Request request message to the lower RIVA
7590 sub-system if DAL is in state STARTED.
7591
7592 In state BUSY this request will be queued. Request won't
7593 be allowed in any other state.
7594
7595 WDI_InitScanReq must have been called.
7596
7597 @param wdiFinishScanParams: the finish scan parameters as
7598 specified by the Device Interface
7599
7600 wdiFinishScanRspCb: callback for passing back the
7601 response of the finish scan operation received from the
7602 device
7603
7604 pUserData: user data will be passed back with the
7605 callback
7606
7607 @see WDI_InitScanReq
7608 @return Result of the function call
7609*/
7610WDI_Status
7611WDI_FinishScanReq
7612(
7613 WDI_FinishScanReqParamsType* pwdiFinishScanParams,
7614 WDI_FinishScanRspCb wdiFinishScanRspCb,
7615 void* pUserData
7616);
7617
7618/*========================================================================
7619
7620 ASSOCIATION APIs
7621
7622==========================================================================*/
7623
7624/**
7625 @brief WDI_JoinReq will be called when the upper MAC is ready
7626 to start an association procedure to a BSS. Upon the
7627 call of this API the WLAN DAL will pack and send a HAL
7628 Join request message to the lower RIVA sub-system if
7629 DAL is in state STARTED.
7630
7631 In state BUSY this request will be queued. Request won't
7632 be allowed in any other state.
7633
7634 WDI_Start must have been called.
7635
7636 @param wdiJoinParams: the join parameters as specified by
7637 the Device Interface
7638
7639 wdiJoinRspCb: callback for passing back the response of
7640 the join operation received from the device
7641
7642 pUserData: user data will be passed back with the
7643 callback
7644
7645 @see WDI_Start
7646 @return Result of the function call
7647*/
7648WDI_Status
7649WDI_JoinReq
7650(
7651 WDI_JoinReqParamsType* pwdiJoinParams,
7652 WDI_JoinRspCb wdiJoinRspCb,
7653 void* pUserData
7654);
7655
7656/**
7657 @brief WDI_ConfigBSSReq will be called when the upper MAC
7658 wishes to configure the newly acquired or in process of
7659 being acquired BSS to the HW . Upon the call of this API
7660 the WLAN DAL will pack and send a HAL Config BSS request
7661 message to the lower RIVA sub-system if DAL is in state
7662 STARTED.
7663
7664 In state BUSY this request will be queued. Request won't
7665 be allowed in any other state.
7666
7667 WDI_JoinReq must have been called.
7668
7669 @param wdiConfigBSSParams: the config BSS parameters as
7670 specified by the Device Interface
7671
7672 wdiConfigBSSRspCb: callback for passing back the
7673 response of the config BSS operation received from the
7674 device
7675
7676 pUserData: user data will be passed back with the
7677 callback
7678
7679 @see WDI_JoinReq
7680 @return Result of the function call
7681*/
7682WDI_Status
7683WDI_ConfigBSSReq
7684(
7685 WDI_ConfigBSSReqParamsType* pwdiConfigBSSParams,
7686 WDI_ConfigBSSRspCb wdiConfigBSSRspCb,
7687 void* pUserData
7688);
7689
7690/**
7691 @brief WDI_DelBSSReq will be called when the upper MAC is
7692 dissasociating from the BSS and wishes to notify HW.
7693 Upon the call of this API the WLAN DAL will pack and
7694 send a HAL Del BSS request message to the lower RIVA
7695 sub-system if DAL is in state STARTED.
7696
7697 In state BUSY this request will be queued. Request won't
7698 be allowed in any other state.
7699
7700 WDI_ConfigBSSReq or WDI_PostAssocReq must have been called.
7701
7702 @param wdiDelBSSParams: the del BSS parameters as specified by
7703 the Device Interface
7704
7705 wdiDelBSSRspCb: callback for passing back the response
7706 of the del bss operation received from the device
7707
7708 pUserData: user data will be passed back with the
7709 callback
7710
7711 @see WDI_ConfigBSSReq, WDI_PostAssocReq
7712 @return Result of the function call
7713*/
7714WDI_Status
7715WDI_DelBSSReq
7716(
7717 WDI_DelBSSReqParamsType* pwdiDelBSSParams,
7718 WDI_DelBSSRspCb wdiDelBSSRspCb,
7719 void* pUserData
7720);
7721
7722/**
7723 @brief WDI_PostAssocReq will be called when the upper MAC has
7724 associated to a BSS and wishes to configure HW for
7725 associated state. Upon the call of this API the WLAN DAL
7726 will pack and send a HAL Post Assoc request message to
7727 the lower RIVA sub-system if DAL is in state STARTED.
7728
7729 In state BUSY this request will be queued. Request won't
7730 be allowed in any other state.
7731
7732 WDI_JoinReq must have been called.
7733
7734 @param wdiPostAssocReqParams: the assoc parameters as specified
7735 by the Device Interface
7736
7737 wdiPostAssocRspCb: callback for passing back the
7738 response of the post assoc operation received from the
7739 device
7740
7741 pUserData: user data will be passed back with the
7742 callback
7743
7744 @see WDI_JoinReq
7745 @return Result of the function call
7746*/
7747WDI_Status
7748WDI_PostAssocReq
7749(
7750 WDI_PostAssocReqParamsType* pwdiPostAssocReqParams,
7751 WDI_PostAssocRspCb wdiPostAssocRspCb,
7752 void* pUserData
7753);
7754
7755/**
7756 @brief WDI_DelSTAReq will be called when the upper MAC when an
7757 association with another STA has ended and the station
7758 must be deleted from HW. Upon the call of this API the
7759 WLAN DAL will pack and send a HAL Del STA request
7760 message to the lower RIVA sub-system if DAL is in state
7761 STARTED.
7762
7763 In state BUSY this request will be queued. Request won't
7764 be allowed in any other state.
7765
7766 WDI_PostAssocReq must have been called.
7767
7768 @param wdiDelSTAParams: the Del STA parameters as specified by
7769 the Device Interface
7770
7771 wdiDelSTARspCb: callback for passing back the response
7772 of the del STA operation received from the device
7773
7774 pUserData: user data will be passed back with the
7775 callback
7776
7777 @see WDI_PostAssocReq
7778 @return Result of the function call
7779*/
7780WDI_Status
7781WDI_DelSTAReq
7782(
7783 WDI_DelSTAReqParamsType* pwdiDelSTAParams,
7784 WDI_DelSTARspCb wdiDelSTARspCb,
7785 void* pUserData
7786);
7787
7788/*========================================================================
7789
7790 SECURITY APIs
7791
7792==========================================================================*/
7793
7794/**
7795 @brief WDI_SetBSSKeyReq will be called when the upper MAC ito
7796 install a BSS encryption key on the HW. Upon the call of
7797 this API the WLAN DAL will pack and send a HAL Start
7798 request message to the lower RIVA sub-system if DAL is
7799 in state STARTED.
7800
7801 In state BUSY this request will be queued. Request won't
7802 be allowed in any other state.
7803
7804 WDI_PostAssocReq must have been called.
7805
7806 @param wdiSetBSSKeyParams: the BSS Key set parameters as
7807 specified by the Device Interface
7808
7809 wdiSetBSSKeyRspCb: callback for passing back the
7810 response of the set BSS Key operation received from the
7811 device
7812
7813 pUserData: user data will be passed back with the
7814 callback
7815
7816 @see WDI_PostAssocReq
7817 @return Result of the function call
7818*/
7819WDI_Status
7820WDI_SetBSSKeyReq
7821(
7822 WDI_SetBSSKeyReqParamsType* pwdiSetBSSKeyParams,
7823 WDI_SetBSSKeyRspCb wdiSetBSSKeyRspCb,
7824 void* pUserData
7825);
7826
7827
7828/**
7829 @brief WDI_RemoveBSSKeyReq will be called when the upper MAC to
7830 uninstall a BSS key from HW. Upon the call of this API
7831 the WLAN DAL will pack and send a HAL Remove BSS Key
7832 request message to the lower RIVA sub-system if DAL is
7833 in state STARTED.
7834
7835 In state BUSY this request will be queued. Request won't
7836 be allowed in any other state.
7837
7838 WDI_SetBSSKeyReq must have been called.
7839
7840 @param wdiRemoveBSSKeyParams: the remove BSS key parameters as
7841 specified by the Device Interface
7842
7843 wdiRemoveBSSKeyRspCb: callback for passing back the
7844 response of the remove BSS key operation received from
7845 the device
7846
7847 pUserData: user data will be passed back with the
7848 callback
7849
7850 @see WDI_SetBSSKeyReq
7851 @return Result of the function call
7852*/
7853WDI_Status
7854WDI_RemoveBSSKeyReq
7855(
7856 WDI_RemoveBSSKeyReqParamsType* pwdiRemoveBSSKeyParams,
7857 WDI_RemoveBSSKeyRspCb wdiRemoveBSSKeyRspCb,
7858 void* pUserData
7859);
7860
7861
7862/**
7863 @brief WDI_SetSTAKeyReq will be called when the upper MAC is
7864 ready to install a STA(ast) encryption key in HW. Upon
7865 the call of this API the WLAN DAL will pack and send a
7866 HAL Set STA Key request message to the lower RIVA
7867 sub-system if DAL is in state STARTED.
7868
7869 In state BUSY this request will be queued. Request won't
7870 be allowed in any other state.
7871
7872 WDI_PostAssocReq must have been called.
7873
7874 @param wdiSetSTAKeyParams: the set STA key parameters as
7875 specified by the Device Interface
7876
7877 wdiSetSTAKeyRspCb: callback for passing back the
7878 response of the set STA key operation received from the
7879 device
7880
7881 pUserData: user data will be passed back with the
7882 callback
7883
7884 @see WDI_PostAssocReq
7885 @return Result of the function call
7886*/
7887WDI_Status
7888WDI_SetSTAKeyReq
7889(
7890 WDI_SetSTAKeyReqParamsType* pwdiSetSTAKeyParams,
7891 WDI_SetSTAKeyRspCb wdiSetSTAKeyRspCb,
7892 void* pUserData
7893);
7894
7895
7896/**
7897 @brief WDI_RemoveSTAKeyReq will be called when the upper MAC
7898 wants to unistall a previously set STA key in HW. Upon
7899 the call of this API the WLAN DAL will pack and send a
7900 HAL Remove STA Key request message to the lower RIVA
7901 sub-system if DAL is in state STARTED.
7902
7903 In state BUSY this request will be queued. Request won't
7904 be allowed in any other state.
7905
7906 WDI_SetSTAKeyReq must have been called.
7907
7908 @param wdiRemoveSTAKeyParams: the remove STA key parameters as
7909 specified by the Device Interface
7910
7911 wdiRemoveSTAKeyRspCb: callback for passing back the
7912 response of the remove STA key operation received from
7913 the device
7914
7915 pUserData: user data will be passed back with the
7916 callback
7917
7918 @see WDI_SetSTAKeyReq
7919 @return Result of the function call
7920*/
7921WDI_Status
7922WDI_RemoveSTAKeyReq
7923(
7924 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTAKeyParams,
7925 WDI_RemoveSTAKeyRspCb wdiRemoveSTAKeyRspCb,
7926 void* pUserData
7927);
7928
7929/**
7930 @brief WDI_SetSTABcastKeyReq will be called when the upper MAC
7931 wants to install a STA Bcast encryption key on the HW.
7932 Upon the call of this API the WLAN DAL will pack and
7933 send a HAL Start request message to the lower RIVA
7934 sub-system if DAL is in state STARTED.
7935
7936 In state BUSY this request will be queued. Request won't
7937 be allowed in any other state.
7938
7939 WDI_PostAssocReq must have been called.
7940
7941 @param pwdiSetSTABcastKeyParams: the BSS Key set parameters as
7942 specified by the Device Interface
7943
7944 wdiSetSTABcastKeyRspCb: callback for passing back the
7945 response of the set BSS Key operation received from the
7946 device
7947
7948 pUserData: user data will be passed back with the
7949 callback
7950
7951 @see WDI_PostAssocReq
7952 @return Result of the function call
7953*/
7954WDI_Status
7955WDI_SetSTABcastKeyReq
7956(
7957 WDI_SetSTAKeyReqParamsType* pwdiSetSTABcastKeyParams,
7958 WDI_SetSTAKeyRspCb wdiSetSTABcastKeyRspCb,
7959 void* pUserData
7960);
7961
7962
7963/**
7964 @brief WDI_RemoveSTABcastKeyReq will be called when the upper
7965 MAC to uninstall a STA Bcast key from HW. Upon the call
7966 of this API the WLAN DAL will pack and send a HAL Remove
7967 STA Bcast Key request message to the lower RIVA
7968 sub-system if DAL is in state STARTED.
7969
7970 In state BUSY this request will be queued. Request won't
7971 be allowed in any other state.
7972
7973 WDI_SetSTABcastKeyReq must have been called.
7974
7975 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
7976 parameters as specified by the Device
7977 Interface
7978
7979 wdiRemoveSTABcastKeyRspCb: callback for passing back the
7980 response of the remove STA Bcast key operation received
7981 from the device
7982
7983 pUserData: user data will be passed back with the
7984 callback
7985
7986 @see WDI_SetSTABcastKeyReq
7987 @return Result of the function call
7988*/
7989WDI_Status
7990WDI_RemoveSTABcastKeyReq
7991(
7992 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTABcastKeyParams,
7993 WDI_RemoveSTAKeyRspCb wdiRemoveSTABcastKeyRspCb,
7994 void* pUserData
7995);
7996
schang86c22c42013-03-13 18:41:24 -07007997
7998/**
7999 @brief WDI_SetTxPowerReq will be called when the upper
8000 MAC wants to set Tx Power to HW.
8001 In state BUSY this request will be queued. Request won't
8002 be allowed in any other state.
8003
8004
8005 @param pwdiSetTxPowerParams: set TS Power parameters
8006 BSSID and target TX Power with dbm included
8007
8008 wdiReqStatusCb: callback for passing back the response
8009
8010 pUserData: user data will be passed back with the
8011 callback
8012
8013 @return Result of the function call
8014*/
8015WDI_Status
8016WDI_SetTxPowerReq
8017(
8018 WDI_SetTxPowerParamsType* pwdiSetTxPowerParams,
8019 WDA_SetTxPowerRspCb wdiReqStatusCb,
8020 void* pUserData
8021);
8022
Jeff Johnson295189b2012-06-20 16:38:30 -07008023/**
8024 @brief WDI_SetMaxTxPowerReq will be called when the upper
8025 MAC wants to set Max Tx Power to HW. Upon the
8026 call of this API the WLAN DAL will pack and send a HAL
8027 Remove STA Bcast Key request message to the lower RIVA
8028 sub-system if DAL is in state STARTED.
8029
8030 In state BUSY this request will be queued. Request won't
8031 be allowed in any other state.
8032
8033 WDI_SetSTABcastKeyReq must have been called.
8034
8035 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
8036 parameters as specified by the Device
8037 Interface
8038
8039 wdiRemoveSTABcastKeyRspCb: callback for passing back the
8040 response of the remove STA Bcast key operation received
8041 from the device
8042
8043 pUserData: user data will be passed back with the
8044 callback
8045
8046 @see WDI_SetMaxTxPowerReq
8047 @return Result of the function call
8048*/
8049WDI_Status
8050WDI_SetMaxTxPowerReq
8051(
8052 WDI_SetMaxTxPowerParamsType* pwdiSetMaxTxPowerParams,
8053 WDA_SetMaxTxPowerRspCb wdiReqStatusCb,
8054 void* pUserData
8055);
8056
Arif Hussaina5ebce02013-08-09 15:09:58 -07008057/**
8058 @brief WDI_SetMaxTxPowerPerBandReq will be called when the upper
8059 MAC wants to set Max Tx Power to HW for specific band. Upon the
8060 call of this API the WLAN DAL will pack and send a HAL
8061 Set Max Tx Power Per Band request message to the lower RIVA
8062 sub-system if DAL is in state STARTED.
8063
8064 In state BUSY this request will be queued. Request won't
8065 be allowed in any other state.
8066
8067
8068 @param WDI_SetMaxTxPowerPerBandParamsType: Max Tx Per Band Info
8069
8070 WDA_SetMaxTxPowerPerBandRspCb: This callback is invoked by DAL
8071 when it has received a set max Tx Power Per Band response from
8072 the underlying device.
8073
8074 pUserData: user data will be passed back with the
8075 callback
8076
8077 @see WDI_SetMaxTxPowerPerBandReq
8078 @return Result of the function call
8079*/
8080WDI_Status
8081WDI_SetMaxTxPowerPerBandReq
8082(
8083 WDI_SetMaxTxPowerPerBandParamsType* pwdiSetMaxTxPowerPerBandParams,
8084 WDA_SetMaxTxPowerPerBandRspCb wdiReqStatusCb,
8085 void* pUserData
8086);
8087
Jeff Johnson295189b2012-06-20 16:38:30 -07008088#ifdef FEATURE_WLAN_CCX
8089/**
8090 @brief WDI_TSMStatsReq will be called by the upper MAC to fetch
8091 Traffic Stream metrics.
8092 In state BUSY this request will be queued. Request won't
8093 be allowed in any other state.
8094
8095 @param wdiAddTsReqParams: the add TS parameters as specified by
8096 the Device Interface
8097
8098 wdiAddTsRspCb: callback for passing back the response of
8099 the add TS operation received from the device
8100
8101 pUserData: user data will be passed back with the
8102 callback
8103
8104 @see WDI_PostAssocReq
8105 @return Result of the function call
8106*/
8107WDI_Status
8108WDI_TSMStatsReq
8109(
8110 WDI_TSMStatsReqParamsType* pwdiTsmStatsReqParams,
8111 WDI_TsmRspCb wdiTsmStatsRspCb,
8112 void* pUserData
8113);
8114
8115
8116#endif
8117
8118/*========================================================================
8119
8120 QoS and BA APIs
8121
8122==========================================================================*/
8123
8124/**
8125 @brief WDI_AddTSReq will be called when the upper MAC to inform
8126 the device of a successful add TSpec negotiation. HW
8127 needs to receive the TSpec Info from the UMAC in order
8128 to configure properly the QoS data traffic. Upon the
8129 call of this API the WLAN DAL will pack and send a HAL
8130 Add TS request message to the lower RIVA sub-system if
8131 DAL is in state STARTED.
8132
8133 In state BUSY this request will be queued. Request won't
8134 be allowed in any other state.
8135
8136 WDI_PostAssocReq must have been called.
8137
8138 @param wdiAddTsReqParams: the add TS parameters as specified by
8139 the Device Interface
8140
8141 wdiAddTsRspCb: callback for passing back the response of
8142 the add TS operation received from the device
8143
8144 pUserData: user data will be passed back with the
8145 callback
8146
8147 @see WDI_PostAssocReq
8148 @return Result of the function call
8149*/
8150WDI_Status
8151WDI_AddTSReq
8152(
8153 WDI_AddTSReqParamsType* pwdiAddTsReqParams,
8154 WDI_AddTsRspCb wdiAddTsRspCb,
8155 void* pUserData
8156);
8157
8158
8159
8160/**
8161 @brief WDI_DelTSReq will be called when the upper MAC has ended
8162 admission on a specific AC. This is to inform HW that
8163 QoS traffic parameters must be rest. Upon the call of
8164 this API the WLAN DAL will pack and send a HAL Del TS
8165 request message to the lower RIVA sub-system if DAL is
8166 in state STARTED.
8167
8168 In state BUSY this request will be queued. Request won't
8169 be allowed in any other state.
8170
8171 WDI_AddTSReq must have been called.
8172
8173 @param wdiDelTsReqParams: the del TS parameters as specified by
8174 the Device Interface
8175
8176 wdiDelTsRspCb: callback for passing back the response of
8177 the del TS operation received from the device
8178
8179 pUserData: user data will be passed back with the
8180 callback
8181
8182 @see WDI_AddTSReq
8183 @return Result of the function call
8184*/
8185WDI_Status
8186WDI_DelTSReq
8187(
8188 WDI_DelTSReqParamsType* pwdiDelTsReqParams,
8189 WDI_DelTsRspCb wdiDelTsRspCb,
8190 void* pUserData
8191);
8192
8193
8194
8195/**
8196 @brief WDI_UpdateEDCAParams will be called when the upper MAC
8197 wishes to update the EDCA parameters used by HW for QoS
8198 data traffic. Upon the call of this API the WLAN DAL
8199 will pack and send a HAL Update EDCA Params request
8200 message to the lower RIVA sub-system if DAL is in state
8201 STARTED.
8202
8203 In state BUSY this request will be queued. Request won't
8204 be allowed in any other state.
8205
8206 WDI_PostAssocReq must have been called.
8207
8208 @param wdiUpdateEDCAParams: the start parameters as specified
8209 by the Device Interface
8210
8211 wdiUpdateEDCAParamsRspCb: callback for passing back the
8212 response of the start operation received from the device
8213
8214 pUserData: user data will be passed back with the
8215 callback
8216
8217 @see WDI_PostAssocReq
8218 @return Result of the function call
8219*/
8220WDI_Status
8221WDI_UpdateEDCAParams
8222(
8223 WDI_UpdateEDCAParamsType* pwdiUpdateEDCAParams,
8224 WDI_UpdateEDCAParamsRspCb wdiUpdateEDCAParamsRspCb,
8225 void* pUserData
8226);
8227
8228
8229
8230/**
8231 @brief WDI_AddBASessionReq will be called when the upper MAC has setup
8232 successfully a BA session and needs to notify the HW for
8233 the appropriate settings to take place. Upon the call of
8234 this API the WLAN DAL will pack and send a HAL Add BA
8235 request message to the lower RIVA sub-system if DAL is
8236 in state STARTED.
8237
8238 In state BUSY this request will be queued. Request won't
8239 be allowed in any other state.
8240
8241 WDI_PostAssocReq must have been called.
8242
8243 @param wdiAddBAReqParams: the add BA parameters as specified by
8244 the Device Interface
8245
8246 wdiAddBARspCb: callback for passing back the response of
8247 the add BA operation received from the device
8248
8249 pUserData: user data will be passed back with the
8250 callback
8251
8252 @see WDI_PostAssocReq
8253 @return Result of the function call
8254*/
8255WDI_Status
8256WDI_AddBASessionReq
8257(
8258 WDI_AddBASessionReqParamsType* pwdiAddBASessionReqParams,
8259 WDI_AddBASessionRspCb wdiAddBASessionRspCb,
8260 void* pUserData
8261);
8262
8263
8264/**
8265 @brief WDI_DelBAReq will be called when the upper MAC wants to
8266 inform HW that it has deleted a previously created BA
8267 session. Upon the call of this API the WLAN DAL will
8268 pack and send a HAL Del BA request message to the lower
8269 RIVA sub-system if DAL is in state STARTED.
8270
8271 In state BUSY this request will be queued. Request won't
8272 be allowed in any other state.
8273
8274 WDI_AddBAReq must have been called.
8275
8276 @param wdiDelBAReqParams: the del BA parameters as specified by
8277 the Device Interface
8278
8279 wdiDelBARspCb: callback for passing back the response of
8280 the del BA operation received from the device
8281
8282 pUserData: user data will be passed back with the
8283 callback
8284
8285 @see WDI_AddBAReq
8286 @return Result of the function call
8287*/
8288WDI_Status
8289WDI_DelBAReq
8290(
8291 WDI_DelBAReqParamsType* pwdiDelBAReqParams,
8292 WDI_DelBARspCb wdiDelBARspCb,
8293 void* pUserData
8294);
8295
8296/**
8297 @brief WDI_UpdateBeaconParamsReq will be called when the upper MAC wants to
8298 inform HW that there is a change in the beacon parameters
8299 Upon the call of this API the WLAN DAL will
8300 pack and send a UpdateBeacon Params message to the lower
8301 RIVA sub-system if DAL is in state STARTED.
8302
8303 In state BUSY this request will be queued. Request won't
8304 be allowed in any other state.
8305
8306 WDI_UpdateBeaconParamsReq must have been called.
8307
8308 @param WDI_UpdateBeaconParamsType: the Update Beacon parameters as specified by
8309 the Device Interface
8310
8311 WDI_UpdateBeaconParamsRspCb: callback for passing back the response of
8312 the Update Beacon Params operation received from the device
8313
8314 pUserData: user data will be passed back with the
8315 callback
8316
8317 @see WDI_AddBAReq
8318 @return Result of the function call
8319*/
8320
8321WDI_Status
8322WDI_UpdateBeaconParamsReq
8323(
8324 WDI_UpdateBeaconParamsType * pwdiUpdateBeaconParams,
8325 WDI_UpdateBeaconParamsRspCb wdiUpdateBeaconParamsRspCb,
8326 void* pUserData
8327);
8328
8329
8330/**
8331 @brief WDI_SendBeaconParamsReq will be called when the upper MAC wants to
8332 update the beacon template to be transmitted as BT MAP STA/IBSS/Soft AP
8333 Upon the call of this API the WLAN DAL will
8334 pack and send the beacon Template message to the lower
8335 RIVA sub-system if DAL is in state STARTED.
8336
8337 In state BUSY this request will be queued. Request won't
8338 be allowed in any other state.
8339
8340 WDI_SendBeaconParamsReq must have been called.
8341
8342 @param WDI_SendBeaconParamsType: the Update Beacon parameters as specified by
8343 the Device Interface
8344
8345 WDI_SendBeaconParamsRspCb: callback for passing back the response of
8346 the Send Beacon Params operation received from the device
8347
8348 pUserData: user data will be passed back with the
8349 callback
8350
8351 @see WDI_AddBAReq
8352 @return Result of the function call
8353*/
8354
8355WDI_Status
8356WDI_SendBeaconParamsReq
8357(
8358 WDI_SendBeaconParamsType* pwdiSendBeaconParams,
8359 WDI_SendBeaconParamsRspCb wdiSendBeaconParamsRspCb,
8360 void* pUserData
8361);
8362
8363
8364/**
8365 @brief WDI_UpdateProbeRspTemplateReq will be called when the
8366 upper MAC wants to update the probe response template to
8367 be transmitted as Soft AP
8368 Upon the call of this API the WLAN DAL will
8369 pack and send the probe rsp template message to the
8370 lower RIVA sub-system if DAL is in state STARTED.
8371
8372 In state BUSY this request will be queued. Request won't
8373 be allowed in any other state.
8374
8375
8376 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
8377 specified by the Device Interface
8378
8379 wdiSendBeaconParamsRspCb: callback for passing back the
8380 response of the Send Beacon Params operation received
8381 from the device
8382
8383 pUserData: user data will be passed back with the
8384 callback
8385
8386 @see WDI_AddBAReq
8387 @return Result of the function call
8388*/
8389
8390WDI_Status
8391WDI_UpdateProbeRspTemplateReq
8392(
8393 WDI_UpdateProbeRspTemplateParamsType* pwdiUpdateProbeRspParams,
8394 WDI_UpdateProbeRspTemplateRspCb wdiSendBeaconParamsRspCb,
8395 void* pUserData
8396);
8397
Jeff Johnson295189b2012-06-20 16:38:30 -07008398/**
8399 @brief WDI_SetP2PGONOAReq will be called when the
8400 upper MAC wants to send Notice of Absence
8401 Upon the call of this API the WLAN DAL will
8402 pack and send the probe rsp template message to the
8403 lower RIVA sub-system if DAL is in state STARTED.
8404
8405 In state BUSY this request will be queued. Request won't
8406 be allowed in any other state.
8407
8408
8409 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
8410 specified by the Device Interface
8411
8412 wdiSendBeaconParamsRspCb: callback for passing back the
8413 response of the Send Beacon Params operation received
8414 from the device
8415
8416 pUserData: user data will be passed back with the
8417 callback
8418
8419 @see WDI_AddBAReq
8420 @return Result of the function call
8421*/
8422WDI_Status
8423WDI_SetP2PGONOAReq
8424(
8425 WDI_SetP2PGONOAReqParamsType* pwdiP2PGONOAReqParams,
8426 WDI_SetP2PGONOAReqParamsRspCb wdiP2PGONOAReqParamsRspCb,
8427 void* pUserData
8428);
Jeff Johnson295189b2012-06-20 16:38:30 -07008429
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05308430/**
8431 @brief WDI_SetTDLSLinkEstablishReq will be called when the
8432 upper MAC wants to send TDLS Link Establish Request Parameters
8433 Upon the call of this API the WLAN DAL will
8434 pack and send the TDLS Link Establish Request message to the
8435 lower RIVA sub-system if DAL is in state STARTED.
8436
8437 In state BUSY this request will be queued. Request won't
8438 be allowed in any other state.
8439
8440
8441 @param pwdiTDLSLinkEstablishReqParams: TDLS Peer Parameters
8442 for Link Establishment (Used for PUAPSD , TDLS Off Channel ...)
8443
8444 wdiTDLSLinkEstablishReqRspCb: callback for passing back the
8445 response of the TDLS Link Establish request received
8446 from the device
8447
8448 pUserData: user data will be passed back with the
8449 callback
8450
8451 @see
8452 @return Result of the function call
8453*/
8454WDI_Status
8455WDI_SetTDLSLinkEstablishReq
8456(
8457 WDI_SetTDLSLinkEstablishReqParamsType* pwdiTDLSLinkEstablishReqParams,
8458 WDI_SetTDLSLinkEstablishReqParamsRspCb wdiTDLSLinkEstablishReqRspCb,
8459 void* pUserData
8460);
Jeff Johnson295189b2012-06-20 16:38:30 -07008461
8462/*========================================================================
8463
8464 Power Save APIs
8465
8466==========================================================================*/
8467
8468/**
8469 @brief WDI_SetPwrSaveCfgReq will be called when the upper MAC
8470 wants to set the power save related configurations of
8471 the WLAN Device. Upon the call of this API the WLAN DAL
8472 will pack and send a HAL Update CFG request message to
8473 the lower RIVA sub-system if DAL is in state STARTED.
8474
8475 In state BUSY this request will be queued. Request won't
8476 be allowed in any other state.
8477
8478 WDI_Start must have been called.
8479
8480 @param pwdiPowerSaveCfg: the power save cfg parameters as
8481 specified by the Device Interface
8482
8483 wdiSetPwrSaveCfgCb: callback for passing back the
8484 response of the set power save cfg operation received
8485 from the device
8486
8487 pUserData: user data will be passed back with the
8488 callback
8489
8490 @see WDI_Start
8491 @return Result of the function call
8492*/
8493WDI_Status
8494WDI_SetPwrSaveCfgReq
8495(
8496 WDI_UpdateCfgReqParamsType* pwdiPowerSaveCfg,
8497 WDI_SetPwrSaveCfgCb wdiSetPwrSaveCfgCb,
8498 void* pUserData
8499);
8500
8501/**
8502 @brief WDI_EnterImpsReq will be called when the upper MAC to
8503 request the device to get into IMPS power state. Upon
8504 the call of this API the WLAN DAL will send a HAL Enter
8505 IMPS request message to the lower RIVA sub-system if DAL
8506 is in state STARTED.
8507
8508 In state BUSY this request will be queued. Request won't
8509 be allowed in any other state.
8510
8511
8512 @param wdiEnterImpsRspCb: callback for passing back the
8513 response of the Enter IMPS operation received from the
8514 device
8515
8516 pUserData: user data will be passed back with the
8517 callback
8518
8519 @see WDI_Start
8520 @return Result of the function call
8521*/
8522WDI_Status
8523WDI_EnterImpsReq
8524(
8525 WDI_EnterImpsRspCb wdiEnterImpsRspCb,
8526 void* pUserData
8527);
8528
8529/**
8530 @brief WDI_ExitImpsReq will be called when the upper MAC to
8531 request the device to get out of IMPS power state. Upon
8532 the call of this API the WLAN DAL will send a HAL Exit
8533 IMPS request message to the lower RIVA sub-system if DAL
8534 is in state STARTED.
8535
8536 In state BUSY this request will be queued. Request won't
8537 be allowed in any other state.
8538
8539
8540
8541 @param wdiExitImpsRspCb: callback for passing back the response
8542 of the Exit IMPS operation received from the device
8543
8544 pUserData: user data will be passed back with the
8545 callback
8546
8547 @see WDI_Start
8548 @return Result of the function call
8549*/
8550WDI_Status
8551WDI_ExitImpsReq
8552(
8553 WDI_ExitImpsRspCb wdiExitImpsRspCb,
8554 void* pUserData
8555);
8556
8557/**
8558 @brief WDI_EnterBmpsReq will be called when the upper MAC to
8559 request the device to get into BMPS power state. Upon
8560 the call of this API the WLAN DAL will pack and send a
8561 HAL Enter BMPS request message to the lower RIVA
8562 sub-system if DAL is in state STARTED.
8563
8564 In state BUSY this request will be queued. Request won't
8565 be allowed in any other state.
8566
8567 WDI_PostAssocReq must have been called.
8568
8569 @param pwdiEnterBmpsReqParams: the Enter BMPS parameters as
8570 specified by the Device Interface
8571
8572 wdiEnterBmpsRspCb: callback for passing back the
8573 response of the Enter BMPS operation received from the
8574 device
8575
8576 pUserData: user data will be passed back with the
8577 callback
8578
8579 @see WDI_PostAssocReq
8580 @return Result of the function call
8581*/
8582WDI_Status
8583WDI_EnterBmpsReq
8584(
8585 WDI_EnterBmpsReqParamsType *pwdiEnterBmpsReqParams,
8586 WDI_EnterBmpsRspCb wdiEnterBmpsRspCb,
8587 void* pUserData
8588);
8589
8590/**
8591 @brief WDI_ExitBmpsReq will be called when the upper MAC to
8592 request the device to get out of BMPS power state. Upon
8593 the call of this API the WLAN DAL will pack and send a
8594 HAL Exit BMPS request message to the lower RIVA
8595 sub-system if DAL is in state STARTED.
8596
8597 In state BUSY this request will be queued. Request won't
8598 be allowed in any other state.
8599
8600 WDI_PostAssocReq must have been called.
8601
8602 @param pwdiExitBmpsReqParams: the Exit BMPS parameters as
8603 specified by the Device Interface
8604
8605 wdiExitBmpsRspCb: callback for passing back the response
8606 of the Exit BMPS operation received from the device
8607
8608 pUserData: user data will be passed back with the
8609 callback
8610
8611 @see WDI_PostAssocReq
8612 @return Result of the function call
8613*/
8614WDI_Status
8615WDI_ExitBmpsReq
8616(
8617 WDI_ExitBmpsReqParamsType *pwdiExitBmpsReqParams,
8618 WDI_ExitBmpsRspCb wdiExitBmpsRspCb,
8619 void* pUserData
8620);
8621
8622/**
8623 @brief WDI_EnterUapsdReq will be called when the upper MAC to
8624 request the device to get into UAPSD power state. Upon
8625 the call of this API the WLAN DAL will pack and send a
8626 HAL Enter UAPSD request message to the lower RIVA
8627 sub-system if DAL is in state STARTED.
8628
8629 In state BUSY this request will be queued. Request won't
8630 be allowed in any other state.
8631
8632 WDI_PostAssocReq must have been called.
8633 WDI_SetUapsdAcParamsReq must have been called.
8634
8635 @param pwdiEnterUapsdReqParams: the Enter UAPSD parameters as
8636 specified by the Device Interface
8637
8638 wdiEnterUapsdRspCb: callback for passing back the
8639 response of the Enter UAPSD operation received from the
8640 device
8641
8642 pUserData: user data will be passed back with the
8643 callback
8644
8645 @see WDI_PostAssocReq, WDI_SetUapsdAcParamsReq
8646 @return Result of the function call
8647*/
8648WDI_Status
8649WDI_EnterUapsdReq
8650(
8651 WDI_EnterUapsdReqParamsType *pwdiEnterUapsdReqParams,
8652 WDI_EnterUapsdRspCb wdiEnterUapsdRspCb,
8653 void* pUserData
8654);
8655
8656/**
8657 @brief WDI_ExitUapsdReq will be called when the upper MAC to
8658 request the device to get out of UAPSD power state. Upon
8659 the call of this API the WLAN DAL will send a HAL Exit
8660 UAPSD request message to the lower RIVA sub-system if
8661 DAL is in state STARTED.
8662
8663 In state BUSY this request will be queued. Request won't
8664 be allowed in any other state.
8665
8666 WDI_PostAssocReq must have been called.
8667
8668 @param wdiExitUapsdRspCb: callback for passing back the
8669 response of the Exit UAPSD operation received from the
8670 device
8671
8672 pUserData: user data will be passed back with the
8673 callback
8674
8675 @see WDI_PostAssocReq
8676 @return Result of the function call
8677*/
8678WDI_Status
8679WDI_ExitUapsdReq
8680(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07008681 WDI_ExitUapsdReqParamsType *pwdiExitUapsdReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07008682 WDI_ExitUapsdRspCb wdiExitUapsdRspCb,
8683 void* pUserData
8684);
8685
8686/**
8687 @brief WDI_UpdateUapsdParamsReq will be called when the upper
8688 MAC wants to set the UAPSD related configurations
8689 of an associated STA (while acting as an AP) to the WLAN
8690 Device. Upon the call of this API the WLAN DAL will pack
8691 and send a HAL Update UAPSD params request message to
8692 the lower RIVA sub-system if DAL is in state STARTED.
8693
8694 In state BUSY this request will be queued. Request won't
8695 be allowed in any other state.
8696
8697 WDI_ConfigBSSReq must have been called.
8698
8699 @param pwdiUpdateUapsdReqParams: the UAPSD parameters
8700 as specified by the Device Interface
8701
8702 wdiUpdateUapsdParamsCb: callback for passing back the
8703 response of the update UAPSD params operation received
8704 from the device
8705
8706 pUserData: user data will be passed back with the
8707 callback
8708
8709 @see WDI_ConfigBSSReq
8710 @return Result of the function call
8711*/
8712WDI_Status
8713WDI_UpdateUapsdParamsReq
8714(
8715 WDI_UpdateUapsdReqParamsType *pwdiUpdateUapsdReqParams,
8716 WDI_UpdateUapsdParamsCb wdiUpdateUapsdParamsCb,
8717 void* pUserData
8718);
8719
8720/**
8721 @brief WDI_SetUapsdAcParamsReq will be called when the upper
8722 MAC wants to set the UAPSD related configurations before
8723 requesting for enter UAPSD power state to the WLAN
8724 Device. Upon the call of this API the WLAN DAL will pack
8725 and send a HAL Set UAPSD params request message to
8726 the lower RIVA sub-system if DAL is in state STARTED.
8727
8728 In state BUSY this request will be queued. Request won't
8729 be allowed in any other state.
8730
8731 WDI_PostAssocReq must have been called.
8732
8733 @param pwdiUapsdInfo: the UAPSD parameters as specified by
8734 the Device Interface
8735
8736 wdiSetUapsdAcParamsCb: callback for passing back the
8737 response of the set UAPSD params operation received from
8738 the device
8739
8740 pUserData: user data will be passed back with the
8741 callback
8742
8743 @see WDI_PostAssocReq
8744 @return Result of the function call
8745*/
8746WDI_Status
8747WDI_SetUapsdAcParamsReq
8748(
8749 WDI_SetUapsdAcParamsReqParamsType* pwdiPowerSaveCfg,
8750 WDI_SetUapsdAcParamsCb wdiSetUapsdAcParamsCb,
8751 void* pUserData
8752);
8753
8754/**
8755 @brief WDI_ConfigureRxpFilterReq will be called when the upper
8756 MAC wants to set/reset the RXP filters for received pkts
8757 (MC, BC etc.). Upon the call of this API the WLAN DAL will pack
8758 and send a HAL configure RXP filter request message to
8759 the lower RIVA sub-system.
8760
8761 In state BUSY this request will be queued. Request won't
8762 be allowed in any other state.
8763
8764
8765 @param pwdiConfigureRxpFilterReqParams: the RXP
8766 filter as specified by the Device
8767 Interface
8768
8769 wdiConfigureRxpFilterCb: callback for passing back the
8770 response of the configure RXP filter operation received
8771 from the device
8772
8773 pUserData: user data will be passed back with the
8774 callback
8775
8776 @return Result of the function call
8777*/
8778WDI_Status
8779WDI_ConfigureRxpFilterReq
8780(
8781 WDI_ConfigureRxpFilterReqParamsType *pwdiConfigureRxpFilterReqParams,
8782 WDI_ConfigureRxpFilterCb wdiConfigureRxpFilterCb,
8783 void* pUserData
8784);
8785
8786/**
8787 @brief WDI_SetBeaconFilterReq will be called when the upper MAC
8788 wants to set the beacon filters while in power save.
8789 Upon the call of this API the WLAN DAL will pack and
8790 send a Beacon filter request message to the
8791 lower RIVA sub-system.
8792
8793 In state BUSY this request will be queued. Request won't
8794 be allowed in any other state.
8795
8796
8797 @param pwdiBeaconFilterReqParams: the beacon
8798 filter as specified by the Device
8799 Interface
8800
8801 wdiBeaconFilterCb: callback for passing back the
8802 response of the set beacon filter operation received
8803 from the device
8804
8805 pUserData: user data will be passed back with the
8806 callback
8807
8808 @return Result of the function call
8809*/
8810WDI_Status
8811WDI_SetBeaconFilterReq
8812(
8813 WDI_BeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
8814 WDI_SetBeaconFilterCb wdiBeaconFilterCb,
8815 void* pUserData
8816);
8817
8818/**
8819 @brief WDI_RemBeaconFilterReq will be called when the upper MAC
8820 wants to remove the beacon filter for perticular IE
8821 while in power save. Upon the call of this API the WLAN
8822 DAL will pack and send a remove Beacon filter request
8823 message to the lower RIVA sub-system.
8824
8825 In state BUSY this request will be queued. Request won't
8826 be allowed in any other state.
8827
8828
8829 @param pwdiBeaconFilterReqParams: the beacon
8830 filter as specified by the Device
8831 Interface
8832
8833 wdiBeaconFilterCb: callback for passing back the
8834 response of the remove beacon filter operation received
8835 from the device
8836
8837 pUserData: user data will be passed back with the
8838 callback
8839
8840 @return Result of the function call
8841*/
8842WDI_Status
8843WDI_RemBeaconFilterReq
8844(
8845 WDI_RemBeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
8846 WDI_RemBeaconFilterCb wdiBeaconFilterCb,
8847 void* pUserData
8848);
8849
8850/**
8851 @brief WDI_SetRSSIThresholdsReq will be called when the upper
8852 MAC wants to set the RSSI thresholds related
8853 configurations while in power save. Upon the call of
8854 this API the WLAN DAL will pack and send a HAL Set RSSI
8855 thresholds request message to the lower RIVA
8856 sub-system if DAL is in state STARTED.
8857
8858 In state BUSY this request will be queued. Request won't
8859 be allowed in any other state.
8860
8861 WDI_PostAssocReq must have been called.
8862
8863 @param pwdiUapsdInfo: the UAPSD parameters as specified by
8864 the Device Interface
8865
8866 wdiSetUapsdAcParamsCb: callback for passing back the
8867 response of the set UAPSD params operation received from
8868 the device
8869
8870 pUserData: user data will be passed back with the
8871 callback
8872
8873 @see WDI_PostAssocReq
8874 @return Result of the function call
8875*/
8876WDI_Status
8877WDI_SetRSSIThresholdsReq
8878(
8879 WDI_SetRSSIThresholdsReqParamsType* pwdiRSSIThresholdsParams,
8880 WDI_SetRSSIThresholdsCb wdiSetRSSIThresholdsCb,
8881 void* pUserData
8882);
8883
8884/**
8885 @brief WDI_HostOffloadReq will be called when the upper MAC
8886 wants to set the filter to minimize unnecessary host
8887 wakeup due to broadcast traffic while in power save.
8888 Upon the call of this API the WLAN DAL will pack and
8889 send a HAL host offload request message to the
8890 lower RIVA sub-system if DAL is in state STARTED.
8891
8892 In state BUSY this request will be queued. Request won't
8893 be allowed in any other state.
8894
8895 WDI_PostAssocReq must have been called.
8896
8897 @param pwdiHostOffloadParams: the host offload as specified
8898 by the Device Interface
8899
8900 wdiHostOffloadCb: callback for passing back the response
8901 of the host offload operation received from the
8902 device
8903
8904 pUserData: user data will be passed back with the
8905 callback
8906
8907 @see WDI_PostAssocReq
8908 @return Result of the function call
8909*/
8910WDI_Status
8911WDI_HostOffloadReq
8912(
8913 WDI_HostOffloadReqParamsType* pwdiHostOffloadParams,
8914 WDI_HostOffloadCb wdiHostOffloadCb,
8915 void* pUserData
8916);
8917
8918/**
8919 @brief WDI_KeepAliveReq will be called when the upper MAC
8920 wants to set the filter to send NULL or unsolicited ARP responses
8921 and minimize unnecessary host wakeups due to while in power save.
8922 Upon the call of this API the WLAN DAL will pack and
8923 send a HAL Keep Alive request message to the
8924 lower RIVA sub-system if DAL is in state STARTED.
8925
8926 In state BUSY this request will be queued. Request won't
8927 be allowed in any other state.
8928
8929 WDI_PostAssocReq must have been called.
8930
8931 @param pwdiKeepAliveParams: the Keep Alive as specified
8932 by the Device Interface
8933
8934 wdiKeepAliveCb: callback for passing back the response
8935 of the Keep Alive operation received from the
8936 device
8937
8938 pUserData: user data will be passed back with the
8939 callback
8940
8941 @see WDI_PostAssocReq
8942 @return Result of the function call
8943*/
8944WDI_Status
8945WDI_KeepAliveReq
8946(
8947 WDI_KeepAliveReqParamsType* pwdiKeepAliveParams,
8948 WDI_KeepAliveCb wdiKeepAliveCb,
8949 void* pUserData
8950);
8951
8952/**
8953 @brief WDI_WowlAddBcPtrnReq will be called when the upper MAC
8954 wants to set the Wowl Bcast ptrn to minimize unnecessary
8955 host wakeup due to broadcast traffic while in power
8956 save. Upon the call of this API the WLAN DAL will pack
8957 and send a HAL Wowl Bcast ptrn request message to the
8958 lower RIVA sub-system if DAL is in state STARTED.
8959
8960 In state BUSY this request will be queued. Request won't
8961 be allowed in any other state.
8962
8963 WDI_PostAssocReq must have been called.
8964
8965 @param pwdiWowlAddBcPtrnParams: the Wowl bcast ptrn as
8966 specified by the Device Interface
8967
8968 wdiWowlAddBcPtrnCb: callback for passing back the
8969 response of the add Wowl bcast ptrn operation received
8970 from the device
8971
8972 pUserData: user data will be passed back with the
8973 callback
8974
8975 @see WDI_PostAssocReq
8976 @return Result of the function call
8977*/
8978WDI_Status
8979WDI_WowlAddBcPtrnReq
8980(
8981 WDI_WowlAddBcPtrnReqParamsType* pwdiWowlAddBcPtrnParams,
8982 WDI_WowlAddBcPtrnCb wdiWowlAddBcPtrnCb,
8983 void* pUserData
8984);
8985
8986/**
8987 @brief WDI_WowlDelBcPtrnReq will be called when the upper MAC
8988 wants to clear the Wowl Bcast ptrn. Upon the call of
8989 this API the WLAN DAL will pack and send a HAL delete
8990 Wowl Bcast ptrn request message to the lower RIVA
8991 sub-system if DAL is in state STARTED.
8992
8993 In state BUSY this request will be queued. Request won't
8994 be allowed in any other state.
8995
8996 WDI_WowlAddBcPtrnReq must have been called.
8997
8998 @param pwdiWowlDelBcPtrnParams: the Wowl bcast ptrn as
8999 specified by the Device Interface
9000
9001 wdiWowlDelBcPtrnCb: callback for passing back the
9002 response of the del Wowl bcast ptrn operation received
9003 from the device
9004
9005 pUserData: user data will be passed back with the
9006 callback
9007
9008 @see WDI_WowlAddBcPtrnReq
9009 @return Result of the function call
9010*/
9011WDI_Status
9012WDI_WowlDelBcPtrnReq
9013(
9014 WDI_WowlDelBcPtrnReqParamsType* pwdiWowlDelBcPtrnParams,
9015 WDI_WowlDelBcPtrnCb wdiWowlDelBcPtrnCb,
9016 void* pUserData
9017);
9018
9019/**
9020 @brief WDI_WowlEnterReq will be called when the upper MAC
9021 wants to enter the Wowl state to minimize unnecessary
9022 host wakeup while in power save. Upon the call of this
9023 API the WLAN DAL will pack and send a HAL Wowl enter
9024 request message to the lower RIVA sub-system if DAL is
9025 in state STARTED.
9026
9027 In state BUSY this request will be queued. Request won't
9028 be allowed in any other state.
9029
9030 WDI_PostAssocReq must have been called.
9031
9032 @param pwdiWowlEnterReqParams: the Wowl enter info as
9033 specified by the Device Interface
9034
9035 wdiWowlEnterReqCb: callback for passing back the
9036 response of the enter Wowl operation received from the
9037 device
9038
9039 pUserData: user data will be passed back with the
9040 callback
9041
9042 @see WDI_PostAssocReq
9043 @return Result of the function call
9044*/
9045WDI_Status
9046WDI_WowlEnterReq
9047(
9048 WDI_WowlEnterReqParamsType* pwdiWowlEnterParams,
9049 WDI_WowlEnterReqCb wdiWowlEnterCb,
9050 void* pUserData
9051);
9052
9053/**
9054 @brief WDI_WowlExitReq will be called when the upper MAC
9055 wants to exit the Wowl state. Upon the call of this API
9056 the WLAN DAL will pack and send a HAL Wowl exit request
9057 message to the lower RIVA sub-system if DAL is in state
9058 STARTED.
9059
9060 In state BUSY this request will be queued. Request won't
9061 be allowed in any other state.
9062
9063 WDI_WowlEnterReq must have been called.
9064
9065 @param pwdiWowlExitReqParams: the Wowl exit info as
9066 specified by the Device Interface
9067
9068 wdiWowlExitReqCb: callback for passing back the response
9069 of the exit Wowl operation received from the device
9070
9071 pUserData: user data will be passed back with the
9072 callback
9073
9074 @see WDI_WowlEnterReq
9075 @return Result of the function call
9076*/
9077WDI_Status
9078WDI_WowlExitReq
9079(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07009080 WDI_WowlExitReqParamsType* pwdiWowlExitParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009081 WDI_WowlExitReqCb wdiWowlExitCb,
9082 void* pUserData
9083);
9084
9085/**
9086 @brief WDI_ConfigureAppsCpuWakeupStateReq will be called when
9087 the upper MAC wants to dynamically adjusts the listen
9088 interval based on the WLAN/MSM activity. Upon the call
9089 of this API the WLAN DAL will pack and send a HAL
9090 configure Apps Cpu Wakeup State request message to the
9091 lower RIVA sub-system.
9092
9093 In state BUSY this request will be queued. Request won't
9094 be allowed in any other state.
9095
9096
9097 @param pwdiConfigureAppsCpuWakeupStateReqParams: the
9098 Apps Cpu Wakeup State as specified by the
9099 Device Interface
9100
9101 wdiConfigureAppsCpuWakeupStateCb: callback for passing
9102 back the response of the configure Apps Cpu Wakeup State
9103 operation received from the device
9104
9105 pUserData: user data will be passed back with the
9106 callback
9107
9108 @return Result of the function call
9109*/
9110WDI_Status
9111WDI_ConfigureAppsCpuWakeupStateReq
9112(
9113 WDI_ConfigureAppsCpuWakeupStateReqParamsType *pwdiConfigureAppsCpuWakeupStateReqParams,
9114 WDI_ConfigureAppsCpuWakeupStateCb wdiConfigureAppsCpuWakeupStateCb,
9115 void* pUserData
9116);
9117/**
9118 @brief WDI_FlushAcReq will be called when the upper MAC wants
9119 to to perform a flush operation on a given AC. Upon the
9120 call of this API the WLAN DAL will pack and send a HAL
9121 Flush AC request message to the lower RIVA sub-system if
9122 DAL is in state STARTED.
9123
9124 In state BUSY this request will be queued. Request won't
9125 be allowed in any other state.
9126
9127
9128 @param pwdiFlushAcReqParams: the Flush AC parameters as
9129 specified by the Device Interface
9130
9131 wdiFlushAcRspCb: callback for passing back the response
9132 of the Flush AC operation received from the device
9133
9134 pUserData: user data will be passed back with the
9135 callback
9136
9137 @return Result of the function call
9138*/
9139WDI_Status
9140WDI_FlushAcReq
9141(
9142 WDI_FlushAcReqParamsType* pwdiFlushAcReqParams,
9143 WDI_FlushAcRspCb wdiFlushAcRspCb,
9144 void* pUserData
9145);
9146
9147/**
9148 @brief WDI_BtAmpEventReq will be called when the upper MAC
9149 wants to notify the lower mac on a BT AMP event. This is
9150 to inform BTC-SLM that some BT AMP event occurred. Upon
9151 the call of this API the WLAN DAL will pack and send a
9152 HAL BT AMP event request message to the lower RIVA
9153 sub-system if DAL is in state STARTED.
9154
9155 In state BUSY this request will be queued. Request won't
9156 be allowed in any other state.
9157
9158
9159 @param wdiBtAmpEventReqParams: the BT AMP event parameters as
9160 specified by the Device Interface
9161
9162 wdiBtAmpEventRspCb: callback for passing back the
9163 response of the BT AMP event operation received from the
9164 device
9165
9166 pUserData: user data will be passed back with the
9167 callback
9168
9169 @return Result of the function call
9170*/
9171WDI_Status
9172WDI_BtAmpEventReq
9173(
9174 WDI_BtAmpEventParamsType* pwdiBtAmpEventReqParams,
9175 WDI_BtAmpEventRspCb wdiBtAmpEventRspCb,
9176 void* pUserData
9177);
9178
Jeff Johnsone7245742012-09-05 17:12:55 -07009179#ifdef FEATURE_OEM_DATA_SUPPORT
9180/**
9181 @brief WDI_Start oem data Req will be called when the upper MAC
9182 wants to notify the lower mac on a oem data Req event.Upon
9183 the call of this API the WLAN DAL will pack and send a
9184 HAL OEM Data Req event request message to the lower RIVA
9185 sub-system if DAL is in state STARTED.
9186
9187 In state BUSY this request will be queued. Request won't
9188 be allowed in any other state.
9189
9190
9191 @param pWdiOemDataReqParams: the oem data req parameters as
9192 specified by the Device Interface
9193
9194 wdiStartOemDataRspCb: callback for passing back the
9195 response of the Oem Data Req received from the
9196 device
9197
9198 pUserData: user data will be passed back with the
9199 callback
9200
9201 @return Result of the function call
9202*/
9203WDI_Status
9204WDI_StartOemDataReq
9205(
9206 WDI_oemDataReqParamsType* pWdiOemDataReqParams,
9207 WDI_oemDataRspCb wdiOemDataRspCb,
9208 void* pUserData
9209);
9210#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07009211
9212/*========================================================================
9213
9214 CONTROL APIs
9215
9216==========================================================================*/
9217/**
9218 @brief WDI_SwitchChReq will be called when the upper MAC wants
9219 the WLAN HW to change the current channel of operation.
9220 Upon the call of this API the WLAN DAL will pack and
9221 send a HAL Start request message to the lower RIVA
9222 sub-system if DAL is in state STARTED.
9223
9224 In state BUSY this request will be queued. Request won't
9225 be allowed in any other state.
9226
9227 WDI_Start must have been called.
9228
9229 @param wdiSwitchChReqParams: the switch ch parameters as
9230 specified by the Device Interface
9231
9232 wdiSwitchChRspCb: callback for passing back the response
9233 of the switch ch operation received from the device
9234
9235 pUserData: user data will be passed back with the
9236 callback
9237
9238 @see WDI_Start
9239 @return Result of the function call
9240*/
9241WDI_Status
9242WDI_SwitchChReq
9243(
9244 WDI_SwitchChReqParamsType* pwdiSwitchChReqParams,
9245 WDI_SwitchChRspCb wdiSwitchChRspCb,
9246 void* pUserData
9247);
9248
9249
9250
9251/**
9252 @brief WDI_ConfigSTAReq will be called when the upper MAC
9253 wishes to add or update a STA in HW. Upon the call of
9254 this API the WLAN DAL will pack and send a HAL Start
9255 message request message to the lower RIVA sub-system if
9256 DAL is in state STARTED.
9257
9258 In state BUSY this request will be queued. Request won't
9259 be allowed in any other state.
9260
9261 WDI_Start must have been called.
9262
9263 @param wdiConfigSTAReqParams: the config STA parameters as
9264 specified by the Device Interface
9265
9266 wdiConfigSTARspCb: callback for passing back the
9267 response of the config STA operation received from the
9268 device
9269
9270 pUserData: user data will be passed back with the
9271 callback
9272
9273 @see WDI_Start
9274 @return Result of the function call
9275*/
9276WDI_Status
9277WDI_ConfigSTAReq
9278(
9279 WDI_ConfigSTAReqParamsType* pwdiConfigSTAReqParams,
9280 WDI_ConfigSTARspCb wdiConfigSTARspCb,
9281 void* pUserData
9282);
9283
9284/**
9285 @brief WDI_SetLinkStateReq will be called when the upper MAC
9286 wants to change the state of an ongoing link. Upon the
9287 call of this API the WLAN DAL will pack and send a HAL
9288 Start message request message to the lower RIVA
9289 sub-system if DAL is in state STARTED.
9290
9291 In state BUSY this request will be queued. Request won't
9292 be allowed in any other state.
9293
9294 WDI_JoinReq must have been called.
9295
9296 @param wdiSetLinkStateReqParams: the set link state parameters
9297 as specified by the Device Interface
9298
9299 wdiSetLinkStateRspCb: callback for passing back the
9300 response of the set link state operation received from
9301 the device
9302
9303 pUserData: user data will be passed back with the
9304 callback
9305
9306 @see WDI_JoinStartReq
9307 @return Result of the function call
9308*/
9309WDI_Status
9310WDI_SetLinkStateReq
9311(
9312 WDI_SetLinkReqParamsType* pwdiSetLinkStateReqParams,
9313 WDI_SetLinkStateRspCb wdiSetLinkStateRspCb,
9314 void* pUserData
9315);
9316
9317
9318/**
9319 @brief WDI_GetStatsReq will be called when the upper MAC wants
9320 to get statistics (MIB counters) from the device. Upon
9321 the call of this API the WLAN DAL will pack and send a
9322 HAL Start request message to the lower RIVA sub-system
9323 if DAL is in state STARTED.
9324
9325 In state BUSY this request will be queued. Request won't
9326 be allowed in any other state.
9327
9328 WDI_Start must have been called.
9329
9330 @param wdiGetStatsReqParams: the stats parameters to get as
9331 specified by the Device Interface
9332
9333 wdiGetStatsRspCb: callback for passing back the response
9334 of the get stats operation received from the device
9335
9336 pUserData: user data will be passed back with the
9337 callback
9338
9339 @see WDI_Start
9340 @return Result of the function call
9341*/
9342WDI_Status
9343WDI_GetStatsReq
9344(
9345 WDI_GetStatsReqParamsType* pwdiGetStatsReqParams,
9346 WDI_GetStatsRspCb wdiGetStatsRspCb,
9347 void* pUserData
9348);
9349
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08009350#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_CCX || defined(FEATURE_WLAN_LFR)
9351/**
9352 @brief WDI_GetRoamRssiReq will be called when the upper MAC wants
9353 to get roam rssi from the device. Upon
9354 the call of this API the WLAN DAL will pack and send a
9355 HAL Start request message to the lower RIVA sub-system
9356 if DAL is in state STARTED.
9357
9358 In state BUSY this request will be queued. Request won't
9359 be allowed in any other state.
9360
9361 WDI_Start must have been called.
9362
9363 @param wdiGetRoamRssiReqParams: the stats parameters to get as
9364 specified by the Device Interface
9365
9366 wdiGetRoamRssispCb: callback for passing back the response
9367 of the get stats operation received from the device
9368
9369 pUserData: user data will be passed back with the
9370 callback
9371
9372 @see WDI_Start
9373 @return Result of the function call
9374*/
9375WDI_Status
9376WDI_GetRoamRssiReq
9377(
9378 WDI_GetRoamRssiReqParamsType* pwdiGetRoamRssiReqParams,
9379 WDI_GetRoamRssiRspCb wdiGetRoamRssiRspCb,
9380 void* pUserData
9381);
9382#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07009383
9384/**
9385 @brief WDI_UpdateCfgReq will be called when the upper MAC when
9386 it wishes to change the configuration of the WLAN
9387 Device. Upon the call of this API the WLAN DAL will pack
9388 and send a HAL Update CFG request message to the lower
9389 RIVA sub-system if DAL is in state STARTED.
9390
9391 In state BUSY this request will be queued. Request won't
9392 be allowed in any other state.
9393
9394 WDI_Start must have been called.
9395
9396 @param wdiUpdateCfgReqParams: the update cfg parameters as
9397 specified by the Device Interface
9398
9399 wdiUpdateCfgsRspCb: callback for passing back the
9400 response of the update cfg operation received from the
9401 device
9402
9403 pUserData: user data will be passed back with the
9404 callback
9405
9406 @see WDI_Start
9407 @return Result of the function call
9408*/
9409WDI_Status
9410WDI_UpdateCfgReq
9411(
9412 WDI_UpdateCfgReqParamsType* pwdiUpdateCfgReqParams,
9413 WDI_UpdateCfgRspCb wdiUpdateCfgsRspCb,
9414 void* pUserData
9415);
9416
9417/**
9418 @brief WDI_NvDownloadReq will be called by the UMAC to dowload the NV blob
9419 to the NV memory.
9420
9421 @param wdiNvDownloadReqParams: the NV Download parameters as specified by
9422 the Device Interface
9423
9424 wdiNvDownloadRspCb: callback for passing back the response of
9425 the NV Download operation received from the device
9426
9427 pUserData: user data will be passed back with the
9428 callback
9429
9430 @see WDI_PostAssocReq
9431 @return Result of the function call
9432*/
9433WDI_Status
9434WDI_NvDownloadReq
9435(
9436 WDI_NvDownloadReqParamsType* pwdiNvDownloadReqParams,
9437 WDI_NvDownloadRspCb wdiNvDownloadRspCb,
9438 void* pUserData
9439);
9440/**
9441 @brief WDI_AddBAReq will be called when the upper MAC has setup
9442 successfully a BA session and needs to notify the HW for
9443 the appropriate settings to take place. Upon the call of
9444 this API the WLAN DAL will pack and send a HAL Add BA
9445 request message to the lower RIVA sub-system if DAL is
9446 in state STARTED.
9447
9448 In state BUSY this request will be queued. Request won't
9449 be allowed in any other state.
9450
9451 WDI_PostAssocReq must have been called.
9452
9453 @param wdiAddBAReqParams: the add BA parameters as specified by
9454 the Device Interface
9455
9456 wdiAddBARspCb: callback for passing back the response of
9457 the add BA operation received from the device
9458
9459 pUserData: user data will be passed back with the
9460 callback
9461
9462 @see WDI_PostAssocReq
9463 @return Result of the function call
9464*/
9465WDI_Status
9466WDI_AddBAReq
9467(
9468 WDI_AddBAReqParamsType* pwdiAddBAReqParams,
9469 WDI_AddBARspCb wdiAddBARspCb,
9470 void* pUserData
9471);
9472
9473/**
9474 @brief WDI_TriggerBAReq will be called when the upper MAC has setup
9475 successfully a BA session and needs to notify the HW for
9476 the appropriate settings to take place. Upon the call of
9477 this API the WLAN DAL will pack and send a HAL Add BA
9478 request message to the lower RIVA sub-system if DAL is
9479 in state STARTED.
9480
9481 In state BUSY this request will be queued. Request won't
9482 be allowed in any other state.
9483
9484 WDI_PostAssocReq must have been called.
9485
9486 @param wdiAddBAReqParams: the add BA parameters as specified by
9487 the Device Interface
9488
9489 wdiAddBARspCb: callback for passing back the response of
9490 the add BA operation received from the device
9491
9492 pUserData: user data will be passed back with the
9493 callback
9494
9495 @see WDI_PostAssocReq
9496 @return Result of the function call
9497*/
9498WDI_Status
9499WDI_TriggerBAReq
9500(
9501 WDI_TriggerBAReqParamsType* pwdiTriggerBAReqParams,
9502 WDI_TriggerBARspCb wdiTriggerBARspCb,
9503 void* pUserData
9504);
9505
9506
9507/**
9508 @brief WDI_IsHwFrameTxTranslationCapable checks to see if HW
9509 frame xtl is enabled for a particular STA.
9510
9511 WDI_PostAssocReq must have been called.
9512
9513 @param uSTAIdx: STA index
9514
9515 @see WDI_PostAssocReq
9516 @return Result of the function call
9517*/
9518wpt_boolean WDI_IsHwFrameTxTranslationCapable
9519(
9520 wpt_uint8 uSTAIdx
9521);
9522
9523#ifdef WLAN_FEATURE_VOWIFI_11R
9524/**
9525 @brief WDI_AggrAddTSReq will be called when the upper MAC to inform
9526 the device of a successful add TSpec negotiation for 11r. HW
9527 needs to receive the TSpec Info from the UMAC in order
9528 to configure properly the QoS data traffic. Upon the
9529 call of this API the WLAN DAL will pack and send a HAL
9530 Aggregated Add TS request message to the lower RIVA sub-system if
9531 DAL is in state STARTED.
9532
9533 In state BUSY this request will be queued. Request won't
9534 be allowed in any other state.
9535
9536 WDI_PostAssocReq must have been called.
9537
9538 @param wdiAggrAddTsReqParams: the add TS parameters as specified by
9539 the Device Interface
9540
9541 wdiAggrAddTsRspCb: callback for passing back the response of
9542 the add TS operation received from the device
9543
9544 pUserData: user data will be passed back with the
9545 callback
9546
9547 @see WDI_PostAssocReq
9548 @return Result of the function call
9549*/
9550WDI_Status
9551WDI_AggrAddTSReq
9552(
9553 WDI_AggrAddTSReqParamsType* pwdiAddTsReqParams,
9554 WDI_AggrAddTsRspCb wdiAggrAddTsRspCb,
9555 void* pUserData
9556);
9557#endif /* WLAN_FEATURE_VOWIFI_11R */
9558/**
9559 @brief WDI_STATableInit - Initializes the STA tables.
9560 Allocates the necesary memory.
9561
9562
9563 @param pWDICtx: pointer to the WLAN DAL context
9564
9565 @see
9566 @return Result of the function call
9567*/
9568
9569WDI_Status WDI_StubRunTest
9570(
9571 wpt_uint8 ucTestNo
9572);
9573
Jeff Johnson295189b2012-06-20 16:38:30 -07009574/**
9575 @brief WDI_FTMCommandReq -
9576 Route FTMRequest Command to HAL
9577
9578 @param ftmCommandReq: FTM request command body
9579 @param ftmCommandRspCb: Response CB
9580 @param pUserData: User data will be included with CB
9581
9582 @return Result of the function call
9583*/
9584WDI_Status WDI_FTMCommandReq
9585(
9586 WDI_FTMCommandReqType *ftmCommandReq,
9587 WDI_FTMCommandRspCb ftmCommandRspCb,
9588 void *pUserData
9589);
Jeff Johnson295189b2012-06-20 16:38:30 -07009590
9591/**
9592 @brief WDI_HostResumeReq will be called
9593
9594 In state BUSY this request will be queued. Request won't
9595 be allowed in any other state.
9596
9597
9598 @param pwdiResumeReqParams: as specified by
9599 the Device Interface
9600
9601 wdiResumeReqRspCb: callback for passing back the response of
9602 the Resume Req received from the device
9603
9604 pUserData: user data will be passed back with the
9605 callback
9606
9607 @see WDI_PostAssocReq
9608 @return Result of the function call
9609*/
9610WDI_Status
9611WDI_HostResumeReq
9612(
9613 WDI_ResumeParamsType* pwdiResumeReqParams,
9614 WDI_HostResumeEventRspCb wdiResumeReqRspCb,
9615 void* pUserData
9616);
9617
9618/**
9619 @brief WDI_GetAvailableResCount - Function to get the available resource
9620 for data and managemnt frames.
9621
9622 @param pContext: pointer to the WDI context
9623 @param wdiResPool: type of resource pool requesting
9624 @see
9625 @return Result of the function call
9626*/
9627
9628wpt_uint32 WDI_GetAvailableResCount
9629(
9630 void *pContext,
9631 WDI_ResPoolType wdiResPool
9632);
9633
9634/**
9635 @brief WDI_SetAddSTASelfReq will be called when the
9636 UMAC wanted to add self STA while opening any new session
9637 In state BUSY this request will be queued. Request won't
9638 be allowed in any other state.
9639
9640
9641 @param pwdiAddSTASelfParams: the add self sta parameters as
9642 specified by the Device Interface
9643
9644 pUserData: user data will be passed back with the
9645 callback
9646
9647 @see
9648 @return Result of the function call
9649*/
9650WDI_Status
9651WDI_AddSTASelfReq
9652(
9653 WDI_AddSTASelfReqParamsType* pwdiAddSTASelfReqParams,
9654 WDI_AddSTASelfParamsRspCb wdiAddSTASelfReqParamsRspCb,
9655 void* pUserData
9656);
9657
9658
9659/**
9660 @brief WDI_DelSTASelfReq will be called .
9661
9662 @param WDI_DelSTASelfReqParamsType
9663
9664 WDI_DelSTASelfRspCb: callback for passing back the
9665 response of the del sta self operation received from the
9666 device
9667
9668 pUserData: user data will be passed back with the
9669 callback
9670
9671 @see WDI_PostAssocReq
9672 @return Result of the function call
9673*/
9674WDI_Status
9675WDI_DelSTASelfReq
9676(
9677 WDI_DelSTASelfReqParamsType* pwdiDelStaSelfParams,
9678 WDI_DelSTASelfRspCb wdiDelStaSelfRspCb,
9679 void* pUserData
9680);
9681
9682/**
9683 @brief WDI_HostSuspendInd
9684
9685 Suspend Indication from the upper layer will be sent
9686 down to HAL
9687
9688 @param WDI_SuspendParamsType
9689
9690 @see
9691
9692 @return Status of the request
9693*/
9694WDI_Status
9695WDI_HostSuspendInd
9696(
9697 WDI_SuspendParamsType* pwdiSuspendIndParams
9698);
9699
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08009700/**
9701 @brief WDI_TrafficStatsInd
9702
9703 Traffic Stats from the upper layer will be sent
9704 down to HAL
9705
9706 @param WDI_TrafficStatsIndType
9707
9708 @see
9709
9710 @return Status of the request
9711*/
9712WDI_Status
9713WDI_TrafficStatsInd
9714(
9715 WDI_TrafficStatsIndType *pWdiTrafficStatsIndParams
9716);
9717
Chet Lanctot186b5732013-03-18 10:26:30 -07009718#ifdef WLAN_FEATURE_11W
9719/**
9720 @brief WDI_ExcludeUnencryptedInd
9721 Register with HAL to receive/drop unencrypted frames
9722
9723 @param WDI_ExcludeUnencryptIndType
9724
9725 @see
9726
9727 @return Status of the request
9728*/
9729WDI_Status
9730WDI_ExcludeUnencryptedInd
9731(
9732 WDI_ExcludeUnencryptIndType *pWdiExcUnencParams
9733);
9734#endif
9735
Yue Mab9c86f42013-08-14 15:59:08 -07009736/**
9737 @brief WDI_AddPeriodicTxPtrnInd
9738
9739 @param WDI_AddPeriodicTxPtrnParamsType
9740
9741 @see
9742
9743 @return Status of the request
9744*/
9745WDI_Status
9746WDI_AddPeriodicTxPtrnInd
9747(
9748 WDI_AddPeriodicTxPtrnParamsType *addPeriodicTxPtrnParams
9749);
9750
9751/**
9752 @brief WDI_DelPeriodicTxPtrnInd
9753
9754 @param WDI_DelPeriodicTxPtrnParamsType
9755
9756 @see
9757
9758 @return Status of the request
9759*/
9760WDI_Status
9761WDI_DelPeriodicTxPtrnInd
9762(
9763 WDI_DelPeriodicTxPtrnParamsType *delPeriodicTxPtrnParams
9764);
9765
Jeff Johnson295189b2012-06-20 16:38:30 -07009766#ifdef FEATURE_WLAN_SCAN_PNO
9767/**
9768 @brief WDI_SetPreferredNetworkList
9769
9770 @param pwdiPNOScanReqParams: the Set PNO as specified
9771 by the Device Interface
9772
9773 wdiPNOScanCb: callback for passing back the response
9774 of the Set PNO operation received from the
9775 device
9776
9777 pUserData: user data will be passed back with the
9778 callback
9779
9780 @see WDI_PostAssocReq
9781 @return Result of the function call
9782*/
9783WDI_Status
9784WDI_SetPreferredNetworkReq
9785(
9786 WDI_PNOScanReqParamsType* pwdiPNOScanReqParams,
9787 WDI_PNOScanCb wdiPNOScanCb,
9788 void* pUserData
9789);
9790
9791/**
9792 @brief WDI_SetRssiFilterReq
9793
9794 @param pwdiRssiFilterReqParams: the Set RSSI Filter as
9795 specified by the Device Interface
9796
9797 wdiRssiFilterCb: callback for passing back the response
9798 of the Set RSSI Filter operation received from the
9799 device
9800
9801 pUserData: user data will be passed back with the
9802 callback
9803
9804 @see WDI_PostAssocReq
9805 @return Result of the function call
9806*/
9807WDI_Status
9808WDI_SetRssiFilterReq
9809(
9810 WDI_SetRssiFilterReqParamsType* pwdiRssiFilterReqParams,
9811 WDI_RssiFilterCb wdiRssiFilterCb,
9812 void* pUserData
9813);
9814
9815/**
9816 @brief WDI_UpdateScanParams
9817
9818 @param pwdiUpdateScanParamsInfoType: the Update Scan Params as specified
9819 by the Device Interface
9820
9821 wdiUpdateScanParamsCb: callback for passing back the response
9822 of the Set PNO operation received from the
9823 device
9824
9825 pUserData: user data will be passed back with the
9826 callback
9827
9828 @see WDI_PostAssocReq
9829 @return Result of the function call
9830*/
9831WDI_Status
9832WDI_UpdateScanParamsReq
9833(
9834 WDI_UpdateScanParamsInfoType* pwdiUpdateScanParamsInfoType,
9835 WDI_UpdateScanParamsCb wdiUpdateScanParamsCb,
9836 void* pUserData
9837);
9838#endif // FEATURE_WLAN_SCAN_PNO
9839
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07009840#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
9841/**
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07009842 @brief WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07009843
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07009844 @param pwdiRoamScanOffloadReqParams: Start Roam Candidate Lookup Req as specified
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07009845 by the Device Interface
9846
9847 wdiRoamOffloadScanCb: callback for passing back the response
9848 of the Start Roam Candidate Lookup operation received from the
9849 device
9850
9851 pUserData: user data will be passed back with the
9852 callback
9853
9854 @return Result of the function call
9855*/
9856WDI_Status
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07009857WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07009858(
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07009859 WDI_RoamScanOffloadReqParamsType *pwdiRoamScanOffloadReqParams,
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07009860 WDI_RoamOffloadScanCb wdiRoamOffloadScancb,
9861 void* pUserData
9862);
9863#endif
9864
Jeff Johnson295189b2012-06-20 16:38:30 -07009865/**
9866 @brief WDI_SetTxPerTrackingReq will be called when the upper MAC
9867 wants to set the Tx Per Tracking configurations.
9868 Upon the call of this API the WLAN DAL will pack
9869 and send a HAL Set Tx Per Tracking request message to the
9870 lower RIVA sub-system if DAL is in state STARTED.
9871
9872 In state BUSY this request will be queued. Request won't
9873 be allowed in any other state.
9874
9875 @param wdiSetTxPerTrackingConf: the Set Tx PER Tracking configurations as
9876 specified by the Device Interface
9877
9878 wdiSetTxPerTrackingCb: callback for passing back the
9879 response of the set Tx PER Tracking configurations operation received
9880 from the device
9881
9882 pUserData: user data will be passed back with the
9883 callback
9884
9885 @return Result of the function call
9886*/
9887WDI_Status
9888WDI_SetTxPerTrackingReq
9889(
9890 WDI_SetTxPerTrackingReqParamsType* pwdiSetTxPerTrackingReqParams,
9891 WDI_SetTxPerTrackingRspCb pwdiSetTxPerTrackingRspCb,
9892 void* pUserData
9893);
9894
9895/**
9896 @brief WDI_SetTmLevelReq
9897 If HW Thermal condition changed, driver should react based on new
9898 HW thermal condition.
9899
9900 @param pwdiSetTmLevelReq: New thermal condition information
9901
9902 pwdiSetTmLevelRspCb: callback
9903
9904 usrData: user data will be passed back with the
9905 callback
9906
9907 @return Result of the function call
9908*/
9909WDI_Status
9910WDI_SetTmLevelReq
9911(
9912 WDI_SetTmLevelReqType *pwdiSetTmLevelReq,
9913 WDI_SetTmLevelCb pwdiSetTmLevelRspCb,
9914 void *usrData
9915);
9916
9917#ifdef WLAN_FEATURE_PACKET_FILTERING
9918/**
9919 @brief WDI_8023MulticastListReq
9920
9921 @param pwdiRcvFltPktSetMcListReqInfo: the Set 8023 Multicast
9922 List as specified by the Device Interface
9923
9924 wdi8023MulticastListCallback: callback for passing back
9925 the response of the Set 8023 Multicast List operation
9926 received from the device
9927
9928 pUserData: user data will be passed back with the
9929 callback
9930
9931 @see WDI_PostAssocReq
9932 @return Result of the function call
9933*/
9934WDI_Status
9935WDI_8023MulticastListReq
9936(
9937 WDI_RcvFltPktSetMcListReqParamsType* pwdiRcvFltPktSetMcListReqInfo,
9938 WDI_8023MulticastListCb wdi8023MulticastListCallback,
9939 void* pUserData
9940);
9941
9942/**
9943 @brief WDI_ReceiveFilterSetFilterReq
9944
9945 @param pwdiSetRcvPktFilterReqInfo: the Set Receive Filter as
9946 specified by the Device Interface
9947
9948 wdiReceiveFilterSetFilterReqCallback: callback for
9949 passing back the response of the Set Receive Filter
9950 operation received from the device
9951
9952 pUserData: user data will be passed back with the
9953 callback
9954
9955 @see WDI_PostAssocReq
9956 @return Result of the function call
9957*/
9958WDI_Status
9959WDI_ReceiveFilterSetFilterReq
9960(
9961 WDI_SetRcvPktFilterReqParamsType* pwdiSetRcvPktFilterReqInfo,
9962 WDI_ReceiveFilterSetFilterCb wdiReceiveFilterSetFilterReqCallback,
9963 void* pUserData
9964);
9965
9966/**
9967 @brief WDI_PCFilterMatchCountReq
9968
9969 @param pwdiRcvFltPktMatchCntReqInfo: get D0 PC Filter Match
9970 Count
9971
9972 wdiPCFilterMatchCountCallback: callback for passing back
9973 the response of the D0 PC Filter Match Count operation
9974 received from the device
9975
9976 pUserData: user data will be passed back with the
9977 callback
9978
9979 @see WDI_PostAssocReq
9980 @return Result of the function call
9981*/
9982WDI_Status
9983WDI_FilterMatchCountReq
9984(
9985 WDI_RcvFltPktMatchCntReqParamsType* pwdiRcvFltPktMatchCntReqInfo,
9986 WDI_FilterMatchCountCb wdiFilterMatchCountCallback,
9987 void* pUserData
9988);
9989
9990/**
9991 @brief WDI_ReceiveFilterClearFilterReq
9992
9993 @param pwdiRcvFltPktClearReqInfo: the Clear Filter as
9994 specified by the Device Interface
9995
9996 wdiReceiveFilterClearFilterCallback: callback for
9997 passing back the response of the Clear Filter
9998 operation received from the device
9999
10000 pUserData: user data will be passed back with the
10001 callback
10002
10003 @see WDI_PostAssocReq
10004 @return Result of the function call
10005*/
10006WDI_Status
10007WDI_ReceiveFilterClearFilterReq
10008(
10009 WDI_RcvFltPktClearReqParamsType* pwdiRcvFltPktClearReqInfo,
10010 WDI_ReceiveFilterClearFilterCb wdiReceiveFilterClearFilterCallback,
10011 void* pUserData
10012);
10013#endif // WLAN_FEATURE_PACKET_FILTERING
10014
10015/**
10016 @brief WDI_HALDumpCmdReq
10017 Post HAL DUMP Command Event
10018
10019 @param halDumpCmdReqParams: Hal Dump Command Body
10020 @param halDumpCmdRspCb: callback for passing back the
10021 response
10022 @param pUserData: Client Data
10023
10024 @see
10025 @return Result of the function call
10026*/
10027WDI_Status WDI_HALDumpCmdReq(
10028 WDI_HALDumpCmdReqParamsType *halDumpCmdReqParams,
10029 WDI_HALDumpCmdRspCb halDumpCmdRspCb,
10030 void *pUserData
10031);
10032
10033
10034/**
10035 @brief WDI_SetPowerParamsReq
10036
10037 @param pwdiPowerParamsReqParams: the Set Power Params as
10038 specified by the Device Interface
10039
10040 wdiPowerParamsCb: callback for passing back the response
10041 of the Set Power Params operation received from the
10042 device
10043
10044 pUserData: user data will be passed back with the
10045 callback
10046
10047 @return Result of the function call
10048*/
10049WDI_Status
10050WDI_SetPowerParamsReq
10051(
10052 WDI_SetPowerParamsReqParamsType* pwdiPowerParamsReqParams,
10053 WDI_SetPowerParamsCb wdiPowerParamsCb,
10054 void* pUserData
10055);
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +053010056/**
10057 @brief WDI_dhcpStartInd
10058 Forward the DHCP Start event
10059
10060 @param
10061
10062 wdiDHCPInd: device mode and MAC address is passed
10063
10064 @see
10065 @return Result of the function call
10066*/
10067
10068WDI_Status
10069WDI_dhcpStartInd
10070(
10071 WDI_DHCPInd *wdiDHCPInd
10072);
10073/**
10074 @brief WDI_dhcpStopReq
10075 Forward the DHCP Stop event
10076
10077 @param
10078
10079 wdiDHCPInd: device mode and MAC address is passed
10080
10081 @see
10082 @return Result of the function call
10083*/
10084
10085WDI_Status
10086WDI_dhcpStopInd
10087(
10088 WDI_DHCPInd *wdiDHCPInd
10089);
Jeff Johnson295189b2012-06-20 16:38:30 -070010090
Chittajit Mitraf5413a42013-10-18 14:20:08 -070010091/**
10092 @brief WDI_RateUpdateInd will be called when the upper MAC
10093 requests the device to update rates.
10094
10095 In state BUSY this request will be queued. Request won't
10096 be allowed in any other state.
10097
10098
10099 @param wdiRateUpdateIndParams
10100
10101
10102 @see WDI_Start
10103 @return Result of the function call
10104*/
10105WDI_Status
10106WDI_RateUpdateInd
10107(
10108 WDI_RateUpdateIndParams *wdiRateUpdateIndParams
10109);
10110
Jeff Johnson295189b2012-06-20 16:38:30 -070010111#ifdef WLAN_FEATURE_GTK_OFFLOAD
10112/**
10113 @brief WDI_GTKOffloadReq will be called when the upper MAC
10114 wants to set GTK Rekey Counter while in power save. Upon
10115 the call of this API the WLAN DAL will pack and send a
10116 HAL GTK offload request message to the lower RIVA
10117 sub-system if DAL is in state STARTED.
10118
10119 In state BUSY this request will be queued. Request won't
10120 be allowed in any other state.
10121
10122 WDI_PostAssocReq must have been called.
10123
10124 @param pwdiGtkOffloadParams: the GTK offload as specified
10125 by the Device Interface
10126
10127 wdiGtkOffloadCb: callback for passing back the response
10128 of the GTK offload operation received from the device
10129
10130 pUserData: user data will be passed back with the
10131 callback
10132
10133 @see WDI_PostAssocReq
10134 @return Result of the function call
10135*/
10136WDI_Status
10137WDI_GTKOffloadReq
10138(
10139 WDI_GtkOffloadReqMsg* pwdiGtkOffloadReqMsg,
10140 WDI_GtkOffloadCb wdiGtkOffloadCb,
10141 void* pUserData
10142);
10143
10144/**
10145 @brief WDI_GTKOffloadGetInfoReq will be called when the upper
10146 MAC wants to get GTK Rekey Counter while in power save.
10147 Upon the call of this API the WLAN DAL will pack and
10148 send a HAL GTK offload request message to the lower RIVA
10149 sub-system if DAL is in state STARTED.
10150
10151 In state BUSY this request will be queued. Request won't
10152 be allowed in any other state.
10153
10154 WDI_PostAssocReq must have been called.
10155
10156 @param pwdiGtkOffloadGetInfoReqMsg: the GTK Offload
10157 Information Message as specified by the
10158 Device Interface
10159
10160 wdiGtkOffloadGetInfoCb: callback for passing back the
10161 response of the GTK offload operation received from the
10162 device
10163
10164 pUserData: user data will be passed back with the
10165 callback
10166
10167 @see WDI_PostAssocReq
10168 @return Result of the function call
10169*/
10170WDI_Status
10171WDI_GTKOffloadGetInfoReq
10172(
10173 WDI_GtkOffloadGetInfoReqMsg* pwdiGtkOffloadGetInfoReqMsg,
10174 WDI_GtkOffloadGetInfoCb wdiGtkOffloadGetInfoCb,
10175 void* pUserData
10176);
10177#endif // WLAN_FEATURE_GTK_OFFLOAD
10178
10179/**
10180 @brief WDI_featureCapsExchangeReq
10181 Post feature capability bitmap exchange event.
10182 Host will send its own capability to FW in this req and
10183 expect FW to send its capability back as a bitmap in Response
10184
10185 @param
10186
10187 wdiFeatCapsExcRspCb: callback called on getting the response.
10188 It is kept to mantain similarity between WDI reqs and if needed, can
10189 be used in future. Currently, It is set to NULL
10190
10191 pUserData: user data will be passed back with the
10192 callback
10193
10194 @see
10195 @return Result of the function call
10196*/
10197WDI_Status
10198WDI_featureCapsExchangeReq
10199(
10200 WDI_featureCapsExchangeCb wdiFeatureCapsExchangeCb,
10201 void* pUserData
10202);
10203
10204/**
Yathish9f22e662012-12-10 14:21:35 -080010205 @brief Disable Active mode offload in Host
10206
10207 @param void
10208 @see
10209 @return void
10210*/
10211void
10212WDI_disableCapablityFeature(wpt_uint8 feature_index);
10213
10214
10215/**
Jeff Johnson295189b2012-06-20 16:38:30 -070010216 @brief WDI_getHostWlanFeatCaps
10217 WDI API that returns whether the feature passed to it as enum value in
10218 "placeHolderInCapBitmap" is supported by Host or not. It uses WDI global
10219 variable storing host capability bitmap to find this. This can be used by
10220 other moduels to decide certain things like call different APIs based on
10221 whether a particular feature is supported.
10222
10223 @param
10224
10225 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap in wlan_hal_msg.h.
10226
10227 @see
10228 @return
10229 0 - if the feature is NOT supported in host
10230 any non-zero value - if the feature is SUPPORTED in host.
10231*/
10232wpt_uint8 WDI_getHostWlanFeatCaps(wpt_uint8 feat_enum_value);
10233
10234/**
10235 @brief WDI_getFwWlanFeatCaps
10236 WDI API that returns whether the feature passed to it as enum value in
10237 "placeHolderInCapBitmap" is supported by FW or not. It uses WDI global
10238 variable storing host capability bitmap to find this. This can be used by
10239 other moduels to decide certain things like call different APIs based on
10240 whether a particular feature is supported.
10241
10242 @param
10243
Jeff Johnsone7245742012-09-05 17:12:55 -070010244 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap
10245 in wlan_hal_msg.h.
Jeff Johnson295189b2012-06-20 16:38:30 -070010246
10247 @see
10248 @return
10249 0 - if the feature is NOT supported in FW
10250 any non-zero value - if the feature is SUPPORTED in FW.
10251*/
10252wpt_uint8 WDI_getFwWlanFeatCaps(wpt_uint8 feat_enum_value);
10253
10254/**
10255 @brief WDI_GetWcnssCompiledApiVersion - Function to get wcnss compiled
10256 api version
10257
10258 @param WDI_WlanVersionType: Wlan version structure
10259 @see
10260 @return none
10261*/
10262
10263void WDI_GetWcnssCompiledApiVersion
10264(
10265 WDI_WlanVersionType *pWcnssApiVersion
10266);
10267
Mohit Khanna4a70d262012-09-11 16:30:12 -070010268#ifdef WLAN_FEATURE_11AC
10269WDI_Status
10270WDI_UpdateVHTOpModeReq
10271(
10272 WDI_UpdateVHTOpMode *pData,
10273 WDI_UpdateVHTOpModeCb wdiUpdateVHTOpModeCb,
10274 void* pUserData
10275);
Jeff Johnson295189b2012-06-20 16:38:30 -070010276
Mohit Khanna4a70d262012-09-11 16:30:12 -070010277#endif
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070010278
10279/**
10280 @brief WDI_TransportChannelDebug -
10281 Display DXE Channel debugging information
10282 User may request to display DXE channel snapshot
10283 Or if host driver detects any abnormal stcuk may display
10284
Jeff Johnsonb88db982012-12-10 13:34:59 -080010285 @param displaySnapshot : Display DXE snapshot option
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070010286 @param enableStallDetect : Enable stall detect feature
10287 This feature will take effect to data performance
10288 Not integrate till fully verification
10289 @see
10290 @return none
10291*/
10292void WDI_TransportChannelDebug
10293(
10294 wpt_boolean displaySnapshot,
Madan Mohan Koyyalamudi24a00f92012-10-22 15:21:02 -070010295 wpt_boolean toggleStallDetect
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070010296);
10297
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -070010298/**
10299 @brief WDI_SsrTimerCB
10300 Callback function for SSR timer, if this is called then the graceful
10301 shutdown for Riva did not happen.
10302
10303 @param pUserData : user data to timer
10304
10305 @see
10306 @return none
10307*/
10308void
10309WDI_SsrTimerCB
10310(
10311 void *pUserData
10312);
10313
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -070010314/**
10315 @brief WDI_SetEnableSSR -
10316 This API is called to enable/disable SSR on WDI timeout.
10317
10318 @param enableSSR : enable/disable SSR
10319
10320 @see
10321 @return none
10322*/
10323void WDI_SetEnableSSR(wpt_boolean enableSSR);
10324
Leo Chang9056f462013-08-01 19:21:11 -070010325#ifdef FEATURE_WLAN_LPHB
10326/**
10327 @brief WDI_LPHBConfReq
10328 This API is called to config FW LPHB rule
10329
10330 @param lphbconfParam : LPHB rule should config to FW
10331 usrData : Client context
10332 lphbCfgCb : Configuration status callback
10333 @see
10334 @return SUCCESS or FAIL
10335*/
10336WDI_Status WDI_LPHBConfReq
10337(
10338 void *lphbconfParam,
10339 void *usrData,
10340 WDI_LphbCfgCb lphbCfgCb
10341);
10342#endif /* FEATURE_WLAN_LPHB */
Rajeev79dbe4c2013-10-05 11:03:42 +053010343
10344#ifdef FEATURE_WLAN_BATCH_SCAN
10345/**
10346 @brief WDI_SetBatchScanReq
10347 This API is called to set batch scan request in FW
10348
10349 @param pBatchScanReqParam : pointer to set batch scan re param
10350 usrData : Client context
10351 setBatchScanRspCb : set batch scan resp callback
10352 @see
10353 @return SUCCESS or FAIL
10354*/
10355WDI_Status WDI_SetBatchScanReq
10356(
10357 void *pBatchScanReqParam,
10358 void *usrData,
10359 WDI_SetBatchScanCb setBatchScanRspCb
10360);
10361
10362/**
10363 @brief WDI_StopBatchScanInd
10364
10365 @param none
10366
10367 @see
10368
10369 @return Status of the request
10370*/
10371WDI_Status
10372WDI_StopBatchScanInd(WDI_StopBatchScanIndType *pWdiReq);
10373
10374/**
10375 @brief WDI_TriggerBatchScanResultInd
10376 This API is called to pull batch scan result from FW
10377
10378 @param pBatchScanReqParam : pointer to trigger batch scan ind param
10379 usrData : Client context
10380 setBatchScanRspCb : get batch scan resp callback
10381 @see
10382 @return SUCCESS or FAIL
10383*/
10384WDI_Status
10385WDI_TriggerBatchScanResultInd(WDI_TriggerBatchScanResultIndType *pWdiReq);
10386
10387
10388#endif /*FEATURE_WLAN_BATCH_SCAN*/
10389
Sandeep Puligilla8b8b74b2014-02-10 16:39:05 +053010390/**
10391 @brief wdi_HT40OBSSScanInd
10392 This API is called to start OBSS scan
10393
10394 @param pWdiReq : pointer to get ind param
10395 @see
10396 @return SUCCESS or FAIL
10397*/
10398
10399WDI_Status WDI_HT40OBSSScanInd(WDI_HT40ObssScanParamsType *pWdiReq);
10400
10401/**
10402 @brief wdi_HT40OBSSStopScanInd
10403 This API is called to stop OBSS scan
10404
10405 @param bssIdx : bssIdx to stop
10406 @see
10407 @return SUCCESS or FAIL
10408*/
10409
10410WDI_Status WDI_HT40OBSSStopScanInd(wpt_uint8 bssIdx);
10411
Jeff Johnson295189b2012-06-20 16:38:30 -070010412#ifdef __cplusplus
10413 }
10414#endif
10415
Jeff Johnson295189b2012-06-20 16:38:30 -070010416#endif /* #ifndef WLAN_QCT_WDI_H */