blob: 0690f784258e735ca79a4325c87d199c1461af63 [file] [log] [blame]
Jeff Johnson295189b2012-06-20 16:38:30 -07001/*
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05302 * Copyright (c) 2012-2015 The Linux Foundation. All rights reserved.
Kiet Lam1ed83fc2014-02-19 01:15:45 -08003 *
4 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
5 *
6 *
7 * Permission to use, copy, modify, and/or distribute this software for
8 * any purpose with or without fee is hereby granted, provided that the
9 * above copyright notice and this permission notice appear in all
10 * copies.
11 *
12 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
13 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
14 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
15 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
16 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
17 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
18 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19 * PERFORMANCE OF THIS SOFTWARE.
20 */
21
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
Jeff Johnson295189b2012-06-20 16:38:30 -070045===========================================================================*/
46
47
48/*===========================================================================
49
50 EDIT HISTORY FOR FILE
51
52
53 This section contains comments describing changes made to the module.
54 Notice that changes are listed in reverse chronological order.
55
56
57 $Header:$ $DateTime: $ $Author: $
58
59
60when who what, where, why
61-------- --- ----------------------------------------------------------
6210/05/11 hap Adding support for Keep Alive
6308/04/10 lti Created module.
64
65===========================================================================*/
66
67
68
69/*===========================================================================
70
71 INCLUDE FILES FOR MODULE
72
73===========================================================================*/
74
75/*----------------------------------------------------------------------------
76 * Include Files
77 * -------------------------------------------------------------------------*/
78#include "wlan_qct_pal_api.h"
79#include "wlan_qct_pal_type.h"
80#include "wlan_qct_pack_align.h"
81#include "wlan_qct_wdi_cfg.h"
82
83/*----------------------------------------------------------------------------
84 * Preprocessor Definitions and Constants
85 * -------------------------------------------------------------------------*/
86#ifdef __cplusplus
87 extern "C" {
88#endif
89
90/* MAC ADDRESS LENGTH - per spec*/
91#define WDI_MAC_ADDR_LEN 6
92
93/* Max number of 11b rates -> 1,2,5.5,11 */
94#define WDI_NUM_11B_RATES 4
95
96/* Max number of 11g rates -> 6,9,12,18,24,36,48,54*/
97#define WDI_NUM_11A_RATES 8
98
99/* Max number of legacy rates -> 72, 96, 108*/
100#define WDI_NUM_POLARIS_RATES 3
101
102/* Max supported MCS set*/
103#define WDI_MAC_MAX_SUPPORTED_MCS_SET 16
104
105/*Max number of Access Categories for QoS - per spec */
106#define WDI_MAX_NO_AC 4
107
108/*Max. size for reserving the Beacon Template */
109#define WDI_BEACON_TEMPLATE_SIZE 0x180
110
111#define WDI_WOWL_BCAST_PATTERN_MAX_SIZE 128
112
113#define WDI_WOWL_BCAST_MAX_NUM_PATTERNS 16
114
115#define WDI_MAX_SSID_SIZE 32
116
117/* The shared memory between WDI and HAL is 4K so maximum data can be transferred
118from WDI to HAL is 4K.This 4K should also include the Message header so sending 4K
119of NV fragment is nt possbile.The next multiple of 1Kb is 3K */
120
121#define FRAGMENT_SIZE 3072
122
123/* Macro to find the total number fragments of the NV Image*/
Madan Mohan Koyyalamudia53c4dc2012-11-13 10:35:42 -0800124#define TOTALFRAGMENTS(x) (((x % FRAGMENT_SIZE) == 0) ? (x / FRAGMENT_SIZE):((x / FRAGMENT_SIZE) + 1))
Jeff Johnson295189b2012-06-20 16:38:30 -0700125
126/* Beacon Filter Length*/
Abhishek Singh5fef4042014-11-25 18:33:00 +0530127#define WDI_BEACON_FILTER_LEN 90
Jeff Johnson295189b2012-06-20 16:38:30 -0700128
129/* Coex Indication data size - should match WLAN_COEX_IND_DATA_SIZE */
130#define WDI_COEX_IND_DATA_SIZE (4)
131
132#define WDI_CIPHER_SEQ_CTR_SIZE 6
133
134#define WDI_NUM_BSSID 2
135
136/*Version string max length (including NUL) */
137#define WDI_VERSION_LENGTH 64
138
139
140/*WDI Response timeout - how long will WDI wait for a response from the device
141 - it should be large enough to allow any other failure mechanism to kick
142 in before we get to a timeout (ms units)*/
143#define WDI_RESPONSE_TIMEOUT 10000
144
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -0700145/* SSR timeout - If Riva initiated SSR doesn't happen during this time, then the
146 * Apps initiated SSR will be performed */
147#define WDI_SSR_TIMEOUT 5000
148
Jeff Johnson295189b2012-06-20 16:38:30 -0700149#define WDI_SET_POWER_STATE_TIMEOUT 10000 /* in msec a very high upper limit */
150
Yue Mab9c86f42013-08-14 15:59:08 -0700151/* Periodic Tx pattern offload feature */
152#define PERIODIC_TX_PTRN_MAX_SIZE 1536
153#define MAXNUM_PERIODIC_TX_PTRNS 6
Srinivas Dasari4dae48f2014-11-26 21:14:16 +0530154#define WDI_DISA_MAX_PAYLOAD_SIZE 1600
Siddharth Bhald1be97f2015-05-27 22:39:59 +0530155#define MAX_NUM_OF_BUFFER 3
Yue Mab9c86f42013-08-14 15:59:08 -0700156
Jeff Johnson295189b2012-06-20 16:38:30 -0700157/*============================================================================
158 * GENERIC STRUCTURES
159
160============================================================================*/
161
162/*---------------------------------------------------------------------------
163 WDI Version Information
164---------------------------------------------------------------------------*/
165typedef struct
166{
167 wpt_uint8 revision;
168 wpt_uint8 version;
169 wpt_uint8 minor;
170 wpt_uint8 major;
171} WDI_WlanVersionType;
172
173/*---------------------------------------------------------------------------
174 WDI Device Capability
175---------------------------------------------------------------------------*/
176typedef struct
177{
178 /*If this flag is true it means that the device can support 802.3/ETH2 to
179 802.11 translation*/
180 wpt_boolean bFrameXtlSupported;
181
182 /*Maximum number of BSSes supported by the Device */
183 wpt_uint8 ucMaxBSSSupported;
184
185 /*Maximum number of stations supported by the Device */
186 wpt_uint8 ucMaxSTASupported;
187}WDI_DeviceCapabilityType;
188
189/*---------------------------------------------------------------------------
190 WDI Channel Offset
191---------------------------------------------------------------------------*/
192typedef enum
193{
194 WDI_SECONDARY_CHANNEL_OFFSET_NONE = 0,
195 WDI_SECONDARY_CHANNEL_OFFSET_UP = 1,
Jeff Johnsone7245742012-09-05 17:12:55 -0700196 WDI_SECONDARY_CHANNEL_OFFSET_DOWN = 3,
197#ifdef WLAN_FEATURE_11AC
198 WDI_CHANNEL_20MHZ_LOW_40MHZ_CENTERED = 4, //20/40MHZ offset LOW 40/80MHZ offset CENTERED
199 WDI_CHANNEL_20MHZ_CENTERED_40MHZ_CENTERED = 5, //20/40MHZ offset CENTERED 40/80MHZ offset CENTERED
200 WDI_CHANNEL_20MHZ_HIGH_40MHZ_CENTERED = 6, //20/40MHZ offset HIGH 40/80MHZ offset CENTERED
201 WDI_CHANNEL_20MHZ_LOW_40MHZ_LOW = 7,//20/40MHZ offset LOW 40/80MHZ offset LOW
202 WDI_CHANNEL_20MHZ_HIGH_40MHZ_LOW = 8, //20/40MHZ offset HIGH 40/80MHZ offset LOW
203 WDI_CHANNEL_20MHZ_LOW_40MHZ_HIGH = 9, //20/40MHZ offset LOW 40/80MHZ offset HIGH
204 WDI_CHANNEL_20MHZ_HIGH_40MHZ_HIGH = 10,//20/40MHZ offset-HIGH 40/80MHZ offset HIGH
205#endif
206 WDI_SECONDARY_CHANNEL_OFFSET_MAX
Jeff Johnson295189b2012-06-20 16:38:30 -0700207}WDI_HTSecondaryChannelOffset;
208
209/*---------------------------------------------------------------------------
210 WDI_MacFrameCtl
211 Frame control field format (2 bytes)
212---------------------------------------------------------------------------*/
213typedef struct
214{
215 wpt_uint8 protVer :2;
216 wpt_uint8 type :2;
217 wpt_uint8 subType :4;
218
219 wpt_uint8 toDS :1;
220 wpt_uint8 fromDS :1;
221 wpt_uint8 moreFrag :1;
222 wpt_uint8 retry :1;
223 wpt_uint8 powerMgmt :1;
224 wpt_uint8 moreData :1;
225 wpt_uint8 wep :1;
226 wpt_uint8 order :1;
227
228} WDI_MacFrameCtl;
229
230/*---------------------------------------------------------------------------
231 WDI Sequence control field
232---------------------------------------------------------------------------*/
233typedef struct
234{
235 wpt_uint8 fragNum : 4;
236 wpt_uint8 seqNumLo : 4;
237 wpt_uint8 seqNumHi : 8;
238} WDI_MacSeqCtl;
239
240/*---------------------------------------------------------------------------
241 Management header format
242---------------------------------------------------------------------------*/
243typedef struct
244{
245 WDI_MacFrameCtl fc;
246 wpt_uint8 durationLo;
247 wpt_uint8 durationHi;
248 wpt_uint8 da[WDI_MAC_ADDR_LEN];
249 wpt_uint8 sa[WDI_MAC_ADDR_LEN];
250 wpt_macAddr bssId;
251 WDI_MacSeqCtl seqControl;
252} WDI_MacMgmtHdr;
253
254/*---------------------------------------------------------------------------
255 NV Blob management sturcture
256 ---------------------------------------------------------------------------*/
257
258typedef struct
259{
260 /* NV image fragments count */
261 wpt_uint16 usTotalFragment;
262
263 /* NV fragment size */
264 wpt_uint16 usFragmentSize;
265
266 /* current fragment to be sent */
267 wpt_uint16 usCurrentFragment;
268
269} WDI_NvBlobInfoParams;
270
271
272/*---------------------------------------------------------------------------
273 Data path enums memory pool resource
274 ---------------------------------------------------------------------------*/
275
276typedef enum
277{
278 /* managment resource pool ID */
279 WDI_MGMT_POOL_ID = 0,
280 /* Data resource pool ID */
281 WDI_DATA_POOL_ID = 1
282}WDI_ResPoolType;
283
284/*============================================================================
285 * GENERIC STRUCTURES - END
286 ============================================================================*/
287
288/*----------------------------------------------------------------------------
289 * Type Declarations
290 * -------------------------------------------------------------------------*/
291/*---------------------------------------------------------------------------
292 WDI Status
293---------------------------------------------------------------------------*/
294typedef enum
295{
296 WDI_STATUS_SUCCESS, /* Operation has completed successfully*/
297 WDI_STATUS_SUCCESS_SYNC, /* Operation has completed successfully in a
298 synchronous way - no rsp will be generated*/
299 WDI_STATUS_PENDING, /* Operation result is pending and will be
300 provided asynchronously through the Req Status
301 Callback */
302 WDI_STATUS_E_FAILURE, /* Operation has ended in a generic failure*/
303 WDI_STATUS_RES_FAILURE, /* Operation has ended in a resource failure*/
304 WDI_STATUS_MEM_FAILURE, /* Operation has ended in a memory allocation
305 failure*/
306 WDI_STATUS_E_NOT_ALLOWED, /* Operation is not allowed in the current state
307 of the driver*/
308 WDI_STATUS_E_NOT_IMPLEMENT, /* Operation is not yet implemented*/
309
310 WDI_STATUS_DEV_INTERNAL_FAILURE, /*An internal error has occurred in the device*/
311 WDI_STATUS_MAX
312
313}WDI_Status;
314
315
316/*---------------------------------------------------------------------------
317 WDI_ReqStatusCb
318
319 DESCRIPTION
320
321 This callback is invoked by DAL to deliver to UMAC the result of posting
322 a previous request for which the return status was PENDING.
323
324 PARAMETERS
325
326 IN
327 wdiStatus: response status received from the Control Transport
328 pUserData: user data
329
330
331
332 RETURN VALUE
333 The result code associated with performing the operation
334---------------------------------------------------------------------------*/
335typedef void (*WDI_ReqStatusCb)(WDI_Status wdiStatus,
336 void* pUserData);
337
338/*---------------------------------------------------------------------------
339 WDI_LowLevelIndEnumType
340 Types of indication that can be posted to UMAC by DAL
341---------------------------------------------------------------------------*/
342typedef enum
343{
344 /*When RSSI monitoring is enabled of the Lower MAC and a threshold has been
345 passed. */
346 WDI_RSSI_NOTIFICATION_IND,
347
348 /*Link loss in the low MAC */
349 WDI_MISSED_BEACON_IND,
350
351 /*when hardware has signaled an unknown addr2 frames. The indication will
352 contain info from frames to be passed to the UMAC, this may use this info to
353 deauth the STA*/
354 WDI_UNKNOWN_ADDR2_FRAME_RX_IND,
355
356 /*MIC Failure detected by HW*/
357 WDI_MIC_FAILURE_IND,
358
359 /*Fatal Error Ind*/
360 WDI_FATAL_ERROR_IND,
361
362 /*Delete Station Ind*/
363 WDI_DEL_STA_IND,
364
365 /*Indication from Coex*/
366 WDI_COEX_IND,
367
368 /* Indication for Tx Complete */
369 WDI_TX_COMPLETE_IND,
370
371 /*.P2P_NOA_Attr_Indication */
372 WDI_P2P_NOA_ATTR_IND,
373
374 /* Preferred Network Found Indication */
375 WDI_PREF_NETWORK_FOUND_IND,
376
377 WDI_WAKE_REASON_IND,
378
379 /* Tx PER Tracking Indication */
380 WDI_TX_PER_HIT_IND,
Viral Modid86bde22012-12-10 13:09:21 -0800381
Viral Modid86bde22012-12-10 13:09:21 -0800382 /* P2P_NOA_Start_Indication */
383 WDI_P2P_NOA_START_IND,
Viral Modid86bde22012-12-10 13:09:21 -0800384
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530385 /* TDLS_Indication */
386 WDI_TDLS_IND,
387
Leo Changd9df8aa2013-09-26 13:32:26 -0700388 /* LPHB Indication from FW to umac */
389 WDI_LPHB_IND,
Leo Chang9056f462013-08-01 19:21:11 -0700390
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700391 /* IBSS Peer Inactivity Indication */
392 WDI_IBSS_PEER_INACTIVITY_IND,
393
Yue Mab9c86f42013-08-14 15:59:08 -0700394 /* Periodic Tx Pattern FW Indication */
395 WDI_PERIODIC_TX_PTRN_FW_IND,
396
Rajeev79dbe4c2013-10-05 11:03:42 +0530397#ifdef FEATURE_WLAN_BATCH_SCAN
398 /*Batch scan result indication from FW*/
399 WDI_BATCH_SCAN_RESULT_IND,
400#endif
401
Leo Chang0b0e45a2013-12-15 15:18:55 -0800402#ifdef FEATURE_WLAN_CH_AVOID
403 WDI_CH_AVOID_IND,
404#endif /* FEATURE_WLAN_CH_AVOID */
Sunil Duttbd736ed2014-05-26 21:19:41 +0530405#ifdef WLAN_FEATURE_LINK_LAYER_STATS
406 WDI_LL_STATS_RESULTS_IND,
407#endif
Dino Mycle41bdc942014-06-10 11:30:24 +0530408#ifdef WLAN_FEATURE_EXTSCAN
409 WDI_EXTSCAN_PROGRESS_IND,
410 WDI_EXTSCAN_SCAN_AVAILABLE_IND,
411 WDI_EXTSCAN_SCAN_RESULT_IND,
412 WDI_EXTSCAN_GET_CAPABILITIES_IND,
413 WDI_EXTSCAN_BSSID_HOTLIST_RESULT_IND,
414 WDI_EXTSCAN_SIGN_RSSI_RESULT_IND,
415#endif
Abhishek Singh66c16762014-08-14 19:13:19 +0530416 /*Delete BA Ind*/
417 WDI_DEL_BA_IND,
Srinivas Dasari32a79262015-02-19 13:04:49 +0530418 WDI_NAN_EVENT_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
Srinivas Dasari32a79262015-02-19 13:04:49 +0530620typedef struct
621{
622 wpt_uint16 event_data_len;
623 wpt_uint8* event_data;
624} WDI_NanEventType;
625
626
Jeff Johnson295189b2012-06-20 16:38:30 -0700627/*---------------------------------------------------------------------------
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800628 WDI_MissedBeaconIndType
629-----------------------------------------------------------------------------*/
630typedef struct
631{
632 wpt_uint8 bssIdx; /*bssidx on which beacon is missed*/
633} WDI_MissedBeaconIndType;
634
Leo Chang9056f462013-08-01 19:21:11 -0700635#ifdef FEATURE_WLAN_LPHB
636/*---------------------------------------------------------------------------
637 WDI_LPHBTimeoutIndData
638-----------------------------------------------------------------------------*/
639typedef struct
640{
641 wpt_uint8 bssIdx;
642 wpt_uint8 sessionIdx;
643 wpt_uint8 protocolType; /*TCP or UDP*/
644 wpt_uint8 eventReason;
645} WDI_LPHBTimeoutIndData;
646#endif /* FEATURE_WLAN_LPHB */
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800647
Yue Mab9c86f42013-08-14 15:59:08 -0700648/*-----------------------------------------------------------------------------
649WDI_PeriodicTxPtrnFwIndType
650-----------------------------------------------------------------------------*/
651typedef struct
652{
653 wpt_uint8 bssIdx;
654 wpt_uint32 selfStaIdx;
655 wpt_uint32 status;
656 wpt_uint32 patternIdBitmap;
657} WDI_PeriodicTxPtrnFwIndType;
658
Rajeev79dbe4c2013-10-05 11:03:42 +0530659#ifdef FEATURE_WLAN_BATCH_SCAN
660/*---------------------------------------------------------------------------
661 WDI_SetBatchScanReqType
662---------------------------------------------------------------------------*/
663typedef struct
664{
665 wpt_uint32 scanFrequency; /* how frequent to do scan default 30Sec*/
666 wpt_uint32 numberOfScansToBatch; /* number of scans to batch */
667 wpt_uint32 bestNetwork; /* best networks in terms of rssi */
668 wpt_uint8 rfBand; /* band to scan :
669 0 ->both Band, 1->2.4Ghz Only
670 and 2-> 5GHz Only */
671 wpt_uint32 rtt; /* set if required to do RTT it is not
672 supported in current version */
673}WDI_SetBatchScanReqType;
674
675/*---------------------------------------------------------------------------
676 WDI_SetBatchScanRspType
677---------------------------------------------------------------------------*/
678typedef struct
679{
680 /*max number of scans which FW can cache*/
681 wpt_uint32 nScansToBatch;
682}WDI_SetBatchScanRspType;
683
684/*---------------------------------------------------------------------------
685 WDI_TriggerBatchScanResultIndType
686---------------------------------------------------------------------------*/
687typedef struct
688{
689 wpt_uint32 param;
690}WDI_TriggerBatchScanResultIndType;
691
692/*---------------------------------------------------------------------------
693 WDI_StopBatchScanIndType
694---------------------------------------------------------------------------*/
695typedef struct
696{
697 /*max number of scans which FW can cache*/
698 wpt_uint32 param;
699}WDI_StopBatchScanIndType;
700
701
702/*---------------------------------------------------------------------------
703 * WDI_BatchScanResultIndType
704 *--------------------------------------------------------------------------*/
705typedef struct
706{
707 wpt_uint32 bssid[6]; /* BSSID */
708 wpt_uint32 ssid[32]; /* SSID */
709 wpt_uint32 ch; /* Channel */
710 wpt_uint32 rssi; /* RSSI or Level */
711 /* Timestamp when Network was found. Used to calculate age based on
712 timestamp in GET_RSP msg header */
713 wpt_uint32 timestamp;
714} tWDIBatchScanNetworkInfo, *tpWDIBatchScanNetworkInfo;
715
716typedef struct
717{
718 wpt_uint32 scanId; /*Scan List ID*/
719 /*No of AP in a Scan Result. Should be same as bestNetwork in SET_REQ msg*/
720 wpt_uint32 numNetworksInScanList;
721 /*Variable data ptr: Number of AP in Scan List*/
722 wpt_uint32 scanList[1];
723} tWDIBatchScanList, *tpWDIBatchScanList;
724
725typedef struct
726{
727 wpt_uint32 timestamp;
728 wpt_uint32 numScanLists;
729 wpt_boolean isLastResult;
730 /* Variable Data ptr: Number of Scan Lists*/
731 wpt_uint32 scanResults[1];
732} tWDIBatchScanResultParam, *tpWDIBatchScanResultParam;
733
734#endif
735
736
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800737/*---------------------------------------------------------------------------
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700738 WDI_IbssPeerInactivityIndType
739-----------------------------------------------------------------------------*/
740typedef struct
741{
742 wpt_uint8 bssIdx;
743 wpt_uint8 staIdx;
744 wpt_macAddr staMacAddr;
745}WDI_IbssPeerInactivityIndType;
746
747/*---------------------------------------------------------------------------
Chittajit Mitraf5413a42013-10-18 14:20:08 -0700748 WDI_TxRateFlags
749-----------------------------------------------------------------------------*/
750typedef enum
751{
752 WDI_TX_RATE_LEGACY = 0x1, /* Legacy rates */
753 WDI_TX_RATE_HT20 = 0x2, /* HT20 rates */
754 WDI_TX_RATE_HT40 = 0x4, /* HT40 rates */
755 WDI_TX_RATE_SGI = 0x8, /* Rate with Short guard interval */
756 WDI_TX_RATE_LGI = 0x10, /* Rate with Long guard interval */
757 WDI_TX_RATE_VHT20 = 0x20, /* VHT 20 rates */
758 WDI_TX_RATE_VHT40 = 0x40, /* VHT 20 rates */
759 WDI_TX_RATE_VHT80 = 0x80, /* VHT 20 rates */
760 WDI_TX_RATE_VIRT = 0x100, /* Virtual Rate */
761} WDI_TxRateFlags;
762
763/*---------------------------------------------------------------------------
764 WDI_RateUpdateIndParams
765-----------------------------------------------------------------------------*/
766typedef struct
767{
768 /* 0 implies RA, positive value implies fixed rate, -1 implies ignore this
769 * param ucastDataRate can be used to control RA behavior of unicast data to
770 */
771 wpt_int32 ucastDataRate;
772
773 /* TX flag to differentiate between HT20, HT40 etc */
774 WDI_TxRateFlags ucastDataRateTxFlag;
775
776 /* BSSID - Optional. 00-00-00-00-00-00 implies apply to all BCAST STAs */
777 wpt_macAddr bssid;
778
779 /*
780 * 0 implies MCAST RA, positive value implies fixed rate,
781 * -1 implies ignore this param
782 */
783 wpt_int32 reliableMcastDataRate; //unit Mbpsx10
784
785 /* TX flag to differentiate between HT20, HT40 etc */
786 WDI_TxRateFlags reliableMcastDataRateTxFlag;
787
788 /*
789 * MCAST(or BCAST) fixed data rate in 2.4 GHz, unit Mbpsx10,
790 * 0 implies ignore
791 */
792 wpt_uint32 mcastDataRate24GHz;
793
794 /* TX flag to differentiate between HT20, HT40 etc */
795 WDI_TxRateFlags mcastDataRate24GHzTxFlag;
796
797 /*
798 * MCAST(or BCAST) fixed data rate in 5 GHz,
799 * unit Mbpsx10, 0 implies ignore
800 */
801 wpt_uint32 mcastDataRate5GHz;
802
803 /* TX flag to differentiate between HT20, HT40 etc */
804 WDI_TxRateFlags mcastDataRate5GHzTxFlag;
805
806 /*
807 * Request status callback offered by UMAC - it is called if the current
808 * req has returned PENDING as status; it delivers the status of sending
809 * the message over the BUS
810 */
811 WDI_ReqStatusCb wdiReqStatusCB;
812
813 /*
814 * The user data passed in by UMAC, it will be sent back when the above
815 * function pointer will be called
816 */
817 void *pUserData;
818
819} WDI_RateUpdateIndParams;
820
Abhishek Singh85b74712014-10-08 11:38:19 +0530821typedef struct
822{
823 wpt_uint32 ubsp_enter_cnt;
824 wpt_uint32 ubsp_jump_ddr_cnt;
825}ubspFwStats;
826
827typedef struct
828{
829 wpt_uint32 type;
830 /*data*/
831 union{
832 ubspFwStats ubspStats;
833 }wdiFwStatsData;
834} WDI_FWStatsResults;
835
Leo Chang0b0e45a2013-12-15 15:18:55 -0800836#ifdef FEATURE_WLAN_CH_AVOID
Abhishek Singhe34eb552015-06-18 10:12:15 +0530837#define WDI_CH_AVOID_MAX_RANGE 15
Leo Chang0b0e45a2013-12-15 15:18:55 -0800838
839typedef struct
840{
841 wpt_uint32 startFreq;
842 wpt_uint32 endFreq;
843} WDI_ChAvoidFreqType;
844
845typedef struct
846{
847 wpt_uint32 avoidRangeCount;
848 WDI_ChAvoidFreqType avoidFreqRange[WDI_CH_AVOID_MAX_RANGE];
849} WDI_ChAvoidIndType;
850#endif /* FEATURE_WLAN_CH_AVOID */
851
Dino Mycled3d50022014-07-07 12:58:25 +0530852#ifdef WLAN_FEATURE_LINK_LAYER_STATS
853typedef struct
854{
855 void *pLinkLayerStatsResults;
856 wpt_macAddr macAddr;
857} WDI_LinkLayerStatsResults;
858
859#endif
Abhishek Singh66c16762014-08-14 19:13:19 +0530860
861typedef struct
862{
863 /*STA Index*/
864 wpt_uint16 staIdx;
865
866 /*Peer MAC*/
867 wpt_macAddr peerMacAddr;
868
869 // TID for which a BA session timeout is being triggered
870 wpt_uint8 baTID;
871 // DELBA direction
872 // 1 - Originator
873 // 0 - Recipient
874 wpt_uint8 baDirection;
875 wpt_uint32 reasonCode;
876 /*MAC ADDR of STA*/
877 wpt_macAddr bssId; // TO SUPPORT BT-AMP
878} WDI_DeleteBAIndType;
879
Ganesh Kondabattinib18b3292015-03-16 16:59:26 +0530880typedef struct
881{
882 wpt_uint32 tx_complete_status;
883 wpt_uint32 tx_bd_token;
884} WDI_TxBDStatus;
Chittajit Mitraf5413a42013-10-18 14:20:08 -0700885/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -0700886 WDI_LowLevelIndType
887 Inidcation type and information about the indication being carried
888 over
889---------------------------------------------------------------------------*/
890typedef struct
891{
892 /*Inidcation type*/
893 WDI_LowLevelIndEnumType wdiIndicationType;
894
895 /*Indication data*/
896 union
897 {
898 /*RSSI Threshold Info for WDI_LOW_RSSI_IND*/
899 WDI_LowRSSIThIndType wdiLowRSSIInfo;
900
901 /*Addr2 Frame Info for WDI_UNKNOWN_ADDR2_FRAME_RX_IND*/
902 WDI_UnkAddr2FrmRxIndType wdiUnkAddr2FrmInfo;
903
904 /*MIC Failure info for WDI_MIC_FAILURE_IND*/
905 WDI_MicFailureIndType wdiMICFailureInfo;
906
907 /*Error code for WDI_FATAL_ERROR_IND*/
908 wpt_uint16 usErrorCode;
909
910 /*Delete STA Indication*/
911 WDI_DeleteSTAIndType wdiDeleteSTAIndType;
912
913 /*Coex Indication*/
914 WDI_CoexIndType wdiCoexInfo;
915
916 /* Tx Complete Indication */
917 wpt_uint32 tx_complete_status;
918
Jeff Johnson295189b2012-06-20 16:38:30 -0700919 /* P2P NOA ATTR Indication */
920 WDI_P2pNoaAttrIndType wdiP2pNoaAttrInfo;
Viral Modid86bde22012-12-10 13:09:21 -0800921 WDI_P2pNoaStartIndType wdiP2pNoaStartInfo;
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530922 /* TDLS Indications */
923 WDI_TdlsIndType wdiTdlsIndInfo;
Jeff Johnson295189b2012-06-20 16:38:30 -0700924
925
926#ifdef FEATURE_WLAN_SCAN_PNO
927 WDI_PrefNetworkFoundInd wdiPrefNetworkFoundInd;
928#endif // FEATURE_WLAN_SCAN_PNO
929
930#ifdef WLAN_WAKEUP_EVENTS
931 WDI_WakeReasonIndType wdiWakeReasonInd;
932#endif // WLAN_WAKEUP_EVENTS
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800933 WDI_MissedBeaconIndType wdiMissedBeaconInd;
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700934
Leo Chang9056f462013-08-01 19:21:11 -0700935#ifdef FEATURE_WLAN_LPHB
936 WDI_LPHBTimeoutIndData wdiLPHBTimeoutInd;
937#endif /* FEATURE_WLAN_LPHB */
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700938
939 /* IBSS Peer Inactivity Indication */
940 WDI_IbssPeerInactivityIndType wdiIbssPeerInactivityInd;
941
Yue Mab9c86f42013-08-14 15:59:08 -0700942 /* Periodic TX Pattern FW Indication */
943 WDI_PeriodicTxPtrnFwIndType wdiPeriodicTxPtrnFwInd;
Rajeev79dbe4c2013-10-05 11:03:42 +0530944
945#ifdef FEATURE_WLAN_BATCH_SCAN
946 /*batch scan result indication from FW*/
947 void *pBatchScanResult;
948#endif
949
Leo Chang0b0e45a2013-12-15 15:18:55 -0800950#ifdef FEATURE_WLAN_CH_AVOID
951 WDI_ChAvoidIndType wdiChAvoidInd;
952#endif /* FEATURE_WLAN_CH_AVOID */
Sunil Duttbd736ed2014-05-26 21:19:41 +0530953
954#ifdef WLAN_FEATURE_LINK_LAYER_STATS
955 /*Link Layer Statistics from FW*/
Dino Mycled3d50022014-07-07 12:58:25 +0530956 WDI_LinkLayerStatsResults wdiLinkLayerStatsResults;
Sunil Duttbd736ed2014-05-26 21:19:41 +0530957#endif
Dino Mycle41bdc942014-06-10 11:30:24 +0530958#ifdef WLAN_FEATURE_EXTSCAN
959 /*EXTSCAN Results from FW*/
960 void *pEXTScanIndData;
961#endif
Abhishek Singh66c16762014-08-14 19:13:19 +0530962 WDI_DeleteBAIndType wdiDeleteBAInd;
Srinivas Dasari32a79262015-02-19 13:04:49 +0530963
964 WDI_NanEventType wdiNanEvent;
Ganesh Kondabattinib18b3292015-03-16 16:59:26 +0530965
966 WDI_TxBDStatus wdiTxBdInd;
Jeff Johnson295189b2012-06-20 16:38:30 -0700967 } wdiIndicationData;
968}WDI_LowLevelIndType;
969
970/*---------------------------------------------------------------------------
971 WDI_LowLevelIndCBType
972
973 DESCRIPTION
974
975 This callback is invoked by DAL to deliver to UMAC certain indications
976 that has either received from the lower device or has generated itself.
977
978 PARAMETERS
979
980 IN
981 pwdiInd: information about the indication sent over
982 pUserData: user data provided by UMAC during registration
983
984
985
986 RETURN VALUE
987 The result code associated with performing the operation
988---------------------------------------------------------------------------*/
989typedef void (*WDI_LowLevelIndCBType)(WDI_LowLevelIndType* pwdiInd,
990 void* pUserData);
991
992/*---------------------------------------------------------------------------
993 WDI_DriverType
994---------------------------------------------------------------------------*/
995typedef enum
996{
997 WDI_DRIVER_TYPE_PRODUCTION = 0,
998 WDI_DRIVER_TYPE_MFG = 1,
999 WDI_DRIVER_TYPE_DVT = 2
1000} WDI_DriverType;
1001
1002/*---------------------------------------------------------------------------
1003 WDI_StartReqParamsType
1004---------------------------------------------------------------------------*/
1005typedef struct
1006{
1007 /*This is a TLV formatted buffer containing all config values that can
1008 be set through the DAL Interface
1009
1010 The TLV is expected to be formatted like this:
1011
1012 0 7 15 31 ....
1013 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
1014
1015 Or from a C construct point of VU it would look like this:
1016
1017 typedef struct WPT_PACK_POST
1018 {
1019 #ifdef WPT_BIG_ENDIAN
1020 wpt_uint32 ucCfgId:8;
1021 wpt_uint32 ucCfgLen:8;
1022 wpt_uint32 usReserved:16;
1023 #else
1024 wpt_uint32 usReserved:16;
1025 wpt_uint32 ucCfgLen:8;
1026 wpt_uint32 ucCfgId:8;
1027 #endif
1028
1029 wpt_uint8 ucCfgBody[ucCfgLen];
1030 }WDI_ConfigType;
1031
1032 Multiple such tuplets are to be placed in the config buffer. One for
1033 each required configuration item:
1034
1035 | TLV 1 | TLV2 | ....
1036
1037 The buffer is expected to be a flat area of memory that can be manipulated
1038 with standard memory routines.
1039
1040 For more info please check paragraph 2.3.1 Config Structure from the
1041 HAL LLD.
1042
1043 For a list of accepted configuration list and IDs please look up
1044 wlan_qct_dal_cfg.h
1045
1046 */
1047 void* pConfigBuffer;
1048
1049 /*Length of the config buffer above*/
1050 wpt_uint16 usConfigBufferLen;
1051
1052 /*Production or FTM driver*/
1053 WDI_DriverType wdiDriverType;
1054
1055 /*Should device enable frame translation */
1056 wpt_uint8 bFrameTransEnabled;
1057
1058 /*Request status callback offered by UMAC - it is called if the current
1059 req has returned PENDING as status; it delivers the status of sending
1060 the message over the BUS */
1061 WDI_ReqStatusCb wdiReqStatusCB;
1062
1063 /*The user data passed in by UMAC, it will be sent back when the above
1064 function pointer will be called */
1065 void* pUserData;
1066
1067 /*Indication callback given by UMAC to be called by the WLAN DAL when it
1068 wishes to send something back independent of a request*/
1069 WDI_LowLevelIndCBType wdiLowLevelIndCB;
1070
1071 /*The user data passed in by UMAC, it will be sent back when the indication
1072 function pointer will be called */
1073 void* pIndUserData;
1074}WDI_StartReqParamsType;
1075
1076
1077/*---------------------------------------------------------------------------
1078 WDI_StartRspParamsType
1079---------------------------------------------------------------------------*/
1080typedef struct
1081{
1082 /*Status of the response*/
1083 WDI_Status wdiStatus;
1084
1085 /*Max number of STA supported by the device*/
1086 wpt_uint8 ucMaxStations;
1087
1088 /*Max number of BSS supported by the device*/
1089 wpt_uint8 ucMaxBssids;
1090
1091 /*Version of the WLAN HAL API with which we were compiled*/
1092 WDI_WlanVersionType wlanCompiledVersion;
1093
1094 /*Version of the WLAN HAL API that was reported*/
1095 WDI_WlanVersionType wlanReportedVersion;
1096
1097 /*WCNSS Software version string*/
1098 wpt_uint8 wcnssSoftwareVersion[WDI_VERSION_LENGTH];
1099
1100 /*WCNSS Hardware version string*/
1101 wpt_uint8 wcnssHardwareVersion[WDI_VERSION_LENGTH];
1102}WDI_StartRspParamsType;
1103
1104
1105/*---------------------------------------------------------------------------
1106 WDI_StopType
1107---------------------------------------------------------------------------*/
1108typedef enum
1109{
1110 /*Device is being stopped due to a reset*/
1111 WDI_STOP_TYPE_SYS_RESET,
1112
1113 /*Device is being stopped due to entering deep sleep*/
1114 WDI_STOP_TYPE_SYS_DEEP_SLEEP,
1115
1116 /*Device is being stopped because the RF needs to shut off
1117 (e.g.:Airplane mode)*/
1118 WDI_STOP_TYPE_RF_KILL
1119}WDI_StopType;
1120
1121/*---------------------------------------------------------------------------
1122 WDI_StopReqParamsType
1123---------------------------------------------------------------------------*/
1124typedef struct
1125{
1126
1127 /*The reason for which the device is being stopped*/
1128 WDI_StopType wdiStopReason;
1129
1130 /*Request status callback offered by UMAC - it is called if the current
1131 req has returned PENDING as status; it delivers the status of sending
1132 the message over the BUS */
1133 WDI_ReqStatusCb wdiReqStatusCB;
1134
1135 /*The user data passed in by UMAC, it will be sent back when the above
1136 function pointer will be called */
1137 void* pUserData;
1138}WDI_StopReqParamsType;
1139
1140
1141/*---------------------------------------------------------------------------
1142 WDI_ScanMode
1143---------------------------------------------------------------------------*/
1144typedef enum
1145{
1146 WDI_SCAN_MODE_NORMAL = 0,
1147 WDI_SCAN_MODE_LEARN,
1148 WDI_SCAN_MODE_SCAN,
1149 WDI_SCAN_MODE_PROMISC,
Madan Mohan Koyyalamudi9b876782012-10-11 16:22:51 -07001150 WDI_SCAN_MODE_SUSPEND_LINK,
1151 WDI_SCAN_MODE_ROAM_SCAN,
1152 WDI_SCAN_MODE_ROAM_SUSPEND_LINK,
1153
Jeff Johnson295189b2012-06-20 16:38:30 -07001154} WDI_ScanMode;
1155
1156/*---------------------------------------------------------------------------
1157 WDI_ScanEntry
1158---------------------------------------------------------------------------*/
1159typedef struct
1160{
1161 wpt_uint8 bssIdx[WDI_NUM_BSSID];
1162 wpt_uint8 activeBSScnt;
1163}WDI_ScanEntry;
1164
1165/*---------------------------------------------------------------------------
1166 WDI_InitScanReqInfoType
1167---------------------------------------------------------------------------*/
1168typedef struct
1169{
1170 /*LEARN - AP Role
1171 SCAN - STA Role*/
1172 WDI_ScanMode wdiScanMode;
1173
1174 /*BSSID of the BSS*/
1175 wpt_macAddr macBSSID;
1176
1177 /*Whether BSS needs to be notified*/
1178 wpt_boolean bNotifyBSS;
1179
1180 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
1181 CTS to Self). Must always be a valid frame type.*/
1182 wpt_uint8 ucFrameType;
1183
1184 /*UMAC has the option of passing the MAC frame to be used for notifying
1185 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
1186 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
1187 frameType.*/
1188 wpt_uint8 ucFrameLength;
1189
1190 /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/
1191 WDI_MacMgmtHdr wdiMACMgmtHdr;
1192
1193 /*Entry to hold number of active BSS to send NULL frames before
1194 * initiating SCAN*/
1195 WDI_ScanEntry wdiScanEntry;
1196
1197 /* Flag to enable/disable Single NOA*/
1198 wpt_boolean bUseNOA;
1199
1200 /* Indicates the scan duration (in ms) */
1201 wpt_uint16 scanDuration;
1202
1203}WDI_InitScanReqInfoType;
1204
1205/*---------------------------------------------------------------------------
1206 WDI_InitScanReqParamsType
1207---------------------------------------------------------------------------*/
1208typedef struct
1209{
1210 /*The info associated with the request that needs to be sent over to the
1211 device*/
1212 WDI_InitScanReqInfoType wdiReqInfo;
1213
1214 /*Request status callback offered by UMAC - it is called if the current
1215 req has returned PENDING as status; it delivers the status of sending
1216 the message over the BUS */
1217 WDI_ReqStatusCb wdiReqStatusCB;
1218
1219 /*The user data passed in by UMAC, it will be sent back when the above
1220 function pointer will be called */
1221 void* pUserData;
1222}WDI_InitScanReqParamsType;
1223
1224/*---------------------------------------------------------------------------
1225 WDI_StartScanReqParamsType
1226---------------------------------------------------------------------------*/
1227typedef struct
1228{
1229 /*Indicates the channel to scan*/
1230 wpt_uint8 ucChannel;
1231
1232 /*Request status callback offered by UMAC - it is called if the current
1233 req has returned PENDING as status; it delivers the status of sending
1234 the message over the BUS */
1235 WDI_ReqStatusCb wdiReqStatusCB;
1236
1237 /*The user data passed in by UMAC, it will be sent back when the above
1238 function pointer will be called */
1239 void* pUserData;
1240}WDI_StartScanReqParamsType;
1241
1242/*---------------------------------------------------------------------------
1243 WDI_StartScanRspParamsType
1244---------------------------------------------------------------------------*/
1245typedef struct
1246{
1247 /*Indicates the status of the operation */
1248 WDI_Status wdiStatus;
1249
1250#if defined WLAN_FEATURE_VOWIFI
1251 wpt_uint32 aStartTSF[2];
1252 wpt_int8 ucTxMgmtPower;
1253#endif
1254}WDI_StartScanRspParamsType;
1255
1256/*---------------------------------------------------------------------------
1257 WDI_EndScanReqParamsType
1258---------------------------------------------------------------------------*/
1259typedef struct
1260{
1261 /*Indicates the channel to stop scanning. Not used really. But retained
1262 for symmetry with "start Scan" message. It can also help in error
1263 check if needed.*/
1264 wpt_uint8 ucChannel;
1265
1266 /*Request status callback offered by UMAC - it is called if the current
1267 req has returned PENDING as status; it delivers the status of sending
1268 the message over the BUS */
1269 WDI_ReqStatusCb wdiReqStatusCB;
1270
1271 /*The user data passed in by UMAC, it will be sent back when the above
1272 function pointer will be called */
1273 void* pUserData;
1274}WDI_EndScanReqParamsType;
1275
1276/*---------------------------------------------------------------------------
1277 WDI_PhyChanBondState
1278---------------------------------------------------------------------------*/
1279typedef enum
1280{
1281 WDI_PHY_SINGLE_CHANNEL_CENTERED = 0,
1282 WDI_PHY_DOUBLE_CHANNEL_LOW_PRIMARY = 1,
1283 WDI_PHY_DOUBLE_CHANNEL_CENTERED = 2,
Jeff Johnsone7245742012-09-05 17:12:55 -07001284 WDI_PHY_DOUBLE_CHANNEL_HIGH_PRIMARY = 3,
1285#ifdef WLAN_FEATURE_11AC
1286 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_CENTERED = 4, //20/40MHZ offset LOW 40/80MHZ offset CENTERED
1287 WDI_QUADRUPLE_CHANNEL_20MHZ_CENTERED_40MHZ_CENTERED = 5, //20/40MHZ offset CENTERED 40/80MHZ offset CENTERED
1288 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_CENTERED = 6, //20/40MHZ offset HIGH 40/80MHZ offset CENTERED
1289 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_LOW = 7,//20/40MHZ offset LOW 40/80MHZ offset LOW
1290 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_LOW = 8, //20/40MHZ offset HIGH 40/80MHZ offset LOW
1291 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_HIGH = 9, //20/40MHZ offset LOW 40/80MHZ offset HIGH
1292 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_HIGH = 10,//20/40MHZ offset-HIGH 40/80MHZ offset HIGH
1293#endif
1294 WDI_MAX_CB_STATE
Jeff Johnson295189b2012-06-20 16:38:30 -07001295} WDI_PhyChanBondState;
1296
1297/*---------------------------------------------------------------------------
1298 WDI_FinishScanReqInfoType
1299---------------------------------------------------------------------------*/
1300typedef struct
1301{
1302 /*LEARN - AP Role
1303 SCAN - STA Role*/
1304 WDI_ScanMode wdiScanMode;
1305
1306 /*Operating channel to tune to.*/
1307 wpt_uint8 ucCurrentOperatingChannel;
1308
1309 /*Channel Bonding state If 20/40 MHz is operational, this will indicate the
1310 40 MHz extension channel in combination with the control channel*/
1311 WDI_PhyChanBondState wdiCBState;
1312
1313 /*BSSID of the BSS*/
1314 wpt_macAddr macBSSID;
1315
1316 /*Whether BSS needs to be notified*/
1317 wpt_boolean bNotifyBSS;
1318
1319 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
1320 CTS to Self). Must always be a valid frame type.*/
1321 wpt_uint8 ucFrameType;
1322
1323 /*UMAC has the option of passing the MAC frame to be used for notifying
1324 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
1325 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
1326 frameType.*/
1327 wpt_uint8 ucFrameLength;
1328
1329 /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/
1330 WDI_MacMgmtHdr wdiMACMgmtHdr;
1331
1332 /*Entry to hold number of active BSS to send NULL frames after SCAN*/
1333 WDI_ScanEntry wdiScanEntry;
1334
1335}WDI_FinishScanReqInfoType;
1336
1337/*---------------------------------------------------------------------------
1338 WDI_SwitchChReqInfoType
1339---------------------------------------------------------------------------*/
1340typedef struct
1341{
1342 /*Indicates the channel to switch to.*/
1343 wpt_uint8 ucChannel;
1344
1345 /*Local power constraint*/
1346 wpt_uint8 ucLocalPowerConstraint;
1347
1348 /*Secondary channel offset */
1349 WDI_HTSecondaryChannelOffset wdiSecondaryChannelOffset;
1350
1351#ifdef WLAN_FEATURE_VOWIFI
1352 wpt_int8 cMaxTxPower;
1353
1354 /*Self STA Mac address*/
1355 wpt_macAddr macSelfStaMacAddr;
1356#endif
1357 /* VO Wifi comment: BSSID is needed to identify which session issued this request. As the
1358 request has power constraints, this should be applied only to that session */
1359 /* V IMP: Keep bssId field at the end of this msg. It is used to mantain backward compatbility
1360 * by way of ignoring if using new host/old FW or old host/new FW since it is at the end of this struct
1361 */
1362 wpt_macAddr macBSSId;
1363
1364}WDI_SwitchChReqInfoType;
1365
1366/*---------------------------------------------------------------------------
1367 WDI_SwitchChReqParamsType
1368---------------------------------------------------------------------------*/
1369typedef struct
1370{
1371 /*Channel Info*/
1372 WDI_SwitchChReqInfoType wdiChInfo;
1373
1374 /*Request status callback offered by UMAC - it is called if the current
1375 req has returned PENDING as status; it delivers the status of sending
1376 the message over the BUS */
1377 WDI_ReqStatusCb wdiReqStatusCB;
1378
1379 /*The user data passed in by UMAC, it will be sent back when the above
1380 function pointer will be called */
1381 void* pUserData;
1382}WDI_SwitchChReqParamsType;
1383
1384/*---------------------------------------------------------------------------
1385 WDI_FinishScanReqParamsType
1386---------------------------------------------------------------------------*/
1387typedef struct
1388{
1389 /*Info for the Finish Scan request that will be sent down to the device*/
1390 WDI_FinishScanReqInfoType wdiReqInfo;
1391
1392 /*Request status callback offered by UMAC - it is called if the current
1393 req has returned PENDING as status; it delivers the status of sending
1394 the message over the BUS */
1395 WDI_ReqStatusCb wdiReqStatusCB;
1396
1397 /*The user data passed in by UMAC, it will be sent back when the above
1398 function pointer will be called */
1399 void* pUserData;
1400}WDI_FinishScanReqParamsType;
1401
1402/*---------------------------------------------------------------------------
1403 WDI_JoinReqInfoType
1404---------------------------------------------------------------------------*/
1405typedef struct
1406{
1407 /*Indicates the BSSID to which STA is going to associate*/
1408 wpt_macAddr macBSSID;
1409
1410 /*Indicates the MAC Address of the current Self STA*/
1411 wpt_macAddr macSTASelf;
1412
1413 /*Indicates the link State determining the entity Type e.g. BTAMP-STA, STA etc.*/
1414 wpt_uint32 linkState;
1415
1416 /*Indicates the channel to switch to.*/
1417 WDI_SwitchChReqInfoType wdiChannelInfo;
1418
1419}WDI_JoinReqInfoType;
1420
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08001421typedef enum
1422{
1423 eWDI_CHANNEL_SWITCH_SOURCE_SCAN,
1424 eWDI_CHANNEL_SWITCH_SOURCE_LISTEN,
1425 eWDI_CHANNEL_SWITCH_SOURCE_MCC,
1426 eWDI_CHANNEL_SWITCH_SOURCE_CSA,
1427 eWDI_CHANNEL_SWITCH_SOURCE_MAX = 0x7FFFFFFF
1428} WDI_ChanSwitchSource;
1429
1430/*---------------------------------------------------------------------------
1431 WDI_SwitchChReqInfoType_V1
1432---------------------------------------------------------------------------*/
1433typedef struct
1434{
1435 /*Indicates the channel to switch to.*/
1436 wpt_uint8 ucChannel;
1437
1438 /*Local power constraint*/
1439 wpt_uint8 ucLocalPowerConstraint;
1440
1441 /*Secondary channel offset */
1442 WDI_HTSecondaryChannelOffset wdiSecondaryChannelOffset;
1443
1444#ifdef WLAN_FEATURE_VOWIFI
1445 wpt_int8 cMaxTxPower;
1446 /*Self STA Mac address*/
1447 wpt_macAddr macSelfStaMacAddr;
1448#endif
1449 /* VO Wifi comment: BSSID is needed to identify which session
1450 issued this request. As the request has power constraints, this
1451 should be applied only to that session
1452 */
1453 /* V IMP: Keep bssId field at the end of this msg. It is used to
1454 maintain backward compatibility by way of ignoring if using new
1455 host/old FW or old host/new FW since it is at the end of this struct
1456 */
1457 wpt_macAddr macBSSId;
1458 /* Source of Channel Switch */
1459 WDI_ChanSwitchSource channelSwitchSrc;
1460}WDI_SwitchChReqInfoType_V1;
1461
1462/*--------------------------------------------------------------------
1463 WDI_SwitchChReqParamsType_V1
1464----------------------------------------------------------------------*/
1465typedef struct
1466{
1467 /*Channel Info*/
1468 WDI_SwitchChReqInfoType_V1 wdiChInfo;
1469
1470 /*Request status callback offered by UMAC - it is called if the current
1471 req has returned PENDING as status; it delivers the status of sending
1472 the message over the BUS */
1473 WDI_ReqStatusCb wdiReqStatusCB;
1474
1475 /*The user data passed in by UMAC, it will be sent back when the above
1476 function pointer will be called */
1477 void* pUserData;
1478}WDI_SwitchChReqParamsType_V1;
1479
Jeff Johnson295189b2012-06-20 16:38:30 -07001480/*---------------------------------------------------------------------------
1481 WDI_JoinReqParamsType
1482---------------------------------------------------------------------------*/
1483typedef struct
1484{
1485 /*Info for the Join request that will be sent down to the device*/
1486 WDI_JoinReqInfoType wdiReqInfo;
1487
1488 /*Request status callback offered by UMAC - it is called if the current
1489 req has returned PENDING as status; it delivers the status of sending
1490 the message over the BUS */
1491 WDI_ReqStatusCb wdiReqStatusCB;
1492
1493 /*The user data passed in by UMAC, it will be sent back when the above
1494 function pointer will be called */
1495 void* pUserData;
1496}WDI_JoinReqParamsType;
1497
1498/*---------------------------------------------------------------------------
1499 WDI_BssType
1500---------------------------------------------------------------------------*/
1501typedef enum
1502{
1503 WDI_INFRASTRUCTURE_MODE,
1504 WDI_INFRA_AP_MODE, //Added for softAP support
1505 WDI_IBSS_MODE,
1506 WDI_BTAMP_STA_MODE,
1507 WDI_BTAMP_AP_MODE,
1508 WDI_BSS_AUTO_MODE,
1509}WDI_BssType;
1510
1511/*---------------------------------------------------------------------------
1512 WDI_NwType
1513---------------------------------------------------------------------------*/
1514typedef enum
1515{
1516 WDI_11A_NW_TYPE,
1517 WDI_11B_NW_TYPE,
1518 WDI_11G_NW_TYPE,
1519 WDI_11N_NW_TYPE,
1520} WDI_NwType;
1521
1522/*---------------------------------------------------------------------------
1523 WDI_ConfigAction
1524---------------------------------------------------------------------------*/
1525typedef enum
1526{
1527 WDI_ADD_BSS,
1528 WDI_UPDATE_BSS
1529} WDI_ConfigAction;
1530
1531/*---------------------------------------------------------------------------
1532 WDI_HTOperatingMode
1533---------------------------------------------------------------------------*/
1534typedef enum
1535{
1536 WDI_HT_OP_MODE_PURE,
1537 WDI_HT_OP_MODE_OVERLAP_LEGACY,
1538 WDI_HT_OP_MODE_NO_LEGACY_20MHZ_HT,
1539 WDI_HT_OP_MODE_MIXED
1540
1541} WDI_HTOperatingMode;
1542
1543
1544/*---------------------------------------------------------------------------
1545 WDI_STAEntryType
1546---------------------------------------------------------------------------*/
1547typedef enum
1548{
1549 WDI_STA_ENTRY_SELF,
1550 WDI_STA_ENTRY_PEER,
1551 WDI_STA_ENTRY_BSSID,
Mohit Khanna698ba2a2012-12-04 15:08:18 -08001552 WDI_STA_ENTRY_BCAST,
1553#ifdef FEATURE_WLAN_TDLS
1554 WDI_STA_ENTRY_TDLS_PEER,
1555#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001556}WDI_STAEntryType;
1557
1558/*---------------------------------------------------------------------------
1559 WDI_ConfigActionType
1560---------------------------------------------------------------------------*/
1561typedef enum
1562{
1563 WDI_ADD_STA,
1564 WDI_UPDATE_STA
1565} WDI_ConfigActionType;
1566
1567/*----------------------------------------------------------------------------
1568 Each station added has a rate mode which specifies the sta attributes
1569 ----------------------------------------------------------------------------*/
1570typedef enum
1571{
1572 WDI_RESERVED_1 = 0,
1573 WDI_RESERVED_2,
1574 WDI_RESERVED_3,
1575 WDI_11b,
1576 WDI_11bg,
1577 WDI_11a,
1578 WDI_11n,
1579} WDI_RateModeType;
1580
1581/*---------------------------------------------------------------------------
1582 WDI_SupportedRatesType
1583---------------------------------------------------------------------------*/
1584typedef struct
1585{
1586 /*
1587 * For Self STA Entry: this represents Self Mode.
1588 * For Peer Stations, this represents the mode of the peer.
1589 * On Station:
1590 * --this mode is updated when PE adds the Self Entry.
1591 * -- OR when PE sends 'ADD_BSS' message and station context in BSS is used to indicate the mode of the AP.
1592 * ON AP:
1593 * -- this mode is updated when PE sends 'ADD_BSS' and Sta entry for that BSS is used
1594 * to indicate the self mode of the AP.
1595 * -- OR when a station is associated, PE sends 'ADD_STA' message with this mode updated.
1596 */
1597
1598 WDI_RateModeType opRateMode;
1599
1600 /* 11b, 11a and aniLegacyRates are IE rates which gives rate in unit of 500Kbps */
1601 wpt_uint16 llbRates[WDI_NUM_11B_RATES];
1602 wpt_uint16 llaRates[WDI_NUM_11A_RATES];
1603 wpt_uint16 aLegacyRates[WDI_NUM_POLARIS_RATES];
1604
1605 /*Taurus only supports 26 Titan Rates(no ESF/concat Rates will be supported)
1606 First 26 bits are reserved for those Titan rates and
1607 the last 4 bits(bit28-31) for Taurus, 2(bit26-27) bits are reserved.*/
1608 wpt_uint32 uEnhancedRateBitmap; //Titan and Taurus Rates
1609
1610 /*
1611 * 0-76 bits used, remaining reserved
1612 * bits 0-15 and 32 should be set.
1613 */
1614 wpt_uint8 aSupportedMCSSet[WDI_MAC_MAX_SUPPORTED_MCS_SET];
1615
1616 /*
1617 * RX Highest Supported Data Rate defines the highest data
1618 * rate that the STA is able to receive, in unites of 1Mbps.
1619 * This value is derived from "Supported MCS Set field" inside
1620 * the HT capability element.
1621 */
1622 wpt_uint16 aRxHighestDataRate;
1623
Jeff Johnsone7245742012-09-05 17:12:55 -07001624
1625#ifdef WLAN_FEATURE_11AC
1626 /*Indicates the Maximum MCS that can be received for each number
1627 of spacial streams */
1628 wpt_uint16 vhtRxMCSMap;
1629 /*Indicate the highest VHT data rate that the STA is able to receive*/
1630 wpt_uint16 vhtRxHighestDataRate;
1631 /*Indicates the Maximum MCS that can be transmitted for each number
1632 of spacial streams */
1633 wpt_uint16 vhtTxMCSMap;
1634 /*Indicate the highest VHT data rate that the STA is able to transmit*/
1635 wpt_uint16 vhtTxHighestDataRate;
1636#endif
1637
Jeff Johnson295189b2012-06-20 16:38:30 -07001638} WDI_SupportedRates;
1639
1640/*--------------------------------------------------------------------------
1641 WDI_HTMIMOPowerSaveState
1642 Spatial Multiplexing(SM) Power Save mode
1643 --------------------------------------------------------------------------*/
1644typedef enum
1645{
1646 WDI_HT_MIMO_PS_STATIC = 0, // Static SM Power Save mode
1647 WDI_HT_MIMO_PS_DYNAMIC = 1, // Dynamic SM Power Save mode
1648 WDI_HT_MIMO_PS_NA = 2, // reserved
1649 WDI_HT_MIMO_PS_NO_LIMIT = 3, // SM Power Save disabled
1650} WDI_HTMIMOPowerSaveState;
1651
1652/*---------------------------------------------------------------------------
1653 WDI_ConfigStaReqInfoType
1654---------------------------------------------------------------------------*/
1655typedef struct
1656{
1657 /*BSSID of STA*/
1658 wpt_macAddr macBSSID;
1659
1660 /*ASSOC ID, as assigned by UMAC*/
1661 wpt_uint16 usAssocId;
1662
1663 /*Used for configuration of different HW modules.*/
1664 WDI_STAEntryType wdiSTAType;
1665
Gopichand Nakkalae7cbc5d2013-03-27 21:09:23 -07001666 /*STA Index */
1667 wpt_uint8 staIdx;
1668
Jeff Johnson295189b2012-06-20 16:38:30 -07001669 /*Short Preamble Supported.*/
1670 wpt_uint8 ucShortPreambleSupported;
1671
1672 /*MAC Address of STA*/
1673 wpt_macAddr macSTA;
1674
1675 /*Listen interval of the STA*/
1676 wpt_uint16 usListenInterval;
1677
1678 /*Support for 11e/WMM*/
1679 wpt_uint8 ucWMMEnabled;
1680
1681 /*11n HT capable STA*/
1682 wpt_uint8 ucHTCapable;
1683
1684 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
1685 wpt_uint8 ucTXChannelWidthSet;
1686
1687 /*RIFS mode 0 - NA, 1 - Allowed*/
1688 wpt_uint8 ucRIFSMode;
1689
1690 /*L-SIG TXOP Protection mechanism
1691 0 - No Support, 1 - Supported
1692 SG - there is global field*/
1693 wpt_uint8 ucLSIGTxopProtection;
1694
1695 /*Max Ampdu Size supported by STA. Device programming.
1696 0 : 8k , 1 : 16k, 2 : 32k, 3 : 64k */
1697 wpt_uint8 ucMaxAmpduSize;
1698
1699 /*Max Ampdu density. Used by RA. 3 : 0~7 : 2^(11nAMPDUdensity -4)*/
1700 wpt_uint8 ucMaxAmpduDensity;
1701
1702 /*Max AMSDU size 1 : 3839 bytes, 0 : 7935 bytes*/
1703 wpt_uint8 ucMaxAmsduSize;
1704
1705 /*Short GI support for 40Mhz packets*/
1706 wpt_uint8 ucShortGI40Mhz;
1707
1708 /*Short GI support for 20Mhz packets*/
1709 wpt_uint8 ucShortGI20Mhz;
1710
1711 /*These rates are the intersection of peer and self capabilities.*/
1712 WDI_SupportedRates wdiSupportedRates;
1713
1714 /*Robust Management Frame (RMF) enabled/disabled*/
1715 wpt_uint8 ucRMFEnabled;
1716
1717 /* The unicast encryption type in the association */
1718 wpt_uint32 ucEncryptType;
1719
1720 /*HAL should update the existing STA entry, if this flag is set. UMAC
1721 will set this flag in case of RE-ASSOC, where we want to reuse the old
1722 STA ID.*/
1723 WDI_ConfigActionType wdiAction;
1724
1725 /*U-APSD Flags: 1b per AC. Encoded as follows:
1726 b7 b6 b5 b4 b3 b2 b1 b0 =
1727 X X X X BE BK VI VO
1728 */
1729 wpt_uint8 ucAPSD;
1730
1731 /*Max SP Length*/
1732 wpt_uint8 ucMaxSPLen;
1733
1734 /*11n Green Field preamble support*/
1735 wpt_uint8 ucGreenFieldCapable;
1736
1737 /*MIMO Power Save mode*/
1738 WDI_HTMIMOPowerSaveState wdiMIMOPS;
1739
1740 /*Delayed BA Support*/
1741 wpt_uint8 ucDelayedBASupport;
1742
1743 /*Max AMPDU duration in 32us*/
1744 wpt_uint8 us32MaxAmpduDuratio;
1745
1746 /*HT STA should set it to 1 if it is enabled in BSS
1747 HT STA should set it to 0 if AP does not support it. This indication is
1748 sent to HAL and HAL uses this flag to pickup up appropriate 40Mhz rates.
1749 */
1750 wpt_uint8 ucDsssCckMode40Mhz;
1751
1752 wpt_uint8 ucP2pCapableSta;
Jeff Johnsone7245742012-09-05 17:12:55 -07001753#ifdef WLAN_FEATURE_11AC
1754 wpt_uint8 ucVhtCapableSta;
1755 wpt_uint8 ucVhtTxChannelWidthSet;
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08001756 wpt_uint8 ucVhtTxBFEnabled;
Abhishek Singh6927fa02014-06-27 17:19:55 +05301757 wpt_uint8 vhtTxMUBformeeCapable;
Jeff Johnsone7245742012-09-05 17:12:55 -07001758#endif
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08001759
1760 wpt_uint8 ucHtLdpcEnabled;
1761 wpt_uint8 ucVhtLdpcEnabled;
Jeff Johnson295189b2012-06-20 16:38:30 -07001762}WDI_ConfigStaReqInfoType;
1763
1764
1765/*---------------------------------------------------------------------------
1766 WDI_RateSet
1767
1768 12 Bytes long because this structure can be used to represent rate
1769 and extended rate set IEs
1770 The parser assume this to be at least 12
1771---------------------------------------------------------------------------*/
1772#define WDI_RATESET_EID_MAX 12
1773
1774typedef struct
1775{
1776 wpt_uint8 ucNumRates;
1777 wpt_uint8 aRates[WDI_RATESET_EID_MAX];
1778} WDI_RateSet;
1779
1780/*---------------------------------------------------------------------------
1781 WDI_AciAifsnType
1782 access category record
1783---------------------------------------------------------------------------*/
1784typedef struct
1785{
1786 wpt_uint8 rsvd : 1;
1787 wpt_uint8 aci : 2;
1788 wpt_uint8 acm : 1;
1789 wpt_uint8 aifsn : 4;
1790} WDI_AciAifsnType;
1791
1792/*---------------------------------------------------------------------------
1793 WDI_CWType
1794 contention window size
1795---------------------------------------------------------------------------*/
1796typedef struct
1797{
1798 wpt_uint8 max : 4;
1799 wpt_uint8 min : 4;
1800} WDI_CWType;
1801
1802/*---------------------------------------------------------------------------
1803 WDI_EdcaParamRecord
1804---------------------------------------------------------------------------*/
1805typedef struct
1806{
1807 /*Access Category Record*/
1808 WDI_AciAifsnType wdiACI;
1809
1810 /*Contention WIndow Size*/
1811 WDI_CWType wdiCW;
1812
1813 /*TX Oportunity Limit*/
1814 wpt_uint16 usTXOPLimit;
1815} WDI_EdcaParamRecord;
1816
1817/*---------------------------------------------------------------------------
1818 WDI_EDCAParamsType
1819---------------------------------------------------------------------------*/
1820typedef struct
1821{
1822 /*BSS Index*/
1823 wpt_uint8 ucBSSIdx;
1824
1825 /*?*/
1826 wpt_boolean bHighPerformance;
1827
1828 /*Best Effort*/
1829 WDI_EdcaParamRecord wdiACBE;
1830
1831 /*Background*/
1832 WDI_EdcaParamRecord wdiACBK;
1833
1834 /*Video*/
1835 WDI_EdcaParamRecord wdiACVI;
1836
1837 /*Voice*/
1838 WDI_EdcaParamRecord acvo; // voice
1839} WDI_EDCAParamsType;
1840
1841/* operMode in ADD BSS message */
1842#define WDI_BSS_OPERATIONAL_MODE_AP 0
1843#define WDI_BSS_OPERATIONAL_MODE_STA 1
1844
1845/*---------------------------------------------------------------------------
1846 WDI_ConfigBSSRspParamsType
1847---------------------------------------------------------------------------*/
1848typedef struct
1849{
1850 /*Status of the response*/
1851 WDI_Status wdiStatus;
1852
1853 /*BSSID of the BSS*/
1854 wpt_macAddr macBSSID;
1855
1856 /*BSS Index*/
1857 wpt_uint8 ucBSSIdx;
1858
1859 /*Unicast DPU signature*/
1860 wpt_uint8 ucUcastSig;
1861
1862 /*Broadcast DPU Signature*/
1863 wpt_uint8 ucBcastSig;
1864
1865 /*MAC Address of STA*/
1866 wpt_macAddr macSTA;
1867
1868 /*BSS STA ID*/
1869 wpt_uint8 ucSTAIdx;
1870
1871#ifdef WLAN_FEATURE_VOWIFI
1872 /*HAL fills in the tx power used for mgmt frames in this field */
1873 wpt_int8 ucTxMgmtPower;
1874#endif
1875
1876}WDI_ConfigBSSRspParamsType;
1877
1878/*---------------------------------------------------------------------------
1879 WDI_DelBSSReqParamsType
1880---------------------------------------------------------------------------*/
1881typedef struct
1882{
1883 /*BSS Index of the BSS*/
1884 wpt_uint8 ucBssIdx;
1885
1886 /*Request status callback offered by UMAC - it is called if the current
1887 req has returned PENDING as status; it delivers the status of sending
1888 the message over the BUS */
1889 WDI_ReqStatusCb wdiReqStatusCB;
1890
1891 /*The user data passed in by UMAC, it will be sent back when the above
1892 function pointer will be called */
1893 void* pUserData;
1894}WDI_DelBSSReqParamsType;
1895
1896/*---------------------------------------------------------------------------
1897 WDI_DelBSSRspParamsType
1898---------------------------------------------------------------------------*/
1899typedef struct
1900{
1901 /*Status of the response*/
1902 WDI_Status wdiStatus;
1903
1904 /*BSSID of the BSS*/
1905 wpt_macAddr macBSSID;
1906
1907 wpt_uint8 ucBssIdx;
1908
1909}WDI_DelBSSRspParamsType;
1910
1911/*---------------------------------------------------------------------------
1912 WDI_ConfigSTARspParamsType
1913---------------------------------------------------------------------------*/
1914typedef struct
1915{
1916 /*Status of the response*/
1917 WDI_Status wdiStatus;
1918
1919 /*STA Idx allocated by HAL*/
1920 wpt_uint8 ucSTAIdx;
1921
1922 /*MAC Address of STA*/
1923 wpt_macAddr macSTA;
1924
1925 /* BSSID Index of BSS to which the station is associated */
1926 wpt_uint8 ucBssIdx;
1927
1928 /* DPU Index - PTK */
1929 wpt_uint8 ucDpuIndex;
1930
1931 /* Bcast DPU Index - GTK */
1932 wpt_uint8 ucBcastDpuIndex;
1933
1934 /* Management DPU Index - IGTK - Why is it called bcastMgmtDpuIdx? */
1935 wpt_uint8 ucBcastMgmtDpuIdx;
1936
1937 /*Unicast DPU signature*/
1938 wpt_uint8 ucUcastSig;
1939
1940 /*Broadcast DPU Signature*/
1941 wpt_uint8 ucBcastSig;
1942
1943 /* IGTK DPU signature*/
1944 wpt_uint8 ucMgmtSig;
1945
1946}WDI_ConfigSTARspParamsType;
1947
1948/*---------------------------------------------------------------------------
1949 WDI_PostAssocRspParamsType
1950---------------------------------------------------------------------------*/
1951typedef struct
1952{
1953 /*Status of the response*/
1954 WDI_Status wdiStatus;
1955
1956 /*Parameters related to the BSS*/
1957 WDI_ConfigBSSRspParamsType bssParams;
1958
1959 /*Parameters related to the self STA*/
1960 WDI_ConfigSTARspParamsType staParams;
1961
1962}WDI_PostAssocRspParamsType;
1963
1964/*---------------------------------------------------------------------------
1965 WDI_DelSTAReqParamsType
1966---------------------------------------------------------------------------*/
1967typedef struct
1968{
1969 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
1970 wpt_uint8 ucSTAIdx;
1971
1972 /*Request status callback offered by UMAC - it is called if the current
1973 req has returned PENDING as status; it delivers the status of sending
1974 the message over the BUS */
1975 WDI_ReqStatusCb wdiReqStatusCB;
1976
1977 /*The user data passed in by UMAC, it will be sent back when the above
1978 function pointer will be called */
1979 void* pUserData;
1980}WDI_DelSTAReqParamsType;
1981
1982/*---------------------------------------------------------------------------
1983 WDI_DelSTARspParamsType
1984---------------------------------------------------------------------------*/
1985typedef struct
1986{
1987 /*Status of the response*/
1988 WDI_Status wdiStatus;
1989
1990 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
1991 wpt_uint8 ucSTAIdx;
1992}WDI_DelSTARspParamsType;
1993
1994/*---------------------------------------------------------------------------
1995 WDI_EncryptType
1996---------------------------------------------------------------------------*/
1997typedef enum
1998{
1999 WDI_ENCR_NONE,
2000 WDI_ENCR_WEP40,
2001 WDI_ENCR_WEP104,
2002 WDI_ENCR_TKIP,
2003 WDI_ENCR_CCMP,
2004#if defined(FEATURE_WLAN_WAPI)
2005 WDI_ENCR_WPI,
2006#endif
2007 WDI_ENCR_AES_128_CMAC
2008} WDI_EncryptType;
2009
2010/*---------------------------------------------------------------------------
2011 WDI_KeyDirectionType
2012---------------------------------------------------------------------------*/
2013typedef enum
2014{
2015 WDI_TX_ONLY,
2016 WDI_RX_ONLY,
2017 WDI_TX_RX,
Jeff Johnson295189b2012-06-20 16:38:30 -07002018 WDI_TX_DEFAULT,
Jeff Johnson295189b2012-06-20 16:38:30 -07002019 WDI_DONOT_USE_KEY_DIRECTION
2020} WDI_KeyDirectionType;
2021
2022#define WDI_MAX_ENCR_KEYS 4
2023#define WDI_MAX_KEY_LENGTH 32
2024#if defined(FEATURE_WLAN_WAPI)
2025#define WDI_MAX_KEY_RSC_LEN 16
2026#define WDI_WAPI_KEY_RSC_LEN 16
2027#else
2028#define WDI_MAX_KEY_RSC_LEN 8
2029#endif
2030
2031typedef struct
2032{
2033 /* Key ID */
2034 wpt_uint8 keyId;
2035 /* 0 for multicast */
2036 wpt_uint8 unicast;
2037 /* Key Direction */
2038 WDI_KeyDirectionType keyDirection;
2039 /* Usage is unknown */
2040 wpt_uint8 keyRsc[WDI_MAX_KEY_RSC_LEN];
2041 /* =1 for authenticator, =0 for supplicant */
2042 wpt_uint8 paeRole;
2043 wpt_uint16 keyLength;
2044 wpt_uint8 key[WDI_MAX_KEY_LENGTH];
2045
2046}WDI_KeysType;
2047
2048/*---------------------------------------------------------------------------
2049 WDI_SetBSSKeyReqInfoType
2050---------------------------------------------------------------------------*/
2051typedef struct
2052{
2053 /*BSS Index of the BSS*/
2054 wpt_uint8 ucBssIdx;
2055
2056 /*Encryption Type used with peer*/
2057 WDI_EncryptType wdiEncType;
2058
2059 /*Number of keys*/
2060 wpt_uint8 ucNumKeys;
2061
2062 /*Array of keys.*/
2063 WDI_KeysType aKeys[WDI_MAX_ENCR_KEYS];
2064
2065 /*Control for Replay Count, 1= Single TID based replay count on Tx
2066 0 = Per TID based replay count on TX */
2067 wpt_uint8 ucSingleTidRc;
2068}WDI_SetBSSKeyReqInfoType;
2069
2070/*---------------------------------------------------------------------------
2071 WDI_SetBSSKeyReqParamsType
2072---------------------------------------------------------------------------*/
2073typedef struct
2074{
2075 /*Key Info */
2076 WDI_SetBSSKeyReqInfoType wdiBSSKeyInfo;
2077
2078 /*Request status callback offered by UMAC - it is called if the current
2079 req has returned PENDING as status; it delivers the status of sending
2080 the message over the BUS */
2081 WDI_ReqStatusCb wdiReqStatusCB;
2082
2083 /*The user data passed in by UMAC, it will be sent back when the above
2084 function pointer will be called */
2085 void* pUserData;
2086}WDI_SetBSSKeyReqParamsType;
2087
2088/*---------------------------------------------------------------------------
2089 WDI_WepType
2090---------------------------------------------------------------------------*/
2091typedef enum
2092{
2093 WDI_WEP_STATIC,
2094 WDI_WEP_DYNAMIC
2095
2096} WDI_WepType;
2097
2098/*---------------------------------------------------------------------------
2099 WDI_RemoveBSSKeyReqInfoType
2100---------------------------------------------------------------------------*/
2101typedef struct
2102{
2103 /*BSS Index of the BSS*/
2104 wpt_uint8 ucBssIdx;
2105
2106 /*Encryption Type used with peer*/
2107 WDI_EncryptType wdiEncType;
2108
2109 /*Key Id*/
2110 wpt_uint8 ucKeyId;
2111
2112 /*STATIC/DYNAMIC. Used in Nullifying in Key Descriptors for Static/Dynamic
2113 keys*/
2114 WDI_WepType wdiWEPType;
2115}WDI_RemoveBSSKeyReqInfoType;
2116
2117/*---------------------------------------------------------------------------
2118 WDI_RemoveBSSKeyReqParamsType
2119---------------------------------------------------------------------------*/
2120typedef struct
2121{
2122 /*Key Info */
2123 WDI_RemoveBSSKeyReqInfoType wdiKeyInfo;
2124
2125 /*Request status callback offered by UMAC - it is called if the current
2126 req has returned PENDING as status; it delivers the status of sending
2127 the message over the BUS */
2128 WDI_ReqStatusCb wdiReqStatusCB;
2129
2130 /*The user data passed in by UMAC, it will be sent back when the above
2131 function pointer will be called */
2132 void* pUserData;
2133}WDI_RemoveBSSKeyReqParamsType;
2134
2135/*---------------------------------------------------------------------------
2136 WDI_SetSTAKeyReqInfoType
2137---------------------------------------------------------------------------*/
2138typedef struct
2139{
2140 /*STA Index*/
2141 wpt_uint8 ucSTAIdx;
2142
2143 /*Encryption Type used with peer*/
2144 WDI_EncryptType wdiEncType;
2145
2146 /*STATIC/DYNAMIC*/
2147 WDI_WepType wdiWEPType;
2148
2149 /*Default WEP key, valid only for static WEP, must between 0 and 3.*/
2150 wpt_uint8 ucDefWEPIdx;
2151
2152 /*Number of keys*/
2153 wpt_uint8 ucNumKeys;
2154
2155 /*Array of keys.*/
2156 WDI_KeysType wdiKey[WDI_MAX_ENCR_KEYS];
2157
2158 /*Control for Replay Count, 1= Single TID based replay count on Tx
2159 0 = Per TID based replay count on TX */
2160 wpt_uint8 ucSingleTidRc;
2161}WDI_SetSTAKeyReqInfoType;
2162
2163/*---------------------------------------------------------------------------
2164 WDI_ConfigBSSReqInfoType
2165---------------------------------------------------------------------------*/
2166typedef struct
2167{
2168 /*Peer BSSID*/
2169 wpt_macAddr macBSSID;
2170
2171 /*Self MAC Address*/
2172 wpt_macAddr macSelfAddr;
2173
2174 /*BSS Type*/
2175 WDI_BssType wdiBSSType;
2176
2177 /*Operational Mode: AP =0, STA = 1*/
2178 wpt_uint8 ucOperMode;
2179
2180 /*Network Type*/
2181 WDI_NwType wdiNWType;
2182
2183 /*Used to classify PURE_11G/11G_MIXED to program MTU*/
2184 wpt_uint8 ucShortSlotTimeSupported;
2185
2186 /*Co-exist with 11a STA*/
2187 wpt_uint8 ucllaCoexist;
2188
2189 /*Co-exist with 11b STA*/
2190 wpt_uint8 ucllbCoexist;
2191
2192 /*Co-exist with 11g STA*/
2193 wpt_uint8 ucllgCoexist;
2194
2195 /*Coexistence with 11n STA*/
2196 wpt_uint8 ucHT20Coexist;
2197
2198 /*Non GF coexist flag*/
2199 wpt_uint8 ucllnNonGFCoexist;
2200
2201 /*TXOP protection support*/
2202 wpt_uint8 ucTXOPProtectionFullSupport;
2203
2204 /*RIFS mode*/
2205 wpt_uint8 ucRIFSMode;
2206
2207 /*Beacon Interval in TU*/
2208 wpt_uint16 usBeaconInterval;
2209
2210 /*DTIM period*/
2211 wpt_uint8 ucDTIMPeriod;
2212
2213 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
2214 wpt_uint8 ucTXChannelWidthSet;
2215
2216 /*Operating channel*/
2217 wpt_uint8 ucCurrentOperChannel;
2218
2219 /*Extension channel for channel bonding*/
2220 wpt_uint8 ucCurrentExtChannel;
2221
2222 /*Context of the station being added in HW.*/
2223 WDI_ConfigStaReqInfoType wdiSTAContext;
2224
2225 /*SSID of the BSS*/
2226 WDI_MacSSid wdiSSID;
2227
2228 /*HAL should update the existing BSS entry, if this flag is set. UMAC will
2229 set this flag in case of RE-ASSOC, where we want to reuse the old BSSID*/
2230 WDI_ConfigAction wdiAction;
2231
2232 /*Basic Rate Set*/
2233 WDI_RateSet wdiRateSet;
2234
2235 /*Enable/Disable HT capabilities of the BSS*/
2236 wpt_uint8 ucHTCapable;
2237
2238 /* Enable/Disable OBSS protection */
2239 wpt_uint8 ucObssProtEnabled;
2240
2241 /*RMF enabled/disabled*/
2242 wpt_uint8 ucRMFEnabled;
2243
2244 /*Determines the current HT Operating Mode operating mode of the
2245 802.11n STA*/
2246 WDI_HTOperatingMode wdiHTOperMod;
2247
2248 /*Dual CTS Protection: 0 - Unused, 1 - Used*/
2249 wpt_uint8 ucDualCTSProtection;
2250
2251 /* Probe Response Max retries */
2252 wpt_uint8 ucMaxProbeRespRetryLimit;
2253
2254 /* To Enable Hidden ssid */
2255 wpt_uint8 bHiddenSSIDEn;
2256
2257 /* To Enable Disable FW Proxy Probe Resp */
2258 wpt_uint8 bProxyProbeRespEn;
2259
2260 /* Boolean to indicate if EDCA params are valid. UMAC might not have valid
2261 EDCA params or might not desire to apply EDCA params during config BSS.
2262 0 implies Not Valid ; Non-Zero implies valid*/
2263 wpt_uint8 ucEDCAParamsValid;
2264
2265 /*EDCA Parameters for BK*/
2266 WDI_EdcaParamRecord wdiBKEDCAParams;
2267
2268 /*EDCA Parameters for BE*/
2269 WDI_EdcaParamRecord wdiBEEDCAParams;
2270
2271 /*EDCA Parameters for VI*/
2272 WDI_EdcaParamRecord wdiVIEDCAParams;
2273
2274 /*EDCA Parameters for VO*/
2275 WDI_EdcaParamRecord wdiVOEDCAParams;
2276
2277#ifdef WLAN_FEATURE_VOWIFI
2278 /*max power to be used after applying the power constraint, if any */
2279 wpt_int8 cMaxTxPower;
2280#endif
2281
2282 /* Persona for the BSS can be STA,AP,GO,CLIENT, same as Connection Mode */
2283 wpt_uint8 ucPersona;
2284
2285 /* Spectrum Mangement Indicator */
2286 wpt_uint8 bSpectrumMgtEn;
2287
2288#ifdef WLAN_FEATURE_VOWIFI_11R
2289 wpt_uint8 bExtSetStaKeyParamValid;
2290 WDI_SetSTAKeyReqInfoType wdiExtSetKeyParam;
2291#endif
2292
Jeff Johnsone7245742012-09-05 17:12:55 -07002293#ifdef WLAN_FEATURE_11AC
2294 wpt_uint8 ucVhtCapableSta;
2295 wpt_uint8 ucVhtTxChannelWidthSet;
2296#endif
2297
Jeff Johnson295189b2012-06-20 16:38:30 -07002298}WDI_ConfigBSSReqInfoType;
2299
2300/*---------------------------------------------------------------------------
2301 WDI_PostAssocReqParamsType
2302---------------------------------------------------------------------------*/
2303typedef struct
2304{
2305 /*Config STA arguments.*/
2306 WDI_ConfigStaReqInfoType wdiSTAParams;
2307
2308 /*Config BSS Arguments*/
2309 WDI_ConfigBSSReqInfoType wdiBSSParams;
2310
2311 /*Request status callback offered by UMAC - it is called if the current
2312 req has returned PENDING as status; it delivers the status of sending
2313 the message over the BUS */
2314 WDI_ReqStatusCb wdiReqStatusCB;
2315
2316 /*The user data passed in by UMAC, it will be sent back when the above
2317 function pointer will be called */
2318 void* pUserData;
2319}WDI_PostAssocReqParamsType;
2320
2321/*---------------------------------------------------------------------------
2322 WDI_ConfigBSSReqParamsType
2323---------------------------------------------------------------------------*/
2324typedef struct
2325{
2326 /*Info for the Join request that will be sent down to the device*/
2327 WDI_ConfigBSSReqInfoType wdiReqInfo;
2328
2329 /*Request status callback offered by UMAC - it is called if the current
2330 req has returned PENDING as status; it delivers the status of sending
2331 the message over the BUS */
2332 WDI_ReqStatusCb wdiReqStatusCB;
2333
2334 /*The user data passed in by UMAC, it will be sent back when the above
2335 function pointer will be called */
2336 void* pUserData;
2337}WDI_ConfigBSSReqParamsType;
2338
2339/*---------------------------------------------------------------------------
2340 WDI_SetSTAKeyReqParamsType
2341---------------------------------------------------------------------------*/
2342typedef struct
2343{
2344 /*Key Info*/
2345 WDI_SetSTAKeyReqInfoType wdiKeyInfo;
2346
2347 /*Request status callback offered by UMAC - it is called if the current
2348 req has returned PENDING as status; it delivers the status of sending
2349 the message over the BUS */
2350 WDI_ReqStatusCb wdiReqStatusCB;
2351
2352 /*The user data passed in by UMAC, it will be sent back when the above
2353 function pointer will be called */
2354 void* pUserData;
2355}WDI_SetSTAKeyReqParamsType;
2356
2357/*---------------------------------------------------------------------------
2358 WDI_RemoveSTAKeyReqInfoType
2359---------------------------------------------------------------------------*/
2360typedef struct
2361{
2362 /*STA Index*/
2363 wpt_uint8 ucSTAIdx;
2364
2365 /*Encryption Type used with peer*/
2366 WDI_EncryptType wdiEncType;
2367
2368 /*Key Id*/
2369 wpt_uint8 ucKeyId;
2370
2371 /*Whether to invalidate the Broadcast key or Unicast key. In case of WEP,
2372 the same key is used for both broadcast and unicast.*/
2373 wpt_uint8 ucUnicast;
2374}WDI_RemoveSTAKeyReqInfoType;
2375
2376/*---------------------------------------------------------------------------
2377 WDI_RemoveSTAKeyReqParamsType
2378---------------------------------------------------------------------------*/
2379typedef struct
2380{
2381 /*Key Info */
2382 WDI_RemoveSTAKeyReqInfoType wdiKeyInfo;
2383
2384 /*Request status callback offered by UMAC - it is called if the current
2385 req has returned PENDING as status; it delivers the status of sending
2386 the message over the BUS */
2387 WDI_ReqStatusCb wdiReqStatusCB;
2388
2389 /*The user data passed in by UMAC, it will be sent back when the above
2390 function pointer will be called */
2391 void* pUserData;
2392}WDI_RemoveSTAKeyReqParamsType;
2393
2394/*---------------------------------------------------------------------------
2395 QOS Parameters
2396---------------------------------------------------------------------------*/
2397
2398/*---------------------------------------------------------------------------
2399 WDI_TSInfoTfc
2400---------------------------------------------------------------------------*/
2401typedef struct
2402{
2403 wpt_uint16 ackPolicy:2;
2404 wpt_uint16 userPrio:3;
2405 wpt_uint16 psb:1;
2406 wpt_uint16 aggregation : 1;
2407 wpt_uint16 accessPolicy : 2;
2408 wpt_uint16 direction : 2;
2409 wpt_uint16 tsid : 4;
2410 wpt_uint16 trafficType : 1;
2411} WDI_TSInfoTfc;
2412
2413/*---------------------------------------------------------------------------
2414 WDI_TSInfoSch
2415---------------------------------------------------------------------------*/
2416typedef struct
2417{
2418 wpt_uint8 rsvd : 7;
2419 wpt_uint8 schedule : 1;
2420} WDI_TSInfoSch;
2421
2422/*---------------------------------------------------------------------------
2423 WDI_TSInfoType
2424---------------------------------------------------------------------------*/
2425typedef struct
2426{
2427 WDI_TSInfoTfc wdiTraffic;
2428 WDI_TSInfoSch wdiSchedule;
2429} WDI_TSInfoType;
2430
2431/*---------------------------------------------------------------------------
2432 WDI_TspecIEType
2433---------------------------------------------------------------------------*/
2434typedef struct
2435{
2436 wpt_uint8 ucType;
2437 wpt_uint8 ucLength;
2438 WDI_TSInfoType wdiTSinfo;
2439 wpt_uint16 usNomMsduSz;
2440 wpt_uint16 usMaxMsduSz;
2441 wpt_uint32 uMinSvcInterval;
2442 wpt_uint32 uMaxSvcInterval;
2443 wpt_uint32 uInactInterval;
2444 wpt_uint32 uSuspendInterval;
2445 wpt_uint32 uSvcStartTime;
2446 wpt_uint32 uMinDataRate;
2447 wpt_uint32 uMeanDataRate;
2448 wpt_uint32 uPeakDataRate;
2449 wpt_uint32 uMaxBurstSz;
2450 wpt_uint32 uDelayBound;
2451 wpt_uint32 uMinPhyRate;
2452 wpt_uint16 usSurplusBw;
2453 wpt_uint16 usMediumTime;
2454}WDI_TspecIEType;
2455
2456/*---------------------------------------------------------------------------
2457 WDI_AddTSReqInfoType
2458---------------------------------------------------------------------------*/
2459typedef struct
2460{
2461 /*STA Index*/
2462 wpt_uint8 ucSTAIdx;
2463
2464 /*Identifier for TSpec*/
2465 wpt_uint16 ucTspecIdx;
2466
2467 /*Tspec IE negotiated OTA*/
2468 WDI_TspecIEType wdiTspecIE;
2469
2470 /*UAPSD delivery and trigger enabled flags */
2471 wpt_uint8 ucUapsdFlags;
2472
2473 /*SI for each AC*/
2474 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
2475
2476 /*Suspend Interval for each AC*/
2477 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
2478
2479 /*DI for each AC*/
2480 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
2481
2482}WDI_AddTSReqInfoType;
2483
2484
2485/*---------------------------------------------------------------------------
2486 WDI_AddTSReqParamsType
2487---------------------------------------------------------------------------*/
2488typedef struct
2489{
2490 /*TSpec Info */
2491 WDI_AddTSReqInfoType wdiTsInfo;
2492
2493 /*Request status callback offered by UMAC - it is called if the current
2494 req has returned PENDING as status; it delivers the status of sending
2495 the message over the BUS */
2496 WDI_ReqStatusCb wdiReqStatusCB;
2497
2498 /*The user data passed in by UMAC, it will be sent back when the above
2499 function pointer will be called */
2500 void* pUserData;
2501}WDI_AddTSReqParamsType;
2502
2503/*---------------------------------------------------------------------------
2504 WDI_DelTSReqInfoType
2505---------------------------------------------------------------------------*/
2506typedef struct
2507{
2508 /*STA Index*/
2509 wpt_uint8 ucSTAIdx;
2510
2511 /*Identifier for TSpec*/
2512 wpt_uint16 ucTspecIdx;
2513
2514 /*BSSID of the BSS*/
2515 wpt_macAddr macBSSID;
2516}WDI_DelTSReqInfoType;
2517
2518/*---------------------------------------------------------------------------
2519 WDI_DelTSReqParamsType
2520---------------------------------------------------------------------------*/
2521typedef struct
2522{
2523 /*Del TSpec Info*/
2524 WDI_DelTSReqInfoType wdiDelTSInfo;
2525
2526 /*Request status callback offered by UMAC - it is called if the current
2527 req has returned PENDING as status; it delivers the status of sending
2528 the message over the BUS */
2529 WDI_ReqStatusCb wdiReqStatusCB;
2530
2531 /*The user data passed in by UMAC, it will be sent back when the above
2532 function pointer will be called */
2533 void* pUserData;
2534}WDI_DelTSReqParamsType;
2535
2536/*---------------------------------------------------------------------------
2537 WDI_UpdateEDCAInfoType
2538---------------------------------------------------------------------------*/
2539typedef struct
2540{
krunal soni0b366c02013-07-17 19:55:57 -07002541 /*BSS Index of the BSS*/
2542 wpt_uint16 ucBssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07002543
Jeff Johnson295189b2012-06-20 16:38:30 -07002544 /*EDCA params for BE*/
2545 WDI_EdcaParamRecord wdiEdcaBEInfo;
2546
2547 /*EDCA params for BK*/
2548 WDI_EdcaParamRecord wdiEdcaBKInfo;
2549
2550 /*EDCA params for VI*/
2551 WDI_EdcaParamRecord wdiEdcaVIInfo;
2552
2553 /*EDCA params for VO*/
2554 WDI_EdcaParamRecord wdiEdcaVOInfo;
2555
2556}WDI_UpdateEDCAInfoType;
2557
2558/*---------------------------------------------------------------------------
2559 WDI_UpdateEDCAParamsType
2560---------------------------------------------------------------------------*/
2561typedef struct
2562{
2563 /*EDCA Info */
2564 WDI_UpdateEDCAInfoType wdiEDCAInfo;
2565
2566 /*Request status callback offered by UMAC - it is called if the current
2567 req has returned PENDING as status; it delivers the status of sending
2568 the message over the BUS */
2569 WDI_ReqStatusCb wdiReqStatusCB;
2570
2571 /*The user data passed in by UMAC, it will be sent back when the above
2572 function pointer will be called */
2573 void* pUserData;
2574}WDI_UpdateEDCAParamsType;
2575
2576/*---------------------------------------------------------------------------
2577 WDI_AddBASessionReqinfoType
2578---------------------------------------------------------------------------*/
2579typedef struct
2580{
2581 /*Indicates the station for which BA is added..*/
2582 wpt_uint8 ucSTAIdx;
2583
2584 /*The peer mac address*/
2585 wpt_macAddr macPeerAddr;
2586
2587 /*TID for which BA was negotiated*/
2588 wpt_uint8 ucBaTID;
2589
2590 /*Delayed or imediate */
2591 wpt_uint8 ucBaPolicy;
2592
2593 /*The number of buffers for this TID (baTID)*/
2594 wpt_uint16 usBaBufferSize;
2595
2596 /*BA timeout in TU's*/
2597 wpt_uint16 usBaTimeout;
2598
2599 /*b0..b3 - Fragment Number - Always set to 0
2600 b4..b15 - Starting Sequence Number of first MSDU for which this BA is setup*/
2601 wpt_uint16 usBaSSN;
2602
2603 /*Originator/Recipient*/
2604 wpt_uint8 ucBaDirection;
2605
2606}WDI_AddBASessionReqinfoType;
2607
2608
2609/*---------------------------------------------------------------------------
2610 WDI_AddBASessionReqParamsType
2611---------------------------------------------------------------------------*/
2612typedef struct
2613{
2614 /*BA Session Info Type*/
2615 WDI_AddBASessionReqinfoType wdiBASessionInfoType;
2616
2617 /*Request status callback offered by UMAC - it is called if the current
2618 req has returned PENDING as status; it delivers the status of sending
2619 the message over the BUS */
2620 WDI_ReqStatusCb wdiReqStatusCB;
2621
2622 /*The user data passed in by UMAC, it will be sent back when the above
2623 function pointer will be called */
2624 void* pUserData;
2625}WDI_AddBASessionReqParamsType;
2626
2627/*---------------------------------------------------------------------------
2628 WDI_AddBASessionRspParamsType
2629---------------------------------------------------------------------------*/
2630typedef struct
2631{
2632 /*Status of the response*/
2633 WDI_Status wdiStatus;
2634
2635 /* Dialog token */
2636 wpt_uint8 ucBaDialogToken;
2637
2638 /* TID for which the BA session has been setup */
2639 wpt_uint8 ucBaTID;
2640
2641 /* BA Buffer Size allocated for the current BA session */
2642 wpt_uint8 ucBaBufferSize;
2643
2644 /* BA session ID */
2645 wpt_uint16 usBaSessionID;
2646
2647 /* Reordering Window buffer */
2648 wpt_uint8 ucWinSize;
2649
2650 /*Station Index to id the sta */
2651 wpt_uint8 ucSTAIdx;
2652
2653 /* Starting Sequence Number */
2654 wpt_uint16 usBaSSN;
2655
2656}WDI_AddBASessionRspParamsType;
2657
2658/*---------------------------------------------------------------------------
Siddharth Bhal171788a2014-09-29 21:02:40 +05302659 WDI_SpoofMacAddrRspParamType
2660---------------------------------------------------------------------------*/
2661typedef struct
2662{
2663 /* wdi status */
2664 wpt_uint32 wdiStatus;
2665
2666 /* Reserved Field */
2667 wpt_uint32 reserved;
2668
2669}WDI_SpoofMacAddrRspParamType;
2670/*---------------------------------------------------------------------------
Siddharth Bhal64246172015-02-27 01:04:37 +05302671 WDI_GetFrameLogRspParamType
2672---------------------------------------------------------------------------*/
2673typedef struct
2674{
2675 /* wdi status */
2676 wpt_uint32 wdiStatus;
2677}WDI_GetFrameLogRspParamType;
2678/*---------------------------------------------------------------------------
Siddharth Bhald1be97f2015-05-27 22:39:59 +05302679 WDI_FWLoggingInitRspParamType
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05302680---------------------------------------------------------------------------*/
2681typedef struct
2682{
Siddharth Bhald1be97f2015-05-27 22:39:59 +05302683 //FW mail box address
2684 wpt_uint64 logMailBoxAddr;
2685 wpt_uint32 status;
2686 //Logging mail box version
2687 wpt_uint8 logMailBoxVer;
2688 //Qshrink is enabled
2689 wpt_boolean logCompressEnabled;
2690 //Reserved for future purpose
2691 wpt_uint32 reserved0;
2692 wpt_uint32 reserved1;
2693 wpt_uint32 reserved2;
2694}WDI_FWLoggingInitRspParamType;
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05302695/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07002696 WDI_AddBAReqinfoType
2697---------------------------------------------------------------------------*/
2698typedef struct
2699{
2700 /*Indicates the station for which BA is added..*/
2701 wpt_uint8 ucSTAIdx;
2702
2703 /* Session Id */
2704 wpt_uint8 ucBaSessionID;
2705
2706 /* Reorder Window Size */
2707 wpt_uint8 ucWinSize;
2708
2709#ifdef FEATURE_ON_CHIP_REORDERING
2710 wpt_boolean bIsReorderingDoneOnChip;
2711#endif
2712
2713}WDI_AddBAReqinfoType;
2714
2715
2716/*---------------------------------------------------------------------------
2717 WDI_AddBAReqParamsType
2718---------------------------------------------------------------------------*/
2719typedef struct
2720{
2721 /*BA Info Type*/
2722 WDI_AddBAReqinfoType wdiBAInfoType;
2723
2724 /*Request status callback offered by UMAC - it is called if the current
2725 req has returned PENDING as status; it delivers the status of sending
2726 the message over the BUS */
2727 WDI_ReqStatusCb wdiReqStatusCB;
2728
2729 /*The user data passed in by UMAC, it will be sent back when the above
2730 function pointer will be called */
2731 void* pUserData;
2732}WDI_AddBAReqParamsType;
2733
2734
2735/*---------------------------------------------------------------------------
2736 WDI_AddBARspinfoType
2737---------------------------------------------------------------------------*/
2738typedef struct
2739{
2740 /*Status of the response*/
2741 WDI_Status wdiStatus;
2742
2743 /* Dialog token */
2744 wpt_uint8 ucBaDialogToken;
2745
2746}WDI_AddBARspinfoType;
2747
2748/*---------------------------------------------------------------------------
2749 WDI_TriggerBAReqCandidateType
2750---------------------------------------------------------------------------*/
2751typedef struct
2752{
2753 /* STA index */
2754 wpt_uint8 ucSTAIdx;
2755
2756 /* TID bit map for the STA's*/
2757 wpt_uint8 ucTidBitmap;
2758
2759}WDI_TriggerBAReqCandidateType;
2760
2761
2762/*---------------------------------------------------------------------------
2763 WDI_TriggerBAReqinfoType
2764---------------------------------------------------------------------------*/
2765typedef struct
2766{
2767 /*Indicates the station for which BA is added..*/
2768 wpt_uint8 ucSTAIdx;
2769
2770 /* Session Id */
2771 wpt_uint8 ucBASessionID;
2772
2773 /* Trigger BA Request candidate count */
2774 wpt_uint16 usBACandidateCnt;
2775
2776 /* WDI_TriggerBAReqCandidateType followed by this*/
2777
2778}WDI_TriggerBAReqinfoType;
2779
2780
2781/*---------------------------------------------------------------------------
2782 WDI_TriggerBAReqParamsType
2783---------------------------------------------------------------------------*/
2784typedef struct
2785{
2786 /*BA Trigger Info Type*/
2787 WDI_TriggerBAReqinfoType wdiTriggerBAInfoType;
2788
2789 /*Request status callback offered by UMAC - it is called if the current
2790 req has returned PENDING as status; it delivers the status of sending
2791 the message over the BUS */
2792 WDI_ReqStatusCb wdiReqStatusCB;
2793
2794 /*The user data passed in by UMAC, it will be sent back when the above
2795 function pointer will be called */
2796 void* pUserData;
2797}WDI_TriggerBAReqParamsType;
2798
2799/*---------------------------------------------------------------------------
2800 WDI_AddBAInfoType
2801---------------------------------------------------------------------------*/
2802typedef struct
2803{
2804 wpt_uint16 fBaEnable : 1;
2805 wpt_uint16 startingSeqNum: 12;
2806 wpt_uint16 reserved : 3;
2807}WDI_AddBAInfoType;
2808
2809/*---------------------------------------------------------------------------
2810 WDI_TriggerBARspCandidateType
2811---------------------------------------------------------------------------*/
2812#define STA_MAX_TC 8
2813
2814typedef struct
2815{
2816 /* STA index */
2817 wpt_macAddr macSTA;
2818
2819 /* BA Info */
2820 WDI_AddBAInfoType wdiBAInfo[STA_MAX_TC];
2821}WDI_TriggerBARspCandidateType;
2822
2823/*---------------------------------------------------------------------------
2824 WDI_TriggerBARspParamsType
2825---------------------------------------------------------------------------*/
2826typedef struct
2827{
2828 /*Status of the response*/
2829 WDI_Status wdiStatus;
2830
2831 /*BSSID of the BSS*/
2832 wpt_macAddr macBSSID;
2833
2834 /* Trigger BA response candidate count */
2835 wpt_uint16 usBaCandidateCnt;
2836
2837 /* WDI_TriggerBARspCandidateType followed by this*/
2838
2839}WDI_TriggerBARspParamsType;
2840
2841/*---------------------------------------------------------------------------
2842 WDI_DelBAReqinfoType
2843---------------------------------------------------------------------------*/
2844typedef struct
2845{
2846 /*Indicates the station for which BA is added..*/
2847 wpt_uint8 ucSTAIdx;
2848
2849 /*TID for which BA was negotiated*/
2850 wpt_uint8 ucBaTID;
2851
2852 /*Originator/Recipient*/
2853 wpt_uint8 ucBaDirection;
2854
2855}WDI_DelBAReqinfoType;
2856
2857/*---------------------------------------------------------------------------
2858 WDI_DelBAReqParamsType
2859---------------------------------------------------------------------------*/
2860typedef struct
2861{
2862 /*BA Info */
2863 WDI_DelBAReqinfoType wdiBAInfo;
2864
2865 /*Request status callback offered by UMAC - it is called if the current
2866 req has returned PENDING as status; it delivers the status of sending
2867 the message over the BUS */
2868 WDI_ReqStatusCb wdiReqStatusCB;
2869
2870 /*The user data passed in by UMAC, it will be sent back when the above
2871 function pointer will be called */
2872 void* pUserData;
2873}WDI_DelBAReqParamsType;
2874
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08002875/*---------------------------------------------------------------------------
2876 WDI_UpdateChannelReqinfoType
2877---------------------------------------------------------------------------*/
2878typedef struct
2879{
2880 /** primary 20 MHz channel frequency in mhz */
2881 wpt_uint32 mhz;
2882 /** Center frequency 1 in MHz*/
2883 wpt_uint32 band_center_freq1;
2884 /** Center frequency 2 in MHz - valid only for 11acvht 80plus80 mode*/
2885 wpt_uint32 band_center_freq2;
2886 /* The first 26 bits are a bit mask to indicate any channel flags,
2887 (see WLAN_HAL_CHAN_FLAG*)
2888 The last 6 bits indicate the mode (see tChannelPhyModeType)*/
2889 wpt_uint32 channel_info;
2890 /** contains min power, max power, reg power and reg class id. */
2891 wpt_uint32 reg_info_1;
2892 /** contains antennamax */
2893 wpt_uint32 reg_info_2;
2894}WDI_UpdateChannelReqinfoType;
2895
2896typedef struct
2897{
2898 wpt_uint8 numchan;
2899 WDI_UpdateChannelReqinfoType *pchanParam;
2900}WDI_UpdateChannelReqType;
2901/*---------------------------------------------------------------------------
2902 WDI_UpdateChReqParamsType
2903---------------------------------------------------------------------------*/
2904typedef struct
2905{
2906 /*BA Info */
2907 WDI_UpdateChannelReqType wdiUpdateChanParams;
2908
2909 /*Request status callback offered by UMAC - it is called if the current
2910 req has returned PENDING as status; it delivers the status of sending
2911 the message over the BUS */
2912 WDI_ReqStatusCb wdiReqStatusCB;
2913
2914 /*The user data passed in by UMAC, it will be sent back when the above
2915 function pointer will be called */
2916 void* pUserData;
2917}WDI_UpdateChReqParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07002918
2919/*---------------------------------------------------------------------------
2920 WDI_SwitchCHRspParamsType
2921---------------------------------------------------------------------------*/
2922typedef struct
2923{
2924 /*Status of the response*/
2925 WDI_Status wdiStatus;
2926
2927 /*Indicates the channel that WLAN is on*/
2928 wpt_uint8 ucChannel;
2929
2930#ifdef WLAN_FEATURE_VOWIFI
2931 /*HAL fills in the tx power used for mgmt frames in this field.*/
2932 wpt_int8 ucTxMgmtPower;
2933#endif
2934
2935}WDI_SwitchCHRspParamsType;
2936
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08002937/*--------------------------------------------------------------------
2938 WDI_SwitchChRspParamsType_V1
2939--------------------------------------------------------------------*/
2940typedef struct
2941{
2942 /*Status of the response*/
2943 WDI_Status wdiStatus;
2944
2945 /*Indicates the channel that WLAN is on*/
2946 wpt_uint8 ucChannel;
2947
2948#ifdef WLAN_FEATURE_VOWIFI
2949 /*HAL fills in the tx power used for mgmt frames in this field.*/
2950 wpt_int8 ucTxMgmtPower;
2951#endif
2952
2953 /* Source of Channel Switch */
2954 WDI_ChanSwitchSource channelSwitchSrc;
2955}WDI_SwitchChRspParamsType_V1;
2956
Jeff Johnson295189b2012-06-20 16:38:30 -07002957/*---------------------------------------------------------------------------
2958 WDI_ConfigSTAReqParamsType
2959---------------------------------------------------------------------------*/
2960typedef struct
2961{
2962 /*Info for the Join request that will be sent down to the device*/
2963 WDI_ConfigStaReqInfoType wdiReqInfo;
2964
2965 /*Request status callback offered by UMAC - it is called if the current
2966 req has returned PENDING as status; it delivers the status of sending
2967 the message over the BUS */
2968 WDI_ReqStatusCb wdiReqStatusCB;
2969
2970 /*The user data passed in by UMAC, it will be sent back when the above
2971 function pointer will be called */
2972 void* pUserData;
2973}WDI_ConfigSTAReqParamsType;
2974
2975
2976/*---------------------------------------------------------------------------
2977 WDI_UpdateBeaconParamsInfoType
2978---------------------------------------------------------------------------*/
2979
2980typedef struct
2981{
2982 /*BSS Index of the BSS*/
2983 wpt_uint8 ucBssIdx;
2984
2985 /*shortPreamble mode. HAL should update all the STA rates when it
2986 receives this message*/
2987 wpt_uint8 ucfShortPreamble;
2988 /* short Slot time.*/
2989 wpt_uint8 ucfShortSlotTime;
2990 /* Beacon Interval */
2991 wpt_uint16 usBeaconInterval;
2992 /*Protection related */
2993 wpt_uint8 ucllaCoexist;
2994 wpt_uint8 ucllbCoexist;
2995 wpt_uint8 ucllgCoexist;
2996 wpt_uint8 ucHt20MhzCoexist;
2997 wpt_uint8 ucllnNonGFCoexist;
2998 wpt_uint8 ucfLsigTXOPProtectionFullSupport;
2999 wpt_uint8 ucfRIFSMode;
3000
3001 wpt_uint16 usChangeBitmap;
3002}WDI_UpdateBeaconParamsInfoType;
3003
Mohit Khanna4a70d262012-09-11 16:30:12 -07003004#ifdef WLAN_FEATURE_11AC
3005typedef struct
3006{
3007 wpt_uint16 opMode;
3008 wpt_uint16 staId;
3009}WDI_UpdateVHTOpMode;
3010#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003011
3012/*---------------------------------------------------------------------------
3013 WDI_UpdateBeaconParamsType
3014---------------------------------------------------------------------------*/
3015typedef struct
3016{
3017 /*Update Beacon Params Info*/
3018 WDI_UpdateBeaconParamsInfoType wdiUpdateBeaconParamsInfo;
3019
3020 /*Request status callback offered by UMAC - it is called if the current
3021 req has returned PENDING as status; it delivers the status of sending
3022 the message over the BUS */
3023 WDI_ReqStatusCb wdiReqStatusCB;
3024
3025 /*The user data passed in by UMAC, it will be sent back when the above
3026 function pointer will be called */
3027 void* pUserData;
3028}WDI_UpdateBeaconParamsType;
3029
3030/*---------------------------------------------------------------------------
3031 WDI_SendBeaconParamsInfoType
3032---------------------------------------------------------------------------*/
3033
3034typedef struct {
3035
3036 /*BSSID of the BSS*/
3037 wpt_macAddr macBSSID;
3038
3039 /* Beacon data */
3040 wpt_uint8 beacon[WDI_BEACON_TEMPLATE_SIZE];
3041
3042 /* length of the template */
3043 wpt_uint32 beaconLength;
3044
Jeff Johnson295189b2012-06-20 16:38:30 -07003045 /* TIM IE offset from the beginning of the template.*/
3046 wpt_uint32 timIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07003047
Jeff Johnson295189b2012-06-20 16:38:30 -07003048 /* P2P IE offset from the beginning of the template */
3049 wpt_uint16 usP2PIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07003050} WDI_SendBeaconParamsInfoType;
3051
3052/*---------------------------------------------------------------------------
3053 WDI_SendBeaconParamsType
3054---------------------------------------------------------------------------*/
3055typedef struct
3056{
3057 /*Send Beacon Params Info*/
3058 WDI_SendBeaconParamsInfoType wdiSendBeaconParamsInfo;
3059
3060 /*Request status callback offered by UMAC - it is called if the current
3061 req has returned PENDING as status; it delivers the status of sending
3062 the message over the BUS */
3063 WDI_ReqStatusCb wdiReqStatusCB;
3064
3065 /*The user data passed in by UMAC, it will be sent back when the above
3066 function pointer will be called */
3067 void* pUserData;
3068}WDI_SendBeaconParamsType;
3069
3070/*---------------------------------------------------------------------------
3071 WDI_LinkStateType
3072---------------------------------------------------------------------------*/
3073typedef enum
3074{
3075 WDI_LINK_IDLE_STATE = 0,
3076 WDI_LINK_PREASSOC_STATE = 1,
3077 WDI_LINK_POSTASSOC_STATE = 2,
3078 WDI_LINK_AP_STATE = 3,
3079 WDI_LINK_IBSS_STATE = 4,
3080
3081 // BT-AMP Case
3082 WDI_LINK_BTAMP_PREASSOC_STATE = 5,
3083 WDI_LINK_BTAMP_POSTASSOC_STATE = 6,
3084 WDI_LINK_BTAMP_AP_STATE = 7,
3085 WDI_LINK_BTAMP_STA_STATE = 8,
3086
3087 // Reserved for HAL internal use
3088 WDI_LINK_LEARN_STATE = 9,
3089 WDI_LINK_SCAN_STATE = 10,
3090 WDI_LINK_FINISH_SCAN_STATE = 11,
3091 WDI_LINK_INIT_CAL_STATE = 12,
3092 WDI_LINK_FINISH_CAL_STATE = 13,
Jeff Johnson295189b2012-06-20 16:38:30 -07003093 WDI_LINK_LISTEN_STATE = 14,
Gopichand Nakkala924e4552013-05-08 19:18:14 +05303094 WDI_LINK_SEND_ACTION_STATE = 15,
Jeff Johnson295189b2012-06-20 16:38:30 -07003095 WDI_LINK_MAX = 0x7FFFFFFF
3096} WDI_LinkStateType;
3097
3098/*---------------------------------------------------------------------------
3099 WDI_SetLinkReqInfoType
3100---------------------------------------------------------------------------*/
3101typedef struct
3102{
3103 /*BSSID of the BSS*/
3104 wpt_macAddr macBSSID;
3105
3106 /*Link state*/
3107 WDI_LinkStateType wdiLinkState;
3108
3109 /*BSSID of the BSS*/
3110 wpt_macAddr macSelfStaMacAddr;
3111}WDI_SetLinkReqInfoType;
3112
3113/*---------------------------------------------------------------------------
3114 WDI_SetLinkReqParamsType
3115---------------------------------------------------------------------------*/
3116typedef struct
3117{
3118 /*Link Info*/
3119 WDI_SetLinkReqInfoType wdiLinkInfo;
3120
3121 /*Request status callback offered by UMAC - it is called if the current
3122 req has returned PENDING as status; it delivers the status of sending
3123 the message over the BUS */
3124 WDI_ReqStatusCb wdiReqStatusCB;
3125
3126 /*The user data passed in by UMAC, it will be sent back when the above
3127 function pointer will be called */
3128 void* pUserData;
3129}WDI_SetLinkReqParamsType;
3130
3131/*---------------------------------------------------------------------------
3132 WDI_GetStatsParamsInfoType
3133---------------------------------------------------------------------------*/
3134typedef struct
3135{
3136 /*Indicates the station for which Get Stats are requested..*/
3137 wpt_uint8 ucSTAIdx;
3138
3139 /* categories of stats requested */
3140 wpt_uint32 uStatsMask;
3141}WDI_GetStatsParamsInfoType;
3142
3143/*---------------------------------------------------------------------------
3144 WDI_GetStatsReqParamsType
3145---------------------------------------------------------------------------*/
3146typedef struct
3147{
3148 /*Get Stats Params Info*/
3149 WDI_GetStatsParamsInfoType wdiGetStatsParamsInfo;
3150
3151 /*Request status callback offered by UMAC - it is called if the current
3152 req has returned PENDING as status; it delivers the status of sending
3153 the message over the BUS */
3154 WDI_ReqStatusCb wdiReqStatusCB;
3155
3156 /*The user data passed in by UMAC, it will be sent back when the above
3157 function pointer will be called */
3158 void* pUserData;
3159}WDI_GetStatsReqParamsType;
3160
3161/*---------------------------------------------------------------------------
3162 WDI_GetStatsRspParamsType
3163---------------------------------------------------------------------------*/
3164typedef struct
3165{
3166 /*message type is same as the request type*/
3167 wpt_uint16 usMsgType;
3168
3169 /* length of the entire request, includes the pStatsBuf length too*/
3170 wpt_uint16 usMsgLen;
3171
3172 /*Result of the operation*/
3173 WDI_Status wdiStatus;
3174
3175 /*Indicates the station for which Get Stats are requested..*/
3176 wpt_uint8 ucSTAIdx;
3177
3178 /* categories of stats requested */
3179 wpt_uint32 uStatsMask;
3180
3181 /* The Stats buffer starts here and can be an aggregate of more than one statistics
3182 * structure depending on statsMask.*/
3183}WDI_GetStatsRspParamsType;
3184
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003185#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08003186/*---------------------------------------------------------------------------
3187 WDI_GetRoamRssiParamsInfoType
3188---------------------------------------------------------------------------*/
3189typedef struct
3190{
3191 /*Indicates the station for which Get Stats are requested..*/
3192 wpt_uint8 ucSTAIdx;
3193
3194 /* categories of stats requested */
3195 wpt_uint32 uStatsMask;
3196}WDI_GetRoamRssiParamsInfoType;
3197
3198/*---------------------------------------------------------------------------
3199 WDI_GetRoamRssiReqParamsType
3200---------------------------------------------------------------------------*/
3201typedef struct
3202{
3203 /*Get Roam Rssi Params Info*/
3204 WDI_GetRoamRssiParamsInfoType wdiGetRoamRssiParamsInfo;
3205
3206 /*Request status callback offered by UMAC - it is called if the current
3207 req has returned PENDING as status; it delivers the status of sending
3208 the message over the BUS */
3209 WDI_ReqStatusCb wdiReqStatusCB;
3210
3211 /*The user data passed in by UMAC, it will be sent back when the above
3212 function pointer will be called */
3213 void* pUserData;
3214}WDI_GetRoamRssiReqParamsType;
3215
3216/*---------------------------------------------------------------------------
3217 WDI_GetRoamRssiRspParamsType
3218---------------------------------------------------------------------------*/
3219typedef struct
3220{
3221 /*Result of the operation*/
3222 WDI_Status wdiStatus;
3223
3224 /*Indicates the station for which Get Stats are requested..*/
3225 wpt_uint8 ucSTAIdx;
3226
3227 /* roam rssi requested */
3228 wpt_int8 rssi;
3229
3230 /* The Stats buffer starts here and can be an aggregate of more than one statistics
3231 * structure depending on statsMask.*/
3232}WDI_GetRoamRssiRspParamsType;
3233#endif
3234
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003235#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07003236/*---------------------------------------------------------------------------
3237 WDI_TSMStatsParamsInfoType
3238---------------------------------------------------------------------------*/
3239typedef struct
3240{
3241 /*Indicates the station for which Get Stats are requested..*/
3242 wpt_uint8 ucTid;
3243
3244 wpt_macAddr bssid;
3245}WDI_TSMStatsParamsInfoType;
3246
3247/*---------------------------------------------------------------------------
3248 WDI_TSMStatsReqParamsType
3249---------------------------------------------------------------------------*/
3250typedef struct
3251{
3252 /*Get TSM Stats Params Info*/
3253 WDI_TSMStatsParamsInfoType wdiTsmStatsParamsInfo;
3254
3255 WDI_ReqStatusCb wdiReqStatusCB;
3256
3257 /*The user data passed in by UMAC, it will be sent back when the above
3258 function pointer will be called */
3259 void* pUserData;
3260
3261}WDI_TSMStatsReqParamsType;
3262
3263
3264/*---------------------------------------------------------------------------
3265 WDI_TSMStatsRspParamsType
3266---------------------------------------------------------------------------*/
3267typedef struct
3268{
3269 /*Indicates the status of the operation */
3270 WDI_Status wdiStatus;
3271
3272 wpt_uint16 UplinkPktQueueDly;
3273 wpt_uint16 UplinkPktQueueDlyHist[4];
3274 wpt_uint32 UplinkPktTxDly;
3275 wpt_uint16 UplinkPktLoss;
3276 wpt_uint16 UplinkPktCount;
3277 wpt_uint8 RoamingCount;
3278 wpt_uint16 RoamingDly;
3279}WDI_TSMStatsRspParamsType;
3280
3281
3282#endif
3283/*---------------------------------------------------------------------------
3284 WDI_UpdateCfgReqParamsType
3285---------------------------------------------------------------------------*/
3286typedef struct
3287{
3288 /*This is a TLV formatted buffer containing all config values that can
3289 be set through the DAL Interface
3290
3291 The TLV is expected to be formatted like this:
3292
3293 0 7 15 31 ....
3294 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
3295
3296 Or from a C construct point of VU it would look like this:
3297
3298 typedef struct WPT_PACK_POST
3299 {
3300 #ifdef WPT_BIG_ENDIAN
3301 wpt_uint32 ucCfgId:8;
3302 wpt_uint32 ucCfgLen:8;
3303 wpt_uint32 usReserved:16;
3304 #else
3305 wpt_uint32 usReserved:16;
3306 wpt_uint32 ucCfgLen:8;
3307 wpt_uint32 ucCfgId:8;
3308 #endif
3309
3310 wpt_uint8 ucCfgBody[ucCfgLen];
3311 }WDI_ConfigType;
3312
3313 Multiple such tuplets are to be placed in the config buffer. One for
3314 each required configuration item:
3315
3316 | TLV 1 | TLV2 | ....
3317
3318 The buffer is expected to be a flat area of memory that can be manipulated
3319 with standard memory routines.
3320
3321 For more info please check paragraph 2.3.1 Config Structure from the
3322 HAL LLD.
3323
3324 For a list of accepted configuration list and IDs please look up
3325 wlan_qct_dal_cfg.h
3326 */
3327 void* pConfigBuffer;
3328
3329 /*Length of the config buffer above*/
3330 wpt_uint32 uConfigBufferLen;
3331
3332 /*Request status callback offered by UMAC - it is called if the current
3333 req has returned PENDING as status; it delivers the status of sending
3334 the message over the BUS */
3335 WDI_ReqStatusCb wdiReqStatusCB;
3336
3337 /*The user data passed in by UMAC, it will be sent back when the above
3338 function pointer will be called */
3339 void* pUserData;
3340}WDI_UpdateCfgReqParamsType;
3341
3342/*---------------------------------------------------------------------------
3343 WDI_UpdateProbeRspTemplateInfoType
3344---------------------------------------------------------------------------*/
3345//Default Beacon template size
3346#define WDI_PROBE_RSP_TEMPLATE_SIZE 0x180
3347
3348#define WDI_PROBE_REQ_BITMAP_IE_LEN 8
3349
3350typedef struct
3351{
3352 /*BSSID for which the Probe Template is to be used*/
3353 wpt_macAddr macBSSID;
3354
3355 /*Probe response template*/
3356 wpt_uint8 *pProbeRespTemplate[WDI_PROBE_RSP_TEMPLATE_SIZE];
3357
3358 /*Template Len*/
3359 wpt_uint32 uProbeRespTemplateLen;
3360
3361 /*Bitmap for the IEs that are to be handled at SLM level*/
3362 wpt_uint32 uaProxyProbeReqValidIEBmap[WDI_PROBE_REQ_BITMAP_IE_LEN];
3363
3364}WDI_UpdateProbeRspTemplateInfoType;
3365
3366/*---------------------------------------------------------------------------
3367 WDI_UpdateProbeRspParamsType
3368---------------------------------------------------------------------------*/
3369typedef struct
3370{
3371 /*Link Info*/
3372 WDI_UpdateProbeRspTemplateInfoType wdiProbeRspTemplateInfo;
3373
3374 /*Request status callback offered by UMAC - it is called if the current
3375 req has returned PENDING as status; it delivers the status of sending
3376 the message over the BUS */
3377 WDI_ReqStatusCb wdiReqStatusCB;
3378
3379 /*The user data passed in by UMAC, it will be sent back when the above
3380 function pointer will be called */
3381 void* pUserData;
3382}WDI_UpdateProbeRspTemplateParamsType;
3383
3384/*---------------------------------------------------------------------------
3385 WDI_NvDownloadReqBlobInfo
3386---------------------------------------------------------------------------*/
3387
3388typedef struct
3389{
3390 /* Blob starting address*/
3391 void *pBlobAddress;
3392
3393 /* Blob size */
3394 wpt_uint32 uBlobSize;
3395
3396}WDI_NvDownloadReqBlobInfo;
3397
3398/*---------------------------------------------------------------------------
3399 WDI_NvDownloadReqParamsType
3400---------------------------------------------------------------------------*/
3401typedef struct
3402{
3403 /*NV Blob Info*/
3404 WDI_NvDownloadReqBlobInfo wdiBlobInfo;
3405
3406 /*Request status callback offered by UMAC - it is called if the current
3407 req has returned PENDING as status; it delivers the status of sending
3408 the message over the BUS */
3409 WDI_ReqStatusCb wdiReqStatusCB;
3410
3411 /*The user data passed in by UMAC, it will be sent back when the above
3412 function pointer will be called */
3413 void* pUserData;
3414
3415}WDI_NvDownloadReqParamsType;
3416
3417/*---------------------------------------------------------------------------
3418 WDI_NvDownloadRspInfoType
3419---------------------------------------------------------------------------*/
3420typedef struct
3421{
3422 /*Status of the response*/
3423 WDI_Status wdiStatus;
3424
3425}WDI_NvDownloadRspInfoType;
3426
3427/*---------------------------------------------------------------------------
3428 WDI_SetMaxTxPowerInfoType
3429---------------------------------------------------------------------------*/
3430
3431typedef struct
3432{
3433 /*BSSID is needed to identify which session issued this request. As the request has
3434 power constraints, this should be applied only to that session*/
3435 wpt_macAddr macBSSId;
3436
3437
3438 wpt_macAddr macSelfStaMacAddr;
3439
3440 /* In request power == MaxTxpower to be used.*/
3441 wpt_int8 ucPower;
3442
3443}WDI_SetMaxTxPowerInfoType;
3444
3445/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003446 WDI_SetTxPowerInfoType
3447---------------------------------------------------------------------------*/
3448
3449typedef struct
3450{
3451 wpt_uint8 bssIdx;
3452 /* In request power == MaxTxpower to be used.*/
3453 wpt_uint8 ucPower;
3454
3455}WDI_SetTxPowerInfoType;
3456
3457/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003458 WDI_SetMaxTxPowerParamsType
3459---------------------------------------------------------------------------*/
3460typedef struct
3461{
3462 /*Link Info*/
3463 WDI_SetMaxTxPowerInfoType wdiMaxTxPowerInfo;
3464
3465 /*Request status callback offered by UMAC - it is called if the current
3466 req has returned PENDING as status; it delivers the status of sending
3467 the message over the BUS */
3468 WDI_ReqStatusCb wdiReqStatusCB;
3469
3470 /*The user data passed in by UMAC, it will be sent back when the above
3471 function pointer will be called */
3472 void* pUserData;
3473}WDI_SetMaxTxPowerParamsType;
3474
schang86c22c42013-03-13 18:41:24 -07003475/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07003476 WDI_Band
3477---------------------------------------------------------------------------*/
3478typedef enum
3479{
3480 WDI_BAND_ALL,
3481 WDI_BAND_24,
3482 WDI_BAND_5G,
3483 WDI_BAND_MAX,
3484}eWDIBand;
3485
3486/*---------------------------------------------------------------------------
3487 WDI_MaxTxPowerPerBandInfoType
3488---------------------------------------------------------------------------*/
3489typedef struct
3490{
3491 eWDIBand bandInfo;
3492 /* In request power == MaxTxpower to be used.*/
3493 wpt_uint8 ucPower;
3494}WDI_MaxTxPowerPerBandInfoType;
3495
3496/*---------------------------------------------------------------------------
3497 WDI_SetMaxTxPowerPerBandParamsType
3498---------------------------------------------------------------------------*/
3499typedef struct
3500{
3501 /*Link Info*/
3502 WDI_MaxTxPowerPerBandInfoType wdiMaxTxPowerPerBandInfo;
3503
3504 /*Request status callback offered by UMAC - it is called if the current
3505 req has returned PENDING as status; it delivers the status of sending
3506 the message over the BUS */
3507 WDI_ReqStatusCb wdiReqStatusCB;
3508
3509 /*The user data passed in by UMAC, it will be sent back when the above
3510 function pointer will be called */
3511 void* pUserData;
3512}WDI_SetMaxTxPowerPerBandParamsType;
3513
3514/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003515 WDI_SetTxPowerParamsType
3516---------------------------------------------------------------------------*/
3517typedef struct
3518{
3519 /*Link Info*/
3520 WDI_SetTxPowerInfoType wdiTxPowerInfo;
3521
3522 /*Request status callback offered by UMAC - it is called if the current
3523 req has returned PENDING as status; it delivers the status of sending
3524 the message over the BUS */
3525 WDI_ReqStatusCb wdiReqStatusCB;
3526
3527 /*The user data passed in by UMAC, it will be sent back when the above
3528 function pointer will be called */
3529 void* pUserData;
3530}WDI_SetTxPowerParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003531
3532/*---------------------------------------------------------------------------
3533 WDI_SetMaxTxPowerRspMsg
3534---------------------------------------------------------------------------*/
3535
3536typedef struct
3537{
3538 /* In response, power==tx power used for management frames*/
3539 wpt_int8 ucPower;
3540
3541 /*Result of the operation*/
3542 WDI_Status wdiStatus;
3543
3544}WDI_SetMaxTxPowerRspMsg;
3545
schang86c22c42013-03-13 18:41:24 -07003546/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07003547 WDI_SetMaxTxPowerPerBandRspMsg
3548---------------------------------------------------------------------------*/
3549typedef struct
3550{
3551 /* In response, power==tx power used for management frames*/
3552 wpt_int8 ucPower;
3553
3554 /*Result of the operation*/
3555 WDI_Status wdiStatus;
3556
3557}WDI_SetMaxTxPowerPerBandRspMsg;
3558
3559/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003560 WDI_SetTxPowerRspMsg
3561---------------------------------------------------------------------------*/
3562
3563typedef struct
3564{
3565 /* In response, power==tx power used for management frames*/
3566 wpt_int8 ucPower;
3567
3568 /*Result of the operation*/
3569 WDI_Status wdiStatus;
3570
3571}WDI_SetTxPowerRspMsg;
3572
Jeff Johnson295189b2012-06-20 16:38:30 -07003573typedef struct
3574{
3575 wpt_uint8 ucOpp_ps;
3576 wpt_uint32 uCtWindow;
3577 wpt_uint8 ucCount;
3578 wpt_uint32 uDuration;
3579 wpt_uint32 uInterval;
3580 wpt_uint32 uSingle_noa_duration;
3581 wpt_uint8 ucPsSelection;
3582}WDI_SetP2PGONOAReqInfoType;
3583
3584/*---------------------------------------------------------------------------
3585 WDI_SetP2PGONOAReqParamsType
3586---------------------------------------------------------------------------*/
3587typedef struct
3588{
3589 /*P2P GO NOA Req*/
3590 WDI_SetP2PGONOAReqInfoType wdiP2PGONOAInfo;
3591
3592 /*Request status callback offered by UMAC - it is called if the current
3593 req has returned PENDING as status; it delivers the status of sending
3594 the message over the BUS */
3595 WDI_ReqStatusCb wdiReqStatusCB;
3596
3597 /*The user data passed in by UMAC, it will be sent back when the above
3598 function pointer will be called */
3599 void* pUserData;
3600}WDI_SetP2PGONOAReqParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003601
Naresh Jayaramc7cbd782014-02-04 17:38:23 +05303602#define WDI_MAX_SUPP_CHANNELS 128
3603#define WDI_MAX_SUPP_OPER_CLASSES 32
3604
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303605typedef struct
3606{
3607 wpt_uint16 uStaIdx;
3608 wpt_uint8 uIsResponder;
3609 wpt_uint8 uUapsdQueues;
3610 wpt_uint8 uMaxSp;
3611 wpt_uint8 uIsBufSta;
Naresh Jayaramc7cbd782014-02-04 17:38:23 +05303612 wpt_uint8 uIsOffChannelSupported;
3613 wpt_uint8 peerCurrOperClass;
3614 wpt_uint8 selfCurrOperClass;
3615 wpt_uint8 validChannelsLen;
3616 wpt_uint8 validChannels[WDI_MAX_SUPP_CHANNELS];
3617 wpt_uint8 validOperClassesLen;
3618 wpt_uint8 validOperClasses[WDI_MAX_SUPP_OPER_CLASSES];
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303619}WDI_SetTDLSLinkEstablishReqInfoType;
3620/*---------------------------------------------------------------------------
3621 WDI_SetTDLSLinkEstablishReqParamsType
3622---------------------------------------------------------------------------*/
3623typedef struct
3624{
3625 /*TDLS Link Establish Req*/
3626 WDI_SetTDLSLinkEstablishReqInfoType wdiTDLSLinkEstablishInfo;
3627
3628 /*Request status callback offered by UMAC - it is called if the current
3629 req has returned PENDING as status; it delivers the status of sending
3630 the message over the BUS */
3631 WDI_ReqStatusCb wdiReqStatusCB;
3632
3633 /*The user data passed in by UMAC, it will be sent back when the above
3634 function pointer will be called */
3635 void* pUserData;
3636}WDI_SetTDLSLinkEstablishReqParamsType;
3637
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05303638typedef struct
3639{
3640 /*Result of the operation*/
3641 WDI_Status wdiStatus;
3642
3643 /*STA Idx*/
3644 wpt_uint16 uStaIdx;
3645}WDI_SetTdlsLinkEstablishReqResp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003646
Atul Mittalc0f739f2014-07-31 13:47:47 +05303647
3648
3649typedef struct
3650{
3651 /*STA Index*/
3652 wpt_uint8 staIdx;
3653 /* if this is 1, self is initiator otherwise responder only*/
3654 wpt_uint8 isOffchannelInitiator;
3655 /*TDLS off channel related params */
3656 wpt_uint8 targetOperClass;
3657 wpt_uint8 targetChannel;
3658 wpt_uint8 secondaryChannelOffset;
3659 wpt_uint8 reserved[64];
3660}WDI_SetTDLSChanSwitchReqInfoType;
3661
3662typedef struct
3663{
3664 WDI_SetTDLSChanSwitchReqInfoType wdiTDLSChanSwitchReqInfo;
3665 WDI_ReqStatusCb wdiReqStatusCB;
3666 void* pUserData;
3667}WDI_SetTDLSChanSwitchReqParamsType;
3668
3669
3670typedef struct
3671{
3672 /*Result of the operation*/
3673 WDI_Status wdiStatus;
3674
3675 /*STA Idx*/
3676 wpt_uint16 uStaIdx;
3677}WDI_SetTdlsChanSwitchReqResp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003678/*---------------------------------------------------------------------------
3679 WDI_SetAddSTASelfParamsType
3680---------------------------------------------------------------------------*/
3681typedef struct
3682{
3683 /*Self Station MAC address*/
3684 wpt_macAddr selfMacAddr;
3685
Kiran Kumar Lokere0ad5cd32013-06-25 11:26:22 -07003686 /*Self STA device mode*/
3687 wpt_uint32 currDeviceMode;
3688
Jeff Johnson295189b2012-06-20 16:38:30 -07003689 /*Status of the operation*/
3690 wpt_uint32 uStatus;
3691}WDI_AddSTASelfInfoType;
3692
3693/*---------------------------------------------------------------------------
3694 WDI_SetAddSTASelfParamsType
3695---------------------------------------------------------------------------*/
3696typedef struct
3697{
3698 /* Add Sta Self Req */
3699 WDI_AddSTASelfInfoType wdiAddSTASelfInfo;
3700
3701 /*Request status callback offered by UMAC - it is called if the current
3702 req has returned PENDING as status; it delivers the status of sending
3703 the message over the BUS */
3704 WDI_ReqStatusCb wdiReqStatusCB;
3705
3706 /*The user data passed in by UMAC, it will be sent back when the above
3707 function pointer will be called */
3708 void* pUserData;
3709}WDI_AddSTASelfReqParamsType;
3710
3711
3712/*---------------------------------------------------------------------------
3713 WDI_AddSTASelfRspParamsType
3714---------------------------------------------------------------------------*/
3715typedef struct
3716{
3717 /*Status of the response*/
3718 WDI_Status wdiStatus;
3719
3720 /*STA Idx allocated by HAL*/
3721 wpt_uint8 ucSTASelfIdx;
3722
3723 /* DPU Index (IGTK, PTK, GTK all same) */
3724 wpt_uint8 dpuIdx;
3725
3726 /* DPU Signature */
3727 wpt_uint8 dpuSignature;
3728
3729 /*Self STA Mac*/
3730 wpt_macAddr macSelfSta;
3731
3732}WDI_AddSTASelfRspParamsType;
3733
3734/*---------------------------------------------------------------------------
3735 WDI_DelSTASelfReqParamsType
3736 Del Sta Self info passed to WDI form WDA
3737---------------------------------------------------------------------------*/
3738typedef struct
3739{
3740 wpt_macAddr selfMacAddr;
3741
3742}WDI_DelSTASelfInfoType;
3743
3744/*---------------------------------------------------------------------------
3745 WDI_DelSTASelfReqParamsType
3746 Del Sta Self info passed to WDI form WDA
3747---------------------------------------------------------------------------*/
3748typedef struct
3749{
3750 /*Del Sta Self Info Type */
3751 WDI_DelSTASelfInfoType wdiDelStaSelfInfo;
3752 /*Request status callback offered by UMAC - it is called if the current req
3753 has returned PENDING as status; it delivers the status of sending the message
3754 over the BUS */
3755 WDI_ReqStatusCb wdiReqStatusCB;
3756 /*The user data passed in by UMAC, it will be sent back when the above
3757 function pointer will be called */
3758 void* pUserData;
3759}WDI_DelSTASelfReqParamsType;
3760
3761/*---------------------------------------------------------------------------
3762 WDI_DelSTASelfRspParamsType
3763---------------------------------------------------------------------------*/
3764typedef struct
3765{
3766 /*Status of the response*/
3767 WDI_Status wdiStatus;
3768
3769 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
3770// wpt_uint8 ucSTAIdx;
3771}WDI_DelSTASelfRspParamsType;
3772
3773/*---------------------------------------------------------------------------
3774 WDI_UapsdInfoType
3775 UAPSD parameters passed per AC to WDA from UMAC
3776---------------------------------------------------------------------------*/
3777typedef struct
3778{
3779 wpt_uint8 ucSTAIdx; // STA index
3780 wpt_uint8 ucAc; // Access Category
3781 wpt_uint8 ucUp; // User Priority
3782 wpt_uint32 uSrvInterval; // Service Interval
3783 wpt_uint32 uSusInterval; // Suspend Interval
3784 wpt_uint32 uDelayInterval; // Delay Interval
3785} WDI_UapsdInfoType;
3786
3787/*---------------------------------------------------------------------------
3788 WDI_SetUapsdAcParamsReqParamsType
3789 UAPSD parameters passed per AC to WDI from WDA
3790---------------------------------------------------------------------------*/
3791typedef struct
3792{
3793 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3794 WDI_UapsdInfoType wdiUapsdInfo;
3795 /*Request status callback offered by UMAC - it is called if the current req
3796 has returned PENDING as status; it delivers the status of sending the message
3797 over the BUS */
3798 WDI_ReqStatusCb wdiReqStatusCB;
3799 /*The user data passed in by UMAC, it will be sent back when the above
3800 function pointer will be called */
3801 void* pUserData;
3802}WDI_SetUapsdAcParamsReqParamsType;
3803
3804/*---------------------------------------------------------------------------
3805 WDI_EnterBmpsReqinfoType
3806 Enter BMPS parameters passed to WDA from UMAC
3807---------------------------------------------------------------------------*/
3808typedef struct
3809{
3810 //TBTT value derived from the last beacon
3811 wpt_uint8 ucBssIdx;
3812 wpt_uint64 uTbtt;
3813 wpt_uint8 ucDtimCount;
3814 //DTIM period given to HAL during association may not be valid,
3815 //if association is based on ProbeRsp instead of beacon.
3816 wpt_uint8 ucDtimPeriod;
3817 /* DXE physical addr to be passed down to RIVA. RIVA HAL will use it to program
3818 DXE when DXE wakes up from power save*/
3819 unsigned int dxePhyAddr;
3820
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003821 // For ESE and 11R Roaming
Jeff Johnson295189b2012-06-20 16:38:30 -07003822 wpt_uint32 rssiFilterPeriod;
3823 wpt_uint32 numBeaconPerRssiAverage;
3824 wpt_uint8 bRssiFilterEnable;
3825}WDI_EnterBmpsReqinfoType;
3826
3827/*---------------------------------------------------------------------------
3828 WDI_EnterBmpsReqParamsType
3829 Enter BMPS parameters passed to WDI from WDA
3830---------------------------------------------------------------------------*/
3831typedef struct
3832{
3833 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3834 WDI_EnterBmpsReqinfoType wdiEnterBmpsInfo;
3835 /*Request status callback offered by UMAC - it is called if the current req
3836 has returned PENDING as status; it delivers the status of sending the message
3837 over the BUS */
3838 WDI_ReqStatusCb wdiReqStatusCB;
3839 /*The user data passed in by UMAC, it will be sent back when the above
3840 function pointer will be called */
3841 void* pUserData;
3842}WDI_EnterBmpsReqParamsType;
3843
3844/*---------------------------------------------------------------------------
Mihir Shetea4306052014-03-25 00:02:54 +05303845 WDI_EnterImpsReqParamsType
3846 Enter IMPS parameters passed to WDI from WDA
3847---------------------------------------------------------------------------*/
3848typedef struct
3849{
3850 /*Request status callback offered by UMAC - it is called if the current req
3851 has returned PENDING as status; it delivers the status of sending the message
3852 over the BUS */
3853 WDI_ReqStatusCb wdiReqStatusCB;
3854 /*The user data passed in by UMAC, it will be sent back when the above
3855 function pointer will be called */
3856 void* pUserData;
3857}WDI_EnterImpsReqParamsType;
3858
3859/*---------------------------------------------------------------------------
Mahesh A Saptasagar329813b2014-12-15 12:16:51 +05303860 WDI_ExitImpsReqParamsType
3861 Exit IMPS parameters passed to WDI from WDA
3862----------------------------------------------------------------------------*/
3863typedef struct
3864{
3865 /*Request status callback offered by UMAC */
3866 WDI_ReqStatusCb wdiReqStatusCB;
3867 /*The user data passed in by UMAC, it will be sent back when the above
3868 function pointer will be called */
3869 void* pUserData;
3870
3871}WDI_ExitImpsReqParamsType;
3872
3873/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003874 WDI_EnterBmpsReqParamsType
3875 Enter BMPS parameters passed from WDI to WDA
3876---------------------------------------------------------------------------*/
3877typedef struct
3878{
3879 /*Status of the response*/
3880 WDI_Status wdiStatus;
3881
3882 /*BssIDX of the session*/
3883 wpt_uint8 bssIdx;
3884}WDI_EnterBmpsRspParamsType;
3885
3886/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003887 WDI_ExitBmpsReqinfoType
3888 Exit BMPS parameters passed to WDA from UMAC
3889---------------------------------------------------------------------------*/
3890typedef struct
3891{
3892 wpt_uint8 ucSendDataNull;
Jeff Johnsone7245742012-09-05 17:12:55 -07003893 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003894}WDI_ExitBmpsReqinfoType;
3895
3896/*---------------------------------------------------------------------------
3897 WDI_ExitBmpsReqParamsType
3898 Exit BMPS parameters passed to WDI from WDA
3899---------------------------------------------------------------------------*/
3900typedef struct
3901{
3902 /*Exit BMPS Info Type, same as tExitBmpsParams */
3903 WDI_ExitBmpsReqinfoType wdiExitBmpsInfo;
3904 /*Request status callback offered by UMAC - it is called if the current req
3905 has returned PENDING as status; it delivers the status of sending the message
3906 over the BUS */
3907 WDI_ReqStatusCb wdiReqStatusCB;
3908 /*The user data passed in by UMAC, it will be sent back when the above
3909 function pointer will be called */
3910 void* pUserData;
3911}WDI_ExitBmpsReqParamsType;
3912
3913/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003914 WDI_ExitBmpsReqParamsType
3915 Exit BMPS parameters passed from WDI to WDA
3916---------------------------------------------------------------------------*/
3917typedef struct
3918{
3919 /*Status of the response*/
3920 WDI_Status wdiStatus;
3921
3922 /*BssIDX of the session*/
3923 wpt_uint8 bssIdx;
3924}WDI_ExitBmpsRspParamsType;
3925
3926/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003927 WDI_EnterUapsdReqinfoType
3928 Enter UAPSD parameters passed to WDA from UMAC
3929---------------------------------------------------------------------------*/
3930typedef struct
3931{
3932 wpt_uint8 ucBkDeliveryEnabled:1;
3933 wpt_uint8 ucBeDeliveryEnabled:1;
3934 wpt_uint8 ucViDeliveryEnabled:1;
3935 wpt_uint8 ucVoDeliveryEnabled:1;
3936 wpt_uint8 ucBkTriggerEnabled:1;
3937 wpt_uint8 ucBeTriggerEnabled:1;
3938 wpt_uint8 ucViTriggerEnabled:1;
3939 wpt_uint8 ucVoTriggerEnabled:1;
Jeff Johnsone7245742012-09-05 17:12:55 -07003940 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003941}WDI_EnterUapsdReqinfoType;
3942
3943/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003944 WDI_EnterUapsdRspParamsType
3945 Enter UAPSD parameters passed from WDI to WDA
3946---------------------------------------------------------------------------*/
3947typedef struct
3948{
3949 /*Status of the response*/
3950 WDI_Status wdiStatus;
3951
3952 /*BssIDX of the session*/
3953 wpt_uint8 bssIdx;
3954}WDI_EnterUapsdRspParamsType;
3955
3956/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003957 WDI_EnterUapsdReqinfoType
3958 Enter UAPSD parameters passed to WDI from WDA
3959---------------------------------------------------------------------------*/
3960typedef struct
3961{
3962 /*Enter UAPSD Info Type, same as tUapsdParams */
3963 WDI_EnterUapsdReqinfoType wdiEnterUapsdInfo;
3964 /*Request status callback offered by UMAC - it is called if the current req
3965 has returned PENDING as status; it delivers the status of sending the message
3966 over the BUS */
3967 WDI_ReqStatusCb wdiReqStatusCB;
3968 /*The user data passed in by UMAC, it will be sent back when the above
3969 function pointer will be called */
3970 void* pUserData;
3971}WDI_EnterUapsdReqParamsType;
3972
3973/*---------------------------------------------------------------------------
3974 WDI_UpdateUapsdReqinfoType
3975 Update UAPSD parameters passed to WDA from UMAC
3976---------------------------------------------------------------------------*/
3977typedef struct
3978{
3979 wpt_uint8 ucSTAIdx;
3980 wpt_uint8 ucUapsdACMask;
3981 wpt_uint32 uMaxSpLen;
3982}WDI_UpdateUapsdReqinfoType;
3983
3984/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003985 WDI_ExitUapsdReqinfoType
3986 Exit UAPSD parameters passed to WDA from UMAC
3987---------------------------------------------------------------------------*/
3988typedef struct
3989{
3990 wpt_uint8 bssIdx;
3991}WDI_ExitUapsdReqinfoType;
3992
3993/*---------------------------------------------------------------------------
3994 WDI_ExitUapsdReqParamsType
3995 Exit UAPSD parameters passed to WDI from WDA
3996---------------------------------------------------------------------------*/
3997typedef struct
3998{
3999 /*Exit UAPSD Info Type, same as tUapsdParams */
4000 WDI_ExitUapsdReqinfoType wdiExitUapsdInfo;
4001 /*Request status callback offered by UMAC - it is called if the current req
4002 has returned PENDING as status; it delivers the status of sending the message
4003 over the BUS */
4004 WDI_ReqStatusCb wdiReqStatusCB;
4005 /*The user data passed in by UMAC, it will be sent back when the above
4006 function pointer will be called */
4007 void* pUserData;
4008}WDI_ExitUapsdReqParamsType;
4009
4010/*---------------------------------------------------------------------------
4011 WDI_ExitUapsdRspParamsType
4012 Exit UAPSD parameters passed from WDI to WDA
4013---------------------------------------------------------------------------*/
4014typedef struct
4015{
4016 /*Status of the response*/
4017 WDI_Status wdiStatus;
4018
4019 /*BssIDX of the session*/
4020 wpt_uint8 bssIdx;
4021}WDI_ExitUapsdRspParamsType;
4022
4023/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004024 WDI_UpdateUapsdReqParamsType
4025 Update UAPSD parameters passed to WDI form WDA
4026---------------------------------------------------------------------------*/
4027typedef struct
4028{
4029 /*Update UAPSD Info Type, same as tUpdateUapsdParams */
4030 WDI_UpdateUapsdReqinfoType wdiUpdateUapsdInfo;
4031 /*Request status callback offered by UMAC - it is called if the current req
4032 has returned PENDING as status; it delivers the status of sending the message
4033 over the BUS */
4034 WDI_ReqStatusCb wdiReqStatusCB;
4035 /*The user data passed in by UMAC, it will be sent back when the above
4036 function pointer will be called */
4037 void* pUserData;
4038}WDI_UpdateUapsdReqParamsType;
4039
4040/*---------------------------------------------------------------------------
4041 WDI_ConfigureRxpFilterReqParamsType
4042 RXP filter parameters passed to WDI form WDA
4043---------------------------------------------------------------------------*/
4044typedef struct
4045{
4046 /* Mode of Mcast and Bcast filters configured */
4047 wpt_uint8 ucSetMcstBcstFilterSetting;
4048
4049 /* Mcast Bcast Filters enable/disable*/
4050 wpt_uint8 ucSetMcstBcstFilter;
4051}WDI_RxpFilterReqParamsType;
4052
4053typedef struct
4054{
4055 /* Rxp Filter */
4056 WDI_RxpFilterReqParamsType wdiRxpFilterParam;
4057
4058 /*Request status callback offered by UMAC - it is called if the current req
4059 has returned PENDING as status; it delivers the status of sending the message
4060 over the BUS */
4061 WDI_ReqStatusCb wdiReqStatusCB;
4062 /*The user data passed in by UMAC, it will be sent back when the above
4063 function pointer will be called */
4064 void* pUserData;
4065}WDI_ConfigureRxpFilterReqParamsType;
4066
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05304067typedef struct
4068{
4069 wpt_uint8 enableFlag;
4070 wpt_uint8 frameType;
4071 wpt_uint8 frameSize;
4072 wpt_uint8 bufferMode;
Siddharth Bhald1be97f2015-05-27 22:39:59 +05304073 wpt_uint8 continuousFrameLogging;
4074 wpt_uint8 minLogBufferSize;
4075 wpt_uint8 maxLogBufferSize;
4076}WDI_FWLoggingInitReqInfoType;
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05304077
Siddharth Bhal64246172015-02-27 01:04:37 +05304078typedef struct
4079{
4080 wpt_uint8 flags;
4081}WDI_GetFrameLogReqInfoType;
4082
Siddharth Bhald1be97f2015-05-27 22:39:59 +05304083typedef struct
4084{
4085 wpt_uint64 logBuffAddress[MAX_NUM_OF_BUFFER];
4086 wpt_uint32 status;
4087 wpt_uint32 logBuffLength[MAX_NUM_OF_BUFFER];
4088}WDI_FWLoggingDXEdoneIndInfoType;
4089
Jeff Johnson295189b2012-06-20 16:38:30 -07004090/*---------------------------------------------------------------------------
4091 WDI_BeaconFilterInfoType
4092 Beacon Filtering data structures passed to WDA form UMAC
4093---------------------------------------------------------------------------*/
4094typedef struct
4095{
4096 wpt_uint16 usCapabilityInfo;
4097 wpt_uint16 usCapabilityMask;
4098 wpt_uint16 usBeaconInterval;
4099 wpt_uint16 usIeNum;
Madan Mohan Koyyalamudia84edda2012-10-15 14:58:25 -07004100 wpt_uint8 bssIdx;
4101 wpt_uint8 reserved;
Jeff Johnson295189b2012-06-20 16:38:30 -07004102}WDI_BeaconFilterInfoType;
4103
4104/*---------------------------------------------------------------------------
4105 WDI_BeaconFilterReqParamsType
4106 Beacon Filtering parameters passed to WDI form WDA
4107---------------------------------------------------------------------------*/
4108typedef struct
4109{
4110 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
4111 WDI_BeaconFilterInfoType wdiBeaconFilterInfo;
4112 /*Beacon Filter(s) follow the "usIeNum" field, hence the array to ease the
4113 copy of params from WDA to WDI */
4114 wpt_uint8 aFilters[WDI_BEACON_FILTER_LEN];
4115 /*Request status callback offered by UMAC - it is called if the current req
4116 has returned PENDING as status; it delivers the status of sending the message
4117 over the BUS */
4118 WDI_ReqStatusCb wdiReqStatusCB;
4119 /*The user data passed in by UMAC, it will be sent back when the above
4120 function pointer will be called */
4121 void* pUserData;
4122}WDI_BeaconFilterReqParamsType;
4123
4124/*---------------------------------------------------------------------------
4125 WDI_RemBeaconFilterInfoType
4126 Beacon Filtering data structures (to be reomoved) passed to WDA form UMAC
4127---------------------------------------------------------------------------*/
4128typedef struct
4129{
4130 wpt_uint8 ucIeCount;
4131 wpt_uint8 ucRemIeId[1];
4132}WDI_RemBeaconFilterInfoType;
4133
4134/*---------------------------------------------------------------------------
4135 WDI_RemBeaconFilterReqParamsType
4136 Beacon Filtering parameters (to be reomoved)passed to WDI form WDA
4137---------------------------------------------------------------------------*/
4138typedef struct
4139{
4140 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
4141 WDI_RemBeaconFilterInfoType wdiBeaconFilterInfo;
4142 /*Request status callback offered by UMAC - it is called if the current req
4143 has returned PENDING as status; it delivers the status of sending the message
4144 over the BUS */
4145 WDI_ReqStatusCb wdiReqStatusCB;
4146 /*The user data passed in by UMAC, it will be sent back when the above
4147 function pointer will be called */
4148 void* pUserData;
4149}WDI_RemBeaconFilterReqParamsType;
4150
4151/*---------------------------------------------------------------------------
4152 WDI_RSSIThresholdsType
4153 RSSI thresholds data structures (to be reomoved) passed to WDA form UMAC
4154---------------------------------------------------------------------------*/
4155typedef struct
4156{
4157 wpt_int8 ucRssiThreshold1 : 8;
4158 wpt_int8 ucRssiThreshold2 : 8;
4159 wpt_int8 ucRssiThreshold3 : 8;
4160 wpt_uint8 bRssiThres1PosNotify : 1;
4161 wpt_uint8 bRssiThres1NegNotify : 1;
4162 wpt_uint8 bRssiThres2PosNotify : 1;
4163 wpt_uint8 bRssiThres2NegNotify : 1;
4164 wpt_uint8 bRssiThres3PosNotify : 1;
4165 wpt_uint8 bRssiThres3NegNotify : 1;
4166 wpt_uint8 bReserved10 : 2;
4167} WDI_RSSIThresholdsType;
4168
4169/*---------------------------------------------------------------------------
4170 WDI_SetRSSIThresholdsReqParamsType
4171 RSSI thresholds parameters (to be reomoved)passed to WDI form WDA
4172---------------------------------------------------------------------------*/
4173typedef struct
4174{
4175 /*RSSI thresholds Info Type, same as WDI_RSSIThresholds */
4176 WDI_RSSIThresholdsType wdiRSSIThresholdsInfo;
4177 /*Request status callback offered by UMAC - it is called if the current req
4178 has returned PENDING as status; it delivers the status of sending the message
4179 over the BUS */
4180 WDI_ReqStatusCb wdiReqStatusCB;
4181 /*The user data passed in by UMAC, it will be sent back when the above
4182 function pointer will be called */
4183 void* pUserData;
4184}WDI_SetRSSIThresholdsReqParamsType;
4185
4186/*---------------------------------------------------------------------------
4187 WDI_HostOffloadReqType
4188 host offload info passed to WDA form UMAC
4189---------------------------------------------------------------------------*/
4190#ifdef WLAN_NS_OFFLOAD
4191typedef struct
4192{
4193 wpt_uint8 srcIPv6Addr[16];
4194 wpt_uint8 selfIPv6Addr[16];
4195 //Only support 2 possible Network Advertisement IPv6 address
4196 wpt_uint8 targetIPv6Addr1[16];
4197 wpt_uint8 targetIPv6Addr2[16];
4198 wpt_uint8 selfMacAddr[6];
4199 wpt_uint8 srcIPv6AddrValid : 1;
4200 wpt_uint8 targetIPv6Addr1Valid : 1;
4201 wpt_uint8 targetIPv6Addr2Valid : 1;
Gopichand Nakkala746a9452013-06-11 12:45:54 +05304202 wpt_uint8 slotIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004203} WDI_NSOffloadParams;
4204#endif //WLAN_NS_OFFLOAD
4205
4206typedef struct
4207{
4208 wpt_uint8 ucOffloadType;
4209 wpt_uint8 ucEnableOrDisable;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004210 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004211 union
4212 {
4213 wpt_uint8 aHostIpv4Addr [4];
4214 wpt_uint8 aHostIpv6Addr [16];
4215 } params;
4216} WDI_HostOffloadReqType;
4217
4218/*---------------------------------------------------------------------------
4219 WDI_HostOffloadReqParamsType
4220 host offload info passed to WDI form WDA
4221---------------------------------------------------------------------------*/
4222typedef struct
4223{
4224 /*Host offload Info Type, same as tHalHostOffloadReq */
4225 WDI_HostOffloadReqType wdiHostOffloadInfo;
4226#ifdef WLAN_NS_OFFLOAD
4227 WDI_NSOffloadParams wdiNsOffloadParams;
4228#endif //WLAN_NS_OFFLOAD
4229 /*Request status callback offered by UMAC - it is called if the current req
4230 has returned PENDING as status; it delivers the status of sending the message
4231 over the BUS */
4232 WDI_ReqStatusCb wdiReqStatusCB;
4233 /*The user data passed in by UMAC, it will be sent back when the above
4234 function pointer will be called */
4235 void* pUserData;
4236}WDI_HostOffloadReqParamsType;
4237
4238/*---------------------------------------------------------------------------
4239 WDI_KeepAliveReqType
4240 Keep Alive info passed to WDA form UMAC
4241---------------------------------------------------------------------------*/
4242typedef struct
4243{
4244 wpt_uint8 ucPacketType;
4245 wpt_uint32 ucTimePeriod;
4246 wpt_uint8 aHostIpv4Addr[4];
4247 wpt_uint8 aDestIpv4Addr[4];
4248 wpt_uint8 aDestMacAddr[6];
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004249 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004250} WDI_KeepAliveReqType;
4251
4252/*---------------------------------------------------------------------------
4253 WDI_KeepAliveReqParamsType
4254 Keep Alive passed to WDI form WDA
4255---------------------------------------------------------------------------*/
4256typedef struct
4257{
4258 /* Keep Alive Info Type, same as tHalKeepAliveReq */
4259 WDI_KeepAliveReqType wdiKeepAliveInfo;
4260 /*Request status callback offered by UMAC - it is called if the current req
4261 has returned PENDING as status; it delivers the status of sending the message
4262 over the BUS */
4263 WDI_ReqStatusCb wdiReqStatusCB;
4264 /*The user data passed in by UMAC, it will be sent back when the above
4265 function pointer will be called */
4266 void* pUserData;
4267}WDI_KeepAliveReqParamsType;
4268
4269/*---------------------------------------------------------------------------
4270 WDI_WowlAddBcPtrnInfoType
4271 Wowl add ptrn info passed to WDA form UMAC
4272---------------------------------------------------------------------------*/
4273typedef struct
4274{
4275 wpt_uint8 ucPatternId; // Pattern ID
4276 // Pattern byte offset from beginning of the 802.11 packet to start of the
4277 // wake-up pattern
4278 wpt_uint8 ucPatternByteOffset;
4279 wpt_uint8 ucPatternSize; // Non-Zero Pattern size
4280 wpt_uint8 ucPattern[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern
4281 wpt_uint8 ucPatternMaskSize; // Non-zero pattern mask size
4282 wpt_uint8 ucPatternMask[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern mask
4283 wpt_uint8 ucPatternExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern
4284 wpt_uint8 ucPatternMaskExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern mask
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004285 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004286} WDI_WowlAddBcPtrnInfoType;
4287
4288/*---------------------------------------------------------------------------
4289 WDI_WowlAddBcPtrnReqParamsType
4290 Wowl add ptrn info passed to WDI form WDA
4291---------------------------------------------------------------------------*/
4292typedef struct
4293{
4294 /*Wowl add ptrn Info Type, same as tpSirWowlAddBcastPtrn */
4295 WDI_WowlAddBcPtrnInfoType wdiWowlAddBcPtrnInfo;
4296 /*Request status callback offered by UMAC - it is called if the current req
4297 has returned PENDING as status; it delivers the status of sending the message
4298 over the BUS */
4299 WDI_ReqStatusCb wdiReqStatusCB;
4300 /*The user data passed in by UMAC, it will be sent back when the above
4301 function pointer will be called */
4302 void* pUserData;
4303}WDI_WowlAddBcPtrnReqParamsType;
4304
4305/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004306 WDI_WowlAddBcPtrnRspParamsType
4307 Wowl add ptrn info passed from WDI to WDA
4308---------------------------------------------------------------------------*/
4309typedef struct
4310{
4311 /*Status of the response*/
4312 WDI_Status wdiStatus;
4313 /*BssIDX of the session*/
4314 wpt_uint8 bssIdx;
4315}WDI_WowlAddBcPtrnRspParamsType;
4316
4317/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004318 WDI_WowlDelBcPtrnInfoType
4319 Wowl add ptrn info passed to WDA form UMAC
4320---------------------------------------------------------------------------*/
4321typedef struct
4322{
4323 /* Pattern ID of the wakeup pattern to be deleted */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004324 wpt_uint8 ucPatternId;
4325 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004326} WDI_WowlDelBcPtrnInfoType;
4327
4328/*---------------------------------------------------------------------------
4329 WDI_WowlDelBcPtrnReqParamsType
4330 Wowl add ptrn info passed to WDI form WDA
4331---------------------------------------------------------------------------*/
4332typedef struct
4333{
4334 /*Wowl delete ptrn Info Type, same as WDI_WowlDelBcastPtrn */
4335 WDI_WowlDelBcPtrnInfoType wdiWowlDelBcPtrnInfo;
4336 /*Request status callback offered by UMAC - it is called if the current req
4337 has returned PENDING as status; it delivers the status of sending the message
4338 over the BUS */
4339 WDI_ReqStatusCb wdiReqStatusCB;
4340 /*The user data passed in by UMAC, it will be sent back when the above
4341 function pointer will be called */
4342 void* pUserData;
4343}WDI_WowlDelBcPtrnReqParamsType;
4344
4345/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004346 WDI_WowlDelBcPtrnRspParamsType
4347 Wowl Del ptrn info passed from WDI to WDA
4348---------------------------------------------------------------------------*/
4349typedef struct
4350{
4351 /*Status of the response*/
4352 WDI_Status wdiStatus;
4353 /*BssIDX of the session*/
4354 wpt_uint8 bssIdx;
4355}WDI_WowlDelBcPtrnRspParamsType;
4356
4357/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004358 WDI_WowlEnterInfoType
4359 Wowl enter info passed to WDA form UMAC
4360---------------------------------------------------------------------------*/
4361typedef struct
4362{
4363 /* Enables/disables magic packet filtering */
4364 wpt_uint8 ucMagicPktEnable;
4365
4366 /* Magic pattern */
4367 wpt_macAddr magicPtrn;
4368
4369 /* Enables/disables packet pattern filtering in firmware.
4370 Enabling this flag enables broadcast pattern matching
4371 in Firmware. If unicast pattern matching is also desired,
4372 ucUcastPatternFilteringEnable flag must be set tot true
4373 as well
4374 */
4375 wpt_uint8 ucPatternFilteringEnable;
4376
4377 /* Enables/disables unicast packet pattern filtering.
4378 This flag specifies whether we want to do pattern match
4379 on unicast packets as well and not just broadcast packets.
4380 This flag has no effect if the ucPatternFilteringEnable
4381 (main controlling flag) is set to false
4382 */
4383 wpt_uint8 ucUcastPatternFilteringEnable;
4384
4385 /* This configuration is valid only when magicPktEnable=1.
4386 * It requests hardware to wake up when it receives the
4387 * Channel Switch Action Frame.
4388 */
4389 wpt_uint8 ucWowChnlSwitchRcv;
4390
4391 /* This configuration is valid only when magicPktEnable=1.
4392 * It requests hardware to wake up when it receives the
4393 * Deauthentication Frame.
4394 */
4395 wpt_uint8 ucWowDeauthRcv;
4396
4397 /* This configuration is valid only when magicPktEnable=1.
4398 * It requests hardware to wake up when it receives the
4399 * Disassociation Frame.
4400 */
4401 wpt_uint8 ucWowDisassocRcv;
4402
4403 /* This configuration is valid only when magicPktEnable=1.
4404 * It requests hardware to wake up when it has missed
4405 * consecutive beacons. This is a hardware register
4406 * configuration (NOT a firmware configuration).
4407 */
4408 wpt_uint8 ucWowMaxMissedBeacons;
4409
4410 /* This configuration is valid only when magicPktEnable=1.
4411 * This is a timeout value in units of microsec. It requests
4412 * hardware to unconditionally wake up after it has stayed
4413 * in WoWLAN mode for some time. Set 0 to disable this feature.
4414 */
4415 wpt_uint8 ucWowMaxSleepUsec;
4416
4417#ifdef WLAN_WAKEUP_EVENTS
4418 /* This configuration directs the WoW packet filtering to look for EAP-ID
4419 * requests embedded in EAPOL frames and use this as a wake source.
4420 */
4421 wpt_uint8 ucWoWEAPIDRequestEnable;
4422
4423 /* This configuration directs the WoW packet filtering to look for EAPOL-4WAY
4424 * requests and use this as a wake source.
4425 */
4426 wpt_uint8 ucWoWEAPOL4WayEnable;
4427
4428 /* This configuration allows a host wakeup on an network scan offload match.
4429 */
4430 wpt_uint8 ucWowNetScanOffloadMatch;
4431
4432 /* This configuration allows a host wakeup on any GTK rekeying error.
4433 */
4434 wpt_uint8 ucWowGTKRekeyError;
4435
4436 /* This configuration allows a host wakeup on BSS connection loss.
4437 */
4438 wpt_uint8 ucWoWBSSConnLoss;
4439#endif // WLAN_WAKEUP_EVENTS
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004440
4441 /* BSSIDX used to find the current session
4442 */
4443 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004444} WDI_WowlEnterInfoType;
4445
4446/*---------------------------------------------------------------------------
4447 WDI_WowlEnterReqParamsType
4448 Wowl enter info passed to WDI form WDA
4449---------------------------------------------------------------------------*/
4450typedef struct
4451{
4452 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
4453 WDI_WowlEnterInfoType wdiWowlEnterInfo;
4454 /*Request status callback offered by UMAC - it is called if the current req
4455 has returned PENDING as status; it delivers the status of sending the message
4456 over the BUS */
4457 WDI_ReqStatusCb wdiReqStatusCB;
4458 /*The user data passed in by UMAC, it will be sent back when the above
4459 function pointer will be called */
4460 void* pUserData;
4461}WDI_WowlEnterReqParamsType;
4462
4463/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004464 WDI_WowlEnterRsqParamsType
4465 Wowl enter info passed from WDI to WDA
4466---------------------------------------------------------------------------*/
4467typedef struct
4468{
4469 /*Status of the response message*/
4470 WDI_Status status;
4471
4472 /* BSSIDX used to find the current session
4473 */
4474 wpt_uint8 bssIdx;
4475}WDI_WowlEnterRspParamsType;
4476
4477/*---------------------------------------------------------------------------
4478 WDI_WowlExitInfoType
4479 Wowl exit info passed to WDA form UMAC
4480 ---------------------------------------------------------------------------*/
4481typedef struct
4482{
4483 /* BSSIDX used to find the current session
4484 */
4485 wpt_uint8 bssIdx;
4486} WDI_WowlExitInfoType;
4487
4488/*---------------------------------------------------------------------------
4489 WDI_WowlExitReqParamsType
4490 Wowl exit info passed to WDI form WDA
4491---------------------------------------------------------------------------*/
4492typedef struct
4493{
4494 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
4495 WDI_WowlExitInfoType wdiWowlExitInfo;
4496 /*Request status callback offered by UMAC - it is called if the current req
4497 has returned PENDING as status; it delivers the status of sending the message
4498 over the BUS */
4499 WDI_ReqStatusCb wdiReqStatusCB;
4500 /*The user data passed in by UMAC, it will be sent back when the above
4501 function pointer will be called */
4502 void* pUserData;
4503}WDI_WowlExitReqParamsType;
4504
4505/*---------------------------------------------------------------------------
4506 WDI_WowlExitRspParamsType
4507 Wowl exit info passed from WDI to WDA
4508---------------------------------------------------------------------------*/
4509typedef struct
4510{
4511 /*Status of the response message*/
4512 WDI_Status status;
4513
4514 /* BSSIDX used to find the current session
4515 */
4516 wpt_uint8 bssIdx;
4517}WDI_WowlExitRspParamsType;
4518
4519/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004520 WDI_ConfigureAppsCpuWakeupStateReqParamsType
4521 Apps Cpu Wakeup State parameters passed to WDI form WDA
4522---------------------------------------------------------------------------*/
4523typedef struct
4524{
4525 /*Depicts the state of the Apps CPU */
4526 wpt_boolean bIsAppsAwake;
4527 /*Request status callback offered by UMAC - it is called if the current req
4528 has returned PENDING as status; it delivers the status of sending the message
4529 over the BUS */
4530 WDI_ReqStatusCb wdiReqStatusCB;
4531 /*The user data passed in by UMAC, it will be sent back when the above
4532 function pointer will be called */
4533 void* pUserData;
4534}WDI_ConfigureAppsCpuWakeupStateReqParamsType;
4535/*---------------------------------------------------------------------------
4536 WDI_FlushAcReqinfoType
4537---------------------------------------------------------------------------*/
4538typedef struct
4539{
4540 // Message Type
4541 wpt_uint16 usMesgType;
4542
4543 // Message Length
4544 wpt_uint16 usMesgLen;
4545
4546 // Station Index. originates from HAL
4547 wpt_uint8 ucSTAId;
4548
4549 // TID for which the transmit queue is being flushed
4550 wpt_uint8 ucTid;
4551
4552}WDI_FlushAcReqinfoType;
4553
4554/*---------------------------------------------------------------------------
4555 WDI_FlushAcReqParamsType
4556---------------------------------------------------------------------------*/
4557typedef struct
4558{
4559 /*AC Info */
4560 WDI_FlushAcReqinfoType wdiFlushAcInfo;
4561
4562 /*Request status callback offered by UMAC - it is called if the current
4563 req has returned PENDING as status; it delivers the status of sending
4564 the message over the BUS */
4565 WDI_ReqStatusCb wdiReqStatusCB;
4566
4567 /*The user data passed in by UMAC, it will be sent back when the above
4568 function pointer will be called */
4569 void* pUserData;
4570}WDI_FlushAcReqParamsType;
4571
4572/*---------------------------------------------------------------------------
4573 WDI_BtAmpEventinfoType
4574 BT-AMP Event Structure
4575---------------------------------------------------------------------------*/
4576typedef struct
4577{
4578 wpt_uint8 ucBtAmpEventType;
4579
4580} WDI_BtAmpEventinfoType;
4581
4582/*---------------------------------------------------------------------------
4583 WDI_BtAmpEventParamsType
4584---------------------------------------------------------------------------*/
4585typedef struct
4586{
4587 /*BT AMP event Info */
4588 WDI_BtAmpEventinfoType wdiBtAmpEventInfo;
4589
4590 /*Request status callback offered by UMAC - it is called if the current
4591 req has returned PENDING as status; it delivers the status of sending
4592 the message over the BUS */
4593 WDI_ReqStatusCb wdiReqStatusCB;
4594
4595 /*The user data passed in by UMAC, it will be sent back when the above
4596 function pointer will be called */
4597 void* pUserData;
4598}WDI_BtAmpEventParamsType;
4599
Jeff Johnsone7245742012-09-05 17:12:55 -07004600#ifdef FEATURE_OEM_DATA_SUPPORT
4601
4602#ifndef OEM_DATA_REQ_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004603#define OEM_DATA_REQ_SIZE 134
Jeff Johnsone7245742012-09-05 17:12:55 -07004604#endif
4605#ifndef OEM_DATA_RSP_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004606#define OEM_DATA_RSP_SIZE 1968
Jeff Johnsone7245742012-09-05 17:12:55 -07004607#endif
4608
4609/*----------------------------------------------------------------------------
4610 WDI_oemDataReqInfoType
4611----------------------------------------------------------------------------*/
4612typedef struct
4613{
4614 wpt_macAddr selfMacAddr;
4615 wpt_uint8 oemDataReq[OEM_DATA_REQ_SIZE];
4616}WDI_oemDataReqInfoType;
4617
4618/*----------------------------------------------------------------------------
4619 WDI_oemDataReqParamsType
4620----------------------------------------------------------------------------*/
4621typedef struct
4622{
4623 /*Request status callback offered by UMAC - it is called if the current
4624 req has returned PENDING as status; it delivers the status of sending
4625 the message over the BUS */
4626 WDI_ReqStatusCb wdiReqStatusCB;
4627
4628 /*The user data passed in by UMAC, it will be sent back when the above
4629 function pointer will be called */
4630 void* pUserData;
4631
4632 /*OEM DATA REQ Info */
4633 WDI_oemDataReqInfoType wdiOemDataReqInfo;
4634
4635}WDI_oemDataReqParamsType;
4636
4637/*----------------------------------------------------------------------------
4638 WDI_oemDataRspParamsType
4639----------------------------------------------------------------------------*/
4640typedef struct
4641{
4642 wpt_uint8 oemDataRsp[OEM_DATA_RSP_SIZE];
4643}WDI_oemDataRspParamsType;
4644
4645#endif /* FEATURE_OEM_DATA_SUPPORT */
Jeff Johnson295189b2012-06-20 16:38:30 -07004646
4647#ifdef WLAN_FEATURE_VOWIFI_11R
4648/*---------------------------------------------------------------------------
4649 WDI_AggrAddTSReqInfoType
4650---------------------------------------------------------------------------*/
4651typedef struct
4652{
4653 /*STA Index*/
4654 wpt_uint8 ucSTAIdx;
4655
4656 /*Identifier for TSpec*/
4657 wpt_uint8 ucTspecIdx;
4658
4659 /*Tspec IE negotiated OTA*/
4660 WDI_TspecIEType wdiTspecIE[WDI_MAX_NO_AC];
4661
4662 /*UAPSD delivery and trigger enabled flags */
4663 wpt_uint8 ucUapsdFlags;
4664
4665 /*SI for each AC*/
4666 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
4667
4668 /*Suspend Interval for each AC*/
4669 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
4670
4671 /*DI for each AC*/
4672 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
4673
4674}WDI_AggrAddTSReqInfoType;
4675
4676
4677/*---------------------------------------------------------------------------
4678 WDI_AggrAddTSReqParamsType
4679---------------------------------------------------------------------------*/
4680typedef struct
4681{
4682 /*TSpec Info */
4683 WDI_AggrAddTSReqInfoType wdiAggrTsInfo;
4684
4685 /*Request status callback offered by UMAC - it is called if the current
4686 req has returned PENDING as status; it delivers the status of sending
4687 the message over the BUS */
4688 WDI_ReqStatusCb wdiReqStatusCB;
4689
4690 /*The user data passed in by UMAC, it will be sent back when the above
4691 function pointer will be called */
4692 void* pUserData;
4693}WDI_AggrAddTSReqParamsType;
4694
4695#endif /* WLAN_FEATURE_VOWIFI_11R */
4696
Jeff Johnson295189b2012-06-20 16:38:30 -07004697/*---------------------------------------------------------------------------
4698 WDI_FTMCommandReqType
4699---------------------------------------------------------------------------*/
4700typedef struct
4701{
4702 /* FTM Command Body length */
4703 wpt_uint32 bodyLength;
4704 /* Actual FTM Command body */
4705 void *FTMCommandBody;
4706}WDI_FTMCommandReqType;
Jeff Johnson295189b2012-06-20 16:38:30 -07004707
4708/*---------------------------------------------------------------------------
4709 WDI_WlanSuspendInfoType
4710---------------------------------------------------------------------------*/
4711typedef struct
4712{
4713 /* Mode of Mcast and Bcast filters configured */
4714 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4715}WDI_WlanSuspendInfoType;
4716
4717/*---------------------------------------------------------------------------
4718 WDI_SuspendParamsType
4719---------------------------------------------------------------------------*/
4720typedef struct
4721{
4722 WDI_WlanSuspendInfoType wdiSuspendParams;
4723
4724 /*Request status callback offered by UMAC - it is called if the current
4725 req has returned PENDING as status; it delivers the status of sending
4726 the message over the BUS */
4727 WDI_ReqStatusCb wdiReqStatusCB;
4728
4729 /*The user data passed in by UMAC, it will be sent back when the above
4730 function pointer will be called */
4731 void* pUserData;
4732
4733}WDI_SuspendParamsType;
4734
4735/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004736 WDI_TrafficStatsType - This is collected for each STA
4737---------------------------------------------------------------------------*/
4738
4739typedef struct
4740{
4741 /* TX stats */
4742 wpt_uint32 txBytesPushed;
4743 wpt_uint32 txPacketsPushed;
4744
4745 /* RX stats */
4746 wpt_uint32 rxBytesRcvd;
4747 wpt_uint32 rxPacketsRcvd;
4748 wpt_uint32 rxTimeTotal;
4749}WDI_TrafficStatsType;
4750
4751typedef struct
4752{
4753 WDI_TrafficStatsType *pTrafficStats;
4754 wpt_uint32 length;
4755 wpt_uint32 duration;
4756
4757 /*Request status callback offered by UMAC - it is called if the current
4758 req has returned PENDING as status; it delivers the status of sending
4759 the message over the BUS */
4760 WDI_ReqStatusCb wdiReqStatusCB;
4761
4762 /*The user data passed in by UMAC, it will be sent back when the above
4763 function pointer will be called */
4764 void* pUserData;
4765}WDI_TrafficStatsIndType;
4766
Chet Lanctot186b5732013-03-18 10:26:30 -07004767#ifdef WLAN_FEATURE_11W
4768typedef struct
4769{
4770
4771 wpt_boolean bExcludeUnencrypt;
4772 wpt_macAddr bssid;
4773 /*Request status callback offered by UMAC - it is called if the current
4774 req has returned PENDING as status; it delivers the status of sending
4775 the message over the BUS */
4776 WDI_ReqStatusCb wdiReqStatusCB;
4777
4778 /*The user data passed in by UMAC, it will be sent back when the above
4779 function pointer will be called */
4780 void* pUserData;
4781}WDI_ExcludeUnencryptIndType;
4782#endif
4783
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004784/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004785 WDI_WlanResumeInfoType
4786---------------------------------------------------------------------------*/
4787typedef struct
4788{
4789 /* Mode of Mcast and Bcast filters configured */
4790 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4791}WDI_WlanResumeInfoType;
4792
4793/*---------------------------------------------------------------------------
4794 WDI_ResumeParamsType
4795---------------------------------------------------------------------------*/
4796typedef struct
4797{
4798 WDI_WlanResumeInfoType wdiResumeParams;
4799
4800 /*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
4809}WDI_ResumeParamsType;
4810
4811#ifdef WLAN_FEATURE_GTK_OFFLOAD
4812/*---------------------------------------------------------------------------
4813 * WDI_GTK_OFFLOAD_REQ
4814 *--------------------------------------------------------------------------*/
4815
4816typedef struct
4817{
4818 wpt_uint32 ulFlags; /* optional flags */
4819 wpt_uint8 aKCK[16]; /* Key confirmation key */
4820 wpt_uint8 aKEK[16]; /* key encryption key */
4821 wpt_uint64 ullKeyReplayCounter; /* replay counter */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004822 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004823} WDI_GtkOffloadReqParams;
4824
4825typedef struct
4826{
4827 WDI_GtkOffloadReqParams gtkOffloadReqParams;
4828
4829 /*Request status callback offered by UMAC - it is called if the current
4830 req has returned PENDING as status; it delivers the status of sending
4831 the message over the BUS */
4832 WDI_ReqStatusCb wdiReqStatusCB;
4833
4834 /*The user data passed in by UMAC, it will be sent back when the above
4835 function pointer will be called */
4836 void* pUserData;
4837} WDI_GtkOffloadReqMsg;
4838
4839/*---------------------------------------------------------------------------
4840 * WDI_GTK_OFFLOAD_RSP
4841 *--------------------------------------------------------------------------*/
4842typedef struct
4843{
4844 /* success or failure */
4845 wpt_uint32 ulStatus;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004846 /*BssIdx of the response */
4847 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004848} WDI_GtkOffloadRspParams;
4849
4850typedef struct
4851{
4852 WDI_GtkOffloadRspParams gtkOffloadRspParams;
4853
4854 /*Request status callback offered by UMAC - it is called if the current
4855 req has returned PENDING as status; it delivers the status of sending
4856 the message over the BUS */
4857 WDI_ReqStatusCb wdiReqStatusCB;
4858
4859 /*The user data passed in by UMAC, it will be sent back when the above
4860 function pointer will be called */
4861 void* pUserData;
4862} WDI_GtkOffloadRspMsg;
4863
4864
4865/*---------------------------------------------------------------------------
4866* WDI_GTK_OFFLOAD_GETINFO_REQ
4867*--------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004868typedef struct
4869{
4870 /*BssIdx of the response */
4871 wpt_macAddr bssId;
4872} WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004873
4874typedef struct
4875{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004876
4877 WDI_GtkOffloadGetInfoReqParams WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004878 /*Request status callback offered by UMAC - it is called if the current
4879 req has returned PENDING as status; it delivers the status of sending
4880 the message over the BUS */
4881 WDI_ReqStatusCb wdiReqStatusCB;
4882
4883 /*The user data passed in by UMAC, it will be sent back when the above
4884 function pointer will be called */
4885 void* pUserData;
4886} WDI_GtkOffloadGetInfoReqMsg;
4887
4888/*---------------------------------------------------------------------------
4889* WDI_GTK_OFFLOAD_GETINFO_RSP
4890*--------------------------------------------------------------------------*/
4891typedef struct
4892{
4893 wpt_uint32 ulStatus; /* success or failure */
4894 wpt_uint64 ullKeyReplayCounter; /* current replay counter value */
4895 wpt_uint32 ulTotalRekeyCount; /* total rekey attempts */
4896 wpt_uint32 ulGTKRekeyCount; /* successful GTK rekeys */
4897 wpt_uint32 ulIGTKRekeyCount; /* successful iGTK rekeys */
Gopichand Nakkala870cbae2013-03-15 21:16:09 +05304898 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004899} WDI_GtkOffloadGetInfoRspParams;
4900
4901typedef struct
4902{
4903 WDI_GtkOffloadGetInfoRspParams gtkOffloadGetInfoRspParams;
4904
4905 /*Request status callback offered by UMAC - it is called if the current
4906 req has returned PENDING as status; it delivers the status of sending
4907 the message over the BUS */
4908 WDI_ReqStatusCb wdiReqStatusCB;
4909
4910 /*The user data passed in by UMAC, it will be sent back when the above
4911 function pointer will be called */
4912 void* pUserData;
4913} WDI_GtkOffloadGetInfoRspMsg;
4914#endif // WLAN_FEATURE_GTK_OFFLOAD
4915
4916/*---------------------------------------------------------------------------
4917 WDI_SuspendResumeRspParamsType
4918---------------------------------------------------------------------------*/
4919typedef struct
4920{
4921 /*Status of the response*/
4922 WDI_Status wdiStatus;
4923}WDI_SuspendResumeRspParamsType;
4924
Leo Chang9056f462013-08-01 19:21:11 -07004925#ifdef FEATURE_WLAN_LPHB
4926/*---------------------------------------------------------------------------
4927 WDI Low Power Heart Beat Config request
4928 Copy from sirApi.h to avoid compile error
4929---------------------------------------------------------------------------*/
4930#define WDI_LPHB_FILTER_LEN 64
4931
4932typedef enum
4933{
4934 WDI_LPHB_SET_EN_PARAMS_INDID = 0x0001,
4935 WDI_LPHB_SET_TCP_PARAMS_INDID,
4936 WDI_LPHB_SET_TCP_PKT_FILTER_INDID,
4937 WDI_LPHB_SET_UDP_PARAMS_INDID,
4938 WDI_LPHB_SET_UDP_PKT_FILTER_INDID,
4939 WDI_LPHB_SET_NETWORK_INFO_INDID,
4940} WDI_LPHBIndType;
4941
4942typedef struct
4943{
4944 wpt_uint8 enable;
4945 wpt_uint8 item;
4946 wpt_uint8 session;
4947} WDI_LPHBEnableStruct;
4948
4949typedef struct
4950{
4951 wpt_uint32 srv_ip;
4952 wpt_uint32 dev_ip;
4953 wpt_uint16 src_port;
4954 wpt_uint16 dst_port;
4955 wpt_uint16 timeout;
4956 wpt_uint8 session;
4957 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
Leo Changd9df8aa2013-09-26 13:32:26 -07004958 wpt_uint16 timePeriodSec; // in seconds
4959 wpt_uint32 tcpSn;
Leo Chang9056f462013-08-01 19:21:11 -07004960} WDI_LPHBTcpParamStruct;
4961
4962typedef struct
4963{
4964 wpt_uint16 length;
4965 wpt_uint8 offset;
4966 wpt_uint8 session;
4967 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
4968} WDI_LPHBTcpFilterStruct;
4969
4970typedef struct
4971{
4972 wpt_uint32 srv_ip;
4973 wpt_uint32 dev_ip;
4974 wpt_uint16 src_port;
4975 wpt_uint16 dst_port;
4976 wpt_uint16 interval;
4977 wpt_uint16 timeout;
4978 wpt_uint8 session;
4979 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
4980} WDI_LPHBUdpParamStruct;
4981
4982typedef struct
4983{
4984 wpt_uint16 length;
4985 wpt_uint8 offset;
4986 wpt_uint8 session;
4987 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
4988} WDI_LPHBUdpFilterStruct;
4989
4990typedef struct
4991{
4992 wpt_uint16 cmd;
4993 wpt_uint16 dummy;
4994 union
4995 {
4996 WDI_LPHBEnableStruct lphbEnableReq;
4997 WDI_LPHBTcpParamStruct lphbTcpParamReq;
4998 WDI_LPHBTcpFilterStruct lphbTcpFilterReq;
4999 WDI_LPHBUdpParamStruct lphbUdpParamReq;
5000 WDI_LPHBUdpFilterStruct lphbUdpFilterReq;
5001 } params;
5002} WDI_LPHBReq;
5003#endif /* FEATURE_WLAN_LPHB */
Jeff Johnson295189b2012-06-20 16:38:30 -07005004
Jeff Johnson295189b2012-06-20 16:38:30 -07005005/*---------------------------------------------------------------------------
5006 WDI_AuthType
5007---------------------------------------------------------------------------*/
5008typedef enum
5009{
5010 WDI_AUTH_TYPE_ANY = 0,
5011
5012 WDI_AUTH_TYPE_NONE,
5013 WDI_AUTH_TYPE_OPEN_SYSTEM,
5014 WDI_AUTH_TYPE_SHARED_KEY,
5015
5016 WDI_AUTH_TYPE_WPA,
5017 WDI_AUTH_TYPE_WPA_PSK,
5018 WDI_AUTH_TYPE_WPA_NONE,
5019
5020 WDI_AUTH_TYPE_RSN,
5021 WDI_AUTH_TYPE_RSN_PSK,
5022 WDI_AUTH_TYPE_FT_RSN,
5023 WDI_AUTH_TYPE_FT_RSN_PSK,
5024 WDI_AUTH_TYPE_WAPI_WAI_CERTIFICATE,
5025 WDI_AUTH_TYPE_WAPI_WAI_PSK,
5026 WDI_AUTH_TYPE_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
5027
5028}WDI_AuthType;
5029
5030/*---------------------------------------------------------------------------
5031 WDI_EdType
5032---------------------------------------------------------------------------*/
5033typedef enum
5034{
5035 WDI_ED_ANY = 0,
5036 WDI_ED_NONE,
5037 WDI_ED_WEP40,
5038 WDI_ED_WEP104,
5039 WDI_ED_TKIP,
5040 WDI_ED_CCMP,
5041 WDI_ED_WPI,
5042 WDI_ED_AES_128_CMAC,
5043 WDI_ED_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
5044} WDI_EdType;
5045
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005046#ifdef FEATURE_WLAN_SCAN_PNO
5047
5048/*Max number of channels for a given network supported by PNO*/
5049#define WDI_PNO_MAX_NETW_CHANNELS 26
5050
5051/*Max number of channels for a given network supported by PNO*/
5052#define WDI_PNO_MAX_NETW_CHANNELS_EX 60
5053
5054/*The max number of programable networks for PNO*/
5055#define WDI_PNO_MAX_SUPP_NETWORKS 16
5056
5057/*The max number of scan timers programable in Riva*/
5058#define WDI_PNO_MAX_SCAN_TIMERS 10
5059
5060#define WDI_PNO_MAX_PROBE_SIZE 450
Jeff Johnson295189b2012-06-20 16:38:30 -07005061
5062/*---------------------------------------------------------------------------
5063 WDI_PNOMode
5064---------------------------------------------------------------------------*/
5065typedef enum
5066{
5067 /*Network offload is to start immediately*/
5068 WDI_PNO_MODE_IMMEDIATE,
5069
5070 /*Network offload is to start on host suspend*/
5071 WDI_PNO_MODE_ON_SUSPEND,
5072
5073 /*Network offload is to start on host resume*/
5074 WDI_PNO_MODE_ON_RESUME,
5075 WDI_PNO_MODE_MAX = 0xFFFFFFFF
5076} WDI_PNOMode;
5077
5078/* SSID broadcast type */
5079typedef enum
5080{
5081 WDI_BCAST_UNKNOWN = 0,
5082 WDI_BCAST_NORMAL = 1,
5083 WDI_BCAST_HIDDEN = 2,
5084
5085 WDI_BCAST_TYPE_MAX = 0xFFFFFFFF
5086} WDI_SSIDBcastType;
5087
5088/*---------------------------------------------------------------------------
5089 WDI_NetworkType
5090---------------------------------------------------------------------------*/
5091typedef struct
5092{
5093 /*The SSID of the preferred network*/
5094 WDI_MacSSid ssId;
5095
5096 /*The authentication method of the preferred network*/
5097 WDI_AuthType wdiAuth;
5098
5099 /*The encryption method of the preferred network*/
5100 WDI_EdType wdiEncryption;
5101
5102 /*SSID broadcast type, normal, hidden or unknown*/
5103 WDI_SSIDBcastType wdiBcastNetworkType;
5104
5105 /*channel count - 0 for all channels*/
5106 wpt_uint8 ucChannelCount;
5107
5108 /*the actual channels*/
Madan Mohan Koyyalamudi4bb5d2e2013-09-26 17:36:46 +05305109 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
Jeff Johnson295189b2012-06-20 16:38:30 -07005110
5111 /*rssi threshold that a network must meet to be considered, 0 - for any*/
5112 wpt_uint8 rssiThreshold;
5113} WDI_NetworkType;
5114
5115
5116/*---------------------------------------------------------------------------
5117 WDI_ScanTimer
5118---------------------------------------------------------------------------*/
5119typedef struct
5120{
5121 /*The timer value*/
5122 wpt_uint32 uTimerValue;
5123
5124 /*The amount of time we should be repeating the interval*/
5125 wpt_uint32 uTimerRepeat;
5126} WDI_ScanTimer;
5127
5128/*---------------------------------------------------------------------------
5129 WDI_ScanTimersType
5130---------------------------------------------------------------------------*/
5131typedef struct
5132{
5133 /*The number of value pair intervals present in the array*/
5134 wpt_uint8 ucScanTimersCount;
5135
5136 /*The time-repeat value pairs*/
5137 WDI_ScanTimer aTimerValues[WDI_PNO_MAX_SCAN_TIMERS];
5138} WDI_ScanTimersType;
5139
5140/*---------------------------------------------------------------------------
5141 WDI_PNOScanReqType
5142---------------------------------------------------------------------------*/
5143typedef struct
5144{
5145 /*Enable or disable PNO feature*/
5146 wpt_uint8 bEnable;
5147
5148 /*PNO mode requested*/
5149 WDI_PNOMode wdiModePNO;
5150
5151 /*Network count*/
5152 wpt_uint8 ucNetworksCount;
5153
5154 /*The networks to look for*/
5155 WDI_NetworkType aNetworks[WDI_PNO_MAX_SUPP_NETWORKS];
5156
5157 /*Scan timer intervals*/
5158 WDI_ScanTimersType scanTimers;
5159
5160 /*Probe template for 2.4GHz band*/
5161 wpt_uint16 us24GProbeSize;
5162 wpt_uint8 a24GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
5163
5164 /*Probe template for 5GHz band*/
5165 wpt_uint16 us5GProbeSize;
5166 wpt_uint8 a5GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
5167} WDI_PNOScanReqType;
5168
5169/*---------------------------------------------------------------------------
5170 WDI_PNOScanReqParamsType
5171 PNO info passed to WDI form WDA
5172---------------------------------------------------------------------------*/
5173typedef struct
5174{
5175 /* PNO Info Type, same as tPrefNetwListParams */
5176 WDI_PNOScanReqType wdiPNOScanInfo;
5177 /* Request status callback offered by UMAC - it is called if the current req
5178 has returned PENDING as status; it delivers the status of sending the message
5179 over the BUS */
5180 WDI_ReqStatusCb wdiReqStatusCB;
5181 /* The user data passed in by UMAC, it will be sent back when the above
5182 function pointer will be called */
5183 void* pUserData;
5184} WDI_PNOScanReqParamsType;
5185
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005186/*---------------------------------------------------------------------------
5187 WDI_SetRssiFilterReqParamsType
5188 PNO info passed to WDI form WDA
5189---------------------------------------------------------------------------*/
5190typedef struct
5191{
5192 /* RSSI Threshold */
5193 wpt_uint8 rssiThreshold;
5194 /* Request status callback offered by UMAC - it is called if the current req
5195 has returned PENDING as status; it delivers the status of sending the message
5196 over the BUS */
5197 WDI_ReqStatusCb wdiReqStatusCB;
5198 /* The user data passed in by UMAC, it will be sent back when the above
5199 function pointer will be called */
5200 void* pUserData;
5201} WDI_SetRssiFilterReqParamsType;
5202
5203/*---------------------------------------------------------------------------
5204 WDI_UpdateScanParamsInfo
5205---------------------------------------------------------------------------*/
5206typedef struct
5207{
5208 /*Is 11d enabled*/
5209 wpt_uint8 b11dEnabled;
5210
5211 /*Was UMAc able to find the regulatory domain*/
5212 wpt_uint8 b11dResolved;
5213
5214 /*Number of channel allowed in the regulatory domain*/
5215 wpt_uint8 ucChannelCount;
5216
5217 /*The actual channels allowed in the regulatory domain*/
5218 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
5219
5220 /*Passive min channel time*/
5221 wpt_uint16 usPassiveMinChTime;
5222
5223 /*Passive max channel time*/
5224 wpt_uint16 usPassiveMaxChTime;
5225
5226 /*Active min channel time*/
5227 wpt_uint16 usActiveMinChTime;
5228
5229 /*Active max channel time*/
5230 wpt_uint16 usActiveMaxChTime;
5231
5232 /*channel bonding info*/
5233 wpt_uint8 cbState;
5234} WDI_UpdateScanParamsInfo;
5235
5236/*---------------------------------------------------------------------------
5237 WDI_UpdateScanParamsInfoType
5238 UpdateScanParams info passed to WDI form WDA
5239---------------------------------------------------------------------------*/
5240typedef struct
5241{
5242 /* PNO Info Type, same as tUpdateScanParams */
5243 WDI_UpdateScanParamsInfo wdiUpdateScanParamsInfo;
5244 /* Request status callback offered by UMAC - it is called if the current req
5245 has returned PENDING as status; it delivers the status of sending the message
5246 over the BUS */
5247 WDI_ReqStatusCb wdiReqStatusCB;
5248 /* The user data passed in by UMAC, it will be sent back when the above
5249 function pointer will be called */
5250 void* pUserData;
5251} WDI_UpdateScanParamsInfoType;
5252#endif //FEATURE_WLAN_SCAN_PNO
5253
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005254#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
5255
Varun Reddy Yeturu52231ea2014-02-06 12:00:56 -08005256#define WDI_ROAM_SCAN_MAX_CHANNELS 80
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005257#define WDI_ROAM_SCAN_MAX_PROBE_SIZE 450
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005258
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005259typedef struct
5260{
5261 /*The SSID of the preferred network*/
5262 WDI_MacSSid ssId;
5263 wpt_uint8 currAPbssid[WDI_MAC_ADDR_LEN];
5264
5265 /*The authentication method of the preferred network*/
5266 WDI_AuthType authentication;
5267
5268 /*The encryption method of the preferred network*/
5269 WDI_EdType encryption;
5270 WDI_EdType mcencryption;
5271
5272 /*SSID broadcast type, normal, hidden or unknown*/
5273 //WDI_SSIDBcastType wdiBcastNetworkType;
5274
5275 /*channel count - 0 for all channels*/
5276 wpt_uint8 ChannelCount;
5277
5278 /*the actual channels*/
5279 wpt_uint8 ChannelCache[WDI_ROAM_SCAN_MAX_CHANNELS];
5280
5281} WDI_RoamNetworkType;
5282
5283typedef struct WDIMobilityDomainInfo
5284{
5285 wpt_uint8 mdiePresent;
5286 wpt_uint16 mobilityDomain;
5287} WDI_MobilityDomainInfo;
5288
5289/*---------------------------------------------------------------------------
5290 WDI_RoamOffloadScanInfo
5291---------------------------------------------------------------------------*/
5292typedef struct
5293{
5294 wpt_boolean RoamScanOffloadEnabled;
Sameer Thalappil4ae66ec2013-11-05 14:17:35 -08005295 wpt_boolean MAWCEnabled;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005296 wpt_uint8 LookupThreshold;
Varun Reddy Yeturu6c5e25c2014-01-09 21:55:37 -08005297 wpt_uint8 RxSensitivityThreshold;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005298 wpt_uint8 RoamRssiDiff;
5299 wpt_uint8 ChannelCacheType;
5300 wpt_uint8 Command;
5301 wpt_uint8 StartScanReason;
5302 wpt_uint16 NeighborScanTimerPeriod;
5303 wpt_uint16 NeighborRoamScanRefreshPeriod;
5304 wpt_uint16 NeighborScanChannelMinTime;
5305 wpt_uint16 NeighborScanChannelMaxTime;
5306 wpt_uint16 EmptyRefreshScanPeriod;
5307 wpt_uint8 ValidChannelCount;
5308 wpt_uint8 ValidChannelList[WDI_ROAM_SCAN_MAX_CHANNELS];
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08005309 wpt_boolean IsESEEnabled;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005310 /*Probe template for 2.4GHz band*/
5311 wpt_uint16 us24GProbeSize;
5312 wpt_uint8 a24GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
5313
5314 /*Probe template for 5GHz band*/
5315 wpt_uint16 us5GProbeSize;
5316 wpt_uint8 a5GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005317 /*LFR BG Scan will currently look for only one network to which it is initially connected.
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005318 * As per requirement, later, the following structure can be used as an array of networks.*/
5319 WDI_RoamNetworkType ConnectedNetwork;
5320 WDI_MobilityDomainInfo MDID;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005321 wpt_uint8 nProbes;
5322 wpt_uint16 HomeAwayTime;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005323} WDI_RoamOffloadScanInfo;
5324
5325typedef struct
5326{
5327 /* Start Roam Candidate Lookup Offload Back Ground Info Type */
5328 WDI_RoamOffloadScanInfo wdiRoamOffloadScanInfo;
5329 /* Request status callback offered by UMAC - it is called if the current req
5330 has returned PENDING as status; it delivers the status of sending the message
5331 over the BUS */
5332 WDI_ReqStatusCb wdiReqStatusCB;
5333 /* The user data passed in by UMAC, it will be sent back when the above
5334 function pointer will be called */
5335 void* pUserData;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005336} WDI_RoamScanOffloadReqParamsType;
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005337#endif //WLAN_FEATURE_ROAM_SCAN_OFFLOAD
Jeff Johnson295189b2012-06-20 16:38:30 -07005338
5339/*---------------------------------------------------------------------------
Sandeep Puligilla8b8b74b2014-02-10 16:39:05 +05305340 WDI_HT40ObssScanIndType
5341---------------------------------------------------------------------------*/
5342typedef struct
5343{
5344 wpt_uint8 cmdType;
5345 wpt_uint8 scanType;
5346 wpt_uint16 OBSSScanPassiveDwellTime; // In TUs
5347 wpt_uint16 OBSSScanActiveDwellTime; // In TUs
5348 wpt_uint16 BSSChannelWidthTriggerScanInterval; // In seconds
5349 wpt_uint16 OBSSScanPassiveTotalPerChannel; // In TUs
5350 wpt_uint16 OBSSScanActiveTotalPerChannel; // In TUs
5351 wpt_uint16 BSSWidthChannelTransitionDelayFactor;
5352 wpt_uint16 OBSSScanActivityThreshold;
5353 wpt_uint8 selfStaIdx;
5354 wpt_uint8 bssIdx;
5355 wpt_uint8 fortyMHZIntolerent;
5356 wpt_uint8 channelCount;
5357 wpt_uint8 channels[WDI_ROAM_SCAN_MAX_CHANNELS];
5358 wpt_uint8 currentOperatingClass;
5359 wpt_uint16 ieFieldLen;
5360 wpt_uint8 ieField[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
5361} WDI_HT40ObssScanIndType;
5362
5363
5364/*---------------------------------------------------------------------------
5365 WDI_OBSSScanIndParamsType
5366---------------------------------------------------------------------------*/
5367typedef struct
5368{
5369 WDI_HT40ObssScanIndType wdiHT40ObssScanParam;
5370
5371 /*Request status callback offered by UMAC - it is called if the current
5372 req has returned PENDING as status; it delivers the status of sending
5373 the message over the BUS */
5374 WDI_ReqStatusCb wdiReqStatusCB;
5375
5376 /*The user data passed in by UMAC, it will be sent back when the above
5377 function pointer will be called */
5378 void* pUserData;
5379
5380}WDI_HT40ObssScanParamsType;
5381
5382/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07005383 WDI_UpdateScanParamsInfo
5384---------------------------------------------------------------------------*/
5385typedef struct
5386{
5387 /* Ignore DTIM */
5388 wpt_uint32 uIgnoreDTIM;
5389
5390 /*DTIM Period*/
5391 wpt_uint32 uDTIMPeriod;
5392
5393 /* Listen Interval */
5394 wpt_uint32 uListenInterval;
5395
5396 /* Broadcast Multicas Filter */
5397 wpt_uint32 uBcastMcastFilter;
5398
5399 /* Beacon Early Termination */
5400 wpt_uint32 uEnableBET;
5401
5402 /* Beacon Early Termination Interval */
5403 wpt_uint32 uBETInterval;
5404
Yue Mac24062f2013-05-13 17:01:29 -07005405 /* MAX LI for modulated DTIM */
5406 wpt_uint32 uMaxLIModulatedDTIM;
5407
Jeff Johnson295189b2012-06-20 16:38:30 -07005408} WDI_SetPowerParamsInfo;
5409
5410/*---------------------------------------------------------------------------
5411 WDI_UpdateScanParamsInfoType
5412 UpdateScanParams info passed to WDI form WDA
5413---------------------------------------------------------------------------*/
5414typedef struct
5415{
5416 /* Power params Info Type, same as tSetPowerParamsReq */
5417 WDI_SetPowerParamsInfo wdiSetPowerParamsInfo;
5418 /* Request status callback offered by UMAC - it is called if the current req
5419 has returned PENDING as status; it delivers the status of sending the message
5420 over the BUS */
5421 WDI_ReqStatusCb wdiReqStatusCB;
5422 /* The user data passed in by UMAC, it will be sent back when the above
5423 function pointer will be called */
5424 void* pUserData;
5425}WDI_SetPowerParamsReqParamsType;
5426
5427/*---------------------------------------------------------------------------
5428 WDI_SetTxPerTrackingConfType
5429 Wowl add ptrn info passed to WDA form UMAC
5430---------------------------------------------------------------------------*/
5431typedef struct
5432{
5433 wpt_uint8 ucTxPerTrackingEnable; /* 0: disable, 1:enable */
5434 wpt_uint8 ucTxPerTrackingPeriod; /* Check period, unit is sec. */
5435 wpt_uint8 ucTxPerTrackingRatio; /* (Fail TX packet)/(Total TX packet) ratio, the unit is 10%. */
5436 wpt_uint32 uTxPerTrackingWatermark; /* A watermark of check number, once the tx packet exceed this number, we do the check, default is 5 */
5437} WDI_TxPerTrackingParamType;
5438
5439/*---------------------------------------------------------------------------
5440 WDI_SetTxPerTrackingReqParamsType
5441 Tx PER Tracking parameters passed to WDI from WDA
5442---------------------------------------------------------------------------*/
5443typedef struct
5444{
5445 /* Configurations for Tx PER Tracking */
5446 WDI_TxPerTrackingParamType wdiTxPerTrackingParam;
5447 /*Request status callback offered by UMAC - it is called if the current req
5448 has returned PENDING as status; it delivers the status of sending the message
5449 over the BUS */
5450 WDI_ReqStatusCb wdiReqStatusCB;
5451 /*The user data passed in by UMAC, it will be sent back when the above
5452 function pointer will be called */
5453 void* pUserData;
5454}WDI_SetTxPerTrackingReqParamsType;
5455
5456#ifdef WLAN_FEATURE_PACKET_FILTERING
5457/*---------------------------------------------------------------------------
5458 Packet Filtering Parameters
5459---------------------------------------------------------------------------*/
5460
5461#define WDI_IPV4_ADDR_LEN 4
5462#define WDI_MAC_ADDR_LEN 6
5463#define WDI_MAX_FILTER_TEST_DATA_LEN 8
5464#define WDI_MAX_NUM_MULTICAST_ADDRESS 240
5465#define WDI_MAX_NUM_FILTERS 20
5466#define WDI_MAX_NUM_TESTS_PER_FILTER 10
5467
5468//
5469// Receive Filter Parameters
5470//
5471typedef enum
5472{
5473 WDI_RCV_FILTER_TYPE_INVALID,
5474 WDI_RCV_FILTER_TYPE_FILTER_PKT,
5475 WDI_RCV_FILTER_TYPE_BUFFER_PKT,
5476 WDI_RCV_FILTER_TYPE_MAX_ENUM_SIZE
5477}WDI_ReceivePacketFilterType;
5478
5479typedef enum
5480{
5481 WDI_FILTER_HDR_TYPE_INVALID,
5482 WDI_FILTER_HDR_TYPE_MAC,
5483 WDI_FILTER_HDR_TYPE_ARP,
5484 WDI_FILTER_HDR_TYPE_IPV4,
5485 WDI_FILTER_HDR_TYPE_IPV6,
5486 WDI_FILTER_HDR_TYPE_UDP,
5487 WDI_FILTER_HDR_TYPE_MAX
5488}WDI_RcvPktFltProtocolType;
5489
5490typedef enum
5491{
5492 WDI_FILTER_CMP_TYPE_INVALID,
5493 WDI_FILTER_CMP_TYPE_EQUAL,
5494 WDI_FILTER_CMP_TYPE_MASK_EQUAL,
5495 WDI_FILTER_CMP_TYPE_NOT_EQUAL,
5496 WDI_FILTER_CMP_TYPE_MASK_NOT_EQUAL,
5497 WDI_FILTER_CMP_TYPE_MAX
5498}WDI_RcvPktFltCmpFlagType;
5499
5500typedef struct
5501{
5502 WDI_RcvPktFltProtocolType protocolLayer;
5503 WDI_RcvPktFltCmpFlagType cmpFlag;
5504/* Length of the data to compare */
5505 wpt_uint16 dataLength;
5506/* from start of the respective frame header */
5507 wpt_uint8 dataOffset;
5508 wpt_uint8 reserved; /* Reserved field */
5509/* Data to compare */
5510 wpt_uint8 compareData[WDI_MAX_FILTER_TEST_DATA_LEN];
5511/* Mask to be applied on the received packet data before compare */
5512 wpt_uint8 dataMask[WDI_MAX_FILTER_TEST_DATA_LEN];
5513}WDI_RcvPktFilterFieldParams;
5514
5515typedef struct
5516{
5517 wpt_uint8 filterId;
5518 wpt_uint8 filterType;
5519 wpt_uint32 numFieldParams;
5520 wpt_uint32 coalesceTime;
Jeff Johnsone7245742012-09-05 17:12:55 -07005521 wpt_macAddr selfMacAddr;
5522 wpt_macAddr bssId;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005523 WDI_RcvPktFilterFieldParams paramsData[1];
5524
Jeff Johnson295189b2012-06-20 16:38:30 -07005525}WDI_RcvPktFilterCfgType;
5526
5527typedef struct
5528{
5529 /*Request status callback offered by UMAC - it is called if the current
5530 req has returned PENDING as status; it delivers the status of sending
5531 the message over the BUS */
5532 WDI_ReqStatusCb wdiReqStatusCB;
5533
5534 /*The user data passed in by UMAC, it will be sent back when the above
5535 function pointer will be called */
5536 void* pUserData;
5537
5538 // Variable length packet filter field params
5539 WDI_RcvPktFilterCfgType wdiPktFilterCfg;
5540} WDI_SetRcvPktFilterReqParamsType;
5541
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005542typedef struct
5543{
5544 /*Result of the operation*/
5545 WDI_Status wdiStatus;
5546 /* BSSIDX of the Set Receive Filter
5547 */
5548 wpt_uint8 bssIdx;
5549} WDI_SetRcvPktFilterRspParamsType;
5550
Jeff Johnson295189b2012-06-20 16:38:30 -07005551//
5552// Filter Packet Match Count Parameters
5553//
5554typedef struct
5555{
5556 /*Request status callback offered by UMAC - it is called if the current
5557 req has returned PENDING as status; it delivers the status of sending
5558 the message over the BUS */
5559 WDI_ReqStatusCb wdiReqStatusCB;
5560
5561 /*The user data passed in by UMAC, it will be sent back when the above
5562 function pointer will be called */
5563 void* pUserData;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005564
5565 /* BSSID of the Match count
5566 */
5567 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005568} WDI_RcvFltPktMatchCntReqParamsType;
5569
5570typedef struct
5571{
5572 wpt_uint8 filterId;
5573 wpt_uint32 matchCnt;
5574} WDI_RcvFltPktMatchCnt;
5575
5576typedef struct
5577{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005578 /*Result of the operation*/
5579 WDI_Status wdiStatus;
Jeff Johnson295189b2012-06-20 16:38:30 -07005580
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005581 /* BSSIDX of the Match count response
5582 */
5583 wpt_uint8 bssIdx;
5584
Jeff Johnson295189b2012-06-20 16:38:30 -07005585} WDI_RcvFltPktMatchCntRspParamsType;
5586
Jeff Johnson295189b2012-06-20 16:38:30 -07005587//
5588// Receive Filter Clear Parameters
5589//
5590typedef struct
5591{
5592 wpt_uint32 status; /* only valid for response message */
5593 wpt_uint8 filterId;
Jeff Johnsone7245742012-09-05 17:12:55 -07005594 wpt_macAddr selfMacAddr;
5595 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005596}WDI_RcvFltPktClearParam;
5597
5598typedef struct
5599{
5600 WDI_RcvFltPktClearParam filterClearParam;
5601 /*Request status callback offered by UMAC - it is called if the current
5602 req has returned PENDING as status; it delivers the status of sending
5603 the message over the BUS */
5604 WDI_ReqStatusCb wdiReqStatusCB;
5605
5606 /*The user data passed in by UMAC, it will be sent back when the above
5607 function pointer will be called */
5608 void* pUserData;
5609} WDI_RcvFltPktClearReqParamsType;
5610
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005611typedef struct
5612{
5613 /*Result of the operation*/
5614 WDI_Status wdiStatus;
5615 /* BSSIDX of the Match count response
5616 */
5617 wpt_uint8 bssIdx;
5618
5619} WDI_RcvFltPktClearRspParamsType;
5620
Jeff Johnson295189b2012-06-20 16:38:30 -07005621//
5622// Multicast Address List Parameters
5623//
5624typedef struct
5625{
5626 wpt_uint32 ulMulticastAddrCnt;
5627 wpt_macAddr multicastAddr[WDI_MAX_NUM_MULTICAST_ADDRESS];
Jeff Johnsone7245742012-09-05 17:12:55 -07005628 wpt_macAddr selfMacAddr;
5629 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005630} WDI_RcvFltMcAddrListType;
5631
5632typedef struct
5633{
5634 WDI_RcvFltMcAddrListType mcAddrList;
5635 /*Request status callback offered by UMAC - it is called if the current
5636 req has returned PENDING as status; it delivers the status of sending
5637 the message over the BUS */
5638 WDI_ReqStatusCb wdiReqStatusCB;
5639
5640 /*The user data passed in by UMAC, it will be sent back when the above
5641 function pointer will be called */
5642 void* pUserData;
5643} WDI_RcvFltPktSetMcListReqParamsType;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005644
5645typedef struct
5646{
5647 /*Result of the operation*/
5648 WDI_Status wdiStatus;
5649 /* BSSIDX of the Match count response
5650 */
5651 wpt_uint8 bssIdx;
5652} WDI_RcvFltPktSetMcListRspParamsType;
5653
Jeff Johnson295189b2012-06-20 16:38:30 -07005654#endif // WLAN_FEATURE_PACKET_FILTERING
5655
5656/*---------------------------------------------------------------------------
5657 WDI_HALDumpCmdReqInfoType
5658---------------------------------------------------------------------------*/
5659typedef struct
5660{
5661 /*command*/
5662 wpt_uint32 command;
5663
5664 /*Arguments*/
5665 wpt_uint32 argument1;
5666 wpt_uint32 argument2;
5667 wpt_uint32 argument3;
5668 wpt_uint32 argument4;
5669
5670}WDI_HALDumpCmdReqInfoType;
5671
5672/*---------------------------------------------------------------------------
5673 WDI_HALDumpCmdReqParamsType
5674---------------------------------------------------------------------------*/
5675typedef struct
5676{
5677 /*NV Blob Info*/
5678 WDI_HALDumpCmdReqInfoType wdiHALDumpCmdInfoType;
5679
5680 /*Request status callback offered by UMAC - it is called if the current
5681 req has returned PENDING as status; it delivers the status of sending
5682 the message over the BUS */
5683 WDI_ReqStatusCb wdiReqStatusCB;
5684
5685 /*The user data passed in by UMAC, it will be sent back when the above
5686 function pointer will be called */
5687 void* pUserData;
5688
5689}WDI_HALDumpCmdReqParamsType;
5690
5691
5692/*---------------------------------------------------------------------------
5693 WDI_HALDumpCmdRspParamsType
5694---------------------------------------------------------------------------*/
5695typedef struct
5696{
5697 /*Result of the operation*/
5698 WDI_Status wdiStatus;
5699
5700 /* length of the buffer */
5701 wpt_uint16 usBufferLen;
5702
5703 /* Buffer */
5704 wpt_uint8 *pBuffer;
5705}WDI_HALDumpCmdRspParamsType;
5706
5707
5708/*---------------------------------------------------------------------------
5709 WDI_SetTmLevelReqType
5710---------------------------------------------------------------------------*/
5711typedef struct
5712{
5713 wpt_uint16 tmMode;
5714 wpt_uint16 tmLevel;
5715 void* pUserData;
5716}WDI_SetTmLevelReqType;
5717
5718/*---------------------------------------------------------------------------
5719 WDI_SetTmLevelRspType
5720---------------------------------------------------------------------------*/
5721typedef struct
5722{
5723 WDI_Status wdiStatus;
5724 void* pUserData;
5725}WDI_SetTmLevelRspType;
5726
Leo Chang9056f462013-08-01 19:21:11 -07005727#ifdef FEATURE_WLAN_LPHB
5728/*---------------------------------------------------------------------------
5729 WDI_LPHBConfigParamsType
5730---------------------------------------------------------------------------*/
5731typedef struct
5732{
5733 void* pLphsConfIndData;
5734}WDI_LPHBConfigParamsType;
5735#endif /* FEATURE_WLAN_LPHB */
5736
Yue Mab9c86f42013-08-14 15:59:08 -07005737/*---------------------------------------------------------------------------
5738 WDI_AddPeriodicTxPtrnInfoType
5739---------------------------------------------------------------------------*/
5740typedef struct
5741{
5742 /* MAC Address for the adapter */
5743 wpt_macAddr macAddr;
5744
5745 wpt_uint8 ucPtrnId; // Pattern ID
5746 wpt_uint16 ucPtrnSize; // Pattern size
5747 wpt_uint32 usPtrnIntervalMs; // In msec
5748 wpt_uint8 ucPattern[PERIODIC_TX_PTRN_MAX_SIZE]; // Pattern buffer
5749} WDI_AddPeriodicTxPtrnInfoType;
5750
5751/*---------------------------------------------------------------------------
5752 WDI_DelPeriodicTxPtrnInfoType
5753---------------------------------------------------------------------------*/
5754typedef struct
5755{
5756 /* MAC Address for the adapter */
5757 wpt_macAddr macAddr;
5758
5759 /* Bitmap of pattern IDs that needs to be deleted */
5760 wpt_uint32 ucPatternIdBitmap;
5761} WDI_DelPeriodicTxPtrnInfoType;
5762
5763/*---------------------------------------------------------------------------
5764 WDI_AddPeriodicTxPtrnParamsType
5765---------------------------------------------------------------------------*/
5766typedef struct
5767{
5768 WDI_AddPeriodicTxPtrnInfoType wdiAddPeriodicTxPtrnParams;
5769
5770 /*Request status callback offered by UMAC - it is called if the current
5771 req has returned PENDING as status; it delivers the status of sending
5772 the message over the BUS */
5773 WDI_ReqStatusCb wdiReqStatusCB;
5774
5775 /*The user data passed in by UMAC, it will be sent back when the above
5776 function pointer will be called */
5777 void* pUserData;
5778} WDI_AddPeriodicTxPtrnParamsType;
5779
5780/*---------------------------------------------------------------------------
Srinivas Dasari32a79262015-02-19 13:04:49 +05305781 WDI_NanRequestType
5782---------------------------------------------------------------------------*/
5783typedef struct
5784{
5785 wpt_uint16 request_data_len;
5786 wpt_uint8 request_data[1];
5787} WDI_NanRequestType;
5788
5789
5790/*---------------------------------------------------------------------------
Yue Mab9c86f42013-08-14 15:59:08 -07005791 WDI_DelPeriodicTxPtrnParamsType
5792---------------------------------------------------------------------------*/
5793typedef struct
5794{
5795 WDI_DelPeriodicTxPtrnInfoType wdiDelPeriodicTxPtrnParams;
5796
5797 /*Request status callback offered by UMAC - it is called if the current
5798 req has returned PENDING as status; it delivers the status of sending
5799 the message over the BUS */
5800 WDI_ReqStatusCb wdiReqStatusCB;
5801
5802 /*The user data passed in by UMAC, it will be sent back when the above
5803 function pointer will be called */
5804 void* pUserData;
5805} WDI_DelPeriodicTxPtrnParamsType;
5806
Dino Mycle41bdc942014-06-10 11:30:24 +05305807#ifdef WLAN_FEATURE_EXTSCAN
5808
5809#define WDI_WLAN_EXTSCAN_MAX_CHANNELS 16
5810#define WDI_WLAN_EXTSCAN_MAX_BUCKETS 16
5811#define WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS 128
5812#define WDI_WLAN_EXTSCAN_MAX_SIGNIFICANT_CHANGE_APS 64
5813
5814typedef enum
5815{
5816 WDI_WIFI_BAND_UNSPECIFIED,
5817 WDI_WIFI_BAND_BG = 1, // 2.4 GHz
5818 WDI_WIFI_BAND_A = 2, // 5 GHz without DFS
5819 WDI_WIFI_BAND_ABG = 3, // 2.4 GHz + 5 GHz; no DFS
5820 WDI_WIFI_BAND_A_DFS = 4, // 5 GHz DFS only
5821 WDI_WIFI_BAND_A_WITH_DFS = 6, // 5 GHz with DFS
5822 WDI_WIFI_BAND_ABG_WITH_DFS = 7, // 2.4 GHz + 5 GHz with DFS
5823
5824 /* Keep it last */
5825 WDI_WIFI_BAND_MAX
5826} WDI_WifiBand;
5827
5828typedef struct
5829{
5830 wpt_uint32 channel; // frequency
5831 wpt_uint32 dwellTimeMs; // dwell time hint
5832 wpt_uint8 passive; // 0 => active,
5833 // 1 => passive scan; ignored for DFS
5834 wpt_uint8 chnlClass;
5835} WDI_WifiScanChannelSpec;
5836
5837typedef struct
5838{
5839 wpt_uint8 bucket; // bucket index, 0 based
5840 WDI_WifiBand band; // when UNSPECIFIED, use channel list
5841
5842 /*
5843 * desired period, in millisecond; if this is too
5844 * low, the firmware should choose to generate results as fast as
5845 * it can instead of failing the command byte
5846 */
5847 wpt_uint32 period;
5848
5849 /*
5850 * 0 => normal reporting (reporting rssi history
5851 * only, when rssi history buffer is % full)
5852 * 1 => same as 0 + report a scan completion event after scanning
5853 * this bucket
5854 * 2 => same as 1 + forward scan results (beacons/probe responses + IEs)
5855 * in real time to HAL
5856 */
5857 wpt_uint8 reportEvents;
5858
5859 wpt_uint8 numChannels;
5860
5861 /*
5862 * channels to scan; these may include DFS channels
5863 */
5864 WDI_WifiScanChannelSpec channels[WDI_WLAN_EXTSCAN_MAX_CHANNELS];
5865} WDI_WifiScanBucketSpec;
5866
5867typedef struct
5868{
5869 wpt_uint32 requestId;
5870 wpt_uint8 sessionId;
5871 wpt_uint32 basePeriod; // base timer period
5872 wpt_uint32 maxAPperScan;
5873
5874 /* in %, when buffer is this much full, wake up host */
5875 wpt_uint32 reportThreshold;
5876
5877 wpt_uint8 numBuckets;
5878 WDI_WifiScanBucketSpec buckets[WDI_WLAN_EXTSCAN_MAX_BUCKETS];
5879} WDI_EXTScanStartReqParams;
5880
5881typedef struct
5882{
5883 wpt_uint32 requestId;
5884 wpt_uint8 sessionId;
5885} WDI_EXTScanStopReqParams;
5886
5887typedef struct
5888{
5889 wpt_uint32 requestId;
5890 wpt_uint8 sessionId;
5891
5892 /*
5893 * 1 return cached results and flush it
5894 * 0 return cached results and do not flush
5895 */
5896 wpt_boolean flush;
5897} WDI_EXTScanGetCachedResultsReqParams;
5898
5899typedef struct
5900{
5901 wpt_uint32 requestId;
5902 wpt_uint8 sessionId;
5903} WDI_EXTScanGetCapabilitiesReqParams;
5904
5905typedef struct
5906{
5907 wpt_uint8 bssid[6]; /* BSSID */
5908 wpt_int32 low; // low threshold
5909 wpt_int32 high; // high threshold
5910 wpt_uint32 channel; // channel hint
5911} WDI_APThresholdParam;
5912
5913typedef struct
5914{
5915 wpt_int32 requestId;
5916 wpt_int8 sessionId; // session Id mapped to vdev_id
5917
5918 wpt_int32 numAp; // number of hotlist APs
5919 WDI_APThresholdParam ap[WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS]; // hotlist APs
5920} WDI_EXTScanSetBSSIDHotlistReqParams;
5921
5922typedef struct
5923{
5924 wpt_uint32 requestId;
5925 wpt_uint8 sessionId;
5926} WDI_EXTScanResetBSSIDHotlistReqParams;
5927
5928
5929typedef struct
5930{
5931 wpt_int32 requestId;
5932 wpt_int8 sessionId; // session Id mapped to vdev_id
5933
5934 /* number of samples for averaging RSSI */
5935 wpt_int32 rssiSampleSize;
5936
5937 /* number of missed samples to confirm AP loss */
5938 wpt_int32 lostApSampleSize;
5939
5940 /* number of APs breaching threshold required for firmware
5941 * to generate event
5942 */
5943 wpt_int32 minBreaching;
5944
5945 wpt_int32 numAp; // number of hotlist APs
5946 WDI_APThresholdParam ap[WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS]; // hotlist APs
5947} WDI_EXTScanSetSignfRSSIChangeReqParams;
5948
5949typedef struct
5950{
5951 wpt_uint32 requestId;
5952 wpt_uint8 sessionId;
5953} WDI_EXTScanResetSignfRSSIChangeReqParams;
5954#endif /* WLAN_FEATURE_EXTSCAN */
5955
Sunil Duttbd736ed2014-05-26 21:19:41 +05305956#ifdef WLAN_FEATURE_LINK_LAYER_STATS
5957typedef struct
5958{
5959 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05305960 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05305961 wpt_uint32 mpduSizeThreshold;
5962 wpt_uint32 aggressiveStatisticsGathering;
5963}WDI_LLStatsSetReqType;
5964
5965typedef struct
5966{
5967 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05305968 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05305969 wpt_uint32 paramIdMask;
5970}WDI_LLStatsGetReqType;
5971
5972typedef struct
5973{
5974 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05305975 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05305976 wpt_uint32 statsClearReqMask;
5977 wpt_uint8 stopReq;
5978}WDI_LLStatsClearReqType;
Dino Mycled3d50022014-07-07 12:58:25 +05305979
Sunil Duttbd736ed2014-05-26 21:19:41 +05305980#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
5981
Siddharth Bhal171788a2014-09-29 21:02:40 +05305982/*---------------------------------------------------------------------------
5983 WDI_SPOOF_MAC_ADDR_REQ
5984---------------------------------------------------------------------------*/
5985typedef struct
5986{
5987 /* Spoof MAC Address for FW */
5988 wpt_macAddr macAddr;
5989
5990 /* Reserved Params/fields */
5991 wpt_uint32 params;
5992 wpt_uint32 reserved;
5993} WDI_SpoofMacAddrInfoType;
Sunil Duttbd736ed2014-05-26 21:19:41 +05305994
Srinivas Dasari4dae48f2014-11-26 21:14:16 +05305995//This is to force compiler to use the maximum of an int for enum
5996#define SIR_MAX_ENUM_SIZE 0x7FFFFFFF
5997// Enum to specify whether key is used
5998// for TX only, RX only or both
5999typedef enum
6000{
6001 eWDI_TX_ONLY,
6002 eWDI_RX_ONLY,
6003 eWDI_TX_RX,
6004 eWDI_TX_DEFAULT,
6005 eWDI_DONOT_USE_KEY_DIRECTION = SIR_MAX_ENUM_SIZE
6006} tWDIKeyDirection;
6007
6008// MAX key length when ULA is used
6009#define SIR_MAC_MAX_KEY_LENGTH 32
6010/* Max key size including the WAPI and TKIP */
6011#define WLAN_MAX_KEY_RSC_LEN 16
6012// Definition for Encryption Keys
6013//typedef struct sSirKeys
6014typedef struct
6015{
6016 wpt_uint8 keyId;
6017 wpt_uint8 unicast; // 0 for multicast
6018 tWDIKeyDirection keyDirection;
6019 wpt_uint8 keyRsc[WLAN_MAX_KEY_RSC_LEN]; // Usage is unknown
6020 wpt_uint8 paeRole; // =1 for authenticator,
6021 // =0 for supplicant
6022 wpt_uint16 keyLength;
6023 wpt_uint8 key[SIR_MAC_MAX_KEY_LENGTH];
6024} tWDIKeys, *tpWDIKeys;
6025
6026typedef enum
6027{
6028 eWDI_WEP_STATIC,
6029 eWDI_WEP_DYNAMIC,
6030} tWDIWepType;
6031
6032// Encryption type enum used with peer
6033typedef enum
6034{
6035 eWDI_ED_NONE,
6036 eWDI_ED_WEP40,
6037 eWDI_ED_WEP104,
6038 eWDI_ED_TKIP,
6039 eWDI_ED_CCMP,
6040#if defined(FEATURE_WLAN_WAPI)
6041 eWDI_ED_WPI,
6042#endif
6043 /* DPU HW treats encryption mode 4 plus RMF bit set in TX BD as BIP.
6044 * Thus while setting BIP encryption mode in corresponding DPU Desc
6045 * eSIR_ED_AES_128_CMAC should be set to eSIR_ED_CCMP
6046 */
6047 eWDI_ED_AES_128_CMAC,
6048 eWDI_ED_NOT_IMPLEMENTED = SIR_MAX_ENUM_SIZE
6049} tWDIEdType;
6050#define SIR_WDI_MAX_NUM_OF_DEFAULT_KEYS 4
6051/*
6052 * This is used by PE to configure the key information on a given station.
6053 * When the secType is WEP40 or WEP104, the defWEPIdx is used to locate
6054 * a preconfigured key from a BSS the station assoicated with; otherwise
6055 * a new key descriptor is created based on the key field.
6056 */
6057typedef struct
6058{
6059 wpt_uint16 staIdx;
6060 tWDIEdType encType; // Encryption/Decryption type
6061 tWDIWepType wepType; // valid only for WEP
6062 wpt_uint8 defWEPIdx; // Default WEP key, valid only for static WEP, must between 0 and 3
6063 tWDIKeys key[SIR_WDI_MAX_NUM_OF_DEFAULT_KEYS]; // valid only for non-static WEP encyrptions
6064 wpt_uint8 singleTidRc; // 1=Single TID based Replay Count, 0=Per TID based RC
6065 wpt_uint8 sessionId; // PE session id for PE<->HAL interface
6066} tWDISetStaKeyParams, *tpWDISetStaKeyParams;
6067
6068typedef struct
6069{
6070 tWDISetStaKeyParams keyParams;
6071 wpt_uint8 pn[6];
6072}wpt_encConfigParams;
6073
6074typedef struct
6075{
6076 wpt_uint16 length;
6077 wpt_uint8 data[WDI_DISA_MAX_PAYLOAD_SIZE];
6078}wpt_payload;
6079
6080typedef struct
6081{
6082 wpt_80211Header macHeader;
6083 wpt_encConfigParams encParams;
6084 wpt_payload data;
6085}wpt_pkt80211;
6086
Katya Nigamf0511f62015-05-05 16:40:57 +05306087#define NUM_FILTERS_SUPPORTED 1
6088typedef struct
6089{
6090 wpt_macAddr macAddr;
6091 wpt_uint8 isA1filter;
6092 wpt_uint8 isA2filter;
6093 wpt_uint8 isA3filter;
6094}WDI_filter;
6095
6096typedef struct
6097{
6098 /* start or stop */
6099 wpt_uint8 state;
6100 /*Conversion of packet required or not*/
6101 wpt_uint8 is80211to803ConReq;
6102 wpt_uint32 ChannelNo;
6103 wpt_uint32 ChannelBW;
6104 wpt_uint8 crcCheckEnabled;
6105 wpt_uint8 numOfMacFilters;
6106 WDI_filter mmFilters[NUM_FILTERS_SUPPORTED];
6107 wpt_uint64 typeSubtypeBitmap;
6108 wpt_uint64 rsvd;
6109
6110}WDI_MonStartReqType;
6111
Jeff Johnson295189b2012-06-20 16:38:30 -07006112/*----------------------------------------------------------------------------
6113 * WDI callback types
6114 *--------------------------------------------------------------------------*/
6115
6116/*---------------------------------------------------------------------------
6117 WDI_StartRspCb
6118
6119 DESCRIPTION
6120
6121 This callback is invoked by DAL when it has received a Start response from
6122 the underlying device.
6123
6124 PARAMETERS
6125
6126 IN
6127 wdiRspParams: response parameters received from HAL
6128 pUserData: user data
6129
6130
6131 RETURN VALUE
6132 The result code associated with performing the operation
6133---------------------------------------------------------------------------*/
6134typedef void (*WDI_StartRspCb)(WDI_StartRspParamsType* pwdiRspParams,
6135 void* pUserData);
6136
6137/*---------------------------------------------------------------------------
6138 WDI_StartRspCb
6139
6140 DESCRIPTION
6141
6142 This callback is invoked by DAL when it has received a Stop response from
6143 the underlying device.
6144
6145 PARAMETERS
6146
6147 IN
6148 wdiStatus: response status received from HAL
6149 pUserData: user data
6150
6151
6152
6153 RETURN VALUE
6154 The result code associated with performing the operation
6155---------------------------------------------------------------------------*/
6156typedef void (*WDI_StopRspCb)(WDI_Status wdiStatus,
6157 void* pUserData);
6158
6159/*---------------------------------------------------------------------------
6160 WDI_StartRspCb
6161
6162 DESCRIPTION
6163
6164 This callback is invoked by DAL when it has received an Init Scan response
6165 from the underlying device.
6166
6167 PARAMETERS
6168
6169 IN
6170 wdiStatus: response status received from HAL
6171 pUserData: user data
6172
6173
6174
6175 RETURN VALUE
6176 The result code associated with performing the operation
6177---------------------------------------------------------------------------*/
6178typedef void (*WDI_InitScanRspCb)(WDI_Status wdiStatus,
6179 void* pUserData);
6180
6181
6182/*---------------------------------------------------------------------------
6183 WDI_StartRspCb
6184
6185 DESCRIPTION
6186
6187 This callback is invoked by DAL when it has received a StartScan response
6188 from the underlying device.
6189
6190 PARAMETERS
6191
6192 IN
6193 wdiParams: response params 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_StartScanRspCb)(WDI_StartScanRspParamsType* wdiParams,
6202 void* pUserData);
6203
6204
6205/*---------------------------------------------------------------------------
6206 WDI_StartRspCb
6207
6208 DESCRIPTION
6209
6210 This callback is invoked by DAL when it has received a End Scan response
6211 from the underlying device.
6212
6213 PARAMETERS
6214
6215 IN
6216 wdiStatus: response status received from HAL
6217 pUserData: user data
6218
6219
6220
6221 RETURN VALUE
6222 The result code associated with performing the operation
6223---------------------------------------------------------------------------*/
6224typedef void (*WDI_EndScanRspCb)(WDI_Status wdiStatus,
6225 void* pUserData);
6226
6227
6228/*---------------------------------------------------------------------------
6229 WDI_StartRspCb
6230
6231 DESCRIPTION
6232
6233 This callback is invoked by DAL when it has received a Finish Scan response
6234 from the underlying device.
6235
6236 PARAMETERS
6237
6238 IN
6239 wdiStatus: response status received from HAL
6240 pUserData: user data
6241
6242
6243
6244 RETURN VALUE
6245 The result code associated with performing the operation
6246---------------------------------------------------------------------------*/
6247typedef void (*WDI_FinishScanRspCb)(WDI_Status wdiStatus,
6248 void* pUserData);
6249
6250
6251/*---------------------------------------------------------------------------
6252 WDI_StartRspCb
6253
6254 DESCRIPTION
6255
6256 This callback is invoked by DAL when it has received a Join response from
6257 the underlying device.
6258
6259 PARAMETERS
6260
6261 IN
6262 wdiStatus: response status received from HAL
6263 pUserData: user data
6264
6265
6266
6267 RETURN VALUE
6268 The result code associated with performing the operation
6269---------------------------------------------------------------------------*/
6270typedef void (*WDI_JoinRspCb)(WDI_Status wdiStatus,
6271 void* pUserData);
6272
6273
6274/*---------------------------------------------------------------------------
6275 WDI_StartRspCb
6276
6277 DESCRIPTION
6278
6279 This callback is invoked by DAL when it has received a Config BSS response
6280 from the underlying device.
6281
6282 PARAMETERS
6283
6284 IN
6285 wdiConfigBSSRsp: response parameters received from HAL
6286 pUserData: user data
6287
6288
6289 RETURN VALUE
6290 The result code associated with performing the operation
6291---------------------------------------------------------------------------*/
6292typedef void (*WDI_ConfigBSSRspCb)(
6293 WDI_ConfigBSSRspParamsType* pwdiConfigBSSRsp,
6294 void* pUserData);
6295
6296
6297/*---------------------------------------------------------------------------
6298 WDI_StartRspCb
6299
6300 DESCRIPTION
6301
6302 This callback is invoked by DAL when it has received a Del BSS response from
6303 the underlying device.
6304
6305 PARAMETERS
6306
6307 IN
6308 wdiDelBSSRsp: response parameters received from HAL
6309 pUserData: user data
6310
6311
6312 RETURN VALUE
6313 The result code associated with performing the operation
6314---------------------------------------------------------------------------*/
6315typedef void (*WDI_DelBSSRspCb)(WDI_DelBSSRspParamsType* pwdiDelBSSRsp,
6316 void* pUserData);
6317
6318
6319/*---------------------------------------------------------------------------
6320 WDI_StartRspCb
6321
6322 DESCRIPTION
6323
6324 This callback is invoked by DAL when it has received a Post Assoc response
6325 from the underlying device.
6326
6327 PARAMETERS
6328
6329 IN
6330 wdiRspParams: response parameters received from HAL
6331 pUserData: user data
6332
6333
6334 RETURN VALUE
6335 The result code associated with performing the operation
6336---------------------------------------------------------------------------*/
6337typedef void (*WDI_PostAssocRspCb)(
6338 WDI_PostAssocRspParamsType* pwdiPostAssocRsp,
6339 void* pUserData);
6340
6341
6342/*---------------------------------------------------------------------------
6343 WDI_StartRspCb
6344
6345 DESCRIPTION
6346
6347 This callback is invoked by DAL when it has received a Del STA response from
6348 the underlying device.
6349
6350 PARAMETERS
6351
6352 IN
6353 wdiDelSTARsp: response parameters received from HAL
6354 pUserData: user data
6355
6356
6357 RETURN VALUE
6358 The result code associated with performing the operation
6359---------------------------------------------------------------------------*/
6360typedef void (*WDI_DelSTARspCb)(WDI_DelSTARspParamsType* pwdiDelSTARsp,
6361 void* pUserData);
6362
6363
6364
6365/*---------------------------------------------------------------------------
6366 WDI_StartRspCb
6367
6368 DESCRIPTION
6369
6370 This callback is invoked by DAL when it has received a Set BSS Key response
6371 from the underlying device.
6372
6373 PARAMETERS
6374
6375 IN
6376 wdiStatus: response status received from HAL
6377 pUserData: user data
6378
6379
6380
6381 RETURN VALUE
6382 The result code associated with performing the operation
6383---------------------------------------------------------------------------*/
6384typedef void (*WDI_SetBSSKeyRspCb)(WDI_Status wdiStatus,
6385 void* pUserData);
6386
6387/*---------------------------------------------------------------------------
6388 WDI_StartRspCb
6389
6390 DESCRIPTION
6391
6392 This callback is invoked by DAL when it has received a Remove BSS Key
6393 response from the underlying device.
6394
6395 PARAMETERS
6396
6397 IN
6398 wdiStatus: response status received from HAL
6399 pUserData: user data
6400
6401
6402
6403 RETURN VALUE
6404 The result code associated with performing the operation
6405---------------------------------------------------------------------------*/
6406typedef void (*WDI_RemoveBSSKeyRspCb)(WDI_Status wdiStatus,
6407 void* pUserData);
6408
6409/*---------------------------------------------------------------------------
6410 WDI_StartRspCb
6411
6412 DESCRIPTION
6413
6414 This callback is invoked by DAL when it has received a Set STA Key response
6415 from the underlying device.
6416
6417 PARAMETERS
6418
6419 IN
6420 wdiStatus: response status received from HAL
6421 pUserData: user data
6422
6423
Jeff Johnson295189b2012-06-20 16:38:30 -07006424 RETURN VALUE
6425 The result code associated with performing the operation
6426---------------------------------------------------------------------------*/
6427typedef void (*WDI_SetSTAKeyRspCb)(WDI_Status wdiStatus,
6428 void* pUserData);
6429
Jeff Johnson295189b2012-06-20 16:38:30 -07006430/*---------------------------------------------------------------------------
6431 WDI_StartRspCb
6432
6433 DESCRIPTION
6434
6435 This callback is invoked by DAL when it has received a Remove STA Key
6436 response from the underlying device.
6437
6438 PARAMETERS
6439
6440 IN
6441 wdiStatus: response status received from HAL
6442 pUserData: user data
6443
Siddharth Bhal171788a2014-09-29 21:02:40 +05306444
Jeff Johnson295189b2012-06-20 16:38:30 -07006445 RETURN VALUE
6446 The result code associated with performing the operation
6447---------------------------------------------------------------------------*/
6448typedef void (*WDI_RemoveSTAKeyRspCb)(WDI_Status wdiStatus,
6449 void* pUserData);
6450
6451
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08006452#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07006453/*---------------------------------------------------------------------------
6454 WDI_TsmRspCb
6455
6456 DESCRIPTION
6457
6458 This callback is invoked by DAL when it has received a TSM Stats response from the underlying device.
6459
6460 PARAMETERS
6461
6462 IN
6463 pTSMStats: response status received from HAL
6464 pUserData: user data
6465
6466
6467
6468 RETURN VALUE
6469 The result code associated with performing the operation
6470---------------------------------------------------------------------------*/
6471typedef void (*WDI_TsmRspCb)(WDI_TSMStatsRspParamsType *pTSMStats,
6472 void* pUserData);
6473#endif
6474
6475/*---------------------------------------------------------------------------
6476 WDI_StartRspCb
6477
6478 DESCRIPTION
6479
6480 This callback is invoked by DAL when it has received a Add TS response from
6481 the underlying device.
6482
6483 PARAMETERS
6484
6485 IN
6486 wdiStatus: response status received from HAL
6487 pUserData: user data
6488
6489
6490
6491 RETURN VALUE
6492 The result code associated with performing the operation
6493---------------------------------------------------------------------------*/
6494typedef void (*WDI_AddTsRspCb)(WDI_Status wdiStatus,
6495 void* pUserData);
6496
6497/*---------------------------------------------------------------------------
6498 WDI_StartRspCb
6499
6500 DESCRIPTION
6501
6502 This callback is invoked by DAL when it has received a Del TS response from
6503 the underlying device.
6504
6505 PARAMETERS
6506
6507 IN
6508 wdiStatus: response status received from HAL
6509 pUserData: user data
6510
6511
6512
6513 RETURN VALUE
6514 The result code associated with performing the operation
6515---------------------------------------------------------------------------*/
6516typedef void (*WDI_DelTsRspCb)(WDI_Status wdiStatus,
6517 void* pUserData);
6518
6519/*---------------------------------------------------------------------------
6520 WDI_StartRspCb
6521
6522 DESCRIPTION
6523
6524 This callback is invoked by DAL when it has received an Update EDCA Params
6525 response from the underlying device.
6526
6527 PARAMETERS
6528
6529 IN
6530 wdiStatus: response status received from HAL
6531 pUserData: user data
6532
6533
6534
6535 RETURN VALUE
6536 The result code associated with performing the operation
6537---------------------------------------------------------------------------*/
6538typedef void (*WDI_UpdateEDCAParamsRspCb)(WDI_Status wdiStatus,
6539 void* pUserData);
6540
6541/*---------------------------------------------------------------------------
6542 WDI_StartRspCb
6543
6544 DESCRIPTION
6545
6546 This callback is invoked by DAL when it has received a Add BA response from
6547 the underlying device.
6548
6549 PARAMETERS
6550
6551 IN
6552 wdiStatus: response status received from HAL
6553 pUserData: user data
6554
6555
6556
6557 RETURN VALUE
6558 The result code associated with performing the operation
6559---------------------------------------------------------------------------*/
6560typedef void (*WDI_AddBASessionRspCb)(
6561 WDI_AddBASessionRspParamsType* wdiAddBASessionRsp,
6562 void* pUserData);
6563
6564
6565/*---------------------------------------------------------------------------
6566 WDI_StartRspCb
6567
6568 DESCRIPTION
6569
6570 This callback is invoked by DAL when it has received a Del BA response from
6571 the underlying device.
6572
6573 PARAMETERS
6574
6575 IN
6576 wdiStatus: response status received from HAL
6577 pUserData: user data
6578
6579
6580
6581 RETURN VALUE
6582 The result code associated with performing the operation
6583---------------------------------------------------------------------------*/
6584typedef void (*WDI_DelBARspCb)(WDI_Status wdiStatus,
6585 void* pUserData);
6586
6587
6588/*---------------------------------------------------------------------------
6589 WDI_StartRspCb
6590
6591 DESCRIPTION
6592
6593 This callback is invoked by DAL when it has received a Switch Ch response
6594 from the underlying device.
6595
6596 PARAMETERS
6597
6598 IN
6599 wdiRspParams: response parameters received from HAL
6600 pUserData: user data
6601
6602
6603 RETURN VALUE
6604 The result code associated with performing the operation
6605---------------------------------------------------------------------------*/
6606typedef void (*WDI_SwitchChRspCb)(WDI_SwitchCHRspParamsType* pwdiSwitchChRsp,
6607 void* pUserData);
6608
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08006609typedef void (*WDI_SwitchChRspCb_V1)(WDI_SwitchChRspParamsType_V1* pwdiSwitchChRsp,
6610 void* pUserData);
6611
Jeff Johnson295189b2012-06-20 16:38:30 -07006612
6613/*---------------------------------------------------------------------------
6614 WDI_StartRspCb
6615
6616 DESCRIPTION
6617
6618 This callback is invoked by DAL when it has received a Config STA response
6619 from the underlying device.
6620
6621 PARAMETERS
6622
6623 IN
6624 wdiRspParams: response parameters received from HAL
6625 pUserData: user data
6626
6627
6628 RETURN VALUE
6629 The result code associated with performing the operation
6630---------------------------------------------------------------------------*/
6631typedef void (*WDI_ConfigSTARspCb)(
6632 WDI_ConfigSTARspParamsType* pwdiConfigSTARsp,
6633 void* pUserData);
6634
6635
6636/*---------------------------------------------------------------------------
6637 WDI_StartRspCb
6638
6639 DESCRIPTION
6640
6641 This callback is invoked by DAL when it has received a Set Link State
6642 response from the underlying device.
6643
6644 PARAMETERS
6645
6646 IN
6647 wdiRspParams: response parameters received from HAL
6648 pUserData: user data
6649
6650
6651 RETURN VALUE
6652 The result code associated with performing the operation
6653---------------------------------------------------------------------------*/
6654typedef void (*WDI_SetLinkStateRspCb)( WDI_Status wdiStatus,
6655 void* pUserData);
6656
6657
6658/*---------------------------------------------------------------------------
6659 WDI_StartRspCb
6660
6661 DESCRIPTION
6662
6663 This callback is invoked by DAL when it has received a Get Stats response
6664 from the underlying device.
6665
6666 PARAMETERS
6667
6668 IN
6669 wdiRspParams: response parameters received from HAL
6670 pUserData: user data
6671
6672
6673 RETURN VALUE
6674 The result code associated with performing the operation
6675---------------------------------------------------------------------------*/
6676typedef void (*WDI_GetStatsRspCb)(WDI_GetStatsRspParamsType* pwdiGetStatsRsp,
6677 void* pUserData);
6678
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08006679#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08006680/*---------------------------------------------------------------------------
6681 WDI_GetRoamRssiRspCb
6682
6683 DESCRIPTION
6684
6685 This callback is invoked by DAL when it has received a Get Roam Rssi response
6686 from the underlying device.
6687
6688 PARAMETERS
6689
6690 IN
6691 wdiRspParams: response parameters received from HAL
6692 pUserData: user data
6693
6694
6695 RETURN VALUE
6696 The result code associated with performing the operation
6697---------------------------------------------------------------------------*/
6698typedef void (*WDI_GetRoamRssiRspCb)(WDI_GetRoamRssiRspParamsType* pwdiGetRoamRssiRsp,
6699 void* pUserData);
6700#endif
6701
Jeff Johnson295189b2012-06-20 16:38:30 -07006702
6703/*---------------------------------------------------------------------------
6704 WDI_StartRspCb
6705
6706 DESCRIPTION
6707
6708 This callback is invoked by DAL when it has received a Update Cfg response
6709 from the underlying device.
6710
6711 PARAMETERS
6712
6713 IN
6714 wdiStatus: response status received from HAL
6715 pUserData: user data
6716
6717
6718 RETURN VALUE
6719 The result code associated with performing the operation
6720---------------------------------------------------------------------------*/
6721typedef void (*WDI_UpdateCfgRspCb)(WDI_Status wdiStatus,
6722 void* pUserData);
6723
6724/*---------------------------------------------------------------------------
6725 WDI_AddBARspCb
6726
6727 DESCRIPTION
6728
6729 This callback is invoked by DAL when it has received a ADD BA response
6730 from the underlying device.
6731
6732 PARAMETERS
6733
6734 IN
6735 wdiStatus: response status received from HAL
6736 pUserData: user data
6737
6738
6739 RETURN VALUE
6740 The result code associated with performing the operation
6741---------------------------------------------------------------------------*/
6742typedef void (*WDI_AddBARspCb)(WDI_AddBARspinfoType* wdiAddBARsp,
6743 void* pUserData);
6744
6745/*---------------------------------------------------------------------------
6746 WDI_TriggerBARspCb
6747
6748 DESCRIPTION
6749
6750 This callback is invoked by DAL when it has received a ADD BA response
6751 from the underlying device.
6752
6753 PARAMETERS
6754
6755 IN
6756 wdiStatus: response status received from HAL
6757 pUserData: user data
6758
6759
6760 RETURN VALUE
6761 The result code associated with performing the operation
6762---------------------------------------------------------------------------*/
6763typedef void (*WDI_TriggerBARspCb)(WDI_TriggerBARspParamsType* wdiTriggerBARsp,
6764 void* pUserData);
6765
6766
6767/*---------------------------------------------------------------------------
6768 WDI_UpdateBeaconParamsRspCb
6769
6770 DESCRIPTION
6771
6772 This callback is invoked by DAL when it has received a Update Beacon Params response from
6773 the underlying device.
6774
6775 PARAMETERS
6776
6777 IN
6778 wdiStatus: response status received from HAL
6779 pUserData: user data
6780
6781
6782
6783 RETURN VALUE
6784 The result code associated with performing the operation
6785---------------------------------------------------------------------------*/
6786typedef void (*WDI_UpdateBeaconParamsRspCb)(WDI_Status wdiStatus,
6787 void* pUserData);
6788
6789/*---------------------------------------------------------------------------
6790 WDI_SendBeaconParamsRspCb
6791
6792 DESCRIPTION
6793
6794 This callback is invoked by DAL when it has received a Send Beacon Params response from
6795 the underlying device.
6796
6797 PARAMETERS
6798
6799 IN
6800 wdiStatus: response status received from HAL
6801 pUserData: user data
6802
6803
6804
6805 RETURN VALUE
6806 The result code associated with performing the operation
6807---------------------------------------------------------------------------*/
6808typedef void (*WDI_SendBeaconParamsRspCb)(WDI_Status wdiStatus,
6809 void* pUserData);
6810
6811/*---------------------------------------------------------------------------
6812 WDA_SetMaxTxPowerRspCb
6813
6814 DESCRIPTION
6815
6816 This callback is invoked by DAL when it has received a set max Tx Power response from
6817 the underlying device.
6818
6819 PARAMETERS
6820
6821 IN
6822 wdiStatus: response status received from HAL
6823 pUserData: user data
6824
6825
6826
6827 RETURN VALUE
6828 The result code associated with performing the operation
6829---------------------------------------------------------------------------*/
6830typedef void (*WDA_SetMaxTxPowerRspCb)(WDI_SetMaxTxPowerRspMsg *wdiSetMaxTxPowerRsp,
6831 void* pUserData);
6832
6833/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07006834 WDA_SetMaxTxPowerPerBandRspCb
6835
6836 DESCRIPTION
6837
6838 This callback is invoked by DAL when it has received a
6839 set max Tx Power Per Band response from the underlying device.
6840
6841 PARAMETERS
6842
6843 IN
6844 wdiSetMaxTxPowerPerBandRsp: response status received from HAL
6845 pUserData: user data
6846
6847 RETURN VALUE
6848 The result code associated with performing the operation
6849---------------------------------------------------------------------------*/
6850typedef void (*WDA_SetMaxTxPowerPerBandRspCb)(WDI_SetMaxTxPowerPerBandRspMsg
6851 *wdiSetMaxTxPowerPerBandRsp,
6852 void* pUserData);
6853
6854/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07006855 WDA_SetTxPowerRspCb
6856
6857 DESCRIPTION
6858
6859 This callback is invoked by DAL when it has received a set max Tx Power response from
6860 the underlying device.
6861
6862 PARAMETERS
6863
6864 IN
6865 wdiStatus: response status received from HAL
6866 pUserData: user data
6867
6868 RETURN VALUE
6869 The result code associated with performing the operation
6870---------------------------------------------------------------------------*/
6871typedef void (*WDA_SetTxPowerRspCb)(WDI_SetTxPowerRspMsg *wdiSetTxPowerRsp,
6872 void* pUserData);
6873
6874/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07006875 WDI_UpdateProbeRspTemplateRspCb
6876
6877 DESCRIPTION
6878
6879 This callback is invoked by DAL when it has received a Probe RSP Template
6880 Update response from the underlying device.
6881
6882 PARAMETERS
6883
6884 IN
6885 wdiStatus: response status received from HAL
6886 pUserData: user data
6887
6888
6889
6890 RETURN VALUE
6891 The result code associated with performing the operation
6892---------------------------------------------------------------------------*/
6893typedef void (*WDI_UpdateProbeRspTemplateRspCb)(WDI_Status wdiStatus,
6894 void* pUserData);
6895
Jeff Johnson295189b2012-06-20 16:38:30 -07006896/*---------------------------------------------------------------------------
6897 WDI_SetP2PGONOAReqParamsRspCb
6898
6899 DESCRIPTION
6900
6901 This callback is invoked by DAL when it has received a P2P GO NOA Params response from
6902 the underlying device.
6903
6904 PARAMETERS
6905
6906 IN
6907 wdiStatus: response status received from HAL
6908 pUserData: user data
6909
6910
6911
6912 RETURN VALUE
6913 The result code associated with performing the operation
6914---------------------------------------------------------------------------*/
6915typedef void (*WDI_SetP2PGONOAReqParamsRspCb)(WDI_Status wdiStatus,
6916 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006917
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05306918/*---------------------------------------------------------------------------
6919 WDI_SetTDLSLinkEstablishReqParamsRspCb
6920
6921 DESCRIPTION
6922
6923 This callback is invoked by DAL when it has received a TDLS Link Establish Req response from
6924 the underlying device.
6925
6926 PARAMETERS
6927
6928 IN
6929 wdiStatus: response status received from HAL
6930 pUserData: user data
6931
6932
6933
6934 RETURN VALUE
6935 The result code associated with performing the operation
6936---------------------------------------------------------------------------*/
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05306937typedef void (*WDI_SetTDLSLinkEstablishReqParamsRspCb)(WDI_SetTdlsLinkEstablishReqResp *
6938 wdiSetTdlsLinkEstablishReqRsp,
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05306939 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006940
6941/*---------------------------------------------------------------------------
Atul Mittalc0f739f2014-07-31 13:47:47 +05306942 WDI_SetTDLSChanSwitchReqParamsRspCb
6943
6944 DESCRIPTION
6945
6946 This callback is invoked by DAL when it has received a TDLS Link Establish Req response from
6947 the underlying device.
6948
6949 PARAMETERS
6950
6951 IN
6952 wdiStatus: response status received from HAL
6953 pUserData: user data
6954
6955
6956
6957 RETURN VALUE
6958 The result code associated with performing the operation
6959---------------------------------------------------------------------------*/
6960typedef void (*WDI_SetTDLSChanSwitchReqParamsRspCb)(WDI_SetTdlsChanSwitchReqResp *
6961 wdiSetTdlsChanSwitchReqRsp,
6962 void* pUserData);
6963/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07006964 WDI_SetPwrSaveCfgCb
6965
6966 DESCRIPTION
6967
6968 This callback is invoked by DAL when it has received a set Power Save CFG
6969 response from the underlying device.
6970
6971 PARAMETERS
6972
6973 IN
6974 wdiStatus: response status received from HAL
6975 pUserData: user data
6976
6977
6978
6979 RETURN VALUE
6980 The result code associated with performing the operation
6981---------------------------------------------------------------------------*/
6982typedef void (*WDI_SetPwrSaveCfgCb)(WDI_Status wdiStatus,
6983 void* pUserData);
6984
6985/*---------------------------------------------------------------------------
6986 WDI_SetUapsdAcParamsCb
6987
6988 DESCRIPTION
6989
6990 This callback is invoked by DAL when it has received a set UAPSD params
6991 response from the underlying device.
6992
6993 PARAMETERS
6994
6995 IN
6996 wdiStatus: response status received from HAL
6997 pUserData: user data
6998
6999
7000
7001 RETURN VALUE
7002 The result code associated with performing the operation
7003---------------------------------------------------------------------------*/
7004typedef void (*WDI_SetUapsdAcParamsCb)(WDI_Status wdiStatus,
7005 void* pUserData);
7006
7007/*---------------------------------------------------------------------------
7008 WDI_EnterImpsRspCb
7009
7010 DESCRIPTION
7011
7012 This callback is invoked by DAL when it has received a Enter IMPS response
7013 from the underlying device.
7014
7015 PARAMETERS
7016
7017 IN
7018 wdiStatus: response status received from HAL
7019 pUserData: user data
7020
7021
7022
7023 RETURN VALUE
7024 The result code associated with performing the operation
7025---------------------------------------------------------------------------*/
7026typedef void (*WDI_EnterImpsRspCb)(WDI_Status wdiStatus,
7027 void* pUserData);
7028
7029/*---------------------------------------------------------------------------
7030 WDI_ExitImpsRspCb
7031
7032 DESCRIPTION
7033
7034 This callback is invoked by DAL when it has received a Exit IMPS response
7035 from the underlying device.
7036
7037 PARAMETERS
7038
7039 IN
7040 wdiStatus: response status received from HAL
7041 pUserData: user data
7042
7043
7044
7045 RETURN VALUE
7046 The result code associated with performing the operation
7047---------------------------------------------------------------------------*/
7048typedef void (*WDI_ExitImpsRspCb)(WDI_Status wdiStatus,
7049 void* pUserData);
7050
7051/*---------------------------------------------------------------------------
7052 WDI_EnterBmpsRspCb
7053
7054 DESCRIPTION
7055
7056 This callback is invoked by DAL when it has received a enter BMPS response
7057 from the underlying device.
7058
7059 PARAMETERS
7060
7061 IN
7062 wdiStatus: response status received from HAL
7063 pUserData: user data
7064
7065
7066
7067 RETURN VALUE
7068 The result code associated with performing the operation
7069---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007070typedef void (*WDI_EnterBmpsRspCb)(WDI_EnterBmpsRspParamsType *pwdiEnterBmpsRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007071 void* pUserData);
7072
7073/*---------------------------------------------------------------------------
7074 WDI_ExitBmpsRspCb
7075
7076 DESCRIPTION
7077
7078 This callback is invoked by DAL when it has received a exit BMPS response
7079 from the underlying device.
7080
7081 PARAMETERS
7082
7083 IN
7084 wdiStatus: response status received from HAL
7085 pUserData: user data
7086
7087
7088
7089 RETURN VALUE
7090 The result code associated with performing the operation
7091---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007092typedef void (*WDI_ExitBmpsRspCb)( WDI_ExitBmpsRspParamsType *pwdiExitBmpsRspParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007093 void* pUserData);
7094
7095/*---------------------------------------------------------------------------
7096 WDI_EnterUapsdRspCb
7097
7098 DESCRIPTION
7099
7100 This callback is invoked by DAL when it has received a enter UAPSD response
7101 from the underlying device.
7102
7103 PARAMETERS
7104
7105 IN
7106 wdiStatus: response status received from HAL
7107 pUserData: user data
7108
7109
7110
7111 RETURN VALUE
7112 The result code associated with performing the operation
7113---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007114typedef void (*WDI_EnterUapsdRspCb)( WDI_EnterUapsdRspParamsType *pwdiEnterUapsdRspParam,
Jeff Johnson295189b2012-06-20 16:38:30 -07007115 void* pUserData);
7116
7117/*---------------------------------------------------------------------------
7118 WDI_ExitUapsdRspCb
7119
7120 DESCRIPTION
7121
7122 This callback is invoked by DAL when it has received a exit UAPSD response
7123 from the underlying device.
7124
7125 PARAMETERS
7126
7127 IN
7128 wdiStatus: response status received from HAL
7129 pUserData: user data
7130
7131
7132
7133 RETURN VALUE
7134 The result code associated with performing the operation
7135---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007136typedef void (*WDI_ExitUapsdRspCb)(WDI_ExitUapsdRspParamsType *pwidExitUapsdRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007137 void* pUserData);
7138
7139/*---------------------------------------------------------------------------
7140 WDI_UpdateUapsdParamsCb
7141
7142 DESCRIPTION
7143
7144 This callback is invoked by DAL when it has received a update UAPSD params
7145 response from the underlying device.
7146
7147 PARAMETERS
7148
7149 IN
7150 wdiStatus: response status received from HAL
7151 pUserData: user data
7152
7153
7154
7155 RETURN VALUE
7156 The result code associated with performing the operation
7157---------------------------------------------------------------------------*/
7158typedef void (*WDI_UpdateUapsdParamsCb)(WDI_Status wdiStatus,
7159 void* pUserData);
7160
7161/*---------------------------------------------------------------------------
7162 WDI_ConfigureRxpFilterCb
7163
7164 DESCRIPTION
7165
7166 This callback is invoked by DAL when it has received a config RXP filter
7167 response from the underlying device.
7168
7169 PARAMETERS
7170
7171 IN
7172 wdiStatus: response status received from HAL
7173 pUserData: user data
7174
7175
7176
7177 RETURN VALUE
7178 The result code associated with performing the operation
7179---------------------------------------------------------------------------*/
7180typedef void (*WDI_ConfigureRxpFilterCb)(WDI_Status wdiStatus,
7181 void* pUserData);
7182
7183/*---------------------------------------------------------------------------
7184 WDI_SetBeaconFilterCb
7185
7186 DESCRIPTION
7187
7188 This callback is invoked by DAL when it has received a set beacon filter
7189 response from the underlying device.
7190
7191 PARAMETERS
7192
7193 IN
7194 wdiStatus: response status received from HAL
7195 pUserData: user data
7196
7197
7198
7199 RETURN VALUE
7200 The result code associated with performing the operation
7201---------------------------------------------------------------------------*/
7202typedef void (*WDI_SetBeaconFilterCb)(WDI_Status wdiStatus,
7203 void* pUserData);
7204
7205/*---------------------------------------------------------------------------
7206 WDI_RemBeaconFilterCb
7207
7208 DESCRIPTION
7209
7210 This callback is invoked by DAL when it has received a remove beacon filter
7211 response from the underlying device.
7212
7213 PARAMETERS
7214
7215 IN
7216 wdiStatus: response status received from HAL
7217 pUserData: user data
7218
7219
7220
7221 RETURN VALUE
7222 The result code associated with performing the operation
7223---------------------------------------------------------------------------*/
7224typedef void (*WDI_RemBeaconFilterCb)(WDI_Status wdiStatus,
7225 void* pUserData);
7226
7227/*---------------------------------------------------------------------------
7228 WDI_SetRSSIThresholdsCb
7229
7230 DESCRIPTION
7231
7232 This callback is invoked by DAL when it has received a set RSSI thresholds
7233 response from the underlying device.
7234
7235 PARAMETERS
7236
7237 IN
7238 wdiStatus: response status received from HAL
7239 pUserData: user data
7240
7241
7242
7243 RETURN VALUE
7244 The result code associated with performing the operation
7245---------------------------------------------------------------------------*/
7246typedef void (*WDI_SetRSSIThresholdsCb)(WDI_Status wdiStatus,
7247 void* pUserData);
7248
7249/*---------------------------------------------------------------------------
7250 WDI_HostOffloadCb
7251
7252 DESCRIPTION
7253
7254 This callback is invoked by DAL when it has received a host offload
7255 response from the underlying device.
7256
7257 PARAMETERS
7258
7259 IN
7260 wdiStatus: response status received from HAL
7261 pUserData: user data
7262
7263
7264
7265 RETURN VALUE
7266 The result code associated with performing the operation
7267---------------------------------------------------------------------------*/
7268typedef void (*WDI_HostOffloadCb)(WDI_Status wdiStatus,
7269 void* pUserData);
7270
7271/*---------------------------------------------------------------------------
7272 WDI_KeepAliveCb
7273
7274 DESCRIPTION
7275
7276 This callback is invoked by DAL when it has received a Keep Alive
7277 response from the underlying device.
7278
7279 PARAMETERS
7280
7281 IN
7282 wdiStatus: response status received from HAL
7283 pUserData: user data
7284
7285
7286
7287 RETURN VALUE
7288 The result code associated with performing the operation
7289---------------------------------------------------------------------------*/
7290typedef void (*WDI_KeepAliveCb)(WDI_Status wdiStatus,
7291 void* pUserData);
7292
7293/*---------------------------------------------------------------------------
7294 WDI_WowlAddBcPtrnCb
7295
7296 DESCRIPTION
7297
7298 This callback is invoked by DAL when it has received a Wowl add Bcast ptrn
7299 response from the underlying device.
7300
7301 PARAMETERS
7302
7303 IN
7304 wdiStatus: response status received from HAL
7305 pUserData: user data
7306
7307
7308
7309 RETURN VALUE
7310 The result code associated with performing the operation
7311---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007312typedef void (*WDI_WowlAddBcPtrnCb)( WDI_WowlAddBcPtrnRspParamsType *pwdiWowlAddBcPtrnParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007313 void* pUserData);
7314
7315/*---------------------------------------------------------------------------
7316 WDI_WowlDelBcPtrnCb
7317
7318 DESCRIPTION
7319
7320 This callback is invoked by DAL when it has received a Wowl delete Bcast ptrn
7321 response from the underlying device.
7322
7323 PARAMETERS
7324
7325 IN
7326 wdiStatus: response status received from HAL
7327 pUserData: user data
7328
7329
7330
7331 RETURN VALUE
7332 The result code associated with performing the operation
7333---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007334typedef void (*WDI_WowlDelBcPtrnCb)( WDI_WowlDelBcPtrnRspParamsType *pwdiWowlDelBcstPtrRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007335 void* pUserData);
7336
7337/*---------------------------------------------------------------------------
7338 WDI_WowlEnterReqCb
7339
7340 DESCRIPTION
7341
7342 This callback is invoked by DAL when it has received a Wowl enter
7343 response from the underlying device.
7344
7345 PARAMETERS
7346
7347 IN
7348 wdiStatus: response status received from HAL
7349 pUserData: user data
7350
7351
7352
7353 RETURN VALUE
7354 The result code associated with performing the operation
7355---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007356typedef void (*WDI_WowlEnterReqCb)( WDI_WowlEnterRspParamsType *pwdiwowlEnterRsp,
7357 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007358
7359/*---------------------------------------------------------------------------
7360 WDI_WowlExitReqCb
7361
7362 DESCRIPTION
7363
7364 This callback is invoked by DAL when it has received a Wowl exit
7365 response from the underlying device.
7366
7367 PARAMETERS
7368
7369 IN
7370 wdiStatus: response status received from HAL
7371 pUserData: user data
7372
7373
7374
7375 RETURN VALUE
7376 The result code associated with performing the operation
7377---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007378typedef void (*WDI_WowlExitReqCb)( WDI_WowlExitRspParamsType *pwdiWowlExitRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007379 void* pUserData);
7380
7381/*---------------------------------------------------------------------------
7382 WDI_ConfigureAppsCpuWakeupStateCb
7383
7384 DESCRIPTION
7385
7386 This callback is invoked by DAL when it has received a config Apps Cpu Wakeup
7387 State response from the underlying device.
7388
7389 PARAMETERS
7390
7391 IN
7392 wdiStatus: response status received from HAL
7393 pUserData: user data
7394
7395
7396
7397 RETURN VALUE
7398 The result code associated with performing the operation
7399---------------------------------------------------------------------------*/
7400typedef void (*WDI_ConfigureAppsCpuWakeupStateCb)(WDI_Status wdiStatus,
7401 void* pUserData);
7402/*---------------------------------------------------------------------------
7403 WDI_NvDownloadRspCb
7404
7405 DESCRIPTION
7406
7407 This callback is invoked by DAL when it has received a NV Download response
7408 from the underlying device.
7409
7410 PARAMETERS
7411
7412 IN
7413 wdiStatus:response status received from HAL
7414 pUserData:user data
7415
7416 RETURN VALUE
7417 The result code associated with performing the operation
7418---------------------------------------------------------------------------*/
7419typedef void (*WDI_NvDownloadRspCb)(WDI_NvDownloadRspInfoType* wdiNvDownloadRsp,
7420 void* pUserData);
7421/*---------------------------------------------------------------------------
7422 WDI_FlushAcRspCb
7423
7424 DESCRIPTION
7425
7426 This callback is invoked by DAL when it has received a Flush AC response from
7427 the underlying device.
7428
7429 PARAMETERS
7430
7431 IN
7432 wdiStatus: response status received from HAL
7433 pUserData: user data
7434
7435
7436
7437 RETURN VALUE
7438 The result code associated with performing the operation
7439---------------------------------------------------------------------------*/
7440typedef void (*WDI_FlushAcRspCb)(WDI_Status wdiStatus,
7441 void* pUserData);
7442
7443/*---------------------------------------------------------------------------
7444 WDI_BtAmpEventRspCb
7445
7446 DESCRIPTION
7447
7448 This callback is invoked by DAL when it has received a Bt AMP event response
7449 from the underlying device.
7450
7451 PARAMETERS
7452
7453 IN
7454 wdiStatus: response status received from HAL
7455 pUserData: user data
7456
7457
7458
7459 RETURN VALUE
7460 The result code associated with performing the operation
7461---------------------------------------------------------------------------*/
7462typedef void (*WDI_BtAmpEventRspCb)(WDI_Status wdiStatus,
7463 void* pUserData);
7464
Jeff Johnsone7245742012-09-05 17:12:55 -07007465#ifdef FEATURE_OEM_DATA_SUPPORT
7466/*---------------------------------------------------------------------------
7467 WDI_oemDataRspCb
7468
7469 DESCRIPTION
7470
7471 This callback is invoked by DAL when it has received a Start oem data response from
7472 the underlying device.
7473
7474 PARAMETERS
7475
7476 IN
7477 wdiStatus: response status received from HAL
7478 pUserData: user data
7479
7480
7481
7482 RETURN VALUE
7483 The result code associated with performing the operation
7484---------------------------------------------------------------------------*/
7485typedef void (*WDI_oemDataRspCb)(WDI_oemDataRspParamsType* wdiOemDataRspParams,
7486 void* pUserData);
7487
7488#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07007489
7490/*---------------------------------------------------------------------------
7491 WDI_HostResumeEventRspCb
7492
7493 DESCRIPTION
7494
7495 This callback is invoked by DAL when it has received a Bt AMP event response
7496 from the underlying device.
7497
7498 PARAMETERS
7499
7500 IN
7501 wdiStatus: response status received from HAL
7502 pUserData: user data
7503
7504
7505
7506 RETURN VALUE
7507 The result code associated with performing the operation
7508---------------------------------------------------------------------------*/
7509typedef void (*WDI_HostResumeEventRspCb)(
7510 WDI_SuspendResumeRspParamsType *resumeRspParams,
7511 void* pUserData);
7512
7513
7514#ifdef WLAN_FEATURE_VOWIFI_11R
7515/*---------------------------------------------------------------------------
7516 WDI_AggrAddTsRspCb
7517
7518 DESCRIPTION
7519
7520 This callback is invoked by DAL when it has received a Aggregated Add TS
7521 response from the underlying device.
7522
7523 PARAMETERS
7524
7525 IN
7526 wdiStatus: response status received from HAL
7527 pUserData: user data
7528
7529
7530
7531 RETURN VALUE
7532 The result code associated with performing the operation
7533---------------------------------------------------------------------------*/
7534typedef void (*WDI_AggrAddTsRspCb)(WDI_Status wdiStatus,
7535 void* pUserData);
7536#endif /* WLAN_FEATURE_VOWIFI_11R */
7537
Jeff Johnson295189b2012-06-20 16:38:30 -07007538/*---------------------------------------------------------------------------
7539 WDI_FTMCommandRspCb
7540
7541 DESCRIPTION
7542
7543 FTM Command response CB
7544
7545 PARAMETERS
7546
7547 IN
7548 ftmCMDRspdata: FTM response data from HAL
7549 pUserData: user data
7550
7551
7552 RETURN VALUE
7553 NONE
7554---------------------------------------------------------------------------*/
7555typedef void (*WDI_FTMCommandRspCb)(void *ftmCMDRspdata,
7556 void *pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007557
7558/*---------------------------------------------------------------------------
7559 WDI_AddSTASelfParamsRspCb
7560
7561 DESCRIPTION
7562
7563 This callback is invoked by DAL when it has received a Add Sta Self Params
7564 response from the underlying device.
7565
7566 PARAMETERS
7567
7568 IN
7569 wdiAddSelfSTARsp: response status received from HAL
7570 pUserData: user data
7571
7572
7573
7574 RETURN VALUE
7575 The result code associated with performing the operation
7576---------------------------------------------------------------------------*/
7577typedef void (*WDI_AddSTASelfParamsRspCb)(
7578 WDI_AddSTASelfRspParamsType* pwdiAddSelfSTARsp,
7579 void* pUserData);
7580
7581
7582/*---------------------------------------------------------------------------
7583 WDI_DelSTASelfRspCb
7584
7585 DESCRIPTION
7586
7587 This callback is invoked by DAL when it has received a host offload
7588 response from the underlying device.
7589
7590 PARAMETERS
7591
7592 IN
7593 wdiStatus: response status received from HAL
7594 pUserData: user data
7595
7596
7597
7598 RETURN VALUE
7599 The result code associated with performing the operation
7600---------------------------------------------------------------------------*/
7601typedef void (*WDI_DelSTASelfRspCb)
7602(
7603WDI_DelSTASelfRspParamsType* wdiDelStaSelfRspParams,
7604void* pUserData
7605);
7606
7607#ifdef FEATURE_WLAN_SCAN_PNO
7608/*---------------------------------------------------------------------------
7609 WDI_PNOScanCb
7610
7611 DESCRIPTION
7612
7613 This callback is invoked by DAL when it has received a Set PNO
7614 response from the underlying device.
7615
7616 PARAMETERS
7617
7618 IN
7619 wdiStatus: response status received from HAL
7620 pUserData: user data
7621
7622
7623
7624 RETURN VALUE
7625 The result code associated with performing the operation
7626---------------------------------------------------------------------------*/
7627typedef void (*WDI_PNOScanCb)(WDI_Status wdiStatus,
7628 void* pUserData);
7629
7630/*---------------------------------------------------------------------------
7631 WDI_PNOScanCb
7632
7633 DESCRIPTION
7634
7635 This callback is invoked by DAL when it has received a Set PNO
7636 response from the underlying device.
7637
7638 PARAMETERS
7639
7640 IN
7641 wdiStatus: response status received from HAL
7642 pUserData: user data
7643
7644
7645
7646 RETURN VALUE
7647 The result code associated with performing the operation
7648---------------------------------------------------------------------------*/
7649typedef void (*WDI_RssiFilterCb)(WDI_Status wdiStatus,
7650 void* pUserData);
7651
7652/*---------------------------------------------------------------------------
7653 WDI_UpdateScanParamsCb
7654
7655 DESCRIPTION
7656
7657 This callback is invoked by DAL when it has received a Update Scan Params
7658 response from the underlying device.
7659
7660 PARAMETERS
7661
7662 IN
7663 wdiStatus: response status received from HAL
7664 pUserData: user data
7665
7666
7667
7668 RETURN VALUE
7669 The result code associated with performing the operation
7670---------------------------------------------------------------------------*/
7671typedef void (*WDI_UpdateScanParamsCb)(WDI_Status wdiStatus,
7672 void* pUserData);
7673#endif // FEATURE_WLAN_SCAN_PNO
7674
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08007675typedef void (*WDI_UpdateChannelRspCb)(WDI_Status wdiStatus,
7676 void* pUserData);
7677
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07007678#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
7679/*---------------------------------------------------------------------------
7680 WDI_RoamOffloadScanCb
7681
7682 DESCRIPTION
7683
7684 This callback is invoked by DAL when it has received a Start Roam Candidate Lookup Req
7685 response from the underlying device.
7686
7687 PARAMETERS
7688
7689 IN
7690 wdiStatus: response status received from HAL
7691 pUserData: user data
7692
7693
7694
7695 RETURN VALUE
7696 The result code associated with performing the operation
7697---------------------------------------------------------------------------*/
7698typedef void (*WDI_RoamOffloadScanCb)(WDI_Status wdiStatus,
7699 void* pUserData);
7700
7701#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07007702/*---------------------------------------------------------------------------
7703 WDI_SetTxPerTrackingRspCb
7704
7705 DESCRIPTION
7706
7707 This callback is invoked by DAL when it has received a Tx PER Tracking
7708 response from the underlying device.
7709
7710 PARAMETERS
7711
7712 IN
7713 wdiStatus: response status received from HAL
7714 pUserData: user data
7715
7716
7717
7718 RETURN VALUE
7719 The result code associated with performing the operation
7720---------------------------------------------------------------------------*/
7721typedef void (*WDI_SetTxPerTrackingRspCb)(WDI_Status wdiStatus,
7722 void* pUserData);
7723
7724#ifdef WLAN_FEATURE_PACKET_FILTERING
7725/*---------------------------------------------------------------------------
7726 WDI_8023MulticastListCb
7727
7728 DESCRIPTION
7729
7730 This callback is invoked by DAL when it has received a 8023 Multicast List
7731 response from the underlying device.
7732
7733 PARAMETERS
7734
7735 IN
7736 wdiStatus: response status received from HAL
7737 pUserData: user data
7738
7739
7740
7741 RETURN VALUE
7742 The result code associated with performing the operation
7743---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007744typedef void (*WDI_8023MulticastListCb)(
7745 WDI_RcvFltPktSetMcListRspParamsType *pwdiRcvFltPktSetMcListRspInfo,
7746 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007747
7748/*---------------------------------------------------------------------------
7749 WDI_ReceiveFilterSetFilterCb
7750
7751 DESCRIPTION
7752
7753 This callback is invoked by DAL when it has received a Receive Filter Set Filter
7754 response from the underlying device.
7755
7756 PARAMETERS
7757
7758 IN
7759 wdiStatus: response status received from HAL
7760 pUserData: user data
7761
7762
7763
7764 RETURN VALUE
7765 The result code associated with performing the operation
7766---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007767typedef void (*WDI_ReceiveFilterSetFilterCb)(
7768 WDI_SetRcvPktFilterRspParamsType *pwdiSetRcvPktFilterRspInfo,
7769 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007770
7771/*---------------------------------------------------------------------------
7772 WDI_FilterMatchCountCb
7773
7774 DESCRIPTION
7775
7776 This callback is invoked by DAL when it has received a Do PC Filter Match Count
7777 response from the underlying device.
7778
7779 PARAMETERS
7780
7781 IN
7782 wdiStatus: response status received from HAL
7783 pUserData: user data
7784
7785
7786
7787 RETURN VALUE
7788 The result code associated with performing the operation
7789---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007790typedef void (*WDI_FilterMatchCountCb)(
7791 WDI_RcvFltPktMatchCntRspParamsType *pwdiRcvFltPktMatchRspParams,
7792 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007793
7794/*---------------------------------------------------------------------------
7795 WDI_ReceiveFilterClearFilterCb
7796
7797 DESCRIPTION
7798
7799 This callback is invoked by DAL when it has received a Receive Filter Clear Filter
7800 response from the underlying device.
7801
7802 PARAMETERS
7803
7804 IN
7805 wdiStatus: response status received from HAL
7806 pUserData: user data
7807
7808
7809
7810 RETURN VALUE
7811 The result code associated with performing the operation
7812---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007813typedef void (*WDI_ReceiveFilterClearFilterCb)(
7814 WDI_RcvFltPktClearRspParamsType *pwdiRcvFltPktClearRspParamsType,
7815 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007816#endif // WLAN_FEATURE_PACKET_FILTERING
7817
7818/*---------------------------------------------------------------------------
7819 WDI_HALDumpCmdRspCb
7820
7821 DESCRIPTION
7822
7823 This callback is invoked by DAL when it has received a HAL DUMP Command
7824response from
7825 the HAL layer.
7826
7827 PARAMETERS
7828
7829 IN
7830 wdiHalDumpCmdRsp: response status received from HAL
7831 pUserData: user data
7832
7833
7834
7835 RETURN VALUE
7836 The result code associated with performing the operation
7837---------------------------------------------------------------------------*/
7838typedef void (*WDI_HALDumpCmdRspCb)(WDI_HALDumpCmdRspParamsType* wdiHalDumpCmdRsp,
7839 void* pUserData);
7840
7841/*---------------------------------------------------------------------------
7842 WDI_SetPowerParamsCb
7843
7844 DESCRIPTION
7845
7846 This callback is invoked by DAL when it has received a Set Power Param
7847 response from the underlying device.
7848
7849 PARAMETERS
7850
7851 IN
7852 wdiStatus: response status received from HAL
7853 pUserData: user data
7854
7855
7856
7857 RETURN VALUE
7858 The result code associated with performing the operation
7859---------------------------------------------------------------------------*/
7860typedef void (*WDI_SetPowerParamsCb)(WDI_Status wdiStatus,
7861 void* pUserData);
7862
7863#ifdef WLAN_FEATURE_GTK_OFFLOAD
7864/*---------------------------------------------------------------------------
7865 WDI_GtkOffloadCb
7866
7867 DESCRIPTION
7868
7869 This callback is invoked by DAL when it has received a GTK offload
7870 response from the underlying device.
7871
7872 PARAMETERS
7873
7874 IN
7875 wdiStatus: response status received from HAL
7876 pUserData: user data
7877
7878
7879
7880 RETURN VALUE
7881 The result code associated with performing the operation
7882---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007883typedef void (*WDI_GtkOffloadCb)( WDI_GtkOffloadRspParams *pwdiGtkOffloadRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007884 void* pUserData);
7885
7886/*---------------------------------------------------------------------------
7887 WDI_GtkOffloadGetInfoCb
7888
7889 DESCRIPTION
7890
7891 This callback is invoked by DAL when it has received a GTK offload
7892 information response from the underlying device.
7893
7894 PARAMETERS
7895
7896 IN
7897 wdiStatus: response status received from HAL
7898 pUserData: user data
7899
7900
7901
7902 RETURN VALUE
7903 The result code associated with performing the operation
7904---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007905typedef void (*WDI_GtkOffloadGetInfoCb)( WDI_GtkOffloadGetInfoRspParams *pwdiGtkOffloadGetInfoRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007906 void* pUserData);
7907#endif // WLAN_FEATURE_GTK_OFFLOAD
7908
7909/*---------------------------------------------------------------------------
7910 WDI_SetTmLevelCb
7911
7912 DESCRIPTION
7913
7914 This callback is invoked by DAL when it has received a Set New TM Level
7915 done response from the underlying device.
7916
7917 PARAMETERS
7918
7919 IN
7920 wdiStatus: response status received from HAL
7921 pUserData: user data
7922
7923
7924
7925 RETURN VALUE
7926 The result code associated with performing the operation
7927---------------------------------------------------------------------------*/
7928typedef void (*WDI_SetTmLevelCb)(WDI_Status wdiStatus,
7929 void* pUserData);
7930
7931/*---------------------------------------------------------------------------
7932 WDI_featureCapsExchangeCb
7933
7934 DESCRIPTION
7935
7936 This callback is invoked by DAL when it has received a HAL Feature Capbility
7937 Exchange Response the HAL layer. This callback is put to mantain code
7938 similarity and is not being used right now.
7939
7940 PARAMETERS
7941
7942 IN
7943 wdiFeatCapRspParams: response parameters received from HAL
7944 pUserData: user data
7945
7946 RETURN VALUE
7947 The result code associated with performing the operation
7948---------------------------------------------------------------------------*/
7949typedef void (*WDI_featureCapsExchangeCb)(void* wdiFeatCapRspParams,
7950 void* pUserData);
7951
Mohit Khanna4a70d262012-09-11 16:30:12 -07007952#ifdef WLAN_FEATURE_11AC
7953typedef void (*WDI_UpdateVHTOpModeCb)(WDI_Status wdiStatus,
7954 void* pUserData);
7955#endif
7956
Leo Chang9056f462013-08-01 19:21:11 -07007957#ifdef FEATURE_WLAN_LPHB
7958typedef void (*WDI_LphbCfgCb)(WDI_Status wdiStatus,
7959 void* pUserData);
7960#endif /* FEATURE_WLAN_LPHB */
Mohit Khanna4a70d262012-09-11 16:30:12 -07007961
Rajeev79dbe4c2013-10-05 11:03:42 +05307962#ifdef FEATURE_WLAN_BATCH_SCAN
7963/*---------------------------------------------------------------------------
7964 WDI_SetBatchScanCb
7965
7966 DESCRIPTION
7967
7968 This callback is invoked by DAL when it has received a get batch scan
7969 response from the underlying device.
7970
7971 PARAMETERS
7972
7973 IN
7974 wdiStatus: response status received from HAL
7975 pUserData: user data
7976
7977
7978
7979 RETURN VALUE
7980 The result code associated with performing the operation
7981---------------------------------------------------------------------------*/
7982typedef void (*WDI_SetBatchScanCb)(void *pData, WDI_SetBatchScanRspType *pRsp);
7983
7984#endif
7985
c_hpothu92367912014-05-01 15:18:17 +05307986typedef void (*WDI_GetBcnMissRateCb)(wpt_uint8 status, wpt_uint32 bcnMissRate,
7987 void* pUserData);
Rajeev79dbe4c2013-10-05 11:03:42 +05307988
Dino Mycle41bdc942014-06-10 11:30:24 +05307989#ifdef WLAN_FEATURE_EXTSCAN
7990typedef void (*WDI_EXTScanStartRspCb)(void *pEventData,
7991 void *pUserData);
7992typedef void (*WDI_EXTScanStopRspCb)(void *pEventData,
7993 void *pUserData);
7994typedef void (*WDI_EXTScanGetCachedResultsRspCb)(void *pEventData,
7995 void *pUserData);
7996typedef void (*WDI_EXTScanGetCapabilitiesRspCb)(void *pEventData,
7997 void *pUserData);
7998typedef void (*WDI_EXTScanSetBSSIDHotlistRspCb)(void *pEventData,
7999 void *pUserData);
8000typedef void (*WDI_EXTScanResetBSSIDHotlistRspCb)(void *pEventData,
8001 void *pUserData);
8002typedef void (*WDI_EXTScanSetSignfRSSIChangeRspCb)(void *pEventData,
8003 void *pUserData);
8004typedef void (*WDI_EXTScanResetSignfRSSIChangeRspCb)(void *pEventData,
8005 void *pUserData);
8006#endif /* WLAN_FEATURE_EXTSCAN */
Sunil Duttbd736ed2014-05-26 21:19:41 +05308007
8008#ifdef WLAN_FEATURE_LINK_LAYER_STATS
8009typedef void (*WDI_LLStatsSetRspCb)(void *pEventData,
8010 void *pUserData);
8011typedef void (*WDI_LLStatsGetRspCb)(void *pEventData,
8012 void *pUserData);
8013typedef void (*WDI_LLStatsClearRspCb)(void *pEventData,
8014 void *pUserData);
8015#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
Siddharth Bhal171788a2014-09-29 21:02:40 +05308016
8017typedef void (*WDI_SetSpoofMacAddrRspCb)(
8018 WDI_SpoofMacAddrRspParamType* wdiRsp, void *pUserData);
Srinivas Dasari4dae48f2014-11-26 21:14:16 +05308019
Abhishek Singh85b74712014-10-08 11:38:19 +05308020typedef void (*WDI_FWStatsGetRspCb)(WDI_Status status,void *fwStatsResp,
8021 void *pUserData);
Srinivas Dasari4dae48f2014-11-26 21:14:16 +05308022
8023typedef void (*WDI_EncryptMsgRspCb)(wpt_uint8 status, void *pEventData, void* pUserData);
Siddharth Bhald1be97f2015-05-27 22:39:59 +05308024typedef void (*WDI_FWLoggingInitRspCb)(
8025 WDI_FWLoggingInitRspParamType *wdiRsp, void *pUserData);
Siddharth Bhal64246172015-02-27 01:04:37 +05308026typedef void (*WDI_GetFrameLogRspCb)(
8027 WDI_GetFrameLogRspParamType *wdiRsp, void *pUserData);
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05308028
Katya Nigamf0511f62015-05-05 16:40:57 +05308029typedef void (*WDI_MonStartRspCb)(void *pEventData,void *pUserData);
8030typedef void (*WDI_MonStopRspCb)(void *pUserData);
8031
Jeff Johnson295189b2012-06-20 16:38:30 -07008032/*========================================================================
8033 * Function Declarations and Documentation
8034 ==========================================================================*/
8035
8036/*========================================================================
8037
8038 INITIALIZATION APIs
8039
8040==========================================================================*/
8041
8042/**
8043 @brief WDI_Init is used to initialize the DAL.
8044
8045 DAL will allocate all the resources it needs. It will open PAL, it will also
8046 open both the data and the control transport which in their turn will open
8047 DXE/SMD or any other drivers that they need.
8048
Arun Kumar Khandavalliebb19482014-03-25 13:56:53 +05308049 @param devHandle: pointer to the OS specific device handle
Jeff Johnson295189b2012-06-20 16:38:30 -07008050 ppWDIGlobalCtx: output pointer of Global Context
8051 pWdiDevCapability: output pointer of device capability
8052
8053 @return Result of the function call
8054*/
8055WDI_Status
8056WDI_Init
8057(
Arun Kumar Khandavalliebb19482014-03-25 13:56:53 +05308058 void* devHandle,
Jeff Johnson295189b2012-06-20 16:38:30 -07008059 void** ppWDIGlobalCtx,
8060 WDI_DeviceCapabilityType* pWdiDevCapability,
8061 unsigned int driverType
8062);
8063
8064/**
8065 @brief WDI_Start will be called when the upper MAC is ready to
8066 commence operation with the WLAN Device. Upon the call
8067 of this API the WLAN DAL will pack and send a HAL Start
8068 message to the lower RIVA sub-system if the SMD channel
8069 has been fully opened and the RIVA subsystem is up.
8070
8071 If the RIVA sub-system is not yet up and running DAL
8072 will queue the request for Open and will wait for the
8073 SMD notification before attempting to send down the
8074 message to HAL.
8075
8076 WDI_Init must have been called.
8077
8078 @param wdiStartParams: the start parameters as specified by
8079 the Device Interface
8080
8081 wdiStartRspCb: callback for passing back the response of
8082 the start operation received from the device
8083
8084 pUserData: user data will be passed back with the
8085 callback
8086
8087 @see WDI_Start
8088 @return Result of the function call
8089*/
8090WDI_Status
8091WDI_Start
8092(
8093 WDI_StartReqParamsType* pwdiStartParams,
8094 WDI_StartRspCb wdiStartRspCb,
8095 void* pUserData
8096);
8097
8098
8099/**
8100 @brief WDI_Stop will be called when the upper MAC is ready to
8101 stop any operation with the WLAN Device. Upon the call
8102 of this API the WLAN DAL will pack and send a HAL Stop
8103 message to the lower RIVA sub-system if the DAL Core is
8104 in started state.
8105
8106 In state BUSY this request will be queued.
8107
8108 Request will not be accepted in any other state.
8109
8110 WDI_Start must have been called.
8111
8112 @param wdiStopParams: the stop parameters as specified by
8113 the Device Interface
8114
8115 wdiStopRspCb: callback for passing back the response of
8116 the stop operation received from the device
8117
8118 pUserData: user data will be passed back with the
8119 callback
8120
8121 @see WDI_Start
8122 @return Result of the function call
8123*/
8124WDI_Status
8125WDI_Stop
8126(
8127 WDI_StopReqParamsType* pwdiStopParams,
8128 WDI_StopRspCb wdiStopRspCb,
8129 void* pUserData
8130);
8131
8132/**
8133 @brief WDI_Close will be called when the upper MAC no longer
8134 needs to interract with DAL. DAL will free its control
8135 block.
8136
8137 It is only accepted in state STOPPED.
8138
8139 WDI_Stop must have been called.
8140
8141 @param none
8142
8143 @see WDI_Stop
8144 @return Result of the function call
8145*/
8146WDI_Status
8147WDI_Close
8148(
8149 void
8150);
8151
8152
8153/**
8154 @brief WDI_Shutdown will be called during 'SSR shutdown' operation.
8155 This will do most of the WDI stop & close
8156 operations without doing any handshake with Riva
8157
8158 This will also make sure that the control transport
8159 will NOT be closed.
8160
8161 This request will not be queued.
8162
8163
8164 WDI_Start must have been called.
8165
8166 @param closeTransport: Close control channel if this is set
8167
8168 @return Result of the function call
8169*/
8170WDI_Status
8171WDI_Shutdown
8172(
8173 wpt_boolean closeTransport
8174);
8175
8176/*========================================================================
8177
8178 SCAN APIs
8179
8180==========================================================================*/
8181
8182/**
8183 @brief WDI_InitScanReq will be called when the upper MAC wants
8184 the WLAN Device to get ready for a scan procedure. Upon
8185 the call of this API the WLAN DAL will pack and send a
8186 HAL Init Scan request message to the lower RIVA
8187 sub-system if DAL is in state STARTED.
8188
8189 In state BUSY this request will be queued. Request won't
8190 be allowed in any other state.
8191
8192 WDI_Start must have been called.
8193
8194 @param wdiInitScanParams: the init scan parameters as specified
8195 by the Device Interface
8196
8197 wdiInitScanRspCb: callback for passing back the response
8198 of the init scan operation received from the device
8199
8200 pUserData: user data will be passed back with the
8201 callback
8202
8203 @see WDI_Start
8204 @return Result of the function call
8205*/
8206WDI_Status
8207WDI_InitScanReq
8208(
8209 WDI_InitScanReqParamsType* pwdiInitScanParams,
8210 WDI_InitScanRspCb wdiInitScanRspCb,
8211 void* pUserData
8212);
8213
8214/**
8215 @brief WDI_StartScanReq will be called when the upper MAC
8216 wishes to change the Scan channel on the WLAN Device.
8217 Upon the call of this API the WLAN DAL will pack and
8218 send a HAL Start Scan request message to the lower RIVA
8219 sub-system if DAL is in state STARTED.
8220
8221 In state BUSY this request will be queued. Request won't
8222 be allowed in any other state.
8223
8224 WDI_InitScanReq must have been called.
8225
8226 @param wdiStartScanParams: the start scan parameters as
8227 specified by the Device Interface
8228
8229 wdiStartScanRspCb: callback for passing back the
8230 response of the start scan operation received from the
8231 device
8232
8233 pUserData: user data will be passed back with the
8234 callback
8235
8236 @see WDI_InitScanReq
8237 @return Result of the function call
8238*/
8239WDI_Status
8240WDI_StartScanReq
8241(
8242 WDI_StartScanReqParamsType* pwdiStartScanParams,
8243 WDI_StartScanRspCb wdiStartScanRspCb,
8244 void* pUserData
8245);
8246
8247
8248/**
8249 @brief WDI_EndScanReq will be called when the upper MAC is
8250 wants to end scanning for a particular channel that it
8251 had set before by calling Scan Start on the WLAN Device.
8252 Upon the call of this API the WLAN DAL will pack and
8253 send a HAL End Scan request message to the lower RIVA
8254 sub-system if DAL is in state STARTED.
8255
8256 In state BUSY this request will be queued. Request won't
8257 be allowed in any other state.
8258
8259 WDI_StartScanReq must have been called.
8260
8261 @param wdiEndScanParams: the end scan parameters as specified
8262 by the Device Interface
8263
8264 wdiEndScanRspCb: callback for passing back the response
8265 of the end scan operation received from the device
8266
8267 pUserData: user data will be passed back with the
8268 callback
8269
8270 @see WDI_StartScanReq
8271 @return Result of the function call
8272*/
8273WDI_Status
8274WDI_EndScanReq
8275(
8276 WDI_EndScanReqParamsType* pwdiEndScanParams,
8277 WDI_EndScanRspCb wdiEndScanRspCb,
8278 void* pUserData
8279);
8280
8281
8282/**
8283 @brief WDI_FinishScanReq will be called when the upper MAC has
8284 completed the scan process on the WLAN Device. Upon the
8285 call of this API the WLAN DAL will pack and send a HAL
8286 Finish Scan Request request message to the lower RIVA
8287 sub-system if DAL is in state STARTED.
8288
8289 In state BUSY this request will be queued. Request won't
8290 be allowed in any other state.
8291
8292 WDI_InitScanReq must have been called.
8293
8294 @param wdiFinishScanParams: the finish scan parameters as
8295 specified by the Device Interface
8296
8297 wdiFinishScanRspCb: callback for passing back the
8298 response of the finish scan operation received from the
8299 device
8300
8301 pUserData: user data will be passed back with the
8302 callback
8303
8304 @see WDI_InitScanReq
8305 @return Result of the function call
8306*/
8307WDI_Status
8308WDI_FinishScanReq
8309(
8310 WDI_FinishScanReqParamsType* pwdiFinishScanParams,
8311 WDI_FinishScanRspCb wdiFinishScanRspCb,
8312 void* pUserData
8313);
8314
8315/*========================================================================
8316
8317 ASSOCIATION APIs
8318
8319==========================================================================*/
8320
8321/**
8322 @brief WDI_JoinReq will be called when the upper MAC is ready
8323 to start an association procedure to a BSS. Upon the
8324 call of this API the WLAN DAL will pack and send a HAL
8325 Join request message to the lower RIVA sub-system if
8326 DAL is in state STARTED.
8327
8328 In state BUSY this request will be queued. Request won't
8329 be allowed in any other state.
8330
8331 WDI_Start must have been called.
8332
8333 @param wdiJoinParams: the join parameters as specified by
8334 the Device Interface
8335
8336 wdiJoinRspCb: callback for passing back the response of
8337 the join operation received from the device
8338
8339 pUserData: user data will be passed back with the
8340 callback
8341
8342 @see WDI_Start
8343 @return Result of the function call
8344*/
8345WDI_Status
8346WDI_JoinReq
8347(
8348 WDI_JoinReqParamsType* pwdiJoinParams,
8349 WDI_JoinRspCb wdiJoinRspCb,
8350 void* pUserData
8351);
8352
8353/**
8354 @brief WDI_ConfigBSSReq will be called when the upper MAC
8355 wishes to configure the newly acquired or in process of
8356 being acquired BSS to the HW . Upon the call of this API
8357 the WLAN DAL will pack and send a HAL Config BSS request
8358 message to the lower RIVA sub-system if DAL is in state
8359 STARTED.
8360
8361 In state BUSY this request will be queued. Request won't
8362 be allowed in any other state.
8363
8364 WDI_JoinReq must have been called.
8365
8366 @param wdiConfigBSSParams: the config BSS parameters as
8367 specified by the Device Interface
8368
8369 wdiConfigBSSRspCb: callback for passing back the
8370 response of the config BSS operation received from the
8371 device
8372
8373 pUserData: user data will be passed back with the
8374 callback
8375
8376 @see WDI_JoinReq
8377 @return Result of the function call
8378*/
8379WDI_Status
8380WDI_ConfigBSSReq
8381(
8382 WDI_ConfigBSSReqParamsType* pwdiConfigBSSParams,
8383 WDI_ConfigBSSRspCb wdiConfigBSSRspCb,
8384 void* pUserData
8385);
8386
8387/**
8388 @brief WDI_DelBSSReq will be called when the upper MAC is
8389 dissasociating from the BSS and wishes to notify HW.
8390 Upon the call of this API the WLAN DAL will pack and
8391 send a HAL Del BSS request message to the lower RIVA
8392 sub-system if DAL is in state STARTED.
8393
8394 In state BUSY this request will be queued. Request won't
8395 be allowed in any other state.
8396
8397 WDI_ConfigBSSReq or WDI_PostAssocReq must have been called.
8398
8399 @param wdiDelBSSParams: the del BSS parameters as specified by
8400 the Device Interface
8401
8402 wdiDelBSSRspCb: callback for passing back the response
8403 of the del bss operation received from the device
8404
8405 pUserData: user data will be passed back with the
8406 callback
8407
8408 @see WDI_ConfigBSSReq, WDI_PostAssocReq
8409 @return Result of the function call
8410*/
8411WDI_Status
8412WDI_DelBSSReq
8413(
8414 WDI_DelBSSReqParamsType* pwdiDelBSSParams,
8415 WDI_DelBSSRspCb wdiDelBSSRspCb,
8416 void* pUserData
8417);
8418
8419/**
8420 @brief WDI_PostAssocReq will be called when the upper MAC has
8421 associated to a BSS and wishes to configure HW for
8422 associated state. Upon the call of this API the WLAN DAL
8423 will pack and send a HAL Post Assoc request message to
8424 the lower RIVA sub-system if DAL is in state STARTED.
8425
8426 In state BUSY this request will be queued. Request won't
8427 be allowed in any other state.
8428
8429 WDI_JoinReq must have been called.
8430
8431 @param wdiPostAssocReqParams: the assoc parameters as specified
8432 by the Device Interface
8433
8434 wdiPostAssocRspCb: callback for passing back the
8435 response of the post assoc operation received from the
8436 device
8437
8438 pUserData: user data will be passed back with the
8439 callback
8440
8441 @see WDI_JoinReq
8442 @return Result of the function call
8443*/
8444WDI_Status
8445WDI_PostAssocReq
8446(
8447 WDI_PostAssocReqParamsType* pwdiPostAssocReqParams,
8448 WDI_PostAssocRspCb wdiPostAssocRspCb,
8449 void* pUserData
8450);
8451
8452/**
8453 @brief WDI_DelSTAReq will be called when the upper MAC when an
8454 association with another STA has ended and the station
8455 must be deleted from HW. Upon the call of this API the
8456 WLAN DAL will pack and send a HAL Del STA request
8457 message to the lower RIVA sub-system if DAL is in state
8458 STARTED.
8459
8460 In state BUSY this request will be queued. Request won't
8461 be allowed in any other state.
8462
8463 WDI_PostAssocReq must have been called.
8464
8465 @param wdiDelSTAParams: the Del STA parameters as specified by
8466 the Device Interface
8467
8468 wdiDelSTARspCb: callback for passing back the response
8469 of the del STA operation received from the device
8470
8471 pUserData: user data will be passed back with the
8472 callback
8473
8474 @see WDI_PostAssocReq
8475 @return Result of the function call
8476*/
8477WDI_Status
8478WDI_DelSTAReq
8479(
8480 WDI_DelSTAReqParamsType* pwdiDelSTAParams,
8481 WDI_DelSTARspCb wdiDelSTARspCb,
8482 void* pUserData
8483);
8484
8485/*========================================================================
8486
8487 SECURITY APIs
8488
8489==========================================================================*/
8490
8491/**
8492 @brief WDI_SetBSSKeyReq will be called when the upper MAC ito
8493 install a BSS encryption key on the HW. Upon the call of
8494 this API the WLAN DAL will pack and send a HAL Start
8495 request message to the lower RIVA sub-system if DAL is
8496 in state STARTED.
8497
8498 In state BUSY this request will be queued. Request won't
8499 be allowed in any other state.
8500
8501 WDI_PostAssocReq must have been called.
8502
8503 @param wdiSetBSSKeyParams: the BSS Key set parameters as
8504 specified by the Device Interface
8505
8506 wdiSetBSSKeyRspCb: callback for passing back the
8507 response of the set BSS Key operation received from the
8508 device
8509
8510 pUserData: user data will be passed back with the
8511 callback
8512
8513 @see WDI_PostAssocReq
8514 @return Result of the function call
8515*/
8516WDI_Status
8517WDI_SetBSSKeyReq
8518(
8519 WDI_SetBSSKeyReqParamsType* pwdiSetBSSKeyParams,
8520 WDI_SetBSSKeyRspCb wdiSetBSSKeyRspCb,
8521 void* pUserData
8522);
8523
8524
8525/**
8526 @brief WDI_RemoveBSSKeyReq will be called when the upper MAC to
8527 uninstall a BSS key from HW. Upon the call of this API
8528 the WLAN DAL will pack and send a HAL Remove BSS Key
8529 request message to the lower RIVA sub-system if DAL is
8530 in state STARTED.
8531
8532 In state BUSY this request will be queued. Request won't
8533 be allowed in any other state.
8534
8535 WDI_SetBSSKeyReq must have been called.
8536
8537 @param wdiRemoveBSSKeyParams: the remove BSS key parameters as
8538 specified by the Device Interface
8539
8540 wdiRemoveBSSKeyRspCb: callback for passing back the
8541 response of the remove BSS key operation received from
8542 the device
8543
8544 pUserData: user data will be passed back with the
8545 callback
8546
8547 @see WDI_SetBSSKeyReq
8548 @return Result of the function call
8549*/
8550WDI_Status
8551WDI_RemoveBSSKeyReq
8552(
8553 WDI_RemoveBSSKeyReqParamsType* pwdiRemoveBSSKeyParams,
8554 WDI_RemoveBSSKeyRspCb wdiRemoveBSSKeyRspCb,
8555 void* pUserData
8556);
8557
8558
8559/**
8560 @brief WDI_SetSTAKeyReq will be called when the upper MAC is
8561 ready to install a STA(ast) encryption key in HW. Upon
8562 the call of this API the WLAN DAL will pack and send a
8563 HAL Set STA Key request message to the lower RIVA
8564 sub-system if DAL is in state STARTED.
8565
8566 In state BUSY this request will be queued. Request won't
8567 be allowed in any other state.
8568
8569 WDI_PostAssocReq must have been called.
8570
8571 @param wdiSetSTAKeyParams: the set STA key parameters as
8572 specified by the Device Interface
8573
8574 wdiSetSTAKeyRspCb: callback for passing back the
8575 response of the set STA key operation received from the
8576 device
8577
8578 pUserData: user data will be passed back with the
8579 callback
8580
8581 @see WDI_PostAssocReq
8582 @return Result of the function call
8583*/
8584WDI_Status
8585WDI_SetSTAKeyReq
8586(
8587 WDI_SetSTAKeyReqParamsType* pwdiSetSTAKeyParams,
8588 WDI_SetSTAKeyRspCb wdiSetSTAKeyRspCb,
8589 void* pUserData
8590);
8591
8592
8593/**
8594 @brief WDI_RemoveSTAKeyReq will be called when the upper MAC
8595 wants to unistall a previously set STA key in HW. Upon
8596 the call of this API the WLAN DAL will pack and send a
8597 HAL Remove STA Key request message to the lower RIVA
8598 sub-system if DAL is in state STARTED.
8599
8600 In state BUSY this request will be queued. Request won't
8601 be allowed in any other state.
8602
8603 WDI_SetSTAKeyReq must have been called.
8604
8605 @param wdiRemoveSTAKeyParams: the remove STA key parameters as
8606 specified by the Device Interface
8607
8608 wdiRemoveSTAKeyRspCb: callback for passing back the
8609 response of the remove STA key operation received from
8610 the device
8611
8612 pUserData: user data will be passed back with the
8613 callback
8614
8615 @see WDI_SetSTAKeyReq
8616 @return Result of the function call
8617*/
8618WDI_Status
8619WDI_RemoveSTAKeyReq
8620(
8621 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTAKeyParams,
8622 WDI_RemoveSTAKeyRspCb wdiRemoveSTAKeyRspCb,
8623 void* pUserData
8624);
8625
8626/**
8627 @brief WDI_SetSTABcastKeyReq will be called when the upper MAC
8628 wants to install a STA Bcast encryption key on the HW.
8629 Upon the call of this API the WLAN DAL will pack and
8630 send a HAL Start request message to the lower RIVA
8631 sub-system if DAL is in state STARTED.
8632
8633 In state BUSY this request will be queued. Request won't
8634 be allowed in any other state.
8635
8636 WDI_PostAssocReq must have been called.
8637
8638 @param pwdiSetSTABcastKeyParams: the BSS Key set parameters as
8639 specified by the Device Interface
8640
8641 wdiSetSTABcastKeyRspCb: callback for passing back the
8642 response of the set BSS Key operation received from the
8643 device
8644
8645 pUserData: user data will be passed back with the
8646 callback
8647
8648 @see WDI_PostAssocReq
8649 @return Result of the function call
8650*/
8651WDI_Status
8652WDI_SetSTABcastKeyReq
8653(
8654 WDI_SetSTAKeyReqParamsType* pwdiSetSTABcastKeyParams,
8655 WDI_SetSTAKeyRspCb wdiSetSTABcastKeyRspCb,
8656 void* pUserData
8657);
8658
8659
8660/**
8661 @brief WDI_RemoveSTABcastKeyReq will be called when the upper
8662 MAC to uninstall a STA Bcast key from HW. Upon the call
8663 of this API the WLAN DAL will pack and send a HAL Remove
8664 STA Bcast Key request message to the lower RIVA
8665 sub-system if DAL is in state STARTED.
8666
8667 In state BUSY this request will be queued. Request won't
8668 be allowed in any other state.
8669
8670 WDI_SetSTABcastKeyReq must have been called.
8671
8672 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
8673 parameters as specified by the Device
8674 Interface
8675
8676 wdiRemoveSTABcastKeyRspCb: callback for passing back the
8677 response of the remove STA Bcast key operation received
8678 from the device
8679
8680 pUserData: user data will be passed back with the
8681 callback
8682
8683 @see WDI_SetSTABcastKeyReq
8684 @return Result of the function call
8685*/
8686WDI_Status
8687WDI_RemoveSTABcastKeyReq
8688(
8689 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTABcastKeyParams,
8690 WDI_RemoveSTAKeyRspCb wdiRemoveSTABcastKeyRspCb,
8691 void* pUserData
8692);
8693
schang86c22c42013-03-13 18:41:24 -07008694
8695/**
8696 @brief WDI_SetTxPowerReq will be called when the upper
8697 MAC wants to set Tx Power to HW.
8698 In state BUSY this request will be queued. Request won't
8699 be allowed in any other state.
8700
8701
8702 @param pwdiSetTxPowerParams: set TS Power parameters
8703 BSSID and target TX Power with dbm included
8704
8705 wdiReqStatusCb: callback for passing back the response
8706
8707 pUserData: user data will be passed back with the
8708 callback
8709
8710 @return Result of the function call
8711*/
8712WDI_Status
8713WDI_SetTxPowerReq
8714(
8715 WDI_SetTxPowerParamsType* pwdiSetTxPowerParams,
8716 WDA_SetTxPowerRspCb wdiReqStatusCb,
8717 void* pUserData
8718);
8719
Jeff Johnson295189b2012-06-20 16:38:30 -07008720/**
8721 @brief WDI_SetMaxTxPowerReq will be called when the upper
8722 MAC wants to set Max Tx Power to HW. Upon the
8723 call of this API the WLAN DAL will pack and send a HAL
8724 Remove STA Bcast Key request message to the lower RIVA
8725 sub-system if DAL is in state STARTED.
8726
8727 In state BUSY this request will be queued. Request won't
8728 be allowed in any other state.
8729
8730 WDI_SetSTABcastKeyReq must have been called.
8731
8732 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
8733 parameters as specified by the Device
8734 Interface
8735
8736 wdiRemoveSTABcastKeyRspCb: callback for passing back the
8737 response of the remove STA Bcast key operation received
8738 from the device
8739
8740 pUserData: user data will be passed back with the
8741 callback
8742
8743 @see WDI_SetMaxTxPowerReq
8744 @return Result of the function call
8745*/
8746WDI_Status
8747WDI_SetMaxTxPowerReq
8748(
8749 WDI_SetMaxTxPowerParamsType* pwdiSetMaxTxPowerParams,
8750 WDA_SetMaxTxPowerRspCb wdiReqStatusCb,
8751 void* pUserData
8752);
8753
Arif Hussaina5ebce02013-08-09 15:09:58 -07008754/**
8755 @brief WDI_SetMaxTxPowerPerBandReq will be called when the upper
8756 MAC wants to set Max Tx Power to HW for specific band. Upon the
8757 call of this API the WLAN DAL will pack and send a HAL
8758 Set Max Tx Power Per Band request message to the lower RIVA
8759 sub-system if DAL is in state STARTED.
8760
8761 In state BUSY this request will be queued. Request won't
8762 be allowed in any other state.
8763
8764
8765 @param WDI_SetMaxTxPowerPerBandParamsType: Max Tx Per Band Info
8766
8767 WDA_SetMaxTxPowerPerBandRspCb: This callback is invoked by DAL
8768 when it has received a set max Tx Power Per Band response from
8769 the underlying device.
8770
8771 pUserData: user data will be passed back with the
8772 callback
8773
8774 @see WDI_SetMaxTxPowerPerBandReq
8775 @return Result of the function call
8776*/
8777WDI_Status
8778WDI_SetMaxTxPowerPerBandReq
8779(
8780 WDI_SetMaxTxPowerPerBandParamsType* pwdiSetMaxTxPowerPerBandParams,
8781 WDA_SetMaxTxPowerPerBandRspCb wdiReqStatusCb,
8782 void* pUserData
8783);
8784
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08008785#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07008786/**
8787 @brief WDI_TSMStatsReq will be called by the upper MAC to fetch
8788 Traffic Stream metrics.
8789 In state BUSY this request will be queued. Request won't
8790 be allowed in any other state.
8791
8792 @param wdiAddTsReqParams: the add TS parameters as specified by
8793 the Device Interface
8794
8795 wdiAddTsRspCb: callback for passing back the response of
8796 the add TS operation received from the device
8797
8798 pUserData: user data will be passed back with the
8799 callback
8800
8801 @see WDI_PostAssocReq
8802 @return Result of the function call
8803*/
8804WDI_Status
8805WDI_TSMStatsReq
8806(
8807 WDI_TSMStatsReqParamsType* pwdiTsmStatsReqParams,
8808 WDI_TsmRspCb wdiTsmStatsRspCb,
8809 void* pUserData
8810);
8811
8812
8813#endif
8814
8815/*========================================================================
8816
8817 QoS and BA APIs
8818
8819==========================================================================*/
8820
8821/**
8822 @brief WDI_AddTSReq will be called when the upper MAC to inform
8823 the device of a successful add TSpec negotiation. HW
8824 needs to receive the TSpec Info from the UMAC in order
8825 to configure properly the QoS data traffic. Upon the
8826 call of this API the WLAN DAL will pack and send a HAL
8827 Add TS request message to the lower RIVA sub-system if
8828 DAL is in state STARTED.
8829
8830 In state BUSY this request will be queued. Request won't
8831 be allowed in any other state.
8832
8833 WDI_PostAssocReq must have been called.
8834
8835 @param wdiAddTsReqParams: the add TS parameters as specified by
8836 the Device Interface
8837
8838 wdiAddTsRspCb: callback for passing back the response of
8839 the add TS operation received from the device
8840
8841 pUserData: user data will be passed back with the
8842 callback
8843
8844 @see WDI_PostAssocReq
8845 @return Result of the function call
8846*/
8847WDI_Status
8848WDI_AddTSReq
8849(
8850 WDI_AddTSReqParamsType* pwdiAddTsReqParams,
8851 WDI_AddTsRspCb wdiAddTsRspCb,
8852 void* pUserData
8853);
8854
8855
8856
8857/**
8858 @brief WDI_DelTSReq will be called when the upper MAC has ended
8859 admission on a specific AC. This is to inform HW that
8860 QoS traffic parameters must be rest. Upon the call of
8861 this API the WLAN DAL will pack and send a HAL Del TS
8862 request message to the lower RIVA sub-system if DAL is
8863 in state STARTED.
8864
8865 In state BUSY this request will be queued. Request won't
8866 be allowed in any other state.
8867
8868 WDI_AddTSReq must have been called.
8869
8870 @param wdiDelTsReqParams: the del TS parameters as specified by
8871 the Device Interface
8872
8873 wdiDelTsRspCb: callback for passing back the response of
8874 the del TS operation received from the device
8875
8876 pUserData: user data will be passed back with the
8877 callback
8878
8879 @see WDI_AddTSReq
8880 @return Result of the function call
8881*/
8882WDI_Status
8883WDI_DelTSReq
8884(
8885 WDI_DelTSReqParamsType* pwdiDelTsReqParams,
8886 WDI_DelTsRspCb wdiDelTsRspCb,
8887 void* pUserData
8888);
8889
8890
8891
8892/**
8893 @brief WDI_UpdateEDCAParams will be called when the upper MAC
8894 wishes to update the EDCA parameters used by HW for QoS
8895 data traffic. Upon the call of this API the WLAN DAL
8896 will pack and send a HAL Update EDCA Params request
8897 message to the lower RIVA sub-system if DAL is in state
8898 STARTED.
8899
8900 In state BUSY this request will be queued. Request won't
8901 be allowed in any other state.
8902
8903 WDI_PostAssocReq must have been called.
8904
8905 @param wdiUpdateEDCAParams: the start parameters as specified
8906 by the Device Interface
8907
8908 wdiUpdateEDCAParamsRspCb: callback for passing back the
8909 response of the start operation received from the device
8910
8911 pUserData: user data will be passed back with the
8912 callback
8913
8914 @see WDI_PostAssocReq
8915 @return Result of the function call
8916*/
8917WDI_Status
8918WDI_UpdateEDCAParams
8919(
8920 WDI_UpdateEDCAParamsType* pwdiUpdateEDCAParams,
8921 WDI_UpdateEDCAParamsRspCb wdiUpdateEDCAParamsRspCb,
8922 void* pUserData
8923);
8924
8925
8926
8927/**
8928 @brief WDI_AddBASessionReq will be called when the upper MAC has setup
8929 successfully a BA session and needs to notify the HW for
8930 the appropriate settings to take place. Upon the call of
8931 this API the WLAN DAL will pack and send a HAL Add BA
8932 request message to the lower RIVA sub-system if DAL is
8933 in state STARTED.
8934
8935 In state BUSY this request will be queued. Request won't
8936 be allowed in any other state.
8937
8938 WDI_PostAssocReq must have been called.
8939
8940 @param wdiAddBAReqParams: the add BA parameters as specified by
8941 the Device Interface
8942
8943 wdiAddBARspCb: callback for passing back the response of
8944 the add BA operation received from the device
8945
8946 pUserData: user data will be passed back with the
8947 callback
8948
8949 @see WDI_PostAssocReq
8950 @return Result of the function call
8951*/
8952WDI_Status
8953WDI_AddBASessionReq
8954(
8955 WDI_AddBASessionReqParamsType* pwdiAddBASessionReqParams,
8956 WDI_AddBASessionRspCb wdiAddBASessionRspCb,
8957 void* pUserData
8958);
8959
8960
8961/**
8962 @brief WDI_DelBAReq will be called when the upper MAC wants to
8963 inform HW that it has deleted a previously created BA
8964 session. Upon the call of this API the WLAN DAL will
8965 pack and send a HAL Del BA request message to the lower
8966 RIVA sub-system if DAL is in state STARTED.
8967
8968 In state BUSY this request will be queued. Request won't
8969 be allowed in any other state.
8970
8971 WDI_AddBAReq must have been called.
8972
8973 @param wdiDelBAReqParams: the del BA parameters as specified by
8974 the Device Interface
8975
8976 wdiDelBARspCb: callback for passing back the response of
8977 the del BA operation received from the device
8978
8979 pUserData: user data will be passed back with the
8980 callback
8981
8982 @see WDI_AddBAReq
8983 @return Result of the function call
8984*/
8985WDI_Status
8986WDI_DelBAReq
8987(
8988 WDI_DelBAReqParamsType* pwdiDelBAReqParams,
8989 WDI_DelBARspCb wdiDelBARspCb,
8990 void* pUserData
8991);
8992
8993/**
8994 @brief WDI_UpdateBeaconParamsReq will be called when the upper MAC wants to
8995 inform HW that there is a change in the beacon parameters
8996 Upon the call of this API the WLAN DAL will
8997 pack and send a UpdateBeacon Params message to the lower
8998 RIVA sub-system if DAL is in state STARTED.
8999
9000 In state BUSY this request will be queued. Request won't
9001 be allowed in any other state.
9002
9003 WDI_UpdateBeaconParamsReq must have been called.
9004
9005 @param WDI_UpdateBeaconParamsType: the Update Beacon parameters as specified by
9006 the Device Interface
9007
9008 WDI_UpdateBeaconParamsRspCb: callback for passing back the response of
9009 the Update Beacon Params operation received from the device
9010
9011 pUserData: user data will be passed back with the
9012 callback
9013
9014 @see WDI_AddBAReq
9015 @return Result of the function call
9016*/
9017
9018WDI_Status
9019WDI_UpdateBeaconParamsReq
9020(
9021 WDI_UpdateBeaconParamsType * pwdiUpdateBeaconParams,
9022 WDI_UpdateBeaconParamsRspCb wdiUpdateBeaconParamsRspCb,
9023 void* pUserData
9024);
9025
9026
9027/**
9028 @brief WDI_SendBeaconParamsReq will be called when the upper MAC wants to
9029 update the beacon template to be transmitted as BT MAP STA/IBSS/Soft AP
9030 Upon the call of this API the WLAN DAL will
9031 pack and send the beacon Template message to the lower
9032 RIVA sub-system if DAL is in state STARTED.
9033
9034 In state BUSY this request will be queued. Request won't
9035 be allowed in any other state.
9036
9037 WDI_SendBeaconParamsReq must have been called.
9038
9039 @param WDI_SendBeaconParamsType: the Update Beacon parameters as specified by
9040 the Device Interface
9041
9042 WDI_SendBeaconParamsRspCb: callback for passing back the response of
9043 the Send Beacon Params operation received from the device
9044
9045 pUserData: user data will be passed back with the
9046 callback
9047
9048 @see WDI_AddBAReq
9049 @return Result of the function call
9050*/
9051
9052WDI_Status
9053WDI_SendBeaconParamsReq
9054(
9055 WDI_SendBeaconParamsType* pwdiSendBeaconParams,
9056 WDI_SendBeaconParamsRspCb wdiSendBeaconParamsRspCb,
9057 void* pUserData
9058);
9059
9060
9061/**
9062 @brief WDI_UpdateProbeRspTemplateReq will be called when the
9063 upper MAC wants to update the probe response template to
9064 be transmitted as Soft AP
9065 Upon the call of this API the WLAN DAL will
9066 pack and send the probe rsp template message to the
9067 lower RIVA sub-system if DAL is in state STARTED.
9068
9069 In state BUSY this request will be queued. Request won't
9070 be allowed in any other state.
9071
9072
9073 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
9074 specified by the Device Interface
9075
9076 wdiSendBeaconParamsRspCb: callback for passing back the
9077 response of the Send Beacon Params operation received
9078 from the device
9079
9080 pUserData: user data will be passed back with the
9081 callback
9082
9083 @see WDI_AddBAReq
9084 @return Result of the function call
9085*/
9086
9087WDI_Status
9088WDI_UpdateProbeRspTemplateReq
9089(
9090 WDI_UpdateProbeRspTemplateParamsType* pwdiUpdateProbeRspParams,
9091 WDI_UpdateProbeRspTemplateRspCb wdiSendBeaconParamsRspCb,
9092 void* pUserData
9093);
9094
Jeff Johnson295189b2012-06-20 16:38:30 -07009095/**
9096 @brief WDI_SetP2PGONOAReq will be called when the
9097 upper MAC wants to send Notice of Absence
9098 Upon the call of this API the WLAN DAL will
9099 pack and send the probe rsp template message to the
9100 lower RIVA sub-system if DAL is in state STARTED.
9101
9102 In state BUSY this request will be queued. Request won't
9103 be allowed in any other state.
9104
9105
9106 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
9107 specified by the Device Interface
9108
9109 wdiSendBeaconParamsRspCb: callback for passing back the
9110 response of the Send Beacon Params operation received
9111 from the device
9112
9113 pUserData: user data will be passed back with the
9114 callback
9115
9116 @see WDI_AddBAReq
9117 @return Result of the function call
9118*/
9119WDI_Status
9120WDI_SetP2PGONOAReq
9121(
9122 WDI_SetP2PGONOAReqParamsType* pwdiP2PGONOAReqParams,
9123 WDI_SetP2PGONOAReqParamsRspCb wdiP2PGONOAReqParamsRspCb,
9124 void* pUserData
9125);
Jeff Johnson295189b2012-06-20 16:38:30 -07009126
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05309127/**
9128 @brief WDI_SetTDLSLinkEstablishReq will be called when the
9129 upper MAC wants to send TDLS Link Establish Request Parameters
9130 Upon the call of this API the WLAN DAL will
9131 pack and send the TDLS Link Establish Request message to the
9132 lower RIVA sub-system if DAL is in state STARTED.
9133
9134 In state BUSY this request will be queued. Request won't
9135 be allowed in any other state.
9136
9137
9138 @param pwdiTDLSLinkEstablishReqParams: TDLS Peer Parameters
9139 for Link Establishment (Used for PUAPSD , TDLS Off Channel ...)
9140
9141 wdiTDLSLinkEstablishReqRspCb: callback for passing back the
9142 response of the TDLS Link Establish request received
9143 from the device
9144
9145 pUserData: user data will be passed back with the
9146 callback
9147
9148 @see
9149 @return Result of the function call
9150*/
9151WDI_Status
9152WDI_SetTDLSLinkEstablishReq
9153(
9154 WDI_SetTDLSLinkEstablishReqParamsType* pwdiTDLSLinkEstablishReqParams,
9155 WDI_SetTDLSLinkEstablishReqParamsRspCb wdiTDLSLinkEstablishReqRspCb,
9156 void* pUserData
9157);
Jeff Johnson295189b2012-06-20 16:38:30 -07009158
Atul Mittalc0f739f2014-07-31 13:47:47 +05309159WDI_Status
9160WDI_SetTDLSChanSwitchReq
9161(
9162 WDI_SetTDLSChanSwitchReqParamsType* pwdiTDLSChanSwitchReqParams,
9163 WDI_SetTDLSChanSwitchReqParamsRspCb wdiTDLSChanSwitchRReqRspCb,
9164 void* pUserData
9165);
Jeff Johnson295189b2012-06-20 16:38:30 -07009166/*========================================================================
9167
9168 Power Save APIs
9169
9170==========================================================================*/
9171
9172/**
9173 @brief WDI_SetPwrSaveCfgReq will be called when the upper MAC
9174 wants to set the power save related configurations of
9175 the WLAN Device. Upon the call of this API the WLAN DAL
9176 will pack and send a HAL Update CFG request message to
9177 the lower RIVA sub-system if DAL is in state STARTED.
9178
9179 In state BUSY this request will be queued. Request won't
9180 be allowed in any other state.
9181
9182 WDI_Start must have been called.
9183
9184 @param pwdiPowerSaveCfg: the power save cfg parameters as
9185 specified by the Device Interface
9186
9187 wdiSetPwrSaveCfgCb: callback for passing back the
9188 response of the set power save cfg operation received
9189 from the device
9190
9191 pUserData: user data will be passed back with the
9192 callback
9193
9194 @see WDI_Start
9195 @return Result of the function call
9196*/
9197WDI_Status
9198WDI_SetPwrSaveCfgReq
9199(
9200 WDI_UpdateCfgReqParamsType* pwdiPowerSaveCfg,
9201 WDI_SetPwrSaveCfgCb wdiSetPwrSaveCfgCb,
9202 void* pUserData
9203);
9204
9205/**
9206 @brief WDI_EnterImpsReq will be called when the upper MAC to
9207 request the device to get into IMPS power state. Upon
9208 the call of this API the WLAN DAL will send a HAL Enter
9209 IMPS request message to the lower RIVA sub-system if DAL
9210 is in state STARTED.
9211
9212 In state BUSY this request will be queued. Request won't
9213 be allowed in any other state.
9214
9215
9216 @param wdiEnterImpsRspCb: callback for passing back the
9217 response of the Enter IMPS operation received from the
9218 device
9219
9220 pUserData: user data will be passed back with the
9221 callback
9222
9223 @see WDI_Start
9224 @return Result of the function call
9225*/
9226WDI_Status
9227WDI_EnterImpsReq
9228(
Mihir Shetea4306052014-03-25 00:02:54 +05309229 WDI_EnterImpsReqParamsType *pwdiEnterImpsReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009230 WDI_EnterImpsRspCb wdiEnterImpsRspCb,
9231 void* pUserData
9232);
9233
9234/**
9235 @brief WDI_ExitImpsReq will be called when the upper MAC to
9236 request the device to get out of IMPS power state. Upon
9237 the call of this API the WLAN DAL will send a HAL Exit
9238 IMPS request message to the lower RIVA sub-system if DAL
9239 is in state STARTED.
9240
9241 In state BUSY this request will be queued. Request won't
9242 be allowed in any other state.
9243
9244
9245
9246 @param wdiExitImpsRspCb: callback for passing back the response
9247 of the Exit IMPS operation received from the device
9248
9249 pUserData: user data will be passed back with the
9250 callback
9251
9252 @see WDI_Start
9253 @return Result of the function call
9254*/
9255WDI_Status
9256WDI_ExitImpsReq
9257(
Mahesh A Saptasagar329813b2014-12-15 12:16:51 +05309258 WDI_ExitImpsReqParamsType *pwdiExitImpsReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009259 WDI_ExitImpsRspCb wdiExitImpsRspCb,
9260 void* pUserData
9261);
9262
9263/**
9264 @brief WDI_EnterBmpsReq will be called when the upper MAC to
9265 request the device to get into BMPS power state. Upon
9266 the call of this API the WLAN DAL will pack and send a
9267 HAL Enter BMPS request message to the lower RIVA
9268 sub-system if DAL is in state STARTED.
9269
9270 In state BUSY this request will be queued. Request won't
9271 be allowed in any other state.
9272
9273 WDI_PostAssocReq must have been called.
9274
9275 @param pwdiEnterBmpsReqParams: the Enter BMPS parameters as
9276 specified by the Device Interface
9277
9278 wdiEnterBmpsRspCb: callback for passing back the
9279 response of the Enter BMPS operation received from the
9280 device
9281
9282 pUserData: user data will be passed back with the
9283 callback
9284
9285 @see WDI_PostAssocReq
9286 @return Result of the function call
9287*/
9288WDI_Status
9289WDI_EnterBmpsReq
9290(
9291 WDI_EnterBmpsReqParamsType *pwdiEnterBmpsReqParams,
9292 WDI_EnterBmpsRspCb wdiEnterBmpsRspCb,
9293 void* pUserData
9294);
9295
9296/**
9297 @brief WDI_ExitBmpsReq will be called when the upper MAC to
9298 request the device to get out of BMPS power state. Upon
9299 the call of this API the WLAN DAL will pack and send a
9300 HAL Exit BMPS request message to the lower RIVA
9301 sub-system if DAL is in state STARTED.
9302
9303 In state BUSY this request will be queued. Request won't
9304 be allowed in any other state.
9305
9306 WDI_PostAssocReq must have been called.
9307
9308 @param pwdiExitBmpsReqParams: the Exit BMPS parameters as
9309 specified by the Device Interface
9310
9311 wdiExitBmpsRspCb: callback for passing back the response
9312 of the Exit BMPS operation received from the device
9313
9314 pUserData: user data will be passed back with the
9315 callback
9316
9317 @see WDI_PostAssocReq
9318 @return Result of the function call
9319*/
9320WDI_Status
9321WDI_ExitBmpsReq
9322(
9323 WDI_ExitBmpsReqParamsType *pwdiExitBmpsReqParams,
9324 WDI_ExitBmpsRspCb wdiExitBmpsRspCb,
9325 void* pUserData
9326);
9327
9328/**
9329 @brief WDI_EnterUapsdReq will be called when the upper MAC to
9330 request the device to get into UAPSD power state. Upon
9331 the call of this API the WLAN DAL will pack and send a
9332 HAL Enter UAPSD request message to the lower RIVA
9333 sub-system if DAL is in state STARTED.
9334
9335 In state BUSY this request will be queued. Request won't
9336 be allowed in any other state.
9337
9338 WDI_PostAssocReq must have been called.
9339 WDI_SetUapsdAcParamsReq must have been called.
9340
9341 @param pwdiEnterUapsdReqParams: the Enter UAPSD parameters as
9342 specified by the Device Interface
9343
9344 wdiEnterUapsdRspCb: callback for passing back the
9345 response of the Enter UAPSD operation received from the
9346 device
9347
9348 pUserData: user data will be passed back with the
9349 callback
9350
9351 @see WDI_PostAssocReq, WDI_SetUapsdAcParamsReq
9352 @return Result of the function call
9353*/
9354WDI_Status
9355WDI_EnterUapsdReq
9356(
9357 WDI_EnterUapsdReqParamsType *pwdiEnterUapsdReqParams,
9358 WDI_EnterUapsdRspCb wdiEnterUapsdRspCb,
9359 void* pUserData
9360);
9361
9362/**
9363 @brief WDI_ExitUapsdReq will be called when the upper MAC to
9364 request the device to get out of UAPSD power state. Upon
9365 the call of this API the WLAN DAL will send a HAL Exit
9366 UAPSD request message to the lower RIVA sub-system if
9367 DAL is in state STARTED.
9368
9369 In state BUSY this request will be queued. Request won't
9370 be allowed in any other state.
9371
9372 WDI_PostAssocReq must have been called.
9373
9374 @param wdiExitUapsdRspCb: callback for passing back the
9375 response of the Exit UAPSD operation received from the
9376 device
9377
9378 pUserData: user data will be passed back with the
9379 callback
9380
9381 @see WDI_PostAssocReq
9382 @return Result of the function call
9383*/
9384WDI_Status
9385WDI_ExitUapsdReq
9386(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07009387 WDI_ExitUapsdReqParamsType *pwdiExitUapsdReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009388 WDI_ExitUapsdRspCb wdiExitUapsdRspCb,
9389 void* pUserData
9390);
9391
9392/**
9393 @brief WDI_UpdateUapsdParamsReq will be called when the upper
9394 MAC wants to set the UAPSD related configurations
9395 of an associated STA (while acting as an AP) to the WLAN
9396 Device. Upon the call of this API the WLAN DAL will pack
9397 and send a HAL Update UAPSD params request message to
9398 the lower RIVA sub-system if DAL is in state STARTED.
9399
9400 In state BUSY this request will be queued. Request won't
9401 be allowed in any other state.
9402
9403 WDI_ConfigBSSReq must have been called.
9404
9405 @param pwdiUpdateUapsdReqParams: the UAPSD parameters
9406 as specified by the Device Interface
9407
9408 wdiUpdateUapsdParamsCb: callback for passing back the
9409 response of the update UAPSD params operation received
9410 from the device
9411
9412 pUserData: user data will be passed back with the
9413 callback
9414
9415 @see WDI_ConfigBSSReq
9416 @return Result of the function call
9417*/
9418WDI_Status
9419WDI_UpdateUapsdParamsReq
9420(
9421 WDI_UpdateUapsdReqParamsType *pwdiUpdateUapsdReqParams,
9422 WDI_UpdateUapsdParamsCb wdiUpdateUapsdParamsCb,
9423 void* pUserData
9424);
9425
9426/**
9427 @brief WDI_SetUapsdAcParamsReq will be called when the upper
9428 MAC wants to set the UAPSD related configurations before
9429 requesting for enter UAPSD power state to the WLAN
9430 Device. Upon the call of this API the WLAN DAL will pack
9431 and send a HAL Set UAPSD params request message to
9432 the lower RIVA sub-system if DAL is in state STARTED.
9433
9434 In state BUSY this request will be queued. Request won't
9435 be allowed in any other state.
9436
9437 WDI_PostAssocReq must have been called.
9438
9439 @param pwdiUapsdInfo: the UAPSD parameters as specified by
9440 the Device Interface
9441
9442 wdiSetUapsdAcParamsCb: callback for passing back the
9443 response of the set UAPSD params operation received from
9444 the device
9445
9446 pUserData: user data will be passed back with the
9447 callback
9448
9449 @see WDI_PostAssocReq
9450 @return Result of the function call
9451*/
9452WDI_Status
9453WDI_SetUapsdAcParamsReq
9454(
9455 WDI_SetUapsdAcParamsReqParamsType* pwdiPowerSaveCfg,
9456 WDI_SetUapsdAcParamsCb wdiSetUapsdAcParamsCb,
9457 void* pUserData
9458);
Siddharth Bhal64246172015-02-27 01:04:37 +05309459/**
9460 @brief WDI_GetFrameLogReq will be called when the upper
9461 MAC wants to initialize frame logging. Upon the call of
9462 this API the WLAN DAL will pack and send a HAL
9463 Frame logging init request message to
9464 the lower RIVA sub-system.
9465
9466 In state BUSY this request will be queued. Request won't
9467 be allowed in any other state.
9468
9469
9470 @param pwdiGetFrameLogReqInfo: the Frame Logging params
9471 as specified by the Device Interface
9472
9473 wdiGetFrameLogReqCb: callback for passing back the
9474 response of the frame logging init operation received
9475 from the device
9476
9477 pUserData: user data will be passed back with the
9478 callback
9479
9480 @return Result of the function call
9481*/
9482WDI_Status
9483WDI_GetFrameLogReq
9484(
9485 WDI_GetFrameLogReqInfoType *pwdiGetFrameLogReqInfo,
9486 WDI_GetFrameLogRspCb wdiGetFrameLogReqCb,
9487 void* pUserData
9488);
Jeff Johnson295189b2012-06-20 16:38:30 -07009489
9490/**
Siddharth Bhald1be97f2015-05-27 22:39:59 +05309491 @brief WDI_FWLoggingInitReq will be called when the upper
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05309492 MAC wants to initialize frame logging. Upon the call of
9493 this API the WLAN DAL will pack and send a HAL
9494 Frame logging init request message to
9495 the lower RIVA sub-system.
9496
9497 In state BUSY this request will be queued. Request won't
9498 be allowed in any other state.
9499
9500
Siddharth Bhald1be97f2015-05-27 22:39:59 +05309501 @param pwdiFWLoggingInitReqParams: the Frame Logging params
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05309502 as specified by the Device Interface
9503
Siddharth Bhald1be97f2015-05-27 22:39:59 +05309504 wdiFWLoggingInitReqCb: callback for passing back the
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05309505 response of the frame logging init operation received
9506 from the device
9507
9508 pUserData: user data will be passed back with the
9509 callback
9510
9511 @return Result of the function call
9512*/
9513WDI_Status
Siddharth Bhald1be97f2015-05-27 22:39:59 +05309514WDI_FWLoggingInitReq
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05309515(
Siddharth Bhald1be97f2015-05-27 22:39:59 +05309516 WDI_FWLoggingInitReqInfoType *pwdiFWLoggingInitReqInfo,
9517 WDI_FWLoggingInitRspCb wdiFWLoggingInitReqCb,
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05309518 void* pUserData
9519);
9520
9521/**
Jeff Johnson295189b2012-06-20 16:38:30 -07009522 @brief WDI_ConfigureRxpFilterReq will be called when the upper
9523 MAC wants to set/reset the RXP filters for received pkts
9524 (MC, BC etc.). Upon the call of this API the WLAN DAL will pack
9525 and send a HAL configure RXP filter request message to
9526 the lower RIVA sub-system.
9527
9528 In state BUSY this request will be queued. Request won't
9529 be allowed in any other state.
9530
9531
9532 @param pwdiConfigureRxpFilterReqParams: the RXP
9533 filter as specified by the Device
9534 Interface
9535
9536 wdiConfigureRxpFilterCb: callback for passing back the
9537 response of the configure RXP filter operation received
9538 from the device
9539
9540 pUserData: user data will be passed back with the
9541 callback
9542
9543 @return Result of the function call
9544*/
9545WDI_Status
9546WDI_ConfigureRxpFilterReq
9547(
9548 WDI_ConfigureRxpFilterReqParamsType *pwdiConfigureRxpFilterReqParams,
9549 WDI_ConfigureRxpFilterCb wdiConfigureRxpFilterCb,
9550 void* pUserData
9551);
9552
9553/**
9554 @brief WDI_SetBeaconFilterReq will be called when the upper MAC
9555 wants to set the beacon filters while in power save.
9556 Upon the call of this API the WLAN DAL will pack and
9557 send a Beacon filter request message to the
9558 lower RIVA sub-system.
9559
9560 In state BUSY this request will be queued. Request won't
9561 be allowed in any other state.
9562
9563
9564 @param pwdiBeaconFilterReqParams: the beacon
9565 filter as specified by the Device
9566 Interface
9567
9568 wdiBeaconFilterCb: callback for passing back the
9569 response of the set beacon filter operation received
9570 from the device
9571
9572 pUserData: user data will be passed back with the
9573 callback
9574
9575 @return Result of the function call
9576*/
9577WDI_Status
9578WDI_SetBeaconFilterReq
9579(
9580 WDI_BeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
9581 WDI_SetBeaconFilterCb wdiBeaconFilterCb,
9582 void* pUserData
9583);
9584
9585/**
9586 @brief WDI_RemBeaconFilterReq will be called when the upper MAC
9587 wants to remove the beacon filter for perticular IE
9588 while in power save. Upon the call of this API the WLAN
9589 DAL will pack and send a remove Beacon filter request
9590 message to the lower RIVA sub-system.
9591
9592 In state BUSY this request will be queued. Request won't
9593 be allowed in any other state.
9594
9595
9596 @param pwdiBeaconFilterReqParams: the beacon
9597 filter as specified by the Device
9598 Interface
9599
9600 wdiBeaconFilterCb: callback for passing back the
9601 response of the remove beacon filter operation received
9602 from the device
9603
9604 pUserData: user data will be passed back with the
9605 callback
9606
9607 @return Result of the function call
9608*/
9609WDI_Status
9610WDI_RemBeaconFilterReq
9611(
9612 WDI_RemBeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
9613 WDI_RemBeaconFilterCb wdiBeaconFilterCb,
9614 void* pUserData
9615);
9616
9617/**
9618 @brief WDI_SetRSSIThresholdsReq will be called when the upper
9619 MAC wants to set the RSSI thresholds related
9620 configurations while in power save. Upon the call of
9621 this API the WLAN DAL will pack and send a HAL Set RSSI
9622 thresholds request message to the lower RIVA
9623 sub-system if DAL is in state STARTED.
9624
9625 In state BUSY this request will be queued. Request won't
9626 be allowed in any other state.
9627
9628 WDI_PostAssocReq must have been called.
9629
9630 @param pwdiUapsdInfo: the UAPSD parameters as specified by
9631 the Device Interface
9632
9633 wdiSetUapsdAcParamsCb: callback for passing back the
9634 response of the set UAPSD params operation received from
9635 the device
9636
9637 pUserData: user data will be passed back with the
9638 callback
9639
9640 @see WDI_PostAssocReq
9641 @return Result of the function call
9642*/
9643WDI_Status
9644WDI_SetRSSIThresholdsReq
9645(
9646 WDI_SetRSSIThresholdsReqParamsType* pwdiRSSIThresholdsParams,
9647 WDI_SetRSSIThresholdsCb wdiSetRSSIThresholdsCb,
9648 void* pUserData
9649);
9650
9651/**
9652 @brief WDI_HostOffloadReq will be called when the upper MAC
9653 wants to set the filter to minimize unnecessary host
9654 wakeup due to broadcast traffic while in power save.
9655 Upon the call of this API the WLAN DAL will pack and
9656 send a HAL host offload request message to the
9657 lower RIVA sub-system if DAL is in state STARTED.
9658
9659 In state BUSY this request will be queued. Request won't
9660 be allowed in any other state.
9661
9662 WDI_PostAssocReq must have been called.
9663
9664 @param pwdiHostOffloadParams: the host offload as specified
9665 by the Device Interface
9666
9667 wdiHostOffloadCb: callback for passing back the response
9668 of the host offload operation received from the
9669 device
9670
9671 pUserData: user data will be passed back with the
9672 callback
9673
9674 @see WDI_PostAssocReq
9675 @return Result of the function call
9676*/
9677WDI_Status
9678WDI_HostOffloadReq
9679(
9680 WDI_HostOffloadReqParamsType* pwdiHostOffloadParams,
9681 WDI_HostOffloadCb wdiHostOffloadCb,
9682 void* pUserData
9683);
9684
9685/**
9686 @brief WDI_KeepAliveReq will be called when the upper MAC
9687 wants to set the filter to send NULL or unsolicited ARP responses
9688 and minimize unnecessary host wakeups due to while in power save.
9689 Upon the call of this API the WLAN DAL will pack and
9690 send a HAL Keep Alive request message to the
9691 lower RIVA sub-system if DAL is in state STARTED.
9692
9693 In state BUSY this request will be queued. Request won't
9694 be allowed in any other state.
9695
9696 WDI_PostAssocReq must have been called.
9697
9698 @param pwdiKeepAliveParams: the Keep Alive as specified
9699 by the Device Interface
9700
9701 wdiKeepAliveCb: callback for passing back the response
9702 of the Keep Alive operation received from the
9703 device
9704
9705 pUserData: user data will be passed back with the
9706 callback
9707
9708 @see WDI_PostAssocReq
9709 @return Result of the function call
9710*/
9711WDI_Status
9712WDI_KeepAliveReq
9713(
9714 WDI_KeepAliveReqParamsType* pwdiKeepAliveParams,
9715 WDI_KeepAliveCb wdiKeepAliveCb,
9716 void* pUserData
9717);
9718
9719/**
9720 @brief WDI_WowlAddBcPtrnReq will be called when the upper MAC
9721 wants to set the Wowl Bcast ptrn to minimize unnecessary
9722 host wakeup due to broadcast traffic while in power
9723 save. Upon the call of this API the WLAN DAL will pack
9724 and send a HAL Wowl Bcast ptrn request message to the
9725 lower RIVA sub-system if DAL is in state STARTED.
9726
9727 In state BUSY this request will be queued. Request won't
9728 be allowed in any other state.
9729
9730 WDI_PostAssocReq must have been called.
9731
9732 @param pwdiWowlAddBcPtrnParams: the Wowl bcast ptrn as
9733 specified by the Device Interface
9734
9735 wdiWowlAddBcPtrnCb: callback for passing back the
9736 response of the add Wowl bcast ptrn operation received
9737 from the device
9738
9739 pUserData: user data will be passed back with the
9740 callback
9741
9742 @see WDI_PostAssocReq
9743 @return Result of the function call
9744*/
9745WDI_Status
9746WDI_WowlAddBcPtrnReq
9747(
9748 WDI_WowlAddBcPtrnReqParamsType* pwdiWowlAddBcPtrnParams,
9749 WDI_WowlAddBcPtrnCb wdiWowlAddBcPtrnCb,
9750 void* pUserData
9751);
9752
9753/**
9754 @brief WDI_WowlDelBcPtrnReq will be called when the upper MAC
9755 wants to clear the Wowl Bcast ptrn. Upon the call of
9756 this API the WLAN DAL will pack and send a HAL delete
9757 Wowl Bcast ptrn request message to the lower RIVA
9758 sub-system if DAL is in state STARTED.
9759
9760 In state BUSY this request will be queued. Request won't
9761 be allowed in any other state.
9762
9763 WDI_WowlAddBcPtrnReq must have been called.
9764
9765 @param pwdiWowlDelBcPtrnParams: the Wowl bcast ptrn as
9766 specified by the Device Interface
9767
9768 wdiWowlDelBcPtrnCb: callback for passing back the
9769 response of the del Wowl bcast ptrn operation received
9770 from the device
9771
9772 pUserData: user data will be passed back with the
9773 callback
9774
9775 @see WDI_WowlAddBcPtrnReq
9776 @return Result of the function call
9777*/
9778WDI_Status
9779WDI_WowlDelBcPtrnReq
9780(
9781 WDI_WowlDelBcPtrnReqParamsType* pwdiWowlDelBcPtrnParams,
9782 WDI_WowlDelBcPtrnCb wdiWowlDelBcPtrnCb,
9783 void* pUserData
9784);
9785
9786/**
9787 @brief WDI_WowlEnterReq will be called when the upper MAC
9788 wants to enter the Wowl state to minimize unnecessary
9789 host wakeup while in power save. Upon the call of this
9790 API the WLAN DAL will pack and send a HAL Wowl enter
9791 request message to the lower RIVA sub-system if DAL is
9792 in state STARTED.
9793
9794 In state BUSY this request will be queued. Request won't
9795 be allowed in any other state.
9796
9797 WDI_PostAssocReq must have been called.
9798
9799 @param pwdiWowlEnterReqParams: the Wowl enter info as
9800 specified by the Device Interface
9801
9802 wdiWowlEnterReqCb: callback for passing back the
9803 response of the enter Wowl operation received from the
9804 device
9805
9806 pUserData: user data will be passed back with the
9807 callback
9808
9809 @see WDI_PostAssocReq
9810 @return Result of the function call
9811*/
9812WDI_Status
9813WDI_WowlEnterReq
9814(
9815 WDI_WowlEnterReqParamsType* pwdiWowlEnterParams,
9816 WDI_WowlEnterReqCb wdiWowlEnterCb,
9817 void* pUserData
9818);
9819
9820/**
9821 @brief WDI_WowlExitReq will be called when the upper MAC
9822 wants to exit the Wowl state. Upon the call of this API
9823 the WLAN DAL will pack and send a HAL Wowl exit request
9824 message to the lower RIVA sub-system if DAL is in state
9825 STARTED.
9826
9827 In state BUSY this request will be queued. Request won't
9828 be allowed in any other state.
9829
9830 WDI_WowlEnterReq must have been called.
9831
9832 @param pwdiWowlExitReqParams: the Wowl exit info as
9833 specified by the Device Interface
9834
9835 wdiWowlExitReqCb: callback for passing back the response
9836 of the exit Wowl operation received from the device
9837
9838 pUserData: user data will be passed back with the
9839 callback
9840
9841 @see WDI_WowlEnterReq
9842 @return Result of the function call
9843*/
9844WDI_Status
9845WDI_WowlExitReq
9846(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07009847 WDI_WowlExitReqParamsType* pwdiWowlExitParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009848 WDI_WowlExitReqCb wdiWowlExitCb,
9849 void* pUserData
9850);
9851
9852/**
9853 @brief WDI_ConfigureAppsCpuWakeupStateReq will be called when
9854 the upper MAC wants to dynamically adjusts the listen
9855 interval based on the WLAN/MSM activity. Upon the call
9856 of this API the WLAN DAL will pack and send a HAL
9857 configure Apps Cpu Wakeup State request message to the
9858 lower RIVA sub-system.
9859
9860 In state BUSY this request will be queued. Request won't
9861 be allowed in any other state.
9862
9863
9864 @param pwdiConfigureAppsCpuWakeupStateReqParams: the
9865 Apps Cpu Wakeup State as specified by the
9866 Device Interface
9867
9868 wdiConfigureAppsCpuWakeupStateCb: callback for passing
9869 back the response of the configure Apps Cpu Wakeup State
9870 operation received from the device
9871
9872 pUserData: user data will be passed back with the
9873 callback
9874
9875 @return Result of the function call
9876*/
9877WDI_Status
9878WDI_ConfigureAppsCpuWakeupStateReq
9879(
9880 WDI_ConfigureAppsCpuWakeupStateReqParamsType *pwdiConfigureAppsCpuWakeupStateReqParams,
9881 WDI_ConfigureAppsCpuWakeupStateCb wdiConfigureAppsCpuWakeupStateCb,
9882 void* pUserData
9883);
9884/**
9885 @brief WDI_FlushAcReq will be called when the upper MAC wants
9886 to to perform a flush operation on a given AC. Upon the
9887 call of this API the WLAN DAL will pack and send a HAL
9888 Flush AC request message to the lower RIVA sub-system if
9889 DAL is in state STARTED.
9890
9891 In state BUSY this request will be queued. Request won't
9892 be allowed in any other state.
9893
9894
9895 @param pwdiFlushAcReqParams: the Flush AC parameters as
9896 specified by the Device Interface
9897
9898 wdiFlushAcRspCb: callback for passing back the response
9899 of the Flush AC operation received from the device
9900
9901 pUserData: user data will be passed back with the
9902 callback
9903
9904 @return Result of the function call
9905*/
9906WDI_Status
9907WDI_FlushAcReq
9908(
9909 WDI_FlushAcReqParamsType* pwdiFlushAcReqParams,
9910 WDI_FlushAcRspCb wdiFlushAcRspCb,
9911 void* pUserData
9912);
9913
9914/**
9915 @brief WDI_BtAmpEventReq will be called when the upper MAC
9916 wants to notify the lower mac on a BT AMP event. This is
9917 to inform BTC-SLM that some BT AMP event occurred. Upon
9918 the call of this API the WLAN DAL will pack and send a
9919 HAL BT AMP event request message to the lower RIVA
9920 sub-system if DAL is in state STARTED.
9921
9922 In state BUSY this request will be queued. Request won't
9923 be allowed in any other state.
9924
9925
9926 @param wdiBtAmpEventReqParams: the BT AMP event parameters as
9927 specified by the Device Interface
9928
9929 wdiBtAmpEventRspCb: callback for passing back the
9930 response of the BT AMP event operation received from the
9931 device
9932
9933 pUserData: user data will be passed back with the
9934 callback
9935
9936 @return Result of the function call
9937*/
9938WDI_Status
9939WDI_BtAmpEventReq
9940(
9941 WDI_BtAmpEventParamsType* pwdiBtAmpEventReqParams,
9942 WDI_BtAmpEventRspCb wdiBtAmpEventRspCb,
9943 void* pUserData
9944);
9945
Jeff Johnsone7245742012-09-05 17:12:55 -07009946#ifdef FEATURE_OEM_DATA_SUPPORT
9947/**
9948 @brief WDI_Start oem data Req will be called when the upper MAC
9949 wants to notify the lower mac on a oem data Req event.Upon
9950 the call of this API the WLAN DAL will pack and send a
9951 HAL OEM Data Req event request message to the lower RIVA
9952 sub-system if DAL is in state STARTED.
9953
9954 In state BUSY this request will be queued. Request won't
9955 be allowed in any other state.
9956
9957
9958 @param pWdiOemDataReqParams: the oem data req parameters as
9959 specified by the Device Interface
9960
9961 wdiStartOemDataRspCb: callback for passing back the
9962 response of the Oem Data Req received from the
9963 device
9964
9965 pUserData: user data will be passed back with the
9966 callback
9967
9968 @return Result of the function call
9969*/
9970WDI_Status
9971WDI_StartOemDataReq
9972(
9973 WDI_oemDataReqParamsType* pWdiOemDataReqParams,
9974 WDI_oemDataRspCb wdiOemDataRspCb,
9975 void* pUserData
9976);
9977#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07009978
9979/*========================================================================
9980
9981 CONTROL APIs
9982
9983==========================================================================*/
9984/**
9985 @brief WDI_SwitchChReq will be called when the upper MAC wants
9986 the WLAN HW to change the current channel of operation.
9987 Upon the call of this API the WLAN DAL will pack and
9988 send a HAL Start request message to the lower RIVA
9989 sub-system if DAL is in state STARTED.
9990
9991 In state BUSY this request will be queued. Request won't
9992 be allowed in any other state.
9993
9994 WDI_Start must have been called.
9995
9996 @param wdiSwitchChReqParams: the switch ch parameters as
9997 specified by the Device Interface
9998
9999 wdiSwitchChRspCb: callback for passing back the response
10000 of the switch ch operation received from the device
10001
10002 pUserData: user data will be passed back with the
10003 callback
10004
10005 @see WDI_Start
10006 @return Result of the function call
10007*/
10008WDI_Status
10009WDI_SwitchChReq
10010(
10011 WDI_SwitchChReqParamsType* pwdiSwitchChReqParams,
10012 WDI_SwitchChRspCb wdiSwitchChRspCb,
10013 void* pUserData
10014);
10015
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -080010016/**
Kalikinkar dhara1e83b772014-02-06 12:59:22 -080010017 @brief WDI_SwitchChReq_V1 is similar to WDI_SwitchChReq except
10018 it also send type source for the channel change.
10019 WDI_Start must have been called.
10020
10021 @param wdiSwitchChReqParams: the switch ch parameters as
10022 specified by the Device Interface
10023
10024 wdiSwitchChRspCb: callback for passing back the response
10025 of the switch ch operation received from the device
10026
10027 pUserData: user data will be passed back with the
10028 callback
10029
10030 @see WDI_Start
10031 @return Result of the function call
10032*/
10033
10034WDI_Status
10035WDI_SwitchChReq_V1
10036(
10037 WDI_SwitchChReqParamsType_V1* pwdiSwitchChReqParams,
10038 WDI_SwitchChRspCb_V1 wdiSwitchChRspCb,
10039 void* pUserData
10040);
10041
10042/**
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -080010043 @brief WDI_UpdateChannelReq will be called when the upper MAC
10044 wants to update the channel list on change in country code.
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -080010045 In state BUSY this request will be queued. Request won't
10046 be allowed in any other state.
10047
10048 WDI_UpdateChannelReq must have been called.
10049
10050 @param wdiUpdateChannelReqParams: the updated channel parameters
10051 as specified by the Device Interface
10052
10053 wdiUpdateChannelRspCb: callback for passing back the
10054 response of the update channel operation received from
10055 the device
10056
10057 pUserData: user data will be passed back with the
10058 callback
10059
10060 @return Result of the function call
10061*/
10062WDI_Status
10063WDI_UpdateChannelReq
10064(
10065 WDI_UpdateChReqParamsType *pwdiUpdateChannelReqParams,
10066 WDI_UpdateChannelRspCb wdiUpdateChannelRspCb,
10067 void* pUserData
10068);
Jeff Johnson295189b2012-06-20 16:38:30 -070010069
10070/**
10071 @brief WDI_ConfigSTAReq will be called when the upper MAC
10072 wishes to add or update a STA in HW. Upon the call of
10073 this API the WLAN DAL will pack and send a HAL Start
10074 message request message to the lower RIVA sub-system if
10075 DAL is in state STARTED.
10076
10077 In state BUSY this request will be queued. Request won't
10078 be allowed in any other state.
10079
10080 WDI_Start must have been called.
10081
10082 @param wdiConfigSTAReqParams: the config STA parameters as
10083 specified by the Device Interface
10084
10085 wdiConfigSTARspCb: callback for passing back the
10086 response of the config STA operation received from the
10087 device
10088
10089 pUserData: user data will be passed back with the
10090 callback
10091
10092 @see WDI_Start
10093 @return Result of the function call
10094*/
10095WDI_Status
10096WDI_ConfigSTAReq
10097(
10098 WDI_ConfigSTAReqParamsType* pwdiConfigSTAReqParams,
10099 WDI_ConfigSTARspCb wdiConfigSTARspCb,
10100 void* pUserData
10101);
10102
10103/**
10104 @brief WDI_SetLinkStateReq will be called when the upper MAC
10105 wants to change the state of an ongoing link. Upon the
10106 call of this API the WLAN DAL will pack and send a HAL
10107 Start message request message to the lower RIVA
10108 sub-system if DAL is in state STARTED.
10109
10110 In state BUSY this request will be queued. Request won't
10111 be allowed in any other state.
10112
10113 WDI_JoinReq must have been called.
10114
10115 @param wdiSetLinkStateReqParams: the set link state parameters
10116 as specified by the Device Interface
10117
10118 wdiSetLinkStateRspCb: callback for passing back the
10119 response of the set link state operation received from
10120 the device
10121
10122 pUserData: user data will be passed back with the
10123 callback
10124
10125 @see WDI_JoinStartReq
10126 @return Result of the function call
10127*/
10128WDI_Status
10129WDI_SetLinkStateReq
10130(
10131 WDI_SetLinkReqParamsType* pwdiSetLinkStateReqParams,
10132 WDI_SetLinkStateRspCb wdiSetLinkStateRspCb,
10133 void* pUserData
10134);
10135
10136
10137/**
10138 @brief WDI_GetStatsReq will be called when the upper MAC wants
10139 to get statistics (MIB counters) from the device. Upon
10140 the call of this API the WLAN DAL will pack and send a
10141 HAL Start request message to the lower RIVA sub-system
10142 if DAL is in state STARTED.
10143
10144 In state BUSY this request will be queued. Request won't
10145 be allowed in any other state.
10146
10147 WDI_Start must have been called.
10148
10149 @param wdiGetStatsReqParams: the stats parameters to get as
10150 specified by the Device Interface
10151
10152 wdiGetStatsRspCb: callback for passing back the response
10153 of the get stats operation received from the device
10154
10155 pUserData: user data will be passed back with the
10156 callback
10157
10158 @see WDI_Start
10159 @return Result of the function call
10160*/
10161WDI_Status
10162WDI_GetStatsReq
10163(
10164 WDI_GetStatsReqParamsType* pwdiGetStatsReqParams,
10165 WDI_GetStatsRspCb wdiGetStatsRspCb,
10166 void* pUserData
10167);
10168
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -080010169#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -080010170/**
10171 @brief WDI_GetRoamRssiReq will be called when the upper MAC wants
10172 to get roam rssi from the device. Upon
10173 the call of this API the WLAN DAL will pack and send a
10174 HAL Start request message to the lower RIVA sub-system
10175 if DAL is in state STARTED.
10176
10177 In state BUSY this request will be queued. Request won't
10178 be allowed in any other state.
10179
10180 WDI_Start must have been called.
10181
10182 @param wdiGetRoamRssiReqParams: the stats parameters to get as
10183 specified by the Device Interface
10184
10185 wdiGetRoamRssispCb: callback for passing back the response
10186 of the get stats operation received from the device
10187
10188 pUserData: user data will be passed back with the
10189 callback
10190
10191 @see WDI_Start
10192 @return Result of the function call
10193*/
10194WDI_Status
10195WDI_GetRoamRssiReq
10196(
10197 WDI_GetRoamRssiReqParamsType* pwdiGetRoamRssiReqParams,
10198 WDI_GetRoamRssiRspCb wdiGetRoamRssiRspCb,
10199 void* pUserData
10200);
10201#endif
Jeff Johnson295189b2012-06-20 16:38:30 -070010202
10203/**
10204 @brief WDI_UpdateCfgReq will be called when the upper MAC when
10205 it wishes to change the configuration of the WLAN
10206 Device. Upon the call of this API the WLAN DAL will pack
10207 and send a HAL Update CFG request message to the lower
10208 RIVA sub-system if DAL is in state STARTED.
10209
10210 In state BUSY this request will be queued. Request won't
10211 be allowed in any other state.
10212
10213 WDI_Start must have been called.
10214
10215 @param wdiUpdateCfgReqParams: the update cfg parameters as
10216 specified by the Device Interface
10217
10218 wdiUpdateCfgsRspCb: callback for passing back the
10219 response of the update cfg operation received from the
10220 device
10221
10222 pUserData: user data will be passed back with the
10223 callback
10224
10225 @see WDI_Start
10226 @return Result of the function call
10227*/
10228WDI_Status
10229WDI_UpdateCfgReq
10230(
10231 WDI_UpdateCfgReqParamsType* pwdiUpdateCfgReqParams,
10232 WDI_UpdateCfgRspCb wdiUpdateCfgsRspCb,
10233 void* pUserData
10234);
10235
10236/**
10237 @brief WDI_NvDownloadReq will be called by the UMAC to dowload the NV blob
10238 to the NV memory.
10239
10240 @param wdiNvDownloadReqParams: the NV Download parameters as specified by
10241 the Device Interface
10242
10243 wdiNvDownloadRspCb: callback for passing back the response of
10244 the NV Download operation received from the device
10245
10246 pUserData: user data will be passed back with the
10247 callback
10248
10249 @see WDI_PostAssocReq
10250 @return Result of the function call
10251*/
10252WDI_Status
10253WDI_NvDownloadReq
10254(
10255 WDI_NvDownloadReqParamsType* pwdiNvDownloadReqParams,
10256 WDI_NvDownloadRspCb wdiNvDownloadRspCb,
10257 void* pUserData
10258);
10259/**
10260 @brief WDI_AddBAReq will be called when the upper MAC has setup
10261 successfully a BA session and needs to notify the HW for
10262 the appropriate settings to take place. Upon the call of
10263 this API the WLAN DAL will pack and send a HAL Add BA
10264 request message to the lower RIVA sub-system if DAL is
10265 in state STARTED.
10266
10267 In state BUSY this request will be queued. Request won't
10268 be allowed in any other state.
10269
10270 WDI_PostAssocReq must have been called.
10271
10272 @param wdiAddBAReqParams: the add BA parameters as specified by
10273 the Device Interface
10274
10275 wdiAddBARspCb: callback for passing back the response of
10276 the add BA operation received from the device
10277
10278 pUserData: user data will be passed back with the
10279 callback
10280
10281 @see WDI_PostAssocReq
10282 @return Result of the function call
10283*/
10284WDI_Status
10285WDI_AddBAReq
10286(
10287 WDI_AddBAReqParamsType* pwdiAddBAReqParams,
10288 WDI_AddBARspCb wdiAddBARspCb,
10289 void* pUserData
10290);
10291
10292/**
10293 @brief WDI_TriggerBAReq will be called when the upper MAC has setup
10294 successfully a BA session and needs to notify the HW for
10295 the appropriate settings to take place. Upon the call of
10296 this API the WLAN DAL will pack and send a HAL Add BA
10297 request message to the lower RIVA sub-system if DAL is
10298 in state STARTED.
10299
10300 In state BUSY this request will be queued. Request won't
10301 be allowed in any other state.
10302
10303 WDI_PostAssocReq must have been called.
10304
10305 @param wdiAddBAReqParams: the add BA parameters as specified by
10306 the Device Interface
10307
10308 wdiAddBARspCb: callback for passing back the response of
10309 the add BA operation received from the device
10310
10311 pUserData: user data will be passed back with the
10312 callback
10313
10314 @see WDI_PostAssocReq
10315 @return Result of the function call
10316*/
10317WDI_Status
10318WDI_TriggerBAReq
10319(
10320 WDI_TriggerBAReqParamsType* pwdiTriggerBAReqParams,
10321 WDI_TriggerBARspCb wdiTriggerBARspCb,
10322 void* pUserData
10323);
10324
10325
10326/**
10327 @brief WDI_IsHwFrameTxTranslationCapable checks to see if HW
10328 frame xtl is enabled for a particular STA.
10329
10330 WDI_PostAssocReq must have been called.
10331
10332 @param uSTAIdx: STA index
10333
10334 @see WDI_PostAssocReq
10335 @return Result of the function call
10336*/
10337wpt_boolean WDI_IsHwFrameTxTranslationCapable
10338(
10339 wpt_uint8 uSTAIdx
10340);
10341
Katya Nigam6201c3e2014-05-27 17:51:42 +053010342
10343/**
10344 @brief WDI_IsSelfSTA - check if staid is self sta index
10345
10346 @param pWDICtx: pointer to the WLAN DAL context
10347 ucSTAIdx: station index
10348
10349 @return Result of the function call
10350*/
10351
10352wpt_boolean
10353WDI_IsSelfSTA
10354(
10355 void* pWDICtx,
10356 wpt_uint8 ucSTAIdx
10357);
10358
10359
Jeff Johnson295189b2012-06-20 16:38:30 -070010360#ifdef WLAN_FEATURE_VOWIFI_11R
10361/**
10362 @brief WDI_AggrAddTSReq will be called when the upper MAC to inform
10363 the device of a successful add TSpec negotiation for 11r. HW
10364 needs to receive the TSpec Info from the UMAC in order
10365 to configure properly the QoS data traffic. Upon the
10366 call of this API the WLAN DAL will pack and send a HAL
10367 Aggregated Add TS request message to the lower RIVA sub-system if
10368 DAL is in state STARTED.
10369
10370 In state BUSY this request will be queued. Request won't
10371 be allowed in any other state.
10372
10373 WDI_PostAssocReq must have been called.
10374
10375 @param wdiAggrAddTsReqParams: the add TS parameters as specified by
10376 the Device Interface
10377
10378 wdiAggrAddTsRspCb: callback for passing back the response of
10379 the add TS operation received from the device
10380
10381 pUserData: user data will be passed back with the
10382 callback
10383
10384 @see WDI_PostAssocReq
10385 @return Result of the function call
10386*/
10387WDI_Status
10388WDI_AggrAddTSReq
10389(
10390 WDI_AggrAddTSReqParamsType* pwdiAddTsReqParams,
10391 WDI_AggrAddTsRspCb wdiAggrAddTsRspCb,
10392 void* pUserData
10393);
10394#endif /* WLAN_FEATURE_VOWIFI_11R */
10395/**
10396 @brief WDI_STATableInit - Initializes the STA tables.
10397 Allocates the necesary memory.
10398
10399
10400 @param pWDICtx: pointer to the WLAN DAL context
10401
10402 @see
10403 @return Result of the function call
10404*/
10405
10406WDI_Status WDI_StubRunTest
10407(
10408 wpt_uint8 ucTestNo
10409);
10410
Jeff Johnson295189b2012-06-20 16:38:30 -070010411/**
10412 @brief WDI_FTMCommandReq -
10413 Route FTMRequest Command to HAL
10414
10415 @param ftmCommandReq: FTM request command body
10416 @param ftmCommandRspCb: Response CB
10417 @param pUserData: User data will be included with CB
10418
10419 @return Result of the function call
10420*/
10421WDI_Status WDI_FTMCommandReq
10422(
10423 WDI_FTMCommandReqType *ftmCommandReq,
10424 WDI_FTMCommandRspCb ftmCommandRspCb,
10425 void *pUserData
10426);
Jeff Johnson295189b2012-06-20 16:38:30 -070010427
10428/**
10429 @brief WDI_HostResumeReq will be called
10430
10431 In state BUSY this request will be queued. Request won't
10432 be allowed in any other state.
10433
10434
10435 @param pwdiResumeReqParams: as specified by
10436 the Device Interface
10437
10438 wdiResumeReqRspCb: callback for passing back the response of
10439 the Resume Req received from the device
10440
10441 pUserData: user data will be passed back with the
10442 callback
10443
10444 @see WDI_PostAssocReq
10445 @return Result of the function call
10446*/
10447WDI_Status
10448WDI_HostResumeReq
10449(
10450 WDI_ResumeParamsType* pwdiResumeReqParams,
10451 WDI_HostResumeEventRspCb wdiResumeReqRspCb,
10452 void* pUserData
10453);
10454
10455/**
10456 @brief WDI_GetAvailableResCount - Function to get the available resource
10457 for data and managemnt frames.
10458
10459 @param pContext: pointer to the WDI context
10460 @param wdiResPool: type of resource pool requesting
10461 @see
10462 @return Result of the function call
10463*/
10464
10465wpt_uint32 WDI_GetAvailableResCount
10466(
10467 void *pContext,
10468 WDI_ResPoolType wdiResPool
10469);
10470
10471/**
10472 @brief WDI_SetAddSTASelfReq will be called when the
10473 UMAC wanted to add self STA while opening any new session
10474 In state BUSY this request will be queued. Request won't
10475 be allowed in any other state.
10476
10477
10478 @param pwdiAddSTASelfParams: the add self sta parameters as
10479 specified by the Device Interface
10480
10481 pUserData: user data will be passed back with the
10482 callback
10483
10484 @see
10485 @return Result of the function call
10486*/
10487WDI_Status
10488WDI_AddSTASelfReq
10489(
10490 WDI_AddSTASelfReqParamsType* pwdiAddSTASelfReqParams,
10491 WDI_AddSTASelfParamsRspCb wdiAddSTASelfReqParamsRspCb,
10492 void* pUserData
10493);
10494
10495
10496/**
10497 @brief WDI_DelSTASelfReq will be called .
10498
10499 @param WDI_DelSTASelfReqParamsType
10500
10501 WDI_DelSTASelfRspCb: callback for passing back the
10502 response of the del sta self operation received from the
10503 device
10504
10505 pUserData: user data will be passed back with the
10506 callback
10507
10508 @see WDI_PostAssocReq
10509 @return Result of the function call
10510*/
10511WDI_Status
10512WDI_DelSTASelfReq
10513(
10514 WDI_DelSTASelfReqParamsType* pwdiDelStaSelfParams,
10515 WDI_DelSTASelfRspCb wdiDelStaSelfRspCb,
10516 void* pUserData
10517);
10518
10519/**
10520 @brief WDI_HostSuspendInd
10521
10522 Suspend Indication from the upper layer will be sent
10523 down to HAL
10524
10525 @param WDI_SuspendParamsType
10526
10527 @see
10528
10529 @return Status of the request
10530*/
10531WDI_Status
10532WDI_HostSuspendInd
10533(
10534 WDI_SuspendParamsType* pwdiSuspendIndParams
10535);
10536
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -080010537/**
10538 @brief WDI_TrafficStatsInd
10539
10540 Traffic Stats from the upper layer will be sent
10541 down to HAL
10542
10543 @param WDI_TrafficStatsIndType
10544
10545 @see
10546
10547 @return Status of the request
10548*/
10549WDI_Status
10550WDI_TrafficStatsInd
10551(
10552 WDI_TrafficStatsIndType *pWdiTrafficStatsIndParams
10553);
10554
Chet Lanctot186b5732013-03-18 10:26:30 -070010555#ifdef WLAN_FEATURE_11W
10556/**
10557 @brief WDI_ExcludeUnencryptedInd
10558 Register with HAL to receive/drop unencrypted frames
10559
10560 @param WDI_ExcludeUnencryptIndType
10561
10562 @see
10563
10564 @return Status of the request
10565*/
10566WDI_Status
10567WDI_ExcludeUnencryptedInd
10568(
10569 WDI_ExcludeUnencryptIndType *pWdiExcUnencParams
10570);
10571#endif
10572
Yue Mab9c86f42013-08-14 15:59:08 -070010573/**
10574 @brief WDI_AddPeriodicTxPtrnInd
10575
10576 @param WDI_AddPeriodicTxPtrnParamsType
10577
10578 @see
10579
10580 @return Status of the request
10581*/
10582WDI_Status
10583WDI_AddPeriodicTxPtrnInd
10584(
10585 WDI_AddPeriodicTxPtrnParamsType *addPeriodicTxPtrnParams
10586);
10587
10588/**
10589 @brief WDI_DelPeriodicTxPtrnInd
10590
10591 @param WDI_DelPeriodicTxPtrnParamsType
10592
10593 @see
10594
10595 @return Status of the request
10596*/
10597WDI_Status
10598WDI_DelPeriodicTxPtrnInd
10599(
10600 WDI_DelPeriodicTxPtrnParamsType *delPeriodicTxPtrnParams
10601);
10602
Jeff Johnson295189b2012-06-20 16:38:30 -070010603#ifdef FEATURE_WLAN_SCAN_PNO
10604/**
10605 @brief WDI_SetPreferredNetworkList
10606
10607 @param pwdiPNOScanReqParams: the Set PNO as specified
10608 by the Device Interface
10609
10610 wdiPNOScanCb: callback for passing back the response
10611 of the Set PNO operation received from the
10612 device
10613
10614 pUserData: user data will be passed back with the
10615 callback
10616
10617 @see WDI_PostAssocReq
10618 @return Result of the function call
10619*/
10620WDI_Status
10621WDI_SetPreferredNetworkReq
10622(
10623 WDI_PNOScanReqParamsType* pwdiPNOScanReqParams,
10624 WDI_PNOScanCb wdiPNOScanCb,
10625 void* pUserData
10626);
10627
10628/**
10629 @brief WDI_SetRssiFilterReq
10630
10631 @param pwdiRssiFilterReqParams: the Set RSSI Filter as
10632 specified by the Device Interface
10633
10634 wdiRssiFilterCb: callback for passing back the response
10635 of the Set RSSI Filter operation received from the
10636 device
10637
10638 pUserData: user data will be passed back with the
10639 callback
10640
10641 @see WDI_PostAssocReq
10642 @return Result of the function call
10643*/
10644WDI_Status
10645WDI_SetRssiFilterReq
10646(
10647 WDI_SetRssiFilterReqParamsType* pwdiRssiFilterReqParams,
10648 WDI_RssiFilterCb wdiRssiFilterCb,
10649 void* pUserData
10650);
10651
10652/**
10653 @brief WDI_UpdateScanParams
10654
10655 @param pwdiUpdateScanParamsInfoType: the Update Scan Params as specified
10656 by the Device Interface
10657
10658 wdiUpdateScanParamsCb: callback for passing back the response
10659 of the Set PNO operation received from the
10660 device
10661
10662 pUserData: user data will be passed back with the
10663 callback
10664
10665 @see WDI_PostAssocReq
10666 @return Result of the function call
10667*/
10668WDI_Status
10669WDI_UpdateScanParamsReq
10670(
10671 WDI_UpdateScanParamsInfoType* pwdiUpdateScanParamsInfoType,
10672 WDI_UpdateScanParamsCb wdiUpdateScanParamsCb,
10673 void* pUserData
10674);
10675#endif // FEATURE_WLAN_SCAN_PNO
10676
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010677#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
10678/**
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010679 @brief WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010680
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010681 @param pwdiRoamScanOffloadReqParams: Start Roam Candidate Lookup Req as specified
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010682 by the Device Interface
10683
10684 wdiRoamOffloadScanCb: callback for passing back the response
10685 of the Start Roam Candidate Lookup operation received from the
10686 device
10687
10688 pUserData: user data will be passed back with the
10689 callback
10690
10691 @return Result of the function call
10692*/
10693WDI_Status
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010694WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010695(
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010696 WDI_RoamScanOffloadReqParamsType *pwdiRoamScanOffloadReqParams,
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010697 WDI_RoamOffloadScanCb wdiRoamOffloadScancb,
10698 void* pUserData
10699);
10700#endif
10701
Jeff Johnson295189b2012-06-20 16:38:30 -070010702/**
10703 @brief WDI_SetTxPerTrackingReq will be called when the upper MAC
10704 wants to set the Tx Per Tracking configurations.
10705 Upon the call of this API the WLAN DAL will pack
10706 and send a HAL Set Tx Per Tracking request message to the
10707 lower RIVA sub-system if DAL is in state STARTED.
10708
10709 In state BUSY this request will be queued. Request won't
10710 be allowed in any other state.
10711
10712 @param wdiSetTxPerTrackingConf: the Set Tx PER Tracking configurations as
10713 specified by the Device Interface
10714
10715 wdiSetTxPerTrackingCb: callback for passing back the
10716 response of the set Tx PER Tracking configurations operation received
10717 from the device
10718
10719 pUserData: user data will be passed back with the
10720 callback
10721
10722 @return Result of the function call
10723*/
10724WDI_Status
10725WDI_SetTxPerTrackingReq
10726(
10727 WDI_SetTxPerTrackingReqParamsType* pwdiSetTxPerTrackingReqParams,
10728 WDI_SetTxPerTrackingRspCb pwdiSetTxPerTrackingRspCb,
10729 void* pUserData
10730);
10731
10732/**
10733 @brief WDI_SetTmLevelReq
10734 If HW Thermal condition changed, driver should react based on new
10735 HW thermal condition.
10736
10737 @param pwdiSetTmLevelReq: New thermal condition information
10738
10739 pwdiSetTmLevelRspCb: callback
10740
10741 usrData: user data will be passed back with the
10742 callback
10743
10744 @return Result of the function call
10745*/
10746WDI_Status
10747WDI_SetTmLevelReq
10748(
10749 WDI_SetTmLevelReqType *pwdiSetTmLevelReq,
10750 WDI_SetTmLevelCb pwdiSetTmLevelRspCb,
10751 void *usrData
10752);
10753
10754#ifdef WLAN_FEATURE_PACKET_FILTERING
10755/**
10756 @brief WDI_8023MulticastListReq
10757
10758 @param pwdiRcvFltPktSetMcListReqInfo: the Set 8023 Multicast
10759 List as specified by the Device Interface
10760
10761 wdi8023MulticastListCallback: callback for passing back
10762 the response of the Set 8023 Multicast List operation
10763 received from the device
10764
10765 pUserData: user data will be passed back with the
10766 callback
10767
10768 @see WDI_PostAssocReq
10769 @return Result of the function call
10770*/
10771WDI_Status
10772WDI_8023MulticastListReq
10773(
10774 WDI_RcvFltPktSetMcListReqParamsType* pwdiRcvFltPktSetMcListReqInfo,
10775 WDI_8023MulticastListCb wdi8023MulticastListCallback,
10776 void* pUserData
10777);
10778
10779/**
10780 @brief WDI_ReceiveFilterSetFilterReq
10781
10782 @param pwdiSetRcvPktFilterReqInfo: the Set Receive Filter as
10783 specified by the Device Interface
10784
10785 wdiReceiveFilterSetFilterReqCallback: callback for
10786 passing back the response of the Set Receive Filter
10787 operation received from the device
10788
10789 pUserData: user data will be passed back with the
10790 callback
10791
10792 @see WDI_PostAssocReq
10793 @return Result of the function call
10794*/
10795WDI_Status
10796WDI_ReceiveFilterSetFilterReq
10797(
10798 WDI_SetRcvPktFilterReqParamsType* pwdiSetRcvPktFilterReqInfo,
10799 WDI_ReceiveFilterSetFilterCb wdiReceiveFilterSetFilterReqCallback,
10800 void* pUserData
10801);
10802
10803/**
10804 @brief WDI_PCFilterMatchCountReq
10805
10806 @param pwdiRcvFltPktMatchCntReqInfo: get D0 PC Filter Match
10807 Count
10808
10809 wdiPCFilterMatchCountCallback: callback for passing back
10810 the response of the D0 PC Filter Match Count operation
10811 received from the device
10812
10813 pUserData: user data will be passed back with the
10814 callback
10815
10816 @see WDI_PostAssocReq
10817 @return Result of the function call
10818*/
10819WDI_Status
10820WDI_FilterMatchCountReq
10821(
10822 WDI_RcvFltPktMatchCntReqParamsType* pwdiRcvFltPktMatchCntReqInfo,
10823 WDI_FilterMatchCountCb wdiFilterMatchCountCallback,
10824 void* pUserData
10825);
10826
10827/**
10828 @brief WDI_ReceiveFilterClearFilterReq
10829
10830 @param pwdiRcvFltPktClearReqInfo: the Clear Filter as
10831 specified by the Device Interface
10832
10833 wdiReceiveFilterClearFilterCallback: callback for
10834 passing back the response of the Clear Filter
10835 operation received from the device
10836
10837 pUserData: user data will be passed back with the
10838 callback
10839
10840 @see WDI_PostAssocReq
10841 @return Result of the function call
10842*/
10843WDI_Status
10844WDI_ReceiveFilterClearFilterReq
10845(
10846 WDI_RcvFltPktClearReqParamsType* pwdiRcvFltPktClearReqInfo,
10847 WDI_ReceiveFilterClearFilterCb wdiReceiveFilterClearFilterCallback,
10848 void* pUserData
10849);
10850#endif // WLAN_FEATURE_PACKET_FILTERING
10851
10852/**
10853 @brief WDI_HALDumpCmdReq
10854 Post HAL DUMP Command Event
10855
10856 @param halDumpCmdReqParams: Hal Dump Command Body
10857 @param halDumpCmdRspCb: callback for passing back the
10858 response
10859 @param pUserData: Client Data
10860
10861 @see
10862 @return Result of the function call
10863*/
10864WDI_Status WDI_HALDumpCmdReq(
10865 WDI_HALDumpCmdReqParamsType *halDumpCmdReqParams,
10866 WDI_HALDumpCmdRspCb halDumpCmdRspCb,
10867 void *pUserData
10868);
10869
10870
10871/**
10872 @brief WDI_SetPowerParamsReq
10873
10874 @param pwdiPowerParamsReqParams: the Set Power Params as
10875 specified by the Device Interface
10876
10877 wdiPowerParamsCb: callback for passing back the response
10878 of the Set Power Params operation received from the
10879 device
10880
10881 pUserData: user data will be passed back with the
10882 callback
10883
10884 @return Result of the function call
10885*/
10886WDI_Status
10887WDI_SetPowerParamsReq
10888(
10889 WDI_SetPowerParamsReqParamsType* pwdiPowerParamsReqParams,
10890 WDI_SetPowerParamsCb wdiPowerParamsCb,
10891 void* pUserData
10892);
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +053010893/**
10894 @brief WDI_dhcpStartInd
10895 Forward the DHCP Start event
10896
10897 @param
10898
10899 wdiDHCPInd: device mode and MAC address is passed
10900
10901 @see
10902 @return Result of the function call
10903*/
10904
10905WDI_Status
10906WDI_dhcpStartInd
10907(
10908 WDI_DHCPInd *wdiDHCPInd
10909);
10910/**
10911 @brief WDI_dhcpStopReq
10912 Forward the DHCP Stop event
10913
10914 @param
10915
10916 wdiDHCPInd: device mode and MAC address is passed
10917
10918 @see
10919 @return Result of the function call
10920*/
10921
10922WDI_Status
10923WDI_dhcpStopInd
10924(
10925 WDI_DHCPInd *wdiDHCPInd
10926);
Jeff Johnson295189b2012-06-20 16:38:30 -070010927
Chittajit Mitraf5413a42013-10-18 14:20:08 -070010928/**
10929 @brief WDI_RateUpdateInd will be called when the upper MAC
10930 requests the device to update rates.
10931
10932 In state BUSY this request will be queued. Request won't
10933 be allowed in any other state.
10934
10935
10936 @param wdiRateUpdateIndParams
10937
10938
10939 @see WDI_Start
10940 @return Result of the function call
10941*/
10942WDI_Status
10943WDI_RateUpdateInd
10944(
10945 WDI_RateUpdateIndParams *wdiRateUpdateIndParams
10946);
10947
Jeff Johnson295189b2012-06-20 16:38:30 -070010948#ifdef WLAN_FEATURE_GTK_OFFLOAD
10949/**
10950 @brief WDI_GTKOffloadReq will be called when the upper MAC
10951 wants to set GTK Rekey Counter while in power save. Upon
10952 the call of this API the WLAN DAL will pack and send a
10953 HAL GTK offload request message to the lower RIVA
10954 sub-system if DAL is in state STARTED.
10955
10956 In state BUSY this request will be queued. Request won't
10957 be allowed in any other state.
10958
10959 WDI_PostAssocReq must have been called.
10960
10961 @param pwdiGtkOffloadParams: the GTK offload as specified
10962 by the Device Interface
10963
10964 wdiGtkOffloadCb: callback for passing back the response
10965 of the GTK offload operation received from the device
10966
10967 pUserData: user data will be passed back with the
10968 callback
10969
10970 @see WDI_PostAssocReq
10971 @return Result of the function call
10972*/
10973WDI_Status
10974WDI_GTKOffloadReq
10975(
10976 WDI_GtkOffloadReqMsg* pwdiGtkOffloadReqMsg,
10977 WDI_GtkOffloadCb wdiGtkOffloadCb,
10978 void* pUserData
10979);
10980
10981/**
10982 @brief WDI_GTKOffloadGetInfoReq will be called when the upper
10983 MAC wants to get GTK Rekey Counter while in power save.
10984 Upon the call of this API the WLAN DAL will pack and
10985 send a HAL GTK offload request message to the lower RIVA
10986 sub-system if DAL is in state STARTED.
10987
10988 In state BUSY this request will be queued. Request won't
10989 be allowed in any other state.
10990
10991 WDI_PostAssocReq must have been called.
10992
10993 @param pwdiGtkOffloadGetInfoReqMsg: the GTK Offload
10994 Information Message as specified by the
10995 Device Interface
10996
10997 wdiGtkOffloadGetInfoCb: callback for passing back the
10998 response of the GTK offload operation received from the
10999 device
11000
11001 pUserData: user data will be passed back with the
11002 callback
11003
11004 @see WDI_PostAssocReq
11005 @return Result of the function call
11006*/
11007WDI_Status
11008WDI_GTKOffloadGetInfoReq
11009(
11010 WDI_GtkOffloadGetInfoReqMsg* pwdiGtkOffloadGetInfoReqMsg,
11011 WDI_GtkOffloadGetInfoCb wdiGtkOffloadGetInfoCb,
11012 void* pUserData
11013);
11014#endif // WLAN_FEATURE_GTK_OFFLOAD
11015
11016/**
11017 @brief WDI_featureCapsExchangeReq
11018 Post feature capability bitmap exchange event.
11019 Host will send its own capability to FW in this req and
11020 expect FW to send its capability back as a bitmap in Response
11021
11022 @param
11023
11024 wdiFeatCapsExcRspCb: callback called on getting the response.
11025 It is kept to mantain similarity between WDI reqs and if needed, can
11026 be used in future. Currently, It is set to NULL
11027
11028 pUserData: user data will be passed back with the
11029 callback
11030
11031 @see
11032 @return Result of the function call
11033*/
11034WDI_Status
11035WDI_featureCapsExchangeReq
11036(
11037 WDI_featureCapsExchangeCb wdiFeatureCapsExchangeCb,
11038 void* pUserData
11039);
11040
11041/**
Yathish9f22e662012-12-10 14:21:35 -080011042 @brief Disable Active mode offload in Host
11043
11044 @param void
11045 @see
11046 @return void
11047*/
11048void
11049WDI_disableCapablityFeature(wpt_uint8 feature_index);
11050
11051
11052/**
Jeff Johnson295189b2012-06-20 16:38:30 -070011053 @brief WDI_getHostWlanFeatCaps
11054 WDI API that returns whether the feature passed to it as enum value in
11055 "placeHolderInCapBitmap" is supported by Host or not. It uses WDI global
11056 variable storing host capability bitmap to find this. This can be used by
11057 other moduels to decide certain things like call different APIs based on
11058 whether a particular feature is supported.
11059
11060 @param
11061
11062 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap in wlan_hal_msg.h.
11063
11064 @see
11065 @return
11066 0 - if the feature is NOT supported in host
11067 any non-zero value - if the feature is SUPPORTED in host.
11068*/
11069wpt_uint8 WDI_getHostWlanFeatCaps(wpt_uint8 feat_enum_value);
11070
11071/**
11072 @brief WDI_getFwWlanFeatCaps
11073 WDI API that returns whether the feature passed to it as enum value in
11074 "placeHolderInCapBitmap" is supported by FW or not. It uses WDI global
11075 variable storing host capability bitmap to find this. This can be used by
11076 other moduels to decide certain things like call different APIs based on
11077 whether a particular feature is supported.
11078
11079 @param
11080
Jeff Johnsone7245742012-09-05 17:12:55 -070011081 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap
11082 in wlan_hal_msg.h.
Jeff Johnson295189b2012-06-20 16:38:30 -070011083
11084 @see
11085 @return
11086 0 - if the feature is NOT supported in FW
11087 any non-zero value - if the feature is SUPPORTED in FW.
11088*/
11089wpt_uint8 WDI_getFwWlanFeatCaps(wpt_uint8 feat_enum_value);
11090
11091/**
11092 @brief WDI_GetWcnssCompiledApiVersion - Function to get wcnss compiled
11093 api version
11094
11095 @param WDI_WlanVersionType: Wlan version structure
11096 @see
11097 @return none
11098*/
11099
11100void WDI_GetWcnssCompiledApiVersion
11101(
11102 WDI_WlanVersionType *pWcnssApiVersion
11103);
11104
Mohit Khanna4a70d262012-09-11 16:30:12 -070011105#ifdef WLAN_FEATURE_11AC
11106WDI_Status
11107WDI_UpdateVHTOpModeReq
11108(
11109 WDI_UpdateVHTOpMode *pData,
11110 WDI_UpdateVHTOpModeCb wdiUpdateVHTOpModeCb,
11111 void* pUserData
11112);
Jeff Johnson295189b2012-06-20 16:38:30 -070011113
Mohit Khanna4a70d262012-09-11 16:30:12 -070011114#endif
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070011115
11116/**
11117 @brief WDI_TransportChannelDebug -
11118 Display DXE Channel debugging information
11119 User may request to display DXE channel snapshot
11120 Or if host driver detects any abnormal stcuk may display
11121
Jeff Johnsonb88db982012-12-10 13:34:59 -080011122 @param displaySnapshot : Display DXE snapshot option
Mihir Shete40a55652014-03-02 14:14:47 +053011123 @param debugFlags : Enable stall detect features
11124 defined by WPAL_DeviceDebugFlags
11125 These features may effect
11126 data performance.
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070011127 @see
11128 @return none
11129*/
11130void WDI_TransportChannelDebug
11131(
11132 wpt_boolean displaySnapshot,
Mihir Shete40a55652014-03-02 14:14:47 +053011133 wpt_uint8 debugFlags
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070011134);
11135
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -070011136/**
11137 @brief WDI_SsrTimerCB
11138 Callback function for SSR timer, if this is called then the graceful
11139 shutdown for Riva did not happen.
11140
11141 @param pUserData : user data to timer
11142
11143 @see
11144 @return none
11145*/
11146void
11147WDI_SsrTimerCB
11148(
11149 void *pUserData
11150);
11151
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -070011152/**
11153 @brief WDI_SetEnableSSR -
11154 This API is called to enable/disable SSR on WDI timeout.
11155
11156 @param enableSSR : enable/disable SSR
11157
11158 @see
11159 @return none
11160*/
11161void WDI_SetEnableSSR(wpt_boolean enableSSR);
11162
Leo Chang9056f462013-08-01 19:21:11 -070011163#ifdef FEATURE_WLAN_LPHB
11164/**
11165 @brief WDI_LPHBConfReq
11166 This API is called to config FW LPHB rule
11167
11168 @param lphbconfParam : LPHB rule should config to FW
11169 usrData : Client context
11170 lphbCfgCb : Configuration status callback
11171 @see
11172 @return SUCCESS or FAIL
11173*/
11174WDI_Status WDI_LPHBConfReq
11175(
11176 void *lphbconfParam,
11177 void *usrData,
11178 WDI_LphbCfgCb lphbCfgCb
11179);
11180#endif /* FEATURE_WLAN_LPHB */
Rajeev79dbe4c2013-10-05 11:03:42 +053011181
Dino Mycle41bdc942014-06-10 11:30:24 +053011182#ifdef WLAN_FEATURE_EXTSCAN
11183/**
11184 @brief WDI_EXTScanStartReq
11185 This API is called to send EXTScan start request to FW
11186
11187 @param pwdiEXTScanStartReqParams : pointer to the request params.
11188 wdiEXTScanStartRspCb : callback on getting the response.
11189 usrData : Client context
11190 @see
11191 @return SUCCESS or FAIL
11192*/
11193WDI_Status WDI_EXTScanStartReq
11194(
11195 WDI_EXTScanStartReqParams* pwdiEXTScanStartReqParams,
11196 WDI_EXTScanStartRspCb wdiEXTScanStartRspCb,
11197 void* pUserData
11198);
11199
11200/**
11201 @brief WDI_EXTScanStopReq
11202 This API is called to stop the EXTScan operations in the FW
11203
11204 @param pwdiEXTScanStopReqParams : pointer to the request params.
11205 wdiEXTScanStopRspCb : callback on getting the response.
11206 usrData : Client context
11207 @see
11208 @return SUCCESS or FAIL
11209*/
11210WDI_Status WDI_EXTScanStopReq
11211(
11212 WDI_EXTScanStopReqParams* pwdiEXTScanStopReqParams,
11213 WDI_EXTScanStopRspCb wdiEXTScanStopRspCb,
11214 void* pUserData
11215);
11216
11217/**
11218 @brief WDI_EXTScanGetCachedResultsReq
11219 This API is called to send get link layer stats request in FW
11220
11221 @param pwdiEXTScanGetCachedResultsReqParams : pointer to the request params.
11222 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
11223 usrData : Client context
11224 @see
11225 @return SUCCESS or FAIL
11226*/
11227WDI_Status WDI_EXTScanGetCachedResultsReq
11228(
11229 WDI_EXTScanGetCachedResultsReqParams* pwdiEXTScanGetCachedResultsReqParams,
11230 WDI_EXTScanGetCachedResultsRspCb wdiEXTScanGetCachedResultsRspCb,
11231 void* pUserData
11232);
11233
11234/**
11235 @brief WDI_EXTScanGetCapabilitiesReq
11236 This API is called to send get EXTScan capabilities from FW
11237
11238 @param pwdiEXTScanGetCachedResultsReqParams : pointer to the request params.
11239 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
11240 usrData : Client context
11241 @see
11242 @return SUCCESS or FAIL
11243*/
11244WDI_Status WDI_EXTScanGetCapabilitiesReq
11245(
11246 WDI_EXTScanGetCapabilitiesReqParams* pwdiEXTScanGetCapabilitiesReqParams,
11247 WDI_EXTScanGetCapabilitiesRspCb wdiEXTScanGetCapabilitiesRspCb,
11248 void* pUserData
11249);
11250
11251/**
11252 @brief WDI_EXTScanSetBSSIDHotlistReq
11253 This API is called to send Set BSSID Hotlist Request FW
11254
11255 @param pwdiEXTScanSetBssidHotlistReqParams : pointer to the request params.
11256 wdiEXTScanSetBSSIDHotlistRspCb : callback on getting the response.
11257 usrData : Client context
11258 @see
11259 @return SUCCESS or FAIL
11260*/
11261WDI_Status WDI_EXTScanSetBSSIDHotlistReq
11262(
11263 WDI_EXTScanSetBSSIDHotlistReqParams* pwdiEXTScanSetBSSIDHotlistReqParams,
11264 WDI_EXTScanSetBSSIDHotlistRspCb wdiEXTScanSetBSSIDHotlistRspCb,
11265 void* pUserData
11266);
11267
11268/**
11269 @brief WDI_EXTScanResetBSSIDHotlistReq
11270 This API is called to send Reset BSSID Hotlist Request FW
11271
11272 @param pwdiEXTScanResetBssidHotlistReqParams : pointer to the request params.
11273 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
11274 usrData : Client context
11275 @see
11276 @return SUCCESS or FAIL
11277*/
11278WDI_Status WDI_EXTScanResetBSSIDHotlistReq
11279(
11280 WDI_EXTScanResetBSSIDHotlistReqParams* pwdiEXTScanResetBSSIDHotlistReqParams,
11281 WDI_EXTScanResetBSSIDHotlistRspCb wdiEXTScanResetBSSIDHotlistRspCb,
11282 void* pUserData
11283);
11284
11285/**
11286 @brief WDI_EXTScanSetSignfRSSIChangeReq
11287 This API is called to send Set Significant RSSI Request FW
11288
11289 @param pwdiEXTScanSetSignfRSSIChangeReqParams : pointer to the request params.
11290 wdiEXTScanSetSignfRSSIChangeRspCb : callback on getting the response.
11291 usrData : Client context
11292 @see
11293 @return SUCCESS or FAIL
11294*/
11295WDI_Status WDI_EXTScanSetSignfRSSIChangeReq
11296(
11297 WDI_EXTScanSetSignfRSSIChangeReqParams*
11298 pwdiEXTScanSetSignfRSSIChangeReqParams,
11299 WDI_EXTScanSetSignfRSSIChangeRspCb wdiEXTScanSetSignfRSSIChangeRspCb,
11300 void* pUserData
11301);
11302
11303/**
11304 @brief WDI_EXTScanResetSignfRSSIChangeReq
11305 This API is called to send Reset BSSID Hotlist Request FW
11306
11307 @param pwdiEXTScanResetSignfRSSIChangeReqParams : pointer to the request params.
11308 wdiEXTScanResetSignfRSSIChangeRs : callback on getting the response.
11309 usrData : Client context
11310 @see
11311 @return SUCCESS or FAIL
11312*/
11313WDI_Status WDI_EXTScanResetSignfRSSIChangeReq
11314(
11315 WDI_EXTScanResetSignfRSSIChangeReqParams*
11316 pwdiEXTScanResetSignfRSSIChangeReqParams,
11317 WDI_EXTScanResetSignfRSSIChangeRspCb wdiEXTScanResetSignfRSSIChangeRspCb,
11318 void* pUserData
11319);
11320#endif /* WLAN_FEATURE_EXTSCAN */
11321
Sunil Duttbd736ed2014-05-26 21:19:41 +053011322#ifdef WLAN_FEATURE_LINK_LAYER_STATS
11323/**
11324 @brief WDI_LLStatsSetReq
11325 This API is called to send set link layer stats request to FW
11326
11327 @param pwdiLLStatsSetReqParams : pointer to set link layer stats params
11328 wdiLLStatsSetRspCb : set link layer stats response callback
11329 usrData : Client context
11330 @see
11331 @return SUCCESS or FAIL
11332*/
11333WDI_Status WDI_LLStatsSetReq
11334(
11335 WDI_LLStatsSetReqType* pwdiLLStatsSetReqParams,
11336 WDI_LLStatsSetRspCb wdiLLStatsSetRspCb,
11337 void* pUserData
11338);
11339
11340/**
11341 @brief WDI_LLStatsGetReq
11342 This API is called to send get link layer stats request in FW
11343
11344 @param pwdiLLStatsGetParams : pointer to get link layer stats params
11345 wdiLLStatsGetRspCb : get link layer stats response callback
11346 usrData : Client context
11347 @see
11348 @return SUCCESS or FAIL
11349*/
11350WDI_Status WDI_LLStatsGetReq
11351(
11352 WDI_LLStatsGetReqType* pwdiLLStatsGetReqParams,
11353 WDI_LLStatsGetRspCb wdiLLStatsGetRspCb,
11354 void* pUserData
11355);
11356
11357/**
11358 @brief WDI_LLStatsClearReq
11359 This API is called to set clear link layer stats request in FW
11360
11361 @param pwdiLLStatsClearReqParams : pointer to clear link layer stats params
11362 iwdiLLStatsClearRspCb : clear link layer stats response callback
11363 usrData : Client context
11364 @see
11365 @return SUCCESS or FAIL
11366*/
11367WDI_Status WDI_LLStatsClearReq
11368(
11369 WDI_LLStatsClearReqType* pwdiLLStatsClearReqParams,
11370 WDI_LLStatsClearRspCb wdiLLStatsClearRspCb,
11371 void* pUserData
11372);
11373#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
11374
Abhishek Singh85b74712014-10-08 11:38:19 +053011375WDI_Status WDI_FWStatsGetReq
11376(
11377 void* pwdiFWStatsGetReqParams,
11378 WDI_FWStatsGetRspCb wdiFWStatsGetRspCb,
11379 wpt_uint32 pUserData
11380);
11381
Katya Nigamf0511f62015-05-05 16:40:57 +053011382WDI_Status WDI_MonStartReq
11383(
11384 WDI_MonStartReqType* pwdiMonStartReqParams,
11385 WDI_MonStartRspCb wdiMonStartRspCb,
11386 void* pUserData
11387);
11388
11389WDI_Status WDI_MonStopReq
11390(
11391 WDI_MonStopRspCb wdiMonStopRspCb,
11392 void* pUserData
11393);
11394
Rajeev79dbe4c2013-10-05 11:03:42 +053011395#ifdef FEATURE_WLAN_BATCH_SCAN
11396/**
11397 @brief WDI_SetBatchScanReq
11398 This API is called to set batch scan request in FW
11399
11400 @param pBatchScanReqParam : pointer to set batch scan re param
11401 usrData : Client context
11402 setBatchScanRspCb : set batch scan resp callback
11403 @see
11404 @return SUCCESS or FAIL
11405*/
11406WDI_Status WDI_SetBatchScanReq
11407(
11408 void *pBatchScanReqParam,
11409 void *usrData,
11410 WDI_SetBatchScanCb setBatchScanRspCb
11411);
11412
11413/**
11414 @brief WDI_StopBatchScanInd
11415
11416 @param none
11417
11418 @see
11419
11420 @return Status of the request
11421*/
11422WDI_Status
11423WDI_StopBatchScanInd(WDI_StopBatchScanIndType *pWdiReq);
11424
11425/**
11426 @brief WDI_TriggerBatchScanResultInd
11427 This API is called to pull batch scan result from FW
11428
11429 @param pBatchScanReqParam : pointer to trigger batch scan ind param
11430 usrData : Client context
11431 setBatchScanRspCb : get batch scan resp callback
11432 @see
11433 @return SUCCESS or FAIL
11434*/
11435WDI_Status
11436WDI_TriggerBatchScanResultInd(WDI_TriggerBatchScanResultIndType *pWdiReq);
11437
11438
11439#endif /*FEATURE_WLAN_BATCH_SCAN*/
11440
Sandeep Puligilla8b8b74b2014-02-10 16:39:05 +053011441/**
11442 @brief wdi_HT40OBSSScanInd
11443 This API is called to start OBSS scan
11444
11445 @param pWdiReq : pointer to get ind param
11446 @see
11447 @return SUCCESS or FAIL
11448*/
11449
11450WDI_Status WDI_HT40OBSSScanInd(WDI_HT40ObssScanParamsType *pWdiReq);
11451
11452/**
11453 @brief wdi_HT40OBSSStopScanInd
11454 This API is called to stop OBSS scan
11455
11456 @param bssIdx : bssIdx to stop
11457 @see
11458 @return SUCCESS or FAIL
11459*/
11460
11461WDI_Status WDI_HT40OBSSStopScanInd(wpt_uint8 bssIdx);
11462
c_hpothu92367912014-05-01 15:18:17 +053011463
11464WDI_Status WDI_GetBcnMissRate( void *pUserData,
11465 WDI_GetBcnMissRateCb wdiGetBcnMissRateCb,
11466 wpt_uint8 *bssid
11467 );
Siddharth Bhal171788a2014-09-29 21:02:40 +053011468WDI_Status
11469WDI_SetSpoofMacAddrReq
11470(
11471WDI_SpoofMacAddrInfoType *pWdiReq,
11472 WDI_SetSpoofMacAddrRspCb setSpoofMacAddrRspCb,
11473 void* pUserData
11474);
c_hpothu92367912014-05-01 15:18:17 +053011475
Srinivas Dasari4dae48f2014-11-26 21:14:16 +053011476WDI_Status
11477WDI_EncryptMsgReq(void* pwdiEncryptMsgParams,
11478 WDI_EncryptMsgRspCb wdiEncryptMsgCbRsp,
11479 void* pUserData
11480 );
Srinivas Dasari32a79262015-02-19 13:04:49 +053011481
11482/**
11483 @brief WDI_NanRequest
11484 NAN request
11485
11486 @param pwdiNanRequest: data
11487
11488 pwdiNanCb: callback
11489
11490 usrData: user data will be passed back with the
11491 callback
11492
11493 @return Result of the function call
11494*/
11495WDI_Status
11496WDI_NanRequest
11497(
11498 WDI_NanRequestType *pwdiNanRequest,
11499 void *usrData
11500);
11501
Abhishek Singh41988ba2015-05-25 19:42:29 +053011502/**
11503 @brief WDI_SetRtsCtsHTVhtInd
11504 Set RTS/CTS indication for diff modes.
11505
11506 @param rtsCtsVal: Bit mask value to enable RTS/CTS for different modes
11507
11508 @return Result of the function call
11509*/
11510
11511WDI_Status
11512WDI_SetRtsCtsHTVhtInd
11513(
11514 wpt_uint32 rtsCtsVal
11515);
Srinivas Dasari32a79262015-02-19 13:04:49 +053011516
Mihir Shete5affadc2015-05-29 20:54:57 +053011517WDI_Status
11518WDI_FWLoggingDXEdoneInd
11519(
11520 WDI_FWLoggingDXEdoneIndInfoType* pwdiFWLoggingDXEdoneInd
11521);
Srinivas Dasari32a79262015-02-19 13:04:49 +053011522
Jeff Johnson295189b2012-06-20 16:38:30 -070011523#ifdef __cplusplus
11524 }
11525#endif
11526
Jeff Johnson295189b2012-06-20 16:38:30 -070011527#endif /* #ifndef WLAN_QCT_WDI_H */