blob: 11b67a2fe62b6a587a2758cfe21c8b36b1ce2a41 [file] [log] [blame]
Jeff Johnson295189b2012-06-20 16:38:30 -07001/*
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05302 * Copyright (c) 2012-2015 The Linux Foundation. All rights reserved.
Kiet Lam1ed83fc2014-02-19 01:15:45 -08003 *
4 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
5 *
6 *
7 * Permission to use, copy, modify, and/or distribute this software for
8 * any purpose with or without fee is hereby granted, provided that the
9 * above copyright notice and this permission notice appear in all
10 * copies.
11 *
12 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
13 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
14 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
15 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
16 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
17 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
18 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19 * PERFORMANCE OF THIS SOFTWARE.
20 */
21
22/*
Kiet Lama7f454d2014-07-24 12:04:06 -070023 * This file was originally distributed by Qualcomm Atheros, Inc.
24 * under proprietary terms before Copyright ownership was assigned
25 * to the Linux Foundation.
Kiet Lam1ed83fc2014-02-19 01:15:45 -080026 */
27
Jeff Johnson295189b2012-06-20 16:38:30 -070028
Kiet Lama7f454d2014-07-24 12:04:06 -070029
30
Jeff Johnson295189b2012-06-20 16:38:30 -070031#ifndef WLAN_QCT_WDI_H
32#define WLAN_QCT_WDI_H
33
34/*===========================================================================
35
36 W L A N D E V I C E A B S T R A C T I O N L A Y E R
37 E X T E R N A L A P I
38
39
40DESCRIPTION
41 This file contains the external API exposed by the wlan transport layer
42 module.
43
44
Jeff Johnson295189b2012-06-20 16:38:30 -070045===========================================================================*/
46
47
48/*===========================================================================
49
50 EDIT HISTORY FOR FILE
51
52
53 This section contains comments describing changes made to the module.
54 Notice that changes are listed in reverse chronological order.
55
56
57 $Header:$ $DateTime: $ $Author: $
58
59
60when who what, where, why
61-------- --- ----------------------------------------------------------
6210/05/11 hap Adding support for Keep Alive
6308/04/10 lti Created module.
64
65===========================================================================*/
66
67
68
69/*===========================================================================
70
71 INCLUDE FILES FOR MODULE
72
73===========================================================================*/
74
75/*----------------------------------------------------------------------------
76 * Include Files
77 * -------------------------------------------------------------------------*/
78#include "wlan_qct_pal_api.h"
79#include "wlan_qct_pal_type.h"
80#include "wlan_qct_pack_align.h"
81#include "wlan_qct_wdi_cfg.h"
82
83/*----------------------------------------------------------------------------
84 * Preprocessor Definitions and Constants
85 * -------------------------------------------------------------------------*/
86#ifdef __cplusplus
87 extern "C" {
88#endif
89
90/* MAC ADDRESS LENGTH - per spec*/
91#define WDI_MAC_ADDR_LEN 6
92
93/* Max number of 11b rates -> 1,2,5.5,11 */
94#define WDI_NUM_11B_RATES 4
95
96/* Max number of 11g rates -> 6,9,12,18,24,36,48,54*/
97#define WDI_NUM_11A_RATES 8
98
99/* Max number of legacy rates -> 72, 96, 108*/
100#define WDI_NUM_POLARIS_RATES 3
101
102/* Max supported MCS set*/
103#define WDI_MAC_MAX_SUPPORTED_MCS_SET 16
104
105/*Max number of Access Categories for QoS - per spec */
106#define WDI_MAX_NO_AC 4
107
108/*Max. size for reserving the Beacon Template */
109#define WDI_BEACON_TEMPLATE_SIZE 0x180
110
111#define WDI_WOWL_BCAST_PATTERN_MAX_SIZE 128
112
113#define WDI_WOWL_BCAST_MAX_NUM_PATTERNS 16
114
115#define WDI_MAX_SSID_SIZE 32
116
117/* The shared memory between WDI and HAL is 4K so maximum data can be transferred
118from WDI to HAL is 4K.This 4K should also include the Message header so sending 4K
119of NV fragment is nt possbile.The next multiple of 1Kb is 3K */
120
121#define FRAGMENT_SIZE 3072
122
123/* Macro to find the total number fragments of the NV Image*/
Madan Mohan Koyyalamudia53c4dc2012-11-13 10:35:42 -0800124#define TOTALFRAGMENTS(x) (((x % FRAGMENT_SIZE) == 0) ? (x / FRAGMENT_SIZE):((x / FRAGMENT_SIZE) + 1))
Jeff Johnson295189b2012-06-20 16:38:30 -0700125
126/* Beacon Filter Length*/
Abhishek Singh5fef4042014-11-25 18:33:00 +0530127#define WDI_BEACON_FILTER_LEN 90
Jeff Johnson295189b2012-06-20 16:38:30 -0700128
129/* Coex Indication data size - should match WLAN_COEX_IND_DATA_SIZE */
130#define WDI_COEX_IND_DATA_SIZE (4)
131
132#define WDI_CIPHER_SEQ_CTR_SIZE 6
133
134#define WDI_NUM_BSSID 2
135
136/*Version string max length (including NUL) */
137#define WDI_VERSION_LENGTH 64
138
139
140/*WDI Response timeout - how long will WDI wait for a response from the device
141 - it should be large enough to allow any other failure mechanism to kick
142 in before we get to a timeout (ms units)*/
143#define WDI_RESPONSE_TIMEOUT 10000
144
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -0700145/* SSR timeout - If Riva initiated SSR doesn't happen during this time, then the
146 * Apps initiated SSR will be performed */
147#define WDI_SSR_TIMEOUT 5000
148
Jeff Johnson295189b2012-06-20 16:38:30 -0700149#define WDI_SET_POWER_STATE_TIMEOUT 10000 /* in msec a very high upper limit */
150
Yue Mab9c86f42013-08-14 15:59:08 -0700151/* Periodic Tx pattern offload feature */
152#define PERIODIC_TX_PTRN_MAX_SIZE 1536
153#define MAXNUM_PERIODIC_TX_PTRNS 6
Srinivas Dasari4dae48f2014-11-26 21:14:16 +0530154#define WDI_DISA_MAX_PAYLOAD_SIZE 1600
Siddharth Bhald1be97f2015-05-27 22:39:59 +0530155#define MAX_NUM_OF_BUFFER 3
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,
Jeff Johnson295189b2012-06-20 16:38:30 -0700423 WDI_MAX_IND
424}WDI_LowLevelIndEnumType;
425
426
427/*---------------------------------------------------------------------------
428 WDI_LowRSSIThIndType
429---------------------------------------------------------------------------*/
430typedef struct
431{
432 /*Positive crossing of Rssi Thresh1*/
433 wpt_uint32 bRssiThres1PosCross : 1;
434 /*Negative crossing of Rssi Thresh1*/
435 wpt_uint32 bRssiThres1NegCross : 1;
436 /*Positive crossing of Rssi Thresh2*/
437 wpt_uint32 bRssiThres2PosCross : 1;
438 /*Negative crossing of Rssi Thresh2*/
439 wpt_uint32 bRssiThres2NegCross : 1;
440 /*Positive crossing of Rssi Thresh3*/
441 wpt_uint32 bRssiThres3PosCross : 1;
442 /*Negative crossing of Rssi Thresh3*/
443 wpt_uint32 bRssiThres3NegCross : 1;
444
Srinivasdaaec712012-12-12 15:59:44 -0800445 wpt_uint32 avgRssi : 8;
446 wpt_uint32 bReserved : 18;
Jeff Johnson295189b2012-06-20 16:38:30 -0700447
448}WDI_LowRSSIThIndType;
449
450
451/*---------------------------------------------------------------------------
452 WDI_UnkAddr2FrmRxIndType
453---------------------------------------------------------------------------*/
454typedef struct
455{
456 /*Rx Bd data of the unknown received addr2 frame.*/
457 void* bufRxBd;
458
459 /*Buffer Length*/
460 wpt_uint16 usBufLen;
461}WDI_UnkAddr2FrmRxIndType;
462
463/*---------------------------------------------------------------------------
464 WDI_DeleteSTAIndType
465---------------------------------------------------------------------------*/
466typedef struct
467{
468 /*ASSOC ID, as assigned by UMAC*/
469 wpt_uint16 usAssocId;
470
471 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
472 wpt_uint8 ucSTAIdx;
473
474 /*BSSID of STA*/
475 wpt_macAddr macBSSID;
476
477 /*MAC ADDR of STA*/
478 wpt_macAddr macADDR2;
479
480 /* To unify the keepalive / unknown A2 / tim-based disa*/
481 wpt_uint16 wptReasonCode;
482
483}WDI_DeleteSTAIndType;
484
485/*---------------------------------------------------------------------------
486 WDI_MicFailureIndType
487---------------------------------------------------------------------------*/
488typedef struct
489{
490 /*current BSSID*/
491 wpt_macAddr bssId;
492
493 /*Source mac address*/
494 wpt_macAddr macSrcAddr;
495
496 /*Transmitter mac address*/
497 wpt_macAddr macTaAddr;
498
499 /*Destination mac address*/
500 wpt_macAddr macDstAddr;
501
502 /*Multicast flag*/
503 wpt_uint8 ucMulticast;
504
505 /*First byte of IV*/
506 wpt_uint8 ucIV1;
507
508 /*Key Id*/
509 wpt_uint8 keyId;
510
511 /*Sequence Number*/
512 wpt_uint8 TSC[WDI_CIPHER_SEQ_CTR_SIZE];
513
514 /*receive address */
515 wpt_macAddr macRxAddr;
516}WDI_MicFailureIndType;
517
518/*---------------------------------------------------------------------------
519 WDI_CoexIndType
520---------------------------------------------------------------------------*/
521typedef struct
522{
523 wpt_uint32 coexIndType;
524 wpt_uint32 coexIndData[WDI_COEX_IND_DATA_SIZE];
525} WDI_CoexIndType;
526
527/*---------------------------------------------------------------------------
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +0530528 WDI_DHCPInd
529---------------------------------------------------------------------------*/
530
531typedef struct
532{
533 wpt_uint8 device_mode;
534 wpt_uint8 macAddr[WDI_MAC_ADDR_LEN];
535}WDI_DHCPInd;
536
537/*---------------------------------------------------------------------------
538
Jeff Johnson295189b2012-06-20 16:38:30 -0700539 WDI_MacSSid
540---------------------------------------------------------------------------*/
541typedef struct
542{
543 wpt_uint8 ucLength;
544 wpt_uint8 sSSID[WDI_MAX_SSID_SIZE];
545} WDI_MacSSid;
546
547#ifdef FEATURE_WLAN_SCAN_PNO
548/*---------------------------------------------------------------------------
549 WDI_PrefNetworkFoundInd
550---------------------------------------------------------------------------*/
551typedef struct
552{
553 /* Network that was found with the highest RSSI*/
Srikant Kuppa066904f2013-05-07 13:56:02 -0700554 WDI_MacSSid ssId;
Jeff Johnson295189b2012-06-20 16:38:30 -0700555 /* Indicates the RSSI */
Srikant Kuppa066904f2013-05-07 13:56:02 -0700556 wpt_uint8 rssi;
557 wpt_uint16 frameLength;
558 wpt_uint8 *pData;
Jeff Johnson295189b2012-06-20 16:38:30 -0700559} WDI_PrefNetworkFoundInd;
560#endif // FEATURE_WLAN_SCAN_PNO
561
Jeff Johnson295189b2012-06-20 16:38:30 -0700562/*---------------------------------------------------------------------------
563 *WDI_P2pNoaAttrIndType
564 *-------------------------------------------------------------------------*/
Jeff Johnson295189b2012-06-20 16:38:30 -0700565typedef struct
566{
567 wpt_uint8 ucIndex ;
568 wpt_uint8 ucOppPsFlag ;
569 wpt_uint16 usCtWin ;
570
571 wpt_uint16 usNoa1IntervalCnt;
572 wpt_uint16 usRsvd1 ;
573 wpt_uint32 uslNoa1Duration;
574 wpt_uint32 uslNoa1Interval;
575 wpt_uint32 uslNoa1StartTime;
576
577 wpt_uint16 usNoa2IntervalCnt;
578 wpt_uint16 usRsvd2;
579 wpt_uint32 uslNoa2Duration;
580 wpt_uint32 uslNoa2Interval;
581 wpt_uint32 uslNoa2StartTime;
582
583 wpt_uint32 status;
584}WDI_P2pNoaAttrIndType;
Viral Modid86bde22012-12-10 13:09:21 -0800585
586/*---------------------------------------------------------------------------
587 *WDI_P2pNoaStartIndType
588 *-------------------------------------------------------------------------*/
589typedef struct
590{
591 wpt_uint32 status;
592 wpt_uint32 bssIdx;
593}WDI_P2pNoaStartIndType;
594
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530595/*---------------------------------------------------------------------------
596 *WDI_TdlsIndType
597 *-------------------------------------------------------------------------*/
598typedef struct
599{
600 wpt_uint16 status;
601 wpt_uint16 assocId;
602 wpt_uint16 staIdx;
603 wpt_uint16 reasonCode;
604}WDI_TdlsIndType;
Jeff Johnson295189b2012-06-20 16:38:30 -0700605
606#ifdef WLAN_WAKEUP_EVENTS
607/*---------------------------------------------------------------------------
608 WDI_WakeReasonIndType
609---------------------------------------------------------------------------*/
610typedef struct
611{
612 wpt_uint32 ulReason; /* see tWakeReasonType */
613 wpt_uint32 ulReasonArg; /* argument specific to the reason type */
614 wpt_uint32 ulStoredDataLen; /* length of optional data stored in this message, in case
615 HAL truncates the data (i.e. data packets) this length
616 will be less than the actual length */
617 wpt_uint32 ulActualDataLen; /* actual length of data */
618 wpt_uint8 aDataStart[1]; /* variable length start of data (length == storedDataLen)
619 see specific wake type */
620} WDI_WakeReasonIndType;
621#endif // WLAN_WAKEUP_EVENTS
622
Srinivas Dasari32a79262015-02-19 13:04:49 +0530623typedef struct
624{
625 wpt_uint16 event_data_len;
626 wpt_uint8* event_data;
627} WDI_NanEventType;
628
629
Jeff Johnson295189b2012-06-20 16:38:30 -0700630/*---------------------------------------------------------------------------
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800631 WDI_MissedBeaconIndType
632-----------------------------------------------------------------------------*/
633typedef struct
634{
635 wpt_uint8 bssIdx; /*bssidx on which beacon is missed*/
636} WDI_MissedBeaconIndType;
637
Leo Chang9056f462013-08-01 19:21:11 -0700638#ifdef FEATURE_WLAN_LPHB
639/*---------------------------------------------------------------------------
640 WDI_LPHBTimeoutIndData
641-----------------------------------------------------------------------------*/
642typedef struct
643{
644 wpt_uint8 bssIdx;
645 wpt_uint8 sessionIdx;
646 wpt_uint8 protocolType; /*TCP or UDP*/
647 wpt_uint8 eventReason;
648} WDI_LPHBTimeoutIndData;
649#endif /* FEATURE_WLAN_LPHB */
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800650
Yue Mab9c86f42013-08-14 15:59:08 -0700651/*-----------------------------------------------------------------------------
652WDI_PeriodicTxPtrnFwIndType
653-----------------------------------------------------------------------------*/
654typedef struct
655{
656 wpt_uint8 bssIdx;
657 wpt_uint32 selfStaIdx;
658 wpt_uint32 status;
659 wpt_uint32 patternIdBitmap;
660} WDI_PeriodicTxPtrnFwIndType;
661
Rajeev79dbe4c2013-10-05 11:03:42 +0530662#ifdef FEATURE_WLAN_BATCH_SCAN
663/*---------------------------------------------------------------------------
664 WDI_SetBatchScanReqType
665---------------------------------------------------------------------------*/
666typedef struct
667{
668 wpt_uint32 scanFrequency; /* how frequent to do scan default 30Sec*/
669 wpt_uint32 numberOfScansToBatch; /* number of scans to batch */
670 wpt_uint32 bestNetwork; /* best networks in terms of rssi */
671 wpt_uint8 rfBand; /* band to scan :
672 0 ->both Band, 1->2.4Ghz Only
673 and 2-> 5GHz Only */
674 wpt_uint32 rtt; /* set if required to do RTT it is not
675 supported in current version */
676}WDI_SetBatchScanReqType;
677
678/*---------------------------------------------------------------------------
679 WDI_SetBatchScanRspType
680---------------------------------------------------------------------------*/
681typedef struct
682{
683 /*max number of scans which FW can cache*/
684 wpt_uint32 nScansToBatch;
685}WDI_SetBatchScanRspType;
686
687/*---------------------------------------------------------------------------
688 WDI_TriggerBatchScanResultIndType
689---------------------------------------------------------------------------*/
690typedef struct
691{
692 wpt_uint32 param;
693}WDI_TriggerBatchScanResultIndType;
694
695/*---------------------------------------------------------------------------
696 WDI_StopBatchScanIndType
697---------------------------------------------------------------------------*/
698typedef struct
699{
700 /*max number of scans which FW can cache*/
701 wpt_uint32 param;
702}WDI_StopBatchScanIndType;
703
704
705/*---------------------------------------------------------------------------
706 * WDI_BatchScanResultIndType
707 *--------------------------------------------------------------------------*/
708typedef struct
709{
710 wpt_uint32 bssid[6]; /* BSSID */
711 wpt_uint32 ssid[32]; /* SSID */
712 wpt_uint32 ch; /* Channel */
713 wpt_uint32 rssi; /* RSSI or Level */
714 /* Timestamp when Network was found. Used to calculate age based on
715 timestamp in GET_RSP msg header */
716 wpt_uint32 timestamp;
717} tWDIBatchScanNetworkInfo, *tpWDIBatchScanNetworkInfo;
718
719typedef struct
720{
721 wpt_uint32 scanId; /*Scan List ID*/
722 /*No of AP in a Scan Result. Should be same as bestNetwork in SET_REQ msg*/
723 wpt_uint32 numNetworksInScanList;
724 /*Variable data ptr: Number of AP in Scan List*/
725 wpt_uint32 scanList[1];
726} tWDIBatchScanList, *tpWDIBatchScanList;
727
728typedef struct
729{
730 wpt_uint32 timestamp;
731 wpt_uint32 numScanLists;
732 wpt_boolean isLastResult;
733 /* Variable Data ptr: Number of Scan Lists*/
734 wpt_uint32 scanResults[1];
735} tWDIBatchScanResultParam, *tpWDIBatchScanResultParam;
736
737#endif
738
739
Sachin Ahuja3d47fcd2015-08-28 16:02:06 +0530740typedef struct
741{
742 wpt_uint8 bssIdx;
743 wpt_uint8 rssi;
744 wpt_uint8 selfMacAddr[WDI_MAC_ADDR_LEN];
745 wpt_uint32 linkFlCnt;
746 wpt_uint32 linkFlTx;
747 wpt_uint32 lastDataRate;
748 wpt_uint32 rsvd1;
749 wpt_uint32 rsvd2;
750
751}WDI_LostLinkParamsIndType;
752
Gupta, Kapil7c34b322015-09-30 13:12:35 +0530753typedef struct
754{
755 wpt_uint32 request_id;
756 wpt_uint8 bssId[WDI_MAC_ADDR_LEN];
757 wpt_int8 rssi;
758}WDI_RssiBreachedIndType;
759
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800760/*---------------------------------------------------------------------------
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700761 WDI_IbssPeerInactivityIndType
762-----------------------------------------------------------------------------*/
763typedef struct
764{
765 wpt_uint8 bssIdx;
766 wpt_uint8 staIdx;
767 wpt_macAddr staMacAddr;
768}WDI_IbssPeerInactivityIndType;
769
770/*---------------------------------------------------------------------------
Chittajit Mitraf5413a42013-10-18 14:20:08 -0700771 WDI_TxRateFlags
772-----------------------------------------------------------------------------*/
773typedef enum
774{
775 WDI_TX_RATE_LEGACY = 0x1, /* Legacy rates */
776 WDI_TX_RATE_HT20 = 0x2, /* HT20 rates */
777 WDI_TX_RATE_HT40 = 0x4, /* HT40 rates */
778 WDI_TX_RATE_SGI = 0x8, /* Rate with Short guard interval */
779 WDI_TX_RATE_LGI = 0x10, /* Rate with Long guard interval */
780 WDI_TX_RATE_VHT20 = 0x20, /* VHT 20 rates */
781 WDI_TX_RATE_VHT40 = 0x40, /* VHT 20 rates */
782 WDI_TX_RATE_VHT80 = 0x80, /* VHT 20 rates */
783 WDI_TX_RATE_VIRT = 0x100, /* Virtual Rate */
784} WDI_TxRateFlags;
785
786/*---------------------------------------------------------------------------
787 WDI_RateUpdateIndParams
788-----------------------------------------------------------------------------*/
789typedef struct
790{
791 /* 0 implies RA, positive value implies fixed rate, -1 implies ignore this
792 * param ucastDataRate can be used to control RA behavior of unicast data to
793 */
794 wpt_int32 ucastDataRate;
795
796 /* TX flag to differentiate between HT20, HT40 etc */
797 WDI_TxRateFlags ucastDataRateTxFlag;
798
799 /* BSSID - Optional. 00-00-00-00-00-00 implies apply to all BCAST STAs */
800 wpt_macAddr bssid;
801
802 /*
803 * 0 implies MCAST RA, positive value implies fixed rate,
804 * -1 implies ignore this param
805 */
806 wpt_int32 reliableMcastDataRate; //unit Mbpsx10
807
808 /* TX flag to differentiate between HT20, HT40 etc */
809 WDI_TxRateFlags reliableMcastDataRateTxFlag;
810
811 /*
812 * MCAST(or BCAST) fixed data rate in 2.4 GHz, unit Mbpsx10,
813 * 0 implies ignore
814 */
815 wpt_uint32 mcastDataRate24GHz;
816
817 /* TX flag to differentiate between HT20, HT40 etc */
818 WDI_TxRateFlags mcastDataRate24GHzTxFlag;
819
820 /*
821 * MCAST(or BCAST) fixed data rate in 5 GHz,
822 * unit Mbpsx10, 0 implies ignore
823 */
824 wpt_uint32 mcastDataRate5GHz;
825
826 /* TX flag to differentiate between HT20, HT40 etc */
827 WDI_TxRateFlags mcastDataRate5GHzTxFlag;
828
829 /*
830 * Request status callback offered by UMAC - it is called if the current
831 * req has returned PENDING as status; it delivers the status of sending
832 * the message over the BUS
833 */
834 WDI_ReqStatusCb wdiReqStatusCB;
835
836 /*
837 * The user data passed in by UMAC, it will be sent back when the above
838 * function pointer will be called
839 */
840 void *pUserData;
841
842} WDI_RateUpdateIndParams;
843
Abhishek Singh85b74712014-10-08 11:38:19 +0530844typedef struct
845{
846 wpt_uint32 ubsp_enter_cnt;
847 wpt_uint32 ubsp_jump_ddr_cnt;
848}ubspFwStats;
849
850typedef struct
851{
852 wpt_uint32 type;
853 /*data*/
854 union{
855 ubspFwStats ubspStats;
856 }wdiFwStatsData;
857} WDI_FWStatsResults;
858
Leo Chang0b0e45a2013-12-15 15:18:55 -0800859#ifdef FEATURE_WLAN_CH_AVOID
Abhishek Singhe34eb552015-06-18 10:12:15 +0530860#define WDI_CH_AVOID_MAX_RANGE 15
Leo Chang0b0e45a2013-12-15 15:18:55 -0800861
862typedef struct
863{
864 wpt_uint32 startFreq;
865 wpt_uint32 endFreq;
866} WDI_ChAvoidFreqType;
867
868typedef struct
869{
870 wpt_uint32 avoidRangeCount;
871 WDI_ChAvoidFreqType avoidFreqRange[WDI_CH_AVOID_MAX_RANGE];
872} WDI_ChAvoidIndType;
873#endif /* FEATURE_WLAN_CH_AVOID */
874
Dino Mycled3d50022014-07-07 12:58:25 +0530875#ifdef WLAN_FEATURE_LINK_LAYER_STATS
876typedef struct
877{
878 void *pLinkLayerStatsResults;
879 wpt_macAddr macAddr;
880} WDI_LinkLayerStatsResults;
881
882#endif
Abhishek Singh66c16762014-08-14 19:13:19 +0530883
884typedef struct
885{
886 /*STA Index*/
887 wpt_uint16 staIdx;
888
889 /*Peer MAC*/
890 wpt_macAddr peerMacAddr;
891
892 // TID for which a BA session timeout is being triggered
893 wpt_uint8 baTID;
894 // DELBA direction
895 // 1 - Originator
896 // 0 - Recipient
897 wpt_uint8 baDirection;
898 wpt_uint32 reasonCode;
899 /*MAC ADDR of STA*/
900 wpt_macAddr bssId; // TO SUPPORT BT-AMP
901} WDI_DeleteBAIndType;
902
Ganesh Kondabattinib18b3292015-03-16 16:59:26 +0530903typedef struct
904{
905 wpt_uint32 tx_complete_status;
906 wpt_uint32 tx_bd_token;
907} WDI_TxBDStatus;
Chittajit Mitraf5413a42013-10-18 14:20:08 -0700908/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -0700909 WDI_LowLevelIndType
910 Inidcation type and information about the indication being carried
911 over
912---------------------------------------------------------------------------*/
913typedef struct
914{
915 /*Inidcation type*/
916 WDI_LowLevelIndEnumType wdiIndicationType;
917
918 /*Indication data*/
919 union
920 {
921 /*RSSI Threshold Info for WDI_LOW_RSSI_IND*/
922 WDI_LowRSSIThIndType wdiLowRSSIInfo;
923
924 /*Addr2 Frame Info for WDI_UNKNOWN_ADDR2_FRAME_RX_IND*/
925 WDI_UnkAddr2FrmRxIndType wdiUnkAddr2FrmInfo;
926
927 /*MIC Failure info for WDI_MIC_FAILURE_IND*/
928 WDI_MicFailureIndType wdiMICFailureInfo;
929
930 /*Error code for WDI_FATAL_ERROR_IND*/
931 wpt_uint16 usErrorCode;
932
933 /*Delete STA Indication*/
934 WDI_DeleteSTAIndType wdiDeleteSTAIndType;
935
936 /*Coex Indication*/
937 WDI_CoexIndType wdiCoexInfo;
938
939 /* Tx Complete Indication */
940 wpt_uint32 tx_complete_status;
941
Jeff Johnson295189b2012-06-20 16:38:30 -0700942 /* P2P NOA ATTR Indication */
943 WDI_P2pNoaAttrIndType wdiP2pNoaAttrInfo;
Viral Modid86bde22012-12-10 13:09:21 -0800944 WDI_P2pNoaStartIndType wdiP2pNoaStartInfo;
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530945 /* TDLS Indications */
946 WDI_TdlsIndType wdiTdlsIndInfo;
Jeff Johnson295189b2012-06-20 16:38:30 -0700947
948
949#ifdef FEATURE_WLAN_SCAN_PNO
950 WDI_PrefNetworkFoundInd wdiPrefNetworkFoundInd;
951#endif // FEATURE_WLAN_SCAN_PNO
952
953#ifdef WLAN_WAKEUP_EVENTS
954 WDI_WakeReasonIndType wdiWakeReasonInd;
955#endif // WLAN_WAKEUP_EVENTS
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800956 WDI_MissedBeaconIndType wdiMissedBeaconInd;
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700957
Leo Chang9056f462013-08-01 19:21:11 -0700958#ifdef FEATURE_WLAN_LPHB
959 WDI_LPHBTimeoutIndData wdiLPHBTimeoutInd;
960#endif /* FEATURE_WLAN_LPHB */
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700961
962 /* IBSS Peer Inactivity Indication */
963 WDI_IbssPeerInactivityIndType wdiIbssPeerInactivityInd;
964
Yue Mab9c86f42013-08-14 15:59:08 -0700965 /* Periodic TX Pattern FW Indication */
966 WDI_PeriodicTxPtrnFwIndType wdiPeriodicTxPtrnFwInd;
Rajeev79dbe4c2013-10-05 11:03:42 +0530967
968#ifdef FEATURE_WLAN_BATCH_SCAN
969 /*batch scan result indication from FW*/
970 void *pBatchScanResult;
971#endif
972
Leo Chang0b0e45a2013-12-15 15:18:55 -0800973#ifdef FEATURE_WLAN_CH_AVOID
974 WDI_ChAvoidIndType wdiChAvoidInd;
975#endif /* FEATURE_WLAN_CH_AVOID */
Sunil Duttbd736ed2014-05-26 21:19:41 +0530976
977#ifdef WLAN_FEATURE_LINK_LAYER_STATS
978 /*Link Layer Statistics from FW*/
Dino Mycled3d50022014-07-07 12:58:25 +0530979 WDI_LinkLayerStatsResults wdiLinkLayerStatsResults;
Sunil Duttbd736ed2014-05-26 21:19:41 +0530980#endif
Dino Mycle41bdc942014-06-10 11:30:24 +0530981#ifdef WLAN_FEATURE_EXTSCAN
982 /*EXTSCAN Results from FW*/
983 void *pEXTScanIndData;
984#endif
Abhishek Singh66c16762014-08-14 19:13:19 +0530985 WDI_DeleteBAIndType wdiDeleteBAInd;
Srinivas Dasari32a79262015-02-19 13:04:49 +0530986
987 WDI_NanEventType wdiNanEvent;
Ganesh Kondabattinib18b3292015-03-16 16:59:26 +0530988
989 WDI_TxBDStatus wdiTxBdInd;
Sachin Ahuja3d47fcd2015-08-28 16:02:06 +0530990 WDI_LostLinkParamsIndType wdiLostLinkParamsInd;
Gupta, Kapil7c34b322015-09-30 13:12:35 +0530991 WDI_RssiBreachedIndType wdiRssiBreachedInd;
Jeff Johnson295189b2012-06-20 16:38:30 -0700992 } wdiIndicationData;
993}WDI_LowLevelIndType;
994
995/*---------------------------------------------------------------------------
996 WDI_LowLevelIndCBType
997
998 DESCRIPTION
999
1000 This callback is invoked by DAL to deliver to UMAC certain indications
1001 that has either received from the lower device or has generated itself.
1002
1003 PARAMETERS
1004
1005 IN
1006 pwdiInd: information about the indication sent over
1007 pUserData: user data provided by UMAC during registration
1008
1009
1010
1011 RETURN VALUE
1012 The result code associated with performing the operation
1013---------------------------------------------------------------------------*/
1014typedef void (*WDI_LowLevelIndCBType)(WDI_LowLevelIndType* pwdiInd,
1015 void* pUserData);
1016
1017/*---------------------------------------------------------------------------
1018 WDI_DriverType
1019---------------------------------------------------------------------------*/
1020typedef enum
1021{
1022 WDI_DRIVER_TYPE_PRODUCTION = 0,
1023 WDI_DRIVER_TYPE_MFG = 1,
1024 WDI_DRIVER_TYPE_DVT = 2
1025} WDI_DriverType;
1026
1027/*---------------------------------------------------------------------------
1028 WDI_StartReqParamsType
1029---------------------------------------------------------------------------*/
1030typedef struct
1031{
1032 /*This is a TLV formatted buffer containing all config values that can
1033 be set through the DAL Interface
1034
1035 The TLV is expected to be formatted like this:
1036
1037 0 7 15 31 ....
1038 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
1039
1040 Or from a C construct point of VU it would look like this:
1041
1042 typedef struct WPT_PACK_POST
1043 {
1044 #ifdef WPT_BIG_ENDIAN
1045 wpt_uint32 ucCfgId:8;
1046 wpt_uint32 ucCfgLen:8;
1047 wpt_uint32 usReserved:16;
1048 #else
1049 wpt_uint32 usReserved:16;
1050 wpt_uint32 ucCfgLen:8;
1051 wpt_uint32 ucCfgId:8;
1052 #endif
1053
1054 wpt_uint8 ucCfgBody[ucCfgLen];
1055 }WDI_ConfigType;
1056
1057 Multiple such tuplets are to be placed in the config buffer. One for
1058 each required configuration item:
1059
1060 | TLV 1 | TLV2 | ....
1061
1062 The buffer is expected to be a flat area of memory that can be manipulated
1063 with standard memory routines.
1064
1065 For more info please check paragraph 2.3.1 Config Structure from the
1066 HAL LLD.
1067
1068 For a list of accepted configuration list and IDs please look up
1069 wlan_qct_dal_cfg.h
1070
1071 */
1072 void* pConfigBuffer;
1073
1074 /*Length of the config buffer above*/
1075 wpt_uint16 usConfigBufferLen;
1076
1077 /*Production or FTM driver*/
1078 WDI_DriverType wdiDriverType;
1079
1080 /*Should device enable frame translation */
1081 wpt_uint8 bFrameTransEnabled;
1082
1083 /*Request status callback offered by UMAC - it is called if the current
1084 req has returned PENDING as status; it delivers the status of sending
1085 the message over the BUS */
1086 WDI_ReqStatusCb wdiReqStatusCB;
1087
1088 /*The user data passed in by UMAC, it will be sent back when the above
1089 function pointer will be called */
1090 void* pUserData;
1091
1092 /*Indication callback given by UMAC to be called by the WLAN DAL when it
1093 wishes to send something back independent of a request*/
1094 WDI_LowLevelIndCBType wdiLowLevelIndCB;
1095
1096 /*The user data passed in by UMAC, it will be sent back when the indication
1097 function pointer will be called */
1098 void* pIndUserData;
1099}WDI_StartReqParamsType;
1100
1101
1102/*---------------------------------------------------------------------------
1103 WDI_StartRspParamsType
1104---------------------------------------------------------------------------*/
1105typedef struct
1106{
1107 /*Status of the response*/
1108 WDI_Status wdiStatus;
1109
1110 /*Max number of STA supported by the device*/
1111 wpt_uint8 ucMaxStations;
1112
1113 /*Max number of BSS supported by the device*/
1114 wpt_uint8 ucMaxBssids;
1115
1116 /*Version of the WLAN HAL API with which we were compiled*/
1117 WDI_WlanVersionType wlanCompiledVersion;
1118
1119 /*Version of the WLAN HAL API that was reported*/
1120 WDI_WlanVersionType wlanReportedVersion;
1121
1122 /*WCNSS Software version string*/
1123 wpt_uint8 wcnssSoftwareVersion[WDI_VERSION_LENGTH];
1124
1125 /*WCNSS Hardware version string*/
1126 wpt_uint8 wcnssHardwareVersion[WDI_VERSION_LENGTH];
1127}WDI_StartRspParamsType;
1128
1129
1130/*---------------------------------------------------------------------------
1131 WDI_StopType
1132---------------------------------------------------------------------------*/
1133typedef enum
1134{
1135 /*Device is being stopped due to a reset*/
1136 WDI_STOP_TYPE_SYS_RESET,
1137
1138 /*Device is being stopped due to entering deep sleep*/
1139 WDI_STOP_TYPE_SYS_DEEP_SLEEP,
1140
1141 /*Device is being stopped because the RF needs to shut off
1142 (e.g.:Airplane mode)*/
1143 WDI_STOP_TYPE_RF_KILL
1144}WDI_StopType;
1145
1146/*---------------------------------------------------------------------------
1147 WDI_StopReqParamsType
1148---------------------------------------------------------------------------*/
1149typedef struct
1150{
1151
1152 /*The reason for which the device is being stopped*/
1153 WDI_StopType wdiStopReason;
1154
1155 /*Request status callback offered by UMAC - it is called if the current
1156 req has returned PENDING as status; it delivers the status of sending
1157 the message over the BUS */
1158 WDI_ReqStatusCb wdiReqStatusCB;
1159
1160 /*The user data passed in by UMAC, it will be sent back when the above
1161 function pointer will be called */
1162 void* pUserData;
1163}WDI_StopReqParamsType;
1164
1165
1166/*---------------------------------------------------------------------------
1167 WDI_ScanMode
1168---------------------------------------------------------------------------*/
1169typedef enum
1170{
1171 WDI_SCAN_MODE_NORMAL = 0,
1172 WDI_SCAN_MODE_LEARN,
1173 WDI_SCAN_MODE_SCAN,
1174 WDI_SCAN_MODE_PROMISC,
Madan Mohan Koyyalamudi9b876782012-10-11 16:22:51 -07001175 WDI_SCAN_MODE_SUSPEND_LINK,
1176 WDI_SCAN_MODE_ROAM_SCAN,
1177 WDI_SCAN_MODE_ROAM_SUSPEND_LINK,
1178
Jeff Johnson295189b2012-06-20 16:38:30 -07001179} WDI_ScanMode;
1180
1181/*---------------------------------------------------------------------------
1182 WDI_ScanEntry
1183---------------------------------------------------------------------------*/
1184typedef struct
1185{
1186 wpt_uint8 bssIdx[WDI_NUM_BSSID];
1187 wpt_uint8 activeBSScnt;
1188}WDI_ScanEntry;
1189
1190/*---------------------------------------------------------------------------
1191 WDI_InitScanReqInfoType
1192---------------------------------------------------------------------------*/
1193typedef struct
1194{
1195 /*LEARN - AP Role
1196 SCAN - STA Role*/
1197 WDI_ScanMode wdiScanMode;
1198
1199 /*BSSID of the BSS*/
1200 wpt_macAddr macBSSID;
1201
1202 /*Whether BSS needs to be notified*/
1203 wpt_boolean bNotifyBSS;
1204
1205 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
1206 CTS to Self). Must always be a valid frame type.*/
1207 wpt_uint8 ucFrameType;
1208
1209 /*UMAC has the option of passing the MAC frame to be used for notifying
1210 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
1211 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
1212 frameType.*/
1213 wpt_uint8 ucFrameLength;
1214
1215 /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/
1216 WDI_MacMgmtHdr wdiMACMgmtHdr;
1217
1218 /*Entry to hold number of active BSS to send NULL frames before
1219 * initiating SCAN*/
1220 WDI_ScanEntry wdiScanEntry;
1221
1222 /* Flag to enable/disable Single NOA*/
1223 wpt_boolean bUseNOA;
1224
1225 /* Indicates the scan duration (in ms) */
1226 wpt_uint16 scanDuration;
1227
1228}WDI_InitScanReqInfoType;
1229
1230/*---------------------------------------------------------------------------
1231 WDI_InitScanReqParamsType
1232---------------------------------------------------------------------------*/
1233typedef struct
1234{
1235 /*The info associated with the request that needs to be sent over to the
1236 device*/
1237 WDI_InitScanReqInfoType wdiReqInfo;
1238
1239 /*Request status callback offered by UMAC - it is called if the current
1240 req has returned PENDING as status; it delivers the status of sending
1241 the message over the BUS */
1242 WDI_ReqStatusCb wdiReqStatusCB;
1243
1244 /*The user data passed in by UMAC, it will be sent back when the above
1245 function pointer will be called */
1246 void* pUserData;
1247}WDI_InitScanReqParamsType;
1248
1249/*---------------------------------------------------------------------------
1250 WDI_StartScanReqParamsType
1251---------------------------------------------------------------------------*/
1252typedef struct
1253{
1254 /*Indicates the channel to scan*/
1255 wpt_uint8 ucChannel;
1256
1257 /*Request status callback offered by UMAC - it is called if the current
1258 req has returned PENDING as status; it delivers the status of sending
1259 the message over the BUS */
1260 WDI_ReqStatusCb wdiReqStatusCB;
1261
1262 /*The user data passed in by UMAC, it will be sent back when the above
1263 function pointer will be called */
1264 void* pUserData;
1265}WDI_StartScanReqParamsType;
1266
1267/*---------------------------------------------------------------------------
1268 WDI_StartScanRspParamsType
1269---------------------------------------------------------------------------*/
1270typedef struct
1271{
1272 /*Indicates the status of the operation */
1273 WDI_Status wdiStatus;
1274
1275#if defined WLAN_FEATURE_VOWIFI
1276 wpt_uint32 aStartTSF[2];
1277 wpt_int8 ucTxMgmtPower;
1278#endif
1279}WDI_StartScanRspParamsType;
1280
1281/*---------------------------------------------------------------------------
1282 WDI_EndScanReqParamsType
1283---------------------------------------------------------------------------*/
1284typedef struct
1285{
1286 /*Indicates the channel to stop scanning. Not used really. But retained
1287 for symmetry with "start Scan" message. It can also help in error
1288 check if needed.*/
1289 wpt_uint8 ucChannel;
1290
1291 /*Request status callback offered by UMAC - it is called if the current
1292 req has returned PENDING as status; it delivers the status of sending
1293 the message over the BUS */
1294 WDI_ReqStatusCb wdiReqStatusCB;
1295
1296 /*The user data passed in by UMAC, it will be sent back when the above
1297 function pointer will be called */
1298 void* pUserData;
1299}WDI_EndScanReqParamsType;
1300
1301/*---------------------------------------------------------------------------
1302 WDI_PhyChanBondState
1303---------------------------------------------------------------------------*/
1304typedef enum
1305{
1306 WDI_PHY_SINGLE_CHANNEL_CENTERED = 0,
1307 WDI_PHY_DOUBLE_CHANNEL_LOW_PRIMARY = 1,
1308 WDI_PHY_DOUBLE_CHANNEL_CENTERED = 2,
Jeff Johnsone7245742012-09-05 17:12:55 -07001309 WDI_PHY_DOUBLE_CHANNEL_HIGH_PRIMARY = 3,
1310#ifdef WLAN_FEATURE_11AC
1311 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_CENTERED = 4, //20/40MHZ offset LOW 40/80MHZ offset CENTERED
1312 WDI_QUADRUPLE_CHANNEL_20MHZ_CENTERED_40MHZ_CENTERED = 5, //20/40MHZ offset CENTERED 40/80MHZ offset CENTERED
1313 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_CENTERED = 6, //20/40MHZ offset HIGH 40/80MHZ offset CENTERED
1314 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_LOW = 7,//20/40MHZ offset LOW 40/80MHZ offset LOW
1315 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_LOW = 8, //20/40MHZ offset HIGH 40/80MHZ offset LOW
1316 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_HIGH = 9, //20/40MHZ offset LOW 40/80MHZ offset HIGH
1317 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_HIGH = 10,//20/40MHZ offset-HIGH 40/80MHZ offset HIGH
1318#endif
1319 WDI_MAX_CB_STATE
Jeff Johnson295189b2012-06-20 16:38:30 -07001320} WDI_PhyChanBondState;
1321
1322/*---------------------------------------------------------------------------
1323 WDI_FinishScanReqInfoType
1324---------------------------------------------------------------------------*/
1325typedef struct
1326{
1327 /*LEARN - AP Role
1328 SCAN - STA Role*/
1329 WDI_ScanMode wdiScanMode;
1330
1331 /*Operating channel to tune to.*/
1332 wpt_uint8 ucCurrentOperatingChannel;
1333
1334 /*Channel Bonding state If 20/40 MHz is operational, this will indicate the
1335 40 MHz extension channel in combination with the control channel*/
1336 WDI_PhyChanBondState wdiCBState;
1337
1338 /*BSSID of the BSS*/
1339 wpt_macAddr macBSSID;
1340
1341 /*Whether BSS needs to be notified*/
1342 wpt_boolean bNotifyBSS;
1343
1344 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
1345 CTS to Self). Must always be a valid frame type.*/
1346 wpt_uint8 ucFrameType;
1347
1348 /*UMAC has the option of passing the MAC frame to be used for notifying
1349 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
1350 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
1351 frameType.*/
1352 wpt_uint8 ucFrameLength;
1353
1354 /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/
1355 WDI_MacMgmtHdr wdiMACMgmtHdr;
1356
1357 /*Entry to hold number of active BSS to send NULL frames after SCAN*/
1358 WDI_ScanEntry wdiScanEntry;
1359
1360}WDI_FinishScanReqInfoType;
1361
1362/*---------------------------------------------------------------------------
1363 WDI_SwitchChReqInfoType
1364---------------------------------------------------------------------------*/
1365typedef struct
1366{
1367 /*Indicates the channel to switch to.*/
1368 wpt_uint8 ucChannel;
1369
1370 /*Local power constraint*/
1371 wpt_uint8 ucLocalPowerConstraint;
1372
1373 /*Secondary channel offset */
1374 WDI_HTSecondaryChannelOffset wdiSecondaryChannelOffset;
1375
1376#ifdef WLAN_FEATURE_VOWIFI
1377 wpt_int8 cMaxTxPower;
1378
1379 /*Self STA Mac address*/
1380 wpt_macAddr macSelfStaMacAddr;
1381#endif
1382 /* VO Wifi comment: BSSID is needed to identify which session issued this request. As the
1383 request has power constraints, this should be applied only to that session */
1384 /* V IMP: Keep bssId field at the end of this msg. It is used to mantain backward compatbility
1385 * by way of ignoring if using new host/old FW or old host/new FW since it is at the end of this struct
1386 */
1387 wpt_macAddr macBSSId;
1388
1389}WDI_SwitchChReqInfoType;
1390
1391/*---------------------------------------------------------------------------
1392 WDI_SwitchChReqParamsType
1393---------------------------------------------------------------------------*/
1394typedef struct
1395{
1396 /*Channel Info*/
1397 WDI_SwitchChReqInfoType wdiChInfo;
1398
1399 /*Request status callback offered by UMAC - it is called if the current
1400 req has returned PENDING as status; it delivers the status of sending
1401 the message over the BUS */
1402 WDI_ReqStatusCb wdiReqStatusCB;
1403
1404 /*The user data passed in by UMAC, it will be sent back when the above
1405 function pointer will be called */
1406 void* pUserData;
1407}WDI_SwitchChReqParamsType;
1408
1409/*---------------------------------------------------------------------------
1410 WDI_FinishScanReqParamsType
1411---------------------------------------------------------------------------*/
1412typedef struct
1413{
1414 /*Info for the Finish Scan request that will be sent down to the device*/
1415 WDI_FinishScanReqInfoType wdiReqInfo;
1416
1417 /*Request status callback offered by UMAC - it is called if the current
1418 req has returned PENDING as status; it delivers the status of sending
1419 the message over the BUS */
1420 WDI_ReqStatusCb wdiReqStatusCB;
1421
1422 /*The user data passed in by UMAC, it will be sent back when the above
1423 function pointer will be called */
1424 void* pUserData;
1425}WDI_FinishScanReqParamsType;
1426
1427/*---------------------------------------------------------------------------
1428 WDI_JoinReqInfoType
1429---------------------------------------------------------------------------*/
1430typedef struct
1431{
1432 /*Indicates the BSSID to which STA is going to associate*/
1433 wpt_macAddr macBSSID;
1434
1435 /*Indicates the MAC Address of the current Self STA*/
1436 wpt_macAddr macSTASelf;
1437
1438 /*Indicates the link State determining the entity Type e.g. BTAMP-STA, STA etc.*/
1439 wpt_uint32 linkState;
1440
1441 /*Indicates the channel to switch to.*/
1442 WDI_SwitchChReqInfoType wdiChannelInfo;
1443
1444}WDI_JoinReqInfoType;
1445
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08001446typedef enum
1447{
1448 eWDI_CHANNEL_SWITCH_SOURCE_SCAN,
1449 eWDI_CHANNEL_SWITCH_SOURCE_LISTEN,
1450 eWDI_CHANNEL_SWITCH_SOURCE_MCC,
1451 eWDI_CHANNEL_SWITCH_SOURCE_CSA,
1452 eWDI_CHANNEL_SWITCH_SOURCE_MAX = 0x7FFFFFFF
1453} WDI_ChanSwitchSource;
1454
1455/*---------------------------------------------------------------------------
1456 WDI_SwitchChReqInfoType_V1
1457---------------------------------------------------------------------------*/
1458typedef struct
1459{
1460 /*Indicates the channel to switch to.*/
1461 wpt_uint8 ucChannel;
1462
1463 /*Local power constraint*/
1464 wpt_uint8 ucLocalPowerConstraint;
1465
1466 /*Secondary channel offset */
1467 WDI_HTSecondaryChannelOffset wdiSecondaryChannelOffset;
1468
1469#ifdef WLAN_FEATURE_VOWIFI
1470 wpt_int8 cMaxTxPower;
1471 /*Self STA Mac address*/
1472 wpt_macAddr macSelfStaMacAddr;
1473#endif
1474 /* VO Wifi comment: BSSID is needed to identify which session
1475 issued this request. As the request has power constraints, this
1476 should be applied only to that session
1477 */
1478 /* V IMP: Keep bssId field at the end of this msg. It is used to
1479 maintain backward compatibility by way of ignoring if using new
1480 host/old FW or old host/new FW since it is at the end of this struct
1481 */
1482 wpt_macAddr macBSSId;
1483 /* Source of Channel Switch */
1484 WDI_ChanSwitchSource channelSwitchSrc;
1485}WDI_SwitchChReqInfoType_V1;
1486
1487/*--------------------------------------------------------------------
1488 WDI_SwitchChReqParamsType_V1
1489----------------------------------------------------------------------*/
1490typedef struct
1491{
1492 /*Channel Info*/
1493 WDI_SwitchChReqInfoType_V1 wdiChInfo;
1494
1495 /*Request status callback offered by UMAC - it is called if the current
1496 req has returned PENDING as status; it delivers the status of sending
1497 the message over the BUS */
1498 WDI_ReqStatusCb wdiReqStatusCB;
1499
1500 /*The user data passed in by UMAC, it will be sent back when the above
1501 function pointer will be called */
1502 void* pUserData;
1503}WDI_SwitchChReqParamsType_V1;
1504
Jeff Johnson295189b2012-06-20 16:38:30 -07001505/*---------------------------------------------------------------------------
1506 WDI_JoinReqParamsType
1507---------------------------------------------------------------------------*/
1508typedef struct
1509{
1510 /*Info for the Join request that will be sent down to the device*/
1511 WDI_JoinReqInfoType wdiReqInfo;
1512
1513 /*Request status callback offered by UMAC - it is called if the current
1514 req has returned PENDING as status; it delivers the status of sending
1515 the message over the BUS */
1516 WDI_ReqStatusCb wdiReqStatusCB;
1517
1518 /*The user data passed in by UMAC, it will be sent back when the above
1519 function pointer will be called */
1520 void* pUserData;
1521}WDI_JoinReqParamsType;
1522
1523/*---------------------------------------------------------------------------
1524 WDI_BssType
1525---------------------------------------------------------------------------*/
1526typedef enum
1527{
1528 WDI_INFRASTRUCTURE_MODE,
1529 WDI_INFRA_AP_MODE, //Added for softAP support
1530 WDI_IBSS_MODE,
1531 WDI_BTAMP_STA_MODE,
1532 WDI_BTAMP_AP_MODE,
1533 WDI_BSS_AUTO_MODE,
1534}WDI_BssType;
1535
1536/*---------------------------------------------------------------------------
1537 WDI_NwType
1538---------------------------------------------------------------------------*/
1539typedef enum
1540{
1541 WDI_11A_NW_TYPE,
1542 WDI_11B_NW_TYPE,
1543 WDI_11G_NW_TYPE,
1544 WDI_11N_NW_TYPE,
1545} WDI_NwType;
1546
1547/*---------------------------------------------------------------------------
1548 WDI_ConfigAction
1549---------------------------------------------------------------------------*/
1550typedef enum
1551{
1552 WDI_ADD_BSS,
1553 WDI_UPDATE_BSS
1554} WDI_ConfigAction;
1555
1556/*---------------------------------------------------------------------------
1557 WDI_HTOperatingMode
1558---------------------------------------------------------------------------*/
1559typedef enum
1560{
1561 WDI_HT_OP_MODE_PURE,
1562 WDI_HT_OP_MODE_OVERLAP_LEGACY,
1563 WDI_HT_OP_MODE_NO_LEGACY_20MHZ_HT,
1564 WDI_HT_OP_MODE_MIXED
1565
1566} WDI_HTOperatingMode;
1567
1568
1569/*---------------------------------------------------------------------------
1570 WDI_STAEntryType
1571---------------------------------------------------------------------------*/
1572typedef enum
1573{
1574 WDI_STA_ENTRY_SELF,
1575 WDI_STA_ENTRY_PEER,
1576 WDI_STA_ENTRY_BSSID,
Mohit Khanna698ba2a2012-12-04 15:08:18 -08001577 WDI_STA_ENTRY_BCAST,
1578#ifdef FEATURE_WLAN_TDLS
1579 WDI_STA_ENTRY_TDLS_PEER,
1580#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001581}WDI_STAEntryType;
1582
1583/*---------------------------------------------------------------------------
1584 WDI_ConfigActionType
1585---------------------------------------------------------------------------*/
1586typedef enum
1587{
1588 WDI_ADD_STA,
1589 WDI_UPDATE_STA
1590} WDI_ConfigActionType;
1591
1592/*----------------------------------------------------------------------------
1593 Each station added has a rate mode which specifies the sta attributes
1594 ----------------------------------------------------------------------------*/
1595typedef enum
1596{
1597 WDI_RESERVED_1 = 0,
1598 WDI_RESERVED_2,
1599 WDI_RESERVED_3,
1600 WDI_11b,
1601 WDI_11bg,
1602 WDI_11a,
1603 WDI_11n,
1604} WDI_RateModeType;
1605
1606/*---------------------------------------------------------------------------
1607 WDI_SupportedRatesType
1608---------------------------------------------------------------------------*/
1609typedef struct
1610{
1611 /*
1612 * For Self STA Entry: this represents Self Mode.
1613 * For Peer Stations, this represents the mode of the peer.
1614 * On Station:
1615 * --this mode is updated when PE adds the Self Entry.
1616 * -- OR when PE sends 'ADD_BSS' message and station context in BSS is used to indicate the mode of the AP.
1617 * ON AP:
1618 * -- this mode is updated when PE sends 'ADD_BSS' and Sta entry for that BSS is used
1619 * to indicate the self mode of the AP.
1620 * -- OR when a station is associated, PE sends 'ADD_STA' message with this mode updated.
1621 */
1622
1623 WDI_RateModeType opRateMode;
1624
1625 /* 11b, 11a and aniLegacyRates are IE rates which gives rate in unit of 500Kbps */
1626 wpt_uint16 llbRates[WDI_NUM_11B_RATES];
1627 wpt_uint16 llaRates[WDI_NUM_11A_RATES];
1628 wpt_uint16 aLegacyRates[WDI_NUM_POLARIS_RATES];
1629
1630 /*Taurus only supports 26 Titan Rates(no ESF/concat Rates will be supported)
1631 First 26 bits are reserved for those Titan rates and
1632 the last 4 bits(bit28-31) for Taurus, 2(bit26-27) bits are reserved.*/
1633 wpt_uint32 uEnhancedRateBitmap; //Titan and Taurus Rates
1634
1635 /*
1636 * 0-76 bits used, remaining reserved
1637 * bits 0-15 and 32 should be set.
1638 */
1639 wpt_uint8 aSupportedMCSSet[WDI_MAC_MAX_SUPPORTED_MCS_SET];
1640
1641 /*
1642 * RX Highest Supported Data Rate defines the highest data
1643 * rate that the STA is able to receive, in unites of 1Mbps.
1644 * This value is derived from "Supported MCS Set field" inside
1645 * the HT capability element.
1646 */
1647 wpt_uint16 aRxHighestDataRate;
1648
Jeff Johnsone7245742012-09-05 17:12:55 -07001649
1650#ifdef WLAN_FEATURE_11AC
1651 /*Indicates the Maximum MCS that can be received for each number
1652 of spacial streams */
1653 wpt_uint16 vhtRxMCSMap;
1654 /*Indicate the highest VHT data rate that the STA is able to receive*/
1655 wpt_uint16 vhtRxHighestDataRate;
1656 /*Indicates the Maximum MCS that can be transmitted for each number
1657 of spacial streams */
1658 wpt_uint16 vhtTxMCSMap;
1659 /*Indicate the highest VHT data rate that the STA is able to transmit*/
1660 wpt_uint16 vhtTxHighestDataRate;
1661#endif
1662
Jeff Johnson295189b2012-06-20 16:38:30 -07001663} WDI_SupportedRates;
1664
1665/*--------------------------------------------------------------------------
1666 WDI_HTMIMOPowerSaveState
1667 Spatial Multiplexing(SM) Power Save mode
1668 --------------------------------------------------------------------------*/
1669typedef enum
1670{
1671 WDI_HT_MIMO_PS_STATIC = 0, // Static SM Power Save mode
1672 WDI_HT_MIMO_PS_DYNAMIC = 1, // Dynamic SM Power Save mode
1673 WDI_HT_MIMO_PS_NA = 2, // reserved
1674 WDI_HT_MIMO_PS_NO_LIMIT = 3, // SM Power Save disabled
1675} WDI_HTMIMOPowerSaveState;
1676
1677/*---------------------------------------------------------------------------
1678 WDI_ConfigStaReqInfoType
1679---------------------------------------------------------------------------*/
1680typedef struct
1681{
1682 /*BSSID of STA*/
1683 wpt_macAddr macBSSID;
1684
1685 /*ASSOC ID, as assigned by UMAC*/
1686 wpt_uint16 usAssocId;
1687
1688 /*Used for configuration of different HW modules.*/
1689 WDI_STAEntryType wdiSTAType;
1690
Gopichand Nakkalae7cbc5d2013-03-27 21:09:23 -07001691 /*STA Index */
1692 wpt_uint8 staIdx;
1693
Jeff Johnson295189b2012-06-20 16:38:30 -07001694 /*Short Preamble Supported.*/
1695 wpt_uint8 ucShortPreambleSupported;
1696
1697 /*MAC Address of STA*/
1698 wpt_macAddr macSTA;
1699
1700 /*Listen interval of the STA*/
1701 wpt_uint16 usListenInterval;
1702
1703 /*Support for 11e/WMM*/
1704 wpt_uint8 ucWMMEnabled;
1705
1706 /*11n HT capable STA*/
1707 wpt_uint8 ucHTCapable;
1708
1709 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
1710 wpt_uint8 ucTXChannelWidthSet;
1711
1712 /*RIFS mode 0 - NA, 1 - Allowed*/
1713 wpt_uint8 ucRIFSMode;
1714
1715 /*L-SIG TXOP Protection mechanism
1716 0 - No Support, 1 - Supported
1717 SG - there is global field*/
1718 wpt_uint8 ucLSIGTxopProtection;
1719
1720 /*Max Ampdu Size supported by STA. Device programming.
1721 0 : 8k , 1 : 16k, 2 : 32k, 3 : 64k */
1722 wpt_uint8 ucMaxAmpduSize;
1723
1724 /*Max Ampdu density. Used by RA. 3 : 0~7 : 2^(11nAMPDUdensity -4)*/
1725 wpt_uint8 ucMaxAmpduDensity;
1726
1727 /*Max AMSDU size 1 : 3839 bytes, 0 : 7935 bytes*/
1728 wpt_uint8 ucMaxAmsduSize;
1729
1730 /*Short GI support for 40Mhz packets*/
1731 wpt_uint8 ucShortGI40Mhz;
1732
1733 /*Short GI support for 20Mhz packets*/
1734 wpt_uint8 ucShortGI20Mhz;
1735
1736 /*These rates are the intersection of peer and self capabilities.*/
1737 WDI_SupportedRates wdiSupportedRates;
1738
1739 /*Robust Management Frame (RMF) enabled/disabled*/
1740 wpt_uint8 ucRMFEnabled;
1741
1742 /* The unicast encryption type in the association */
1743 wpt_uint32 ucEncryptType;
1744
1745 /*HAL should update the existing STA entry, if this flag is set. UMAC
1746 will set this flag in case of RE-ASSOC, where we want to reuse the old
1747 STA ID.*/
1748 WDI_ConfigActionType wdiAction;
1749
1750 /*U-APSD Flags: 1b per AC. Encoded as follows:
1751 b7 b6 b5 b4 b3 b2 b1 b0 =
1752 X X X X BE BK VI VO
1753 */
1754 wpt_uint8 ucAPSD;
1755
1756 /*Max SP Length*/
1757 wpt_uint8 ucMaxSPLen;
1758
1759 /*11n Green Field preamble support*/
1760 wpt_uint8 ucGreenFieldCapable;
1761
1762 /*MIMO Power Save mode*/
1763 WDI_HTMIMOPowerSaveState wdiMIMOPS;
1764
1765 /*Delayed BA Support*/
1766 wpt_uint8 ucDelayedBASupport;
1767
1768 /*Max AMPDU duration in 32us*/
1769 wpt_uint8 us32MaxAmpduDuratio;
1770
1771 /*HT STA should set it to 1 if it is enabled in BSS
1772 HT STA should set it to 0 if AP does not support it. This indication is
1773 sent to HAL and HAL uses this flag to pickup up appropriate 40Mhz rates.
1774 */
1775 wpt_uint8 ucDsssCckMode40Mhz;
1776
1777 wpt_uint8 ucP2pCapableSta;
Jeff Johnsone7245742012-09-05 17:12:55 -07001778#ifdef WLAN_FEATURE_11AC
1779 wpt_uint8 ucVhtCapableSta;
1780 wpt_uint8 ucVhtTxChannelWidthSet;
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08001781 wpt_uint8 ucVhtTxBFEnabled;
Abhishek Singh6927fa02014-06-27 17:19:55 +05301782 wpt_uint8 vhtTxMUBformeeCapable;
Jeff Johnsone7245742012-09-05 17:12:55 -07001783#endif
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08001784
1785 wpt_uint8 ucHtLdpcEnabled;
1786 wpt_uint8 ucVhtLdpcEnabled;
Jeff Johnson295189b2012-06-20 16:38:30 -07001787}WDI_ConfigStaReqInfoType;
1788
1789
1790/*---------------------------------------------------------------------------
1791 WDI_RateSet
1792
1793 12 Bytes long because this structure can be used to represent rate
1794 and extended rate set IEs
1795 The parser assume this to be at least 12
1796---------------------------------------------------------------------------*/
1797#define WDI_RATESET_EID_MAX 12
1798
1799typedef struct
1800{
1801 wpt_uint8 ucNumRates;
1802 wpt_uint8 aRates[WDI_RATESET_EID_MAX];
1803} WDI_RateSet;
1804
1805/*---------------------------------------------------------------------------
1806 WDI_AciAifsnType
1807 access category record
1808---------------------------------------------------------------------------*/
1809typedef struct
1810{
1811 wpt_uint8 rsvd : 1;
1812 wpt_uint8 aci : 2;
1813 wpt_uint8 acm : 1;
1814 wpt_uint8 aifsn : 4;
1815} WDI_AciAifsnType;
1816
1817/*---------------------------------------------------------------------------
1818 WDI_CWType
1819 contention window size
1820---------------------------------------------------------------------------*/
1821typedef struct
1822{
1823 wpt_uint8 max : 4;
1824 wpt_uint8 min : 4;
1825} WDI_CWType;
1826
1827/*---------------------------------------------------------------------------
1828 WDI_EdcaParamRecord
1829---------------------------------------------------------------------------*/
1830typedef struct
1831{
1832 /*Access Category Record*/
1833 WDI_AciAifsnType wdiACI;
1834
1835 /*Contention WIndow Size*/
1836 WDI_CWType wdiCW;
1837
1838 /*TX Oportunity Limit*/
1839 wpt_uint16 usTXOPLimit;
1840} WDI_EdcaParamRecord;
1841
1842/*---------------------------------------------------------------------------
1843 WDI_EDCAParamsType
1844---------------------------------------------------------------------------*/
1845typedef struct
1846{
1847 /*BSS Index*/
1848 wpt_uint8 ucBSSIdx;
1849
1850 /*?*/
1851 wpt_boolean bHighPerformance;
1852
1853 /*Best Effort*/
1854 WDI_EdcaParamRecord wdiACBE;
1855
1856 /*Background*/
1857 WDI_EdcaParamRecord wdiACBK;
1858
1859 /*Video*/
1860 WDI_EdcaParamRecord wdiACVI;
1861
1862 /*Voice*/
1863 WDI_EdcaParamRecord acvo; // voice
1864} WDI_EDCAParamsType;
1865
1866/* operMode in ADD BSS message */
1867#define WDI_BSS_OPERATIONAL_MODE_AP 0
1868#define WDI_BSS_OPERATIONAL_MODE_STA 1
1869
1870/*---------------------------------------------------------------------------
1871 WDI_ConfigBSSRspParamsType
1872---------------------------------------------------------------------------*/
1873typedef struct
1874{
1875 /*Status of the response*/
1876 WDI_Status wdiStatus;
1877
1878 /*BSSID of the BSS*/
1879 wpt_macAddr macBSSID;
1880
1881 /*BSS Index*/
1882 wpt_uint8 ucBSSIdx;
1883
1884 /*Unicast DPU signature*/
1885 wpt_uint8 ucUcastSig;
1886
1887 /*Broadcast DPU Signature*/
1888 wpt_uint8 ucBcastSig;
1889
1890 /*MAC Address of STA*/
1891 wpt_macAddr macSTA;
1892
1893 /*BSS STA ID*/
1894 wpt_uint8 ucSTAIdx;
1895
1896#ifdef WLAN_FEATURE_VOWIFI
1897 /*HAL fills in the tx power used for mgmt frames in this field */
1898 wpt_int8 ucTxMgmtPower;
1899#endif
1900
1901}WDI_ConfigBSSRspParamsType;
1902
1903/*---------------------------------------------------------------------------
1904 WDI_DelBSSReqParamsType
1905---------------------------------------------------------------------------*/
1906typedef struct
1907{
1908 /*BSS Index of the BSS*/
1909 wpt_uint8 ucBssIdx;
1910
1911 /*Request status callback offered by UMAC - it is called if the current
1912 req has returned PENDING as status; it delivers the status of sending
1913 the message over the BUS */
1914 WDI_ReqStatusCb wdiReqStatusCB;
1915
1916 /*The user data passed in by UMAC, it will be sent back when the above
1917 function pointer will be called */
1918 void* pUserData;
1919}WDI_DelBSSReqParamsType;
1920
1921/*---------------------------------------------------------------------------
1922 WDI_DelBSSRspParamsType
1923---------------------------------------------------------------------------*/
1924typedef struct
1925{
1926 /*Status of the response*/
1927 WDI_Status wdiStatus;
1928
1929 /*BSSID of the BSS*/
1930 wpt_macAddr macBSSID;
1931
1932 wpt_uint8 ucBssIdx;
1933
1934}WDI_DelBSSRspParamsType;
1935
1936/*---------------------------------------------------------------------------
1937 WDI_ConfigSTARspParamsType
1938---------------------------------------------------------------------------*/
1939typedef struct
1940{
1941 /*Status of the response*/
1942 WDI_Status wdiStatus;
1943
1944 /*STA Idx allocated by HAL*/
1945 wpt_uint8 ucSTAIdx;
1946
1947 /*MAC Address of STA*/
1948 wpt_macAddr macSTA;
1949
1950 /* BSSID Index of BSS to which the station is associated */
1951 wpt_uint8 ucBssIdx;
1952
1953 /* DPU Index - PTK */
1954 wpt_uint8 ucDpuIndex;
1955
1956 /* Bcast DPU Index - GTK */
1957 wpt_uint8 ucBcastDpuIndex;
1958
1959 /* Management DPU Index - IGTK - Why is it called bcastMgmtDpuIdx? */
1960 wpt_uint8 ucBcastMgmtDpuIdx;
1961
1962 /*Unicast DPU signature*/
1963 wpt_uint8 ucUcastSig;
1964
1965 /*Broadcast DPU Signature*/
1966 wpt_uint8 ucBcastSig;
1967
1968 /* IGTK DPU signature*/
1969 wpt_uint8 ucMgmtSig;
1970
1971}WDI_ConfigSTARspParamsType;
1972
1973/*---------------------------------------------------------------------------
1974 WDI_PostAssocRspParamsType
1975---------------------------------------------------------------------------*/
1976typedef struct
1977{
1978 /*Status of the response*/
1979 WDI_Status wdiStatus;
1980
1981 /*Parameters related to the BSS*/
1982 WDI_ConfigBSSRspParamsType bssParams;
1983
1984 /*Parameters related to the self STA*/
1985 WDI_ConfigSTARspParamsType staParams;
1986
1987}WDI_PostAssocRspParamsType;
1988
1989/*---------------------------------------------------------------------------
1990 WDI_DelSTAReqParamsType
1991---------------------------------------------------------------------------*/
1992typedef struct
1993{
1994 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
1995 wpt_uint8 ucSTAIdx;
1996
1997 /*Request status callback offered by UMAC - it is called if the current
1998 req has returned PENDING as status; it delivers the status of sending
1999 the message over the BUS */
2000 WDI_ReqStatusCb wdiReqStatusCB;
2001
2002 /*The user data passed in by UMAC, it will be sent back when the above
2003 function pointer will be called */
2004 void* pUserData;
2005}WDI_DelSTAReqParamsType;
2006
2007/*---------------------------------------------------------------------------
2008 WDI_DelSTARspParamsType
2009---------------------------------------------------------------------------*/
2010typedef struct
2011{
2012 /*Status of the response*/
2013 WDI_Status wdiStatus;
2014
2015 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
2016 wpt_uint8 ucSTAIdx;
2017}WDI_DelSTARspParamsType;
2018
2019/*---------------------------------------------------------------------------
2020 WDI_EncryptType
2021---------------------------------------------------------------------------*/
2022typedef enum
2023{
2024 WDI_ENCR_NONE,
2025 WDI_ENCR_WEP40,
2026 WDI_ENCR_WEP104,
2027 WDI_ENCR_TKIP,
2028 WDI_ENCR_CCMP,
2029#if defined(FEATURE_WLAN_WAPI)
2030 WDI_ENCR_WPI,
2031#endif
2032 WDI_ENCR_AES_128_CMAC
2033} WDI_EncryptType;
2034
2035/*---------------------------------------------------------------------------
2036 WDI_KeyDirectionType
2037---------------------------------------------------------------------------*/
2038typedef enum
2039{
2040 WDI_TX_ONLY,
2041 WDI_RX_ONLY,
2042 WDI_TX_RX,
Jeff Johnson295189b2012-06-20 16:38:30 -07002043 WDI_TX_DEFAULT,
Jeff Johnson295189b2012-06-20 16:38:30 -07002044 WDI_DONOT_USE_KEY_DIRECTION
2045} WDI_KeyDirectionType;
2046
2047#define WDI_MAX_ENCR_KEYS 4
2048#define WDI_MAX_KEY_LENGTH 32
2049#if defined(FEATURE_WLAN_WAPI)
2050#define WDI_MAX_KEY_RSC_LEN 16
2051#define WDI_WAPI_KEY_RSC_LEN 16
2052#else
2053#define WDI_MAX_KEY_RSC_LEN 8
2054#endif
2055
2056typedef struct
2057{
2058 /* Key ID */
2059 wpt_uint8 keyId;
2060 /* 0 for multicast */
2061 wpt_uint8 unicast;
2062 /* Key Direction */
2063 WDI_KeyDirectionType keyDirection;
2064 /* Usage is unknown */
2065 wpt_uint8 keyRsc[WDI_MAX_KEY_RSC_LEN];
2066 /* =1 for authenticator, =0 for supplicant */
2067 wpt_uint8 paeRole;
2068 wpt_uint16 keyLength;
2069 wpt_uint8 key[WDI_MAX_KEY_LENGTH];
2070
2071}WDI_KeysType;
2072
2073/*---------------------------------------------------------------------------
2074 WDI_SetBSSKeyReqInfoType
2075---------------------------------------------------------------------------*/
2076typedef struct
2077{
2078 /*BSS Index of the BSS*/
2079 wpt_uint8 ucBssIdx;
2080
2081 /*Encryption Type used with peer*/
2082 WDI_EncryptType wdiEncType;
2083
2084 /*Number of keys*/
2085 wpt_uint8 ucNumKeys;
2086
2087 /*Array of keys.*/
2088 WDI_KeysType aKeys[WDI_MAX_ENCR_KEYS];
2089
2090 /*Control for Replay Count, 1= Single TID based replay count on Tx
2091 0 = Per TID based replay count on TX */
2092 wpt_uint8 ucSingleTidRc;
2093}WDI_SetBSSKeyReqInfoType;
2094
2095/*---------------------------------------------------------------------------
2096 WDI_SetBSSKeyReqParamsType
2097---------------------------------------------------------------------------*/
2098typedef struct
2099{
2100 /*Key Info */
2101 WDI_SetBSSKeyReqInfoType wdiBSSKeyInfo;
2102
2103 /*Request status callback offered by UMAC - it is called if the current
2104 req has returned PENDING as status; it delivers the status of sending
2105 the message over the BUS */
2106 WDI_ReqStatusCb wdiReqStatusCB;
2107
2108 /*The user data passed in by UMAC, it will be sent back when the above
2109 function pointer will be called */
2110 void* pUserData;
2111}WDI_SetBSSKeyReqParamsType;
2112
2113/*---------------------------------------------------------------------------
2114 WDI_WepType
2115---------------------------------------------------------------------------*/
2116typedef enum
2117{
2118 WDI_WEP_STATIC,
2119 WDI_WEP_DYNAMIC
2120
2121} WDI_WepType;
2122
2123/*---------------------------------------------------------------------------
2124 WDI_RemoveBSSKeyReqInfoType
2125---------------------------------------------------------------------------*/
2126typedef struct
2127{
2128 /*BSS Index of the BSS*/
2129 wpt_uint8 ucBssIdx;
2130
2131 /*Encryption Type used with peer*/
2132 WDI_EncryptType wdiEncType;
2133
2134 /*Key Id*/
2135 wpt_uint8 ucKeyId;
2136
2137 /*STATIC/DYNAMIC. Used in Nullifying in Key Descriptors for Static/Dynamic
2138 keys*/
2139 WDI_WepType wdiWEPType;
2140}WDI_RemoveBSSKeyReqInfoType;
2141
2142/*---------------------------------------------------------------------------
2143 WDI_RemoveBSSKeyReqParamsType
2144---------------------------------------------------------------------------*/
2145typedef struct
2146{
2147 /*Key Info */
2148 WDI_RemoveBSSKeyReqInfoType wdiKeyInfo;
2149
2150 /*Request status callback offered by UMAC - it is called if the current
2151 req has returned PENDING as status; it delivers the status of sending
2152 the message over the BUS */
2153 WDI_ReqStatusCb wdiReqStatusCB;
2154
2155 /*The user data passed in by UMAC, it will be sent back when the above
2156 function pointer will be called */
2157 void* pUserData;
2158}WDI_RemoveBSSKeyReqParamsType;
2159
2160/*---------------------------------------------------------------------------
2161 WDI_SetSTAKeyReqInfoType
2162---------------------------------------------------------------------------*/
2163typedef struct
2164{
2165 /*STA Index*/
2166 wpt_uint8 ucSTAIdx;
2167
2168 /*Encryption Type used with peer*/
2169 WDI_EncryptType wdiEncType;
2170
2171 /*STATIC/DYNAMIC*/
2172 WDI_WepType wdiWEPType;
2173
2174 /*Default WEP key, valid only for static WEP, must between 0 and 3.*/
2175 wpt_uint8 ucDefWEPIdx;
2176
2177 /*Number of keys*/
2178 wpt_uint8 ucNumKeys;
2179
2180 /*Array of keys.*/
2181 WDI_KeysType wdiKey[WDI_MAX_ENCR_KEYS];
2182
2183 /*Control for Replay Count, 1= Single TID based replay count on Tx
2184 0 = Per TID based replay count on TX */
2185 wpt_uint8 ucSingleTidRc;
2186}WDI_SetSTAKeyReqInfoType;
2187
2188/*---------------------------------------------------------------------------
2189 WDI_ConfigBSSReqInfoType
2190---------------------------------------------------------------------------*/
2191typedef struct
2192{
2193 /*Peer BSSID*/
2194 wpt_macAddr macBSSID;
2195
2196 /*Self MAC Address*/
2197 wpt_macAddr macSelfAddr;
2198
2199 /*BSS Type*/
2200 WDI_BssType wdiBSSType;
2201
2202 /*Operational Mode: AP =0, STA = 1*/
2203 wpt_uint8 ucOperMode;
2204
2205 /*Network Type*/
2206 WDI_NwType wdiNWType;
2207
2208 /*Used to classify PURE_11G/11G_MIXED to program MTU*/
2209 wpt_uint8 ucShortSlotTimeSupported;
2210
2211 /*Co-exist with 11a STA*/
2212 wpt_uint8 ucllaCoexist;
2213
2214 /*Co-exist with 11b STA*/
2215 wpt_uint8 ucllbCoexist;
2216
2217 /*Co-exist with 11g STA*/
2218 wpt_uint8 ucllgCoexist;
2219
2220 /*Coexistence with 11n STA*/
2221 wpt_uint8 ucHT20Coexist;
2222
2223 /*Non GF coexist flag*/
2224 wpt_uint8 ucllnNonGFCoexist;
2225
2226 /*TXOP protection support*/
2227 wpt_uint8 ucTXOPProtectionFullSupport;
2228
2229 /*RIFS mode*/
2230 wpt_uint8 ucRIFSMode;
2231
2232 /*Beacon Interval in TU*/
2233 wpt_uint16 usBeaconInterval;
2234
2235 /*DTIM period*/
2236 wpt_uint8 ucDTIMPeriod;
2237
2238 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
2239 wpt_uint8 ucTXChannelWidthSet;
2240
2241 /*Operating channel*/
2242 wpt_uint8 ucCurrentOperChannel;
2243
2244 /*Extension channel for channel bonding*/
2245 wpt_uint8 ucCurrentExtChannel;
2246
2247 /*Context of the station being added in HW.*/
2248 WDI_ConfigStaReqInfoType wdiSTAContext;
2249
2250 /*SSID of the BSS*/
2251 WDI_MacSSid wdiSSID;
2252
2253 /*HAL should update the existing BSS entry, if this flag is set. UMAC will
2254 set this flag in case of RE-ASSOC, where we want to reuse the old BSSID*/
2255 WDI_ConfigAction wdiAction;
2256
2257 /*Basic Rate Set*/
2258 WDI_RateSet wdiRateSet;
2259
2260 /*Enable/Disable HT capabilities of the BSS*/
2261 wpt_uint8 ucHTCapable;
2262
2263 /* Enable/Disable OBSS protection */
2264 wpt_uint8 ucObssProtEnabled;
2265
2266 /*RMF enabled/disabled*/
2267 wpt_uint8 ucRMFEnabled;
2268
2269 /*Determines the current HT Operating Mode operating mode of the
2270 802.11n STA*/
2271 WDI_HTOperatingMode wdiHTOperMod;
2272
2273 /*Dual CTS Protection: 0 - Unused, 1 - Used*/
2274 wpt_uint8 ucDualCTSProtection;
2275
2276 /* Probe Response Max retries */
2277 wpt_uint8 ucMaxProbeRespRetryLimit;
2278
2279 /* To Enable Hidden ssid */
2280 wpt_uint8 bHiddenSSIDEn;
2281
2282 /* To Enable Disable FW Proxy Probe Resp */
2283 wpt_uint8 bProxyProbeRespEn;
2284
2285 /* Boolean to indicate if EDCA params are valid. UMAC might not have valid
2286 EDCA params or might not desire to apply EDCA params during config BSS.
2287 0 implies Not Valid ; Non-Zero implies valid*/
2288 wpt_uint8 ucEDCAParamsValid;
2289
2290 /*EDCA Parameters for BK*/
2291 WDI_EdcaParamRecord wdiBKEDCAParams;
2292
2293 /*EDCA Parameters for BE*/
2294 WDI_EdcaParamRecord wdiBEEDCAParams;
2295
2296 /*EDCA Parameters for VI*/
2297 WDI_EdcaParamRecord wdiVIEDCAParams;
2298
2299 /*EDCA Parameters for VO*/
2300 WDI_EdcaParamRecord wdiVOEDCAParams;
2301
2302#ifdef WLAN_FEATURE_VOWIFI
2303 /*max power to be used after applying the power constraint, if any */
2304 wpt_int8 cMaxTxPower;
2305#endif
2306
2307 /* Persona for the BSS can be STA,AP,GO,CLIENT, same as Connection Mode */
2308 wpt_uint8 ucPersona;
2309
2310 /* Spectrum Mangement Indicator */
2311 wpt_uint8 bSpectrumMgtEn;
2312
2313#ifdef WLAN_FEATURE_VOWIFI_11R
2314 wpt_uint8 bExtSetStaKeyParamValid;
2315 WDI_SetSTAKeyReqInfoType wdiExtSetKeyParam;
2316#endif
2317
Jeff Johnsone7245742012-09-05 17:12:55 -07002318#ifdef WLAN_FEATURE_11AC
2319 wpt_uint8 ucVhtCapableSta;
2320 wpt_uint8 ucVhtTxChannelWidthSet;
2321#endif
2322
Jeff Johnson295189b2012-06-20 16:38:30 -07002323}WDI_ConfigBSSReqInfoType;
2324
2325/*---------------------------------------------------------------------------
2326 WDI_PostAssocReqParamsType
2327---------------------------------------------------------------------------*/
2328typedef struct
2329{
2330 /*Config STA arguments.*/
2331 WDI_ConfigStaReqInfoType wdiSTAParams;
2332
2333 /*Config BSS Arguments*/
2334 WDI_ConfigBSSReqInfoType wdiBSSParams;
2335
2336 /*Request status callback offered by UMAC - it is called if the current
2337 req has returned PENDING as status; it delivers the status of sending
2338 the message over the BUS */
2339 WDI_ReqStatusCb wdiReqStatusCB;
2340
2341 /*The user data passed in by UMAC, it will be sent back when the above
2342 function pointer will be called */
2343 void* pUserData;
2344}WDI_PostAssocReqParamsType;
2345
2346/*---------------------------------------------------------------------------
2347 WDI_ConfigBSSReqParamsType
2348---------------------------------------------------------------------------*/
2349typedef struct
2350{
2351 /*Info for the Join request that will be sent down to the device*/
2352 WDI_ConfigBSSReqInfoType wdiReqInfo;
2353
2354 /*Request status callback offered by UMAC - it is called if the current
2355 req has returned PENDING as status; it delivers the status of sending
2356 the message over the BUS */
2357 WDI_ReqStatusCb wdiReqStatusCB;
2358
2359 /*The user data passed in by UMAC, it will be sent back when the above
2360 function pointer will be called */
2361 void* pUserData;
2362}WDI_ConfigBSSReqParamsType;
2363
2364/*---------------------------------------------------------------------------
2365 WDI_SetSTAKeyReqParamsType
2366---------------------------------------------------------------------------*/
2367typedef struct
2368{
2369 /*Key Info*/
2370 WDI_SetSTAKeyReqInfoType wdiKeyInfo;
2371
2372 /*Request status callback offered by UMAC - it is called if the current
2373 req has returned PENDING as status; it delivers the status of sending
2374 the message over the BUS */
2375 WDI_ReqStatusCb wdiReqStatusCB;
2376
2377 /*The user data passed in by UMAC, it will be sent back when the above
2378 function pointer will be called */
2379 void* pUserData;
2380}WDI_SetSTAKeyReqParamsType;
2381
2382/*---------------------------------------------------------------------------
2383 WDI_RemoveSTAKeyReqInfoType
2384---------------------------------------------------------------------------*/
2385typedef struct
2386{
2387 /*STA Index*/
2388 wpt_uint8 ucSTAIdx;
2389
2390 /*Encryption Type used with peer*/
2391 WDI_EncryptType wdiEncType;
2392
2393 /*Key Id*/
2394 wpt_uint8 ucKeyId;
2395
2396 /*Whether to invalidate the Broadcast key or Unicast key. In case of WEP,
2397 the same key is used for both broadcast and unicast.*/
2398 wpt_uint8 ucUnicast;
2399}WDI_RemoveSTAKeyReqInfoType;
2400
2401/*---------------------------------------------------------------------------
2402 WDI_RemoveSTAKeyReqParamsType
2403---------------------------------------------------------------------------*/
2404typedef struct
2405{
2406 /*Key Info */
2407 WDI_RemoveSTAKeyReqInfoType wdiKeyInfo;
2408
2409 /*Request status callback offered by UMAC - it is called if the current
2410 req has returned PENDING as status; it delivers the status of sending
2411 the message over the BUS */
2412 WDI_ReqStatusCb wdiReqStatusCB;
2413
2414 /*The user data passed in by UMAC, it will be sent back when the above
2415 function pointer will be called */
2416 void* pUserData;
2417}WDI_RemoveSTAKeyReqParamsType;
2418
2419/*---------------------------------------------------------------------------
2420 QOS Parameters
2421---------------------------------------------------------------------------*/
2422
2423/*---------------------------------------------------------------------------
2424 WDI_TSInfoTfc
2425---------------------------------------------------------------------------*/
2426typedef struct
2427{
2428 wpt_uint16 ackPolicy:2;
2429 wpt_uint16 userPrio:3;
2430 wpt_uint16 psb:1;
2431 wpt_uint16 aggregation : 1;
2432 wpt_uint16 accessPolicy : 2;
2433 wpt_uint16 direction : 2;
2434 wpt_uint16 tsid : 4;
2435 wpt_uint16 trafficType : 1;
2436} WDI_TSInfoTfc;
2437
2438/*---------------------------------------------------------------------------
2439 WDI_TSInfoSch
2440---------------------------------------------------------------------------*/
2441typedef struct
2442{
2443 wpt_uint8 rsvd : 7;
2444 wpt_uint8 schedule : 1;
2445} WDI_TSInfoSch;
2446
2447/*---------------------------------------------------------------------------
2448 WDI_TSInfoType
2449---------------------------------------------------------------------------*/
2450typedef struct
2451{
2452 WDI_TSInfoTfc wdiTraffic;
2453 WDI_TSInfoSch wdiSchedule;
2454} WDI_TSInfoType;
2455
2456/*---------------------------------------------------------------------------
2457 WDI_TspecIEType
2458---------------------------------------------------------------------------*/
2459typedef struct
2460{
2461 wpt_uint8 ucType;
2462 wpt_uint8 ucLength;
2463 WDI_TSInfoType wdiTSinfo;
2464 wpt_uint16 usNomMsduSz;
2465 wpt_uint16 usMaxMsduSz;
2466 wpt_uint32 uMinSvcInterval;
2467 wpt_uint32 uMaxSvcInterval;
2468 wpt_uint32 uInactInterval;
2469 wpt_uint32 uSuspendInterval;
2470 wpt_uint32 uSvcStartTime;
2471 wpt_uint32 uMinDataRate;
2472 wpt_uint32 uMeanDataRate;
2473 wpt_uint32 uPeakDataRate;
2474 wpt_uint32 uMaxBurstSz;
2475 wpt_uint32 uDelayBound;
2476 wpt_uint32 uMinPhyRate;
2477 wpt_uint16 usSurplusBw;
2478 wpt_uint16 usMediumTime;
2479}WDI_TspecIEType;
2480
2481/*---------------------------------------------------------------------------
2482 WDI_AddTSReqInfoType
2483---------------------------------------------------------------------------*/
2484typedef struct
2485{
2486 /*STA Index*/
2487 wpt_uint8 ucSTAIdx;
2488
2489 /*Identifier for TSpec*/
2490 wpt_uint16 ucTspecIdx;
2491
2492 /*Tspec IE negotiated OTA*/
2493 WDI_TspecIEType wdiTspecIE;
2494
2495 /*UAPSD delivery and trigger enabled flags */
2496 wpt_uint8 ucUapsdFlags;
2497
2498 /*SI for each AC*/
2499 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
2500
2501 /*Suspend Interval for each AC*/
2502 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
2503
2504 /*DI for each AC*/
2505 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
2506
2507}WDI_AddTSReqInfoType;
2508
2509
2510/*---------------------------------------------------------------------------
2511 WDI_AddTSReqParamsType
2512---------------------------------------------------------------------------*/
2513typedef struct
2514{
2515 /*TSpec Info */
2516 WDI_AddTSReqInfoType wdiTsInfo;
2517
2518 /*Request status callback offered by UMAC - it is called if the current
2519 req has returned PENDING as status; it delivers the status of sending
2520 the message over the BUS */
2521 WDI_ReqStatusCb wdiReqStatusCB;
2522
2523 /*The user data passed in by UMAC, it will be sent back when the above
2524 function pointer will be called */
2525 void* pUserData;
2526}WDI_AddTSReqParamsType;
2527
2528/*---------------------------------------------------------------------------
2529 WDI_DelTSReqInfoType
2530---------------------------------------------------------------------------*/
2531typedef struct
2532{
2533 /*STA Index*/
2534 wpt_uint8 ucSTAIdx;
2535
2536 /*Identifier for TSpec*/
2537 wpt_uint16 ucTspecIdx;
2538
2539 /*BSSID of the BSS*/
2540 wpt_macAddr macBSSID;
2541}WDI_DelTSReqInfoType;
2542
2543/*---------------------------------------------------------------------------
2544 WDI_DelTSReqParamsType
2545---------------------------------------------------------------------------*/
2546typedef struct
2547{
2548 /*Del TSpec Info*/
2549 WDI_DelTSReqInfoType wdiDelTSInfo;
2550
2551 /*Request status callback offered by UMAC - it is called if the current
2552 req has returned PENDING as status; it delivers the status of sending
2553 the message over the BUS */
2554 WDI_ReqStatusCb wdiReqStatusCB;
2555
2556 /*The user data passed in by UMAC, it will be sent back when the above
2557 function pointer will be called */
2558 void* pUserData;
2559}WDI_DelTSReqParamsType;
2560
2561/*---------------------------------------------------------------------------
2562 WDI_UpdateEDCAInfoType
2563---------------------------------------------------------------------------*/
2564typedef struct
2565{
krunal soni0b366c02013-07-17 19:55:57 -07002566 /*BSS Index of the BSS*/
2567 wpt_uint16 ucBssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07002568
Jeff Johnson295189b2012-06-20 16:38:30 -07002569 /*EDCA params for BE*/
2570 WDI_EdcaParamRecord wdiEdcaBEInfo;
2571
2572 /*EDCA params for BK*/
2573 WDI_EdcaParamRecord wdiEdcaBKInfo;
2574
2575 /*EDCA params for VI*/
2576 WDI_EdcaParamRecord wdiEdcaVIInfo;
2577
2578 /*EDCA params for VO*/
2579 WDI_EdcaParamRecord wdiEdcaVOInfo;
2580
2581}WDI_UpdateEDCAInfoType;
2582
2583/*---------------------------------------------------------------------------
2584 WDI_UpdateEDCAParamsType
2585---------------------------------------------------------------------------*/
2586typedef struct
2587{
2588 /*EDCA Info */
2589 WDI_UpdateEDCAInfoType wdiEDCAInfo;
2590
2591 /*Request status callback offered by UMAC - it is called if the current
2592 req has returned PENDING as status; it delivers the status of sending
2593 the message over the BUS */
2594 WDI_ReqStatusCb wdiReqStatusCB;
2595
2596 /*The user data passed in by UMAC, it will be sent back when the above
2597 function pointer will be called */
2598 void* pUserData;
2599}WDI_UpdateEDCAParamsType;
2600
2601/*---------------------------------------------------------------------------
2602 WDI_AddBASessionReqinfoType
2603---------------------------------------------------------------------------*/
2604typedef struct
2605{
2606 /*Indicates the station for which BA is added..*/
2607 wpt_uint8 ucSTAIdx;
2608
2609 /*The peer mac address*/
2610 wpt_macAddr macPeerAddr;
2611
2612 /*TID for which BA was negotiated*/
2613 wpt_uint8 ucBaTID;
2614
2615 /*Delayed or imediate */
2616 wpt_uint8 ucBaPolicy;
2617
2618 /*The number of buffers for this TID (baTID)*/
2619 wpt_uint16 usBaBufferSize;
2620
2621 /*BA timeout in TU's*/
2622 wpt_uint16 usBaTimeout;
2623
2624 /*b0..b3 - Fragment Number - Always set to 0
2625 b4..b15 - Starting Sequence Number of first MSDU for which this BA is setup*/
2626 wpt_uint16 usBaSSN;
2627
2628 /*Originator/Recipient*/
2629 wpt_uint8 ucBaDirection;
2630
2631}WDI_AddBASessionReqinfoType;
2632
2633
2634/*---------------------------------------------------------------------------
2635 WDI_AddBASessionReqParamsType
2636---------------------------------------------------------------------------*/
2637typedef struct
2638{
2639 /*BA Session Info Type*/
2640 WDI_AddBASessionReqinfoType wdiBASessionInfoType;
2641
2642 /*Request status callback offered by UMAC - it is called if the current
2643 req has returned PENDING as status; it delivers the status of sending
2644 the message over the BUS */
2645 WDI_ReqStatusCb wdiReqStatusCB;
2646
2647 /*The user data passed in by UMAC, it will be sent back when the above
2648 function pointer will be called */
2649 void* pUserData;
2650}WDI_AddBASessionReqParamsType;
2651
2652/*---------------------------------------------------------------------------
2653 WDI_AddBASessionRspParamsType
2654---------------------------------------------------------------------------*/
2655typedef struct
2656{
2657 /*Status of the response*/
2658 WDI_Status wdiStatus;
2659
2660 /* Dialog token */
2661 wpt_uint8 ucBaDialogToken;
2662
2663 /* TID for which the BA session has been setup */
2664 wpt_uint8 ucBaTID;
2665
2666 /* BA Buffer Size allocated for the current BA session */
2667 wpt_uint8 ucBaBufferSize;
2668
2669 /* BA session ID */
2670 wpt_uint16 usBaSessionID;
2671
2672 /* Reordering Window buffer */
2673 wpt_uint8 ucWinSize;
2674
2675 /*Station Index to id the sta */
2676 wpt_uint8 ucSTAIdx;
2677
2678 /* Starting Sequence Number */
2679 wpt_uint16 usBaSSN;
2680
2681}WDI_AddBASessionRspParamsType;
2682
2683/*---------------------------------------------------------------------------
Siddharth Bhal171788a2014-09-29 21:02:40 +05302684 WDI_SpoofMacAddrRspParamType
2685---------------------------------------------------------------------------*/
2686typedef struct
2687{
2688 /* wdi status */
2689 wpt_uint32 wdiStatus;
2690
2691 /* Reserved Field */
2692 wpt_uint32 reserved;
2693
2694}WDI_SpoofMacAddrRspParamType;
2695/*---------------------------------------------------------------------------
Siddharth Bhal64246172015-02-27 01:04:37 +05302696 WDI_GetFrameLogRspParamType
2697---------------------------------------------------------------------------*/
2698typedef struct
2699{
2700 /* wdi status */
2701 wpt_uint32 wdiStatus;
2702}WDI_GetFrameLogRspParamType;
2703/*---------------------------------------------------------------------------
Siddharth Bhald1be97f2015-05-27 22:39:59 +05302704 WDI_FWLoggingInitRspParamType
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05302705---------------------------------------------------------------------------*/
2706typedef struct
2707{
Siddharth Bhald1be97f2015-05-27 22:39:59 +05302708 //FW mail box address
2709 wpt_uint64 logMailBoxAddr;
2710 wpt_uint32 status;
2711 //Logging mail box version
2712 wpt_uint8 logMailBoxVer;
2713 //Qshrink is enabled
2714 wpt_boolean logCompressEnabled;
c_manjeecfd1efb2015-09-25 19:32:34 +05302715 /* store the size of fw mem dump */
2716 wpt_uint32 fw_mem_dump_max_size;
Siddharth Bhald1be97f2015-05-27 22:39:59 +05302717 //Reserved for future purpose
Siddharth Bhald1be97f2015-05-27 22:39:59 +05302718 wpt_uint32 reserved1;
2719 wpt_uint32 reserved2;
2720}WDI_FWLoggingInitRspParamType;
Sachin Ahuja715aafc2015-07-21 23:35:10 +05302721
Gupta, Kapil7c34b322015-09-30 13:12:35 +05302722typedef struct
2723{
2724 /* wdi status */
2725 wpt_uint32 status;
2726}WDI_RssiMonitorStartRspParamType;
Sachin Ahuja715aafc2015-07-21 23:35:10 +05302727
Gupta, Kapil7c34b322015-09-30 13:12:35 +05302728typedef struct
2729{
2730 /* wdi status */
2731 wpt_uint32 status;
2732}WDI_RssiMonitorStopRspParamType;
Sachin Ahuja715aafc2015-07-21 23:35:10 +05302733/*---------------------------------------------------------------------------
2734 WDI_FatalEventLogsRspParamType
2735---------------------------------------------------------------------------*/
2736typedef struct
2737{
2738 /* wdi status */
2739 wpt_uint32 wdiStatus;
2740}WDI_FatalEventLogsRspParamType;
2741
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05302742/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07002743 WDI_AddBAReqinfoType
2744---------------------------------------------------------------------------*/
2745typedef struct
2746{
2747 /*Indicates the station for which BA is added..*/
2748 wpt_uint8 ucSTAIdx;
2749
2750 /* Session Id */
2751 wpt_uint8 ucBaSessionID;
2752
2753 /* Reorder Window Size */
2754 wpt_uint8 ucWinSize;
2755
2756#ifdef FEATURE_ON_CHIP_REORDERING
2757 wpt_boolean bIsReorderingDoneOnChip;
2758#endif
2759
2760}WDI_AddBAReqinfoType;
2761
2762
2763/*---------------------------------------------------------------------------
2764 WDI_AddBAReqParamsType
2765---------------------------------------------------------------------------*/
2766typedef struct
2767{
2768 /*BA Info Type*/
2769 WDI_AddBAReqinfoType wdiBAInfoType;
2770
2771 /*Request status callback offered by UMAC - it is called if the current
2772 req has returned PENDING as status; it delivers the status of sending
2773 the message over the BUS */
2774 WDI_ReqStatusCb wdiReqStatusCB;
2775
2776 /*The user data passed in by UMAC, it will be sent back when the above
2777 function pointer will be called */
2778 void* pUserData;
2779}WDI_AddBAReqParamsType;
2780
2781
2782/*---------------------------------------------------------------------------
2783 WDI_AddBARspinfoType
2784---------------------------------------------------------------------------*/
2785typedef struct
2786{
2787 /*Status of the response*/
2788 WDI_Status wdiStatus;
2789
2790 /* Dialog token */
2791 wpt_uint8 ucBaDialogToken;
2792
2793}WDI_AddBARspinfoType;
2794
2795/*---------------------------------------------------------------------------
2796 WDI_TriggerBAReqCandidateType
2797---------------------------------------------------------------------------*/
2798typedef struct
2799{
2800 /* STA index */
2801 wpt_uint8 ucSTAIdx;
2802
2803 /* TID bit map for the STA's*/
2804 wpt_uint8 ucTidBitmap;
2805
2806}WDI_TriggerBAReqCandidateType;
2807
2808
2809/*---------------------------------------------------------------------------
2810 WDI_TriggerBAReqinfoType
2811---------------------------------------------------------------------------*/
2812typedef struct
2813{
2814 /*Indicates the station for which BA is added..*/
2815 wpt_uint8 ucSTAIdx;
2816
2817 /* Session Id */
2818 wpt_uint8 ucBASessionID;
2819
2820 /* Trigger BA Request candidate count */
2821 wpt_uint16 usBACandidateCnt;
2822
2823 /* WDI_TriggerBAReqCandidateType followed by this*/
2824
2825}WDI_TriggerBAReqinfoType;
2826
2827
2828/*---------------------------------------------------------------------------
2829 WDI_TriggerBAReqParamsType
2830---------------------------------------------------------------------------*/
2831typedef struct
2832{
2833 /*BA Trigger Info Type*/
2834 WDI_TriggerBAReqinfoType wdiTriggerBAInfoType;
2835
2836 /*Request status callback offered by UMAC - it is called if the current
2837 req has returned PENDING as status; it delivers the status of sending
2838 the message over the BUS */
2839 WDI_ReqStatusCb wdiReqStatusCB;
2840
2841 /*The user data passed in by UMAC, it will be sent back when the above
2842 function pointer will be called */
2843 void* pUserData;
2844}WDI_TriggerBAReqParamsType;
2845
2846/*---------------------------------------------------------------------------
2847 WDI_AddBAInfoType
2848---------------------------------------------------------------------------*/
2849typedef struct
2850{
2851 wpt_uint16 fBaEnable : 1;
2852 wpt_uint16 startingSeqNum: 12;
2853 wpt_uint16 reserved : 3;
2854}WDI_AddBAInfoType;
2855
2856/*---------------------------------------------------------------------------
2857 WDI_TriggerBARspCandidateType
2858---------------------------------------------------------------------------*/
2859#define STA_MAX_TC 8
2860
2861typedef struct
2862{
2863 /* STA index */
2864 wpt_macAddr macSTA;
2865
2866 /* BA Info */
2867 WDI_AddBAInfoType wdiBAInfo[STA_MAX_TC];
2868}WDI_TriggerBARspCandidateType;
2869
2870/*---------------------------------------------------------------------------
2871 WDI_TriggerBARspParamsType
2872---------------------------------------------------------------------------*/
2873typedef struct
2874{
2875 /*Status of the response*/
2876 WDI_Status wdiStatus;
2877
2878 /*BSSID of the BSS*/
2879 wpt_macAddr macBSSID;
2880
2881 /* Trigger BA response candidate count */
2882 wpt_uint16 usBaCandidateCnt;
2883
2884 /* WDI_TriggerBARspCandidateType followed by this*/
2885
2886}WDI_TriggerBARspParamsType;
2887
2888/*---------------------------------------------------------------------------
2889 WDI_DelBAReqinfoType
2890---------------------------------------------------------------------------*/
2891typedef struct
2892{
2893 /*Indicates the station for which BA is added..*/
2894 wpt_uint8 ucSTAIdx;
2895
2896 /*TID for which BA was negotiated*/
2897 wpt_uint8 ucBaTID;
2898
2899 /*Originator/Recipient*/
2900 wpt_uint8 ucBaDirection;
2901
2902}WDI_DelBAReqinfoType;
2903
2904/*---------------------------------------------------------------------------
2905 WDI_DelBAReqParamsType
2906---------------------------------------------------------------------------*/
2907typedef struct
2908{
2909 /*BA Info */
2910 WDI_DelBAReqinfoType wdiBAInfo;
2911
2912 /*Request status callback offered by UMAC - it is called if the current
2913 req has returned PENDING as status; it delivers the status of sending
2914 the message over the BUS */
2915 WDI_ReqStatusCb wdiReqStatusCB;
2916
2917 /*The user data passed in by UMAC, it will be sent back when the above
2918 function pointer will be called */
2919 void* pUserData;
2920}WDI_DelBAReqParamsType;
2921
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08002922/*---------------------------------------------------------------------------
2923 WDI_UpdateChannelReqinfoType
2924---------------------------------------------------------------------------*/
2925typedef struct
2926{
2927 /** primary 20 MHz channel frequency in mhz */
2928 wpt_uint32 mhz;
2929 /** Center frequency 1 in MHz*/
2930 wpt_uint32 band_center_freq1;
2931 /** Center frequency 2 in MHz - valid only for 11acvht 80plus80 mode*/
2932 wpt_uint32 band_center_freq2;
2933 /* The first 26 bits are a bit mask to indicate any channel flags,
2934 (see WLAN_HAL_CHAN_FLAG*)
2935 The last 6 bits indicate the mode (see tChannelPhyModeType)*/
2936 wpt_uint32 channel_info;
2937 /** contains min power, max power, reg power and reg class id. */
2938 wpt_uint32 reg_info_1;
2939 /** contains antennamax */
2940 wpt_uint32 reg_info_2;
2941}WDI_UpdateChannelReqinfoType;
2942
2943typedef struct
2944{
2945 wpt_uint8 numchan;
2946 WDI_UpdateChannelReqinfoType *pchanParam;
2947}WDI_UpdateChannelReqType;
2948/*---------------------------------------------------------------------------
2949 WDI_UpdateChReqParamsType
2950---------------------------------------------------------------------------*/
2951typedef struct
2952{
2953 /*BA Info */
2954 WDI_UpdateChannelReqType wdiUpdateChanParams;
2955
2956 /*Request status callback offered by UMAC - it is called if the current
2957 req has returned PENDING as status; it delivers the status of sending
2958 the message over the BUS */
2959 WDI_ReqStatusCb wdiReqStatusCB;
2960
2961 /*The user data passed in by UMAC, it will be sent back when the above
2962 function pointer will be called */
2963 void* pUserData;
2964}WDI_UpdateChReqParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07002965
2966/*---------------------------------------------------------------------------
2967 WDI_SwitchCHRspParamsType
2968---------------------------------------------------------------------------*/
2969typedef struct
2970{
2971 /*Status of the response*/
2972 WDI_Status wdiStatus;
2973
2974 /*Indicates the channel that WLAN is on*/
2975 wpt_uint8 ucChannel;
2976
2977#ifdef WLAN_FEATURE_VOWIFI
2978 /*HAL fills in the tx power used for mgmt frames in this field.*/
2979 wpt_int8 ucTxMgmtPower;
2980#endif
2981
2982}WDI_SwitchCHRspParamsType;
2983
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08002984/*--------------------------------------------------------------------
2985 WDI_SwitchChRspParamsType_V1
2986--------------------------------------------------------------------*/
2987typedef struct
2988{
2989 /*Status of the response*/
2990 WDI_Status wdiStatus;
2991
2992 /*Indicates the channel that WLAN is on*/
2993 wpt_uint8 ucChannel;
2994
2995#ifdef WLAN_FEATURE_VOWIFI
2996 /*HAL fills in the tx power used for mgmt frames in this field.*/
2997 wpt_int8 ucTxMgmtPower;
2998#endif
2999
3000 /* Source of Channel Switch */
3001 WDI_ChanSwitchSource channelSwitchSrc;
3002}WDI_SwitchChRspParamsType_V1;
3003
Jeff Johnson295189b2012-06-20 16:38:30 -07003004/*---------------------------------------------------------------------------
3005 WDI_ConfigSTAReqParamsType
3006---------------------------------------------------------------------------*/
3007typedef struct
3008{
3009 /*Info for the Join request that will be sent down to the device*/
3010 WDI_ConfigStaReqInfoType wdiReqInfo;
3011
3012 /*Request status callback offered by UMAC - it is called if the current
3013 req has returned PENDING as status; it delivers the status of sending
3014 the message over the BUS */
3015 WDI_ReqStatusCb wdiReqStatusCB;
3016
3017 /*The user data passed in by UMAC, it will be sent back when the above
3018 function pointer will be called */
3019 void* pUserData;
3020}WDI_ConfigSTAReqParamsType;
3021
3022
3023/*---------------------------------------------------------------------------
3024 WDI_UpdateBeaconParamsInfoType
3025---------------------------------------------------------------------------*/
3026
3027typedef struct
3028{
3029 /*BSS Index of the BSS*/
3030 wpt_uint8 ucBssIdx;
3031
3032 /*shortPreamble mode. HAL should update all the STA rates when it
3033 receives this message*/
3034 wpt_uint8 ucfShortPreamble;
3035 /* short Slot time.*/
3036 wpt_uint8 ucfShortSlotTime;
3037 /* Beacon Interval */
3038 wpt_uint16 usBeaconInterval;
3039 /*Protection related */
3040 wpt_uint8 ucllaCoexist;
3041 wpt_uint8 ucllbCoexist;
3042 wpt_uint8 ucllgCoexist;
3043 wpt_uint8 ucHt20MhzCoexist;
3044 wpt_uint8 ucllnNonGFCoexist;
3045 wpt_uint8 ucfLsigTXOPProtectionFullSupport;
3046 wpt_uint8 ucfRIFSMode;
3047
3048 wpt_uint16 usChangeBitmap;
3049}WDI_UpdateBeaconParamsInfoType;
3050
Mohit Khanna4a70d262012-09-11 16:30:12 -07003051#ifdef WLAN_FEATURE_11AC
3052typedef struct
3053{
3054 wpt_uint16 opMode;
3055 wpt_uint16 staId;
3056}WDI_UpdateVHTOpMode;
3057#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003058
3059/*---------------------------------------------------------------------------
3060 WDI_UpdateBeaconParamsType
3061---------------------------------------------------------------------------*/
3062typedef struct
3063{
3064 /*Update Beacon Params Info*/
3065 WDI_UpdateBeaconParamsInfoType wdiUpdateBeaconParamsInfo;
3066
3067 /*Request status callback offered by UMAC - it is called if the current
3068 req has returned PENDING as status; it delivers the status of sending
3069 the message over the BUS */
3070 WDI_ReqStatusCb wdiReqStatusCB;
3071
3072 /*The user data passed in by UMAC, it will be sent back when the above
3073 function pointer will be called */
3074 void* pUserData;
3075}WDI_UpdateBeaconParamsType;
3076
3077/*---------------------------------------------------------------------------
3078 WDI_SendBeaconParamsInfoType
3079---------------------------------------------------------------------------*/
3080
3081typedef struct {
3082
3083 /*BSSID of the BSS*/
3084 wpt_macAddr macBSSID;
3085
3086 /* Beacon data */
3087 wpt_uint8 beacon[WDI_BEACON_TEMPLATE_SIZE];
3088
3089 /* length of the template */
3090 wpt_uint32 beaconLength;
3091
Jeff Johnson295189b2012-06-20 16:38:30 -07003092 /* TIM IE offset from the beginning of the template.*/
3093 wpt_uint32 timIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07003094
Jeff Johnson295189b2012-06-20 16:38:30 -07003095 /* P2P IE offset from the beginning of the template */
3096 wpt_uint16 usP2PIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07003097} WDI_SendBeaconParamsInfoType;
3098
3099/*---------------------------------------------------------------------------
3100 WDI_SendBeaconParamsType
3101---------------------------------------------------------------------------*/
3102typedef struct
3103{
3104 /*Send Beacon Params Info*/
3105 WDI_SendBeaconParamsInfoType wdiSendBeaconParamsInfo;
3106
3107 /*Request status callback offered by UMAC - it is called if the current
3108 req has returned PENDING as status; it delivers the status of sending
3109 the message over the BUS */
3110 WDI_ReqStatusCb wdiReqStatusCB;
3111
3112 /*The user data passed in by UMAC, it will be sent back when the above
3113 function pointer will be called */
3114 void* pUserData;
3115}WDI_SendBeaconParamsType;
3116
3117/*---------------------------------------------------------------------------
3118 WDI_LinkStateType
3119---------------------------------------------------------------------------*/
3120typedef enum
3121{
3122 WDI_LINK_IDLE_STATE = 0,
3123 WDI_LINK_PREASSOC_STATE = 1,
3124 WDI_LINK_POSTASSOC_STATE = 2,
3125 WDI_LINK_AP_STATE = 3,
3126 WDI_LINK_IBSS_STATE = 4,
3127
3128 // BT-AMP Case
3129 WDI_LINK_BTAMP_PREASSOC_STATE = 5,
3130 WDI_LINK_BTAMP_POSTASSOC_STATE = 6,
3131 WDI_LINK_BTAMP_AP_STATE = 7,
3132 WDI_LINK_BTAMP_STA_STATE = 8,
3133
3134 // Reserved for HAL internal use
3135 WDI_LINK_LEARN_STATE = 9,
3136 WDI_LINK_SCAN_STATE = 10,
3137 WDI_LINK_FINISH_SCAN_STATE = 11,
3138 WDI_LINK_INIT_CAL_STATE = 12,
3139 WDI_LINK_FINISH_CAL_STATE = 13,
Jeff Johnson295189b2012-06-20 16:38:30 -07003140 WDI_LINK_LISTEN_STATE = 14,
Gopichand Nakkala924e4552013-05-08 19:18:14 +05303141 WDI_LINK_SEND_ACTION_STATE = 15,
Jeff Johnson295189b2012-06-20 16:38:30 -07003142 WDI_LINK_MAX = 0x7FFFFFFF
3143} WDI_LinkStateType;
3144
3145/*---------------------------------------------------------------------------
3146 WDI_SetLinkReqInfoType
3147---------------------------------------------------------------------------*/
3148typedef struct
3149{
3150 /*BSSID of the BSS*/
3151 wpt_macAddr macBSSID;
3152
3153 /*Link state*/
3154 WDI_LinkStateType wdiLinkState;
3155
3156 /*BSSID of the BSS*/
3157 wpt_macAddr macSelfStaMacAddr;
3158}WDI_SetLinkReqInfoType;
3159
3160/*---------------------------------------------------------------------------
3161 WDI_SetLinkReqParamsType
3162---------------------------------------------------------------------------*/
3163typedef struct
3164{
3165 /*Link Info*/
3166 WDI_SetLinkReqInfoType wdiLinkInfo;
3167
3168 /*Request status callback offered by UMAC - it is called if the current
3169 req has returned PENDING as status; it delivers the status of sending
3170 the message over the BUS */
3171 WDI_ReqStatusCb wdiReqStatusCB;
3172
3173 /*The user data passed in by UMAC, it will be sent back when the above
3174 function pointer will be called */
3175 void* pUserData;
3176}WDI_SetLinkReqParamsType;
3177
3178/*---------------------------------------------------------------------------
3179 WDI_GetStatsParamsInfoType
3180---------------------------------------------------------------------------*/
3181typedef struct
3182{
3183 /*Indicates the station for which Get Stats are requested..*/
3184 wpt_uint8 ucSTAIdx;
3185
3186 /* categories of stats requested */
3187 wpt_uint32 uStatsMask;
3188}WDI_GetStatsParamsInfoType;
3189
3190/*---------------------------------------------------------------------------
3191 WDI_GetStatsReqParamsType
3192---------------------------------------------------------------------------*/
3193typedef struct
3194{
3195 /*Get Stats Params Info*/
3196 WDI_GetStatsParamsInfoType wdiGetStatsParamsInfo;
3197
3198 /*Request status callback offered by UMAC - it is called if the current
3199 req has returned PENDING as status; it delivers the status of sending
3200 the message over the BUS */
3201 WDI_ReqStatusCb wdiReqStatusCB;
3202
3203 /*The user data passed in by UMAC, it will be sent back when the above
3204 function pointer will be called */
3205 void* pUserData;
3206}WDI_GetStatsReqParamsType;
3207
3208/*---------------------------------------------------------------------------
3209 WDI_GetStatsRspParamsType
3210---------------------------------------------------------------------------*/
3211typedef struct
3212{
3213 /*message type is same as the request type*/
3214 wpt_uint16 usMsgType;
3215
3216 /* length of the entire request, includes the pStatsBuf length too*/
3217 wpt_uint16 usMsgLen;
3218
3219 /*Result of the operation*/
3220 WDI_Status wdiStatus;
3221
3222 /*Indicates the station for which Get Stats are requested..*/
3223 wpt_uint8 ucSTAIdx;
3224
3225 /* categories of stats requested */
3226 wpt_uint32 uStatsMask;
3227
3228 /* The Stats buffer starts here and can be an aggregate of more than one statistics
3229 * structure depending on statsMask.*/
3230}WDI_GetStatsRspParamsType;
3231
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003232#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08003233/*---------------------------------------------------------------------------
3234 WDI_GetRoamRssiParamsInfoType
3235---------------------------------------------------------------------------*/
3236typedef struct
3237{
3238 /*Indicates the station for which Get Stats are requested..*/
3239 wpt_uint8 ucSTAIdx;
3240
3241 /* categories of stats requested */
3242 wpt_uint32 uStatsMask;
3243}WDI_GetRoamRssiParamsInfoType;
3244
3245/*---------------------------------------------------------------------------
3246 WDI_GetRoamRssiReqParamsType
3247---------------------------------------------------------------------------*/
3248typedef struct
3249{
3250 /*Get Roam Rssi Params Info*/
3251 WDI_GetRoamRssiParamsInfoType wdiGetRoamRssiParamsInfo;
3252
3253 /*Request status callback offered by UMAC - it is called if the current
3254 req has returned PENDING as status; it delivers the status of sending
3255 the message over the BUS */
3256 WDI_ReqStatusCb wdiReqStatusCB;
3257
3258 /*The user data passed in by UMAC, it will be sent back when the above
3259 function pointer will be called */
3260 void* pUserData;
3261}WDI_GetRoamRssiReqParamsType;
3262
3263/*---------------------------------------------------------------------------
3264 WDI_GetRoamRssiRspParamsType
3265---------------------------------------------------------------------------*/
3266typedef struct
3267{
3268 /*Result of the operation*/
3269 WDI_Status wdiStatus;
3270
3271 /*Indicates the station for which Get Stats are requested..*/
3272 wpt_uint8 ucSTAIdx;
3273
3274 /* roam rssi requested */
3275 wpt_int8 rssi;
3276
3277 /* The Stats buffer starts here and can be an aggregate of more than one statistics
3278 * structure depending on statsMask.*/
3279}WDI_GetRoamRssiRspParamsType;
3280#endif
3281
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003282#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07003283/*---------------------------------------------------------------------------
3284 WDI_TSMStatsParamsInfoType
3285---------------------------------------------------------------------------*/
3286typedef struct
3287{
3288 /*Indicates the station for which Get Stats are requested..*/
3289 wpt_uint8 ucTid;
3290
3291 wpt_macAddr bssid;
3292}WDI_TSMStatsParamsInfoType;
3293
3294/*---------------------------------------------------------------------------
3295 WDI_TSMStatsReqParamsType
3296---------------------------------------------------------------------------*/
3297typedef struct
3298{
3299 /*Get TSM Stats Params Info*/
3300 WDI_TSMStatsParamsInfoType wdiTsmStatsParamsInfo;
3301
3302 WDI_ReqStatusCb wdiReqStatusCB;
3303
3304 /*The user data passed in by UMAC, it will be sent back when the above
3305 function pointer will be called */
3306 void* pUserData;
3307
3308}WDI_TSMStatsReqParamsType;
3309
3310
3311/*---------------------------------------------------------------------------
3312 WDI_TSMStatsRspParamsType
3313---------------------------------------------------------------------------*/
3314typedef struct
3315{
3316 /*Indicates the status of the operation */
3317 WDI_Status wdiStatus;
3318
3319 wpt_uint16 UplinkPktQueueDly;
3320 wpt_uint16 UplinkPktQueueDlyHist[4];
3321 wpt_uint32 UplinkPktTxDly;
3322 wpt_uint16 UplinkPktLoss;
3323 wpt_uint16 UplinkPktCount;
3324 wpt_uint8 RoamingCount;
3325 wpt_uint16 RoamingDly;
3326}WDI_TSMStatsRspParamsType;
3327
3328
3329#endif
3330/*---------------------------------------------------------------------------
3331 WDI_UpdateCfgReqParamsType
3332---------------------------------------------------------------------------*/
3333typedef struct
3334{
3335 /*This is a TLV formatted buffer containing all config values that can
3336 be set through the DAL Interface
3337
3338 The TLV is expected to be formatted like this:
3339
3340 0 7 15 31 ....
3341 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
3342
3343 Or from a C construct point of VU it would look like this:
3344
3345 typedef struct WPT_PACK_POST
3346 {
3347 #ifdef WPT_BIG_ENDIAN
3348 wpt_uint32 ucCfgId:8;
3349 wpt_uint32 ucCfgLen:8;
3350 wpt_uint32 usReserved:16;
3351 #else
3352 wpt_uint32 usReserved:16;
3353 wpt_uint32 ucCfgLen:8;
3354 wpt_uint32 ucCfgId:8;
3355 #endif
3356
3357 wpt_uint8 ucCfgBody[ucCfgLen];
3358 }WDI_ConfigType;
3359
3360 Multiple such tuplets are to be placed in the config buffer. One for
3361 each required configuration item:
3362
3363 | TLV 1 | TLV2 | ....
3364
3365 The buffer is expected to be a flat area of memory that can be manipulated
3366 with standard memory routines.
3367
3368 For more info please check paragraph 2.3.1 Config Structure from the
3369 HAL LLD.
3370
3371 For a list of accepted configuration list and IDs please look up
3372 wlan_qct_dal_cfg.h
3373 */
3374 void* pConfigBuffer;
3375
3376 /*Length of the config buffer above*/
3377 wpt_uint32 uConfigBufferLen;
3378
3379 /*Request status callback offered by UMAC - it is called if the current
3380 req has returned PENDING as status; it delivers the status of sending
3381 the message over the BUS */
3382 WDI_ReqStatusCb wdiReqStatusCB;
3383
3384 /*The user data passed in by UMAC, it will be sent back when the above
3385 function pointer will be called */
3386 void* pUserData;
3387}WDI_UpdateCfgReqParamsType;
3388
3389/*---------------------------------------------------------------------------
3390 WDI_UpdateProbeRspTemplateInfoType
3391---------------------------------------------------------------------------*/
3392//Default Beacon template size
3393#define WDI_PROBE_RSP_TEMPLATE_SIZE 0x180
3394
3395#define WDI_PROBE_REQ_BITMAP_IE_LEN 8
3396
3397typedef struct
3398{
3399 /*BSSID for which the Probe Template is to be used*/
3400 wpt_macAddr macBSSID;
3401
3402 /*Probe response template*/
3403 wpt_uint8 *pProbeRespTemplate[WDI_PROBE_RSP_TEMPLATE_SIZE];
3404
3405 /*Template Len*/
3406 wpt_uint32 uProbeRespTemplateLen;
3407
3408 /*Bitmap for the IEs that are to be handled at SLM level*/
3409 wpt_uint32 uaProxyProbeReqValidIEBmap[WDI_PROBE_REQ_BITMAP_IE_LEN];
3410
3411}WDI_UpdateProbeRspTemplateInfoType;
3412
3413/*---------------------------------------------------------------------------
3414 WDI_UpdateProbeRspParamsType
3415---------------------------------------------------------------------------*/
3416typedef struct
3417{
3418 /*Link Info*/
3419 WDI_UpdateProbeRspTemplateInfoType wdiProbeRspTemplateInfo;
3420
3421 /*Request status callback offered by UMAC - it is called if the current
3422 req has returned PENDING as status; it delivers the status of sending
3423 the message over the BUS */
3424 WDI_ReqStatusCb wdiReqStatusCB;
3425
3426 /*The user data passed in by UMAC, it will be sent back when the above
3427 function pointer will be called */
3428 void* pUserData;
3429}WDI_UpdateProbeRspTemplateParamsType;
3430
3431/*---------------------------------------------------------------------------
3432 WDI_NvDownloadReqBlobInfo
3433---------------------------------------------------------------------------*/
3434
3435typedef struct
3436{
3437 /* Blob starting address*/
3438 void *pBlobAddress;
3439
3440 /* Blob size */
3441 wpt_uint32 uBlobSize;
3442
3443}WDI_NvDownloadReqBlobInfo;
3444
3445/*---------------------------------------------------------------------------
3446 WDI_NvDownloadReqParamsType
3447---------------------------------------------------------------------------*/
3448typedef struct
3449{
3450 /*NV Blob Info*/
3451 WDI_NvDownloadReqBlobInfo wdiBlobInfo;
3452
3453 /*Request status callback offered by UMAC - it is called if the current
3454 req has returned PENDING as status; it delivers the status of sending
3455 the message over the BUS */
3456 WDI_ReqStatusCb wdiReqStatusCB;
3457
3458 /*The user data passed in by UMAC, it will be sent back when the above
3459 function pointer will be called */
3460 void* pUserData;
3461
3462}WDI_NvDownloadReqParamsType;
3463
3464/*---------------------------------------------------------------------------
3465 WDI_NvDownloadRspInfoType
3466---------------------------------------------------------------------------*/
3467typedef struct
3468{
3469 /*Status of the response*/
3470 WDI_Status wdiStatus;
3471
3472}WDI_NvDownloadRspInfoType;
3473
3474/*---------------------------------------------------------------------------
3475 WDI_SetMaxTxPowerInfoType
3476---------------------------------------------------------------------------*/
3477
3478typedef struct
3479{
3480 /*BSSID is needed to identify which session issued this request. As the request has
3481 power constraints, this should be applied only to that session*/
3482 wpt_macAddr macBSSId;
3483
3484
3485 wpt_macAddr macSelfStaMacAddr;
3486
3487 /* In request power == MaxTxpower to be used.*/
3488 wpt_int8 ucPower;
3489
3490}WDI_SetMaxTxPowerInfoType;
3491
3492/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003493 WDI_SetTxPowerInfoType
3494---------------------------------------------------------------------------*/
3495
3496typedef struct
3497{
3498 wpt_uint8 bssIdx;
3499 /* In request power == MaxTxpower to be used.*/
3500 wpt_uint8 ucPower;
3501
3502}WDI_SetTxPowerInfoType;
3503
3504/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003505 WDI_SetMaxTxPowerParamsType
3506---------------------------------------------------------------------------*/
3507typedef struct
3508{
3509 /*Link Info*/
3510 WDI_SetMaxTxPowerInfoType wdiMaxTxPowerInfo;
3511
3512 /*Request status callback offered by UMAC - it is called if the current
3513 req has returned PENDING as status; it delivers the status of sending
3514 the message over the BUS */
3515 WDI_ReqStatusCb wdiReqStatusCB;
3516
3517 /*The user data passed in by UMAC, it will be sent back when the above
3518 function pointer will be called */
3519 void* pUserData;
3520}WDI_SetMaxTxPowerParamsType;
3521
schang86c22c42013-03-13 18:41:24 -07003522/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07003523 WDI_Band
3524---------------------------------------------------------------------------*/
3525typedef enum
3526{
3527 WDI_BAND_ALL,
3528 WDI_BAND_24,
3529 WDI_BAND_5G,
3530 WDI_BAND_MAX,
3531}eWDIBand;
3532
3533/*---------------------------------------------------------------------------
3534 WDI_MaxTxPowerPerBandInfoType
3535---------------------------------------------------------------------------*/
3536typedef struct
3537{
3538 eWDIBand bandInfo;
3539 /* In request power == MaxTxpower to be used.*/
3540 wpt_uint8 ucPower;
3541}WDI_MaxTxPowerPerBandInfoType;
3542
3543/*---------------------------------------------------------------------------
3544 WDI_SetMaxTxPowerPerBandParamsType
3545---------------------------------------------------------------------------*/
3546typedef struct
3547{
3548 /*Link Info*/
3549 WDI_MaxTxPowerPerBandInfoType wdiMaxTxPowerPerBandInfo;
3550
3551 /*Request status callback offered by UMAC - it is called if the current
3552 req has returned PENDING as status; it delivers the status of sending
3553 the message over the BUS */
3554 WDI_ReqStatusCb wdiReqStatusCB;
3555
3556 /*The user data passed in by UMAC, it will be sent back when the above
3557 function pointer will be called */
3558 void* pUserData;
3559}WDI_SetMaxTxPowerPerBandParamsType;
3560
3561/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003562 WDI_SetTxPowerParamsType
3563---------------------------------------------------------------------------*/
3564typedef struct
3565{
3566 /*Link Info*/
3567 WDI_SetTxPowerInfoType wdiTxPowerInfo;
3568
3569 /*Request status callback offered by UMAC - it is called if the current
3570 req has returned PENDING as status; it delivers the status of sending
3571 the message over the BUS */
3572 WDI_ReqStatusCb wdiReqStatusCB;
3573
3574 /*The user data passed in by UMAC, it will be sent back when the above
3575 function pointer will be called */
3576 void* pUserData;
3577}WDI_SetTxPowerParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003578
3579/*---------------------------------------------------------------------------
3580 WDI_SetMaxTxPowerRspMsg
3581---------------------------------------------------------------------------*/
3582
3583typedef struct
3584{
3585 /* In response, power==tx power used for management frames*/
3586 wpt_int8 ucPower;
3587
3588 /*Result of the operation*/
3589 WDI_Status wdiStatus;
3590
3591}WDI_SetMaxTxPowerRspMsg;
3592
schang86c22c42013-03-13 18:41:24 -07003593/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07003594 WDI_SetMaxTxPowerPerBandRspMsg
3595---------------------------------------------------------------------------*/
3596typedef struct
3597{
3598 /* In response, power==tx power used for management frames*/
3599 wpt_int8 ucPower;
3600
3601 /*Result of the operation*/
3602 WDI_Status wdiStatus;
3603
3604}WDI_SetMaxTxPowerPerBandRspMsg;
3605
3606/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003607 WDI_SetTxPowerRspMsg
3608---------------------------------------------------------------------------*/
3609
3610typedef struct
3611{
3612 /* In response, power==tx power used for management frames*/
3613 wpt_int8 ucPower;
3614
3615 /*Result of the operation*/
3616 WDI_Status wdiStatus;
3617
3618}WDI_SetTxPowerRspMsg;
3619
Jeff Johnson295189b2012-06-20 16:38:30 -07003620typedef struct
3621{
3622 wpt_uint8 ucOpp_ps;
3623 wpt_uint32 uCtWindow;
3624 wpt_uint8 ucCount;
3625 wpt_uint32 uDuration;
3626 wpt_uint32 uInterval;
3627 wpt_uint32 uSingle_noa_duration;
3628 wpt_uint8 ucPsSelection;
3629}WDI_SetP2PGONOAReqInfoType;
3630
3631/*---------------------------------------------------------------------------
3632 WDI_SetP2PGONOAReqParamsType
3633---------------------------------------------------------------------------*/
3634typedef struct
3635{
3636 /*P2P GO NOA Req*/
3637 WDI_SetP2PGONOAReqInfoType wdiP2PGONOAInfo;
3638
3639 /*Request status callback offered by UMAC - it is called if the current
3640 req has returned PENDING as status; it delivers the status of sending
3641 the message over the BUS */
3642 WDI_ReqStatusCb wdiReqStatusCB;
3643
3644 /*The user data passed in by UMAC, it will be sent back when the above
3645 function pointer will be called */
3646 void* pUserData;
3647}WDI_SetP2PGONOAReqParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003648
Naresh Jayaramc7cbd782014-02-04 17:38:23 +05303649#define WDI_MAX_SUPP_CHANNELS 128
3650#define WDI_MAX_SUPP_OPER_CLASSES 32
3651
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303652typedef struct
3653{
3654 wpt_uint16 uStaIdx;
3655 wpt_uint8 uIsResponder;
3656 wpt_uint8 uUapsdQueues;
3657 wpt_uint8 uMaxSp;
3658 wpt_uint8 uIsBufSta;
Naresh Jayaramc7cbd782014-02-04 17:38:23 +05303659 wpt_uint8 uIsOffChannelSupported;
3660 wpt_uint8 peerCurrOperClass;
3661 wpt_uint8 selfCurrOperClass;
3662 wpt_uint8 validChannelsLen;
3663 wpt_uint8 validChannels[WDI_MAX_SUPP_CHANNELS];
3664 wpt_uint8 validOperClassesLen;
3665 wpt_uint8 validOperClasses[WDI_MAX_SUPP_OPER_CLASSES];
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303666}WDI_SetTDLSLinkEstablishReqInfoType;
3667/*---------------------------------------------------------------------------
3668 WDI_SetTDLSLinkEstablishReqParamsType
3669---------------------------------------------------------------------------*/
3670typedef struct
3671{
3672 /*TDLS Link Establish Req*/
3673 WDI_SetTDLSLinkEstablishReqInfoType wdiTDLSLinkEstablishInfo;
3674
3675 /*Request status callback offered by UMAC - it is called if the current
3676 req has returned PENDING as status; it delivers the status of sending
3677 the message over the BUS */
3678 WDI_ReqStatusCb wdiReqStatusCB;
3679
3680 /*The user data passed in by UMAC, it will be sent back when the above
3681 function pointer will be called */
3682 void* pUserData;
3683}WDI_SetTDLSLinkEstablishReqParamsType;
3684
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05303685typedef struct
3686{
3687 /*Result of the operation*/
3688 WDI_Status wdiStatus;
3689
3690 /*STA Idx*/
3691 wpt_uint16 uStaIdx;
3692}WDI_SetTdlsLinkEstablishReqResp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003693
Atul Mittalc0f739f2014-07-31 13:47:47 +05303694
3695
3696typedef struct
3697{
3698 /*STA Index*/
3699 wpt_uint8 staIdx;
3700 /* if this is 1, self is initiator otherwise responder only*/
3701 wpt_uint8 isOffchannelInitiator;
3702 /*TDLS off channel related params */
3703 wpt_uint8 targetOperClass;
3704 wpt_uint8 targetChannel;
3705 wpt_uint8 secondaryChannelOffset;
3706 wpt_uint8 reserved[64];
3707}WDI_SetTDLSChanSwitchReqInfoType;
3708
3709typedef struct
3710{
3711 WDI_SetTDLSChanSwitchReqInfoType wdiTDLSChanSwitchReqInfo;
3712 WDI_ReqStatusCb wdiReqStatusCB;
3713 void* pUserData;
3714}WDI_SetTDLSChanSwitchReqParamsType;
3715
3716
3717typedef struct
3718{
3719 /*Result of the operation*/
3720 WDI_Status wdiStatus;
3721
3722 /*STA Idx*/
3723 wpt_uint16 uStaIdx;
3724}WDI_SetTdlsChanSwitchReqResp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003725/*---------------------------------------------------------------------------
3726 WDI_SetAddSTASelfParamsType
3727---------------------------------------------------------------------------*/
3728typedef struct
3729{
3730 /*Self Station MAC address*/
3731 wpt_macAddr selfMacAddr;
3732
Kiran Kumar Lokere0ad5cd32013-06-25 11:26:22 -07003733 /*Self STA device mode*/
3734 wpt_uint32 currDeviceMode;
3735
Jeff Johnson295189b2012-06-20 16:38:30 -07003736 /*Status of the operation*/
3737 wpt_uint32 uStatus;
3738}WDI_AddSTASelfInfoType;
3739
3740/*---------------------------------------------------------------------------
3741 WDI_SetAddSTASelfParamsType
3742---------------------------------------------------------------------------*/
3743typedef struct
3744{
3745 /* Add Sta Self Req */
3746 WDI_AddSTASelfInfoType wdiAddSTASelfInfo;
3747
3748 /*Request status callback offered by UMAC - it is called if the current
3749 req has returned PENDING as status; it delivers the status of sending
3750 the message over the BUS */
3751 WDI_ReqStatusCb wdiReqStatusCB;
3752
3753 /*The user data passed in by UMAC, it will be sent back when the above
3754 function pointer will be called */
3755 void* pUserData;
3756}WDI_AddSTASelfReqParamsType;
3757
3758
3759/*---------------------------------------------------------------------------
3760 WDI_AddSTASelfRspParamsType
3761---------------------------------------------------------------------------*/
3762typedef struct
3763{
3764 /*Status of the response*/
3765 WDI_Status wdiStatus;
3766
3767 /*STA Idx allocated by HAL*/
3768 wpt_uint8 ucSTASelfIdx;
3769
3770 /* DPU Index (IGTK, PTK, GTK all same) */
3771 wpt_uint8 dpuIdx;
3772
3773 /* DPU Signature */
3774 wpt_uint8 dpuSignature;
3775
3776 /*Self STA Mac*/
3777 wpt_macAddr macSelfSta;
3778
3779}WDI_AddSTASelfRspParamsType;
3780
3781/*---------------------------------------------------------------------------
3782 WDI_DelSTASelfReqParamsType
3783 Del Sta Self info passed to WDI form WDA
3784---------------------------------------------------------------------------*/
3785typedef struct
3786{
3787 wpt_macAddr selfMacAddr;
3788
3789}WDI_DelSTASelfInfoType;
3790
3791/*---------------------------------------------------------------------------
3792 WDI_DelSTASelfReqParamsType
3793 Del Sta Self info passed to WDI form WDA
3794---------------------------------------------------------------------------*/
3795typedef struct
3796{
3797 /*Del Sta Self Info Type */
3798 WDI_DelSTASelfInfoType wdiDelStaSelfInfo;
3799 /*Request status callback offered by UMAC - it is called if the current req
3800 has returned PENDING as status; it delivers the status of sending the message
3801 over the BUS */
3802 WDI_ReqStatusCb wdiReqStatusCB;
3803 /*The user data passed in by UMAC, it will be sent back when the above
3804 function pointer will be called */
3805 void* pUserData;
3806}WDI_DelSTASelfReqParamsType;
3807
3808/*---------------------------------------------------------------------------
3809 WDI_DelSTASelfRspParamsType
3810---------------------------------------------------------------------------*/
3811typedef struct
3812{
3813 /*Status of the response*/
3814 WDI_Status wdiStatus;
3815
3816 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
3817// wpt_uint8 ucSTAIdx;
3818}WDI_DelSTASelfRspParamsType;
3819
3820/*---------------------------------------------------------------------------
3821 WDI_UapsdInfoType
3822 UAPSD parameters passed per AC to WDA from UMAC
3823---------------------------------------------------------------------------*/
3824typedef struct
3825{
3826 wpt_uint8 ucSTAIdx; // STA index
3827 wpt_uint8 ucAc; // Access Category
3828 wpt_uint8 ucUp; // User Priority
3829 wpt_uint32 uSrvInterval; // Service Interval
3830 wpt_uint32 uSusInterval; // Suspend Interval
3831 wpt_uint32 uDelayInterval; // Delay Interval
3832} WDI_UapsdInfoType;
3833
3834/*---------------------------------------------------------------------------
3835 WDI_SetUapsdAcParamsReqParamsType
3836 UAPSD parameters passed per AC to WDI from WDA
3837---------------------------------------------------------------------------*/
3838typedef struct
3839{
3840 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3841 WDI_UapsdInfoType wdiUapsdInfo;
3842 /*Request status callback offered by UMAC - it is called if the current req
3843 has returned PENDING as status; it delivers the status of sending the message
3844 over the BUS */
3845 WDI_ReqStatusCb wdiReqStatusCB;
3846 /*The user data passed in by UMAC, it will be sent back when the above
3847 function pointer will be called */
3848 void* pUserData;
3849}WDI_SetUapsdAcParamsReqParamsType;
3850
3851/*---------------------------------------------------------------------------
3852 WDI_EnterBmpsReqinfoType
3853 Enter BMPS parameters passed to WDA from UMAC
3854---------------------------------------------------------------------------*/
3855typedef struct
3856{
3857 //TBTT value derived from the last beacon
3858 wpt_uint8 ucBssIdx;
3859 wpt_uint64 uTbtt;
3860 wpt_uint8 ucDtimCount;
3861 //DTIM period given to HAL during association may not be valid,
3862 //if association is based on ProbeRsp instead of beacon.
3863 wpt_uint8 ucDtimPeriod;
3864 /* DXE physical addr to be passed down to RIVA. RIVA HAL will use it to program
3865 DXE when DXE wakes up from power save*/
3866 unsigned int dxePhyAddr;
3867
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003868 // For ESE and 11R Roaming
Jeff Johnson295189b2012-06-20 16:38:30 -07003869 wpt_uint32 rssiFilterPeriod;
3870 wpt_uint32 numBeaconPerRssiAverage;
3871 wpt_uint8 bRssiFilterEnable;
3872}WDI_EnterBmpsReqinfoType;
3873
3874/*---------------------------------------------------------------------------
3875 WDI_EnterBmpsReqParamsType
3876 Enter BMPS parameters passed to WDI from WDA
3877---------------------------------------------------------------------------*/
3878typedef struct
3879{
3880 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3881 WDI_EnterBmpsReqinfoType wdiEnterBmpsInfo;
3882 /*Request status callback offered by UMAC - it is called if the current req
3883 has returned PENDING as status; it delivers the status of sending the message
3884 over the BUS */
3885 WDI_ReqStatusCb wdiReqStatusCB;
3886 /*The user data passed in by UMAC, it will be sent back when the above
3887 function pointer will be called */
3888 void* pUserData;
3889}WDI_EnterBmpsReqParamsType;
3890
3891/*---------------------------------------------------------------------------
Mihir Shetea4306052014-03-25 00:02:54 +05303892 WDI_EnterImpsReqParamsType
3893 Enter IMPS parameters passed to WDI from WDA
3894---------------------------------------------------------------------------*/
3895typedef struct
3896{
3897 /*Request status callback offered by UMAC - it is called if the current req
3898 has returned PENDING as status; it delivers the status of sending the message
3899 over the BUS */
3900 WDI_ReqStatusCb wdiReqStatusCB;
3901 /*The user data passed in by UMAC, it will be sent back when the above
3902 function pointer will be called */
3903 void* pUserData;
3904}WDI_EnterImpsReqParamsType;
3905
3906/*---------------------------------------------------------------------------
Mahesh A Saptasagar329813b2014-12-15 12:16:51 +05303907 WDI_ExitImpsReqParamsType
3908 Exit IMPS parameters passed to WDI from WDA
3909----------------------------------------------------------------------------*/
3910typedef struct
3911{
3912 /*Request status callback offered by UMAC */
3913 WDI_ReqStatusCb wdiReqStatusCB;
3914 /*The user data passed in by UMAC, it will be sent back when the above
3915 function pointer will be called */
3916 void* pUserData;
3917
3918}WDI_ExitImpsReqParamsType;
3919
3920/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003921 WDI_EnterBmpsReqParamsType
3922 Enter BMPS parameters passed from WDI to WDA
3923---------------------------------------------------------------------------*/
3924typedef struct
3925{
3926 /*Status of the response*/
3927 WDI_Status wdiStatus;
3928
3929 /*BssIDX of the session*/
3930 wpt_uint8 bssIdx;
3931}WDI_EnterBmpsRspParamsType;
3932
3933/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003934 WDI_ExitBmpsReqinfoType
3935 Exit BMPS parameters passed to WDA from UMAC
3936---------------------------------------------------------------------------*/
3937typedef struct
3938{
3939 wpt_uint8 ucSendDataNull;
Jeff Johnsone7245742012-09-05 17:12:55 -07003940 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003941}WDI_ExitBmpsReqinfoType;
3942
3943/*---------------------------------------------------------------------------
3944 WDI_ExitBmpsReqParamsType
3945 Exit BMPS parameters passed to WDI from WDA
3946---------------------------------------------------------------------------*/
3947typedef struct
3948{
3949 /*Exit BMPS Info Type, same as tExitBmpsParams */
3950 WDI_ExitBmpsReqinfoType wdiExitBmpsInfo;
3951 /*Request status callback offered by UMAC - it is called if the current req
3952 has returned PENDING as status; it delivers the status of sending the message
3953 over the BUS */
3954 WDI_ReqStatusCb wdiReqStatusCB;
3955 /*The user data passed in by UMAC, it will be sent back when the above
3956 function pointer will be called */
3957 void* pUserData;
3958}WDI_ExitBmpsReqParamsType;
3959
3960/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003961 WDI_ExitBmpsReqParamsType
3962 Exit BMPS parameters passed from WDI to WDA
3963---------------------------------------------------------------------------*/
3964typedef struct
3965{
3966 /*Status of the response*/
3967 WDI_Status wdiStatus;
3968
3969 /*BssIDX of the session*/
3970 wpt_uint8 bssIdx;
3971}WDI_ExitBmpsRspParamsType;
3972
3973/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003974 WDI_EnterUapsdReqinfoType
3975 Enter UAPSD parameters passed to WDA from UMAC
3976---------------------------------------------------------------------------*/
3977typedef struct
3978{
3979 wpt_uint8 ucBkDeliveryEnabled:1;
3980 wpt_uint8 ucBeDeliveryEnabled:1;
3981 wpt_uint8 ucViDeliveryEnabled:1;
3982 wpt_uint8 ucVoDeliveryEnabled:1;
3983 wpt_uint8 ucBkTriggerEnabled:1;
3984 wpt_uint8 ucBeTriggerEnabled:1;
3985 wpt_uint8 ucViTriggerEnabled:1;
3986 wpt_uint8 ucVoTriggerEnabled:1;
Jeff Johnsone7245742012-09-05 17:12:55 -07003987 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003988}WDI_EnterUapsdReqinfoType;
3989
3990/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003991 WDI_EnterUapsdRspParamsType
3992 Enter UAPSD parameters passed from WDI to WDA
3993---------------------------------------------------------------------------*/
3994typedef struct
3995{
3996 /*Status of the response*/
3997 WDI_Status wdiStatus;
3998
3999 /*BssIDX of the session*/
4000 wpt_uint8 bssIdx;
4001}WDI_EnterUapsdRspParamsType;
4002
4003/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004004 WDI_EnterUapsdReqinfoType
4005 Enter UAPSD parameters passed to WDI from WDA
4006---------------------------------------------------------------------------*/
4007typedef struct
4008{
4009 /*Enter UAPSD Info Type, same as tUapsdParams */
4010 WDI_EnterUapsdReqinfoType wdiEnterUapsdInfo;
4011 /*Request status callback offered by UMAC - it is called if the current req
4012 has returned PENDING as status; it delivers the status of sending the message
4013 over the BUS */
4014 WDI_ReqStatusCb wdiReqStatusCB;
4015 /*The user data passed in by UMAC, it will be sent back when the above
4016 function pointer will be called */
4017 void* pUserData;
4018}WDI_EnterUapsdReqParamsType;
4019
4020/*---------------------------------------------------------------------------
4021 WDI_UpdateUapsdReqinfoType
4022 Update UAPSD parameters passed to WDA from UMAC
4023---------------------------------------------------------------------------*/
4024typedef struct
4025{
4026 wpt_uint8 ucSTAIdx;
4027 wpt_uint8 ucUapsdACMask;
4028 wpt_uint32 uMaxSpLen;
4029}WDI_UpdateUapsdReqinfoType;
4030
4031/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004032 WDI_ExitUapsdReqinfoType
4033 Exit UAPSD parameters passed to WDA from UMAC
4034---------------------------------------------------------------------------*/
4035typedef struct
4036{
4037 wpt_uint8 bssIdx;
4038}WDI_ExitUapsdReqinfoType;
4039
4040/*---------------------------------------------------------------------------
4041 WDI_ExitUapsdReqParamsType
4042 Exit UAPSD parameters passed to WDI from WDA
4043---------------------------------------------------------------------------*/
4044typedef struct
4045{
4046 /*Exit UAPSD Info Type, same as tUapsdParams */
4047 WDI_ExitUapsdReqinfoType wdiExitUapsdInfo;
4048 /*Request status callback offered by UMAC - it is called if the current req
4049 has returned PENDING as status; it delivers the status of sending the message
4050 over the BUS */
4051 WDI_ReqStatusCb wdiReqStatusCB;
4052 /*The user data passed in by UMAC, it will be sent back when the above
4053 function pointer will be called */
4054 void* pUserData;
4055}WDI_ExitUapsdReqParamsType;
4056
4057/*---------------------------------------------------------------------------
4058 WDI_ExitUapsdRspParamsType
4059 Exit UAPSD parameters passed from WDI to WDA
4060---------------------------------------------------------------------------*/
4061typedef struct
4062{
4063 /*Status of the response*/
4064 WDI_Status wdiStatus;
4065
4066 /*BssIDX of the session*/
4067 wpt_uint8 bssIdx;
4068}WDI_ExitUapsdRspParamsType;
4069
4070/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004071 WDI_UpdateUapsdReqParamsType
4072 Update UAPSD parameters passed to WDI form WDA
4073---------------------------------------------------------------------------*/
4074typedef struct
4075{
4076 /*Update UAPSD Info Type, same as tUpdateUapsdParams */
4077 WDI_UpdateUapsdReqinfoType wdiUpdateUapsdInfo;
4078 /*Request status callback offered by UMAC - it is called if the current req
4079 has returned PENDING as status; it delivers the status of sending the message
4080 over the BUS */
4081 WDI_ReqStatusCb wdiReqStatusCB;
4082 /*The user data passed in by UMAC, it will be sent back when the above
4083 function pointer will be called */
4084 void* pUserData;
4085}WDI_UpdateUapsdReqParamsType;
4086
4087/*---------------------------------------------------------------------------
4088 WDI_ConfigureRxpFilterReqParamsType
4089 RXP filter parameters passed to WDI form WDA
4090---------------------------------------------------------------------------*/
4091typedef struct
4092{
4093 /* Mode of Mcast and Bcast filters configured */
4094 wpt_uint8 ucSetMcstBcstFilterSetting;
4095
4096 /* Mcast Bcast Filters enable/disable*/
4097 wpt_uint8 ucSetMcstBcstFilter;
4098}WDI_RxpFilterReqParamsType;
4099
4100typedef struct
4101{
4102 /* Rxp Filter */
4103 WDI_RxpFilterReqParamsType wdiRxpFilterParam;
4104
4105 /*Request status callback offered by UMAC - it is called if the current req
4106 has returned PENDING as status; it delivers the status of sending the message
4107 over the BUS */
4108 WDI_ReqStatusCb wdiReqStatusCB;
4109 /*The user data passed in by UMAC, it will be sent back when the above
4110 function pointer will be called */
4111 void* pUserData;
4112}WDI_ConfigureRxpFilterReqParamsType;
4113
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05304114typedef struct
4115{
4116 wpt_uint8 enableFlag;
4117 wpt_uint8 frameType;
4118 wpt_uint8 frameSize;
4119 wpt_uint8 bufferMode;
Siddharth Bhald1be97f2015-05-27 22:39:59 +05304120 wpt_uint8 continuousFrameLogging;
4121 wpt_uint8 minLogBufferSize;
4122 wpt_uint8 maxLogBufferSize;
4123}WDI_FWLoggingInitReqInfoType;
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05304124
Siddharth Bhal64246172015-02-27 01:04:37 +05304125typedef struct
4126{
Gupta, Kapil7c34b322015-09-30 13:12:35 +05304127 wpt_uint32 requestId;
4128 wpt_uint8 minRssi;
4129 wpt_uint8 maxRssi;
4130 wpt_macAddr currentBssId;
4131}WDI_RssiMonitorReqInfoType;
4132
4133typedef struct
4134{
Sachin Ahuja715aafc2015-07-21 23:35:10 +05304135 wpt_uint32 reason_code;
4136}WDI_FatalEventLogsReqInfoType;
4137
4138
4139typedef struct
4140{
Siddharth Bhal64246172015-02-27 01:04:37 +05304141 wpt_uint8 flags;
4142}WDI_GetFrameLogReqInfoType;
4143
Siddharth Bhald1be97f2015-05-27 22:39:59 +05304144typedef struct
4145{
Hanumantha Reddy Pothulae00a7e22015-09-15 20:11:30 +05304146 wpt_uint16 status;
4147 wpt_uint16 doneIndicationForSource;
Siddharth Bhald1be97f2015-05-27 22:39:59 +05304148 wpt_uint64 logBuffAddress[MAX_NUM_OF_BUFFER];
Siddharth Bhald1be97f2015-05-27 22:39:59 +05304149 wpt_uint32 logBuffLength[MAX_NUM_OF_BUFFER];
4150}WDI_FWLoggingDXEdoneIndInfoType;
4151
Jeff Johnson295189b2012-06-20 16:38:30 -07004152/*---------------------------------------------------------------------------
4153 WDI_BeaconFilterInfoType
4154 Beacon Filtering data structures passed to WDA form UMAC
4155---------------------------------------------------------------------------*/
4156typedef struct
4157{
4158 wpt_uint16 usCapabilityInfo;
4159 wpt_uint16 usCapabilityMask;
4160 wpt_uint16 usBeaconInterval;
4161 wpt_uint16 usIeNum;
Madan Mohan Koyyalamudia84edda2012-10-15 14:58:25 -07004162 wpt_uint8 bssIdx;
4163 wpt_uint8 reserved;
Jeff Johnson295189b2012-06-20 16:38:30 -07004164}WDI_BeaconFilterInfoType;
4165
4166/*---------------------------------------------------------------------------
4167 WDI_BeaconFilterReqParamsType
4168 Beacon Filtering parameters passed to WDI form WDA
4169---------------------------------------------------------------------------*/
4170typedef struct
4171{
4172 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
4173 WDI_BeaconFilterInfoType wdiBeaconFilterInfo;
4174 /*Beacon Filter(s) follow the "usIeNum" field, hence the array to ease the
4175 copy of params from WDA to WDI */
4176 wpt_uint8 aFilters[WDI_BEACON_FILTER_LEN];
4177 /*Request status callback offered by UMAC - it is called if the current req
4178 has returned PENDING as status; it delivers the status of sending the message
4179 over the BUS */
4180 WDI_ReqStatusCb wdiReqStatusCB;
4181 /*The user data passed in by UMAC, it will be sent back when the above
4182 function pointer will be called */
4183 void* pUserData;
4184}WDI_BeaconFilterReqParamsType;
4185
4186/*---------------------------------------------------------------------------
4187 WDI_RemBeaconFilterInfoType
4188 Beacon Filtering data structures (to be reomoved) passed to WDA form UMAC
4189---------------------------------------------------------------------------*/
4190typedef struct
4191{
4192 wpt_uint8 ucIeCount;
4193 wpt_uint8 ucRemIeId[1];
4194}WDI_RemBeaconFilterInfoType;
4195
4196/*---------------------------------------------------------------------------
4197 WDI_RemBeaconFilterReqParamsType
4198 Beacon Filtering parameters (to be reomoved)passed to WDI form WDA
4199---------------------------------------------------------------------------*/
4200typedef struct
4201{
4202 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
4203 WDI_RemBeaconFilterInfoType wdiBeaconFilterInfo;
4204 /*Request status callback offered by UMAC - it is called if the current req
4205 has returned PENDING as status; it delivers the status of sending the message
4206 over the BUS */
4207 WDI_ReqStatusCb wdiReqStatusCB;
4208 /*The user data passed in by UMAC, it will be sent back when the above
4209 function pointer will be called */
4210 void* pUserData;
4211}WDI_RemBeaconFilterReqParamsType;
4212
4213/*---------------------------------------------------------------------------
4214 WDI_RSSIThresholdsType
4215 RSSI thresholds data structures (to be reomoved) passed to WDA form UMAC
4216---------------------------------------------------------------------------*/
4217typedef struct
4218{
4219 wpt_int8 ucRssiThreshold1 : 8;
4220 wpt_int8 ucRssiThreshold2 : 8;
4221 wpt_int8 ucRssiThreshold3 : 8;
4222 wpt_uint8 bRssiThres1PosNotify : 1;
4223 wpt_uint8 bRssiThres1NegNotify : 1;
4224 wpt_uint8 bRssiThres2PosNotify : 1;
4225 wpt_uint8 bRssiThres2NegNotify : 1;
4226 wpt_uint8 bRssiThres3PosNotify : 1;
4227 wpt_uint8 bRssiThres3NegNotify : 1;
4228 wpt_uint8 bReserved10 : 2;
4229} WDI_RSSIThresholdsType;
4230
4231/*---------------------------------------------------------------------------
4232 WDI_SetRSSIThresholdsReqParamsType
4233 RSSI thresholds parameters (to be reomoved)passed to WDI form WDA
4234---------------------------------------------------------------------------*/
4235typedef struct
4236{
4237 /*RSSI thresholds Info Type, same as WDI_RSSIThresholds */
4238 WDI_RSSIThresholdsType wdiRSSIThresholdsInfo;
4239 /*Request status callback offered by UMAC - it is called if the current req
4240 has returned PENDING as status; it delivers the status of sending the message
4241 over the BUS */
4242 WDI_ReqStatusCb wdiReqStatusCB;
4243 /*The user data passed in by UMAC, it will be sent back when the above
4244 function pointer will be called */
4245 void* pUserData;
4246}WDI_SetRSSIThresholdsReqParamsType;
4247
4248/*---------------------------------------------------------------------------
4249 WDI_HostOffloadReqType
4250 host offload info passed to WDA form UMAC
4251---------------------------------------------------------------------------*/
4252#ifdef WLAN_NS_OFFLOAD
4253typedef struct
4254{
4255 wpt_uint8 srcIPv6Addr[16];
4256 wpt_uint8 selfIPv6Addr[16];
4257 //Only support 2 possible Network Advertisement IPv6 address
4258 wpt_uint8 targetIPv6Addr1[16];
4259 wpt_uint8 targetIPv6Addr2[16];
4260 wpt_uint8 selfMacAddr[6];
4261 wpt_uint8 srcIPv6AddrValid : 1;
4262 wpt_uint8 targetIPv6Addr1Valid : 1;
4263 wpt_uint8 targetIPv6Addr2Valid : 1;
Gopichand Nakkala746a9452013-06-11 12:45:54 +05304264 wpt_uint8 slotIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004265} WDI_NSOffloadParams;
4266#endif //WLAN_NS_OFFLOAD
4267
4268typedef struct
4269{
4270 wpt_uint8 ucOffloadType;
4271 wpt_uint8 ucEnableOrDisable;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004272 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004273 union
4274 {
4275 wpt_uint8 aHostIpv4Addr [4];
4276 wpt_uint8 aHostIpv6Addr [16];
4277 } params;
4278} WDI_HostOffloadReqType;
4279
4280/*---------------------------------------------------------------------------
4281 WDI_HostOffloadReqParamsType
4282 host offload info passed to WDI form WDA
4283---------------------------------------------------------------------------*/
4284typedef struct
4285{
4286 /*Host offload Info Type, same as tHalHostOffloadReq */
4287 WDI_HostOffloadReqType wdiHostOffloadInfo;
4288#ifdef WLAN_NS_OFFLOAD
4289 WDI_NSOffloadParams wdiNsOffloadParams;
4290#endif //WLAN_NS_OFFLOAD
4291 /*Request status callback offered by UMAC - it is called if the current req
4292 has returned PENDING as status; it delivers the status of sending the message
4293 over the BUS */
4294 WDI_ReqStatusCb wdiReqStatusCB;
4295 /*The user data passed in by UMAC, it will be sent back when the above
4296 function pointer will be called */
4297 void* pUserData;
4298}WDI_HostOffloadReqParamsType;
4299
4300/*---------------------------------------------------------------------------
4301 WDI_KeepAliveReqType
4302 Keep Alive info passed to WDA form UMAC
4303---------------------------------------------------------------------------*/
4304typedef struct
4305{
4306 wpt_uint8 ucPacketType;
4307 wpt_uint32 ucTimePeriod;
4308 wpt_uint8 aHostIpv4Addr[4];
4309 wpt_uint8 aDestIpv4Addr[4];
4310 wpt_uint8 aDestMacAddr[6];
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004311 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004312} WDI_KeepAliveReqType;
4313
4314/*---------------------------------------------------------------------------
4315 WDI_KeepAliveReqParamsType
4316 Keep Alive passed to WDI form WDA
4317---------------------------------------------------------------------------*/
4318typedef struct
4319{
4320 /* Keep Alive Info Type, same as tHalKeepAliveReq */
4321 WDI_KeepAliveReqType wdiKeepAliveInfo;
4322 /*Request status callback offered by UMAC - it is called if the current req
4323 has returned PENDING as status; it delivers the status of sending the message
4324 over the BUS */
4325 WDI_ReqStatusCb wdiReqStatusCB;
4326 /*The user data passed in by UMAC, it will be sent back when the above
4327 function pointer will be called */
4328 void* pUserData;
4329}WDI_KeepAliveReqParamsType;
4330
4331/*---------------------------------------------------------------------------
4332 WDI_WowlAddBcPtrnInfoType
4333 Wowl add ptrn info passed to WDA form UMAC
4334---------------------------------------------------------------------------*/
4335typedef struct
4336{
4337 wpt_uint8 ucPatternId; // Pattern ID
4338 // Pattern byte offset from beginning of the 802.11 packet to start of the
4339 // wake-up pattern
4340 wpt_uint8 ucPatternByteOffset;
4341 wpt_uint8 ucPatternSize; // Non-Zero Pattern size
4342 wpt_uint8 ucPattern[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern
4343 wpt_uint8 ucPatternMaskSize; // Non-zero pattern mask size
4344 wpt_uint8 ucPatternMask[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern mask
4345 wpt_uint8 ucPatternExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern
4346 wpt_uint8 ucPatternMaskExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern mask
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004347 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004348} WDI_WowlAddBcPtrnInfoType;
4349
4350/*---------------------------------------------------------------------------
4351 WDI_WowlAddBcPtrnReqParamsType
4352 Wowl add ptrn info passed to WDI form WDA
4353---------------------------------------------------------------------------*/
4354typedef struct
4355{
4356 /*Wowl add ptrn Info Type, same as tpSirWowlAddBcastPtrn */
4357 WDI_WowlAddBcPtrnInfoType wdiWowlAddBcPtrnInfo;
4358 /*Request status callback offered by UMAC - it is called if the current req
4359 has returned PENDING as status; it delivers the status of sending the message
4360 over the BUS */
4361 WDI_ReqStatusCb wdiReqStatusCB;
4362 /*The user data passed in by UMAC, it will be sent back when the above
4363 function pointer will be called */
4364 void* pUserData;
4365}WDI_WowlAddBcPtrnReqParamsType;
4366
4367/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004368 WDI_WowlAddBcPtrnRspParamsType
4369 Wowl add ptrn info passed from WDI to WDA
4370---------------------------------------------------------------------------*/
4371typedef struct
4372{
4373 /*Status of the response*/
4374 WDI_Status wdiStatus;
4375 /*BssIDX of the session*/
4376 wpt_uint8 bssIdx;
4377}WDI_WowlAddBcPtrnRspParamsType;
4378
4379/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004380 WDI_WowlDelBcPtrnInfoType
4381 Wowl add ptrn info passed to WDA form UMAC
4382---------------------------------------------------------------------------*/
4383typedef struct
4384{
4385 /* Pattern ID of the wakeup pattern to be deleted */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004386 wpt_uint8 ucPatternId;
4387 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004388} WDI_WowlDelBcPtrnInfoType;
4389
4390/*---------------------------------------------------------------------------
4391 WDI_WowlDelBcPtrnReqParamsType
4392 Wowl add ptrn info passed to WDI form WDA
4393---------------------------------------------------------------------------*/
4394typedef struct
4395{
4396 /*Wowl delete ptrn Info Type, same as WDI_WowlDelBcastPtrn */
4397 WDI_WowlDelBcPtrnInfoType wdiWowlDelBcPtrnInfo;
4398 /*Request status callback offered by UMAC - it is called if the current req
4399 has returned PENDING as status; it delivers the status of sending the message
4400 over the BUS */
4401 WDI_ReqStatusCb wdiReqStatusCB;
4402 /*The user data passed in by UMAC, it will be sent back when the above
4403 function pointer will be called */
4404 void* pUserData;
4405}WDI_WowlDelBcPtrnReqParamsType;
4406
4407/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004408 WDI_WowlDelBcPtrnRspParamsType
4409 Wowl Del ptrn info passed from WDI to WDA
4410---------------------------------------------------------------------------*/
4411typedef struct
4412{
4413 /*Status of the response*/
4414 WDI_Status wdiStatus;
4415 /*BssIDX of the session*/
4416 wpt_uint8 bssIdx;
4417}WDI_WowlDelBcPtrnRspParamsType;
4418
4419/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004420 WDI_WowlEnterInfoType
4421 Wowl enter info passed to WDA form UMAC
4422---------------------------------------------------------------------------*/
4423typedef struct
4424{
4425 /* Enables/disables magic packet filtering */
4426 wpt_uint8 ucMagicPktEnable;
4427
4428 /* Magic pattern */
4429 wpt_macAddr magicPtrn;
4430
4431 /* Enables/disables packet pattern filtering in firmware.
4432 Enabling this flag enables broadcast pattern matching
4433 in Firmware. If unicast pattern matching is also desired,
4434 ucUcastPatternFilteringEnable flag must be set tot true
4435 as well
4436 */
4437 wpt_uint8 ucPatternFilteringEnable;
4438
4439 /* Enables/disables unicast packet pattern filtering.
4440 This flag specifies whether we want to do pattern match
4441 on unicast packets as well and not just broadcast packets.
4442 This flag has no effect if the ucPatternFilteringEnable
4443 (main controlling flag) is set to false
4444 */
4445 wpt_uint8 ucUcastPatternFilteringEnable;
4446
4447 /* This configuration is valid only when magicPktEnable=1.
4448 * It requests hardware to wake up when it receives the
4449 * Channel Switch Action Frame.
4450 */
4451 wpt_uint8 ucWowChnlSwitchRcv;
4452
4453 /* This configuration is valid only when magicPktEnable=1.
4454 * It requests hardware to wake up when it receives the
4455 * Deauthentication Frame.
4456 */
4457 wpt_uint8 ucWowDeauthRcv;
4458
4459 /* This configuration is valid only when magicPktEnable=1.
4460 * It requests hardware to wake up when it receives the
4461 * Disassociation Frame.
4462 */
4463 wpt_uint8 ucWowDisassocRcv;
4464
4465 /* This configuration is valid only when magicPktEnable=1.
4466 * It requests hardware to wake up when it has missed
4467 * consecutive beacons. This is a hardware register
4468 * configuration (NOT a firmware configuration).
4469 */
4470 wpt_uint8 ucWowMaxMissedBeacons;
4471
4472 /* This configuration is valid only when magicPktEnable=1.
4473 * This is a timeout value in units of microsec. It requests
4474 * hardware to unconditionally wake up after it has stayed
4475 * in WoWLAN mode for some time. Set 0 to disable this feature.
4476 */
4477 wpt_uint8 ucWowMaxSleepUsec;
4478
4479#ifdef WLAN_WAKEUP_EVENTS
4480 /* This configuration directs the WoW packet filtering to look for EAP-ID
4481 * requests embedded in EAPOL frames and use this as a wake source.
4482 */
4483 wpt_uint8 ucWoWEAPIDRequestEnable;
4484
4485 /* This configuration directs the WoW packet filtering to look for EAPOL-4WAY
4486 * requests and use this as a wake source.
4487 */
4488 wpt_uint8 ucWoWEAPOL4WayEnable;
4489
4490 /* This configuration allows a host wakeup on an network scan offload match.
4491 */
4492 wpt_uint8 ucWowNetScanOffloadMatch;
4493
4494 /* This configuration allows a host wakeup on any GTK rekeying error.
4495 */
4496 wpt_uint8 ucWowGTKRekeyError;
4497
4498 /* This configuration allows a host wakeup on BSS connection loss.
4499 */
4500 wpt_uint8 ucWoWBSSConnLoss;
4501#endif // WLAN_WAKEUP_EVENTS
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004502
4503 /* BSSIDX used to find the current session
4504 */
4505 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004506} WDI_WowlEnterInfoType;
4507
4508/*---------------------------------------------------------------------------
4509 WDI_WowlEnterReqParamsType
4510 Wowl enter info passed to WDI form WDA
4511---------------------------------------------------------------------------*/
4512typedef struct
4513{
4514 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
4515 WDI_WowlEnterInfoType wdiWowlEnterInfo;
4516 /*Request status callback offered by UMAC - it is called if the current req
4517 has returned PENDING as status; it delivers the status of sending the message
4518 over the BUS */
4519 WDI_ReqStatusCb wdiReqStatusCB;
4520 /*The user data passed in by UMAC, it will be sent back when the above
4521 function pointer will be called */
4522 void* pUserData;
4523}WDI_WowlEnterReqParamsType;
4524
4525/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004526 WDI_WowlEnterRsqParamsType
4527 Wowl enter info passed from WDI to WDA
4528---------------------------------------------------------------------------*/
4529typedef struct
4530{
4531 /*Status of the response message*/
4532 WDI_Status status;
4533
4534 /* BSSIDX used to find the current session
4535 */
4536 wpt_uint8 bssIdx;
4537}WDI_WowlEnterRspParamsType;
4538
4539/*---------------------------------------------------------------------------
4540 WDI_WowlExitInfoType
4541 Wowl exit info passed to WDA form UMAC
4542 ---------------------------------------------------------------------------*/
4543typedef struct
4544{
4545 /* BSSIDX used to find the current session
4546 */
4547 wpt_uint8 bssIdx;
4548} WDI_WowlExitInfoType;
4549
4550/*---------------------------------------------------------------------------
4551 WDI_WowlExitReqParamsType
4552 Wowl exit info passed to WDI form WDA
4553---------------------------------------------------------------------------*/
4554typedef struct
4555{
4556 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
4557 WDI_WowlExitInfoType wdiWowlExitInfo;
4558 /*Request status callback offered by UMAC - it is called if the current req
4559 has returned PENDING as status; it delivers the status of sending the message
4560 over the BUS */
4561 WDI_ReqStatusCb wdiReqStatusCB;
4562 /*The user data passed in by UMAC, it will be sent back when the above
4563 function pointer will be called */
4564 void* pUserData;
4565}WDI_WowlExitReqParamsType;
4566
4567/*---------------------------------------------------------------------------
4568 WDI_WowlExitRspParamsType
4569 Wowl exit info passed from WDI to WDA
4570---------------------------------------------------------------------------*/
4571typedef struct
4572{
4573 /*Status of the response message*/
4574 WDI_Status status;
4575
4576 /* BSSIDX used to find the current session
4577 */
4578 wpt_uint8 bssIdx;
4579}WDI_WowlExitRspParamsType;
4580
4581/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004582 WDI_ConfigureAppsCpuWakeupStateReqParamsType
4583 Apps Cpu Wakeup State parameters passed to WDI form WDA
4584---------------------------------------------------------------------------*/
4585typedef struct
4586{
4587 /*Depicts the state of the Apps CPU */
4588 wpt_boolean bIsAppsAwake;
4589 /*Request status callback offered by UMAC - it is called if the current req
4590 has returned PENDING as status; it delivers the status of sending the message
4591 over the BUS */
4592 WDI_ReqStatusCb wdiReqStatusCB;
4593 /*The user data passed in by UMAC, it will be sent back when the above
4594 function pointer will be called */
4595 void* pUserData;
4596}WDI_ConfigureAppsCpuWakeupStateReqParamsType;
4597/*---------------------------------------------------------------------------
4598 WDI_FlushAcReqinfoType
4599---------------------------------------------------------------------------*/
4600typedef struct
4601{
4602 // Message Type
4603 wpt_uint16 usMesgType;
4604
4605 // Message Length
4606 wpt_uint16 usMesgLen;
4607
4608 // Station Index. originates from HAL
4609 wpt_uint8 ucSTAId;
4610
4611 // TID for which the transmit queue is being flushed
4612 wpt_uint8 ucTid;
4613
4614}WDI_FlushAcReqinfoType;
4615
4616/*---------------------------------------------------------------------------
4617 WDI_FlushAcReqParamsType
4618---------------------------------------------------------------------------*/
4619typedef struct
4620{
4621 /*AC Info */
4622 WDI_FlushAcReqinfoType wdiFlushAcInfo;
4623
4624 /*Request status callback offered by UMAC - it is called if the current
4625 req has returned PENDING as status; it delivers the status of sending
4626 the message over the BUS */
4627 WDI_ReqStatusCb wdiReqStatusCB;
4628
4629 /*The user data passed in by UMAC, it will be sent back when the above
4630 function pointer will be called */
4631 void* pUserData;
4632}WDI_FlushAcReqParamsType;
4633
4634/*---------------------------------------------------------------------------
4635 WDI_BtAmpEventinfoType
4636 BT-AMP Event Structure
4637---------------------------------------------------------------------------*/
4638typedef struct
4639{
4640 wpt_uint8 ucBtAmpEventType;
4641
4642} WDI_BtAmpEventinfoType;
4643
4644/*---------------------------------------------------------------------------
4645 WDI_BtAmpEventParamsType
4646---------------------------------------------------------------------------*/
4647typedef struct
4648{
4649 /*BT AMP event Info */
4650 WDI_BtAmpEventinfoType wdiBtAmpEventInfo;
4651
4652 /*Request status callback offered by UMAC - it is called if the current
4653 req has returned PENDING as status; it delivers the status of sending
4654 the message over the BUS */
4655 WDI_ReqStatusCb wdiReqStatusCB;
4656
4657 /*The user data passed in by UMAC, it will be sent back when the above
4658 function pointer will be called */
4659 void* pUserData;
4660}WDI_BtAmpEventParamsType;
4661
Jeff Johnsone7245742012-09-05 17:12:55 -07004662#ifdef FEATURE_OEM_DATA_SUPPORT
4663
4664#ifndef OEM_DATA_REQ_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004665#define OEM_DATA_REQ_SIZE 134
Jeff Johnsone7245742012-09-05 17:12:55 -07004666#endif
4667#ifndef OEM_DATA_RSP_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004668#define OEM_DATA_RSP_SIZE 1968
Jeff Johnsone7245742012-09-05 17:12:55 -07004669#endif
4670
4671/*----------------------------------------------------------------------------
4672 WDI_oemDataReqInfoType
4673----------------------------------------------------------------------------*/
4674typedef struct
4675{
4676 wpt_macAddr selfMacAddr;
4677 wpt_uint8 oemDataReq[OEM_DATA_REQ_SIZE];
4678}WDI_oemDataReqInfoType;
4679
4680/*----------------------------------------------------------------------------
4681 WDI_oemDataReqParamsType
4682----------------------------------------------------------------------------*/
4683typedef struct
4684{
4685 /*Request status callback offered by UMAC - it is called if the current
4686 req has returned PENDING as status; it delivers the status of sending
4687 the message over the BUS */
4688 WDI_ReqStatusCb wdiReqStatusCB;
4689
4690 /*The user data passed in by UMAC, it will be sent back when the above
4691 function pointer will be called */
4692 void* pUserData;
4693
4694 /*OEM DATA REQ Info */
4695 WDI_oemDataReqInfoType wdiOemDataReqInfo;
4696
4697}WDI_oemDataReqParamsType;
4698
4699/*----------------------------------------------------------------------------
4700 WDI_oemDataRspParamsType
4701----------------------------------------------------------------------------*/
4702typedef struct
4703{
4704 wpt_uint8 oemDataRsp[OEM_DATA_RSP_SIZE];
4705}WDI_oemDataRspParamsType;
4706
4707#endif /* FEATURE_OEM_DATA_SUPPORT */
Jeff Johnson295189b2012-06-20 16:38:30 -07004708
4709#ifdef WLAN_FEATURE_VOWIFI_11R
4710/*---------------------------------------------------------------------------
4711 WDI_AggrAddTSReqInfoType
4712---------------------------------------------------------------------------*/
4713typedef struct
4714{
4715 /*STA Index*/
4716 wpt_uint8 ucSTAIdx;
4717
4718 /*Identifier for TSpec*/
4719 wpt_uint8 ucTspecIdx;
4720
4721 /*Tspec IE negotiated OTA*/
4722 WDI_TspecIEType wdiTspecIE[WDI_MAX_NO_AC];
4723
4724 /*UAPSD delivery and trigger enabled flags */
4725 wpt_uint8 ucUapsdFlags;
4726
4727 /*SI for each AC*/
4728 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
4729
4730 /*Suspend Interval for each AC*/
4731 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
4732
4733 /*DI for each AC*/
4734 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
4735
4736}WDI_AggrAddTSReqInfoType;
4737
4738
4739/*---------------------------------------------------------------------------
4740 WDI_AggrAddTSReqParamsType
4741---------------------------------------------------------------------------*/
4742typedef struct
4743{
4744 /*TSpec Info */
4745 WDI_AggrAddTSReqInfoType wdiAggrTsInfo;
4746
4747 /*Request status callback offered by UMAC - it is called if the current
4748 req has returned PENDING as status; it delivers the status of sending
4749 the message over the BUS */
4750 WDI_ReqStatusCb wdiReqStatusCB;
4751
4752 /*The user data passed in by UMAC, it will be sent back when the above
4753 function pointer will be called */
4754 void* pUserData;
4755}WDI_AggrAddTSReqParamsType;
4756
4757#endif /* WLAN_FEATURE_VOWIFI_11R */
4758
Jeff Johnson295189b2012-06-20 16:38:30 -07004759/*---------------------------------------------------------------------------
4760 WDI_FTMCommandReqType
4761---------------------------------------------------------------------------*/
4762typedef struct
4763{
4764 /* FTM Command Body length */
4765 wpt_uint32 bodyLength;
4766 /* Actual FTM Command body */
4767 void *FTMCommandBody;
4768}WDI_FTMCommandReqType;
Jeff Johnson295189b2012-06-20 16:38:30 -07004769
4770/*---------------------------------------------------------------------------
4771 WDI_WlanSuspendInfoType
4772---------------------------------------------------------------------------*/
4773typedef struct
4774{
4775 /* Mode of Mcast and Bcast filters configured */
4776 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4777}WDI_WlanSuspendInfoType;
4778
4779/*---------------------------------------------------------------------------
4780 WDI_SuspendParamsType
4781---------------------------------------------------------------------------*/
4782typedef struct
4783{
4784 WDI_WlanSuspendInfoType wdiSuspendParams;
4785
4786 /*Request status callback offered by UMAC - it is called if the current
4787 req has returned PENDING as status; it delivers the status of sending
4788 the message over the BUS */
4789 WDI_ReqStatusCb wdiReqStatusCB;
4790
4791 /*The user data passed in by UMAC, it will be sent back when the above
4792 function pointer will be called */
4793 void* pUserData;
4794
4795}WDI_SuspendParamsType;
4796
4797/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004798 WDI_TrafficStatsType - This is collected for each STA
4799---------------------------------------------------------------------------*/
4800
4801typedef struct
4802{
4803 /* TX stats */
4804 wpt_uint32 txBytesPushed;
4805 wpt_uint32 txPacketsPushed;
4806
4807 /* RX stats */
4808 wpt_uint32 rxBytesRcvd;
4809 wpt_uint32 rxPacketsRcvd;
4810 wpt_uint32 rxTimeTotal;
4811}WDI_TrafficStatsType;
4812
4813typedef struct
4814{
4815 WDI_TrafficStatsType *pTrafficStats;
4816 wpt_uint32 length;
4817 wpt_uint32 duration;
4818
4819 /*Request status callback offered by UMAC - it is called if the current
4820 req has returned PENDING as status; it delivers the status of sending
4821 the message over the BUS */
4822 WDI_ReqStatusCb wdiReqStatusCB;
4823
4824 /*The user data passed in by UMAC, it will be sent back when the above
4825 function pointer will be called */
4826 void* pUserData;
4827}WDI_TrafficStatsIndType;
4828
Chet Lanctot186b5732013-03-18 10:26:30 -07004829#ifdef WLAN_FEATURE_11W
4830typedef struct
4831{
4832
4833 wpt_boolean bExcludeUnencrypt;
4834 wpt_macAddr bssid;
4835 /*Request status callback offered by UMAC - it is called if the current
4836 req has returned PENDING as status; it delivers the status of sending
4837 the message over the BUS */
4838 WDI_ReqStatusCb wdiReqStatusCB;
4839
4840 /*The user data passed in by UMAC, it will be sent back when the above
4841 function pointer will be called */
4842 void* pUserData;
4843}WDI_ExcludeUnencryptIndType;
4844#endif
4845
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004846/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004847 WDI_WlanResumeInfoType
4848---------------------------------------------------------------------------*/
4849typedef struct
4850{
4851 /* Mode of Mcast and Bcast filters configured */
4852 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4853}WDI_WlanResumeInfoType;
4854
4855/*---------------------------------------------------------------------------
4856 WDI_ResumeParamsType
4857---------------------------------------------------------------------------*/
4858typedef struct
4859{
4860 WDI_WlanResumeInfoType wdiResumeParams;
4861
4862 /*Request status callback offered by UMAC - it is called if the current
4863 req has returned PENDING as status; it delivers the status of sending
4864 the message over the BUS */
4865 WDI_ReqStatusCb wdiReqStatusCB;
4866
4867 /*The user data passed in by UMAC, it will be sent back when the above
4868 function pointer will be called */
4869 void* pUserData;
4870
4871}WDI_ResumeParamsType;
4872
4873#ifdef WLAN_FEATURE_GTK_OFFLOAD
4874/*---------------------------------------------------------------------------
4875 * WDI_GTK_OFFLOAD_REQ
4876 *--------------------------------------------------------------------------*/
4877
4878typedef struct
4879{
4880 wpt_uint32 ulFlags; /* optional flags */
4881 wpt_uint8 aKCK[16]; /* Key confirmation key */
4882 wpt_uint8 aKEK[16]; /* key encryption key */
4883 wpt_uint64 ullKeyReplayCounter; /* replay counter */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004884 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004885} WDI_GtkOffloadReqParams;
4886
4887typedef struct
4888{
4889 WDI_GtkOffloadReqParams gtkOffloadReqParams;
4890
4891 /*Request status callback offered by UMAC - it is called if the current
4892 req has returned PENDING as status; it delivers the status of sending
4893 the message over the BUS */
4894 WDI_ReqStatusCb wdiReqStatusCB;
4895
4896 /*The user data passed in by UMAC, it will be sent back when the above
4897 function pointer will be called */
4898 void* pUserData;
4899} WDI_GtkOffloadReqMsg;
4900
4901/*---------------------------------------------------------------------------
4902 * WDI_GTK_OFFLOAD_RSP
4903 *--------------------------------------------------------------------------*/
4904typedef struct
4905{
4906 /* success or failure */
4907 wpt_uint32 ulStatus;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004908 /*BssIdx of the response */
4909 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004910} WDI_GtkOffloadRspParams;
4911
4912typedef struct
4913{
4914 WDI_GtkOffloadRspParams gtkOffloadRspParams;
4915
4916 /*Request status callback offered by UMAC - it is called if the current
4917 req has returned PENDING as status; it delivers the status of sending
4918 the message over the BUS */
4919 WDI_ReqStatusCb wdiReqStatusCB;
4920
4921 /*The user data passed in by UMAC, it will be sent back when the above
4922 function pointer will be called */
4923 void* pUserData;
4924} WDI_GtkOffloadRspMsg;
4925
4926
4927/*---------------------------------------------------------------------------
4928* WDI_GTK_OFFLOAD_GETINFO_REQ
4929*--------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004930typedef struct
4931{
4932 /*BssIdx of the response */
4933 wpt_macAddr bssId;
4934} WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004935
4936typedef struct
4937{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004938
4939 WDI_GtkOffloadGetInfoReqParams WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004940 /*Request status callback offered by UMAC - it is called if the current
4941 req has returned PENDING as status; it delivers the status of sending
4942 the message over the BUS */
4943 WDI_ReqStatusCb wdiReqStatusCB;
4944
4945 /*The user data passed in by UMAC, it will be sent back when the above
4946 function pointer will be called */
4947 void* pUserData;
4948} WDI_GtkOffloadGetInfoReqMsg;
4949
4950/*---------------------------------------------------------------------------
4951* WDI_GTK_OFFLOAD_GETINFO_RSP
4952*--------------------------------------------------------------------------*/
4953typedef struct
4954{
4955 wpt_uint32 ulStatus; /* success or failure */
4956 wpt_uint64 ullKeyReplayCounter; /* current replay counter value */
4957 wpt_uint32 ulTotalRekeyCount; /* total rekey attempts */
4958 wpt_uint32 ulGTKRekeyCount; /* successful GTK rekeys */
4959 wpt_uint32 ulIGTKRekeyCount; /* successful iGTK rekeys */
Gopichand Nakkala870cbae2013-03-15 21:16:09 +05304960 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004961} WDI_GtkOffloadGetInfoRspParams;
4962
4963typedef struct
4964{
4965 WDI_GtkOffloadGetInfoRspParams gtkOffloadGetInfoRspParams;
4966
4967 /*Request status callback offered by UMAC - it is called if the current
4968 req has returned PENDING as status; it delivers the status of sending
4969 the message over the BUS */
4970 WDI_ReqStatusCb wdiReqStatusCB;
4971
4972 /*The user data passed in by UMAC, it will be sent back when the above
4973 function pointer will be called */
4974 void* pUserData;
4975} WDI_GtkOffloadGetInfoRspMsg;
4976#endif // WLAN_FEATURE_GTK_OFFLOAD
4977
4978/*---------------------------------------------------------------------------
4979 WDI_SuspendResumeRspParamsType
4980---------------------------------------------------------------------------*/
4981typedef struct
4982{
4983 /*Status of the response*/
4984 WDI_Status wdiStatus;
4985}WDI_SuspendResumeRspParamsType;
4986
Leo Chang9056f462013-08-01 19:21:11 -07004987#ifdef FEATURE_WLAN_LPHB
4988/*---------------------------------------------------------------------------
4989 WDI Low Power Heart Beat Config request
4990 Copy from sirApi.h to avoid compile error
4991---------------------------------------------------------------------------*/
4992#define WDI_LPHB_FILTER_LEN 64
4993
4994typedef enum
4995{
4996 WDI_LPHB_SET_EN_PARAMS_INDID = 0x0001,
4997 WDI_LPHB_SET_TCP_PARAMS_INDID,
4998 WDI_LPHB_SET_TCP_PKT_FILTER_INDID,
4999 WDI_LPHB_SET_UDP_PARAMS_INDID,
5000 WDI_LPHB_SET_UDP_PKT_FILTER_INDID,
5001 WDI_LPHB_SET_NETWORK_INFO_INDID,
5002} WDI_LPHBIndType;
5003
5004typedef struct
5005{
5006 wpt_uint8 enable;
5007 wpt_uint8 item;
5008 wpt_uint8 session;
5009} WDI_LPHBEnableStruct;
5010
5011typedef struct
5012{
5013 wpt_uint32 srv_ip;
5014 wpt_uint32 dev_ip;
5015 wpt_uint16 src_port;
5016 wpt_uint16 dst_port;
5017 wpt_uint16 timeout;
5018 wpt_uint8 session;
5019 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
Leo Changd9df8aa2013-09-26 13:32:26 -07005020 wpt_uint16 timePeriodSec; // in seconds
5021 wpt_uint32 tcpSn;
Leo Chang9056f462013-08-01 19:21:11 -07005022} WDI_LPHBTcpParamStruct;
5023
5024typedef struct
5025{
5026 wpt_uint16 length;
5027 wpt_uint8 offset;
5028 wpt_uint8 session;
5029 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
5030} WDI_LPHBTcpFilterStruct;
5031
5032typedef struct
5033{
5034 wpt_uint32 srv_ip;
5035 wpt_uint32 dev_ip;
5036 wpt_uint16 src_port;
5037 wpt_uint16 dst_port;
5038 wpt_uint16 interval;
5039 wpt_uint16 timeout;
5040 wpt_uint8 session;
5041 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
5042} WDI_LPHBUdpParamStruct;
5043
5044typedef struct
5045{
5046 wpt_uint16 length;
5047 wpt_uint8 offset;
5048 wpt_uint8 session;
5049 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
5050} WDI_LPHBUdpFilterStruct;
5051
5052typedef struct
5053{
5054 wpt_uint16 cmd;
5055 wpt_uint16 dummy;
5056 union
5057 {
5058 WDI_LPHBEnableStruct lphbEnableReq;
5059 WDI_LPHBTcpParamStruct lphbTcpParamReq;
5060 WDI_LPHBTcpFilterStruct lphbTcpFilterReq;
5061 WDI_LPHBUdpParamStruct lphbUdpParamReq;
5062 WDI_LPHBUdpFilterStruct lphbUdpFilterReq;
5063 } params;
5064} WDI_LPHBReq;
5065#endif /* FEATURE_WLAN_LPHB */
Jeff Johnson295189b2012-06-20 16:38:30 -07005066
Jeff Johnson295189b2012-06-20 16:38:30 -07005067/*---------------------------------------------------------------------------
5068 WDI_AuthType
5069---------------------------------------------------------------------------*/
5070typedef enum
5071{
5072 WDI_AUTH_TYPE_ANY = 0,
5073
5074 WDI_AUTH_TYPE_NONE,
5075 WDI_AUTH_TYPE_OPEN_SYSTEM,
5076 WDI_AUTH_TYPE_SHARED_KEY,
5077
5078 WDI_AUTH_TYPE_WPA,
5079 WDI_AUTH_TYPE_WPA_PSK,
5080 WDI_AUTH_TYPE_WPA_NONE,
5081
5082 WDI_AUTH_TYPE_RSN,
5083 WDI_AUTH_TYPE_RSN_PSK,
5084 WDI_AUTH_TYPE_FT_RSN,
5085 WDI_AUTH_TYPE_FT_RSN_PSK,
5086 WDI_AUTH_TYPE_WAPI_WAI_CERTIFICATE,
5087 WDI_AUTH_TYPE_WAPI_WAI_PSK,
5088 WDI_AUTH_TYPE_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
5089
5090}WDI_AuthType;
5091
5092/*---------------------------------------------------------------------------
5093 WDI_EdType
5094---------------------------------------------------------------------------*/
5095typedef enum
5096{
5097 WDI_ED_ANY = 0,
5098 WDI_ED_NONE,
5099 WDI_ED_WEP40,
5100 WDI_ED_WEP104,
5101 WDI_ED_TKIP,
5102 WDI_ED_CCMP,
5103 WDI_ED_WPI,
5104 WDI_ED_AES_128_CMAC,
5105 WDI_ED_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
5106} WDI_EdType;
5107
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005108#ifdef FEATURE_WLAN_SCAN_PNO
5109
5110/*Max number of channels for a given network supported by PNO*/
5111#define WDI_PNO_MAX_NETW_CHANNELS 26
5112
5113/*Max number of channels for a given network supported by PNO*/
5114#define WDI_PNO_MAX_NETW_CHANNELS_EX 60
5115
5116/*The max number of programable networks for PNO*/
5117#define WDI_PNO_MAX_SUPP_NETWORKS 16
5118
5119/*The max number of scan timers programable in Riva*/
5120#define WDI_PNO_MAX_SCAN_TIMERS 10
5121
5122#define WDI_PNO_MAX_PROBE_SIZE 450
Jeff Johnson295189b2012-06-20 16:38:30 -07005123
5124/*---------------------------------------------------------------------------
5125 WDI_PNOMode
5126---------------------------------------------------------------------------*/
5127typedef enum
5128{
5129 /*Network offload is to start immediately*/
5130 WDI_PNO_MODE_IMMEDIATE,
5131
5132 /*Network offload is to start on host suspend*/
5133 WDI_PNO_MODE_ON_SUSPEND,
5134
5135 /*Network offload is to start on host resume*/
5136 WDI_PNO_MODE_ON_RESUME,
5137 WDI_PNO_MODE_MAX = 0xFFFFFFFF
5138} WDI_PNOMode;
5139
5140/* SSID broadcast type */
5141typedef enum
5142{
5143 WDI_BCAST_UNKNOWN = 0,
5144 WDI_BCAST_NORMAL = 1,
5145 WDI_BCAST_HIDDEN = 2,
5146
5147 WDI_BCAST_TYPE_MAX = 0xFFFFFFFF
5148} WDI_SSIDBcastType;
5149
5150/*---------------------------------------------------------------------------
5151 WDI_NetworkType
5152---------------------------------------------------------------------------*/
5153typedef struct
5154{
5155 /*The SSID of the preferred network*/
5156 WDI_MacSSid ssId;
5157
5158 /*The authentication method of the preferred network*/
5159 WDI_AuthType wdiAuth;
5160
5161 /*The encryption method of the preferred network*/
5162 WDI_EdType wdiEncryption;
5163
5164 /*SSID broadcast type, normal, hidden or unknown*/
5165 WDI_SSIDBcastType wdiBcastNetworkType;
5166
5167 /*channel count - 0 for all channels*/
5168 wpt_uint8 ucChannelCount;
5169
5170 /*the actual channels*/
Madan Mohan Koyyalamudi4bb5d2e2013-09-26 17:36:46 +05305171 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
Jeff Johnson295189b2012-06-20 16:38:30 -07005172
5173 /*rssi threshold that a network must meet to be considered, 0 - for any*/
5174 wpt_uint8 rssiThreshold;
5175} WDI_NetworkType;
5176
5177
5178/*---------------------------------------------------------------------------
5179 WDI_ScanTimer
5180---------------------------------------------------------------------------*/
5181typedef struct
5182{
5183 /*The timer value*/
5184 wpt_uint32 uTimerValue;
5185
5186 /*The amount of time we should be repeating the interval*/
5187 wpt_uint32 uTimerRepeat;
5188} WDI_ScanTimer;
5189
5190/*---------------------------------------------------------------------------
5191 WDI_ScanTimersType
5192---------------------------------------------------------------------------*/
5193typedef struct
5194{
5195 /*The number of value pair intervals present in the array*/
5196 wpt_uint8 ucScanTimersCount;
5197
5198 /*The time-repeat value pairs*/
5199 WDI_ScanTimer aTimerValues[WDI_PNO_MAX_SCAN_TIMERS];
5200} WDI_ScanTimersType;
5201
5202/*---------------------------------------------------------------------------
5203 WDI_PNOScanReqType
5204---------------------------------------------------------------------------*/
5205typedef struct
5206{
5207 /*Enable or disable PNO feature*/
5208 wpt_uint8 bEnable;
5209
5210 /*PNO mode requested*/
5211 WDI_PNOMode wdiModePNO;
5212
5213 /*Network count*/
5214 wpt_uint8 ucNetworksCount;
5215
5216 /*The networks to look for*/
5217 WDI_NetworkType aNetworks[WDI_PNO_MAX_SUPP_NETWORKS];
5218
5219 /*Scan timer intervals*/
5220 WDI_ScanTimersType scanTimers;
5221
5222 /*Probe template for 2.4GHz band*/
5223 wpt_uint16 us24GProbeSize;
5224 wpt_uint8 a24GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
5225
5226 /*Probe template for 5GHz band*/
5227 wpt_uint16 us5GProbeSize;
5228 wpt_uint8 a5GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
5229} WDI_PNOScanReqType;
5230
5231/*---------------------------------------------------------------------------
5232 WDI_PNOScanReqParamsType
5233 PNO info passed to WDI form WDA
5234---------------------------------------------------------------------------*/
5235typedef struct
5236{
5237 /* PNO Info Type, same as tPrefNetwListParams */
5238 WDI_PNOScanReqType wdiPNOScanInfo;
5239 /* Request status callback offered by UMAC - it is called if the current req
5240 has returned PENDING as status; it delivers the status of sending the message
5241 over the BUS */
5242 WDI_ReqStatusCb wdiReqStatusCB;
5243 /* The user data passed in by UMAC, it will be sent back when the above
5244 function pointer will be called */
5245 void* pUserData;
5246} WDI_PNOScanReqParamsType;
5247
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005248/*---------------------------------------------------------------------------
5249 WDI_SetRssiFilterReqParamsType
5250 PNO info passed to WDI form WDA
5251---------------------------------------------------------------------------*/
5252typedef struct
5253{
5254 /* RSSI Threshold */
5255 wpt_uint8 rssiThreshold;
5256 /* Request status callback offered by UMAC - it is called if the current req
5257 has returned PENDING as status; it delivers the status of sending the message
5258 over the BUS */
5259 WDI_ReqStatusCb wdiReqStatusCB;
5260 /* The user data passed in by UMAC, it will be sent back when the above
5261 function pointer will be called */
5262 void* pUserData;
5263} WDI_SetRssiFilterReqParamsType;
5264
5265/*---------------------------------------------------------------------------
5266 WDI_UpdateScanParamsInfo
5267---------------------------------------------------------------------------*/
5268typedef struct
5269{
5270 /*Is 11d enabled*/
5271 wpt_uint8 b11dEnabled;
5272
5273 /*Was UMAc able to find the regulatory domain*/
5274 wpt_uint8 b11dResolved;
5275
5276 /*Number of channel allowed in the regulatory domain*/
5277 wpt_uint8 ucChannelCount;
5278
5279 /*The actual channels allowed in the regulatory domain*/
5280 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
5281
5282 /*Passive min channel time*/
5283 wpt_uint16 usPassiveMinChTime;
5284
5285 /*Passive max channel time*/
5286 wpt_uint16 usPassiveMaxChTime;
5287
5288 /*Active min channel time*/
5289 wpt_uint16 usActiveMinChTime;
5290
5291 /*Active max channel time*/
5292 wpt_uint16 usActiveMaxChTime;
5293
5294 /*channel bonding info*/
5295 wpt_uint8 cbState;
5296} WDI_UpdateScanParamsInfo;
5297
5298/*---------------------------------------------------------------------------
5299 WDI_UpdateScanParamsInfoType
5300 UpdateScanParams info passed to WDI form WDA
5301---------------------------------------------------------------------------*/
5302typedef struct
5303{
5304 /* PNO Info Type, same as tUpdateScanParams */
5305 WDI_UpdateScanParamsInfo wdiUpdateScanParamsInfo;
5306 /* Request status callback offered by UMAC - it is called if the current req
5307 has returned PENDING as status; it delivers the status of sending the message
5308 over the BUS */
5309 WDI_ReqStatusCb wdiReqStatusCB;
5310 /* The user data passed in by UMAC, it will be sent back when the above
5311 function pointer will be called */
5312 void* pUserData;
5313} WDI_UpdateScanParamsInfoType;
5314#endif //FEATURE_WLAN_SCAN_PNO
5315
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005316#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
5317
Varun Reddy Yeturu52231ea2014-02-06 12:00:56 -08005318#define WDI_ROAM_SCAN_MAX_CHANNELS 80
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005319#define WDI_ROAM_SCAN_MAX_PROBE_SIZE 450
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005320
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005321typedef struct
5322{
5323 /*The SSID of the preferred network*/
5324 WDI_MacSSid ssId;
5325 wpt_uint8 currAPbssid[WDI_MAC_ADDR_LEN];
5326
5327 /*The authentication method of the preferred network*/
5328 WDI_AuthType authentication;
5329
5330 /*The encryption method of the preferred network*/
5331 WDI_EdType encryption;
5332 WDI_EdType mcencryption;
5333
5334 /*SSID broadcast type, normal, hidden or unknown*/
5335 //WDI_SSIDBcastType wdiBcastNetworkType;
5336
5337 /*channel count - 0 for all channels*/
5338 wpt_uint8 ChannelCount;
5339
5340 /*the actual channels*/
5341 wpt_uint8 ChannelCache[WDI_ROAM_SCAN_MAX_CHANNELS];
5342
5343} WDI_RoamNetworkType;
5344
5345typedef struct WDIMobilityDomainInfo
5346{
5347 wpt_uint8 mdiePresent;
5348 wpt_uint16 mobilityDomain;
5349} WDI_MobilityDomainInfo;
5350
5351/*---------------------------------------------------------------------------
5352 WDI_RoamOffloadScanInfo
5353---------------------------------------------------------------------------*/
5354typedef struct
5355{
5356 wpt_boolean RoamScanOffloadEnabled;
Sameer Thalappil4ae66ec2013-11-05 14:17:35 -08005357 wpt_boolean MAWCEnabled;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005358 wpt_uint8 LookupThreshold;
Varun Reddy Yeturu6c5e25c2014-01-09 21:55:37 -08005359 wpt_uint8 RxSensitivityThreshold;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005360 wpt_uint8 RoamRssiDiff;
5361 wpt_uint8 ChannelCacheType;
5362 wpt_uint8 Command;
5363 wpt_uint8 StartScanReason;
5364 wpt_uint16 NeighborScanTimerPeriod;
5365 wpt_uint16 NeighborRoamScanRefreshPeriod;
5366 wpt_uint16 NeighborScanChannelMinTime;
5367 wpt_uint16 NeighborScanChannelMaxTime;
5368 wpt_uint16 EmptyRefreshScanPeriod;
5369 wpt_uint8 ValidChannelCount;
5370 wpt_uint8 ValidChannelList[WDI_ROAM_SCAN_MAX_CHANNELS];
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08005371 wpt_boolean IsESEEnabled;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005372 /*Probe template for 2.4GHz band*/
5373 wpt_uint16 us24GProbeSize;
5374 wpt_uint8 a24GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
5375
5376 /*Probe template for 5GHz band*/
5377 wpt_uint16 us5GProbeSize;
5378 wpt_uint8 a5GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005379 /*LFR BG Scan will currently look for only one network to which it is initially connected.
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005380 * As per requirement, later, the following structure can be used as an array of networks.*/
5381 WDI_RoamNetworkType ConnectedNetwork;
5382 WDI_MobilityDomainInfo MDID;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005383 wpt_uint8 nProbes;
5384 wpt_uint16 HomeAwayTime;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005385} WDI_RoamOffloadScanInfo;
5386
5387typedef struct
5388{
5389 /* Start Roam Candidate Lookup Offload Back Ground Info Type */
5390 WDI_RoamOffloadScanInfo wdiRoamOffloadScanInfo;
5391 /* Request status callback offered by UMAC - it is called if the current req
5392 has returned PENDING as status; it delivers the status of sending the message
5393 over the BUS */
5394 WDI_ReqStatusCb wdiReqStatusCB;
5395 /* The user data passed in by UMAC, it will be sent back when the above
5396 function pointer will be called */
5397 void* pUserData;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005398} WDI_RoamScanOffloadReqParamsType;
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005399#endif //WLAN_FEATURE_ROAM_SCAN_OFFLOAD
Jeff Johnson295189b2012-06-20 16:38:30 -07005400
5401/*---------------------------------------------------------------------------
Sandeep Puligilla8b8b74b2014-02-10 16:39:05 +05305402 WDI_HT40ObssScanIndType
5403---------------------------------------------------------------------------*/
5404typedef struct
5405{
5406 wpt_uint8 cmdType;
5407 wpt_uint8 scanType;
5408 wpt_uint16 OBSSScanPassiveDwellTime; // In TUs
5409 wpt_uint16 OBSSScanActiveDwellTime; // In TUs
5410 wpt_uint16 BSSChannelWidthTriggerScanInterval; // In seconds
5411 wpt_uint16 OBSSScanPassiveTotalPerChannel; // In TUs
5412 wpt_uint16 OBSSScanActiveTotalPerChannel; // In TUs
5413 wpt_uint16 BSSWidthChannelTransitionDelayFactor;
5414 wpt_uint16 OBSSScanActivityThreshold;
5415 wpt_uint8 selfStaIdx;
5416 wpt_uint8 bssIdx;
5417 wpt_uint8 fortyMHZIntolerent;
5418 wpt_uint8 channelCount;
5419 wpt_uint8 channels[WDI_ROAM_SCAN_MAX_CHANNELS];
5420 wpt_uint8 currentOperatingClass;
5421 wpt_uint16 ieFieldLen;
5422 wpt_uint8 ieField[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
5423} WDI_HT40ObssScanIndType;
5424
5425
5426/*---------------------------------------------------------------------------
5427 WDI_OBSSScanIndParamsType
5428---------------------------------------------------------------------------*/
5429typedef struct
5430{
5431 WDI_HT40ObssScanIndType wdiHT40ObssScanParam;
5432
5433 /*Request status callback offered by UMAC - it is called if the current
5434 req has returned PENDING as status; it delivers the status of sending
5435 the message over the BUS */
5436 WDI_ReqStatusCb wdiReqStatusCB;
5437
5438 /*The user data passed in by UMAC, it will be sent back when the above
5439 function pointer will be called */
5440 void* pUserData;
5441
5442}WDI_HT40ObssScanParamsType;
5443
5444/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07005445 WDI_UpdateScanParamsInfo
5446---------------------------------------------------------------------------*/
5447typedef struct
5448{
5449 /* Ignore DTIM */
5450 wpt_uint32 uIgnoreDTIM;
5451
5452 /*DTIM Period*/
5453 wpt_uint32 uDTIMPeriod;
5454
5455 /* Listen Interval */
5456 wpt_uint32 uListenInterval;
5457
5458 /* Broadcast Multicas Filter */
5459 wpt_uint32 uBcastMcastFilter;
5460
5461 /* Beacon Early Termination */
5462 wpt_uint32 uEnableBET;
5463
5464 /* Beacon Early Termination Interval */
5465 wpt_uint32 uBETInterval;
5466
Yue Mac24062f2013-05-13 17:01:29 -07005467 /* MAX LI for modulated DTIM */
5468 wpt_uint32 uMaxLIModulatedDTIM;
5469
Jeff Johnson295189b2012-06-20 16:38:30 -07005470} WDI_SetPowerParamsInfo;
5471
5472/*---------------------------------------------------------------------------
5473 WDI_UpdateScanParamsInfoType
5474 UpdateScanParams info passed to WDI form WDA
5475---------------------------------------------------------------------------*/
5476typedef struct
5477{
5478 /* Power params Info Type, same as tSetPowerParamsReq */
5479 WDI_SetPowerParamsInfo wdiSetPowerParamsInfo;
5480 /* Request status callback offered by UMAC - it is called if the current req
5481 has returned PENDING as status; it delivers the status of sending the message
5482 over the BUS */
5483 WDI_ReqStatusCb wdiReqStatusCB;
5484 /* The user data passed in by UMAC, it will be sent back when the above
5485 function pointer will be called */
5486 void* pUserData;
5487}WDI_SetPowerParamsReqParamsType;
5488
5489/*---------------------------------------------------------------------------
5490 WDI_SetTxPerTrackingConfType
5491 Wowl add ptrn info passed to WDA form UMAC
5492---------------------------------------------------------------------------*/
5493typedef struct
5494{
5495 wpt_uint8 ucTxPerTrackingEnable; /* 0: disable, 1:enable */
5496 wpt_uint8 ucTxPerTrackingPeriod; /* Check period, unit is sec. */
5497 wpt_uint8 ucTxPerTrackingRatio; /* (Fail TX packet)/(Total TX packet) ratio, the unit is 10%. */
5498 wpt_uint32 uTxPerTrackingWatermark; /* A watermark of check number, once the tx packet exceed this number, we do the check, default is 5 */
5499} WDI_TxPerTrackingParamType;
5500
5501/*---------------------------------------------------------------------------
5502 WDI_SetTxPerTrackingReqParamsType
5503 Tx PER Tracking parameters passed to WDI from WDA
5504---------------------------------------------------------------------------*/
5505typedef struct
5506{
5507 /* Configurations for Tx PER Tracking */
5508 WDI_TxPerTrackingParamType wdiTxPerTrackingParam;
5509 /*Request status callback offered by UMAC - it is called if the current req
5510 has returned PENDING as status; it delivers the status of sending the message
5511 over the BUS */
5512 WDI_ReqStatusCb wdiReqStatusCB;
5513 /*The user data passed in by UMAC, it will be sent back when the above
5514 function pointer will be called */
5515 void* pUserData;
5516}WDI_SetTxPerTrackingReqParamsType;
5517
5518#ifdef WLAN_FEATURE_PACKET_FILTERING
5519/*---------------------------------------------------------------------------
5520 Packet Filtering Parameters
5521---------------------------------------------------------------------------*/
5522
5523#define WDI_IPV4_ADDR_LEN 4
5524#define WDI_MAC_ADDR_LEN 6
5525#define WDI_MAX_FILTER_TEST_DATA_LEN 8
5526#define WDI_MAX_NUM_MULTICAST_ADDRESS 240
5527#define WDI_MAX_NUM_FILTERS 20
5528#define WDI_MAX_NUM_TESTS_PER_FILTER 10
5529
5530//
5531// Receive Filter Parameters
5532//
5533typedef enum
5534{
5535 WDI_RCV_FILTER_TYPE_INVALID,
5536 WDI_RCV_FILTER_TYPE_FILTER_PKT,
5537 WDI_RCV_FILTER_TYPE_BUFFER_PKT,
5538 WDI_RCV_FILTER_TYPE_MAX_ENUM_SIZE
5539}WDI_ReceivePacketFilterType;
5540
5541typedef enum
5542{
5543 WDI_FILTER_HDR_TYPE_INVALID,
5544 WDI_FILTER_HDR_TYPE_MAC,
5545 WDI_FILTER_HDR_TYPE_ARP,
5546 WDI_FILTER_HDR_TYPE_IPV4,
5547 WDI_FILTER_HDR_TYPE_IPV6,
5548 WDI_FILTER_HDR_TYPE_UDP,
5549 WDI_FILTER_HDR_TYPE_MAX
5550}WDI_RcvPktFltProtocolType;
5551
5552typedef enum
5553{
5554 WDI_FILTER_CMP_TYPE_INVALID,
5555 WDI_FILTER_CMP_TYPE_EQUAL,
5556 WDI_FILTER_CMP_TYPE_MASK_EQUAL,
5557 WDI_FILTER_CMP_TYPE_NOT_EQUAL,
5558 WDI_FILTER_CMP_TYPE_MASK_NOT_EQUAL,
5559 WDI_FILTER_CMP_TYPE_MAX
5560}WDI_RcvPktFltCmpFlagType;
5561
5562typedef struct
5563{
5564 WDI_RcvPktFltProtocolType protocolLayer;
5565 WDI_RcvPktFltCmpFlagType cmpFlag;
5566/* Length of the data to compare */
5567 wpt_uint16 dataLength;
5568/* from start of the respective frame header */
5569 wpt_uint8 dataOffset;
5570 wpt_uint8 reserved; /* Reserved field */
5571/* Data to compare */
5572 wpt_uint8 compareData[WDI_MAX_FILTER_TEST_DATA_LEN];
5573/* Mask to be applied on the received packet data before compare */
5574 wpt_uint8 dataMask[WDI_MAX_FILTER_TEST_DATA_LEN];
5575}WDI_RcvPktFilterFieldParams;
5576
5577typedef struct
5578{
5579 wpt_uint8 filterId;
5580 wpt_uint8 filterType;
5581 wpt_uint32 numFieldParams;
5582 wpt_uint32 coalesceTime;
Jeff Johnsone7245742012-09-05 17:12:55 -07005583 wpt_macAddr selfMacAddr;
5584 wpt_macAddr bssId;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005585 WDI_RcvPktFilterFieldParams paramsData[1];
5586
Jeff Johnson295189b2012-06-20 16:38:30 -07005587}WDI_RcvPktFilterCfgType;
5588
5589typedef struct
5590{
5591 /*Request status callback offered by UMAC - it is called if the current
5592 req has returned PENDING as status; it delivers the status of sending
5593 the message over the BUS */
5594 WDI_ReqStatusCb wdiReqStatusCB;
5595
5596 /*The user data passed in by UMAC, it will be sent back when the above
5597 function pointer will be called */
5598 void* pUserData;
5599
5600 // Variable length packet filter field params
5601 WDI_RcvPktFilterCfgType wdiPktFilterCfg;
5602} WDI_SetRcvPktFilterReqParamsType;
5603
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005604typedef struct
5605{
5606 /*Result of the operation*/
5607 WDI_Status wdiStatus;
5608 /* BSSIDX of the Set Receive Filter
5609 */
5610 wpt_uint8 bssIdx;
5611} WDI_SetRcvPktFilterRspParamsType;
5612
Jeff Johnson295189b2012-06-20 16:38:30 -07005613//
5614// Filter Packet Match Count Parameters
5615//
5616typedef struct
5617{
5618 /*Request status callback offered by UMAC - it is called if the current
5619 req has returned PENDING as status; it delivers the status of sending
5620 the message over the BUS */
5621 WDI_ReqStatusCb wdiReqStatusCB;
5622
5623 /*The user data passed in by UMAC, it will be sent back when the above
5624 function pointer will be called */
5625 void* pUserData;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005626
5627 /* BSSID of the Match count
5628 */
5629 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005630} WDI_RcvFltPktMatchCntReqParamsType;
5631
5632typedef struct
5633{
5634 wpt_uint8 filterId;
5635 wpt_uint32 matchCnt;
5636} WDI_RcvFltPktMatchCnt;
5637
5638typedef struct
5639{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005640 /*Result of the operation*/
5641 WDI_Status wdiStatus;
Jeff Johnson295189b2012-06-20 16:38:30 -07005642
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005643 /* BSSIDX of the Match count response
5644 */
5645 wpt_uint8 bssIdx;
5646
Jeff Johnson295189b2012-06-20 16:38:30 -07005647} WDI_RcvFltPktMatchCntRspParamsType;
5648
Jeff Johnson295189b2012-06-20 16:38:30 -07005649//
5650// Receive Filter Clear Parameters
5651//
5652typedef struct
5653{
5654 wpt_uint32 status; /* only valid for response message */
5655 wpt_uint8 filterId;
Jeff Johnsone7245742012-09-05 17:12:55 -07005656 wpt_macAddr selfMacAddr;
5657 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005658}WDI_RcvFltPktClearParam;
5659
5660typedef struct
5661{
5662 WDI_RcvFltPktClearParam filterClearParam;
5663 /*Request status callback offered by UMAC - it is called if the current
5664 req has returned PENDING as status; it delivers the status of sending
5665 the message over the BUS */
5666 WDI_ReqStatusCb wdiReqStatusCB;
5667
5668 /*The user data passed in by UMAC, it will be sent back when the above
5669 function pointer will be called */
5670 void* pUserData;
5671} WDI_RcvFltPktClearReqParamsType;
5672
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005673typedef struct
5674{
5675 /*Result of the operation*/
5676 WDI_Status wdiStatus;
5677 /* BSSIDX of the Match count response
5678 */
5679 wpt_uint8 bssIdx;
5680
5681} WDI_RcvFltPktClearRspParamsType;
5682
Jeff Johnson295189b2012-06-20 16:38:30 -07005683//
5684// Multicast Address List Parameters
5685//
5686typedef struct
5687{
5688 wpt_uint32 ulMulticastAddrCnt;
5689 wpt_macAddr multicastAddr[WDI_MAX_NUM_MULTICAST_ADDRESS];
Jeff Johnsone7245742012-09-05 17:12:55 -07005690 wpt_macAddr selfMacAddr;
5691 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005692} WDI_RcvFltMcAddrListType;
5693
5694typedef struct
5695{
5696 WDI_RcvFltMcAddrListType mcAddrList;
5697 /*Request status callback offered by UMAC - it is called if the current
5698 req has returned PENDING as status; it delivers the status of sending
5699 the message over the BUS */
5700 WDI_ReqStatusCb wdiReqStatusCB;
5701
5702 /*The user data passed in by UMAC, it will be sent back when the above
5703 function pointer will be called */
5704 void* pUserData;
5705} WDI_RcvFltPktSetMcListReqParamsType;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005706
5707typedef struct
5708{
5709 /*Result of the operation*/
5710 WDI_Status wdiStatus;
5711 /* BSSIDX of the Match count response
5712 */
5713 wpt_uint8 bssIdx;
5714} WDI_RcvFltPktSetMcListRspParamsType;
5715
Jeff Johnson295189b2012-06-20 16:38:30 -07005716#endif // WLAN_FEATURE_PACKET_FILTERING
5717
5718/*---------------------------------------------------------------------------
5719 WDI_HALDumpCmdReqInfoType
5720---------------------------------------------------------------------------*/
5721typedef struct
5722{
5723 /*command*/
5724 wpt_uint32 command;
5725
5726 /*Arguments*/
5727 wpt_uint32 argument1;
5728 wpt_uint32 argument2;
5729 wpt_uint32 argument3;
5730 wpt_uint32 argument4;
5731
5732}WDI_HALDumpCmdReqInfoType;
5733
5734/*---------------------------------------------------------------------------
5735 WDI_HALDumpCmdReqParamsType
5736---------------------------------------------------------------------------*/
5737typedef struct
5738{
5739 /*NV Blob Info*/
5740 WDI_HALDumpCmdReqInfoType wdiHALDumpCmdInfoType;
5741
5742 /*Request status callback offered by UMAC - it is called if the current
5743 req has returned PENDING as status; it delivers the status of sending
5744 the message over the BUS */
5745 WDI_ReqStatusCb wdiReqStatusCB;
5746
5747 /*The user data passed in by UMAC, it will be sent back when the above
5748 function pointer will be called */
5749 void* pUserData;
5750
5751}WDI_HALDumpCmdReqParamsType;
5752
5753
5754/*---------------------------------------------------------------------------
5755 WDI_HALDumpCmdRspParamsType
5756---------------------------------------------------------------------------*/
5757typedef struct
5758{
5759 /*Result of the operation*/
5760 WDI_Status wdiStatus;
5761
5762 /* length of the buffer */
5763 wpt_uint16 usBufferLen;
5764
5765 /* Buffer */
5766 wpt_uint8 *pBuffer;
5767}WDI_HALDumpCmdRspParamsType;
5768
5769
5770/*---------------------------------------------------------------------------
5771 WDI_SetTmLevelReqType
5772---------------------------------------------------------------------------*/
5773typedef struct
5774{
5775 wpt_uint16 tmMode;
5776 wpt_uint16 tmLevel;
5777 void* pUserData;
5778}WDI_SetTmLevelReqType;
5779
5780/*---------------------------------------------------------------------------
5781 WDI_SetTmLevelRspType
5782---------------------------------------------------------------------------*/
5783typedef struct
5784{
5785 WDI_Status wdiStatus;
5786 void* pUserData;
5787}WDI_SetTmLevelRspType;
5788
Leo Chang9056f462013-08-01 19:21:11 -07005789#ifdef FEATURE_WLAN_LPHB
5790/*---------------------------------------------------------------------------
5791 WDI_LPHBConfigParamsType
5792---------------------------------------------------------------------------*/
5793typedef struct
5794{
5795 void* pLphsConfIndData;
5796}WDI_LPHBConfigParamsType;
5797#endif /* FEATURE_WLAN_LPHB */
5798
Yue Mab9c86f42013-08-14 15:59:08 -07005799/*---------------------------------------------------------------------------
5800 WDI_AddPeriodicTxPtrnInfoType
5801---------------------------------------------------------------------------*/
5802typedef struct
5803{
5804 /* MAC Address for the adapter */
5805 wpt_macAddr macAddr;
5806
5807 wpt_uint8 ucPtrnId; // Pattern ID
5808 wpt_uint16 ucPtrnSize; // Pattern size
5809 wpt_uint32 usPtrnIntervalMs; // In msec
5810 wpt_uint8 ucPattern[PERIODIC_TX_PTRN_MAX_SIZE]; // Pattern buffer
5811} WDI_AddPeriodicTxPtrnInfoType;
5812
5813/*---------------------------------------------------------------------------
5814 WDI_DelPeriodicTxPtrnInfoType
5815---------------------------------------------------------------------------*/
5816typedef struct
5817{
5818 /* MAC Address for the adapter */
5819 wpt_macAddr macAddr;
5820
5821 /* Bitmap of pattern IDs that needs to be deleted */
5822 wpt_uint32 ucPatternIdBitmap;
5823} WDI_DelPeriodicTxPtrnInfoType;
5824
5825/*---------------------------------------------------------------------------
5826 WDI_AddPeriodicTxPtrnParamsType
5827---------------------------------------------------------------------------*/
5828typedef struct
5829{
5830 WDI_AddPeriodicTxPtrnInfoType wdiAddPeriodicTxPtrnParams;
5831
5832 /*Request status callback offered by UMAC - it is called if the current
5833 req has returned PENDING as status; it delivers the status of sending
5834 the message over the BUS */
5835 WDI_ReqStatusCb wdiReqStatusCB;
5836
5837 /*The user data passed in by UMAC, it will be sent back when the above
5838 function pointer will be called */
5839 void* pUserData;
5840} WDI_AddPeriodicTxPtrnParamsType;
5841
5842/*---------------------------------------------------------------------------
Srinivas Dasari32a79262015-02-19 13:04:49 +05305843 WDI_NanRequestType
5844---------------------------------------------------------------------------*/
5845typedef struct
5846{
5847 wpt_uint16 request_data_len;
5848 wpt_uint8 request_data[1];
5849} WDI_NanRequestType;
5850
5851
5852/*---------------------------------------------------------------------------
Yue Mab9c86f42013-08-14 15:59:08 -07005853 WDI_DelPeriodicTxPtrnParamsType
5854---------------------------------------------------------------------------*/
5855typedef struct
5856{
5857 WDI_DelPeriodicTxPtrnInfoType wdiDelPeriodicTxPtrnParams;
5858
5859 /*Request status callback offered by UMAC - it is called if the current
5860 req has returned PENDING as status; it delivers the status of sending
5861 the message over the BUS */
5862 WDI_ReqStatusCb wdiReqStatusCB;
5863
5864 /*The user data passed in by UMAC, it will be sent back when the above
5865 function pointer will be called */
5866 void* pUserData;
5867} WDI_DelPeriodicTxPtrnParamsType;
5868
Dino Mycle41bdc942014-06-10 11:30:24 +05305869#ifdef WLAN_FEATURE_EXTSCAN
5870
5871#define WDI_WLAN_EXTSCAN_MAX_CHANNELS 16
5872#define WDI_WLAN_EXTSCAN_MAX_BUCKETS 16
5873#define WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS 128
Padma, Santhosh Kumar9acee012015-08-21 19:58:01 +05305874#define WDI_WLAN_EXTSCAN_MAX_HOTLIST_SSID 8
Dino Mycle41bdc942014-06-10 11:30:24 +05305875
5876typedef enum
5877{
5878 WDI_WIFI_BAND_UNSPECIFIED,
5879 WDI_WIFI_BAND_BG = 1, // 2.4 GHz
5880 WDI_WIFI_BAND_A = 2, // 5 GHz without DFS
5881 WDI_WIFI_BAND_ABG = 3, // 2.4 GHz + 5 GHz; no DFS
5882 WDI_WIFI_BAND_A_DFS = 4, // 5 GHz DFS only
5883 WDI_WIFI_BAND_A_WITH_DFS = 6, // 5 GHz with DFS
5884 WDI_WIFI_BAND_ABG_WITH_DFS = 7, // 2.4 GHz + 5 GHz with DFS
5885
5886 /* Keep it last */
5887 WDI_WIFI_BAND_MAX
5888} WDI_WifiBand;
5889
5890typedef struct
5891{
5892 wpt_uint32 channel; // frequency
5893 wpt_uint32 dwellTimeMs; // dwell time hint
5894 wpt_uint8 passive; // 0 => active,
5895 // 1 => passive scan; ignored for DFS
5896 wpt_uint8 chnlClass;
5897} WDI_WifiScanChannelSpec;
5898
5899typedef struct
5900{
5901 wpt_uint8 bucket; // bucket index, 0 based
5902 WDI_WifiBand band; // when UNSPECIFIED, use channel list
5903
5904 /*
5905 * desired period, in millisecond; if this is too
5906 * low, the firmware should choose to generate results as fast as
5907 * it can instead of failing the command byte
5908 */
5909 wpt_uint32 period;
5910
5911 /*
5912 * 0 => normal reporting (reporting rssi history
5913 * only, when rssi history buffer is % full)
5914 * 1 => same as 0 + report a scan completion event after scanning
5915 * this bucket
5916 * 2 => same as 1 + forward scan results (beacons/probe responses + IEs)
5917 * in real time to HAL
5918 */
5919 wpt_uint8 reportEvents;
5920
Padma, Santhosh Kumar7b9190d2015-08-17 17:45:29 +05305921 wpt_uint32 max_period;
5922 wpt_uint32 exponent;
5923 wpt_uint32 step_count;
5924
Dino Mycle41bdc942014-06-10 11:30:24 +05305925 wpt_uint8 numChannels;
5926
5927 /*
5928 * channels to scan; these may include DFS channels
5929 */
5930 WDI_WifiScanChannelSpec channels[WDI_WLAN_EXTSCAN_MAX_CHANNELS];
5931} WDI_WifiScanBucketSpec;
5932
5933typedef struct
5934{
5935 wpt_uint32 requestId;
5936 wpt_uint8 sessionId;
5937 wpt_uint32 basePeriod; // base timer period
5938 wpt_uint32 maxAPperScan;
5939
5940 /* in %, when buffer is this much full, wake up host */
Padma, Santhosh Kumar7b9190d2015-08-17 17:45:29 +05305941 wpt_uint32 reportThresholdPercent;
5942 wpt_uint32 reportThresholdNumScans;
Dino Mycle41bdc942014-06-10 11:30:24 +05305943
Padma, Santhosh Kumar7b9190d2015-08-17 17:45:29 +05305944 wpt_uint32 homeAwayTime; //in units of milliseconds
Dino Mycle41bdc942014-06-10 11:30:24 +05305945 wpt_uint8 numBuckets;
5946 WDI_WifiScanBucketSpec buckets[WDI_WLAN_EXTSCAN_MAX_BUCKETS];
5947} WDI_EXTScanStartReqParams;
5948
5949typedef struct
5950{
5951 wpt_uint32 requestId;
5952 wpt_uint8 sessionId;
5953} WDI_EXTScanStopReqParams;
5954
5955typedef struct
5956{
5957 wpt_uint32 requestId;
5958 wpt_uint8 sessionId;
5959
5960 /*
5961 * 1 return cached results and flush it
5962 * 0 return cached results and do not flush
5963 */
5964 wpt_boolean flush;
5965} WDI_EXTScanGetCachedResultsReqParams;
5966
5967typedef struct
5968{
5969 wpt_uint32 requestId;
5970 wpt_uint8 sessionId;
5971} WDI_EXTScanGetCapabilitiesReqParams;
5972
5973typedef struct
5974{
5975 wpt_uint8 bssid[6]; /* BSSID */
5976 wpt_int32 low; // low threshold
5977 wpt_int32 high; // high threshold
Dino Mycle41bdc942014-06-10 11:30:24 +05305978} WDI_APThresholdParam;
5979
5980typedef struct
5981{
Padma, Santhosh Kumar9acee012015-08-21 19:58:01 +05305982 WDI_MacSSid ssid; /* SSID */
5983 wpt_uint8 band; /* band */
5984 wpt_int32 lowRssiThreshold; /* low threshold */
5985 wpt_int32 highRssiThreshold; /* high threshold */
5986} WDI_SSIDThresholdParam;
5987
5988typedef struct
5989{
Dino Mycle41bdc942014-06-10 11:30:24 +05305990 wpt_int32 requestId;
5991 wpt_int8 sessionId; // session Id mapped to vdev_id
Padma, Santhosh Kumar37f4fd12015-08-19 14:37:37 +05305992 wpt_uint32 lostBssidSampleSize;
5993 wpt_int32 numBssid; // number of hotlist APs
Dino Mycle41bdc942014-06-10 11:30:24 +05305994 WDI_APThresholdParam ap[WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS]; // hotlist APs
5995} WDI_EXTScanSetBSSIDHotlistReqParams;
5996
5997typedef struct
5998{
5999 wpt_uint32 requestId;
6000 wpt_uint8 sessionId;
6001} WDI_EXTScanResetBSSIDHotlistReqParams;
6002
Padma, Santhosh Kumar9acee012015-08-21 19:58:01 +05306003typedef struct
6004{
Padma, Santhosh Kumarc1f7f052015-08-26 12:29:01 +05306005 wpt_boolean pause;
6006 wpt_uint32 reserved;
6007} WDI_HighPriorityDataInfoIndParams;
6008
6009typedef struct
6010{
6011 wpt_int32 requestId;
6012 wpt_int8 sessionId; // session Id mapped to vdev_id
Padma, Santhosh Kumar9acee012015-08-21 19:58:01 +05306013 wpt_uint32 lostSsidSampleSize;
6014 wpt_uint32 numSsid; // number of hotlist APs
6015 WDI_SSIDThresholdParam ssid[WDI_WLAN_EXTSCAN_MAX_HOTLIST_SSID]; // hotlist SSIDs
6016} WDI_EXTScanSetSSIDHotlistReqParams;
6017
6018typedef struct
6019{
6020 wpt_uint32 requestId;
6021 wpt_uint8 sessionId;
6022} WDI_EXTScanResetSSIDHotlistReqParams;
6023
Dino Mycle41bdc942014-06-10 11:30:24 +05306024#endif /* WLAN_FEATURE_EXTSCAN */
6025
Sunil Duttbd736ed2014-05-26 21:19:41 +05306026#ifdef WLAN_FEATURE_LINK_LAYER_STATS
6027typedef struct
6028{
6029 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05306030 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05306031 wpt_uint32 mpduSizeThreshold;
6032 wpt_uint32 aggressiveStatisticsGathering;
6033}WDI_LLStatsSetReqType;
6034
6035typedef struct
6036{
6037 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05306038 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05306039 wpt_uint32 paramIdMask;
6040}WDI_LLStatsGetReqType;
6041
6042typedef struct
6043{
6044 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05306045 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05306046 wpt_uint32 statsClearReqMask;
6047 wpt_uint8 stopReq;
6048}WDI_LLStatsClearReqType;
Dino Mycled3d50022014-07-07 12:58:25 +05306049
Sunil Duttbd736ed2014-05-26 21:19:41 +05306050#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
6051
Siddharth Bhal171788a2014-09-29 21:02:40 +05306052/*---------------------------------------------------------------------------
6053 WDI_SPOOF_MAC_ADDR_REQ
6054---------------------------------------------------------------------------*/
6055typedef struct
6056{
6057 /* Spoof MAC Address for FW */
6058 wpt_macAddr macAddr;
6059
6060 /* Reserved Params/fields */
6061 wpt_uint32 params;
6062 wpt_uint32 reserved;
6063} WDI_SpoofMacAddrInfoType;
Sunil Duttbd736ed2014-05-26 21:19:41 +05306064
Srinivas Dasari4dae48f2014-11-26 21:14:16 +05306065//This is to force compiler to use the maximum of an int for enum
6066#define SIR_MAX_ENUM_SIZE 0x7FFFFFFF
6067// Enum to specify whether key is used
6068// for TX only, RX only or both
6069typedef enum
6070{
6071 eWDI_TX_ONLY,
6072 eWDI_RX_ONLY,
6073 eWDI_TX_RX,
6074 eWDI_TX_DEFAULT,
6075 eWDI_DONOT_USE_KEY_DIRECTION = SIR_MAX_ENUM_SIZE
6076} tWDIKeyDirection;
6077
6078// MAX key length when ULA is used
6079#define SIR_MAC_MAX_KEY_LENGTH 32
6080/* Max key size including the WAPI and TKIP */
6081#define WLAN_MAX_KEY_RSC_LEN 16
6082// Definition for Encryption Keys
6083//typedef struct sSirKeys
6084typedef struct
6085{
6086 wpt_uint8 keyId;
6087 wpt_uint8 unicast; // 0 for multicast
6088 tWDIKeyDirection keyDirection;
6089 wpt_uint8 keyRsc[WLAN_MAX_KEY_RSC_LEN]; // Usage is unknown
6090 wpt_uint8 paeRole; // =1 for authenticator,
6091 // =0 for supplicant
6092 wpt_uint16 keyLength;
6093 wpt_uint8 key[SIR_MAC_MAX_KEY_LENGTH];
6094} tWDIKeys, *tpWDIKeys;
6095
6096typedef enum
6097{
6098 eWDI_WEP_STATIC,
6099 eWDI_WEP_DYNAMIC,
6100} tWDIWepType;
6101
6102// Encryption type enum used with peer
6103typedef enum
6104{
6105 eWDI_ED_NONE,
6106 eWDI_ED_WEP40,
6107 eWDI_ED_WEP104,
6108 eWDI_ED_TKIP,
6109 eWDI_ED_CCMP,
6110#if defined(FEATURE_WLAN_WAPI)
6111 eWDI_ED_WPI,
6112#endif
6113 /* DPU HW treats encryption mode 4 plus RMF bit set in TX BD as BIP.
6114 * Thus while setting BIP encryption mode in corresponding DPU Desc
6115 * eSIR_ED_AES_128_CMAC should be set to eSIR_ED_CCMP
6116 */
6117 eWDI_ED_AES_128_CMAC,
6118 eWDI_ED_NOT_IMPLEMENTED = SIR_MAX_ENUM_SIZE
6119} tWDIEdType;
6120#define SIR_WDI_MAX_NUM_OF_DEFAULT_KEYS 4
6121/*
6122 * This is used by PE to configure the key information on a given station.
6123 * When the secType is WEP40 or WEP104, the defWEPIdx is used to locate
6124 * a preconfigured key from a BSS the station assoicated with; otherwise
6125 * a new key descriptor is created based on the key field.
6126 */
6127typedef struct
6128{
6129 wpt_uint16 staIdx;
6130 tWDIEdType encType; // Encryption/Decryption type
6131 tWDIWepType wepType; // valid only for WEP
6132 wpt_uint8 defWEPIdx; // Default WEP key, valid only for static WEP, must between 0 and 3
6133 tWDIKeys key[SIR_WDI_MAX_NUM_OF_DEFAULT_KEYS]; // valid only for non-static WEP encyrptions
6134 wpt_uint8 singleTidRc; // 1=Single TID based Replay Count, 0=Per TID based RC
6135 wpt_uint8 sessionId; // PE session id for PE<->HAL interface
6136} tWDISetStaKeyParams, *tpWDISetStaKeyParams;
6137
6138typedef struct
6139{
6140 tWDISetStaKeyParams keyParams;
6141 wpt_uint8 pn[6];
6142}wpt_encConfigParams;
6143
6144typedef struct
6145{
6146 wpt_uint16 length;
6147 wpt_uint8 data[WDI_DISA_MAX_PAYLOAD_SIZE];
6148}wpt_payload;
6149
6150typedef struct
6151{
6152 wpt_80211Header macHeader;
6153 wpt_encConfigParams encParams;
6154 wpt_payload data;
6155}wpt_pkt80211;
6156
Katya Nigamf0511f62015-05-05 16:40:57 +05306157#define NUM_FILTERS_SUPPORTED 1
6158typedef struct
6159{
6160 wpt_macAddr macAddr;
6161 wpt_uint8 isA1filter;
6162 wpt_uint8 isA2filter;
6163 wpt_uint8 isA3filter;
6164}WDI_filter;
6165
6166typedef struct
6167{
6168 /* start or stop */
6169 wpt_uint8 state;
6170 /*Conversion of packet required or not*/
6171 wpt_uint8 is80211to803ConReq;
6172 wpt_uint32 ChannelNo;
6173 wpt_uint32 ChannelBW;
6174 wpt_uint8 crcCheckEnabled;
6175 wpt_uint8 numOfMacFilters;
6176 WDI_filter mmFilters[NUM_FILTERS_SUPPORTED];
6177 wpt_uint64 typeSubtypeBitmap;
6178 wpt_uint64 rsvd;
6179
6180}WDI_MonStartReqType;
6181
Arun Khandavalli7eeb1592015-10-19 21:36:57 +05306182typedef struct
6183{
6184 wpt_uint8 paramType;
6185 wpt_uint32 paramValue;
6186 wpt_macAddr bssId;
6187}WDI_WifiConfigSetReqType;
6188
c_manjeecfd1efb2015-09-25 19:32:34 +05306189/**
6190 * struct WDI_FwrMemDumpReqType - firmware memory dump request details.
6191.*.@FWMemDumpReqCb - Associated Callback
6192 *.@fwMemDumpReqContext - Callback context
6193 * @reserved - reserved field 1.
6194 *
6195 * This structure carries information about the firmware
6196 * memory dump request.
6197 */
6198typedef struct
6199{
6200 wpt_uint32 reserved1;
6201}WDI_FwrMemDumpReqType;
6202
6203/**
6204 * struct WDI_FwrMemDumpRsp - firmware dump response details.
6205 *
6206 * This structure is used to store the firmware dump
6207 * response from the firmware.
6208 */
6209typedef struct
6210{
6211 wpt_uint32 dump_status;
6212}WDI_FwrMemDumpRsp;
6213
Arun Khandavalli7eeb1592015-10-19 21:36:57 +05306214typedef struct
6215{
6216 wpt_uint32 wificonfigset_status;
6217}WDI_WifconfigSetRsp;
c_manjeecfd1efb2015-09-25 19:32:34 +05306218
Jeff Johnson295189b2012-06-20 16:38:30 -07006219/*----------------------------------------------------------------------------
6220 * WDI callback types
6221 *--------------------------------------------------------------------------*/
6222
6223/*---------------------------------------------------------------------------
6224 WDI_StartRspCb
6225
6226 DESCRIPTION
6227
6228 This callback is invoked by DAL when it has received a Start response from
6229 the underlying device.
6230
6231 PARAMETERS
6232
6233 IN
6234 wdiRspParams: response parameters received from HAL
6235 pUserData: user data
6236
6237
6238 RETURN VALUE
6239 The result code associated with performing the operation
6240---------------------------------------------------------------------------*/
6241typedef void (*WDI_StartRspCb)(WDI_StartRspParamsType* pwdiRspParams,
6242 void* pUserData);
6243
6244/*---------------------------------------------------------------------------
6245 WDI_StartRspCb
6246
6247 DESCRIPTION
6248
6249 This callback is invoked by DAL when it has received a Stop response from
6250 the underlying device.
6251
6252 PARAMETERS
6253
6254 IN
6255 wdiStatus: response status received from HAL
6256 pUserData: user data
6257
6258
6259
6260 RETURN VALUE
6261 The result code associated with performing the operation
6262---------------------------------------------------------------------------*/
6263typedef void (*WDI_StopRspCb)(WDI_Status wdiStatus,
6264 void* pUserData);
6265
6266/*---------------------------------------------------------------------------
6267 WDI_StartRspCb
6268
6269 DESCRIPTION
6270
6271 This callback is invoked by DAL when it has received an Init Scan response
6272 from the underlying device.
6273
6274 PARAMETERS
6275
6276 IN
6277 wdiStatus: response status received from HAL
6278 pUserData: user data
6279
6280
6281
6282 RETURN VALUE
6283 The result code associated with performing the operation
6284---------------------------------------------------------------------------*/
6285typedef void (*WDI_InitScanRspCb)(WDI_Status wdiStatus,
6286 void* pUserData);
6287
6288
6289/*---------------------------------------------------------------------------
6290 WDI_StartRspCb
6291
6292 DESCRIPTION
6293
6294 This callback is invoked by DAL when it has received a StartScan response
6295 from the underlying device.
6296
6297 PARAMETERS
6298
6299 IN
6300 wdiParams: response params received from HAL
6301 pUserData: user data
6302
6303
6304
6305 RETURN VALUE
6306 The result code associated with performing the operation
6307---------------------------------------------------------------------------*/
6308typedef void (*WDI_StartScanRspCb)(WDI_StartScanRspParamsType* wdiParams,
6309 void* pUserData);
6310
6311
6312/*---------------------------------------------------------------------------
6313 WDI_StartRspCb
6314
6315 DESCRIPTION
6316
6317 This callback is invoked by DAL when it has received a End Scan response
6318 from the underlying device.
6319
6320 PARAMETERS
6321
6322 IN
6323 wdiStatus: response status received from HAL
6324 pUserData: user data
6325
6326
6327
6328 RETURN VALUE
6329 The result code associated with performing the operation
6330---------------------------------------------------------------------------*/
6331typedef void (*WDI_EndScanRspCb)(WDI_Status wdiStatus,
6332 void* pUserData);
6333
6334
6335/*---------------------------------------------------------------------------
6336 WDI_StartRspCb
6337
6338 DESCRIPTION
6339
6340 This callback is invoked by DAL when it has received a Finish Scan response
6341 from the underlying device.
6342
6343 PARAMETERS
6344
6345 IN
6346 wdiStatus: response status received from HAL
6347 pUserData: user data
6348
6349
6350
6351 RETURN VALUE
6352 The result code associated with performing the operation
6353---------------------------------------------------------------------------*/
6354typedef void (*WDI_FinishScanRspCb)(WDI_Status wdiStatus,
6355 void* pUserData);
6356
6357
6358/*---------------------------------------------------------------------------
6359 WDI_StartRspCb
6360
6361 DESCRIPTION
6362
6363 This callback is invoked by DAL when it has received a Join response from
6364 the underlying device.
6365
6366 PARAMETERS
6367
6368 IN
6369 wdiStatus: response status received from HAL
6370 pUserData: user data
6371
6372
6373
6374 RETURN VALUE
6375 The result code associated with performing the operation
6376---------------------------------------------------------------------------*/
6377typedef void (*WDI_JoinRspCb)(WDI_Status wdiStatus,
6378 void* pUserData);
6379
6380
6381/*---------------------------------------------------------------------------
6382 WDI_StartRspCb
6383
6384 DESCRIPTION
6385
6386 This callback is invoked by DAL when it has received a Config BSS response
6387 from the underlying device.
6388
6389 PARAMETERS
6390
6391 IN
6392 wdiConfigBSSRsp: response parameters received from HAL
6393 pUserData: user data
6394
6395
6396 RETURN VALUE
6397 The result code associated with performing the operation
6398---------------------------------------------------------------------------*/
6399typedef void (*WDI_ConfigBSSRspCb)(
6400 WDI_ConfigBSSRspParamsType* pwdiConfigBSSRsp,
6401 void* pUserData);
6402
6403
6404/*---------------------------------------------------------------------------
6405 WDI_StartRspCb
6406
6407 DESCRIPTION
6408
6409 This callback is invoked by DAL when it has received a Del BSS response from
6410 the underlying device.
6411
6412 PARAMETERS
6413
6414 IN
6415 wdiDelBSSRsp: response parameters received from HAL
6416 pUserData: user data
6417
6418
6419 RETURN VALUE
6420 The result code associated with performing the operation
6421---------------------------------------------------------------------------*/
6422typedef void (*WDI_DelBSSRspCb)(WDI_DelBSSRspParamsType* pwdiDelBSSRsp,
6423 void* pUserData);
6424
6425
6426/*---------------------------------------------------------------------------
6427 WDI_StartRspCb
6428
6429 DESCRIPTION
6430
6431 This callback is invoked by DAL when it has received a Post Assoc response
6432 from the underlying device.
6433
6434 PARAMETERS
6435
6436 IN
6437 wdiRspParams: response parameters received from HAL
6438 pUserData: user data
6439
6440
6441 RETURN VALUE
6442 The result code associated with performing the operation
6443---------------------------------------------------------------------------*/
6444typedef void (*WDI_PostAssocRspCb)(
6445 WDI_PostAssocRspParamsType* pwdiPostAssocRsp,
6446 void* pUserData);
6447
6448
6449/*---------------------------------------------------------------------------
6450 WDI_StartRspCb
6451
6452 DESCRIPTION
6453
6454 This callback is invoked by DAL when it has received a Del STA response from
6455 the underlying device.
6456
6457 PARAMETERS
6458
6459 IN
6460 wdiDelSTARsp: response parameters received from HAL
6461 pUserData: user data
6462
6463
6464 RETURN VALUE
6465 The result code associated with performing the operation
6466---------------------------------------------------------------------------*/
6467typedef void (*WDI_DelSTARspCb)(WDI_DelSTARspParamsType* pwdiDelSTARsp,
6468 void* pUserData);
6469
6470
6471
6472/*---------------------------------------------------------------------------
6473 WDI_StartRspCb
6474
6475 DESCRIPTION
6476
6477 This callback is invoked by DAL when it has received a Set BSS Key response
6478 from the underlying device.
6479
6480 PARAMETERS
6481
6482 IN
6483 wdiStatus: response status received from HAL
6484 pUserData: user data
6485
6486
6487
6488 RETURN VALUE
6489 The result code associated with performing the operation
6490---------------------------------------------------------------------------*/
6491typedef void (*WDI_SetBSSKeyRspCb)(WDI_Status wdiStatus,
6492 void* pUserData);
6493
6494/*---------------------------------------------------------------------------
6495 WDI_StartRspCb
6496
6497 DESCRIPTION
6498
6499 This callback is invoked by DAL when it has received a Remove BSS Key
6500 response from the underlying device.
6501
6502 PARAMETERS
6503
6504 IN
6505 wdiStatus: response status received from HAL
6506 pUserData: user data
6507
6508
6509
6510 RETURN VALUE
6511 The result code associated with performing the operation
6512---------------------------------------------------------------------------*/
6513typedef void (*WDI_RemoveBSSKeyRspCb)(WDI_Status wdiStatus,
6514 void* pUserData);
6515
6516/*---------------------------------------------------------------------------
6517 WDI_StartRspCb
6518
6519 DESCRIPTION
6520
6521 This callback is invoked by DAL when it has received a Set STA Key response
6522 from the underlying device.
6523
6524 PARAMETERS
6525
6526 IN
6527 wdiStatus: response status received from HAL
6528 pUserData: user data
6529
6530
Jeff Johnson295189b2012-06-20 16:38:30 -07006531 RETURN VALUE
6532 The result code associated with performing the operation
6533---------------------------------------------------------------------------*/
6534typedef void (*WDI_SetSTAKeyRspCb)(WDI_Status wdiStatus,
6535 void* pUserData);
6536
Jeff Johnson295189b2012-06-20 16:38:30 -07006537/*---------------------------------------------------------------------------
6538 WDI_StartRspCb
6539
6540 DESCRIPTION
6541
6542 This callback is invoked by DAL when it has received a Remove STA Key
6543 response from the underlying device.
6544
6545 PARAMETERS
6546
6547 IN
6548 wdiStatus: response status received from HAL
6549 pUserData: user data
6550
Siddharth Bhal171788a2014-09-29 21:02:40 +05306551
Jeff Johnson295189b2012-06-20 16:38:30 -07006552 RETURN VALUE
6553 The result code associated with performing the operation
6554---------------------------------------------------------------------------*/
6555typedef void (*WDI_RemoveSTAKeyRspCb)(WDI_Status wdiStatus,
6556 void* pUserData);
6557
6558
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08006559#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07006560/*---------------------------------------------------------------------------
6561 WDI_TsmRspCb
6562
6563 DESCRIPTION
6564
6565 This callback is invoked by DAL when it has received a TSM Stats response from the underlying device.
6566
6567 PARAMETERS
6568
6569 IN
6570 pTSMStats: response status received from HAL
6571 pUserData: user data
6572
6573
6574
6575 RETURN VALUE
6576 The result code associated with performing the operation
6577---------------------------------------------------------------------------*/
6578typedef void (*WDI_TsmRspCb)(WDI_TSMStatsRspParamsType *pTSMStats,
6579 void* pUserData);
6580#endif
6581
6582/*---------------------------------------------------------------------------
6583 WDI_StartRspCb
6584
6585 DESCRIPTION
6586
6587 This callback is invoked by DAL when it has received a Add TS response from
6588 the underlying device.
6589
6590 PARAMETERS
6591
6592 IN
6593 wdiStatus: response status received from HAL
6594 pUserData: user data
6595
6596
6597
6598 RETURN VALUE
6599 The result code associated with performing the operation
6600---------------------------------------------------------------------------*/
6601typedef void (*WDI_AddTsRspCb)(WDI_Status wdiStatus,
6602 void* pUserData);
6603
6604/*---------------------------------------------------------------------------
6605 WDI_StartRspCb
6606
6607 DESCRIPTION
6608
6609 This callback is invoked by DAL when it has received a Del TS response from
6610 the underlying device.
6611
6612 PARAMETERS
6613
6614 IN
6615 wdiStatus: response status received from HAL
6616 pUserData: user data
6617
6618
6619
6620 RETURN VALUE
6621 The result code associated with performing the operation
6622---------------------------------------------------------------------------*/
6623typedef void (*WDI_DelTsRspCb)(WDI_Status wdiStatus,
6624 void* pUserData);
6625
6626/*---------------------------------------------------------------------------
6627 WDI_StartRspCb
6628
6629 DESCRIPTION
6630
6631 This callback is invoked by DAL when it has received an Update EDCA Params
6632 response from the underlying device.
6633
6634 PARAMETERS
6635
6636 IN
6637 wdiStatus: response status received from HAL
6638 pUserData: user data
6639
6640
6641
6642 RETURN VALUE
6643 The result code associated with performing the operation
6644---------------------------------------------------------------------------*/
6645typedef void (*WDI_UpdateEDCAParamsRspCb)(WDI_Status wdiStatus,
6646 void* pUserData);
6647
6648/*---------------------------------------------------------------------------
6649 WDI_StartRspCb
6650
6651 DESCRIPTION
6652
6653 This callback is invoked by DAL when it has received a Add BA response from
6654 the underlying device.
6655
6656 PARAMETERS
6657
6658 IN
6659 wdiStatus: response status received from HAL
6660 pUserData: user data
6661
6662
6663
6664 RETURN VALUE
6665 The result code associated with performing the operation
6666---------------------------------------------------------------------------*/
6667typedef void (*WDI_AddBASessionRspCb)(
6668 WDI_AddBASessionRspParamsType* wdiAddBASessionRsp,
6669 void* pUserData);
6670
6671
6672/*---------------------------------------------------------------------------
6673 WDI_StartRspCb
6674
6675 DESCRIPTION
6676
6677 This callback is invoked by DAL when it has received a Del BA response from
6678 the underlying device.
6679
6680 PARAMETERS
6681
6682 IN
6683 wdiStatus: response status received from HAL
6684 pUserData: user data
6685
6686
6687
6688 RETURN VALUE
6689 The result code associated with performing the operation
6690---------------------------------------------------------------------------*/
6691typedef void (*WDI_DelBARspCb)(WDI_Status wdiStatus,
6692 void* pUserData);
6693
6694
6695/*---------------------------------------------------------------------------
6696 WDI_StartRspCb
6697
6698 DESCRIPTION
6699
6700 This callback is invoked by DAL when it has received a Switch Ch response
6701 from the underlying device.
6702
6703 PARAMETERS
6704
6705 IN
6706 wdiRspParams: response parameters received from HAL
6707 pUserData: user data
6708
6709
6710 RETURN VALUE
6711 The result code associated with performing the operation
6712---------------------------------------------------------------------------*/
6713typedef void (*WDI_SwitchChRspCb)(WDI_SwitchCHRspParamsType* pwdiSwitchChRsp,
6714 void* pUserData);
6715
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08006716typedef void (*WDI_SwitchChRspCb_V1)(WDI_SwitchChRspParamsType_V1* pwdiSwitchChRsp,
6717 void* pUserData);
6718
Jeff Johnson295189b2012-06-20 16:38:30 -07006719
6720/*---------------------------------------------------------------------------
6721 WDI_StartRspCb
6722
6723 DESCRIPTION
6724
6725 This callback is invoked by DAL when it has received a Config STA response
6726 from the underlying device.
6727
6728 PARAMETERS
6729
6730 IN
6731 wdiRspParams: response parameters received from HAL
6732 pUserData: user data
6733
6734
6735 RETURN VALUE
6736 The result code associated with performing the operation
6737---------------------------------------------------------------------------*/
6738typedef void (*WDI_ConfigSTARspCb)(
6739 WDI_ConfigSTARspParamsType* pwdiConfigSTARsp,
6740 void* pUserData);
6741
6742
6743/*---------------------------------------------------------------------------
6744 WDI_StartRspCb
6745
6746 DESCRIPTION
6747
6748 This callback is invoked by DAL when it has received a Set Link State
6749 response from the underlying device.
6750
6751 PARAMETERS
6752
6753 IN
6754 wdiRspParams: response parameters received from HAL
6755 pUserData: user data
6756
6757
6758 RETURN VALUE
6759 The result code associated with performing the operation
6760---------------------------------------------------------------------------*/
6761typedef void (*WDI_SetLinkStateRspCb)( WDI_Status wdiStatus,
6762 void* pUserData);
6763
6764
6765/*---------------------------------------------------------------------------
6766 WDI_StartRspCb
6767
6768 DESCRIPTION
6769
6770 This callback is invoked by DAL when it has received a Get Stats response
6771 from the underlying device.
6772
6773 PARAMETERS
6774
6775 IN
6776 wdiRspParams: response parameters received from HAL
6777 pUserData: user data
6778
6779
6780 RETURN VALUE
6781 The result code associated with performing the operation
6782---------------------------------------------------------------------------*/
6783typedef void (*WDI_GetStatsRspCb)(WDI_GetStatsRspParamsType* pwdiGetStatsRsp,
6784 void* pUserData);
6785
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08006786#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08006787/*---------------------------------------------------------------------------
6788 WDI_GetRoamRssiRspCb
6789
6790 DESCRIPTION
6791
6792 This callback is invoked by DAL when it has received a Get Roam Rssi response
6793 from the underlying device.
6794
6795 PARAMETERS
6796
6797 IN
6798 wdiRspParams: response parameters received from HAL
6799 pUserData: user data
6800
6801
6802 RETURN VALUE
6803 The result code associated with performing the operation
6804---------------------------------------------------------------------------*/
6805typedef void (*WDI_GetRoamRssiRspCb)(WDI_GetRoamRssiRspParamsType* pwdiGetRoamRssiRsp,
6806 void* pUserData);
6807#endif
6808
Jeff Johnson295189b2012-06-20 16:38:30 -07006809
6810/*---------------------------------------------------------------------------
6811 WDI_StartRspCb
6812
6813 DESCRIPTION
6814
6815 This callback is invoked by DAL when it has received a Update Cfg response
6816 from the underlying device.
6817
6818 PARAMETERS
6819
6820 IN
6821 wdiStatus: response status received from HAL
6822 pUserData: user data
6823
6824
6825 RETURN VALUE
6826 The result code associated with performing the operation
6827---------------------------------------------------------------------------*/
6828typedef void (*WDI_UpdateCfgRspCb)(WDI_Status wdiStatus,
6829 void* pUserData);
6830
6831/*---------------------------------------------------------------------------
6832 WDI_AddBARspCb
6833
6834 DESCRIPTION
6835
6836 This callback is invoked by DAL when it has received a ADD BA response
6837 from the underlying device.
6838
6839 PARAMETERS
6840
6841 IN
6842 wdiStatus: response status received from HAL
6843 pUserData: user data
6844
6845
6846 RETURN VALUE
6847 The result code associated with performing the operation
6848---------------------------------------------------------------------------*/
6849typedef void (*WDI_AddBARspCb)(WDI_AddBARspinfoType* wdiAddBARsp,
6850 void* pUserData);
6851
6852/*---------------------------------------------------------------------------
6853 WDI_TriggerBARspCb
6854
6855 DESCRIPTION
6856
6857 This callback is invoked by DAL when it has received a ADD BA response
6858 from the underlying device.
6859
6860 PARAMETERS
6861
6862 IN
6863 wdiStatus: response status received from HAL
6864 pUserData: user data
6865
6866
6867 RETURN VALUE
6868 The result code associated with performing the operation
6869---------------------------------------------------------------------------*/
6870typedef void (*WDI_TriggerBARspCb)(WDI_TriggerBARspParamsType* wdiTriggerBARsp,
6871 void* pUserData);
6872
6873
6874/*---------------------------------------------------------------------------
6875 WDI_UpdateBeaconParamsRspCb
6876
6877 DESCRIPTION
6878
6879 This callback is invoked by DAL when it has received a Update Beacon Params response from
6880 the underlying device.
6881
6882 PARAMETERS
6883
6884 IN
6885 wdiStatus: response status received from HAL
6886 pUserData: user data
6887
6888
6889
6890 RETURN VALUE
6891 The result code associated with performing the operation
6892---------------------------------------------------------------------------*/
6893typedef void (*WDI_UpdateBeaconParamsRspCb)(WDI_Status wdiStatus,
6894 void* pUserData);
6895
6896/*---------------------------------------------------------------------------
6897 WDI_SendBeaconParamsRspCb
6898
6899 DESCRIPTION
6900
6901 This callback is invoked by DAL when it has received a Send Beacon Params response from
6902 the underlying device.
6903
6904 PARAMETERS
6905
6906 IN
6907 wdiStatus: response status received from HAL
6908 pUserData: user data
6909
6910
6911
6912 RETURN VALUE
6913 The result code associated with performing the operation
6914---------------------------------------------------------------------------*/
6915typedef void (*WDI_SendBeaconParamsRspCb)(WDI_Status wdiStatus,
6916 void* pUserData);
6917
6918/*---------------------------------------------------------------------------
6919 WDA_SetMaxTxPowerRspCb
6920
6921 DESCRIPTION
6922
6923 This callback is invoked by DAL when it has received a set max Tx Power response from
6924 the underlying device.
6925
6926 PARAMETERS
6927
6928 IN
6929 wdiStatus: response status received from HAL
6930 pUserData: user data
6931
6932
6933
6934 RETURN VALUE
6935 The result code associated with performing the operation
6936---------------------------------------------------------------------------*/
6937typedef void (*WDA_SetMaxTxPowerRspCb)(WDI_SetMaxTxPowerRspMsg *wdiSetMaxTxPowerRsp,
6938 void* pUserData);
6939
6940/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07006941 WDA_SetMaxTxPowerPerBandRspCb
6942
6943 DESCRIPTION
6944
6945 This callback is invoked by DAL when it has received a
6946 set max Tx Power Per Band response from the underlying device.
6947
6948 PARAMETERS
6949
6950 IN
6951 wdiSetMaxTxPowerPerBandRsp: response status received from HAL
6952 pUserData: user data
6953
6954 RETURN VALUE
6955 The result code associated with performing the operation
6956---------------------------------------------------------------------------*/
6957typedef void (*WDA_SetMaxTxPowerPerBandRspCb)(WDI_SetMaxTxPowerPerBandRspMsg
6958 *wdiSetMaxTxPowerPerBandRsp,
6959 void* pUserData);
6960
6961/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07006962 WDA_SetTxPowerRspCb
6963
6964 DESCRIPTION
6965
6966 This callback is invoked by DAL when it has received a set max Tx Power response from
6967 the underlying device.
6968
6969 PARAMETERS
6970
6971 IN
6972 wdiStatus: response status received from HAL
6973 pUserData: user data
6974
6975 RETURN VALUE
6976 The result code associated with performing the operation
6977---------------------------------------------------------------------------*/
6978typedef void (*WDA_SetTxPowerRspCb)(WDI_SetTxPowerRspMsg *wdiSetTxPowerRsp,
6979 void* pUserData);
6980
6981/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07006982 WDI_UpdateProbeRspTemplateRspCb
6983
6984 DESCRIPTION
6985
6986 This callback is invoked by DAL when it has received a Probe RSP Template
6987 Update response from the underlying device.
6988
6989 PARAMETERS
6990
6991 IN
6992 wdiStatus: response status received from HAL
6993 pUserData: user data
6994
6995
6996
6997 RETURN VALUE
6998 The result code associated with performing the operation
6999---------------------------------------------------------------------------*/
7000typedef void (*WDI_UpdateProbeRspTemplateRspCb)(WDI_Status wdiStatus,
7001 void* pUserData);
7002
Jeff Johnson295189b2012-06-20 16:38:30 -07007003/*---------------------------------------------------------------------------
7004 WDI_SetP2PGONOAReqParamsRspCb
7005
7006 DESCRIPTION
7007
7008 This callback is invoked by DAL when it has received a P2P GO NOA Params response from
7009 the underlying device.
7010
7011 PARAMETERS
7012
7013 IN
7014 wdiStatus: response status received from HAL
7015 pUserData: user data
7016
7017
7018
7019 RETURN VALUE
7020 The result code associated with performing the operation
7021---------------------------------------------------------------------------*/
7022typedef void (*WDI_SetP2PGONOAReqParamsRspCb)(WDI_Status wdiStatus,
7023 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007024
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05307025/*---------------------------------------------------------------------------
7026 WDI_SetTDLSLinkEstablishReqParamsRspCb
7027
7028 DESCRIPTION
7029
7030 This callback is invoked by DAL when it has received a TDLS Link Establish Req response from
7031 the underlying device.
7032
7033 PARAMETERS
7034
7035 IN
7036 wdiStatus: response status received from HAL
7037 pUserData: user data
7038
7039
7040
7041 RETURN VALUE
7042 The result code associated with performing the operation
7043---------------------------------------------------------------------------*/
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05307044typedef void (*WDI_SetTDLSLinkEstablishReqParamsRspCb)(WDI_SetTdlsLinkEstablishReqResp *
7045 wdiSetTdlsLinkEstablishReqRsp,
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05307046 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007047
7048/*---------------------------------------------------------------------------
Atul Mittalc0f739f2014-07-31 13:47:47 +05307049 WDI_SetTDLSChanSwitchReqParamsRspCb
7050
7051 DESCRIPTION
7052
7053 This callback is invoked by DAL when it has received a TDLS Link Establish Req response from
7054 the underlying device.
7055
7056 PARAMETERS
7057
7058 IN
7059 wdiStatus: response status received from HAL
7060 pUserData: user data
7061
7062
7063
7064 RETURN VALUE
7065 The result code associated with performing the operation
7066---------------------------------------------------------------------------*/
7067typedef void (*WDI_SetTDLSChanSwitchReqParamsRspCb)(WDI_SetTdlsChanSwitchReqResp *
7068 wdiSetTdlsChanSwitchReqRsp,
7069 void* pUserData);
7070/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07007071 WDI_SetPwrSaveCfgCb
7072
7073 DESCRIPTION
7074
7075 This callback is invoked by DAL when it has received a set Power Save CFG
7076 response from the underlying device.
7077
7078 PARAMETERS
7079
7080 IN
7081 wdiStatus: response status received from HAL
7082 pUserData: user data
7083
7084
7085
7086 RETURN VALUE
7087 The result code associated with performing the operation
7088---------------------------------------------------------------------------*/
7089typedef void (*WDI_SetPwrSaveCfgCb)(WDI_Status wdiStatus,
7090 void* pUserData);
7091
7092/*---------------------------------------------------------------------------
7093 WDI_SetUapsdAcParamsCb
7094
7095 DESCRIPTION
7096
7097 This callback is invoked by DAL when it has received a set UAPSD params
7098 response from the underlying device.
7099
7100 PARAMETERS
7101
7102 IN
7103 wdiStatus: response status received from HAL
7104 pUserData: user data
7105
7106
7107
7108 RETURN VALUE
7109 The result code associated with performing the operation
7110---------------------------------------------------------------------------*/
7111typedef void (*WDI_SetUapsdAcParamsCb)(WDI_Status wdiStatus,
7112 void* pUserData);
7113
7114/*---------------------------------------------------------------------------
7115 WDI_EnterImpsRspCb
7116
7117 DESCRIPTION
7118
7119 This callback is invoked by DAL when it has received a Enter IMPS response
7120 from the underlying device.
7121
7122 PARAMETERS
7123
7124 IN
7125 wdiStatus: response status received from HAL
7126 pUserData: user data
7127
7128
7129
7130 RETURN VALUE
7131 The result code associated with performing the operation
7132---------------------------------------------------------------------------*/
7133typedef void (*WDI_EnterImpsRspCb)(WDI_Status wdiStatus,
7134 void* pUserData);
7135
7136/*---------------------------------------------------------------------------
7137 WDI_ExitImpsRspCb
7138
7139 DESCRIPTION
7140
7141 This callback is invoked by DAL when it has received a Exit IMPS response
7142 from the underlying device.
7143
7144 PARAMETERS
7145
7146 IN
7147 wdiStatus: response status received from HAL
7148 pUserData: user data
7149
7150
7151
7152 RETURN VALUE
7153 The result code associated with performing the operation
7154---------------------------------------------------------------------------*/
7155typedef void (*WDI_ExitImpsRspCb)(WDI_Status wdiStatus,
7156 void* pUserData);
7157
7158/*---------------------------------------------------------------------------
7159 WDI_EnterBmpsRspCb
7160
7161 DESCRIPTION
7162
7163 This callback is invoked by DAL when it has received a enter BMPS response
7164 from the underlying device.
7165
7166 PARAMETERS
7167
7168 IN
7169 wdiStatus: response status received from HAL
7170 pUserData: user data
7171
7172
7173
7174 RETURN VALUE
7175 The result code associated with performing the operation
7176---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007177typedef void (*WDI_EnterBmpsRspCb)(WDI_EnterBmpsRspParamsType *pwdiEnterBmpsRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007178 void* pUserData);
7179
7180/*---------------------------------------------------------------------------
7181 WDI_ExitBmpsRspCb
7182
7183 DESCRIPTION
7184
7185 This callback is invoked by DAL when it has received a exit BMPS response
7186 from the underlying device.
7187
7188 PARAMETERS
7189
7190 IN
7191 wdiStatus: response status received from HAL
7192 pUserData: user data
7193
7194
7195
7196 RETURN VALUE
7197 The result code associated with performing the operation
7198---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007199typedef void (*WDI_ExitBmpsRspCb)( WDI_ExitBmpsRspParamsType *pwdiExitBmpsRspParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007200 void* pUserData);
7201
7202/*---------------------------------------------------------------------------
7203 WDI_EnterUapsdRspCb
7204
7205 DESCRIPTION
7206
7207 This callback is invoked by DAL when it has received a enter UAPSD response
7208 from the underlying device.
7209
7210 PARAMETERS
7211
7212 IN
7213 wdiStatus: response status received from HAL
7214 pUserData: user data
7215
7216
7217
7218 RETURN VALUE
7219 The result code associated with performing the operation
7220---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007221typedef void (*WDI_EnterUapsdRspCb)( WDI_EnterUapsdRspParamsType *pwdiEnterUapsdRspParam,
Jeff Johnson295189b2012-06-20 16:38:30 -07007222 void* pUserData);
7223
7224/*---------------------------------------------------------------------------
7225 WDI_ExitUapsdRspCb
7226
7227 DESCRIPTION
7228
7229 This callback is invoked by DAL when it has received a exit UAPSD response
7230 from the underlying device.
7231
7232 PARAMETERS
7233
7234 IN
7235 wdiStatus: response status received from HAL
7236 pUserData: user data
7237
7238
7239
7240 RETURN VALUE
7241 The result code associated with performing the operation
7242---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007243typedef void (*WDI_ExitUapsdRspCb)(WDI_ExitUapsdRspParamsType *pwidExitUapsdRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007244 void* pUserData);
7245
7246/*---------------------------------------------------------------------------
7247 WDI_UpdateUapsdParamsCb
7248
7249 DESCRIPTION
7250
7251 This callback is invoked by DAL when it has received a update UAPSD params
7252 response from the underlying device.
7253
7254 PARAMETERS
7255
7256 IN
7257 wdiStatus: response status received from HAL
7258 pUserData: user data
7259
7260
7261
7262 RETURN VALUE
7263 The result code associated with performing the operation
7264---------------------------------------------------------------------------*/
7265typedef void (*WDI_UpdateUapsdParamsCb)(WDI_Status wdiStatus,
7266 void* pUserData);
7267
7268/*---------------------------------------------------------------------------
7269 WDI_ConfigureRxpFilterCb
7270
7271 DESCRIPTION
7272
7273 This callback is invoked by DAL when it has received a config RXP filter
7274 response from the underlying device.
7275
7276 PARAMETERS
7277
7278 IN
7279 wdiStatus: response status received from HAL
7280 pUserData: user data
7281
7282
7283
7284 RETURN VALUE
7285 The result code associated with performing the operation
7286---------------------------------------------------------------------------*/
7287typedef void (*WDI_ConfigureRxpFilterCb)(WDI_Status wdiStatus,
7288 void* pUserData);
7289
7290/*---------------------------------------------------------------------------
7291 WDI_SetBeaconFilterCb
7292
7293 DESCRIPTION
7294
7295 This callback is invoked by DAL when it has received a set beacon filter
7296 response from the underlying device.
7297
7298 PARAMETERS
7299
7300 IN
7301 wdiStatus: response status received from HAL
7302 pUserData: user data
7303
7304
7305
7306 RETURN VALUE
7307 The result code associated with performing the operation
7308---------------------------------------------------------------------------*/
7309typedef void (*WDI_SetBeaconFilterCb)(WDI_Status wdiStatus,
7310 void* pUserData);
7311
7312/*---------------------------------------------------------------------------
7313 WDI_RemBeaconFilterCb
7314
7315 DESCRIPTION
7316
7317 This callback is invoked by DAL when it has received a remove beacon filter
7318 response from the underlying device.
7319
7320 PARAMETERS
7321
7322 IN
7323 wdiStatus: response status received from HAL
7324 pUserData: user data
7325
7326
7327
7328 RETURN VALUE
7329 The result code associated with performing the operation
7330---------------------------------------------------------------------------*/
7331typedef void (*WDI_RemBeaconFilterCb)(WDI_Status wdiStatus,
7332 void* pUserData);
7333
7334/*---------------------------------------------------------------------------
7335 WDI_SetRSSIThresholdsCb
7336
7337 DESCRIPTION
7338
7339 This callback is invoked by DAL when it has received a set RSSI thresholds
7340 response from the underlying device.
7341
7342 PARAMETERS
7343
7344 IN
7345 wdiStatus: response status received from HAL
7346 pUserData: user data
7347
7348
7349
7350 RETURN VALUE
7351 The result code associated with performing the operation
7352---------------------------------------------------------------------------*/
7353typedef void (*WDI_SetRSSIThresholdsCb)(WDI_Status wdiStatus,
7354 void* pUserData);
7355
7356/*---------------------------------------------------------------------------
7357 WDI_HostOffloadCb
7358
7359 DESCRIPTION
7360
7361 This callback is invoked by DAL when it has received a host offload
7362 response from the underlying device.
7363
7364 PARAMETERS
7365
7366 IN
7367 wdiStatus: response status received from HAL
7368 pUserData: user data
7369
7370
7371
7372 RETURN VALUE
7373 The result code associated with performing the operation
7374---------------------------------------------------------------------------*/
7375typedef void (*WDI_HostOffloadCb)(WDI_Status wdiStatus,
7376 void* pUserData);
7377
7378/*---------------------------------------------------------------------------
7379 WDI_KeepAliveCb
7380
7381 DESCRIPTION
7382
7383 This callback is invoked by DAL when it has received a Keep Alive
7384 response from the underlying device.
7385
7386 PARAMETERS
7387
7388 IN
7389 wdiStatus: response status received from HAL
7390 pUserData: user data
7391
7392
7393
7394 RETURN VALUE
7395 The result code associated with performing the operation
7396---------------------------------------------------------------------------*/
7397typedef void (*WDI_KeepAliveCb)(WDI_Status wdiStatus,
7398 void* pUserData);
7399
7400/*---------------------------------------------------------------------------
7401 WDI_WowlAddBcPtrnCb
7402
7403 DESCRIPTION
7404
7405 This callback is invoked by DAL when it has received a Wowl add Bcast ptrn
7406 response from the underlying device.
7407
7408 PARAMETERS
7409
7410 IN
7411 wdiStatus: response status received from HAL
7412 pUserData: user data
7413
7414
7415
7416 RETURN VALUE
7417 The result code associated with performing the operation
7418---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007419typedef void (*WDI_WowlAddBcPtrnCb)( WDI_WowlAddBcPtrnRspParamsType *pwdiWowlAddBcPtrnParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007420 void* pUserData);
7421
7422/*---------------------------------------------------------------------------
7423 WDI_WowlDelBcPtrnCb
7424
7425 DESCRIPTION
7426
7427 This callback is invoked by DAL when it has received a Wowl delete Bcast ptrn
7428 response from the underlying device.
7429
7430 PARAMETERS
7431
7432 IN
7433 wdiStatus: response status received from HAL
7434 pUserData: user data
7435
7436
7437
7438 RETURN VALUE
7439 The result code associated with performing the operation
7440---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007441typedef void (*WDI_WowlDelBcPtrnCb)( WDI_WowlDelBcPtrnRspParamsType *pwdiWowlDelBcstPtrRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007442 void* pUserData);
7443
7444/*---------------------------------------------------------------------------
7445 WDI_WowlEnterReqCb
7446
7447 DESCRIPTION
7448
7449 This callback is invoked by DAL when it has received a Wowl enter
7450 response from the underlying device.
7451
7452 PARAMETERS
7453
7454 IN
7455 wdiStatus: response status received from HAL
7456 pUserData: user data
7457
7458
7459
7460 RETURN VALUE
7461 The result code associated with performing the operation
7462---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007463typedef void (*WDI_WowlEnterReqCb)( WDI_WowlEnterRspParamsType *pwdiwowlEnterRsp,
7464 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007465
7466/*---------------------------------------------------------------------------
7467 WDI_WowlExitReqCb
7468
7469 DESCRIPTION
7470
7471 This callback is invoked by DAL when it has received a Wowl exit
7472 response from the underlying device.
7473
7474 PARAMETERS
7475
7476 IN
7477 wdiStatus: response status received from HAL
7478 pUserData: user data
7479
7480
7481
7482 RETURN VALUE
7483 The result code associated with performing the operation
7484---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007485typedef void (*WDI_WowlExitReqCb)( WDI_WowlExitRspParamsType *pwdiWowlExitRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007486 void* pUserData);
7487
7488/*---------------------------------------------------------------------------
7489 WDI_ConfigureAppsCpuWakeupStateCb
7490
7491 DESCRIPTION
7492
7493 This callback is invoked by DAL when it has received a config Apps Cpu Wakeup
7494 State response from the underlying device.
7495
7496 PARAMETERS
7497
7498 IN
7499 wdiStatus: response status received from HAL
7500 pUserData: user data
7501
7502
7503
7504 RETURN VALUE
7505 The result code associated with performing the operation
7506---------------------------------------------------------------------------*/
7507typedef void (*WDI_ConfigureAppsCpuWakeupStateCb)(WDI_Status wdiStatus,
7508 void* pUserData);
7509/*---------------------------------------------------------------------------
7510 WDI_NvDownloadRspCb
7511
7512 DESCRIPTION
7513
7514 This callback is invoked by DAL when it has received a NV Download response
7515 from the underlying device.
7516
7517 PARAMETERS
7518
7519 IN
7520 wdiStatus:response status received from HAL
7521 pUserData:user data
7522
7523 RETURN VALUE
7524 The result code associated with performing the operation
7525---------------------------------------------------------------------------*/
7526typedef void (*WDI_NvDownloadRspCb)(WDI_NvDownloadRspInfoType* wdiNvDownloadRsp,
7527 void* pUserData);
7528/*---------------------------------------------------------------------------
7529 WDI_FlushAcRspCb
7530
7531 DESCRIPTION
7532
7533 This callback is invoked by DAL when it has received a Flush AC response from
7534 the underlying device.
7535
7536 PARAMETERS
7537
7538 IN
7539 wdiStatus: response status received from HAL
7540 pUserData: user data
7541
7542
7543
7544 RETURN VALUE
7545 The result code associated with performing the operation
7546---------------------------------------------------------------------------*/
7547typedef void (*WDI_FlushAcRspCb)(WDI_Status wdiStatus,
7548 void* pUserData);
7549
7550/*---------------------------------------------------------------------------
7551 WDI_BtAmpEventRspCb
7552
7553 DESCRIPTION
7554
7555 This callback is invoked by DAL when it has received a Bt AMP event 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
7565
7566 RETURN VALUE
7567 The result code associated with performing the operation
7568---------------------------------------------------------------------------*/
7569typedef void (*WDI_BtAmpEventRspCb)(WDI_Status wdiStatus,
7570 void* pUserData);
7571
Jeff Johnsone7245742012-09-05 17:12:55 -07007572#ifdef FEATURE_OEM_DATA_SUPPORT
7573/*---------------------------------------------------------------------------
7574 WDI_oemDataRspCb
7575
7576 DESCRIPTION
7577
7578 This callback is invoked by DAL when it has received a Start oem data response from
7579 the underlying device.
7580
7581 PARAMETERS
7582
7583 IN
7584 wdiStatus: response status received from HAL
7585 pUserData: user data
7586
7587
7588
7589 RETURN VALUE
7590 The result code associated with performing the operation
7591---------------------------------------------------------------------------*/
7592typedef void (*WDI_oemDataRspCb)(WDI_oemDataRspParamsType* wdiOemDataRspParams,
7593 void* pUserData);
7594
7595#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07007596
7597/*---------------------------------------------------------------------------
7598 WDI_HostResumeEventRspCb
7599
7600 DESCRIPTION
7601
7602 This callback is invoked by DAL when it has received a Bt AMP event response
7603 from the underlying device.
7604
7605 PARAMETERS
7606
7607 IN
7608 wdiStatus: response status received from HAL
7609 pUserData: user data
7610
7611
7612
7613 RETURN VALUE
7614 The result code associated with performing the operation
7615---------------------------------------------------------------------------*/
7616typedef void (*WDI_HostResumeEventRspCb)(
7617 WDI_SuspendResumeRspParamsType *resumeRspParams,
7618 void* pUserData);
7619
7620
7621#ifdef WLAN_FEATURE_VOWIFI_11R
7622/*---------------------------------------------------------------------------
7623 WDI_AggrAddTsRspCb
7624
7625 DESCRIPTION
7626
7627 This callback is invoked by DAL when it has received a Aggregated Add TS
7628 response from the underlying device.
7629
7630 PARAMETERS
7631
7632 IN
7633 wdiStatus: response status received from HAL
7634 pUserData: user data
7635
7636
7637
7638 RETURN VALUE
7639 The result code associated with performing the operation
7640---------------------------------------------------------------------------*/
7641typedef void (*WDI_AggrAddTsRspCb)(WDI_Status wdiStatus,
7642 void* pUserData);
7643#endif /* WLAN_FEATURE_VOWIFI_11R */
7644
Jeff Johnson295189b2012-06-20 16:38:30 -07007645/*---------------------------------------------------------------------------
7646 WDI_FTMCommandRspCb
7647
7648 DESCRIPTION
7649
7650 FTM Command response CB
7651
7652 PARAMETERS
7653
7654 IN
7655 ftmCMDRspdata: FTM response data from HAL
7656 pUserData: user data
7657
7658
7659 RETURN VALUE
7660 NONE
7661---------------------------------------------------------------------------*/
7662typedef void (*WDI_FTMCommandRspCb)(void *ftmCMDRspdata,
7663 void *pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007664
7665/*---------------------------------------------------------------------------
7666 WDI_AddSTASelfParamsRspCb
7667
7668 DESCRIPTION
7669
7670 This callback is invoked by DAL when it has received a Add Sta Self Params
7671 response from the underlying device.
7672
7673 PARAMETERS
7674
7675 IN
7676 wdiAddSelfSTARsp: response status received from HAL
7677 pUserData: user data
7678
7679
7680
7681 RETURN VALUE
7682 The result code associated with performing the operation
7683---------------------------------------------------------------------------*/
7684typedef void (*WDI_AddSTASelfParamsRspCb)(
7685 WDI_AddSTASelfRspParamsType* pwdiAddSelfSTARsp,
7686 void* pUserData);
7687
7688
7689/*---------------------------------------------------------------------------
7690 WDI_DelSTASelfRspCb
7691
7692 DESCRIPTION
7693
7694 This callback is invoked by DAL when it has received a host offload
7695 response from the underlying device.
7696
7697 PARAMETERS
7698
7699 IN
7700 wdiStatus: response status received from HAL
7701 pUserData: user data
7702
7703
7704
7705 RETURN VALUE
7706 The result code associated with performing the operation
7707---------------------------------------------------------------------------*/
7708typedef void (*WDI_DelSTASelfRspCb)
7709(
7710WDI_DelSTASelfRspParamsType* wdiDelStaSelfRspParams,
7711void* pUserData
7712);
7713
7714#ifdef FEATURE_WLAN_SCAN_PNO
7715/*---------------------------------------------------------------------------
7716 WDI_PNOScanCb
7717
7718 DESCRIPTION
7719
7720 This callback is invoked by DAL when it has received a Set PNO
7721 response from the underlying device.
7722
7723 PARAMETERS
7724
7725 IN
7726 wdiStatus: response status received from HAL
7727 pUserData: user data
7728
7729
7730
7731 RETURN VALUE
7732 The result code associated with performing the operation
7733---------------------------------------------------------------------------*/
7734typedef void (*WDI_PNOScanCb)(WDI_Status wdiStatus,
7735 void* pUserData);
7736
7737/*---------------------------------------------------------------------------
7738 WDI_PNOScanCb
7739
7740 DESCRIPTION
7741
7742 This callback is invoked by DAL when it has received a Set PNO
7743 response from the underlying device.
7744
7745 PARAMETERS
7746
7747 IN
7748 wdiStatus: response status received from HAL
7749 pUserData: user data
7750
7751
7752
7753 RETURN VALUE
7754 The result code associated with performing the operation
7755---------------------------------------------------------------------------*/
7756typedef void (*WDI_RssiFilterCb)(WDI_Status wdiStatus,
7757 void* pUserData);
7758
7759/*---------------------------------------------------------------------------
7760 WDI_UpdateScanParamsCb
7761
7762 DESCRIPTION
7763
7764 This callback is invoked by DAL when it has received a Update Scan Params
7765 response from the underlying device.
7766
7767 PARAMETERS
7768
7769 IN
7770 wdiStatus: response status received from HAL
7771 pUserData: user data
7772
7773
7774
7775 RETURN VALUE
7776 The result code associated with performing the operation
7777---------------------------------------------------------------------------*/
7778typedef void (*WDI_UpdateScanParamsCb)(WDI_Status wdiStatus,
7779 void* pUserData);
7780#endif // FEATURE_WLAN_SCAN_PNO
7781
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08007782typedef void (*WDI_UpdateChannelRspCb)(WDI_Status wdiStatus,
7783 void* pUserData);
7784
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07007785#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
7786/*---------------------------------------------------------------------------
7787 WDI_RoamOffloadScanCb
7788
7789 DESCRIPTION
7790
7791 This callback is invoked by DAL when it has received a Start Roam Candidate Lookup Req
7792 response from the underlying device.
7793
7794 PARAMETERS
7795
7796 IN
7797 wdiStatus: response status received from HAL
7798 pUserData: user data
7799
7800
7801
7802 RETURN VALUE
7803 The result code associated with performing the operation
7804---------------------------------------------------------------------------*/
7805typedef void (*WDI_RoamOffloadScanCb)(WDI_Status wdiStatus,
7806 void* pUserData);
7807
7808#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07007809/*---------------------------------------------------------------------------
7810 WDI_SetTxPerTrackingRspCb
7811
7812 DESCRIPTION
7813
7814 This callback is invoked by DAL when it has received a Tx PER Tracking
7815 response from the underlying device.
7816
7817 PARAMETERS
7818
7819 IN
7820 wdiStatus: response status received from HAL
7821 pUserData: user data
7822
7823
7824
7825 RETURN VALUE
7826 The result code associated with performing the operation
7827---------------------------------------------------------------------------*/
7828typedef void (*WDI_SetTxPerTrackingRspCb)(WDI_Status wdiStatus,
7829 void* pUserData);
7830
7831#ifdef WLAN_FEATURE_PACKET_FILTERING
7832/*---------------------------------------------------------------------------
7833 WDI_8023MulticastListCb
7834
7835 DESCRIPTION
7836
7837 This callback is invoked by DAL when it has received a 8023 Multicast List
7838 response from the underlying device.
7839
7840 PARAMETERS
7841
7842 IN
7843 wdiStatus: response status received from HAL
7844 pUserData: user data
7845
7846
7847
7848 RETURN VALUE
7849 The result code associated with performing the operation
7850---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007851typedef void (*WDI_8023MulticastListCb)(
7852 WDI_RcvFltPktSetMcListRspParamsType *pwdiRcvFltPktSetMcListRspInfo,
7853 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007854
7855/*---------------------------------------------------------------------------
7856 WDI_ReceiveFilterSetFilterCb
7857
7858 DESCRIPTION
7859
7860 This callback is invoked by DAL when it has received a Receive Filter Set Filter
7861 response from the underlying device.
7862
7863 PARAMETERS
7864
7865 IN
7866 wdiStatus: response status received from HAL
7867 pUserData: user data
7868
7869
7870
7871 RETURN VALUE
7872 The result code associated with performing the operation
7873---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007874typedef void (*WDI_ReceiveFilterSetFilterCb)(
7875 WDI_SetRcvPktFilterRspParamsType *pwdiSetRcvPktFilterRspInfo,
7876 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007877
7878/*---------------------------------------------------------------------------
7879 WDI_FilterMatchCountCb
7880
7881 DESCRIPTION
7882
7883 This callback is invoked by DAL when it has received a Do PC Filter Match Count
7884 response from the underlying device.
7885
7886 PARAMETERS
7887
7888 IN
7889 wdiStatus: response status received from HAL
7890 pUserData: user data
7891
7892
7893
7894 RETURN VALUE
7895 The result code associated with performing the operation
7896---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007897typedef void (*WDI_FilterMatchCountCb)(
7898 WDI_RcvFltPktMatchCntRspParamsType *pwdiRcvFltPktMatchRspParams,
7899 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007900
7901/*---------------------------------------------------------------------------
7902 WDI_ReceiveFilterClearFilterCb
7903
7904 DESCRIPTION
7905
7906 This callback is invoked by DAL when it has received a Receive Filter Clear Filter
7907 response from the underlying device.
7908
7909 PARAMETERS
7910
7911 IN
7912 wdiStatus: response status received from HAL
7913 pUserData: user data
7914
7915
7916
7917 RETURN VALUE
7918 The result code associated with performing the operation
7919---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007920typedef void (*WDI_ReceiveFilterClearFilterCb)(
7921 WDI_RcvFltPktClearRspParamsType *pwdiRcvFltPktClearRspParamsType,
7922 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007923#endif // WLAN_FEATURE_PACKET_FILTERING
7924
7925/*---------------------------------------------------------------------------
7926 WDI_HALDumpCmdRspCb
7927
7928 DESCRIPTION
7929
7930 This callback is invoked by DAL when it has received a HAL DUMP Command
7931response from
7932 the HAL layer.
7933
7934 PARAMETERS
7935
7936 IN
7937 wdiHalDumpCmdRsp: response status received from HAL
7938 pUserData: user data
7939
7940
7941
7942 RETURN VALUE
7943 The result code associated with performing the operation
7944---------------------------------------------------------------------------*/
7945typedef void (*WDI_HALDumpCmdRspCb)(WDI_HALDumpCmdRspParamsType* wdiHalDumpCmdRsp,
7946 void* pUserData);
7947
7948/*---------------------------------------------------------------------------
7949 WDI_SetPowerParamsCb
7950
7951 DESCRIPTION
7952
7953 This callback is invoked by DAL when it has received a Set Power Param
7954 response from the underlying device.
7955
7956 PARAMETERS
7957
7958 IN
7959 wdiStatus: response status received from HAL
7960 pUserData: user data
7961
7962
7963
7964 RETURN VALUE
7965 The result code associated with performing the operation
7966---------------------------------------------------------------------------*/
7967typedef void (*WDI_SetPowerParamsCb)(WDI_Status wdiStatus,
7968 void* pUserData);
7969
c_manjeecfd1efb2015-09-25 19:32:34 +05307970
7971/*---------------------------------------------------------------------------
7972 WDA_FwrMemDumpRespCallback
7973
7974 DESCRIPTION
7975
7976 This callback is invoked by DAL when it has received a Fwr Mem dump
7977 response from the underlying device.
7978
7979 PARAMETERS
7980
7981 IN
7982 wdiStatus: response status received from HAL
7983 pUserData: user data
7984 ---------------------------------------------------------------------------*/
7985typedef void (* WDI_FwrMemDumpCb) (WDI_FwrMemDumpRsp* wdiRsp,
7986 void* pUserData);
7987
7988
Jeff Johnson295189b2012-06-20 16:38:30 -07007989#ifdef WLAN_FEATURE_GTK_OFFLOAD
7990/*---------------------------------------------------------------------------
7991 WDI_GtkOffloadCb
7992
7993 DESCRIPTION
7994
7995 This callback is invoked by DAL when it has received a GTK offload
7996 response from the underlying device.
7997
7998 PARAMETERS
7999
8000 IN
8001 wdiStatus: response status received from HAL
8002 pUserData: user data
8003
8004
8005
8006 RETURN VALUE
8007 The result code associated with performing the operation
8008---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07008009typedef void (*WDI_GtkOffloadCb)( WDI_GtkOffloadRspParams *pwdiGtkOffloadRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07008010 void* pUserData);
8011
8012/*---------------------------------------------------------------------------
8013 WDI_GtkOffloadGetInfoCb
8014
8015 DESCRIPTION
8016
8017 This callback is invoked by DAL when it has received a GTK offload
8018 information response from the underlying device.
8019
8020 PARAMETERS
8021
8022 IN
8023 wdiStatus: response status received from HAL
8024 pUserData: user data
8025
8026
8027
8028 RETURN VALUE
8029 The result code associated with performing the operation
8030---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07008031typedef void (*WDI_GtkOffloadGetInfoCb)( WDI_GtkOffloadGetInfoRspParams *pwdiGtkOffloadGetInfoRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07008032 void* pUserData);
8033#endif // WLAN_FEATURE_GTK_OFFLOAD
8034
8035/*---------------------------------------------------------------------------
8036 WDI_SetTmLevelCb
8037
8038 DESCRIPTION
8039
8040 This callback is invoked by DAL when it has received a Set New TM Level
8041 done response from the underlying device.
8042
8043 PARAMETERS
8044
8045 IN
8046 wdiStatus: response status received from HAL
8047 pUserData: user data
8048
8049
8050
8051 RETURN VALUE
8052 The result code associated with performing the operation
8053---------------------------------------------------------------------------*/
8054typedef void (*WDI_SetTmLevelCb)(WDI_Status wdiStatus,
8055 void* pUserData);
8056
8057/*---------------------------------------------------------------------------
8058 WDI_featureCapsExchangeCb
8059
8060 DESCRIPTION
8061
8062 This callback is invoked by DAL when it has received a HAL Feature Capbility
8063 Exchange Response the HAL layer. This callback is put to mantain code
8064 similarity and is not being used right now.
8065
8066 PARAMETERS
8067
8068 IN
8069 wdiFeatCapRspParams: response parameters received from HAL
8070 pUserData: user data
8071
8072 RETURN VALUE
8073 The result code associated with performing the operation
8074---------------------------------------------------------------------------*/
8075typedef void (*WDI_featureCapsExchangeCb)(void* wdiFeatCapRspParams,
8076 void* pUserData);
8077
Mohit Khanna4a70d262012-09-11 16:30:12 -07008078#ifdef WLAN_FEATURE_11AC
8079typedef void (*WDI_UpdateVHTOpModeCb)(WDI_Status wdiStatus,
8080 void* pUserData);
8081#endif
8082
Leo Chang9056f462013-08-01 19:21:11 -07008083#ifdef FEATURE_WLAN_LPHB
8084typedef void (*WDI_LphbCfgCb)(WDI_Status wdiStatus,
8085 void* pUserData);
8086#endif /* FEATURE_WLAN_LPHB */
Mohit Khanna4a70d262012-09-11 16:30:12 -07008087
Rajeev79dbe4c2013-10-05 11:03:42 +05308088#ifdef FEATURE_WLAN_BATCH_SCAN
8089/*---------------------------------------------------------------------------
8090 WDI_SetBatchScanCb
8091
8092 DESCRIPTION
8093
8094 This callback is invoked by DAL when it has received a get batch scan
8095 response from the underlying device.
8096
8097 PARAMETERS
8098
8099 IN
8100 wdiStatus: response status received from HAL
8101 pUserData: user data
8102
8103
8104
8105 RETURN VALUE
8106 The result code associated with performing the operation
8107---------------------------------------------------------------------------*/
8108typedef void (*WDI_SetBatchScanCb)(void *pData, WDI_SetBatchScanRspType *pRsp);
8109
8110#endif
8111
c_hpothu92367912014-05-01 15:18:17 +05308112typedef void (*WDI_GetBcnMissRateCb)(wpt_uint8 status, wpt_uint32 bcnMissRate,
8113 void* pUserData);
Rajeev79dbe4c2013-10-05 11:03:42 +05308114
Dino Mycle41bdc942014-06-10 11:30:24 +05308115#ifdef WLAN_FEATURE_EXTSCAN
8116typedef void (*WDI_EXTScanStartRspCb)(void *pEventData,
8117 void *pUserData);
8118typedef void (*WDI_EXTScanStopRspCb)(void *pEventData,
8119 void *pUserData);
8120typedef void (*WDI_EXTScanGetCachedResultsRspCb)(void *pEventData,
8121 void *pUserData);
8122typedef void (*WDI_EXTScanGetCapabilitiesRspCb)(void *pEventData,
8123 void *pUserData);
8124typedef void (*WDI_EXTScanSetBSSIDHotlistRspCb)(void *pEventData,
8125 void *pUserData);
8126typedef void (*WDI_EXTScanResetBSSIDHotlistRspCb)(void *pEventData,
8127 void *pUserData);
Padma, Santhosh Kumar9acee012015-08-21 19:58:01 +05308128typedef void (*WDI_EXTScanSetSSIDHotlistRspCb)(void *pEventData,
8129 void *pUserData);
8130typedef void (*WDI_EXTScanResetSSIDHotlistRspCb)(void *pEventData,
8131 void *pUserData);
Dino Mycle41bdc942014-06-10 11:30:24 +05308132#endif /* WLAN_FEATURE_EXTSCAN */
Sunil Duttbd736ed2014-05-26 21:19:41 +05308133
8134#ifdef WLAN_FEATURE_LINK_LAYER_STATS
8135typedef void (*WDI_LLStatsSetRspCb)(void *pEventData,
8136 void *pUserData);
8137typedef void (*WDI_LLStatsGetRspCb)(void *pEventData,
8138 void *pUserData);
8139typedef void (*WDI_LLStatsClearRspCb)(void *pEventData,
8140 void *pUserData);
8141#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
Siddharth Bhal171788a2014-09-29 21:02:40 +05308142
8143typedef void (*WDI_SetSpoofMacAddrRspCb)(
8144 WDI_SpoofMacAddrRspParamType* wdiRsp, void *pUserData);
Srinivas Dasari4dae48f2014-11-26 21:14:16 +05308145
Abhishek Singh85b74712014-10-08 11:38:19 +05308146typedef void (*WDI_FWStatsGetRspCb)(WDI_Status status,void *fwStatsResp,
8147 void *pUserData);
Srinivas Dasari4dae48f2014-11-26 21:14:16 +05308148
8149typedef void (*WDI_EncryptMsgRspCb)(wpt_uint8 status, void *pEventData, void* pUserData);
Siddharth Bhald1be97f2015-05-27 22:39:59 +05308150typedef void (*WDI_FWLoggingInitRspCb)(
8151 WDI_FWLoggingInitRspParamType *wdiRsp, void *pUserData);
Siddharth Bhal64246172015-02-27 01:04:37 +05308152typedef void (*WDI_GetFrameLogRspCb)(
8153 WDI_GetFrameLogRspParamType *wdiRsp, void *pUserData);
Sachin Ahuja715aafc2015-07-21 23:35:10 +05308154typedef void (*WDI_FatalEventLogsRspCb)(
8155 WDI_FatalEventLogsRspParamType *wdiRsp, void *pUserData);
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05308156
Hanumantha Reddy Pothula91cdd7f2015-09-03 21:25:16 +05308157typedef void (*WDI_MonModeRspCb)(void *pEventData,void *pUserData);
Gupta, Kapil7c34b322015-09-30 13:12:35 +05308158typedef void (*WDI_RssiMonitorStartRspCb)(void *pEventData,void *pUserData);
8159typedef void (*WDI_RssiMonitorStopRspCb)(void *pEventData,void *pUserData);
Katya Nigamf0511f62015-05-05 16:40:57 +05308160
c_manjeecfd1efb2015-09-25 19:32:34 +05308161typedef void (*WDI_FwrMemDumpRspCb)(WDI_FwrMemDumpRsp *wdiRsp, void *pUserData);
8162
Arun Khandavalli7eeb1592015-10-19 21:36:57 +05308163typedef void (*WDI_WifiConfigSetRspCb) (WDI_WifconfigSetRsp *wdiRsp, void *pUserData);
c_manjeecfd1efb2015-09-25 19:32:34 +05308164
Jeff Johnson295189b2012-06-20 16:38:30 -07008165/*========================================================================
8166 * Function Declarations and Documentation
8167 ==========================================================================*/
8168
8169/*========================================================================
8170
8171 INITIALIZATION APIs
8172
8173==========================================================================*/
8174
8175/**
8176 @brief WDI_Init is used to initialize the DAL.
8177
8178 DAL will allocate all the resources it needs. It will open PAL, it will also
8179 open both the data and the control transport which in their turn will open
8180 DXE/SMD or any other drivers that they need.
8181
Arun Kumar Khandavalliebb19482014-03-25 13:56:53 +05308182 @param devHandle: pointer to the OS specific device handle
Jeff Johnson295189b2012-06-20 16:38:30 -07008183 ppWDIGlobalCtx: output pointer of Global Context
8184 pWdiDevCapability: output pointer of device capability
8185
8186 @return Result of the function call
8187*/
8188WDI_Status
8189WDI_Init
8190(
Arun Kumar Khandavalliebb19482014-03-25 13:56:53 +05308191 void* devHandle,
Jeff Johnson295189b2012-06-20 16:38:30 -07008192 void** ppWDIGlobalCtx,
8193 WDI_DeviceCapabilityType* pWdiDevCapability,
8194 unsigned int driverType
8195);
8196
8197/**
8198 @brief WDI_Start will be called when the upper MAC is ready to
8199 commence operation with the WLAN Device. Upon the call
8200 of this API the WLAN DAL will pack and send a HAL Start
8201 message to the lower RIVA sub-system if the SMD channel
8202 has been fully opened and the RIVA subsystem is up.
8203
8204 If the RIVA sub-system is not yet up and running DAL
8205 will queue the request for Open and will wait for the
8206 SMD notification before attempting to send down the
8207 message to HAL.
8208
8209 WDI_Init must have been called.
8210
8211 @param wdiStartParams: the start parameters as specified by
8212 the Device Interface
8213
8214 wdiStartRspCb: callback for passing back the response of
8215 the start operation received from the device
8216
8217 pUserData: user data will be passed back with the
8218 callback
8219
8220 @see WDI_Start
8221 @return Result of the function call
8222*/
8223WDI_Status
8224WDI_Start
8225(
8226 WDI_StartReqParamsType* pwdiStartParams,
8227 WDI_StartRspCb wdiStartRspCb,
8228 void* pUserData
8229);
8230
8231
8232/**
8233 @brief WDI_Stop will be called when the upper MAC is ready to
8234 stop any operation with the WLAN Device. Upon the call
8235 of this API the WLAN DAL will pack and send a HAL Stop
8236 message to the lower RIVA sub-system if the DAL Core is
8237 in started state.
8238
8239 In state BUSY this request will be queued.
8240
8241 Request will not be accepted in any other state.
8242
8243 WDI_Start must have been called.
8244
8245 @param wdiStopParams: the stop parameters as specified by
8246 the Device Interface
8247
8248 wdiStopRspCb: callback for passing back the response of
8249 the stop operation received from the device
8250
8251 pUserData: user data will be passed back with the
8252 callback
8253
8254 @see WDI_Start
8255 @return Result of the function call
8256*/
8257WDI_Status
8258WDI_Stop
8259(
8260 WDI_StopReqParamsType* pwdiStopParams,
8261 WDI_StopRspCb wdiStopRspCb,
8262 void* pUserData
8263);
8264
8265/**
8266 @brief WDI_Close will be called when the upper MAC no longer
8267 needs to interract with DAL. DAL will free its control
8268 block.
8269
8270 It is only accepted in state STOPPED.
8271
8272 WDI_Stop must have been called.
8273
8274 @param none
8275
8276 @see WDI_Stop
8277 @return Result of the function call
8278*/
8279WDI_Status
8280WDI_Close
8281(
8282 void
8283);
8284
8285
8286/**
8287 @brief WDI_Shutdown will be called during 'SSR shutdown' operation.
8288 This will do most of the WDI stop & close
8289 operations without doing any handshake with Riva
8290
8291 This will also make sure that the control transport
8292 will NOT be closed.
8293
8294 This request will not be queued.
8295
8296
8297 WDI_Start must have been called.
8298
8299 @param closeTransport: Close control channel if this is set
8300
8301 @return Result of the function call
8302*/
8303WDI_Status
8304WDI_Shutdown
8305(
8306 wpt_boolean closeTransport
8307);
8308
8309/*========================================================================
8310
8311 SCAN APIs
8312
8313==========================================================================*/
8314
8315/**
8316 @brief WDI_InitScanReq will be called when the upper MAC wants
8317 the WLAN Device to get ready for a scan procedure. Upon
8318 the call of this API the WLAN DAL will pack and send a
8319 HAL Init Scan request message to the lower RIVA
8320 sub-system if DAL is in state STARTED.
8321
8322 In state BUSY this request will be queued. Request won't
8323 be allowed in any other state.
8324
8325 WDI_Start must have been called.
8326
8327 @param wdiInitScanParams: the init scan parameters as specified
8328 by the Device Interface
8329
8330 wdiInitScanRspCb: callback for passing back the response
8331 of the init scan operation received from the device
8332
8333 pUserData: user data will be passed back with the
8334 callback
8335
8336 @see WDI_Start
8337 @return Result of the function call
8338*/
8339WDI_Status
8340WDI_InitScanReq
8341(
8342 WDI_InitScanReqParamsType* pwdiInitScanParams,
8343 WDI_InitScanRspCb wdiInitScanRspCb,
8344 void* pUserData
8345);
8346
8347/**
8348 @brief WDI_StartScanReq will be called when the upper MAC
8349 wishes to change the Scan channel on the WLAN Device.
8350 Upon the call of this API the WLAN DAL will pack and
8351 send a HAL Start Scan request message to the lower RIVA
8352 sub-system if DAL is in state STARTED.
8353
8354 In state BUSY this request will be queued. Request won't
8355 be allowed in any other state.
8356
8357 WDI_InitScanReq must have been called.
8358
8359 @param wdiStartScanParams: the start scan parameters as
8360 specified by the Device Interface
8361
8362 wdiStartScanRspCb: callback for passing back the
8363 response of the start scan operation received from the
8364 device
8365
8366 pUserData: user data will be passed back with the
8367 callback
8368
8369 @see WDI_InitScanReq
8370 @return Result of the function call
8371*/
8372WDI_Status
8373WDI_StartScanReq
8374(
8375 WDI_StartScanReqParamsType* pwdiStartScanParams,
8376 WDI_StartScanRspCb wdiStartScanRspCb,
8377 void* pUserData
8378);
8379
8380
8381/**
8382 @brief WDI_EndScanReq will be called when the upper MAC is
8383 wants to end scanning for a particular channel that it
8384 had set before by calling Scan Start on the WLAN Device.
8385 Upon the call of this API the WLAN DAL will pack and
8386 send a HAL End Scan request message to the lower RIVA
8387 sub-system if DAL is in state STARTED.
8388
8389 In state BUSY this request will be queued. Request won't
8390 be allowed in any other state.
8391
8392 WDI_StartScanReq must have been called.
8393
8394 @param wdiEndScanParams: the end scan parameters as specified
8395 by the Device Interface
8396
8397 wdiEndScanRspCb: callback for passing back the response
8398 of the end scan operation received from the device
8399
8400 pUserData: user data will be passed back with the
8401 callback
8402
8403 @see WDI_StartScanReq
8404 @return Result of the function call
8405*/
8406WDI_Status
8407WDI_EndScanReq
8408(
8409 WDI_EndScanReqParamsType* pwdiEndScanParams,
8410 WDI_EndScanRspCb wdiEndScanRspCb,
8411 void* pUserData
8412);
8413
8414
8415/**
8416 @brief WDI_FinishScanReq will be called when the upper MAC has
8417 completed the scan process on the WLAN Device. Upon the
8418 call of this API the WLAN DAL will pack and send a HAL
8419 Finish Scan Request request message to the lower RIVA
8420 sub-system if DAL is in state STARTED.
8421
8422 In state BUSY this request will be queued. Request won't
8423 be allowed in any other state.
8424
8425 WDI_InitScanReq must have been called.
8426
8427 @param wdiFinishScanParams: the finish scan parameters as
8428 specified by the Device Interface
8429
8430 wdiFinishScanRspCb: callback for passing back the
8431 response of the finish scan operation received from the
8432 device
8433
8434 pUserData: user data will be passed back with the
8435 callback
8436
8437 @see WDI_InitScanReq
8438 @return Result of the function call
8439*/
8440WDI_Status
8441WDI_FinishScanReq
8442(
8443 WDI_FinishScanReqParamsType* pwdiFinishScanParams,
8444 WDI_FinishScanRspCb wdiFinishScanRspCb,
8445 void* pUserData
8446);
8447
8448/*========================================================================
8449
8450 ASSOCIATION APIs
8451
8452==========================================================================*/
8453
8454/**
8455 @brief WDI_JoinReq will be called when the upper MAC is ready
8456 to start an association procedure to a BSS. Upon the
8457 call of this API the WLAN DAL will pack and send a HAL
8458 Join request message to the lower RIVA sub-system if
8459 DAL is in state STARTED.
8460
8461 In state BUSY this request will be queued. Request won't
8462 be allowed in any other state.
8463
8464 WDI_Start must have been called.
8465
8466 @param wdiJoinParams: the join parameters as specified by
8467 the Device Interface
8468
8469 wdiJoinRspCb: callback for passing back the response of
8470 the join operation received from the device
8471
8472 pUserData: user data will be passed back with the
8473 callback
8474
8475 @see WDI_Start
8476 @return Result of the function call
8477*/
8478WDI_Status
8479WDI_JoinReq
8480(
8481 WDI_JoinReqParamsType* pwdiJoinParams,
8482 WDI_JoinRspCb wdiJoinRspCb,
8483 void* pUserData
8484);
8485
8486/**
8487 @brief WDI_ConfigBSSReq will be called when the upper MAC
8488 wishes to configure the newly acquired or in process of
8489 being acquired BSS to the HW . Upon the call of this API
8490 the WLAN DAL will pack and send a HAL Config BSS request
8491 message to the lower RIVA sub-system if DAL is in state
8492 STARTED.
8493
8494 In state BUSY this request will be queued. Request won't
8495 be allowed in any other state.
8496
8497 WDI_JoinReq must have been called.
8498
8499 @param wdiConfigBSSParams: the config BSS parameters as
8500 specified by the Device Interface
8501
8502 wdiConfigBSSRspCb: callback for passing back the
8503 response of the config BSS operation received from the
8504 device
8505
8506 pUserData: user data will be passed back with the
8507 callback
8508
8509 @see WDI_JoinReq
8510 @return Result of the function call
8511*/
8512WDI_Status
8513WDI_ConfigBSSReq
8514(
8515 WDI_ConfigBSSReqParamsType* pwdiConfigBSSParams,
8516 WDI_ConfigBSSRspCb wdiConfigBSSRspCb,
8517 void* pUserData
8518);
8519
8520/**
8521 @brief WDI_DelBSSReq will be called when the upper MAC is
8522 dissasociating from the BSS and wishes to notify HW.
8523 Upon the call of this API the WLAN DAL will pack and
8524 send a HAL Del BSS request message to the lower RIVA
8525 sub-system if DAL is in state STARTED.
8526
8527 In state BUSY this request will be queued. Request won't
8528 be allowed in any other state.
8529
8530 WDI_ConfigBSSReq or WDI_PostAssocReq must have been called.
8531
8532 @param wdiDelBSSParams: the del BSS parameters as specified by
8533 the Device Interface
8534
8535 wdiDelBSSRspCb: callback for passing back the response
8536 of the del bss operation received from the device
8537
8538 pUserData: user data will be passed back with the
8539 callback
8540
8541 @see WDI_ConfigBSSReq, WDI_PostAssocReq
8542 @return Result of the function call
8543*/
8544WDI_Status
8545WDI_DelBSSReq
8546(
8547 WDI_DelBSSReqParamsType* pwdiDelBSSParams,
8548 WDI_DelBSSRspCb wdiDelBSSRspCb,
8549 void* pUserData
8550);
8551
8552/**
8553 @brief WDI_PostAssocReq will be called when the upper MAC has
8554 associated to a BSS and wishes to configure HW for
8555 associated state. Upon the call of this API the WLAN DAL
8556 will pack and send a HAL Post Assoc request message to
8557 the lower RIVA sub-system if DAL is in state STARTED.
8558
8559 In state BUSY this request will be queued. Request won't
8560 be allowed in any other state.
8561
8562 WDI_JoinReq must have been called.
8563
8564 @param wdiPostAssocReqParams: the assoc parameters as specified
8565 by the Device Interface
8566
8567 wdiPostAssocRspCb: callback for passing back the
8568 response of the post assoc operation received from the
8569 device
8570
8571 pUserData: user data will be passed back with the
8572 callback
8573
8574 @see WDI_JoinReq
8575 @return Result of the function call
8576*/
8577WDI_Status
8578WDI_PostAssocReq
8579(
8580 WDI_PostAssocReqParamsType* pwdiPostAssocReqParams,
8581 WDI_PostAssocRspCb wdiPostAssocRspCb,
8582 void* pUserData
8583);
8584
8585/**
8586 @brief WDI_DelSTAReq will be called when the upper MAC when an
8587 association with another STA has ended and the station
8588 must be deleted from HW. Upon the call of this API the
8589 WLAN DAL will pack and send a HAL Del STA request
8590 message to the lower RIVA sub-system if DAL is in state
8591 STARTED.
8592
8593 In state BUSY this request will be queued. Request won't
8594 be allowed in any other state.
8595
8596 WDI_PostAssocReq must have been called.
8597
8598 @param wdiDelSTAParams: the Del STA parameters as specified by
8599 the Device Interface
8600
8601 wdiDelSTARspCb: callback for passing back the response
8602 of the del STA operation received from the device
8603
8604 pUserData: user data will be passed back with the
8605 callback
8606
8607 @see WDI_PostAssocReq
8608 @return Result of the function call
8609*/
8610WDI_Status
8611WDI_DelSTAReq
8612(
8613 WDI_DelSTAReqParamsType* pwdiDelSTAParams,
8614 WDI_DelSTARspCb wdiDelSTARspCb,
8615 void* pUserData
8616);
8617
8618/*========================================================================
8619
8620 SECURITY APIs
8621
8622==========================================================================*/
8623
8624/**
8625 @brief WDI_SetBSSKeyReq will be called when the upper MAC ito
8626 install a BSS encryption key on the HW. Upon the call of
8627 this API the WLAN DAL will pack and send a HAL Start
8628 request message to the lower RIVA sub-system if DAL is
8629 in state STARTED.
8630
8631 In state BUSY this request will be queued. Request won't
8632 be allowed in any other state.
8633
8634 WDI_PostAssocReq must have been called.
8635
8636 @param wdiSetBSSKeyParams: the BSS Key set parameters as
8637 specified by the Device Interface
8638
8639 wdiSetBSSKeyRspCb: callback for passing back the
8640 response of the set BSS Key operation received from the
8641 device
8642
8643 pUserData: user data will be passed back with the
8644 callback
8645
8646 @see WDI_PostAssocReq
8647 @return Result of the function call
8648*/
8649WDI_Status
8650WDI_SetBSSKeyReq
8651(
8652 WDI_SetBSSKeyReqParamsType* pwdiSetBSSKeyParams,
8653 WDI_SetBSSKeyRspCb wdiSetBSSKeyRspCb,
8654 void* pUserData
8655);
8656
8657
8658/**
8659 @brief WDI_RemoveBSSKeyReq will be called when the upper MAC to
8660 uninstall a BSS key from HW. Upon the call of this API
8661 the WLAN DAL will pack and send a HAL Remove BSS Key
8662 request message to the lower RIVA sub-system if DAL is
8663 in state STARTED.
8664
8665 In state BUSY this request will be queued. Request won't
8666 be allowed in any other state.
8667
8668 WDI_SetBSSKeyReq must have been called.
8669
8670 @param wdiRemoveBSSKeyParams: the remove BSS key parameters as
8671 specified by the Device Interface
8672
8673 wdiRemoveBSSKeyRspCb: callback for passing back the
8674 response of the remove BSS key operation received from
8675 the device
8676
8677 pUserData: user data will be passed back with the
8678 callback
8679
8680 @see WDI_SetBSSKeyReq
8681 @return Result of the function call
8682*/
8683WDI_Status
8684WDI_RemoveBSSKeyReq
8685(
8686 WDI_RemoveBSSKeyReqParamsType* pwdiRemoveBSSKeyParams,
8687 WDI_RemoveBSSKeyRspCb wdiRemoveBSSKeyRspCb,
8688 void* pUserData
8689);
8690
8691
8692/**
8693 @brief WDI_SetSTAKeyReq will be called when the upper MAC is
8694 ready to install a STA(ast) encryption key in HW. Upon
8695 the call of this API the WLAN DAL will pack and send a
8696 HAL Set STA Key request message to the lower RIVA
8697 sub-system if DAL is in state STARTED.
8698
8699 In state BUSY this request will be queued. Request won't
8700 be allowed in any other state.
8701
8702 WDI_PostAssocReq must have been called.
8703
8704 @param wdiSetSTAKeyParams: the set STA key parameters as
8705 specified by the Device Interface
8706
8707 wdiSetSTAKeyRspCb: callback for passing back the
8708 response of the set STA key operation received from the
8709 device
8710
8711 pUserData: user data will be passed back with the
8712 callback
8713
8714 @see WDI_PostAssocReq
8715 @return Result of the function call
8716*/
8717WDI_Status
8718WDI_SetSTAKeyReq
8719(
8720 WDI_SetSTAKeyReqParamsType* pwdiSetSTAKeyParams,
8721 WDI_SetSTAKeyRspCb wdiSetSTAKeyRspCb,
8722 void* pUserData
8723);
8724
8725
8726/**
8727 @brief WDI_RemoveSTAKeyReq will be called when the upper MAC
8728 wants to unistall a previously set STA key in HW. Upon
8729 the call of this API the WLAN DAL will pack and send a
8730 HAL Remove STA Key request message to the lower RIVA
8731 sub-system if DAL is in state STARTED.
8732
8733 In state BUSY this request will be queued. Request won't
8734 be allowed in any other state.
8735
8736 WDI_SetSTAKeyReq must have been called.
8737
8738 @param wdiRemoveSTAKeyParams: the remove STA key parameters as
8739 specified by the Device Interface
8740
8741 wdiRemoveSTAKeyRspCb: callback for passing back the
8742 response of the remove STA key operation received from
8743 the device
8744
8745 pUserData: user data will be passed back with the
8746 callback
8747
8748 @see WDI_SetSTAKeyReq
8749 @return Result of the function call
8750*/
8751WDI_Status
8752WDI_RemoveSTAKeyReq
8753(
8754 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTAKeyParams,
8755 WDI_RemoveSTAKeyRspCb wdiRemoveSTAKeyRspCb,
8756 void* pUserData
8757);
8758
8759/**
8760 @brief WDI_SetSTABcastKeyReq will be called when the upper MAC
8761 wants to install a STA Bcast encryption key on the HW.
8762 Upon the call of this API the WLAN DAL will pack and
8763 send a HAL Start request message to the lower RIVA
8764 sub-system if DAL is in state STARTED.
8765
8766 In state BUSY this request will be queued. Request won't
8767 be allowed in any other state.
8768
8769 WDI_PostAssocReq must have been called.
8770
8771 @param pwdiSetSTABcastKeyParams: the BSS Key set parameters as
8772 specified by the Device Interface
8773
8774 wdiSetSTABcastKeyRspCb: callback for passing back the
8775 response of the set BSS Key operation received from the
8776 device
8777
8778 pUserData: user data will be passed back with the
8779 callback
8780
8781 @see WDI_PostAssocReq
8782 @return Result of the function call
8783*/
8784WDI_Status
8785WDI_SetSTABcastKeyReq
8786(
8787 WDI_SetSTAKeyReqParamsType* pwdiSetSTABcastKeyParams,
8788 WDI_SetSTAKeyRspCb wdiSetSTABcastKeyRspCb,
8789 void* pUserData
8790);
8791
8792
8793/**
8794 @brief WDI_RemoveSTABcastKeyReq will be called when the upper
8795 MAC to uninstall a STA Bcast key from HW. Upon the call
8796 of this API the WLAN DAL will pack and send a HAL Remove
8797 STA Bcast Key request message to the lower RIVA
8798 sub-system if DAL is in state STARTED.
8799
8800 In state BUSY this request will be queued. Request won't
8801 be allowed in any other state.
8802
8803 WDI_SetSTABcastKeyReq must have been called.
8804
8805 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
8806 parameters as specified by the Device
8807 Interface
8808
8809 wdiRemoveSTABcastKeyRspCb: callback for passing back the
8810 response of the remove STA Bcast key operation received
8811 from the device
8812
8813 pUserData: user data will be passed back with the
8814 callback
8815
8816 @see WDI_SetSTABcastKeyReq
8817 @return Result of the function call
8818*/
8819WDI_Status
8820WDI_RemoveSTABcastKeyReq
8821(
8822 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTABcastKeyParams,
8823 WDI_RemoveSTAKeyRspCb wdiRemoveSTABcastKeyRspCb,
8824 void* pUserData
8825);
8826
schang86c22c42013-03-13 18:41:24 -07008827
8828/**
8829 @brief WDI_SetTxPowerReq will be called when the upper
8830 MAC wants to set Tx Power to HW.
8831 In state BUSY this request will be queued. Request won't
8832 be allowed in any other state.
8833
8834
8835 @param pwdiSetTxPowerParams: set TS Power parameters
8836 BSSID and target TX Power with dbm included
8837
8838 wdiReqStatusCb: callback for passing back the response
8839
8840 pUserData: user data will be passed back with the
8841 callback
8842
8843 @return Result of the function call
8844*/
8845WDI_Status
8846WDI_SetTxPowerReq
8847(
8848 WDI_SetTxPowerParamsType* pwdiSetTxPowerParams,
8849 WDA_SetTxPowerRspCb wdiReqStatusCb,
8850 void* pUserData
8851);
8852
Jeff Johnson295189b2012-06-20 16:38:30 -07008853/**
8854 @brief WDI_SetMaxTxPowerReq will be called when the upper
8855 MAC wants to set Max Tx Power to HW. Upon the
8856 call of this API the WLAN DAL will pack and send a HAL
8857 Remove STA Bcast Key request message to the lower RIVA
8858 sub-system if DAL is in state STARTED.
8859
8860 In state BUSY this request will be queued. Request won't
8861 be allowed in any other state.
8862
8863 WDI_SetSTABcastKeyReq must have been called.
8864
8865 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
8866 parameters as specified by the Device
8867 Interface
8868
8869 wdiRemoveSTABcastKeyRspCb: callback for passing back the
8870 response of the remove STA Bcast key operation received
8871 from the device
8872
8873 pUserData: user data will be passed back with the
8874 callback
8875
8876 @see WDI_SetMaxTxPowerReq
8877 @return Result of the function call
8878*/
8879WDI_Status
8880WDI_SetMaxTxPowerReq
8881(
8882 WDI_SetMaxTxPowerParamsType* pwdiSetMaxTxPowerParams,
8883 WDA_SetMaxTxPowerRspCb wdiReqStatusCb,
8884 void* pUserData
8885);
8886
Arif Hussaina5ebce02013-08-09 15:09:58 -07008887/**
8888 @brief WDI_SetMaxTxPowerPerBandReq will be called when the upper
8889 MAC wants to set Max Tx Power to HW for specific band. Upon the
8890 call of this API the WLAN DAL will pack and send a HAL
8891 Set Max Tx Power Per Band request message to the lower RIVA
8892 sub-system if DAL is in state STARTED.
8893
8894 In state BUSY this request will be queued. Request won't
8895 be allowed in any other state.
8896
8897
8898 @param WDI_SetMaxTxPowerPerBandParamsType: Max Tx Per Band Info
8899
8900 WDA_SetMaxTxPowerPerBandRspCb: This callback is invoked by DAL
8901 when it has received a set max Tx Power Per Band response from
8902 the underlying device.
8903
8904 pUserData: user data will be passed back with the
8905 callback
8906
8907 @see WDI_SetMaxTxPowerPerBandReq
8908 @return Result of the function call
8909*/
8910WDI_Status
8911WDI_SetMaxTxPowerPerBandReq
8912(
8913 WDI_SetMaxTxPowerPerBandParamsType* pwdiSetMaxTxPowerPerBandParams,
8914 WDA_SetMaxTxPowerPerBandRspCb wdiReqStatusCb,
8915 void* pUserData
8916);
8917
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08008918#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07008919/**
8920 @brief WDI_TSMStatsReq will be called by the upper MAC to fetch
8921 Traffic Stream metrics.
8922 In state BUSY this request will be queued. Request won't
8923 be allowed in any other state.
8924
8925 @param wdiAddTsReqParams: the add TS parameters as specified by
8926 the Device Interface
8927
8928 wdiAddTsRspCb: callback for passing back the response of
8929 the add TS operation received from the device
8930
8931 pUserData: user data will be passed back with the
8932 callback
8933
8934 @see WDI_PostAssocReq
8935 @return Result of the function call
8936*/
8937WDI_Status
8938WDI_TSMStatsReq
8939(
8940 WDI_TSMStatsReqParamsType* pwdiTsmStatsReqParams,
8941 WDI_TsmRspCb wdiTsmStatsRspCb,
8942 void* pUserData
8943);
8944
8945
8946#endif
8947
8948/*========================================================================
8949
8950 QoS and BA APIs
8951
8952==========================================================================*/
8953
8954/**
8955 @brief WDI_AddTSReq will be called when the upper MAC to inform
8956 the device of a successful add TSpec negotiation. HW
8957 needs to receive the TSpec Info from the UMAC in order
8958 to configure properly the QoS data traffic. Upon the
8959 call of this API the WLAN DAL will pack and send a HAL
8960 Add TS request message to the lower RIVA sub-system if
8961 DAL is in state STARTED.
8962
8963 In state BUSY this request will be queued. Request won't
8964 be allowed in any other state.
8965
8966 WDI_PostAssocReq must have been called.
8967
8968 @param wdiAddTsReqParams: the add TS parameters as specified by
8969 the Device Interface
8970
8971 wdiAddTsRspCb: callback for passing back the response of
8972 the add TS operation received from the device
8973
8974 pUserData: user data will be passed back with the
8975 callback
8976
8977 @see WDI_PostAssocReq
8978 @return Result of the function call
8979*/
8980WDI_Status
8981WDI_AddTSReq
8982(
8983 WDI_AddTSReqParamsType* pwdiAddTsReqParams,
8984 WDI_AddTsRspCb wdiAddTsRspCb,
8985 void* pUserData
8986);
8987
8988
8989
8990/**
8991 @brief WDI_DelTSReq will be called when the upper MAC has ended
8992 admission on a specific AC. This is to inform HW that
8993 QoS traffic parameters must be rest. Upon the call of
8994 this API the WLAN DAL will pack and send a HAL Del TS
8995 request message to the lower RIVA sub-system if DAL is
8996 in state STARTED.
8997
8998 In state BUSY this request will be queued. Request won't
8999 be allowed in any other state.
9000
9001 WDI_AddTSReq must have been called.
9002
9003 @param wdiDelTsReqParams: the del TS parameters as specified by
9004 the Device Interface
9005
9006 wdiDelTsRspCb: callback for passing back the response of
9007 the del TS operation received from the device
9008
9009 pUserData: user data will be passed back with the
9010 callback
9011
9012 @see WDI_AddTSReq
9013 @return Result of the function call
9014*/
9015WDI_Status
9016WDI_DelTSReq
9017(
9018 WDI_DelTSReqParamsType* pwdiDelTsReqParams,
9019 WDI_DelTsRspCb wdiDelTsRspCb,
9020 void* pUserData
9021);
9022
9023
9024
9025/**
9026 @brief WDI_UpdateEDCAParams will be called when the upper MAC
9027 wishes to update the EDCA parameters used by HW for QoS
9028 data traffic. Upon the call of this API the WLAN DAL
9029 will pack and send a HAL Update EDCA Params request
9030 message to the lower RIVA sub-system if DAL is in state
9031 STARTED.
9032
9033 In state BUSY this request will be queued. Request won't
9034 be allowed in any other state.
9035
9036 WDI_PostAssocReq must have been called.
9037
9038 @param wdiUpdateEDCAParams: the start parameters as specified
9039 by the Device Interface
9040
9041 wdiUpdateEDCAParamsRspCb: callback for passing back the
9042 response of the start operation received from the device
9043
9044 pUserData: user data will be passed back with the
9045 callback
9046
9047 @see WDI_PostAssocReq
9048 @return Result of the function call
9049*/
9050WDI_Status
9051WDI_UpdateEDCAParams
9052(
9053 WDI_UpdateEDCAParamsType* pwdiUpdateEDCAParams,
9054 WDI_UpdateEDCAParamsRspCb wdiUpdateEDCAParamsRspCb,
9055 void* pUserData
9056);
9057
9058
9059
9060/**
9061 @brief WDI_AddBASessionReq will be called when the upper MAC has setup
9062 successfully a BA session and needs to notify the HW for
9063 the appropriate settings to take place. Upon the call of
9064 this API the WLAN DAL will pack and send a HAL Add BA
9065 request message to the lower RIVA sub-system if DAL is
9066 in state STARTED.
9067
9068 In state BUSY this request will be queued. Request won't
9069 be allowed in any other state.
9070
9071 WDI_PostAssocReq must have been called.
9072
9073 @param wdiAddBAReqParams: the add BA parameters as specified by
9074 the Device Interface
9075
9076 wdiAddBARspCb: callback for passing back the response of
9077 the add BA operation received from the device
9078
9079 pUserData: user data will be passed back with the
9080 callback
9081
9082 @see WDI_PostAssocReq
9083 @return Result of the function call
9084*/
9085WDI_Status
9086WDI_AddBASessionReq
9087(
9088 WDI_AddBASessionReqParamsType* pwdiAddBASessionReqParams,
9089 WDI_AddBASessionRspCb wdiAddBASessionRspCb,
9090 void* pUserData
9091);
9092
9093
9094/**
9095 @brief WDI_DelBAReq will be called when the upper MAC wants to
9096 inform HW that it has deleted a previously created BA
9097 session. Upon the call of this API the WLAN DAL will
9098 pack and send a HAL Del BA request message to the lower
9099 RIVA sub-system if DAL is in state STARTED.
9100
9101 In state BUSY this request will be queued. Request won't
9102 be allowed in any other state.
9103
9104 WDI_AddBAReq must have been called.
9105
9106 @param wdiDelBAReqParams: the del BA parameters as specified by
9107 the Device Interface
9108
9109 wdiDelBARspCb: callback for passing back the response of
9110 the del BA operation received from the device
9111
9112 pUserData: user data will be passed back with the
9113 callback
9114
9115 @see WDI_AddBAReq
9116 @return Result of the function call
9117*/
9118WDI_Status
9119WDI_DelBAReq
9120(
9121 WDI_DelBAReqParamsType* pwdiDelBAReqParams,
9122 WDI_DelBARspCb wdiDelBARspCb,
9123 void* pUserData
9124);
9125
9126/**
9127 @brief WDI_UpdateBeaconParamsReq will be called when the upper MAC wants to
9128 inform HW that there is a change in the beacon parameters
9129 Upon the call of this API the WLAN DAL will
9130 pack and send a UpdateBeacon Params message to the lower
9131 RIVA sub-system if DAL is in state STARTED.
9132
9133 In state BUSY this request will be queued. Request won't
9134 be allowed in any other state.
9135
9136 WDI_UpdateBeaconParamsReq must have been called.
9137
9138 @param WDI_UpdateBeaconParamsType: the Update Beacon parameters as specified by
9139 the Device Interface
9140
9141 WDI_UpdateBeaconParamsRspCb: callback for passing back the response of
9142 the Update Beacon Params operation received from the device
9143
9144 pUserData: user data will be passed back with the
9145 callback
9146
9147 @see WDI_AddBAReq
9148 @return Result of the function call
9149*/
9150
9151WDI_Status
9152WDI_UpdateBeaconParamsReq
9153(
9154 WDI_UpdateBeaconParamsType * pwdiUpdateBeaconParams,
9155 WDI_UpdateBeaconParamsRspCb wdiUpdateBeaconParamsRspCb,
9156 void* pUserData
9157);
9158
9159
9160/**
9161 @brief WDI_SendBeaconParamsReq will be called when the upper MAC wants to
9162 update the beacon template to be transmitted as BT MAP STA/IBSS/Soft AP
9163 Upon the call of this API the WLAN DAL will
9164 pack and send the beacon Template message to the lower
9165 RIVA sub-system if DAL is in state STARTED.
9166
9167 In state BUSY this request will be queued. Request won't
9168 be allowed in any other state.
9169
9170 WDI_SendBeaconParamsReq must have been called.
9171
9172 @param WDI_SendBeaconParamsType: the Update Beacon parameters as specified by
9173 the Device Interface
9174
9175 WDI_SendBeaconParamsRspCb: callback for passing back the response of
9176 the Send Beacon Params operation received from the device
9177
9178 pUserData: user data will be passed back with the
9179 callback
9180
9181 @see WDI_AddBAReq
9182 @return Result of the function call
9183*/
9184
9185WDI_Status
9186WDI_SendBeaconParamsReq
9187(
9188 WDI_SendBeaconParamsType* pwdiSendBeaconParams,
9189 WDI_SendBeaconParamsRspCb wdiSendBeaconParamsRspCb,
9190 void* pUserData
9191);
9192
9193
9194/**
9195 @brief WDI_UpdateProbeRspTemplateReq will be called when the
9196 upper MAC wants to update the probe response template to
9197 be transmitted as Soft AP
9198 Upon the call of this API the WLAN DAL will
9199 pack and send the probe rsp template message to the
9200 lower RIVA sub-system if DAL is in state STARTED.
9201
9202 In state BUSY this request will be queued. Request won't
9203 be allowed in any other state.
9204
9205
9206 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
9207 specified by the Device Interface
9208
9209 wdiSendBeaconParamsRspCb: callback for passing back the
9210 response of the Send Beacon Params operation received
9211 from the device
9212
9213 pUserData: user data will be passed back with the
9214 callback
9215
9216 @see WDI_AddBAReq
9217 @return Result of the function call
9218*/
9219
9220WDI_Status
9221WDI_UpdateProbeRspTemplateReq
9222(
9223 WDI_UpdateProbeRspTemplateParamsType* pwdiUpdateProbeRspParams,
9224 WDI_UpdateProbeRspTemplateRspCb wdiSendBeaconParamsRspCb,
9225 void* pUserData
9226);
9227
Jeff Johnson295189b2012-06-20 16:38:30 -07009228/**
9229 @brief WDI_SetP2PGONOAReq will be called when the
9230 upper MAC wants to send Notice of Absence
9231 Upon the call of this API the WLAN DAL will
9232 pack and send the probe rsp template message to the
9233 lower RIVA sub-system if DAL is in state STARTED.
9234
9235 In state BUSY this request will be queued. Request won't
9236 be allowed in any other state.
9237
9238
9239 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
9240 specified by the Device Interface
9241
9242 wdiSendBeaconParamsRspCb: callback for passing back the
9243 response of the Send Beacon Params operation received
9244 from the device
9245
9246 pUserData: user data will be passed back with the
9247 callback
9248
9249 @see WDI_AddBAReq
9250 @return Result of the function call
9251*/
9252WDI_Status
9253WDI_SetP2PGONOAReq
9254(
9255 WDI_SetP2PGONOAReqParamsType* pwdiP2PGONOAReqParams,
9256 WDI_SetP2PGONOAReqParamsRspCb wdiP2PGONOAReqParamsRspCb,
9257 void* pUserData
9258);
Jeff Johnson295189b2012-06-20 16:38:30 -07009259
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05309260/**
9261 @brief WDI_SetTDLSLinkEstablishReq will be called when the
9262 upper MAC wants to send TDLS Link Establish Request Parameters
9263 Upon the call of this API the WLAN DAL will
9264 pack and send the TDLS Link Establish Request message to the
9265 lower RIVA sub-system if DAL is in state STARTED.
9266
9267 In state BUSY this request will be queued. Request won't
9268 be allowed in any other state.
9269
9270
9271 @param pwdiTDLSLinkEstablishReqParams: TDLS Peer Parameters
9272 for Link Establishment (Used for PUAPSD , TDLS Off Channel ...)
9273
9274 wdiTDLSLinkEstablishReqRspCb: callback for passing back the
9275 response of the TDLS Link Establish request received
9276 from the device
9277
9278 pUserData: user data will be passed back with the
9279 callback
9280
9281 @see
9282 @return Result of the function call
9283*/
9284WDI_Status
9285WDI_SetTDLSLinkEstablishReq
9286(
9287 WDI_SetTDLSLinkEstablishReqParamsType* pwdiTDLSLinkEstablishReqParams,
9288 WDI_SetTDLSLinkEstablishReqParamsRspCb wdiTDLSLinkEstablishReqRspCb,
9289 void* pUserData
9290);
Jeff Johnson295189b2012-06-20 16:38:30 -07009291
Atul Mittalc0f739f2014-07-31 13:47:47 +05309292WDI_Status
9293WDI_SetTDLSChanSwitchReq
9294(
9295 WDI_SetTDLSChanSwitchReqParamsType* pwdiTDLSChanSwitchReqParams,
9296 WDI_SetTDLSChanSwitchReqParamsRspCb wdiTDLSChanSwitchRReqRspCb,
9297 void* pUserData
9298);
Jeff Johnson295189b2012-06-20 16:38:30 -07009299/*========================================================================
9300
9301 Power Save APIs
9302
9303==========================================================================*/
9304
9305/**
9306 @brief WDI_SetPwrSaveCfgReq will be called when the upper MAC
9307 wants to set the power save related configurations of
9308 the WLAN Device. Upon the call of this API the WLAN DAL
9309 will pack and send a HAL Update CFG request message to
9310 the lower RIVA sub-system if DAL is in state STARTED.
9311
9312 In state BUSY this request will be queued. Request won't
9313 be allowed in any other state.
9314
9315 WDI_Start must have been called.
9316
9317 @param pwdiPowerSaveCfg: the power save cfg parameters as
9318 specified by the Device Interface
9319
9320 wdiSetPwrSaveCfgCb: callback for passing back the
9321 response of the set power save cfg operation received
9322 from the device
9323
9324 pUserData: user data will be passed back with the
9325 callback
9326
9327 @see WDI_Start
9328 @return Result of the function call
9329*/
9330WDI_Status
9331WDI_SetPwrSaveCfgReq
9332(
9333 WDI_UpdateCfgReqParamsType* pwdiPowerSaveCfg,
9334 WDI_SetPwrSaveCfgCb wdiSetPwrSaveCfgCb,
9335 void* pUserData
9336);
9337
9338/**
9339 @brief WDI_EnterImpsReq will be called when the upper MAC to
9340 request the device to get into IMPS power state. Upon
9341 the call of this API the WLAN DAL will send a HAL Enter
9342 IMPS request message to the lower RIVA sub-system if DAL
9343 is in state STARTED.
9344
9345 In state BUSY this request will be queued. Request won't
9346 be allowed in any other state.
9347
9348
9349 @param wdiEnterImpsRspCb: callback for passing back the
9350 response of the Enter IMPS operation received from the
9351 device
9352
9353 pUserData: user data will be passed back with the
9354 callback
9355
9356 @see WDI_Start
9357 @return Result of the function call
9358*/
9359WDI_Status
9360WDI_EnterImpsReq
9361(
Mihir Shetea4306052014-03-25 00:02:54 +05309362 WDI_EnterImpsReqParamsType *pwdiEnterImpsReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009363 WDI_EnterImpsRspCb wdiEnterImpsRspCb,
9364 void* pUserData
9365);
9366
9367/**
9368 @brief WDI_ExitImpsReq will be called when the upper MAC to
9369 request the device to get out of IMPS power state. Upon
9370 the call of this API the WLAN DAL will send a HAL Exit
9371 IMPS request message to the lower RIVA sub-system if DAL
9372 is in state STARTED.
9373
9374 In state BUSY this request will be queued. Request won't
9375 be allowed in any other state.
9376
9377
9378
9379 @param wdiExitImpsRspCb: callback for passing back the response
9380 of the Exit IMPS operation received from the device
9381
9382 pUserData: user data will be passed back with the
9383 callback
9384
9385 @see WDI_Start
9386 @return Result of the function call
9387*/
9388WDI_Status
9389WDI_ExitImpsReq
9390(
Mahesh A Saptasagar329813b2014-12-15 12:16:51 +05309391 WDI_ExitImpsReqParamsType *pwdiExitImpsReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009392 WDI_ExitImpsRspCb wdiExitImpsRspCb,
9393 void* pUserData
9394);
9395
9396/**
9397 @brief WDI_EnterBmpsReq will be called when the upper MAC to
9398 request the device to get into BMPS power state. Upon
9399 the call of this API the WLAN DAL will pack and send a
9400 HAL Enter BMPS request message to the lower RIVA
9401 sub-system if DAL is in state STARTED.
9402
9403 In state BUSY this request will be queued. Request won't
9404 be allowed in any other state.
9405
9406 WDI_PostAssocReq must have been called.
9407
9408 @param pwdiEnterBmpsReqParams: the Enter BMPS parameters as
9409 specified by the Device Interface
9410
9411 wdiEnterBmpsRspCb: callback for passing back the
9412 response of the Enter BMPS operation received from the
9413 device
9414
9415 pUserData: user data will be passed back with the
9416 callback
9417
9418 @see WDI_PostAssocReq
9419 @return Result of the function call
9420*/
9421WDI_Status
9422WDI_EnterBmpsReq
9423(
9424 WDI_EnterBmpsReqParamsType *pwdiEnterBmpsReqParams,
9425 WDI_EnterBmpsRspCb wdiEnterBmpsRspCb,
9426 void* pUserData
9427);
9428
9429/**
9430 @brief WDI_ExitBmpsReq will be called when the upper MAC to
9431 request the device to get out of BMPS power state. Upon
9432 the call of this API the WLAN DAL will pack and send a
9433 HAL Exit BMPS request message to the lower RIVA
9434 sub-system if DAL is in state STARTED.
9435
9436 In state BUSY this request will be queued. Request won't
9437 be allowed in any other state.
9438
9439 WDI_PostAssocReq must have been called.
9440
9441 @param pwdiExitBmpsReqParams: the Exit BMPS parameters as
9442 specified by the Device Interface
9443
9444 wdiExitBmpsRspCb: callback for passing back the response
9445 of the Exit BMPS operation received from the device
9446
9447 pUserData: user data will be passed back with the
9448 callback
9449
9450 @see WDI_PostAssocReq
9451 @return Result of the function call
9452*/
9453WDI_Status
9454WDI_ExitBmpsReq
9455(
9456 WDI_ExitBmpsReqParamsType *pwdiExitBmpsReqParams,
9457 WDI_ExitBmpsRspCb wdiExitBmpsRspCb,
9458 void* pUserData
9459);
9460
9461/**
9462 @brief WDI_EnterUapsdReq will be called when the upper MAC to
9463 request the device to get into UAPSD power state. Upon
9464 the call of this API the WLAN DAL will pack and send a
9465 HAL Enter UAPSD request message to the lower RIVA
9466 sub-system if DAL is in state STARTED.
9467
9468 In state BUSY this request will be queued. Request won't
9469 be allowed in any other state.
9470
9471 WDI_PostAssocReq must have been called.
9472 WDI_SetUapsdAcParamsReq must have been called.
9473
9474 @param pwdiEnterUapsdReqParams: the Enter UAPSD parameters as
9475 specified by the Device Interface
9476
9477 wdiEnterUapsdRspCb: callback for passing back the
9478 response of the Enter UAPSD operation received from the
9479 device
9480
9481 pUserData: user data will be passed back with the
9482 callback
9483
9484 @see WDI_PostAssocReq, WDI_SetUapsdAcParamsReq
9485 @return Result of the function call
9486*/
9487WDI_Status
9488WDI_EnterUapsdReq
9489(
9490 WDI_EnterUapsdReqParamsType *pwdiEnterUapsdReqParams,
9491 WDI_EnterUapsdRspCb wdiEnterUapsdRspCb,
9492 void* pUserData
9493);
9494
9495/**
9496 @brief WDI_ExitUapsdReq will be called when the upper MAC to
9497 request the device to get out of UAPSD power state. Upon
9498 the call of this API the WLAN DAL will send a HAL Exit
9499 UAPSD request message to the lower RIVA sub-system if
9500 DAL is in state STARTED.
9501
9502 In state BUSY this request will be queued. Request won't
9503 be allowed in any other state.
9504
9505 WDI_PostAssocReq must have been called.
9506
9507 @param wdiExitUapsdRspCb: callback for passing back the
9508 response of the Exit UAPSD operation received from the
9509 device
9510
9511 pUserData: user data will be passed back with the
9512 callback
9513
9514 @see WDI_PostAssocReq
9515 @return Result of the function call
9516*/
9517WDI_Status
9518WDI_ExitUapsdReq
9519(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07009520 WDI_ExitUapsdReqParamsType *pwdiExitUapsdReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009521 WDI_ExitUapsdRspCb wdiExitUapsdRspCb,
9522 void* pUserData
9523);
9524
9525/**
9526 @brief WDI_UpdateUapsdParamsReq will be called when the upper
9527 MAC wants to set the UAPSD related configurations
9528 of an associated STA (while acting as an AP) to the WLAN
9529 Device. Upon the call of this API the WLAN DAL will pack
9530 and send a HAL Update UAPSD params request message to
9531 the lower RIVA sub-system if DAL is in state STARTED.
9532
9533 In state BUSY this request will be queued. Request won't
9534 be allowed in any other state.
9535
9536 WDI_ConfigBSSReq must have been called.
9537
9538 @param pwdiUpdateUapsdReqParams: the UAPSD parameters
9539 as specified by the Device Interface
9540
9541 wdiUpdateUapsdParamsCb: callback for passing back the
9542 response of the update UAPSD params operation received
9543 from the device
9544
9545 pUserData: user data will be passed back with the
9546 callback
9547
9548 @see WDI_ConfigBSSReq
9549 @return Result of the function call
9550*/
9551WDI_Status
9552WDI_UpdateUapsdParamsReq
9553(
9554 WDI_UpdateUapsdReqParamsType *pwdiUpdateUapsdReqParams,
9555 WDI_UpdateUapsdParamsCb wdiUpdateUapsdParamsCb,
9556 void* pUserData
9557);
9558
9559/**
9560 @brief WDI_SetUapsdAcParamsReq will be called when the upper
9561 MAC wants to set the UAPSD related configurations before
9562 requesting for enter UAPSD power state to the WLAN
9563 Device. Upon the call of this API the WLAN DAL will pack
9564 and send a HAL Set UAPSD params request message to
9565 the lower RIVA sub-system if DAL is in state STARTED.
9566
9567 In state BUSY this request will be queued. Request won't
9568 be allowed in any other state.
9569
9570 WDI_PostAssocReq must have been called.
9571
9572 @param pwdiUapsdInfo: the UAPSD parameters as specified by
9573 the Device Interface
9574
9575 wdiSetUapsdAcParamsCb: callback for passing back the
9576 response of the set UAPSD params operation received from
9577 the device
9578
9579 pUserData: user data will be passed back with the
9580 callback
9581
9582 @see WDI_PostAssocReq
9583 @return Result of the function call
9584*/
9585WDI_Status
9586WDI_SetUapsdAcParamsReq
9587(
9588 WDI_SetUapsdAcParamsReqParamsType* pwdiPowerSaveCfg,
9589 WDI_SetUapsdAcParamsCb wdiSetUapsdAcParamsCb,
9590 void* pUserData
9591);
Sachin Ahuja715aafc2015-07-21 23:35:10 +05309592
9593
9594/**
9595 @brief WDI_FatalEventLogsReq will be called when the upper
9596 MAC wants to send the fatal event req. Upon the call of
9597 this API the WLAN DAL will pack and send a HAL
9598 Fatal event request message to the lower RIVA sub-system.
9599
9600 In state BUSY this request will be queued. Request won't
9601 be allowed in any other state.
9602
9603
9604 @param pwdiFatalEventLogsReqInfo: the Fatal event logs params
9605 as specified by the Device Interface
9606
9607 wdiFatalEventLogsRspCb: callback for passing back the
9608 response of the fatal event operation received
9609 from the device
9610
9611 pUserData: user data will be passed back with the
9612 callback
9613
9614 @return Result of the function call
9615*/
9616
9617WDI_Status
9618WDI_FatalEventLogsReq
9619(
9620 WDI_FatalEventLogsReqInfoType *pwdiFatalEventLogsReqInfo,
9621 WDI_FatalEventLogsRspCb wdiFatalEventLogsRspCb,
9622 void* pUserData
9623);
9624
Siddharth Bhal64246172015-02-27 01:04:37 +05309625/**
9626 @brief WDI_GetFrameLogReq will be called when the upper
9627 MAC wants to initialize frame logging. Upon the call of
9628 this API the WLAN DAL will pack and send a HAL
9629 Frame logging init request message to
9630 the lower RIVA sub-system.
9631
9632 In state BUSY this request will be queued. Request won't
9633 be allowed in any other state.
9634
9635
9636 @param pwdiGetFrameLogReqInfo: the Frame Logging params
9637 as specified by the Device Interface
9638
9639 wdiGetFrameLogReqCb: callback for passing back the
9640 response of the frame logging init operation received
9641 from the device
9642
9643 pUserData: user data will be passed back with the
9644 callback
9645
9646 @return Result of the function call
9647*/
9648WDI_Status
9649WDI_GetFrameLogReq
9650(
9651 WDI_GetFrameLogReqInfoType *pwdiGetFrameLogReqInfo,
9652 WDI_GetFrameLogRspCb wdiGetFrameLogReqCb,
9653 void* pUserData
9654);
Jeff Johnson295189b2012-06-20 16:38:30 -07009655
9656/**
Siddharth Bhald1be97f2015-05-27 22:39:59 +05309657 @brief WDI_FWLoggingInitReq will be called when the upper
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05309658 MAC wants to initialize frame logging. Upon the call of
9659 this API the WLAN DAL will pack and send a HAL
9660 Frame logging init request message to
9661 the lower RIVA sub-system.
9662
9663 In state BUSY this request will be queued. Request won't
9664 be allowed in any other state.
9665
9666
Siddharth Bhald1be97f2015-05-27 22:39:59 +05309667 @param pwdiFWLoggingInitReqParams: the Frame Logging params
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05309668 as specified by the Device Interface
9669
Siddharth Bhald1be97f2015-05-27 22:39:59 +05309670 wdiFWLoggingInitReqCb: callback for passing back the
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05309671 response of the frame logging init operation received
9672 from the device
9673
9674 pUserData: user data will be passed back with the
9675 callback
9676
9677 @return Result of the function call
9678*/
9679WDI_Status
Siddharth Bhald1be97f2015-05-27 22:39:59 +05309680WDI_FWLoggingInitReq
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05309681(
Siddharth Bhald1be97f2015-05-27 22:39:59 +05309682 WDI_FWLoggingInitReqInfoType *pwdiFWLoggingInitReqInfo,
9683 WDI_FWLoggingInitRspCb wdiFWLoggingInitReqCb,
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05309684 void* pUserData
9685);
9686
9687/**
Gupta, Kapil7c34b322015-09-30 13:12:35 +05309688 @brief WDI_StartRssiMonitorReq will be called when the upper
9689 MAC wants to initialize Rssi Monitor on a bssid.
9690 Upon the call of this API the WLAN DAL will pack and
9691 send a HAL Rssi Monitor init request message to
9692 the lower RIVA sub-system.
9693
9694 In state BUSY this request will be queued. Request won't
9695 be allowed in any other state.
9696
9697
9698 @param pwdiRssiMonitorInfo: the Rssi Monitor params
9699 as specified by the Device Interface
9700
9701 wdiRssiMonitorStartRspCb: callback for passing back the
9702 response of the rssi monitor operation received
9703 from the device
9704
9705 pUserData: user data will be passed back with the
9706 callback
9707
9708 @return Result of the function call
9709*/
9710WDI_Status
9711WDI_StartRssiMonitorReq
9712(
9713 WDI_RssiMonitorReqInfoType *pwdiRssiMonitorInfo,
9714 WDI_RssiMonitorStartRspCb wdiRssiMonitorStartRspCb,
9715 void* pUserData
9716);
9717
9718
9719/**
9720 @brief WDI_StopRssiMonitorReq will be called when the upper
9721 MAC wants to stop Rssi Monitor on a bssid.
9722 Upon the call of this API the WLAN DAL will pack and
9723 send a HAL Rssi Monitor stop request message to
9724 the lower RIVA sub-system.
9725
9726 In state BUSY this request will be queued. Request won't
9727 be allowed in any other state.
9728
9729
9730 @param pwdiRssiMonitorInfo: the Rssi Monitor params
9731 as specified by the Device Interface
9732
9733 wdiRssiMonitorStopRspCb: callback for passing back the
9734 response of the rssi monitor operation received
9735 from the device
9736
9737 pUserData: user data will be passed back with the
9738 callback
9739
9740 @return Result of the function call
9741*/
9742WDI_Status
9743WDI_StopRssiMonitorReq
9744(
9745 WDI_RssiMonitorReqInfoType *pwdiRssiMonitorInfo,
9746 WDI_RssiMonitorStopRspCb wdiRssiMonitorStopRspCb,
9747 void* pUserData
9748);
9749
9750/**
Jeff Johnson295189b2012-06-20 16:38:30 -07009751 @brief WDI_ConfigureRxpFilterReq will be called when the upper
9752 MAC wants to set/reset the RXP filters for received pkts
9753 (MC, BC etc.). Upon the call of this API the WLAN DAL will pack
9754 and send a HAL configure RXP filter request message to
9755 the lower RIVA sub-system.
9756
9757 In state BUSY this request will be queued. Request won't
9758 be allowed in any other state.
9759
9760
9761 @param pwdiConfigureRxpFilterReqParams: the RXP
9762 filter as specified by the Device
9763 Interface
9764
9765 wdiConfigureRxpFilterCb: callback for passing back the
9766 response of the configure RXP filter operation received
9767 from the device
9768
9769 pUserData: user data will be passed back with the
9770 callback
9771
9772 @return Result of the function call
9773*/
9774WDI_Status
9775WDI_ConfigureRxpFilterReq
9776(
9777 WDI_ConfigureRxpFilterReqParamsType *pwdiConfigureRxpFilterReqParams,
9778 WDI_ConfigureRxpFilterCb wdiConfigureRxpFilterCb,
9779 void* pUserData
9780);
9781
9782/**
9783 @brief WDI_SetBeaconFilterReq will be called when the upper MAC
9784 wants to set the beacon filters while in power save.
9785 Upon the call of this API the WLAN DAL will pack and
9786 send a Beacon filter request message to the
9787 lower RIVA sub-system.
9788
9789 In state BUSY this request will be queued. Request won't
9790 be allowed in any other state.
9791
9792
9793 @param pwdiBeaconFilterReqParams: the beacon
9794 filter as specified by the Device
9795 Interface
9796
9797 wdiBeaconFilterCb: callback for passing back the
9798 response of the set beacon filter operation received
9799 from the device
9800
9801 pUserData: user data will be passed back with the
9802 callback
9803
9804 @return Result of the function call
9805*/
9806WDI_Status
9807WDI_SetBeaconFilterReq
9808(
9809 WDI_BeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
9810 WDI_SetBeaconFilterCb wdiBeaconFilterCb,
9811 void* pUserData
9812);
9813
9814/**
9815 @brief WDI_RemBeaconFilterReq will be called when the upper MAC
9816 wants to remove the beacon filter for perticular IE
9817 while in power save. Upon the call of this API the WLAN
9818 DAL will pack and send a remove Beacon filter request
9819 message to the lower RIVA sub-system.
9820
9821 In state BUSY this request will be queued. Request won't
9822 be allowed in any other state.
9823
9824
9825 @param pwdiBeaconFilterReqParams: the beacon
9826 filter as specified by the Device
9827 Interface
9828
9829 wdiBeaconFilterCb: callback for passing back the
9830 response of the remove beacon filter operation received
9831 from the device
9832
9833 pUserData: user data will be passed back with the
9834 callback
9835
9836 @return Result of the function call
9837*/
9838WDI_Status
9839WDI_RemBeaconFilterReq
9840(
9841 WDI_RemBeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
9842 WDI_RemBeaconFilterCb wdiBeaconFilterCb,
9843 void* pUserData
9844);
9845
9846/**
9847 @brief WDI_SetRSSIThresholdsReq will be called when the upper
9848 MAC wants to set the RSSI thresholds related
9849 configurations while in power save. Upon the call of
9850 this API the WLAN DAL will pack and send a HAL Set RSSI
9851 thresholds request message to the lower RIVA
9852 sub-system if DAL is in state STARTED.
9853
9854 In state BUSY this request will be queued. Request won't
9855 be allowed in any other state.
9856
9857 WDI_PostAssocReq must have been called.
9858
9859 @param pwdiUapsdInfo: the UAPSD parameters as specified by
9860 the Device Interface
9861
9862 wdiSetUapsdAcParamsCb: callback for passing back the
9863 response of the set UAPSD params operation received from
9864 the device
9865
9866 pUserData: user data will be passed back with the
9867 callback
9868
9869 @see WDI_PostAssocReq
9870 @return Result of the function call
9871*/
9872WDI_Status
9873WDI_SetRSSIThresholdsReq
9874(
9875 WDI_SetRSSIThresholdsReqParamsType* pwdiRSSIThresholdsParams,
9876 WDI_SetRSSIThresholdsCb wdiSetRSSIThresholdsCb,
9877 void* pUserData
9878);
9879
9880/**
9881 @brief WDI_HostOffloadReq will be called when the upper MAC
9882 wants to set the filter to minimize unnecessary host
9883 wakeup due to broadcast traffic while in power save.
9884 Upon the call of this API the WLAN DAL will pack and
9885 send a HAL host offload request message to the
9886 lower RIVA sub-system if DAL is in state STARTED.
9887
9888 In state BUSY this request will be queued. Request won't
9889 be allowed in any other state.
9890
9891 WDI_PostAssocReq must have been called.
9892
9893 @param pwdiHostOffloadParams: the host offload as specified
9894 by the Device Interface
9895
9896 wdiHostOffloadCb: callback for passing back the response
9897 of the host offload operation received from the
9898 device
9899
9900 pUserData: user data will be passed back with the
9901 callback
9902
9903 @see WDI_PostAssocReq
9904 @return Result of the function call
9905*/
9906WDI_Status
9907WDI_HostOffloadReq
9908(
9909 WDI_HostOffloadReqParamsType* pwdiHostOffloadParams,
9910 WDI_HostOffloadCb wdiHostOffloadCb,
9911 void* pUserData
9912);
9913
9914/**
9915 @brief WDI_KeepAliveReq will be called when the upper MAC
9916 wants to set the filter to send NULL or unsolicited ARP responses
9917 and minimize unnecessary host wakeups due to while in power save.
9918 Upon the call of this API the WLAN DAL will pack and
9919 send a HAL Keep Alive request message to the
9920 lower RIVA sub-system if DAL is in state STARTED.
9921
9922 In state BUSY this request will be queued. Request won't
9923 be allowed in any other state.
9924
9925 WDI_PostAssocReq must have been called.
9926
9927 @param pwdiKeepAliveParams: the Keep Alive as specified
9928 by the Device Interface
9929
9930 wdiKeepAliveCb: callback for passing back the response
9931 of the Keep Alive operation received from the
9932 device
9933
9934 pUserData: user data will be passed back with the
9935 callback
9936
9937 @see WDI_PostAssocReq
9938 @return Result of the function call
9939*/
9940WDI_Status
9941WDI_KeepAliveReq
9942(
9943 WDI_KeepAliveReqParamsType* pwdiKeepAliveParams,
9944 WDI_KeepAliveCb wdiKeepAliveCb,
9945 void* pUserData
9946);
9947
9948/**
9949 @brief WDI_WowlAddBcPtrnReq will be called when the upper MAC
9950 wants to set the Wowl Bcast ptrn to minimize unnecessary
9951 host wakeup due to broadcast traffic while in power
9952 save. Upon the call of this API the WLAN DAL will pack
9953 and send a HAL Wowl Bcast ptrn request message to the
9954 lower RIVA sub-system if DAL is in state STARTED.
9955
9956 In state BUSY this request will be queued. Request won't
9957 be allowed in any other state.
9958
9959 WDI_PostAssocReq must have been called.
9960
9961 @param pwdiWowlAddBcPtrnParams: the Wowl bcast ptrn as
9962 specified by the Device Interface
9963
9964 wdiWowlAddBcPtrnCb: callback for passing back the
9965 response of the add Wowl bcast ptrn operation received
9966 from the device
9967
9968 pUserData: user data will be passed back with the
9969 callback
9970
9971 @see WDI_PostAssocReq
9972 @return Result of the function call
9973*/
9974WDI_Status
9975WDI_WowlAddBcPtrnReq
9976(
9977 WDI_WowlAddBcPtrnReqParamsType* pwdiWowlAddBcPtrnParams,
9978 WDI_WowlAddBcPtrnCb wdiWowlAddBcPtrnCb,
9979 void* pUserData
9980);
9981
9982/**
9983 @brief WDI_WowlDelBcPtrnReq will be called when the upper MAC
9984 wants to clear the Wowl Bcast ptrn. Upon the call of
9985 this API the WLAN DAL will pack and send a HAL delete
9986 Wowl Bcast ptrn request message to the lower RIVA
9987 sub-system if DAL is in state STARTED.
9988
9989 In state BUSY this request will be queued. Request won't
9990 be allowed in any other state.
9991
9992 WDI_WowlAddBcPtrnReq must have been called.
9993
9994 @param pwdiWowlDelBcPtrnParams: the Wowl bcast ptrn as
9995 specified by the Device Interface
9996
9997 wdiWowlDelBcPtrnCb: callback for passing back the
9998 response of the del Wowl bcast ptrn operation received
9999 from the device
10000
10001 pUserData: user data will be passed back with the
10002 callback
10003
10004 @see WDI_WowlAddBcPtrnReq
10005 @return Result of the function call
10006*/
10007WDI_Status
10008WDI_WowlDelBcPtrnReq
10009(
10010 WDI_WowlDelBcPtrnReqParamsType* pwdiWowlDelBcPtrnParams,
10011 WDI_WowlDelBcPtrnCb wdiWowlDelBcPtrnCb,
10012 void* pUserData
10013);
10014
10015/**
10016 @brief WDI_WowlEnterReq will be called when the upper MAC
10017 wants to enter the Wowl state to minimize unnecessary
10018 host wakeup while in power save. Upon the call of this
10019 API the WLAN DAL will pack and send a HAL Wowl enter
10020 request message to the lower RIVA sub-system if DAL is
10021 in state STARTED.
10022
10023 In state BUSY this request will be queued. Request won't
10024 be allowed in any other state.
10025
10026 WDI_PostAssocReq must have been called.
10027
10028 @param pwdiWowlEnterReqParams: the Wowl enter info as
10029 specified by the Device Interface
10030
10031 wdiWowlEnterReqCb: callback for passing back the
10032 response of the enter Wowl operation received from the
10033 device
10034
10035 pUserData: user data will be passed back with the
10036 callback
10037
10038 @see WDI_PostAssocReq
10039 @return Result of the function call
10040*/
10041WDI_Status
10042WDI_WowlEnterReq
10043(
10044 WDI_WowlEnterReqParamsType* pwdiWowlEnterParams,
10045 WDI_WowlEnterReqCb wdiWowlEnterCb,
10046 void* pUserData
10047);
10048
10049/**
10050 @brief WDI_WowlExitReq will be called when the upper MAC
10051 wants to exit the Wowl state. Upon the call of this API
10052 the WLAN DAL will pack and send a HAL Wowl exit request
10053 message to the lower RIVA sub-system if DAL is in state
10054 STARTED.
10055
10056 In state BUSY this request will be queued. Request won't
10057 be allowed in any other state.
10058
10059 WDI_WowlEnterReq must have been called.
10060
10061 @param pwdiWowlExitReqParams: the Wowl exit info as
10062 specified by the Device Interface
10063
10064 wdiWowlExitReqCb: callback for passing back the response
10065 of the exit Wowl operation received from the device
10066
10067 pUserData: user data will be passed back with the
10068 callback
10069
10070 @see WDI_WowlEnterReq
10071 @return Result of the function call
10072*/
10073WDI_Status
10074WDI_WowlExitReq
10075(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -070010076 WDI_WowlExitReqParamsType* pwdiWowlExitParams,
Jeff Johnson295189b2012-06-20 16:38:30 -070010077 WDI_WowlExitReqCb wdiWowlExitCb,
10078 void* pUserData
10079);
10080
10081/**
10082 @brief WDI_ConfigureAppsCpuWakeupStateReq will be called when
10083 the upper MAC wants to dynamically adjusts the listen
10084 interval based on the WLAN/MSM activity. Upon the call
10085 of this API the WLAN DAL will pack and send a HAL
10086 configure Apps Cpu Wakeup State request message to the
10087 lower RIVA sub-system.
10088
10089 In state BUSY this request will be queued. Request won't
10090 be allowed in any other state.
10091
10092
10093 @param pwdiConfigureAppsCpuWakeupStateReqParams: the
10094 Apps Cpu Wakeup State as specified by the
10095 Device Interface
10096
10097 wdiConfigureAppsCpuWakeupStateCb: callback for passing
10098 back the response of the configure Apps Cpu Wakeup State
10099 operation received from the device
10100
10101 pUserData: user data will be passed back with the
10102 callback
10103
10104 @return Result of the function call
10105*/
10106WDI_Status
10107WDI_ConfigureAppsCpuWakeupStateReq
10108(
10109 WDI_ConfigureAppsCpuWakeupStateReqParamsType *pwdiConfigureAppsCpuWakeupStateReqParams,
10110 WDI_ConfigureAppsCpuWakeupStateCb wdiConfigureAppsCpuWakeupStateCb,
10111 void* pUserData
10112);
10113/**
10114 @brief WDI_FlushAcReq will be called when the upper MAC wants
10115 to to perform a flush operation on a given AC. Upon the
10116 call of this API the WLAN DAL will pack and send a HAL
10117 Flush AC request message to the lower RIVA sub-system if
10118 DAL is in state STARTED.
10119
10120 In state BUSY this request will be queued. Request won't
10121 be allowed in any other state.
10122
10123
10124 @param pwdiFlushAcReqParams: the Flush AC parameters as
10125 specified by the Device Interface
10126
10127 wdiFlushAcRspCb: callback for passing back the response
10128 of the Flush AC operation received from the device
10129
10130 pUserData: user data will be passed back with the
10131 callback
10132
10133 @return Result of the function call
10134*/
10135WDI_Status
10136WDI_FlushAcReq
10137(
10138 WDI_FlushAcReqParamsType* pwdiFlushAcReqParams,
10139 WDI_FlushAcRspCb wdiFlushAcRspCb,
10140 void* pUserData
10141);
10142
10143/**
10144 @brief WDI_BtAmpEventReq will be called when the upper MAC
10145 wants to notify the lower mac on a BT AMP event. This is
10146 to inform BTC-SLM that some BT AMP event occurred. Upon
10147 the call of this API the WLAN DAL will pack and send a
10148 HAL BT AMP event request message to the lower RIVA
10149 sub-system if DAL is in state STARTED.
10150
10151 In state BUSY this request will be queued. Request won't
10152 be allowed in any other state.
10153
10154
10155 @param wdiBtAmpEventReqParams: the BT AMP event parameters as
10156 specified by the Device Interface
10157
10158 wdiBtAmpEventRspCb: callback for passing back the
10159 response of the BT AMP event operation received from the
10160 device
10161
10162 pUserData: user data will be passed back with the
10163 callback
10164
10165 @return Result of the function call
10166*/
10167WDI_Status
10168WDI_BtAmpEventReq
10169(
10170 WDI_BtAmpEventParamsType* pwdiBtAmpEventReqParams,
10171 WDI_BtAmpEventRspCb wdiBtAmpEventRspCb,
10172 void* pUserData
10173);
10174
Jeff Johnsone7245742012-09-05 17:12:55 -070010175#ifdef FEATURE_OEM_DATA_SUPPORT
10176/**
10177 @brief WDI_Start oem data Req will be called when the upper MAC
10178 wants to notify the lower mac on a oem data Req event.Upon
10179 the call of this API the WLAN DAL will pack and send a
10180 HAL OEM Data Req event request message to the lower RIVA
10181 sub-system if DAL is in state STARTED.
10182
10183 In state BUSY this request will be queued. Request won't
10184 be allowed in any other state.
10185
10186
10187 @param pWdiOemDataReqParams: the oem data req parameters as
10188 specified by the Device Interface
10189
10190 wdiStartOemDataRspCb: callback for passing back the
10191 response of the Oem Data Req received from the
10192 device
10193
10194 pUserData: user data will be passed back with the
10195 callback
10196
10197 @return Result of the function call
10198*/
10199WDI_Status
10200WDI_StartOemDataReq
10201(
10202 WDI_oemDataReqParamsType* pWdiOemDataReqParams,
10203 WDI_oemDataRspCb wdiOemDataRspCb,
10204 void* pUserData
10205);
10206#endif
Jeff Johnson295189b2012-06-20 16:38:30 -070010207
10208/*========================================================================
10209
10210 CONTROL APIs
10211
10212==========================================================================*/
10213/**
10214 @brief WDI_SwitchChReq will be called when the upper MAC wants
10215 the WLAN HW to change the current channel of operation.
10216 Upon the call of this API the WLAN DAL will pack and
10217 send a HAL Start request message to the lower RIVA
10218 sub-system if DAL is in state STARTED.
10219
10220 In state BUSY this request will be queued. Request won't
10221 be allowed in any other state.
10222
10223 WDI_Start must have been called.
10224
10225 @param wdiSwitchChReqParams: the switch ch parameters as
10226 specified by the Device Interface
10227
10228 wdiSwitchChRspCb: callback for passing back the response
10229 of the switch ch operation received from the device
10230
10231 pUserData: user data will be passed back with the
10232 callback
10233
10234 @see WDI_Start
10235 @return Result of the function call
10236*/
10237WDI_Status
10238WDI_SwitchChReq
10239(
10240 WDI_SwitchChReqParamsType* pwdiSwitchChReqParams,
10241 WDI_SwitchChRspCb wdiSwitchChRspCb,
10242 void* pUserData
10243);
10244
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -080010245/**
Kalikinkar dhara1e83b772014-02-06 12:59:22 -080010246 @brief WDI_SwitchChReq_V1 is similar to WDI_SwitchChReq except
10247 it also send type source for the channel change.
10248 WDI_Start must have been called.
10249
10250 @param wdiSwitchChReqParams: the switch ch parameters as
10251 specified by the Device Interface
10252
10253 wdiSwitchChRspCb: callback for passing back the response
10254 of the switch ch operation received from the device
10255
10256 pUserData: user data will be passed back with the
10257 callback
10258
10259 @see WDI_Start
10260 @return Result of the function call
10261*/
10262
10263WDI_Status
10264WDI_SwitchChReq_V1
10265(
10266 WDI_SwitchChReqParamsType_V1* pwdiSwitchChReqParams,
10267 WDI_SwitchChRspCb_V1 wdiSwitchChRspCb,
10268 void* pUserData
10269);
10270
10271/**
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -080010272 @brief WDI_UpdateChannelReq will be called when the upper MAC
10273 wants to update the channel list on change in country code.
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -080010274 In state BUSY this request will be queued. Request won't
10275 be allowed in any other state.
10276
10277 WDI_UpdateChannelReq must have been called.
10278
10279 @param wdiUpdateChannelReqParams: the updated channel parameters
10280 as specified by the Device Interface
10281
10282 wdiUpdateChannelRspCb: callback for passing back the
10283 response of the update channel operation received from
10284 the device
10285
10286 pUserData: user data will be passed back with the
10287 callback
10288
10289 @return Result of the function call
10290*/
10291WDI_Status
10292WDI_UpdateChannelReq
10293(
10294 WDI_UpdateChReqParamsType *pwdiUpdateChannelReqParams,
10295 WDI_UpdateChannelRspCb wdiUpdateChannelRspCb,
10296 void* pUserData
10297);
Jeff Johnson295189b2012-06-20 16:38:30 -070010298
10299/**
10300 @brief WDI_ConfigSTAReq will be called when the upper MAC
10301 wishes to add or update a STA in HW. Upon the call of
10302 this API the WLAN DAL will pack and send a HAL Start
10303 message request message to the lower RIVA sub-system if
10304 DAL is in state STARTED.
10305
10306 In state BUSY this request will be queued. Request won't
10307 be allowed in any other state.
10308
10309 WDI_Start must have been called.
10310
10311 @param wdiConfigSTAReqParams: the config STA parameters as
10312 specified by the Device Interface
10313
10314 wdiConfigSTARspCb: callback for passing back the
10315 response of the config STA operation received from the
10316 device
10317
10318 pUserData: user data will be passed back with the
10319 callback
10320
10321 @see WDI_Start
10322 @return Result of the function call
10323*/
10324WDI_Status
10325WDI_ConfigSTAReq
10326(
10327 WDI_ConfigSTAReqParamsType* pwdiConfigSTAReqParams,
10328 WDI_ConfigSTARspCb wdiConfigSTARspCb,
10329 void* pUserData
10330);
10331
10332/**
10333 @brief WDI_SetLinkStateReq will be called when the upper MAC
10334 wants to change the state of an ongoing link. Upon the
10335 call of this API the WLAN DAL will pack and send a HAL
10336 Start message request message to the lower RIVA
10337 sub-system if DAL is in state STARTED.
10338
10339 In state BUSY this request will be queued. Request won't
10340 be allowed in any other state.
10341
10342 WDI_JoinReq must have been called.
10343
10344 @param wdiSetLinkStateReqParams: the set link state parameters
10345 as specified by the Device Interface
10346
10347 wdiSetLinkStateRspCb: callback for passing back the
10348 response of the set link state operation received from
10349 the device
10350
10351 pUserData: user data will be passed back with the
10352 callback
10353
10354 @see WDI_JoinStartReq
10355 @return Result of the function call
10356*/
10357WDI_Status
10358WDI_SetLinkStateReq
10359(
10360 WDI_SetLinkReqParamsType* pwdiSetLinkStateReqParams,
10361 WDI_SetLinkStateRspCb wdiSetLinkStateRspCb,
10362 void* pUserData
10363);
10364
10365
10366/**
10367 @brief WDI_GetStatsReq will be called when the upper MAC wants
10368 to get statistics (MIB counters) from the device. Upon
10369 the call of this API the WLAN DAL will pack and send a
10370 HAL Start request message to the lower RIVA sub-system
10371 if DAL is in state STARTED.
10372
10373 In state BUSY this request will be queued. Request won't
10374 be allowed in any other state.
10375
10376 WDI_Start must have been called.
10377
10378 @param wdiGetStatsReqParams: the stats parameters to get as
10379 specified by the Device Interface
10380
10381 wdiGetStatsRspCb: callback for passing back the response
10382 of the get stats operation received from the device
10383
10384 pUserData: user data will be passed back with the
10385 callback
10386
10387 @see WDI_Start
10388 @return Result of the function call
10389*/
10390WDI_Status
10391WDI_GetStatsReq
10392(
10393 WDI_GetStatsReqParamsType* pwdiGetStatsReqParams,
10394 WDI_GetStatsRspCb wdiGetStatsRspCb,
10395 void* pUserData
10396);
10397
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -080010398#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -080010399/**
10400 @brief WDI_GetRoamRssiReq will be called when the upper MAC wants
10401 to get roam rssi from the device. Upon
10402 the call of this API the WLAN DAL will pack and send a
10403 HAL Start request message to the lower RIVA sub-system
10404 if DAL is in state STARTED.
10405
10406 In state BUSY this request will be queued. Request won't
10407 be allowed in any other state.
10408
10409 WDI_Start must have been called.
10410
10411 @param wdiGetRoamRssiReqParams: the stats parameters to get as
10412 specified by the Device Interface
10413
10414 wdiGetRoamRssispCb: callback for passing back the response
10415 of the get stats operation received from the device
10416
10417 pUserData: user data will be passed back with the
10418 callback
10419
10420 @see WDI_Start
10421 @return Result of the function call
10422*/
10423WDI_Status
10424WDI_GetRoamRssiReq
10425(
10426 WDI_GetRoamRssiReqParamsType* pwdiGetRoamRssiReqParams,
10427 WDI_GetRoamRssiRspCb wdiGetRoamRssiRspCb,
10428 void* pUserData
10429);
10430#endif
Jeff Johnson295189b2012-06-20 16:38:30 -070010431
10432/**
10433 @brief WDI_UpdateCfgReq will be called when the upper MAC when
10434 it wishes to change the configuration of the WLAN
10435 Device. Upon the call of this API the WLAN DAL will pack
10436 and send a HAL Update CFG request message to the lower
10437 RIVA sub-system if DAL is in state STARTED.
10438
10439 In state BUSY this request will be queued. Request won't
10440 be allowed in any other state.
10441
10442 WDI_Start must have been called.
10443
10444 @param wdiUpdateCfgReqParams: the update cfg parameters as
10445 specified by the Device Interface
10446
10447 wdiUpdateCfgsRspCb: callback for passing back the
10448 response of the update cfg operation received from the
10449 device
10450
10451 pUserData: user data will be passed back with the
10452 callback
10453
10454 @see WDI_Start
10455 @return Result of the function call
10456*/
10457WDI_Status
10458WDI_UpdateCfgReq
10459(
10460 WDI_UpdateCfgReqParamsType* pwdiUpdateCfgReqParams,
10461 WDI_UpdateCfgRspCb wdiUpdateCfgsRspCb,
10462 void* pUserData
10463);
10464
10465/**
10466 @brief WDI_NvDownloadReq will be called by the UMAC to dowload the NV blob
10467 to the NV memory.
10468
10469 @param wdiNvDownloadReqParams: the NV Download parameters as specified by
10470 the Device Interface
10471
10472 wdiNvDownloadRspCb: callback for passing back the response of
10473 the NV Download operation received from the device
10474
10475 pUserData: user data will be passed back with the
10476 callback
10477
10478 @see WDI_PostAssocReq
10479 @return Result of the function call
10480*/
10481WDI_Status
10482WDI_NvDownloadReq
10483(
10484 WDI_NvDownloadReqParamsType* pwdiNvDownloadReqParams,
10485 WDI_NvDownloadRspCb wdiNvDownloadRspCb,
10486 void* pUserData
10487);
10488/**
10489 @brief WDI_AddBAReq will be called when the upper MAC has setup
10490 successfully a BA session and needs to notify the HW for
10491 the appropriate settings to take place. Upon the call of
10492 this API the WLAN DAL will pack and send a HAL Add BA
10493 request message to the lower RIVA sub-system if DAL is
10494 in state STARTED.
10495
10496 In state BUSY this request will be queued. Request won't
10497 be allowed in any other state.
10498
10499 WDI_PostAssocReq must have been called.
10500
10501 @param wdiAddBAReqParams: the add BA parameters as specified by
10502 the Device Interface
10503
10504 wdiAddBARspCb: callback for passing back the response of
10505 the add BA operation received from the device
10506
10507 pUserData: user data will be passed back with the
10508 callback
10509
10510 @see WDI_PostAssocReq
10511 @return Result of the function call
10512*/
10513WDI_Status
10514WDI_AddBAReq
10515(
10516 WDI_AddBAReqParamsType* pwdiAddBAReqParams,
10517 WDI_AddBARspCb wdiAddBARspCb,
10518 void* pUserData
10519);
10520
10521/**
10522 @brief WDI_TriggerBAReq will be called when the upper MAC has setup
10523 successfully a BA session and needs to notify the HW for
10524 the appropriate settings to take place. Upon the call of
10525 this API the WLAN DAL will pack and send a HAL Add BA
10526 request message to the lower RIVA sub-system if DAL is
10527 in state STARTED.
10528
10529 In state BUSY this request will be queued. Request won't
10530 be allowed in any other state.
10531
10532 WDI_PostAssocReq must have been called.
10533
10534 @param wdiAddBAReqParams: the add BA parameters as specified by
10535 the Device Interface
10536
10537 wdiAddBARspCb: callback for passing back the response of
10538 the add BA operation received from the device
10539
10540 pUserData: user data will be passed back with the
10541 callback
10542
10543 @see WDI_PostAssocReq
10544 @return Result of the function call
10545*/
10546WDI_Status
10547WDI_TriggerBAReq
10548(
10549 WDI_TriggerBAReqParamsType* pwdiTriggerBAReqParams,
10550 WDI_TriggerBARspCb wdiTriggerBARspCb,
10551 void* pUserData
10552);
10553
10554
10555/**
10556 @brief WDI_IsHwFrameTxTranslationCapable checks to see if HW
10557 frame xtl is enabled for a particular STA.
10558
10559 WDI_PostAssocReq must have been called.
10560
10561 @param uSTAIdx: STA index
10562
10563 @see WDI_PostAssocReq
10564 @return Result of the function call
10565*/
10566wpt_boolean WDI_IsHwFrameTxTranslationCapable
10567(
10568 wpt_uint8 uSTAIdx
10569);
10570
Katya Nigam6201c3e2014-05-27 17:51:42 +053010571
10572/**
10573 @brief WDI_IsSelfSTA - check if staid is self sta index
10574
10575 @param pWDICtx: pointer to the WLAN DAL context
10576 ucSTAIdx: station index
10577
10578 @return Result of the function call
10579*/
10580
10581wpt_boolean
10582WDI_IsSelfSTA
10583(
10584 void* pWDICtx,
10585 wpt_uint8 ucSTAIdx
10586);
10587
10588
Jeff Johnson295189b2012-06-20 16:38:30 -070010589#ifdef WLAN_FEATURE_VOWIFI_11R
10590/**
10591 @brief WDI_AggrAddTSReq will be called when the upper MAC to inform
10592 the device of a successful add TSpec negotiation for 11r. HW
10593 needs to receive the TSpec Info from the UMAC in order
10594 to configure properly the QoS data traffic. Upon the
10595 call of this API the WLAN DAL will pack and send a HAL
10596 Aggregated Add TS request message to the lower RIVA sub-system if
10597 DAL is in state STARTED.
10598
10599 In state BUSY this request will be queued. Request won't
10600 be allowed in any other state.
10601
10602 WDI_PostAssocReq must have been called.
10603
10604 @param wdiAggrAddTsReqParams: the add TS parameters as specified by
10605 the Device Interface
10606
10607 wdiAggrAddTsRspCb: callback for passing back the response of
10608 the add TS operation received from the device
10609
10610 pUserData: user data will be passed back with the
10611 callback
10612
10613 @see WDI_PostAssocReq
10614 @return Result of the function call
10615*/
10616WDI_Status
10617WDI_AggrAddTSReq
10618(
10619 WDI_AggrAddTSReqParamsType* pwdiAddTsReqParams,
10620 WDI_AggrAddTsRspCb wdiAggrAddTsRspCb,
10621 void* pUserData
10622);
10623#endif /* WLAN_FEATURE_VOWIFI_11R */
10624/**
10625 @brief WDI_STATableInit - Initializes the STA tables.
10626 Allocates the necesary memory.
10627
10628
10629 @param pWDICtx: pointer to the WLAN DAL context
10630
10631 @see
10632 @return Result of the function call
10633*/
10634
10635WDI_Status WDI_StubRunTest
10636(
10637 wpt_uint8 ucTestNo
10638);
10639
Jeff Johnson295189b2012-06-20 16:38:30 -070010640/**
10641 @brief WDI_FTMCommandReq -
10642 Route FTMRequest Command to HAL
10643
10644 @param ftmCommandReq: FTM request command body
10645 @param ftmCommandRspCb: Response CB
10646 @param pUserData: User data will be included with CB
10647
10648 @return Result of the function call
10649*/
10650WDI_Status WDI_FTMCommandReq
10651(
10652 WDI_FTMCommandReqType *ftmCommandReq,
10653 WDI_FTMCommandRspCb ftmCommandRspCb,
10654 void *pUserData
10655);
Jeff Johnson295189b2012-06-20 16:38:30 -070010656
10657/**
10658 @brief WDI_HostResumeReq will be called
10659
10660 In state BUSY this request will be queued. Request won't
10661 be allowed in any other state.
10662
10663
10664 @param pwdiResumeReqParams: as specified by
10665 the Device Interface
10666
10667 wdiResumeReqRspCb: callback for passing back the response of
10668 the Resume Req received from the device
10669
10670 pUserData: user data will be passed back with the
10671 callback
10672
10673 @see WDI_PostAssocReq
10674 @return Result of the function call
10675*/
10676WDI_Status
10677WDI_HostResumeReq
10678(
10679 WDI_ResumeParamsType* pwdiResumeReqParams,
10680 WDI_HostResumeEventRspCb wdiResumeReqRspCb,
10681 void* pUserData
10682);
10683
10684/**
10685 @brief WDI_GetAvailableResCount - Function to get the available resource
10686 for data and managemnt frames.
10687
10688 @param pContext: pointer to the WDI context
10689 @param wdiResPool: type of resource pool requesting
10690 @see
10691 @return Result of the function call
10692*/
10693
10694wpt_uint32 WDI_GetAvailableResCount
10695(
10696 void *pContext,
10697 WDI_ResPoolType wdiResPool
10698);
10699
10700/**
10701 @brief WDI_SetAddSTASelfReq will be called when the
10702 UMAC wanted to add self STA while opening any new session
10703 In state BUSY this request will be queued. Request won't
10704 be allowed in any other state.
10705
10706
10707 @param pwdiAddSTASelfParams: the add self sta parameters as
10708 specified by the Device Interface
10709
10710 pUserData: user data will be passed back with the
10711 callback
10712
10713 @see
10714 @return Result of the function call
10715*/
10716WDI_Status
10717WDI_AddSTASelfReq
10718(
10719 WDI_AddSTASelfReqParamsType* pwdiAddSTASelfReqParams,
10720 WDI_AddSTASelfParamsRspCb wdiAddSTASelfReqParamsRspCb,
10721 void* pUserData
10722);
10723
10724
10725/**
10726 @brief WDI_DelSTASelfReq will be called .
10727
10728 @param WDI_DelSTASelfReqParamsType
10729
10730 WDI_DelSTASelfRspCb: callback for passing back the
10731 response of the del sta self operation received from the
10732 device
10733
10734 pUserData: user data will be passed back with the
10735 callback
10736
10737 @see WDI_PostAssocReq
10738 @return Result of the function call
10739*/
10740WDI_Status
10741WDI_DelSTASelfReq
10742(
10743 WDI_DelSTASelfReqParamsType* pwdiDelStaSelfParams,
10744 WDI_DelSTASelfRspCb wdiDelStaSelfRspCb,
10745 void* pUserData
10746);
10747
10748/**
10749 @brief WDI_HostSuspendInd
10750
10751 Suspend Indication from the upper layer will be sent
10752 down to HAL
10753
10754 @param WDI_SuspendParamsType
10755
10756 @see
10757
10758 @return Status of the request
10759*/
10760WDI_Status
10761WDI_HostSuspendInd
10762(
10763 WDI_SuspendParamsType* pwdiSuspendIndParams
10764);
10765
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -080010766/**
10767 @brief WDI_TrafficStatsInd
10768
10769 Traffic Stats from the upper layer will be sent
10770 down to HAL
10771
10772 @param WDI_TrafficStatsIndType
10773
10774 @see
10775
10776 @return Status of the request
10777*/
10778WDI_Status
10779WDI_TrafficStatsInd
10780(
10781 WDI_TrafficStatsIndType *pWdiTrafficStatsIndParams
10782);
10783
Chet Lanctot186b5732013-03-18 10:26:30 -070010784#ifdef WLAN_FEATURE_11W
10785/**
10786 @brief WDI_ExcludeUnencryptedInd
10787 Register with HAL to receive/drop unencrypted frames
10788
10789 @param WDI_ExcludeUnencryptIndType
10790
10791 @see
10792
10793 @return Status of the request
10794*/
10795WDI_Status
10796WDI_ExcludeUnencryptedInd
10797(
10798 WDI_ExcludeUnencryptIndType *pWdiExcUnencParams
10799);
10800#endif
10801
Yue Mab9c86f42013-08-14 15:59:08 -070010802/**
10803 @brief WDI_AddPeriodicTxPtrnInd
10804
10805 @param WDI_AddPeriodicTxPtrnParamsType
10806
10807 @see
10808
10809 @return Status of the request
10810*/
10811WDI_Status
10812WDI_AddPeriodicTxPtrnInd
10813(
10814 WDI_AddPeriodicTxPtrnParamsType *addPeriodicTxPtrnParams
10815);
10816
10817/**
10818 @brief WDI_DelPeriodicTxPtrnInd
10819
10820 @param WDI_DelPeriodicTxPtrnParamsType
10821
10822 @see
10823
10824 @return Status of the request
10825*/
10826WDI_Status
10827WDI_DelPeriodicTxPtrnInd
10828(
10829 WDI_DelPeriodicTxPtrnParamsType *delPeriodicTxPtrnParams
10830);
10831
Jeff Johnson295189b2012-06-20 16:38:30 -070010832#ifdef FEATURE_WLAN_SCAN_PNO
10833/**
10834 @brief WDI_SetPreferredNetworkList
10835
10836 @param pwdiPNOScanReqParams: the Set PNO as specified
10837 by the Device Interface
10838
10839 wdiPNOScanCb: callback for passing back the response
10840 of the Set PNO operation received from the
10841 device
10842
10843 pUserData: user data will be passed back with the
10844 callback
10845
10846 @see WDI_PostAssocReq
10847 @return Result of the function call
10848*/
10849WDI_Status
10850WDI_SetPreferredNetworkReq
10851(
10852 WDI_PNOScanReqParamsType* pwdiPNOScanReqParams,
10853 WDI_PNOScanCb wdiPNOScanCb,
10854 void* pUserData
10855);
10856
10857/**
10858 @brief WDI_SetRssiFilterReq
10859
10860 @param pwdiRssiFilterReqParams: the Set RSSI Filter as
10861 specified by the Device Interface
10862
10863 wdiRssiFilterCb: callback for passing back the response
10864 of the Set RSSI Filter operation received from the
10865 device
10866
10867 pUserData: user data will be passed back with the
10868 callback
10869
10870 @see WDI_PostAssocReq
10871 @return Result of the function call
10872*/
10873WDI_Status
10874WDI_SetRssiFilterReq
10875(
10876 WDI_SetRssiFilterReqParamsType* pwdiRssiFilterReqParams,
10877 WDI_RssiFilterCb wdiRssiFilterCb,
10878 void* pUserData
10879);
10880
10881/**
10882 @brief WDI_UpdateScanParams
10883
10884 @param pwdiUpdateScanParamsInfoType: the Update Scan Params as specified
10885 by the Device Interface
10886
10887 wdiUpdateScanParamsCb: callback for passing back the response
10888 of the Set PNO operation received from the
10889 device
10890
10891 pUserData: user data will be passed back with the
10892 callback
10893
10894 @see WDI_PostAssocReq
10895 @return Result of the function call
10896*/
10897WDI_Status
10898WDI_UpdateScanParamsReq
10899(
10900 WDI_UpdateScanParamsInfoType* pwdiUpdateScanParamsInfoType,
10901 WDI_UpdateScanParamsCb wdiUpdateScanParamsCb,
10902 void* pUserData
10903);
10904#endif // FEATURE_WLAN_SCAN_PNO
10905
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010906#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
10907/**
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010908 @brief WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010909
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010910 @param pwdiRoamScanOffloadReqParams: Start Roam Candidate Lookup Req as specified
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010911 by the Device Interface
10912
10913 wdiRoamOffloadScanCb: callback for passing back the response
10914 of the Start Roam Candidate Lookup operation received from the
10915 device
10916
10917 pUserData: user data will be passed back with the
10918 callback
10919
10920 @return Result of the function call
10921*/
10922WDI_Status
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010923WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010924(
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010925 WDI_RoamScanOffloadReqParamsType *pwdiRoamScanOffloadReqParams,
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010926 WDI_RoamOffloadScanCb wdiRoamOffloadScancb,
10927 void* pUserData
10928);
10929#endif
10930
Jeff Johnson295189b2012-06-20 16:38:30 -070010931/**
10932 @brief WDI_SetTxPerTrackingReq will be called when the upper MAC
10933 wants to set the Tx Per Tracking configurations.
10934 Upon the call of this API the WLAN DAL will pack
10935 and send a HAL Set Tx Per Tracking request message to the
10936 lower RIVA sub-system if DAL is in state STARTED.
10937
10938 In state BUSY this request will be queued. Request won't
10939 be allowed in any other state.
10940
10941 @param wdiSetTxPerTrackingConf: the Set Tx PER Tracking configurations as
10942 specified by the Device Interface
10943
10944 wdiSetTxPerTrackingCb: callback for passing back the
10945 response of the set Tx PER Tracking configurations operation received
10946 from the device
10947
10948 pUserData: user data will be passed back with the
10949 callback
10950
10951 @return Result of the function call
10952*/
10953WDI_Status
10954WDI_SetTxPerTrackingReq
10955(
10956 WDI_SetTxPerTrackingReqParamsType* pwdiSetTxPerTrackingReqParams,
10957 WDI_SetTxPerTrackingRspCb pwdiSetTxPerTrackingRspCb,
10958 void* pUserData
10959);
10960
10961/**
10962 @brief WDI_SetTmLevelReq
10963 If HW Thermal condition changed, driver should react based on new
10964 HW thermal condition.
10965
10966 @param pwdiSetTmLevelReq: New thermal condition information
10967
10968 pwdiSetTmLevelRspCb: callback
10969
10970 usrData: user data will be passed back with the
10971 callback
10972
10973 @return Result of the function call
10974*/
10975WDI_Status
10976WDI_SetTmLevelReq
10977(
10978 WDI_SetTmLevelReqType *pwdiSetTmLevelReq,
10979 WDI_SetTmLevelCb pwdiSetTmLevelRspCb,
10980 void *usrData
10981);
10982
10983#ifdef WLAN_FEATURE_PACKET_FILTERING
10984/**
10985 @brief WDI_8023MulticastListReq
10986
10987 @param pwdiRcvFltPktSetMcListReqInfo: the Set 8023 Multicast
10988 List as specified by the Device Interface
10989
10990 wdi8023MulticastListCallback: callback for passing back
10991 the response of the Set 8023 Multicast List operation
10992 received from the device
10993
10994 pUserData: user data will be passed back with the
10995 callback
10996
10997 @see WDI_PostAssocReq
10998 @return Result of the function call
10999*/
11000WDI_Status
11001WDI_8023MulticastListReq
11002(
11003 WDI_RcvFltPktSetMcListReqParamsType* pwdiRcvFltPktSetMcListReqInfo,
11004 WDI_8023MulticastListCb wdi8023MulticastListCallback,
11005 void* pUserData
11006);
11007
11008/**
11009 @brief WDI_ReceiveFilterSetFilterReq
11010
11011 @param pwdiSetRcvPktFilterReqInfo: the Set Receive Filter as
11012 specified by the Device Interface
11013
11014 wdiReceiveFilterSetFilterReqCallback: callback for
11015 passing back the response of the Set Receive Filter
11016 operation received from the device
11017
11018 pUserData: user data will be passed back with the
11019 callback
11020
11021 @see WDI_PostAssocReq
11022 @return Result of the function call
11023*/
11024WDI_Status
11025WDI_ReceiveFilterSetFilterReq
11026(
11027 WDI_SetRcvPktFilterReqParamsType* pwdiSetRcvPktFilterReqInfo,
11028 WDI_ReceiveFilterSetFilterCb wdiReceiveFilterSetFilterReqCallback,
11029 void* pUserData
11030);
11031
11032/**
11033 @brief WDI_PCFilterMatchCountReq
11034
11035 @param pwdiRcvFltPktMatchCntReqInfo: get D0 PC Filter Match
11036 Count
11037
11038 wdiPCFilterMatchCountCallback: callback for passing back
11039 the response of the D0 PC Filter Match Count operation
11040 received from the device
11041
11042 pUserData: user data will be passed back with the
11043 callback
11044
11045 @see WDI_PostAssocReq
11046 @return Result of the function call
11047*/
11048WDI_Status
11049WDI_FilterMatchCountReq
11050(
11051 WDI_RcvFltPktMatchCntReqParamsType* pwdiRcvFltPktMatchCntReqInfo,
11052 WDI_FilterMatchCountCb wdiFilterMatchCountCallback,
11053 void* pUserData
11054);
11055
11056/**
11057 @brief WDI_ReceiveFilterClearFilterReq
11058
11059 @param pwdiRcvFltPktClearReqInfo: the Clear Filter as
11060 specified by the Device Interface
11061
11062 wdiReceiveFilterClearFilterCallback: callback for
11063 passing back the response of the Clear Filter
11064 operation received from the device
11065
11066 pUserData: user data will be passed back with the
11067 callback
11068
11069 @see WDI_PostAssocReq
11070 @return Result of the function call
11071*/
11072WDI_Status
11073WDI_ReceiveFilterClearFilterReq
11074(
11075 WDI_RcvFltPktClearReqParamsType* pwdiRcvFltPktClearReqInfo,
11076 WDI_ReceiveFilterClearFilterCb wdiReceiveFilterClearFilterCallback,
11077 void* pUserData
11078);
11079#endif // WLAN_FEATURE_PACKET_FILTERING
11080
11081/**
11082 @brief WDI_HALDumpCmdReq
11083 Post HAL DUMP Command Event
11084
11085 @param halDumpCmdReqParams: Hal Dump Command Body
11086 @param halDumpCmdRspCb: callback for passing back the
11087 response
11088 @param pUserData: Client Data
11089
11090 @see
11091 @return Result of the function call
11092*/
11093WDI_Status WDI_HALDumpCmdReq(
11094 WDI_HALDumpCmdReqParamsType *halDumpCmdReqParams,
11095 WDI_HALDumpCmdRspCb halDumpCmdRspCb,
11096 void *pUserData
11097);
11098
11099
11100/**
11101 @brief WDI_SetPowerParamsReq
11102
11103 @param pwdiPowerParamsReqParams: the Set Power Params as
11104 specified by the Device Interface
11105
11106 wdiPowerParamsCb: callback for passing back the response
11107 of the Set Power Params operation received from the
11108 device
11109
11110 pUserData: user data will be passed back with the
11111 callback
11112
11113 @return Result of the function call
11114*/
11115WDI_Status
11116WDI_SetPowerParamsReq
11117(
11118 WDI_SetPowerParamsReqParamsType* pwdiPowerParamsReqParams,
11119 WDI_SetPowerParamsCb wdiPowerParamsCb,
11120 void* pUserData
11121);
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +053011122/**
11123 @brief WDI_dhcpStartInd
11124 Forward the DHCP Start event
11125
11126 @param
11127
11128 wdiDHCPInd: device mode and MAC address is passed
11129
11130 @see
11131 @return Result of the function call
11132*/
11133
11134WDI_Status
11135WDI_dhcpStartInd
11136(
11137 WDI_DHCPInd *wdiDHCPInd
11138);
11139/**
11140 @brief WDI_dhcpStopReq
11141 Forward the DHCP Stop event
11142
11143 @param
11144
11145 wdiDHCPInd: device mode and MAC address is passed
11146
11147 @see
11148 @return Result of the function call
11149*/
11150
11151WDI_Status
11152WDI_dhcpStopInd
11153(
11154 WDI_DHCPInd *wdiDHCPInd
11155);
Jeff Johnson295189b2012-06-20 16:38:30 -070011156
Chittajit Mitraf5413a42013-10-18 14:20:08 -070011157/**
11158 @brief WDI_RateUpdateInd will be called when the upper MAC
11159 requests the device to update rates.
11160
11161 In state BUSY this request will be queued. Request won't
11162 be allowed in any other state.
11163
11164
11165 @param wdiRateUpdateIndParams
11166
11167
11168 @see WDI_Start
11169 @return Result of the function call
11170*/
11171WDI_Status
11172WDI_RateUpdateInd
11173(
11174 WDI_RateUpdateIndParams *wdiRateUpdateIndParams
11175);
11176
Jeff Johnson295189b2012-06-20 16:38:30 -070011177#ifdef WLAN_FEATURE_GTK_OFFLOAD
11178/**
11179 @brief WDI_GTKOffloadReq will be called when the upper MAC
11180 wants to set GTK Rekey Counter while in power save. Upon
11181 the call of this API the WLAN DAL will pack and send a
11182 HAL GTK offload request message to the lower RIVA
11183 sub-system if DAL is in state STARTED.
11184
11185 In state BUSY this request will be queued. Request won't
11186 be allowed in any other state.
11187
11188 WDI_PostAssocReq must have been called.
11189
11190 @param pwdiGtkOffloadParams: the GTK offload as specified
11191 by the Device Interface
11192
11193 wdiGtkOffloadCb: callback for passing back the response
11194 of the GTK offload operation received from the device
11195
11196 pUserData: user data will be passed back with the
11197 callback
11198
11199 @see WDI_PostAssocReq
11200 @return Result of the function call
11201*/
11202WDI_Status
11203WDI_GTKOffloadReq
11204(
11205 WDI_GtkOffloadReqMsg* pwdiGtkOffloadReqMsg,
11206 WDI_GtkOffloadCb wdiGtkOffloadCb,
11207 void* pUserData
11208);
11209
11210/**
11211 @brief WDI_GTKOffloadGetInfoReq will be called when the upper
11212 MAC wants to get GTK Rekey Counter while in power save.
11213 Upon the call of this API the WLAN DAL will pack and
11214 send a HAL GTK offload request message to the lower RIVA
11215 sub-system if DAL is in state STARTED.
11216
11217 In state BUSY this request will be queued. Request won't
11218 be allowed in any other state.
11219
11220 WDI_PostAssocReq must have been called.
11221
11222 @param pwdiGtkOffloadGetInfoReqMsg: the GTK Offload
11223 Information Message as specified by the
11224 Device Interface
11225
11226 wdiGtkOffloadGetInfoCb: callback for passing back the
11227 response of the GTK offload operation received from the
11228 device
11229
11230 pUserData: user data will be passed back with the
11231 callback
11232
11233 @see WDI_PostAssocReq
11234 @return Result of the function call
11235*/
11236WDI_Status
11237WDI_GTKOffloadGetInfoReq
11238(
11239 WDI_GtkOffloadGetInfoReqMsg* pwdiGtkOffloadGetInfoReqMsg,
11240 WDI_GtkOffloadGetInfoCb wdiGtkOffloadGetInfoCb,
11241 void* pUserData
11242);
11243#endif // WLAN_FEATURE_GTK_OFFLOAD
11244
11245/**
11246 @brief WDI_featureCapsExchangeReq
11247 Post feature capability bitmap exchange event.
11248 Host will send its own capability to FW in this req and
11249 expect FW to send its capability back as a bitmap in Response
11250
11251 @param
11252
11253 wdiFeatCapsExcRspCb: callback called on getting the response.
11254 It is kept to mantain similarity between WDI reqs and if needed, can
11255 be used in future. Currently, It is set to NULL
11256
11257 pUserData: user data will be passed back with the
11258 callback
11259
11260 @see
11261 @return Result of the function call
11262*/
11263WDI_Status
11264WDI_featureCapsExchangeReq
11265(
11266 WDI_featureCapsExchangeCb wdiFeatureCapsExchangeCb,
11267 void* pUserData
11268);
11269
11270/**
Yathish9f22e662012-12-10 14:21:35 -080011271 @brief Disable Active mode offload in Host
11272
11273 @param void
11274 @see
11275 @return void
11276*/
11277void
11278WDI_disableCapablityFeature(wpt_uint8 feature_index);
11279
11280
11281/**
Jeff Johnson295189b2012-06-20 16:38:30 -070011282 @brief WDI_getHostWlanFeatCaps
11283 WDI API that returns whether the feature passed to it as enum value in
11284 "placeHolderInCapBitmap" is supported by Host or not. It uses WDI global
11285 variable storing host capability bitmap to find this. This can be used by
11286 other moduels to decide certain things like call different APIs based on
11287 whether a particular feature is supported.
11288
11289 @param
11290
11291 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap in wlan_hal_msg.h.
11292
11293 @see
11294 @return
11295 0 - if the feature is NOT supported in host
11296 any non-zero value - if the feature is SUPPORTED in host.
11297*/
11298wpt_uint8 WDI_getHostWlanFeatCaps(wpt_uint8 feat_enum_value);
11299
11300/**
11301 @brief WDI_getFwWlanFeatCaps
11302 WDI API that returns whether the feature passed to it as enum value in
11303 "placeHolderInCapBitmap" is supported by FW or not. It uses WDI global
11304 variable storing host capability bitmap to find this. This can be used by
11305 other moduels to decide certain things like call different APIs based on
11306 whether a particular feature is supported.
11307
11308 @param
11309
Jeff Johnsone7245742012-09-05 17:12:55 -070011310 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap
11311 in wlan_hal_msg.h.
Jeff Johnson295189b2012-06-20 16:38:30 -070011312
11313 @see
11314 @return
11315 0 - if the feature is NOT supported in FW
11316 any non-zero value - if the feature is SUPPORTED in FW.
11317*/
11318wpt_uint8 WDI_getFwWlanFeatCaps(wpt_uint8 feat_enum_value);
11319
11320/**
11321 @brief WDI_GetWcnssCompiledApiVersion - Function to get wcnss compiled
11322 api version
11323
11324 @param WDI_WlanVersionType: Wlan version structure
11325 @see
11326 @return none
11327*/
11328
11329void WDI_GetWcnssCompiledApiVersion
11330(
11331 WDI_WlanVersionType *pWcnssApiVersion
11332);
11333
Mohit Khanna4a70d262012-09-11 16:30:12 -070011334#ifdef WLAN_FEATURE_11AC
11335WDI_Status
11336WDI_UpdateVHTOpModeReq
11337(
11338 WDI_UpdateVHTOpMode *pData,
11339 WDI_UpdateVHTOpModeCb wdiUpdateVHTOpModeCb,
11340 void* pUserData
11341);
Jeff Johnson295189b2012-06-20 16:38:30 -070011342
Mohit Khanna4a70d262012-09-11 16:30:12 -070011343#endif
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070011344
11345/**
11346 @brief WDI_TransportChannelDebug -
11347 Display DXE Channel debugging information
11348 User may request to display DXE channel snapshot
11349 Or if host driver detects any abnormal stcuk may display
11350
Jeff Johnsonb88db982012-12-10 13:34:59 -080011351 @param displaySnapshot : Display DXE snapshot option
Mihir Shete40a55652014-03-02 14:14:47 +053011352 @param debugFlags : Enable stall detect features
11353 defined by WPAL_DeviceDebugFlags
11354 These features may effect
11355 data performance.
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070011356 @see
11357 @return none
11358*/
11359void WDI_TransportChannelDebug
11360(
11361 wpt_boolean displaySnapshot,
Mihir Shete40a55652014-03-02 14:14:47 +053011362 wpt_uint8 debugFlags
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070011363);
11364
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -070011365/**
11366 @brief WDI_SsrTimerCB
11367 Callback function for SSR timer, if this is called then the graceful
11368 shutdown for Riva did not happen.
11369
11370 @param pUserData : user data to timer
11371
11372 @see
11373 @return none
11374*/
11375void
11376WDI_SsrTimerCB
11377(
11378 void *pUserData
11379);
11380
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -070011381/**
11382 @brief WDI_SetEnableSSR -
11383 This API is called to enable/disable SSR on WDI timeout.
11384
11385 @param enableSSR : enable/disable SSR
11386
11387 @see
11388 @return none
11389*/
11390void WDI_SetEnableSSR(wpt_boolean enableSSR);
11391
Leo Chang9056f462013-08-01 19:21:11 -070011392#ifdef FEATURE_WLAN_LPHB
11393/**
11394 @brief WDI_LPHBConfReq
11395 This API is called to config FW LPHB rule
11396
11397 @param lphbconfParam : LPHB rule should config to FW
11398 usrData : Client context
11399 lphbCfgCb : Configuration status callback
11400 @see
11401 @return SUCCESS or FAIL
11402*/
11403WDI_Status WDI_LPHBConfReq
11404(
11405 void *lphbconfParam,
11406 void *usrData,
11407 WDI_LphbCfgCb lphbCfgCb
11408);
11409#endif /* FEATURE_WLAN_LPHB */
Rajeev79dbe4c2013-10-05 11:03:42 +053011410
Dino Mycle41bdc942014-06-10 11:30:24 +053011411#ifdef WLAN_FEATURE_EXTSCAN
11412/**
11413 @brief WDI_EXTScanStartReq
11414 This API is called to send EXTScan start request to FW
11415
11416 @param pwdiEXTScanStartReqParams : pointer to the request params.
11417 wdiEXTScanStartRspCb : callback on getting the response.
11418 usrData : Client context
11419 @see
11420 @return SUCCESS or FAIL
11421*/
11422WDI_Status WDI_EXTScanStartReq
11423(
11424 WDI_EXTScanStartReqParams* pwdiEXTScanStartReqParams,
11425 WDI_EXTScanStartRspCb wdiEXTScanStartRspCb,
11426 void* pUserData
11427);
11428
11429/**
11430 @brief WDI_EXTScanStopReq
11431 This API is called to stop the EXTScan operations in the FW
11432
11433 @param pwdiEXTScanStopReqParams : pointer to the request params.
11434 wdiEXTScanStopRspCb : callback on getting the response.
11435 usrData : Client context
11436 @see
11437 @return SUCCESS or FAIL
11438*/
11439WDI_Status WDI_EXTScanStopReq
11440(
11441 WDI_EXTScanStopReqParams* pwdiEXTScanStopReqParams,
11442 WDI_EXTScanStopRspCb wdiEXTScanStopRspCb,
11443 void* pUserData
11444);
11445
11446/**
11447 @brief WDI_EXTScanGetCachedResultsReq
11448 This API is called to send get link layer stats request in FW
11449
11450 @param pwdiEXTScanGetCachedResultsReqParams : pointer to the request params.
11451 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
11452 usrData : Client context
11453 @see
11454 @return SUCCESS or FAIL
11455*/
11456WDI_Status WDI_EXTScanGetCachedResultsReq
11457(
11458 WDI_EXTScanGetCachedResultsReqParams* pwdiEXTScanGetCachedResultsReqParams,
11459 WDI_EXTScanGetCachedResultsRspCb wdiEXTScanGetCachedResultsRspCb,
11460 void* pUserData
11461);
11462
11463/**
11464 @brief WDI_EXTScanGetCapabilitiesReq
11465 This API is called to send get EXTScan capabilities from FW
11466
11467 @param pwdiEXTScanGetCachedResultsReqParams : pointer to the request params.
11468 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
11469 usrData : Client context
11470 @see
11471 @return SUCCESS or FAIL
11472*/
11473WDI_Status WDI_EXTScanGetCapabilitiesReq
11474(
11475 WDI_EXTScanGetCapabilitiesReqParams* pwdiEXTScanGetCapabilitiesReqParams,
11476 WDI_EXTScanGetCapabilitiesRspCb wdiEXTScanGetCapabilitiesRspCb,
11477 void* pUserData
11478);
11479
11480/**
11481 @brief WDI_EXTScanSetBSSIDHotlistReq
11482 This API is called to send Set BSSID Hotlist Request FW
11483
11484 @param pwdiEXTScanSetBssidHotlistReqParams : pointer to the request params.
11485 wdiEXTScanSetBSSIDHotlistRspCb : callback on getting the response.
11486 usrData : Client context
11487 @see
11488 @return SUCCESS or FAIL
11489*/
11490WDI_Status WDI_EXTScanSetBSSIDHotlistReq
11491(
11492 WDI_EXTScanSetBSSIDHotlistReqParams* pwdiEXTScanSetBSSIDHotlistReqParams,
11493 WDI_EXTScanSetBSSIDHotlistRspCb wdiEXTScanSetBSSIDHotlistRspCb,
11494 void* pUserData
11495);
11496
11497/**
11498 @brief WDI_EXTScanResetBSSIDHotlistReq
11499 This API is called to send Reset BSSID Hotlist Request FW
11500
11501 @param pwdiEXTScanResetBssidHotlistReqParams : pointer to the request params.
11502 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
11503 usrData : Client context
11504 @see
11505 @return SUCCESS or FAIL
11506*/
11507WDI_Status WDI_EXTScanResetBSSIDHotlistReq
11508(
11509 WDI_EXTScanResetBSSIDHotlistReqParams* pwdiEXTScanResetBSSIDHotlistReqParams,
11510 WDI_EXTScanResetBSSIDHotlistRspCb wdiEXTScanResetBSSIDHotlistRspCb,
11511 void* pUserData
11512);
Padma, Santhosh Kumar9acee012015-08-21 19:58:01 +053011513
11514/**
11515 @brief WDI_EXTScanSetSSIDHotlistReq
11516 This API is called to send Set SSID Hotlist Request FW
11517
11518 @param pwdiEXTScanSetBssidHotlistReqParams : pointer to the request params.
11519 wdiEXTScanSetBSSIDHotlistRspCb : callback on getting the response.
11520 usrData : Client context
11521 @see
11522 @return SUCCESS or FAIL
11523*/
11524WDI_Status WDI_EXTScanSetSSIDHotlistReq
11525(
11526 WDI_EXTScanSetSSIDHotlistReqParams* pwdiEXTScanSetSSIDHotlistReqParams,
11527 WDI_EXTScanSetSSIDHotlistRspCb wdiEXTScanSetSSIDHotlistRspCb,
11528 void* pUserData
11529);
11530
11531/**
11532 @brief WDI_EXTScanResetSSIDHotlistReq
11533 This API is called to send Reset SSID Hotlist Request FW
11534
11535 @param pwdiEXTScanResetSsidHotlistReqParams : pointer to the request params.
11536 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
11537 usrData : Client context
11538 @see
11539 @return SUCCESS or FAIL
11540*/
11541WDI_Status WDI_EXTScanResetSSIDHotlistReq
11542(
11543 WDI_EXTScanResetSSIDHotlistReqParams* pwdiEXTScanResetSSIDHotlistReqParams,
11544 WDI_EXTScanResetSSIDHotlistRspCb wdiEXTScanResetSSIDHotlistRspCb,
11545 void* pUserData
11546);
11547
Padma, Santhosh Kumarc1f7f052015-08-26 12:29:01 +053011548/**
11549 @brief WDI_HighPriorityDataInfoInd
11550
11551 @param pHighPriorityDataInfoIndParams: Req parameter for the FW
11552
11553 @return SUCCESS or FAIL
11554*/
11555WDI_Status
11556WDI_HighPriorityDataInfoInd
11557(
11558 WDI_HighPriorityDataInfoIndParams* pHighPriorityDataInfoIndParams
11559);
11560
Dino Mycle41bdc942014-06-10 11:30:24 +053011561#endif /* WLAN_FEATURE_EXTSCAN */
11562
Sunil Duttbd736ed2014-05-26 21:19:41 +053011563#ifdef WLAN_FEATURE_LINK_LAYER_STATS
11564/**
11565 @brief WDI_LLStatsSetReq
11566 This API is called to send set link layer stats request to FW
11567
11568 @param pwdiLLStatsSetReqParams : pointer to set link layer stats params
11569 wdiLLStatsSetRspCb : set link layer stats response callback
11570 usrData : Client context
11571 @see
11572 @return SUCCESS or FAIL
11573*/
11574WDI_Status WDI_LLStatsSetReq
11575(
11576 WDI_LLStatsSetReqType* pwdiLLStatsSetReqParams,
11577 WDI_LLStatsSetRspCb wdiLLStatsSetRspCb,
11578 void* pUserData
11579);
11580
11581/**
11582 @brief WDI_LLStatsGetReq
11583 This API is called to send get link layer stats request in FW
11584
11585 @param pwdiLLStatsGetParams : pointer to get link layer stats params
11586 wdiLLStatsGetRspCb : get link layer stats response callback
11587 usrData : Client context
11588 @see
11589 @return SUCCESS or FAIL
11590*/
11591WDI_Status WDI_LLStatsGetReq
11592(
11593 WDI_LLStatsGetReqType* pwdiLLStatsGetReqParams,
11594 WDI_LLStatsGetRspCb wdiLLStatsGetRspCb,
11595 void* pUserData
11596);
11597
11598/**
11599 @brief WDI_LLStatsClearReq
11600 This API is called to set clear link layer stats request in FW
11601
11602 @param pwdiLLStatsClearReqParams : pointer to clear link layer stats params
11603 iwdiLLStatsClearRspCb : clear link layer stats response callback
11604 usrData : Client context
11605 @see
11606 @return SUCCESS or FAIL
11607*/
11608WDI_Status WDI_LLStatsClearReq
11609(
11610 WDI_LLStatsClearReqType* pwdiLLStatsClearReqParams,
11611 WDI_LLStatsClearRspCb wdiLLStatsClearRspCb,
11612 void* pUserData
11613);
11614#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
11615
Abhishek Singh85b74712014-10-08 11:38:19 +053011616WDI_Status WDI_FWStatsGetReq
11617(
11618 void* pwdiFWStatsGetReqParams,
11619 WDI_FWStatsGetRspCb wdiFWStatsGetRspCb,
11620 wpt_uint32 pUserData
11621);
11622
Katya Nigamf0511f62015-05-05 16:40:57 +053011623WDI_Status WDI_MonStartReq
11624(
11625 WDI_MonStartReqType* pwdiMonStartReqParams,
Hanumantha Reddy Pothula91cdd7f2015-09-03 21:25:16 +053011626 WDI_MonModeRspCb wdiMonModeRspCb,
Katya Nigamf0511f62015-05-05 16:40:57 +053011627 void* pUserData
11628);
11629
11630WDI_Status WDI_MonStopReq
11631(
Hanumantha Reddy Pothula91cdd7f2015-09-03 21:25:16 +053011632 WDI_MonModeRspCb wdiMonModeRspCb,
Katya Nigamf0511f62015-05-05 16:40:57 +053011633 void* pUserData
11634);
11635
Rajeev79dbe4c2013-10-05 11:03:42 +053011636#ifdef FEATURE_WLAN_BATCH_SCAN
11637/**
11638 @brief WDI_SetBatchScanReq
11639 This API is called to set batch scan request in FW
11640
11641 @param pBatchScanReqParam : pointer to set batch scan re param
11642 usrData : Client context
11643 setBatchScanRspCb : set batch scan resp callback
11644 @see
11645 @return SUCCESS or FAIL
11646*/
11647WDI_Status WDI_SetBatchScanReq
11648(
11649 void *pBatchScanReqParam,
11650 void *usrData,
11651 WDI_SetBatchScanCb setBatchScanRspCb
11652);
11653
11654/**
11655 @brief WDI_StopBatchScanInd
11656
11657 @param none
11658
11659 @see
11660
11661 @return Status of the request
11662*/
11663WDI_Status
11664WDI_StopBatchScanInd(WDI_StopBatchScanIndType *pWdiReq);
11665
11666/**
11667 @brief WDI_TriggerBatchScanResultInd
11668 This API is called to pull batch scan result from FW
11669
11670 @param pBatchScanReqParam : pointer to trigger batch scan ind param
11671 usrData : Client context
11672 setBatchScanRspCb : get batch scan resp callback
11673 @see
11674 @return SUCCESS or FAIL
11675*/
11676WDI_Status
11677WDI_TriggerBatchScanResultInd(WDI_TriggerBatchScanResultIndType *pWdiReq);
11678
11679
11680#endif /*FEATURE_WLAN_BATCH_SCAN*/
11681
Sandeep Puligilla8b8b74b2014-02-10 16:39:05 +053011682/**
11683 @brief wdi_HT40OBSSScanInd
11684 This API is called to start OBSS scan
11685
11686 @param pWdiReq : pointer to get ind param
11687 @see
11688 @return SUCCESS or FAIL
11689*/
11690
11691WDI_Status WDI_HT40OBSSScanInd(WDI_HT40ObssScanParamsType *pWdiReq);
11692
11693/**
11694 @brief wdi_HT40OBSSStopScanInd
11695 This API is called to stop OBSS scan
11696
11697 @param bssIdx : bssIdx to stop
11698 @see
11699 @return SUCCESS or FAIL
11700*/
11701
11702WDI_Status WDI_HT40OBSSStopScanInd(wpt_uint8 bssIdx);
11703
c_hpothu92367912014-05-01 15:18:17 +053011704
11705WDI_Status WDI_GetBcnMissRate( void *pUserData,
11706 WDI_GetBcnMissRateCb wdiGetBcnMissRateCb,
11707 wpt_uint8 *bssid
11708 );
Siddharth Bhal171788a2014-09-29 21:02:40 +053011709WDI_Status
11710WDI_SetSpoofMacAddrReq
11711(
11712WDI_SpoofMacAddrInfoType *pWdiReq,
11713 WDI_SetSpoofMacAddrRspCb setSpoofMacAddrRspCb,
11714 void* pUserData
11715);
c_hpothu92367912014-05-01 15:18:17 +053011716
Srinivas Dasari4dae48f2014-11-26 21:14:16 +053011717WDI_Status
11718WDI_EncryptMsgReq(void* pwdiEncryptMsgParams,
11719 WDI_EncryptMsgRspCb wdiEncryptMsgCbRsp,
11720 void* pUserData
11721 );
Srinivas Dasari32a79262015-02-19 13:04:49 +053011722
c_manjeecfd1efb2015-09-25 19:32:34 +053011723WDI_Status
11724WDI_FwrMemDumpReq
11725
11726(
11727 WDI_FwrMemDumpReqType *pwdiFwrMemDumpReqInfo,
11728 WDI_FwrMemDumpCb wdiFwrMemDumpRspCb,
11729 void* pUserData
11730);
11731
11732
Srinivas Dasari32a79262015-02-19 13:04:49 +053011733/**
11734 @brief WDI_NanRequest
11735 NAN request
11736
11737 @param pwdiNanRequest: data
11738
11739 pwdiNanCb: callback
11740
11741 usrData: user data will be passed back with the
11742 callback
11743
11744 @return Result of the function call
11745*/
11746WDI_Status
11747WDI_NanRequest
11748(
11749 WDI_NanRequestType *pwdiNanRequest,
11750 void *usrData
11751);
11752
Abhishek Singh41988ba2015-05-25 19:42:29 +053011753/**
11754 @brief WDI_SetRtsCtsHTVhtInd
11755 Set RTS/CTS indication for diff modes.
11756
11757 @param rtsCtsVal: Bit mask value to enable RTS/CTS for different modes
11758
11759 @return Result of the function call
11760*/
11761
11762WDI_Status
11763WDI_SetRtsCtsHTVhtInd
11764(
11765 wpt_uint32 rtsCtsVal
11766);
Srinivas Dasari32a79262015-02-19 13:04:49 +053011767
Mihir Shete5affadc2015-05-29 20:54:57 +053011768WDI_Status
11769WDI_FWLoggingDXEdoneInd
11770(
Hanumantha Reddy Pothulae00a7e22015-09-15 20:11:30 +053011771 wpt_uint32 logType
Mihir Shete5affadc2015-05-29 20:54:57 +053011772);
Srinivas Dasari32a79262015-02-19 13:04:49 +053011773
Mahesh A Saptasagarbeca12c2015-09-07 16:21:06 +053011774/**
11775 @brief WDI_EnableDisableCAEventInd
11776 Enable/Disable Chan Avoidance indication
11777
11778 @param val: Enable/Disable Chan Avoidance indication
11779
11780 @return Result of the function call
11781*/
11782
11783WDI_Status
11784WDI_EnableDisableCAEventInd
11785(
11786wpt_uint32 val
11787);
11788
Jeff Johnson295189b2012-06-20 16:38:30 -070011789#ifdef __cplusplus
11790 }
11791#endif
11792
Arun Khandavalli7eeb1592015-10-19 21:36:57 +053011793/**
11794 @brief WDI_WifiConfigSetReq
11795 This API is called to send WifiConfig request to FW
11796
11797 @param pwdiWifConfigSetReqParams : pointer to wificonfig params
11798 wdiLLStatsSetRspCb : set wificonfig response callback
11799 usrData : Client context
11800 @see
11801 @return SUCCESS or FAIL
11802*/
11803WDI_Status
11804WDI_WifiConfigSetReq
11805 (WDI_WifiConfigSetReqType* pwdiWifConfigSetReqParams,
11806 WDI_WifiConfigSetRspCb wdiWifiConfigSetRspCb,
11807 void* pUserData);
11808
Jeff Johnson295189b2012-06-20 16:38:30 -070011809#endif /* #ifndef WLAN_QCT_WDI_H */