blob: 0d30012df041cdfa0334e01f7629da17fae27458 [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
Jeff Johnson295189b2012-06-20 16:38:30 -07008199/*========================================================================
8200 * Function Declarations and Documentation
8201 ==========================================================================*/
8202
8203/*========================================================================
8204
8205 INITIALIZATION APIs
8206
8207==========================================================================*/
8208
8209/**
8210 @brief WDI_Init is used to initialize the DAL.
8211
8212 DAL will allocate all the resources it needs. It will open PAL, it will also
8213 open both the data and the control transport which in their turn will open
8214 DXE/SMD or any other drivers that they need.
8215
Arun Kumar Khandavalliebb19482014-03-25 13:56:53 +05308216 @param devHandle: pointer to the OS specific device handle
Jeff Johnson295189b2012-06-20 16:38:30 -07008217 ppWDIGlobalCtx: output pointer of Global Context
8218 pWdiDevCapability: output pointer of device capability
8219
8220 @return Result of the function call
8221*/
8222WDI_Status
8223WDI_Init
8224(
Arun Kumar Khandavalliebb19482014-03-25 13:56:53 +05308225 void* devHandle,
Jeff Johnson295189b2012-06-20 16:38:30 -07008226 void** ppWDIGlobalCtx,
8227 WDI_DeviceCapabilityType* pWdiDevCapability,
8228 unsigned int driverType
8229);
8230
8231/**
8232 @brief WDI_Start will be called when the upper MAC is ready to
8233 commence operation with the WLAN Device. Upon the call
8234 of this API the WLAN DAL will pack and send a HAL Start
8235 message to the lower RIVA sub-system if the SMD channel
8236 has been fully opened and the RIVA subsystem is up.
8237
8238 If the RIVA sub-system is not yet up and running DAL
8239 will queue the request for Open and will wait for the
8240 SMD notification before attempting to send down the
8241 message to HAL.
8242
8243 WDI_Init must have been called.
8244
8245 @param wdiStartParams: the start parameters as specified by
8246 the Device Interface
8247
8248 wdiStartRspCb: callback for passing back the response of
8249 the start operation received from the device
8250
8251 pUserData: user data will be passed back with the
8252 callback
8253
8254 @see WDI_Start
8255 @return Result of the function call
8256*/
8257WDI_Status
8258WDI_Start
8259(
8260 WDI_StartReqParamsType* pwdiStartParams,
8261 WDI_StartRspCb wdiStartRspCb,
8262 void* pUserData
8263);
8264
8265
8266/**
8267 @brief WDI_Stop will be called when the upper MAC is ready to
8268 stop any operation with the WLAN Device. Upon the call
8269 of this API the WLAN DAL will pack and send a HAL Stop
8270 message to the lower RIVA sub-system if the DAL Core is
8271 in started state.
8272
8273 In state BUSY this request will be queued.
8274
8275 Request will not be accepted in any other state.
8276
8277 WDI_Start must have been called.
8278
8279 @param wdiStopParams: the stop parameters as specified by
8280 the Device Interface
8281
8282 wdiStopRspCb: callback for passing back the response of
8283 the stop operation received from the device
8284
8285 pUserData: user data will be passed back with the
8286 callback
8287
8288 @see WDI_Start
8289 @return Result of the function call
8290*/
8291WDI_Status
8292WDI_Stop
8293(
8294 WDI_StopReqParamsType* pwdiStopParams,
8295 WDI_StopRspCb wdiStopRspCb,
8296 void* pUserData
8297);
8298
8299/**
8300 @brief WDI_Close will be called when the upper MAC no longer
8301 needs to interract with DAL. DAL will free its control
8302 block.
8303
8304 It is only accepted in state STOPPED.
8305
8306 WDI_Stop must have been called.
8307
8308 @param none
8309
8310 @see WDI_Stop
8311 @return Result of the function call
8312*/
8313WDI_Status
8314WDI_Close
8315(
8316 void
8317);
8318
8319
8320/**
8321 @brief WDI_Shutdown will be called during 'SSR shutdown' operation.
8322 This will do most of the WDI stop & close
8323 operations without doing any handshake with Riva
8324
8325 This will also make sure that the control transport
8326 will NOT be closed.
8327
8328 This request will not be queued.
8329
8330
8331 WDI_Start must have been called.
8332
8333 @param closeTransport: Close control channel if this is set
8334
8335 @return Result of the function call
8336*/
8337WDI_Status
8338WDI_Shutdown
8339(
8340 wpt_boolean closeTransport
8341);
8342
8343/*========================================================================
8344
8345 SCAN APIs
8346
8347==========================================================================*/
8348
8349/**
8350 @brief WDI_InitScanReq will be called when the upper MAC wants
8351 the WLAN Device to get ready for a scan procedure. Upon
8352 the call of this API the WLAN DAL will pack and send a
8353 HAL Init Scan request message to the lower RIVA
8354 sub-system if DAL is in state STARTED.
8355
8356 In state BUSY this request will be queued. Request won't
8357 be allowed in any other state.
8358
8359 WDI_Start must have been called.
8360
8361 @param wdiInitScanParams: the init scan parameters as specified
8362 by the Device Interface
8363
8364 wdiInitScanRspCb: callback for passing back the response
8365 of the init scan operation received from the device
8366
8367 pUserData: user data will be passed back with the
8368 callback
8369
8370 @see WDI_Start
8371 @return Result of the function call
8372*/
8373WDI_Status
8374WDI_InitScanReq
8375(
8376 WDI_InitScanReqParamsType* pwdiInitScanParams,
8377 WDI_InitScanRspCb wdiInitScanRspCb,
8378 void* pUserData
8379);
8380
8381/**
8382 @brief WDI_StartScanReq will be called when the upper MAC
8383 wishes to change the Scan channel on the WLAN Device.
8384 Upon the call of this API the WLAN DAL will pack and
8385 send a HAL Start Scan request message to the lower RIVA
8386 sub-system if DAL is in state STARTED.
8387
8388 In state BUSY this request will be queued. Request won't
8389 be allowed in any other state.
8390
8391 WDI_InitScanReq must have been called.
8392
8393 @param wdiStartScanParams: the start scan parameters as
8394 specified by the Device Interface
8395
8396 wdiStartScanRspCb: callback for passing back the
8397 response of the start scan operation received from the
8398 device
8399
8400 pUserData: user data will be passed back with the
8401 callback
8402
8403 @see WDI_InitScanReq
8404 @return Result of the function call
8405*/
8406WDI_Status
8407WDI_StartScanReq
8408(
8409 WDI_StartScanReqParamsType* pwdiStartScanParams,
8410 WDI_StartScanRspCb wdiStartScanRspCb,
8411 void* pUserData
8412);
8413
8414
8415/**
8416 @brief WDI_EndScanReq will be called when the upper MAC is
8417 wants to end scanning for a particular channel that it
8418 had set before by calling Scan Start on the WLAN Device.
8419 Upon the call of this API the WLAN DAL will pack and
8420 send a HAL End Scan request message to the lower RIVA
8421 sub-system if DAL is in state STARTED.
8422
8423 In state BUSY this request will be queued. Request won't
8424 be allowed in any other state.
8425
8426 WDI_StartScanReq must have been called.
8427
8428 @param wdiEndScanParams: the end scan parameters as specified
8429 by the Device Interface
8430
8431 wdiEndScanRspCb: callback for passing back the response
8432 of the end scan operation received from the device
8433
8434 pUserData: user data will be passed back with the
8435 callback
8436
8437 @see WDI_StartScanReq
8438 @return Result of the function call
8439*/
8440WDI_Status
8441WDI_EndScanReq
8442(
8443 WDI_EndScanReqParamsType* pwdiEndScanParams,
8444 WDI_EndScanRspCb wdiEndScanRspCb,
8445 void* pUserData
8446);
8447
8448
8449/**
8450 @brief WDI_FinishScanReq will be called when the upper MAC has
8451 completed the scan process on the WLAN Device. Upon the
8452 call of this API the WLAN DAL will pack and send a HAL
8453 Finish Scan Request request message to the lower RIVA
8454 sub-system if DAL is in state STARTED.
8455
8456 In state BUSY this request will be queued. Request won't
8457 be allowed in any other state.
8458
8459 WDI_InitScanReq must have been called.
8460
8461 @param wdiFinishScanParams: the finish scan parameters as
8462 specified by the Device Interface
8463
8464 wdiFinishScanRspCb: callback for passing back the
8465 response of the finish scan operation received from the
8466 device
8467
8468 pUserData: user data will be passed back with the
8469 callback
8470
8471 @see WDI_InitScanReq
8472 @return Result of the function call
8473*/
8474WDI_Status
8475WDI_FinishScanReq
8476(
8477 WDI_FinishScanReqParamsType* pwdiFinishScanParams,
8478 WDI_FinishScanRspCb wdiFinishScanRspCb,
8479 void* pUserData
8480);
8481
8482/*========================================================================
8483
8484 ASSOCIATION APIs
8485
8486==========================================================================*/
8487
8488/**
8489 @brief WDI_JoinReq will be called when the upper MAC is ready
8490 to start an association procedure to a BSS. Upon the
8491 call of this API the WLAN DAL will pack and send a HAL
8492 Join request message to the lower RIVA sub-system if
8493 DAL is in state STARTED.
8494
8495 In state BUSY this request will be queued. Request won't
8496 be allowed in any other state.
8497
8498 WDI_Start must have been called.
8499
8500 @param wdiJoinParams: the join parameters as specified by
8501 the Device Interface
8502
8503 wdiJoinRspCb: callback for passing back the response of
8504 the join operation received from the device
8505
8506 pUserData: user data will be passed back with the
8507 callback
8508
8509 @see WDI_Start
8510 @return Result of the function call
8511*/
8512WDI_Status
8513WDI_JoinReq
8514(
8515 WDI_JoinReqParamsType* pwdiJoinParams,
8516 WDI_JoinRspCb wdiJoinRspCb,
8517 void* pUserData
8518);
8519
8520/**
8521 @brief WDI_ConfigBSSReq will be called when the upper MAC
8522 wishes to configure the newly acquired or in process of
8523 being acquired BSS to the HW . Upon the call of this API
8524 the WLAN DAL will pack and send a HAL Config BSS request
8525 message to the lower RIVA sub-system if DAL is in state
8526 STARTED.
8527
8528 In state BUSY this request will be queued. Request won't
8529 be allowed in any other state.
8530
8531 WDI_JoinReq must have been called.
8532
8533 @param wdiConfigBSSParams: the config BSS parameters as
8534 specified by the Device Interface
8535
8536 wdiConfigBSSRspCb: callback for passing back the
8537 response of the config BSS operation received from the
8538 device
8539
8540 pUserData: user data will be passed back with the
8541 callback
8542
8543 @see WDI_JoinReq
8544 @return Result of the function call
8545*/
8546WDI_Status
8547WDI_ConfigBSSReq
8548(
8549 WDI_ConfigBSSReqParamsType* pwdiConfigBSSParams,
8550 WDI_ConfigBSSRspCb wdiConfigBSSRspCb,
8551 void* pUserData
8552);
8553
8554/**
8555 @brief WDI_DelBSSReq will be called when the upper MAC is
8556 dissasociating from the BSS and wishes to notify HW.
8557 Upon the call of this API the WLAN DAL will pack and
8558 send a HAL Del BSS request message to the lower RIVA
8559 sub-system if DAL is in state STARTED.
8560
8561 In state BUSY this request will be queued. Request won't
8562 be allowed in any other state.
8563
8564 WDI_ConfigBSSReq or WDI_PostAssocReq must have been called.
8565
8566 @param wdiDelBSSParams: the del BSS parameters as specified by
8567 the Device Interface
8568
8569 wdiDelBSSRspCb: callback for passing back the response
8570 of the del bss operation received from the device
8571
8572 pUserData: user data will be passed back with the
8573 callback
8574
8575 @see WDI_ConfigBSSReq, WDI_PostAssocReq
8576 @return Result of the function call
8577*/
8578WDI_Status
8579WDI_DelBSSReq
8580(
8581 WDI_DelBSSReqParamsType* pwdiDelBSSParams,
8582 WDI_DelBSSRspCb wdiDelBSSRspCb,
8583 void* pUserData
8584);
8585
8586/**
8587 @brief WDI_PostAssocReq will be called when the upper MAC has
8588 associated to a BSS and wishes to configure HW for
8589 associated state. Upon the call of this API the WLAN DAL
8590 will pack and send a HAL Post Assoc request message to
8591 the lower RIVA sub-system if DAL is in state STARTED.
8592
8593 In state BUSY this request will be queued. Request won't
8594 be allowed in any other state.
8595
8596 WDI_JoinReq must have been called.
8597
8598 @param wdiPostAssocReqParams: the assoc parameters as specified
8599 by the Device Interface
8600
8601 wdiPostAssocRspCb: callback for passing back the
8602 response of the post assoc operation received from the
8603 device
8604
8605 pUserData: user data will be passed back with the
8606 callback
8607
8608 @see WDI_JoinReq
8609 @return Result of the function call
8610*/
8611WDI_Status
8612WDI_PostAssocReq
8613(
8614 WDI_PostAssocReqParamsType* pwdiPostAssocReqParams,
8615 WDI_PostAssocRspCb wdiPostAssocRspCb,
8616 void* pUserData
8617);
8618
8619/**
8620 @brief WDI_DelSTAReq will be called when the upper MAC when an
8621 association with another STA has ended and the station
8622 must be deleted from HW. Upon the call of this API the
8623 WLAN DAL will pack and send a HAL Del STA request
8624 message to the lower RIVA sub-system if DAL is in state
8625 STARTED.
8626
8627 In state BUSY this request will be queued. Request won't
8628 be allowed in any other state.
8629
8630 WDI_PostAssocReq must have been called.
8631
8632 @param wdiDelSTAParams: the Del STA parameters as specified by
8633 the Device Interface
8634
8635 wdiDelSTARspCb: callback for passing back the response
8636 of the del STA operation received from the device
8637
8638 pUserData: user data will be passed back with the
8639 callback
8640
8641 @see WDI_PostAssocReq
8642 @return Result of the function call
8643*/
8644WDI_Status
8645WDI_DelSTAReq
8646(
8647 WDI_DelSTAReqParamsType* pwdiDelSTAParams,
8648 WDI_DelSTARspCb wdiDelSTARspCb,
8649 void* pUserData
8650);
8651
8652/*========================================================================
8653
8654 SECURITY APIs
8655
8656==========================================================================*/
8657
8658/**
8659 @brief WDI_SetBSSKeyReq will be called when the upper MAC ito
8660 install a BSS encryption key on the HW. Upon the call of
8661 this API the WLAN DAL will pack and send a HAL Start
8662 request message to the lower RIVA sub-system if DAL is
8663 in state STARTED.
8664
8665 In state BUSY this request will be queued. Request won't
8666 be allowed in any other state.
8667
8668 WDI_PostAssocReq must have been called.
8669
8670 @param wdiSetBSSKeyParams: the BSS Key set parameters as
8671 specified by the Device Interface
8672
8673 wdiSetBSSKeyRspCb: callback for passing back the
8674 response of the set BSS Key operation received from the
8675 device
8676
8677 pUserData: user data will be passed back with the
8678 callback
8679
8680 @see WDI_PostAssocReq
8681 @return Result of the function call
8682*/
8683WDI_Status
8684WDI_SetBSSKeyReq
8685(
8686 WDI_SetBSSKeyReqParamsType* pwdiSetBSSKeyParams,
8687 WDI_SetBSSKeyRspCb wdiSetBSSKeyRspCb,
8688 void* pUserData
8689);
8690
8691
8692/**
8693 @brief WDI_RemoveBSSKeyReq will be called when the upper MAC to
8694 uninstall a BSS key from HW. Upon the call of this API
8695 the WLAN DAL will pack and send a HAL Remove BSS Key
8696 request message to the lower RIVA sub-system if DAL is
8697 in state STARTED.
8698
8699 In state BUSY this request will be queued. Request won't
8700 be allowed in any other state.
8701
8702 WDI_SetBSSKeyReq must have been called.
8703
8704 @param wdiRemoveBSSKeyParams: the remove BSS key parameters as
8705 specified by the Device Interface
8706
8707 wdiRemoveBSSKeyRspCb: callback for passing back the
8708 response of the remove BSS key operation received from
8709 the device
8710
8711 pUserData: user data will be passed back with the
8712 callback
8713
8714 @see WDI_SetBSSKeyReq
8715 @return Result of the function call
8716*/
8717WDI_Status
8718WDI_RemoveBSSKeyReq
8719(
8720 WDI_RemoveBSSKeyReqParamsType* pwdiRemoveBSSKeyParams,
8721 WDI_RemoveBSSKeyRspCb wdiRemoveBSSKeyRspCb,
8722 void* pUserData
8723);
8724
8725
8726/**
8727 @brief WDI_SetSTAKeyReq will be called when the upper MAC is
8728 ready to install a STA(ast) encryption key in HW. Upon
8729 the call of this API the WLAN DAL will pack and send a
8730 HAL Set STA Key request message to the lower RIVA
8731 sub-system if DAL is in state STARTED.
8732
8733 In state BUSY this request will be queued. Request won't
8734 be allowed in any other state.
8735
8736 WDI_PostAssocReq must have been called.
8737
8738 @param wdiSetSTAKeyParams: the set STA key parameters as
8739 specified by the Device Interface
8740
8741 wdiSetSTAKeyRspCb: callback for passing back the
8742 response of the set STA key operation received from the
8743 device
8744
8745 pUserData: user data will be passed back with the
8746 callback
8747
8748 @see WDI_PostAssocReq
8749 @return Result of the function call
8750*/
8751WDI_Status
8752WDI_SetSTAKeyReq
8753(
8754 WDI_SetSTAKeyReqParamsType* pwdiSetSTAKeyParams,
8755 WDI_SetSTAKeyRspCb wdiSetSTAKeyRspCb,
8756 void* pUserData
8757);
8758
8759
8760/**
8761 @brief WDI_RemoveSTAKeyReq will be called when the upper MAC
8762 wants to unistall a previously set STA key in HW. Upon
8763 the call of this API the WLAN DAL will pack and send a
8764 HAL Remove STA Key request message to the lower RIVA
8765 sub-system if DAL is in state STARTED.
8766
8767 In state BUSY this request will be queued. Request won't
8768 be allowed in any other state.
8769
8770 WDI_SetSTAKeyReq must have been called.
8771
8772 @param wdiRemoveSTAKeyParams: the remove STA key parameters as
8773 specified by the Device Interface
8774
8775 wdiRemoveSTAKeyRspCb: callback for passing back the
8776 response of the remove STA key operation received from
8777 the device
8778
8779 pUserData: user data will be passed back with the
8780 callback
8781
8782 @see WDI_SetSTAKeyReq
8783 @return Result of the function call
8784*/
8785WDI_Status
8786WDI_RemoveSTAKeyReq
8787(
8788 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTAKeyParams,
8789 WDI_RemoveSTAKeyRspCb wdiRemoveSTAKeyRspCb,
8790 void* pUserData
8791);
8792
8793/**
8794 @brief WDI_SetSTABcastKeyReq will be called when the upper MAC
8795 wants to install a STA Bcast encryption key on the HW.
8796 Upon the call of this API the WLAN DAL will pack and
8797 send a HAL Start request message to the lower RIVA
8798 sub-system if DAL is in state STARTED.
8799
8800 In state BUSY this request will be queued. Request won't
8801 be allowed in any other state.
8802
8803 WDI_PostAssocReq must have been called.
8804
8805 @param pwdiSetSTABcastKeyParams: the BSS Key set parameters as
8806 specified by the Device Interface
8807
8808 wdiSetSTABcastKeyRspCb: callback for passing back the
8809 response of the set BSS Key operation received from the
8810 device
8811
8812 pUserData: user data will be passed back with the
8813 callback
8814
8815 @see WDI_PostAssocReq
8816 @return Result of the function call
8817*/
8818WDI_Status
8819WDI_SetSTABcastKeyReq
8820(
8821 WDI_SetSTAKeyReqParamsType* pwdiSetSTABcastKeyParams,
8822 WDI_SetSTAKeyRspCb wdiSetSTABcastKeyRspCb,
8823 void* pUserData
8824);
8825
8826
8827/**
8828 @brief WDI_RemoveSTABcastKeyReq will be called when the upper
8829 MAC to uninstall a STA Bcast key from HW. Upon the call
8830 of this API the WLAN DAL will pack and send a HAL Remove
8831 STA Bcast Key request message to the lower RIVA
8832 sub-system if DAL is in state STARTED.
8833
8834 In state BUSY this request will be queued. Request won't
8835 be allowed in any other state.
8836
8837 WDI_SetSTABcastKeyReq must have been called.
8838
8839 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
8840 parameters as specified by the Device
8841 Interface
8842
8843 wdiRemoveSTABcastKeyRspCb: callback for passing back the
8844 response of the remove STA Bcast key operation received
8845 from the device
8846
8847 pUserData: user data will be passed back with the
8848 callback
8849
8850 @see WDI_SetSTABcastKeyReq
8851 @return Result of the function call
8852*/
8853WDI_Status
8854WDI_RemoveSTABcastKeyReq
8855(
8856 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTABcastKeyParams,
8857 WDI_RemoveSTAKeyRspCb wdiRemoveSTABcastKeyRspCb,
8858 void* pUserData
8859);
8860
schang86c22c42013-03-13 18:41:24 -07008861
8862/**
8863 @brief WDI_SetTxPowerReq will be called when the upper
8864 MAC wants to set Tx Power to HW.
8865 In state BUSY this request will be queued. Request won't
8866 be allowed in any other state.
8867
8868
8869 @param pwdiSetTxPowerParams: set TS Power parameters
8870 BSSID and target TX Power with dbm included
8871
8872 wdiReqStatusCb: callback for passing back the response
8873
8874 pUserData: user data will be passed back with the
8875 callback
8876
8877 @return Result of the function call
8878*/
8879WDI_Status
8880WDI_SetTxPowerReq
8881(
8882 WDI_SetTxPowerParamsType* pwdiSetTxPowerParams,
8883 WDA_SetTxPowerRspCb wdiReqStatusCb,
8884 void* pUserData
8885);
8886
Jeff Johnson295189b2012-06-20 16:38:30 -07008887/**
8888 @brief WDI_SetMaxTxPowerReq will be called when the upper
8889 MAC wants to set Max Tx Power to HW. Upon the
8890 call of this API the WLAN DAL will pack and send a HAL
8891 Remove STA Bcast Key request message to the lower RIVA
8892 sub-system if DAL is in state STARTED.
8893
8894 In state BUSY this request will be queued. Request won't
8895 be allowed in any other state.
8896
8897 WDI_SetSTABcastKeyReq must have been called.
8898
8899 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
8900 parameters as specified by the Device
8901 Interface
8902
8903 wdiRemoveSTABcastKeyRspCb: callback for passing back the
8904 response of the remove STA Bcast key operation received
8905 from the device
8906
8907 pUserData: user data will be passed back with the
8908 callback
8909
8910 @see WDI_SetMaxTxPowerReq
8911 @return Result of the function call
8912*/
8913WDI_Status
8914WDI_SetMaxTxPowerReq
8915(
8916 WDI_SetMaxTxPowerParamsType* pwdiSetMaxTxPowerParams,
8917 WDA_SetMaxTxPowerRspCb wdiReqStatusCb,
8918 void* pUserData
8919);
8920
Arif Hussaina5ebce02013-08-09 15:09:58 -07008921/**
8922 @brief WDI_SetMaxTxPowerPerBandReq will be called when the upper
8923 MAC wants to set Max Tx Power to HW for specific band. Upon the
8924 call of this API the WLAN DAL will pack and send a HAL
8925 Set Max Tx Power Per Band request message to the lower RIVA
8926 sub-system if DAL is in state STARTED.
8927
8928 In state BUSY this request will be queued. Request won't
8929 be allowed in any other state.
8930
8931
8932 @param WDI_SetMaxTxPowerPerBandParamsType: Max Tx Per Band Info
8933
8934 WDA_SetMaxTxPowerPerBandRspCb: This callback is invoked by DAL
8935 when it has received a set max Tx Power Per Band response from
8936 the underlying device.
8937
8938 pUserData: user data will be passed back with the
8939 callback
8940
8941 @see WDI_SetMaxTxPowerPerBandReq
8942 @return Result of the function call
8943*/
8944WDI_Status
8945WDI_SetMaxTxPowerPerBandReq
8946(
8947 WDI_SetMaxTxPowerPerBandParamsType* pwdiSetMaxTxPowerPerBandParams,
8948 WDA_SetMaxTxPowerPerBandRspCb wdiReqStatusCb,
8949 void* pUserData
8950);
8951
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08008952#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07008953/**
8954 @brief WDI_TSMStatsReq will be called by the upper MAC to fetch
8955 Traffic Stream metrics.
8956 In state BUSY this request will be queued. Request won't
8957 be allowed in any other state.
8958
8959 @param wdiAddTsReqParams: the add TS parameters as specified by
8960 the Device Interface
8961
8962 wdiAddTsRspCb: callback for passing back the response of
8963 the add TS operation received from the device
8964
8965 pUserData: user data will be passed back with the
8966 callback
8967
8968 @see WDI_PostAssocReq
8969 @return Result of the function call
8970*/
8971WDI_Status
8972WDI_TSMStatsReq
8973(
8974 WDI_TSMStatsReqParamsType* pwdiTsmStatsReqParams,
8975 WDI_TsmRspCb wdiTsmStatsRspCb,
8976 void* pUserData
8977);
8978
8979
8980#endif
8981
8982/*========================================================================
8983
8984 QoS and BA APIs
8985
8986==========================================================================*/
8987
8988/**
8989 @brief WDI_AddTSReq will be called when the upper MAC to inform
8990 the device of a successful add TSpec negotiation. HW
8991 needs to receive the TSpec Info from the UMAC in order
8992 to configure properly the QoS data traffic. Upon the
8993 call of this API the WLAN DAL will pack and send a HAL
8994 Add TS request message to the lower RIVA sub-system if
8995 DAL is in state STARTED.
8996
8997 In state BUSY this request will be queued. Request won't
8998 be allowed in any other state.
8999
9000 WDI_PostAssocReq must have been called.
9001
9002 @param wdiAddTsReqParams: the add TS parameters as specified by
9003 the Device Interface
9004
9005 wdiAddTsRspCb: callback for passing back the response of
9006 the add TS operation received from the device
9007
9008 pUserData: user data will be passed back with the
9009 callback
9010
9011 @see WDI_PostAssocReq
9012 @return Result of the function call
9013*/
9014WDI_Status
9015WDI_AddTSReq
9016(
9017 WDI_AddTSReqParamsType* pwdiAddTsReqParams,
9018 WDI_AddTsRspCb wdiAddTsRspCb,
9019 void* pUserData
9020);
9021
9022
9023
9024/**
9025 @brief WDI_DelTSReq will be called when the upper MAC has ended
9026 admission on a specific AC. This is to inform HW that
9027 QoS traffic parameters must be rest. Upon the call of
9028 this API the WLAN DAL will pack and send a HAL Del TS
9029 request message to the lower RIVA sub-system if DAL is
9030 in state STARTED.
9031
9032 In state BUSY this request will be queued. Request won't
9033 be allowed in any other state.
9034
9035 WDI_AddTSReq must have been called.
9036
9037 @param wdiDelTsReqParams: the del TS parameters as specified by
9038 the Device Interface
9039
9040 wdiDelTsRspCb: callback for passing back the response of
9041 the del TS operation received from the device
9042
9043 pUserData: user data will be passed back with the
9044 callback
9045
9046 @see WDI_AddTSReq
9047 @return Result of the function call
9048*/
9049WDI_Status
9050WDI_DelTSReq
9051(
9052 WDI_DelTSReqParamsType* pwdiDelTsReqParams,
9053 WDI_DelTsRspCb wdiDelTsRspCb,
9054 void* pUserData
9055);
9056
9057
9058
9059/**
9060 @brief WDI_UpdateEDCAParams will be called when the upper MAC
9061 wishes to update the EDCA parameters used by HW for QoS
9062 data traffic. Upon the call of this API the WLAN DAL
9063 will pack and send a HAL Update EDCA Params request
9064 message to the lower RIVA sub-system if DAL is in state
9065 STARTED.
9066
9067 In state BUSY this request will be queued. Request won't
9068 be allowed in any other state.
9069
9070 WDI_PostAssocReq must have been called.
9071
9072 @param wdiUpdateEDCAParams: the start parameters as specified
9073 by the Device Interface
9074
9075 wdiUpdateEDCAParamsRspCb: callback for passing back the
9076 response of the start operation received from the device
9077
9078 pUserData: user data will be passed back with the
9079 callback
9080
9081 @see WDI_PostAssocReq
9082 @return Result of the function call
9083*/
9084WDI_Status
9085WDI_UpdateEDCAParams
9086(
9087 WDI_UpdateEDCAParamsType* pwdiUpdateEDCAParams,
9088 WDI_UpdateEDCAParamsRspCb wdiUpdateEDCAParamsRspCb,
9089 void* pUserData
9090);
9091
9092
9093
9094/**
9095 @brief WDI_AddBASessionReq will be called when the upper MAC has setup
9096 successfully a BA session and needs to notify the HW for
9097 the appropriate settings to take place. Upon the call of
9098 this API the WLAN DAL will pack and send a HAL Add BA
9099 request message to the lower RIVA sub-system if DAL is
9100 in state STARTED.
9101
9102 In state BUSY this request will be queued. Request won't
9103 be allowed in any other state.
9104
9105 WDI_PostAssocReq must have been called.
9106
9107 @param wdiAddBAReqParams: the add BA parameters as specified by
9108 the Device Interface
9109
9110 wdiAddBARspCb: callback for passing back the response of
9111 the add BA operation received from the device
9112
9113 pUserData: user data will be passed back with the
9114 callback
9115
9116 @see WDI_PostAssocReq
9117 @return Result of the function call
9118*/
9119WDI_Status
9120WDI_AddBASessionReq
9121(
9122 WDI_AddBASessionReqParamsType* pwdiAddBASessionReqParams,
9123 WDI_AddBASessionRspCb wdiAddBASessionRspCb,
9124 void* pUserData
9125);
9126
9127
9128/**
9129 @brief WDI_DelBAReq will be called when the upper MAC wants to
9130 inform HW that it has deleted a previously created BA
9131 session. Upon the call of this API the WLAN DAL will
9132 pack and send a HAL Del BA request message to the lower
9133 RIVA sub-system if DAL is in state STARTED.
9134
9135 In state BUSY this request will be queued. Request won't
9136 be allowed in any other state.
9137
9138 WDI_AddBAReq must have been called.
9139
9140 @param wdiDelBAReqParams: the del BA parameters as specified by
9141 the Device Interface
9142
9143 wdiDelBARspCb: callback for passing back the response of
9144 the del BA operation received from the device
9145
9146 pUserData: user data will be passed back with the
9147 callback
9148
9149 @see WDI_AddBAReq
9150 @return Result of the function call
9151*/
9152WDI_Status
9153WDI_DelBAReq
9154(
9155 WDI_DelBAReqParamsType* pwdiDelBAReqParams,
9156 WDI_DelBARspCb wdiDelBARspCb,
9157 void* pUserData
9158);
9159
9160/**
9161 @brief WDI_UpdateBeaconParamsReq will be called when the upper MAC wants to
9162 inform HW that there is a change in the beacon parameters
9163 Upon the call of this API the WLAN DAL will
9164 pack and send a UpdateBeacon Params message to the lower
9165 RIVA sub-system if DAL is in state STARTED.
9166
9167 In state BUSY this request will be queued. Request won't
9168 be allowed in any other state.
9169
9170 WDI_UpdateBeaconParamsReq must have been called.
9171
9172 @param WDI_UpdateBeaconParamsType: the Update Beacon parameters as specified by
9173 the Device Interface
9174
9175 WDI_UpdateBeaconParamsRspCb: callback for passing back the response of
9176 the Update Beacon Params operation received from the device
9177
9178 pUserData: user data will be passed back with the
9179 callback
9180
9181 @see WDI_AddBAReq
9182 @return Result of the function call
9183*/
9184
9185WDI_Status
9186WDI_UpdateBeaconParamsReq
9187(
9188 WDI_UpdateBeaconParamsType * pwdiUpdateBeaconParams,
9189 WDI_UpdateBeaconParamsRspCb wdiUpdateBeaconParamsRspCb,
9190 void* pUserData
9191);
9192
9193
9194/**
9195 @brief WDI_SendBeaconParamsReq will be called when the upper MAC wants to
9196 update the beacon template to be transmitted as BT MAP STA/IBSS/Soft AP
9197 Upon the call of this API the WLAN DAL will
9198 pack and send the beacon Template message to the lower
9199 RIVA sub-system if DAL is in state STARTED.
9200
9201 In state BUSY this request will be queued. Request won't
9202 be allowed in any other state.
9203
9204 WDI_SendBeaconParamsReq must have been called.
9205
9206 @param WDI_SendBeaconParamsType: the Update Beacon parameters as specified by
9207 the Device Interface
9208
9209 WDI_SendBeaconParamsRspCb: callback for passing back the response of
9210 the Send Beacon Params operation received from the device
9211
9212 pUserData: user data will be passed back with the
9213 callback
9214
9215 @see WDI_AddBAReq
9216 @return Result of the function call
9217*/
9218
9219WDI_Status
9220WDI_SendBeaconParamsReq
9221(
9222 WDI_SendBeaconParamsType* pwdiSendBeaconParams,
9223 WDI_SendBeaconParamsRspCb wdiSendBeaconParamsRspCb,
9224 void* pUserData
9225);
9226
9227
9228/**
9229 @brief WDI_UpdateProbeRspTemplateReq will be called when the
9230 upper MAC wants to update the probe response template to
9231 be transmitted as Soft AP
9232 Upon the call of this API the WLAN DAL will
9233 pack and send the probe rsp template message to the
9234 lower RIVA sub-system if DAL is in state STARTED.
9235
9236 In state BUSY this request will be queued. Request won't
9237 be allowed in any other state.
9238
9239
9240 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
9241 specified by the Device Interface
9242
9243 wdiSendBeaconParamsRspCb: callback for passing back the
9244 response of the Send Beacon Params operation received
9245 from the device
9246
9247 pUserData: user data will be passed back with the
9248 callback
9249
9250 @see WDI_AddBAReq
9251 @return Result of the function call
9252*/
9253
9254WDI_Status
9255WDI_UpdateProbeRspTemplateReq
9256(
9257 WDI_UpdateProbeRspTemplateParamsType* pwdiUpdateProbeRspParams,
9258 WDI_UpdateProbeRspTemplateRspCb wdiSendBeaconParamsRspCb,
9259 void* pUserData
9260);
9261
Jeff Johnson295189b2012-06-20 16:38:30 -07009262/**
9263 @brief WDI_SetP2PGONOAReq will be called when the
9264 upper MAC wants to send Notice of Absence
9265 Upon the call of this API the WLAN DAL will
9266 pack and send the probe rsp template message to the
9267 lower RIVA sub-system if DAL is in state STARTED.
9268
9269 In state BUSY this request will be queued. Request won't
9270 be allowed in any other state.
9271
9272
9273 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
9274 specified by the Device Interface
9275
9276 wdiSendBeaconParamsRspCb: callback for passing back the
9277 response of the Send Beacon Params operation received
9278 from the device
9279
9280 pUserData: user data will be passed back with the
9281 callback
9282
9283 @see WDI_AddBAReq
9284 @return Result of the function call
9285*/
9286WDI_Status
9287WDI_SetP2PGONOAReq
9288(
9289 WDI_SetP2PGONOAReqParamsType* pwdiP2PGONOAReqParams,
9290 WDI_SetP2PGONOAReqParamsRspCb wdiP2PGONOAReqParamsRspCb,
9291 void* pUserData
9292);
Jeff Johnson295189b2012-06-20 16:38:30 -07009293
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05309294/**
9295 @brief WDI_SetTDLSLinkEstablishReq will be called when the
9296 upper MAC wants to send TDLS Link Establish Request Parameters
9297 Upon the call of this API the WLAN DAL will
9298 pack and send the TDLS Link Establish Request message to the
9299 lower RIVA sub-system if DAL is in state STARTED.
9300
9301 In state BUSY this request will be queued. Request won't
9302 be allowed in any other state.
9303
9304
9305 @param pwdiTDLSLinkEstablishReqParams: TDLS Peer Parameters
9306 for Link Establishment (Used for PUAPSD , TDLS Off Channel ...)
9307
9308 wdiTDLSLinkEstablishReqRspCb: callback for passing back the
9309 response of the TDLS Link Establish request received
9310 from the device
9311
9312 pUserData: user data will be passed back with the
9313 callback
9314
9315 @see
9316 @return Result of the function call
9317*/
9318WDI_Status
9319WDI_SetTDLSLinkEstablishReq
9320(
9321 WDI_SetTDLSLinkEstablishReqParamsType* pwdiTDLSLinkEstablishReqParams,
9322 WDI_SetTDLSLinkEstablishReqParamsRspCb wdiTDLSLinkEstablishReqRspCb,
9323 void* pUserData
9324);
Jeff Johnson295189b2012-06-20 16:38:30 -07009325
Atul Mittalc0f739f2014-07-31 13:47:47 +05309326WDI_Status
9327WDI_SetTDLSChanSwitchReq
9328(
9329 WDI_SetTDLSChanSwitchReqParamsType* pwdiTDLSChanSwitchReqParams,
9330 WDI_SetTDLSChanSwitchReqParamsRspCb wdiTDLSChanSwitchRReqRspCb,
9331 void* pUserData
9332);
Jeff Johnson295189b2012-06-20 16:38:30 -07009333/*========================================================================
9334
9335 Power Save APIs
9336
9337==========================================================================*/
9338
9339/**
9340 @brief WDI_SetPwrSaveCfgReq will be called when the upper MAC
9341 wants to set the power save related configurations of
9342 the WLAN Device. Upon the call of this API the WLAN DAL
9343 will pack and send a HAL Update CFG request message to
9344 the lower RIVA sub-system if DAL is in state STARTED.
9345
9346 In state BUSY this request will be queued. Request won't
9347 be allowed in any other state.
9348
9349 WDI_Start must have been called.
9350
9351 @param pwdiPowerSaveCfg: the power save cfg parameters as
9352 specified by the Device Interface
9353
9354 wdiSetPwrSaveCfgCb: callback for passing back the
9355 response of the set power save cfg operation received
9356 from the device
9357
9358 pUserData: user data will be passed back with the
9359 callback
9360
9361 @see WDI_Start
9362 @return Result of the function call
9363*/
9364WDI_Status
9365WDI_SetPwrSaveCfgReq
9366(
9367 WDI_UpdateCfgReqParamsType* pwdiPowerSaveCfg,
9368 WDI_SetPwrSaveCfgCb wdiSetPwrSaveCfgCb,
9369 void* pUserData
9370);
9371
9372/**
9373 @brief WDI_EnterImpsReq will be called when the upper MAC to
9374 request the device to get into IMPS power state. Upon
9375 the call of this API the WLAN DAL will send a HAL Enter
9376 IMPS request message to the lower RIVA sub-system if DAL
9377 is in state STARTED.
9378
9379 In state BUSY this request will be queued. Request won't
9380 be allowed in any other state.
9381
9382
9383 @param wdiEnterImpsRspCb: callback for passing back the
9384 response of the Enter IMPS operation received from the
9385 device
9386
9387 pUserData: user data will be passed back with the
9388 callback
9389
9390 @see WDI_Start
9391 @return Result of the function call
9392*/
9393WDI_Status
9394WDI_EnterImpsReq
9395(
Mihir Shetea4306052014-03-25 00:02:54 +05309396 WDI_EnterImpsReqParamsType *pwdiEnterImpsReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009397 WDI_EnterImpsRspCb wdiEnterImpsRspCb,
9398 void* pUserData
9399);
9400
9401/**
9402 @brief WDI_ExitImpsReq will be called when the upper MAC to
9403 request the device to get out of IMPS power state. Upon
9404 the call of this API the WLAN DAL will send a HAL Exit
9405 IMPS request message to the lower RIVA sub-system if DAL
9406 is in state STARTED.
9407
9408 In state BUSY this request will be queued. Request won't
9409 be allowed in any other state.
9410
9411
9412
9413 @param wdiExitImpsRspCb: callback for passing back the response
9414 of the Exit IMPS operation received from the device
9415
9416 pUserData: user data will be passed back with the
9417 callback
9418
9419 @see WDI_Start
9420 @return Result of the function call
9421*/
9422WDI_Status
9423WDI_ExitImpsReq
9424(
Mahesh A Saptasagar329813b2014-12-15 12:16:51 +05309425 WDI_ExitImpsReqParamsType *pwdiExitImpsReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009426 WDI_ExitImpsRspCb wdiExitImpsRspCb,
9427 void* pUserData
9428);
9429
9430/**
9431 @brief WDI_EnterBmpsReq will be called when the upper MAC to
9432 request the device to get into BMPS power state. Upon
9433 the call of this API the WLAN DAL will pack and send a
9434 HAL Enter BMPS request message to the lower RIVA
9435 sub-system if DAL is in state STARTED.
9436
9437 In state BUSY this request will be queued. Request won't
9438 be allowed in any other state.
9439
9440 WDI_PostAssocReq must have been called.
9441
9442 @param pwdiEnterBmpsReqParams: the Enter BMPS parameters as
9443 specified by the Device Interface
9444
9445 wdiEnterBmpsRspCb: callback for passing back the
9446 response of the Enter BMPS operation received from the
9447 device
9448
9449 pUserData: user data will be passed back with the
9450 callback
9451
9452 @see WDI_PostAssocReq
9453 @return Result of the function call
9454*/
9455WDI_Status
9456WDI_EnterBmpsReq
9457(
9458 WDI_EnterBmpsReqParamsType *pwdiEnterBmpsReqParams,
9459 WDI_EnterBmpsRspCb wdiEnterBmpsRspCb,
9460 void* pUserData
9461);
9462
9463/**
9464 @brief WDI_ExitBmpsReq will be called when the upper MAC to
9465 request the device to get out of BMPS power state. Upon
9466 the call of this API the WLAN DAL will pack and send a
9467 HAL Exit BMPS request message to the lower RIVA
9468 sub-system if DAL is in state STARTED.
9469
9470 In state BUSY this request will be queued. Request won't
9471 be allowed in any other state.
9472
9473 WDI_PostAssocReq must have been called.
9474
9475 @param pwdiExitBmpsReqParams: the Exit BMPS parameters as
9476 specified by the Device Interface
9477
9478 wdiExitBmpsRspCb: callback for passing back the response
9479 of the Exit BMPS operation received from the device
9480
9481 pUserData: user data will be passed back with the
9482 callback
9483
9484 @see WDI_PostAssocReq
9485 @return Result of the function call
9486*/
9487WDI_Status
9488WDI_ExitBmpsReq
9489(
9490 WDI_ExitBmpsReqParamsType *pwdiExitBmpsReqParams,
9491 WDI_ExitBmpsRspCb wdiExitBmpsRspCb,
9492 void* pUserData
9493);
9494
9495/**
9496 @brief WDI_EnterUapsdReq will be called when the upper MAC to
9497 request the device to get into UAPSD power state. Upon
9498 the call of this API the WLAN DAL will pack and send a
9499 HAL Enter UAPSD request message to the lower RIVA
9500 sub-system if DAL is in state STARTED.
9501
9502 In state BUSY this request will be queued. Request won't
9503 be allowed in any other state.
9504
9505 WDI_PostAssocReq must have been called.
9506 WDI_SetUapsdAcParamsReq must have been called.
9507
9508 @param pwdiEnterUapsdReqParams: the Enter UAPSD parameters as
9509 specified by the Device Interface
9510
9511 wdiEnterUapsdRspCb: callback for passing back the
9512 response of the Enter UAPSD operation received from the
9513 device
9514
9515 pUserData: user data will be passed back with the
9516 callback
9517
9518 @see WDI_PostAssocReq, WDI_SetUapsdAcParamsReq
9519 @return Result of the function call
9520*/
9521WDI_Status
9522WDI_EnterUapsdReq
9523(
9524 WDI_EnterUapsdReqParamsType *pwdiEnterUapsdReqParams,
9525 WDI_EnterUapsdRspCb wdiEnterUapsdRspCb,
9526 void* pUserData
9527);
9528
9529/**
9530 @brief WDI_ExitUapsdReq will be called when the upper MAC to
9531 request the device to get out of UAPSD power state. Upon
9532 the call of this API the WLAN DAL will send a HAL Exit
9533 UAPSD request message to the lower RIVA sub-system if
9534 DAL is in state STARTED.
9535
9536 In state BUSY this request will be queued. Request won't
9537 be allowed in any other state.
9538
9539 WDI_PostAssocReq must have been called.
9540
9541 @param wdiExitUapsdRspCb: callback for passing back the
9542 response of the Exit UAPSD operation received from the
9543 device
9544
9545 pUserData: user data will be passed back with the
9546 callback
9547
9548 @see WDI_PostAssocReq
9549 @return Result of the function call
9550*/
9551WDI_Status
9552WDI_ExitUapsdReq
9553(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07009554 WDI_ExitUapsdReqParamsType *pwdiExitUapsdReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009555 WDI_ExitUapsdRspCb wdiExitUapsdRspCb,
9556 void* pUserData
9557);
9558
9559/**
9560 @brief WDI_UpdateUapsdParamsReq will be called when the upper
9561 MAC wants to set the UAPSD related configurations
9562 of an associated STA (while acting as an AP) to the WLAN
9563 Device. Upon the call of this API the WLAN DAL will pack
9564 and send a HAL Update UAPSD params request message to
9565 the lower RIVA sub-system if DAL is in state STARTED.
9566
9567 In state BUSY this request will be queued. Request won't
9568 be allowed in any other state.
9569
9570 WDI_ConfigBSSReq must have been called.
9571
9572 @param pwdiUpdateUapsdReqParams: the UAPSD parameters
9573 as specified by the Device Interface
9574
9575 wdiUpdateUapsdParamsCb: callback for passing back the
9576 response of the update UAPSD params operation received
9577 from the device
9578
9579 pUserData: user data will be passed back with the
9580 callback
9581
9582 @see WDI_ConfigBSSReq
9583 @return Result of the function call
9584*/
9585WDI_Status
9586WDI_UpdateUapsdParamsReq
9587(
9588 WDI_UpdateUapsdReqParamsType *pwdiUpdateUapsdReqParams,
9589 WDI_UpdateUapsdParamsCb wdiUpdateUapsdParamsCb,
9590 void* pUserData
9591);
9592
9593/**
9594 @brief WDI_SetUapsdAcParamsReq will be called when the upper
9595 MAC wants to set the UAPSD related configurations before
9596 requesting for enter UAPSD power state to the WLAN
9597 Device. Upon the call of this API the WLAN DAL will pack
9598 and send a HAL Set UAPSD params request message to
9599 the lower RIVA sub-system if DAL is in state STARTED.
9600
9601 In state BUSY this request will be queued. Request won't
9602 be allowed in any other state.
9603
9604 WDI_PostAssocReq must have been called.
9605
9606 @param pwdiUapsdInfo: the UAPSD parameters as specified by
9607 the Device Interface
9608
9609 wdiSetUapsdAcParamsCb: callback for passing back the
9610 response of the set UAPSD params operation received from
9611 the device
9612
9613 pUserData: user data will be passed back with the
9614 callback
9615
9616 @see WDI_PostAssocReq
9617 @return Result of the function call
9618*/
9619WDI_Status
9620WDI_SetUapsdAcParamsReq
9621(
9622 WDI_SetUapsdAcParamsReqParamsType* pwdiPowerSaveCfg,
9623 WDI_SetUapsdAcParamsCb wdiSetUapsdAcParamsCb,
9624 void* pUserData
9625);
Sachin Ahuja715aafc2015-07-21 23:35:10 +05309626
9627
9628/**
9629 @brief WDI_FatalEventLogsReq will be called when the upper
9630 MAC wants to send the fatal event req. Upon the call of
9631 this API the WLAN DAL will pack and send a HAL
9632 Fatal event request message to the lower RIVA sub-system.
9633
9634 In state BUSY this request will be queued. Request won't
9635 be allowed in any other state.
9636
9637
9638 @param pwdiFatalEventLogsReqInfo: the Fatal event logs params
9639 as specified by the Device Interface
9640
9641 wdiFatalEventLogsRspCb: callback for passing back the
9642 response of the fatal event operation received
9643 from the device
9644
9645 pUserData: user data will be passed back with the
9646 callback
9647
9648 @return Result of the function call
9649*/
9650
9651WDI_Status
9652WDI_FatalEventLogsReq
9653(
9654 WDI_FatalEventLogsReqInfoType *pwdiFatalEventLogsReqInfo,
9655 WDI_FatalEventLogsRspCb wdiFatalEventLogsRspCb,
9656 void* pUserData
9657);
9658
Siddharth Bhal64246172015-02-27 01:04:37 +05309659/**
9660 @brief WDI_GetFrameLogReq will be called when the upper
9661 MAC wants to initialize frame logging. Upon the call of
9662 this API the WLAN DAL will pack and send a HAL
9663 Frame logging init request message to
9664 the lower RIVA sub-system.
9665
9666 In state BUSY this request will be queued. Request won't
9667 be allowed in any other state.
9668
9669
9670 @param pwdiGetFrameLogReqInfo: the Frame Logging params
9671 as specified by the Device Interface
9672
9673 wdiGetFrameLogReqCb: callback for passing back the
9674 response of the frame logging init operation received
9675 from the device
9676
9677 pUserData: user data will be passed back with the
9678 callback
9679
9680 @return Result of the function call
9681*/
9682WDI_Status
9683WDI_GetFrameLogReq
9684(
9685 WDI_GetFrameLogReqInfoType *pwdiGetFrameLogReqInfo,
9686 WDI_GetFrameLogRspCb wdiGetFrameLogReqCb,
9687 void* pUserData
9688);
Jeff Johnson295189b2012-06-20 16:38:30 -07009689
9690/**
Siddharth Bhald1be97f2015-05-27 22:39:59 +05309691 @brief WDI_FWLoggingInitReq will be called when the upper
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05309692 MAC wants to initialize frame logging. Upon the call of
9693 this API the WLAN DAL will pack and send a HAL
9694 Frame logging init request message to
9695 the lower RIVA sub-system.
9696
9697 In state BUSY this request will be queued. Request won't
9698 be allowed in any other state.
9699
9700
Siddharth Bhald1be97f2015-05-27 22:39:59 +05309701 @param pwdiFWLoggingInitReqParams: the Frame Logging params
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05309702 as specified by the Device Interface
9703
Siddharth Bhald1be97f2015-05-27 22:39:59 +05309704 wdiFWLoggingInitReqCb: callback for passing back the
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05309705 response of the frame logging init operation received
9706 from the device
9707
9708 pUserData: user data will be passed back with the
9709 callback
9710
9711 @return Result of the function call
9712*/
9713WDI_Status
Siddharth Bhald1be97f2015-05-27 22:39:59 +05309714WDI_FWLoggingInitReq
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05309715(
Siddharth Bhald1be97f2015-05-27 22:39:59 +05309716 WDI_FWLoggingInitReqInfoType *pwdiFWLoggingInitReqInfo,
9717 WDI_FWLoggingInitRspCb wdiFWLoggingInitReqCb,
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05309718 void* pUserData
9719);
9720
9721/**
Gupta, Kapil7c34b322015-09-30 13:12:35 +05309722 @brief WDI_StartRssiMonitorReq will be called when the upper
9723 MAC wants to initialize Rssi Monitor on a bssid.
9724 Upon the call of this API the WLAN DAL will pack and
9725 send a HAL Rssi Monitor init request message to
9726 the lower RIVA sub-system.
9727
9728 In state BUSY this request will be queued. Request won't
9729 be allowed in any other state.
9730
9731
9732 @param pwdiRssiMonitorInfo: the Rssi Monitor params
9733 as specified by the Device Interface
9734
9735 wdiRssiMonitorStartRspCb: callback for passing back the
9736 response of the rssi monitor operation received
9737 from the device
9738
9739 pUserData: user data will be passed back with the
9740 callback
9741
9742 @return Result of the function call
9743*/
9744WDI_Status
9745WDI_StartRssiMonitorReq
9746(
9747 WDI_RssiMonitorReqInfoType *pwdiRssiMonitorInfo,
9748 WDI_RssiMonitorStartRspCb wdiRssiMonitorStartRspCb,
9749 void* pUserData
9750);
9751
9752
9753/**
9754 @brief WDI_StopRssiMonitorReq will be called when the upper
9755 MAC wants to stop Rssi Monitor on a bssid.
9756 Upon the call of this API the WLAN DAL will pack and
9757 send a HAL Rssi Monitor stop request message to
9758 the lower RIVA sub-system.
9759
9760 In state BUSY this request will be queued. Request won't
9761 be allowed in any other state.
9762
9763
9764 @param pwdiRssiMonitorInfo: the Rssi Monitor params
9765 as specified by the Device Interface
9766
9767 wdiRssiMonitorStopRspCb: callback for passing back the
9768 response of the rssi monitor operation received
9769 from the device
9770
9771 pUserData: user data will be passed back with the
9772 callback
9773
9774 @return Result of the function call
9775*/
9776WDI_Status
9777WDI_StopRssiMonitorReq
9778(
9779 WDI_RssiMonitorReqInfoType *pwdiRssiMonitorInfo,
9780 WDI_RssiMonitorStopRspCb wdiRssiMonitorStopRspCb,
9781 void* pUserData
9782);
9783
9784/**
Jeff Johnson295189b2012-06-20 16:38:30 -07009785 @brief WDI_ConfigureRxpFilterReq will be called when the upper
9786 MAC wants to set/reset the RXP filters for received pkts
9787 (MC, BC etc.). Upon the call of this API the WLAN DAL will pack
9788 and send a HAL configure RXP filter request message to
9789 the lower RIVA sub-system.
9790
9791 In state BUSY this request will be queued. Request won't
9792 be allowed in any other state.
9793
9794
9795 @param pwdiConfigureRxpFilterReqParams: the RXP
9796 filter as specified by the Device
9797 Interface
9798
9799 wdiConfigureRxpFilterCb: callback for passing back the
9800 response of the configure RXP filter operation received
9801 from the device
9802
9803 pUserData: user data will be passed back with the
9804 callback
9805
9806 @return Result of the function call
9807*/
9808WDI_Status
9809WDI_ConfigureRxpFilterReq
9810(
9811 WDI_ConfigureRxpFilterReqParamsType *pwdiConfigureRxpFilterReqParams,
9812 WDI_ConfigureRxpFilterCb wdiConfigureRxpFilterCb,
9813 void* pUserData
9814);
9815
9816/**
9817 @brief WDI_SetBeaconFilterReq will be called when the upper MAC
9818 wants to set the beacon filters while in power save.
9819 Upon the call of this API the WLAN DAL will pack and
9820 send a Beacon filter request message to the
9821 lower RIVA sub-system.
9822
9823 In state BUSY this request will be queued. Request won't
9824 be allowed in any other state.
9825
9826
9827 @param pwdiBeaconFilterReqParams: the beacon
9828 filter as specified by the Device
9829 Interface
9830
9831 wdiBeaconFilterCb: callback for passing back the
9832 response of the set beacon filter operation received
9833 from the device
9834
9835 pUserData: user data will be passed back with the
9836 callback
9837
9838 @return Result of the function call
9839*/
9840WDI_Status
9841WDI_SetBeaconFilterReq
9842(
9843 WDI_BeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
9844 WDI_SetBeaconFilterCb wdiBeaconFilterCb,
9845 void* pUserData
9846);
9847
9848/**
9849 @brief WDI_RemBeaconFilterReq will be called when the upper MAC
9850 wants to remove the beacon filter for perticular IE
9851 while in power save. Upon the call of this API the WLAN
9852 DAL will pack and send a remove Beacon filter request
9853 message to the lower RIVA sub-system.
9854
9855 In state BUSY this request will be queued. Request won't
9856 be allowed in any other state.
9857
9858
9859 @param pwdiBeaconFilterReqParams: the beacon
9860 filter as specified by the Device
9861 Interface
9862
9863 wdiBeaconFilterCb: callback for passing back the
9864 response of the remove beacon filter operation received
9865 from the device
9866
9867 pUserData: user data will be passed back with the
9868 callback
9869
9870 @return Result of the function call
9871*/
9872WDI_Status
9873WDI_RemBeaconFilterReq
9874(
9875 WDI_RemBeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
9876 WDI_RemBeaconFilterCb wdiBeaconFilterCb,
9877 void* pUserData
9878);
9879
9880/**
9881 @brief WDI_SetRSSIThresholdsReq will be called when the upper
9882 MAC wants to set the RSSI thresholds related
9883 configurations while in power save. Upon the call of
9884 this API the WLAN DAL will pack and send a HAL Set RSSI
9885 thresholds request message to the lower RIVA
9886 sub-system if DAL is in state STARTED.
9887
9888 In state BUSY this request will be queued. Request won't
9889 be allowed in any other state.
9890
9891 WDI_PostAssocReq must have been called.
9892
9893 @param pwdiUapsdInfo: the UAPSD parameters as specified by
9894 the Device Interface
9895
9896 wdiSetUapsdAcParamsCb: callback for passing back the
9897 response of the set UAPSD params operation received from
9898 the device
9899
9900 pUserData: user data will be passed back with the
9901 callback
9902
9903 @see WDI_PostAssocReq
9904 @return Result of the function call
9905*/
9906WDI_Status
9907WDI_SetRSSIThresholdsReq
9908(
9909 WDI_SetRSSIThresholdsReqParamsType* pwdiRSSIThresholdsParams,
9910 WDI_SetRSSIThresholdsCb wdiSetRSSIThresholdsCb,
9911 void* pUserData
9912);
9913
9914/**
9915 @brief WDI_HostOffloadReq will be called when the upper MAC
9916 wants to set the filter to minimize unnecessary host
9917 wakeup due to broadcast traffic while in power save.
9918 Upon the call of this API the WLAN DAL will pack and
9919 send a HAL host offload request message to the
9920 lower RIVA sub-system if DAL is in state STARTED.
9921
9922 In state BUSY this request will be queued. Request won't
9923 be allowed in any other state.
9924
9925 WDI_PostAssocReq must have been called.
9926
9927 @param pwdiHostOffloadParams: the host offload as specified
9928 by the Device Interface
9929
9930 wdiHostOffloadCb: callback for passing back the response
9931 of the host offload operation received from the
9932 device
9933
9934 pUserData: user data will be passed back with the
9935 callback
9936
9937 @see WDI_PostAssocReq
9938 @return Result of the function call
9939*/
9940WDI_Status
9941WDI_HostOffloadReq
9942(
9943 WDI_HostOffloadReqParamsType* pwdiHostOffloadParams,
9944 WDI_HostOffloadCb wdiHostOffloadCb,
9945 void* pUserData
9946);
9947
9948/**
9949 @brief WDI_KeepAliveReq will be called when the upper MAC
9950 wants to set the filter to send NULL or unsolicited ARP responses
9951 and minimize unnecessary host wakeups due to while in power save.
9952 Upon the call of this API the WLAN DAL will pack and
9953 send a HAL Keep Alive request message to the
9954 lower RIVA sub-system if DAL is in state STARTED.
9955
9956 In state BUSY this request will be queued. Request won't
9957 be allowed in any other state.
9958
9959 WDI_PostAssocReq must have been called.
9960
9961 @param pwdiKeepAliveParams: the Keep Alive as specified
9962 by the Device Interface
9963
9964 wdiKeepAliveCb: callback for passing back the response
9965 of the Keep Alive operation received from the
9966 device
9967
9968 pUserData: user data will be passed back with the
9969 callback
9970
9971 @see WDI_PostAssocReq
9972 @return Result of the function call
9973*/
9974WDI_Status
9975WDI_KeepAliveReq
9976(
9977 WDI_KeepAliveReqParamsType* pwdiKeepAliveParams,
9978 WDI_KeepAliveCb wdiKeepAliveCb,
9979 void* pUserData
9980);
9981
9982/**
9983 @brief WDI_WowlAddBcPtrnReq will be called when the upper MAC
9984 wants to set the Wowl Bcast ptrn to minimize unnecessary
9985 host wakeup due to broadcast traffic while in power
9986 save. Upon the call of this API the WLAN DAL will pack
9987 and send a HAL Wowl Bcast ptrn request message to the
9988 lower RIVA sub-system if DAL is in state STARTED.
9989
9990 In state BUSY this request will be queued. Request won't
9991 be allowed in any other state.
9992
9993 WDI_PostAssocReq must have been called.
9994
9995 @param pwdiWowlAddBcPtrnParams: the Wowl bcast ptrn as
9996 specified by the Device Interface
9997
9998 wdiWowlAddBcPtrnCb: callback for passing back the
9999 response of the add Wowl bcast ptrn operation received
10000 from the device
10001
10002 pUserData: user data will be passed back with the
10003 callback
10004
10005 @see WDI_PostAssocReq
10006 @return Result of the function call
10007*/
10008WDI_Status
10009WDI_WowlAddBcPtrnReq
10010(
10011 WDI_WowlAddBcPtrnReqParamsType* pwdiWowlAddBcPtrnParams,
10012 WDI_WowlAddBcPtrnCb wdiWowlAddBcPtrnCb,
10013 void* pUserData
10014);
10015
10016/**
10017 @brief WDI_WowlDelBcPtrnReq will be called when the upper MAC
10018 wants to clear the Wowl Bcast ptrn. Upon the call of
10019 this API the WLAN DAL will pack and send a HAL delete
10020 Wowl Bcast ptrn request message to the lower RIVA
10021 sub-system if DAL is in state STARTED.
10022
10023 In state BUSY this request will be queued. Request won't
10024 be allowed in any other state.
10025
10026 WDI_WowlAddBcPtrnReq must have been called.
10027
10028 @param pwdiWowlDelBcPtrnParams: the Wowl bcast ptrn as
10029 specified by the Device Interface
10030
10031 wdiWowlDelBcPtrnCb: callback for passing back the
10032 response of the del Wowl bcast ptrn operation received
10033 from the device
10034
10035 pUserData: user data will be passed back with the
10036 callback
10037
10038 @see WDI_WowlAddBcPtrnReq
10039 @return Result of the function call
10040*/
10041WDI_Status
10042WDI_WowlDelBcPtrnReq
10043(
10044 WDI_WowlDelBcPtrnReqParamsType* pwdiWowlDelBcPtrnParams,
10045 WDI_WowlDelBcPtrnCb wdiWowlDelBcPtrnCb,
10046 void* pUserData
10047);
10048
10049/**
10050 @brief WDI_WowlEnterReq will be called when the upper MAC
10051 wants to enter the Wowl state to minimize unnecessary
10052 host wakeup while in power save. Upon the call of this
10053 API the WLAN DAL will pack and send a HAL Wowl enter
10054 request message to the lower RIVA sub-system if DAL is
10055 in state STARTED.
10056
10057 In state BUSY this request will be queued. Request won't
10058 be allowed in any other state.
10059
10060 WDI_PostAssocReq must have been called.
10061
10062 @param pwdiWowlEnterReqParams: the Wowl enter info as
10063 specified by the Device Interface
10064
10065 wdiWowlEnterReqCb: callback for passing back the
10066 response of the enter Wowl operation received from the
10067 device
10068
10069 pUserData: user data will be passed back with the
10070 callback
10071
10072 @see WDI_PostAssocReq
10073 @return Result of the function call
10074*/
10075WDI_Status
10076WDI_WowlEnterReq
10077(
10078 WDI_WowlEnterReqParamsType* pwdiWowlEnterParams,
10079 WDI_WowlEnterReqCb wdiWowlEnterCb,
10080 void* pUserData
10081);
10082
10083/**
10084 @brief WDI_WowlExitReq will be called when the upper MAC
10085 wants to exit the Wowl state. Upon the call of this API
10086 the WLAN DAL will pack and send a HAL Wowl exit request
10087 message to the lower RIVA sub-system if DAL is in state
10088 STARTED.
10089
10090 In state BUSY this request will be queued. Request won't
10091 be allowed in any other state.
10092
10093 WDI_WowlEnterReq must have been called.
10094
10095 @param pwdiWowlExitReqParams: the Wowl exit info as
10096 specified by the Device Interface
10097
10098 wdiWowlExitReqCb: callback for passing back the response
10099 of the exit Wowl operation received from the device
10100
10101 pUserData: user data will be passed back with the
10102 callback
10103
10104 @see WDI_WowlEnterReq
10105 @return Result of the function call
10106*/
10107WDI_Status
10108WDI_WowlExitReq
10109(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -070010110 WDI_WowlExitReqParamsType* pwdiWowlExitParams,
Jeff Johnson295189b2012-06-20 16:38:30 -070010111 WDI_WowlExitReqCb wdiWowlExitCb,
10112 void* pUserData
10113);
10114
10115/**
10116 @brief WDI_ConfigureAppsCpuWakeupStateReq will be called when
10117 the upper MAC wants to dynamically adjusts the listen
10118 interval based on the WLAN/MSM activity. Upon the call
10119 of this API the WLAN DAL will pack and send a HAL
10120 configure Apps Cpu Wakeup State request message to the
10121 lower RIVA sub-system.
10122
10123 In state BUSY this request will be queued. Request won't
10124 be allowed in any other state.
10125
10126
10127 @param pwdiConfigureAppsCpuWakeupStateReqParams: the
10128 Apps Cpu Wakeup State as specified by the
10129 Device Interface
10130
10131 wdiConfigureAppsCpuWakeupStateCb: callback for passing
10132 back the response of the configure Apps Cpu Wakeup State
10133 operation received from the device
10134
10135 pUserData: user data will be passed back with the
10136 callback
10137
10138 @return Result of the function call
10139*/
10140WDI_Status
10141WDI_ConfigureAppsCpuWakeupStateReq
10142(
10143 WDI_ConfigureAppsCpuWakeupStateReqParamsType *pwdiConfigureAppsCpuWakeupStateReqParams,
10144 WDI_ConfigureAppsCpuWakeupStateCb wdiConfigureAppsCpuWakeupStateCb,
10145 void* pUserData
10146);
10147/**
10148 @brief WDI_FlushAcReq will be called when the upper MAC wants
10149 to to perform a flush operation on a given AC. Upon the
10150 call of this API the WLAN DAL will pack and send a HAL
10151 Flush AC request message to the lower RIVA sub-system if
10152 DAL is in state STARTED.
10153
10154 In state BUSY this request will be queued. Request won't
10155 be allowed in any other state.
10156
10157
10158 @param pwdiFlushAcReqParams: the Flush AC parameters as
10159 specified by the Device Interface
10160
10161 wdiFlushAcRspCb: callback for passing back the response
10162 of the Flush AC operation received from the device
10163
10164 pUserData: user data will be passed back with the
10165 callback
10166
10167 @return Result of the function call
10168*/
10169WDI_Status
10170WDI_FlushAcReq
10171(
10172 WDI_FlushAcReqParamsType* pwdiFlushAcReqParams,
10173 WDI_FlushAcRspCb wdiFlushAcRspCb,
10174 void* pUserData
10175);
10176
10177/**
10178 @brief WDI_BtAmpEventReq will be called when the upper MAC
10179 wants to notify the lower mac on a BT AMP event. This is
10180 to inform BTC-SLM that some BT AMP event occurred. Upon
10181 the call of this API the WLAN DAL will pack and send a
10182 HAL BT AMP event request message to the lower RIVA
10183 sub-system if DAL is in state STARTED.
10184
10185 In state BUSY this request will be queued. Request won't
10186 be allowed in any other state.
10187
10188
10189 @param wdiBtAmpEventReqParams: the BT AMP event parameters as
10190 specified by the Device Interface
10191
10192 wdiBtAmpEventRspCb: callback for passing back the
10193 response of the BT AMP event operation received from the
10194 device
10195
10196 pUserData: user data will be passed back with the
10197 callback
10198
10199 @return Result of the function call
10200*/
10201WDI_Status
10202WDI_BtAmpEventReq
10203(
10204 WDI_BtAmpEventParamsType* pwdiBtAmpEventReqParams,
10205 WDI_BtAmpEventRspCb wdiBtAmpEventRspCb,
10206 void* pUserData
10207);
10208
Jeff Johnsone7245742012-09-05 17:12:55 -070010209#ifdef FEATURE_OEM_DATA_SUPPORT
10210/**
10211 @brief WDI_Start oem data Req will be called when the upper MAC
10212 wants to notify the lower mac on a oem data Req event.Upon
10213 the call of this API the WLAN DAL will pack and send a
10214 HAL OEM Data Req event request message to the lower RIVA
10215 sub-system if DAL is in state STARTED.
10216
10217 In state BUSY this request will be queued. Request won't
10218 be allowed in any other state.
10219
10220
10221 @param pWdiOemDataReqParams: the oem data req parameters as
10222 specified by the Device Interface
10223
10224 wdiStartOemDataRspCb: callback for passing back the
10225 response of the Oem Data Req received from the
10226 device
10227
10228 pUserData: user data will be passed back with the
10229 callback
10230
10231 @return Result of the function call
10232*/
10233WDI_Status
10234WDI_StartOemDataReq
10235(
10236 WDI_oemDataReqParamsType* pWdiOemDataReqParams,
10237 WDI_oemDataRspCb wdiOemDataRspCb,
10238 void* pUserData
10239);
10240#endif
Jeff Johnson295189b2012-06-20 16:38:30 -070010241
10242/*========================================================================
10243
10244 CONTROL APIs
10245
10246==========================================================================*/
10247/**
10248 @brief WDI_SwitchChReq will be called when the upper MAC wants
10249 the WLAN HW to change the current channel of operation.
10250 Upon the call of this API the WLAN DAL will pack and
10251 send a HAL Start request message to the lower RIVA
10252 sub-system if DAL is in state STARTED.
10253
10254 In state BUSY this request will be queued. Request won't
10255 be allowed in any other state.
10256
10257 WDI_Start must have been called.
10258
10259 @param wdiSwitchChReqParams: the switch ch parameters as
10260 specified by the Device Interface
10261
10262 wdiSwitchChRspCb: callback for passing back the response
10263 of the switch ch operation received from the device
10264
10265 pUserData: user data will be passed back with the
10266 callback
10267
10268 @see WDI_Start
10269 @return Result of the function call
10270*/
10271WDI_Status
10272WDI_SwitchChReq
10273(
10274 WDI_SwitchChReqParamsType* pwdiSwitchChReqParams,
10275 WDI_SwitchChRspCb wdiSwitchChRspCb,
10276 void* pUserData
10277);
10278
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -080010279/**
Kalikinkar dhara1e83b772014-02-06 12:59:22 -080010280 @brief WDI_SwitchChReq_V1 is similar to WDI_SwitchChReq except
10281 it also send type source for the channel change.
10282 WDI_Start must have been called.
10283
10284 @param wdiSwitchChReqParams: the switch ch parameters as
10285 specified by the Device Interface
10286
10287 wdiSwitchChRspCb: callback for passing back the response
10288 of the switch ch operation received from the device
10289
10290 pUserData: user data will be passed back with the
10291 callback
10292
10293 @see WDI_Start
10294 @return Result of the function call
10295*/
10296
10297WDI_Status
10298WDI_SwitchChReq_V1
10299(
10300 WDI_SwitchChReqParamsType_V1* pwdiSwitchChReqParams,
10301 WDI_SwitchChRspCb_V1 wdiSwitchChRspCb,
10302 void* pUserData
10303);
10304
10305/**
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -080010306 @brief WDI_UpdateChannelReq will be called when the upper MAC
10307 wants to update the channel list on change in country code.
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -080010308 In state BUSY this request will be queued. Request won't
10309 be allowed in any other state.
10310
10311 WDI_UpdateChannelReq must have been called.
10312
10313 @param wdiUpdateChannelReqParams: the updated channel parameters
10314 as specified by the Device Interface
10315
10316 wdiUpdateChannelRspCb: callback for passing back the
10317 response of the update channel operation received from
10318 the device
10319
10320 pUserData: user data will be passed back with the
10321 callback
10322
10323 @return Result of the function call
10324*/
10325WDI_Status
10326WDI_UpdateChannelReq
10327(
10328 WDI_UpdateChReqParamsType *pwdiUpdateChannelReqParams,
10329 WDI_UpdateChannelRspCb wdiUpdateChannelRspCb,
10330 void* pUserData
10331);
Jeff Johnson295189b2012-06-20 16:38:30 -070010332
10333/**
10334 @brief WDI_ConfigSTAReq will be called when the upper MAC
10335 wishes to add or update a STA in HW. Upon the call of
10336 this API the WLAN DAL will pack and send a HAL Start
10337 message request message to the lower RIVA sub-system if
10338 DAL is in state STARTED.
10339
10340 In state BUSY this request will be queued. Request won't
10341 be allowed in any other state.
10342
10343 WDI_Start must have been called.
10344
10345 @param wdiConfigSTAReqParams: the config STA parameters as
10346 specified by the Device Interface
10347
10348 wdiConfigSTARspCb: callback for passing back the
10349 response of the config STA operation received from the
10350 device
10351
10352 pUserData: user data will be passed back with the
10353 callback
10354
10355 @see WDI_Start
10356 @return Result of the function call
10357*/
10358WDI_Status
10359WDI_ConfigSTAReq
10360(
10361 WDI_ConfigSTAReqParamsType* pwdiConfigSTAReqParams,
10362 WDI_ConfigSTARspCb wdiConfigSTARspCb,
10363 void* pUserData
10364);
10365
10366/**
10367 @brief WDI_SetLinkStateReq will be called when the upper MAC
10368 wants to change the state of an ongoing link. Upon the
10369 call of this API the WLAN DAL will pack and send a HAL
10370 Start message request message to the lower RIVA
10371 sub-system if DAL is in state STARTED.
10372
10373 In state BUSY this request will be queued. Request won't
10374 be allowed in any other state.
10375
10376 WDI_JoinReq must have been called.
10377
10378 @param wdiSetLinkStateReqParams: the set link state parameters
10379 as specified by the Device Interface
10380
10381 wdiSetLinkStateRspCb: callback for passing back the
10382 response of the set link state operation received from
10383 the device
10384
10385 pUserData: user data will be passed back with the
10386 callback
10387
10388 @see WDI_JoinStartReq
10389 @return Result of the function call
10390*/
10391WDI_Status
10392WDI_SetLinkStateReq
10393(
10394 WDI_SetLinkReqParamsType* pwdiSetLinkStateReqParams,
10395 WDI_SetLinkStateRspCb wdiSetLinkStateRspCb,
10396 void* pUserData
10397);
10398
10399
10400/**
10401 @brief WDI_GetStatsReq will be called when the upper MAC wants
10402 to get statistics (MIB counters) from the device. Upon
10403 the call of this API the WLAN DAL will pack and send a
10404 HAL Start request message to the lower RIVA sub-system
10405 if DAL is in state STARTED.
10406
10407 In state BUSY this request will be queued. Request won't
10408 be allowed in any other state.
10409
10410 WDI_Start must have been called.
10411
10412 @param wdiGetStatsReqParams: the stats parameters to get as
10413 specified by the Device Interface
10414
10415 wdiGetStatsRspCb: callback for passing back the response
10416 of the get stats operation received from the device
10417
10418 pUserData: user data will be passed back with the
10419 callback
10420
10421 @see WDI_Start
10422 @return Result of the function call
10423*/
10424WDI_Status
10425WDI_GetStatsReq
10426(
10427 WDI_GetStatsReqParamsType* pwdiGetStatsReqParams,
10428 WDI_GetStatsRspCb wdiGetStatsRspCb,
10429 void* pUserData
10430);
10431
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -080010432#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -080010433/**
10434 @brief WDI_GetRoamRssiReq will be called when the upper MAC wants
10435 to get roam rssi from the device. Upon
10436 the call of this API the WLAN DAL will pack and send a
10437 HAL Start request message to the lower RIVA sub-system
10438 if DAL is in state STARTED.
10439
10440 In state BUSY this request will be queued. Request won't
10441 be allowed in any other state.
10442
10443 WDI_Start must have been called.
10444
10445 @param wdiGetRoamRssiReqParams: the stats parameters to get as
10446 specified by the Device Interface
10447
10448 wdiGetRoamRssispCb: callback for passing back the response
10449 of the get stats operation received from the device
10450
10451 pUserData: user data will be passed back with the
10452 callback
10453
10454 @see WDI_Start
10455 @return Result of the function call
10456*/
10457WDI_Status
10458WDI_GetRoamRssiReq
10459(
10460 WDI_GetRoamRssiReqParamsType* pwdiGetRoamRssiReqParams,
10461 WDI_GetRoamRssiRspCb wdiGetRoamRssiRspCb,
10462 void* pUserData
10463);
10464#endif
Jeff Johnson295189b2012-06-20 16:38:30 -070010465
10466/**
10467 @brief WDI_UpdateCfgReq will be called when the upper MAC when
10468 it wishes to change the configuration of the WLAN
10469 Device. Upon the call of this API the WLAN DAL will pack
10470 and send a HAL Update CFG request message to the lower
10471 RIVA sub-system if DAL is in state STARTED.
10472
10473 In state BUSY this request will be queued. Request won't
10474 be allowed in any other state.
10475
10476 WDI_Start must have been called.
10477
10478 @param wdiUpdateCfgReqParams: the update cfg parameters as
10479 specified by the Device Interface
10480
10481 wdiUpdateCfgsRspCb: callback for passing back the
10482 response of the update cfg operation received from the
10483 device
10484
10485 pUserData: user data will be passed back with the
10486 callback
10487
10488 @see WDI_Start
10489 @return Result of the function call
10490*/
10491WDI_Status
10492WDI_UpdateCfgReq
10493(
10494 WDI_UpdateCfgReqParamsType* pwdiUpdateCfgReqParams,
10495 WDI_UpdateCfgRspCb wdiUpdateCfgsRspCb,
10496 void* pUserData
10497);
10498
10499/**
10500 @brief WDI_NvDownloadReq will be called by the UMAC to dowload the NV blob
10501 to the NV memory.
10502
10503 @param wdiNvDownloadReqParams: the NV Download parameters as specified by
10504 the Device Interface
10505
10506 wdiNvDownloadRspCb: callback for passing back the response of
10507 the NV Download operation received from the device
10508
10509 pUserData: user data will be passed back with the
10510 callback
10511
10512 @see WDI_PostAssocReq
10513 @return Result of the function call
10514*/
10515WDI_Status
10516WDI_NvDownloadReq
10517(
10518 WDI_NvDownloadReqParamsType* pwdiNvDownloadReqParams,
10519 WDI_NvDownloadRspCb wdiNvDownloadRspCb,
10520 void* pUserData
10521);
10522/**
10523 @brief WDI_AddBAReq will be called when the upper MAC has setup
10524 successfully a BA session and needs to notify the HW for
10525 the appropriate settings to take place. Upon the call of
10526 this API the WLAN DAL will pack and send a HAL Add BA
10527 request message to the lower RIVA sub-system if DAL is
10528 in state STARTED.
10529
10530 In state BUSY this request will be queued. Request won't
10531 be allowed in any other state.
10532
10533 WDI_PostAssocReq must have been called.
10534
10535 @param wdiAddBAReqParams: the add BA parameters as specified by
10536 the Device Interface
10537
10538 wdiAddBARspCb: callback for passing back the response of
10539 the add BA operation received from the device
10540
10541 pUserData: user data will be passed back with the
10542 callback
10543
10544 @see WDI_PostAssocReq
10545 @return Result of the function call
10546*/
10547WDI_Status
10548WDI_AddBAReq
10549(
10550 WDI_AddBAReqParamsType* pwdiAddBAReqParams,
10551 WDI_AddBARspCb wdiAddBARspCb,
10552 void* pUserData
10553);
10554
10555/**
10556 @brief WDI_TriggerBAReq will be called when the upper MAC has setup
10557 successfully a BA session and needs to notify the HW for
10558 the appropriate settings to take place. Upon the call of
10559 this API the WLAN DAL will pack and send a HAL Add BA
10560 request message to the lower RIVA sub-system if DAL is
10561 in state STARTED.
10562
10563 In state BUSY this request will be queued. Request won't
10564 be allowed in any other state.
10565
10566 WDI_PostAssocReq must have been called.
10567
10568 @param wdiAddBAReqParams: the add BA parameters as specified by
10569 the Device Interface
10570
10571 wdiAddBARspCb: callback for passing back the response of
10572 the add BA operation received from the device
10573
10574 pUserData: user data will be passed back with the
10575 callback
10576
10577 @see WDI_PostAssocReq
10578 @return Result of the function call
10579*/
10580WDI_Status
10581WDI_TriggerBAReq
10582(
10583 WDI_TriggerBAReqParamsType* pwdiTriggerBAReqParams,
10584 WDI_TriggerBARspCb wdiTriggerBARspCb,
10585 void* pUserData
10586);
10587
10588
10589/**
10590 @brief WDI_IsHwFrameTxTranslationCapable checks to see if HW
10591 frame xtl is enabled for a particular STA.
10592
10593 WDI_PostAssocReq must have been called.
10594
10595 @param uSTAIdx: STA index
10596
10597 @see WDI_PostAssocReq
10598 @return Result of the function call
10599*/
10600wpt_boolean WDI_IsHwFrameTxTranslationCapable
10601(
10602 wpt_uint8 uSTAIdx
10603);
10604
Katya Nigam6201c3e2014-05-27 17:51:42 +053010605
10606/**
10607 @brief WDI_IsSelfSTA - check if staid is self sta index
10608
10609 @param pWDICtx: pointer to the WLAN DAL context
10610 ucSTAIdx: station index
10611
10612 @return Result of the function call
10613*/
10614
10615wpt_boolean
10616WDI_IsSelfSTA
10617(
10618 void* pWDICtx,
10619 wpt_uint8 ucSTAIdx
10620);
10621
10622
Jeff Johnson295189b2012-06-20 16:38:30 -070010623#ifdef WLAN_FEATURE_VOWIFI_11R
10624/**
10625 @brief WDI_AggrAddTSReq will be called when the upper MAC to inform
10626 the device of a successful add TSpec negotiation for 11r. HW
10627 needs to receive the TSpec Info from the UMAC in order
10628 to configure properly the QoS data traffic. Upon the
10629 call of this API the WLAN DAL will pack and send a HAL
10630 Aggregated Add TS request message to the lower RIVA sub-system if
10631 DAL is in state STARTED.
10632
10633 In state BUSY this request will be queued. Request won't
10634 be allowed in any other state.
10635
10636 WDI_PostAssocReq must have been called.
10637
10638 @param wdiAggrAddTsReqParams: the add TS parameters as specified by
10639 the Device Interface
10640
10641 wdiAggrAddTsRspCb: callback for passing back the response of
10642 the add TS operation received from the device
10643
10644 pUserData: user data will be passed back with the
10645 callback
10646
10647 @see WDI_PostAssocReq
10648 @return Result of the function call
10649*/
10650WDI_Status
10651WDI_AggrAddTSReq
10652(
10653 WDI_AggrAddTSReqParamsType* pwdiAddTsReqParams,
10654 WDI_AggrAddTsRspCb wdiAggrAddTsRspCb,
10655 void* pUserData
10656);
10657#endif /* WLAN_FEATURE_VOWIFI_11R */
10658/**
10659 @brief WDI_STATableInit - Initializes the STA tables.
10660 Allocates the necesary memory.
10661
10662
10663 @param pWDICtx: pointer to the WLAN DAL context
10664
10665 @see
10666 @return Result of the function call
10667*/
10668
10669WDI_Status WDI_StubRunTest
10670(
10671 wpt_uint8 ucTestNo
10672);
10673
Jeff Johnson295189b2012-06-20 16:38:30 -070010674/**
10675 @brief WDI_FTMCommandReq -
10676 Route FTMRequest Command to HAL
10677
10678 @param ftmCommandReq: FTM request command body
10679 @param ftmCommandRspCb: Response CB
10680 @param pUserData: User data will be included with CB
10681
10682 @return Result of the function call
10683*/
10684WDI_Status WDI_FTMCommandReq
10685(
10686 WDI_FTMCommandReqType *ftmCommandReq,
10687 WDI_FTMCommandRspCb ftmCommandRspCb,
10688 void *pUserData
10689);
Jeff Johnson295189b2012-06-20 16:38:30 -070010690
10691/**
10692 @brief WDI_HostResumeReq will be called
10693
10694 In state BUSY this request will be queued. Request won't
10695 be allowed in any other state.
10696
10697
10698 @param pwdiResumeReqParams: as specified by
10699 the Device Interface
10700
10701 wdiResumeReqRspCb: callback for passing back the response of
10702 the Resume Req received from the device
10703
10704 pUserData: user data will be passed back with the
10705 callback
10706
10707 @see WDI_PostAssocReq
10708 @return Result of the function call
10709*/
10710WDI_Status
10711WDI_HostResumeReq
10712(
10713 WDI_ResumeParamsType* pwdiResumeReqParams,
10714 WDI_HostResumeEventRspCb wdiResumeReqRspCb,
10715 void* pUserData
10716);
10717
10718/**
10719 @brief WDI_GetAvailableResCount - Function to get the available resource
10720 for data and managemnt frames.
10721
10722 @param pContext: pointer to the WDI context
10723 @param wdiResPool: type of resource pool requesting
10724 @see
10725 @return Result of the function call
10726*/
10727
10728wpt_uint32 WDI_GetAvailableResCount
10729(
10730 void *pContext,
10731 WDI_ResPoolType wdiResPool
10732);
10733
10734/**
10735 @brief WDI_SetAddSTASelfReq will be called when the
10736 UMAC wanted to add self STA while opening any new session
10737 In state BUSY this request will be queued. Request won't
10738 be allowed in any other state.
10739
10740
10741 @param pwdiAddSTASelfParams: the add self sta parameters as
10742 specified by the Device Interface
10743
10744 pUserData: user data will be passed back with the
10745 callback
10746
10747 @see
10748 @return Result of the function call
10749*/
10750WDI_Status
10751WDI_AddSTASelfReq
10752(
10753 WDI_AddSTASelfReqParamsType* pwdiAddSTASelfReqParams,
10754 WDI_AddSTASelfParamsRspCb wdiAddSTASelfReqParamsRspCb,
10755 void* pUserData
10756);
10757
10758
10759/**
10760 @brief WDI_DelSTASelfReq will be called .
10761
10762 @param WDI_DelSTASelfReqParamsType
10763
10764 WDI_DelSTASelfRspCb: callback for passing back the
10765 response of the del sta self operation received from the
10766 device
10767
10768 pUserData: user data will be passed back with the
10769 callback
10770
10771 @see WDI_PostAssocReq
10772 @return Result of the function call
10773*/
10774WDI_Status
10775WDI_DelSTASelfReq
10776(
10777 WDI_DelSTASelfReqParamsType* pwdiDelStaSelfParams,
10778 WDI_DelSTASelfRspCb wdiDelStaSelfRspCb,
10779 void* pUserData
10780);
10781
10782/**
10783 @brief WDI_HostSuspendInd
10784
10785 Suspend Indication from the upper layer will be sent
10786 down to HAL
10787
10788 @param WDI_SuspendParamsType
10789
10790 @see
10791
10792 @return Status of the request
10793*/
10794WDI_Status
10795WDI_HostSuspendInd
10796(
10797 WDI_SuspendParamsType* pwdiSuspendIndParams
10798);
10799
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -080010800/**
10801 @brief WDI_TrafficStatsInd
10802
10803 Traffic Stats from the upper layer will be sent
10804 down to HAL
10805
10806 @param WDI_TrafficStatsIndType
10807
10808 @see
10809
10810 @return Status of the request
10811*/
10812WDI_Status
10813WDI_TrafficStatsInd
10814(
10815 WDI_TrafficStatsIndType *pWdiTrafficStatsIndParams
10816);
10817
Chet Lanctot186b5732013-03-18 10:26:30 -070010818#ifdef WLAN_FEATURE_11W
10819/**
10820 @brief WDI_ExcludeUnencryptedInd
10821 Register with HAL to receive/drop unencrypted frames
10822
10823 @param WDI_ExcludeUnencryptIndType
10824
10825 @see
10826
10827 @return Status of the request
10828*/
10829WDI_Status
10830WDI_ExcludeUnencryptedInd
10831(
10832 WDI_ExcludeUnencryptIndType *pWdiExcUnencParams
10833);
10834#endif
10835
Yue Mab9c86f42013-08-14 15:59:08 -070010836/**
10837 @brief WDI_AddPeriodicTxPtrnInd
10838
10839 @param WDI_AddPeriodicTxPtrnParamsType
10840
10841 @see
10842
10843 @return Status of the request
10844*/
10845WDI_Status
10846WDI_AddPeriodicTxPtrnInd
10847(
10848 WDI_AddPeriodicTxPtrnParamsType *addPeriodicTxPtrnParams
10849);
10850
10851/**
10852 @brief WDI_DelPeriodicTxPtrnInd
10853
10854 @param WDI_DelPeriodicTxPtrnParamsType
10855
10856 @see
10857
10858 @return Status of the request
10859*/
10860WDI_Status
10861WDI_DelPeriodicTxPtrnInd
10862(
10863 WDI_DelPeriodicTxPtrnParamsType *delPeriodicTxPtrnParams
10864);
10865
Jeff Johnson295189b2012-06-20 16:38:30 -070010866#ifdef FEATURE_WLAN_SCAN_PNO
10867/**
10868 @brief WDI_SetPreferredNetworkList
10869
10870 @param pwdiPNOScanReqParams: the Set PNO as specified
10871 by the Device Interface
10872
10873 wdiPNOScanCb: callback for passing back the response
10874 of the Set PNO operation received from the
10875 device
10876
10877 pUserData: user data will be passed back with the
10878 callback
10879
10880 @see WDI_PostAssocReq
10881 @return Result of the function call
10882*/
10883WDI_Status
10884WDI_SetPreferredNetworkReq
10885(
10886 WDI_PNOScanReqParamsType* pwdiPNOScanReqParams,
10887 WDI_PNOScanCb wdiPNOScanCb,
10888 void* pUserData
10889);
10890
10891/**
10892 @brief WDI_SetRssiFilterReq
10893
10894 @param pwdiRssiFilterReqParams: the Set RSSI Filter as
10895 specified by the Device Interface
10896
10897 wdiRssiFilterCb: callback for passing back the response
10898 of the Set RSSI Filter operation received from the
10899 device
10900
10901 pUserData: user data will be passed back with the
10902 callback
10903
10904 @see WDI_PostAssocReq
10905 @return Result of the function call
10906*/
10907WDI_Status
10908WDI_SetRssiFilterReq
10909(
10910 WDI_SetRssiFilterReqParamsType* pwdiRssiFilterReqParams,
10911 WDI_RssiFilterCb wdiRssiFilterCb,
10912 void* pUserData
10913);
10914
10915/**
10916 @brief WDI_UpdateScanParams
10917
10918 @param pwdiUpdateScanParamsInfoType: the Update Scan Params as specified
10919 by the Device Interface
10920
10921 wdiUpdateScanParamsCb: callback for passing back the response
10922 of the Set PNO operation received from the
10923 device
10924
10925 pUserData: user data will be passed back with the
10926 callback
10927
10928 @see WDI_PostAssocReq
10929 @return Result of the function call
10930*/
10931WDI_Status
10932WDI_UpdateScanParamsReq
10933(
10934 WDI_UpdateScanParamsInfoType* pwdiUpdateScanParamsInfoType,
10935 WDI_UpdateScanParamsCb wdiUpdateScanParamsCb,
10936 void* pUserData
10937);
10938#endif // FEATURE_WLAN_SCAN_PNO
10939
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010940#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
10941/**
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010942 @brief WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010943
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010944 @param pwdiRoamScanOffloadReqParams: Start Roam Candidate Lookup Req as specified
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010945 by the Device Interface
10946
10947 wdiRoamOffloadScanCb: callback for passing back the response
10948 of the Start Roam Candidate Lookup operation received from the
10949 device
10950
10951 pUserData: user data will be passed back with the
10952 callback
10953
10954 @return Result of the function call
10955*/
10956WDI_Status
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010957WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010958(
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010959 WDI_RoamScanOffloadReqParamsType *pwdiRoamScanOffloadReqParams,
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010960 WDI_RoamOffloadScanCb wdiRoamOffloadScancb,
10961 void* pUserData
10962);
10963#endif
10964
Jeff Johnson295189b2012-06-20 16:38:30 -070010965/**
10966 @brief WDI_SetTxPerTrackingReq will be called when the upper MAC
10967 wants to set the Tx Per Tracking configurations.
10968 Upon the call of this API the WLAN DAL will pack
10969 and send a HAL Set Tx Per Tracking request message to the
10970 lower RIVA sub-system if DAL is in state STARTED.
10971
10972 In state BUSY this request will be queued. Request won't
10973 be allowed in any other state.
10974
10975 @param wdiSetTxPerTrackingConf: the Set Tx PER Tracking configurations as
10976 specified by the Device Interface
10977
10978 wdiSetTxPerTrackingCb: callback for passing back the
10979 response of the set Tx PER Tracking configurations operation received
10980 from the device
10981
10982 pUserData: user data will be passed back with the
10983 callback
10984
10985 @return Result of the function call
10986*/
10987WDI_Status
10988WDI_SetTxPerTrackingReq
10989(
10990 WDI_SetTxPerTrackingReqParamsType* pwdiSetTxPerTrackingReqParams,
10991 WDI_SetTxPerTrackingRspCb pwdiSetTxPerTrackingRspCb,
10992 void* pUserData
10993);
10994
10995/**
10996 @brief WDI_SetTmLevelReq
10997 If HW Thermal condition changed, driver should react based on new
10998 HW thermal condition.
10999
11000 @param pwdiSetTmLevelReq: New thermal condition information
11001
11002 pwdiSetTmLevelRspCb: callback
11003
11004 usrData: user data will be passed back with the
11005 callback
11006
11007 @return Result of the function call
11008*/
11009WDI_Status
11010WDI_SetTmLevelReq
11011(
11012 WDI_SetTmLevelReqType *pwdiSetTmLevelReq,
11013 WDI_SetTmLevelCb pwdiSetTmLevelRspCb,
11014 void *usrData
11015);
11016
11017#ifdef WLAN_FEATURE_PACKET_FILTERING
11018/**
11019 @brief WDI_8023MulticastListReq
11020
11021 @param pwdiRcvFltPktSetMcListReqInfo: the Set 8023 Multicast
11022 List as specified by the Device Interface
11023
11024 wdi8023MulticastListCallback: callback for passing back
11025 the response of the Set 8023 Multicast List operation
11026 received from the device
11027
11028 pUserData: user data will be passed back with the
11029 callback
11030
11031 @see WDI_PostAssocReq
11032 @return Result of the function call
11033*/
11034WDI_Status
11035WDI_8023MulticastListReq
11036(
11037 WDI_RcvFltPktSetMcListReqParamsType* pwdiRcvFltPktSetMcListReqInfo,
11038 WDI_8023MulticastListCb wdi8023MulticastListCallback,
11039 void* pUserData
11040);
11041
11042/**
11043 @brief WDI_ReceiveFilterSetFilterReq
11044
11045 @param pwdiSetRcvPktFilterReqInfo: the Set Receive Filter as
11046 specified by the Device Interface
11047
11048 wdiReceiveFilterSetFilterReqCallback: callback for
11049 passing back the response of the Set Receive Filter
11050 operation received from the device
11051
11052 pUserData: user data will be passed back with the
11053 callback
11054
11055 @see WDI_PostAssocReq
11056 @return Result of the function call
11057*/
11058WDI_Status
11059WDI_ReceiveFilterSetFilterReq
11060(
11061 WDI_SetRcvPktFilterReqParamsType* pwdiSetRcvPktFilterReqInfo,
11062 WDI_ReceiveFilterSetFilterCb wdiReceiveFilterSetFilterReqCallback,
11063 void* pUserData
11064);
11065
11066/**
11067 @brief WDI_PCFilterMatchCountReq
11068
11069 @param pwdiRcvFltPktMatchCntReqInfo: get D0 PC Filter Match
11070 Count
11071
11072 wdiPCFilterMatchCountCallback: callback for passing back
11073 the response of the D0 PC Filter Match Count operation
11074 received from the device
11075
11076 pUserData: user data will be passed back with the
11077 callback
11078
11079 @see WDI_PostAssocReq
11080 @return Result of the function call
11081*/
11082WDI_Status
11083WDI_FilterMatchCountReq
11084(
11085 WDI_RcvFltPktMatchCntReqParamsType* pwdiRcvFltPktMatchCntReqInfo,
11086 WDI_FilterMatchCountCb wdiFilterMatchCountCallback,
11087 void* pUserData
11088);
11089
11090/**
11091 @brief WDI_ReceiveFilterClearFilterReq
11092
11093 @param pwdiRcvFltPktClearReqInfo: the Clear Filter as
11094 specified by the Device Interface
11095
11096 wdiReceiveFilterClearFilterCallback: callback for
11097 passing back the response of the Clear Filter
11098 operation received from the device
11099
11100 pUserData: user data will be passed back with the
11101 callback
11102
11103 @see WDI_PostAssocReq
11104 @return Result of the function call
11105*/
11106WDI_Status
11107WDI_ReceiveFilterClearFilterReq
11108(
11109 WDI_RcvFltPktClearReqParamsType* pwdiRcvFltPktClearReqInfo,
11110 WDI_ReceiveFilterClearFilterCb wdiReceiveFilterClearFilterCallback,
11111 void* pUserData
11112);
11113#endif // WLAN_FEATURE_PACKET_FILTERING
11114
11115/**
11116 @brief WDI_HALDumpCmdReq
11117 Post HAL DUMP Command Event
11118
11119 @param halDumpCmdReqParams: Hal Dump Command Body
11120 @param halDumpCmdRspCb: callback for passing back the
11121 response
11122 @param pUserData: Client Data
11123
11124 @see
11125 @return Result of the function call
11126*/
11127WDI_Status WDI_HALDumpCmdReq(
11128 WDI_HALDumpCmdReqParamsType *halDumpCmdReqParams,
11129 WDI_HALDumpCmdRspCb halDumpCmdRspCb,
11130 void *pUserData
11131);
11132
11133
11134/**
11135 @brief WDI_SetPowerParamsReq
11136
11137 @param pwdiPowerParamsReqParams: the Set Power Params as
11138 specified by the Device Interface
11139
11140 wdiPowerParamsCb: callback for passing back the response
11141 of the Set Power Params operation received from the
11142 device
11143
11144 pUserData: user data will be passed back with the
11145 callback
11146
11147 @return Result of the function call
11148*/
11149WDI_Status
11150WDI_SetPowerParamsReq
11151(
11152 WDI_SetPowerParamsReqParamsType* pwdiPowerParamsReqParams,
11153 WDI_SetPowerParamsCb wdiPowerParamsCb,
11154 void* pUserData
11155);
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +053011156/**
11157 @brief WDI_dhcpStartInd
11158 Forward the DHCP Start event
11159
11160 @param
11161
11162 wdiDHCPInd: device mode and MAC address is passed
11163
11164 @see
11165 @return Result of the function call
11166*/
11167
11168WDI_Status
11169WDI_dhcpStartInd
11170(
11171 WDI_DHCPInd *wdiDHCPInd
11172);
11173/**
11174 @brief WDI_dhcpStopReq
11175 Forward the DHCP Stop event
11176
11177 @param
11178
11179 wdiDHCPInd: device mode and MAC address is passed
11180
11181 @see
11182 @return Result of the function call
11183*/
11184
11185WDI_Status
11186WDI_dhcpStopInd
11187(
11188 WDI_DHCPInd *wdiDHCPInd
11189);
Jeff Johnson295189b2012-06-20 16:38:30 -070011190
Chittajit Mitraf5413a42013-10-18 14:20:08 -070011191/**
11192 @brief WDI_RateUpdateInd will be called when the upper MAC
11193 requests the device to update rates.
11194
11195 In state BUSY this request will be queued. Request won't
11196 be allowed in any other state.
11197
11198
11199 @param wdiRateUpdateIndParams
11200
11201
11202 @see WDI_Start
11203 @return Result of the function call
11204*/
11205WDI_Status
11206WDI_RateUpdateInd
11207(
11208 WDI_RateUpdateIndParams *wdiRateUpdateIndParams
11209);
11210
Jeff Johnson295189b2012-06-20 16:38:30 -070011211#ifdef WLAN_FEATURE_GTK_OFFLOAD
11212/**
11213 @brief WDI_GTKOffloadReq will be called when the upper MAC
11214 wants to set GTK Rekey Counter while in power save. Upon
11215 the call of this API the WLAN DAL will pack and send a
11216 HAL GTK offload request message to the lower RIVA
11217 sub-system if DAL is in state STARTED.
11218
11219 In state BUSY this request will be queued. Request won't
11220 be allowed in any other state.
11221
11222 WDI_PostAssocReq must have been called.
11223
11224 @param pwdiGtkOffloadParams: the GTK offload as specified
11225 by the Device Interface
11226
11227 wdiGtkOffloadCb: callback for passing back the response
11228 of the GTK offload operation received from the device
11229
11230 pUserData: user data will be passed back with the
11231 callback
11232
11233 @see WDI_PostAssocReq
11234 @return Result of the function call
11235*/
11236WDI_Status
11237WDI_GTKOffloadReq
11238(
11239 WDI_GtkOffloadReqMsg* pwdiGtkOffloadReqMsg,
11240 WDI_GtkOffloadCb wdiGtkOffloadCb,
11241 void* pUserData
11242);
11243
11244/**
11245 @brief WDI_GTKOffloadGetInfoReq will be called when the upper
11246 MAC wants to get GTK Rekey Counter while in power save.
11247 Upon the call of this API the WLAN DAL will pack and
11248 send a HAL GTK offload request message to the lower RIVA
11249 sub-system if DAL is in state STARTED.
11250
11251 In state BUSY this request will be queued. Request won't
11252 be allowed in any other state.
11253
11254 WDI_PostAssocReq must have been called.
11255
11256 @param pwdiGtkOffloadGetInfoReqMsg: the GTK Offload
11257 Information Message as specified by the
11258 Device Interface
11259
11260 wdiGtkOffloadGetInfoCb: callback for passing back the
11261 response of the GTK offload operation received from the
11262 device
11263
11264 pUserData: user data will be passed back with the
11265 callback
11266
11267 @see WDI_PostAssocReq
11268 @return Result of the function call
11269*/
11270WDI_Status
11271WDI_GTKOffloadGetInfoReq
11272(
11273 WDI_GtkOffloadGetInfoReqMsg* pwdiGtkOffloadGetInfoReqMsg,
11274 WDI_GtkOffloadGetInfoCb wdiGtkOffloadGetInfoCb,
11275 void* pUserData
11276);
11277#endif // WLAN_FEATURE_GTK_OFFLOAD
11278
11279/**
11280 @brief WDI_featureCapsExchangeReq
11281 Post feature capability bitmap exchange event.
11282 Host will send its own capability to FW in this req and
11283 expect FW to send its capability back as a bitmap in Response
11284
11285 @param
11286
11287 wdiFeatCapsExcRspCb: callback called on getting the response.
11288 It is kept to mantain similarity between WDI reqs and if needed, can
11289 be used in future. Currently, It is set to NULL
11290
11291 pUserData: user data will be passed back with the
11292 callback
11293
11294 @see
11295 @return Result of the function call
11296*/
11297WDI_Status
11298WDI_featureCapsExchangeReq
11299(
11300 WDI_featureCapsExchangeCb wdiFeatureCapsExchangeCb,
11301 void* pUserData
11302);
11303
11304/**
Yathish9f22e662012-12-10 14:21:35 -080011305 @brief Disable Active mode offload in Host
11306
11307 @param void
11308 @see
11309 @return void
11310*/
11311void
11312WDI_disableCapablityFeature(wpt_uint8 feature_index);
11313
11314
11315/**
Jeff Johnson295189b2012-06-20 16:38:30 -070011316 @brief WDI_getHostWlanFeatCaps
11317 WDI API that returns whether the feature passed to it as enum value in
11318 "placeHolderInCapBitmap" is supported by Host or not. It uses WDI global
11319 variable storing host capability bitmap to find this. This can be used by
11320 other moduels to decide certain things like call different APIs based on
11321 whether a particular feature is supported.
11322
11323 @param
11324
11325 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap in wlan_hal_msg.h.
11326
11327 @see
11328 @return
11329 0 - if the feature is NOT supported in host
11330 any non-zero value - if the feature is SUPPORTED in host.
11331*/
11332wpt_uint8 WDI_getHostWlanFeatCaps(wpt_uint8 feat_enum_value);
11333
11334/**
11335 @brief WDI_getFwWlanFeatCaps
11336 WDI API that returns whether the feature passed to it as enum value in
11337 "placeHolderInCapBitmap" is supported by FW or not. It uses WDI global
11338 variable storing host capability bitmap to find this. This can be used by
11339 other moduels to decide certain things like call different APIs based on
11340 whether a particular feature is supported.
11341
11342 @param
11343
Jeff Johnsone7245742012-09-05 17:12:55 -070011344 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap
11345 in wlan_hal_msg.h.
Jeff Johnson295189b2012-06-20 16:38:30 -070011346
11347 @see
11348 @return
11349 0 - if the feature is NOT supported in FW
11350 any non-zero value - if the feature is SUPPORTED in FW.
11351*/
11352wpt_uint8 WDI_getFwWlanFeatCaps(wpt_uint8 feat_enum_value);
11353
11354/**
11355 @brief WDI_GetWcnssCompiledApiVersion - Function to get wcnss compiled
11356 api version
11357
11358 @param WDI_WlanVersionType: Wlan version structure
11359 @see
11360 @return none
11361*/
11362
11363void WDI_GetWcnssCompiledApiVersion
11364(
11365 WDI_WlanVersionType *pWcnssApiVersion
11366);
11367
Mohit Khanna4a70d262012-09-11 16:30:12 -070011368#ifdef WLAN_FEATURE_11AC
11369WDI_Status
11370WDI_UpdateVHTOpModeReq
11371(
11372 WDI_UpdateVHTOpMode *pData,
11373 WDI_UpdateVHTOpModeCb wdiUpdateVHTOpModeCb,
11374 void* pUserData
11375);
Jeff Johnson295189b2012-06-20 16:38:30 -070011376
Mohit Khanna4a70d262012-09-11 16:30:12 -070011377#endif
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070011378
11379/**
11380 @brief WDI_TransportChannelDebug -
11381 Display DXE Channel debugging information
11382 User may request to display DXE channel snapshot
11383 Or if host driver detects any abnormal stcuk may display
11384
Jeff Johnsonb88db982012-12-10 13:34:59 -080011385 @param displaySnapshot : Display DXE snapshot option
Mihir Shete40a55652014-03-02 14:14:47 +053011386 @param debugFlags : Enable stall detect features
11387 defined by WPAL_DeviceDebugFlags
11388 These features may effect
11389 data performance.
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070011390 @see
11391 @return none
11392*/
11393void WDI_TransportChannelDebug
11394(
11395 wpt_boolean displaySnapshot,
Mihir Shete40a55652014-03-02 14:14:47 +053011396 wpt_uint8 debugFlags
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070011397);
11398
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -070011399/**
11400 @brief WDI_SsrTimerCB
11401 Callback function for SSR timer, if this is called then the graceful
11402 shutdown for Riva did not happen.
11403
11404 @param pUserData : user data to timer
11405
11406 @see
11407 @return none
11408*/
11409void
11410WDI_SsrTimerCB
11411(
11412 void *pUserData
11413);
11414
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -070011415/**
11416 @brief WDI_SetEnableSSR -
11417 This API is called to enable/disable SSR on WDI timeout.
11418
11419 @param enableSSR : enable/disable SSR
11420
11421 @see
11422 @return none
11423*/
11424void WDI_SetEnableSSR(wpt_boolean enableSSR);
11425
Leo Chang9056f462013-08-01 19:21:11 -070011426#ifdef FEATURE_WLAN_LPHB
11427/**
11428 @brief WDI_LPHBConfReq
11429 This API is called to config FW LPHB rule
11430
11431 @param lphbconfParam : LPHB rule should config to FW
11432 usrData : Client context
11433 lphbCfgCb : Configuration status callback
11434 @see
11435 @return SUCCESS or FAIL
11436*/
11437WDI_Status WDI_LPHBConfReq
11438(
11439 void *lphbconfParam,
11440 void *usrData,
11441 WDI_LphbCfgCb lphbCfgCb
11442);
11443#endif /* FEATURE_WLAN_LPHB */
Rajeev79dbe4c2013-10-05 11:03:42 +053011444
Dino Mycle41bdc942014-06-10 11:30:24 +053011445#ifdef WLAN_FEATURE_EXTSCAN
11446/**
11447 @brief WDI_EXTScanStartReq
11448 This API is called to send EXTScan start request to FW
11449
11450 @param pwdiEXTScanStartReqParams : pointer to the request params.
11451 wdiEXTScanStartRspCb : callback on getting the response.
11452 usrData : Client context
11453 @see
11454 @return SUCCESS or FAIL
11455*/
11456WDI_Status WDI_EXTScanStartReq
11457(
11458 WDI_EXTScanStartReqParams* pwdiEXTScanStartReqParams,
11459 WDI_EXTScanStartRspCb wdiEXTScanStartRspCb,
11460 void* pUserData
11461);
11462
11463/**
11464 @brief WDI_EXTScanStopReq
11465 This API is called to stop the EXTScan operations in the FW
11466
11467 @param pwdiEXTScanStopReqParams : pointer to the request params.
11468 wdiEXTScanStopRspCb : callback on getting the response.
11469 usrData : Client context
11470 @see
11471 @return SUCCESS or FAIL
11472*/
11473WDI_Status WDI_EXTScanStopReq
11474(
11475 WDI_EXTScanStopReqParams* pwdiEXTScanStopReqParams,
11476 WDI_EXTScanStopRspCb wdiEXTScanStopRspCb,
11477 void* pUserData
11478);
11479
11480/**
11481 @brief WDI_EXTScanGetCachedResultsReq
11482 This API is called to send get link layer stats request in FW
11483
11484 @param pwdiEXTScanGetCachedResultsReqParams : pointer to the request params.
11485 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
11486 usrData : Client context
11487 @see
11488 @return SUCCESS or FAIL
11489*/
11490WDI_Status WDI_EXTScanGetCachedResultsReq
11491(
11492 WDI_EXTScanGetCachedResultsReqParams* pwdiEXTScanGetCachedResultsReqParams,
11493 WDI_EXTScanGetCachedResultsRspCb wdiEXTScanGetCachedResultsRspCb,
11494 void* pUserData
11495);
11496
11497/**
11498 @brief WDI_EXTScanGetCapabilitiesReq
11499 This API is called to send get EXTScan capabilities from FW
11500
11501 @param pwdiEXTScanGetCachedResultsReqParams : pointer to the request params.
11502 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
11503 usrData : Client context
11504 @see
11505 @return SUCCESS or FAIL
11506*/
11507WDI_Status WDI_EXTScanGetCapabilitiesReq
11508(
11509 WDI_EXTScanGetCapabilitiesReqParams* pwdiEXTScanGetCapabilitiesReqParams,
11510 WDI_EXTScanGetCapabilitiesRspCb wdiEXTScanGetCapabilitiesRspCb,
11511 void* pUserData
11512);
11513
11514/**
11515 @brief WDI_EXTScanSetBSSIDHotlistReq
11516 This API is called to send Set BSSID Hotlist Request FW
11517
11518 @param pwdiEXTScanSetBssidHotlistReqParams : pointer to the request params.
11519 wdiEXTScanSetBSSIDHotlistRspCb : callback on getting the response.
11520 usrData : Client context
11521 @see
11522 @return SUCCESS or FAIL
11523*/
11524WDI_Status WDI_EXTScanSetBSSIDHotlistReq
11525(
11526 WDI_EXTScanSetBSSIDHotlistReqParams* pwdiEXTScanSetBSSIDHotlistReqParams,
11527 WDI_EXTScanSetBSSIDHotlistRspCb wdiEXTScanSetBSSIDHotlistRspCb,
11528 void* pUserData
11529);
11530
11531/**
11532 @brief WDI_EXTScanResetBSSIDHotlistReq
11533 This API is called to send Reset BSSID Hotlist Request FW
11534
11535 @param pwdiEXTScanResetBssidHotlistReqParams : pointer to the request params.
11536 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
11537 usrData : Client context
11538 @see
11539 @return SUCCESS or FAIL
11540*/
11541WDI_Status WDI_EXTScanResetBSSIDHotlistReq
11542(
11543 WDI_EXTScanResetBSSIDHotlistReqParams* pwdiEXTScanResetBSSIDHotlistReqParams,
11544 WDI_EXTScanResetBSSIDHotlistRspCb wdiEXTScanResetBSSIDHotlistRspCb,
11545 void* pUserData
11546);
Padma, Santhosh Kumar9acee012015-08-21 19:58:01 +053011547
11548/**
11549 @brief WDI_EXTScanSetSSIDHotlistReq
11550 This API is called to send Set SSID Hotlist Request FW
11551
11552 @param pwdiEXTScanSetBssidHotlistReqParams : pointer to the request params.
11553 wdiEXTScanSetBSSIDHotlistRspCb : callback on getting the response.
11554 usrData : Client context
11555 @see
11556 @return SUCCESS or FAIL
11557*/
11558WDI_Status WDI_EXTScanSetSSIDHotlistReq
11559(
11560 WDI_EXTScanSetSSIDHotlistReqParams* pwdiEXTScanSetSSIDHotlistReqParams,
11561 WDI_EXTScanSetSSIDHotlistRspCb wdiEXTScanSetSSIDHotlistRspCb,
11562 void* pUserData
11563);
11564
11565/**
11566 @brief WDI_EXTScanResetSSIDHotlistReq
11567 This API is called to send Reset SSID Hotlist Request FW
11568
11569 @param pwdiEXTScanResetSsidHotlistReqParams : pointer to the request params.
11570 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
11571 usrData : Client context
11572 @see
11573 @return SUCCESS or FAIL
11574*/
11575WDI_Status WDI_EXTScanResetSSIDHotlistReq
11576(
11577 WDI_EXTScanResetSSIDHotlistReqParams* pwdiEXTScanResetSSIDHotlistReqParams,
11578 WDI_EXTScanResetSSIDHotlistRspCb wdiEXTScanResetSSIDHotlistRspCb,
11579 void* pUserData
11580);
11581
Padma, Santhosh Kumarc1f7f052015-08-26 12:29:01 +053011582/**
11583 @brief WDI_HighPriorityDataInfoInd
11584
11585 @param pHighPriorityDataInfoIndParams: Req parameter for the FW
11586
11587 @return SUCCESS or FAIL
11588*/
11589WDI_Status
11590WDI_HighPriorityDataInfoInd
11591(
11592 WDI_HighPriorityDataInfoIndParams* pHighPriorityDataInfoIndParams
11593);
11594
Dino Mycle41bdc942014-06-10 11:30:24 +053011595#endif /* WLAN_FEATURE_EXTSCAN */
11596
Sunil Duttbd736ed2014-05-26 21:19:41 +053011597#ifdef WLAN_FEATURE_LINK_LAYER_STATS
11598/**
11599 @brief WDI_LLStatsSetReq
11600 This API is called to send set link layer stats request to FW
11601
11602 @param pwdiLLStatsSetReqParams : pointer to set link layer stats params
11603 wdiLLStatsSetRspCb : set link layer stats response callback
11604 usrData : Client context
11605 @see
11606 @return SUCCESS or FAIL
11607*/
11608WDI_Status WDI_LLStatsSetReq
11609(
11610 WDI_LLStatsSetReqType* pwdiLLStatsSetReqParams,
11611 WDI_LLStatsSetRspCb wdiLLStatsSetRspCb,
11612 void* pUserData
11613);
11614
11615/**
11616 @brief WDI_LLStatsGetReq
11617 This API is called to send get link layer stats request in FW
11618
11619 @param pwdiLLStatsGetParams : pointer to get link layer stats params
11620 wdiLLStatsGetRspCb : get link layer stats response callback
11621 usrData : Client context
11622 @see
11623 @return SUCCESS or FAIL
11624*/
11625WDI_Status WDI_LLStatsGetReq
11626(
11627 WDI_LLStatsGetReqType* pwdiLLStatsGetReqParams,
11628 WDI_LLStatsGetRspCb wdiLLStatsGetRspCb,
11629 void* pUserData
11630);
11631
11632/**
11633 @brief WDI_LLStatsClearReq
11634 This API is called to set clear link layer stats request in FW
11635
11636 @param pwdiLLStatsClearReqParams : pointer to clear link layer stats params
11637 iwdiLLStatsClearRspCb : clear link layer stats response callback
11638 usrData : Client context
11639 @see
11640 @return SUCCESS or FAIL
11641*/
11642WDI_Status WDI_LLStatsClearReq
11643(
11644 WDI_LLStatsClearReqType* pwdiLLStatsClearReqParams,
11645 WDI_LLStatsClearRspCb wdiLLStatsClearRspCb,
11646 void* pUserData
11647);
11648#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
11649
Abhishek Singh85b74712014-10-08 11:38:19 +053011650WDI_Status WDI_FWStatsGetReq
11651(
11652 void* pwdiFWStatsGetReqParams,
11653 WDI_FWStatsGetRspCb wdiFWStatsGetRspCb,
11654 wpt_uint32 pUserData
11655);
11656
Katya Nigamf0511f62015-05-05 16:40:57 +053011657WDI_Status WDI_MonStartReq
11658(
11659 WDI_MonStartReqType* pwdiMonStartReqParams,
Hanumantha Reddy Pothula91cdd7f2015-09-03 21:25:16 +053011660 WDI_MonModeRspCb wdiMonModeRspCb,
Katya Nigamf0511f62015-05-05 16:40:57 +053011661 void* pUserData
11662);
11663
11664WDI_Status WDI_MonStopReq
11665(
Hanumantha Reddy Pothula91cdd7f2015-09-03 21:25:16 +053011666 WDI_MonModeRspCb wdiMonModeRspCb,
Katya Nigamf0511f62015-05-05 16:40:57 +053011667 void* pUserData
11668);
11669
Rajeev79dbe4c2013-10-05 11:03:42 +053011670#ifdef FEATURE_WLAN_BATCH_SCAN
11671/**
11672 @brief WDI_SetBatchScanReq
11673 This API is called to set batch scan request in FW
11674
11675 @param pBatchScanReqParam : pointer to set batch scan re param
11676 usrData : Client context
11677 setBatchScanRspCb : set batch scan resp callback
11678 @see
11679 @return SUCCESS or FAIL
11680*/
11681WDI_Status WDI_SetBatchScanReq
11682(
11683 void *pBatchScanReqParam,
11684 void *usrData,
11685 WDI_SetBatchScanCb setBatchScanRspCb
11686);
11687
11688/**
11689 @brief WDI_StopBatchScanInd
11690
11691 @param none
11692
11693 @see
11694
11695 @return Status of the request
11696*/
11697WDI_Status
11698WDI_StopBatchScanInd(WDI_StopBatchScanIndType *pWdiReq);
11699
11700/**
11701 @brief WDI_TriggerBatchScanResultInd
11702 This API is called to pull batch scan result from FW
11703
11704 @param pBatchScanReqParam : pointer to trigger batch scan ind param
11705 usrData : Client context
11706 setBatchScanRspCb : get batch scan resp callback
11707 @see
11708 @return SUCCESS or FAIL
11709*/
11710WDI_Status
11711WDI_TriggerBatchScanResultInd(WDI_TriggerBatchScanResultIndType *pWdiReq);
11712
11713
11714#endif /*FEATURE_WLAN_BATCH_SCAN*/
11715
Sandeep Puligilla8b8b74b2014-02-10 16:39:05 +053011716/**
11717 @brief wdi_HT40OBSSScanInd
11718 This API is called to start OBSS scan
11719
11720 @param pWdiReq : pointer to get ind param
11721 @see
11722 @return SUCCESS or FAIL
11723*/
11724
11725WDI_Status WDI_HT40OBSSScanInd(WDI_HT40ObssScanParamsType *pWdiReq);
11726
11727/**
11728 @brief wdi_HT40OBSSStopScanInd
11729 This API is called to stop OBSS scan
11730
11731 @param bssIdx : bssIdx to stop
11732 @see
11733 @return SUCCESS or FAIL
11734*/
11735
11736WDI_Status WDI_HT40OBSSStopScanInd(wpt_uint8 bssIdx);
11737
c_hpothu92367912014-05-01 15:18:17 +053011738
11739WDI_Status WDI_GetBcnMissRate( void *pUserData,
11740 WDI_GetBcnMissRateCb wdiGetBcnMissRateCb,
11741 wpt_uint8 *bssid
11742 );
Siddharth Bhal171788a2014-09-29 21:02:40 +053011743WDI_Status
11744WDI_SetSpoofMacAddrReq
11745(
11746WDI_SpoofMacAddrInfoType *pWdiReq,
11747 WDI_SetSpoofMacAddrRspCb setSpoofMacAddrRspCb,
11748 void* pUserData
11749);
c_hpothu92367912014-05-01 15:18:17 +053011750
Srinivas Dasari4dae48f2014-11-26 21:14:16 +053011751WDI_Status
11752WDI_EncryptMsgReq(void* pwdiEncryptMsgParams,
11753 WDI_EncryptMsgRspCb wdiEncryptMsgCbRsp,
11754 void* pUserData
11755 );
Srinivas Dasari32a79262015-02-19 13:04:49 +053011756
c_manjeecfd1efb2015-09-25 19:32:34 +053011757WDI_Status
11758WDI_FwrMemDumpReq
11759
11760(
11761 WDI_FwrMemDumpReqType *pwdiFwrMemDumpReqInfo,
11762 WDI_FwrMemDumpCb wdiFwrMemDumpRspCb,
11763 void* pUserData
11764);
11765
11766
Srinivas Dasari32a79262015-02-19 13:04:49 +053011767/**
11768 @brief WDI_NanRequest
11769 NAN request
11770
11771 @param pwdiNanRequest: data
11772
11773 pwdiNanCb: callback
11774
11775 usrData: user data will be passed back with the
11776 callback
11777
11778 @return Result of the function call
11779*/
11780WDI_Status
11781WDI_NanRequest
11782(
11783 WDI_NanRequestType *pwdiNanRequest,
11784 void *usrData
11785);
11786
Abhishek Singh41988ba2015-05-25 19:42:29 +053011787/**
11788 @brief WDI_SetRtsCtsHTVhtInd
11789 Set RTS/CTS indication for diff modes.
11790
11791 @param rtsCtsVal: Bit mask value to enable RTS/CTS for different modes
11792
11793 @return Result of the function call
11794*/
11795
11796WDI_Status
11797WDI_SetRtsCtsHTVhtInd
11798(
11799 wpt_uint32 rtsCtsVal
11800);
Srinivas Dasari32a79262015-02-19 13:04:49 +053011801
Mihir Shete5affadc2015-05-29 20:54:57 +053011802WDI_Status
11803WDI_FWLoggingDXEdoneInd
11804(
Hanumantha Reddy Pothulae00a7e22015-09-15 20:11:30 +053011805 wpt_uint32 logType
Mihir Shete5affadc2015-05-29 20:54:57 +053011806);
Srinivas Dasari32a79262015-02-19 13:04:49 +053011807
Mahesh A Saptasagarbeca12c2015-09-07 16:21:06 +053011808/**
11809 @brief WDI_EnableDisableCAEventInd
11810 Enable/Disable Chan Avoidance indication
11811
11812 @param val: Enable/Disable Chan Avoidance indication
11813
11814 @return Result of the function call
11815*/
11816
11817WDI_Status
11818WDI_EnableDisableCAEventInd
11819(
11820wpt_uint32 val
11821);
11822
Padma, Santhosh Kumar2ccac212015-10-20 17:27:27 +053011823#ifdef FEATURE_OEM_DATA_SUPPORT
11824
11825/**
11826 @brief WDI_HighPriorityDataInfoInd
11827
11828 @param pHighPriorityDataInfoIndParams: Req parameter for the FW
11829
11830 @return SUCCESS or FAIL
11831*/
11832WDI_Status
11833WDI_StartOemDataReqIndNew
11834(
11835 WDI_OemDataReqNewConfig *pOemDataReqNewConfig
11836);
11837#endif
11838
Jeff Johnson295189b2012-06-20 16:38:30 -070011839#ifdef __cplusplus
11840 }
11841#endif
11842
Arun Khandavalli7eeb1592015-10-19 21:36:57 +053011843/**
11844 @brief WDI_WifiConfigSetReq
11845 This API is called to send WifiConfig request to FW
11846
11847 @param pwdiWifConfigSetReqParams : pointer to wificonfig params
11848 wdiLLStatsSetRspCb : set wificonfig response callback
11849 usrData : Client context
11850 @see
11851 @return SUCCESS or FAIL
11852*/
11853WDI_Status
11854WDI_WifiConfigSetReq
11855 (WDI_WifiConfigSetReqType* pwdiWifConfigSetReqParams,
11856 WDI_WifiConfigSetRspCb wdiWifiConfigSetRspCb,
11857 void* pUserData);
11858
Jeff Johnson295189b2012-06-20 16:38:30 -070011859#endif /* #ifndef WLAN_QCT_WDI_H */