blob: 3b4797b45ef1bd34b440fa0ea0ad4ebb30765b40 [file] [log] [blame]
Jeff Johnson295189b2012-06-20 16:38:30 -07001/*
Padma, Santhosh Kumar70380cf2016-01-11 18:42:20 +05302 * Copyright (c) 2012-2016 The Linux Foundation. All rights reserved.
Kiet Lam1ed83fc2014-02-19 01:15:45 -08003 *
4 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
5 *
6 *
7 * Permission to use, copy, modify, and/or distribute this software for
8 * any purpose with or without fee is hereby granted, provided that the
9 * above copyright notice and this permission notice appear in all
10 * copies.
11 *
12 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
13 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
14 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
15 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
16 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
17 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
18 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19 * PERFORMANCE OF THIS SOFTWARE.
20 */
21
22/*
Kiet Lama7f454d2014-07-24 12:04:06 -070023 * This file was originally distributed by Qualcomm Atheros, Inc.
24 * under proprietary terms before Copyright ownership was assigned
25 * to the Linux Foundation.
Kiet Lam1ed83fc2014-02-19 01:15:45 -080026 */
27
Jeff Johnson295189b2012-06-20 16:38:30 -070028
Kiet Lama7f454d2014-07-24 12:04:06 -070029
30
Jeff Johnson295189b2012-06-20 16:38:30 -070031#ifndef WLAN_QCT_WDI_H
32#define WLAN_QCT_WDI_H
33
34/*===========================================================================
35
36 W L A N D E V I C E A B S T R A C T I O N L A Y E R
37 E X T E R N A L A P I
38
39
40DESCRIPTION
41 This file contains the external API exposed by the wlan transport layer
42 module.
43
44
Jeff Johnson295189b2012-06-20 16:38:30 -070045===========================================================================*/
46
47
48/*===========================================================================
49
50 EDIT HISTORY FOR FILE
51
52
53 This section contains comments describing changes made to the module.
54 Notice that changes are listed in reverse chronological order.
55
56
57 $Header:$ $DateTime: $ $Author: $
58
59
60when who what, where, why
61-------- --- ----------------------------------------------------------
6210/05/11 hap Adding support for Keep Alive
6308/04/10 lti Created module.
64
65===========================================================================*/
66
67
68
69/*===========================================================================
70
71 INCLUDE FILES FOR MODULE
72
73===========================================================================*/
74
75/*----------------------------------------------------------------------------
76 * Include Files
77 * -------------------------------------------------------------------------*/
78#include "wlan_qct_pal_api.h"
79#include "wlan_qct_pal_type.h"
80#include "wlan_qct_pack_align.h"
81#include "wlan_qct_wdi_cfg.h"
82
83/*----------------------------------------------------------------------------
84 * Preprocessor Definitions and Constants
85 * -------------------------------------------------------------------------*/
86#ifdef __cplusplus
87 extern "C" {
88#endif
89
90/* MAC ADDRESS LENGTH - per spec*/
91#define WDI_MAC_ADDR_LEN 6
92
93/* Max number of 11b rates -> 1,2,5.5,11 */
94#define WDI_NUM_11B_RATES 4
95
96/* Max number of 11g rates -> 6,9,12,18,24,36,48,54*/
97#define WDI_NUM_11A_RATES 8
98
99/* Max number of legacy rates -> 72, 96, 108*/
100#define WDI_NUM_POLARIS_RATES 3
101
102/* Max supported MCS set*/
103#define WDI_MAC_MAX_SUPPORTED_MCS_SET 16
104
105/*Max number of Access Categories for QoS - per spec */
106#define WDI_MAX_NO_AC 4
107
108/*Max. size for reserving the Beacon Template */
109#define WDI_BEACON_TEMPLATE_SIZE 0x180
110
111#define WDI_WOWL_BCAST_PATTERN_MAX_SIZE 128
112
113#define WDI_WOWL_BCAST_MAX_NUM_PATTERNS 16
114
115#define WDI_MAX_SSID_SIZE 32
116
117/* The shared memory between WDI and HAL is 4K so maximum data can be transferred
118from WDI to HAL is 4K.This 4K should also include the Message header so sending 4K
119of NV fragment is nt possbile.The next multiple of 1Kb is 3K */
120
121#define FRAGMENT_SIZE 3072
122
123/* Macro to find the total number fragments of the NV Image*/
Madan Mohan Koyyalamudia53c4dc2012-11-13 10:35:42 -0800124#define TOTALFRAGMENTS(x) (((x % FRAGMENT_SIZE) == 0) ? (x / FRAGMENT_SIZE):((x / FRAGMENT_SIZE) + 1))
Jeff Johnson295189b2012-06-20 16:38:30 -0700125
126/* Beacon Filter Length*/
Abhishek Singh5fef4042014-11-25 18:33:00 +0530127#define WDI_BEACON_FILTER_LEN 90
Jeff Johnson295189b2012-06-20 16:38:30 -0700128
129/* Coex Indication data size - should match WLAN_COEX_IND_DATA_SIZE */
130#define WDI_COEX_IND_DATA_SIZE (4)
131
132#define WDI_CIPHER_SEQ_CTR_SIZE 6
133
134#define WDI_NUM_BSSID 2
135
136/*Version string max length (including NUL) */
137#define WDI_VERSION_LENGTH 64
138
139
140/*WDI Response timeout - how long will WDI wait for a response from the device
141 - it should be large enough to allow any other failure mechanism to kick
142 in before we get to a timeout (ms units)*/
143#define WDI_RESPONSE_TIMEOUT 10000
144
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -0700145/* SSR timeout - If Riva initiated SSR doesn't happen during this time, then the
146 * Apps initiated SSR will be performed */
147#define WDI_SSR_TIMEOUT 5000
148
Jeff Johnson295189b2012-06-20 16:38:30 -0700149#define WDI_SET_POWER_STATE_TIMEOUT 10000 /* in msec a very high upper limit */
150
Yue Mab9c86f42013-08-14 15:59:08 -0700151/* Periodic Tx pattern offload feature */
152#define PERIODIC_TX_PTRN_MAX_SIZE 1536
153#define MAXNUM_PERIODIC_TX_PTRNS 6
Srinivas Dasari4dae48f2014-11-26 21:14:16 +0530154#define WDI_DISA_MAX_PAYLOAD_SIZE 1600
Siddharth Bhald1be97f2015-05-27 22:39:59 +0530155#define MAX_NUM_OF_BUFFER 3
Karthick Sa6616c32015-07-22 14:49:02 +0530156#define VALID_FW_LOG_TYPES 2
Karthick Sed59a282015-08-10 14:52:16 +0530157#define MAX_LOG_BUFFER_LENGTH 128 * 1024
Yue Mab9c86f42013-08-14 15:59:08 -0700158
Jeff Johnson295189b2012-06-20 16:38:30 -0700159/*============================================================================
160 * GENERIC STRUCTURES
161
162============================================================================*/
163
164/*---------------------------------------------------------------------------
165 WDI Version Information
166---------------------------------------------------------------------------*/
167typedef struct
168{
169 wpt_uint8 revision;
170 wpt_uint8 version;
171 wpt_uint8 minor;
172 wpt_uint8 major;
173} WDI_WlanVersionType;
174
175/*---------------------------------------------------------------------------
176 WDI Device Capability
177---------------------------------------------------------------------------*/
178typedef struct
179{
180 /*If this flag is true it means that the device can support 802.3/ETH2 to
181 802.11 translation*/
182 wpt_boolean bFrameXtlSupported;
183
184 /*Maximum number of BSSes supported by the Device */
185 wpt_uint8 ucMaxBSSSupported;
186
187 /*Maximum number of stations supported by the Device */
188 wpt_uint8 ucMaxSTASupported;
189}WDI_DeviceCapabilityType;
190
191/*---------------------------------------------------------------------------
192 WDI Channel Offset
193---------------------------------------------------------------------------*/
194typedef enum
195{
196 WDI_SECONDARY_CHANNEL_OFFSET_NONE = 0,
197 WDI_SECONDARY_CHANNEL_OFFSET_UP = 1,
Jeff Johnsone7245742012-09-05 17:12:55 -0700198 WDI_SECONDARY_CHANNEL_OFFSET_DOWN = 3,
199#ifdef WLAN_FEATURE_11AC
200 WDI_CHANNEL_20MHZ_LOW_40MHZ_CENTERED = 4, //20/40MHZ offset LOW 40/80MHZ offset CENTERED
201 WDI_CHANNEL_20MHZ_CENTERED_40MHZ_CENTERED = 5, //20/40MHZ offset CENTERED 40/80MHZ offset CENTERED
202 WDI_CHANNEL_20MHZ_HIGH_40MHZ_CENTERED = 6, //20/40MHZ offset HIGH 40/80MHZ offset CENTERED
203 WDI_CHANNEL_20MHZ_LOW_40MHZ_LOW = 7,//20/40MHZ offset LOW 40/80MHZ offset LOW
204 WDI_CHANNEL_20MHZ_HIGH_40MHZ_LOW = 8, //20/40MHZ offset HIGH 40/80MHZ offset LOW
205 WDI_CHANNEL_20MHZ_LOW_40MHZ_HIGH = 9, //20/40MHZ offset LOW 40/80MHZ offset HIGH
206 WDI_CHANNEL_20MHZ_HIGH_40MHZ_HIGH = 10,//20/40MHZ offset-HIGH 40/80MHZ offset HIGH
207#endif
208 WDI_SECONDARY_CHANNEL_OFFSET_MAX
Jeff Johnson295189b2012-06-20 16:38:30 -0700209}WDI_HTSecondaryChannelOffset;
210
211/*---------------------------------------------------------------------------
212 WDI_MacFrameCtl
213 Frame control field format (2 bytes)
214---------------------------------------------------------------------------*/
215typedef struct
216{
217 wpt_uint8 protVer :2;
218 wpt_uint8 type :2;
219 wpt_uint8 subType :4;
220
221 wpt_uint8 toDS :1;
222 wpt_uint8 fromDS :1;
223 wpt_uint8 moreFrag :1;
224 wpt_uint8 retry :1;
225 wpt_uint8 powerMgmt :1;
226 wpt_uint8 moreData :1;
227 wpt_uint8 wep :1;
228 wpt_uint8 order :1;
229
230} WDI_MacFrameCtl;
231
232/*---------------------------------------------------------------------------
233 WDI Sequence control field
234---------------------------------------------------------------------------*/
235typedef struct
236{
237 wpt_uint8 fragNum : 4;
238 wpt_uint8 seqNumLo : 4;
239 wpt_uint8 seqNumHi : 8;
240} WDI_MacSeqCtl;
241
242/*---------------------------------------------------------------------------
243 Management header format
244---------------------------------------------------------------------------*/
245typedef struct
246{
247 WDI_MacFrameCtl fc;
248 wpt_uint8 durationLo;
249 wpt_uint8 durationHi;
250 wpt_uint8 da[WDI_MAC_ADDR_LEN];
251 wpt_uint8 sa[WDI_MAC_ADDR_LEN];
252 wpt_macAddr bssId;
253 WDI_MacSeqCtl seqControl;
254} WDI_MacMgmtHdr;
255
256/*---------------------------------------------------------------------------
257 NV Blob management sturcture
258 ---------------------------------------------------------------------------*/
259
260typedef struct
261{
262 /* NV image fragments count */
263 wpt_uint16 usTotalFragment;
264
265 /* NV fragment size */
266 wpt_uint16 usFragmentSize;
267
268 /* current fragment to be sent */
269 wpt_uint16 usCurrentFragment;
270
271} WDI_NvBlobInfoParams;
272
273
274/*---------------------------------------------------------------------------
275 Data path enums memory pool resource
276 ---------------------------------------------------------------------------*/
277
278typedef enum
279{
280 /* managment resource pool ID */
281 WDI_MGMT_POOL_ID = 0,
282 /* Data resource pool ID */
283 WDI_DATA_POOL_ID = 1
284}WDI_ResPoolType;
285
286/*============================================================================
287 * GENERIC STRUCTURES - END
288 ============================================================================*/
289
290/*----------------------------------------------------------------------------
291 * Type Declarations
292 * -------------------------------------------------------------------------*/
293/*---------------------------------------------------------------------------
294 WDI Status
295---------------------------------------------------------------------------*/
296typedef enum
297{
298 WDI_STATUS_SUCCESS, /* Operation has completed successfully*/
299 WDI_STATUS_SUCCESS_SYNC, /* Operation has completed successfully in a
300 synchronous way - no rsp will be generated*/
301 WDI_STATUS_PENDING, /* Operation result is pending and will be
302 provided asynchronously through the Req Status
303 Callback */
304 WDI_STATUS_E_FAILURE, /* Operation has ended in a generic failure*/
305 WDI_STATUS_RES_FAILURE, /* Operation has ended in a resource failure*/
306 WDI_STATUS_MEM_FAILURE, /* Operation has ended in a memory allocation
307 failure*/
308 WDI_STATUS_E_NOT_ALLOWED, /* Operation is not allowed in the current state
309 of the driver*/
310 WDI_STATUS_E_NOT_IMPLEMENT, /* Operation is not yet implemented*/
311
312 WDI_STATUS_DEV_INTERNAL_FAILURE, /*An internal error has occurred in the device*/
313 WDI_STATUS_MAX
314
315}WDI_Status;
316
317
318/*---------------------------------------------------------------------------
319 WDI_ReqStatusCb
320
321 DESCRIPTION
322
323 This callback is invoked by DAL to deliver to UMAC the result of posting
324 a previous request for which the return status was PENDING.
325
326 PARAMETERS
327
328 IN
329 wdiStatus: response status received from the Control Transport
330 pUserData: user data
331
332
333
334 RETURN VALUE
335 The result code associated with performing the operation
336---------------------------------------------------------------------------*/
337typedef void (*WDI_ReqStatusCb)(WDI_Status wdiStatus,
338 void* pUserData);
339
340/*---------------------------------------------------------------------------
341 WDI_LowLevelIndEnumType
342 Types of indication that can be posted to UMAC by DAL
343---------------------------------------------------------------------------*/
344typedef enum
345{
346 /*When RSSI monitoring is enabled of the Lower MAC and a threshold has been
347 passed. */
348 WDI_RSSI_NOTIFICATION_IND,
349
350 /*Link loss in the low MAC */
351 WDI_MISSED_BEACON_IND,
352
353 /*when hardware has signaled an unknown addr2 frames. The indication will
354 contain info from frames to be passed to the UMAC, this may use this info to
355 deauth the STA*/
356 WDI_UNKNOWN_ADDR2_FRAME_RX_IND,
357
358 /*MIC Failure detected by HW*/
359 WDI_MIC_FAILURE_IND,
360
361 /*Fatal Error Ind*/
362 WDI_FATAL_ERROR_IND,
363
364 /*Delete Station Ind*/
365 WDI_DEL_STA_IND,
366
367 /*Indication from Coex*/
368 WDI_COEX_IND,
369
370 /* Indication for Tx Complete */
371 WDI_TX_COMPLETE_IND,
372
373 /*.P2P_NOA_Attr_Indication */
374 WDI_P2P_NOA_ATTR_IND,
375
376 /* Preferred Network Found Indication */
377 WDI_PREF_NETWORK_FOUND_IND,
378
379 WDI_WAKE_REASON_IND,
380
381 /* Tx PER Tracking Indication */
382 WDI_TX_PER_HIT_IND,
Viral Modid86bde22012-12-10 13:09:21 -0800383
Viral Modid86bde22012-12-10 13:09:21 -0800384 /* P2P_NOA_Start_Indication */
385 WDI_P2P_NOA_START_IND,
Viral Modid86bde22012-12-10 13:09:21 -0800386
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530387 /* TDLS_Indication */
388 WDI_TDLS_IND,
389
Leo Changd9df8aa2013-09-26 13:32:26 -0700390 /* LPHB Indication from FW to umac */
391 WDI_LPHB_IND,
Leo Chang9056f462013-08-01 19:21:11 -0700392
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700393 /* IBSS Peer Inactivity Indication */
394 WDI_IBSS_PEER_INACTIVITY_IND,
395
Yue Mab9c86f42013-08-14 15:59:08 -0700396 /* Periodic Tx Pattern FW Indication */
397 WDI_PERIODIC_TX_PTRN_FW_IND,
398
Rajeev79dbe4c2013-10-05 11:03:42 +0530399#ifdef FEATURE_WLAN_BATCH_SCAN
400 /*Batch scan result indication from FW*/
401 WDI_BATCH_SCAN_RESULT_IND,
402#endif
403
Leo Chang0b0e45a2013-12-15 15:18:55 -0800404#ifdef FEATURE_WLAN_CH_AVOID
405 WDI_CH_AVOID_IND,
406#endif /* FEATURE_WLAN_CH_AVOID */
Sunil Duttbd736ed2014-05-26 21:19:41 +0530407#ifdef WLAN_FEATURE_LINK_LAYER_STATS
408 WDI_LL_STATS_RESULTS_IND,
409#endif
Dino Mycle41bdc942014-06-10 11:30:24 +0530410#ifdef WLAN_FEATURE_EXTSCAN
411 WDI_EXTSCAN_PROGRESS_IND,
412 WDI_EXTSCAN_SCAN_AVAILABLE_IND,
413 WDI_EXTSCAN_SCAN_RESULT_IND,
414 WDI_EXTSCAN_GET_CAPABILITIES_IND,
415 WDI_EXTSCAN_BSSID_HOTLIST_RESULT_IND,
Padma, Santhosh Kumar9acee012015-08-21 19:58:01 +0530416 WDI_EXTSCAN_SSID_HOTLIST_RESULT_IND,
Dino Mycle41bdc942014-06-10 11:30:24 +0530417#endif
Abhishek Singh66c16762014-08-14 19:13:19 +0530418 /*Delete BA Ind*/
419 WDI_DEL_BA_IND,
Srinivas Dasari32a79262015-02-19 13:04:49 +0530420 WDI_NAN_EVENT_IND,
Sachin Ahuja3d47fcd2015-08-28 16:02:06 +0530421 WDI_LOST_LINK_PARAMS_IND,
Gupta, Kapil7c34b322015-09-30 13:12:35 +0530422 WDI_RSSI_BREACHED_IND,
Padma, Santhosh Kumar2ccac212015-10-20 17:27:27 +0530423#ifdef FEATURE_OEM_DATA_SUPPORT
424 WDI_START_OEM_DATA_RSP_IND_NEW,
425#endif
Jeff Johnson295189b2012-06-20 16:38:30 -0700426 WDI_MAX_IND
427}WDI_LowLevelIndEnumType;
428
429
430/*---------------------------------------------------------------------------
431 WDI_LowRSSIThIndType
432---------------------------------------------------------------------------*/
433typedef struct
434{
435 /*Positive crossing of Rssi Thresh1*/
436 wpt_uint32 bRssiThres1PosCross : 1;
437 /*Negative crossing of Rssi Thresh1*/
438 wpt_uint32 bRssiThres1NegCross : 1;
439 /*Positive crossing of Rssi Thresh2*/
440 wpt_uint32 bRssiThres2PosCross : 1;
441 /*Negative crossing of Rssi Thresh2*/
442 wpt_uint32 bRssiThres2NegCross : 1;
443 /*Positive crossing of Rssi Thresh3*/
444 wpt_uint32 bRssiThres3PosCross : 1;
445 /*Negative crossing of Rssi Thresh3*/
446 wpt_uint32 bRssiThres3NegCross : 1;
447
Srinivasdaaec712012-12-12 15:59:44 -0800448 wpt_uint32 avgRssi : 8;
449 wpt_uint32 bReserved : 18;
Jeff Johnson295189b2012-06-20 16:38:30 -0700450
451}WDI_LowRSSIThIndType;
452
453
454/*---------------------------------------------------------------------------
455 WDI_UnkAddr2FrmRxIndType
456---------------------------------------------------------------------------*/
457typedef struct
458{
459 /*Rx Bd data of the unknown received addr2 frame.*/
460 void* bufRxBd;
461
462 /*Buffer Length*/
463 wpt_uint16 usBufLen;
464}WDI_UnkAddr2FrmRxIndType;
465
466/*---------------------------------------------------------------------------
467 WDI_DeleteSTAIndType
468---------------------------------------------------------------------------*/
469typedef struct
470{
471 /*ASSOC ID, as assigned by UMAC*/
472 wpt_uint16 usAssocId;
473
474 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
475 wpt_uint8 ucSTAIdx;
476
477 /*BSSID of STA*/
478 wpt_macAddr macBSSID;
479
480 /*MAC ADDR of STA*/
481 wpt_macAddr macADDR2;
482
483 /* To unify the keepalive / unknown A2 / tim-based disa*/
484 wpt_uint16 wptReasonCode;
485
486}WDI_DeleteSTAIndType;
487
488/*---------------------------------------------------------------------------
489 WDI_MicFailureIndType
490---------------------------------------------------------------------------*/
491typedef struct
492{
493 /*current BSSID*/
494 wpt_macAddr bssId;
495
496 /*Source mac address*/
497 wpt_macAddr macSrcAddr;
498
499 /*Transmitter mac address*/
500 wpt_macAddr macTaAddr;
501
502 /*Destination mac address*/
503 wpt_macAddr macDstAddr;
504
505 /*Multicast flag*/
506 wpt_uint8 ucMulticast;
507
508 /*First byte of IV*/
509 wpt_uint8 ucIV1;
510
511 /*Key Id*/
512 wpt_uint8 keyId;
513
514 /*Sequence Number*/
515 wpt_uint8 TSC[WDI_CIPHER_SEQ_CTR_SIZE];
516
517 /*receive address */
518 wpt_macAddr macRxAddr;
519}WDI_MicFailureIndType;
520
521/*---------------------------------------------------------------------------
522 WDI_CoexIndType
523---------------------------------------------------------------------------*/
524typedef struct
525{
526 wpt_uint32 coexIndType;
527 wpt_uint32 coexIndData[WDI_COEX_IND_DATA_SIZE];
528} WDI_CoexIndType;
529
530/*---------------------------------------------------------------------------
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +0530531 WDI_DHCPInd
532---------------------------------------------------------------------------*/
533
534typedef struct
535{
536 wpt_uint8 device_mode;
537 wpt_uint8 macAddr[WDI_MAC_ADDR_LEN];
538}WDI_DHCPInd;
539
540/*---------------------------------------------------------------------------
541
Jeff Johnson295189b2012-06-20 16:38:30 -0700542 WDI_MacSSid
543---------------------------------------------------------------------------*/
544typedef struct
545{
546 wpt_uint8 ucLength;
547 wpt_uint8 sSSID[WDI_MAX_SSID_SIZE];
548} WDI_MacSSid;
549
550#ifdef FEATURE_WLAN_SCAN_PNO
551/*---------------------------------------------------------------------------
552 WDI_PrefNetworkFoundInd
553---------------------------------------------------------------------------*/
554typedef struct
555{
556 /* Network that was found with the highest RSSI*/
Srikant Kuppa066904f2013-05-07 13:56:02 -0700557 WDI_MacSSid ssId;
Jeff Johnson295189b2012-06-20 16:38:30 -0700558 /* Indicates the RSSI */
Srikant Kuppa066904f2013-05-07 13:56:02 -0700559 wpt_uint8 rssi;
560 wpt_uint16 frameLength;
561 wpt_uint8 *pData;
Jeff Johnson295189b2012-06-20 16:38:30 -0700562} WDI_PrefNetworkFoundInd;
563#endif // FEATURE_WLAN_SCAN_PNO
564
Jeff Johnson295189b2012-06-20 16:38:30 -0700565/*---------------------------------------------------------------------------
566 *WDI_P2pNoaAttrIndType
567 *-------------------------------------------------------------------------*/
Jeff Johnson295189b2012-06-20 16:38:30 -0700568typedef struct
569{
570 wpt_uint8 ucIndex ;
571 wpt_uint8 ucOppPsFlag ;
572 wpt_uint16 usCtWin ;
573
574 wpt_uint16 usNoa1IntervalCnt;
575 wpt_uint16 usRsvd1 ;
576 wpt_uint32 uslNoa1Duration;
577 wpt_uint32 uslNoa1Interval;
578 wpt_uint32 uslNoa1StartTime;
579
580 wpt_uint16 usNoa2IntervalCnt;
581 wpt_uint16 usRsvd2;
582 wpt_uint32 uslNoa2Duration;
583 wpt_uint32 uslNoa2Interval;
584 wpt_uint32 uslNoa2StartTime;
585
586 wpt_uint32 status;
587}WDI_P2pNoaAttrIndType;
Viral Modid86bde22012-12-10 13:09:21 -0800588
589/*---------------------------------------------------------------------------
590 *WDI_P2pNoaStartIndType
591 *-------------------------------------------------------------------------*/
592typedef struct
593{
594 wpt_uint32 status;
595 wpt_uint32 bssIdx;
596}WDI_P2pNoaStartIndType;
597
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530598/*---------------------------------------------------------------------------
599 *WDI_TdlsIndType
600 *-------------------------------------------------------------------------*/
601typedef struct
602{
603 wpt_uint16 status;
604 wpt_uint16 assocId;
605 wpt_uint16 staIdx;
606 wpt_uint16 reasonCode;
607}WDI_TdlsIndType;
Jeff Johnson295189b2012-06-20 16:38:30 -0700608
609#ifdef WLAN_WAKEUP_EVENTS
610/*---------------------------------------------------------------------------
611 WDI_WakeReasonIndType
612---------------------------------------------------------------------------*/
613typedef struct
614{
615 wpt_uint32 ulReason; /* see tWakeReasonType */
616 wpt_uint32 ulReasonArg; /* argument specific to the reason type */
617 wpt_uint32 ulStoredDataLen; /* length of optional data stored in this message, in case
618 HAL truncates the data (i.e. data packets) this length
619 will be less than the actual length */
620 wpt_uint32 ulActualDataLen; /* actual length of data */
621 wpt_uint8 aDataStart[1]; /* variable length start of data (length == storedDataLen)
622 see specific wake type */
623} WDI_WakeReasonIndType;
624#endif // WLAN_WAKEUP_EVENTS
625
Srinivas Dasari32a79262015-02-19 13:04:49 +0530626typedef struct
627{
628 wpt_uint16 event_data_len;
629 wpt_uint8* event_data;
630} WDI_NanEventType;
631
632
Jeff Johnson295189b2012-06-20 16:38:30 -0700633/*---------------------------------------------------------------------------
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800634 WDI_MissedBeaconIndType
635-----------------------------------------------------------------------------*/
636typedef struct
637{
638 wpt_uint8 bssIdx; /*bssidx on which beacon is missed*/
639} WDI_MissedBeaconIndType;
640
Leo Chang9056f462013-08-01 19:21:11 -0700641#ifdef FEATURE_WLAN_LPHB
642/*---------------------------------------------------------------------------
643 WDI_LPHBTimeoutIndData
644-----------------------------------------------------------------------------*/
645typedef struct
646{
647 wpt_uint8 bssIdx;
648 wpt_uint8 sessionIdx;
649 wpt_uint8 protocolType; /*TCP or UDP*/
650 wpt_uint8 eventReason;
651} WDI_LPHBTimeoutIndData;
652#endif /* FEATURE_WLAN_LPHB */
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800653
Yue Mab9c86f42013-08-14 15:59:08 -0700654/*-----------------------------------------------------------------------------
655WDI_PeriodicTxPtrnFwIndType
656-----------------------------------------------------------------------------*/
657typedef struct
658{
659 wpt_uint8 bssIdx;
660 wpt_uint32 selfStaIdx;
661 wpt_uint32 status;
662 wpt_uint32 patternIdBitmap;
663} WDI_PeriodicTxPtrnFwIndType;
664
Rajeev79dbe4c2013-10-05 11:03:42 +0530665#ifdef FEATURE_WLAN_BATCH_SCAN
666/*---------------------------------------------------------------------------
667 WDI_SetBatchScanReqType
668---------------------------------------------------------------------------*/
669typedef struct
670{
671 wpt_uint32 scanFrequency; /* how frequent to do scan default 30Sec*/
672 wpt_uint32 numberOfScansToBatch; /* number of scans to batch */
673 wpt_uint32 bestNetwork; /* best networks in terms of rssi */
674 wpt_uint8 rfBand; /* band to scan :
675 0 ->both Band, 1->2.4Ghz Only
676 and 2-> 5GHz Only */
677 wpt_uint32 rtt; /* set if required to do RTT it is not
678 supported in current version */
679}WDI_SetBatchScanReqType;
680
681/*---------------------------------------------------------------------------
682 WDI_SetBatchScanRspType
683---------------------------------------------------------------------------*/
684typedef struct
685{
686 /*max number of scans which FW can cache*/
687 wpt_uint32 nScansToBatch;
688}WDI_SetBatchScanRspType;
689
690/*---------------------------------------------------------------------------
691 WDI_TriggerBatchScanResultIndType
692---------------------------------------------------------------------------*/
693typedef struct
694{
695 wpt_uint32 param;
696}WDI_TriggerBatchScanResultIndType;
697
698/*---------------------------------------------------------------------------
699 WDI_StopBatchScanIndType
700---------------------------------------------------------------------------*/
701typedef struct
702{
703 /*max number of scans which FW can cache*/
704 wpt_uint32 param;
705}WDI_StopBatchScanIndType;
706
707
708/*---------------------------------------------------------------------------
709 * WDI_BatchScanResultIndType
710 *--------------------------------------------------------------------------*/
711typedef struct
712{
713 wpt_uint32 bssid[6]; /* BSSID */
714 wpt_uint32 ssid[32]; /* SSID */
715 wpt_uint32 ch; /* Channel */
716 wpt_uint32 rssi; /* RSSI or Level */
717 /* Timestamp when Network was found. Used to calculate age based on
718 timestamp in GET_RSP msg header */
719 wpt_uint32 timestamp;
720} tWDIBatchScanNetworkInfo, *tpWDIBatchScanNetworkInfo;
721
722typedef struct
723{
724 wpt_uint32 scanId; /*Scan List ID*/
725 /*No of AP in a Scan Result. Should be same as bestNetwork in SET_REQ msg*/
726 wpt_uint32 numNetworksInScanList;
727 /*Variable data ptr: Number of AP in Scan List*/
728 wpt_uint32 scanList[1];
729} tWDIBatchScanList, *tpWDIBatchScanList;
730
731typedef struct
732{
733 wpt_uint32 timestamp;
734 wpt_uint32 numScanLists;
735 wpt_boolean isLastResult;
736 /* Variable Data ptr: Number of Scan Lists*/
737 wpt_uint32 scanResults[1];
738} tWDIBatchScanResultParam, *tpWDIBatchScanResultParam;
739
740#endif
741
742
Sachin Ahuja3d47fcd2015-08-28 16:02:06 +0530743typedef struct
744{
745 wpt_uint8 bssIdx;
746 wpt_uint8 rssi;
747 wpt_uint8 selfMacAddr[WDI_MAC_ADDR_LEN];
748 wpt_uint32 linkFlCnt;
749 wpt_uint32 linkFlTx;
750 wpt_uint32 lastDataRate;
751 wpt_uint32 rsvd1;
752 wpt_uint32 rsvd2;
753
754}WDI_LostLinkParamsIndType;
755
Gupta, Kapil7c34b322015-09-30 13:12:35 +0530756typedef struct
757{
758 wpt_uint32 request_id;
759 wpt_uint8 bssId[WDI_MAC_ADDR_LEN];
760 wpt_int8 rssi;
761}WDI_RssiBreachedIndType;
762
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800763/*---------------------------------------------------------------------------
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700764 WDI_IbssPeerInactivityIndType
765-----------------------------------------------------------------------------*/
766typedef struct
767{
768 wpt_uint8 bssIdx;
769 wpt_uint8 staIdx;
770 wpt_macAddr staMacAddr;
771}WDI_IbssPeerInactivityIndType;
772
773/*---------------------------------------------------------------------------
Chittajit Mitraf5413a42013-10-18 14:20:08 -0700774 WDI_TxRateFlags
775-----------------------------------------------------------------------------*/
776typedef enum
777{
778 WDI_TX_RATE_LEGACY = 0x1, /* Legacy rates */
779 WDI_TX_RATE_HT20 = 0x2, /* HT20 rates */
780 WDI_TX_RATE_HT40 = 0x4, /* HT40 rates */
781 WDI_TX_RATE_SGI = 0x8, /* Rate with Short guard interval */
782 WDI_TX_RATE_LGI = 0x10, /* Rate with Long guard interval */
783 WDI_TX_RATE_VHT20 = 0x20, /* VHT 20 rates */
784 WDI_TX_RATE_VHT40 = 0x40, /* VHT 20 rates */
785 WDI_TX_RATE_VHT80 = 0x80, /* VHT 20 rates */
786 WDI_TX_RATE_VIRT = 0x100, /* Virtual Rate */
787} WDI_TxRateFlags;
788
789/*---------------------------------------------------------------------------
790 WDI_RateUpdateIndParams
791-----------------------------------------------------------------------------*/
792typedef struct
793{
794 /* 0 implies RA, positive value implies fixed rate, -1 implies ignore this
795 * param ucastDataRate can be used to control RA behavior of unicast data to
796 */
797 wpt_int32 ucastDataRate;
798
799 /* TX flag to differentiate between HT20, HT40 etc */
800 WDI_TxRateFlags ucastDataRateTxFlag;
801
802 /* BSSID - Optional. 00-00-00-00-00-00 implies apply to all BCAST STAs */
803 wpt_macAddr bssid;
804
805 /*
806 * 0 implies MCAST RA, positive value implies fixed rate,
807 * -1 implies ignore this param
808 */
809 wpt_int32 reliableMcastDataRate; //unit Mbpsx10
810
811 /* TX flag to differentiate between HT20, HT40 etc */
812 WDI_TxRateFlags reliableMcastDataRateTxFlag;
813
814 /*
815 * MCAST(or BCAST) fixed data rate in 2.4 GHz, unit Mbpsx10,
816 * 0 implies ignore
817 */
818 wpt_uint32 mcastDataRate24GHz;
819
820 /* TX flag to differentiate between HT20, HT40 etc */
821 WDI_TxRateFlags mcastDataRate24GHzTxFlag;
822
823 /*
824 * MCAST(or BCAST) fixed data rate in 5 GHz,
825 * unit Mbpsx10, 0 implies ignore
826 */
827 wpt_uint32 mcastDataRate5GHz;
828
829 /* TX flag to differentiate between HT20, HT40 etc */
830 WDI_TxRateFlags mcastDataRate5GHzTxFlag;
831
832 /*
833 * Request status callback offered by UMAC - it is called if the current
834 * req has returned PENDING as status; it delivers the status of sending
835 * the message over the BUS
836 */
837 WDI_ReqStatusCb wdiReqStatusCB;
838
839 /*
840 * The user data passed in by UMAC, it will be sent back when the above
841 * function pointer will be called
842 */
843 void *pUserData;
844
845} WDI_RateUpdateIndParams;
846
Abhishek Singh85b74712014-10-08 11:38:19 +0530847typedef struct
848{
849 wpt_uint32 ubsp_enter_cnt;
850 wpt_uint32 ubsp_jump_ddr_cnt;
851}ubspFwStats;
852
853typedef struct
854{
855 wpt_uint32 type;
856 /*data*/
857 union{
858 ubspFwStats ubspStats;
859 }wdiFwStatsData;
860} WDI_FWStatsResults;
861
Leo Chang0b0e45a2013-12-15 15:18:55 -0800862#ifdef FEATURE_WLAN_CH_AVOID
Abhishek Singhe34eb552015-06-18 10:12:15 +0530863#define WDI_CH_AVOID_MAX_RANGE 15
Leo Chang0b0e45a2013-12-15 15:18:55 -0800864
865typedef struct
866{
867 wpt_uint32 startFreq;
868 wpt_uint32 endFreq;
869} WDI_ChAvoidFreqType;
870
871typedef struct
872{
873 wpt_uint32 avoidRangeCount;
874 WDI_ChAvoidFreqType avoidFreqRange[WDI_CH_AVOID_MAX_RANGE];
875} WDI_ChAvoidIndType;
876#endif /* FEATURE_WLAN_CH_AVOID */
877
Dino Mycled3d50022014-07-07 12:58:25 +0530878#ifdef WLAN_FEATURE_LINK_LAYER_STATS
879typedef struct
880{
881 void *pLinkLayerStatsResults;
882 wpt_macAddr macAddr;
883} WDI_LinkLayerStatsResults;
884
885#endif
Abhishek Singh66c16762014-08-14 19:13:19 +0530886
887typedef struct
888{
889 /*STA Index*/
890 wpt_uint16 staIdx;
891
892 /*Peer MAC*/
893 wpt_macAddr peerMacAddr;
894
895 // TID for which a BA session timeout is being triggered
896 wpt_uint8 baTID;
897 // DELBA direction
898 // 1 - Originator
899 // 0 - Recipient
900 wpt_uint8 baDirection;
901 wpt_uint32 reasonCode;
902 /*MAC ADDR of STA*/
903 wpt_macAddr bssId; // TO SUPPORT BT-AMP
904} WDI_DeleteBAIndType;
905
Ganesh Kondabattinib18b3292015-03-16 16:59:26 +0530906typedef struct
907{
908 wpt_uint32 tx_complete_status;
909 wpt_uint32 tx_bd_token;
910} WDI_TxBDStatus;
Padma, Santhosh Kumaree7c3d22016-01-25 10:36:08 +0530911
912#ifdef FEATURE_OEM_DATA_SUPPORT
913/*----------------------------------------------------------------------------
914 OEM DATA RESPONSE - DATA STRUCTURES
915----------------------------------------------------------------------------*/
916typedef struct
917{
918 void *pOemRspNewIndData;
919 /* Max OemRspNewLen possible is NEW_OEM_DATA_RSP_SIZE*/
920 wpt_uint32 OemRspNewLen;
921} WDI_OemDataRspNew;
922#endif
923
Chittajit Mitraf5413a42013-10-18 14:20:08 -0700924/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -0700925 WDI_LowLevelIndType
926 Inidcation type and information about the indication being carried
927 over
928---------------------------------------------------------------------------*/
929typedef struct
930{
931 /*Inidcation type*/
932 WDI_LowLevelIndEnumType wdiIndicationType;
933
934 /*Indication data*/
935 union
936 {
937 /*RSSI Threshold Info for WDI_LOW_RSSI_IND*/
938 WDI_LowRSSIThIndType wdiLowRSSIInfo;
939
940 /*Addr2 Frame Info for WDI_UNKNOWN_ADDR2_FRAME_RX_IND*/
941 WDI_UnkAddr2FrmRxIndType wdiUnkAddr2FrmInfo;
942
943 /*MIC Failure info for WDI_MIC_FAILURE_IND*/
944 WDI_MicFailureIndType wdiMICFailureInfo;
945
946 /*Error code for WDI_FATAL_ERROR_IND*/
947 wpt_uint16 usErrorCode;
948
949 /*Delete STA Indication*/
950 WDI_DeleteSTAIndType wdiDeleteSTAIndType;
951
952 /*Coex Indication*/
953 WDI_CoexIndType wdiCoexInfo;
954
955 /* Tx Complete Indication */
956 wpt_uint32 tx_complete_status;
957
Jeff Johnson295189b2012-06-20 16:38:30 -0700958 /* P2P NOA ATTR Indication */
959 WDI_P2pNoaAttrIndType wdiP2pNoaAttrInfo;
Viral Modid86bde22012-12-10 13:09:21 -0800960 WDI_P2pNoaStartIndType wdiP2pNoaStartInfo;
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530961 /* TDLS Indications */
962 WDI_TdlsIndType wdiTdlsIndInfo;
Jeff Johnson295189b2012-06-20 16:38:30 -0700963
964
965#ifdef FEATURE_WLAN_SCAN_PNO
966 WDI_PrefNetworkFoundInd wdiPrefNetworkFoundInd;
967#endif // FEATURE_WLAN_SCAN_PNO
968
969#ifdef WLAN_WAKEUP_EVENTS
970 WDI_WakeReasonIndType wdiWakeReasonInd;
971#endif // WLAN_WAKEUP_EVENTS
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800972 WDI_MissedBeaconIndType wdiMissedBeaconInd;
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700973
Leo Chang9056f462013-08-01 19:21:11 -0700974#ifdef FEATURE_WLAN_LPHB
975 WDI_LPHBTimeoutIndData wdiLPHBTimeoutInd;
976#endif /* FEATURE_WLAN_LPHB */
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700977
978 /* IBSS Peer Inactivity Indication */
979 WDI_IbssPeerInactivityIndType wdiIbssPeerInactivityInd;
980
Yue Mab9c86f42013-08-14 15:59:08 -0700981 /* Periodic TX Pattern FW Indication */
982 WDI_PeriodicTxPtrnFwIndType wdiPeriodicTxPtrnFwInd;
Rajeev79dbe4c2013-10-05 11:03:42 +0530983
984#ifdef FEATURE_WLAN_BATCH_SCAN
985 /*batch scan result indication from FW*/
986 void *pBatchScanResult;
987#endif
988
Leo Chang0b0e45a2013-12-15 15:18:55 -0800989#ifdef FEATURE_WLAN_CH_AVOID
990 WDI_ChAvoidIndType wdiChAvoidInd;
991#endif /* FEATURE_WLAN_CH_AVOID */
Sunil Duttbd736ed2014-05-26 21:19:41 +0530992
993#ifdef WLAN_FEATURE_LINK_LAYER_STATS
994 /*Link Layer Statistics from FW*/
Dino Mycled3d50022014-07-07 12:58:25 +0530995 WDI_LinkLayerStatsResults wdiLinkLayerStatsResults;
Sunil Duttbd736ed2014-05-26 21:19:41 +0530996#endif
Dino Mycle41bdc942014-06-10 11:30:24 +0530997#ifdef WLAN_FEATURE_EXTSCAN
998 /*EXTSCAN Results from FW*/
999 void *pEXTScanIndData;
1000#endif
Abhishek Singh66c16762014-08-14 19:13:19 +05301001 WDI_DeleteBAIndType wdiDeleteBAInd;
Srinivas Dasari32a79262015-02-19 13:04:49 +05301002
1003 WDI_NanEventType wdiNanEvent;
Ganesh Kondabattinib18b3292015-03-16 16:59:26 +05301004
1005 WDI_TxBDStatus wdiTxBdInd;
Sachin Ahuja3d47fcd2015-08-28 16:02:06 +05301006 WDI_LostLinkParamsIndType wdiLostLinkParamsInd;
Gupta, Kapil7c34b322015-09-30 13:12:35 +05301007 WDI_RssiBreachedIndType wdiRssiBreachedInd;
Padma, Santhosh Kumar2ccac212015-10-20 17:27:27 +05301008#ifdef FEATURE_OEM_DATA_SUPPORT
1009/*OEM Data Rsp New Results from FW*/
Padma, Santhosh Kumaree7c3d22016-01-25 10:36:08 +05301010 WDI_OemDataRspNew wdiOemDataRspNew;
Padma, Santhosh Kumar2ccac212015-10-20 17:27:27 +05301011#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001012 } wdiIndicationData;
1013}WDI_LowLevelIndType;
1014
1015/*---------------------------------------------------------------------------
1016 WDI_LowLevelIndCBType
1017
1018 DESCRIPTION
1019
1020 This callback is invoked by DAL to deliver to UMAC certain indications
1021 that has either received from the lower device or has generated itself.
1022
1023 PARAMETERS
1024
1025 IN
1026 pwdiInd: information about the indication sent over
1027 pUserData: user data provided by UMAC during registration
1028
1029
1030
1031 RETURN VALUE
1032 The result code associated with performing the operation
1033---------------------------------------------------------------------------*/
1034typedef void (*WDI_LowLevelIndCBType)(WDI_LowLevelIndType* pwdiInd,
1035 void* pUserData);
1036
1037/*---------------------------------------------------------------------------
1038 WDI_DriverType
1039---------------------------------------------------------------------------*/
1040typedef enum
1041{
1042 WDI_DRIVER_TYPE_PRODUCTION = 0,
1043 WDI_DRIVER_TYPE_MFG = 1,
1044 WDI_DRIVER_TYPE_DVT = 2
1045} WDI_DriverType;
1046
1047/*---------------------------------------------------------------------------
1048 WDI_StartReqParamsType
1049---------------------------------------------------------------------------*/
1050typedef struct
1051{
1052 /*This is a TLV formatted buffer containing all config values that can
1053 be set through the DAL Interface
1054
1055 The TLV is expected to be formatted like this:
1056
1057 0 7 15 31 ....
1058 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
1059
1060 Or from a C construct point of VU it would look like this:
1061
1062 typedef struct WPT_PACK_POST
1063 {
1064 #ifdef WPT_BIG_ENDIAN
1065 wpt_uint32 ucCfgId:8;
1066 wpt_uint32 ucCfgLen:8;
1067 wpt_uint32 usReserved:16;
1068 #else
1069 wpt_uint32 usReserved:16;
1070 wpt_uint32 ucCfgLen:8;
1071 wpt_uint32 ucCfgId:8;
1072 #endif
1073
1074 wpt_uint8 ucCfgBody[ucCfgLen];
1075 }WDI_ConfigType;
1076
1077 Multiple such tuplets are to be placed in the config buffer. One for
1078 each required configuration item:
1079
1080 | TLV 1 | TLV2 | ....
1081
1082 The buffer is expected to be a flat area of memory that can be manipulated
1083 with standard memory routines.
1084
1085 For more info please check paragraph 2.3.1 Config Structure from the
1086 HAL LLD.
1087
1088 For a list of accepted configuration list and IDs please look up
1089 wlan_qct_dal_cfg.h
1090
1091 */
1092 void* pConfigBuffer;
1093
1094 /*Length of the config buffer above*/
1095 wpt_uint16 usConfigBufferLen;
1096
1097 /*Production or FTM driver*/
1098 WDI_DriverType wdiDriverType;
1099
1100 /*Should device enable frame translation */
1101 wpt_uint8 bFrameTransEnabled;
1102
1103 /*Request status callback offered by UMAC - it is called if the current
1104 req has returned PENDING as status; it delivers the status of sending
1105 the message over the BUS */
1106 WDI_ReqStatusCb wdiReqStatusCB;
1107
1108 /*The user data passed in by UMAC, it will be sent back when the above
1109 function pointer will be called */
1110 void* pUserData;
1111
1112 /*Indication callback given by UMAC to be called by the WLAN DAL when it
1113 wishes to send something back independent of a request*/
1114 WDI_LowLevelIndCBType wdiLowLevelIndCB;
1115
1116 /*The user data passed in by UMAC, it will be sent back when the indication
1117 function pointer will be called */
1118 void* pIndUserData;
1119}WDI_StartReqParamsType;
1120
1121
1122/*---------------------------------------------------------------------------
1123 WDI_StartRspParamsType
1124---------------------------------------------------------------------------*/
1125typedef struct
1126{
1127 /*Status of the response*/
1128 WDI_Status wdiStatus;
1129
1130 /*Max number of STA supported by the device*/
1131 wpt_uint8 ucMaxStations;
1132
1133 /*Max number of BSS supported by the device*/
1134 wpt_uint8 ucMaxBssids;
1135
1136 /*Version of the WLAN HAL API with which we were compiled*/
1137 WDI_WlanVersionType wlanCompiledVersion;
1138
1139 /*Version of the WLAN HAL API that was reported*/
1140 WDI_WlanVersionType wlanReportedVersion;
1141
1142 /*WCNSS Software version string*/
1143 wpt_uint8 wcnssSoftwareVersion[WDI_VERSION_LENGTH];
1144
1145 /*WCNSS Hardware version string*/
1146 wpt_uint8 wcnssHardwareVersion[WDI_VERSION_LENGTH];
1147}WDI_StartRspParamsType;
1148
1149
1150/*---------------------------------------------------------------------------
1151 WDI_StopType
1152---------------------------------------------------------------------------*/
1153typedef enum
1154{
1155 /*Device is being stopped due to a reset*/
1156 WDI_STOP_TYPE_SYS_RESET,
1157
1158 /*Device is being stopped due to entering deep sleep*/
1159 WDI_STOP_TYPE_SYS_DEEP_SLEEP,
1160
1161 /*Device is being stopped because the RF needs to shut off
1162 (e.g.:Airplane mode)*/
1163 WDI_STOP_TYPE_RF_KILL
1164}WDI_StopType;
1165
1166/*---------------------------------------------------------------------------
1167 WDI_StopReqParamsType
1168---------------------------------------------------------------------------*/
1169typedef struct
1170{
1171
1172 /*The reason for which the device is being stopped*/
1173 WDI_StopType wdiStopReason;
1174
1175 /*Request status callback offered by UMAC - it is called if the current
1176 req has returned PENDING as status; it delivers the status of sending
1177 the message over the BUS */
1178 WDI_ReqStatusCb wdiReqStatusCB;
1179
1180 /*The user data passed in by UMAC, it will be sent back when the above
1181 function pointer will be called */
1182 void* pUserData;
1183}WDI_StopReqParamsType;
1184
1185
1186/*---------------------------------------------------------------------------
1187 WDI_ScanMode
1188---------------------------------------------------------------------------*/
1189typedef enum
1190{
1191 WDI_SCAN_MODE_NORMAL = 0,
1192 WDI_SCAN_MODE_LEARN,
1193 WDI_SCAN_MODE_SCAN,
1194 WDI_SCAN_MODE_PROMISC,
Madan Mohan Koyyalamudi9b876782012-10-11 16:22:51 -07001195 WDI_SCAN_MODE_SUSPEND_LINK,
1196 WDI_SCAN_MODE_ROAM_SCAN,
1197 WDI_SCAN_MODE_ROAM_SUSPEND_LINK,
1198
Jeff Johnson295189b2012-06-20 16:38:30 -07001199} WDI_ScanMode;
1200
1201/*---------------------------------------------------------------------------
1202 WDI_ScanEntry
1203---------------------------------------------------------------------------*/
1204typedef struct
1205{
1206 wpt_uint8 bssIdx[WDI_NUM_BSSID];
1207 wpt_uint8 activeBSScnt;
1208}WDI_ScanEntry;
1209
1210/*---------------------------------------------------------------------------
1211 WDI_InitScanReqInfoType
1212---------------------------------------------------------------------------*/
1213typedef struct
1214{
1215 /*LEARN - AP Role
1216 SCAN - STA Role*/
1217 WDI_ScanMode wdiScanMode;
1218
1219 /*BSSID of the BSS*/
1220 wpt_macAddr macBSSID;
1221
1222 /*Whether BSS needs to be notified*/
1223 wpt_boolean bNotifyBSS;
1224
1225 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
1226 CTS to Self). Must always be a valid frame type.*/
1227 wpt_uint8 ucFrameType;
1228
1229 /*UMAC has the option of passing the MAC frame to be used for notifying
1230 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
1231 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
1232 frameType.*/
1233 wpt_uint8 ucFrameLength;
1234
1235 /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/
1236 WDI_MacMgmtHdr wdiMACMgmtHdr;
1237
1238 /*Entry to hold number of active BSS to send NULL frames before
1239 * initiating SCAN*/
1240 WDI_ScanEntry wdiScanEntry;
1241
1242 /* Flag to enable/disable Single NOA*/
1243 wpt_boolean bUseNOA;
1244
1245 /* Indicates the scan duration (in ms) */
1246 wpt_uint16 scanDuration;
1247
1248}WDI_InitScanReqInfoType;
1249
1250/*---------------------------------------------------------------------------
1251 WDI_InitScanReqParamsType
1252---------------------------------------------------------------------------*/
1253typedef struct
1254{
1255 /*The info associated with the request that needs to be sent over to the
1256 device*/
1257 WDI_InitScanReqInfoType wdiReqInfo;
1258
1259 /*Request status callback offered by UMAC - it is called if the current
1260 req has returned PENDING as status; it delivers the status of sending
1261 the message over the BUS */
1262 WDI_ReqStatusCb wdiReqStatusCB;
1263
1264 /*The user data passed in by UMAC, it will be sent back when the above
1265 function pointer will be called */
1266 void* pUserData;
1267}WDI_InitScanReqParamsType;
1268
1269/*---------------------------------------------------------------------------
1270 WDI_StartScanReqParamsType
1271---------------------------------------------------------------------------*/
1272typedef struct
1273{
1274 /*Indicates the channel to scan*/
1275 wpt_uint8 ucChannel;
1276
1277 /*Request status callback offered by UMAC - it is called if the current
1278 req has returned PENDING as status; it delivers the status of sending
1279 the message over the BUS */
1280 WDI_ReqStatusCb wdiReqStatusCB;
1281
1282 /*The user data passed in by UMAC, it will be sent back when the above
1283 function pointer will be called */
1284 void* pUserData;
1285}WDI_StartScanReqParamsType;
1286
1287/*---------------------------------------------------------------------------
1288 WDI_StartScanRspParamsType
1289---------------------------------------------------------------------------*/
1290typedef struct
1291{
1292 /*Indicates the status of the operation */
1293 WDI_Status wdiStatus;
1294
1295#if defined WLAN_FEATURE_VOWIFI
1296 wpt_uint32 aStartTSF[2];
1297 wpt_int8 ucTxMgmtPower;
1298#endif
1299}WDI_StartScanRspParamsType;
1300
1301/*---------------------------------------------------------------------------
1302 WDI_EndScanReqParamsType
1303---------------------------------------------------------------------------*/
1304typedef struct
1305{
1306 /*Indicates the channel to stop scanning. Not used really. But retained
1307 for symmetry with "start Scan" message. It can also help in error
1308 check if needed.*/
1309 wpt_uint8 ucChannel;
1310
1311 /*Request status callback offered by UMAC - it is called if the current
1312 req has returned PENDING as status; it delivers the status of sending
1313 the message over the BUS */
1314 WDI_ReqStatusCb wdiReqStatusCB;
1315
1316 /*The user data passed in by UMAC, it will be sent back when the above
1317 function pointer will be called */
1318 void* pUserData;
1319}WDI_EndScanReqParamsType;
1320
1321/*---------------------------------------------------------------------------
1322 WDI_PhyChanBondState
1323---------------------------------------------------------------------------*/
1324typedef enum
1325{
1326 WDI_PHY_SINGLE_CHANNEL_CENTERED = 0,
1327 WDI_PHY_DOUBLE_CHANNEL_LOW_PRIMARY = 1,
1328 WDI_PHY_DOUBLE_CHANNEL_CENTERED = 2,
Jeff Johnsone7245742012-09-05 17:12:55 -07001329 WDI_PHY_DOUBLE_CHANNEL_HIGH_PRIMARY = 3,
1330#ifdef WLAN_FEATURE_11AC
1331 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_CENTERED = 4, //20/40MHZ offset LOW 40/80MHZ offset CENTERED
1332 WDI_QUADRUPLE_CHANNEL_20MHZ_CENTERED_40MHZ_CENTERED = 5, //20/40MHZ offset CENTERED 40/80MHZ offset CENTERED
1333 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_CENTERED = 6, //20/40MHZ offset HIGH 40/80MHZ offset CENTERED
1334 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_LOW = 7,//20/40MHZ offset LOW 40/80MHZ offset LOW
1335 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_LOW = 8, //20/40MHZ offset HIGH 40/80MHZ offset LOW
1336 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_HIGH = 9, //20/40MHZ offset LOW 40/80MHZ offset HIGH
1337 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_HIGH = 10,//20/40MHZ offset-HIGH 40/80MHZ offset HIGH
1338#endif
1339 WDI_MAX_CB_STATE
Jeff Johnson295189b2012-06-20 16:38:30 -07001340} WDI_PhyChanBondState;
1341
1342/*---------------------------------------------------------------------------
1343 WDI_FinishScanReqInfoType
1344---------------------------------------------------------------------------*/
1345typedef struct
1346{
1347 /*LEARN - AP Role
1348 SCAN - STA Role*/
1349 WDI_ScanMode wdiScanMode;
1350
1351 /*Operating channel to tune to.*/
1352 wpt_uint8 ucCurrentOperatingChannel;
1353
1354 /*Channel Bonding state If 20/40 MHz is operational, this will indicate the
1355 40 MHz extension channel in combination with the control channel*/
1356 WDI_PhyChanBondState wdiCBState;
1357
1358 /*BSSID of the BSS*/
1359 wpt_macAddr macBSSID;
1360
1361 /*Whether BSS needs to be notified*/
1362 wpt_boolean bNotifyBSS;
1363
1364 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
1365 CTS to Self). Must always be a valid frame type.*/
1366 wpt_uint8 ucFrameType;
1367
1368 /*UMAC has the option of passing the MAC frame to be used for notifying
1369 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
1370 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
1371 frameType.*/
1372 wpt_uint8 ucFrameLength;
1373
1374 /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/
1375 WDI_MacMgmtHdr wdiMACMgmtHdr;
1376
1377 /*Entry to hold number of active BSS to send NULL frames after SCAN*/
1378 WDI_ScanEntry wdiScanEntry;
1379
1380}WDI_FinishScanReqInfoType;
1381
1382/*---------------------------------------------------------------------------
1383 WDI_SwitchChReqInfoType
1384---------------------------------------------------------------------------*/
1385typedef struct
1386{
1387 /*Indicates the channel to switch to.*/
1388 wpt_uint8 ucChannel;
1389
1390 /*Local power constraint*/
1391 wpt_uint8 ucLocalPowerConstraint;
1392
1393 /*Secondary channel offset */
1394 WDI_HTSecondaryChannelOffset wdiSecondaryChannelOffset;
1395
1396#ifdef WLAN_FEATURE_VOWIFI
1397 wpt_int8 cMaxTxPower;
1398
1399 /*Self STA Mac address*/
1400 wpt_macAddr macSelfStaMacAddr;
1401#endif
1402 /* VO Wifi comment: BSSID is needed to identify which session issued this request. As the
1403 request has power constraints, this should be applied only to that session */
1404 /* V IMP: Keep bssId field at the end of this msg. It is used to mantain backward compatbility
1405 * by way of ignoring if using new host/old FW or old host/new FW since it is at the end of this struct
1406 */
1407 wpt_macAddr macBSSId;
1408
1409}WDI_SwitchChReqInfoType;
1410
1411/*---------------------------------------------------------------------------
1412 WDI_SwitchChReqParamsType
1413---------------------------------------------------------------------------*/
1414typedef struct
1415{
1416 /*Channel Info*/
1417 WDI_SwitchChReqInfoType wdiChInfo;
1418
1419 /*Request status callback offered by UMAC - it is called if the current
1420 req has returned PENDING as status; it delivers the status of sending
1421 the message over the BUS */
1422 WDI_ReqStatusCb wdiReqStatusCB;
1423
1424 /*The user data passed in by UMAC, it will be sent back when the above
1425 function pointer will be called */
1426 void* pUserData;
1427}WDI_SwitchChReqParamsType;
1428
1429/*---------------------------------------------------------------------------
1430 WDI_FinishScanReqParamsType
1431---------------------------------------------------------------------------*/
1432typedef struct
1433{
1434 /*Info for the Finish Scan request that will be sent down to the device*/
1435 WDI_FinishScanReqInfoType wdiReqInfo;
1436
1437 /*Request status callback offered by UMAC - it is called if the current
1438 req has returned PENDING as status; it delivers the status of sending
1439 the message over the BUS */
1440 WDI_ReqStatusCb wdiReqStatusCB;
1441
1442 /*The user data passed in by UMAC, it will be sent back when the above
1443 function pointer will be called */
1444 void* pUserData;
1445}WDI_FinishScanReqParamsType;
1446
1447/*---------------------------------------------------------------------------
1448 WDI_JoinReqInfoType
1449---------------------------------------------------------------------------*/
1450typedef struct
1451{
1452 /*Indicates the BSSID to which STA is going to associate*/
1453 wpt_macAddr macBSSID;
1454
1455 /*Indicates the MAC Address of the current Self STA*/
1456 wpt_macAddr macSTASelf;
1457
1458 /*Indicates the link State determining the entity Type e.g. BTAMP-STA, STA etc.*/
1459 wpt_uint32 linkState;
1460
1461 /*Indicates the channel to switch to.*/
1462 WDI_SwitchChReqInfoType wdiChannelInfo;
1463
1464}WDI_JoinReqInfoType;
1465
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08001466typedef enum
1467{
1468 eWDI_CHANNEL_SWITCH_SOURCE_SCAN,
1469 eWDI_CHANNEL_SWITCH_SOURCE_LISTEN,
1470 eWDI_CHANNEL_SWITCH_SOURCE_MCC,
1471 eWDI_CHANNEL_SWITCH_SOURCE_CSA,
1472 eWDI_CHANNEL_SWITCH_SOURCE_MAX = 0x7FFFFFFF
1473} WDI_ChanSwitchSource;
1474
1475/*---------------------------------------------------------------------------
1476 WDI_SwitchChReqInfoType_V1
1477---------------------------------------------------------------------------*/
1478typedef struct
1479{
1480 /*Indicates the channel to switch to.*/
1481 wpt_uint8 ucChannel;
1482
1483 /*Local power constraint*/
1484 wpt_uint8 ucLocalPowerConstraint;
1485
1486 /*Secondary channel offset */
1487 WDI_HTSecondaryChannelOffset wdiSecondaryChannelOffset;
1488
1489#ifdef WLAN_FEATURE_VOWIFI
1490 wpt_int8 cMaxTxPower;
1491 /*Self STA Mac address*/
1492 wpt_macAddr macSelfStaMacAddr;
1493#endif
1494 /* VO Wifi comment: BSSID is needed to identify which session
1495 issued this request. As the request has power constraints, this
1496 should be applied only to that session
1497 */
1498 /* V IMP: Keep bssId field at the end of this msg. It is used to
1499 maintain backward compatibility by way of ignoring if using new
1500 host/old FW or old host/new FW since it is at the end of this struct
1501 */
1502 wpt_macAddr macBSSId;
1503 /* Source of Channel Switch */
1504 WDI_ChanSwitchSource channelSwitchSrc;
1505}WDI_SwitchChReqInfoType_V1;
1506
1507/*--------------------------------------------------------------------
1508 WDI_SwitchChReqParamsType_V1
1509----------------------------------------------------------------------*/
1510typedef struct
1511{
1512 /*Channel Info*/
1513 WDI_SwitchChReqInfoType_V1 wdiChInfo;
1514
1515 /*Request status callback offered by UMAC - it is called if the current
1516 req has returned PENDING as status; it delivers the status of sending
1517 the message over the BUS */
1518 WDI_ReqStatusCb wdiReqStatusCB;
1519
1520 /*The user data passed in by UMAC, it will be sent back when the above
1521 function pointer will be called */
1522 void* pUserData;
1523}WDI_SwitchChReqParamsType_V1;
1524
Jeff Johnson295189b2012-06-20 16:38:30 -07001525/*---------------------------------------------------------------------------
1526 WDI_JoinReqParamsType
1527---------------------------------------------------------------------------*/
1528typedef struct
1529{
1530 /*Info for the Join request that will be sent down to the device*/
1531 WDI_JoinReqInfoType wdiReqInfo;
1532
1533 /*Request status callback offered by UMAC - it is called if the current
1534 req has returned PENDING as status; it delivers the status of sending
1535 the message over the BUS */
1536 WDI_ReqStatusCb wdiReqStatusCB;
1537
1538 /*The user data passed in by UMAC, it will be sent back when the above
1539 function pointer will be called */
1540 void* pUserData;
1541}WDI_JoinReqParamsType;
1542
1543/*---------------------------------------------------------------------------
1544 WDI_BssType
1545---------------------------------------------------------------------------*/
1546typedef enum
1547{
1548 WDI_INFRASTRUCTURE_MODE,
1549 WDI_INFRA_AP_MODE, //Added for softAP support
1550 WDI_IBSS_MODE,
1551 WDI_BTAMP_STA_MODE,
1552 WDI_BTAMP_AP_MODE,
1553 WDI_BSS_AUTO_MODE,
1554}WDI_BssType;
1555
1556/*---------------------------------------------------------------------------
1557 WDI_NwType
1558---------------------------------------------------------------------------*/
1559typedef enum
1560{
1561 WDI_11A_NW_TYPE,
1562 WDI_11B_NW_TYPE,
1563 WDI_11G_NW_TYPE,
1564 WDI_11N_NW_TYPE,
1565} WDI_NwType;
1566
1567/*---------------------------------------------------------------------------
1568 WDI_ConfigAction
1569---------------------------------------------------------------------------*/
1570typedef enum
1571{
1572 WDI_ADD_BSS,
1573 WDI_UPDATE_BSS
1574} WDI_ConfigAction;
1575
1576/*---------------------------------------------------------------------------
1577 WDI_HTOperatingMode
1578---------------------------------------------------------------------------*/
1579typedef enum
1580{
1581 WDI_HT_OP_MODE_PURE,
1582 WDI_HT_OP_MODE_OVERLAP_LEGACY,
1583 WDI_HT_OP_MODE_NO_LEGACY_20MHZ_HT,
1584 WDI_HT_OP_MODE_MIXED
1585
1586} WDI_HTOperatingMode;
1587
1588
1589/*---------------------------------------------------------------------------
1590 WDI_STAEntryType
1591---------------------------------------------------------------------------*/
1592typedef enum
1593{
1594 WDI_STA_ENTRY_SELF,
1595 WDI_STA_ENTRY_PEER,
1596 WDI_STA_ENTRY_BSSID,
Mohit Khanna698ba2a2012-12-04 15:08:18 -08001597 WDI_STA_ENTRY_BCAST,
1598#ifdef FEATURE_WLAN_TDLS
1599 WDI_STA_ENTRY_TDLS_PEER,
1600#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001601}WDI_STAEntryType;
1602
1603/*---------------------------------------------------------------------------
1604 WDI_ConfigActionType
1605---------------------------------------------------------------------------*/
1606typedef enum
1607{
1608 WDI_ADD_STA,
1609 WDI_UPDATE_STA
1610} WDI_ConfigActionType;
1611
1612/*----------------------------------------------------------------------------
1613 Each station added has a rate mode which specifies the sta attributes
1614 ----------------------------------------------------------------------------*/
1615typedef enum
1616{
1617 WDI_RESERVED_1 = 0,
1618 WDI_RESERVED_2,
1619 WDI_RESERVED_3,
1620 WDI_11b,
1621 WDI_11bg,
1622 WDI_11a,
1623 WDI_11n,
1624} WDI_RateModeType;
1625
1626/*---------------------------------------------------------------------------
1627 WDI_SupportedRatesType
1628---------------------------------------------------------------------------*/
1629typedef struct
1630{
1631 /*
1632 * For Self STA Entry: this represents Self Mode.
1633 * For Peer Stations, this represents the mode of the peer.
1634 * On Station:
1635 * --this mode is updated when PE adds the Self Entry.
1636 * -- OR when PE sends 'ADD_BSS' message and station context in BSS is used to indicate the mode of the AP.
1637 * ON AP:
1638 * -- this mode is updated when PE sends 'ADD_BSS' and Sta entry for that BSS is used
1639 * to indicate the self mode of the AP.
1640 * -- OR when a station is associated, PE sends 'ADD_STA' message with this mode updated.
1641 */
1642
1643 WDI_RateModeType opRateMode;
1644
1645 /* 11b, 11a and aniLegacyRates are IE rates which gives rate in unit of 500Kbps */
1646 wpt_uint16 llbRates[WDI_NUM_11B_RATES];
1647 wpt_uint16 llaRates[WDI_NUM_11A_RATES];
1648 wpt_uint16 aLegacyRates[WDI_NUM_POLARIS_RATES];
1649
1650 /*Taurus only supports 26 Titan Rates(no ESF/concat Rates will be supported)
1651 First 26 bits are reserved for those Titan rates and
1652 the last 4 bits(bit28-31) for Taurus, 2(bit26-27) bits are reserved.*/
1653 wpt_uint32 uEnhancedRateBitmap; //Titan and Taurus Rates
1654
1655 /*
1656 * 0-76 bits used, remaining reserved
1657 * bits 0-15 and 32 should be set.
1658 */
1659 wpt_uint8 aSupportedMCSSet[WDI_MAC_MAX_SUPPORTED_MCS_SET];
1660
1661 /*
1662 * RX Highest Supported Data Rate defines the highest data
1663 * rate that the STA is able to receive, in unites of 1Mbps.
1664 * This value is derived from "Supported MCS Set field" inside
1665 * the HT capability element.
1666 */
1667 wpt_uint16 aRxHighestDataRate;
1668
Jeff Johnsone7245742012-09-05 17:12:55 -07001669
1670#ifdef WLAN_FEATURE_11AC
1671 /*Indicates the Maximum MCS that can be received for each number
1672 of spacial streams */
1673 wpt_uint16 vhtRxMCSMap;
1674 /*Indicate the highest VHT data rate that the STA is able to receive*/
1675 wpt_uint16 vhtRxHighestDataRate;
1676 /*Indicates the Maximum MCS that can be transmitted for each number
1677 of spacial streams */
1678 wpt_uint16 vhtTxMCSMap;
1679 /*Indicate the highest VHT data rate that the STA is able to transmit*/
1680 wpt_uint16 vhtTxHighestDataRate;
1681#endif
1682
Jeff Johnson295189b2012-06-20 16:38:30 -07001683} WDI_SupportedRates;
1684
1685/*--------------------------------------------------------------------------
1686 WDI_HTMIMOPowerSaveState
1687 Spatial Multiplexing(SM) Power Save mode
1688 --------------------------------------------------------------------------*/
1689typedef enum
1690{
1691 WDI_HT_MIMO_PS_STATIC = 0, // Static SM Power Save mode
1692 WDI_HT_MIMO_PS_DYNAMIC = 1, // Dynamic SM Power Save mode
1693 WDI_HT_MIMO_PS_NA = 2, // reserved
1694 WDI_HT_MIMO_PS_NO_LIMIT = 3, // SM Power Save disabled
1695} WDI_HTMIMOPowerSaveState;
1696
1697/*---------------------------------------------------------------------------
1698 WDI_ConfigStaReqInfoType
1699---------------------------------------------------------------------------*/
1700typedef struct
1701{
1702 /*BSSID of STA*/
1703 wpt_macAddr macBSSID;
1704
1705 /*ASSOC ID, as assigned by UMAC*/
1706 wpt_uint16 usAssocId;
1707
1708 /*Used for configuration of different HW modules.*/
1709 WDI_STAEntryType wdiSTAType;
1710
Gopichand Nakkalae7cbc5d2013-03-27 21:09:23 -07001711 /*STA Index */
1712 wpt_uint8 staIdx;
1713
Jeff Johnson295189b2012-06-20 16:38:30 -07001714 /*Short Preamble Supported.*/
1715 wpt_uint8 ucShortPreambleSupported;
1716
1717 /*MAC Address of STA*/
1718 wpt_macAddr macSTA;
1719
1720 /*Listen interval of the STA*/
1721 wpt_uint16 usListenInterval;
1722
1723 /*Support for 11e/WMM*/
1724 wpt_uint8 ucWMMEnabled;
1725
1726 /*11n HT capable STA*/
1727 wpt_uint8 ucHTCapable;
1728
1729 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
1730 wpt_uint8 ucTXChannelWidthSet;
1731
1732 /*RIFS mode 0 - NA, 1 - Allowed*/
1733 wpt_uint8 ucRIFSMode;
1734
1735 /*L-SIG TXOP Protection mechanism
1736 0 - No Support, 1 - Supported
1737 SG - there is global field*/
1738 wpt_uint8 ucLSIGTxopProtection;
1739
1740 /*Max Ampdu Size supported by STA. Device programming.
1741 0 : 8k , 1 : 16k, 2 : 32k, 3 : 64k */
1742 wpt_uint8 ucMaxAmpduSize;
1743
1744 /*Max Ampdu density. Used by RA. 3 : 0~7 : 2^(11nAMPDUdensity -4)*/
1745 wpt_uint8 ucMaxAmpduDensity;
1746
1747 /*Max AMSDU size 1 : 3839 bytes, 0 : 7935 bytes*/
1748 wpt_uint8 ucMaxAmsduSize;
1749
1750 /*Short GI support for 40Mhz packets*/
1751 wpt_uint8 ucShortGI40Mhz;
1752
1753 /*Short GI support for 20Mhz packets*/
1754 wpt_uint8 ucShortGI20Mhz;
1755
1756 /*These rates are the intersection of peer and self capabilities.*/
1757 WDI_SupportedRates wdiSupportedRates;
1758
1759 /*Robust Management Frame (RMF) enabled/disabled*/
1760 wpt_uint8 ucRMFEnabled;
1761
1762 /* The unicast encryption type in the association */
1763 wpt_uint32 ucEncryptType;
1764
1765 /*HAL should update the existing STA entry, if this flag is set. UMAC
1766 will set this flag in case of RE-ASSOC, where we want to reuse the old
1767 STA ID.*/
1768 WDI_ConfigActionType wdiAction;
1769
1770 /*U-APSD Flags: 1b per AC. Encoded as follows:
1771 b7 b6 b5 b4 b3 b2 b1 b0 =
1772 X X X X BE BK VI VO
1773 */
1774 wpt_uint8 ucAPSD;
1775
1776 /*Max SP Length*/
1777 wpt_uint8 ucMaxSPLen;
1778
1779 /*11n Green Field preamble support*/
1780 wpt_uint8 ucGreenFieldCapable;
1781
1782 /*MIMO Power Save mode*/
1783 WDI_HTMIMOPowerSaveState wdiMIMOPS;
1784
1785 /*Delayed BA Support*/
1786 wpt_uint8 ucDelayedBASupport;
1787
1788 /*Max AMPDU duration in 32us*/
1789 wpt_uint8 us32MaxAmpduDuratio;
1790
1791 /*HT STA should set it to 1 if it is enabled in BSS
1792 HT STA should set it to 0 if AP does not support it. This indication is
1793 sent to HAL and HAL uses this flag to pickup up appropriate 40Mhz rates.
1794 */
1795 wpt_uint8 ucDsssCckMode40Mhz;
1796
1797 wpt_uint8 ucP2pCapableSta;
Jeff Johnsone7245742012-09-05 17:12:55 -07001798#ifdef WLAN_FEATURE_11AC
1799 wpt_uint8 ucVhtCapableSta;
1800 wpt_uint8 ucVhtTxChannelWidthSet;
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08001801 wpt_uint8 ucVhtTxBFEnabled;
Abhishek Singh6927fa02014-06-27 17:19:55 +05301802 wpt_uint8 vhtTxMUBformeeCapable;
Jeff Johnsone7245742012-09-05 17:12:55 -07001803#endif
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08001804
1805 wpt_uint8 ucHtLdpcEnabled;
1806 wpt_uint8 ucVhtLdpcEnabled;
Jeff Johnson295189b2012-06-20 16:38:30 -07001807}WDI_ConfigStaReqInfoType;
1808
1809
1810/*---------------------------------------------------------------------------
1811 WDI_RateSet
1812
1813 12 Bytes long because this structure can be used to represent rate
1814 and extended rate set IEs
1815 The parser assume this to be at least 12
1816---------------------------------------------------------------------------*/
1817#define WDI_RATESET_EID_MAX 12
1818
1819typedef struct
1820{
1821 wpt_uint8 ucNumRates;
1822 wpt_uint8 aRates[WDI_RATESET_EID_MAX];
1823} WDI_RateSet;
1824
1825/*---------------------------------------------------------------------------
1826 WDI_AciAifsnType
1827 access category record
1828---------------------------------------------------------------------------*/
1829typedef struct
1830{
1831 wpt_uint8 rsvd : 1;
1832 wpt_uint8 aci : 2;
1833 wpt_uint8 acm : 1;
1834 wpt_uint8 aifsn : 4;
1835} WDI_AciAifsnType;
1836
1837/*---------------------------------------------------------------------------
1838 WDI_CWType
1839 contention window size
1840---------------------------------------------------------------------------*/
1841typedef struct
1842{
1843 wpt_uint8 max : 4;
1844 wpt_uint8 min : 4;
1845} WDI_CWType;
1846
1847/*---------------------------------------------------------------------------
1848 WDI_EdcaParamRecord
1849---------------------------------------------------------------------------*/
1850typedef struct
1851{
1852 /*Access Category Record*/
1853 WDI_AciAifsnType wdiACI;
1854
1855 /*Contention WIndow Size*/
1856 WDI_CWType wdiCW;
1857
1858 /*TX Oportunity Limit*/
1859 wpt_uint16 usTXOPLimit;
1860} WDI_EdcaParamRecord;
1861
1862/*---------------------------------------------------------------------------
1863 WDI_EDCAParamsType
1864---------------------------------------------------------------------------*/
1865typedef struct
1866{
1867 /*BSS Index*/
1868 wpt_uint8 ucBSSIdx;
1869
1870 /*?*/
1871 wpt_boolean bHighPerformance;
1872
1873 /*Best Effort*/
1874 WDI_EdcaParamRecord wdiACBE;
1875
1876 /*Background*/
1877 WDI_EdcaParamRecord wdiACBK;
1878
1879 /*Video*/
1880 WDI_EdcaParamRecord wdiACVI;
1881
1882 /*Voice*/
1883 WDI_EdcaParamRecord acvo; // voice
1884} WDI_EDCAParamsType;
1885
1886/* operMode in ADD BSS message */
1887#define WDI_BSS_OPERATIONAL_MODE_AP 0
1888#define WDI_BSS_OPERATIONAL_MODE_STA 1
1889
1890/*---------------------------------------------------------------------------
1891 WDI_ConfigBSSRspParamsType
1892---------------------------------------------------------------------------*/
1893typedef struct
1894{
1895 /*Status of the response*/
1896 WDI_Status wdiStatus;
1897
1898 /*BSSID of the BSS*/
1899 wpt_macAddr macBSSID;
1900
1901 /*BSS Index*/
1902 wpt_uint8 ucBSSIdx;
1903
1904 /*Unicast DPU signature*/
1905 wpt_uint8 ucUcastSig;
1906
1907 /*Broadcast DPU Signature*/
1908 wpt_uint8 ucBcastSig;
1909
1910 /*MAC Address of STA*/
1911 wpt_macAddr macSTA;
1912
1913 /*BSS STA ID*/
1914 wpt_uint8 ucSTAIdx;
1915
1916#ifdef WLAN_FEATURE_VOWIFI
1917 /*HAL fills in the tx power used for mgmt frames in this field */
1918 wpt_int8 ucTxMgmtPower;
1919#endif
1920
1921}WDI_ConfigBSSRspParamsType;
1922
1923/*---------------------------------------------------------------------------
1924 WDI_DelBSSReqParamsType
1925---------------------------------------------------------------------------*/
1926typedef struct
1927{
1928 /*BSS Index of the BSS*/
1929 wpt_uint8 ucBssIdx;
1930
1931 /*Request status callback offered by UMAC - it is called if the current
1932 req has returned PENDING as status; it delivers the status of sending
1933 the message over the BUS */
1934 WDI_ReqStatusCb wdiReqStatusCB;
1935
1936 /*The user data passed in by UMAC, it will be sent back when the above
1937 function pointer will be called */
1938 void* pUserData;
1939}WDI_DelBSSReqParamsType;
1940
1941/*---------------------------------------------------------------------------
1942 WDI_DelBSSRspParamsType
1943---------------------------------------------------------------------------*/
1944typedef struct
1945{
1946 /*Status of the response*/
1947 WDI_Status wdiStatus;
1948
1949 /*BSSID of the BSS*/
1950 wpt_macAddr macBSSID;
1951
1952 wpt_uint8 ucBssIdx;
1953
1954}WDI_DelBSSRspParamsType;
1955
1956/*---------------------------------------------------------------------------
1957 WDI_ConfigSTARspParamsType
1958---------------------------------------------------------------------------*/
1959typedef struct
1960{
1961 /*Status of the response*/
1962 WDI_Status wdiStatus;
1963
1964 /*STA Idx allocated by HAL*/
1965 wpt_uint8 ucSTAIdx;
1966
1967 /*MAC Address of STA*/
1968 wpt_macAddr macSTA;
1969
1970 /* BSSID Index of BSS to which the station is associated */
1971 wpt_uint8 ucBssIdx;
1972
1973 /* DPU Index - PTK */
1974 wpt_uint8 ucDpuIndex;
1975
1976 /* Bcast DPU Index - GTK */
1977 wpt_uint8 ucBcastDpuIndex;
1978
1979 /* Management DPU Index - IGTK - Why is it called bcastMgmtDpuIdx? */
1980 wpt_uint8 ucBcastMgmtDpuIdx;
1981
1982 /*Unicast DPU signature*/
1983 wpt_uint8 ucUcastSig;
1984
1985 /*Broadcast DPU Signature*/
1986 wpt_uint8 ucBcastSig;
1987
1988 /* IGTK DPU signature*/
1989 wpt_uint8 ucMgmtSig;
1990
1991}WDI_ConfigSTARspParamsType;
1992
1993/*---------------------------------------------------------------------------
1994 WDI_PostAssocRspParamsType
1995---------------------------------------------------------------------------*/
1996typedef struct
1997{
1998 /*Status of the response*/
1999 WDI_Status wdiStatus;
2000
2001 /*Parameters related to the BSS*/
2002 WDI_ConfigBSSRspParamsType bssParams;
2003
2004 /*Parameters related to the self STA*/
2005 WDI_ConfigSTARspParamsType staParams;
2006
2007}WDI_PostAssocRspParamsType;
2008
2009/*---------------------------------------------------------------------------
2010 WDI_DelSTAReqParamsType
2011---------------------------------------------------------------------------*/
2012typedef struct
2013{
2014 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
2015 wpt_uint8 ucSTAIdx;
2016
2017 /*Request status callback offered by UMAC - it is called if the current
2018 req has returned PENDING as status; it delivers the status of sending
2019 the message over the BUS */
2020 WDI_ReqStatusCb wdiReqStatusCB;
2021
2022 /*The user data passed in by UMAC, it will be sent back when the above
2023 function pointer will be called */
2024 void* pUserData;
2025}WDI_DelSTAReqParamsType;
2026
2027/*---------------------------------------------------------------------------
2028 WDI_DelSTARspParamsType
2029---------------------------------------------------------------------------*/
2030typedef struct
2031{
2032 /*Status of the response*/
2033 WDI_Status wdiStatus;
2034
2035 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
2036 wpt_uint8 ucSTAIdx;
2037}WDI_DelSTARspParamsType;
2038
2039/*---------------------------------------------------------------------------
2040 WDI_EncryptType
2041---------------------------------------------------------------------------*/
2042typedef enum
2043{
2044 WDI_ENCR_NONE,
2045 WDI_ENCR_WEP40,
2046 WDI_ENCR_WEP104,
2047 WDI_ENCR_TKIP,
2048 WDI_ENCR_CCMP,
2049#if defined(FEATURE_WLAN_WAPI)
2050 WDI_ENCR_WPI,
2051#endif
2052 WDI_ENCR_AES_128_CMAC
2053} WDI_EncryptType;
2054
2055/*---------------------------------------------------------------------------
2056 WDI_KeyDirectionType
2057---------------------------------------------------------------------------*/
2058typedef enum
2059{
2060 WDI_TX_ONLY,
2061 WDI_RX_ONLY,
2062 WDI_TX_RX,
Jeff Johnson295189b2012-06-20 16:38:30 -07002063 WDI_TX_DEFAULT,
Jeff Johnson295189b2012-06-20 16:38:30 -07002064 WDI_DONOT_USE_KEY_DIRECTION
2065} WDI_KeyDirectionType;
2066
2067#define WDI_MAX_ENCR_KEYS 4
2068#define WDI_MAX_KEY_LENGTH 32
2069#if defined(FEATURE_WLAN_WAPI)
2070#define WDI_MAX_KEY_RSC_LEN 16
2071#define WDI_WAPI_KEY_RSC_LEN 16
2072#else
2073#define WDI_MAX_KEY_RSC_LEN 8
2074#endif
2075
2076typedef struct
2077{
2078 /* Key ID */
2079 wpt_uint8 keyId;
2080 /* 0 for multicast */
2081 wpt_uint8 unicast;
2082 /* Key Direction */
2083 WDI_KeyDirectionType keyDirection;
2084 /* Usage is unknown */
2085 wpt_uint8 keyRsc[WDI_MAX_KEY_RSC_LEN];
2086 /* =1 for authenticator, =0 for supplicant */
2087 wpt_uint8 paeRole;
2088 wpt_uint16 keyLength;
2089 wpt_uint8 key[WDI_MAX_KEY_LENGTH];
2090
2091}WDI_KeysType;
2092
2093/*---------------------------------------------------------------------------
2094 WDI_SetBSSKeyReqInfoType
2095---------------------------------------------------------------------------*/
2096typedef struct
2097{
2098 /*BSS Index of the BSS*/
2099 wpt_uint8 ucBssIdx;
2100
2101 /*Encryption Type used with peer*/
2102 WDI_EncryptType wdiEncType;
2103
2104 /*Number of keys*/
2105 wpt_uint8 ucNumKeys;
2106
2107 /*Array of keys.*/
2108 WDI_KeysType aKeys[WDI_MAX_ENCR_KEYS];
2109
2110 /*Control for Replay Count, 1= Single TID based replay count on Tx
2111 0 = Per TID based replay count on TX */
2112 wpt_uint8 ucSingleTidRc;
2113}WDI_SetBSSKeyReqInfoType;
2114
2115/*---------------------------------------------------------------------------
2116 WDI_SetBSSKeyReqParamsType
2117---------------------------------------------------------------------------*/
2118typedef struct
2119{
2120 /*Key Info */
2121 WDI_SetBSSKeyReqInfoType wdiBSSKeyInfo;
2122
2123 /*Request status callback offered by UMAC - it is called if the current
2124 req has returned PENDING as status; it delivers the status of sending
2125 the message over the BUS */
2126 WDI_ReqStatusCb wdiReqStatusCB;
2127
2128 /*The user data passed in by UMAC, it will be sent back when the above
2129 function pointer will be called */
2130 void* pUserData;
2131}WDI_SetBSSKeyReqParamsType;
2132
2133/*---------------------------------------------------------------------------
2134 WDI_WepType
2135---------------------------------------------------------------------------*/
2136typedef enum
2137{
2138 WDI_WEP_STATIC,
2139 WDI_WEP_DYNAMIC
2140
2141} WDI_WepType;
2142
2143/*---------------------------------------------------------------------------
2144 WDI_RemoveBSSKeyReqInfoType
2145---------------------------------------------------------------------------*/
2146typedef struct
2147{
2148 /*BSS Index of the BSS*/
2149 wpt_uint8 ucBssIdx;
2150
2151 /*Encryption Type used with peer*/
2152 WDI_EncryptType wdiEncType;
2153
2154 /*Key Id*/
2155 wpt_uint8 ucKeyId;
2156
2157 /*STATIC/DYNAMIC. Used in Nullifying in Key Descriptors for Static/Dynamic
2158 keys*/
2159 WDI_WepType wdiWEPType;
2160}WDI_RemoveBSSKeyReqInfoType;
2161
2162/*---------------------------------------------------------------------------
2163 WDI_RemoveBSSKeyReqParamsType
2164---------------------------------------------------------------------------*/
2165typedef struct
2166{
2167 /*Key Info */
2168 WDI_RemoveBSSKeyReqInfoType wdiKeyInfo;
2169
2170 /*Request status callback offered by UMAC - it is called if the current
2171 req has returned PENDING as status; it delivers the status of sending
2172 the message over the BUS */
2173 WDI_ReqStatusCb wdiReqStatusCB;
2174
2175 /*The user data passed in by UMAC, it will be sent back when the above
2176 function pointer will be called */
2177 void* pUserData;
2178}WDI_RemoveBSSKeyReqParamsType;
2179
2180/*---------------------------------------------------------------------------
2181 WDI_SetSTAKeyReqInfoType
2182---------------------------------------------------------------------------*/
2183typedef struct
2184{
2185 /*STA Index*/
2186 wpt_uint8 ucSTAIdx;
2187
2188 /*Encryption Type used with peer*/
2189 WDI_EncryptType wdiEncType;
2190
2191 /*STATIC/DYNAMIC*/
2192 WDI_WepType wdiWEPType;
2193
2194 /*Default WEP key, valid only for static WEP, must between 0 and 3.*/
2195 wpt_uint8 ucDefWEPIdx;
2196
2197 /*Number of keys*/
2198 wpt_uint8 ucNumKeys;
2199
2200 /*Array of keys.*/
2201 WDI_KeysType wdiKey[WDI_MAX_ENCR_KEYS];
2202
2203 /*Control for Replay Count, 1= Single TID based replay count on Tx
2204 0 = Per TID based replay count on TX */
2205 wpt_uint8 ucSingleTidRc;
2206}WDI_SetSTAKeyReqInfoType;
2207
2208/*---------------------------------------------------------------------------
2209 WDI_ConfigBSSReqInfoType
2210---------------------------------------------------------------------------*/
2211typedef struct
2212{
2213 /*Peer BSSID*/
2214 wpt_macAddr macBSSID;
2215
2216 /*Self MAC Address*/
2217 wpt_macAddr macSelfAddr;
2218
2219 /*BSS Type*/
2220 WDI_BssType wdiBSSType;
2221
2222 /*Operational Mode: AP =0, STA = 1*/
2223 wpt_uint8 ucOperMode;
2224
2225 /*Network Type*/
2226 WDI_NwType wdiNWType;
2227
2228 /*Used to classify PURE_11G/11G_MIXED to program MTU*/
2229 wpt_uint8 ucShortSlotTimeSupported;
2230
2231 /*Co-exist with 11a STA*/
2232 wpt_uint8 ucllaCoexist;
2233
2234 /*Co-exist with 11b STA*/
2235 wpt_uint8 ucllbCoexist;
2236
2237 /*Co-exist with 11g STA*/
2238 wpt_uint8 ucllgCoexist;
2239
2240 /*Coexistence with 11n STA*/
2241 wpt_uint8 ucHT20Coexist;
2242
2243 /*Non GF coexist flag*/
2244 wpt_uint8 ucllnNonGFCoexist;
2245
2246 /*TXOP protection support*/
2247 wpt_uint8 ucTXOPProtectionFullSupport;
2248
2249 /*RIFS mode*/
2250 wpt_uint8 ucRIFSMode;
2251
2252 /*Beacon Interval in TU*/
2253 wpt_uint16 usBeaconInterval;
2254
2255 /*DTIM period*/
2256 wpt_uint8 ucDTIMPeriod;
2257
2258 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
2259 wpt_uint8 ucTXChannelWidthSet;
2260
2261 /*Operating channel*/
2262 wpt_uint8 ucCurrentOperChannel;
2263
2264 /*Extension channel for channel bonding*/
2265 wpt_uint8 ucCurrentExtChannel;
2266
2267 /*Context of the station being added in HW.*/
2268 WDI_ConfigStaReqInfoType wdiSTAContext;
2269
2270 /*SSID of the BSS*/
2271 WDI_MacSSid wdiSSID;
2272
2273 /*HAL should update the existing BSS entry, if this flag is set. UMAC will
2274 set this flag in case of RE-ASSOC, where we want to reuse the old BSSID*/
2275 WDI_ConfigAction wdiAction;
2276
2277 /*Basic Rate Set*/
2278 WDI_RateSet wdiRateSet;
2279
2280 /*Enable/Disable HT capabilities of the BSS*/
2281 wpt_uint8 ucHTCapable;
2282
2283 /* Enable/Disable OBSS protection */
2284 wpt_uint8 ucObssProtEnabled;
2285
2286 /*RMF enabled/disabled*/
2287 wpt_uint8 ucRMFEnabled;
2288
2289 /*Determines the current HT Operating Mode operating mode of the
2290 802.11n STA*/
2291 WDI_HTOperatingMode wdiHTOperMod;
2292
2293 /*Dual CTS Protection: 0 - Unused, 1 - Used*/
2294 wpt_uint8 ucDualCTSProtection;
2295
2296 /* Probe Response Max retries */
2297 wpt_uint8 ucMaxProbeRespRetryLimit;
2298
2299 /* To Enable Hidden ssid */
2300 wpt_uint8 bHiddenSSIDEn;
2301
2302 /* To Enable Disable FW Proxy Probe Resp */
2303 wpt_uint8 bProxyProbeRespEn;
2304
2305 /* Boolean to indicate if EDCA params are valid. UMAC might not have valid
2306 EDCA params or might not desire to apply EDCA params during config BSS.
2307 0 implies Not Valid ; Non-Zero implies valid*/
2308 wpt_uint8 ucEDCAParamsValid;
2309
2310 /*EDCA Parameters for BK*/
2311 WDI_EdcaParamRecord wdiBKEDCAParams;
2312
2313 /*EDCA Parameters for BE*/
2314 WDI_EdcaParamRecord wdiBEEDCAParams;
2315
2316 /*EDCA Parameters for VI*/
2317 WDI_EdcaParamRecord wdiVIEDCAParams;
2318
2319 /*EDCA Parameters for VO*/
2320 WDI_EdcaParamRecord wdiVOEDCAParams;
2321
2322#ifdef WLAN_FEATURE_VOWIFI
2323 /*max power to be used after applying the power constraint, if any */
2324 wpt_int8 cMaxTxPower;
2325#endif
2326
2327 /* Persona for the BSS can be STA,AP,GO,CLIENT, same as Connection Mode */
2328 wpt_uint8 ucPersona;
2329
2330 /* Spectrum Mangement Indicator */
2331 wpt_uint8 bSpectrumMgtEn;
2332
2333#ifdef WLAN_FEATURE_VOWIFI_11R
2334 wpt_uint8 bExtSetStaKeyParamValid;
2335 WDI_SetSTAKeyReqInfoType wdiExtSetKeyParam;
2336#endif
2337
Jeff Johnsone7245742012-09-05 17:12:55 -07002338#ifdef WLAN_FEATURE_11AC
2339 wpt_uint8 ucVhtCapableSta;
2340 wpt_uint8 ucVhtTxChannelWidthSet;
2341#endif
2342
Jeff Johnson295189b2012-06-20 16:38:30 -07002343}WDI_ConfigBSSReqInfoType;
2344
2345/*---------------------------------------------------------------------------
2346 WDI_PostAssocReqParamsType
2347---------------------------------------------------------------------------*/
2348typedef struct
2349{
2350 /*Config STA arguments.*/
2351 WDI_ConfigStaReqInfoType wdiSTAParams;
2352
2353 /*Config BSS Arguments*/
2354 WDI_ConfigBSSReqInfoType wdiBSSParams;
2355
2356 /*Request status callback offered by UMAC - it is called if the current
2357 req has returned PENDING as status; it delivers the status of sending
2358 the message over the BUS */
2359 WDI_ReqStatusCb wdiReqStatusCB;
2360
2361 /*The user data passed in by UMAC, it will be sent back when the above
2362 function pointer will be called */
2363 void* pUserData;
2364}WDI_PostAssocReqParamsType;
2365
2366/*---------------------------------------------------------------------------
2367 WDI_ConfigBSSReqParamsType
2368---------------------------------------------------------------------------*/
2369typedef struct
2370{
2371 /*Info for the Join request that will be sent down to the device*/
2372 WDI_ConfigBSSReqInfoType wdiReqInfo;
2373
2374 /*Request status callback offered by UMAC - it is called if the current
2375 req has returned PENDING as status; it delivers the status of sending
2376 the message over the BUS */
2377 WDI_ReqStatusCb wdiReqStatusCB;
2378
2379 /*The user data passed in by UMAC, it will be sent back when the above
2380 function pointer will be called */
2381 void* pUserData;
2382}WDI_ConfigBSSReqParamsType;
2383
2384/*---------------------------------------------------------------------------
2385 WDI_SetSTAKeyReqParamsType
2386---------------------------------------------------------------------------*/
2387typedef struct
2388{
2389 /*Key Info*/
2390 WDI_SetSTAKeyReqInfoType wdiKeyInfo;
2391
2392 /*Request status callback offered by UMAC - it is called if the current
2393 req has returned PENDING as status; it delivers the status of sending
2394 the message over the BUS */
2395 WDI_ReqStatusCb wdiReqStatusCB;
2396
2397 /*The user data passed in by UMAC, it will be sent back when the above
2398 function pointer will be called */
2399 void* pUserData;
2400}WDI_SetSTAKeyReqParamsType;
2401
2402/*---------------------------------------------------------------------------
2403 WDI_RemoveSTAKeyReqInfoType
2404---------------------------------------------------------------------------*/
2405typedef struct
2406{
2407 /*STA Index*/
2408 wpt_uint8 ucSTAIdx;
2409
2410 /*Encryption Type used with peer*/
2411 WDI_EncryptType wdiEncType;
2412
2413 /*Key Id*/
2414 wpt_uint8 ucKeyId;
2415
2416 /*Whether to invalidate the Broadcast key or Unicast key. In case of WEP,
2417 the same key is used for both broadcast and unicast.*/
2418 wpt_uint8 ucUnicast;
2419}WDI_RemoveSTAKeyReqInfoType;
2420
2421/*---------------------------------------------------------------------------
2422 WDI_RemoveSTAKeyReqParamsType
2423---------------------------------------------------------------------------*/
2424typedef struct
2425{
2426 /*Key Info */
2427 WDI_RemoveSTAKeyReqInfoType wdiKeyInfo;
2428
2429 /*Request status callback offered by UMAC - it is called if the current
2430 req has returned PENDING as status; it delivers the status of sending
2431 the message over the BUS */
2432 WDI_ReqStatusCb wdiReqStatusCB;
2433
2434 /*The user data passed in by UMAC, it will be sent back when the above
2435 function pointer will be called */
2436 void* pUserData;
2437}WDI_RemoveSTAKeyReqParamsType;
2438
2439/*---------------------------------------------------------------------------
2440 QOS Parameters
2441---------------------------------------------------------------------------*/
2442
2443/*---------------------------------------------------------------------------
2444 WDI_TSInfoTfc
2445---------------------------------------------------------------------------*/
2446typedef struct
2447{
2448 wpt_uint16 ackPolicy:2;
2449 wpt_uint16 userPrio:3;
2450 wpt_uint16 psb:1;
2451 wpt_uint16 aggregation : 1;
2452 wpt_uint16 accessPolicy : 2;
2453 wpt_uint16 direction : 2;
2454 wpt_uint16 tsid : 4;
2455 wpt_uint16 trafficType : 1;
2456} WDI_TSInfoTfc;
2457
2458/*---------------------------------------------------------------------------
2459 WDI_TSInfoSch
2460---------------------------------------------------------------------------*/
2461typedef struct
2462{
2463 wpt_uint8 rsvd : 7;
2464 wpt_uint8 schedule : 1;
2465} WDI_TSInfoSch;
2466
2467/*---------------------------------------------------------------------------
2468 WDI_TSInfoType
2469---------------------------------------------------------------------------*/
2470typedef struct
2471{
2472 WDI_TSInfoTfc wdiTraffic;
2473 WDI_TSInfoSch wdiSchedule;
2474} WDI_TSInfoType;
2475
2476/*---------------------------------------------------------------------------
2477 WDI_TspecIEType
2478---------------------------------------------------------------------------*/
2479typedef struct
2480{
2481 wpt_uint8 ucType;
2482 wpt_uint8 ucLength;
2483 WDI_TSInfoType wdiTSinfo;
2484 wpt_uint16 usNomMsduSz;
2485 wpt_uint16 usMaxMsduSz;
2486 wpt_uint32 uMinSvcInterval;
2487 wpt_uint32 uMaxSvcInterval;
2488 wpt_uint32 uInactInterval;
2489 wpt_uint32 uSuspendInterval;
2490 wpt_uint32 uSvcStartTime;
2491 wpt_uint32 uMinDataRate;
2492 wpt_uint32 uMeanDataRate;
2493 wpt_uint32 uPeakDataRate;
2494 wpt_uint32 uMaxBurstSz;
2495 wpt_uint32 uDelayBound;
2496 wpt_uint32 uMinPhyRate;
2497 wpt_uint16 usSurplusBw;
2498 wpt_uint16 usMediumTime;
2499}WDI_TspecIEType;
2500
2501/*---------------------------------------------------------------------------
2502 WDI_AddTSReqInfoType
2503---------------------------------------------------------------------------*/
2504typedef struct
2505{
2506 /*STA Index*/
2507 wpt_uint8 ucSTAIdx;
2508
2509 /*Identifier for TSpec*/
2510 wpt_uint16 ucTspecIdx;
2511
2512 /*Tspec IE negotiated OTA*/
2513 WDI_TspecIEType wdiTspecIE;
2514
2515 /*UAPSD delivery and trigger enabled flags */
2516 wpt_uint8 ucUapsdFlags;
2517
2518 /*SI for each AC*/
2519 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
2520
2521 /*Suspend Interval for each AC*/
2522 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
2523
2524 /*DI for each AC*/
2525 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
2526
2527}WDI_AddTSReqInfoType;
2528
2529
2530/*---------------------------------------------------------------------------
2531 WDI_AddTSReqParamsType
2532---------------------------------------------------------------------------*/
2533typedef struct
2534{
2535 /*TSpec Info */
2536 WDI_AddTSReqInfoType wdiTsInfo;
2537
2538 /*Request status callback offered by UMAC - it is called if the current
2539 req has returned PENDING as status; it delivers the status of sending
2540 the message over the BUS */
2541 WDI_ReqStatusCb wdiReqStatusCB;
2542
2543 /*The user data passed in by UMAC, it will be sent back when the above
2544 function pointer will be called */
2545 void* pUserData;
2546}WDI_AddTSReqParamsType;
2547
2548/*---------------------------------------------------------------------------
2549 WDI_DelTSReqInfoType
2550---------------------------------------------------------------------------*/
2551typedef struct
2552{
2553 /*STA Index*/
2554 wpt_uint8 ucSTAIdx;
2555
2556 /*Identifier for TSpec*/
2557 wpt_uint16 ucTspecIdx;
2558
2559 /*BSSID of the BSS*/
2560 wpt_macAddr macBSSID;
2561}WDI_DelTSReqInfoType;
2562
2563/*---------------------------------------------------------------------------
2564 WDI_DelTSReqParamsType
2565---------------------------------------------------------------------------*/
2566typedef struct
2567{
2568 /*Del TSpec Info*/
2569 WDI_DelTSReqInfoType wdiDelTSInfo;
2570
2571 /*Request status callback offered by UMAC - it is called if the current
2572 req has returned PENDING as status; it delivers the status of sending
2573 the message over the BUS */
2574 WDI_ReqStatusCb wdiReqStatusCB;
2575
2576 /*The user data passed in by UMAC, it will be sent back when the above
2577 function pointer will be called */
2578 void* pUserData;
2579}WDI_DelTSReqParamsType;
2580
2581/*---------------------------------------------------------------------------
2582 WDI_UpdateEDCAInfoType
2583---------------------------------------------------------------------------*/
2584typedef struct
2585{
krunal soni0b366c02013-07-17 19:55:57 -07002586 /*BSS Index of the BSS*/
2587 wpt_uint16 ucBssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07002588
Jeff Johnson295189b2012-06-20 16:38:30 -07002589 /*EDCA params for BE*/
2590 WDI_EdcaParamRecord wdiEdcaBEInfo;
2591
2592 /*EDCA params for BK*/
2593 WDI_EdcaParamRecord wdiEdcaBKInfo;
2594
2595 /*EDCA params for VI*/
2596 WDI_EdcaParamRecord wdiEdcaVIInfo;
2597
2598 /*EDCA params for VO*/
2599 WDI_EdcaParamRecord wdiEdcaVOInfo;
2600
2601}WDI_UpdateEDCAInfoType;
2602
2603/*---------------------------------------------------------------------------
2604 WDI_UpdateEDCAParamsType
2605---------------------------------------------------------------------------*/
2606typedef struct
2607{
2608 /*EDCA Info */
2609 WDI_UpdateEDCAInfoType wdiEDCAInfo;
2610
2611 /*Request status callback offered by UMAC - it is called if the current
2612 req has returned PENDING as status; it delivers the status of sending
2613 the message over the BUS */
2614 WDI_ReqStatusCb wdiReqStatusCB;
2615
2616 /*The user data passed in by UMAC, it will be sent back when the above
2617 function pointer will be called */
2618 void* pUserData;
2619}WDI_UpdateEDCAParamsType;
2620
2621/*---------------------------------------------------------------------------
2622 WDI_AddBASessionReqinfoType
2623---------------------------------------------------------------------------*/
2624typedef struct
2625{
2626 /*Indicates the station for which BA is added..*/
2627 wpt_uint8 ucSTAIdx;
2628
2629 /*The peer mac address*/
2630 wpt_macAddr macPeerAddr;
2631
2632 /*TID for which BA was negotiated*/
2633 wpt_uint8 ucBaTID;
2634
2635 /*Delayed or imediate */
2636 wpt_uint8 ucBaPolicy;
2637
2638 /*The number of buffers for this TID (baTID)*/
2639 wpt_uint16 usBaBufferSize;
2640
2641 /*BA timeout in TU's*/
2642 wpt_uint16 usBaTimeout;
2643
2644 /*b0..b3 - Fragment Number - Always set to 0
2645 b4..b15 - Starting Sequence Number of first MSDU for which this BA is setup*/
2646 wpt_uint16 usBaSSN;
2647
2648 /*Originator/Recipient*/
2649 wpt_uint8 ucBaDirection;
2650
2651}WDI_AddBASessionReqinfoType;
2652
2653
2654/*---------------------------------------------------------------------------
2655 WDI_AddBASessionReqParamsType
2656---------------------------------------------------------------------------*/
2657typedef struct
2658{
2659 /*BA Session Info Type*/
2660 WDI_AddBASessionReqinfoType wdiBASessionInfoType;
2661
2662 /*Request status callback offered by UMAC - it is called if the current
2663 req has returned PENDING as status; it delivers the status of sending
2664 the message over the BUS */
2665 WDI_ReqStatusCb wdiReqStatusCB;
2666
2667 /*The user data passed in by UMAC, it will be sent back when the above
2668 function pointer will be called */
2669 void* pUserData;
2670}WDI_AddBASessionReqParamsType;
2671
2672/*---------------------------------------------------------------------------
2673 WDI_AddBASessionRspParamsType
2674---------------------------------------------------------------------------*/
2675typedef struct
2676{
2677 /*Status of the response*/
2678 WDI_Status wdiStatus;
2679
2680 /* Dialog token */
2681 wpt_uint8 ucBaDialogToken;
2682
2683 /* TID for which the BA session has been setup */
2684 wpt_uint8 ucBaTID;
2685
2686 /* BA Buffer Size allocated for the current BA session */
2687 wpt_uint8 ucBaBufferSize;
2688
2689 /* BA session ID */
2690 wpt_uint16 usBaSessionID;
2691
2692 /* Reordering Window buffer */
2693 wpt_uint8 ucWinSize;
2694
2695 /*Station Index to id the sta */
2696 wpt_uint8 ucSTAIdx;
2697
2698 /* Starting Sequence Number */
2699 wpt_uint16 usBaSSN;
2700
2701}WDI_AddBASessionRspParamsType;
2702
2703/*---------------------------------------------------------------------------
Siddharth Bhal171788a2014-09-29 21:02:40 +05302704 WDI_SpoofMacAddrRspParamType
2705---------------------------------------------------------------------------*/
2706typedef struct
2707{
2708 /* wdi status */
2709 wpt_uint32 wdiStatus;
2710
2711 /* Reserved Field */
2712 wpt_uint32 reserved;
2713
2714}WDI_SpoofMacAddrRspParamType;
2715/*---------------------------------------------------------------------------
Siddharth Bhal64246172015-02-27 01:04:37 +05302716 WDI_GetFrameLogRspParamType
2717---------------------------------------------------------------------------*/
2718typedef struct
2719{
2720 /* wdi status */
2721 wpt_uint32 wdiStatus;
2722}WDI_GetFrameLogRspParamType;
2723/*---------------------------------------------------------------------------
Siddharth Bhald1be97f2015-05-27 22:39:59 +05302724 WDI_FWLoggingInitRspParamType
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05302725---------------------------------------------------------------------------*/
2726typedef struct
2727{
Siddharth Bhald1be97f2015-05-27 22:39:59 +05302728 //FW mail box address
2729 wpt_uint64 logMailBoxAddr;
2730 wpt_uint32 status;
2731 //Logging mail box version
2732 wpt_uint8 logMailBoxVer;
2733 //Qshrink is enabled
2734 wpt_boolean logCompressEnabled;
c_manjeecfd1efb2015-09-25 19:32:34 +05302735 /* store the size of fw mem dump */
2736 wpt_uint32 fw_mem_dump_max_size;
Siddharth Bhald1be97f2015-05-27 22:39:59 +05302737 //Reserved for future purpose
Siddharth Bhald1be97f2015-05-27 22:39:59 +05302738 wpt_uint32 reserved1;
2739 wpt_uint32 reserved2;
2740}WDI_FWLoggingInitRspParamType;
Sachin Ahuja715aafc2015-07-21 23:35:10 +05302741
Gupta, Kapil7c34b322015-09-30 13:12:35 +05302742typedef struct
2743{
2744 /* wdi status */
2745 wpt_uint32 status;
2746}WDI_RssiMonitorStartRspParamType;
Sachin Ahuja715aafc2015-07-21 23:35:10 +05302747
Gupta, Kapil7c34b322015-09-30 13:12:35 +05302748typedef struct
2749{
2750 /* wdi status */
2751 wpt_uint32 status;
2752}WDI_RssiMonitorStopRspParamType;
Sachin Ahuja715aafc2015-07-21 23:35:10 +05302753/*---------------------------------------------------------------------------
2754 WDI_FatalEventLogsRspParamType
2755---------------------------------------------------------------------------*/
2756typedef struct
2757{
2758 /* wdi status */
2759 wpt_uint32 wdiStatus;
2760}WDI_FatalEventLogsRspParamType;
2761
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05302762/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07002763 WDI_AddBAReqinfoType
2764---------------------------------------------------------------------------*/
2765typedef struct
2766{
2767 /*Indicates the station for which BA is added..*/
2768 wpt_uint8 ucSTAIdx;
2769
2770 /* Session Id */
2771 wpt_uint8 ucBaSessionID;
2772
2773 /* Reorder Window Size */
2774 wpt_uint8 ucWinSize;
2775
2776#ifdef FEATURE_ON_CHIP_REORDERING
2777 wpt_boolean bIsReorderingDoneOnChip;
2778#endif
2779
2780}WDI_AddBAReqinfoType;
2781
2782
2783/*---------------------------------------------------------------------------
2784 WDI_AddBAReqParamsType
2785---------------------------------------------------------------------------*/
2786typedef struct
2787{
2788 /*BA Info Type*/
2789 WDI_AddBAReqinfoType wdiBAInfoType;
2790
2791 /*Request status callback offered by UMAC - it is called if the current
2792 req has returned PENDING as status; it delivers the status of sending
2793 the message over the BUS */
2794 WDI_ReqStatusCb wdiReqStatusCB;
2795
2796 /*The user data passed in by UMAC, it will be sent back when the above
2797 function pointer will be called */
2798 void* pUserData;
2799}WDI_AddBAReqParamsType;
2800
2801
2802/*---------------------------------------------------------------------------
2803 WDI_AddBARspinfoType
2804---------------------------------------------------------------------------*/
2805typedef struct
2806{
2807 /*Status of the response*/
2808 WDI_Status wdiStatus;
2809
2810 /* Dialog token */
2811 wpt_uint8 ucBaDialogToken;
2812
2813}WDI_AddBARspinfoType;
2814
2815/*---------------------------------------------------------------------------
2816 WDI_TriggerBAReqCandidateType
2817---------------------------------------------------------------------------*/
2818typedef struct
2819{
2820 /* STA index */
2821 wpt_uint8 ucSTAIdx;
2822
2823 /* TID bit map for the STA's*/
2824 wpt_uint8 ucTidBitmap;
2825
2826}WDI_TriggerBAReqCandidateType;
2827
2828
2829/*---------------------------------------------------------------------------
2830 WDI_TriggerBAReqinfoType
2831---------------------------------------------------------------------------*/
2832typedef struct
2833{
2834 /*Indicates the station for which BA is added..*/
2835 wpt_uint8 ucSTAIdx;
2836
2837 /* Session Id */
2838 wpt_uint8 ucBASessionID;
2839
2840 /* Trigger BA Request candidate count */
2841 wpt_uint16 usBACandidateCnt;
2842
2843 /* WDI_TriggerBAReqCandidateType followed by this*/
2844
2845}WDI_TriggerBAReqinfoType;
2846
2847
2848/*---------------------------------------------------------------------------
2849 WDI_TriggerBAReqParamsType
2850---------------------------------------------------------------------------*/
2851typedef struct
2852{
2853 /*BA Trigger Info Type*/
2854 WDI_TriggerBAReqinfoType wdiTriggerBAInfoType;
2855
2856 /*Request status callback offered by UMAC - it is called if the current
2857 req has returned PENDING as status; it delivers the status of sending
2858 the message over the BUS */
2859 WDI_ReqStatusCb wdiReqStatusCB;
2860
2861 /*The user data passed in by UMAC, it will be sent back when the above
2862 function pointer will be called */
2863 void* pUserData;
2864}WDI_TriggerBAReqParamsType;
2865
2866/*---------------------------------------------------------------------------
2867 WDI_AddBAInfoType
2868---------------------------------------------------------------------------*/
2869typedef struct
2870{
2871 wpt_uint16 fBaEnable : 1;
2872 wpt_uint16 startingSeqNum: 12;
2873 wpt_uint16 reserved : 3;
2874}WDI_AddBAInfoType;
2875
2876/*---------------------------------------------------------------------------
2877 WDI_TriggerBARspCandidateType
2878---------------------------------------------------------------------------*/
2879#define STA_MAX_TC 8
2880
2881typedef struct
2882{
2883 /* STA index */
2884 wpt_macAddr macSTA;
2885
2886 /* BA Info */
2887 WDI_AddBAInfoType wdiBAInfo[STA_MAX_TC];
2888}WDI_TriggerBARspCandidateType;
2889
2890/*---------------------------------------------------------------------------
2891 WDI_TriggerBARspParamsType
2892---------------------------------------------------------------------------*/
2893typedef struct
2894{
2895 /*Status of the response*/
2896 WDI_Status wdiStatus;
2897
2898 /*BSSID of the BSS*/
2899 wpt_macAddr macBSSID;
2900
2901 /* Trigger BA response candidate count */
2902 wpt_uint16 usBaCandidateCnt;
2903
2904 /* WDI_TriggerBARspCandidateType followed by this*/
2905
2906}WDI_TriggerBARspParamsType;
2907
2908/*---------------------------------------------------------------------------
2909 WDI_DelBAReqinfoType
2910---------------------------------------------------------------------------*/
2911typedef struct
2912{
2913 /*Indicates the station for which BA is added..*/
2914 wpt_uint8 ucSTAIdx;
2915
2916 /*TID for which BA was negotiated*/
2917 wpt_uint8 ucBaTID;
2918
2919 /*Originator/Recipient*/
2920 wpt_uint8 ucBaDirection;
2921
2922}WDI_DelBAReqinfoType;
2923
2924/*---------------------------------------------------------------------------
2925 WDI_DelBAReqParamsType
2926---------------------------------------------------------------------------*/
2927typedef struct
2928{
2929 /*BA Info */
2930 WDI_DelBAReqinfoType wdiBAInfo;
2931
2932 /*Request status callback offered by UMAC - it is called if the current
2933 req has returned PENDING as status; it delivers the status of sending
2934 the message over the BUS */
2935 WDI_ReqStatusCb wdiReqStatusCB;
2936
2937 /*The user data passed in by UMAC, it will be sent back when the above
2938 function pointer will be called */
2939 void* pUserData;
2940}WDI_DelBAReqParamsType;
2941
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08002942/*---------------------------------------------------------------------------
2943 WDI_UpdateChannelReqinfoType
2944---------------------------------------------------------------------------*/
2945typedef struct
2946{
2947 /** primary 20 MHz channel frequency in mhz */
2948 wpt_uint32 mhz;
2949 /** Center frequency 1 in MHz*/
2950 wpt_uint32 band_center_freq1;
2951 /** Center frequency 2 in MHz - valid only for 11acvht 80plus80 mode*/
2952 wpt_uint32 band_center_freq2;
2953 /* The first 26 bits are a bit mask to indicate any channel flags,
2954 (see WLAN_HAL_CHAN_FLAG*)
2955 The last 6 bits indicate the mode (see tChannelPhyModeType)*/
2956 wpt_uint32 channel_info;
2957 /** contains min power, max power, reg power and reg class id. */
2958 wpt_uint32 reg_info_1;
2959 /** contains antennamax */
2960 wpt_uint32 reg_info_2;
2961}WDI_UpdateChannelReqinfoType;
2962
2963typedef struct
2964{
2965 wpt_uint8 numchan;
2966 WDI_UpdateChannelReqinfoType *pchanParam;
2967}WDI_UpdateChannelReqType;
2968/*---------------------------------------------------------------------------
2969 WDI_UpdateChReqParamsType
2970---------------------------------------------------------------------------*/
2971typedef struct
2972{
2973 /*BA Info */
2974 WDI_UpdateChannelReqType wdiUpdateChanParams;
2975
2976 /*Request status callback offered by UMAC - it is called if the current
2977 req has returned PENDING as status; it delivers the status of sending
2978 the message over the BUS */
2979 WDI_ReqStatusCb wdiReqStatusCB;
2980
2981 /*The user data passed in by UMAC, it will be sent back when the above
2982 function pointer will be called */
2983 void* pUserData;
2984}WDI_UpdateChReqParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07002985
2986/*---------------------------------------------------------------------------
2987 WDI_SwitchCHRspParamsType
2988---------------------------------------------------------------------------*/
2989typedef struct
2990{
2991 /*Status of the response*/
2992 WDI_Status wdiStatus;
2993
2994 /*Indicates the channel that WLAN is on*/
2995 wpt_uint8 ucChannel;
2996
2997#ifdef WLAN_FEATURE_VOWIFI
2998 /*HAL fills in the tx power used for mgmt frames in this field.*/
2999 wpt_int8 ucTxMgmtPower;
3000#endif
3001
3002}WDI_SwitchCHRspParamsType;
3003
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08003004/*--------------------------------------------------------------------
3005 WDI_SwitchChRspParamsType_V1
3006--------------------------------------------------------------------*/
3007typedef struct
3008{
3009 /*Status of the response*/
3010 WDI_Status wdiStatus;
3011
3012 /*Indicates the channel that WLAN is on*/
3013 wpt_uint8 ucChannel;
3014
3015#ifdef WLAN_FEATURE_VOWIFI
3016 /*HAL fills in the tx power used for mgmt frames in this field.*/
3017 wpt_int8 ucTxMgmtPower;
3018#endif
3019
3020 /* Source of Channel Switch */
3021 WDI_ChanSwitchSource channelSwitchSrc;
3022}WDI_SwitchChRspParamsType_V1;
3023
Jeff Johnson295189b2012-06-20 16:38:30 -07003024/*---------------------------------------------------------------------------
3025 WDI_ConfigSTAReqParamsType
3026---------------------------------------------------------------------------*/
3027typedef struct
3028{
3029 /*Info for the Join request that will be sent down to the device*/
3030 WDI_ConfigStaReqInfoType wdiReqInfo;
3031
3032 /*Request status callback offered by UMAC - it is called if the current
3033 req has returned PENDING as status; it delivers the status of sending
3034 the message over the BUS */
3035 WDI_ReqStatusCb wdiReqStatusCB;
3036
3037 /*The user data passed in by UMAC, it will be sent back when the above
3038 function pointer will be called */
3039 void* pUserData;
3040}WDI_ConfigSTAReqParamsType;
3041
3042
3043/*---------------------------------------------------------------------------
3044 WDI_UpdateBeaconParamsInfoType
3045---------------------------------------------------------------------------*/
3046
3047typedef struct
3048{
3049 /*BSS Index of the BSS*/
3050 wpt_uint8 ucBssIdx;
3051
3052 /*shortPreamble mode. HAL should update all the STA rates when it
3053 receives this message*/
3054 wpt_uint8 ucfShortPreamble;
3055 /* short Slot time.*/
3056 wpt_uint8 ucfShortSlotTime;
3057 /* Beacon Interval */
3058 wpt_uint16 usBeaconInterval;
3059 /*Protection related */
3060 wpt_uint8 ucllaCoexist;
3061 wpt_uint8 ucllbCoexist;
3062 wpt_uint8 ucllgCoexist;
3063 wpt_uint8 ucHt20MhzCoexist;
3064 wpt_uint8 ucllnNonGFCoexist;
3065 wpt_uint8 ucfLsigTXOPProtectionFullSupport;
3066 wpt_uint8 ucfRIFSMode;
3067
3068 wpt_uint16 usChangeBitmap;
3069}WDI_UpdateBeaconParamsInfoType;
3070
Mohit Khanna4a70d262012-09-11 16:30:12 -07003071#ifdef WLAN_FEATURE_11AC
3072typedef struct
3073{
3074 wpt_uint16 opMode;
3075 wpt_uint16 staId;
3076}WDI_UpdateVHTOpMode;
3077#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003078
3079/*---------------------------------------------------------------------------
3080 WDI_UpdateBeaconParamsType
3081---------------------------------------------------------------------------*/
3082typedef struct
3083{
3084 /*Update Beacon Params Info*/
3085 WDI_UpdateBeaconParamsInfoType wdiUpdateBeaconParamsInfo;
3086
3087 /*Request status callback offered by UMAC - it is called if the current
3088 req has returned PENDING as status; it delivers the status of sending
3089 the message over the BUS */
3090 WDI_ReqStatusCb wdiReqStatusCB;
3091
3092 /*The user data passed in by UMAC, it will be sent back when the above
3093 function pointer will be called */
3094 void* pUserData;
3095}WDI_UpdateBeaconParamsType;
3096
3097/*---------------------------------------------------------------------------
3098 WDI_SendBeaconParamsInfoType
3099---------------------------------------------------------------------------*/
3100
3101typedef struct {
3102
3103 /*BSSID of the BSS*/
3104 wpt_macAddr macBSSID;
3105
3106 /* Beacon data */
3107 wpt_uint8 beacon[WDI_BEACON_TEMPLATE_SIZE];
3108
3109 /* length of the template */
3110 wpt_uint32 beaconLength;
3111
Jeff Johnson295189b2012-06-20 16:38:30 -07003112 /* TIM IE offset from the beginning of the template.*/
3113 wpt_uint32 timIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07003114
Jeff Johnson295189b2012-06-20 16:38:30 -07003115 /* P2P IE offset from the beginning of the template */
3116 wpt_uint16 usP2PIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07003117} WDI_SendBeaconParamsInfoType;
3118
3119/*---------------------------------------------------------------------------
3120 WDI_SendBeaconParamsType
3121---------------------------------------------------------------------------*/
3122typedef struct
3123{
3124 /*Send Beacon Params Info*/
3125 WDI_SendBeaconParamsInfoType wdiSendBeaconParamsInfo;
3126
3127 /*Request status callback offered by UMAC - it is called if the current
3128 req has returned PENDING as status; it delivers the status of sending
3129 the message over the BUS */
3130 WDI_ReqStatusCb wdiReqStatusCB;
3131
3132 /*The user data passed in by UMAC, it will be sent back when the above
3133 function pointer will be called */
3134 void* pUserData;
3135}WDI_SendBeaconParamsType;
3136
3137/*---------------------------------------------------------------------------
3138 WDI_LinkStateType
3139---------------------------------------------------------------------------*/
3140typedef enum
3141{
3142 WDI_LINK_IDLE_STATE = 0,
3143 WDI_LINK_PREASSOC_STATE = 1,
3144 WDI_LINK_POSTASSOC_STATE = 2,
3145 WDI_LINK_AP_STATE = 3,
3146 WDI_LINK_IBSS_STATE = 4,
3147
3148 // BT-AMP Case
3149 WDI_LINK_BTAMP_PREASSOC_STATE = 5,
3150 WDI_LINK_BTAMP_POSTASSOC_STATE = 6,
3151 WDI_LINK_BTAMP_AP_STATE = 7,
3152 WDI_LINK_BTAMP_STA_STATE = 8,
3153
3154 // Reserved for HAL internal use
3155 WDI_LINK_LEARN_STATE = 9,
3156 WDI_LINK_SCAN_STATE = 10,
3157 WDI_LINK_FINISH_SCAN_STATE = 11,
3158 WDI_LINK_INIT_CAL_STATE = 12,
3159 WDI_LINK_FINISH_CAL_STATE = 13,
Jeff Johnson295189b2012-06-20 16:38:30 -07003160 WDI_LINK_LISTEN_STATE = 14,
Gopichand Nakkala924e4552013-05-08 19:18:14 +05303161 WDI_LINK_SEND_ACTION_STATE = 15,
Jeff Johnson295189b2012-06-20 16:38:30 -07003162 WDI_LINK_MAX = 0x7FFFFFFF
3163} WDI_LinkStateType;
3164
3165/*---------------------------------------------------------------------------
3166 WDI_SetLinkReqInfoType
3167---------------------------------------------------------------------------*/
3168typedef struct
3169{
3170 /*BSSID of the BSS*/
3171 wpt_macAddr macBSSID;
3172
3173 /*Link state*/
3174 WDI_LinkStateType wdiLinkState;
3175
3176 /*BSSID of the BSS*/
3177 wpt_macAddr macSelfStaMacAddr;
3178}WDI_SetLinkReqInfoType;
3179
3180/*---------------------------------------------------------------------------
3181 WDI_SetLinkReqParamsType
3182---------------------------------------------------------------------------*/
3183typedef struct
3184{
3185 /*Link Info*/
3186 WDI_SetLinkReqInfoType wdiLinkInfo;
3187
3188 /*Request status callback offered by UMAC - it is called if the current
3189 req has returned PENDING as status; it delivers the status of sending
3190 the message over the BUS */
3191 WDI_ReqStatusCb wdiReqStatusCB;
3192
3193 /*The user data passed in by UMAC, it will be sent back when the above
3194 function pointer will be called */
3195 void* pUserData;
3196}WDI_SetLinkReqParamsType;
3197
3198/*---------------------------------------------------------------------------
3199 WDI_GetStatsParamsInfoType
3200---------------------------------------------------------------------------*/
3201typedef struct
3202{
3203 /*Indicates the station for which Get Stats are requested..*/
3204 wpt_uint8 ucSTAIdx;
3205
3206 /* categories of stats requested */
3207 wpt_uint32 uStatsMask;
3208}WDI_GetStatsParamsInfoType;
3209
3210/*---------------------------------------------------------------------------
3211 WDI_GetStatsReqParamsType
3212---------------------------------------------------------------------------*/
3213typedef struct
3214{
3215 /*Get Stats Params Info*/
3216 WDI_GetStatsParamsInfoType wdiGetStatsParamsInfo;
3217
3218 /*Request status callback offered by UMAC - it is called if the current
3219 req has returned PENDING as status; it delivers the status of sending
3220 the message over the BUS */
3221 WDI_ReqStatusCb wdiReqStatusCB;
3222
3223 /*The user data passed in by UMAC, it will be sent back when the above
3224 function pointer will be called */
3225 void* pUserData;
3226}WDI_GetStatsReqParamsType;
3227
3228/*---------------------------------------------------------------------------
3229 WDI_GetStatsRspParamsType
3230---------------------------------------------------------------------------*/
3231typedef struct
3232{
3233 /*message type is same as the request type*/
3234 wpt_uint16 usMsgType;
3235
3236 /* length of the entire request, includes the pStatsBuf length too*/
3237 wpt_uint16 usMsgLen;
3238
3239 /*Result of the operation*/
3240 WDI_Status wdiStatus;
3241
3242 /*Indicates the station for which Get Stats are requested..*/
3243 wpt_uint8 ucSTAIdx;
3244
3245 /* categories of stats requested */
3246 wpt_uint32 uStatsMask;
3247
3248 /* The Stats buffer starts here and can be an aggregate of more than one statistics
3249 * structure depending on statsMask.*/
3250}WDI_GetStatsRspParamsType;
3251
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003252#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08003253/*---------------------------------------------------------------------------
3254 WDI_GetRoamRssiParamsInfoType
3255---------------------------------------------------------------------------*/
3256typedef struct
3257{
3258 /*Indicates the station for which Get Stats are requested..*/
3259 wpt_uint8 ucSTAIdx;
3260
3261 /* categories of stats requested */
3262 wpt_uint32 uStatsMask;
3263}WDI_GetRoamRssiParamsInfoType;
3264
3265/*---------------------------------------------------------------------------
3266 WDI_GetRoamRssiReqParamsType
3267---------------------------------------------------------------------------*/
3268typedef struct
3269{
3270 /*Get Roam Rssi Params Info*/
3271 WDI_GetRoamRssiParamsInfoType wdiGetRoamRssiParamsInfo;
3272
3273 /*Request status callback offered by UMAC - it is called if the current
3274 req has returned PENDING as status; it delivers the status of sending
3275 the message over the BUS */
3276 WDI_ReqStatusCb wdiReqStatusCB;
3277
3278 /*The user data passed in by UMAC, it will be sent back when the above
3279 function pointer will be called */
3280 void* pUserData;
3281}WDI_GetRoamRssiReqParamsType;
3282
3283/*---------------------------------------------------------------------------
3284 WDI_GetRoamRssiRspParamsType
3285---------------------------------------------------------------------------*/
3286typedef struct
3287{
3288 /*Result of the operation*/
3289 WDI_Status wdiStatus;
3290
3291 /*Indicates the station for which Get Stats are requested..*/
3292 wpt_uint8 ucSTAIdx;
3293
3294 /* roam rssi requested */
3295 wpt_int8 rssi;
3296
3297 /* The Stats buffer starts here and can be an aggregate of more than one statistics
3298 * structure depending on statsMask.*/
3299}WDI_GetRoamRssiRspParamsType;
3300#endif
3301
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003302#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07003303/*---------------------------------------------------------------------------
3304 WDI_TSMStatsParamsInfoType
3305---------------------------------------------------------------------------*/
3306typedef struct
3307{
3308 /*Indicates the station for which Get Stats are requested..*/
3309 wpt_uint8 ucTid;
3310
3311 wpt_macAddr bssid;
3312}WDI_TSMStatsParamsInfoType;
3313
3314/*---------------------------------------------------------------------------
3315 WDI_TSMStatsReqParamsType
3316---------------------------------------------------------------------------*/
3317typedef struct
3318{
3319 /*Get TSM Stats Params Info*/
3320 WDI_TSMStatsParamsInfoType wdiTsmStatsParamsInfo;
3321
3322 WDI_ReqStatusCb wdiReqStatusCB;
3323
3324 /*The user data passed in by UMAC, it will be sent back when the above
3325 function pointer will be called */
3326 void* pUserData;
3327
3328}WDI_TSMStatsReqParamsType;
3329
3330
3331/*---------------------------------------------------------------------------
3332 WDI_TSMStatsRspParamsType
3333---------------------------------------------------------------------------*/
3334typedef struct
3335{
3336 /*Indicates the status of the operation */
3337 WDI_Status wdiStatus;
3338
3339 wpt_uint16 UplinkPktQueueDly;
3340 wpt_uint16 UplinkPktQueueDlyHist[4];
3341 wpt_uint32 UplinkPktTxDly;
3342 wpt_uint16 UplinkPktLoss;
3343 wpt_uint16 UplinkPktCount;
3344 wpt_uint8 RoamingCount;
3345 wpt_uint16 RoamingDly;
3346}WDI_TSMStatsRspParamsType;
3347
3348
3349#endif
3350/*---------------------------------------------------------------------------
3351 WDI_UpdateCfgReqParamsType
3352---------------------------------------------------------------------------*/
3353typedef struct
3354{
3355 /*This is a TLV formatted buffer containing all config values that can
3356 be set through the DAL Interface
3357
3358 The TLV is expected to be formatted like this:
3359
3360 0 7 15 31 ....
3361 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
3362
3363 Or from a C construct point of VU it would look like this:
3364
3365 typedef struct WPT_PACK_POST
3366 {
3367 #ifdef WPT_BIG_ENDIAN
3368 wpt_uint32 ucCfgId:8;
3369 wpt_uint32 ucCfgLen:8;
3370 wpt_uint32 usReserved:16;
3371 #else
3372 wpt_uint32 usReserved:16;
3373 wpt_uint32 ucCfgLen:8;
3374 wpt_uint32 ucCfgId:8;
3375 #endif
3376
3377 wpt_uint8 ucCfgBody[ucCfgLen];
3378 }WDI_ConfigType;
3379
3380 Multiple such tuplets are to be placed in the config buffer. One for
3381 each required configuration item:
3382
3383 | TLV 1 | TLV2 | ....
3384
3385 The buffer is expected to be a flat area of memory that can be manipulated
3386 with standard memory routines.
3387
3388 For more info please check paragraph 2.3.1 Config Structure from the
3389 HAL LLD.
3390
3391 For a list of accepted configuration list and IDs please look up
3392 wlan_qct_dal_cfg.h
3393 */
3394 void* pConfigBuffer;
3395
3396 /*Length of the config buffer above*/
3397 wpt_uint32 uConfigBufferLen;
3398
3399 /*Request status callback offered by UMAC - it is called if the current
3400 req has returned PENDING as status; it delivers the status of sending
3401 the message over the BUS */
3402 WDI_ReqStatusCb wdiReqStatusCB;
3403
3404 /*The user data passed in by UMAC, it will be sent back when the above
3405 function pointer will be called */
3406 void* pUserData;
3407}WDI_UpdateCfgReqParamsType;
3408
3409/*---------------------------------------------------------------------------
3410 WDI_UpdateProbeRspTemplateInfoType
3411---------------------------------------------------------------------------*/
3412//Default Beacon template size
3413#define WDI_PROBE_RSP_TEMPLATE_SIZE 0x180
3414
3415#define WDI_PROBE_REQ_BITMAP_IE_LEN 8
3416
3417typedef struct
3418{
3419 /*BSSID for which the Probe Template is to be used*/
3420 wpt_macAddr macBSSID;
3421
3422 /*Probe response template*/
3423 wpt_uint8 *pProbeRespTemplate[WDI_PROBE_RSP_TEMPLATE_SIZE];
3424
3425 /*Template Len*/
3426 wpt_uint32 uProbeRespTemplateLen;
3427
3428 /*Bitmap for the IEs that are to be handled at SLM level*/
3429 wpt_uint32 uaProxyProbeReqValidIEBmap[WDI_PROBE_REQ_BITMAP_IE_LEN];
3430
3431}WDI_UpdateProbeRspTemplateInfoType;
3432
3433/*---------------------------------------------------------------------------
3434 WDI_UpdateProbeRspParamsType
3435---------------------------------------------------------------------------*/
3436typedef struct
3437{
3438 /*Link Info*/
3439 WDI_UpdateProbeRspTemplateInfoType wdiProbeRspTemplateInfo;
3440
3441 /*Request status callback offered by UMAC - it is called if the current
3442 req has returned PENDING as status; it delivers the status of sending
3443 the message over the BUS */
3444 WDI_ReqStatusCb wdiReqStatusCB;
3445
3446 /*The user data passed in by UMAC, it will be sent back when the above
3447 function pointer will be called */
3448 void* pUserData;
3449}WDI_UpdateProbeRspTemplateParamsType;
3450
3451/*---------------------------------------------------------------------------
3452 WDI_NvDownloadReqBlobInfo
3453---------------------------------------------------------------------------*/
3454
3455typedef struct
3456{
3457 /* Blob starting address*/
3458 void *pBlobAddress;
3459
3460 /* Blob size */
3461 wpt_uint32 uBlobSize;
3462
3463}WDI_NvDownloadReqBlobInfo;
3464
3465/*---------------------------------------------------------------------------
3466 WDI_NvDownloadReqParamsType
3467---------------------------------------------------------------------------*/
3468typedef struct
3469{
3470 /*NV Blob Info*/
3471 WDI_NvDownloadReqBlobInfo wdiBlobInfo;
3472
3473 /*Request status callback offered by UMAC - it is called if the current
3474 req has returned PENDING as status; it delivers the status of sending
3475 the message over the BUS */
3476 WDI_ReqStatusCb wdiReqStatusCB;
3477
3478 /*The user data passed in by UMAC, it will be sent back when the above
3479 function pointer will be called */
3480 void* pUserData;
3481
3482}WDI_NvDownloadReqParamsType;
3483
3484/*---------------------------------------------------------------------------
3485 WDI_NvDownloadRspInfoType
3486---------------------------------------------------------------------------*/
3487typedef struct
3488{
3489 /*Status of the response*/
3490 WDI_Status wdiStatus;
3491
3492}WDI_NvDownloadRspInfoType;
3493
3494/*---------------------------------------------------------------------------
3495 WDI_SetMaxTxPowerInfoType
3496---------------------------------------------------------------------------*/
3497
3498typedef struct
3499{
3500 /*BSSID is needed to identify which session issued this request. As the request has
3501 power constraints, this should be applied only to that session*/
3502 wpt_macAddr macBSSId;
3503
3504
3505 wpt_macAddr macSelfStaMacAddr;
3506
3507 /* In request power == MaxTxpower to be used.*/
3508 wpt_int8 ucPower;
3509
3510}WDI_SetMaxTxPowerInfoType;
3511
3512/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003513 WDI_SetTxPowerInfoType
3514---------------------------------------------------------------------------*/
3515
3516typedef struct
3517{
3518 wpt_uint8 bssIdx;
3519 /* In request power == MaxTxpower to be used.*/
3520 wpt_uint8 ucPower;
3521
3522}WDI_SetTxPowerInfoType;
3523
3524/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003525 WDI_SetMaxTxPowerParamsType
3526---------------------------------------------------------------------------*/
3527typedef struct
3528{
3529 /*Link Info*/
3530 WDI_SetMaxTxPowerInfoType wdiMaxTxPowerInfo;
3531
3532 /*Request status callback offered by UMAC - it is called if the current
3533 req has returned PENDING as status; it delivers the status of sending
3534 the message over the BUS */
3535 WDI_ReqStatusCb wdiReqStatusCB;
3536
3537 /*The user data passed in by UMAC, it will be sent back when the above
3538 function pointer will be called */
3539 void* pUserData;
3540}WDI_SetMaxTxPowerParamsType;
3541
schang86c22c42013-03-13 18:41:24 -07003542/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07003543 WDI_Band
3544---------------------------------------------------------------------------*/
3545typedef enum
3546{
3547 WDI_BAND_ALL,
3548 WDI_BAND_24,
3549 WDI_BAND_5G,
3550 WDI_BAND_MAX,
3551}eWDIBand;
3552
3553/*---------------------------------------------------------------------------
3554 WDI_MaxTxPowerPerBandInfoType
3555---------------------------------------------------------------------------*/
3556typedef struct
3557{
3558 eWDIBand bandInfo;
3559 /* In request power == MaxTxpower to be used.*/
3560 wpt_uint8 ucPower;
3561}WDI_MaxTxPowerPerBandInfoType;
3562
3563/*---------------------------------------------------------------------------
3564 WDI_SetMaxTxPowerPerBandParamsType
3565---------------------------------------------------------------------------*/
3566typedef struct
3567{
3568 /*Link Info*/
3569 WDI_MaxTxPowerPerBandInfoType wdiMaxTxPowerPerBandInfo;
3570
3571 /*Request status callback offered by UMAC - it is called if the current
3572 req has returned PENDING as status; it delivers the status of sending
3573 the message over the BUS */
3574 WDI_ReqStatusCb wdiReqStatusCB;
3575
3576 /*The user data passed in by UMAC, it will be sent back when the above
3577 function pointer will be called */
3578 void* pUserData;
3579}WDI_SetMaxTxPowerPerBandParamsType;
3580
3581/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003582 WDI_SetTxPowerParamsType
3583---------------------------------------------------------------------------*/
3584typedef struct
3585{
3586 /*Link Info*/
3587 WDI_SetTxPowerInfoType wdiTxPowerInfo;
3588
3589 /*Request status callback offered by UMAC - it is called if the current
3590 req has returned PENDING as status; it delivers the status of sending
3591 the message over the BUS */
3592 WDI_ReqStatusCb wdiReqStatusCB;
3593
3594 /*The user data passed in by UMAC, it will be sent back when the above
3595 function pointer will be called */
3596 void* pUserData;
3597}WDI_SetTxPowerParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003598
3599/*---------------------------------------------------------------------------
3600 WDI_SetMaxTxPowerRspMsg
3601---------------------------------------------------------------------------*/
3602
3603typedef struct
3604{
3605 /* In response, power==tx power used for management frames*/
3606 wpt_int8 ucPower;
3607
3608 /*Result of the operation*/
3609 WDI_Status wdiStatus;
3610
3611}WDI_SetMaxTxPowerRspMsg;
3612
schang86c22c42013-03-13 18:41:24 -07003613/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07003614 WDI_SetMaxTxPowerPerBandRspMsg
3615---------------------------------------------------------------------------*/
3616typedef struct
3617{
3618 /* In response, power==tx power used for management frames*/
3619 wpt_int8 ucPower;
3620
3621 /*Result of the operation*/
3622 WDI_Status wdiStatus;
3623
3624}WDI_SetMaxTxPowerPerBandRspMsg;
3625
3626/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003627 WDI_SetTxPowerRspMsg
3628---------------------------------------------------------------------------*/
3629
3630typedef struct
3631{
3632 /* In response, power==tx power used for management frames*/
3633 wpt_int8 ucPower;
3634
3635 /*Result of the operation*/
3636 WDI_Status wdiStatus;
3637
3638}WDI_SetTxPowerRspMsg;
3639
Jeff Johnson295189b2012-06-20 16:38:30 -07003640typedef struct
3641{
3642 wpt_uint8 ucOpp_ps;
3643 wpt_uint32 uCtWindow;
3644 wpt_uint8 ucCount;
3645 wpt_uint32 uDuration;
3646 wpt_uint32 uInterval;
3647 wpt_uint32 uSingle_noa_duration;
3648 wpt_uint8 ucPsSelection;
3649}WDI_SetP2PGONOAReqInfoType;
3650
3651/*---------------------------------------------------------------------------
3652 WDI_SetP2PGONOAReqParamsType
3653---------------------------------------------------------------------------*/
3654typedef struct
3655{
3656 /*P2P GO NOA Req*/
3657 WDI_SetP2PGONOAReqInfoType wdiP2PGONOAInfo;
3658
3659 /*Request status callback offered by UMAC - it is called if the current
3660 req has returned PENDING as status; it delivers the status of sending
3661 the message over the BUS */
3662 WDI_ReqStatusCb wdiReqStatusCB;
3663
3664 /*The user data passed in by UMAC, it will be sent back when the above
3665 function pointer will be called */
3666 void* pUserData;
3667}WDI_SetP2PGONOAReqParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003668
Naresh Jayaramc7cbd782014-02-04 17:38:23 +05303669#define WDI_MAX_SUPP_CHANNELS 128
3670#define WDI_MAX_SUPP_OPER_CLASSES 32
3671
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303672typedef struct
3673{
3674 wpt_uint16 uStaIdx;
3675 wpt_uint8 uIsResponder;
3676 wpt_uint8 uUapsdQueues;
3677 wpt_uint8 uMaxSp;
3678 wpt_uint8 uIsBufSta;
Naresh Jayaramc7cbd782014-02-04 17:38:23 +05303679 wpt_uint8 uIsOffChannelSupported;
3680 wpt_uint8 peerCurrOperClass;
3681 wpt_uint8 selfCurrOperClass;
3682 wpt_uint8 validChannelsLen;
3683 wpt_uint8 validChannels[WDI_MAX_SUPP_CHANNELS];
3684 wpt_uint8 validOperClassesLen;
3685 wpt_uint8 validOperClasses[WDI_MAX_SUPP_OPER_CLASSES];
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303686}WDI_SetTDLSLinkEstablishReqInfoType;
3687/*---------------------------------------------------------------------------
3688 WDI_SetTDLSLinkEstablishReqParamsType
3689---------------------------------------------------------------------------*/
3690typedef struct
3691{
3692 /*TDLS Link Establish Req*/
3693 WDI_SetTDLSLinkEstablishReqInfoType wdiTDLSLinkEstablishInfo;
3694
3695 /*Request status callback offered by UMAC - it is called if the current
3696 req has returned PENDING as status; it delivers the status of sending
3697 the message over the BUS */
3698 WDI_ReqStatusCb wdiReqStatusCB;
3699
3700 /*The user data passed in by UMAC, it will be sent back when the above
3701 function pointer will be called */
3702 void* pUserData;
3703}WDI_SetTDLSLinkEstablishReqParamsType;
3704
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05303705typedef struct
3706{
3707 /*Result of the operation*/
3708 WDI_Status wdiStatus;
3709
3710 /*STA Idx*/
3711 wpt_uint16 uStaIdx;
3712}WDI_SetTdlsLinkEstablishReqResp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003713
Atul Mittalc0f739f2014-07-31 13:47:47 +05303714
3715
3716typedef struct
3717{
3718 /*STA Index*/
3719 wpt_uint8 staIdx;
3720 /* if this is 1, self is initiator otherwise responder only*/
3721 wpt_uint8 isOffchannelInitiator;
3722 /*TDLS off channel related params */
3723 wpt_uint8 targetOperClass;
3724 wpt_uint8 targetChannel;
3725 wpt_uint8 secondaryChannelOffset;
3726 wpt_uint8 reserved[64];
3727}WDI_SetTDLSChanSwitchReqInfoType;
3728
3729typedef struct
3730{
3731 WDI_SetTDLSChanSwitchReqInfoType wdiTDLSChanSwitchReqInfo;
3732 WDI_ReqStatusCb wdiReqStatusCB;
3733 void* pUserData;
3734}WDI_SetTDLSChanSwitchReqParamsType;
3735
3736
3737typedef struct
3738{
3739 /*Result of the operation*/
3740 WDI_Status wdiStatus;
3741
3742 /*STA Idx*/
3743 wpt_uint16 uStaIdx;
3744}WDI_SetTdlsChanSwitchReqResp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003745/*---------------------------------------------------------------------------
3746 WDI_SetAddSTASelfParamsType
3747---------------------------------------------------------------------------*/
3748typedef struct
3749{
3750 /*Self Station MAC address*/
3751 wpt_macAddr selfMacAddr;
3752
Kiran Kumar Lokere0ad5cd32013-06-25 11:26:22 -07003753 /*Self STA device mode*/
3754 wpt_uint32 currDeviceMode;
3755
Jeff Johnson295189b2012-06-20 16:38:30 -07003756 /*Status of the operation*/
3757 wpt_uint32 uStatus;
3758}WDI_AddSTASelfInfoType;
3759
3760/*---------------------------------------------------------------------------
3761 WDI_SetAddSTASelfParamsType
3762---------------------------------------------------------------------------*/
3763typedef struct
3764{
3765 /* Add Sta Self Req */
3766 WDI_AddSTASelfInfoType wdiAddSTASelfInfo;
3767
3768 /*Request status callback offered by UMAC - it is called if the current
3769 req has returned PENDING as status; it delivers the status of sending
3770 the message over the BUS */
3771 WDI_ReqStatusCb wdiReqStatusCB;
3772
3773 /*The user data passed in by UMAC, it will be sent back when the above
3774 function pointer will be called */
3775 void* pUserData;
3776}WDI_AddSTASelfReqParamsType;
3777
3778
3779/*---------------------------------------------------------------------------
3780 WDI_AddSTASelfRspParamsType
3781---------------------------------------------------------------------------*/
3782typedef struct
3783{
3784 /*Status of the response*/
3785 WDI_Status wdiStatus;
3786
3787 /*STA Idx allocated by HAL*/
3788 wpt_uint8 ucSTASelfIdx;
3789
3790 /* DPU Index (IGTK, PTK, GTK all same) */
3791 wpt_uint8 dpuIdx;
3792
3793 /* DPU Signature */
3794 wpt_uint8 dpuSignature;
3795
3796 /*Self STA Mac*/
3797 wpt_macAddr macSelfSta;
3798
3799}WDI_AddSTASelfRspParamsType;
3800
3801/*---------------------------------------------------------------------------
3802 WDI_DelSTASelfReqParamsType
3803 Del Sta Self info passed to WDI form WDA
3804---------------------------------------------------------------------------*/
3805typedef struct
3806{
3807 wpt_macAddr selfMacAddr;
3808
3809}WDI_DelSTASelfInfoType;
3810
3811/*---------------------------------------------------------------------------
3812 WDI_DelSTASelfReqParamsType
3813 Del Sta Self info passed to WDI form WDA
3814---------------------------------------------------------------------------*/
3815typedef struct
3816{
3817 /*Del Sta Self Info Type */
3818 WDI_DelSTASelfInfoType wdiDelStaSelfInfo;
3819 /*Request status callback offered by UMAC - it is called if the current req
3820 has returned PENDING as status; it delivers the status of sending the message
3821 over the BUS */
3822 WDI_ReqStatusCb wdiReqStatusCB;
3823 /*The user data passed in by UMAC, it will be sent back when the above
3824 function pointer will be called */
3825 void* pUserData;
3826}WDI_DelSTASelfReqParamsType;
3827
3828/*---------------------------------------------------------------------------
3829 WDI_DelSTASelfRspParamsType
3830---------------------------------------------------------------------------*/
3831typedef struct
3832{
3833 /*Status of the response*/
3834 WDI_Status wdiStatus;
3835
3836 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
3837// wpt_uint8 ucSTAIdx;
3838}WDI_DelSTASelfRspParamsType;
3839
3840/*---------------------------------------------------------------------------
3841 WDI_UapsdInfoType
3842 UAPSD parameters passed per AC to WDA from UMAC
3843---------------------------------------------------------------------------*/
3844typedef struct
3845{
3846 wpt_uint8 ucSTAIdx; // STA index
3847 wpt_uint8 ucAc; // Access Category
3848 wpt_uint8 ucUp; // User Priority
3849 wpt_uint32 uSrvInterval; // Service Interval
3850 wpt_uint32 uSusInterval; // Suspend Interval
3851 wpt_uint32 uDelayInterval; // Delay Interval
3852} WDI_UapsdInfoType;
3853
3854/*---------------------------------------------------------------------------
3855 WDI_SetUapsdAcParamsReqParamsType
3856 UAPSD parameters passed per AC to WDI from WDA
3857---------------------------------------------------------------------------*/
3858typedef struct
3859{
3860 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3861 WDI_UapsdInfoType wdiUapsdInfo;
3862 /*Request status callback offered by UMAC - it is called if the current req
3863 has returned PENDING as status; it delivers the status of sending the message
3864 over the BUS */
3865 WDI_ReqStatusCb wdiReqStatusCB;
3866 /*The user data passed in by UMAC, it will be sent back when the above
3867 function pointer will be called */
3868 void* pUserData;
3869}WDI_SetUapsdAcParamsReqParamsType;
3870
3871/*---------------------------------------------------------------------------
3872 WDI_EnterBmpsReqinfoType
3873 Enter BMPS parameters passed to WDA from UMAC
3874---------------------------------------------------------------------------*/
3875typedef struct
3876{
3877 //TBTT value derived from the last beacon
3878 wpt_uint8 ucBssIdx;
3879 wpt_uint64 uTbtt;
3880 wpt_uint8 ucDtimCount;
3881 //DTIM period given to HAL during association may not be valid,
3882 //if association is based on ProbeRsp instead of beacon.
3883 wpt_uint8 ucDtimPeriod;
3884 /* DXE physical addr to be passed down to RIVA. RIVA HAL will use it to program
3885 DXE when DXE wakes up from power save*/
3886 unsigned int dxePhyAddr;
3887
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003888 // For ESE and 11R Roaming
Jeff Johnson295189b2012-06-20 16:38:30 -07003889 wpt_uint32 rssiFilterPeriod;
3890 wpt_uint32 numBeaconPerRssiAverage;
3891 wpt_uint8 bRssiFilterEnable;
3892}WDI_EnterBmpsReqinfoType;
3893
3894/*---------------------------------------------------------------------------
3895 WDI_EnterBmpsReqParamsType
3896 Enter BMPS parameters passed to WDI from WDA
3897---------------------------------------------------------------------------*/
3898typedef struct
3899{
3900 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3901 WDI_EnterBmpsReqinfoType wdiEnterBmpsInfo;
3902 /*Request status callback offered by UMAC - it is called if the current req
3903 has returned PENDING as status; it delivers the status of sending the message
3904 over the BUS */
3905 WDI_ReqStatusCb wdiReqStatusCB;
3906 /*The user data passed in by UMAC, it will be sent back when the above
3907 function pointer will be called */
3908 void* pUserData;
3909}WDI_EnterBmpsReqParamsType;
3910
3911/*---------------------------------------------------------------------------
Mihir Shetea4306052014-03-25 00:02:54 +05303912 WDI_EnterImpsReqParamsType
3913 Enter IMPS parameters passed to WDI from WDA
3914---------------------------------------------------------------------------*/
3915typedef struct
3916{
3917 /*Request status callback offered by UMAC - it is called if the current req
3918 has returned PENDING as status; it delivers the status of sending the message
3919 over the BUS */
3920 WDI_ReqStatusCb wdiReqStatusCB;
3921 /*The user data passed in by UMAC, it will be sent back when the above
3922 function pointer will be called */
3923 void* pUserData;
3924}WDI_EnterImpsReqParamsType;
3925
3926/*---------------------------------------------------------------------------
Mahesh A Saptasagar329813b2014-12-15 12:16:51 +05303927 WDI_ExitImpsReqParamsType
3928 Exit IMPS parameters passed to WDI from WDA
3929----------------------------------------------------------------------------*/
3930typedef struct
3931{
3932 /*Request status callback offered by UMAC */
3933 WDI_ReqStatusCb wdiReqStatusCB;
3934 /*The user data passed in by UMAC, it will be sent back when the above
3935 function pointer will be called */
3936 void* pUserData;
3937
3938}WDI_ExitImpsReqParamsType;
3939
3940/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003941 WDI_EnterBmpsReqParamsType
3942 Enter BMPS parameters passed from WDI to WDA
3943---------------------------------------------------------------------------*/
3944typedef struct
3945{
3946 /*Status of the response*/
3947 WDI_Status wdiStatus;
3948
3949 /*BssIDX of the session*/
3950 wpt_uint8 bssIdx;
3951}WDI_EnterBmpsRspParamsType;
3952
3953/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003954 WDI_ExitBmpsReqinfoType
3955 Exit BMPS parameters passed to WDA from UMAC
3956---------------------------------------------------------------------------*/
3957typedef struct
3958{
3959 wpt_uint8 ucSendDataNull;
Jeff Johnsone7245742012-09-05 17:12:55 -07003960 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003961}WDI_ExitBmpsReqinfoType;
3962
3963/*---------------------------------------------------------------------------
3964 WDI_ExitBmpsReqParamsType
3965 Exit BMPS parameters passed to WDI from WDA
3966---------------------------------------------------------------------------*/
3967typedef struct
3968{
3969 /*Exit BMPS Info Type, same as tExitBmpsParams */
3970 WDI_ExitBmpsReqinfoType wdiExitBmpsInfo;
3971 /*Request status callback offered by UMAC - it is called if the current req
3972 has returned PENDING as status; it delivers the status of sending the message
3973 over the BUS */
3974 WDI_ReqStatusCb wdiReqStatusCB;
3975 /*The user data passed in by UMAC, it will be sent back when the above
3976 function pointer will be called */
3977 void* pUserData;
3978}WDI_ExitBmpsReqParamsType;
3979
3980/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003981 WDI_ExitBmpsReqParamsType
3982 Exit BMPS parameters passed from WDI to WDA
3983---------------------------------------------------------------------------*/
3984typedef struct
3985{
3986 /*Status of the response*/
3987 WDI_Status wdiStatus;
3988
3989 /*BssIDX of the session*/
3990 wpt_uint8 bssIdx;
3991}WDI_ExitBmpsRspParamsType;
3992
3993/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003994 WDI_EnterUapsdReqinfoType
3995 Enter UAPSD parameters passed to WDA from UMAC
3996---------------------------------------------------------------------------*/
3997typedef struct
3998{
3999 wpt_uint8 ucBkDeliveryEnabled:1;
4000 wpt_uint8 ucBeDeliveryEnabled:1;
4001 wpt_uint8 ucViDeliveryEnabled:1;
4002 wpt_uint8 ucVoDeliveryEnabled:1;
4003 wpt_uint8 ucBkTriggerEnabled:1;
4004 wpt_uint8 ucBeTriggerEnabled:1;
4005 wpt_uint8 ucViTriggerEnabled:1;
4006 wpt_uint8 ucVoTriggerEnabled:1;
Jeff Johnsone7245742012-09-05 17:12:55 -07004007 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004008}WDI_EnterUapsdReqinfoType;
4009
4010/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004011 WDI_EnterUapsdRspParamsType
4012 Enter UAPSD parameters passed from WDI to WDA
4013---------------------------------------------------------------------------*/
4014typedef struct
4015{
4016 /*Status of the response*/
4017 WDI_Status wdiStatus;
4018
4019 /*BssIDX of the session*/
4020 wpt_uint8 bssIdx;
4021}WDI_EnterUapsdRspParamsType;
4022
4023/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004024 WDI_EnterUapsdReqinfoType
4025 Enter UAPSD parameters passed to WDI from WDA
4026---------------------------------------------------------------------------*/
4027typedef struct
4028{
4029 /*Enter UAPSD Info Type, same as tUapsdParams */
4030 WDI_EnterUapsdReqinfoType wdiEnterUapsdInfo;
4031 /*Request status callback offered by UMAC - it is called if the current req
4032 has returned PENDING as status; it delivers the status of sending the message
4033 over the BUS */
4034 WDI_ReqStatusCb wdiReqStatusCB;
4035 /*The user data passed in by UMAC, it will be sent back when the above
4036 function pointer will be called */
4037 void* pUserData;
4038}WDI_EnterUapsdReqParamsType;
4039
4040/*---------------------------------------------------------------------------
4041 WDI_UpdateUapsdReqinfoType
4042 Update UAPSD parameters passed to WDA from UMAC
4043---------------------------------------------------------------------------*/
4044typedef struct
4045{
4046 wpt_uint8 ucSTAIdx;
4047 wpt_uint8 ucUapsdACMask;
4048 wpt_uint32 uMaxSpLen;
4049}WDI_UpdateUapsdReqinfoType;
4050
4051/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004052 WDI_ExitUapsdReqinfoType
4053 Exit UAPSD parameters passed to WDA from UMAC
4054---------------------------------------------------------------------------*/
4055typedef struct
4056{
4057 wpt_uint8 bssIdx;
4058}WDI_ExitUapsdReqinfoType;
4059
4060/*---------------------------------------------------------------------------
4061 WDI_ExitUapsdReqParamsType
4062 Exit UAPSD parameters passed to WDI from WDA
4063---------------------------------------------------------------------------*/
4064typedef struct
4065{
4066 /*Exit UAPSD Info Type, same as tUapsdParams */
4067 WDI_ExitUapsdReqinfoType wdiExitUapsdInfo;
4068 /*Request status callback offered by UMAC - it is called if the current req
4069 has returned PENDING as status; it delivers the status of sending the message
4070 over the BUS */
4071 WDI_ReqStatusCb wdiReqStatusCB;
4072 /*The user data passed in by UMAC, it will be sent back when the above
4073 function pointer will be called */
4074 void* pUserData;
4075}WDI_ExitUapsdReqParamsType;
4076
4077/*---------------------------------------------------------------------------
4078 WDI_ExitUapsdRspParamsType
4079 Exit UAPSD parameters passed from WDI to WDA
4080---------------------------------------------------------------------------*/
4081typedef struct
4082{
4083 /*Status of the response*/
4084 WDI_Status wdiStatus;
4085
4086 /*BssIDX of the session*/
4087 wpt_uint8 bssIdx;
4088}WDI_ExitUapsdRspParamsType;
4089
4090/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004091 WDI_UpdateUapsdReqParamsType
4092 Update UAPSD parameters passed to WDI form WDA
4093---------------------------------------------------------------------------*/
4094typedef struct
4095{
4096 /*Update UAPSD Info Type, same as tUpdateUapsdParams */
4097 WDI_UpdateUapsdReqinfoType wdiUpdateUapsdInfo;
4098 /*Request status callback offered by UMAC - it is called if the current req
4099 has returned PENDING as status; it delivers the status of sending the message
4100 over the BUS */
4101 WDI_ReqStatusCb wdiReqStatusCB;
4102 /*The user data passed in by UMAC, it will be sent back when the above
4103 function pointer will be called */
4104 void* pUserData;
4105}WDI_UpdateUapsdReqParamsType;
4106
4107/*---------------------------------------------------------------------------
4108 WDI_ConfigureRxpFilterReqParamsType
4109 RXP filter parameters passed to WDI form WDA
4110---------------------------------------------------------------------------*/
4111typedef struct
4112{
4113 /* Mode of Mcast and Bcast filters configured */
4114 wpt_uint8 ucSetMcstBcstFilterSetting;
4115
4116 /* Mcast Bcast Filters enable/disable*/
4117 wpt_uint8 ucSetMcstBcstFilter;
4118}WDI_RxpFilterReqParamsType;
4119
4120typedef struct
4121{
4122 /* Rxp Filter */
4123 WDI_RxpFilterReqParamsType wdiRxpFilterParam;
4124
4125 /*Request status callback offered by UMAC - it is called if the current req
4126 has returned PENDING as status; it delivers the status of sending the message
4127 over the BUS */
4128 WDI_ReqStatusCb wdiReqStatusCB;
4129 /*The user data passed in by UMAC, it will be sent back when the above
4130 function pointer will be called */
4131 void* pUserData;
4132}WDI_ConfigureRxpFilterReqParamsType;
4133
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05304134typedef struct
4135{
4136 wpt_uint8 enableFlag;
4137 wpt_uint8 frameType;
4138 wpt_uint8 frameSize;
4139 wpt_uint8 bufferMode;
Siddharth Bhald1be97f2015-05-27 22:39:59 +05304140 wpt_uint8 continuousFrameLogging;
4141 wpt_uint8 minLogBufferSize;
4142 wpt_uint8 maxLogBufferSize;
4143}WDI_FWLoggingInitReqInfoType;
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05304144
Siddharth Bhal64246172015-02-27 01:04:37 +05304145typedef struct
4146{
Gupta, Kapil7c34b322015-09-30 13:12:35 +05304147 wpt_uint32 requestId;
4148 wpt_uint8 minRssi;
4149 wpt_uint8 maxRssi;
4150 wpt_macAddr currentBssId;
4151}WDI_RssiMonitorReqInfoType;
4152
4153typedef struct
4154{
Sachin Ahuja715aafc2015-07-21 23:35:10 +05304155 wpt_uint32 reason_code;
4156}WDI_FatalEventLogsReqInfoType;
4157
4158
4159typedef struct
4160{
Siddharth Bhal64246172015-02-27 01:04:37 +05304161 wpt_uint8 flags;
4162}WDI_GetFrameLogReqInfoType;
4163
Siddharth Bhald1be97f2015-05-27 22:39:59 +05304164typedef struct
4165{
Hanumantha Reddy Pothulae00a7e22015-09-15 20:11:30 +05304166 wpt_uint16 status;
4167 wpt_uint16 doneIndicationForSource;
Siddharth Bhald1be97f2015-05-27 22:39:59 +05304168 wpt_uint64 logBuffAddress[MAX_NUM_OF_BUFFER];
Siddharth Bhald1be97f2015-05-27 22:39:59 +05304169 wpt_uint32 logBuffLength[MAX_NUM_OF_BUFFER];
4170}WDI_FWLoggingDXEdoneIndInfoType;
4171
Jeff Johnson295189b2012-06-20 16:38:30 -07004172/*---------------------------------------------------------------------------
4173 WDI_BeaconFilterInfoType
4174 Beacon Filtering data structures passed to WDA form UMAC
4175---------------------------------------------------------------------------*/
4176typedef struct
4177{
4178 wpt_uint16 usCapabilityInfo;
4179 wpt_uint16 usCapabilityMask;
4180 wpt_uint16 usBeaconInterval;
4181 wpt_uint16 usIeNum;
Madan Mohan Koyyalamudia84edda2012-10-15 14:58:25 -07004182 wpt_uint8 bssIdx;
4183 wpt_uint8 reserved;
Jeff Johnson295189b2012-06-20 16:38:30 -07004184}WDI_BeaconFilterInfoType;
4185
4186/*---------------------------------------------------------------------------
4187 WDI_BeaconFilterReqParamsType
4188 Beacon Filtering parameters passed to WDI form WDA
4189---------------------------------------------------------------------------*/
4190typedef struct
4191{
4192 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
4193 WDI_BeaconFilterInfoType wdiBeaconFilterInfo;
4194 /*Beacon Filter(s) follow the "usIeNum" field, hence the array to ease the
4195 copy of params from WDA to WDI */
4196 wpt_uint8 aFilters[WDI_BEACON_FILTER_LEN];
4197 /*Request status callback offered by UMAC - it is called if the current req
4198 has returned PENDING as status; it delivers the status of sending the message
4199 over the BUS */
4200 WDI_ReqStatusCb wdiReqStatusCB;
4201 /*The user data passed in by UMAC, it will be sent back when the above
4202 function pointer will be called */
4203 void* pUserData;
4204}WDI_BeaconFilterReqParamsType;
4205
4206/*---------------------------------------------------------------------------
4207 WDI_RemBeaconFilterInfoType
4208 Beacon Filtering data structures (to be reomoved) passed to WDA form UMAC
4209---------------------------------------------------------------------------*/
4210typedef struct
4211{
4212 wpt_uint8 ucIeCount;
4213 wpt_uint8 ucRemIeId[1];
4214}WDI_RemBeaconFilterInfoType;
4215
4216/*---------------------------------------------------------------------------
4217 WDI_RemBeaconFilterReqParamsType
4218 Beacon Filtering parameters (to be reomoved)passed to WDI form WDA
4219---------------------------------------------------------------------------*/
4220typedef struct
4221{
4222 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
4223 WDI_RemBeaconFilterInfoType wdiBeaconFilterInfo;
4224 /*Request status callback offered by UMAC - it is called if the current req
4225 has returned PENDING as status; it delivers the status of sending the message
4226 over the BUS */
4227 WDI_ReqStatusCb wdiReqStatusCB;
4228 /*The user data passed in by UMAC, it will be sent back when the above
4229 function pointer will be called */
4230 void* pUserData;
4231}WDI_RemBeaconFilterReqParamsType;
4232
4233/*---------------------------------------------------------------------------
4234 WDI_RSSIThresholdsType
4235 RSSI thresholds data structures (to be reomoved) passed to WDA form UMAC
4236---------------------------------------------------------------------------*/
4237typedef struct
4238{
4239 wpt_int8 ucRssiThreshold1 : 8;
4240 wpt_int8 ucRssiThreshold2 : 8;
4241 wpt_int8 ucRssiThreshold3 : 8;
4242 wpt_uint8 bRssiThres1PosNotify : 1;
4243 wpt_uint8 bRssiThres1NegNotify : 1;
4244 wpt_uint8 bRssiThres2PosNotify : 1;
4245 wpt_uint8 bRssiThres2NegNotify : 1;
4246 wpt_uint8 bRssiThres3PosNotify : 1;
4247 wpt_uint8 bRssiThres3NegNotify : 1;
4248 wpt_uint8 bReserved10 : 2;
4249} WDI_RSSIThresholdsType;
4250
4251/*---------------------------------------------------------------------------
4252 WDI_SetRSSIThresholdsReqParamsType
4253 RSSI thresholds parameters (to be reomoved)passed to WDI form WDA
4254---------------------------------------------------------------------------*/
4255typedef struct
4256{
4257 /*RSSI thresholds Info Type, same as WDI_RSSIThresholds */
4258 WDI_RSSIThresholdsType wdiRSSIThresholdsInfo;
4259 /*Request status callback offered by UMAC - it is called if the current req
4260 has returned PENDING as status; it delivers the status of sending the message
4261 over the BUS */
4262 WDI_ReqStatusCb wdiReqStatusCB;
4263 /*The user data passed in by UMAC, it will be sent back when the above
4264 function pointer will be called */
4265 void* pUserData;
4266}WDI_SetRSSIThresholdsReqParamsType;
4267
4268/*---------------------------------------------------------------------------
4269 WDI_HostOffloadReqType
4270 host offload info passed to WDA form UMAC
4271---------------------------------------------------------------------------*/
4272#ifdef WLAN_NS_OFFLOAD
4273typedef struct
4274{
4275 wpt_uint8 srcIPv6Addr[16];
4276 wpt_uint8 selfIPv6Addr[16];
4277 //Only support 2 possible Network Advertisement IPv6 address
4278 wpt_uint8 targetIPv6Addr1[16];
4279 wpt_uint8 targetIPv6Addr2[16];
4280 wpt_uint8 selfMacAddr[6];
4281 wpt_uint8 srcIPv6AddrValid : 1;
4282 wpt_uint8 targetIPv6Addr1Valid : 1;
4283 wpt_uint8 targetIPv6Addr2Valid : 1;
Gopichand Nakkala746a9452013-06-11 12:45:54 +05304284 wpt_uint8 slotIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004285} WDI_NSOffloadParams;
4286#endif //WLAN_NS_OFFLOAD
4287
4288typedef struct
4289{
4290 wpt_uint8 ucOffloadType;
4291 wpt_uint8 ucEnableOrDisable;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004292 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004293 union
4294 {
4295 wpt_uint8 aHostIpv4Addr [4];
4296 wpt_uint8 aHostIpv6Addr [16];
4297 } params;
4298} WDI_HostOffloadReqType;
4299
4300/*---------------------------------------------------------------------------
4301 WDI_HostOffloadReqParamsType
4302 host offload info passed to WDI form WDA
4303---------------------------------------------------------------------------*/
4304typedef struct
4305{
4306 /*Host offload Info Type, same as tHalHostOffloadReq */
4307 WDI_HostOffloadReqType wdiHostOffloadInfo;
4308#ifdef WLAN_NS_OFFLOAD
4309 WDI_NSOffloadParams wdiNsOffloadParams;
4310#endif //WLAN_NS_OFFLOAD
4311 /*Request status callback offered by UMAC - it is called if the current req
4312 has returned PENDING as status; it delivers the status of sending the message
4313 over the BUS */
4314 WDI_ReqStatusCb wdiReqStatusCB;
4315 /*The user data passed in by UMAC, it will be sent back when the above
4316 function pointer will be called */
4317 void* pUserData;
4318}WDI_HostOffloadReqParamsType;
4319
4320/*---------------------------------------------------------------------------
4321 WDI_KeepAliveReqType
4322 Keep Alive info passed to WDA form UMAC
4323---------------------------------------------------------------------------*/
4324typedef struct
4325{
4326 wpt_uint8 ucPacketType;
4327 wpt_uint32 ucTimePeriod;
4328 wpt_uint8 aHostIpv4Addr[4];
4329 wpt_uint8 aDestIpv4Addr[4];
4330 wpt_uint8 aDestMacAddr[6];
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004331 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004332} WDI_KeepAliveReqType;
4333
4334/*---------------------------------------------------------------------------
4335 WDI_KeepAliveReqParamsType
4336 Keep Alive passed to WDI form WDA
4337---------------------------------------------------------------------------*/
4338typedef struct
4339{
4340 /* Keep Alive Info Type, same as tHalKeepAliveReq */
4341 WDI_KeepAliveReqType wdiKeepAliveInfo;
4342 /*Request status callback offered by UMAC - it is called if the current req
4343 has returned PENDING as status; it delivers the status of sending the message
4344 over the BUS */
4345 WDI_ReqStatusCb wdiReqStatusCB;
4346 /*The user data passed in by UMAC, it will be sent back when the above
4347 function pointer will be called */
4348 void* pUserData;
4349}WDI_KeepAliveReqParamsType;
4350
4351/*---------------------------------------------------------------------------
4352 WDI_WowlAddBcPtrnInfoType
4353 Wowl add ptrn info passed to WDA form UMAC
4354---------------------------------------------------------------------------*/
4355typedef struct
4356{
4357 wpt_uint8 ucPatternId; // Pattern ID
4358 // Pattern byte offset from beginning of the 802.11 packet to start of the
4359 // wake-up pattern
4360 wpt_uint8 ucPatternByteOffset;
4361 wpt_uint8 ucPatternSize; // Non-Zero Pattern size
4362 wpt_uint8 ucPattern[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern
4363 wpt_uint8 ucPatternMaskSize; // Non-zero pattern mask size
4364 wpt_uint8 ucPatternMask[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern mask
4365 wpt_uint8 ucPatternExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern
4366 wpt_uint8 ucPatternMaskExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern mask
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004367 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004368} WDI_WowlAddBcPtrnInfoType;
4369
4370/*---------------------------------------------------------------------------
4371 WDI_WowlAddBcPtrnReqParamsType
4372 Wowl add ptrn info passed to WDI form WDA
4373---------------------------------------------------------------------------*/
4374typedef struct
4375{
4376 /*Wowl add ptrn Info Type, same as tpSirWowlAddBcastPtrn */
4377 WDI_WowlAddBcPtrnInfoType wdiWowlAddBcPtrnInfo;
4378 /*Request status callback offered by UMAC - it is called if the current req
4379 has returned PENDING as status; it delivers the status of sending the message
4380 over the BUS */
4381 WDI_ReqStatusCb wdiReqStatusCB;
4382 /*The user data passed in by UMAC, it will be sent back when the above
4383 function pointer will be called */
4384 void* pUserData;
4385}WDI_WowlAddBcPtrnReqParamsType;
4386
4387/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004388 WDI_WowlAddBcPtrnRspParamsType
4389 Wowl add ptrn info passed from WDI to WDA
4390---------------------------------------------------------------------------*/
4391typedef struct
4392{
4393 /*Status of the response*/
4394 WDI_Status wdiStatus;
4395 /*BssIDX of the session*/
4396 wpt_uint8 bssIdx;
4397}WDI_WowlAddBcPtrnRspParamsType;
4398
4399/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004400 WDI_WowlDelBcPtrnInfoType
4401 Wowl add ptrn info passed to WDA form UMAC
4402---------------------------------------------------------------------------*/
4403typedef struct
4404{
4405 /* Pattern ID of the wakeup pattern to be deleted */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004406 wpt_uint8 ucPatternId;
4407 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004408} WDI_WowlDelBcPtrnInfoType;
4409
4410/*---------------------------------------------------------------------------
4411 WDI_WowlDelBcPtrnReqParamsType
4412 Wowl add ptrn info passed to WDI form WDA
4413---------------------------------------------------------------------------*/
4414typedef struct
4415{
4416 /*Wowl delete ptrn Info Type, same as WDI_WowlDelBcastPtrn */
4417 WDI_WowlDelBcPtrnInfoType wdiWowlDelBcPtrnInfo;
4418 /*Request status callback offered by UMAC - it is called if the current req
4419 has returned PENDING as status; it delivers the status of sending the message
4420 over the BUS */
4421 WDI_ReqStatusCb wdiReqStatusCB;
4422 /*The user data passed in by UMAC, it will be sent back when the above
4423 function pointer will be called */
4424 void* pUserData;
4425}WDI_WowlDelBcPtrnReqParamsType;
4426
4427/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004428 WDI_WowlDelBcPtrnRspParamsType
4429 Wowl Del ptrn info passed from WDI to WDA
4430---------------------------------------------------------------------------*/
4431typedef struct
4432{
4433 /*Status of the response*/
4434 WDI_Status wdiStatus;
4435 /*BssIDX of the session*/
4436 wpt_uint8 bssIdx;
4437}WDI_WowlDelBcPtrnRspParamsType;
4438
4439/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004440 WDI_WowlEnterInfoType
4441 Wowl enter info passed to WDA form UMAC
4442---------------------------------------------------------------------------*/
4443typedef struct
4444{
4445 /* Enables/disables magic packet filtering */
4446 wpt_uint8 ucMagicPktEnable;
4447
4448 /* Magic pattern */
4449 wpt_macAddr magicPtrn;
4450
4451 /* Enables/disables packet pattern filtering in firmware.
4452 Enabling this flag enables broadcast pattern matching
4453 in Firmware. If unicast pattern matching is also desired,
4454 ucUcastPatternFilteringEnable flag must be set tot true
4455 as well
4456 */
4457 wpt_uint8 ucPatternFilteringEnable;
4458
4459 /* Enables/disables unicast packet pattern filtering.
4460 This flag specifies whether we want to do pattern match
4461 on unicast packets as well and not just broadcast packets.
4462 This flag has no effect if the ucPatternFilteringEnable
4463 (main controlling flag) is set to false
4464 */
4465 wpt_uint8 ucUcastPatternFilteringEnable;
4466
4467 /* This configuration is valid only when magicPktEnable=1.
4468 * It requests hardware to wake up when it receives the
4469 * Channel Switch Action Frame.
4470 */
4471 wpt_uint8 ucWowChnlSwitchRcv;
4472
4473 /* This configuration is valid only when magicPktEnable=1.
4474 * It requests hardware to wake up when it receives the
4475 * Deauthentication Frame.
4476 */
4477 wpt_uint8 ucWowDeauthRcv;
4478
4479 /* This configuration is valid only when magicPktEnable=1.
4480 * It requests hardware to wake up when it receives the
4481 * Disassociation Frame.
4482 */
4483 wpt_uint8 ucWowDisassocRcv;
4484
4485 /* This configuration is valid only when magicPktEnable=1.
4486 * It requests hardware to wake up when it has missed
4487 * consecutive beacons. This is a hardware register
4488 * configuration (NOT a firmware configuration).
4489 */
4490 wpt_uint8 ucWowMaxMissedBeacons;
4491
4492 /* This configuration is valid only when magicPktEnable=1.
4493 * This is a timeout value in units of microsec. It requests
4494 * hardware to unconditionally wake up after it has stayed
4495 * in WoWLAN mode for some time. Set 0 to disable this feature.
4496 */
4497 wpt_uint8 ucWowMaxSleepUsec;
4498
4499#ifdef WLAN_WAKEUP_EVENTS
4500 /* This configuration directs the WoW packet filtering to look for EAP-ID
4501 * requests embedded in EAPOL frames and use this as a wake source.
4502 */
4503 wpt_uint8 ucWoWEAPIDRequestEnable;
4504
4505 /* This configuration directs the WoW packet filtering to look for EAPOL-4WAY
4506 * requests and use this as a wake source.
4507 */
4508 wpt_uint8 ucWoWEAPOL4WayEnable;
4509
4510 /* This configuration allows a host wakeup on an network scan offload match.
4511 */
4512 wpt_uint8 ucWowNetScanOffloadMatch;
4513
4514 /* This configuration allows a host wakeup on any GTK rekeying error.
4515 */
4516 wpt_uint8 ucWowGTKRekeyError;
4517
4518 /* This configuration allows a host wakeup on BSS connection loss.
4519 */
4520 wpt_uint8 ucWoWBSSConnLoss;
4521#endif // WLAN_WAKEUP_EVENTS
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004522
4523 /* BSSIDX used to find the current session
4524 */
4525 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004526} WDI_WowlEnterInfoType;
4527
4528/*---------------------------------------------------------------------------
4529 WDI_WowlEnterReqParamsType
4530 Wowl enter info passed to WDI form WDA
4531---------------------------------------------------------------------------*/
4532typedef struct
4533{
4534 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
4535 WDI_WowlEnterInfoType wdiWowlEnterInfo;
4536 /*Request status callback offered by UMAC - it is called if the current req
4537 has returned PENDING as status; it delivers the status of sending the message
4538 over the BUS */
4539 WDI_ReqStatusCb wdiReqStatusCB;
4540 /*The user data passed in by UMAC, it will be sent back when the above
4541 function pointer will be called */
4542 void* pUserData;
4543}WDI_WowlEnterReqParamsType;
4544
4545/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004546 WDI_WowlEnterRsqParamsType
4547 Wowl enter info passed from WDI to WDA
4548---------------------------------------------------------------------------*/
4549typedef struct
4550{
4551 /*Status of the response message*/
4552 WDI_Status status;
4553
4554 /* BSSIDX used to find the current session
4555 */
4556 wpt_uint8 bssIdx;
4557}WDI_WowlEnterRspParamsType;
4558
4559/*---------------------------------------------------------------------------
4560 WDI_WowlExitInfoType
4561 Wowl exit info passed to WDA form UMAC
4562 ---------------------------------------------------------------------------*/
4563typedef struct
4564{
4565 /* BSSIDX used to find the current session
4566 */
4567 wpt_uint8 bssIdx;
4568} WDI_WowlExitInfoType;
4569
4570/*---------------------------------------------------------------------------
4571 WDI_WowlExitReqParamsType
4572 Wowl exit info passed to WDI form WDA
4573---------------------------------------------------------------------------*/
4574typedef struct
4575{
4576 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
4577 WDI_WowlExitInfoType wdiWowlExitInfo;
4578 /*Request status callback offered by UMAC - it is called if the current req
4579 has returned PENDING as status; it delivers the status of sending the message
4580 over the BUS */
4581 WDI_ReqStatusCb wdiReqStatusCB;
4582 /*The user data passed in by UMAC, it will be sent back when the above
4583 function pointer will be called */
4584 void* pUserData;
4585}WDI_WowlExitReqParamsType;
4586
4587/*---------------------------------------------------------------------------
4588 WDI_WowlExitRspParamsType
4589 Wowl exit info passed from WDI to WDA
4590---------------------------------------------------------------------------*/
4591typedef struct
4592{
4593 /*Status of the response message*/
4594 WDI_Status status;
4595
4596 /* BSSIDX used to find the current session
4597 */
4598 wpt_uint8 bssIdx;
4599}WDI_WowlExitRspParamsType;
4600
4601/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004602 WDI_ConfigureAppsCpuWakeupStateReqParamsType
4603 Apps Cpu Wakeup State parameters passed to WDI form WDA
4604---------------------------------------------------------------------------*/
4605typedef struct
4606{
4607 /*Depicts the state of the Apps CPU */
4608 wpt_boolean bIsAppsAwake;
4609 /*Request status callback offered by UMAC - it is called if the current req
4610 has returned PENDING as status; it delivers the status of sending the message
4611 over the BUS */
4612 WDI_ReqStatusCb wdiReqStatusCB;
4613 /*The user data passed in by UMAC, it will be sent back when the above
4614 function pointer will be called */
4615 void* pUserData;
4616}WDI_ConfigureAppsCpuWakeupStateReqParamsType;
4617/*---------------------------------------------------------------------------
4618 WDI_FlushAcReqinfoType
4619---------------------------------------------------------------------------*/
4620typedef struct
4621{
4622 // Message Type
4623 wpt_uint16 usMesgType;
4624
4625 // Message Length
4626 wpt_uint16 usMesgLen;
4627
4628 // Station Index. originates from HAL
4629 wpt_uint8 ucSTAId;
4630
4631 // TID for which the transmit queue is being flushed
4632 wpt_uint8 ucTid;
4633
4634}WDI_FlushAcReqinfoType;
4635
4636/*---------------------------------------------------------------------------
4637 WDI_FlushAcReqParamsType
4638---------------------------------------------------------------------------*/
4639typedef struct
4640{
4641 /*AC Info */
4642 WDI_FlushAcReqinfoType wdiFlushAcInfo;
4643
4644 /*Request status callback offered by UMAC - it is called if the current
4645 req has returned PENDING as status; it delivers the status of sending
4646 the message over the BUS */
4647 WDI_ReqStatusCb wdiReqStatusCB;
4648
4649 /*The user data passed in by UMAC, it will be sent back when the above
4650 function pointer will be called */
4651 void* pUserData;
4652}WDI_FlushAcReqParamsType;
4653
4654/*---------------------------------------------------------------------------
4655 WDI_BtAmpEventinfoType
4656 BT-AMP Event Structure
4657---------------------------------------------------------------------------*/
4658typedef struct
4659{
4660 wpt_uint8 ucBtAmpEventType;
4661
4662} WDI_BtAmpEventinfoType;
4663
4664/*---------------------------------------------------------------------------
4665 WDI_BtAmpEventParamsType
4666---------------------------------------------------------------------------*/
4667typedef struct
4668{
4669 /*BT AMP event Info */
4670 WDI_BtAmpEventinfoType wdiBtAmpEventInfo;
4671
4672 /*Request status callback offered by UMAC - it is called if the current
4673 req has returned PENDING as status; it delivers the status of sending
4674 the message over the BUS */
4675 WDI_ReqStatusCb wdiReqStatusCB;
4676
4677 /*The user data passed in by UMAC, it will be sent back when the above
4678 function pointer will be called */
4679 void* pUserData;
4680}WDI_BtAmpEventParamsType;
4681
Jeff Johnsone7245742012-09-05 17:12:55 -07004682#ifdef FEATURE_OEM_DATA_SUPPORT
4683
4684#ifndef OEM_DATA_REQ_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004685#define OEM_DATA_REQ_SIZE 134
Jeff Johnsone7245742012-09-05 17:12:55 -07004686#endif
4687#ifndef OEM_DATA_RSP_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004688#define OEM_DATA_RSP_SIZE 1968
Jeff Johnsone7245742012-09-05 17:12:55 -07004689#endif
4690
Padma, Santhosh Kumar2ccac212015-10-20 17:27:27 +05304691#ifndef NEW_OEM_DATA_REQ_SIZE
4692#define NEW_OEM_DATA_REQ_SIZE 292
4693#endif
4694
4695#ifndef NEW_OEM_DATA_RSP_SIZE
4696#define NEW_OEM_DATA_RSP_SIZE 2100
4697#endif
4698
Jeff Johnsone7245742012-09-05 17:12:55 -07004699/*----------------------------------------------------------------------------
4700 WDI_oemDataReqInfoType
4701----------------------------------------------------------------------------*/
4702typedef struct
4703{
4704 wpt_macAddr selfMacAddr;
4705 wpt_uint8 oemDataReq[OEM_DATA_REQ_SIZE];
4706}WDI_oemDataReqInfoType;
4707
4708/*----------------------------------------------------------------------------
4709 WDI_oemDataReqParamsType
4710----------------------------------------------------------------------------*/
4711typedef struct
4712{
4713 /*Request status callback offered by UMAC - it is called if the current
4714 req has returned PENDING as status; it delivers the status of sending
4715 the message over the BUS */
4716 WDI_ReqStatusCb wdiReqStatusCB;
4717
4718 /*The user data passed in by UMAC, it will be sent back when the above
4719 function pointer will be called */
4720 void* pUserData;
4721
4722 /*OEM DATA REQ Info */
4723 WDI_oemDataReqInfoType wdiOemDataReqInfo;
4724
4725}WDI_oemDataReqParamsType;
4726
4727/*----------------------------------------------------------------------------
4728 WDI_oemDataRspParamsType
4729----------------------------------------------------------------------------*/
4730typedef struct
4731{
4732 wpt_uint8 oemDataRsp[OEM_DATA_RSP_SIZE];
4733}WDI_oemDataRspParamsType;
4734
Padma, Santhosh Kumar2ccac212015-10-20 17:27:27 +05304735/*----------------------------------------------------------------------------
4736 OEM DATA REQ NEW/OEM DATA RSP NEW - DATA STRUCTURES
4737----------------------------------------------------------------------------*/
4738/* Structure for defining req sent to the PE */
4739typedef struct
4740{
Padma, Santhosh Kumar70380cf2016-01-11 18:42:20 +05304741 wpt_macAddr selfMacAddr;
4742 wpt_uint8 reserved[2];
Padma, Santhosh Kumar2ccac212015-10-20 17:27:27 +05304743 wpt_uint8 oemDataReqNew[NEW_OEM_DATA_REQ_SIZE];
4744} WDI_OemDataReqNew, WDI_OemDataReqNewConfig;
4745
Padma, Santhosh Kumar2ccac212015-10-20 17:27:27 +05304746/*************************************************************************************************************/
4747
Jeff Johnsone7245742012-09-05 17:12:55 -07004748#endif /* FEATURE_OEM_DATA_SUPPORT */
Jeff Johnson295189b2012-06-20 16:38:30 -07004749
4750#ifdef WLAN_FEATURE_VOWIFI_11R
4751/*---------------------------------------------------------------------------
4752 WDI_AggrAddTSReqInfoType
4753---------------------------------------------------------------------------*/
4754typedef struct
4755{
4756 /*STA Index*/
4757 wpt_uint8 ucSTAIdx;
4758
4759 /*Identifier for TSpec*/
4760 wpt_uint8 ucTspecIdx;
4761
4762 /*Tspec IE negotiated OTA*/
4763 WDI_TspecIEType wdiTspecIE[WDI_MAX_NO_AC];
4764
4765 /*UAPSD delivery and trigger enabled flags */
4766 wpt_uint8 ucUapsdFlags;
4767
4768 /*SI for each AC*/
4769 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
4770
4771 /*Suspend Interval for each AC*/
4772 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
4773
4774 /*DI for each AC*/
4775 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
4776
4777}WDI_AggrAddTSReqInfoType;
4778
4779
4780/*---------------------------------------------------------------------------
4781 WDI_AggrAddTSReqParamsType
4782---------------------------------------------------------------------------*/
4783typedef struct
4784{
4785 /*TSpec Info */
4786 WDI_AggrAddTSReqInfoType wdiAggrTsInfo;
4787
4788 /*Request status callback offered by UMAC - it is called if the current
4789 req has returned PENDING as status; it delivers the status of sending
4790 the message over the BUS */
4791 WDI_ReqStatusCb wdiReqStatusCB;
4792
4793 /*The user data passed in by UMAC, it will be sent back when the above
4794 function pointer will be called */
4795 void* pUserData;
4796}WDI_AggrAddTSReqParamsType;
4797
4798#endif /* WLAN_FEATURE_VOWIFI_11R */
4799
Jeff Johnson295189b2012-06-20 16:38:30 -07004800/*---------------------------------------------------------------------------
4801 WDI_FTMCommandReqType
4802---------------------------------------------------------------------------*/
4803typedef struct
4804{
4805 /* FTM Command Body length */
4806 wpt_uint32 bodyLength;
4807 /* Actual FTM Command body */
4808 void *FTMCommandBody;
4809}WDI_FTMCommandReqType;
Jeff Johnson295189b2012-06-20 16:38:30 -07004810
4811/*---------------------------------------------------------------------------
4812 WDI_WlanSuspendInfoType
4813---------------------------------------------------------------------------*/
4814typedef struct
4815{
4816 /* Mode of Mcast and Bcast filters configured */
4817 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4818}WDI_WlanSuspendInfoType;
4819
4820/*---------------------------------------------------------------------------
4821 WDI_SuspendParamsType
4822---------------------------------------------------------------------------*/
4823typedef struct
4824{
4825 WDI_WlanSuspendInfoType wdiSuspendParams;
4826
4827 /*Request status callback offered by UMAC - it is called if the current
4828 req has returned PENDING as status; it delivers the status of sending
4829 the message over the BUS */
4830 WDI_ReqStatusCb wdiReqStatusCB;
4831
4832 /*The user data passed in by UMAC, it will be sent back when the above
4833 function pointer will be called */
4834 void* pUserData;
4835
4836}WDI_SuspendParamsType;
4837
4838/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004839 WDI_TrafficStatsType - This is collected for each STA
4840---------------------------------------------------------------------------*/
4841
4842typedef struct
4843{
4844 /* TX stats */
4845 wpt_uint32 txBytesPushed;
4846 wpt_uint32 txPacketsPushed;
4847
4848 /* RX stats */
4849 wpt_uint32 rxBytesRcvd;
4850 wpt_uint32 rxPacketsRcvd;
4851 wpt_uint32 rxTimeTotal;
4852}WDI_TrafficStatsType;
4853
4854typedef struct
4855{
4856 WDI_TrafficStatsType *pTrafficStats;
4857 wpt_uint32 length;
4858 wpt_uint32 duration;
4859
4860 /*Request status callback offered by UMAC - it is called if the current
4861 req has returned PENDING as status; it delivers the status of sending
4862 the message over the BUS */
4863 WDI_ReqStatusCb wdiReqStatusCB;
4864
4865 /*The user data passed in by UMAC, it will be sent back when the above
4866 function pointer will be called */
4867 void* pUserData;
4868}WDI_TrafficStatsIndType;
4869
Chet Lanctot186b5732013-03-18 10:26:30 -07004870#ifdef WLAN_FEATURE_11W
4871typedef struct
4872{
4873
4874 wpt_boolean bExcludeUnencrypt;
4875 wpt_macAddr bssid;
4876 /*Request status callback offered by UMAC - it is called if the current
4877 req has returned PENDING as status; it delivers the status of sending
4878 the message over the BUS */
4879 WDI_ReqStatusCb wdiReqStatusCB;
4880
4881 /*The user data passed in by UMAC, it will be sent back when the above
4882 function pointer will be called */
4883 void* pUserData;
4884}WDI_ExcludeUnencryptIndType;
4885#endif
4886
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004887/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004888 WDI_WlanResumeInfoType
4889---------------------------------------------------------------------------*/
4890typedef struct
4891{
4892 /* Mode of Mcast and Bcast filters configured */
4893 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4894}WDI_WlanResumeInfoType;
4895
4896/*---------------------------------------------------------------------------
4897 WDI_ResumeParamsType
4898---------------------------------------------------------------------------*/
4899typedef struct
4900{
4901 WDI_WlanResumeInfoType wdiResumeParams;
4902
4903 /*Request status callback offered by UMAC - it is called if the current
4904 req has returned PENDING as status; it delivers the status of sending
4905 the message over the BUS */
4906 WDI_ReqStatusCb wdiReqStatusCB;
4907
4908 /*The user data passed in by UMAC, it will be sent back when the above
4909 function pointer will be called */
4910 void* pUserData;
4911
4912}WDI_ResumeParamsType;
4913
4914#ifdef WLAN_FEATURE_GTK_OFFLOAD
4915/*---------------------------------------------------------------------------
4916 * WDI_GTK_OFFLOAD_REQ
4917 *--------------------------------------------------------------------------*/
4918
4919typedef struct
4920{
4921 wpt_uint32 ulFlags; /* optional flags */
4922 wpt_uint8 aKCK[16]; /* Key confirmation key */
4923 wpt_uint8 aKEK[16]; /* key encryption key */
4924 wpt_uint64 ullKeyReplayCounter; /* replay counter */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004925 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004926} WDI_GtkOffloadReqParams;
4927
4928typedef struct
4929{
4930 WDI_GtkOffloadReqParams gtkOffloadReqParams;
4931
4932 /*Request status callback offered by UMAC - it is called if the current
4933 req has returned PENDING as status; it delivers the status of sending
4934 the message over the BUS */
4935 WDI_ReqStatusCb wdiReqStatusCB;
4936
4937 /*The user data passed in by UMAC, it will be sent back when the above
4938 function pointer will be called */
4939 void* pUserData;
4940} WDI_GtkOffloadReqMsg;
4941
4942/*---------------------------------------------------------------------------
4943 * WDI_GTK_OFFLOAD_RSP
4944 *--------------------------------------------------------------------------*/
4945typedef struct
4946{
4947 /* success or failure */
4948 wpt_uint32 ulStatus;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004949 /*BssIdx of the response */
4950 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004951} WDI_GtkOffloadRspParams;
4952
4953typedef struct
4954{
4955 WDI_GtkOffloadRspParams gtkOffloadRspParams;
4956
4957 /*Request status callback offered by UMAC - it is called if the current
4958 req has returned PENDING as status; it delivers the status of sending
4959 the message over the BUS */
4960 WDI_ReqStatusCb wdiReqStatusCB;
4961
4962 /*The user data passed in by UMAC, it will be sent back when the above
4963 function pointer will be called */
4964 void* pUserData;
4965} WDI_GtkOffloadRspMsg;
4966
4967
4968/*---------------------------------------------------------------------------
4969* WDI_GTK_OFFLOAD_GETINFO_REQ
4970*--------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004971typedef struct
4972{
4973 /*BssIdx of the response */
4974 wpt_macAddr bssId;
4975} WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004976
4977typedef struct
4978{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004979
4980 WDI_GtkOffloadGetInfoReqParams WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004981 /*Request status callback offered by UMAC - it is called if the current
4982 req has returned PENDING as status; it delivers the status of sending
4983 the message over the BUS */
4984 WDI_ReqStatusCb wdiReqStatusCB;
4985
4986 /*The user data passed in by UMAC, it will be sent back when the above
4987 function pointer will be called */
4988 void* pUserData;
4989} WDI_GtkOffloadGetInfoReqMsg;
4990
4991/*---------------------------------------------------------------------------
4992* WDI_GTK_OFFLOAD_GETINFO_RSP
4993*--------------------------------------------------------------------------*/
4994typedef struct
4995{
4996 wpt_uint32 ulStatus; /* success or failure */
4997 wpt_uint64 ullKeyReplayCounter; /* current replay counter value */
4998 wpt_uint32 ulTotalRekeyCount; /* total rekey attempts */
4999 wpt_uint32 ulGTKRekeyCount; /* successful GTK rekeys */
5000 wpt_uint32 ulIGTKRekeyCount; /* successful iGTK rekeys */
Gopichand Nakkala870cbae2013-03-15 21:16:09 +05305001 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005002} WDI_GtkOffloadGetInfoRspParams;
5003
5004typedef struct
5005{
5006 WDI_GtkOffloadGetInfoRspParams gtkOffloadGetInfoRspParams;
5007
5008 /*Request status callback offered by UMAC - it is called if the current
5009 req has returned PENDING as status; it delivers the status of sending
5010 the message over the BUS */
5011 WDI_ReqStatusCb wdiReqStatusCB;
5012
5013 /*The user data passed in by UMAC, it will be sent back when the above
5014 function pointer will be called */
5015 void* pUserData;
5016} WDI_GtkOffloadGetInfoRspMsg;
5017#endif // WLAN_FEATURE_GTK_OFFLOAD
5018
5019/*---------------------------------------------------------------------------
5020 WDI_SuspendResumeRspParamsType
5021---------------------------------------------------------------------------*/
5022typedef struct
5023{
5024 /*Status of the response*/
5025 WDI_Status wdiStatus;
5026}WDI_SuspendResumeRspParamsType;
5027
Leo Chang9056f462013-08-01 19:21:11 -07005028#ifdef FEATURE_WLAN_LPHB
5029/*---------------------------------------------------------------------------
5030 WDI Low Power Heart Beat Config request
5031 Copy from sirApi.h to avoid compile error
5032---------------------------------------------------------------------------*/
5033#define WDI_LPHB_FILTER_LEN 64
5034
5035typedef enum
5036{
5037 WDI_LPHB_SET_EN_PARAMS_INDID = 0x0001,
5038 WDI_LPHB_SET_TCP_PARAMS_INDID,
5039 WDI_LPHB_SET_TCP_PKT_FILTER_INDID,
5040 WDI_LPHB_SET_UDP_PARAMS_INDID,
5041 WDI_LPHB_SET_UDP_PKT_FILTER_INDID,
5042 WDI_LPHB_SET_NETWORK_INFO_INDID,
5043} WDI_LPHBIndType;
5044
5045typedef struct
5046{
5047 wpt_uint8 enable;
5048 wpt_uint8 item;
5049 wpt_uint8 session;
5050} WDI_LPHBEnableStruct;
5051
5052typedef struct
5053{
5054 wpt_uint32 srv_ip;
5055 wpt_uint32 dev_ip;
5056 wpt_uint16 src_port;
5057 wpt_uint16 dst_port;
5058 wpt_uint16 timeout;
5059 wpt_uint8 session;
5060 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
Leo Changd9df8aa2013-09-26 13:32:26 -07005061 wpt_uint16 timePeriodSec; // in seconds
5062 wpt_uint32 tcpSn;
Leo Chang9056f462013-08-01 19:21:11 -07005063} WDI_LPHBTcpParamStruct;
5064
5065typedef struct
5066{
5067 wpt_uint16 length;
5068 wpt_uint8 offset;
5069 wpt_uint8 session;
5070 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
5071} WDI_LPHBTcpFilterStruct;
5072
5073typedef struct
5074{
5075 wpt_uint32 srv_ip;
5076 wpt_uint32 dev_ip;
5077 wpt_uint16 src_port;
5078 wpt_uint16 dst_port;
5079 wpt_uint16 interval;
5080 wpt_uint16 timeout;
5081 wpt_uint8 session;
5082 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
5083} WDI_LPHBUdpParamStruct;
5084
5085typedef struct
5086{
5087 wpt_uint16 length;
5088 wpt_uint8 offset;
5089 wpt_uint8 session;
5090 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
5091} WDI_LPHBUdpFilterStruct;
5092
5093typedef struct
5094{
5095 wpt_uint16 cmd;
5096 wpt_uint16 dummy;
5097 union
5098 {
5099 WDI_LPHBEnableStruct lphbEnableReq;
5100 WDI_LPHBTcpParamStruct lphbTcpParamReq;
5101 WDI_LPHBTcpFilterStruct lphbTcpFilterReq;
5102 WDI_LPHBUdpParamStruct lphbUdpParamReq;
5103 WDI_LPHBUdpFilterStruct lphbUdpFilterReq;
5104 } params;
5105} WDI_LPHBReq;
5106#endif /* FEATURE_WLAN_LPHB */
Jeff Johnson295189b2012-06-20 16:38:30 -07005107
Jeff Johnson295189b2012-06-20 16:38:30 -07005108/*---------------------------------------------------------------------------
5109 WDI_AuthType
5110---------------------------------------------------------------------------*/
5111typedef enum
5112{
5113 WDI_AUTH_TYPE_ANY = 0,
5114
5115 WDI_AUTH_TYPE_NONE,
5116 WDI_AUTH_TYPE_OPEN_SYSTEM,
5117 WDI_AUTH_TYPE_SHARED_KEY,
5118
5119 WDI_AUTH_TYPE_WPA,
5120 WDI_AUTH_TYPE_WPA_PSK,
5121 WDI_AUTH_TYPE_WPA_NONE,
5122
5123 WDI_AUTH_TYPE_RSN,
5124 WDI_AUTH_TYPE_RSN_PSK,
5125 WDI_AUTH_TYPE_FT_RSN,
5126 WDI_AUTH_TYPE_FT_RSN_PSK,
5127 WDI_AUTH_TYPE_WAPI_WAI_CERTIFICATE,
5128 WDI_AUTH_TYPE_WAPI_WAI_PSK,
5129 WDI_AUTH_TYPE_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
5130
5131}WDI_AuthType;
5132
5133/*---------------------------------------------------------------------------
5134 WDI_EdType
5135---------------------------------------------------------------------------*/
5136typedef enum
5137{
5138 WDI_ED_ANY = 0,
5139 WDI_ED_NONE,
5140 WDI_ED_WEP40,
5141 WDI_ED_WEP104,
5142 WDI_ED_TKIP,
5143 WDI_ED_CCMP,
5144 WDI_ED_WPI,
5145 WDI_ED_AES_128_CMAC,
5146 WDI_ED_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
5147} WDI_EdType;
5148
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005149#ifdef FEATURE_WLAN_SCAN_PNO
5150
5151/*Max number of channels for a given network supported by PNO*/
5152#define WDI_PNO_MAX_NETW_CHANNELS 26
5153
5154/*Max number of channels for a given network supported by PNO*/
5155#define WDI_PNO_MAX_NETW_CHANNELS_EX 60
5156
5157/*The max number of programable networks for PNO*/
5158#define WDI_PNO_MAX_SUPP_NETWORKS 16
5159
5160/*The max number of scan timers programable in Riva*/
5161#define WDI_PNO_MAX_SCAN_TIMERS 10
5162
5163#define WDI_PNO_MAX_PROBE_SIZE 450
Jeff Johnson295189b2012-06-20 16:38:30 -07005164
5165/*---------------------------------------------------------------------------
5166 WDI_PNOMode
5167---------------------------------------------------------------------------*/
5168typedef enum
5169{
5170 /*Network offload is to start immediately*/
5171 WDI_PNO_MODE_IMMEDIATE,
5172
5173 /*Network offload is to start on host suspend*/
5174 WDI_PNO_MODE_ON_SUSPEND,
5175
5176 /*Network offload is to start on host resume*/
5177 WDI_PNO_MODE_ON_RESUME,
5178 WDI_PNO_MODE_MAX = 0xFFFFFFFF
5179} WDI_PNOMode;
5180
5181/* SSID broadcast type */
5182typedef enum
5183{
5184 WDI_BCAST_UNKNOWN = 0,
5185 WDI_BCAST_NORMAL = 1,
5186 WDI_BCAST_HIDDEN = 2,
5187
5188 WDI_BCAST_TYPE_MAX = 0xFFFFFFFF
5189} WDI_SSIDBcastType;
5190
5191/*---------------------------------------------------------------------------
5192 WDI_NetworkType
5193---------------------------------------------------------------------------*/
5194typedef struct
5195{
5196 /*The SSID of the preferred network*/
5197 WDI_MacSSid ssId;
5198
5199 /*The authentication method of the preferred network*/
5200 WDI_AuthType wdiAuth;
5201
5202 /*The encryption method of the preferred network*/
5203 WDI_EdType wdiEncryption;
5204
5205 /*SSID broadcast type, normal, hidden or unknown*/
5206 WDI_SSIDBcastType wdiBcastNetworkType;
5207
5208 /*channel count - 0 for all channels*/
5209 wpt_uint8 ucChannelCount;
5210
5211 /*the actual channels*/
Madan Mohan Koyyalamudi4bb5d2e2013-09-26 17:36:46 +05305212 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
Jeff Johnson295189b2012-06-20 16:38:30 -07005213
5214 /*rssi threshold that a network must meet to be considered, 0 - for any*/
5215 wpt_uint8 rssiThreshold;
5216} WDI_NetworkType;
5217
5218
5219/*---------------------------------------------------------------------------
5220 WDI_ScanTimer
5221---------------------------------------------------------------------------*/
5222typedef struct
5223{
5224 /*The timer value*/
5225 wpt_uint32 uTimerValue;
5226
5227 /*The amount of time we should be repeating the interval*/
5228 wpt_uint32 uTimerRepeat;
5229} WDI_ScanTimer;
5230
5231/*---------------------------------------------------------------------------
5232 WDI_ScanTimersType
5233---------------------------------------------------------------------------*/
5234typedef struct
5235{
5236 /*The number of value pair intervals present in the array*/
5237 wpt_uint8 ucScanTimersCount;
5238
5239 /*The time-repeat value pairs*/
5240 WDI_ScanTimer aTimerValues[WDI_PNO_MAX_SCAN_TIMERS];
5241} WDI_ScanTimersType;
5242
5243/*---------------------------------------------------------------------------
5244 WDI_PNOScanReqType
5245---------------------------------------------------------------------------*/
5246typedef struct
5247{
5248 /*Enable or disable PNO feature*/
5249 wpt_uint8 bEnable;
5250
5251 /*PNO mode requested*/
5252 WDI_PNOMode wdiModePNO;
5253
5254 /*Network count*/
5255 wpt_uint8 ucNetworksCount;
5256
5257 /*The networks to look for*/
5258 WDI_NetworkType aNetworks[WDI_PNO_MAX_SUPP_NETWORKS];
5259
5260 /*Scan timer intervals*/
5261 WDI_ScanTimersType scanTimers;
5262
5263 /*Probe template for 2.4GHz band*/
5264 wpt_uint16 us24GProbeSize;
5265 wpt_uint8 a24GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
5266
5267 /*Probe template for 5GHz band*/
5268 wpt_uint16 us5GProbeSize;
5269 wpt_uint8 a5GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
5270} WDI_PNOScanReqType;
5271
5272/*---------------------------------------------------------------------------
5273 WDI_PNOScanReqParamsType
5274 PNO info passed to WDI form WDA
5275---------------------------------------------------------------------------*/
5276typedef struct
5277{
5278 /* PNO Info Type, same as tPrefNetwListParams */
5279 WDI_PNOScanReqType wdiPNOScanInfo;
5280 /* Request status callback offered by UMAC - it is called if the current req
5281 has returned PENDING as status; it delivers the status of sending the message
5282 over the BUS */
5283 WDI_ReqStatusCb wdiReqStatusCB;
5284 /* The user data passed in by UMAC, it will be sent back when the above
5285 function pointer will be called */
5286 void* pUserData;
5287} WDI_PNOScanReqParamsType;
5288
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005289/*---------------------------------------------------------------------------
5290 WDI_SetRssiFilterReqParamsType
5291 PNO info passed to WDI form WDA
5292---------------------------------------------------------------------------*/
5293typedef struct
5294{
5295 /* RSSI Threshold */
5296 wpt_uint8 rssiThreshold;
5297 /* Request status callback offered by UMAC - it is called if the current req
5298 has returned PENDING as status; it delivers the status of sending the message
5299 over the BUS */
5300 WDI_ReqStatusCb wdiReqStatusCB;
5301 /* The user data passed in by UMAC, it will be sent back when the above
5302 function pointer will be called */
5303 void* pUserData;
5304} WDI_SetRssiFilterReqParamsType;
5305
5306/*---------------------------------------------------------------------------
5307 WDI_UpdateScanParamsInfo
5308---------------------------------------------------------------------------*/
5309typedef struct
5310{
5311 /*Is 11d enabled*/
5312 wpt_uint8 b11dEnabled;
5313
5314 /*Was UMAc able to find the regulatory domain*/
5315 wpt_uint8 b11dResolved;
5316
5317 /*Number of channel allowed in the regulatory domain*/
5318 wpt_uint8 ucChannelCount;
5319
5320 /*The actual channels allowed in the regulatory domain*/
5321 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
5322
5323 /*Passive min channel time*/
5324 wpt_uint16 usPassiveMinChTime;
5325
5326 /*Passive max channel time*/
5327 wpt_uint16 usPassiveMaxChTime;
5328
5329 /*Active min channel time*/
5330 wpt_uint16 usActiveMinChTime;
5331
5332 /*Active max channel time*/
5333 wpt_uint16 usActiveMaxChTime;
5334
5335 /*channel bonding info*/
5336 wpt_uint8 cbState;
5337} WDI_UpdateScanParamsInfo;
5338
5339/*---------------------------------------------------------------------------
5340 WDI_UpdateScanParamsInfoType
5341 UpdateScanParams info passed to WDI form WDA
5342---------------------------------------------------------------------------*/
5343typedef struct
5344{
5345 /* PNO Info Type, same as tUpdateScanParams */
5346 WDI_UpdateScanParamsInfo wdiUpdateScanParamsInfo;
5347 /* Request status callback offered by UMAC - it is called if the current req
5348 has returned PENDING as status; it delivers the status of sending the message
5349 over the BUS */
5350 WDI_ReqStatusCb wdiReqStatusCB;
5351 /* The user data passed in by UMAC, it will be sent back when the above
5352 function pointer will be called */
5353 void* pUserData;
5354} WDI_UpdateScanParamsInfoType;
5355#endif //FEATURE_WLAN_SCAN_PNO
5356
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005357#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
5358
Varun Reddy Yeturu52231ea2014-02-06 12:00:56 -08005359#define WDI_ROAM_SCAN_MAX_CHANNELS 80
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005360#define WDI_ROAM_SCAN_MAX_PROBE_SIZE 450
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005361
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005362typedef struct
5363{
5364 /*The SSID of the preferred network*/
5365 WDI_MacSSid ssId;
5366 wpt_uint8 currAPbssid[WDI_MAC_ADDR_LEN];
5367
5368 /*The authentication method of the preferred network*/
5369 WDI_AuthType authentication;
5370
5371 /*The encryption method of the preferred network*/
5372 WDI_EdType encryption;
5373 WDI_EdType mcencryption;
5374
5375 /*SSID broadcast type, normal, hidden or unknown*/
5376 //WDI_SSIDBcastType wdiBcastNetworkType;
5377
5378 /*channel count - 0 for all channels*/
5379 wpt_uint8 ChannelCount;
5380
5381 /*the actual channels*/
5382 wpt_uint8 ChannelCache[WDI_ROAM_SCAN_MAX_CHANNELS];
5383
5384} WDI_RoamNetworkType;
5385
5386typedef struct WDIMobilityDomainInfo
5387{
5388 wpt_uint8 mdiePresent;
5389 wpt_uint16 mobilityDomain;
5390} WDI_MobilityDomainInfo;
5391
5392/*---------------------------------------------------------------------------
5393 WDI_RoamOffloadScanInfo
5394---------------------------------------------------------------------------*/
5395typedef struct
5396{
5397 wpt_boolean RoamScanOffloadEnabled;
Sameer Thalappil4ae66ec2013-11-05 14:17:35 -08005398 wpt_boolean MAWCEnabled;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005399 wpt_uint8 LookupThreshold;
Varun Reddy Yeturu6c5e25c2014-01-09 21:55:37 -08005400 wpt_uint8 RxSensitivityThreshold;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005401 wpt_uint8 RoamRssiDiff;
5402 wpt_uint8 ChannelCacheType;
5403 wpt_uint8 Command;
5404 wpt_uint8 StartScanReason;
5405 wpt_uint16 NeighborScanTimerPeriod;
5406 wpt_uint16 NeighborRoamScanRefreshPeriod;
5407 wpt_uint16 NeighborScanChannelMinTime;
5408 wpt_uint16 NeighborScanChannelMaxTime;
5409 wpt_uint16 EmptyRefreshScanPeriod;
5410 wpt_uint8 ValidChannelCount;
5411 wpt_uint8 ValidChannelList[WDI_ROAM_SCAN_MAX_CHANNELS];
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08005412 wpt_boolean IsESEEnabled;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005413 /*Probe template for 2.4GHz band*/
5414 wpt_uint16 us24GProbeSize;
5415 wpt_uint8 a24GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
5416
5417 /*Probe template for 5GHz band*/
5418 wpt_uint16 us5GProbeSize;
5419 wpt_uint8 a5GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005420 /*LFR BG Scan will currently look for only one network to which it is initially connected.
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005421 * As per requirement, later, the following structure can be used as an array of networks.*/
5422 WDI_RoamNetworkType ConnectedNetwork;
5423 WDI_MobilityDomainInfo MDID;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005424 wpt_uint8 nProbes;
5425 wpt_uint16 HomeAwayTime;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005426} WDI_RoamOffloadScanInfo;
5427
5428typedef struct
5429{
5430 /* Start Roam Candidate Lookup Offload Back Ground Info Type */
5431 WDI_RoamOffloadScanInfo wdiRoamOffloadScanInfo;
5432 /* Request status callback offered by UMAC - it is called if the current req
5433 has returned PENDING as status; it delivers the status of sending the message
5434 over the BUS */
5435 WDI_ReqStatusCb wdiReqStatusCB;
5436 /* The user data passed in by UMAC, it will be sent back when the above
5437 function pointer will be called */
5438 void* pUserData;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005439} WDI_RoamScanOffloadReqParamsType;
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005440#endif //WLAN_FEATURE_ROAM_SCAN_OFFLOAD
Jeff Johnson295189b2012-06-20 16:38:30 -07005441
5442/*---------------------------------------------------------------------------
Sandeep Puligilla8b8b74b2014-02-10 16:39:05 +05305443 WDI_HT40ObssScanIndType
5444---------------------------------------------------------------------------*/
5445typedef struct
5446{
5447 wpt_uint8 cmdType;
5448 wpt_uint8 scanType;
5449 wpt_uint16 OBSSScanPassiveDwellTime; // In TUs
5450 wpt_uint16 OBSSScanActiveDwellTime; // In TUs
5451 wpt_uint16 BSSChannelWidthTriggerScanInterval; // In seconds
5452 wpt_uint16 OBSSScanPassiveTotalPerChannel; // In TUs
5453 wpt_uint16 OBSSScanActiveTotalPerChannel; // In TUs
5454 wpt_uint16 BSSWidthChannelTransitionDelayFactor;
5455 wpt_uint16 OBSSScanActivityThreshold;
5456 wpt_uint8 selfStaIdx;
5457 wpt_uint8 bssIdx;
5458 wpt_uint8 fortyMHZIntolerent;
5459 wpt_uint8 channelCount;
5460 wpt_uint8 channels[WDI_ROAM_SCAN_MAX_CHANNELS];
5461 wpt_uint8 currentOperatingClass;
5462 wpt_uint16 ieFieldLen;
5463 wpt_uint8 ieField[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
5464} WDI_HT40ObssScanIndType;
5465
5466
5467/*---------------------------------------------------------------------------
5468 WDI_OBSSScanIndParamsType
5469---------------------------------------------------------------------------*/
5470typedef struct
5471{
5472 WDI_HT40ObssScanIndType wdiHT40ObssScanParam;
5473
5474 /*Request status callback offered by UMAC - it is called if the current
5475 req has returned PENDING as status; it delivers the status of sending
5476 the message over the BUS */
5477 WDI_ReqStatusCb wdiReqStatusCB;
5478
5479 /*The user data passed in by UMAC, it will be sent back when the above
5480 function pointer will be called */
5481 void* pUserData;
5482
5483}WDI_HT40ObssScanParamsType;
5484
5485/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07005486 WDI_UpdateScanParamsInfo
5487---------------------------------------------------------------------------*/
5488typedef struct
5489{
5490 /* Ignore DTIM */
5491 wpt_uint32 uIgnoreDTIM;
5492
5493 /*DTIM Period*/
5494 wpt_uint32 uDTIMPeriod;
5495
5496 /* Listen Interval */
5497 wpt_uint32 uListenInterval;
5498
5499 /* Broadcast Multicas Filter */
5500 wpt_uint32 uBcastMcastFilter;
5501
5502 /* Beacon Early Termination */
5503 wpt_uint32 uEnableBET;
5504
5505 /* Beacon Early Termination Interval */
5506 wpt_uint32 uBETInterval;
5507
Yue Mac24062f2013-05-13 17:01:29 -07005508 /* MAX LI for modulated DTIM */
5509 wpt_uint32 uMaxLIModulatedDTIM;
5510
Jeff Johnson295189b2012-06-20 16:38:30 -07005511} WDI_SetPowerParamsInfo;
5512
5513/*---------------------------------------------------------------------------
5514 WDI_UpdateScanParamsInfoType
5515 UpdateScanParams info passed to WDI form WDA
5516---------------------------------------------------------------------------*/
5517typedef struct
5518{
5519 /* Power params Info Type, same as tSetPowerParamsReq */
5520 WDI_SetPowerParamsInfo wdiSetPowerParamsInfo;
5521 /* Request status callback offered by UMAC - it is called if the current req
5522 has returned PENDING as status; it delivers the status of sending the message
5523 over the BUS */
5524 WDI_ReqStatusCb wdiReqStatusCB;
5525 /* The user data passed in by UMAC, it will be sent back when the above
5526 function pointer will be called */
5527 void* pUserData;
5528}WDI_SetPowerParamsReqParamsType;
5529
5530/*---------------------------------------------------------------------------
5531 WDI_SetTxPerTrackingConfType
5532 Wowl add ptrn info passed to WDA form UMAC
5533---------------------------------------------------------------------------*/
5534typedef struct
5535{
5536 wpt_uint8 ucTxPerTrackingEnable; /* 0: disable, 1:enable */
5537 wpt_uint8 ucTxPerTrackingPeriod; /* Check period, unit is sec. */
5538 wpt_uint8 ucTxPerTrackingRatio; /* (Fail TX packet)/(Total TX packet) ratio, the unit is 10%. */
5539 wpt_uint32 uTxPerTrackingWatermark; /* A watermark of check number, once the tx packet exceed this number, we do the check, default is 5 */
5540} WDI_TxPerTrackingParamType;
5541
5542/*---------------------------------------------------------------------------
5543 WDI_SetTxPerTrackingReqParamsType
5544 Tx PER Tracking parameters passed to WDI from WDA
5545---------------------------------------------------------------------------*/
5546typedef struct
5547{
5548 /* Configurations for Tx PER Tracking */
5549 WDI_TxPerTrackingParamType wdiTxPerTrackingParam;
5550 /*Request status callback offered by UMAC - it is called if the current req
5551 has returned PENDING as status; it delivers the status of sending the message
5552 over the BUS */
5553 WDI_ReqStatusCb wdiReqStatusCB;
5554 /*The user data passed in by UMAC, it will be sent back when the above
5555 function pointer will be called */
5556 void* pUserData;
5557}WDI_SetTxPerTrackingReqParamsType;
5558
5559#ifdef WLAN_FEATURE_PACKET_FILTERING
5560/*---------------------------------------------------------------------------
5561 Packet Filtering Parameters
5562---------------------------------------------------------------------------*/
5563
5564#define WDI_IPV4_ADDR_LEN 4
5565#define WDI_MAC_ADDR_LEN 6
5566#define WDI_MAX_FILTER_TEST_DATA_LEN 8
5567#define WDI_MAX_NUM_MULTICAST_ADDRESS 240
5568#define WDI_MAX_NUM_FILTERS 20
5569#define WDI_MAX_NUM_TESTS_PER_FILTER 10
5570
5571//
5572// Receive Filter Parameters
5573//
5574typedef enum
5575{
5576 WDI_RCV_FILTER_TYPE_INVALID,
5577 WDI_RCV_FILTER_TYPE_FILTER_PKT,
5578 WDI_RCV_FILTER_TYPE_BUFFER_PKT,
5579 WDI_RCV_FILTER_TYPE_MAX_ENUM_SIZE
5580}WDI_ReceivePacketFilterType;
5581
5582typedef enum
5583{
5584 WDI_FILTER_HDR_TYPE_INVALID,
5585 WDI_FILTER_HDR_TYPE_MAC,
5586 WDI_FILTER_HDR_TYPE_ARP,
5587 WDI_FILTER_HDR_TYPE_IPV4,
5588 WDI_FILTER_HDR_TYPE_IPV6,
5589 WDI_FILTER_HDR_TYPE_UDP,
5590 WDI_FILTER_HDR_TYPE_MAX
5591}WDI_RcvPktFltProtocolType;
5592
5593typedef enum
5594{
5595 WDI_FILTER_CMP_TYPE_INVALID,
5596 WDI_FILTER_CMP_TYPE_EQUAL,
5597 WDI_FILTER_CMP_TYPE_MASK_EQUAL,
5598 WDI_FILTER_CMP_TYPE_NOT_EQUAL,
5599 WDI_FILTER_CMP_TYPE_MASK_NOT_EQUAL,
5600 WDI_FILTER_CMP_TYPE_MAX
5601}WDI_RcvPktFltCmpFlagType;
5602
5603typedef struct
5604{
5605 WDI_RcvPktFltProtocolType protocolLayer;
5606 WDI_RcvPktFltCmpFlagType cmpFlag;
5607/* Length of the data to compare */
5608 wpt_uint16 dataLength;
5609/* from start of the respective frame header */
5610 wpt_uint8 dataOffset;
5611 wpt_uint8 reserved; /* Reserved field */
5612/* Data to compare */
5613 wpt_uint8 compareData[WDI_MAX_FILTER_TEST_DATA_LEN];
5614/* Mask to be applied on the received packet data before compare */
5615 wpt_uint8 dataMask[WDI_MAX_FILTER_TEST_DATA_LEN];
5616}WDI_RcvPktFilterFieldParams;
5617
5618typedef struct
5619{
5620 wpt_uint8 filterId;
5621 wpt_uint8 filterType;
5622 wpt_uint32 numFieldParams;
5623 wpt_uint32 coalesceTime;
Jeff Johnsone7245742012-09-05 17:12:55 -07005624 wpt_macAddr selfMacAddr;
5625 wpt_macAddr bssId;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005626 WDI_RcvPktFilterFieldParams paramsData[1];
5627
Jeff Johnson295189b2012-06-20 16:38:30 -07005628}WDI_RcvPktFilterCfgType;
5629
5630typedef struct
5631{
5632 /*Request status callback offered by UMAC - it is called if the current
5633 req has returned PENDING as status; it delivers the status of sending
5634 the message over the BUS */
5635 WDI_ReqStatusCb wdiReqStatusCB;
5636
5637 /*The user data passed in by UMAC, it will be sent back when the above
5638 function pointer will be called */
5639 void* pUserData;
5640
5641 // Variable length packet filter field params
5642 WDI_RcvPktFilterCfgType wdiPktFilterCfg;
5643} WDI_SetRcvPktFilterReqParamsType;
5644
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005645typedef struct
5646{
5647 /*Result of the operation*/
5648 WDI_Status wdiStatus;
5649 /* BSSIDX of the Set Receive Filter
5650 */
5651 wpt_uint8 bssIdx;
5652} WDI_SetRcvPktFilterRspParamsType;
5653
Jeff Johnson295189b2012-06-20 16:38:30 -07005654//
5655// Filter Packet Match Count Parameters
5656//
5657typedef struct
5658{
5659 /*Request status callback offered by UMAC - it is called if the current
5660 req has returned PENDING as status; it delivers the status of sending
5661 the message over the BUS */
5662 WDI_ReqStatusCb wdiReqStatusCB;
5663
5664 /*The user data passed in by UMAC, it will be sent back when the above
5665 function pointer will be called */
5666 void* pUserData;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005667
5668 /* BSSID of the Match count
5669 */
5670 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005671} WDI_RcvFltPktMatchCntReqParamsType;
5672
5673typedef struct
5674{
5675 wpt_uint8 filterId;
5676 wpt_uint32 matchCnt;
5677} WDI_RcvFltPktMatchCnt;
5678
5679typedef struct
5680{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005681 /*Result of the operation*/
5682 WDI_Status wdiStatus;
Jeff Johnson295189b2012-06-20 16:38:30 -07005683
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005684 /* BSSIDX of the Match count response
5685 */
5686 wpt_uint8 bssIdx;
5687
Jeff Johnson295189b2012-06-20 16:38:30 -07005688} WDI_RcvFltPktMatchCntRspParamsType;
5689
Jeff Johnson295189b2012-06-20 16:38:30 -07005690//
5691// Receive Filter Clear Parameters
5692//
5693typedef struct
5694{
5695 wpt_uint32 status; /* only valid for response message */
5696 wpt_uint8 filterId;
Jeff Johnsone7245742012-09-05 17:12:55 -07005697 wpt_macAddr selfMacAddr;
5698 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005699}WDI_RcvFltPktClearParam;
5700
5701typedef struct
5702{
5703 WDI_RcvFltPktClearParam filterClearParam;
5704 /*Request status callback offered by UMAC - it is called if the current
5705 req has returned PENDING as status; it delivers the status of sending
5706 the message over the BUS */
5707 WDI_ReqStatusCb wdiReqStatusCB;
5708
5709 /*The user data passed in by UMAC, it will be sent back when the above
5710 function pointer will be called */
5711 void* pUserData;
5712} WDI_RcvFltPktClearReqParamsType;
5713
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005714typedef struct
5715{
5716 /*Result of the operation*/
5717 WDI_Status wdiStatus;
5718 /* BSSIDX of the Match count response
5719 */
5720 wpt_uint8 bssIdx;
5721
5722} WDI_RcvFltPktClearRspParamsType;
5723
Jeff Johnson295189b2012-06-20 16:38:30 -07005724//
5725// Multicast Address List Parameters
5726//
5727typedef struct
5728{
5729 wpt_uint32 ulMulticastAddrCnt;
5730 wpt_macAddr multicastAddr[WDI_MAX_NUM_MULTICAST_ADDRESS];
Jeff Johnsone7245742012-09-05 17:12:55 -07005731 wpt_macAddr selfMacAddr;
5732 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005733} WDI_RcvFltMcAddrListType;
5734
5735typedef struct
5736{
5737 WDI_RcvFltMcAddrListType mcAddrList;
5738 /*Request status callback offered by UMAC - it is called if the current
5739 req has returned PENDING as status; it delivers the status of sending
5740 the message over the BUS */
5741 WDI_ReqStatusCb wdiReqStatusCB;
5742
5743 /*The user data passed in by UMAC, it will be sent back when the above
5744 function pointer will be called */
5745 void* pUserData;
5746} WDI_RcvFltPktSetMcListReqParamsType;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005747
5748typedef struct
5749{
5750 /*Result of the operation*/
5751 WDI_Status wdiStatus;
5752 /* BSSIDX of the Match count response
5753 */
5754 wpt_uint8 bssIdx;
5755} WDI_RcvFltPktSetMcListRspParamsType;
5756
Jeff Johnson295189b2012-06-20 16:38:30 -07005757#endif // WLAN_FEATURE_PACKET_FILTERING
5758
5759/*---------------------------------------------------------------------------
5760 WDI_HALDumpCmdReqInfoType
5761---------------------------------------------------------------------------*/
5762typedef struct
5763{
5764 /*command*/
5765 wpt_uint32 command;
5766
5767 /*Arguments*/
5768 wpt_uint32 argument1;
5769 wpt_uint32 argument2;
5770 wpt_uint32 argument3;
5771 wpt_uint32 argument4;
5772
5773}WDI_HALDumpCmdReqInfoType;
5774
5775/*---------------------------------------------------------------------------
5776 WDI_HALDumpCmdReqParamsType
5777---------------------------------------------------------------------------*/
5778typedef struct
5779{
5780 /*NV Blob Info*/
5781 WDI_HALDumpCmdReqInfoType wdiHALDumpCmdInfoType;
5782
5783 /*Request status callback offered by UMAC - it is called if the current
5784 req has returned PENDING as status; it delivers the status of sending
5785 the message over the BUS */
5786 WDI_ReqStatusCb wdiReqStatusCB;
5787
5788 /*The user data passed in by UMAC, it will be sent back when the above
5789 function pointer will be called */
5790 void* pUserData;
5791
5792}WDI_HALDumpCmdReqParamsType;
5793
5794
5795/*---------------------------------------------------------------------------
5796 WDI_HALDumpCmdRspParamsType
5797---------------------------------------------------------------------------*/
5798typedef struct
5799{
5800 /*Result of the operation*/
5801 WDI_Status wdiStatus;
5802
5803 /* length of the buffer */
5804 wpt_uint16 usBufferLen;
5805
5806 /* Buffer */
5807 wpt_uint8 *pBuffer;
5808}WDI_HALDumpCmdRspParamsType;
5809
5810
5811/*---------------------------------------------------------------------------
5812 WDI_SetTmLevelReqType
5813---------------------------------------------------------------------------*/
5814typedef struct
5815{
5816 wpt_uint16 tmMode;
5817 wpt_uint16 tmLevel;
5818 void* pUserData;
5819}WDI_SetTmLevelReqType;
5820
5821/*---------------------------------------------------------------------------
5822 WDI_SetTmLevelRspType
5823---------------------------------------------------------------------------*/
5824typedef struct
5825{
5826 WDI_Status wdiStatus;
5827 void* pUserData;
5828}WDI_SetTmLevelRspType;
5829
Leo Chang9056f462013-08-01 19:21:11 -07005830#ifdef FEATURE_WLAN_LPHB
5831/*---------------------------------------------------------------------------
5832 WDI_LPHBConfigParamsType
5833---------------------------------------------------------------------------*/
5834typedef struct
5835{
5836 void* pLphsConfIndData;
5837}WDI_LPHBConfigParamsType;
5838#endif /* FEATURE_WLAN_LPHB */
5839
Yue Mab9c86f42013-08-14 15:59:08 -07005840/*---------------------------------------------------------------------------
5841 WDI_AddPeriodicTxPtrnInfoType
5842---------------------------------------------------------------------------*/
5843typedef struct
5844{
5845 /* MAC Address for the adapter */
5846 wpt_macAddr macAddr;
5847
5848 wpt_uint8 ucPtrnId; // Pattern ID
5849 wpt_uint16 ucPtrnSize; // Pattern size
5850 wpt_uint32 usPtrnIntervalMs; // In msec
5851 wpt_uint8 ucPattern[PERIODIC_TX_PTRN_MAX_SIZE]; // Pattern buffer
5852} WDI_AddPeriodicTxPtrnInfoType;
5853
5854/*---------------------------------------------------------------------------
5855 WDI_DelPeriodicTxPtrnInfoType
5856---------------------------------------------------------------------------*/
5857typedef struct
5858{
5859 /* MAC Address for the adapter */
5860 wpt_macAddr macAddr;
5861
5862 /* Bitmap of pattern IDs that needs to be deleted */
5863 wpt_uint32 ucPatternIdBitmap;
5864} WDI_DelPeriodicTxPtrnInfoType;
5865
5866/*---------------------------------------------------------------------------
5867 WDI_AddPeriodicTxPtrnParamsType
5868---------------------------------------------------------------------------*/
5869typedef struct
5870{
5871 WDI_AddPeriodicTxPtrnInfoType wdiAddPeriodicTxPtrnParams;
5872
5873 /*Request status callback offered by UMAC - it is called if the current
5874 req has returned PENDING as status; it delivers the status of sending
5875 the message over the BUS */
5876 WDI_ReqStatusCb wdiReqStatusCB;
5877
5878 /*The user data passed in by UMAC, it will be sent back when the above
5879 function pointer will be called */
5880 void* pUserData;
5881} WDI_AddPeriodicTxPtrnParamsType;
5882
5883/*---------------------------------------------------------------------------
Srinivas Dasari32a79262015-02-19 13:04:49 +05305884 WDI_NanRequestType
5885---------------------------------------------------------------------------*/
5886typedef struct
5887{
5888 wpt_uint16 request_data_len;
5889 wpt_uint8 request_data[1];
5890} WDI_NanRequestType;
5891
5892
5893/*---------------------------------------------------------------------------
Yue Mab9c86f42013-08-14 15:59:08 -07005894 WDI_DelPeriodicTxPtrnParamsType
5895---------------------------------------------------------------------------*/
5896typedef struct
5897{
5898 WDI_DelPeriodicTxPtrnInfoType wdiDelPeriodicTxPtrnParams;
5899
5900 /*Request status callback offered by UMAC - it is called if the current
5901 req has returned PENDING as status; it delivers the status of sending
5902 the message over the BUS */
5903 WDI_ReqStatusCb wdiReqStatusCB;
5904
5905 /*The user data passed in by UMAC, it will be sent back when the above
5906 function pointer will be called */
5907 void* pUserData;
5908} WDI_DelPeriodicTxPtrnParamsType;
5909
Dino Mycle41bdc942014-06-10 11:30:24 +05305910#ifdef WLAN_FEATURE_EXTSCAN
5911
5912#define WDI_WLAN_EXTSCAN_MAX_CHANNELS 16
5913#define WDI_WLAN_EXTSCAN_MAX_BUCKETS 16
5914#define WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS 128
Padma, Santhosh Kumar9acee012015-08-21 19:58:01 +05305915#define WDI_WLAN_EXTSCAN_MAX_HOTLIST_SSID 8
Dino Mycle41bdc942014-06-10 11:30:24 +05305916
5917typedef enum
5918{
5919 WDI_WIFI_BAND_UNSPECIFIED,
5920 WDI_WIFI_BAND_BG = 1, // 2.4 GHz
5921 WDI_WIFI_BAND_A = 2, // 5 GHz without DFS
5922 WDI_WIFI_BAND_ABG = 3, // 2.4 GHz + 5 GHz; no DFS
5923 WDI_WIFI_BAND_A_DFS = 4, // 5 GHz DFS only
5924 WDI_WIFI_BAND_A_WITH_DFS = 6, // 5 GHz with DFS
5925 WDI_WIFI_BAND_ABG_WITH_DFS = 7, // 2.4 GHz + 5 GHz with DFS
5926
5927 /* Keep it last */
5928 WDI_WIFI_BAND_MAX
5929} WDI_WifiBand;
5930
5931typedef struct
5932{
5933 wpt_uint32 channel; // frequency
5934 wpt_uint32 dwellTimeMs; // dwell time hint
5935 wpt_uint8 passive; // 0 => active,
5936 // 1 => passive scan; ignored for DFS
5937 wpt_uint8 chnlClass;
5938} WDI_WifiScanChannelSpec;
5939
5940typedef struct
5941{
5942 wpt_uint8 bucket; // bucket index, 0 based
5943 WDI_WifiBand band; // when UNSPECIFIED, use channel list
5944
5945 /*
5946 * desired period, in millisecond; if this is too
5947 * low, the firmware should choose to generate results as fast as
5948 * it can instead of failing the command byte
5949 */
5950 wpt_uint32 period;
5951
5952 /*
5953 * 0 => normal reporting (reporting rssi history
5954 * only, when rssi history buffer is % full)
5955 * 1 => same as 0 + report a scan completion event after scanning
5956 * this bucket
5957 * 2 => same as 1 + forward scan results (beacons/probe responses + IEs)
5958 * in real time to HAL
5959 */
5960 wpt_uint8 reportEvents;
5961
Padma, Santhosh Kumar7b9190d2015-08-17 17:45:29 +05305962 wpt_uint32 max_period;
5963 wpt_uint32 exponent;
5964 wpt_uint32 step_count;
5965
Dino Mycle41bdc942014-06-10 11:30:24 +05305966 wpt_uint8 numChannels;
5967
5968 /*
5969 * channels to scan; these may include DFS channels
5970 */
5971 WDI_WifiScanChannelSpec channels[WDI_WLAN_EXTSCAN_MAX_CHANNELS];
5972} WDI_WifiScanBucketSpec;
5973
5974typedef struct
5975{
5976 wpt_uint32 requestId;
5977 wpt_uint8 sessionId;
5978 wpt_uint32 basePeriod; // base timer period
5979 wpt_uint32 maxAPperScan;
5980
5981 /* in %, when buffer is this much full, wake up host */
Padma, Santhosh Kumar7b9190d2015-08-17 17:45:29 +05305982 wpt_uint32 reportThresholdPercent;
5983 wpt_uint32 reportThresholdNumScans;
Dino Mycle41bdc942014-06-10 11:30:24 +05305984
Padma, Santhosh Kumar7b9190d2015-08-17 17:45:29 +05305985 wpt_uint32 homeAwayTime; //in units of milliseconds
Dino Mycle41bdc942014-06-10 11:30:24 +05305986 wpt_uint8 numBuckets;
5987 WDI_WifiScanBucketSpec buckets[WDI_WLAN_EXTSCAN_MAX_BUCKETS];
5988} WDI_EXTScanStartReqParams;
5989
5990typedef struct
5991{
5992 wpt_uint32 requestId;
5993 wpt_uint8 sessionId;
5994} WDI_EXTScanStopReqParams;
5995
5996typedef struct
5997{
5998 wpt_uint32 requestId;
5999 wpt_uint8 sessionId;
6000
6001 /*
6002 * 1 return cached results and flush it
6003 * 0 return cached results and do not flush
6004 */
6005 wpt_boolean flush;
6006} WDI_EXTScanGetCachedResultsReqParams;
6007
6008typedef struct
6009{
6010 wpt_uint32 requestId;
6011 wpt_uint8 sessionId;
6012} WDI_EXTScanGetCapabilitiesReqParams;
6013
6014typedef struct
6015{
6016 wpt_uint8 bssid[6]; /* BSSID */
6017 wpt_int32 low; // low threshold
6018 wpt_int32 high; // high threshold
Dino Mycle41bdc942014-06-10 11:30:24 +05306019} WDI_APThresholdParam;
6020
6021typedef struct
6022{
Padma, Santhosh Kumar9acee012015-08-21 19:58:01 +05306023 WDI_MacSSid ssid; /* SSID */
6024 wpt_uint8 band; /* band */
6025 wpt_int32 lowRssiThreshold; /* low threshold */
6026 wpt_int32 highRssiThreshold; /* high threshold */
6027} WDI_SSIDThresholdParam;
6028
6029typedef struct
6030{
Dino Mycle41bdc942014-06-10 11:30:24 +05306031 wpt_int32 requestId;
6032 wpt_int8 sessionId; // session Id mapped to vdev_id
Padma, Santhosh Kumar37f4fd12015-08-19 14:37:37 +05306033 wpt_uint32 lostBssidSampleSize;
6034 wpt_int32 numBssid; // number of hotlist APs
Dino Mycle41bdc942014-06-10 11:30:24 +05306035 WDI_APThresholdParam ap[WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS]; // hotlist APs
6036} WDI_EXTScanSetBSSIDHotlistReqParams;
6037
6038typedef struct
6039{
6040 wpt_uint32 requestId;
6041 wpt_uint8 sessionId;
6042} WDI_EXTScanResetBSSIDHotlistReqParams;
6043
Padma, Santhosh Kumar9acee012015-08-21 19:58:01 +05306044typedef struct
6045{
Padma, Santhosh Kumarc1f7f052015-08-26 12:29:01 +05306046 wpt_boolean pause;
6047 wpt_uint32 reserved;
6048} WDI_HighPriorityDataInfoIndParams;
6049
6050typedef struct
6051{
6052 wpt_int32 requestId;
6053 wpt_int8 sessionId; // session Id mapped to vdev_id
Padma, Santhosh Kumar9acee012015-08-21 19:58:01 +05306054 wpt_uint32 lostSsidSampleSize;
6055 wpt_uint32 numSsid; // number of hotlist APs
6056 WDI_SSIDThresholdParam ssid[WDI_WLAN_EXTSCAN_MAX_HOTLIST_SSID]; // hotlist SSIDs
6057} WDI_EXTScanSetSSIDHotlistReqParams;
6058
6059typedef struct
6060{
6061 wpt_uint32 requestId;
6062 wpt_uint8 sessionId;
6063} WDI_EXTScanResetSSIDHotlistReqParams;
6064
Dino Mycle41bdc942014-06-10 11:30:24 +05306065#endif /* WLAN_FEATURE_EXTSCAN */
6066
Sunil Duttbd736ed2014-05-26 21:19:41 +05306067#ifdef WLAN_FEATURE_LINK_LAYER_STATS
6068typedef struct
6069{
6070 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05306071 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05306072 wpt_uint32 mpduSizeThreshold;
6073 wpt_uint32 aggressiveStatisticsGathering;
6074}WDI_LLStatsSetReqType;
6075
6076typedef struct
6077{
6078 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05306079 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05306080 wpt_uint32 paramIdMask;
6081}WDI_LLStatsGetReqType;
6082
6083typedef struct
6084{
6085 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05306086 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05306087 wpt_uint32 statsClearReqMask;
6088 wpt_uint8 stopReq;
6089}WDI_LLStatsClearReqType;
Dino Mycled3d50022014-07-07 12:58:25 +05306090
Sunil Duttbd736ed2014-05-26 21:19:41 +05306091#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
6092
Siddharth Bhal171788a2014-09-29 21:02:40 +05306093/*---------------------------------------------------------------------------
6094 WDI_SPOOF_MAC_ADDR_REQ
6095---------------------------------------------------------------------------*/
6096typedef struct
6097{
6098 /* Spoof MAC Address for FW */
6099 wpt_macAddr macAddr;
6100
6101 /* Reserved Params/fields */
6102 wpt_uint32 params;
6103 wpt_uint32 reserved;
6104} WDI_SpoofMacAddrInfoType;
Sunil Duttbd736ed2014-05-26 21:19:41 +05306105
Srinivas Dasari4dae48f2014-11-26 21:14:16 +05306106//This is to force compiler to use the maximum of an int for enum
6107#define SIR_MAX_ENUM_SIZE 0x7FFFFFFF
6108// Enum to specify whether key is used
6109// for TX only, RX only or both
6110typedef enum
6111{
6112 eWDI_TX_ONLY,
6113 eWDI_RX_ONLY,
6114 eWDI_TX_RX,
6115 eWDI_TX_DEFAULT,
6116 eWDI_DONOT_USE_KEY_DIRECTION = SIR_MAX_ENUM_SIZE
6117} tWDIKeyDirection;
6118
6119// MAX key length when ULA is used
6120#define SIR_MAC_MAX_KEY_LENGTH 32
6121/* Max key size including the WAPI and TKIP */
6122#define WLAN_MAX_KEY_RSC_LEN 16
6123// Definition for Encryption Keys
6124//typedef struct sSirKeys
6125typedef struct
6126{
6127 wpt_uint8 keyId;
6128 wpt_uint8 unicast; // 0 for multicast
6129 tWDIKeyDirection keyDirection;
6130 wpt_uint8 keyRsc[WLAN_MAX_KEY_RSC_LEN]; // Usage is unknown
6131 wpt_uint8 paeRole; // =1 for authenticator,
6132 // =0 for supplicant
6133 wpt_uint16 keyLength;
6134 wpt_uint8 key[SIR_MAC_MAX_KEY_LENGTH];
6135} tWDIKeys, *tpWDIKeys;
6136
6137typedef enum
6138{
6139 eWDI_WEP_STATIC,
6140 eWDI_WEP_DYNAMIC,
6141} tWDIWepType;
6142
6143// Encryption type enum used with peer
6144typedef enum
6145{
6146 eWDI_ED_NONE,
6147 eWDI_ED_WEP40,
6148 eWDI_ED_WEP104,
6149 eWDI_ED_TKIP,
6150 eWDI_ED_CCMP,
6151#if defined(FEATURE_WLAN_WAPI)
6152 eWDI_ED_WPI,
6153#endif
6154 /* DPU HW treats encryption mode 4 plus RMF bit set in TX BD as BIP.
6155 * Thus while setting BIP encryption mode in corresponding DPU Desc
6156 * eSIR_ED_AES_128_CMAC should be set to eSIR_ED_CCMP
6157 */
6158 eWDI_ED_AES_128_CMAC,
6159 eWDI_ED_NOT_IMPLEMENTED = SIR_MAX_ENUM_SIZE
6160} tWDIEdType;
6161#define SIR_WDI_MAX_NUM_OF_DEFAULT_KEYS 4
6162/*
6163 * This is used by PE to configure the key information on a given station.
6164 * When the secType is WEP40 or WEP104, the defWEPIdx is used to locate
6165 * a preconfigured key from a BSS the station assoicated with; otherwise
6166 * a new key descriptor is created based on the key field.
6167 */
6168typedef struct
6169{
6170 wpt_uint16 staIdx;
6171 tWDIEdType encType; // Encryption/Decryption type
6172 tWDIWepType wepType; // valid only for WEP
6173 wpt_uint8 defWEPIdx; // Default WEP key, valid only for static WEP, must between 0 and 3
6174 tWDIKeys key[SIR_WDI_MAX_NUM_OF_DEFAULT_KEYS]; // valid only for non-static WEP encyrptions
6175 wpt_uint8 singleTidRc; // 1=Single TID based Replay Count, 0=Per TID based RC
6176 wpt_uint8 sessionId; // PE session id for PE<->HAL interface
6177} tWDISetStaKeyParams, *tpWDISetStaKeyParams;
6178
6179typedef struct
6180{
6181 tWDISetStaKeyParams keyParams;
6182 wpt_uint8 pn[6];
6183}wpt_encConfigParams;
6184
6185typedef struct
6186{
6187 wpt_uint16 length;
6188 wpt_uint8 data[WDI_DISA_MAX_PAYLOAD_SIZE];
6189}wpt_payload;
6190
6191typedef struct
6192{
6193 wpt_80211Header macHeader;
6194 wpt_encConfigParams encParams;
6195 wpt_payload data;
6196}wpt_pkt80211;
6197
Katya Nigamf0511f62015-05-05 16:40:57 +05306198#define NUM_FILTERS_SUPPORTED 1
6199typedef struct
6200{
6201 wpt_macAddr macAddr;
6202 wpt_uint8 isA1filter;
6203 wpt_uint8 isA2filter;
6204 wpt_uint8 isA3filter;
6205}WDI_filter;
6206
6207typedef struct
6208{
6209 /* start or stop */
6210 wpt_uint8 state;
6211 /*Conversion of packet required or not*/
6212 wpt_uint8 is80211to803ConReq;
6213 wpt_uint32 ChannelNo;
6214 wpt_uint32 ChannelBW;
6215 wpt_uint8 crcCheckEnabled;
6216 wpt_uint8 numOfMacFilters;
6217 WDI_filter mmFilters[NUM_FILTERS_SUPPORTED];
6218 wpt_uint64 typeSubtypeBitmap;
6219 wpt_uint64 rsvd;
6220
6221}WDI_MonStartReqType;
6222
Arun Khandavalli7eeb1592015-10-19 21:36:57 +05306223typedef struct
6224{
6225 wpt_uint8 paramType;
6226 wpt_uint32 paramValue;
6227 wpt_macAddr bssId;
6228}WDI_WifiConfigSetReqType;
6229
c_manjeecfd1efb2015-09-25 19:32:34 +05306230/**
6231 * struct WDI_FwrMemDumpReqType - firmware memory dump request details.
6232.*.@FWMemDumpReqCb - Associated Callback
6233 *.@fwMemDumpReqContext - Callback context
6234 * @reserved - reserved field 1.
6235 *
6236 * This structure carries information about the firmware
6237 * memory dump request.
6238 */
6239typedef struct
6240{
6241 wpt_uint32 reserved1;
6242}WDI_FwrMemDumpReqType;
6243
6244/**
6245 * struct WDI_FwrMemDumpRsp - firmware dump response details.
6246 *
6247 * This structure is used to store the firmware dump
6248 * response from the firmware.
6249 */
6250typedef struct
6251{
6252 wpt_uint32 dump_status;
6253}WDI_FwrMemDumpRsp;
6254
Arun Khandavalli7eeb1592015-10-19 21:36:57 +05306255typedef struct
6256{
6257 wpt_uint32 wificonfigset_status;
6258}WDI_WifconfigSetRsp;
c_manjeecfd1efb2015-09-25 19:32:34 +05306259
Mahesh A Saptasagar7d432952016-02-09 14:01:03 +05306260/**
6261 * struct WDI_ModifyRoamParamsReqType - Modified roam parameter details.
6262 *
6263 */
6264
6265typedef struct {
6266 wpt_uint8 param;
6267 wpt_uint32 value;
6268}WDI_ModifyRoamParamsReqType;
6269
Jeff Johnson295189b2012-06-20 16:38:30 -07006270/*----------------------------------------------------------------------------
6271 * WDI callback types
6272 *--------------------------------------------------------------------------*/
6273
6274/*---------------------------------------------------------------------------
6275 WDI_StartRspCb
6276
6277 DESCRIPTION
6278
6279 This callback is invoked by DAL when it has received a Start response from
6280 the underlying device.
6281
6282 PARAMETERS
6283
6284 IN
6285 wdiRspParams: response parameters received from HAL
6286 pUserData: user data
6287
6288
6289 RETURN VALUE
6290 The result code associated with performing the operation
6291---------------------------------------------------------------------------*/
6292typedef void (*WDI_StartRspCb)(WDI_StartRspParamsType* pwdiRspParams,
6293 void* pUserData);
6294
6295/*---------------------------------------------------------------------------
6296 WDI_StartRspCb
6297
6298 DESCRIPTION
6299
6300 This callback is invoked by DAL when it has received a Stop response from
6301 the underlying device.
6302
6303 PARAMETERS
6304
6305 IN
6306 wdiStatus: response status received from HAL
6307 pUserData: user data
6308
6309
6310
6311 RETURN VALUE
6312 The result code associated with performing the operation
6313---------------------------------------------------------------------------*/
6314typedef void (*WDI_StopRspCb)(WDI_Status wdiStatus,
6315 void* pUserData);
6316
6317/*---------------------------------------------------------------------------
6318 WDI_StartRspCb
6319
6320 DESCRIPTION
6321
6322 This callback is invoked by DAL when it has received an Init Scan response
6323 from the underlying device.
6324
6325 PARAMETERS
6326
6327 IN
6328 wdiStatus: response status received from HAL
6329 pUserData: user data
6330
6331
6332
6333 RETURN VALUE
6334 The result code associated with performing the operation
6335---------------------------------------------------------------------------*/
6336typedef void (*WDI_InitScanRspCb)(WDI_Status wdiStatus,
6337 void* pUserData);
6338
6339
6340/*---------------------------------------------------------------------------
6341 WDI_StartRspCb
6342
6343 DESCRIPTION
6344
6345 This callback is invoked by DAL when it has received a StartScan response
6346 from the underlying device.
6347
6348 PARAMETERS
6349
6350 IN
6351 wdiParams: response params received from HAL
6352 pUserData: user data
6353
6354
6355
6356 RETURN VALUE
6357 The result code associated with performing the operation
6358---------------------------------------------------------------------------*/
6359typedef void (*WDI_StartScanRspCb)(WDI_StartScanRspParamsType* wdiParams,
6360 void* pUserData);
6361
6362
6363/*---------------------------------------------------------------------------
6364 WDI_StartRspCb
6365
6366 DESCRIPTION
6367
6368 This callback is invoked by DAL when it has received a End Scan response
6369 from the underlying device.
6370
6371 PARAMETERS
6372
6373 IN
6374 wdiStatus: response status received from HAL
6375 pUserData: user data
6376
6377
6378
6379 RETURN VALUE
6380 The result code associated with performing the operation
6381---------------------------------------------------------------------------*/
6382typedef void (*WDI_EndScanRspCb)(WDI_Status wdiStatus,
6383 void* pUserData);
6384
6385
6386/*---------------------------------------------------------------------------
6387 WDI_StartRspCb
6388
6389 DESCRIPTION
6390
6391 This callback is invoked by DAL when it has received a Finish Scan response
6392 from the underlying device.
6393
6394 PARAMETERS
6395
6396 IN
6397 wdiStatus: response status received from HAL
6398 pUserData: user data
6399
6400
6401
6402 RETURN VALUE
6403 The result code associated with performing the operation
6404---------------------------------------------------------------------------*/
6405typedef void (*WDI_FinishScanRspCb)(WDI_Status wdiStatus,
6406 void* pUserData);
6407
6408
6409/*---------------------------------------------------------------------------
6410 WDI_StartRspCb
6411
6412 DESCRIPTION
6413
6414 This callback is invoked by DAL when it has received a Join response from
6415 the underlying device.
6416
6417 PARAMETERS
6418
6419 IN
6420 wdiStatus: response status received from HAL
6421 pUserData: user data
6422
6423
6424
6425 RETURN VALUE
6426 The result code associated with performing the operation
6427---------------------------------------------------------------------------*/
6428typedef void (*WDI_JoinRspCb)(WDI_Status wdiStatus,
6429 void* pUserData);
6430
6431
6432/*---------------------------------------------------------------------------
6433 WDI_StartRspCb
6434
6435 DESCRIPTION
6436
6437 This callback is invoked by DAL when it has received a Config BSS response
6438 from the underlying device.
6439
6440 PARAMETERS
6441
6442 IN
6443 wdiConfigBSSRsp: response parameters received from HAL
6444 pUserData: user data
6445
6446
6447 RETURN VALUE
6448 The result code associated with performing the operation
6449---------------------------------------------------------------------------*/
6450typedef void (*WDI_ConfigBSSRspCb)(
6451 WDI_ConfigBSSRspParamsType* pwdiConfigBSSRsp,
6452 void* pUserData);
6453
6454
6455/*---------------------------------------------------------------------------
6456 WDI_StartRspCb
6457
6458 DESCRIPTION
6459
6460 This callback is invoked by DAL when it has received a Del BSS response from
6461 the underlying device.
6462
6463 PARAMETERS
6464
6465 IN
6466 wdiDelBSSRsp: response parameters received from HAL
6467 pUserData: user data
6468
6469
6470 RETURN VALUE
6471 The result code associated with performing the operation
6472---------------------------------------------------------------------------*/
6473typedef void (*WDI_DelBSSRspCb)(WDI_DelBSSRspParamsType* pwdiDelBSSRsp,
6474 void* pUserData);
6475
6476
6477/*---------------------------------------------------------------------------
6478 WDI_StartRspCb
6479
6480 DESCRIPTION
6481
6482 This callback is invoked by DAL when it has received a Post Assoc response
6483 from the underlying device.
6484
6485 PARAMETERS
6486
6487 IN
6488 wdiRspParams: response parameters received from HAL
6489 pUserData: user data
6490
6491
6492 RETURN VALUE
6493 The result code associated with performing the operation
6494---------------------------------------------------------------------------*/
6495typedef void (*WDI_PostAssocRspCb)(
6496 WDI_PostAssocRspParamsType* pwdiPostAssocRsp,
6497 void* pUserData);
6498
6499
6500/*---------------------------------------------------------------------------
6501 WDI_StartRspCb
6502
6503 DESCRIPTION
6504
6505 This callback is invoked by DAL when it has received a Del STA response from
6506 the underlying device.
6507
6508 PARAMETERS
6509
6510 IN
6511 wdiDelSTARsp: response parameters received from HAL
6512 pUserData: user data
6513
6514
6515 RETURN VALUE
6516 The result code associated with performing the operation
6517---------------------------------------------------------------------------*/
6518typedef void (*WDI_DelSTARspCb)(WDI_DelSTARspParamsType* pwdiDelSTARsp,
6519 void* pUserData);
6520
6521
6522
6523/*---------------------------------------------------------------------------
6524 WDI_StartRspCb
6525
6526 DESCRIPTION
6527
6528 This callback is invoked by DAL when it has received a Set BSS Key response
6529 from the underlying device.
6530
6531 PARAMETERS
6532
6533 IN
6534 wdiStatus: response status received from HAL
6535 pUserData: user data
6536
6537
6538
6539 RETURN VALUE
6540 The result code associated with performing the operation
6541---------------------------------------------------------------------------*/
6542typedef void (*WDI_SetBSSKeyRspCb)(WDI_Status wdiStatus,
6543 void* pUserData);
6544
6545/*---------------------------------------------------------------------------
6546 WDI_StartRspCb
6547
6548 DESCRIPTION
6549
6550 This callback is invoked by DAL when it has received a Remove BSS Key
6551 response from the underlying device.
6552
6553 PARAMETERS
6554
6555 IN
6556 wdiStatus: response status received from HAL
6557 pUserData: user data
6558
6559
6560
6561 RETURN VALUE
6562 The result code associated with performing the operation
6563---------------------------------------------------------------------------*/
6564typedef void (*WDI_RemoveBSSKeyRspCb)(WDI_Status wdiStatus,
6565 void* pUserData);
6566
6567/*---------------------------------------------------------------------------
6568 WDI_StartRspCb
6569
6570 DESCRIPTION
6571
6572 This callback is invoked by DAL when it has received a Set STA Key response
6573 from the underlying device.
6574
6575 PARAMETERS
6576
6577 IN
6578 wdiStatus: response status received from HAL
6579 pUserData: user data
6580
6581
Jeff Johnson295189b2012-06-20 16:38:30 -07006582 RETURN VALUE
6583 The result code associated with performing the operation
6584---------------------------------------------------------------------------*/
6585typedef void (*WDI_SetSTAKeyRspCb)(WDI_Status wdiStatus,
6586 void* pUserData);
6587
Jeff Johnson295189b2012-06-20 16:38:30 -07006588/*---------------------------------------------------------------------------
6589 WDI_StartRspCb
6590
6591 DESCRIPTION
6592
6593 This callback is invoked by DAL when it has received a Remove STA Key
6594 response from the underlying device.
6595
6596 PARAMETERS
6597
6598 IN
6599 wdiStatus: response status received from HAL
6600 pUserData: user data
6601
Siddharth Bhal171788a2014-09-29 21:02:40 +05306602
Jeff Johnson295189b2012-06-20 16:38:30 -07006603 RETURN VALUE
6604 The result code associated with performing the operation
6605---------------------------------------------------------------------------*/
6606typedef void (*WDI_RemoveSTAKeyRspCb)(WDI_Status wdiStatus,
6607 void* pUserData);
6608
6609
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08006610#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07006611/*---------------------------------------------------------------------------
6612 WDI_TsmRspCb
6613
6614 DESCRIPTION
6615
6616 This callback is invoked by DAL when it has received a TSM Stats response from the underlying device.
6617
6618 PARAMETERS
6619
6620 IN
6621 pTSMStats: response status received from HAL
6622 pUserData: user data
6623
6624
6625
6626 RETURN VALUE
6627 The result code associated with performing the operation
6628---------------------------------------------------------------------------*/
6629typedef void (*WDI_TsmRspCb)(WDI_TSMStatsRspParamsType *pTSMStats,
6630 void* pUserData);
6631#endif
6632
6633/*---------------------------------------------------------------------------
6634 WDI_StartRspCb
6635
6636 DESCRIPTION
6637
6638 This callback is invoked by DAL when it has received a Add TS response from
6639 the underlying device.
6640
6641 PARAMETERS
6642
6643 IN
6644 wdiStatus: response status received from HAL
6645 pUserData: user data
6646
6647
6648
6649 RETURN VALUE
6650 The result code associated with performing the operation
6651---------------------------------------------------------------------------*/
6652typedef void (*WDI_AddTsRspCb)(WDI_Status wdiStatus,
6653 void* pUserData);
6654
6655/*---------------------------------------------------------------------------
6656 WDI_StartRspCb
6657
6658 DESCRIPTION
6659
6660 This callback is invoked by DAL when it has received a Del TS response from
6661 the underlying device.
6662
6663 PARAMETERS
6664
6665 IN
6666 wdiStatus: response status received from HAL
6667 pUserData: user data
6668
6669
6670
6671 RETURN VALUE
6672 The result code associated with performing the operation
6673---------------------------------------------------------------------------*/
6674typedef void (*WDI_DelTsRspCb)(WDI_Status wdiStatus,
6675 void* pUserData);
6676
6677/*---------------------------------------------------------------------------
6678 WDI_StartRspCb
6679
6680 DESCRIPTION
6681
6682 This callback is invoked by DAL when it has received an Update EDCA Params
6683 response from the underlying device.
6684
6685 PARAMETERS
6686
6687 IN
6688 wdiStatus: response status received from HAL
6689 pUserData: user data
6690
6691
6692
6693 RETURN VALUE
6694 The result code associated with performing the operation
6695---------------------------------------------------------------------------*/
6696typedef void (*WDI_UpdateEDCAParamsRspCb)(WDI_Status wdiStatus,
6697 void* pUserData);
6698
6699/*---------------------------------------------------------------------------
6700 WDI_StartRspCb
6701
6702 DESCRIPTION
6703
6704 This callback is invoked by DAL when it has received a Add BA response from
6705 the underlying device.
6706
6707 PARAMETERS
6708
6709 IN
6710 wdiStatus: response status received from HAL
6711 pUserData: user data
6712
6713
6714
6715 RETURN VALUE
6716 The result code associated with performing the operation
6717---------------------------------------------------------------------------*/
6718typedef void (*WDI_AddBASessionRspCb)(
6719 WDI_AddBASessionRspParamsType* wdiAddBASessionRsp,
6720 void* pUserData);
6721
6722
6723/*---------------------------------------------------------------------------
6724 WDI_StartRspCb
6725
6726 DESCRIPTION
6727
6728 This callback is invoked by DAL when it has received a Del BA response from
6729 the underlying device.
6730
6731 PARAMETERS
6732
6733 IN
6734 wdiStatus: response status received from HAL
6735 pUserData: user data
6736
6737
6738
6739 RETURN VALUE
6740 The result code associated with performing the operation
6741---------------------------------------------------------------------------*/
6742typedef void (*WDI_DelBARspCb)(WDI_Status wdiStatus,
6743 void* pUserData);
6744
6745
6746/*---------------------------------------------------------------------------
6747 WDI_StartRspCb
6748
6749 DESCRIPTION
6750
6751 This callback is invoked by DAL when it has received a Switch Ch response
6752 from the underlying device.
6753
6754 PARAMETERS
6755
6756 IN
6757 wdiRspParams: response parameters received from HAL
6758 pUserData: user data
6759
6760
6761 RETURN VALUE
6762 The result code associated with performing the operation
6763---------------------------------------------------------------------------*/
6764typedef void (*WDI_SwitchChRspCb)(WDI_SwitchCHRspParamsType* pwdiSwitchChRsp,
6765 void* pUserData);
6766
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08006767typedef void (*WDI_SwitchChRspCb_V1)(WDI_SwitchChRspParamsType_V1* pwdiSwitchChRsp,
6768 void* pUserData);
6769
Jeff Johnson295189b2012-06-20 16:38:30 -07006770
6771/*---------------------------------------------------------------------------
6772 WDI_StartRspCb
6773
6774 DESCRIPTION
6775
6776 This callback is invoked by DAL when it has received a Config STA response
6777 from the underlying device.
6778
6779 PARAMETERS
6780
6781 IN
6782 wdiRspParams: response parameters received from HAL
6783 pUserData: user data
6784
6785
6786 RETURN VALUE
6787 The result code associated with performing the operation
6788---------------------------------------------------------------------------*/
6789typedef void (*WDI_ConfigSTARspCb)(
6790 WDI_ConfigSTARspParamsType* pwdiConfigSTARsp,
6791 void* pUserData);
6792
6793
6794/*---------------------------------------------------------------------------
6795 WDI_StartRspCb
6796
6797 DESCRIPTION
6798
6799 This callback is invoked by DAL when it has received a Set Link State
6800 response from the underlying device.
6801
6802 PARAMETERS
6803
6804 IN
6805 wdiRspParams: response parameters received from HAL
6806 pUserData: user data
6807
6808
6809 RETURN VALUE
6810 The result code associated with performing the operation
6811---------------------------------------------------------------------------*/
6812typedef void (*WDI_SetLinkStateRspCb)( WDI_Status wdiStatus,
6813 void* pUserData);
6814
6815
6816/*---------------------------------------------------------------------------
6817 WDI_StartRspCb
6818
6819 DESCRIPTION
6820
6821 This callback is invoked by DAL when it has received a Get Stats response
6822 from the underlying device.
6823
6824 PARAMETERS
6825
6826 IN
6827 wdiRspParams: response parameters received from HAL
6828 pUserData: user data
6829
6830
6831 RETURN VALUE
6832 The result code associated with performing the operation
6833---------------------------------------------------------------------------*/
6834typedef void (*WDI_GetStatsRspCb)(WDI_GetStatsRspParamsType* pwdiGetStatsRsp,
6835 void* pUserData);
6836
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08006837#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08006838/*---------------------------------------------------------------------------
6839 WDI_GetRoamRssiRspCb
6840
6841 DESCRIPTION
6842
6843 This callback is invoked by DAL when it has received a Get Roam Rssi response
6844 from the underlying device.
6845
6846 PARAMETERS
6847
6848 IN
6849 wdiRspParams: response parameters received from HAL
6850 pUserData: user data
6851
6852
6853 RETURN VALUE
6854 The result code associated with performing the operation
6855---------------------------------------------------------------------------*/
6856typedef void (*WDI_GetRoamRssiRspCb)(WDI_GetRoamRssiRspParamsType* pwdiGetRoamRssiRsp,
6857 void* pUserData);
6858#endif
6859
Jeff Johnson295189b2012-06-20 16:38:30 -07006860
6861/*---------------------------------------------------------------------------
6862 WDI_StartRspCb
6863
6864 DESCRIPTION
6865
6866 This callback is invoked by DAL when it has received a Update Cfg response
6867 from the underlying device.
6868
6869 PARAMETERS
6870
6871 IN
6872 wdiStatus: response status received from HAL
6873 pUserData: user data
6874
6875
6876 RETURN VALUE
6877 The result code associated with performing the operation
6878---------------------------------------------------------------------------*/
6879typedef void (*WDI_UpdateCfgRspCb)(WDI_Status wdiStatus,
6880 void* pUserData);
6881
6882/*---------------------------------------------------------------------------
6883 WDI_AddBARspCb
6884
6885 DESCRIPTION
6886
6887 This callback is invoked by DAL when it has received a ADD BA response
6888 from the underlying device.
6889
6890 PARAMETERS
6891
6892 IN
6893 wdiStatus: response status received from HAL
6894 pUserData: user data
6895
6896
6897 RETURN VALUE
6898 The result code associated with performing the operation
6899---------------------------------------------------------------------------*/
6900typedef void (*WDI_AddBARspCb)(WDI_AddBARspinfoType* wdiAddBARsp,
6901 void* pUserData);
6902
6903/*---------------------------------------------------------------------------
6904 WDI_TriggerBARspCb
6905
6906 DESCRIPTION
6907
6908 This callback is invoked by DAL when it has received a ADD BA response
6909 from the underlying device.
6910
6911 PARAMETERS
6912
6913 IN
6914 wdiStatus: response status received from HAL
6915 pUserData: user data
6916
6917
6918 RETURN VALUE
6919 The result code associated with performing the operation
6920---------------------------------------------------------------------------*/
6921typedef void (*WDI_TriggerBARspCb)(WDI_TriggerBARspParamsType* wdiTriggerBARsp,
6922 void* pUserData);
6923
6924
6925/*---------------------------------------------------------------------------
6926 WDI_UpdateBeaconParamsRspCb
6927
6928 DESCRIPTION
6929
6930 This callback is invoked by DAL when it has received a Update Beacon Params response from
6931 the underlying device.
6932
6933 PARAMETERS
6934
6935 IN
6936 wdiStatus: response status received from HAL
6937 pUserData: user data
6938
6939
6940
6941 RETURN VALUE
6942 The result code associated with performing the operation
6943---------------------------------------------------------------------------*/
6944typedef void (*WDI_UpdateBeaconParamsRspCb)(WDI_Status wdiStatus,
6945 void* pUserData);
6946
6947/*---------------------------------------------------------------------------
6948 WDI_SendBeaconParamsRspCb
6949
6950 DESCRIPTION
6951
6952 This callback is invoked by DAL when it has received a Send Beacon Params response from
6953 the underlying device.
6954
6955 PARAMETERS
6956
6957 IN
6958 wdiStatus: response status received from HAL
6959 pUserData: user data
6960
6961
6962
6963 RETURN VALUE
6964 The result code associated with performing the operation
6965---------------------------------------------------------------------------*/
6966typedef void (*WDI_SendBeaconParamsRspCb)(WDI_Status wdiStatus,
6967 void* pUserData);
6968
6969/*---------------------------------------------------------------------------
6970 WDA_SetMaxTxPowerRspCb
6971
6972 DESCRIPTION
6973
6974 This callback is invoked by DAL when it has received a set max Tx Power response from
6975 the underlying device.
6976
6977 PARAMETERS
6978
6979 IN
6980 wdiStatus: response status received from HAL
6981 pUserData: user data
6982
6983
6984
6985 RETURN VALUE
6986 The result code associated with performing the operation
6987---------------------------------------------------------------------------*/
6988typedef void (*WDA_SetMaxTxPowerRspCb)(WDI_SetMaxTxPowerRspMsg *wdiSetMaxTxPowerRsp,
6989 void* pUserData);
6990
6991/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07006992 WDA_SetMaxTxPowerPerBandRspCb
6993
6994 DESCRIPTION
6995
6996 This callback is invoked by DAL when it has received a
6997 set max Tx Power Per Band response from the underlying device.
6998
6999 PARAMETERS
7000
7001 IN
7002 wdiSetMaxTxPowerPerBandRsp: response status received from HAL
7003 pUserData: user data
7004
7005 RETURN VALUE
7006 The result code associated with performing the operation
7007---------------------------------------------------------------------------*/
7008typedef void (*WDA_SetMaxTxPowerPerBandRspCb)(WDI_SetMaxTxPowerPerBandRspMsg
7009 *wdiSetMaxTxPowerPerBandRsp,
7010 void* pUserData);
7011
7012/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07007013 WDA_SetTxPowerRspCb
7014
7015 DESCRIPTION
7016
7017 This callback is invoked by DAL when it has received a set max Tx Power response from
7018 the underlying device.
7019
7020 PARAMETERS
7021
7022 IN
7023 wdiStatus: response status received from HAL
7024 pUserData: user data
7025
7026 RETURN VALUE
7027 The result code associated with performing the operation
7028---------------------------------------------------------------------------*/
7029typedef void (*WDA_SetTxPowerRspCb)(WDI_SetTxPowerRspMsg *wdiSetTxPowerRsp,
7030 void* pUserData);
7031
7032/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07007033 WDI_UpdateProbeRspTemplateRspCb
7034
7035 DESCRIPTION
7036
7037 This callback is invoked by DAL when it has received a Probe RSP Template
7038 Update response from the underlying device.
7039
7040 PARAMETERS
7041
7042 IN
7043 wdiStatus: response status received from HAL
7044 pUserData: user data
7045
7046
7047
7048 RETURN VALUE
7049 The result code associated with performing the operation
7050---------------------------------------------------------------------------*/
7051typedef void (*WDI_UpdateProbeRspTemplateRspCb)(WDI_Status wdiStatus,
7052 void* pUserData);
7053
Jeff Johnson295189b2012-06-20 16:38:30 -07007054/*---------------------------------------------------------------------------
7055 WDI_SetP2PGONOAReqParamsRspCb
7056
7057 DESCRIPTION
7058
7059 This callback is invoked by DAL when it has received a P2P GO NOA Params response from
7060 the underlying device.
7061
7062 PARAMETERS
7063
7064 IN
7065 wdiStatus: response status received from HAL
7066 pUserData: user data
7067
7068
7069
7070 RETURN VALUE
7071 The result code associated with performing the operation
7072---------------------------------------------------------------------------*/
7073typedef void (*WDI_SetP2PGONOAReqParamsRspCb)(WDI_Status wdiStatus,
7074 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007075
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05307076/*---------------------------------------------------------------------------
7077 WDI_SetTDLSLinkEstablishReqParamsRspCb
7078
7079 DESCRIPTION
7080
7081 This callback is invoked by DAL when it has received a TDLS Link Establish Req response from
7082 the underlying device.
7083
7084 PARAMETERS
7085
7086 IN
7087 wdiStatus: response status received from HAL
7088 pUserData: user data
7089
7090
7091
7092 RETURN VALUE
7093 The result code associated with performing the operation
7094---------------------------------------------------------------------------*/
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05307095typedef void (*WDI_SetTDLSLinkEstablishReqParamsRspCb)(WDI_SetTdlsLinkEstablishReqResp *
7096 wdiSetTdlsLinkEstablishReqRsp,
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05307097 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007098
7099/*---------------------------------------------------------------------------
Atul Mittalc0f739f2014-07-31 13:47:47 +05307100 WDI_SetTDLSChanSwitchReqParamsRspCb
7101
7102 DESCRIPTION
7103
7104 This callback is invoked by DAL when it has received a TDLS Link Establish Req response from
7105 the underlying device.
7106
7107 PARAMETERS
7108
7109 IN
7110 wdiStatus: response status received from HAL
7111 pUserData: user data
7112
7113
7114
7115 RETURN VALUE
7116 The result code associated with performing the operation
7117---------------------------------------------------------------------------*/
7118typedef void (*WDI_SetTDLSChanSwitchReqParamsRspCb)(WDI_SetTdlsChanSwitchReqResp *
7119 wdiSetTdlsChanSwitchReqRsp,
7120 void* pUserData);
7121/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07007122 WDI_SetPwrSaveCfgCb
7123
7124 DESCRIPTION
7125
7126 This callback is invoked by DAL when it has received a set Power Save CFG
7127 response from the underlying device.
7128
7129 PARAMETERS
7130
7131 IN
7132 wdiStatus: response status received from HAL
7133 pUserData: user data
7134
7135
7136
7137 RETURN VALUE
7138 The result code associated with performing the operation
7139---------------------------------------------------------------------------*/
7140typedef void (*WDI_SetPwrSaveCfgCb)(WDI_Status wdiStatus,
7141 void* pUserData);
7142
7143/*---------------------------------------------------------------------------
7144 WDI_SetUapsdAcParamsCb
7145
7146 DESCRIPTION
7147
7148 This callback is invoked by DAL when it has received a set UAPSD params
7149 response from the underlying device.
7150
7151 PARAMETERS
7152
7153 IN
7154 wdiStatus: response status received from HAL
7155 pUserData: user data
7156
7157
7158
7159 RETURN VALUE
7160 The result code associated with performing the operation
7161---------------------------------------------------------------------------*/
7162typedef void (*WDI_SetUapsdAcParamsCb)(WDI_Status wdiStatus,
7163 void* pUserData);
7164
7165/*---------------------------------------------------------------------------
7166 WDI_EnterImpsRspCb
7167
7168 DESCRIPTION
7169
7170 This callback is invoked by DAL when it has received a Enter IMPS response
7171 from the underlying device.
7172
7173 PARAMETERS
7174
7175 IN
7176 wdiStatus: response status received from HAL
7177 pUserData: user data
7178
7179
7180
7181 RETURN VALUE
7182 The result code associated with performing the operation
7183---------------------------------------------------------------------------*/
7184typedef void (*WDI_EnterImpsRspCb)(WDI_Status wdiStatus,
7185 void* pUserData);
7186
7187/*---------------------------------------------------------------------------
7188 WDI_ExitImpsRspCb
7189
7190 DESCRIPTION
7191
7192 This callback is invoked by DAL when it has received a Exit IMPS response
7193 from the underlying device.
7194
7195 PARAMETERS
7196
7197 IN
7198 wdiStatus: response status received from HAL
7199 pUserData: user data
7200
7201
7202
7203 RETURN VALUE
7204 The result code associated with performing the operation
7205---------------------------------------------------------------------------*/
7206typedef void (*WDI_ExitImpsRspCb)(WDI_Status wdiStatus,
7207 void* pUserData);
7208
7209/*---------------------------------------------------------------------------
7210 WDI_EnterBmpsRspCb
7211
7212 DESCRIPTION
7213
7214 This callback is invoked by DAL when it has received a enter BMPS response
7215 from the underlying device.
7216
7217 PARAMETERS
7218
7219 IN
7220 wdiStatus: response status received from HAL
7221 pUserData: user data
7222
7223
7224
7225 RETURN VALUE
7226 The result code associated with performing the operation
7227---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007228typedef void (*WDI_EnterBmpsRspCb)(WDI_EnterBmpsRspParamsType *pwdiEnterBmpsRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007229 void* pUserData);
7230
7231/*---------------------------------------------------------------------------
7232 WDI_ExitBmpsRspCb
7233
7234 DESCRIPTION
7235
7236 This callback is invoked by DAL when it has received a exit BMPS response
7237 from the underlying device.
7238
7239 PARAMETERS
7240
7241 IN
7242 wdiStatus: response status received from HAL
7243 pUserData: user data
7244
7245
7246
7247 RETURN VALUE
7248 The result code associated with performing the operation
7249---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007250typedef void (*WDI_ExitBmpsRspCb)( WDI_ExitBmpsRspParamsType *pwdiExitBmpsRspParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007251 void* pUserData);
7252
7253/*---------------------------------------------------------------------------
7254 WDI_EnterUapsdRspCb
7255
7256 DESCRIPTION
7257
7258 This callback is invoked by DAL when it has received a enter UAPSD response
7259 from the underlying device.
7260
7261 PARAMETERS
7262
7263 IN
7264 wdiStatus: response status received from HAL
7265 pUserData: user data
7266
7267
7268
7269 RETURN VALUE
7270 The result code associated with performing the operation
7271---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007272typedef void (*WDI_EnterUapsdRspCb)( WDI_EnterUapsdRspParamsType *pwdiEnterUapsdRspParam,
Jeff Johnson295189b2012-06-20 16:38:30 -07007273 void* pUserData);
7274
7275/*---------------------------------------------------------------------------
7276 WDI_ExitUapsdRspCb
7277
7278 DESCRIPTION
7279
7280 This callback is invoked by DAL when it has received a exit UAPSD response
7281 from the underlying device.
7282
7283 PARAMETERS
7284
7285 IN
7286 wdiStatus: response status received from HAL
7287 pUserData: user data
7288
7289
7290
7291 RETURN VALUE
7292 The result code associated with performing the operation
7293---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007294typedef void (*WDI_ExitUapsdRspCb)(WDI_ExitUapsdRspParamsType *pwidExitUapsdRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007295 void* pUserData);
7296
7297/*---------------------------------------------------------------------------
7298 WDI_UpdateUapsdParamsCb
7299
7300 DESCRIPTION
7301
7302 This callback is invoked by DAL when it has received a update UAPSD params
7303 response from the underlying device.
7304
7305 PARAMETERS
7306
7307 IN
7308 wdiStatus: response status received from HAL
7309 pUserData: user data
7310
7311
7312
7313 RETURN VALUE
7314 The result code associated with performing the operation
7315---------------------------------------------------------------------------*/
7316typedef void (*WDI_UpdateUapsdParamsCb)(WDI_Status wdiStatus,
7317 void* pUserData);
7318
7319/*---------------------------------------------------------------------------
7320 WDI_ConfigureRxpFilterCb
7321
7322 DESCRIPTION
7323
7324 This callback is invoked by DAL when it has received a config RXP filter
7325 response from the underlying device.
7326
7327 PARAMETERS
7328
7329 IN
7330 wdiStatus: response status received from HAL
7331 pUserData: user data
7332
7333
7334
7335 RETURN VALUE
7336 The result code associated with performing the operation
7337---------------------------------------------------------------------------*/
7338typedef void (*WDI_ConfigureRxpFilterCb)(WDI_Status wdiStatus,
7339 void* pUserData);
7340
7341/*---------------------------------------------------------------------------
7342 WDI_SetBeaconFilterCb
7343
7344 DESCRIPTION
7345
7346 This callback is invoked by DAL when it has received a set beacon filter
7347 response from the underlying device.
7348
7349 PARAMETERS
7350
7351 IN
7352 wdiStatus: response status received from HAL
7353 pUserData: user data
7354
7355
7356
7357 RETURN VALUE
7358 The result code associated with performing the operation
7359---------------------------------------------------------------------------*/
7360typedef void (*WDI_SetBeaconFilterCb)(WDI_Status wdiStatus,
7361 void* pUserData);
7362
7363/*---------------------------------------------------------------------------
7364 WDI_RemBeaconFilterCb
7365
7366 DESCRIPTION
7367
7368 This callback is invoked by DAL when it has received a remove beacon filter
7369 response from the underlying device.
7370
7371 PARAMETERS
7372
7373 IN
7374 wdiStatus: response status received from HAL
7375 pUserData: user data
7376
7377
7378
7379 RETURN VALUE
7380 The result code associated with performing the operation
7381---------------------------------------------------------------------------*/
7382typedef void (*WDI_RemBeaconFilterCb)(WDI_Status wdiStatus,
7383 void* pUserData);
7384
7385/*---------------------------------------------------------------------------
7386 WDI_SetRSSIThresholdsCb
7387
7388 DESCRIPTION
7389
7390 This callback is invoked by DAL when it has received a set RSSI thresholds
7391 response from the underlying device.
7392
7393 PARAMETERS
7394
7395 IN
7396 wdiStatus: response status received from HAL
7397 pUserData: user data
7398
7399
7400
7401 RETURN VALUE
7402 The result code associated with performing the operation
7403---------------------------------------------------------------------------*/
7404typedef void (*WDI_SetRSSIThresholdsCb)(WDI_Status wdiStatus,
7405 void* pUserData);
7406
7407/*---------------------------------------------------------------------------
7408 WDI_HostOffloadCb
7409
7410 DESCRIPTION
7411
7412 This callback is invoked by DAL when it has received a host offload
7413 response from the underlying device.
7414
7415 PARAMETERS
7416
7417 IN
7418 wdiStatus: response status received from HAL
7419 pUserData: user data
7420
7421
7422
7423 RETURN VALUE
7424 The result code associated with performing the operation
7425---------------------------------------------------------------------------*/
7426typedef void (*WDI_HostOffloadCb)(WDI_Status wdiStatus,
7427 void* pUserData);
7428
7429/*---------------------------------------------------------------------------
7430 WDI_KeepAliveCb
7431
7432 DESCRIPTION
7433
7434 This callback is invoked by DAL when it has received a Keep Alive
7435 response from the underlying device.
7436
7437 PARAMETERS
7438
7439 IN
7440 wdiStatus: response status received from HAL
7441 pUserData: user data
7442
7443
7444
7445 RETURN VALUE
7446 The result code associated with performing the operation
7447---------------------------------------------------------------------------*/
7448typedef void (*WDI_KeepAliveCb)(WDI_Status wdiStatus,
7449 void* pUserData);
7450
7451/*---------------------------------------------------------------------------
7452 WDI_WowlAddBcPtrnCb
7453
7454 DESCRIPTION
7455
7456 This callback is invoked by DAL when it has received a Wowl add Bcast ptrn
7457 response from the underlying device.
7458
7459 PARAMETERS
7460
7461 IN
7462 wdiStatus: response status received from HAL
7463 pUserData: user data
7464
7465
7466
7467 RETURN VALUE
7468 The result code associated with performing the operation
7469---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007470typedef void (*WDI_WowlAddBcPtrnCb)( WDI_WowlAddBcPtrnRspParamsType *pwdiWowlAddBcPtrnParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007471 void* pUserData);
7472
7473/*---------------------------------------------------------------------------
7474 WDI_WowlDelBcPtrnCb
7475
7476 DESCRIPTION
7477
7478 This callback is invoked by DAL when it has received a Wowl delete Bcast ptrn
7479 response from the underlying device.
7480
7481 PARAMETERS
7482
7483 IN
7484 wdiStatus: response status received from HAL
7485 pUserData: user data
7486
7487
7488
7489 RETURN VALUE
7490 The result code associated with performing the operation
7491---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007492typedef void (*WDI_WowlDelBcPtrnCb)( WDI_WowlDelBcPtrnRspParamsType *pwdiWowlDelBcstPtrRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007493 void* pUserData);
7494
7495/*---------------------------------------------------------------------------
7496 WDI_WowlEnterReqCb
7497
7498 DESCRIPTION
7499
7500 This callback is invoked by DAL when it has received a Wowl enter
7501 response from the underlying device.
7502
7503 PARAMETERS
7504
7505 IN
7506 wdiStatus: response status received from HAL
7507 pUserData: user data
7508
7509
7510
7511 RETURN VALUE
7512 The result code associated with performing the operation
7513---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007514typedef void (*WDI_WowlEnterReqCb)( WDI_WowlEnterRspParamsType *pwdiwowlEnterRsp,
7515 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007516
7517/*---------------------------------------------------------------------------
7518 WDI_WowlExitReqCb
7519
7520 DESCRIPTION
7521
7522 This callback is invoked by DAL when it has received a Wowl exit
7523 response from the underlying device.
7524
7525 PARAMETERS
7526
7527 IN
7528 wdiStatus: response status received from HAL
7529 pUserData: user data
7530
7531
7532
7533 RETURN VALUE
7534 The result code associated with performing the operation
7535---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007536typedef void (*WDI_WowlExitReqCb)( WDI_WowlExitRspParamsType *pwdiWowlExitRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007537 void* pUserData);
7538
7539/*---------------------------------------------------------------------------
7540 WDI_ConfigureAppsCpuWakeupStateCb
7541
7542 DESCRIPTION
7543
7544 This callback is invoked by DAL when it has received a config Apps Cpu Wakeup
7545 State response from the underlying device.
7546
7547 PARAMETERS
7548
7549 IN
7550 wdiStatus: response status received from HAL
7551 pUserData: user data
7552
7553
7554
7555 RETURN VALUE
7556 The result code associated with performing the operation
7557---------------------------------------------------------------------------*/
7558typedef void (*WDI_ConfigureAppsCpuWakeupStateCb)(WDI_Status wdiStatus,
7559 void* pUserData);
7560/*---------------------------------------------------------------------------
7561 WDI_NvDownloadRspCb
7562
7563 DESCRIPTION
7564
7565 This callback is invoked by DAL when it has received a NV Download response
7566 from the underlying device.
7567
7568 PARAMETERS
7569
7570 IN
7571 wdiStatus:response status received from HAL
7572 pUserData:user data
7573
7574 RETURN VALUE
7575 The result code associated with performing the operation
7576---------------------------------------------------------------------------*/
7577typedef void (*WDI_NvDownloadRspCb)(WDI_NvDownloadRspInfoType* wdiNvDownloadRsp,
7578 void* pUserData);
7579/*---------------------------------------------------------------------------
7580 WDI_FlushAcRspCb
7581
7582 DESCRIPTION
7583
7584 This callback is invoked by DAL when it has received a Flush AC response from
7585 the underlying device.
7586
7587 PARAMETERS
7588
7589 IN
7590 wdiStatus: response status received from HAL
7591 pUserData: user data
7592
7593
7594
7595 RETURN VALUE
7596 The result code associated with performing the operation
7597---------------------------------------------------------------------------*/
7598typedef void (*WDI_FlushAcRspCb)(WDI_Status wdiStatus,
7599 void* pUserData);
7600
7601/*---------------------------------------------------------------------------
7602 WDI_BtAmpEventRspCb
7603
7604 DESCRIPTION
7605
7606 This callback is invoked by DAL when it has received a Bt AMP event response
7607 from the underlying device.
7608
7609 PARAMETERS
7610
7611 IN
7612 wdiStatus: response status received from HAL
7613 pUserData: user data
7614
7615
7616
7617 RETURN VALUE
7618 The result code associated with performing the operation
7619---------------------------------------------------------------------------*/
7620typedef void (*WDI_BtAmpEventRspCb)(WDI_Status wdiStatus,
7621 void* pUserData);
7622
Jeff Johnsone7245742012-09-05 17:12:55 -07007623#ifdef FEATURE_OEM_DATA_SUPPORT
7624/*---------------------------------------------------------------------------
7625 WDI_oemDataRspCb
7626
7627 DESCRIPTION
7628
7629 This callback is invoked by DAL when it has received a Start oem data response from
7630 the underlying device.
7631
7632 PARAMETERS
7633
7634 IN
7635 wdiStatus: response status received from HAL
7636 pUserData: user data
7637
7638
7639
7640 RETURN VALUE
7641 The result code associated with performing the operation
7642---------------------------------------------------------------------------*/
7643typedef void (*WDI_oemDataRspCb)(WDI_oemDataRspParamsType* wdiOemDataRspParams,
7644 void* pUserData);
7645
7646#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07007647
7648/*---------------------------------------------------------------------------
7649 WDI_HostResumeEventRspCb
7650
7651 DESCRIPTION
7652
7653 This callback is invoked by DAL when it has received a Bt AMP event response
7654 from the underlying device.
7655
7656 PARAMETERS
7657
7658 IN
7659 wdiStatus: response status received from HAL
7660 pUserData: user data
7661
7662
7663
7664 RETURN VALUE
7665 The result code associated with performing the operation
7666---------------------------------------------------------------------------*/
7667typedef void (*WDI_HostResumeEventRspCb)(
7668 WDI_SuspendResumeRspParamsType *resumeRspParams,
7669 void* pUserData);
7670
7671
7672#ifdef WLAN_FEATURE_VOWIFI_11R
7673/*---------------------------------------------------------------------------
7674 WDI_AggrAddTsRspCb
7675
7676 DESCRIPTION
7677
7678 This callback is invoked by DAL when it has received a Aggregated Add TS
7679 response from the underlying device.
7680
7681 PARAMETERS
7682
7683 IN
7684 wdiStatus: response status received from HAL
7685 pUserData: user data
7686
7687
7688
7689 RETURN VALUE
7690 The result code associated with performing the operation
7691---------------------------------------------------------------------------*/
7692typedef void (*WDI_AggrAddTsRspCb)(WDI_Status wdiStatus,
7693 void* pUserData);
7694#endif /* WLAN_FEATURE_VOWIFI_11R */
7695
Jeff Johnson295189b2012-06-20 16:38:30 -07007696/*---------------------------------------------------------------------------
7697 WDI_FTMCommandRspCb
7698
7699 DESCRIPTION
7700
7701 FTM Command response CB
7702
7703 PARAMETERS
7704
7705 IN
7706 ftmCMDRspdata: FTM response data from HAL
7707 pUserData: user data
7708
7709
7710 RETURN VALUE
7711 NONE
7712---------------------------------------------------------------------------*/
7713typedef void (*WDI_FTMCommandRspCb)(void *ftmCMDRspdata,
7714 void *pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007715
7716/*---------------------------------------------------------------------------
7717 WDI_AddSTASelfParamsRspCb
7718
7719 DESCRIPTION
7720
7721 This callback is invoked by DAL when it has received a Add Sta Self Params
7722 response from the underlying device.
7723
7724 PARAMETERS
7725
7726 IN
7727 wdiAddSelfSTARsp: response status received from HAL
7728 pUserData: user data
7729
7730
7731
7732 RETURN VALUE
7733 The result code associated with performing the operation
7734---------------------------------------------------------------------------*/
7735typedef void (*WDI_AddSTASelfParamsRspCb)(
7736 WDI_AddSTASelfRspParamsType* pwdiAddSelfSTARsp,
7737 void* pUserData);
7738
7739
7740/*---------------------------------------------------------------------------
7741 WDI_DelSTASelfRspCb
7742
7743 DESCRIPTION
7744
7745 This callback is invoked by DAL when it has received a host offload
7746 response from the underlying device.
7747
7748 PARAMETERS
7749
7750 IN
7751 wdiStatus: response status received from HAL
7752 pUserData: user data
7753
7754
7755
7756 RETURN VALUE
7757 The result code associated with performing the operation
7758---------------------------------------------------------------------------*/
7759typedef void (*WDI_DelSTASelfRspCb)
7760(
7761WDI_DelSTASelfRspParamsType* wdiDelStaSelfRspParams,
7762void* pUserData
7763);
7764
7765#ifdef FEATURE_WLAN_SCAN_PNO
7766/*---------------------------------------------------------------------------
7767 WDI_PNOScanCb
7768
7769 DESCRIPTION
7770
7771 This callback is invoked by DAL when it has received a Set PNO
7772 response from the underlying device.
7773
7774 PARAMETERS
7775
7776 IN
7777 wdiStatus: response status received from HAL
7778 pUserData: user data
7779
7780
7781
7782 RETURN VALUE
7783 The result code associated with performing the operation
7784---------------------------------------------------------------------------*/
7785typedef void (*WDI_PNOScanCb)(WDI_Status wdiStatus,
7786 void* pUserData);
7787
7788/*---------------------------------------------------------------------------
7789 WDI_PNOScanCb
7790
7791 DESCRIPTION
7792
7793 This callback is invoked by DAL when it has received a Set PNO
7794 response from the underlying device.
7795
7796 PARAMETERS
7797
7798 IN
7799 wdiStatus: response status received from HAL
7800 pUserData: user data
7801
7802
7803
7804 RETURN VALUE
7805 The result code associated with performing the operation
7806---------------------------------------------------------------------------*/
7807typedef void (*WDI_RssiFilterCb)(WDI_Status wdiStatus,
7808 void* pUserData);
7809
7810/*---------------------------------------------------------------------------
7811 WDI_UpdateScanParamsCb
7812
7813 DESCRIPTION
7814
7815 This callback is invoked by DAL when it has received a Update Scan Params
7816 response from the underlying device.
7817
7818 PARAMETERS
7819
7820 IN
7821 wdiStatus: response status received from HAL
7822 pUserData: user data
7823
7824
7825
7826 RETURN VALUE
7827 The result code associated with performing the operation
7828---------------------------------------------------------------------------*/
7829typedef void (*WDI_UpdateScanParamsCb)(WDI_Status wdiStatus,
7830 void* pUserData);
7831#endif // FEATURE_WLAN_SCAN_PNO
7832
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08007833typedef void (*WDI_UpdateChannelRspCb)(WDI_Status wdiStatus,
7834 void* pUserData);
7835
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07007836#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
7837/*---------------------------------------------------------------------------
7838 WDI_RoamOffloadScanCb
7839
7840 DESCRIPTION
7841
7842 This callback is invoked by DAL when it has received a Start Roam Candidate Lookup Req
7843 response from the underlying device.
7844
7845 PARAMETERS
7846
7847 IN
7848 wdiStatus: response status received from HAL
7849 pUserData: user data
7850
7851
7852
7853 RETURN VALUE
7854 The result code associated with performing the operation
7855---------------------------------------------------------------------------*/
7856typedef void (*WDI_RoamOffloadScanCb)(WDI_Status wdiStatus,
7857 void* pUserData);
7858
7859#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07007860/*---------------------------------------------------------------------------
7861 WDI_SetTxPerTrackingRspCb
7862
7863 DESCRIPTION
7864
7865 This callback is invoked by DAL when it has received a Tx PER Tracking
7866 response from the underlying device.
7867
7868 PARAMETERS
7869
7870 IN
7871 wdiStatus: response status received from HAL
7872 pUserData: user data
7873
7874
7875
7876 RETURN VALUE
7877 The result code associated with performing the operation
7878---------------------------------------------------------------------------*/
7879typedef void (*WDI_SetTxPerTrackingRspCb)(WDI_Status wdiStatus,
7880 void* pUserData);
7881
7882#ifdef WLAN_FEATURE_PACKET_FILTERING
7883/*---------------------------------------------------------------------------
7884 WDI_8023MulticastListCb
7885
7886 DESCRIPTION
7887
7888 This callback is invoked by DAL when it has received a 8023 Multicast List
7889 response from the underlying device.
7890
7891 PARAMETERS
7892
7893 IN
7894 wdiStatus: response status received from HAL
7895 pUserData: user data
7896
7897
7898
7899 RETURN VALUE
7900 The result code associated with performing the operation
7901---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007902typedef void (*WDI_8023MulticastListCb)(
7903 WDI_RcvFltPktSetMcListRspParamsType *pwdiRcvFltPktSetMcListRspInfo,
7904 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007905
7906/*---------------------------------------------------------------------------
7907 WDI_ReceiveFilterSetFilterCb
7908
7909 DESCRIPTION
7910
7911 This callback is invoked by DAL when it has received a Receive Filter Set Filter
7912 response from the underlying device.
7913
7914 PARAMETERS
7915
7916 IN
7917 wdiStatus: response status received from HAL
7918 pUserData: user data
7919
7920
7921
7922 RETURN VALUE
7923 The result code associated with performing the operation
7924---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007925typedef void (*WDI_ReceiveFilterSetFilterCb)(
7926 WDI_SetRcvPktFilterRspParamsType *pwdiSetRcvPktFilterRspInfo,
7927 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007928
7929/*---------------------------------------------------------------------------
7930 WDI_FilterMatchCountCb
7931
7932 DESCRIPTION
7933
7934 This callback is invoked by DAL when it has received a Do PC Filter Match Count
7935 response from the underlying device.
7936
7937 PARAMETERS
7938
7939 IN
7940 wdiStatus: response status received from HAL
7941 pUserData: user data
7942
7943
7944
7945 RETURN VALUE
7946 The result code associated with performing the operation
7947---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007948typedef void (*WDI_FilterMatchCountCb)(
7949 WDI_RcvFltPktMatchCntRspParamsType *pwdiRcvFltPktMatchRspParams,
7950 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007951
7952/*---------------------------------------------------------------------------
7953 WDI_ReceiveFilterClearFilterCb
7954
7955 DESCRIPTION
7956
7957 This callback is invoked by DAL when it has received a Receive Filter Clear Filter
7958 response from the underlying device.
7959
7960 PARAMETERS
7961
7962 IN
7963 wdiStatus: response status received from HAL
7964 pUserData: user data
7965
7966
7967
7968 RETURN VALUE
7969 The result code associated with performing the operation
7970---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007971typedef void (*WDI_ReceiveFilterClearFilterCb)(
7972 WDI_RcvFltPktClearRspParamsType *pwdiRcvFltPktClearRspParamsType,
7973 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007974#endif // WLAN_FEATURE_PACKET_FILTERING
7975
7976/*---------------------------------------------------------------------------
7977 WDI_HALDumpCmdRspCb
7978
7979 DESCRIPTION
7980
7981 This callback is invoked by DAL when it has received a HAL DUMP Command
7982response from
7983 the HAL layer.
7984
7985 PARAMETERS
7986
7987 IN
7988 wdiHalDumpCmdRsp: response status received from HAL
7989 pUserData: user data
7990
7991
7992
7993 RETURN VALUE
7994 The result code associated with performing the operation
7995---------------------------------------------------------------------------*/
7996typedef void (*WDI_HALDumpCmdRspCb)(WDI_HALDumpCmdRspParamsType* wdiHalDumpCmdRsp,
7997 void* pUserData);
7998
7999/*---------------------------------------------------------------------------
8000 WDI_SetPowerParamsCb
8001
8002 DESCRIPTION
8003
8004 This callback is invoked by DAL when it has received a Set Power Param
8005 response from the underlying device.
8006
8007 PARAMETERS
8008
8009 IN
8010 wdiStatus: response status received from HAL
8011 pUserData: user data
8012
8013
8014
8015 RETURN VALUE
8016 The result code associated with performing the operation
8017---------------------------------------------------------------------------*/
8018typedef void (*WDI_SetPowerParamsCb)(WDI_Status wdiStatus,
8019 void* pUserData);
8020
c_manjeecfd1efb2015-09-25 19:32:34 +05308021
8022/*---------------------------------------------------------------------------
8023 WDA_FwrMemDumpRespCallback
8024
8025 DESCRIPTION
8026
8027 This callback is invoked by DAL when it has received a Fwr Mem dump
8028 response from the underlying device.
8029
8030 PARAMETERS
8031
8032 IN
8033 wdiStatus: response status received from HAL
8034 pUserData: user data
8035 ---------------------------------------------------------------------------*/
8036typedef void (* WDI_FwrMemDumpCb) (WDI_FwrMemDumpRsp* wdiRsp,
8037 void* pUserData);
8038
8039
Jeff Johnson295189b2012-06-20 16:38:30 -07008040#ifdef WLAN_FEATURE_GTK_OFFLOAD
8041/*---------------------------------------------------------------------------
8042 WDI_GtkOffloadCb
8043
8044 DESCRIPTION
8045
8046 This callback is invoked by DAL when it has received a GTK offload
8047 response from the underlying device.
8048
8049 PARAMETERS
8050
8051 IN
8052 wdiStatus: response status received from HAL
8053 pUserData: user data
8054
8055
8056
8057 RETURN VALUE
8058 The result code associated with performing the operation
8059---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07008060typedef void (*WDI_GtkOffloadCb)( WDI_GtkOffloadRspParams *pwdiGtkOffloadRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07008061 void* pUserData);
8062
8063/*---------------------------------------------------------------------------
8064 WDI_GtkOffloadGetInfoCb
8065
8066 DESCRIPTION
8067
8068 This callback is invoked by DAL when it has received a GTK offload
8069 information response from the underlying device.
8070
8071 PARAMETERS
8072
8073 IN
8074 wdiStatus: response status received from HAL
8075 pUserData: user data
8076
8077
8078
8079 RETURN VALUE
8080 The result code associated with performing the operation
8081---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07008082typedef void (*WDI_GtkOffloadGetInfoCb)( WDI_GtkOffloadGetInfoRspParams *pwdiGtkOffloadGetInfoRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07008083 void* pUserData);
8084#endif // WLAN_FEATURE_GTK_OFFLOAD
8085
8086/*---------------------------------------------------------------------------
8087 WDI_SetTmLevelCb
8088
8089 DESCRIPTION
8090
8091 This callback is invoked by DAL when it has received a Set New TM Level
8092 done response from the underlying device.
8093
8094 PARAMETERS
8095
8096 IN
8097 wdiStatus: response status received from HAL
8098 pUserData: user data
8099
8100
8101
8102 RETURN VALUE
8103 The result code associated with performing the operation
8104---------------------------------------------------------------------------*/
8105typedef void (*WDI_SetTmLevelCb)(WDI_Status wdiStatus,
8106 void* pUserData);
8107
8108/*---------------------------------------------------------------------------
8109 WDI_featureCapsExchangeCb
8110
8111 DESCRIPTION
8112
8113 This callback is invoked by DAL when it has received a HAL Feature Capbility
8114 Exchange Response the HAL layer. This callback is put to mantain code
8115 similarity and is not being used right now.
8116
8117 PARAMETERS
8118
8119 IN
8120 wdiFeatCapRspParams: response parameters received from HAL
8121 pUserData: user data
8122
8123 RETURN VALUE
8124 The result code associated with performing the operation
8125---------------------------------------------------------------------------*/
8126typedef void (*WDI_featureCapsExchangeCb)(void* wdiFeatCapRspParams,
8127 void* pUserData);
8128
Mohit Khanna4a70d262012-09-11 16:30:12 -07008129#ifdef WLAN_FEATURE_11AC
8130typedef void (*WDI_UpdateVHTOpModeCb)(WDI_Status wdiStatus,
8131 void* pUserData);
8132#endif
8133
Leo Chang9056f462013-08-01 19:21:11 -07008134#ifdef FEATURE_WLAN_LPHB
8135typedef void (*WDI_LphbCfgCb)(WDI_Status wdiStatus,
8136 void* pUserData);
8137#endif /* FEATURE_WLAN_LPHB */
Mohit Khanna4a70d262012-09-11 16:30:12 -07008138
Rajeev79dbe4c2013-10-05 11:03:42 +05308139#ifdef FEATURE_WLAN_BATCH_SCAN
8140/*---------------------------------------------------------------------------
8141 WDI_SetBatchScanCb
8142
8143 DESCRIPTION
8144
8145 This callback is invoked by DAL when it has received a get batch scan
8146 response from the underlying device.
8147
8148 PARAMETERS
8149
8150 IN
8151 wdiStatus: response status received from HAL
8152 pUserData: user data
8153
8154
8155
8156 RETURN VALUE
8157 The result code associated with performing the operation
8158---------------------------------------------------------------------------*/
8159typedef void (*WDI_SetBatchScanCb)(void *pData, WDI_SetBatchScanRspType *pRsp);
8160
8161#endif
8162
c_hpothu92367912014-05-01 15:18:17 +05308163typedef void (*WDI_GetBcnMissRateCb)(wpt_uint8 status, wpt_uint32 bcnMissRate,
8164 void* pUserData);
Rajeev79dbe4c2013-10-05 11:03:42 +05308165
Dino Mycle41bdc942014-06-10 11:30:24 +05308166#ifdef WLAN_FEATURE_EXTSCAN
8167typedef void (*WDI_EXTScanStartRspCb)(void *pEventData,
8168 void *pUserData);
8169typedef void (*WDI_EXTScanStopRspCb)(void *pEventData,
8170 void *pUserData);
8171typedef void (*WDI_EXTScanGetCachedResultsRspCb)(void *pEventData,
8172 void *pUserData);
8173typedef void (*WDI_EXTScanGetCapabilitiesRspCb)(void *pEventData,
8174 void *pUserData);
8175typedef void (*WDI_EXTScanSetBSSIDHotlistRspCb)(void *pEventData,
8176 void *pUserData);
8177typedef void (*WDI_EXTScanResetBSSIDHotlistRspCb)(void *pEventData,
8178 void *pUserData);
Padma, Santhosh Kumar9acee012015-08-21 19:58:01 +05308179typedef void (*WDI_EXTScanSetSSIDHotlistRspCb)(void *pEventData,
8180 void *pUserData);
8181typedef void (*WDI_EXTScanResetSSIDHotlistRspCb)(void *pEventData,
8182 void *pUserData);
Dino Mycle41bdc942014-06-10 11:30:24 +05308183#endif /* WLAN_FEATURE_EXTSCAN */
Sunil Duttbd736ed2014-05-26 21:19:41 +05308184
8185#ifdef WLAN_FEATURE_LINK_LAYER_STATS
8186typedef void (*WDI_LLStatsSetRspCb)(void *pEventData,
8187 void *pUserData);
8188typedef void (*WDI_LLStatsGetRspCb)(void *pEventData,
8189 void *pUserData);
8190typedef void (*WDI_LLStatsClearRspCb)(void *pEventData,
8191 void *pUserData);
8192#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
Siddharth Bhal171788a2014-09-29 21:02:40 +05308193
8194typedef void (*WDI_SetSpoofMacAddrRspCb)(
8195 WDI_SpoofMacAddrRspParamType* wdiRsp, void *pUserData);
Srinivas Dasari4dae48f2014-11-26 21:14:16 +05308196
Abhishek Singh85b74712014-10-08 11:38:19 +05308197typedef void (*WDI_FWStatsGetRspCb)(WDI_Status status,void *fwStatsResp,
8198 void *pUserData);
Srinivas Dasari4dae48f2014-11-26 21:14:16 +05308199
8200typedef void (*WDI_EncryptMsgRspCb)(wpt_uint8 status, void *pEventData, void* pUserData);
Siddharth Bhald1be97f2015-05-27 22:39:59 +05308201typedef void (*WDI_FWLoggingInitRspCb)(
8202 WDI_FWLoggingInitRspParamType *wdiRsp, void *pUserData);
Siddharth Bhal64246172015-02-27 01:04:37 +05308203typedef void (*WDI_GetFrameLogRspCb)(
8204 WDI_GetFrameLogRspParamType *wdiRsp, void *pUserData);
Sachin Ahuja715aafc2015-07-21 23:35:10 +05308205typedef void (*WDI_FatalEventLogsRspCb)(
8206 WDI_FatalEventLogsRspParamType *wdiRsp, void *pUserData);
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05308207
Hanumantha Reddy Pothula91cdd7f2015-09-03 21:25:16 +05308208typedef void (*WDI_MonModeRspCb)(void *pEventData,void *pUserData);
Gupta, Kapil7c34b322015-09-30 13:12:35 +05308209typedef void (*WDI_RssiMonitorStartRspCb)(void *pEventData,void *pUserData);
8210typedef void (*WDI_RssiMonitorStopRspCb)(void *pEventData,void *pUserData);
Katya Nigamf0511f62015-05-05 16:40:57 +05308211
c_manjeecfd1efb2015-09-25 19:32:34 +05308212typedef void (*WDI_FwrMemDumpRspCb)(WDI_FwrMemDumpRsp *wdiRsp, void *pUserData);
8213
Arun Khandavalli7eeb1592015-10-19 21:36:57 +05308214typedef void (*WDI_WifiConfigSetRspCb) (WDI_WifconfigSetRsp *wdiRsp, void *pUserData);
c_manjeecfd1efb2015-09-25 19:32:34 +05308215
Mahesh A Saptasagarcfc65ae2015-12-22 15:06:10 +05308216typedef void (*WDI_AntennaDivSelRspCb)(WDI_Status status,
8217 void *resp, void *pUserData);
8218
Jeff Johnson295189b2012-06-20 16:38:30 -07008219/*========================================================================
8220 * Function Declarations and Documentation
8221 ==========================================================================*/
8222
8223/*========================================================================
8224
8225 INITIALIZATION APIs
8226
8227==========================================================================*/
8228
8229/**
8230 @brief WDI_Init is used to initialize the DAL.
8231
8232 DAL will allocate all the resources it needs. It will open PAL, it will also
8233 open both the data and the control transport which in their turn will open
8234 DXE/SMD or any other drivers that they need.
8235
Arun Kumar Khandavalliebb19482014-03-25 13:56:53 +05308236 @param devHandle: pointer to the OS specific device handle
Jeff Johnson295189b2012-06-20 16:38:30 -07008237 ppWDIGlobalCtx: output pointer of Global Context
8238 pWdiDevCapability: output pointer of device capability
8239
8240 @return Result of the function call
8241*/
8242WDI_Status
8243WDI_Init
8244(
Arun Kumar Khandavalliebb19482014-03-25 13:56:53 +05308245 void* devHandle,
Jeff Johnson295189b2012-06-20 16:38:30 -07008246 void** ppWDIGlobalCtx,
8247 WDI_DeviceCapabilityType* pWdiDevCapability,
8248 unsigned int driverType
8249);
8250
8251/**
8252 @brief WDI_Start will be called when the upper MAC is ready to
8253 commence operation with the WLAN Device. Upon the call
8254 of this API the WLAN DAL will pack and send a HAL Start
8255 message to the lower RIVA sub-system if the SMD channel
8256 has been fully opened and the RIVA subsystem is up.
8257
8258 If the RIVA sub-system is not yet up and running DAL
8259 will queue the request for Open and will wait for the
8260 SMD notification before attempting to send down the
8261 message to HAL.
8262
8263 WDI_Init must have been called.
8264
8265 @param wdiStartParams: the start parameters as specified by
8266 the Device Interface
8267
8268 wdiStartRspCb: callback for passing back the response of
8269 the start operation received from the device
8270
8271 pUserData: user data will be passed back with the
8272 callback
8273
8274 @see WDI_Start
8275 @return Result of the function call
8276*/
8277WDI_Status
8278WDI_Start
8279(
8280 WDI_StartReqParamsType* pwdiStartParams,
8281 WDI_StartRspCb wdiStartRspCb,
8282 void* pUserData
8283);
8284
8285
8286/**
8287 @brief WDI_Stop will be called when the upper MAC is ready to
8288 stop any operation with the WLAN Device. Upon the call
8289 of this API the WLAN DAL will pack and send a HAL Stop
8290 message to the lower RIVA sub-system if the DAL Core is
8291 in started state.
8292
8293 In state BUSY this request will be queued.
8294
8295 Request will not be accepted in any other state.
8296
8297 WDI_Start must have been called.
8298
8299 @param wdiStopParams: the stop parameters as specified by
8300 the Device Interface
8301
8302 wdiStopRspCb: callback for passing back the response of
8303 the stop operation received from the device
8304
8305 pUserData: user data will be passed back with the
8306 callback
8307
8308 @see WDI_Start
8309 @return Result of the function call
8310*/
8311WDI_Status
8312WDI_Stop
8313(
8314 WDI_StopReqParamsType* pwdiStopParams,
8315 WDI_StopRspCb wdiStopRspCb,
8316 void* pUserData
8317);
8318
8319/**
8320 @brief WDI_Close will be called when the upper MAC no longer
8321 needs to interract with DAL. DAL will free its control
8322 block.
8323
8324 It is only accepted in state STOPPED.
8325
8326 WDI_Stop must have been called.
8327
8328 @param none
8329
8330 @see WDI_Stop
8331 @return Result of the function call
8332*/
8333WDI_Status
8334WDI_Close
8335(
8336 void
8337);
8338
8339
8340/**
8341 @brief WDI_Shutdown will be called during 'SSR shutdown' operation.
8342 This will do most of the WDI stop & close
8343 operations without doing any handshake with Riva
8344
8345 This will also make sure that the control transport
8346 will NOT be closed.
8347
8348 This request will not be queued.
8349
8350
8351 WDI_Start must have been called.
8352
8353 @param closeTransport: Close control channel if this is set
8354
8355 @return Result of the function call
8356*/
8357WDI_Status
8358WDI_Shutdown
8359(
8360 wpt_boolean closeTransport
8361);
8362
8363/*========================================================================
8364
8365 SCAN APIs
8366
8367==========================================================================*/
8368
8369/**
8370 @brief WDI_InitScanReq will be called when the upper MAC wants
8371 the WLAN Device to get ready for a scan procedure. Upon
8372 the call of this API the WLAN DAL will pack and send a
8373 HAL Init Scan request message to the lower RIVA
8374 sub-system if DAL is in state STARTED.
8375
8376 In state BUSY this request will be queued. Request won't
8377 be allowed in any other state.
8378
8379 WDI_Start must have been called.
8380
8381 @param wdiInitScanParams: the init scan parameters as specified
8382 by the Device Interface
8383
8384 wdiInitScanRspCb: callback for passing back the response
8385 of the init scan operation received from the device
8386
8387 pUserData: user data will be passed back with the
8388 callback
8389
8390 @see WDI_Start
8391 @return Result of the function call
8392*/
8393WDI_Status
8394WDI_InitScanReq
8395(
8396 WDI_InitScanReqParamsType* pwdiInitScanParams,
8397 WDI_InitScanRspCb wdiInitScanRspCb,
8398 void* pUserData
8399);
8400
8401/**
8402 @brief WDI_StartScanReq will be called when the upper MAC
8403 wishes to change the Scan channel on the WLAN Device.
8404 Upon the call of this API the WLAN DAL will pack and
8405 send a HAL Start Scan request message to the lower RIVA
8406 sub-system if DAL is in state STARTED.
8407
8408 In state BUSY this request will be queued. Request won't
8409 be allowed in any other state.
8410
8411 WDI_InitScanReq must have been called.
8412
8413 @param wdiStartScanParams: the start scan parameters as
8414 specified by the Device Interface
8415
8416 wdiStartScanRspCb: callback for passing back the
8417 response of the start scan operation received from the
8418 device
8419
8420 pUserData: user data will be passed back with the
8421 callback
8422
8423 @see WDI_InitScanReq
8424 @return Result of the function call
8425*/
8426WDI_Status
8427WDI_StartScanReq
8428(
8429 WDI_StartScanReqParamsType* pwdiStartScanParams,
8430 WDI_StartScanRspCb wdiStartScanRspCb,
8431 void* pUserData
8432);
8433
8434
8435/**
8436 @brief WDI_EndScanReq will be called when the upper MAC is
8437 wants to end scanning for a particular channel that it
8438 had set before by calling Scan Start on the WLAN Device.
8439 Upon the call of this API the WLAN DAL will pack and
8440 send a HAL End Scan request message to the lower RIVA
8441 sub-system if DAL is in state STARTED.
8442
8443 In state BUSY this request will be queued. Request won't
8444 be allowed in any other state.
8445
8446 WDI_StartScanReq must have been called.
8447
8448 @param wdiEndScanParams: the end scan parameters as specified
8449 by the Device Interface
8450
8451 wdiEndScanRspCb: callback for passing back the response
8452 of the end scan operation received from the device
8453
8454 pUserData: user data will be passed back with the
8455 callback
8456
8457 @see WDI_StartScanReq
8458 @return Result of the function call
8459*/
8460WDI_Status
8461WDI_EndScanReq
8462(
8463 WDI_EndScanReqParamsType* pwdiEndScanParams,
8464 WDI_EndScanRspCb wdiEndScanRspCb,
8465 void* pUserData
8466);
8467
8468
8469/**
8470 @brief WDI_FinishScanReq will be called when the upper MAC has
8471 completed the scan process on the WLAN Device. Upon the
8472 call of this API the WLAN DAL will pack and send a HAL
8473 Finish Scan Request request message to the lower RIVA
8474 sub-system if DAL is in state STARTED.
8475
8476 In state BUSY this request will be queued. Request won't
8477 be allowed in any other state.
8478
8479 WDI_InitScanReq must have been called.
8480
8481 @param wdiFinishScanParams: the finish scan parameters as
8482 specified by the Device Interface
8483
8484 wdiFinishScanRspCb: callback for passing back the
8485 response of the finish scan operation received from the
8486 device
8487
8488 pUserData: user data will be passed back with the
8489 callback
8490
8491 @see WDI_InitScanReq
8492 @return Result of the function call
8493*/
8494WDI_Status
8495WDI_FinishScanReq
8496(
8497 WDI_FinishScanReqParamsType* pwdiFinishScanParams,
8498 WDI_FinishScanRspCb wdiFinishScanRspCb,
8499 void* pUserData
8500);
8501
8502/*========================================================================
8503
8504 ASSOCIATION APIs
8505
8506==========================================================================*/
8507
8508/**
8509 @brief WDI_JoinReq will be called when the upper MAC is ready
8510 to start an association procedure to a BSS. Upon the
8511 call of this API the WLAN DAL will pack and send a HAL
8512 Join request message to the lower RIVA sub-system if
8513 DAL is in state STARTED.
8514
8515 In state BUSY this request will be queued. Request won't
8516 be allowed in any other state.
8517
8518 WDI_Start must have been called.
8519
8520 @param wdiJoinParams: the join parameters as specified by
8521 the Device Interface
8522
8523 wdiJoinRspCb: callback for passing back the response of
8524 the join operation received from the device
8525
8526 pUserData: user data will be passed back with the
8527 callback
8528
8529 @see WDI_Start
8530 @return Result of the function call
8531*/
8532WDI_Status
8533WDI_JoinReq
8534(
8535 WDI_JoinReqParamsType* pwdiJoinParams,
8536 WDI_JoinRspCb wdiJoinRspCb,
8537 void* pUserData
8538);
8539
8540/**
8541 @brief WDI_ConfigBSSReq will be called when the upper MAC
8542 wishes to configure the newly acquired or in process of
8543 being acquired BSS to the HW . Upon the call of this API
8544 the WLAN DAL will pack and send a HAL Config BSS request
8545 message to the lower RIVA sub-system if DAL is in state
8546 STARTED.
8547
8548 In state BUSY this request will be queued. Request won't
8549 be allowed in any other state.
8550
8551 WDI_JoinReq must have been called.
8552
8553 @param wdiConfigBSSParams: the config BSS parameters as
8554 specified by the Device Interface
8555
8556 wdiConfigBSSRspCb: callback for passing back the
8557 response of the config BSS operation received from the
8558 device
8559
8560 pUserData: user data will be passed back with the
8561 callback
8562
8563 @see WDI_JoinReq
8564 @return Result of the function call
8565*/
8566WDI_Status
8567WDI_ConfigBSSReq
8568(
8569 WDI_ConfigBSSReqParamsType* pwdiConfigBSSParams,
8570 WDI_ConfigBSSRspCb wdiConfigBSSRspCb,
8571 void* pUserData
8572);
8573
8574/**
8575 @brief WDI_DelBSSReq will be called when the upper MAC is
8576 dissasociating from the BSS and wishes to notify HW.
8577 Upon the call of this API the WLAN DAL will pack and
8578 send a HAL Del BSS request message to the lower RIVA
8579 sub-system if DAL is in state STARTED.
8580
8581 In state BUSY this request will be queued. Request won't
8582 be allowed in any other state.
8583
8584 WDI_ConfigBSSReq or WDI_PostAssocReq must have been called.
8585
8586 @param wdiDelBSSParams: the del BSS parameters as specified by
8587 the Device Interface
8588
8589 wdiDelBSSRspCb: callback for passing back the response
8590 of the del bss operation received from the device
8591
8592 pUserData: user data will be passed back with the
8593 callback
8594
8595 @see WDI_ConfigBSSReq, WDI_PostAssocReq
8596 @return Result of the function call
8597*/
8598WDI_Status
8599WDI_DelBSSReq
8600(
8601 WDI_DelBSSReqParamsType* pwdiDelBSSParams,
8602 WDI_DelBSSRspCb wdiDelBSSRspCb,
8603 void* pUserData
8604);
8605
8606/**
8607 @brief WDI_PostAssocReq will be called when the upper MAC has
8608 associated to a BSS and wishes to configure HW for
8609 associated state. Upon the call of this API the WLAN DAL
8610 will pack and send a HAL Post Assoc request message to
8611 the lower RIVA sub-system if DAL is in state STARTED.
8612
8613 In state BUSY this request will be queued. Request won't
8614 be allowed in any other state.
8615
8616 WDI_JoinReq must have been called.
8617
8618 @param wdiPostAssocReqParams: the assoc parameters as specified
8619 by the Device Interface
8620
8621 wdiPostAssocRspCb: callback for passing back the
8622 response of the post assoc operation received from the
8623 device
8624
8625 pUserData: user data will be passed back with the
8626 callback
8627
8628 @see WDI_JoinReq
8629 @return Result of the function call
8630*/
8631WDI_Status
8632WDI_PostAssocReq
8633(
8634 WDI_PostAssocReqParamsType* pwdiPostAssocReqParams,
8635 WDI_PostAssocRspCb wdiPostAssocRspCb,
8636 void* pUserData
8637);
8638
8639/**
8640 @brief WDI_DelSTAReq will be called when the upper MAC when an
8641 association with another STA has ended and the station
8642 must be deleted from HW. Upon the call of this API the
8643 WLAN DAL will pack and send a HAL Del STA request
8644 message to the lower RIVA sub-system if DAL is in state
8645 STARTED.
8646
8647 In state BUSY this request will be queued. Request won't
8648 be allowed in any other state.
8649
8650 WDI_PostAssocReq must have been called.
8651
8652 @param wdiDelSTAParams: the Del STA parameters as specified by
8653 the Device Interface
8654
8655 wdiDelSTARspCb: callback for passing back the response
8656 of the del STA operation received from the device
8657
8658 pUserData: user data will be passed back with the
8659 callback
8660
8661 @see WDI_PostAssocReq
8662 @return Result of the function call
8663*/
8664WDI_Status
8665WDI_DelSTAReq
8666(
8667 WDI_DelSTAReqParamsType* pwdiDelSTAParams,
8668 WDI_DelSTARspCb wdiDelSTARspCb,
8669 void* pUserData
8670);
8671
8672/*========================================================================
8673
8674 SECURITY APIs
8675
8676==========================================================================*/
8677
8678/**
8679 @brief WDI_SetBSSKeyReq will be called when the upper MAC ito
8680 install a BSS encryption key on the HW. Upon the call of
8681 this API the WLAN DAL will pack and send a HAL Start
8682 request message to the lower RIVA sub-system if DAL is
8683 in state STARTED.
8684
8685 In state BUSY this request will be queued. Request won't
8686 be allowed in any other state.
8687
8688 WDI_PostAssocReq must have been called.
8689
8690 @param wdiSetBSSKeyParams: the BSS Key set parameters as
8691 specified by the Device Interface
8692
8693 wdiSetBSSKeyRspCb: callback for passing back the
8694 response of the set BSS Key operation received from the
8695 device
8696
8697 pUserData: user data will be passed back with the
8698 callback
8699
8700 @see WDI_PostAssocReq
8701 @return Result of the function call
8702*/
8703WDI_Status
8704WDI_SetBSSKeyReq
8705(
8706 WDI_SetBSSKeyReqParamsType* pwdiSetBSSKeyParams,
8707 WDI_SetBSSKeyRspCb wdiSetBSSKeyRspCb,
8708 void* pUserData
8709);
8710
8711
8712/**
8713 @brief WDI_RemoveBSSKeyReq will be called when the upper MAC to
8714 uninstall a BSS key from HW. Upon the call of this API
8715 the WLAN DAL will pack and send a HAL Remove BSS Key
8716 request message to the lower RIVA sub-system if DAL is
8717 in state STARTED.
8718
8719 In state BUSY this request will be queued. Request won't
8720 be allowed in any other state.
8721
8722 WDI_SetBSSKeyReq must have been called.
8723
8724 @param wdiRemoveBSSKeyParams: the remove BSS key parameters as
8725 specified by the Device Interface
8726
8727 wdiRemoveBSSKeyRspCb: callback for passing back the
8728 response of the remove BSS key operation received from
8729 the device
8730
8731 pUserData: user data will be passed back with the
8732 callback
8733
8734 @see WDI_SetBSSKeyReq
8735 @return Result of the function call
8736*/
8737WDI_Status
8738WDI_RemoveBSSKeyReq
8739(
8740 WDI_RemoveBSSKeyReqParamsType* pwdiRemoveBSSKeyParams,
8741 WDI_RemoveBSSKeyRspCb wdiRemoveBSSKeyRspCb,
8742 void* pUserData
8743);
8744
8745
8746/**
8747 @brief WDI_SetSTAKeyReq will be called when the upper MAC is
8748 ready to install a STA(ast) encryption key in HW. Upon
8749 the call of this API the WLAN DAL will pack and send a
8750 HAL Set STA Key request message to the lower RIVA
8751 sub-system if DAL is in state STARTED.
8752
8753 In state BUSY this request will be queued. Request won't
8754 be allowed in any other state.
8755
8756 WDI_PostAssocReq must have been called.
8757
8758 @param wdiSetSTAKeyParams: the set STA key parameters as
8759 specified by the Device Interface
8760
8761 wdiSetSTAKeyRspCb: callback for passing back the
8762 response of the set STA key operation received from the
8763 device
8764
8765 pUserData: user data will be passed back with the
8766 callback
8767
8768 @see WDI_PostAssocReq
8769 @return Result of the function call
8770*/
8771WDI_Status
8772WDI_SetSTAKeyReq
8773(
8774 WDI_SetSTAKeyReqParamsType* pwdiSetSTAKeyParams,
8775 WDI_SetSTAKeyRspCb wdiSetSTAKeyRspCb,
8776 void* pUserData
8777);
8778
8779
8780/**
8781 @brief WDI_RemoveSTAKeyReq will be called when the upper MAC
8782 wants to unistall a previously set STA key in HW. Upon
8783 the call of this API the WLAN DAL will pack and send a
8784 HAL Remove STA Key request message to the lower RIVA
8785 sub-system if DAL is in state STARTED.
8786
8787 In state BUSY this request will be queued. Request won't
8788 be allowed in any other state.
8789
8790 WDI_SetSTAKeyReq must have been called.
8791
8792 @param wdiRemoveSTAKeyParams: the remove STA key parameters as
8793 specified by the Device Interface
8794
8795 wdiRemoveSTAKeyRspCb: callback for passing back the
8796 response of the remove STA key operation received from
8797 the device
8798
8799 pUserData: user data will be passed back with the
8800 callback
8801
8802 @see WDI_SetSTAKeyReq
8803 @return Result of the function call
8804*/
8805WDI_Status
8806WDI_RemoveSTAKeyReq
8807(
8808 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTAKeyParams,
8809 WDI_RemoveSTAKeyRspCb wdiRemoveSTAKeyRspCb,
8810 void* pUserData
8811);
8812
8813/**
8814 @brief WDI_SetSTABcastKeyReq will be called when the upper MAC
8815 wants to install a STA Bcast encryption key on the HW.
8816 Upon the call of this API the WLAN DAL will pack and
8817 send a HAL Start request message to the lower RIVA
8818 sub-system if DAL is in state STARTED.
8819
8820 In state BUSY this request will be queued. Request won't
8821 be allowed in any other state.
8822
8823 WDI_PostAssocReq must have been called.
8824
8825 @param pwdiSetSTABcastKeyParams: the BSS Key set parameters as
8826 specified by the Device Interface
8827
8828 wdiSetSTABcastKeyRspCb: callback for passing back the
8829 response of the set BSS Key operation received from the
8830 device
8831
8832 pUserData: user data will be passed back with the
8833 callback
8834
8835 @see WDI_PostAssocReq
8836 @return Result of the function call
8837*/
8838WDI_Status
8839WDI_SetSTABcastKeyReq
8840(
8841 WDI_SetSTAKeyReqParamsType* pwdiSetSTABcastKeyParams,
8842 WDI_SetSTAKeyRspCb wdiSetSTABcastKeyRspCb,
8843 void* pUserData
8844);
8845
8846
8847/**
8848 @brief WDI_RemoveSTABcastKeyReq will be called when the upper
8849 MAC to uninstall a STA Bcast key from HW. Upon the call
8850 of this API the WLAN DAL will pack and send a HAL Remove
8851 STA Bcast Key request message to the lower RIVA
8852 sub-system if DAL is in state STARTED.
8853
8854 In state BUSY this request will be queued. Request won't
8855 be allowed in any other state.
8856
8857 WDI_SetSTABcastKeyReq must have been called.
8858
8859 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
8860 parameters as specified by the Device
8861 Interface
8862
8863 wdiRemoveSTABcastKeyRspCb: callback for passing back the
8864 response of the remove STA Bcast key operation received
8865 from the device
8866
8867 pUserData: user data will be passed back with the
8868 callback
8869
8870 @see WDI_SetSTABcastKeyReq
8871 @return Result of the function call
8872*/
8873WDI_Status
8874WDI_RemoveSTABcastKeyReq
8875(
8876 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTABcastKeyParams,
8877 WDI_RemoveSTAKeyRspCb wdiRemoveSTABcastKeyRspCb,
8878 void* pUserData
8879);
8880
schang86c22c42013-03-13 18:41:24 -07008881
8882/**
8883 @brief WDI_SetTxPowerReq will be called when the upper
8884 MAC wants to set Tx Power to HW.
8885 In state BUSY this request will be queued. Request won't
8886 be allowed in any other state.
8887
8888
8889 @param pwdiSetTxPowerParams: set TS Power parameters
8890 BSSID and target TX Power with dbm included
8891
8892 wdiReqStatusCb: callback for passing back the response
8893
8894 pUserData: user data will be passed back with the
8895 callback
8896
8897 @return Result of the function call
8898*/
8899WDI_Status
8900WDI_SetTxPowerReq
8901(
8902 WDI_SetTxPowerParamsType* pwdiSetTxPowerParams,
8903 WDA_SetTxPowerRspCb wdiReqStatusCb,
8904 void* pUserData
8905);
8906
Jeff Johnson295189b2012-06-20 16:38:30 -07008907/**
8908 @brief WDI_SetMaxTxPowerReq will be called when the upper
8909 MAC wants to set Max Tx Power to HW. Upon the
8910 call of this API the WLAN DAL will pack and send a HAL
8911 Remove STA Bcast Key request message to the lower RIVA
8912 sub-system if DAL is in state STARTED.
8913
8914 In state BUSY this request will be queued. Request won't
8915 be allowed in any other state.
8916
8917 WDI_SetSTABcastKeyReq must have been called.
8918
8919 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
8920 parameters as specified by the Device
8921 Interface
8922
8923 wdiRemoveSTABcastKeyRspCb: callback for passing back the
8924 response of the remove STA Bcast key operation received
8925 from the device
8926
8927 pUserData: user data will be passed back with the
8928 callback
8929
8930 @see WDI_SetMaxTxPowerReq
8931 @return Result of the function call
8932*/
8933WDI_Status
8934WDI_SetMaxTxPowerReq
8935(
8936 WDI_SetMaxTxPowerParamsType* pwdiSetMaxTxPowerParams,
8937 WDA_SetMaxTxPowerRspCb wdiReqStatusCb,
8938 void* pUserData
8939);
8940
Arif Hussaina5ebce02013-08-09 15:09:58 -07008941/**
8942 @brief WDI_SetMaxTxPowerPerBandReq will be called when the upper
8943 MAC wants to set Max Tx Power to HW for specific band. Upon the
8944 call of this API the WLAN DAL will pack and send a HAL
8945 Set Max Tx Power Per Band request message to the lower RIVA
8946 sub-system if DAL is in state STARTED.
8947
8948 In state BUSY this request will be queued. Request won't
8949 be allowed in any other state.
8950
8951
8952 @param WDI_SetMaxTxPowerPerBandParamsType: Max Tx Per Band Info
8953
8954 WDA_SetMaxTxPowerPerBandRspCb: This callback is invoked by DAL
8955 when it has received a set max Tx Power Per Band response from
8956 the underlying device.
8957
8958 pUserData: user data will be passed back with the
8959 callback
8960
8961 @see WDI_SetMaxTxPowerPerBandReq
8962 @return Result of the function call
8963*/
8964WDI_Status
8965WDI_SetMaxTxPowerPerBandReq
8966(
8967 WDI_SetMaxTxPowerPerBandParamsType* pwdiSetMaxTxPowerPerBandParams,
8968 WDA_SetMaxTxPowerPerBandRspCb wdiReqStatusCb,
8969 void* pUserData
8970);
8971
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08008972#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07008973/**
8974 @brief WDI_TSMStatsReq will be called by the upper MAC to fetch
8975 Traffic Stream metrics.
8976 In state BUSY this request will be queued. Request won't
8977 be allowed in any other state.
8978
8979 @param wdiAddTsReqParams: the add TS parameters as specified by
8980 the Device Interface
8981
8982 wdiAddTsRspCb: callback for passing back the response of
8983 the add TS operation received from the device
8984
8985 pUserData: user data will be passed back with the
8986 callback
8987
8988 @see WDI_PostAssocReq
8989 @return Result of the function call
8990*/
8991WDI_Status
8992WDI_TSMStatsReq
8993(
8994 WDI_TSMStatsReqParamsType* pwdiTsmStatsReqParams,
8995 WDI_TsmRspCb wdiTsmStatsRspCb,
8996 void* pUserData
8997);
8998
8999
9000#endif
9001
9002/*========================================================================
9003
9004 QoS and BA APIs
9005
9006==========================================================================*/
9007
9008/**
9009 @brief WDI_AddTSReq will be called when the upper MAC to inform
9010 the device of a successful add TSpec negotiation. HW
9011 needs to receive the TSpec Info from the UMAC in order
9012 to configure properly the QoS data traffic. Upon the
9013 call of this API the WLAN DAL will pack and send a HAL
9014 Add TS request message to the lower RIVA sub-system if
9015 DAL is in state STARTED.
9016
9017 In state BUSY this request will be queued. Request won't
9018 be allowed in any other state.
9019
9020 WDI_PostAssocReq must have been called.
9021
9022 @param wdiAddTsReqParams: the add TS parameters as specified by
9023 the Device Interface
9024
9025 wdiAddTsRspCb: callback for passing back the response of
9026 the add TS operation received from the device
9027
9028 pUserData: user data will be passed back with the
9029 callback
9030
9031 @see WDI_PostAssocReq
9032 @return Result of the function call
9033*/
9034WDI_Status
9035WDI_AddTSReq
9036(
9037 WDI_AddTSReqParamsType* pwdiAddTsReqParams,
9038 WDI_AddTsRspCb wdiAddTsRspCb,
9039 void* pUserData
9040);
9041
9042
9043
9044/**
9045 @brief WDI_DelTSReq will be called when the upper MAC has ended
9046 admission on a specific AC. This is to inform HW that
9047 QoS traffic parameters must be rest. Upon the call of
9048 this API the WLAN DAL will pack and send a HAL Del TS
9049 request message to the lower RIVA sub-system if DAL is
9050 in state STARTED.
9051
9052 In state BUSY this request will be queued. Request won't
9053 be allowed in any other state.
9054
9055 WDI_AddTSReq must have been called.
9056
9057 @param wdiDelTsReqParams: the del TS parameters as specified by
9058 the Device Interface
9059
9060 wdiDelTsRspCb: callback for passing back the response of
9061 the del TS operation received from the device
9062
9063 pUserData: user data will be passed back with the
9064 callback
9065
9066 @see WDI_AddTSReq
9067 @return Result of the function call
9068*/
9069WDI_Status
9070WDI_DelTSReq
9071(
9072 WDI_DelTSReqParamsType* pwdiDelTsReqParams,
9073 WDI_DelTsRspCb wdiDelTsRspCb,
9074 void* pUserData
9075);
9076
9077
9078
9079/**
9080 @brief WDI_UpdateEDCAParams will be called when the upper MAC
9081 wishes to update the EDCA parameters used by HW for QoS
9082 data traffic. Upon the call of this API the WLAN DAL
9083 will pack and send a HAL Update EDCA Params request
9084 message to the lower RIVA sub-system if DAL is in state
9085 STARTED.
9086
9087 In state BUSY this request will be queued. Request won't
9088 be allowed in any other state.
9089
9090 WDI_PostAssocReq must have been called.
9091
9092 @param wdiUpdateEDCAParams: the start parameters as specified
9093 by the Device Interface
9094
9095 wdiUpdateEDCAParamsRspCb: callback for passing back the
9096 response of the start operation received from the device
9097
9098 pUserData: user data will be passed back with the
9099 callback
9100
9101 @see WDI_PostAssocReq
9102 @return Result of the function call
9103*/
9104WDI_Status
9105WDI_UpdateEDCAParams
9106(
9107 WDI_UpdateEDCAParamsType* pwdiUpdateEDCAParams,
9108 WDI_UpdateEDCAParamsRspCb wdiUpdateEDCAParamsRspCb,
9109 void* pUserData
9110);
9111
9112
9113
9114/**
9115 @brief WDI_AddBASessionReq will be called when the upper MAC has setup
9116 successfully a BA session and needs to notify the HW for
9117 the appropriate settings to take place. Upon the call of
9118 this API the WLAN DAL will pack and send a HAL Add BA
9119 request message to the lower RIVA sub-system if DAL is
9120 in state STARTED.
9121
9122 In state BUSY this request will be queued. Request won't
9123 be allowed in any other state.
9124
9125 WDI_PostAssocReq must have been called.
9126
9127 @param wdiAddBAReqParams: the add BA parameters as specified by
9128 the Device Interface
9129
9130 wdiAddBARspCb: callback for passing back the response of
9131 the add BA operation received from the device
9132
9133 pUserData: user data will be passed back with the
9134 callback
9135
9136 @see WDI_PostAssocReq
9137 @return Result of the function call
9138*/
9139WDI_Status
9140WDI_AddBASessionReq
9141(
9142 WDI_AddBASessionReqParamsType* pwdiAddBASessionReqParams,
9143 WDI_AddBASessionRspCb wdiAddBASessionRspCb,
9144 void* pUserData
9145);
9146
9147
9148/**
9149 @brief WDI_DelBAReq will be called when the upper MAC wants to
9150 inform HW that it has deleted a previously created BA
9151 session. Upon the call of this API the WLAN DAL will
9152 pack and send a HAL Del BA request message to the lower
9153 RIVA sub-system if DAL is in state STARTED.
9154
9155 In state BUSY this request will be queued. Request won't
9156 be allowed in any other state.
9157
9158 WDI_AddBAReq must have been called.
9159
9160 @param wdiDelBAReqParams: the del BA parameters as specified by
9161 the Device Interface
9162
9163 wdiDelBARspCb: callback for passing back the response of
9164 the del BA operation received from the device
9165
9166 pUserData: user data will be passed back with the
9167 callback
9168
9169 @see WDI_AddBAReq
9170 @return Result of the function call
9171*/
9172WDI_Status
9173WDI_DelBAReq
9174(
9175 WDI_DelBAReqParamsType* pwdiDelBAReqParams,
9176 WDI_DelBARspCb wdiDelBARspCb,
9177 void* pUserData
9178);
9179
9180/**
9181 @brief WDI_UpdateBeaconParamsReq will be called when the upper MAC wants to
9182 inform HW that there is a change in the beacon parameters
9183 Upon the call of this API the WLAN DAL will
9184 pack and send a UpdateBeacon Params message to the lower
9185 RIVA sub-system if DAL is in state STARTED.
9186
9187 In state BUSY this request will be queued. Request won't
9188 be allowed in any other state.
9189
9190 WDI_UpdateBeaconParamsReq must have been called.
9191
9192 @param WDI_UpdateBeaconParamsType: the Update Beacon parameters as specified by
9193 the Device Interface
9194
9195 WDI_UpdateBeaconParamsRspCb: callback for passing back the response of
9196 the Update Beacon Params operation received from the device
9197
9198 pUserData: user data will be passed back with the
9199 callback
9200
9201 @see WDI_AddBAReq
9202 @return Result of the function call
9203*/
9204
9205WDI_Status
9206WDI_UpdateBeaconParamsReq
9207(
9208 WDI_UpdateBeaconParamsType * pwdiUpdateBeaconParams,
9209 WDI_UpdateBeaconParamsRspCb wdiUpdateBeaconParamsRspCb,
9210 void* pUserData
9211);
9212
9213
9214/**
9215 @brief WDI_SendBeaconParamsReq will be called when the upper MAC wants to
9216 update the beacon template to be transmitted as BT MAP STA/IBSS/Soft AP
9217 Upon the call of this API the WLAN DAL will
9218 pack and send the beacon Template message to the lower
9219 RIVA sub-system if DAL is in state STARTED.
9220
9221 In state BUSY this request will be queued. Request won't
9222 be allowed in any other state.
9223
9224 WDI_SendBeaconParamsReq must have been called.
9225
9226 @param WDI_SendBeaconParamsType: the Update Beacon parameters as specified by
9227 the Device Interface
9228
9229 WDI_SendBeaconParamsRspCb: callback for passing back the response of
9230 the Send Beacon Params operation received from the device
9231
9232 pUserData: user data will be passed back with the
9233 callback
9234
9235 @see WDI_AddBAReq
9236 @return Result of the function call
9237*/
9238
9239WDI_Status
9240WDI_SendBeaconParamsReq
9241(
9242 WDI_SendBeaconParamsType* pwdiSendBeaconParams,
9243 WDI_SendBeaconParamsRspCb wdiSendBeaconParamsRspCb,
9244 void* pUserData
9245);
9246
9247
9248/**
9249 @brief WDI_UpdateProbeRspTemplateReq will be called when the
9250 upper MAC wants to update the probe response template to
9251 be transmitted as Soft AP
9252 Upon the call of this API the WLAN DAL will
9253 pack and send the probe rsp template message to the
9254 lower RIVA sub-system if DAL is in state STARTED.
9255
9256 In state BUSY this request will be queued. Request won't
9257 be allowed in any other state.
9258
9259
9260 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
9261 specified by the Device Interface
9262
9263 wdiSendBeaconParamsRspCb: callback for passing back the
9264 response of the Send Beacon Params operation received
9265 from the device
9266
9267 pUserData: user data will be passed back with the
9268 callback
9269
9270 @see WDI_AddBAReq
9271 @return Result of the function call
9272*/
9273
9274WDI_Status
9275WDI_UpdateProbeRspTemplateReq
9276(
9277 WDI_UpdateProbeRspTemplateParamsType* pwdiUpdateProbeRspParams,
9278 WDI_UpdateProbeRspTemplateRspCb wdiSendBeaconParamsRspCb,
9279 void* pUserData
9280);
9281
Jeff Johnson295189b2012-06-20 16:38:30 -07009282/**
9283 @brief WDI_SetP2PGONOAReq will be called when the
9284 upper MAC wants to send Notice of Absence
9285 Upon the call of this API the WLAN DAL will
9286 pack and send the probe rsp template message to the
9287 lower RIVA sub-system if DAL is in state STARTED.
9288
9289 In state BUSY this request will be queued. Request won't
9290 be allowed in any other state.
9291
9292
9293 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
9294 specified by the Device Interface
9295
9296 wdiSendBeaconParamsRspCb: callback for passing back the
9297 response of the Send Beacon Params operation received
9298 from the device
9299
9300 pUserData: user data will be passed back with the
9301 callback
9302
9303 @see WDI_AddBAReq
9304 @return Result of the function call
9305*/
9306WDI_Status
9307WDI_SetP2PGONOAReq
9308(
9309 WDI_SetP2PGONOAReqParamsType* pwdiP2PGONOAReqParams,
9310 WDI_SetP2PGONOAReqParamsRspCb wdiP2PGONOAReqParamsRspCb,
9311 void* pUserData
9312);
Jeff Johnson295189b2012-06-20 16:38:30 -07009313
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05309314/**
9315 @brief WDI_SetTDLSLinkEstablishReq will be called when the
9316 upper MAC wants to send TDLS Link Establish Request Parameters
9317 Upon the call of this API the WLAN DAL will
9318 pack and send the TDLS Link Establish Request message to the
9319 lower RIVA sub-system if DAL is in state STARTED.
9320
9321 In state BUSY this request will be queued. Request won't
9322 be allowed in any other state.
9323
9324
9325 @param pwdiTDLSLinkEstablishReqParams: TDLS Peer Parameters
9326 for Link Establishment (Used for PUAPSD , TDLS Off Channel ...)
9327
9328 wdiTDLSLinkEstablishReqRspCb: callback for passing back the
9329 response of the TDLS Link Establish request received
9330 from the device
9331
9332 pUserData: user data will be passed back with the
9333 callback
9334
9335 @see
9336 @return Result of the function call
9337*/
9338WDI_Status
9339WDI_SetTDLSLinkEstablishReq
9340(
9341 WDI_SetTDLSLinkEstablishReqParamsType* pwdiTDLSLinkEstablishReqParams,
9342 WDI_SetTDLSLinkEstablishReqParamsRspCb wdiTDLSLinkEstablishReqRspCb,
9343 void* pUserData
9344);
Jeff Johnson295189b2012-06-20 16:38:30 -07009345
Atul Mittalc0f739f2014-07-31 13:47:47 +05309346WDI_Status
9347WDI_SetTDLSChanSwitchReq
9348(
9349 WDI_SetTDLSChanSwitchReqParamsType* pwdiTDLSChanSwitchReqParams,
9350 WDI_SetTDLSChanSwitchReqParamsRspCb wdiTDLSChanSwitchRReqRspCb,
9351 void* pUserData
9352);
Jeff Johnson295189b2012-06-20 16:38:30 -07009353/*========================================================================
9354
9355 Power Save APIs
9356
9357==========================================================================*/
9358
9359/**
9360 @brief WDI_SetPwrSaveCfgReq will be called when the upper MAC
9361 wants to set the power save related configurations of
9362 the WLAN Device. Upon the call of this API the WLAN DAL
9363 will pack and send a HAL Update CFG request message to
9364 the lower RIVA sub-system if DAL is in state STARTED.
9365
9366 In state BUSY this request will be queued. Request won't
9367 be allowed in any other state.
9368
9369 WDI_Start must have been called.
9370
9371 @param pwdiPowerSaveCfg: the power save cfg parameters as
9372 specified by the Device Interface
9373
9374 wdiSetPwrSaveCfgCb: callback for passing back the
9375 response of the set power save cfg operation received
9376 from the device
9377
9378 pUserData: user data will be passed back with the
9379 callback
9380
9381 @see WDI_Start
9382 @return Result of the function call
9383*/
9384WDI_Status
9385WDI_SetPwrSaveCfgReq
9386(
9387 WDI_UpdateCfgReqParamsType* pwdiPowerSaveCfg,
9388 WDI_SetPwrSaveCfgCb wdiSetPwrSaveCfgCb,
9389 void* pUserData
9390);
9391
9392/**
9393 @brief WDI_EnterImpsReq will be called when the upper MAC to
9394 request the device to get into IMPS power state. Upon
9395 the call of this API the WLAN DAL will send a HAL Enter
9396 IMPS request message to the lower RIVA sub-system if DAL
9397 is in state STARTED.
9398
9399 In state BUSY this request will be queued. Request won't
9400 be allowed in any other state.
9401
9402
9403 @param wdiEnterImpsRspCb: callback for passing back the
9404 response of the Enter IMPS operation received from the
9405 device
9406
9407 pUserData: user data will be passed back with the
9408 callback
9409
9410 @see WDI_Start
9411 @return Result of the function call
9412*/
9413WDI_Status
9414WDI_EnterImpsReq
9415(
Mihir Shetea4306052014-03-25 00:02:54 +05309416 WDI_EnterImpsReqParamsType *pwdiEnterImpsReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009417 WDI_EnterImpsRspCb wdiEnterImpsRspCb,
9418 void* pUserData
9419);
9420
9421/**
9422 @brief WDI_ExitImpsReq will be called when the upper MAC to
9423 request the device to get out of IMPS power state. Upon
9424 the call of this API the WLAN DAL will send a HAL Exit
9425 IMPS request message to the lower RIVA sub-system if DAL
9426 is in state STARTED.
9427
9428 In state BUSY this request will be queued. Request won't
9429 be allowed in any other state.
9430
9431
9432
9433 @param wdiExitImpsRspCb: callback for passing back the response
9434 of the Exit IMPS operation received from the device
9435
9436 pUserData: user data will be passed back with the
9437 callback
9438
9439 @see WDI_Start
9440 @return Result of the function call
9441*/
9442WDI_Status
9443WDI_ExitImpsReq
9444(
Mahesh A Saptasagar329813b2014-12-15 12:16:51 +05309445 WDI_ExitImpsReqParamsType *pwdiExitImpsReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009446 WDI_ExitImpsRspCb wdiExitImpsRspCb,
9447 void* pUserData
9448);
9449
9450/**
9451 @brief WDI_EnterBmpsReq will be called when the upper MAC to
9452 request the device to get into BMPS power state. Upon
9453 the call of this API the WLAN DAL will pack and send a
9454 HAL Enter BMPS request message to the lower RIVA
9455 sub-system if DAL is in state STARTED.
9456
9457 In state BUSY this request will be queued. Request won't
9458 be allowed in any other state.
9459
9460 WDI_PostAssocReq must have been called.
9461
9462 @param pwdiEnterBmpsReqParams: the Enter BMPS parameters as
9463 specified by the Device Interface
9464
9465 wdiEnterBmpsRspCb: callback for passing back the
9466 response of the Enter BMPS operation received from the
9467 device
9468
9469 pUserData: user data will be passed back with the
9470 callback
9471
9472 @see WDI_PostAssocReq
9473 @return Result of the function call
9474*/
9475WDI_Status
9476WDI_EnterBmpsReq
9477(
9478 WDI_EnterBmpsReqParamsType *pwdiEnterBmpsReqParams,
9479 WDI_EnterBmpsRspCb wdiEnterBmpsRspCb,
9480 void* pUserData
9481);
9482
9483/**
9484 @brief WDI_ExitBmpsReq will be called when the upper MAC to
9485 request the device to get out of BMPS power state. Upon
9486 the call of this API the WLAN DAL will pack and send a
9487 HAL Exit BMPS request message to the lower RIVA
9488 sub-system if DAL is in state STARTED.
9489
9490 In state BUSY this request will be queued. Request won't
9491 be allowed in any other state.
9492
9493 WDI_PostAssocReq must have been called.
9494
9495 @param pwdiExitBmpsReqParams: the Exit BMPS parameters as
9496 specified by the Device Interface
9497
9498 wdiExitBmpsRspCb: callback for passing back the response
9499 of the Exit BMPS operation received from the device
9500
9501 pUserData: user data will be passed back with the
9502 callback
9503
9504 @see WDI_PostAssocReq
9505 @return Result of the function call
9506*/
9507WDI_Status
9508WDI_ExitBmpsReq
9509(
9510 WDI_ExitBmpsReqParamsType *pwdiExitBmpsReqParams,
9511 WDI_ExitBmpsRspCb wdiExitBmpsRspCb,
9512 void* pUserData
9513);
9514
9515/**
9516 @brief WDI_EnterUapsdReq will be called when the upper MAC to
9517 request the device to get into UAPSD power state. Upon
9518 the call of this API the WLAN DAL will pack and send a
9519 HAL Enter UAPSD request message to the lower RIVA
9520 sub-system if DAL is in state STARTED.
9521
9522 In state BUSY this request will be queued. Request won't
9523 be allowed in any other state.
9524
9525 WDI_PostAssocReq must have been called.
9526 WDI_SetUapsdAcParamsReq must have been called.
9527
9528 @param pwdiEnterUapsdReqParams: the Enter UAPSD parameters as
9529 specified by the Device Interface
9530
9531 wdiEnterUapsdRspCb: callback for passing back the
9532 response of the Enter UAPSD operation received from the
9533 device
9534
9535 pUserData: user data will be passed back with the
9536 callback
9537
9538 @see WDI_PostAssocReq, WDI_SetUapsdAcParamsReq
9539 @return Result of the function call
9540*/
9541WDI_Status
9542WDI_EnterUapsdReq
9543(
9544 WDI_EnterUapsdReqParamsType *pwdiEnterUapsdReqParams,
9545 WDI_EnterUapsdRspCb wdiEnterUapsdRspCb,
9546 void* pUserData
9547);
9548
9549/**
9550 @brief WDI_ExitUapsdReq will be called when the upper MAC to
9551 request the device to get out of UAPSD power state. Upon
9552 the call of this API the WLAN DAL will send a HAL Exit
9553 UAPSD request message to the lower RIVA sub-system if
9554 DAL is in state STARTED.
9555
9556 In state BUSY this request will be queued. Request won't
9557 be allowed in any other state.
9558
9559 WDI_PostAssocReq must have been called.
9560
9561 @param wdiExitUapsdRspCb: callback for passing back the
9562 response of the Exit UAPSD operation received from the
9563 device
9564
9565 pUserData: user data will be passed back with the
9566 callback
9567
9568 @see WDI_PostAssocReq
9569 @return Result of the function call
9570*/
9571WDI_Status
9572WDI_ExitUapsdReq
9573(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07009574 WDI_ExitUapsdReqParamsType *pwdiExitUapsdReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009575 WDI_ExitUapsdRspCb wdiExitUapsdRspCb,
9576 void* pUserData
9577);
9578
9579/**
9580 @brief WDI_UpdateUapsdParamsReq will be called when the upper
9581 MAC wants to set the UAPSD related configurations
9582 of an associated STA (while acting as an AP) to the WLAN
9583 Device. Upon the call of this API the WLAN DAL will pack
9584 and send a HAL Update UAPSD params request message to
9585 the lower RIVA sub-system if DAL is in state STARTED.
9586
9587 In state BUSY this request will be queued. Request won't
9588 be allowed in any other state.
9589
9590 WDI_ConfigBSSReq must have been called.
9591
9592 @param pwdiUpdateUapsdReqParams: the UAPSD parameters
9593 as specified by the Device Interface
9594
9595 wdiUpdateUapsdParamsCb: callback for passing back the
9596 response of the update UAPSD params operation received
9597 from the device
9598
9599 pUserData: user data will be passed back with the
9600 callback
9601
9602 @see WDI_ConfigBSSReq
9603 @return Result of the function call
9604*/
9605WDI_Status
9606WDI_UpdateUapsdParamsReq
9607(
9608 WDI_UpdateUapsdReqParamsType *pwdiUpdateUapsdReqParams,
9609 WDI_UpdateUapsdParamsCb wdiUpdateUapsdParamsCb,
9610 void* pUserData
9611);
9612
9613/**
9614 @brief WDI_SetUapsdAcParamsReq will be called when the upper
9615 MAC wants to set the UAPSD related configurations before
9616 requesting for enter UAPSD power state to the WLAN
9617 Device. Upon the call of this API the WLAN DAL will pack
9618 and send a HAL Set UAPSD params request message to
9619 the lower RIVA sub-system if DAL is in state STARTED.
9620
9621 In state BUSY this request will be queued. Request won't
9622 be allowed in any other state.
9623
9624 WDI_PostAssocReq must have been called.
9625
9626 @param pwdiUapsdInfo: the UAPSD parameters as specified by
9627 the Device Interface
9628
9629 wdiSetUapsdAcParamsCb: callback for passing back the
9630 response of the set UAPSD params operation received from
9631 the device
9632
9633 pUserData: user data will be passed back with the
9634 callback
9635
9636 @see WDI_PostAssocReq
9637 @return Result of the function call
9638*/
9639WDI_Status
9640WDI_SetUapsdAcParamsReq
9641(
9642 WDI_SetUapsdAcParamsReqParamsType* pwdiPowerSaveCfg,
9643 WDI_SetUapsdAcParamsCb wdiSetUapsdAcParamsCb,
9644 void* pUserData
9645);
Sachin Ahuja715aafc2015-07-21 23:35:10 +05309646
9647
9648/**
9649 @brief WDI_FatalEventLogsReq will be called when the upper
9650 MAC wants to send the fatal event req. Upon the call of
9651 this API the WLAN DAL will pack and send a HAL
9652 Fatal event request message to the lower RIVA sub-system.
9653
9654 In state BUSY this request will be queued. Request won't
9655 be allowed in any other state.
9656
9657
9658 @param pwdiFatalEventLogsReqInfo: the Fatal event logs params
9659 as specified by the Device Interface
9660
9661 wdiFatalEventLogsRspCb: callback for passing back the
9662 response of the fatal event operation received
9663 from the device
9664
9665 pUserData: user data will be passed back with the
9666 callback
9667
9668 @return Result of the function call
9669*/
9670
9671WDI_Status
9672WDI_FatalEventLogsReq
9673(
9674 WDI_FatalEventLogsReqInfoType *pwdiFatalEventLogsReqInfo,
9675 WDI_FatalEventLogsRspCb wdiFatalEventLogsRspCb,
9676 void* pUserData
9677);
9678
Siddharth Bhal64246172015-02-27 01:04:37 +05309679/**
9680 @brief WDI_GetFrameLogReq will be called when the upper
9681 MAC wants to initialize frame logging. Upon the call of
9682 this API the WLAN DAL will pack and send a HAL
9683 Frame logging init request message to
9684 the lower RIVA sub-system.
9685
9686 In state BUSY this request will be queued. Request won't
9687 be allowed in any other state.
9688
9689
9690 @param pwdiGetFrameLogReqInfo: the Frame Logging params
9691 as specified by the Device Interface
9692
9693 wdiGetFrameLogReqCb: callback for passing back the
9694 response of the frame logging init operation received
9695 from the device
9696
9697 pUserData: user data will be passed back with the
9698 callback
9699
9700 @return Result of the function call
9701*/
9702WDI_Status
9703WDI_GetFrameLogReq
9704(
9705 WDI_GetFrameLogReqInfoType *pwdiGetFrameLogReqInfo,
9706 WDI_GetFrameLogRspCb wdiGetFrameLogReqCb,
9707 void* pUserData
9708);
Jeff Johnson295189b2012-06-20 16:38:30 -07009709
9710/**
Siddharth Bhald1be97f2015-05-27 22:39:59 +05309711 @brief WDI_FWLoggingInitReq will be called when the upper
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05309712 MAC wants to initialize frame logging. Upon the call of
9713 this API the WLAN DAL will pack and send a HAL
9714 Frame logging init request message to
9715 the lower RIVA sub-system.
9716
9717 In state BUSY this request will be queued. Request won't
9718 be allowed in any other state.
9719
9720
Siddharth Bhald1be97f2015-05-27 22:39:59 +05309721 @param pwdiFWLoggingInitReqParams: the Frame Logging params
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05309722 as specified by the Device Interface
9723
Siddharth Bhald1be97f2015-05-27 22:39:59 +05309724 wdiFWLoggingInitReqCb: callback for passing back the
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05309725 response of the frame logging init operation received
9726 from the device
9727
9728 pUserData: user data will be passed back with the
9729 callback
9730
9731 @return Result of the function call
9732*/
9733WDI_Status
Siddharth Bhald1be97f2015-05-27 22:39:59 +05309734WDI_FWLoggingInitReq
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05309735(
Siddharth Bhald1be97f2015-05-27 22:39:59 +05309736 WDI_FWLoggingInitReqInfoType *pwdiFWLoggingInitReqInfo,
9737 WDI_FWLoggingInitRspCb wdiFWLoggingInitReqCb,
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05309738 void* pUserData
9739);
9740
9741/**
Gupta, Kapil7c34b322015-09-30 13:12:35 +05309742 @brief WDI_StartRssiMonitorReq will be called when the upper
9743 MAC wants to initialize Rssi Monitor on a bssid.
9744 Upon the call of this API the WLAN DAL will pack and
9745 send a HAL Rssi Monitor init request message to
9746 the lower RIVA sub-system.
9747
9748 In state BUSY this request will be queued. Request won't
9749 be allowed in any other state.
9750
9751
9752 @param pwdiRssiMonitorInfo: the Rssi Monitor params
9753 as specified by the Device Interface
9754
9755 wdiRssiMonitorStartRspCb: callback for passing back the
9756 response of the rssi monitor operation received
9757 from the device
9758
9759 pUserData: user data will be passed back with the
9760 callback
9761
9762 @return Result of the function call
9763*/
9764WDI_Status
9765WDI_StartRssiMonitorReq
9766(
9767 WDI_RssiMonitorReqInfoType *pwdiRssiMonitorInfo,
9768 WDI_RssiMonitorStartRspCb wdiRssiMonitorStartRspCb,
9769 void* pUserData
9770);
9771
9772
9773/**
9774 @brief WDI_StopRssiMonitorReq will be called when the upper
9775 MAC wants to stop Rssi Monitor on a bssid.
9776 Upon the call of this API the WLAN DAL will pack and
9777 send a HAL Rssi Monitor stop request message to
9778 the lower RIVA sub-system.
9779
9780 In state BUSY this request will be queued. Request won't
9781 be allowed in any other state.
9782
9783
9784 @param pwdiRssiMonitorInfo: the Rssi Monitor params
9785 as specified by the Device Interface
9786
9787 wdiRssiMonitorStopRspCb: callback for passing back the
9788 response of the rssi monitor operation received
9789 from the device
9790
9791 pUserData: user data will be passed back with the
9792 callback
9793
9794 @return Result of the function call
9795*/
9796WDI_Status
9797WDI_StopRssiMonitorReq
9798(
9799 WDI_RssiMonitorReqInfoType *pwdiRssiMonitorInfo,
9800 WDI_RssiMonitorStopRspCb wdiRssiMonitorStopRspCb,
9801 void* pUserData
9802);
9803
9804/**
Jeff Johnson295189b2012-06-20 16:38:30 -07009805 @brief WDI_ConfigureRxpFilterReq will be called when the upper
9806 MAC wants to set/reset the RXP filters for received pkts
9807 (MC, BC etc.). Upon the call of this API the WLAN DAL will pack
9808 and send a HAL configure RXP filter request message to
9809 the lower RIVA sub-system.
9810
9811 In state BUSY this request will be queued. Request won't
9812 be allowed in any other state.
9813
9814
9815 @param pwdiConfigureRxpFilterReqParams: the RXP
9816 filter as specified by the Device
9817 Interface
9818
9819 wdiConfigureRxpFilterCb: callback for passing back the
9820 response of the configure RXP filter operation received
9821 from the device
9822
9823 pUserData: user data will be passed back with the
9824 callback
9825
9826 @return Result of the function call
9827*/
9828WDI_Status
9829WDI_ConfigureRxpFilterReq
9830(
9831 WDI_ConfigureRxpFilterReqParamsType *pwdiConfigureRxpFilterReqParams,
9832 WDI_ConfigureRxpFilterCb wdiConfigureRxpFilterCb,
9833 void* pUserData
9834);
9835
9836/**
9837 @brief WDI_SetBeaconFilterReq will be called when the upper MAC
9838 wants to set the beacon filters while in power save.
9839 Upon the call of this API the WLAN DAL will pack and
9840 send a Beacon filter request message to the
9841 lower RIVA sub-system.
9842
9843 In state BUSY this request will be queued. Request won't
9844 be allowed in any other state.
9845
9846
9847 @param pwdiBeaconFilterReqParams: the beacon
9848 filter as specified by the Device
9849 Interface
9850
9851 wdiBeaconFilterCb: callback for passing back the
9852 response of the set beacon filter operation received
9853 from the device
9854
9855 pUserData: user data will be passed back with the
9856 callback
9857
9858 @return Result of the function call
9859*/
9860WDI_Status
9861WDI_SetBeaconFilterReq
9862(
9863 WDI_BeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
9864 WDI_SetBeaconFilterCb wdiBeaconFilterCb,
9865 void* pUserData
9866);
9867
9868/**
9869 @brief WDI_RemBeaconFilterReq will be called when the upper MAC
9870 wants to remove the beacon filter for perticular IE
9871 while in power save. Upon the call of this API the WLAN
9872 DAL will pack and send a remove Beacon filter request
9873 message to the lower RIVA sub-system.
9874
9875 In state BUSY this request will be queued. Request won't
9876 be allowed in any other state.
9877
9878
9879 @param pwdiBeaconFilterReqParams: the beacon
9880 filter as specified by the Device
9881 Interface
9882
9883 wdiBeaconFilterCb: callback for passing back the
9884 response of the remove beacon filter operation received
9885 from the device
9886
9887 pUserData: user data will be passed back with the
9888 callback
9889
9890 @return Result of the function call
9891*/
9892WDI_Status
9893WDI_RemBeaconFilterReq
9894(
9895 WDI_RemBeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
9896 WDI_RemBeaconFilterCb wdiBeaconFilterCb,
9897 void* pUserData
9898);
9899
9900/**
9901 @brief WDI_SetRSSIThresholdsReq will be called when the upper
9902 MAC wants to set the RSSI thresholds related
9903 configurations while in power save. Upon the call of
9904 this API the WLAN DAL will pack and send a HAL Set RSSI
9905 thresholds request message to the lower RIVA
9906 sub-system if DAL is in state STARTED.
9907
9908 In state BUSY this request will be queued. Request won't
9909 be allowed in any other state.
9910
9911 WDI_PostAssocReq must have been called.
9912
9913 @param pwdiUapsdInfo: the UAPSD parameters as specified by
9914 the Device Interface
9915
9916 wdiSetUapsdAcParamsCb: callback for passing back the
9917 response of the set UAPSD params operation received from
9918 the device
9919
9920 pUserData: user data will be passed back with the
9921 callback
9922
9923 @see WDI_PostAssocReq
9924 @return Result of the function call
9925*/
9926WDI_Status
9927WDI_SetRSSIThresholdsReq
9928(
9929 WDI_SetRSSIThresholdsReqParamsType* pwdiRSSIThresholdsParams,
9930 WDI_SetRSSIThresholdsCb wdiSetRSSIThresholdsCb,
9931 void* pUserData
9932);
9933
9934/**
9935 @brief WDI_HostOffloadReq will be called when the upper MAC
9936 wants to set the filter to minimize unnecessary host
9937 wakeup due to broadcast traffic while in power save.
9938 Upon the call of this API the WLAN DAL will pack and
9939 send a HAL host offload request message to the
9940 lower RIVA sub-system if DAL is in state STARTED.
9941
9942 In state BUSY this request will be queued. Request won't
9943 be allowed in any other state.
9944
9945 WDI_PostAssocReq must have been called.
9946
9947 @param pwdiHostOffloadParams: the host offload as specified
9948 by the Device Interface
9949
9950 wdiHostOffloadCb: callback for passing back the response
9951 of the host offload operation received from the
9952 device
9953
9954 pUserData: user data will be passed back with the
9955 callback
9956
9957 @see WDI_PostAssocReq
9958 @return Result of the function call
9959*/
9960WDI_Status
9961WDI_HostOffloadReq
9962(
9963 WDI_HostOffloadReqParamsType* pwdiHostOffloadParams,
9964 WDI_HostOffloadCb wdiHostOffloadCb,
9965 void* pUserData
9966);
9967
9968/**
9969 @brief WDI_KeepAliveReq will be called when the upper MAC
9970 wants to set the filter to send NULL or unsolicited ARP responses
9971 and minimize unnecessary host wakeups due to while in power save.
9972 Upon the call of this API the WLAN DAL will pack and
9973 send a HAL Keep Alive request message to the
9974 lower RIVA sub-system if DAL is in state STARTED.
9975
9976 In state BUSY this request will be queued. Request won't
9977 be allowed in any other state.
9978
9979 WDI_PostAssocReq must have been called.
9980
9981 @param pwdiKeepAliveParams: the Keep Alive as specified
9982 by the Device Interface
9983
9984 wdiKeepAliveCb: callback for passing back the response
9985 of the Keep Alive operation received from the
9986 device
9987
9988 pUserData: user data will be passed back with the
9989 callback
9990
9991 @see WDI_PostAssocReq
9992 @return Result of the function call
9993*/
9994WDI_Status
9995WDI_KeepAliveReq
9996(
9997 WDI_KeepAliveReqParamsType* pwdiKeepAliveParams,
9998 WDI_KeepAliveCb wdiKeepAliveCb,
9999 void* pUserData
10000);
10001
10002/**
10003 @brief WDI_WowlAddBcPtrnReq will be called when the upper MAC
10004 wants to set the Wowl Bcast ptrn to minimize unnecessary
10005 host wakeup due to broadcast traffic while in power
10006 save. Upon the call of this API the WLAN DAL will pack
10007 and send a HAL Wowl Bcast ptrn request message to the
10008 lower RIVA sub-system if DAL is in state STARTED.
10009
10010 In state BUSY this request will be queued. Request won't
10011 be allowed in any other state.
10012
10013 WDI_PostAssocReq must have been called.
10014
10015 @param pwdiWowlAddBcPtrnParams: the Wowl bcast ptrn as
10016 specified by the Device Interface
10017
10018 wdiWowlAddBcPtrnCb: callback for passing back the
10019 response of the add Wowl bcast ptrn operation received
10020 from the device
10021
10022 pUserData: user data will be passed back with the
10023 callback
10024
10025 @see WDI_PostAssocReq
10026 @return Result of the function call
10027*/
10028WDI_Status
10029WDI_WowlAddBcPtrnReq
10030(
10031 WDI_WowlAddBcPtrnReqParamsType* pwdiWowlAddBcPtrnParams,
10032 WDI_WowlAddBcPtrnCb wdiWowlAddBcPtrnCb,
10033 void* pUserData
10034);
10035
10036/**
10037 @brief WDI_WowlDelBcPtrnReq will be called when the upper MAC
10038 wants to clear the Wowl Bcast ptrn. Upon the call of
10039 this API the WLAN DAL will pack and send a HAL delete
10040 Wowl Bcast ptrn request message to the lower RIVA
10041 sub-system if DAL is in state STARTED.
10042
10043 In state BUSY this request will be queued. Request won't
10044 be allowed in any other state.
10045
10046 WDI_WowlAddBcPtrnReq must have been called.
10047
10048 @param pwdiWowlDelBcPtrnParams: the Wowl bcast ptrn as
10049 specified by the Device Interface
10050
10051 wdiWowlDelBcPtrnCb: callback for passing back the
10052 response of the del Wowl bcast ptrn operation received
10053 from the device
10054
10055 pUserData: user data will be passed back with the
10056 callback
10057
10058 @see WDI_WowlAddBcPtrnReq
10059 @return Result of the function call
10060*/
10061WDI_Status
10062WDI_WowlDelBcPtrnReq
10063(
10064 WDI_WowlDelBcPtrnReqParamsType* pwdiWowlDelBcPtrnParams,
10065 WDI_WowlDelBcPtrnCb wdiWowlDelBcPtrnCb,
10066 void* pUserData
10067);
10068
10069/**
10070 @brief WDI_WowlEnterReq will be called when the upper MAC
10071 wants to enter the Wowl state to minimize unnecessary
10072 host wakeup while in power save. Upon the call of this
10073 API the WLAN DAL will pack and send a HAL Wowl enter
10074 request message to the lower RIVA sub-system if DAL is
10075 in state STARTED.
10076
10077 In state BUSY this request will be queued. Request won't
10078 be allowed in any other state.
10079
10080 WDI_PostAssocReq must have been called.
10081
10082 @param pwdiWowlEnterReqParams: the Wowl enter info as
10083 specified by the Device Interface
10084
10085 wdiWowlEnterReqCb: callback for passing back the
10086 response of the enter Wowl operation received from the
10087 device
10088
10089 pUserData: user data will be passed back with the
10090 callback
10091
10092 @see WDI_PostAssocReq
10093 @return Result of the function call
10094*/
10095WDI_Status
10096WDI_WowlEnterReq
10097(
10098 WDI_WowlEnterReqParamsType* pwdiWowlEnterParams,
10099 WDI_WowlEnterReqCb wdiWowlEnterCb,
10100 void* pUserData
10101);
10102
10103/**
10104 @brief WDI_WowlExitReq will be called when the upper MAC
10105 wants to exit the Wowl state. Upon the call of this API
10106 the WLAN DAL will pack and send a HAL Wowl exit request
10107 message to the lower RIVA sub-system if DAL is in state
10108 STARTED.
10109
10110 In state BUSY this request will be queued. Request won't
10111 be allowed in any other state.
10112
10113 WDI_WowlEnterReq must have been called.
10114
10115 @param pwdiWowlExitReqParams: the Wowl exit info as
10116 specified by the Device Interface
10117
10118 wdiWowlExitReqCb: callback for passing back the response
10119 of the exit Wowl operation received from the device
10120
10121 pUserData: user data will be passed back with the
10122 callback
10123
10124 @see WDI_WowlEnterReq
10125 @return Result of the function call
10126*/
10127WDI_Status
10128WDI_WowlExitReq
10129(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -070010130 WDI_WowlExitReqParamsType* pwdiWowlExitParams,
Jeff Johnson295189b2012-06-20 16:38:30 -070010131 WDI_WowlExitReqCb wdiWowlExitCb,
10132 void* pUserData
10133);
10134
10135/**
10136 @brief WDI_ConfigureAppsCpuWakeupStateReq will be called when
10137 the upper MAC wants to dynamically adjusts the listen
10138 interval based on the WLAN/MSM activity. Upon the call
10139 of this API the WLAN DAL will pack and send a HAL
10140 configure Apps Cpu Wakeup State request message to the
10141 lower RIVA sub-system.
10142
10143 In state BUSY this request will be queued. Request won't
10144 be allowed in any other state.
10145
10146
10147 @param pwdiConfigureAppsCpuWakeupStateReqParams: the
10148 Apps Cpu Wakeup State as specified by the
10149 Device Interface
10150
10151 wdiConfigureAppsCpuWakeupStateCb: callback for passing
10152 back the response of the configure Apps Cpu Wakeup State
10153 operation received from the device
10154
10155 pUserData: user data will be passed back with the
10156 callback
10157
10158 @return Result of the function call
10159*/
10160WDI_Status
10161WDI_ConfigureAppsCpuWakeupStateReq
10162(
10163 WDI_ConfigureAppsCpuWakeupStateReqParamsType *pwdiConfigureAppsCpuWakeupStateReqParams,
10164 WDI_ConfigureAppsCpuWakeupStateCb wdiConfigureAppsCpuWakeupStateCb,
10165 void* pUserData
10166);
10167/**
10168 @brief WDI_FlushAcReq will be called when the upper MAC wants
10169 to to perform a flush operation on a given AC. Upon the
10170 call of this API the WLAN DAL will pack and send a HAL
10171 Flush AC request message to the lower RIVA sub-system if
10172 DAL is in state STARTED.
10173
10174 In state BUSY this request will be queued. Request won't
10175 be allowed in any other state.
10176
10177
10178 @param pwdiFlushAcReqParams: the Flush AC parameters as
10179 specified by the Device Interface
10180
10181 wdiFlushAcRspCb: callback for passing back the response
10182 of the Flush AC operation received from the device
10183
10184 pUserData: user data will be passed back with the
10185 callback
10186
10187 @return Result of the function call
10188*/
10189WDI_Status
10190WDI_FlushAcReq
10191(
10192 WDI_FlushAcReqParamsType* pwdiFlushAcReqParams,
10193 WDI_FlushAcRspCb wdiFlushAcRspCb,
10194 void* pUserData
10195);
10196
10197/**
10198 @brief WDI_BtAmpEventReq will be called when the upper MAC
10199 wants to notify the lower mac on a BT AMP event. This is
10200 to inform BTC-SLM that some BT AMP event occurred. Upon
10201 the call of this API the WLAN DAL will pack and send a
10202 HAL BT AMP event request message to the lower RIVA
10203 sub-system if DAL is in state STARTED.
10204
10205 In state BUSY this request will be queued. Request won't
10206 be allowed in any other state.
10207
10208
10209 @param wdiBtAmpEventReqParams: the BT AMP event parameters as
10210 specified by the Device Interface
10211
10212 wdiBtAmpEventRspCb: callback for passing back the
10213 response of the BT AMP event operation received from the
10214 device
10215
10216 pUserData: user data will be passed back with the
10217 callback
10218
10219 @return Result of the function call
10220*/
10221WDI_Status
10222WDI_BtAmpEventReq
10223(
10224 WDI_BtAmpEventParamsType* pwdiBtAmpEventReqParams,
10225 WDI_BtAmpEventRspCb wdiBtAmpEventRspCb,
10226 void* pUserData
10227);
10228
Jeff Johnsone7245742012-09-05 17:12:55 -070010229#ifdef FEATURE_OEM_DATA_SUPPORT
10230/**
10231 @brief WDI_Start oem data Req will be called when the upper MAC
10232 wants to notify the lower mac on a oem data Req event.Upon
10233 the call of this API the WLAN DAL will pack and send a
10234 HAL OEM Data Req event request message to the lower RIVA
10235 sub-system if DAL is in state STARTED.
10236
10237 In state BUSY this request will be queued. Request won't
10238 be allowed in any other state.
10239
10240
10241 @param pWdiOemDataReqParams: the oem data req parameters as
10242 specified by the Device Interface
10243
10244 wdiStartOemDataRspCb: callback for passing back the
10245 response of the Oem Data Req received from the
10246 device
10247
10248 pUserData: user data will be passed back with the
10249 callback
10250
10251 @return Result of the function call
10252*/
10253WDI_Status
10254WDI_StartOemDataReq
10255(
10256 WDI_oemDataReqParamsType* pWdiOemDataReqParams,
10257 WDI_oemDataRspCb wdiOemDataRspCb,
10258 void* pUserData
10259);
10260#endif
Jeff Johnson295189b2012-06-20 16:38:30 -070010261
10262/*========================================================================
10263
10264 CONTROL APIs
10265
10266==========================================================================*/
10267/**
10268 @brief WDI_SwitchChReq will be called when the upper MAC wants
10269 the WLAN HW to change the current channel of operation.
10270 Upon the call of this API the WLAN DAL will pack and
10271 send a HAL Start request message to the lower RIVA
10272 sub-system if DAL is in state STARTED.
10273
10274 In state BUSY this request will be queued. Request won't
10275 be allowed in any other state.
10276
10277 WDI_Start must have been called.
10278
10279 @param wdiSwitchChReqParams: the switch ch parameters as
10280 specified by the Device Interface
10281
10282 wdiSwitchChRspCb: callback for passing back the response
10283 of the switch ch operation received from the device
10284
10285 pUserData: user data will be passed back with the
10286 callback
10287
10288 @see WDI_Start
10289 @return Result of the function call
10290*/
10291WDI_Status
10292WDI_SwitchChReq
10293(
10294 WDI_SwitchChReqParamsType* pwdiSwitchChReqParams,
10295 WDI_SwitchChRspCb wdiSwitchChRspCb,
10296 void* pUserData
10297);
10298
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -080010299/**
Kalikinkar dhara1e83b772014-02-06 12:59:22 -080010300 @brief WDI_SwitchChReq_V1 is similar to WDI_SwitchChReq except
10301 it also send type source for the channel change.
10302 WDI_Start must have been called.
10303
10304 @param wdiSwitchChReqParams: the switch ch parameters as
10305 specified by the Device Interface
10306
10307 wdiSwitchChRspCb: callback for passing back the response
10308 of the switch ch operation received from the device
10309
10310 pUserData: user data will be passed back with the
10311 callback
10312
10313 @see WDI_Start
10314 @return Result of the function call
10315*/
10316
10317WDI_Status
10318WDI_SwitchChReq_V1
10319(
10320 WDI_SwitchChReqParamsType_V1* pwdiSwitchChReqParams,
10321 WDI_SwitchChRspCb_V1 wdiSwitchChRspCb,
10322 void* pUserData
10323);
10324
10325/**
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -080010326 @brief WDI_UpdateChannelReq will be called when the upper MAC
10327 wants to update the channel list on change in country code.
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -080010328 In state BUSY this request will be queued. Request won't
10329 be allowed in any other state.
10330
10331 WDI_UpdateChannelReq must have been called.
10332
10333 @param wdiUpdateChannelReqParams: the updated channel parameters
10334 as specified by the Device Interface
10335
10336 wdiUpdateChannelRspCb: callback for passing back the
10337 response of the update channel operation received from
10338 the device
10339
10340 pUserData: user data will be passed back with the
10341 callback
10342
10343 @return Result of the function call
10344*/
10345WDI_Status
10346WDI_UpdateChannelReq
10347(
10348 WDI_UpdateChReqParamsType *pwdiUpdateChannelReqParams,
10349 WDI_UpdateChannelRspCb wdiUpdateChannelRspCb,
10350 void* pUserData
10351);
Jeff Johnson295189b2012-06-20 16:38:30 -070010352
10353/**
10354 @brief WDI_ConfigSTAReq will be called when the upper MAC
10355 wishes to add or update a STA in HW. Upon the call of
10356 this API the WLAN DAL will pack and send a HAL Start
10357 message request message to the lower RIVA sub-system if
10358 DAL is in state STARTED.
10359
10360 In state BUSY this request will be queued. Request won't
10361 be allowed in any other state.
10362
10363 WDI_Start must have been called.
10364
10365 @param wdiConfigSTAReqParams: the config STA parameters as
10366 specified by the Device Interface
10367
10368 wdiConfigSTARspCb: callback for passing back the
10369 response of the config STA operation received from the
10370 device
10371
10372 pUserData: user data will be passed back with the
10373 callback
10374
10375 @see WDI_Start
10376 @return Result of the function call
10377*/
10378WDI_Status
10379WDI_ConfigSTAReq
10380(
10381 WDI_ConfigSTAReqParamsType* pwdiConfigSTAReqParams,
10382 WDI_ConfigSTARspCb wdiConfigSTARspCb,
10383 void* pUserData
10384);
10385
10386/**
10387 @brief WDI_SetLinkStateReq will be called when the upper MAC
10388 wants to change the state of an ongoing link. Upon the
10389 call of this API the WLAN DAL will pack and send a HAL
10390 Start message request message to the lower RIVA
10391 sub-system if DAL is in state STARTED.
10392
10393 In state BUSY this request will be queued. Request won't
10394 be allowed in any other state.
10395
10396 WDI_JoinReq must have been called.
10397
10398 @param wdiSetLinkStateReqParams: the set link state parameters
10399 as specified by the Device Interface
10400
10401 wdiSetLinkStateRspCb: callback for passing back the
10402 response of the set link state operation received from
10403 the device
10404
10405 pUserData: user data will be passed back with the
10406 callback
10407
10408 @see WDI_JoinStartReq
10409 @return Result of the function call
10410*/
10411WDI_Status
10412WDI_SetLinkStateReq
10413(
10414 WDI_SetLinkReqParamsType* pwdiSetLinkStateReqParams,
10415 WDI_SetLinkStateRspCb wdiSetLinkStateRspCb,
10416 void* pUserData
10417);
10418
10419
10420/**
10421 @brief WDI_GetStatsReq will be called when the upper MAC wants
10422 to get statistics (MIB counters) from the device. Upon
10423 the call of this API the WLAN DAL will pack and send a
10424 HAL Start request message to the lower RIVA sub-system
10425 if DAL is in state STARTED.
10426
10427 In state BUSY this request will be queued. Request won't
10428 be allowed in any other state.
10429
10430 WDI_Start must have been called.
10431
10432 @param wdiGetStatsReqParams: the stats parameters to get as
10433 specified by the Device Interface
10434
10435 wdiGetStatsRspCb: callback for passing back the response
10436 of the get stats operation received from the device
10437
10438 pUserData: user data will be passed back with the
10439 callback
10440
10441 @see WDI_Start
10442 @return Result of the function call
10443*/
10444WDI_Status
10445WDI_GetStatsReq
10446(
10447 WDI_GetStatsReqParamsType* pwdiGetStatsReqParams,
10448 WDI_GetStatsRspCb wdiGetStatsRspCb,
10449 void* pUserData
10450);
10451
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -080010452#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -080010453/**
10454 @brief WDI_GetRoamRssiReq will be called when the upper MAC wants
10455 to get roam rssi from the device. Upon
10456 the call of this API the WLAN DAL will pack and send a
10457 HAL Start request message to the lower RIVA sub-system
10458 if DAL is in state STARTED.
10459
10460 In state BUSY this request will be queued. Request won't
10461 be allowed in any other state.
10462
10463 WDI_Start must have been called.
10464
10465 @param wdiGetRoamRssiReqParams: the stats parameters to get as
10466 specified by the Device Interface
10467
10468 wdiGetRoamRssispCb: callback for passing back the response
10469 of the get stats operation received from the device
10470
10471 pUserData: user data will be passed back with the
10472 callback
10473
10474 @see WDI_Start
10475 @return Result of the function call
10476*/
10477WDI_Status
10478WDI_GetRoamRssiReq
10479(
10480 WDI_GetRoamRssiReqParamsType* pwdiGetRoamRssiReqParams,
10481 WDI_GetRoamRssiRspCb wdiGetRoamRssiRspCb,
10482 void* pUserData
10483);
10484#endif
Jeff Johnson295189b2012-06-20 16:38:30 -070010485
10486/**
10487 @brief WDI_UpdateCfgReq will be called when the upper MAC when
10488 it wishes to change the configuration of the WLAN
10489 Device. Upon the call of this API the WLAN DAL will pack
10490 and send a HAL Update CFG request message to the lower
10491 RIVA sub-system if DAL is in state STARTED.
10492
10493 In state BUSY this request will be queued. Request won't
10494 be allowed in any other state.
10495
10496 WDI_Start must have been called.
10497
10498 @param wdiUpdateCfgReqParams: the update cfg parameters as
10499 specified by the Device Interface
10500
10501 wdiUpdateCfgsRspCb: callback for passing back the
10502 response of the update cfg operation received from the
10503 device
10504
10505 pUserData: user data will be passed back with the
10506 callback
10507
10508 @see WDI_Start
10509 @return Result of the function call
10510*/
10511WDI_Status
10512WDI_UpdateCfgReq
10513(
10514 WDI_UpdateCfgReqParamsType* pwdiUpdateCfgReqParams,
10515 WDI_UpdateCfgRspCb wdiUpdateCfgsRspCb,
10516 void* pUserData
10517);
10518
10519/**
10520 @brief WDI_NvDownloadReq will be called by the UMAC to dowload the NV blob
10521 to the NV memory.
10522
10523 @param wdiNvDownloadReqParams: the NV Download parameters as specified by
10524 the Device Interface
10525
10526 wdiNvDownloadRspCb: callback for passing back the response of
10527 the NV Download operation received from the device
10528
10529 pUserData: user data will be passed back with the
10530 callback
10531
10532 @see WDI_PostAssocReq
10533 @return Result of the function call
10534*/
10535WDI_Status
10536WDI_NvDownloadReq
10537(
10538 WDI_NvDownloadReqParamsType* pwdiNvDownloadReqParams,
10539 WDI_NvDownloadRspCb wdiNvDownloadRspCb,
10540 void* pUserData
10541);
10542/**
10543 @brief WDI_AddBAReq will be called when the upper MAC has setup
10544 successfully a BA session and needs to notify the HW for
10545 the appropriate settings to take place. Upon the call of
10546 this API the WLAN DAL will pack and send a HAL Add BA
10547 request message to the lower RIVA sub-system if DAL is
10548 in state STARTED.
10549
10550 In state BUSY this request will be queued. Request won't
10551 be allowed in any other state.
10552
10553 WDI_PostAssocReq must have been called.
10554
10555 @param wdiAddBAReqParams: the add BA parameters as specified by
10556 the Device Interface
10557
10558 wdiAddBARspCb: callback for passing back the response of
10559 the add BA operation received from the device
10560
10561 pUserData: user data will be passed back with the
10562 callback
10563
10564 @see WDI_PostAssocReq
10565 @return Result of the function call
10566*/
10567WDI_Status
10568WDI_AddBAReq
10569(
10570 WDI_AddBAReqParamsType* pwdiAddBAReqParams,
10571 WDI_AddBARspCb wdiAddBARspCb,
10572 void* pUserData
10573);
10574
10575/**
10576 @brief WDI_TriggerBAReq will be called when the upper MAC has setup
10577 successfully a BA session and needs to notify the HW for
10578 the appropriate settings to take place. Upon the call of
10579 this API the WLAN DAL will pack and send a HAL Add BA
10580 request message to the lower RIVA sub-system if DAL is
10581 in state STARTED.
10582
10583 In state BUSY this request will be queued. Request won't
10584 be allowed in any other state.
10585
10586 WDI_PostAssocReq must have been called.
10587
10588 @param wdiAddBAReqParams: the add BA parameters as specified by
10589 the Device Interface
Abhishek Singhac9abe62016-02-05 18:07:41 +053010590 baReqParamUserDataSize: user data size of wdiAddBAReqParams
Jeff Johnson295189b2012-06-20 16:38:30 -070010591 wdiAddBARspCb: callback for passing back the response of
10592 the add BA operation received from the device
10593
10594 pUserData: user data will be passed back with the
10595 callback
10596
10597 @see WDI_PostAssocReq
10598 @return Result of the function call
10599*/
10600WDI_Status
10601WDI_TriggerBAReq
10602(
10603 WDI_TriggerBAReqParamsType* pwdiTriggerBAReqParams,
Abhishek Singhac9abe62016-02-05 18:07:41 +053010604 wpt_uint8 baReqParamUserDataSize,
Jeff Johnson295189b2012-06-20 16:38:30 -070010605 WDI_TriggerBARspCb wdiTriggerBARspCb,
10606 void* pUserData
10607);
10608
10609
10610/**
10611 @brief WDI_IsHwFrameTxTranslationCapable checks to see if HW
10612 frame xtl is enabled for a particular STA.
10613
10614 WDI_PostAssocReq must have been called.
10615
10616 @param uSTAIdx: STA index
10617
10618 @see WDI_PostAssocReq
10619 @return Result of the function call
10620*/
10621wpt_boolean WDI_IsHwFrameTxTranslationCapable
10622(
10623 wpt_uint8 uSTAIdx
10624);
10625
Katya Nigam6201c3e2014-05-27 17:51:42 +053010626
10627/**
10628 @brief WDI_IsSelfSTA - check if staid is self sta index
10629
10630 @param pWDICtx: pointer to the WLAN DAL context
10631 ucSTAIdx: station index
10632
10633 @return Result of the function call
10634*/
10635
10636wpt_boolean
10637WDI_IsSelfSTA
10638(
10639 void* pWDICtx,
10640 wpt_uint8 ucSTAIdx
10641);
10642
10643
Jeff Johnson295189b2012-06-20 16:38:30 -070010644#ifdef WLAN_FEATURE_VOWIFI_11R
10645/**
10646 @brief WDI_AggrAddTSReq will be called when the upper MAC to inform
10647 the device of a successful add TSpec negotiation for 11r. HW
10648 needs to receive the TSpec Info from the UMAC in order
10649 to configure properly the QoS data traffic. Upon the
10650 call of this API the WLAN DAL will pack and send a HAL
10651 Aggregated Add TS request message to the lower RIVA sub-system if
10652 DAL is in state STARTED.
10653
10654 In state BUSY this request will be queued. Request won't
10655 be allowed in any other state.
10656
10657 WDI_PostAssocReq must have been called.
10658
10659 @param wdiAggrAddTsReqParams: the add TS parameters as specified by
10660 the Device Interface
10661
10662 wdiAggrAddTsRspCb: callback for passing back the response of
10663 the add TS operation received from the device
10664
10665 pUserData: user data will be passed back with the
10666 callback
10667
10668 @see WDI_PostAssocReq
10669 @return Result of the function call
10670*/
10671WDI_Status
10672WDI_AggrAddTSReq
10673(
10674 WDI_AggrAddTSReqParamsType* pwdiAddTsReqParams,
10675 WDI_AggrAddTsRspCb wdiAggrAddTsRspCb,
10676 void* pUserData
10677);
10678#endif /* WLAN_FEATURE_VOWIFI_11R */
10679/**
10680 @brief WDI_STATableInit - Initializes the STA tables.
10681 Allocates the necesary memory.
10682
10683
10684 @param pWDICtx: pointer to the WLAN DAL context
10685
10686 @see
10687 @return Result of the function call
10688*/
10689
10690WDI_Status WDI_StubRunTest
10691(
10692 wpt_uint8 ucTestNo
10693);
10694
Jeff Johnson295189b2012-06-20 16:38:30 -070010695/**
10696 @brief WDI_FTMCommandReq -
10697 Route FTMRequest Command to HAL
10698
10699 @param ftmCommandReq: FTM request command body
10700 @param ftmCommandRspCb: Response CB
10701 @param pUserData: User data will be included with CB
10702
10703 @return Result of the function call
10704*/
10705WDI_Status WDI_FTMCommandReq
10706(
10707 WDI_FTMCommandReqType *ftmCommandReq,
10708 WDI_FTMCommandRspCb ftmCommandRspCb,
10709 void *pUserData
10710);
Jeff Johnson295189b2012-06-20 16:38:30 -070010711
10712/**
10713 @brief WDI_HostResumeReq will be called
10714
10715 In state BUSY this request will be queued. Request won't
10716 be allowed in any other state.
10717
10718
10719 @param pwdiResumeReqParams: as specified by
10720 the Device Interface
10721
10722 wdiResumeReqRspCb: callback for passing back the response of
10723 the Resume Req received from the device
10724
10725 pUserData: user data will be passed back with the
10726 callback
10727
10728 @see WDI_PostAssocReq
10729 @return Result of the function call
10730*/
10731WDI_Status
10732WDI_HostResumeReq
10733(
10734 WDI_ResumeParamsType* pwdiResumeReqParams,
10735 WDI_HostResumeEventRspCb wdiResumeReqRspCb,
10736 void* pUserData
10737);
10738
10739/**
10740 @brief WDI_GetAvailableResCount - Function to get the available resource
10741 for data and managemnt frames.
10742
10743 @param pContext: pointer to the WDI context
10744 @param wdiResPool: type of resource pool requesting
10745 @see
10746 @return Result of the function call
10747*/
10748
10749wpt_uint32 WDI_GetAvailableResCount
10750(
10751 void *pContext,
10752 WDI_ResPoolType wdiResPool
10753);
10754
10755/**
10756 @brief WDI_SetAddSTASelfReq will be called when the
10757 UMAC wanted to add self STA while opening any new session
10758 In state BUSY this request will be queued. Request won't
10759 be allowed in any other state.
10760
10761
10762 @param pwdiAddSTASelfParams: the add self sta parameters as
10763 specified by the Device Interface
10764
10765 pUserData: user data will be passed back with the
10766 callback
10767
10768 @see
10769 @return Result of the function call
10770*/
10771WDI_Status
10772WDI_AddSTASelfReq
10773(
10774 WDI_AddSTASelfReqParamsType* pwdiAddSTASelfReqParams,
10775 WDI_AddSTASelfParamsRspCb wdiAddSTASelfReqParamsRspCb,
10776 void* pUserData
10777);
10778
10779
10780/**
10781 @brief WDI_DelSTASelfReq will be called .
10782
10783 @param WDI_DelSTASelfReqParamsType
10784
10785 WDI_DelSTASelfRspCb: callback for passing back the
10786 response of the del sta self operation received from the
10787 device
10788
10789 pUserData: user data will be passed back with the
10790 callback
10791
10792 @see WDI_PostAssocReq
10793 @return Result of the function call
10794*/
10795WDI_Status
10796WDI_DelSTASelfReq
10797(
10798 WDI_DelSTASelfReqParamsType* pwdiDelStaSelfParams,
10799 WDI_DelSTASelfRspCb wdiDelStaSelfRspCb,
10800 void* pUserData
10801);
10802
10803/**
10804 @brief WDI_HostSuspendInd
10805
10806 Suspend Indication from the upper layer will be sent
10807 down to HAL
10808
10809 @param WDI_SuspendParamsType
10810
10811 @see
10812
10813 @return Status of the request
10814*/
10815WDI_Status
10816WDI_HostSuspendInd
10817(
10818 WDI_SuspendParamsType* pwdiSuspendIndParams
10819);
10820
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -080010821/**
10822 @brief WDI_TrafficStatsInd
10823
10824 Traffic Stats from the upper layer will be sent
10825 down to HAL
10826
10827 @param WDI_TrafficStatsIndType
10828
10829 @see
10830
10831 @return Status of the request
10832*/
10833WDI_Status
10834WDI_TrafficStatsInd
10835(
10836 WDI_TrafficStatsIndType *pWdiTrafficStatsIndParams
10837);
10838
Chet Lanctot186b5732013-03-18 10:26:30 -070010839#ifdef WLAN_FEATURE_11W
10840/**
10841 @brief WDI_ExcludeUnencryptedInd
10842 Register with HAL to receive/drop unencrypted frames
10843
10844 @param WDI_ExcludeUnencryptIndType
10845
10846 @see
10847
10848 @return Status of the request
10849*/
10850WDI_Status
10851WDI_ExcludeUnencryptedInd
10852(
10853 WDI_ExcludeUnencryptIndType *pWdiExcUnencParams
10854);
10855#endif
10856
Yue Mab9c86f42013-08-14 15:59:08 -070010857/**
10858 @brief WDI_AddPeriodicTxPtrnInd
10859
10860 @param WDI_AddPeriodicTxPtrnParamsType
10861
10862 @see
10863
10864 @return Status of the request
10865*/
10866WDI_Status
10867WDI_AddPeriodicTxPtrnInd
10868(
10869 WDI_AddPeriodicTxPtrnParamsType *addPeriodicTxPtrnParams
10870);
10871
10872/**
10873 @brief WDI_DelPeriodicTxPtrnInd
10874
10875 @param WDI_DelPeriodicTxPtrnParamsType
10876
10877 @see
10878
10879 @return Status of the request
10880*/
10881WDI_Status
10882WDI_DelPeriodicTxPtrnInd
10883(
10884 WDI_DelPeriodicTxPtrnParamsType *delPeriodicTxPtrnParams
10885);
10886
Jeff Johnson295189b2012-06-20 16:38:30 -070010887#ifdef FEATURE_WLAN_SCAN_PNO
10888/**
10889 @brief WDI_SetPreferredNetworkList
10890
10891 @param pwdiPNOScanReqParams: the Set PNO as specified
10892 by the Device Interface
10893
10894 wdiPNOScanCb: callback for passing back the response
10895 of the Set PNO operation received from the
10896 device
10897
10898 pUserData: user data will be passed back with the
10899 callback
10900
10901 @see WDI_PostAssocReq
10902 @return Result of the function call
10903*/
10904WDI_Status
10905WDI_SetPreferredNetworkReq
10906(
10907 WDI_PNOScanReqParamsType* pwdiPNOScanReqParams,
10908 WDI_PNOScanCb wdiPNOScanCb,
10909 void* pUserData
10910);
10911
10912/**
10913 @brief WDI_SetRssiFilterReq
10914
10915 @param pwdiRssiFilterReqParams: the Set RSSI Filter as
10916 specified by the Device Interface
10917
10918 wdiRssiFilterCb: callback for passing back the response
10919 of the Set RSSI Filter operation received from the
10920 device
10921
10922 pUserData: user data will be passed back with the
10923 callback
10924
10925 @see WDI_PostAssocReq
10926 @return Result of the function call
10927*/
10928WDI_Status
10929WDI_SetRssiFilterReq
10930(
10931 WDI_SetRssiFilterReqParamsType* pwdiRssiFilterReqParams,
10932 WDI_RssiFilterCb wdiRssiFilterCb,
10933 void* pUserData
10934);
10935
10936/**
10937 @brief WDI_UpdateScanParams
10938
10939 @param pwdiUpdateScanParamsInfoType: the Update Scan Params as specified
10940 by the Device Interface
10941
10942 wdiUpdateScanParamsCb: callback for passing back the response
10943 of the Set PNO operation received from the
10944 device
10945
10946 pUserData: user data will be passed back with the
10947 callback
10948
10949 @see WDI_PostAssocReq
10950 @return Result of the function call
10951*/
10952WDI_Status
10953WDI_UpdateScanParamsReq
10954(
10955 WDI_UpdateScanParamsInfoType* pwdiUpdateScanParamsInfoType,
10956 WDI_UpdateScanParamsCb wdiUpdateScanParamsCb,
10957 void* pUserData
10958);
10959#endif // FEATURE_WLAN_SCAN_PNO
10960
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010961#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
10962/**
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010963 @brief WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010964
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010965 @param pwdiRoamScanOffloadReqParams: Start Roam Candidate Lookup Req as specified
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010966 by the Device Interface
10967
10968 wdiRoamOffloadScanCb: callback for passing back the response
10969 of the Start Roam Candidate Lookup operation received from the
10970 device
10971
10972 pUserData: user data will be passed back with the
10973 callback
10974
10975 @return Result of the function call
10976*/
10977WDI_Status
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010978WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010979(
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010980 WDI_RoamScanOffloadReqParamsType *pwdiRoamScanOffloadReqParams,
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010981 WDI_RoamOffloadScanCb wdiRoamOffloadScancb,
10982 void* pUserData
10983);
10984#endif
10985
Jeff Johnson295189b2012-06-20 16:38:30 -070010986/**
10987 @brief WDI_SetTxPerTrackingReq will be called when the upper MAC
10988 wants to set the Tx Per Tracking configurations.
10989 Upon the call of this API the WLAN DAL will pack
10990 and send a HAL Set Tx Per Tracking request message to the
10991 lower RIVA sub-system if DAL is in state STARTED.
10992
10993 In state BUSY this request will be queued. Request won't
10994 be allowed in any other state.
10995
10996 @param wdiSetTxPerTrackingConf: the Set Tx PER Tracking configurations as
10997 specified by the Device Interface
10998
10999 wdiSetTxPerTrackingCb: callback for passing back the
11000 response of the set Tx PER Tracking configurations operation received
11001 from the device
11002
11003 pUserData: user data will be passed back with the
11004 callback
11005
11006 @return Result of the function call
11007*/
11008WDI_Status
11009WDI_SetTxPerTrackingReq
11010(
11011 WDI_SetTxPerTrackingReqParamsType* pwdiSetTxPerTrackingReqParams,
11012 WDI_SetTxPerTrackingRspCb pwdiSetTxPerTrackingRspCb,
11013 void* pUserData
11014);
11015
11016/**
11017 @brief WDI_SetTmLevelReq
11018 If HW Thermal condition changed, driver should react based on new
11019 HW thermal condition.
11020
11021 @param pwdiSetTmLevelReq: New thermal condition information
11022
11023 pwdiSetTmLevelRspCb: callback
11024
11025 usrData: user data will be passed back with the
11026 callback
11027
11028 @return Result of the function call
11029*/
11030WDI_Status
11031WDI_SetTmLevelReq
11032(
11033 WDI_SetTmLevelReqType *pwdiSetTmLevelReq,
11034 WDI_SetTmLevelCb pwdiSetTmLevelRspCb,
11035 void *usrData
11036);
11037
11038#ifdef WLAN_FEATURE_PACKET_FILTERING
11039/**
11040 @brief WDI_8023MulticastListReq
11041
11042 @param pwdiRcvFltPktSetMcListReqInfo: the Set 8023 Multicast
11043 List as specified by the Device Interface
11044
11045 wdi8023MulticastListCallback: callback for passing back
11046 the response of the Set 8023 Multicast List operation
11047 received from the device
11048
11049 pUserData: user data will be passed back with the
11050 callback
11051
11052 @see WDI_PostAssocReq
11053 @return Result of the function call
11054*/
11055WDI_Status
11056WDI_8023MulticastListReq
11057(
11058 WDI_RcvFltPktSetMcListReqParamsType* pwdiRcvFltPktSetMcListReqInfo,
11059 WDI_8023MulticastListCb wdi8023MulticastListCallback,
11060 void* pUserData
11061);
11062
11063/**
11064 @brief WDI_ReceiveFilterSetFilterReq
11065
11066 @param pwdiSetRcvPktFilterReqInfo: the Set Receive Filter as
11067 specified by the Device Interface
11068
11069 wdiReceiveFilterSetFilterReqCallback: callback for
11070 passing back the response of the Set Receive Filter
11071 operation received from the device
11072
11073 pUserData: user data will be passed back with the
11074 callback
11075
11076 @see WDI_PostAssocReq
11077 @return Result of the function call
11078*/
11079WDI_Status
11080WDI_ReceiveFilterSetFilterReq
11081(
11082 WDI_SetRcvPktFilterReqParamsType* pwdiSetRcvPktFilterReqInfo,
11083 WDI_ReceiveFilterSetFilterCb wdiReceiveFilterSetFilterReqCallback,
11084 void* pUserData
11085);
11086
11087/**
11088 @brief WDI_PCFilterMatchCountReq
11089
11090 @param pwdiRcvFltPktMatchCntReqInfo: get D0 PC Filter Match
11091 Count
11092
11093 wdiPCFilterMatchCountCallback: callback for passing back
11094 the response of the D0 PC Filter Match Count operation
11095 received from the device
11096
11097 pUserData: user data will be passed back with the
11098 callback
11099
11100 @see WDI_PostAssocReq
11101 @return Result of the function call
11102*/
11103WDI_Status
11104WDI_FilterMatchCountReq
11105(
11106 WDI_RcvFltPktMatchCntReqParamsType* pwdiRcvFltPktMatchCntReqInfo,
11107 WDI_FilterMatchCountCb wdiFilterMatchCountCallback,
11108 void* pUserData
11109);
11110
11111/**
11112 @brief WDI_ReceiveFilterClearFilterReq
11113
11114 @param pwdiRcvFltPktClearReqInfo: the Clear Filter as
11115 specified by the Device Interface
11116
11117 wdiReceiveFilterClearFilterCallback: callback for
11118 passing back the response of the Clear Filter
11119 operation received from the device
11120
11121 pUserData: user data will be passed back with the
11122 callback
11123
11124 @see WDI_PostAssocReq
11125 @return Result of the function call
11126*/
11127WDI_Status
11128WDI_ReceiveFilterClearFilterReq
11129(
11130 WDI_RcvFltPktClearReqParamsType* pwdiRcvFltPktClearReqInfo,
11131 WDI_ReceiveFilterClearFilterCb wdiReceiveFilterClearFilterCallback,
11132 void* pUserData
11133);
11134#endif // WLAN_FEATURE_PACKET_FILTERING
11135
11136/**
11137 @brief WDI_HALDumpCmdReq
11138 Post HAL DUMP Command Event
11139
11140 @param halDumpCmdReqParams: Hal Dump Command Body
11141 @param halDumpCmdRspCb: callback for passing back the
11142 response
11143 @param pUserData: Client Data
11144
11145 @see
11146 @return Result of the function call
11147*/
11148WDI_Status WDI_HALDumpCmdReq(
11149 WDI_HALDumpCmdReqParamsType *halDumpCmdReqParams,
11150 WDI_HALDumpCmdRspCb halDumpCmdRspCb,
11151 void *pUserData
11152);
11153
11154
11155/**
11156 @brief WDI_SetPowerParamsReq
11157
11158 @param pwdiPowerParamsReqParams: the Set Power Params as
11159 specified by the Device Interface
11160
11161 wdiPowerParamsCb: callback for passing back the response
11162 of the Set Power Params operation received from the
11163 device
11164
11165 pUserData: user data will be passed back with the
11166 callback
11167
11168 @return Result of the function call
11169*/
11170WDI_Status
11171WDI_SetPowerParamsReq
11172(
11173 WDI_SetPowerParamsReqParamsType* pwdiPowerParamsReqParams,
11174 WDI_SetPowerParamsCb wdiPowerParamsCb,
11175 void* pUserData
11176);
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +053011177/**
11178 @brief WDI_dhcpStartInd
11179 Forward the DHCP Start event
11180
11181 @param
11182
11183 wdiDHCPInd: device mode and MAC address is passed
11184
11185 @see
11186 @return Result of the function call
11187*/
11188
11189WDI_Status
11190WDI_dhcpStartInd
11191(
11192 WDI_DHCPInd *wdiDHCPInd
11193);
11194/**
11195 @brief WDI_dhcpStopReq
11196 Forward the DHCP Stop event
11197
11198 @param
11199
11200 wdiDHCPInd: device mode and MAC address is passed
11201
11202 @see
11203 @return Result of the function call
11204*/
11205
11206WDI_Status
11207WDI_dhcpStopInd
11208(
11209 WDI_DHCPInd *wdiDHCPInd
11210);
Jeff Johnson295189b2012-06-20 16:38:30 -070011211
Chittajit Mitraf5413a42013-10-18 14:20:08 -070011212/**
11213 @brief WDI_RateUpdateInd will be called when the upper MAC
11214 requests the device to update rates.
11215
11216 In state BUSY this request will be queued. Request won't
11217 be allowed in any other state.
11218
11219
11220 @param wdiRateUpdateIndParams
11221
11222
11223 @see WDI_Start
11224 @return Result of the function call
11225*/
11226WDI_Status
11227WDI_RateUpdateInd
11228(
11229 WDI_RateUpdateIndParams *wdiRateUpdateIndParams
11230);
11231
Jeff Johnson295189b2012-06-20 16:38:30 -070011232#ifdef WLAN_FEATURE_GTK_OFFLOAD
11233/**
11234 @brief WDI_GTKOffloadReq will be called when the upper MAC
11235 wants to set GTK Rekey Counter while in power save. Upon
11236 the call of this API the WLAN DAL will pack and send a
11237 HAL GTK offload request message to the lower RIVA
11238 sub-system if DAL is in state STARTED.
11239
11240 In state BUSY this request will be queued. Request won't
11241 be allowed in any other state.
11242
11243 WDI_PostAssocReq must have been called.
11244
11245 @param pwdiGtkOffloadParams: the GTK offload as specified
11246 by the Device Interface
11247
11248 wdiGtkOffloadCb: callback for passing back the response
11249 of the GTK offload operation received from the device
11250
11251 pUserData: user data will be passed back with the
11252 callback
11253
11254 @see WDI_PostAssocReq
11255 @return Result of the function call
11256*/
11257WDI_Status
11258WDI_GTKOffloadReq
11259(
11260 WDI_GtkOffloadReqMsg* pwdiGtkOffloadReqMsg,
11261 WDI_GtkOffloadCb wdiGtkOffloadCb,
11262 void* pUserData
11263);
11264
11265/**
11266 @brief WDI_GTKOffloadGetInfoReq will be called when the upper
11267 MAC wants to get GTK Rekey Counter while in power save.
11268 Upon the call of this API the WLAN DAL will pack and
11269 send a HAL GTK offload request message to the lower RIVA
11270 sub-system if DAL is in state STARTED.
11271
11272 In state BUSY this request will be queued. Request won't
11273 be allowed in any other state.
11274
11275 WDI_PostAssocReq must have been called.
11276
11277 @param pwdiGtkOffloadGetInfoReqMsg: the GTK Offload
11278 Information Message as specified by the
11279 Device Interface
11280
11281 wdiGtkOffloadGetInfoCb: callback for passing back the
11282 response of the GTK offload operation received from the
11283 device
11284
11285 pUserData: user data will be passed back with the
11286 callback
11287
11288 @see WDI_PostAssocReq
11289 @return Result of the function call
11290*/
11291WDI_Status
11292WDI_GTKOffloadGetInfoReq
11293(
11294 WDI_GtkOffloadGetInfoReqMsg* pwdiGtkOffloadGetInfoReqMsg,
11295 WDI_GtkOffloadGetInfoCb wdiGtkOffloadGetInfoCb,
11296 void* pUserData
11297);
11298#endif // WLAN_FEATURE_GTK_OFFLOAD
11299
11300/**
11301 @brief WDI_featureCapsExchangeReq
11302 Post feature capability bitmap exchange event.
11303 Host will send its own capability to FW in this req and
11304 expect FW to send its capability back as a bitmap in Response
11305
11306 @param
11307
11308 wdiFeatCapsExcRspCb: callback called on getting the response.
11309 It is kept to mantain similarity between WDI reqs and if needed, can
11310 be used in future. Currently, It is set to NULL
11311
11312 pUserData: user data will be passed back with the
11313 callback
11314
11315 @see
11316 @return Result of the function call
11317*/
11318WDI_Status
11319WDI_featureCapsExchangeReq
11320(
11321 WDI_featureCapsExchangeCb wdiFeatureCapsExchangeCb,
11322 void* pUserData
11323);
11324
11325/**
Yathish9f22e662012-12-10 14:21:35 -080011326 @brief Disable Active mode offload in Host
11327
11328 @param void
11329 @see
11330 @return void
11331*/
11332void
11333WDI_disableCapablityFeature(wpt_uint8 feature_index);
11334
11335
11336/**
Jeff Johnson295189b2012-06-20 16:38:30 -070011337 @brief WDI_getHostWlanFeatCaps
11338 WDI API that returns whether the feature passed to it as enum value in
11339 "placeHolderInCapBitmap" is supported by Host or not. It uses WDI global
11340 variable storing host capability bitmap to find this. This can be used by
11341 other moduels to decide certain things like call different APIs based on
11342 whether a particular feature is supported.
11343
11344 @param
11345
11346 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap in wlan_hal_msg.h.
11347
11348 @see
11349 @return
11350 0 - if the feature is NOT supported in host
11351 any non-zero value - if the feature is SUPPORTED in host.
11352*/
11353wpt_uint8 WDI_getHostWlanFeatCaps(wpt_uint8 feat_enum_value);
11354
11355/**
11356 @brief WDI_getFwWlanFeatCaps
11357 WDI API that returns whether the feature passed to it as enum value in
11358 "placeHolderInCapBitmap" is supported by FW or not. It uses WDI global
11359 variable storing host capability bitmap to find this. This can be used by
11360 other moduels to decide certain things like call different APIs based on
11361 whether a particular feature is supported.
11362
11363 @param
11364
Jeff Johnsone7245742012-09-05 17:12:55 -070011365 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap
11366 in wlan_hal_msg.h.
Jeff Johnson295189b2012-06-20 16:38:30 -070011367
11368 @see
11369 @return
11370 0 - if the feature is NOT supported in FW
11371 any non-zero value - if the feature is SUPPORTED in FW.
11372*/
11373wpt_uint8 WDI_getFwWlanFeatCaps(wpt_uint8 feat_enum_value);
11374
11375/**
11376 @brief WDI_GetWcnssCompiledApiVersion - Function to get wcnss compiled
11377 api version
11378
11379 @param WDI_WlanVersionType: Wlan version structure
11380 @see
11381 @return none
11382*/
11383
11384void WDI_GetWcnssCompiledApiVersion
11385(
11386 WDI_WlanVersionType *pWcnssApiVersion
11387);
11388
Mohit Khanna4a70d262012-09-11 16:30:12 -070011389#ifdef WLAN_FEATURE_11AC
11390WDI_Status
11391WDI_UpdateVHTOpModeReq
11392(
11393 WDI_UpdateVHTOpMode *pData,
11394 WDI_UpdateVHTOpModeCb wdiUpdateVHTOpModeCb,
11395 void* pUserData
11396);
Jeff Johnson295189b2012-06-20 16:38:30 -070011397
Mohit Khanna4a70d262012-09-11 16:30:12 -070011398#endif
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070011399
11400/**
11401 @brief WDI_TransportChannelDebug -
11402 Display DXE Channel debugging information
11403 User may request to display DXE channel snapshot
11404 Or if host driver detects any abnormal stcuk may display
11405
Jeff Johnsonb88db982012-12-10 13:34:59 -080011406 @param displaySnapshot : Display DXE snapshot option
Mihir Shete40a55652014-03-02 14:14:47 +053011407 @param debugFlags : Enable stall detect features
11408 defined by WPAL_DeviceDebugFlags
11409 These features may effect
11410 data performance.
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070011411 @see
11412 @return none
11413*/
11414void WDI_TransportChannelDebug
11415(
11416 wpt_boolean displaySnapshot,
Mihir Shete40a55652014-03-02 14:14:47 +053011417 wpt_uint8 debugFlags
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070011418);
11419
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -070011420/**
Sravan Kumar Kairame9d186c2015-11-27 23:37:02 +053011421 @brief WDI_TransportKickDxe -
11422 Request Kick DXE when first HDD TX time out
11423 happens
11424 @param none
11425 @see
11426 @return none
11427*/
11428void WDI_TransportKickDxe(void);
11429
11430/**
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -070011431 @brief WDI_SsrTimerCB
11432 Callback function for SSR timer, if this is called then the graceful
11433 shutdown for Riva did not happen.
11434
11435 @param pUserData : user data to timer
11436
11437 @see
11438 @return none
11439*/
11440void
11441WDI_SsrTimerCB
11442(
11443 void *pUserData
11444);
11445
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -070011446/**
11447 @brief WDI_SetEnableSSR -
11448 This API is called to enable/disable SSR on WDI timeout.
11449
11450 @param enableSSR : enable/disable SSR
11451
11452 @see
11453 @return none
11454*/
11455void WDI_SetEnableSSR(wpt_boolean enableSSR);
11456
Leo Chang9056f462013-08-01 19:21:11 -070011457#ifdef FEATURE_WLAN_LPHB
11458/**
11459 @brief WDI_LPHBConfReq
11460 This API is called to config FW LPHB rule
11461
11462 @param lphbconfParam : LPHB rule should config to FW
11463 usrData : Client context
11464 lphbCfgCb : Configuration status callback
11465 @see
11466 @return SUCCESS or FAIL
11467*/
11468WDI_Status WDI_LPHBConfReq
11469(
11470 void *lphbconfParam,
11471 void *usrData,
11472 WDI_LphbCfgCb lphbCfgCb
11473);
11474#endif /* FEATURE_WLAN_LPHB */
Rajeev79dbe4c2013-10-05 11:03:42 +053011475
Dino Mycle41bdc942014-06-10 11:30:24 +053011476#ifdef WLAN_FEATURE_EXTSCAN
11477/**
11478 @brief WDI_EXTScanStartReq
11479 This API is called to send EXTScan start request to FW
11480
11481 @param pwdiEXTScanStartReqParams : pointer to the request params.
11482 wdiEXTScanStartRspCb : callback on getting the response.
11483 usrData : Client context
11484 @see
11485 @return SUCCESS or FAIL
11486*/
11487WDI_Status WDI_EXTScanStartReq
11488(
11489 WDI_EXTScanStartReqParams* pwdiEXTScanStartReqParams,
11490 WDI_EXTScanStartRspCb wdiEXTScanStartRspCb,
11491 void* pUserData
11492);
11493
11494/**
11495 @brief WDI_EXTScanStopReq
11496 This API is called to stop the EXTScan operations in the FW
11497
11498 @param pwdiEXTScanStopReqParams : pointer to the request params.
11499 wdiEXTScanStopRspCb : callback on getting the response.
11500 usrData : Client context
11501 @see
11502 @return SUCCESS or FAIL
11503*/
11504WDI_Status WDI_EXTScanStopReq
11505(
11506 WDI_EXTScanStopReqParams* pwdiEXTScanStopReqParams,
11507 WDI_EXTScanStopRspCb wdiEXTScanStopRspCb,
11508 void* pUserData
11509);
11510
11511/**
11512 @brief WDI_EXTScanGetCachedResultsReq
11513 This API is called to send get link layer stats request in FW
11514
11515 @param pwdiEXTScanGetCachedResultsReqParams : pointer to the request params.
11516 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
11517 usrData : Client context
11518 @see
11519 @return SUCCESS or FAIL
11520*/
11521WDI_Status WDI_EXTScanGetCachedResultsReq
11522(
11523 WDI_EXTScanGetCachedResultsReqParams* pwdiEXTScanGetCachedResultsReqParams,
11524 WDI_EXTScanGetCachedResultsRspCb wdiEXTScanGetCachedResultsRspCb,
11525 void* pUserData
11526);
11527
11528/**
11529 @brief WDI_EXTScanGetCapabilitiesReq
11530 This API is called to send get EXTScan capabilities from FW
11531
11532 @param pwdiEXTScanGetCachedResultsReqParams : pointer to the request params.
11533 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
11534 usrData : Client context
11535 @see
11536 @return SUCCESS or FAIL
11537*/
11538WDI_Status WDI_EXTScanGetCapabilitiesReq
11539(
11540 WDI_EXTScanGetCapabilitiesReqParams* pwdiEXTScanGetCapabilitiesReqParams,
11541 WDI_EXTScanGetCapabilitiesRspCb wdiEXTScanGetCapabilitiesRspCb,
11542 void* pUserData
11543);
11544
11545/**
11546 @brief WDI_EXTScanSetBSSIDHotlistReq
11547 This API is called to send Set BSSID Hotlist Request FW
11548
11549 @param pwdiEXTScanSetBssidHotlistReqParams : pointer to the request params.
11550 wdiEXTScanSetBSSIDHotlistRspCb : callback on getting the response.
11551 usrData : Client context
11552 @see
11553 @return SUCCESS or FAIL
11554*/
11555WDI_Status WDI_EXTScanSetBSSIDHotlistReq
11556(
11557 WDI_EXTScanSetBSSIDHotlistReqParams* pwdiEXTScanSetBSSIDHotlistReqParams,
11558 WDI_EXTScanSetBSSIDHotlistRspCb wdiEXTScanSetBSSIDHotlistRspCb,
11559 void* pUserData
11560);
11561
11562/**
11563 @brief WDI_EXTScanResetBSSIDHotlistReq
11564 This API is called to send Reset BSSID Hotlist Request FW
11565
11566 @param pwdiEXTScanResetBssidHotlistReqParams : pointer to the request params.
11567 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
11568 usrData : Client context
11569 @see
11570 @return SUCCESS or FAIL
11571*/
11572WDI_Status WDI_EXTScanResetBSSIDHotlistReq
11573(
11574 WDI_EXTScanResetBSSIDHotlistReqParams* pwdiEXTScanResetBSSIDHotlistReqParams,
11575 WDI_EXTScanResetBSSIDHotlistRspCb wdiEXTScanResetBSSIDHotlistRspCb,
11576 void* pUserData
11577);
Padma, Santhosh Kumar9acee012015-08-21 19:58:01 +053011578
11579/**
11580 @brief WDI_EXTScanSetSSIDHotlistReq
11581 This API is called to send Set SSID Hotlist Request FW
11582
11583 @param pwdiEXTScanSetBssidHotlistReqParams : pointer to the request params.
11584 wdiEXTScanSetBSSIDHotlistRspCb : callback on getting the response.
11585 usrData : Client context
11586 @see
11587 @return SUCCESS or FAIL
11588*/
11589WDI_Status WDI_EXTScanSetSSIDHotlistReq
11590(
11591 WDI_EXTScanSetSSIDHotlistReqParams* pwdiEXTScanSetSSIDHotlistReqParams,
11592 WDI_EXTScanSetSSIDHotlistRspCb wdiEXTScanSetSSIDHotlistRspCb,
11593 void* pUserData
11594);
11595
11596/**
11597 @brief WDI_EXTScanResetSSIDHotlistReq
11598 This API is called to send Reset SSID Hotlist Request FW
11599
11600 @param pwdiEXTScanResetSsidHotlistReqParams : pointer to the request params.
11601 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
11602 usrData : Client context
11603 @see
11604 @return SUCCESS or FAIL
11605*/
11606WDI_Status WDI_EXTScanResetSSIDHotlistReq
11607(
11608 WDI_EXTScanResetSSIDHotlistReqParams* pwdiEXTScanResetSSIDHotlistReqParams,
11609 WDI_EXTScanResetSSIDHotlistRspCb wdiEXTScanResetSSIDHotlistRspCb,
11610 void* pUserData
11611);
11612
Padma, Santhosh Kumarc1f7f052015-08-26 12:29:01 +053011613/**
11614 @brief WDI_HighPriorityDataInfoInd
11615
11616 @param pHighPriorityDataInfoIndParams: Req parameter for the FW
11617
11618 @return SUCCESS or FAIL
11619*/
11620WDI_Status
11621WDI_HighPriorityDataInfoInd
11622(
11623 WDI_HighPriorityDataInfoIndParams* pHighPriorityDataInfoIndParams
11624);
11625
Dino Mycle41bdc942014-06-10 11:30:24 +053011626#endif /* WLAN_FEATURE_EXTSCAN */
11627
Sunil Duttbd736ed2014-05-26 21:19:41 +053011628#ifdef WLAN_FEATURE_LINK_LAYER_STATS
11629/**
11630 @brief WDI_LLStatsSetReq
11631 This API is called to send set link layer stats request to FW
11632
11633 @param pwdiLLStatsSetReqParams : pointer to set link layer stats params
11634 wdiLLStatsSetRspCb : set link layer stats response callback
11635 usrData : Client context
11636 @see
11637 @return SUCCESS or FAIL
11638*/
11639WDI_Status WDI_LLStatsSetReq
11640(
11641 WDI_LLStatsSetReqType* pwdiLLStatsSetReqParams,
11642 WDI_LLStatsSetRspCb wdiLLStatsSetRspCb,
11643 void* pUserData
11644);
11645
11646/**
11647 @brief WDI_LLStatsGetReq
11648 This API is called to send get link layer stats request in FW
11649
11650 @param pwdiLLStatsGetParams : pointer to get link layer stats params
11651 wdiLLStatsGetRspCb : get link layer stats response callback
11652 usrData : Client context
11653 @see
11654 @return SUCCESS or FAIL
11655*/
11656WDI_Status WDI_LLStatsGetReq
11657(
11658 WDI_LLStatsGetReqType* pwdiLLStatsGetReqParams,
11659 WDI_LLStatsGetRspCb wdiLLStatsGetRspCb,
11660 void* pUserData
11661);
11662
11663/**
11664 @brief WDI_LLStatsClearReq
11665 This API is called to set clear link layer stats request in FW
11666
11667 @param pwdiLLStatsClearReqParams : pointer to clear link layer stats params
11668 iwdiLLStatsClearRspCb : clear link layer stats response callback
11669 usrData : Client context
11670 @see
11671 @return SUCCESS or FAIL
11672*/
11673WDI_Status WDI_LLStatsClearReq
11674(
11675 WDI_LLStatsClearReqType* pwdiLLStatsClearReqParams,
11676 WDI_LLStatsClearRspCb wdiLLStatsClearRspCb,
11677 void* pUserData
11678);
11679#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
11680
Abhishek Singh85b74712014-10-08 11:38:19 +053011681WDI_Status WDI_FWStatsGetReq
11682(
11683 void* pwdiFWStatsGetReqParams,
11684 WDI_FWStatsGetRspCb wdiFWStatsGetRspCb,
11685 wpt_uint32 pUserData
11686);
11687
Katya Nigamf0511f62015-05-05 16:40:57 +053011688WDI_Status WDI_MonStartReq
11689(
11690 WDI_MonStartReqType* pwdiMonStartReqParams,
Hanumantha Reddy Pothula91cdd7f2015-09-03 21:25:16 +053011691 WDI_MonModeRspCb wdiMonModeRspCb,
Katya Nigamf0511f62015-05-05 16:40:57 +053011692 void* pUserData
11693);
11694
11695WDI_Status WDI_MonStopReq
11696(
Hanumantha Reddy Pothula91cdd7f2015-09-03 21:25:16 +053011697 WDI_MonModeRspCb wdiMonModeRspCb,
Katya Nigamf0511f62015-05-05 16:40:57 +053011698 void* pUserData
11699);
11700
Rajeev79dbe4c2013-10-05 11:03:42 +053011701#ifdef FEATURE_WLAN_BATCH_SCAN
11702/**
11703 @brief WDI_SetBatchScanReq
11704 This API is called to set batch scan request in FW
11705
11706 @param pBatchScanReqParam : pointer to set batch scan re param
11707 usrData : Client context
11708 setBatchScanRspCb : set batch scan resp callback
11709 @see
11710 @return SUCCESS or FAIL
11711*/
11712WDI_Status WDI_SetBatchScanReq
11713(
11714 void *pBatchScanReqParam,
11715 void *usrData,
11716 WDI_SetBatchScanCb setBatchScanRspCb
11717);
11718
11719/**
11720 @brief WDI_StopBatchScanInd
11721
11722 @param none
11723
11724 @see
11725
11726 @return Status of the request
11727*/
11728WDI_Status
11729WDI_StopBatchScanInd(WDI_StopBatchScanIndType *pWdiReq);
11730
11731/**
11732 @brief WDI_TriggerBatchScanResultInd
11733 This API is called to pull batch scan result from FW
11734
11735 @param pBatchScanReqParam : pointer to trigger batch scan ind param
11736 usrData : Client context
11737 setBatchScanRspCb : get batch scan resp callback
11738 @see
11739 @return SUCCESS or FAIL
11740*/
11741WDI_Status
11742WDI_TriggerBatchScanResultInd(WDI_TriggerBatchScanResultIndType *pWdiReq);
11743
11744
11745#endif /*FEATURE_WLAN_BATCH_SCAN*/
11746
Sandeep Puligilla8b8b74b2014-02-10 16:39:05 +053011747/**
11748 @brief wdi_HT40OBSSScanInd
11749 This API is called to start OBSS scan
11750
11751 @param pWdiReq : pointer to get ind param
11752 @see
11753 @return SUCCESS or FAIL
11754*/
11755
11756WDI_Status WDI_HT40OBSSScanInd(WDI_HT40ObssScanParamsType *pWdiReq);
11757
11758/**
11759 @brief wdi_HT40OBSSStopScanInd
11760 This API is called to stop OBSS scan
11761
11762 @param bssIdx : bssIdx to stop
11763 @see
11764 @return SUCCESS or FAIL
11765*/
11766
11767WDI_Status WDI_HT40OBSSStopScanInd(wpt_uint8 bssIdx);
11768
c_hpothu92367912014-05-01 15:18:17 +053011769
11770WDI_Status WDI_GetBcnMissRate( void *pUserData,
11771 WDI_GetBcnMissRateCb wdiGetBcnMissRateCb,
11772 wpt_uint8 *bssid
11773 );
Siddharth Bhal171788a2014-09-29 21:02:40 +053011774WDI_Status
11775WDI_SetSpoofMacAddrReq
11776(
11777WDI_SpoofMacAddrInfoType *pWdiReq,
11778 WDI_SetSpoofMacAddrRspCb setSpoofMacAddrRspCb,
11779 void* pUserData
11780);
c_hpothu92367912014-05-01 15:18:17 +053011781
Srinivas Dasari4dae48f2014-11-26 21:14:16 +053011782WDI_Status
11783WDI_EncryptMsgReq(void* pwdiEncryptMsgParams,
11784 WDI_EncryptMsgRspCb wdiEncryptMsgCbRsp,
11785 void* pUserData
11786 );
Srinivas Dasari32a79262015-02-19 13:04:49 +053011787
c_manjeecfd1efb2015-09-25 19:32:34 +053011788WDI_Status
11789WDI_FwrMemDumpReq
11790
11791(
11792 WDI_FwrMemDumpReqType *pwdiFwrMemDumpReqInfo,
11793 WDI_FwrMemDumpCb wdiFwrMemDumpRspCb,
11794 void* pUserData
11795);
11796
11797
Srinivas Dasari32a79262015-02-19 13:04:49 +053011798/**
11799 @brief WDI_NanRequest
11800 NAN request
11801
11802 @param pwdiNanRequest: data
11803
11804 pwdiNanCb: callback
11805
11806 usrData: user data will be passed back with the
11807 callback
11808
11809 @return Result of the function call
11810*/
11811WDI_Status
11812WDI_NanRequest
11813(
11814 WDI_NanRequestType *pwdiNanRequest,
11815 void *usrData
11816);
11817
Abhishek Singh41988ba2015-05-25 19:42:29 +053011818/**
11819 @brief WDI_SetRtsCtsHTVhtInd
11820 Set RTS/CTS indication for diff modes.
11821
11822 @param rtsCtsVal: Bit mask value to enable RTS/CTS for different modes
11823
11824 @return Result of the function call
11825*/
11826
11827WDI_Status
11828WDI_SetRtsCtsHTVhtInd
11829(
11830 wpt_uint32 rtsCtsVal
11831);
Srinivas Dasari32a79262015-02-19 13:04:49 +053011832
Mihir Shete5affadc2015-05-29 20:54:57 +053011833WDI_Status
11834WDI_FWLoggingDXEdoneInd
11835(
Hanumantha Reddy Pothulae00a7e22015-09-15 20:11:30 +053011836 wpt_uint32 logType
Mihir Shete5affadc2015-05-29 20:54:57 +053011837);
Srinivas Dasari32a79262015-02-19 13:04:49 +053011838
Mahesh A Saptasagarbeca12c2015-09-07 16:21:06 +053011839/**
11840 @brief WDI_EnableDisableCAEventInd
11841 Enable/Disable Chan Avoidance indication
11842
11843 @param val: Enable/Disable Chan Avoidance indication
11844
11845 @return Result of the function call
11846*/
11847
11848WDI_Status
11849WDI_EnableDisableCAEventInd
11850(
11851wpt_uint32 val
11852);
11853
Padma, Santhosh Kumar2ccac212015-10-20 17:27:27 +053011854#ifdef FEATURE_OEM_DATA_SUPPORT
11855
11856/**
11857 @brief WDI_HighPriorityDataInfoInd
11858
11859 @param pHighPriorityDataInfoIndParams: Req parameter for the FW
11860
11861 @return SUCCESS or FAIL
11862*/
11863WDI_Status
11864WDI_StartOemDataReqIndNew
11865(
11866 WDI_OemDataReqNewConfig *pOemDataReqNewConfig
11867);
11868#endif
11869
Jeff Johnson295189b2012-06-20 16:38:30 -070011870#ifdef __cplusplus
11871 }
11872#endif
11873
Arun Khandavalli7eeb1592015-10-19 21:36:57 +053011874/**
11875 @brief WDI_WifiConfigSetReq
11876 This API is called to send WifiConfig request to FW
11877
11878 @param pwdiWifConfigSetReqParams : pointer to wificonfig params
11879 wdiLLStatsSetRspCb : set wificonfig response callback
11880 usrData : Client context
11881 @see
11882 @return SUCCESS or FAIL
11883*/
11884WDI_Status
11885WDI_WifiConfigSetReq
11886 (WDI_WifiConfigSetReqType* pwdiWifConfigSetReqParams,
11887 WDI_WifiConfigSetRspCb wdiWifiConfigSetRspCb,
11888 void* pUserData);
11889
Mahesh A Saptasagarcfc65ae2015-12-22 15:06:10 +053011890/**
11891 @brief WDI_GetCurrentAntennaIndex
11892 This API is called to send getCurretAntennaIndex request to FW
11893
11894 @param pUserData: pointer to request params
11895 wdiLLStatsSetRspCb : set wificonfig response callback
11896 reserved: request parameter
11897 @see
11898 @return SUCCESS or FAIL
11899*/
11900WDI_Status
11901WDI_GetCurrentAntennaIndex
11902(
11903 void *pUserData,
11904 WDI_AntennaDivSelRspCb wdiAntennaDivSelRspCb,
11905 wpt_uint32 reserved
11906);
11907
Mahesh A Saptasagar7d432952016-02-09 14:01:03 +053011908/**
11909 @brief WDI_SetBcnMissPenaltyCount
11910 This API is called to send modified roam parameters to FW
Mahesh A Saptasagarcfc65ae2015-12-22 15:06:10 +053011911
Mahesh A Saptasagar7d432952016-02-09 14:01:03 +053011912 @param params: pointer to request params
11913 @see
11914 @return SUCCESS or FAIL
11915*/
11916WDI_Status
11917WDI_SetBcnMissPenaltyCount
11918(
11919 WDI_ModifyRoamParamsReqType *params
11920);
Agrawal Ashish0552be02016-03-02 18:03:43 +053011921
11922void WDI_SetMgmtPktViaWQ5(wpt_boolean sendMgmtPktViaWQ5);
Jeff Johnson295189b2012-06-20 16:38:30 -070011923#endif /* #ifndef WLAN_QCT_WDI_H */