blob: f7656ef25a1d15e0d98769d785de20b0c2d0376d [file] [log] [blame]
Jeff Johnson295189b2012-06-20 16:38:30 -07001/*
Kiet Lam1ed83fc2014-02-19 01:15:45 -08002 * Copyright (c) 2012-2014 The Linux Foundation. All rights reserved.
3 *
4 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
5 *
6 *
7 * Permission to use, copy, modify, and/or distribute this software for
8 * any purpose with or without fee is hereby granted, provided that the
9 * above copyright notice and this permission notice appear in all
10 * copies.
11 *
12 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
13 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
14 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
15 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
16 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
17 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
18 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19 * PERFORMANCE OF THIS SOFTWARE.
20 */
21
22/*
Kiet Lama7f454d2014-07-24 12:04:06 -070023 * This file was originally distributed by Qualcomm Atheros, Inc.
24 * under proprietary terms before Copyright ownership was assigned
25 * to the Linux Foundation.
Kiet Lam1ed83fc2014-02-19 01:15:45 -080026 */
27
Jeff Johnson295189b2012-06-20 16:38:30 -070028
Kiet Lama7f454d2014-07-24 12:04:06 -070029
30
Jeff Johnson295189b2012-06-20 16:38:30 -070031#ifndef WLAN_QCT_WDI_H
32#define WLAN_QCT_WDI_H
33
34/*===========================================================================
35
36 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
37 E X T E R N A L A P I
38
39
40DESCRIPTION
41 This file contains the external API exposed by the wlan transport layer
42 module.
43
44
45 Copyright (c) 2010-2011 QUALCOMM Incorporated.
46 All Rights Reserved.
47 Qualcomm Confidential and Proprietary
48===========================================================================*/
49
50
51/*===========================================================================
52
53 EDIT HISTORY FOR FILE
54
55
56 This section contains comments describing changes made to the module.
57 Notice that changes are listed in reverse chronological order.
58
59
60 $Header:$ $DateTime: $ $Author: $
61
62
63when who what, where, why
64-------- --- ----------------------------------------------------------
6510/05/11 hap Adding support for Keep Alive
6608/04/10 lti Created module.
67
68===========================================================================*/
69
70
71
72/*===========================================================================
73
74 INCLUDE FILES FOR MODULE
75
76===========================================================================*/
77
78/*----------------------------------------------------------------------------
79 * Include Files
80 * -------------------------------------------------------------------------*/
81#include "wlan_qct_pal_api.h"
82#include "wlan_qct_pal_type.h"
83#include "wlan_qct_pack_align.h"
84#include "wlan_qct_wdi_cfg.h"
85
86/*----------------------------------------------------------------------------
87 * Preprocessor Definitions and Constants
88 * -------------------------------------------------------------------------*/
89#ifdef __cplusplus
90 extern "C" {
91#endif
92
93/* MAC ADDRESS LENGTH - per spec*/
94#define WDI_MAC_ADDR_LEN 6
95
96/* Max number of 11b rates -> 1,2,5.5,11 */
97#define WDI_NUM_11B_RATES 4
98
99/* Max number of 11g rates -> 6,9,12,18,24,36,48,54*/
100#define WDI_NUM_11A_RATES 8
101
102/* Max number of legacy rates -> 72, 96, 108*/
103#define WDI_NUM_POLARIS_RATES 3
104
105/* Max supported MCS set*/
106#define WDI_MAC_MAX_SUPPORTED_MCS_SET 16
107
108/*Max number of Access Categories for QoS - per spec */
109#define WDI_MAX_NO_AC 4
110
111/*Max. size for reserving the Beacon Template */
112#define WDI_BEACON_TEMPLATE_SIZE 0x180
113
114#define WDI_WOWL_BCAST_PATTERN_MAX_SIZE 128
115
116#define WDI_WOWL_BCAST_MAX_NUM_PATTERNS 16
117
118#define WDI_MAX_SSID_SIZE 32
119
120/* The shared memory between WDI and HAL is 4K so maximum data can be transferred
121from WDI to HAL is 4K.This 4K should also include the Message header so sending 4K
122of NV fragment is nt possbile.The next multiple of 1Kb is 3K */
123
124#define FRAGMENT_SIZE 3072
125
126/* Macro to find the total number fragments of the NV Image*/
Madan Mohan Koyyalamudia53c4dc2012-11-13 10:35:42 -0800127#define TOTALFRAGMENTS(x) (((x % FRAGMENT_SIZE) == 0) ? (x / FRAGMENT_SIZE):((x / FRAGMENT_SIZE) + 1))
Jeff Johnson295189b2012-06-20 16:38:30 -0700128
129/* Beacon Filter Length*/
Abhishek Singh5fef4042014-11-25 18:33:00 +0530130#define WDI_BEACON_FILTER_LEN 90
Jeff Johnson295189b2012-06-20 16:38:30 -0700131
132/* Coex Indication data size - should match WLAN_COEX_IND_DATA_SIZE */
133#define WDI_COEX_IND_DATA_SIZE (4)
134
135#define WDI_CIPHER_SEQ_CTR_SIZE 6
136
137#define WDI_NUM_BSSID 2
138
139/*Version string max length (including NUL) */
140#define WDI_VERSION_LENGTH 64
141
142
143/*WDI Response timeout - how long will WDI wait for a response from the device
144 - it should be large enough to allow any other failure mechanism to kick
145 in before we get to a timeout (ms units)*/
146#define WDI_RESPONSE_TIMEOUT 10000
147
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -0700148/* SSR timeout - If Riva initiated SSR doesn't happen during this time, then the
149 * Apps initiated SSR will be performed */
150#define WDI_SSR_TIMEOUT 5000
151
Jeff Johnson295189b2012-06-20 16:38:30 -0700152#define WDI_SET_POWER_STATE_TIMEOUT 10000 /* in msec a very high upper limit */
153
Yue Mab9c86f42013-08-14 15:59:08 -0700154/* Periodic Tx pattern offload feature */
155#define PERIODIC_TX_PTRN_MAX_SIZE 1536
156#define MAXNUM_PERIODIC_TX_PTRNS 6
157
Jeff Johnson295189b2012-06-20 16:38:30 -0700158/*============================================================================
159 * GENERIC STRUCTURES
160
161============================================================================*/
162
163/*---------------------------------------------------------------------------
164 WDI Version Information
165---------------------------------------------------------------------------*/
166typedef struct
167{
168 wpt_uint8 revision;
169 wpt_uint8 version;
170 wpt_uint8 minor;
171 wpt_uint8 major;
172} WDI_WlanVersionType;
173
174/*---------------------------------------------------------------------------
175 WDI Device Capability
176---------------------------------------------------------------------------*/
177typedef struct
178{
179 /*If this flag is true it means that the device can support 802.3/ETH2 to
180 802.11 translation*/
181 wpt_boolean bFrameXtlSupported;
182
183 /*Maximum number of BSSes supported by the Device */
184 wpt_uint8 ucMaxBSSSupported;
185
186 /*Maximum number of stations supported by the Device */
187 wpt_uint8 ucMaxSTASupported;
188}WDI_DeviceCapabilityType;
189
190/*---------------------------------------------------------------------------
191 WDI Channel Offset
192---------------------------------------------------------------------------*/
193typedef enum
194{
195 WDI_SECONDARY_CHANNEL_OFFSET_NONE = 0,
196 WDI_SECONDARY_CHANNEL_OFFSET_UP = 1,
Jeff Johnsone7245742012-09-05 17:12:55 -0700197 WDI_SECONDARY_CHANNEL_OFFSET_DOWN = 3,
198#ifdef WLAN_FEATURE_11AC
199 WDI_CHANNEL_20MHZ_LOW_40MHZ_CENTERED = 4, //20/40MHZ offset LOW 40/80MHZ offset CENTERED
200 WDI_CHANNEL_20MHZ_CENTERED_40MHZ_CENTERED = 5, //20/40MHZ offset CENTERED 40/80MHZ offset CENTERED
201 WDI_CHANNEL_20MHZ_HIGH_40MHZ_CENTERED = 6, //20/40MHZ offset HIGH 40/80MHZ offset CENTERED
202 WDI_CHANNEL_20MHZ_LOW_40MHZ_LOW = 7,//20/40MHZ offset LOW 40/80MHZ offset LOW
203 WDI_CHANNEL_20MHZ_HIGH_40MHZ_LOW = 8, //20/40MHZ offset HIGH 40/80MHZ offset LOW
204 WDI_CHANNEL_20MHZ_LOW_40MHZ_HIGH = 9, //20/40MHZ offset LOW 40/80MHZ offset HIGH
205 WDI_CHANNEL_20MHZ_HIGH_40MHZ_HIGH = 10,//20/40MHZ offset-HIGH 40/80MHZ offset HIGH
206#endif
207 WDI_SECONDARY_CHANNEL_OFFSET_MAX
Jeff Johnson295189b2012-06-20 16:38:30 -0700208}WDI_HTSecondaryChannelOffset;
209
210/*---------------------------------------------------------------------------
211 WDI_MacFrameCtl
212 Frame control field format (2 bytes)
213---------------------------------------------------------------------------*/
214typedef struct
215{
216 wpt_uint8 protVer :2;
217 wpt_uint8 type :2;
218 wpt_uint8 subType :4;
219
220 wpt_uint8 toDS :1;
221 wpt_uint8 fromDS :1;
222 wpt_uint8 moreFrag :1;
223 wpt_uint8 retry :1;
224 wpt_uint8 powerMgmt :1;
225 wpt_uint8 moreData :1;
226 wpt_uint8 wep :1;
227 wpt_uint8 order :1;
228
229} WDI_MacFrameCtl;
230
231/*---------------------------------------------------------------------------
232 WDI Sequence control field
233---------------------------------------------------------------------------*/
234typedef struct
235{
236 wpt_uint8 fragNum : 4;
237 wpt_uint8 seqNumLo : 4;
238 wpt_uint8 seqNumHi : 8;
239} WDI_MacSeqCtl;
240
241/*---------------------------------------------------------------------------
242 Management header format
243---------------------------------------------------------------------------*/
244typedef struct
245{
246 WDI_MacFrameCtl fc;
247 wpt_uint8 durationLo;
248 wpt_uint8 durationHi;
249 wpt_uint8 da[WDI_MAC_ADDR_LEN];
250 wpt_uint8 sa[WDI_MAC_ADDR_LEN];
251 wpt_macAddr bssId;
252 WDI_MacSeqCtl seqControl;
253} WDI_MacMgmtHdr;
254
255/*---------------------------------------------------------------------------
256 NV Blob management sturcture
257 ---------------------------------------------------------------------------*/
258
259typedef struct
260{
261 /* NV image fragments count */
262 wpt_uint16 usTotalFragment;
263
264 /* NV fragment size */
265 wpt_uint16 usFragmentSize;
266
267 /* current fragment to be sent */
268 wpt_uint16 usCurrentFragment;
269
270} WDI_NvBlobInfoParams;
271
272
273/*---------------------------------------------------------------------------
274 Data path enums memory pool resource
275 ---------------------------------------------------------------------------*/
276
277typedef enum
278{
279 /* managment resource pool ID */
280 WDI_MGMT_POOL_ID = 0,
281 /* Data resource pool ID */
282 WDI_DATA_POOL_ID = 1
283}WDI_ResPoolType;
284
285/*============================================================================
286 * GENERIC STRUCTURES - END
287 ============================================================================*/
288
289/*----------------------------------------------------------------------------
290 * Type Declarations
291 * -------------------------------------------------------------------------*/
292/*---------------------------------------------------------------------------
293 WDI Status
294---------------------------------------------------------------------------*/
295typedef enum
296{
297 WDI_STATUS_SUCCESS, /* Operation has completed successfully*/
298 WDI_STATUS_SUCCESS_SYNC, /* Operation has completed successfully in a
299 synchronous way - no rsp will be generated*/
300 WDI_STATUS_PENDING, /* Operation result is pending and will be
301 provided asynchronously through the Req Status
302 Callback */
303 WDI_STATUS_E_FAILURE, /* Operation has ended in a generic failure*/
304 WDI_STATUS_RES_FAILURE, /* Operation has ended in a resource failure*/
305 WDI_STATUS_MEM_FAILURE, /* Operation has ended in a memory allocation
306 failure*/
307 WDI_STATUS_E_NOT_ALLOWED, /* Operation is not allowed in the current state
308 of the driver*/
309 WDI_STATUS_E_NOT_IMPLEMENT, /* Operation is not yet implemented*/
310
311 WDI_STATUS_DEV_INTERNAL_FAILURE, /*An internal error has occurred in the device*/
312 WDI_STATUS_MAX
313
314}WDI_Status;
315
316
317/*---------------------------------------------------------------------------
318 WDI_ReqStatusCb
319
320 DESCRIPTION
321
322 This callback is invoked by DAL to deliver to UMAC the result of posting
323 a previous request for which the return status was PENDING.
324
325 PARAMETERS
326
327 IN
328 wdiStatus: response status received from the Control Transport
329 pUserData: user data
330
331
332
333 RETURN VALUE
334 The result code associated with performing the operation
335---------------------------------------------------------------------------*/
336typedef void (*WDI_ReqStatusCb)(WDI_Status wdiStatus,
337 void* pUserData);
338
339/*---------------------------------------------------------------------------
340 WDI_LowLevelIndEnumType
341 Types of indication that can be posted to UMAC by DAL
342---------------------------------------------------------------------------*/
343typedef enum
344{
345 /*When RSSI monitoring is enabled of the Lower MAC and a threshold has been
346 passed. */
347 WDI_RSSI_NOTIFICATION_IND,
348
349 /*Link loss in the low MAC */
350 WDI_MISSED_BEACON_IND,
351
352 /*when hardware has signaled an unknown addr2 frames. The indication will
353 contain info from frames to be passed to the UMAC, this may use this info to
354 deauth the STA*/
355 WDI_UNKNOWN_ADDR2_FRAME_RX_IND,
356
357 /*MIC Failure detected by HW*/
358 WDI_MIC_FAILURE_IND,
359
360 /*Fatal Error Ind*/
361 WDI_FATAL_ERROR_IND,
362
363 /*Delete Station Ind*/
364 WDI_DEL_STA_IND,
365
366 /*Indication from Coex*/
367 WDI_COEX_IND,
368
369 /* Indication for Tx Complete */
370 WDI_TX_COMPLETE_IND,
371
372 /*.P2P_NOA_Attr_Indication */
373 WDI_P2P_NOA_ATTR_IND,
374
375 /* Preferred Network Found Indication */
376 WDI_PREF_NETWORK_FOUND_IND,
377
378 WDI_WAKE_REASON_IND,
379
380 /* Tx PER Tracking Indication */
381 WDI_TX_PER_HIT_IND,
Viral Modid86bde22012-12-10 13:09:21 -0800382
Viral Modid86bde22012-12-10 13:09:21 -0800383 /* P2P_NOA_Start_Indication */
384 WDI_P2P_NOA_START_IND,
Viral Modid86bde22012-12-10 13:09:21 -0800385
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530386 /* TDLS_Indication */
387 WDI_TDLS_IND,
388
Leo Changd9df8aa2013-09-26 13:32:26 -0700389 /* LPHB Indication from FW to umac */
390 WDI_LPHB_IND,
Leo Chang9056f462013-08-01 19:21:11 -0700391
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700392 /* IBSS Peer Inactivity Indication */
393 WDI_IBSS_PEER_INACTIVITY_IND,
394
Yue Mab9c86f42013-08-14 15:59:08 -0700395 /* Periodic Tx Pattern FW Indication */
396 WDI_PERIODIC_TX_PTRN_FW_IND,
397
Rajeev79dbe4c2013-10-05 11:03:42 +0530398#ifdef FEATURE_WLAN_BATCH_SCAN
399 /*Batch scan result indication from FW*/
400 WDI_BATCH_SCAN_RESULT_IND,
401#endif
402
Leo Chang0b0e45a2013-12-15 15:18:55 -0800403#ifdef FEATURE_WLAN_CH_AVOID
404 WDI_CH_AVOID_IND,
405#endif /* FEATURE_WLAN_CH_AVOID */
Sunil Duttbd736ed2014-05-26 21:19:41 +0530406#ifdef WLAN_FEATURE_LINK_LAYER_STATS
407 WDI_LL_STATS_RESULTS_IND,
408#endif
Dino Mycle41bdc942014-06-10 11:30:24 +0530409#ifdef WLAN_FEATURE_EXTSCAN
410 WDI_EXTSCAN_PROGRESS_IND,
411 WDI_EXTSCAN_SCAN_AVAILABLE_IND,
412 WDI_EXTSCAN_SCAN_RESULT_IND,
413 WDI_EXTSCAN_GET_CAPABILITIES_IND,
414 WDI_EXTSCAN_BSSID_HOTLIST_RESULT_IND,
415 WDI_EXTSCAN_SIGN_RSSI_RESULT_IND,
416#endif
Abhishek Singh66c16762014-08-14 19:13:19 +0530417 /*Delete BA Ind*/
418 WDI_DEL_BA_IND,
Leo Chang0b0e45a2013-12-15 15:18:55 -0800419
Jeff Johnson295189b2012-06-20 16:38:30 -0700420 WDI_MAX_IND
421}WDI_LowLevelIndEnumType;
422
423
424/*---------------------------------------------------------------------------
425 WDI_LowRSSIThIndType
426---------------------------------------------------------------------------*/
427typedef struct
428{
429 /*Positive crossing of Rssi Thresh1*/
430 wpt_uint32 bRssiThres1PosCross : 1;
431 /*Negative crossing of Rssi Thresh1*/
432 wpt_uint32 bRssiThres1NegCross : 1;
433 /*Positive crossing of Rssi Thresh2*/
434 wpt_uint32 bRssiThres2PosCross : 1;
435 /*Negative crossing of Rssi Thresh2*/
436 wpt_uint32 bRssiThres2NegCross : 1;
437 /*Positive crossing of Rssi Thresh3*/
438 wpt_uint32 bRssiThres3PosCross : 1;
439 /*Negative crossing of Rssi Thresh3*/
440 wpt_uint32 bRssiThres3NegCross : 1;
441
Srinivasdaaec712012-12-12 15:59:44 -0800442 wpt_uint32 avgRssi : 8;
443 wpt_uint32 bReserved : 18;
Jeff Johnson295189b2012-06-20 16:38:30 -0700444
445}WDI_LowRSSIThIndType;
446
447
448/*---------------------------------------------------------------------------
449 WDI_UnkAddr2FrmRxIndType
450---------------------------------------------------------------------------*/
451typedef struct
452{
453 /*Rx Bd data of the unknown received addr2 frame.*/
454 void* bufRxBd;
455
456 /*Buffer Length*/
457 wpt_uint16 usBufLen;
458}WDI_UnkAddr2FrmRxIndType;
459
460/*---------------------------------------------------------------------------
461 WDI_DeleteSTAIndType
462---------------------------------------------------------------------------*/
463typedef struct
464{
465 /*ASSOC ID, as assigned by UMAC*/
466 wpt_uint16 usAssocId;
467
468 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
469 wpt_uint8 ucSTAIdx;
470
471 /*BSSID of STA*/
472 wpt_macAddr macBSSID;
473
474 /*MAC ADDR of STA*/
475 wpt_macAddr macADDR2;
476
477 /* To unify the keepalive / unknown A2 / tim-based disa*/
478 wpt_uint16 wptReasonCode;
479
480}WDI_DeleteSTAIndType;
481
482/*---------------------------------------------------------------------------
483 WDI_MicFailureIndType
484---------------------------------------------------------------------------*/
485typedef struct
486{
487 /*current BSSID*/
488 wpt_macAddr bssId;
489
490 /*Source mac address*/
491 wpt_macAddr macSrcAddr;
492
493 /*Transmitter mac address*/
494 wpt_macAddr macTaAddr;
495
496 /*Destination mac address*/
497 wpt_macAddr macDstAddr;
498
499 /*Multicast flag*/
500 wpt_uint8 ucMulticast;
501
502 /*First byte of IV*/
503 wpt_uint8 ucIV1;
504
505 /*Key Id*/
506 wpt_uint8 keyId;
507
508 /*Sequence Number*/
509 wpt_uint8 TSC[WDI_CIPHER_SEQ_CTR_SIZE];
510
511 /*receive address */
512 wpt_macAddr macRxAddr;
513}WDI_MicFailureIndType;
514
515/*---------------------------------------------------------------------------
516 WDI_CoexIndType
517---------------------------------------------------------------------------*/
518typedef struct
519{
520 wpt_uint32 coexIndType;
521 wpt_uint32 coexIndData[WDI_COEX_IND_DATA_SIZE];
522} WDI_CoexIndType;
523
524/*---------------------------------------------------------------------------
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +0530525 WDI_DHCPInd
526---------------------------------------------------------------------------*/
527
528typedef struct
529{
530 wpt_uint8 device_mode;
531 wpt_uint8 macAddr[WDI_MAC_ADDR_LEN];
532}WDI_DHCPInd;
533
534/*---------------------------------------------------------------------------
535
Jeff Johnson295189b2012-06-20 16:38:30 -0700536 WDI_MacSSid
537---------------------------------------------------------------------------*/
538typedef struct
539{
540 wpt_uint8 ucLength;
541 wpt_uint8 sSSID[WDI_MAX_SSID_SIZE];
542} WDI_MacSSid;
543
544#ifdef FEATURE_WLAN_SCAN_PNO
545/*---------------------------------------------------------------------------
546 WDI_PrefNetworkFoundInd
547---------------------------------------------------------------------------*/
548typedef struct
549{
550 /* Network that was found with the highest RSSI*/
Srikant Kuppa066904f2013-05-07 13:56:02 -0700551 WDI_MacSSid ssId;
Jeff Johnson295189b2012-06-20 16:38:30 -0700552 /* Indicates the RSSI */
Srikant Kuppa066904f2013-05-07 13:56:02 -0700553 wpt_uint8 rssi;
554 wpt_uint16 frameLength;
555 wpt_uint8 *pData;
Jeff Johnson295189b2012-06-20 16:38:30 -0700556} WDI_PrefNetworkFoundInd;
557#endif // FEATURE_WLAN_SCAN_PNO
558
Jeff Johnson295189b2012-06-20 16:38:30 -0700559/*---------------------------------------------------------------------------
560 *WDI_P2pNoaAttrIndType
561 *-------------------------------------------------------------------------*/
Jeff Johnson295189b2012-06-20 16:38:30 -0700562typedef struct
563{
564 wpt_uint8 ucIndex ;
565 wpt_uint8 ucOppPsFlag ;
566 wpt_uint16 usCtWin ;
567
568 wpt_uint16 usNoa1IntervalCnt;
569 wpt_uint16 usRsvd1 ;
570 wpt_uint32 uslNoa1Duration;
571 wpt_uint32 uslNoa1Interval;
572 wpt_uint32 uslNoa1StartTime;
573
574 wpt_uint16 usNoa2IntervalCnt;
575 wpt_uint16 usRsvd2;
576 wpt_uint32 uslNoa2Duration;
577 wpt_uint32 uslNoa2Interval;
578 wpt_uint32 uslNoa2StartTime;
579
580 wpt_uint32 status;
581}WDI_P2pNoaAttrIndType;
Viral Modid86bde22012-12-10 13:09:21 -0800582
583/*---------------------------------------------------------------------------
584 *WDI_P2pNoaStartIndType
585 *-------------------------------------------------------------------------*/
586typedef struct
587{
588 wpt_uint32 status;
589 wpt_uint32 bssIdx;
590}WDI_P2pNoaStartIndType;
591
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530592/*---------------------------------------------------------------------------
593 *WDI_TdlsIndType
594 *-------------------------------------------------------------------------*/
595typedef struct
596{
597 wpt_uint16 status;
598 wpt_uint16 assocId;
599 wpt_uint16 staIdx;
600 wpt_uint16 reasonCode;
601}WDI_TdlsIndType;
Jeff Johnson295189b2012-06-20 16:38:30 -0700602
603#ifdef WLAN_WAKEUP_EVENTS
604/*---------------------------------------------------------------------------
605 WDI_WakeReasonIndType
606---------------------------------------------------------------------------*/
607typedef struct
608{
609 wpt_uint32 ulReason; /* see tWakeReasonType */
610 wpt_uint32 ulReasonArg; /* argument specific to the reason type */
611 wpt_uint32 ulStoredDataLen; /* length of optional data stored in this message, in case
612 HAL truncates the data (i.e. data packets) this length
613 will be less than the actual length */
614 wpt_uint32 ulActualDataLen; /* actual length of data */
615 wpt_uint8 aDataStart[1]; /* variable length start of data (length == storedDataLen)
616 see specific wake type */
617} WDI_WakeReasonIndType;
618#endif // WLAN_WAKEUP_EVENTS
619
620/*---------------------------------------------------------------------------
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800621 WDI_MissedBeaconIndType
622-----------------------------------------------------------------------------*/
623typedef struct
624{
625 wpt_uint8 bssIdx; /*bssidx on which beacon is missed*/
626} WDI_MissedBeaconIndType;
627
Leo Chang9056f462013-08-01 19:21:11 -0700628#ifdef FEATURE_WLAN_LPHB
629/*---------------------------------------------------------------------------
630 WDI_LPHBTimeoutIndData
631-----------------------------------------------------------------------------*/
632typedef struct
633{
634 wpt_uint8 bssIdx;
635 wpt_uint8 sessionIdx;
636 wpt_uint8 protocolType; /*TCP or UDP*/
637 wpt_uint8 eventReason;
638} WDI_LPHBTimeoutIndData;
639#endif /* FEATURE_WLAN_LPHB */
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800640
Yue Mab9c86f42013-08-14 15:59:08 -0700641/*-----------------------------------------------------------------------------
642WDI_PeriodicTxPtrnFwIndType
643-----------------------------------------------------------------------------*/
644typedef struct
645{
646 wpt_uint8 bssIdx;
647 wpt_uint32 selfStaIdx;
648 wpt_uint32 status;
649 wpt_uint32 patternIdBitmap;
650} WDI_PeriodicTxPtrnFwIndType;
651
Rajeev79dbe4c2013-10-05 11:03:42 +0530652#ifdef FEATURE_WLAN_BATCH_SCAN
653/*---------------------------------------------------------------------------
654 WDI_SetBatchScanReqType
655---------------------------------------------------------------------------*/
656typedef struct
657{
658 wpt_uint32 scanFrequency; /* how frequent to do scan default 30Sec*/
659 wpt_uint32 numberOfScansToBatch; /* number of scans to batch */
660 wpt_uint32 bestNetwork; /* best networks in terms of rssi */
661 wpt_uint8 rfBand; /* band to scan :
662 0 ->both Band, 1->2.4Ghz Only
663 and 2-> 5GHz Only */
664 wpt_uint32 rtt; /* set if required to do RTT it is not
665 supported in current version */
666}WDI_SetBatchScanReqType;
667
668/*---------------------------------------------------------------------------
669 WDI_SetBatchScanRspType
670---------------------------------------------------------------------------*/
671typedef struct
672{
673 /*max number of scans which FW can cache*/
674 wpt_uint32 nScansToBatch;
675}WDI_SetBatchScanRspType;
676
677/*---------------------------------------------------------------------------
678 WDI_TriggerBatchScanResultIndType
679---------------------------------------------------------------------------*/
680typedef struct
681{
682 wpt_uint32 param;
683}WDI_TriggerBatchScanResultIndType;
684
685/*---------------------------------------------------------------------------
686 WDI_StopBatchScanIndType
687---------------------------------------------------------------------------*/
688typedef struct
689{
690 /*max number of scans which FW can cache*/
691 wpt_uint32 param;
692}WDI_StopBatchScanIndType;
693
694
695/*---------------------------------------------------------------------------
696 * WDI_BatchScanResultIndType
697 *--------------------------------------------------------------------------*/
698typedef struct
699{
700 wpt_uint32 bssid[6]; /* BSSID */
701 wpt_uint32 ssid[32]; /* SSID */
702 wpt_uint32 ch; /* Channel */
703 wpt_uint32 rssi; /* RSSI or Level */
704 /* Timestamp when Network was found. Used to calculate age based on
705 timestamp in GET_RSP msg header */
706 wpt_uint32 timestamp;
707} tWDIBatchScanNetworkInfo, *tpWDIBatchScanNetworkInfo;
708
709typedef struct
710{
711 wpt_uint32 scanId; /*Scan List ID*/
712 /*No of AP in a Scan Result. Should be same as bestNetwork in SET_REQ msg*/
713 wpt_uint32 numNetworksInScanList;
714 /*Variable data ptr: Number of AP in Scan List*/
715 wpt_uint32 scanList[1];
716} tWDIBatchScanList, *tpWDIBatchScanList;
717
718typedef struct
719{
720 wpt_uint32 timestamp;
721 wpt_uint32 numScanLists;
722 wpt_boolean isLastResult;
723 /* Variable Data ptr: Number of Scan Lists*/
724 wpt_uint32 scanResults[1];
725} tWDIBatchScanResultParam, *tpWDIBatchScanResultParam;
726
727#endif
728
729
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800730/*---------------------------------------------------------------------------
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700731 WDI_IbssPeerInactivityIndType
732-----------------------------------------------------------------------------*/
733typedef struct
734{
735 wpt_uint8 bssIdx;
736 wpt_uint8 staIdx;
737 wpt_macAddr staMacAddr;
738}WDI_IbssPeerInactivityIndType;
739
740/*---------------------------------------------------------------------------
Chittajit Mitraf5413a42013-10-18 14:20:08 -0700741 WDI_TxRateFlags
742-----------------------------------------------------------------------------*/
743typedef enum
744{
745 WDI_TX_RATE_LEGACY = 0x1, /* Legacy rates */
746 WDI_TX_RATE_HT20 = 0x2, /* HT20 rates */
747 WDI_TX_RATE_HT40 = 0x4, /* HT40 rates */
748 WDI_TX_RATE_SGI = 0x8, /* Rate with Short guard interval */
749 WDI_TX_RATE_LGI = 0x10, /* Rate with Long guard interval */
750 WDI_TX_RATE_VHT20 = 0x20, /* VHT 20 rates */
751 WDI_TX_RATE_VHT40 = 0x40, /* VHT 20 rates */
752 WDI_TX_RATE_VHT80 = 0x80, /* VHT 20 rates */
753 WDI_TX_RATE_VIRT = 0x100, /* Virtual Rate */
754} WDI_TxRateFlags;
755
756/*---------------------------------------------------------------------------
757 WDI_RateUpdateIndParams
758-----------------------------------------------------------------------------*/
759typedef struct
760{
761 /* 0 implies RA, positive value implies fixed rate, -1 implies ignore this
762 * param ucastDataRate can be used to control RA behavior of unicast data to
763 */
764 wpt_int32 ucastDataRate;
765
766 /* TX flag to differentiate between HT20, HT40 etc */
767 WDI_TxRateFlags ucastDataRateTxFlag;
768
769 /* BSSID - Optional. 00-00-00-00-00-00 implies apply to all BCAST STAs */
770 wpt_macAddr bssid;
771
772 /*
773 * 0 implies MCAST RA, positive value implies fixed rate,
774 * -1 implies ignore this param
775 */
776 wpt_int32 reliableMcastDataRate; //unit Mbpsx10
777
778 /* TX flag to differentiate between HT20, HT40 etc */
779 WDI_TxRateFlags reliableMcastDataRateTxFlag;
780
781 /*
782 * MCAST(or BCAST) fixed data rate in 2.4 GHz, unit Mbpsx10,
783 * 0 implies ignore
784 */
785 wpt_uint32 mcastDataRate24GHz;
786
787 /* TX flag to differentiate between HT20, HT40 etc */
788 WDI_TxRateFlags mcastDataRate24GHzTxFlag;
789
790 /*
791 * MCAST(or BCAST) fixed data rate in 5 GHz,
792 * unit Mbpsx10, 0 implies ignore
793 */
794 wpt_uint32 mcastDataRate5GHz;
795
796 /* TX flag to differentiate between HT20, HT40 etc */
797 WDI_TxRateFlags mcastDataRate5GHzTxFlag;
798
799 /*
800 * Request status callback offered by UMAC - it is called if the current
801 * req has returned PENDING as status; it delivers the status of sending
802 * the message over the BUS
803 */
804 WDI_ReqStatusCb wdiReqStatusCB;
805
806 /*
807 * The user data passed in by UMAC, it will be sent back when the above
808 * function pointer will be called
809 */
810 void *pUserData;
811
812} WDI_RateUpdateIndParams;
813
Abhishek Singh85b74712014-10-08 11:38:19 +0530814typedef struct
815{
816 wpt_uint32 ubsp_enter_cnt;
817 wpt_uint32 ubsp_jump_ddr_cnt;
818}ubspFwStats;
819
820typedef struct
821{
822 wpt_uint32 type;
823 /*data*/
824 union{
825 ubspFwStats ubspStats;
826 }wdiFwStatsData;
827} WDI_FWStatsResults;
828
Leo Chang0b0e45a2013-12-15 15:18:55 -0800829#ifdef FEATURE_WLAN_CH_AVOID
830#define WDI_CH_AVOID_MAX_RANGE 4
831
832typedef struct
833{
834 wpt_uint32 startFreq;
835 wpt_uint32 endFreq;
836} WDI_ChAvoidFreqType;
837
838typedef struct
839{
840 wpt_uint32 avoidRangeCount;
841 WDI_ChAvoidFreqType avoidFreqRange[WDI_CH_AVOID_MAX_RANGE];
842} WDI_ChAvoidIndType;
843#endif /* FEATURE_WLAN_CH_AVOID */
844
Dino Mycled3d50022014-07-07 12:58:25 +0530845#ifdef WLAN_FEATURE_LINK_LAYER_STATS
846typedef struct
847{
848 void *pLinkLayerStatsResults;
849 wpt_macAddr macAddr;
850} WDI_LinkLayerStatsResults;
851
852#endif
Abhishek Singh66c16762014-08-14 19:13:19 +0530853
854typedef struct
855{
856 /*STA Index*/
857 wpt_uint16 staIdx;
858
859 /*Peer MAC*/
860 wpt_macAddr peerMacAddr;
861
862 // TID for which a BA session timeout is being triggered
863 wpt_uint8 baTID;
864 // DELBA direction
865 // 1 - Originator
866 // 0 - Recipient
867 wpt_uint8 baDirection;
868 wpt_uint32 reasonCode;
869 /*MAC ADDR of STA*/
870 wpt_macAddr bssId; // TO SUPPORT BT-AMP
871} WDI_DeleteBAIndType;
872
Chittajit Mitraf5413a42013-10-18 14:20:08 -0700873/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -0700874 WDI_LowLevelIndType
875 Inidcation type and information about the indication being carried
876 over
877---------------------------------------------------------------------------*/
878typedef struct
879{
880 /*Inidcation type*/
881 WDI_LowLevelIndEnumType wdiIndicationType;
882
883 /*Indication data*/
884 union
885 {
886 /*RSSI Threshold Info for WDI_LOW_RSSI_IND*/
887 WDI_LowRSSIThIndType wdiLowRSSIInfo;
888
889 /*Addr2 Frame Info for WDI_UNKNOWN_ADDR2_FRAME_RX_IND*/
890 WDI_UnkAddr2FrmRxIndType wdiUnkAddr2FrmInfo;
891
892 /*MIC Failure info for WDI_MIC_FAILURE_IND*/
893 WDI_MicFailureIndType wdiMICFailureInfo;
894
895 /*Error code for WDI_FATAL_ERROR_IND*/
896 wpt_uint16 usErrorCode;
897
898 /*Delete STA Indication*/
899 WDI_DeleteSTAIndType wdiDeleteSTAIndType;
900
901 /*Coex Indication*/
902 WDI_CoexIndType wdiCoexInfo;
903
904 /* Tx Complete Indication */
905 wpt_uint32 tx_complete_status;
906
Jeff Johnson295189b2012-06-20 16:38:30 -0700907 /* P2P NOA ATTR Indication */
908 WDI_P2pNoaAttrIndType wdiP2pNoaAttrInfo;
Viral Modid86bde22012-12-10 13:09:21 -0800909 WDI_P2pNoaStartIndType wdiP2pNoaStartInfo;
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530910 /* TDLS Indications */
911 WDI_TdlsIndType wdiTdlsIndInfo;
Jeff Johnson295189b2012-06-20 16:38:30 -0700912
913
914#ifdef FEATURE_WLAN_SCAN_PNO
915 WDI_PrefNetworkFoundInd wdiPrefNetworkFoundInd;
916#endif // FEATURE_WLAN_SCAN_PNO
917
918#ifdef WLAN_WAKEUP_EVENTS
919 WDI_WakeReasonIndType wdiWakeReasonInd;
920#endif // WLAN_WAKEUP_EVENTS
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800921 WDI_MissedBeaconIndType wdiMissedBeaconInd;
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700922
Leo Chang9056f462013-08-01 19:21:11 -0700923#ifdef FEATURE_WLAN_LPHB
924 WDI_LPHBTimeoutIndData wdiLPHBTimeoutInd;
925#endif /* FEATURE_WLAN_LPHB */
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700926
927 /* IBSS Peer Inactivity Indication */
928 WDI_IbssPeerInactivityIndType wdiIbssPeerInactivityInd;
929
Yue Mab9c86f42013-08-14 15:59:08 -0700930 /* Periodic TX Pattern FW Indication */
931 WDI_PeriodicTxPtrnFwIndType wdiPeriodicTxPtrnFwInd;
Rajeev79dbe4c2013-10-05 11:03:42 +0530932
933#ifdef FEATURE_WLAN_BATCH_SCAN
934 /*batch scan result indication from FW*/
935 void *pBatchScanResult;
936#endif
937
Leo Chang0b0e45a2013-12-15 15:18:55 -0800938#ifdef FEATURE_WLAN_CH_AVOID
939 WDI_ChAvoidIndType wdiChAvoidInd;
940#endif /* FEATURE_WLAN_CH_AVOID */
Sunil Duttbd736ed2014-05-26 21:19:41 +0530941
942#ifdef WLAN_FEATURE_LINK_LAYER_STATS
943 /*Link Layer Statistics from FW*/
Dino Mycled3d50022014-07-07 12:58:25 +0530944 WDI_LinkLayerStatsResults wdiLinkLayerStatsResults;
Sunil Duttbd736ed2014-05-26 21:19:41 +0530945#endif
Dino Mycle41bdc942014-06-10 11:30:24 +0530946#ifdef WLAN_FEATURE_EXTSCAN
947 /*EXTSCAN Results from FW*/
948 void *pEXTScanIndData;
949#endif
Abhishek Singh66c16762014-08-14 19:13:19 +0530950 WDI_DeleteBAIndType wdiDeleteBAInd;
Jeff Johnson295189b2012-06-20 16:38:30 -0700951 } wdiIndicationData;
952}WDI_LowLevelIndType;
953
954/*---------------------------------------------------------------------------
955 WDI_LowLevelIndCBType
956
957 DESCRIPTION
958
959 This callback is invoked by DAL to deliver to UMAC certain indications
960 that has either received from the lower device or has generated itself.
961
962 PARAMETERS
963
964 IN
965 pwdiInd: information about the indication sent over
966 pUserData: user data provided by UMAC during registration
967
968
969
970 RETURN VALUE
971 The result code associated with performing the operation
972---------------------------------------------------------------------------*/
973typedef void (*WDI_LowLevelIndCBType)(WDI_LowLevelIndType* pwdiInd,
974 void* pUserData);
975
976/*---------------------------------------------------------------------------
977 WDI_DriverType
978---------------------------------------------------------------------------*/
979typedef enum
980{
981 WDI_DRIVER_TYPE_PRODUCTION = 0,
982 WDI_DRIVER_TYPE_MFG = 1,
983 WDI_DRIVER_TYPE_DVT = 2
984} WDI_DriverType;
985
986/*---------------------------------------------------------------------------
987 WDI_StartReqParamsType
988---------------------------------------------------------------------------*/
989typedef struct
990{
991 /*This is a TLV formatted buffer containing all config values that can
992 be set through the DAL Interface
993
994 The TLV is expected to be formatted like this:
995
996 0 7 15 31 ....
997 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
998
999 Or from a C construct point of VU it would look like this:
1000
1001 typedef struct WPT_PACK_POST
1002 {
1003 #ifdef WPT_BIG_ENDIAN
1004 wpt_uint32 ucCfgId:8;
1005 wpt_uint32 ucCfgLen:8;
1006 wpt_uint32 usReserved:16;
1007 #else
1008 wpt_uint32 usReserved:16;
1009 wpt_uint32 ucCfgLen:8;
1010 wpt_uint32 ucCfgId:8;
1011 #endif
1012
1013 wpt_uint8 ucCfgBody[ucCfgLen];
1014 }WDI_ConfigType;
1015
1016 Multiple such tuplets are to be placed in the config buffer. One for
1017 each required configuration item:
1018
1019 | TLV 1 | TLV2 | ....
1020
1021 The buffer is expected to be a flat area of memory that can be manipulated
1022 with standard memory routines.
1023
1024 For more info please check paragraph 2.3.1 Config Structure from the
1025 HAL LLD.
1026
1027 For a list of accepted configuration list and IDs please look up
1028 wlan_qct_dal_cfg.h
1029
1030 */
1031 void* pConfigBuffer;
1032
1033 /*Length of the config buffer above*/
1034 wpt_uint16 usConfigBufferLen;
1035
1036 /*Production or FTM driver*/
1037 WDI_DriverType wdiDriverType;
1038
1039 /*Should device enable frame translation */
1040 wpt_uint8 bFrameTransEnabled;
1041
1042 /*Request status callback offered by UMAC - it is called if the current
1043 req has returned PENDING as status; it delivers the status of sending
1044 the message over the BUS */
1045 WDI_ReqStatusCb wdiReqStatusCB;
1046
1047 /*The user data passed in by UMAC, it will be sent back when the above
1048 function pointer will be called */
1049 void* pUserData;
1050
1051 /*Indication callback given by UMAC to be called by the WLAN DAL when it
1052 wishes to send something back independent of a request*/
1053 WDI_LowLevelIndCBType wdiLowLevelIndCB;
1054
1055 /*The user data passed in by UMAC, it will be sent back when the indication
1056 function pointer will be called */
1057 void* pIndUserData;
1058}WDI_StartReqParamsType;
1059
1060
1061/*---------------------------------------------------------------------------
1062 WDI_StartRspParamsType
1063---------------------------------------------------------------------------*/
1064typedef struct
1065{
1066 /*Status of the response*/
1067 WDI_Status wdiStatus;
1068
1069 /*Max number of STA supported by the device*/
1070 wpt_uint8 ucMaxStations;
1071
1072 /*Max number of BSS supported by the device*/
1073 wpt_uint8 ucMaxBssids;
1074
1075 /*Version of the WLAN HAL API with which we were compiled*/
1076 WDI_WlanVersionType wlanCompiledVersion;
1077
1078 /*Version of the WLAN HAL API that was reported*/
1079 WDI_WlanVersionType wlanReportedVersion;
1080
1081 /*WCNSS Software version string*/
1082 wpt_uint8 wcnssSoftwareVersion[WDI_VERSION_LENGTH];
1083
1084 /*WCNSS Hardware version string*/
1085 wpt_uint8 wcnssHardwareVersion[WDI_VERSION_LENGTH];
1086}WDI_StartRspParamsType;
1087
1088
1089/*---------------------------------------------------------------------------
1090 WDI_StopType
1091---------------------------------------------------------------------------*/
1092typedef enum
1093{
1094 /*Device is being stopped due to a reset*/
1095 WDI_STOP_TYPE_SYS_RESET,
1096
1097 /*Device is being stopped due to entering deep sleep*/
1098 WDI_STOP_TYPE_SYS_DEEP_SLEEP,
1099
1100 /*Device is being stopped because the RF needs to shut off
1101 (e.g.:Airplane mode)*/
1102 WDI_STOP_TYPE_RF_KILL
1103}WDI_StopType;
1104
1105/*---------------------------------------------------------------------------
1106 WDI_StopReqParamsType
1107---------------------------------------------------------------------------*/
1108typedef struct
1109{
1110
1111 /*The reason for which the device is being stopped*/
1112 WDI_StopType wdiStopReason;
1113
1114 /*Request status callback offered by UMAC - it is called if the current
1115 req has returned PENDING as status; it delivers the status of sending
1116 the message over the BUS */
1117 WDI_ReqStatusCb wdiReqStatusCB;
1118
1119 /*The user data passed in by UMAC, it will be sent back when the above
1120 function pointer will be called */
1121 void* pUserData;
1122}WDI_StopReqParamsType;
1123
1124
1125/*---------------------------------------------------------------------------
1126 WDI_ScanMode
1127---------------------------------------------------------------------------*/
1128typedef enum
1129{
1130 WDI_SCAN_MODE_NORMAL = 0,
1131 WDI_SCAN_MODE_LEARN,
1132 WDI_SCAN_MODE_SCAN,
1133 WDI_SCAN_MODE_PROMISC,
Madan Mohan Koyyalamudi9b876782012-10-11 16:22:51 -07001134 WDI_SCAN_MODE_SUSPEND_LINK,
1135 WDI_SCAN_MODE_ROAM_SCAN,
1136 WDI_SCAN_MODE_ROAM_SUSPEND_LINK,
1137
Jeff Johnson295189b2012-06-20 16:38:30 -07001138} WDI_ScanMode;
1139
1140/*---------------------------------------------------------------------------
1141 WDI_ScanEntry
1142---------------------------------------------------------------------------*/
1143typedef struct
1144{
1145 wpt_uint8 bssIdx[WDI_NUM_BSSID];
1146 wpt_uint8 activeBSScnt;
1147}WDI_ScanEntry;
1148
1149/*---------------------------------------------------------------------------
1150 WDI_InitScanReqInfoType
1151---------------------------------------------------------------------------*/
1152typedef struct
1153{
1154 /*LEARN - AP Role
1155 SCAN - STA Role*/
1156 WDI_ScanMode wdiScanMode;
1157
1158 /*BSSID of the BSS*/
1159 wpt_macAddr macBSSID;
1160
1161 /*Whether BSS needs to be notified*/
1162 wpt_boolean bNotifyBSS;
1163
1164 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
1165 CTS to Self). Must always be a valid frame type.*/
1166 wpt_uint8 ucFrameType;
1167
1168 /*UMAC has the option of passing the MAC frame to be used for notifying
1169 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
1170 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
1171 frameType.*/
1172 wpt_uint8 ucFrameLength;
1173
1174 /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/
1175 WDI_MacMgmtHdr wdiMACMgmtHdr;
1176
1177 /*Entry to hold number of active BSS to send NULL frames before
1178 * initiating SCAN*/
1179 WDI_ScanEntry wdiScanEntry;
1180
1181 /* Flag to enable/disable Single NOA*/
1182 wpt_boolean bUseNOA;
1183
1184 /* Indicates the scan duration (in ms) */
1185 wpt_uint16 scanDuration;
1186
1187}WDI_InitScanReqInfoType;
1188
1189/*---------------------------------------------------------------------------
1190 WDI_InitScanReqParamsType
1191---------------------------------------------------------------------------*/
1192typedef struct
1193{
1194 /*The info associated with the request that needs to be sent over to the
1195 device*/
1196 WDI_InitScanReqInfoType wdiReqInfo;
1197
1198 /*Request status callback offered by UMAC - it is called if the current
1199 req has returned PENDING as status; it delivers the status of sending
1200 the message over the BUS */
1201 WDI_ReqStatusCb wdiReqStatusCB;
1202
1203 /*The user data passed in by UMAC, it will be sent back when the above
1204 function pointer will be called */
1205 void* pUserData;
1206}WDI_InitScanReqParamsType;
1207
1208/*---------------------------------------------------------------------------
1209 WDI_StartScanReqParamsType
1210---------------------------------------------------------------------------*/
1211typedef struct
1212{
1213 /*Indicates the channel to scan*/
1214 wpt_uint8 ucChannel;
1215
1216 /*Request status callback offered by UMAC - it is called if the current
1217 req has returned PENDING as status; it delivers the status of sending
1218 the message over the BUS */
1219 WDI_ReqStatusCb wdiReqStatusCB;
1220
1221 /*The user data passed in by UMAC, it will be sent back when the above
1222 function pointer will be called */
1223 void* pUserData;
1224}WDI_StartScanReqParamsType;
1225
1226/*---------------------------------------------------------------------------
1227 WDI_StartScanRspParamsType
1228---------------------------------------------------------------------------*/
1229typedef struct
1230{
1231 /*Indicates the status of the operation */
1232 WDI_Status wdiStatus;
1233
1234#if defined WLAN_FEATURE_VOWIFI
1235 wpt_uint32 aStartTSF[2];
1236 wpt_int8 ucTxMgmtPower;
1237#endif
1238}WDI_StartScanRspParamsType;
1239
1240/*---------------------------------------------------------------------------
1241 WDI_EndScanReqParamsType
1242---------------------------------------------------------------------------*/
1243typedef struct
1244{
1245 /*Indicates the channel to stop scanning. Not used really. But retained
1246 for symmetry with "start Scan" message. It can also help in error
1247 check if needed.*/
1248 wpt_uint8 ucChannel;
1249
1250 /*Request status callback offered by UMAC - it is called if the current
1251 req has returned PENDING as status; it delivers the status of sending
1252 the message over the BUS */
1253 WDI_ReqStatusCb wdiReqStatusCB;
1254
1255 /*The user data passed in by UMAC, it will be sent back when the above
1256 function pointer will be called */
1257 void* pUserData;
1258}WDI_EndScanReqParamsType;
1259
1260/*---------------------------------------------------------------------------
1261 WDI_PhyChanBondState
1262---------------------------------------------------------------------------*/
1263typedef enum
1264{
1265 WDI_PHY_SINGLE_CHANNEL_CENTERED = 0,
1266 WDI_PHY_DOUBLE_CHANNEL_LOW_PRIMARY = 1,
1267 WDI_PHY_DOUBLE_CHANNEL_CENTERED = 2,
Jeff Johnsone7245742012-09-05 17:12:55 -07001268 WDI_PHY_DOUBLE_CHANNEL_HIGH_PRIMARY = 3,
1269#ifdef WLAN_FEATURE_11AC
1270 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_CENTERED = 4, //20/40MHZ offset LOW 40/80MHZ offset CENTERED
1271 WDI_QUADRUPLE_CHANNEL_20MHZ_CENTERED_40MHZ_CENTERED = 5, //20/40MHZ offset CENTERED 40/80MHZ offset CENTERED
1272 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_CENTERED = 6, //20/40MHZ offset HIGH 40/80MHZ offset CENTERED
1273 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_LOW = 7,//20/40MHZ offset LOW 40/80MHZ offset LOW
1274 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_LOW = 8, //20/40MHZ offset HIGH 40/80MHZ offset LOW
1275 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_HIGH = 9, //20/40MHZ offset LOW 40/80MHZ offset HIGH
1276 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_HIGH = 10,//20/40MHZ offset-HIGH 40/80MHZ offset HIGH
1277#endif
1278 WDI_MAX_CB_STATE
Jeff Johnson295189b2012-06-20 16:38:30 -07001279} WDI_PhyChanBondState;
1280
1281/*---------------------------------------------------------------------------
1282 WDI_FinishScanReqInfoType
1283---------------------------------------------------------------------------*/
1284typedef struct
1285{
1286 /*LEARN - AP Role
1287 SCAN - STA Role*/
1288 WDI_ScanMode wdiScanMode;
1289
1290 /*Operating channel to tune to.*/
1291 wpt_uint8 ucCurrentOperatingChannel;
1292
1293 /*Channel Bonding state If 20/40 MHz is operational, this will indicate the
1294 40 MHz extension channel in combination with the control channel*/
1295 WDI_PhyChanBondState wdiCBState;
1296
1297 /*BSSID of the BSS*/
1298 wpt_macAddr macBSSID;
1299
1300 /*Whether BSS needs to be notified*/
1301 wpt_boolean bNotifyBSS;
1302
1303 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
1304 CTS to Self). Must always be a valid frame type.*/
1305 wpt_uint8 ucFrameType;
1306
1307 /*UMAC has the option of passing the MAC frame to be used for notifying
1308 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
1309 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
1310 frameType.*/
1311 wpt_uint8 ucFrameLength;
1312
1313 /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/
1314 WDI_MacMgmtHdr wdiMACMgmtHdr;
1315
1316 /*Entry to hold number of active BSS to send NULL frames after SCAN*/
1317 WDI_ScanEntry wdiScanEntry;
1318
1319}WDI_FinishScanReqInfoType;
1320
1321/*---------------------------------------------------------------------------
1322 WDI_SwitchChReqInfoType
1323---------------------------------------------------------------------------*/
1324typedef struct
1325{
1326 /*Indicates the channel to switch to.*/
1327 wpt_uint8 ucChannel;
1328
1329 /*Local power constraint*/
1330 wpt_uint8 ucLocalPowerConstraint;
1331
1332 /*Secondary channel offset */
1333 WDI_HTSecondaryChannelOffset wdiSecondaryChannelOffset;
1334
1335#ifdef WLAN_FEATURE_VOWIFI
1336 wpt_int8 cMaxTxPower;
1337
1338 /*Self STA Mac address*/
1339 wpt_macAddr macSelfStaMacAddr;
1340#endif
1341 /* VO Wifi comment: BSSID is needed to identify which session issued this request. As the
1342 request has power constraints, this should be applied only to that session */
1343 /* V IMP: Keep bssId field at the end of this msg. It is used to mantain backward compatbility
1344 * by way of ignoring if using new host/old FW or old host/new FW since it is at the end of this struct
1345 */
1346 wpt_macAddr macBSSId;
1347
1348}WDI_SwitchChReqInfoType;
1349
1350/*---------------------------------------------------------------------------
1351 WDI_SwitchChReqParamsType
1352---------------------------------------------------------------------------*/
1353typedef struct
1354{
1355 /*Channel Info*/
1356 WDI_SwitchChReqInfoType wdiChInfo;
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_SwitchChReqParamsType;
1367
1368/*---------------------------------------------------------------------------
1369 WDI_FinishScanReqParamsType
1370---------------------------------------------------------------------------*/
1371typedef struct
1372{
1373 /*Info for the Finish Scan request that will be sent down to the device*/
1374 WDI_FinishScanReqInfoType wdiReqInfo;
1375
1376 /*Request status callback offered by UMAC - it is called if the current
1377 req has returned PENDING as status; it delivers the status of sending
1378 the message over the BUS */
1379 WDI_ReqStatusCb wdiReqStatusCB;
1380
1381 /*The user data passed in by UMAC, it will be sent back when the above
1382 function pointer will be called */
1383 void* pUserData;
1384}WDI_FinishScanReqParamsType;
1385
1386/*---------------------------------------------------------------------------
1387 WDI_JoinReqInfoType
1388---------------------------------------------------------------------------*/
1389typedef struct
1390{
1391 /*Indicates the BSSID to which STA is going to associate*/
1392 wpt_macAddr macBSSID;
1393
1394 /*Indicates the MAC Address of the current Self STA*/
1395 wpt_macAddr macSTASelf;
1396
1397 /*Indicates the link State determining the entity Type e.g. BTAMP-STA, STA etc.*/
1398 wpt_uint32 linkState;
1399
1400 /*Indicates the channel to switch to.*/
1401 WDI_SwitchChReqInfoType wdiChannelInfo;
1402
1403}WDI_JoinReqInfoType;
1404
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08001405typedef enum
1406{
1407 eWDI_CHANNEL_SWITCH_SOURCE_SCAN,
1408 eWDI_CHANNEL_SWITCH_SOURCE_LISTEN,
1409 eWDI_CHANNEL_SWITCH_SOURCE_MCC,
1410 eWDI_CHANNEL_SWITCH_SOURCE_CSA,
1411 eWDI_CHANNEL_SWITCH_SOURCE_MAX = 0x7FFFFFFF
1412} WDI_ChanSwitchSource;
1413
1414/*---------------------------------------------------------------------------
1415 WDI_SwitchChReqInfoType_V1
1416---------------------------------------------------------------------------*/
1417typedef struct
1418{
1419 /*Indicates the channel to switch to.*/
1420 wpt_uint8 ucChannel;
1421
1422 /*Local power constraint*/
1423 wpt_uint8 ucLocalPowerConstraint;
1424
1425 /*Secondary channel offset */
1426 WDI_HTSecondaryChannelOffset wdiSecondaryChannelOffset;
1427
1428#ifdef WLAN_FEATURE_VOWIFI
1429 wpt_int8 cMaxTxPower;
1430 /*Self STA Mac address*/
1431 wpt_macAddr macSelfStaMacAddr;
1432#endif
1433 /* VO Wifi comment: BSSID is needed to identify which session
1434 issued this request. As the request has power constraints, this
1435 should be applied only to that session
1436 */
1437 /* V IMP: Keep bssId field at the end of this msg. It is used to
1438 maintain backward compatibility by way of ignoring if using new
1439 host/old FW or old host/new FW since it is at the end of this struct
1440 */
1441 wpt_macAddr macBSSId;
1442 /* Source of Channel Switch */
1443 WDI_ChanSwitchSource channelSwitchSrc;
1444}WDI_SwitchChReqInfoType_V1;
1445
1446/*--------------------------------------------------------------------
1447 WDI_SwitchChReqParamsType_V1
1448----------------------------------------------------------------------*/
1449typedef struct
1450{
1451 /*Channel Info*/
1452 WDI_SwitchChReqInfoType_V1 wdiChInfo;
1453
1454 /*Request status callback offered by UMAC - it is called if the current
1455 req has returned PENDING as status; it delivers the status of sending
1456 the message over the BUS */
1457 WDI_ReqStatusCb wdiReqStatusCB;
1458
1459 /*The user data passed in by UMAC, it will be sent back when the above
1460 function pointer will be called */
1461 void* pUserData;
1462}WDI_SwitchChReqParamsType_V1;
1463
Jeff Johnson295189b2012-06-20 16:38:30 -07001464/*---------------------------------------------------------------------------
1465 WDI_JoinReqParamsType
1466---------------------------------------------------------------------------*/
1467typedef struct
1468{
1469 /*Info for the Join request that will be sent down to the device*/
1470 WDI_JoinReqInfoType wdiReqInfo;
1471
1472 /*Request status callback offered by UMAC - it is called if the current
1473 req has returned PENDING as status; it delivers the status of sending
1474 the message over the BUS */
1475 WDI_ReqStatusCb wdiReqStatusCB;
1476
1477 /*The user data passed in by UMAC, it will be sent back when the above
1478 function pointer will be called */
1479 void* pUserData;
1480}WDI_JoinReqParamsType;
1481
1482/*---------------------------------------------------------------------------
1483 WDI_BssType
1484---------------------------------------------------------------------------*/
1485typedef enum
1486{
1487 WDI_INFRASTRUCTURE_MODE,
1488 WDI_INFRA_AP_MODE, //Added for softAP support
1489 WDI_IBSS_MODE,
1490 WDI_BTAMP_STA_MODE,
1491 WDI_BTAMP_AP_MODE,
1492 WDI_BSS_AUTO_MODE,
1493}WDI_BssType;
1494
1495/*---------------------------------------------------------------------------
1496 WDI_NwType
1497---------------------------------------------------------------------------*/
1498typedef enum
1499{
1500 WDI_11A_NW_TYPE,
1501 WDI_11B_NW_TYPE,
1502 WDI_11G_NW_TYPE,
1503 WDI_11N_NW_TYPE,
1504} WDI_NwType;
1505
1506/*---------------------------------------------------------------------------
1507 WDI_ConfigAction
1508---------------------------------------------------------------------------*/
1509typedef enum
1510{
1511 WDI_ADD_BSS,
1512 WDI_UPDATE_BSS
1513} WDI_ConfigAction;
1514
1515/*---------------------------------------------------------------------------
1516 WDI_HTOperatingMode
1517---------------------------------------------------------------------------*/
1518typedef enum
1519{
1520 WDI_HT_OP_MODE_PURE,
1521 WDI_HT_OP_MODE_OVERLAP_LEGACY,
1522 WDI_HT_OP_MODE_NO_LEGACY_20MHZ_HT,
1523 WDI_HT_OP_MODE_MIXED
1524
1525} WDI_HTOperatingMode;
1526
1527
1528/*---------------------------------------------------------------------------
1529 WDI_STAEntryType
1530---------------------------------------------------------------------------*/
1531typedef enum
1532{
1533 WDI_STA_ENTRY_SELF,
1534 WDI_STA_ENTRY_PEER,
1535 WDI_STA_ENTRY_BSSID,
Mohit Khanna698ba2a2012-12-04 15:08:18 -08001536 WDI_STA_ENTRY_BCAST,
1537#ifdef FEATURE_WLAN_TDLS
1538 WDI_STA_ENTRY_TDLS_PEER,
1539#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001540}WDI_STAEntryType;
1541
1542/*---------------------------------------------------------------------------
1543 WDI_ConfigActionType
1544---------------------------------------------------------------------------*/
1545typedef enum
1546{
1547 WDI_ADD_STA,
1548 WDI_UPDATE_STA
1549} WDI_ConfigActionType;
1550
1551/*----------------------------------------------------------------------------
1552 Each station added has a rate mode which specifies the sta attributes
1553 ----------------------------------------------------------------------------*/
1554typedef enum
1555{
1556 WDI_RESERVED_1 = 0,
1557 WDI_RESERVED_2,
1558 WDI_RESERVED_3,
1559 WDI_11b,
1560 WDI_11bg,
1561 WDI_11a,
1562 WDI_11n,
1563} WDI_RateModeType;
1564
1565/*---------------------------------------------------------------------------
1566 WDI_SupportedRatesType
1567---------------------------------------------------------------------------*/
1568typedef struct
1569{
1570 /*
1571 * For Self STA Entry: this represents Self Mode.
1572 * For Peer Stations, this represents the mode of the peer.
1573 * On Station:
1574 * --this mode is updated when PE adds the Self Entry.
1575 * -- OR when PE sends 'ADD_BSS' message and station context in BSS is used to indicate the mode of the AP.
1576 * ON AP:
1577 * -- this mode is updated when PE sends 'ADD_BSS' and Sta entry for that BSS is used
1578 * to indicate the self mode of the AP.
1579 * -- OR when a station is associated, PE sends 'ADD_STA' message with this mode updated.
1580 */
1581
1582 WDI_RateModeType opRateMode;
1583
1584 /* 11b, 11a and aniLegacyRates are IE rates which gives rate in unit of 500Kbps */
1585 wpt_uint16 llbRates[WDI_NUM_11B_RATES];
1586 wpt_uint16 llaRates[WDI_NUM_11A_RATES];
1587 wpt_uint16 aLegacyRates[WDI_NUM_POLARIS_RATES];
1588
1589 /*Taurus only supports 26 Titan Rates(no ESF/concat Rates will be supported)
1590 First 26 bits are reserved for those Titan rates and
1591 the last 4 bits(bit28-31) for Taurus, 2(bit26-27) bits are reserved.*/
1592 wpt_uint32 uEnhancedRateBitmap; //Titan and Taurus Rates
1593
1594 /*
1595 * 0-76 bits used, remaining reserved
1596 * bits 0-15 and 32 should be set.
1597 */
1598 wpt_uint8 aSupportedMCSSet[WDI_MAC_MAX_SUPPORTED_MCS_SET];
1599
1600 /*
1601 * RX Highest Supported Data Rate defines the highest data
1602 * rate that the STA is able to receive, in unites of 1Mbps.
1603 * This value is derived from "Supported MCS Set field" inside
1604 * the HT capability element.
1605 */
1606 wpt_uint16 aRxHighestDataRate;
1607
Jeff Johnsone7245742012-09-05 17:12:55 -07001608
1609#ifdef WLAN_FEATURE_11AC
1610 /*Indicates the Maximum MCS that can be received for each number
1611 of spacial streams */
1612 wpt_uint16 vhtRxMCSMap;
1613 /*Indicate the highest VHT data rate that the STA is able to receive*/
1614 wpt_uint16 vhtRxHighestDataRate;
1615 /*Indicates the Maximum MCS that can be transmitted for each number
1616 of spacial streams */
1617 wpt_uint16 vhtTxMCSMap;
1618 /*Indicate the highest VHT data rate that the STA is able to transmit*/
1619 wpt_uint16 vhtTxHighestDataRate;
1620#endif
1621
Jeff Johnson295189b2012-06-20 16:38:30 -07001622} WDI_SupportedRates;
1623
1624/*--------------------------------------------------------------------------
1625 WDI_HTMIMOPowerSaveState
1626 Spatial Multiplexing(SM) Power Save mode
1627 --------------------------------------------------------------------------*/
1628typedef enum
1629{
1630 WDI_HT_MIMO_PS_STATIC = 0, // Static SM Power Save mode
1631 WDI_HT_MIMO_PS_DYNAMIC = 1, // Dynamic SM Power Save mode
1632 WDI_HT_MIMO_PS_NA = 2, // reserved
1633 WDI_HT_MIMO_PS_NO_LIMIT = 3, // SM Power Save disabled
1634} WDI_HTMIMOPowerSaveState;
1635
1636/*---------------------------------------------------------------------------
1637 WDI_ConfigStaReqInfoType
1638---------------------------------------------------------------------------*/
1639typedef struct
1640{
1641 /*BSSID of STA*/
1642 wpt_macAddr macBSSID;
1643
1644 /*ASSOC ID, as assigned by UMAC*/
1645 wpt_uint16 usAssocId;
1646
1647 /*Used for configuration of different HW modules.*/
1648 WDI_STAEntryType wdiSTAType;
1649
Gopichand Nakkalae7cbc5d2013-03-27 21:09:23 -07001650 /*STA Index */
1651 wpt_uint8 staIdx;
1652
Jeff Johnson295189b2012-06-20 16:38:30 -07001653 /*Short Preamble Supported.*/
1654 wpt_uint8 ucShortPreambleSupported;
1655
1656 /*MAC Address of STA*/
1657 wpt_macAddr macSTA;
1658
1659 /*Listen interval of the STA*/
1660 wpt_uint16 usListenInterval;
1661
1662 /*Support for 11e/WMM*/
1663 wpt_uint8 ucWMMEnabled;
1664
1665 /*11n HT capable STA*/
1666 wpt_uint8 ucHTCapable;
1667
1668 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
1669 wpt_uint8 ucTXChannelWidthSet;
1670
1671 /*RIFS mode 0 - NA, 1 - Allowed*/
1672 wpt_uint8 ucRIFSMode;
1673
1674 /*L-SIG TXOP Protection mechanism
1675 0 - No Support, 1 - Supported
1676 SG - there is global field*/
1677 wpt_uint8 ucLSIGTxopProtection;
1678
1679 /*Max Ampdu Size supported by STA. Device programming.
1680 0 : 8k , 1 : 16k, 2 : 32k, 3 : 64k */
1681 wpt_uint8 ucMaxAmpduSize;
1682
1683 /*Max Ampdu density. Used by RA. 3 : 0~7 : 2^(11nAMPDUdensity -4)*/
1684 wpt_uint8 ucMaxAmpduDensity;
1685
1686 /*Max AMSDU size 1 : 3839 bytes, 0 : 7935 bytes*/
1687 wpt_uint8 ucMaxAmsduSize;
1688
1689 /*Short GI support for 40Mhz packets*/
1690 wpt_uint8 ucShortGI40Mhz;
1691
1692 /*Short GI support for 20Mhz packets*/
1693 wpt_uint8 ucShortGI20Mhz;
1694
1695 /*These rates are the intersection of peer and self capabilities.*/
1696 WDI_SupportedRates wdiSupportedRates;
1697
1698 /*Robust Management Frame (RMF) enabled/disabled*/
1699 wpt_uint8 ucRMFEnabled;
1700
1701 /* The unicast encryption type in the association */
1702 wpt_uint32 ucEncryptType;
1703
1704 /*HAL should update the existing STA entry, if this flag is set. UMAC
1705 will set this flag in case of RE-ASSOC, where we want to reuse the old
1706 STA ID.*/
1707 WDI_ConfigActionType wdiAction;
1708
1709 /*U-APSD Flags: 1b per AC. Encoded as follows:
1710 b7 b6 b5 b4 b3 b2 b1 b0 =
1711 X X X X BE BK VI VO
1712 */
1713 wpt_uint8 ucAPSD;
1714
1715 /*Max SP Length*/
1716 wpt_uint8 ucMaxSPLen;
1717
1718 /*11n Green Field preamble support*/
1719 wpt_uint8 ucGreenFieldCapable;
1720
1721 /*MIMO Power Save mode*/
1722 WDI_HTMIMOPowerSaveState wdiMIMOPS;
1723
1724 /*Delayed BA Support*/
1725 wpt_uint8 ucDelayedBASupport;
1726
1727 /*Max AMPDU duration in 32us*/
1728 wpt_uint8 us32MaxAmpduDuratio;
1729
1730 /*HT STA should set it to 1 if it is enabled in BSS
1731 HT STA should set it to 0 if AP does not support it. This indication is
1732 sent to HAL and HAL uses this flag to pickup up appropriate 40Mhz rates.
1733 */
1734 wpt_uint8 ucDsssCckMode40Mhz;
1735
1736 wpt_uint8 ucP2pCapableSta;
Jeff Johnsone7245742012-09-05 17:12:55 -07001737#ifdef WLAN_FEATURE_11AC
1738 wpt_uint8 ucVhtCapableSta;
1739 wpt_uint8 ucVhtTxChannelWidthSet;
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08001740 wpt_uint8 ucVhtTxBFEnabled;
Abhishek Singh6927fa02014-06-27 17:19:55 +05301741 wpt_uint8 vhtTxMUBformeeCapable;
Jeff Johnsone7245742012-09-05 17:12:55 -07001742#endif
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08001743
1744 wpt_uint8 ucHtLdpcEnabled;
1745 wpt_uint8 ucVhtLdpcEnabled;
Jeff Johnson295189b2012-06-20 16:38:30 -07001746}WDI_ConfigStaReqInfoType;
1747
1748
1749/*---------------------------------------------------------------------------
1750 WDI_RateSet
1751
1752 12 Bytes long because this structure can be used to represent rate
1753 and extended rate set IEs
1754 The parser assume this to be at least 12
1755---------------------------------------------------------------------------*/
1756#define WDI_RATESET_EID_MAX 12
1757
1758typedef struct
1759{
1760 wpt_uint8 ucNumRates;
1761 wpt_uint8 aRates[WDI_RATESET_EID_MAX];
1762} WDI_RateSet;
1763
1764/*---------------------------------------------------------------------------
1765 WDI_AciAifsnType
1766 access category record
1767---------------------------------------------------------------------------*/
1768typedef struct
1769{
1770 wpt_uint8 rsvd : 1;
1771 wpt_uint8 aci : 2;
1772 wpt_uint8 acm : 1;
1773 wpt_uint8 aifsn : 4;
1774} WDI_AciAifsnType;
1775
1776/*---------------------------------------------------------------------------
1777 WDI_CWType
1778 contention window size
1779---------------------------------------------------------------------------*/
1780typedef struct
1781{
1782 wpt_uint8 max : 4;
1783 wpt_uint8 min : 4;
1784} WDI_CWType;
1785
1786/*---------------------------------------------------------------------------
1787 WDI_EdcaParamRecord
1788---------------------------------------------------------------------------*/
1789typedef struct
1790{
1791 /*Access Category Record*/
1792 WDI_AciAifsnType wdiACI;
1793
1794 /*Contention WIndow Size*/
1795 WDI_CWType wdiCW;
1796
1797 /*TX Oportunity Limit*/
1798 wpt_uint16 usTXOPLimit;
1799} WDI_EdcaParamRecord;
1800
1801/*---------------------------------------------------------------------------
1802 WDI_EDCAParamsType
1803---------------------------------------------------------------------------*/
1804typedef struct
1805{
1806 /*BSS Index*/
1807 wpt_uint8 ucBSSIdx;
1808
1809 /*?*/
1810 wpt_boolean bHighPerformance;
1811
1812 /*Best Effort*/
1813 WDI_EdcaParamRecord wdiACBE;
1814
1815 /*Background*/
1816 WDI_EdcaParamRecord wdiACBK;
1817
1818 /*Video*/
1819 WDI_EdcaParamRecord wdiACVI;
1820
1821 /*Voice*/
1822 WDI_EdcaParamRecord acvo; // voice
1823} WDI_EDCAParamsType;
1824
1825/* operMode in ADD BSS message */
1826#define WDI_BSS_OPERATIONAL_MODE_AP 0
1827#define WDI_BSS_OPERATIONAL_MODE_STA 1
1828
1829/*---------------------------------------------------------------------------
1830 WDI_ConfigBSSRspParamsType
1831---------------------------------------------------------------------------*/
1832typedef struct
1833{
1834 /*Status of the response*/
1835 WDI_Status wdiStatus;
1836
1837 /*BSSID of the BSS*/
1838 wpt_macAddr macBSSID;
1839
1840 /*BSS Index*/
1841 wpt_uint8 ucBSSIdx;
1842
1843 /*Unicast DPU signature*/
1844 wpt_uint8 ucUcastSig;
1845
1846 /*Broadcast DPU Signature*/
1847 wpt_uint8 ucBcastSig;
1848
1849 /*MAC Address of STA*/
1850 wpt_macAddr macSTA;
1851
1852 /*BSS STA ID*/
1853 wpt_uint8 ucSTAIdx;
1854
1855#ifdef WLAN_FEATURE_VOWIFI
1856 /*HAL fills in the tx power used for mgmt frames in this field */
1857 wpt_int8 ucTxMgmtPower;
1858#endif
1859
1860}WDI_ConfigBSSRspParamsType;
1861
1862/*---------------------------------------------------------------------------
1863 WDI_DelBSSReqParamsType
1864---------------------------------------------------------------------------*/
1865typedef struct
1866{
1867 /*BSS Index of the BSS*/
1868 wpt_uint8 ucBssIdx;
1869
1870 /*Request status callback offered by UMAC - it is called if the current
1871 req has returned PENDING as status; it delivers the status of sending
1872 the message over the BUS */
1873 WDI_ReqStatusCb wdiReqStatusCB;
1874
1875 /*The user data passed in by UMAC, it will be sent back when the above
1876 function pointer will be called */
1877 void* pUserData;
1878}WDI_DelBSSReqParamsType;
1879
1880/*---------------------------------------------------------------------------
1881 WDI_DelBSSRspParamsType
1882---------------------------------------------------------------------------*/
1883typedef struct
1884{
1885 /*Status of the response*/
1886 WDI_Status wdiStatus;
1887
1888 /*BSSID of the BSS*/
1889 wpt_macAddr macBSSID;
1890
1891 wpt_uint8 ucBssIdx;
1892
1893}WDI_DelBSSRspParamsType;
1894
1895/*---------------------------------------------------------------------------
1896 WDI_ConfigSTARspParamsType
1897---------------------------------------------------------------------------*/
1898typedef struct
1899{
1900 /*Status of the response*/
1901 WDI_Status wdiStatus;
1902
1903 /*STA Idx allocated by HAL*/
1904 wpt_uint8 ucSTAIdx;
1905
1906 /*MAC Address of STA*/
1907 wpt_macAddr macSTA;
1908
1909 /* BSSID Index of BSS to which the station is associated */
1910 wpt_uint8 ucBssIdx;
1911
1912 /* DPU Index - PTK */
1913 wpt_uint8 ucDpuIndex;
1914
1915 /* Bcast DPU Index - GTK */
1916 wpt_uint8 ucBcastDpuIndex;
1917
1918 /* Management DPU Index - IGTK - Why is it called bcastMgmtDpuIdx? */
1919 wpt_uint8 ucBcastMgmtDpuIdx;
1920
1921 /*Unicast DPU signature*/
1922 wpt_uint8 ucUcastSig;
1923
1924 /*Broadcast DPU Signature*/
1925 wpt_uint8 ucBcastSig;
1926
1927 /* IGTK DPU signature*/
1928 wpt_uint8 ucMgmtSig;
1929
1930}WDI_ConfigSTARspParamsType;
1931
1932/*---------------------------------------------------------------------------
1933 WDI_PostAssocRspParamsType
1934---------------------------------------------------------------------------*/
1935typedef struct
1936{
1937 /*Status of the response*/
1938 WDI_Status wdiStatus;
1939
1940 /*Parameters related to the BSS*/
1941 WDI_ConfigBSSRspParamsType bssParams;
1942
1943 /*Parameters related to the self STA*/
1944 WDI_ConfigSTARspParamsType staParams;
1945
1946}WDI_PostAssocRspParamsType;
1947
1948/*---------------------------------------------------------------------------
1949 WDI_DelSTAReqParamsType
1950---------------------------------------------------------------------------*/
1951typedef struct
1952{
1953 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
1954 wpt_uint8 ucSTAIdx;
1955
1956 /*Request status callback offered by UMAC - it is called if the current
1957 req has returned PENDING as status; it delivers the status of sending
1958 the message over the BUS */
1959 WDI_ReqStatusCb wdiReqStatusCB;
1960
1961 /*The user data passed in by UMAC, it will be sent back when the above
1962 function pointer will be called */
1963 void* pUserData;
1964}WDI_DelSTAReqParamsType;
1965
1966/*---------------------------------------------------------------------------
1967 WDI_DelSTARspParamsType
1968---------------------------------------------------------------------------*/
1969typedef struct
1970{
1971 /*Status of the response*/
1972 WDI_Status wdiStatus;
1973
1974 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
1975 wpt_uint8 ucSTAIdx;
1976}WDI_DelSTARspParamsType;
1977
1978/*---------------------------------------------------------------------------
1979 WDI_EncryptType
1980---------------------------------------------------------------------------*/
1981typedef enum
1982{
1983 WDI_ENCR_NONE,
1984 WDI_ENCR_WEP40,
1985 WDI_ENCR_WEP104,
1986 WDI_ENCR_TKIP,
1987 WDI_ENCR_CCMP,
1988#if defined(FEATURE_WLAN_WAPI)
1989 WDI_ENCR_WPI,
1990#endif
1991 WDI_ENCR_AES_128_CMAC
1992} WDI_EncryptType;
1993
1994/*---------------------------------------------------------------------------
1995 WDI_KeyDirectionType
1996---------------------------------------------------------------------------*/
1997typedef enum
1998{
1999 WDI_TX_ONLY,
2000 WDI_RX_ONLY,
2001 WDI_TX_RX,
Jeff Johnson295189b2012-06-20 16:38:30 -07002002 WDI_TX_DEFAULT,
Jeff Johnson295189b2012-06-20 16:38:30 -07002003 WDI_DONOT_USE_KEY_DIRECTION
2004} WDI_KeyDirectionType;
2005
2006#define WDI_MAX_ENCR_KEYS 4
2007#define WDI_MAX_KEY_LENGTH 32
2008#if defined(FEATURE_WLAN_WAPI)
2009#define WDI_MAX_KEY_RSC_LEN 16
2010#define WDI_WAPI_KEY_RSC_LEN 16
2011#else
2012#define WDI_MAX_KEY_RSC_LEN 8
2013#endif
2014
2015typedef struct
2016{
2017 /* Key ID */
2018 wpt_uint8 keyId;
2019 /* 0 for multicast */
2020 wpt_uint8 unicast;
2021 /* Key Direction */
2022 WDI_KeyDirectionType keyDirection;
2023 /* Usage is unknown */
2024 wpt_uint8 keyRsc[WDI_MAX_KEY_RSC_LEN];
2025 /* =1 for authenticator, =0 for supplicant */
2026 wpt_uint8 paeRole;
2027 wpt_uint16 keyLength;
2028 wpt_uint8 key[WDI_MAX_KEY_LENGTH];
2029
2030}WDI_KeysType;
2031
2032/*---------------------------------------------------------------------------
2033 WDI_SetBSSKeyReqInfoType
2034---------------------------------------------------------------------------*/
2035typedef struct
2036{
2037 /*BSS Index of the BSS*/
2038 wpt_uint8 ucBssIdx;
2039
2040 /*Encryption Type used with peer*/
2041 WDI_EncryptType wdiEncType;
2042
2043 /*Number of keys*/
2044 wpt_uint8 ucNumKeys;
2045
2046 /*Array of keys.*/
2047 WDI_KeysType aKeys[WDI_MAX_ENCR_KEYS];
2048
2049 /*Control for Replay Count, 1= Single TID based replay count on Tx
2050 0 = Per TID based replay count on TX */
2051 wpt_uint8 ucSingleTidRc;
2052}WDI_SetBSSKeyReqInfoType;
2053
2054/*---------------------------------------------------------------------------
2055 WDI_SetBSSKeyReqParamsType
2056---------------------------------------------------------------------------*/
2057typedef struct
2058{
2059 /*Key Info */
2060 WDI_SetBSSKeyReqInfoType wdiBSSKeyInfo;
2061
2062 /*Request status callback offered by UMAC - it is called if the current
2063 req has returned PENDING as status; it delivers the status of sending
2064 the message over the BUS */
2065 WDI_ReqStatusCb wdiReqStatusCB;
2066
2067 /*The user data passed in by UMAC, it will be sent back when the above
2068 function pointer will be called */
2069 void* pUserData;
2070}WDI_SetBSSKeyReqParamsType;
2071
2072/*---------------------------------------------------------------------------
2073 WDI_WepType
2074---------------------------------------------------------------------------*/
2075typedef enum
2076{
2077 WDI_WEP_STATIC,
2078 WDI_WEP_DYNAMIC
2079
2080} WDI_WepType;
2081
2082/*---------------------------------------------------------------------------
2083 WDI_RemoveBSSKeyReqInfoType
2084---------------------------------------------------------------------------*/
2085typedef struct
2086{
2087 /*BSS Index of the BSS*/
2088 wpt_uint8 ucBssIdx;
2089
2090 /*Encryption Type used with peer*/
2091 WDI_EncryptType wdiEncType;
2092
2093 /*Key Id*/
2094 wpt_uint8 ucKeyId;
2095
2096 /*STATIC/DYNAMIC. Used in Nullifying in Key Descriptors for Static/Dynamic
2097 keys*/
2098 WDI_WepType wdiWEPType;
2099}WDI_RemoveBSSKeyReqInfoType;
2100
2101/*---------------------------------------------------------------------------
2102 WDI_RemoveBSSKeyReqParamsType
2103---------------------------------------------------------------------------*/
2104typedef struct
2105{
2106 /*Key Info */
2107 WDI_RemoveBSSKeyReqInfoType wdiKeyInfo;
2108
2109 /*Request status callback offered by UMAC - it is called if the current
2110 req has returned PENDING as status; it delivers the status of sending
2111 the message over the BUS */
2112 WDI_ReqStatusCb wdiReqStatusCB;
2113
2114 /*The user data passed in by UMAC, it will be sent back when the above
2115 function pointer will be called */
2116 void* pUserData;
2117}WDI_RemoveBSSKeyReqParamsType;
2118
2119/*---------------------------------------------------------------------------
2120 WDI_SetSTAKeyReqInfoType
2121---------------------------------------------------------------------------*/
2122typedef struct
2123{
2124 /*STA Index*/
2125 wpt_uint8 ucSTAIdx;
2126
2127 /*Encryption Type used with peer*/
2128 WDI_EncryptType wdiEncType;
2129
2130 /*STATIC/DYNAMIC*/
2131 WDI_WepType wdiWEPType;
2132
2133 /*Default WEP key, valid only for static WEP, must between 0 and 3.*/
2134 wpt_uint8 ucDefWEPIdx;
2135
2136 /*Number of keys*/
2137 wpt_uint8 ucNumKeys;
2138
2139 /*Array of keys.*/
2140 WDI_KeysType wdiKey[WDI_MAX_ENCR_KEYS];
2141
2142 /*Control for Replay Count, 1= Single TID based replay count on Tx
2143 0 = Per TID based replay count on TX */
2144 wpt_uint8 ucSingleTidRc;
2145}WDI_SetSTAKeyReqInfoType;
2146
2147/*---------------------------------------------------------------------------
2148 WDI_ConfigBSSReqInfoType
2149---------------------------------------------------------------------------*/
2150typedef struct
2151{
2152 /*Peer BSSID*/
2153 wpt_macAddr macBSSID;
2154
2155 /*Self MAC Address*/
2156 wpt_macAddr macSelfAddr;
2157
2158 /*BSS Type*/
2159 WDI_BssType wdiBSSType;
2160
2161 /*Operational Mode: AP =0, STA = 1*/
2162 wpt_uint8 ucOperMode;
2163
2164 /*Network Type*/
2165 WDI_NwType wdiNWType;
2166
2167 /*Used to classify PURE_11G/11G_MIXED to program MTU*/
2168 wpt_uint8 ucShortSlotTimeSupported;
2169
2170 /*Co-exist with 11a STA*/
2171 wpt_uint8 ucllaCoexist;
2172
2173 /*Co-exist with 11b STA*/
2174 wpt_uint8 ucllbCoexist;
2175
2176 /*Co-exist with 11g STA*/
2177 wpt_uint8 ucllgCoexist;
2178
2179 /*Coexistence with 11n STA*/
2180 wpt_uint8 ucHT20Coexist;
2181
2182 /*Non GF coexist flag*/
2183 wpt_uint8 ucllnNonGFCoexist;
2184
2185 /*TXOP protection support*/
2186 wpt_uint8 ucTXOPProtectionFullSupport;
2187
2188 /*RIFS mode*/
2189 wpt_uint8 ucRIFSMode;
2190
2191 /*Beacon Interval in TU*/
2192 wpt_uint16 usBeaconInterval;
2193
2194 /*DTIM period*/
2195 wpt_uint8 ucDTIMPeriod;
2196
2197 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
2198 wpt_uint8 ucTXChannelWidthSet;
2199
2200 /*Operating channel*/
2201 wpt_uint8 ucCurrentOperChannel;
2202
2203 /*Extension channel for channel bonding*/
2204 wpt_uint8 ucCurrentExtChannel;
2205
2206 /*Context of the station being added in HW.*/
2207 WDI_ConfigStaReqInfoType wdiSTAContext;
2208
2209 /*SSID of the BSS*/
2210 WDI_MacSSid wdiSSID;
2211
2212 /*HAL should update the existing BSS entry, if this flag is set. UMAC will
2213 set this flag in case of RE-ASSOC, where we want to reuse the old BSSID*/
2214 WDI_ConfigAction wdiAction;
2215
2216 /*Basic Rate Set*/
2217 WDI_RateSet wdiRateSet;
2218
2219 /*Enable/Disable HT capabilities of the BSS*/
2220 wpt_uint8 ucHTCapable;
2221
2222 /* Enable/Disable OBSS protection */
2223 wpt_uint8 ucObssProtEnabled;
2224
2225 /*RMF enabled/disabled*/
2226 wpt_uint8 ucRMFEnabled;
2227
2228 /*Determines the current HT Operating Mode operating mode of the
2229 802.11n STA*/
2230 WDI_HTOperatingMode wdiHTOperMod;
2231
2232 /*Dual CTS Protection: 0 - Unused, 1 - Used*/
2233 wpt_uint8 ucDualCTSProtection;
2234
2235 /* Probe Response Max retries */
2236 wpt_uint8 ucMaxProbeRespRetryLimit;
2237
2238 /* To Enable Hidden ssid */
2239 wpt_uint8 bHiddenSSIDEn;
2240
2241 /* To Enable Disable FW Proxy Probe Resp */
2242 wpt_uint8 bProxyProbeRespEn;
2243
2244 /* Boolean to indicate if EDCA params are valid. UMAC might not have valid
2245 EDCA params or might not desire to apply EDCA params during config BSS.
2246 0 implies Not Valid ; Non-Zero implies valid*/
2247 wpt_uint8 ucEDCAParamsValid;
2248
2249 /*EDCA Parameters for BK*/
2250 WDI_EdcaParamRecord wdiBKEDCAParams;
2251
2252 /*EDCA Parameters for BE*/
2253 WDI_EdcaParamRecord wdiBEEDCAParams;
2254
2255 /*EDCA Parameters for VI*/
2256 WDI_EdcaParamRecord wdiVIEDCAParams;
2257
2258 /*EDCA Parameters for VO*/
2259 WDI_EdcaParamRecord wdiVOEDCAParams;
2260
2261#ifdef WLAN_FEATURE_VOWIFI
2262 /*max power to be used after applying the power constraint, if any */
2263 wpt_int8 cMaxTxPower;
2264#endif
2265
2266 /* Persona for the BSS can be STA,AP,GO,CLIENT, same as Connection Mode */
2267 wpt_uint8 ucPersona;
2268
2269 /* Spectrum Mangement Indicator */
2270 wpt_uint8 bSpectrumMgtEn;
2271
2272#ifdef WLAN_FEATURE_VOWIFI_11R
2273 wpt_uint8 bExtSetStaKeyParamValid;
2274 WDI_SetSTAKeyReqInfoType wdiExtSetKeyParam;
2275#endif
2276
Jeff Johnsone7245742012-09-05 17:12:55 -07002277#ifdef WLAN_FEATURE_11AC
2278 wpt_uint8 ucVhtCapableSta;
2279 wpt_uint8 ucVhtTxChannelWidthSet;
2280#endif
2281
Jeff Johnson295189b2012-06-20 16:38:30 -07002282}WDI_ConfigBSSReqInfoType;
2283
2284/*---------------------------------------------------------------------------
2285 WDI_PostAssocReqParamsType
2286---------------------------------------------------------------------------*/
2287typedef struct
2288{
2289 /*Config STA arguments.*/
2290 WDI_ConfigStaReqInfoType wdiSTAParams;
2291
2292 /*Config BSS Arguments*/
2293 WDI_ConfigBSSReqInfoType wdiBSSParams;
2294
2295 /*Request status callback offered by UMAC - it is called if the current
2296 req has returned PENDING as status; it delivers the status of sending
2297 the message over the BUS */
2298 WDI_ReqStatusCb wdiReqStatusCB;
2299
2300 /*The user data passed in by UMAC, it will be sent back when the above
2301 function pointer will be called */
2302 void* pUserData;
2303}WDI_PostAssocReqParamsType;
2304
2305/*---------------------------------------------------------------------------
2306 WDI_ConfigBSSReqParamsType
2307---------------------------------------------------------------------------*/
2308typedef struct
2309{
2310 /*Info for the Join request that will be sent down to the device*/
2311 WDI_ConfigBSSReqInfoType wdiReqInfo;
2312
2313 /*Request status callback offered by UMAC - it is called if the current
2314 req has returned PENDING as status; it delivers the status of sending
2315 the message over the BUS */
2316 WDI_ReqStatusCb wdiReqStatusCB;
2317
2318 /*The user data passed in by UMAC, it will be sent back when the above
2319 function pointer will be called */
2320 void* pUserData;
2321}WDI_ConfigBSSReqParamsType;
2322
2323/*---------------------------------------------------------------------------
2324 WDI_SetSTAKeyReqParamsType
2325---------------------------------------------------------------------------*/
2326typedef struct
2327{
2328 /*Key Info*/
2329 WDI_SetSTAKeyReqInfoType wdiKeyInfo;
2330
2331 /*Request status callback offered by UMAC - it is called if the current
2332 req has returned PENDING as status; it delivers the status of sending
2333 the message over the BUS */
2334 WDI_ReqStatusCb wdiReqStatusCB;
2335
2336 /*The user data passed in by UMAC, it will be sent back when the above
2337 function pointer will be called */
2338 void* pUserData;
2339}WDI_SetSTAKeyReqParamsType;
2340
2341/*---------------------------------------------------------------------------
2342 WDI_RemoveSTAKeyReqInfoType
2343---------------------------------------------------------------------------*/
2344typedef struct
2345{
2346 /*STA Index*/
2347 wpt_uint8 ucSTAIdx;
2348
2349 /*Encryption Type used with peer*/
2350 WDI_EncryptType wdiEncType;
2351
2352 /*Key Id*/
2353 wpt_uint8 ucKeyId;
2354
2355 /*Whether to invalidate the Broadcast key or Unicast key. In case of WEP,
2356 the same key is used for both broadcast and unicast.*/
2357 wpt_uint8 ucUnicast;
2358}WDI_RemoveSTAKeyReqInfoType;
2359
2360/*---------------------------------------------------------------------------
2361 WDI_RemoveSTAKeyReqParamsType
2362---------------------------------------------------------------------------*/
2363typedef struct
2364{
2365 /*Key Info */
2366 WDI_RemoveSTAKeyReqInfoType wdiKeyInfo;
2367
2368 /*Request status callback offered by UMAC - it is called if the current
2369 req has returned PENDING as status; it delivers the status of sending
2370 the message over the BUS */
2371 WDI_ReqStatusCb wdiReqStatusCB;
2372
2373 /*The user data passed in by UMAC, it will be sent back when the above
2374 function pointer will be called */
2375 void* pUserData;
2376}WDI_RemoveSTAKeyReqParamsType;
2377
2378/*---------------------------------------------------------------------------
2379 QOS Parameters
2380---------------------------------------------------------------------------*/
2381
2382/*---------------------------------------------------------------------------
2383 WDI_TSInfoTfc
2384---------------------------------------------------------------------------*/
2385typedef struct
2386{
2387 wpt_uint16 ackPolicy:2;
2388 wpt_uint16 userPrio:3;
2389 wpt_uint16 psb:1;
2390 wpt_uint16 aggregation : 1;
2391 wpt_uint16 accessPolicy : 2;
2392 wpt_uint16 direction : 2;
2393 wpt_uint16 tsid : 4;
2394 wpt_uint16 trafficType : 1;
2395} WDI_TSInfoTfc;
2396
2397/*---------------------------------------------------------------------------
2398 WDI_TSInfoSch
2399---------------------------------------------------------------------------*/
2400typedef struct
2401{
2402 wpt_uint8 rsvd : 7;
2403 wpt_uint8 schedule : 1;
2404} WDI_TSInfoSch;
2405
2406/*---------------------------------------------------------------------------
2407 WDI_TSInfoType
2408---------------------------------------------------------------------------*/
2409typedef struct
2410{
2411 WDI_TSInfoTfc wdiTraffic;
2412 WDI_TSInfoSch wdiSchedule;
2413} WDI_TSInfoType;
2414
2415/*---------------------------------------------------------------------------
2416 WDI_TspecIEType
2417---------------------------------------------------------------------------*/
2418typedef struct
2419{
2420 wpt_uint8 ucType;
2421 wpt_uint8 ucLength;
2422 WDI_TSInfoType wdiTSinfo;
2423 wpt_uint16 usNomMsduSz;
2424 wpt_uint16 usMaxMsduSz;
2425 wpt_uint32 uMinSvcInterval;
2426 wpt_uint32 uMaxSvcInterval;
2427 wpt_uint32 uInactInterval;
2428 wpt_uint32 uSuspendInterval;
2429 wpt_uint32 uSvcStartTime;
2430 wpt_uint32 uMinDataRate;
2431 wpt_uint32 uMeanDataRate;
2432 wpt_uint32 uPeakDataRate;
2433 wpt_uint32 uMaxBurstSz;
2434 wpt_uint32 uDelayBound;
2435 wpt_uint32 uMinPhyRate;
2436 wpt_uint16 usSurplusBw;
2437 wpt_uint16 usMediumTime;
2438}WDI_TspecIEType;
2439
2440/*---------------------------------------------------------------------------
2441 WDI_AddTSReqInfoType
2442---------------------------------------------------------------------------*/
2443typedef struct
2444{
2445 /*STA Index*/
2446 wpt_uint8 ucSTAIdx;
2447
2448 /*Identifier for TSpec*/
2449 wpt_uint16 ucTspecIdx;
2450
2451 /*Tspec IE negotiated OTA*/
2452 WDI_TspecIEType wdiTspecIE;
2453
2454 /*UAPSD delivery and trigger enabled flags */
2455 wpt_uint8 ucUapsdFlags;
2456
2457 /*SI for each AC*/
2458 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
2459
2460 /*Suspend Interval for each AC*/
2461 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
2462
2463 /*DI for each AC*/
2464 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
2465
2466}WDI_AddTSReqInfoType;
2467
2468
2469/*---------------------------------------------------------------------------
2470 WDI_AddTSReqParamsType
2471---------------------------------------------------------------------------*/
2472typedef struct
2473{
2474 /*TSpec Info */
2475 WDI_AddTSReqInfoType wdiTsInfo;
2476
2477 /*Request status callback offered by UMAC - it is called if the current
2478 req has returned PENDING as status; it delivers the status of sending
2479 the message over the BUS */
2480 WDI_ReqStatusCb wdiReqStatusCB;
2481
2482 /*The user data passed in by UMAC, it will be sent back when the above
2483 function pointer will be called */
2484 void* pUserData;
2485}WDI_AddTSReqParamsType;
2486
2487/*---------------------------------------------------------------------------
2488 WDI_DelTSReqInfoType
2489---------------------------------------------------------------------------*/
2490typedef struct
2491{
2492 /*STA Index*/
2493 wpt_uint8 ucSTAIdx;
2494
2495 /*Identifier for TSpec*/
2496 wpt_uint16 ucTspecIdx;
2497
2498 /*BSSID of the BSS*/
2499 wpt_macAddr macBSSID;
2500}WDI_DelTSReqInfoType;
2501
2502/*---------------------------------------------------------------------------
2503 WDI_DelTSReqParamsType
2504---------------------------------------------------------------------------*/
2505typedef struct
2506{
2507 /*Del TSpec Info*/
2508 WDI_DelTSReqInfoType wdiDelTSInfo;
2509
2510 /*Request status callback offered by UMAC - it is called if the current
2511 req has returned PENDING as status; it delivers the status of sending
2512 the message over the BUS */
2513 WDI_ReqStatusCb wdiReqStatusCB;
2514
2515 /*The user data passed in by UMAC, it will be sent back when the above
2516 function pointer will be called */
2517 void* pUserData;
2518}WDI_DelTSReqParamsType;
2519
2520/*---------------------------------------------------------------------------
2521 WDI_UpdateEDCAInfoType
2522---------------------------------------------------------------------------*/
2523typedef struct
2524{
krunal soni0b366c02013-07-17 19:55:57 -07002525 /*BSS Index of the BSS*/
2526 wpt_uint16 ucBssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07002527
Jeff Johnson295189b2012-06-20 16:38:30 -07002528 /*EDCA params for BE*/
2529 WDI_EdcaParamRecord wdiEdcaBEInfo;
2530
2531 /*EDCA params for BK*/
2532 WDI_EdcaParamRecord wdiEdcaBKInfo;
2533
2534 /*EDCA params for VI*/
2535 WDI_EdcaParamRecord wdiEdcaVIInfo;
2536
2537 /*EDCA params for VO*/
2538 WDI_EdcaParamRecord wdiEdcaVOInfo;
2539
2540}WDI_UpdateEDCAInfoType;
2541
2542/*---------------------------------------------------------------------------
2543 WDI_UpdateEDCAParamsType
2544---------------------------------------------------------------------------*/
2545typedef struct
2546{
2547 /*EDCA Info */
2548 WDI_UpdateEDCAInfoType wdiEDCAInfo;
2549
2550 /*Request status callback offered by UMAC - it is called if the current
2551 req has returned PENDING as status; it delivers the status of sending
2552 the message over the BUS */
2553 WDI_ReqStatusCb wdiReqStatusCB;
2554
2555 /*The user data passed in by UMAC, it will be sent back when the above
2556 function pointer will be called */
2557 void* pUserData;
2558}WDI_UpdateEDCAParamsType;
2559
2560/*---------------------------------------------------------------------------
2561 WDI_AddBASessionReqinfoType
2562---------------------------------------------------------------------------*/
2563typedef struct
2564{
2565 /*Indicates the station for which BA is added..*/
2566 wpt_uint8 ucSTAIdx;
2567
2568 /*The peer mac address*/
2569 wpt_macAddr macPeerAddr;
2570
2571 /*TID for which BA was negotiated*/
2572 wpt_uint8 ucBaTID;
2573
2574 /*Delayed or imediate */
2575 wpt_uint8 ucBaPolicy;
2576
2577 /*The number of buffers for this TID (baTID)*/
2578 wpt_uint16 usBaBufferSize;
2579
2580 /*BA timeout in TU's*/
2581 wpt_uint16 usBaTimeout;
2582
2583 /*b0..b3 - Fragment Number - Always set to 0
2584 b4..b15 - Starting Sequence Number of first MSDU for which this BA is setup*/
2585 wpt_uint16 usBaSSN;
2586
2587 /*Originator/Recipient*/
2588 wpt_uint8 ucBaDirection;
2589
2590}WDI_AddBASessionReqinfoType;
2591
2592
2593/*---------------------------------------------------------------------------
2594 WDI_AddBASessionReqParamsType
2595---------------------------------------------------------------------------*/
2596typedef struct
2597{
2598 /*BA Session Info Type*/
2599 WDI_AddBASessionReqinfoType wdiBASessionInfoType;
2600
2601 /*Request status callback offered by UMAC - it is called if the current
2602 req has returned PENDING as status; it delivers the status of sending
2603 the message over the BUS */
2604 WDI_ReqStatusCb wdiReqStatusCB;
2605
2606 /*The user data passed in by UMAC, it will be sent back when the above
2607 function pointer will be called */
2608 void* pUserData;
2609}WDI_AddBASessionReqParamsType;
2610
2611/*---------------------------------------------------------------------------
2612 WDI_AddBASessionRspParamsType
2613---------------------------------------------------------------------------*/
2614typedef struct
2615{
2616 /*Status of the response*/
2617 WDI_Status wdiStatus;
2618
2619 /* Dialog token */
2620 wpt_uint8 ucBaDialogToken;
2621
2622 /* TID for which the BA session has been setup */
2623 wpt_uint8 ucBaTID;
2624
2625 /* BA Buffer Size allocated for the current BA session */
2626 wpt_uint8 ucBaBufferSize;
2627
2628 /* BA session ID */
2629 wpt_uint16 usBaSessionID;
2630
2631 /* Reordering Window buffer */
2632 wpt_uint8 ucWinSize;
2633
2634 /*Station Index to id the sta */
2635 wpt_uint8 ucSTAIdx;
2636
2637 /* Starting Sequence Number */
2638 wpt_uint16 usBaSSN;
2639
2640}WDI_AddBASessionRspParamsType;
2641
2642/*---------------------------------------------------------------------------
Siddharth Bhal171788a2014-09-29 21:02:40 +05302643 WDI_SpoofMacAddrRspParamType
2644---------------------------------------------------------------------------*/
2645typedef struct
2646{
2647 /* wdi status */
2648 wpt_uint32 wdiStatus;
2649
2650 /* Reserved Field */
2651 wpt_uint32 reserved;
2652
2653}WDI_SpoofMacAddrRspParamType;
2654/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07002655 WDI_AddBAReqinfoType
2656---------------------------------------------------------------------------*/
2657typedef struct
2658{
2659 /*Indicates the station for which BA is added..*/
2660 wpt_uint8 ucSTAIdx;
2661
2662 /* Session Id */
2663 wpt_uint8 ucBaSessionID;
2664
2665 /* Reorder Window Size */
2666 wpt_uint8 ucWinSize;
2667
2668#ifdef FEATURE_ON_CHIP_REORDERING
2669 wpt_boolean bIsReorderingDoneOnChip;
2670#endif
2671
2672}WDI_AddBAReqinfoType;
2673
2674
2675/*---------------------------------------------------------------------------
2676 WDI_AddBAReqParamsType
2677---------------------------------------------------------------------------*/
2678typedef struct
2679{
2680 /*BA Info Type*/
2681 WDI_AddBAReqinfoType wdiBAInfoType;
2682
2683 /*Request status callback offered by UMAC - it is called if the current
2684 req has returned PENDING as status; it delivers the status of sending
2685 the message over the BUS */
2686 WDI_ReqStatusCb wdiReqStatusCB;
2687
2688 /*The user data passed in by UMAC, it will be sent back when the above
2689 function pointer will be called */
2690 void* pUserData;
2691}WDI_AddBAReqParamsType;
2692
2693
2694/*---------------------------------------------------------------------------
2695 WDI_AddBARspinfoType
2696---------------------------------------------------------------------------*/
2697typedef struct
2698{
2699 /*Status of the response*/
2700 WDI_Status wdiStatus;
2701
2702 /* Dialog token */
2703 wpt_uint8 ucBaDialogToken;
2704
2705}WDI_AddBARspinfoType;
2706
2707/*---------------------------------------------------------------------------
2708 WDI_TriggerBAReqCandidateType
2709---------------------------------------------------------------------------*/
2710typedef struct
2711{
2712 /* STA index */
2713 wpt_uint8 ucSTAIdx;
2714
2715 /* TID bit map for the STA's*/
2716 wpt_uint8 ucTidBitmap;
2717
2718}WDI_TriggerBAReqCandidateType;
2719
2720
2721/*---------------------------------------------------------------------------
2722 WDI_TriggerBAReqinfoType
2723---------------------------------------------------------------------------*/
2724typedef struct
2725{
2726 /*Indicates the station for which BA is added..*/
2727 wpt_uint8 ucSTAIdx;
2728
2729 /* Session Id */
2730 wpt_uint8 ucBASessionID;
2731
2732 /* Trigger BA Request candidate count */
2733 wpt_uint16 usBACandidateCnt;
2734
2735 /* WDI_TriggerBAReqCandidateType followed by this*/
2736
2737}WDI_TriggerBAReqinfoType;
2738
2739
2740/*---------------------------------------------------------------------------
2741 WDI_TriggerBAReqParamsType
2742---------------------------------------------------------------------------*/
2743typedef struct
2744{
2745 /*BA Trigger Info Type*/
2746 WDI_TriggerBAReqinfoType wdiTriggerBAInfoType;
2747
2748 /*Request status callback offered by UMAC - it is called if the current
2749 req has returned PENDING as status; it delivers the status of sending
2750 the message over the BUS */
2751 WDI_ReqStatusCb wdiReqStatusCB;
2752
2753 /*The user data passed in by UMAC, it will be sent back when the above
2754 function pointer will be called */
2755 void* pUserData;
2756}WDI_TriggerBAReqParamsType;
2757
2758/*---------------------------------------------------------------------------
2759 WDI_AddBAInfoType
2760---------------------------------------------------------------------------*/
2761typedef struct
2762{
2763 wpt_uint16 fBaEnable : 1;
2764 wpt_uint16 startingSeqNum: 12;
2765 wpt_uint16 reserved : 3;
2766}WDI_AddBAInfoType;
2767
2768/*---------------------------------------------------------------------------
2769 WDI_TriggerBARspCandidateType
2770---------------------------------------------------------------------------*/
2771#define STA_MAX_TC 8
2772
2773typedef struct
2774{
2775 /* STA index */
2776 wpt_macAddr macSTA;
2777
2778 /* BA Info */
2779 WDI_AddBAInfoType wdiBAInfo[STA_MAX_TC];
2780}WDI_TriggerBARspCandidateType;
2781
2782/*---------------------------------------------------------------------------
2783 WDI_TriggerBARspParamsType
2784---------------------------------------------------------------------------*/
2785typedef struct
2786{
2787 /*Status of the response*/
2788 WDI_Status wdiStatus;
2789
2790 /*BSSID of the BSS*/
2791 wpt_macAddr macBSSID;
2792
2793 /* Trigger BA response candidate count */
2794 wpt_uint16 usBaCandidateCnt;
2795
2796 /* WDI_TriggerBARspCandidateType followed by this*/
2797
2798}WDI_TriggerBARspParamsType;
2799
2800/*---------------------------------------------------------------------------
2801 WDI_DelBAReqinfoType
2802---------------------------------------------------------------------------*/
2803typedef struct
2804{
2805 /*Indicates the station for which BA is added..*/
2806 wpt_uint8 ucSTAIdx;
2807
2808 /*TID for which BA was negotiated*/
2809 wpt_uint8 ucBaTID;
2810
2811 /*Originator/Recipient*/
2812 wpt_uint8 ucBaDirection;
2813
2814}WDI_DelBAReqinfoType;
2815
2816/*---------------------------------------------------------------------------
2817 WDI_DelBAReqParamsType
2818---------------------------------------------------------------------------*/
2819typedef struct
2820{
2821 /*BA Info */
2822 WDI_DelBAReqinfoType wdiBAInfo;
2823
2824 /*Request status callback offered by UMAC - it is called if the current
2825 req has returned PENDING as status; it delivers the status of sending
2826 the message over the BUS */
2827 WDI_ReqStatusCb wdiReqStatusCB;
2828
2829 /*The user data passed in by UMAC, it will be sent back when the above
2830 function pointer will be called */
2831 void* pUserData;
2832}WDI_DelBAReqParamsType;
2833
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08002834/*---------------------------------------------------------------------------
2835 WDI_UpdateChannelReqinfoType
2836---------------------------------------------------------------------------*/
2837typedef struct
2838{
2839 /** primary 20 MHz channel frequency in mhz */
2840 wpt_uint32 mhz;
2841 /** Center frequency 1 in MHz*/
2842 wpt_uint32 band_center_freq1;
2843 /** Center frequency 2 in MHz - valid only for 11acvht 80plus80 mode*/
2844 wpt_uint32 band_center_freq2;
2845 /* The first 26 bits are a bit mask to indicate any channel flags,
2846 (see WLAN_HAL_CHAN_FLAG*)
2847 The last 6 bits indicate the mode (see tChannelPhyModeType)*/
2848 wpt_uint32 channel_info;
2849 /** contains min power, max power, reg power and reg class id. */
2850 wpt_uint32 reg_info_1;
2851 /** contains antennamax */
2852 wpt_uint32 reg_info_2;
2853}WDI_UpdateChannelReqinfoType;
2854
2855typedef struct
2856{
2857 wpt_uint8 numchan;
2858 WDI_UpdateChannelReqinfoType *pchanParam;
2859}WDI_UpdateChannelReqType;
2860/*---------------------------------------------------------------------------
2861 WDI_UpdateChReqParamsType
2862---------------------------------------------------------------------------*/
2863typedef struct
2864{
2865 /*BA Info */
2866 WDI_UpdateChannelReqType wdiUpdateChanParams;
2867
2868 /*Request status callback offered by UMAC - it is called if the current
2869 req has returned PENDING as status; it delivers the status of sending
2870 the message over the BUS */
2871 WDI_ReqStatusCb wdiReqStatusCB;
2872
2873 /*The user data passed in by UMAC, it will be sent back when the above
2874 function pointer will be called */
2875 void* pUserData;
2876}WDI_UpdateChReqParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07002877
2878/*---------------------------------------------------------------------------
2879 WDI_SwitchCHRspParamsType
2880---------------------------------------------------------------------------*/
2881typedef struct
2882{
2883 /*Status of the response*/
2884 WDI_Status wdiStatus;
2885
2886 /*Indicates the channel that WLAN is on*/
2887 wpt_uint8 ucChannel;
2888
2889#ifdef WLAN_FEATURE_VOWIFI
2890 /*HAL fills in the tx power used for mgmt frames in this field.*/
2891 wpt_int8 ucTxMgmtPower;
2892#endif
2893
2894}WDI_SwitchCHRspParamsType;
2895
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08002896/*--------------------------------------------------------------------
2897 WDI_SwitchChRspParamsType_V1
2898--------------------------------------------------------------------*/
2899typedef struct
2900{
2901 /*Status of the response*/
2902 WDI_Status wdiStatus;
2903
2904 /*Indicates the channel that WLAN is on*/
2905 wpt_uint8 ucChannel;
2906
2907#ifdef WLAN_FEATURE_VOWIFI
2908 /*HAL fills in the tx power used for mgmt frames in this field.*/
2909 wpt_int8 ucTxMgmtPower;
2910#endif
2911
2912 /* Source of Channel Switch */
2913 WDI_ChanSwitchSource channelSwitchSrc;
2914}WDI_SwitchChRspParamsType_V1;
2915
Jeff Johnson295189b2012-06-20 16:38:30 -07002916/*---------------------------------------------------------------------------
2917 WDI_ConfigSTAReqParamsType
2918---------------------------------------------------------------------------*/
2919typedef struct
2920{
2921 /*Info for the Join request that will be sent down to the device*/
2922 WDI_ConfigStaReqInfoType wdiReqInfo;
2923
2924 /*Request status callback offered by UMAC - it is called if the current
2925 req has returned PENDING as status; it delivers the status of sending
2926 the message over the BUS */
2927 WDI_ReqStatusCb wdiReqStatusCB;
2928
2929 /*The user data passed in by UMAC, it will be sent back when the above
2930 function pointer will be called */
2931 void* pUserData;
2932}WDI_ConfigSTAReqParamsType;
2933
2934
2935/*---------------------------------------------------------------------------
2936 WDI_UpdateBeaconParamsInfoType
2937---------------------------------------------------------------------------*/
2938
2939typedef struct
2940{
2941 /*BSS Index of the BSS*/
2942 wpt_uint8 ucBssIdx;
2943
2944 /*shortPreamble mode. HAL should update all the STA rates when it
2945 receives this message*/
2946 wpt_uint8 ucfShortPreamble;
2947 /* short Slot time.*/
2948 wpt_uint8 ucfShortSlotTime;
2949 /* Beacon Interval */
2950 wpt_uint16 usBeaconInterval;
2951 /*Protection related */
2952 wpt_uint8 ucllaCoexist;
2953 wpt_uint8 ucllbCoexist;
2954 wpt_uint8 ucllgCoexist;
2955 wpt_uint8 ucHt20MhzCoexist;
2956 wpt_uint8 ucllnNonGFCoexist;
2957 wpt_uint8 ucfLsigTXOPProtectionFullSupport;
2958 wpt_uint8 ucfRIFSMode;
2959
2960 wpt_uint16 usChangeBitmap;
2961}WDI_UpdateBeaconParamsInfoType;
2962
Mohit Khanna4a70d262012-09-11 16:30:12 -07002963#ifdef WLAN_FEATURE_11AC
2964typedef struct
2965{
2966 wpt_uint16 opMode;
2967 wpt_uint16 staId;
2968}WDI_UpdateVHTOpMode;
2969#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07002970
2971/*---------------------------------------------------------------------------
2972 WDI_UpdateBeaconParamsType
2973---------------------------------------------------------------------------*/
2974typedef struct
2975{
2976 /*Update Beacon Params Info*/
2977 WDI_UpdateBeaconParamsInfoType wdiUpdateBeaconParamsInfo;
2978
2979 /*Request status callback offered by UMAC - it is called if the current
2980 req has returned PENDING as status; it delivers the status of sending
2981 the message over the BUS */
2982 WDI_ReqStatusCb wdiReqStatusCB;
2983
2984 /*The user data passed in by UMAC, it will be sent back when the above
2985 function pointer will be called */
2986 void* pUserData;
2987}WDI_UpdateBeaconParamsType;
2988
2989/*---------------------------------------------------------------------------
2990 WDI_SendBeaconParamsInfoType
2991---------------------------------------------------------------------------*/
2992
2993typedef struct {
2994
2995 /*BSSID of the BSS*/
2996 wpt_macAddr macBSSID;
2997
2998 /* Beacon data */
2999 wpt_uint8 beacon[WDI_BEACON_TEMPLATE_SIZE];
3000
3001 /* length of the template */
3002 wpt_uint32 beaconLength;
3003
Jeff Johnson295189b2012-06-20 16:38:30 -07003004 /* TIM IE offset from the beginning of the template.*/
3005 wpt_uint32 timIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07003006
Jeff Johnson295189b2012-06-20 16:38:30 -07003007 /* P2P IE offset from the beginning of the template */
3008 wpt_uint16 usP2PIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07003009} WDI_SendBeaconParamsInfoType;
3010
3011/*---------------------------------------------------------------------------
3012 WDI_SendBeaconParamsType
3013---------------------------------------------------------------------------*/
3014typedef struct
3015{
3016 /*Send Beacon Params Info*/
3017 WDI_SendBeaconParamsInfoType wdiSendBeaconParamsInfo;
3018
3019 /*Request status callback offered by UMAC - it is called if the current
3020 req has returned PENDING as status; it delivers the status of sending
3021 the message over the BUS */
3022 WDI_ReqStatusCb wdiReqStatusCB;
3023
3024 /*The user data passed in by UMAC, it will be sent back when the above
3025 function pointer will be called */
3026 void* pUserData;
3027}WDI_SendBeaconParamsType;
3028
3029/*---------------------------------------------------------------------------
3030 WDI_LinkStateType
3031---------------------------------------------------------------------------*/
3032typedef enum
3033{
3034 WDI_LINK_IDLE_STATE = 0,
3035 WDI_LINK_PREASSOC_STATE = 1,
3036 WDI_LINK_POSTASSOC_STATE = 2,
3037 WDI_LINK_AP_STATE = 3,
3038 WDI_LINK_IBSS_STATE = 4,
3039
3040 // BT-AMP Case
3041 WDI_LINK_BTAMP_PREASSOC_STATE = 5,
3042 WDI_LINK_BTAMP_POSTASSOC_STATE = 6,
3043 WDI_LINK_BTAMP_AP_STATE = 7,
3044 WDI_LINK_BTAMP_STA_STATE = 8,
3045
3046 // Reserved for HAL internal use
3047 WDI_LINK_LEARN_STATE = 9,
3048 WDI_LINK_SCAN_STATE = 10,
3049 WDI_LINK_FINISH_SCAN_STATE = 11,
3050 WDI_LINK_INIT_CAL_STATE = 12,
3051 WDI_LINK_FINISH_CAL_STATE = 13,
Jeff Johnson295189b2012-06-20 16:38:30 -07003052 WDI_LINK_LISTEN_STATE = 14,
Gopichand Nakkala924e4552013-05-08 19:18:14 +05303053 WDI_LINK_SEND_ACTION_STATE = 15,
Jeff Johnson295189b2012-06-20 16:38:30 -07003054 WDI_LINK_MAX = 0x7FFFFFFF
3055} WDI_LinkStateType;
3056
3057/*---------------------------------------------------------------------------
3058 WDI_SetLinkReqInfoType
3059---------------------------------------------------------------------------*/
3060typedef struct
3061{
3062 /*BSSID of the BSS*/
3063 wpt_macAddr macBSSID;
3064
3065 /*Link state*/
3066 WDI_LinkStateType wdiLinkState;
3067
3068 /*BSSID of the BSS*/
3069 wpt_macAddr macSelfStaMacAddr;
3070}WDI_SetLinkReqInfoType;
3071
3072/*---------------------------------------------------------------------------
3073 WDI_SetLinkReqParamsType
3074---------------------------------------------------------------------------*/
3075typedef struct
3076{
3077 /*Link Info*/
3078 WDI_SetLinkReqInfoType wdiLinkInfo;
3079
3080 /*Request status callback offered by UMAC - it is called if the current
3081 req has returned PENDING as status; it delivers the status of sending
3082 the message over the BUS */
3083 WDI_ReqStatusCb wdiReqStatusCB;
3084
3085 /*The user data passed in by UMAC, it will be sent back when the above
3086 function pointer will be called */
3087 void* pUserData;
3088}WDI_SetLinkReqParamsType;
3089
3090/*---------------------------------------------------------------------------
3091 WDI_GetStatsParamsInfoType
3092---------------------------------------------------------------------------*/
3093typedef struct
3094{
3095 /*Indicates the station for which Get Stats are requested..*/
3096 wpt_uint8 ucSTAIdx;
3097
3098 /* categories of stats requested */
3099 wpt_uint32 uStatsMask;
3100}WDI_GetStatsParamsInfoType;
3101
3102/*---------------------------------------------------------------------------
3103 WDI_GetStatsReqParamsType
3104---------------------------------------------------------------------------*/
3105typedef struct
3106{
3107 /*Get Stats Params Info*/
3108 WDI_GetStatsParamsInfoType wdiGetStatsParamsInfo;
3109
3110 /*Request status callback offered by UMAC - it is called if the current
3111 req has returned PENDING as status; it delivers the status of sending
3112 the message over the BUS */
3113 WDI_ReqStatusCb wdiReqStatusCB;
3114
3115 /*The user data passed in by UMAC, it will be sent back when the above
3116 function pointer will be called */
3117 void* pUserData;
3118}WDI_GetStatsReqParamsType;
3119
3120/*---------------------------------------------------------------------------
3121 WDI_GetStatsRspParamsType
3122---------------------------------------------------------------------------*/
3123typedef struct
3124{
3125 /*message type is same as the request type*/
3126 wpt_uint16 usMsgType;
3127
3128 /* length of the entire request, includes the pStatsBuf length too*/
3129 wpt_uint16 usMsgLen;
3130
3131 /*Result of the operation*/
3132 WDI_Status wdiStatus;
3133
3134 /*Indicates the station for which Get Stats are requested..*/
3135 wpt_uint8 ucSTAIdx;
3136
3137 /* categories of stats requested */
3138 wpt_uint32 uStatsMask;
3139
3140 /* The Stats buffer starts here and can be an aggregate of more than one statistics
3141 * structure depending on statsMask.*/
3142}WDI_GetStatsRspParamsType;
3143
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003144#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08003145/*---------------------------------------------------------------------------
3146 WDI_GetRoamRssiParamsInfoType
3147---------------------------------------------------------------------------*/
3148typedef struct
3149{
3150 /*Indicates the station for which Get Stats are requested..*/
3151 wpt_uint8 ucSTAIdx;
3152
3153 /* categories of stats requested */
3154 wpt_uint32 uStatsMask;
3155}WDI_GetRoamRssiParamsInfoType;
3156
3157/*---------------------------------------------------------------------------
3158 WDI_GetRoamRssiReqParamsType
3159---------------------------------------------------------------------------*/
3160typedef struct
3161{
3162 /*Get Roam Rssi Params Info*/
3163 WDI_GetRoamRssiParamsInfoType wdiGetRoamRssiParamsInfo;
3164
3165 /*Request status callback offered by UMAC - it is called if the current
3166 req has returned PENDING as status; it delivers the status of sending
3167 the message over the BUS */
3168 WDI_ReqStatusCb wdiReqStatusCB;
3169
3170 /*The user data passed in by UMAC, it will be sent back when the above
3171 function pointer will be called */
3172 void* pUserData;
3173}WDI_GetRoamRssiReqParamsType;
3174
3175/*---------------------------------------------------------------------------
3176 WDI_GetRoamRssiRspParamsType
3177---------------------------------------------------------------------------*/
3178typedef struct
3179{
3180 /*Result of the operation*/
3181 WDI_Status wdiStatus;
3182
3183 /*Indicates the station for which Get Stats are requested..*/
3184 wpt_uint8 ucSTAIdx;
3185
3186 /* roam rssi requested */
3187 wpt_int8 rssi;
3188
3189 /* The Stats buffer starts here and can be an aggregate of more than one statistics
3190 * structure depending on statsMask.*/
3191}WDI_GetRoamRssiRspParamsType;
3192#endif
3193
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003194#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07003195/*---------------------------------------------------------------------------
3196 WDI_TSMStatsParamsInfoType
3197---------------------------------------------------------------------------*/
3198typedef struct
3199{
3200 /*Indicates the station for which Get Stats are requested..*/
3201 wpt_uint8 ucTid;
3202
3203 wpt_macAddr bssid;
3204}WDI_TSMStatsParamsInfoType;
3205
3206/*---------------------------------------------------------------------------
3207 WDI_TSMStatsReqParamsType
3208---------------------------------------------------------------------------*/
3209typedef struct
3210{
3211 /*Get TSM Stats Params Info*/
3212 WDI_TSMStatsParamsInfoType wdiTsmStatsParamsInfo;
3213
3214 WDI_ReqStatusCb wdiReqStatusCB;
3215
3216 /*The user data passed in by UMAC, it will be sent back when the above
3217 function pointer will be called */
3218 void* pUserData;
3219
3220}WDI_TSMStatsReqParamsType;
3221
3222
3223/*---------------------------------------------------------------------------
3224 WDI_TSMStatsRspParamsType
3225---------------------------------------------------------------------------*/
3226typedef struct
3227{
3228 /*Indicates the status of the operation */
3229 WDI_Status wdiStatus;
3230
3231 wpt_uint16 UplinkPktQueueDly;
3232 wpt_uint16 UplinkPktQueueDlyHist[4];
3233 wpt_uint32 UplinkPktTxDly;
3234 wpt_uint16 UplinkPktLoss;
3235 wpt_uint16 UplinkPktCount;
3236 wpt_uint8 RoamingCount;
3237 wpt_uint16 RoamingDly;
3238}WDI_TSMStatsRspParamsType;
3239
3240
3241#endif
3242/*---------------------------------------------------------------------------
3243 WDI_UpdateCfgReqParamsType
3244---------------------------------------------------------------------------*/
3245typedef struct
3246{
3247 /*This is a TLV formatted buffer containing all config values that can
3248 be set through the DAL Interface
3249
3250 The TLV is expected to be formatted like this:
3251
3252 0 7 15 31 ....
3253 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
3254
3255 Or from a C construct point of VU it would look like this:
3256
3257 typedef struct WPT_PACK_POST
3258 {
3259 #ifdef WPT_BIG_ENDIAN
3260 wpt_uint32 ucCfgId:8;
3261 wpt_uint32 ucCfgLen:8;
3262 wpt_uint32 usReserved:16;
3263 #else
3264 wpt_uint32 usReserved:16;
3265 wpt_uint32 ucCfgLen:8;
3266 wpt_uint32 ucCfgId:8;
3267 #endif
3268
3269 wpt_uint8 ucCfgBody[ucCfgLen];
3270 }WDI_ConfigType;
3271
3272 Multiple such tuplets are to be placed in the config buffer. One for
3273 each required configuration item:
3274
3275 | TLV 1 | TLV2 | ....
3276
3277 The buffer is expected to be a flat area of memory that can be manipulated
3278 with standard memory routines.
3279
3280 For more info please check paragraph 2.3.1 Config Structure from the
3281 HAL LLD.
3282
3283 For a list of accepted configuration list and IDs please look up
3284 wlan_qct_dal_cfg.h
3285 */
3286 void* pConfigBuffer;
3287
3288 /*Length of the config buffer above*/
3289 wpt_uint32 uConfigBufferLen;
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_UpdateCfgReqParamsType;
3300
3301/*---------------------------------------------------------------------------
3302 WDI_UpdateProbeRspTemplateInfoType
3303---------------------------------------------------------------------------*/
3304//Default Beacon template size
3305#define WDI_PROBE_RSP_TEMPLATE_SIZE 0x180
3306
3307#define WDI_PROBE_REQ_BITMAP_IE_LEN 8
3308
3309typedef struct
3310{
3311 /*BSSID for which the Probe Template is to be used*/
3312 wpt_macAddr macBSSID;
3313
3314 /*Probe response template*/
3315 wpt_uint8 *pProbeRespTemplate[WDI_PROBE_RSP_TEMPLATE_SIZE];
3316
3317 /*Template Len*/
3318 wpt_uint32 uProbeRespTemplateLen;
3319
3320 /*Bitmap for the IEs that are to be handled at SLM level*/
3321 wpt_uint32 uaProxyProbeReqValidIEBmap[WDI_PROBE_REQ_BITMAP_IE_LEN];
3322
3323}WDI_UpdateProbeRspTemplateInfoType;
3324
3325/*---------------------------------------------------------------------------
3326 WDI_UpdateProbeRspParamsType
3327---------------------------------------------------------------------------*/
3328typedef struct
3329{
3330 /*Link Info*/
3331 WDI_UpdateProbeRspTemplateInfoType wdiProbeRspTemplateInfo;
3332
3333 /*Request status callback offered by UMAC - it is called if the current
3334 req has returned PENDING as status; it delivers the status of sending
3335 the message over the BUS */
3336 WDI_ReqStatusCb wdiReqStatusCB;
3337
3338 /*The user data passed in by UMAC, it will be sent back when the above
3339 function pointer will be called */
3340 void* pUserData;
3341}WDI_UpdateProbeRspTemplateParamsType;
3342
3343/*---------------------------------------------------------------------------
3344 WDI_NvDownloadReqBlobInfo
3345---------------------------------------------------------------------------*/
3346
3347typedef struct
3348{
3349 /* Blob starting address*/
3350 void *pBlobAddress;
3351
3352 /* Blob size */
3353 wpt_uint32 uBlobSize;
3354
3355}WDI_NvDownloadReqBlobInfo;
3356
3357/*---------------------------------------------------------------------------
3358 WDI_NvDownloadReqParamsType
3359---------------------------------------------------------------------------*/
3360typedef struct
3361{
3362 /*NV Blob Info*/
3363 WDI_NvDownloadReqBlobInfo wdiBlobInfo;
3364
3365 /*Request status callback offered by UMAC - it is called if the current
3366 req has returned PENDING as status; it delivers the status of sending
3367 the message over the BUS */
3368 WDI_ReqStatusCb wdiReqStatusCB;
3369
3370 /*The user data passed in by UMAC, it will be sent back when the above
3371 function pointer will be called */
3372 void* pUserData;
3373
3374}WDI_NvDownloadReqParamsType;
3375
3376/*---------------------------------------------------------------------------
3377 WDI_NvDownloadRspInfoType
3378---------------------------------------------------------------------------*/
3379typedef struct
3380{
3381 /*Status of the response*/
3382 WDI_Status wdiStatus;
3383
3384}WDI_NvDownloadRspInfoType;
3385
3386/*---------------------------------------------------------------------------
3387 WDI_SetMaxTxPowerInfoType
3388---------------------------------------------------------------------------*/
3389
3390typedef struct
3391{
3392 /*BSSID is needed to identify which session issued this request. As the request has
3393 power constraints, this should be applied only to that session*/
3394 wpt_macAddr macBSSId;
3395
3396
3397 wpt_macAddr macSelfStaMacAddr;
3398
3399 /* In request power == MaxTxpower to be used.*/
3400 wpt_int8 ucPower;
3401
3402}WDI_SetMaxTxPowerInfoType;
3403
3404/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003405 WDI_SetTxPowerInfoType
3406---------------------------------------------------------------------------*/
3407
3408typedef struct
3409{
3410 wpt_uint8 bssIdx;
3411 /* In request power == MaxTxpower to be used.*/
3412 wpt_uint8 ucPower;
3413
3414}WDI_SetTxPowerInfoType;
3415
3416/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003417 WDI_SetMaxTxPowerParamsType
3418---------------------------------------------------------------------------*/
3419typedef struct
3420{
3421 /*Link Info*/
3422 WDI_SetMaxTxPowerInfoType wdiMaxTxPowerInfo;
3423
3424 /*Request status callback offered by UMAC - it is called if the current
3425 req has returned PENDING as status; it delivers the status of sending
3426 the message over the BUS */
3427 WDI_ReqStatusCb wdiReqStatusCB;
3428
3429 /*The user data passed in by UMAC, it will be sent back when the above
3430 function pointer will be called */
3431 void* pUserData;
3432}WDI_SetMaxTxPowerParamsType;
3433
schang86c22c42013-03-13 18:41:24 -07003434/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07003435 WDI_Band
3436---------------------------------------------------------------------------*/
3437typedef enum
3438{
3439 WDI_BAND_ALL,
3440 WDI_BAND_24,
3441 WDI_BAND_5G,
3442 WDI_BAND_MAX,
3443}eWDIBand;
3444
3445/*---------------------------------------------------------------------------
3446 WDI_MaxTxPowerPerBandInfoType
3447---------------------------------------------------------------------------*/
3448typedef struct
3449{
3450 eWDIBand bandInfo;
3451 /* In request power == MaxTxpower to be used.*/
3452 wpt_uint8 ucPower;
3453}WDI_MaxTxPowerPerBandInfoType;
3454
3455/*---------------------------------------------------------------------------
3456 WDI_SetMaxTxPowerPerBandParamsType
3457---------------------------------------------------------------------------*/
3458typedef struct
3459{
3460 /*Link Info*/
3461 WDI_MaxTxPowerPerBandInfoType wdiMaxTxPowerPerBandInfo;
3462
3463 /*Request status callback offered by UMAC - it is called if the current
3464 req has returned PENDING as status; it delivers the status of sending
3465 the message over the BUS */
3466 WDI_ReqStatusCb wdiReqStatusCB;
3467
3468 /*The user data passed in by UMAC, it will be sent back when the above
3469 function pointer will be called */
3470 void* pUserData;
3471}WDI_SetMaxTxPowerPerBandParamsType;
3472
3473/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003474 WDI_SetTxPowerParamsType
3475---------------------------------------------------------------------------*/
3476typedef struct
3477{
3478 /*Link Info*/
3479 WDI_SetTxPowerInfoType wdiTxPowerInfo;
3480
3481 /*Request status callback offered by UMAC - it is called if the current
3482 req has returned PENDING as status; it delivers the status of sending
3483 the message over the BUS */
3484 WDI_ReqStatusCb wdiReqStatusCB;
3485
3486 /*The user data passed in by UMAC, it will be sent back when the above
3487 function pointer will be called */
3488 void* pUserData;
3489}WDI_SetTxPowerParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003490
3491/*---------------------------------------------------------------------------
3492 WDI_SetMaxTxPowerRspMsg
3493---------------------------------------------------------------------------*/
3494
3495typedef struct
3496{
3497 /* In response, power==tx power used for management frames*/
3498 wpt_int8 ucPower;
3499
3500 /*Result of the operation*/
3501 WDI_Status wdiStatus;
3502
3503}WDI_SetMaxTxPowerRspMsg;
3504
schang86c22c42013-03-13 18:41:24 -07003505/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07003506 WDI_SetMaxTxPowerPerBandRspMsg
3507---------------------------------------------------------------------------*/
3508typedef struct
3509{
3510 /* In response, power==tx power used for management frames*/
3511 wpt_int8 ucPower;
3512
3513 /*Result of the operation*/
3514 WDI_Status wdiStatus;
3515
3516}WDI_SetMaxTxPowerPerBandRspMsg;
3517
3518/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003519 WDI_SetTxPowerRspMsg
3520---------------------------------------------------------------------------*/
3521
3522typedef struct
3523{
3524 /* In response, power==tx power used for management frames*/
3525 wpt_int8 ucPower;
3526
3527 /*Result of the operation*/
3528 WDI_Status wdiStatus;
3529
3530}WDI_SetTxPowerRspMsg;
3531
Jeff Johnson295189b2012-06-20 16:38:30 -07003532typedef struct
3533{
3534 wpt_uint8 ucOpp_ps;
3535 wpt_uint32 uCtWindow;
3536 wpt_uint8 ucCount;
3537 wpt_uint32 uDuration;
3538 wpt_uint32 uInterval;
3539 wpt_uint32 uSingle_noa_duration;
3540 wpt_uint8 ucPsSelection;
3541}WDI_SetP2PGONOAReqInfoType;
3542
3543/*---------------------------------------------------------------------------
3544 WDI_SetP2PGONOAReqParamsType
3545---------------------------------------------------------------------------*/
3546typedef struct
3547{
3548 /*P2P GO NOA Req*/
3549 WDI_SetP2PGONOAReqInfoType wdiP2PGONOAInfo;
3550
3551 /*Request status callback offered by UMAC - it is called if the current
3552 req has returned PENDING as status; it delivers the status of sending
3553 the message over the BUS */
3554 WDI_ReqStatusCb wdiReqStatusCB;
3555
3556 /*The user data passed in by UMAC, it will be sent back when the above
3557 function pointer will be called */
3558 void* pUserData;
3559}WDI_SetP2PGONOAReqParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003560
Naresh Jayaramc7cbd782014-02-04 17:38:23 +05303561#define WDI_MAX_SUPP_CHANNELS 128
3562#define WDI_MAX_SUPP_OPER_CLASSES 32
3563
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303564typedef struct
3565{
3566 wpt_uint16 uStaIdx;
3567 wpt_uint8 uIsResponder;
3568 wpt_uint8 uUapsdQueues;
3569 wpt_uint8 uMaxSp;
3570 wpt_uint8 uIsBufSta;
Naresh Jayaramc7cbd782014-02-04 17:38:23 +05303571 wpt_uint8 uIsOffChannelSupported;
3572 wpt_uint8 peerCurrOperClass;
3573 wpt_uint8 selfCurrOperClass;
3574 wpt_uint8 validChannelsLen;
3575 wpt_uint8 validChannels[WDI_MAX_SUPP_CHANNELS];
3576 wpt_uint8 validOperClassesLen;
3577 wpt_uint8 validOperClasses[WDI_MAX_SUPP_OPER_CLASSES];
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303578}WDI_SetTDLSLinkEstablishReqInfoType;
3579/*---------------------------------------------------------------------------
3580 WDI_SetTDLSLinkEstablishReqParamsType
3581---------------------------------------------------------------------------*/
3582typedef struct
3583{
3584 /*TDLS Link Establish Req*/
3585 WDI_SetTDLSLinkEstablishReqInfoType wdiTDLSLinkEstablishInfo;
3586
3587 /*Request status callback offered by UMAC - it is called if the current
3588 req has returned PENDING as status; it delivers the status of sending
3589 the message over the BUS */
3590 WDI_ReqStatusCb wdiReqStatusCB;
3591
3592 /*The user data passed in by UMAC, it will be sent back when the above
3593 function pointer will be called */
3594 void* pUserData;
3595}WDI_SetTDLSLinkEstablishReqParamsType;
3596
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05303597typedef struct
3598{
3599 /*Result of the operation*/
3600 WDI_Status wdiStatus;
3601
3602 /*STA Idx*/
3603 wpt_uint16 uStaIdx;
3604}WDI_SetTdlsLinkEstablishReqResp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003605
Atul Mittalc0f739f2014-07-31 13:47:47 +05303606
3607
3608typedef struct
3609{
3610 /*STA Index*/
3611 wpt_uint8 staIdx;
3612 /* if this is 1, self is initiator otherwise responder only*/
3613 wpt_uint8 isOffchannelInitiator;
3614 /*TDLS off channel related params */
3615 wpt_uint8 targetOperClass;
3616 wpt_uint8 targetChannel;
3617 wpt_uint8 secondaryChannelOffset;
3618 wpt_uint8 reserved[64];
3619}WDI_SetTDLSChanSwitchReqInfoType;
3620
3621typedef struct
3622{
3623 WDI_SetTDLSChanSwitchReqInfoType wdiTDLSChanSwitchReqInfo;
3624 WDI_ReqStatusCb wdiReqStatusCB;
3625 void* pUserData;
3626}WDI_SetTDLSChanSwitchReqParamsType;
3627
3628
3629typedef struct
3630{
3631 /*Result of the operation*/
3632 WDI_Status wdiStatus;
3633
3634 /*STA Idx*/
3635 wpt_uint16 uStaIdx;
3636}WDI_SetTdlsChanSwitchReqResp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003637/*---------------------------------------------------------------------------
3638 WDI_SetAddSTASelfParamsType
3639---------------------------------------------------------------------------*/
3640typedef struct
3641{
3642 /*Self Station MAC address*/
3643 wpt_macAddr selfMacAddr;
3644
Kiran Kumar Lokere0ad5cd32013-06-25 11:26:22 -07003645 /*Self STA device mode*/
3646 wpt_uint32 currDeviceMode;
3647
Jeff Johnson295189b2012-06-20 16:38:30 -07003648 /*Status of the operation*/
3649 wpt_uint32 uStatus;
3650}WDI_AddSTASelfInfoType;
3651
3652/*---------------------------------------------------------------------------
3653 WDI_SetAddSTASelfParamsType
3654---------------------------------------------------------------------------*/
3655typedef struct
3656{
3657 /* Add Sta Self Req */
3658 WDI_AddSTASelfInfoType wdiAddSTASelfInfo;
3659
3660 /*Request status callback offered by UMAC - it is called if the current
3661 req has returned PENDING as status; it delivers the status of sending
3662 the message over the BUS */
3663 WDI_ReqStatusCb wdiReqStatusCB;
3664
3665 /*The user data passed in by UMAC, it will be sent back when the above
3666 function pointer will be called */
3667 void* pUserData;
3668}WDI_AddSTASelfReqParamsType;
3669
3670
3671/*---------------------------------------------------------------------------
3672 WDI_AddSTASelfRspParamsType
3673---------------------------------------------------------------------------*/
3674typedef struct
3675{
3676 /*Status of the response*/
3677 WDI_Status wdiStatus;
3678
3679 /*STA Idx allocated by HAL*/
3680 wpt_uint8 ucSTASelfIdx;
3681
3682 /* DPU Index (IGTK, PTK, GTK all same) */
3683 wpt_uint8 dpuIdx;
3684
3685 /* DPU Signature */
3686 wpt_uint8 dpuSignature;
3687
3688 /*Self STA Mac*/
3689 wpt_macAddr macSelfSta;
3690
3691}WDI_AddSTASelfRspParamsType;
3692
3693/*---------------------------------------------------------------------------
3694 WDI_DelSTASelfReqParamsType
3695 Del Sta Self info passed to WDI form WDA
3696---------------------------------------------------------------------------*/
3697typedef struct
3698{
3699 wpt_macAddr selfMacAddr;
3700
3701}WDI_DelSTASelfInfoType;
3702
3703/*---------------------------------------------------------------------------
3704 WDI_DelSTASelfReqParamsType
3705 Del Sta Self info passed to WDI form WDA
3706---------------------------------------------------------------------------*/
3707typedef struct
3708{
3709 /*Del Sta Self Info Type */
3710 WDI_DelSTASelfInfoType wdiDelStaSelfInfo;
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_DelSTASelfReqParamsType;
3719
3720/*---------------------------------------------------------------------------
3721 WDI_DelSTASelfRspParamsType
3722---------------------------------------------------------------------------*/
3723typedef struct
3724{
3725 /*Status of the response*/
3726 WDI_Status wdiStatus;
3727
3728 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
3729// wpt_uint8 ucSTAIdx;
3730}WDI_DelSTASelfRspParamsType;
3731
3732/*---------------------------------------------------------------------------
3733 WDI_UapsdInfoType
3734 UAPSD parameters passed per AC to WDA from UMAC
3735---------------------------------------------------------------------------*/
3736typedef struct
3737{
3738 wpt_uint8 ucSTAIdx; // STA index
3739 wpt_uint8 ucAc; // Access Category
3740 wpt_uint8 ucUp; // User Priority
3741 wpt_uint32 uSrvInterval; // Service Interval
3742 wpt_uint32 uSusInterval; // Suspend Interval
3743 wpt_uint32 uDelayInterval; // Delay Interval
3744} WDI_UapsdInfoType;
3745
3746/*---------------------------------------------------------------------------
3747 WDI_SetUapsdAcParamsReqParamsType
3748 UAPSD parameters passed per AC to WDI from WDA
3749---------------------------------------------------------------------------*/
3750typedef struct
3751{
3752 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3753 WDI_UapsdInfoType wdiUapsdInfo;
3754 /*Request status callback offered by UMAC - it is called if the current req
3755 has returned PENDING as status; it delivers the status of sending the message
3756 over the BUS */
3757 WDI_ReqStatusCb wdiReqStatusCB;
3758 /*The user data passed in by UMAC, it will be sent back when the above
3759 function pointer will be called */
3760 void* pUserData;
3761}WDI_SetUapsdAcParamsReqParamsType;
3762
3763/*---------------------------------------------------------------------------
3764 WDI_EnterBmpsReqinfoType
3765 Enter BMPS parameters passed to WDA from UMAC
3766---------------------------------------------------------------------------*/
3767typedef struct
3768{
3769 //TBTT value derived from the last beacon
3770 wpt_uint8 ucBssIdx;
3771 wpt_uint64 uTbtt;
3772 wpt_uint8 ucDtimCount;
3773 //DTIM period given to HAL during association may not be valid,
3774 //if association is based on ProbeRsp instead of beacon.
3775 wpt_uint8 ucDtimPeriod;
3776 /* DXE physical addr to be passed down to RIVA. RIVA HAL will use it to program
3777 DXE when DXE wakes up from power save*/
3778 unsigned int dxePhyAddr;
3779
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003780 // For ESE and 11R Roaming
Jeff Johnson295189b2012-06-20 16:38:30 -07003781 wpt_uint32 rssiFilterPeriod;
3782 wpt_uint32 numBeaconPerRssiAverage;
3783 wpt_uint8 bRssiFilterEnable;
3784}WDI_EnterBmpsReqinfoType;
3785
3786/*---------------------------------------------------------------------------
3787 WDI_EnterBmpsReqParamsType
3788 Enter BMPS parameters passed to WDI from WDA
3789---------------------------------------------------------------------------*/
3790typedef struct
3791{
3792 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3793 WDI_EnterBmpsReqinfoType wdiEnterBmpsInfo;
3794 /*Request status callback offered by UMAC - it is called if the current req
3795 has returned PENDING as status; it delivers the status of sending the message
3796 over the BUS */
3797 WDI_ReqStatusCb wdiReqStatusCB;
3798 /*The user data passed in by UMAC, it will be sent back when the above
3799 function pointer will be called */
3800 void* pUserData;
3801}WDI_EnterBmpsReqParamsType;
3802
3803/*---------------------------------------------------------------------------
Mihir Shetea4306052014-03-25 00:02:54 +05303804 WDI_EnterImpsReqParamsType
3805 Enter IMPS parameters passed to WDI from WDA
3806---------------------------------------------------------------------------*/
3807typedef struct
3808{
3809 /*Request status callback offered by UMAC - it is called if the current req
3810 has returned PENDING as status; it delivers the status of sending the message
3811 over the BUS */
3812 WDI_ReqStatusCb wdiReqStatusCB;
3813 /*The user data passed in by UMAC, it will be sent back when the above
3814 function pointer will be called */
3815 void* pUserData;
3816}WDI_EnterImpsReqParamsType;
3817
3818/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003819 WDI_EnterBmpsReqParamsType
3820 Enter BMPS parameters passed from WDI to WDA
3821---------------------------------------------------------------------------*/
3822typedef struct
3823{
3824 /*Status of the response*/
3825 WDI_Status wdiStatus;
3826
3827 /*BssIDX of the session*/
3828 wpt_uint8 bssIdx;
3829}WDI_EnterBmpsRspParamsType;
3830
3831/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003832 WDI_ExitBmpsReqinfoType
3833 Exit BMPS parameters passed to WDA from UMAC
3834---------------------------------------------------------------------------*/
3835typedef struct
3836{
3837 wpt_uint8 ucSendDataNull;
Jeff Johnsone7245742012-09-05 17:12:55 -07003838 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003839}WDI_ExitBmpsReqinfoType;
3840
3841/*---------------------------------------------------------------------------
3842 WDI_ExitBmpsReqParamsType
3843 Exit BMPS parameters passed to WDI from WDA
3844---------------------------------------------------------------------------*/
3845typedef struct
3846{
3847 /*Exit BMPS Info Type, same as tExitBmpsParams */
3848 WDI_ExitBmpsReqinfoType wdiExitBmpsInfo;
3849 /*Request status callback offered by UMAC - it is called if the current req
3850 has returned PENDING as status; it delivers the status of sending the message
3851 over the BUS */
3852 WDI_ReqStatusCb wdiReqStatusCB;
3853 /*The user data passed in by UMAC, it will be sent back when the above
3854 function pointer will be called */
3855 void* pUserData;
3856}WDI_ExitBmpsReqParamsType;
3857
3858/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003859 WDI_ExitBmpsReqParamsType
3860 Exit BMPS parameters passed from WDI to WDA
3861---------------------------------------------------------------------------*/
3862typedef struct
3863{
3864 /*Status of the response*/
3865 WDI_Status wdiStatus;
3866
3867 /*BssIDX of the session*/
3868 wpt_uint8 bssIdx;
3869}WDI_ExitBmpsRspParamsType;
3870
3871/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003872 WDI_EnterUapsdReqinfoType
3873 Enter UAPSD parameters passed to WDA from UMAC
3874---------------------------------------------------------------------------*/
3875typedef struct
3876{
3877 wpt_uint8 ucBkDeliveryEnabled:1;
3878 wpt_uint8 ucBeDeliveryEnabled:1;
3879 wpt_uint8 ucViDeliveryEnabled:1;
3880 wpt_uint8 ucVoDeliveryEnabled:1;
3881 wpt_uint8 ucBkTriggerEnabled:1;
3882 wpt_uint8 ucBeTriggerEnabled:1;
3883 wpt_uint8 ucViTriggerEnabled:1;
3884 wpt_uint8 ucVoTriggerEnabled:1;
Jeff Johnsone7245742012-09-05 17:12:55 -07003885 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003886}WDI_EnterUapsdReqinfoType;
3887
3888/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003889 WDI_EnterUapsdRspParamsType
3890 Enter UAPSD parameters passed from WDI to WDA
3891---------------------------------------------------------------------------*/
3892typedef struct
3893{
3894 /*Status of the response*/
3895 WDI_Status wdiStatus;
3896
3897 /*BssIDX of the session*/
3898 wpt_uint8 bssIdx;
3899}WDI_EnterUapsdRspParamsType;
3900
3901/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003902 WDI_EnterUapsdReqinfoType
3903 Enter UAPSD parameters passed to WDI from WDA
3904---------------------------------------------------------------------------*/
3905typedef struct
3906{
3907 /*Enter UAPSD Info Type, same as tUapsdParams */
3908 WDI_EnterUapsdReqinfoType wdiEnterUapsdInfo;
3909 /*Request status callback offered by UMAC - it is called if the current req
3910 has returned PENDING as status; it delivers the status of sending the message
3911 over the BUS */
3912 WDI_ReqStatusCb wdiReqStatusCB;
3913 /*The user data passed in by UMAC, it will be sent back when the above
3914 function pointer will be called */
3915 void* pUserData;
3916}WDI_EnterUapsdReqParamsType;
3917
3918/*---------------------------------------------------------------------------
3919 WDI_UpdateUapsdReqinfoType
3920 Update UAPSD parameters passed to WDA from UMAC
3921---------------------------------------------------------------------------*/
3922typedef struct
3923{
3924 wpt_uint8 ucSTAIdx;
3925 wpt_uint8 ucUapsdACMask;
3926 wpt_uint32 uMaxSpLen;
3927}WDI_UpdateUapsdReqinfoType;
3928
3929/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003930 WDI_ExitUapsdReqinfoType
3931 Exit UAPSD parameters passed to WDA from UMAC
3932---------------------------------------------------------------------------*/
3933typedef struct
3934{
3935 wpt_uint8 bssIdx;
3936}WDI_ExitUapsdReqinfoType;
3937
3938/*---------------------------------------------------------------------------
3939 WDI_ExitUapsdReqParamsType
3940 Exit UAPSD parameters passed to WDI from WDA
3941---------------------------------------------------------------------------*/
3942typedef struct
3943{
3944 /*Exit UAPSD Info Type, same as tUapsdParams */
3945 WDI_ExitUapsdReqinfoType wdiExitUapsdInfo;
3946 /*Request status callback offered by UMAC - it is called if the current req
3947 has returned PENDING as status; it delivers the status of sending the message
3948 over the BUS */
3949 WDI_ReqStatusCb wdiReqStatusCB;
3950 /*The user data passed in by UMAC, it will be sent back when the above
3951 function pointer will be called */
3952 void* pUserData;
3953}WDI_ExitUapsdReqParamsType;
3954
3955/*---------------------------------------------------------------------------
3956 WDI_ExitUapsdRspParamsType
3957 Exit UAPSD parameters passed from WDI to WDA
3958---------------------------------------------------------------------------*/
3959typedef struct
3960{
3961 /*Status of the response*/
3962 WDI_Status wdiStatus;
3963
3964 /*BssIDX of the session*/
3965 wpt_uint8 bssIdx;
3966}WDI_ExitUapsdRspParamsType;
3967
3968/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003969 WDI_UpdateUapsdReqParamsType
3970 Update UAPSD parameters passed to WDI form WDA
3971---------------------------------------------------------------------------*/
3972typedef struct
3973{
3974 /*Update UAPSD Info Type, same as tUpdateUapsdParams */
3975 WDI_UpdateUapsdReqinfoType wdiUpdateUapsdInfo;
3976 /*Request status callback offered by UMAC - it is called if the current req
3977 has returned PENDING as status; it delivers the status of sending the message
3978 over the BUS */
3979 WDI_ReqStatusCb wdiReqStatusCB;
3980 /*The user data passed in by UMAC, it will be sent back when the above
3981 function pointer will be called */
3982 void* pUserData;
3983}WDI_UpdateUapsdReqParamsType;
3984
3985/*---------------------------------------------------------------------------
3986 WDI_ConfigureRxpFilterReqParamsType
3987 RXP filter parameters passed to WDI form WDA
3988---------------------------------------------------------------------------*/
3989typedef struct
3990{
3991 /* Mode of Mcast and Bcast filters configured */
3992 wpt_uint8 ucSetMcstBcstFilterSetting;
3993
3994 /* Mcast Bcast Filters enable/disable*/
3995 wpt_uint8 ucSetMcstBcstFilter;
3996}WDI_RxpFilterReqParamsType;
3997
3998typedef struct
3999{
4000 /* Rxp Filter */
4001 WDI_RxpFilterReqParamsType wdiRxpFilterParam;
4002
4003 /*Request status callback offered by UMAC - it is called if the current req
4004 has returned PENDING as status; it delivers the status of sending the message
4005 over the BUS */
4006 WDI_ReqStatusCb wdiReqStatusCB;
4007 /*The user data passed in by UMAC, it will be sent back when the above
4008 function pointer will be called */
4009 void* pUserData;
4010}WDI_ConfigureRxpFilterReqParamsType;
4011
4012/*---------------------------------------------------------------------------
4013 WDI_BeaconFilterInfoType
4014 Beacon Filtering data structures passed to WDA form UMAC
4015---------------------------------------------------------------------------*/
4016typedef struct
4017{
4018 wpt_uint16 usCapabilityInfo;
4019 wpt_uint16 usCapabilityMask;
4020 wpt_uint16 usBeaconInterval;
4021 wpt_uint16 usIeNum;
Madan Mohan Koyyalamudia84edda2012-10-15 14:58:25 -07004022 wpt_uint8 bssIdx;
4023 wpt_uint8 reserved;
Jeff Johnson295189b2012-06-20 16:38:30 -07004024}WDI_BeaconFilterInfoType;
4025
4026/*---------------------------------------------------------------------------
4027 WDI_BeaconFilterReqParamsType
4028 Beacon Filtering parameters passed to WDI form WDA
4029---------------------------------------------------------------------------*/
4030typedef struct
4031{
4032 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
4033 WDI_BeaconFilterInfoType wdiBeaconFilterInfo;
4034 /*Beacon Filter(s) follow the "usIeNum" field, hence the array to ease the
4035 copy of params from WDA to WDI */
4036 wpt_uint8 aFilters[WDI_BEACON_FILTER_LEN];
4037 /*Request status callback offered by UMAC - it is called if the current req
4038 has returned PENDING as status; it delivers the status of sending the message
4039 over the BUS */
4040 WDI_ReqStatusCb wdiReqStatusCB;
4041 /*The user data passed in by UMAC, it will be sent back when the above
4042 function pointer will be called */
4043 void* pUserData;
4044}WDI_BeaconFilterReqParamsType;
4045
4046/*---------------------------------------------------------------------------
4047 WDI_RemBeaconFilterInfoType
4048 Beacon Filtering data structures (to be reomoved) passed to WDA form UMAC
4049---------------------------------------------------------------------------*/
4050typedef struct
4051{
4052 wpt_uint8 ucIeCount;
4053 wpt_uint8 ucRemIeId[1];
4054}WDI_RemBeaconFilterInfoType;
4055
4056/*---------------------------------------------------------------------------
4057 WDI_RemBeaconFilterReqParamsType
4058 Beacon Filtering parameters (to be reomoved)passed to WDI form WDA
4059---------------------------------------------------------------------------*/
4060typedef struct
4061{
4062 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
4063 WDI_RemBeaconFilterInfoType wdiBeaconFilterInfo;
4064 /*Request status callback offered by UMAC - it is called if the current req
4065 has returned PENDING as status; it delivers the status of sending the message
4066 over the BUS */
4067 WDI_ReqStatusCb wdiReqStatusCB;
4068 /*The user data passed in by UMAC, it will be sent back when the above
4069 function pointer will be called */
4070 void* pUserData;
4071}WDI_RemBeaconFilterReqParamsType;
4072
4073/*---------------------------------------------------------------------------
4074 WDI_RSSIThresholdsType
4075 RSSI thresholds data structures (to be reomoved) passed to WDA form UMAC
4076---------------------------------------------------------------------------*/
4077typedef struct
4078{
4079 wpt_int8 ucRssiThreshold1 : 8;
4080 wpt_int8 ucRssiThreshold2 : 8;
4081 wpt_int8 ucRssiThreshold3 : 8;
4082 wpt_uint8 bRssiThres1PosNotify : 1;
4083 wpt_uint8 bRssiThres1NegNotify : 1;
4084 wpt_uint8 bRssiThres2PosNotify : 1;
4085 wpt_uint8 bRssiThres2NegNotify : 1;
4086 wpt_uint8 bRssiThres3PosNotify : 1;
4087 wpt_uint8 bRssiThres3NegNotify : 1;
4088 wpt_uint8 bReserved10 : 2;
4089} WDI_RSSIThresholdsType;
4090
4091/*---------------------------------------------------------------------------
4092 WDI_SetRSSIThresholdsReqParamsType
4093 RSSI thresholds parameters (to be reomoved)passed to WDI form WDA
4094---------------------------------------------------------------------------*/
4095typedef struct
4096{
4097 /*RSSI thresholds Info Type, same as WDI_RSSIThresholds */
4098 WDI_RSSIThresholdsType wdiRSSIThresholdsInfo;
4099 /*Request status callback offered by UMAC - it is called if the current req
4100 has returned PENDING as status; it delivers the status of sending the message
4101 over the BUS */
4102 WDI_ReqStatusCb wdiReqStatusCB;
4103 /*The user data passed in by UMAC, it will be sent back when the above
4104 function pointer will be called */
4105 void* pUserData;
4106}WDI_SetRSSIThresholdsReqParamsType;
4107
4108/*---------------------------------------------------------------------------
4109 WDI_HostOffloadReqType
4110 host offload info passed to WDA form UMAC
4111---------------------------------------------------------------------------*/
4112#ifdef WLAN_NS_OFFLOAD
4113typedef struct
4114{
4115 wpt_uint8 srcIPv6Addr[16];
4116 wpt_uint8 selfIPv6Addr[16];
4117 //Only support 2 possible Network Advertisement IPv6 address
4118 wpt_uint8 targetIPv6Addr1[16];
4119 wpt_uint8 targetIPv6Addr2[16];
4120 wpt_uint8 selfMacAddr[6];
4121 wpt_uint8 srcIPv6AddrValid : 1;
4122 wpt_uint8 targetIPv6Addr1Valid : 1;
4123 wpt_uint8 targetIPv6Addr2Valid : 1;
Gopichand Nakkala746a9452013-06-11 12:45:54 +05304124 wpt_uint8 slotIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004125} WDI_NSOffloadParams;
4126#endif //WLAN_NS_OFFLOAD
4127
4128typedef struct
4129{
4130 wpt_uint8 ucOffloadType;
4131 wpt_uint8 ucEnableOrDisable;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004132 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004133 union
4134 {
4135 wpt_uint8 aHostIpv4Addr [4];
4136 wpt_uint8 aHostIpv6Addr [16];
4137 } params;
4138} WDI_HostOffloadReqType;
4139
4140/*---------------------------------------------------------------------------
4141 WDI_HostOffloadReqParamsType
4142 host offload info passed to WDI form WDA
4143---------------------------------------------------------------------------*/
4144typedef struct
4145{
4146 /*Host offload Info Type, same as tHalHostOffloadReq */
4147 WDI_HostOffloadReqType wdiHostOffloadInfo;
4148#ifdef WLAN_NS_OFFLOAD
4149 WDI_NSOffloadParams wdiNsOffloadParams;
4150#endif //WLAN_NS_OFFLOAD
4151 /*Request status callback offered by UMAC - it is called if the current req
4152 has returned PENDING as status; it delivers the status of sending the message
4153 over the BUS */
4154 WDI_ReqStatusCb wdiReqStatusCB;
4155 /*The user data passed in by UMAC, it will be sent back when the above
4156 function pointer will be called */
4157 void* pUserData;
4158}WDI_HostOffloadReqParamsType;
4159
4160/*---------------------------------------------------------------------------
4161 WDI_KeepAliveReqType
4162 Keep Alive info passed to WDA form UMAC
4163---------------------------------------------------------------------------*/
4164typedef struct
4165{
4166 wpt_uint8 ucPacketType;
4167 wpt_uint32 ucTimePeriod;
4168 wpt_uint8 aHostIpv4Addr[4];
4169 wpt_uint8 aDestIpv4Addr[4];
4170 wpt_uint8 aDestMacAddr[6];
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004171 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004172} WDI_KeepAliveReqType;
4173
4174/*---------------------------------------------------------------------------
4175 WDI_KeepAliveReqParamsType
4176 Keep Alive passed to WDI form WDA
4177---------------------------------------------------------------------------*/
4178typedef struct
4179{
4180 /* Keep Alive Info Type, same as tHalKeepAliveReq */
4181 WDI_KeepAliveReqType wdiKeepAliveInfo;
4182 /*Request status callback offered by UMAC - it is called if the current req
4183 has returned PENDING as status; it delivers the status of sending the message
4184 over the BUS */
4185 WDI_ReqStatusCb wdiReqStatusCB;
4186 /*The user data passed in by UMAC, it will be sent back when the above
4187 function pointer will be called */
4188 void* pUserData;
4189}WDI_KeepAliveReqParamsType;
4190
4191/*---------------------------------------------------------------------------
4192 WDI_WowlAddBcPtrnInfoType
4193 Wowl add ptrn info passed to WDA form UMAC
4194---------------------------------------------------------------------------*/
4195typedef struct
4196{
4197 wpt_uint8 ucPatternId; // Pattern ID
4198 // Pattern byte offset from beginning of the 802.11 packet to start of the
4199 // wake-up pattern
4200 wpt_uint8 ucPatternByteOffset;
4201 wpt_uint8 ucPatternSize; // Non-Zero Pattern size
4202 wpt_uint8 ucPattern[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern
4203 wpt_uint8 ucPatternMaskSize; // Non-zero pattern mask size
4204 wpt_uint8 ucPatternMask[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern mask
4205 wpt_uint8 ucPatternExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern
4206 wpt_uint8 ucPatternMaskExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern mask
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004207 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004208} WDI_WowlAddBcPtrnInfoType;
4209
4210/*---------------------------------------------------------------------------
4211 WDI_WowlAddBcPtrnReqParamsType
4212 Wowl add ptrn info passed to WDI form WDA
4213---------------------------------------------------------------------------*/
4214typedef struct
4215{
4216 /*Wowl add ptrn Info Type, same as tpSirWowlAddBcastPtrn */
4217 WDI_WowlAddBcPtrnInfoType wdiWowlAddBcPtrnInfo;
4218 /*Request status callback offered by UMAC - it is called if the current req
4219 has returned PENDING as status; it delivers the status of sending the message
4220 over the BUS */
4221 WDI_ReqStatusCb wdiReqStatusCB;
4222 /*The user data passed in by UMAC, it will be sent back when the above
4223 function pointer will be called */
4224 void* pUserData;
4225}WDI_WowlAddBcPtrnReqParamsType;
4226
4227/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004228 WDI_WowlAddBcPtrnRspParamsType
4229 Wowl add ptrn info passed from WDI to WDA
4230---------------------------------------------------------------------------*/
4231typedef struct
4232{
4233 /*Status of the response*/
4234 WDI_Status wdiStatus;
4235 /*BssIDX of the session*/
4236 wpt_uint8 bssIdx;
4237}WDI_WowlAddBcPtrnRspParamsType;
4238
4239/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004240 WDI_WowlDelBcPtrnInfoType
4241 Wowl add ptrn info passed to WDA form UMAC
4242---------------------------------------------------------------------------*/
4243typedef struct
4244{
4245 /* Pattern ID of the wakeup pattern to be deleted */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004246 wpt_uint8 ucPatternId;
4247 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004248} WDI_WowlDelBcPtrnInfoType;
4249
4250/*---------------------------------------------------------------------------
4251 WDI_WowlDelBcPtrnReqParamsType
4252 Wowl add ptrn info passed to WDI form WDA
4253---------------------------------------------------------------------------*/
4254typedef struct
4255{
4256 /*Wowl delete ptrn Info Type, same as WDI_WowlDelBcastPtrn */
4257 WDI_WowlDelBcPtrnInfoType wdiWowlDelBcPtrnInfo;
4258 /*Request status callback offered by UMAC - it is called if the current req
4259 has returned PENDING as status; it delivers the status of sending the message
4260 over the BUS */
4261 WDI_ReqStatusCb wdiReqStatusCB;
4262 /*The user data passed in by UMAC, it will be sent back when the above
4263 function pointer will be called */
4264 void* pUserData;
4265}WDI_WowlDelBcPtrnReqParamsType;
4266
4267/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004268 WDI_WowlDelBcPtrnRspParamsType
4269 Wowl Del ptrn info passed from WDI to WDA
4270---------------------------------------------------------------------------*/
4271typedef struct
4272{
4273 /*Status of the response*/
4274 WDI_Status wdiStatus;
4275 /*BssIDX of the session*/
4276 wpt_uint8 bssIdx;
4277}WDI_WowlDelBcPtrnRspParamsType;
4278
4279/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004280 WDI_WowlEnterInfoType
4281 Wowl enter info passed to WDA form UMAC
4282---------------------------------------------------------------------------*/
4283typedef struct
4284{
4285 /* Enables/disables magic packet filtering */
4286 wpt_uint8 ucMagicPktEnable;
4287
4288 /* Magic pattern */
4289 wpt_macAddr magicPtrn;
4290
4291 /* Enables/disables packet pattern filtering in firmware.
4292 Enabling this flag enables broadcast pattern matching
4293 in Firmware. If unicast pattern matching is also desired,
4294 ucUcastPatternFilteringEnable flag must be set tot true
4295 as well
4296 */
4297 wpt_uint8 ucPatternFilteringEnable;
4298
4299 /* Enables/disables unicast packet pattern filtering.
4300 This flag specifies whether we want to do pattern match
4301 on unicast packets as well and not just broadcast packets.
4302 This flag has no effect if the ucPatternFilteringEnable
4303 (main controlling flag) is set to false
4304 */
4305 wpt_uint8 ucUcastPatternFilteringEnable;
4306
4307 /* This configuration is valid only when magicPktEnable=1.
4308 * It requests hardware to wake up when it receives the
4309 * Channel Switch Action Frame.
4310 */
4311 wpt_uint8 ucWowChnlSwitchRcv;
4312
4313 /* This configuration is valid only when magicPktEnable=1.
4314 * It requests hardware to wake up when it receives the
4315 * Deauthentication Frame.
4316 */
4317 wpt_uint8 ucWowDeauthRcv;
4318
4319 /* This configuration is valid only when magicPktEnable=1.
4320 * It requests hardware to wake up when it receives the
4321 * Disassociation Frame.
4322 */
4323 wpt_uint8 ucWowDisassocRcv;
4324
4325 /* This configuration is valid only when magicPktEnable=1.
4326 * It requests hardware to wake up when it has missed
4327 * consecutive beacons. This is a hardware register
4328 * configuration (NOT a firmware configuration).
4329 */
4330 wpt_uint8 ucWowMaxMissedBeacons;
4331
4332 /* This configuration is valid only when magicPktEnable=1.
4333 * This is a timeout value in units of microsec. It requests
4334 * hardware to unconditionally wake up after it has stayed
4335 * in WoWLAN mode for some time. Set 0 to disable this feature.
4336 */
4337 wpt_uint8 ucWowMaxSleepUsec;
4338
4339#ifdef WLAN_WAKEUP_EVENTS
4340 /* This configuration directs the WoW packet filtering to look for EAP-ID
4341 * requests embedded in EAPOL frames and use this as a wake source.
4342 */
4343 wpt_uint8 ucWoWEAPIDRequestEnable;
4344
4345 /* This configuration directs the WoW packet filtering to look for EAPOL-4WAY
4346 * requests and use this as a wake source.
4347 */
4348 wpt_uint8 ucWoWEAPOL4WayEnable;
4349
4350 /* This configuration allows a host wakeup on an network scan offload match.
4351 */
4352 wpt_uint8 ucWowNetScanOffloadMatch;
4353
4354 /* This configuration allows a host wakeup on any GTK rekeying error.
4355 */
4356 wpt_uint8 ucWowGTKRekeyError;
4357
4358 /* This configuration allows a host wakeup on BSS connection loss.
4359 */
4360 wpt_uint8 ucWoWBSSConnLoss;
4361#endif // WLAN_WAKEUP_EVENTS
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004362
4363 /* BSSIDX used to find the current session
4364 */
4365 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004366} WDI_WowlEnterInfoType;
4367
4368/*---------------------------------------------------------------------------
4369 WDI_WowlEnterReqParamsType
4370 Wowl enter info passed to WDI form WDA
4371---------------------------------------------------------------------------*/
4372typedef struct
4373{
4374 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
4375 WDI_WowlEnterInfoType wdiWowlEnterInfo;
4376 /*Request status callback offered by UMAC - it is called if the current req
4377 has returned PENDING as status; it delivers the status of sending the message
4378 over the BUS */
4379 WDI_ReqStatusCb wdiReqStatusCB;
4380 /*The user data passed in by UMAC, it will be sent back when the above
4381 function pointer will be called */
4382 void* pUserData;
4383}WDI_WowlEnterReqParamsType;
4384
4385/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004386 WDI_WowlEnterRsqParamsType
4387 Wowl enter info passed from WDI to WDA
4388---------------------------------------------------------------------------*/
4389typedef struct
4390{
4391 /*Status of the response message*/
4392 WDI_Status status;
4393
4394 /* BSSIDX used to find the current session
4395 */
4396 wpt_uint8 bssIdx;
4397}WDI_WowlEnterRspParamsType;
4398
4399/*---------------------------------------------------------------------------
4400 WDI_WowlExitInfoType
4401 Wowl exit info passed to WDA form UMAC
4402 ---------------------------------------------------------------------------*/
4403typedef struct
4404{
4405 /* BSSIDX used to find the current session
4406 */
4407 wpt_uint8 bssIdx;
4408} WDI_WowlExitInfoType;
4409
4410/*---------------------------------------------------------------------------
4411 WDI_WowlExitReqParamsType
4412 Wowl exit info passed to WDI form WDA
4413---------------------------------------------------------------------------*/
4414typedef struct
4415{
4416 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
4417 WDI_WowlExitInfoType wdiWowlExitInfo;
4418 /*Request status callback offered by UMAC - it is called if the current req
4419 has returned PENDING as status; it delivers the status of sending the message
4420 over the BUS */
4421 WDI_ReqStatusCb wdiReqStatusCB;
4422 /*The user data passed in by UMAC, it will be sent back when the above
4423 function pointer will be called */
4424 void* pUserData;
4425}WDI_WowlExitReqParamsType;
4426
4427/*---------------------------------------------------------------------------
4428 WDI_WowlExitRspParamsType
4429 Wowl exit info passed from WDI to WDA
4430---------------------------------------------------------------------------*/
4431typedef struct
4432{
4433 /*Status of the response message*/
4434 WDI_Status status;
4435
4436 /* BSSIDX used to find the current session
4437 */
4438 wpt_uint8 bssIdx;
4439}WDI_WowlExitRspParamsType;
4440
4441/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004442 WDI_ConfigureAppsCpuWakeupStateReqParamsType
4443 Apps Cpu Wakeup State parameters passed to WDI form WDA
4444---------------------------------------------------------------------------*/
4445typedef struct
4446{
4447 /*Depicts the state of the Apps CPU */
4448 wpt_boolean bIsAppsAwake;
4449 /*Request status callback offered by UMAC - it is called if the current req
4450 has returned PENDING as status; it delivers the status of sending the message
4451 over the BUS */
4452 WDI_ReqStatusCb wdiReqStatusCB;
4453 /*The user data passed in by UMAC, it will be sent back when the above
4454 function pointer will be called */
4455 void* pUserData;
4456}WDI_ConfigureAppsCpuWakeupStateReqParamsType;
4457/*---------------------------------------------------------------------------
4458 WDI_FlushAcReqinfoType
4459---------------------------------------------------------------------------*/
4460typedef struct
4461{
4462 // Message Type
4463 wpt_uint16 usMesgType;
4464
4465 // Message Length
4466 wpt_uint16 usMesgLen;
4467
4468 // Station Index. originates from HAL
4469 wpt_uint8 ucSTAId;
4470
4471 // TID for which the transmit queue is being flushed
4472 wpt_uint8 ucTid;
4473
4474}WDI_FlushAcReqinfoType;
4475
4476/*---------------------------------------------------------------------------
4477 WDI_FlushAcReqParamsType
4478---------------------------------------------------------------------------*/
4479typedef struct
4480{
4481 /*AC Info */
4482 WDI_FlushAcReqinfoType wdiFlushAcInfo;
4483
4484 /*Request status callback offered by UMAC - it is called if the current
4485 req has returned PENDING as status; it delivers the status of sending
4486 the message over the BUS */
4487 WDI_ReqStatusCb wdiReqStatusCB;
4488
4489 /*The user data passed in by UMAC, it will be sent back when the above
4490 function pointer will be called */
4491 void* pUserData;
4492}WDI_FlushAcReqParamsType;
4493
4494/*---------------------------------------------------------------------------
4495 WDI_BtAmpEventinfoType
4496 BT-AMP Event Structure
4497---------------------------------------------------------------------------*/
4498typedef struct
4499{
4500 wpt_uint8 ucBtAmpEventType;
4501
4502} WDI_BtAmpEventinfoType;
4503
4504/*---------------------------------------------------------------------------
4505 WDI_BtAmpEventParamsType
4506---------------------------------------------------------------------------*/
4507typedef struct
4508{
4509 /*BT AMP event Info */
4510 WDI_BtAmpEventinfoType wdiBtAmpEventInfo;
4511
4512 /*Request status callback offered by UMAC - it is called if the current
4513 req has returned PENDING as status; it delivers the status of sending
4514 the message over the BUS */
4515 WDI_ReqStatusCb wdiReqStatusCB;
4516
4517 /*The user data passed in by UMAC, it will be sent back when the above
4518 function pointer will be called */
4519 void* pUserData;
4520}WDI_BtAmpEventParamsType;
4521
Jeff Johnsone7245742012-09-05 17:12:55 -07004522#ifdef FEATURE_OEM_DATA_SUPPORT
4523
4524#ifndef OEM_DATA_REQ_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004525#define OEM_DATA_REQ_SIZE 134
Jeff Johnsone7245742012-09-05 17:12:55 -07004526#endif
4527#ifndef OEM_DATA_RSP_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004528#define OEM_DATA_RSP_SIZE 1968
Jeff Johnsone7245742012-09-05 17:12:55 -07004529#endif
4530
4531/*----------------------------------------------------------------------------
4532 WDI_oemDataReqInfoType
4533----------------------------------------------------------------------------*/
4534typedef struct
4535{
4536 wpt_macAddr selfMacAddr;
4537 wpt_uint8 oemDataReq[OEM_DATA_REQ_SIZE];
4538}WDI_oemDataReqInfoType;
4539
4540/*----------------------------------------------------------------------------
4541 WDI_oemDataReqParamsType
4542----------------------------------------------------------------------------*/
4543typedef struct
4544{
4545 /*Request status callback offered by UMAC - it is called if the current
4546 req has returned PENDING as status; it delivers the status of sending
4547 the message over the BUS */
4548 WDI_ReqStatusCb wdiReqStatusCB;
4549
4550 /*The user data passed in by UMAC, it will be sent back when the above
4551 function pointer will be called */
4552 void* pUserData;
4553
4554 /*OEM DATA REQ Info */
4555 WDI_oemDataReqInfoType wdiOemDataReqInfo;
4556
4557}WDI_oemDataReqParamsType;
4558
4559/*----------------------------------------------------------------------------
4560 WDI_oemDataRspParamsType
4561----------------------------------------------------------------------------*/
4562typedef struct
4563{
4564 wpt_uint8 oemDataRsp[OEM_DATA_RSP_SIZE];
4565}WDI_oemDataRspParamsType;
4566
4567#endif /* FEATURE_OEM_DATA_SUPPORT */
Jeff Johnson295189b2012-06-20 16:38:30 -07004568
4569#ifdef WLAN_FEATURE_VOWIFI_11R
4570/*---------------------------------------------------------------------------
4571 WDI_AggrAddTSReqInfoType
4572---------------------------------------------------------------------------*/
4573typedef struct
4574{
4575 /*STA Index*/
4576 wpt_uint8 ucSTAIdx;
4577
4578 /*Identifier for TSpec*/
4579 wpt_uint8 ucTspecIdx;
4580
4581 /*Tspec IE negotiated OTA*/
4582 WDI_TspecIEType wdiTspecIE[WDI_MAX_NO_AC];
4583
4584 /*UAPSD delivery and trigger enabled flags */
4585 wpt_uint8 ucUapsdFlags;
4586
4587 /*SI for each AC*/
4588 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
4589
4590 /*Suspend Interval for each AC*/
4591 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
4592
4593 /*DI for each AC*/
4594 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
4595
4596}WDI_AggrAddTSReqInfoType;
4597
4598
4599/*---------------------------------------------------------------------------
4600 WDI_AggrAddTSReqParamsType
4601---------------------------------------------------------------------------*/
4602typedef struct
4603{
4604 /*TSpec Info */
4605 WDI_AggrAddTSReqInfoType wdiAggrTsInfo;
4606
4607 /*Request status callback offered by UMAC - it is called if the current
4608 req has returned PENDING as status; it delivers the status of sending
4609 the message over the BUS */
4610 WDI_ReqStatusCb wdiReqStatusCB;
4611
4612 /*The user data passed in by UMAC, it will be sent back when the above
4613 function pointer will be called */
4614 void* pUserData;
4615}WDI_AggrAddTSReqParamsType;
4616
4617#endif /* WLAN_FEATURE_VOWIFI_11R */
4618
Jeff Johnson295189b2012-06-20 16:38:30 -07004619/*---------------------------------------------------------------------------
4620 WDI_FTMCommandReqType
4621---------------------------------------------------------------------------*/
4622typedef struct
4623{
4624 /* FTM Command Body length */
4625 wpt_uint32 bodyLength;
4626 /* Actual FTM Command body */
4627 void *FTMCommandBody;
4628}WDI_FTMCommandReqType;
Jeff Johnson295189b2012-06-20 16:38:30 -07004629
4630/*---------------------------------------------------------------------------
4631 WDI_WlanSuspendInfoType
4632---------------------------------------------------------------------------*/
4633typedef struct
4634{
4635 /* Mode of Mcast and Bcast filters configured */
4636 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4637}WDI_WlanSuspendInfoType;
4638
4639/*---------------------------------------------------------------------------
4640 WDI_SuspendParamsType
4641---------------------------------------------------------------------------*/
4642typedef struct
4643{
4644 WDI_WlanSuspendInfoType wdiSuspendParams;
4645
4646 /*Request status callback offered by UMAC - it is called if the current
4647 req has returned PENDING as status; it delivers the status of sending
4648 the message over the BUS */
4649 WDI_ReqStatusCb wdiReqStatusCB;
4650
4651 /*The user data passed in by UMAC, it will be sent back when the above
4652 function pointer will be called */
4653 void* pUserData;
4654
4655}WDI_SuspendParamsType;
4656
4657/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004658 WDI_TrafficStatsType - This is collected for each STA
4659---------------------------------------------------------------------------*/
4660
4661typedef struct
4662{
4663 /* TX stats */
4664 wpt_uint32 txBytesPushed;
4665 wpt_uint32 txPacketsPushed;
4666
4667 /* RX stats */
4668 wpt_uint32 rxBytesRcvd;
4669 wpt_uint32 rxPacketsRcvd;
4670 wpt_uint32 rxTimeTotal;
4671}WDI_TrafficStatsType;
4672
4673typedef struct
4674{
4675 WDI_TrafficStatsType *pTrafficStats;
4676 wpt_uint32 length;
4677 wpt_uint32 duration;
4678
4679 /*Request status callback offered by UMAC - it is called if the current
4680 req has returned PENDING as status; it delivers the status of sending
4681 the message over the BUS */
4682 WDI_ReqStatusCb wdiReqStatusCB;
4683
4684 /*The user data passed in by UMAC, it will be sent back when the above
4685 function pointer will be called */
4686 void* pUserData;
4687}WDI_TrafficStatsIndType;
4688
Chet Lanctot186b5732013-03-18 10:26:30 -07004689#ifdef WLAN_FEATURE_11W
4690typedef struct
4691{
4692
4693 wpt_boolean bExcludeUnencrypt;
4694 wpt_macAddr bssid;
4695 /*Request status callback offered by UMAC - it is called if the current
4696 req has returned PENDING as status; it delivers the status of sending
4697 the message over the BUS */
4698 WDI_ReqStatusCb wdiReqStatusCB;
4699
4700 /*The user data passed in by UMAC, it will be sent back when the above
4701 function pointer will be called */
4702 void* pUserData;
4703}WDI_ExcludeUnencryptIndType;
4704#endif
4705
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004706/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004707 WDI_WlanResumeInfoType
4708---------------------------------------------------------------------------*/
4709typedef struct
4710{
4711 /* Mode of Mcast and Bcast filters configured */
4712 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4713}WDI_WlanResumeInfoType;
4714
4715/*---------------------------------------------------------------------------
4716 WDI_ResumeParamsType
4717---------------------------------------------------------------------------*/
4718typedef struct
4719{
4720 WDI_WlanResumeInfoType wdiResumeParams;
4721
4722 /*Request status callback offered by UMAC - it is called if the current
4723 req has returned PENDING as status; it delivers the status of sending
4724 the message over the BUS */
4725 WDI_ReqStatusCb wdiReqStatusCB;
4726
4727 /*The user data passed in by UMAC, it will be sent back when the above
4728 function pointer will be called */
4729 void* pUserData;
4730
4731}WDI_ResumeParamsType;
4732
4733#ifdef WLAN_FEATURE_GTK_OFFLOAD
4734/*---------------------------------------------------------------------------
4735 * WDI_GTK_OFFLOAD_REQ
4736 *--------------------------------------------------------------------------*/
4737
4738typedef struct
4739{
4740 wpt_uint32 ulFlags; /* optional flags */
4741 wpt_uint8 aKCK[16]; /* Key confirmation key */
4742 wpt_uint8 aKEK[16]; /* key encryption key */
4743 wpt_uint64 ullKeyReplayCounter; /* replay counter */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004744 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004745} WDI_GtkOffloadReqParams;
4746
4747typedef struct
4748{
4749 WDI_GtkOffloadReqParams gtkOffloadReqParams;
4750
4751 /*Request status callback offered by UMAC - it is called if the current
4752 req has returned PENDING as status; it delivers the status of sending
4753 the message over the BUS */
4754 WDI_ReqStatusCb wdiReqStatusCB;
4755
4756 /*The user data passed in by UMAC, it will be sent back when the above
4757 function pointer will be called */
4758 void* pUserData;
4759} WDI_GtkOffloadReqMsg;
4760
4761/*---------------------------------------------------------------------------
4762 * WDI_GTK_OFFLOAD_RSP
4763 *--------------------------------------------------------------------------*/
4764typedef struct
4765{
4766 /* success or failure */
4767 wpt_uint32 ulStatus;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004768 /*BssIdx of the response */
4769 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004770} WDI_GtkOffloadRspParams;
4771
4772typedef struct
4773{
4774 WDI_GtkOffloadRspParams gtkOffloadRspParams;
4775
4776 /*Request status callback offered by UMAC - it is called if the current
4777 req has returned PENDING as status; it delivers the status of sending
4778 the message over the BUS */
4779 WDI_ReqStatusCb wdiReqStatusCB;
4780
4781 /*The user data passed in by UMAC, it will be sent back when the above
4782 function pointer will be called */
4783 void* pUserData;
4784} WDI_GtkOffloadRspMsg;
4785
4786
4787/*---------------------------------------------------------------------------
4788* WDI_GTK_OFFLOAD_GETINFO_REQ
4789*--------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004790typedef struct
4791{
4792 /*BssIdx of the response */
4793 wpt_macAddr bssId;
4794} WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004795
4796typedef struct
4797{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004798
4799 WDI_GtkOffloadGetInfoReqParams WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004800 /*Request status callback offered by UMAC - it is called if the current
4801 req has returned PENDING as status; it delivers the status of sending
4802 the message over the BUS */
4803 WDI_ReqStatusCb wdiReqStatusCB;
4804
4805 /*The user data passed in by UMAC, it will be sent back when the above
4806 function pointer will be called */
4807 void* pUserData;
4808} WDI_GtkOffloadGetInfoReqMsg;
4809
4810/*---------------------------------------------------------------------------
4811* WDI_GTK_OFFLOAD_GETINFO_RSP
4812*--------------------------------------------------------------------------*/
4813typedef struct
4814{
4815 wpt_uint32 ulStatus; /* success or failure */
4816 wpt_uint64 ullKeyReplayCounter; /* current replay counter value */
4817 wpt_uint32 ulTotalRekeyCount; /* total rekey attempts */
4818 wpt_uint32 ulGTKRekeyCount; /* successful GTK rekeys */
4819 wpt_uint32 ulIGTKRekeyCount; /* successful iGTK rekeys */
Gopichand Nakkala870cbae2013-03-15 21:16:09 +05304820 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004821} WDI_GtkOffloadGetInfoRspParams;
4822
4823typedef struct
4824{
4825 WDI_GtkOffloadGetInfoRspParams gtkOffloadGetInfoRspParams;
4826
4827 /*Request status callback offered by UMAC - it is called if the current
4828 req has returned PENDING as status; it delivers the status of sending
4829 the message over the BUS */
4830 WDI_ReqStatusCb wdiReqStatusCB;
4831
4832 /*The user data passed in by UMAC, it will be sent back when the above
4833 function pointer will be called */
4834 void* pUserData;
4835} WDI_GtkOffloadGetInfoRspMsg;
4836#endif // WLAN_FEATURE_GTK_OFFLOAD
4837
4838/*---------------------------------------------------------------------------
4839 WDI_SuspendResumeRspParamsType
4840---------------------------------------------------------------------------*/
4841typedef struct
4842{
4843 /*Status of the response*/
4844 WDI_Status wdiStatus;
4845}WDI_SuspendResumeRspParamsType;
4846
Leo Chang9056f462013-08-01 19:21:11 -07004847#ifdef FEATURE_WLAN_LPHB
4848/*---------------------------------------------------------------------------
4849 WDI Low Power Heart Beat Config request
4850 Copy from sirApi.h to avoid compile error
4851---------------------------------------------------------------------------*/
4852#define WDI_LPHB_FILTER_LEN 64
4853
4854typedef enum
4855{
4856 WDI_LPHB_SET_EN_PARAMS_INDID = 0x0001,
4857 WDI_LPHB_SET_TCP_PARAMS_INDID,
4858 WDI_LPHB_SET_TCP_PKT_FILTER_INDID,
4859 WDI_LPHB_SET_UDP_PARAMS_INDID,
4860 WDI_LPHB_SET_UDP_PKT_FILTER_INDID,
4861 WDI_LPHB_SET_NETWORK_INFO_INDID,
4862} WDI_LPHBIndType;
4863
4864typedef struct
4865{
4866 wpt_uint8 enable;
4867 wpt_uint8 item;
4868 wpt_uint8 session;
4869} WDI_LPHBEnableStruct;
4870
4871typedef struct
4872{
4873 wpt_uint32 srv_ip;
4874 wpt_uint32 dev_ip;
4875 wpt_uint16 src_port;
4876 wpt_uint16 dst_port;
4877 wpt_uint16 timeout;
4878 wpt_uint8 session;
4879 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
Leo Changd9df8aa2013-09-26 13:32:26 -07004880 wpt_uint16 timePeriodSec; // in seconds
4881 wpt_uint32 tcpSn;
Leo Chang9056f462013-08-01 19:21:11 -07004882} WDI_LPHBTcpParamStruct;
4883
4884typedef struct
4885{
4886 wpt_uint16 length;
4887 wpt_uint8 offset;
4888 wpt_uint8 session;
4889 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
4890} WDI_LPHBTcpFilterStruct;
4891
4892typedef struct
4893{
4894 wpt_uint32 srv_ip;
4895 wpt_uint32 dev_ip;
4896 wpt_uint16 src_port;
4897 wpt_uint16 dst_port;
4898 wpt_uint16 interval;
4899 wpt_uint16 timeout;
4900 wpt_uint8 session;
4901 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
4902} WDI_LPHBUdpParamStruct;
4903
4904typedef struct
4905{
4906 wpt_uint16 length;
4907 wpt_uint8 offset;
4908 wpt_uint8 session;
4909 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
4910} WDI_LPHBUdpFilterStruct;
4911
4912typedef struct
4913{
4914 wpt_uint16 cmd;
4915 wpt_uint16 dummy;
4916 union
4917 {
4918 WDI_LPHBEnableStruct lphbEnableReq;
4919 WDI_LPHBTcpParamStruct lphbTcpParamReq;
4920 WDI_LPHBTcpFilterStruct lphbTcpFilterReq;
4921 WDI_LPHBUdpParamStruct lphbUdpParamReq;
4922 WDI_LPHBUdpFilterStruct lphbUdpFilterReq;
4923 } params;
4924} WDI_LPHBReq;
4925#endif /* FEATURE_WLAN_LPHB */
Jeff Johnson295189b2012-06-20 16:38:30 -07004926
Jeff Johnson295189b2012-06-20 16:38:30 -07004927/*---------------------------------------------------------------------------
4928 WDI_AuthType
4929---------------------------------------------------------------------------*/
4930typedef enum
4931{
4932 WDI_AUTH_TYPE_ANY = 0,
4933
4934 WDI_AUTH_TYPE_NONE,
4935 WDI_AUTH_TYPE_OPEN_SYSTEM,
4936 WDI_AUTH_TYPE_SHARED_KEY,
4937
4938 WDI_AUTH_TYPE_WPA,
4939 WDI_AUTH_TYPE_WPA_PSK,
4940 WDI_AUTH_TYPE_WPA_NONE,
4941
4942 WDI_AUTH_TYPE_RSN,
4943 WDI_AUTH_TYPE_RSN_PSK,
4944 WDI_AUTH_TYPE_FT_RSN,
4945 WDI_AUTH_TYPE_FT_RSN_PSK,
4946 WDI_AUTH_TYPE_WAPI_WAI_CERTIFICATE,
4947 WDI_AUTH_TYPE_WAPI_WAI_PSK,
4948 WDI_AUTH_TYPE_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
4949
4950}WDI_AuthType;
4951
4952/*---------------------------------------------------------------------------
4953 WDI_EdType
4954---------------------------------------------------------------------------*/
4955typedef enum
4956{
4957 WDI_ED_ANY = 0,
4958 WDI_ED_NONE,
4959 WDI_ED_WEP40,
4960 WDI_ED_WEP104,
4961 WDI_ED_TKIP,
4962 WDI_ED_CCMP,
4963 WDI_ED_WPI,
4964 WDI_ED_AES_128_CMAC,
4965 WDI_ED_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
4966} WDI_EdType;
4967
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08004968#ifdef FEATURE_WLAN_SCAN_PNO
4969
4970/*Max number of channels for a given network supported by PNO*/
4971#define WDI_PNO_MAX_NETW_CHANNELS 26
4972
4973/*Max number of channels for a given network supported by PNO*/
4974#define WDI_PNO_MAX_NETW_CHANNELS_EX 60
4975
4976/*The max number of programable networks for PNO*/
4977#define WDI_PNO_MAX_SUPP_NETWORKS 16
4978
4979/*The max number of scan timers programable in Riva*/
4980#define WDI_PNO_MAX_SCAN_TIMERS 10
4981
4982#define WDI_PNO_MAX_PROBE_SIZE 450
Jeff Johnson295189b2012-06-20 16:38:30 -07004983
4984/*---------------------------------------------------------------------------
4985 WDI_PNOMode
4986---------------------------------------------------------------------------*/
4987typedef enum
4988{
4989 /*Network offload is to start immediately*/
4990 WDI_PNO_MODE_IMMEDIATE,
4991
4992 /*Network offload is to start on host suspend*/
4993 WDI_PNO_MODE_ON_SUSPEND,
4994
4995 /*Network offload is to start on host resume*/
4996 WDI_PNO_MODE_ON_RESUME,
4997 WDI_PNO_MODE_MAX = 0xFFFFFFFF
4998} WDI_PNOMode;
4999
5000/* SSID broadcast type */
5001typedef enum
5002{
5003 WDI_BCAST_UNKNOWN = 0,
5004 WDI_BCAST_NORMAL = 1,
5005 WDI_BCAST_HIDDEN = 2,
5006
5007 WDI_BCAST_TYPE_MAX = 0xFFFFFFFF
5008} WDI_SSIDBcastType;
5009
5010/*---------------------------------------------------------------------------
5011 WDI_NetworkType
5012---------------------------------------------------------------------------*/
5013typedef struct
5014{
5015 /*The SSID of the preferred network*/
5016 WDI_MacSSid ssId;
5017
5018 /*The authentication method of the preferred network*/
5019 WDI_AuthType wdiAuth;
5020
5021 /*The encryption method of the preferred network*/
5022 WDI_EdType wdiEncryption;
5023
5024 /*SSID broadcast type, normal, hidden or unknown*/
5025 WDI_SSIDBcastType wdiBcastNetworkType;
5026
5027 /*channel count - 0 for all channels*/
5028 wpt_uint8 ucChannelCount;
5029
5030 /*the actual channels*/
Madan Mohan Koyyalamudi4bb5d2e2013-09-26 17:36:46 +05305031 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
Jeff Johnson295189b2012-06-20 16:38:30 -07005032
5033 /*rssi threshold that a network must meet to be considered, 0 - for any*/
5034 wpt_uint8 rssiThreshold;
5035} WDI_NetworkType;
5036
5037
5038/*---------------------------------------------------------------------------
5039 WDI_ScanTimer
5040---------------------------------------------------------------------------*/
5041typedef struct
5042{
5043 /*The timer value*/
5044 wpt_uint32 uTimerValue;
5045
5046 /*The amount of time we should be repeating the interval*/
5047 wpt_uint32 uTimerRepeat;
5048} WDI_ScanTimer;
5049
5050/*---------------------------------------------------------------------------
5051 WDI_ScanTimersType
5052---------------------------------------------------------------------------*/
5053typedef struct
5054{
5055 /*The number of value pair intervals present in the array*/
5056 wpt_uint8 ucScanTimersCount;
5057
5058 /*The time-repeat value pairs*/
5059 WDI_ScanTimer aTimerValues[WDI_PNO_MAX_SCAN_TIMERS];
5060} WDI_ScanTimersType;
5061
5062/*---------------------------------------------------------------------------
5063 WDI_PNOScanReqType
5064---------------------------------------------------------------------------*/
5065typedef struct
5066{
5067 /*Enable or disable PNO feature*/
5068 wpt_uint8 bEnable;
5069
5070 /*PNO mode requested*/
5071 WDI_PNOMode wdiModePNO;
5072
5073 /*Network count*/
5074 wpt_uint8 ucNetworksCount;
5075
5076 /*The networks to look for*/
5077 WDI_NetworkType aNetworks[WDI_PNO_MAX_SUPP_NETWORKS];
5078
5079 /*Scan timer intervals*/
5080 WDI_ScanTimersType scanTimers;
5081
5082 /*Probe template for 2.4GHz band*/
5083 wpt_uint16 us24GProbeSize;
5084 wpt_uint8 a24GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
5085
5086 /*Probe template for 5GHz band*/
5087 wpt_uint16 us5GProbeSize;
5088 wpt_uint8 a5GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
5089} WDI_PNOScanReqType;
5090
5091/*---------------------------------------------------------------------------
5092 WDI_PNOScanReqParamsType
5093 PNO info passed to WDI form WDA
5094---------------------------------------------------------------------------*/
5095typedef struct
5096{
5097 /* PNO Info Type, same as tPrefNetwListParams */
5098 WDI_PNOScanReqType wdiPNOScanInfo;
5099 /* Request status callback offered by UMAC - it is called if the current req
5100 has returned PENDING as status; it delivers the status of sending the message
5101 over the BUS */
5102 WDI_ReqStatusCb wdiReqStatusCB;
5103 /* The user data passed in by UMAC, it will be sent back when the above
5104 function pointer will be called */
5105 void* pUserData;
5106} WDI_PNOScanReqParamsType;
5107
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005108/*---------------------------------------------------------------------------
5109 WDI_SetRssiFilterReqParamsType
5110 PNO info passed to WDI form WDA
5111---------------------------------------------------------------------------*/
5112typedef struct
5113{
5114 /* RSSI Threshold */
5115 wpt_uint8 rssiThreshold;
5116 /* Request status callback offered by UMAC - it is called if the current req
5117 has returned PENDING as status; it delivers the status of sending the message
5118 over the BUS */
5119 WDI_ReqStatusCb wdiReqStatusCB;
5120 /* The user data passed in by UMAC, it will be sent back when the above
5121 function pointer will be called */
5122 void* pUserData;
5123} WDI_SetRssiFilterReqParamsType;
5124
5125/*---------------------------------------------------------------------------
5126 WDI_UpdateScanParamsInfo
5127---------------------------------------------------------------------------*/
5128typedef struct
5129{
5130 /*Is 11d enabled*/
5131 wpt_uint8 b11dEnabled;
5132
5133 /*Was UMAc able to find the regulatory domain*/
5134 wpt_uint8 b11dResolved;
5135
5136 /*Number of channel allowed in the regulatory domain*/
5137 wpt_uint8 ucChannelCount;
5138
5139 /*The actual channels allowed in the regulatory domain*/
5140 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
5141
5142 /*Passive min channel time*/
5143 wpt_uint16 usPassiveMinChTime;
5144
5145 /*Passive max channel time*/
5146 wpt_uint16 usPassiveMaxChTime;
5147
5148 /*Active min channel time*/
5149 wpt_uint16 usActiveMinChTime;
5150
5151 /*Active max channel time*/
5152 wpt_uint16 usActiveMaxChTime;
5153
5154 /*channel bonding info*/
5155 wpt_uint8 cbState;
5156} WDI_UpdateScanParamsInfo;
5157
5158/*---------------------------------------------------------------------------
5159 WDI_UpdateScanParamsInfoType
5160 UpdateScanParams info passed to WDI form WDA
5161---------------------------------------------------------------------------*/
5162typedef struct
5163{
5164 /* PNO Info Type, same as tUpdateScanParams */
5165 WDI_UpdateScanParamsInfo wdiUpdateScanParamsInfo;
5166 /* Request status callback offered by UMAC - it is called if the current req
5167 has returned PENDING as status; it delivers the status of sending the message
5168 over the BUS */
5169 WDI_ReqStatusCb wdiReqStatusCB;
5170 /* The user data passed in by UMAC, it will be sent back when the above
5171 function pointer will be called */
5172 void* pUserData;
5173} WDI_UpdateScanParamsInfoType;
5174#endif //FEATURE_WLAN_SCAN_PNO
5175
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005176#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
5177
Varun Reddy Yeturu52231ea2014-02-06 12:00:56 -08005178#define WDI_ROAM_SCAN_MAX_CHANNELS 80
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005179#define WDI_ROAM_SCAN_MAX_PROBE_SIZE 450
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005180
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005181typedef struct
5182{
5183 /*The SSID of the preferred network*/
5184 WDI_MacSSid ssId;
5185 wpt_uint8 currAPbssid[WDI_MAC_ADDR_LEN];
5186
5187 /*The authentication method of the preferred network*/
5188 WDI_AuthType authentication;
5189
5190 /*The encryption method of the preferred network*/
5191 WDI_EdType encryption;
5192 WDI_EdType mcencryption;
5193
5194 /*SSID broadcast type, normal, hidden or unknown*/
5195 //WDI_SSIDBcastType wdiBcastNetworkType;
5196
5197 /*channel count - 0 for all channels*/
5198 wpt_uint8 ChannelCount;
5199
5200 /*the actual channels*/
5201 wpt_uint8 ChannelCache[WDI_ROAM_SCAN_MAX_CHANNELS];
5202
5203} WDI_RoamNetworkType;
5204
5205typedef struct WDIMobilityDomainInfo
5206{
5207 wpt_uint8 mdiePresent;
5208 wpt_uint16 mobilityDomain;
5209} WDI_MobilityDomainInfo;
5210
5211/*---------------------------------------------------------------------------
5212 WDI_RoamOffloadScanInfo
5213---------------------------------------------------------------------------*/
5214typedef struct
5215{
5216 wpt_boolean RoamScanOffloadEnabled;
Sameer Thalappil4ae66ec2013-11-05 14:17:35 -08005217 wpt_boolean MAWCEnabled;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005218 wpt_uint8 LookupThreshold;
Varun Reddy Yeturu6c5e25c2014-01-09 21:55:37 -08005219 wpt_uint8 RxSensitivityThreshold;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005220 wpt_uint8 RoamRssiDiff;
5221 wpt_uint8 ChannelCacheType;
5222 wpt_uint8 Command;
5223 wpt_uint8 StartScanReason;
5224 wpt_uint16 NeighborScanTimerPeriod;
5225 wpt_uint16 NeighborRoamScanRefreshPeriod;
5226 wpt_uint16 NeighborScanChannelMinTime;
5227 wpt_uint16 NeighborScanChannelMaxTime;
5228 wpt_uint16 EmptyRefreshScanPeriod;
5229 wpt_uint8 ValidChannelCount;
5230 wpt_uint8 ValidChannelList[WDI_ROAM_SCAN_MAX_CHANNELS];
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08005231 wpt_boolean IsESEEnabled;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005232 /*Probe template for 2.4GHz band*/
5233 wpt_uint16 us24GProbeSize;
5234 wpt_uint8 a24GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
5235
5236 /*Probe template for 5GHz band*/
5237 wpt_uint16 us5GProbeSize;
5238 wpt_uint8 a5GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005239 /*LFR BG Scan will currently look for only one network to which it is initially connected.
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005240 * As per requirement, later, the following structure can be used as an array of networks.*/
5241 WDI_RoamNetworkType ConnectedNetwork;
5242 WDI_MobilityDomainInfo MDID;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005243 wpt_uint8 nProbes;
5244 wpt_uint16 HomeAwayTime;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005245} WDI_RoamOffloadScanInfo;
5246
5247typedef struct
5248{
5249 /* Start Roam Candidate Lookup Offload Back Ground Info Type */
5250 WDI_RoamOffloadScanInfo wdiRoamOffloadScanInfo;
5251 /* Request status callback offered by UMAC - it is called if the current req
5252 has returned PENDING as status; it delivers the status of sending the message
5253 over the BUS */
5254 WDI_ReqStatusCb wdiReqStatusCB;
5255 /* The user data passed in by UMAC, it will be sent back when the above
5256 function pointer will be called */
5257 void* pUserData;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005258} WDI_RoamScanOffloadReqParamsType;
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005259#endif //WLAN_FEATURE_ROAM_SCAN_OFFLOAD
Jeff Johnson295189b2012-06-20 16:38:30 -07005260
5261/*---------------------------------------------------------------------------
Sandeep Puligilla8b8b74b2014-02-10 16:39:05 +05305262 WDI_HT40ObssScanIndType
5263---------------------------------------------------------------------------*/
5264typedef struct
5265{
5266 wpt_uint8 cmdType;
5267 wpt_uint8 scanType;
5268 wpt_uint16 OBSSScanPassiveDwellTime; // In TUs
5269 wpt_uint16 OBSSScanActiveDwellTime; // In TUs
5270 wpt_uint16 BSSChannelWidthTriggerScanInterval; // In seconds
5271 wpt_uint16 OBSSScanPassiveTotalPerChannel; // In TUs
5272 wpt_uint16 OBSSScanActiveTotalPerChannel; // In TUs
5273 wpt_uint16 BSSWidthChannelTransitionDelayFactor;
5274 wpt_uint16 OBSSScanActivityThreshold;
5275 wpt_uint8 selfStaIdx;
5276 wpt_uint8 bssIdx;
5277 wpt_uint8 fortyMHZIntolerent;
5278 wpt_uint8 channelCount;
5279 wpt_uint8 channels[WDI_ROAM_SCAN_MAX_CHANNELS];
5280 wpt_uint8 currentOperatingClass;
5281 wpt_uint16 ieFieldLen;
5282 wpt_uint8 ieField[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
5283} WDI_HT40ObssScanIndType;
5284
5285
5286/*---------------------------------------------------------------------------
5287 WDI_OBSSScanIndParamsType
5288---------------------------------------------------------------------------*/
5289typedef struct
5290{
5291 WDI_HT40ObssScanIndType wdiHT40ObssScanParam;
5292
5293 /*Request status callback offered by UMAC - it is called if the current
5294 req has returned PENDING as status; it delivers the status of sending
5295 the message over the BUS */
5296 WDI_ReqStatusCb wdiReqStatusCB;
5297
5298 /*The user data passed in by UMAC, it will be sent back when the above
5299 function pointer will be called */
5300 void* pUserData;
5301
5302}WDI_HT40ObssScanParamsType;
5303
5304/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07005305 WDI_UpdateScanParamsInfo
5306---------------------------------------------------------------------------*/
5307typedef struct
5308{
5309 /* Ignore DTIM */
5310 wpt_uint32 uIgnoreDTIM;
5311
5312 /*DTIM Period*/
5313 wpt_uint32 uDTIMPeriod;
5314
5315 /* Listen Interval */
5316 wpt_uint32 uListenInterval;
5317
5318 /* Broadcast Multicas Filter */
5319 wpt_uint32 uBcastMcastFilter;
5320
5321 /* Beacon Early Termination */
5322 wpt_uint32 uEnableBET;
5323
5324 /* Beacon Early Termination Interval */
5325 wpt_uint32 uBETInterval;
5326
Yue Mac24062f2013-05-13 17:01:29 -07005327 /* MAX LI for modulated DTIM */
5328 wpt_uint32 uMaxLIModulatedDTIM;
5329
Jeff Johnson295189b2012-06-20 16:38:30 -07005330} WDI_SetPowerParamsInfo;
5331
5332/*---------------------------------------------------------------------------
5333 WDI_UpdateScanParamsInfoType
5334 UpdateScanParams info passed to WDI form WDA
5335---------------------------------------------------------------------------*/
5336typedef struct
5337{
5338 /* Power params Info Type, same as tSetPowerParamsReq */
5339 WDI_SetPowerParamsInfo wdiSetPowerParamsInfo;
5340 /* Request status callback offered by UMAC - it is called if the current req
5341 has returned PENDING as status; it delivers the status of sending the message
5342 over the BUS */
5343 WDI_ReqStatusCb wdiReqStatusCB;
5344 /* The user data passed in by UMAC, it will be sent back when the above
5345 function pointer will be called */
5346 void* pUserData;
5347}WDI_SetPowerParamsReqParamsType;
5348
5349/*---------------------------------------------------------------------------
5350 WDI_SetTxPerTrackingConfType
5351 Wowl add ptrn info passed to WDA form UMAC
5352---------------------------------------------------------------------------*/
5353typedef struct
5354{
5355 wpt_uint8 ucTxPerTrackingEnable; /* 0: disable, 1:enable */
5356 wpt_uint8 ucTxPerTrackingPeriod; /* Check period, unit is sec. */
5357 wpt_uint8 ucTxPerTrackingRatio; /* (Fail TX packet)/(Total TX packet) ratio, the unit is 10%. */
5358 wpt_uint32 uTxPerTrackingWatermark; /* A watermark of check number, once the tx packet exceed this number, we do the check, default is 5 */
5359} WDI_TxPerTrackingParamType;
5360
5361/*---------------------------------------------------------------------------
5362 WDI_SetTxPerTrackingReqParamsType
5363 Tx PER Tracking parameters passed to WDI from WDA
5364---------------------------------------------------------------------------*/
5365typedef struct
5366{
5367 /* Configurations for Tx PER Tracking */
5368 WDI_TxPerTrackingParamType wdiTxPerTrackingParam;
5369 /*Request status callback offered by UMAC - it is called if the current req
5370 has returned PENDING as status; it delivers the status of sending the message
5371 over the BUS */
5372 WDI_ReqStatusCb wdiReqStatusCB;
5373 /*The user data passed in by UMAC, it will be sent back when the above
5374 function pointer will be called */
5375 void* pUserData;
5376}WDI_SetTxPerTrackingReqParamsType;
5377
5378#ifdef WLAN_FEATURE_PACKET_FILTERING
5379/*---------------------------------------------------------------------------
5380 Packet Filtering Parameters
5381---------------------------------------------------------------------------*/
5382
5383#define WDI_IPV4_ADDR_LEN 4
5384#define WDI_MAC_ADDR_LEN 6
5385#define WDI_MAX_FILTER_TEST_DATA_LEN 8
5386#define WDI_MAX_NUM_MULTICAST_ADDRESS 240
5387#define WDI_MAX_NUM_FILTERS 20
5388#define WDI_MAX_NUM_TESTS_PER_FILTER 10
5389
5390//
5391// Receive Filter Parameters
5392//
5393typedef enum
5394{
5395 WDI_RCV_FILTER_TYPE_INVALID,
5396 WDI_RCV_FILTER_TYPE_FILTER_PKT,
5397 WDI_RCV_FILTER_TYPE_BUFFER_PKT,
5398 WDI_RCV_FILTER_TYPE_MAX_ENUM_SIZE
5399}WDI_ReceivePacketFilterType;
5400
5401typedef enum
5402{
5403 WDI_FILTER_HDR_TYPE_INVALID,
5404 WDI_FILTER_HDR_TYPE_MAC,
5405 WDI_FILTER_HDR_TYPE_ARP,
5406 WDI_FILTER_HDR_TYPE_IPV4,
5407 WDI_FILTER_HDR_TYPE_IPV6,
5408 WDI_FILTER_HDR_TYPE_UDP,
5409 WDI_FILTER_HDR_TYPE_MAX
5410}WDI_RcvPktFltProtocolType;
5411
5412typedef enum
5413{
5414 WDI_FILTER_CMP_TYPE_INVALID,
5415 WDI_FILTER_CMP_TYPE_EQUAL,
5416 WDI_FILTER_CMP_TYPE_MASK_EQUAL,
5417 WDI_FILTER_CMP_TYPE_NOT_EQUAL,
5418 WDI_FILTER_CMP_TYPE_MASK_NOT_EQUAL,
5419 WDI_FILTER_CMP_TYPE_MAX
5420}WDI_RcvPktFltCmpFlagType;
5421
5422typedef struct
5423{
5424 WDI_RcvPktFltProtocolType protocolLayer;
5425 WDI_RcvPktFltCmpFlagType cmpFlag;
5426/* Length of the data to compare */
5427 wpt_uint16 dataLength;
5428/* from start of the respective frame header */
5429 wpt_uint8 dataOffset;
5430 wpt_uint8 reserved; /* Reserved field */
5431/* Data to compare */
5432 wpt_uint8 compareData[WDI_MAX_FILTER_TEST_DATA_LEN];
5433/* Mask to be applied on the received packet data before compare */
5434 wpt_uint8 dataMask[WDI_MAX_FILTER_TEST_DATA_LEN];
5435}WDI_RcvPktFilterFieldParams;
5436
5437typedef struct
5438{
5439 wpt_uint8 filterId;
5440 wpt_uint8 filterType;
5441 wpt_uint32 numFieldParams;
5442 wpt_uint32 coalesceTime;
Jeff Johnsone7245742012-09-05 17:12:55 -07005443 wpt_macAddr selfMacAddr;
5444 wpt_macAddr bssId;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005445 WDI_RcvPktFilterFieldParams paramsData[1];
5446
Jeff Johnson295189b2012-06-20 16:38:30 -07005447}WDI_RcvPktFilterCfgType;
5448
5449typedef struct
5450{
5451 /*Request status callback offered by UMAC - it is called if the current
5452 req has returned PENDING as status; it delivers the status of sending
5453 the message over the BUS */
5454 WDI_ReqStatusCb wdiReqStatusCB;
5455
5456 /*The user data passed in by UMAC, it will be sent back when the above
5457 function pointer will be called */
5458 void* pUserData;
5459
5460 // Variable length packet filter field params
5461 WDI_RcvPktFilterCfgType wdiPktFilterCfg;
5462} WDI_SetRcvPktFilterReqParamsType;
5463
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005464typedef struct
5465{
5466 /*Result of the operation*/
5467 WDI_Status wdiStatus;
5468 /* BSSIDX of the Set Receive Filter
5469 */
5470 wpt_uint8 bssIdx;
5471} WDI_SetRcvPktFilterRspParamsType;
5472
Jeff Johnson295189b2012-06-20 16:38:30 -07005473//
5474// Filter Packet Match Count Parameters
5475//
5476typedef struct
5477{
5478 /*Request status callback offered by UMAC - it is called if the current
5479 req has returned PENDING as status; it delivers the status of sending
5480 the message over the BUS */
5481 WDI_ReqStatusCb wdiReqStatusCB;
5482
5483 /*The user data passed in by UMAC, it will be sent back when the above
5484 function pointer will be called */
5485 void* pUserData;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005486
5487 /* BSSID of the Match count
5488 */
5489 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005490} WDI_RcvFltPktMatchCntReqParamsType;
5491
5492typedef struct
5493{
5494 wpt_uint8 filterId;
5495 wpt_uint32 matchCnt;
5496} WDI_RcvFltPktMatchCnt;
5497
5498typedef struct
5499{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005500 /*Result of the operation*/
5501 WDI_Status wdiStatus;
Jeff Johnson295189b2012-06-20 16:38:30 -07005502
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005503 /* BSSIDX of the Match count response
5504 */
5505 wpt_uint8 bssIdx;
5506
Jeff Johnson295189b2012-06-20 16:38:30 -07005507} WDI_RcvFltPktMatchCntRspParamsType;
5508
Jeff Johnson295189b2012-06-20 16:38:30 -07005509//
5510// Receive Filter Clear Parameters
5511//
5512typedef struct
5513{
5514 wpt_uint32 status; /* only valid for response message */
5515 wpt_uint8 filterId;
Jeff Johnsone7245742012-09-05 17:12:55 -07005516 wpt_macAddr selfMacAddr;
5517 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005518}WDI_RcvFltPktClearParam;
5519
5520typedef struct
5521{
5522 WDI_RcvFltPktClearParam filterClearParam;
5523 /*Request status callback offered by UMAC - it is called if the current
5524 req has returned PENDING as status; it delivers the status of sending
5525 the message over the BUS */
5526 WDI_ReqStatusCb wdiReqStatusCB;
5527
5528 /*The user data passed in by UMAC, it will be sent back when the above
5529 function pointer will be called */
5530 void* pUserData;
5531} WDI_RcvFltPktClearReqParamsType;
5532
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005533typedef struct
5534{
5535 /*Result of the operation*/
5536 WDI_Status wdiStatus;
5537 /* BSSIDX of the Match count response
5538 */
5539 wpt_uint8 bssIdx;
5540
5541} WDI_RcvFltPktClearRspParamsType;
5542
Jeff Johnson295189b2012-06-20 16:38:30 -07005543//
5544// Multicast Address List Parameters
5545//
5546typedef struct
5547{
5548 wpt_uint32 ulMulticastAddrCnt;
5549 wpt_macAddr multicastAddr[WDI_MAX_NUM_MULTICAST_ADDRESS];
Jeff Johnsone7245742012-09-05 17:12:55 -07005550 wpt_macAddr selfMacAddr;
5551 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005552} WDI_RcvFltMcAddrListType;
5553
5554typedef struct
5555{
5556 WDI_RcvFltMcAddrListType mcAddrList;
5557 /*Request status callback offered by UMAC - it is called if the current
5558 req has returned PENDING as status; it delivers the status of sending
5559 the message over the BUS */
5560 WDI_ReqStatusCb wdiReqStatusCB;
5561
5562 /*The user data passed in by UMAC, it will be sent back when the above
5563 function pointer will be called */
5564 void* pUserData;
5565} WDI_RcvFltPktSetMcListReqParamsType;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005566
5567typedef struct
5568{
5569 /*Result of the operation*/
5570 WDI_Status wdiStatus;
5571 /* BSSIDX of the Match count response
5572 */
5573 wpt_uint8 bssIdx;
5574} WDI_RcvFltPktSetMcListRspParamsType;
5575
Jeff Johnson295189b2012-06-20 16:38:30 -07005576#endif // WLAN_FEATURE_PACKET_FILTERING
5577
5578/*---------------------------------------------------------------------------
5579 WDI_HALDumpCmdReqInfoType
5580---------------------------------------------------------------------------*/
5581typedef struct
5582{
5583 /*command*/
5584 wpt_uint32 command;
5585
5586 /*Arguments*/
5587 wpt_uint32 argument1;
5588 wpt_uint32 argument2;
5589 wpt_uint32 argument3;
5590 wpt_uint32 argument4;
5591
5592}WDI_HALDumpCmdReqInfoType;
5593
5594/*---------------------------------------------------------------------------
5595 WDI_HALDumpCmdReqParamsType
5596---------------------------------------------------------------------------*/
5597typedef struct
5598{
5599 /*NV Blob Info*/
5600 WDI_HALDumpCmdReqInfoType wdiHALDumpCmdInfoType;
5601
5602 /*Request status callback offered by UMAC - it is called if the current
5603 req has returned PENDING as status; it delivers the status of sending
5604 the message over the BUS */
5605 WDI_ReqStatusCb wdiReqStatusCB;
5606
5607 /*The user data passed in by UMAC, it will be sent back when the above
5608 function pointer will be called */
5609 void* pUserData;
5610
5611}WDI_HALDumpCmdReqParamsType;
5612
5613
5614/*---------------------------------------------------------------------------
5615 WDI_HALDumpCmdRspParamsType
5616---------------------------------------------------------------------------*/
5617typedef struct
5618{
5619 /*Result of the operation*/
5620 WDI_Status wdiStatus;
5621
5622 /* length of the buffer */
5623 wpt_uint16 usBufferLen;
5624
5625 /* Buffer */
5626 wpt_uint8 *pBuffer;
5627}WDI_HALDumpCmdRspParamsType;
5628
5629
5630/*---------------------------------------------------------------------------
5631 WDI_SetTmLevelReqType
5632---------------------------------------------------------------------------*/
5633typedef struct
5634{
5635 wpt_uint16 tmMode;
5636 wpt_uint16 tmLevel;
5637 void* pUserData;
5638}WDI_SetTmLevelReqType;
5639
5640/*---------------------------------------------------------------------------
5641 WDI_SetTmLevelRspType
5642---------------------------------------------------------------------------*/
5643typedef struct
5644{
5645 WDI_Status wdiStatus;
5646 void* pUserData;
5647}WDI_SetTmLevelRspType;
5648
Leo Chang9056f462013-08-01 19:21:11 -07005649#ifdef FEATURE_WLAN_LPHB
5650/*---------------------------------------------------------------------------
5651 WDI_LPHBConfigParamsType
5652---------------------------------------------------------------------------*/
5653typedef struct
5654{
5655 void* pLphsConfIndData;
5656}WDI_LPHBConfigParamsType;
5657#endif /* FEATURE_WLAN_LPHB */
5658
Yue Mab9c86f42013-08-14 15:59:08 -07005659/*---------------------------------------------------------------------------
5660 WDI_AddPeriodicTxPtrnInfoType
5661---------------------------------------------------------------------------*/
5662typedef struct
5663{
5664 /* MAC Address for the adapter */
5665 wpt_macAddr macAddr;
5666
5667 wpt_uint8 ucPtrnId; // Pattern ID
5668 wpt_uint16 ucPtrnSize; // Pattern size
5669 wpt_uint32 usPtrnIntervalMs; // In msec
5670 wpt_uint8 ucPattern[PERIODIC_TX_PTRN_MAX_SIZE]; // Pattern buffer
5671} WDI_AddPeriodicTxPtrnInfoType;
5672
5673/*---------------------------------------------------------------------------
5674 WDI_DelPeriodicTxPtrnInfoType
5675---------------------------------------------------------------------------*/
5676typedef struct
5677{
5678 /* MAC Address for the adapter */
5679 wpt_macAddr macAddr;
5680
5681 /* Bitmap of pattern IDs that needs to be deleted */
5682 wpt_uint32 ucPatternIdBitmap;
5683} WDI_DelPeriodicTxPtrnInfoType;
5684
5685/*---------------------------------------------------------------------------
5686 WDI_AddPeriodicTxPtrnParamsType
5687---------------------------------------------------------------------------*/
5688typedef struct
5689{
5690 WDI_AddPeriodicTxPtrnInfoType wdiAddPeriodicTxPtrnParams;
5691
5692 /*Request status callback offered by UMAC - it is called if the current
5693 req has returned PENDING as status; it delivers the status of sending
5694 the message over the BUS */
5695 WDI_ReqStatusCb wdiReqStatusCB;
5696
5697 /*The user data passed in by UMAC, it will be sent back when the above
5698 function pointer will be called */
5699 void* pUserData;
5700} WDI_AddPeriodicTxPtrnParamsType;
5701
5702/*---------------------------------------------------------------------------
5703 WDI_DelPeriodicTxPtrnParamsType
5704---------------------------------------------------------------------------*/
5705typedef struct
5706{
5707 WDI_DelPeriodicTxPtrnInfoType wdiDelPeriodicTxPtrnParams;
5708
5709 /*Request status callback offered by UMAC - it is called if the current
5710 req has returned PENDING as status; it delivers the status of sending
5711 the message over the BUS */
5712 WDI_ReqStatusCb wdiReqStatusCB;
5713
5714 /*The user data passed in by UMAC, it will be sent back when the above
5715 function pointer will be called */
5716 void* pUserData;
5717} WDI_DelPeriodicTxPtrnParamsType;
5718
Dino Mycle41bdc942014-06-10 11:30:24 +05305719#ifdef WLAN_FEATURE_EXTSCAN
5720
5721#define WDI_WLAN_EXTSCAN_MAX_CHANNELS 16
5722#define WDI_WLAN_EXTSCAN_MAX_BUCKETS 16
5723#define WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS 128
5724#define WDI_WLAN_EXTSCAN_MAX_SIGNIFICANT_CHANGE_APS 64
5725
5726typedef enum
5727{
5728 WDI_WIFI_BAND_UNSPECIFIED,
5729 WDI_WIFI_BAND_BG = 1, // 2.4 GHz
5730 WDI_WIFI_BAND_A = 2, // 5 GHz without DFS
5731 WDI_WIFI_BAND_ABG = 3, // 2.4 GHz + 5 GHz; no DFS
5732 WDI_WIFI_BAND_A_DFS = 4, // 5 GHz DFS only
5733 WDI_WIFI_BAND_A_WITH_DFS = 6, // 5 GHz with DFS
5734 WDI_WIFI_BAND_ABG_WITH_DFS = 7, // 2.4 GHz + 5 GHz with DFS
5735
5736 /* Keep it last */
5737 WDI_WIFI_BAND_MAX
5738} WDI_WifiBand;
5739
5740typedef struct
5741{
5742 wpt_uint32 channel; // frequency
5743 wpt_uint32 dwellTimeMs; // dwell time hint
5744 wpt_uint8 passive; // 0 => active,
5745 // 1 => passive scan; ignored for DFS
5746 wpt_uint8 chnlClass;
5747} WDI_WifiScanChannelSpec;
5748
5749typedef struct
5750{
5751 wpt_uint8 bucket; // bucket index, 0 based
5752 WDI_WifiBand band; // when UNSPECIFIED, use channel list
5753
5754 /*
5755 * desired period, in millisecond; if this is too
5756 * low, the firmware should choose to generate results as fast as
5757 * it can instead of failing the command byte
5758 */
5759 wpt_uint32 period;
5760
5761 /*
5762 * 0 => normal reporting (reporting rssi history
5763 * only, when rssi history buffer is % full)
5764 * 1 => same as 0 + report a scan completion event after scanning
5765 * this bucket
5766 * 2 => same as 1 + forward scan results (beacons/probe responses + IEs)
5767 * in real time to HAL
5768 */
5769 wpt_uint8 reportEvents;
5770
5771 wpt_uint8 numChannels;
5772
5773 /*
5774 * channels to scan; these may include DFS channels
5775 */
5776 WDI_WifiScanChannelSpec channels[WDI_WLAN_EXTSCAN_MAX_CHANNELS];
5777} WDI_WifiScanBucketSpec;
5778
5779typedef struct
5780{
5781 wpt_uint32 requestId;
5782 wpt_uint8 sessionId;
5783 wpt_uint32 basePeriod; // base timer period
5784 wpt_uint32 maxAPperScan;
5785
5786 /* in %, when buffer is this much full, wake up host */
5787 wpt_uint32 reportThreshold;
5788
5789 wpt_uint8 numBuckets;
5790 WDI_WifiScanBucketSpec buckets[WDI_WLAN_EXTSCAN_MAX_BUCKETS];
5791} WDI_EXTScanStartReqParams;
5792
5793typedef struct
5794{
5795 wpt_uint32 requestId;
5796 wpt_uint8 sessionId;
5797} WDI_EXTScanStopReqParams;
5798
5799typedef struct
5800{
5801 wpt_uint32 requestId;
5802 wpt_uint8 sessionId;
5803
5804 /*
5805 * 1 return cached results and flush it
5806 * 0 return cached results and do not flush
5807 */
5808 wpt_boolean flush;
5809} WDI_EXTScanGetCachedResultsReqParams;
5810
5811typedef struct
5812{
5813 wpt_uint32 requestId;
5814 wpt_uint8 sessionId;
5815} WDI_EXTScanGetCapabilitiesReqParams;
5816
5817typedef struct
5818{
5819 wpt_uint8 bssid[6]; /* BSSID */
5820 wpt_int32 low; // low threshold
5821 wpt_int32 high; // high threshold
5822 wpt_uint32 channel; // channel hint
5823} WDI_APThresholdParam;
5824
5825typedef struct
5826{
5827 wpt_int32 requestId;
5828 wpt_int8 sessionId; // session Id mapped to vdev_id
5829
5830 wpt_int32 numAp; // number of hotlist APs
5831 WDI_APThresholdParam ap[WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS]; // hotlist APs
5832} WDI_EXTScanSetBSSIDHotlistReqParams;
5833
5834typedef struct
5835{
5836 wpt_uint32 requestId;
5837 wpt_uint8 sessionId;
5838} WDI_EXTScanResetBSSIDHotlistReqParams;
5839
5840
5841typedef struct
5842{
5843 wpt_int32 requestId;
5844 wpt_int8 sessionId; // session Id mapped to vdev_id
5845
5846 /* number of samples for averaging RSSI */
5847 wpt_int32 rssiSampleSize;
5848
5849 /* number of missed samples to confirm AP loss */
5850 wpt_int32 lostApSampleSize;
5851
5852 /* number of APs breaching threshold required for firmware
5853 * to generate event
5854 */
5855 wpt_int32 minBreaching;
5856
5857 wpt_int32 numAp; // number of hotlist APs
5858 WDI_APThresholdParam ap[WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS]; // hotlist APs
5859} WDI_EXTScanSetSignfRSSIChangeReqParams;
5860
5861typedef struct
5862{
5863 wpt_uint32 requestId;
5864 wpt_uint8 sessionId;
5865} WDI_EXTScanResetSignfRSSIChangeReqParams;
5866#endif /* WLAN_FEATURE_EXTSCAN */
5867
Sunil Duttbd736ed2014-05-26 21:19:41 +05305868#ifdef WLAN_FEATURE_LINK_LAYER_STATS
5869typedef struct
5870{
5871 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05305872 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05305873 wpt_uint32 mpduSizeThreshold;
5874 wpt_uint32 aggressiveStatisticsGathering;
5875}WDI_LLStatsSetReqType;
5876
5877typedef struct
5878{
5879 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05305880 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05305881 wpt_uint32 paramIdMask;
5882}WDI_LLStatsGetReqType;
5883
5884typedef struct
5885{
5886 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05305887 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05305888 wpt_uint32 statsClearReqMask;
5889 wpt_uint8 stopReq;
5890}WDI_LLStatsClearReqType;
Dino Mycled3d50022014-07-07 12:58:25 +05305891
Sunil Duttbd736ed2014-05-26 21:19:41 +05305892#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
5893
Siddharth Bhal171788a2014-09-29 21:02:40 +05305894/*---------------------------------------------------------------------------
5895 WDI_SPOOF_MAC_ADDR_REQ
5896---------------------------------------------------------------------------*/
5897typedef struct
5898{
5899 /* Spoof MAC Address for FW */
5900 wpt_macAddr macAddr;
5901
5902 /* Reserved Params/fields */
5903 wpt_uint32 params;
5904 wpt_uint32 reserved;
5905} WDI_SpoofMacAddrInfoType;
Sunil Duttbd736ed2014-05-26 21:19:41 +05305906
Jeff Johnson295189b2012-06-20 16:38:30 -07005907/*----------------------------------------------------------------------------
5908 * WDI callback types
5909 *--------------------------------------------------------------------------*/
5910
5911/*---------------------------------------------------------------------------
5912 WDI_StartRspCb
5913
5914 DESCRIPTION
5915
5916 This callback is invoked by DAL when it has received a Start response from
5917 the underlying device.
5918
5919 PARAMETERS
5920
5921 IN
5922 wdiRspParams: response parameters received from HAL
5923 pUserData: user data
5924
5925
5926 RETURN VALUE
5927 The result code associated with performing the operation
5928---------------------------------------------------------------------------*/
5929typedef void (*WDI_StartRspCb)(WDI_StartRspParamsType* pwdiRspParams,
5930 void* pUserData);
5931
5932/*---------------------------------------------------------------------------
5933 WDI_StartRspCb
5934
5935 DESCRIPTION
5936
5937 This callback is invoked by DAL when it has received a Stop response from
5938 the underlying device.
5939
5940 PARAMETERS
5941
5942 IN
5943 wdiStatus: response status received from HAL
5944 pUserData: user data
5945
5946
5947
5948 RETURN VALUE
5949 The result code associated with performing the operation
5950---------------------------------------------------------------------------*/
5951typedef void (*WDI_StopRspCb)(WDI_Status wdiStatus,
5952 void* pUserData);
5953
5954/*---------------------------------------------------------------------------
5955 WDI_StartRspCb
5956
5957 DESCRIPTION
5958
5959 This callback is invoked by DAL when it has received an Init Scan response
5960 from the underlying device.
5961
5962 PARAMETERS
5963
5964 IN
5965 wdiStatus: response status received from HAL
5966 pUserData: user data
5967
5968
5969
5970 RETURN VALUE
5971 The result code associated with performing the operation
5972---------------------------------------------------------------------------*/
5973typedef void (*WDI_InitScanRspCb)(WDI_Status wdiStatus,
5974 void* pUserData);
5975
5976
5977/*---------------------------------------------------------------------------
5978 WDI_StartRspCb
5979
5980 DESCRIPTION
5981
5982 This callback is invoked by DAL when it has received a StartScan response
5983 from the underlying device.
5984
5985 PARAMETERS
5986
5987 IN
5988 wdiParams: response params received from HAL
5989 pUserData: user data
5990
5991
5992
5993 RETURN VALUE
5994 The result code associated with performing the operation
5995---------------------------------------------------------------------------*/
5996typedef void (*WDI_StartScanRspCb)(WDI_StartScanRspParamsType* wdiParams,
5997 void* pUserData);
5998
5999
6000/*---------------------------------------------------------------------------
6001 WDI_StartRspCb
6002
6003 DESCRIPTION
6004
6005 This callback is invoked by DAL when it has received a End Scan response
6006 from the underlying device.
6007
6008 PARAMETERS
6009
6010 IN
6011 wdiStatus: response status received from HAL
6012 pUserData: user data
6013
6014
6015
6016 RETURN VALUE
6017 The result code associated with performing the operation
6018---------------------------------------------------------------------------*/
6019typedef void (*WDI_EndScanRspCb)(WDI_Status wdiStatus,
6020 void* pUserData);
6021
6022
6023/*---------------------------------------------------------------------------
6024 WDI_StartRspCb
6025
6026 DESCRIPTION
6027
6028 This callback is invoked by DAL when it has received a Finish Scan response
6029 from the underlying device.
6030
6031 PARAMETERS
6032
6033 IN
6034 wdiStatus: response status received from HAL
6035 pUserData: user data
6036
6037
6038
6039 RETURN VALUE
6040 The result code associated with performing the operation
6041---------------------------------------------------------------------------*/
6042typedef void (*WDI_FinishScanRspCb)(WDI_Status wdiStatus,
6043 void* pUserData);
6044
6045
6046/*---------------------------------------------------------------------------
6047 WDI_StartRspCb
6048
6049 DESCRIPTION
6050
6051 This callback is invoked by DAL when it has received a Join response from
6052 the underlying device.
6053
6054 PARAMETERS
6055
6056 IN
6057 wdiStatus: response status received from HAL
6058 pUserData: user data
6059
6060
6061
6062 RETURN VALUE
6063 The result code associated with performing the operation
6064---------------------------------------------------------------------------*/
6065typedef void (*WDI_JoinRspCb)(WDI_Status wdiStatus,
6066 void* pUserData);
6067
6068
6069/*---------------------------------------------------------------------------
6070 WDI_StartRspCb
6071
6072 DESCRIPTION
6073
6074 This callback is invoked by DAL when it has received a Config BSS response
6075 from the underlying device.
6076
6077 PARAMETERS
6078
6079 IN
6080 wdiConfigBSSRsp: response parameters received from HAL
6081 pUserData: user data
6082
6083
6084 RETURN VALUE
6085 The result code associated with performing the operation
6086---------------------------------------------------------------------------*/
6087typedef void (*WDI_ConfigBSSRspCb)(
6088 WDI_ConfigBSSRspParamsType* pwdiConfigBSSRsp,
6089 void* pUserData);
6090
6091
6092/*---------------------------------------------------------------------------
6093 WDI_StartRspCb
6094
6095 DESCRIPTION
6096
6097 This callback is invoked by DAL when it has received a Del BSS response from
6098 the underlying device.
6099
6100 PARAMETERS
6101
6102 IN
6103 wdiDelBSSRsp: response parameters received from HAL
6104 pUserData: user data
6105
6106
6107 RETURN VALUE
6108 The result code associated with performing the operation
6109---------------------------------------------------------------------------*/
6110typedef void (*WDI_DelBSSRspCb)(WDI_DelBSSRspParamsType* pwdiDelBSSRsp,
6111 void* pUserData);
6112
6113
6114/*---------------------------------------------------------------------------
6115 WDI_StartRspCb
6116
6117 DESCRIPTION
6118
6119 This callback is invoked by DAL when it has received a Post Assoc response
6120 from the underlying device.
6121
6122 PARAMETERS
6123
6124 IN
6125 wdiRspParams: response parameters received from HAL
6126 pUserData: user data
6127
6128
6129 RETURN VALUE
6130 The result code associated with performing the operation
6131---------------------------------------------------------------------------*/
6132typedef void (*WDI_PostAssocRspCb)(
6133 WDI_PostAssocRspParamsType* pwdiPostAssocRsp,
6134 void* pUserData);
6135
6136
6137/*---------------------------------------------------------------------------
6138 WDI_StartRspCb
6139
6140 DESCRIPTION
6141
6142 This callback is invoked by DAL when it has received a Del STA response from
6143 the underlying device.
6144
6145 PARAMETERS
6146
6147 IN
6148 wdiDelSTARsp: response parameters received from HAL
6149 pUserData: user data
6150
6151
6152 RETURN VALUE
6153 The result code associated with performing the operation
6154---------------------------------------------------------------------------*/
6155typedef void (*WDI_DelSTARspCb)(WDI_DelSTARspParamsType* pwdiDelSTARsp,
6156 void* pUserData);
6157
6158
6159
6160/*---------------------------------------------------------------------------
6161 WDI_StartRspCb
6162
6163 DESCRIPTION
6164
6165 This callback is invoked by DAL when it has received a Set BSS Key response
6166 from the underlying device.
6167
6168 PARAMETERS
6169
6170 IN
6171 wdiStatus: response status received from HAL
6172 pUserData: user data
6173
6174
6175
6176 RETURN VALUE
6177 The result code associated with performing the operation
6178---------------------------------------------------------------------------*/
6179typedef void (*WDI_SetBSSKeyRspCb)(WDI_Status wdiStatus,
6180 void* pUserData);
6181
6182/*---------------------------------------------------------------------------
6183 WDI_StartRspCb
6184
6185 DESCRIPTION
6186
6187 This callback is invoked by DAL when it has received a Remove BSS Key
6188 response from the underlying device.
6189
6190 PARAMETERS
6191
6192 IN
6193 wdiStatus: response status received from HAL
6194 pUserData: user data
6195
6196
6197
6198 RETURN VALUE
6199 The result code associated with performing the operation
6200---------------------------------------------------------------------------*/
6201typedef void (*WDI_RemoveBSSKeyRspCb)(WDI_Status wdiStatus,
6202 void* pUserData);
6203
6204/*---------------------------------------------------------------------------
6205 WDI_StartRspCb
6206
6207 DESCRIPTION
6208
6209 This callback is invoked by DAL when it has received a Set STA Key response
6210 from the underlying device.
6211
6212 PARAMETERS
6213
6214 IN
6215 wdiStatus: response status received from HAL
6216 pUserData: user data
6217
6218
Jeff Johnson295189b2012-06-20 16:38:30 -07006219 RETURN VALUE
6220 The result code associated with performing the operation
6221---------------------------------------------------------------------------*/
6222typedef void (*WDI_SetSTAKeyRspCb)(WDI_Status wdiStatus,
6223 void* pUserData);
6224
Jeff Johnson295189b2012-06-20 16:38:30 -07006225/*---------------------------------------------------------------------------
6226 WDI_StartRspCb
6227
6228 DESCRIPTION
6229
6230 This callback is invoked by DAL when it has received a Remove STA Key
6231 response from the underlying device.
6232
6233 PARAMETERS
6234
6235 IN
6236 wdiStatus: response status received from HAL
6237 pUserData: user data
6238
Siddharth Bhal171788a2014-09-29 21:02:40 +05306239
Jeff Johnson295189b2012-06-20 16:38:30 -07006240 RETURN VALUE
6241 The result code associated with performing the operation
6242---------------------------------------------------------------------------*/
6243typedef void (*WDI_RemoveSTAKeyRspCb)(WDI_Status wdiStatus,
6244 void* pUserData);
6245
6246
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08006247#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07006248/*---------------------------------------------------------------------------
6249 WDI_TsmRspCb
6250
6251 DESCRIPTION
6252
6253 This callback is invoked by DAL when it has received a TSM Stats response from the underlying device.
6254
6255 PARAMETERS
6256
6257 IN
6258 pTSMStats: response status received from HAL
6259 pUserData: user data
6260
6261
6262
6263 RETURN VALUE
6264 The result code associated with performing the operation
6265---------------------------------------------------------------------------*/
6266typedef void (*WDI_TsmRspCb)(WDI_TSMStatsRspParamsType *pTSMStats,
6267 void* pUserData);
6268#endif
6269
6270/*---------------------------------------------------------------------------
6271 WDI_StartRspCb
6272
6273 DESCRIPTION
6274
6275 This callback is invoked by DAL when it has received a Add TS response from
6276 the underlying device.
6277
6278 PARAMETERS
6279
6280 IN
6281 wdiStatus: response status received from HAL
6282 pUserData: user data
6283
6284
6285
6286 RETURN VALUE
6287 The result code associated with performing the operation
6288---------------------------------------------------------------------------*/
6289typedef void (*WDI_AddTsRspCb)(WDI_Status wdiStatus,
6290 void* pUserData);
6291
6292/*---------------------------------------------------------------------------
6293 WDI_StartRspCb
6294
6295 DESCRIPTION
6296
6297 This callback is invoked by DAL when it has received a Del TS response from
6298 the underlying device.
6299
6300 PARAMETERS
6301
6302 IN
6303 wdiStatus: response status received from HAL
6304 pUserData: user data
6305
6306
6307
6308 RETURN VALUE
6309 The result code associated with performing the operation
6310---------------------------------------------------------------------------*/
6311typedef void (*WDI_DelTsRspCb)(WDI_Status wdiStatus,
6312 void* pUserData);
6313
6314/*---------------------------------------------------------------------------
6315 WDI_StartRspCb
6316
6317 DESCRIPTION
6318
6319 This callback is invoked by DAL when it has received an Update EDCA Params
6320 response from the underlying device.
6321
6322 PARAMETERS
6323
6324 IN
6325 wdiStatus: response status received from HAL
6326 pUserData: user data
6327
6328
6329
6330 RETURN VALUE
6331 The result code associated with performing the operation
6332---------------------------------------------------------------------------*/
6333typedef void (*WDI_UpdateEDCAParamsRspCb)(WDI_Status wdiStatus,
6334 void* pUserData);
6335
6336/*---------------------------------------------------------------------------
6337 WDI_StartRspCb
6338
6339 DESCRIPTION
6340
6341 This callback is invoked by DAL when it has received a Add BA response from
6342 the underlying device.
6343
6344 PARAMETERS
6345
6346 IN
6347 wdiStatus: response status received from HAL
6348 pUserData: user data
6349
6350
6351
6352 RETURN VALUE
6353 The result code associated with performing the operation
6354---------------------------------------------------------------------------*/
6355typedef void (*WDI_AddBASessionRspCb)(
6356 WDI_AddBASessionRspParamsType* wdiAddBASessionRsp,
6357 void* pUserData);
6358
6359
6360/*---------------------------------------------------------------------------
6361 WDI_StartRspCb
6362
6363 DESCRIPTION
6364
6365 This callback is invoked by DAL when it has received a Del BA response from
6366 the underlying device.
6367
6368 PARAMETERS
6369
6370 IN
6371 wdiStatus: response status received from HAL
6372 pUserData: user data
6373
6374
6375
6376 RETURN VALUE
6377 The result code associated with performing the operation
6378---------------------------------------------------------------------------*/
6379typedef void (*WDI_DelBARspCb)(WDI_Status wdiStatus,
6380 void* pUserData);
6381
6382
6383/*---------------------------------------------------------------------------
6384 WDI_StartRspCb
6385
6386 DESCRIPTION
6387
6388 This callback is invoked by DAL when it has received a Switch Ch response
6389 from the underlying device.
6390
6391 PARAMETERS
6392
6393 IN
6394 wdiRspParams: response parameters received from HAL
6395 pUserData: user data
6396
6397
6398 RETURN VALUE
6399 The result code associated with performing the operation
6400---------------------------------------------------------------------------*/
6401typedef void (*WDI_SwitchChRspCb)(WDI_SwitchCHRspParamsType* pwdiSwitchChRsp,
6402 void* pUserData);
6403
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08006404typedef void (*WDI_SwitchChRspCb_V1)(WDI_SwitchChRspParamsType_V1* pwdiSwitchChRsp,
6405 void* pUserData);
6406
Jeff Johnson295189b2012-06-20 16:38:30 -07006407
6408/*---------------------------------------------------------------------------
6409 WDI_StartRspCb
6410
6411 DESCRIPTION
6412
6413 This callback is invoked by DAL when it has received a Config STA response
6414 from the underlying device.
6415
6416 PARAMETERS
6417
6418 IN
6419 wdiRspParams: response parameters received from HAL
6420 pUserData: user data
6421
6422
6423 RETURN VALUE
6424 The result code associated with performing the operation
6425---------------------------------------------------------------------------*/
6426typedef void (*WDI_ConfigSTARspCb)(
6427 WDI_ConfigSTARspParamsType* pwdiConfigSTARsp,
6428 void* pUserData);
6429
6430
6431/*---------------------------------------------------------------------------
6432 WDI_StartRspCb
6433
6434 DESCRIPTION
6435
6436 This callback is invoked by DAL when it has received a Set Link State
6437 response from the underlying device.
6438
6439 PARAMETERS
6440
6441 IN
6442 wdiRspParams: response parameters received from HAL
6443 pUserData: user data
6444
6445
6446 RETURN VALUE
6447 The result code associated with performing the operation
6448---------------------------------------------------------------------------*/
6449typedef void (*WDI_SetLinkStateRspCb)( WDI_Status wdiStatus,
6450 void* pUserData);
6451
6452
6453/*---------------------------------------------------------------------------
6454 WDI_StartRspCb
6455
6456 DESCRIPTION
6457
6458 This callback is invoked by DAL when it has received a Get Stats response
6459 from the underlying device.
6460
6461 PARAMETERS
6462
6463 IN
6464 wdiRspParams: response parameters received from HAL
6465 pUserData: user data
6466
6467
6468 RETURN VALUE
6469 The result code associated with performing the operation
6470---------------------------------------------------------------------------*/
6471typedef void (*WDI_GetStatsRspCb)(WDI_GetStatsRspParamsType* pwdiGetStatsRsp,
6472 void* pUserData);
6473
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08006474#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08006475/*---------------------------------------------------------------------------
6476 WDI_GetRoamRssiRspCb
6477
6478 DESCRIPTION
6479
6480 This callback is invoked by DAL when it has received a Get Roam Rssi response
6481 from the underlying device.
6482
6483 PARAMETERS
6484
6485 IN
6486 wdiRspParams: response parameters received from HAL
6487 pUserData: user data
6488
6489
6490 RETURN VALUE
6491 The result code associated with performing the operation
6492---------------------------------------------------------------------------*/
6493typedef void (*WDI_GetRoamRssiRspCb)(WDI_GetRoamRssiRspParamsType* pwdiGetRoamRssiRsp,
6494 void* pUserData);
6495#endif
6496
Jeff Johnson295189b2012-06-20 16:38:30 -07006497
6498/*---------------------------------------------------------------------------
6499 WDI_StartRspCb
6500
6501 DESCRIPTION
6502
6503 This callback is invoked by DAL when it has received a Update Cfg response
6504 from the underlying device.
6505
6506 PARAMETERS
6507
6508 IN
6509 wdiStatus: response status received from HAL
6510 pUserData: user data
6511
6512
6513 RETURN VALUE
6514 The result code associated with performing the operation
6515---------------------------------------------------------------------------*/
6516typedef void (*WDI_UpdateCfgRspCb)(WDI_Status wdiStatus,
6517 void* pUserData);
6518
6519/*---------------------------------------------------------------------------
6520 WDI_AddBARspCb
6521
6522 DESCRIPTION
6523
6524 This callback is invoked by DAL when it has received a ADD BA response
6525 from the underlying device.
6526
6527 PARAMETERS
6528
6529 IN
6530 wdiStatus: response status received from HAL
6531 pUserData: user data
6532
6533
6534 RETURN VALUE
6535 The result code associated with performing the operation
6536---------------------------------------------------------------------------*/
6537typedef void (*WDI_AddBARspCb)(WDI_AddBARspinfoType* wdiAddBARsp,
6538 void* pUserData);
6539
6540/*---------------------------------------------------------------------------
6541 WDI_TriggerBARspCb
6542
6543 DESCRIPTION
6544
6545 This callback is invoked by DAL when it has received a ADD BA response
6546 from the underlying device.
6547
6548 PARAMETERS
6549
6550 IN
6551 wdiStatus: response status received from HAL
6552 pUserData: user data
6553
6554
6555 RETURN VALUE
6556 The result code associated with performing the operation
6557---------------------------------------------------------------------------*/
6558typedef void (*WDI_TriggerBARspCb)(WDI_TriggerBARspParamsType* wdiTriggerBARsp,
6559 void* pUserData);
6560
6561
6562/*---------------------------------------------------------------------------
6563 WDI_UpdateBeaconParamsRspCb
6564
6565 DESCRIPTION
6566
6567 This callback is invoked by DAL when it has received a Update Beacon Params response from
6568 the underlying device.
6569
6570 PARAMETERS
6571
6572 IN
6573 wdiStatus: response status received from HAL
6574 pUserData: user data
6575
6576
6577
6578 RETURN VALUE
6579 The result code associated with performing the operation
6580---------------------------------------------------------------------------*/
6581typedef void (*WDI_UpdateBeaconParamsRspCb)(WDI_Status wdiStatus,
6582 void* pUserData);
6583
6584/*---------------------------------------------------------------------------
6585 WDI_SendBeaconParamsRspCb
6586
6587 DESCRIPTION
6588
6589 This callback is invoked by DAL when it has received a Send Beacon Params response from
6590 the underlying device.
6591
6592 PARAMETERS
6593
6594 IN
6595 wdiStatus: response status received from HAL
6596 pUserData: user data
6597
6598
6599
6600 RETURN VALUE
6601 The result code associated with performing the operation
6602---------------------------------------------------------------------------*/
6603typedef void (*WDI_SendBeaconParamsRspCb)(WDI_Status wdiStatus,
6604 void* pUserData);
6605
6606/*---------------------------------------------------------------------------
6607 WDA_SetMaxTxPowerRspCb
6608
6609 DESCRIPTION
6610
6611 This callback is invoked by DAL when it has received a set max Tx Power response from
6612 the underlying device.
6613
6614 PARAMETERS
6615
6616 IN
6617 wdiStatus: response status received from HAL
6618 pUserData: user data
6619
6620
6621
6622 RETURN VALUE
6623 The result code associated with performing the operation
6624---------------------------------------------------------------------------*/
6625typedef void (*WDA_SetMaxTxPowerRspCb)(WDI_SetMaxTxPowerRspMsg *wdiSetMaxTxPowerRsp,
6626 void* pUserData);
6627
6628/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07006629 WDA_SetMaxTxPowerPerBandRspCb
6630
6631 DESCRIPTION
6632
6633 This callback is invoked by DAL when it has received a
6634 set max Tx Power Per Band response from the underlying device.
6635
6636 PARAMETERS
6637
6638 IN
6639 wdiSetMaxTxPowerPerBandRsp: response status received from HAL
6640 pUserData: user data
6641
6642 RETURN VALUE
6643 The result code associated with performing the operation
6644---------------------------------------------------------------------------*/
6645typedef void (*WDA_SetMaxTxPowerPerBandRspCb)(WDI_SetMaxTxPowerPerBandRspMsg
6646 *wdiSetMaxTxPowerPerBandRsp,
6647 void* pUserData);
6648
6649/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07006650 WDA_SetTxPowerRspCb
6651
6652 DESCRIPTION
6653
6654 This callback is invoked by DAL when it has received a set max Tx Power response from
6655 the underlying device.
6656
6657 PARAMETERS
6658
6659 IN
6660 wdiStatus: response status received from HAL
6661 pUserData: user data
6662
6663 RETURN VALUE
6664 The result code associated with performing the operation
6665---------------------------------------------------------------------------*/
6666typedef void (*WDA_SetTxPowerRspCb)(WDI_SetTxPowerRspMsg *wdiSetTxPowerRsp,
6667 void* pUserData);
6668
6669/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07006670 WDI_UpdateProbeRspTemplateRspCb
6671
6672 DESCRIPTION
6673
6674 This callback is invoked by DAL when it has received a Probe RSP Template
6675 Update response from the underlying device.
6676
6677 PARAMETERS
6678
6679 IN
6680 wdiStatus: response status received from HAL
6681 pUserData: user data
6682
6683
6684
6685 RETURN VALUE
6686 The result code associated with performing the operation
6687---------------------------------------------------------------------------*/
6688typedef void (*WDI_UpdateProbeRspTemplateRspCb)(WDI_Status wdiStatus,
6689 void* pUserData);
6690
Jeff Johnson295189b2012-06-20 16:38:30 -07006691/*---------------------------------------------------------------------------
6692 WDI_SetP2PGONOAReqParamsRspCb
6693
6694 DESCRIPTION
6695
6696 This callback is invoked by DAL when it has received a P2P GO NOA Params response from
6697 the underlying device.
6698
6699 PARAMETERS
6700
6701 IN
6702 wdiStatus: response status received from HAL
6703 pUserData: user data
6704
6705
6706
6707 RETURN VALUE
6708 The result code associated with performing the operation
6709---------------------------------------------------------------------------*/
6710typedef void (*WDI_SetP2PGONOAReqParamsRspCb)(WDI_Status wdiStatus,
6711 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006712
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05306713/*---------------------------------------------------------------------------
6714 WDI_SetTDLSLinkEstablishReqParamsRspCb
6715
6716 DESCRIPTION
6717
6718 This callback is invoked by DAL when it has received a TDLS Link Establish Req response from
6719 the underlying device.
6720
6721 PARAMETERS
6722
6723 IN
6724 wdiStatus: response status received from HAL
6725 pUserData: user data
6726
6727
6728
6729 RETURN VALUE
6730 The result code associated with performing the operation
6731---------------------------------------------------------------------------*/
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05306732typedef void (*WDI_SetTDLSLinkEstablishReqParamsRspCb)(WDI_SetTdlsLinkEstablishReqResp *
6733 wdiSetTdlsLinkEstablishReqRsp,
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05306734 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006735
6736/*---------------------------------------------------------------------------
Atul Mittalc0f739f2014-07-31 13:47:47 +05306737 WDI_SetTDLSChanSwitchReqParamsRspCb
6738
6739 DESCRIPTION
6740
6741 This callback is invoked by DAL when it has received a TDLS Link Establish Req response from
6742 the underlying device.
6743
6744 PARAMETERS
6745
6746 IN
6747 wdiStatus: response status received from HAL
6748 pUserData: user data
6749
6750
6751
6752 RETURN VALUE
6753 The result code associated with performing the operation
6754---------------------------------------------------------------------------*/
6755typedef void (*WDI_SetTDLSChanSwitchReqParamsRspCb)(WDI_SetTdlsChanSwitchReqResp *
6756 wdiSetTdlsChanSwitchReqRsp,
6757 void* pUserData);
6758/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07006759 WDI_SetPwrSaveCfgCb
6760
6761 DESCRIPTION
6762
6763 This callback is invoked by DAL when it has received a set Power Save CFG
6764 response from the underlying device.
6765
6766 PARAMETERS
6767
6768 IN
6769 wdiStatus: response status received from HAL
6770 pUserData: user data
6771
6772
6773
6774 RETURN VALUE
6775 The result code associated with performing the operation
6776---------------------------------------------------------------------------*/
6777typedef void (*WDI_SetPwrSaveCfgCb)(WDI_Status wdiStatus,
6778 void* pUserData);
6779
6780/*---------------------------------------------------------------------------
6781 WDI_SetUapsdAcParamsCb
6782
6783 DESCRIPTION
6784
6785 This callback is invoked by DAL when it has received a set UAPSD params
6786 response from the underlying device.
6787
6788 PARAMETERS
6789
6790 IN
6791 wdiStatus: response status received from HAL
6792 pUserData: user data
6793
6794
6795
6796 RETURN VALUE
6797 The result code associated with performing the operation
6798---------------------------------------------------------------------------*/
6799typedef void (*WDI_SetUapsdAcParamsCb)(WDI_Status wdiStatus,
6800 void* pUserData);
6801
6802/*---------------------------------------------------------------------------
6803 WDI_EnterImpsRspCb
6804
6805 DESCRIPTION
6806
6807 This callback is invoked by DAL when it has received a Enter IMPS response
6808 from the underlying device.
6809
6810 PARAMETERS
6811
6812 IN
6813 wdiStatus: response status received from HAL
6814 pUserData: user data
6815
6816
6817
6818 RETURN VALUE
6819 The result code associated with performing the operation
6820---------------------------------------------------------------------------*/
6821typedef void (*WDI_EnterImpsRspCb)(WDI_Status wdiStatus,
6822 void* pUserData);
6823
6824/*---------------------------------------------------------------------------
6825 WDI_ExitImpsRspCb
6826
6827 DESCRIPTION
6828
6829 This callback is invoked by DAL when it has received a Exit IMPS response
6830 from the underlying device.
6831
6832 PARAMETERS
6833
6834 IN
6835 wdiStatus: response status received from HAL
6836 pUserData: user data
6837
6838
6839
6840 RETURN VALUE
6841 The result code associated with performing the operation
6842---------------------------------------------------------------------------*/
6843typedef void (*WDI_ExitImpsRspCb)(WDI_Status wdiStatus,
6844 void* pUserData);
6845
6846/*---------------------------------------------------------------------------
6847 WDI_EnterBmpsRspCb
6848
6849 DESCRIPTION
6850
6851 This callback is invoked by DAL when it has received a enter BMPS response
6852 from the underlying device.
6853
6854 PARAMETERS
6855
6856 IN
6857 wdiStatus: response status received from HAL
6858 pUserData: user data
6859
6860
6861
6862 RETURN VALUE
6863 The result code associated with performing the operation
6864---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006865typedef void (*WDI_EnterBmpsRspCb)(WDI_EnterBmpsRspParamsType *pwdiEnterBmpsRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006866 void* pUserData);
6867
6868/*---------------------------------------------------------------------------
6869 WDI_ExitBmpsRspCb
6870
6871 DESCRIPTION
6872
6873 This callback is invoked by DAL when it has received a exit BMPS response
6874 from the underlying device.
6875
6876 PARAMETERS
6877
6878 IN
6879 wdiStatus: response status received from HAL
6880 pUserData: user data
6881
6882
6883
6884 RETURN VALUE
6885 The result code associated with performing the operation
6886---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006887typedef void (*WDI_ExitBmpsRspCb)( WDI_ExitBmpsRspParamsType *pwdiExitBmpsRspParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07006888 void* pUserData);
6889
6890/*---------------------------------------------------------------------------
6891 WDI_EnterUapsdRspCb
6892
6893 DESCRIPTION
6894
6895 This callback is invoked by DAL when it has received a enter UAPSD response
6896 from the underlying device.
6897
6898 PARAMETERS
6899
6900 IN
6901 wdiStatus: response status received from HAL
6902 pUserData: user data
6903
6904
6905
6906 RETURN VALUE
6907 The result code associated with performing the operation
6908---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006909typedef void (*WDI_EnterUapsdRspCb)( WDI_EnterUapsdRspParamsType *pwdiEnterUapsdRspParam,
Jeff Johnson295189b2012-06-20 16:38:30 -07006910 void* pUserData);
6911
6912/*---------------------------------------------------------------------------
6913 WDI_ExitUapsdRspCb
6914
6915 DESCRIPTION
6916
6917 This callback is invoked by DAL when it has received a exit UAPSD response
6918 from the underlying device.
6919
6920 PARAMETERS
6921
6922 IN
6923 wdiStatus: response status received from HAL
6924 pUserData: user data
6925
6926
6927
6928 RETURN VALUE
6929 The result code associated with performing the operation
6930---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07006931typedef void (*WDI_ExitUapsdRspCb)(WDI_ExitUapsdRspParamsType *pwidExitUapsdRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07006932 void* pUserData);
6933
6934/*---------------------------------------------------------------------------
6935 WDI_UpdateUapsdParamsCb
6936
6937 DESCRIPTION
6938
6939 This callback is invoked by DAL when it has received a update UAPSD params
6940 response from the underlying device.
6941
6942 PARAMETERS
6943
6944 IN
6945 wdiStatus: response status received from HAL
6946 pUserData: user data
6947
6948
6949
6950 RETURN VALUE
6951 The result code associated with performing the operation
6952---------------------------------------------------------------------------*/
6953typedef void (*WDI_UpdateUapsdParamsCb)(WDI_Status wdiStatus,
6954 void* pUserData);
6955
6956/*---------------------------------------------------------------------------
6957 WDI_ConfigureRxpFilterCb
6958
6959 DESCRIPTION
6960
6961 This callback is invoked by DAL when it has received a config RXP filter
6962 response from the underlying device.
6963
6964 PARAMETERS
6965
6966 IN
6967 wdiStatus: response status received from HAL
6968 pUserData: user data
6969
6970
6971
6972 RETURN VALUE
6973 The result code associated with performing the operation
6974---------------------------------------------------------------------------*/
6975typedef void (*WDI_ConfigureRxpFilterCb)(WDI_Status wdiStatus,
6976 void* pUserData);
6977
6978/*---------------------------------------------------------------------------
6979 WDI_SetBeaconFilterCb
6980
6981 DESCRIPTION
6982
6983 This callback is invoked by DAL when it has received a set beacon filter
6984 response from the underlying device.
6985
6986 PARAMETERS
6987
6988 IN
6989 wdiStatus: response status received from HAL
6990 pUserData: user data
6991
6992
6993
6994 RETURN VALUE
6995 The result code associated with performing the operation
6996---------------------------------------------------------------------------*/
6997typedef void (*WDI_SetBeaconFilterCb)(WDI_Status wdiStatus,
6998 void* pUserData);
6999
7000/*---------------------------------------------------------------------------
7001 WDI_RemBeaconFilterCb
7002
7003 DESCRIPTION
7004
7005 This callback is invoked by DAL when it has received a remove beacon filter
7006 response from the underlying device.
7007
7008 PARAMETERS
7009
7010 IN
7011 wdiStatus: response status received from HAL
7012 pUserData: user data
7013
7014
7015
7016 RETURN VALUE
7017 The result code associated with performing the operation
7018---------------------------------------------------------------------------*/
7019typedef void (*WDI_RemBeaconFilterCb)(WDI_Status wdiStatus,
7020 void* pUserData);
7021
7022/*---------------------------------------------------------------------------
7023 WDI_SetRSSIThresholdsCb
7024
7025 DESCRIPTION
7026
7027 This callback is invoked by DAL when it has received a set RSSI thresholds
7028 response from the underlying device.
7029
7030 PARAMETERS
7031
7032 IN
7033 wdiStatus: response status received from HAL
7034 pUserData: user data
7035
7036
7037
7038 RETURN VALUE
7039 The result code associated with performing the operation
7040---------------------------------------------------------------------------*/
7041typedef void (*WDI_SetRSSIThresholdsCb)(WDI_Status wdiStatus,
7042 void* pUserData);
7043
7044/*---------------------------------------------------------------------------
7045 WDI_HostOffloadCb
7046
7047 DESCRIPTION
7048
7049 This callback is invoked by DAL when it has received a host offload
7050 response from the underlying device.
7051
7052 PARAMETERS
7053
7054 IN
7055 wdiStatus: response status received from HAL
7056 pUserData: user data
7057
7058
7059
7060 RETURN VALUE
7061 The result code associated with performing the operation
7062---------------------------------------------------------------------------*/
7063typedef void (*WDI_HostOffloadCb)(WDI_Status wdiStatus,
7064 void* pUserData);
7065
7066/*---------------------------------------------------------------------------
7067 WDI_KeepAliveCb
7068
7069 DESCRIPTION
7070
7071 This callback is invoked by DAL when it has received a Keep Alive
7072 response from the underlying device.
7073
7074 PARAMETERS
7075
7076 IN
7077 wdiStatus: response status received from HAL
7078 pUserData: user data
7079
7080
7081
7082 RETURN VALUE
7083 The result code associated with performing the operation
7084---------------------------------------------------------------------------*/
7085typedef void (*WDI_KeepAliveCb)(WDI_Status wdiStatus,
7086 void* pUserData);
7087
7088/*---------------------------------------------------------------------------
7089 WDI_WowlAddBcPtrnCb
7090
7091 DESCRIPTION
7092
7093 This callback is invoked by DAL when it has received a Wowl add Bcast ptrn
7094 response from the underlying device.
7095
7096 PARAMETERS
7097
7098 IN
7099 wdiStatus: response status received from HAL
7100 pUserData: user data
7101
7102
7103
7104 RETURN VALUE
7105 The result code associated with performing the operation
7106---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007107typedef void (*WDI_WowlAddBcPtrnCb)( WDI_WowlAddBcPtrnRspParamsType *pwdiWowlAddBcPtrnParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007108 void* pUserData);
7109
7110/*---------------------------------------------------------------------------
7111 WDI_WowlDelBcPtrnCb
7112
7113 DESCRIPTION
7114
7115 This callback is invoked by DAL when it has received a Wowl delete Bcast ptrn
7116 response from the underlying device.
7117
7118 PARAMETERS
7119
7120 IN
7121 wdiStatus: response status received from HAL
7122 pUserData: user data
7123
7124
7125
7126 RETURN VALUE
7127 The result code associated with performing the operation
7128---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007129typedef void (*WDI_WowlDelBcPtrnCb)( WDI_WowlDelBcPtrnRspParamsType *pwdiWowlDelBcstPtrRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007130 void* pUserData);
7131
7132/*---------------------------------------------------------------------------
7133 WDI_WowlEnterReqCb
7134
7135 DESCRIPTION
7136
7137 This callback is invoked by DAL when it has received a Wowl enter
7138 response from the underlying device.
7139
7140 PARAMETERS
7141
7142 IN
7143 wdiStatus: response status received from HAL
7144 pUserData: user data
7145
7146
7147
7148 RETURN VALUE
7149 The result code associated with performing the operation
7150---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007151typedef void (*WDI_WowlEnterReqCb)( WDI_WowlEnterRspParamsType *pwdiwowlEnterRsp,
7152 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007153
7154/*---------------------------------------------------------------------------
7155 WDI_WowlExitReqCb
7156
7157 DESCRIPTION
7158
7159 This callback is invoked by DAL when it has received a Wowl exit
7160 response from the underlying device.
7161
7162 PARAMETERS
7163
7164 IN
7165 wdiStatus: response status received from HAL
7166 pUserData: user data
7167
7168
7169
7170 RETURN VALUE
7171 The result code associated with performing the operation
7172---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007173typedef void (*WDI_WowlExitReqCb)( WDI_WowlExitRspParamsType *pwdiWowlExitRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007174 void* pUserData);
7175
7176/*---------------------------------------------------------------------------
7177 WDI_ConfigureAppsCpuWakeupStateCb
7178
7179 DESCRIPTION
7180
7181 This callback is invoked by DAL when it has received a config Apps Cpu Wakeup
7182 State response from the underlying device.
7183
7184 PARAMETERS
7185
7186 IN
7187 wdiStatus: response status received from HAL
7188 pUserData: user data
7189
7190
7191
7192 RETURN VALUE
7193 The result code associated with performing the operation
7194---------------------------------------------------------------------------*/
7195typedef void (*WDI_ConfigureAppsCpuWakeupStateCb)(WDI_Status wdiStatus,
7196 void* pUserData);
7197/*---------------------------------------------------------------------------
7198 WDI_NvDownloadRspCb
7199
7200 DESCRIPTION
7201
7202 This callback is invoked by DAL when it has received a NV Download response
7203 from the underlying device.
7204
7205 PARAMETERS
7206
7207 IN
7208 wdiStatus:response status received from HAL
7209 pUserData:user data
7210
7211 RETURN VALUE
7212 The result code associated with performing the operation
7213---------------------------------------------------------------------------*/
7214typedef void (*WDI_NvDownloadRspCb)(WDI_NvDownloadRspInfoType* wdiNvDownloadRsp,
7215 void* pUserData);
7216/*---------------------------------------------------------------------------
7217 WDI_FlushAcRspCb
7218
7219 DESCRIPTION
7220
7221 This callback is invoked by DAL when it has received a Flush AC response from
7222 the underlying device.
7223
7224 PARAMETERS
7225
7226 IN
7227 wdiStatus: response status received from HAL
7228 pUserData: user data
7229
7230
7231
7232 RETURN VALUE
7233 The result code associated with performing the operation
7234---------------------------------------------------------------------------*/
7235typedef void (*WDI_FlushAcRspCb)(WDI_Status wdiStatus,
7236 void* pUserData);
7237
7238/*---------------------------------------------------------------------------
7239 WDI_BtAmpEventRspCb
7240
7241 DESCRIPTION
7242
7243 This callback is invoked by DAL when it has received a Bt AMP event response
7244 from the underlying device.
7245
7246 PARAMETERS
7247
7248 IN
7249 wdiStatus: response status received from HAL
7250 pUserData: user data
7251
7252
7253
7254 RETURN VALUE
7255 The result code associated with performing the operation
7256---------------------------------------------------------------------------*/
7257typedef void (*WDI_BtAmpEventRspCb)(WDI_Status wdiStatus,
7258 void* pUserData);
7259
Jeff Johnsone7245742012-09-05 17:12:55 -07007260#ifdef FEATURE_OEM_DATA_SUPPORT
7261/*---------------------------------------------------------------------------
7262 WDI_oemDataRspCb
7263
7264 DESCRIPTION
7265
7266 This callback is invoked by DAL when it has received a Start oem data response from
7267 the underlying device.
7268
7269 PARAMETERS
7270
7271 IN
7272 wdiStatus: response status received from HAL
7273 pUserData: user data
7274
7275
7276
7277 RETURN VALUE
7278 The result code associated with performing the operation
7279---------------------------------------------------------------------------*/
7280typedef void (*WDI_oemDataRspCb)(WDI_oemDataRspParamsType* wdiOemDataRspParams,
7281 void* pUserData);
7282
7283#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07007284
7285/*---------------------------------------------------------------------------
7286 WDI_HostResumeEventRspCb
7287
7288 DESCRIPTION
7289
7290 This callback is invoked by DAL when it has received a Bt AMP event response
7291 from the underlying device.
7292
7293 PARAMETERS
7294
7295 IN
7296 wdiStatus: response status received from HAL
7297 pUserData: user data
7298
7299
7300
7301 RETURN VALUE
7302 The result code associated with performing the operation
7303---------------------------------------------------------------------------*/
7304typedef void (*WDI_HostResumeEventRspCb)(
7305 WDI_SuspendResumeRspParamsType *resumeRspParams,
7306 void* pUserData);
7307
7308
7309#ifdef WLAN_FEATURE_VOWIFI_11R
7310/*---------------------------------------------------------------------------
7311 WDI_AggrAddTsRspCb
7312
7313 DESCRIPTION
7314
7315 This callback is invoked by DAL when it has received a Aggregated Add TS
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_AggrAddTsRspCb)(WDI_Status wdiStatus,
7330 void* pUserData);
7331#endif /* WLAN_FEATURE_VOWIFI_11R */
7332
Jeff Johnson295189b2012-06-20 16:38:30 -07007333/*---------------------------------------------------------------------------
7334 WDI_FTMCommandRspCb
7335
7336 DESCRIPTION
7337
7338 FTM Command response CB
7339
7340 PARAMETERS
7341
7342 IN
7343 ftmCMDRspdata: FTM response data from HAL
7344 pUserData: user data
7345
7346
7347 RETURN VALUE
7348 NONE
7349---------------------------------------------------------------------------*/
7350typedef void (*WDI_FTMCommandRspCb)(void *ftmCMDRspdata,
7351 void *pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007352
7353/*---------------------------------------------------------------------------
7354 WDI_AddSTASelfParamsRspCb
7355
7356 DESCRIPTION
7357
7358 This callback is invoked by DAL when it has received a Add Sta Self Params
7359 response from the underlying device.
7360
7361 PARAMETERS
7362
7363 IN
7364 wdiAddSelfSTARsp: response status received from HAL
7365 pUserData: user data
7366
7367
7368
7369 RETURN VALUE
7370 The result code associated with performing the operation
7371---------------------------------------------------------------------------*/
7372typedef void (*WDI_AddSTASelfParamsRspCb)(
7373 WDI_AddSTASelfRspParamsType* pwdiAddSelfSTARsp,
7374 void* pUserData);
7375
7376
7377/*---------------------------------------------------------------------------
7378 WDI_DelSTASelfRspCb
7379
7380 DESCRIPTION
7381
7382 This callback is invoked by DAL when it has received a host offload
7383 response from the underlying device.
7384
7385 PARAMETERS
7386
7387 IN
7388 wdiStatus: response status received from HAL
7389 pUserData: user data
7390
7391
7392
7393 RETURN VALUE
7394 The result code associated with performing the operation
7395---------------------------------------------------------------------------*/
7396typedef void (*WDI_DelSTASelfRspCb)
7397(
7398WDI_DelSTASelfRspParamsType* wdiDelStaSelfRspParams,
7399void* pUserData
7400);
7401
7402#ifdef FEATURE_WLAN_SCAN_PNO
7403/*---------------------------------------------------------------------------
7404 WDI_PNOScanCb
7405
7406 DESCRIPTION
7407
7408 This callback is invoked by DAL when it has received a Set PNO
7409 response from the underlying device.
7410
7411 PARAMETERS
7412
7413 IN
7414 wdiStatus: response status received from HAL
7415 pUserData: user data
7416
7417
7418
7419 RETURN VALUE
7420 The result code associated with performing the operation
7421---------------------------------------------------------------------------*/
7422typedef void (*WDI_PNOScanCb)(WDI_Status wdiStatus,
7423 void* pUserData);
7424
7425/*---------------------------------------------------------------------------
7426 WDI_PNOScanCb
7427
7428 DESCRIPTION
7429
7430 This callback is invoked by DAL when it has received a Set PNO
7431 response from the underlying device.
7432
7433 PARAMETERS
7434
7435 IN
7436 wdiStatus: response status received from HAL
7437 pUserData: user data
7438
7439
7440
7441 RETURN VALUE
7442 The result code associated with performing the operation
7443---------------------------------------------------------------------------*/
7444typedef void (*WDI_RssiFilterCb)(WDI_Status wdiStatus,
7445 void* pUserData);
7446
7447/*---------------------------------------------------------------------------
7448 WDI_UpdateScanParamsCb
7449
7450 DESCRIPTION
7451
7452 This callback is invoked by DAL when it has received a Update Scan Params
7453 response from the underlying device.
7454
7455 PARAMETERS
7456
7457 IN
7458 wdiStatus: response status received from HAL
7459 pUserData: user data
7460
7461
7462
7463 RETURN VALUE
7464 The result code associated with performing the operation
7465---------------------------------------------------------------------------*/
7466typedef void (*WDI_UpdateScanParamsCb)(WDI_Status wdiStatus,
7467 void* pUserData);
7468#endif // FEATURE_WLAN_SCAN_PNO
7469
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08007470typedef void (*WDI_UpdateChannelRspCb)(WDI_Status wdiStatus,
7471 void* pUserData);
7472
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07007473#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
7474/*---------------------------------------------------------------------------
7475 WDI_RoamOffloadScanCb
7476
7477 DESCRIPTION
7478
7479 This callback is invoked by DAL when it has received a Start Roam Candidate Lookup Req
7480 response from the underlying device.
7481
7482 PARAMETERS
7483
7484 IN
7485 wdiStatus: response status received from HAL
7486 pUserData: user data
7487
7488
7489
7490 RETURN VALUE
7491 The result code associated with performing the operation
7492---------------------------------------------------------------------------*/
7493typedef void (*WDI_RoamOffloadScanCb)(WDI_Status wdiStatus,
7494 void* pUserData);
7495
7496#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07007497/*---------------------------------------------------------------------------
7498 WDI_SetTxPerTrackingRspCb
7499
7500 DESCRIPTION
7501
7502 This callback is invoked by DAL when it has received a Tx PER Tracking
7503 response from the underlying device.
7504
7505 PARAMETERS
7506
7507 IN
7508 wdiStatus: response status received from HAL
7509 pUserData: user data
7510
7511
7512
7513 RETURN VALUE
7514 The result code associated with performing the operation
7515---------------------------------------------------------------------------*/
7516typedef void (*WDI_SetTxPerTrackingRspCb)(WDI_Status wdiStatus,
7517 void* pUserData);
7518
7519#ifdef WLAN_FEATURE_PACKET_FILTERING
7520/*---------------------------------------------------------------------------
7521 WDI_8023MulticastListCb
7522
7523 DESCRIPTION
7524
7525 This callback is invoked by DAL when it has received a 8023 Multicast List
7526 response from the underlying device.
7527
7528 PARAMETERS
7529
7530 IN
7531 wdiStatus: response status received from HAL
7532 pUserData: user data
7533
7534
7535
7536 RETURN VALUE
7537 The result code associated with performing the operation
7538---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007539typedef void (*WDI_8023MulticastListCb)(
7540 WDI_RcvFltPktSetMcListRspParamsType *pwdiRcvFltPktSetMcListRspInfo,
7541 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007542
7543/*---------------------------------------------------------------------------
7544 WDI_ReceiveFilterSetFilterCb
7545
7546 DESCRIPTION
7547
7548 This callback is invoked by DAL when it has received a Receive Filter Set Filter
7549 response from the underlying device.
7550
7551 PARAMETERS
7552
7553 IN
7554 wdiStatus: response status received from HAL
7555 pUserData: user data
7556
7557
7558
7559 RETURN VALUE
7560 The result code associated with performing the operation
7561---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007562typedef void (*WDI_ReceiveFilterSetFilterCb)(
7563 WDI_SetRcvPktFilterRspParamsType *pwdiSetRcvPktFilterRspInfo,
7564 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007565
7566/*---------------------------------------------------------------------------
7567 WDI_FilterMatchCountCb
7568
7569 DESCRIPTION
7570
7571 This callback is invoked by DAL when it has received a Do PC Filter Match Count
7572 response from the underlying device.
7573
7574 PARAMETERS
7575
7576 IN
7577 wdiStatus: response status received from HAL
7578 pUserData: user data
7579
7580
7581
7582 RETURN VALUE
7583 The result code associated with performing the operation
7584---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007585typedef void (*WDI_FilterMatchCountCb)(
7586 WDI_RcvFltPktMatchCntRspParamsType *pwdiRcvFltPktMatchRspParams,
7587 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007588
7589/*---------------------------------------------------------------------------
7590 WDI_ReceiveFilterClearFilterCb
7591
7592 DESCRIPTION
7593
7594 This callback is invoked by DAL when it has received a Receive Filter Clear Filter
7595 response from the underlying device.
7596
7597 PARAMETERS
7598
7599 IN
7600 wdiStatus: response status received from HAL
7601 pUserData: user data
7602
7603
7604
7605 RETURN VALUE
7606 The result code associated with performing the operation
7607---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007608typedef void (*WDI_ReceiveFilterClearFilterCb)(
7609 WDI_RcvFltPktClearRspParamsType *pwdiRcvFltPktClearRspParamsType,
7610 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007611#endif // WLAN_FEATURE_PACKET_FILTERING
7612
7613/*---------------------------------------------------------------------------
7614 WDI_HALDumpCmdRspCb
7615
7616 DESCRIPTION
7617
7618 This callback is invoked by DAL when it has received a HAL DUMP Command
7619response from
7620 the HAL layer.
7621
7622 PARAMETERS
7623
7624 IN
7625 wdiHalDumpCmdRsp: response status received from HAL
7626 pUserData: user data
7627
7628
7629
7630 RETURN VALUE
7631 The result code associated with performing the operation
7632---------------------------------------------------------------------------*/
7633typedef void (*WDI_HALDumpCmdRspCb)(WDI_HALDumpCmdRspParamsType* wdiHalDumpCmdRsp,
7634 void* pUserData);
7635
7636/*---------------------------------------------------------------------------
7637 WDI_SetPowerParamsCb
7638
7639 DESCRIPTION
7640
7641 This callback is invoked by DAL when it has received a Set Power Param
7642 response from the underlying device.
7643
7644 PARAMETERS
7645
7646 IN
7647 wdiStatus: response status received from HAL
7648 pUserData: user data
7649
7650
7651
7652 RETURN VALUE
7653 The result code associated with performing the operation
7654---------------------------------------------------------------------------*/
7655typedef void (*WDI_SetPowerParamsCb)(WDI_Status wdiStatus,
7656 void* pUserData);
7657
7658#ifdef WLAN_FEATURE_GTK_OFFLOAD
7659/*---------------------------------------------------------------------------
7660 WDI_GtkOffloadCb
7661
7662 DESCRIPTION
7663
7664 This callback is invoked by DAL when it has received a GTK offload
7665 response from the underlying device.
7666
7667 PARAMETERS
7668
7669 IN
7670 wdiStatus: response status received from HAL
7671 pUserData: user data
7672
7673
7674
7675 RETURN VALUE
7676 The result code associated with performing the operation
7677---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007678typedef void (*WDI_GtkOffloadCb)( WDI_GtkOffloadRspParams *pwdiGtkOffloadRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007679 void* pUserData);
7680
7681/*---------------------------------------------------------------------------
7682 WDI_GtkOffloadGetInfoCb
7683
7684 DESCRIPTION
7685
7686 This callback is invoked by DAL when it has received a GTK offload
7687 information response from the underlying device.
7688
7689 PARAMETERS
7690
7691 IN
7692 wdiStatus: response status received from HAL
7693 pUserData: user data
7694
7695
7696
7697 RETURN VALUE
7698 The result code associated with performing the operation
7699---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007700typedef void (*WDI_GtkOffloadGetInfoCb)( WDI_GtkOffloadGetInfoRspParams *pwdiGtkOffloadGetInfoRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007701 void* pUserData);
7702#endif // WLAN_FEATURE_GTK_OFFLOAD
7703
7704/*---------------------------------------------------------------------------
7705 WDI_SetTmLevelCb
7706
7707 DESCRIPTION
7708
7709 This callback is invoked by DAL when it has received a Set New TM Level
7710 done response from the underlying device.
7711
7712 PARAMETERS
7713
7714 IN
7715 wdiStatus: response status received from HAL
7716 pUserData: user data
7717
7718
7719
7720 RETURN VALUE
7721 The result code associated with performing the operation
7722---------------------------------------------------------------------------*/
7723typedef void (*WDI_SetTmLevelCb)(WDI_Status wdiStatus,
7724 void* pUserData);
7725
7726/*---------------------------------------------------------------------------
7727 WDI_featureCapsExchangeCb
7728
7729 DESCRIPTION
7730
7731 This callback is invoked by DAL when it has received a HAL Feature Capbility
7732 Exchange Response the HAL layer. This callback is put to mantain code
7733 similarity and is not being used right now.
7734
7735 PARAMETERS
7736
7737 IN
7738 wdiFeatCapRspParams: response parameters received from HAL
7739 pUserData: user data
7740
7741 RETURN VALUE
7742 The result code associated with performing the operation
7743---------------------------------------------------------------------------*/
7744typedef void (*WDI_featureCapsExchangeCb)(void* wdiFeatCapRspParams,
7745 void* pUserData);
7746
Mohit Khanna4a70d262012-09-11 16:30:12 -07007747#ifdef WLAN_FEATURE_11AC
7748typedef void (*WDI_UpdateVHTOpModeCb)(WDI_Status wdiStatus,
7749 void* pUserData);
7750#endif
7751
Leo Chang9056f462013-08-01 19:21:11 -07007752#ifdef FEATURE_WLAN_LPHB
7753typedef void (*WDI_LphbCfgCb)(WDI_Status wdiStatus,
7754 void* pUserData);
7755#endif /* FEATURE_WLAN_LPHB */
Mohit Khanna4a70d262012-09-11 16:30:12 -07007756
Rajeev79dbe4c2013-10-05 11:03:42 +05307757#ifdef FEATURE_WLAN_BATCH_SCAN
7758/*---------------------------------------------------------------------------
7759 WDI_SetBatchScanCb
7760
7761 DESCRIPTION
7762
7763 This callback is invoked by DAL when it has received a get batch scan
7764 response from the underlying device.
7765
7766 PARAMETERS
7767
7768 IN
7769 wdiStatus: response status received from HAL
7770 pUserData: user data
7771
7772
7773
7774 RETURN VALUE
7775 The result code associated with performing the operation
7776---------------------------------------------------------------------------*/
7777typedef void (*WDI_SetBatchScanCb)(void *pData, WDI_SetBatchScanRspType *pRsp);
7778
7779#endif
7780
c_hpothu92367912014-05-01 15:18:17 +05307781typedef void (*WDI_GetBcnMissRateCb)(wpt_uint8 status, wpt_uint32 bcnMissRate,
7782 void* pUserData);
Rajeev79dbe4c2013-10-05 11:03:42 +05307783
Dino Mycle41bdc942014-06-10 11:30:24 +05307784#ifdef WLAN_FEATURE_EXTSCAN
7785typedef void (*WDI_EXTScanStartRspCb)(void *pEventData,
7786 void *pUserData);
7787typedef void (*WDI_EXTScanStopRspCb)(void *pEventData,
7788 void *pUserData);
7789typedef void (*WDI_EXTScanGetCachedResultsRspCb)(void *pEventData,
7790 void *pUserData);
7791typedef void (*WDI_EXTScanGetCapabilitiesRspCb)(void *pEventData,
7792 void *pUserData);
7793typedef void (*WDI_EXTScanSetBSSIDHotlistRspCb)(void *pEventData,
7794 void *pUserData);
7795typedef void (*WDI_EXTScanResetBSSIDHotlistRspCb)(void *pEventData,
7796 void *pUserData);
7797typedef void (*WDI_EXTScanSetSignfRSSIChangeRspCb)(void *pEventData,
7798 void *pUserData);
7799typedef void (*WDI_EXTScanResetSignfRSSIChangeRspCb)(void *pEventData,
7800 void *pUserData);
7801#endif /* WLAN_FEATURE_EXTSCAN */
Sunil Duttbd736ed2014-05-26 21:19:41 +05307802
7803#ifdef WLAN_FEATURE_LINK_LAYER_STATS
7804typedef void (*WDI_LLStatsSetRspCb)(void *pEventData,
7805 void *pUserData);
7806typedef void (*WDI_LLStatsGetRspCb)(void *pEventData,
7807 void *pUserData);
7808typedef void (*WDI_LLStatsClearRspCb)(void *pEventData,
7809 void *pUserData);
7810#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
Siddharth Bhal171788a2014-09-29 21:02:40 +05307811
7812typedef void (*WDI_SetSpoofMacAddrRspCb)(
7813 WDI_SpoofMacAddrRspParamType* wdiRsp, void *pUserData);
Abhishek Singh85b74712014-10-08 11:38:19 +05307814typedef void (*WDI_FWStatsGetRspCb)(WDI_Status status,void *fwStatsResp,
7815 void *pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007816/*========================================================================
7817 * Function Declarations and Documentation
7818 ==========================================================================*/
7819
7820/*========================================================================
7821
7822 INITIALIZATION APIs
7823
7824==========================================================================*/
7825
7826/**
7827 @brief WDI_Init is used to initialize the DAL.
7828
7829 DAL will allocate all the resources it needs. It will open PAL, it will also
7830 open both the data and the control transport which in their turn will open
7831 DXE/SMD or any other drivers that they need.
7832
Arun Kumar Khandavalliebb19482014-03-25 13:56:53 +05307833 @param devHandle: pointer to the OS specific device handle
Jeff Johnson295189b2012-06-20 16:38:30 -07007834 ppWDIGlobalCtx: output pointer of Global Context
7835 pWdiDevCapability: output pointer of device capability
7836
7837 @return Result of the function call
7838*/
7839WDI_Status
7840WDI_Init
7841(
Arun Kumar Khandavalliebb19482014-03-25 13:56:53 +05307842 void* devHandle,
Jeff Johnson295189b2012-06-20 16:38:30 -07007843 void** ppWDIGlobalCtx,
7844 WDI_DeviceCapabilityType* pWdiDevCapability,
7845 unsigned int driverType
7846);
7847
7848/**
7849 @brief WDI_Start will be called when the upper MAC is ready to
7850 commence operation with the WLAN Device. Upon the call
7851 of this API the WLAN DAL will pack and send a HAL Start
7852 message to the lower RIVA sub-system if the SMD channel
7853 has been fully opened and the RIVA subsystem is up.
7854
7855 If the RIVA sub-system is not yet up and running DAL
7856 will queue the request for Open and will wait for the
7857 SMD notification before attempting to send down the
7858 message to HAL.
7859
7860 WDI_Init must have been called.
7861
7862 @param wdiStartParams: the start parameters as specified by
7863 the Device Interface
7864
7865 wdiStartRspCb: callback for passing back the response of
7866 the start operation received from the device
7867
7868 pUserData: user data will be passed back with the
7869 callback
7870
7871 @see WDI_Start
7872 @return Result of the function call
7873*/
7874WDI_Status
7875WDI_Start
7876(
7877 WDI_StartReqParamsType* pwdiStartParams,
7878 WDI_StartRspCb wdiStartRspCb,
7879 void* pUserData
7880);
7881
7882
7883/**
7884 @brief WDI_Stop will be called when the upper MAC is ready to
7885 stop any operation with the WLAN Device. Upon the call
7886 of this API the WLAN DAL will pack and send a HAL Stop
7887 message to the lower RIVA sub-system if the DAL Core is
7888 in started state.
7889
7890 In state BUSY this request will be queued.
7891
7892 Request will not be accepted in any other state.
7893
7894 WDI_Start must have been called.
7895
7896 @param wdiStopParams: the stop parameters as specified by
7897 the Device Interface
7898
7899 wdiStopRspCb: callback for passing back the response of
7900 the stop operation received from the device
7901
7902 pUserData: user data will be passed back with the
7903 callback
7904
7905 @see WDI_Start
7906 @return Result of the function call
7907*/
7908WDI_Status
7909WDI_Stop
7910(
7911 WDI_StopReqParamsType* pwdiStopParams,
7912 WDI_StopRspCb wdiStopRspCb,
7913 void* pUserData
7914);
7915
7916/**
7917 @brief WDI_Close will be called when the upper MAC no longer
7918 needs to interract with DAL. DAL will free its control
7919 block.
7920
7921 It is only accepted in state STOPPED.
7922
7923 WDI_Stop must have been called.
7924
7925 @param none
7926
7927 @see WDI_Stop
7928 @return Result of the function call
7929*/
7930WDI_Status
7931WDI_Close
7932(
7933 void
7934);
7935
7936
7937/**
7938 @brief WDI_Shutdown will be called during 'SSR shutdown' operation.
7939 This will do most of the WDI stop & close
7940 operations without doing any handshake with Riva
7941
7942 This will also make sure that the control transport
7943 will NOT be closed.
7944
7945 This request will not be queued.
7946
7947
7948 WDI_Start must have been called.
7949
7950 @param closeTransport: Close control channel if this is set
7951
7952 @return Result of the function call
7953*/
7954WDI_Status
7955WDI_Shutdown
7956(
7957 wpt_boolean closeTransport
7958);
7959
7960/*========================================================================
7961
7962 SCAN APIs
7963
7964==========================================================================*/
7965
7966/**
7967 @brief WDI_InitScanReq will be called when the upper MAC wants
7968 the WLAN Device to get ready for a scan procedure. Upon
7969 the call of this API the WLAN DAL will pack and send a
7970 HAL Init Scan request message to the lower RIVA
7971 sub-system if DAL is in state STARTED.
7972
7973 In state BUSY this request will be queued. Request won't
7974 be allowed in any other state.
7975
7976 WDI_Start must have been called.
7977
7978 @param wdiInitScanParams: the init scan parameters as specified
7979 by the Device Interface
7980
7981 wdiInitScanRspCb: callback for passing back the response
7982 of the init scan operation received from the device
7983
7984 pUserData: user data will be passed back with the
7985 callback
7986
7987 @see WDI_Start
7988 @return Result of the function call
7989*/
7990WDI_Status
7991WDI_InitScanReq
7992(
7993 WDI_InitScanReqParamsType* pwdiInitScanParams,
7994 WDI_InitScanRspCb wdiInitScanRspCb,
7995 void* pUserData
7996);
7997
7998/**
7999 @brief WDI_StartScanReq will be called when the upper MAC
8000 wishes to change the Scan channel on the WLAN Device.
8001 Upon the call of this API the WLAN DAL will pack and
8002 send a HAL Start Scan request message to the lower RIVA
8003 sub-system if DAL is in state STARTED.
8004
8005 In state BUSY this request will be queued. Request won't
8006 be allowed in any other state.
8007
8008 WDI_InitScanReq must have been called.
8009
8010 @param wdiStartScanParams: the start scan parameters as
8011 specified by the Device Interface
8012
8013 wdiStartScanRspCb: callback for passing back the
8014 response of the start scan operation received from the
8015 device
8016
8017 pUserData: user data will be passed back with the
8018 callback
8019
8020 @see WDI_InitScanReq
8021 @return Result of the function call
8022*/
8023WDI_Status
8024WDI_StartScanReq
8025(
8026 WDI_StartScanReqParamsType* pwdiStartScanParams,
8027 WDI_StartScanRspCb wdiStartScanRspCb,
8028 void* pUserData
8029);
8030
8031
8032/**
8033 @brief WDI_EndScanReq will be called when the upper MAC is
8034 wants to end scanning for a particular channel that it
8035 had set before by calling Scan Start on the WLAN Device.
8036 Upon the call of this API the WLAN DAL will pack and
8037 send a HAL End Scan request message to the lower RIVA
8038 sub-system if DAL is in state STARTED.
8039
8040 In state BUSY this request will be queued. Request won't
8041 be allowed in any other state.
8042
8043 WDI_StartScanReq must have been called.
8044
8045 @param wdiEndScanParams: the end scan parameters as specified
8046 by the Device Interface
8047
8048 wdiEndScanRspCb: callback for passing back the response
8049 of the end scan operation received from the device
8050
8051 pUserData: user data will be passed back with the
8052 callback
8053
8054 @see WDI_StartScanReq
8055 @return Result of the function call
8056*/
8057WDI_Status
8058WDI_EndScanReq
8059(
8060 WDI_EndScanReqParamsType* pwdiEndScanParams,
8061 WDI_EndScanRspCb wdiEndScanRspCb,
8062 void* pUserData
8063);
8064
8065
8066/**
8067 @brief WDI_FinishScanReq will be called when the upper MAC has
8068 completed the scan process on the WLAN Device. Upon the
8069 call of this API the WLAN DAL will pack and send a HAL
8070 Finish Scan Request request message to the lower RIVA
8071 sub-system if DAL is in state STARTED.
8072
8073 In state BUSY this request will be queued. Request won't
8074 be allowed in any other state.
8075
8076 WDI_InitScanReq must have been called.
8077
8078 @param wdiFinishScanParams: the finish scan parameters as
8079 specified by the Device Interface
8080
8081 wdiFinishScanRspCb: callback for passing back the
8082 response of the finish scan operation received from the
8083 device
8084
8085 pUserData: user data will be passed back with the
8086 callback
8087
8088 @see WDI_InitScanReq
8089 @return Result of the function call
8090*/
8091WDI_Status
8092WDI_FinishScanReq
8093(
8094 WDI_FinishScanReqParamsType* pwdiFinishScanParams,
8095 WDI_FinishScanRspCb wdiFinishScanRspCb,
8096 void* pUserData
8097);
8098
8099/*========================================================================
8100
8101 ASSOCIATION APIs
8102
8103==========================================================================*/
8104
8105/**
8106 @brief WDI_JoinReq will be called when the upper MAC is ready
8107 to start an association procedure to a BSS. Upon the
8108 call of this API the WLAN DAL will pack and send a HAL
8109 Join request message to the lower RIVA sub-system if
8110 DAL is in state STARTED.
8111
8112 In state BUSY this request will be queued. Request won't
8113 be allowed in any other state.
8114
8115 WDI_Start must have been called.
8116
8117 @param wdiJoinParams: the join parameters as specified by
8118 the Device Interface
8119
8120 wdiJoinRspCb: callback for passing back the response of
8121 the join operation received from the device
8122
8123 pUserData: user data will be passed back with the
8124 callback
8125
8126 @see WDI_Start
8127 @return Result of the function call
8128*/
8129WDI_Status
8130WDI_JoinReq
8131(
8132 WDI_JoinReqParamsType* pwdiJoinParams,
8133 WDI_JoinRspCb wdiJoinRspCb,
8134 void* pUserData
8135);
8136
8137/**
8138 @brief WDI_ConfigBSSReq will be called when the upper MAC
8139 wishes to configure the newly acquired or in process of
8140 being acquired BSS to the HW . Upon the call of this API
8141 the WLAN DAL will pack and send a HAL Config BSS request
8142 message to the lower RIVA sub-system if DAL is in state
8143 STARTED.
8144
8145 In state BUSY this request will be queued. Request won't
8146 be allowed in any other state.
8147
8148 WDI_JoinReq must have been called.
8149
8150 @param wdiConfigBSSParams: the config BSS parameters as
8151 specified by the Device Interface
8152
8153 wdiConfigBSSRspCb: callback for passing back the
8154 response of the config BSS operation received from the
8155 device
8156
8157 pUserData: user data will be passed back with the
8158 callback
8159
8160 @see WDI_JoinReq
8161 @return Result of the function call
8162*/
8163WDI_Status
8164WDI_ConfigBSSReq
8165(
8166 WDI_ConfigBSSReqParamsType* pwdiConfigBSSParams,
8167 WDI_ConfigBSSRspCb wdiConfigBSSRspCb,
8168 void* pUserData
8169);
8170
8171/**
8172 @brief WDI_DelBSSReq will be called when the upper MAC is
8173 dissasociating from the BSS and wishes to notify HW.
8174 Upon the call of this API the WLAN DAL will pack and
8175 send a HAL Del BSS request message to the lower RIVA
8176 sub-system if DAL is in state STARTED.
8177
8178 In state BUSY this request will be queued. Request won't
8179 be allowed in any other state.
8180
8181 WDI_ConfigBSSReq or WDI_PostAssocReq must have been called.
8182
8183 @param wdiDelBSSParams: the del BSS parameters as specified by
8184 the Device Interface
8185
8186 wdiDelBSSRspCb: callback for passing back the response
8187 of the del bss operation received from the device
8188
8189 pUserData: user data will be passed back with the
8190 callback
8191
8192 @see WDI_ConfigBSSReq, WDI_PostAssocReq
8193 @return Result of the function call
8194*/
8195WDI_Status
8196WDI_DelBSSReq
8197(
8198 WDI_DelBSSReqParamsType* pwdiDelBSSParams,
8199 WDI_DelBSSRspCb wdiDelBSSRspCb,
8200 void* pUserData
8201);
8202
8203/**
8204 @brief WDI_PostAssocReq will be called when the upper MAC has
8205 associated to a BSS and wishes to configure HW for
8206 associated state. Upon the call of this API the WLAN DAL
8207 will pack and send a HAL Post Assoc request message to
8208 the lower RIVA sub-system if DAL is in state STARTED.
8209
8210 In state BUSY this request will be queued. Request won't
8211 be allowed in any other state.
8212
8213 WDI_JoinReq must have been called.
8214
8215 @param wdiPostAssocReqParams: the assoc parameters as specified
8216 by the Device Interface
8217
8218 wdiPostAssocRspCb: callback for passing back the
8219 response of the post assoc operation received from the
8220 device
8221
8222 pUserData: user data will be passed back with the
8223 callback
8224
8225 @see WDI_JoinReq
8226 @return Result of the function call
8227*/
8228WDI_Status
8229WDI_PostAssocReq
8230(
8231 WDI_PostAssocReqParamsType* pwdiPostAssocReqParams,
8232 WDI_PostAssocRspCb wdiPostAssocRspCb,
8233 void* pUserData
8234);
8235
8236/**
8237 @brief WDI_DelSTAReq will be called when the upper MAC when an
8238 association with another STA has ended and the station
8239 must be deleted from HW. Upon the call of this API the
8240 WLAN DAL will pack and send a HAL Del STA request
8241 message to the lower RIVA sub-system if DAL is in state
8242 STARTED.
8243
8244 In state BUSY this request will be queued. Request won't
8245 be allowed in any other state.
8246
8247 WDI_PostAssocReq must have been called.
8248
8249 @param wdiDelSTAParams: the Del STA parameters as specified by
8250 the Device Interface
8251
8252 wdiDelSTARspCb: callback for passing back the response
8253 of the del STA operation received from the device
8254
8255 pUserData: user data will be passed back with the
8256 callback
8257
8258 @see WDI_PostAssocReq
8259 @return Result of the function call
8260*/
8261WDI_Status
8262WDI_DelSTAReq
8263(
8264 WDI_DelSTAReqParamsType* pwdiDelSTAParams,
8265 WDI_DelSTARspCb wdiDelSTARspCb,
8266 void* pUserData
8267);
8268
8269/*========================================================================
8270
8271 SECURITY APIs
8272
8273==========================================================================*/
8274
8275/**
8276 @brief WDI_SetBSSKeyReq will be called when the upper MAC ito
8277 install a BSS encryption key on the HW. Upon the call of
8278 this API the WLAN DAL will pack and send a HAL Start
8279 request message to the lower RIVA sub-system if DAL is
8280 in state STARTED.
8281
8282 In state BUSY this request will be queued. Request won't
8283 be allowed in any other state.
8284
8285 WDI_PostAssocReq must have been called.
8286
8287 @param wdiSetBSSKeyParams: the BSS Key set parameters as
8288 specified by the Device Interface
8289
8290 wdiSetBSSKeyRspCb: callback for passing back the
8291 response of the set BSS Key operation received from the
8292 device
8293
8294 pUserData: user data will be passed back with the
8295 callback
8296
8297 @see WDI_PostAssocReq
8298 @return Result of the function call
8299*/
8300WDI_Status
8301WDI_SetBSSKeyReq
8302(
8303 WDI_SetBSSKeyReqParamsType* pwdiSetBSSKeyParams,
8304 WDI_SetBSSKeyRspCb wdiSetBSSKeyRspCb,
8305 void* pUserData
8306);
8307
8308
8309/**
8310 @brief WDI_RemoveBSSKeyReq will be called when the upper MAC to
8311 uninstall a BSS key from HW. Upon the call of this API
8312 the WLAN DAL will pack and send a HAL Remove BSS Key
8313 request message to the lower RIVA sub-system if DAL is
8314 in state STARTED.
8315
8316 In state BUSY this request will be queued. Request won't
8317 be allowed in any other state.
8318
8319 WDI_SetBSSKeyReq must have been called.
8320
8321 @param wdiRemoveBSSKeyParams: the remove BSS key parameters as
8322 specified by the Device Interface
8323
8324 wdiRemoveBSSKeyRspCb: callback for passing back the
8325 response of the remove BSS key operation received from
8326 the device
8327
8328 pUserData: user data will be passed back with the
8329 callback
8330
8331 @see WDI_SetBSSKeyReq
8332 @return Result of the function call
8333*/
8334WDI_Status
8335WDI_RemoveBSSKeyReq
8336(
8337 WDI_RemoveBSSKeyReqParamsType* pwdiRemoveBSSKeyParams,
8338 WDI_RemoveBSSKeyRspCb wdiRemoveBSSKeyRspCb,
8339 void* pUserData
8340);
8341
8342
8343/**
8344 @brief WDI_SetSTAKeyReq will be called when the upper MAC is
8345 ready to install a STA(ast) encryption key in HW. Upon
8346 the call of this API the WLAN DAL will pack and send a
8347 HAL Set STA Key request message to the lower RIVA
8348 sub-system if DAL is in state STARTED.
8349
8350 In state BUSY this request will be queued. Request won't
8351 be allowed in any other state.
8352
8353 WDI_PostAssocReq must have been called.
8354
8355 @param wdiSetSTAKeyParams: the set STA key parameters as
8356 specified by the Device Interface
8357
8358 wdiSetSTAKeyRspCb: callback for passing back the
8359 response of the set STA key operation received from the
8360 device
8361
8362 pUserData: user data will be passed back with the
8363 callback
8364
8365 @see WDI_PostAssocReq
8366 @return Result of the function call
8367*/
8368WDI_Status
8369WDI_SetSTAKeyReq
8370(
8371 WDI_SetSTAKeyReqParamsType* pwdiSetSTAKeyParams,
8372 WDI_SetSTAKeyRspCb wdiSetSTAKeyRspCb,
8373 void* pUserData
8374);
8375
8376
8377/**
8378 @brief WDI_RemoveSTAKeyReq will be called when the upper MAC
8379 wants to unistall a previously set STA key in HW. Upon
8380 the call of this API the WLAN DAL will pack and send a
8381 HAL Remove STA Key request message to the lower RIVA
8382 sub-system if DAL is in state STARTED.
8383
8384 In state BUSY this request will be queued. Request won't
8385 be allowed in any other state.
8386
8387 WDI_SetSTAKeyReq must have been called.
8388
8389 @param wdiRemoveSTAKeyParams: the remove STA key parameters as
8390 specified by the Device Interface
8391
8392 wdiRemoveSTAKeyRspCb: callback for passing back the
8393 response of the remove STA key operation received from
8394 the device
8395
8396 pUserData: user data will be passed back with the
8397 callback
8398
8399 @see WDI_SetSTAKeyReq
8400 @return Result of the function call
8401*/
8402WDI_Status
8403WDI_RemoveSTAKeyReq
8404(
8405 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTAKeyParams,
8406 WDI_RemoveSTAKeyRspCb wdiRemoveSTAKeyRspCb,
8407 void* pUserData
8408);
8409
8410/**
8411 @brief WDI_SetSTABcastKeyReq will be called when the upper MAC
8412 wants to install a STA Bcast encryption key on the HW.
8413 Upon the call of this API the WLAN DAL will pack and
8414 send a HAL Start request message to the lower RIVA
8415 sub-system if DAL is in state STARTED.
8416
8417 In state BUSY this request will be queued. Request won't
8418 be allowed in any other state.
8419
8420 WDI_PostAssocReq must have been called.
8421
8422 @param pwdiSetSTABcastKeyParams: the BSS Key set parameters as
8423 specified by the Device Interface
8424
8425 wdiSetSTABcastKeyRspCb: callback for passing back the
8426 response of the set BSS Key operation received from the
8427 device
8428
8429 pUserData: user data will be passed back with the
8430 callback
8431
8432 @see WDI_PostAssocReq
8433 @return Result of the function call
8434*/
8435WDI_Status
8436WDI_SetSTABcastKeyReq
8437(
8438 WDI_SetSTAKeyReqParamsType* pwdiSetSTABcastKeyParams,
8439 WDI_SetSTAKeyRspCb wdiSetSTABcastKeyRspCb,
8440 void* pUserData
8441);
8442
8443
8444/**
8445 @brief WDI_RemoveSTABcastKeyReq will be called when the upper
8446 MAC to uninstall a STA Bcast key from HW. Upon the call
8447 of this API the WLAN DAL will pack and send a HAL Remove
8448 STA Bcast Key request message to the lower RIVA
8449 sub-system if DAL is in state STARTED.
8450
8451 In state BUSY this request will be queued. Request won't
8452 be allowed in any other state.
8453
8454 WDI_SetSTABcastKeyReq must have been called.
8455
8456 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
8457 parameters as specified by the Device
8458 Interface
8459
8460 wdiRemoveSTABcastKeyRspCb: callback for passing back the
8461 response of the remove STA Bcast key operation received
8462 from the device
8463
8464 pUserData: user data will be passed back with the
8465 callback
8466
8467 @see WDI_SetSTABcastKeyReq
8468 @return Result of the function call
8469*/
8470WDI_Status
8471WDI_RemoveSTABcastKeyReq
8472(
8473 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTABcastKeyParams,
8474 WDI_RemoveSTAKeyRspCb wdiRemoveSTABcastKeyRspCb,
8475 void* pUserData
8476);
8477
schang86c22c42013-03-13 18:41:24 -07008478
8479/**
8480 @brief WDI_SetTxPowerReq will be called when the upper
8481 MAC wants to set Tx Power to HW.
8482 In state BUSY this request will be queued. Request won't
8483 be allowed in any other state.
8484
8485
8486 @param pwdiSetTxPowerParams: set TS Power parameters
8487 BSSID and target TX Power with dbm included
8488
8489 wdiReqStatusCb: callback for passing back the response
8490
8491 pUserData: user data will be passed back with the
8492 callback
8493
8494 @return Result of the function call
8495*/
8496WDI_Status
8497WDI_SetTxPowerReq
8498(
8499 WDI_SetTxPowerParamsType* pwdiSetTxPowerParams,
8500 WDA_SetTxPowerRspCb wdiReqStatusCb,
8501 void* pUserData
8502);
8503
Jeff Johnson295189b2012-06-20 16:38:30 -07008504/**
8505 @brief WDI_SetMaxTxPowerReq will be called when the upper
8506 MAC wants to set Max Tx Power to HW. Upon the
8507 call of this API the WLAN DAL will pack and send a HAL
8508 Remove STA Bcast Key request message to the lower RIVA
8509 sub-system if DAL is in state STARTED.
8510
8511 In state BUSY this request will be queued. Request won't
8512 be allowed in any other state.
8513
8514 WDI_SetSTABcastKeyReq must have been called.
8515
8516 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
8517 parameters as specified by the Device
8518 Interface
8519
8520 wdiRemoveSTABcastKeyRspCb: callback for passing back the
8521 response of the remove STA Bcast key operation received
8522 from the device
8523
8524 pUserData: user data will be passed back with the
8525 callback
8526
8527 @see WDI_SetMaxTxPowerReq
8528 @return Result of the function call
8529*/
8530WDI_Status
8531WDI_SetMaxTxPowerReq
8532(
8533 WDI_SetMaxTxPowerParamsType* pwdiSetMaxTxPowerParams,
8534 WDA_SetMaxTxPowerRspCb wdiReqStatusCb,
8535 void* pUserData
8536);
8537
Arif Hussaina5ebce02013-08-09 15:09:58 -07008538/**
8539 @brief WDI_SetMaxTxPowerPerBandReq will be called when the upper
8540 MAC wants to set Max Tx Power to HW for specific band. Upon the
8541 call of this API the WLAN DAL will pack and send a HAL
8542 Set Max Tx Power Per Band request message to the lower RIVA
8543 sub-system if DAL is in state STARTED.
8544
8545 In state BUSY this request will be queued. Request won't
8546 be allowed in any other state.
8547
8548
8549 @param WDI_SetMaxTxPowerPerBandParamsType: Max Tx Per Band Info
8550
8551 WDA_SetMaxTxPowerPerBandRspCb: This callback is invoked by DAL
8552 when it has received a set max Tx Power Per Band response from
8553 the underlying device.
8554
8555 pUserData: user data will be passed back with the
8556 callback
8557
8558 @see WDI_SetMaxTxPowerPerBandReq
8559 @return Result of the function call
8560*/
8561WDI_Status
8562WDI_SetMaxTxPowerPerBandReq
8563(
8564 WDI_SetMaxTxPowerPerBandParamsType* pwdiSetMaxTxPowerPerBandParams,
8565 WDA_SetMaxTxPowerPerBandRspCb wdiReqStatusCb,
8566 void* pUserData
8567);
8568
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08008569#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07008570/**
8571 @brief WDI_TSMStatsReq will be called by the upper MAC to fetch
8572 Traffic Stream metrics.
8573 In state BUSY this request will be queued. Request won't
8574 be allowed in any other state.
8575
8576 @param wdiAddTsReqParams: the add TS parameters as specified by
8577 the Device Interface
8578
8579 wdiAddTsRspCb: callback for passing back the response of
8580 the add TS operation received from the device
8581
8582 pUserData: user data will be passed back with the
8583 callback
8584
8585 @see WDI_PostAssocReq
8586 @return Result of the function call
8587*/
8588WDI_Status
8589WDI_TSMStatsReq
8590(
8591 WDI_TSMStatsReqParamsType* pwdiTsmStatsReqParams,
8592 WDI_TsmRspCb wdiTsmStatsRspCb,
8593 void* pUserData
8594);
8595
8596
8597#endif
8598
8599/*========================================================================
8600
8601 QoS and BA APIs
8602
8603==========================================================================*/
8604
8605/**
8606 @brief WDI_AddTSReq will be called when the upper MAC to inform
8607 the device of a successful add TSpec negotiation. HW
8608 needs to receive the TSpec Info from the UMAC in order
8609 to configure properly the QoS data traffic. Upon the
8610 call of this API the WLAN DAL will pack and send a HAL
8611 Add TS request message to the lower RIVA sub-system if
8612 DAL is in state STARTED.
8613
8614 In state BUSY this request will be queued. Request won't
8615 be allowed in any other state.
8616
8617 WDI_PostAssocReq must have been called.
8618
8619 @param wdiAddTsReqParams: the add TS parameters as specified by
8620 the Device Interface
8621
8622 wdiAddTsRspCb: callback for passing back the response of
8623 the add TS operation received from the device
8624
8625 pUserData: user data will be passed back with the
8626 callback
8627
8628 @see WDI_PostAssocReq
8629 @return Result of the function call
8630*/
8631WDI_Status
8632WDI_AddTSReq
8633(
8634 WDI_AddTSReqParamsType* pwdiAddTsReqParams,
8635 WDI_AddTsRspCb wdiAddTsRspCb,
8636 void* pUserData
8637);
8638
8639
8640
8641/**
8642 @brief WDI_DelTSReq will be called when the upper MAC has ended
8643 admission on a specific AC. This is to inform HW that
8644 QoS traffic parameters must be rest. Upon the call of
8645 this API the WLAN DAL will pack and send a HAL Del TS
8646 request message to the lower RIVA sub-system if DAL is
8647 in state STARTED.
8648
8649 In state BUSY this request will be queued. Request won't
8650 be allowed in any other state.
8651
8652 WDI_AddTSReq must have been called.
8653
8654 @param wdiDelTsReqParams: the del TS parameters as specified by
8655 the Device Interface
8656
8657 wdiDelTsRspCb: callback for passing back the response of
8658 the del TS operation received from the device
8659
8660 pUserData: user data will be passed back with the
8661 callback
8662
8663 @see WDI_AddTSReq
8664 @return Result of the function call
8665*/
8666WDI_Status
8667WDI_DelTSReq
8668(
8669 WDI_DelTSReqParamsType* pwdiDelTsReqParams,
8670 WDI_DelTsRspCb wdiDelTsRspCb,
8671 void* pUserData
8672);
8673
8674
8675
8676/**
8677 @brief WDI_UpdateEDCAParams will be called when the upper MAC
8678 wishes to update the EDCA parameters used by HW for QoS
8679 data traffic. Upon the call of this API the WLAN DAL
8680 will pack and send a HAL Update EDCA Params request
8681 message to the lower RIVA sub-system if DAL is in state
8682 STARTED.
8683
8684 In state BUSY this request will be queued. Request won't
8685 be allowed in any other state.
8686
8687 WDI_PostAssocReq must have been called.
8688
8689 @param wdiUpdateEDCAParams: the start parameters as specified
8690 by the Device Interface
8691
8692 wdiUpdateEDCAParamsRspCb: callback for passing back the
8693 response of the start operation received from the device
8694
8695 pUserData: user data will be passed back with the
8696 callback
8697
8698 @see WDI_PostAssocReq
8699 @return Result of the function call
8700*/
8701WDI_Status
8702WDI_UpdateEDCAParams
8703(
8704 WDI_UpdateEDCAParamsType* pwdiUpdateEDCAParams,
8705 WDI_UpdateEDCAParamsRspCb wdiUpdateEDCAParamsRspCb,
8706 void* pUserData
8707);
8708
8709
8710
8711/**
8712 @brief WDI_AddBASessionReq will be called when the upper MAC has setup
8713 successfully a BA session and needs to notify the HW for
8714 the appropriate settings to take place. Upon the call of
8715 this API the WLAN DAL will pack and send a HAL Add BA
8716 request message to the lower RIVA sub-system if DAL is
8717 in state STARTED.
8718
8719 In state BUSY this request will be queued. Request won't
8720 be allowed in any other state.
8721
8722 WDI_PostAssocReq must have been called.
8723
8724 @param wdiAddBAReqParams: the add BA parameters as specified by
8725 the Device Interface
8726
8727 wdiAddBARspCb: callback for passing back the response of
8728 the add BA operation received from the device
8729
8730 pUserData: user data will be passed back with the
8731 callback
8732
8733 @see WDI_PostAssocReq
8734 @return Result of the function call
8735*/
8736WDI_Status
8737WDI_AddBASessionReq
8738(
8739 WDI_AddBASessionReqParamsType* pwdiAddBASessionReqParams,
8740 WDI_AddBASessionRspCb wdiAddBASessionRspCb,
8741 void* pUserData
8742);
8743
8744
8745/**
8746 @brief WDI_DelBAReq will be called when the upper MAC wants to
8747 inform HW that it has deleted a previously created BA
8748 session. Upon the call of this API the WLAN DAL will
8749 pack and send a HAL Del BA request message to the lower
8750 RIVA sub-system if DAL is in state STARTED.
8751
8752 In state BUSY this request will be queued. Request won't
8753 be allowed in any other state.
8754
8755 WDI_AddBAReq must have been called.
8756
8757 @param wdiDelBAReqParams: the del BA parameters as specified by
8758 the Device Interface
8759
8760 wdiDelBARspCb: callback for passing back the response of
8761 the del BA operation received from the device
8762
8763 pUserData: user data will be passed back with the
8764 callback
8765
8766 @see WDI_AddBAReq
8767 @return Result of the function call
8768*/
8769WDI_Status
8770WDI_DelBAReq
8771(
8772 WDI_DelBAReqParamsType* pwdiDelBAReqParams,
8773 WDI_DelBARspCb wdiDelBARspCb,
8774 void* pUserData
8775);
8776
8777/**
8778 @brief WDI_UpdateBeaconParamsReq will be called when the upper MAC wants to
8779 inform HW that there is a change in the beacon parameters
8780 Upon the call of this API the WLAN DAL will
8781 pack and send a UpdateBeacon Params message to the lower
8782 RIVA sub-system if DAL is in state STARTED.
8783
8784 In state BUSY this request will be queued. Request won't
8785 be allowed in any other state.
8786
8787 WDI_UpdateBeaconParamsReq must have been called.
8788
8789 @param WDI_UpdateBeaconParamsType: the Update Beacon parameters as specified by
8790 the Device Interface
8791
8792 WDI_UpdateBeaconParamsRspCb: callback for passing back the response of
8793 the Update Beacon Params operation received from the device
8794
8795 pUserData: user data will be passed back with the
8796 callback
8797
8798 @see WDI_AddBAReq
8799 @return Result of the function call
8800*/
8801
8802WDI_Status
8803WDI_UpdateBeaconParamsReq
8804(
8805 WDI_UpdateBeaconParamsType * pwdiUpdateBeaconParams,
8806 WDI_UpdateBeaconParamsRspCb wdiUpdateBeaconParamsRspCb,
8807 void* pUserData
8808);
8809
8810
8811/**
8812 @brief WDI_SendBeaconParamsReq will be called when the upper MAC wants to
8813 update the beacon template to be transmitted as BT MAP STA/IBSS/Soft AP
8814 Upon the call of this API the WLAN DAL will
8815 pack and send the beacon Template message to the lower
8816 RIVA sub-system if DAL is in state STARTED.
8817
8818 In state BUSY this request will be queued. Request won't
8819 be allowed in any other state.
8820
8821 WDI_SendBeaconParamsReq must have been called.
8822
8823 @param WDI_SendBeaconParamsType: the Update Beacon parameters as specified by
8824 the Device Interface
8825
8826 WDI_SendBeaconParamsRspCb: callback for passing back the response of
8827 the Send Beacon Params operation received from the device
8828
8829 pUserData: user data will be passed back with the
8830 callback
8831
8832 @see WDI_AddBAReq
8833 @return Result of the function call
8834*/
8835
8836WDI_Status
8837WDI_SendBeaconParamsReq
8838(
8839 WDI_SendBeaconParamsType* pwdiSendBeaconParams,
8840 WDI_SendBeaconParamsRspCb wdiSendBeaconParamsRspCb,
8841 void* pUserData
8842);
8843
8844
8845/**
8846 @brief WDI_UpdateProbeRspTemplateReq will be called when the
8847 upper MAC wants to update the probe response template to
8848 be transmitted as Soft AP
8849 Upon the call of this API the WLAN DAL will
8850 pack and send the probe rsp template message to the
8851 lower RIVA sub-system if DAL is in state STARTED.
8852
8853 In state BUSY this request will be queued. Request won't
8854 be allowed in any other state.
8855
8856
8857 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
8858 specified by the Device Interface
8859
8860 wdiSendBeaconParamsRspCb: callback for passing back the
8861 response of the Send Beacon Params operation received
8862 from the device
8863
8864 pUserData: user data will be passed back with the
8865 callback
8866
8867 @see WDI_AddBAReq
8868 @return Result of the function call
8869*/
8870
8871WDI_Status
8872WDI_UpdateProbeRspTemplateReq
8873(
8874 WDI_UpdateProbeRspTemplateParamsType* pwdiUpdateProbeRspParams,
8875 WDI_UpdateProbeRspTemplateRspCb wdiSendBeaconParamsRspCb,
8876 void* pUserData
8877);
8878
Jeff Johnson295189b2012-06-20 16:38:30 -07008879/**
8880 @brief WDI_SetP2PGONOAReq will be called when the
8881 upper MAC wants to send Notice of Absence
8882 Upon the call of this API the WLAN DAL will
8883 pack and send the probe rsp template message to the
8884 lower RIVA sub-system if DAL is in state STARTED.
8885
8886 In state BUSY this request will be queued. Request won't
8887 be allowed in any other state.
8888
8889
8890 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
8891 specified by the Device Interface
8892
8893 wdiSendBeaconParamsRspCb: callback for passing back the
8894 response of the Send Beacon Params operation received
8895 from the device
8896
8897 pUserData: user data will be passed back with the
8898 callback
8899
8900 @see WDI_AddBAReq
8901 @return Result of the function call
8902*/
8903WDI_Status
8904WDI_SetP2PGONOAReq
8905(
8906 WDI_SetP2PGONOAReqParamsType* pwdiP2PGONOAReqParams,
8907 WDI_SetP2PGONOAReqParamsRspCb wdiP2PGONOAReqParamsRspCb,
8908 void* pUserData
8909);
Jeff Johnson295189b2012-06-20 16:38:30 -07008910
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05308911/**
8912 @brief WDI_SetTDLSLinkEstablishReq will be called when the
8913 upper MAC wants to send TDLS Link Establish Request Parameters
8914 Upon the call of this API the WLAN DAL will
8915 pack and send the TDLS Link Establish Request message to the
8916 lower RIVA sub-system if DAL is in state STARTED.
8917
8918 In state BUSY this request will be queued. Request won't
8919 be allowed in any other state.
8920
8921
8922 @param pwdiTDLSLinkEstablishReqParams: TDLS Peer Parameters
8923 for Link Establishment (Used for PUAPSD , TDLS Off Channel ...)
8924
8925 wdiTDLSLinkEstablishReqRspCb: callback for passing back the
8926 response of the TDLS Link Establish request received
8927 from the device
8928
8929 pUserData: user data will be passed back with the
8930 callback
8931
8932 @see
8933 @return Result of the function call
8934*/
8935WDI_Status
8936WDI_SetTDLSLinkEstablishReq
8937(
8938 WDI_SetTDLSLinkEstablishReqParamsType* pwdiTDLSLinkEstablishReqParams,
8939 WDI_SetTDLSLinkEstablishReqParamsRspCb wdiTDLSLinkEstablishReqRspCb,
8940 void* pUserData
8941);
Jeff Johnson295189b2012-06-20 16:38:30 -07008942
Atul Mittalc0f739f2014-07-31 13:47:47 +05308943WDI_Status
8944WDI_SetTDLSChanSwitchReq
8945(
8946 WDI_SetTDLSChanSwitchReqParamsType* pwdiTDLSChanSwitchReqParams,
8947 WDI_SetTDLSChanSwitchReqParamsRspCb wdiTDLSChanSwitchRReqRspCb,
8948 void* pUserData
8949);
Jeff Johnson295189b2012-06-20 16:38:30 -07008950/*========================================================================
8951
8952 Power Save APIs
8953
8954==========================================================================*/
8955
8956/**
8957 @brief WDI_SetPwrSaveCfgReq will be called when the upper MAC
8958 wants to set the power save related configurations of
8959 the WLAN Device. Upon the call of this API the WLAN DAL
8960 will pack and send a HAL Update CFG request message to
8961 the lower RIVA sub-system if DAL is in state STARTED.
8962
8963 In state BUSY this request will be queued. Request won't
8964 be allowed in any other state.
8965
8966 WDI_Start must have been called.
8967
8968 @param pwdiPowerSaveCfg: the power save cfg parameters as
8969 specified by the Device Interface
8970
8971 wdiSetPwrSaveCfgCb: callback for passing back the
8972 response of the set power save cfg operation received
8973 from the device
8974
8975 pUserData: user data will be passed back with the
8976 callback
8977
8978 @see WDI_Start
8979 @return Result of the function call
8980*/
8981WDI_Status
8982WDI_SetPwrSaveCfgReq
8983(
8984 WDI_UpdateCfgReqParamsType* pwdiPowerSaveCfg,
8985 WDI_SetPwrSaveCfgCb wdiSetPwrSaveCfgCb,
8986 void* pUserData
8987);
8988
8989/**
8990 @brief WDI_EnterImpsReq will be called when the upper MAC to
8991 request the device to get into IMPS power state. Upon
8992 the call of this API the WLAN DAL will send a HAL Enter
8993 IMPS request message to the lower RIVA sub-system if DAL
8994 is in state STARTED.
8995
8996 In state BUSY this request will be queued. Request won't
8997 be allowed in any other state.
8998
8999
9000 @param wdiEnterImpsRspCb: callback for passing back the
9001 response of the Enter IMPS operation received from the
9002 device
9003
9004 pUserData: user data will be passed back with the
9005 callback
9006
9007 @see WDI_Start
9008 @return Result of the function call
9009*/
9010WDI_Status
9011WDI_EnterImpsReq
9012(
Mihir Shetea4306052014-03-25 00:02:54 +05309013 WDI_EnterImpsReqParamsType *pwdiEnterImpsReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009014 WDI_EnterImpsRspCb wdiEnterImpsRspCb,
9015 void* pUserData
9016);
9017
9018/**
9019 @brief WDI_ExitImpsReq will be called when the upper MAC to
9020 request the device to get out of IMPS power state. Upon
9021 the call of this API the WLAN DAL will send a HAL Exit
9022 IMPS request message to the lower RIVA sub-system if DAL
9023 is in state STARTED.
9024
9025 In state BUSY this request will be queued. Request won't
9026 be allowed in any other state.
9027
9028
9029
9030 @param wdiExitImpsRspCb: callback for passing back the response
9031 of the Exit IMPS operation received from the device
9032
9033 pUserData: user data will be passed back with the
9034 callback
9035
9036 @see WDI_Start
9037 @return Result of the function call
9038*/
9039WDI_Status
9040WDI_ExitImpsReq
9041(
9042 WDI_ExitImpsRspCb wdiExitImpsRspCb,
9043 void* pUserData
9044);
9045
9046/**
9047 @brief WDI_EnterBmpsReq will be called when the upper MAC to
9048 request the device to get into BMPS power state. Upon
9049 the call of this API the WLAN DAL will pack and send a
9050 HAL Enter BMPS request message to the lower RIVA
9051 sub-system if DAL is in state STARTED.
9052
9053 In state BUSY this request will be queued. Request won't
9054 be allowed in any other state.
9055
9056 WDI_PostAssocReq must have been called.
9057
9058 @param pwdiEnterBmpsReqParams: the Enter BMPS parameters as
9059 specified by the Device Interface
9060
9061 wdiEnterBmpsRspCb: callback for passing back the
9062 response of the Enter BMPS operation received from the
9063 device
9064
9065 pUserData: user data will be passed back with the
9066 callback
9067
9068 @see WDI_PostAssocReq
9069 @return Result of the function call
9070*/
9071WDI_Status
9072WDI_EnterBmpsReq
9073(
9074 WDI_EnterBmpsReqParamsType *pwdiEnterBmpsReqParams,
9075 WDI_EnterBmpsRspCb wdiEnterBmpsRspCb,
9076 void* pUserData
9077);
9078
9079/**
9080 @brief WDI_ExitBmpsReq will be called when the upper MAC to
9081 request the device to get out of BMPS power state. Upon
9082 the call of this API the WLAN DAL will pack and send a
9083 HAL Exit BMPS request message to the lower RIVA
9084 sub-system if DAL is in state STARTED.
9085
9086 In state BUSY this request will be queued. Request won't
9087 be allowed in any other state.
9088
9089 WDI_PostAssocReq must have been called.
9090
9091 @param pwdiExitBmpsReqParams: the Exit BMPS parameters as
9092 specified by the Device Interface
9093
9094 wdiExitBmpsRspCb: callback for passing back the response
9095 of the Exit BMPS operation received from the device
9096
9097 pUserData: user data will be passed back with the
9098 callback
9099
9100 @see WDI_PostAssocReq
9101 @return Result of the function call
9102*/
9103WDI_Status
9104WDI_ExitBmpsReq
9105(
9106 WDI_ExitBmpsReqParamsType *pwdiExitBmpsReqParams,
9107 WDI_ExitBmpsRspCb wdiExitBmpsRspCb,
9108 void* pUserData
9109);
9110
9111/**
9112 @brief WDI_EnterUapsdReq will be called when the upper MAC to
9113 request the device to get into UAPSD power state. Upon
9114 the call of this API the WLAN DAL will pack and send a
9115 HAL Enter UAPSD request message to the lower RIVA
9116 sub-system if DAL is in state STARTED.
9117
9118 In state BUSY this request will be queued. Request won't
9119 be allowed in any other state.
9120
9121 WDI_PostAssocReq must have been called.
9122 WDI_SetUapsdAcParamsReq must have been called.
9123
9124 @param pwdiEnterUapsdReqParams: the Enter UAPSD parameters as
9125 specified by the Device Interface
9126
9127 wdiEnterUapsdRspCb: callback for passing back the
9128 response of the Enter UAPSD operation received from the
9129 device
9130
9131 pUserData: user data will be passed back with the
9132 callback
9133
9134 @see WDI_PostAssocReq, WDI_SetUapsdAcParamsReq
9135 @return Result of the function call
9136*/
9137WDI_Status
9138WDI_EnterUapsdReq
9139(
9140 WDI_EnterUapsdReqParamsType *pwdiEnterUapsdReqParams,
9141 WDI_EnterUapsdRspCb wdiEnterUapsdRspCb,
9142 void* pUserData
9143);
9144
9145/**
9146 @brief WDI_ExitUapsdReq will be called when the upper MAC to
9147 request the device to get out of UAPSD power state. Upon
9148 the call of this API the WLAN DAL will send a HAL Exit
9149 UAPSD request message to the lower RIVA sub-system if
9150 DAL is in state STARTED.
9151
9152 In state BUSY this request will be queued. Request won't
9153 be allowed in any other state.
9154
9155 WDI_PostAssocReq must have been called.
9156
9157 @param wdiExitUapsdRspCb: callback for passing back the
9158 response of the Exit UAPSD operation received from the
9159 device
9160
9161 pUserData: user data will be passed back with the
9162 callback
9163
9164 @see WDI_PostAssocReq
9165 @return Result of the function call
9166*/
9167WDI_Status
9168WDI_ExitUapsdReq
9169(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07009170 WDI_ExitUapsdReqParamsType *pwdiExitUapsdReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009171 WDI_ExitUapsdRspCb wdiExitUapsdRspCb,
9172 void* pUserData
9173);
9174
9175/**
9176 @brief WDI_UpdateUapsdParamsReq will be called when the upper
9177 MAC wants to set the UAPSD related configurations
9178 of an associated STA (while acting as an AP) to the WLAN
9179 Device. Upon the call of this API the WLAN DAL will pack
9180 and send a HAL Update UAPSD params request message to
9181 the lower RIVA sub-system if DAL is in state STARTED.
9182
9183 In state BUSY this request will be queued. Request won't
9184 be allowed in any other state.
9185
9186 WDI_ConfigBSSReq must have been called.
9187
9188 @param pwdiUpdateUapsdReqParams: the UAPSD parameters
9189 as specified by the Device Interface
9190
9191 wdiUpdateUapsdParamsCb: callback for passing back the
9192 response of the update UAPSD params operation received
9193 from the device
9194
9195 pUserData: user data will be passed back with the
9196 callback
9197
9198 @see WDI_ConfigBSSReq
9199 @return Result of the function call
9200*/
9201WDI_Status
9202WDI_UpdateUapsdParamsReq
9203(
9204 WDI_UpdateUapsdReqParamsType *pwdiUpdateUapsdReqParams,
9205 WDI_UpdateUapsdParamsCb wdiUpdateUapsdParamsCb,
9206 void* pUserData
9207);
9208
9209/**
9210 @brief WDI_SetUapsdAcParamsReq will be called when the upper
9211 MAC wants to set the UAPSD related configurations before
9212 requesting for enter UAPSD power state to the WLAN
9213 Device. Upon the call of this API the WLAN DAL will pack
9214 and send a HAL Set UAPSD params request message to
9215 the lower RIVA sub-system if DAL is in state STARTED.
9216
9217 In state BUSY this request will be queued. Request won't
9218 be allowed in any other state.
9219
9220 WDI_PostAssocReq must have been called.
9221
9222 @param pwdiUapsdInfo: the UAPSD parameters as specified by
9223 the Device Interface
9224
9225 wdiSetUapsdAcParamsCb: callback for passing back the
9226 response of the set UAPSD params operation received from
9227 the device
9228
9229 pUserData: user data will be passed back with the
9230 callback
9231
9232 @see WDI_PostAssocReq
9233 @return Result of the function call
9234*/
9235WDI_Status
9236WDI_SetUapsdAcParamsReq
9237(
9238 WDI_SetUapsdAcParamsReqParamsType* pwdiPowerSaveCfg,
9239 WDI_SetUapsdAcParamsCb wdiSetUapsdAcParamsCb,
9240 void* pUserData
9241);
9242
9243/**
9244 @brief WDI_ConfigureRxpFilterReq will be called when the upper
9245 MAC wants to set/reset the RXP filters for received pkts
9246 (MC, BC etc.). Upon the call of this API the WLAN DAL will pack
9247 and send a HAL configure RXP filter request message to
9248 the lower RIVA sub-system.
9249
9250 In state BUSY this request will be queued. Request won't
9251 be allowed in any other state.
9252
9253
9254 @param pwdiConfigureRxpFilterReqParams: the RXP
9255 filter as specified by the Device
9256 Interface
9257
9258 wdiConfigureRxpFilterCb: callback for passing back the
9259 response of the configure RXP filter operation received
9260 from the device
9261
9262 pUserData: user data will be passed back with the
9263 callback
9264
9265 @return Result of the function call
9266*/
9267WDI_Status
9268WDI_ConfigureRxpFilterReq
9269(
9270 WDI_ConfigureRxpFilterReqParamsType *pwdiConfigureRxpFilterReqParams,
9271 WDI_ConfigureRxpFilterCb wdiConfigureRxpFilterCb,
9272 void* pUserData
9273);
9274
9275/**
9276 @brief WDI_SetBeaconFilterReq will be called when the upper MAC
9277 wants to set the beacon filters while in power save.
9278 Upon the call of this API the WLAN DAL will pack and
9279 send a Beacon filter request message to the
9280 lower RIVA sub-system.
9281
9282 In state BUSY this request will be queued. Request won't
9283 be allowed in any other state.
9284
9285
9286 @param pwdiBeaconFilterReqParams: the beacon
9287 filter as specified by the Device
9288 Interface
9289
9290 wdiBeaconFilterCb: callback for passing back the
9291 response of the set beacon filter operation received
9292 from the device
9293
9294 pUserData: user data will be passed back with the
9295 callback
9296
9297 @return Result of the function call
9298*/
9299WDI_Status
9300WDI_SetBeaconFilterReq
9301(
9302 WDI_BeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
9303 WDI_SetBeaconFilterCb wdiBeaconFilterCb,
9304 void* pUserData
9305);
9306
9307/**
9308 @brief WDI_RemBeaconFilterReq will be called when the upper MAC
9309 wants to remove the beacon filter for perticular IE
9310 while in power save. Upon the call of this API the WLAN
9311 DAL will pack and send a remove Beacon filter request
9312 message to the lower RIVA sub-system.
9313
9314 In state BUSY this request will be queued. Request won't
9315 be allowed in any other state.
9316
9317
9318 @param pwdiBeaconFilterReqParams: the beacon
9319 filter as specified by the Device
9320 Interface
9321
9322 wdiBeaconFilterCb: callback for passing back the
9323 response of the remove beacon filter operation received
9324 from the device
9325
9326 pUserData: user data will be passed back with the
9327 callback
9328
9329 @return Result of the function call
9330*/
9331WDI_Status
9332WDI_RemBeaconFilterReq
9333(
9334 WDI_RemBeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
9335 WDI_RemBeaconFilterCb wdiBeaconFilterCb,
9336 void* pUserData
9337);
9338
9339/**
9340 @brief WDI_SetRSSIThresholdsReq will be called when the upper
9341 MAC wants to set the RSSI thresholds related
9342 configurations while in power save. Upon the call of
9343 this API the WLAN DAL will pack and send a HAL Set RSSI
9344 thresholds request message to the lower RIVA
9345 sub-system if DAL is in state STARTED.
9346
9347 In state BUSY this request will be queued. Request won't
9348 be allowed in any other state.
9349
9350 WDI_PostAssocReq must have been called.
9351
9352 @param pwdiUapsdInfo: the UAPSD parameters as specified by
9353 the Device Interface
9354
9355 wdiSetUapsdAcParamsCb: callback for passing back the
9356 response of the set UAPSD params operation received from
9357 the device
9358
9359 pUserData: user data will be passed back with the
9360 callback
9361
9362 @see WDI_PostAssocReq
9363 @return Result of the function call
9364*/
9365WDI_Status
9366WDI_SetRSSIThresholdsReq
9367(
9368 WDI_SetRSSIThresholdsReqParamsType* pwdiRSSIThresholdsParams,
9369 WDI_SetRSSIThresholdsCb wdiSetRSSIThresholdsCb,
9370 void* pUserData
9371);
9372
9373/**
9374 @brief WDI_HostOffloadReq will be called when the upper MAC
9375 wants to set the filter to minimize unnecessary host
9376 wakeup due to broadcast traffic while in power save.
9377 Upon the call of this API the WLAN DAL will pack and
9378 send a HAL host offload request message to the
9379 lower RIVA sub-system if DAL is in state STARTED.
9380
9381 In state BUSY this request will be queued. Request won't
9382 be allowed in any other state.
9383
9384 WDI_PostAssocReq must have been called.
9385
9386 @param pwdiHostOffloadParams: the host offload as specified
9387 by the Device Interface
9388
9389 wdiHostOffloadCb: callback for passing back the response
9390 of the host offload operation received from the
9391 device
9392
9393 pUserData: user data will be passed back with the
9394 callback
9395
9396 @see WDI_PostAssocReq
9397 @return Result of the function call
9398*/
9399WDI_Status
9400WDI_HostOffloadReq
9401(
9402 WDI_HostOffloadReqParamsType* pwdiHostOffloadParams,
9403 WDI_HostOffloadCb wdiHostOffloadCb,
9404 void* pUserData
9405);
9406
9407/**
9408 @brief WDI_KeepAliveReq will be called when the upper MAC
9409 wants to set the filter to send NULL or unsolicited ARP responses
9410 and minimize unnecessary host wakeups due to while in power save.
9411 Upon the call of this API the WLAN DAL will pack and
9412 send a HAL Keep Alive request message to the
9413 lower RIVA sub-system if DAL is in state STARTED.
9414
9415 In state BUSY this request will be queued. Request won't
9416 be allowed in any other state.
9417
9418 WDI_PostAssocReq must have been called.
9419
9420 @param pwdiKeepAliveParams: the Keep Alive as specified
9421 by the Device Interface
9422
9423 wdiKeepAliveCb: callback for passing back the response
9424 of the Keep Alive operation received from the
9425 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_KeepAliveReq
9435(
9436 WDI_KeepAliveReqParamsType* pwdiKeepAliveParams,
9437 WDI_KeepAliveCb wdiKeepAliveCb,
9438 void* pUserData
9439);
9440
9441/**
9442 @brief WDI_WowlAddBcPtrnReq will be called when the upper MAC
9443 wants to set the Wowl Bcast ptrn to minimize unnecessary
9444 host wakeup due to broadcast traffic while in power
9445 save. Upon the call of this API the WLAN DAL will pack
9446 and send a HAL Wowl Bcast ptrn request message to the
9447 lower RIVA sub-system if DAL is in state STARTED.
9448
9449 In state BUSY this request will be queued. Request won't
9450 be allowed in any other state.
9451
9452 WDI_PostAssocReq must have been called.
9453
9454 @param pwdiWowlAddBcPtrnParams: the Wowl bcast ptrn as
9455 specified by the Device Interface
9456
9457 wdiWowlAddBcPtrnCb: callback for passing back the
9458 response of the add Wowl bcast ptrn operation received
9459 from the device
9460
9461 pUserData: user data will be passed back with the
9462 callback
9463
9464 @see WDI_PostAssocReq
9465 @return Result of the function call
9466*/
9467WDI_Status
9468WDI_WowlAddBcPtrnReq
9469(
9470 WDI_WowlAddBcPtrnReqParamsType* pwdiWowlAddBcPtrnParams,
9471 WDI_WowlAddBcPtrnCb wdiWowlAddBcPtrnCb,
9472 void* pUserData
9473);
9474
9475/**
9476 @brief WDI_WowlDelBcPtrnReq will be called when the upper MAC
9477 wants to clear the Wowl Bcast ptrn. Upon the call of
9478 this API the WLAN DAL will pack and send a HAL delete
9479 Wowl Bcast ptrn request message to the lower RIVA
9480 sub-system if DAL is in state STARTED.
9481
9482 In state BUSY this request will be queued. Request won't
9483 be allowed in any other state.
9484
9485 WDI_WowlAddBcPtrnReq must have been called.
9486
9487 @param pwdiWowlDelBcPtrnParams: the Wowl bcast ptrn as
9488 specified by the Device Interface
9489
9490 wdiWowlDelBcPtrnCb: callback for passing back the
9491 response of the del Wowl bcast ptrn operation received
9492 from the device
9493
9494 pUserData: user data will be passed back with the
9495 callback
9496
9497 @see WDI_WowlAddBcPtrnReq
9498 @return Result of the function call
9499*/
9500WDI_Status
9501WDI_WowlDelBcPtrnReq
9502(
9503 WDI_WowlDelBcPtrnReqParamsType* pwdiWowlDelBcPtrnParams,
9504 WDI_WowlDelBcPtrnCb wdiWowlDelBcPtrnCb,
9505 void* pUserData
9506);
9507
9508/**
9509 @brief WDI_WowlEnterReq will be called when the upper MAC
9510 wants to enter the Wowl state to minimize unnecessary
9511 host wakeup while in power save. Upon the call of this
9512 API the WLAN DAL will pack and send a HAL Wowl enter
9513 request message to the lower RIVA sub-system if DAL is
9514 in state STARTED.
9515
9516 In state BUSY this request will be queued. Request won't
9517 be allowed in any other state.
9518
9519 WDI_PostAssocReq must have been called.
9520
9521 @param pwdiWowlEnterReqParams: the Wowl enter info as
9522 specified by the Device Interface
9523
9524 wdiWowlEnterReqCb: callback for passing back the
9525 response of the enter Wowl operation received from the
9526 device
9527
9528 pUserData: user data will be passed back with the
9529 callback
9530
9531 @see WDI_PostAssocReq
9532 @return Result of the function call
9533*/
9534WDI_Status
9535WDI_WowlEnterReq
9536(
9537 WDI_WowlEnterReqParamsType* pwdiWowlEnterParams,
9538 WDI_WowlEnterReqCb wdiWowlEnterCb,
9539 void* pUserData
9540);
9541
9542/**
9543 @brief WDI_WowlExitReq will be called when the upper MAC
9544 wants to exit the Wowl state. Upon the call of this API
9545 the WLAN DAL will pack and send a HAL Wowl exit request
9546 message to the lower RIVA sub-system if DAL is in state
9547 STARTED.
9548
9549 In state BUSY this request will be queued. Request won't
9550 be allowed in any other state.
9551
9552 WDI_WowlEnterReq must have been called.
9553
9554 @param pwdiWowlExitReqParams: the Wowl exit info as
9555 specified by the Device Interface
9556
9557 wdiWowlExitReqCb: callback for passing back the response
9558 of the exit Wowl operation received from the device
9559
9560 pUserData: user data will be passed back with the
9561 callback
9562
9563 @see WDI_WowlEnterReq
9564 @return Result of the function call
9565*/
9566WDI_Status
9567WDI_WowlExitReq
9568(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07009569 WDI_WowlExitReqParamsType* pwdiWowlExitParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009570 WDI_WowlExitReqCb wdiWowlExitCb,
9571 void* pUserData
9572);
9573
9574/**
9575 @brief WDI_ConfigureAppsCpuWakeupStateReq will be called when
9576 the upper MAC wants to dynamically adjusts the listen
9577 interval based on the WLAN/MSM activity. Upon the call
9578 of this API the WLAN DAL will pack and send a HAL
9579 configure Apps Cpu Wakeup State request message to the
9580 lower RIVA sub-system.
9581
9582 In state BUSY this request will be queued. Request won't
9583 be allowed in any other state.
9584
9585
9586 @param pwdiConfigureAppsCpuWakeupStateReqParams: the
9587 Apps Cpu Wakeup State as specified by the
9588 Device Interface
9589
9590 wdiConfigureAppsCpuWakeupStateCb: callback for passing
9591 back the response of the configure Apps Cpu Wakeup State
9592 operation received from the device
9593
9594 pUserData: user data will be passed back with the
9595 callback
9596
9597 @return Result of the function call
9598*/
9599WDI_Status
9600WDI_ConfigureAppsCpuWakeupStateReq
9601(
9602 WDI_ConfigureAppsCpuWakeupStateReqParamsType *pwdiConfigureAppsCpuWakeupStateReqParams,
9603 WDI_ConfigureAppsCpuWakeupStateCb wdiConfigureAppsCpuWakeupStateCb,
9604 void* pUserData
9605);
9606/**
9607 @brief WDI_FlushAcReq will be called when the upper MAC wants
9608 to to perform a flush operation on a given AC. Upon the
9609 call of this API the WLAN DAL will pack and send a HAL
9610 Flush AC request message to the lower RIVA sub-system if
9611 DAL is in state STARTED.
9612
9613 In state BUSY this request will be queued. Request won't
9614 be allowed in any other state.
9615
9616
9617 @param pwdiFlushAcReqParams: the Flush AC parameters as
9618 specified by the Device Interface
9619
9620 wdiFlushAcRspCb: callback for passing back the response
9621 of the Flush AC operation received from the device
9622
9623 pUserData: user data will be passed back with the
9624 callback
9625
9626 @return Result of the function call
9627*/
9628WDI_Status
9629WDI_FlushAcReq
9630(
9631 WDI_FlushAcReqParamsType* pwdiFlushAcReqParams,
9632 WDI_FlushAcRspCb wdiFlushAcRspCb,
9633 void* pUserData
9634);
9635
9636/**
9637 @brief WDI_BtAmpEventReq will be called when the upper MAC
9638 wants to notify the lower mac on a BT AMP event. This is
9639 to inform BTC-SLM that some BT AMP event occurred. Upon
9640 the call of this API the WLAN DAL will pack and send a
9641 HAL BT AMP event request message to the lower RIVA
9642 sub-system if DAL is in state STARTED.
9643
9644 In state BUSY this request will be queued. Request won't
9645 be allowed in any other state.
9646
9647
9648 @param wdiBtAmpEventReqParams: the BT AMP event parameters as
9649 specified by the Device Interface
9650
9651 wdiBtAmpEventRspCb: callback for passing back the
9652 response of the BT AMP event operation received from the
9653 device
9654
9655 pUserData: user data will be passed back with the
9656 callback
9657
9658 @return Result of the function call
9659*/
9660WDI_Status
9661WDI_BtAmpEventReq
9662(
9663 WDI_BtAmpEventParamsType* pwdiBtAmpEventReqParams,
9664 WDI_BtAmpEventRspCb wdiBtAmpEventRspCb,
9665 void* pUserData
9666);
9667
Jeff Johnsone7245742012-09-05 17:12:55 -07009668#ifdef FEATURE_OEM_DATA_SUPPORT
9669/**
9670 @brief WDI_Start oem data Req will be called when the upper MAC
9671 wants to notify the lower mac on a oem data Req event.Upon
9672 the call of this API the WLAN DAL will pack and send a
9673 HAL OEM Data Req event request message to the lower RIVA
9674 sub-system if DAL is in state STARTED.
9675
9676 In state BUSY this request will be queued. Request won't
9677 be allowed in any other state.
9678
9679
9680 @param pWdiOemDataReqParams: the oem data req parameters as
9681 specified by the Device Interface
9682
9683 wdiStartOemDataRspCb: callback for passing back the
9684 response of the Oem Data Req received from the
9685 device
9686
9687 pUserData: user data will be passed back with the
9688 callback
9689
9690 @return Result of the function call
9691*/
9692WDI_Status
9693WDI_StartOemDataReq
9694(
9695 WDI_oemDataReqParamsType* pWdiOemDataReqParams,
9696 WDI_oemDataRspCb wdiOemDataRspCb,
9697 void* pUserData
9698);
9699#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07009700
9701/*========================================================================
9702
9703 CONTROL APIs
9704
9705==========================================================================*/
9706/**
9707 @brief WDI_SwitchChReq will be called when the upper MAC wants
9708 the WLAN HW to change the current channel of operation.
9709 Upon the call of this API the WLAN DAL will pack and
9710 send a HAL Start request message to the lower RIVA
9711 sub-system if DAL is in state STARTED.
9712
9713 In state BUSY this request will be queued. Request won't
9714 be allowed in any other state.
9715
9716 WDI_Start must have been called.
9717
9718 @param wdiSwitchChReqParams: the switch ch parameters as
9719 specified by the Device Interface
9720
9721 wdiSwitchChRspCb: callback for passing back the response
9722 of the switch ch operation received from the device
9723
9724 pUserData: user data will be passed back with the
9725 callback
9726
9727 @see WDI_Start
9728 @return Result of the function call
9729*/
9730WDI_Status
9731WDI_SwitchChReq
9732(
9733 WDI_SwitchChReqParamsType* pwdiSwitchChReqParams,
9734 WDI_SwitchChRspCb wdiSwitchChRspCb,
9735 void* pUserData
9736);
9737
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08009738/**
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08009739 @brief WDI_SwitchChReq_V1 is similar to WDI_SwitchChReq except
9740 it also send type source for the channel change.
9741 WDI_Start must have been called.
9742
9743 @param wdiSwitchChReqParams: the switch ch parameters as
9744 specified by the Device Interface
9745
9746 wdiSwitchChRspCb: callback for passing back the response
9747 of the switch ch operation received from the device
9748
9749 pUserData: user data will be passed back with the
9750 callback
9751
9752 @see WDI_Start
9753 @return Result of the function call
9754*/
9755
9756WDI_Status
9757WDI_SwitchChReq_V1
9758(
9759 WDI_SwitchChReqParamsType_V1* pwdiSwitchChReqParams,
9760 WDI_SwitchChRspCb_V1 wdiSwitchChRspCb,
9761 void* pUserData
9762);
9763
9764/**
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08009765 @brief WDI_UpdateChannelReq will be called when the upper MAC
9766 wants to update the channel list on change in country code.
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08009767 In state BUSY this request will be queued. Request won't
9768 be allowed in any other state.
9769
9770 WDI_UpdateChannelReq must have been called.
9771
9772 @param wdiUpdateChannelReqParams: the updated channel parameters
9773 as specified by the Device Interface
9774
9775 wdiUpdateChannelRspCb: callback for passing back the
9776 response of the update channel operation received from
9777 the device
9778
9779 pUserData: user data will be passed back with the
9780 callback
9781
9782 @return Result of the function call
9783*/
9784WDI_Status
9785WDI_UpdateChannelReq
9786(
9787 WDI_UpdateChReqParamsType *pwdiUpdateChannelReqParams,
9788 WDI_UpdateChannelRspCb wdiUpdateChannelRspCb,
9789 void* pUserData
9790);
Jeff Johnson295189b2012-06-20 16:38:30 -07009791
9792/**
9793 @brief WDI_ConfigSTAReq will be called when the upper MAC
9794 wishes to add or update a STA in HW. Upon the call of
9795 this API the WLAN DAL will pack and send a HAL Start
9796 message request message to the lower RIVA sub-system if
9797 DAL is in state STARTED.
9798
9799 In state BUSY this request will be queued. Request won't
9800 be allowed in any other state.
9801
9802 WDI_Start must have been called.
9803
9804 @param wdiConfigSTAReqParams: the config STA parameters as
9805 specified by the Device Interface
9806
9807 wdiConfigSTARspCb: callback for passing back the
9808 response of the config STA operation received from the
9809 device
9810
9811 pUserData: user data will be passed back with the
9812 callback
9813
9814 @see WDI_Start
9815 @return Result of the function call
9816*/
9817WDI_Status
9818WDI_ConfigSTAReq
9819(
9820 WDI_ConfigSTAReqParamsType* pwdiConfigSTAReqParams,
9821 WDI_ConfigSTARspCb wdiConfigSTARspCb,
9822 void* pUserData
9823);
9824
9825/**
9826 @brief WDI_SetLinkStateReq will be called when the upper MAC
9827 wants to change the state of an ongoing link. Upon the
9828 call of this API the WLAN DAL will pack and send a HAL
9829 Start message request message to the lower RIVA
9830 sub-system if DAL is in state STARTED.
9831
9832 In state BUSY this request will be queued. Request won't
9833 be allowed in any other state.
9834
9835 WDI_JoinReq must have been called.
9836
9837 @param wdiSetLinkStateReqParams: the set link state parameters
9838 as specified by the Device Interface
9839
9840 wdiSetLinkStateRspCb: callback for passing back the
9841 response of the set link state operation received from
9842 the device
9843
9844 pUserData: user data will be passed back with the
9845 callback
9846
9847 @see WDI_JoinStartReq
9848 @return Result of the function call
9849*/
9850WDI_Status
9851WDI_SetLinkStateReq
9852(
9853 WDI_SetLinkReqParamsType* pwdiSetLinkStateReqParams,
9854 WDI_SetLinkStateRspCb wdiSetLinkStateRspCb,
9855 void* pUserData
9856);
9857
9858
9859/**
9860 @brief WDI_GetStatsReq will be called when the upper MAC wants
9861 to get statistics (MIB counters) from the device. Upon
9862 the call of this API the WLAN DAL will pack and send a
9863 HAL Start request message to the lower RIVA sub-system
9864 if DAL is in state STARTED.
9865
9866 In state BUSY this request will be queued. Request won't
9867 be allowed in any other state.
9868
9869 WDI_Start must have been called.
9870
9871 @param wdiGetStatsReqParams: the stats parameters to get as
9872 specified by the Device Interface
9873
9874 wdiGetStatsRspCb: callback for passing back the response
9875 of the get stats operation received from the device
9876
9877 pUserData: user data will be passed back with the
9878 callback
9879
9880 @see WDI_Start
9881 @return Result of the function call
9882*/
9883WDI_Status
9884WDI_GetStatsReq
9885(
9886 WDI_GetStatsReqParamsType* pwdiGetStatsReqParams,
9887 WDI_GetStatsRspCb wdiGetStatsRspCb,
9888 void* pUserData
9889);
9890
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08009891#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08009892/**
9893 @brief WDI_GetRoamRssiReq will be called when the upper MAC wants
9894 to get roam rssi from the device. Upon
9895 the call of this API the WLAN DAL will pack and send a
9896 HAL Start request message to the lower RIVA sub-system
9897 if DAL is in state STARTED.
9898
9899 In state BUSY this request will be queued. Request won't
9900 be allowed in any other state.
9901
9902 WDI_Start must have been called.
9903
9904 @param wdiGetRoamRssiReqParams: the stats parameters to get as
9905 specified by the Device Interface
9906
9907 wdiGetRoamRssispCb: callback for passing back the response
9908 of the get stats operation received from the device
9909
9910 pUserData: user data will be passed back with the
9911 callback
9912
9913 @see WDI_Start
9914 @return Result of the function call
9915*/
9916WDI_Status
9917WDI_GetRoamRssiReq
9918(
9919 WDI_GetRoamRssiReqParamsType* pwdiGetRoamRssiReqParams,
9920 WDI_GetRoamRssiRspCb wdiGetRoamRssiRspCb,
9921 void* pUserData
9922);
9923#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07009924
9925/**
9926 @brief WDI_UpdateCfgReq will be called when the upper MAC when
9927 it wishes to change the configuration of the WLAN
9928 Device. Upon the call of this API the WLAN DAL will pack
9929 and send a HAL Update CFG request message to the lower
9930 RIVA sub-system if DAL is in state STARTED.
9931
9932 In state BUSY this request will be queued. Request won't
9933 be allowed in any other state.
9934
9935 WDI_Start must have been called.
9936
9937 @param wdiUpdateCfgReqParams: the update cfg parameters as
9938 specified by the Device Interface
9939
9940 wdiUpdateCfgsRspCb: callback for passing back the
9941 response of the update cfg operation received from the
9942 device
9943
9944 pUserData: user data will be passed back with the
9945 callback
9946
9947 @see WDI_Start
9948 @return Result of the function call
9949*/
9950WDI_Status
9951WDI_UpdateCfgReq
9952(
9953 WDI_UpdateCfgReqParamsType* pwdiUpdateCfgReqParams,
9954 WDI_UpdateCfgRspCb wdiUpdateCfgsRspCb,
9955 void* pUserData
9956);
9957
9958/**
9959 @brief WDI_NvDownloadReq will be called by the UMAC to dowload the NV blob
9960 to the NV memory.
9961
9962 @param wdiNvDownloadReqParams: the NV Download parameters as specified by
9963 the Device Interface
9964
9965 wdiNvDownloadRspCb: callback for passing back the response of
9966 the NV Download operation received from the device
9967
9968 pUserData: user data will be passed back with the
9969 callback
9970
9971 @see WDI_PostAssocReq
9972 @return Result of the function call
9973*/
9974WDI_Status
9975WDI_NvDownloadReq
9976(
9977 WDI_NvDownloadReqParamsType* pwdiNvDownloadReqParams,
9978 WDI_NvDownloadRspCb wdiNvDownloadRspCb,
9979 void* pUserData
9980);
9981/**
9982 @brief WDI_AddBAReq will be called when the upper MAC has setup
9983 successfully a BA session and needs to notify the HW for
9984 the appropriate settings to take place. Upon the call of
9985 this API the WLAN DAL will pack and send a HAL Add BA
9986 request message to the lower RIVA sub-system if DAL is
9987 in state STARTED.
9988
9989 In state BUSY this request will be queued. Request won't
9990 be allowed in any other state.
9991
9992 WDI_PostAssocReq must have been called.
9993
9994 @param wdiAddBAReqParams: the add BA parameters as specified by
9995 the Device Interface
9996
9997 wdiAddBARspCb: callback for passing back the response of
9998 the add BA 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_AddBAReq
10008(
10009 WDI_AddBAReqParamsType* pwdiAddBAReqParams,
10010 WDI_AddBARspCb wdiAddBARspCb,
10011 void* pUserData
10012);
10013
10014/**
10015 @brief WDI_TriggerBAReq will be called when the upper MAC has setup
10016 successfully a BA session and needs to notify the HW for
10017 the appropriate settings to take place. Upon the call of
10018 this API the WLAN DAL will pack and send a HAL Add BA
10019 request message to the lower RIVA sub-system if DAL is
10020 in state STARTED.
10021
10022 In state BUSY this request will be queued. Request won't
10023 be allowed in any other state.
10024
10025 WDI_PostAssocReq must have been called.
10026
10027 @param wdiAddBAReqParams: the add BA parameters as specified by
10028 the Device Interface
10029
10030 wdiAddBARspCb: callback for passing back the response of
10031 the add BA operation received from the device
10032
10033 pUserData: user data will be passed back with the
10034 callback
10035
10036 @see WDI_PostAssocReq
10037 @return Result of the function call
10038*/
10039WDI_Status
10040WDI_TriggerBAReq
10041(
10042 WDI_TriggerBAReqParamsType* pwdiTriggerBAReqParams,
10043 WDI_TriggerBARspCb wdiTriggerBARspCb,
10044 void* pUserData
10045);
10046
10047
10048/**
10049 @brief WDI_IsHwFrameTxTranslationCapable checks to see if HW
10050 frame xtl is enabled for a particular STA.
10051
10052 WDI_PostAssocReq must have been called.
10053
10054 @param uSTAIdx: STA index
10055
10056 @see WDI_PostAssocReq
10057 @return Result of the function call
10058*/
10059wpt_boolean WDI_IsHwFrameTxTranslationCapable
10060(
10061 wpt_uint8 uSTAIdx
10062);
10063
Katya Nigam6201c3e2014-05-27 17:51:42 +053010064
10065/**
10066 @brief WDI_IsSelfSTA - check if staid is self sta index
10067
10068 @param pWDICtx: pointer to the WLAN DAL context
10069 ucSTAIdx: station index
10070
10071 @return Result of the function call
10072*/
10073
10074wpt_boolean
10075WDI_IsSelfSTA
10076(
10077 void* pWDICtx,
10078 wpt_uint8 ucSTAIdx
10079);
10080
10081
Jeff Johnson295189b2012-06-20 16:38:30 -070010082#ifdef WLAN_FEATURE_VOWIFI_11R
10083/**
10084 @brief WDI_AggrAddTSReq will be called when the upper MAC to inform
10085 the device of a successful add TSpec negotiation for 11r. HW
10086 needs to receive the TSpec Info from the UMAC in order
10087 to configure properly the QoS data traffic. Upon the
10088 call of this API the WLAN DAL will pack and send a HAL
10089 Aggregated Add TS request message to the lower RIVA sub-system if
10090 DAL is in state STARTED.
10091
10092 In state BUSY this request will be queued. Request won't
10093 be allowed in any other state.
10094
10095 WDI_PostAssocReq must have been called.
10096
10097 @param wdiAggrAddTsReqParams: the add TS parameters as specified by
10098 the Device Interface
10099
10100 wdiAggrAddTsRspCb: callback for passing back the response of
10101 the add TS operation received from the device
10102
10103 pUserData: user data will be passed back with the
10104 callback
10105
10106 @see WDI_PostAssocReq
10107 @return Result of the function call
10108*/
10109WDI_Status
10110WDI_AggrAddTSReq
10111(
10112 WDI_AggrAddTSReqParamsType* pwdiAddTsReqParams,
10113 WDI_AggrAddTsRspCb wdiAggrAddTsRspCb,
10114 void* pUserData
10115);
10116#endif /* WLAN_FEATURE_VOWIFI_11R */
10117/**
10118 @brief WDI_STATableInit - Initializes the STA tables.
10119 Allocates the necesary memory.
10120
10121
10122 @param pWDICtx: pointer to the WLAN DAL context
10123
10124 @see
10125 @return Result of the function call
10126*/
10127
10128WDI_Status WDI_StubRunTest
10129(
10130 wpt_uint8 ucTestNo
10131);
10132
Jeff Johnson295189b2012-06-20 16:38:30 -070010133/**
10134 @brief WDI_FTMCommandReq -
10135 Route FTMRequest Command to HAL
10136
10137 @param ftmCommandReq: FTM request command body
10138 @param ftmCommandRspCb: Response CB
10139 @param pUserData: User data will be included with CB
10140
10141 @return Result of the function call
10142*/
10143WDI_Status WDI_FTMCommandReq
10144(
10145 WDI_FTMCommandReqType *ftmCommandReq,
10146 WDI_FTMCommandRspCb ftmCommandRspCb,
10147 void *pUserData
10148);
Jeff Johnson295189b2012-06-20 16:38:30 -070010149
10150/**
10151 @brief WDI_HostResumeReq will be called
10152
10153 In state BUSY this request will be queued. Request won't
10154 be allowed in any other state.
10155
10156
10157 @param pwdiResumeReqParams: as specified by
10158 the Device Interface
10159
10160 wdiResumeReqRspCb: callback for passing back the response of
10161 the Resume Req received from the device
10162
10163 pUserData: user data will be passed back with the
10164 callback
10165
10166 @see WDI_PostAssocReq
10167 @return Result of the function call
10168*/
10169WDI_Status
10170WDI_HostResumeReq
10171(
10172 WDI_ResumeParamsType* pwdiResumeReqParams,
10173 WDI_HostResumeEventRspCb wdiResumeReqRspCb,
10174 void* pUserData
10175);
10176
10177/**
10178 @brief WDI_GetAvailableResCount - Function to get the available resource
10179 for data and managemnt frames.
10180
10181 @param pContext: pointer to the WDI context
10182 @param wdiResPool: type of resource pool requesting
10183 @see
10184 @return Result of the function call
10185*/
10186
10187wpt_uint32 WDI_GetAvailableResCount
10188(
10189 void *pContext,
10190 WDI_ResPoolType wdiResPool
10191);
10192
10193/**
10194 @brief WDI_SetAddSTASelfReq will be called when the
10195 UMAC wanted to add self STA while opening any new session
10196 In state BUSY this request will be queued. Request won't
10197 be allowed in any other state.
10198
10199
10200 @param pwdiAddSTASelfParams: the add self sta parameters as
10201 specified by the Device Interface
10202
10203 pUserData: user data will be passed back with the
10204 callback
10205
10206 @see
10207 @return Result of the function call
10208*/
10209WDI_Status
10210WDI_AddSTASelfReq
10211(
10212 WDI_AddSTASelfReqParamsType* pwdiAddSTASelfReqParams,
10213 WDI_AddSTASelfParamsRspCb wdiAddSTASelfReqParamsRspCb,
10214 void* pUserData
10215);
10216
10217
10218/**
10219 @brief WDI_DelSTASelfReq will be called .
10220
10221 @param WDI_DelSTASelfReqParamsType
10222
10223 WDI_DelSTASelfRspCb: callback for passing back the
10224 response of the del sta self operation received from the
10225 device
10226
10227 pUserData: user data will be passed back with the
10228 callback
10229
10230 @see WDI_PostAssocReq
10231 @return Result of the function call
10232*/
10233WDI_Status
10234WDI_DelSTASelfReq
10235(
10236 WDI_DelSTASelfReqParamsType* pwdiDelStaSelfParams,
10237 WDI_DelSTASelfRspCb wdiDelStaSelfRspCb,
10238 void* pUserData
10239);
10240
10241/**
10242 @brief WDI_HostSuspendInd
10243
10244 Suspend Indication from the upper layer will be sent
10245 down to HAL
10246
10247 @param WDI_SuspendParamsType
10248
10249 @see
10250
10251 @return Status of the request
10252*/
10253WDI_Status
10254WDI_HostSuspendInd
10255(
10256 WDI_SuspendParamsType* pwdiSuspendIndParams
10257);
10258
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -080010259/**
10260 @brief WDI_TrafficStatsInd
10261
10262 Traffic Stats from the upper layer will be sent
10263 down to HAL
10264
10265 @param WDI_TrafficStatsIndType
10266
10267 @see
10268
10269 @return Status of the request
10270*/
10271WDI_Status
10272WDI_TrafficStatsInd
10273(
10274 WDI_TrafficStatsIndType *pWdiTrafficStatsIndParams
10275);
10276
Chet Lanctot186b5732013-03-18 10:26:30 -070010277#ifdef WLAN_FEATURE_11W
10278/**
10279 @brief WDI_ExcludeUnencryptedInd
10280 Register with HAL to receive/drop unencrypted frames
10281
10282 @param WDI_ExcludeUnencryptIndType
10283
10284 @see
10285
10286 @return Status of the request
10287*/
10288WDI_Status
10289WDI_ExcludeUnencryptedInd
10290(
10291 WDI_ExcludeUnencryptIndType *pWdiExcUnencParams
10292);
10293#endif
10294
Yue Mab9c86f42013-08-14 15:59:08 -070010295/**
10296 @brief WDI_AddPeriodicTxPtrnInd
10297
10298 @param WDI_AddPeriodicTxPtrnParamsType
10299
10300 @see
10301
10302 @return Status of the request
10303*/
10304WDI_Status
10305WDI_AddPeriodicTxPtrnInd
10306(
10307 WDI_AddPeriodicTxPtrnParamsType *addPeriodicTxPtrnParams
10308);
10309
10310/**
10311 @brief WDI_DelPeriodicTxPtrnInd
10312
10313 @param WDI_DelPeriodicTxPtrnParamsType
10314
10315 @see
10316
10317 @return Status of the request
10318*/
10319WDI_Status
10320WDI_DelPeriodicTxPtrnInd
10321(
10322 WDI_DelPeriodicTxPtrnParamsType *delPeriodicTxPtrnParams
10323);
10324
Jeff Johnson295189b2012-06-20 16:38:30 -070010325#ifdef FEATURE_WLAN_SCAN_PNO
10326/**
10327 @brief WDI_SetPreferredNetworkList
10328
10329 @param pwdiPNOScanReqParams: the Set PNO as specified
10330 by the Device Interface
10331
10332 wdiPNOScanCb: callback for passing back the response
10333 of the Set PNO operation received from the
10334 device
10335
10336 pUserData: user data will be passed back with the
10337 callback
10338
10339 @see WDI_PostAssocReq
10340 @return Result of the function call
10341*/
10342WDI_Status
10343WDI_SetPreferredNetworkReq
10344(
10345 WDI_PNOScanReqParamsType* pwdiPNOScanReqParams,
10346 WDI_PNOScanCb wdiPNOScanCb,
10347 void* pUserData
10348);
10349
10350/**
10351 @brief WDI_SetRssiFilterReq
10352
10353 @param pwdiRssiFilterReqParams: the Set RSSI Filter as
10354 specified by the Device Interface
10355
10356 wdiRssiFilterCb: callback for passing back the response
10357 of the Set RSSI Filter operation received from the
10358 device
10359
10360 pUserData: user data will be passed back with the
10361 callback
10362
10363 @see WDI_PostAssocReq
10364 @return Result of the function call
10365*/
10366WDI_Status
10367WDI_SetRssiFilterReq
10368(
10369 WDI_SetRssiFilterReqParamsType* pwdiRssiFilterReqParams,
10370 WDI_RssiFilterCb wdiRssiFilterCb,
10371 void* pUserData
10372);
10373
10374/**
10375 @brief WDI_UpdateScanParams
10376
10377 @param pwdiUpdateScanParamsInfoType: the Update Scan Params as specified
10378 by the Device Interface
10379
10380 wdiUpdateScanParamsCb: callback for passing back the response
10381 of the Set PNO operation received from the
10382 device
10383
10384 pUserData: user data will be passed back with the
10385 callback
10386
10387 @see WDI_PostAssocReq
10388 @return Result of the function call
10389*/
10390WDI_Status
10391WDI_UpdateScanParamsReq
10392(
10393 WDI_UpdateScanParamsInfoType* pwdiUpdateScanParamsInfoType,
10394 WDI_UpdateScanParamsCb wdiUpdateScanParamsCb,
10395 void* pUserData
10396);
10397#endif // FEATURE_WLAN_SCAN_PNO
10398
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010399#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
10400/**
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010401 @brief WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010402
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010403 @param pwdiRoamScanOffloadReqParams: Start Roam Candidate Lookup Req as specified
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010404 by the Device Interface
10405
10406 wdiRoamOffloadScanCb: callback for passing back the response
10407 of the Start Roam Candidate Lookup operation received from the
10408 device
10409
10410 pUserData: user data will be passed back with the
10411 callback
10412
10413 @return Result of the function call
10414*/
10415WDI_Status
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010416WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010417(
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010418 WDI_RoamScanOffloadReqParamsType *pwdiRoamScanOffloadReqParams,
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010419 WDI_RoamOffloadScanCb wdiRoamOffloadScancb,
10420 void* pUserData
10421);
10422#endif
10423
Jeff Johnson295189b2012-06-20 16:38:30 -070010424/**
10425 @brief WDI_SetTxPerTrackingReq will be called when the upper MAC
10426 wants to set the Tx Per Tracking configurations.
10427 Upon the call of this API the WLAN DAL will pack
10428 and send a HAL Set Tx Per Tracking request message to the
10429 lower RIVA sub-system if DAL is in state STARTED.
10430
10431 In state BUSY this request will be queued. Request won't
10432 be allowed in any other state.
10433
10434 @param wdiSetTxPerTrackingConf: the Set Tx PER Tracking configurations as
10435 specified by the Device Interface
10436
10437 wdiSetTxPerTrackingCb: callback for passing back the
10438 response of the set Tx PER Tracking configurations operation received
10439 from the device
10440
10441 pUserData: user data will be passed back with the
10442 callback
10443
10444 @return Result of the function call
10445*/
10446WDI_Status
10447WDI_SetTxPerTrackingReq
10448(
10449 WDI_SetTxPerTrackingReqParamsType* pwdiSetTxPerTrackingReqParams,
10450 WDI_SetTxPerTrackingRspCb pwdiSetTxPerTrackingRspCb,
10451 void* pUserData
10452);
10453
10454/**
10455 @brief WDI_SetTmLevelReq
10456 If HW Thermal condition changed, driver should react based on new
10457 HW thermal condition.
10458
10459 @param pwdiSetTmLevelReq: New thermal condition information
10460
10461 pwdiSetTmLevelRspCb: callback
10462
10463 usrData: user data will be passed back with the
10464 callback
10465
10466 @return Result of the function call
10467*/
10468WDI_Status
10469WDI_SetTmLevelReq
10470(
10471 WDI_SetTmLevelReqType *pwdiSetTmLevelReq,
10472 WDI_SetTmLevelCb pwdiSetTmLevelRspCb,
10473 void *usrData
10474);
10475
10476#ifdef WLAN_FEATURE_PACKET_FILTERING
10477/**
10478 @brief WDI_8023MulticastListReq
10479
10480 @param pwdiRcvFltPktSetMcListReqInfo: the Set 8023 Multicast
10481 List as specified by the Device Interface
10482
10483 wdi8023MulticastListCallback: callback for passing back
10484 the response of the Set 8023 Multicast List operation
10485 received from the device
10486
10487 pUserData: user data will be passed back with the
10488 callback
10489
10490 @see WDI_PostAssocReq
10491 @return Result of the function call
10492*/
10493WDI_Status
10494WDI_8023MulticastListReq
10495(
10496 WDI_RcvFltPktSetMcListReqParamsType* pwdiRcvFltPktSetMcListReqInfo,
10497 WDI_8023MulticastListCb wdi8023MulticastListCallback,
10498 void* pUserData
10499);
10500
10501/**
10502 @brief WDI_ReceiveFilterSetFilterReq
10503
10504 @param pwdiSetRcvPktFilterReqInfo: the Set Receive Filter as
10505 specified by the Device Interface
10506
10507 wdiReceiveFilterSetFilterReqCallback: callback for
10508 passing back the response of the Set Receive Filter
10509 operation received from the device
10510
10511 pUserData: user data will be passed back with the
10512 callback
10513
10514 @see WDI_PostAssocReq
10515 @return Result of the function call
10516*/
10517WDI_Status
10518WDI_ReceiveFilterSetFilterReq
10519(
10520 WDI_SetRcvPktFilterReqParamsType* pwdiSetRcvPktFilterReqInfo,
10521 WDI_ReceiveFilterSetFilterCb wdiReceiveFilterSetFilterReqCallback,
10522 void* pUserData
10523);
10524
10525/**
10526 @brief WDI_PCFilterMatchCountReq
10527
10528 @param pwdiRcvFltPktMatchCntReqInfo: get D0 PC Filter Match
10529 Count
10530
10531 wdiPCFilterMatchCountCallback: callback for passing back
10532 the response of the D0 PC Filter Match Count operation
10533 received from the device
10534
10535 pUserData: user data will be passed back with the
10536 callback
10537
10538 @see WDI_PostAssocReq
10539 @return Result of the function call
10540*/
10541WDI_Status
10542WDI_FilterMatchCountReq
10543(
10544 WDI_RcvFltPktMatchCntReqParamsType* pwdiRcvFltPktMatchCntReqInfo,
10545 WDI_FilterMatchCountCb wdiFilterMatchCountCallback,
10546 void* pUserData
10547);
10548
10549/**
10550 @brief WDI_ReceiveFilterClearFilterReq
10551
10552 @param pwdiRcvFltPktClearReqInfo: the Clear Filter as
10553 specified by the Device Interface
10554
10555 wdiReceiveFilterClearFilterCallback: callback for
10556 passing back the response of the Clear Filter
10557 operation received from the device
10558
10559 pUserData: user data will be passed back with the
10560 callback
10561
10562 @see WDI_PostAssocReq
10563 @return Result of the function call
10564*/
10565WDI_Status
10566WDI_ReceiveFilterClearFilterReq
10567(
10568 WDI_RcvFltPktClearReqParamsType* pwdiRcvFltPktClearReqInfo,
10569 WDI_ReceiveFilterClearFilterCb wdiReceiveFilterClearFilterCallback,
10570 void* pUserData
10571);
10572#endif // WLAN_FEATURE_PACKET_FILTERING
10573
10574/**
10575 @brief WDI_HALDumpCmdReq
10576 Post HAL DUMP Command Event
10577
10578 @param halDumpCmdReqParams: Hal Dump Command Body
10579 @param halDumpCmdRspCb: callback for passing back the
10580 response
10581 @param pUserData: Client Data
10582
10583 @see
10584 @return Result of the function call
10585*/
10586WDI_Status WDI_HALDumpCmdReq(
10587 WDI_HALDumpCmdReqParamsType *halDumpCmdReqParams,
10588 WDI_HALDumpCmdRspCb halDumpCmdRspCb,
10589 void *pUserData
10590);
10591
10592
10593/**
10594 @brief WDI_SetPowerParamsReq
10595
10596 @param pwdiPowerParamsReqParams: the Set Power Params as
10597 specified by the Device Interface
10598
10599 wdiPowerParamsCb: callback for passing back the response
10600 of the Set Power Params operation received from the
10601 device
10602
10603 pUserData: user data will be passed back with the
10604 callback
10605
10606 @return Result of the function call
10607*/
10608WDI_Status
10609WDI_SetPowerParamsReq
10610(
10611 WDI_SetPowerParamsReqParamsType* pwdiPowerParamsReqParams,
10612 WDI_SetPowerParamsCb wdiPowerParamsCb,
10613 void* pUserData
10614);
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +053010615/**
10616 @brief WDI_dhcpStartInd
10617 Forward the DHCP Start event
10618
10619 @param
10620
10621 wdiDHCPInd: device mode and MAC address is passed
10622
10623 @see
10624 @return Result of the function call
10625*/
10626
10627WDI_Status
10628WDI_dhcpStartInd
10629(
10630 WDI_DHCPInd *wdiDHCPInd
10631);
10632/**
10633 @brief WDI_dhcpStopReq
10634 Forward the DHCP Stop event
10635
10636 @param
10637
10638 wdiDHCPInd: device mode and MAC address is passed
10639
10640 @see
10641 @return Result of the function call
10642*/
10643
10644WDI_Status
10645WDI_dhcpStopInd
10646(
10647 WDI_DHCPInd *wdiDHCPInd
10648);
Jeff Johnson295189b2012-06-20 16:38:30 -070010649
Chittajit Mitraf5413a42013-10-18 14:20:08 -070010650/**
10651 @brief WDI_RateUpdateInd will be called when the upper MAC
10652 requests the device to update rates.
10653
10654 In state BUSY this request will be queued. Request won't
10655 be allowed in any other state.
10656
10657
10658 @param wdiRateUpdateIndParams
10659
10660
10661 @see WDI_Start
10662 @return Result of the function call
10663*/
10664WDI_Status
10665WDI_RateUpdateInd
10666(
10667 WDI_RateUpdateIndParams *wdiRateUpdateIndParams
10668);
10669
Jeff Johnson295189b2012-06-20 16:38:30 -070010670#ifdef WLAN_FEATURE_GTK_OFFLOAD
10671/**
10672 @brief WDI_GTKOffloadReq will be called when the upper MAC
10673 wants to set GTK Rekey Counter while in power save. Upon
10674 the call of this API the WLAN DAL will pack and send a
10675 HAL GTK offload request message to the lower RIVA
10676 sub-system if DAL is in state STARTED.
10677
10678 In state BUSY this request will be queued. Request won't
10679 be allowed in any other state.
10680
10681 WDI_PostAssocReq must have been called.
10682
10683 @param pwdiGtkOffloadParams: the GTK offload as specified
10684 by the Device Interface
10685
10686 wdiGtkOffloadCb: callback for passing back the response
10687 of the GTK offload operation received from the device
10688
10689 pUserData: user data will be passed back with the
10690 callback
10691
10692 @see WDI_PostAssocReq
10693 @return Result of the function call
10694*/
10695WDI_Status
10696WDI_GTKOffloadReq
10697(
10698 WDI_GtkOffloadReqMsg* pwdiGtkOffloadReqMsg,
10699 WDI_GtkOffloadCb wdiGtkOffloadCb,
10700 void* pUserData
10701);
10702
10703/**
10704 @brief WDI_GTKOffloadGetInfoReq will be called when the upper
10705 MAC wants to get GTK Rekey Counter while in power save.
10706 Upon the call of this API the WLAN DAL will pack and
10707 send a HAL GTK offload request message to the lower RIVA
10708 sub-system if DAL is in state STARTED.
10709
10710 In state BUSY this request will be queued. Request won't
10711 be allowed in any other state.
10712
10713 WDI_PostAssocReq must have been called.
10714
10715 @param pwdiGtkOffloadGetInfoReqMsg: the GTK Offload
10716 Information Message as specified by the
10717 Device Interface
10718
10719 wdiGtkOffloadGetInfoCb: callback for passing back the
10720 response of the GTK offload operation received from the
10721 device
10722
10723 pUserData: user data will be passed back with the
10724 callback
10725
10726 @see WDI_PostAssocReq
10727 @return Result of the function call
10728*/
10729WDI_Status
10730WDI_GTKOffloadGetInfoReq
10731(
10732 WDI_GtkOffloadGetInfoReqMsg* pwdiGtkOffloadGetInfoReqMsg,
10733 WDI_GtkOffloadGetInfoCb wdiGtkOffloadGetInfoCb,
10734 void* pUserData
10735);
10736#endif // WLAN_FEATURE_GTK_OFFLOAD
10737
10738/**
10739 @brief WDI_featureCapsExchangeReq
10740 Post feature capability bitmap exchange event.
10741 Host will send its own capability to FW in this req and
10742 expect FW to send its capability back as a bitmap in Response
10743
10744 @param
10745
10746 wdiFeatCapsExcRspCb: callback called on getting the response.
10747 It is kept to mantain similarity between WDI reqs and if needed, can
10748 be used in future. Currently, It is set to NULL
10749
10750 pUserData: user data will be passed back with the
10751 callback
10752
10753 @see
10754 @return Result of the function call
10755*/
10756WDI_Status
10757WDI_featureCapsExchangeReq
10758(
10759 WDI_featureCapsExchangeCb wdiFeatureCapsExchangeCb,
10760 void* pUserData
10761);
10762
10763/**
Yathish9f22e662012-12-10 14:21:35 -080010764 @brief Disable Active mode offload in Host
10765
10766 @param void
10767 @see
10768 @return void
10769*/
10770void
10771WDI_disableCapablityFeature(wpt_uint8 feature_index);
10772
10773
10774/**
Jeff Johnson295189b2012-06-20 16:38:30 -070010775 @brief WDI_getHostWlanFeatCaps
10776 WDI API that returns whether the feature passed to it as enum value in
10777 "placeHolderInCapBitmap" is supported by Host or not. It uses WDI global
10778 variable storing host capability bitmap to find this. This can be used by
10779 other moduels to decide certain things like call different APIs based on
10780 whether a particular feature is supported.
10781
10782 @param
10783
10784 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap in wlan_hal_msg.h.
10785
10786 @see
10787 @return
10788 0 - if the feature is NOT supported in host
10789 any non-zero value - if the feature is SUPPORTED in host.
10790*/
10791wpt_uint8 WDI_getHostWlanFeatCaps(wpt_uint8 feat_enum_value);
10792
10793/**
10794 @brief WDI_getFwWlanFeatCaps
10795 WDI API that returns whether the feature passed to it as enum value in
10796 "placeHolderInCapBitmap" is supported by FW or not. It uses WDI global
10797 variable storing host capability bitmap to find this. This can be used by
10798 other moduels to decide certain things like call different APIs based on
10799 whether a particular feature is supported.
10800
10801 @param
10802
Jeff Johnsone7245742012-09-05 17:12:55 -070010803 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap
10804 in wlan_hal_msg.h.
Jeff Johnson295189b2012-06-20 16:38:30 -070010805
10806 @see
10807 @return
10808 0 - if the feature is NOT supported in FW
10809 any non-zero value - if the feature is SUPPORTED in FW.
10810*/
10811wpt_uint8 WDI_getFwWlanFeatCaps(wpt_uint8 feat_enum_value);
10812
10813/**
10814 @brief WDI_GetWcnssCompiledApiVersion - Function to get wcnss compiled
10815 api version
10816
10817 @param WDI_WlanVersionType: Wlan version structure
10818 @see
10819 @return none
10820*/
10821
10822void WDI_GetWcnssCompiledApiVersion
10823(
10824 WDI_WlanVersionType *pWcnssApiVersion
10825);
10826
Mohit Khanna4a70d262012-09-11 16:30:12 -070010827#ifdef WLAN_FEATURE_11AC
10828WDI_Status
10829WDI_UpdateVHTOpModeReq
10830(
10831 WDI_UpdateVHTOpMode *pData,
10832 WDI_UpdateVHTOpModeCb wdiUpdateVHTOpModeCb,
10833 void* pUserData
10834);
Jeff Johnson295189b2012-06-20 16:38:30 -070010835
Mohit Khanna4a70d262012-09-11 16:30:12 -070010836#endif
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070010837
10838/**
10839 @brief WDI_TransportChannelDebug -
10840 Display DXE Channel debugging information
10841 User may request to display DXE channel snapshot
10842 Or if host driver detects any abnormal stcuk may display
10843
Jeff Johnsonb88db982012-12-10 13:34:59 -080010844 @param displaySnapshot : Display DXE snapshot option
Mihir Shete40a55652014-03-02 14:14:47 +053010845 @param debugFlags : Enable stall detect features
10846 defined by WPAL_DeviceDebugFlags
10847 These features may effect
10848 data performance.
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070010849 @see
10850 @return none
10851*/
10852void WDI_TransportChannelDebug
10853(
10854 wpt_boolean displaySnapshot,
Mihir Shete40a55652014-03-02 14:14:47 +053010855 wpt_uint8 debugFlags
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070010856);
10857
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -070010858/**
10859 @brief WDI_SsrTimerCB
10860 Callback function for SSR timer, if this is called then the graceful
10861 shutdown for Riva did not happen.
10862
10863 @param pUserData : user data to timer
10864
10865 @see
10866 @return none
10867*/
10868void
10869WDI_SsrTimerCB
10870(
10871 void *pUserData
10872);
10873
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -070010874/**
10875 @brief WDI_SetEnableSSR -
10876 This API is called to enable/disable SSR on WDI timeout.
10877
10878 @param enableSSR : enable/disable SSR
10879
10880 @see
10881 @return none
10882*/
10883void WDI_SetEnableSSR(wpt_boolean enableSSR);
10884
Leo Chang9056f462013-08-01 19:21:11 -070010885#ifdef FEATURE_WLAN_LPHB
10886/**
10887 @brief WDI_LPHBConfReq
10888 This API is called to config FW LPHB rule
10889
10890 @param lphbconfParam : LPHB rule should config to FW
10891 usrData : Client context
10892 lphbCfgCb : Configuration status callback
10893 @see
10894 @return SUCCESS or FAIL
10895*/
10896WDI_Status WDI_LPHBConfReq
10897(
10898 void *lphbconfParam,
10899 void *usrData,
10900 WDI_LphbCfgCb lphbCfgCb
10901);
10902#endif /* FEATURE_WLAN_LPHB */
Rajeev79dbe4c2013-10-05 11:03:42 +053010903
Dino Mycle41bdc942014-06-10 11:30:24 +053010904#ifdef WLAN_FEATURE_EXTSCAN
10905/**
10906 @brief WDI_EXTScanStartReq
10907 This API is called to send EXTScan start request to FW
10908
10909 @param pwdiEXTScanStartReqParams : pointer to the request params.
10910 wdiEXTScanStartRspCb : callback on getting the response.
10911 usrData : Client context
10912 @see
10913 @return SUCCESS or FAIL
10914*/
10915WDI_Status WDI_EXTScanStartReq
10916(
10917 WDI_EXTScanStartReqParams* pwdiEXTScanStartReqParams,
10918 WDI_EXTScanStartRspCb wdiEXTScanStartRspCb,
10919 void* pUserData
10920);
10921
10922/**
10923 @brief WDI_EXTScanStopReq
10924 This API is called to stop the EXTScan operations in the FW
10925
10926 @param pwdiEXTScanStopReqParams : pointer to the request params.
10927 wdiEXTScanStopRspCb : callback on getting the response.
10928 usrData : Client context
10929 @see
10930 @return SUCCESS or FAIL
10931*/
10932WDI_Status WDI_EXTScanStopReq
10933(
10934 WDI_EXTScanStopReqParams* pwdiEXTScanStopReqParams,
10935 WDI_EXTScanStopRspCb wdiEXTScanStopRspCb,
10936 void* pUserData
10937);
10938
10939/**
10940 @brief WDI_EXTScanGetCachedResultsReq
10941 This API is called to send get link layer stats request in FW
10942
10943 @param pwdiEXTScanGetCachedResultsReqParams : pointer to the request params.
10944 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
10945 usrData : Client context
10946 @see
10947 @return SUCCESS or FAIL
10948*/
10949WDI_Status WDI_EXTScanGetCachedResultsReq
10950(
10951 WDI_EXTScanGetCachedResultsReqParams* pwdiEXTScanGetCachedResultsReqParams,
10952 WDI_EXTScanGetCachedResultsRspCb wdiEXTScanGetCachedResultsRspCb,
10953 void* pUserData
10954);
10955
10956/**
10957 @brief WDI_EXTScanGetCapabilitiesReq
10958 This API is called to send get EXTScan capabilities from FW
10959
10960 @param pwdiEXTScanGetCachedResultsReqParams : pointer to the request params.
10961 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
10962 usrData : Client context
10963 @see
10964 @return SUCCESS or FAIL
10965*/
10966WDI_Status WDI_EXTScanGetCapabilitiesReq
10967(
10968 WDI_EXTScanGetCapabilitiesReqParams* pwdiEXTScanGetCapabilitiesReqParams,
10969 WDI_EXTScanGetCapabilitiesRspCb wdiEXTScanGetCapabilitiesRspCb,
10970 void* pUserData
10971);
10972
10973/**
10974 @brief WDI_EXTScanSetBSSIDHotlistReq
10975 This API is called to send Set BSSID Hotlist Request FW
10976
10977 @param pwdiEXTScanSetBssidHotlistReqParams : pointer to the request params.
10978 wdiEXTScanSetBSSIDHotlistRspCb : callback on getting the response.
10979 usrData : Client context
10980 @see
10981 @return SUCCESS or FAIL
10982*/
10983WDI_Status WDI_EXTScanSetBSSIDHotlistReq
10984(
10985 WDI_EXTScanSetBSSIDHotlistReqParams* pwdiEXTScanSetBSSIDHotlistReqParams,
10986 WDI_EXTScanSetBSSIDHotlistRspCb wdiEXTScanSetBSSIDHotlistRspCb,
10987 void* pUserData
10988);
10989
10990/**
10991 @brief WDI_EXTScanResetBSSIDHotlistReq
10992 This API is called to send Reset BSSID Hotlist Request FW
10993
10994 @param pwdiEXTScanResetBssidHotlistReqParams : pointer to the request params.
10995 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
10996 usrData : Client context
10997 @see
10998 @return SUCCESS or FAIL
10999*/
11000WDI_Status WDI_EXTScanResetBSSIDHotlistReq
11001(
11002 WDI_EXTScanResetBSSIDHotlistReqParams* pwdiEXTScanResetBSSIDHotlistReqParams,
11003 WDI_EXTScanResetBSSIDHotlistRspCb wdiEXTScanResetBSSIDHotlistRspCb,
11004 void* pUserData
11005);
11006
11007/**
11008 @brief WDI_EXTScanSetSignfRSSIChangeReq
11009 This API is called to send Set Significant RSSI Request FW
11010
11011 @param pwdiEXTScanSetSignfRSSIChangeReqParams : pointer to the request params.
11012 wdiEXTScanSetSignfRSSIChangeRspCb : callback on getting the response.
11013 usrData : Client context
11014 @see
11015 @return SUCCESS or FAIL
11016*/
11017WDI_Status WDI_EXTScanSetSignfRSSIChangeReq
11018(
11019 WDI_EXTScanSetSignfRSSIChangeReqParams*
11020 pwdiEXTScanSetSignfRSSIChangeReqParams,
11021 WDI_EXTScanSetSignfRSSIChangeRspCb wdiEXTScanSetSignfRSSIChangeRspCb,
11022 void* pUserData
11023);
11024
11025/**
11026 @brief WDI_EXTScanResetSignfRSSIChangeReq
11027 This API is called to send Reset BSSID Hotlist Request FW
11028
11029 @param pwdiEXTScanResetSignfRSSIChangeReqParams : pointer to the request params.
11030 wdiEXTScanResetSignfRSSIChangeRs : callback on getting the response.
11031 usrData : Client context
11032 @see
11033 @return SUCCESS or FAIL
11034*/
11035WDI_Status WDI_EXTScanResetSignfRSSIChangeReq
11036(
11037 WDI_EXTScanResetSignfRSSIChangeReqParams*
11038 pwdiEXTScanResetSignfRSSIChangeReqParams,
11039 WDI_EXTScanResetSignfRSSIChangeRspCb wdiEXTScanResetSignfRSSIChangeRspCb,
11040 void* pUserData
11041);
11042#endif /* WLAN_FEATURE_EXTSCAN */
11043
Sunil Duttbd736ed2014-05-26 21:19:41 +053011044#ifdef WLAN_FEATURE_LINK_LAYER_STATS
11045/**
11046 @brief WDI_LLStatsSetReq
11047 This API is called to send set link layer stats request to FW
11048
11049 @param pwdiLLStatsSetReqParams : pointer to set link layer stats params
11050 wdiLLStatsSetRspCb : set link layer stats response callback
11051 usrData : Client context
11052 @see
11053 @return SUCCESS or FAIL
11054*/
11055WDI_Status WDI_LLStatsSetReq
11056(
11057 WDI_LLStatsSetReqType* pwdiLLStatsSetReqParams,
11058 WDI_LLStatsSetRspCb wdiLLStatsSetRspCb,
11059 void* pUserData
11060);
11061
11062/**
11063 @brief WDI_LLStatsGetReq
11064 This API is called to send get link layer stats request in FW
11065
11066 @param pwdiLLStatsGetParams : pointer to get link layer stats params
11067 wdiLLStatsGetRspCb : get link layer stats response callback
11068 usrData : Client context
11069 @see
11070 @return SUCCESS or FAIL
11071*/
11072WDI_Status WDI_LLStatsGetReq
11073(
11074 WDI_LLStatsGetReqType* pwdiLLStatsGetReqParams,
11075 WDI_LLStatsGetRspCb wdiLLStatsGetRspCb,
11076 void* pUserData
11077);
11078
11079/**
11080 @brief WDI_LLStatsClearReq
11081 This API is called to set clear link layer stats request in FW
11082
11083 @param pwdiLLStatsClearReqParams : pointer to clear link layer stats params
11084 iwdiLLStatsClearRspCb : clear link layer stats response callback
11085 usrData : Client context
11086 @see
11087 @return SUCCESS or FAIL
11088*/
11089WDI_Status WDI_LLStatsClearReq
11090(
11091 WDI_LLStatsClearReqType* pwdiLLStatsClearReqParams,
11092 WDI_LLStatsClearRspCb wdiLLStatsClearRspCb,
11093 void* pUserData
11094);
11095#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
11096
Abhishek Singh85b74712014-10-08 11:38:19 +053011097WDI_Status WDI_FWStatsGetReq
11098(
11099 void* pwdiFWStatsGetReqParams,
11100 WDI_FWStatsGetRspCb wdiFWStatsGetRspCb,
11101 wpt_uint32 pUserData
11102);
11103
Rajeev79dbe4c2013-10-05 11:03:42 +053011104#ifdef FEATURE_WLAN_BATCH_SCAN
11105/**
11106 @brief WDI_SetBatchScanReq
11107 This API is called to set batch scan request in FW
11108
11109 @param pBatchScanReqParam : pointer to set batch scan re param
11110 usrData : Client context
11111 setBatchScanRspCb : set batch scan resp callback
11112 @see
11113 @return SUCCESS or FAIL
11114*/
11115WDI_Status WDI_SetBatchScanReq
11116(
11117 void *pBatchScanReqParam,
11118 void *usrData,
11119 WDI_SetBatchScanCb setBatchScanRspCb
11120);
11121
11122/**
11123 @brief WDI_StopBatchScanInd
11124
11125 @param none
11126
11127 @see
11128
11129 @return Status of the request
11130*/
11131WDI_Status
11132WDI_StopBatchScanInd(WDI_StopBatchScanIndType *pWdiReq);
11133
11134/**
11135 @brief WDI_TriggerBatchScanResultInd
11136 This API is called to pull batch scan result from FW
11137
11138 @param pBatchScanReqParam : pointer to trigger batch scan ind param
11139 usrData : Client context
11140 setBatchScanRspCb : get batch scan resp callback
11141 @see
11142 @return SUCCESS or FAIL
11143*/
11144WDI_Status
11145WDI_TriggerBatchScanResultInd(WDI_TriggerBatchScanResultIndType *pWdiReq);
11146
11147
11148#endif /*FEATURE_WLAN_BATCH_SCAN*/
11149
Sandeep Puligilla8b8b74b2014-02-10 16:39:05 +053011150/**
11151 @brief wdi_HT40OBSSScanInd
11152 This API is called to start OBSS scan
11153
11154 @param pWdiReq : pointer to get ind param
11155 @see
11156 @return SUCCESS or FAIL
11157*/
11158
11159WDI_Status WDI_HT40OBSSScanInd(WDI_HT40ObssScanParamsType *pWdiReq);
11160
11161/**
11162 @brief wdi_HT40OBSSStopScanInd
11163 This API is called to stop OBSS scan
11164
11165 @param bssIdx : bssIdx to stop
11166 @see
11167 @return SUCCESS or FAIL
11168*/
11169
11170WDI_Status WDI_HT40OBSSStopScanInd(wpt_uint8 bssIdx);
11171
c_hpothu92367912014-05-01 15:18:17 +053011172
11173WDI_Status WDI_GetBcnMissRate( void *pUserData,
11174 WDI_GetBcnMissRateCb wdiGetBcnMissRateCb,
11175 wpt_uint8 *bssid
11176 );
Siddharth Bhal171788a2014-09-29 21:02:40 +053011177WDI_Status
11178WDI_SetSpoofMacAddrReq
11179(
11180WDI_SpoofMacAddrInfoType *pWdiReq,
11181 WDI_SetSpoofMacAddrRspCb setSpoofMacAddrRspCb,
11182 void* pUserData
11183);
c_hpothu92367912014-05-01 15:18:17 +053011184
Jeff Johnson295189b2012-06-20 16:38:30 -070011185#ifdef __cplusplus
11186 }
11187#endif
11188
Jeff Johnson295189b2012-06-20 16:38:30 -070011189#endif /* #ifndef WLAN_QCT_WDI_H */