blob: d6618cee7baa92df83597bbb9a21d9f589a78e1d [file] [log] [blame]
Jeff Johnson295189b2012-06-20 16:38:30 -07001/*
Padma, Santhosh Kumar5d2f76b2016-01-11 18:42:20 +05302 * Copyright (c) 2012-2016 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
Karthick Sa6616c32015-07-22 14:49:02 +0530156#define VALID_FW_LOG_TYPES 2
Karthick Sed59a282015-08-10 14:52:16 +0530157#define MAX_LOG_BUFFER_LENGTH 128 * 1024
Yue Mab9c86f42013-08-14 15:59:08 -0700158
Jeff Johnson295189b2012-06-20 16:38:30 -0700159/*============================================================================
160 * GENERIC STRUCTURES
161
162============================================================================*/
163
164/*---------------------------------------------------------------------------
165 WDI Version Information
166---------------------------------------------------------------------------*/
167typedef struct
168{
169 wpt_uint8 revision;
170 wpt_uint8 version;
171 wpt_uint8 minor;
172 wpt_uint8 major;
173} WDI_WlanVersionType;
174
175/*---------------------------------------------------------------------------
176 WDI Device Capability
177---------------------------------------------------------------------------*/
178typedef struct
179{
180 /*If this flag is true it means that the device can support 802.3/ETH2 to
181 802.11 translation*/
182 wpt_boolean bFrameXtlSupported;
183
184 /*Maximum number of BSSes supported by the Device */
185 wpt_uint8 ucMaxBSSSupported;
186
187 /*Maximum number of stations supported by the Device */
188 wpt_uint8 ucMaxSTASupported;
189}WDI_DeviceCapabilityType;
190
191/*---------------------------------------------------------------------------
192 WDI Channel Offset
193---------------------------------------------------------------------------*/
194typedef enum
195{
196 WDI_SECONDARY_CHANNEL_OFFSET_NONE = 0,
197 WDI_SECONDARY_CHANNEL_OFFSET_UP = 1,
Jeff Johnsone7245742012-09-05 17:12:55 -0700198 WDI_SECONDARY_CHANNEL_OFFSET_DOWN = 3,
199#ifdef WLAN_FEATURE_11AC
200 WDI_CHANNEL_20MHZ_LOW_40MHZ_CENTERED = 4, //20/40MHZ offset LOW 40/80MHZ offset CENTERED
201 WDI_CHANNEL_20MHZ_CENTERED_40MHZ_CENTERED = 5, //20/40MHZ offset CENTERED 40/80MHZ offset CENTERED
202 WDI_CHANNEL_20MHZ_HIGH_40MHZ_CENTERED = 6, //20/40MHZ offset HIGH 40/80MHZ offset CENTERED
203 WDI_CHANNEL_20MHZ_LOW_40MHZ_LOW = 7,//20/40MHZ offset LOW 40/80MHZ offset LOW
204 WDI_CHANNEL_20MHZ_HIGH_40MHZ_LOW = 8, //20/40MHZ offset HIGH 40/80MHZ offset LOW
205 WDI_CHANNEL_20MHZ_LOW_40MHZ_HIGH = 9, //20/40MHZ offset LOW 40/80MHZ offset HIGH
206 WDI_CHANNEL_20MHZ_HIGH_40MHZ_HIGH = 10,//20/40MHZ offset-HIGH 40/80MHZ offset HIGH
207#endif
208 WDI_SECONDARY_CHANNEL_OFFSET_MAX
Jeff Johnson295189b2012-06-20 16:38:30 -0700209}WDI_HTSecondaryChannelOffset;
210
211/*---------------------------------------------------------------------------
212 WDI_MacFrameCtl
213 Frame control field format (2 bytes)
214---------------------------------------------------------------------------*/
215typedef struct
216{
217 wpt_uint8 protVer :2;
218 wpt_uint8 type :2;
219 wpt_uint8 subType :4;
220
221 wpt_uint8 toDS :1;
222 wpt_uint8 fromDS :1;
223 wpt_uint8 moreFrag :1;
224 wpt_uint8 retry :1;
225 wpt_uint8 powerMgmt :1;
226 wpt_uint8 moreData :1;
227 wpt_uint8 wep :1;
228 wpt_uint8 order :1;
229
230} WDI_MacFrameCtl;
231
232/*---------------------------------------------------------------------------
233 WDI Sequence control field
234---------------------------------------------------------------------------*/
235typedef struct
236{
237 wpt_uint8 fragNum : 4;
238 wpt_uint8 seqNumLo : 4;
239 wpt_uint8 seqNumHi : 8;
240} WDI_MacSeqCtl;
241
242/*---------------------------------------------------------------------------
243 Management header format
244---------------------------------------------------------------------------*/
245typedef struct
246{
247 WDI_MacFrameCtl fc;
248 wpt_uint8 durationLo;
249 wpt_uint8 durationHi;
250 wpt_uint8 da[WDI_MAC_ADDR_LEN];
251 wpt_uint8 sa[WDI_MAC_ADDR_LEN];
252 wpt_macAddr bssId;
253 WDI_MacSeqCtl seqControl;
254} WDI_MacMgmtHdr;
255
256/*---------------------------------------------------------------------------
257 NV Blob management sturcture
258 ---------------------------------------------------------------------------*/
259
260typedef struct
261{
262 /* NV image fragments count */
263 wpt_uint16 usTotalFragment;
264
265 /* NV fragment size */
266 wpt_uint16 usFragmentSize;
267
268 /* current fragment to be sent */
269 wpt_uint16 usCurrentFragment;
270
271} WDI_NvBlobInfoParams;
272
273
274/*---------------------------------------------------------------------------
275 Data path enums memory pool resource
276 ---------------------------------------------------------------------------*/
277
278typedef enum
279{
280 /* managment resource pool ID */
281 WDI_MGMT_POOL_ID = 0,
282 /* Data resource pool ID */
283 WDI_DATA_POOL_ID = 1
284}WDI_ResPoolType;
285
286/*============================================================================
287 * GENERIC STRUCTURES - END
288 ============================================================================*/
289
290/*----------------------------------------------------------------------------
291 * Type Declarations
292 * -------------------------------------------------------------------------*/
293/*---------------------------------------------------------------------------
294 WDI Status
295---------------------------------------------------------------------------*/
296typedef enum
297{
298 WDI_STATUS_SUCCESS, /* Operation has completed successfully*/
299 WDI_STATUS_SUCCESS_SYNC, /* Operation has completed successfully in a
300 synchronous way - no rsp will be generated*/
301 WDI_STATUS_PENDING, /* Operation result is pending and will be
302 provided asynchronously through the Req Status
303 Callback */
304 WDI_STATUS_E_FAILURE, /* Operation has ended in a generic failure*/
305 WDI_STATUS_RES_FAILURE, /* Operation has ended in a resource failure*/
306 WDI_STATUS_MEM_FAILURE, /* Operation has ended in a memory allocation
307 failure*/
308 WDI_STATUS_E_NOT_ALLOWED, /* Operation is not allowed in the current state
309 of the driver*/
310 WDI_STATUS_E_NOT_IMPLEMENT, /* Operation is not yet implemented*/
311
312 WDI_STATUS_DEV_INTERNAL_FAILURE, /*An internal error has occurred in the device*/
313 WDI_STATUS_MAX
314
315}WDI_Status;
316
317
318/*---------------------------------------------------------------------------
319 WDI_ReqStatusCb
320
321 DESCRIPTION
322
323 This callback is invoked by DAL to deliver to UMAC the result of posting
324 a previous request for which the return status was PENDING.
325
326 PARAMETERS
327
328 IN
329 wdiStatus: response status received from the Control Transport
330 pUserData: user data
331
332
333
334 RETURN VALUE
335 The result code associated with performing the operation
336---------------------------------------------------------------------------*/
337typedef void (*WDI_ReqStatusCb)(WDI_Status wdiStatus,
338 void* pUserData);
339
340/*---------------------------------------------------------------------------
341 WDI_LowLevelIndEnumType
342 Types of indication that can be posted to UMAC by DAL
343---------------------------------------------------------------------------*/
344typedef enum
345{
346 /*When RSSI monitoring is enabled of the Lower MAC and a threshold has been
347 passed. */
348 WDI_RSSI_NOTIFICATION_IND,
349
350 /*Link loss in the low MAC */
351 WDI_MISSED_BEACON_IND,
352
353 /*when hardware has signaled an unknown addr2 frames. The indication will
354 contain info from frames to be passed to the UMAC, this may use this info to
355 deauth the STA*/
356 WDI_UNKNOWN_ADDR2_FRAME_RX_IND,
357
358 /*MIC Failure detected by HW*/
359 WDI_MIC_FAILURE_IND,
360
361 /*Fatal Error Ind*/
362 WDI_FATAL_ERROR_IND,
363
364 /*Delete Station Ind*/
365 WDI_DEL_STA_IND,
366
367 /*Indication from Coex*/
368 WDI_COEX_IND,
369
370 /* Indication for Tx Complete */
371 WDI_TX_COMPLETE_IND,
372
373 /*.P2P_NOA_Attr_Indication */
374 WDI_P2P_NOA_ATTR_IND,
375
376 /* Preferred Network Found Indication */
377 WDI_PREF_NETWORK_FOUND_IND,
378
379 WDI_WAKE_REASON_IND,
380
381 /* Tx PER Tracking Indication */
382 WDI_TX_PER_HIT_IND,
Viral Modid86bde22012-12-10 13:09:21 -0800383
Viral Modid86bde22012-12-10 13:09:21 -0800384 /* P2P_NOA_Start_Indication */
385 WDI_P2P_NOA_START_IND,
Viral Modid86bde22012-12-10 13:09:21 -0800386
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530387 /* TDLS_Indication */
388 WDI_TDLS_IND,
389
Leo Changd9df8aa2013-09-26 13:32:26 -0700390 /* LPHB Indication from FW to umac */
391 WDI_LPHB_IND,
Leo Chang9056f462013-08-01 19:21:11 -0700392
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700393 /* IBSS Peer Inactivity Indication */
394 WDI_IBSS_PEER_INACTIVITY_IND,
395
Yue Mab9c86f42013-08-14 15:59:08 -0700396 /* Periodic Tx Pattern FW Indication */
397 WDI_PERIODIC_TX_PTRN_FW_IND,
398
Rajeev79dbe4c2013-10-05 11:03:42 +0530399#ifdef FEATURE_WLAN_BATCH_SCAN
400 /*Batch scan result indication from FW*/
401 WDI_BATCH_SCAN_RESULT_IND,
402#endif
403
Leo Chang0b0e45a2013-12-15 15:18:55 -0800404#ifdef FEATURE_WLAN_CH_AVOID
405 WDI_CH_AVOID_IND,
406#endif /* FEATURE_WLAN_CH_AVOID */
Sunil Duttbd736ed2014-05-26 21:19:41 +0530407#ifdef WLAN_FEATURE_LINK_LAYER_STATS
408 WDI_LL_STATS_RESULTS_IND,
409#endif
Dino Mycle41bdc942014-06-10 11:30:24 +0530410#ifdef WLAN_FEATURE_EXTSCAN
411 WDI_EXTSCAN_PROGRESS_IND,
412 WDI_EXTSCAN_SCAN_AVAILABLE_IND,
413 WDI_EXTSCAN_SCAN_RESULT_IND,
414 WDI_EXTSCAN_GET_CAPABILITIES_IND,
415 WDI_EXTSCAN_BSSID_HOTLIST_RESULT_IND,
Padma, Santhosh Kumar9acee012015-08-21 19:58:01 +0530416 WDI_EXTSCAN_SSID_HOTLIST_RESULT_IND,
Dino Mycle41bdc942014-06-10 11:30:24 +0530417#endif
Abhishek Singh66c16762014-08-14 19:13:19 +0530418 /*Delete BA Ind*/
419 WDI_DEL_BA_IND,
Srinivas Dasari32a79262015-02-19 13:04:49 +0530420 WDI_NAN_EVENT_IND,
Sachin Ahuja3d47fcd2015-08-28 16:02:06 +0530421 WDI_LOST_LINK_PARAMS_IND,
Gupta, Kapil7c34b322015-09-30 13:12:35 +0530422 WDI_RSSI_BREACHED_IND,
Padma, Santhosh Kumar2ccac212015-10-20 17:27:27 +0530423#ifdef FEATURE_OEM_DATA_SUPPORT
424 WDI_START_OEM_DATA_RSP_IND_NEW,
425#endif
Jeff Johnson295189b2012-06-20 16:38:30 -0700426 WDI_MAX_IND
427}WDI_LowLevelIndEnumType;
428
429
430/*---------------------------------------------------------------------------
431 WDI_LowRSSIThIndType
432---------------------------------------------------------------------------*/
433typedef struct
434{
435 /*Positive crossing of Rssi Thresh1*/
436 wpt_uint32 bRssiThres1PosCross : 1;
437 /*Negative crossing of Rssi Thresh1*/
438 wpt_uint32 bRssiThres1NegCross : 1;
439 /*Positive crossing of Rssi Thresh2*/
440 wpt_uint32 bRssiThres2PosCross : 1;
441 /*Negative crossing of Rssi Thresh2*/
442 wpt_uint32 bRssiThres2NegCross : 1;
443 /*Positive crossing of Rssi Thresh3*/
444 wpt_uint32 bRssiThres3PosCross : 1;
445 /*Negative crossing of Rssi Thresh3*/
446 wpt_uint32 bRssiThres3NegCross : 1;
447
Srinivasdaaec712012-12-12 15:59:44 -0800448 wpt_uint32 avgRssi : 8;
449 wpt_uint32 bReserved : 18;
Jeff Johnson295189b2012-06-20 16:38:30 -0700450
451}WDI_LowRSSIThIndType;
452
453
454/*---------------------------------------------------------------------------
455 WDI_UnkAddr2FrmRxIndType
456---------------------------------------------------------------------------*/
457typedef struct
458{
459 /*Rx Bd data of the unknown received addr2 frame.*/
460 void* bufRxBd;
461
462 /*Buffer Length*/
463 wpt_uint16 usBufLen;
464}WDI_UnkAddr2FrmRxIndType;
465
466/*---------------------------------------------------------------------------
467 WDI_DeleteSTAIndType
468---------------------------------------------------------------------------*/
469typedef struct
470{
471 /*ASSOC ID, as assigned by UMAC*/
472 wpt_uint16 usAssocId;
473
474 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
475 wpt_uint8 ucSTAIdx;
476
477 /*BSSID of STA*/
478 wpt_macAddr macBSSID;
479
480 /*MAC ADDR of STA*/
481 wpt_macAddr macADDR2;
482
483 /* To unify the keepalive / unknown A2 / tim-based disa*/
484 wpt_uint16 wptReasonCode;
485
486}WDI_DeleteSTAIndType;
487
488/*---------------------------------------------------------------------------
489 WDI_MicFailureIndType
490---------------------------------------------------------------------------*/
491typedef struct
492{
493 /*current BSSID*/
494 wpt_macAddr bssId;
495
496 /*Source mac address*/
497 wpt_macAddr macSrcAddr;
498
499 /*Transmitter mac address*/
500 wpt_macAddr macTaAddr;
501
502 /*Destination mac address*/
503 wpt_macAddr macDstAddr;
504
505 /*Multicast flag*/
506 wpt_uint8 ucMulticast;
507
508 /*First byte of IV*/
509 wpt_uint8 ucIV1;
510
511 /*Key Id*/
512 wpt_uint8 keyId;
513
514 /*Sequence Number*/
515 wpt_uint8 TSC[WDI_CIPHER_SEQ_CTR_SIZE];
516
517 /*receive address */
518 wpt_macAddr macRxAddr;
519}WDI_MicFailureIndType;
520
521/*---------------------------------------------------------------------------
522 WDI_CoexIndType
523---------------------------------------------------------------------------*/
524typedef struct
525{
526 wpt_uint32 coexIndType;
527 wpt_uint32 coexIndData[WDI_COEX_IND_DATA_SIZE];
528} WDI_CoexIndType;
529
530/*---------------------------------------------------------------------------
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +0530531 WDI_DHCPInd
532---------------------------------------------------------------------------*/
533
534typedef struct
535{
536 wpt_uint8 device_mode;
537 wpt_uint8 macAddr[WDI_MAC_ADDR_LEN];
538}WDI_DHCPInd;
539
540/*---------------------------------------------------------------------------
541
Jeff Johnson295189b2012-06-20 16:38:30 -0700542 WDI_MacSSid
543---------------------------------------------------------------------------*/
544typedef struct
545{
546 wpt_uint8 ucLength;
547 wpt_uint8 sSSID[WDI_MAX_SSID_SIZE];
548} WDI_MacSSid;
549
550#ifdef FEATURE_WLAN_SCAN_PNO
551/*---------------------------------------------------------------------------
552 WDI_PrefNetworkFoundInd
553---------------------------------------------------------------------------*/
554typedef struct
555{
556 /* Network that was found with the highest RSSI*/
Srikant Kuppa066904f2013-05-07 13:56:02 -0700557 WDI_MacSSid ssId;
Jeff Johnson295189b2012-06-20 16:38:30 -0700558 /* Indicates the RSSI */
Srikant Kuppa066904f2013-05-07 13:56:02 -0700559 wpt_uint8 rssi;
560 wpt_uint16 frameLength;
561 wpt_uint8 *pData;
Jeff Johnson295189b2012-06-20 16:38:30 -0700562} WDI_PrefNetworkFoundInd;
563#endif // FEATURE_WLAN_SCAN_PNO
564
Jeff Johnson295189b2012-06-20 16:38:30 -0700565/*---------------------------------------------------------------------------
566 *WDI_P2pNoaAttrIndType
567 *-------------------------------------------------------------------------*/
Jeff Johnson295189b2012-06-20 16:38:30 -0700568typedef struct
569{
570 wpt_uint8 ucIndex ;
571 wpt_uint8 ucOppPsFlag ;
572 wpt_uint16 usCtWin ;
573
574 wpt_uint16 usNoa1IntervalCnt;
575 wpt_uint16 usRsvd1 ;
576 wpt_uint32 uslNoa1Duration;
577 wpt_uint32 uslNoa1Interval;
578 wpt_uint32 uslNoa1StartTime;
579
580 wpt_uint16 usNoa2IntervalCnt;
581 wpt_uint16 usRsvd2;
582 wpt_uint32 uslNoa2Duration;
583 wpt_uint32 uslNoa2Interval;
584 wpt_uint32 uslNoa2StartTime;
585
586 wpt_uint32 status;
587}WDI_P2pNoaAttrIndType;
Viral Modid86bde22012-12-10 13:09:21 -0800588
589/*---------------------------------------------------------------------------
590 *WDI_P2pNoaStartIndType
591 *-------------------------------------------------------------------------*/
592typedef struct
593{
594 wpt_uint32 status;
595 wpt_uint32 bssIdx;
596}WDI_P2pNoaStartIndType;
597
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530598/*---------------------------------------------------------------------------
599 *WDI_TdlsIndType
600 *-------------------------------------------------------------------------*/
601typedef struct
602{
603 wpt_uint16 status;
604 wpt_uint16 assocId;
605 wpt_uint16 staIdx;
606 wpt_uint16 reasonCode;
607}WDI_TdlsIndType;
Jeff Johnson295189b2012-06-20 16:38:30 -0700608
609#ifdef WLAN_WAKEUP_EVENTS
610/*---------------------------------------------------------------------------
611 WDI_WakeReasonIndType
612---------------------------------------------------------------------------*/
613typedef struct
614{
615 wpt_uint32 ulReason; /* see tWakeReasonType */
616 wpt_uint32 ulReasonArg; /* argument specific to the reason type */
617 wpt_uint32 ulStoredDataLen; /* length of optional data stored in this message, in case
618 HAL truncates the data (i.e. data packets) this length
619 will be less than the actual length */
620 wpt_uint32 ulActualDataLen; /* actual length of data */
621 wpt_uint8 aDataStart[1]; /* variable length start of data (length == storedDataLen)
622 see specific wake type */
623} WDI_WakeReasonIndType;
624#endif // WLAN_WAKEUP_EVENTS
625
Srinivas Dasari32a79262015-02-19 13:04:49 +0530626typedef struct
627{
628 wpt_uint16 event_data_len;
629 wpt_uint8* event_data;
630} WDI_NanEventType;
631
632
Jeff Johnson295189b2012-06-20 16:38:30 -0700633/*---------------------------------------------------------------------------
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800634 WDI_MissedBeaconIndType
635-----------------------------------------------------------------------------*/
636typedef struct
637{
638 wpt_uint8 bssIdx; /*bssidx on which beacon is missed*/
639} WDI_MissedBeaconIndType;
640
Leo Chang9056f462013-08-01 19:21:11 -0700641#ifdef FEATURE_WLAN_LPHB
642/*---------------------------------------------------------------------------
643 WDI_LPHBTimeoutIndData
644-----------------------------------------------------------------------------*/
645typedef struct
646{
647 wpt_uint8 bssIdx;
648 wpt_uint8 sessionIdx;
649 wpt_uint8 protocolType; /*TCP or UDP*/
650 wpt_uint8 eventReason;
651} WDI_LPHBTimeoutIndData;
652#endif /* FEATURE_WLAN_LPHB */
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800653
Yue Mab9c86f42013-08-14 15:59:08 -0700654/*-----------------------------------------------------------------------------
655WDI_PeriodicTxPtrnFwIndType
656-----------------------------------------------------------------------------*/
657typedef struct
658{
659 wpt_uint8 bssIdx;
660 wpt_uint32 selfStaIdx;
661 wpt_uint32 status;
662 wpt_uint32 patternIdBitmap;
663} WDI_PeriodicTxPtrnFwIndType;
664
Rajeev79dbe4c2013-10-05 11:03:42 +0530665#ifdef FEATURE_WLAN_BATCH_SCAN
666/*---------------------------------------------------------------------------
667 WDI_SetBatchScanReqType
668---------------------------------------------------------------------------*/
669typedef struct
670{
671 wpt_uint32 scanFrequency; /* how frequent to do scan default 30Sec*/
672 wpt_uint32 numberOfScansToBatch; /* number of scans to batch */
673 wpt_uint32 bestNetwork; /* best networks in terms of rssi */
674 wpt_uint8 rfBand; /* band to scan :
675 0 ->both Band, 1->2.4Ghz Only
676 and 2-> 5GHz Only */
677 wpt_uint32 rtt; /* set if required to do RTT it is not
678 supported in current version */
679}WDI_SetBatchScanReqType;
680
681/*---------------------------------------------------------------------------
682 WDI_SetBatchScanRspType
683---------------------------------------------------------------------------*/
684typedef struct
685{
686 /*max number of scans which FW can cache*/
687 wpt_uint32 nScansToBatch;
688}WDI_SetBatchScanRspType;
689
690/*---------------------------------------------------------------------------
691 WDI_TriggerBatchScanResultIndType
692---------------------------------------------------------------------------*/
693typedef struct
694{
695 wpt_uint32 param;
696}WDI_TriggerBatchScanResultIndType;
697
698/*---------------------------------------------------------------------------
699 WDI_StopBatchScanIndType
700---------------------------------------------------------------------------*/
701typedef struct
702{
703 /*max number of scans which FW can cache*/
704 wpt_uint32 param;
705}WDI_StopBatchScanIndType;
706
707
708/*---------------------------------------------------------------------------
709 * WDI_BatchScanResultIndType
710 *--------------------------------------------------------------------------*/
711typedef struct
712{
713 wpt_uint32 bssid[6]; /* BSSID */
714 wpt_uint32 ssid[32]; /* SSID */
715 wpt_uint32 ch; /* Channel */
716 wpt_uint32 rssi; /* RSSI or Level */
717 /* Timestamp when Network was found. Used to calculate age based on
718 timestamp in GET_RSP msg header */
719 wpt_uint32 timestamp;
720} tWDIBatchScanNetworkInfo, *tpWDIBatchScanNetworkInfo;
721
722typedef struct
723{
724 wpt_uint32 scanId; /*Scan List ID*/
725 /*No of AP in a Scan Result. Should be same as bestNetwork in SET_REQ msg*/
726 wpt_uint32 numNetworksInScanList;
727 /*Variable data ptr: Number of AP in Scan List*/
728 wpt_uint32 scanList[1];
729} tWDIBatchScanList, *tpWDIBatchScanList;
730
731typedef struct
732{
733 wpt_uint32 timestamp;
734 wpt_uint32 numScanLists;
735 wpt_boolean isLastResult;
736 /* Variable Data ptr: Number of Scan Lists*/
737 wpt_uint32 scanResults[1];
738} tWDIBatchScanResultParam, *tpWDIBatchScanResultParam;
739
740#endif
741
742
Sachin Ahuja3d47fcd2015-08-28 16:02:06 +0530743typedef struct
744{
745 wpt_uint8 bssIdx;
746 wpt_uint8 rssi;
747 wpt_uint8 selfMacAddr[WDI_MAC_ADDR_LEN];
748 wpt_uint32 linkFlCnt;
749 wpt_uint32 linkFlTx;
750 wpt_uint32 lastDataRate;
751 wpt_uint32 rsvd1;
752 wpt_uint32 rsvd2;
753
754}WDI_LostLinkParamsIndType;
755
Gupta, Kapil7c34b322015-09-30 13:12:35 +0530756typedef struct
757{
758 wpt_uint32 request_id;
759 wpt_uint8 bssId[WDI_MAC_ADDR_LEN];
760 wpt_int8 rssi;
761}WDI_RssiBreachedIndType;
762
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800763/*---------------------------------------------------------------------------
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700764 WDI_IbssPeerInactivityIndType
765-----------------------------------------------------------------------------*/
766typedef struct
767{
768 wpt_uint8 bssIdx;
769 wpt_uint8 staIdx;
770 wpt_macAddr staMacAddr;
771}WDI_IbssPeerInactivityIndType;
772
773/*---------------------------------------------------------------------------
Chittajit Mitraf5413a42013-10-18 14:20:08 -0700774 WDI_TxRateFlags
775-----------------------------------------------------------------------------*/
776typedef enum
777{
778 WDI_TX_RATE_LEGACY = 0x1, /* Legacy rates */
779 WDI_TX_RATE_HT20 = 0x2, /* HT20 rates */
780 WDI_TX_RATE_HT40 = 0x4, /* HT40 rates */
781 WDI_TX_RATE_SGI = 0x8, /* Rate with Short guard interval */
782 WDI_TX_RATE_LGI = 0x10, /* Rate with Long guard interval */
783 WDI_TX_RATE_VHT20 = 0x20, /* VHT 20 rates */
784 WDI_TX_RATE_VHT40 = 0x40, /* VHT 20 rates */
785 WDI_TX_RATE_VHT80 = 0x80, /* VHT 20 rates */
786 WDI_TX_RATE_VIRT = 0x100, /* Virtual Rate */
787} WDI_TxRateFlags;
788
789/*---------------------------------------------------------------------------
790 WDI_RateUpdateIndParams
791-----------------------------------------------------------------------------*/
792typedef struct
793{
794 /* 0 implies RA, positive value implies fixed rate, -1 implies ignore this
795 * param ucastDataRate can be used to control RA behavior of unicast data to
796 */
797 wpt_int32 ucastDataRate;
798
799 /* TX flag to differentiate between HT20, HT40 etc */
800 WDI_TxRateFlags ucastDataRateTxFlag;
801
802 /* BSSID - Optional. 00-00-00-00-00-00 implies apply to all BCAST STAs */
803 wpt_macAddr bssid;
804
805 /*
806 * 0 implies MCAST RA, positive value implies fixed rate,
807 * -1 implies ignore this param
808 */
809 wpt_int32 reliableMcastDataRate; //unit Mbpsx10
810
811 /* TX flag to differentiate between HT20, HT40 etc */
812 WDI_TxRateFlags reliableMcastDataRateTxFlag;
813
814 /*
815 * MCAST(or BCAST) fixed data rate in 2.4 GHz, unit Mbpsx10,
816 * 0 implies ignore
817 */
818 wpt_uint32 mcastDataRate24GHz;
819
820 /* TX flag to differentiate between HT20, HT40 etc */
821 WDI_TxRateFlags mcastDataRate24GHzTxFlag;
822
823 /*
824 * MCAST(or BCAST) fixed data rate in 5 GHz,
825 * unit Mbpsx10, 0 implies ignore
826 */
827 wpt_uint32 mcastDataRate5GHz;
828
829 /* TX flag to differentiate between HT20, HT40 etc */
830 WDI_TxRateFlags mcastDataRate5GHzTxFlag;
831
832 /*
833 * Request status callback offered by UMAC - it is called if the current
834 * req has returned PENDING as status; it delivers the status of sending
835 * the message over the BUS
836 */
837 WDI_ReqStatusCb wdiReqStatusCB;
838
839 /*
840 * The user data passed in by UMAC, it will be sent back when the above
841 * function pointer will be called
842 */
843 void *pUserData;
844
845} WDI_RateUpdateIndParams;
846
Abhishek Singh85b74712014-10-08 11:38:19 +0530847typedef struct
848{
849 wpt_uint32 ubsp_enter_cnt;
850 wpt_uint32 ubsp_jump_ddr_cnt;
851}ubspFwStats;
852
853typedef struct
854{
855 wpt_uint32 type;
856 /*data*/
857 union{
858 ubspFwStats ubspStats;
859 }wdiFwStatsData;
860} WDI_FWStatsResults;
861
Leo Chang0b0e45a2013-12-15 15:18:55 -0800862#ifdef FEATURE_WLAN_CH_AVOID
Abhishek Singhe34eb552015-06-18 10:12:15 +0530863#define WDI_CH_AVOID_MAX_RANGE 15
Leo Chang0b0e45a2013-12-15 15:18:55 -0800864
865typedef struct
866{
867 wpt_uint32 startFreq;
868 wpt_uint32 endFreq;
869} WDI_ChAvoidFreqType;
870
871typedef struct
872{
873 wpt_uint32 avoidRangeCount;
874 WDI_ChAvoidFreqType avoidFreqRange[WDI_CH_AVOID_MAX_RANGE];
875} WDI_ChAvoidIndType;
876#endif /* FEATURE_WLAN_CH_AVOID */
877
Dino Mycled3d50022014-07-07 12:58:25 +0530878#ifdef WLAN_FEATURE_LINK_LAYER_STATS
879typedef struct
880{
881 void *pLinkLayerStatsResults;
882 wpt_macAddr macAddr;
883} WDI_LinkLayerStatsResults;
884
885#endif
Abhishek Singh66c16762014-08-14 19:13:19 +0530886
887typedef struct
888{
889 /*STA Index*/
890 wpt_uint16 staIdx;
891
892 /*Peer MAC*/
893 wpt_macAddr peerMacAddr;
894
895 // TID for which a BA session timeout is being triggered
896 wpt_uint8 baTID;
897 // DELBA direction
898 // 1 - Originator
899 // 0 - Recipient
900 wpt_uint8 baDirection;
901 wpt_uint32 reasonCode;
902 /*MAC ADDR of STA*/
903 wpt_macAddr bssId; // TO SUPPORT BT-AMP
904} WDI_DeleteBAIndType;
905
Ganesh Kondabattinib18b3292015-03-16 16:59:26 +0530906typedef struct
907{
908 wpt_uint32 tx_complete_status;
909 wpt_uint32 tx_bd_token;
910} WDI_TxBDStatus;
Padma, Santhosh Kumarf75c37b2016-01-25 10:36:08 +0530911
912#ifdef FEATURE_OEM_DATA_SUPPORT
913/*----------------------------------------------------------------------------
914 OEM DATA RESPONSE - DATA STRUCTURES
915----------------------------------------------------------------------------*/
916typedef struct
917{
918 void *pOemRspNewIndData;
919 /* Max OemRspNewLen possible is NEW_OEM_DATA_RSP_SIZE*/
920 wpt_uint32 OemRspNewLen;
921} WDI_OemDataRspNew;
922#endif
923
Chittajit Mitraf5413a42013-10-18 14:20:08 -0700924/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -0700925 WDI_LowLevelIndType
926 Inidcation type and information about the indication being carried
927 over
928---------------------------------------------------------------------------*/
929typedef struct
930{
931 /*Inidcation type*/
932 WDI_LowLevelIndEnumType wdiIndicationType;
933
934 /*Indication data*/
935 union
936 {
937 /*RSSI Threshold Info for WDI_LOW_RSSI_IND*/
938 WDI_LowRSSIThIndType wdiLowRSSIInfo;
939
940 /*Addr2 Frame Info for WDI_UNKNOWN_ADDR2_FRAME_RX_IND*/
941 WDI_UnkAddr2FrmRxIndType wdiUnkAddr2FrmInfo;
942
943 /*MIC Failure info for WDI_MIC_FAILURE_IND*/
944 WDI_MicFailureIndType wdiMICFailureInfo;
945
946 /*Error code for WDI_FATAL_ERROR_IND*/
947 wpt_uint16 usErrorCode;
948
949 /*Delete STA Indication*/
950 WDI_DeleteSTAIndType wdiDeleteSTAIndType;
951
952 /*Coex Indication*/
953 WDI_CoexIndType wdiCoexInfo;
954
955 /* Tx Complete Indication */
956 wpt_uint32 tx_complete_status;
957
Jeff Johnson295189b2012-06-20 16:38:30 -0700958 /* P2P NOA ATTR Indication */
959 WDI_P2pNoaAttrIndType wdiP2pNoaAttrInfo;
Viral Modid86bde22012-12-10 13:09:21 -0800960 WDI_P2pNoaStartIndType wdiP2pNoaStartInfo;
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530961 /* TDLS Indications */
962 WDI_TdlsIndType wdiTdlsIndInfo;
Jeff Johnson295189b2012-06-20 16:38:30 -0700963
964
965#ifdef FEATURE_WLAN_SCAN_PNO
966 WDI_PrefNetworkFoundInd wdiPrefNetworkFoundInd;
967#endif // FEATURE_WLAN_SCAN_PNO
968
969#ifdef WLAN_WAKEUP_EVENTS
970 WDI_WakeReasonIndType wdiWakeReasonInd;
971#endif // WLAN_WAKEUP_EVENTS
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800972 WDI_MissedBeaconIndType wdiMissedBeaconInd;
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700973
Leo Chang9056f462013-08-01 19:21:11 -0700974#ifdef FEATURE_WLAN_LPHB
975 WDI_LPHBTimeoutIndData wdiLPHBTimeoutInd;
976#endif /* FEATURE_WLAN_LPHB */
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700977
978 /* IBSS Peer Inactivity Indication */
979 WDI_IbssPeerInactivityIndType wdiIbssPeerInactivityInd;
980
Yue Mab9c86f42013-08-14 15:59:08 -0700981 /* Periodic TX Pattern FW Indication */
982 WDI_PeriodicTxPtrnFwIndType wdiPeriodicTxPtrnFwInd;
Rajeev79dbe4c2013-10-05 11:03:42 +0530983
984#ifdef FEATURE_WLAN_BATCH_SCAN
985 /*batch scan result indication from FW*/
986 void *pBatchScanResult;
987#endif
988
Leo Chang0b0e45a2013-12-15 15:18:55 -0800989#ifdef FEATURE_WLAN_CH_AVOID
990 WDI_ChAvoidIndType wdiChAvoidInd;
991#endif /* FEATURE_WLAN_CH_AVOID */
Sunil Duttbd736ed2014-05-26 21:19:41 +0530992
993#ifdef WLAN_FEATURE_LINK_LAYER_STATS
994 /*Link Layer Statistics from FW*/
Dino Mycled3d50022014-07-07 12:58:25 +0530995 WDI_LinkLayerStatsResults wdiLinkLayerStatsResults;
Sunil Duttbd736ed2014-05-26 21:19:41 +0530996#endif
Dino Mycle41bdc942014-06-10 11:30:24 +0530997#ifdef WLAN_FEATURE_EXTSCAN
998 /*EXTSCAN Results from FW*/
999 void *pEXTScanIndData;
1000#endif
Abhishek Singh66c16762014-08-14 19:13:19 +05301001 WDI_DeleteBAIndType wdiDeleteBAInd;
Srinivas Dasari32a79262015-02-19 13:04:49 +05301002
1003 WDI_NanEventType wdiNanEvent;
Ganesh Kondabattinib18b3292015-03-16 16:59:26 +05301004
1005 WDI_TxBDStatus wdiTxBdInd;
Sachin Ahuja3d47fcd2015-08-28 16:02:06 +05301006 WDI_LostLinkParamsIndType wdiLostLinkParamsInd;
Gupta, Kapil7c34b322015-09-30 13:12:35 +05301007 WDI_RssiBreachedIndType wdiRssiBreachedInd;
Padma, Santhosh Kumar2ccac212015-10-20 17:27:27 +05301008#ifdef FEATURE_OEM_DATA_SUPPORT
1009/*OEM Data Rsp New Results from FW*/
Padma, Santhosh Kumarf75c37b2016-01-25 10:36:08 +05301010 WDI_OemDataRspNew wdiOemDataRspNew;
Padma, Santhosh Kumar2ccac212015-10-20 17:27:27 +05301011#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001012 } wdiIndicationData;
1013}WDI_LowLevelIndType;
1014
1015/*---------------------------------------------------------------------------
1016 WDI_LowLevelIndCBType
1017
1018 DESCRIPTION
1019
1020 This callback is invoked by DAL to deliver to UMAC certain indications
1021 that has either received from the lower device or has generated itself.
1022
1023 PARAMETERS
1024
1025 IN
1026 pwdiInd: information about the indication sent over
1027 pUserData: user data provided by UMAC during registration
1028
1029
1030
1031 RETURN VALUE
1032 The result code associated with performing the operation
1033---------------------------------------------------------------------------*/
1034typedef void (*WDI_LowLevelIndCBType)(WDI_LowLevelIndType* pwdiInd,
1035 void* pUserData);
1036
1037/*---------------------------------------------------------------------------
1038 WDI_DriverType
1039---------------------------------------------------------------------------*/
1040typedef enum
1041{
1042 WDI_DRIVER_TYPE_PRODUCTION = 0,
1043 WDI_DRIVER_TYPE_MFG = 1,
1044 WDI_DRIVER_TYPE_DVT = 2
1045} WDI_DriverType;
1046
1047/*---------------------------------------------------------------------------
1048 WDI_StartReqParamsType
1049---------------------------------------------------------------------------*/
1050typedef struct
1051{
1052 /*This is a TLV formatted buffer containing all config values that can
1053 be set through the DAL Interface
1054
1055 The TLV is expected to be formatted like this:
1056
1057 0 7 15 31 ....
1058 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
1059
1060 Or from a C construct point of VU it would look like this:
1061
1062 typedef struct WPT_PACK_POST
1063 {
1064 #ifdef WPT_BIG_ENDIAN
1065 wpt_uint32 ucCfgId:8;
1066 wpt_uint32 ucCfgLen:8;
1067 wpt_uint32 usReserved:16;
1068 #else
1069 wpt_uint32 usReserved:16;
1070 wpt_uint32 ucCfgLen:8;
1071 wpt_uint32 ucCfgId:8;
1072 #endif
1073
1074 wpt_uint8 ucCfgBody[ucCfgLen];
1075 }WDI_ConfigType;
1076
1077 Multiple such tuplets are to be placed in the config buffer. One for
1078 each required configuration item:
1079
1080 | TLV 1 | TLV2 | ....
1081
1082 The buffer is expected to be a flat area of memory that can be manipulated
1083 with standard memory routines.
1084
1085 For more info please check paragraph 2.3.1 Config Structure from the
1086 HAL LLD.
1087
1088 For a list of accepted configuration list and IDs please look up
1089 wlan_qct_dal_cfg.h
1090
1091 */
1092 void* pConfigBuffer;
1093
1094 /*Length of the config buffer above*/
1095 wpt_uint16 usConfigBufferLen;
1096
1097 /*Production or FTM driver*/
1098 WDI_DriverType wdiDriverType;
1099
1100 /*Should device enable frame translation */
1101 wpt_uint8 bFrameTransEnabled;
1102
1103 /*Request status callback offered by UMAC - it is called if the current
1104 req has returned PENDING as status; it delivers the status of sending
1105 the message over the BUS */
1106 WDI_ReqStatusCb wdiReqStatusCB;
1107
1108 /*The user data passed in by UMAC, it will be sent back when the above
1109 function pointer will be called */
1110 void* pUserData;
1111
1112 /*Indication callback given by UMAC to be called by the WLAN DAL when it
1113 wishes to send something back independent of a request*/
1114 WDI_LowLevelIndCBType wdiLowLevelIndCB;
1115
1116 /*The user data passed in by UMAC, it will be sent back when the indication
1117 function pointer will be called */
1118 void* pIndUserData;
1119}WDI_StartReqParamsType;
1120
1121
1122/*---------------------------------------------------------------------------
1123 WDI_StartRspParamsType
1124---------------------------------------------------------------------------*/
1125typedef struct
1126{
1127 /*Status of the response*/
1128 WDI_Status wdiStatus;
1129
1130 /*Max number of STA supported by the device*/
1131 wpt_uint8 ucMaxStations;
1132
1133 /*Max number of BSS supported by the device*/
1134 wpt_uint8 ucMaxBssids;
1135
1136 /*Version of the WLAN HAL API with which we were compiled*/
1137 WDI_WlanVersionType wlanCompiledVersion;
1138
1139 /*Version of the WLAN HAL API that was reported*/
1140 WDI_WlanVersionType wlanReportedVersion;
1141
1142 /*WCNSS Software version string*/
1143 wpt_uint8 wcnssSoftwareVersion[WDI_VERSION_LENGTH];
1144
1145 /*WCNSS Hardware version string*/
1146 wpt_uint8 wcnssHardwareVersion[WDI_VERSION_LENGTH];
1147}WDI_StartRspParamsType;
1148
1149
1150/*---------------------------------------------------------------------------
1151 WDI_StopType
1152---------------------------------------------------------------------------*/
1153typedef enum
1154{
1155 /*Device is being stopped due to a reset*/
1156 WDI_STOP_TYPE_SYS_RESET,
1157
1158 /*Device is being stopped due to entering deep sleep*/
1159 WDI_STOP_TYPE_SYS_DEEP_SLEEP,
1160
1161 /*Device is being stopped because the RF needs to shut off
1162 (e.g.:Airplane mode)*/
1163 WDI_STOP_TYPE_RF_KILL
1164}WDI_StopType;
1165
1166/*---------------------------------------------------------------------------
1167 WDI_StopReqParamsType
1168---------------------------------------------------------------------------*/
1169typedef struct
1170{
1171
1172 /*The reason for which the device is being stopped*/
1173 WDI_StopType wdiStopReason;
1174
1175 /*Request status callback offered by UMAC - it is called if the current
1176 req has returned PENDING as status; it delivers the status of sending
1177 the message over the BUS */
1178 WDI_ReqStatusCb wdiReqStatusCB;
1179
1180 /*The user data passed in by UMAC, it will be sent back when the above
1181 function pointer will be called */
1182 void* pUserData;
1183}WDI_StopReqParamsType;
1184
1185
1186/*---------------------------------------------------------------------------
1187 WDI_ScanMode
1188---------------------------------------------------------------------------*/
1189typedef enum
1190{
1191 WDI_SCAN_MODE_NORMAL = 0,
1192 WDI_SCAN_MODE_LEARN,
1193 WDI_SCAN_MODE_SCAN,
1194 WDI_SCAN_MODE_PROMISC,
Madan Mohan Koyyalamudi9b876782012-10-11 16:22:51 -07001195 WDI_SCAN_MODE_SUSPEND_LINK,
1196 WDI_SCAN_MODE_ROAM_SCAN,
1197 WDI_SCAN_MODE_ROAM_SUSPEND_LINK,
1198
Jeff Johnson295189b2012-06-20 16:38:30 -07001199} WDI_ScanMode;
1200
1201/*---------------------------------------------------------------------------
1202 WDI_ScanEntry
1203---------------------------------------------------------------------------*/
1204typedef struct
1205{
1206 wpt_uint8 bssIdx[WDI_NUM_BSSID];
1207 wpt_uint8 activeBSScnt;
1208}WDI_ScanEntry;
1209
1210/*---------------------------------------------------------------------------
1211 WDI_InitScanReqInfoType
1212---------------------------------------------------------------------------*/
1213typedef struct
1214{
1215 /*LEARN - AP Role
1216 SCAN - STA Role*/
1217 WDI_ScanMode wdiScanMode;
1218
1219 /*BSSID of the BSS*/
1220 wpt_macAddr macBSSID;
1221
1222 /*Whether BSS needs to be notified*/
1223 wpt_boolean bNotifyBSS;
1224
1225 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
1226 CTS to Self). Must always be a valid frame type.*/
1227 wpt_uint8 ucFrameType;
1228
1229 /*UMAC has the option of passing the MAC frame to be used for notifying
1230 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
1231 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
1232 frameType.*/
1233 wpt_uint8 ucFrameLength;
1234
1235 /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/
1236 WDI_MacMgmtHdr wdiMACMgmtHdr;
1237
1238 /*Entry to hold number of active BSS to send NULL frames before
1239 * initiating SCAN*/
1240 WDI_ScanEntry wdiScanEntry;
1241
1242 /* Flag to enable/disable Single NOA*/
1243 wpt_boolean bUseNOA;
1244
1245 /* Indicates the scan duration (in ms) */
1246 wpt_uint16 scanDuration;
1247
1248}WDI_InitScanReqInfoType;
1249
1250/*---------------------------------------------------------------------------
1251 WDI_InitScanReqParamsType
1252---------------------------------------------------------------------------*/
1253typedef struct
1254{
1255 /*The info associated with the request that needs to be sent over to the
1256 device*/
1257 WDI_InitScanReqInfoType wdiReqInfo;
1258
1259 /*Request status callback offered by UMAC - it is called if the current
1260 req has returned PENDING as status; it delivers the status of sending
1261 the message over the BUS */
1262 WDI_ReqStatusCb wdiReqStatusCB;
1263
1264 /*The user data passed in by UMAC, it will be sent back when the above
1265 function pointer will be called */
1266 void* pUserData;
1267}WDI_InitScanReqParamsType;
1268
1269/*---------------------------------------------------------------------------
1270 WDI_StartScanReqParamsType
1271---------------------------------------------------------------------------*/
1272typedef struct
1273{
1274 /*Indicates the channel to scan*/
1275 wpt_uint8 ucChannel;
1276
1277 /*Request status callback offered by UMAC - it is called if the current
1278 req has returned PENDING as status; it delivers the status of sending
1279 the message over the BUS */
1280 WDI_ReqStatusCb wdiReqStatusCB;
1281
1282 /*The user data passed in by UMAC, it will be sent back when the above
1283 function pointer will be called */
1284 void* pUserData;
1285}WDI_StartScanReqParamsType;
1286
1287/*---------------------------------------------------------------------------
1288 WDI_StartScanRspParamsType
1289---------------------------------------------------------------------------*/
1290typedef struct
1291{
1292 /*Indicates the status of the operation */
1293 WDI_Status wdiStatus;
1294
1295#if defined WLAN_FEATURE_VOWIFI
1296 wpt_uint32 aStartTSF[2];
1297 wpt_int8 ucTxMgmtPower;
1298#endif
1299}WDI_StartScanRspParamsType;
1300
1301/*---------------------------------------------------------------------------
1302 WDI_EndScanReqParamsType
1303---------------------------------------------------------------------------*/
1304typedef struct
1305{
1306 /*Indicates the channel to stop scanning. Not used really. But retained
1307 for symmetry with "start Scan" message. It can also help in error
1308 check if needed.*/
1309 wpt_uint8 ucChannel;
1310
1311 /*Request status callback offered by UMAC - it is called if the current
1312 req has returned PENDING as status; it delivers the status of sending
1313 the message over the BUS */
1314 WDI_ReqStatusCb wdiReqStatusCB;
1315
1316 /*The user data passed in by UMAC, it will be sent back when the above
1317 function pointer will be called */
1318 void* pUserData;
1319}WDI_EndScanReqParamsType;
1320
1321/*---------------------------------------------------------------------------
1322 WDI_PhyChanBondState
1323---------------------------------------------------------------------------*/
1324typedef enum
1325{
1326 WDI_PHY_SINGLE_CHANNEL_CENTERED = 0,
1327 WDI_PHY_DOUBLE_CHANNEL_LOW_PRIMARY = 1,
1328 WDI_PHY_DOUBLE_CHANNEL_CENTERED = 2,
Jeff Johnsone7245742012-09-05 17:12:55 -07001329 WDI_PHY_DOUBLE_CHANNEL_HIGH_PRIMARY = 3,
1330#ifdef WLAN_FEATURE_11AC
1331 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_CENTERED = 4, //20/40MHZ offset LOW 40/80MHZ offset CENTERED
1332 WDI_QUADRUPLE_CHANNEL_20MHZ_CENTERED_40MHZ_CENTERED = 5, //20/40MHZ offset CENTERED 40/80MHZ offset CENTERED
1333 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_CENTERED = 6, //20/40MHZ offset HIGH 40/80MHZ offset CENTERED
1334 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_LOW = 7,//20/40MHZ offset LOW 40/80MHZ offset LOW
1335 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_LOW = 8, //20/40MHZ offset HIGH 40/80MHZ offset LOW
1336 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_HIGH = 9, //20/40MHZ offset LOW 40/80MHZ offset HIGH
1337 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_HIGH = 10,//20/40MHZ offset-HIGH 40/80MHZ offset HIGH
1338#endif
1339 WDI_MAX_CB_STATE
Jeff Johnson295189b2012-06-20 16:38:30 -07001340} WDI_PhyChanBondState;
1341
1342/*---------------------------------------------------------------------------
1343 WDI_FinishScanReqInfoType
1344---------------------------------------------------------------------------*/
1345typedef struct
1346{
1347 /*LEARN - AP Role
1348 SCAN - STA Role*/
1349 WDI_ScanMode wdiScanMode;
1350
1351 /*Operating channel to tune to.*/
1352 wpt_uint8 ucCurrentOperatingChannel;
1353
1354 /*Channel Bonding state If 20/40 MHz is operational, this will indicate the
1355 40 MHz extension channel in combination with the control channel*/
1356 WDI_PhyChanBondState wdiCBState;
1357
1358 /*BSSID of the BSS*/
1359 wpt_macAddr macBSSID;
1360
1361 /*Whether BSS needs to be notified*/
1362 wpt_boolean bNotifyBSS;
1363
1364 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
1365 CTS to Self). Must always be a valid frame type.*/
1366 wpt_uint8 ucFrameType;
1367
1368 /*UMAC has the option of passing the MAC frame to be used for notifying
1369 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
1370 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
1371 frameType.*/
1372 wpt_uint8 ucFrameLength;
1373
1374 /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/
1375 WDI_MacMgmtHdr wdiMACMgmtHdr;
1376
1377 /*Entry to hold number of active BSS to send NULL frames after SCAN*/
1378 WDI_ScanEntry wdiScanEntry;
1379
1380}WDI_FinishScanReqInfoType;
1381
1382/*---------------------------------------------------------------------------
1383 WDI_SwitchChReqInfoType
1384---------------------------------------------------------------------------*/
1385typedef struct
1386{
1387 /*Indicates the channel to switch to.*/
1388 wpt_uint8 ucChannel;
1389
1390 /*Local power constraint*/
1391 wpt_uint8 ucLocalPowerConstraint;
1392
1393 /*Secondary channel offset */
1394 WDI_HTSecondaryChannelOffset wdiSecondaryChannelOffset;
1395
1396#ifdef WLAN_FEATURE_VOWIFI
1397 wpt_int8 cMaxTxPower;
1398
1399 /*Self STA Mac address*/
1400 wpt_macAddr macSelfStaMacAddr;
1401#endif
1402 /* VO Wifi comment: BSSID is needed to identify which session issued this request. As the
1403 request has power constraints, this should be applied only to that session */
1404 /* V IMP: Keep bssId field at the end of this msg. It is used to mantain backward compatbility
1405 * by way of ignoring if using new host/old FW or old host/new FW since it is at the end of this struct
1406 */
1407 wpt_macAddr macBSSId;
1408
1409}WDI_SwitchChReqInfoType;
1410
1411/*---------------------------------------------------------------------------
1412 WDI_SwitchChReqParamsType
1413---------------------------------------------------------------------------*/
1414typedef struct
1415{
1416 /*Channel Info*/
1417 WDI_SwitchChReqInfoType wdiChInfo;
1418
1419 /*Request status callback offered by UMAC - it is called if the current
1420 req has returned PENDING as status; it delivers the status of sending
1421 the message over the BUS */
1422 WDI_ReqStatusCb wdiReqStatusCB;
1423
1424 /*The user data passed in by UMAC, it will be sent back when the above
1425 function pointer will be called */
1426 void* pUserData;
1427}WDI_SwitchChReqParamsType;
1428
1429/*---------------------------------------------------------------------------
1430 WDI_FinishScanReqParamsType
1431---------------------------------------------------------------------------*/
1432typedef struct
1433{
1434 /*Info for the Finish Scan request that will be sent down to the device*/
1435 WDI_FinishScanReqInfoType wdiReqInfo;
1436
1437 /*Request status callback offered by UMAC - it is called if the current
1438 req has returned PENDING as status; it delivers the status of sending
1439 the message over the BUS */
1440 WDI_ReqStatusCb wdiReqStatusCB;
1441
1442 /*The user data passed in by UMAC, it will be sent back when the above
1443 function pointer will be called */
1444 void* pUserData;
1445}WDI_FinishScanReqParamsType;
1446
1447/*---------------------------------------------------------------------------
1448 WDI_JoinReqInfoType
1449---------------------------------------------------------------------------*/
1450typedef struct
1451{
1452 /*Indicates the BSSID to which STA is going to associate*/
1453 wpt_macAddr macBSSID;
1454
1455 /*Indicates the MAC Address of the current Self STA*/
1456 wpt_macAddr macSTASelf;
1457
1458 /*Indicates the link State determining the entity Type e.g. BTAMP-STA, STA etc.*/
1459 wpt_uint32 linkState;
1460
1461 /*Indicates the channel to switch to.*/
1462 WDI_SwitchChReqInfoType wdiChannelInfo;
1463
1464}WDI_JoinReqInfoType;
1465
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08001466typedef enum
1467{
1468 eWDI_CHANNEL_SWITCH_SOURCE_SCAN,
1469 eWDI_CHANNEL_SWITCH_SOURCE_LISTEN,
1470 eWDI_CHANNEL_SWITCH_SOURCE_MCC,
1471 eWDI_CHANNEL_SWITCH_SOURCE_CSA,
1472 eWDI_CHANNEL_SWITCH_SOURCE_MAX = 0x7FFFFFFF
1473} WDI_ChanSwitchSource;
1474
1475/*---------------------------------------------------------------------------
1476 WDI_SwitchChReqInfoType_V1
1477---------------------------------------------------------------------------*/
1478typedef struct
1479{
1480 /*Indicates the channel to switch to.*/
1481 wpt_uint8 ucChannel;
1482
1483 /*Local power constraint*/
1484 wpt_uint8 ucLocalPowerConstraint;
1485
1486 /*Secondary channel offset */
1487 WDI_HTSecondaryChannelOffset wdiSecondaryChannelOffset;
1488
1489#ifdef WLAN_FEATURE_VOWIFI
1490 wpt_int8 cMaxTxPower;
1491 /*Self STA Mac address*/
1492 wpt_macAddr macSelfStaMacAddr;
1493#endif
1494 /* VO Wifi comment: BSSID is needed to identify which session
1495 issued this request. As the request has power constraints, this
1496 should be applied only to that session
1497 */
1498 /* V IMP: Keep bssId field at the end of this msg. It is used to
1499 maintain backward compatibility by way of ignoring if using new
1500 host/old FW or old host/new FW since it is at the end of this struct
1501 */
1502 wpt_macAddr macBSSId;
1503 /* Source of Channel Switch */
1504 WDI_ChanSwitchSource channelSwitchSrc;
1505}WDI_SwitchChReqInfoType_V1;
1506
1507/*--------------------------------------------------------------------
1508 WDI_SwitchChReqParamsType_V1
1509----------------------------------------------------------------------*/
1510typedef struct
1511{
1512 /*Channel Info*/
1513 WDI_SwitchChReqInfoType_V1 wdiChInfo;
1514
1515 /*Request status callback offered by UMAC - it is called if the current
1516 req has returned PENDING as status; it delivers the status of sending
1517 the message over the BUS */
1518 WDI_ReqStatusCb wdiReqStatusCB;
1519
1520 /*The user data passed in by UMAC, it will be sent back when the above
1521 function pointer will be called */
1522 void* pUserData;
1523}WDI_SwitchChReqParamsType_V1;
1524
Jeff Johnson295189b2012-06-20 16:38:30 -07001525/*---------------------------------------------------------------------------
1526 WDI_JoinReqParamsType
1527---------------------------------------------------------------------------*/
1528typedef struct
1529{
1530 /*Info for the Join request that will be sent down to the device*/
1531 WDI_JoinReqInfoType wdiReqInfo;
1532
1533 /*Request status callback offered by UMAC - it is called if the current
1534 req has returned PENDING as status; it delivers the status of sending
1535 the message over the BUS */
1536 WDI_ReqStatusCb wdiReqStatusCB;
1537
1538 /*The user data passed in by UMAC, it will be sent back when the above
1539 function pointer will be called */
1540 void* pUserData;
1541}WDI_JoinReqParamsType;
1542
1543/*---------------------------------------------------------------------------
1544 WDI_BssType
1545---------------------------------------------------------------------------*/
1546typedef enum
1547{
1548 WDI_INFRASTRUCTURE_MODE,
1549 WDI_INFRA_AP_MODE, //Added for softAP support
1550 WDI_IBSS_MODE,
1551 WDI_BTAMP_STA_MODE,
1552 WDI_BTAMP_AP_MODE,
1553 WDI_BSS_AUTO_MODE,
1554}WDI_BssType;
1555
1556/*---------------------------------------------------------------------------
1557 WDI_NwType
1558---------------------------------------------------------------------------*/
1559typedef enum
1560{
1561 WDI_11A_NW_TYPE,
1562 WDI_11B_NW_TYPE,
1563 WDI_11G_NW_TYPE,
1564 WDI_11N_NW_TYPE,
1565} WDI_NwType;
1566
1567/*---------------------------------------------------------------------------
1568 WDI_ConfigAction
1569---------------------------------------------------------------------------*/
1570typedef enum
1571{
1572 WDI_ADD_BSS,
1573 WDI_UPDATE_BSS
1574} WDI_ConfigAction;
1575
1576/*---------------------------------------------------------------------------
1577 WDI_HTOperatingMode
1578---------------------------------------------------------------------------*/
1579typedef enum
1580{
1581 WDI_HT_OP_MODE_PURE,
1582 WDI_HT_OP_MODE_OVERLAP_LEGACY,
1583 WDI_HT_OP_MODE_NO_LEGACY_20MHZ_HT,
1584 WDI_HT_OP_MODE_MIXED
1585
1586} WDI_HTOperatingMode;
1587
1588
1589/*---------------------------------------------------------------------------
1590 WDI_STAEntryType
1591---------------------------------------------------------------------------*/
1592typedef enum
1593{
1594 WDI_STA_ENTRY_SELF,
1595 WDI_STA_ENTRY_PEER,
1596 WDI_STA_ENTRY_BSSID,
Mohit Khanna698ba2a2012-12-04 15:08:18 -08001597 WDI_STA_ENTRY_BCAST,
1598#ifdef FEATURE_WLAN_TDLS
1599 WDI_STA_ENTRY_TDLS_PEER,
1600#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001601}WDI_STAEntryType;
1602
1603/*---------------------------------------------------------------------------
1604 WDI_ConfigActionType
1605---------------------------------------------------------------------------*/
1606typedef enum
1607{
1608 WDI_ADD_STA,
1609 WDI_UPDATE_STA
1610} WDI_ConfigActionType;
1611
1612/*----------------------------------------------------------------------------
1613 Each station added has a rate mode which specifies the sta attributes
1614 ----------------------------------------------------------------------------*/
1615typedef enum
1616{
1617 WDI_RESERVED_1 = 0,
1618 WDI_RESERVED_2,
1619 WDI_RESERVED_3,
1620 WDI_11b,
1621 WDI_11bg,
1622 WDI_11a,
1623 WDI_11n,
1624} WDI_RateModeType;
1625
1626/*---------------------------------------------------------------------------
1627 WDI_SupportedRatesType
1628---------------------------------------------------------------------------*/
1629typedef struct
1630{
1631 /*
1632 * For Self STA Entry: this represents Self Mode.
1633 * For Peer Stations, this represents the mode of the peer.
1634 * On Station:
1635 * --this mode is updated when PE adds the Self Entry.
1636 * -- OR when PE sends 'ADD_BSS' message and station context in BSS is used to indicate the mode of the AP.
1637 * ON AP:
1638 * -- this mode is updated when PE sends 'ADD_BSS' and Sta entry for that BSS is used
1639 * to indicate the self mode of the AP.
1640 * -- OR when a station is associated, PE sends 'ADD_STA' message with this mode updated.
1641 */
1642
1643 WDI_RateModeType opRateMode;
1644
1645 /* 11b, 11a and aniLegacyRates are IE rates which gives rate in unit of 500Kbps */
1646 wpt_uint16 llbRates[WDI_NUM_11B_RATES];
1647 wpt_uint16 llaRates[WDI_NUM_11A_RATES];
1648 wpt_uint16 aLegacyRates[WDI_NUM_POLARIS_RATES];
1649
1650 /*Taurus only supports 26 Titan Rates(no ESF/concat Rates will be supported)
1651 First 26 bits are reserved for those Titan rates and
1652 the last 4 bits(bit28-31) for Taurus, 2(bit26-27) bits are reserved.*/
1653 wpt_uint32 uEnhancedRateBitmap; //Titan and Taurus Rates
1654
1655 /*
1656 * 0-76 bits used, remaining reserved
1657 * bits 0-15 and 32 should be set.
1658 */
1659 wpt_uint8 aSupportedMCSSet[WDI_MAC_MAX_SUPPORTED_MCS_SET];
1660
1661 /*
1662 * RX Highest Supported Data Rate defines the highest data
1663 * rate that the STA is able to receive, in unites of 1Mbps.
1664 * This value is derived from "Supported MCS Set field" inside
1665 * the HT capability element.
1666 */
1667 wpt_uint16 aRxHighestDataRate;
1668
Jeff Johnsone7245742012-09-05 17:12:55 -07001669
1670#ifdef WLAN_FEATURE_11AC
1671 /*Indicates the Maximum MCS that can be received for each number
1672 of spacial streams */
1673 wpt_uint16 vhtRxMCSMap;
1674 /*Indicate the highest VHT data rate that the STA is able to receive*/
1675 wpt_uint16 vhtRxHighestDataRate;
1676 /*Indicates the Maximum MCS that can be transmitted for each number
1677 of spacial streams */
1678 wpt_uint16 vhtTxMCSMap;
1679 /*Indicate the highest VHT data rate that the STA is able to transmit*/
1680 wpt_uint16 vhtTxHighestDataRate;
1681#endif
1682
Jeff Johnson295189b2012-06-20 16:38:30 -07001683} WDI_SupportedRates;
1684
1685/*--------------------------------------------------------------------------
1686 WDI_HTMIMOPowerSaveState
1687 Spatial Multiplexing(SM) Power Save mode
1688 --------------------------------------------------------------------------*/
1689typedef enum
1690{
1691 WDI_HT_MIMO_PS_STATIC = 0, // Static SM Power Save mode
1692 WDI_HT_MIMO_PS_DYNAMIC = 1, // Dynamic SM Power Save mode
1693 WDI_HT_MIMO_PS_NA = 2, // reserved
1694 WDI_HT_MIMO_PS_NO_LIMIT = 3, // SM Power Save disabled
1695} WDI_HTMIMOPowerSaveState;
1696
1697/*---------------------------------------------------------------------------
1698 WDI_ConfigStaReqInfoType
1699---------------------------------------------------------------------------*/
1700typedef struct
1701{
1702 /*BSSID of STA*/
1703 wpt_macAddr macBSSID;
1704
1705 /*ASSOC ID, as assigned by UMAC*/
1706 wpt_uint16 usAssocId;
1707
1708 /*Used for configuration of different HW modules.*/
1709 WDI_STAEntryType wdiSTAType;
1710
Gopichand Nakkalae7cbc5d2013-03-27 21:09:23 -07001711 /*STA Index */
1712 wpt_uint8 staIdx;
1713
Jeff Johnson295189b2012-06-20 16:38:30 -07001714 /*Short Preamble Supported.*/
1715 wpt_uint8 ucShortPreambleSupported;
1716
1717 /*MAC Address of STA*/
1718 wpt_macAddr macSTA;
1719
1720 /*Listen interval of the STA*/
1721 wpt_uint16 usListenInterval;
1722
1723 /*Support for 11e/WMM*/
1724 wpt_uint8 ucWMMEnabled;
1725
1726 /*11n HT capable STA*/
1727 wpt_uint8 ucHTCapable;
1728
1729 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
1730 wpt_uint8 ucTXChannelWidthSet;
1731
1732 /*RIFS mode 0 - NA, 1 - Allowed*/
1733 wpt_uint8 ucRIFSMode;
1734
1735 /*L-SIG TXOP Protection mechanism
1736 0 - No Support, 1 - Supported
1737 SG - there is global field*/
1738 wpt_uint8 ucLSIGTxopProtection;
1739
1740 /*Max Ampdu Size supported by STA. Device programming.
1741 0 : 8k , 1 : 16k, 2 : 32k, 3 : 64k */
1742 wpt_uint8 ucMaxAmpduSize;
1743
1744 /*Max Ampdu density. Used by RA. 3 : 0~7 : 2^(11nAMPDUdensity -4)*/
1745 wpt_uint8 ucMaxAmpduDensity;
1746
1747 /*Max AMSDU size 1 : 3839 bytes, 0 : 7935 bytes*/
1748 wpt_uint8 ucMaxAmsduSize;
1749
1750 /*Short GI support for 40Mhz packets*/
1751 wpt_uint8 ucShortGI40Mhz;
1752
1753 /*Short GI support for 20Mhz packets*/
1754 wpt_uint8 ucShortGI20Mhz;
1755
1756 /*These rates are the intersection of peer and self capabilities.*/
1757 WDI_SupportedRates wdiSupportedRates;
1758
1759 /*Robust Management Frame (RMF) enabled/disabled*/
1760 wpt_uint8 ucRMFEnabled;
1761
1762 /* The unicast encryption type in the association */
1763 wpt_uint32 ucEncryptType;
1764
1765 /*HAL should update the existing STA entry, if this flag is set. UMAC
1766 will set this flag in case of RE-ASSOC, where we want to reuse the old
1767 STA ID.*/
1768 WDI_ConfigActionType wdiAction;
1769
1770 /*U-APSD Flags: 1b per AC. Encoded as follows:
1771 b7 b6 b5 b4 b3 b2 b1 b0 =
1772 X X X X BE BK VI VO
1773 */
1774 wpt_uint8 ucAPSD;
1775
1776 /*Max SP Length*/
1777 wpt_uint8 ucMaxSPLen;
1778
1779 /*11n Green Field preamble support*/
1780 wpt_uint8 ucGreenFieldCapable;
1781
1782 /*MIMO Power Save mode*/
1783 WDI_HTMIMOPowerSaveState wdiMIMOPS;
1784
1785 /*Delayed BA Support*/
1786 wpt_uint8 ucDelayedBASupport;
1787
1788 /*Max AMPDU duration in 32us*/
1789 wpt_uint8 us32MaxAmpduDuratio;
1790
1791 /*HT STA should set it to 1 if it is enabled in BSS
1792 HT STA should set it to 0 if AP does not support it. This indication is
1793 sent to HAL and HAL uses this flag to pickup up appropriate 40Mhz rates.
1794 */
1795 wpt_uint8 ucDsssCckMode40Mhz;
1796
1797 wpt_uint8 ucP2pCapableSta;
Jeff Johnsone7245742012-09-05 17:12:55 -07001798#ifdef WLAN_FEATURE_11AC
1799 wpt_uint8 ucVhtCapableSta;
1800 wpt_uint8 ucVhtTxChannelWidthSet;
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08001801 wpt_uint8 ucVhtTxBFEnabled;
Abhishek Singh6927fa02014-06-27 17:19:55 +05301802 wpt_uint8 vhtTxMUBformeeCapable;
Jeff Johnsone7245742012-09-05 17:12:55 -07001803#endif
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08001804
1805 wpt_uint8 ucHtLdpcEnabled;
1806 wpt_uint8 ucVhtLdpcEnabled;
Jeff Johnson295189b2012-06-20 16:38:30 -07001807}WDI_ConfigStaReqInfoType;
1808
1809
1810/*---------------------------------------------------------------------------
1811 WDI_RateSet
1812
1813 12 Bytes long because this structure can be used to represent rate
1814 and extended rate set IEs
1815 The parser assume this to be at least 12
1816---------------------------------------------------------------------------*/
1817#define WDI_RATESET_EID_MAX 12
1818
1819typedef struct
1820{
1821 wpt_uint8 ucNumRates;
1822 wpt_uint8 aRates[WDI_RATESET_EID_MAX];
1823} WDI_RateSet;
1824
1825/*---------------------------------------------------------------------------
1826 WDI_AciAifsnType
1827 access category record
1828---------------------------------------------------------------------------*/
1829typedef struct
1830{
1831 wpt_uint8 rsvd : 1;
1832 wpt_uint8 aci : 2;
1833 wpt_uint8 acm : 1;
1834 wpt_uint8 aifsn : 4;
1835} WDI_AciAifsnType;
1836
1837/*---------------------------------------------------------------------------
1838 WDI_CWType
1839 contention window size
1840---------------------------------------------------------------------------*/
1841typedef struct
1842{
1843 wpt_uint8 max : 4;
1844 wpt_uint8 min : 4;
1845} WDI_CWType;
1846
1847/*---------------------------------------------------------------------------
1848 WDI_EdcaParamRecord
1849---------------------------------------------------------------------------*/
1850typedef struct
1851{
1852 /*Access Category Record*/
1853 WDI_AciAifsnType wdiACI;
1854
1855 /*Contention WIndow Size*/
1856 WDI_CWType wdiCW;
1857
1858 /*TX Oportunity Limit*/
1859 wpt_uint16 usTXOPLimit;
1860} WDI_EdcaParamRecord;
1861
1862/*---------------------------------------------------------------------------
1863 WDI_EDCAParamsType
1864---------------------------------------------------------------------------*/
1865typedef struct
1866{
1867 /*BSS Index*/
1868 wpt_uint8 ucBSSIdx;
1869
1870 /*?*/
1871 wpt_boolean bHighPerformance;
1872
1873 /*Best Effort*/
1874 WDI_EdcaParamRecord wdiACBE;
1875
1876 /*Background*/
1877 WDI_EdcaParamRecord wdiACBK;
1878
1879 /*Video*/
1880 WDI_EdcaParamRecord wdiACVI;
1881
1882 /*Voice*/
1883 WDI_EdcaParamRecord acvo; // voice
1884} WDI_EDCAParamsType;
1885
1886/* operMode in ADD BSS message */
1887#define WDI_BSS_OPERATIONAL_MODE_AP 0
1888#define WDI_BSS_OPERATIONAL_MODE_STA 1
1889
1890/*---------------------------------------------------------------------------
1891 WDI_ConfigBSSRspParamsType
1892---------------------------------------------------------------------------*/
1893typedef struct
1894{
1895 /*Status of the response*/
1896 WDI_Status wdiStatus;
1897
1898 /*BSSID of the BSS*/
1899 wpt_macAddr macBSSID;
1900
1901 /*BSS Index*/
1902 wpt_uint8 ucBSSIdx;
1903
1904 /*Unicast DPU signature*/
1905 wpt_uint8 ucUcastSig;
1906
1907 /*Broadcast DPU Signature*/
1908 wpt_uint8 ucBcastSig;
1909
1910 /*MAC Address of STA*/
1911 wpt_macAddr macSTA;
1912
1913 /*BSS STA ID*/
1914 wpt_uint8 ucSTAIdx;
1915
1916#ifdef WLAN_FEATURE_VOWIFI
1917 /*HAL fills in the tx power used for mgmt frames in this field */
1918 wpt_int8 ucTxMgmtPower;
1919#endif
1920
1921}WDI_ConfigBSSRspParamsType;
1922
1923/*---------------------------------------------------------------------------
1924 WDI_DelBSSReqParamsType
1925---------------------------------------------------------------------------*/
1926typedef struct
1927{
1928 /*BSS Index of the BSS*/
1929 wpt_uint8 ucBssIdx;
1930
1931 /*Request status callback offered by UMAC - it is called if the current
1932 req has returned PENDING as status; it delivers the status of sending
1933 the message over the BUS */
1934 WDI_ReqStatusCb wdiReqStatusCB;
1935
1936 /*The user data passed in by UMAC, it will be sent back when the above
1937 function pointer will be called */
1938 void* pUserData;
1939}WDI_DelBSSReqParamsType;
1940
1941/*---------------------------------------------------------------------------
1942 WDI_DelBSSRspParamsType
1943---------------------------------------------------------------------------*/
1944typedef struct
1945{
1946 /*Status of the response*/
1947 WDI_Status wdiStatus;
1948
1949 /*BSSID of the BSS*/
1950 wpt_macAddr macBSSID;
1951
1952 wpt_uint8 ucBssIdx;
1953
1954}WDI_DelBSSRspParamsType;
1955
1956/*---------------------------------------------------------------------------
1957 WDI_ConfigSTARspParamsType
1958---------------------------------------------------------------------------*/
1959typedef struct
1960{
1961 /*Status of the response*/
1962 WDI_Status wdiStatus;
1963
1964 /*STA Idx allocated by HAL*/
1965 wpt_uint8 ucSTAIdx;
1966
1967 /*MAC Address of STA*/
1968 wpt_macAddr macSTA;
1969
1970 /* BSSID Index of BSS to which the station is associated */
1971 wpt_uint8 ucBssIdx;
1972
1973 /* DPU Index - PTK */
1974 wpt_uint8 ucDpuIndex;
1975
1976 /* Bcast DPU Index - GTK */
1977 wpt_uint8 ucBcastDpuIndex;
1978
1979 /* Management DPU Index - IGTK - Why is it called bcastMgmtDpuIdx? */
1980 wpt_uint8 ucBcastMgmtDpuIdx;
1981
1982 /*Unicast DPU signature*/
1983 wpt_uint8 ucUcastSig;
1984
1985 /*Broadcast DPU Signature*/
1986 wpt_uint8 ucBcastSig;
1987
1988 /* IGTK DPU signature*/
1989 wpt_uint8 ucMgmtSig;
1990
1991}WDI_ConfigSTARspParamsType;
1992
1993/*---------------------------------------------------------------------------
1994 WDI_PostAssocRspParamsType
1995---------------------------------------------------------------------------*/
1996typedef struct
1997{
1998 /*Status of the response*/
1999 WDI_Status wdiStatus;
2000
2001 /*Parameters related to the BSS*/
2002 WDI_ConfigBSSRspParamsType bssParams;
2003
2004 /*Parameters related to the self STA*/
2005 WDI_ConfigSTARspParamsType staParams;
2006
2007}WDI_PostAssocRspParamsType;
2008
2009/*---------------------------------------------------------------------------
2010 WDI_DelSTAReqParamsType
2011---------------------------------------------------------------------------*/
2012typedef struct
2013{
2014 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
2015 wpt_uint8 ucSTAIdx;
2016
2017 /*Request status callback offered by UMAC - it is called if the current
2018 req has returned PENDING as status; it delivers the status of sending
2019 the message over the BUS */
2020 WDI_ReqStatusCb wdiReqStatusCB;
2021
2022 /*The user data passed in by UMAC, it will be sent back when the above
2023 function pointer will be called */
2024 void* pUserData;
2025}WDI_DelSTAReqParamsType;
2026
2027/*---------------------------------------------------------------------------
2028 WDI_DelSTARspParamsType
2029---------------------------------------------------------------------------*/
2030typedef struct
2031{
2032 /*Status of the response*/
2033 WDI_Status wdiStatus;
2034
2035 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
2036 wpt_uint8 ucSTAIdx;
2037}WDI_DelSTARspParamsType;
2038
2039/*---------------------------------------------------------------------------
2040 WDI_EncryptType
2041---------------------------------------------------------------------------*/
2042typedef enum
2043{
2044 WDI_ENCR_NONE,
2045 WDI_ENCR_WEP40,
2046 WDI_ENCR_WEP104,
2047 WDI_ENCR_TKIP,
2048 WDI_ENCR_CCMP,
2049#if defined(FEATURE_WLAN_WAPI)
2050 WDI_ENCR_WPI,
2051#endif
2052 WDI_ENCR_AES_128_CMAC
2053} WDI_EncryptType;
2054
2055/*---------------------------------------------------------------------------
2056 WDI_KeyDirectionType
2057---------------------------------------------------------------------------*/
2058typedef enum
2059{
2060 WDI_TX_ONLY,
2061 WDI_RX_ONLY,
2062 WDI_TX_RX,
Jeff Johnson295189b2012-06-20 16:38:30 -07002063 WDI_TX_DEFAULT,
Jeff Johnson295189b2012-06-20 16:38:30 -07002064 WDI_DONOT_USE_KEY_DIRECTION
2065} WDI_KeyDirectionType;
2066
2067#define WDI_MAX_ENCR_KEYS 4
2068#define WDI_MAX_KEY_LENGTH 32
2069#if defined(FEATURE_WLAN_WAPI)
2070#define WDI_MAX_KEY_RSC_LEN 16
2071#define WDI_WAPI_KEY_RSC_LEN 16
2072#else
2073#define WDI_MAX_KEY_RSC_LEN 8
2074#endif
2075
2076typedef struct
2077{
2078 /* Key ID */
2079 wpt_uint8 keyId;
2080 /* 0 for multicast */
2081 wpt_uint8 unicast;
2082 /* Key Direction */
2083 WDI_KeyDirectionType keyDirection;
2084 /* Usage is unknown */
2085 wpt_uint8 keyRsc[WDI_MAX_KEY_RSC_LEN];
2086 /* =1 for authenticator, =0 for supplicant */
2087 wpt_uint8 paeRole;
2088 wpt_uint16 keyLength;
2089 wpt_uint8 key[WDI_MAX_KEY_LENGTH];
2090
2091}WDI_KeysType;
2092
2093/*---------------------------------------------------------------------------
2094 WDI_SetBSSKeyReqInfoType
2095---------------------------------------------------------------------------*/
2096typedef struct
2097{
2098 /*BSS Index of the BSS*/
2099 wpt_uint8 ucBssIdx;
2100
2101 /*Encryption Type used with peer*/
2102 WDI_EncryptType wdiEncType;
2103
2104 /*Number of keys*/
2105 wpt_uint8 ucNumKeys;
2106
2107 /*Array of keys.*/
2108 WDI_KeysType aKeys[WDI_MAX_ENCR_KEYS];
2109
2110 /*Control for Replay Count, 1= Single TID based replay count on Tx
2111 0 = Per TID based replay count on TX */
2112 wpt_uint8 ucSingleTidRc;
2113}WDI_SetBSSKeyReqInfoType;
2114
2115/*---------------------------------------------------------------------------
2116 WDI_SetBSSKeyReqParamsType
2117---------------------------------------------------------------------------*/
2118typedef struct
2119{
2120 /*Key Info */
2121 WDI_SetBSSKeyReqInfoType wdiBSSKeyInfo;
2122
2123 /*Request status callback offered by UMAC - it is called if the current
2124 req has returned PENDING as status; it delivers the status of sending
2125 the message over the BUS */
2126 WDI_ReqStatusCb wdiReqStatusCB;
2127
2128 /*The user data passed in by UMAC, it will be sent back when the above
2129 function pointer will be called */
2130 void* pUserData;
2131}WDI_SetBSSKeyReqParamsType;
2132
2133/*---------------------------------------------------------------------------
2134 WDI_WepType
2135---------------------------------------------------------------------------*/
2136typedef enum
2137{
2138 WDI_WEP_STATIC,
2139 WDI_WEP_DYNAMIC
2140
2141} WDI_WepType;
2142
2143/*---------------------------------------------------------------------------
2144 WDI_RemoveBSSKeyReqInfoType
2145---------------------------------------------------------------------------*/
2146typedef struct
2147{
2148 /*BSS Index of the BSS*/
2149 wpt_uint8 ucBssIdx;
2150
2151 /*Encryption Type used with peer*/
2152 WDI_EncryptType wdiEncType;
2153
2154 /*Key Id*/
2155 wpt_uint8 ucKeyId;
2156
2157 /*STATIC/DYNAMIC. Used in Nullifying in Key Descriptors for Static/Dynamic
2158 keys*/
2159 WDI_WepType wdiWEPType;
2160}WDI_RemoveBSSKeyReqInfoType;
2161
2162/*---------------------------------------------------------------------------
2163 WDI_RemoveBSSKeyReqParamsType
2164---------------------------------------------------------------------------*/
2165typedef struct
2166{
2167 /*Key Info */
2168 WDI_RemoveBSSKeyReqInfoType wdiKeyInfo;
2169
2170 /*Request status callback offered by UMAC - it is called if the current
2171 req has returned PENDING as status; it delivers the status of sending
2172 the message over the BUS */
2173 WDI_ReqStatusCb wdiReqStatusCB;
2174
2175 /*The user data passed in by UMAC, it will be sent back when the above
2176 function pointer will be called */
2177 void* pUserData;
2178}WDI_RemoveBSSKeyReqParamsType;
2179
2180/*---------------------------------------------------------------------------
2181 WDI_SetSTAKeyReqInfoType
2182---------------------------------------------------------------------------*/
2183typedef struct
2184{
2185 /*STA Index*/
2186 wpt_uint8 ucSTAIdx;
2187
2188 /*Encryption Type used with peer*/
2189 WDI_EncryptType wdiEncType;
2190
2191 /*STATIC/DYNAMIC*/
2192 WDI_WepType wdiWEPType;
2193
2194 /*Default WEP key, valid only for static WEP, must between 0 and 3.*/
2195 wpt_uint8 ucDefWEPIdx;
2196
2197 /*Number of keys*/
2198 wpt_uint8 ucNumKeys;
2199
2200 /*Array of keys.*/
2201 WDI_KeysType wdiKey[WDI_MAX_ENCR_KEYS];
2202
2203 /*Control for Replay Count, 1= Single TID based replay count on Tx
2204 0 = Per TID based replay count on TX */
2205 wpt_uint8 ucSingleTidRc;
2206}WDI_SetSTAKeyReqInfoType;
2207
2208/*---------------------------------------------------------------------------
2209 WDI_ConfigBSSReqInfoType
2210---------------------------------------------------------------------------*/
2211typedef struct
2212{
2213 /*Peer BSSID*/
2214 wpt_macAddr macBSSID;
2215
2216 /*Self MAC Address*/
2217 wpt_macAddr macSelfAddr;
2218
2219 /*BSS Type*/
2220 WDI_BssType wdiBSSType;
2221
2222 /*Operational Mode: AP =0, STA = 1*/
2223 wpt_uint8 ucOperMode;
2224
2225 /*Network Type*/
2226 WDI_NwType wdiNWType;
2227
2228 /*Used to classify PURE_11G/11G_MIXED to program MTU*/
2229 wpt_uint8 ucShortSlotTimeSupported;
2230
2231 /*Co-exist with 11a STA*/
2232 wpt_uint8 ucllaCoexist;
2233
2234 /*Co-exist with 11b STA*/
2235 wpt_uint8 ucllbCoexist;
2236
2237 /*Co-exist with 11g STA*/
2238 wpt_uint8 ucllgCoexist;
2239
2240 /*Coexistence with 11n STA*/
2241 wpt_uint8 ucHT20Coexist;
2242
2243 /*Non GF coexist flag*/
2244 wpt_uint8 ucllnNonGFCoexist;
2245
2246 /*TXOP protection support*/
2247 wpt_uint8 ucTXOPProtectionFullSupport;
2248
2249 /*RIFS mode*/
2250 wpt_uint8 ucRIFSMode;
2251
2252 /*Beacon Interval in TU*/
2253 wpt_uint16 usBeaconInterval;
2254
2255 /*DTIM period*/
2256 wpt_uint8 ucDTIMPeriod;
2257
2258 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
2259 wpt_uint8 ucTXChannelWidthSet;
2260
2261 /*Operating channel*/
2262 wpt_uint8 ucCurrentOperChannel;
2263
2264 /*Extension channel for channel bonding*/
2265 wpt_uint8 ucCurrentExtChannel;
2266
2267 /*Context of the station being added in HW.*/
2268 WDI_ConfigStaReqInfoType wdiSTAContext;
2269
2270 /*SSID of the BSS*/
2271 WDI_MacSSid wdiSSID;
2272
2273 /*HAL should update the existing BSS entry, if this flag is set. UMAC will
2274 set this flag in case of RE-ASSOC, where we want to reuse the old BSSID*/
2275 WDI_ConfigAction wdiAction;
2276
2277 /*Basic Rate Set*/
2278 WDI_RateSet wdiRateSet;
2279
2280 /*Enable/Disable HT capabilities of the BSS*/
2281 wpt_uint8 ucHTCapable;
2282
2283 /* Enable/Disable OBSS protection */
2284 wpt_uint8 ucObssProtEnabled;
2285
2286 /*RMF enabled/disabled*/
2287 wpt_uint8 ucRMFEnabled;
2288
2289 /*Determines the current HT Operating Mode operating mode of the
2290 802.11n STA*/
2291 WDI_HTOperatingMode wdiHTOperMod;
2292
2293 /*Dual CTS Protection: 0 - Unused, 1 - Used*/
2294 wpt_uint8 ucDualCTSProtection;
2295
2296 /* Probe Response Max retries */
2297 wpt_uint8 ucMaxProbeRespRetryLimit;
2298
2299 /* To Enable Hidden ssid */
2300 wpt_uint8 bHiddenSSIDEn;
2301
2302 /* To Enable Disable FW Proxy Probe Resp */
2303 wpt_uint8 bProxyProbeRespEn;
2304
2305 /* Boolean to indicate if EDCA params are valid. UMAC might not have valid
2306 EDCA params or might not desire to apply EDCA params during config BSS.
2307 0 implies Not Valid ; Non-Zero implies valid*/
2308 wpt_uint8 ucEDCAParamsValid;
2309
2310 /*EDCA Parameters for BK*/
2311 WDI_EdcaParamRecord wdiBKEDCAParams;
2312
2313 /*EDCA Parameters for BE*/
2314 WDI_EdcaParamRecord wdiBEEDCAParams;
2315
2316 /*EDCA Parameters for VI*/
2317 WDI_EdcaParamRecord wdiVIEDCAParams;
2318
2319 /*EDCA Parameters for VO*/
2320 WDI_EdcaParamRecord wdiVOEDCAParams;
2321
2322#ifdef WLAN_FEATURE_VOWIFI
2323 /*max power to be used after applying the power constraint, if any */
2324 wpt_int8 cMaxTxPower;
2325#endif
2326
2327 /* Persona for the BSS can be STA,AP,GO,CLIENT, same as Connection Mode */
2328 wpt_uint8 ucPersona;
2329
2330 /* Spectrum Mangement Indicator */
2331 wpt_uint8 bSpectrumMgtEn;
2332
2333#ifdef WLAN_FEATURE_VOWIFI_11R
2334 wpt_uint8 bExtSetStaKeyParamValid;
2335 WDI_SetSTAKeyReqInfoType wdiExtSetKeyParam;
2336#endif
2337
Jeff Johnsone7245742012-09-05 17:12:55 -07002338#ifdef WLAN_FEATURE_11AC
2339 wpt_uint8 ucVhtCapableSta;
2340 wpt_uint8 ucVhtTxChannelWidthSet;
2341#endif
2342
Jeff Johnson295189b2012-06-20 16:38:30 -07002343}WDI_ConfigBSSReqInfoType;
2344
2345/*---------------------------------------------------------------------------
2346 WDI_PostAssocReqParamsType
2347---------------------------------------------------------------------------*/
2348typedef struct
2349{
2350 /*Config STA arguments.*/
2351 WDI_ConfigStaReqInfoType wdiSTAParams;
2352
2353 /*Config BSS Arguments*/
2354 WDI_ConfigBSSReqInfoType wdiBSSParams;
2355
2356 /*Request status callback offered by UMAC - it is called if the current
2357 req has returned PENDING as status; it delivers the status of sending
2358 the message over the BUS */
2359 WDI_ReqStatusCb wdiReqStatusCB;
2360
2361 /*The user data passed in by UMAC, it will be sent back when the above
2362 function pointer will be called */
2363 void* pUserData;
2364}WDI_PostAssocReqParamsType;
2365
2366/*---------------------------------------------------------------------------
2367 WDI_ConfigBSSReqParamsType
2368---------------------------------------------------------------------------*/
2369typedef struct
2370{
2371 /*Info for the Join request that will be sent down to the device*/
2372 WDI_ConfigBSSReqInfoType wdiReqInfo;
2373
2374 /*Request status callback offered by UMAC - it is called if the current
2375 req has returned PENDING as status; it delivers the status of sending
2376 the message over the BUS */
2377 WDI_ReqStatusCb wdiReqStatusCB;
2378
2379 /*The user data passed in by UMAC, it will be sent back when the above
2380 function pointer will be called */
2381 void* pUserData;
2382}WDI_ConfigBSSReqParamsType;
2383
2384/*---------------------------------------------------------------------------
2385 WDI_SetSTAKeyReqParamsType
2386---------------------------------------------------------------------------*/
2387typedef struct
2388{
2389 /*Key Info*/
2390 WDI_SetSTAKeyReqInfoType wdiKeyInfo;
2391
2392 /*Request status callback offered by UMAC - it is called if the current
2393 req has returned PENDING as status; it delivers the status of sending
2394 the message over the BUS */
2395 WDI_ReqStatusCb wdiReqStatusCB;
2396
2397 /*The user data passed in by UMAC, it will be sent back when the above
2398 function pointer will be called */
2399 void* pUserData;
2400}WDI_SetSTAKeyReqParamsType;
2401
2402/*---------------------------------------------------------------------------
2403 WDI_RemoveSTAKeyReqInfoType
2404---------------------------------------------------------------------------*/
2405typedef struct
2406{
2407 /*STA Index*/
2408 wpt_uint8 ucSTAIdx;
2409
2410 /*Encryption Type used with peer*/
2411 WDI_EncryptType wdiEncType;
2412
2413 /*Key Id*/
2414 wpt_uint8 ucKeyId;
2415
2416 /*Whether to invalidate the Broadcast key or Unicast key. In case of WEP,
2417 the same key is used for both broadcast and unicast.*/
2418 wpt_uint8 ucUnicast;
2419}WDI_RemoveSTAKeyReqInfoType;
2420
2421/*---------------------------------------------------------------------------
2422 WDI_RemoveSTAKeyReqParamsType
2423---------------------------------------------------------------------------*/
2424typedef struct
2425{
2426 /*Key Info */
2427 WDI_RemoveSTAKeyReqInfoType wdiKeyInfo;
2428
2429 /*Request status callback offered by UMAC - it is called if the current
2430 req has returned PENDING as status; it delivers the status of sending
2431 the message over the BUS */
2432 WDI_ReqStatusCb wdiReqStatusCB;
2433
2434 /*The user data passed in by UMAC, it will be sent back when the above
2435 function pointer will be called */
2436 void* pUserData;
2437}WDI_RemoveSTAKeyReqParamsType;
2438
2439/*---------------------------------------------------------------------------
2440 QOS Parameters
2441---------------------------------------------------------------------------*/
2442
2443/*---------------------------------------------------------------------------
2444 WDI_TSInfoTfc
2445---------------------------------------------------------------------------*/
2446typedef struct
2447{
2448 wpt_uint16 ackPolicy:2;
2449 wpt_uint16 userPrio:3;
2450 wpt_uint16 psb:1;
2451 wpt_uint16 aggregation : 1;
2452 wpt_uint16 accessPolicy : 2;
2453 wpt_uint16 direction : 2;
2454 wpt_uint16 tsid : 4;
2455 wpt_uint16 trafficType : 1;
2456} WDI_TSInfoTfc;
2457
2458/*---------------------------------------------------------------------------
2459 WDI_TSInfoSch
2460---------------------------------------------------------------------------*/
2461typedef struct
2462{
2463 wpt_uint8 rsvd : 7;
2464 wpt_uint8 schedule : 1;
2465} WDI_TSInfoSch;
2466
2467/*---------------------------------------------------------------------------
2468 WDI_TSInfoType
2469---------------------------------------------------------------------------*/
2470typedef struct
2471{
2472 WDI_TSInfoTfc wdiTraffic;
2473 WDI_TSInfoSch wdiSchedule;
2474} WDI_TSInfoType;
2475
2476/*---------------------------------------------------------------------------
2477 WDI_TspecIEType
2478---------------------------------------------------------------------------*/
2479typedef struct
2480{
2481 wpt_uint8 ucType;
2482 wpt_uint8 ucLength;
2483 WDI_TSInfoType wdiTSinfo;
2484 wpt_uint16 usNomMsduSz;
2485 wpt_uint16 usMaxMsduSz;
2486 wpt_uint32 uMinSvcInterval;
2487 wpt_uint32 uMaxSvcInterval;
2488 wpt_uint32 uInactInterval;
2489 wpt_uint32 uSuspendInterval;
2490 wpt_uint32 uSvcStartTime;
2491 wpt_uint32 uMinDataRate;
2492 wpt_uint32 uMeanDataRate;
2493 wpt_uint32 uPeakDataRate;
2494 wpt_uint32 uMaxBurstSz;
2495 wpt_uint32 uDelayBound;
2496 wpt_uint32 uMinPhyRate;
2497 wpt_uint16 usSurplusBw;
2498 wpt_uint16 usMediumTime;
2499}WDI_TspecIEType;
2500
2501/*---------------------------------------------------------------------------
2502 WDI_AddTSReqInfoType
2503---------------------------------------------------------------------------*/
2504typedef struct
2505{
2506 /*STA Index*/
2507 wpt_uint8 ucSTAIdx;
2508
2509 /*Identifier for TSpec*/
2510 wpt_uint16 ucTspecIdx;
2511
2512 /*Tspec IE negotiated OTA*/
2513 WDI_TspecIEType wdiTspecIE;
2514
2515 /*UAPSD delivery and trigger enabled flags */
2516 wpt_uint8 ucUapsdFlags;
2517
2518 /*SI for each AC*/
2519 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
2520
2521 /*Suspend Interval for each AC*/
2522 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
2523
2524 /*DI for each AC*/
2525 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
2526
2527}WDI_AddTSReqInfoType;
2528
2529
2530/*---------------------------------------------------------------------------
2531 WDI_AddTSReqParamsType
2532---------------------------------------------------------------------------*/
2533typedef struct
2534{
2535 /*TSpec Info */
2536 WDI_AddTSReqInfoType wdiTsInfo;
2537
2538 /*Request status callback offered by UMAC - it is called if the current
2539 req has returned PENDING as status; it delivers the status of sending
2540 the message over the BUS */
2541 WDI_ReqStatusCb wdiReqStatusCB;
2542
2543 /*The user data passed in by UMAC, it will be sent back when the above
2544 function pointer will be called */
2545 void* pUserData;
2546}WDI_AddTSReqParamsType;
2547
2548/*---------------------------------------------------------------------------
2549 WDI_DelTSReqInfoType
2550---------------------------------------------------------------------------*/
2551typedef struct
2552{
2553 /*STA Index*/
2554 wpt_uint8 ucSTAIdx;
2555
2556 /*Identifier for TSpec*/
2557 wpt_uint16 ucTspecIdx;
2558
2559 /*BSSID of the BSS*/
2560 wpt_macAddr macBSSID;
2561}WDI_DelTSReqInfoType;
2562
2563/*---------------------------------------------------------------------------
2564 WDI_DelTSReqParamsType
2565---------------------------------------------------------------------------*/
2566typedef struct
2567{
2568 /*Del TSpec Info*/
2569 WDI_DelTSReqInfoType wdiDelTSInfo;
2570
2571 /*Request status callback offered by UMAC - it is called if the current
2572 req has returned PENDING as status; it delivers the status of sending
2573 the message over the BUS */
2574 WDI_ReqStatusCb wdiReqStatusCB;
2575
2576 /*The user data passed in by UMAC, it will be sent back when the above
2577 function pointer will be called */
2578 void* pUserData;
2579}WDI_DelTSReqParamsType;
2580
2581/*---------------------------------------------------------------------------
2582 WDI_UpdateEDCAInfoType
2583---------------------------------------------------------------------------*/
2584typedef struct
2585{
krunal soni0b366c02013-07-17 19:55:57 -07002586 /*BSS Index of the BSS*/
2587 wpt_uint16 ucBssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07002588
Jeff Johnson295189b2012-06-20 16:38:30 -07002589 /*EDCA params for BE*/
2590 WDI_EdcaParamRecord wdiEdcaBEInfo;
2591
2592 /*EDCA params for BK*/
2593 WDI_EdcaParamRecord wdiEdcaBKInfo;
2594
2595 /*EDCA params for VI*/
2596 WDI_EdcaParamRecord wdiEdcaVIInfo;
2597
2598 /*EDCA params for VO*/
2599 WDI_EdcaParamRecord wdiEdcaVOInfo;
2600
2601}WDI_UpdateEDCAInfoType;
2602
2603/*---------------------------------------------------------------------------
2604 WDI_UpdateEDCAParamsType
2605---------------------------------------------------------------------------*/
2606typedef struct
2607{
2608 /*EDCA Info */
2609 WDI_UpdateEDCAInfoType wdiEDCAInfo;
2610
2611 /*Request status callback offered by UMAC - it is called if the current
2612 req has returned PENDING as status; it delivers the status of sending
2613 the message over the BUS */
2614 WDI_ReqStatusCb wdiReqStatusCB;
2615
2616 /*The user data passed in by UMAC, it will be sent back when the above
2617 function pointer will be called */
2618 void* pUserData;
2619}WDI_UpdateEDCAParamsType;
2620
2621/*---------------------------------------------------------------------------
2622 WDI_AddBASessionReqinfoType
2623---------------------------------------------------------------------------*/
2624typedef struct
2625{
2626 /*Indicates the station for which BA is added..*/
2627 wpt_uint8 ucSTAIdx;
2628
2629 /*The peer mac address*/
2630 wpt_macAddr macPeerAddr;
2631
2632 /*TID for which BA was negotiated*/
2633 wpt_uint8 ucBaTID;
2634
2635 /*Delayed or imediate */
2636 wpt_uint8 ucBaPolicy;
2637
2638 /*The number of buffers for this TID (baTID)*/
2639 wpt_uint16 usBaBufferSize;
2640
2641 /*BA timeout in TU's*/
2642 wpt_uint16 usBaTimeout;
2643
2644 /*b0..b3 - Fragment Number - Always set to 0
2645 b4..b15 - Starting Sequence Number of first MSDU for which this BA is setup*/
2646 wpt_uint16 usBaSSN;
2647
2648 /*Originator/Recipient*/
2649 wpt_uint8 ucBaDirection;
2650
2651}WDI_AddBASessionReqinfoType;
2652
2653
2654/*---------------------------------------------------------------------------
2655 WDI_AddBASessionReqParamsType
2656---------------------------------------------------------------------------*/
2657typedef struct
2658{
2659 /*BA Session Info Type*/
2660 WDI_AddBASessionReqinfoType wdiBASessionInfoType;
2661
2662 /*Request status callback offered by UMAC - it is called if the current
2663 req has returned PENDING as status; it delivers the status of sending
2664 the message over the BUS */
2665 WDI_ReqStatusCb wdiReqStatusCB;
2666
2667 /*The user data passed in by UMAC, it will be sent back when the above
2668 function pointer will be called */
2669 void* pUserData;
2670}WDI_AddBASessionReqParamsType;
2671
2672/*---------------------------------------------------------------------------
2673 WDI_AddBASessionRspParamsType
2674---------------------------------------------------------------------------*/
2675typedef struct
2676{
2677 /*Status of the response*/
2678 WDI_Status wdiStatus;
2679
2680 /* Dialog token */
2681 wpt_uint8 ucBaDialogToken;
2682
2683 /* TID for which the BA session has been setup */
2684 wpt_uint8 ucBaTID;
2685
2686 /* BA Buffer Size allocated for the current BA session */
2687 wpt_uint8 ucBaBufferSize;
2688
2689 /* BA session ID */
2690 wpt_uint16 usBaSessionID;
2691
2692 /* Reordering Window buffer */
2693 wpt_uint8 ucWinSize;
2694
2695 /*Station Index to id the sta */
2696 wpt_uint8 ucSTAIdx;
2697
2698 /* Starting Sequence Number */
2699 wpt_uint16 usBaSSN;
2700
2701}WDI_AddBASessionRspParamsType;
2702
2703/*---------------------------------------------------------------------------
Siddharth Bhal171788a2014-09-29 21:02:40 +05302704 WDI_SpoofMacAddrRspParamType
2705---------------------------------------------------------------------------*/
2706typedef struct
2707{
2708 /* wdi status */
2709 wpt_uint32 wdiStatus;
2710
2711 /* Reserved Field */
2712 wpt_uint32 reserved;
2713
2714}WDI_SpoofMacAddrRspParamType;
2715/*---------------------------------------------------------------------------
Siddharth Bhal64246172015-02-27 01:04:37 +05302716 WDI_GetFrameLogRspParamType
2717---------------------------------------------------------------------------*/
2718typedef struct
2719{
2720 /* wdi status */
2721 wpt_uint32 wdiStatus;
2722}WDI_GetFrameLogRspParamType;
2723/*---------------------------------------------------------------------------
Siddharth Bhald1be97f2015-05-27 22:39:59 +05302724 WDI_FWLoggingInitRspParamType
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05302725---------------------------------------------------------------------------*/
2726typedef struct
2727{
Siddharth Bhald1be97f2015-05-27 22:39:59 +05302728 //FW mail box address
2729 wpt_uint64 logMailBoxAddr;
2730 wpt_uint32 status;
2731 //Logging mail box version
2732 wpt_uint8 logMailBoxVer;
2733 //Qshrink is enabled
2734 wpt_boolean logCompressEnabled;
c_manjeecfd1efb2015-09-25 19:32:34 +05302735 /* store the size of fw mem dump */
2736 wpt_uint32 fw_mem_dump_max_size;
Siddharth Bhald1be97f2015-05-27 22:39:59 +05302737 //Reserved for future purpose
Siddharth Bhald1be97f2015-05-27 22:39:59 +05302738 wpt_uint32 reserved1;
2739 wpt_uint32 reserved2;
2740}WDI_FWLoggingInitRspParamType;
Sachin Ahuja715aafc2015-07-21 23:35:10 +05302741
Gupta, Kapil7c34b322015-09-30 13:12:35 +05302742typedef struct
2743{
2744 /* wdi status */
2745 wpt_uint32 status;
2746}WDI_RssiMonitorStartRspParamType;
Sachin Ahuja715aafc2015-07-21 23:35:10 +05302747
Gupta, Kapil7c34b322015-09-30 13:12:35 +05302748typedef struct
2749{
2750 /* wdi status */
2751 wpt_uint32 status;
2752}WDI_RssiMonitorStopRspParamType;
Sachin Ahuja715aafc2015-07-21 23:35:10 +05302753/*---------------------------------------------------------------------------
2754 WDI_FatalEventLogsRspParamType
2755---------------------------------------------------------------------------*/
2756typedef struct
2757{
2758 /* wdi status */
2759 wpt_uint32 wdiStatus;
2760}WDI_FatalEventLogsRspParamType;
2761
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05302762/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07002763 WDI_AddBAReqinfoType
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 /* Reorder Window Size */
2774 wpt_uint8 ucWinSize;
2775
2776#ifdef FEATURE_ON_CHIP_REORDERING
2777 wpt_boolean bIsReorderingDoneOnChip;
2778#endif
2779
2780}WDI_AddBAReqinfoType;
2781
2782
2783/*---------------------------------------------------------------------------
2784 WDI_AddBAReqParamsType
2785---------------------------------------------------------------------------*/
2786typedef struct
2787{
2788 /*BA Info Type*/
2789 WDI_AddBAReqinfoType wdiBAInfoType;
2790
2791 /*Request status callback offered by UMAC - it is called if the current
2792 req has returned PENDING as status; it delivers the status of sending
2793 the message over the BUS */
2794 WDI_ReqStatusCb wdiReqStatusCB;
2795
2796 /*The user data passed in by UMAC, it will be sent back when the above
2797 function pointer will be called */
2798 void* pUserData;
2799}WDI_AddBAReqParamsType;
2800
2801
2802/*---------------------------------------------------------------------------
2803 WDI_AddBARspinfoType
2804---------------------------------------------------------------------------*/
2805typedef struct
2806{
2807 /*Status of the response*/
2808 WDI_Status wdiStatus;
2809
2810 /* Dialog token */
2811 wpt_uint8 ucBaDialogToken;
2812
2813}WDI_AddBARspinfoType;
2814
2815/*---------------------------------------------------------------------------
2816 WDI_TriggerBAReqCandidateType
2817---------------------------------------------------------------------------*/
2818typedef struct
2819{
2820 /* STA index */
2821 wpt_uint8 ucSTAIdx;
2822
2823 /* TID bit map for the STA's*/
2824 wpt_uint8 ucTidBitmap;
2825
2826}WDI_TriggerBAReqCandidateType;
2827
2828
2829/*---------------------------------------------------------------------------
2830 WDI_TriggerBAReqinfoType
2831---------------------------------------------------------------------------*/
2832typedef struct
2833{
2834 /*Indicates the station for which BA is added..*/
2835 wpt_uint8 ucSTAIdx;
2836
2837 /* Session Id */
2838 wpt_uint8 ucBASessionID;
2839
2840 /* Trigger BA Request candidate count */
2841 wpt_uint16 usBACandidateCnt;
2842
2843 /* WDI_TriggerBAReqCandidateType followed by this*/
2844
2845}WDI_TriggerBAReqinfoType;
2846
2847
2848/*---------------------------------------------------------------------------
2849 WDI_TriggerBAReqParamsType
2850---------------------------------------------------------------------------*/
2851typedef struct
2852{
2853 /*BA Trigger Info Type*/
2854 WDI_TriggerBAReqinfoType wdiTriggerBAInfoType;
2855
2856 /*Request status callback offered by UMAC - it is called if the current
2857 req has returned PENDING as status; it delivers the status of sending
2858 the message over the BUS */
2859 WDI_ReqStatusCb wdiReqStatusCB;
2860
2861 /*The user data passed in by UMAC, it will be sent back when the above
2862 function pointer will be called */
2863 void* pUserData;
2864}WDI_TriggerBAReqParamsType;
2865
2866/*---------------------------------------------------------------------------
2867 WDI_AddBAInfoType
2868---------------------------------------------------------------------------*/
2869typedef struct
2870{
2871 wpt_uint16 fBaEnable : 1;
2872 wpt_uint16 startingSeqNum: 12;
2873 wpt_uint16 reserved : 3;
2874}WDI_AddBAInfoType;
2875
2876/*---------------------------------------------------------------------------
2877 WDI_TriggerBARspCandidateType
2878---------------------------------------------------------------------------*/
2879#define STA_MAX_TC 8
2880
2881typedef struct
2882{
2883 /* STA index */
2884 wpt_macAddr macSTA;
2885
2886 /* BA Info */
2887 WDI_AddBAInfoType wdiBAInfo[STA_MAX_TC];
2888}WDI_TriggerBARspCandidateType;
2889
2890/*---------------------------------------------------------------------------
2891 WDI_TriggerBARspParamsType
2892---------------------------------------------------------------------------*/
2893typedef struct
2894{
2895 /*Status of the response*/
2896 WDI_Status wdiStatus;
2897
2898 /*BSSID of the BSS*/
2899 wpt_macAddr macBSSID;
2900
2901 /* Trigger BA response candidate count */
2902 wpt_uint16 usBaCandidateCnt;
2903
2904 /* WDI_TriggerBARspCandidateType followed by this*/
2905
2906}WDI_TriggerBARspParamsType;
2907
2908/*---------------------------------------------------------------------------
2909 WDI_DelBAReqinfoType
2910---------------------------------------------------------------------------*/
2911typedef struct
2912{
2913 /*Indicates the station for which BA is added..*/
2914 wpt_uint8 ucSTAIdx;
2915
2916 /*TID for which BA was negotiated*/
2917 wpt_uint8 ucBaTID;
2918
2919 /*Originator/Recipient*/
2920 wpt_uint8 ucBaDirection;
2921
2922}WDI_DelBAReqinfoType;
2923
2924/*---------------------------------------------------------------------------
2925 WDI_DelBAReqParamsType
2926---------------------------------------------------------------------------*/
2927typedef struct
2928{
2929 /*BA Info */
2930 WDI_DelBAReqinfoType wdiBAInfo;
2931
2932 /*Request status callback offered by UMAC - it is called if the current
2933 req has returned PENDING as status; it delivers the status of sending
2934 the message over the BUS */
2935 WDI_ReqStatusCb wdiReqStatusCB;
2936
2937 /*The user data passed in by UMAC, it will be sent back when the above
2938 function pointer will be called */
2939 void* pUserData;
2940}WDI_DelBAReqParamsType;
2941
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08002942/*---------------------------------------------------------------------------
2943 WDI_UpdateChannelReqinfoType
2944---------------------------------------------------------------------------*/
2945typedef struct
2946{
2947 /** primary 20 MHz channel frequency in mhz */
2948 wpt_uint32 mhz;
2949 /** Center frequency 1 in MHz*/
2950 wpt_uint32 band_center_freq1;
2951 /** Center frequency 2 in MHz - valid only for 11acvht 80plus80 mode*/
2952 wpt_uint32 band_center_freq2;
2953 /* The first 26 bits are a bit mask to indicate any channel flags,
2954 (see WLAN_HAL_CHAN_FLAG*)
2955 The last 6 bits indicate the mode (see tChannelPhyModeType)*/
2956 wpt_uint32 channel_info;
2957 /** contains min power, max power, reg power and reg class id. */
2958 wpt_uint32 reg_info_1;
2959 /** contains antennamax */
2960 wpt_uint32 reg_info_2;
2961}WDI_UpdateChannelReqinfoType;
2962
2963typedef struct
2964{
2965 wpt_uint8 numchan;
2966 WDI_UpdateChannelReqinfoType *pchanParam;
2967}WDI_UpdateChannelReqType;
2968/*---------------------------------------------------------------------------
2969 WDI_UpdateChReqParamsType
2970---------------------------------------------------------------------------*/
2971typedef struct
2972{
2973 /*BA Info */
2974 WDI_UpdateChannelReqType wdiUpdateChanParams;
2975
2976 /*Request status callback offered by UMAC - it is called if the current
2977 req has returned PENDING as status; it delivers the status of sending
2978 the message over the BUS */
2979 WDI_ReqStatusCb wdiReqStatusCB;
2980
2981 /*The user data passed in by UMAC, it will be sent back when the above
2982 function pointer will be called */
2983 void* pUserData;
2984}WDI_UpdateChReqParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07002985
2986/*---------------------------------------------------------------------------
2987 WDI_SwitchCHRspParamsType
2988---------------------------------------------------------------------------*/
2989typedef struct
2990{
2991 /*Status of the response*/
2992 WDI_Status wdiStatus;
2993
2994 /*Indicates the channel that WLAN is on*/
2995 wpt_uint8 ucChannel;
2996
2997#ifdef WLAN_FEATURE_VOWIFI
2998 /*HAL fills in the tx power used for mgmt frames in this field.*/
2999 wpt_int8 ucTxMgmtPower;
3000#endif
3001
3002}WDI_SwitchCHRspParamsType;
3003
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08003004/*--------------------------------------------------------------------
3005 WDI_SwitchChRspParamsType_V1
3006--------------------------------------------------------------------*/
3007typedef struct
3008{
3009 /*Status of the response*/
3010 WDI_Status wdiStatus;
3011
3012 /*Indicates the channel that WLAN is on*/
3013 wpt_uint8 ucChannel;
3014
3015#ifdef WLAN_FEATURE_VOWIFI
3016 /*HAL fills in the tx power used for mgmt frames in this field.*/
3017 wpt_int8 ucTxMgmtPower;
3018#endif
3019
3020 /* Source of Channel Switch */
3021 WDI_ChanSwitchSource channelSwitchSrc;
3022}WDI_SwitchChRspParamsType_V1;
3023
Jeff Johnson295189b2012-06-20 16:38:30 -07003024/*---------------------------------------------------------------------------
3025 WDI_ConfigSTAReqParamsType
3026---------------------------------------------------------------------------*/
3027typedef struct
3028{
3029 /*Info for the Join request that will be sent down to the device*/
3030 WDI_ConfigStaReqInfoType wdiReqInfo;
3031
3032 /*Request status callback offered by UMAC - it is called if the current
3033 req has returned PENDING as status; it delivers the status of sending
3034 the message over the BUS */
3035 WDI_ReqStatusCb wdiReqStatusCB;
3036
3037 /*The user data passed in by UMAC, it will be sent back when the above
3038 function pointer will be called */
3039 void* pUserData;
3040}WDI_ConfigSTAReqParamsType;
3041
3042
3043/*---------------------------------------------------------------------------
3044 WDI_UpdateBeaconParamsInfoType
3045---------------------------------------------------------------------------*/
3046
3047typedef struct
3048{
3049 /*BSS Index of the BSS*/
3050 wpt_uint8 ucBssIdx;
3051
3052 /*shortPreamble mode. HAL should update all the STA rates when it
3053 receives this message*/
3054 wpt_uint8 ucfShortPreamble;
3055 /* short Slot time.*/
3056 wpt_uint8 ucfShortSlotTime;
3057 /* Beacon Interval */
3058 wpt_uint16 usBeaconInterval;
3059 /*Protection related */
3060 wpt_uint8 ucllaCoexist;
3061 wpt_uint8 ucllbCoexist;
3062 wpt_uint8 ucllgCoexist;
3063 wpt_uint8 ucHt20MhzCoexist;
3064 wpt_uint8 ucllnNonGFCoexist;
3065 wpt_uint8 ucfLsigTXOPProtectionFullSupport;
3066 wpt_uint8 ucfRIFSMode;
3067
3068 wpt_uint16 usChangeBitmap;
3069}WDI_UpdateBeaconParamsInfoType;
3070
Mohit Khanna4a70d262012-09-11 16:30:12 -07003071#ifdef WLAN_FEATURE_11AC
3072typedef struct
3073{
3074 wpt_uint16 opMode;
3075 wpt_uint16 staId;
3076}WDI_UpdateVHTOpMode;
3077#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003078
3079/*---------------------------------------------------------------------------
3080 WDI_UpdateBeaconParamsType
3081---------------------------------------------------------------------------*/
3082typedef struct
3083{
3084 /*Update Beacon Params Info*/
3085 WDI_UpdateBeaconParamsInfoType wdiUpdateBeaconParamsInfo;
3086
3087 /*Request status callback offered by UMAC - it is called if the current
3088 req has returned PENDING as status; it delivers the status of sending
3089 the message over the BUS */
3090 WDI_ReqStatusCb wdiReqStatusCB;
3091
3092 /*The user data passed in by UMAC, it will be sent back when the above
3093 function pointer will be called */
3094 void* pUserData;
3095}WDI_UpdateBeaconParamsType;
3096
3097/*---------------------------------------------------------------------------
3098 WDI_SendBeaconParamsInfoType
3099---------------------------------------------------------------------------*/
3100
3101typedef struct {
3102
3103 /*BSSID of the BSS*/
3104 wpt_macAddr macBSSID;
3105
3106 /* Beacon data */
3107 wpt_uint8 beacon[WDI_BEACON_TEMPLATE_SIZE];
3108
3109 /* length of the template */
3110 wpt_uint32 beaconLength;
3111
Jeff Johnson295189b2012-06-20 16:38:30 -07003112 /* TIM IE offset from the beginning of the template.*/
3113 wpt_uint32 timIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07003114
Jeff Johnson295189b2012-06-20 16:38:30 -07003115 /* P2P IE offset from the beginning of the template */
3116 wpt_uint16 usP2PIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07003117} WDI_SendBeaconParamsInfoType;
3118
3119/*---------------------------------------------------------------------------
3120 WDI_SendBeaconParamsType
3121---------------------------------------------------------------------------*/
3122typedef struct
3123{
3124 /*Send Beacon Params Info*/
3125 WDI_SendBeaconParamsInfoType wdiSendBeaconParamsInfo;
3126
3127 /*Request status callback offered by UMAC - it is called if the current
3128 req has returned PENDING as status; it delivers the status of sending
3129 the message over the BUS */
3130 WDI_ReqStatusCb wdiReqStatusCB;
3131
3132 /*The user data passed in by UMAC, it will be sent back when the above
3133 function pointer will be called */
3134 void* pUserData;
3135}WDI_SendBeaconParamsType;
3136
3137/*---------------------------------------------------------------------------
3138 WDI_LinkStateType
3139---------------------------------------------------------------------------*/
3140typedef enum
3141{
3142 WDI_LINK_IDLE_STATE = 0,
3143 WDI_LINK_PREASSOC_STATE = 1,
3144 WDI_LINK_POSTASSOC_STATE = 2,
3145 WDI_LINK_AP_STATE = 3,
3146 WDI_LINK_IBSS_STATE = 4,
3147
3148 // BT-AMP Case
3149 WDI_LINK_BTAMP_PREASSOC_STATE = 5,
3150 WDI_LINK_BTAMP_POSTASSOC_STATE = 6,
3151 WDI_LINK_BTAMP_AP_STATE = 7,
3152 WDI_LINK_BTAMP_STA_STATE = 8,
3153
3154 // Reserved for HAL internal use
3155 WDI_LINK_LEARN_STATE = 9,
3156 WDI_LINK_SCAN_STATE = 10,
3157 WDI_LINK_FINISH_SCAN_STATE = 11,
3158 WDI_LINK_INIT_CAL_STATE = 12,
3159 WDI_LINK_FINISH_CAL_STATE = 13,
Jeff Johnson295189b2012-06-20 16:38:30 -07003160 WDI_LINK_LISTEN_STATE = 14,
Gopichand Nakkala924e4552013-05-08 19:18:14 +05303161 WDI_LINK_SEND_ACTION_STATE = 15,
Jeff Johnson295189b2012-06-20 16:38:30 -07003162 WDI_LINK_MAX = 0x7FFFFFFF
3163} WDI_LinkStateType;
3164
3165/*---------------------------------------------------------------------------
3166 WDI_SetLinkReqInfoType
3167---------------------------------------------------------------------------*/
3168typedef struct
3169{
3170 /*BSSID of the BSS*/
3171 wpt_macAddr macBSSID;
3172
3173 /*Link state*/
3174 WDI_LinkStateType wdiLinkState;
3175
3176 /*BSSID of the BSS*/
3177 wpt_macAddr macSelfStaMacAddr;
3178}WDI_SetLinkReqInfoType;
3179
3180/*---------------------------------------------------------------------------
3181 WDI_SetLinkReqParamsType
3182---------------------------------------------------------------------------*/
3183typedef struct
3184{
3185 /*Link Info*/
3186 WDI_SetLinkReqInfoType wdiLinkInfo;
3187
3188 /*Request status callback offered by UMAC - it is called if the current
3189 req has returned PENDING as status; it delivers the status of sending
3190 the message over the BUS */
3191 WDI_ReqStatusCb wdiReqStatusCB;
3192
3193 /*The user data passed in by UMAC, it will be sent back when the above
3194 function pointer will be called */
3195 void* pUserData;
3196}WDI_SetLinkReqParamsType;
3197
3198/*---------------------------------------------------------------------------
3199 WDI_GetStatsParamsInfoType
3200---------------------------------------------------------------------------*/
3201typedef struct
3202{
3203 /*Indicates the station for which Get Stats are requested..*/
3204 wpt_uint8 ucSTAIdx;
3205
3206 /* categories of stats requested */
3207 wpt_uint32 uStatsMask;
3208}WDI_GetStatsParamsInfoType;
3209
3210/*---------------------------------------------------------------------------
3211 WDI_GetStatsReqParamsType
3212---------------------------------------------------------------------------*/
3213typedef struct
3214{
3215 /*Get Stats Params Info*/
3216 WDI_GetStatsParamsInfoType wdiGetStatsParamsInfo;
3217
3218 /*Request status callback offered by UMAC - it is called if the current
3219 req has returned PENDING as status; it delivers the status of sending
3220 the message over the BUS */
3221 WDI_ReqStatusCb wdiReqStatusCB;
3222
3223 /*The user data passed in by UMAC, it will be sent back when the above
3224 function pointer will be called */
3225 void* pUserData;
3226}WDI_GetStatsReqParamsType;
3227
3228/*---------------------------------------------------------------------------
3229 WDI_GetStatsRspParamsType
3230---------------------------------------------------------------------------*/
3231typedef struct
3232{
3233 /*message type is same as the request type*/
3234 wpt_uint16 usMsgType;
3235
3236 /* length of the entire request, includes the pStatsBuf length too*/
3237 wpt_uint16 usMsgLen;
3238
3239 /*Result of the operation*/
3240 WDI_Status wdiStatus;
3241
3242 /*Indicates the station for which Get Stats are requested..*/
3243 wpt_uint8 ucSTAIdx;
3244
3245 /* categories of stats requested */
3246 wpt_uint32 uStatsMask;
3247
3248 /* The Stats buffer starts here and can be an aggregate of more than one statistics
3249 * structure depending on statsMask.*/
3250}WDI_GetStatsRspParamsType;
3251
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003252#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08003253/*---------------------------------------------------------------------------
3254 WDI_GetRoamRssiParamsInfoType
3255---------------------------------------------------------------------------*/
3256typedef struct
3257{
3258 /*Indicates the station for which Get Stats are requested..*/
3259 wpt_uint8 ucSTAIdx;
3260
3261 /* categories of stats requested */
3262 wpt_uint32 uStatsMask;
3263}WDI_GetRoamRssiParamsInfoType;
3264
3265/*---------------------------------------------------------------------------
3266 WDI_GetRoamRssiReqParamsType
3267---------------------------------------------------------------------------*/
3268typedef struct
3269{
3270 /*Get Roam Rssi Params Info*/
3271 WDI_GetRoamRssiParamsInfoType wdiGetRoamRssiParamsInfo;
3272
3273 /*Request status callback offered by UMAC - it is called if the current
3274 req has returned PENDING as status; it delivers the status of sending
3275 the message over the BUS */
3276 WDI_ReqStatusCb wdiReqStatusCB;
3277
3278 /*The user data passed in by UMAC, it will be sent back when the above
3279 function pointer will be called */
3280 void* pUserData;
3281}WDI_GetRoamRssiReqParamsType;
3282
3283/*---------------------------------------------------------------------------
3284 WDI_GetRoamRssiRspParamsType
3285---------------------------------------------------------------------------*/
3286typedef struct
3287{
3288 /*Result of the operation*/
3289 WDI_Status wdiStatus;
3290
3291 /*Indicates the station for which Get Stats are requested..*/
3292 wpt_uint8 ucSTAIdx;
3293
3294 /* roam rssi requested */
3295 wpt_int8 rssi;
3296
3297 /* The Stats buffer starts here and can be an aggregate of more than one statistics
3298 * structure depending on statsMask.*/
3299}WDI_GetRoamRssiRspParamsType;
3300#endif
3301
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003302#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07003303/*---------------------------------------------------------------------------
3304 WDI_TSMStatsParamsInfoType
3305---------------------------------------------------------------------------*/
3306typedef struct
3307{
3308 /*Indicates the station for which Get Stats are requested..*/
3309 wpt_uint8 ucTid;
3310
3311 wpt_macAddr bssid;
3312}WDI_TSMStatsParamsInfoType;
3313
3314/*---------------------------------------------------------------------------
3315 WDI_TSMStatsReqParamsType
3316---------------------------------------------------------------------------*/
3317typedef struct
3318{
3319 /*Get TSM Stats Params Info*/
3320 WDI_TSMStatsParamsInfoType wdiTsmStatsParamsInfo;
3321
3322 WDI_ReqStatusCb wdiReqStatusCB;
3323
3324 /*The user data passed in by UMAC, it will be sent back when the above
3325 function pointer will be called */
3326 void* pUserData;
3327
3328}WDI_TSMStatsReqParamsType;
3329
3330
3331/*---------------------------------------------------------------------------
3332 WDI_TSMStatsRspParamsType
3333---------------------------------------------------------------------------*/
3334typedef struct
3335{
3336 /*Indicates the status of the operation */
3337 WDI_Status wdiStatus;
3338
3339 wpt_uint16 UplinkPktQueueDly;
3340 wpt_uint16 UplinkPktQueueDlyHist[4];
3341 wpt_uint32 UplinkPktTxDly;
3342 wpt_uint16 UplinkPktLoss;
3343 wpt_uint16 UplinkPktCount;
3344 wpt_uint8 RoamingCount;
3345 wpt_uint16 RoamingDly;
3346}WDI_TSMStatsRspParamsType;
3347
3348
3349#endif
3350/*---------------------------------------------------------------------------
3351 WDI_UpdateCfgReqParamsType
3352---------------------------------------------------------------------------*/
3353typedef struct
3354{
3355 /*This is a TLV formatted buffer containing all config values that can
3356 be set through the DAL Interface
3357
3358 The TLV is expected to be formatted like this:
3359
3360 0 7 15 31 ....
3361 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
3362
3363 Or from a C construct point of VU it would look like this:
3364
3365 typedef struct WPT_PACK_POST
3366 {
3367 #ifdef WPT_BIG_ENDIAN
3368 wpt_uint32 ucCfgId:8;
3369 wpt_uint32 ucCfgLen:8;
3370 wpt_uint32 usReserved:16;
3371 #else
3372 wpt_uint32 usReserved:16;
3373 wpt_uint32 ucCfgLen:8;
3374 wpt_uint32 ucCfgId:8;
3375 #endif
3376
3377 wpt_uint8 ucCfgBody[ucCfgLen];
3378 }WDI_ConfigType;
3379
3380 Multiple such tuplets are to be placed in the config buffer. One for
3381 each required configuration item:
3382
3383 | TLV 1 | TLV2 | ....
3384
3385 The buffer is expected to be a flat area of memory that can be manipulated
3386 with standard memory routines.
3387
3388 For more info please check paragraph 2.3.1 Config Structure from the
3389 HAL LLD.
3390
3391 For a list of accepted configuration list and IDs please look up
3392 wlan_qct_dal_cfg.h
3393 */
3394 void* pConfigBuffer;
3395
3396 /*Length of the config buffer above*/
3397 wpt_uint32 uConfigBufferLen;
3398
3399 /*Request status callback offered by UMAC - it is called if the current
3400 req has returned PENDING as status; it delivers the status of sending
3401 the message over the BUS */
3402 WDI_ReqStatusCb wdiReqStatusCB;
3403
3404 /*The user data passed in by UMAC, it will be sent back when the above
3405 function pointer will be called */
3406 void* pUserData;
3407}WDI_UpdateCfgReqParamsType;
3408
3409/*---------------------------------------------------------------------------
3410 WDI_UpdateProbeRspTemplateInfoType
3411---------------------------------------------------------------------------*/
3412//Default Beacon template size
3413#define WDI_PROBE_RSP_TEMPLATE_SIZE 0x180
3414
3415#define WDI_PROBE_REQ_BITMAP_IE_LEN 8
3416
3417typedef struct
3418{
3419 /*BSSID for which the Probe Template is to be used*/
3420 wpt_macAddr macBSSID;
3421
3422 /*Probe response template*/
3423 wpt_uint8 *pProbeRespTemplate[WDI_PROBE_RSP_TEMPLATE_SIZE];
3424
3425 /*Template Len*/
3426 wpt_uint32 uProbeRespTemplateLen;
3427
3428 /*Bitmap for the IEs that are to be handled at SLM level*/
3429 wpt_uint32 uaProxyProbeReqValidIEBmap[WDI_PROBE_REQ_BITMAP_IE_LEN];
3430
3431}WDI_UpdateProbeRspTemplateInfoType;
3432
3433/*---------------------------------------------------------------------------
3434 WDI_UpdateProbeRspParamsType
3435---------------------------------------------------------------------------*/
3436typedef struct
3437{
3438 /*Link Info*/
3439 WDI_UpdateProbeRspTemplateInfoType wdiProbeRspTemplateInfo;
3440
3441 /*Request status callback offered by UMAC - it is called if the current
3442 req has returned PENDING as status; it delivers the status of sending
3443 the message over the BUS */
3444 WDI_ReqStatusCb wdiReqStatusCB;
3445
3446 /*The user data passed in by UMAC, it will be sent back when the above
3447 function pointer will be called */
3448 void* pUserData;
3449}WDI_UpdateProbeRspTemplateParamsType;
3450
3451/*---------------------------------------------------------------------------
3452 WDI_NvDownloadReqBlobInfo
3453---------------------------------------------------------------------------*/
3454
3455typedef struct
3456{
3457 /* Blob starting address*/
3458 void *pBlobAddress;
3459
3460 /* Blob size */
3461 wpt_uint32 uBlobSize;
3462
3463}WDI_NvDownloadReqBlobInfo;
3464
3465/*---------------------------------------------------------------------------
3466 WDI_NvDownloadReqParamsType
3467---------------------------------------------------------------------------*/
3468typedef struct
3469{
3470 /*NV Blob Info*/
3471 WDI_NvDownloadReqBlobInfo wdiBlobInfo;
3472
3473 /*Request status callback offered by UMAC - it is called if the current
3474 req has returned PENDING as status; it delivers the status of sending
3475 the message over the BUS */
3476 WDI_ReqStatusCb wdiReqStatusCB;
3477
3478 /*The user data passed in by UMAC, it will be sent back when the above
3479 function pointer will be called */
3480 void* pUserData;
3481
3482}WDI_NvDownloadReqParamsType;
3483
3484/*---------------------------------------------------------------------------
3485 WDI_NvDownloadRspInfoType
3486---------------------------------------------------------------------------*/
3487typedef struct
3488{
3489 /*Status of the response*/
3490 WDI_Status wdiStatus;
3491
3492}WDI_NvDownloadRspInfoType;
3493
3494/*---------------------------------------------------------------------------
3495 WDI_SetMaxTxPowerInfoType
3496---------------------------------------------------------------------------*/
3497
3498typedef struct
3499{
3500 /*BSSID is needed to identify which session issued this request. As the request has
3501 power constraints, this should be applied only to that session*/
3502 wpt_macAddr macBSSId;
3503
3504
3505 wpt_macAddr macSelfStaMacAddr;
3506
3507 /* In request power == MaxTxpower to be used.*/
3508 wpt_int8 ucPower;
3509
3510}WDI_SetMaxTxPowerInfoType;
3511
3512/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003513 WDI_SetTxPowerInfoType
3514---------------------------------------------------------------------------*/
3515
3516typedef struct
3517{
3518 wpt_uint8 bssIdx;
3519 /* In request power == MaxTxpower to be used.*/
3520 wpt_uint8 ucPower;
3521
3522}WDI_SetTxPowerInfoType;
3523
3524/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003525 WDI_SetMaxTxPowerParamsType
3526---------------------------------------------------------------------------*/
3527typedef struct
3528{
3529 /*Link Info*/
3530 WDI_SetMaxTxPowerInfoType wdiMaxTxPowerInfo;
3531
3532 /*Request status callback offered by UMAC - it is called if the current
3533 req has returned PENDING as status; it delivers the status of sending
3534 the message over the BUS */
3535 WDI_ReqStatusCb wdiReqStatusCB;
3536
3537 /*The user data passed in by UMAC, it will be sent back when the above
3538 function pointer will be called */
3539 void* pUserData;
3540}WDI_SetMaxTxPowerParamsType;
3541
schang86c22c42013-03-13 18:41:24 -07003542/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07003543 WDI_Band
3544---------------------------------------------------------------------------*/
3545typedef enum
3546{
3547 WDI_BAND_ALL,
3548 WDI_BAND_24,
3549 WDI_BAND_5G,
3550 WDI_BAND_MAX,
3551}eWDIBand;
3552
3553/*---------------------------------------------------------------------------
3554 WDI_MaxTxPowerPerBandInfoType
3555---------------------------------------------------------------------------*/
3556typedef struct
3557{
3558 eWDIBand bandInfo;
3559 /* In request power == MaxTxpower to be used.*/
3560 wpt_uint8 ucPower;
3561}WDI_MaxTxPowerPerBandInfoType;
3562
3563/*---------------------------------------------------------------------------
3564 WDI_SetMaxTxPowerPerBandParamsType
3565---------------------------------------------------------------------------*/
3566typedef struct
3567{
3568 /*Link Info*/
3569 WDI_MaxTxPowerPerBandInfoType wdiMaxTxPowerPerBandInfo;
3570
3571 /*Request status callback offered by UMAC - it is called if the current
3572 req has returned PENDING as status; it delivers the status of sending
3573 the message over the BUS */
3574 WDI_ReqStatusCb wdiReqStatusCB;
3575
3576 /*The user data passed in by UMAC, it will be sent back when the above
3577 function pointer will be called */
3578 void* pUserData;
3579}WDI_SetMaxTxPowerPerBandParamsType;
3580
3581/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003582 WDI_SetTxPowerParamsType
3583---------------------------------------------------------------------------*/
3584typedef struct
3585{
3586 /*Link Info*/
3587 WDI_SetTxPowerInfoType wdiTxPowerInfo;
3588
3589 /*Request status callback offered by UMAC - it is called if the current
3590 req has returned PENDING as status; it delivers the status of sending
3591 the message over the BUS */
3592 WDI_ReqStatusCb wdiReqStatusCB;
3593
3594 /*The user data passed in by UMAC, it will be sent back when the above
3595 function pointer will be called */
3596 void* pUserData;
3597}WDI_SetTxPowerParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003598
3599/*---------------------------------------------------------------------------
3600 WDI_SetMaxTxPowerRspMsg
3601---------------------------------------------------------------------------*/
3602
3603typedef struct
3604{
3605 /* In response, power==tx power used for management frames*/
3606 wpt_int8 ucPower;
3607
3608 /*Result of the operation*/
3609 WDI_Status wdiStatus;
3610
3611}WDI_SetMaxTxPowerRspMsg;
3612
schang86c22c42013-03-13 18:41:24 -07003613/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07003614 WDI_SetMaxTxPowerPerBandRspMsg
3615---------------------------------------------------------------------------*/
3616typedef struct
3617{
3618 /* In response, power==tx power used for management frames*/
3619 wpt_int8 ucPower;
3620
3621 /*Result of the operation*/
3622 WDI_Status wdiStatus;
3623
3624}WDI_SetMaxTxPowerPerBandRspMsg;
3625
3626/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003627 WDI_SetTxPowerRspMsg
3628---------------------------------------------------------------------------*/
3629
3630typedef struct
3631{
3632 /* In response, power==tx power used for management frames*/
3633 wpt_int8 ucPower;
3634
3635 /*Result of the operation*/
3636 WDI_Status wdiStatus;
3637
3638}WDI_SetTxPowerRspMsg;
3639
Jeff Johnson295189b2012-06-20 16:38:30 -07003640typedef struct
3641{
3642 wpt_uint8 ucOpp_ps;
3643 wpt_uint32 uCtWindow;
3644 wpt_uint8 ucCount;
3645 wpt_uint32 uDuration;
3646 wpt_uint32 uInterval;
3647 wpt_uint32 uSingle_noa_duration;
3648 wpt_uint8 ucPsSelection;
3649}WDI_SetP2PGONOAReqInfoType;
3650
3651/*---------------------------------------------------------------------------
3652 WDI_SetP2PGONOAReqParamsType
3653---------------------------------------------------------------------------*/
3654typedef struct
3655{
3656 /*P2P GO NOA Req*/
3657 WDI_SetP2PGONOAReqInfoType wdiP2PGONOAInfo;
3658
3659 /*Request status callback offered by UMAC - it is called if the current
3660 req has returned PENDING as status; it delivers the status of sending
3661 the message over the BUS */
3662 WDI_ReqStatusCb wdiReqStatusCB;
3663
3664 /*The user data passed in by UMAC, it will be sent back when the above
3665 function pointer will be called */
3666 void* pUserData;
3667}WDI_SetP2PGONOAReqParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003668
Naresh Jayaramc7cbd782014-02-04 17:38:23 +05303669#define WDI_MAX_SUPP_CHANNELS 128
3670#define WDI_MAX_SUPP_OPER_CLASSES 32
3671
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303672typedef struct
3673{
3674 wpt_uint16 uStaIdx;
3675 wpt_uint8 uIsResponder;
3676 wpt_uint8 uUapsdQueues;
3677 wpt_uint8 uMaxSp;
3678 wpt_uint8 uIsBufSta;
Naresh Jayaramc7cbd782014-02-04 17:38:23 +05303679 wpt_uint8 uIsOffChannelSupported;
3680 wpt_uint8 peerCurrOperClass;
3681 wpt_uint8 selfCurrOperClass;
3682 wpt_uint8 validChannelsLen;
3683 wpt_uint8 validChannels[WDI_MAX_SUPP_CHANNELS];
3684 wpt_uint8 validOperClassesLen;
3685 wpt_uint8 validOperClasses[WDI_MAX_SUPP_OPER_CLASSES];
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303686}WDI_SetTDLSLinkEstablishReqInfoType;
3687/*---------------------------------------------------------------------------
3688 WDI_SetTDLSLinkEstablishReqParamsType
3689---------------------------------------------------------------------------*/
3690typedef struct
3691{
3692 /*TDLS Link Establish Req*/
3693 WDI_SetTDLSLinkEstablishReqInfoType wdiTDLSLinkEstablishInfo;
3694
3695 /*Request status callback offered by UMAC - it is called if the current
3696 req has returned PENDING as status; it delivers the status of sending
3697 the message over the BUS */
3698 WDI_ReqStatusCb wdiReqStatusCB;
3699
3700 /*The user data passed in by UMAC, it will be sent back when the above
3701 function pointer will be called */
3702 void* pUserData;
3703}WDI_SetTDLSLinkEstablishReqParamsType;
3704
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05303705typedef struct
3706{
3707 /*Result of the operation*/
3708 WDI_Status wdiStatus;
3709
3710 /*STA Idx*/
3711 wpt_uint16 uStaIdx;
3712}WDI_SetTdlsLinkEstablishReqResp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003713
Atul Mittalc0f739f2014-07-31 13:47:47 +05303714
3715
3716typedef struct
3717{
3718 /*STA Index*/
3719 wpt_uint8 staIdx;
3720 /* if this is 1, self is initiator otherwise responder only*/
3721 wpt_uint8 isOffchannelInitiator;
3722 /*TDLS off channel related params */
3723 wpt_uint8 targetOperClass;
3724 wpt_uint8 targetChannel;
3725 wpt_uint8 secondaryChannelOffset;
3726 wpt_uint8 reserved[64];
3727}WDI_SetTDLSChanSwitchReqInfoType;
3728
3729typedef struct
3730{
3731 WDI_SetTDLSChanSwitchReqInfoType wdiTDLSChanSwitchReqInfo;
3732 WDI_ReqStatusCb wdiReqStatusCB;
3733 void* pUserData;
3734}WDI_SetTDLSChanSwitchReqParamsType;
3735
3736
3737typedef struct
3738{
3739 /*Result of the operation*/
3740 WDI_Status wdiStatus;
3741
3742 /*STA Idx*/
3743 wpt_uint16 uStaIdx;
3744}WDI_SetTdlsChanSwitchReqResp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003745/*---------------------------------------------------------------------------
3746 WDI_SetAddSTASelfParamsType
3747---------------------------------------------------------------------------*/
3748typedef struct
3749{
3750 /*Self Station MAC address*/
3751 wpt_macAddr selfMacAddr;
3752
Kiran Kumar Lokere0ad5cd32013-06-25 11:26:22 -07003753 /*Self STA device mode*/
3754 wpt_uint32 currDeviceMode;
3755
Jeff Johnson295189b2012-06-20 16:38:30 -07003756 /*Status of the operation*/
3757 wpt_uint32 uStatus;
3758}WDI_AddSTASelfInfoType;
3759
3760/*---------------------------------------------------------------------------
3761 WDI_SetAddSTASelfParamsType
3762---------------------------------------------------------------------------*/
3763typedef struct
3764{
3765 /* Add Sta Self Req */
3766 WDI_AddSTASelfInfoType wdiAddSTASelfInfo;
3767
3768 /*Request status callback offered by UMAC - it is called if the current
3769 req has returned PENDING as status; it delivers the status of sending
3770 the message over the BUS */
3771 WDI_ReqStatusCb wdiReqStatusCB;
3772
3773 /*The user data passed in by UMAC, it will be sent back when the above
3774 function pointer will be called */
3775 void* pUserData;
3776}WDI_AddSTASelfReqParamsType;
3777
3778
3779/*---------------------------------------------------------------------------
3780 WDI_AddSTASelfRspParamsType
3781---------------------------------------------------------------------------*/
3782typedef struct
3783{
3784 /*Status of the response*/
3785 WDI_Status wdiStatus;
3786
3787 /*STA Idx allocated by HAL*/
3788 wpt_uint8 ucSTASelfIdx;
3789
3790 /* DPU Index (IGTK, PTK, GTK all same) */
3791 wpt_uint8 dpuIdx;
3792
3793 /* DPU Signature */
3794 wpt_uint8 dpuSignature;
3795
3796 /*Self STA Mac*/
3797 wpt_macAddr macSelfSta;
3798
3799}WDI_AddSTASelfRspParamsType;
3800
3801/*---------------------------------------------------------------------------
3802 WDI_DelSTASelfReqParamsType
3803 Del Sta Self info passed to WDI form WDA
3804---------------------------------------------------------------------------*/
3805typedef struct
3806{
3807 wpt_macAddr selfMacAddr;
3808
3809}WDI_DelSTASelfInfoType;
3810
3811/*---------------------------------------------------------------------------
3812 WDI_DelSTASelfReqParamsType
3813 Del Sta Self info passed to WDI form WDA
3814---------------------------------------------------------------------------*/
3815typedef struct
3816{
3817 /*Del Sta Self Info Type */
3818 WDI_DelSTASelfInfoType wdiDelStaSelfInfo;
3819 /*Request status callback offered by UMAC - it is called if the current req
3820 has returned PENDING as status; it delivers the status of sending the message
3821 over the BUS */
3822 WDI_ReqStatusCb wdiReqStatusCB;
3823 /*The user data passed in by UMAC, it will be sent back when the above
3824 function pointer will be called */
3825 void* pUserData;
3826}WDI_DelSTASelfReqParamsType;
3827
3828/*---------------------------------------------------------------------------
3829 WDI_DelSTASelfRspParamsType
3830---------------------------------------------------------------------------*/
3831typedef struct
3832{
3833 /*Status of the response*/
3834 WDI_Status wdiStatus;
3835
3836 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
3837// wpt_uint8 ucSTAIdx;
3838}WDI_DelSTASelfRspParamsType;
3839
3840/*---------------------------------------------------------------------------
3841 WDI_UapsdInfoType
3842 UAPSD parameters passed per AC to WDA from UMAC
3843---------------------------------------------------------------------------*/
3844typedef struct
3845{
3846 wpt_uint8 ucSTAIdx; // STA index
3847 wpt_uint8 ucAc; // Access Category
3848 wpt_uint8 ucUp; // User Priority
3849 wpt_uint32 uSrvInterval; // Service Interval
3850 wpt_uint32 uSusInterval; // Suspend Interval
3851 wpt_uint32 uDelayInterval; // Delay Interval
3852} WDI_UapsdInfoType;
3853
3854/*---------------------------------------------------------------------------
3855 WDI_SetUapsdAcParamsReqParamsType
3856 UAPSD parameters passed per AC to WDI from WDA
3857---------------------------------------------------------------------------*/
3858typedef struct
3859{
3860 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3861 WDI_UapsdInfoType wdiUapsdInfo;
3862 /*Request status callback offered by UMAC - it is called if the current req
3863 has returned PENDING as status; it delivers the status of sending the message
3864 over the BUS */
3865 WDI_ReqStatusCb wdiReqStatusCB;
3866 /*The user data passed in by UMAC, it will be sent back when the above
3867 function pointer will be called */
3868 void* pUserData;
3869}WDI_SetUapsdAcParamsReqParamsType;
3870
3871/*---------------------------------------------------------------------------
3872 WDI_EnterBmpsReqinfoType
3873 Enter BMPS parameters passed to WDA from UMAC
3874---------------------------------------------------------------------------*/
3875typedef struct
3876{
3877 //TBTT value derived from the last beacon
3878 wpt_uint8 ucBssIdx;
3879 wpt_uint64 uTbtt;
3880 wpt_uint8 ucDtimCount;
3881 //DTIM period given to HAL during association may not be valid,
3882 //if association is based on ProbeRsp instead of beacon.
3883 wpt_uint8 ucDtimPeriod;
3884 /* DXE physical addr to be passed down to RIVA. RIVA HAL will use it to program
3885 DXE when DXE wakes up from power save*/
3886 unsigned int dxePhyAddr;
3887
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003888 // For ESE and 11R Roaming
Jeff Johnson295189b2012-06-20 16:38:30 -07003889 wpt_uint32 rssiFilterPeriod;
3890 wpt_uint32 numBeaconPerRssiAverage;
3891 wpt_uint8 bRssiFilterEnable;
3892}WDI_EnterBmpsReqinfoType;
3893
3894/*---------------------------------------------------------------------------
3895 WDI_EnterBmpsReqParamsType
3896 Enter BMPS parameters passed to WDI from WDA
3897---------------------------------------------------------------------------*/
3898typedef struct
3899{
3900 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3901 WDI_EnterBmpsReqinfoType wdiEnterBmpsInfo;
3902 /*Request status callback offered by UMAC - it is called if the current req
3903 has returned PENDING as status; it delivers the status of sending the message
3904 over the BUS */
3905 WDI_ReqStatusCb wdiReqStatusCB;
3906 /*The user data passed in by UMAC, it will be sent back when the above
3907 function pointer will be called */
3908 void* pUserData;
3909}WDI_EnterBmpsReqParamsType;
3910
3911/*---------------------------------------------------------------------------
Mihir Shetea4306052014-03-25 00:02:54 +05303912 WDI_EnterImpsReqParamsType
3913 Enter IMPS parameters passed to WDI from WDA
3914---------------------------------------------------------------------------*/
3915typedef struct
3916{
3917 /*Request status callback offered by UMAC - it is called if the current req
3918 has returned PENDING as status; it delivers the status of sending the message
3919 over the BUS */
3920 WDI_ReqStatusCb wdiReqStatusCB;
3921 /*The user data passed in by UMAC, it will be sent back when the above
3922 function pointer will be called */
3923 void* pUserData;
3924}WDI_EnterImpsReqParamsType;
3925
3926/*---------------------------------------------------------------------------
Mahesh A Saptasagar329813b2014-12-15 12:16:51 +05303927 WDI_ExitImpsReqParamsType
3928 Exit IMPS parameters passed to WDI from WDA
3929----------------------------------------------------------------------------*/
3930typedef struct
3931{
3932 /*Request status callback offered by UMAC */
3933 WDI_ReqStatusCb wdiReqStatusCB;
3934 /*The user data passed in by UMAC, it will be sent back when the above
3935 function pointer will be called */
3936 void* pUserData;
3937
3938}WDI_ExitImpsReqParamsType;
3939
3940/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003941 WDI_EnterBmpsReqParamsType
3942 Enter BMPS parameters passed from WDI to WDA
3943---------------------------------------------------------------------------*/
3944typedef struct
3945{
3946 /*Status of the response*/
3947 WDI_Status wdiStatus;
3948
3949 /*BssIDX of the session*/
3950 wpt_uint8 bssIdx;
3951}WDI_EnterBmpsRspParamsType;
3952
3953/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003954 WDI_ExitBmpsReqinfoType
3955 Exit BMPS parameters passed to WDA from UMAC
3956---------------------------------------------------------------------------*/
3957typedef struct
3958{
3959 wpt_uint8 ucSendDataNull;
Jeff Johnsone7245742012-09-05 17:12:55 -07003960 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003961}WDI_ExitBmpsReqinfoType;
3962
3963/*---------------------------------------------------------------------------
3964 WDI_ExitBmpsReqParamsType
3965 Exit BMPS parameters passed to WDI from WDA
3966---------------------------------------------------------------------------*/
3967typedef struct
3968{
3969 /*Exit BMPS Info Type, same as tExitBmpsParams */
3970 WDI_ExitBmpsReqinfoType wdiExitBmpsInfo;
3971 /*Request status callback offered by UMAC - it is called if the current req
3972 has returned PENDING as status; it delivers the status of sending the message
3973 over the BUS */
3974 WDI_ReqStatusCb wdiReqStatusCB;
3975 /*The user data passed in by UMAC, it will be sent back when the above
3976 function pointer will be called */
3977 void* pUserData;
3978}WDI_ExitBmpsReqParamsType;
3979
3980/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003981 WDI_ExitBmpsReqParamsType
3982 Exit BMPS parameters passed from WDI to WDA
3983---------------------------------------------------------------------------*/
3984typedef struct
3985{
3986 /*Status of the response*/
3987 WDI_Status wdiStatus;
3988
3989 /*BssIDX of the session*/
3990 wpt_uint8 bssIdx;
3991}WDI_ExitBmpsRspParamsType;
3992
3993/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003994 WDI_EnterUapsdReqinfoType
3995 Enter UAPSD parameters passed to WDA from UMAC
3996---------------------------------------------------------------------------*/
3997typedef struct
3998{
3999 wpt_uint8 ucBkDeliveryEnabled:1;
4000 wpt_uint8 ucBeDeliveryEnabled:1;
4001 wpt_uint8 ucViDeliveryEnabled:1;
4002 wpt_uint8 ucVoDeliveryEnabled:1;
4003 wpt_uint8 ucBkTriggerEnabled:1;
4004 wpt_uint8 ucBeTriggerEnabled:1;
4005 wpt_uint8 ucViTriggerEnabled:1;
4006 wpt_uint8 ucVoTriggerEnabled:1;
Jeff Johnsone7245742012-09-05 17:12:55 -07004007 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004008}WDI_EnterUapsdReqinfoType;
4009
4010/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004011 WDI_EnterUapsdRspParamsType
4012 Enter 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_EnterUapsdRspParamsType;
4022
4023/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004024 WDI_EnterUapsdReqinfoType
4025 Enter UAPSD parameters passed to WDI from WDA
4026---------------------------------------------------------------------------*/
4027typedef struct
4028{
4029 /*Enter UAPSD Info Type, same as tUapsdParams */
4030 WDI_EnterUapsdReqinfoType wdiEnterUapsdInfo;
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_EnterUapsdReqParamsType;
4039
4040/*---------------------------------------------------------------------------
4041 WDI_UpdateUapsdReqinfoType
4042 Update UAPSD parameters passed to WDA from UMAC
4043---------------------------------------------------------------------------*/
4044typedef struct
4045{
4046 wpt_uint8 ucSTAIdx;
4047 wpt_uint8 ucUapsdACMask;
4048 wpt_uint32 uMaxSpLen;
4049}WDI_UpdateUapsdReqinfoType;
4050
4051/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004052 WDI_ExitUapsdReqinfoType
4053 Exit UAPSD parameters passed to WDA from UMAC
4054---------------------------------------------------------------------------*/
4055typedef struct
4056{
4057 wpt_uint8 bssIdx;
4058}WDI_ExitUapsdReqinfoType;
4059
4060/*---------------------------------------------------------------------------
4061 WDI_ExitUapsdReqParamsType
4062 Exit UAPSD parameters passed to WDI from WDA
4063---------------------------------------------------------------------------*/
4064typedef struct
4065{
4066 /*Exit UAPSD Info Type, same as tUapsdParams */
4067 WDI_ExitUapsdReqinfoType wdiExitUapsdInfo;
4068 /*Request status callback offered by UMAC - it is called if the current req
4069 has returned PENDING as status; it delivers the status of sending the message
4070 over the BUS */
4071 WDI_ReqStatusCb wdiReqStatusCB;
4072 /*The user data passed in by UMAC, it will be sent back when the above
4073 function pointer will be called */
4074 void* pUserData;
4075}WDI_ExitUapsdReqParamsType;
4076
4077/*---------------------------------------------------------------------------
4078 WDI_ExitUapsdRspParamsType
4079 Exit UAPSD parameters passed from WDI to WDA
4080---------------------------------------------------------------------------*/
4081typedef struct
4082{
4083 /*Status of the response*/
4084 WDI_Status wdiStatus;
4085
4086 /*BssIDX of the session*/
4087 wpt_uint8 bssIdx;
4088}WDI_ExitUapsdRspParamsType;
4089
4090/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004091 WDI_UpdateUapsdReqParamsType
4092 Update UAPSD parameters passed to WDI form WDA
4093---------------------------------------------------------------------------*/
4094typedef struct
4095{
4096 /*Update UAPSD Info Type, same as tUpdateUapsdParams */
4097 WDI_UpdateUapsdReqinfoType wdiUpdateUapsdInfo;
4098 /*Request status callback offered by UMAC - it is called if the current req
4099 has returned PENDING as status; it delivers the status of sending the message
4100 over the BUS */
4101 WDI_ReqStatusCb wdiReqStatusCB;
4102 /*The user data passed in by UMAC, it will be sent back when the above
4103 function pointer will be called */
4104 void* pUserData;
4105}WDI_UpdateUapsdReqParamsType;
4106
4107/*---------------------------------------------------------------------------
4108 WDI_ConfigureRxpFilterReqParamsType
4109 RXP filter parameters passed to WDI form WDA
4110---------------------------------------------------------------------------*/
4111typedef struct
4112{
4113 /* Mode of Mcast and Bcast filters configured */
4114 wpt_uint8 ucSetMcstBcstFilterSetting;
4115
4116 /* Mcast Bcast Filters enable/disable*/
4117 wpt_uint8 ucSetMcstBcstFilter;
4118}WDI_RxpFilterReqParamsType;
4119
4120typedef struct
4121{
4122 /* Rxp Filter */
4123 WDI_RxpFilterReqParamsType wdiRxpFilterParam;
4124
4125 /*Request status callback offered by UMAC - it is called if the current req
4126 has returned PENDING as status; it delivers the status of sending the message
4127 over the BUS */
4128 WDI_ReqStatusCb wdiReqStatusCB;
4129 /*The user data passed in by UMAC, it will be sent back when the above
4130 function pointer will be called */
4131 void* pUserData;
4132}WDI_ConfigureRxpFilterReqParamsType;
4133
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05304134typedef struct
4135{
4136 wpt_uint8 enableFlag;
4137 wpt_uint8 frameType;
4138 wpt_uint8 frameSize;
4139 wpt_uint8 bufferMode;
Siddharth Bhald1be97f2015-05-27 22:39:59 +05304140 wpt_uint8 continuousFrameLogging;
4141 wpt_uint8 minLogBufferSize;
4142 wpt_uint8 maxLogBufferSize;
4143}WDI_FWLoggingInitReqInfoType;
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05304144
Siddharth Bhal64246172015-02-27 01:04:37 +05304145typedef struct
4146{
Gupta, Kapil7c34b322015-09-30 13:12:35 +05304147 wpt_uint32 requestId;
4148 wpt_uint8 minRssi;
4149 wpt_uint8 maxRssi;
4150 wpt_macAddr currentBssId;
4151}WDI_RssiMonitorReqInfoType;
4152
4153typedef struct
4154{
Sachin Ahuja715aafc2015-07-21 23:35:10 +05304155 wpt_uint32 reason_code;
4156}WDI_FatalEventLogsReqInfoType;
4157
4158
4159typedef struct
4160{
Siddharth Bhal64246172015-02-27 01:04:37 +05304161 wpt_uint8 flags;
4162}WDI_GetFrameLogReqInfoType;
4163
Siddharth Bhald1be97f2015-05-27 22:39:59 +05304164typedef struct
4165{
Hanumantha Reddy Pothulae00a7e22015-09-15 20:11:30 +05304166 wpt_uint16 status;
4167 wpt_uint16 doneIndicationForSource;
Siddharth Bhald1be97f2015-05-27 22:39:59 +05304168 wpt_uint64 logBuffAddress[MAX_NUM_OF_BUFFER];
Siddharth Bhald1be97f2015-05-27 22:39:59 +05304169 wpt_uint32 logBuffLength[MAX_NUM_OF_BUFFER];
4170}WDI_FWLoggingDXEdoneIndInfoType;
4171
Jeff Johnson295189b2012-06-20 16:38:30 -07004172/*---------------------------------------------------------------------------
4173 WDI_BeaconFilterInfoType
4174 Beacon Filtering data structures passed to WDA form UMAC
4175---------------------------------------------------------------------------*/
4176typedef struct
4177{
4178 wpt_uint16 usCapabilityInfo;
4179 wpt_uint16 usCapabilityMask;
4180 wpt_uint16 usBeaconInterval;
4181 wpt_uint16 usIeNum;
Madan Mohan Koyyalamudia84edda2012-10-15 14:58:25 -07004182 wpt_uint8 bssIdx;
4183 wpt_uint8 reserved;
Jeff Johnson295189b2012-06-20 16:38:30 -07004184}WDI_BeaconFilterInfoType;
4185
4186/*---------------------------------------------------------------------------
4187 WDI_BeaconFilterReqParamsType
4188 Beacon Filtering parameters passed to WDI form WDA
4189---------------------------------------------------------------------------*/
4190typedef struct
4191{
4192 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
4193 WDI_BeaconFilterInfoType wdiBeaconFilterInfo;
4194 /*Beacon Filter(s) follow the "usIeNum" field, hence the array to ease the
4195 copy of params from WDA to WDI */
4196 wpt_uint8 aFilters[WDI_BEACON_FILTER_LEN];
4197 /*Request status callback offered by UMAC - it is called if the current req
4198 has returned PENDING as status; it delivers the status of sending the message
4199 over the BUS */
4200 WDI_ReqStatusCb wdiReqStatusCB;
4201 /*The user data passed in by UMAC, it will be sent back when the above
4202 function pointer will be called */
4203 void* pUserData;
4204}WDI_BeaconFilterReqParamsType;
4205
4206/*---------------------------------------------------------------------------
4207 WDI_RemBeaconFilterInfoType
4208 Beacon Filtering data structures (to be reomoved) passed to WDA form UMAC
4209---------------------------------------------------------------------------*/
4210typedef struct
4211{
4212 wpt_uint8 ucIeCount;
4213 wpt_uint8 ucRemIeId[1];
4214}WDI_RemBeaconFilterInfoType;
4215
4216/*---------------------------------------------------------------------------
4217 WDI_RemBeaconFilterReqParamsType
4218 Beacon Filtering parameters (to be reomoved)passed to WDI form WDA
4219---------------------------------------------------------------------------*/
4220typedef struct
4221{
4222 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
4223 WDI_RemBeaconFilterInfoType wdiBeaconFilterInfo;
4224 /*Request status callback offered by UMAC - it is called if the current req
4225 has returned PENDING as status; it delivers the status of sending the message
4226 over the BUS */
4227 WDI_ReqStatusCb wdiReqStatusCB;
4228 /*The user data passed in by UMAC, it will be sent back when the above
4229 function pointer will be called */
4230 void* pUserData;
4231}WDI_RemBeaconFilterReqParamsType;
4232
4233/*---------------------------------------------------------------------------
4234 WDI_RSSIThresholdsType
4235 RSSI thresholds data structures (to be reomoved) passed to WDA form UMAC
4236---------------------------------------------------------------------------*/
4237typedef struct
4238{
4239 wpt_int8 ucRssiThreshold1 : 8;
4240 wpt_int8 ucRssiThreshold2 : 8;
4241 wpt_int8 ucRssiThreshold3 : 8;
4242 wpt_uint8 bRssiThres1PosNotify : 1;
4243 wpt_uint8 bRssiThres1NegNotify : 1;
4244 wpt_uint8 bRssiThres2PosNotify : 1;
4245 wpt_uint8 bRssiThres2NegNotify : 1;
4246 wpt_uint8 bRssiThres3PosNotify : 1;
4247 wpt_uint8 bRssiThres3NegNotify : 1;
4248 wpt_uint8 bReserved10 : 2;
4249} WDI_RSSIThresholdsType;
4250
4251/*---------------------------------------------------------------------------
4252 WDI_SetRSSIThresholdsReqParamsType
4253 RSSI thresholds parameters (to be reomoved)passed to WDI form WDA
4254---------------------------------------------------------------------------*/
4255typedef struct
4256{
4257 /*RSSI thresholds Info Type, same as WDI_RSSIThresholds */
4258 WDI_RSSIThresholdsType wdiRSSIThresholdsInfo;
4259 /*Request status callback offered by UMAC - it is called if the current req
4260 has returned PENDING as status; it delivers the status of sending the message
4261 over the BUS */
4262 WDI_ReqStatusCb wdiReqStatusCB;
4263 /*The user data passed in by UMAC, it will be sent back when the above
4264 function pointer will be called */
4265 void* pUserData;
4266}WDI_SetRSSIThresholdsReqParamsType;
4267
4268/*---------------------------------------------------------------------------
4269 WDI_HostOffloadReqType
4270 host offload info passed to WDA form UMAC
4271---------------------------------------------------------------------------*/
4272#ifdef WLAN_NS_OFFLOAD
4273typedef struct
4274{
4275 wpt_uint8 srcIPv6Addr[16];
4276 wpt_uint8 selfIPv6Addr[16];
4277 //Only support 2 possible Network Advertisement IPv6 address
4278 wpt_uint8 targetIPv6Addr1[16];
4279 wpt_uint8 targetIPv6Addr2[16];
4280 wpt_uint8 selfMacAddr[6];
4281 wpt_uint8 srcIPv6AddrValid : 1;
4282 wpt_uint8 targetIPv6Addr1Valid : 1;
4283 wpt_uint8 targetIPv6Addr2Valid : 1;
Gopichand Nakkala746a9452013-06-11 12:45:54 +05304284 wpt_uint8 slotIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004285} WDI_NSOffloadParams;
4286#endif //WLAN_NS_OFFLOAD
4287
4288typedef struct
4289{
4290 wpt_uint8 ucOffloadType;
4291 wpt_uint8 ucEnableOrDisable;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004292 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004293 union
4294 {
4295 wpt_uint8 aHostIpv4Addr [4];
4296 wpt_uint8 aHostIpv6Addr [16];
4297 } params;
4298} WDI_HostOffloadReqType;
4299
4300/*---------------------------------------------------------------------------
4301 WDI_HostOffloadReqParamsType
4302 host offload info passed to WDI form WDA
4303---------------------------------------------------------------------------*/
4304typedef struct
4305{
4306 /*Host offload Info Type, same as tHalHostOffloadReq */
4307 WDI_HostOffloadReqType wdiHostOffloadInfo;
4308#ifdef WLAN_NS_OFFLOAD
4309 WDI_NSOffloadParams wdiNsOffloadParams;
4310#endif //WLAN_NS_OFFLOAD
4311 /*Request status callback offered by UMAC - it is called if the current req
4312 has returned PENDING as status; it delivers the status of sending the message
4313 over the BUS */
4314 WDI_ReqStatusCb wdiReqStatusCB;
4315 /*The user data passed in by UMAC, it will be sent back when the above
4316 function pointer will be called */
4317 void* pUserData;
4318}WDI_HostOffloadReqParamsType;
4319
4320/*---------------------------------------------------------------------------
4321 WDI_KeepAliveReqType
4322 Keep Alive info passed to WDA form UMAC
4323---------------------------------------------------------------------------*/
4324typedef struct
4325{
4326 wpt_uint8 ucPacketType;
4327 wpt_uint32 ucTimePeriod;
4328 wpt_uint8 aHostIpv4Addr[4];
4329 wpt_uint8 aDestIpv4Addr[4];
4330 wpt_uint8 aDestMacAddr[6];
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004331 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004332} WDI_KeepAliveReqType;
4333
4334/*---------------------------------------------------------------------------
4335 WDI_KeepAliveReqParamsType
4336 Keep Alive passed to WDI form WDA
4337---------------------------------------------------------------------------*/
4338typedef struct
4339{
4340 /* Keep Alive Info Type, same as tHalKeepAliveReq */
4341 WDI_KeepAliveReqType wdiKeepAliveInfo;
4342 /*Request status callback offered by UMAC - it is called if the current req
4343 has returned PENDING as status; it delivers the status of sending the message
4344 over the BUS */
4345 WDI_ReqStatusCb wdiReqStatusCB;
4346 /*The user data passed in by UMAC, it will be sent back when the above
4347 function pointer will be called */
4348 void* pUserData;
4349}WDI_KeepAliveReqParamsType;
4350
4351/*---------------------------------------------------------------------------
4352 WDI_WowlAddBcPtrnInfoType
4353 Wowl add ptrn info passed to WDA form UMAC
4354---------------------------------------------------------------------------*/
4355typedef struct
4356{
4357 wpt_uint8 ucPatternId; // Pattern ID
4358 // Pattern byte offset from beginning of the 802.11 packet to start of the
4359 // wake-up pattern
4360 wpt_uint8 ucPatternByteOffset;
4361 wpt_uint8 ucPatternSize; // Non-Zero Pattern size
4362 wpt_uint8 ucPattern[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern
4363 wpt_uint8 ucPatternMaskSize; // Non-zero pattern mask size
4364 wpt_uint8 ucPatternMask[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern mask
4365 wpt_uint8 ucPatternExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern
4366 wpt_uint8 ucPatternMaskExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern mask
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004367 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004368} WDI_WowlAddBcPtrnInfoType;
4369
4370/*---------------------------------------------------------------------------
4371 WDI_WowlAddBcPtrnReqParamsType
4372 Wowl add ptrn info passed to WDI form WDA
4373---------------------------------------------------------------------------*/
4374typedef struct
4375{
4376 /*Wowl add ptrn Info Type, same as tpSirWowlAddBcastPtrn */
4377 WDI_WowlAddBcPtrnInfoType wdiWowlAddBcPtrnInfo;
4378 /*Request status callback offered by UMAC - it is called if the current req
4379 has returned PENDING as status; it delivers the status of sending the message
4380 over the BUS */
4381 WDI_ReqStatusCb wdiReqStatusCB;
4382 /*The user data passed in by UMAC, it will be sent back when the above
4383 function pointer will be called */
4384 void* pUserData;
4385}WDI_WowlAddBcPtrnReqParamsType;
4386
4387/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004388 WDI_WowlAddBcPtrnRspParamsType
4389 Wowl add ptrn info passed from WDI to WDA
4390---------------------------------------------------------------------------*/
4391typedef struct
4392{
4393 /*Status of the response*/
4394 WDI_Status wdiStatus;
4395 /*BssIDX of the session*/
4396 wpt_uint8 bssIdx;
4397}WDI_WowlAddBcPtrnRspParamsType;
4398
4399/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004400 WDI_WowlDelBcPtrnInfoType
4401 Wowl add ptrn info passed to WDA form UMAC
4402---------------------------------------------------------------------------*/
4403typedef struct
4404{
4405 /* Pattern ID of the wakeup pattern to be deleted */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004406 wpt_uint8 ucPatternId;
4407 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004408} WDI_WowlDelBcPtrnInfoType;
4409
4410/*---------------------------------------------------------------------------
4411 WDI_WowlDelBcPtrnReqParamsType
4412 Wowl add ptrn info passed to WDI form WDA
4413---------------------------------------------------------------------------*/
4414typedef struct
4415{
4416 /*Wowl delete ptrn Info Type, same as WDI_WowlDelBcastPtrn */
4417 WDI_WowlDelBcPtrnInfoType wdiWowlDelBcPtrnInfo;
4418 /*Request status callback offered by UMAC - it is called if the current req
4419 has returned PENDING as status; it delivers the status of sending the message
4420 over the BUS */
4421 WDI_ReqStatusCb wdiReqStatusCB;
4422 /*The user data passed in by UMAC, it will be sent back when the above
4423 function pointer will be called */
4424 void* pUserData;
4425}WDI_WowlDelBcPtrnReqParamsType;
4426
4427/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004428 WDI_WowlDelBcPtrnRspParamsType
4429 Wowl Del ptrn info passed from WDI to WDA
4430---------------------------------------------------------------------------*/
4431typedef struct
4432{
4433 /*Status of the response*/
4434 WDI_Status wdiStatus;
4435 /*BssIDX of the session*/
4436 wpt_uint8 bssIdx;
4437}WDI_WowlDelBcPtrnRspParamsType;
4438
4439/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004440 WDI_WowlEnterInfoType
4441 Wowl enter info passed to WDA form UMAC
4442---------------------------------------------------------------------------*/
4443typedef struct
4444{
4445 /* Enables/disables magic packet filtering */
4446 wpt_uint8 ucMagicPktEnable;
4447
4448 /* Magic pattern */
4449 wpt_macAddr magicPtrn;
4450
4451 /* Enables/disables packet pattern filtering in firmware.
4452 Enabling this flag enables broadcast pattern matching
4453 in Firmware. If unicast pattern matching is also desired,
4454 ucUcastPatternFilteringEnable flag must be set tot true
4455 as well
4456 */
4457 wpt_uint8 ucPatternFilteringEnable;
4458
4459 /* Enables/disables unicast packet pattern filtering.
4460 This flag specifies whether we want to do pattern match
4461 on unicast packets as well and not just broadcast packets.
4462 This flag has no effect if the ucPatternFilteringEnable
4463 (main controlling flag) is set to false
4464 */
4465 wpt_uint8 ucUcastPatternFilteringEnable;
4466
4467 /* This configuration is valid only when magicPktEnable=1.
4468 * It requests hardware to wake up when it receives the
4469 * Channel Switch Action Frame.
4470 */
4471 wpt_uint8 ucWowChnlSwitchRcv;
4472
4473 /* This configuration is valid only when magicPktEnable=1.
4474 * It requests hardware to wake up when it receives the
4475 * Deauthentication Frame.
4476 */
4477 wpt_uint8 ucWowDeauthRcv;
4478
4479 /* This configuration is valid only when magicPktEnable=1.
4480 * It requests hardware to wake up when it receives the
4481 * Disassociation Frame.
4482 */
4483 wpt_uint8 ucWowDisassocRcv;
4484
4485 /* This configuration is valid only when magicPktEnable=1.
4486 * It requests hardware to wake up when it has missed
4487 * consecutive beacons. This is a hardware register
4488 * configuration (NOT a firmware configuration).
4489 */
4490 wpt_uint8 ucWowMaxMissedBeacons;
4491
4492 /* This configuration is valid only when magicPktEnable=1.
4493 * This is a timeout value in units of microsec. It requests
4494 * hardware to unconditionally wake up after it has stayed
4495 * in WoWLAN mode for some time. Set 0 to disable this feature.
4496 */
4497 wpt_uint8 ucWowMaxSleepUsec;
4498
4499#ifdef WLAN_WAKEUP_EVENTS
4500 /* This configuration directs the WoW packet filtering to look for EAP-ID
4501 * requests embedded in EAPOL frames and use this as a wake source.
4502 */
4503 wpt_uint8 ucWoWEAPIDRequestEnable;
4504
4505 /* This configuration directs the WoW packet filtering to look for EAPOL-4WAY
4506 * requests and use this as a wake source.
4507 */
4508 wpt_uint8 ucWoWEAPOL4WayEnable;
4509
4510 /* This configuration allows a host wakeup on an network scan offload match.
4511 */
4512 wpt_uint8 ucWowNetScanOffloadMatch;
4513
4514 /* This configuration allows a host wakeup on any GTK rekeying error.
4515 */
4516 wpt_uint8 ucWowGTKRekeyError;
4517
4518 /* This configuration allows a host wakeup on BSS connection loss.
4519 */
4520 wpt_uint8 ucWoWBSSConnLoss;
4521#endif // WLAN_WAKEUP_EVENTS
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004522
4523 /* BSSIDX used to find the current session
4524 */
4525 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004526} WDI_WowlEnterInfoType;
4527
4528/*---------------------------------------------------------------------------
4529 WDI_WowlEnterReqParamsType
4530 Wowl enter info passed to WDI form WDA
4531---------------------------------------------------------------------------*/
4532typedef struct
4533{
4534 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
4535 WDI_WowlEnterInfoType wdiWowlEnterInfo;
4536 /*Request status callback offered by UMAC - it is called if the current req
4537 has returned PENDING as status; it delivers the status of sending the message
4538 over the BUS */
4539 WDI_ReqStatusCb wdiReqStatusCB;
4540 /*The user data passed in by UMAC, it will be sent back when the above
4541 function pointer will be called */
4542 void* pUserData;
4543}WDI_WowlEnterReqParamsType;
4544
4545/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004546 WDI_WowlEnterRsqParamsType
4547 Wowl enter info passed from WDI to WDA
4548---------------------------------------------------------------------------*/
4549typedef struct
4550{
4551 /*Status of the response message*/
4552 WDI_Status status;
4553
4554 /* BSSIDX used to find the current session
4555 */
4556 wpt_uint8 bssIdx;
4557}WDI_WowlEnterRspParamsType;
4558
4559/*---------------------------------------------------------------------------
4560 WDI_WowlExitInfoType
4561 Wowl exit info passed to WDA form UMAC
4562 ---------------------------------------------------------------------------*/
4563typedef struct
4564{
4565 /* BSSIDX used to find the current session
4566 */
4567 wpt_uint8 bssIdx;
4568} WDI_WowlExitInfoType;
4569
4570/*---------------------------------------------------------------------------
4571 WDI_WowlExitReqParamsType
4572 Wowl exit info passed to WDI form WDA
4573---------------------------------------------------------------------------*/
4574typedef struct
4575{
4576 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
4577 WDI_WowlExitInfoType wdiWowlExitInfo;
4578 /*Request status callback offered by UMAC - it is called if the current req
4579 has returned PENDING as status; it delivers the status of sending the message
4580 over the BUS */
4581 WDI_ReqStatusCb wdiReqStatusCB;
4582 /*The user data passed in by UMAC, it will be sent back when the above
4583 function pointer will be called */
4584 void* pUserData;
4585}WDI_WowlExitReqParamsType;
4586
4587/*---------------------------------------------------------------------------
4588 WDI_WowlExitRspParamsType
4589 Wowl exit info passed from WDI to WDA
4590---------------------------------------------------------------------------*/
4591typedef struct
4592{
4593 /*Status of the response message*/
4594 WDI_Status status;
4595
4596 /* BSSIDX used to find the current session
4597 */
4598 wpt_uint8 bssIdx;
4599}WDI_WowlExitRspParamsType;
4600
4601/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004602 WDI_ConfigureAppsCpuWakeupStateReqParamsType
4603 Apps Cpu Wakeup State parameters passed to WDI form WDA
4604---------------------------------------------------------------------------*/
4605typedef struct
4606{
4607 /*Depicts the state of the Apps CPU */
4608 wpt_boolean bIsAppsAwake;
4609 /*Request status callback offered by UMAC - it is called if the current req
4610 has returned PENDING as status; it delivers the status of sending the message
4611 over the BUS */
4612 WDI_ReqStatusCb wdiReqStatusCB;
4613 /*The user data passed in by UMAC, it will be sent back when the above
4614 function pointer will be called */
4615 void* pUserData;
4616}WDI_ConfigureAppsCpuWakeupStateReqParamsType;
4617/*---------------------------------------------------------------------------
4618 WDI_FlushAcReqinfoType
4619---------------------------------------------------------------------------*/
4620typedef struct
4621{
4622 // Message Type
4623 wpt_uint16 usMesgType;
4624
4625 // Message Length
4626 wpt_uint16 usMesgLen;
4627
4628 // Station Index. originates from HAL
4629 wpt_uint8 ucSTAId;
4630
4631 // TID for which the transmit queue is being flushed
4632 wpt_uint8 ucTid;
4633
4634}WDI_FlushAcReqinfoType;
4635
4636/*---------------------------------------------------------------------------
4637 WDI_FlushAcReqParamsType
4638---------------------------------------------------------------------------*/
4639typedef struct
4640{
4641 /*AC Info */
4642 WDI_FlushAcReqinfoType wdiFlushAcInfo;
4643
4644 /*Request status callback offered by UMAC - it is called if the current
4645 req has returned PENDING as status; it delivers the status of sending
4646 the message over the BUS */
4647 WDI_ReqStatusCb wdiReqStatusCB;
4648
4649 /*The user data passed in by UMAC, it will be sent back when the above
4650 function pointer will be called */
4651 void* pUserData;
4652}WDI_FlushAcReqParamsType;
4653
4654/*---------------------------------------------------------------------------
4655 WDI_BtAmpEventinfoType
4656 BT-AMP Event Structure
4657---------------------------------------------------------------------------*/
4658typedef struct
4659{
4660 wpt_uint8 ucBtAmpEventType;
4661
4662} WDI_BtAmpEventinfoType;
4663
4664/*---------------------------------------------------------------------------
4665 WDI_BtAmpEventParamsType
4666---------------------------------------------------------------------------*/
4667typedef struct
4668{
4669 /*BT AMP event Info */
4670 WDI_BtAmpEventinfoType wdiBtAmpEventInfo;
4671
4672 /*Request status callback offered by UMAC - it is called if the current
4673 req has returned PENDING as status; it delivers the status of sending
4674 the message over the BUS */
4675 WDI_ReqStatusCb wdiReqStatusCB;
4676
4677 /*The user data passed in by UMAC, it will be sent back when the above
4678 function pointer will be called */
4679 void* pUserData;
4680}WDI_BtAmpEventParamsType;
4681
Jeff Johnsone7245742012-09-05 17:12:55 -07004682#ifdef FEATURE_OEM_DATA_SUPPORT
4683
4684#ifndef OEM_DATA_REQ_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004685#define OEM_DATA_REQ_SIZE 134
Jeff Johnsone7245742012-09-05 17:12:55 -07004686#endif
4687#ifndef OEM_DATA_RSP_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004688#define OEM_DATA_RSP_SIZE 1968
Jeff Johnsone7245742012-09-05 17:12:55 -07004689#endif
4690
Padma, Santhosh Kumar2ccac212015-10-20 17:27:27 +05304691#ifndef NEW_OEM_DATA_REQ_SIZE
4692#define NEW_OEM_DATA_REQ_SIZE 292
4693#endif
4694
4695#ifndef NEW_OEM_DATA_RSP_SIZE
4696#define NEW_OEM_DATA_RSP_SIZE 2100
4697#endif
4698
Jeff Johnsone7245742012-09-05 17:12:55 -07004699/*----------------------------------------------------------------------------
4700 WDI_oemDataReqInfoType
4701----------------------------------------------------------------------------*/
4702typedef struct
4703{
4704 wpt_macAddr selfMacAddr;
4705 wpt_uint8 oemDataReq[OEM_DATA_REQ_SIZE];
4706}WDI_oemDataReqInfoType;
4707
4708/*----------------------------------------------------------------------------
4709 WDI_oemDataReqParamsType
4710----------------------------------------------------------------------------*/
4711typedef struct
4712{
4713 /*Request status callback offered by UMAC - it is called if the current
4714 req has returned PENDING as status; it delivers the status of sending
4715 the message over the BUS */
4716 WDI_ReqStatusCb wdiReqStatusCB;
4717
4718 /*The user data passed in by UMAC, it will be sent back when the above
4719 function pointer will be called */
4720 void* pUserData;
4721
4722 /*OEM DATA REQ Info */
4723 WDI_oemDataReqInfoType wdiOemDataReqInfo;
4724
4725}WDI_oemDataReqParamsType;
4726
4727/*----------------------------------------------------------------------------
4728 WDI_oemDataRspParamsType
4729----------------------------------------------------------------------------*/
4730typedef struct
4731{
4732 wpt_uint8 oemDataRsp[OEM_DATA_RSP_SIZE];
4733}WDI_oemDataRspParamsType;
4734
Padma, Santhosh Kumar2ccac212015-10-20 17:27:27 +05304735/*----------------------------------------------------------------------------
4736 OEM DATA REQ NEW/OEM DATA RSP NEW - DATA STRUCTURES
4737----------------------------------------------------------------------------*/
4738/* Structure for defining req sent to the PE */
4739typedef struct
4740{
Padma, Santhosh Kumar5d2f76b2016-01-11 18:42:20 +05304741 wpt_macAddr selfMacAddr;
4742 wpt_uint8 reserved[2];
Padma, Santhosh Kumar2ccac212015-10-20 17:27:27 +05304743 wpt_uint8 oemDataReqNew[NEW_OEM_DATA_REQ_SIZE];
4744} WDI_OemDataReqNew, WDI_OemDataReqNewConfig;
4745
Padma, Santhosh Kumar2ccac212015-10-20 17:27:27 +05304746/*************************************************************************************************************/
4747
Jeff Johnsone7245742012-09-05 17:12:55 -07004748#endif /* FEATURE_OEM_DATA_SUPPORT */
Jeff Johnson295189b2012-06-20 16:38:30 -07004749
4750#ifdef WLAN_FEATURE_VOWIFI_11R
4751/*---------------------------------------------------------------------------
4752 WDI_AggrAddTSReqInfoType
4753---------------------------------------------------------------------------*/
4754typedef struct
4755{
4756 /*STA Index*/
4757 wpt_uint8 ucSTAIdx;
4758
4759 /*Identifier for TSpec*/
4760 wpt_uint8 ucTspecIdx;
4761
4762 /*Tspec IE negotiated OTA*/
4763 WDI_TspecIEType wdiTspecIE[WDI_MAX_NO_AC];
4764
4765 /*UAPSD delivery and trigger enabled flags */
4766 wpt_uint8 ucUapsdFlags;
4767
4768 /*SI for each AC*/
4769 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
4770
4771 /*Suspend Interval for each AC*/
4772 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
4773
4774 /*DI for each AC*/
4775 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
4776
4777}WDI_AggrAddTSReqInfoType;
4778
4779
4780/*---------------------------------------------------------------------------
4781 WDI_AggrAddTSReqParamsType
4782---------------------------------------------------------------------------*/
4783typedef struct
4784{
4785 /*TSpec Info */
4786 WDI_AggrAddTSReqInfoType wdiAggrTsInfo;
4787
4788 /*Request status callback offered by UMAC - it is called if the current
4789 req has returned PENDING as status; it delivers the status of sending
4790 the message over the BUS */
4791 WDI_ReqStatusCb wdiReqStatusCB;
4792
4793 /*The user data passed in by UMAC, it will be sent back when the above
4794 function pointer will be called */
4795 void* pUserData;
4796}WDI_AggrAddTSReqParamsType;
4797
4798#endif /* WLAN_FEATURE_VOWIFI_11R */
4799
Jeff Johnson295189b2012-06-20 16:38:30 -07004800/*---------------------------------------------------------------------------
4801 WDI_FTMCommandReqType
4802---------------------------------------------------------------------------*/
4803typedef struct
4804{
4805 /* FTM Command Body length */
4806 wpt_uint32 bodyLength;
4807 /* Actual FTM Command body */
4808 void *FTMCommandBody;
4809}WDI_FTMCommandReqType;
Jeff Johnson295189b2012-06-20 16:38:30 -07004810
4811/*---------------------------------------------------------------------------
4812 WDI_WlanSuspendInfoType
4813---------------------------------------------------------------------------*/
4814typedef struct
4815{
4816 /* Mode of Mcast and Bcast filters configured */
4817 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4818}WDI_WlanSuspendInfoType;
4819
4820/*---------------------------------------------------------------------------
4821 WDI_SuspendParamsType
4822---------------------------------------------------------------------------*/
4823typedef struct
4824{
4825 WDI_WlanSuspendInfoType wdiSuspendParams;
4826
4827 /*Request status callback offered by UMAC - it is called if the current
4828 req has returned PENDING as status; it delivers the status of sending
4829 the message over the BUS */
4830 WDI_ReqStatusCb wdiReqStatusCB;
4831
4832 /*The user data passed in by UMAC, it will be sent back when the above
4833 function pointer will be called */
4834 void* pUserData;
4835
4836}WDI_SuspendParamsType;
4837
4838/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004839 WDI_TrafficStatsType - This is collected for each STA
4840---------------------------------------------------------------------------*/
4841
4842typedef struct
4843{
4844 /* TX stats */
4845 wpt_uint32 txBytesPushed;
4846 wpt_uint32 txPacketsPushed;
4847
4848 /* RX stats */
4849 wpt_uint32 rxBytesRcvd;
4850 wpt_uint32 rxPacketsRcvd;
4851 wpt_uint32 rxTimeTotal;
4852}WDI_TrafficStatsType;
4853
4854typedef struct
4855{
4856 WDI_TrafficStatsType *pTrafficStats;
4857 wpt_uint32 length;
4858 wpt_uint32 duration;
4859
4860 /*Request status callback offered by UMAC - it is called if the current
4861 req has returned PENDING as status; it delivers the status of sending
4862 the message over the BUS */
4863 WDI_ReqStatusCb wdiReqStatusCB;
4864
4865 /*The user data passed in by UMAC, it will be sent back when the above
4866 function pointer will be called */
4867 void* pUserData;
4868}WDI_TrafficStatsIndType;
4869
Chet Lanctot186b5732013-03-18 10:26:30 -07004870#ifdef WLAN_FEATURE_11W
4871typedef struct
4872{
4873
4874 wpt_boolean bExcludeUnencrypt;
4875 wpt_macAddr bssid;
4876 /*Request status callback offered by UMAC - it is called if the current
4877 req has returned PENDING as status; it delivers the status of sending
4878 the message over the BUS */
4879 WDI_ReqStatusCb wdiReqStatusCB;
4880
4881 /*The user data passed in by UMAC, it will be sent back when the above
4882 function pointer will be called */
4883 void* pUserData;
4884}WDI_ExcludeUnencryptIndType;
4885#endif
4886
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004887/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004888 WDI_WlanResumeInfoType
4889---------------------------------------------------------------------------*/
4890typedef struct
4891{
4892 /* Mode of Mcast and Bcast filters configured */
4893 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4894}WDI_WlanResumeInfoType;
4895
4896/*---------------------------------------------------------------------------
4897 WDI_ResumeParamsType
4898---------------------------------------------------------------------------*/
4899typedef struct
4900{
4901 WDI_WlanResumeInfoType wdiResumeParams;
4902
4903 /*Request status callback offered by UMAC - it is called if the current
4904 req has returned PENDING as status; it delivers the status of sending
4905 the message over the BUS */
4906 WDI_ReqStatusCb wdiReqStatusCB;
4907
4908 /*The user data passed in by UMAC, it will be sent back when the above
4909 function pointer will be called */
4910 void* pUserData;
4911
4912}WDI_ResumeParamsType;
4913
4914#ifdef WLAN_FEATURE_GTK_OFFLOAD
4915/*---------------------------------------------------------------------------
4916 * WDI_GTK_OFFLOAD_REQ
4917 *--------------------------------------------------------------------------*/
4918
4919typedef struct
4920{
4921 wpt_uint32 ulFlags; /* optional flags */
4922 wpt_uint8 aKCK[16]; /* Key confirmation key */
4923 wpt_uint8 aKEK[16]; /* key encryption key */
4924 wpt_uint64 ullKeyReplayCounter; /* replay counter */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004925 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004926} WDI_GtkOffloadReqParams;
4927
4928typedef struct
4929{
4930 WDI_GtkOffloadReqParams gtkOffloadReqParams;
4931
4932 /*Request status callback offered by UMAC - it is called if the current
4933 req has returned PENDING as status; it delivers the status of sending
4934 the message over the BUS */
4935 WDI_ReqStatusCb wdiReqStatusCB;
4936
4937 /*The user data passed in by UMAC, it will be sent back when the above
4938 function pointer will be called */
4939 void* pUserData;
4940} WDI_GtkOffloadReqMsg;
4941
4942/*---------------------------------------------------------------------------
4943 * WDI_GTK_OFFLOAD_RSP
4944 *--------------------------------------------------------------------------*/
4945typedef struct
4946{
4947 /* success or failure */
4948 wpt_uint32 ulStatus;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004949 /*BssIdx of the response */
4950 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004951} WDI_GtkOffloadRspParams;
4952
4953typedef struct
4954{
4955 WDI_GtkOffloadRspParams gtkOffloadRspParams;
4956
4957 /*Request status callback offered by UMAC - it is called if the current
4958 req has returned PENDING as status; it delivers the status of sending
4959 the message over the BUS */
4960 WDI_ReqStatusCb wdiReqStatusCB;
4961
4962 /*The user data passed in by UMAC, it will be sent back when the above
4963 function pointer will be called */
4964 void* pUserData;
4965} WDI_GtkOffloadRspMsg;
4966
4967
4968/*---------------------------------------------------------------------------
4969* WDI_GTK_OFFLOAD_GETINFO_REQ
4970*--------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004971typedef struct
4972{
4973 /*BssIdx of the response */
4974 wpt_macAddr bssId;
4975} WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004976
4977typedef struct
4978{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004979
4980 WDI_GtkOffloadGetInfoReqParams WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004981 /*Request status callback offered by UMAC - it is called if the current
4982 req has returned PENDING as status; it delivers the status of sending
4983 the message over the BUS */
4984 WDI_ReqStatusCb wdiReqStatusCB;
4985
4986 /*The user data passed in by UMAC, it will be sent back when the above
4987 function pointer will be called */
4988 void* pUserData;
4989} WDI_GtkOffloadGetInfoReqMsg;
4990
4991/*---------------------------------------------------------------------------
4992* WDI_GTK_OFFLOAD_GETINFO_RSP
4993*--------------------------------------------------------------------------*/
4994typedef struct
4995{
4996 wpt_uint32 ulStatus; /* success or failure */
4997 wpt_uint64 ullKeyReplayCounter; /* current replay counter value */
4998 wpt_uint32 ulTotalRekeyCount; /* total rekey attempts */
4999 wpt_uint32 ulGTKRekeyCount; /* successful GTK rekeys */
5000 wpt_uint32 ulIGTKRekeyCount; /* successful iGTK rekeys */
Gopichand Nakkala870cbae2013-03-15 21:16:09 +05305001 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005002} WDI_GtkOffloadGetInfoRspParams;
5003
5004typedef struct
5005{
5006 WDI_GtkOffloadGetInfoRspParams gtkOffloadGetInfoRspParams;
5007
5008 /*Request status callback offered by UMAC - it is called if the current
5009 req has returned PENDING as status; it delivers the status of sending
5010 the message over the BUS */
5011 WDI_ReqStatusCb wdiReqStatusCB;
5012
5013 /*The user data passed in by UMAC, it will be sent back when the above
5014 function pointer will be called */
5015 void* pUserData;
5016} WDI_GtkOffloadGetInfoRspMsg;
5017#endif // WLAN_FEATURE_GTK_OFFLOAD
5018
5019/*---------------------------------------------------------------------------
5020 WDI_SuspendResumeRspParamsType
5021---------------------------------------------------------------------------*/
5022typedef struct
5023{
5024 /*Status of the response*/
5025 WDI_Status wdiStatus;
5026}WDI_SuspendResumeRspParamsType;
5027
Leo Chang9056f462013-08-01 19:21:11 -07005028#ifdef FEATURE_WLAN_LPHB
5029/*---------------------------------------------------------------------------
5030 WDI Low Power Heart Beat Config request
5031 Copy from sirApi.h to avoid compile error
5032---------------------------------------------------------------------------*/
5033#define WDI_LPHB_FILTER_LEN 64
5034
5035typedef enum
5036{
5037 WDI_LPHB_SET_EN_PARAMS_INDID = 0x0001,
5038 WDI_LPHB_SET_TCP_PARAMS_INDID,
5039 WDI_LPHB_SET_TCP_PKT_FILTER_INDID,
5040 WDI_LPHB_SET_UDP_PARAMS_INDID,
5041 WDI_LPHB_SET_UDP_PKT_FILTER_INDID,
5042 WDI_LPHB_SET_NETWORK_INFO_INDID,
5043} WDI_LPHBIndType;
5044
5045typedef struct
5046{
5047 wpt_uint8 enable;
5048 wpt_uint8 item;
5049 wpt_uint8 session;
5050} WDI_LPHBEnableStruct;
5051
5052typedef struct
5053{
5054 wpt_uint32 srv_ip;
5055 wpt_uint32 dev_ip;
5056 wpt_uint16 src_port;
5057 wpt_uint16 dst_port;
5058 wpt_uint16 timeout;
5059 wpt_uint8 session;
5060 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
Leo Changd9df8aa2013-09-26 13:32:26 -07005061 wpt_uint16 timePeriodSec; // in seconds
5062 wpt_uint32 tcpSn;
Leo Chang9056f462013-08-01 19:21:11 -07005063} WDI_LPHBTcpParamStruct;
5064
5065typedef struct
5066{
5067 wpt_uint16 length;
5068 wpt_uint8 offset;
5069 wpt_uint8 session;
5070 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
5071} WDI_LPHBTcpFilterStruct;
5072
5073typedef struct
5074{
5075 wpt_uint32 srv_ip;
5076 wpt_uint32 dev_ip;
5077 wpt_uint16 src_port;
5078 wpt_uint16 dst_port;
5079 wpt_uint16 interval;
5080 wpt_uint16 timeout;
5081 wpt_uint8 session;
5082 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
5083} WDI_LPHBUdpParamStruct;
5084
5085typedef struct
5086{
5087 wpt_uint16 length;
5088 wpt_uint8 offset;
5089 wpt_uint8 session;
5090 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
5091} WDI_LPHBUdpFilterStruct;
5092
5093typedef struct
5094{
5095 wpt_uint16 cmd;
5096 wpt_uint16 dummy;
5097 union
5098 {
5099 WDI_LPHBEnableStruct lphbEnableReq;
5100 WDI_LPHBTcpParamStruct lphbTcpParamReq;
5101 WDI_LPHBTcpFilterStruct lphbTcpFilterReq;
5102 WDI_LPHBUdpParamStruct lphbUdpParamReq;
5103 WDI_LPHBUdpFilterStruct lphbUdpFilterReq;
5104 } params;
5105} WDI_LPHBReq;
5106#endif /* FEATURE_WLAN_LPHB */
Jeff Johnson295189b2012-06-20 16:38:30 -07005107
Jeff Johnson295189b2012-06-20 16:38:30 -07005108/*---------------------------------------------------------------------------
5109 WDI_AuthType
5110---------------------------------------------------------------------------*/
5111typedef enum
5112{
5113 WDI_AUTH_TYPE_ANY = 0,
5114
5115 WDI_AUTH_TYPE_NONE,
5116 WDI_AUTH_TYPE_OPEN_SYSTEM,
5117 WDI_AUTH_TYPE_SHARED_KEY,
5118
5119 WDI_AUTH_TYPE_WPA,
5120 WDI_AUTH_TYPE_WPA_PSK,
5121 WDI_AUTH_TYPE_WPA_NONE,
5122
5123 WDI_AUTH_TYPE_RSN,
5124 WDI_AUTH_TYPE_RSN_PSK,
5125 WDI_AUTH_TYPE_FT_RSN,
5126 WDI_AUTH_TYPE_FT_RSN_PSK,
5127 WDI_AUTH_TYPE_WAPI_WAI_CERTIFICATE,
5128 WDI_AUTH_TYPE_WAPI_WAI_PSK,
5129 WDI_AUTH_TYPE_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
5130
5131}WDI_AuthType;
5132
5133/*---------------------------------------------------------------------------
5134 WDI_EdType
5135---------------------------------------------------------------------------*/
5136typedef enum
5137{
5138 WDI_ED_ANY = 0,
5139 WDI_ED_NONE,
5140 WDI_ED_WEP40,
5141 WDI_ED_WEP104,
5142 WDI_ED_TKIP,
5143 WDI_ED_CCMP,
5144 WDI_ED_WPI,
5145 WDI_ED_AES_128_CMAC,
5146 WDI_ED_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
5147} WDI_EdType;
5148
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005149#ifdef FEATURE_WLAN_SCAN_PNO
5150
5151/*Max number of channels for a given network supported by PNO*/
5152#define WDI_PNO_MAX_NETW_CHANNELS 26
5153
5154/*Max number of channels for a given network supported by PNO*/
5155#define WDI_PNO_MAX_NETW_CHANNELS_EX 60
5156
5157/*The max number of programable networks for PNO*/
5158#define WDI_PNO_MAX_SUPP_NETWORKS 16
5159
5160/*The max number of scan timers programable in Riva*/
5161#define WDI_PNO_MAX_SCAN_TIMERS 10
5162
5163#define WDI_PNO_MAX_PROBE_SIZE 450
Jeff Johnson295189b2012-06-20 16:38:30 -07005164
5165/*---------------------------------------------------------------------------
5166 WDI_PNOMode
5167---------------------------------------------------------------------------*/
5168typedef enum
5169{
5170 /*Network offload is to start immediately*/
5171 WDI_PNO_MODE_IMMEDIATE,
5172
5173 /*Network offload is to start on host suspend*/
5174 WDI_PNO_MODE_ON_SUSPEND,
5175
5176 /*Network offload is to start on host resume*/
5177 WDI_PNO_MODE_ON_RESUME,
5178 WDI_PNO_MODE_MAX = 0xFFFFFFFF
5179} WDI_PNOMode;
5180
5181/* SSID broadcast type */
5182typedef enum
5183{
5184 WDI_BCAST_UNKNOWN = 0,
5185 WDI_BCAST_NORMAL = 1,
5186 WDI_BCAST_HIDDEN = 2,
5187
5188 WDI_BCAST_TYPE_MAX = 0xFFFFFFFF
5189} WDI_SSIDBcastType;
5190
5191/*---------------------------------------------------------------------------
5192 WDI_NetworkType
5193---------------------------------------------------------------------------*/
5194typedef struct
5195{
5196 /*The SSID of the preferred network*/
5197 WDI_MacSSid ssId;
5198
5199 /*The authentication method of the preferred network*/
5200 WDI_AuthType wdiAuth;
5201
5202 /*The encryption method of the preferred network*/
5203 WDI_EdType wdiEncryption;
5204
5205 /*SSID broadcast type, normal, hidden or unknown*/
5206 WDI_SSIDBcastType wdiBcastNetworkType;
5207
5208 /*channel count - 0 for all channels*/
5209 wpt_uint8 ucChannelCount;
5210
5211 /*the actual channels*/
Madan Mohan Koyyalamudi4bb5d2e2013-09-26 17:36:46 +05305212 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
Jeff Johnson295189b2012-06-20 16:38:30 -07005213
5214 /*rssi threshold that a network must meet to be considered, 0 - for any*/
5215 wpt_uint8 rssiThreshold;
5216} WDI_NetworkType;
5217
5218
5219/*---------------------------------------------------------------------------
5220 WDI_ScanTimer
5221---------------------------------------------------------------------------*/
5222typedef struct
5223{
5224 /*The timer value*/
5225 wpt_uint32 uTimerValue;
5226
5227 /*The amount of time we should be repeating the interval*/
5228 wpt_uint32 uTimerRepeat;
5229} WDI_ScanTimer;
5230
5231/*---------------------------------------------------------------------------
5232 WDI_ScanTimersType
5233---------------------------------------------------------------------------*/
5234typedef struct
5235{
5236 /*The number of value pair intervals present in the array*/
5237 wpt_uint8 ucScanTimersCount;
5238
5239 /*The time-repeat value pairs*/
5240 WDI_ScanTimer aTimerValues[WDI_PNO_MAX_SCAN_TIMERS];
5241} WDI_ScanTimersType;
5242
5243/*---------------------------------------------------------------------------
5244 WDI_PNOScanReqType
5245---------------------------------------------------------------------------*/
5246typedef struct
5247{
5248 /*Enable or disable PNO feature*/
5249 wpt_uint8 bEnable;
5250
5251 /*PNO mode requested*/
5252 WDI_PNOMode wdiModePNO;
5253
5254 /*Network count*/
5255 wpt_uint8 ucNetworksCount;
5256
5257 /*The networks to look for*/
5258 WDI_NetworkType aNetworks[WDI_PNO_MAX_SUPP_NETWORKS];
5259
5260 /*Scan timer intervals*/
5261 WDI_ScanTimersType scanTimers;
5262
5263 /*Probe template for 2.4GHz band*/
5264 wpt_uint16 us24GProbeSize;
5265 wpt_uint8 a24GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
5266
5267 /*Probe template for 5GHz band*/
5268 wpt_uint16 us5GProbeSize;
5269 wpt_uint8 a5GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
5270} WDI_PNOScanReqType;
5271
5272/*---------------------------------------------------------------------------
5273 WDI_PNOScanReqParamsType
5274 PNO info passed to WDI form WDA
5275---------------------------------------------------------------------------*/
5276typedef struct
5277{
5278 /* PNO Info Type, same as tPrefNetwListParams */
5279 WDI_PNOScanReqType wdiPNOScanInfo;
5280 /* Request status callback offered by UMAC - it is called if the current req
5281 has returned PENDING as status; it delivers the status of sending the message
5282 over the BUS */
5283 WDI_ReqStatusCb wdiReqStatusCB;
5284 /* The user data passed in by UMAC, it will be sent back when the above
5285 function pointer will be called */
5286 void* pUserData;
5287} WDI_PNOScanReqParamsType;
5288
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005289/*---------------------------------------------------------------------------
5290 WDI_SetRssiFilterReqParamsType
5291 PNO info passed to WDI form WDA
5292---------------------------------------------------------------------------*/
5293typedef struct
5294{
5295 /* RSSI Threshold */
5296 wpt_uint8 rssiThreshold;
5297 /* Request status callback offered by UMAC - it is called if the current req
5298 has returned PENDING as status; it delivers the status of sending the message
5299 over the BUS */
5300 WDI_ReqStatusCb wdiReqStatusCB;
5301 /* The user data passed in by UMAC, it will be sent back when the above
5302 function pointer will be called */
5303 void* pUserData;
5304} WDI_SetRssiFilterReqParamsType;
5305
5306/*---------------------------------------------------------------------------
5307 WDI_UpdateScanParamsInfo
5308---------------------------------------------------------------------------*/
5309typedef struct
5310{
5311 /*Is 11d enabled*/
5312 wpt_uint8 b11dEnabled;
5313
5314 /*Was UMAc able to find the regulatory domain*/
5315 wpt_uint8 b11dResolved;
5316
5317 /*Number of channel allowed in the regulatory domain*/
5318 wpt_uint8 ucChannelCount;
5319
5320 /*The actual channels allowed in the regulatory domain*/
5321 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
5322
5323 /*Passive min channel time*/
5324 wpt_uint16 usPassiveMinChTime;
5325
5326 /*Passive max channel time*/
5327 wpt_uint16 usPassiveMaxChTime;
5328
5329 /*Active min channel time*/
5330 wpt_uint16 usActiveMinChTime;
5331
5332 /*Active max channel time*/
5333 wpt_uint16 usActiveMaxChTime;
5334
5335 /*channel bonding info*/
5336 wpt_uint8 cbState;
5337} WDI_UpdateScanParamsInfo;
5338
5339/*---------------------------------------------------------------------------
5340 WDI_UpdateScanParamsInfoType
5341 UpdateScanParams info passed to WDI form WDA
5342---------------------------------------------------------------------------*/
5343typedef struct
5344{
5345 /* PNO Info Type, same as tUpdateScanParams */
5346 WDI_UpdateScanParamsInfo wdiUpdateScanParamsInfo;
5347 /* Request status callback offered by UMAC - it is called if the current req
5348 has returned PENDING as status; it delivers the status of sending the message
5349 over the BUS */
5350 WDI_ReqStatusCb wdiReqStatusCB;
5351 /* The user data passed in by UMAC, it will be sent back when the above
5352 function pointer will be called */
5353 void* pUserData;
5354} WDI_UpdateScanParamsInfoType;
5355#endif //FEATURE_WLAN_SCAN_PNO
5356
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005357#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
5358
Varun Reddy Yeturu52231ea2014-02-06 12:00:56 -08005359#define WDI_ROAM_SCAN_MAX_CHANNELS 80
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005360#define WDI_ROAM_SCAN_MAX_PROBE_SIZE 450
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005361
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005362typedef struct
5363{
5364 /*The SSID of the preferred network*/
5365 WDI_MacSSid ssId;
5366 wpt_uint8 currAPbssid[WDI_MAC_ADDR_LEN];
5367
5368 /*The authentication method of the preferred network*/
5369 WDI_AuthType authentication;
5370
5371 /*The encryption method of the preferred network*/
5372 WDI_EdType encryption;
5373 WDI_EdType mcencryption;
5374
5375 /*SSID broadcast type, normal, hidden or unknown*/
5376 //WDI_SSIDBcastType wdiBcastNetworkType;
5377
5378 /*channel count - 0 for all channels*/
5379 wpt_uint8 ChannelCount;
5380
5381 /*the actual channels*/
5382 wpt_uint8 ChannelCache[WDI_ROAM_SCAN_MAX_CHANNELS];
5383
5384} WDI_RoamNetworkType;
5385
5386typedef struct WDIMobilityDomainInfo
5387{
5388 wpt_uint8 mdiePresent;
5389 wpt_uint16 mobilityDomain;
5390} WDI_MobilityDomainInfo;
5391
5392/*---------------------------------------------------------------------------
5393 WDI_RoamOffloadScanInfo
5394---------------------------------------------------------------------------*/
5395typedef struct
5396{
5397 wpt_boolean RoamScanOffloadEnabled;
Sameer Thalappil4ae66ec2013-11-05 14:17:35 -08005398 wpt_boolean MAWCEnabled;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005399 wpt_uint8 LookupThreshold;
Varun Reddy Yeturu6c5e25c2014-01-09 21:55:37 -08005400 wpt_uint8 RxSensitivityThreshold;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005401 wpt_uint8 RoamRssiDiff;
5402 wpt_uint8 ChannelCacheType;
5403 wpt_uint8 Command;
5404 wpt_uint8 StartScanReason;
5405 wpt_uint16 NeighborScanTimerPeriod;
5406 wpt_uint16 NeighborRoamScanRefreshPeriod;
5407 wpt_uint16 NeighborScanChannelMinTime;
5408 wpt_uint16 NeighborScanChannelMaxTime;
5409 wpt_uint16 EmptyRefreshScanPeriod;
5410 wpt_uint8 ValidChannelCount;
5411 wpt_uint8 ValidChannelList[WDI_ROAM_SCAN_MAX_CHANNELS];
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08005412 wpt_boolean IsESEEnabled;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005413 /*Probe template for 2.4GHz band*/
5414 wpt_uint16 us24GProbeSize;
5415 wpt_uint8 a24GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
5416
5417 /*Probe template for 5GHz band*/
5418 wpt_uint16 us5GProbeSize;
5419 wpt_uint8 a5GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005420 /*LFR BG Scan will currently look for only one network to which it is initially connected.
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005421 * As per requirement, later, the following structure can be used as an array of networks.*/
5422 WDI_RoamNetworkType ConnectedNetwork;
5423 WDI_MobilityDomainInfo MDID;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005424 wpt_uint8 nProbes;
5425 wpt_uint16 HomeAwayTime;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005426} WDI_RoamOffloadScanInfo;
5427
5428typedef struct
5429{
5430 /* Start Roam Candidate Lookup Offload Back Ground Info Type */
5431 WDI_RoamOffloadScanInfo wdiRoamOffloadScanInfo;
5432 /* Request status callback offered by UMAC - it is called if the current req
5433 has returned PENDING as status; it delivers the status of sending the message
5434 over the BUS */
5435 WDI_ReqStatusCb wdiReqStatusCB;
5436 /* The user data passed in by UMAC, it will be sent back when the above
5437 function pointer will be called */
5438 void* pUserData;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005439} WDI_RoamScanOffloadReqParamsType;
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005440#endif //WLAN_FEATURE_ROAM_SCAN_OFFLOAD
Jeff Johnson295189b2012-06-20 16:38:30 -07005441
5442/*---------------------------------------------------------------------------
Sandeep Puligilla8b8b74b2014-02-10 16:39:05 +05305443 WDI_HT40ObssScanIndType
5444---------------------------------------------------------------------------*/
5445typedef struct
5446{
5447 wpt_uint8 cmdType;
5448 wpt_uint8 scanType;
5449 wpt_uint16 OBSSScanPassiveDwellTime; // In TUs
5450 wpt_uint16 OBSSScanActiveDwellTime; // In TUs
5451 wpt_uint16 BSSChannelWidthTriggerScanInterval; // In seconds
5452 wpt_uint16 OBSSScanPassiveTotalPerChannel; // In TUs
5453 wpt_uint16 OBSSScanActiveTotalPerChannel; // In TUs
5454 wpt_uint16 BSSWidthChannelTransitionDelayFactor;
5455 wpt_uint16 OBSSScanActivityThreshold;
5456 wpt_uint8 selfStaIdx;
5457 wpt_uint8 bssIdx;
5458 wpt_uint8 fortyMHZIntolerent;
5459 wpt_uint8 channelCount;
5460 wpt_uint8 channels[WDI_ROAM_SCAN_MAX_CHANNELS];
5461 wpt_uint8 currentOperatingClass;
5462 wpt_uint16 ieFieldLen;
5463 wpt_uint8 ieField[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
5464} WDI_HT40ObssScanIndType;
5465
5466
5467/*---------------------------------------------------------------------------
5468 WDI_OBSSScanIndParamsType
5469---------------------------------------------------------------------------*/
5470typedef struct
5471{
5472 WDI_HT40ObssScanIndType wdiHT40ObssScanParam;
5473
5474 /*Request status callback offered by UMAC - it is called if the current
5475 req has returned PENDING as status; it delivers the status of sending
5476 the message over the BUS */
5477 WDI_ReqStatusCb wdiReqStatusCB;
5478
5479 /*The user data passed in by UMAC, it will be sent back when the above
5480 function pointer will be called */
5481 void* pUserData;
5482
5483}WDI_HT40ObssScanParamsType;
5484
5485/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07005486 WDI_UpdateScanParamsInfo
5487---------------------------------------------------------------------------*/
5488typedef struct
5489{
5490 /* Ignore DTIM */
5491 wpt_uint32 uIgnoreDTIM;
5492
5493 /*DTIM Period*/
5494 wpt_uint32 uDTIMPeriod;
5495
5496 /* Listen Interval */
5497 wpt_uint32 uListenInterval;
5498
5499 /* Broadcast Multicas Filter */
5500 wpt_uint32 uBcastMcastFilter;
5501
5502 /* Beacon Early Termination */
5503 wpt_uint32 uEnableBET;
5504
5505 /* Beacon Early Termination Interval */
5506 wpt_uint32 uBETInterval;
5507
Yue Mac24062f2013-05-13 17:01:29 -07005508 /* MAX LI for modulated DTIM */
5509 wpt_uint32 uMaxLIModulatedDTIM;
5510
Jeff Johnson295189b2012-06-20 16:38:30 -07005511} WDI_SetPowerParamsInfo;
5512
5513/*---------------------------------------------------------------------------
5514 WDI_UpdateScanParamsInfoType
5515 UpdateScanParams info passed to WDI form WDA
5516---------------------------------------------------------------------------*/
5517typedef struct
5518{
5519 /* Power params Info Type, same as tSetPowerParamsReq */
5520 WDI_SetPowerParamsInfo wdiSetPowerParamsInfo;
5521 /* Request status callback offered by UMAC - it is called if the current req
5522 has returned PENDING as status; it delivers the status of sending the message
5523 over the BUS */
5524 WDI_ReqStatusCb wdiReqStatusCB;
5525 /* The user data passed in by UMAC, it will be sent back when the above
5526 function pointer will be called */
5527 void* pUserData;
5528}WDI_SetPowerParamsReqParamsType;
5529
5530/*---------------------------------------------------------------------------
5531 WDI_SetTxPerTrackingConfType
5532 Wowl add ptrn info passed to WDA form UMAC
5533---------------------------------------------------------------------------*/
5534typedef struct
5535{
5536 wpt_uint8 ucTxPerTrackingEnable; /* 0: disable, 1:enable */
5537 wpt_uint8 ucTxPerTrackingPeriod; /* Check period, unit is sec. */
5538 wpt_uint8 ucTxPerTrackingRatio; /* (Fail TX packet)/(Total TX packet) ratio, the unit is 10%. */
5539 wpt_uint32 uTxPerTrackingWatermark; /* A watermark of check number, once the tx packet exceed this number, we do the check, default is 5 */
5540} WDI_TxPerTrackingParamType;
5541
5542/*---------------------------------------------------------------------------
5543 WDI_SetTxPerTrackingReqParamsType
5544 Tx PER Tracking parameters passed to WDI from WDA
5545---------------------------------------------------------------------------*/
5546typedef struct
5547{
5548 /* Configurations for Tx PER Tracking */
5549 WDI_TxPerTrackingParamType wdiTxPerTrackingParam;
5550 /*Request status callback offered by UMAC - it is called if the current req
5551 has returned PENDING as status; it delivers the status of sending the message
5552 over the BUS */
5553 WDI_ReqStatusCb wdiReqStatusCB;
5554 /*The user data passed in by UMAC, it will be sent back when the above
5555 function pointer will be called */
5556 void* pUserData;
5557}WDI_SetTxPerTrackingReqParamsType;
5558
5559#ifdef WLAN_FEATURE_PACKET_FILTERING
5560/*---------------------------------------------------------------------------
5561 Packet Filtering Parameters
5562---------------------------------------------------------------------------*/
5563
5564#define WDI_IPV4_ADDR_LEN 4
5565#define WDI_MAC_ADDR_LEN 6
5566#define WDI_MAX_FILTER_TEST_DATA_LEN 8
5567#define WDI_MAX_NUM_MULTICAST_ADDRESS 240
5568#define WDI_MAX_NUM_FILTERS 20
5569#define WDI_MAX_NUM_TESTS_PER_FILTER 10
5570
5571//
5572// Receive Filter Parameters
5573//
5574typedef enum
5575{
5576 WDI_RCV_FILTER_TYPE_INVALID,
5577 WDI_RCV_FILTER_TYPE_FILTER_PKT,
5578 WDI_RCV_FILTER_TYPE_BUFFER_PKT,
5579 WDI_RCV_FILTER_TYPE_MAX_ENUM_SIZE
5580}WDI_ReceivePacketFilterType;
5581
5582typedef enum
5583{
5584 WDI_FILTER_HDR_TYPE_INVALID,
5585 WDI_FILTER_HDR_TYPE_MAC,
5586 WDI_FILTER_HDR_TYPE_ARP,
5587 WDI_FILTER_HDR_TYPE_IPV4,
5588 WDI_FILTER_HDR_TYPE_IPV6,
5589 WDI_FILTER_HDR_TYPE_UDP,
5590 WDI_FILTER_HDR_TYPE_MAX
5591}WDI_RcvPktFltProtocolType;
5592
5593typedef enum
5594{
5595 WDI_FILTER_CMP_TYPE_INVALID,
5596 WDI_FILTER_CMP_TYPE_EQUAL,
5597 WDI_FILTER_CMP_TYPE_MASK_EQUAL,
5598 WDI_FILTER_CMP_TYPE_NOT_EQUAL,
5599 WDI_FILTER_CMP_TYPE_MASK_NOT_EQUAL,
5600 WDI_FILTER_CMP_TYPE_MAX
5601}WDI_RcvPktFltCmpFlagType;
5602
5603typedef struct
5604{
5605 WDI_RcvPktFltProtocolType protocolLayer;
5606 WDI_RcvPktFltCmpFlagType cmpFlag;
5607/* Length of the data to compare */
5608 wpt_uint16 dataLength;
5609/* from start of the respective frame header */
5610 wpt_uint8 dataOffset;
5611 wpt_uint8 reserved; /* Reserved field */
5612/* Data to compare */
5613 wpt_uint8 compareData[WDI_MAX_FILTER_TEST_DATA_LEN];
5614/* Mask to be applied on the received packet data before compare */
5615 wpt_uint8 dataMask[WDI_MAX_FILTER_TEST_DATA_LEN];
5616}WDI_RcvPktFilterFieldParams;
5617
5618typedef struct
5619{
5620 wpt_uint8 filterId;
5621 wpt_uint8 filterType;
5622 wpt_uint32 numFieldParams;
5623 wpt_uint32 coalesceTime;
Jeff Johnsone7245742012-09-05 17:12:55 -07005624 wpt_macAddr selfMacAddr;
5625 wpt_macAddr bssId;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005626 WDI_RcvPktFilterFieldParams paramsData[1];
5627
Jeff Johnson295189b2012-06-20 16:38:30 -07005628}WDI_RcvPktFilterCfgType;
5629
5630typedef struct
5631{
5632 /*Request status callback offered by UMAC - it is called if the current
5633 req has returned PENDING as status; it delivers the status of sending
5634 the message over the BUS */
5635 WDI_ReqStatusCb wdiReqStatusCB;
5636
5637 /*The user data passed in by UMAC, it will be sent back when the above
5638 function pointer will be called */
5639 void* pUserData;
5640
5641 // Variable length packet filter field params
5642 WDI_RcvPktFilterCfgType wdiPktFilterCfg;
5643} WDI_SetRcvPktFilterReqParamsType;
5644
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005645typedef struct
5646{
5647 /*Result of the operation*/
5648 WDI_Status wdiStatus;
5649 /* BSSIDX of the Set Receive Filter
5650 */
5651 wpt_uint8 bssIdx;
5652} WDI_SetRcvPktFilterRspParamsType;
5653
Jeff Johnson295189b2012-06-20 16:38:30 -07005654//
5655// Filter Packet Match Count Parameters
5656//
5657typedef struct
5658{
5659 /*Request status callback offered by UMAC - it is called if the current
5660 req has returned PENDING as status; it delivers the status of sending
5661 the message over the BUS */
5662 WDI_ReqStatusCb wdiReqStatusCB;
5663
5664 /*The user data passed in by UMAC, it will be sent back when the above
5665 function pointer will be called */
5666 void* pUserData;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005667
5668 /* BSSID of the Match count
5669 */
5670 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005671} WDI_RcvFltPktMatchCntReqParamsType;
5672
5673typedef struct
5674{
5675 wpt_uint8 filterId;
5676 wpt_uint32 matchCnt;
5677} WDI_RcvFltPktMatchCnt;
5678
5679typedef struct
5680{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005681 /*Result of the operation*/
5682 WDI_Status wdiStatus;
Jeff Johnson295189b2012-06-20 16:38:30 -07005683
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005684 /* BSSIDX of the Match count response
5685 */
5686 wpt_uint8 bssIdx;
5687
Jeff Johnson295189b2012-06-20 16:38:30 -07005688} WDI_RcvFltPktMatchCntRspParamsType;
5689
Jeff Johnson295189b2012-06-20 16:38:30 -07005690//
5691// Receive Filter Clear Parameters
5692//
5693typedef struct
5694{
5695 wpt_uint32 status; /* only valid for response message */
5696 wpt_uint8 filterId;
Jeff Johnsone7245742012-09-05 17:12:55 -07005697 wpt_macAddr selfMacAddr;
5698 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005699}WDI_RcvFltPktClearParam;
5700
5701typedef struct
5702{
5703 WDI_RcvFltPktClearParam filterClearParam;
5704 /*Request status callback offered by UMAC - it is called if the current
5705 req has returned PENDING as status; it delivers the status of sending
5706 the message over the BUS */
5707 WDI_ReqStatusCb wdiReqStatusCB;
5708
5709 /*The user data passed in by UMAC, it will be sent back when the above
5710 function pointer will be called */
5711 void* pUserData;
5712} WDI_RcvFltPktClearReqParamsType;
5713
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005714typedef struct
5715{
5716 /*Result of the operation*/
5717 WDI_Status wdiStatus;
5718 /* BSSIDX of the Match count response
5719 */
5720 wpt_uint8 bssIdx;
5721
5722} WDI_RcvFltPktClearRspParamsType;
5723
Jeff Johnson295189b2012-06-20 16:38:30 -07005724//
5725// Multicast Address List Parameters
5726//
5727typedef struct
5728{
5729 wpt_uint32 ulMulticastAddrCnt;
5730 wpt_macAddr multicastAddr[WDI_MAX_NUM_MULTICAST_ADDRESS];
Jeff Johnsone7245742012-09-05 17:12:55 -07005731 wpt_macAddr selfMacAddr;
5732 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005733} WDI_RcvFltMcAddrListType;
5734
5735typedef struct
5736{
5737 WDI_RcvFltMcAddrListType mcAddrList;
5738 /*Request status callback offered by UMAC - it is called if the current
5739 req has returned PENDING as status; it delivers the status of sending
5740 the message over the BUS */
5741 WDI_ReqStatusCb wdiReqStatusCB;
5742
5743 /*The user data passed in by UMAC, it will be sent back when the above
5744 function pointer will be called */
5745 void* pUserData;
5746} WDI_RcvFltPktSetMcListReqParamsType;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005747
5748typedef struct
5749{
5750 /*Result of the operation*/
5751 WDI_Status wdiStatus;
5752 /* BSSIDX of the Match count response
5753 */
5754 wpt_uint8 bssIdx;
5755} WDI_RcvFltPktSetMcListRspParamsType;
5756
Jeff Johnson295189b2012-06-20 16:38:30 -07005757#endif // WLAN_FEATURE_PACKET_FILTERING
5758
5759/*---------------------------------------------------------------------------
5760 WDI_HALDumpCmdReqInfoType
5761---------------------------------------------------------------------------*/
5762typedef struct
5763{
5764 /*command*/
5765 wpt_uint32 command;
5766
5767 /*Arguments*/
5768 wpt_uint32 argument1;
5769 wpt_uint32 argument2;
5770 wpt_uint32 argument3;
5771 wpt_uint32 argument4;
5772
5773}WDI_HALDumpCmdReqInfoType;
5774
5775/*---------------------------------------------------------------------------
5776 WDI_HALDumpCmdReqParamsType
5777---------------------------------------------------------------------------*/
5778typedef struct
5779{
5780 /*NV Blob Info*/
5781 WDI_HALDumpCmdReqInfoType wdiHALDumpCmdInfoType;
5782
5783 /*Request status callback offered by UMAC - it is called if the current
5784 req has returned PENDING as status; it delivers the status of sending
5785 the message over the BUS */
5786 WDI_ReqStatusCb wdiReqStatusCB;
5787
5788 /*The user data passed in by UMAC, it will be sent back when the above
5789 function pointer will be called */
5790 void* pUserData;
5791
5792}WDI_HALDumpCmdReqParamsType;
5793
5794
5795/*---------------------------------------------------------------------------
5796 WDI_HALDumpCmdRspParamsType
5797---------------------------------------------------------------------------*/
5798typedef struct
5799{
5800 /*Result of the operation*/
5801 WDI_Status wdiStatus;
5802
5803 /* length of the buffer */
5804 wpt_uint16 usBufferLen;
5805
5806 /* Buffer */
5807 wpt_uint8 *pBuffer;
5808}WDI_HALDumpCmdRspParamsType;
5809
5810
5811/*---------------------------------------------------------------------------
5812 WDI_SetTmLevelReqType
5813---------------------------------------------------------------------------*/
5814typedef struct
5815{
5816 wpt_uint16 tmMode;
5817 wpt_uint16 tmLevel;
5818 void* pUserData;
5819}WDI_SetTmLevelReqType;
5820
5821/*---------------------------------------------------------------------------
5822 WDI_SetTmLevelRspType
5823---------------------------------------------------------------------------*/
5824typedef struct
5825{
5826 WDI_Status wdiStatus;
5827 void* pUserData;
5828}WDI_SetTmLevelRspType;
5829
Leo Chang9056f462013-08-01 19:21:11 -07005830#ifdef FEATURE_WLAN_LPHB
5831/*---------------------------------------------------------------------------
5832 WDI_LPHBConfigParamsType
5833---------------------------------------------------------------------------*/
5834typedef struct
5835{
5836 void* pLphsConfIndData;
5837}WDI_LPHBConfigParamsType;
5838#endif /* FEATURE_WLAN_LPHB */
5839
Yue Mab9c86f42013-08-14 15:59:08 -07005840/*---------------------------------------------------------------------------
5841 WDI_AddPeriodicTxPtrnInfoType
5842---------------------------------------------------------------------------*/
5843typedef struct
5844{
5845 /* MAC Address for the adapter */
5846 wpt_macAddr macAddr;
5847
5848 wpt_uint8 ucPtrnId; // Pattern ID
5849 wpt_uint16 ucPtrnSize; // Pattern size
5850 wpt_uint32 usPtrnIntervalMs; // In msec
5851 wpt_uint8 ucPattern[PERIODIC_TX_PTRN_MAX_SIZE]; // Pattern buffer
5852} WDI_AddPeriodicTxPtrnInfoType;
5853
5854/*---------------------------------------------------------------------------
5855 WDI_DelPeriodicTxPtrnInfoType
5856---------------------------------------------------------------------------*/
5857typedef struct
5858{
5859 /* MAC Address for the adapter */
5860 wpt_macAddr macAddr;
5861
5862 /* Bitmap of pattern IDs that needs to be deleted */
5863 wpt_uint32 ucPatternIdBitmap;
5864} WDI_DelPeriodicTxPtrnInfoType;
5865
5866/*---------------------------------------------------------------------------
5867 WDI_AddPeriodicTxPtrnParamsType
5868---------------------------------------------------------------------------*/
5869typedef struct
5870{
5871 WDI_AddPeriodicTxPtrnInfoType wdiAddPeriodicTxPtrnParams;
5872
5873 /*Request status callback offered by UMAC - it is called if the current
5874 req has returned PENDING as status; it delivers the status of sending
5875 the message over the BUS */
5876 WDI_ReqStatusCb wdiReqStatusCB;
5877
5878 /*The user data passed in by UMAC, it will be sent back when the above
5879 function pointer will be called */
5880 void* pUserData;
5881} WDI_AddPeriodicTxPtrnParamsType;
5882
5883/*---------------------------------------------------------------------------
Srinivas Dasari32a79262015-02-19 13:04:49 +05305884 WDI_NanRequestType
5885---------------------------------------------------------------------------*/
5886typedef struct
5887{
5888 wpt_uint16 request_data_len;
5889 wpt_uint8 request_data[1];
5890} WDI_NanRequestType;
5891
5892
5893/*---------------------------------------------------------------------------
Yue Mab9c86f42013-08-14 15:59:08 -07005894 WDI_DelPeriodicTxPtrnParamsType
5895---------------------------------------------------------------------------*/
5896typedef struct
5897{
5898 WDI_DelPeriodicTxPtrnInfoType wdiDelPeriodicTxPtrnParams;
5899
5900 /*Request status callback offered by UMAC - it is called if the current
5901 req has returned PENDING as status; it delivers the status of sending
5902 the message over the BUS */
5903 WDI_ReqStatusCb wdiReqStatusCB;
5904
5905 /*The user data passed in by UMAC, it will be sent back when the above
5906 function pointer will be called */
5907 void* pUserData;
5908} WDI_DelPeriodicTxPtrnParamsType;
5909
Dino Mycle41bdc942014-06-10 11:30:24 +05305910#ifdef WLAN_FEATURE_EXTSCAN
5911
5912#define WDI_WLAN_EXTSCAN_MAX_CHANNELS 16
5913#define WDI_WLAN_EXTSCAN_MAX_BUCKETS 16
5914#define WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS 128
Padma, Santhosh Kumar9acee012015-08-21 19:58:01 +05305915#define WDI_WLAN_EXTSCAN_MAX_HOTLIST_SSID 8
Dino Mycle41bdc942014-06-10 11:30:24 +05305916
5917typedef enum
5918{
5919 WDI_WIFI_BAND_UNSPECIFIED,
5920 WDI_WIFI_BAND_BG = 1, // 2.4 GHz
5921 WDI_WIFI_BAND_A = 2, // 5 GHz without DFS
5922 WDI_WIFI_BAND_ABG = 3, // 2.4 GHz + 5 GHz; no DFS
5923 WDI_WIFI_BAND_A_DFS = 4, // 5 GHz DFS only
5924 WDI_WIFI_BAND_A_WITH_DFS = 6, // 5 GHz with DFS
5925 WDI_WIFI_BAND_ABG_WITH_DFS = 7, // 2.4 GHz + 5 GHz with DFS
5926
5927 /* Keep it last */
5928 WDI_WIFI_BAND_MAX
5929} WDI_WifiBand;
5930
5931typedef struct
5932{
5933 wpt_uint32 channel; // frequency
5934 wpt_uint32 dwellTimeMs; // dwell time hint
5935 wpt_uint8 passive; // 0 => active,
5936 // 1 => passive scan; ignored for DFS
5937 wpt_uint8 chnlClass;
5938} WDI_WifiScanChannelSpec;
5939
5940typedef struct
5941{
5942 wpt_uint8 bucket; // bucket index, 0 based
5943 WDI_WifiBand band; // when UNSPECIFIED, use channel list
5944
5945 /*
5946 * desired period, in millisecond; if this is too
5947 * low, the firmware should choose to generate results as fast as
5948 * it can instead of failing the command byte
5949 */
5950 wpt_uint32 period;
5951
5952 /*
5953 * 0 => normal reporting (reporting rssi history
5954 * only, when rssi history buffer is % full)
5955 * 1 => same as 0 + report a scan completion event after scanning
5956 * this bucket
5957 * 2 => same as 1 + forward scan results (beacons/probe responses + IEs)
5958 * in real time to HAL
5959 */
5960 wpt_uint8 reportEvents;
5961
Padma, Santhosh Kumar7b9190d2015-08-17 17:45:29 +05305962 wpt_uint32 max_period;
5963 wpt_uint32 exponent;
5964 wpt_uint32 step_count;
5965
Dino Mycle41bdc942014-06-10 11:30:24 +05305966 wpt_uint8 numChannels;
5967
5968 /*
5969 * channels to scan; these may include DFS channels
5970 */
5971 WDI_WifiScanChannelSpec channels[WDI_WLAN_EXTSCAN_MAX_CHANNELS];
5972} WDI_WifiScanBucketSpec;
5973
5974typedef struct
5975{
5976 wpt_uint32 requestId;
5977 wpt_uint8 sessionId;
5978 wpt_uint32 basePeriod; // base timer period
5979 wpt_uint32 maxAPperScan;
5980
5981 /* in %, when buffer is this much full, wake up host */
Padma, Santhosh Kumar7b9190d2015-08-17 17:45:29 +05305982 wpt_uint32 reportThresholdPercent;
5983 wpt_uint32 reportThresholdNumScans;
Dino Mycle41bdc942014-06-10 11:30:24 +05305984
Padma, Santhosh Kumar7b9190d2015-08-17 17:45:29 +05305985 wpt_uint32 homeAwayTime; //in units of milliseconds
Dino Mycle41bdc942014-06-10 11:30:24 +05305986 wpt_uint8 numBuckets;
5987 WDI_WifiScanBucketSpec buckets[WDI_WLAN_EXTSCAN_MAX_BUCKETS];
5988} WDI_EXTScanStartReqParams;
5989
5990typedef struct
5991{
5992 wpt_uint32 requestId;
5993 wpt_uint8 sessionId;
5994} WDI_EXTScanStopReqParams;
5995
5996typedef struct
5997{
5998 wpt_uint32 requestId;
5999 wpt_uint8 sessionId;
6000
6001 /*
6002 * 1 return cached results and flush it
6003 * 0 return cached results and do not flush
6004 */
6005 wpt_boolean flush;
6006} WDI_EXTScanGetCachedResultsReqParams;
6007
6008typedef struct
6009{
6010 wpt_uint32 requestId;
6011 wpt_uint8 sessionId;
6012} WDI_EXTScanGetCapabilitiesReqParams;
6013
6014typedef struct
6015{
6016 wpt_uint8 bssid[6]; /* BSSID */
6017 wpt_int32 low; // low threshold
6018 wpt_int32 high; // high threshold
Dino Mycle41bdc942014-06-10 11:30:24 +05306019} WDI_APThresholdParam;
6020
6021typedef struct
6022{
Padma, Santhosh Kumar9acee012015-08-21 19:58:01 +05306023 WDI_MacSSid ssid; /* SSID */
6024 wpt_uint8 band; /* band */
6025 wpt_int32 lowRssiThreshold; /* low threshold */
6026 wpt_int32 highRssiThreshold; /* high threshold */
6027} WDI_SSIDThresholdParam;
6028
6029typedef struct
6030{
Dino Mycle41bdc942014-06-10 11:30:24 +05306031 wpt_int32 requestId;
6032 wpt_int8 sessionId; // session Id mapped to vdev_id
Padma, Santhosh Kumar37f4fd12015-08-19 14:37:37 +05306033 wpt_uint32 lostBssidSampleSize;
6034 wpt_int32 numBssid; // number of hotlist APs
Dino Mycle41bdc942014-06-10 11:30:24 +05306035 WDI_APThresholdParam ap[WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS]; // hotlist APs
6036} WDI_EXTScanSetBSSIDHotlistReqParams;
6037
6038typedef struct
6039{
6040 wpt_uint32 requestId;
6041 wpt_uint8 sessionId;
6042} WDI_EXTScanResetBSSIDHotlistReqParams;
6043
Padma, Santhosh Kumar9acee012015-08-21 19:58:01 +05306044typedef struct
6045{
Padma, Santhosh Kumarc1f7f052015-08-26 12:29:01 +05306046 wpt_boolean pause;
6047 wpt_uint32 reserved;
6048} WDI_HighPriorityDataInfoIndParams;
6049
6050typedef struct
6051{
6052 wpt_int32 requestId;
6053 wpt_int8 sessionId; // session Id mapped to vdev_id
Padma, Santhosh Kumar9acee012015-08-21 19:58:01 +05306054 wpt_uint32 lostSsidSampleSize;
6055 wpt_uint32 numSsid; // number of hotlist APs
6056 WDI_SSIDThresholdParam ssid[WDI_WLAN_EXTSCAN_MAX_HOTLIST_SSID]; // hotlist SSIDs
6057} WDI_EXTScanSetSSIDHotlistReqParams;
6058
6059typedef struct
6060{
6061 wpt_uint32 requestId;
6062 wpt_uint8 sessionId;
6063} WDI_EXTScanResetSSIDHotlistReqParams;
6064
Dino Mycle41bdc942014-06-10 11:30:24 +05306065#endif /* WLAN_FEATURE_EXTSCAN */
6066
Sunil Duttbd736ed2014-05-26 21:19:41 +05306067#ifdef WLAN_FEATURE_LINK_LAYER_STATS
6068typedef struct
6069{
6070 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05306071 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05306072 wpt_uint32 mpduSizeThreshold;
6073 wpt_uint32 aggressiveStatisticsGathering;
6074}WDI_LLStatsSetReqType;
6075
6076typedef struct
6077{
6078 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05306079 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05306080 wpt_uint32 paramIdMask;
6081}WDI_LLStatsGetReqType;
6082
6083typedef struct
6084{
6085 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05306086 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05306087 wpt_uint32 statsClearReqMask;
6088 wpt_uint8 stopReq;
6089}WDI_LLStatsClearReqType;
Dino Mycled3d50022014-07-07 12:58:25 +05306090
Sunil Duttbd736ed2014-05-26 21:19:41 +05306091#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
6092
Siddharth Bhal171788a2014-09-29 21:02:40 +05306093/*---------------------------------------------------------------------------
6094 WDI_SPOOF_MAC_ADDR_REQ
6095---------------------------------------------------------------------------*/
6096typedef struct
6097{
6098 /* Spoof MAC Address for FW */
6099 wpt_macAddr macAddr;
6100
6101 /* Reserved Params/fields */
6102 wpt_uint32 params;
6103 wpt_uint32 reserved;
6104} WDI_SpoofMacAddrInfoType;
Sunil Duttbd736ed2014-05-26 21:19:41 +05306105
Srinivas Dasari4dae48f2014-11-26 21:14:16 +05306106//This is to force compiler to use the maximum of an int for enum
6107#define SIR_MAX_ENUM_SIZE 0x7FFFFFFF
6108// Enum to specify whether key is used
6109// for TX only, RX only or both
6110typedef enum
6111{
6112 eWDI_TX_ONLY,
6113 eWDI_RX_ONLY,
6114 eWDI_TX_RX,
6115 eWDI_TX_DEFAULT,
6116 eWDI_DONOT_USE_KEY_DIRECTION = SIR_MAX_ENUM_SIZE
6117} tWDIKeyDirection;
6118
6119// MAX key length when ULA is used
6120#define SIR_MAC_MAX_KEY_LENGTH 32
6121/* Max key size including the WAPI and TKIP */
6122#define WLAN_MAX_KEY_RSC_LEN 16
6123// Definition for Encryption Keys
6124//typedef struct sSirKeys
6125typedef struct
6126{
6127 wpt_uint8 keyId;
6128 wpt_uint8 unicast; // 0 for multicast
6129 tWDIKeyDirection keyDirection;
6130 wpt_uint8 keyRsc[WLAN_MAX_KEY_RSC_LEN]; // Usage is unknown
6131 wpt_uint8 paeRole; // =1 for authenticator,
6132 // =0 for supplicant
6133 wpt_uint16 keyLength;
6134 wpt_uint8 key[SIR_MAC_MAX_KEY_LENGTH];
6135} tWDIKeys, *tpWDIKeys;
6136
6137typedef enum
6138{
6139 eWDI_WEP_STATIC,
6140 eWDI_WEP_DYNAMIC,
6141} tWDIWepType;
6142
6143// Encryption type enum used with peer
6144typedef enum
6145{
6146 eWDI_ED_NONE,
6147 eWDI_ED_WEP40,
6148 eWDI_ED_WEP104,
6149 eWDI_ED_TKIP,
6150 eWDI_ED_CCMP,
6151#if defined(FEATURE_WLAN_WAPI)
6152 eWDI_ED_WPI,
6153#endif
6154 /* DPU HW treats encryption mode 4 plus RMF bit set in TX BD as BIP.
6155 * Thus while setting BIP encryption mode in corresponding DPU Desc
6156 * eSIR_ED_AES_128_CMAC should be set to eSIR_ED_CCMP
6157 */
6158 eWDI_ED_AES_128_CMAC,
6159 eWDI_ED_NOT_IMPLEMENTED = SIR_MAX_ENUM_SIZE
6160} tWDIEdType;
6161#define SIR_WDI_MAX_NUM_OF_DEFAULT_KEYS 4
6162/*
6163 * This is used by PE to configure the key information on a given station.
6164 * When the secType is WEP40 or WEP104, the defWEPIdx is used to locate
6165 * a preconfigured key from a BSS the station assoicated with; otherwise
6166 * a new key descriptor is created based on the key field.
6167 */
6168typedef struct
6169{
6170 wpt_uint16 staIdx;
6171 tWDIEdType encType; // Encryption/Decryption type
6172 tWDIWepType wepType; // valid only for WEP
6173 wpt_uint8 defWEPIdx; // Default WEP key, valid only for static WEP, must between 0 and 3
6174 tWDIKeys key[SIR_WDI_MAX_NUM_OF_DEFAULT_KEYS]; // valid only for non-static WEP encyrptions
6175 wpt_uint8 singleTidRc; // 1=Single TID based Replay Count, 0=Per TID based RC
6176 wpt_uint8 sessionId; // PE session id for PE<->HAL interface
6177} tWDISetStaKeyParams, *tpWDISetStaKeyParams;
6178
6179typedef struct
6180{
6181 tWDISetStaKeyParams keyParams;
6182 wpt_uint8 pn[6];
6183}wpt_encConfigParams;
6184
6185typedef struct
6186{
6187 wpt_uint16 length;
6188 wpt_uint8 data[WDI_DISA_MAX_PAYLOAD_SIZE];
6189}wpt_payload;
6190
6191typedef struct
6192{
6193 wpt_80211Header macHeader;
6194 wpt_encConfigParams encParams;
6195 wpt_payload data;
6196}wpt_pkt80211;
6197
Katya Nigamf0511f62015-05-05 16:40:57 +05306198#define NUM_FILTERS_SUPPORTED 1
6199typedef struct
6200{
6201 wpt_macAddr macAddr;
6202 wpt_uint8 isA1filter;
6203 wpt_uint8 isA2filter;
6204 wpt_uint8 isA3filter;
6205}WDI_filter;
6206
6207typedef struct
6208{
6209 /* start or stop */
6210 wpt_uint8 state;
6211 /*Conversion of packet required or not*/
6212 wpt_uint8 is80211to803ConReq;
6213 wpt_uint32 ChannelNo;
6214 wpt_uint32 ChannelBW;
6215 wpt_uint8 crcCheckEnabled;
6216 wpt_uint8 numOfMacFilters;
6217 WDI_filter mmFilters[NUM_FILTERS_SUPPORTED];
6218 wpt_uint64 typeSubtypeBitmap;
6219 wpt_uint64 rsvd;
6220
6221}WDI_MonStartReqType;
6222
Arun Khandavalli7eeb1592015-10-19 21:36:57 +05306223typedef struct
6224{
6225 wpt_uint8 paramType;
6226 wpt_uint32 paramValue;
6227 wpt_macAddr bssId;
6228}WDI_WifiConfigSetReqType;
6229
c_manjeecfd1efb2015-09-25 19:32:34 +05306230/**
6231 * struct WDI_FwrMemDumpReqType - firmware memory dump request details.
6232.*.@FWMemDumpReqCb - Associated Callback
6233 *.@fwMemDumpReqContext - Callback context
6234 * @reserved - reserved field 1.
6235 *
6236 * This structure carries information about the firmware
6237 * memory dump request.
6238 */
6239typedef struct
6240{
6241 wpt_uint32 reserved1;
6242}WDI_FwrMemDumpReqType;
6243
6244/**
6245 * struct WDI_FwrMemDumpRsp - firmware dump response details.
6246 *
6247 * This structure is used to store the firmware dump
6248 * response from the firmware.
6249 */
6250typedef struct
6251{
6252 wpt_uint32 dump_status;
6253}WDI_FwrMemDumpRsp;
6254
Arun Khandavalli7eeb1592015-10-19 21:36:57 +05306255typedef struct
6256{
6257 wpt_uint32 wificonfigset_status;
6258}WDI_WifconfigSetRsp;
c_manjeecfd1efb2015-09-25 19:32:34 +05306259
Jeff Johnson295189b2012-06-20 16:38:30 -07006260/*----------------------------------------------------------------------------
6261 * WDI callback types
6262 *--------------------------------------------------------------------------*/
6263
6264/*---------------------------------------------------------------------------
6265 WDI_StartRspCb
6266
6267 DESCRIPTION
6268
6269 This callback is invoked by DAL when it has received a Start response from
6270 the underlying device.
6271
6272 PARAMETERS
6273
6274 IN
6275 wdiRspParams: response parameters received from HAL
6276 pUserData: user data
6277
6278
6279 RETURN VALUE
6280 The result code associated with performing the operation
6281---------------------------------------------------------------------------*/
6282typedef void (*WDI_StartRspCb)(WDI_StartRspParamsType* pwdiRspParams,
6283 void* pUserData);
6284
6285/*---------------------------------------------------------------------------
6286 WDI_StartRspCb
6287
6288 DESCRIPTION
6289
6290 This callback is invoked by DAL when it has received a Stop response from
6291 the underlying device.
6292
6293 PARAMETERS
6294
6295 IN
6296 wdiStatus: response status received from HAL
6297 pUserData: user data
6298
6299
6300
6301 RETURN VALUE
6302 The result code associated with performing the operation
6303---------------------------------------------------------------------------*/
6304typedef void (*WDI_StopRspCb)(WDI_Status wdiStatus,
6305 void* pUserData);
6306
6307/*---------------------------------------------------------------------------
6308 WDI_StartRspCb
6309
6310 DESCRIPTION
6311
6312 This callback is invoked by DAL when it has received an Init Scan response
6313 from the underlying device.
6314
6315 PARAMETERS
6316
6317 IN
6318 wdiStatus: response status received from HAL
6319 pUserData: user data
6320
6321
6322
6323 RETURN VALUE
6324 The result code associated with performing the operation
6325---------------------------------------------------------------------------*/
6326typedef void (*WDI_InitScanRspCb)(WDI_Status wdiStatus,
6327 void* pUserData);
6328
6329
6330/*---------------------------------------------------------------------------
6331 WDI_StartRspCb
6332
6333 DESCRIPTION
6334
6335 This callback is invoked by DAL when it has received a StartScan response
6336 from the underlying device.
6337
6338 PARAMETERS
6339
6340 IN
6341 wdiParams: response params received from HAL
6342 pUserData: user data
6343
6344
6345
6346 RETURN VALUE
6347 The result code associated with performing the operation
6348---------------------------------------------------------------------------*/
6349typedef void (*WDI_StartScanRspCb)(WDI_StartScanRspParamsType* wdiParams,
6350 void* pUserData);
6351
6352
6353/*---------------------------------------------------------------------------
6354 WDI_StartRspCb
6355
6356 DESCRIPTION
6357
6358 This callback is invoked by DAL when it has received a End Scan response
6359 from the underlying device.
6360
6361 PARAMETERS
6362
6363 IN
6364 wdiStatus: response status received from HAL
6365 pUserData: user data
6366
6367
6368
6369 RETURN VALUE
6370 The result code associated with performing the operation
6371---------------------------------------------------------------------------*/
6372typedef void (*WDI_EndScanRspCb)(WDI_Status wdiStatus,
6373 void* pUserData);
6374
6375
6376/*---------------------------------------------------------------------------
6377 WDI_StartRspCb
6378
6379 DESCRIPTION
6380
6381 This callback is invoked by DAL when it has received a Finish Scan response
6382 from the underlying device.
6383
6384 PARAMETERS
6385
6386 IN
6387 wdiStatus: response status received from HAL
6388 pUserData: user data
6389
6390
6391
6392 RETURN VALUE
6393 The result code associated with performing the operation
6394---------------------------------------------------------------------------*/
6395typedef void (*WDI_FinishScanRspCb)(WDI_Status wdiStatus,
6396 void* pUserData);
6397
6398
6399/*---------------------------------------------------------------------------
6400 WDI_StartRspCb
6401
6402 DESCRIPTION
6403
6404 This callback is invoked by DAL when it has received a Join response from
6405 the underlying device.
6406
6407 PARAMETERS
6408
6409 IN
6410 wdiStatus: response status received from HAL
6411 pUserData: user data
6412
6413
6414
6415 RETURN VALUE
6416 The result code associated with performing the operation
6417---------------------------------------------------------------------------*/
6418typedef void (*WDI_JoinRspCb)(WDI_Status wdiStatus,
6419 void* pUserData);
6420
6421
6422/*---------------------------------------------------------------------------
6423 WDI_StartRspCb
6424
6425 DESCRIPTION
6426
6427 This callback is invoked by DAL when it has received a Config BSS response
6428 from the underlying device.
6429
6430 PARAMETERS
6431
6432 IN
6433 wdiConfigBSSRsp: response parameters received from HAL
6434 pUserData: user data
6435
6436
6437 RETURN VALUE
6438 The result code associated with performing the operation
6439---------------------------------------------------------------------------*/
6440typedef void (*WDI_ConfigBSSRspCb)(
6441 WDI_ConfigBSSRspParamsType* pwdiConfigBSSRsp,
6442 void* pUserData);
6443
6444
6445/*---------------------------------------------------------------------------
6446 WDI_StartRspCb
6447
6448 DESCRIPTION
6449
6450 This callback is invoked by DAL when it has received a Del BSS response from
6451 the underlying device.
6452
6453 PARAMETERS
6454
6455 IN
6456 wdiDelBSSRsp: response parameters received from HAL
6457 pUserData: user data
6458
6459
6460 RETURN VALUE
6461 The result code associated with performing the operation
6462---------------------------------------------------------------------------*/
6463typedef void (*WDI_DelBSSRspCb)(WDI_DelBSSRspParamsType* pwdiDelBSSRsp,
6464 void* pUserData);
6465
6466
6467/*---------------------------------------------------------------------------
6468 WDI_StartRspCb
6469
6470 DESCRIPTION
6471
6472 This callback is invoked by DAL when it has received a Post Assoc response
6473 from the underlying device.
6474
6475 PARAMETERS
6476
6477 IN
6478 wdiRspParams: response parameters received from HAL
6479 pUserData: user data
6480
6481
6482 RETURN VALUE
6483 The result code associated with performing the operation
6484---------------------------------------------------------------------------*/
6485typedef void (*WDI_PostAssocRspCb)(
6486 WDI_PostAssocRspParamsType* pwdiPostAssocRsp,
6487 void* pUserData);
6488
6489
6490/*---------------------------------------------------------------------------
6491 WDI_StartRspCb
6492
6493 DESCRIPTION
6494
6495 This callback is invoked by DAL when it has received a Del STA response from
6496 the underlying device.
6497
6498 PARAMETERS
6499
6500 IN
6501 wdiDelSTARsp: response parameters received from HAL
6502 pUserData: user data
6503
6504
6505 RETURN VALUE
6506 The result code associated with performing the operation
6507---------------------------------------------------------------------------*/
6508typedef void (*WDI_DelSTARspCb)(WDI_DelSTARspParamsType* pwdiDelSTARsp,
6509 void* pUserData);
6510
6511
6512
6513/*---------------------------------------------------------------------------
6514 WDI_StartRspCb
6515
6516 DESCRIPTION
6517
6518 This callback is invoked by DAL when it has received a Set BSS Key response
6519 from the underlying device.
6520
6521 PARAMETERS
6522
6523 IN
6524 wdiStatus: response status received from HAL
6525 pUserData: user data
6526
6527
6528
6529 RETURN VALUE
6530 The result code associated with performing the operation
6531---------------------------------------------------------------------------*/
6532typedef void (*WDI_SetBSSKeyRspCb)(WDI_Status wdiStatus,
6533 void* pUserData);
6534
6535/*---------------------------------------------------------------------------
6536 WDI_StartRspCb
6537
6538 DESCRIPTION
6539
6540 This callback is invoked by DAL when it has received a Remove BSS Key
6541 response from the underlying device.
6542
6543 PARAMETERS
6544
6545 IN
6546 wdiStatus: response status received from HAL
6547 pUserData: user data
6548
6549
6550
6551 RETURN VALUE
6552 The result code associated with performing the operation
6553---------------------------------------------------------------------------*/
6554typedef void (*WDI_RemoveBSSKeyRspCb)(WDI_Status wdiStatus,
6555 void* pUserData);
6556
6557/*---------------------------------------------------------------------------
6558 WDI_StartRspCb
6559
6560 DESCRIPTION
6561
6562 This callback is invoked by DAL when it has received a Set STA Key response
6563 from the underlying device.
6564
6565 PARAMETERS
6566
6567 IN
6568 wdiStatus: response status received from HAL
6569 pUserData: user data
6570
6571
Jeff Johnson295189b2012-06-20 16:38:30 -07006572 RETURN VALUE
6573 The result code associated with performing the operation
6574---------------------------------------------------------------------------*/
6575typedef void (*WDI_SetSTAKeyRspCb)(WDI_Status wdiStatus,
6576 void* pUserData);
6577
Jeff Johnson295189b2012-06-20 16:38:30 -07006578/*---------------------------------------------------------------------------
6579 WDI_StartRspCb
6580
6581 DESCRIPTION
6582
6583 This callback is invoked by DAL when it has received a Remove STA Key
6584 response from the underlying device.
6585
6586 PARAMETERS
6587
6588 IN
6589 wdiStatus: response status received from HAL
6590 pUserData: user data
6591
Siddharth Bhal171788a2014-09-29 21:02:40 +05306592
Jeff Johnson295189b2012-06-20 16:38:30 -07006593 RETURN VALUE
6594 The result code associated with performing the operation
6595---------------------------------------------------------------------------*/
6596typedef void (*WDI_RemoveSTAKeyRspCb)(WDI_Status wdiStatus,
6597 void* pUserData);
6598
6599
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08006600#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07006601/*---------------------------------------------------------------------------
6602 WDI_TsmRspCb
6603
6604 DESCRIPTION
6605
6606 This callback is invoked by DAL when it has received a TSM Stats response from the underlying device.
6607
6608 PARAMETERS
6609
6610 IN
6611 pTSMStats: response status received from HAL
6612 pUserData: user data
6613
6614
6615
6616 RETURN VALUE
6617 The result code associated with performing the operation
6618---------------------------------------------------------------------------*/
6619typedef void (*WDI_TsmRspCb)(WDI_TSMStatsRspParamsType *pTSMStats,
6620 void* pUserData);
6621#endif
6622
6623/*---------------------------------------------------------------------------
6624 WDI_StartRspCb
6625
6626 DESCRIPTION
6627
6628 This callback is invoked by DAL when it has received a Add TS response from
6629 the underlying device.
6630
6631 PARAMETERS
6632
6633 IN
6634 wdiStatus: response status received from HAL
6635 pUserData: user data
6636
6637
6638
6639 RETURN VALUE
6640 The result code associated with performing the operation
6641---------------------------------------------------------------------------*/
6642typedef void (*WDI_AddTsRspCb)(WDI_Status wdiStatus,
6643 void* pUserData);
6644
6645/*---------------------------------------------------------------------------
6646 WDI_StartRspCb
6647
6648 DESCRIPTION
6649
6650 This callback is invoked by DAL when it has received a Del TS response from
6651 the underlying device.
6652
6653 PARAMETERS
6654
6655 IN
6656 wdiStatus: response status received from HAL
6657 pUserData: user data
6658
6659
6660
6661 RETURN VALUE
6662 The result code associated with performing the operation
6663---------------------------------------------------------------------------*/
6664typedef void (*WDI_DelTsRspCb)(WDI_Status wdiStatus,
6665 void* pUserData);
6666
6667/*---------------------------------------------------------------------------
6668 WDI_StartRspCb
6669
6670 DESCRIPTION
6671
6672 This callback is invoked by DAL when it has received an Update EDCA Params
6673 response from the underlying device.
6674
6675 PARAMETERS
6676
6677 IN
6678 wdiStatus: response status received from HAL
6679 pUserData: user data
6680
6681
6682
6683 RETURN VALUE
6684 The result code associated with performing the operation
6685---------------------------------------------------------------------------*/
6686typedef void (*WDI_UpdateEDCAParamsRspCb)(WDI_Status wdiStatus,
6687 void* pUserData);
6688
6689/*---------------------------------------------------------------------------
6690 WDI_StartRspCb
6691
6692 DESCRIPTION
6693
6694 This callback is invoked by DAL when it has received a Add BA response from
6695 the underlying device.
6696
6697 PARAMETERS
6698
6699 IN
6700 wdiStatus: response status received from HAL
6701 pUserData: user data
6702
6703
6704
6705 RETURN VALUE
6706 The result code associated with performing the operation
6707---------------------------------------------------------------------------*/
6708typedef void (*WDI_AddBASessionRspCb)(
6709 WDI_AddBASessionRspParamsType* wdiAddBASessionRsp,
6710 void* pUserData);
6711
6712
6713/*---------------------------------------------------------------------------
6714 WDI_StartRspCb
6715
6716 DESCRIPTION
6717
6718 This callback is invoked by DAL when it has received a Del BA response from
6719 the underlying device.
6720
6721 PARAMETERS
6722
6723 IN
6724 wdiStatus: response status received from HAL
6725 pUserData: user data
6726
6727
6728
6729 RETURN VALUE
6730 The result code associated with performing the operation
6731---------------------------------------------------------------------------*/
6732typedef void (*WDI_DelBARspCb)(WDI_Status wdiStatus,
6733 void* pUserData);
6734
6735
6736/*---------------------------------------------------------------------------
6737 WDI_StartRspCb
6738
6739 DESCRIPTION
6740
6741 This callback is invoked by DAL when it has received a Switch Ch response
6742 from the underlying device.
6743
6744 PARAMETERS
6745
6746 IN
6747 wdiRspParams: response parameters received from HAL
6748 pUserData: user data
6749
6750
6751 RETURN VALUE
6752 The result code associated with performing the operation
6753---------------------------------------------------------------------------*/
6754typedef void (*WDI_SwitchChRspCb)(WDI_SwitchCHRspParamsType* pwdiSwitchChRsp,
6755 void* pUserData);
6756
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08006757typedef void (*WDI_SwitchChRspCb_V1)(WDI_SwitchChRspParamsType_V1* pwdiSwitchChRsp,
6758 void* pUserData);
6759
Jeff Johnson295189b2012-06-20 16:38:30 -07006760
6761/*---------------------------------------------------------------------------
6762 WDI_StartRspCb
6763
6764 DESCRIPTION
6765
6766 This callback is invoked by DAL when it has received a Config STA response
6767 from the underlying device.
6768
6769 PARAMETERS
6770
6771 IN
6772 wdiRspParams: response parameters received from HAL
6773 pUserData: user data
6774
6775
6776 RETURN VALUE
6777 The result code associated with performing the operation
6778---------------------------------------------------------------------------*/
6779typedef void (*WDI_ConfigSTARspCb)(
6780 WDI_ConfigSTARspParamsType* pwdiConfigSTARsp,
6781 void* pUserData);
6782
6783
6784/*---------------------------------------------------------------------------
6785 WDI_StartRspCb
6786
6787 DESCRIPTION
6788
6789 This callback is invoked by DAL when it has received a Set Link State
6790 response from the underlying device.
6791
6792 PARAMETERS
6793
6794 IN
6795 wdiRspParams: response parameters received from HAL
6796 pUserData: user data
6797
6798
6799 RETURN VALUE
6800 The result code associated with performing the operation
6801---------------------------------------------------------------------------*/
6802typedef void (*WDI_SetLinkStateRspCb)( WDI_Status wdiStatus,
6803 void* pUserData);
6804
6805
6806/*---------------------------------------------------------------------------
6807 WDI_StartRspCb
6808
6809 DESCRIPTION
6810
6811 This callback is invoked by DAL when it has received a Get Stats response
6812 from the underlying device.
6813
6814 PARAMETERS
6815
6816 IN
6817 wdiRspParams: response parameters received from HAL
6818 pUserData: user data
6819
6820
6821 RETURN VALUE
6822 The result code associated with performing the operation
6823---------------------------------------------------------------------------*/
6824typedef void (*WDI_GetStatsRspCb)(WDI_GetStatsRspParamsType* pwdiGetStatsRsp,
6825 void* pUserData);
6826
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08006827#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08006828/*---------------------------------------------------------------------------
6829 WDI_GetRoamRssiRspCb
6830
6831 DESCRIPTION
6832
6833 This callback is invoked by DAL when it has received a Get Roam Rssi response
6834 from the underlying device.
6835
6836 PARAMETERS
6837
6838 IN
6839 wdiRspParams: response parameters received from HAL
6840 pUserData: user data
6841
6842
6843 RETURN VALUE
6844 The result code associated with performing the operation
6845---------------------------------------------------------------------------*/
6846typedef void (*WDI_GetRoamRssiRspCb)(WDI_GetRoamRssiRspParamsType* pwdiGetRoamRssiRsp,
6847 void* pUserData);
6848#endif
6849
Jeff Johnson295189b2012-06-20 16:38:30 -07006850
6851/*---------------------------------------------------------------------------
6852 WDI_StartRspCb
6853
6854 DESCRIPTION
6855
6856 This callback is invoked by DAL when it has received a Update Cfg response
6857 from the underlying device.
6858
6859 PARAMETERS
6860
6861 IN
6862 wdiStatus: response status received from HAL
6863 pUserData: user data
6864
6865
6866 RETURN VALUE
6867 The result code associated with performing the operation
6868---------------------------------------------------------------------------*/
6869typedef void (*WDI_UpdateCfgRspCb)(WDI_Status wdiStatus,
6870 void* pUserData);
6871
6872/*---------------------------------------------------------------------------
6873 WDI_AddBARspCb
6874
6875 DESCRIPTION
6876
6877 This callback is invoked by DAL when it has received a ADD BA response
6878 from the underlying device.
6879
6880 PARAMETERS
6881
6882 IN
6883 wdiStatus: response status received from HAL
6884 pUserData: user data
6885
6886
6887 RETURN VALUE
6888 The result code associated with performing the operation
6889---------------------------------------------------------------------------*/
6890typedef void (*WDI_AddBARspCb)(WDI_AddBARspinfoType* wdiAddBARsp,
6891 void* pUserData);
6892
6893/*---------------------------------------------------------------------------
6894 WDI_TriggerBARspCb
6895
6896 DESCRIPTION
6897
6898 This callback is invoked by DAL when it has received a ADD BA response
6899 from the underlying device.
6900
6901 PARAMETERS
6902
6903 IN
6904 wdiStatus: response status received from HAL
6905 pUserData: user data
6906
6907
6908 RETURN VALUE
6909 The result code associated with performing the operation
6910---------------------------------------------------------------------------*/
6911typedef void (*WDI_TriggerBARspCb)(WDI_TriggerBARspParamsType* wdiTriggerBARsp,
6912 void* pUserData);
6913
6914
6915/*---------------------------------------------------------------------------
6916 WDI_UpdateBeaconParamsRspCb
6917
6918 DESCRIPTION
6919
6920 This callback is invoked by DAL when it has received a Update Beacon Params response from
6921 the underlying device.
6922
6923 PARAMETERS
6924
6925 IN
6926 wdiStatus: response status received from HAL
6927 pUserData: user data
6928
6929
6930
6931 RETURN VALUE
6932 The result code associated with performing the operation
6933---------------------------------------------------------------------------*/
6934typedef void (*WDI_UpdateBeaconParamsRspCb)(WDI_Status wdiStatus,
6935 void* pUserData);
6936
6937/*---------------------------------------------------------------------------
6938 WDI_SendBeaconParamsRspCb
6939
6940 DESCRIPTION
6941
6942 This callback is invoked by DAL when it has received a Send Beacon Params response from
6943 the underlying device.
6944
6945 PARAMETERS
6946
6947 IN
6948 wdiStatus: response status received from HAL
6949 pUserData: user data
6950
6951
6952
6953 RETURN VALUE
6954 The result code associated with performing the operation
6955---------------------------------------------------------------------------*/
6956typedef void (*WDI_SendBeaconParamsRspCb)(WDI_Status wdiStatus,
6957 void* pUserData);
6958
6959/*---------------------------------------------------------------------------
6960 WDA_SetMaxTxPowerRspCb
6961
6962 DESCRIPTION
6963
6964 This callback is invoked by DAL when it has received a set max Tx Power response from
6965 the underlying device.
6966
6967 PARAMETERS
6968
6969 IN
6970 wdiStatus: response status received from HAL
6971 pUserData: user data
6972
6973
6974
6975 RETURN VALUE
6976 The result code associated with performing the operation
6977---------------------------------------------------------------------------*/
6978typedef void (*WDA_SetMaxTxPowerRspCb)(WDI_SetMaxTxPowerRspMsg *wdiSetMaxTxPowerRsp,
6979 void* pUserData);
6980
6981/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07006982 WDA_SetMaxTxPowerPerBandRspCb
6983
6984 DESCRIPTION
6985
6986 This callback is invoked by DAL when it has received a
6987 set max Tx Power Per Band response from the underlying device.
6988
6989 PARAMETERS
6990
6991 IN
6992 wdiSetMaxTxPowerPerBandRsp: response status received from HAL
6993 pUserData: user data
6994
6995 RETURN VALUE
6996 The result code associated with performing the operation
6997---------------------------------------------------------------------------*/
6998typedef void (*WDA_SetMaxTxPowerPerBandRspCb)(WDI_SetMaxTxPowerPerBandRspMsg
6999 *wdiSetMaxTxPowerPerBandRsp,
7000 void* pUserData);
7001
7002/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07007003 WDA_SetTxPowerRspCb
7004
7005 DESCRIPTION
7006
7007 This callback is invoked by DAL when it has received a set max Tx Power response from
7008 the underlying device.
7009
7010 PARAMETERS
7011
7012 IN
7013 wdiStatus: response status received from HAL
7014 pUserData: user data
7015
7016 RETURN VALUE
7017 The result code associated with performing the operation
7018---------------------------------------------------------------------------*/
7019typedef void (*WDA_SetTxPowerRspCb)(WDI_SetTxPowerRspMsg *wdiSetTxPowerRsp,
7020 void* pUserData);
7021
7022/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07007023 WDI_UpdateProbeRspTemplateRspCb
7024
7025 DESCRIPTION
7026
7027 This callback is invoked by DAL when it has received a Probe RSP Template
7028 Update response from the underlying device.
7029
7030 PARAMETERS
7031
7032 IN
7033 wdiStatus: response status received from HAL
7034 pUserData: user data
7035
7036
7037
7038 RETURN VALUE
7039 The result code associated with performing the operation
7040---------------------------------------------------------------------------*/
7041typedef void (*WDI_UpdateProbeRspTemplateRspCb)(WDI_Status wdiStatus,
7042 void* pUserData);
7043
Jeff Johnson295189b2012-06-20 16:38:30 -07007044/*---------------------------------------------------------------------------
7045 WDI_SetP2PGONOAReqParamsRspCb
7046
7047 DESCRIPTION
7048
7049 This callback is invoked by DAL when it has received a P2P GO NOA Params response from
7050 the underlying device.
7051
7052 PARAMETERS
7053
7054 IN
7055 wdiStatus: response status received from HAL
7056 pUserData: user data
7057
7058
7059
7060 RETURN VALUE
7061 The result code associated with performing the operation
7062---------------------------------------------------------------------------*/
7063typedef void (*WDI_SetP2PGONOAReqParamsRspCb)(WDI_Status wdiStatus,
7064 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007065
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05307066/*---------------------------------------------------------------------------
7067 WDI_SetTDLSLinkEstablishReqParamsRspCb
7068
7069 DESCRIPTION
7070
7071 This callback is invoked by DAL when it has received a TDLS Link Establish Req response from
7072 the underlying device.
7073
7074 PARAMETERS
7075
7076 IN
7077 wdiStatus: response status received from HAL
7078 pUserData: user data
7079
7080
7081
7082 RETURN VALUE
7083 The result code associated with performing the operation
7084---------------------------------------------------------------------------*/
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05307085typedef void (*WDI_SetTDLSLinkEstablishReqParamsRspCb)(WDI_SetTdlsLinkEstablishReqResp *
7086 wdiSetTdlsLinkEstablishReqRsp,
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05307087 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007088
7089/*---------------------------------------------------------------------------
Atul Mittalc0f739f2014-07-31 13:47:47 +05307090 WDI_SetTDLSChanSwitchReqParamsRspCb
7091
7092 DESCRIPTION
7093
7094 This callback is invoked by DAL when it has received a TDLS Link Establish Req response from
7095 the underlying device.
7096
7097 PARAMETERS
7098
7099 IN
7100 wdiStatus: response status received from HAL
7101 pUserData: user data
7102
7103
7104
7105 RETURN VALUE
7106 The result code associated with performing the operation
7107---------------------------------------------------------------------------*/
7108typedef void (*WDI_SetTDLSChanSwitchReqParamsRspCb)(WDI_SetTdlsChanSwitchReqResp *
7109 wdiSetTdlsChanSwitchReqRsp,
7110 void* pUserData);
7111/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07007112 WDI_SetPwrSaveCfgCb
7113
7114 DESCRIPTION
7115
7116 This callback is invoked by DAL when it has received a set Power Save CFG
7117 response from the underlying device.
7118
7119 PARAMETERS
7120
7121 IN
7122 wdiStatus: response status received from HAL
7123 pUserData: user data
7124
7125
7126
7127 RETURN VALUE
7128 The result code associated with performing the operation
7129---------------------------------------------------------------------------*/
7130typedef void (*WDI_SetPwrSaveCfgCb)(WDI_Status wdiStatus,
7131 void* pUserData);
7132
7133/*---------------------------------------------------------------------------
7134 WDI_SetUapsdAcParamsCb
7135
7136 DESCRIPTION
7137
7138 This callback is invoked by DAL when it has received a set UAPSD params
7139 response from the underlying device.
7140
7141 PARAMETERS
7142
7143 IN
7144 wdiStatus: response status received from HAL
7145 pUserData: user data
7146
7147
7148
7149 RETURN VALUE
7150 The result code associated with performing the operation
7151---------------------------------------------------------------------------*/
7152typedef void (*WDI_SetUapsdAcParamsCb)(WDI_Status wdiStatus,
7153 void* pUserData);
7154
7155/*---------------------------------------------------------------------------
7156 WDI_EnterImpsRspCb
7157
7158 DESCRIPTION
7159
7160 This callback is invoked by DAL when it has received a Enter IMPS response
7161 from the underlying device.
7162
7163 PARAMETERS
7164
7165 IN
7166 wdiStatus: response status received from HAL
7167 pUserData: user data
7168
7169
7170
7171 RETURN VALUE
7172 The result code associated with performing the operation
7173---------------------------------------------------------------------------*/
7174typedef void (*WDI_EnterImpsRspCb)(WDI_Status wdiStatus,
7175 void* pUserData);
7176
7177/*---------------------------------------------------------------------------
7178 WDI_ExitImpsRspCb
7179
7180 DESCRIPTION
7181
7182 This callback is invoked by DAL when it has received a Exit IMPS response
7183 from the underlying device.
7184
7185 PARAMETERS
7186
7187 IN
7188 wdiStatus: response status received from HAL
7189 pUserData: user data
7190
7191
7192
7193 RETURN VALUE
7194 The result code associated with performing the operation
7195---------------------------------------------------------------------------*/
7196typedef void (*WDI_ExitImpsRspCb)(WDI_Status wdiStatus,
7197 void* pUserData);
7198
7199/*---------------------------------------------------------------------------
7200 WDI_EnterBmpsRspCb
7201
7202 DESCRIPTION
7203
7204 This callback is invoked by DAL when it has received a enter BMPS response
7205 from the underlying device.
7206
7207 PARAMETERS
7208
7209 IN
7210 wdiStatus: response status received from HAL
7211 pUserData: user data
7212
7213
7214
7215 RETURN VALUE
7216 The result code associated with performing the operation
7217---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007218typedef void (*WDI_EnterBmpsRspCb)(WDI_EnterBmpsRspParamsType *pwdiEnterBmpsRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007219 void* pUserData);
7220
7221/*---------------------------------------------------------------------------
7222 WDI_ExitBmpsRspCb
7223
7224 DESCRIPTION
7225
7226 This callback is invoked by DAL when it has received a exit BMPS response
7227 from the underlying device.
7228
7229 PARAMETERS
7230
7231 IN
7232 wdiStatus: response status received from HAL
7233 pUserData: user data
7234
7235
7236
7237 RETURN VALUE
7238 The result code associated with performing the operation
7239---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007240typedef void (*WDI_ExitBmpsRspCb)( WDI_ExitBmpsRspParamsType *pwdiExitBmpsRspParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007241 void* pUserData);
7242
7243/*---------------------------------------------------------------------------
7244 WDI_EnterUapsdRspCb
7245
7246 DESCRIPTION
7247
7248 This callback is invoked by DAL when it has received a enter UAPSD response
7249 from the underlying device.
7250
7251 PARAMETERS
7252
7253 IN
7254 wdiStatus: response status received from HAL
7255 pUserData: user data
7256
7257
7258
7259 RETURN VALUE
7260 The result code associated with performing the operation
7261---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007262typedef void (*WDI_EnterUapsdRspCb)( WDI_EnterUapsdRspParamsType *pwdiEnterUapsdRspParam,
Jeff Johnson295189b2012-06-20 16:38:30 -07007263 void* pUserData);
7264
7265/*---------------------------------------------------------------------------
7266 WDI_ExitUapsdRspCb
7267
7268 DESCRIPTION
7269
7270 This callback is invoked by DAL when it has received a exit UAPSD response
7271 from the underlying device.
7272
7273 PARAMETERS
7274
7275 IN
7276 wdiStatus: response status received from HAL
7277 pUserData: user data
7278
7279
7280
7281 RETURN VALUE
7282 The result code associated with performing the operation
7283---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007284typedef void (*WDI_ExitUapsdRspCb)(WDI_ExitUapsdRspParamsType *pwidExitUapsdRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007285 void* pUserData);
7286
7287/*---------------------------------------------------------------------------
7288 WDI_UpdateUapsdParamsCb
7289
7290 DESCRIPTION
7291
7292 This callback is invoked by DAL when it has received a update UAPSD params
7293 response from the underlying device.
7294
7295 PARAMETERS
7296
7297 IN
7298 wdiStatus: response status received from HAL
7299 pUserData: user data
7300
7301
7302
7303 RETURN VALUE
7304 The result code associated with performing the operation
7305---------------------------------------------------------------------------*/
7306typedef void (*WDI_UpdateUapsdParamsCb)(WDI_Status wdiStatus,
7307 void* pUserData);
7308
7309/*---------------------------------------------------------------------------
7310 WDI_ConfigureRxpFilterCb
7311
7312 DESCRIPTION
7313
7314 This callback is invoked by DAL when it has received a config RXP filter
7315 response from the underlying device.
7316
7317 PARAMETERS
7318
7319 IN
7320 wdiStatus: response status received from HAL
7321 pUserData: user data
7322
7323
7324
7325 RETURN VALUE
7326 The result code associated with performing the operation
7327---------------------------------------------------------------------------*/
7328typedef void (*WDI_ConfigureRxpFilterCb)(WDI_Status wdiStatus,
7329 void* pUserData);
7330
7331/*---------------------------------------------------------------------------
7332 WDI_SetBeaconFilterCb
7333
7334 DESCRIPTION
7335
7336 This callback is invoked by DAL when it has received a set beacon filter
7337 response from the underlying device.
7338
7339 PARAMETERS
7340
7341 IN
7342 wdiStatus: response status received from HAL
7343 pUserData: user data
7344
7345
7346
7347 RETURN VALUE
7348 The result code associated with performing the operation
7349---------------------------------------------------------------------------*/
7350typedef void (*WDI_SetBeaconFilterCb)(WDI_Status wdiStatus,
7351 void* pUserData);
7352
7353/*---------------------------------------------------------------------------
7354 WDI_RemBeaconFilterCb
7355
7356 DESCRIPTION
7357
7358 This callback is invoked by DAL when it has received a remove beacon filter
7359 response from the underlying device.
7360
7361 PARAMETERS
7362
7363 IN
7364 wdiStatus: response status received from HAL
7365 pUserData: user data
7366
7367
7368
7369 RETURN VALUE
7370 The result code associated with performing the operation
7371---------------------------------------------------------------------------*/
7372typedef void (*WDI_RemBeaconFilterCb)(WDI_Status wdiStatus,
7373 void* pUserData);
7374
7375/*---------------------------------------------------------------------------
7376 WDI_SetRSSIThresholdsCb
7377
7378 DESCRIPTION
7379
7380 This callback is invoked by DAL when it has received a set RSSI thresholds
7381 response from the underlying device.
7382
7383 PARAMETERS
7384
7385 IN
7386 wdiStatus: response status received from HAL
7387 pUserData: user data
7388
7389
7390
7391 RETURN VALUE
7392 The result code associated with performing the operation
7393---------------------------------------------------------------------------*/
7394typedef void (*WDI_SetRSSIThresholdsCb)(WDI_Status wdiStatus,
7395 void* pUserData);
7396
7397/*---------------------------------------------------------------------------
7398 WDI_HostOffloadCb
7399
7400 DESCRIPTION
7401
7402 This callback is invoked by DAL when it has received a host offload
7403 response from the underlying device.
7404
7405 PARAMETERS
7406
7407 IN
7408 wdiStatus: response status received from HAL
7409 pUserData: user data
7410
7411
7412
7413 RETURN VALUE
7414 The result code associated with performing the operation
7415---------------------------------------------------------------------------*/
7416typedef void (*WDI_HostOffloadCb)(WDI_Status wdiStatus,
7417 void* pUserData);
7418
7419/*---------------------------------------------------------------------------
7420 WDI_KeepAliveCb
7421
7422 DESCRIPTION
7423
7424 This callback is invoked by DAL when it has received a Keep Alive
7425 response from the underlying device.
7426
7427 PARAMETERS
7428
7429 IN
7430 wdiStatus: response status received from HAL
7431 pUserData: user data
7432
7433
7434
7435 RETURN VALUE
7436 The result code associated with performing the operation
7437---------------------------------------------------------------------------*/
7438typedef void (*WDI_KeepAliveCb)(WDI_Status wdiStatus,
7439 void* pUserData);
7440
7441/*---------------------------------------------------------------------------
7442 WDI_WowlAddBcPtrnCb
7443
7444 DESCRIPTION
7445
7446 This callback is invoked by DAL when it has received a Wowl add Bcast ptrn
7447 response from the underlying device.
7448
7449 PARAMETERS
7450
7451 IN
7452 wdiStatus: response status received from HAL
7453 pUserData: user data
7454
7455
7456
7457 RETURN VALUE
7458 The result code associated with performing the operation
7459---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007460typedef void (*WDI_WowlAddBcPtrnCb)( WDI_WowlAddBcPtrnRspParamsType *pwdiWowlAddBcPtrnParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007461 void* pUserData);
7462
7463/*---------------------------------------------------------------------------
7464 WDI_WowlDelBcPtrnCb
7465
7466 DESCRIPTION
7467
7468 This callback is invoked by DAL when it has received a Wowl delete Bcast ptrn
7469 response from the underlying device.
7470
7471 PARAMETERS
7472
7473 IN
7474 wdiStatus: response status received from HAL
7475 pUserData: user data
7476
7477
7478
7479 RETURN VALUE
7480 The result code associated with performing the operation
7481---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007482typedef void (*WDI_WowlDelBcPtrnCb)( WDI_WowlDelBcPtrnRspParamsType *pwdiWowlDelBcstPtrRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007483 void* pUserData);
7484
7485/*---------------------------------------------------------------------------
7486 WDI_WowlEnterReqCb
7487
7488 DESCRIPTION
7489
7490 This callback is invoked by DAL when it has received a Wowl enter
7491 response from the underlying device.
7492
7493 PARAMETERS
7494
7495 IN
7496 wdiStatus: response status received from HAL
7497 pUserData: user data
7498
7499
7500
7501 RETURN VALUE
7502 The result code associated with performing the operation
7503---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007504typedef void (*WDI_WowlEnterReqCb)( WDI_WowlEnterRspParamsType *pwdiwowlEnterRsp,
7505 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007506
7507/*---------------------------------------------------------------------------
7508 WDI_WowlExitReqCb
7509
7510 DESCRIPTION
7511
7512 This callback is invoked by DAL when it has received a Wowl exit
7513 response from the underlying device.
7514
7515 PARAMETERS
7516
7517 IN
7518 wdiStatus: response status received from HAL
7519 pUserData: user data
7520
7521
7522
7523 RETURN VALUE
7524 The result code associated with performing the operation
7525---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007526typedef void (*WDI_WowlExitReqCb)( WDI_WowlExitRspParamsType *pwdiWowlExitRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007527 void* pUserData);
7528
7529/*---------------------------------------------------------------------------
7530 WDI_ConfigureAppsCpuWakeupStateCb
7531
7532 DESCRIPTION
7533
7534 This callback is invoked by DAL when it has received a config Apps Cpu Wakeup
7535 State response from the underlying device.
7536
7537 PARAMETERS
7538
7539 IN
7540 wdiStatus: response status received from HAL
7541 pUserData: user data
7542
7543
7544
7545 RETURN VALUE
7546 The result code associated with performing the operation
7547---------------------------------------------------------------------------*/
7548typedef void (*WDI_ConfigureAppsCpuWakeupStateCb)(WDI_Status wdiStatus,
7549 void* pUserData);
7550/*---------------------------------------------------------------------------
7551 WDI_NvDownloadRspCb
7552
7553 DESCRIPTION
7554
7555 This callback is invoked by DAL when it has received a NV Download response
7556 from the underlying device.
7557
7558 PARAMETERS
7559
7560 IN
7561 wdiStatus:response status received from HAL
7562 pUserData:user data
7563
7564 RETURN VALUE
7565 The result code associated with performing the operation
7566---------------------------------------------------------------------------*/
7567typedef void (*WDI_NvDownloadRspCb)(WDI_NvDownloadRspInfoType* wdiNvDownloadRsp,
7568 void* pUserData);
7569/*---------------------------------------------------------------------------
7570 WDI_FlushAcRspCb
7571
7572 DESCRIPTION
7573
7574 This callback is invoked by DAL when it has received a Flush AC response from
7575 the underlying device.
7576
7577 PARAMETERS
7578
7579 IN
7580 wdiStatus: response status received from HAL
7581 pUserData: user data
7582
7583
7584
7585 RETURN VALUE
7586 The result code associated with performing the operation
7587---------------------------------------------------------------------------*/
7588typedef void (*WDI_FlushAcRspCb)(WDI_Status wdiStatus,
7589 void* pUserData);
7590
7591/*---------------------------------------------------------------------------
7592 WDI_BtAmpEventRspCb
7593
7594 DESCRIPTION
7595
7596 This callback is invoked by DAL when it has received a Bt AMP event response
7597 from the underlying device.
7598
7599 PARAMETERS
7600
7601 IN
7602 wdiStatus: response status received from HAL
7603 pUserData: user data
7604
7605
7606
7607 RETURN VALUE
7608 The result code associated with performing the operation
7609---------------------------------------------------------------------------*/
7610typedef void (*WDI_BtAmpEventRspCb)(WDI_Status wdiStatus,
7611 void* pUserData);
7612
Jeff Johnsone7245742012-09-05 17:12:55 -07007613#ifdef FEATURE_OEM_DATA_SUPPORT
7614/*---------------------------------------------------------------------------
7615 WDI_oemDataRspCb
7616
7617 DESCRIPTION
7618
7619 This callback is invoked by DAL when it has received a Start oem data response from
7620 the underlying device.
7621
7622 PARAMETERS
7623
7624 IN
7625 wdiStatus: response status received from HAL
7626 pUserData: user data
7627
7628
7629
7630 RETURN VALUE
7631 The result code associated with performing the operation
7632---------------------------------------------------------------------------*/
7633typedef void (*WDI_oemDataRspCb)(WDI_oemDataRspParamsType* wdiOemDataRspParams,
7634 void* pUserData);
7635
7636#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07007637
7638/*---------------------------------------------------------------------------
7639 WDI_HostResumeEventRspCb
7640
7641 DESCRIPTION
7642
7643 This callback is invoked by DAL when it has received a Bt AMP event response
7644 from the underlying device.
7645
7646 PARAMETERS
7647
7648 IN
7649 wdiStatus: response status received from HAL
7650 pUserData: user data
7651
7652
7653
7654 RETURN VALUE
7655 The result code associated with performing the operation
7656---------------------------------------------------------------------------*/
7657typedef void (*WDI_HostResumeEventRspCb)(
7658 WDI_SuspendResumeRspParamsType *resumeRspParams,
7659 void* pUserData);
7660
7661
7662#ifdef WLAN_FEATURE_VOWIFI_11R
7663/*---------------------------------------------------------------------------
7664 WDI_AggrAddTsRspCb
7665
7666 DESCRIPTION
7667
7668 This callback is invoked by DAL when it has received a Aggregated Add TS
7669 response from the underlying device.
7670
7671 PARAMETERS
7672
7673 IN
7674 wdiStatus: response status received from HAL
7675 pUserData: user data
7676
7677
7678
7679 RETURN VALUE
7680 The result code associated with performing the operation
7681---------------------------------------------------------------------------*/
7682typedef void (*WDI_AggrAddTsRspCb)(WDI_Status wdiStatus,
7683 void* pUserData);
7684#endif /* WLAN_FEATURE_VOWIFI_11R */
7685
Jeff Johnson295189b2012-06-20 16:38:30 -07007686/*---------------------------------------------------------------------------
7687 WDI_FTMCommandRspCb
7688
7689 DESCRIPTION
7690
7691 FTM Command response CB
7692
7693 PARAMETERS
7694
7695 IN
7696 ftmCMDRspdata: FTM response data from HAL
7697 pUserData: user data
7698
7699
7700 RETURN VALUE
7701 NONE
7702---------------------------------------------------------------------------*/
7703typedef void (*WDI_FTMCommandRspCb)(void *ftmCMDRspdata,
7704 void *pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007705
7706/*---------------------------------------------------------------------------
7707 WDI_AddSTASelfParamsRspCb
7708
7709 DESCRIPTION
7710
7711 This callback is invoked by DAL when it has received a Add Sta Self Params
7712 response from the underlying device.
7713
7714 PARAMETERS
7715
7716 IN
7717 wdiAddSelfSTARsp: response status received from HAL
7718 pUserData: user data
7719
7720
7721
7722 RETURN VALUE
7723 The result code associated with performing the operation
7724---------------------------------------------------------------------------*/
7725typedef void (*WDI_AddSTASelfParamsRspCb)(
7726 WDI_AddSTASelfRspParamsType* pwdiAddSelfSTARsp,
7727 void* pUserData);
7728
7729
7730/*---------------------------------------------------------------------------
7731 WDI_DelSTASelfRspCb
7732
7733 DESCRIPTION
7734
7735 This callback is invoked by DAL when it has received a host offload
7736 response from the underlying device.
7737
7738 PARAMETERS
7739
7740 IN
7741 wdiStatus: response status received from HAL
7742 pUserData: user data
7743
7744
7745
7746 RETURN VALUE
7747 The result code associated with performing the operation
7748---------------------------------------------------------------------------*/
7749typedef void (*WDI_DelSTASelfRspCb)
7750(
7751WDI_DelSTASelfRspParamsType* wdiDelStaSelfRspParams,
7752void* pUserData
7753);
7754
7755#ifdef FEATURE_WLAN_SCAN_PNO
7756/*---------------------------------------------------------------------------
7757 WDI_PNOScanCb
7758
7759 DESCRIPTION
7760
7761 This callback is invoked by DAL when it has received a Set PNO
7762 response from the underlying device.
7763
7764 PARAMETERS
7765
7766 IN
7767 wdiStatus: response status received from HAL
7768 pUserData: user data
7769
7770
7771
7772 RETURN VALUE
7773 The result code associated with performing the operation
7774---------------------------------------------------------------------------*/
7775typedef void (*WDI_PNOScanCb)(WDI_Status wdiStatus,
7776 void* pUserData);
7777
7778/*---------------------------------------------------------------------------
7779 WDI_PNOScanCb
7780
7781 DESCRIPTION
7782
7783 This callback is invoked by DAL when it has received a Set PNO
7784 response from the underlying device.
7785
7786 PARAMETERS
7787
7788 IN
7789 wdiStatus: response status received from HAL
7790 pUserData: user data
7791
7792
7793
7794 RETURN VALUE
7795 The result code associated with performing the operation
7796---------------------------------------------------------------------------*/
7797typedef void (*WDI_RssiFilterCb)(WDI_Status wdiStatus,
7798 void* pUserData);
7799
7800/*---------------------------------------------------------------------------
7801 WDI_UpdateScanParamsCb
7802
7803 DESCRIPTION
7804
7805 This callback is invoked by DAL when it has received a Update Scan Params
7806 response from the underlying device.
7807
7808 PARAMETERS
7809
7810 IN
7811 wdiStatus: response status received from HAL
7812 pUserData: user data
7813
7814
7815
7816 RETURN VALUE
7817 The result code associated with performing the operation
7818---------------------------------------------------------------------------*/
7819typedef void (*WDI_UpdateScanParamsCb)(WDI_Status wdiStatus,
7820 void* pUserData);
7821#endif // FEATURE_WLAN_SCAN_PNO
7822
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08007823typedef void (*WDI_UpdateChannelRspCb)(WDI_Status wdiStatus,
7824 void* pUserData);
7825
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07007826#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
7827/*---------------------------------------------------------------------------
7828 WDI_RoamOffloadScanCb
7829
7830 DESCRIPTION
7831
7832 This callback is invoked by DAL when it has received a Start Roam Candidate Lookup Req
7833 response from the underlying device.
7834
7835 PARAMETERS
7836
7837 IN
7838 wdiStatus: response status received from HAL
7839 pUserData: user data
7840
7841
7842
7843 RETURN VALUE
7844 The result code associated with performing the operation
7845---------------------------------------------------------------------------*/
7846typedef void (*WDI_RoamOffloadScanCb)(WDI_Status wdiStatus,
7847 void* pUserData);
7848
7849#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07007850/*---------------------------------------------------------------------------
7851 WDI_SetTxPerTrackingRspCb
7852
7853 DESCRIPTION
7854
7855 This callback is invoked by DAL when it has received a Tx PER Tracking
7856 response from the underlying device.
7857
7858 PARAMETERS
7859
7860 IN
7861 wdiStatus: response status received from HAL
7862 pUserData: user data
7863
7864
7865
7866 RETURN VALUE
7867 The result code associated with performing the operation
7868---------------------------------------------------------------------------*/
7869typedef void (*WDI_SetTxPerTrackingRspCb)(WDI_Status wdiStatus,
7870 void* pUserData);
7871
7872#ifdef WLAN_FEATURE_PACKET_FILTERING
7873/*---------------------------------------------------------------------------
7874 WDI_8023MulticastListCb
7875
7876 DESCRIPTION
7877
7878 This callback is invoked by DAL when it has received a 8023 Multicast List
7879 response from the underlying device.
7880
7881 PARAMETERS
7882
7883 IN
7884 wdiStatus: response status received from HAL
7885 pUserData: user data
7886
7887
7888
7889 RETURN VALUE
7890 The result code associated with performing the operation
7891---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007892typedef void (*WDI_8023MulticastListCb)(
7893 WDI_RcvFltPktSetMcListRspParamsType *pwdiRcvFltPktSetMcListRspInfo,
7894 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007895
7896/*---------------------------------------------------------------------------
7897 WDI_ReceiveFilterSetFilterCb
7898
7899 DESCRIPTION
7900
7901 This callback is invoked by DAL when it has received a Receive Filter Set Filter
7902 response from the underlying device.
7903
7904 PARAMETERS
7905
7906 IN
7907 wdiStatus: response status received from HAL
7908 pUserData: user data
7909
7910
7911
7912 RETURN VALUE
7913 The result code associated with performing the operation
7914---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007915typedef void (*WDI_ReceiveFilterSetFilterCb)(
7916 WDI_SetRcvPktFilterRspParamsType *pwdiSetRcvPktFilterRspInfo,
7917 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007918
7919/*---------------------------------------------------------------------------
7920 WDI_FilterMatchCountCb
7921
7922 DESCRIPTION
7923
7924 This callback is invoked by DAL when it has received a Do PC Filter Match Count
7925 response from the underlying device.
7926
7927 PARAMETERS
7928
7929 IN
7930 wdiStatus: response status received from HAL
7931 pUserData: user data
7932
7933
7934
7935 RETURN VALUE
7936 The result code associated with performing the operation
7937---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007938typedef void (*WDI_FilterMatchCountCb)(
7939 WDI_RcvFltPktMatchCntRspParamsType *pwdiRcvFltPktMatchRspParams,
7940 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007941
7942/*---------------------------------------------------------------------------
7943 WDI_ReceiveFilterClearFilterCb
7944
7945 DESCRIPTION
7946
7947 This callback is invoked by DAL when it has received a Receive Filter Clear Filter
7948 response from the underlying device.
7949
7950 PARAMETERS
7951
7952 IN
7953 wdiStatus: response status received from HAL
7954 pUserData: user data
7955
7956
7957
7958 RETURN VALUE
7959 The result code associated with performing the operation
7960---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007961typedef void (*WDI_ReceiveFilterClearFilterCb)(
7962 WDI_RcvFltPktClearRspParamsType *pwdiRcvFltPktClearRspParamsType,
7963 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007964#endif // WLAN_FEATURE_PACKET_FILTERING
7965
7966/*---------------------------------------------------------------------------
7967 WDI_HALDumpCmdRspCb
7968
7969 DESCRIPTION
7970
7971 This callback is invoked by DAL when it has received a HAL DUMP Command
7972response from
7973 the HAL layer.
7974
7975 PARAMETERS
7976
7977 IN
7978 wdiHalDumpCmdRsp: response status received from HAL
7979 pUserData: user data
7980
7981
7982
7983 RETURN VALUE
7984 The result code associated with performing the operation
7985---------------------------------------------------------------------------*/
7986typedef void (*WDI_HALDumpCmdRspCb)(WDI_HALDumpCmdRspParamsType* wdiHalDumpCmdRsp,
7987 void* pUserData);
7988
7989/*---------------------------------------------------------------------------
7990 WDI_SetPowerParamsCb
7991
7992 DESCRIPTION
7993
7994 This callback is invoked by DAL when it has received a Set Power Param
7995 response from the underlying device.
7996
7997 PARAMETERS
7998
7999 IN
8000 wdiStatus: response status received from HAL
8001 pUserData: user data
8002
8003
8004
8005 RETURN VALUE
8006 The result code associated with performing the operation
8007---------------------------------------------------------------------------*/
8008typedef void (*WDI_SetPowerParamsCb)(WDI_Status wdiStatus,
8009 void* pUserData);
8010
c_manjeecfd1efb2015-09-25 19:32:34 +05308011
8012/*---------------------------------------------------------------------------
8013 WDA_FwrMemDumpRespCallback
8014
8015 DESCRIPTION
8016
8017 This callback is invoked by DAL when it has received a Fwr Mem dump
8018 response from the underlying device.
8019
8020 PARAMETERS
8021
8022 IN
8023 wdiStatus: response status received from HAL
8024 pUserData: user data
8025 ---------------------------------------------------------------------------*/
8026typedef void (* WDI_FwrMemDumpCb) (WDI_FwrMemDumpRsp* wdiRsp,
8027 void* pUserData);
8028
8029
Jeff Johnson295189b2012-06-20 16:38:30 -07008030#ifdef WLAN_FEATURE_GTK_OFFLOAD
8031/*---------------------------------------------------------------------------
8032 WDI_GtkOffloadCb
8033
8034 DESCRIPTION
8035
8036 This callback is invoked by DAL when it has received a GTK offload
8037 response from the underlying device.
8038
8039 PARAMETERS
8040
8041 IN
8042 wdiStatus: response status received from HAL
8043 pUserData: user data
8044
8045
8046
8047 RETURN VALUE
8048 The result code associated with performing the operation
8049---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07008050typedef void (*WDI_GtkOffloadCb)( WDI_GtkOffloadRspParams *pwdiGtkOffloadRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07008051 void* pUserData);
8052
8053/*---------------------------------------------------------------------------
8054 WDI_GtkOffloadGetInfoCb
8055
8056 DESCRIPTION
8057
8058 This callback is invoked by DAL when it has received a GTK offload
8059 information response from the underlying device.
8060
8061 PARAMETERS
8062
8063 IN
8064 wdiStatus: response status received from HAL
8065 pUserData: user data
8066
8067
8068
8069 RETURN VALUE
8070 The result code associated with performing the operation
8071---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07008072typedef void (*WDI_GtkOffloadGetInfoCb)( WDI_GtkOffloadGetInfoRspParams *pwdiGtkOffloadGetInfoRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07008073 void* pUserData);
8074#endif // WLAN_FEATURE_GTK_OFFLOAD
8075
8076/*---------------------------------------------------------------------------
8077 WDI_SetTmLevelCb
8078
8079 DESCRIPTION
8080
8081 This callback is invoked by DAL when it has received a Set New TM Level
8082 done response from the underlying device.
8083
8084 PARAMETERS
8085
8086 IN
8087 wdiStatus: response status received from HAL
8088 pUserData: user data
8089
8090
8091
8092 RETURN VALUE
8093 The result code associated with performing the operation
8094---------------------------------------------------------------------------*/
8095typedef void (*WDI_SetTmLevelCb)(WDI_Status wdiStatus,
8096 void* pUserData);
8097
8098/*---------------------------------------------------------------------------
8099 WDI_featureCapsExchangeCb
8100
8101 DESCRIPTION
8102
8103 This callback is invoked by DAL when it has received a HAL Feature Capbility
8104 Exchange Response the HAL layer. This callback is put to mantain code
8105 similarity and is not being used right now.
8106
8107 PARAMETERS
8108
8109 IN
8110 wdiFeatCapRspParams: response parameters received from HAL
8111 pUserData: user data
8112
8113 RETURN VALUE
8114 The result code associated with performing the operation
8115---------------------------------------------------------------------------*/
8116typedef void (*WDI_featureCapsExchangeCb)(void* wdiFeatCapRspParams,
8117 void* pUserData);
8118
Mohit Khanna4a70d262012-09-11 16:30:12 -07008119#ifdef WLAN_FEATURE_11AC
8120typedef void (*WDI_UpdateVHTOpModeCb)(WDI_Status wdiStatus,
8121 void* pUserData);
8122#endif
8123
Leo Chang9056f462013-08-01 19:21:11 -07008124#ifdef FEATURE_WLAN_LPHB
8125typedef void (*WDI_LphbCfgCb)(WDI_Status wdiStatus,
8126 void* pUserData);
8127#endif /* FEATURE_WLAN_LPHB */
Mohit Khanna4a70d262012-09-11 16:30:12 -07008128
Rajeev79dbe4c2013-10-05 11:03:42 +05308129#ifdef FEATURE_WLAN_BATCH_SCAN
8130/*---------------------------------------------------------------------------
8131 WDI_SetBatchScanCb
8132
8133 DESCRIPTION
8134
8135 This callback is invoked by DAL when it has received a get batch scan
8136 response from the underlying device.
8137
8138 PARAMETERS
8139
8140 IN
8141 wdiStatus: response status received from HAL
8142 pUserData: user data
8143
8144
8145
8146 RETURN VALUE
8147 The result code associated with performing the operation
8148---------------------------------------------------------------------------*/
8149typedef void (*WDI_SetBatchScanCb)(void *pData, WDI_SetBatchScanRspType *pRsp);
8150
8151#endif
8152
c_hpothu92367912014-05-01 15:18:17 +05308153typedef void (*WDI_GetBcnMissRateCb)(wpt_uint8 status, wpt_uint32 bcnMissRate,
8154 void* pUserData);
Rajeev79dbe4c2013-10-05 11:03:42 +05308155
Dino Mycle41bdc942014-06-10 11:30:24 +05308156#ifdef WLAN_FEATURE_EXTSCAN
8157typedef void (*WDI_EXTScanStartRspCb)(void *pEventData,
8158 void *pUserData);
8159typedef void (*WDI_EXTScanStopRspCb)(void *pEventData,
8160 void *pUserData);
8161typedef void (*WDI_EXTScanGetCachedResultsRspCb)(void *pEventData,
8162 void *pUserData);
8163typedef void (*WDI_EXTScanGetCapabilitiesRspCb)(void *pEventData,
8164 void *pUserData);
8165typedef void (*WDI_EXTScanSetBSSIDHotlistRspCb)(void *pEventData,
8166 void *pUserData);
8167typedef void (*WDI_EXTScanResetBSSIDHotlistRspCb)(void *pEventData,
8168 void *pUserData);
Padma, Santhosh Kumar9acee012015-08-21 19:58:01 +05308169typedef void (*WDI_EXTScanSetSSIDHotlistRspCb)(void *pEventData,
8170 void *pUserData);
8171typedef void (*WDI_EXTScanResetSSIDHotlistRspCb)(void *pEventData,
8172 void *pUserData);
Dino Mycle41bdc942014-06-10 11:30:24 +05308173#endif /* WLAN_FEATURE_EXTSCAN */
Sunil Duttbd736ed2014-05-26 21:19:41 +05308174
8175#ifdef WLAN_FEATURE_LINK_LAYER_STATS
8176typedef void (*WDI_LLStatsSetRspCb)(void *pEventData,
8177 void *pUserData);
8178typedef void (*WDI_LLStatsGetRspCb)(void *pEventData,
8179 void *pUserData);
8180typedef void (*WDI_LLStatsClearRspCb)(void *pEventData,
8181 void *pUserData);
8182#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
Siddharth Bhal171788a2014-09-29 21:02:40 +05308183
8184typedef void (*WDI_SetSpoofMacAddrRspCb)(
8185 WDI_SpoofMacAddrRspParamType* wdiRsp, void *pUserData);
Srinivas Dasari4dae48f2014-11-26 21:14:16 +05308186
Abhishek Singh85b74712014-10-08 11:38:19 +05308187typedef void (*WDI_FWStatsGetRspCb)(WDI_Status status,void *fwStatsResp,
8188 void *pUserData);
Srinivas Dasari4dae48f2014-11-26 21:14:16 +05308189
8190typedef void (*WDI_EncryptMsgRspCb)(wpt_uint8 status, void *pEventData, void* pUserData);
Siddharth Bhald1be97f2015-05-27 22:39:59 +05308191typedef void (*WDI_FWLoggingInitRspCb)(
8192 WDI_FWLoggingInitRspParamType *wdiRsp, void *pUserData);
Siddharth Bhal64246172015-02-27 01:04:37 +05308193typedef void (*WDI_GetFrameLogRspCb)(
8194 WDI_GetFrameLogRspParamType *wdiRsp, void *pUserData);
Sachin Ahuja715aafc2015-07-21 23:35:10 +05308195typedef void (*WDI_FatalEventLogsRspCb)(
8196 WDI_FatalEventLogsRspParamType *wdiRsp, void *pUserData);
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05308197
Hanumantha Reddy Pothula91cdd7f2015-09-03 21:25:16 +05308198typedef void (*WDI_MonModeRspCb)(void *pEventData,void *pUserData);
Gupta, Kapil7c34b322015-09-30 13:12:35 +05308199typedef void (*WDI_RssiMonitorStartRspCb)(void *pEventData,void *pUserData);
8200typedef void (*WDI_RssiMonitorStopRspCb)(void *pEventData,void *pUserData);
Katya Nigamf0511f62015-05-05 16:40:57 +05308201
c_manjeecfd1efb2015-09-25 19:32:34 +05308202typedef void (*WDI_FwrMemDumpRspCb)(WDI_FwrMemDumpRsp *wdiRsp, void *pUserData);
8203
Arun Khandavalli7eeb1592015-10-19 21:36:57 +05308204typedef void (*WDI_WifiConfigSetRspCb) (WDI_WifconfigSetRsp *wdiRsp, void *pUserData);
c_manjeecfd1efb2015-09-25 19:32:34 +05308205
Mahesh A Saptasagarb63b3e22015-12-22 15:06:10 +05308206typedef void (*WDI_AntennaDivSelRspCb)(WDI_Status status,
8207 void *resp, void *pUserData);
8208
Jeff Johnson295189b2012-06-20 16:38:30 -07008209/*========================================================================
8210 * Function Declarations and Documentation
8211 ==========================================================================*/
8212
8213/*========================================================================
8214
8215 INITIALIZATION APIs
8216
8217==========================================================================*/
8218
8219/**
8220 @brief WDI_Init is used to initialize the DAL.
8221
8222 DAL will allocate all the resources it needs. It will open PAL, it will also
8223 open both the data and the control transport which in their turn will open
8224 DXE/SMD or any other drivers that they need.
8225
Arun Kumar Khandavalliebb19482014-03-25 13:56:53 +05308226 @param devHandle: pointer to the OS specific device handle
Jeff Johnson295189b2012-06-20 16:38:30 -07008227 ppWDIGlobalCtx: output pointer of Global Context
8228 pWdiDevCapability: output pointer of device capability
8229
8230 @return Result of the function call
8231*/
8232WDI_Status
8233WDI_Init
8234(
Arun Kumar Khandavalliebb19482014-03-25 13:56:53 +05308235 void* devHandle,
Jeff Johnson295189b2012-06-20 16:38:30 -07008236 void** ppWDIGlobalCtx,
8237 WDI_DeviceCapabilityType* pWdiDevCapability,
8238 unsigned int driverType
8239);
8240
8241/**
8242 @brief WDI_Start will be called when the upper MAC is ready to
8243 commence operation with the WLAN Device. Upon the call
8244 of this API the WLAN DAL will pack and send a HAL Start
8245 message to the lower RIVA sub-system if the SMD channel
8246 has been fully opened and the RIVA subsystem is up.
8247
8248 If the RIVA sub-system is not yet up and running DAL
8249 will queue the request for Open and will wait for the
8250 SMD notification before attempting to send down the
8251 message to HAL.
8252
8253 WDI_Init must have been called.
8254
8255 @param wdiStartParams: the start parameters as specified by
8256 the Device Interface
8257
8258 wdiStartRspCb: callback for passing back the response of
8259 the start operation received from the device
8260
8261 pUserData: user data will be passed back with the
8262 callback
8263
8264 @see WDI_Start
8265 @return Result of the function call
8266*/
8267WDI_Status
8268WDI_Start
8269(
8270 WDI_StartReqParamsType* pwdiStartParams,
8271 WDI_StartRspCb wdiStartRspCb,
8272 void* pUserData
8273);
8274
8275
8276/**
8277 @brief WDI_Stop will be called when the upper MAC is ready to
8278 stop any operation with the WLAN Device. Upon the call
8279 of this API the WLAN DAL will pack and send a HAL Stop
8280 message to the lower RIVA sub-system if the DAL Core is
8281 in started state.
8282
8283 In state BUSY this request will be queued.
8284
8285 Request will not be accepted in any other state.
8286
8287 WDI_Start must have been called.
8288
8289 @param wdiStopParams: the stop parameters as specified by
8290 the Device Interface
8291
8292 wdiStopRspCb: callback for passing back the response of
8293 the stop operation received from the device
8294
8295 pUserData: user data will be passed back with the
8296 callback
8297
8298 @see WDI_Start
8299 @return Result of the function call
8300*/
8301WDI_Status
8302WDI_Stop
8303(
8304 WDI_StopReqParamsType* pwdiStopParams,
8305 WDI_StopRspCb wdiStopRspCb,
8306 void* pUserData
8307);
8308
8309/**
8310 @brief WDI_Close will be called when the upper MAC no longer
8311 needs to interract with DAL. DAL will free its control
8312 block.
8313
8314 It is only accepted in state STOPPED.
8315
8316 WDI_Stop must have been called.
8317
8318 @param none
8319
8320 @see WDI_Stop
8321 @return Result of the function call
8322*/
8323WDI_Status
8324WDI_Close
8325(
8326 void
8327);
8328
8329
8330/**
8331 @brief WDI_Shutdown will be called during 'SSR shutdown' operation.
8332 This will do most of the WDI stop & close
8333 operations without doing any handshake with Riva
8334
8335 This will also make sure that the control transport
8336 will NOT be closed.
8337
8338 This request will not be queued.
8339
8340
8341 WDI_Start must have been called.
8342
8343 @param closeTransport: Close control channel if this is set
8344
8345 @return Result of the function call
8346*/
8347WDI_Status
8348WDI_Shutdown
8349(
8350 wpt_boolean closeTransport
8351);
8352
8353/*========================================================================
8354
8355 SCAN APIs
8356
8357==========================================================================*/
8358
8359/**
8360 @brief WDI_InitScanReq will be called when the upper MAC wants
8361 the WLAN Device to get ready for a scan procedure. Upon
8362 the call of this API the WLAN DAL will pack and send a
8363 HAL Init Scan request message to the lower RIVA
8364 sub-system if DAL is in state STARTED.
8365
8366 In state BUSY this request will be queued. Request won't
8367 be allowed in any other state.
8368
8369 WDI_Start must have been called.
8370
8371 @param wdiInitScanParams: the init scan parameters as specified
8372 by the Device Interface
8373
8374 wdiInitScanRspCb: callback for passing back the response
8375 of the init scan operation received from the device
8376
8377 pUserData: user data will be passed back with the
8378 callback
8379
8380 @see WDI_Start
8381 @return Result of the function call
8382*/
8383WDI_Status
8384WDI_InitScanReq
8385(
8386 WDI_InitScanReqParamsType* pwdiInitScanParams,
8387 WDI_InitScanRspCb wdiInitScanRspCb,
8388 void* pUserData
8389);
8390
8391/**
8392 @brief WDI_StartScanReq will be called when the upper MAC
8393 wishes to change the Scan channel on the WLAN Device.
8394 Upon the call of this API the WLAN DAL will pack and
8395 send a HAL Start Scan request message to the lower RIVA
8396 sub-system if DAL is in state STARTED.
8397
8398 In state BUSY this request will be queued. Request won't
8399 be allowed in any other state.
8400
8401 WDI_InitScanReq must have been called.
8402
8403 @param wdiStartScanParams: the start scan parameters as
8404 specified by the Device Interface
8405
8406 wdiStartScanRspCb: callback for passing back the
8407 response of the start scan operation received from the
8408 device
8409
8410 pUserData: user data will be passed back with the
8411 callback
8412
8413 @see WDI_InitScanReq
8414 @return Result of the function call
8415*/
8416WDI_Status
8417WDI_StartScanReq
8418(
8419 WDI_StartScanReqParamsType* pwdiStartScanParams,
8420 WDI_StartScanRspCb wdiStartScanRspCb,
8421 void* pUserData
8422);
8423
8424
8425/**
8426 @brief WDI_EndScanReq will be called when the upper MAC is
8427 wants to end scanning for a particular channel that it
8428 had set before by calling Scan Start on the WLAN Device.
8429 Upon the call of this API the WLAN DAL will pack and
8430 send a HAL End Scan request message to the lower RIVA
8431 sub-system if DAL is in state STARTED.
8432
8433 In state BUSY this request will be queued. Request won't
8434 be allowed in any other state.
8435
8436 WDI_StartScanReq must have been called.
8437
8438 @param wdiEndScanParams: the end scan parameters as specified
8439 by the Device Interface
8440
8441 wdiEndScanRspCb: callback for passing back the response
8442 of the end scan operation received from the device
8443
8444 pUserData: user data will be passed back with the
8445 callback
8446
8447 @see WDI_StartScanReq
8448 @return Result of the function call
8449*/
8450WDI_Status
8451WDI_EndScanReq
8452(
8453 WDI_EndScanReqParamsType* pwdiEndScanParams,
8454 WDI_EndScanRspCb wdiEndScanRspCb,
8455 void* pUserData
8456);
8457
8458
8459/**
8460 @brief WDI_FinishScanReq will be called when the upper MAC has
8461 completed the scan process on the WLAN Device. Upon the
8462 call of this API the WLAN DAL will pack and send a HAL
8463 Finish Scan Request request message to the lower RIVA
8464 sub-system if DAL is in state STARTED.
8465
8466 In state BUSY this request will be queued. Request won't
8467 be allowed in any other state.
8468
8469 WDI_InitScanReq must have been called.
8470
8471 @param wdiFinishScanParams: the finish scan parameters as
8472 specified by the Device Interface
8473
8474 wdiFinishScanRspCb: callback for passing back the
8475 response of the finish scan operation received from the
8476 device
8477
8478 pUserData: user data will be passed back with the
8479 callback
8480
8481 @see WDI_InitScanReq
8482 @return Result of the function call
8483*/
8484WDI_Status
8485WDI_FinishScanReq
8486(
8487 WDI_FinishScanReqParamsType* pwdiFinishScanParams,
8488 WDI_FinishScanRspCb wdiFinishScanRspCb,
8489 void* pUserData
8490);
8491
8492/*========================================================================
8493
8494 ASSOCIATION APIs
8495
8496==========================================================================*/
8497
8498/**
8499 @brief WDI_JoinReq will be called when the upper MAC is ready
8500 to start an association procedure to a BSS. Upon the
8501 call of this API the WLAN DAL will pack and send a HAL
8502 Join request message to the lower RIVA sub-system if
8503 DAL is in state STARTED.
8504
8505 In state BUSY this request will be queued. Request won't
8506 be allowed in any other state.
8507
8508 WDI_Start must have been called.
8509
8510 @param wdiJoinParams: the join parameters as specified by
8511 the Device Interface
8512
8513 wdiJoinRspCb: callback for passing back the response of
8514 the join operation received from the device
8515
8516 pUserData: user data will be passed back with the
8517 callback
8518
8519 @see WDI_Start
8520 @return Result of the function call
8521*/
8522WDI_Status
8523WDI_JoinReq
8524(
8525 WDI_JoinReqParamsType* pwdiJoinParams,
8526 WDI_JoinRspCb wdiJoinRspCb,
8527 void* pUserData
8528);
8529
8530/**
8531 @brief WDI_ConfigBSSReq will be called when the upper MAC
8532 wishes to configure the newly acquired or in process of
8533 being acquired BSS to the HW . Upon the call of this API
8534 the WLAN DAL will pack and send a HAL Config BSS request
8535 message to the lower RIVA sub-system if DAL is in state
8536 STARTED.
8537
8538 In state BUSY this request will be queued. Request won't
8539 be allowed in any other state.
8540
8541 WDI_JoinReq must have been called.
8542
8543 @param wdiConfigBSSParams: the config BSS parameters as
8544 specified by the Device Interface
8545
8546 wdiConfigBSSRspCb: callback for passing back the
8547 response of the config BSS operation received from the
8548 device
8549
8550 pUserData: user data will be passed back with the
8551 callback
8552
8553 @see WDI_JoinReq
8554 @return Result of the function call
8555*/
8556WDI_Status
8557WDI_ConfigBSSReq
8558(
8559 WDI_ConfigBSSReqParamsType* pwdiConfigBSSParams,
8560 WDI_ConfigBSSRspCb wdiConfigBSSRspCb,
8561 void* pUserData
8562);
8563
8564/**
8565 @brief WDI_DelBSSReq will be called when the upper MAC is
8566 dissasociating from the BSS and wishes to notify HW.
8567 Upon the call of this API the WLAN DAL will pack and
8568 send a HAL Del BSS request message to the lower RIVA
8569 sub-system if DAL is in state STARTED.
8570
8571 In state BUSY this request will be queued. Request won't
8572 be allowed in any other state.
8573
8574 WDI_ConfigBSSReq or WDI_PostAssocReq must have been called.
8575
8576 @param wdiDelBSSParams: the del BSS parameters as specified by
8577 the Device Interface
8578
8579 wdiDelBSSRspCb: callback for passing back the response
8580 of the del bss operation received from the device
8581
8582 pUserData: user data will be passed back with the
8583 callback
8584
8585 @see WDI_ConfigBSSReq, WDI_PostAssocReq
8586 @return Result of the function call
8587*/
8588WDI_Status
8589WDI_DelBSSReq
8590(
8591 WDI_DelBSSReqParamsType* pwdiDelBSSParams,
8592 WDI_DelBSSRspCb wdiDelBSSRspCb,
8593 void* pUserData
8594);
8595
8596/**
8597 @brief WDI_PostAssocReq will be called when the upper MAC has
8598 associated to a BSS and wishes to configure HW for
8599 associated state. Upon the call of this API the WLAN DAL
8600 will pack and send a HAL Post Assoc request message to
8601 the lower RIVA sub-system if DAL is in state STARTED.
8602
8603 In state BUSY this request will be queued. Request won't
8604 be allowed in any other state.
8605
8606 WDI_JoinReq must have been called.
8607
8608 @param wdiPostAssocReqParams: the assoc parameters as specified
8609 by the Device Interface
8610
8611 wdiPostAssocRspCb: callback for passing back the
8612 response of the post assoc operation received from the
8613 device
8614
8615 pUserData: user data will be passed back with the
8616 callback
8617
8618 @see WDI_JoinReq
8619 @return Result of the function call
8620*/
8621WDI_Status
8622WDI_PostAssocReq
8623(
8624 WDI_PostAssocReqParamsType* pwdiPostAssocReqParams,
8625 WDI_PostAssocRspCb wdiPostAssocRspCb,
8626 void* pUserData
8627);
8628
8629/**
8630 @brief WDI_DelSTAReq will be called when the upper MAC when an
8631 association with another STA has ended and the station
8632 must be deleted from HW. Upon the call of this API the
8633 WLAN DAL will pack and send a HAL Del STA request
8634 message to the lower RIVA sub-system if DAL is in state
8635 STARTED.
8636
8637 In state BUSY this request will be queued. Request won't
8638 be allowed in any other state.
8639
8640 WDI_PostAssocReq must have been called.
8641
8642 @param wdiDelSTAParams: the Del STA parameters as specified by
8643 the Device Interface
8644
8645 wdiDelSTARspCb: callback for passing back the response
8646 of the del STA operation received from the device
8647
8648 pUserData: user data will be passed back with the
8649 callback
8650
8651 @see WDI_PostAssocReq
8652 @return Result of the function call
8653*/
8654WDI_Status
8655WDI_DelSTAReq
8656(
8657 WDI_DelSTAReqParamsType* pwdiDelSTAParams,
8658 WDI_DelSTARspCb wdiDelSTARspCb,
8659 void* pUserData
8660);
8661
8662/*========================================================================
8663
8664 SECURITY APIs
8665
8666==========================================================================*/
8667
8668/**
8669 @brief WDI_SetBSSKeyReq will be called when the upper MAC ito
8670 install a BSS encryption key on the HW. Upon the call of
8671 this API the WLAN DAL will pack and send a HAL Start
8672 request message to the lower RIVA sub-system if DAL is
8673 in state STARTED.
8674
8675 In state BUSY this request will be queued. Request won't
8676 be allowed in any other state.
8677
8678 WDI_PostAssocReq must have been called.
8679
8680 @param wdiSetBSSKeyParams: the BSS Key set parameters as
8681 specified by the Device Interface
8682
8683 wdiSetBSSKeyRspCb: callback for passing back the
8684 response of the set BSS Key operation received from the
8685 device
8686
8687 pUserData: user data will be passed back with the
8688 callback
8689
8690 @see WDI_PostAssocReq
8691 @return Result of the function call
8692*/
8693WDI_Status
8694WDI_SetBSSKeyReq
8695(
8696 WDI_SetBSSKeyReqParamsType* pwdiSetBSSKeyParams,
8697 WDI_SetBSSKeyRspCb wdiSetBSSKeyRspCb,
8698 void* pUserData
8699);
8700
8701
8702/**
8703 @brief WDI_RemoveBSSKeyReq will be called when the upper MAC to
8704 uninstall a BSS key from HW. Upon the call of this API
8705 the WLAN DAL will pack and send a HAL Remove BSS Key
8706 request message to the lower RIVA sub-system if DAL is
8707 in state STARTED.
8708
8709 In state BUSY this request will be queued. Request won't
8710 be allowed in any other state.
8711
8712 WDI_SetBSSKeyReq must have been called.
8713
8714 @param wdiRemoveBSSKeyParams: the remove BSS key parameters as
8715 specified by the Device Interface
8716
8717 wdiRemoveBSSKeyRspCb: callback for passing back the
8718 response of the remove BSS key operation received from
8719 the device
8720
8721 pUserData: user data will be passed back with the
8722 callback
8723
8724 @see WDI_SetBSSKeyReq
8725 @return Result of the function call
8726*/
8727WDI_Status
8728WDI_RemoveBSSKeyReq
8729(
8730 WDI_RemoveBSSKeyReqParamsType* pwdiRemoveBSSKeyParams,
8731 WDI_RemoveBSSKeyRspCb wdiRemoveBSSKeyRspCb,
8732 void* pUserData
8733);
8734
8735
8736/**
8737 @brief WDI_SetSTAKeyReq will be called when the upper MAC is
8738 ready to install a STA(ast) encryption key in HW. Upon
8739 the call of this API the WLAN DAL will pack and send a
8740 HAL Set STA Key request message to the lower RIVA
8741 sub-system if DAL is in state STARTED.
8742
8743 In state BUSY this request will be queued. Request won't
8744 be allowed in any other state.
8745
8746 WDI_PostAssocReq must have been called.
8747
8748 @param wdiSetSTAKeyParams: the set STA key parameters as
8749 specified by the Device Interface
8750
8751 wdiSetSTAKeyRspCb: callback for passing back the
8752 response of the set STA key operation received from the
8753 device
8754
8755 pUserData: user data will be passed back with the
8756 callback
8757
8758 @see WDI_PostAssocReq
8759 @return Result of the function call
8760*/
8761WDI_Status
8762WDI_SetSTAKeyReq
8763(
8764 WDI_SetSTAKeyReqParamsType* pwdiSetSTAKeyParams,
8765 WDI_SetSTAKeyRspCb wdiSetSTAKeyRspCb,
8766 void* pUserData
8767);
8768
8769
8770/**
8771 @brief WDI_RemoveSTAKeyReq will be called when the upper MAC
8772 wants to unistall a previously set STA key in HW. Upon
8773 the call of this API the WLAN DAL will pack and send a
8774 HAL Remove STA Key request message to the lower RIVA
8775 sub-system if DAL is in state STARTED.
8776
8777 In state BUSY this request will be queued. Request won't
8778 be allowed in any other state.
8779
8780 WDI_SetSTAKeyReq must have been called.
8781
8782 @param wdiRemoveSTAKeyParams: the remove STA key parameters as
8783 specified by the Device Interface
8784
8785 wdiRemoveSTAKeyRspCb: callback for passing back the
8786 response of the remove STA key operation received from
8787 the device
8788
8789 pUserData: user data will be passed back with the
8790 callback
8791
8792 @see WDI_SetSTAKeyReq
8793 @return Result of the function call
8794*/
8795WDI_Status
8796WDI_RemoveSTAKeyReq
8797(
8798 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTAKeyParams,
8799 WDI_RemoveSTAKeyRspCb wdiRemoveSTAKeyRspCb,
8800 void* pUserData
8801);
8802
8803/**
8804 @brief WDI_SetSTABcastKeyReq will be called when the upper MAC
8805 wants to install a STA Bcast encryption key on the HW.
8806 Upon the call of this API the WLAN DAL will pack and
8807 send a HAL Start request message to the lower RIVA
8808 sub-system if DAL is in state STARTED.
8809
8810 In state BUSY this request will be queued. Request won't
8811 be allowed in any other state.
8812
8813 WDI_PostAssocReq must have been called.
8814
8815 @param pwdiSetSTABcastKeyParams: the BSS Key set parameters as
8816 specified by the Device Interface
8817
8818 wdiSetSTABcastKeyRspCb: callback for passing back the
8819 response of the set BSS Key operation received from the
8820 device
8821
8822 pUserData: user data will be passed back with the
8823 callback
8824
8825 @see WDI_PostAssocReq
8826 @return Result of the function call
8827*/
8828WDI_Status
8829WDI_SetSTABcastKeyReq
8830(
8831 WDI_SetSTAKeyReqParamsType* pwdiSetSTABcastKeyParams,
8832 WDI_SetSTAKeyRspCb wdiSetSTABcastKeyRspCb,
8833 void* pUserData
8834);
8835
8836
8837/**
8838 @brief WDI_RemoveSTABcastKeyReq will be called when the upper
8839 MAC to uninstall a STA Bcast key from HW. Upon the call
8840 of this API the WLAN DAL will pack and send a HAL Remove
8841 STA Bcast Key request message to the lower RIVA
8842 sub-system if DAL is in state STARTED.
8843
8844 In state BUSY this request will be queued. Request won't
8845 be allowed in any other state.
8846
8847 WDI_SetSTABcastKeyReq must have been called.
8848
8849 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
8850 parameters as specified by the Device
8851 Interface
8852
8853 wdiRemoveSTABcastKeyRspCb: callback for passing back the
8854 response of the remove STA Bcast key operation received
8855 from the device
8856
8857 pUserData: user data will be passed back with the
8858 callback
8859
8860 @see WDI_SetSTABcastKeyReq
8861 @return Result of the function call
8862*/
8863WDI_Status
8864WDI_RemoveSTABcastKeyReq
8865(
8866 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTABcastKeyParams,
8867 WDI_RemoveSTAKeyRspCb wdiRemoveSTABcastKeyRspCb,
8868 void* pUserData
8869);
8870
schang86c22c42013-03-13 18:41:24 -07008871
8872/**
8873 @brief WDI_SetTxPowerReq will be called when the upper
8874 MAC wants to set Tx Power to HW.
8875 In state BUSY this request will be queued. Request won't
8876 be allowed in any other state.
8877
8878
8879 @param pwdiSetTxPowerParams: set TS Power parameters
8880 BSSID and target TX Power with dbm included
8881
8882 wdiReqStatusCb: callback for passing back the response
8883
8884 pUserData: user data will be passed back with the
8885 callback
8886
8887 @return Result of the function call
8888*/
8889WDI_Status
8890WDI_SetTxPowerReq
8891(
8892 WDI_SetTxPowerParamsType* pwdiSetTxPowerParams,
8893 WDA_SetTxPowerRspCb wdiReqStatusCb,
8894 void* pUserData
8895);
8896
Jeff Johnson295189b2012-06-20 16:38:30 -07008897/**
8898 @brief WDI_SetMaxTxPowerReq will be called when the upper
8899 MAC wants to set Max Tx Power to HW. Upon the
8900 call of this API the WLAN DAL will pack and send a HAL
8901 Remove STA Bcast Key request message to the lower RIVA
8902 sub-system if DAL is in state STARTED.
8903
8904 In state BUSY this request will be queued. Request won't
8905 be allowed in any other state.
8906
8907 WDI_SetSTABcastKeyReq must have been called.
8908
8909 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
8910 parameters as specified by the Device
8911 Interface
8912
8913 wdiRemoveSTABcastKeyRspCb: callback for passing back the
8914 response of the remove STA Bcast key operation received
8915 from the device
8916
8917 pUserData: user data will be passed back with the
8918 callback
8919
8920 @see WDI_SetMaxTxPowerReq
8921 @return Result of the function call
8922*/
8923WDI_Status
8924WDI_SetMaxTxPowerReq
8925(
8926 WDI_SetMaxTxPowerParamsType* pwdiSetMaxTxPowerParams,
8927 WDA_SetMaxTxPowerRspCb wdiReqStatusCb,
8928 void* pUserData
8929);
8930
Arif Hussaina5ebce02013-08-09 15:09:58 -07008931/**
8932 @brief WDI_SetMaxTxPowerPerBandReq will be called when the upper
8933 MAC wants to set Max Tx Power to HW for specific band. Upon the
8934 call of this API the WLAN DAL will pack and send a HAL
8935 Set Max Tx Power Per Band request message to the lower RIVA
8936 sub-system if DAL is in state STARTED.
8937
8938 In state BUSY this request will be queued. Request won't
8939 be allowed in any other state.
8940
8941
8942 @param WDI_SetMaxTxPowerPerBandParamsType: Max Tx Per Band Info
8943
8944 WDA_SetMaxTxPowerPerBandRspCb: This callback is invoked by DAL
8945 when it has received a set max Tx Power Per Band response from
8946 the underlying device.
8947
8948 pUserData: user data will be passed back with the
8949 callback
8950
8951 @see WDI_SetMaxTxPowerPerBandReq
8952 @return Result of the function call
8953*/
8954WDI_Status
8955WDI_SetMaxTxPowerPerBandReq
8956(
8957 WDI_SetMaxTxPowerPerBandParamsType* pwdiSetMaxTxPowerPerBandParams,
8958 WDA_SetMaxTxPowerPerBandRspCb wdiReqStatusCb,
8959 void* pUserData
8960);
8961
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08008962#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07008963/**
8964 @brief WDI_TSMStatsReq will be called by the upper MAC to fetch
8965 Traffic Stream metrics.
8966 In state BUSY this request will be queued. Request won't
8967 be allowed in any other state.
8968
8969 @param wdiAddTsReqParams: the add TS parameters as specified by
8970 the Device Interface
8971
8972 wdiAddTsRspCb: callback for passing back the response of
8973 the add TS operation received from the device
8974
8975 pUserData: user data will be passed back with the
8976 callback
8977
8978 @see WDI_PostAssocReq
8979 @return Result of the function call
8980*/
8981WDI_Status
8982WDI_TSMStatsReq
8983(
8984 WDI_TSMStatsReqParamsType* pwdiTsmStatsReqParams,
8985 WDI_TsmRspCb wdiTsmStatsRspCb,
8986 void* pUserData
8987);
8988
8989
8990#endif
8991
8992/*========================================================================
8993
8994 QoS and BA APIs
8995
8996==========================================================================*/
8997
8998/**
8999 @brief WDI_AddTSReq will be called when the upper MAC to inform
9000 the device of a successful add TSpec negotiation. HW
9001 needs to receive the TSpec Info from the UMAC in order
9002 to configure properly the QoS data traffic. Upon the
9003 call of this API the WLAN DAL will pack and send a HAL
9004 Add TS request message to the lower RIVA sub-system if
9005 DAL is in state STARTED.
9006
9007 In state BUSY this request will be queued. Request won't
9008 be allowed in any other state.
9009
9010 WDI_PostAssocReq must have been called.
9011
9012 @param wdiAddTsReqParams: the add TS parameters as specified by
9013 the Device Interface
9014
9015 wdiAddTsRspCb: callback for passing back the response of
9016 the add TS operation received from the device
9017
9018 pUserData: user data will be passed back with the
9019 callback
9020
9021 @see WDI_PostAssocReq
9022 @return Result of the function call
9023*/
9024WDI_Status
9025WDI_AddTSReq
9026(
9027 WDI_AddTSReqParamsType* pwdiAddTsReqParams,
9028 WDI_AddTsRspCb wdiAddTsRspCb,
9029 void* pUserData
9030);
9031
9032
9033
9034/**
9035 @brief WDI_DelTSReq will be called when the upper MAC has ended
9036 admission on a specific AC. This is to inform HW that
9037 QoS traffic parameters must be rest. Upon the call of
9038 this API the WLAN DAL will pack and send a HAL Del TS
9039 request message to the lower RIVA sub-system if DAL is
9040 in state STARTED.
9041
9042 In state BUSY this request will be queued. Request won't
9043 be allowed in any other state.
9044
9045 WDI_AddTSReq must have been called.
9046
9047 @param wdiDelTsReqParams: the del TS parameters as specified by
9048 the Device Interface
9049
9050 wdiDelTsRspCb: callback for passing back the response of
9051 the del TS operation received from the device
9052
9053 pUserData: user data will be passed back with the
9054 callback
9055
9056 @see WDI_AddTSReq
9057 @return Result of the function call
9058*/
9059WDI_Status
9060WDI_DelTSReq
9061(
9062 WDI_DelTSReqParamsType* pwdiDelTsReqParams,
9063 WDI_DelTsRspCb wdiDelTsRspCb,
9064 void* pUserData
9065);
9066
9067
9068
9069/**
9070 @brief WDI_UpdateEDCAParams will be called when the upper MAC
9071 wishes to update the EDCA parameters used by HW for QoS
9072 data traffic. Upon the call of this API the WLAN DAL
9073 will pack and send a HAL Update EDCA Params request
9074 message to the lower RIVA sub-system if DAL is in state
9075 STARTED.
9076
9077 In state BUSY this request will be queued. Request won't
9078 be allowed in any other state.
9079
9080 WDI_PostAssocReq must have been called.
9081
9082 @param wdiUpdateEDCAParams: the start parameters as specified
9083 by the Device Interface
9084
9085 wdiUpdateEDCAParamsRspCb: callback for passing back the
9086 response of the start operation received from the device
9087
9088 pUserData: user data will be passed back with the
9089 callback
9090
9091 @see WDI_PostAssocReq
9092 @return Result of the function call
9093*/
9094WDI_Status
9095WDI_UpdateEDCAParams
9096(
9097 WDI_UpdateEDCAParamsType* pwdiUpdateEDCAParams,
9098 WDI_UpdateEDCAParamsRspCb wdiUpdateEDCAParamsRspCb,
9099 void* pUserData
9100);
9101
9102
9103
9104/**
9105 @brief WDI_AddBASessionReq will be called when the upper MAC has setup
9106 successfully a BA session and needs to notify the HW for
9107 the appropriate settings to take place. Upon the call of
9108 this API the WLAN DAL will pack and send a HAL Add BA
9109 request message to the lower RIVA sub-system if DAL is
9110 in state STARTED.
9111
9112 In state BUSY this request will be queued. Request won't
9113 be allowed in any other state.
9114
9115 WDI_PostAssocReq must have been called.
9116
9117 @param wdiAddBAReqParams: the add BA parameters as specified by
9118 the Device Interface
9119
9120 wdiAddBARspCb: callback for passing back the response of
9121 the add BA operation received from the device
9122
9123 pUserData: user data will be passed back with the
9124 callback
9125
9126 @see WDI_PostAssocReq
9127 @return Result of the function call
9128*/
9129WDI_Status
9130WDI_AddBASessionReq
9131(
9132 WDI_AddBASessionReqParamsType* pwdiAddBASessionReqParams,
9133 WDI_AddBASessionRspCb wdiAddBASessionRspCb,
9134 void* pUserData
9135);
9136
9137
9138/**
9139 @brief WDI_DelBAReq will be called when the upper MAC wants to
9140 inform HW that it has deleted a previously created BA
9141 session. Upon the call of this API the WLAN DAL will
9142 pack and send a HAL Del BA request message to the lower
9143 RIVA sub-system if DAL is in state STARTED.
9144
9145 In state BUSY this request will be queued. Request won't
9146 be allowed in any other state.
9147
9148 WDI_AddBAReq must have been called.
9149
9150 @param wdiDelBAReqParams: the del BA parameters as specified by
9151 the Device Interface
9152
9153 wdiDelBARspCb: callback for passing back the response of
9154 the del BA operation received from the device
9155
9156 pUserData: user data will be passed back with the
9157 callback
9158
9159 @see WDI_AddBAReq
9160 @return Result of the function call
9161*/
9162WDI_Status
9163WDI_DelBAReq
9164(
9165 WDI_DelBAReqParamsType* pwdiDelBAReqParams,
9166 WDI_DelBARspCb wdiDelBARspCb,
9167 void* pUserData
9168);
9169
9170/**
9171 @brief WDI_UpdateBeaconParamsReq will be called when the upper MAC wants to
9172 inform HW that there is a change in the beacon parameters
9173 Upon the call of this API the WLAN DAL will
9174 pack and send a UpdateBeacon Params message to the lower
9175 RIVA sub-system if DAL is in state STARTED.
9176
9177 In state BUSY this request will be queued. Request won't
9178 be allowed in any other state.
9179
9180 WDI_UpdateBeaconParamsReq must have been called.
9181
9182 @param WDI_UpdateBeaconParamsType: the Update Beacon parameters as specified by
9183 the Device Interface
9184
9185 WDI_UpdateBeaconParamsRspCb: callback for passing back the response of
9186 the Update Beacon Params operation received from the device
9187
9188 pUserData: user data will be passed back with the
9189 callback
9190
9191 @see WDI_AddBAReq
9192 @return Result of the function call
9193*/
9194
9195WDI_Status
9196WDI_UpdateBeaconParamsReq
9197(
9198 WDI_UpdateBeaconParamsType * pwdiUpdateBeaconParams,
9199 WDI_UpdateBeaconParamsRspCb wdiUpdateBeaconParamsRspCb,
9200 void* pUserData
9201);
9202
9203
9204/**
9205 @brief WDI_SendBeaconParamsReq will be called when the upper MAC wants to
9206 update the beacon template to be transmitted as BT MAP STA/IBSS/Soft AP
9207 Upon the call of this API the WLAN DAL will
9208 pack and send the beacon Template message to the lower
9209 RIVA sub-system if DAL is in state STARTED.
9210
9211 In state BUSY this request will be queued. Request won't
9212 be allowed in any other state.
9213
9214 WDI_SendBeaconParamsReq must have been called.
9215
9216 @param WDI_SendBeaconParamsType: the Update Beacon parameters as specified by
9217 the Device Interface
9218
9219 WDI_SendBeaconParamsRspCb: callback for passing back the response of
9220 the Send Beacon Params operation received from the device
9221
9222 pUserData: user data will be passed back with the
9223 callback
9224
9225 @see WDI_AddBAReq
9226 @return Result of the function call
9227*/
9228
9229WDI_Status
9230WDI_SendBeaconParamsReq
9231(
9232 WDI_SendBeaconParamsType* pwdiSendBeaconParams,
9233 WDI_SendBeaconParamsRspCb wdiSendBeaconParamsRspCb,
9234 void* pUserData
9235);
9236
9237
9238/**
9239 @brief WDI_UpdateProbeRspTemplateReq will be called when the
9240 upper MAC wants to update the probe response template to
9241 be transmitted as Soft AP
9242 Upon the call of this API the WLAN DAL will
9243 pack and send the probe rsp template message to the
9244 lower RIVA sub-system if DAL is in state STARTED.
9245
9246 In state BUSY this request will be queued. Request won't
9247 be allowed in any other state.
9248
9249
9250 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
9251 specified by the Device Interface
9252
9253 wdiSendBeaconParamsRspCb: callback for passing back the
9254 response of the Send Beacon Params operation received
9255 from the device
9256
9257 pUserData: user data will be passed back with the
9258 callback
9259
9260 @see WDI_AddBAReq
9261 @return Result of the function call
9262*/
9263
9264WDI_Status
9265WDI_UpdateProbeRspTemplateReq
9266(
9267 WDI_UpdateProbeRspTemplateParamsType* pwdiUpdateProbeRspParams,
9268 WDI_UpdateProbeRspTemplateRspCb wdiSendBeaconParamsRspCb,
9269 void* pUserData
9270);
9271
Jeff Johnson295189b2012-06-20 16:38:30 -07009272/**
9273 @brief WDI_SetP2PGONOAReq will be called when the
9274 upper MAC wants to send Notice of Absence
9275 Upon the call of this API the WLAN DAL will
9276 pack and send the probe rsp template message to the
9277 lower RIVA sub-system if DAL is in state STARTED.
9278
9279 In state BUSY this request will be queued. Request won't
9280 be allowed in any other state.
9281
9282
9283 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
9284 specified by the Device Interface
9285
9286 wdiSendBeaconParamsRspCb: callback for passing back the
9287 response of the Send Beacon Params operation received
9288 from the device
9289
9290 pUserData: user data will be passed back with the
9291 callback
9292
9293 @see WDI_AddBAReq
9294 @return Result of the function call
9295*/
9296WDI_Status
9297WDI_SetP2PGONOAReq
9298(
9299 WDI_SetP2PGONOAReqParamsType* pwdiP2PGONOAReqParams,
9300 WDI_SetP2PGONOAReqParamsRspCb wdiP2PGONOAReqParamsRspCb,
9301 void* pUserData
9302);
Jeff Johnson295189b2012-06-20 16:38:30 -07009303
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05309304/**
9305 @brief WDI_SetTDLSLinkEstablishReq will be called when the
9306 upper MAC wants to send TDLS Link Establish Request Parameters
9307 Upon the call of this API the WLAN DAL will
9308 pack and send the TDLS Link Establish Request message to the
9309 lower RIVA sub-system if DAL is in state STARTED.
9310
9311 In state BUSY this request will be queued. Request won't
9312 be allowed in any other state.
9313
9314
9315 @param pwdiTDLSLinkEstablishReqParams: TDLS Peer Parameters
9316 for Link Establishment (Used for PUAPSD , TDLS Off Channel ...)
9317
9318 wdiTDLSLinkEstablishReqRspCb: callback for passing back the
9319 response of the TDLS Link Establish request received
9320 from the device
9321
9322 pUserData: user data will be passed back with the
9323 callback
9324
9325 @see
9326 @return Result of the function call
9327*/
9328WDI_Status
9329WDI_SetTDLSLinkEstablishReq
9330(
9331 WDI_SetTDLSLinkEstablishReqParamsType* pwdiTDLSLinkEstablishReqParams,
9332 WDI_SetTDLSLinkEstablishReqParamsRspCb wdiTDLSLinkEstablishReqRspCb,
9333 void* pUserData
9334);
Jeff Johnson295189b2012-06-20 16:38:30 -07009335
Atul Mittalc0f739f2014-07-31 13:47:47 +05309336WDI_Status
9337WDI_SetTDLSChanSwitchReq
9338(
9339 WDI_SetTDLSChanSwitchReqParamsType* pwdiTDLSChanSwitchReqParams,
9340 WDI_SetTDLSChanSwitchReqParamsRspCb wdiTDLSChanSwitchRReqRspCb,
9341 void* pUserData
9342);
Jeff Johnson295189b2012-06-20 16:38:30 -07009343/*========================================================================
9344
9345 Power Save APIs
9346
9347==========================================================================*/
9348
9349/**
9350 @brief WDI_SetPwrSaveCfgReq will be called when the upper MAC
9351 wants to set the power save related configurations of
9352 the WLAN Device. Upon the call of this API the WLAN DAL
9353 will pack and send a HAL Update CFG request message to
9354 the lower RIVA sub-system if DAL is in state STARTED.
9355
9356 In state BUSY this request will be queued. Request won't
9357 be allowed in any other state.
9358
9359 WDI_Start must have been called.
9360
9361 @param pwdiPowerSaveCfg: the power save cfg parameters as
9362 specified by the Device Interface
9363
9364 wdiSetPwrSaveCfgCb: callback for passing back the
9365 response of the set power save cfg operation received
9366 from the device
9367
9368 pUserData: user data will be passed back with the
9369 callback
9370
9371 @see WDI_Start
9372 @return Result of the function call
9373*/
9374WDI_Status
9375WDI_SetPwrSaveCfgReq
9376(
9377 WDI_UpdateCfgReqParamsType* pwdiPowerSaveCfg,
9378 WDI_SetPwrSaveCfgCb wdiSetPwrSaveCfgCb,
9379 void* pUserData
9380);
9381
9382/**
9383 @brief WDI_EnterImpsReq will be called when the upper MAC to
9384 request the device to get into IMPS power state. Upon
9385 the call of this API the WLAN DAL will send a HAL Enter
9386 IMPS request message to the lower RIVA sub-system if DAL
9387 is in state STARTED.
9388
9389 In state BUSY this request will be queued. Request won't
9390 be allowed in any other state.
9391
9392
9393 @param wdiEnterImpsRspCb: callback for passing back the
9394 response of the Enter IMPS operation received from the
9395 device
9396
9397 pUserData: user data will be passed back with the
9398 callback
9399
9400 @see WDI_Start
9401 @return Result of the function call
9402*/
9403WDI_Status
9404WDI_EnterImpsReq
9405(
Mihir Shetea4306052014-03-25 00:02:54 +05309406 WDI_EnterImpsReqParamsType *pwdiEnterImpsReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009407 WDI_EnterImpsRspCb wdiEnterImpsRspCb,
9408 void* pUserData
9409);
9410
9411/**
9412 @brief WDI_ExitImpsReq will be called when the upper MAC to
9413 request the device to get out of IMPS power state. Upon
9414 the call of this API the WLAN DAL will send a HAL Exit
9415 IMPS request message to the lower RIVA sub-system if DAL
9416 is in state STARTED.
9417
9418 In state BUSY this request will be queued. Request won't
9419 be allowed in any other state.
9420
9421
9422
9423 @param wdiExitImpsRspCb: callback for passing back the response
9424 of the Exit IMPS operation received from the device
9425
9426 pUserData: user data will be passed back with the
9427 callback
9428
9429 @see WDI_Start
9430 @return Result of the function call
9431*/
9432WDI_Status
9433WDI_ExitImpsReq
9434(
Mahesh A Saptasagar329813b2014-12-15 12:16:51 +05309435 WDI_ExitImpsReqParamsType *pwdiExitImpsReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009436 WDI_ExitImpsRspCb wdiExitImpsRspCb,
9437 void* pUserData
9438);
9439
9440/**
9441 @brief WDI_EnterBmpsReq will be called when the upper MAC to
9442 request the device to get into BMPS power state. Upon
9443 the call of this API the WLAN DAL will pack and send a
9444 HAL Enter BMPS request message to the lower RIVA
9445 sub-system if DAL is in state STARTED.
9446
9447 In state BUSY this request will be queued. Request won't
9448 be allowed in any other state.
9449
9450 WDI_PostAssocReq must have been called.
9451
9452 @param pwdiEnterBmpsReqParams: the Enter BMPS parameters as
9453 specified by the Device Interface
9454
9455 wdiEnterBmpsRspCb: callback for passing back the
9456 response of the Enter BMPS operation received from the
9457 device
9458
9459 pUserData: user data will be passed back with the
9460 callback
9461
9462 @see WDI_PostAssocReq
9463 @return Result of the function call
9464*/
9465WDI_Status
9466WDI_EnterBmpsReq
9467(
9468 WDI_EnterBmpsReqParamsType *pwdiEnterBmpsReqParams,
9469 WDI_EnterBmpsRspCb wdiEnterBmpsRspCb,
9470 void* pUserData
9471);
9472
9473/**
9474 @brief WDI_ExitBmpsReq will be called when the upper MAC to
9475 request the device to get out of BMPS power state. Upon
9476 the call of this API the WLAN DAL will pack and send a
9477 HAL Exit BMPS request message to the lower RIVA
9478 sub-system if DAL is in state STARTED.
9479
9480 In state BUSY this request will be queued. Request won't
9481 be allowed in any other state.
9482
9483 WDI_PostAssocReq must have been called.
9484
9485 @param pwdiExitBmpsReqParams: the Exit BMPS parameters as
9486 specified by the Device Interface
9487
9488 wdiExitBmpsRspCb: callback for passing back the response
9489 of the Exit BMPS operation received from the device
9490
9491 pUserData: user data will be passed back with the
9492 callback
9493
9494 @see WDI_PostAssocReq
9495 @return Result of the function call
9496*/
9497WDI_Status
9498WDI_ExitBmpsReq
9499(
9500 WDI_ExitBmpsReqParamsType *pwdiExitBmpsReqParams,
9501 WDI_ExitBmpsRspCb wdiExitBmpsRspCb,
9502 void* pUserData
9503);
9504
9505/**
9506 @brief WDI_EnterUapsdReq will be called when the upper MAC to
9507 request the device to get into UAPSD power state. Upon
9508 the call of this API the WLAN DAL will pack and send a
9509 HAL Enter UAPSD request message to the lower RIVA
9510 sub-system if DAL is in state STARTED.
9511
9512 In state BUSY this request will be queued. Request won't
9513 be allowed in any other state.
9514
9515 WDI_PostAssocReq must have been called.
9516 WDI_SetUapsdAcParamsReq must have been called.
9517
9518 @param pwdiEnterUapsdReqParams: the Enter UAPSD parameters as
9519 specified by the Device Interface
9520
9521 wdiEnterUapsdRspCb: callback for passing back the
9522 response of the Enter UAPSD operation received from the
9523 device
9524
9525 pUserData: user data will be passed back with the
9526 callback
9527
9528 @see WDI_PostAssocReq, WDI_SetUapsdAcParamsReq
9529 @return Result of the function call
9530*/
9531WDI_Status
9532WDI_EnterUapsdReq
9533(
9534 WDI_EnterUapsdReqParamsType *pwdiEnterUapsdReqParams,
9535 WDI_EnterUapsdRspCb wdiEnterUapsdRspCb,
9536 void* pUserData
9537);
9538
9539/**
9540 @brief WDI_ExitUapsdReq will be called when the upper MAC to
9541 request the device to get out of UAPSD power state. Upon
9542 the call of this API the WLAN DAL will send a HAL Exit
9543 UAPSD request message to the lower RIVA sub-system if
9544 DAL is in state STARTED.
9545
9546 In state BUSY this request will be queued. Request won't
9547 be allowed in any other state.
9548
9549 WDI_PostAssocReq must have been called.
9550
9551 @param wdiExitUapsdRspCb: callback for passing back the
9552 response of the Exit UAPSD operation received from the
9553 device
9554
9555 pUserData: user data will be passed back with the
9556 callback
9557
9558 @see WDI_PostAssocReq
9559 @return Result of the function call
9560*/
9561WDI_Status
9562WDI_ExitUapsdReq
9563(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07009564 WDI_ExitUapsdReqParamsType *pwdiExitUapsdReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009565 WDI_ExitUapsdRspCb wdiExitUapsdRspCb,
9566 void* pUserData
9567);
9568
9569/**
9570 @brief WDI_UpdateUapsdParamsReq will be called when the upper
9571 MAC wants to set the UAPSD related configurations
9572 of an associated STA (while acting as an AP) to the WLAN
9573 Device. Upon the call of this API the WLAN DAL will pack
9574 and send a HAL Update UAPSD params request message to
9575 the lower RIVA sub-system if DAL is in state STARTED.
9576
9577 In state BUSY this request will be queued. Request won't
9578 be allowed in any other state.
9579
9580 WDI_ConfigBSSReq must have been called.
9581
9582 @param pwdiUpdateUapsdReqParams: the UAPSD parameters
9583 as specified by the Device Interface
9584
9585 wdiUpdateUapsdParamsCb: callback for passing back the
9586 response of the update UAPSD params operation received
9587 from the device
9588
9589 pUserData: user data will be passed back with the
9590 callback
9591
9592 @see WDI_ConfigBSSReq
9593 @return Result of the function call
9594*/
9595WDI_Status
9596WDI_UpdateUapsdParamsReq
9597(
9598 WDI_UpdateUapsdReqParamsType *pwdiUpdateUapsdReqParams,
9599 WDI_UpdateUapsdParamsCb wdiUpdateUapsdParamsCb,
9600 void* pUserData
9601);
9602
9603/**
9604 @brief WDI_SetUapsdAcParamsReq will be called when the upper
9605 MAC wants to set the UAPSD related configurations before
9606 requesting for enter UAPSD power state to the WLAN
9607 Device. Upon the call of this API the WLAN DAL will pack
9608 and send a HAL Set UAPSD params request message to
9609 the lower RIVA sub-system if DAL is in state STARTED.
9610
9611 In state BUSY this request will be queued. Request won't
9612 be allowed in any other state.
9613
9614 WDI_PostAssocReq must have been called.
9615
9616 @param pwdiUapsdInfo: the UAPSD parameters as specified by
9617 the Device Interface
9618
9619 wdiSetUapsdAcParamsCb: callback for passing back the
9620 response of the set UAPSD params operation received from
9621 the device
9622
9623 pUserData: user data will be passed back with the
9624 callback
9625
9626 @see WDI_PostAssocReq
9627 @return Result of the function call
9628*/
9629WDI_Status
9630WDI_SetUapsdAcParamsReq
9631(
9632 WDI_SetUapsdAcParamsReqParamsType* pwdiPowerSaveCfg,
9633 WDI_SetUapsdAcParamsCb wdiSetUapsdAcParamsCb,
9634 void* pUserData
9635);
Sachin Ahuja715aafc2015-07-21 23:35:10 +05309636
9637
9638/**
9639 @brief WDI_FatalEventLogsReq will be called when the upper
9640 MAC wants to send the fatal event req. Upon the call of
9641 this API the WLAN DAL will pack and send a HAL
9642 Fatal event request message to the lower RIVA sub-system.
9643
9644 In state BUSY this request will be queued. Request won't
9645 be allowed in any other state.
9646
9647
9648 @param pwdiFatalEventLogsReqInfo: the Fatal event logs params
9649 as specified by the Device Interface
9650
9651 wdiFatalEventLogsRspCb: callback for passing back the
9652 response of the fatal event operation received
9653 from the device
9654
9655 pUserData: user data will be passed back with the
9656 callback
9657
9658 @return Result of the function call
9659*/
9660
9661WDI_Status
9662WDI_FatalEventLogsReq
9663(
9664 WDI_FatalEventLogsReqInfoType *pwdiFatalEventLogsReqInfo,
9665 WDI_FatalEventLogsRspCb wdiFatalEventLogsRspCb,
9666 void* pUserData
9667);
9668
Siddharth Bhal64246172015-02-27 01:04:37 +05309669/**
9670 @brief WDI_GetFrameLogReq will be called when the upper
9671 MAC wants to initialize frame logging. Upon the call of
9672 this API the WLAN DAL will pack and send a HAL
9673 Frame logging init request message to
9674 the lower RIVA sub-system.
9675
9676 In state BUSY this request will be queued. Request won't
9677 be allowed in any other state.
9678
9679
9680 @param pwdiGetFrameLogReqInfo: the Frame Logging params
9681 as specified by the Device Interface
9682
9683 wdiGetFrameLogReqCb: callback for passing back the
9684 response of the frame logging init operation received
9685 from the device
9686
9687 pUserData: user data will be passed back with the
9688 callback
9689
9690 @return Result of the function call
9691*/
9692WDI_Status
9693WDI_GetFrameLogReq
9694(
9695 WDI_GetFrameLogReqInfoType *pwdiGetFrameLogReqInfo,
9696 WDI_GetFrameLogRspCb wdiGetFrameLogReqCb,
9697 void* pUserData
9698);
Jeff Johnson295189b2012-06-20 16:38:30 -07009699
9700/**
Siddharth Bhald1be97f2015-05-27 22:39:59 +05309701 @brief WDI_FWLoggingInitReq will be called when the upper
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05309702 MAC wants to initialize frame logging. Upon the call of
9703 this API the WLAN DAL will pack and send a HAL
9704 Frame logging init request message to
9705 the lower RIVA sub-system.
9706
9707 In state BUSY this request will be queued. Request won't
9708 be allowed in any other state.
9709
9710
Siddharth Bhald1be97f2015-05-27 22:39:59 +05309711 @param pwdiFWLoggingInitReqParams: the Frame Logging params
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05309712 as specified by the Device Interface
9713
Siddharth Bhald1be97f2015-05-27 22:39:59 +05309714 wdiFWLoggingInitReqCb: callback for passing back the
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05309715 response of the frame logging init operation received
9716 from the device
9717
9718 pUserData: user data will be passed back with the
9719 callback
9720
9721 @return Result of the function call
9722*/
9723WDI_Status
Siddharth Bhald1be97f2015-05-27 22:39:59 +05309724WDI_FWLoggingInitReq
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05309725(
Siddharth Bhald1be97f2015-05-27 22:39:59 +05309726 WDI_FWLoggingInitReqInfoType *pwdiFWLoggingInitReqInfo,
9727 WDI_FWLoggingInitRspCb wdiFWLoggingInitReqCb,
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05309728 void* pUserData
9729);
9730
9731/**
Gupta, Kapil7c34b322015-09-30 13:12:35 +05309732 @brief WDI_StartRssiMonitorReq will be called when the upper
9733 MAC wants to initialize Rssi Monitor on a bssid.
9734 Upon the call of this API the WLAN DAL will pack and
9735 send a HAL Rssi Monitor init request message to
9736 the lower RIVA sub-system.
9737
9738 In state BUSY this request will be queued. Request won't
9739 be allowed in any other state.
9740
9741
9742 @param pwdiRssiMonitorInfo: the Rssi Monitor params
9743 as specified by the Device Interface
9744
9745 wdiRssiMonitorStartRspCb: callback for passing back the
9746 response of the rssi monitor operation received
9747 from the device
9748
9749 pUserData: user data will be passed back with the
9750 callback
9751
9752 @return Result of the function call
9753*/
9754WDI_Status
9755WDI_StartRssiMonitorReq
9756(
9757 WDI_RssiMonitorReqInfoType *pwdiRssiMonitorInfo,
9758 WDI_RssiMonitorStartRspCb wdiRssiMonitorStartRspCb,
9759 void* pUserData
9760);
9761
9762
9763/**
9764 @brief WDI_StopRssiMonitorReq will be called when the upper
9765 MAC wants to stop Rssi Monitor on a bssid.
9766 Upon the call of this API the WLAN DAL will pack and
9767 send a HAL Rssi Monitor stop request message to
9768 the lower RIVA sub-system.
9769
9770 In state BUSY this request will be queued. Request won't
9771 be allowed in any other state.
9772
9773
9774 @param pwdiRssiMonitorInfo: the Rssi Monitor params
9775 as specified by the Device Interface
9776
9777 wdiRssiMonitorStopRspCb: callback for passing back the
9778 response of the rssi monitor operation received
9779 from the device
9780
9781 pUserData: user data will be passed back with the
9782 callback
9783
9784 @return Result of the function call
9785*/
9786WDI_Status
9787WDI_StopRssiMonitorReq
9788(
9789 WDI_RssiMonitorReqInfoType *pwdiRssiMonitorInfo,
9790 WDI_RssiMonitorStopRspCb wdiRssiMonitorStopRspCb,
9791 void* pUserData
9792);
9793
9794/**
Jeff Johnson295189b2012-06-20 16:38:30 -07009795 @brief WDI_ConfigureRxpFilterReq will be called when the upper
9796 MAC wants to set/reset the RXP filters for received pkts
9797 (MC, BC etc.). Upon the call of this API the WLAN DAL will pack
9798 and send a HAL configure RXP filter request message to
9799 the lower RIVA sub-system.
9800
9801 In state BUSY this request will be queued. Request won't
9802 be allowed in any other state.
9803
9804
9805 @param pwdiConfigureRxpFilterReqParams: the RXP
9806 filter as specified by the Device
9807 Interface
9808
9809 wdiConfigureRxpFilterCb: callback for passing back the
9810 response of the configure RXP filter operation received
9811 from the device
9812
9813 pUserData: user data will be passed back with the
9814 callback
9815
9816 @return Result of the function call
9817*/
9818WDI_Status
9819WDI_ConfigureRxpFilterReq
9820(
9821 WDI_ConfigureRxpFilterReqParamsType *pwdiConfigureRxpFilterReqParams,
9822 WDI_ConfigureRxpFilterCb wdiConfigureRxpFilterCb,
9823 void* pUserData
9824);
9825
9826/**
9827 @brief WDI_SetBeaconFilterReq will be called when the upper MAC
9828 wants to set the beacon filters while in power save.
9829 Upon the call of this API the WLAN DAL will pack and
9830 send a Beacon filter request message to the
9831 lower RIVA sub-system.
9832
9833 In state BUSY this request will be queued. Request won't
9834 be allowed in any other state.
9835
9836
9837 @param pwdiBeaconFilterReqParams: the beacon
9838 filter as specified by the Device
9839 Interface
9840
9841 wdiBeaconFilterCb: callback for passing back the
9842 response of the set beacon filter operation received
9843 from the device
9844
9845 pUserData: user data will be passed back with the
9846 callback
9847
9848 @return Result of the function call
9849*/
9850WDI_Status
9851WDI_SetBeaconFilterReq
9852(
9853 WDI_BeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
9854 WDI_SetBeaconFilterCb wdiBeaconFilterCb,
9855 void* pUserData
9856);
9857
9858/**
9859 @brief WDI_RemBeaconFilterReq will be called when the upper MAC
9860 wants to remove the beacon filter for perticular IE
9861 while in power save. Upon the call of this API the WLAN
9862 DAL will pack and send a remove Beacon filter request
9863 message to the lower RIVA sub-system.
9864
9865 In state BUSY this request will be queued. Request won't
9866 be allowed in any other state.
9867
9868
9869 @param pwdiBeaconFilterReqParams: the beacon
9870 filter as specified by the Device
9871 Interface
9872
9873 wdiBeaconFilterCb: callback for passing back the
9874 response of the remove beacon filter operation received
9875 from the device
9876
9877 pUserData: user data will be passed back with the
9878 callback
9879
9880 @return Result of the function call
9881*/
9882WDI_Status
9883WDI_RemBeaconFilterReq
9884(
9885 WDI_RemBeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
9886 WDI_RemBeaconFilterCb wdiBeaconFilterCb,
9887 void* pUserData
9888);
9889
9890/**
9891 @brief WDI_SetRSSIThresholdsReq will be called when the upper
9892 MAC wants to set the RSSI thresholds related
9893 configurations while in power save. Upon the call of
9894 this API the WLAN DAL will pack and send a HAL Set RSSI
9895 thresholds request message to the lower RIVA
9896 sub-system if DAL is in state STARTED.
9897
9898 In state BUSY this request will be queued. Request won't
9899 be allowed in any other state.
9900
9901 WDI_PostAssocReq must have been called.
9902
9903 @param pwdiUapsdInfo: the UAPSD parameters as specified by
9904 the Device Interface
9905
9906 wdiSetUapsdAcParamsCb: callback for passing back the
9907 response of the set UAPSD params operation received from
9908 the device
9909
9910 pUserData: user data will be passed back with the
9911 callback
9912
9913 @see WDI_PostAssocReq
9914 @return Result of the function call
9915*/
9916WDI_Status
9917WDI_SetRSSIThresholdsReq
9918(
9919 WDI_SetRSSIThresholdsReqParamsType* pwdiRSSIThresholdsParams,
9920 WDI_SetRSSIThresholdsCb wdiSetRSSIThresholdsCb,
9921 void* pUserData
9922);
9923
9924/**
9925 @brief WDI_HostOffloadReq will be called when the upper MAC
9926 wants to set the filter to minimize unnecessary host
9927 wakeup due to broadcast traffic while in power save.
9928 Upon the call of this API the WLAN DAL will pack and
9929 send a HAL host offload request message to the
9930 lower RIVA sub-system if DAL is in state STARTED.
9931
9932 In state BUSY this request will be queued. Request won't
9933 be allowed in any other state.
9934
9935 WDI_PostAssocReq must have been called.
9936
9937 @param pwdiHostOffloadParams: the host offload as specified
9938 by the Device Interface
9939
9940 wdiHostOffloadCb: callback for passing back the response
9941 of the host offload operation received from the
9942 device
9943
9944 pUserData: user data will be passed back with the
9945 callback
9946
9947 @see WDI_PostAssocReq
9948 @return Result of the function call
9949*/
9950WDI_Status
9951WDI_HostOffloadReq
9952(
9953 WDI_HostOffloadReqParamsType* pwdiHostOffloadParams,
9954 WDI_HostOffloadCb wdiHostOffloadCb,
9955 void* pUserData
9956);
9957
9958/**
9959 @brief WDI_KeepAliveReq will be called when the upper MAC
9960 wants to set the filter to send NULL or unsolicited ARP responses
9961 and minimize unnecessary host wakeups due to while in power save.
9962 Upon the call of this API the WLAN DAL will pack and
9963 send a HAL Keep Alive request message to the
9964 lower RIVA sub-system if DAL is in state STARTED.
9965
9966 In state BUSY this request will be queued. Request won't
9967 be allowed in any other state.
9968
9969 WDI_PostAssocReq must have been called.
9970
9971 @param pwdiKeepAliveParams: the Keep Alive as specified
9972 by the Device Interface
9973
9974 wdiKeepAliveCb: callback for passing back the response
9975 of the Keep Alive operation received from the
9976 device
9977
9978 pUserData: user data will be passed back with the
9979 callback
9980
9981 @see WDI_PostAssocReq
9982 @return Result of the function call
9983*/
9984WDI_Status
9985WDI_KeepAliveReq
9986(
9987 WDI_KeepAliveReqParamsType* pwdiKeepAliveParams,
9988 WDI_KeepAliveCb wdiKeepAliveCb,
9989 void* pUserData
9990);
9991
9992/**
9993 @brief WDI_WowlAddBcPtrnReq will be called when the upper MAC
9994 wants to set the Wowl Bcast ptrn to minimize unnecessary
9995 host wakeup due to broadcast traffic while in power
9996 save. Upon the call of this API the WLAN DAL will pack
9997 and send a HAL Wowl Bcast ptrn request message to the
9998 lower RIVA sub-system if DAL is in state STARTED.
9999
10000 In state BUSY this request will be queued. Request won't
10001 be allowed in any other state.
10002
10003 WDI_PostAssocReq must have been called.
10004
10005 @param pwdiWowlAddBcPtrnParams: the Wowl bcast ptrn as
10006 specified by the Device Interface
10007
10008 wdiWowlAddBcPtrnCb: callback for passing back the
10009 response of the add Wowl bcast ptrn operation received
10010 from the device
10011
10012 pUserData: user data will be passed back with the
10013 callback
10014
10015 @see WDI_PostAssocReq
10016 @return Result of the function call
10017*/
10018WDI_Status
10019WDI_WowlAddBcPtrnReq
10020(
10021 WDI_WowlAddBcPtrnReqParamsType* pwdiWowlAddBcPtrnParams,
10022 WDI_WowlAddBcPtrnCb wdiWowlAddBcPtrnCb,
10023 void* pUserData
10024);
10025
10026/**
10027 @brief WDI_WowlDelBcPtrnReq will be called when the upper MAC
10028 wants to clear the Wowl Bcast ptrn. Upon the call of
10029 this API the WLAN DAL will pack and send a HAL delete
10030 Wowl Bcast ptrn request message to the lower RIVA
10031 sub-system if DAL is in state STARTED.
10032
10033 In state BUSY this request will be queued. Request won't
10034 be allowed in any other state.
10035
10036 WDI_WowlAddBcPtrnReq must have been called.
10037
10038 @param pwdiWowlDelBcPtrnParams: the Wowl bcast ptrn as
10039 specified by the Device Interface
10040
10041 wdiWowlDelBcPtrnCb: callback for passing back the
10042 response of the del Wowl bcast ptrn operation received
10043 from the device
10044
10045 pUserData: user data will be passed back with the
10046 callback
10047
10048 @see WDI_WowlAddBcPtrnReq
10049 @return Result of the function call
10050*/
10051WDI_Status
10052WDI_WowlDelBcPtrnReq
10053(
10054 WDI_WowlDelBcPtrnReqParamsType* pwdiWowlDelBcPtrnParams,
10055 WDI_WowlDelBcPtrnCb wdiWowlDelBcPtrnCb,
10056 void* pUserData
10057);
10058
10059/**
10060 @brief WDI_WowlEnterReq will be called when the upper MAC
10061 wants to enter the Wowl state to minimize unnecessary
10062 host wakeup while in power save. Upon the call of this
10063 API the WLAN DAL will pack and send a HAL Wowl enter
10064 request message to the lower RIVA sub-system if DAL is
10065 in state STARTED.
10066
10067 In state BUSY this request will be queued. Request won't
10068 be allowed in any other state.
10069
10070 WDI_PostAssocReq must have been called.
10071
10072 @param pwdiWowlEnterReqParams: the Wowl enter info as
10073 specified by the Device Interface
10074
10075 wdiWowlEnterReqCb: callback for passing back the
10076 response of the enter Wowl operation received from the
10077 device
10078
10079 pUserData: user data will be passed back with the
10080 callback
10081
10082 @see WDI_PostAssocReq
10083 @return Result of the function call
10084*/
10085WDI_Status
10086WDI_WowlEnterReq
10087(
10088 WDI_WowlEnterReqParamsType* pwdiWowlEnterParams,
10089 WDI_WowlEnterReqCb wdiWowlEnterCb,
10090 void* pUserData
10091);
10092
10093/**
10094 @brief WDI_WowlExitReq will be called when the upper MAC
10095 wants to exit the Wowl state. Upon the call of this API
10096 the WLAN DAL will pack and send a HAL Wowl exit request
10097 message to the lower RIVA sub-system if DAL is in state
10098 STARTED.
10099
10100 In state BUSY this request will be queued. Request won't
10101 be allowed in any other state.
10102
10103 WDI_WowlEnterReq must have been called.
10104
10105 @param pwdiWowlExitReqParams: the Wowl exit info as
10106 specified by the Device Interface
10107
10108 wdiWowlExitReqCb: callback for passing back the response
10109 of the exit Wowl operation received from the device
10110
10111 pUserData: user data will be passed back with the
10112 callback
10113
10114 @see WDI_WowlEnterReq
10115 @return Result of the function call
10116*/
10117WDI_Status
10118WDI_WowlExitReq
10119(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -070010120 WDI_WowlExitReqParamsType* pwdiWowlExitParams,
Jeff Johnson295189b2012-06-20 16:38:30 -070010121 WDI_WowlExitReqCb wdiWowlExitCb,
10122 void* pUserData
10123);
10124
10125/**
10126 @brief WDI_ConfigureAppsCpuWakeupStateReq will be called when
10127 the upper MAC wants to dynamically adjusts the listen
10128 interval based on the WLAN/MSM activity. Upon the call
10129 of this API the WLAN DAL will pack and send a HAL
10130 configure Apps Cpu Wakeup State request message to the
10131 lower RIVA sub-system.
10132
10133 In state BUSY this request will be queued. Request won't
10134 be allowed in any other state.
10135
10136
10137 @param pwdiConfigureAppsCpuWakeupStateReqParams: the
10138 Apps Cpu Wakeup State as specified by the
10139 Device Interface
10140
10141 wdiConfigureAppsCpuWakeupStateCb: callback for passing
10142 back the response of the configure Apps Cpu Wakeup State
10143 operation received from the device
10144
10145 pUserData: user data will be passed back with the
10146 callback
10147
10148 @return Result of the function call
10149*/
10150WDI_Status
10151WDI_ConfigureAppsCpuWakeupStateReq
10152(
10153 WDI_ConfigureAppsCpuWakeupStateReqParamsType *pwdiConfigureAppsCpuWakeupStateReqParams,
10154 WDI_ConfigureAppsCpuWakeupStateCb wdiConfigureAppsCpuWakeupStateCb,
10155 void* pUserData
10156);
10157/**
10158 @brief WDI_FlushAcReq will be called when the upper MAC wants
10159 to to perform a flush operation on a given AC. Upon the
10160 call of this API the WLAN DAL will pack and send a HAL
10161 Flush AC request message to the lower RIVA sub-system if
10162 DAL is in state STARTED.
10163
10164 In state BUSY this request will be queued. Request won't
10165 be allowed in any other state.
10166
10167
10168 @param pwdiFlushAcReqParams: the Flush AC parameters as
10169 specified by the Device Interface
10170
10171 wdiFlushAcRspCb: callback for passing back the response
10172 of the Flush AC operation received from the device
10173
10174 pUserData: user data will be passed back with the
10175 callback
10176
10177 @return Result of the function call
10178*/
10179WDI_Status
10180WDI_FlushAcReq
10181(
10182 WDI_FlushAcReqParamsType* pwdiFlushAcReqParams,
10183 WDI_FlushAcRspCb wdiFlushAcRspCb,
10184 void* pUserData
10185);
10186
10187/**
10188 @brief WDI_BtAmpEventReq will be called when the upper MAC
10189 wants to notify the lower mac on a BT AMP event. This is
10190 to inform BTC-SLM that some BT AMP event occurred. Upon
10191 the call of this API the WLAN DAL will pack and send a
10192 HAL BT AMP event request message to the lower RIVA
10193 sub-system if DAL is in state STARTED.
10194
10195 In state BUSY this request will be queued. Request won't
10196 be allowed in any other state.
10197
10198
10199 @param wdiBtAmpEventReqParams: the BT AMP event parameters as
10200 specified by the Device Interface
10201
10202 wdiBtAmpEventRspCb: callback for passing back the
10203 response of the BT AMP event operation received from the
10204 device
10205
10206 pUserData: user data will be passed back with the
10207 callback
10208
10209 @return Result of the function call
10210*/
10211WDI_Status
10212WDI_BtAmpEventReq
10213(
10214 WDI_BtAmpEventParamsType* pwdiBtAmpEventReqParams,
10215 WDI_BtAmpEventRspCb wdiBtAmpEventRspCb,
10216 void* pUserData
10217);
10218
Jeff Johnsone7245742012-09-05 17:12:55 -070010219#ifdef FEATURE_OEM_DATA_SUPPORT
10220/**
10221 @brief WDI_Start oem data Req will be called when the upper MAC
10222 wants to notify the lower mac on a oem data Req event.Upon
10223 the call of this API the WLAN DAL will pack and send a
10224 HAL OEM Data Req event request message to the lower RIVA
10225 sub-system if DAL is in state STARTED.
10226
10227 In state BUSY this request will be queued. Request won't
10228 be allowed in any other state.
10229
10230
10231 @param pWdiOemDataReqParams: the oem data req parameters as
10232 specified by the Device Interface
10233
10234 wdiStartOemDataRspCb: callback for passing back the
10235 response of the Oem Data Req received from the
10236 device
10237
10238 pUserData: user data will be passed back with the
10239 callback
10240
10241 @return Result of the function call
10242*/
10243WDI_Status
10244WDI_StartOemDataReq
10245(
10246 WDI_oemDataReqParamsType* pWdiOemDataReqParams,
10247 WDI_oemDataRspCb wdiOemDataRspCb,
10248 void* pUserData
10249);
10250#endif
Jeff Johnson295189b2012-06-20 16:38:30 -070010251
10252/*========================================================================
10253
10254 CONTROL APIs
10255
10256==========================================================================*/
10257/**
10258 @brief WDI_SwitchChReq will be called when the upper MAC wants
10259 the WLAN HW to change the current channel of operation.
10260 Upon the call of this API the WLAN DAL will pack and
10261 send a HAL Start request message to the lower RIVA
10262 sub-system if DAL is in state STARTED.
10263
10264 In state BUSY this request will be queued. Request won't
10265 be allowed in any other state.
10266
10267 WDI_Start must have been called.
10268
10269 @param wdiSwitchChReqParams: the switch ch parameters as
10270 specified by the Device Interface
10271
10272 wdiSwitchChRspCb: callback for passing back the response
10273 of the switch ch operation received from the device
10274
10275 pUserData: user data will be passed back with the
10276 callback
10277
10278 @see WDI_Start
10279 @return Result of the function call
10280*/
10281WDI_Status
10282WDI_SwitchChReq
10283(
10284 WDI_SwitchChReqParamsType* pwdiSwitchChReqParams,
10285 WDI_SwitchChRspCb wdiSwitchChRspCb,
10286 void* pUserData
10287);
10288
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -080010289/**
Kalikinkar dhara1e83b772014-02-06 12:59:22 -080010290 @brief WDI_SwitchChReq_V1 is similar to WDI_SwitchChReq except
10291 it also send type source for the channel change.
10292 WDI_Start must have been called.
10293
10294 @param wdiSwitchChReqParams: the switch ch parameters as
10295 specified by the Device Interface
10296
10297 wdiSwitchChRspCb: callback for passing back the response
10298 of the switch ch operation received from the device
10299
10300 pUserData: user data will be passed back with the
10301 callback
10302
10303 @see WDI_Start
10304 @return Result of the function call
10305*/
10306
10307WDI_Status
10308WDI_SwitchChReq_V1
10309(
10310 WDI_SwitchChReqParamsType_V1* pwdiSwitchChReqParams,
10311 WDI_SwitchChRspCb_V1 wdiSwitchChRspCb,
10312 void* pUserData
10313);
10314
10315/**
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -080010316 @brief WDI_UpdateChannelReq will be called when the upper MAC
10317 wants to update the channel list on change in country code.
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -080010318 In state BUSY this request will be queued. Request won't
10319 be allowed in any other state.
10320
10321 WDI_UpdateChannelReq must have been called.
10322
10323 @param wdiUpdateChannelReqParams: the updated channel parameters
10324 as specified by the Device Interface
10325
10326 wdiUpdateChannelRspCb: callback for passing back the
10327 response of the update channel operation received from
10328 the device
10329
10330 pUserData: user data will be passed back with the
10331 callback
10332
10333 @return Result of the function call
10334*/
10335WDI_Status
10336WDI_UpdateChannelReq
10337(
10338 WDI_UpdateChReqParamsType *pwdiUpdateChannelReqParams,
10339 WDI_UpdateChannelRspCb wdiUpdateChannelRspCb,
10340 void* pUserData
10341);
Jeff Johnson295189b2012-06-20 16:38:30 -070010342
10343/**
10344 @brief WDI_ConfigSTAReq will be called when the upper MAC
10345 wishes to add or update a STA in HW. Upon the call of
10346 this API the WLAN DAL will pack and send a HAL Start
10347 message request message to the lower RIVA sub-system if
10348 DAL is in state STARTED.
10349
10350 In state BUSY this request will be queued. Request won't
10351 be allowed in any other state.
10352
10353 WDI_Start must have been called.
10354
10355 @param wdiConfigSTAReqParams: the config STA parameters as
10356 specified by the Device Interface
10357
10358 wdiConfigSTARspCb: callback for passing back the
10359 response of the config STA operation received from the
10360 device
10361
10362 pUserData: user data will be passed back with the
10363 callback
10364
10365 @see WDI_Start
10366 @return Result of the function call
10367*/
10368WDI_Status
10369WDI_ConfigSTAReq
10370(
10371 WDI_ConfigSTAReqParamsType* pwdiConfigSTAReqParams,
10372 WDI_ConfigSTARspCb wdiConfigSTARspCb,
10373 void* pUserData
10374);
10375
10376/**
10377 @brief WDI_SetLinkStateReq will be called when the upper MAC
10378 wants to change the state of an ongoing link. Upon the
10379 call of this API the WLAN DAL will pack and send a HAL
10380 Start message request message to the lower RIVA
10381 sub-system if DAL is in state STARTED.
10382
10383 In state BUSY this request will be queued. Request won't
10384 be allowed in any other state.
10385
10386 WDI_JoinReq must have been called.
10387
10388 @param wdiSetLinkStateReqParams: the set link state parameters
10389 as specified by the Device Interface
10390
10391 wdiSetLinkStateRspCb: callback for passing back the
10392 response of the set link state operation received from
10393 the device
10394
10395 pUserData: user data will be passed back with the
10396 callback
10397
10398 @see WDI_JoinStartReq
10399 @return Result of the function call
10400*/
10401WDI_Status
10402WDI_SetLinkStateReq
10403(
10404 WDI_SetLinkReqParamsType* pwdiSetLinkStateReqParams,
10405 WDI_SetLinkStateRspCb wdiSetLinkStateRspCb,
10406 void* pUserData
10407);
10408
10409
10410/**
10411 @brief WDI_GetStatsReq will be called when the upper MAC wants
10412 to get statistics (MIB counters) from the device. Upon
10413 the call of this API the WLAN DAL will pack and send a
10414 HAL Start request message to the lower RIVA sub-system
10415 if DAL is in state STARTED.
10416
10417 In state BUSY this request will be queued. Request won't
10418 be allowed in any other state.
10419
10420 WDI_Start must have been called.
10421
10422 @param wdiGetStatsReqParams: the stats parameters to get as
10423 specified by the Device Interface
10424
10425 wdiGetStatsRspCb: callback for passing back the response
10426 of the get stats operation received from the device
10427
10428 pUserData: user data will be passed back with the
10429 callback
10430
10431 @see WDI_Start
10432 @return Result of the function call
10433*/
10434WDI_Status
10435WDI_GetStatsReq
10436(
10437 WDI_GetStatsReqParamsType* pwdiGetStatsReqParams,
10438 WDI_GetStatsRspCb wdiGetStatsRspCb,
10439 void* pUserData
10440);
10441
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -080010442#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -080010443/**
10444 @brief WDI_GetRoamRssiReq will be called when the upper MAC wants
10445 to get roam rssi from the device. Upon
10446 the call of this API the WLAN DAL will pack and send a
10447 HAL Start request message to the lower RIVA sub-system
10448 if DAL is in state STARTED.
10449
10450 In state BUSY this request will be queued. Request won't
10451 be allowed in any other state.
10452
10453 WDI_Start must have been called.
10454
10455 @param wdiGetRoamRssiReqParams: the stats parameters to get as
10456 specified by the Device Interface
10457
10458 wdiGetRoamRssispCb: callback for passing back the response
10459 of the get stats operation received from the device
10460
10461 pUserData: user data will be passed back with the
10462 callback
10463
10464 @see WDI_Start
10465 @return Result of the function call
10466*/
10467WDI_Status
10468WDI_GetRoamRssiReq
10469(
10470 WDI_GetRoamRssiReqParamsType* pwdiGetRoamRssiReqParams,
10471 WDI_GetRoamRssiRspCb wdiGetRoamRssiRspCb,
10472 void* pUserData
10473);
10474#endif
Jeff Johnson295189b2012-06-20 16:38:30 -070010475
10476/**
10477 @brief WDI_UpdateCfgReq will be called when the upper MAC when
10478 it wishes to change the configuration of the WLAN
10479 Device. Upon the call of this API the WLAN DAL will pack
10480 and send a HAL Update CFG request message to the lower
10481 RIVA sub-system if DAL is in state STARTED.
10482
10483 In state BUSY this request will be queued. Request won't
10484 be allowed in any other state.
10485
10486 WDI_Start must have been called.
10487
10488 @param wdiUpdateCfgReqParams: the update cfg parameters as
10489 specified by the Device Interface
10490
10491 wdiUpdateCfgsRspCb: callback for passing back the
10492 response of the update cfg operation received from the
10493 device
10494
10495 pUserData: user data will be passed back with the
10496 callback
10497
10498 @see WDI_Start
10499 @return Result of the function call
10500*/
10501WDI_Status
10502WDI_UpdateCfgReq
10503(
10504 WDI_UpdateCfgReqParamsType* pwdiUpdateCfgReqParams,
10505 WDI_UpdateCfgRspCb wdiUpdateCfgsRspCb,
10506 void* pUserData
10507);
10508
10509/**
10510 @brief WDI_NvDownloadReq will be called by the UMAC to dowload the NV blob
10511 to the NV memory.
10512
10513 @param wdiNvDownloadReqParams: the NV Download parameters as specified by
10514 the Device Interface
10515
10516 wdiNvDownloadRspCb: callback for passing back the response of
10517 the NV Download operation received from the device
10518
10519 pUserData: user data will be passed back with the
10520 callback
10521
10522 @see WDI_PostAssocReq
10523 @return Result of the function call
10524*/
10525WDI_Status
10526WDI_NvDownloadReq
10527(
10528 WDI_NvDownloadReqParamsType* pwdiNvDownloadReqParams,
10529 WDI_NvDownloadRspCb wdiNvDownloadRspCb,
10530 void* pUserData
10531);
10532/**
10533 @brief WDI_AddBAReq will be called when the upper MAC has setup
10534 successfully a BA session and needs to notify the HW for
10535 the appropriate settings to take place. Upon the call of
10536 this API the WLAN DAL will pack and send a HAL Add BA
10537 request message to the lower RIVA sub-system if DAL is
10538 in state STARTED.
10539
10540 In state BUSY this request will be queued. Request won't
10541 be allowed in any other state.
10542
10543 WDI_PostAssocReq must have been called.
10544
10545 @param wdiAddBAReqParams: the add BA parameters as specified by
10546 the Device Interface
10547
10548 wdiAddBARspCb: callback for passing back the response of
10549 the add BA operation received from the device
10550
10551 pUserData: user data will be passed back with the
10552 callback
10553
10554 @see WDI_PostAssocReq
10555 @return Result of the function call
10556*/
10557WDI_Status
10558WDI_AddBAReq
10559(
10560 WDI_AddBAReqParamsType* pwdiAddBAReqParams,
10561 WDI_AddBARspCb wdiAddBARspCb,
10562 void* pUserData
10563);
10564
10565/**
10566 @brief WDI_TriggerBAReq will be called when the upper MAC has setup
10567 successfully a BA session and needs to notify the HW for
10568 the appropriate settings to take place. Upon the call of
10569 this API the WLAN DAL will pack and send a HAL Add BA
10570 request message to the lower RIVA sub-system if DAL is
10571 in state STARTED.
10572
10573 In state BUSY this request will be queued. Request won't
10574 be allowed in any other state.
10575
10576 WDI_PostAssocReq must have been called.
10577
10578 @param wdiAddBAReqParams: the add BA parameters as specified by
10579 the Device Interface
Abhishek Singhe5066502016-02-05 18:07:41 +053010580 baReqParamUserDataSize: user data size of wdiAddBAReqParams
Jeff Johnson295189b2012-06-20 16:38:30 -070010581 wdiAddBARspCb: callback for passing back the response of
10582 the add BA operation received from the device
10583
10584 pUserData: user data will be passed back with the
10585 callback
10586
10587 @see WDI_PostAssocReq
10588 @return Result of the function call
10589*/
10590WDI_Status
10591WDI_TriggerBAReq
10592(
10593 WDI_TriggerBAReqParamsType* pwdiTriggerBAReqParams,
Abhishek Singhe5066502016-02-05 18:07:41 +053010594 wpt_uint8 baReqParamUserDataSize,
Jeff Johnson295189b2012-06-20 16:38:30 -070010595 WDI_TriggerBARspCb wdiTriggerBARspCb,
10596 void* pUserData
10597);
10598
10599
10600/**
10601 @brief WDI_IsHwFrameTxTranslationCapable checks to see if HW
10602 frame xtl is enabled for a particular STA.
10603
10604 WDI_PostAssocReq must have been called.
10605
10606 @param uSTAIdx: STA index
10607
10608 @see WDI_PostAssocReq
10609 @return Result of the function call
10610*/
10611wpt_boolean WDI_IsHwFrameTxTranslationCapable
10612(
10613 wpt_uint8 uSTAIdx
10614);
10615
Katya Nigam6201c3e2014-05-27 17:51:42 +053010616
10617/**
10618 @brief WDI_IsSelfSTA - check if staid is self sta index
10619
10620 @param pWDICtx: pointer to the WLAN DAL context
10621 ucSTAIdx: station index
10622
10623 @return Result of the function call
10624*/
10625
10626wpt_boolean
10627WDI_IsSelfSTA
10628(
10629 void* pWDICtx,
10630 wpt_uint8 ucSTAIdx
10631);
10632
10633
Jeff Johnson295189b2012-06-20 16:38:30 -070010634#ifdef WLAN_FEATURE_VOWIFI_11R
10635/**
10636 @brief WDI_AggrAddTSReq will be called when the upper MAC to inform
10637 the device of a successful add TSpec negotiation for 11r. HW
10638 needs to receive the TSpec Info from the UMAC in order
10639 to configure properly the QoS data traffic. Upon the
10640 call of this API the WLAN DAL will pack and send a HAL
10641 Aggregated Add TS request message to the lower RIVA sub-system if
10642 DAL is in state STARTED.
10643
10644 In state BUSY this request will be queued. Request won't
10645 be allowed in any other state.
10646
10647 WDI_PostAssocReq must have been called.
10648
10649 @param wdiAggrAddTsReqParams: the add TS parameters as specified by
10650 the Device Interface
10651
10652 wdiAggrAddTsRspCb: callback for passing back the response of
10653 the add TS operation received from the device
10654
10655 pUserData: user data will be passed back with the
10656 callback
10657
10658 @see WDI_PostAssocReq
10659 @return Result of the function call
10660*/
10661WDI_Status
10662WDI_AggrAddTSReq
10663(
10664 WDI_AggrAddTSReqParamsType* pwdiAddTsReqParams,
10665 WDI_AggrAddTsRspCb wdiAggrAddTsRspCb,
10666 void* pUserData
10667);
10668#endif /* WLAN_FEATURE_VOWIFI_11R */
10669/**
10670 @brief WDI_STATableInit - Initializes the STA tables.
10671 Allocates the necesary memory.
10672
10673
10674 @param pWDICtx: pointer to the WLAN DAL context
10675
10676 @see
10677 @return Result of the function call
10678*/
10679
10680WDI_Status WDI_StubRunTest
10681(
10682 wpt_uint8 ucTestNo
10683);
10684
Jeff Johnson295189b2012-06-20 16:38:30 -070010685/**
10686 @brief WDI_FTMCommandReq -
10687 Route FTMRequest Command to HAL
10688
10689 @param ftmCommandReq: FTM request command body
10690 @param ftmCommandRspCb: Response CB
10691 @param pUserData: User data will be included with CB
10692
10693 @return Result of the function call
10694*/
10695WDI_Status WDI_FTMCommandReq
10696(
10697 WDI_FTMCommandReqType *ftmCommandReq,
10698 WDI_FTMCommandRspCb ftmCommandRspCb,
10699 void *pUserData
10700);
Jeff Johnson295189b2012-06-20 16:38:30 -070010701
10702/**
10703 @brief WDI_HostResumeReq will be called
10704
10705 In state BUSY this request will be queued. Request won't
10706 be allowed in any other state.
10707
10708
10709 @param pwdiResumeReqParams: as specified by
10710 the Device Interface
10711
10712 wdiResumeReqRspCb: callback for passing back the response of
10713 the Resume Req received from the device
10714
10715 pUserData: user data will be passed back with the
10716 callback
10717
10718 @see WDI_PostAssocReq
10719 @return Result of the function call
10720*/
10721WDI_Status
10722WDI_HostResumeReq
10723(
10724 WDI_ResumeParamsType* pwdiResumeReqParams,
10725 WDI_HostResumeEventRspCb wdiResumeReqRspCb,
10726 void* pUserData
10727);
10728
10729/**
10730 @brief WDI_GetAvailableResCount - Function to get the available resource
10731 for data and managemnt frames.
10732
10733 @param pContext: pointer to the WDI context
10734 @param wdiResPool: type of resource pool requesting
10735 @see
10736 @return Result of the function call
10737*/
10738
10739wpt_uint32 WDI_GetAvailableResCount
10740(
10741 void *pContext,
10742 WDI_ResPoolType wdiResPool
10743);
10744
10745/**
10746 @brief WDI_SetAddSTASelfReq will be called when the
10747 UMAC wanted to add self STA while opening any new session
10748 In state BUSY this request will be queued. Request won't
10749 be allowed in any other state.
10750
10751
10752 @param pwdiAddSTASelfParams: the add self sta parameters as
10753 specified by the Device Interface
10754
10755 pUserData: user data will be passed back with the
10756 callback
10757
10758 @see
10759 @return Result of the function call
10760*/
10761WDI_Status
10762WDI_AddSTASelfReq
10763(
10764 WDI_AddSTASelfReqParamsType* pwdiAddSTASelfReqParams,
10765 WDI_AddSTASelfParamsRspCb wdiAddSTASelfReqParamsRspCb,
10766 void* pUserData
10767);
10768
10769
10770/**
10771 @brief WDI_DelSTASelfReq will be called .
10772
10773 @param WDI_DelSTASelfReqParamsType
10774
10775 WDI_DelSTASelfRspCb: callback for passing back the
10776 response of the del sta self operation received from the
10777 device
10778
10779 pUserData: user data will be passed back with the
10780 callback
10781
10782 @see WDI_PostAssocReq
10783 @return Result of the function call
10784*/
10785WDI_Status
10786WDI_DelSTASelfReq
10787(
10788 WDI_DelSTASelfReqParamsType* pwdiDelStaSelfParams,
10789 WDI_DelSTASelfRspCb wdiDelStaSelfRspCb,
10790 void* pUserData
10791);
10792
10793/**
10794 @brief WDI_HostSuspendInd
10795
10796 Suspend Indication from the upper layer will be sent
10797 down to HAL
10798
10799 @param WDI_SuspendParamsType
10800
10801 @see
10802
10803 @return Status of the request
10804*/
10805WDI_Status
10806WDI_HostSuspendInd
10807(
10808 WDI_SuspendParamsType* pwdiSuspendIndParams
10809);
10810
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -080010811/**
10812 @brief WDI_TrafficStatsInd
10813
10814 Traffic Stats from the upper layer will be sent
10815 down to HAL
10816
10817 @param WDI_TrafficStatsIndType
10818
10819 @see
10820
10821 @return Status of the request
10822*/
10823WDI_Status
10824WDI_TrafficStatsInd
10825(
10826 WDI_TrafficStatsIndType *pWdiTrafficStatsIndParams
10827);
10828
Chet Lanctot186b5732013-03-18 10:26:30 -070010829#ifdef WLAN_FEATURE_11W
10830/**
10831 @brief WDI_ExcludeUnencryptedInd
10832 Register with HAL to receive/drop unencrypted frames
10833
10834 @param WDI_ExcludeUnencryptIndType
10835
10836 @see
10837
10838 @return Status of the request
10839*/
10840WDI_Status
10841WDI_ExcludeUnencryptedInd
10842(
10843 WDI_ExcludeUnencryptIndType *pWdiExcUnencParams
10844);
10845#endif
10846
Yue Mab9c86f42013-08-14 15:59:08 -070010847/**
10848 @brief WDI_AddPeriodicTxPtrnInd
10849
10850 @param WDI_AddPeriodicTxPtrnParamsType
10851
10852 @see
10853
10854 @return Status of the request
10855*/
10856WDI_Status
10857WDI_AddPeriodicTxPtrnInd
10858(
10859 WDI_AddPeriodicTxPtrnParamsType *addPeriodicTxPtrnParams
10860);
10861
10862/**
10863 @brief WDI_DelPeriodicTxPtrnInd
10864
10865 @param WDI_DelPeriodicTxPtrnParamsType
10866
10867 @see
10868
10869 @return Status of the request
10870*/
10871WDI_Status
10872WDI_DelPeriodicTxPtrnInd
10873(
10874 WDI_DelPeriodicTxPtrnParamsType *delPeriodicTxPtrnParams
10875);
10876
Jeff Johnson295189b2012-06-20 16:38:30 -070010877#ifdef FEATURE_WLAN_SCAN_PNO
10878/**
10879 @brief WDI_SetPreferredNetworkList
10880
10881 @param pwdiPNOScanReqParams: the Set PNO as specified
10882 by the Device Interface
10883
10884 wdiPNOScanCb: callback for passing back the response
10885 of the Set PNO operation received from the
10886 device
10887
10888 pUserData: user data will be passed back with the
10889 callback
10890
10891 @see WDI_PostAssocReq
10892 @return Result of the function call
10893*/
10894WDI_Status
10895WDI_SetPreferredNetworkReq
10896(
10897 WDI_PNOScanReqParamsType* pwdiPNOScanReqParams,
10898 WDI_PNOScanCb wdiPNOScanCb,
10899 void* pUserData
10900);
10901
10902/**
10903 @brief WDI_SetRssiFilterReq
10904
10905 @param pwdiRssiFilterReqParams: the Set RSSI Filter as
10906 specified by the Device Interface
10907
10908 wdiRssiFilterCb: callback for passing back the response
10909 of the Set RSSI Filter operation received from the
10910 device
10911
10912 pUserData: user data will be passed back with the
10913 callback
10914
10915 @see WDI_PostAssocReq
10916 @return Result of the function call
10917*/
10918WDI_Status
10919WDI_SetRssiFilterReq
10920(
10921 WDI_SetRssiFilterReqParamsType* pwdiRssiFilterReqParams,
10922 WDI_RssiFilterCb wdiRssiFilterCb,
10923 void* pUserData
10924);
10925
10926/**
10927 @brief WDI_UpdateScanParams
10928
10929 @param pwdiUpdateScanParamsInfoType: the Update Scan Params as specified
10930 by the Device Interface
10931
10932 wdiUpdateScanParamsCb: callback for passing back the response
10933 of the Set PNO operation received from the
10934 device
10935
10936 pUserData: user data will be passed back with the
10937 callback
10938
10939 @see WDI_PostAssocReq
10940 @return Result of the function call
10941*/
10942WDI_Status
10943WDI_UpdateScanParamsReq
10944(
10945 WDI_UpdateScanParamsInfoType* pwdiUpdateScanParamsInfoType,
10946 WDI_UpdateScanParamsCb wdiUpdateScanParamsCb,
10947 void* pUserData
10948);
10949#endif // FEATURE_WLAN_SCAN_PNO
10950
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010951#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
10952/**
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010953 @brief WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010954
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010955 @param pwdiRoamScanOffloadReqParams: Start Roam Candidate Lookup Req as specified
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010956 by the Device Interface
10957
10958 wdiRoamOffloadScanCb: callback for passing back the response
10959 of the Start Roam Candidate Lookup operation received from the
10960 device
10961
10962 pUserData: user data will be passed back with the
10963 callback
10964
10965 @return Result of the function call
10966*/
10967WDI_Status
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010968WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010969(
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010970 WDI_RoamScanOffloadReqParamsType *pwdiRoamScanOffloadReqParams,
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010971 WDI_RoamOffloadScanCb wdiRoamOffloadScancb,
10972 void* pUserData
10973);
10974#endif
10975
Jeff Johnson295189b2012-06-20 16:38:30 -070010976/**
10977 @brief WDI_SetTxPerTrackingReq will be called when the upper MAC
10978 wants to set the Tx Per Tracking configurations.
10979 Upon the call of this API the WLAN DAL will pack
10980 and send a HAL Set Tx Per Tracking request message to the
10981 lower RIVA sub-system if DAL is in state STARTED.
10982
10983 In state BUSY this request will be queued. Request won't
10984 be allowed in any other state.
10985
10986 @param wdiSetTxPerTrackingConf: the Set Tx PER Tracking configurations as
10987 specified by the Device Interface
10988
10989 wdiSetTxPerTrackingCb: callback for passing back the
10990 response of the set Tx PER Tracking configurations operation received
10991 from the device
10992
10993 pUserData: user data will be passed back with the
10994 callback
10995
10996 @return Result of the function call
10997*/
10998WDI_Status
10999WDI_SetTxPerTrackingReq
11000(
11001 WDI_SetTxPerTrackingReqParamsType* pwdiSetTxPerTrackingReqParams,
11002 WDI_SetTxPerTrackingRspCb pwdiSetTxPerTrackingRspCb,
11003 void* pUserData
11004);
11005
11006/**
11007 @brief WDI_SetTmLevelReq
11008 If HW Thermal condition changed, driver should react based on new
11009 HW thermal condition.
11010
11011 @param pwdiSetTmLevelReq: New thermal condition information
11012
11013 pwdiSetTmLevelRspCb: callback
11014
11015 usrData: user data will be passed back with the
11016 callback
11017
11018 @return Result of the function call
11019*/
11020WDI_Status
11021WDI_SetTmLevelReq
11022(
11023 WDI_SetTmLevelReqType *pwdiSetTmLevelReq,
11024 WDI_SetTmLevelCb pwdiSetTmLevelRspCb,
11025 void *usrData
11026);
11027
11028#ifdef WLAN_FEATURE_PACKET_FILTERING
11029/**
11030 @brief WDI_8023MulticastListReq
11031
11032 @param pwdiRcvFltPktSetMcListReqInfo: the Set 8023 Multicast
11033 List as specified by the Device Interface
11034
11035 wdi8023MulticastListCallback: callback for passing back
11036 the response of the Set 8023 Multicast List operation
11037 received from the device
11038
11039 pUserData: user data will be passed back with the
11040 callback
11041
11042 @see WDI_PostAssocReq
11043 @return Result of the function call
11044*/
11045WDI_Status
11046WDI_8023MulticastListReq
11047(
11048 WDI_RcvFltPktSetMcListReqParamsType* pwdiRcvFltPktSetMcListReqInfo,
11049 WDI_8023MulticastListCb wdi8023MulticastListCallback,
11050 void* pUserData
11051);
11052
11053/**
11054 @brief WDI_ReceiveFilterSetFilterReq
11055
11056 @param pwdiSetRcvPktFilterReqInfo: the Set Receive Filter as
11057 specified by the Device Interface
11058
11059 wdiReceiveFilterSetFilterReqCallback: callback for
11060 passing back the response of the Set Receive Filter
11061 operation received from the device
11062
11063 pUserData: user data will be passed back with the
11064 callback
11065
11066 @see WDI_PostAssocReq
11067 @return Result of the function call
11068*/
11069WDI_Status
11070WDI_ReceiveFilterSetFilterReq
11071(
11072 WDI_SetRcvPktFilterReqParamsType* pwdiSetRcvPktFilterReqInfo,
11073 WDI_ReceiveFilterSetFilterCb wdiReceiveFilterSetFilterReqCallback,
11074 void* pUserData
11075);
11076
11077/**
11078 @brief WDI_PCFilterMatchCountReq
11079
11080 @param pwdiRcvFltPktMatchCntReqInfo: get D0 PC Filter Match
11081 Count
11082
11083 wdiPCFilterMatchCountCallback: callback for passing back
11084 the response of the D0 PC Filter Match Count operation
11085 received from the device
11086
11087 pUserData: user data will be passed back with the
11088 callback
11089
11090 @see WDI_PostAssocReq
11091 @return Result of the function call
11092*/
11093WDI_Status
11094WDI_FilterMatchCountReq
11095(
11096 WDI_RcvFltPktMatchCntReqParamsType* pwdiRcvFltPktMatchCntReqInfo,
11097 WDI_FilterMatchCountCb wdiFilterMatchCountCallback,
11098 void* pUserData
11099);
11100
11101/**
11102 @brief WDI_ReceiveFilterClearFilterReq
11103
11104 @param pwdiRcvFltPktClearReqInfo: the Clear Filter as
11105 specified by the Device Interface
11106
11107 wdiReceiveFilterClearFilterCallback: callback for
11108 passing back the response of the Clear Filter
11109 operation received from the device
11110
11111 pUserData: user data will be passed back with the
11112 callback
11113
11114 @see WDI_PostAssocReq
11115 @return Result of the function call
11116*/
11117WDI_Status
11118WDI_ReceiveFilterClearFilterReq
11119(
11120 WDI_RcvFltPktClearReqParamsType* pwdiRcvFltPktClearReqInfo,
11121 WDI_ReceiveFilterClearFilterCb wdiReceiveFilterClearFilterCallback,
11122 void* pUserData
11123);
11124#endif // WLAN_FEATURE_PACKET_FILTERING
11125
11126/**
11127 @brief WDI_HALDumpCmdReq
11128 Post HAL DUMP Command Event
11129
11130 @param halDumpCmdReqParams: Hal Dump Command Body
11131 @param halDumpCmdRspCb: callback for passing back the
11132 response
11133 @param pUserData: Client Data
11134
11135 @see
11136 @return Result of the function call
11137*/
11138WDI_Status WDI_HALDumpCmdReq(
11139 WDI_HALDumpCmdReqParamsType *halDumpCmdReqParams,
11140 WDI_HALDumpCmdRspCb halDumpCmdRspCb,
11141 void *pUserData
11142);
11143
11144
11145/**
11146 @brief WDI_SetPowerParamsReq
11147
11148 @param pwdiPowerParamsReqParams: the Set Power Params as
11149 specified by the Device Interface
11150
11151 wdiPowerParamsCb: callback for passing back the response
11152 of the Set Power Params operation received from the
11153 device
11154
11155 pUserData: user data will be passed back with the
11156 callback
11157
11158 @return Result of the function call
11159*/
11160WDI_Status
11161WDI_SetPowerParamsReq
11162(
11163 WDI_SetPowerParamsReqParamsType* pwdiPowerParamsReqParams,
11164 WDI_SetPowerParamsCb wdiPowerParamsCb,
11165 void* pUserData
11166);
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +053011167/**
11168 @brief WDI_dhcpStartInd
11169 Forward the DHCP Start event
11170
11171 @param
11172
11173 wdiDHCPInd: device mode and MAC address is passed
11174
11175 @see
11176 @return Result of the function call
11177*/
11178
11179WDI_Status
11180WDI_dhcpStartInd
11181(
11182 WDI_DHCPInd *wdiDHCPInd
11183);
11184/**
11185 @brief WDI_dhcpStopReq
11186 Forward the DHCP Stop event
11187
11188 @param
11189
11190 wdiDHCPInd: device mode and MAC address is passed
11191
11192 @see
11193 @return Result of the function call
11194*/
11195
11196WDI_Status
11197WDI_dhcpStopInd
11198(
11199 WDI_DHCPInd *wdiDHCPInd
11200);
Jeff Johnson295189b2012-06-20 16:38:30 -070011201
Chittajit Mitraf5413a42013-10-18 14:20:08 -070011202/**
11203 @brief WDI_RateUpdateInd will be called when the upper MAC
11204 requests the device to update rates.
11205
11206 In state BUSY this request will be queued. Request won't
11207 be allowed in any other state.
11208
11209
11210 @param wdiRateUpdateIndParams
11211
11212
11213 @see WDI_Start
11214 @return Result of the function call
11215*/
11216WDI_Status
11217WDI_RateUpdateInd
11218(
11219 WDI_RateUpdateIndParams *wdiRateUpdateIndParams
11220);
11221
Jeff Johnson295189b2012-06-20 16:38:30 -070011222#ifdef WLAN_FEATURE_GTK_OFFLOAD
11223/**
11224 @brief WDI_GTKOffloadReq will be called when the upper MAC
11225 wants to set GTK Rekey Counter while in power save. Upon
11226 the call of this API the WLAN DAL will pack and send a
11227 HAL GTK offload request message to the lower RIVA
11228 sub-system if DAL is in state STARTED.
11229
11230 In state BUSY this request will be queued. Request won't
11231 be allowed in any other state.
11232
11233 WDI_PostAssocReq must have been called.
11234
11235 @param pwdiGtkOffloadParams: the GTK offload as specified
11236 by the Device Interface
11237
11238 wdiGtkOffloadCb: callback for passing back the response
11239 of the GTK offload operation received from the device
11240
11241 pUserData: user data will be passed back with the
11242 callback
11243
11244 @see WDI_PostAssocReq
11245 @return Result of the function call
11246*/
11247WDI_Status
11248WDI_GTKOffloadReq
11249(
11250 WDI_GtkOffloadReqMsg* pwdiGtkOffloadReqMsg,
11251 WDI_GtkOffloadCb wdiGtkOffloadCb,
11252 void* pUserData
11253);
11254
11255/**
11256 @brief WDI_GTKOffloadGetInfoReq will be called when the upper
11257 MAC wants to get GTK Rekey Counter while in power save.
11258 Upon the call of this API the WLAN DAL will pack and
11259 send a HAL GTK offload request message to the lower RIVA
11260 sub-system if DAL is in state STARTED.
11261
11262 In state BUSY this request will be queued. Request won't
11263 be allowed in any other state.
11264
11265 WDI_PostAssocReq must have been called.
11266
11267 @param pwdiGtkOffloadGetInfoReqMsg: the GTK Offload
11268 Information Message as specified by the
11269 Device Interface
11270
11271 wdiGtkOffloadGetInfoCb: callback for passing back the
11272 response of the GTK offload operation received from the
11273 device
11274
11275 pUserData: user data will be passed back with the
11276 callback
11277
11278 @see WDI_PostAssocReq
11279 @return Result of the function call
11280*/
11281WDI_Status
11282WDI_GTKOffloadGetInfoReq
11283(
11284 WDI_GtkOffloadGetInfoReqMsg* pwdiGtkOffloadGetInfoReqMsg,
11285 WDI_GtkOffloadGetInfoCb wdiGtkOffloadGetInfoCb,
11286 void* pUserData
11287);
11288#endif // WLAN_FEATURE_GTK_OFFLOAD
11289
11290/**
11291 @brief WDI_featureCapsExchangeReq
11292 Post feature capability bitmap exchange event.
11293 Host will send its own capability to FW in this req and
11294 expect FW to send its capability back as a bitmap in Response
11295
11296 @param
11297
11298 wdiFeatCapsExcRspCb: callback called on getting the response.
11299 It is kept to mantain similarity between WDI reqs and if needed, can
11300 be used in future. Currently, It is set to NULL
11301
11302 pUserData: user data will be passed back with the
11303 callback
11304
11305 @see
11306 @return Result of the function call
11307*/
11308WDI_Status
11309WDI_featureCapsExchangeReq
11310(
11311 WDI_featureCapsExchangeCb wdiFeatureCapsExchangeCb,
11312 void* pUserData
11313);
11314
11315/**
Yathish9f22e662012-12-10 14:21:35 -080011316 @brief Disable Active mode offload in Host
11317
11318 @param void
11319 @see
11320 @return void
11321*/
11322void
11323WDI_disableCapablityFeature(wpt_uint8 feature_index);
11324
11325
11326/**
Jeff Johnson295189b2012-06-20 16:38:30 -070011327 @brief WDI_getHostWlanFeatCaps
11328 WDI API that returns whether the feature passed to it as enum value in
11329 "placeHolderInCapBitmap" is supported by Host or not. It uses WDI global
11330 variable storing host capability bitmap to find this. This can be used by
11331 other moduels to decide certain things like call different APIs based on
11332 whether a particular feature is supported.
11333
11334 @param
11335
11336 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap in wlan_hal_msg.h.
11337
11338 @see
11339 @return
11340 0 - if the feature is NOT supported in host
11341 any non-zero value - if the feature is SUPPORTED in host.
11342*/
11343wpt_uint8 WDI_getHostWlanFeatCaps(wpt_uint8 feat_enum_value);
11344
11345/**
11346 @brief WDI_getFwWlanFeatCaps
11347 WDI API that returns whether the feature passed to it as enum value in
11348 "placeHolderInCapBitmap" is supported by FW or not. It uses WDI global
11349 variable storing host capability bitmap to find this. This can be used by
11350 other moduels to decide certain things like call different APIs based on
11351 whether a particular feature is supported.
11352
11353 @param
11354
Jeff Johnsone7245742012-09-05 17:12:55 -070011355 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap
11356 in wlan_hal_msg.h.
Jeff Johnson295189b2012-06-20 16:38:30 -070011357
11358 @see
11359 @return
11360 0 - if the feature is NOT supported in FW
11361 any non-zero value - if the feature is SUPPORTED in FW.
11362*/
11363wpt_uint8 WDI_getFwWlanFeatCaps(wpt_uint8 feat_enum_value);
11364
11365/**
11366 @brief WDI_GetWcnssCompiledApiVersion - Function to get wcnss compiled
11367 api version
11368
11369 @param WDI_WlanVersionType: Wlan version structure
11370 @see
11371 @return none
11372*/
11373
11374void WDI_GetWcnssCompiledApiVersion
11375(
11376 WDI_WlanVersionType *pWcnssApiVersion
11377);
11378
Mohit Khanna4a70d262012-09-11 16:30:12 -070011379#ifdef WLAN_FEATURE_11AC
11380WDI_Status
11381WDI_UpdateVHTOpModeReq
11382(
11383 WDI_UpdateVHTOpMode *pData,
11384 WDI_UpdateVHTOpModeCb wdiUpdateVHTOpModeCb,
11385 void* pUserData
11386);
Jeff Johnson295189b2012-06-20 16:38:30 -070011387
Mohit Khanna4a70d262012-09-11 16:30:12 -070011388#endif
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070011389
11390/**
11391 @brief WDI_TransportChannelDebug -
11392 Display DXE Channel debugging information
11393 User may request to display DXE channel snapshot
11394 Or if host driver detects any abnormal stcuk may display
11395
Jeff Johnsonb88db982012-12-10 13:34:59 -080011396 @param displaySnapshot : Display DXE snapshot option
Mihir Shete40a55652014-03-02 14:14:47 +053011397 @param debugFlags : Enable stall detect features
11398 defined by WPAL_DeviceDebugFlags
11399 These features may effect
11400 data performance.
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070011401 @see
11402 @return none
11403*/
11404void WDI_TransportChannelDebug
11405(
11406 wpt_boolean displaySnapshot,
Mihir Shete40a55652014-03-02 14:14:47 +053011407 wpt_uint8 debugFlags
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070011408);
11409
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -070011410/**
Sravan Kumar Kairam6eac7522015-11-27 23:37:02 +053011411 @brief WDI_TransportKickDxe -
11412 Request Kick DXE when first HDD TX time out
11413 happens
11414 @param none
11415 @see
11416 @return none
11417*/
11418void WDI_TransportKickDxe(void);
11419
11420/**
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -070011421 @brief WDI_SsrTimerCB
11422 Callback function for SSR timer, if this is called then the graceful
11423 shutdown for Riva did not happen.
11424
11425 @param pUserData : user data to timer
11426
11427 @see
11428 @return none
11429*/
11430void
11431WDI_SsrTimerCB
11432(
11433 void *pUserData
11434);
11435
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -070011436/**
11437 @brief WDI_SetEnableSSR -
11438 This API is called to enable/disable SSR on WDI timeout.
11439
11440 @param enableSSR : enable/disable SSR
11441
11442 @see
11443 @return none
11444*/
11445void WDI_SetEnableSSR(wpt_boolean enableSSR);
11446
Leo Chang9056f462013-08-01 19:21:11 -070011447#ifdef FEATURE_WLAN_LPHB
11448/**
11449 @brief WDI_LPHBConfReq
11450 This API is called to config FW LPHB rule
11451
11452 @param lphbconfParam : LPHB rule should config to FW
11453 usrData : Client context
11454 lphbCfgCb : Configuration status callback
11455 @see
11456 @return SUCCESS or FAIL
11457*/
11458WDI_Status WDI_LPHBConfReq
11459(
11460 void *lphbconfParam,
11461 void *usrData,
11462 WDI_LphbCfgCb lphbCfgCb
11463);
11464#endif /* FEATURE_WLAN_LPHB */
Rajeev79dbe4c2013-10-05 11:03:42 +053011465
Dino Mycle41bdc942014-06-10 11:30:24 +053011466#ifdef WLAN_FEATURE_EXTSCAN
11467/**
11468 @brief WDI_EXTScanStartReq
11469 This API is called to send EXTScan start request to FW
11470
11471 @param pwdiEXTScanStartReqParams : pointer to the request params.
11472 wdiEXTScanStartRspCb : callback on getting the response.
11473 usrData : Client context
11474 @see
11475 @return SUCCESS or FAIL
11476*/
11477WDI_Status WDI_EXTScanStartReq
11478(
11479 WDI_EXTScanStartReqParams* pwdiEXTScanStartReqParams,
11480 WDI_EXTScanStartRspCb wdiEXTScanStartRspCb,
11481 void* pUserData
11482);
11483
11484/**
11485 @brief WDI_EXTScanStopReq
11486 This API is called to stop the EXTScan operations in the FW
11487
11488 @param pwdiEXTScanStopReqParams : pointer to the request params.
11489 wdiEXTScanStopRspCb : callback on getting the response.
11490 usrData : Client context
11491 @see
11492 @return SUCCESS or FAIL
11493*/
11494WDI_Status WDI_EXTScanStopReq
11495(
11496 WDI_EXTScanStopReqParams* pwdiEXTScanStopReqParams,
11497 WDI_EXTScanStopRspCb wdiEXTScanStopRspCb,
11498 void* pUserData
11499);
11500
11501/**
11502 @brief WDI_EXTScanGetCachedResultsReq
11503 This API is called to send get link layer stats request in FW
11504
11505 @param pwdiEXTScanGetCachedResultsReqParams : pointer to the request params.
11506 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
11507 usrData : Client context
11508 @see
11509 @return SUCCESS or FAIL
11510*/
11511WDI_Status WDI_EXTScanGetCachedResultsReq
11512(
11513 WDI_EXTScanGetCachedResultsReqParams* pwdiEXTScanGetCachedResultsReqParams,
11514 WDI_EXTScanGetCachedResultsRspCb wdiEXTScanGetCachedResultsRspCb,
11515 void* pUserData
11516);
11517
11518/**
11519 @brief WDI_EXTScanGetCapabilitiesReq
11520 This API is called to send get EXTScan capabilities from FW
11521
11522 @param pwdiEXTScanGetCachedResultsReqParams : pointer to the request params.
11523 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
11524 usrData : Client context
11525 @see
11526 @return SUCCESS or FAIL
11527*/
11528WDI_Status WDI_EXTScanGetCapabilitiesReq
11529(
11530 WDI_EXTScanGetCapabilitiesReqParams* pwdiEXTScanGetCapabilitiesReqParams,
11531 WDI_EXTScanGetCapabilitiesRspCb wdiEXTScanGetCapabilitiesRspCb,
11532 void* pUserData
11533);
11534
11535/**
11536 @brief WDI_EXTScanSetBSSIDHotlistReq
11537 This API is called to send Set BSSID Hotlist Request FW
11538
11539 @param pwdiEXTScanSetBssidHotlistReqParams : pointer to the request params.
11540 wdiEXTScanSetBSSIDHotlistRspCb : callback on getting the response.
11541 usrData : Client context
11542 @see
11543 @return SUCCESS or FAIL
11544*/
11545WDI_Status WDI_EXTScanSetBSSIDHotlistReq
11546(
11547 WDI_EXTScanSetBSSIDHotlistReqParams* pwdiEXTScanSetBSSIDHotlistReqParams,
11548 WDI_EXTScanSetBSSIDHotlistRspCb wdiEXTScanSetBSSIDHotlistRspCb,
11549 void* pUserData
11550);
11551
11552/**
11553 @brief WDI_EXTScanResetBSSIDHotlistReq
11554 This API is called to send Reset BSSID Hotlist Request FW
11555
11556 @param pwdiEXTScanResetBssidHotlistReqParams : pointer to the request params.
11557 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
11558 usrData : Client context
11559 @see
11560 @return SUCCESS or FAIL
11561*/
11562WDI_Status WDI_EXTScanResetBSSIDHotlistReq
11563(
11564 WDI_EXTScanResetBSSIDHotlistReqParams* pwdiEXTScanResetBSSIDHotlistReqParams,
11565 WDI_EXTScanResetBSSIDHotlistRspCb wdiEXTScanResetBSSIDHotlistRspCb,
11566 void* pUserData
11567);
Padma, Santhosh Kumar9acee012015-08-21 19:58:01 +053011568
11569/**
11570 @brief WDI_EXTScanSetSSIDHotlistReq
11571 This API is called to send Set SSID Hotlist Request FW
11572
11573 @param pwdiEXTScanSetBssidHotlistReqParams : pointer to the request params.
11574 wdiEXTScanSetBSSIDHotlistRspCb : callback on getting the response.
11575 usrData : Client context
11576 @see
11577 @return SUCCESS or FAIL
11578*/
11579WDI_Status WDI_EXTScanSetSSIDHotlistReq
11580(
11581 WDI_EXTScanSetSSIDHotlistReqParams* pwdiEXTScanSetSSIDHotlistReqParams,
11582 WDI_EXTScanSetSSIDHotlistRspCb wdiEXTScanSetSSIDHotlistRspCb,
11583 void* pUserData
11584);
11585
11586/**
11587 @brief WDI_EXTScanResetSSIDHotlistReq
11588 This API is called to send Reset SSID Hotlist Request FW
11589
11590 @param pwdiEXTScanResetSsidHotlistReqParams : pointer to the request params.
11591 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
11592 usrData : Client context
11593 @see
11594 @return SUCCESS or FAIL
11595*/
11596WDI_Status WDI_EXTScanResetSSIDHotlistReq
11597(
11598 WDI_EXTScanResetSSIDHotlistReqParams* pwdiEXTScanResetSSIDHotlistReqParams,
11599 WDI_EXTScanResetSSIDHotlistRspCb wdiEXTScanResetSSIDHotlistRspCb,
11600 void* pUserData
11601);
11602
Padma, Santhosh Kumarc1f7f052015-08-26 12:29:01 +053011603/**
11604 @brief WDI_HighPriorityDataInfoInd
11605
11606 @param pHighPriorityDataInfoIndParams: Req parameter for the FW
11607
11608 @return SUCCESS or FAIL
11609*/
11610WDI_Status
11611WDI_HighPriorityDataInfoInd
11612(
11613 WDI_HighPriorityDataInfoIndParams* pHighPriorityDataInfoIndParams
11614);
11615
Dino Mycle41bdc942014-06-10 11:30:24 +053011616#endif /* WLAN_FEATURE_EXTSCAN */
11617
Sunil Duttbd736ed2014-05-26 21:19:41 +053011618#ifdef WLAN_FEATURE_LINK_LAYER_STATS
11619/**
11620 @brief WDI_LLStatsSetReq
11621 This API is called to send set link layer stats request to FW
11622
11623 @param pwdiLLStatsSetReqParams : pointer to set link layer stats params
11624 wdiLLStatsSetRspCb : set link layer stats response callback
11625 usrData : Client context
11626 @see
11627 @return SUCCESS or FAIL
11628*/
11629WDI_Status WDI_LLStatsSetReq
11630(
11631 WDI_LLStatsSetReqType* pwdiLLStatsSetReqParams,
11632 WDI_LLStatsSetRspCb wdiLLStatsSetRspCb,
11633 void* pUserData
11634);
11635
11636/**
11637 @brief WDI_LLStatsGetReq
11638 This API is called to send get link layer stats request in FW
11639
11640 @param pwdiLLStatsGetParams : pointer to get link layer stats params
11641 wdiLLStatsGetRspCb : get link layer stats response callback
11642 usrData : Client context
11643 @see
11644 @return SUCCESS or FAIL
11645*/
11646WDI_Status WDI_LLStatsGetReq
11647(
11648 WDI_LLStatsGetReqType* pwdiLLStatsGetReqParams,
11649 WDI_LLStatsGetRspCb wdiLLStatsGetRspCb,
11650 void* pUserData
11651);
11652
11653/**
11654 @brief WDI_LLStatsClearReq
11655 This API is called to set clear link layer stats request in FW
11656
11657 @param pwdiLLStatsClearReqParams : pointer to clear link layer stats params
11658 iwdiLLStatsClearRspCb : clear link layer stats response callback
11659 usrData : Client context
11660 @see
11661 @return SUCCESS or FAIL
11662*/
11663WDI_Status WDI_LLStatsClearReq
11664(
11665 WDI_LLStatsClearReqType* pwdiLLStatsClearReqParams,
11666 WDI_LLStatsClearRspCb wdiLLStatsClearRspCb,
11667 void* pUserData
11668);
11669#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
11670
Abhishek Singh85b74712014-10-08 11:38:19 +053011671WDI_Status WDI_FWStatsGetReq
11672(
11673 void* pwdiFWStatsGetReqParams,
11674 WDI_FWStatsGetRspCb wdiFWStatsGetRspCb,
11675 wpt_uint32 pUserData
11676);
11677
Katya Nigamf0511f62015-05-05 16:40:57 +053011678WDI_Status WDI_MonStartReq
11679(
11680 WDI_MonStartReqType* pwdiMonStartReqParams,
Hanumantha Reddy Pothula91cdd7f2015-09-03 21:25:16 +053011681 WDI_MonModeRspCb wdiMonModeRspCb,
Katya Nigamf0511f62015-05-05 16:40:57 +053011682 void* pUserData
11683);
11684
11685WDI_Status WDI_MonStopReq
11686(
Hanumantha Reddy Pothula91cdd7f2015-09-03 21:25:16 +053011687 WDI_MonModeRspCb wdiMonModeRspCb,
Katya Nigamf0511f62015-05-05 16:40:57 +053011688 void* pUserData
11689);
11690
Rajeev79dbe4c2013-10-05 11:03:42 +053011691#ifdef FEATURE_WLAN_BATCH_SCAN
11692/**
11693 @brief WDI_SetBatchScanReq
11694 This API is called to set batch scan request in FW
11695
11696 @param pBatchScanReqParam : pointer to set batch scan re param
11697 usrData : Client context
11698 setBatchScanRspCb : set batch scan resp callback
11699 @see
11700 @return SUCCESS or FAIL
11701*/
11702WDI_Status WDI_SetBatchScanReq
11703(
11704 void *pBatchScanReqParam,
11705 void *usrData,
11706 WDI_SetBatchScanCb setBatchScanRspCb
11707);
11708
11709/**
11710 @brief WDI_StopBatchScanInd
11711
11712 @param none
11713
11714 @see
11715
11716 @return Status of the request
11717*/
11718WDI_Status
11719WDI_StopBatchScanInd(WDI_StopBatchScanIndType *pWdiReq);
11720
11721/**
11722 @brief WDI_TriggerBatchScanResultInd
11723 This API is called to pull batch scan result from FW
11724
11725 @param pBatchScanReqParam : pointer to trigger batch scan ind param
11726 usrData : Client context
11727 setBatchScanRspCb : get batch scan resp callback
11728 @see
11729 @return SUCCESS or FAIL
11730*/
11731WDI_Status
11732WDI_TriggerBatchScanResultInd(WDI_TriggerBatchScanResultIndType *pWdiReq);
11733
11734
11735#endif /*FEATURE_WLAN_BATCH_SCAN*/
11736
Sandeep Puligilla8b8b74b2014-02-10 16:39:05 +053011737/**
11738 @brief wdi_HT40OBSSScanInd
11739 This API is called to start OBSS scan
11740
11741 @param pWdiReq : pointer to get ind param
11742 @see
11743 @return SUCCESS or FAIL
11744*/
11745
11746WDI_Status WDI_HT40OBSSScanInd(WDI_HT40ObssScanParamsType *pWdiReq);
11747
11748/**
11749 @brief wdi_HT40OBSSStopScanInd
11750 This API is called to stop OBSS scan
11751
11752 @param bssIdx : bssIdx to stop
11753 @see
11754 @return SUCCESS or FAIL
11755*/
11756
11757WDI_Status WDI_HT40OBSSStopScanInd(wpt_uint8 bssIdx);
11758
c_hpothu92367912014-05-01 15:18:17 +053011759
11760WDI_Status WDI_GetBcnMissRate( void *pUserData,
11761 WDI_GetBcnMissRateCb wdiGetBcnMissRateCb,
11762 wpt_uint8 *bssid
11763 );
Siddharth Bhal171788a2014-09-29 21:02:40 +053011764WDI_Status
11765WDI_SetSpoofMacAddrReq
11766(
11767WDI_SpoofMacAddrInfoType *pWdiReq,
11768 WDI_SetSpoofMacAddrRspCb setSpoofMacAddrRspCb,
11769 void* pUserData
11770);
c_hpothu92367912014-05-01 15:18:17 +053011771
Srinivas Dasari4dae48f2014-11-26 21:14:16 +053011772WDI_Status
11773WDI_EncryptMsgReq(void* pwdiEncryptMsgParams,
11774 WDI_EncryptMsgRspCb wdiEncryptMsgCbRsp,
11775 void* pUserData
11776 );
Srinivas Dasari32a79262015-02-19 13:04:49 +053011777
c_manjeecfd1efb2015-09-25 19:32:34 +053011778WDI_Status
11779WDI_FwrMemDumpReq
11780
11781(
11782 WDI_FwrMemDumpReqType *pwdiFwrMemDumpReqInfo,
11783 WDI_FwrMemDumpCb wdiFwrMemDumpRspCb,
11784 void* pUserData
11785);
11786
11787
Srinivas Dasari32a79262015-02-19 13:04:49 +053011788/**
11789 @brief WDI_NanRequest
11790 NAN request
11791
11792 @param pwdiNanRequest: data
11793
11794 pwdiNanCb: callback
11795
11796 usrData: user data will be passed back with the
11797 callback
11798
11799 @return Result of the function call
11800*/
11801WDI_Status
11802WDI_NanRequest
11803(
11804 WDI_NanRequestType *pwdiNanRequest,
11805 void *usrData
11806);
11807
Abhishek Singh41988ba2015-05-25 19:42:29 +053011808/**
11809 @brief WDI_SetRtsCtsHTVhtInd
11810 Set RTS/CTS indication for diff modes.
11811
11812 @param rtsCtsVal: Bit mask value to enable RTS/CTS for different modes
11813
11814 @return Result of the function call
11815*/
11816
11817WDI_Status
11818WDI_SetRtsCtsHTVhtInd
11819(
11820 wpt_uint32 rtsCtsVal
11821);
Srinivas Dasari32a79262015-02-19 13:04:49 +053011822
Mihir Shete5affadc2015-05-29 20:54:57 +053011823WDI_Status
11824WDI_FWLoggingDXEdoneInd
11825(
Hanumantha Reddy Pothulae00a7e22015-09-15 20:11:30 +053011826 wpt_uint32 logType
Mihir Shete5affadc2015-05-29 20:54:57 +053011827);
Srinivas Dasari32a79262015-02-19 13:04:49 +053011828
Mahesh A Saptasagarbeca12c2015-09-07 16:21:06 +053011829/**
11830 @brief WDI_EnableDisableCAEventInd
11831 Enable/Disable Chan Avoidance indication
11832
11833 @param val: Enable/Disable Chan Avoidance indication
11834
11835 @return Result of the function call
11836*/
11837
11838WDI_Status
11839WDI_EnableDisableCAEventInd
11840(
11841wpt_uint32 val
11842);
11843
Padma, Santhosh Kumar2ccac212015-10-20 17:27:27 +053011844#ifdef FEATURE_OEM_DATA_SUPPORT
11845
11846/**
11847 @brief WDI_HighPriorityDataInfoInd
11848
11849 @param pHighPriorityDataInfoIndParams: Req parameter for the FW
11850
11851 @return SUCCESS or FAIL
11852*/
11853WDI_Status
11854WDI_StartOemDataReqIndNew
11855(
11856 WDI_OemDataReqNewConfig *pOemDataReqNewConfig
11857);
11858#endif
11859
Jeff Johnson295189b2012-06-20 16:38:30 -070011860#ifdef __cplusplus
11861 }
11862#endif
11863
Arun Khandavalli7eeb1592015-10-19 21:36:57 +053011864/**
11865 @brief WDI_WifiConfigSetReq
11866 This API is called to send WifiConfig request to FW
11867
11868 @param pwdiWifConfigSetReqParams : pointer to wificonfig params
11869 wdiLLStatsSetRspCb : set wificonfig response callback
11870 usrData : Client context
11871 @see
11872 @return SUCCESS or FAIL
11873*/
11874WDI_Status
11875WDI_WifiConfigSetReq
11876 (WDI_WifiConfigSetReqType* pwdiWifConfigSetReqParams,
11877 WDI_WifiConfigSetRspCb wdiWifiConfigSetRspCb,
11878 void* pUserData);
11879
Mahesh A Saptasagarb63b3e22015-12-22 15:06:10 +053011880/**
11881 @brief WDI_GetCurrentAntennaIndex
11882 This API is called to send getCurretAntennaIndex request to FW
11883
11884 @param pUserData: pointer to request params
11885 wdiLLStatsSetRspCb : set wificonfig response callback
11886 reserved: request parameter
11887 @see
11888 @return SUCCESS or FAIL
11889*/
11890WDI_Status
11891WDI_GetCurrentAntennaIndex
11892(
11893 void *pUserData,
11894 WDI_AntennaDivSelRspCb wdiAntennaDivSelRspCb,
11895 wpt_uint32 reserved
11896);
11897
11898
Jeff Johnson295189b2012-06-20 16:38:30 -070011899#endif /* #ifndef WLAN_QCT_WDI_H */