blob: c8863f83c36779e183857268ad246e650a81e523 [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,
Padma, Santhosh Kumar2ccac212015-10-20 17:27:27 +0530423#ifdef FEATURE_OEM_DATA_SUPPORT
424 WDI_START_OEM_DATA_RSP_IND_NEW,
425#endif
Jeff Johnson295189b2012-06-20 16:38:30 -0700426 WDI_MAX_IND
427}WDI_LowLevelIndEnumType;
428
429
430/*---------------------------------------------------------------------------
431 WDI_LowRSSIThIndType
432---------------------------------------------------------------------------*/
433typedef struct
434{
435 /*Positive crossing of Rssi Thresh1*/
436 wpt_uint32 bRssiThres1PosCross : 1;
437 /*Negative crossing of Rssi Thresh1*/
438 wpt_uint32 bRssiThres1NegCross : 1;
439 /*Positive crossing of Rssi Thresh2*/
440 wpt_uint32 bRssiThres2PosCross : 1;
441 /*Negative crossing of Rssi Thresh2*/
442 wpt_uint32 bRssiThres2NegCross : 1;
443 /*Positive crossing of Rssi Thresh3*/
444 wpt_uint32 bRssiThres3PosCross : 1;
445 /*Negative crossing of Rssi Thresh3*/
446 wpt_uint32 bRssiThres3NegCross : 1;
447
Srinivasdaaec712012-12-12 15:59:44 -0800448 wpt_uint32 avgRssi : 8;
449 wpt_uint32 bReserved : 18;
Jeff Johnson295189b2012-06-20 16:38:30 -0700450
451}WDI_LowRSSIThIndType;
452
453
454/*---------------------------------------------------------------------------
455 WDI_UnkAddr2FrmRxIndType
456---------------------------------------------------------------------------*/
457typedef struct
458{
459 /*Rx Bd data of the unknown received addr2 frame.*/
460 void* bufRxBd;
461
462 /*Buffer Length*/
463 wpt_uint16 usBufLen;
464}WDI_UnkAddr2FrmRxIndType;
465
466/*---------------------------------------------------------------------------
467 WDI_DeleteSTAIndType
468---------------------------------------------------------------------------*/
469typedef struct
470{
471 /*ASSOC ID, as assigned by UMAC*/
472 wpt_uint16 usAssocId;
473
474 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
475 wpt_uint8 ucSTAIdx;
476
477 /*BSSID of STA*/
478 wpt_macAddr macBSSID;
479
480 /*MAC ADDR of STA*/
481 wpt_macAddr macADDR2;
482
483 /* To unify the keepalive / unknown A2 / tim-based disa*/
484 wpt_uint16 wptReasonCode;
485
486}WDI_DeleteSTAIndType;
487
488/*---------------------------------------------------------------------------
489 WDI_MicFailureIndType
490---------------------------------------------------------------------------*/
491typedef struct
492{
493 /*current BSSID*/
494 wpt_macAddr bssId;
495
496 /*Source mac address*/
497 wpt_macAddr macSrcAddr;
498
499 /*Transmitter mac address*/
500 wpt_macAddr macTaAddr;
501
502 /*Destination mac address*/
503 wpt_macAddr macDstAddr;
504
505 /*Multicast flag*/
506 wpt_uint8 ucMulticast;
507
508 /*First byte of IV*/
509 wpt_uint8 ucIV1;
510
511 /*Key Id*/
512 wpt_uint8 keyId;
513
514 /*Sequence Number*/
515 wpt_uint8 TSC[WDI_CIPHER_SEQ_CTR_SIZE];
516
517 /*receive address */
518 wpt_macAddr macRxAddr;
519}WDI_MicFailureIndType;
520
521/*---------------------------------------------------------------------------
522 WDI_CoexIndType
523---------------------------------------------------------------------------*/
524typedef struct
525{
526 wpt_uint32 coexIndType;
527 wpt_uint32 coexIndData[WDI_COEX_IND_DATA_SIZE];
528} WDI_CoexIndType;
529
530/*---------------------------------------------------------------------------
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +0530531 WDI_DHCPInd
532---------------------------------------------------------------------------*/
533
534typedef struct
535{
536 wpt_uint8 device_mode;
537 wpt_uint8 macAddr[WDI_MAC_ADDR_LEN];
538}WDI_DHCPInd;
539
540/*---------------------------------------------------------------------------
541
Jeff Johnson295189b2012-06-20 16:38:30 -0700542 WDI_MacSSid
543---------------------------------------------------------------------------*/
544typedef struct
545{
546 wpt_uint8 ucLength;
547 wpt_uint8 sSSID[WDI_MAX_SSID_SIZE];
548} WDI_MacSSid;
549
550#ifdef FEATURE_WLAN_SCAN_PNO
551/*---------------------------------------------------------------------------
552 WDI_PrefNetworkFoundInd
553---------------------------------------------------------------------------*/
554typedef struct
555{
556 /* Network that was found with the highest RSSI*/
Srikant Kuppa066904f2013-05-07 13:56:02 -0700557 WDI_MacSSid ssId;
Jeff Johnson295189b2012-06-20 16:38:30 -0700558 /* Indicates the RSSI */
Srikant Kuppa066904f2013-05-07 13:56:02 -0700559 wpt_uint8 rssi;
560 wpt_uint16 frameLength;
561 wpt_uint8 *pData;
Jeff Johnson295189b2012-06-20 16:38:30 -0700562} WDI_PrefNetworkFoundInd;
563#endif // FEATURE_WLAN_SCAN_PNO
564
Jeff Johnson295189b2012-06-20 16:38:30 -0700565/*---------------------------------------------------------------------------
566 *WDI_P2pNoaAttrIndType
567 *-------------------------------------------------------------------------*/
Jeff Johnson295189b2012-06-20 16:38:30 -0700568typedef struct
569{
570 wpt_uint8 ucIndex ;
571 wpt_uint8 ucOppPsFlag ;
572 wpt_uint16 usCtWin ;
573
574 wpt_uint16 usNoa1IntervalCnt;
575 wpt_uint16 usRsvd1 ;
576 wpt_uint32 uslNoa1Duration;
577 wpt_uint32 uslNoa1Interval;
578 wpt_uint32 uslNoa1StartTime;
579
580 wpt_uint16 usNoa2IntervalCnt;
581 wpt_uint16 usRsvd2;
582 wpt_uint32 uslNoa2Duration;
583 wpt_uint32 uslNoa2Interval;
584 wpt_uint32 uslNoa2StartTime;
585
586 wpt_uint32 status;
587}WDI_P2pNoaAttrIndType;
Viral Modid86bde22012-12-10 13:09:21 -0800588
589/*---------------------------------------------------------------------------
590 *WDI_P2pNoaStartIndType
591 *-------------------------------------------------------------------------*/
592typedef struct
593{
594 wpt_uint32 status;
595 wpt_uint32 bssIdx;
596}WDI_P2pNoaStartIndType;
597
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530598/*---------------------------------------------------------------------------
599 *WDI_TdlsIndType
600 *-------------------------------------------------------------------------*/
601typedef struct
602{
603 wpt_uint16 status;
604 wpt_uint16 assocId;
605 wpt_uint16 staIdx;
606 wpt_uint16 reasonCode;
607}WDI_TdlsIndType;
Jeff Johnson295189b2012-06-20 16:38:30 -0700608
609#ifdef WLAN_WAKEUP_EVENTS
610/*---------------------------------------------------------------------------
611 WDI_WakeReasonIndType
612---------------------------------------------------------------------------*/
613typedef struct
614{
615 wpt_uint32 ulReason; /* see tWakeReasonType */
616 wpt_uint32 ulReasonArg; /* argument specific to the reason type */
617 wpt_uint32 ulStoredDataLen; /* length of optional data stored in this message, in case
618 HAL truncates the data (i.e. data packets) this length
619 will be less than the actual length */
620 wpt_uint32 ulActualDataLen; /* actual length of data */
621 wpt_uint8 aDataStart[1]; /* variable length start of data (length == storedDataLen)
622 see specific wake type */
623} WDI_WakeReasonIndType;
624#endif // WLAN_WAKEUP_EVENTS
625
Srinivas Dasari32a79262015-02-19 13:04:49 +0530626typedef struct
627{
628 wpt_uint16 event_data_len;
629 wpt_uint8* event_data;
630} WDI_NanEventType;
631
632
Jeff Johnson295189b2012-06-20 16:38:30 -0700633/*---------------------------------------------------------------------------
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800634 WDI_MissedBeaconIndType
635-----------------------------------------------------------------------------*/
636typedef struct
637{
638 wpt_uint8 bssIdx; /*bssidx on which beacon is missed*/
639} WDI_MissedBeaconIndType;
640
Leo Chang9056f462013-08-01 19:21:11 -0700641#ifdef FEATURE_WLAN_LPHB
642/*---------------------------------------------------------------------------
643 WDI_LPHBTimeoutIndData
644-----------------------------------------------------------------------------*/
645typedef struct
646{
647 wpt_uint8 bssIdx;
648 wpt_uint8 sessionIdx;
649 wpt_uint8 protocolType; /*TCP or UDP*/
650 wpt_uint8 eventReason;
651} WDI_LPHBTimeoutIndData;
652#endif /* FEATURE_WLAN_LPHB */
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800653
Yue Mab9c86f42013-08-14 15:59:08 -0700654/*-----------------------------------------------------------------------------
655WDI_PeriodicTxPtrnFwIndType
656-----------------------------------------------------------------------------*/
657typedef struct
658{
659 wpt_uint8 bssIdx;
660 wpt_uint32 selfStaIdx;
661 wpt_uint32 status;
662 wpt_uint32 patternIdBitmap;
663} WDI_PeriodicTxPtrnFwIndType;
664
Rajeev79dbe4c2013-10-05 11:03:42 +0530665#ifdef FEATURE_WLAN_BATCH_SCAN
666/*---------------------------------------------------------------------------
667 WDI_SetBatchScanReqType
668---------------------------------------------------------------------------*/
669typedef struct
670{
671 wpt_uint32 scanFrequency; /* how frequent to do scan default 30Sec*/
672 wpt_uint32 numberOfScansToBatch; /* number of scans to batch */
673 wpt_uint32 bestNetwork; /* best networks in terms of rssi */
674 wpt_uint8 rfBand; /* band to scan :
675 0 ->both Band, 1->2.4Ghz Only
676 and 2-> 5GHz Only */
677 wpt_uint32 rtt; /* set if required to do RTT it is not
678 supported in current version */
679}WDI_SetBatchScanReqType;
680
681/*---------------------------------------------------------------------------
682 WDI_SetBatchScanRspType
683---------------------------------------------------------------------------*/
684typedef struct
685{
686 /*max number of scans which FW can cache*/
687 wpt_uint32 nScansToBatch;
688}WDI_SetBatchScanRspType;
689
690/*---------------------------------------------------------------------------
691 WDI_TriggerBatchScanResultIndType
692---------------------------------------------------------------------------*/
693typedef struct
694{
695 wpt_uint32 param;
696}WDI_TriggerBatchScanResultIndType;
697
698/*---------------------------------------------------------------------------
699 WDI_StopBatchScanIndType
700---------------------------------------------------------------------------*/
701typedef struct
702{
703 /*max number of scans which FW can cache*/
704 wpt_uint32 param;
705}WDI_StopBatchScanIndType;
706
707
708/*---------------------------------------------------------------------------
709 * WDI_BatchScanResultIndType
710 *--------------------------------------------------------------------------*/
711typedef struct
712{
713 wpt_uint32 bssid[6]; /* BSSID */
714 wpt_uint32 ssid[32]; /* SSID */
715 wpt_uint32 ch; /* Channel */
716 wpt_uint32 rssi; /* RSSI or Level */
717 /* Timestamp when Network was found. Used to calculate age based on
718 timestamp in GET_RSP msg header */
719 wpt_uint32 timestamp;
720} tWDIBatchScanNetworkInfo, *tpWDIBatchScanNetworkInfo;
721
722typedef struct
723{
724 wpt_uint32 scanId; /*Scan List ID*/
725 /*No of AP in a Scan Result. Should be same as bestNetwork in SET_REQ msg*/
726 wpt_uint32 numNetworksInScanList;
727 /*Variable data ptr: Number of AP in Scan List*/
728 wpt_uint32 scanList[1];
729} tWDIBatchScanList, *tpWDIBatchScanList;
730
731typedef struct
732{
733 wpt_uint32 timestamp;
734 wpt_uint32 numScanLists;
735 wpt_boolean isLastResult;
736 /* Variable Data ptr: Number of Scan Lists*/
737 wpt_uint32 scanResults[1];
738} tWDIBatchScanResultParam, *tpWDIBatchScanResultParam;
739
740#endif
741
742
Sachin Ahuja3d47fcd2015-08-28 16:02:06 +0530743typedef struct
744{
745 wpt_uint8 bssIdx;
746 wpt_uint8 rssi;
747 wpt_uint8 selfMacAddr[WDI_MAC_ADDR_LEN];
748 wpt_uint32 linkFlCnt;
749 wpt_uint32 linkFlTx;
750 wpt_uint32 lastDataRate;
751 wpt_uint32 rsvd1;
752 wpt_uint32 rsvd2;
753
754}WDI_LostLinkParamsIndType;
755
Gupta, Kapil7c34b322015-09-30 13:12:35 +0530756typedef struct
757{
758 wpt_uint32 request_id;
759 wpt_uint8 bssId[WDI_MAC_ADDR_LEN];
760 wpt_int8 rssi;
761}WDI_RssiBreachedIndType;
762
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800763/*---------------------------------------------------------------------------
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700764 WDI_IbssPeerInactivityIndType
765-----------------------------------------------------------------------------*/
766typedef struct
767{
768 wpt_uint8 bssIdx;
769 wpt_uint8 staIdx;
770 wpt_macAddr staMacAddr;
771}WDI_IbssPeerInactivityIndType;
772
773/*---------------------------------------------------------------------------
Chittajit Mitraf5413a42013-10-18 14:20:08 -0700774 WDI_TxRateFlags
775-----------------------------------------------------------------------------*/
776typedef enum
777{
778 WDI_TX_RATE_LEGACY = 0x1, /* Legacy rates */
779 WDI_TX_RATE_HT20 = 0x2, /* HT20 rates */
780 WDI_TX_RATE_HT40 = 0x4, /* HT40 rates */
781 WDI_TX_RATE_SGI = 0x8, /* Rate with Short guard interval */
782 WDI_TX_RATE_LGI = 0x10, /* Rate with Long guard interval */
783 WDI_TX_RATE_VHT20 = 0x20, /* VHT 20 rates */
784 WDI_TX_RATE_VHT40 = 0x40, /* VHT 20 rates */
785 WDI_TX_RATE_VHT80 = 0x80, /* VHT 20 rates */
786 WDI_TX_RATE_VIRT = 0x100, /* Virtual Rate */
787} WDI_TxRateFlags;
788
789/*---------------------------------------------------------------------------
790 WDI_RateUpdateIndParams
791-----------------------------------------------------------------------------*/
792typedef struct
793{
794 /* 0 implies RA, positive value implies fixed rate, -1 implies ignore this
795 * param ucastDataRate can be used to control RA behavior of unicast data to
796 */
797 wpt_int32 ucastDataRate;
798
799 /* TX flag to differentiate between HT20, HT40 etc */
800 WDI_TxRateFlags ucastDataRateTxFlag;
801
802 /* BSSID - Optional. 00-00-00-00-00-00 implies apply to all BCAST STAs */
803 wpt_macAddr bssid;
804
805 /*
806 * 0 implies MCAST RA, positive value implies fixed rate,
807 * -1 implies ignore this param
808 */
809 wpt_int32 reliableMcastDataRate; //unit Mbpsx10
810
811 /* TX flag to differentiate between HT20, HT40 etc */
812 WDI_TxRateFlags reliableMcastDataRateTxFlag;
813
814 /*
815 * MCAST(or BCAST) fixed data rate in 2.4 GHz, unit Mbpsx10,
816 * 0 implies ignore
817 */
818 wpt_uint32 mcastDataRate24GHz;
819
820 /* TX flag to differentiate between HT20, HT40 etc */
821 WDI_TxRateFlags mcastDataRate24GHzTxFlag;
822
823 /*
824 * MCAST(or BCAST) fixed data rate in 5 GHz,
825 * unit Mbpsx10, 0 implies ignore
826 */
827 wpt_uint32 mcastDataRate5GHz;
828
829 /* TX flag to differentiate between HT20, HT40 etc */
830 WDI_TxRateFlags mcastDataRate5GHzTxFlag;
831
832 /*
833 * Request status callback offered by UMAC - it is called if the current
834 * req has returned PENDING as status; it delivers the status of sending
835 * the message over the BUS
836 */
837 WDI_ReqStatusCb wdiReqStatusCB;
838
839 /*
840 * The user data passed in by UMAC, it will be sent back when the above
841 * function pointer will be called
842 */
843 void *pUserData;
844
845} WDI_RateUpdateIndParams;
846
Abhishek Singh85b74712014-10-08 11:38:19 +0530847typedef struct
848{
849 wpt_uint32 ubsp_enter_cnt;
850 wpt_uint32 ubsp_jump_ddr_cnt;
851}ubspFwStats;
852
853typedef struct
854{
855 wpt_uint32 type;
856 /*data*/
857 union{
858 ubspFwStats ubspStats;
859 }wdiFwStatsData;
860} WDI_FWStatsResults;
861
Leo Chang0b0e45a2013-12-15 15:18:55 -0800862#ifdef FEATURE_WLAN_CH_AVOID
Abhishek Singhe34eb552015-06-18 10:12:15 +0530863#define WDI_CH_AVOID_MAX_RANGE 15
Leo Chang0b0e45a2013-12-15 15:18:55 -0800864
865typedef struct
866{
867 wpt_uint32 startFreq;
868 wpt_uint32 endFreq;
869} WDI_ChAvoidFreqType;
870
871typedef struct
872{
873 wpt_uint32 avoidRangeCount;
874 WDI_ChAvoidFreqType avoidFreqRange[WDI_CH_AVOID_MAX_RANGE];
875} WDI_ChAvoidIndType;
876#endif /* FEATURE_WLAN_CH_AVOID */
877
Dino Mycled3d50022014-07-07 12:58:25 +0530878#ifdef WLAN_FEATURE_LINK_LAYER_STATS
879typedef struct
880{
881 void *pLinkLayerStatsResults;
882 wpt_macAddr macAddr;
883} WDI_LinkLayerStatsResults;
884
885#endif
Abhishek Singh66c16762014-08-14 19:13:19 +0530886
887typedef struct
888{
889 /*STA Index*/
890 wpt_uint16 staIdx;
891
892 /*Peer MAC*/
893 wpt_macAddr peerMacAddr;
894
895 // TID for which a BA session timeout is being triggered
896 wpt_uint8 baTID;
897 // DELBA direction
898 // 1 - Originator
899 // 0 - Recipient
900 wpt_uint8 baDirection;
901 wpt_uint32 reasonCode;
902 /*MAC ADDR of STA*/
903 wpt_macAddr bssId; // TO SUPPORT BT-AMP
904} WDI_DeleteBAIndType;
905
Ganesh Kondabattinib18b3292015-03-16 16:59:26 +0530906typedef struct
907{
908 wpt_uint32 tx_complete_status;
909 wpt_uint32 tx_bd_token;
910} WDI_TxBDStatus;
Chittajit Mitraf5413a42013-10-18 14:20:08 -0700911/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -0700912 WDI_LowLevelIndType
913 Inidcation type and information about the indication being carried
914 over
915---------------------------------------------------------------------------*/
916typedef struct
917{
918 /*Inidcation type*/
919 WDI_LowLevelIndEnumType wdiIndicationType;
920
921 /*Indication data*/
922 union
923 {
924 /*RSSI Threshold Info for WDI_LOW_RSSI_IND*/
925 WDI_LowRSSIThIndType wdiLowRSSIInfo;
926
927 /*Addr2 Frame Info for WDI_UNKNOWN_ADDR2_FRAME_RX_IND*/
928 WDI_UnkAddr2FrmRxIndType wdiUnkAddr2FrmInfo;
929
930 /*MIC Failure info for WDI_MIC_FAILURE_IND*/
931 WDI_MicFailureIndType wdiMICFailureInfo;
932
933 /*Error code for WDI_FATAL_ERROR_IND*/
934 wpt_uint16 usErrorCode;
935
936 /*Delete STA Indication*/
937 WDI_DeleteSTAIndType wdiDeleteSTAIndType;
938
939 /*Coex Indication*/
940 WDI_CoexIndType wdiCoexInfo;
941
942 /* Tx Complete Indication */
943 wpt_uint32 tx_complete_status;
944
Jeff Johnson295189b2012-06-20 16:38:30 -0700945 /* P2P NOA ATTR Indication */
946 WDI_P2pNoaAttrIndType wdiP2pNoaAttrInfo;
Viral Modid86bde22012-12-10 13:09:21 -0800947 WDI_P2pNoaStartIndType wdiP2pNoaStartInfo;
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530948 /* TDLS Indications */
949 WDI_TdlsIndType wdiTdlsIndInfo;
Jeff Johnson295189b2012-06-20 16:38:30 -0700950
951
952#ifdef FEATURE_WLAN_SCAN_PNO
953 WDI_PrefNetworkFoundInd wdiPrefNetworkFoundInd;
954#endif // FEATURE_WLAN_SCAN_PNO
955
956#ifdef WLAN_WAKEUP_EVENTS
957 WDI_WakeReasonIndType wdiWakeReasonInd;
958#endif // WLAN_WAKEUP_EVENTS
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800959 WDI_MissedBeaconIndType wdiMissedBeaconInd;
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700960
Leo Chang9056f462013-08-01 19:21:11 -0700961#ifdef FEATURE_WLAN_LPHB
962 WDI_LPHBTimeoutIndData wdiLPHBTimeoutInd;
963#endif /* FEATURE_WLAN_LPHB */
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700964
965 /* IBSS Peer Inactivity Indication */
966 WDI_IbssPeerInactivityIndType wdiIbssPeerInactivityInd;
967
Yue Mab9c86f42013-08-14 15:59:08 -0700968 /* Periodic TX Pattern FW Indication */
969 WDI_PeriodicTxPtrnFwIndType wdiPeriodicTxPtrnFwInd;
Rajeev79dbe4c2013-10-05 11:03:42 +0530970
971#ifdef FEATURE_WLAN_BATCH_SCAN
972 /*batch scan result indication from FW*/
973 void *pBatchScanResult;
974#endif
975
Leo Chang0b0e45a2013-12-15 15:18:55 -0800976#ifdef FEATURE_WLAN_CH_AVOID
977 WDI_ChAvoidIndType wdiChAvoidInd;
978#endif /* FEATURE_WLAN_CH_AVOID */
Sunil Duttbd736ed2014-05-26 21:19:41 +0530979
980#ifdef WLAN_FEATURE_LINK_LAYER_STATS
981 /*Link Layer Statistics from FW*/
Dino Mycled3d50022014-07-07 12:58:25 +0530982 WDI_LinkLayerStatsResults wdiLinkLayerStatsResults;
Sunil Duttbd736ed2014-05-26 21:19:41 +0530983#endif
Dino Mycle41bdc942014-06-10 11:30:24 +0530984#ifdef WLAN_FEATURE_EXTSCAN
985 /*EXTSCAN Results from FW*/
986 void *pEXTScanIndData;
987#endif
Abhishek Singh66c16762014-08-14 19:13:19 +0530988 WDI_DeleteBAIndType wdiDeleteBAInd;
Srinivas Dasari32a79262015-02-19 13:04:49 +0530989
990 WDI_NanEventType wdiNanEvent;
Ganesh Kondabattinib18b3292015-03-16 16:59:26 +0530991
992 WDI_TxBDStatus wdiTxBdInd;
Sachin Ahuja3d47fcd2015-08-28 16:02:06 +0530993 WDI_LostLinkParamsIndType wdiLostLinkParamsInd;
Gupta, Kapil7c34b322015-09-30 13:12:35 +0530994 WDI_RssiBreachedIndType wdiRssiBreachedInd;
Padma, Santhosh Kumar2ccac212015-10-20 17:27:27 +0530995#ifdef FEATURE_OEM_DATA_SUPPORT
996/*OEM Data Rsp New Results from FW*/
997 void *pOemRspNewIndData;
998#endif
Jeff Johnson295189b2012-06-20 16:38:30 -0700999 } wdiIndicationData;
1000}WDI_LowLevelIndType;
1001
1002/*---------------------------------------------------------------------------
1003 WDI_LowLevelIndCBType
1004
1005 DESCRIPTION
1006
1007 This callback is invoked by DAL to deliver to UMAC certain indications
1008 that has either received from the lower device or has generated itself.
1009
1010 PARAMETERS
1011
1012 IN
1013 pwdiInd: information about the indication sent over
1014 pUserData: user data provided by UMAC during registration
1015
1016
1017
1018 RETURN VALUE
1019 The result code associated with performing the operation
1020---------------------------------------------------------------------------*/
1021typedef void (*WDI_LowLevelIndCBType)(WDI_LowLevelIndType* pwdiInd,
1022 void* pUserData);
1023
1024/*---------------------------------------------------------------------------
1025 WDI_DriverType
1026---------------------------------------------------------------------------*/
1027typedef enum
1028{
1029 WDI_DRIVER_TYPE_PRODUCTION = 0,
1030 WDI_DRIVER_TYPE_MFG = 1,
1031 WDI_DRIVER_TYPE_DVT = 2
1032} WDI_DriverType;
1033
1034/*---------------------------------------------------------------------------
1035 WDI_StartReqParamsType
1036---------------------------------------------------------------------------*/
1037typedef struct
1038{
1039 /*This is a TLV formatted buffer containing all config values that can
1040 be set through the DAL Interface
1041
1042 The TLV is expected to be formatted like this:
1043
1044 0 7 15 31 ....
1045 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
1046
1047 Or from a C construct point of VU it would look like this:
1048
1049 typedef struct WPT_PACK_POST
1050 {
1051 #ifdef WPT_BIG_ENDIAN
1052 wpt_uint32 ucCfgId:8;
1053 wpt_uint32 ucCfgLen:8;
1054 wpt_uint32 usReserved:16;
1055 #else
1056 wpt_uint32 usReserved:16;
1057 wpt_uint32 ucCfgLen:8;
1058 wpt_uint32 ucCfgId:8;
1059 #endif
1060
1061 wpt_uint8 ucCfgBody[ucCfgLen];
1062 }WDI_ConfigType;
1063
1064 Multiple such tuplets are to be placed in the config buffer. One for
1065 each required configuration item:
1066
1067 | TLV 1 | TLV2 | ....
1068
1069 The buffer is expected to be a flat area of memory that can be manipulated
1070 with standard memory routines.
1071
1072 For more info please check paragraph 2.3.1 Config Structure from the
1073 HAL LLD.
1074
1075 For a list of accepted configuration list and IDs please look up
1076 wlan_qct_dal_cfg.h
1077
1078 */
1079 void* pConfigBuffer;
1080
1081 /*Length of the config buffer above*/
1082 wpt_uint16 usConfigBufferLen;
1083
1084 /*Production or FTM driver*/
1085 WDI_DriverType wdiDriverType;
1086
1087 /*Should device enable frame translation */
1088 wpt_uint8 bFrameTransEnabled;
1089
1090 /*Request status callback offered by UMAC - it is called if the current
1091 req has returned PENDING as status; it delivers the status of sending
1092 the message over the BUS */
1093 WDI_ReqStatusCb wdiReqStatusCB;
1094
1095 /*The user data passed in by UMAC, it will be sent back when the above
1096 function pointer will be called */
1097 void* pUserData;
1098
1099 /*Indication callback given by UMAC to be called by the WLAN DAL when it
1100 wishes to send something back independent of a request*/
1101 WDI_LowLevelIndCBType wdiLowLevelIndCB;
1102
1103 /*The user data passed in by UMAC, it will be sent back when the indication
1104 function pointer will be called */
1105 void* pIndUserData;
1106}WDI_StartReqParamsType;
1107
1108
1109/*---------------------------------------------------------------------------
1110 WDI_StartRspParamsType
1111---------------------------------------------------------------------------*/
1112typedef struct
1113{
1114 /*Status of the response*/
1115 WDI_Status wdiStatus;
1116
1117 /*Max number of STA supported by the device*/
1118 wpt_uint8 ucMaxStations;
1119
1120 /*Max number of BSS supported by the device*/
1121 wpt_uint8 ucMaxBssids;
1122
1123 /*Version of the WLAN HAL API with which we were compiled*/
1124 WDI_WlanVersionType wlanCompiledVersion;
1125
1126 /*Version of the WLAN HAL API that was reported*/
1127 WDI_WlanVersionType wlanReportedVersion;
1128
1129 /*WCNSS Software version string*/
1130 wpt_uint8 wcnssSoftwareVersion[WDI_VERSION_LENGTH];
1131
1132 /*WCNSS Hardware version string*/
1133 wpt_uint8 wcnssHardwareVersion[WDI_VERSION_LENGTH];
1134}WDI_StartRspParamsType;
1135
1136
1137/*---------------------------------------------------------------------------
1138 WDI_StopType
1139---------------------------------------------------------------------------*/
1140typedef enum
1141{
1142 /*Device is being stopped due to a reset*/
1143 WDI_STOP_TYPE_SYS_RESET,
1144
1145 /*Device is being stopped due to entering deep sleep*/
1146 WDI_STOP_TYPE_SYS_DEEP_SLEEP,
1147
1148 /*Device is being stopped because the RF needs to shut off
1149 (e.g.:Airplane mode)*/
1150 WDI_STOP_TYPE_RF_KILL
1151}WDI_StopType;
1152
1153/*---------------------------------------------------------------------------
1154 WDI_StopReqParamsType
1155---------------------------------------------------------------------------*/
1156typedef struct
1157{
1158
1159 /*The reason for which the device is being stopped*/
1160 WDI_StopType wdiStopReason;
1161
1162 /*Request status callback offered by UMAC - it is called if the current
1163 req has returned PENDING as status; it delivers the status of sending
1164 the message over the BUS */
1165 WDI_ReqStatusCb wdiReqStatusCB;
1166
1167 /*The user data passed in by UMAC, it will be sent back when the above
1168 function pointer will be called */
1169 void* pUserData;
1170}WDI_StopReqParamsType;
1171
1172
1173/*---------------------------------------------------------------------------
1174 WDI_ScanMode
1175---------------------------------------------------------------------------*/
1176typedef enum
1177{
1178 WDI_SCAN_MODE_NORMAL = 0,
1179 WDI_SCAN_MODE_LEARN,
1180 WDI_SCAN_MODE_SCAN,
1181 WDI_SCAN_MODE_PROMISC,
Madan Mohan Koyyalamudi9b876782012-10-11 16:22:51 -07001182 WDI_SCAN_MODE_SUSPEND_LINK,
1183 WDI_SCAN_MODE_ROAM_SCAN,
1184 WDI_SCAN_MODE_ROAM_SUSPEND_LINK,
1185
Jeff Johnson295189b2012-06-20 16:38:30 -07001186} WDI_ScanMode;
1187
1188/*---------------------------------------------------------------------------
1189 WDI_ScanEntry
1190---------------------------------------------------------------------------*/
1191typedef struct
1192{
1193 wpt_uint8 bssIdx[WDI_NUM_BSSID];
1194 wpt_uint8 activeBSScnt;
1195}WDI_ScanEntry;
1196
1197/*---------------------------------------------------------------------------
1198 WDI_InitScanReqInfoType
1199---------------------------------------------------------------------------*/
1200typedef struct
1201{
1202 /*LEARN - AP Role
1203 SCAN - STA Role*/
1204 WDI_ScanMode wdiScanMode;
1205
1206 /*BSSID of the BSS*/
1207 wpt_macAddr macBSSID;
1208
1209 /*Whether BSS needs to be notified*/
1210 wpt_boolean bNotifyBSS;
1211
1212 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
1213 CTS to Self). Must always be a valid frame type.*/
1214 wpt_uint8 ucFrameType;
1215
1216 /*UMAC has the option of passing the MAC frame to be used for notifying
1217 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
1218 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
1219 frameType.*/
1220 wpt_uint8 ucFrameLength;
1221
1222 /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/
1223 WDI_MacMgmtHdr wdiMACMgmtHdr;
1224
1225 /*Entry to hold number of active BSS to send NULL frames before
1226 * initiating SCAN*/
1227 WDI_ScanEntry wdiScanEntry;
1228
1229 /* Flag to enable/disable Single NOA*/
1230 wpt_boolean bUseNOA;
1231
1232 /* Indicates the scan duration (in ms) */
1233 wpt_uint16 scanDuration;
1234
1235}WDI_InitScanReqInfoType;
1236
1237/*---------------------------------------------------------------------------
1238 WDI_InitScanReqParamsType
1239---------------------------------------------------------------------------*/
1240typedef struct
1241{
1242 /*The info associated with the request that needs to be sent over to the
1243 device*/
1244 WDI_InitScanReqInfoType wdiReqInfo;
1245
1246 /*Request status callback offered by UMAC - it is called if the current
1247 req has returned PENDING as status; it delivers the status of sending
1248 the message over the BUS */
1249 WDI_ReqStatusCb wdiReqStatusCB;
1250
1251 /*The user data passed in by UMAC, it will be sent back when the above
1252 function pointer will be called */
1253 void* pUserData;
1254}WDI_InitScanReqParamsType;
1255
1256/*---------------------------------------------------------------------------
1257 WDI_StartScanReqParamsType
1258---------------------------------------------------------------------------*/
1259typedef struct
1260{
1261 /*Indicates the channel to scan*/
1262 wpt_uint8 ucChannel;
1263
1264 /*Request status callback offered by UMAC - it is called if the current
1265 req has returned PENDING as status; it delivers the status of sending
1266 the message over the BUS */
1267 WDI_ReqStatusCb wdiReqStatusCB;
1268
1269 /*The user data passed in by UMAC, it will be sent back when the above
1270 function pointer will be called */
1271 void* pUserData;
1272}WDI_StartScanReqParamsType;
1273
1274/*---------------------------------------------------------------------------
1275 WDI_StartScanRspParamsType
1276---------------------------------------------------------------------------*/
1277typedef struct
1278{
1279 /*Indicates the status of the operation */
1280 WDI_Status wdiStatus;
1281
1282#if defined WLAN_FEATURE_VOWIFI
1283 wpt_uint32 aStartTSF[2];
1284 wpt_int8 ucTxMgmtPower;
1285#endif
1286}WDI_StartScanRspParamsType;
1287
1288/*---------------------------------------------------------------------------
1289 WDI_EndScanReqParamsType
1290---------------------------------------------------------------------------*/
1291typedef struct
1292{
1293 /*Indicates the channel to stop scanning. Not used really. But retained
1294 for symmetry with "start Scan" message. It can also help in error
1295 check if needed.*/
1296 wpt_uint8 ucChannel;
1297
1298 /*Request status callback offered by UMAC - it is called if the current
1299 req has returned PENDING as status; it delivers the status of sending
1300 the message over the BUS */
1301 WDI_ReqStatusCb wdiReqStatusCB;
1302
1303 /*The user data passed in by UMAC, it will be sent back when the above
1304 function pointer will be called */
1305 void* pUserData;
1306}WDI_EndScanReqParamsType;
1307
1308/*---------------------------------------------------------------------------
1309 WDI_PhyChanBondState
1310---------------------------------------------------------------------------*/
1311typedef enum
1312{
1313 WDI_PHY_SINGLE_CHANNEL_CENTERED = 0,
1314 WDI_PHY_DOUBLE_CHANNEL_LOW_PRIMARY = 1,
1315 WDI_PHY_DOUBLE_CHANNEL_CENTERED = 2,
Jeff Johnsone7245742012-09-05 17:12:55 -07001316 WDI_PHY_DOUBLE_CHANNEL_HIGH_PRIMARY = 3,
1317#ifdef WLAN_FEATURE_11AC
1318 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_CENTERED = 4, //20/40MHZ offset LOW 40/80MHZ offset CENTERED
1319 WDI_QUADRUPLE_CHANNEL_20MHZ_CENTERED_40MHZ_CENTERED = 5, //20/40MHZ offset CENTERED 40/80MHZ offset CENTERED
1320 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_CENTERED = 6, //20/40MHZ offset HIGH 40/80MHZ offset CENTERED
1321 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_LOW = 7,//20/40MHZ offset LOW 40/80MHZ offset LOW
1322 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_LOW = 8, //20/40MHZ offset HIGH 40/80MHZ offset LOW
1323 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_HIGH = 9, //20/40MHZ offset LOW 40/80MHZ offset HIGH
1324 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_HIGH = 10,//20/40MHZ offset-HIGH 40/80MHZ offset HIGH
1325#endif
1326 WDI_MAX_CB_STATE
Jeff Johnson295189b2012-06-20 16:38:30 -07001327} WDI_PhyChanBondState;
1328
1329/*---------------------------------------------------------------------------
1330 WDI_FinishScanReqInfoType
1331---------------------------------------------------------------------------*/
1332typedef struct
1333{
1334 /*LEARN - AP Role
1335 SCAN - STA Role*/
1336 WDI_ScanMode wdiScanMode;
1337
1338 /*Operating channel to tune to.*/
1339 wpt_uint8 ucCurrentOperatingChannel;
1340
1341 /*Channel Bonding state If 20/40 MHz is operational, this will indicate the
1342 40 MHz extension channel in combination with the control channel*/
1343 WDI_PhyChanBondState wdiCBState;
1344
1345 /*BSSID of the BSS*/
1346 wpt_macAddr macBSSID;
1347
1348 /*Whether BSS needs to be notified*/
1349 wpt_boolean bNotifyBSS;
1350
1351 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
1352 CTS to Self). Must always be a valid frame type.*/
1353 wpt_uint8 ucFrameType;
1354
1355 /*UMAC has the option of passing the MAC frame to be used for notifying
1356 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
1357 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
1358 frameType.*/
1359 wpt_uint8 ucFrameLength;
1360
1361 /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/
1362 WDI_MacMgmtHdr wdiMACMgmtHdr;
1363
1364 /*Entry to hold number of active BSS to send NULL frames after SCAN*/
1365 WDI_ScanEntry wdiScanEntry;
1366
1367}WDI_FinishScanReqInfoType;
1368
1369/*---------------------------------------------------------------------------
1370 WDI_SwitchChReqInfoType
1371---------------------------------------------------------------------------*/
1372typedef struct
1373{
1374 /*Indicates the channel to switch to.*/
1375 wpt_uint8 ucChannel;
1376
1377 /*Local power constraint*/
1378 wpt_uint8 ucLocalPowerConstraint;
1379
1380 /*Secondary channel offset */
1381 WDI_HTSecondaryChannelOffset wdiSecondaryChannelOffset;
1382
1383#ifdef WLAN_FEATURE_VOWIFI
1384 wpt_int8 cMaxTxPower;
1385
1386 /*Self STA Mac address*/
1387 wpt_macAddr macSelfStaMacAddr;
1388#endif
1389 /* VO Wifi comment: BSSID is needed to identify which session issued this request. As the
1390 request has power constraints, this should be applied only to that session */
1391 /* V IMP: Keep bssId field at the end of this msg. It is used to mantain backward compatbility
1392 * by way of ignoring if using new host/old FW or old host/new FW since it is at the end of this struct
1393 */
1394 wpt_macAddr macBSSId;
1395
1396}WDI_SwitchChReqInfoType;
1397
1398/*---------------------------------------------------------------------------
1399 WDI_SwitchChReqParamsType
1400---------------------------------------------------------------------------*/
1401typedef struct
1402{
1403 /*Channel Info*/
1404 WDI_SwitchChReqInfoType wdiChInfo;
1405
1406 /*Request status callback offered by UMAC - it is called if the current
1407 req has returned PENDING as status; it delivers the status of sending
1408 the message over the BUS */
1409 WDI_ReqStatusCb wdiReqStatusCB;
1410
1411 /*The user data passed in by UMAC, it will be sent back when the above
1412 function pointer will be called */
1413 void* pUserData;
1414}WDI_SwitchChReqParamsType;
1415
1416/*---------------------------------------------------------------------------
1417 WDI_FinishScanReqParamsType
1418---------------------------------------------------------------------------*/
1419typedef struct
1420{
1421 /*Info for the Finish Scan request that will be sent down to the device*/
1422 WDI_FinishScanReqInfoType wdiReqInfo;
1423
1424 /*Request status callback offered by UMAC - it is called if the current
1425 req has returned PENDING as status; it delivers the status of sending
1426 the message over the BUS */
1427 WDI_ReqStatusCb wdiReqStatusCB;
1428
1429 /*The user data passed in by UMAC, it will be sent back when the above
1430 function pointer will be called */
1431 void* pUserData;
1432}WDI_FinishScanReqParamsType;
1433
1434/*---------------------------------------------------------------------------
1435 WDI_JoinReqInfoType
1436---------------------------------------------------------------------------*/
1437typedef struct
1438{
1439 /*Indicates the BSSID to which STA is going to associate*/
1440 wpt_macAddr macBSSID;
1441
1442 /*Indicates the MAC Address of the current Self STA*/
1443 wpt_macAddr macSTASelf;
1444
1445 /*Indicates the link State determining the entity Type e.g. BTAMP-STA, STA etc.*/
1446 wpt_uint32 linkState;
1447
1448 /*Indicates the channel to switch to.*/
1449 WDI_SwitchChReqInfoType wdiChannelInfo;
1450
1451}WDI_JoinReqInfoType;
1452
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08001453typedef enum
1454{
1455 eWDI_CHANNEL_SWITCH_SOURCE_SCAN,
1456 eWDI_CHANNEL_SWITCH_SOURCE_LISTEN,
1457 eWDI_CHANNEL_SWITCH_SOURCE_MCC,
1458 eWDI_CHANNEL_SWITCH_SOURCE_CSA,
1459 eWDI_CHANNEL_SWITCH_SOURCE_MAX = 0x7FFFFFFF
1460} WDI_ChanSwitchSource;
1461
1462/*---------------------------------------------------------------------------
1463 WDI_SwitchChReqInfoType_V1
1464---------------------------------------------------------------------------*/
1465typedef struct
1466{
1467 /*Indicates the channel to switch to.*/
1468 wpt_uint8 ucChannel;
1469
1470 /*Local power constraint*/
1471 wpt_uint8 ucLocalPowerConstraint;
1472
1473 /*Secondary channel offset */
1474 WDI_HTSecondaryChannelOffset wdiSecondaryChannelOffset;
1475
1476#ifdef WLAN_FEATURE_VOWIFI
1477 wpt_int8 cMaxTxPower;
1478 /*Self STA Mac address*/
1479 wpt_macAddr macSelfStaMacAddr;
1480#endif
1481 /* VO Wifi comment: BSSID is needed to identify which session
1482 issued this request. As the request has power constraints, this
1483 should be applied only to that session
1484 */
1485 /* V IMP: Keep bssId field at the end of this msg. It is used to
1486 maintain backward compatibility by way of ignoring if using new
1487 host/old FW or old host/new FW since it is at the end of this struct
1488 */
1489 wpt_macAddr macBSSId;
1490 /* Source of Channel Switch */
1491 WDI_ChanSwitchSource channelSwitchSrc;
1492}WDI_SwitchChReqInfoType_V1;
1493
1494/*--------------------------------------------------------------------
1495 WDI_SwitchChReqParamsType_V1
1496----------------------------------------------------------------------*/
1497typedef struct
1498{
1499 /*Channel Info*/
1500 WDI_SwitchChReqInfoType_V1 wdiChInfo;
1501
1502 /*Request status callback offered by UMAC - it is called if the current
1503 req has returned PENDING as status; it delivers the status of sending
1504 the message over the BUS */
1505 WDI_ReqStatusCb wdiReqStatusCB;
1506
1507 /*The user data passed in by UMAC, it will be sent back when the above
1508 function pointer will be called */
1509 void* pUserData;
1510}WDI_SwitchChReqParamsType_V1;
1511
Jeff Johnson295189b2012-06-20 16:38:30 -07001512/*---------------------------------------------------------------------------
1513 WDI_JoinReqParamsType
1514---------------------------------------------------------------------------*/
1515typedef struct
1516{
1517 /*Info for the Join request that will be sent down to the device*/
1518 WDI_JoinReqInfoType wdiReqInfo;
1519
1520 /*Request status callback offered by UMAC - it is called if the current
1521 req has returned PENDING as status; it delivers the status of sending
1522 the message over the BUS */
1523 WDI_ReqStatusCb wdiReqStatusCB;
1524
1525 /*The user data passed in by UMAC, it will be sent back when the above
1526 function pointer will be called */
1527 void* pUserData;
1528}WDI_JoinReqParamsType;
1529
1530/*---------------------------------------------------------------------------
1531 WDI_BssType
1532---------------------------------------------------------------------------*/
1533typedef enum
1534{
1535 WDI_INFRASTRUCTURE_MODE,
1536 WDI_INFRA_AP_MODE, //Added for softAP support
1537 WDI_IBSS_MODE,
1538 WDI_BTAMP_STA_MODE,
1539 WDI_BTAMP_AP_MODE,
1540 WDI_BSS_AUTO_MODE,
1541}WDI_BssType;
1542
1543/*---------------------------------------------------------------------------
1544 WDI_NwType
1545---------------------------------------------------------------------------*/
1546typedef enum
1547{
1548 WDI_11A_NW_TYPE,
1549 WDI_11B_NW_TYPE,
1550 WDI_11G_NW_TYPE,
1551 WDI_11N_NW_TYPE,
1552} WDI_NwType;
1553
1554/*---------------------------------------------------------------------------
1555 WDI_ConfigAction
1556---------------------------------------------------------------------------*/
1557typedef enum
1558{
1559 WDI_ADD_BSS,
1560 WDI_UPDATE_BSS
1561} WDI_ConfigAction;
1562
1563/*---------------------------------------------------------------------------
1564 WDI_HTOperatingMode
1565---------------------------------------------------------------------------*/
1566typedef enum
1567{
1568 WDI_HT_OP_MODE_PURE,
1569 WDI_HT_OP_MODE_OVERLAP_LEGACY,
1570 WDI_HT_OP_MODE_NO_LEGACY_20MHZ_HT,
1571 WDI_HT_OP_MODE_MIXED
1572
1573} WDI_HTOperatingMode;
1574
1575
1576/*---------------------------------------------------------------------------
1577 WDI_STAEntryType
1578---------------------------------------------------------------------------*/
1579typedef enum
1580{
1581 WDI_STA_ENTRY_SELF,
1582 WDI_STA_ENTRY_PEER,
1583 WDI_STA_ENTRY_BSSID,
Mohit Khanna698ba2a2012-12-04 15:08:18 -08001584 WDI_STA_ENTRY_BCAST,
1585#ifdef FEATURE_WLAN_TDLS
1586 WDI_STA_ENTRY_TDLS_PEER,
1587#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001588}WDI_STAEntryType;
1589
1590/*---------------------------------------------------------------------------
1591 WDI_ConfigActionType
1592---------------------------------------------------------------------------*/
1593typedef enum
1594{
1595 WDI_ADD_STA,
1596 WDI_UPDATE_STA
1597} WDI_ConfigActionType;
1598
1599/*----------------------------------------------------------------------------
1600 Each station added has a rate mode which specifies the sta attributes
1601 ----------------------------------------------------------------------------*/
1602typedef enum
1603{
1604 WDI_RESERVED_1 = 0,
1605 WDI_RESERVED_2,
1606 WDI_RESERVED_3,
1607 WDI_11b,
1608 WDI_11bg,
1609 WDI_11a,
1610 WDI_11n,
1611} WDI_RateModeType;
1612
1613/*---------------------------------------------------------------------------
1614 WDI_SupportedRatesType
1615---------------------------------------------------------------------------*/
1616typedef struct
1617{
1618 /*
1619 * For Self STA Entry: this represents Self Mode.
1620 * For Peer Stations, this represents the mode of the peer.
1621 * On Station:
1622 * --this mode is updated when PE adds the Self Entry.
1623 * -- OR when PE sends 'ADD_BSS' message and station context in BSS is used to indicate the mode of the AP.
1624 * ON AP:
1625 * -- this mode is updated when PE sends 'ADD_BSS' and Sta entry for that BSS is used
1626 * to indicate the self mode of the AP.
1627 * -- OR when a station is associated, PE sends 'ADD_STA' message with this mode updated.
1628 */
1629
1630 WDI_RateModeType opRateMode;
1631
1632 /* 11b, 11a and aniLegacyRates are IE rates which gives rate in unit of 500Kbps */
1633 wpt_uint16 llbRates[WDI_NUM_11B_RATES];
1634 wpt_uint16 llaRates[WDI_NUM_11A_RATES];
1635 wpt_uint16 aLegacyRates[WDI_NUM_POLARIS_RATES];
1636
1637 /*Taurus only supports 26 Titan Rates(no ESF/concat Rates will be supported)
1638 First 26 bits are reserved for those Titan rates and
1639 the last 4 bits(bit28-31) for Taurus, 2(bit26-27) bits are reserved.*/
1640 wpt_uint32 uEnhancedRateBitmap; //Titan and Taurus Rates
1641
1642 /*
1643 * 0-76 bits used, remaining reserved
1644 * bits 0-15 and 32 should be set.
1645 */
1646 wpt_uint8 aSupportedMCSSet[WDI_MAC_MAX_SUPPORTED_MCS_SET];
1647
1648 /*
1649 * RX Highest Supported Data Rate defines the highest data
1650 * rate that the STA is able to receive, in unites of 1Mbps.
1651 * This value is derived from "Supported MCS Set field" inside
1652 * the HT capability element.
1653 */
1654 wpt_uint16 aRxHighestDataRate;
1655
Jeff Johnsone7245742012-09-05 17:12:55 -07001656
1657#ifdef WLAN_FEATURE_11AC
1658 /*Indicates the Maximum MCS that can be received for each number
1659 of spacial streams */
1660 wpt_uint16 vhtRxMCSMap;
1661 /*Indicate the highest VHT data rate that the STA is able to receive*/
1662 wpt_uint16 vhtRxHighestDataRate;
1663 /*Indicates the Maximum MCS that can be transmitted for each number
1664 of spacial streams */
1665 wpt_uint16 vhtTxMCSMap;
1666 /*Indicate the highest VHT data rate that the STA is able to transmit*/
1667 wpt_uint16 vhtTxHighestDataRate;
1668#endif
1669
Jeff Johnson295189b2012-06-20 16:38:30 -07001670} WDI_SupportedRates;
1671
1672/*--------------------------------------------------------------------------
1673 WDI_HTMIMOPowerSaveState
1674 Spatial Multiplexing(SM) Power Save mode
1675 --------------------------------------------------------------------------*/
1676typedef enum
1677{
1678 WDI_HT_MIMO_PS_STATIC = 0, // Static SM Power Save mode
1679 WDI_HT_MIMO_PS_DYNAMIC = 1, // Dynamic SM Power Save mode
1680 WDI_HT_MIMO_PS_NA = 2, // reserved
1681 WDI_HT_MIMO_PS_NO_LIMIT = 3, // SM Power Save disabled
1682} WDI_HTMIMOPowerSaveState;
1683
1684/*---------------------------------------------------------------------------
1685 WDI_ConfigStaReqInfoType
1686---------------------------------------------------------------------------*/
1687typedef struct
1688{
1689 /*BSSID of STA*/
1690 wpt_macAddr macBSSID;
1691
1692 /*ASSOC ID, as assigned by UMAC*/
1693 wpt_uint16 usAssocId;
1694
1695 /*Used for configuration of different HW modules.*/
1696 WDI_STAEntryType wdiSTAType;
1697
Gopichand Nakkalae7cbc5d2013-03-27 21:09:23 -07001698 /*STA Index */
1699 wpt_uint8 staIdx;
1700
Jeff Johnson295189b2012-06-20 16:38:30 -07001701 /*Short Preamble Supported.*/
1702 wpt_uint8 ucShortPreambleSupported;
1703
1704 /*MAC Address of STA*/
1705 wpt_macAddr macSTA;
1706
1707 /*Listen interval of the STA*/
1708 wpt_uint16 usListenInterval;
1709
1710 /*Support for 11e/WMM*/
1711 wpt_uint8 ucWMMEnabled;
1712
1713 /*11n HT capable STA*/
1714 wpt_uint8 ucHTCapable;
1715
1716 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
1717 wpt_uint8 ucTXChannelWidthSet;
1718
1719 /*RIFS mode 0 - NA, 1 - Allowed*/
1720 wpt_uint8 ucRIFSMode;
1721
1722 /*L-SIG TXOP Protection mechanism
1723 0 - No Support, 1 - Supported
1724 SG - there is global field*/
1725 wpt_uint8 ucLSIGTxopProtection;
1726
1727 /*Max Ampdu Size supported by STA. Device programming.
1728 0 : 8k , 1 : 16k, 2 : 32k, 3 : 64k */
1729 wpt_uint8 ucMaxAmpduSize;
1730
1731 /*Max Ampdu density. Used by RA. 3 : 0~7 : 2^(11nAMPDUdensity -4)*/
1732 wpt_uint8 ucMaxAmpduDensity;
1733
1734 /*Max AMSDU size 1 : 3839 bytes, 0 : 7935 bytes*/
1735 wpt_uint8 ucMaxAmsduSize;
1736
1737 /*Short GI support for 40Mhz packets*/
1738 wpt_uint8 ucShortGI40Mhz;
1739
1740 /*Short GI support for 20Mhz packets*/
1741 wpt_uint8 ucShortGI20Mhz;
1742
1743 /*These rates are the intersection of peer and self capabilities.*/
1744 WDI_SupportedRates wdiSupportedRates;
1745
1746 /*Robust Management Frame (RMF) enabled/disabled*/
1747 wpt_uint8 ucRMFEnabled;
1748
1749 /* The unicast encryption type in the association */
1750 wpt_uint32 ucEncryptType;
1751
1752 /*HAL should update the existing STA entry, if this flag is set. UMAC
1753 will set this flag in case of RE-ASSOC, where we want to reuse the old
1754 STA ID.*/
1755 WDI_ConfigActionType wdiAction;
1756
1757 /*U-APSD Flags: 1b per AC. Encoded as follows:
1758 b7 b6 b5 b4 b3 b2 b1 b0 =
1759 X X X X BE BK VI VO
1760 */
1761 wpt_uint8 ucAPSD;
1762
1763 /*Max SP Length*/
1764 wpt_uint8 ucMaxSPLen;
1765
1766 /*11n Green Field preamble support*/
1767 wpt_uint8 ucGreenFieldCapable;
1768
1769 /*MIMO Power Save mode*/
1770 WDI_HTMIMOPowerSaveState wdiMIMOPS;
1771
1772 /*Delayed BA Support*/
1773 wpt_uint8 ucDelayedBASupport;
1774
1775 /*Max AMPDU duration in 32us*/
1776 wpt_uint8 us32MaxAmpduDuratio;
1777
1778 /*HT STA should set it to 1 if it is enabled in BSS
1779 HT STA should set it to 0 if AP does not support it. This indication is
1780 sent to HAL and HAL uses this flag to pickup up appropriate 40Mhz rates.
1781 */
1782 wpt_uint8 ucDsssCckMode40Mhz;
1783
1784 wpt_uint8 ucP2pCapableSta;
Jeff Johnsone7245742012-09-05 17:12:55 -07001785#ifdef WLAN_FEATURE_11AC
1786 wpt_uint8 ucVhtCapableSta;
1787 wpt_uint8 ucVhtTxChannelWidthSet;
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08001788 wpt_uint8 ucVhtTxBFEnabled;
Abhishek Singh6927fa02014-06-27 17:19:55 +05301789 wpt_uint8 vhtTxMUBformeeCapable;
Jeff Johnsone7245742012-09-05 17:12:55 -07001790#endif
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08001791
1792 wpt_uint8 ucHtLdpcEnabled;
1793 wpt_uint8 ucVhtLdpcEnabled;
Jeff Johnson295189b2012-06-20 16:38:30 -07001794}WDI_ConfigStaReqInfoType;
1795
1796
1797/*---------------------------------------------------------------------------
1798 WDI_RateSet
1799
1800 12 Bytes long because this structure can be used to represent rate
1801 and extended rate set IEs
1802 The parser assume this to be at least 12
1803---------------------------------------------------------------------------*/
1804#define WDI_RATESET_EID_MAX 12
1805
1806typedef struct
1807{
1808 wpt_uint8 ucNumRates;
1809 wpt_uint8 aRates[WDI_RATESET_EID_MAX];
1810} WDI_RateSet;
1811
1812/*---------------------------------------------------------------------------
1813 WDI_AciAifsnType
1814 access category record
1815---------------------------------------------------------------------------*/
1816typedef struct
1817{
1818 wpt_uint8 rsvd : 1;
1819 wpt_uint8 aci : 2;
1820 wpt_uint8 acm : 1;
1821 wpt_uint8 aifsn : 4;
1822} WDI_AciAifsnType;
1823
1824/*---------------------------------------------------------------------------
1825 WDI_CWType
1826 contention window size
1827---------------------------------------------------------------------------*/
1828typedef struct
1829{
1830 wpt_uint8 max : 4;
1831 wpt_uint8 min : 4;
1832} WDI_CWType;
1833
1834/*---------------------------------------------------------------------------
1835 WDI_EdcaParamRecord
1836---------------------------------------------------------------------------*/
1837typedef struct
1838{
1839 /*Access Category Record*/
1840 WDI_AciAifsnType wdiACI;
1841
1842 /*Contention WIndow Size*/
1843 WDI_CWType wdiCW;
1844
1845 /*TX Oportunity Limit*/
1846 wpt_uint16 usTXOPLimit;
1847} WDI_EdcaParamRecord;
1848
1849/*---------------------------------------------------------------------------
1850 WDI_EDCAParamsType
1851---------------------------------------------------------------------------*/
1852typedef struct
1853{
1854 /*BSS Index*/
1855 wpt_uint8 ucBSSIdx;
1856
1857 /*?*/
1858 wpt_boolean bHighPerformance;
1859
1860 /*Best Effort*/
1861 WDI_EdcaParamRecord wdiACBE;
1862
1863 /*Background*/
1864 WDI_EdcaParamRecord wdiACBK;
1865
1866 /*Video*/
1867 WDI_EdcaParamRecord wdiACVI;
1868
1869 /*Voice*/
1870 WDI_EdcaParamRecord acvo; // voice
1871} WDI_EDCAParamsType;
1872
1873/* operMode in ADD BSS message */
1874#define WDI_BSS_OPERATIONAL_MODE_AP 0
1875#define WDI_BSS_OPERATIONAL_MODE_STA 1
1876
1877/*---------------------------------------------------------------------------
1878 WDI_ConfigBSSRspParamsType
1879---------------------------------------------------------------------------*/
1880typedef struct
1881{
1882 /*Status of the response*/
1883 WDI_Status wdiStatus;
1884
1885 /*BSSID of the BSS*/
1886 wpt_macAddr macBSSID;
1887
1888 /*BSS Index*/
1889 wpt_uint8 ucBSSIdx;
1890
1891 /*Unicast DPU signature*/
1892 wpt_uint8 ucUcastSig;
1893
1894 /*Broadcast DPU Signature*/
1895 wpt_uint8 ucBcastSig;
1896
1897 /*MAC Address of STA*/
1898 wpt_macAddr macSTA;
1899
1900 /*BSS STA ID*/
1901 wpt_uint8 ucSTAIdx;
1902
1903#ifdef WLAN_FEATURE_VOWIFI
1904 /*HAL fills in the tx power used for mgmt frames in this field */
1905 wpt_int8 ucTxMgmtPower;
1906#endif
1907
1908}WDI_ConfigBSSRspParamsType;
1909
1910/*---------------------------------------------------------------------------
1911 WDI_DelBSSReqParamsType
1912---------------------------------------------------------------------------*/
1913typedef struct
1914{
1915 /*BSS Index of the BSS*/
1916 wpt_uint8 ucBssIdx;
1917
1918 /*Request status callback offered by UMAC - it is called if the current
1919 req has returned PENDING as status; it delivers the status of sending
1920 the message over the BUS */
1921 WDI_ReqStatusCb wdiReqStatusCB;
1922
1923 /*The user data passed in by UMAC, it will be sent back when the above
1924 function pointer will be called */
1925 void* pUserData;
1926}WDI_DelBSSReqParamsType;
1927
1928/*---------------------------------------------------------------------------
1929 WDI_DelBSSRspParamsType
1930---------------------------------------------------------------------------*/
1931typedef struct
1932{
1933 /*Status of the response*/
1934 WDI_Status wdiStatus;
1935
1936 /*BSSID of the BSS*/
1937 wpt_macAddr macBSSID;
1938
1939 wpt_uint8 ucBssIdx;
1940
1941}WDI_DelBSSRspParamsType;
1942
1943/*---------------------------------------------------------------------------
1944 WDI_ConfigSTARspParamsType
1945---------------------------------------------------------------------------*/
1946typedef struct
1947{
1948 /*Status of the response*/
1949 WDI_Status wdiStatus;
1950
1951 /*STA Idx allocated by HAL*/
1952 wpt_uint8 ucSTAIdx;
1953
1954 /*MAC Address of STA*/
1955 wpt_macAddr macSTA;
1956
1957 /* BSSID Index of BSS to which the station is associated */
1958 wpt_uint8 ucBssIdx;
1959
1960 /* DPU Index - PTK */
1961 wpt_uint8 ucDpuIndex;
1962
1963 /* Bcast DPU Index - GTK */
1964 wpt_uint8 ucBcastDpuIndex;
1965
1966 /* Management DPU Index - IGTK - Why is it called bcastMgmtDpuIdx? */
1967 wpt_uint8 ucBcastMgmtDpuIdx;
1968
1969 /*Unicast DPU signature*/
1970 wpt_uint8 ucUcastSig;
1971
1972 /*Broadcast DPU Signature*/
1973 wpt_uint8 ucBcastSig;
1974
1975 /* IGTK DPU signature*/
1976 wpt_uint8 ucMgmtSig;
1977
1978}WDI_ConfigSTARspParamsType;
1979
1980/*---------------------------------------------------------------------------
1981 WDI_PostAssocRspParamsType
1982---------------------------------------------------------------------------*/
1983typedef struct
1984{
1985 /*Status of the response*/
1986 WDI_Status wdiStatus;
1987
1988 /*Parameters related to the BSS*/
1989 WDI_ConfigBSSRspParamsType bssParams;
1990
1991 /*Parameters related to the self STA*/
1992 WDI_ConfigSTARspParamsType staParams;
1993
1994}WDI_PostAssocRspParamsType;
1995
1996/*---------------------------------------------------------------------------
1997 WDI_DelSTAReqParamsType
1998---------------------------------------------------------------------------*/
1999typedef struct
2000{
2001 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
2002 wpt_uint8 ucSTAIdx;
2003
2004 /*Request status callback offered by UMAC - it is called if the current
2005 req has returned PENDING as status; it delivers the status of sending
2006 the message over the BUS */
2007 WDI_ReqStatusCb wdiReqStatusCB;
2008
2009 /*The user data passed in by UMAC, it will be sent back when the above
2010 function pointer will be called */
2011 void* pUserData;
2012}WDI_DelSTAReqParamsType;
2013
2014/*---------------------------------------------------------------------------
2015 WDI_DelSTARspParamsType
2016---------------------------------------------------------------------------*/
2017typedef struct
2018{
2019 /*Status of the response*/
2020 WDI_Status wdiStatus;
2021
2022 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
2023 wpt_uint8 ucSTAIdx;
2024}WDI_DelSTARspParamsType;
2025
2026/*---------------------------------------------------------------------------
2027 WDI_EncryptType
2028---------------------------------------------------------------------------*/
2029typedef enum
2030{
2031 WDI_ENCR_NONE,
2032 WDI_ENCR_WEP40,
2033 WDI_ENCR_WEP104,
2034 WDI_ENCR_TKIP,
2035 WDI_ENCR_CCMP,
2036#if defined(FEATURE_WLAN_WAPI)
2037 WDI_ENCR_WPI,
2038#endif
2039 WDI_ENCR_AES_128_CMAC
2040} WDI_EncryptType;
2041
2042/*---------------------------------------------------------------------------
2043 WDI_KeyDirectionType
2044---------------------------------------------------------------------------*/
2045typedef enum
2046{
2047 WDI_TX_ONLY,
2048 WDI_RX_ONLY,
2049 WDI_TX_RX,
Jeff Johnson295189b2012-06-20 16:38:30 -07002050 WDI_TX_DEFAULT,
Jeff Johnson295189b2012-06-20 16:38:30 -07002051 WDI_DONOT_USE_KEY_DIRECTION
2052} WDI_KeyDirectionType;
2053
2054#define WDI_MAX_ENCR_KEYS 4
2055#define WDI_MAX_KEY_LENGTH 32
2056#if defined(FEATURE_WLAN_WAPI)
2057#define WDI_MAX_KEY_RSC_LEN 16
2058#define WDI_WAPI_KEY_RSC_LEN 16
2059#else
2060#define WDI_MAX_KEY_RSC_LEN 8
2061#endif
2062
2063typedef struct
2064{
2065 /* Key ID */
2066 wpt_uint8 keyId;
2067 /* 0 for multicast */
2068 wpt_uint8 unicast;
2069 /* Key Direction */
2070 WDI_KeyDirectionType keyDirection;
2071 /* Usage is unknown */
2072 wpt_uint8 keyRsc[WDI_MAX_KEY_RSC_LEN];
2073 /* =1 for authenticator, =0 for supplicant */
2074 wpt_uint8 paeRole;
2075 wpt_uint16 keyLength;
2076 wpt_uint8 key[WDI_MAX_KEY_LENGTH];
2077
2078}WDI_KeysType;
2079
2080/*---------------------------------------------------------------------------
2081 WDI_SetBSSKeyReqInfoType
2082---------------------------------------------------------------------------*/
2083typedef struct
2084{
2085 /*BSS Index of the BSS*/
2086 wpt_uint8 ucBssIdx;
2087
2088 /*Encryption Type used with peer*/
2089 WDI_EncryptType wdiEncType;
2090
2091 /*Number of keys*/
2092 wpt_uint8 ucNumKeys;
2093
2094 /*Array of keys.*/
2095 WDI_KeysType aKeys[WDI_MAX_ENCR_KEYS];
2096
2097 /*Control for Replay Count, 1= Single TID based replay count on Tx
2098 0 = Per TID based replay count on TX */
2099 wpt_uint8 ucSingleTidRc;
2100}WDI_SetBSSKeyReqInfoType;
2101
2102/*---------------------------------------------------------------------------
2103 WDI_SetBSSKeyReqParamsType
2104---------------------------------------------------------------------------*/
2105typedef struct
2106{
2107 /*Key Info */
2108 WDI_SetBSSKeyReqInfoType wdiBSSKeyInfo;
2109
2110 /*Request status callback offered by UMAC - it is called if the current
2111 req has returned PENDING as status; it delivers the status of sending
2112 the message over the BUS */
2113 WDI_ReqStatusCb wdiReqStatusCB;
2114
2115 /*The user data passed in by UMAC, it will be sent back when the above
2116 function pointer will be called */
2117 void* pUserData;
2118}WDI_SetBSSKeyReqParamsType;
2119
2120/*---------------------------------------------------------------------------
2121 WDI_WepType
2122---------------------------------------------------------------------------*/
2123typedef enum
2124{
2125 WDI_WEP_STATIC,
2126 WDI_WEP_DYNAMIC
2127
2128} WDI_WepType;
2129
2130/*---------------------------------------------------------------------------
2131 WDI_RemoveBSSKeyReqInfoType
2132---------------------------------------------------------------------------*/
2133typedef struct
2134{
2135 /*BSS Index of the BSS*/
2136 wpt_uint8 ucBssIdx;
2137
2138 /*Encryption Type used with peer*/
2139 WDI_EncryptType wdiEncType;
2140
2141 /*Key Id*/
2142 wpt_uint8 ucKeyId;
2143
2144 /*STATIC/DYNAMIC. Used in Nullifying in Key Descriptors for Static/Dynamic
2145 keys*/
2146 WDI_WepType wdiWEPType;
2147}WDI_RemoveBSSKeyReqInfoType;
2148
2149/*---------------------------------------------------------------------------
2150 WDI_RemoveBSSKeyReqParamsType
2151---------------------------------------------------------------------------*/
2152typedef struct
2153{
2154 /*Key Info */
2155 WDI_RemoveBSSKeyReqInfoType wdiKeyInfo;
2156
2157 /*Request status callback offered by UMAC - it is called if the current
2158 req has returned PENDING as status; it delivers the status of sending
2159 the message over the BUS */
2160 WDI_ReqStatusCb wdiReqStatusCB;
2161
2162 /*The user data passed in by UMAC, it will be sent back when the above
2163 function pointer will be called */
2164 void* pUserData;
2165}WDI_RemoveBSSKeyReqParamsType;
2166
2167/*---------------------------------------------------------------------------
2168 WDI_SetSTAKeyReqInfoType
2169---------------------------------------------------------------------------*/
2170typedef struct
2171{
2172 /*STA Index*/
2173 wpt_uint8 ucSTAIdx;
2174
2175 /*Encryption Type used with peer*/
2176 WDI_EncryptType wdiEncType;
2177
2178 /*STATIC/DYNAMIC*/
2179 WDI_WepType wdiWEPType;
2180
2181 /*Default WEP key, valid only for static WEP, must between 0 and 3.*/
2182 wpt_uint8 ucDefWEPIdx;
2183
2184 /*Number of keys*/
2185 wpt_uint8 ucNumKeys;
2186
2187 /*Array of keys.*/
2188 WDI_KeysType wdiKey[WDI_MAX_ENCR_KEYS];
2189
2190 /*Control for Replay Count, 1= Single TID based replay count on Tx
2191 0 = Per TID based replay count on TX */
2192 wpt_uint8 ucSingleTidRc;
2193}WDI_SetSTAKeyReqInfoType;
2194
2195/*---------------------------------------------------------------------------
2196 WDI_ConfigBSSReqInfoType
2197---------------------------------------------------------------------------*/
2198typedef struct
2199{
2200 /*Peer BSSID*/
2201 wpt_macAddr macBSSID;
2202
2203 /*Self MAC Address*/
2204 wpt_macAddr macSelfAddr;
2205
2206 /*BSS Type*/
2207 WDI_BssType wdiBSSType;
2208
2209 /*Operational Mode: AP =0, STA = 1*/
2210 wpt_uint8 ucOperMode;
2211
2212 /*Network Type*/
2213 WDI_NwType wdiNWType;
2214
2215 /*Used to classify PURE_11G/11G_MIXED to program MTU*/
2216 wpt_uint8 ucShortSlotTimeSupported;
2217
2218 /*Co-exist with 11a STA*/
2219 wpt_uint8 ucllaCoexist;
2220
2221 /*Co-exist with 11b STA*/
2222 wpt_uint8 ucllbCoexist;
2223
2224 /*Co-exist with 11g STA*/
2225 wpt_uint8 ucllgCoexist;
2226
2227 /*Coexistence with 11n STA*/
2228 wpt_uint8 ucHT20Coexist;
2229
2230 /*Non GF coexist flag*/
2231 wpt_uint8 ucllnNonGFCoexist;
2232
2233 /*TXOP protection support*/
2234 wpt_uint8 ucTXOPProtectionFullSupport;
2235
2236 /*RIFS mode*/
2237 wpt_uint8 ucRIFSMode;
2238
2239 /*Beacon Interval in TU*/
2240 wpt_uint16 usBeaconInterval;
2241
2242 /*DTIM period*/
2243 wpt_uint8 ucDTIMPeriod;
2244
2245 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
2246 wpt_uint8 ucTXChannelWidthSet;
2247
2248 /*Operating channel*/
2249 wpt_uint8 ucCurrentOperChannel;
2250
2251 /*Extension channel for channel bonding*/
2252 wpt_uint8 ucCurrentExtChannel;
2253
2254 /*Context of the station being added in HW.*/
2255 WDI_ConfigStaReqInfoType wdiSTAContext;
2256
2257 /*SSID of the BSS*/
2258 WDI_MacSSid wdiSSID;
2259
2260 /*HAL should update the existing BSS entry, if this flag is set. UMAC will
2261 set this flag in case of RE-ASSOC, where we want to reuse the old BSSID*/
2262 WDI_ConfigAction wdiAction;
2263
2264 /*Basic Rate Set*/
2265 WDI_RateSet wdiRateSet;
2266
2267 /*Enable/Disable HT capabilities of the BSS*/
2268 wpt_uint8 ucHTCapable;
2269
2270 /* Enable/Disable OBSS protection */
2271 wpt_uint8 ucObssProtEnabled;
2272
2273 /*RMF enabled/disabled*/
2274 wpt_uint8 ucRMFEnabled;
2275
2276 /*Determines the current HT Operating Mode operating mode of the
2277 802.11n STA*/
2278 WDI_HTOperatingMode wdiHTOperMod;
2279
2280 /*Dual CTS Protection: 0 - Unused, 1 - Used*/
2281 wpt_uint8 ucDualCTSProtection;
2282
2283 /* Probe Response Max retries */
2284 wpt_uint8 ucMaxProbeRespRetryLimit;
2285
2286 /* To Enable Hidden ssid */
2287 wpt_uint8 bHiddenSSIDEn;
2288
2289 /* To Enable Disable FW Proxy Probe Resp */
2290 wpt_uint8 bProxyProbeRespEn;
2291
2292 /* Boolean to indicate if EDCA params are valid. UMAC might not have valid
2293 EDCA params or might not desire to apply EDCA params during config BSS.
2294 0 implies Not Valid ; Non-Zero implies valid*/
2295 wpt_uint8 ucEDCAParamsValid;
2296
2297 /*EDCA Parameters for BK*/
2298 WDI_EdcaParamRecord wdiBKEDCAParams;
2299
2300 /*EDCA Parameters for BE*/
2301 WDI_EdcaParamRecord wdiBEEDCAParams;
2302
2303 /*EDCA Parameters for VI*/
2304 WDI_EdcaParamRecord wdiVIEDCAParams;
2305
2306 /*EDCA Parameters for VO*/
2307 WDI_EdcaParamRecord wdiVOEDCAParams;
2308
2309#ifdef WLAN_FEATURE_VOWIFI
2310 /*max power to be used after applying the power constraint, if any */
2311 wpt_int8 cMaxTxPower;
2312#endif
2313
2314 /* Persona for the BSS can be STA,AP,GO,CLIENT, same as Connection Mode */
2315 wpt_uint8 ucPersona;
2316
2317 /* Spectrum Mangement Indicator */
2318 wpt_uint8 bSpectrumMgtEn;
2319
2320#ifdef WLAN_FEATURE_VOWIFI_11R
2321 wpt_uint8 bExtSetStaKeyParamValid;
2322 WDI_SetSTAKeyReqInfoType wdiExtSetKeyParam;
2323#endif
2324
Jeff Johnsone7245742012-09-05 17:12:55 -07002325#ifdef WLAN_FEATURE_11AC
2326 wpt_uint8 ucVhtCapableSta;
2327 wpt_uint8 ucVhtTxChannelWidthSet;
2328#endif
2329
Jeff Johnson295189b2012-06-20 16:38:30 -07002330}WDI_ConfigBSSReqInfoType;
2331
2332/*---------------------------------------------------------------------------
2333 WDI_PostAssocReqParamsType
2334---------------------------------------------------------------------------*/
2335typedef struct
2336{
2337 /*Config STA arguments.*/
2338 WDI_ConfigStaReqInfoType wdiSTAParams;
2339
2340 /*Config BSS Arguments*/
2341 WDI_ConfigBSSReqInfoType wdiBSSParams;
2342
2343 /*Request status callback offered by UMAC - it is called if the current
2344 req has returned PENDING as status; it delivers the status of sending
2345 the message over the BUS */
2346 WDI_ReqStatusCb wdiReqStatusCB;
2347
2348 /*The user data passed in by UMAC, it will be sent back when the above
2349 function pointer will be called */
2350 void* pUserData;
2351}WDI_PostAssocReqParamsType;
2352
2353/*---------------------------------------------------------------------------
2354 WDI_ConfigBSSReqParamsType
2355---------------------------------------------------------------------------*/
2356typedef struct
2357{
2358 /*Info for the Join request that will be sent down to the device*/
2359 WDI_ConfigBSSReqInfoType wdiReqInfo;
2360
2361 /*Request status callback offered by UMAC - it is called if the current
2362 req has returned PENDING as status; it delivers the status of sending
2363 the message over the BUS */
2364 WDI_ReqStatusCb wdiReqStatusCB;
2365
2366 /*The user data passed in by UMAC, it will be sent back when the above
2367 function pointer will be called */
2368 void* pUserData;
2369}WDI_ConfigBSSReqParamsType;
2370
2371/*---------------------------------------------------------------------------
2372 WDI_SetSTAKeyReqParamsType
2373---------------------------------------------------------------------------*/
2374typedef struct
2375{
2376 /*Key Info*/
2377 WDI_SetSTAKeyReqInfoType wdiKeyInfo;
2378
2379 /*Request status callback offered by UMAC - it is called if the current
2380 req has returned PENDING as status; it delivers the status of sending
2381 the message over the BUS */
2382 WDI_ReqStatusCb wdiReqStatusCB;
2383
2384 /*The user data passed in by UMAC, it will be sent back when the above
2385 function pointer will be called */
2386 void* pUserData;
2387}WDI_SetSTAKeyReqParamsType;
2388
2389/*---------------------------------------------------------------------------
2390 WDI_RemoveSTAKeyReqInfoType
2391---------------------------------------------------------------------------*/
2392typedef struct
2393{
2394 /*STA Index*/
2395 wpt_uint8 ucSTAIdx;
2396
2397 /*Encryption Type used with peer*/
2398 WDI_EncryptType wdiEncType;
2399
2400 /*Key Id*/
2401 wpt_uint8 ucKeyId;
2402
2403 /*Whether to invalidate the Broadcast key or Unicast key. In case of WEP,
2404 the same key is used for both broadcast and unicast.*/
2405 wpt_uint8 ucUnicast;
2406}WDI_RemoveSTAKeyReqInfoType;
2407
2408/*---------------------------------------------------------------------------
2409 WDI_RemoveSTAKeyReqParamsType
2410---------------------------------------------------------------------------*/
2411typedef struct
2412{
2413 /*Key Info */
2414 WDI_RemoveSTAKeyReqInfoType wdiKeyInfo;
2415
2416 /*Request status callback offered by UMAC - it is called if the current
2417 req has returned PENDING as status; it delivers the status of sending
2418 the message over the BUS */
2419 WDI_ReqStatusCb wdiReqStatusCB;
2420
2421 /*The user data passed in by UMAC, it will be sent back when the above
2422 function pointer will be called */
2423 void* pUserData;
2424}WDI_RemoveSTAKeyReqParamsType;
2425
2426/*---------------------------------------------------------------------------
2427 QOS Parameters
2428---------------------------------------------------------------------------*/
2429
2430/*---------------------------------------------------------------------------
2431 WDI_TSInfoTfc
2432---------------------------------------------------------------------------*/
2433typedef struct
2434{
2435 wpt_uint16 ackPolicy:2;
2436 wpt_uint16 userPrio:3;
2437 wpt_uint16 psb:1;
2438 wpt_uint16 aggregation : 1;
2439 wpt_uint16 accessPolicy : 2;
2440 wpt_uint16 direction : 2;
2441 wpt_uint16 tsid : 4;
2442 wpt_uint16 trafficType : 1;
2443} WDI_TSInfoTfc;
2444
2445/*---------------------------------------------------------------------------
2446 WDI_TSInfoSch
2447---------------------------------------------------------------------------*/
2448typedef struct
2449{
2450 wpt_uint8 rsvd : 7;
2451 wpt_uint8 schedule : 1;
2452} WDI_TSInfoSch;
2453
2454/*---------------------------------------------------------------------------
2455 WDI_TSInfoType
2456---------------------------------------------------------------------------*/
2457typedef struct
2458{
2459 WDI_TSInfoTfc wdiTraffic;
2460 WDI_TSInfoSch wdiSchedule;
2461} WDI_TSInfoType;
2462
2463/*---------------------------------------------------------------------------
2464 WDI_TspecIEType
2465---------------------------------------------------------------------------*/
2466typedef struct
2467{
2468 wpt_uint8 ucType;
2469 wpt_uint8 ucLength;
2470 WDI_TSInfoType wdiTSinfo;
2471 wpt_uint16 usNomMsduSz;
2472 wpt_uint16 usMaxMsduSz;
2473 wpt_uint32 uMinSvcInterval;
2474 wpt_uint32 uMaxSvcInterval;
2475 wpt_uint32 uInactInterval;
2476 wpt_uint32 uSuspendInterval;
2477 wpt_uint32 uSvcStartTime;
2478 wpt_uint32 uMinDataRate;
2479 wpt_uint32 uMeanDataRate;
2480 wpt_uint32 uPeakDataRate;
2481 wpt_uint32 uMaxBurstSz;
2482 wpt_uint32 uDelayBound;
2483 wpt_uint32 uMinPhyRate;
2484 wpt_uint16 usSurplusBw;
2485 wpt_uint16 usMediumTime;
2486}WDI_TspecIEType;
2487
2488/*---------------------------------------------------------------------------
2489 WDI_AddTSReqInfoType
2490---------------------------------------------------------------------------*/
2491typedef struct
2492{
2493 /*STA Index*/
2494 wpt_uint8 ucSTAIdx;
2495
2496 /*Identifier for TSpec*/
2497 wpt_uint16 ucTspecIdx;
2498
2499 /*Tspec IE negotiated OTA*/
2500 WDI_TspecIEType wdiTspecIE;
2501
2502 /*UAPSD delivery and trigger enabled flags */
2503 wpt_uint8 ucUapsdFlags;
2504
2505 /*SI for each AC*/
2506 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
2507
2508 /*Suspend Interval for each AC*/
2509 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
2510
2511 /*DI for each AC*/
2512 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
2513
2514}WDI_AddTSReqInfoType;
2515
2516
2517/*---------------------------------------------------------------------------
2518 WDI_AddTSReqParamsType
2519---------------------------------------------------------------------------*/
2520typedef struct
2521{
2522 /*TSpec Info */
2523 WDI_AddTSReqInfoType wdiTsInfo;
2524
2525 /*Request status callback offered by UMAC - it is called if the current
2526 req has returned PENDING as status; it delivers the status of sending
2527 the message over the BUS */
2528 WDI_ReqStatusCb wdiReqStatusCB;
2529
2530 /*The user data passed in by UMAC, it will be sent back when the above
2531 function pointer will be called */
2532 void* pUserData;
2533}WDI_AddTSReqParamsType;
2534
2535/*---------------------------------------------------------------------------
2536 WDI_DelTSReqInfoType
2537---------------------------------------------------------------------------*/
2538typedef struct
2539{
2540 /*STA Index*/
2541 wpt_uint8 ucSTAIdx;
2542
2543 /*Identifier for TSpec*/
2544 wpt_uint16 ucTspecIdx;
2545
2546 /*BSSID of the BSS*/
2547 wpt_macAddr macBSSID;
2548}WDI_DelTSReqInfoType;
2549
2550/*---------------------------------------------------------------------------
2551 WDI_DelTSReqParamsType
2552---------------------------------------------------------------------------*/
2553typedef struct
2554{
2555 /*Del TSpec Info*/
2556 WDI_DelTSReqInfoType wdiDelTSInfo;
2557
2558 /*Request status callback offered by UMAC - it is called if the current
2559 req has returned PENDING as status; it delivers the status of sending
2560 the message over the BUS */
2561 WDI_ReqStatusCb wdiReqStatusCB;
2562
2563 /*The user data passed in by UMAC, it will be sent back when the above
2564 function pointer will be called */
2565 void* pUserData;
2566}WDI_DelTSReqParamsType;
2567
2568/*---------------------------------------------------------------------------
2569 WDI_UpdateEDCAInfoType
2570---------------------------------------------------------------------------*/
2571typedef struct
2572{
krunal soni0b366c02013-07-17 19:55:57 -07002573 /*BSS Index of the BSS*/
2574 wpt_uint16 ucBssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07002575
Jeff Johnson295189b2012-06-20 16:38:30 -07002576 /*EDCA params for BE*/
2577 WDI_EdcaParamRecord wdiEdcaBEInfo;
2578
2579 /*EDCA params for BK*/
2580 WDI_EdcaParamRecord wdiEdcaBKInfo;
2581
2582 /*EDCA params for VI*/
2583 WDI_EdcaParamRecord wdiEdcaVIInfo;
2584
2585 /*EDCA params for VO*/
2586 WDI_EdcaParamRecord wdiEdcaVOInfo;
2587
2588}WDI_UpdateEDCAInfoType;
2589
2590/*---------------------------------------------------------------------------
2591 WDI_UpdateEDCAParamsType
2592---------------------------------------------------------------------------*/
2593typedef struct
2594{
2595 /*EDCA Info */
2596 WDI_UpdateEDCAInfoType wdiEDCAInfo;
2597
2598 /*Request status callback offered by UMAC - it is called if the current
2599 req has returned PENDING as status; it delivers the status of sending
2600 the message over the BUS */
2601 WDI_ReqStatusCb wdiReqStatusCB;
2602
2603 /*The user data passed in by UMAC, it will be sent back when the above
2604 function pointer will be called */
2605 void* pUserData;
2606}WDI_UpdateEDCAParamsType;
2607
2608/*---------------------------------------------------------------------------
2609 WDI_AddBASessionReqinfoType
2610---------------------------------------------------------------------------*/
2611typedef struct
2612{
2613 /*Indicates the station for which BA is added..*/
2614 wpt_uint8 ucSTAIdx;
2615
2616 /*The peer mac address*/
2617 wpt_macAddr macPeerAddr;
2618
2619 /*TID for which BA was negotiated*/
2620 wpt_uint8 ucBaTID;
2621
2622 /*Delayed or imediate */
2623 wpt_uint8 ucBaPolicy;
2624
2625 /*The number of buffers for this TID (baTID)*/
2626 wpt_uint16 usBaBufferSize;
2627
2628 /*BA timeout in TU's*/
2629 wpt_uint16 usBaTimeout;
2630
2631 /*b0..b3 - Fragment Number - Always set to 0
2632 b4..b15 - Starting Sequence Number of first MSDU for which this BA is setup*/
2633 wpt_uint16 usBaSSN;
2634
2635 /*Originator/Recipient*/
2636 wpt_uint8 ucBaDirection;
2637
2638}WDI_AddBASessionReqinfoType;
2639
2640
2641/*---------------------------------------------------------------------------
2642 WDI_AddBASessionReqParamsType
2643---------------------------------------------------------------------------*/
2644typedef struct
2645{
2646 /*BA Session Info Type*/
2647 WDI_AddBASessionReqinfoType wdiBASessionInfoType;
2648
2649 /*Request status callback offered by UMAC - it is called if the current
2650 req has returned PENDING as status; it delivers the status of sending
2651 the message over the BUS */
2652 WDI_ReqStatusCb wdiReqStatusCB;
2653
2654 /*The user data passed in by UMAC, it will be sent back when the above
2655 function pointer will be called */
2656 void* pUserData;
2657}WDI_AddBASessionReqParamsType;
2658
2659/*---------------------------------------------------------------------------
2660 WDI_AddBASessionRspParamsType
2661---------------------------------------------------------------------------*/
2662typedef struct
2663{
2664 /*Status of the response*/
2665 WDI_Status wdiStatus;
2666
2667 /* Dialog token */
2668 wpt_uint8 ucBaDialogToken;
2669
2670 /* TID for which the BA session has been setup */
2671 wpt_uint8 ucBaTID;
2672
2673 /* BA Buffer Size allocated for the current BA session */
2674 wpt_uint8 ucBaBufferSize;
2675
2676 /* BA session ID */
2677 wpt_uint16 usBaSessionID;
2678
2679 /* Reordering Window buffer */
2680 wpt_uint8 ucWinSize;
2681
2682 /*Station Index to id the sta */
2683 wpt_uint8 ucSTAIdx;
2684
2685 /* Starting Sequence Number */
2686 wpt_uint16 usBaSSN;
2687
2688}WDI_AddBASessionRspParamsType;
2689
2690/*---------------------------------------------------------------------------
Siddharth Bhal171788a2014-09-29 21:02:40 +05302691 WDI_SpoofMacAddrRspParamType
2692---------------------------------------------------------------------------*/
2693typedef struct
2694{
2695 /* wdi status */
2696 wpt_uint32 wdiStatus;
2697
2698 /* Reserved Field */
2699 wpt_uint32 reserved;
2700
2701}WDI_SpoofMacAddrRspParamType;
2702/*---------------------------------------------------------------------------
Siddharth Bhal64246172015-02-27 01:04:37 +05302703 WDI_GetFrameLogRspParamType
2704---------------------------------------------------------------------------*/
2705typedef struct
2706{
2707 /* wdi status */
2708 wpt_uint32 wdiStatus;
2709}WDI_GetFrameLogRspParamType;
2710/*---------------------------------------------------------------------------
Siddharth Bhald1be97f2015-05-27 22:39:59 +05302711 WDI_FWLoggingInitRspParamType
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05302712---------------------------------------------------------------------------*/
2713typedef struct
2714{
Siddharth Bhald1be97f2015-05-27 22:39:59 +05302715 //FW mail box address
2716 wpt_uint64 logMailBoxAddr;
2717 wpt_uint32 status;
2718 //Logging mail box version
2719 wpt_uint8 logMailBoxVer;
2720 //Qshrink is enabled
2721 wpt_boolean logCompressEnabled;
c_manjeecfd1efb2015-09-25 19:32:34 +05302722 /* store the size of fw mem dump */
2723 wpt_uint32 fw_mem_dump_max_size;
Siddharth Bhald1be97f2015-05-27 22:39:59 +05302724 //Reserved for future purpose
Siddharth Bhald1be97f2015-05-27 22:39:59 +05302725 wpt_uint32 reserved1;
2726 wpt_uint32 reserved2;
2727}WDI_FWLoggingInitRspParamType;
Sachin Ahuja715aafc2015-07-21 23:35:10 +05302728
Gupta, Kapil7c34b322015-09-30 13:12:35 +05302729typedef struct
2730{
2731 /* wdi status */
2732 wpt_uint32 status;
2733}WDI_RssiMonitorStartRspParamType;
Sachin Ahuja715aafc2015-07-21 23:35:10 +05302734
Gupta, Kapil7c34b322015-09-30 13:12:35 +05302735typedef struct
2736{
2737 /* wdi status */
2738 wpt_uint32 status;
2739}WDI_RssiMonitorStopRspParamType;
Sachin Ahuja715aafc2015-07-21 23:35:10 +05302740/*---------------------------------------------------------------------------
2741 WDI_FatalEventLogsRspParamType
2742---------------------------------------------------------------------------*/
2743typedef struct
2744{
2745 /* wdi status */
2746 wpt_uint32 wdiStatus;
2747}WDI_FatalEventLogsRspParamType;
2748
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05302749/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07002750 WDI_AddBAReqinfoType
2751---------------------------------------------------------------------------*/
2752typedef struct
2753{
2754 /*Indicates the station for which BA is added..*/
2755 wpt_uint8 ucSTAIdx;
2756
2757 /* Session Id */
2758 wpt_uint8 ucBaSessionID;
2759
2760 /* Reorder Window Size */
2761 wpt_uint8 ucWinSize;
2762
2763#ifdef FEATURE_ON_CHIP_REORDERING
2764 wpt_boolean bIsReorderingDoneOnChip;
2765#endif
2766
2767}WDI_AddBAReqinfoType;
2768
2769
2770/*---------------------------------------------------------------------------
2771 WDI_AddBAReqParamsType
2772---------------------------------------------------------------------------*/
2773typedef struct
2774{
2775 /*BA Info Type*/
2776 WDI_AddBAReqinfoType wdiBAInfoType;
2777
2778 /*Request status callback offered by UMAC - it is called if the current
2779 req has returned PENDING as status; it delivers the status of sending
2780 the message over the BUS */
2781 WDI_ReqStatusCb wdiReqStatusCB;
2782
2783 /*The user data passed in by UMAC, it will be sent back when the above
2784 function pointer will be called */
2785 void* pUserData;
2786}WDI_AddBAReqParamsType;
2787
2788
2789/*---------------------------------------------------------------------------
2790 WDI_AddBARspinfoType
2791---------------------------------------------------------------------------*/
2792typedef struct
2793{
2794 /*Status of the response*/
2795 WDI_Status wdiStatus;
2796
2797 /* Dialog token */
2798 wpt_uint8 ucBaDialogToken;
2799
2800}WDI_AddBARspinfoType;
2801
2802/*---------------------------------------------------------------------------
2803 WDI_TriggerBAReqCandidateType
2804---------------------------------------------------------------------------*/
2805typedef struct
2806{
2807 /* STA index */
2808 wpt_uint8 ucSTAIdx;
2809
2810 /* TID bit map for the STA's*/
2811 wpt_uint8 ucTidBitmap;
2812
2813}WDI_TriggerBAReqCandidateType;
2814
2815
2816/*---------------------------------------------------------------------------
2817 WDI_TriggerBAReqinfoType
2818---------------------------------------------------------------------------*/
2819typedef struct
2820{
2821 /*Indicates the station for which BA is added..*/
2822 wpt_uint8 ucSTAIdx;
2823
2824 /* Session Id */
2825 wpt_uint8 ucBASessionID;
2826
2827 /* Trigger BA Request candidate count */
2828 wpt_uint16 usBACandidateCnt;
2829
2830 /* WDI_TriggerBAReqCandidateType followed by this*/
2831
2832}WDI_TriggerBAReqinfoType;
2833
2834
2835/*---------------------------------------------------------------------------
2836 WDI_TriggerBAReqParamsType
2837---------------------------------------------------------------------------*/
2838typedef struct
2839{
2840 /*BA Trigger Info Type*/
2841 WDI_TriggerBAReqinfoType wdiTriggerBAInfoType;
2842
2843 /*Request status callback offered by UMAC - it is called if the current
2844 req has returned PENDING as status; it delivers the status of sending
2845 the message over the BUS */
2846 WDI_ReqStatusCb wdiReqStatusCB;
2847
2848 /*The user data passed in by UMAC, it will be sent back when the above
2849 function pointer will be called */
2850 void* pUserData;
2851}WDI_TriggerBAReqParamsType;
2852
2853/*---------------------------------------------------------------------------
2854 WDI_AddBAInfoType
2855---------------------------------------------------------------------------*/
2856typedef struct
2857{
2858 wpt_uint16 fBaEnable : 1;
2859 wpt_uint16 startingSeqNum: 12;
2860 wpt_uint16 reserved : 3;
2861}WDI_AddBAInfoType;
2862
2863/*---------------------------------------------------------------------------
2864 WDI_TriggerBARspCandidateType
2865---------------------------------------------------------------------------*/
2866#define STA_MAX_TC 8
2867
2868typedef struct
2869{
2870 /* STA index */
2871 wpt_macAddr macSTA;
2872
2873 /* BA Info */
2874 WDI_AddBAInfoType wdiBAInfo[STA_MAX_TC];
2875}WDI_TriggerBARspCandidateType;
2876
2877/*---------------------------------------------------------------------------
2878 WDI_TriggerBARspParamsType
2879---------------------------------------------------------------------------*/
2880typedef struct
2881{
2882 /*Status of the response*/
2883 WDI_Status wdiStatus;
2884
2885 /*BSSID of the BSS*/
2886 wpt_macAddr macBSSID;
2887
2888 /* Trigger BA response candidate count */
2889 wpt_uint16 usBaCandidateCnt;
2890
2891 /* WDI_TriggerBARspCandidateType followed by this*/
2892
2893}WDI_TriggerBARspParamsType;
2894
2895/*---------------------------------------------------------------------------
2896 WDI_DelBAReqinfoType
2897---------------------------------------------------------------------------*/
2898typedef struct
2899{
2900 /*Indicates the station for which BA is added..*/
2901 wpt_uint8 ucSTAIdx;
2902
2903 /*TID for which BA was negotiated*/
2904 wpt_uint8 ucBaTID;
2905
2906 /*Originator/Recipient*/
2907 wpt_uint8 ucBaDirection;
2908
2909}WDI_DelBAReqinfoType;
2910
2911/*---------------------------------------------------------------------------
2912 WDI_DelBAReqParamsType
2913---------------------------------------------------------------------------*/
2914typedef struct
2915{
2916 /*BA Info */
2917 WDI_DelBAReqinfoType wdiBAInfo;
2918
2919 /*Request status callback offered by UMAC - it is called if the current
2920 req has returned PENDING as status; it delivers the status of sending
2921 the message over the BUS */
2922 WDI_ReqStatusCb wdiReqStatusCB;
2923
2924 /*The user data passed in by UMAC, it will be sent back when the above
2925 function pointer will be called */
2926 void* pUserData;
2927}WDI_DelBAReqParamsType;
2928
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08002929/*---------------------------------------------------------------------------
2930 WDI_UpdateChannelReqinfoType
2931---------------------------------------------------------------------------*/
2932typedef struct
2933{
2934 /** primary 20 MHz channel frequency in mhz */
2935 wpt_uint32 mhz;
2936 /** Center frequency 1 in MHz*/
2937 wpt_uint32 band_center_freq1;
2938 /** Center frequency 2 in MHz - valid only for 11acvht 80plus80 mode*/
2939 wpt_uint32 band_center_freq2;
2940 /* The first 26 bits are a bit mask to indicate any channel flags,
2941 (see WLAN_HAL_CHAN_FLAG*)
2942 The last 6 bits indicate the mode (see tChannelPhyModeType)*/
2943 wpt_uint32 channel_info;
2944 /** contains min power, max power, reg power and reg class id. */
2945 wpt_uint32 reg_info_1;
2946 /** contains antennamax */
2947 wpt_uint32 reg_info_2;
2948}WDI_UpdateChannelReqinfoType;
2949
2950typedef struct
2951{
2952 wpt_uint8 numchan;
2953 WDI_UpdateChannelReqinfoType *pchanParam;
2954}WDI_UpdateChannelReqType;
2955/*---------------------------------------------------------------------------
2956 WDI_UpdateChReqParamsType
2957---------------------------------------------------------------------------*/
2958typedef struct
2959{
2960 /*BA Info */
2961 WDI_UpdateChannelReqType wdiUpdateChanParams;
2962
2963 /*Request status callback offered by UMAC - it is called if the current
2964 req has returned PENDING as status; it delivers the status of sending
2965 the message over the BUS */
2966 WDI_ReqStatusCb wdiReqStatusCB;
2967
2968 /*The user data passed in by UMAC, it will be sent back when the above
2969 function pointer will be called */
2970 void* pUserData;
2971}WDI_UpdateChReqParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07002972
2973/*---------------------------------------------------------------------------
2974 WDI_SwitchCHRspParamsType
2975---------------------------------------------------------------------------*/
2976typedef struct
2977{
2978 /*Status of the response*/
2979 WDI_Status wdiStatus;
2980
2981 /*Indicates the channel that WLAN is on*/
2982 wpt_uint8 ucChannel;
2983
2984#ifdef WLAN_FEATURE_VOWIFI
2985 /*HAL fills in the tx power used for mgmt frames in this field.*/
2986 wpt_int8 ucTxMgmtPower;
2987#endif
2988
2989}WDI_SwitchCHRspParamsType;
2990
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08002991/*--------------------------------------------------------------------
2992 WDI_SwitchChRspParamsType_V1
2993--------------------------------------------------------------------*/
2994typedef struct
2995{
2996 /*Status of the response*/
2997 WDI_Status wdiStatus;
2998
2999 /*Indicates the channel that WLAN is on*/
3000 wpt_uint8 ucChannel;
3001
3002#ifdef WLAN_FEATURE_VOWIFI
3003 /*HAL fills in the tx power used for mgmt frames in this field.*/
3004 wpt_int8 ucTxMgmtPower;
3005#endif
3006
3007 /* Source of Channel Switch */
3008 WDI_ChanSwitchSource channelSwitchSrc;
3009}WDI_SwitchChRspParamsType_V1;
3010
Jeff Johnson295189b2012-06-20 16:38:30 -07003011/*---------------------------------------------------------------------------
3012 WDI_ConfigSTAReqParamsType
3013---------------------------------------------------------------------------*/
3014typedef struct
3015{
3016 /*Info for the Join request that will be sent down to the device*/
3017 WDI_ConfigStaReqInfoType wdiReqInfo;
3018
3019 /*Request status callback offered by UMAC - it is called if the current
3020 req has returned PENDING as status; it delivers the status of sending
3021 the message over the BUS */
3022 WDI_ReqStatusCb wdiReqStatusCB;
3023
3024 /*The user data passed in by UMAC, it will be sent back when the above
3025 function pointer will be called */
3026 void* pUserData;
3027}WDI_ConfigSTAReqParamsType;
3028
3029
3030/*---------------------------------------------------------------------------
3031 WDI_UpdateBeaconParamsInfoType
3032---------------------------------------------------------------------------*/
3033
3034typedef struct
3035{
3036 /*BSS Index of the BSS*/
3037 wpt_uint8 ucBssIdx;
3038
3039 /*shortPreamble mode. HAL should update all the STA rates when it
3040 receives this message*/
3041 wpt_uint8 ucfShortPreamble;
3042 /* short Slot time.*/
3043 wpt_uint8 ucfShortSlotTime;
3044 /* Beacon Interval */
3045 wpt_uint16 usBeaconInterval;
3046 /*Protection related */
3047 wpt_uint8 ucllaCoexist;
3048 wpt_uint8 ucllbCoexist;
3049 wpt_uint8 ucllgCoexist;
3050 wpt_uint8 ucHt20MhzCoexist;
3051 wpt_uint8 ucllnNonGFCoexist;
3052 wpt_uint8 ucfLsigTXOPProtectionFullSupport;
3053 wpt_uint8 ucfRIFSMode;
3054
3055 wpt_uint16 usChangeBitmap;
3056}WDI_UpdateBeaconParamsInfoType;
3057
Mohit Khanna4a70d262012-09-11 16:30:12 -07003058#ifdef WLAN_FEATURE_11AC
3059typedef struct
3060{
3061 wpt_uint16 opMode;
3062 wpt_uint16 staId;
3063}WDI_UpdateVHTOpMode;
3064#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003065
3066/*---------------------------------------------------------------------------
3067 WDI_UpdateBeaconParamsType
3068---------------------------------------------------------------------------*/
3069typedef struct
3070{
3071 /*Update Beacon Params Info*/
3072 WDI_UpdateBeaconParamsInfoType wdiUpdateBeaconParamsInfo;
3073
3074 /*Request status callback offered by UMAC - it is called if the current
3075 req has returned PENDING as status; it delivers the status of sending
3076 the message over the BUS */
3077 WDI_ReqStatusCb wdiReqStatusCB;
3078
3079 /*The user data passed in by UMAC, it will be sent back when the above
3080 function pointer will be called */
3081 void* pUserData;
3082}WDI_UpdateBeaconParamsType;
3083
3084/*---------------------------------------------------------------------------
3085 WDI_SendBeaconParamsInfoType
3086---------------------------------------------------------------------------*/
3087
3088typedef struct {
3089
3090 /*BSSID of the BSS*/
3091 wpt_macAddr macBSSID;
3092
3093 /* Beacon data */
3094 wpt_uint8 beacon[WDI_BEACON_TEMPLATE_SIZE];
3095
3096 /* length of the template */
3097 wpt_uint32 beaconLength;
3098
Jeff Johnson295189b2012-06-20 16:38:30 -07003099 /* TIM IE offset from the beginning of the template.*/
3100 wpt_uint32 timIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07003101
Jeff Johnson295189b2012-06-20 16:38:30 -07003102 /* P2P IE offset from the beginning of the template */
3103 wpt_uint16 usP2PIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07003104} WDI_SendBeaconParamsInfoType;
3105
3106/*---------------------------------------------------------------------------
3107 WDI_SendBeaconParamsType
3108---------------------------------------------------------------------------*/
3109typedef struct
3110{
3111 /*Send Beacon Params Info*/
3112 WDI_SendBeaconParamsInfoType wdiSendBeaconParamsInfo;
3113
3114 /*Request status callback offered by UMAC - it is called if the current
3115 req has returned PENDING as status; it delivers the status of sending
3116 the message over the BUS */
3117 WDI_ReqStatusCb wdiReqStatusCB;
3118
3119 /*The user data passed in by UMAC, it will be sent back when the above
3120 function pointer will be called */
3121 void* pUserData;
3122}WDI_SendBeaconParamsType;
3123
3124/*---------------------------------------------------------------------------
3125 WDI_LinkStateType
3126---------------------------------------------------------------------------*/
3127typedef enum
3128{
3129 WDI_LINK_IDLE_STATE = 0,
3130 WDI_LINK_PREASSOC_STATE = 1,
3131 WDI_LINK_POSTASSOC_STATE = 2,
3132 WDI_LINK_AP_STATE = 3,
3133 WDI_LINK_IBSS_STATE = 4,
3134
3135 // BT-AMP Case
3136 WDI_LINK_BTAMP_PREASSOC_STATE = 5,
3137 WDI_LINK_BTAMP_POSTASSOC_STATE = 6,
3138 WDI_LINK_BTAMP_AP_STATE = 7,
3139 WDI_LINK_BTAMP_STA_STATE = 8,
3140
3141 // Reserved for HAL internal use
3142 WDI_LINK_LEARN_STATE = 9,
3143 WDI_LINK_SCAN_STATE = 10,
3144 WDI_LINK_FINISH_SCAN_STATE = 11,
3145 WDI_LINK_INIT_CAL_STATE = 12,
3146 WDI_LINK_FINISH_CAL_STATE = 13,
Jeff Johnson295189b2012-06-20 16:38:30 -07003147 WDI_LINK_LISTEN_STATE = 14,
Gopichand Nakkala924e4552013-05-08 19:18:14 +05303148 WDI_LINK_SEND_ACTION_STATE = 15,
Jeff Johnson295189b2012-06-20 16:38:30 -07003149 WDI_LINK_MAX = 0x7FFFFFFF
3150} WDI_LinkStateType;
3151
3152/*---------------------------------------------------------------------------
3153 WDI_SetLinkReqInfoType
3154---------------------------------------------------------------------------*/
3155typedef struct
3156{
3157 /*BSSID of the BSS*/
3158 wpt_macAddr macBSSID;
3159
3160 /*Link state*/
3161 WDI_LinkStateType wdiLinkState;
3162
3163 /*BSSID of the BSS*/
3164 wpt_macAddr macSelfStaMacAddr;
3165}WDI_SetLinkReqInfoType;
3166
3167/*---------------------------------------------------------------------------
3168 WDI_SetLinkReqParamsType
3169---------------------------------------------------------------------------*/
3170typedef struct
3171{
3172 /*Link Info*/
3173 WDI_SetLinkReqInfoType wdiLinkInfo;
3174
3175 /*Request status callback offered by UMAC - it is called if the current
3176 req has returned PENDING as status; it delivers the status of sending
3177 the message over the BUS */
3178 WDI_ReqStatusCb wdiReqStatusCB;
3179
3180 /*The user data passed in by UMAC, it will be sent back when the above
3181 function pointer will be called */
3182 void* pUserData;
3183}WDI_SetLinkReqParamsType;
3184
3185/*---------------------------------------------------------------------------
3186 WDI_GetStatsParamsInfoType
3187---------------------------------------------------------------------------*/
3188typedef struct
3189{
3190 /*Indicates the station for which Get Stats are requested..*/
3191 wpt_uint8 ucSTAIdx;
3192
3193 /* categories of stats requested */
3194 wpt_uint32 uStatsMask;
3195}WDI_GetStatsParamsInfoType;
3196
3197/*---------------------------------------------------------------------------
3198 WDI_GetStatsReqParamsType
3199---------------------------------------------------------------------------*/
3200typedef struct
3201{
3202 /*Get Stats Params Info*/
3203 WDI_GetStatsParamsInfoType wdiGetStatsParamsInfo;
3204
3205 /*Request status callback offered by UMAC - it is called if the current
3206 req has returned PENDING as status; it delivers the status of sending
3207 the message over the BUS */
3208 WDI_ReqStatusCb wdiReqStatusCB;
3209
3210 /*The user data passed in by UMAC, it will be sent back when the above
3211 function pointer will be called */
3212 void* pUserData;
3213}WDI_GetStatsReqParamsType;
3214
3215/*---------------------------------------------------------------------------
3216 WDI_GetStatsRspParamsType
3217---------------------------------------------------------------------------*/
3218typedef struct
3219{
3220 /*message type is same as the request type*/
3221 wpt_uint16 usMsgType;
3222
3223 /* length of the entire request, includes the pStatsBuf length too*/
3224 wpt_uint16 usMsgLen;
3225
3226 /*Result of the operation*/
3227 WDI_Status wdiStatus;
3228
3229 /*Indicates the station for which Get Stats are requested..*/
3230 wpt_uint8 ucSTAIdx;
3231
3232 /* categories of stats requested */
3233 wpt_uint32 uStatsMask;
3234
3235 /* The Stats buffer starts here and can be an aggregate of more than one statistics
3236 * structure depending on statsMask.*/
3237}WDI_GetStatsRspParamsType;
3238
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003239#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08003240/*---------------------------------------------------------------------------
3241 WDI_GetRoamRssiParamsInfoType
3242---------------------------------------------------------------------------*/
3243typedef struct
3244{
3245 /*Indicates the station for which Get Stats are requested..*/
3246 wpt_uint8 ucSTAIdx;
3247
3248 /* categories of stats requested */
3249 wpt_uint32 uStatsMask;
3250}WDI_GetRoamRssiParamsInfoType;
3251
3252/*---------------------------------------------------------------------------
3253 WDI_GetRoamRssiReqParamsType
3254---------------------------------------------------------------------------*/
3255typedef struct
3256{
3257 /*Get Roam Rssi Params Info*/
3258 WDI_GetRoamRssiParamsInfoType wdiGetRoamRssiParamsInfo;
3259
3260 /*Request status callback offered by UMAC - it is called if the current
3261 req has returned PENDING as status; it delivers the status of sending
3262 the message over the BUS */
3263 WDI_ReqStatusCb wdiReqStatusCB;
3264
3265 /*The user data passed in by UMAC, it will be sent back when the above
3266 function pointer will be called */
3267 void* pUserData;
3268}WDI_GetRoamRssiReqParamsType;
3269
3270/*---------------------------------------------------------------------------
3271 WDI_GetRoamRssiRspParamsType
3272---------------------------------------------------------------------------*/
3273typedef struct
3274{
3275 /*Result of the operation*/
3276 WDI_Status wdiStatus;
3277
3278 /*Indicates the station for which Get Stats are requested..*/
3279 wpt_uint8 ucSTAIdx;
3280
3281 /* roam rssi requested */
3282 wpt_int8 rssi;
3283
3284 /* The Stats buffer starts here and can be an aggregate of more than one statistics
3285 * structure depending on statsMask.*/
3286}WDI_GetRoamRssiRspParamsType;
3287#endif
3288
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003289#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07003290/*---------------------------------------------------------------------------
3291 WDI_TSMStatsParamsInfoType
3292---------------------------------------------------------------------------*/
3293typedef struct
3294{
3295 /*Indicates the station for which Get Stats are requested..*/
3296 wpt_uint8 ucTid;
3297
3298 wpt_macAddr bssid;
3299}WDI_TSMStatsParamsInfoType;
3300
3301/*---------------------------------------------------------------------------
3302 WDI_TSMStatsReqParamsType
3303---------------------------------------------------------------------------*/
3304typedef struct
3305{
3306 /*Get TSM Stats Params Info*/
3307 WDI_TSMStatsParamsInfoType wdiTsmStatsParamsInfo;
3308
3309 WDI_ReqStatusCb wdiReqStatusCB;
3310
3311 /*The user data passed in by UMAC, it will be sent back when the above
3312 function pointer will be called */
3313 void* pUserData;
3314
3315}WDI_TSMStatsReqParamsType;
3316
3317
3318/*---------------------------------------------------------------------------
3319 WDI_TSMStatsRspParamsType
3320---------------------------------------------------------------------------*/
3321typedef struct
3322{
3323 /*Indicates the status of the operation */
3324 WDI_Status wdiStatus;
3325
3326 wpt_uint16 UplinkPktQueueDly;
3327 wpt_uint16 UplinkPktQueueDlyHist[4];
3328 wpt_uint32 UplinkPktTxDly;
3329 wpt_uint16 UplinkPktLoss;
3330 wpt_uint16 UplinkPktCount;
3331 wpt_uint8 RoamingCount;
3332 wpt_uint16 RoamingDly;
3333}WDI_TSMStatsRspParamsType;
3334
3335
3336#endif
3337/*---------------------------------------------------------------------------
3338 WDI_UpdateCfgReqParamsType
3339---------------------------------------------------------------------------*/
3340typedef struct
3341{
3342 /*This is a TLV formatted buffer containing all config values that can
3343 be set through the DAL Interface
3344
3345 The TLV is expected to be formatted like this:
3346
3347 0 7 15 31 ....
3348 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
3349
3350 Or from a C construct point of VU it would look like this:
3351
3352 typedef struct WPT_PACK_POST
3353 {
3354 #ifdef WPT_BIG_ENDIAN
3355 wpt_uint32 ucCfgId:8;
3356 wpt_uint32 ucCfgLen:8;
3357 wpt_uint32 usReserved:16;
3358 #else
3359 wpt_uint32 usReserved:16;
3360 wpt_uint32 ucCfgLen:8;
3361 wpt_uint32 ucCfgId:8;
3362 #endif
3363
3364 wpt_uint8 ucCfgBody[ucCfgLen];
3365 }WDI_ConfigType;
3366
3367 Multiple such tuplets are to be placed in the config buffer. One for
3368 each required configuration item:
3369
3370 | TLV 1 | TLV2 | ....
3371
3372 The buffer is expected to be a flat area of memory that can be manipulated
3373 with standard memory routines.
3374
3375 For more info please check paragraph 2.3.1 Config Structure from the
3376 HAL LLD.
3377
3378 For a list of accepted configuration list and IDs please look up
3379 wlan_qct_dal_cfg.h
3380 */
3381 void* pConfigBuffer;
3382
3383 /*Length of the config buffer above*/
3384 wpt_uint32 uConfigBufferLen;
3385
3386 /*Request status callback offered by UMAC - it is called if the current
3387 req has returned PENDING as status; it delivers the status of sending
3388 the message over the BUS */
3389 WDI_ReqStatusCb wdiReqStatusCB;
3390
3391 /*The user data passed in by UMAC, it will be sent back when the above
3392 function pointer will be called */
3393 void* pUserData;
3394}WDI_UpdateCfgReqParamsType;
3395
3396/*---------------------------------------------------------------------------
3397 WDI_UpdateProbeRspTemplateInfoType
3398---------------------------------------------------------------------------*/
3399//Default Beacon template size
3400#define WDI_PROBE_RSP_TEMPLATE_SIZE 0x180
3401
3402#define WDI_PROBE_REQ_BITMAP_IE_LEN 8
3403
3404typedef struct
3405{
3406 /*BSSID for which the Probe Template is to be used*/
3407 wpt_macAddr macBSSID;
3408
3409 /*Probe response template*/
3410 wpt_uint8 *pProbeRespTemplate[WDI_PROBE_RSP_TEMPLATE_SIZE];
3411
3412 /*Template Len*/
3413 wpt_uint32 uProbeRespTemplateLen;
3414
3415 /*Bitmap for the IEs that are to be handled at SLM level*/
3416 wpt_uint32 uaProxyProbeReqValidIEBmap[WDI_PROBE_REQ_BITMAP_IE_LEN];
3417
3418}WDI_UpdateProbeRspTemplateInfoType;
3419
3420/*---------------------------------------------------------------------------
3421 WDI_UpdateProbeRspParamsType
3422---------------------------------------------------------------------------*/
3423typedef struct
3424{
3425 /*Link Info*/
3426 WDI_UpdateProbeRspTemplateInfoType wdiProbeRspTemplateInfo;
3427
3428 /*Request status callback offered by UMAC - it is called if the current
3429 req has returned PENDING as status; it delivers the status of sending
3430 the message over the BUS */
3431 WDI_ReqStatusCb wdiReqStatusCB;
3432
3433 /*The user data passed in by UMAC, it will be sent back when the above
3434 function pointer will be called */
3435 void* pUserData;
3436}WDI_UpdateProbeRspTemplateParamsType;
3437
3438/*---------------------------------------------------------------------------
3439 WDI_NvDownloadReqBlobInfo
3440---------------------------------------------------------------------------*/
3441
3442typedef struct
3443{
3444 /* Blob starting address*/
3445 void *pBlobAddress;
3446
3447 /* Blob size */
3448 wpt_uint32 uBlobSize;
3449
3450}WDI_NvDownloadReqBlobInfo;
3451
3452/*---------------------------------------------------------------------------
3453 WDI_NvDownloadReqParamsType
3454---------------------------------------------------------------------------*/
3455typedef struct
3456{
3457 /*NV Blob Info*/
3458 WDI_NvDownloadReqBlobInfo wdiBlobInfo;
3459
3460 /*Request status callback offered by UMAC - it is called if the current
3461 req has returned PENDING as status; it delivers the status of sending
3462 the message over the BUS */
3463 WDI_ReqStatusCb wdiReqStatusCB;
3464
3465 /*The user data passed in by UMAC, it will be sent back when the above
3466 function pointer will be called */
3467 void* pUserData;
3468
3469}WDI_NvDownloadReqParamsType;
3470
3471/*---------------------------------------------------------------------------
3472 WDI_NvDownloadRspInfoType
3473---------------------------------------------------------------------------*/
3474typedef struct
3475{
3476 /*Status of the response*/
3477 WDI_Status wdiStatus;
3478
3479}WDI_NvDownloadRspInfoType;
3480
3481/*---------------------------------------------------------------------------
3482 WDI_SetMaxTxPowerInfoType
3483---------------------------------------------------------------------------*/
3484
3485typedef struct
3486{
3487 /*BSSID is needed to identify which session issued this request. As the request has
3488 power constraints, this should be applied only to that session*/
3489 wpt_macAddr macBSSId;
3490
3491
3492 wpt_macAddr macSelfStaMacAddr;
3493
3494 /* In request power == MaxTxpower to be used.*/
3495 wpt_int8 ucPower;
3496
3497}WDI_SetMaxTxPowerInfoType;
3498
3499/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003500 WDI_SetTxPowerInfoType
3501---------------------------------------------------------------------------*/
3502
3503typedef struct
3504{
3505 wpt_uint8 bssIdx;
3506 /* In request power == MaxTxpower to be used.*/
3507 wpt_uint8 ucPower;
3508
3509}WDI_SetTxPowerInfoType;
3510
3511/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003512 WDI_SetMaxTxPowerParamsType
3513---------------------------------------------------------------------------*/
3514typedef struct
3515{
3516 /*Link Info*/
3517 WDI_SetMaxTxPowerInfoType wdiMaxTxPowerInfo;
3518
3519 /*Request status callback offered by UMAC - it is called if the current
3520 req has returned PENDING as status; it delivers the status of sending
3521 the message over the BUS */
3522 WDI_ReqStatusCb wdiReqStatusCB;
3523
3524 /*The user data passed in by UMAC, it will be sent back when the above
3525 function pointer will be called */
3526 void* pUserData;
3527}WDI_SetMaxTxPowerParamsType;
3528
schang86c22c42013-03-13 18:41:24 -07003529/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07003530 WDI_Band
3531---------------------------------------------------------------------------*/
3532typedef enum
3533{
3534 WDI_BAND_ALL,
3535 WDI_BAND_24,
3536 WDI_BAND_5G,
3537 WDI_BAND_MAX,
3538}eWDIBand;
3539
3540/*---------------------------------------------------------------------------
3541 WDI_MaxTxPowerPerBandInfoType
3542---------------------------------------------------------------------------*/
3543typedef struct
3544{
3545 eWDIBand bandInfo;
3546 /* In request power == MaxTxpower to be used.*/
3547 wpt_uint8 ucPower;
3548}WDI_MaxTxPowerPerBandInfoType;
3549
3550/*---------------------------------------------------------------------------
3551 WDI_SetMaxTxPowerPerBandParamsType
3552---------------------------------------------------------------------------*/
3553typedef struct
3554{
3555 /*Link Info*/
3556 WDI_MaxTxPowerPerBandInfoType wdiMaxTxPowerPerBandInfo;
3557
3558 /*Request status callback offered by UMAC - it is called if the current
3559 req has returned PENDING as status; it delivers the status of sending
3560 the message over the BUS */
3561 WDI_ReqStatusCb wdiReqStatusCB;
3562
3563 /*The user data passed in by UMAC, it will be sent back when the above
3564 function pointer will be called */
3565 void* pUserData;
3566}WDI_SetMaxTxPowerPerBandParamsType;
3567
3568/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003569 WDI_SetTxPowerParamsType
3570---------------------------------------------------------------------------*/
3571typedef struct
3572{
3573 /*Link Info*/
3574 WDI_SetTxPowerInfoType wdiTxPowerInfo;
3575
3576 /*Request status callback offered by UMAC - it is called if the current
3577 req has returned PENDING as status; it delivers the status of sending
3578 the message over the BUS */
3579 WDI_ReqStatusCb wdiReqStatusCB;
3580
3581 /*The user data passed in by UMAC, it will be sent back when the above
3582 function pointer will be called */
3583 void* pUserData;
3584}WDI_SetTxPowerParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003585
3586/*---------------------------------------------------------------------------
3587 WDI_SetMaxTxPowerRspMsg
3588---------------------------------------------------------------------------*/
3589
3590typedef struct
3591{
3592 /* In response, power==tx power used for management frames*/
3593 wpt_int8 ucPower;
3594
3595 /*Result of the operation*/
3596 WDI_Status wdiStatus;
3597
3598}WDI_SetMaxTxPowerRspMsg;
3599
schang86c22c42013-03-13 18:41:24 -07003600/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07003601 WDI_SetMaxTxPowerPerBandRspMsg
3602---------------------------------------------------------------------------*/
3603typedef struct
3604{
3605 /* In response, power==tx power used for management frames*/
3606 wpt_int8 ucPower;
3607
3608 /*Result of the operation*/
3609 WDI_Status wdiStatus;
3610
3611}WDI_SetMaxTxPowerPerBandRspMsg;
3612
3613/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003614 WDI_SetTxPowerRspMsg
3615---------------------------------------------------------------------------*/
3616
3617typedef struct
3618{
3619 /* In response, power==tx power used for management frames*/
3620 wpt_int8 ucPower;
3621
3622 /*Result of the operation*/
3623 WDI_Status wdiStatus;
3624
3625}WDI_SetTxPowerRspMsg;
3626
Jeff Johnson295189b2012-06-20 16:38:30 -07003627typedef struct
3628{
3629 wpt_uint8 ucOpp_ps;
3630 wpt_uint32 uCtWindow;
3631 wpt_uint8 ucCount;
3632 wpt_uint32 uDuration;
3633 wpt_uint32 uInterval;
3634 wpt_uint32 uSingle_noa_duration;
3635 wpt_uint8 ucPsSelection;
3636}WDI_SetP2PGONOAReqInfoType;
3637
3638/*---------------------------------------------------------------------------
3639 WDI_SetP2PGONOAReqParamsType
3640---------------------------------------------------------------------------*/
3641typedef struct
3642{
3643 /*P2P GO NOA Req*/
3644 WDI_SetP2PGONOAReqInfoType wdiP2PGONOAInfo;
3645
3646 /*Request status callback offered by UMAC - it is called if the current
3647 req has returned PENDING as status; it delivers the status of sending
3648 the message over the BUS */
3649 WDI_ReqStatusCb wdiReqStatusCB;
3650
3651 /*The user data passed in by UMAC, it will be sent back when the above
3652 function pointer will be called */
3653 void* pUserData;
3654}WDI_SetP2PGONOAReqParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003655
Naresh Jayaramc7cbd782014-02-04 17:38:23 +05303656#define WDI_MAX_SUPP_CHANNELS 128
3657#define WDI_MAX_SUPP_OPER_CLASSES 32
3658
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303659typedef struct
3660{
3661 wpt_uint16 uStaIdx;
3662 wpt_uint8 uIsResponder;
3663 wpt_uint8 uUapsdQueues;
3664 wpt_uint8 uMaxSp;
3665 wpt_uint8 uIsBufSta;
Naresh Jayaramc7cbd782014-02-04 17:38:23 +05303666 wpt_uint8 uIsOffChannelSupported;
3667 wpt_uint8 peerCurrOperClass;
3668 wpt_uint8 selfCurrOperClass;
3669 wpt_uint8 validChannelsLen;
3670 wpt_uint8 validChannels[WDI_MAX_SUPP_CHANNELS];
3671 wpt_uint8 validOperClassesLen;
3672 wpt_uint8 validOperClasses[WDI_MAX_SUPP_OPER_CLASSES];
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303673}WDI_SetTDLSLinkEstablishReqInfoType;
3674/*---------------------------------------------------------------------------
3675 WDI_SetTDLSLinkEstablishReqParamsType
3676---------------------------------------------------------------------------*/
3677typedef struct
3678{
3679 /*TDLS Link Establish Req*/
3680 WDI_SetTDLSLinkEstablishReqInfoType wdiTDLSLinkEstablishInfo;
3681
3682 /*Request status callback offered by UMAC - it is called if the current
3683 req has returned PENDING as status; it delivers the status of sending
3684 the message over the BUS */
3685 WDI_ReqStatusCb wdiReqStatusCB;
3686
3687 /*The user data passed in by UMAC, it will be sent back when the above
3688 function pointer will be called */
3689 void* pUserData;
3690}WDI_SetTDLSLinkEstablishReqParamsType;
3691
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05303692typedef struct
3693{
3694 /*Result of the operation*/
3695 WDI_Status wdiStatus;
3696
3697 /*STA Idx*/
3698 wpt_uint16 uStaIdx;
3699}WDI_SetTdlsLinkEstablishReqResp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003700
Atul Mittalc0f739f2014-07-31 13:47:47 +05303701
3702
3703typedef struct
3704{
3705 /*STA Index*/
3706 wpt_uint8 staIdx;
3707 /* if this is 1, self is initiator otherwise responder only*/
3708 wpt_uint8 isOffchannelInitiator;
3709 /*TDLS off channel related params */
3710 wpt_uint8 targetOperClass;
3711 wpt_uint8 targetChannel;
3712 wpt_uint8 secondaryChannelOffset;
3713 wpt_uint8 reserved[64];
3714}WDI_SetTDLSChanSwitchReqInfoType;
3715
3716typedef struct
3717{
3718 WDI_SetTDLSChanSwitchReqInfoType wdiTDLSChanSwitchReqInfo;
3719 WDI_ReqStatusCb wdiReqStatusCB;
3720 void* pUserData;
3721}WDI_SetTDLSChanSwitchReqParamsType;
3722
3723
3724typedef struct
3725{
3726 /*Result of the operation*/
3727 WDI_Status wdiStatus;
3728
3729 /*STA Idx*/
3730 wpt_uint16 uStaIdx;
3731}WDI_SetTdlsChanSwitchReqResp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003732/*---------------------------------------------------------------------------
3733 WDI_SetAddSTASelfParamsType
3734---------------------------------------------------------------------------*/
3735typedef struct
3736{
3737 /*Self Station MAC address*/
3738 wpt_macAddr selfMacAddr;
3739
Kiran Kumar Lokere0ad5cd32013-06-25 11:26:22 -07003740 /*Self STA device mode*/
3741 wpt_uint32 currDeviceMode;
3742
Jeff Johnson295189b2012-06-20 16:38:30 -07003743 /*Status of the operation*/
3744 wpt_uint32 uStatus;
3745}WDI_AddSTASelfInfoType;
3746
3747/*---------------------------------------------------------------------------
3748 WDI_SetAddSTASelfParamsType
3749---------------------------------------------------------------------------*/
3750typedef struct
3751{
3752 /* Add Sta Self Req */
3753 WDI_AddSTASelfInfoType wdiAddSTASelfInfo;
3754
3755 /*Request status callback offered by UMAC - it is called if the current
3756 req has returned PENDING as status; it delivers the status of sending
3757 the message over the BUS */
3758 WDI_ReqStatusCb wdiReqStatusCB;
3759
3760 /*The user data passed in by UMAC, it will be sent back when the above
3761 function pointer will be called */
3762 void* pUserData;
3763}WDI_AddSTASelfReqParamsType;
3764
3765
3766/*---------------------------------------------------------------------------
3767 WDI_AddSTASelfRspParamsType
3768---------------------------------------------------------------------------*/
3769typedef struct
3770{
3771 /*Status of the response*/
3772 WDI_Status wdiStatus;
3773
3774 /*STA Idx allocated by HAL*/
3775 wpt_uint8 ucSTASelfIdx;
3776
3777 /* DPU Index (IGTK, PTK, GTK all same) */
3778 wpt_uint8 dpuIdx;
3779
3780 /* DPU Signature */
3781 wpt_uint8 dpuSignature;
3782
3783 /*Self STA Mac*/
3784 wpt_macAddr macSelfSta;
3785
3786}WDI_AddSTASelfRspParamsType;
3787
3788/*---------------------------------------------------------------------------
3789 WDI_DelSTASelfReqParamsType
3790 Del Sta Self info passed to WDI form WDA
3791---------------------------------------------------------------------------*/
3792typedef struct
3793{
3794 wpt_macAddr selfMacAddr;
3795
3796}WDI_DelSTASelfInfoType;
3797
3798/*---------------------------------------------------------------------------
3799 WDI_DelSTASelfReqParamsType
3800 Del Sta Self info passed to WDI form WDA
3801---------------------------------------------------------------------------*/
3802typedef struct
3803{
3804 /*Del Sta Self Info Type */
3805 WDI_DelSTASelfInfoType wdiDelStaSelfInfo;
3806 /*Request status callback offered by UMAC - it is called if the current req
3807 has returned PENDING as status; it delivers the status of sending the message
3808 over the BUS */
3809 WDI_ReqStatusCb wdiReqStatusCB;
3810 /*The user data passed in by UMAC, it will be sent back when the above
3811 function pointer will be called */
3812 void* pUserData;
3813}WDI_DelSTASelfReqParamsType;
3814
3815/*---------------------------------------------------------------------------
3816 WDI_DelSTASelfRspParamsType
3817---------------------------------------------------------------------------*/
3818typedef struct
3819{
3820 /*Status of the response*/
3821 WDI_Status wdiStatus;
3822
3823 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
3824// wpt_uint8 ucSTAIdx;
3825}WDI_DelSTASelfRspParamsType;
3826
3827/*---------------------------------------------------------------------------
3828 WDI_UapsdInfoType
3829 UAPSD parameters passed per AC to WDA from UMAC
3830---------------------------------------------------------------------------*/
3831typedef struct
3832{
3833 wpt_uint8 ucSTAIdx; // STA index
3834 wpt_uint8 ucAc; // Access Category
3835 wpt_uint8 ucUp; // User Priority
3836 wpt_uint32 uSrvInterval; // Service Interval
3837 wpt_uint32 uSusInterval; // Suspend Interval
3838 wpt_uint32 uDelayInterval; // Delay Interval
3839} WDI_UapsdInfoType;
3840
3841/*---------------------------------------------------------------------------
3842 WDI_SetUapsdAcParamsReqParamsType
3843 UAPSD parameters passed per AC to WDI from WDA
3844---------------------------------------------------------------------------*/
3845typedef struct
3846{
3847 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3848 WDI_UapsdInfoType wdiUapsdInfo;
3849 /*Request status callback offered by UMAC - it is called if the current req
3850 has returned PENDING as status; it delivers the status of sending the message
3851 over the BUS */
3852 WDI_ReqStatusCb wdiReqStatusCB;
3853 /*The user data passed in by UMAC, it will be sent back when the above
3854 function pointer will be called */
3855 void* pUserData;
3856}WDI_SetUapsdAcParamsReqParamsType;
3857
3858/*---------------------------------------------------------------------------
3859 WDI_EnterBmpsReqinfoType
3860 Enter BMPS parameters passed to WDA from UMAC
3861---------------------------------------------------------------------------*/
3862typedef struct
3863{
3864 //TBTT value derived from the last beacon
3865 wpt_uint8 ucBssIdx;
3866 wpt_uint64 uTbtt;
3867 wpt_uint8 ucDtimCount;
3868 //DTIM period given to HAL during association may not be valid,
3869 //if association is based on ProbeRsp instead of beacon.
3870 wpt_uint8 ucDtimPeriod;
3871 /* DXE physical addr to be passed down to RIVA. RIVA HAL will use it to program
3872 DXE when DXE wakes up from power save*/
3873 unsigned int dxePhyAddr;
3874
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003875 // For ESE and 11R Roaming
Jeff Johnson295189b2012-06-20 16:38:30 -07003876 wpt_uint32 rssiFilterPeriod;
3877 wpt_uint32 numBeaconPerRssiAverage;
3878 wpt_uint8 bRssiFilterEnable;
3879}WDI_EnterBmpsReqinfoType;
3880
3881/*---------------------------------------------------------------------------
3882 WDI_EnterBmpsReqParamsType
3883 Enter BMPS parameters passed to WDI from WDA
3884---------------------------------------------------------------------------*/
3885typedef struct
3886{
3887 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3888 WDI_EnterBmpsReqinfoType wdiEnterBmpsInfo;
3889 /*Request status callback offered by UMAC - it is called if the current req
3890 has returned PENDING as status; it delivers the status of sending the message
3891 over the BUS */
3892 WDI_ReqStatusCb wdiReqStatusCB;
3893 /*The user data passed in by UMAC, it will be sent back when the above
3894 function pointer will be called */
3895 void* pUserData;
3896}WDI_EnterBmpsReqParamsType;
3897
3898/*---------------------------------------------------------------------------
Mihir Shetea4306052014-03-25 00:02:54 +05303899 WDI_EnterImpsReqParamsType
3900 Enter IMPS parameters passed to WDI from WDA
3901---------------------------------------------------------------------------*/
3902typedef struct
3903{
3904 /*Request status callback offered by UMAC - it is called if the current req
3905 has returned PENDING as status; it delivers the status of sending the message
3906 over the BUS */
3907 WDI_ReqStatusCb wdiReqStatusCB;
3908 /*The user data passed in by UMAC, it will be sent back when the above
3909 function pointer will be called */
3910 void* pUserData;
3911}WDI_EnterImpsReqParamsType;
3912
3913/*---------------------------------------------------------------------------
Mahesh A Saptasagar329813b2014-12-15 12:16:51 +05303914 WDI_ExitImpsReqParamsType
3915 Exit IMPS parameters passed to WDI from WDA
3916----------------------------------------------------------------------------*/
3917typedef struct
3918{
3919 /*Request status callback offered by UMAC */
3920 WDI_ReqStatusCb wdiReqStatusCB;
3921 /*The user data passed in by UMAC, it will be sent back when the above
3922 function pointer will be called */
3923 void* pUserData;
3924
3925}WDI_ExitImpsReqParamsType;
3926
3927/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003928 WDI_EnterBmpsReqParamsType
3929 Enter BMPS parameters passed from WDI to WDA
3930---------------------------------------------------------------------------*/
3931typedef struct
3932{
3933 /*Status of the response*/
3934 WDI_Status wdiStatus;
3935
3936 /*BssIDX of the session*/
3937 wpt_uint8 bssIdx;
3938}WDI_EnterBmpsRspParamsType;
3939
3940/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003941 WDI_ExitBmpsReqinfoType
3942 Exit BMPS parameters passed to WDA from UMAC
3943---------------------------------------------------------------------------*/
3944typedef struct
3945{
3946 wpt_uint8 ucSendDataNull;
Jeff Johnsone7245742012-09-05 17:12:55 -07003947 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003948}WDI_ExitBmpsReqinfoType;
3949
3950/*---------------------------------------------------------------------------
3951 WDI_ExitBmpsReqParamsType
3952 Exit BMPS parameters passed to WDI from WDA
3953---------------------------------------------------------------------------*/
3954typedef struct
3955{
3956 /*Exit BMPS Info Type, same as tExitBmpsParams */
3957 WDI_ExitBmpsReqinfoType wdiExitBmpsInfo;
3958 /*Request status callback offered by UMAC - it is called if the current req
3959 has returned PENDING as status; it delivers the status of sending the message
3960 over the BUS */
3961 WDI_ReqStatusCb wdiReqStatusCB;
3962 /*The user data passed in by UMAC, it will be sent back when the above
3963 function pointer will be called */
3964 void* pUserData;
3965}WDI_ExitBmpsReqParamsType;
3966
3967/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003968 WDI_ExitBmpsReqParamsType
3969 Exit BMPS parameters passed from WDI to WDA
3970---------------------------------------------------------------------------*/
3971typedef struct
3972{
3973 /*Status of the response*/
3974 WDI_Status wdiStatus;
3975
3976 /*BssIDX of the session*/
3977 wpt_uint8 bssIdx;
3978}WDI_ExitBmpsRspParamsType;
3979
3980/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003981 WDI_EnterUapsdReqinfoType
3982 Enter UAPSD parameters passed to WDA from UMAC
3983---------------------------------------------------------------------------*/
3984typedef struct
3985{
3986 wpt_uint8 ucBkDeliveryEnabled:1;
3987 wpt_uint8 ucBeDeliveryEnabled:1;
3988 wpt_uint8 ucViDeliveryEnabled:1;
3989 wpt_uint8 ucVoDeliveryEnabled:1;
3990 wpt_uint8 ucBkTriggerEnabled:1;
3991 wpt_uint8 ucBeTriggerEnabled:1;
3992 wpt_uint8 ucViTriggerEnabled:1;
3993 wpt_uint8 ucVoTriggerEnabled:1;
Jeff Johnsone7245742012-09-05 17:12:55 -07003994 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003995}WDI_EnterUapsdReqinfoType;
3996
3997/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003998 WDI_EnterUapsdRspParamsType
3999 Enter UAPSD parameters passed from WDI to WDA
4000---------------------------------------------------------------------------*/
4001typedef struct
4002{
4003 /*Status of the response*/
4004 WDI_Status wdiStatus;
4005
4006 /*BssIDX of the session*/
4007 wpt_uint8 bssIdx;
4008}WDI_EnterUapsdRspParamsType;
4009
4010/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004011 WDI_EnterUapsdReqinfoType
4012 Enter UAPSD parameters passed to WDI from WDA
4013---------------------------------------------------------------------------*/
4014typedef struct
4015{
4016 /*Enter UAPSD Info Type, same as tUapsdParams */
4017 WDI_EnterUapsdReqinfoType wdiEnterUapsdInfo;
4018 /*Request status callback offered by UMAC - it is called if the current req
4019 has returned PENDING as status; it delivers the status of sending the message
4020 over the BUS */
4021 WDI_ReqStatusCb wdiReqStatusCB;
4022 /*The user data passed in by UMAC, it will be sent back when the above
4023 function pointer will be called */
4024 void* pUserData;
4025}WDI_EnterUapsdReqParamsType;
4026
4027/*---------------------------------------------------------------------------
4028 WDI_UpdateUapsdReqinfoType
4029 Update UAPSD parameters passed to WDA from UMAC
4030---------------------------------------------------------------------------*/
4031typedef struct
4032{
4033 wpt_uint8 ucSTAIdx;
4034 wpt_uint8 ucUapsdACMask;
4035 wpt_uint32 uMaxSpLen;
4036}WDI_UpdateUapsdReqinfoType;
4037
4038/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004039 WDI_ExitUapsdReqinfoType
4040 Exit UAPSD parameters passed to WDA from UMAC
4041---------------------------------------------------------------------------*/
4042typedef struct
4043{
4044 wpt_uint8 bssIdx;
4045}WDI_ExitUapsdReqinfoType;
4046
4047/*---------------------------------------------------------------------------
4048 WDI_ExitUapsdReqParamsType
4049 Exit UAPSD parameters passed to WDI from WDA
4050---------------------------------------------------------------------------*/
4051typedef struct
4052{
4053 /*Exit UAPSD Info Type, same as tUapsdParams */
4054 WDI_ExitUapsdReqinfoType wdiExitUapsdInfo;
4055 /*Request status callback offered by UMAC - it is called if the current req
4056 has returned PENDING as status; it delivers the status of sending the message
4057 over the BUS */
4058 WDI_ReqStatusCb wdiReqStatusCB;
4059 /*The user data passed in by UMAC, it will be sent back when the above
4060 function pointer will be called */
4061 void* pUserData;
4062}WDI_ExitUapsdReqParamsType;
4063
4064/*---------------------------------------------------------------------------
4065 WDI_ExitUapsdRspParamsType
4066 Exit UAPSD parameters passed from WDI to WDA
4067---------------------------------------------------------------------------*/
4068typedef struct
4069{
4070 /*Status of the response*/
4071 WDI_Status wdiStatus;
4072
4073 /*BssIDX of the session*/
4074 wpt_uint8 bssIdx;
4075}WDI_ExitUapsdRspParamsType;
4076
4077/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004078 WDI_UpdateUapsdReqParamsType
4079 Update UAPSD parameters passed to WDI form WDA
4080---------------------------------------------------------------------------*/
4081typedef struct
4082{
4083 /*Update UAPSD Info Type, same as tUpdateUapsdParams */
4084 WDI_UpdateUapsdReqinfoType wdiUpdateUapsdInfo;
4085 /*Request status callback offered by UMAC - it is called if the current req
4086 has returned PENDING as status; it delivers the status of sending the message
4087 over the BUS */
4088 WDI_ReqStatusCb wdiReqStatusCB;
4089 /*The user data passed in by UMAC, it will be sent back when the above
4090 function pointer will be called */
4091 void* pUserData;
4092}WDI_UpdateUapsdReqParamsType;
4093
4094/*---------------------------------------------------------------------------
4095 WDI_ConfigureRxpFilterReqParamsType
4096 RXP filter parameters passed to WDI form WDA
4097---------------------------------------------------------------------------*/
4098typedef struct
4099{
4100 /* Mode of Mcast and Bcast filters configured */
4101 wpt_uint8 ucSetMcstBcstFilterSetting;
4102
4103 /* Mcast Bcast Filters enable/disable*/
4104 wpt_uint8 ucSetMcstBcstFilter;
4105}WDI_RxpFilterReqParamsType;
4106
4107typedef struct
4108{
4109 /* Rxp Filter */
4110 WDI_RxpFilterReqParamsType wdiRxpFilterParam;
4111
4112 /*Request status callback offered by UMAC - it is called if the current req
4113 has returned PENDING as status; it delivers the status of sending the message
4114 over the BUS */
4115 WDI_ReqStatusCb wdiReqStatusCB;
4116 /*The user data passed in by UMAC, it will be sent back when the above
4117 function pointer will be called */
4118 void* pUserData;
4119}WDI_ConfigureRxpFilterReqParamsType;
4120
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05304121typedef struct
4122{
4123 wpt_uint8 enableFlag;
4124 wpt_uint8 frameType;
4125 wpt_uint8 frameSize;
4126 wpt_uint8 bufferMode;
Siddharth Bhald1be97f2015-05-27 22:39:59 +05304127 wpt_uint8 continuousFrameLogging;
4128 wpt_uint8 minLogBufferSize;
4129 wpt_uint8 maxLogBufferSize;
4130}WDI_FWLoggingInitReqInfoType;
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05304131
Siddharth Bhal64246172015-02-27 01:04:37 +05304132typedef struct
4133{
Gupta, Kapil7c34b322015-09-30 13:12:35 +05304134 wpt_uint32 requestId;
4135 wpt_uint8 minRssi;
4136 wpt_uint8 maxRssi;
4137 wpt_macAddr currentBssId;
4138}WDI_RssiMonitorReqInfoType;
4139
4140typedef struct
4141{
Sachin Ahuja715aafc2015-07-21 23:35:10 +05304142 wpt_uint32 reason_code;
4143}WDI_FatalEventLogsReqInfoType;
4144
4145
4146typedef struct
4147{
Siddharth Bhal64246172015-02-27 01:04:37 +05304148 wpt_uint8 flags;
4149}WDI_GetFrameLogReqInfoType;
4150
Siddharth Bhald1be97f2015-05-27 22:39:59 +05304151typedef struct
4152{
Hanumantha Reddy Pothulae00a7e22015-09-15 20:11:30 +05304153 wpt_uint16 status;
4154 wpt_uint16 doneIndicationForSource;
Siddharth Bhald1be97f2015-05-27 22:39:59 +05304155 wpt_uint64 logBuffAddress[MAX_NUM_OF_BUFFER];
Siddharth Bhald1be97f2015-05-27 22:39:59 +05304156 wpt_uint32 logBuffLength[MAX_NUM_OF_BUFFER];
4157}WDI_FWLoggingDXEdoneIndInfoType;
4158
Jeff Johnson295189b2012-06-20 16:38:30 -07004159/*---------------------------------------------------------------------------
4160 WDI_BeaconFilterInfoType
4161 Beacon Filtering data structures passed to WDA form UMAC
4162---------------------------------------------------------------------------*/
4163typedef struct
4164{
4165 wpt_uint16 usCapabilityInfo;
4166 wpt_uint16 usCapabilityMask;
4167 wpt_uint16 usBeaconInterval;
4168 wpt_uint16 usIeNum;
Madan Mohan Koyyalamudia84edda2012-10-15 14:58:25 -07004169 wpt_uint8 bssIdx;
4170 wpt_uint8 reserved;
Jeff Johnson295189b2012-06-20 16:38:30 -07004171}WDI_BeaconFilterInfoType;
4172
4173/*---------------------------------------------------------------------------
4174 WDI_BeaconFilterReqParamsType
4175 Beacon Filtering parameters passed to WDI form WDA
4176---------------------------------------------------------------------------*/
4177typedef struct
4178{
4179 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
4180 WDI_BeaconFilterInfoType wdiBeaconFilterInfo;
4181 /*Beacon Filter(s) follow the "usIeNum" field, hence the array to ease the
4182 copy of params from WDA to WDI */
4183 wpt_uint8 aFilters[WDI_BEACON_FILTER_LEN];
4184 /*Request status callback offered by UMAC - it is called if the current req
4185 has returned PENDING as status; it delivers the status of sending the message
4186 over the BUS */
4187 WDI_ReqStatusCb wdiReqStatusCB;
4188 /*The user data passed in by UMAC, it will be sent back when the above
4189 function pointer will be called */
4190 void* pUserData;
4191}WDI_BeaconFilterReqParamsType;
4192
4193/*---------------------------------------------------------------------------
4194 WDI_RemBeaconFilterInfoType
4195 Beacon Filtering data structures (to be reomoved) passed to WDA form UMAC
4196---------------------------------------------------------------------------*/
4197typedef struct
4198{
4199 wpt_uint8 ucIeCount;
4200 wpt_uint8 ucRemIeId[1];
4201}WDI_RemBeaconFilterInfoType;
4202
4203/*---------------------------------------------------------------------------
4204 WDI_RemBeaconFilterReqParamsType
4205 Beacon Filtering parameters (to be reomoved)passed to WDI form WDA
4206---------------------------------------------------------------------------*/
4207typedef struct
4208{
4209 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
4210 WDI_RemBeaconFilterInfoType wdiBeaconFilterInfo;
4211 /*Request status callback offered by UMAC - it is called if the current req
4212 has returned PENDING as status; it delivers the status of sending the message
4213 over the BUS */
4214 WDI_ReqStatusCb wdiReqStatusCB;
4215 /*The user data passed in by UMAC, it will be sent back when the above
4216 function pointer will be called */
4217 void* pUserData;
4218}WDI_RemBeaconFilterReqParamsType;
4219
4220/*---------------------------------------------------------------------------
4221 WDI_RSSIThresholdsType
4222 RSSI thresholds data structures (to be reomoved) passed to WDA form UMAC
4223---------------------------------------------------------------------------*/
4224typedef struct
4225{
4226 wpt_int8 ucRssiThreshold1 : 8;
4227 wpt_int8 ucRssiThreshold2 : 8;
4228 wpt_int8 ucRssiThreshold3 : 8;
4229 wpt_uint8 bRssiThres1PosNotify : 1;
4230 wpt_uint8 bRssiThres1NegNotify : 1;
4231 wpt_uint8 bRssiThres2PosNotify : 1;
4232 wpt_uint8 bRssiThres2NegNotify : 1;
4233 wpt_uint8 bRssiThres3PosNotify : 1;
4234 wpt_uint8 bRssiThres3NegNotify : 1;
4235 wpt_uint8 bReserved10 : 2;
4236} WDI_RSSIThresholdsType;
4237
4238/*---------------------------------------------------------------------------
4239 WDI_SetRSSIThresholdsReqParamsType
4240 RSSI thresholds parameters (to be reomoved)passed to WDI form WDA
4241---------------------------------------------------------------------------*/
4242typedef struct
4243{
4244 /*RSSI thresholds Info Type, same as WDI_RSSIThresholds */
4245 WDI_RSSIThresholdsType wdiRSSIThresholdsInfo;
4246 /*Request status callback offered by UMAC - it is called if the current req
4247 has returned PENDING as status; it delivers the status of sending the message
4248 over the BUS */
4249 WDI_ReqStatusCb wdiReqStatusCB;
4250 /*The user data passed in by UMAC, it will be sent back when the above
4251 function pointer will be called */
4252 void* pUserData;
4253}WDI_SetRSSIThresholdsReqParamsType;
4254
4255/*---------------------------------------------------------------------------
4256 WDI_HostOffloadReqType
4257 host offload info passed to WDA form UMAC
4258---------------------------------------------------------------------------*/
4259#ifdef WLAN_NS_OFFLOAD
4260typedef struct
4261{
4262 wpt_uint8 srcIPv6Addr[16];
4263 wpt_uint8 selfIPv6Addr[16];
4264 //Only support 2 possible Network Advertisement IPv6 address
4265 wpt_uint8 targetIPv6Addr1[16];
4266 wpt_uint8 targetIPv6Addr2[16];
4267 wpt_uint8 selfMacAddr[6];
4268 wpt_uint8 srcIPv6AddrValid : 1;
4269 wpt_uint8 targetIPv6Addr1Valid : 1;
4270 wpt_uint8 targetIPv6Addr2Valid : 1;
Gopichand Nakkala746a9452013-06-11 12:45:54 +05304271 wpt_uint8 slotIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004272} WDI_NSOffloadParams;
4273#endif //WLAN_NS_OFFLOAD
4274
4275typedef struct
4276{
4277 wpt_uint8 ucOffloadType;
4278 wpt_uint8 ucEnableOrDisable;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004279 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004280 union
4281 {
4282 wpt_uint8 aHostIpv4Addr [4];
4283 wpt_uint8 aHostIpv6Addr [16];
4284 } params;
4285} WDI_HostOffloadReqType;
4286
4287/*---------------------------------------------------------------------------
4288 WDI_HostOffloadReqParamsType
4289 host offload info passed to WDI form WDA
4290---------------------------------------------------------------------------*/
4291typedef struct
4292{
4293 /*Host offload Info Type, same as tHalHostOffloadReq */
4294 WDI_HostOffloadReqType wdiHostOffloadInfo;
4295#ifdef WLAN_NS_OFFLOAD
4296 WDI_NSOffloadParams wdiNsOffloadParams;
4297#endif //WLAN_NS_OFFLOAD
4298 /*Request status callback offered by UMAC - it is called if the current req
4299 has returned PENDING as status; it delivers the status of sending the message
4300 over the BUS */
4301 WDI_ReqStatusCb wdiReqStatusCB;
4302 /*The user data passed in by UMAC, it will be sent back when the above
4303 function pointer will be called */
4304 void* pUserData;
4305}WDI_HostOffloadReqParamsType;
4306
4307/*---------------------------------------------------------------------------
4308 WDI_KeepAliveReqType
4309 Keep Alive info passed to WDA form UMAC
4310---------------------------------------------------------------------------*/
4311typedef struct
4312{
4313 wpt_uint8 ucPacketType;
4314 wpt_uint32 ucTimePeriod;
4315 wpt_uint8 aHostIpv4Addr[4];
4316 wpt_uint8 aDestIpv4Addr[4];
4317 wpt_uint8 aDestMacAddr[6];
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004318 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004319} WDI_KeepAliveReqType;
4320
4321/*---------------------------------------------------------------------------
4322 WDI_KeepAliveReqParamsType
4323 Keep Alive passed to WDI form WDA
4324---------------------------------------------------------------------------*/
4325typedef struct
4326{
4327 /* Keep Alive Info Type, same as tHalKeepAliveReq */
4328 WDI_KeepAliveReqType wdiKeepAliveInfo;
4329 /*Request status callback offered by UMAC - it is called if the current req
4330 has returned PENDING as status; it delivers the status of sending the message
4331 over the BUS */
4332 WDI_ReqStatusCb wdiReqStatusCB;
4333 /*The user data passed in by UMAC, it will be sent back when the above
4334 function pointer will be called */
4335 void* pUserData;
4336}WDI_KeepAliveReqParamsType;
4337
4338/*---------------------------------------------------------------------------
4339 WDI_WowlAddBcPtrnInfoType
4340 Wowl add ptrn info passed to WDA form UMAC
4341---------------------------------------------------------------------------*/
4342typedef struct
4343{
4344 wpt_uint8 ucPatternId; // Pattern ID
4345 // Pattern byte offset from beginning of the 802.11 packet to start of the
4346 // wake-up pattern
4347 wpt_uint8 ucPatternByteOffset;
4348 wpt_uint8 ucPatternSize; // Non-Zero Pattern size
4349 wpt_uint8 ucPattern[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern
4350 wpt_uint8 ucPatternMaskSize; // Non-zero pattern mask size
4351 wpt_uint8 ucPatternMask[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern mask
4352 wpt_uint8 ucPatternExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern
4353 wpt_uint8 ucPatternMaskExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern mask
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004354 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004355} WDI_WowlAddBcPtrnInfoType;
4356
4357/*---------------------------------------------------------------------------
4358 WDI_WowlAddBcPtrnReqParamsType
4359 Wowl add ptrn info passed to WDI form WDA
4360---------------------------------------------------------------------------*/
4361typedef struct
4362{
4363 /*Wowl add ptrn Info Type, same as tpSirWowlAddBcastPtrn */
4364 WDI_WowlAddBcPtrnInfoType wdiWowlAddBcPtrnInfo;
4365 /*Request status callback offered by UMAC - it is called if the current req
4366 has returned PENDING as status; it delivers the status of sending the message
4367 over the BUS */
4368 WDI_ReqStatusCb wdiReqStatusCB;
4369 /*The user data passed in by UMAC, it will be sent back when the above
4370 function pointer will be called */
4371 void* pUserData;
4372}WDI_WowlAddBcPtrnReqParamsType;
4373
4374/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004375 WDI_WowlAddBcPtrnRspParamsType
4376 Wowl add ptrn info passed from WDI to WDA
4377---------------------------------------------------------------------------*/
4378typedef struct
4379{
4380 /*Status of the response*/
4381 WDI_Status wdiStatus;
4382 /*BssIDX of the session*/
4383 wpt_uint8 bssIdx;
4384}WDI_WowlAddBcPtrnRspParamsType;
4385
4386/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004387 WDI_WowlDelBcPtrnInfoType
4388 Wowl add ptrn info passed to WDA form UMAC
4389---------------------------------------------------------------------------*/
4390typedef struct
4391{
4392 /* Pattern ID of the wakeup pattern to be deleted */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004393 wpt_uint8 ucPatternId;
4394 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004395} WDI_WowlDelBcPtrnInfoType;
4396
4397/*---------------------------------------------------------------------------
4398 WDI_WowlDelBcPtrnReqParamsType
4399 Wowl add ptrn info passed to WDI form WDA
4400---------------------------------------------------------------------------*/
4401typedef struct
4402{
4403 /*Wowl delete ptrn Info Type, same as WDI_WowlDelBcastPtrn */
4404 WDI_WowlDelBcPtrnInfoType wdiWowlDelBcPtrnInfo;
4405 /*Request status callback offered by UMAC - it is called if the current req
4406 has returned PENDING as status; it delivers the status of sending the message
4407 over the BUS */
4408 WDI_ReqStatusCb wdiReqStatusCB;
4409 /*The user data passed in by UMAC, it will be sent back when the above
4410 function pointer will be called */
4411 void* pUserData;
4412}WDI_WowlDelBcPtrnReqParamsType;
4413
4414/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004415 WDI_WowlDelBcPtrnRspParamsType
4416 Wowl Del ptrn info passed from WDI to WDA
4417---------------------------------------------------------------------------*/
4418typedef struct
4419{
4420 /*Status of the response*/
4421 WDI_Status wdiStatus;
4422 /*BssIDX of the session*/
4423 wpt_uint8 bssIdx;
4424}WDI_WowlDelBcPtrnRspParamsType;
4425
4426/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004427 WDI_WowlEnterInfoType
4428 Wowl enter info passed to WDA form UMAC
4429---------------------------------------------------------------------------*/
4430typedef struct
4431{
4432 /* Enables/disables magic packet filtering */
4433 wpt_uint8 ucMagicPktEnable;
4434
4435 /* Magic pattern */
4436 wpt_macAddr magicPtrn;
4437
4438 /* Enables/disables packet pattern filtering in firmware.
4439 Enabling this flag enables broadcast pattern matching
4440 in Firmware. If unicast pattern matching is also desired,
4441 ucUcastPatternFilteringEnable flag must be set tot true
4442 as well
4443 */
4444 wpt_uint8 ucPatternFilteringEnable;
4445
4446 /* Enables/disables unicast packet pattern filtering.
4447 This flag specifies whether we want to do pattern match
4448 on unicast packets as well and not just broadcast packets.
4449 This flag has no effect if the ucPatternFilteringEnable
4450 (main controlling flag) is set to false
4451 */
4452 wpt_uint8 ucUcastPatternFilteringEnable;
4453
4454 /* This configuration is valid only when magicPktEnable=1.
4455 * It requests hardware to wake up when it receives the
4456 * Channel Switch Action Frame.
4457 */
4458 wpt_uint8 ucWowChnlSwitchRcv;
4459
4460 /* This configuration is valid only when magicPktEnable=1.
4461 * It requests hardware to wake up when it receives the
4462 * Deauthentication Frame.
4463 */
4464 wpt_uint8 ucWowDeauthRcv;
4465
4466 /* This configuration is valid only when magicPktEnable=1.
4467 * It requests hardware to wake up when it receives the
4468 * Disassociation Frame.
4469 */
4470 wpt_uint8 ucWowDisassocRcv;
4471
4472 /* This configuration is valid only when magicPktEnable=1.
4473 * It requests hardware to wake up when it has missed
4474 * consecutive beacons. This is a hardware register
4475 * configuration (NOT a firmware configuration).
4476 */
4477 wpt_uint8 ucWowMaxMissedBeacons;
4478
4479 /* This configuration is valid only when magicPktEnable=1.
4480 * This is a timeout value in units of microsec. It requests
4481 * hardware to unconditionally wake up after it has stayed
4482 * in WoWLAN mode for some time. Set 0 to disable this feature.
4483 */
4484 wpt_uint8 ucWowMaxSleepUsec;
4485
4486#ifdef WLAN_WAKEUP_EVENTS
4487 /* This configuration directs the WoW packet filtering to look for EAP-ID
4488 * requests embedded in EAPOL frames and use this as a wake source.
4489 */
4490 wpt_uint8 ucWoWEAPIDRequestEnable;
4491
4492 /* This configuration directs the WoW packet filtering to look for EAPOL-4WAY
4493 * requests and use this as a wake source.
4494 */
4495 wpt_uint8 ucWoWEAPOL4WayEnable;
4496
4497 /* This configuration allows a host wakeup on an network scan offload match.
4498 */
4499 wpt_uint8 ucWowNetScanOffloadMatch;
4500
4501 /* This configuration allows a host wakeup on any GTK rekeying error.
4502 */
4503 wpt_uint8 ucWowGTKRekeyError;
4504
4505 /* This configuration allows a host wakeup on BSS connection loss.
4506 */
4507 wpt_uint8 ucWoWBSSConnLoss;
4508#endif // WLAN_WAKEUP_EVENTS
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004509
4510 /* BSSIDX used to find the current session
4511 */
4512 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004513} WDI_WowlEnterInfoType;
4514
4515/*---------------------------------------------------------------------------
4516 WDI_WowlEnterReqParamsType
4517 Wowl enter info passed to WDI form WDA
4518---------------------------------------------------------------------------*/
4519typedef struct
4520{
4521 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
4522 WDI_WowlEnterInfoType wdiWowlEnterInfo;
4523 /*Request status callback offered by UMAC - it is called if the current req
4524 has returned PENDING as status; it delivers the status of sending the message
4525 over the BUS */
4526 WDI_ReqStatusCb wdiReqStatusCB;
4527 /*The user data passed in by UMAC, it will be sent back when the above
4528 function pointer will be called */
4529 void* pUserData;
4530}WDI_WowlEnterReqParamsType;
4531
4532/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004533 WDI_WowlEnterRsqParamsType
4534 Wowl enter info passed from WDI to WDA
4535---------------------------------------------------------------------------*/
4536typedef struct
4537{
4538 /*Status of the response message*/
4539 WDI_Status status;
4540
4541 /* BSSIDX used to find the current session
4542 */
4543 wpt_uint8 bssIdx;
4544}WDI_WowlEnterRspParamsType;
4545
4546/*---------------------------------------------------------------------------
4547 WDI_WowlExitInfoType
4548 Wowl exit info passed to WDA form UMAC
4549 ---------------------------------------------------------------------------*/
4550typedef struct
4551{
4552 /* BSSIDX used to find the current session
4553 */
4554 wpt_uint8 bssIdx;
4555} WDI_WowlExitInfoType;
4556
4557/*---------------------------------------------------------------------------
4558 WDI_WowlExitReqParamsType
4559 Wowl exit info passed to WDI form WDA
4560---------------------------------------------------------------------------*/
4561typedef struct
4562{
4563 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
4564 WDI_WowlExitInfoType wdiWowlExitInfo;
4565 /*Request status callback offered by UMAC - it is called if the current req
4566 has returned PENDING as status; it delivers the status of sending the message
4567 over the BUS */
4568 WDI_ReqStatusCb wdiReqStatusCB;
4569 /*The user data passed in by UMAC, it will be sent back when the above
4570 function pointer will be called */
4571 void* pUserData;
4572}WDI_WowlExitReqParamsType;
4573
4574/*---------------------------------------------------------------------------
4575 WDI_WowlExitRspParamsType
4576 Wowl exit info passed from WDI to WDA
4577---------------------------------------------------------------------------*/
4578typedef struct
4579{
4580 /*Status of the response message*/
4581 WDI_Status status;
4582
4583 /* BSSIDX used to find the current session
4584 */
4585 wpt_uint8 bssIdx;
4586}WDI_WowlExitRspParamsType;
4587
4588/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004589 WDI_ConfigureAppsCpuWakeupStateReqParamsType
4590 Apps Cpu Wakeup State parameters passed to WDI form WDA
4591---------------------------------------------------------------------------*/
4592typedef struct
4593{
4594 /*Depicts the state of the Apps CPU */
4595 wpt_boolean bIsAppsAwake;
4596 /*Request status callback offered by UMAC - it is called if the current req
4597 has returned PENDING as status; it delivers the status of sending the message
4598 over the BUS */
4599 WDI_ReqStatusCb wdiReqStatusCB;
4600 /*The user data passed in by UMAC, it will be sent back when the above
4601 function pointer will be called */
4602 void* pUserData;
4603}WDI_ConfigureAppsCpuWakeupStateReqParamsType;
4604/*---------------------------------------------------------------------------
4605 WDI_FlushAcReqinfoType
4606---------------------------------------------------------------------------*/
4607typedef struct
4608{
4609 // Message Type
4610 wpt_uint16 usMesgType;
4611
4612 // Message Length
4613 wpt_uint16 usMesgLen;
4614
4615 // Station Index. originates from HAL
4616 wpt_uint8 ucSTAId;
4617
4618 // TID for which the transmit queue is being flushed
4619 wpt_uint8 ucTid;
4620
4621}WDI_FlushAcReqinfoType;
4622
4623/*---------------------------------------------------------------------------
4624 WDI_FlushAcReqParamsType
4625---------------------------------------------------------------------------*/
4626typedef struct
4627{
4628 /*AC Info */
4629 WDI_FlushAcReqinfoType wdiFlushAcInfo;
4630
4631 /*Request status callback offered by UMAC - it is called if the current
4632 req has returned PENDING as status; it delivers the status of sending
4633 the message over the BUS */
4634 WDI_ReqStatusCb wdiReqStatusCB;
4635
4636 /*The user data passed in by UMAC, it will be sent back when the above
4637 function pointer will be called */
4638 void* pUserData;
4639}WDI_FlushAcReqParamsType;
4640
4641/*---------------------------------------------------------------------------
4642 WDI_BtAmpEventinfoType
4643 BT-AMP Event Structure
4644---------------------------------------------------------------------------*/
4645typedef struct
4646{
4647 wpt_uint8 ucBtAmpEventType;
4648
4649} WDI_BtAmpEventinfoType;
4650
4651/*---------------------------------------------------------------------------
4652 WDI_BtAmpEventParamsType
4653---------------------------------------------------------------------------*/
4654typedef struct
4655{
4656 /*BT AMP event Info */
4657 WDI_BtAmpEventinfoType wdiBtAmpEventInfo;
4658
4659 /*Request status callback offered by UMAC - it is called if the current
4660 req has returned PENDING as status; it delivers the status of sending
4661 the message over the BUS */
4662 WDI_ReqStatusCb wdiReqStatusCB;
4663
4664 /*The user data passed in by UMAC, it will be sent back when the above
4665 function pointer will be called */
4666 void* pUserData;
4667}WDI_BtAmpEventParamsType;
4668
Jeff Johnsone7245742012-09-05 17:12:55 -07004669#ifdef FEATURE_OEM_DATA_SUPPORT
4670
4671#ifndef OEM_DATA_REQ_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004672#define OEM_DATA_REQ_SIZE 134
Jeff Johnsone7245742012-09-05 17:12:55 -07004673#endif
4674#ifndef OEM_DATA_RSP_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004675#define OEM_DATA_RSP_SIZE 1968
Jeff Johnsone7245742012-09-05 17:12:55 -07004676#endif
4677
Padma, Santhosh Kumar2ccac212015-10-20 17:27:27 +05304678#ifndef NEW_OEM_DATA_REQ_SIZE
4679#define NEW_OEM_DATA_REQ_SIZE 292
4680#endif
4681
4682#ifndef NEW_OEM_DATA_RSP_SIZE
4683#define NEW_OEM_DATA_RSP_SIZE 2100
4684#endif
4685
Jeff Johnsone7245742012-09-05 17:12:55 -07004686/*----------------------------------------------------------------------------
4687 WDI_oemDataReqInfoType
4688----------------------------------------------------------------------------*/
4689typedef struct
4690{
4691 wpt_macAddr selfMacAddr;
4692 wpt_uint8 oemDataReq[OEM_DATA_REQ_SIZE];
4693}WDI_oemDataReqInfoType;
4694
4695/*----------------------------------------------------------------------------
4696 WDI_oemDataReqParamsType
4697----------------------------------------------------------------------------*/
4698typedef struct
4699{
4700 /*Request status callback offered by UMAC - it is called if the current
4701 req has returned PENDING as status; it delivers the status of sending
4702 the message over the BUS */
4703 WDI_ReqStatusCb wdiReqStatusCB;
4704
4705 /*The user data passed in by UMAC, it will be sent back when the above
4706 function pointer will be called */
4707 void* pUserData;
4708
4709 /*OEM DATA REQ Info */
4710 WDI_oemDataReqInfoType wdiOemDataReqInfo;
4711
4712}WDI_oemDataReqParamsType;
4713
4714/*----------------------------------------------------------------------------
4715 WDI_oemDataRspParamsType
4716----------------------------------------------------------------------------*/
4717typedef struct
4718{
4719 wpt_uint8 oemDataRsp[OEM_DATA_RSP_SIZE];
4720}WDI_oemDataRspParamsType;
4721
Padma, Santhosh Kumar2ccac212015-10-20 17:27:27 +05304722/*----------------------------------------------------------------------------
4723 OEM DATA REQ NEW/OEM DATA RSP NEW - DATA STRUCTURES
4724----------------------------------------------------------------------------*/
4725/* Structure for defining req sent to the PE */
4726typedef struct
4727{
4728 wpt_uint8 oemDataReqNew[NEW_OEM_DATA_REQ_SIZE];
4729} WDI_OemDataReqNew, WDI_OemDataReqNewConfig;
4730
4731/*----------------------------------------------------------------------------
4732 OEM DATA RESPONSE - DATA STRUCTURES
4733----------------------------------------------------------------------------*/
4734typedef struct
4735{
4736 wpt_uint8 oemDataRspNew[NEW_OEM_DATA_RSP_SIZE];
4737} WDI_OemDataRspNew;
4738
4739/*************************************************************************************************************/
4740
Jeff Johnsone7245742012-09-05 17:12:55 -07004741#endif /* FEATURE_OEM_DATA_SUPPORT */
Jeff Johnson295189b2012-06-20 16:38:30 -07004742
4743#ifdef WLAN_FEATURE_VOWIFI_11R
4744/*---------------------------------------------------------------------------
4745 WDI_AggrAddTSReqInfoType
4746---------------------------------------------------------------------------*/
4747typedef struct
4748{
4749 /*STA Index*/
4750 wpt_uint8 ucSTAIdx;
4751
4752 /*Identifier for TSpec*/
4753 wpt_uint8 ucTspecIdx;
4754
4755 /*Tspec IE negotiated OTA*/
4756 WDI_TspecIEType wdiTspecIE[WDI_MAX_NO_AC];
4757
4758 /*UAPSD delivery and trigger enabled flags */
4759 wpt_uint8 ucUapsdFlags;
4760
4761 /*SI for each AC*/
4762 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
4763
4764 /*Suspend Interval for each AC*/
4765 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
4766
4767 /*DI for each AC*/
4768 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
4769
4770}WDI_AggrAddTSReqInfoType;
4771
4772
4773/*---------------------------------------------------------------------------
4774 WDI_AggrAddTSReqParamsType
4775---------------------------------------------------------------------------*/
4776typedef struct
4777{
4778 /*TSpec Info */
4779 WDI_AggrAddTSReqInfoType wdiAggrTsInfo;
4780
4781 /*Request status callback offered by UMAC - it is called if the current
4782 req has returned PENDING as status; it delivers the status of sending
4783 the message over the BUS */
4784 WDI_ReqStatusCb wdiReqStatusCB;
4785
4786 /*The user data passed in by UMAC, it will be sent back when the above
4787 function pointer will be called */
4788 void* pUserData;
4789}WDI_AggrAddTSReqParamsType;
4790
4791#endif /* WLAN_FEATURE_VOWIFI_11R */
4792
Jeff Johnson295189b2012-06-20 16:38:30 -07004793/*---------------------------------------------------------------------------
4794 WDI_FTMCommandReqType
4795---------------------------------------------------------------------------*/
4796typedef struct
4797{
4798 /* FTM Command Body length */
4799 wpt_uint32 bodyLength;
4800 /* Actual FTM Command body */
4801 void *FTMCommandBody;
4802}WDI_FTMCommandReqType;
Jeff Johnson295189b2012-06-20 16:38:30 -07004803
4804/*---------------------------------------------------------------------------
4805 WDI_WlanSuspendInfoType
4806---------------------------------------------------------------------------*/
4807typedef struct
4808{
4809 /* Mode of Mcast and Bcast filters configured */
4810 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4811}WDI_WlanSuspendInfoType;
4812
4813/*---------------------------------------------------------------------------
4814 WDI_SuspendParamsType
4815---------------------------------------------------------------------------*/
4816typedef struct
4817{
4818 WDI_WlanSuspendInfoType wdiSuspendParams;
4819
4820 /*Request status callback offered by UMAC - it is called if the current
4821 req has returned PENDING as status; it delivers the status of sending
4822 the message over the BUS */
4823 WDI_ReqStatusCb wdiReqStatusCB;
4824
4825 /*The user data passed in by UMAC, it will be sent back when the above
4826 function pointer will be called */
4827 void* pUserData;
4828
4829}WDI_SuspendParamsType;
4830
4831/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004832 WDI_TrafficStatsType - This is collected for each STA
4833---------------------------------------------------------------------------*/
4834
4835typedef struct
4836{
4837 /* TX stats */
4838 wpt_uint32 txBytesPushed;
4839 wpt_uint32 txPacketsPushed;
4840
4841 /* RX stats */
4842 wpt_uint32 rxBytesRcvd;
4843 wpt_uint32 rxPacketsRcvd;
4844 wpt_uint32 rxTimeTotal;
4845}WDI_TrafficStatsType;
4846
4847typedef struct
4848{
4849 WDI_TrafficStatsType *pTrafficStats;
4850 wpt_uint32 length;
4851 wpt_uint32 duration;
4852
4853 /*Request status callback offered by UMAC - it is called if the current
4854 req has returned PENDING as status; it delivers the status of sending
4855 the message over the BUS */
4856 WDI_ReqStatusCb wdiReqStatusCB;
4857
4858 /*The user data passed in by UMAC, it will be sent back when the above
4859 function pointer will be called */
4860 void* pUserData;
4861}WDI_TrafficStatsIndType;
4862
Chet Lanctot186b5732013-03-18 10:26:30 -07004863#ifdef WLAN_FEATURE_11W
4864typedef struct
4865{
4866
4867 wpt_boolean bExcludeUnencrypt;
4868 wpt_macAddr bssid;
4869 /*Request status callback offered by UMAC - it is called if the current
4870 req has returned PENDING as status; it delivers the status of sending
4871 the message over the BUS */
4872 WDI_ReqStatusCb wdiReqStatusCB;
4873
4874 /*The user data passed in by UMAC, it will be sent back when the above
4875 function pointer will be called */
4876 void* pUserData;
4877}WDI_ExcludeUnencryptIndType;
4878#endif
4879
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004880/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004881 WDI_WlanResumeInfoType
4882---------------------------------------------------------------------------*/
4883typedef struct
4884{
4885 /* Mode of Mcast and Bcast filters configured */
4886 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4887}WDI_WlanResumeInfoType;
4888
4889/*---------------------------------------------------------------------------
4890 WDI_ResumeParamsType
4891---------------------------------------------------------------------------*/
4892typedef struct
4893{
4894 WDI_WlanResumeInfoType wdiResumeParams;
4895
4896 /*Request status callback offered by UMAC - it is called if the current
4897 req has returned PENDING as status; it delivers the status of sending
4898 the message over the BUS */
4899 WDI_ReqStatusCb wdiReqStatusCB;
4900
4901 /*The user data passed in by UMAC, it will be sent back when the above
4902 function pointer will be called */
4903 void* pUserData;
4904
4905}WDI_ResumeParamsType;
4906
4907#ifdef WLAN_FEATURE_GTK_OFFLOAD
4908/*---------------------------------------------------------------------------
4909 * WDI_GTK_OFFLOAD_REQ
4910 *--------------------------------------------------------------------------*/
4911
4912typedef struct
4913{
4914 wpt_uint32 ulFlags; /* optional flags */
4915 wpt_uint8 aKCK[16]; /* Key confirmation key */
4916 wpt_uint8 aKEK[16]; /* key encryption key */
4917 wpt_uint64 ullKeyReplayCounter; /* replay counter */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004918 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004919} WDI_GtkOffloadReqParams;
4920
4921typedef struct
4922{
4923 WDI_GtkOffloadReqParams gtkOffloadReqParams;
4924
4925 /*Request status callback offered by UMAC - it is called if the current
4926 req has returned PENDING as status; it delivers the status of sending
4927 the message over the BUS */
4928 WDI_ReqStatusCb wdiReqStatusCB;
4929
4930 /*The user data passed in by UMAC, it will be sent back when the above
4931 function pointer will be called */
4932 void* pUserData;
4933} WDI_GtkOffloadReqMsg;
4934
4935/*---------------------------------------------------------------------------
4936 * WDI_GTK_OFFLOAD_RSP
4937 *--------------------------------------------------------------------------*/
4938typedef struct
4939{
4940 /* success or failure */
4941 wpt_uint32 ulStatus;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004942 /*BssIdx of the response */
4943 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004944} WDI_GtkOffloadRspParams;
4945
4946typedef struct
4947{
4948 WDI_GtkOffloadRspParams gtkOffloadRspParams;
4949
4950 /*Request status callback offered by UMAC - it is called if the current
4951 req has returned PENDING as status; it delivers the status of sending
4952 the message over the BUS */
4953 WDI_ReqStatusCb wdiReqStatusCB;
4954
4955 /*The user data passed in by UMAC, it will be sent back when the above
4956 function pointer will be called */
4957 void* pUserData;
4958} WDI_GtkOffloadRspMsg;
4959
4960
4961/*---------------------------------------------------------------------------
4962* WDI_GTK_OFFLOAD_GETINFO_REQ
4963*--------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004964typedef struct
4965{
4966 /*BssIdx of the response */
4967 wpt_macAddr bssId;
4968} WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004969
4970typedef struct
4971{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004972
4973 WDI_GtkOffloadGetInfoReqParams WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004974 /*Request status callback offered by UMAC - it is called if the current
4975 req has returned PENDING as status; it delivers the status of sending
4976 the message over the BUS */
4977 WDI_ReqStatusCb wdiReqStatusCB;
4978
4979 /*The user data passed in by UMAC, it will be sent back when the above
4980 function pointer will be called */
4981 void* pUserData;
4982} WDI_GtkOffloadGetInfoReqMsg;
4983
4984/*---------------------------------------------------------------------------
4985* WDI_GTK_OFFLOAD_GETINFO_RSP
4986*--------------------------------------------------------------------------*/
4987typedef struct
4988{
4989 wpt_uint32 ulStatus; /* success or failure */
4990 wpt_uint64 ullKeyReplayCounter; /* current replay counter value */
4991 wpt_uint32 ulTotalRekeyCount; /* total rekey attempts */
4992 wpt_uint32 ulGTKRekeyCount; /* successful GTK rekeys */
4993 wpt_uint32 ulIGTKRekeyCount; /* successful iGTK rekeys */
Gopichand Nakkala870cbae2013-03-15 21:16:09 +05304994 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004995} WDI_GtkOffloadGetInfoRspParams;
4996
4997typedef struct
4998{
4999 WDI_GtkOffloadGetInfoRspParams gtkOffloadGetInfoRspParams;
5000
5001 /*Request status callback offered by UMAC - it is called if the current
5002 req has returned PENDING as status; it delivers the status of sending
5003 the message over the BUS */
5004 WDI_ReqStatusCb wdiReqStatusCB;
5005
5006 /*The user data passed in by UMAC, it will be sent back when the above
5007 function pointer will be called */
5008 void* pUserData;
5009} WDI_GtkOffloadGetInfoRspMsg;
5010#endif // WLAN_FEATURE_GTK_OFFLOAD
5011
5012/*---------------------------------------------------------------------------
5013 WDI_SuspendResumeRspParamsType
5014---------------------------------------------------------------------------*/
5015typedef struct
5016{
5017 /*Status of the response*/
5018 WDI_Status wdiStatus;
5019}WDI_SuspendResumeRspParamsType;
5020
Leo Chang9056f462013-08-01 19:21:11 -07005021#ifdef FEATURE_WLAN_LPHB
5022/*---------------------------------------------------------------------------
5023 WDI Low Power Heart Beat Config request
5024 Copy from sirApi.h to avoid compile error
5025---------------------------------------------------------------------------*/
5026#define WDI_LPHB_FILTER_LEN 64
5027
5028typedef enum
5029{
5030 WDI_LPHB_SET_EN_PARAMS_INDID = 0x0001,
5031 WDI_LPHB_SET_TCP_PARAMS_INDID,
5032 WDI_LPHB_SET_TCP_PKT_FILTER_INDID,
5033 WDI_LPHB_SET_UDP_PARAMS_INDID,
5034 WDI_LPHB_SET_UDP_PKT_FILTER_INDID,
5035 WDI_LPHB_SET_NETWORK_INFO_INDID,
5036} WDI_LPHBIndType;
5037
5038typedef struct
5039{
5040 wpt_uint8 enable;
5041 wpt_uint8 item;
5042 wpt_uint8 session;
5043} WDI_LPHBEnableStruct;
5044
5045typedef struct
5046{
5047 wpt_uint32 srv_ip;
5048 wpt_uint32 dev_ip;
5049 wpt_uint16 src_port;
5050 wpt_uint16 dst_port;
5051 wpt_uint16 timeout;
5052 wpt_uint8 session;
5053 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
Leo Changd9df8aa2013-09-26 13:32:26 -07005054 wpt_uint16 timePeriodSec; // in seconds
5055 wpt_uint32 tcpSn;
Leo Chang9056f462013-08-01 19:21:11 -07005056} WDI_LPHBTcpParamStruct;
5057
5058typedef struct
5059{
5060 wpt_uint16 length;
5061 wpt_uint8 offset;
5062 wpt_uint8 session;
5063 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
5064} WDI_LPHBTcpFilterStruct;
5065
5066typedef struct
5067{
5068 wpt_uint32 srv_ip;
5069 wpt_uint32 dev_ip;
5070 wpt_uint16 src_port;
5071 wpt_uint16 dst_port;
5072 wpt_uint16 interval;
5073 wpt_uint16 timeout;
5074 wpt_uint8 session;
5075 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
5076} WDI_LPHBUdpParamStruct;
5077
5078typedef struct
5079{
5080 wpt_uint16 length;
5081 wpt_uint8 offset;
5082 wpt_uint8 session;
5083 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
5084} WDI_LPHBUdpFilterStruct;
5085
5086typedef struct
5087{
5088 wpt_uint16 cmd;
5089 wpt_uint16 dummy;
5090 union
5091 {
5092 WDI_LPHBEnableStruct lphbEnableReq;
5093 WDI_LPHBTcpParamStruct lphbTcpParamReq;
5094 WDI_LPHBTcpFilterStruct lphbTcpFilterReq;
5095 WDI_LPHBUdpParamStruct lphbUdpParamReq;
5096 WDI_LPHBUdpFilterStruct lphbUdpFilterReq;
5097 } params;
5098} WDI_LPHBReq;
5099#endif /* FEATURE_WLAN_LPHB */
Jeff Johnson295189b2012-06-20 16:38:30 -07005100
Jeff Johnson295189b2012-06-20 16:38:30 -07005101/*---------------------------------------------------------------------------
5102 WDI_AuthType
5103---------------------------------------------------------------------------*/
5104typedef enum
5105{
5106 WDI_AUTH_TYPE_ANY = 0,
5107
5108 WDI_AUTH_TYPE_NONE,
5109 WDI_AUTH_TYPE_OPEN_SYSTEM,
5110 WDI_AUTH_TYPE_SHARED_KEY,
5111
5112 WDI_AUTH_TYPE_WPA,
5113 WDI_AUTH_TYPE_WPA_PSK,
5114 WDI_AUTH_TYPE_WPA_NONE,
5115
5116 WDI_AUTH_TYPE_RSN,
5117 WDI_AUTH_TYPE_RSN_PSK,
5118 WDI_AUTH_TYPE_FT_RSN,
5119 WDI_AUTH_TYPE_FT_RSN_PSK,
5120 WDI_AUTH_TYPE_WAPI_WAI_CERTIFICATE,
5121 WDI_AUTH_TYPE_WAPI_WAI_PSK,
5122 WDI_AUTH_TYPE_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
5123
5124}WDI_AuthType;
5125
5126/*---------------------------------------------------------------------------
5127 WDI_EdType
5128---------------------------------------------------------------------------*/
5129typedef enum
5130{
5131 WDI_ED_ANY = 0,
5132 WDI_ED_NONE,
5133 WDI_ED_WEP40,
5134 WDI_ED_WEP104,
5135 WDI_ED_TKIP,
5136 WDI_ED_CCMP,
5137 WDI_ED_WPI,
5138 WDI_ED_AES_128_CMAC,
5139 WDI_ED_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
5140} WDI_EdType;
5141
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005142#ifdef FEATURE_WLAN_SCAN_PNO
5143
5144/*Max number of channels for a given network supported by PNO*/
5145#define WDI_PNO_MAX_NETW_CHANNELS 26
5146
5147/*Max number of channels for a given network supported by PNO*/
5148#define WDI_PNO_MAX_NETW_CHANNELS_EX 60
5149
5150/*The max number of programable networks for PNO*/
5151#define WDI_PNO_MAX_SUPP_NETWORKS 16
5152
5153/*The max number of scan timers programable in Riva*/
5154#define WDI_PNO_MAX_SCAN_TIMERS 10
5155
5156#define WDI_PNO_MAX_PROBE_SIZE 450
Jeff Johnson295189b2012-06-20 16:38:30 -07005157
5158/*---------------------------------------------------------------------------
5159 WDI_PNOMode
5160---------------------------------------------------------------------------*/
5161typedef enum
5162{
5163 /*Network offload is to start immediately*/
5164 WDI_PNO_MODE_IMMEDIATE,
5165
5166 /*Network offload is to start on host suspend*/
5167 WDI_PNO_MODE_ON_SUSPEND,
5168
5169 /*Network offload is to start on host resume*/
5170 WDI_PNO_MODE_ON_RESUME,
5171 WDI_PNO_MODE_MAX = 0xFFFFFFFF
5172} WDI_PNOMode;
5173
5174/* SSID broadcast type */
5175typedef enum
5176{
5177 WDI_BCAST_UNKNOWN = 0,
5178 WDI_BCAST_NORMAL = 1,
5179 WDI_BCAST_HIDDEN = 2,
5180
5181 WDI_BCAST_TYPE_MAX = 0xFFFFFFFF
5182} WDI_SSIDBcastType;
5183
5184/*---------------------------------------------------------------------------
5185 WDI_NetworkType
5186---------------------------------------------------------------------------*/
5187typedef struct
5188{
5189 /*The SSID of the preferred network*/
5190 WDI_MacSSid ssId;
5191
5192 /*The authentication method of the preferred network*/
5193 WDI_AuthType wdiAuth;
5194
5195 /*The encryption method of the preferred network*/
5196 WDI_EdType wdiEncryption;
5197
5198 /*SSID broadcast type, normal, hidden or unknown*/
5199 WDI_SSIDBcastType wdiBcastNetworkType;
5200
5201 /*channel count - 0 for all channels*/
5202 wpt_uint8 ucChannelCount;
5203
5204 /*the actual channels*/
Madan Mohan Koyyalamudi4bb5d2e2013-09-26 17:36:46 +05305205 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
Jeff Johnson295189b2012-06-20 16:38:30 -07005206
5207 /*rssi threshold that a network must meet to be considered, 0 - for any*/
5208 wpt_uint8 rssiThreshold;
5209} WDI_NetworkType;
5210
5211
5212/*---------------------------------------------------------------------------
5213 WDI_ScanTimer
5214---------------------------------------------------------------------------*/
5215typedef struct
5216{
5217 /*The timer value*/
5218 wpt_uint32 uTimerValue;
5219
5220 /*The amount of time we should be repeating the interval*/
5221 wpt_uint32 uTimerRepeat;
5222} WDI_ScanTimer;
5223
5224/*---------------------------------------------------------------------------
5225 WDI_ScanTimersType
5226---------------------------------------------------------------------------*/
5227typedef struct
5228{
5229 /*The number of value pair intervals present in the array*/
5230 wpt_uint8 ucScanTimersCount;
5231
5232 /*The time-repeat value pairs*/
5233 WDI_ScanTimer aTimerValues[WDI_PNO_MAX_SCAN_TIMERS];
5234} WDI_ScanTimersType;
5235
5236/*---------------------------------------------------------------------------
5237 WDI_PNOScanReqType
5238---------------------------------------------------------------------------*/
5239typedef struct
5240{
5241 /*Enable or disable PNO feature*/
5242 wpt_uint8 bEnable;
5243
5244 /*PNO mode requested*/
5245 WDI_PNOMode wdiModePNO;
5246
5247 /*Network count*/
5248 wpt_uint8 ucNetworksCount;
5249
5250 /*The networks to look for*/
5251 WDI_NetworkType aNetworks[WDI_PNO_MAX_SUPP_NETWORKS];
5252
5253 /*Scan timer intervals*/
5254 WDI_ScanTimersType scanTimers;
5255
5256 /*Probe template for 2.4GHz band*/
5257 wpt_uint16 us24GProbeSize;
5258 wpt_uint8 a24GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
5259
5260 /*Probe template for 5GHz band*/
5261 wpt_uint16 us5GProbeSize;
5262 wpt_uint8 a5GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
5263} WDI_PNOScanReqType;
5264
5265/*---------------------------------------------------------------------------
5266 WDI_PNOScanReqParamsType
5267 PNO info passed to WDI form WDA
5268---------------------------------------------------------------------------*/
5269typedef struct
5270{
5271 /* PNO Info Type, same as tPrefNetwListParams */
5272 WDI_PNOScanReqType wdiPNOScanInfo;
5273 /* Request status callback offered by UMAC - it is called if the current req
5274 has returned PENDING as status; it delivers the status of sending the message
5275 over the BUS */
5276 WDI_ReqStatusCb wdiReqStatusCB;
5277 /* The user data passed in by UMAC, it will be sent back when the above
5278 function pointer will be called */
5279 void* pUserData;
5280} WDI_PNOScanReqParamsType;
5281
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005282/*---------------------------------------------------------------------------
5283 WDI_SetRssiFilterReqParamsType
5284 PNO info passed to WDI form WDA
5285---------------------------------------------------------------------------*/
5286typedef struct
5287{
5288 /* RSSI Threshold */
5289 wpt_uint8 rssiThreshold;
5290 /* Request status callback offered by UMAC - it is called if the current req
5291 has returned PENDING as status; it delivers the status of sending the message
5292 over the BUS */
5293 WDI_ReqStatusCb wdiReqStatusCB;
5294 /* The user data passed in by UMAC, it will be sent back when the above
5295 function pointer will be called */
5296 void* pUserData;
5297} WDI_SetRssiFilterReqParamsType;
5298
5299/*---------------------------------------------------------------------------
5300 WDI_UpdateScanParamsInfo
5301---------------------------------------------------------------------------*/
5302typedef struct
5303{
5304 /*Is 11d enabled*/
5305 wpt_uint8 b11dEnabled;
5306
5307 /*Was UMAc able to find the regulatory domain*/
5308 wpt_uint8 b11dResolved;
5309
5310 /*Number of channel allowed in the regulatory domain*/
5311 wpt_uint8 ucChannelCount;
5312
5313 /*The actual channels allowed in the regulatory domain*/
5314 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
5315
5316 /*Passive min channel time*/
5317 wpt_uint16 usPassiveMinChTime;
5318
5319 /*Passive max channel time*/
5320 wpt_uint16 usPassiveMaxChTime;
5321
5322 /*Active min channel time*/
5323 wpt_uint16 usActiveMinChTime;
5324
5325 /*Active max channel time*/
5326 wpt_uint16 usActiveMaxChTime;
5327
5328 /*channel bonding info*/
5329 wpt_uint8 cbState;
5330} WDI_UpdateScanParamsInfo;
5331
5332/*---------------------------------------------------------------------------
5333 WDI_UpdateScanParamsInfoType
5334 UpdateScanParams info passed to WDI form WDA
5335---------------------------------------------------------------------------*/
5336typedef struct
5337{
5338 /* PNO Info Type, same as tUpdateScanParams */
5339 WDI_UpdateScanParamsInfo wdiUpdateScanParamsInfo;
5340 /* Request status callback offered by UMAC - it is called if the current req
5341 has returned PENDING as status; it delivers the status of sending the message
5342 over the BUS */
5343 WDI_ReqStatusCb wdiReqStatusCB;
5344 /* The user data passed in by UMAC, it will be sent back when the above
5345 function pointer will be called */
5346 void* pUserData;
5347} WDI_UpdateScanParamsInfoType;
5348#endif //FEATURE_WLAN_SCAN_PNO
5349
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005350#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
5351
Varun Reddy Yeturu52231ea2014-02-06 12:00:56 -08005352#define WDI_ROAM_SCAN_MAX_CHANNELS 80
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005353#define WDI_ROAM_SCAN_MAX_PROBE_SIZE 450
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005354
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005355typedef struct
5356{
5357 /*The SSID of the preferred network*/
5358 WDI_MacSSid ssId;
5359 wpt_uint8 currAPbssid[WDI_MAC_ADDR_LEN];
5360
5361 /*The authentication method of the preferred network*/
5362 WDI_AuthType authentication;
5363
5364 /*The encryption method of the preferred network*/
5365 WDI_EdType encryption;
5366 WDI_EdType mcencryption;
5367
5368 /*SSID broadcast type, normal, hidden or unknown*/
5369 //WDI_SSIDBcastType wdiBcastNetworkType;
5370
5371 /*channel count - 0 for all channels*/
5372 wpt_uint8 ChannelCount;
5373
5374 /*the actual channels*/
5375 wpt_uint8 ChannelCache[WDI_ROAM_SCAN_MAX_CHANNELS];
5376
5377} WDI_RoamNetworkType;
5378
5379typedef struct WDIMobilityDomainInfo
5380{
5381 wpt_uint8 mdiePresent;
5382 wpt_uint16 mobilityDomain;
5383} WDI_MobilityDomainInfo;
5384
5385/*---------------------------------------------------------------------------
5386 WDI_RoamOffloadScanInfo
5387---------------------------------------------------------------------------*/
5388typedef struct
5389{
5390 wpt_boolean RoamScanOffloadEnabled;
Sameer Thalappil4ae66ec2013-11-05 14:17:35 -08005391 wpt_boolean MAWCEnabled;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005392 wpt_uint8 LookupThreshold;
Varun Reddy Yeturu6c5e25c2014-01-09 21:55:37 -08005393 wpt_uint8 RxSensitivityThreshold;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005394 wpt_uint8 RoamRssiDiff;
5395 wpt_uint8 ChannelCacheType;
5396 wpt_uint8 Command;
5397 wpt_uint8 StartScanReason;
5398 wpt_uint16 NeighborScanTimerPeriod;
5399 wpt_uint16 NeighborRoamScanRefreshPeriod;
5400 wpt_uint16 NeighborScanChannelMinTime;
5401 wpt_uint16 NeighborScanChannelMaxTime;
5402 wpt_uint16 EmptyRefreshScanPeriod;
5403 wpt_uint8 ValidChannelCount;
5404 wpt_uint8 ValidChannelList[WDI_ROAM_SCAN_MAX_CHANNELS];
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08005405 wpt_boolean IsESEEnabled;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005406 /*Probe template for 2.4GHz band*/
5407 wpt_uint16 us24GProbeSize;
5408 wpt_uint8 a24GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
5409
5410 /*Probe template for 5GHz band*/
5411 wpt_uint16 us5GProbeSize;
5412 wpt_uint8 a5GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005413 /*LFR BG Scan will currently look for only one network to which it is initially connected.
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005414 * As per requirement, later, the following structure can be used as an array of networks.*/
5415 WDI_RoamNetworkType ConnectedNetwork;
5416 WDI_MobilityDomainInfo MDID;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005417 wpt_uint8 nProbes;
5418 wpt_uint16 HomeAwayTime;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005419} WDI_RoamOffloadScanInfo;
5420
5421typedef struct
5422{
5423 /* Start Roam Candidate Lookup Offload Back Ground Info Type */
5424 WDI_RoamOffloadScanInfo wdiRoamOffloadScanInfo;
5425 /* Request status callback offered by UMAC - it is called if the current req
5426 has returned PENDING as status; it delivers the status of sending the message
5427 over the BUS */
5428 WDI_ReqStatusCb wdiReqStatusCB;
5429 /* The user data passed in by UMAC, it will be sent back when the above
5430 function pointer will be called */
5431 void* pUserData;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005432} WDI_RoamScanOffloadReqParamsType;
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005433#endif //WLAN_FEATURE_ROAM_SCAN_OFFLOAD
Jeff Johnson295189b2012-06-20 16:38:30 -07005434
5435/*---------------------------------------------------------------------------
Sandeep Puligilla8b8b74b2014-02-10 16:39:05 +05305436 WDI_HT40ObssScanIndType
5437---------------------------------------------------------------------------*/
5438typedef struct
5439{
5440 wpt_uint8 cmdType;
5441 wpt_uint8 scanType;
5442 wpt_uint16 OBSSScanPassiveDwellTime; // In TUs
5443 wpt_uint16 OBSSScanActiveDwellTime; // In TUs
5444 wpt_uint16 BSSChannelWidthTriggerScanInterval; // In seconds
5445 wpt_uint16 OBSSScanPassiveTotalPerChannel; // In TUs
5446 wpt_uint16 OBSSScanActiveTotalPerChannel; // In TUs
5447 wpt_uint16 BSSWidthChannelTransitionDelayFactor;
5448 wpt_uint16 OBSSScanActivityThreshold;
5449 wpt_uint8 selfStaIdx;
5450 wpt_uint8 bssIdx;
5451 wpt_uint8 fortyMHZIntolerent;
5452 wpt_uint8 channelCount;
5453 wpt_uint8 channels[WDI_ROAM_SCAN_MAX_CHANNELS];
5454 wpt_uint8 currentOperatingClass;
5455 wpt_uint16 ieFieldLen;
5456 wpt_uint8 ieField[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
5457} WDI_HT40ObssScanIndType;
5458
5459
5460/*---------------------------------------------------------------------------
5461 WDI_OBSSScanIndParamsType
5462---------------------------------------------------------------------------*/
5463typedef struct
5464{
5465 WDI_HT40ObssScanIndType wdiHT40ObssScanParam;
5466
5467 /*Request status callback offered by UMAC - it is called if the current
5468 req has returned PENDING as status; it delivers the status of sending
5469 the message over the BUS */
5470 WDI_ReqStatusCb wdiReqStatusCB;
5471
5472 /*The user data passed in by UMAC, it will be sent back when the above
5473 function pointer will be called */
5474 void* pUserData;
5475
5476}WDI_HT40ObssScanParamsType;
5477
5478/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07005479 WDI_UpdateScanParamsInfo
5480---------------------------------------------------------------------------*/
5481typedef struct
5482{
5483 /* Ignore DTIM */
5484 wpt_uint32 uIgnoreDTIM;
5485
5486 /*DTIM Period*/
5487 wpt_uint32 uDTIMPeriod;
5488
5489 /* Listen Interval */
5490 wpt_uint32 uListenInterval;
5491
5492 /* Broadcast Multicas Filter */
5493 wpt_uint32 uBcastMcastFilter;
5494
5495 /* Beacon Early Termination */
5496 wpt_uint32 uEnableBET;
5497
5498 /* Beacon Early Termination Interval */
5499 wpt_uint32 uBETInterval;
5500
Yue Mac24062f2013-05-13 17:01:29 -07005501 /* MAX LI for modulated DTIM */
5502 wpt_uint32 uMaxLIModulatedDTIM;
5503
Jeff Johnson295189b2012-06-20 16:38:30 -07005504} WDI_SetPowerParamsInfo;
5505
5506/*---------------------------------------------------------------------------
5507 WDI_UpdateScanParamsInfoType
5508 UpdateScanParams info passed to WDI form WDA
5509---------------------------------------------------------------------------*/
5510typedef struct
5511{
5512 /* Power params Info Type, same as tSetPowerParamsReq */
5513 WDI_SetPowerParamsInfo wdiSetPowerParamsInfo;
5514 /* Request status callback offered by UMAC - it is called if the current req
5515 has returned PENDING as status; it delivers the status of sending the message
5516 over the BUS */
5517 WDI_ReqStatusCb wdiReqStatusCB;
5518 /* The user data passed in by UMAC, it will be sent back when the above
5519 function pointer will be called */
5520 void* pUserData;
5521}WDI_SetPowerParamsReqParamsType;
5522
5523/*---------------------------------------------------------------------------
5524 WDI_SetTxPerTrackingConfType
5525 Wowl add ptrn info passed to WDA form UMAC
5526---------------------------------------------------------------------------*/
5527typedef struct
5528{
5529 wpt_uint8 ucTxPerTrackingEnable; /* 0: disable, 1:enable */
5530 wpt_uint8 ucTxPerTrackingPeriod; /* Check period, unit is sec. */
5531 wpt_uint8 ucTxPerTrackingRatio; /* (Fail TX packet)/(Total TX packet) ratio, the unit is 10%. */
5532 wpt_uint32 uTxPerTrackingWatermark; /* A watermark of check number, once the tx packet exceed this number, we do the check, default is 5 */
5533} WDI_TxPerTrackingParamType;
5534
5535/*---------------------------------------------------------------------------
5536 WDI_SetTxPerTrackingReqParamsType
5537 Tx PER Tracking parameters passed to WDI from WDA
5538---------------------------------------------------------------------------*/
5539typedef struct
5540{
5541 /* Configurations for Tx PER Tracking */
5542 WDI_TxPerTrackingParamType wdiTxPerTrackingParam;
5543 /*Request status callback offered by UMAC - it is called if the current req
5544 has returned PENDING as status; it delivers the status of sending the message
5545 over the BUS */
5546 WDI_ReqStatusCb wdiReqStatusCB;
5547 /*The user data passed in by UMAC, it will be sent back when the above
5548 function pointer will be called */
5549 void* pUserData;
5550}WDI_SetTxPerTrackingReqParamsType;
5551
5552#ifdef WLAN_FEATURE_PACKET_FILTERING
5553/*---------------------------------------------------------------------------
5554 Packet Filtering Parameters
5555---------------------------------------------------------------------------*/
5556
5557#define WDI_IPV4_ADDR_LEN 4
5558#define WDI_MAC_ADDR_LEN 6
5559#define WDI_MAX_FILTER_TEST_DATA_LEN 8
5560#define WDI_MAX_NUM_MULTICAST_ADDRESS 240
5561#define WDI_MAX_NUM_FILTERS 20
5562#define WDI_MAX_NUM_TESTS_PER_FILTER 10
5563
5564//
5565// Receive Filter Parameters
5566//
5567typedef enum
5568{
5569 WDI_RCV_FILTER_TYPE_INVALID,
5570 WDI_RCV_FILTER_TYPE_FILTER_PKT,
5571 WDI_RCV_FILTER_TYPE_BUFFER_PKT,
5572 WDI_RCV_FILTER_TYPE_MAX_ENUM_SIZE
5573}WDI_ReceivePacketFilterType;
5574
5575typedef enum
5576{
5577 WDI_FILTER_HDR_TYPE_INVALID,
5578 WDI_FILTER_HDR_TYPE_MAC,
5579 WDI_FILTER_HDR_TYPE_ARP,
5580 WDI_FILTER_HDR_TYPE_IPV4,
5581 WDI_FILTER_HDR_TYPE_IPV6,
5582 WDI_FILTER_HDR_TYPE_UDP,
5583 WDI_FILTER_HDR_TYPE_MAX
5584}WDI_RcvPktFltProtocolType;
5585
5586typedef enum
5587{
5588 WDI_FILTER_CMP_TYPE_INVALID,
5589 WDI_FILTER_CMP_TYPE_EQUAL,
5590 WDI_FILTER_CMP_TYPE_MASK_EQUAL,
5591 WDI_FILTER_CMP_TYPE_NOT_EQUAL,
5592 WDI_FILTER_CMP_TYPE_MASK_NOT_EQUAL,
5593 WDI_FILTER_CMP_TYPE_MAX
5594}WDI_RcvPktFltCmpFlagType;
5595
5596typedef struct
5597{
5598 WDI_RcvPktFltProtocolType protocolLayer;
5599 WDI_RcvPktFltCmpFlagType cmpFlag;
5600/* Length of the data to compare */
5601 wpt_uint16 dataLength;
5602/* from start of the respective frame header */
5603 wpt_uint8 dataOffset;
5604 wpt_uint8 reserved; /* Reserved field */
5605/* Data to compare */
5606 wpt_uint8 compareData[WDI_MAX_FILTER_TEST_DATA_LEN];
5607/* Mask to be applied on the received packet data before compare */
5608 wpt_uint8 dataMask[WDI_MAX_FILTER_TEST_DATA_LEN];
5609}WDI_RcvPktFilterFieldParams;
5610
5611typedef struct
5612{
5613 wpt_uint8 filterId;
5614 wpt_uint8 filterType;
5615 wpt_uint32 numFieldParams;
5616 wpt_uint32 coalesceTime;
Jeff Johnsone7245742012-09-05 17:12:55 -07005617 wpt_macAddr selfMacAddr;
5618 wpt_macAddr bssId;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005619 WDI_RcvPktFilterFieldParams paramsData[1];
5620
Jeff Johnson295189b2012-06-20 16:38:30 -07005621}WDI_RcvPktFilterCfgType;
5622
5623typedef struct
5624{
5625 /*Request status callback offered by UMAC - it is called if the current
5626 req has returned PENDING as status; it delivers the status of sending
5627 the message over the BUS */
5628 WDI_ReqStatusCb wdiReqStatusCB;
5629
5630 /*The user data passed in by UMAC, it will be sent back when the above
5631 function pointer will be called */
5632 void* pUserData;
5633
5634 // Variable length packet filter field params
5635 WDI_RcvPktFilterCfgType wdiPktFilterCfg;
5636} WDI_SetRcvPktFilterReqParamsType;
5637
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005638typedef struct
5639{
5640 /*Result of the operation*/
5641 WDI_Status wdiStatus;
5642 /* BSSIDX of the Set Receive Filter
5643 */
5644 wpt_uint8 bssIdx;
5645} WDI_SetRcvPktFilterRspParamsType;
5646
Jeff Johnson295189b2012-06-20 16:38:30 -07005647//
5648// Filter Packet Match Count Parameters
5649//
5650typedef struct
5651{
5652 /*Request status callback offered by UMAC - it is called if the current
5653 req has returned PENDING as status; it delivers the status of sending
5654 the message over the BUS */
5655 WDI_ReqStatusCb wdiReqStatusCB;
5656
5657 /*The user data passed in by UMAC, it will be sent back when the above
5658 function pointer will be called */
5659 void* pUserData;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005660
5661 /* BSSID of the Match count
5662 */
5663 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005664} WDI_RcvFltPktMatchCntReqParamsType;
5665
5666typedef struct
5667{
5668 wpt_uint8 filterId;
5669 wpt_uint32 matchCnt;
5670} WDI_RcvFltPktMatchCnt;
5671
5672typedef struct
5673{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005674 /*Result of the operation*/
5675 WDI_Status wdiStatus;
Jeff Johnson295189b2012-06-20 16:38:30 -07005676
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005677 /* BSSIDX of the Match count response
5678 */
5679 wpt_uint8 bssIdx;
5680
Jeff Johnson295189b2012-06-20 16:38:30 -07005681} WDI_RcvFltPktMatchCntRspParamsType;
5682
Jeff Johnson295189b2012-06-20 16:38:30 -07005683//
5684// Receive Filter Clear Parameters
5685//
5686typedef struct
5687{
5688 wpt_uint32 status; /* only valid for response message */
5689 wpt_uint8 filterId;
Jeff Johnsone7245742012-09-05 17:12:55 -07005690 wpt_macAddr selfMacAddr;
5691 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005692}WDI_RcvFltPktClearParam;
5693
5694typedef struct
5695{
5696 WDI_RcvFltPktClearParam filterClearParam;
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_RcvFltPktClearReqParamsType;
5706
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005707typedef struct
5708{
5709 /*Result of the operation*/
5710 WDI_Status wdiStatus;
5711 /* BSSIDX of the Match count response
5712 */
5713 wpt_uint8 bssIdx;
5714
5715} WDI_RcvFltPktClearRspParamsType;
5716
Jeff Johnson295189b2012-06-20 16:38:30 -07005717//
5718// Multicast Address List Parameters
5719//
5720typedef struct
5721{
5722 wpt_uint32 ulMulticastAddrCnt;
5723 wpt_macAddr multicastAddr[WDI_MAX_NUM_MULTICAST_ADDRESS];
Jeff Johnsone7245742012-09-05 17:12:55 -07005724 wpt_macAddr selfMacAddr;
5725 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005726} WDI_RcvFltMcAddrListType;
5727
5728typedef struct
5729{
5730 WDI_RcvFltMcAddrListType mcAddrList;
5731 /*Request status callback offered by UMAC - it is called if the current
5732 req has returned PENDING as status; it delivers the status of sending
5733 the message over the BUS */
5734 WDI_ReqStatusCb wdiReqStatusCB;
5735
5736 /*The user data passed in by UMAC, it will be sent back when the above
5737 function pointer will be called */
5738 void* pUserData;
5739} WDI_RcvFltPktSetMcListReqParamsType;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005740
5741typedef struct
5742{
5743 /*Result of the operation*/
5744 WDI_Status wdiStatus;
5745 /* BSSIDX of the Match count response
5746 */
5747 wpt_uint8 bssIdx;
5748} WDI_RcvFltPktSetMcListRspParamsType;
5749
Jeff Johnson295189b2012-06-20 16:38:30 -07005750#endif // WLAN_FEATURE_PACKET_FILTERING
5751
5752/*---------------------------------------------------------------------------
5753 WDI_HALDumpCmdReqInfoType
5754---------------------------------------------------------------------------*/
5755typedef struct
5756{
5757 /*command*/
5758 wpt_uint32 command;
5759
5760 /*Arguments*/
5761 wpt_uint32 argument1;
5762 wpt_uint32 argument2;
5763 wpt_uint32 argument3;
5764 wpt_uint32 argument4;
5765
5766}WDI_HALDumpCmdReqInfoType;
5767
5768/*---------------------------------------------------------------------------
5769 WDI_HALDumpCmdReqParamsType
5770---------------------------------------------------------------------------*/
5771typedef struct
5772{
5773 /*NV Blob Info*/
5774 WDI_HALDumpCmdReqInfoType wdiHALDumpCmdInfoType;
5775
5776 /*Request status callback offered by UMAC - it is called if the current
5777 req has returned PENDING as status; it delivers the status of sending
5778 the message over the BUS */
5779 WDI_ReqStatusCb wdiReqStatusCB;
5780
5781 /*The user data passed in by UMAC, it will be sent back when the above
5782 function pointer will be called */
5783 void* pUserData;
5784
5785}WDI_HALDumpCmdReqParamsType;
5786
5787
5788/*---------------------------------------------------------------------------
5789 WDI_HALDumpCmdRspParamsType
5790---------------------------------------------------------------------------*/
5791typedef struct
5792{
5793 /*Result of the operation*/
5794 WDI_Status wdiStatus;
5795
5796 /* length of the buffer */
5797 wpt_uint16 usBufferLen;
5798
5799 /* Buffer */
5800 wpt_uint8 *pBuffer;
5801}WDI_HALDumpCmdRspParamsType;
5802
5803
5804/*---------------------------------------------------------------------------
5805 WDI_SetTmLevelReqType
5806---------------------------------------------------------------------------*/
5807typedef struct
5808{
5809 wpt_uint16 tmMode;
5810 wpt_uint16 tmLevel;
5811 void* pUserData;
5812}WDI_SetTmLevelReqType;
5813
5814/*---------------------------------------------------------------------------
5815 WDI_SetTmLevelRspType
5816---------------------------------------------------------------------------*/
5817typedef struct
5818{
5819 WDI_Status wdiStatus;
5820 void* pUserData;
5821}WDI_SetTmLevelRspType;
5822
Leo Chang9056f462013-08-01 19:21:11 -07005823#ifdef FEATURE_WLAN_LPHB
5824/*---------------------------------------------------------------------------
5825 WDI_LPHBConfigParamsType
5826---------------------------------------------------------------------------*/
5827typedef struct
5828{
5829 void* pLphsConfIndData;
5830}WDI_LPHBConfigParamsType;
5831#endif /* FEATURE_WLAN_LPHB */
5832
Yue Mab9c86f42013-08-14 15:59:08 -07005833/*---------------------------------------------------------------------------
5834 WDI_AddPeriodicTxPtrnInfoType
5835---------------------------------------------------------------------------*/
5836typedef struct
5837{
5838 /* MAC Address for the adapter */
5839 wpt_macAddr macAddr;
5840
5841 wpt_uint8 ucPtrnId; // Pattern ID
5842 wpt_uint16 ucPtrnSize; // Pattern size
5843 wpt_uint32 usPtrnIntervalMs; // In msec
5844 wpt_uint8 ucPattern[PERIODIC_TX_PTRN_MAX_SIZE]; // Pattern buffer
5845} WDI_AddPeriodicTxPtrnInfoType;
5846
5847/*---------------------------------------------------------------------------
5848 WDI_DelPeriodicTxPtrnInfoType
5849---------------------------------------------------------------------------*/
5850typedef struct
5851{
5852 /* MAC Address for the adapter */
5853 wpt_macAddr macAddr;
5854
5855 /* Bitmap of pattern IDs that needs to be deleted */
5856 wpt_uint32 ucPatternIdBitmap;
5857} WDI_DelPeriodicTxPtrnInfoType;
5858
5859/*---------------------------------------------------------------------------
5860 WDI_AddPeriodicTxPtrnParamsType
5861---------------------------------------------------------------------------*/
5862typedef struct
5863{
5864 WDI_AddPeriodicTxPtrnInfoType wdiAddPeriodicTxPtrnParams;
5865
5866 /*Request status callback offered by UMAC - it is called if the current
5867 req has returned PENDING as status; it delivers the status of sending
5868 the message over the BUS */
5869 WDI_ReqStatusCb wdiReqStatusCB;
5870
5871 /*The user data passed in by UMAC, it will be sent back when the above
5872 function pointer will be called */
5873 void* pUserData;
5874} WDI_AddPeriodicTxPtrnParamsType;
5875
5876/*---------------------------------------------------------------------------
Srinivas Dasari32a79262015-02-19 13:04:49 +05305877 WDI_NanRequestType
5878---------------------------------------------------------------------------*/
5879typedef struct
5880{
5881 wpt_uint16 request_data_len;
5882 wpt_uint8 request_data[1];
5883} WDI_NanRequestType;
5884
5885
5886/*---------------------------------------------------------------------------
Yue Mab9c86f42013-08-14 15:59:08 -07005887 WDI_DelPeriodicTxPtrnParamsType
5888---------------------------------------------------------------------------*/
5889typedef struct
5890{
5891 WDI_DelPeriodicTxPtrnInfoType wdiDelPeriodicTxPtrnParams;
5892
5893 /*Request status callback offered by UMAC - it is called if the current
5894 req has returned PENDING as status; it delivers the status of sending
5895 the message over the BUS */
5896 WDI_ReqStatusCb wdiReqStatusCB;
5897
5898 /*The user data passed in by UMAC, it will be sent back when the above
5899 function pointer will be called */
5900 void* pUserData;
5901} WDI_DelPeriodicTxPtrnParamsType;
5902
Dino Mycle41bdc942014-06-10 11:30:24 +05305903#ifdef WLAN_FEATURE_EXTSCAN
5904
5905#define WDI_WLAN_EXTSCAN_MAX_CHANNELS 16
5906#define WDI_WLAN_EXTSCAN_MAX_BUCKETS 16
5907#define WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS 128
Padma, Santhosh Kumar9acee012015-08-21 19:58:01 +05305908#define WDI_WLAN_EXTSCAN_MAX_HOTLIST_SSID 8
Dino Mycle41bdc942014-06-10 11:30:24 +05305909
5910typedef enum
5911{
5912 WDI_WIFI_BAND_UNSPECIFIED,
5913 WDI_WIFI_BAND_BG = 1, // 2.4 GHz
5914 WDI_WIFI_BAND_A = 2, // 5 GHz without DFS
5915 WDI_WIFI_BAND_ABG = 3, // 2.4 GHz + 5 GHz; no DFS
5916 WDI_WIFI_BAND_A_DFS = 4, // 5 GHz DFS only
5917 WDI_WIFI_BAND_A_WITH_DFS = 6, // 5 GHz with DFS
5918 WDI_WIFI_BAND_ABG_WITH_DFS = 7, // 2.4 GHz + 5 GHz with DFS
5919
5920 /* Keep it last */
5921 WDI_WIFI_BAND_MAX
5922} WDI_WifiBand;
5923
5924typedef struct
5925{
5926 wpt_uint32 channel; // frequency
5927 wpt_uint32 dwellTimeMs; // dwell time hint
5928 wpt_uint8 passive; // 0 => active,
5929 // 1 => passive scan; ignored for DFS
5930 wpt_uint8 chnlClass;
5931} WDI_WifiScanChannelSpec;
5932
5933typedef struct
5934{
5935 wpt_uint8 bucket; // bucket index, 0 based
5936 WDI_WifiBand band; // when UNSPECIFIED, use channel list
5937
5938 /*
5939 * desired period, in millisecond; if this is too
5940 * low, the firmware should choose to generate results as fast as
5941 * it can instead of failing the command byte
5942 */
5943 wpt_uint32 period;
5944
5945 /*
5946 * 0 => normal reporting (reporting rssi history
5947 * only, when rssi history buffer is % full)
5948 * 1 => same as 0 + report a scan completion event after scanning
5949 * this bucket
5950 * 2 => same as 1 + forward scan results (beacons/probe responses + IEs)
5951 * in real time to HAL
5952 */
5953 wpt_uint8 reportEvents;
5954
Padma, Santhosh Kumar7b9190d2015-08-17 17:45:29 +05305955 wpt_uint32 max_period;
5956 wpt_uint32 exponent;
5957 wpt_uint32 step_count;
5958
Dino Mycle41bdc942014-06-10 11:30:24 +05305959 wpt_uint8 numChannels;
5960
5961 /*
5962 * channels to scan; these may include DFS channels
5963 */
5964 WDI_WifiScanChannelSpec channels[WDI_WLAN_EXTSCAN_MAX_CHANNELS];
5965} WDI_WifiScanBucketSpec;
5966
5967typedef struct
5968{
5969 wpt_uint32 requestId;
5970 wpt_uint8 sessionId;
5971 wpt_uint32 basePeriod; // base timer period
5972 wpt_uint32 maxAPperScan;
5973
5974 /* in %, when buffer is this much full, wake up host */
Padma, Santhosh Kumar7b9190d2015-08-17 17:45:29 +05305975 wpt_uint32 reportThresholdPercent;
5976 wpt_uint32 reportThresholdNumScans;
Dino Mycle41bdc942014-06-10 11:30:24 +05305977
Padma, Santhosh Kumar7b9190d2015-08-17 17:45:29 +05305978 wpt_uint32 homeAwayTime; //in units of milliseconds
Dino Mycle41bdc942014-06-10 11:30:24 +05305979 wpt_uint8 numBuckets;
5980 WDI_WifiScanBucketSpec buckets[WDI_WLAN_EXTSCAN_MAX_BUCKETS];
5981} WDI_EXTScanStartReqParams;
5982
5983typedef struct
5984{
5985 wpt_uint32 requestId;
5986 wpt_uint8 sessionId;
5987} WDI_EXTScanStopReqParams;
5988
5989typedef struct
5990{
5991 wpt_uint32 requestId;
5992 wpt_uint8 sessionId;
5993
5994 /*
5995 * 1 return cached results and flush it
5996 * 0 return cached results and do not flush
5997 */
5998 wpt_boolean flush;
5999} WDI_EXTScanGetCachedResultsReqParams;
6000
6001typedef struct
6002{
6003 wpt_uint32 requestId;
6004 wpt_uint8 sessionId;
6005} WDI_EXTScanGetCapabilitiesReqParams;
6006
6007typedef struct
6008{
6009 wpt_uint8 bssid[6]; /* BSSID */
6010 wpt_int32 low; // low threshold
6011 wpt_int32 high; // high threshold
Dino Mycle41bdc942014-06-10 11:30:24 +05306012} WDI_APThresholdParam;
6013
6014typedef struct
6015{
Padma, Santhosh Kumar9acee012015-08-21 19:58:01 +05306016 WDI_MacSSid ssid; /* SSID */
6017 wpt_uint8 band; /* band */
6018 wpt_int32 lowRssiThreshold; /* low threshold */
6019 wpt_int32 highRssiThreshold; /* high threshold */
6020} WDI_SSIDThresholdParam;
6021
6022typedef struct
6023{
Dino Mycle41bdc942014-06-10 11:30:24 +05306024 wpt_int32 requestId;
6025 wpt_int8 sessionId; // session Id mapped to vdev_id
Padma, Santhosh Kumar37f4fd12015-08-19 14:37:37 +05306026 wpt_uint32 lostBssidSampleSize;
6027 wpt_int32 numBssid; // number of hotlist APs
Dino Mycle41bdc942014-06-10 11:30:24 +05306028 WDI_APThresholdParam ap[WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS]; // hotlist APs
6029} WDI_EXTScanSetBSSIDHotlistReqParams;
6030
6031typedef struct
6032{
6033 wpt_uint32 requestId;
6034 wpt_uint8 sessionId;
6035} WDI_EXTScanResetBSSIDHotlistReqParams;
6036
Padma, Santhosh Kumar9acee012015-08-21 19:58:01 +05306037typedef struct
6038{
Padma, Santhosh Kumarc1f7f052015-08-26 12:29:01 +05306039 wpt_boolean pause;
6040 wpt_uint32 reserved;
6041} WDI_HighPriorityDataInfoIndParams;
6042
6043typedef struct
6044{
6045 wpt_int32 requestId;
6046 wpt_int8 sessionId; // session Id mapped to vdev_id
Padma, Santhosh Kumar9acee012015-08-21 19:58:01 +05306047 wpt_uint32 lostSsidSampleSize;
6048 wpt_uint32 numSsid; // number of hotlist APs
6049 WDI_SSIDThresholdParam ssid[WDI_WLAN_EXTSCAN_MAX_HOTLIST_SSID]; // hotlist SSIDs
6050} WDI_EXTScanSetSSIDHotlistReqParams;
6051
6052typedef struct
6053{
6054 wpt_uint32 requestId;
6055 wpt_uint8 sessionId;
6056} WDI_EXTScanResetSSIDHotlistReqParams;
6057
Dino Mycle41bdc942014-06-10 11:30:24 +05306058#endif /* WLAN_FEATURE_EXTSCAN */
6059
Sunil Duttbd736ed2014-05-26 21:19:41 +05306060#ifdef WLAN_FEATURE_LINK_LAYER_STATS
6061typedef struct
6062{
6063 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05306064 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05306065 wpt_uint32 mpduSizeThreshold;
6066 wpt_uint32 aggressiveStatisticsGathering;
6067}WDI_LLStatsSetReqType;
6068
6069typedef struct
6070{
6071 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05306072 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05306073 wpt_uint32 paramIdMask;
6074}WDI_LLStatsGetReqType;
6075
6076typedef struct
6077{
6078 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05306079 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05306080 wpt_uint32 statsClearReqMask;
6081 wpt_uint8 stopReq;
6082}WDI_LLStatsClearReqType;
Dino Mycled3d50022014-07-07 12:58:25 +05306083
Sunil Duttbd736ed2014-05-26 21:19:41 +05306084#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
6085
Siddharth Bhal171788a2014-09-29 21:02:40 +05306086/*---------------------------------------------------------------------------
6087 WDI_SPOOF_MAC_ADDR_REQ
6088---------------------------------------------------------------------------*/
6089typedef struct
6090{
6091 /* Spoof MAC Address for FW */
6092 wpt_macAddr macAddr;
6093
6094 /* Reserved Params/fields */
6095 wpt_uint32 params;
6096 wpt_uint32 reserved;
6097} WDI_SpoofMacAddrInfoType;
Sunil Duttbd736ed2014-05-26 21:19:41 +05306098
Srinivas Dasari4dae48f2014-11-26 21:14:16 +05306099//This is to force compiler to use the maximum of an int for enum
6100#define SIR_MAX_ENUM_SIZE 0x7FFFFFFF
6101// Enum to specify whether key is used
6102// for TX only, RX only or both
6103typedef enum
6104{
6105 eWDI_TX_ONLY,
6106 eWDI_RX_ONLY,
6107 eWDI_TX_RX,
6108 eWDI_TX_DEFAULT,
6109 eWDI_DONOT_USE_KEY_DIRECTION = SIR_MAX_ENUM_SIZE
6110} tWDIKeyDirection;
6111
6112// MAX key length when ULA is used
6113#define SIR_MAC_MAX_KEY_LENGTH 32
6114/* Max key size including the WAPI and TKIP */
6115#define WLAN_MAX_KEY_RSC_LEN 16
6116// Definition for Encryption Keys
6117//typedef struct sSirKeys
6118typedef struct
6119{
6120 wpt_uint8 keyId;
6121 wpt_uint8 unicast; // 0 for multicast
6122 tWDIKeyDirection keyDirection;
6123 wpt_uint8 keyRsc[WLAN_MAX_KEY_RSC_LEN]; // Usage is unknown
6124 wpt_uint8 paeRole; // =1 for authenticator,
6125 // =0 for supplicant
6126 wpt_uint16 keyLength;
6127 wpt_uint8 key[SIR_MAC_MAX_KEY_LENGTH];
6128} tWDIKeys, *tpWDIKeys;
6129
6130typedef enum
6131{
6132 eWDI_WEP_STATIC,
6133 eWDI_WEP_DYNAMIC,
6134} tWDIWepType;
6135
6136// Encryption type enum used with peer
6137typedef enum
6138{
6139 eWDI_ED_NONE,
6140 eWDI_ED_WEP40,
6141 eWDI_ED_WEP104,
6142 eWDI_ED_TKIP,
6143 eWDI_ED_CCMP,
6144#if defined(FEATURE_WLAN_WAPI)
6145 eWDI_ED_WPI,
6146#endif
6147 /* DPU HW treats encryption mode 4 plus RMF bit set in TX BD as BIP.
6148 * Thus while setting BIP encryption mode in corresponding DPU Desc
6149 * eSIR_ED_AES_128_CMAC should be set to eSIR_ED_CCMP
6150 */
6151 eWDI_ED_AES_128_CMAC,
6152 eWDI_ED_NOT_IMPLEMENTED = SIR_MAX_ENUM_SIZE
6153} tWDIEdType;
6154#define SIR_WDI_MAX_NUM_OF_DEFAULT_KEYS 4
6155/*
6156 * This is used by PE to configure the key information on a given station.
6157 * When the secType is WEP40 or WEP104, the defWEPIdx is used to locate
6158 * a preconfigured key from a BSS the station assoicated with; otherwise
6159 * a new key descriptor is created based on the key field.
6160 */
6161typedef struct
6162{
6163 wpt_uint16 staIdx;
6164 tWDIEdType encType; // Encryption/Decryption type
6165 tWDIWepType wepType; // valid only for WEP
6166 wpt_uint8 defWEPIdx; // Default WEP key, valid only for static WEP, must between 0 and 3
6167 tWDIKeys key[SIR_WDI_MAX_NUM_OF_DEFAULT_KEYS]; // valid only for non-static WEP encyrptions
6168 wpt_uint8 singleTidRc; // 1=Single TID based Replay Count, 0=Per TID based RC
6169 wpt_uint8 sessionId; // PE session id for PE<->HAL interface
6170} tWDISetStaKeyParams, *tpWDISetStaKeyParams;
6171
6172typedef struct
6173{
6174 tWDISetStaKeyParams keyParams;
6175 wpt_uint8 pn[6];
6176}wpt_encConfigParams;
6177
6178typedef struct
6179{
6180 wpt_uint16 length;
6181 wpt_uint8 data[WDI_DISA_MAX_PAYLOAD_SIZE];
6182}wpt_payload;
6183
6184typedef struct
6185{
6186 wpt_80211Header macHeader;
6187 wpt_encConfigParams encParams;
6188 wpt_payload data;
6189}wpt_pkt80211;
6190
Katya Nigamf0511f62015-05-05 16:40:57 +05306191#define NUM_FILTERS_SUPPORTED 1
6192typedef struct
6193{
6194 wpt_macAddr macAddr;
6195 wpt_uint8 isA1filter;
6196 wpt_uint8 isA2filter;
6197 wpt_uint8 isA3filter;
6198}WDI_filter;
6199
6200typedef struct
6201{
6202 /* start or stop */
6203 wpt_uint8 state;
6204 /*Conversion of packet required or not*/
6205 wpt_uint8 is80211to803ConReq;
6206 wpt_uint32 ChannelNo;
6207 wpt_uint32 ChannelBW;
6208 wpt_uint8 crcCheckEnabled;
6209 wpt_uint8 numOfMacFilters;
6210 WDI_filter mmFilters[NUM_FILTERS_SUPPORTED];
6211 wpt_uint64 typeSubtypeBitmap;
6212 wpt_uint64 rsvd;
6213
6214}WDI_MonStartReqType;
6215
Arun Khandavalli7eeb1592015-10-19 21:36:57 +05306216typedef struct
6217{
6218 wpt_uint8 paramType;
6219 wpt_uint32 paramValue;
6220 wpt_macAddr bssId;
6221}WDI_WifiConfigSetReqType;
6222
c_manjeecfd1efb2015-09-25 19:32:34 +05306223/**
6224 * struct WDI_FwrMemDumpReqType - firmware memory dump request details.
6225.*.@FWMemDumpReqCb - Associated Callback
6226 *.@fwMemDumpReqContext - Callback context
6227 * @reserved - reserved field 1.
6228 *
6229 * This structure carries information about the firmware
6230 * memory dump request.
6231 */
6232typedef struct
6233{
6234 wpt_uint32 reserved1;
6235}WDI_FwrMemDumpReqType;
6236
6237/**
6238 * struct WDI_FwrMemDumpRsp - firmware dump response details.
6239 *
6240 * This structure is used to store the firmware dump
6241 * response from the firmware.
6242 */
6243typedef struct
6244{
6245 wpt_uint32 dump_status;
6246}WDI_FwrMemDumpRsp;
6247
Arun Khandavalli7eeb1592015-10-19 21:36:57 +05306248typedef struct
6249{
6250 wpt_uint32 wificonfigset_status;
6251}WDI_WifconfigSetRsp;
c_manjeecfd1efb2015-09-25 19:32:34 +05306252
Jeff Johnson295189b2012-06-20 16:38:30 -07006253/*----------------------------------------------------------------------------
6254 * WDI callback types
6255 *--------------------------------------------------------------------------*/
6256
6257/*---------------------------------------------------------------------------
6258 WDI_StartRspCb
6259
6260 DESCRIPTION
6261
6262 This callback is invoked by DAL when it has received a Start response from
6263 the underlying device.
6264
6265 PARAMETERS
6266
6267 IN
6268 wdiRspParams: response parameters received from HAL
6269 pUserData: user data
6270
6271
6272 RETURN VALUE
6273 The result code associated with performing the operation
6274---------------------------------------------------------------------------*/
6275typedef void (*WDI_StartRspCb)(WDI_StartRspParamsType* pwdiRspParams,
6276 void* pUserData);
6277
6278/*---------------------------------------------------------------------------
6279 WDI_StartRspCb
6280
6281 DESCRIPTION
6282
6283 This callback is invoked by DAL when it has received a Stop response from
6284 the underlying device.
6285
6286 PARAMETERS
6287
6288 IN
6289 wdiStatus: response status received from HAL
6290 pUserData: user data
6291
6292
6293
6294 RETURN VALUE
6295 The result code associated with performing the operation
6296---------------------------------------------------------------------------*/
6297typedef void (*WDI_StopRspCb)(WDI_Status wdiStatus,
6298 void* pUserData);
6299
6300/*---------------------------------------------------------------------------
6301 WDI_StartRspCb
6302
6303 DESCRIPTION
6304
6305 This callback is invoked by DAL when it has received an Init Scan response
6306 from the underlying device.
6307
6308 PARAMETERS
6309
6310 IN
6311 wdiStatus: response status received from HAL
6312 pUserData: user data
6313
6314
6315
6316 RETURN VALUE
6317 The result code associated with performing the operation
6318---------------------------------------------------------------------------*/
6319typedef void (*WDI_InitScanRspCb)(WDI_Status wdiStatus,
6320 void* pUserData);
6321
6322
6323/*---------------------------------------------------------------------------
6324 WDI_StartRspCb
6325
6326 DESCRIPTION
6327
6328 This callback is invoked by DAL when it has received a StartScan response
6329 from the underlying device.
6330
6331 PARAMETERS
6332
6333 IN
6334 wdiParams: response params received from HAL
6335 pUserData: user data
6336
6337
6338
6339 RETURN VALUE
6340 The result code associated with performing the operation
6341---------------------------------------------------------------------------*/
6342typedef void (*WDI_StartScanRspCb)(WDI_StartScanRspParamsType* wdiParams,
6343 void* pUserData);
6344
6345
6346/*---------------------------------------------------------------------------
6347 WDI_StartRspCb
6348
6349 DESCRIPTION
6350
6351 This callback is invoked by DAL when it has received a End Scan response
6352 from the underlying device.
6353
6354 PARAMETERS
6355
6356 IN
6357 wdiStatus: response status received from HAL
6358 pUserData: user data
6359
6360
6361
6362 RETURN VALUE
6363 The result code associated with performing the operation
6364---------------------------------------------------------------------------*/
6365typedef void (*WDI_EndScanRspCb)(WDI_Status wdiStatus,
6366 void* pUserData);
6367
6368
6369/*---------------------------------------------------------------------------
6370 WDI_StartRspCb
6371
6372 DESCRIPTION
6373
6374 This callback is invoked by DAL when it has received a Finish Scan response
6375 from the underlying device.
6376
6377 PARAMETERS
6378
6379 IN
6380 wdiStatus: response status received from HAL
6381 pUserData: user data
6382
6383
6384
6385 RETURN VALUE
6386 The result code associated with performing the operation
6387---------------------------------------------------------------------------*/
6388typedef void (*WDI_FinishScanRspCb)(WDI_Status wdiStatus,
6389 void* pUserData);
6390
6391
6392/*---------------------------------------------------------------------------
6393 WDI_StartRspCb
6394
6395 DESCRIPTION
6396
6397 This callback is invoked by DAL when it has received a Join response from
6398 the underlying device.
6399
6400 PARAMETERS
6401
6402 IN
6403 wdiStatus: response status received from HAL
6404 pUserData: user data
6405
6406
6407
6408 RETURN VALUE
6409 The result code associated with performing the operation
6410---------------------------------------------------------------------------*/
6411typedef void (*WDI_JoinRspCb)(WDI_Status wdiStatus,
6412 void* pUserData);
6413
6414
6415/*---------------------------------------------------------------------------
6416 WDI_StartRspCb
6417
6418 DESCRIPTION
6419
6420 This callback is invoked by DAL when it has received a Config BSS response
6421 from the underlying device.
6422
6423 PARAMETERS
6424
6425 IN
6426 wdiConfigBSSRsp: response parameters received from HAL
6427 pUserData: user data
6428
6429
6430 RETURN VALUE
6431 The result code associated with performing the operation
6432---------------------------------------------------------------------------*/
6433typedef void (*WDI_ConfigBSSRspCb)(
6434 WDI_ConfigBSSRspParamsType* pwdiConfigBSSRsp,
6435 void* pUserData);
6436
6437
6438/*---------------------------------------------------------------------------
6439 WDI_StartRspCb
6440
6441 DESCRIPTION
6442
6443 This callback is invoked by DAL when it has received a Del BSS response from
6444 the underlying device.
6445
6446 PARAMETERS
6447
6448 IN
6449 wdiDelBSSRsp: response parameters received from HAL
6450 pUserData: user data
6451
6452
6453 RETURN VALUE
6454 The result code associated with performing the operation
6455---------------------------------------------------------------------------*/
6456typedef void (*WDI_DelBSSRspCb)(WDI_DelBSSRspParamsType* pwdiDelBSSRsp,
6457 void* pUserData);
6458
6459
6460/*---------------------------------------------------------------------------
6461 WDI_StartRspCb
6462
6463 DESCRIPTION
6464
6465 This callback is invoked by DAL when it has received a Post Assoc response
6466 from the underlying device.
6467
6468 PARAMETERS
6469
6470 IN
6471 wdiRspParams: response parameters received from HAL
6472 pUserData: user data
6473
6474
6475 RETURN VALUE
6476 The result code associated with performing the operation
6477---------------------------------------------------------------------------*/
6478typedef void (*WDI_PostAssocRspCb)(
6479 WDI_PostAssocRspParamsType* pwdiPostAssocRsp,
6480 void* pUserData);
6481
6482
6483/*---------------------------------------------------------------------------
6484 WDI_StartRspCb
6485
6486 DESCRIPTION
6487
6488 This callback is invoked by DAL when it has received a Del STA response from
6489 the underlying device.
6490
6491 PARAMETERS
6492
6493 IN
6494 wdiDelSTARsp: response parameters received from HAL
6495 pUserData: user data
6496
6497
6498 RETURN VALUE
6499 The result code associated with performing the operation
6500---------------------------------------------------------------------------*/
6501typedef void (*WDI_DelSTARspCb)(WDI_DelSTARspParamsType* pwdiDelSTARsp,
6502 void* pUserData);
6503
6504
6505
6506/*---------------------------------------------------------------------------
6507 WDI_StartRspCb
6508
6509 DESCRIPTION
6510
6511 This callback is invoked by DAL when it has received a Set BSS Key response
6512 from the underlying device.
6513
6514 PARAMETERS
6515
6516 IN
6517 wdiStatus: response status received from HAL
6518 pUserData: user data
6519
6520
6521
6522 RETURN VALUE
6523 The result code associated with performing the operation
6524---------------------------------------------------------------------------*/
6525typedef void (*WDI_SetBSSKeyRspCb)(WDI_Status wdiStatus,
6526 void* pUserData);
6527
6528/*---------------------------------------------------------------------------
6529 WDI_StartRspCb
6530
6531 DESCRIPTION
6532
6533 This callback is invoked by DAL when it has received a Remove BSS Key
6534 response from the underlying device.
6535
6536 PARAMETERS
6537
6538 IN
6539 wdiStatus: response status received from HAL
6540 pUserData: user data
6541
6542
6543
6544 RETURN VALUE
6545 The result code associated with performing the operation
6546---------------------------------------------------------------------------*/
6547typedef void (*WDI_RemoveBSSKeyRspCb)(WDI_Status wdiStatus,
6548 void* pUserData);
6549
6550/*---------------------------------------------------------------------------
6551 WDI_StartRspCb
6552
6553 DESCRIPTION
6554
6555 This callback is invoked by DAL when it has received a Set STA Key response
6556 from the underlying device.
6557
6558 PARAMETERS
6559
6560 IN
6561 wdiStatus: response status received from HAL
6562 pUserData: user data
6563
6564
Jeff Johnson295189b2012-06-20 16:38:30 -07006565 RETURN VALUE
6566 The result code associated with performing the operation
6567---------------------------------------------------------------------------*/
6568typedef void (*WDI_SetSTAKeyRspCb)(WDI_Status wdiStatus,
6569 void* pUserData);
6570
Jeff Johnson295189b2012-06-20 16:38:30 -07006571/*---------------------------------------------------------------------------
6572 WDI_StartRspCb
6573
6574 DESCRIPTION
6575
6576 This callback is invoked by DAL when it has received a Remove STA Key
6577 response from the underlying device.
6578
6579 PARAMETERS
6580
6581 IN
6582 wdiStatus: response status received from HAL
6583 pUserData: user data
6584
Siddharth Bhal171788a2014-09-29 21:02:40 +05306585
Jeff Johnson295189b2012-06-20 16:38:30 -07006586 RETURN VALUE
6587 The result code associated with performing the operation
6588---------------------------------------------------------------------------*/
6589typedef void (*WDI_RemoveSTAKeyRspCb)(WDI_Status wdiStatus,
6590 void* pUserData);
6591
6592
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08006593#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07006594/*---------------------------------------------------------------------------
6595 WDI_TsmRspCb
6596
6597 DESCRIPTION
6598
6599 This callback is invoked by DAL when it has received a TSM Stats response from the underlying device.
6600
6601 PARAMETERS
6602
6603 IN
6604 pTSMStats: response status received from HAL
6605 pUserData: user data
6606
6607
6608
6609 RETURN VALUE
6610 The result code associated with performing the operation
6611---------------------------------------------------------------------------*/
6612typedef void (*WDI_TsmRspCb)(WDI_TSMStatsRspParamsType *pTSMStats,
6613 void* pUserData);
6614#endif
6615
6616/*---------------------------------------------------------------------------
6617 WDI_StartRspCb
6618
6619 DESCRIPTION
6620
6621 This callback is invoked by DAL when it has received a Add TS response from
6622 the underlying device.
6623
6624 PARAMETERS
6625
6626 IN
6627 wdiStatus: response status received from HAL
6628 pUserData: user data
6629
6630
6631
6632 RETURN VALUE
6633 The result code associated with performing the operation
6634---------------------------------------------------------------------------*/
6635typedef void (*WDI_AddTsRspCb)(WDI_Status wdiStatus,
6636 void* pUserData);
6637
6638/*---------------------------------------------------------------------------
6639 WDI_StartRspCb
6640
6641 DESCRIPTION
6642
6643 This callback is invoked by DAL when it has received a Del TS response from
6644 the underlying device.
6645
6646 PARAMETERS
6647
6648 IN
6649 wdiStatus: response status received from HAL
6650 pUserData: user data
6651
6652
6653
6654 RETURN VALUE
6655 The result code associated with performing the operation
6656---------------------------------------------------------------------------*/
6657typedef void (*WDI_DelTsRspCb)(WDI_Status wdiStatus,
6658 void* pUserData);
6659
6660/*---------------------------------------------------------------------------
6661 WDI_StartRspCb
6662
6663 DESCRIPTION
6664
6665 This callback is invoked by DAL when it has received an Update EDCA Params
6666 response from the underlying device.
6667
6668 PARAMETERS
6669
6670 IN
6671 wdiStatus: response status received from HAL
6672 pUserData: user data
6673
6674
6675
6676 RETURN VALUE
6677 The result code associated with performing the operation
6678---------------------------------------------------------------------------*/
6679typedef void (*WDI_UpdateEDCAParamsRspCb)(WDI_Status wdiStatus,
6680 void* pUserData);
6681
6682/*---------------------------------------------------------------------------
6683 WDI_StartRspCb
6684
6685 DESCRIPTION
6686
6687 This callback is invoked by DAL when it has received a Add BA response from
6688 the underlying device.
6689
6690 PARAMETERS
6691
6692 IN
6693 wdiStatus: response status received from HAL
6694 pUserData: user data
6695
6696
6697
6698 RETURN VALUE
6699 The result code associated with performing the operation
6700---------------------------------------------------------------------------*/
6701typedef void (*WDI_AddBASessionRspCb)(
6702 WDI_AddBASessionRspParamsType* wdiAddBASessionRsp,
6703 void* pUserData);
6704
6705
6706/*---------------------------------------------------------------------------
6707 WDI_StartRspCb
6708
6709 DESCRIPTION
6710
6711 This callback is invoked by DAL when it has received a Del BA response from
6712 the underlying device.
6713
6714 PARAMETERS
6715
6716 IN
6717 wdiStatus: response status received from HAL
6718 pUserData: user data
6719
6720
6721
6722 RETURN VALUE
6723 The result code associated with performing the operation
6724---------------------------------------------------------------------------*/
6725typedef void (*WDI_DelBARspCb)(WDI_Status wdiStatus,
6726 void* pUserData);
6727
6728
6729/*---------------------------------------------------------------------------
6730 WDI_StartRspCb
6731
6732 DESCRIPTION
6733
6734 This callback is invoked by DAL when it has received a Switch Ch response
6735 from the underlying device.
6736
6737 PARAMETERS
6738
6739 IN
6740 wdiRspParams: response parameters received from HAL
6741 pUserData: user data
6742
6743
6744 RETURN VALUE
6745 The result code associated with performing the operation
6746---------------------------------------------------------------------------*/
6747typedef void (*WDI_SwitchChRspCb)(WDI_SwitchCHRspParamsType* pwdiSwitchChRsp,
6748 void* pUserData);
6749
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08006750typedef void (*WDI_SwitchChRspCb_V1)(WDI_SwitchChRspParamsType_V1* pwdiSwitchChRsp,
6751 void* pUserData);
6752
Jeff Johnson295189b2012-06-20 16:38:30 -07006753
6754/*---------------------------------------------------------------------------
6755 WDI_StartRspCb
6756
6757 DESCRIPTION
6758
6759 This callback is invoked by DAL when it has received a Config STA response
6760 from the underlying device.
6761
6762 PARAMETERS
6763
6764 IN
6765 wdiRspParams: response parameters received from HAL
6766 pUserData: user data
6767
6768
6769 RETURN VALUE
6770 The result code associated with performing the operation
6771---------------------------------------------------------------------------*/
6772typedef void (*WDI_ConfigSTARspCb)(
6773 WDI_ConfigSTARspParamsType* pwdiConfigSTARsp,
6774 void* pUserData);
6775
6776
6777/*---------------------------------------------------------------------------
6778 WDI_StartRspCb
6779
6780 DESCRIPTION
6781
6782 This callback is invoked by DAL when it has received a Set Link State
6783 response from the underlying device.
6784
6785 PARAMETERS
6786
6787 IN
6788 wdiRspParams: response parameters received from HAL
6789 pUserData: user data
6790
6791
6792 RETURN VALUE
6793 The result code associated with performing the operation
6794---------------------------------------------------------------------------*/
6795typedef void (*WDI_SetLinkStateRspCb)( WDI_Status wdiStatus,
6796 void* pUserData);
6797
6798
6799/*---------------------------------------------------------------------------
6800 WDI_StartRspCb
6801
6802 DESCRIPTION
6803
6804 This callback is invoked by DAL when it has received a Get Stats response
6805 from the underlying device.
6806
6807 PARAMETERS
6808
6809 IN
6810 wdiRspParams: response parameters received from HAL
6811 pUserData: user data
6812
6813
6814 RETURN VALUE
6815 The result code associated with performing the operation
6816---------------------------------------------------------------------------*/
6817typedef void (*WDI_GetStatsRspCb)(WDI_GetStatsRspParamsType* pwdiGetStatsRsp,
6818 void* pUserData);
6819
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08006820#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08006821/*---------------------------------------------------------------------------
6822 WDI_GetRoamRssiRspCb
6823
6824 DESCRIPTION
6825
6826 This callback is invoked by DAL when it has received a Get Roam Rssi response
6827 from the underlying device.
6828
6829 PARAMETERS
6830
6831 IN
6832 wdiRspParams: response parameters received from HAL
6833 pUserData: user data
6834
6835
6836 RETURN VALUE
6837 The result code associated with performing the operation
6838---------------------------------------------------------------------------*/
6839typedef void (*WDI_GetRoamRssiRspCb)(WDI_GetRoamRssiRspParamsType* pwdiGetRoamRssiRsp,
6840 void* pUserData);
6841#endif
6842
Jeff Johnson295189b2012-06-20 16:38:30 -07006843
6844/*---------------------------------------------------------------------------
6845 WDI_StartRspCb
6846
6847 DESCRIPTION
6848
6849 This callback is invoked by DAL when it has received a Update Cfg response
6850 from the underlying device.
6851
6852 PARAMETERS
6853
6854 IN
6855 wdiStatus: response status received from HAL
6856 pUserData: user data
6857
6858
6859 RETURN VALUE
6860 The result code associated with performing the operation
6861---------------------------------------------------------------------------*/
6862typedef void (*WDI_UpdateCfgRspCb)(WDI_Status wdiStatus,
6863 void* pUserData);
6864
6865/*---------------------------------------------------------------------------
6866 WDI_AddBARspCb
6867
6868 DESCRIPTION
6869
6870 This callback is invoked by DAL when it has received a ADD BA response
6871 from the underlying device.
6872
6873 PARAMETERS
6874
6875 IN
6876 wdiStatus: response status received from HAL
6877 pUserData: user data
6878
6879
6880 RETURN VALUE
6881 The result code associated with performing the operation
6882---------------------------------------------------------------------------*/
6883typedef void (*WDI_AddBARspCb)(WDI_AddBARspinfoType* wdiAddBARsp,
6884 void* pUserData);
6885
6886/*---------------------------------------------------------------------------
6887 WDI_TriggerBARspCb
6888
6889 DESCRIPTION
6890
6891 This callback is invoked by DAL when it has received a ADD BA response
6892 from the underlying device.
6893
6894 PARAMETERS
6895
6896 IN
6897 wdiStatus: response status received from HAL
6898 pUserData: user data
6899
6900
6901 RETURN VALUE
6902 The result code associated with performing the operation
6903---------------------------------------------------------------------------*/
6904typedef void (*WDI_TriggerBARspCb)(WDI_TriggerBARspParamsType* wdiTriggerBARsp,
6905 void* pUserData);
6906
6907
6908/*---------------------------------------------------------------------------
6909 WDI_UpdateBeaconParamsRspCb
6910
6911 DESCRIPTION
6912
6913 This callback is invoked by DAL when it has received a Update Beacon Params response from
6914 the underlying device.
6915
6916 PARAMETERS
6917
6918 IN
6919 wdiStatus: response status received from HAL
6920 pUserData: user data
6921
6922
6923
6924 RETURN VALUE
6925 The result code associated with performing the operation
6926---------------------------------------------------------------------------*/
6927typedef void (*WDI_UpdateBeaconParamsRspCb)(WDI_Status wdiStatus,
6928 void* pUserData);
6929
6930/*---------------------------------------------------------------------------
6931 WDI_SendBeaconParamsRspCb
6932
6933 DESCRIPTION
6934
6935 This callback is invoked by DAL when it has received a Send Beacon Params response from
6936 the underlying device.
6937
6938 PARAMETERS
6939
6940 IN
6941 wdiStatus: response status received from HAL
6942 pUserData: user data
6943
6944
6945
6946 RETURN VALUE
6947 The result code associated with performing the operation
6948---------------------------------------------------------------------------*/
6949typedef void (*WDI_SendBeaconParamsRspCb)(WDI_Status wdiStatus,
6950 void* pUserData);
6951
6952/*---------------------------------------------------------------------------
6953 WDA_SetMaxTxPowerRspCb
6954
6955 DESCRIPTION
6956
6957 This callback is invoked by DAL when it has received a set max Tx Power response from
6958 the underlying device.
6959
6960 PARAMETERS
6961
6962 IN
6963 wdiStatus: response status received from HAL
6964 pUserData: user data
6965
6966
6967
6968 RETURN VALUE
6969 The result code associated with performing the operation
6970---------------------------------------------------------------------------*/
6971typedef void (*WDA_SetMaxTxPowerRspCb)(WDI_SetMaxTxPowerRspMsg *wdiSetMaxTxPowerRsp,
6972 void* pUserData);
6973
6974/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07006975 WDA_SetMaxTxPowerPerBandRspCb
6976
6977 DESCRIPTION
6978
6979 This callback is invoked by DAL when it has received a
6980 set max Tx Power Per Band response from the underlying device.
6981
6982 PARAMETERS
6983
6984 IN
6985 wdiSetMaxTxPowerPerBandRsp: response status received from HAL
6986 pUserData: user data
6987
6988 RETURN VALUE
6989 The result code associated with performing the operation
6990---------------------------------------------------------------------------*/
6991typedef void (*WDA_SetMaxTxPowerPerBandRspCb)(WDI_SetMaxTxPowerPerBandRspMsg
6992 *wdiSetMaxTxPowerPerBandRsp,
6993 void* pUserData);
6994
6995/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07006996 WDA_SetTxPowerRspCb
6997
6998 DESCRIPTION
6999
7000 This callback is invoked by DAL when it has received a set max Tx Power response from
7001 the underlying device.
7002
7003 PARAMETERS
7004
7005 IN
7006 wdiStatus: response status received from HAL
7007 pUserData: user data
7008
7009 RETURN VALUE
7010 The result code associated with performing the operation
7011---------------------------------------------------------------------------*/
7012typedef void (*WDA_SetTxPowerRspCb)(WDI_SetTxPowerRspMsg *wdiSetTxPowerRsp,
7013 void* pUserData);
7014
7015/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07007016 WDI_UpdateProbeRspTemplateRspCb
7017
7018 DESCRIPTION
7019
7020 This callback is invoked by DAL when it has received a Probe RSP Template
7021 Update response from the underlying device.
7022
7023 PARAMETERS
7024
7025 IN
7026 wdiStatus: response status received from HAL
7027 pUserData: user data
7028
7029
7030
7031 RETURN VALUE
7032 The result code associated with performing the operation
7033---------------------------------------------------------------------------*/
7034typedef void (*WDI_UpdateProbeRspTemplateRspCb)(WDI_Status wdiStatus,
7035 void* pUserData);
7036
Jeff Johnson295189b2012-06-20 16:38:30 -07007037/*---------------------------------------------------------------------------
7038 WDI_SetP2PGONOAReqParamsRspCb
7039
7040 DESCRIPTION
7041
7042 This callback is invoked by DAL when it has received a P2P GO NOA Params response from
7043 the underlying device.
7044
7045 PARAMETERS
7046
7047 IN
7048 wdiStatus: response status received from HAL
7049 pUserData: user data
7050
7051
7052
7053 RETURN VALUE
7054 The result code associated with performing the operation
7055---------------------------------------------------------------------------*/
7056typedef void (*WDI_SetP2PGONOAReqParamsRspCb)(WDI_Status wdiStatus,
7057 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007058
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05307059/*---------------------------------------------------------------------------
7060 WDI_SetTDLSLinkEstablishReqParamsRspCb
7061
7062 DESCRIPTION
7063
7064 This callback is invoked by DAL when it has received a TDLS Link Establish Req response from
7065 the underlying device.
7066
7067 PARAMETERS
7068
7069 IN
7070 wdiStatus: response status received from HAL
7071 pUserData: user data
7072
7073
7074
7075 RETURN VALUE
7076 The result code associated with performing the operation
7077---------------------------------------------------------------------------*/
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05307078typedef void (*WDI_SetTDLSLinkEstablishReqParamsRspCb)(WDI_SetTdlsLinkEstablishReqResp *
7079 wdiSetTdlsLinkEstablishReqRsp,
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05307080 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007081
7082/*---------------------------------------------------------------------------
Atul Mittalc0f739f2014-07-31 13:47:47 +05307083 WDI_SetTDLSChanSwitchReqParamsRspCb
7084
7085 DESCRIPTION
7086
7087 This callback is invoked by DAL when it has received a TDLS Link Establish Req response from
7088 the underlying device.
7089
7090 PARAMETERS
7091
7092 IN
7093 wdiStatus: response status received from HAL
7094 pUserData: user data
7095
7096
7097
7098 RETURN VALUE
7099 The result code associated with performing the operation
7100---------------------------------------------------------------------------*/
7101typedef void (*WDI_SetTDLSChanSwitchReqParamsRspCb)(WDI_SetTdlsChanSwitchReqResp *
7102 wdiSetTdlsChanSwitchReqRsp,
7103 void* pUserData);
7104/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07007105 WDI_SetPwrSaveCfgCb
7106
7107 DESCRIPTION
7108
7109 This callback is invoked by DAL when it has received a set Power Save CFG
7110 response from the underlying device.
7111
7112 PARAMETERS
7113
7114 IN
7115 wdiStatus: response status received from HAL
7116 pUserData: user data
7117
7118
7119
7120 RETURN VALUE
7121 The result code associated with performing the operation
7122---------------------------------------------------------------------------*/
7123typedef void (*WDI_SetPwrSaveCfgCb)(WDI_Status wdiStatus,
7124 void* pUserData);
7125
7126/*---------------------------------------------------------------------------
7127 WDI_SetUapsdAcParamsCb
7128
7129 DESCRIPTION
7130
7131 This callback is invoked by DAL when it has received a set UAPSD params
7132 response from the underlying device.
7133
7134 PARAMETERS
7135
7136 IN
7137 wdiStatus: response status received from HAL
7138 pUserData: user data
7139
7140
7141
7142 RETURN VALUE
7143 The result code associated with performing the operation
7144---------------------------------------------------------------------------*/
7145typedef void (*WDI_SetUapsdAcParamsCb)(WDI_Status wdiStatus,
7146 void* pUserData);
7147
7148/*---------------------------------------------------------------------------
7149 WDI_EnterImpsRspCb
7150
7151 DESCRIPTION
7152
7153 This callback is invoked by DAL when it has received a Enter IMPS response
7154 from the underlying device.
7155
7156 PARAMETERS
7157
7158 IN
7159 wdiStatus: response status received from HAL
7160 pUserData: user data
7161
7162
7163
7164 RETURN VALUE
7165 The result code associated with performing the operation
7166---------------------------------------------------------------------------*/
7167typedef void (*WDI_EnterImpsRspCb)(WDI_Status wdiStatus,
7168 void* pUserData);
7169
7170/*---------------------------------------------------------------------------
7171 WDI_ExitImpsRspCb
7172
7173 DESCRIPTION
7174
7175 This callback is invoked by DAL when it has received a Exit IMPS response
7176 from the underlying device.
7177
7178 PARAMETERS
7179
7180 IN
7181 wdiStatus: response status received from HAL
7182 pUserData: user data
7183
7184
7185
7186 RETURN VALUE
7187 The result code associated with performing the operation
7188---------------------------------------------------------------------------*/
7189typedef void (*WDI_ExitImpsRspCb)(WDI_Status wdiStatus,
7190 void* pUserData);
7191
7192/*---------------------------------------------------------------------------
7193 WDI_EnterBmpsRspCb
7194
7195 DESCRIPTION
7196
7197 This callback is invoked by DAL when it has received a enter BMPS response
7198 from the underlying device.
7199
7200 PARAMETERS
7201
7202 IN
7203 wdiStatus: response status received from HAL
7204 pUserData: user data
7205
7206
7207
7208 RETURN VALUE
7209 The result code associated with performing the operation
7210---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007211typedef void (*WDI_EnterBmpsRspCb)(WDI_EnterBmpsRspParamsType *pwdiEnterBmpsRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007212 void* pUserData);
7213
7214/*---------------------------------------------------------------------------
7215 WDI_ExitBmpsRspCb
7216
7217 DESCRIPTION
7218
7219 This callback is invoked by DAL when it has received a exit BMPS response
7220 from the underlying device.
7221
7222 PARAMETERS
7223
7224 IN
7225 wdiStatus: response status received from HAL
7226 pUserData: user data
7227
7228
7229
7230 RETURN VALUE
7231 The result code associated with performing the operation
7232---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007233typedef void (*WDI_ExitBmpsRspCb)( WDI_ExitBmpsRspParamsType *pwdiExitBmpsRspParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007234 void* pUserData);
7235
7236/*---------------------------------------------------------------------------
7237 WDI_EnterUapsdRspCb
7238
7239 DESCRIPTION
7240
7241 This callback is invoked by DAL when it has received a enter UAPSD response
7242 from the underlying device.
7243
7244 PARAMETERS
7245
7246 IN
7247 wdiStatus: response status received from HAL
7248 pUserData: user data
7249
7250
7251
7252 RETURN VALUE
7253 The result code associated with performing the operation
7254---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007255typedef void (*WDI_EnterUapsdRspCb)( WDI_EnterUapsdRspParamsType *pwdiEnterUapsdRspParam,
Jeff Johnson295189b2012-06-20 16:38:30 -07007256 void* pUserData);
7257
7258/*---------------------------------------------------------------------------
7259 WDI_ExitUapsdRspCb
7260
7261 DESCRIPTION
7262
7263 This callback is invoked by DAL when it has received a exit UAPSD response
7264 from the underlying device.
7265
7266 PARAMETERS
7267
7268 IN
7269 wdiStatus: response status received from HAL
7270 pUserData: user data
7271
7272
7273
7274 RETURN VALUE
7275 The result code associated with performing the operation
7276---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007277typedef void (*WDI_ExitUapsdRspCb)(WDI_ExitUapsdRspParamsType *pwidExitUapsdRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007278 void* pUserData);
7279
7280/*---------------------------------------------------------------------------
7281 WDI_UpdateUapsdParamsCb
7282
7283 DESCRIPTION
7284
7285 This callback is invoked by DAL when it has received a update UAPSD params
7286 response from the underlying device.
7287
7288 PARAMETERS
7289
7290 IN
7291 wdiStatus: response status received from HAL
7292 pUserData: user data
7293
7294
7295
7296 RETURN VALUE
7297 The result code associated with performing the operation
7298---------------------------------------------------------------------------*/
7299typedef void (*WDI_UpdateUapsdParamsCb)(WDI_Status wdiStatus,
7300 void* pUserData);
7301
7302/*---------------------------------------------------------------------------
7303 WDI_ConfigureRxpFilterCb
7304
7305 DESCRIPTION
7306
7307 This callback is invoked by DAL when it has received a config RXP filter
7308 response from the underlying device.
7309
7310 PARAMETERS
7311
7312 IN
7313 wdiStatus: response status received from HAL
7314 pUserData: user data
7315
7316
7317
7318 RETURN VALUE
7319 The result code associated with performing the operation
7320---------------------------------------------------------------------------*/
7321typedef void (*WDI_ConfigureRxpFilterCb)(WDI_Status wdiStatus,
7322 void* pUserData);
7323
7324/*---------------------------------------------------------------------------
7325 WDI_SetBeaconFilterCb
7326
7327 DESCRIPTION
7328
7329 This callback is invoked by DAL when it has received a set beacon filter
7330 response from the underlying device.
7331
7332 PARAMETERS
7333
7334 IN
7335 wdiStatus: response status received from HAL
7336 pUserData: user data
7337
7338
7339
7340 RETURN VALUE
7341 The result code associated with performing the operation
7342---------------------------------------------------------------------------*/
7343typedef void (*WDI_SetBeaconFilterCb)(WDI_Status wdiStatus,
7344 void* pUserData);
7345
7346/*---------------------------------------------------------------------------
7347 WDI_RemBeaconFilterCb
7348
7349 DESCRIPTION
7350
7351 This callback is invoked by DAL when it has received a remove beacon filter
7352 response from the underlying device.
7353
7354 PARAMETERS
7355
7356 IN
7357 wdiStatus: response status received from HAL
7358 pUserData: user data
7359
7360
7361
7362 RETURN VALUE
7363 The result code associated with performing the operation
7364---------------------------------------------------------------------------*/
7365typedef void (*WDI_RemBeaconFilterCb)(WDI_Status wdiStatus,
7366 void* pUserData);
7367
7368/*---------------------------------------------------------------------------
7369 WDI_SetRSSIThresholdsCb
7370
7371 DESCRIPTION
7372
7373 This callback is invoked by DAL when it has received a set RSSI thresholds
7374 response from the underlying device.
7375
7376 PARAMETERS
7377
7378 IN
7379 wdiStatus: response status received from HAL
7380 pUserData: user data
7381
7382
7383
7384 RETURN VALUE
7385 The result code associated with performing the operation
7386---------------------------------------------------------------------------*/
7387typedef void (*WDI_SetRSSIThresholdsCb)(WDI_Status wdiStatus,
7388 void* pUserData);
7389
7390/*---------------------------------------------------------------------------
7391 WDI_HostOffloadCb
7392
7393 DESCRIPTION
7394
7395 This callback is invoked by DAL when it has received a host offload
7396 response from the underlying device.
7397
7398 PARAMETERS
7399
7400 IN
7401 wdiStatus: response status received from HAL
7402 pUserData: user data
7403
7404
7405
7406 RETURN VALUE
7407 The result code associated with performing the operation
7408---------------------------------------------------------------------------*/
7409typedef void (*WDI_HostOffloadCb)(WDI_Status wdiStatus,
7410 void* pUserData);
7411
7412/*---------------------------------------------------------------------------
7413 WDI_KeepAliveCb
7414
7415 DESCRIPTION
7416
7417 This callback is invoked by DAL when it has received a Keep Alive
7418 response from the underlying device.
7419
7420 PARAMETERS
7421
7422 IN
7423 wdiStatus: response status received from HAL
7424 pUserData: user data
7425
7426
7427
7428 RETURN VALUE
7429 The result code associated with performing the operation
7430---------------------------------------------------------------------------*/
7431typedef void (*WDI_KeepAliveCb)(WDI_Status wdiStatus,
7432 void* pUserData);
7433
7434/*---------------------------------------------------------------------------
7435 WDI_WowlAddBcPtrnCb
7436
7437 DESCRIPTION
7438
7439 This callback is invoked by DAL when it has received a Wowl add Bcast ptrn
7440 response from the underlying device.
7441
7442 PARAMETERS
7443
7444 IN
7445 wdiStatus: response status received from HAL
7446 pUserData: user data
7447
7448
7449
7450 RETURN VALUE
7451 The result code associated with performing the operation
7452---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007453typedef void (*WDI_WowlAddBcPtrnCb)( WDI_WowlAddBcPtrnRspParamsType *pwdiWowlAddBcPtrnParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007454 void* pUserData);
7455
7456/*---------------------------------------------------------------------------
7457 WDI_WowlDelBcPtrnCb
7458
7459 DESCRIPTION
7460
7461 This callback is invoked by DAL when it has received a Wowl delete Bcast ptrn
7462 response from the underlying device.
7463
7464 PARAMETERS
7465
7466 IN
7467 wdiStatus: response status received from HAL
7468 pUserData: user data
7469
7470
7471
7472 RETURN VALUE
7473 The result code associated with performing the operation
7474---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007475typedef void (*WDI_WowlDelBcPtrnCb)( WDI_WowlDelBcPtrnRspParamsType *pwdiWowlDelBcstPtrRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007476 void* pUserData);
7477
7478/*---------------------------------------------------------------------------
7479 WDI_WowlEnterReqCb
7480
7481 DESCRIPTION
7482
7483 This callback is invoked by DAL when it has received a Wowl enter
7484 response from the underlying device.
7485
7486 PARAMETERS
7487
7488 IN
7489 wdiStatus: response status received from HAL
7490 pUserData: user data
7491
7492
7493
7494 RETURN VALUE
7495 The result code associated with performing the operation
7496---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007497typedef void (*WDI_WowlEnterReqCb)( WDI_WowlEnterRspParamsType *pwdiwowlEnterRsp,
7498 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007499
7500/*---------------------------------------------------------------------------
7501 WDI_WowlExitReqCb
7502
7503 DESCRIPTION
7504
7505 This callback is invoked by DAL when it has received a Wowl exit
7506 response from the underlying device.
7507
7508 PARAMETERS
7509
7510 IN
7511 wdiStatus: response status received from HAL
7512 pUserData: user data
7513
7514
7515
7516 RETURN VALUE
7517 The result code associated with performing the operation
7518---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007519typedef void (*WDI_WowlExitReqCb)( WDI_WowlExitRspParamsType *pwdiWowlExitRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007520 void* pUserData);
7521
7522/*---------------------------------------------------------------------------
7523 WDI_ConfigureAppsCpuWakeupStateCb
7524
7525 DESCRIPTION
7526
7527 This callback is invoked by DAL when it has received a config Apps Cpu Wakeup
7528 State response from the underlying device.
7529
7530 PARAMETERS
7531
7532 IN
7533 wdiStatus: response status received from HAL
7534 pUserData: user data
7535
7536
7537
7538 RETURN VALUE
7539 The result code associated with performing the operation
7540---------------------------------------------------------------------------*/
7541typedef void (*WDI_ConfigureAppsCpuWakeupStateCb)(WDI_Status wdiStatus,
7542 void* pUserData);
7543/*---------------------------------------------------------------------------
7544 WDI_NvDownloadRspCb
7545
7546 DESCRIPTION
7547
7548 This callback is invoked by DAL when it has received a NV Download response
7549 from the underlying device.
7550
7551 PARAMETERS
7552
7553 IN
7554 wdiStatus:response status received from HAL
7555 pUserData:user data
7556
7557 RETURN VALUE
7558 The result code associated with performing the operation
7559---------------------------------------------------------------------------*/
7560typedef void (*WDI_NvDownloadRspCb)(WDI_NvDownloadRspInfoType* wdiNvDownloadRsp,
7561 void* pUserData);
7562/*---------------------------------------------------------------------------
7563 WDI_FlushAcRspCb
7564
7565 DESCRIPTION
7566
7567 This callback is invoked by DAL when it has received a Flush AC response from
7568 the underlying device.
7569
7570 PARAMETERS
7571
7572 IN
7573 wdiStatus: response status received from HAL
7574 pUserData: user data
7575
7576
7577
7578 RETURN VALUE
7579 The result code associated with performing the operation
7580---------------------------------------------------------------------------*/
7581typedef void (*WDI_FlushAcRspCb)(WDI_Status wdiStatus,
7582 void* pUserData);
7583
7584/*---------------------------------------------------------------------------
7585 WDI_BtAmpEventRspCb
7586
7587 DESCRIPTION
7588
7589 This callback is invoked by DAL when it has received a Bt AMP event response
7590 from the underlying device.
7591
7592 PARAMETERS
7593
7594 IN
7595 wdiStatus: response status received from HAL
7596 pUserData: user data
7597
7598
7599
7600 RETURN VALUE
7601 The result code associated with performing the operation
7602---------------------------------------------------------------------------*/
7603typedef void (*WDI_BtAmpEventRspCb)(WDI_Status wdiStatus,
7604 void* pUserData);
7605
Jeff Johnsone7245742012-09-05 17:12:55 -07007606#ifdef FEATURE_OEM_DATA_SUPPORT
7607/*---------------------------------------------------------------------------
7608 WDI_oemDataRspCb
7609
7610 DESCRIPTION
7611
7612 This callback is invoked by DAL when it has received a Start oem data response from
7613 the underlying device.
7614
7615 PARAMETERS
7616
7617 IN
7618 wdiStatus: response status received from HAL
7619 pUserData: user data
7620
7621
7622
7623 RETURN VALUE
7624 The result code associated with performing the operation
7625---------------------------------------------------------------------------*/
7626typedef void (*WDI_oemDataRspCb)(WDI_oemDataRspParamsType* wdiOemDataRspParams,
7627 void* pUserData);
7628
7629#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07007630
7631/*---------------------------------------------------------------------------
7632 WDI_HostResumeEventRspCb
7633
7634 DESCRIPTION
7635
7636 This callback is invoked by DAL when it has received a Bt AMP event response
7637 from the underlying device.
7638
7639 PARAMETERS
7640
7641 IN
7642 wdiStatus: response status received from HAL
7643 pUserData: user data
7644
7645
7646
7647 RETURN VALUE
7648 The result code associated with performing the operation
7649---------------------------------------------------------------------------*/
7650typedef void (*WDI_HostResumeEventRspCb)(
7651 WDI_SuspendResumeRspParamsType *resumeRspParams,
7652 void* pUserData);
7653
7654
7655#ifdef WLAN_FEATURE_VOWIFI_11R
7656/*---------------------------------------------------------------------------
7657 WDI_AggrAddTsRspCb
7658
7659 DESCRIPTION
7660
7661 This callback is invoked by DAL when it has received a Aggregated Add TS
7662 response from the underlying device.
7663
7664 PARAMETERS
7665
7666 IN
7667 wdiStatus: response status received from HAL
7668 pUserData: user data
7669
7670
7671
7672 RETURN VALUE
7673 The result code associated with performing the operation
7674---------------------------------------------------------------------------*/
7675typedef void (*WDI_AggrAddTsRspCb)(WDI_Status wdiStatus,
7676 void* pUserData);
7677#endif /* WLAN_FEATURE_VOWIFI_11R */
7678
Jeff Johnson295189b2012-06-20 16:38:30 -07007679/*---------------------------------------------------------------------------
7680 WDI_FTMCommandRspCb
7681
7682 DESCRIPTION
7683
7684 FTM Command response CB
7685
7686 PARAMETERS
7687
7688 IN
7689 ftmCMDRspdata: FTM response data from HAL
7690 pUserData: user data
7691
7692
7693 RETURN VALUE
7694 NONE
7695---------------------------------------------------------------------------*/
7696typedef void (*WDI_FTMCommandRspCb)(void *ftmCMDRspdata,
7697 void *pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007698
7699/*---------------------------------------------------------------------------
7700 WDI_AddSTASelfParamsRspCb
7701
7702 DESCRIPTION
7703
7704 This callback is invoked by DAL when it has received a Add Sta Self Params
7705 response from the underlying device.
7706
7707 PARAMETERS
7708
7709 IN
7710 wdiAddSelfSTARsp: response status received from HAL
7711 pUserData: user data
7712
7713
7714
7715 RETURN VALUE
7716 The result code associated with performing the operation
7717---------------------------------------------------------------------------*/
7718typedef void (*WDI_AddSTASelfParamsRspCb)(
7719 WDI_AddSTASelfRspParamsType* pwdiAddSelfSTARsp,
7720 void* pUserData);
7721
7722
7723/*---------------------------------------------------------------------------
7724 WDI_DelSTASelfRspCb
7725
7726 DESCRIPTION
7727
7728 This callback is invoked by DAL when it has received a host offload
7729 response from the underlying device.
7730
7731 PARAMETERS
7732
7733 IN
7734 wdiStatus: response status received from HAL
7735 pUserData: user data
7736
7737
7738
7739 RETURN VALUE
7740 The result code associated with performing the operation
7741---------------------------------------------------------------------------*/
7742typedef void (*WDI_DelSTASelfRspCb)
7743(
7744WDI_DelSTASelfRspParamsType* wdiDelStaSelfRspParams,
7745void* pUserData
7746);
7747
7748#ifdef FEATURE_WLAN_SCAN_PNO
7749/*---------------------------------------------------------------------------
7750 WDI_PNOScanCb
7751
7752 DESCRIPTION
7753
7754 This callback is invoked by DAL when it has received a Set PNO
7755 response from the underlying device.
7756
7757 PARAMETERS
7758
7759 IN
7760 wdiStatus: response status received from HAL
7761 pUserData: user data
7762
7763
7764
7765 RETURN VALUE
7766 The result code associated with performing the operation
7767---------------------------------------------------------------------------*/
7768typedef void (*WDI_PNOScanCb)(WDI_Status wdiStatus,
7769 void* pUserData);
7770
7771/*---------------------------------------------------------------------------
7772 WDI_PNOScanCb
7773
7774 DESCRIPTION
7775
7776 This callback is invoked by DAL when it has received a Set PNO
7777 response from the underlying device.
7778
7779 PARAMETERS
7780
7781 IN
7782 wdiStatus: response status received from HAL
7783 pUserData: user data
7784
7785
7786
7787 RETURN VALUE
7788 The result code associated with performing the operation
7789---------------------------------------------------------------------------*/
7790typedef void (*WDI_RssiFilterCb)(WDI_Status wdiStatus,
7791 void* pUserData);
7792
7793/*---------------------------------------------------------------------------
7794 WDI_UpdateScanParamsCb
7795
7796 DESCRIPTION
7797
7798 This callback is invoked by DAL when it has received a Update Scan Params
7799 response from the underlying device.
7800
7801 PARAMETERS
7802
7803 IN
7804 wdiStatus: response status received from HAL
7805 pUserData: user data
7806
7807
7808
7809 RETURN VALUE
7810 The result code associated with performing the operation
7811---------------------------------------------------------------------------*/
7812typedef void (*WDI_UpdateScanParamsCb)(WDI_Status wdiStatus,
7813 void* pUserData);
7814#endif // FEATURE_WLAN_SCAN_PNO
7815
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08007816typedef void (*WDI_UpdateChannelRspCb)(WDI_Status wdiStatus,
7817 void* pUserData);
7818
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07007819#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
7820/*---------------------------------------------------------------------------
7821 WDI_RoamOffloadScanCb
7822
7823 DESCRIPTION
7824
7825 This callback is invoked by DAL when it has received a Start Roam Candidate Lookup Req
7826 response from the underlying device.
7827
7828 PARAMETERS
7829
7830 IN
7831 wdiStatus: response status received from HAL
7832 pUserData: user data
7833
7834
7835
7836 RETURN VALUE
7837 The result code associated with performing the operation
7838---------------------------------------------------------------------------*/
7839typedef void (*WDI_RoamOffloadScanCb)(WDI_Status wdiStatus,
7840 void* pUserData);
7841
7842#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07007843/*---------------------------------------------------------------------------
7844 WDI_SetTxPerTrackingRspCb
7845
7846 DESCRIPTION
7847
7848 This callback is invoked by DAL when it has received a Tx PER Tracking
7849 response from the underlying device.
7850
7851 PARAMETERS
7852
7853 IN
7854 wdiStatus: response status received from HAL
7855 pUserData: user data
7856
7857
7858
7859 RETURN VALUE
7860 The result code associated with performing the operation
7861---------------------------------------------------------------------------*/
7862typedef void (*WDI_SetTxPerTrackingRspCb)(WDI_Status wdiStatus,
7863 void* pUserData);
7864
7865#ifdef WLAN_FEATURE_PACKET_FILTERING
7866/*---------------------------------------------------------------------------
7867 WDI_8023MulticastListCb
7868
7869 DESCRIPTION
7870
7871 This callback is invoked by DAL when it has received a 8023 Multicast List
7872 response from the underlying device.
7873
7874 PARAMETERS
7875
7876 IN
7877 wdiStatus: response status received from HAL
7878 pUserData: user data
7879
7880
7881
7882 RETURN VALUE
7883 The result code associated with performing the operation
7884---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007885typedef void (*WDI_8023MulticastListCb)(
7886 WDI_RcvFltPktSetMcListRspParamsType *pwdiRcvFltPktSetMcListRspInfo,
7887 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007888
7889/*---------------------------------------------------------------------------
7890 WDI_ReceiveFilterSetFilterCb
7891
7892 DESCRIPTION
7893
7894 This callback is invoked by DAL when it has received a Receive Filter Set Filter
7895 response from the underlying device.
7896
7897 PARAMETERS
7898
7899 IN
7900 wdiStatus: response status received from HAL
7901 pUserData: user data
7902
7903
7904
7905 RETURN VALUE
7906 The result code associated with performing the operation
7907---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007908typedef void (*WDI_ReceiveFilterSetFilterCb)(
7909 WDI_SetRcvPktFilterRspParamsType *pwdiSetRcvPktFilterRspInfo,
7910 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007911
7912/*---------------------------------------------------------------------------
7913 WDI_FilterMatchCountCb
7914
7915 DESCRIPTION
7916
7917 This callback is invoked by DAL when it has received a Do PC Filter Match Count
7918 response from the underlying device.
7919
7920 PARAMETERS
7921
7922 IN
7923 wdiStatus: response status received from HAL
7924 pUserData: user data
7925
7926
7927
7928 RETURN VALUE
7929 The result code associated with performing the operation
7930---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007931typedef void (*WDI_FilterMatchCountCb)(
7932 WDI_RcvFltPktMatchCntRspParamsType *pwdiRcvFltPktMatchRspParams,
7933 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007934
7935/*---------------------------------------------------------------------------
7936 WDI_ReceiveFilterClearFilterCb
7937
7938 DESCRIPTION
7939
7940 This callback is invoked by DAL when it has received a Receive Filter Clear Filter
7941 response from the underlying device.
7942
7943 PARAMETERS
7944
7945 IN
7946 wdiStatus: response status received from HAL
7947 pUserData: user data
7948
7949
7950
7951 RETURN VALUE
7952 The result code associated with performing the operation
7953---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007954typedef void (*WDI_ReceiveFilterClearFilterCb)(
7955 WDI_RcvFltPktClearRspParamsType *pwdiRcvFltPktClearRspParamsType,
7956 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007957#endif // WLAN_FEATURE_PACKET_FILTERING
7958
7959/*---------------------------------------------------------------------------
7960 WDI_HALDumpCmdRspCb
7961
7962 DESCRIPTION
7963
7964 This callback is invoked by DAL when it has received a HAL DUMP Command
7965response from
7966 the HAL layer.
7967
7968 PARAMETERS
7969
7970 IN
7971 wdiHalDumpCmdRsp: response status received from HAL
7972 pUserData: user data
7973
7974
7975
7976 RETURN VALUE
7977 The result code associated with performing the operation
7978---------------------------------------------------------------------------*/
7979typedef void (*WDI_HALDumpCmdRspCb)(WDI_HALDumpCmdRspParamsType* wdiHalDumpCmdRsp,
7980 void* pUserData);
7981
7982/*---------------------------------------------------------------------------
7983 WDI_SetPowerParamsCb
7984
7985 DESCRIPTION
7986
7987 This callback is invoked by DAL when it has received a Set Power Param
7988 response from the underlying device.
7989
7990 PARAMETERS
7991
7992 IN
7993 wdiStatus: response status received from HAL
7994 pUserData: user data
7995
7996
7997
7998 RETURN VALUE
7999 The result code associated with performing the operation
8000---------------------------------------------------------------------------*/
8001typedef void (*WDI_SetPowerParamsCb)(WDI_Status wdiStatus,
8002 void* pUserData);
8003
c_manjeecfd1efb2015-09-25 19:32:34 +05308004
8005/*---------------------------------------------------------------------------
8006 WDA_FwrMemDumpRespCallback
8007
8008 DESCRIPTION
8009
8010 This callback is invoked by DAL when it has received a Fwr Mem dump
8011 response from the underlying device.
8012
8013 PARAMETERS
8014
8015 IN
8016 wdiStatus: response status received from HAL
8017 pUserData: user data
8018 ---------------------------------------------------------------------------*/
8019typedef void (* WDI_FwrMemDumpCb) (WDI_FwrMemDumpRsp* wdiRsp,
8020 void* pUserData);
8021
8022
Jeff Johnson295189b2012-06-20 16:38:30 -07008023#ifdef WLAN_FEATURE_GTK_OFFLOAD
8024/*---------------------------------------------------------------------------
8025 WDI_GtkOffloadCb
8026
8027 DESCRIPTION
8028
8029 This callback is invoked by DAL when it has received a GTK offload
8030 response from the underlying device.
8031
8032 PARAMETERS
8033
8034 IN
8035 wdiStatus: response status received from HAL
8036 pUserData: user data
8037
8038
8039
8040 RETURN VALUE
8041 The result code associated with performing the operation
8042---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07008043typedef void (*WDI_GtkOffloadCb)( WDI_GtkOffloadRspParams *pwdiGtkOffloadRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07008044 void* pUserData);
8045
8046/*---------------------------------------------------------------------------
8047 WDI_GtkOffloadGetInfoCb
8048
8049 DESCRIPTION
8050
8051 This callback is invoked by DAL when it has received a GTK offload
8052 information response from the underlying device.
8053
8054 PARAMETERS
8055
8056 IN
8057 wdiStatus: response status received from HAL
8058 pUserData: user data
8059
8060
8061
8062 RETURN VALUE
8063 The result code associated with performing the operation
8064---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07008065typedef void (*WDI_GtkOffloadGetInfoCb)( WDI_GtkOffloadGetInfoRspParams *pwdiGtkOffloadGetInfoRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07008066 void* pUserData);
8067#endif // WLAN_FEATURE_GTK_OFFLOAD
8068
8069/*---------------------------------------------------------------------------
8070 WDI_SetTmLevelCb
8071
8072 DESCRIPTION
8073
8074 This callback is invoked by DAL when it has received a Set New TM Level
8075 done response from the underlying device.
8076
8077 PARAMETERS
8078
8079 IN
8080 wdiStatus: response status received from HAL
8081 pUserData: user data
8082
8083
8084
8085 RETURN VALUE
8086 The result code associated with performing the operation
8087---------------------------------------------------------------------------*/
8088typedef void (*WDI_SetTmLevelCb)(WDI_Status wdiStatus,
8089 void* pUserData);
8090
8091/*---------------------------------------------------------------------------
8092 WDI_featureCapsExchangeCb
8093
8094 DESCRIPTION
8095
8096 This callback is invoked by DAL when it has received a HAL Feature Capbility
8097 Exchange Response the HAL layer. This callback is put to mantain code
8098 similarity and is not being used right now.
8099
8100 PARAMETERS
8101
8102 IN
8103 wdiFeatCapRspParams: response parameters received from HAL
8104 pUserData: user data
8105
8106 RETURN VALUE
8107 The result code associated with performing the operation
8108---------------------------------------------------------------------------*/
8109typedef void (*WDI_featureCapsExchangeCb)(void* wdiFeatCapRspParams,
8110 void* pUserData);
8111
Mohit Khanna4a70d262012-09-11 16:30:12 -07008112#ifdef WLAN_FEATURE_11AC
8113typedef void (*WDI_UpdateVHTOpModeCb)(WDI_Status wdiStatus,
8114 void* pUserData);
8115#endif
8116
Leo Chang9056f462013-08-01 19:21:11 -07008117#ifdef FEATURE_WLAN_LPHB
8118typedef void (*WDI_LphbCfgCb)(WDI_Status wdiStatus,
8119 void* pUserData);
8120#endif /* FEATURE_WLAN_LPHB */
Mohit Khanna4a70d262012-09-11 16:30:12 -07008121
Rajeev79dbe4c2013-10-05 11:03:42 +05308122#ifdef FEATURE_WLAN_BATCH_SCAN
8123/*---------------------------------------------------------------------------
8124 WDI_SetBatchScanCb
8125
8126 DESCRIPTION
8127
8128 This callback is invoked by DAL when it has received a get batch scan
8129 response from the underlying device.
8130
8131 PARAMETERS
8132
8133 IN
8134 wdiStatus: response status received from HAL
8135 pUserData: user data
8136
8137
8138
8139 RETURN VALUE
8140 The result code associated with performing the operation
8141---------------------------------------------------------------------------*/
8142typedef void (*WDI_SetBatchScanCb)(void *pData, WDI_SetBatchScanRspType *pRsp);
8143
8144#endif
8145
c_hpothu92367912014-05-01 15:18:17 +05308146typedef void (*WDI_GetBcnMissRateCb)(wpt_uint8 status, wpt_uint32 bcnMissRate,
8147 void* pUserData);
Rajeev79dbe4c2013-10-05 11:03:42 +05308148
Dino Mycle41bdc942014-06-10 11:30:24 +05308149#ifdef WLAN_FEATURE_EXTSCAN
8150typedef void (*WDI_EXTScanStartRspCb)(void *pEventData,
8151 void *pUserData);
8152typedef void (*WDI_EXTScanStopRspCb)(void *pEventData,
8153 void *pUserData);
8154typedef void (*WDI_EXTScanGetCachedResultsRspCb)(void *pEventData,
8155 void *pUserData);
8156typedef void (*WDI_EXTScanGetCapabilitiesRspCb)(void *pEventData,
8157 void *pUserData);
8158typedef void (*WDI_EXTScanSetBSSIDHotlistRspCb)(void *pEventData,
8159 void *pUserData);
8160typedef void (*WDI_EXTScanResetBSSIDHotlistRspCb)(void *pEventData,
8161 void *pUserData);
Padma, Santhosh Kumar9acee012015-08-21 19:58:01 +05308162typedef void (*WDI_EXTScanSetSSIDHotlistRspCb)(void *pEventData,
8163 void *pUserData);
8164typedef void (*WDI_EXTScanResetSSIDHotlistRspCb)(void *pEventData,
8165 void *pUserData);
Dino Mycle41bdc942014-06-10 11:30:24 +05308166#endif /* WLAN_FEATURE_EXTSCAN */
Sunil Duttbd736ed2014-05-26 21:19:41 +05308167
8168#ifdef WLAN_FEATURE_LINK_LAYER_STATS
8169typedef void (*WDI_LLStatsSetRspCb)(void *pEventData,
8170 void *pUserData);
8171typedef void (*WDI_LLStatsGetRspCb)(void *pEventData,
8172 void *pUserData);
8173typedef void (*WDI_LLStatsClearRspCb)(void *pEventData,
8174 void *pUserData);
8175#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
Siddharth Bhal171788a2014-09-29 21:02:40 +05308176
8177typedef void (*WDI_SetSpoofMacAddrRspCb)(
8178 WDI_SpoofMacAddrRspParamType* wdiRsp, void *pUserData);
Srinivas Dasari4dae48f2014-11-26 21:14:16 +05308179
Abhishek Singh85b74712014-10-08 11:38:19 +05308180typedef void (*WDI_FWStatsGetRspCb)(WDI_Status status,void *fwStatsResp,
8181 void *pUserData);
Srinivas Dasari4dae48f2014-11-26 21:14:16 +05308182
8183typedef void (*WDI_EncryptMsgRspCb)(wpt_uint8 status, void *pEventData, void* pUserData);
Siddharth Bhald1be97f2015-05-27 22:39:59 +05308184typedef void (*WDI_FWLoggingInitRspCb)(
8185 WDI_FWLoggingInitRspParamType *wdiRsp, void *pUserData);
Siddharth Bhal64246172015-02-27 01:04:37 +05308186typedef void (*WDI_GetFrameLogRspCb)(
8187 WDI_GetFrameLogRspParamType *wdiRsp, void *pUserData);
Sachin Ahuja715aafc2015-07-21 23:35:10 +05308188typedef void (*WDI_FatalEventLogsRspCb)(
8189 WDI_FatalEventLogsRspParamType *wdiRsp, void *pUserData);
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05308190
Hanumantha Reddy Pothula91cdd7f2015-09-03 21:25:16 +05308191typedef void (*WDI_MonModeRspCb)(void *pEventData,void *pUserData);
Gupta, Kapil7c34b322015-09-30 13:12:35 +05308192typedef void (*WDI_RssiMonitorStartRspCb)(void *pEventData,void *pUserData);
8193typedef void (*WDI_RssiMonitorStopRspCb)(void *pEventData,void *pUserData);
Katya Nigamf0511f62015-05-05 16:40:57 +05308194
c_manjeecfd1efb2015-09-25 19:32:34 +05308195typedef void (*WDI_FwrMemDumpRspCb)(WDI_FwrMemDumpRsp *wdiRsp, void *pUserData);
8196
Arun Khandavalli7eeb1592015-10-19 21:36:57 +05308197typedef void (*WDI_WifiConfigSetRspCb) (WDI_WifconfigSetRsp *wdiRsp, void *pUserData);
c_manjeecfd1efb2015-09-25 19:32:34 +05308198
Mahesh A Saptasagarb63b3e22015-12-22 15:06:10 +05308199typedef void (*WDI_AntennaDivSelRspCb)(WDI_Status status,
8200 void *resp, void *pUserData);
8201
Jeff Johnson295189b2012-06-20 16:38:30 -07008202/*========================================================================
8203 * Function Declarations and Documentation
8204 ==========================================================================*/
8205
8206/*========================================================================
8207
8208 INITIALIZATION APIs
8209
8210==========================================================================*/
8211
8212/**
8213 @brief WDI_Init is used to initialize the DAL.
8214
8215 DAL will allocate all the resources it needs. It will open PAL, it will also
8216 open both the data and the control transport which in their turn will open
8217 DXE/SMD or any other drivers that they need.
8218
Arun Kumar Khandavalliebb19482014-03-25 13:56:53 +05308219 @param devHandle: pointer to the OS specific device handle
Jeff Johnson295189b2012-06-20 16:38:30 -07008220 ppWDIGlobalCtx: output pointer of Global Context
8221 pWdiDevCapability: output pointer of device capability
8222
8223 @return Result of the function call
8224*/
8225WDI_Status
8226WDI_Init
8227(
Arun Kumar Khandavalliebb19482014-03-25 13:56:53 +05308228 void* devHandle,
Jeff Johnson295189b2012-06-20 16:38:30 -07008229 void** ppWDIGlobalCtx,
8230 WDI_DeviceCapabilityType* pWdiDevCapability,
8231 unsigned int driverType
8232);
8233
8234/**
8235 @brief WDI_Start will be called when the upper MAC is ready to
8236 commence operation with the WLAN Device. Upon the call
8237 of this API the WLAN DAL will pack and send a HAL Start
8238 message to the lower RIVA sub-system if the SMD channel
8239 has been fully opened and the RIVA subsystem is up.
8240
8241 If the RIVA sub-system is not yet up and running DAL
8242 will queue the request for Open and will wait for the
8243 SMD notification before attempting to send down the
8244 message to HAL.
8245
8246 WDI_Init must have been called.
8247
8248 @param wdiStartParams: the start parameters as specified by
8249 the Device Interface
8250
8251 wdiStartRspCb: callback for passing back the response of
8252 the start operation received from the device
8253
8254 pUserData: user data will be passed back with the
8255 callback
8256
8257 @see WDI_Start
8258 @return Result of the function call
8259*/
8260WDI_Status
8261WDI_Start
8262(
8263 WDI_StartReqParamsType* pwdiStartParams,
8264 WDI_StartRspCb wdiStartRspCb,
8265 void* pUserData
8266);
8267
8268
8269/**
8270 @brief WDI_Stop will be called when the upper MAC is ready to
8271 stop any operation with the WLAN Device. Upon the call
8272 of this API the WLAN DAL will pack and send a HAL Stop
8273 message to the lower RIVA sub-system if the DAL Core is
8274 in started state.
8275
8276 In state BUSY this request will be queued.
8277
8278 Request will not be accepted in any other state.
8279
8280 WDI_Start must have been called.
8281
8282 @param wdiStopParams: the stop parameters as specified by
8283 the Device Interface
8284
8285 wdiStopRspCb: callback for passing back the response of
8286 the stop operation received from the device
8287
8288 pUserData: user data will be passed back with the
8289 callback
8290
8291 @see WDI_Start
8292 @return Result of the function call
8293*/
8294WDI_Status
8295WDI_Stop
8296(
8297 WDI_StopReqParamsType* pwdiStopParams,
8298 WDI_StopRspCb wdiStopRspCb,
8299 void* pUserData
8300);
8301
8302/**
8303 @brief WDI_Close will be called when the upper MAC no longer
8304 needs to interract with DAL. DAL will free its control
8305 block.
8306
8307 It is only accepted in state STOPPED.
8308
8309 WDI_Stop must have been called.
8310
8311 @param none
8312
8313 @see WDI_Stop
8314 @return Result of the function call
8315*/
8316WDI_Status
8317WDI_Close
8318(
8319 void
8320);
8321
8322
8323/**
8324 @brief WDI_Shutdown will be called during 'SSR shutdown' operation.
8325 This will do most of the WDI stop & close
8326 operations without doing any handshake with Riva
8327
8328 This will also make sure that the control transport
8329 will NOT be closed.
8330
8331 This request will not be queued.
8332
8333
8334 WDI_Start must have been called.
8335
8336 @param closeTransport: Close control channel if this is set
8337
8338 @return Result of the function call
8339*/
8340WDI_Status
8341WDI_Shutdown
8342(
8343 wpt_boolean closeTransport
8344);
8345
8346/*========================================================================
8347
8348 SCAN APIs
8349
8350==========================================================================*/
8351
8352/**
8353 @brief WDI_InitScanReq will be called when the upper MAC wants
8354 the WLAN Device to get ready for a scan procedure. Upon
8355 the call of this API the WLAN DAL will pack and send a
8356 HAL Init Scan request message to the lower RIVA
8357 sub-system if DAL is in state STARTED.
8358
8359 In state BUSY this request will be queued. Request won't
8360 be allowed in any other state.
8361
8362 WDI_Start must have been called.
8363
8364 @param wdiInitScanParams: the init scan parameters as specified
8365 by the Device Interface
8366
8367 wdiInitScanRspCb: callback for passing back the response
8368 of the init scan operation received from the device
8369
8370 pUserData: user data will be passed back with the
8371 callback
8372
8373 @see WDI_Start
8374 @return Result of the function call
8375*/
8376WDI_Status
8377WDI_InitScanReq
8378(
8379 WDI_InitScanReqParamsType* pwdiInitScanParams,
8380 WDI_InitScanRspCb wdiInitScanRspCb,
8381 void* pUserData
8382);
8383
8384/**
8385 @brief WDI_StartScanReq will be called when the upper MAC
8386 wishes to change the Scan channel on the WLAN Device.
8387 Upon the call of this API the WLAN DAL will pack and
8388 send a HAL Start Scan request message to the lower RIVA
8389 sub-system if DAL is in state STARTED.
8390
8391 In state BUSY this request will be queued. Request won't
8392 be allowed in any other state.
8393
8394 WDI_InitScanReq must have been called.
8395
8396 @param wdiStartScanParams: the start scan parameters as
8397 specified by the Device Interface
8398
8399 wdiStartScanRspCb: callback for passing back the
8400 response of the start scan operation received from the
8401 device
8402
8403 pUserData: user data will be passed back with the
8404 callback
8405
8406 @see WDI_InitScanReq
8407 @return Result of the function call
8408*/
8409WDI_Status
8410WDI_StartScanReq
8411(
8412 WDI_StartScanReqParamsType* pwdiStartScanParams,
8413 WDI_StartScanRspCb wdiStartScanRspCb,
8414 void* pUserData
8415);
8416
8417
8418/**
8419 @brief WDI_EndScanReq will be called when the upper MAC is
8420 wants to end scanning for a particular channel that it
8421 had set before by calling Scan Start on the WLAN Device.
8422 Upon the call of this API the WLAN DAL will pack and
8423 send a HAL End Scan request message to the lower RIVA
8424 sub-system if DAL is in state STARTED.
8425
8426 In state BUSY this request will be queued. Request won't
8427 be allowed in any other state.
8428
8429 WDI_StartScanReq must have been called.
8430
8431 @param wdiEndScanParams: the end scan parameters as specified
8432 by the Device Interface
8433
8434 wdiEndScanRspCb: callback for passing back the response
8435 of the end scan operation received from the device
8436
8437 pUserData: user data will be passed back with the
8438 callback
8439
8440 @see WDI_StartScanReq
8441 @return Result of the function call
8442*/
8443WDI_Status
8444WDI_EndScanReq
8445(
8446 WDI_EndScanReqParamsType* pwdiEndScanParams,
8447 WDI_EndScanRspCb wdiEndScanRspCb,
8448 void* pUserData
8449);
8450
8451
8452/**
8453 @brief WDI_FinishScanReq will be called when the upper MAC has
8454 completed the scan process on the WLAN Device. Upon the
8455 call of this API the WLAN DAL will pack and send a HAL
8456 Finish Scan Request request message to the lower RIVA
8457 sub-system if DAL is in state STARTED.
8458
8459 In state BUSY this request will be queued. Request won't
8460 be allowed in any other state.
8461
8462 WDI_InitScanReq must have been called.
8463
8464 @param wdiFinishScanParams: the finish scan parameters as
8465 specified by the Device Interface
8466
8467 wdiFinishScanRspCb: callback for passing back the
8468 response of the finish scan operation received from the
8469 device
8470
8471 pUserData: user data will be passed back with the
8472 callback
8473
8474 @see WDI_InitScanReq
8475 @return Result of the function call
8476*/
8477WDI_Status
8478WDI_FinishScanReq
8479(
8480 WDI_FinishScanReqParamsType* pwdiFinishScanParams,
8481 WDI_FinishScanRspCb wdiFinishScanRspCb,
8482 void* pUserData
8483);
8484
8485/*========================================================================
8486
8487 ASSOCIATION APIs
8488
8489==========================================================================*/
8490
8491/**
8492 @brief WDI_JoinReq will be called when the upper MAC is ready
8493 to start an association procedure to a BSS. Upon the
8494 call of this API the WLAN DAL will pack and send a HAL
8495 Join request message to the lower RIVA sub-system if
8496 DAL is in state STARTED.
8497
8498 In state BUSY this request will be queued. Request won't
8499 be allowed in any other state.
8500
8501 WDI_Start must have been called.
8502
8503 @param wdiJoinParams: the join parameters as specified by
8504 the Device Interface
8505
8506 wdiJoinRspCb: callback for passing back the response of
8507 the join operation received from the device
8508
8509 pUserData: user data will be passed back with the
8510 callback
8511
8512 @see WDI_Start
8513 @return Result of the function call
8514*/
8515WDI_Status
8516WDI_JoinReq
8517(
8518 WDI_JoinReqParamsType* pwdiJoinParams,
8519 WDI_JoinRspCb wdiJoinRspCb,
8520 void* pUserData
8521);
8522
8523/**
8524 @brief WDI_ConfigBSSReq will be called when the upper MAC
8525 wishes to configure the newly acquired or in process of
8526 being acquired BSS to the HW . Upon the call of this API
8527 the WLAN DAL will pack and send a HAL Config BSS request
8528 message to the lower RIVA sub-system if DAL is in state
8529 STARTED.
8530
8531 In state BUSY this request will be queued. Request won't
8532 be allowed in any other state.
8533
8534 WDI_JoinReq must have been called.
8535
8536 @param wdiConfigBSSParams: the config BSS parameters as
8537 specified by the Device Interface
8538
8539 wdiConfigBSSRspCb: callback for passing back the
8540 response of the config BSS operation received from the
8541 device
8542
8543 pUserData: user data will be passed back with the
8544 callback
8545
8546 @see WDI_JoinReq
8547 @return Result of the function call
8548*/
8549WDI_Status
8550WDI_ConfigBSSReq
8551(
8552 WDI_ConfigBSSReqParamsType* pwdiConfigBSSParams,
8553 WDI_ConfigBSSRspCb wdiConfigBSSRspCb,
8554 void* pUserData
8555);
8556
8557/**
8558 @brief WDI_DelBSSReq will be called when the upper MAC is
8559 dissasociating from the BSS and wishes to notify HW.
8560 Upon the call of this API the WLAN DAL will pack and
8561 send a HAL Del BSS request message to the lower RIVA
8562 sub-system if DAL is in state STARTED.
8563
8564 In state BUSY this request will be queued. Request won't
8565 be allowed in any other state.
8566
8567 WDI_ConfigBSSReq or WDI_PostAssocReq must have been called.
8568
8569 @param wdiDelBSSParams: the del BSS parameters as specified by
8570 the Device Interface
8571
8572 wdiDelBSSRspCb: callback for passing back the response
8573 of the del bss operation received from the device
8574
8575 pUserData: user data will be passed back with the
8576 callback
8577
8578 @see WDI_ConfigBSSReq, WDI_PostAssocReq
8579 @return Result of the function call
8580*/
8581WDI_Status
8582WDI_DelBSSReq
8583(
8584 WDI_DelBSSReqParamsType* pwdiDelBSSParams,
8585 WDI_DelBSSRspCb wdiDelBSSRspCb,
8586 void* pUserData
8587);
8588
8589/**
8590 @brief WDI_PostAssocReq will be called when the upper MAC has
8591 associated to a BSS and wishes to configure HW for
8592 associated state. Upon the call of this API the WLAN DAL
8593 will pack and send a HAL Post Assoc request message to
8594 the lower RIVA sub-system if DAL is in state STARTED.
8595
8596 In state BUSY this request will be queued. Request won't
8597 be allowed in any other state.
8598
8599 WDI_JoinReq must have been called.
8600
8601 @param wdiPostAssocReqParams: the assoc parameters as specified
8602 by the Device Interface
8603
8604 wdiPostAssocRspCb: callback for passing back the
8605 response of the post assoc operation received from the
8606 device
8607
8608 pUserData: user data will be passed back with the
8609 callback
8610
8611 @see WDI_JoinReq
8612 @return Result of the function call
8613*/
8614WDI_Status
8615WDI_PostAssocReq
8616(
8617 WDI_PostAssocReqParamsType* pwdiPostAssocReqParams,
8618 WDI_PostAssocRspCb wdiPostAssocRspCb,
8619 void* pUserData
8620);
8621
8622/**
8623 @brief WDI_DelSTAReq will be called when the upper MAC when an
8624 association with another STA has ended and the station
8625 must be deleted from HW. Upon the call of this API the
8626 WLAN DAL will pack and send a HAL Del STA request
8627 message to the lower RIVA sub-system if DAL is in state
8628 STARTED.
8629
8630 In state BUSY this request will be queued. Request won't
8631 be allowed in any other state.
8632
8633 WDI_PostAssocReq must have been called.
8634
8635 @param wdiDelSTAParams: the Del STA parameters as specified by
8636 the Device Interface
8637
8638 wdiDelSTARspCb: callback for passing back the response
8639 of the del STA operation received from the device
8640
8641 pUserData: user data will be passed back with the
8642 callback
8643
8644 @see WDI_PostAssocReq
8645 @return Result of the function call
8646*/
8647WDI_Status
8648WDI_DelSTAReq
8649(
8650 WDI_DelSTAReqParamsType* pwdiDelSTAParams,
8651 WDI_DelSTARspCb wdiDelSTARspCb,
8652 void* pUserData
8653);
8654
8655/*========================================================================
8656
8657 SECURITY APIs
8658
8659==========================================================================*/
8660
8661/**
8662 @brief WDI_SetBSSKeyReq will be called when the upper MAC ito
8663 install a BSS encryption key on the HW. Upon the call of
8664 this API the WLAN DAL will pack and send a HAL Start
8665 request message to the lower RIVA sub-system if DAL is
8666 in state STARTED.
8667
8668 In state BUSY this request will be queued. Request won't
8669 be allowed in any other state.
8670
8671 WDI_PostAssocReq must have been called.
8672
8673 @param wdiSetBSSKeyParams: the BSS Key set parameters as
8674 specified by the Device Interface
8675
8676 wdiSetBSSKeyRspCb: callback for passing back the
8677 response of the set BSS Key operation received from the
8678 device
8679
8680 pUserData: user data will be passed back with the
8681 callback
8682
8683 @see WDI_PostAssocReq
8684 @return Result of the function call
8685*/
8686WDI_Status
8687WDI_SetBSSKeyReq
8688(
8689 WDI_SetBSSKeyReqParamsType* pwdiSetBSSKeyParams,
8690 WDI_SetBSSKeyRspCb wdiSetBSSKeyRspCb,
8691 void* pUserData
8692);
8693
8694
8695/**
8696 @brief WDI_RemoveBSSKeyReq will be called when the upper MAC to
8697 uninstall a BSS key from HW. Upon the call of this API
8698 the WLAN DAL will pack and send a HAL Remove BSS Key
8699 request message to the lower RIVA sub-system if DAL is
8700 in state STARTED.
8701
8702 In state BUSY this request will be queued. Request won't
8703 be allowed in any other state.
8704
8705 WDI_SetBSSKeyReq must have been called.
8706
8707 @param wdiRemoveBSSKeyParams: the remove BSS key parameters as
8708 specified by the Device Interface
8709
8710 wdiRemoveBSSKeyRspCb: callback for passing back the
8711 response of the remove BSS key operation received from
8712 the device
8713
8714 pUserData: user data will be passed back with the
8715 callback
8716
8717 @see WDI_SetBSSKeyReq
8718 @return Result of the function call
8719*/
8720WDI_Status
8721WDI_RemoveBSSKeyReq
8722(
8723 WDI_RemoveBSSKeyReqParamsType* pwdiRemoveBSSKeyParams,
8724 WDI_RemoveBSSKeyRspCb wdiRemoveBSSKeyRspCb,
8725 void* pUserData
8726);
8727
8728
8729/**
8730 @brief WDI_SetSTAKeyReq will be called when the upper MAC is
8731 ready to install a STA(ast) encryption key in HW. Upon
8732 the call of this API the WLAN DAL will pack and send a
8733 HAL Set STA Key request message to the lower RIVA
8734 sub-system if DAL is in state STARTED.
8735
8736 In state BUSY this request will be queued. Request won't
8737 be allowed in any other state.
8738
8739 WDI_PostAssocReq must have been called.
8740
8741 @param wdiSetSTAKeyParams: the set STA key parameters as
8742 specified by the Device Interface
8743
8744 wdiSetSTAKeyRspCb: callback for passing back the
8745 response of the set STA key operation received from the
8746 device
8747
8748 pUserData: user data will be passed back with the
8749 callback
8750
8751 @see WDI_PostAssocReq
8752 @return Result of the function call
8753*/
8754WDI_Status
8755WDI_SetSTAKeyReq
8756(
8757 WDI_SetSTAKeyReqParamsType* pwdiSetSTAKeyParams,
8758 WDI_SetSTAKeyRspCb wdiSetSTAKeyRspCb,
8759 void* pUserData
8760);
8761
8762
8763/**
8764 @brief WDI_RemoveSTAKeyReq will be called when the upper MAC
8765 wants to unistall a previously set STA key in HW. Upon
8766 the call of this API the WLAN DAL will pack and send a
8767 HAL Remove STA Key request message to the lower RIVA
8768 sub-system if DAL is in state STARTED.
8769
8770 In state BUSY this request will be queued. Request won't
8771 be allowed in any other state.
8772
8773 WDI_SetSTAKeyReq must have been called.
8774
8775 @param wdiRemoveSTAKeyParams: the remove STA key parameters as
8776 specified by the Device Interface
8777
8778 wdiRemoveSTAKeyRspCb: callback for passing back the
8779 response of the remove STA key operation received from
8780 the device
8781
8782 pUserData: user data will be passed back with the
8783 callback
8784
8785 @see WDI_SetSTAKeyReq
8786 @return Result of the function call
8787*/
8788WDI_Status
8789WDI_RemoveSTAKeyReq
8790(
8791 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTAKeyParams,
8792 WDI_RemoveSTAKeyRspCb wdiRemoveSTAKeyRspCb,
8793 void* pUserData
8794);
8795
8796/**
8797 @brief WDI_SetSTABcastKeyReq will be called when the upper MAC
8798 wants to install a STA Bcast encryption key on the HW.
8799 Upon the call of this API the WLAN DAL will pack and
8800 send a HAL Start request message to the lower RIVA
8801 sub-system if DAL is in state STARTED.
8802
8803 In state BUSY this request will be queued. Request won't
8804 be allowed in any other state.
8805
8806 WDI_PostAssocReq must have been called.
8807
8808 @param pwdiSetSTABcastKeyParams: the BSS Key set parameters as
8809 specified by the Device Interface
8810
8811 wdiSetSTABcastKeyRspCb: callback for passing back the
8812 response of the set BSS Key operation received from the
8813 device
8814
8815 pUserData: user data will be passed back with the
8816 callback
8817
8818 @see WDI_PostAssocReq
8819 @return Result of the function call
8820*/
8821WDI_Status
8822WDI_SetSTABcastKeyReq
8823(
8824 WDI_SetSTAKeyReqParamsType* pwdiSetSTABcastKeyParams,
8825 WDI_SetSTAKeyRspCb wdiSetSTABcastKeyRspCb,
8826 void* pUserData
8827);
8828
8829
8830/**
8831 @brief WDI_RemoveSTABcastKeyReq will be called when the upper
8832 MAC to uninstall a STA Bcast key from HW. Upon the call
8833 of this API the WLAN DAL will pack and send a HAL Remove
8834 STA Bcast Key request message to the lower RIVA
8835 sub-system if DAL is in state STARTED.
8836
8837 In state BUSY this request will be queued. Request won't
8838 be allowed in any other state.
8839
8840 WDI_SetSTABcastKeyReq must have been called.
8841
8842 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
8843 parameters as specified by the Device
8844 Interface
8845
8846 wdiRemoveSTABcastKeyRspCb: callback for passing back the
8847 response of the remove STA Bcast key operation received
8848 from the device
8849
8850 pUserData: user data will be passed back with the
8851 callback
8852
8853 @see WDI_SetSTABcastKeyReq
8854 @return Result of the function call
8855*/
8856WDI_Status
8857WDI_RemoveSTABcastKeyReq
8858(
8859 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTABcastKeyParams,
8860 WDI_RemoveSTAKeyRspCb wdiRemoveSTABcastKeyRspCb,
8861 void* pUserData
8862);
8863
schang86c22c42013-03-13 18:41:24 -07008864
8865/**
8866 @brief WDI_SetTxPowerReq will be called when the upper
8867 MAC wants to set Tx Power to HW.
8868 In state BUSY this request will be queued. Request won't
8869 be allowed in any other state.
8870
8871
8872 @param pwdiSetTxPowerParams: set TS Power parameters
8873 BSSID and target TX Power with dbm included
8874
8875 wdiReqStatusCb: callback for passing back the response
8876
8877 pUserData: user data will be passed back with the
8878 callback
8879
8880 @return Result of the function call
8881*/
8882WDI_Status
8883WDI_SetTxPowerReq
8884(
8885 WDI_SetTxPowerParamsType* pwdiSetTxPowerParams,
8886 WDA_SetTxPowerRspCb wdiReqStatusCb,
8887 void* pUserData
8888);
8889
Jeff Johnson295189b2012-06-20 16:38:30 -07008890/**
8891 @brief WDI_SetMaxTxPowerReq will be called when the upper
8892 MAC wants to set Max Tx Power to HW. Upon the
8893 call of this API the WLAN DAL will pack and send a HAL
8894 Remove STA Bcast Key request message to the lower RIVA
8895 sub-system if DAL is in state STARTED.
8896
8897 In state BUSY this request will be queued. Request won't
8898 be allowed in any other state.
8899
8900 WDI_SetSTABcastKeyReq must have been called.
8901
8902 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
8903 parameters as specified by the Device
8904 Interface
8905
8906 wdiRemoveSTABcastKeyRspCb: callback for passing back the
8907 response of the remove STA Bcast key operation received
8908 from the device
8909
8910 pUserData: user data will be passed back with the
8911 callback
8912
8913 @see WDI_SetMaxTxPowerReq
8914 @return Result of the function call
8915*/
8916WDI_Status
8917WDI_SetMaxTxPowerReq
8918(
8919 WDI_SetMaxTxPowerParamsType* pwdiSetMaxTxPowerParams,
8920 WDA_SetMaxTxPowerRspCb wdiReqStatusCb,
8921 void* pUserData
8922);
8923
Arif Hussaina5ebce02013-08-09 15:09:58 -07008924/**
8925 @brief WDI_SetMaxTxPowerPerBandReq will be called when the upper
8926 MAC wants to set Max Tx Power to HW for specific band. Upon the
8927 call of this API the WLAN DAL will pack and send a HAL
8928 Set Max Tx Power Per Band request message to the lower RIVA
8929 sub-system if DAL is in state STARTED.
8930
8931 In state BUSY this request will be queued. Request won't
8932 be allowed in any other state.
8933
8934
8935 @param WDI_SetMaxTxPowerPerBandParamsType: Max Tx Per Band Info
8936
8937 WDA_SetMaxTxPowerPerBandRspCb: This callback is invoked by DAL
8938 when it has received a set max Tx Power Per Band response from
8939 the underlying device.
8940
8941 pUserData: user data will be passed back with the
8942 callback
8943
8944 @see WDI_SetMaxTxPowerPerBandReq
8945 @return Result of the function call
8946*/
8947WDI_Status
8948WDI_SetMaxTxPowerPerBandReq
8949(
8950 WDI_SetMaxTxPowerPerBandParamsType* pwdiSetMaxTxPowerPerBandParams,
8951 WDA_SetMaxTxPowerPerBandRspCb wdiReqStatusCb,
8952 void* pUserData
8953);
8954
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08008955#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07008956/**
8957 @brief WDI_TSMStatsReq will be called by the upper MAC to fetch
8958 Traffic Stream metrics.
8959 In state BUSY this request will be queued. Request won't
8960 be allowed in any other state.
8961
8962 @param wdiAddTsReqParams: the add TS parameters as specified by
8963 the Device Interface
8964
8965 wdiAddTsRspCb: callback for passing back the response of
8966 the add TS operation received from the device
8967
8968 pUserData: user data will be passed back with the
8969 callback
8970
8971 @see WDI_PostAssocReq
8972 @return Result of the function call
8973*/
8974WDI_Status
8975WDI_TSMStatsReq
8976(
8977 WDI_TSMStatsReqParamsType* pwdiTsmStatsReqParams,
8978 WDI_TsmRspCb wdiTsmStatsRspCb,
8979 void* pUserData
8980);
8981
8982
8983#endif
8984
8985/*========================================================================
8986
8987 QoS and BA APIs
8988
8989==========================================================================*/
8990
8991/**
8992 @brief WDI_AddTSReq will be called when the upper MAC to inform
8993 the device of a successful add TSpec negotiation. HW
8994 needs to receive the TSpec Info from the UMAC in order
8995 to configure properly the QoS data traffic. Upon the
8996 call of this API the WLAN DAL will pack and send a HAL
8997 Add TS request message to the lower RIVA sub-system if
8998 DAL is in state STARTED.
8999
9000 In state BUSY this request will be queued. Request won't
9001 be allowed in any other state.
9002
9003 WDI_PostAssocReq must have been called.
9004
9005 @param wdiAddTsReqParams: the add TS parameters as specified by
9006 the Device Interface
9007
9008 wdiAddTsRspCb: callback for passing back the response of
9009 the add TS operation received from the device
9010
9011 pUserData: user data will be passed back with the
9012 callback
9013
9014 @see WDI_PostAssocReq
9015 @return Result of the function call
9016*/
9017WDI_Status
9018WDI_AddTSReq
9019(
9020 WDI_AddTSReqParamsType* pwdiAddTsReqParams,
9021 WDI_AddTsRspCb wdiAddTsRspCb,
9022 void* pUserData
9023);
9024
9025
9026
9027/**
9028 @brief WDI_DelTSReq will be called when the upper MAC has ended
9029 admission on a specific AC. This is to inform HW that
9030 QoS traffic parameters must be rest. Upon the call of
9031 this API the WLAN DAL will pack and send a HAL Del TS
9032 request message to the lower RIVA sub-system if DAL is
9033 in state STARTED.
9034
9035 In state BUSY this request will be queued. Request won't
9036 be allowed in any other state.
9037
9038 WDI_AddTSReq must have been called.
9039
9040 @param wdiDelTsReqParams: the del TS parameters as specified by
9041 the Device Interface
9042
9043 wdiDelTsRspCb: callback for passing back the response of
9044 the del TS operation received from the device
9045
9046 pUserData: user data will be passed back with the
9047 callback
9048
9049 @see WDI_AddTSReq
9050 @return Result of the function call
9051*/
9052WDI_Status
9053WDI_DelTSReq
9054(
9055 WDI_DelTSReqParamsType* pwdiDelTsReqParams,
9056 WDI_DelTsRspCb wdiDelTsRspCb,
9057 void* pUserData
9058);
9059
9060
9061
9062/**
9063 @brief WDI_UpdateEDCAParams will be called when the upper MAC
9064 wishes to update the EDCA parameters used by HW for QoS
9065 data traffic. Upon the call of this API the WLAN DAL
9066 will pack and send a HAL Update EDCA Params request
9067 message to the lower RIVA sub-system if DAL is in state
9068 STARTED.
9069
9070 In state BUSY this request will be queued. Request won't
9071 be allowed in any other state.
9072
9073 WDI_PostAssocReq must have been called.
9074
9075 @param wdiUpdateEDCAParams: the start parameters as specified
9076 by the Device Interface
9077
9078 wdiUpdateEDCAParamsRspCb: callback for passing back the
9079 response of the start operation received from the device
9080
9081 pUserData: user data will be passed back with the
9082 callback
9083
9084 @see WDI_PostAssocReq
9085 @return Result of the function call
9086*/
9087WDI_Status
9088WDI_UpdateEDCAParams
9089(
9090 WDI_UpdateEDCAParamsType* pwdiUpdateEDCAParams,
9091 WDI_UpdateEDCAParamsRspCb wdiUpdateEDCAParamsRspCb,
9092 void* pUserData
9093);
9094
9095
9096
9097/**
9098 @brief WDI_AddBASessionReq will be called when the upper MAC has setup
9099 successfully a BA session and needs to notify the HW for
9100 the appropriate settings to take place. Upon the call of
9101 this API the WLAN DAL will pack and send a HAL Add BA
9102 request message to the lower RIVA sub-system if DAL is
9103 in state STARTED.
9104
9105 In state BUSY this request will be queued. Request won't
9106 be allowed in any other state.
9107
9108 WDI_PostAssocReq must have been called.
9109
9110 @param wdiAddBAReqParams: the add BA parameters as specified by
9111 the Device Interface
9112
9113 wdiAddBARspCb: callback for passing back the response of
9114 the add BA operation received from the device
9115
9116 pUserData: user data will be passed back with the
9117 callback
9118
9119 @see WDI_PostAssocReq
9120 @return Result of the function call
9121*/
9122WDI_Status
9123WDI_AddBASessionReq
9124(
9125 WDI_AddBASessionReqParamsType* pwdiAddBASessionReqParams,
9126 WDI_AddBASessionRspCb wdiAddBASessionRspCb,
9127 void* pUserData
9128);
9129
9130
9131/**
9132 @brief WDI_DelBAReq will be called when the upper MAC wants to
9133 inform HW that it has deleted a previously created BA
9134 session. Upon the call of this API the WLAN DAL will
9135 pack and send a HAL Del BA request message to the lower
9136 RIVA sub-system if DAL is in state STARTED.
9137
9138 In state BUSY this request will be queued. Request won't
9139 be allowed in any other state.
9140
9141 WDI_AddBAReq must have been called.
9142
9143 @param wdiDelBAReqParams: the del BA parameters as specified by
9144 the Device Interface
9145
9146 wdiDelBARspCb: callback for passing back the response of
9147 the del BA operation received from the device
9148
9149 pUserData: user data will be passed back with the
9150 callback
9151
9152 @see WDI_AddBAReq
9153 @return Result of the function call
9154*/
9155WDI_Status
9156WDI_DelBAReq
9157(
9158 WDI_DelBAReqParamsType* pwdiDelBAReqParams,
9159 WDI_DelBARspCb wdiDelBARspCb,
9160 void* pUserData
9161);
9162
9163/**
9164 @brief WDI_UpdateBeaconParamsReq will be called when the upper MAC wants to
9165 inform HW that there is a change in the beacon parameters
9166 Upon the call of this API the WLAN DAL will
9167 pack and send a UpdateBeacon Params message to the lower
9168 RIVA sub-system if DAL is in state STARTED.
9169
9170 In state BUSY this request will be queued. Request won't
9171 be allowed in any other state.
9172
9173 WDI_UpdateBeaconParamsReq must have been called.
9174
9175 @param WDI_UpdateBeaconParamsType: the Update Beacon parameters as specified by
9176 the Device Interface
9177
9178 WDI_UpdateBeaconParamsRspCb: callback for passing back the response of
9179 the Update Beacon Params operation received from the device
9180
9181 pUserData: user data will be passed back with the
9182 callback
9183
9184 @see WDI_AddBAReq
9185 @return Result of the function call
9186*/
9187
9188WDI_Status
9189WDI_UpdateBeaconParamsReq
9190(
9191 WDI_UpdateBeaconParamsType * pwdiUpdateBeaconParams,
9192 WDI_UpdateBeaconParamsRspCb wdiUpdateBeaconParamsRspCb,
9193 void* pUserData
9194);
9195
9196
9197/**
9198 @brief WDI_SendBeaconParamsReq will be called when the upper MAC wants to
9199 update the beacon template to be transmitted as BT MAP STA/IBSS/Soft AP
9200 Upon the call of this API the WLAN DAL will
9201 pack and send the beacon Template message to the lower
9202 RIVA sub-system if DAL is in state STARTED.
9203
9204 In state BUSY this request will be queued. Request won't
9205 be allowed in any other state.
9206
9207 WDI_SendBeaconParamsReq must have been called.
9208
9209 @param WDI_SendBeaconParamsType: the Update Beacon parameters as specified by
9210 the Device Interface
9211
9212 WDI_SendBeaconParamsRspCb: callback for passing back the response of
9213 the Send Beacon Params operation received from the device
9214
9215 pUserData: user data will be passed back with the
9216 callback
9217
9218 @see WDI_AddBAReq
9219 @return Result of the function call
9220*/
9221
9222WDI_Status
9223WDI_SendBeaconParamsReq
9224(
9225 WDI_SendBeaconParamsType* pwdiSendBeaconParams,
9226 WDI_SendBeaconParamsRspCb wdiSendBeaconParamsRspCb,
9227 void* pUserData
9228);
9229
9230
9231/**
9232 @brief WDI_UpdateProbeRspTemplateReq will be called when the
9233 upper MAC wants to update the probe response template to
9234 be transmitted as Soft AP
9235 Upon the call of this API the WLAN DAL will
9236 pack and send the probe rsp template message to the
9237 lower RIVA sub-system if DAL is in state STARTED.
9238
9239 In state BUSY this request will be queued. Request won't
9240 be allowed in any other state.
9241
9242
9243 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
9244 specified by the Device Interface
9245
9246 wdiSendBeaconParamsRspCb: callback for passing back the
9247 response of the Send Beacon Params operation received
9248 from the device
9249
9250 pUserData: user data will be passed back with the
9251 callback
9252
9253 @see WDI_AddBAReq
9254 @return Result of the function call
9255*/
9256
9257WDI_Status
9258WDI_UpdateProbeRspTemplateReq
9259(
9260 WDI_UpdateProbeRspTemplateParamsType* pwdiUpdateProbeRspParams,
9261 WDI_UpdateProbeRspTemplateRspCb wdiSendBeaconParamsRspCb,
9262 void* pUserData
9263);
9264
Jeff Johnson295189b2012-06-20 16:38:30 -07009265/**
9266 @brief WDI_SetP2PGONOAReq will be called when the
9267 upper MAC wants to send Notice of Absence
9268 Upon the call of this API the WLAN DAL will
9269 pack and send the probe rsp template message to the
9270 lower RIVA sub-system if DAL is in state STARTED.
9271
9272 In state BUSY this request will be queued. Request won't
9273 be allowed in any other state.
9274
9275
9276 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
9277 specified by the Device Interface
9278
9279 wdiSendBeaconParamsRspCb: callback for passing back the
9280 response of the Send Beacon Params operation received
9281 from the device
9282
9283 pUserData: user data will be passed back with the
9284 callback
9285
9286 @see WDI_AddBAReq
9287 @return Result of the function call
9288*/
9289WDI_Status
9290WDI_SetP2PGONOAReq
9291(
9292 WDI_SetP2PGONOAReqParamsType* pwdiP2PGONOAReqParams,
9293 WDI_SetP2PGONOAReqParamsRspCb wdiP2PGONOAReqParamsRspCb,
9294 void* pUserData
9295);
Jeff Johnson295189b2012-06-20 16:38:30 -07009296
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05309297/**
9298 @brief WDI_SetTDLSLinkEstablishReq will be called when the
9299 upper MAC wants to send TDLS Link Establish Request Parameters
9300 Upon the call of this API the WLAN DAL will
9301 pack and send the TDLS Link Establish Request message to the
9302 lower RIVA sub-system if DAL is in state STARTED.
9303
9304 In state BUSY this request will be queued. Request won't
9305 be allowed in any other state.
9306
9307
9308 @param pwdiTDLSLinkEstablishReqParams: TDLS Peer Parameters
9309 for Link Establishment (Used for PUAPSD , TDLS Off Channel ...)
9310
9311 wdiTDLSLinkEstablishReqRspCb: callback for passing back the
9312 response of the TDLS Link Establish request received
9313 from the device
9314
9315 pUserData: user data will be passed back with the
9316 callback
9317
9318 @see
9319 @return Result of the function call
9320*/
9321WDI_Status
9322WDI_SetTDLSLinkEstablishReq
9323(
9324 WDI_SetTDLSLinkEstablishReqParamsType* pwdiTDLSLinkEstablishReqParams,
9325 WDI_SetTDLSLinkEstablishReqParamsRspCb wdiTDLSLinkEstablishReqRspCb,
9326 void* pUserData
9327);
Jeff Johnson295189b2012-06-20 16:38:30 -07009328
Atul Mittalc0f739f2014-07-31 13:47:47 +05309329WDI_Status
9330WDI_SetTDLSChanSwitchReq
9331(
9332 WDI_SetTDLSChanSwitchReqParamsType* pwdiTDLSChanSwitchReqParams,
9333 WDI_SetTDLSChanSwitchReqParamsRspCb wdiTDLSChanSwitchRReqRspCb,
9334 void* pUserData
9335);
Jeff Johnson295189b2012-06-20 16:38:30 -07009336/*========================================================================
9337
9338 Power Save APIs
9339
9340==========================================================================*/
9341
9342/**
9343 @brief WDI_SetPwrSaveCfgReq will be called when the upper MAC
9344 wants to set the power save related configurations of
9345 the WLAN Device. Upon the call of this API the WLAN DAL
9346 will pack and send a HAL Update CFG request message to
9347 the lower RIVA sub-system if DAL is in state STARTED.
9348
9349 In state BUSY this request will be queued. Request won't
9350 be allowed in any other state.
9351
9352 WDI_Start must have been called.
9353
9354 @param pwdiPowerSaveCfg: the power save cfg parameters as
9355 specified by the Device Interface
9356
9357 wdiSetPwrSaveCfgCb: callback for passing back the
9358 response of the set power save cfg operation received
9359 from the device
9360
9361 pUserData: user data will be passed back with the
9362 callback
9363
9364 @see WDI_Start
9365 @return Result of the function call
9366*/
9367WDI_Status
9368WDI_SetPwrSaveCfgReq
9369(
9370 WDI_UpdateCfgReqParamsType* pwdiPowerSaveCfg,
9371 WDI_SetPwrSaveCfgCb wdiSetPwrSaveCfgCb,
9372 void* pUserData
9373);
9374
9375/**
9376 @brief WDI_EnterImpsReq will be called when the upper MAC to
9377 request the device to get into IMPS power state. Upon
9378 the call of this API the WLAN DAL will send a HAL Enter
9379 IMPS request message to the lower RIVA sub-system if DAL
9380 is in state STARTED.
9381
9382 In state BUSY this request will be queued. Request won't
9383 be allowed in any other state.
9384
9385
9386 @param wdiEnterImpsRspCb: callback for passing back the
9387 response of the Enter IMPS operation received from the
9388 device
9389
9390 pUserData: user data will be passed back with the
9391 callback
9392
9393 @see WDI_Start
9394 @return Result of the function call
9395*/
9396WDI_Status
9397WDI_EnterImpsReq
9398(
Mihir Shetea4306052014-03-25 00:02:54 +05309399 WDI_EnterImpsReqParamsType *pwdiEnterImpsReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009400 WDI_EnterImpsRspCb wdiEnterImpsRspCb,
9401 void* pUserData
9402);
9403
9404/**
9405 @brief WDI_ExitImpsReq will be called when the upper MAC to
9406 request the device to get out of IMPS power state. Upon
9407 the call of this API the WLAN DAL will send a HAL Exit
9408 IMPS request message to the lower RIVA sub-system if DAL
9409 is in state STARTED.
9410
9411 In state BUSY this request will be queued. Request won't
9412 be allowed in any other state.
9413
9414
9415
9416 @param wdiExitImpsRspCb: callback for passing back the response
9417 of the Exit IMPS operation received from the device
9418
9419 pUserData: user data will be passed back with the
9420 callback
9421
9422 @see WDI_Start
9423 @return Result of the function call
9424*/
9425WDI_Status
9426WDI_ExitImpsReq
9427(
Mahesh A Saptasagar329813b2014-12-15 12:16:51 +05309428 WDI_ExitImpsReqParamsType *pwdiExitImpsReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009429 WDI_ExitImpsRspCb wdiExitImpsRspCb,
9430 void* pUserData
9431);
9432
9433/**
9434 @brief WDI_EnterBmpsReq will be called when the upper MAC to
9435 request the device to get into BMPS power state. Upon
9436 the call of this API the WLAN DAL will pack and send a
9437 HAL Enter BMPS request message to the lower RIVA
9438 sub-system if DAL is in state STARTED.
9439
9440 In state BUSY this request will be queued. Request won't
9441 be allowed in any other state.
9442
9443 WDI_PostAssocReq must have been called.
9444
9445 @param pwdiEnterBmpsReqParams: the Enter BMPS parameters as
9446 specified by the Device Interface
9447
9448 wdiEnterBmpsRspCb: callback for passing back the
9449 response of the Enter BMPS operation received from the
9450 device
9451
9452 pUserData: user data will be passed back with the
9453 callback
9454
9455 @see WDI_PostAssocReq
9456 @return Result of the function call
9457*/
9458WDI_Status
9459WDI_EnterBmpsReq
9460(
9461 WDI_EnterBmpsReqParamsType *pwdiEnterBmpsReqParams,
9462 WDI_EnterBmpsRspCb wdiEnterBmpsRspCb,
9463 void* pUserData
9464);
9465
9466/**
9467 @brief WDI_ExitBmpsReq will be called when the upper MAC to
9468 request the device to get out of BMPS power state. Upon
9469 the call of this API the WLAN DAL will pack and send a
9470 HAL Exit BMPS request message to the lower RIVA
9471 sub-system if DAL is in state STARTED.
9472
9473 In state BUSY this request will be queued. Request won't
9474 be allowed in any other state.
9475
9476 WDI_PostAssocReq must have been called.
9477
9478 @param pwdiExitBmpsReqParams: the Exit BMPS parameters as
9479 specified by the Device Interface
9480
9481 wdiExitBmpsRspCb: callback for passing back the response
9482 of the Exit BMPS operation received from the device
9483
9484 pUserData: user data will be passed back with the
9485 callback
9486
9487 @see WDI_PostAssocReq
9488 @return Result of the function call
9489*/
9490WDI_Status
9491WDI_ExitBmpsReq
9492(
9493 WDI_ExitBmpsReqParamsType *pwdiExitBmpsReqParams,
9494 WDI_ExitBmpsRspCb wdiExitBmpsRspCb,
9495 void* pUserData
9496);
9497
9498/**
9499 @brief WDI_EnterUapsdReq will be called when the upper MAC to
9500 request the device to get into UAPSD power state. Upon
9501 the call of this API the WLAN DAL will pack and send a
9502 HAL Enter UAPSD request message to the lower RIVA
9503 sub-system if DAL is in state STARTED.
9504
9505 In state BUSY this request will be queued. Request won't
9506 be allowed in any other state.
9507
9508 WDI_PostAssocReq must have been called.
9509 WDI_SetUapsdAcParamsReq must have been called.
9510
9511 @param pwdiEnterUapsdReqParams: the Enter UAPSD parameters as
9512 specified by the Device Interface
9513
9514 wdiEnterUapsdRspCb: callback for passing back the
9515 response of the Enter UAPSD operation received from the
9516 device
9517
9518 pUserData: user data will be passed back with the
9519 callback
9520
9521 @see WDI_PostAssocReq, WDI_SetUapsdAcParamsReq
9522 @return Result of the function call
9523*/
9524WDI_Status
9525WDI_EnterUapsdReq
9526(
9527 WDI_EnterUapsdReqParamsType *pwdiEnterUapsdReqParams,
9528 WDI_EnterUapsdRspCb wdiEnterUapsdRspCb,
9529 void* pUserData
9530);
9531
9532/**
9533 @brief WDI_ExitUapsdReq will be called when the upper MAC to
9534 request the device to get out of UAPSD power state. Upon
9535 the call of this API the WLAN DAL will send a HAL Exit
9536 UAPSD request message to the lower RIVA sub-system if
9537 DAL is in state STARTED.
9538
9539 In state BUSY this request will be queued. Request won't
9540 be allowed in any other state.
9541
9542 WDI_PostAssocReq must have been called.
9543
9544 @param wdiExitUapsdRspCb: callback for passing back the
9545 response of the Exit UAPSD operation received from the
9546 device
9547
9548 pUserData: user data will be passed back with the
9549 callback
9550
9551 @see WDI_PostAssocReq
9552 @return Result of the function call
9553*/
9554WDI_Status
9555WDI_ExitUapsdReq
9556(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07009557 WDI_ExitUapsdReqParamsType *pwdiExitUapsdReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009558 WDI_ExitUapsdRspCb wdiExitUapsdRspCb,
9559 void* pUserData
9560);
9561
9562/**
9563 @brief WDI_UpdateUapsdParamsReq will be called when the upper
9564 MAC wants to set the UAPSD related configurations
9565 of an associated STA (while acting as an AP) to the WLAN
9566 Device. Upon the call of this API the WLAN DAL will pack
9567 and send a HAL Update UAPSD params request message to
9568 the lower RIVA sub-system if DAL is in state STARTED.
9569
9570 In state BUSY this request will be queued. Request won't
9571 be allowed in any other state.
9572
9573 WDI_ConfigBSSReq must have been called.
9574
9575 @param pwdiUpdateUapsdReqParams: the UAPSD parameters
9576 as specified by the Device Interface
9577
9578 wdiUpdateUapsdParamsCb: callback for passing back the
9579 response of the update UAPSD params operation received
9580 from the device
9581
9582 pUserData: user data will be passed back with the
9583 callback
9584
9585 @see WDI_ConfigBSSReq
9586 @return Result of the function call
9587*/
9588WDI_Status
9589WDI_UpdateUapsdParamsReq
9590(
9591 WDI_UpdateUapsdReqParamsType *pwdiUpdateUapsdReqParams,
9592 WDI_UpdateUapsdParamsCb wdiUpdateUapsdParamsCb,
9593 void* pUserData
9594);
9595
9596/**
9597 @brief WDI_SetUapsdAcParamsReq will be called when the upper
9598 MAC wants to set the UAPSD related configurations before
9599 requesting for enter UAPSD power state to the WLAN
9600 Device. Upon the call of this API the WLAN DAL will pack
9601 and send a HAL Set UAPSD params request message to
9602 the lower RIVA sub-system if DAL is in state STARTED.
9603
9604 In state BUSY this request will be queued. Request won't
9605 be allowed in any other state.
9606
9607 WDI_PostAssocReq must have been called.
9608
9609 @param pwdiUapsdInfo: the UAPSD parameters as specified by
9610 the Device Interface
9611
9612 wdiSetUapsdAcParamsCb: callback for passing back the
9613 response of the set UAPSD params operation received from
9614 the device
9615
9616 pUserData: user data will be passed back with the
9617 callback
9618
9619 @see WDI_PostAssocReq
9620 @return Result of the function call
9621*/
9622WDI_Status
9623WDI_SetUapsdAcParamsReq
9624(
9625 WDI_SetUapsdAcParamsReqParamsType* pwdiPowerSaveCfg,
9626 WDI_SetUapsdAcParamsCb wdiSetUapsdAcParamsCb,
9627 void* pUserData
9628);
Sachin Ahuja715aafc2015-07-21 23:35:10 +05309629
9630
9631/**
9632 @brief WDI_FatalEventLogsReq will be called when the upper
9633 MAC wants to send the fatal event req. Upon the call of
9634 this API the WLAN DAL will pack and send a HAL
9635 Fatal event request message to the lower RIVA sub-system.
9636
9637 In state BUSY this request will be queued. Request won't
9638 be allowed in any other state.
9639
9640
9641 @param pwdiFatalEventLogsReqInfo: the Fatal event logs params
9642 as specified by the Device Interface
9643
9644 wdiFatalEventLogsRspCb: callback for passing back the
9645 response of the fatal event operation received
9646 from the device
9647
9648 pUserData: user data will be passed back with the
9649 callback
9650
9651 @return Result of the function call
9652*/
9653
9654WDI_Status
9655WDI_FatalEventLogsReq
9656(
9657 WDI_FatalEventLogsReqInfoType *pwdiFatalEventLogsReqInfo,
9658 WDI_FatalEventLogsRspCb wdiFatalEventLogsRspCb,
9659 void* pUserData
9660);
9661
Siddharth Bhal64246172015-02-27 01:04:37 +05309662/**
9663 @brief WDI_GetFrameLogReq will be called when the upper
9664 MAC wants to initialize frame logging. Upon the call of
9665 this API the WLAN DAL will pack and send a HAL
9666 Frame logging init request message to
9667 the lower RIVA sub-system.
9668
9669 In state BUSY this request will be queued. Request won't
9670 be allowed in any other state.
9671
9672
9673 @param pwdiGetFrameLogReqInfo: the Frame Logging params
9674 as specified by the Device Interface
9675
9676 wdiGetFrameLogReqCb: callback for passing back the
9677 response of the frame logging init operation received
9678 from the device
9679
9680 pUserData: user data will be passed back with the
9681 callback
9682
9683 @return Result of the function call
9684*/
9685WDI_Status
9686WDI_GetFrameLogReq
9687(
9688 WDI_GetFrameLogReqInfoType *pwdiGetFrameLogReqInfo,
9689 WDI_GetFrameLogRspCb wdiGetFrameLogReqCb,
9690 void* pUserData
9691);
Jeff Johnson295189b2012-06-20 16:38:30 -07009692
9693/**
Siddharth Bhald1be97f2015-05-27 22:39:59 +05309694 @brief WDI_FWLoggingInitReq will be called when the upper
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05309695 MAC wants to initialize frame logging. Upon the call of
9696 this API the WLAN DAL will pack and send a HAL
9697 Frame logging init request message to
9698 the lower RIVA sub-system.
9699
9700 In state BUSY this request will be queued. Request won't
9701 be allowed in any other state.
9702
9703
Siddharth Bhald1be97f2015-05-27 22:39:59 +05309704 @param pwdiFWLoggingInitReqParams: the Frame Logging params
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05309705 as specified by the Device Interface
9706
Siddharth Bhald1be97f2015-05-27 22:39:59 +05309707 wdiFWLoggingInitReqCb: callback for passing back the
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05309708 response of the frame logging init operation received
9709 from the device
9710
9711 pUserData: user data will be passed back with the
9712 callback
9713
9714 @return Result of the function call
9715*/
9716WDI_Status
Siddharth Bhald1be97f2015-05-27 22:39:59 +05309717WDI_FWLoggingInitReq
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05309718(
Siddharth Bhald1be97f2015-05-27 22:39:59 +05309719 WDI_FWLoggingInitReqInfoType *pwdiFWLoggingInitReqInfo,
9720 WDI_FWLoggingInitRspCb wdiFWLoggingInitReqCb,
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05309721 void* pUserData
9722);
9723
9724/**
Gupta, Kapil7c34b322015-09-30 13:12:35 +05309725 @brief WDI_StartRssiMonitorReq will be called when the upper
9726 MAC wants to initialize Rssi Monitor on a bssid.
9727 Upon the call of this API the WLAN DAL will pack and
9728 send a HAL Rssi Monitor init request message to
9729 the lower RIVA sub-system.
9730
9731 In state BUSY this request will be queued. Request won't
9732 be allowed in any other state.
9733
9734
9735 @param pwdiRssiMonitorInfo: the Rssi Monitor params
9736 as specified by the Device Interface
9737
9738 wdiRssiMonitorStartRspCb: callback for passing back the
9739 response of the rssi monitor operation received
9740 from the device
9741
9742 pUserData: user data will be passed back with the
9743 callback
9744
9745 @return Result of the function call
9746*/
9747WDI_Status
9748WDI_StartRssiMonitorReq
9749(
9750 WDI_RssiMonitorReqInfoType *pwdiRssiMonitorInfo,
9751 WDI_RssiMonitorStartRspCb wdiRssiMonitorStartRspCb,
9752 void* pUserData
9753);
9754
9755
9756/**
9757 @brief WDI_StopRssiMonitorReq will be called when the upper
9758 MAC wants to stop Rssi Monitor on a bssid.
9759 Upon the call of this API the WLAN DAL will pack and
9760 send a HAL Rssi Monitor stop request message to
9761 the lower RIVA sub-system.
9762
9763 In state BUSY this request will be queued. Request won't
9764 be allowed in any other state.
9765
9766
9767 @param pwdiRssiMonitorInfo: the Rssi Monitor params
9768 as specified by the Device Interface
9769
9770 wdiRssiMonitorStopRspCb: callback for passing back the
9771 response of the rssi monitor operation received
9772 from the device
9773
9774 pUserData: user data will be passed back with the
9775 callback
9776
9777 @return Result of the function call
9778*/
9779WDI_Status
9780WDI_StopRssiMonitorReq
9781(
9782 WDI_RssiMonitorReqInfoType *pwdiRssiMonitorInfo,
9783 WDI_RssiMonitorStopRspCb wdiRssiMonitorStopRspCb,
9784 void* pUserData
9785);
9786
9787/**
Jeff Johnson295189b2012-06-20 16:38:30 -07009788 @brief WDI_ConfigureRxpFilterReq will be called when the upper
9789 MAC wants to set/reset the RXP filters for received pkts
9790 (MC, BC etc.). Upon the call of this API the WLAN DAL will pack
9791 and send a HAL configure RXP filter request message to
9792 the lower RIVA sub-system.
9793
9794 In state BUSY this request will be queued. Request won't
9795 be allowed in any other state.
9796
9797
9798 @param pwdiConfigureRxpFilterReqParams: the RXP
9799 filter as specified by the Device
9800 Interface
9801
9802 wdiConfigureRxpFilterCb: callback for passing back the
9803 response of the configure RXP filter operation received
9804 from the device
9805
9806 pUserData: user data will be passed back with the
9807 callback
9808
9809 @return Result of the function call
9810*/
9811WDI_Status
9812WDI_ConfigureRxpFilterReq
9813(
9814 WDI_ConfigureRxpFilterReqParamsType *pwdiConfigureRxpFilterReqParams,
9815 WDI_ConfigureRxpFilterCb wdiConfigureRxpFilterCb,
9816 void* pUserData
9817);
9818
9819/**
9820 @brief WDI_SetBeaconFilterReq will be called when the upper MAC
9821 wants to set the beacon filters while in power save.
9822 Upon the call of this API the WLAN DAL will pack and
9823 send a Beacon filter request message to the
9824 lower RIVA sub-system.
9825
9826 In state BUSY this request will be queued. Request won't
9827 be allowed in any other state.
9828
9829
9830 @param pwdiBeaconFilterReqParams: the beacon
9831 filter as specified by the Device
9832 Interface
9833
9834 wdiBeaconFilterCb: callback for passing back the
9835 response of the set beacon filter operation received
9836 from the device
9837
9838 pUserData: user data will be passed back with the
9839 callback
9840
9841 @return Result of the function call
9842*/
9843WDI_Status
9844WDI_SetBeaconFilterReq
9845(
9846 WDI_BeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
9847 WDI_SetBeaconFilterCb wdiBeaconFilterCb,
9848 void* pUserData
9849);
9850
9851/**
9852 @brief WDI_RemBeaconFilterReq will be called when the upper MAC
9853 wants to remove the beacon filter for perticular IE
9854 while in power save. Upon the call of this API the WLAN
9855 DAL will pack and send a remove Beacon filter request
9856 message to the lower RIVA sub-system.
9857
9858 In state BUSY this request will be queued. Request won't
9859 be allowed in any other state.
9860
9861
9862 @param pwdiBeaconFilterReqParams: the beacon
9863 filter as specified by the Device
9864 Interface
9865
9866 wdiBeaconFilterCb: callback for passing back the
9867 response of the remove beacon filter operation received
9868 from the device
9869
9870 pUserData: user data will be passed back with the
9871 callback
9872
9873 @return Result of the function call
9874*/
9875WDI_Status
9876WDI_RemBeaconFilterReq
9877(
9878 WDI_RemBeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
9879 WDI_RemBeaconFilterCb wdiBeaconFilterCb,
9880 void* pUserData
9881);
9882
9883/**
9884 @brief WDI_SetRSSIThresholdsReq will be called when the upper
9885 MAC wants to set the RSSI thresholds related
9886 configurations while in power save. Upon the call of
9887 this API the WLAN DAL will pack and send a HAL Set RSSI
9888 thresholds request message to the lower RIVA
9889 sub-system if DAL is in state STARTED.
9890
9891 In state BUSY this request will be queued. Request won't
9892 be allowed in any other state.
9893
9894 WDI_PostAssocReq must have been called.
9895
9896 @param pwdiUapsdInfo: the UAPSD parameters as specified by
9897 the Device Interface
9898
9899 wdiSetUapsdAcParamsCb: callback for passing back the
9900 response of the set UAPSD params operation received from
9901 the device
9902
9903 pUserData: user data will be passed back with the
9904 callback
9905
9906 @see WDI_PostAssocReq
9907 @return Result of the function call
9908*/
9909WDI_Status
9910WDI_SetRSSIThresholdsReq
9911(
9912 WDI_SetRSSIThresholdsReqParamsType* pwdiRSSIThresholdsParams,
9913 WDI_SetRSSIThresholdsCb wdiSetRSSIThresholdsCb,
9914 void* pUserData
9915);
9916
9917/**
9918 @brief WDI_HostOffloadReq will be called when the upper MAC
9919 wants to set the filter to minimize unnecessary host
9920 wakeup due to broadcast traffic while in power save.
9921 Upon the call of this API the WLAN DAL will pack and
9922 send a HAL host offload request message to the
9923 lower RIVA sub-system if DAL is in state STARTED.
9924
9925 In state BUSY this request will be queued. Request won't
9926 be allowed in any other state.
9927
9928 WDI_PostAssocReq must have been called.
9929
9930 @param pwdiHostOffloadParams: the host offload as specified
9931 by the Device Interface
9932
9933 wdiHostOffloadCb: callback for passing back the response
9934 of the host offload operation received from the
9935 device
9936
9937 pUserData: user data will be passed back with the
9938 callback
9939
9940 @see WDI_PostAssocReq
9941 @return Result of the function call
9942*/
9943WDI_Status
9944WDI_HostOffloadReq
9945(
9946 WDI_HostOffloadReqParamsType* pwdiHostOffloadParams,
9947 WDI_HostOffloadCb wdiHostOffloadCb,
9948 void* pUserData
9949);
9950
9951/**
9952 @brief WDI_KeepAliveReq will be called when the upper MAC
9953 wants to set the filter to send NULL or unsolicited ARP responses
9954 and minimize unnecessary host wakeups due to while in power save.
9955 Upon the call of this API the WLAN DAL will pack and
9956 send a HAL Keep Alive request message to the
9957 lower RIVA sub-system if DAL is in state STARTED.
9958
9959 In state BUSY this request will be queued. Request won't
9960 be allowed in any other state.
9961
9962 WDI_PostAssocReq must have been called.
9963
9964 @param pwdiKeepAliveParams: the Keep Alive as specified
9965 by the Device Interface
9966
9967 wdiKeepAliveCb: callback for passing back the response
9968 of the Keep Alive operation received from the
9969 device
9970
9971 pUserData: user data will be passed back with the
9972 callback
9973
9974 @see WDI_PostAssocReq
9975 @return Result of the function call
9976*/
9977WDI_Status
9978WDI_KeepAliveReq
9979(
9980 WDI_KeepAliveReqParamsType* pwdiKeepAliveParams,
9981 WDI_KeepAliveCb wdiKeepAliveCb,
9982 void* pUserData
9983);
9984
9985/**
9986 @brief WDI_WowlAddBcPtrnReq will be called when the upper MAC
9987 wants to set the Wowl Bcast ptrn to minimize unnecessary
9988 host wakeup due to broadcast traffic while in power
9989 save. Upon the call of this API the WLAN DAL will pack
9990 and send a HAL Wowl Bcast ptrn request message to the
9991 lower RIVA sub-system if DAL is in state STARTED.
9992
9993 In state BUSY this request will be queued. Request won't
9994 be allowed in any other state.
9995
9996 WDI_PostAssocReq must have been called.
9997
9998 @param pwdiWowlAddBcPtrnParams: the Wowl bcast ptrn as
9999 specified by the Device Interface
10000
10001 wdiWowlAddBcPtrnCb: callback for passing back the
10002 response of the add Wowl bcast ptrn operation received
10003 from the device
10004
10005 pUserData: user data will be passed back with the
10006 callback
10007
10008 @see WDI_PostAssocReq
10009 @return Result of the function call
10010*/
10011WDI_Status
10012WDI_WowlAddBcPtrnReq
10013(
10014 WDI_WowlAddBcPtrnReqParamsType* pwdiWowlAddBcPtrnParams,
10015 WDI_WowlAddBcPtrnCb wdiWowlAddBcPtrnCb,
10016 void* pUserData
10017);
10018
10019/**
10020 @brief WDI_WowlDelBcPtrnReq will be called when the upper MAC
10021 wants to clear the Wowl Bcast ptrn. Upon the call of
10022 this API the WLAN DAL will pack and send a HAL delete
10023 Wowl Bcast ptrn request message to the lower RIVA
10024 sub-system if DAL is in state STARTED.
10025
10026 In state BUSY this request will be queued. Request won't
10027 be allowed in any other state.
10028
10029 WDI_WowlAddBcPtrnReq must have been called.
10030
10031 @param pwdiWowlDelBcPtrnParams: the Wowl bcast ptrn as
10032 specified by the Device Interface
10033
10034 wdiWowlDelBcPtrnCb: callback for passing back the
10035 response of the del Wowl bcast ptrn operation received
10036 from the device
10037
10038 pUserData: user data will be passed back with the
10039 callback
10040
10041 @see WDI_WowlAddBcPtrnReq
10042 @return Result of the function call
10043*/
10044WDI_Status
10045WDI_WowlDelBcPtrnReq
10046(
10047 WDI_WowlDelBcPtrnReqParamsType* pwdiWowlDelBcPtrnParams,
10048 WDI_WowlDelBcPtrnCb wdiWowlDelBcPtrnCb,
10049 void* pUserData
10050);
10051
10052/**
10053 @brief WDI_WowlEnterReq will be called when the upper MAC
10054 wants to enter the Wowl state to minimize unnecessary
10055 host wakeup while in power save. Upon the call of this
10056 API the WLAN DAL will pack and send a HAL Wowl enter
10057 request message to the lower RIVA sub-system if DAL is
10058 in state STARTED.
10059
10060 In state BUSY this request will be queued. Request won't
10061 be allowed in any other state.
10062
10063 WDI_PostAssocReq must have been called.
10064
10065 @param pwdiWowlEnterReqParams: the Wowl enter info as
10066 specified by the Device Interface
10067
10068 wdiWowlEnterReqCb: callback for passing back the
10069 response of the enter Wowl operation received from the
10070 device
10071
10072 pUserData: user data will be passed back with the
10073 callback
10074
10075 @see WDI_PostAssocReq
10076 @return Result of the function call
10077*/
10078WDI_Status
10079WDI_WowlEnterReq
10080(
10081 WDI_WowlEnterReqParamsType* pwdiWowlEnterParams,
10082 WDI_WowlEnterReqCb wdiWowlEnterCb,
10083 void* pUserData
10084);
10085
10086/**
10087 @brief WDI_WowlExitReq will be called when the upper MAC
10088 wants to exit the Wowl state. Upon the call of this API
10089 the WLAN DAL will pack and send a HAL Wowl exit request
10090 message to the lower RIVA sub-system if DAL is in state
10091 STARTED.
10092
10093 In state BUSY this request will be queued. Request won't
10094 be allowed in any other state.
10095
10096 WDI_WowlEnterReq must have been called.
10097
10098 @param pwdiWowlExitReqParams: the Wowl exit info as
10099 specified by the Device Interface
10100
10101 wdiWowlExitReqCb: callback for passing back the response
10102 of the exit Wowl operation received from the device
10103
10104 pUserData: user data will be passed back with the
10105 callback
10106
10107 @see WDI_WowlEnterReq
10108 @return Result of the function call
10109*/
10110WDI_Status
10111WDI_WowlExitReq
10112(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -070010113 WDI_WowlExitReqParamsType* pwdiWowlExitParams,
Jeff Johnson295189b2012-06-20 16:38:30 -070010114 WDI_WowlExitReqCb wdiWowlExitCb,
10115 void* pUserData
10116);
10117
10118/**
10119 @brief WDI_ConfigureAppsCpuWakeupStateReq will be called when
10120 the upper MAC wants to dynamically adjusts the listen
10121 interval based on the WLAN/MSM activity. Upon the call
10122 of this API the WLAN DAL will pack and send a HAL
10123 configure Apps Cpu Wakeup State request message to the
10124 lower RIVA sub-system.
10125
10126 In state BUSY this request will be queued. Request won't
10127 be allowed in any other state.
10128
10129
10130 @param pwdiConfigureAppsCpuWakeupStateReqParams: the
10131 Apps Cpu Wakeup State as specified by the
10132 Device Interface
10133
10134 wdiConfigureAppsCpuWakeupStateCb: callback for passing
10135 back the response of the configure Apps Cpu Wakeup State
10136 operation received from the device
10137
10138 pUserData: user data will be passed back with the
10139 callback
10140
10141 @return Result of the function call
10142*/
10143WDI_Status
10144WDI_ConfigureAppsCpuWakeupStateReq
10145(
10146 WDI_ConfigureAppsCpuWakeupStateReqParamsType *pwdiConfigureAppsCpuWakeupStateReqParams,
10147 WDI_ConfigureAppsCpuWakeupStateCb wdiConfigureAppsCpuWakeupStateCb,
10148 void* pUserData
10149);
10150/**
10151 @brief WDI_FlushAcReq will be called when the upper MAC wants
10152 to to perform a flush operation on a given AC. Upon the
10153 call of this API the WLAN DAL will pack and send a HAL
10154 Flush AC request message to the lower RIVA sub-system if
10155 DAL is in state STARTED.
10156
10157 In state BUSY this request will be queued. Request won't
10158 be allowed in any other state.
10159
10160
10161 @param pwdiFlushAcReqParams: the Flush AC parameters as
10162 specified by the Device Interface
10163
10164 wdiFlushAcRspCb: callback for passing back the response
10165 of the Flush AC operation received from the device
10166
10167 pUserData: user data will be passed back with the
10168 callback
10169
10170 @return Result of the function call
10171*/
10172WDI_Status
10173WDI_FlushAcReq
10174(
10175 WDI_FlushAcReqParamsType* pwdiFlushAcReqParams,
10176 WDI_FlushAcRspCb wdiFlushAcRspCb,
10177 void* pUserData
10178);
10179
10180/**
10181 @brief WDI_BtAmpEventReq will be called when the upper MAC
10182 wants to notify the lower mac on a BT AMP event. This is
10183 to inform BTC-SLM that some BT AMP event occurred. Upon
10184 the call of this API the WLAN DAL will pack and send a
10185 HAL BT AMP event request message to the lower RIVA
10186 sub-system if DAL is in state STARTED.
10187
10188 In state BUSY this request will be queued. Request won't
10189 be allowed in any other state.
10190
10191
10192 @param wdiBtAmpEventReqParams: the BT AMP event parameters as
10193 specified by the Device Interface
10194
10195 wdiBtAmpEventRspCb: callback for passing back the
10196 response of the BT AMP event operation received from the
10197 device
10198
10199 pUserData: user data will be passed back with the
10200 callback
10201
10202 @return Result of the function call
10203*/
10204WDI_Status
10205WDI_BtAmpEventReq
10206(
10207 WDI_BtAmpEventParamsType* pwdiBtAmpEventReqParams,
10208 WDI_BtAmpEventRspCb wdiBtAmpEventRspCb,
10209 void* pUserData
10210);
10211
Jeff Johnsone7245742012-09-05 17:12:55 -070010212#ifdef FEATURE_OEM_DATA_SUPPORT
10213/**
10214 @brief WDI_Start oem data Req will be called when the upper MAC
10215 wants to notify the lower mac on a oem data Req event.Upon
10216 the call of this API the WLAN DAL will pack and send a
10217 HAL OEM Data Req event 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
10224 @param pWdiOemDataReqParams: the oem data req parameters as
10225 specified by the Device Interface
10226
10227 wdiStartOemDataRspCb: callback for passing back the
10228 response of the Oem Data Req received from the
10229 device
10230
10231 pUserData: user data will be passed back with the
10232 callback
10233
10234 @return Result of the function call
10235*/
10236WDI_Status
10237WDI_StartOemDataReq
10238(
10239 WDI_oemDataReqParamsType* pWdiOemDataReqParams,
10240 WDI_oemDataRspCb wdiOemDataRspCb,
10241 void* pUserData
10242);
10243#endif
Jeff Johnson295189b2012-06-20 16:38:30 -070010244
10245/*========================================================================
10246
10247 CONTROL APIs
10248
10249==========================================================================*/
10250/**
10251 @brief WDI_SwitchChReq will be called when the upper MAC wants
10252 the WLAN HW to change the current channel of operation.
10253 Upon the call of this API the WLAN DAL will pack and
10254 send a HAL Start request message to the lower RIVA
10255 sub-system if DAL is in state STARTED.
10256
10257 In state BUSY this request will be queued. Request won't
10258 be allowed in any other state.
10259
10260 WDI_Start must have been called.
10261
10262 @param wdiSwitchChReqParams: the switch ch parameters as
10263 specified by the Device Interface
10264
10265 wdiSwitchChRspCb: callback for passing back the response
10266 of the switch ch operation received from the device
10267
10268 pUserData: user data will be passed back with the
10269 callback
10270
10271 @see WDI_Start
10272 @return Result of the function call
10273*/
10274WDI_Status
10275WDI_SwitchChReq
10276(
10277 WDI_SwitchChReqParamsType* pwdiSwitchChReqParams,
10278 WDI_SwitchChRspCb wdiSwitchChRspCb,
10279 void* pUserData
10280);
10281
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -080010282/**
Kalikinkar dhara1e83b772014-02-06 12:59:22 -080010283 @brief WDI_SwitchChReq_V1 is similar to WDI_SwitchChReq except
10284 it also send type source for the channel change.
10285 WDI_Start must have been called.
10286
10287 @param wdiSwitchChReqParams: the switch ch parameters as
10288 specified by the Device Interface
10289
10290 wdiSwitchChRspCb: callback for passing back the response
10291 of the switch ch operation received from the device
10292
10293 pUserData: user data will be passed back with the
10294 callback
10295
10296 @see WDI_Start
10297 @return Result of the function call
10298*/
10299
10300WDI_Status
10301WDI_SwitchChReq_V1
10302(
10303 WDI_SwitchChReqParamsType_V1* pwdiSwitchChReqParams,
10304 WDI_SwitchChRspCb_V1 wdiSwitchChRspCb,
10305 void* pUserData
10306);
10307
10308/**
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -080010309 @brief WDI_UpdateChannelReq will be called when the upper MAC
10310 wants to update the channel list on change in country code.
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -080010311 In state BUSY this request will be queued. Request won't
10312 be allowed in any other state.
10313
10314 WDI_UpdateChannelReq must have been called.
10315
10316 @param wdiUpdateChannelReqParams: the updated channel parameters
10317 as specified by the Device Interface
10318
10319 wdiUpdateChannelRspCb: callback for passing back the
10320 response of the update channel operation received from
10321 the device
10322
10323 pUserData: user data will be passed back with the
10324 callback
10325
10326 @return Result of the function call
10327*/
10328WDI_Status
10329WDI_UpdateChannelReq
10330(
10331 WDI_UpdateChReqParamsType *pwdiUpdateChannelReqParams,
10332 WDI_UpdateChannelRspCb wdiUpdateChannelRspCb,
10333 void* pUserData
10334);
Jeff Johnson295189b2012-06-20 16:38:30 -070010335
10336/**
10337 @brief WDI_ConfigSTAReq will be called when the upper MAC
10338 wishes to add or update a STA in HW. Upon the call of
10339 this API the WLAN DAL will pack and send a HAL Start
10340 message request message to the lower RIVA sub-system if
10341 DAL is in state STARTED.
10342
10343 In state BUSY this request will be queued. Request won't
10344 be allowed in any other state.
10345
10346 WDI_Start must have been called.
10347
10348 @param wdiConfigSTAReqParams: the config STA parameters as
10349 specified by the Device Interface
10350
10351 wdiConfigSTARspCb: callback for passing back the
10352 response of the config STA operation received from the
10353 device
10354
10355 pUserData: user data will be passed back with the
10356 callback
10357
10358 @see WDI_Start
10359 @return Result of the function call
10360*/
10361WDI_Status
10362WDI_ConfigSTAReq
10363(
10364 WDI_ConfigSTAReqParamsType* pwdiConfigSTAReqParams,
10365 WDI_ConfigSTARspCb wdiConfigSTARspCb,
10366 void* pUserData
10367);
10368
10369/**
10370 @brief WDI_SetLinkStateReq will be called when the upper MAC
10371 wants to change the state of an ongoing link. Upon the
10372 call of this API the WLAN DAL will pack and send a HAL
10373 Start message request message to the lower RIVA
10374 sub-system if DAL is in state STARTED.
10375
10376 In state BUSY this request will be queued. Request won't
10377 be allowed in any other state.
10378
10379 WDI_JoinReq must have been called.
10380
10381 @param wdiSetLinkStateReqParams: the set link state parameters
10382 as specified by the Device Interface
10383
10384 wdiSetLinkStateRspCb: callback for passing back the
10385 response of the set link state operation received from
10386 the device
10387
10388 pUserData: user data will be passed back with the
10389 callback
10390
10391 @see WDI_JoinStartReq
10392 @return Result of the function call
10393*/
10394WDI_Status
10395WDI_SetLinkStateReq
10396(
10397 WDI_SetLinkReqParamsType* pwdiSetLinkStateReqParams,
10398 WDI_SetLinkStateRspCb wdiSetLinkStateRspCb,
10399 void* pUserData
10400);
10401
10402
10403/**
10404 @brief WDI_GetStatsReq will be called when the upper MAC wants
10405 to get statistics (MIB counters) from the device. Upon
10406 the call of this API the WLAN DAL will pack and send a
10407 HAL Start request message to the lower RIVA sub-system
10408 if DAL is in state STARTED.
10409
10410 In state BUSY this request will be queued. Request won't
10411 be allowed in any other state.
10412
10413 WDI_Start must have been called.
10414
10415 @param wdiGetStatsReqParams: the stats parameters to get as
10416 specified by the Device Interface
10417
10418 wdiGetStatsRspCb: callback for passing back the response
10419 of the get stats operation received from the device
10420
10421 pUserData: user data will be passed back with the
10422 callback
10423
10424 @see WDI_Start
10425 @return Result of the function call
10426*/
10427WDI_Status
10428WDI_GetStatsReq
10429(
10430 WDI_GetStatsReqParamsType* pwdiGetStatsReqParams,
10431 WDI_GetStatsRspCb wdiGetStatsRspCb,
10432 void* pUserData
10433);
10434
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -080010435#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -080010436/**
10437 @brief WDI_GetRoamRssiReq will be called when the upper MAC wants
10438 to get roam rssi from the device. Upon
10439 the call of this API the WLAN DAL will pack and send a
10440 HAL Start request message to the lower RIVA sub-system
10441 if DAL is in state STARTED.
10442
10443 In state BUSY this request will be queued. Request won't
10444 be allowed in any other state.
10445
10446 WDI_Start must have been called.
10447
10448 @param wdiGetRoamRssiReqParams: the stats parameters to get as
10449 specified by the Device Interface
10450
10451 wdiGetRoamRssispCb: callback for passing back the response
10452 of the get stats operation received from the device
10453
10454 pUserData: user data will be passed back with the
10455 callback
10456
10457 @see WDI_Start
10458 @return Result of the function call
10459*/
10460WDI_Status
10461WDI_GetRoamRssiReq
10462(
10463 WDI_GetRoamRssiReqParamsType* pwdiGetRoamRssiReqParams,
10464 WDI_GetRoamRssiRspCb wdiGetRoamRssiRspCb,
10465 void* pUserData
10466);
10467#endif
Jeff Johnson295189b2012-06-20 16:38:30 -070010468
10469/**
10470 @brief WDI_UpdateCfgReq will be called when the upper MAC when
10471 it wishes to change the configuration of the WLAN
10472 Device. Upon the call of this API the WLAN DAL will pack
10473 and send a HAL Update CFG request message to the lower
10474 RIVA sub-system if DAL is in state STARTED.
10475
10476 In state BUSY this request will be queued. Request won't
10477 be allowed in any other state.
10478
10479 WDI_Start must have been called.
10480
10481 @param wdiUpdateCfgReqParams: the update cfg parameters as
10482 specified by the Device Interface
10483
10484 wdiUpdateCfgsRspCb: callback for passing back the
10485 response of the update cfg operation received from the
10486 device
10487
10488 pUserData: user data will be passed back with the
10489 callback
10490
10491 @see WDI_Start
10492 @return Result of the function call
10493*/
10494WDI_Status
10495WDI_UpdateCfgReq
10496(
10497 WDI_UpdateCfgReqParamsType* pwdiUpdateCfgReqParams,
10498 WDI_UpdateCfgRspCb wdiUpdateCfgsRspCb,
10499 void* pUserData
10500);
10501
10502/**
10503 @brief WDI_NvDownloadReq will be called by the UMAC to dowload the NV blob
10504 to the NV memory.
10505
10506 @param wdiNvDownloadReqParams: the NV Download parameters as specified by
10507 the Device Interface
10508
10509 wdiNvDownloadRspCb: callback for passing back the response of
10510 the NV Download operation received from the device
10511
10512 pUserData: user data will be passed back with the
10513 callback
10514
10515 @see WDI_PostAssocReq
10516 @return Result of the function call
10517*/
10518WDI_Status
10519WDI_NvDownloadReq
10520(
10521 WDI_NvDownloadReqParamsType* pwdiNvDownloadReqParams,
10522 WDI_NvDownloadRspCb wdiNvDownloadRspCb,
10523 void* pUserData
10524);
10525/**
10526 @brief WDI_AddBAReq will be called when the upper MAC has setup
10527 successfully a BA session and needs to notify the HW for
10528 the appropriate settings to take place. Upon the call of
10529 this API the WLAN DAL will pack and send a HAL Add BA
10530 request message to the lower RIVA sub-system if DAL is
10531 in state STARTED.
10532
10533 In state BUSY this request will be queued. Request won't
10534 be allowed in any other state.
10535
10536 WDI_PostAssocReq must have been called.
10537
10538 @param wdiAddBAReqParams: the add BA parameters as specified by
10539 the Device Interface
10540
10541 wdiAddBARspCb: callback for passing back the response of
10542 the add BA operation received from the device
10543
10544 pUserData: user data will be passed back with the
10545 callback
10546
10547 @see WDI_PostAssocReq
10548 @return Result of the function call
10549*/
10550WDI_Status
10551WDI_AddBAReq
10552(
10553 WDI_AddBAReqParamsType* pwdiAddBAReqParams,
10554 WDI_AddBARspCb wdiAddBARspCb,
10555 void* pUserData
10556);
10557
10558/**
10559 @brief WDI_TriggerBAReq will be called when the upper MAC has setup
10560 successfully a BA session and needs to notify the HW for
10561 the appropriate settings to take place. Upon the call of
10562 this API the WLAN DAL will pack and send a HAL Add BA
10563 request message to the lower RIVA sub-system if DAL is
10564 in state STARTED.
10565
10566 In state BUSY this request will be queued. Request won't
10567 be allowed in any other state.
10568
10569 WDI_PostAssocReq must have been called.
10570
10571 @param wdiAddBAReqParams: the add BA parameters as specified by
10572 the Device Interface
10573
10574 wdiAddBARspCb: callback for passing back the response of
10575 the add BA operation received from the device
10576
10577 pUserData: user data will be passed back with the
10578 callback
10579
10580 @see WDI_PostAssocReq
10581 @return Result of the function call
10582*/
10583WDI_Status
10584WDI_TriggerBAReq
10585(
10586 WDI_TriggerBAReqParamsType* pwdiTriggerBAReqParams,
10587 WDI_TriggerBARspCb wdiTriggerBARspCb,
10588 void* pUserData
10589);
10590
10591
10592/**
10593 @brief WDI_IsHwFrameTxTranslationCapable checks to see if HW
10594 frame xtl is enabled for a particular STA.
10595
10596 WDI_PostAssocReq must have been called.
10597
10598 @param uSTAIdx: STA index
10599
10600 @see WDI_PostAssocReq
10601 @return Result of the function call
10602*/
10603wpt_boolean WDI_IsHwFrameTxTranslationCapable
10604(
10605 wpt_uint8 uSTAIdx
10606);
10607
Katya Nigam6201c3e2014-05-27 17:51:42 +053010608
10609/**
10610 @brief WDI_IsSelfSTA - check if staid is self sta index
10611
10612 @param pWDICtx: pointer to the WLAN DAL context
10613 ucSTAIdx: station index
10614
10615 @return Result of the function call
10616*/
10617
10618wpt_boolean
10619WDI_IsSelfSTA
10620(
10621 void* pWDICtx,
10622 wpt_uint8 ucSTAIdx
10623);
10624
10625
Jeff Johnson295189b2012-06-20 16:38:30 -070010626#ifdef WLAN_FEATURE_VOWIFI_11R
10627/**
10628 @brief WDI_AggrAddTSReq will be called when the upper MAC to inform
10629 the device of a successful add TSpec negotiation for 11r. HW
10630 needs to receive the TSpec Info from the UMAC in order
10631 to configure properly the QoS data traffic. Upon the
10632 call of this API the WLAN DAL will pack and send a HAL
10633 Aggregated Add TS request message to the lower RIVA sub-system if
10634 DAL is in state STARTED.
10635
10636 In state BUSY this request will be queued. Request won't
10637 be allowed in any other state.
10638
10639 WDI_PostAssocReq must have been called.
10640
10641 @param wdiAggrAddTsReqParams: the add TS parameters as specified by
10642 the Device Interface
10643
10644 wdiAggrAddTsRspCb: callback for passing back the response of
10645 the add TS operation received from the device
10646
10647 pUserData: user data will be passed back with the
10648 callback
10649
10650 @see WDI_PostAssocReq
10651 @return Result of the function call
10652*/
10653WDI_Status
10654WDI_AggrAddTSReq
10655(
10656 WDI_AggrAddTSReqParamsType* pwdiAddTsReqParams,
10657 WDI_AggrAddTsRspCb wdiAggrAddTsRspCb,
10658 void* pUserData
10659);
10660#endif /* WLAN_FEATURE_VOWIFI_11R */
10661/**
10662 @brief WDI_STATableInit - Initializes the STA tables.
10663 Allocates the necesary memory.
10664
10665
10666 @param pWDICtx: pointer to the WLAN DAL context
10667
10668 @see
10669 @return Result of the function call
10670*/
10671
10672WDI_Status WDI_StubRunTest
10673(
10674 wpt_uint8 ucTestNo
10675);
10676
Jeff Johnson295189b2012-06-20 16:38:30 -070010677/**
10678 @brief WDI_FTMCommandReq -
10679 Route FTMRequest Command to HAL
10680
10681 @param ftmCommandReq: FTM request command body
10682 @param ftmCommandRspCb: Response CB
10683 @param pUserData: User data will be included with CB
10684
10685 @return Result of the function call
10686*/
10687WDI_Status WDI_FTMCommandReq
10688(
10689 WDI_FTMCommandReqType *ftmCommandReq,
10690 WDI_FTMCommandRspCb ftmCommandRspCb,
10691 void *pUserData
10692);
Jeff Johnson295189b2012-06-20 16:38:30 -070010693
10694/**
10695 @brief WDI_HostResumeReq will be called
10696
10697 In state BUSY this request will be queued. Request won't
10698 be allowed in any other state.
10699
10700
10701 @param pwdiResumeReqParams: as specified by
10702 the Device Interface
10703
10704 wdiResumeReqRspCb: callback for passing back the response of
10705 the Resume Req received from the device
10706
10707 pUserData: user data will be passed back with the
10708 callback
10709
10710 @see WDI_PostAssocReq
10711 @return Result of the function call
10712*/
10713WDI_Status
10714WDI_HostResumeReq
10715(
10716 WDI_ResumeParamsType* pwdiResumeReqParams,
10717 WDI_HostResumeEventRspCb wdiResumeReqRspCb,
10718 void* pUserData
10719);
10720
10721/**
10722 @brief WDI_GetAvailableResCount - Function to get the available resource
10723 for data and managemnt frames.
10724
10725 @param pContext: pointer to the WDI context
10726 @param wdiResPool: type of resource pool requesting
10727 @see
10728 @return Result of the function call
10729*/
10730
10731wpt_uint32 WDI_GetAvailableResCount
10732(
10733 void *pContext,
10734 WDI_ResPoolType wdiResPool
10735);
10736
10737/**
10738 @brief WDI_SetAddSTASelfReq will be called when the
10739 UMAC wanted to add self STA while opening any new session
10740 In state BUSY this request will be queued. Request won't
10741 be allowed in any other state.
10742
10743
10744 @param pwdiAddSTASelfParams: the add self sta parameters as
10745 specified by the Device Interface
10746
10747 pUserData: user data will be passed back with the
10748 callback
10749
10750 @see
10751 @return Result of the function call
10752*/
10753WDI_Status
10754WDI_AddSTASelfReq
10755(
10756 WDI_AddSTASelfReqParamsType* pwdiAddSTASelfReqParams,
10757 WDI_AddSTASelfParamsRspCb wdiAddSTASelfReqParamsRspCb,
10758 void* pUserData
10759);
10760
10761
10762/**
10763 @brief WDI_DelSTASelfReq will be called .
10764
10765 @param WDI_DelSTASelfReqParamsType
10766
10767 WDI_DelSTASelfRspCb: callback for passing back the
10768 response of the del sta self operation received from the
10769 device
10770
10771 pUserData: user data will be passed back with the
10772 callback
10773
10774 @see WDI_PostAssocReq
10775 @return Result of the function call
10776*/
10777WDI_Status
10778WDI_DelSTASelfReq
10779(
10780 WDI_DelSTASelfReqParamsType* pwdiDelStaSelfParams,
10781 WDI_DelSTASelfRspCb wdiDelStaSelfRspCb,
10782 void* pUserData
10783);
10784
10785/**
10786 @brief WDI_HostSuspendInd
10787
10788 Suspend Indication from the upper layer will be sent
10789 down to HAL
10790
10791 @param WDI_SuspendParamsType
10792
10793 @see
10794
10795 @return Status of the request
10796*/
10797WDI_Status
10798WDI_HostSuspendInd
10799(
10800 WDI_SuspendParamsType* pwdiSuspendIndParams
10801);
10802
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -080010803/**
10804 @brief WDI_TrafficStatsInd
10805
10806 Traffic Stats from the upper layer will be sent
10807 down to HAL
10808
10809 @param WDI_TrafficStatsIndType
10810
10811 @see
10812
10813 @return Status of the request
10814*/
10815WDI_Status
10816WDI_TrafficStatsInd
10817(
10818 WDI_TrafficStatsIndType *pWdiTrafficStatsIndParams
10819);
10820
Chet Lanctot186b5732013-03-18 10:26:30 -070010821#ifdef WLAN_FEATURE_11W
10822/**
10823 @brief WDI_ExcludeUnencryptedInd
10824 Register with HAL to receive/drop unencrypted frames
10825
10826 @param WDI_ExcludeUnencryptIndType
10827
10828 @see
10829
10830 @return Status of the request
10831*/
10832WDI_Status
10833WDI_ExcludeUnencryptedInd
10834(
10835 WDI_ExcludeUnencryptIndType *pWdiExcUnencParams
10836);
10837#endif
10838
Yue Mab9c86f42013-08-14 15:59:08 -070010839/**
10840 @brief WDI_AddPeriodicTxPtrnInd
10841
10842 @param WDI_AddPeriodicTxPtrnParamsType
10843
10844 @see
10845
10846 @return Status of the request
10847*/
10848WDI_Status
10849WDI_AddPeriodicTxPtrnInd
10850(
10851 WDI_AddPeriodicTxPtrnParamsType *addPeriodicTxPtrnParams
10852);
10853
10854/**
10855 @brief WDI_DelPeriodicTxPtrnInd
10856
10857 @param WDI_DelPeriodicTxPtrnParamsType
10858
10859 @see
10860
10861 @return Status of the request
10862*/
10863WDI_Status
10864WDI_DelPeriodicTxPtrnInd
10865(
10866 WDI_DelPeriodicTxPtrnParamsType *delPeriodicTxPtrnParams
10867);
10868
Jeff Johnson295189b2012-06-20 16:38:30 -070010869#ifdef FEATURE_WLAN_SCAN_PNO
10870/**
10871 @brief WDI_SetPreferredNetworkList
10872
10873 @param pwdiPNOScanReqParams: the Set PNO as specified
10874 by the Device Interface
10875
10876 wdiPNOScanCb: callback for passing back the response
10877 of the Set PNO operation received from the
10878 device
10879
10880 pUserData: user data will be passed back with the
10881 callback
10882
10883 @see WDI_PostAssocReq
10884 @return Result of the function call
10885*/
10886WDI_Status
10887WDI_SetPreferredNetworkReq
10888(
10889 WDI_PNOScanReqParamsType* pwdiPNOScanReqParams,
10890 WDI_PNOScanCb wdiPNOScanCb,
10891 void* pUserData
10892);
10893
10894/**
10895 @brief WDI_SetRssiFilterReq
10896
10897 @param pwdiRssiFilterReqParams: the Set RSSI Filter as
10898 specified by the Device Interface
10899
10900 wdiRssiFilterCb: callback for passing back the response
10901 of the Set RSSI Filter operation received from the
10902 device
10903
10904 pUserData: user data will be passed back with the
10905 callback
10906
10907 @see WDI_PostAssocReq
10908 @return Result of the function call
10909*/
10910WDI_Status
10911WDI_SetRssiFilterReq
10912(
10913 WDI_SetRssiFilterReqParamsType* pwdiRssiFilterReqParams,
10914 WDI_RssiFilterCb wdiRssiFilterCb,
10915 void* pUserData
10916);
10917
10918/**
10919 @brief WDI_UpdateScanParams
10920
10921 @param pwdiUpdateScanParamsInfoType: the Update Scan Params as specified
10922 by the Device Interface
10923
10924 wdiUpdateScanParamsCb: callback for passing back the response
10925 of the Set PNO operation received from the
10926 device
10927
10928 pUserData: user data will be passed back with the
10929 callback
10930
10931 @see WDI_PostAssocReq
10932 @return Result of the function call
10933*/
10934WDI_Status
10935WDI_UpdateScanParamsReq
10936(
10937 WDI_UpdateScanParamsInfoType* pwdiUpdateScanParamsInfoType,
10938 WDI_UpdateScanParamsCb wdiUpdateScanParamsCb,
10939 void* pUserData
10940);
10941#endif // FEATURE_WLAN_SCAN_PNO
10942
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010943#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
10944/**
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010945 @brief WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010946
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010947 @param pwdiRoamScanOffloadReqParams: Start Roam Candidate Lookup Req as specified
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010948 by the Device Interface
10949
10950 wdiRoamOffloadScanCb: callback for passing back the response
10951 of the Start Roam Candidate Lookup operation received from the
10952 device
10953
10954 pUserData: user data will be passed back with the
10955 callback
10956
10957 @return Result of the function call
10958*/
10959WDI_Status
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010960WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010961(
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010962 WDI_RoamScanOffloadReqParamsType *pwdiRoamScanOffloadReqParams,
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010963 WDI_RoamOffloadScanCb wdiRoamOffloadScancb,
10964 void* pUserData
10965);
10966#endif
10967
Jeff Johnson295189b2012-06-20 16:38:30 -070010968/**
10969 @brief WDI_SetTxPerTrackingReq will be called when the upper MAC
10970 wants to set the Tx Per Tracking configurations.
10971 Upon the call of this API the WLAN DAL will pack
10972 and send a HAL Set Tx Per Tracking request message to the
10973 lower RIVA sub-system if DAL is in state STARTED.
10974
10975 In state BUSY this request will be queued. Request won't
10976 be allowed in any other state.
10977
10978 @param wdiSetTxPerTrackingConf: the Set Tx PER Tracking configurations as
10979 specified by the Device Interface
10980
10981 wdiSetTxPerTrackingCb: callback for passing back the
10982 response of the set Tx PER Tracking configurations operation received
10983 from the device
10984
10985 pUserData: user data will be passed back with the
10986 callback
10987
10988 @return Result of the function call
10989*/
10990WDI_Status
10991WDI_SetTxPerTrackingReq
10992(
10993 WDI_SetTxPerTrackingReqParamsType* pwdiSetTxPerTrackingReqParams,
10994 WDI_SetTxPerTrackingRspCb pwdiSetTxPerTrackingRspCb,
10995 void* pUserData
10996);
10997
10998/**
10999 @brief WDI_SetTmLevelReq
11000 If HW Thermal condition changed, driver should react based on new
11001 HW thermal condition.
11002
11003 @param pwdiSetTmLevelReq: New thermal condition information
11004
11005 pwdiSetTmLevelRspCb: callback
11006
11007 usrData: user data will be passed back with the
11008 callback
11009
11010 @return Result of the function call
11011*/
11012WDI_Status
11013WDI_SetTmLevelReq
11014(
11015 WDI_SetTmLevelReqType *pwdiSetTmLevelReq,
11016 WDI_SetTmLevelCb pwdiSetTmLevelRspCb,
11017 void *usrData
11018);
11019
11020#ifdef WLAN_FEATURE_PACKET_FILTERING
11021/**
11022 @brief WDI_8023MulticastListReq
11023
11024 @param pwdiRcvFltPktSetMcListReqInfo: the Set 8023 Multicast
11025 List as specified by the Device Interface
11026
11027 wdi8023MulticastListCallback: callback for passing back
11028 the response of the Set 8023 Multicast List operation
11029 received from the device
11030
11031 pUserData: user data will be passed back with the
11032 callback
11033
11034 @see WDI_PostAssocReq
11035 @return Result of the function call
11036*/
11037WDI_Status
11038WDI_8023MulticastListReq
11039(
11040 WDI_RcvFltPktSetMcListReqParamsType* pwdiRcvFltPktSetMcListReqInfo,
11041 WDI_8023MulticastListCb wdi8023MulticastListCallback,
11042 void* pUserData
11043);
11044
11045/**
11046 @brief WDI_ReceiveFilterSetFilterReq
11047
11048 @param pwdiSetRcvPktFilterReqInfo: the Set Receive Filter as
11049 specified by the Device Interface
11050
11051 wdiReceiveFilterSetFilterReqCallback: callback for
11052 passing back the response of the Set Receive Filter
11053 operation received from the device
11054
11055 pUserData: user data will be passed back with the
11056 callback
11057
11058 @see WDI_PostAssocReq
11059 @return Result of the function call
11060*/
11061WDI_Status
11062WDI_ReceiveFilterSetFilterReq
11063(
11064 WDI_SetRcvPktFilterReqParamsType* pwdiSetRcvPktFilterReqInfo,
11065 WDI_ReceiveFilterSetFilterCb wdiReceiveFilterSetFilterReqCallback,
11066 void* pUserData
11067);
11068
11069/**
11070 @brief WDI_PCFilterMatchCountReq
11071
11072 @param pwdiRcvFltPktMatchCntReqInfo: get D0 PC Filter Match
11073 Count
11074
11075 wdiPCFilterMatchCountCallback: callback for passing back
11076 the response of the D0 PC Filter Match Count operation
11077 received from the device
11078
11079 pUserData: user data will be passed back with the
11080 callback
11081
11082 @see WDI_PostAssocReq
11083 @return Result of the function call
11084*/
11085WDI_Status
11086WDI_FilterMatchCountReq
11087(
11088 WDI_RcvFltPktMatchCntReqParamsType* pwdiRcvFltPktMatchCntReqInfo,
11089 WDI_FilterMatchCountCb wdiFilterMatchCountCallback,
11090 void* pUserData
11091);
11092
11093/**
11094 @brief WDI_ReceiveFilterClearFilterReq
11095
11096 @param pwdiRcvFltPktClearReqInfo: the Clear Filter as
11097 specified by the Device Interface
11098
11099 wdiReceiveFilterClearFilterCallback: callback for
11100 passing back the response of the Clear Filter
11101 operation received from the device
11102
11103 pUserData: user data will be passed back with the
11104 callback
11105
11106 @see WDI_PostAssocReq
11107 @return Result of the function call
11108*/
11109WDI_Status
11110WDI_ReceiveFilterClearFilterReq
11111(
11112 WDI_RcvFltPktClearReqParamsType* pwdiRcvFltPktClearReqInfo,
11113 WDI_ReceiveFilterClearFilterCb wdiReceiveFilterClearFilterCallback,
11114 void* pUserData
11115);
11116#endif // WLAN_FEATURE_PACKET_FILTERING
11117
11118/**
11119 @brief WDI_HALDumpCmdReq
11120 Post HAL DUMP Command Event
11121
11122 @param halDumpCmdReqParams: Hal Dump Command Body
11123 @param halDumpCmdRspCb: callback for passing back the
11124 response
11125 @param pUserData: Client Data
11126
11127 @see
11128 @return Result of the function call
11129*/
11130WDI_Status WDI_HALDumpCmdReq(
11131 WDI_HALDumpCmdReqParamsType *halDumpCmdReqParams,
11132 WDI_HALDumpCmdRspCb halDumpCmdRspCb,
11133 void *pUserData
11134);
11135
11136
11137/**
11138 @brief WDI_SetPowerParamsReq
11139
11140 @param pwdiPowerParamsReqParams: the Set Power Params as
11141 specified by the Device Interface
11142
11143 wdiPowerParamsCb: callback for passing back the response
11144 of the Set Power Params operation received from the
11145 device
11146
11147 pUserData: user data will be passed back with the
11148 callback
11149
11150 @return Result of the function call
11151*/
11152WDI_Status
11153WDI_SetPowerParamsReq
11154(
11155 WDI_SetPowerParamsReqParamsType* pwdiPowerParamsReqParams,
11156 WDI_SetPowerParamsCb wdiPowerParamsCb,
11157 void* pUserData
11158);
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +053011159/**
11160 @brief WDI_dhcpStartInd
11161 Forward the DHCP Start event
11162
11163 @param
11164
11165 wdiDHCPInd: device mode and MAC address is passed
11166
11167 @see
11168 @return Result of the function call
11169*/
11170
11171WDI_Status
11172WDI_dhcpStartInd
11173(
11174 WDI_DHCPInd *wdiDHCPInd
11175);
11176/**
11177 @brief WDI_dhcpStopReq
11178 Forward the DHCP Stop event
11179
11180 @param
11181
11182 wdiDHCPInd: device mode and MAC address is passed
11183
11184 @see
11185 @return Result of the function call
11186*/
11187
11188WDI_Status
11189WDI_dhcpStopInd
11190(
11191 WDI_DHCPInd *wdiDHCPInd
11192);
Jeff Johnson295189b2012-06-20 16:38:30 -070011193
Chittajit Mitraf5413a42013-10-18 14:20:08 -070011194/**
11195 @brief WDI_RateUpdateInd will be called when the upper MAC
11196 requests the device to update rates.
11197
11198 In state BUSY this request will be queued. Request won't
11199 be allowed in any other state.
11200
11201
11202 @param wdiRateUpdateIndParams
11203
11204
11205 @see WDI_Start
11206 @return Result of the function call
11207*/
11208WDI_Status
11209WDI_RateUpdateInd
11210(
11211 WDI_RateUpdateIndParams *wdiRateUpdateIndParams
11212);
11213
Jeff Johnson295189b2012-06-20 16:38:30 -070011214#ifdef WLAN_FEATURE_GTK_OFFLOAD
11215/**
11216 @brief WDI_GTKOffloadReq will be called when the upper MAC
11217 wants to set GTK Rekey Counter while in power save. Upon
11218 the call of this API the WLAN DAL will pack and send a
11219 HAL GTK offload request message to the lower RIVA
11220 sub-system if DAL is in state STARTED.
11221
11222 In state BUSY this request will be queued. Request won't
11223 be allowed in any other state.
11224
11225 WDI_PostAssocReq must have been called.
11226
11227 @param pwdiGtkOffloadParams: the GTK offload as specified
11228 by the Device Interface
11229
11230 wdiGtkOffloadCb: callback for passing back the response
11231 of the GTK offload operation received from the device
11232
11233 pUserData: user data will be passed back with the
11234 callback
11235
11236 @see WDI_PostAssocReq
11237 @return Result of the function call
11238*/
11239WDI_Status
11240WDI_GTKOffloadReq
11241(
11242 WDI_GtkOffloadReqMsg* pwdiGtkOffloadReqMsg,
11243 WDI_GtkOffloadCb wdiGtkOffloadCb,
11244 void* pUserData
11245);
11246
11247/**
11248 @brief WDI_GTKOffloadGetInfoReq will be called when the upper
11249 MAC wants to get GTK Rekey Counter while in power save.
11250 Upon the call of this API the WLAN DAL will pack and
11251 send a HAL GTK offload request message to the lower RIVA
11252 sub-system if DAL is in state STARTED.
11253
11254 In state BUSY this request will be queued. Request won't
11255 be allowed in any other state.
11256
11257 WDI_PostAssocReq must have been called.
11258
11259 @param pwdiGtkOffloadGetInfoReqMsg: the GTK Offload
11260 Information Message as specified by the
11261 Device Interface
11262
11263 wdiGtkOffloadGetInfoCb: callback for passing back the
11264 response of the GTK offload operation received from the
11265 device
11266
11267 pUserData: user data will be passed back with the
11268 callback
11269
11270 @see WDI_PostAssocReq
11271 @return Result of the function call
11272*/
11273WDI_Status
11274WDI_GTKOffloadGetInfoReq
11275(
11276 WDI_GtkOffloadGetInfoReqMsg* pwdiGtkOffloadGetInfoReqMsg,
11277 WDI_GtkOffloadGetInfoCb wdiGtkOffloadGetInfoCb,
11278 void* pUserData
11279);
11280#endif // WLAN_FEATURE_GTK_OFFLOAD
11281
11282/**
11283 @brief WDI_featureCapsExchangeReq
11284 Post feature capability bitmap exchange event.
11285 Host will send its own capability to FW in this req and
11286 expect FW to send its capability back as a bitmap in Response
11287
11288 @param
11289
11290 wdiFeatCapsExcRspCb: callback called on getting the response.
11291 It is kept to mantain similarity between WDI reqs and if needed, can
11292 be used in future. Currently, It is set to NULL
11293
11294 pUserData: user data will be passed back with the
11295 callback
11296
11297 @see
11298 @return Result of the function call
11299*/
11300WDI_Status
11301WDI_featureCapsExchangeReq
11302(
11303 WDI_featureCapsExchangeCb wdiFeatureCapsExchangeCb,
11304 void* pUserData
11305);
11306
11307/**
Yathish9f22e662012-12-10 14:21:35 -080011308 @brief Disable Active mode offload in Host
11309
11310 @param void
11311 @see
11312 @return void
11313*/
11314void
11315WDI_disableCapablityFeature(wpt_uint8 feature_index);
11316
11317
11318/**
Jeff Johnson295189b2012-06-20 16:38:30 -070011319 @brief WDI_getHostWlanFeatCaps
11320 WDI API that returns whether the feature passed to it as enum value in
11321 "placeHolderInCapBitmap" is supported by Host or not. It uses WDI global
11322 variable storing host capability bitmap to find this. This can be used by
11323 other moduels to decide certain things like call different APIs based on
11324 whether a particular feature is supported.
11325
11326 @param
11327
11328 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap in wlan_hal_msg.h.
11329
11330 @see
11331 @return
11332 0 - if the feature is NOT supported in host
11333 any non-zero value - if the feature is SUPPORTED in host.
11334*/
11335wpt_uint8 WDI_getHostWlanFeatCaps(wpt_uint8 feat_enum_value);
11336
11337/**
11338 @brief WDI_getFwWlanFeatCaps
11339 WDI API that returns whether the feature passed to it as enum value in
11340 "placeHolderInCapBitmap" is supported by FW or not. It uses WDI global
11341 variable storing host capability bitmap to find this. This can be used by
11342 other moduels to decide certain things like call different APIs based on
11343 whether a particular feature is supported.
11344
11345 @param
11346
Jeff Johnsone7245742012-09-05 17:12:55 -070011347 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap
11348 in wlan_hal_msg.h.
Jeff Johnson295189b2012-06-20 16:38:30 -070011349
11350 @see
11351 @return
11352 0 - if the feature is NOT supported in FW
11353 any non-zero value - if the feature is SUPPORTED in FW.
11354*/
11355wpt_uint8 WDI_getFwWlanFeatCaps(wpt_uint8 feat_enum_value);
11356
11357/**
11358 @brief WDI_GetWcnssCompiledApiVersion - Function to get wcnss compiled
11359 api version
11360
11361 @param WDI_WlanVersionType: Wlan version structure
11362 @see
11363 @return none
11364*/
11365
11366void WDI_GetWcnssCompiledApiVersion
11367(
11368 WDI_WlanVersionType *pWcnssApiVersion
11369);
11370
Mohit Khanna4a70d262012-09-11 16:30:12 -070011371#ifdef WLAN_FEATURE_11AC
11372WDI_Status
11373WDI_UpdateVHTOpModeReq
11374(
11375 WDI_UpdateVHTOpMode *pData,
11376 WDI_UpdateVHTOpModeCb wdiUpdateVHTOpModeCb,
11377 void* pUserData
11378);
Jeff Johnson295189b2012-06-20 16:38:30 -070011379
Mohit Khanna4a70d262012-09-11 16:30:12 -070011380#endif
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070011381
11382/**
11383 @brief WDI_TransportChannelDebug -
11384 Display DXE Channel debugging information
11385 User may request to display DXE channel snapshot
11386 Or if host driver detects any abnormal stcuk may display
11387
Jeff Johnsonb88db982012-12-10 13:34:59 -080011388 @param displaySnapshot : Display DXE snapshot option
Mihir Shete40a55652014-03-02 14:14:47 +053011389 @param debugFlags : Enable stall detect features
11390 defined by WPAL_DeviceDebugFlags
11391 These features may effect
11392 data performance.
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070011393 @see
11394 @return none
11395*/
11396void WDI_TransportChannelDebug
11397(
11398 wpt_boolean displaySnapshot,
Mihir Shete40a55652014-03-02 14:14:47 +053011399 wpt_uint8 debugFlags
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070011400);
11401
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -070011402/**
Sravan Kumar Kairam6eac7522015-11-27 23:37:02 +053011403 @brief WDI_TransportKickDxe -
11404 Request Kick DXE when first HDD TX time out
11405 happens
11406 @param none
11407 @see
11408 @return none
11409*/
11410void WDI_TransportKickDxe(void);
11411
11412/**
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -070011413 @brief WDI_SsrTimerCB
11414 Callback function for SSR timer, if this is called then the graceful
11415 shutdown for Riva did not happen.
11416
11417 @param pUserData : user data to timer
11418
11419 @see
11420 @return none
11421*/
11422void
11423WDI_SsrTimerCB
11424(
11425 void *pUserData
11426);
11427
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -070011428/**
11429 @brief WDI_SetEnableSSR -
11430 This API is called to enable/disable SSR on WDI timeout.
11431
11432 @param enableSSR : enable/disable SSR
11433
11434 @see
11435 @return none
11436*/
11437void WDI_SetEnableSSR(wpt_boolean enableSSR);
11438
Leo Chang9056f462013-08-01 19:21:11 -070011439#ifdef FEATURE_WLAN_LPHB
11440/**
11441 @brief WDI_LPHBConfReq
11442 This API is called to config FW LPHB rule
11443
11444 @param lphbconfParam : LPHB rule should config to FW
11445 usrData : Client context
11446 lphbCfgCb : Configuration status callback
11447 @see
11448 @return SUCCESS or FAIL
11449*/
11450WDI_Status WDI_LPHBConfReq
11451(
11452 void *lphbconfParam,
11453 void *usrData,
11454 WDI_LphbCfgCb lphbCfgCb
11455);
11456#endif /* FEATURE_WLAN_LPHB */
Rajeev79dbe4c2013-10-05 11:03:42 +053011457
Dino Mycle41bdc942014-06-10 11:30:24 +053011458#ifdef WLAN_FEATURE_EXTSCAN
11459/**
11460 @brief WDI_EXTScanStartReq
11461 This API is called to send EXTScan start request to FW
11462
11463 @param pwdiEXTScanStartReqParams : pointer to the request params.
11464 wdiEXTScanStartRspCb : callback on getting the response.
11465 usrData : Client context
11466 @see
11467 @return SUCCESS or FAIL
11468*/
11469WDI_Status WDI_EXTScanStartReq
11470(
11471 WDI_EXTScanStartReqParams* pwdiEXTScanStartReqParams,
11472 WDI_EXTScanStartRspCb wdiEXTScanStartRspCb,
11473 void* pUserData
11474);
11475
11476/**
11477 @brief WDI_EXTScanStopReq
11478 This API is called to stop the EXTScan operations in the FW
11479
11480 @param pwdiEXTScanStopReqParams : pointer to the request params.
11481 wdiEXTScanStopRspCb : callback on getting the response.
11482 usrData : Client context
11483 @see
11484 @return SUCCESS or FAIL
11485*/
11486WDI_Status WDI_EXTScanStopReq
11487(
11488 WDI_EXTScanStopReqParams* pwdiEXTScanStopReqParams,
11489 WDI_EXTScanStopRspCb wdiEXTScanStopRspCb,
11490 void* pUserData
11491);
11492
11493/**
11494 @brief WDI_EXTScanGetCachedResultsReq
11495 This API is called to send get link layer stats request in FW
11496
11497 @param pwdiEXTScanGetCachedResultsReqParams : pointer to the request params.
11498 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
11499 usrData : Client context
11500 @see
11501 @return SUCCESS or FAIL
11502*/
11503WDI_Status WDI_EXTScanGetCachedResultsReq
11504(
11505 WDI_EXTScanGetCachedResultsReqParams* pwdiEXTScanGetCachedResultsReqParams,
11506 WDI_EXTScanGetCachedResultsRspCb wdiEXTScanGetCachedResultsRspCb,
11507 void* pUserData
11508);
11509
11510/**
11511 @brief WDI_EXTScanGetCapabilitiesReq
11512 This API is called to send get EXTScan capabilities from FW
11513
11514 @param pwdiEXTScanGetCachedResultsReqParams : pointer to the request params.
11515 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
11516 usrData : Client context
11517 @see
11518 @return SUCCESS or FAIL
11519*/
11520WDI_Status WDI_EXTScanGetCapabilitiesReq
11521(
11522 WDI_EXTScanGetCapabilitiesReqParams* pwdiEXTScanGetCapabilitiesReqParams,
11523 WDI_EXTScanGetCapabilitiesRspCb wdiEXTScanGetCapabilitiesRspCb,
11524 void* pUserData
11525);
11526
11527/**
11528 @brief WDI_EXTScanSetBSSIDHotlistReq
11529 This API is called to send Set BSSID Hotlist Request FW
11530
11531 @param pwdiEXTScanSetBssidHotlistReqParams : pointer to the request params.
11532 wdiEXTScanSetBSSIDHotlistRspCb : callback on getting the response.
11533 usrData : Client context
11534 @see
11535 @return SUCCESS or FAIL
11536*/
11537WDI_Status WDI_EXTScanSetBSSIDHotlistReq
11538(
11539 WDI_EXTScanSetBSSIDHotlistReqParams* pwdiEXTScanSetBSSIDHotlistReqParams,
11540 WDI_EXTScanSetBSSIDHotlistRspCb wdiEXTScanSetBSSIDHotlistRspCb,
11541 void* pUserData
11542);
11543
11544/**
11545 @brief WDI_EXTScanResetBSSIDHotlistReq
11546 This API is called to send Reset BSSID Hotlist Request FW
11547
11548 @param pwdiEXTScanResetBssidHotlistReqParams : pointer to the request params.
11549 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
11550 usrData : Client context
11551 @see
11552 @return SUCCESS or FAIL
11553*/
11554WDI_Status WDI_EXTScanResetBSSIDHotlistReq
11555(
11556 WDI_EXTScanResetBSSIDHotlistReqParams* pwdiEXTScanResetBSSIDHotlistReqParams,
11557 WDI_EXTScanResetBSSIDHotlistRspCb wdiEXTScanResetBSSIDHotlistRspCb,
11558 void* pUserData
11559);
Padma, Santhosh Kumar9acee012015-08-21 19:58:01 +053011560
11561/**
11562 @brief WDI_EXTScanSetSSIDHotlistReq
11563 This API is called to send Set SSID Hotlist Request FW
11564
11565 @param pwdiEXTScanSetBssidHotlistReqParams : pointer to the request params.
11566 wdiEXTScanSetBSSIDHotlistRspCb : callback on getting the response.
11567 usrData : Client context
11568 @see
11569 @return SUCCESS or FAIL
11570*/
11571WDI_Status WDI_EXTScanSetSSIDHotlistReq
11572(
11573 WDI_EXTScanSetSSIDHotlistReqParams* pwdiEXTScanSetSSIDHotlistReqParams,
11574 WDI_EXTScanSetSSIDHotlistRspCb wdiEXTScanSetSSIDHotlistRspCb,
11575 void* pUserData
11576);
11577
11578/**
11579 @brief WDI_EXTScanResetSSIDHotlistReq
11580 This API is called to send Reset SSID Hotlist Request FW
11581
11582 @param pwdiEXTScanResetSsidHotlistReqParams : pointer to the request params.
11583 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
11584 usrData : Client context
11585 @see
11586 @return SUCCESS or FAIL
11587*/
11588WDI_Status WDI_EXTScanResetSSIDHotlistReq
11589(
11590 WDI_EXTScanResetSSIDHotlistReqParams* pwdiEXTScanResetSSIDHotlistReqParams,
11591 WDI_EXTScanResetSSIDHotlistRspCb wdiEXTScanResetSSIDHotlistRspCb,
11592 void* pUserData
11593);
11594
Padma, Santhosh Kumarc1f7f052015-08-26 12:29:01 +053011595/**
11596 @brief WDI_HighPriorityDataInfoInd
11597
11598 @param pHighPriorityDataInfoIndParams: Req parameter for the FW
11599
11600 @return SUCCESS or FAIL
11601*/
11602WDI_Status
11603WDI_HighPriorityDataInfoInd
11604(
11605 WDI_HighPriorityDataInfoIndParams* pHighPriorityDataInfoIndParams
11606);
11607
Dino Mycle41bdc942014-06-10 11:30:24 +053011608#endif /* WLAN_FEATURE_EXTSCAN */
11609
Sunil Duttbd736ed2014-05-26 21:19:41 +053011610#ifdef WLAN_FEATURE_LINK_LAYER_STATS
11611/**
11612 @brief WDI_LLStatsSetReq
11613 This API is called to send set link layer stats request to FW
11614
11615 @param pwdiLLStatsSetReqParams : pointer to set link layer stats params
11616 wdiLLStatsSetRspCb : set link layer stats response callback
11617 usrData : Client context
11618 @see
11619 @return SUCCESS or FAIL
11620*/
11621WDI_Status WDI_LLStatsSetReq
11622(
11623 WDI_LLStatsSetReqType* pwdiLLStatsSetReqParams,
11624 WDI_LLStatsSetRspCb wdiLLStatsSetRspCb,
11625 void* pUserData
11626);
11627
11628/**
11629 @brief WDI_LLStatsGetReq
11630 This API is called to send get link layer stats request in FW
11631
11632 @param pwdiLLStatsGetParams : pointer to get link layer stats params
11633 wdiLLStatsGetRspCb : get link layer stats response callback
11634 usrData : Client context
11635 @see
11636 @return SUCCESS or FAIL
11637*/
11638WDI_Status WDI_LLStatsGetReq
11639(
11640 WDI_LLStatsGetReqType* pwdiLLStatsGetReqParams,
11641 WDI_LLStatsGetRspCb wdiLLStatsGetRspCb,
11642 void* pUserData
11643);
11644
11645/**
11646 @brief WDI_LLStatsClearReq
11647 This API is called to set clear link layer stats request in FW
11648
11649 @param pwdiLLStatsClearReqParams : pointer to clear link layer stats params
11650 iwdiLLStatsClearRspCb : clear link layer stats response callback
11651 usrData : Client context
11652 @see
11653 @return SUCCESS or FAIL
11654*/
11655WDI_Status WDI_LLStatsClearReq
11656(
11657 WDI_LLStatsClearReqType* pwdiLLStatsClearReqParams,
11658 WDI_LLStatsClearRspCb wdiLLStatsClearRspCb,
11659 void* pUserData
11660);
11661#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
11662
Abhishek Singh85b74712014-10-08 11:38:19 +053011663WDI_Status WDI_FWStatsGetReq
11664(
11665 void* pwdiFWStatsGetReqParams,
11666 WDI_FWStatsGetRspCb wdiFWStatsGetRspCb,
11667 wpt_uint32 pUserData
11668);
11669
Katya Nigamf0511f62015-05-05 16:40:57 +053011670WDI_Status WDI_MonStartReq
11671(
11672 WDI_MonStartReqType* pwdiMonStartReqParams,
Hanumantha Reddy Pothula91cdd7f2015-09-03 21:25:16 +053011673 WDI_MonModeRspCb wdiMonModeRspCb,
Katya Nigamf0511f62015-05-05 16:40:57 +053011674 void* pUserData
11675);
11676
11677WDI_Status WDI_MonStopReq
11678(
Hanumantha Reddy Pothula91cdd7f2015-09-03 21:25:16 +053011679 WDI_MonModeRspCb wdiMonModeRspCb,
Katya Nigamf0511f62015-05-05 16:40:57 +053011680 void* pUserData
11681);
11682
Rajeev79dbe4c2013-10-05 11:03:42 +053011683#ifdef FEATURE_WLAN_BATCH_SCAN
11684/**
11685 @brief WDI_SetBatchScanReq
11686 This API is called to set batch scan request in FW
11687
11688 @param pBatchScanReqParam : pointer to set batch scan re param
11689 usrData : Client context
11690 setBatchScanRspCb : set batch scan resp callback
11691 @see
11692 @return SUCCESS or FAIL
11693*/
11694WDI_Status WDI_SetBatchScanReq
11695(
11696 void *pBatchScanReqParam,
11697 void *usrData,
11698 WDI_SetBatchScanCb setBatchScanRspCb
11699);
11700
11701/**
11702 @brief WDI_StopBatchScanInd
11703
11704 @param none
11705
11706 @see
11707
11708 @return Status of the request
11709*/
11710WDI_Status
11711WDI_StopBatchScanInd(WDI_StopBatchScanIndType *pWdiReq);
11712
11713/**
11714 @brief WDI_TriggerBatchScanResultInd
11715 This API is called to pull batch scan result from FW
11716
11717 @param pBatchScanReqParam : pointer to trigger batch scan ind param
11718 usrData : Client context
11719 setBatchScanRspCb : get batch scan resp callback
11720 @see
11721 @return SUCCESS or FAIL
11722*/
11723WDI_Status
11724WDI_TriggerBatchScanResultInd(WDI_TriggerBatchScanResultIndType *pWdiReq);
11725
11726
11727#endif /*FEATURE_WLAN_BATCH_SCAN*/
11728
Sandeep Puligilla8b8b74b2014-02-10 16:39:05 +053011729/**
11730 @brief wdi_HT40OBSSScanInd
11731 This API is called to start OBSS scan
11732
11733 @param pWdiReq : pointer to get ind param
11734 @see
11735 @return SUCCESS or FAIL
11736*/
11737
11738WDI_Status WDI_HT40OBSSScanInd(WDI_HT40ObssScanParamsType *pWdiReq);
11739
11740/**
11741 @brief wdi_HT40OBSSStopScanInd
11742 This API is called to stop OBSS scan
11743
11744 @param bssIdx : bssIdx to stop
11745 @see
11746 @return SUCCESS or FAIL
11747*/
11748
11749WDI_Status WDI_HT40OBSSStopScanInd(wpt_uint8 bssIdx);
11750
c_hpothu92367912014-05-01 15:18:17 +053011751
11752WDI_Status WDI_GetBcnMissRate( void *pUserData,
11753 WDI_GetBcnMissRateCb wdiGetBcnMissRateCb,
11754 wpt_uint8 *bssid
11755 );
Siddharth Bhal171788a2014-09-29 21:02:40 +053011756WDI_Status
11757WDI_SetSpoofMacAddrReq
11758(
11759WDI_SpoofMacAddrInfoType *pWdiReq,
11760 WDI_SetSpoofMacAddrRspCb setSpoofMacAddrRspCb,
11761 void* pUserData
11762);
c_hpothu92367912014-05-01 15:18:17 +053011763
Srinivas Dasari4dae48f2014-11-26 21:14:16 +053011764WDI_Status
11765WDI_EncryptMsgReq(void* pwdiEncryptMsgParams,
11766 WDI_EncryptMsgRspCb wdiEncryptMsgCbRsp,
11767 void* pUserData
11768 );
Srinivas Dasari32a79262015-02-19 13:04:49 +053011769
c_manjeecfd1efb2015-09-25 19:32:34 +053011770WDI_Status
11771WDI_FwrMemDumpReq
11772
11773(
11774 WDI_FwrMemDumpReqType *pwdiFwrMemDumpReqInfo,
11775 WDI_FwrMemDumpCb wdiFwrMemDumpRspCb,
11776 void* pUserData
11777);
11778
11779
Srinivas Dasari32a79262015-02-19 13:04:49 +053011780/**
11781 @brief WDI_NanRequest
11782 NAN request
11783
11784 @param pwdiNanRequest: data
11785
11786 pwdiNanCb: callback
11787
11788 usrData: user data will be passed back with the
11789 callback
11790
11791 @return Result of the function call
11792*/
11793WDI_Status
11794WDI_NanRequest
11795(
11796 WDI_NanRequestType *pwdiNanRequest,
11797 void *usrData
11798);
11799
Abhishek Singh41988ba2015-05-25 19:42:29 +053011800/**
11801 @brief WDI_SetRtsCtsHTVhtInd
11802 Set RTS/CTS indication for diff modes.
11803
11804 @param rtsCtsVal: Bit mask value to enable RTS/CTS for different modes
11805
11806 @return Result of the function call
11807*/
11808
11809WDI_Status
11810WDI_SetRtsCtsHTVhtInd
11811(
11812 wpt_uint32 rtsCtsVal
11813);
Srinivas Dasari32a79262015-02-19 13:04:49 +053011814
Mihir Shete5affadc2015-05-29 20:54:57 +053011815WDI_Status
11816WDI_FWLoggingDXEdoneInd
11817(
Hanumantha Reddy Pothulae00a7e22015-09-15 20:11:30 +053011818 wpt_uint32 logType
Mihir Shete5affadc2015-05-29 20:54:57 +053011819);
Srinivas Dasari32a79262015-02-19 13:04:49 +053011820
Mahesh A Saptasagarbeca12c2015-09-07 16:21:06 +053011821/**
11822 @brief WDI_EnableDisableCAEventInd
11823 Enable/Disable Chan Avoidance indication
11824
11825 @param val: Enable/Disable Chan Avoidance indication
11826
11827 @return Result of the function call
11828*/
11829
11830WDI_Status
11831WDI_EnableDisableCAEventInd
11832(
11833wpt_uint32 val
11834);
11835
Padma, Santhosh Kumar2ccac212015-10-20 17:27:27 +053011836#ifdef FEATURE_OEM_DATA_SUPPORT
11837
11838/**
11839 @brief WDI_HighPriorityDataInfoInd
11840
11841 @param pHighPriorityDataInfoIndParams: Req parameter for the FW
11842
11843 @return SUCCESS or FAIL
11844*/
11845WDI_Status
11846WDI_StartOemDataReqIndNew
11847(
11848 WDI_OemDataReqNewConfig *pOemDataReqNewConfig
11849);
11850#endif
11851
Jeff Johnson295189b2012-06-20 16:38:30 -070011852#ifdef __cplusplus
11853 }
11854#endif
11855
Arun Khandavalli7eeb1592015-10-19 21:36:57 +053011856/**
11857 @brief WDI_WifiConfigSetReq
11858 This API is called to send WifiConfig request to FW
11859
11860 @param pwdiWifConfigSetReqParams : pointer to wificonfig params
11861 wdiLLStatsSetRspCb : set wificonfig response callback
11862 usrData : Client context
11863 @see
11864 @return SUCCESS or FAIL
11865*/
11866WDI_Status
11867WDI_WifiConfigSetReq
11868 (WDI_WifiConfigSetReqType* pwdiWifConfigSetReqParams,
11869 WDI_WifiConfigSetRspCb wdiWifiConfigSetRspCb,
11870 void* pUserData);
11871
Mahesh A Saptasagarb63b3e22015-12-22 15:06:10 +053011872/**
11873 @brief WDI_GetCurrentAntennaIndex
11874 This API is called to send getCurretAntennaIndex request to FW
11875
11876 @param pUserData: pointer to request params
11877 wdiLLStatsSetRspCb : set wificonfig response callback
11878 reserved: request parameter
11879 @see
11880 @return SUCCESS or FAIL
11881*/
11882WDI_Status
11883WDI_GetCurrentAntennaIndex
11884(
11885 void *pUserData,
11886 WDI_AntennaDivSelRspCb wdiAntennaDivSelRspCb,
11887 wpt_uint32 reserved
11888);
11889
11890
Jeff Johnson295189b2012-06-20 16:38:30 -070011891#endif /* #ifndef WLAN_QCT_WDI_H */