blob: 952d920ca8f69b42ef02a1e9ecab5c67dfa1cd1a [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,
Abhishek Singh00b71972016-01-07 10:51:04 +0530398#ifdef WLAN_FEATURE_RMC
399 /* RMC_Ruler_Pick_New Indication */
400 WDI_RMC_RULER_PICK_NEW,
401#endif
Yue Mab9c86f42013-08-14 15:59:08 -0700402
Rajeev79dbe4c2013-10-05 11:03:42 +0530403#ifdef FEATURE_WLAN_BATCH_SCAN
404 /*Batch scan result indication from FW*/
405 WDI_BATCH_SCAN_RESULT_IND,
406#endif
407
Abhishek Singh00b71972016-01-07 10:51:04 +0530408#ifdef WLAN_FEATURE_RMC
409 WDI_TX_FAIL_IND,
410#endif
411
Leo Chang0b0e45a2013-12-15 15:18:55 -0800412#ifdef FEATURE_WLAN_CH_AVOID
413 WDI_CH_AVOID_IND,
414#endif /* FEATURE_WLAN_CH_AVOID */
Sunil Duttbd736ed2014-05-26 21:19:41 +0530415#ifdef WLAN_FEATURE_LINK_LAYER_STATS
416 WDI_LL_STATS_RESULTS_IND,
417#endif
Dino Mycle41bdc942014-06-10 11:30:24 +0530418#ifdef WLAN_FEATURE_EXTSCAN
419 WDI_EXTSCAN_PROGRESS_IND,
420 WDI_EXTSCAN_SCAN_AVAILABLE_IND,
421 WDI_EXTSCAN_SCAN_RESULT_IND,
422 WDI_EXTSCAN_GET_CAPABILITIES_IND,
423 WDI_EXTSCAN_BSSID_HOTLIST_RESULT_IND,
Padma, Santhosh Kumar9acee012015-08-21 19:58:01 +0530424 WDI_EXTSCAN_SSID_HOTLIST_RESULT_IND,
Dino Mycle41bdc942014-06-10 11:30:24 +0530425#endif
Abhishek Singh66c16762014-08-14 19:13:19 +0530426 /*Delete BA Ind*/
427 WDI_DEL_BA_IND,
Srinivas Dasari32a79262015-02-19 13:04:49 +0530428 WDI_NAN_EVENT_IND,
Sachin Ahuja3d47fcd2015-08-28 16:02:06 +0530429 WDI_LOST_LINK_PARAMS_IND,
Gupta, Kapil7c34b322015-09-30 13:12:35 +0530430 WDI_RSSI_BREACHED_IND,
Padma, Santhosh Kumar2ccac212015-10-20 17:27:27 +0530431#ifdef FEATURE_OEM_DATA_SUPPORT
432 WDI_START_OEM_DATA_RSP_IND_NEW,
433#endif
Jeff Johnson295189b2012-06-20 16:38:30 -0700434 WDI_MAX_IND
435}WDI_LowLevelIndEnumType;
436
437
438/*---------------------------------------------------------------------------
439 WDI_LowRSSIThIndType
440---------------------------------------------------------------------------*/
441typedef struct
442{
443 /*Positive crossing of Rssi Thresh1*/
444 wpt_uint32 bRssiThres1PosCross : 1;
445 /*Negative crossing of Rssi Thresh1*/
446 wpt_uint32 bRssiThres1NegCross : 1;
447 /*Positive crossing of Rssi Thresh2*/
448 wpt_uint32 bRssiThres2PosCross : 1;
449 /*Negative crossing of Rssi Thresh2*/
450 wpt_uint32 bRssiThres2NegCross : 1;
451 /*Positive crossing of Rssi Thresh3*/
452 wpt_uint32 bRssiThres3PosCross : 1;
453 /*Negative crossing of Rssi Thresh3*/
454 wpt_uint32 bRssiThres3NegCross : 1;
455
Srinivasdaaec712012-12-12 15:59:44 -0800456 wpt_uint32 avgRssi : 8;
457 wpt_uint32 bReserved : 18;
Jeff Johnson295189b2012-06-20 16:38:30 -0700458
459}WDI_LowRSSIThIndType;
460
461
462/*---------------------------------------------------------------------------
463 WDI_UnkAddr2FrmRxIndType
464---------------------------------------------------------------------------*/
465typedef struct
466{
467 /*Rx Bd data of the unknown received addr2 frame.*/
468 void* bufRxBd;
469
470 /*Buffer Length*/
471 wpt_uint16 usBufLen;
472}WDI_UnkAddr2FrmRxIndType;
473
474/*---------------------------------------------------------------------------
475 WDI_DeleteSTAIndType
476---------------------------------------------------------------------------*/
477typedef struct
478{
479 /*ASSOC ID, as assigned by UMAC*/
480 wpt_uint16 usAssocId;
481
482 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
483 wpt_uint8 ucSTAIdx;
484
485 /*BSSID of STA*/
486 wpt_macAddr macBSSID;
487
488 /*MAC ADDR of STA*/
489 wpt_macAddr macADDR2;
490
491 /* To unify the keepalive / unknown A2 / tim-based disa*/
492 wpt_uint16 wptReasonCode;
493
494}WDI_DeleteSTAIndType;
495
496/*---------------------------------------------------------------------------
497 WDI_MicFailureIndType
498---------------------------------------------------------------------------*/
499typedef struct
500{
501 /*current BSSID*/
502 wpt_macAddr bssId;
503
504 /*Source mac address*/
505 wpt_macAddr macSrcAddr;
506
507 /*Transmitter mac address*/
508 wpt_macAddr macTaAddr;
509
510 /*Destination mac address*/
511 wpt_macAddr macDstAddr;
512
513 /*Multicast flag*/
514 wpt_uint8 ucMulticast;
515
516 /*First byte of IV*/
517 wpt_uint8 ucIV1;
518
519 /*Key Id*/
520 wpt_uint8 keyId;
521
522 /*Sequence Number*/
523 wpt_uint8 TSC[WDI_CIPHER_SEQ_CTR_SIZE];
524
525 /*receive address */
526 wpt_macAddr macRxAddr;
527}WDI_MicFailureIndType;
528
529/*---------------------------------------------------------------------------
530 WDI_CoexIndType
531---------------------------------------------------------------------------*/
532typedef struct
533{
534 wpt_uint32 coexIndType;
535 wpt_uint32 coexIndData[WDI_COEX_IND_DATA_SIZE];
536} WDI_CoexIndType;
537
538/*---------------------------------------------------------------------------
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +0530539 WDI_DHCPInd
540---------------------------------------------------------------------------*/
541
542typedef struct
543{
544 wpt_uint8 device_mode;
545 wpt_uint8 macAddr[WDI_MAC_ADDR_LEN];
546}WDI_DHCPInd;
547
Abhishek Singh00b71972016-01-07 10:51:04 +0530548#ifdef WLAN_FEATURE_RMC
549typedef struct
550{
551 /*Request status callback offered by UMAC - it is called if the current
552 req has returned PENDING as status; it delivers the status of sending
553 the message over the BUS */
554 WDI_ReqStatusCb wdiReqStatusCB;
555
556 /*The user data passed in by UMAC, it will be sent back when the above
557 function pointer will be called */
558 void* pUserData;
559
560 wpt_uint8 tx_fail_count;
561}WDI_TXFailMonitorInd;
562#endif /* WLAN_FEATURE_RMC */
563
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +0530564/*---------------------------------------------------------------------------
565
Jeff Johnson295189b2012-06-20 16:38:30 -0700566 WDI_MacSSid
567---------------------------------------------------------------------------*/
568typedef struct
569{
570 wpt_uint8 ucLength;
571 wpt_uint8 sSSID[WDI_MAX_SSID_SIZE];
572} WDI_MacSSid;
573
574#ifdef FEATURE_WLAN_SCAN_PNO
575/*---------------------------------------------------------------------------
576 WDI_PrefNetworkFoundInd
577---------------------------------------------------------------------------*/
578typedef struct
579{
580 /* Network that was found with the highest RSSI*/
Srikant Kuppa066904f2013-05-07 13:56:02 -0700581 WDI_MacSSid ssId;
Jeff Johnson295189b2012-06-20 16:38:30 -0700582 /* Indicates the RSSI */
Srikant Kuppa066904f2013-05-07 13:56:02 -0700583 wpt_uint8 rssi;
584 wpt_uint16 frameLength;
585 wpt_uint8 *pData;
Jeff Johnson295189b2012-06-20 16:38:30 -0700586} WDI_PrefNetworkFoundInd;
587#endif // FEATURE_WLAN_SCAN_PNO
588
Jeff Johnson295189b2012-06-20 16:38:30 -0700589/*---------------------------------------------------------------------------
590 *WDI_P2pNoaAttrIndType
591 *-------------------------------------------------------------------------*/
Jeff Johnson295189b2012-06-20 16:38:30 -0700592typedef struct
593{
594 wpt_uint8 ucIndex ;
595 wpt_uint8 ucOppPsFlag ;
596 wpt_uint16 usCtWin ;
597
598 wpt_uint16 usNoa1IntervalCnt;
599 wpt_uint16 usRsvd1 ;
600 wpt_uint32 uslNoa1Duration;
601 wpt_uint32 uslNoa1Interval;
602 wpt_uint32 uslNoa1StartTime;
603
604 wpt_uint16 usNoa2IntervalCnt;
605 wpt_uint16 usRsvd2;
606 wpt_uint32 uslNoa2Duration;
607 wpt_uint32 uslNoa2Interval;
608 wpt_uint32 uslNoa2StartTime;
609
610 wpt_uint32 status;
611}WDI_P2pNoaAttrIndType;
Viral Modid86bde22012-12-10 13:09:21 -0800612
613/*---------------------------------------------------------------------------
614 *WDI_P2pNoaStartIndType
615 *-------------------------------------------------------------------------*/
616typedef struct
617{
618 wpt_uint32 status;
619 wpt_uint32 bssIdx;
620}WDI_P2pNoaStartIndType;
621
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530622/*---------------------------------------------------------------------------
623 *WDI_TdlsIndType
624 *-------------------------------------------------------------------------*/
625typedef struct
626{
627 wpt_uint16 status;
628 wpt_uint16 assocId;
629 wpt_uint16 staIdx;
630 wpt_uint16 reasonCode;
631}WDI_TdlsIndType;
Jeff Johnson295189b2012-06-20 16:38:30 -0700632
633#ifdef WLAN_WAKEUP_EVENTS
634/*---------------------------------------------------------------------------
635 WDI_WakeReasonIndType
636---------------------------------------------------------------------------*/
637typedef struct
638{
639 wpt_uint32 ulReason; /* see tWakeReasonType */
640 wpt_uint32 ulReasonArg; /* argument specific to the reason type */
641 wpt_uint32 ulStoredDataLen; /* length of optional data stored in this message, in case
642 HAL truncates the data (i.e. data packets) this length
643 will be less than the actual length */
644 wpt_uint32 ulActualDataLen; /* actual length of data */
645 wpt_uint8 aDataStart[1]; /* variable length start of data (length == storedDataLen)
646 see specific wake type */
647} WDI_WakeReasonIndType;
648#endif // WLAN_WAKEUP_EVENTS
649
Srinivas Dasari32a79262015-02-19 13:04:49 +0530650typedef struct
651{
652 wpt_uint16 event_data_len;
653 wpt_uint8* event_data;
654} WDI_NanEventType;
655
656
Jeff Johnson295189b2012-06-20 16:38:30 -0700657/*---------------------------------------------------------------------------
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800658 WDI_MissedBeaconIndType
659-----------------------------------------------------------------------------*/
660typedef struct
661{
662 wpt_uint8 bssIdx; /*bssidx on which beacon is missed*/
663} WDI_MissedBeaconIndType;
664
Leo Chang9056f462013-08-01 19:21:11 -0700665#ifdef FEATURE_WLAN_LPHB
666/*---------------------------------------------------------------------------
667 WDI_LPHBTimeoutIndData
668-----------------------------------------------------------------------------*/
669typedef struct
670{
671 wpt_uint8 bssIdx;
672 wpt_uint8 sessionIdx;
673 wpt_uint8 protocolType; /*TCP or UDP*/
674 wpt_uint8 eventReason;
675} WDI_LPHBTimeoutIndData;
676#endif /* FEATURE_WLAN_LPHB */
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800677
Yue Mab9c86f42013-08-14 15:59:08 -0700678/*-----------------------------------------------------------------------------
679WDI_PeriodicTxPtrnFwIndType
680-----------------------------------------------------------------------------*/
681typedef struct
682{
683 wpt_uint8 bssIdx;
684 wpt_uint32 selfStaIdx;
685 wpt_uint32 status;
686 wpt_uint32 patternIdBitmap;
687} WDI_PeriodicTxPtrnFwIndType;
688
Rajeev79dbe4c2013-10-05 11:03:42 +0530689#ifdef FEATURE_WLAN_BATCH_SCAN
690/*---------------------------------------------------------------------------
691 WDI_SetBatchScanReqType
692---------------------------------------------------------------------------*/
693typedef struct
694{
695 wpt_uint32 scanFrequency; /* how frequent to do scan default 30Sec*/
696 wpt_uint32 numberOfScansToBatch; /* number of scans to batch */
697 wpt_uint32 bestNetwork; /* best networks in terms of rssi */
698 wpt_uint8 rfBand; /* band to scan :
699 0 ->both Band, 1->2.4Ghz Only
700 and 2-> 5GHz Only */
701 wpt_uint32 rtt; /* set if required to do RTT it is not
702 supported in current version */
703}WDI_SetBatchScanReqType;
704
705/*---------------------------------------------------------------------------
706 WDI_SetBatchScanRspType
707---------------------------------------------------------------------------*/
708typedef struct
709{
710 /*max number of scans which FW can cache*/
711 wpt_uint32 nScansToBatch;
712}WDI_SetBatchScanRspType;
713
714/*---------------------------------------------------------------------------
715 WDI_TriggerBatchScanResultIndType
716---------------------------------------------------------------------------*/
717typedef struct
718{
719 wpt_uint32 param;
720}WDI_TriggerBatchScanResultIndType;
721
722/*---------------------------------------------------------------------------
723 WDI_StopBatchScanIndType
724---------------------------------------------------------------------------*/
725typedef struct
726{
727 /*max number of scans which FW can cache*/
728 wpt_uint32 param;
729}WDI_StopBatchScanIndType;
730
731
732/*---------------------------------------------------------------------------
733 * WDI_BatchScanResultIndType
734 *--------------------------------------------------------------------------*/
735typedef struct
736{
737 wpt_uint32 bssid[6]; /* BSSID */
738 wpt_uint32 ssid[32]; /* SSID */
739 wpt_uint32 ch; /* Channel */
740 wpt_uint32 rssi; /* RSSI or Level */
741 /* Timestamp when Network was found. Used to calculate age based on
742 timestamp in GET_RSP msg header */
743 wpt_uint32 timestamp;
744} tWDIBatchScanNetworkInfo, *tpWDIBatchScanNetworkInfo;
745
746typedef struct
747{
748 wpt_uint32 scanId; /*Scan List ID*/
749 /*No of AP in a Scan Result. Should be same as bestNetwork in SET_REQ msg*/
750 wpt_uint32 numNetworksInScanList;
751 /*Variable data ptr: Number of AP in Scan List*/
752 wpt_uint32 scanList[1];
753} tWDIBatchScanList, *tpWDIBatchScanList;
754
755typedef struct
756{
757 wpt_uint32 timestamp;
758 wpt_uint32 numScanLists;
759 wpt_boolean isLastResult;
760 /* Variable Data ptr: Number of Scan Lists*/
761 wpt_uint32 scanResults[1];
762} tWDIBatchScanResultParam, *tpWDIBatchScanResultParam;
763
764#endif
765
Abhishek Singh00b71972016-01-07 10:51:04 +0530766#ifdef WLAN_FEATURE_RMC
767typedef struct
768{
769 wpt_uint8 seqNo;
770 wpt_uint8 macAddr[WDI_MAC_ADDR_LEN];
771} WDI_TXFailIndType;
772#endif /* WLAN_FEATURE_RMC */
Rajeev79dbe4c2013-10-05 11:03:42 +0530773
Sachin Ahuja3d47fcd2015-08-28 16:02:06 +0530774typedef struct
775{
776 wpt_uint8 bssIdx;
777 wpt_uint8 rssi;
778 wpt_uint8 selfMacAddr[WDI_MAC_ADDR_LEN];
779 wpt_uint32 linkFlCnt;
780 wpt_uint32 linkFlTx;
781 wpt_uint32 lastDataRate;
782 wpt_uint32 rsvd1;
783 wpt_uint32 rsvd2;
784
785}WDI_LostLinkParamsIndType;
786
Gupta, Kapil7c34b322015-09-30 13:12:35 +0530787typedef struct
788{
789 wpt_uint32 request_id;
790 wpt_uint8 bssId[WDI_MAC_ADDR_LEN];
791 wpt_int8 rssi;
792}WDI_RssiBreachedIndType;
793
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800794/*---------------------------------------------------------------------------
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700795 WDI_IbssPeerInactivityIndType
796-----------------------------------------------------------------------------*/
797typedef struct
798{
799 wpt_uint8 bssIdx;
800 wpt_uint8 staIdx;
801 wpt_macAddr staMacAddr;
802}WDI_IbssPeerInactivityIndType;
803
Abhishek Singh00b71972016-01-07 10:51:04 +0530804#ifdef WLAN_FEATURE_RMC
805/*---------------------------------------------------------------------------
806 WDI_RmcRulerReqParams
807-----------------------------------------------------------------------------*/
808typedef struct
809{
810 wpt_uint8 cmd;
811
812 /* MAC address of MCAST Transmitter (source) */
813 wpt_macAddr mcastTransmitter;
814
815 /* MAC Address of Multicast Group (01-00-5E-xx-xx-xx) */
816 wpt_macAddr mcastGroup;
817
818 /* List of candidates for cmd = WLAN_HAL_SUGGEST_RULER*/
819 wpt_macAddr blacklist[8]; /* HAL_NUM_MAX_RULERS */
820
821 /*
822 * Request status callback offered by UMAC - it is called if the current
823 * req has returned PENDING as status; it delivers the status of sending
824 * the message over the BUS
825 */
826 WDI_ReqStatusCb wdiReqStatusCB;
827
828} WDI_RmcRulerReqParams;
829
830/*---------------------------------------------------------------------------
831 WDI_RmcUpdateIndParams
832-----------------------------------------------------------------------------*/
833typedef struct
834{
835 wpt_uint8 indication; /* tRmcUpdateIndType */
836
837 wpt_uint8 role;
838
839 /* MAC address of MCAST Transmitter (source) */
840 wpt_macAddr mcastTransmitter;
841
842 /* MAC Address of Multicast Group (01-00-5E-xx-xx-xx) */
843 wpt_macAddr mcastGroup;
844
845 wpt_macAddr mcastRuler;
846
847 wpt_macAddr ruler[16];
848
849 /*
850 * Request status callback offered by UMAC - it is called if the current
851 * req has returned PENDING as status; it delivers the status of sending
852 * the message over the BUS
853 */
854 WDI_ReqStatusCb wdiReqStatusCB;
855
856 /*
857 * The user data passed in by UMAC, it will be sent back when the above
858 * function pointer will be called
859 */
860 void *pUserData;
861
862} WDI_RmcUpdateIndParams;
863
864typedef enum
865{
866 eWDI_SUGGEST_RULER_CMD = 0,
867 eWDI_BECOME_RULER_CMD = 1,
868} eWDI_RulerRspCmdType;
869
870/*---------------------------------------------------------------------------
871 WDI_RmcRspParamsType
872-----------------------------------------------------------------------------*/
873typedef struct
874{
875 wpt_uint8 status; /* success or failure */
876
877 /* Command Type */
878 eWDI_RulerRspCmdType cmd;
879
880 /* MAC address of MCAST Transmitter (source) */
881 wpt_macAddr mcastTransmitter;
882
883 /* MAC Address of Multicast Group (01-00-5E-xx-xx-xx) */
884 wpt_macAddr mcastGroup;
885
886 wpt_macAddr ruler[8];
887} WDI_RmcRspParamsType;
888
889/*---------------------------------------------------------------------------
890 WDI_RmcPickNewRuler
891-----------------------------------------------------------------------------*/
892typedef struct
893{
894 wpt_uint8 indication; /* pick_new */
895
896 wpt_uint8 role;
897
898 /* MAC address of MCAST Transmitter (source) */
899 wpt_macAddr mcastTransmitter;
900
901 /* MAC Address of Multicast Group (01-00-5E-xx-xx-xx) */
902 wpt_macAddr mcastGroup;
903
904 wpt_macAddr mcastRuler;
905
906 wpt_macAddr ruler[16];
907} WDI_RmcPickNewRuler;
908#endif
909
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700910/*---------------------------------------------------------------------------
Chittajit Mitraf5413a42013-10-18 14:20:08 -0700911 WDI_TxRateFlags
912-----------------------------------------------------------------------------*/
913typedef enum
914{
915 WDI_TX_RATE_LEGACY = 0x1, /* Legacy rates */
916 WDI_TX_RATE_HT20 = 0x2, /* HT20 rates */
917 WDI_TX_RATE_HT40 = 0x4, /* HT40 rates */
918 WDI_TX_RATE_SGI = 0x8, /* Rate with Short guard interval */
919 WDI_TX_RATE_LGI = 0x10, /* Rate with Long guard interval */
920 WDI_TX_RATE_VHT20 = 0x20, /* VHT 20 rates */
921 WDI_TX_RATE_VHT40 = 0x40, /* VHT 20 rates */
922 WDI_TX_RATE_VHT80 = 0x80, /* VHT 20 rates */
923 WDI_TX_RATE_VIRT = 0x100, /* Virtual Rate */
924} WDI_TxRateFlags;
925
926/*---------------------------------------------------------------------------
927 WDI_RateUpdateIndParams
928-----------------------------------------------------------------------------*/
929typedef struct
930{
931 /* 0 implies RA, positive value implies fixed rate, -1 implies ignore this
932 * param ucastDataRate can be used to control RA behavior of unicast data to
933 */
934 wpt_int32 ucastDataRate;
935
936 /* TX flag to differentiate between HT20, HT40 etc */
937 WDI_TxRateFlags ucastDataRateTxFlag;
938
939 /* BSSID - Optional. 00-00-00-00-00-00 implies apply to all BCAST STAs */
940 wpt_macAddr bssid;
941
942 /*
943 * 0 implies MCAST RA, positive value implies fixed rate,
944 * -1 implies ignore this param
945 */
Abhishek Singh00b71972016-01-07 10:51:04 +0530946 wpt_int32 rmcDataRate; //unit Mbpsx10
Chittajit Mitraf5413a42013-10-18 14:20:08 -0700947
948 /* TX flag to differentiate between HT20, HT40 etc */
Abhishek Singh00b71972016-01-07 10:51:04 +0530949 WDI_TxRateFlags rmcDataRateTxFlag;
Chittajit Mitraf5413a42013-10-18 14:20:08 -0700950
951 /*
952 * MCAST(or BCAST) fixed data rate in 2.4 GHz, unit Mbpsx10,
953 * 0 implies ignore
954 */
955 wpt_uint32 mcastDataRate24GHz;
956
957 /* TX flag to differentiate between HT20, HT40 etc */
958 WDI_TxRateFlags mcastDataRate24GHzTxFlag;
959
960 /*
961 * MCAST(or BCAST) fixed data rate in 5 GHz,
962 * unit Mbpsx10, 0 implies ignore
963 */
964 wpt_uint32 mcastDataRate5GHz;
965
966 /* TX flag to differentiate between HT20, HT40 etc */
967 WDI_TxRateFlags mcastDataRate5GHzTxFlag;
968
969 /*
970 * Request status callback offered by UMAC - it is called if the current
971 * req has returned PENDING as status; it delivers the status of sending
972 * the message over the BUS
973 */
974 WDI_ReqStatusCb wdiReqStatusCB;
975
976 /*
977 * The user data passed in by UMAC, it will be sent back when the above
978 * function pointer will be called
979 */
980 void *pUserData;
981
982} WDI_RateUpdateIndParams;
983
Abhishek Singh85b74712014-10-08 11:38:19 +0530984typedef struct
985{
986 wpt_uint32 ubsp_enter_cnt;
987 wpt_uint32 ubsp_jump_ddr_cnt;
988}ubspFwStats;
989
990typedef struct
991{
992 wpt_uint32 type;
993 /*data*/
994 union{
995 ubspFwStats ubspStats;
996 }wdiFwStatsData;
997} WDI_FWStatsResults;
998
Leo Chang0b0e45a2013-12-15 15:18:55 -0800999#ifdef FEATURE_WLAN_CH_AVOID
Abhishek Singhe34eb552015-06-18 10:12:15 +05301000#define WDI_CH_AVOID_MAX_RANGE 15
Leo Chang0b0e45a2013-12-15 15:18:55 -08001001
1002typedef struct
1003{
1004 wpt_uint32 startFreq;
1005 wpt_uint32 endFreq;
1006} WDI_ChAvoidFreqType;
1007
1008typedef struct
1009{
1010 wpt_uint32 avoidRangeCount;
1011 WDI_ChAvoidFreqType avoidFreqRange[WDI_CH_AVOID_MAX_RANGE];
1012} WDI_ChAvoidIndType;
1013#endif /* FEATURE_WLAN_CH_AVOID */
1014
Dino Mycled3d50022014-07-07 12:58:25 +05301015#ifdef WLAN_FEATURE_LINK_LAYER_STATS
1016typedef struct
1017{
1018 void *pLinkLayerStatsResults;
1019 wpt_macAddr macAddr;
1020} WDI_LinkLayerStatsResults;
1021
1022#endif
Abhishek Singh66c16762014-08-14 19:13:19 +05301023
1024typedef struct
1025{
1026 /*STA Index*/
1027 wpt_uint16 staIdx;
1028
1029 /*Peer MAC*/
1030 wpt_macAddr peerMacAddr;
1031
1032 // TID for which a BA session timeout is being triggered
1033 wpt_uint8 baTID;
1034 // DELBA direction
1035 // 1 - Originator
1036 // 0 - Recipient
1037 wpt_uint8 baDirection;
1038 wpt_uint32 reasonCode;
1039 /*MAC ADDR of STA*/
1040 wpt_macAddr bssId; // TO SUPPORT BT-AMP
1041} WDI_DeleteBAIndType;
1042
Ganesh Kondabattinib18b3292015-03-16 16:59:26 +05301043typedef struct
1044{
1045 wpt_uint32 tx_complete_status;
1046 wpt_uint32 tx_bd_token;
1047} WDI_TxBDStatus;
Padma, Santhosh Kumaree7c3d22016-01-25 10:36:08 +05301048
1049#ifdef FEATURE_OEM_DATA_SUPPORT
1050/*----------------------------------------------------------------------------
1051 OEM DATA RESPONSE - DATA STRUCTURES
1052----------------------------------------------------------------------------*/
1053typedef struct
1054{
1055 void *pOemRspNewIndData;
1056 /* Max OemRspNewLen possible is NEW_OEM_DATA_RSP_SIZE*/
1057 wpt_uint32 OemRspNewLen;
1058} WDI_OemDataRspNew;
1059#endif
1060
Chittajit Mitraf5413a42013-10-18 14:20:08 -07001061/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07001062 WDI_LowLevelIndType
1063 Inidcation type and information about the indication being carried
1064 over
1065---------------------------------------------------------------------------*/
1066typedef struct
1067{
1068 /*Inidcation type*/
1069 WDI_LowLevelIndEnumType wdiIndicationType;
1070
1071 /*Indication data*/
1072 union
1073 {
1074 /*RSSI Threshold Info for WDI_LOW_RSSI_IND*/
1075 WDI_LowRSSIThIndType wdiLowRSSIInfo;
1076
1077 /*Addr2 Frame Info for WDI_UNKNOWN_ADDR2_FRAME_RX_IND*/
1078 WDI_UnkAddr2FrmRxIndType wdiUnkAddr2FrmInfo;
1079
1080 /*MIC Failure info for WDI_MIC_FAILURE_IND*/
1081 WDI_MicFailureIndType wdiMICFailureInfo;
1082
1083 /*Error code for WDI_FATAL_ERROR_IND*/
1084 wpt_uint16 usErrorCode;
1085
1086 /*Delete STA Indication*/
1087 WDI_DeleteSTAIndType wdiDeleteSTAIndType;
1088
1089 /*Coex Indication*/
1090 WDI_CoexIndType wdiCoexInfo;
1091
1092 /* Tx Complete Indication */
1093 wpt_uint32 tx_complete_status;
1094
Jeff Johnson295189b2012-06-20 16:38:30 -07001095 /* P2P NOA ATTR Indication */
1096 WDI_P2pNoaAttrIndType wdiP2pNoaAttrInfo;
Viral Modid86bde22012-12-10 13:09:21 -08001097 WDI_P2pNoaStartIndType wdiP2pNoaStartInfo;
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05301098 /* TDLS Indications */
1099 WDI_TdlsIndType wdiTdlsIndInfo;
Jeff Johnson295189b2012-06-20 16:38:30 -07001100
1101
1102#ifdef FEATURE_WLAN_SCAN_PNO
1103 WDI_PrefNetworkFoundInd wdiPrefNetworkFoundInd;
1104#endif // FEATURE_WLAN_SCAN_PNO
1105
1106#ifdef WLAN_WAKEUP_EVENTS
1107 WDI_WakeReasonIndType wdiWakeReasonInd;
1108#endif // WLAN_WAKEUP_EVENTS
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -08001109 WDI_MissedBeaconIndType wdiMissedBeaconInd;
Ravi Joshid2ca7c42013-07-23 08:37:49 -07001110
Leo Chang9056f462013-08-01 19:21:11 -07001111#ifdef FEATURE_WLAN_LPHB
1112 WDI_LPHBTimeoutIndData wdiLPHBTimeoutInd;
1113#endif /* FEATURE_WLAN_LPHB */
Ravi Joshid2ca7c42013-07-23 08:37:49 -07001114
1115 /* IBSS Peer Inactivity Indication */
1116 WDI_IbssPeerInactivityIndType wdiIbssPeerInactivityInd;
1117
Yue Mab9c86f42013-08-14 15:59:08 -07001118 /* Periodic TX Pattern FW Indication */
1119 WDI_PeriodicTxPtrnFwIndType wdiPeriodicTxPtrnFwInd;
Rajeev79dbe4c2013-10-05 11:03:42 +05301120
Abhishek Singh00b71972016-01-07 10:51:04 +05301121#ifdef WLAN_FEATURE_RMC
1122 WDI_RmcPickNewRuler wdiRmcPickNewRulerInd;
1123#endif /* WLAN_FEATURE_RMC */
1124
Rajeev79dbe4c2013-10-05 11:03:42 +05301125#ifdef FEATURE_WLAN_BATCH_SCAN
1126 /*batch scan result indication from FW*/
1127 void *pBatchScanResult;
1128#endif
1129
Abhishek Singh00b71972016-01-07 10:51:04 +05301130#ifdef WLAN_FEATURE_RMC
1131 WDI_TXFailIndType wdiTXFailInd;
1132#endif /* WLAN_FEATURE_RMC */
1133
Leo Chang0b0e45a2013-12-15 15:18:55 -08001134#ifdef FEATURE_WLAN_CH_AVOID
1135 WDI_ChAvoidIndType wdiChAvoidInd;
1136#endif /* FEATURE_WLAN_CH_AVOID */
Sunil Duttbd736ed2014-05-26 21:19:41 +05301137
1138#ifdef WLAN_FEATURE_LINK_LAYER_STATS
1139 /*Link Layer Statistics from FW*/
Dino Mycled3d50022014-07-07 12:58:25 +05301140 WDI_LinkLayerStatsResults wdiLinkLayerStatsResults;
Sunil Duttbd736ed2014-05-26 21:19:41 +05301141#endif
Dino Mycle41bdc942014-06-10 11:30:24 +05301142#ifdef WLAN_FEATURE_EXTSCAN
1143 /*EXTSCAN Results from FW*/
1144 void *pEXTScanIndData;
1145#endif
Abhishek Singh66c16762014-08-14 19:13:19 +05301146 WDI_DeleteBAIndType wdiDeleteBAInd;
Srinivas Dasari32a79262015-02-19 13:04:49 +05301147
1148 WDI_NanEventType wdiNanEvent;
Ganesh Kondabattinib18b3292015-03-16 16:59:26 +05301149
1150 WDI_TxBDStatus wdiTxBdInd;
Sachin Ahuja3d47fcd2015-08-28 16:02:06 +05301151 WDI_LostLinkParamsIndType wdiLostLinkParamsInd;
Gupta, Kapil7c34b322015-09-30 13:12:35 +05301152 WDI_RssiBreachedIndType wdiRssiBreachedInd;
Padma, Santhosh Kumar2ccac212015-10-20 17:27:27 +05301153#ifdef FEATURE_OEM_DATA_SUPPORT
1154/*OEM Data Rsp New Results from FW*/
Padma, Santhosh Kumaree7c3d22016-01-25 10:36:08 +05301155 WDI_OemDataRspNew wdiOemDataRspNew;
Padma, Santhosh Kumar2ccac212015-10-20 17:27:27 +05301156#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001157 } wdiIndicationData;
1158}WDI_LowLevelIndType;
1159
1160/*---------------------------------------------------------------------------
1161 WDI_LowLevelIndCBType
1162
1163 DESCRIPTION
1164
1165 This callback is invoked by DAL to deliver to UMAC certain indications
1166 that has either received from the lower device or has generated itself.
1167
1168 PARAMETERS
1169
1170 IN
1171 pwdiInd: information about the indication sent over
1172 pUserData: user data provided by UMAC during registration
1173
1174
1175
1176 RETURN VALUE
1177 The result code associated with performing the operation
1178---------------------------------------------------------------------------*/
1179typedef void (*WDI_LowLevelIndCBType)(WDI_LowLevelIndType* pwdiInd,
1180 void* pUserData);
1181
1182/*---------------------------------------------------------------------------
1183 WDI_DriverType
1184---------------------------------------------------------------------------*/
1185typedef enum
1186{
1187 WDI_DRIVER_TYPE_PRODUCTION = 0,
1188 WDI_DRIVER_TYPE_MFG = 1,
1189 WDI_DRIVER_TYPE_DVT = 2
1190} WDI_DriverType;
1191
1192/*---------------------------------------------------------------------------
1193 WDI_StartReqParamsType
1194---------------------------------------------------------------------------*/
1195typedef struct
1196{
1197 /*This is a TLV formatted buffer containing all config values that can
1198 be set through the DAL Interface
1199
1200 The TLV is expected to be formatted like this:
1201
1202 0 7 15 31 ....
1203 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
1204
1205 Or from a C construct point of VU it would look like this:
1206
1207 typedef struct WPT_PACK_POST
1208 {
1209 #ifdef WPT_BIG_ENDIAN
1210 wpt_uint32 ucCfgId:8;
1211 wpt_uint32 ucCfgLen:8;
1212 wpt_uint32 usReserved:16;
1213 #else
1214 wpt_uint32 usReserved:16;
1215 wpt_uint32 ucCfgLen:8;
1216 wpt_uint32 ucCfgId:8;
1217 #endif
1218
1219 wpt_uint8 ucCfgBody[ucCfgLen];
1220 }WDI_ConfigType;
1221
1222 Multiple such tuplets are to be placed in the config buffer. One for
1223 each required configuration item:
1224
1225 | TLV 1 | TLV2 | ....
1226
1227 The buffer is expected to be a flat area of memory that can be manipulated
1228 with standard memory routines.
1229
1230 For more info please check paragraph 2.3.1 Config Structure from the
1231 HAL LLD.
1232
1233 For a list of accepted configuration list and IDs please look up
1234 wlan_qct_dal_cfg.h
1235
1236 */
1237 void* pConfigBuffer;
1238
1239 /*Length of the config buffer above*/
1240 wpt_uint16 usConfigBufferLen;
1241
1242 /*Production or FTM driver*/
1243 WDI_DriverType wdiDriverType;
1244
1245 /*Should device enable frame translation */
1246 wpt_uint8 bFrameTransEnabled;
1247
1248 /*Request status callback offered by UMAC - it is called if the current
1249 req has returned PENDING as status; it delivers the status of sending
1250 the message over the BUS */
1251 WDI_ReqStatusCb wdiReqStatusCB;
1252
1253 /*The user data passed in by UMAC, it will be sent back when the above
1254 function pointer will be called */
1255 void* pUserData;
1256
1257 /*Indication callback given by UMAC to be called by the WLAN DAL when it
1258 wishes to send something back independent of a request*/
1259 WDI_LowLevelIndCBType wdiLowLevelIndCB;
1260
1261 /*The user data passed in by UMAC, it will be sent back when the indication
1262 function pointer will be called */
1263 void* pIndUserData;
1264}WDI_StartReqParamsType;
1265
1266
1267/*---------------------------------------------------------------------------
1268 WDI_StartRspParamsType
1269---------------------------------------------------------------------------*/
1270typedef struct
1271{
1272 /*Status of the response*/
1273 WDI_Status wdiStatus;
1274
1275 /*Max number of STA supported by the device*/
1276 wpt_uint8 ucMaxStations;
1277
1278 /*Max number of BSS supported by the device*/
1279 wpt_uint8 ucMaxBssids;
1280
1281 /*Version of the WLAN HAL API with which we were compiled*/
1282 WDI_WlanVersionType wlanCompiledVersion;
1283
1284 /*Version of the WLAN HAL API that was reported*/
1285 WDI_WlanVersionType wlanReportedVersion;
1286
1287 /*WCNSS Software version string*/
1288 wpt_uint8 wcnssSoftwareVersion[WDI_VERSION_LENGTH];
1289
1290 /*WCNSS Hardware version string*/
1291 wpt_uint8 wcnssHardwareVersion[WDI_VERSION_LENGTH];
1292}WDI_StartRspParamsType;
1293
1294
1295/*---------------------------------------------------------------------------
1296 WDI_StopType
1297---------------------------------------------------------------------------*/
1298typedef enum
1299{
1300 /*Device is being stopped due to a reset*/
1301 WDI_STOP_TYPE_SYS_RESET,
1302
1303 /*Device is being stopped due to entering deep sleep*/
1304 WDI_STOP_TYPE_SYS_DEEP_SLEEP,
1305
1306 /*Device is being stopped because the RF needs to shut off
1307 (e.g.:Airplane mode)*/
1308 WDI_STOP_TYPE_RF_KILL
1309}WDI_StopType;
1310
1311/*---------------------------------------------------------------------------
1312 WDI_StopReqParamsType
1313---------------------------------------------------------------------------*/
1314typedef struct
1315{
1316
1317 /*The reason for which the device is being stopped*/
1318 WDI_StopType wdiStopReason;
1319
1320 /*Request status callback offered by UMAC - it is called if the current
1321 req has returned PENDING as status; it delivers the status of sending
1322 the message over the BUS */
1323 WDI_ReqStatusCb wdiReqStatusCB;
1324
1325 /*The user data passed in by UMAC, it will be sent back when the above
1326 function pointer will be called */
1327 void* pUserData;
1328}WDI_StopReqParamsType;
1329
1330
1331/*---------------------------------------------------------------------------
1332 WDI_ScanMode
1333---------------------------------------------------------------------------*/
1334typedef enum
1335{
1336 WDI_SCAN_MODE_NORMAL = 0,
1337 WDI_SCAN_MODE_LEARN,
1338 WDI_SCAN_MODE_SCAN,
1339 WDI_SCAN_MODE_PROMISC,
Madan Mohan Koyyalamudi9b876782012-10-11 16:22:51 -07001340 WDI_SCAN_MODE_SUSPEND_LINK,
1341 WDI_SCAN_MODE_ROAM_SCAN,
1342 WDI_SCAN_MODE_ROAM_SUSPEND_LINK,
1343
Jeff Johnson295189b2012-06-20 16:38:30 -07001344} WDI_ScanMode;
1345
1346/*---------------------------------------------------------------------------
1347 WDI_ScanEntry
1348---------------------------------------------------------------------------*/
1349typedef struct
1350{
1351 wpt_uint8 bssIdx[WDI_NUM_BSSID];
1352 wpt_uint8 activeBSScnt;
1353}WDI_ScanEntry;
1354
1355/*---------------------------------------------------------------------------
1356 WDI_InitScanReqInfoType
1357---------------------------------------------------------------------------*/
1358typedef struct
1359{
1360 /*LEARN - AP Role
1361 SCAN - STA Role*/
1362 WDI_ScanMode wdiScanMode;
1363
1364 /*BSSID of the BSS*/
1365 wpt_macAddr macBSSID;
1366
1367 /*Whether BSS needs to be notified*/
1368 wpt_boolean bNotifyBSS;
1369
1370 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
1371 CTS to Self). Must always be a valid frame type.*/
1372 wpt_uint8 ucFrameType;
1373
1374 /*UMAC has the option of passing the MAC frame to be used for notifying
1375 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
1376 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
1377 frameType.*/
1378 wpt_uint8 ucFrameLength;
1379
1380 /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/
1381 WDI_MacMgmtHdr wdiMACMgmtHdr;
1382
1383 /*Entry to hold number of active BSS to send NULL frames before
1384 * initiating SCAN*/
1385 WDI_ScanEntry wdiScanEntry;
1386
1387 /* Flag to enable/disable Single NOA*/
1388 wpt_boolean bUseNOA;
1389
1390 /* Indicates the scan duration (in ms) */
1391 wpt_uint16 scanDuration;
1392
1393}WDI_InitScanReqInfoType;
1394
1395/*---------------------------------------------------------------------------
1396 WDI_InitScanReqParamsType
1397---------------------------------------------------------------------------*/
1398typedef struct
1399{
1400 /*The info associated with the request that needs to be sent over to the
1401 device*/
1402 WDI_InitScanReqInfoType wdiReqInfo;
1403
1404 /*Request status callback offered by UMAC - it is called if the current
1405 req has returned PENDING as status; it delivers the status of sending
1406 the message over the BUS */
1407 WDI_ReqStatusCb wdiReqStatusCB;
1408
1409 /*The user data passed in by UMAC, it will be sent back when the above
1410 function pointer will be called */
1411 void* pUserData;
1412}WDI_InitScanReqParamsType;
1413
1414/*---------------------------------------------------------------------------
1415 WDI_StartScanReqParamsType
1416---------------------------------------------------------------------------*/
1417typedef struct
1418{
1419 /*Indicates the channel to scan*/
1420 wpt_uint8 ucChannel;
1421
1422 /*Request status callback offered by UMAC - it is called if the current
1423 req has returned PENDING as status; it delivers the status of sending
1424 the message over the BUS */
1425 WDI_ReqStatusCb wdiReqStatusCB;
1426
1427 /*The user data passed in by UMAC, it will be sent back when the above
1428 function pointer will be called */
1429 void* pUserData;
1430}WDI_StartScanReqParamsType;
1431
1432/*---------------------------------------------------------------------------
1433 WDI_StartScanRspParamsType
1434---------------------------------------------------------------------------*/
1435typedef struct
1436{
1437 /*Indicates the status of the operation */
1438 WDI_Status wdiStatus;
1439
1440#if defined WLAN_FEATURE_VOWIFI
1441 wpt_uint32 aStartTSF[2];
1442 wpt_int8 ucTxMgmtPower;
1443#endif
1444}WDI_StartScanRspParamsType;
1445
1446/*---------------------------------------------------------------------------
1447 WDI_EndScanReqParamsType
1448---------------------------------------------------------------------------*/
1449typedef struct
1450{
1451 /*Indicates the channel to stop scanning. Not used really. But retained
1452 for symmetry with "start Scan" message. It can also help in error
1453 check if needed.*/
1454 wpt_uint8 ucChannel;
1455
1456 /*Request status callback offered by UMAC - it is called if the current
1457 req has returned PENDING as status; it delivers the status of sending
1458 the message over the BUS */
1459 WDI_ReqStatusCb wdiReqStatusCB;
1460
1461 /*The user data passed in by UMAC, it will be sent back when the above
1462 function pointer will be called */
1463 void* pUserData;
1464}WDI_EndScanReqParamsType;
1465
1466/*---------------------------------------------------------------------------
1467 WDI_PhyChanBondState
1468---------------------------------------------------------------------------*/
1469typedef enum
1470{
1471 WDI_PHY_SINGLE_CHANNEL_CENTERED = 0,
1472 WDI_PHY_DOUBLE_CHANNEL_LOW_PRIMARY = 1,
1473 WDI_PHY_DOUBLE_CHANNEL_CENTERED = 2,
Jeff Johnsone7245742012-09-05 17:12:55 -07001474 WDI_PHY_DOUBLE_CHANNEL_HIGH_PRIMARY = 3,
1475#ifdef WLAN_FEATURE_11AC
1476 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_CENTERED = 4, //20/40MHZ offset LOW 40/80MHZ offset CENTERED
1477 WDI_QUADRUPLE_CHANNEL_20MHZ_CENTERED_40MHZ_CENTERED = 5, //20/40MHZ offset CENTERED 40/80MHZ offset CENTERED
1478 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_CENTERED = 6, //20/40MHZ offset HIGH 40/80MHZ offset CENTERED
1479 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_LOW = 7,//20/40MHZ offset LOW 40/80MHZ offset LOW
1480 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_LOW = 8, //20/40MHZ offset HIGH 40/80MHZ offset LOW
1481 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_HIGH = 9, //20/40MHZ offset LOW 40/80MHZ offset HIGH
1482 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_HIGH = 10,//20/40MHZ offset-HIGH 40/80MHZ offset HIGH
1483#endif
1484 WDI_MAX_CB_STATE
Jeff Johnson295189b2012-06-20 16:38:30 -07001485} WDI_PhyChanBondState;
1486
1487/*---------------------------------------------------------------------------
1488 WDI_FinishScanReqInfoType
1489---------------------------------------------------------------------------*/
1490typedef struct
1491{
1492 /*LEARN - AP Role
1493 SCAN - STA Role*/
1494 WDI_ScanMode wdiScanMode;
1495
1496 /*Operating channel to tune to.*/
1497 wpt_uint8 ucCurrentOperatingChannel;
1498
1499 /*Channel Bonding state If 20/40 MHz is operational, this will indicate the
1500 40 MHz extension channel in combination with the control channel*/
1501 WDI_PhyChanBondState wdiCBState;
1502
1503 /*BSSID of the BSS*/
1504 wpt_macAddr macBSSID;
1505
1506 /*Whether BSS needs to be notified*/
1507 wpt_boolean bNotifyBSS;
1508
1509 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
1510 CTS to Self). Must always be a valid frame type.*/
1511 wpt_uint8 ucFrameType;
1512
1513 /*UMAC has the option of passing the MAC frame to be used for notifying
1514 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
1515 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
1516 frameType.*/
1517 wpt_uint8 ucFrameLength;
1518
1519 /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/
1520 WDI_MacMgmtHdr wdiMACMgmtHdr;
1521
1522 /*Entry to hold number of active BSS to send NULL frames after SCAN*/
1523 WDI_ScanEntry wdiScanEntry;
1524
1525}WDI_FinishScanReqInfoType;
1526
1527/*---------------------------------------------------------------------------
1528 WDI_SwitchChReqInfoType
1529---------------------------------------------------------------------------*/
1530typedef struct
1531{
1532 /*Indicates the channel to switch to.*/
1533 wpt_uint8 ucChannel;
1534
1535 /*Local power constraint*/
1536 wpt_uint8 ucLocalPowerConstraint;
1537
1538 /*Secondary channel offset */
1539 WDI_HTSecondaryChannelOffset wdiSecondaryChannelOffset;
1540
1541#ifdef WLAN_FEATURE_VOWIFI
1542 wpt_int8 cMaxTxPower;
1543
1544 /*Self STA Mac address*/
1545 wpt_macAddr macSelfStaMacAddr;
1546#endif
1547 /* VO Wifi comment: BSSID is needed to identify which session issued this request. As the
1548 request has power constraints, this should be applied only to that session */
1549 /* V IMP: Keep bssId field at the end of this msg. It is used to mantain backward compatbility
1550 * by way of ignoring if using new host/old FW or old host/new FW since it is at the end of this struct
1551 */
1552 wpt_macAddr macBSSId;
1553
1554}WDI_SwitchChReqInfoType;
1555
1556/*---------------------------------------------------------------------------
1557 WDI_SwitchChReqParamsType
1558---------------------------------------------------------------------------*/
1559typedef struct
1560{
1561 /*Channel Info*/
1562 WDI_SwitchChReqInfoType wdiChInfo;
1563
1564 /*Request status callback offered by UMAC - it is called if the current
1565 req has returned PENDING as status; it delivers the status of sending
1566 the message over the BUS */
1567 WDI_ReqStatusCb wdiReqStatusCB;
1568
1569 /*The user data passed in by UMAC, it will be sent back when the above
1570 function pointer will be called */
1571 void* pUserData;
1572}WDI_SwitchChReqParamsType;
1573
1574/*---------------------------------------------------------------------------
1575 WDI_FinishScanReqParamsType
1576---------------------------------------------------------------------------*/
1577typedef struct
1578{
1579 /*Info for the Finish Scan request that will be sent down to the device*/
1580 WDI_FinishScanReqInfoType wdiReqInfo;
1581
1582 /*Request status callback offered by UMAC - it is called if the current
1583 req has returned PENDING as status; it delivers the status of sending
1584 the message over the BUS */
1585 WDI_ReqStatusCb wdiReqStatusCB;
1586
1587 /*The user data passed in by UMAC, it will be sent back when the above
1588 function pointer will be called */
1589 void* pUserData;
1590}WDI_FinishScanReqParamsType;
1591
1592/*---------------------------------------------------------------------------
1593 WDI_JoinReqInfoType
1594---------------------------------------------------------------------------*/
1595typedef struct
1596{
1597 /*Indicates the BSSID to which STA is going to associate*/
1598 wpt_macAddr macBSSID;
1599
1600 /*Indicates the MAC Address of the current Self STA*/
1601 wpt_macAddr macSTASelf;
1602
1603 /*Indicates the link State determining the entity Type e.g. BTAMP-STA, STA etc.*/
1604 wpt_uint32 linkState;
1605
1606 /*Indicates the channel to switch to.*/
1607 WDI_SwitchChReqInfoType wdiChannelInfo;
1608
1609}WDI_JoinReqInfoType;
1610
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08001611typedef enum
1612{
1613 eWDI_CHANNEL_SWITCH_SOURCE_SCAN,
1614 eWDI_CHANNEL_SWITCH_SOURCE_LISTEN,
1615 eWDI_CHANNEL_SWITCH_SOURCE_MCC,
1616 eWDI_CHANNEL_SWITCH_SOURCE_CSA,
1617 eWDI_CHANNEL_SWITCH_SOURCE_MAX = 0x7FFFFFFF
1618} WDI_ChanSwitchSource;
1619
1620/*---------------------------------------------------------------------------
1621 WDI_SwitchChReqInfoType_V1
1622---------------------------------------------------------------------------*/
1623typedef struct
1624{
1625 /*Indicates the channel to switch to.*/
1626 wpt_uint8 ucChannel;
1627
1628 /*Local power constraint*/
1629 wpt_uint8 ucLocalPowerConstraint;
1630
1631 /*Secondary channel offset */
1632 WDI_HTSecondaryChannelOffset wdiSecondaryChannelOffset;
1633
1634#ifdef WLAN_FEATURE_VOWIFI
1635 wpt_int8 cMaxTxPower;
1636 /*Self STA Mac address*/
1637 wpt_macAddr macSelfStaMacAddr;
1638#endif
1639 /* VO Wifi comment: BSSID is needed to identify which session
1640 issued this request. As the request has power constraints, this
1641 should be applied only to that session
1642 */
1643 /* V IMP: Keep bssId field at the end of this msg. It is used to
1644 maintain backward compatibility by way of ignoring if using new
1645 host/old FW or old host/new FW since it is at the end of this struct
1646 */
1647 wpt_macAddr macBSSId;
1648 /* Source of Channel Switch */
1649 WDI_ChanSwitchSource channelSwitchSrc;
1650}WDI_SwitchChReqInfoType_V1;
1651
1652/*--------------------------------------------------------------------
1653 WDI_SwitchChReqParamsType_V1
1654----------------------------------------------------------------------*/
1655typedef struct
1656{
1657 /*Channel Info*/
1658 WDI_SwitchChReqInfoType_V1 wdiChInfo;
1659
1660 /*Request status callback offered by UMAC - it is called if the current
1661 req has returned PENDING as status; it delivers the status of sending
1662 the message over the BUS */
1663 WDI_ReqStatusCb wdiReqStatusCB;
1664
1665 /*The user data passed in by UMAC, it will be sent back when the above
1666 function pointer will be called */
1667 void* pUserData;
1668}WDI_SwitchChReqParamsType_V1;
1669
Jeff Johnson295189b2012-06-20 16:38:30 -07001670/*---------------------------------------------------------------------------
1671 WDI_JoinReqParamsType
1672---------------------------------------------------------------------------*/
1673typedef struct
1674{
1675 /*Info for the Join request that will be sent down to the device*/
1676 WDI_JoinReqInfoType wdiReqInfo;
1677
1678 /*Request status callback offered by UMAC - it is called if the current
1679 req has returned PENDING as status; it delivers the status of sending
1680 the message over the BUS */
1681 WDI_ReqStatusCb wdiReqStatusCB;
1682
1683 /*The user data passed in by UMAC, it will be sent back when the above
1684 function pointer will be called */
1685 void* pUserData;
1686}WDI_JoinReqParamsType;
1687
1688/*---------------------------------------------------------------------------
1689 WDI_BssType
1690---------------------------------------------------------------------------*/
1691typedef enum
1692{
1693 WDI_INFRASTRUCTURE_MODE,
1694 WDI_INFRA_AP_MODE, //Added for softAP support
1695 WDI_IBSS_MODE,
1696 WDI_BTAMP_STA_MODE,
1697 WDI_BTAMP_AP_MODE,
1698 WDI_BSS_AUTO_MODE,
1699}WDI_BssType;
1700
1701/*---------------------------------------------------------------------------
1702 WDI_NwType
1703---------------------------------------------------------------------------*/
1704typedef enum
1705{
1706 WDI_11A_NW_TYPE,
1707 WDI_11B_NW_TYPE,
1708 WDI_11G_NW_TYPE,
1709 WDI_11N_NW_TYPE,
1710} WDI_NwType;
1711
1712/*---------------------------------------------------------------------------
1713 WDI_ConfigAction
1714---------------------------------------------------------------------------*/
1715typedef enum
1716{
1717 WDI_ADD_BSS,
1718 WDI_UPDATE_BSS
1719} WDI_ConfigAction;
1720
1721/*---------------------------------------------------------------------------
1722 WDI_HTOperatingMode
1723---------------------------------------------------------------------------*/
1724typedef enum
1725{
1726 WDI_HT_OP_MODE_PURE,
1727 WDI_HT_OP_MODE_OVERLAP_LEGACY,
1728 WDI_HT_OP_MODE_NO_LEGACY_20MHZ_HT,
1729 WDI_HT_OP_MODE_MIXED
1730
1731} WDI_HTOperatingMode;
1732
1733
1734/*---------------------------------------------------------------------------
1735 WDI_STAEntryType
1736---------------------------------------------------------------------------*/
1737typedef enum
1738{
1739 WDI_STA_ENTRY_SELF,
1740 WDI_STA_ENTRY_PEER,
1741 WDI_STA_ENTRY_BSSID,
Mohit Khanna698ba2a2012-12-04 15:08:18 -08001742 WDI_STA_ENTRY_BCAST,
1743#ifdef FEATURE_WLAN_TDLS
1744 WDI_STA_ENTRY_TDLS_PEER,
1745#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001746}WDI_STAEntryType;
1747
1748/*---------------------------------------------------------------------------
1749 WDI_ConfigActionType
1750---------------------------------------------------------------------------*/
1751typedef enum
1752{
1753 WDI_ADD_STA,
1754 WDI_UPDATE_STA
1755} WDI_ConfigActionType;
1756
1757/*----------------------------------------------------------------------------
1758 Each station added has a rate mode which specifies the sta attributes
1759 ----------------------------------------------------------------------------*/
1760typedef enum
1761{
1762 WDI_RESERVED_1 = 0,
1763 WDI_RESERVED_2,
1764 WDI_RESERVED_3,
1765 WDI_11b,
1766 WDI_11bg,
1767 WDI_11a,
1768 WDI_11n,
1769} WDI_RateModeType;
1770
1771/*---------------------------------------------------------------------------
1772 WDI_SupportedRatesType
1773---------------------------------------------------------------------------*/
1774typedef struct
1775{
1776 /*
1777 * For Self STA Entry: this represents Self Mode.
1778 * For Peer Stations, this represents the mode of the peer.
1779 * On Station:
1780 * --this mode is updated when PE adds the Self Entry.
1781 * -- OR when PE sends 'ADD_BSS' message and station context in BSS is used to indicate the mode of the AP.
1782 * ON AP:
1783 * -- this mode is updated when PE sends 'ADD_BSS' and Sta entry for that BSS is used
1784 * to indicate the self mode of the AP.
1785 * -- OR when a station is associated, PE sends 'ADD_STA' message with this mode updated.
1786 */
1787
1788 WDI_RateModeType opRateMode;
1789
1790 /* 11b, 11a and aniLegacyRates are IE rates which gives rate in unit of 500Kbps */
1791 wpt_uint16 llbRates[WDI_NUM_11B_RATES];
1792 wpt_uint16 llaRates[WDI_NUM_11A_RATES];
1793 wpt_uint16 aLegacyRates[WDI_NUM_POLARIS_RATES];
1794
1795 /*Taurus only supports 26 Titan Rates(no ESF/concat Rates will be supported)
1796 First 26 bits are reserved for those Titan rates and
1797 the last 4 bits(bit28-31) for Taurus, 2(bit26-27) bits are reserved.*/
1798 wpt_uint32 uEnhancedRateBitmap; //Titan and Taurus Rates
1799
1800 /*
1801 * 0-76 bits used, remaining reserved
1802 * bits 0-15 and 32 should be set.
1803 */
1804 wpt_uint8 aSupportedMCSSet[WDI_MAC_MAX_SUPPORTED_MCS_SET];
1805
1806 /*
1807 * RX Highest Supported Data Rate defines the highest data
1808 * rate that the STA is able to receive, in unites of 1Mbps.
1809 * This value is derived from "Supported MCS Set field" inside
1810 * the HT capability element.
1811 */
1812 wpt_uint16 aRxHighestDataRate;
1813
Jeff Johnsone7245742012-09-05 17:12:55 -07001814
1815#ifdef WLAN_FEATURE_11AC
1816 /*Indicates the Maximum MCS that can be received for each number
1817 of spacial streams */
1818 wpt_uint16 vhtRxMCSMap;
1819 /*Indicate the highest VHT data rate that the STA is able to receive*/
1820 wpt_uint16 vhtRxHighestDataRate;
1821 /*Indicates the Maximum MCS that can be transmitted for each number
1822 of spacial streams */
1823 wpt_uint16 vhtTxMCSMap;
1824 /*Indicate the highest VHT data rate that the STA is able to transmit*/
1825 wpt_uint16 vhtTxHighestDataRate;
1826#endif
1827
Jeff Johnson295189b2012-06-20 16:38:30 -07001828} WDI_SupportedRates;
1829
1830/*--------------------------------------------------------------------------
1831 WDI_HTMIMOPowerSaveState
1832 Spatial Multiplexing(SM) Power Save mode
1833 --------------------------------------------------------------------------*/
1834typedef enum
1835{
1836 WDI_HT_MIMO_PS_STATIC = 0, // Static SM Power Save mode
1837 WDI_HT_MIMO_PS_DYNAMIC = 1, // Dynamic SM Power Save mode
1838 WDI_HT_MIMO_PS_NA = 2, // reserved
1839 WDI_HT_MIMO_PS_NO_LIMIT = 3, // SM Power Save disabled
1840} WDI_HTMIMOPowerSaveState;
1841
1842/*---------------------------------------------------------------------------
1843 WDI_ConfigStaReqInfoType
1844---------------------------------------------------------------------------*/
1845typedef struct
1846{
1847 /*BSSID of STA*/
1848 wpt_macAddr macBSSID;
1849
1850 /*ASSOC ID, as assigned by UMAC*/
1851 wpt_uint16 usAssocId;
1852
1853 /*Used for configuration of different HW modules.*/
1854 WDI_STAEntryType wdiSTAType;
1855
Gopichand Nakkalae7cbc5d2013-03-27 21:09:23 -07001856 /*STA Index */
1857 wpt_uint8 staIdx;
1858
Jeff Johnson295189b2012-06-20 16:38:30 -07001859 /*Short Preamble Supported.*/
1860 wpt_uint8 ucShortPreambleSupported;
1861
1862 /*MAC Address of STA*/
1863 wpt_macAddr macSTA;
1864
1865 /*Listen interval of the STA*/
1866 wpt_uint16 usListenInterval;
1867
1868 /*Support for 11e/WMM*/
1869 wpt_uint8 ucWMMEnabled;
1870
1871 /*11n HT capable STA*/
1872 wpt_uint8 ucHTCapable;
1873
1874 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
1875 wpt_uint8 ucTXChannelWidthSet;
1876
1877 /*RIFS mode 0 - NA, 1 - Allowed*/
1878 wpt_uint8 ucRIFSMode;
1879
1880 /*L-SIG TXOP Protection mechanism
1881 0 - No Support, 1 - Supported
1882 SG - there is global field*/
1883 wpt_uint8 ucLSIGTxopProtection;
1884
1885 /*Max Ampdu Size supported by STA. Device programming.
1886 0 : 8k , 1 : 16k, 2 : 32k, 3 : 64k */
1887 wpt_uint8 ucMaxAmpduSize;
1888
1889 /*Max Ampdu density. Used by RA. 3 : 0~7 : 2^(11nAMPDUdensity -4)*/
1890 wpt_uint8 ucMaxAmpduDensity;
1891
1892 /*Max AMSDU size 1 : 3839 bytes, 0 : 7935 bytes*/
1893 wpt_uint8 ucMaxAmsduSize;
1894
1895 /*Short GI support for 40Mhz packets*/
1896 wpt_uint8 ucShortGI40Mhz;
1897
1898 /*Short GI support for 20Mhz packets*/
1899 wpt_uint8 ucShortGI20Mhz;
1900
1901 /*These rates are the intersection of peer and self capabilities.*/
1902 WDI_SupportedRates wdiSupportedRates;
1903
1904 /*Robust Management Frame (RMF) enabled/disabled*/
1905 wpt_uint8 ucRMFEnabled;
1906
1907 /* The unicast encryption type in the association */
1908 wpt_uint32 ucEncryptType;
1909
1910 /*HAL should update the existing STA entry, if this flag is set. UMAC
1911 will set this flag in case of RE-ASSOC, where we want to reuse the old
1912 STA ID.*/
1913 WDI_ConfigActionType wdiAction;
1914
1915 /*U-APSD Flags: 1b per AC. Encoded as follows:
1916 b7 b6 b5 b4 b3 b2 b1 b0 =
1917 X X X X BE BK VI VO
1918 */
1919 wpt_uint8 ucAPSD;
1920
1921 /*Max SP Length*/
1922 wpt_uint8 ucMaxSPLen;
1923
1924 /*11n Green Field preamble support*/
1925 wpt_uint8 ucGreenFieldCapable;
1926
1927 /*MIMO Power Save mode*/
1928 WDI_HTMIMOPowerSaveState wdiMIMOPS;
1929
1930 /*Delayed BA Support*/
1931 wpt_uint8 ucDelayedBASupport;
1932
1933 /*Max AMPDU duration in 32us*/
1934 wpt_uint8 us32MaxAmpduDuratio;
1935
1936 /*HT STA should set it to 1 if it is enabled in BSS
1937 HT STA should set it to 0 if AP does not support it. This indication is
1938 sent to HAL and HAL uses this flag to pickup up appropriate 40Mhz rates.
1939 */
1940 wpt_uint8 ucDsssCckMode40Mhz;
1941
1942 wpt_uint8 ucP2pCapableSta;
Jeff Johnsone7245742012-09-05 17:12:55 -07001943#ifdef WLAN_FEATURE_11AC
1944 wpt_uint8 ucVhtCapableSta;
1945 wpt_uint8 ucVhtTxChannelWidthSet;
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08001946 wpt_uint8 ucVhtTxBFEnabled;
Abhishek Singh6927fa02014-06-27 17:19:55 +05301947 wpt_uint8 vhtTxMUBformeeCapable;
Jeff Johnsone7245742012-09-05 17:12:55 -07001948#endif
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08001949
1950 wpt_uint8 ucHtLdpcEnabled;
1951 wpt_uint8 ucVhtLdpcEnabled;
Jeff Johnson295189b2012-06-20 16:38:30 -07001952}WDI_ConfigStaReqInfoType;
1953
1954
1955/*---------------------------------------------------------------------------
1956 WDI_RateSet
1957
1958 12 Bytes long because this structure can be used to represent rate
1959 and extended rate set IEs
1960 The parser assume this to be at least 12
1961---------------------------------------------------------------------------*/
1962#define WDI_RATESET_EID_MAX 12
1963
1964typedef struct
1965{
1966 wpt_uint8 ucNumRates;
1967 wpt_uint8 aRates[WDI_RATESET_EID_MAX];
1968} WDI_RateSet;
1969
1970/*---------------------------------------------------------------------------
1971 WDI_AciAifsnType
1972 access category record
1973---------------------------------------------------------------------------*/
1974typedef struct
1975{
1976 wpt_uint8 rsvd : 1;
1977 wpt_uint8 aci : 2;
1978 wpt_uint8 acm : 1;
1979 wpt_uint8 aifsn : 4;
1980} WDI_AciAifsnType;
1981
1982/*---------------------------------------------------------------------------
1983 WDI_CWType
1984 contention window size
1985---------------------------------------------------------------------------*/
1986typedef struct
1987{
1988 wpt_uint8 max : 4;
1989 wpt_uint8 min : 4;
1990} WDI_CWType;
1991
1992/*---------------------------------------------------------------------------
1993 WDI_EdcaParamRecord
1994---------------------------------------------------------------------------*/
1995typedef struct
1996{
1997 /*Access Category Record*/
1998 WDI_AciAifsnType wdiACI;
1999
2000 /*Contention WIndow Size*/
2001 WDI_CWType wdiCW;
2002
2003 /*TX Oportunity Limit*/
2004 wpt_uint16 usTXOPLimit;
2005} WDI_EdcaParamRecord;
2006
2007/*---------------------------------------------------------------------------
2008 WDI_EDCAParamsType
2009---------------------------------------------------------------------------*/
2010typedef struct
2011{
2012 /*BSS Index*/
2013 wpt_uint8 ucBSSIdx;
2014
2015 /*?*/
2016 wpt_boolean bHighPerformance;
2017
2018 /*Best Effort*/
2019 WDI_EdcaParamRecord wdiACBE;
2020
2021 /*Background*/
2022 WDI_EdcaParamRecord wdiACBK;
2023
2024 /*Video*/
2025 WDI_EdcaParamRecord wdiACVI;
2026
2027 /*Voice*/
2028 WDI_EdcaParamRecord acvo; // voice
2029} WDI_EDCAParamsType;
2030
2031/* operMode in ADD BSS message */
2032#define WDI_BSS_OPERATIONAL_MODE_AP 0
2033#define WDI_BSS_OPERATIONAL_MODE_STA 1
2034
2035/*---------------------------------------------------------------------------
2036 WDI_ConfigBSSRspParamsType
2037---------------------------------------------------------------------------*/
2038typedef struct
2039{
2040 /*Status of the response*/
2041 WDI_Status wdiStatus;
2042
2043 /*BSSID of the BSS*/
2044 wpt_macAddr macBSSID;
2045
2046 /*BSS Index*/
2047 wpt_uint8 ucBSSIdx;
2048
2049 /*Unicast DPU signature*/
2050 wpt_uint8 ucUcastSig;
2051
2052 /*Broadcast DPU Signature*/
2053 wpt_uint8 ucBcastSig;
2054
2055 /*MAC Address of STA*/
2056 wpt_macAddr macSTA;
2057
2058 /*BSS STA ID*/
2059 wpt_uint8 ucSTAIdx;
2060
2061#ifdef WLAN_FEATURE_VOWIFI
2062 /*HAL fills in the tx power used for mgmt frames in this field */
2063 wpt_int8 ucTxMgmtPower;
2064#endif
2065
2066}WDI_ConfigBSSRspParamsType;
2067
2068/*---------------------------------------------------------------------------
2069 WDI_DelBSSReqParamsType
2070---------------------------------------------------------------------------*/
2071typedef struct
2072{
2073 /*BSS Index of the BSS*/
2074 wpt_uint8 ucBssIdx;
2075
2076 /*Request status callback offered by UMAC - it is called if the current
2077 req has returned PENDING as status; it delivers the status of sending
2078 the message over the BUS */
2079 WDI_ReqStatusCb wdiReqStatusCB;
2080
2081 /*The user data passed in by UMAC, it will be sent back when the above
2082 function pointer will be called */
2083 void* pUserData;
2084}WDI_DelBSSReqParamsType;
2085
2086/*---------------------------------------------------------------------------
2087 WDI_DelBSSRspParamsType
2088---------------------------------------------------------------------------*/
2089typedef struct
2090{
2091 /*Status of the response*/
2092 WDI_Status wdiStatus;
2093
2094 /*BSSID of the BSS*/
2095 wpt_macAddr macBSSID;
2096
2097 wpt_uint8 ucBssIdx;
2098
2099}WDI_DelBSSRspParamsType;
2100
2101/*---------------------------------------------------------------------------
2102 WDI_ConfigSTARspParamsType
2103---------------------------------------------------------------------------*/
2104typedef struct
2105{
2106 /*Status of the response*/
2107 WDI_Status wdiStatus;
2108
2109 /*STA Idx allocated by HAL*/
2110 wpt_uint8 ucSTAIdx;
2111
2112 /*MAC Address of STA*/
2113 wpt_macAddr macSTA;
2114
2115 /* BSSID Index of BSS to which the station is associated */
2116 wpt_uint8 ucBssIdx;
2117
2118 /* DPU Index - PTK */
2119 wpt_uint8 ucDpuIndex;
2120
2121 /* Bcast DPU Index - GTK */
2122 wpt_uint8 ucBcastDpuIndex;
2123
2124 /* Management DPU Index - IGTK - Why is it called bcastMgmtDpuIdx? */
2125 wpt_uint8 ucBcastMgmtDpuIdx;
2126
2127 /*Unicast DPU signature*/
2128 wpt_uint8 ucUcastSig;
2129
2130 /*Broadcast DPU Signature*/
2131 wpt_uint8 ucBcastSig;
2132
2133 /* IGTK DPU signature*/
2134 wpt_uint8 ucMgmtSig;
2135
2136}WDI_ConfigSTARspParamsType;
2137
2138/*---------------------------------------------------------------------------
2139 WDI_PostAssocRspParamsType
2140---------------------------------------------------------------------------*/
2141typedef struct
2142{
2143 /*Status of the response*/
2144 WDI_Status wdiStatus;
2145
2146 /*Parameters related to the BSS*/
2147 WDI_ConfigBSSRspParamsType bssParams;
2148
2149 /*Parameters related to the self STA*/
2150 WDI_ConfigSTARspParamsType staParams;
2151
2152}WDI_PostAssocRspParamsType;
2153
2154/*---------------------------------------------------------------------------
2155 WDI_DelSTAReqParamsType
2156---------------------------------------------------------------------------*/
2157typedef struct
2158{
2159 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
2160 wpt_uint8 ucSTAIdx;
2161
2162 /*Request status callback offered by UMAC - it is called if the current
2163 req has returned PENDING as status; it delivers the status of sending
2164 the message over the BUS */
2165 WDI_ReqStatusCb wdiReqStatusCB;
2166
2167 /*The user data passed in by UMAC, it will be sent back when the above
2168 function pointer will be called */
2169 void* pUserData;
2170}WDI_DelSTAReqParamsType;
2171
2172/*---------------------------------------------------------------------------
2173 WDI_DelSTARspParamsType
2174---------------------------------------------------------------------------*/
2175typedef struct
2176{
2177 /*Status of the response*/
2178 WDI_Status wdiStatus;
2179
2180 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
2181 wpt_uint8 ucSTAIdx;
2182}WDI_DelSTARspParamsType;
2183
2184/*---------------------------------------------------------------------------
2185 WDI_EncryptType
2186---------------------------------------------------------------------------*/
2187typedef enum
2188{
2189 WDI_ENCR_NONE,
2190 WDI_ENCR_WEP40,
2191 WDI_ENCR_WEP104,
2192 WDI_ENCR_TKIP,
2193 WDI_ENCR_CCMP,
2194#if defined(FEATURE_WLAN_WAPI)
2195 WDI_ENCR_WPI,
2196#endif
2197 WDI_ENCR_AES_128_CMAC
2198} WDI_EncryptType;
2199
2200/*---------------------------------------------------------------------------
2201 WDI_KeyDirectionType
2202---------------------------------------------------------------------------*/
2203typedef enum
2204{
2205 WDI_TX_ONLY,
2206 WDI_RX_ONLY,
2207 WDI_TX_RX,
Jeff Johnson295189b2012-06-20 16:38:30 -07002208 WDI_TX_DEFAULT,
Jeff Johnson295189b2012-06-20 16:38:30 -07002209 WDI_DONOT_USE_KEY_DIRECTION
2210} WDI_KeyDirectionType;
2211
2212#define WDI_MAX_ENCR_KEYS 4
2213#define WDI_MAX_KEY_LENGTH 32
2214#if defined(FEATURE_WLAN_WAPI)
2215#define WDI_MAX_KEY_RSC_LEN 16
2216#define WDI_WAPI_KEY_RSC_LEN 16
2217#else
2218#define WDI_MAX_KEY_RSC_LEN 8
2219#endif
2220
2221typedef struct
2222{
2223 /* Key ID */
2224 wpt_uint8 keyId;
2225 /* 0 for multicast */
2226 wpt_uint8 unicast;
2227 /* Key Direction */
2228 WDI_KeyDirectionType keyDirection;
2229 /* Usage is unknown */
2230 wpt_uint8 keyRsc[WDI_MAX_KEY_RSC_LEN];
2231 /* =1 for authenticator, =0 for supplicant */
2232 wpt_uint8 paeRole;
2233 wpt_uint16 keyLength;
2234 wpt_uint8 key[WDI_MAX_KEY_LENGTH];
2235
2236}WDI_KeysType;
2237
2238/*---------------------------------------------------------------------------
2239 WDI_SetBSSKeyReqInfoType
2240---------------------------------------------------------------------------*/
2241typedef struct
2242{
2243 /*BSS Index of the BSS*/
2244 wpt_uint8 ucBssIdx;
2245
2246 /*Encryption Type used with peer*/
2247 WDI_EncryptType wdiEncType;
2248
2249 /*Number of keys*/
2250 wpt_uint8 ucNumKeys;
2251
2252 /*Array of keys.*/
2253 WDI_KeysType aKeys[WDI_MAX_ENCR_KEYS];
2254
2255 /*Control for Replay Count, 1= Single TID based replay count on Tx
2256 0 = Per TID based replay count on TX */
2257 wpt_uint8 ucSingleTidRc;
2258}WDI_SetBSSKeyReqInfoType;
2259
2260/*---------------------------------------------------------------------------
2261 WDI_SetBSSKeyReqParamsType
2262---------------------------------------------------------------------------*/
2263typedef struct
2264{
2265 /*Key Info */
2266 WDI_SetBSSKeyReqInfoType wdiBSSKeyInfo;
2267
2268 /*Request status callback offered by UMAC - it is called if the current
2269 req has returned PENDING as status; it delivers the status of sending
2270 the message over the BUS */
2271 WDI_ReqStatusCb wdiReqStatusCB;
2272
2273 /*The user data passed in by UMAC, it will be sent back when the above
2274 function pointer will be called */
2275 void* pUserData;
2276}WDI_SetBSSKeyReqParamsType;
2277
2278/*---------------------------------------------------------------------------
2279 WDI_WepType
2280---------------------------------------------------------------------------*/
2281typedef enum
2282{
2283 WDI_WEP_STATIC,
2284 WDI_WEP_DYNAMIC
2285
2286} WDI_WepType;
2287
2288/*---------------------------------------------------------------------------
2289 WDI_RemoveBSSKeyReqInfoType
2290---------------------------------------------------------------------------*/
2291typedef struct
2292{
2293 /*BSS Index of the BSS*/
2294 wpt_uint8 ucBssIdx;
2295
2296 /*Encryption Type used with peer*/
2297 WDI_EncryptType wdiEncType;
2298
2299 /*Key Id*/
2300 wpt_uint8 ucKeyId;
2301
2302 /*STATIC/DYNAMIC. Used in Nullifying in Key Descriptors for Static/Dynamic
2303 keys*/
2304 WDI_WepType wdiWEPType;
2305}WDI_RemoveBSSKeyReqInfoType;
2306
2307/*---------------------------------------------------------------------------
2308 WDI_RemoveBSSKeyReqParamsType
2309---------------------------------------------------------------------------*/
2310typedef struct
2311{
2312 /*Key Info */
2313 WDI_RemoveBSSKeyReqInfoType wdiKeyInfo;
2314
2315 /*Request status callback offered by UMAC - it is called if the current
2316 req has returned PENDING as status; it delivers the status of sending
2317 the message over the BUS */
2318 WDI_ReqStatusCb wdiReqStatusCB;
2319
2320 /*The user data passed in by UMAC, it will be sent back when the above
2321 function pointer will be called */
2322 void* pUserData;
2323}WDI_RemoveBSSKeyReqParamsType;
2324
2325/*---------------------------------------------------------------------------
2326 WDI_SetSTAKeyReqInfoType
2327---------------------------------------------------------------------------*/
2328typedef struct
2329{
2330 /*STA Index*/
2331 wpt_uint8 ucSTAIdx;
2332
2333 /*Encryption Type used with peer*/
2334 WDI_EncryptType wdiEncType;
2335
2336 /*STATIC/DYNAMIC*/
2337 WDI_WepType wdiWEPType;
2338
2339 /*Default WEP key, valid only for static WEP, must between 0 and 3.*/
2340 wpt_uint8 ucDefWEPIdx;
2341
2342 /*Number of keys*/
2343 wpt_uint8 ucNumKeys;
2344
2345 /*Array of keys.*/
2346 WDI_KeysType wdiKey[WDI_MAX_ENCR_KEYS];
2347
2348 /*Control for Replay Count, 1= Single TID based replay count on Tx
2349 0 = Per TID based replay count on TX */
2350 wpt_uint8 ucSingleTidRc;
2351}WDI_SetSTAKeyReqInfoType;
2352
2353/*---------------------------------------------------------------------------
2354 WDI_ConfigBSSReqInfoType
2355---------------------------------------------------------------------------*/
2356typedef struct
2357{
2358 /*Peer BSSID*/
2359 wpt_macAddr macBSSID;
2360
2361 /*Self MAC Address*/
2362 wpt_macAddr macSelfAddr;
2363
2364 /*BSS Type*/
2365 WDI_BssType wdiBSSType;
2366
2367 /*Operational Mode: AP =0, STA = 1*/
2368 wpt_uint8 ucOperMode;
2369
2370 /*Network Type*/
2371 WDI_NwType wdiNWType;
2372
2373 /*Used to classify PURE_11G/11G_MIXED to program MTU*/
2374 wpt_uint8 ucShortSlotTimeSupported;
2375
2376 /*Co-exist with 11a STA*/
2377 wpt_uint8 ucllaCoexist;
2378
2379 /*Co-exist with 11b STA*/
2380 wpt_uint8 ucllbCoexist;
2381
2382 /*Co-exist with 11g STA*/
2383 wpt_uint8 ucllgCoexist;
2384
2385 /*Coexistence with 11n STA*/
2386 wpt_uint8 ucHT20Coexist;
2387
2388 /*Non GF coexist flag*/
2389 wpt_uint8 ucllnNonGFCoexist;
2390
2391 /*TXOP protection support*/
2392 wpt_uint8 ucTXOPProtectionFullSupport;
2393
2394 /*RIFS mode*/
2395 wpt_uint8 ucRIFSMode;
2396
2397 /*Beacon Interval in TU*/
2398 wpt_uint16 usBeaconInterval;
2399
2400 /*DTIM period*/
2401 wpt_uint8 ucDTIMPeriod;
2402
2403 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
2404 wpt_uint8 ucTXChannelWidthSet;
2405
2406 /*Operating channel*/
2407 wpt_uint8 ucCurrentOperChannel;
2408
2409 /*Extension channel for channel bonding*/
2410 wpt_uint8 ucCurrentExtChannel;
2411
2412 /*Context of the station being added in HW.*/
2413 WDI_ConfigStaReqInfoType wdiSTAContext;
2414
2415 /*SSID of the BSS*/
2416 WDI_MacSSid wdiSSID;
2417
2418 /*HAL should update the existing BSS entry, if this flag is set. UMAC will
2419 set this flag in case of RE-ASSOC, where we want to reuse the old BSSID*/
2420 WDI_ConfigAction wdiAction;
2421
2422 /*Basic Rate Set*/
2423 WDI_RateSet wdiRateSet;
2424
2425 /*Enable/Disable HT capabilities of the BSS*/
2426 wpt_uint8 ucHTCapable;
2427
2428 /* Enable/Disable OBSS protection */
2429 wpt_uint8 ucObssProtEnabled;
2430
2431 /*RMF enabled/disabled*/
2432 wpt_uint8 ucRMFEnabled;
2433
2434 /*Determines the current HT Operating Mode operating mode of the
2435 802.11n STA*/
2436 WDI_HTOperatingMode wdiHTOperMod;
2437
2438 /*Dual CTS Protection: 0 - Unused, 1 - Used*/
2439 wpt_uint8 ucDualCTSProtection;
2440
2441 /* Probe Response Max retries */
2442 wpt_uint8 ucMaxProbeRespRetryLimit;
2443
2444 /* To Enable Hidden ssid */
2445 wpt_uint8 bHiddenSSIDEn;
2446
2447 /* To Enable Disable FW Proxy Probe Resp */
2448 wpt_uint8 bProxyProbeRespEn;
2449
2450 /* Boolean to indicate if EDCA params are valid. UMAC might not have valid
2451 EDCA params or might not desire to apply EDCA params during config BSS.
2452 0 implies Not Valid ; Non-Zero implies valid*/
2453 wpt_uint8 ucEDCAParamsValid;
2454
2455 /*EDCA Parameters for BK*/
2456 WDI_EdcaParamRecord wdiBKEDCAParams;
2457
2458 /*EDCA Parameters for BE*/
2459 WDI_EdcaParamRecord wdiBEEDCAParams;
2460
2461 /*EDCA Parameters for VI*/
2462 WDI_EdcaParamRecord wdiVIEDCAParams;
2463
2464 /*EDCA Parameters for VO*/
2465 WDI_EdcaParamRecord wdiVOEDCAParams;
2466
2467#ifdef WLAN_FEATURE_VOWIFI
2468 /*max power to be used after applying the power constraint, if any */
2469 wpt_int8 cMaxTxPower;
2470#endif
2471
2472 /* Persona for the BSS can be STA,AP,GO,CLIENT, same as Connection Mode */
2473 wpt_uint8 ucPersona;
2474
2475 /* Spectrum Mangement Indicator */
2476 wpt_uint8 bSpectrumMgtEn;
2477
2478#ifdef WLAN_FEATURE_VOWIFI_11R
2479 wpt_uint8 bExtSetStaKeyParamValid;
2480 WDI_SetSTAKeyReqInfoType wdiExtSetKeyParam;
2481#endif
2482
Jeff Johnsone7245742012-09-05 17:12:55 -07002483#ifdef WLAN_FEATURE_11AC
2484 wpt_uint8 ucVhtCapableSta;
2485 wpt_uint8 ucVhtTxChannelWidthSet;
2486#endif
2487
Jeff Johnson295189b2012-06-20 16:38:30 -07002488}WDI_ConfigBSSReqInfoType;
2489
2490/*---------------------------------------------------------------------------
2491 WDI_PostAssocReqParamsType
2492---------------------------------------------------------------------------*/
2493typedef struct
2494{
2495 /*Config STA arguments.*/
2496 WDI_ConfigStaReqInfoType wdiSTAParams;
2497
2498 /*Config BSS Arguments*/
2499 WDI_ConfigBSSReqInfoType wdiBSSParams;
2500
2501 /*Request status callback offered by UMAC - it is called if the current
2502 req has returned PENDING as status; it delivers the status of sending
2503 the message over the BUS */
2504 WDI_ReqStatusCb wdiReqStatusCB;
2505
2506 /*The user data passed in by UMAC, it will be sent back when the above
2507 function pointer will be called */
2508 void* pUserData;
2509}WDI_PostAssocReqParamsType;
2510
2511/*---------------------------------------------------------------------------
2512 WDI_ConfigBSSReqParamsType
2513---------------------------------------------------------------------------*/
2514typedef struct
2515{
2516 /*Info for the Join request that will be sent down to the device*/
2517 WDI_ConfigBSSReqInfoType wdiReqInfo;
2518
2519 /*Request status callback offered by UMAC - it is called if the current
2520 req has returned PENDING as status; it delivers the status of sending
2521 the message over the BUS */
2522 WDI_ReqStatusCb wdiReqStatusCB;
2523
2524 /*The user data passed in by UMAC, it will be sent back when the above
2525 function pointer will be called */
2526 void* pUserData;
2527}WDI_ConfigBSSReqParamsType;
2528
2529/*---------------------------------------------------------------------------
2530 WDI_SetSTAKeyReqParamsType
2531---------------------------------------------------------------------------*/
2532typedef struct
2533{
2534 /*Key Info*/
2535 WDI_SetSTAKeyReqInfoType wdiKeyInfo;
2536
2537 /*Request status callback offered by UMAC - it is called if the current
2538 req has returned PENDING as status; it delivers the status of sending
2539 the message over the BUS */
2540 WDI_ReqStatusCb wdiReqStatusCB;
2541
2542 /*The user data passed in by UMAC, it will be sent back when the above
2543 function pointer will be called */
2544 void* pUserData;
2545}WDI_SetSTAKeyReqParamsType;
2546
2547/*---------------------------------------------------------------------------
2548 WDI_RemoveSTAKeyReqInfoType
2549---------------------------------------------------------------------------*/
2550typedef struct
2551{
2552 /*STA Index*/
2553 wpt_uint8 ucSTAIdx;
2554
2555 /*Encryption Type used with peer*/
2556 WDI_EncryptType wdiEncType;
2557
2558 /*Key Id*/
2559 wpt_uint8 ucKeyId;
2560
2561 /*Whether to invalidate the Broadcast key or Unicast key. In case of WEP,
2562 the same key is used for both broadcast and unicast.*/
2563 wpt_uint8 ucUnicast;
2564}WDI_RemoveSTAKeyReqInfoType;
2565
2566/*---------------------------------------------------------------------------
2567 WDI_RemoveSTAKeyReqParamsType
2568---------------------------------------------------------------------------*/
2569typedef struct
2570{
2571 /*Key Info */
2572 WDI_RemoveSTAKeyReqInfoType wdiKeyInfo;
2573
2574 /*Request status callback offered by UMAC - it is called if the current
2575 req has returned PENDING as status; it delivers the status of sending
2576 the message over the BUS */
2577 WDI_ReqStatusCb wdiReqStatusCB;
2578
2579 /*The user data passed in by UMAC, it will be sent back when the above
2580 function pointer will be called */
2581 void* pUserData;
2582}WDI_RemoveSTAKeyReqParamsType;
2583
2584/*---------------------------------------------------------------------------
2585 QOS Parameters
2586---------------------------------------------------------------------------*/
2587
2588/*---------------------------------------------------------------------------
2589 WDI_TSInfoTfc
2590---------------------------------------------------------------------------*/
2591typedef struct
2592{
2593 wpt_uint16 ackPolicy:2;
2594 wpt_uint16 userPrio:3;
2595 wpt_uint16 psb:1;
2596 wpt_uint16 aggregation : 1;
2597 wpt_uint16 accessPolicy : 2;
2598 wpt_uint16 direction : 2;
2599 wpt_uint16 tsid : 4;
2600 wpt_uint16 trafficType : 1;
2601} WDI_TSInfoTfc;
2602
2603/*---------------------------------------------------------------------------
2604 WDI_TSInfoSch
2605---------------------------------------------------------------------------*/
2606typedef struct
2607{
2608 wpt_uint8 rsvd : 7;
2609 wpt_uint8 schedule : 1;
2610} WDI_TSInfoSch;
2611
2612/*---------------------------------------------------------------------------
2613 WDI_TSInfoType
2614---------------------------------------------------------------------------*/
2615typedef struct
2616{
2617 WDI_TSInfoTfc wdiTraffic;
2618 WDI_TSInfoSch wdiSchedule;
2619} WDI_TSInfoType;
2620
2621/*---------------------------------------------------------------------------
2622 WDI_TspecIEType
2623---------------------------------------------------------------------------*/
2624typedef struct
2625{
2626 wpt_uint8 ucType;
2627 wpt_uint8 ucLength;
2628 WDI_TSInfoType wdiTSinfo;
2629 wpt_uint16 usNomMsduSz;
2630 wpt_uint16 usMaxMsduSz;
2631 wpt_uint32 uMinSvcInterval;
2632 wpt_uint32 uMaxSvcInterval;
2633 wpt_uint32 uInactInterval;
2634 wpt_uint32 uSuspendInterval;
2635 wpt_uint32 uSvcStartTime;
2636 wpt_uint32 uMinDataRate;
2637 wpt_uint32 uMeanDataRate;
2638 wpt_uint32 uPeakDataRate;
2639 wpt_uint32 uMaxBurstSz;
2640 wpt_uint32 uDelayBound;
2641 wpt_uint32 uMinPhyRate;
2642 wpt_uint16 usSurplusBw;
2643 wpt_uint16 usMediumTime;
2644}WDI_TspecIEType;
2645
2646/*---------------------------------------------------------------------------
2647 WDI_AddTSReqInfoType
2648---------------------------------------------------------------------------*/
2649typedef struct
2650{
2651 /*STA Index*/
2652 wpt_uint8 ucSTAIdx;
2653
2654 /*Identifier for TSpec*/
2655 wpt_uint16 ucTspecIdx;
2656
2657 /*Tspec IE negotiated OTA*/
2658 WDI_TspecIEType wdiTspecIE;
2659
2660 /*UAPSD delivery and trigger enabled flags */
2661 wpt_uint8 ucUapsdFlags;
2662
2663 /*SI for each AC*/
2664 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
2665
2666 /*Suspend Interval for each AC*/
2667 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
2668
2669 /*DI for each AC*/
2670 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
2671
2672}WDI_AddTSReqInfoType;
2673
2674
2675/*---------------------------------------------------------------------------
2676 WDI_AddTSReqParamsType
2677---------------------------------------------------------------------------*/
2678typedef struct
2679{
2680 /*TSpec Info */
2681 WDI_AddTSReqInfoType wdiTsInfo;
2682
2683 /*Request status callback offered by UMAC - it is called if the current
2684 req has returned PENDING as status; it delivers the status of sending
2685 the message over the BUS */
2686 WDI_ReqStatusCb wdiReqStatusCB;
2687
2688 /*The user data passed in by UMAC, it will be sent back when the above
2689 function pointer will be called */
2690 void* pUserData;
2691}WDI_AddTSReqParamsType;
2692
2693/*---------------------------------------------------------------------------
2694 WDI_DelTSReqInfoType
2695---------------------------------------------------------------------------*/
2696typedef struct
2697{
2698 /*STA Index*/
2699 wpt_uint8 ucSTAIdx;
2700
2701 /*Identifier for TSpec*/
2702 wpt_uint16 ucTspecIdx;
2703
2704 /*BSSID of the BSS*/
2705 wpt_macAddr macBSSID;
2706}WDI_DelTSReqInfoType;
2707
2708/*---------------------------------------------------------------------------
2709 WDI_DelTSReqParamsType
2710---------------------------------------------------------------------------*/
2711typedef struct
2712{
2713 /*Del TSpec Info*/
2714 WDI_DelTSReqInfoType wdiDelTSInfo;
2715
2716 /*Request status callback offered by UMAC - it is called if the current
2717 req has returned PENDING as status; it delivers the status of sending
2718 the message over the BUS */
2719 WDI_ReqStatusCb wdiReqStatusCB;
2720
2721 /*The user data passed in by UMAC, it will be sent back when the above
2722 function pointer will be called */
2723 void* pUserData;
2724}WDI_DelTSReqParamsType;
2725
2726/*---------------------------------------------------------------------------
2727 WDI_UpdateEDCAInfoType
2728---------------------------------------------------------------------------*/
2729typedef struct
2730{
krunal soni0b366c02013-07-17 19:55:57 -07002731 /*BSS Index of the BSS*/
2732 wpt_uint16 ucBssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07002733
Jeff Johnson295189b2012-06-20 16:38:30 -07002734 /*EDCA params for BE*/
2735 WDI_EdcaParamRecord wdiEdcaBEInfo;
2736
2737 /*EDCA params for BK*/
2738 WDI_EdcaParamRecord wdiEdcaBKInfo;
2739
2740 /*EDCA params for VI*/
2741 WDI_EdcaParamRecord wdiEdcaVIInfo;
2742
2743 /*EDCA params for VO*/
2744 WDI_EdcaParamRecord wdiEdcaVOInfo;
2745
2746}WDI_UpdateEDCAInfoType;
2747
2748/*---------------------------------------------------------------------------
2749 WDI_UpdateEDCAParamsType
2750---------------------------------------------------------------------------*/
2751typedef struct
2752{
2753 /*EDCA Info */
2754 WDI_UpdateEDCAInfoType wdiEDCAInfo;
2755
2756 /*Request status callback offered by UMAC - it is called if the current
2757 req has returned PENDING as status; it delivers the status of sending
2758 the message over the BUS */
2759 WDI_ReqStatusCb wdiReqStatusCB;
2760
2761 /*The user data passed in by UMAC, it will be sent back when the above
2762 function pointer will be called */
2763 void* pUserData;
2764}WDI_UpdateEDCAParamsType;
2765
2766/*---------------------------------------------------------------------------
2767 WDI_AddBASessionReqinfoType
2768---------------------------------------------------------------------------*/
2769typedef struct
2770{
2771 /*Indicates the station for which BA is added..*/
2772 wpt_uint8 ucSTAIdx;
2773
2774 /*The peer mac address*/
2775 wpt_macAddr macPeerAddr;
2776
2777 /*TID for which BA was negotiated*/
2778 wpt_uint8 ucBaTID;
2779
2780 /*Delayed or imediate */
2781 wpt_uint8 ucBaPolicy;
2782
2783 /*The number of buffers for this TID (baTID)*/
2784 wpt_uint16 usBaBufferSize;
2785
2786 /*BA timeout in TU's*/
2787 wpt_uint16 usBaTimeout;
2788
2789 /*b0..b3 - Fragment Number - Always set to 0
2790 b4..b15 - Starting Sequence Number of first MSDU for which this BA is setup*/
2791 wpt_uint16 usBaSSN;
2792
2793 /*Originator/Recipient*/
2794 wpt_uint8 ucBaDirection;
2795
2796}WDI_AddBASessionReqinfoType;
2797
2798
2799/*---------------------------------------------------------------------------
2800 WDI_AddBASessionReqParamsType
2801---------------------------------------------------------------------------*/
2802typedef struct
2803{
2804 /*BA Session Info Type*/
2805 WDI_AddBASessionReqinfoType wdiBASessionInfoType;
2806
2807 /*Request status callback offered by UMAC - it is called if the current
2808 req has returned PENDING as status; it delivers the status of sending
2809 the message over the BUS */
2810 WDI_ReqStatusCb wdiReqStatusCB;
2811
2812 /*The user data passed in by UMAC, it will be sent back when the above
2813 function pointer will be called */
2814 void* pUserData;
2815}WDI_AddBASessionReqParamsType;
2816
2817/*---------------------------------------------------------------------------
2818 WDI_AddBASessionRspParamsType
2819---------------------------------------------------------------------------*/
2820typedef struct
2821{
2822 /*Status of the response*/
2823 WDI_Status wdiStatus;
2824
2825 /* Dialog token */
2826 wpt_uint8 ucBaDialogToken;
2827
2828 /* TID for which the BA session has been setup */
2829 wpt_uint8 ucBaTID;
2830
2831 /* BA Buffer Size allocated for the current BA session */
2832 wpt_uint8 ucBaBufferSize;
2833
2834 /* BA session ID */
2835 wpt_uint16 usBaSessionID;
2836
2837 /* Reordering Window buffer */
2838 wpt_uint8 ucWinSize;
2839
2840 /*Station Index to id the sta */
2841 wpt_uint8 ucSTAIdx;
2842
2843 /* Starting Sequence Number */
2844 wpt_uint16 usBaSSN;
2845
2846}WDI_AddBASessionRspParamsType;
2847
2848/*---------------------------------------------------------------------------
Siddharth Bhal171788a2014-09-29 21:02:40 +05302849 WDI_SpoofMacAddrRspParamType
2850---------------------------------------------------------------------------*/
2851typedef struct
2852{
2853 /* wdi status */
2854 wpt_uint32 wdiStatus;
2855
2856 /* Reserved Field */
2857 wpt_uint32 reserved;
2858
2859}WDI_SpoofMacAddrRspParamType;
2860/*---------------------------------------------------------------------------
Siddharth Bhal64246172015-02-27 01:04:37 +05302861 WDI_GetFrameLogRspParamType
2862---------------------------------------------------------------------------*/
2863typedef struct
2864{
2865 /* wdi status */
2866 wpt_uint32 wdiStatus;
2867}WDI_GetFrameLogRspParamType;
2868/*---------------------------------------------------------------------------
Siddharth Bhald1be97f2015-05-27 22:39:59 +05302869 WDI_FWLoggingInitRspParamType
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05302870---------------------------------------------------------------------------*/
2871typedef struct
2872{
Siddharth Bhald1be97f2015-05-27 22:39:59 +05302873 //FW mail box address
2874 wpt_uint64 logMailBoxAddr;
2875 wpt_uint32 status;
2876 //Logging mail box version
2877 wpt_uint8 logMailBoxVer;
2878 //Qshrink is enabled
2879 wpt_boolean logCompressEnabled;
c_manjeecfd1efb2015-09-25 19:32:34 +05302880 /* store the size of fw mem dump */
2881 wpt_uint32 fw_mem_dump_max_size;
Siddharth Bhald1be97f2015-05-27 22:39:59 +05302882 //Reserved for future purpose
Siddharth Bhald1be97f2015-05-27 22:39:59 +05302883 wpt_uint32 reserved1;
2884 wpt_uint32 reserved2;
2885}WDI_FWLoggingInitRspParamType;
Sachin Ahuja715aafc2015-07-21 23:35:10 +05302886
Gupta, Kapil7c34b322015-09-30 13:12:35 +05302887typedef struct
2888{
2889 /* wdi status */
2890 wpt_uint32 status;
2891}WDI_RssiMonitorStartRspParamType;
Sachin Ahuja715aafc2015-07-21 23:35:10 +05302892
Gupta, Kapil7c34b322015-09-30 13:12:35 +05302893typedef struct
2894{
2895 /* wdi status */
2896 wpt_uint32 status;
2897}WDI_RssiMonitorStopRspParamType;
Sachin Ahuja715aafc2015-07-21 23:35:10 +05302898/*---------------------------------------------------------------------------
2899 WDI_FatalEventLogsRspParamType
2900---------------------------------------------------------------------------*/
2901typedef struct
2902{
2903 /* wdi status */
2904 wpt_uint32 wdiStatus;
2905}WDI_FatalEventLogsRspParamType;
2906
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05302907/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07002908 WDI_AddBAReqinfoType
2909---------------------------------------------------------------------------*/
2910typedef struct
2911{
2912 /*Indicates the station for which BA is added..*/
2913 wpt_uint8 ucSTAIdx;
2914
2915 /* Session Id */
2916 wpt_uint8 ucBaSessionID;
2917
2918 /* Reorder Window Size */
2919 wpt_uint8 ucWinSize;
2920
2921#ifdef FEATURE_ON_CHIP_REORDERING
2922 wpt_boolean bIsReorderingDoneOnChip;
2923#endif
2924
2925}WDI_AddBAReqinfoType;
2926
2927
2928/*---------------------------------------------------------------------------
2929 WDI_AddBAReqParamsType
2930---------------------------------------------------------------------------*/
2931typedef struct
2932{
2933 /*BA Info Type*/
2934 WDI_AddBAReqinfoType wdiBAInfoType;
2935
2936 /*Request status callback offered by UMAC - it is called if the current
2937 req has returned PENDING as status; it delivers the status of sending
2938 the message over the BUS */
2939 WDI_ReqStatusCb wdiReqStatusCB;
2940
2941 /*The user data passed in by UMAC, it will be sent back when the above
2942 function pointer will be called */
2943 void* pUserData;
2944}WDI_AddBAReqParamsType;
2945
2946
2947/*---------------------------------------------------------------------------
2948 WDI_AddBARspinfoType
2949---------------------------------------------------------------------------*/
2950typedef struct
2951{
2952 /*Status of the response*/
2953 WDI_Status wdiStatus;
2954
2955 /* Dialog token */
2956 wpt_uint8 ucBaDialogToken;
2957
2958}WDI_AddBARspinfoType;
2959
2960/*---------------------------------------------------------------------------
2961 WDI_TriggerBAReqCandidateType
2962---------------------------------------------------------------------------*/
2963typedef struct
2964{
2965 /* STA index */
2966 wpt_uint8 ucSTAIdx;
2967
2968 /* TID bit map for the STA's*/
2969 wpt_uint8 ucTidBitmap;
2970
2971}WDI_TriggerBAReqCandidateType;
2972
2973
2974/*---------------------------------------------------------------------------
2975 WDI_TriggerBAReqinfoType
2976---------------------------------------------------------------------------*/
2977typedef struct
2978{
2979 /*Indicates the station for which BA is added..*/
2980 wpt_uint8 ucSTAIdx;
2981
2982 /* Session Id */
2983 wpt_uint8 ucBASessionID;
2984
2985 /* Trigger BA Request candidate count */
2986 wpt_uint16 usBACandidateCnt;
2987
2988 /* WDI_TriggerBAReqCandidateType followed by this*/
2989
2990}WDI_TriggerBAReqinfoType;
2991
2992
2993/*---------------------------------------------------------------------------
2994 WDI_TriggerBAReqParamsType
2995---------------------------------------------------------------------------*/
2996typedef struct
2997{
2998 /*BA Trigger Info Type*/
2999 WDI_TriggerBAReqinfoType wdiTriggerBAInfoType;
3000
3001 /*Request status callback offered by UMAC - it is called if the current
3002 req has returned PENDING as status; it delivers the status of sending
3003 the message over the BUS */
3004 WDI_ReqStatusCb wdiReqStatusCB;
3005
3006 /*The user data passed in by UMAC, it will be sent back when the above
3007 function pointer will be called */
3008 void* pUserData;
3009}WDI_TriggerBAReqParamsType;
3010
3011/*---------------------------------------------------------------------------
3012 WDI_AddBAInfoType
3013---------------------------------------------------------------------------*/
3014typedef struct
3015{
3016 wpt_uint16 fBaEnable : 1;
3017 wpt_uint16 startingSeqNum: 12;
3018 wpt_uint16 reserved : 3;
3019}WDI_AddBAInfoType;
3020
3021/*---------------------------------------------------------------------------
3022 WDI_TriggerBARspCandidateType
3023---------------------------------------------------------------------------*/
3024#define STA_MAX_TC 8
3025
3026typedef struct
3027{
3028 /* STA index */
3029 wpt_macAddr macSTA;
3030
3031 /* BA Info */
3032 WDI_AddBAInfoType wdiBAInfo[STA_MAX_TC];
3033}WDI_TriggerBARspCandidateType;
3034
3035/*---------------------------------------------------------------------------
3036 WDI_TriggerBARspParamsType
3037---------------------------------------------------------------------------*/
3038typedef struct
3039{
3040 /*Status of the response*/
3041 WDI_Status wdiStatus;
3042
3043 /*BSSID of the BSS*/
3044 wpt_macAddr macBSSID;
3045
3046 /* Trigger BA response candidate count */
3047 wpt_uint16 usBaCandidateCnt;
3048
3049 /* WDI_TriggerBARspCandidateType followed by this*/
3050
3051}WDI_TriggerBARspParamsType;
3052
3053/*---------------------------------------------------------------------------
3054 WDI_DelBAReqinfoType
3055---------------------------------------------------------------------------*/
3056typedef struct
3057{
3058 /*Indicates the station for which BA is added..*/
3059 wpt_uint8 ucSTAIdx;
3060
3061 /*TID for which BA was negotiated*/
3062 wpt_uint8 ucBaTID;
3063
3064 /*Originator/Recipient*/
3065 wpt_uint8 ucBaDirection;
3066
3067}WDI_DelBAReqinfoType;
3068
3069/*---------------------------------------------------------------------------
3070 WDI_DelBAReqParamsType
3071---------------------------------------------------------------------------*/
3072typedef struct
3073{
3074 /*BA Info */
3075 WDI_DelBAReqinfoType wdiBAInfo;
3076
3077 /*Request status callback offered by UMAC - it is called if the current
3078 req has returned PENDING as status; it delivers the status of sending
3079 the message over the BUS */
3080 WDI_ReqStatusCb wdiReqStatusCB;
3081
3082 /*The user data passed in by UMAC, it will be sent back when the above
3083 function pointer will be called */
3084 void* pUserData;
3085}WDI_DelBAReqParamsType;
3086
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08003087/*---------------------------------------------------------------------------
3088 WDI_UpdateChannelReqinfoType
3089---------------------------------------------------------------------------*/
3090typedef struct
3091{
3092 /** primary 20 MHz channel frequency in mhz */
3093 wpt_uint32 mhz;
3094 /** Center frequency 1 in MHz*/
3095 wpt_uint32 band_center_freq1;
3096 /** Center frequency 2 in MHz - valid only for 11acvht 80plus80 mode*/
3097 wpt_uint32 band_center_freq2;
3098 /* The first 26 bits are a bit mask to indicate any channel flags,
3099 (see WLAN_HAL_CHAN_FLAG*)
3100 The last 6 bits indicate the mode (see tChannelPhyModeType)*/
3101 wpt_uint32 channel_info;
3102 /** contains min power, max power, reg power and reg class id. */
3103 wpt_uint32 reg_info_1;
3104 /** contains antennamax */
3105 wpt_uint32 reg_info_2;
3106}WDI_UpdateChannelReqinfoType;
3107
3108typedef struct
3109{
3110 wpt_uint8 numchan;
3111 WDI_UpdateChannelReqinfoType *pchanParam;
3112}WDI_UpdateChannelReqType;
3113/*---------------------------------------------------------------------------
3114 WDI_UpdateChReqParamsType
3115---------------------------------------------------------------------------*/
3116typedef struct
3117{
3118 /*BA Info */
3119 WDI_UpdateChannelReqType wdiUpdateChanParams;
3120
3121 /*Request status callback offered by UMAC - it is called if the current
3122 req has returned PENDING as status; it delivers the status of sending
3123 the message over the BUS */
3124 WDI_ReqStatusCb wdiReqStatusCB;
3125
3126 /*The user data passed in by UMAC, it will be sent back when the above
3127 function pointer will be called */
3128 void* pUserData;
3129}WDI_UpdateChReqParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003130
3131/*---------------------------------------------------------------------------
3132 WDI_SwitchCHRspParamsType
3133---------------------------------------------------------------------------*/
3134typedef struct
3135{
3136 /*Status of the response*/
3137 WDI_Status wdiStatus;
3138
3139 /*Indicates the channel that WLAN is on*/
3140 wpt_uint8 ucChannel;
3141
3142#ifdef WLAN_FEATURE_VOWIFI
3143 /*HAL fills in the tx power used for mgmt frames in this field.*/
3144 wpt_int8 ucTxMgmtPower;
3145#endif
3146
3147}WDI_SwitchCHRspParamsType;
3148
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08003149/*--------------------------------------------------------------------
3150 WDI_SwitchChRspParamsType_V1
3151--------------------------------------------------------------------*/
3152typedef struct
3153{
3154 /*Status of the response*/
3155 WDI_Status wdiStatus;
3156
3157 /*Indicates the channel that WLAN is on*/
3158 wpt_uint8 ucChannel;
3159
3160#ifdef WLAN_FEATURE_VOWIFI
3161 /*HAL fills in the tx power used for mgmt frames in this field.*/
3162 wpt_int8 ucTxMgmtPower;
3163#endif
3164
3165 /* Source of Channel Switch */
3166 WDI_ChanSwitchSource channelSwitchSrc;
3167}WDI_SwitchChRspParamsType_V1;
3168
Jeff Johnson295189b2012-06-20 16:38:30 -07003169/*---------------------------------------------------------------------------
3170 WDI_ConfigSTAReqParamsType
3171---------------------------------------------------------------------------*/
3172typedef struct
3173{
3174 /*Info for the Join request that will be sent down to the device*/
3175 WDI_ConfigStaReqInfoType wdiReqInfo;
3176
3177 /*Request status callback offered by UMAC - it is called if the current
3178 req has returned PENDING as status; it delivers the status of sending
3179 the message over the BUS */
3180 WDI_ReqStatusCb wdiReqStatusCB;
3181
3182 /*The user data passed in by UMAC, it will be sent back when the above
3183 function pointer will be called */
3184 void* pUserData;
3185}WDI_ConfigSTAReqParamsType;
3186
3187
3188/*---------------------------------------------------------------------------
3189 WDI_UpdateBeaconParamsInfoType
3190---------------------------------------------------------------------------*/
3191
3192typedef struct
3193{
3194 /*BSS Index of the BSS*/
3195 wpt_uint8 ucBssIdx;
3196
3197 /*shortPreamble mode. HAL should update all the STA rates when it
3198 receives this message*/
3199 wpt_uint8 ucfShortPreamble;
3200 /* short Slot time.*/
3201 wpt_uint8 ucfShortSlotTime;
3202 /* Beacon Interval */
3203 wpt_uint16 usBeaconInterval;
3204 /*Protection related */
3205 wpt_uint8 ucllaCoexist;
3206 wpt_uint8 ucllbCoexist;
3207 wpt_uint8 ucllgCoexist;
3208 wpt_uint8 ucHt20MhzCoexist;
3209 wpt_uint8 ucllnNonGFCoexist;
3210 wpt_uint8 ucfLsigTXOPProtectionFullSupport;
3211 wpt_uint8 ucfRIFSMode;
3212
3213 wpt_uint16 usChangeBitmap;
3214}WDI_UpdateBeaconParamsInfoType;
3215
Mohit Khanna4a70d262012-09-11 16:30:12 -07003216#ifdef WLAN_FEATURE_11AC
3217typedef struct
3218{
3219 wpt_uint16 opMode;
3220 wpt_uint16 staId;
3221}WDI_UpdateVHTOpMode;
3222#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003223
3224/*---------------------------------------------------------------------------
3225 WDI_UpdateBeaconParamsType
3226---------------------------------------------------------------------------*/
3227typedef struct
3228{
3229 /*Update Beacon Params Info*/
3230 WDI_UpdateBeaconParamsInfoType wdiUpdateBeaconParamsInfo;
3231
3232 /*Request status callback offered by UMAC - it is called if the current
3233 req has returned PENDING as status; it delivers the status of sending
3234 the message over the BUS */
3235 WDI_ReqStatusCb wdiReqStatusCB;
3236
3237 /*The user data passed in by UMAC, it will be sent back when the above
3238 function pointer will be called */
3239 void* pUserData;
3240}WDI_UpdateBeaconParamsType;
3241
3242/*---------------------------------------------------------------------------
3243 WDI_SendBeaconParamsInfoType
3244---------------------------------------------------------------------------*/
3245
3246typedef struct {
3247
3248 /*BSSID of the BSS*/
3249 wpt_macAddr macBSSID;
3250
3251 /* Beacon data */
3252 wpt_uint8 beacon[WDI_BEACON_TEMPLATE_SIZE];
3253
3254 /* length of the template */
3255 wpt_uint32 beaconLength;
3256
Jeff Johnson295189b2012-06-20 16:38:30 -07003257 /* TIM IE offset from the beginning of the template.*/
3258 wpt_uint32 timIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07003259
Jeff Johnson295189b2012-06-20 16:38:30 -07003260 /* P2P IE offset from the beginning of the template */
3261 wpt_uint16 usP2PIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07003262} WDI_SendBeaconParamsInfoType;
3263
3264/*---------------------------------------------------------------------------
3265 WDI_SendBeaconParamsType
3266---------------------------------------------------------------------------*/
3267typedef struct
3268{
3269 /*Send Beacon Params Info*/
3270 WDI_SendBeaconParamsInfoType wdiSendBeaconParamsInfo;
3271
3272 /*Request status callback offered by UMAC - it is called if the current
3273 req has returned PENDING as status; it delivers the status of sending
3274 the message over the BUS */
3275 WDI_ReqStatusCb wdiReqStatusCB;
3276
3277 /*The user data passed in by UMAC, it will be sent back when the above
3278 function pointer will be called */
3279 void* pUserData;
3280}WDI_SendBeaconParamsType;
3281
3282/*---------------------------------------------------------------------------
3283 WDI_LinkStateType
3284---------------------------------------------------------------------------*/
3285typedef enum
3286{
3287 WDI_LINK_IDLE_STATE = 0,
3288 WDI_LINK_PREASSOC_STATE = 1,
3289 WDI_LINK_POSTASSOC_STATE = 2,
3290 WDI_LINK_AP_STATE = 3,
3291 WDI_LINK_IBSS_STATE = 4,
3292
3293 // BT-AMP Case
3294 WDI_LINK_BTAMP_PREASSOC_STATE = 5,
3295 WDI_LINK_BTAMP_POSTASSOC_STATE = 6,
3296 WDI_LINK_BTAMP_AP_STATE = 7,
3297 WDI_LINK_BTAMP_STA_STATE = 8,
3298
3299 // Reserved for HAL internal use
3300 WDI_LINK_LEARN_STATE = 9,
3301 WDI_LINK_SCAN_STATE = 10,
3302 WDI_LINK_FINISH_SCAN_STATE = 11,
3303 WDI_LINK_INIT_CAL_STATE = 12,
3304 WDI_LINK_FINISH_CAL_STATE = 13,
Jeff Johnson295189b2012-06-20 16:38:30 -07003305 WDI_LINK_LISTEN_STATE = 14,
Gopichand Nakkala924e4552013-05-08 19:18:14 +05303306 WDI_LINK_SEND_ACTION_STATE = 15,
Jeff Johnson295189b2012-06-20 16:38:30 -07003307 WDI_LINK_MAX = 0x7FFFFFFF
3308} WDI_LinkStateType;
3309
3310/*---------------------------------------------------------------------------
3311 WDI_SetLinkReqInfoType
3312---------------------------------------------------------------------------*/
3313typedef struct
3314{
3315 /*BSSID of the BSS*/
3316 wpt_macAddr macBSSID;
3317
3318 /*Link state*/
3319 WDI_LinkStateType wdiLinkState;
3320
3321 /*BSSID of the BSS*/
3322 wpt_macAddr macSelfStaMacAddr;
3323}WDI_SetLinkReqInfoType;
3324
3325/*---------------------------------------------------------------------------
3326 WDI_SetLinkReqParamsType
3327---------------------------------------------------------------------------*/
3328typedef struct
3329{
3330 /*Link Info*/
3331 WDI_SetLinkReqInfoType wdiLinkInfo;
3332
3333 /*Request status callback offered by UMAC - it is called if the current
3334 req has returned PENDING as status; it delivers the status of sending
3335 the message over the BUS */
3336 WDI_ReqStatusCb wdiReqStatusCB;
3337
3338 /*The user data passed in by UMAC, it will be sent back when the above
3339 function pointer will be called */
3340 void* pUserData;
3341}WDI_SetLinkReqParamsType;
3342
3343/*---------------------------------------------------------------------------
3344 WDI_GetStatsParamsInfoType
3345---------------------------------------------------------------------------*/
3346typedef struct
3347{
3348 /*Indicates the station for which Get Stats are requested..*/
3349 wpt_uint8 ucSTAIdx;
3350
3351 /* categories of stats requested */
3352 wpt_uint32 uStatsMask;
3353}WDI_GetStatsParamsInfoType;
3354
3355/*---------------------------------------------------------------------------
3356 WDI_GetStatsReqParamsType
3357---------------------------------------------------------------------------*/
3358typedef struct
3359{
3360 /*Get Stats Params Info*/
3361 WDI_GetStatsParamsInfoType wdiGetStatsParamsInfo;
3362
3363 /*Request status callback offered by UMAC - it is called if the current
3364 req has returned PENDING as status; it delivers the status of sending
3365 the message over the BUS */
3366 WDI_ReqStatusCb wdiReqStatusCB;
3367
3368 /*The user data passed in by UMAC, it will be sent back when the above
3369 function pointer will be called */
3370 void* pUserData;
3371}WDI_GetStatsReqParamsType;
3372
3373/*---------------------------------------------------------------------------
3374 WDI_GetStatsRspParamsType
3375---------------------------------------------------------------------------*/
3376typedef struct
3377{
3378 /*message type is same as the request type*/
3379 wpt_uint16 usMsgType;
3380
3381 /* length of the entire request, includes the pStatsBuf length too*/
3382 wpt_uint16 usMsgLen;
3383
3384 /*Result of the operation*/
3385 WDI_Status wdiStatus;
3386
3387 /*Indicates the station for which Get Stats are requested..*/
3388 wpt_uint8 ucSTAIdx;
3389
3390 /* categories of stats requested */
3391 wpt_uint32 uStatsMask;
3392
3393 /* The Stats buffer starts here and can be an aggregate of more than one statistics
3394 * structure depending on statsMask.*/
3395}WDI_GetStatsRspParamsType;
3396
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003397#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08003398/*---------------------------------------------------------------------------
3399 WDI_GetRoamRssiParamsInfoType
3400---------------------------------------------------------------------------*/
3401typedef struct
3402{
3403 /*Indicates the station for which Get Stats are requested..*/
3404 wpt_uint8 ucSTAIdx;
3405
3406 /* categories of stats requested */
3407 wpt_uint32 uStatsMask;
3408}WDI_GetRoamRssiParamsInfoType;
3409
3410/*---------------------------------------------------------------------------
3411 WDI_GetRoamRssiReqParamsType
3412---------------------------------------------------------------------------*/
3413typedef struct
3414{
3415 /*Get Roam Rssi Params Info*/
3416 WDI_GetRoamRssiParamsInfoType wdiGetRoamRssiParamsInfo;
3417
3418 /*Request status callback offered by UMAC - it is called if the current
3419 req has returned PENDING as status; it delivers the status of sending
3420 the message over the BUS */
3421 WDI_ReqStatusCb wdiReqStatusCB;
3422
3423 /*The user data passed in by UMAC, it will be sent back when the above
3424 function pointer will be called */
3425 void* pUserData;
3426}WDI_GetRoamRssiReqParamsType;
3427
3428/*---------------------------------------------------------------------------
3429 WDI_GetRoamRssiRspParamsType
3430---------------------------------------------------------------------------*/
3431typedef struct
3432{
3433 /*Result of the operation*/
3434 WDI_Status wdiStatus;
3435
3436 /*Indicates the station for which Get Stats are requested..*/
3437 wpt_uint8 ucSTAIdx;
3438
3439 /* roam rssi requested */
3440 wpt_int8 rssi;
3441
3442 /* The Stats buffer starts here and can be an aggregate of more than one statistics
3443 * structure depending on statsMask.*/
3444}WDI_GetRoamRssiRspParamsType;
3445#endif
3446
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003447#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07003448/*---------------------------------------------------------------------------
3449 WDI_TSMStatsParamsInfoType
3450---------------------------------------------------------------------------*/
3451typedef struct
3452{
3453 /*Indicates the station for which Get Stats are requested..*/
3454 wpt_uint8 ucTid;
3455
3456 wpt_macAddr bssid;
3457}WDI_TSMStatsParamsInfoType;
3458
3459/*---------------------------------------------------------------------------
3460 WDI_TSMStatsReqParamsType
3461---------------------------------------------------------------------------*/
3462typedef struct
3463{
3464 /*Get TSM Stats Params Info*/
3465 WDI_TSMStatsParamsInfoType wdiTsmStatsParamsInfo;
3466
3467 WDI_ReqStatusCb wdiReqStatusCB;
3468
3469 /*The user data passed in by UMAC, it will be sent back when the above
3470 function pointer will be called */
3471 void* pUserData;
3472
3473}WDI_TSMStatsReqParamsType;
3474
3475
3476/*---------------------------------------------------------------------------
3477 WDI_TSMStatsRspParamsType
3478---------------------------------------------------------------------------*/
3479typedef struct
3480{
3481 /*Indicates the status of the operation */
3482 WDI_Status wdiStatus;
3483
3484 wpt_uint16 UplinkPktQueueDly;
3485 wpt_uint16 UplinkPktQueueDlyHist[4];
3486 wpt_uint32 UplinkPktTxDly;
3487 wpt_uint16 UplinkPktLoss;
3488 wpt_uint16 UplinkPktCount;
3489 wpt_uint8 RoamingCount;
3490 wpt_uint16 RoamingDly;
3491}WDI_TSMStatsRspParamsType;
3492
3493
3494#endif
3495/*---------------------------------------------------------------------------
3496 WDI_UpdateCfgReqParamsType
3497---------------------------------------------------------------------------*/
3498typedef struct
3499{
3500 /*This is a TLV formatted buffer containing all config values that can
3501 be set through the DAL Interface
3502
3503 The TLV is expected to be formatted like this:
3504
3505 0 7 15 31 ....
3506 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
3507
3508 Or from a C construct point of VU it would look like this:
3509
3510 typedef struct WPT_PACK_POST
3511 {
3512 #ifdef WPT_BIG_ENDIAN
3513 wpt_uint32 ucCfgId:8;
3514 wpt_uint32 ucCfgLen:8;
3515 wpt_uint32 usReserved:16;
3516 #else
3517 wpt_uint32 usReserved:16;
3518 wpt_uint32 ucCfgLen:8;
3519 wpt_uint32 ucCfgId:8;
3520 #endif
3521
3522 wpt_uint8 ucCfgBody[ucCfgLen];
3523 }WDI_ConfigType;
3524
3525 Multiple such tuplets are to be placed in the config buffer. One for
3526 each required configuration item:
3527
3528 | TLV 1 | TLV2 | ....
3529
3530 The buffer is expected to be a flat area of memory that can be manipulated
3531 with standard memory routines.
3532
3533 For more info please check paragraph 2.3.1 Config Structure from the
3534 HAL LLD.
3535
3536 For a list of accepted configuration list and IDs please look up
3537 wlan_qct_dal_cfg.h
3538 */
3539 void* pConfigBuffer;
3540
3541 /*Length of the config buffer above*/
3542 wpt_uint32 uConfigBufferLen;
3543
3544 /*Request status callback offered by UMAC - it is called if the current
3545 req has returned PENDING as status; it delivers the status of sending
3546 the message over the BUS */
3547 WDI_ReqStatusCb wdiReqStatusCB;
3548
3549 /*The user data passed in by UMAC, it will be sent back when the above
3550 function pointer will be called */
3551 void* pUserData;
3552}WDI_UpdateCfgReqParamsType;
3553
3554/*---------------------------------------------------------------------------
3555 WDI_UpdateProbeRspTemplateInfoType
3556---------------------------------------------------------------------------*/
3557//Default Beacon template size
3558#define WDI_PROBE_RSP_TEMPLATE_SIZE 0x180
3559
3560#define WDI_PROBE_REQ_BITMAP_IE_LEN 8
3561
3562typedef struct
3563{
3564 /*BSSID for which the Probe Template is to be used*/
3565 wpt_macAddr macBSSID;
3566
3567 /*Probe response template*/
3568 wpt_uint8 *pProbeRespTemplate[WDI_PROBE_RSP_TEMPLATE_SIZE];
3569
3570 /*Template Len*/
3571 wpt_uint32 uProbeRespTemplateLen;
3572
3573 /*Bitmap for the IEs that are to be handled at SLM level*/
3574 wpt_uint32 uaProxyProbeReqValidIEBmap[WDI_PROBE_REQ_BITMAP_IE_LEN];
3575
3576}WDI_UpdateProbeRspTemplateInfoType;
3577
3578/*---------------------------------------------------------------------------
3579 WDI_UpdateProbeRspParamsType
3580---------------------------------------------------------------------------*/
3581typedef struct
3582{
3583 /*Link Info*/
3584 WDI_UpdateProbeRspTemplateInfoType wdiProbeRspTemplateInfo;
3585
3586 /*Request status callback offered by UMAC - it is called if the current
3587 req has returned PENDING as status; it delivers the status of sending
3588 the message over the BUS */
3589 WDI_ReqStatusCb wdiReqStatusCB;
3590
3591 /*The user data passed in by UMAC, it will be sent back when the above
3592 function pointer will be called */
3593 void* pUserData;
3594}WDI_UpdateProbeRspTemplateParamsType;
3595
3596/*---------------------------------------------------------------------------
3597 WDI_NvDownloadReqBlobInfo
3598---------------------------------------------------------------------------*/
3599
3600typedef struct
3601{
3602 /* Blob starting address*/
3603 void *pBlobAddress;
3604
3605 /* Blob size */
3606 wpt_uint32 uBlobSize;
3607
3608}WDI_NvDownloadReqBlobInfo;
3609
3610/*---------------------------------------------------------------------------
3611 WDI_NvDownloadReqParamsType
3612---------------------------------------------------------------------------*/
3613typedef struct
3614{
3615 /*NV Blob Info*/
3616 WDI_NvDownloadReqBlobInfo wdiBlobInfo;
3617
3618 /*Request status callback offered by UMAC - it is called if the current
3619 req has returned PENDING as status; it delivers the status of sending
3620 the message over the BUS */
3621 WDI_ReqStatusCb wdiReqStatusCB;
3622
3623 /*The user data passed in by UMAC, it will be sent back when the above
3624 function pointer will be called */
3625 void* pUserData;
3626
3627}WDI_NvDownloadReqParamsType;
3628
3629/*---------------------------------------------------------------------------
3630 WDI_NvDownloadRspInfoType
3631---------------------------------------------------------------------------*/
3632typedef struct
3633{
3634 /*Status of the response*/
3635 WDI_Status wdiStatus;
3636
3637}WDI_NvDownloadRspInfoType;
3638
3639/*---------------------------------------------------------------------------
3640 WDI_SetMaxTxPowerInfoType
3641---------------------------------------------------------------------------*/
3642
3643typedef struct
3644{
3645 /*BSSID is needed to identify which session issued this request. As the request has
3646 power constraints, this should be applied only to that session*/
3647 wpt_macAddr macBSSId;
3648
3649
3650 wpt_macAddr macSelfStaMacAddr;
3651
3652 /* In request power == MaxTxpower to be used.*/
3653 wpt_int8 ucPower;
3654
3655}WDI_SetMaxTxPowerInfoType;
3656
3657/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003658 WDI_SetTxPowerInfoType
3659---------------------------------------------------------------------------*/
3660
3661typedef struct
3662{
3663 wpt_uint8 bssIdx;
3664 /* In request power == MaxTxpower to be used.*/
3665 wpt_uint8 ucPower;
3666
3667}WDI_SetTxPowerInfoType;
3668
3669/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003670 WDI_SetMaxTxPowerParamsType
3671---------------------------------------------------------------------------*/
3672typedef struct
3673{
3674 /*Link Info*/
3675 WDI_SetMaxTxPowerInfoType wdiMaxTxPowerInfo;
3676
3677 /*Request status callback offered by UMAC - it is called if the current
3678 req has returned PENDING as status; it delivers the status of sending
3679 the message over the BUS */
3680 WDI_ReqStatusCb wdiReqStatusCB;
3681
3682 /*The user data passed in by UMAC, it will be sent back when the above
3683 function pointer will be called */
3684 void* pUserData;
3685}WDI_SetMaxTxPowerParamsType;
3686
schang86c22c42013-03-13 18:41:24 -07003687/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07003688 WDI_Band
3689---------------------------------------------------------------------------*/
3690typedef enum
3691{
3692 WDI_BAND_ALL,
3693 WDI_BAND_24,
3694 WDI_BAND_5G,
3695 WDI_BAND_MAX,
3696}eWDIBand;
3697
3698/*---------------------------------------------------------------------------
3699 WDI_MaxTxPowerPerBandInfoType
3700---------------------------------------------------------------------------*/
3701typedef struct
3702{
3703 eWDIBand bandInfo;
3704 /* In request power == MaxTxpower to be used.*/
3705 wpt_uint8 ucPower;
3706}WDI_MaxTxPowerPerBandInfoType;
3707
3708/*---------------------------------------------------------------------------
3709 WDI_SetMaxTxPowerPerBandParamsType
3710---------------------------------------------------------------------------*/
3711typedef struct
3712{
3713 /*Link Info*/
3714 WDI_MaxTxPowerPerBandInfoType wdiMaxTxPowerPerBandInfo;
3715
3716 /*Request status callback offered by UMAC - it is called if the current
3717 req has returned PENDING as status; it delivers the status of sending
3718 the message over the BUS */
3719 WDI_ReqStatusCb wdiReqStatusCB;
3720
3721 /*The user data passed in by UMAC, it will be sent back when the above
3722 function pointer will be called */
3723 void* pUserData;
3724}WDI_SetMaxTxPowerPerBandParamsType;
3725
3726/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003727 WDI_SetTxPowerParamsType
3728---------------------------------------------------------------------------*/
3729typedef struct
3730{
3731 /*Link Info*/
3732 WDI_SetTxPowerInfoType wdiTxPowerInfo;
3733
3734 /*Request status callback offered by UMAC - it is called if the current
3735 req has returned PENDING as status; it delivers the status of sending
3736 the message over the BUS */
3737 WDI_ReqStatusCb wdiReqStatusCB;
3738
3739 /*The user data passed in by UMAC, it will be sent back when the above
3740 function pointer will be called */
3741 void* pUserData;
3742}WDI_SetTxPowerParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003743
3744/*---------------------------------------------------------------------------
3745 WDI_SetMaxTxPowerRspMsg
3746---------------------------------------------------------------------------*/
3747
3748typedef struct
3749{
3750 /* In response, power==tx power used for management frames*/
3751 wpt_int8 ucPower;
3752
3753 /*Result of the operation*/
3754 WDI_Status wdiStatus;
3755
3756}WDI_SetMaxTxPowerRspMsg;
3757
schang86c22c42013-03-13 18:41:24 -07003758/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07003759 WDI_SetMaxTxPowerPerBandRspMsg
3760---------------------------------------------------------------------------*/
3761typedef struct
3762{
3763 /* In response, power==tx power used for management frames*/
3764 wpt_int8 ucPower;
3765
3766 /*Result of the operation*/
3767 WDI_Status wdiStatus;
3768
3769}WDI_SetMaxTxPowerPerBandRspMsg;
3770
3771/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003772 WDI_SetTxPowerRspMsg
3773---------------------------------------------------------------------------*/
3774
3775typedef struct
3776{
3777 /* In response, power==tx power used for management frames*/
3778 wpt_int8 ucPower;
3779
3780 /*Result of the operation*/
3781 WDI_Status wdiStatus;
3782
3783}WDI_SetTxPowerRspMsg;
3784
Jeff Johnson295189b2012-06-20 16:38:30 -07003785typedef struct
3786{
3787 wpt_uint8 ucOpp_ps;
3788 wpt_uint32 uCtWindow;
3789 wpt_uint8 ucCount;
3790 wpt_uint32 uDuration;
3791 wpt_uint32 uInterval;
3792 wpt_uint32 uSingle_noa_duration;
3793 wpt_uint8 ucPsSelection;
3794}WDI_SetP2PGONOAReqInfoType;
3795
3796/*---------------------------------------------------------------------------
3797 WDI_SetP2PGONOAReqParamsType
3798---------------------------------------------------------------------------*/
3799typedef struct
3800{
3801 /*P2P GO NOA Req*/
3802 WDI_SetP2PGONOAReqInfoType wdiP2PGONOAInfo;
3803
3804 /*Request status callback offered by UMAC - it is called if the current
3805 req has returned PENDING as status; it delivers the status of sending
3806 the message over the BUS */
3807 WDI_ReqStatusCb wdiReqStatusCB;
3808
3809 /*The user data passed in by UMAC, it will be sent back when the above
3810 function pointer will be called */
3811 void* pUserData;
3812}WDI_SetP2PGONOAReqParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003813
Naresh Jayaramc7cbd782014-02-04 17:38:23 +05303814#define WDI_MAX_SUPP_CHANNELS 128
3815#define WDI_MAX_SUPP_OPER_CLASSES 32
3816
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303817typedef struct
3818{
3819 wpt_uint16 uStaIdx;
3820 wpt_uint8 uIsResponder;
3821 wpt_uint8 uUapsdQueues;
3822 wpt_uint8 uMaxSp;
3823 wpt_uint8 uIsBufSta;
Naresh Jayaramc7cbd782014-02-04 17:38:23 +05303824 wpt_uint8 uIsOffChannelSupported;
3825 wpt_uint8 peerCurrOperClass;
3826 wpt_uint8 selfCurrOperClass;
3827 wpt_uint8 validChannelsLen;
3828 wpt_uint8 validChannels[WDI_MAX_SUPP_CHANNELS];
3829 wpt_uint8 validOperClassesLen;
3830 wpt_uint8 validOperClasses[WDI_MAX_SUPP_OPER_CLASSES];
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303831}WDI_SetTDLSLinkEstablishReqInfoType;
3832/*---------------------------------------------------------------------------
3833 WDI_SetTDLSLinkEstablishReqParamsType
3834---------------------------------------------------------------------------*/
3835typedef struct
3836{
3837 /*TDLS Link Establish Req*/
3838 WDI_SetTDLSLinkEstablishReqInfoType wdiTDLSLinkEstablishInfo;
3839
3840 /*Request status callback offered by UMAC - it is called if the current
3841 req has returned PENDING as status; it delivers the status of sending
3842 the message over the BUS */
3843 WDI_ReqStatusCb wdiReqStatusCB;
3844
3845 /*The user data passed in by UMAC, it will be sent back when the above
3846 function pointer will be called */
3847 void* pUserData;
3848}WDI_SetTDLSLinkEstablishReqParamsType;
3849
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05303850typedef struct
3851{
3852 /*Result of the operation*/
3853 WDI_Status wdiStatus;
3854
3855 /*STA Idx*/
3856 wpt_uint16 uStaIdx;
3857}WDI_SetTdlsLinkEstablishReqResp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003858
Atul Mittalc0f739f2014-07-31 13:47:47 +05303859
3860
3861typedef struct
3862{
3863 /*STA Index*/
3864 wpt_uint8 staIdx;
3865 /* if this is 1, self is initiator otherwise responder only*/
3866 wpt_uint8 isOffchannelInitiator;
3867 /*TDLS off channel related params */
3868 wpt_uint8 targetOperClass;
3869 wpt_uint8 targetChannel;
3870 wpt_uint8 secondaryChannelOffset;
3871 wpt_uint8 reserved[64];
3872}WDI_SetTDLSChanSwitchReqInfoType;
3873
3874typedef struct
3875{
3876 WDI_SetTDLSChanSwitchReqInfoType wdiTDLSChanSwitchReqInfo;
3877 WDI_ReqStatusCb wdiReqStatusCB;
3878 void* pUserData;
3879}WDI_SetTDLSChanSwitchReqParamsType;
3880
3881
3882typedef struct
3883{
3884 /*Result of the operation*/
3885 WDI_Status wdiStatus;
3886
3887 /*STA Idx*/
3888 wpt_uint16 uStaIdx;
3889}WDI_SetTdlsChanSwitchReqResp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003890/*---------------------------------------------------------------------------
3891 WDI_SetAddSTASelfParamsType
3892---------------------------------------------------------------------------*/
3893typedef struct
3894{
3895 /*Self Station MAC address*/
3896 wpt_macAddr selfMacAddr;
3897
Kiran Kumar Lokere0ad5cd32013-06-25 11:26:22 -07003898 /*Self STA device mode*/
3899 wpt_uint32 currDeviceMode;
3900
Jeff Johnson295189b2012-06-20 16:38:30 -07003901 /*Status of the operation*/
3902 wpt_uint32 uStatus;
3903}WDI_AddSTASelfInfoType;
3904
3905/*---------------------------------------------------------------------------
3906 WDI_SetAddSTASelfParamsType
3907---------------------------------------------------------------------------*/
3908typedef struct
3909{
3910 /* Add Sta Self Req */
3911 WDI_AddSTASelfInfoType wdiAddSTASelfInfo;
3912
3913 /*Request status callback offered by UMAC - it is called if the current
3914 req has returned PENDING as status; it delivers the status of sending
3915 the message over the BUS */
3916 WDI_ReqStatusCb wdiReqStatusCB;
3917
3918 /*The user data passed in by UMAC, it will be sent back when the above
3919 function pointer will be called */
3920 void* pUserData;
3921}WDI_AddSTASelfReqParamsType;
3922
3923
3924/*---------------------------------------------------------------------------
3925 WDI_AddSTASelfRspParamsType
3926---------------------------------------------------------------------------*/
3927typedef struct
3928{
3929 /*Status of the response*/
3930 WDI_Status wdiStatus;
3931
3932 /*STA Idx allocated by HAL*/
3933 wpt_uint8 ucSTASelfIdx;
3934
3935 /* DPU Index (IGTK, PTK, GTK all same) */
3936 wpt_uint8 dpuIdx;
3937
3938 /* DPU Signature */
3939 wpt_uint8 dpuSignature;
3940
3941 /*Self STA Mac*/
3942 wpt_macAddr macSelfSta;
3943
3944}WDI_AddSTASelfRspParamsType;
3945
3946/*---------------------------------------------------------------------------
3947 WDI_DelSTASelfReqParamsType
3948 Del Sta Self info passed to WDI form WDA
3949---------------------------------------------------------------------------*/
3950typedef struct
3951{
3952 wpt_macAddr selfMacAddr;
3953
3954}WDI_DelSTASelfInfoType;
3955
3956/*---------------------------------------------------------------------------
3957 WDI_DelSTASelfReqParamsType
3958 Del Sta Self info passed to WDI form WDA
3959---------------------------------------------------------------------------*/
3960typedef struct
3961{
3962 /*Del Sta Self Info Type */
3963 WDI_DelSTASelfInfoType wdiDelStaSelfInfo;
3964 /*Request status callback offered by UMAC - it is called if the current req
3965 has returned PENDING as status; it delivers the status of sending the message
3966 over the BUS */
3967 WDI_ReqStatusCb wdiReqStatusCB;
3968 /*The user data passed in by UMAC, it will be sent back when the above
3969 function pointer will be called */
3970 void* pUserData;
3971}WDI_DelSTASelfReqParamsType;
3972
3973/*---------------------------------------------------------------------------
3974 WDI_DelSTASelfRspParamsType
3975---------------------------------------------------------------------------*/
3976typedef struct
3977{
3978 /*Status of the response*/
3979 WDI_Status wdiStatus;
3980
3981 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
3982// wpt_uint8 ucSTAIdx;
3983}WDI_DelSTASelfRspParamsType;
3984
3985/*---------------------------------------------------------------------------
3986 WDI_UapsdInfoType
3987 UAPSD parameters passed per AC to WDA from UMAC
3988---------------------------------------------------------------------------*/
3989typedef struct
3990{
3991 wpt_uint8 ucSTAIdx; // STA index
3992 wpt_uint8 ucAc; // Access Category
3993 wpt_uint8 ucUp; // User Priority
3994 wpt_uint32 uSrvInterval; // Service Interval
3995 wpt_uint32 uSusInterval; // Suspend Interval
3996 wpt_uint32 uDelayInterval; // Delay Interval
3997} WDI_UapsdInfoType;
3998
3999/*---------------------------------------------------------------------------
4000 WDI_SetUapsdAcParamsReqParamsType
4001 UAPSD parameters passed per AC to WDI from WDA
4002---------------------------------------------------------------------------*/
4003typedef struct
4004{
4005 /*Enter BMPS Info Type, same as tEnterBmpsParams */
4006 WDI_UapsdInfoType wdiUapsdInfo;
4007 /*Request status callback offered by UMAC - it is called if the current req
4008 has returned PENDING as status; it delivers the status of sending the message
4009 over the BUS */
4010 WDI_ReqStatusCb wdiReqStatusCB;
4011 /*The user data passed in by UMAC, it will be sent back when the above
4012 function pointer will be called */
4013 void* pUserData;
4014}WDI_SetUapsdAcParamsReqParamsType;
4015
4016/*---------------------------------------------------------------------------
4017 WDI_EnterBmpsReqinfoType
4018 Enter BMPS parameters passed to WDA from UMAC
4019---------------------------------------------------------------------------*/
4020typedef struct
4021{
4022 //TBTT value derived from the last beacon
4023 wpt_uint8 ucBssIdx;
4024 wpt_uint64 uTbtt;
4025 wpt_uint8 ucDtimCount;
4026 //DTIM period given to HAL during association may not be valid,
4027 //if association is based on ProbeRsp instead of beacon.
4028 wpt_uint8 ucDtimPeriod;
4029 /* DXE physical addr to be passed down to RIVA. RIVA HAL will use it to program
4030 DXE when DXE wakes up from power save*/
4031 unsigned int dxePhyAddr;
4032
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08004033 // For ESE and 11R Roaming
Jeff Johnson295189b2012-06-20 16:38:30 -07004034 wpt_uint32 rssiFilterPeriod;
4035 wpt_uint32 numBeaconPerRssiAverage;
4036 wpt_uint8 bRssiFilterEnable;
4037}WDI_EnterBmpsReqinfoType;
4038
4039/*---------------------------------------------------------------------------
4040 WDI_EnterBmpsReqParamsType
4041 Enter BMPS parameters passed to WDI from WDA
4042---------------------------------------------------------------------------*/
4043typedef struct
4044{
4045 /*Enter BMPS Info Type, same as tEnterBmpsParams */
4046 WDI_EnterBmpsReqinfoType wdiEnterBmpsInfo;
4047 /*Request status callback offered by UMAC - it is called if the current req
4048 has returned PENDING as status; it delivers the status of sending the message
4049 over the BUS */
4050 WDI_ReqStatusCb wdiReqStatusCB;
4051 /*The user data passed in by UMAC, it will be sent back when the above
4052 function pointer will be called */
4053 void* pUserData;
4054}WDI_EnterBmpsReqParamsType;
4055
4056/*---------------------------------------------------------------------------
Mihir Shetea4306052014-03-25 00:02:54 +05304057 WDI_EnterImpsReqParamsType
4058 Enter IMPS parameters passed to WDI from WDA
4059---------------------------------------------------------------------------*/
4060typedef struct
4061{
4062 /*Request status callback offered by UMAC - it is called if the current req
4063 has returned PENDING as status; it delivers the status of sending the message
4064 over the BUS */
4065 WDI_ReqStatusCb wdiReqStatusCB;
4066 /*The user data passed in by UMAC, it will be sent back when the above
4067 function pointer will be called */
4068 void* pUserData;
4069}WDI_EnterImpsReqParamsType;
4070
4071/*---------------------------------------------------------------------------
Mahesh A Saptasagar329813b2014-12-15 12:16:51 +05304072 WDI_ExitImpsReqParamsType
4073 Exit IMPS parameters passed to WDI from WDA
4074----------------------------------------------------------------------------*/
4075typedef struct
4076{
4077 /*Request status callback offered by UMAC */
4078 WDI_ReqStatusCb wdiReqStatusCB;
4079 /*The user data passed in by UMAC, it will be sent back when the above
4080 function pointer will be called */
4081 void* pUserData;
4082
4083}WDI_ExitImpsReqParamsType;
4084
4085/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004086 WDI_EnterBmpsReqParamsType
4087 Enter BMPS parameters passed from WDI to WDA
4088---------------------------------------------------------------------------*/
4089typedef struct
4090{
4091 /*Status of the response*/
4092 WDI_Status wdiStatus;
4093
4094 /*BssIDX of the session*/
4095 wpt_uint8 bssIdx;
4096}WDI_EnterBmpsRspParamsType;
4097
4098/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004099 WDI_ExitBmpsReqinfoType
4100 Exit BMPS parameters passed to WDA from UMAC
4101---------------------------------------------------------------------------*/
4102typedef struct
4103{
4104 wpt_uint8 ucSendDataNull;
Jeff Johnsone7245742012-09-05 17:12:55 -07004105 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004106}WDI_ExitBmpsReqinfoType;
4107
4108/*---------------------------------------------------------------------------
4109 WDI_ExitBmpsReqParamsType
4110 Exit BMPS parameters passed to WDI from WDA
4111---------------------------------------------------------------------------*/
4112typedef struct
4113{
4114 /*Exit BMPS Info Type, same as tExitBmpsParams */
4115 WDI_ExitBmpsReqinfoType wdiExitBmpsInfo;
4116 /*Request status callback offered by UMAC - it is called if the current req
4117 has returned PENDING as status; it delivers the status of sending the message
4118 over the BUS */
4119 WDI_ReqStatusCb wdiReqStatusCB;
4120 /*The user data passed in by UMAC, it will be sent back when the above
4121 function pointer will be called */
4122 void* pUserData;
4123}WDI_ExitBmpsReqParamsType;
4124
4125/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004126 WDI_ExitBmpsReqParamsType
4127 Exit BMPS parameters passed from WDI to WDA
4128---------------------------------------------------------------------------*/
4129typedef struct
4130{
4131 /*Status of the response*/
4132 WDI_Status wdiStatus;
4133
4134 /*BssIDX of the session*/
4135 wpt_uint8 bssIdx;
4136}WDI_ExitBmpsRspParamsType;
4137
4138/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004139 WDI_EnterUapsdReqinfoType
4140 Enter UAPSD parameters passed to WDA from UMAC
4141---------------------------------------------------------------------------*/
4142typedef struct
4143{
4144 wpt_uint8 ucBkDeliveryEnabled:1;
4145 wpt_uint8 ucBeDeliveryEnabled:1;
4146 wpt_uint8 ucViDeliveryEnabled:1;
4147 wpt_uint8 ucVoDeliveryEnabled:1;
4148 wpt_uint8 ucBkTriggerEnabled:1;
4149 wpt_uint8 ucBeTriggerEnabled:1;
4150 wpt_uint8 ucViTriggerEnabled:1;
4151 wpt_uint8 ucVoTriggerEnabled:1;
Jeff Johnsone7245742012-09-05 17:12:55 -07004152 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004153}WDI_EnterUapsdReqinfoType;
4154
4155/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004156 WDI_EnterUapsdRspParamsType
4157 Enter UAPSD parameters passed from WDI to WDA
4158---------------------------------------------------------------------------*/
4159typedef struct
4160{
4161 /*Status of the response*/
4162 WDI_Status wdiStatus;
4163
4164 /*BssIDX of the session*/
4165 wpt_uint8 bssIdx;
4166}WDI_EnterUapsdRspParamsType;
4167
4168/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004169 WDI_EnterUapsdReqinfoType
4170 Enter UAPSD parameters passed to WDI from WDA
4171---------------------------------------------------------------------------*/
4172typedef struct
4173{
4174 /*Enter UAPSD Info Type, same as tUapsdParams */
4175 WDI_EnterUapsdReqinfoType wdiEnterUapsdInfo;
4176 /*Request status callback offered by UMAC - it is called if the current req
4177 has returned PENDING as status; it delivers the status of sending the message
4178 over the BUS */
4179 WDI_ReqStatusCb wdiReqStatusCB;
4180 /*The user data passed in by UMAC, it will be sent back when the above
4181 function pointer will be called */
4182 void* pUserData;
4183}WDI_EnterUapsdReqParamsType;
4184
4185/*---------------------------------------------------------------------------
4186 WDI_UpdateUapsdReqinfoType
4187 Update UAPSD parameters passed to WDA from UMAC
4188---------------------------------------------------------------------------*/
4189typedef struct
4190{
4191 wpt_uint8 ucSTAIdx;
4192 wpt_uint8 ucUapsdACMask;
4193 wpt_uint32 uMaxSpLen;
4194}WDI_UpdateUapsdReqinfoType;
4195
4196/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004197 WDI_ExitUapsdReqinfoType
4198 Exit UAPSD parameters passed to WDA from UMAC
4199---------------------------------------------------------------------------*/
4200typedef struct
4201{
4202 wpt_uint8 bssIdx;
4203}WDI_ExitUapsdReqinfoType;
4204
4205/*---------------------------------------------------------------------------
4206 WDI_ExitUapsdReqParamsType
4207 Exit UAPSD parameters passed to WDI from WDA
4208---------------------------------------------------------------------------*/
4209typedef struct
4210{
4211 /*Exit UAPSD Info Type, same as tUapsdParams */
4212 WDI_ExitUapsdReqinfoType wdiExitUapsdInfo;
4213 /*Request status callback offered by UMAC - it is called if the current req
4214 has returned PENDING as status; it delivers the status of sending the message
4215 over the BUS */
4216 WDI_ReqStatusCb wdiReqStatusCB;
4217 /*The user data passed in by UMAC, it will be sent back when the above
4218 function pointer will be called */
4219 void* pUserData;
4220}WDI_ExitUapsdReqParamsType;
4221
4222/*---------------------------------------------------------------------------
4223 WDI_ExitUapsdRspParamsType
4224 Exit UAPSD parameters passed from WDI to WDA
4225---------------------------------------------------------------------------*/
4226typedef struct
4227{
4228 /*Status of the response*/
4229 WDI_Status wdiStatus;
4230
4231 /*BssIDX of the session*/
4232 wpt_uint8 bssIdx;
4233}WDI_ExitUapsdRspParamsType;
4234
4235/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004236 WDI_UpdateUapsdReqParamsType
4237 Update UAPSD parameters passed to WDI form WDA
4238---------------------------------------------------------------------------*/
4239typedef struct
4240{
4241 /*Update UAPSD Info Type, same as tUpdateUapsdParams */
4242 WDI_UpdateUapsdReqinfoType wdiUpdateUapsdInfo;
4243 /*Request status callback offered by UMAC - it is called if the current req
4244 has returned PENDING as status; it delivers the status of sending the message
4245 over the BUS */
4246 WDI_ReqStatusCb wdiReqStatusCB;
4247 /*The user data passed in by UMAC, it will be sent back when the above
4248 function pointer will be called */
4249 void* pUserData;
4250}WDI_UpdateUapsdReqParamsType;
4251
4252/*---------------------------------------------------------------------------
4253 WDI_ConfigureRxpFilterReqParamsType
4254 RXP filter parameters passed to WDI form WDA
4255---------------------------------------------------------------------------*/
4256typedef struct
4257{
4258 /* Mode of Mcast and Bcast filters configured */
4259 wpt_uint8 ucSetMcstBcstFilterSetting;
4260
4261 /* Mcast Bcast Filters enable/disable*/
4262 wpt_uint8 ucSetMcstBcstFilter;
4263}WDI_RxpFilterReqParamsType;
4264
4265typedef struct
4266{
4267 /* Rxp Filter */
4268 WDI_RxpFilterReqParamsType wdiRxpFilterParam;
4269
4270 /*Request status callback offered by UMAC - it is called if the current req
4271 has returned PENDING as status; it delivers the status of sending the message
4272 over the BUS */
4273 WDI_ReqStatusCb wdiReqStatusCB;
4274 /*The user data passed in by UMAC, it will be sent back when the above
4275 function pointer will be called */
4276 void* pUserData;
4277}WDI_ConfigureRxpFilterReqParamsType;
4278
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05304279typedef struct
4280{
4281 wpt_uint8 enableFlag;
4282 wpt_uint8 frameType;
4283 wpt_uint8 frameSize;
4284 wpt_uint8 bufferMode;
Siddharth Bhald1be97f2015-05-27 22:39:59 +05304285 wpt_uint8 continuousFrameLogging;
4286 wpt_uint8 minLogBufferSize;
4287 wpt_uint8 maxLogBufferSize;
4288}WDI_FWLoggingInitReqInfoType;
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05304289
Siddharth Bhal64246172015-02-27 01:04:37 +05304290typedef struct
4291{
Gupta, Kapil7c34b322015-09-30 13:12:35 +05304292 wpt_uint32 requestId;
4293 wpt_uint8 minRssi;
4294 wpt_uint8 maxRssi;
4295 wpt_macAddr currentBssId;
4296}WDI_RssiMonitorReqInfoType;
4297
4298typedef struct
4299{
Sachin Ahuja715aafc2015-07-21 23:35:10 +05304300 wpt_uint32 reason_code;
4301}WDI_FatalEventLogsReqInfoType;
4302
4303
4304typedef struct
4305{
Siddharth Bhal64246172015-02-27 01:04:37 +05304306 wpt_uint8 flags;
4307}WDI_GetFrameLogReqInfoType;
4308
Siddharth Bhald1be97f2015-05-27 22:39:59 +05304309typedef struct
4310{
Hanumantha Reddy Pothulae00a7e22015-09-15 20:11:30 +05304311 wpt_uint16 status;
4312 wpt_uint16 doneIndicationForSource;
Siddharth Bhald1be97f2015-05-27 22:39:59 +05304313 wpt_uint64 logBuffAddress[MAX_NUM_OF_BUFFER];
Siddharth Bhald1be97f2015-05-27 22:39:59 +05304314 wpt_uint32 logBuffLength[MAX_NUM_OF_BUFFER];
4315}WDI_FWLoggingDXEdoneIndInfoType;
4316
Jeff Johnson295189b2012-06-20 16:38:30 -07004317/*---------------------------------------------------------------------------
4318 WDI_BeaconFilterInfoType
4319 Beacon Filtering data structures passed to WDA form UMAC
4320---------------------------------------------------------------------------*/
4321typedef struct
4322{
4323 wpt_uint16 usCapabilityInfo;
4324 wpt_uint16 usCapabilityMask;
4325 wpt_uint16 usBeaconInterval;
4326 wpt_uint16 usIeNum;
Madan Mohan Koyyalamudia84edda2012-10-15 14:58:25 -07004327 wpt_uint8 bssIdx;
4328 wpt_uint8 reserved;
Jeff Johnson295189b2012-06-20 16:38:30 -07004329}WDI_BeaconFilterInfoType;
4330
4331/*---------------------------------------------------------------------------
4332 WDI_BeaconFilterReqParamsType
4333 Beacon Filtering parameters passed to WDI form WDA
4334---------------------------------------------------------------------------*/
4335typedef struct
4336{
4337 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
4338 WDI_BeaconFilterInfoType wdiBeaconFilterInfo;
4339 /*Beacon Filter(s) follow the "usIeNum" field, hence the array to ease the
4340 copy of params from WDA to WDI */
4341 wpt_uint8 aFilters[WDI_BEACON_FILTER_LEN];
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_BeaconFilterReqParamsType;
4350
4351/*---------------------------------------------------------------------------
4352 WDI_RemBeaconFilterInfoType
4353 Beacon Filtering data structures (to be reomoved) passed to WDA form UMAC
4354---------------------------------------------------------------------------*/
4355typedef struct
4356{
4357 wpt_uint8 ucIeCount;
4358 wpt_uint8 ucRemIeId[1];
4359}WDI_RemBeaconFilterInfoType;
4360
4361/*---------------------------------------------------------------------------
4362 WDI_RemBeaconFilterReqParamsType
4363 Beacon Filtering parameters (to be reomoved)passed to WDI form WDA
4364---------------------------------------------------------------------------*/
4365typedef struct
4366{
4367 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
4368 WDI_RemBeaconFilterInfoType wdiBeaconFilterInfo;
4369 /*Request status callback offered by UMAC - it is called if the current req
4370 has returned PENDING as status; it delivers the status of sending the message
4371 over the BUS */
4372 WDI_ReqStatusCb wdiReqStatusCB;
4373 /*The user data passed in by UMAC, it will be sent back when the above
4374 function pointer will be called */
4375 void* pUserData;
4376}WDI_RemBeaconFilterReqParamsType;
4377
4378/*---------------------------------------------------------------------------
4379 WDI_RSSIThresholdsType
4380 RSSI thresholds data structures (to be reomoved) passed to WDA form UMAC
4381---------------------------------------------------------------------------*/
4382typedef struct
4383{
4384 wpt_int8 ucRssiThreshold1 : 8;
4385 wpt_int8 ucRssiThreshold2 : 8;
4386 wpt_int8 ucRssiThreshold3 : 8;
4387 wpt_uint8 bRssiThres1PosNotify : 1;
4388 wpt_uint8 bRssiThres1NegNotify : 1;
4389 wpt_uint8 bRssiThres2PosNotify : 1;
4390 wpt_uint8 bRssiThres2NegNotify : 1;
4391 wpt_uint8 bRssiThres3PosNotify : 1;
4392 wpt_uint8 bRssiThres3NegNotify : 1;
4393 wpt_uint8 bReserved10 : 2;
4394} WDI_RSSIThresholdsType;
4395
4396/*---------------------------------------------------------------------------
4397 WDI_SetRSSIThresholdsReqParamsType
4398 RSSI thresholds parameters (to be reomoved)passed to WDI form WDA
4399---------------------------------------------------------------------------*/
4400typedef struct
4401{
4402 /*RSSI thresholds Info Type, same as WDI_RSSIThresholds */
4403 WDI_RSSIThresholdsType wdiRSSIThresholdsInfo;
4404 /*Request status callback offered by UMAC - it is called if the current req
4405 has returned PENDING as status; it delivers the status of sending the message
4406 over the BUS */
4407 WDI_ReqStatusCb wdiReqStatusCB;
4408 /*The user data passed in by UMAC, it will be sent back when the above
4409 function pointer will be called */
4410 void* pUserData;
4411}WDI_SetRSSIThresholdsReqParamsType;
4412
4413/*---------------------------------------------------------------------------
4414 WDI_HostOffloadReqType
4415 host offload info passed to WDA form UMAC
4416---------------------------------------------------------------------------*/
4417#ifdef WLAN_NS_OFFLOAD
4418typedef struct
4419{
4420 wpt_uint8 srcIPv6Addr[16];
4421 wpt_uint8 selfIPv6Addr[16];
4422 //Only support 2 possible Network Advertisement IPv6 address
4423 wpt_uint8 targetIPv6Addr1[16];
4424 wpt_uint8 targetIPv6Addr2[16];
4425 wpt_uint8 selfMacAddr[6];
4426 wpt_uint8 srcIPv6AddrValid : 1;
4427 wpt_uint8 targetIPv6Addr1Valid : 1;
4428 wpt_uint8 targetIPv6Addr2Valid : 1;
Gopichand Nakkala746a9452013-06-11 12:45:54 +05304429 wpt_uint8 slotIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004430} WDI_NSOffloadParams;
4431#endif //WLAN_NS_OFFLOAD
4432
4433typedef struct
4434{
4435 wpt_uint8 ucOffloadType;
4436 wpt_uint8 ucEnableOrDisable;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004437 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004438 union
4439 {
4440 wpt_uint8 aHostIpv4Addr [4];
4441 wpt_uint8 aHostIpv6Addr [16];
4442 } params;
4443} WDI_HostOffloadReqType;
4444
4445/*---------------------------------------------------------------------------
4446 WDI_HostOffloadReqParamsType
4447 host offload info passed to WDI form WDA
4448---------------------------------------------------------------------------*/
4449typedef struct
4450{
4451 /*Host offload Info Type, same as tHalHostOffloadReq */
4452 WDI_HostOffloadReqType wdiHostOffloadInfo;
4453#ifdef WLAN_NS_OFFLOAD
4454 WDI_NSOffloadParams wdiNsOffloadParams;
4455#endif //WLAN_NS_OFFLOAD
4456 /*Request status callback offered by UMAC - it is called if the current req
4457 has returned PENDING as status; it delivers the status of sending the message
4458 over the BUS */
4459 WDI_ReqStatusCb wdiReqStatusCB;
4460 /*The user data passed in by UMAC, it will be sent back when the above
4461 function pointer will be called */
4462 void* pUserData;
4463}WDI_HostOffloadReqParamsType;
4464
4465/*---------------------------------------------------------------------------
4466 WDI_KeepAliveReqType
4467 Keep Alive info passed to WDA form UMAC
4468---------------------------------------------------------------------------*/
4469typedef struct
4470{
4471 wpt_uint8 ucPacketType;
4472 wpt_uint32 ucTimePeriod;
4473 wpt_uint8 aHostIpv4Addr[4];
4474 wpt_uint8 aDestIpv4Addr[4];
4475 wpt_uint8 aDestMacAddr[6];
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004476 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004477} WDI_KeepAliveReqType;
4478
4479/*---------------------------------------------------------------------------
4480 WDI_KeepAliveReqParamsType
4481 Keep Alive passed to WDI form WDA
4482---------------------------------------------------------------------------*/
4483typedef struct
4484{
4485 /* Keep Alive Info Type, same as tHalKeepAliveReq */
4486 WDI_KeepAliveReqType wdiKeepAliveInfo;
4487 /*Request status callback offered by UMAC - it is called if the current req
4488 has returned PENDING as status; it delivers the status of sending the message
4489 over the BUS */
4490 WDI_ReqStatusCb wdiReqStatusCB;
4491 /*The user data passed in by UMAC, it will be sent back when the above
4492 function pointer will be called */
4493 void* pUserData;
4494}WDI_KeepAliveReqParamsType;
4495
4496/*---------------------------------------------------------------------------
4497 WDI_WowlAddBcPtrnInfoType
4498 Wowl add ptrn info passed to WDA form UMAC
4499---------------------------------------------------------------------------*/
4500typedef struct
4501{
4502 wpt_uint8 ucPatternId; // Pattern ID
4503 // Pattern byte offset from beginning of the 802.11 packet to start of the
4504 // wake-up pattern
4505 wpt_uint8 ucPatternByteOffset;
4506 wpt_uint8 ucPatternSize; // Non-Zero Pattern size
4507 wpt_uint8 ucPattern[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern
4508 wpt_uint8 ucPatternMaskSize; // Non-zero pattern mask size
4509 wpt_uint8 ucPatternMask[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern mask
4510 wpt_uint8 ucPatternExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern
4511 wpt_uint8 ucPatternMaskExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern mask
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004512 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004513} WDI_WowlAddBcPtrnInfoType;
4514
4515/*---------------------------------------------------------------------------
4516 WDI_WowlAddBcPtrnReqParamsType
4517 Wowl add ptrn info passed to WDI form WDA
4518---------------------------------------------------------------------------*/
4519typedef struct
4520{
4521 /*Wowl add ptrn Info Type, same as tpSirWowlAddBcastPtrn */
4522 WDI_WowlAddBcPtrnInfoType wdiWowlAddBcPtrnInfo;
4523 /*Request status callback offered by UMAC - it is called if the current req
4524 has returned PENDING as status; it delivers the status of sending the message
4525 over the BUS */
4526 WDI_ReqStatusCb wdiReqStatusCB;
4527 /*The user data passed in by UMAC, it will be sent back when the above
4528 function pointer will be called */
4529 void* pUserData;
4530}WDI_WowlAddBcPtrnReqParamsType;
4531
4532/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004533 WDI_WowlAddBcPtrnRspParamsType
4534 Wowl add ptrn info passed from WDI to WDA
4535---------------------------------------------------------------------------*/
4536typedef struct
4537{
4538 /*Status of the response*/
4539 WDI_Status wdiStatus;
4540 /*BssIDX of the session*/
4541 wpt_uint8 bssIdx;
4542}WDI_WowlAddBcPtrnRspParamsType;
4543
4544/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004545 WDI_WowlDelBcPtrnInfoType
4546 Wowl add ptrn info passed to WDA form UMAC
4547---------------------------------------------------------------------------*/
4548typedef struct
4549{
4550 /* Pattern ID of the wakeup pattern to be deleted */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004551 wpt_uint8 ucPatternId;
4552 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004553} WDI_WowlDelBcPtrnInfoType;
4554
4555/*---------------------------------------------------------------------------
4556 WDI_WowlDelBcPtrnReqParamsType
4557 Wowl add ptrn info passed to WDI form WDA
4558---------------------------------------------------------------------------*/
4559typedef struct
4560{
4561 /*Wowl delete ptrn Info Type, same as WDI_WowlDelBcastPtrn */
4562 WDI_WowlDelBcPtrnInfoType wdiWowlDelBcPtrnInfo;
4563 /*Request status callback offered by UMAC - it is called if the current req
4564 has returned PENDING as status; it delivers the status of sending the message
4565 over the BUS */
4566 WDI_ReqStatusCb wdiReqStatusCB;
4567 /*The user data passed in by UMAC, it will be sent back when the above
4568 function pointer will be called */
4569 void* pUserData;
4570}WDI_WowlDelBcPtrnReqParamsType;
4571
4572/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004573 WDI_WowlDelBcPtrnRspParamsType
4574 Wowl Del ptrn info passed from WDI to WDA
4575---------------------------------------------------------------------------*/
4576typedef struct
4577{
4578 /*Status of the response*/
4579 WDI_Status wdiStatus;
4580 /*BssIDX of the session*/
4581 wpt_uint8 bssIdx;
4582}WDI_WowlDelBcPtrnRspParamsType;
4583
4584/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004585 WDI_WowlEnterInfoType
4586 Wowl enter info passed to WDA form UMAC
4587---------------------------------------------------------------------------*/
4588typedef struct
4589{
4590 /* Enables/disables magic packet filtering */
4591 wpt_uint8 ucMagicPktEnable;
4592
4593 /* Magic pattern */
4594 wpt_macAddr magicPtrn;
4595
4596 /* Enables/disables packet pattern filtering in firmware.
4597 Enabling this flag enables broadcast pattern matching
4598 in Firmware. If unicast pattern matching is also desired,
4599 ucUcastPatternFilteringEnable flag must be set tot true
4600 as well
4601 */
4602 wpt_uint8 ucPatternFilteringEnable;
4603
4604 /* Enables/disables unicast packet pattern filtering.
4605 This flag specifies whether we want to do pattern match
4606 on unicast packets as well and not just broadcast packets.
4607 This flag has no effect if the ucPatternFilteringEnable
4608 (main controlling flag) is set to false
4609 */
4610 wpt_uint8 ucUcastPatternFilteringEnable;
4611
4612 /* This configuration is valid only when magicPktEnable=1.
4613 * It requests hardware to wake up when it receives the
4614 * Channel Switch Action Frame.
4615 */
4616 wpt_uint8 ucWowChnlSwitchRcv;
4617
4618 /* This configuration is valid only when magicPktEnable=1.
4619 * It requests hardware to wake up when it receives the
4620 * Deauthentication Frame.
4621 */
4622 wpt_uint8 ucWowDeauthRcv;
4623
4624 /* This configuration is valid only when magicPktEnable=1.
4625 * It requests hardware to wake up when it receives the
4626 * Disassociation Frame.
4627 */
4628 wpt_uint8 ucWowDisassocRcv;
4629
4630 /* This configuration is valid only when magicPktEnable=1.
4631 * It requests hardware to wake up when it has missed
4632 * consecutive beacons. This is a hardware register
4633 * configuration (NOT a firmware configuration).
4634 */
4635 wpt_uint8 ucWowMaxMissedBeacons;
4636
4637 /* This configuration is valid only when magicPktEnable=1.
4638 * This is a timeout value in units of microsec. It requests
4639 * hardware to unconditionally wake up after it has stayed
4640 * in WoWLAN mode for some time. Set 0 to disable this feature.
4641 */
4642 wpt_uint8 ucWowMaxSleepUsec;
4643
4644#ifdef WLAN_WAKEUP_EVENTS
4645 /* This configuration directs the WoW packet filtering to look for EAP-ID
4646 * requests embedded in EAPOL frames and use this as a wake source.
4647 */
4648 wpt_uint8 ucWoWEAPIDRequestEnable;
4649
4650 /* This configuration directs the WoW packet filtering to look for EAPOL-4WAY
4651 * requests and use this as a wake source.
4652 */
4653 wpt_uint8 ucWoWEAPOL4WayEnable;
4654
4655 /* This configuration allows a host wakeup on an network scan offload match.
4656 */
4657 wpt_uint8 ucWowNetScanOffloadMatch;
4658
4659 /* This configuration allows a host wakeup on any GTK rekeying error.
4660 */
4661 wpt_uint8 ucWowGTKRekeyError;
4662
4663 /* This configuration allows a host wakeup on BSS connection loss.
4664 */
4665 wpt_uint8 ucWoWBSSConnLoss;
4666#endif // WLAN_WAKEUP_EVENTS
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004667
4668 /* BSSIDX used to find the current session
4669 */
4670 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004671} WDI_WowlEnterInfoType;
4672
4673/*---------------------------------------------------------------------------
4674 WDI_WowlEnterReqParamsType
4675 Wowl enter info passed to WDI form WDA
4676---------------------------------------------------------------------------*/
4677typedef struct
4678{
4679 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
4680 WDI_WowlEnterInfoType wdiWowlEnterInfo;
4681 /*Request status callback offered by UMAC - it is called if the current req
4682 has returned PENDING as status; it delivers the status of sending the message
4683 over the BUS */
4684 WDI_ReqStatusCb wdiReqStatusCB;
4685 /*The user data passed in by UMAC, it will be sent back when the above
4686 function pointer will be called */
4687 void* pUserData;
4688}WDI_WowlEnterReqParamsType;
4689
4690/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004691 WDI_WowlEnterRsqParamsType
4692 Wowl enter info passed from WDI to WDA
4693---------------------------------------------------------------------------*/
4694typedef struct
4695{
4696 /*Status of the response message*/
4697 WDI_Status status;
4698
4699 /* BSSIDX used to find the current session
4700 */
4701 wpt_uint8 bssIdx;
4702}WDI_WowlEnterRspParamsType;
4703
4704/*---------------------------------------------------------------------------
4705 WDI_WowlExitInfoType
4706 Wowl exit info passed to WDA form UMAC
4707 ---------------------------------------------------------------------------*/
4708typedef struct
4709{
4710 /* BSSIDX used to find the current session
4711 */
4712 wpt_uint8 bssIdx;
4713} WDI_WowlExitInfoType;
4714
4715/*---------------------------------------------------------------------------
4716 WDI_WowlExitReqParamsType
4717 Wowl exit info passed to WDI form WDA
4718---------------------------------------------------------------------------*/
4719typedef struct
4720{
4721 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
4722 WDI_WowlExitInfoType wdiWowlExitInfo;
4723 /*Request status callback offered by UMAC - it is called if the current req
4724 has returned PENDING as status; it delivers the status of sending the message
4725 over the BUS */
4726 WDI_ReqStatusCb wdiReqStatusCB;
4727 /*The user data passed in by UMAC, it will be sent back when the above
4728 function pointer will be called */
4729 void* pUserData;
4730}WDI_WowlExitReqParamsType;
4731
4732/*---------------------------------------------------------------------------
4733 WDI_WowlExitRspParamsType
4734 Wowl exit info passed from WDI to WDA
4735---------------------------------------------------------------------------*/
4736typedef struct
4737{
4738 /*Status of the response message*/
4739 WDI_Status status;
4740
4741 /* BSSIDX used to find the current session
4742 */
4743 wpt_uint8 bssIdx;
4744}WDI_WowlExitRspParamsType;
4745
4746/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004747 WDI_ConfigureAppsCpuWakeupStateReqParamsType
4748 Apps Cpu Wakeup State parameters passed to WDI form WDA
4749---------------------------------------------------------------------------*/
4750typedef struct
4751{
4752 /*Depicts the state of the Apps CPU */
4753 wpt_boolean bIsAppsAwake;
4754 /*Request status callback offered by UMAC - it is called if the current req
4755 has returned PENDING as status; it delivers the status of sending the message
4756 over the BUS */
4757 WDI_ReqStatusCb wdiReqStatusCB;
4758 /*The user data passed in by UMAC, it will be sent back when the above
4759 function pointer will be called */
4760 void* pUserData;
4761}WDI_ConfigureAppsCpuWakeupStateReqParamsType;
4762/*---------------------------------------------------------------------------
4763 WDI_FlushAcReqinfoType
4764---------------------------------------------------------------------------*/
4765typedef struct
4766{
4767 // Message Type
4768 wpt_uint16 usMesgType;
4769
4770 // Message Length
4771 wpt_uint16 usMesgLen;
4772
4773 // Station Index. originates from HAL
4774 wpt_uint8 ucSTAId;
4775
4776 // TID for which the transmit queue is being flushed
4777 wpt_uint8 ucTid;
4778
4779}WDI_FlushAcReqinfoType;
4780
4781/*---------------------------------------------------------------------------
4782 WDI_FlushAcReqParamsType
4783---------------------------------------------------------------------------*/
4784typedef struct
4785{
4786 /*AC Info */
4787 WDI_FlushAcReqinfoType wdiFlushAcInfo;
4788
4789 /*Request status callback offered by UMAC - it is called if the current
4790 req has returned PENDING as status; it delivers the status of sending
4791 the message over the BUS */
4792 WDI_ReqStatusCb wdiReqStatusCB;
4793
4794 /*The user data passed in by UMAC, it will be sent back when the above
4795 function pointer will be called */
4796 void* pUserData;
4797}WDI_FlushAcReqParamsType;
4798
4799/*---------------------------------------------------------------------------
4800 WDI_BtAmpEventinfoType
4801 BT-AMP Event Structure
4802---------------------------------------------------------------------------*/
4803typedef struct
4804{
4805 wpt_uint8 ucBtAmpEventType;
4806
4807} WDI_BtAmpEventinfoType;
4808
4809/*---------------------------------------------------------------------------
4810 WDI_BtAmpEventParamsType
4811---------------------------------------------------------------------------*/
4812typedef struct
4813{
4814 /*BT AMP event Info */
4815 WDI_BtAmpEventinfoType wdiBtAmpEventInfo;
4816
4817 /*Request status callback offered by UMAC - it is called if the current
4818 req has returned PENDING as status; it delivers the status of sending
4819 the message over the BUS */
4820 WDI_ReqStatusCb wdiReqStatusCB;
4821
4822 /*The user data passed in by UMAC, it will be sent back when the above
4823 function pointer will be called */
4824 void* pUserData;
4825}WDI_BtAmpEventParamsType;
4826
Jeff Johnsone7245742012-09-05 17:12:55 -07004827#ifdef FEATURE_OEM_DATA_SUPPORT
4828
4829#ifndef OEM_DATA_REQ_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004830#define OEM_DATA_REQ_SIZE 134
Jeff Johnsone7245742012-09-05 17:12:55 -07004831#endif
4832#ifndef OEM_DATA_RSP_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004833#define OEM_DATA_RSP_SIZE 1968
Jeff Johnsone7245742012-09-05 17:12:55 -07004834#endif
4835
Padma, Santhosh Kumar2ccac212015-10-20 17:27:27 +05304836#ifndef NEW_OEM_DATA_REQ_SIZE
4837#define NEW_OEM_DATA_REQ_SIZE 292
4838#endif
4839
4840#ifndef NEW_OEM_DATA_RSP_SIZE
4841#define NEW_OEM_DATA_RSP_SIZE 2100
4842#endif
4843
Jeff Johnsone7245742012-09-05 17:12:55 -07004844/*----------------------------------------------------------------------------
4845 WDI_oemDataReqInfoType
4846----------------------------------------------------------------------------*/
4847typedef struct
4848{
4849 wpt_macAddr selfMacAddr;
4850 wpt_uint8 oemDataReq[OEM_DATA_REQ_SIZE];
4851}WDI_oemDataReqInfoType;
4852
4853/*----------------------------------------------------------------------------
4854 WDI_oemDataReqParamsType
4855----------------------------------------------------------------------------*/
4856typedef struct
4857{
4858 /*Request status callback offered by UMAC - it is called if the current
4859 req has returned PENDING as status; it delivers the status of sending
4860 the message over the BUS */
4861 WDI_ReqStatusCb wdiReqStatusCB;
4862
4863 /*The user data passed in by UMAC, it will be sent back when the above
4864 function pointer will be called */
4865 void* pUserData;
4866
4867 /*OEM DATA REQ Info */
4868 WDI_oemDataReqInfoType wdiOemDataReqInfo;
4869
4870}WDI_oemDataReqParamsType;
4871
4872/*----------------------------------------------------------------------------
4873 WDI_oemDataRspParamsType
4874----------------------------------------------------------------------------*/
4875typedef struct
4876{
4877 wpt_uint8 oemDataRsp[OEM_DATA_RSP_SIZE];
4878}WDI_oemDataRspParamsType;
4879
Padma, Santhosh Kumar2ccac212015-10-20 17:27:27 +05304880/*----------------------------------------------------------------------------
4881 OEM DATA REQ NEW/OEM DATA RSP NEW - DATA STRUCTURES
4882----------------------------------------------------------------------------*/
4883/* Structure for defining req sent to the PE */
4884typedef struct
4885{
Padma, Santhosh Kumar70380cf2016-01-11 18:42:20 +05304886 wpt_macAddr selfMacAddr;
4887 wpt_uint8 reserved[2];
Padma, Santhosh Kumar2ccac212015-10-20 17:27:27 +05304888 wpt_uint8 oemDataReqNew[NEW_OEM_DATA_REQ_SIZE];
4889} WDI_OemDataReqNew, WDI_OemDataReqNewConfig;
4890
Padma, Santhosh Kumar2ccac212015-10-20 17:27:27 +05304891/*************************************************************************************************************/
4892
Jeff Johnsone7245742012-09-05 17:12:55 -07004893#endif /* FEATURE_OEM_DATA_SUPPORT */
Jeff Johnson295189b2012-06-20 16:38:30 -07004894
4895#ifdef WLAN_FEATURE_VOWIFI_11R
4896/*---------------------------------------------------------------------------
4897 WDI_AggrAddTSReqInfoType
4898---------------------------------------------------------------------------*/
4899typedef struct
4900{
4901 /*STA Index*/
4902 wpt_uint8 ucSTAIdx;
4903
4904 /*Identifier for TSpec*/
4905 wpt_uint8 ucTspecIdx;
4906
4907 /*Tspec IE negotiated OTA*/
4908 WDI_TspecIEType wdiTspecIE[WDI_MAX_NO_AC];
4909
4910 /*UAPSD delivery and trigger enabled flags */
4911 wpt_uint8 ucUapsdFlags;
4912
4913 /*SI for each AC*/
4914 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
4915
4916 /*Suspend Interval for each AC*/
4917 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
4918
4919 /*DI for each AC*/
4920 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
4921
4922}WDI_AggrAddTSReqInfoType;
4923
4924
4925/*---------------------------------------------------------------------------
4926 WDI_AggrAddTSReqParamsType
4927---------------------------------------------------------------------------*/
4928typedef struct
4929{
4930 /*TSpec Info */
4931 WDI_AggrAddTSReqInfoType wdiAggrTsInfo;
4932
4933 /*Request status callback offered by UMAC - it is called if the current
4934 req has returned PENDING as status; it delivers the status of sending
4935 the message over the BUS */
4936 WDI_ReqStatusCb wdiReqStatusCB;
4937
4938 /*The user data passed in by UMAC, it will be sent back when the above
4939 function pointer will be called */
4940 void* pUserData;
4941}WDI_AggrAddTSReqParamsType;
4942
4943#endif /* WLAN_FEATURE_VOWIFI_11R */
4944
Jeff Johnson295189b2012-06-20 16:38:30 -07004945/*---------------------------------------------------------------------------
4946 WDI_FTMCommandReqType
4947---------------------------------------------------------------------------*/
4948typedef struct
4949{
4950 /* FTM Command Body length */
4951 wpt_uint32 bodyLength;
4952 /* Actual FTM Command body */
4953 void *FTMCommandBody;
4954}WDI_FTMCommandReqType;
Jeff Johnson295189b2012-06-20 16:38:30 -07004955
4956/*---------------------------------------------------------------------------
4957 WDI_WlanSuspendInfoType
4958---------------------------------------------------------------------------*/
4959typedef struct
4960{
4961 /* Mode of Mcast and Bcast filters configured */
4962 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4963}WDI_WlanSuspendInfoType;
4964
4965/*---------------------------------------------------------------------------
4966 WDI_SuspendParamsType
4967---------------------------------------------------------------------------*/
4968typedef struct
4969{
4970 WDI_WlanSuspendInfoType wdiSuspendParams;
4971
4972 /*Request status callback offered by UMAC - it is called if the current
4973 req has returned PENDING as status; it delivers the status of sending
4974 the message over the BUS */
4975 WDI_ReqStatusCb wdiReqStatusCB;
4976
4977 /*The user data passed in by UMAC, it will be sent back when the above
4978 function pointer will be called */
4979 void* pUserData;
4980
4981}WDI_SuspendParamsType;
4982
4983/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004984 WDI_TrafficStatsType - This is collected for each STA
4985---------------------------------------------------------------------------*/
4986
4987typedef struct
4988{
4989 /* TX stats */
4990 wpt_uint32 txBytesPushed;
4991 wpt_uint32 txPacketsPushed;
4992
4993 /* RX stats */
4994 wpt_uint32 rxBytesRcvd;
4995 wpt_uint32 rxPacketsRcvd;
4996 wpt_uint32 rxTimeTotal;
4997}WDI_TrafficStatsType;
4998
4999typedef struct
5000{
5001 WDI_TrafficStatsType *pTrafficStats;
5002 wpt_uint32 length;
5003 wpt_uint32 duration;
5004
5005 /*Request status callback offered by UMAC - it is called if the current
5006 req has returned PENDING as status; it delivers the status of sending
5007 the message over the BUS */
5008 WDI_ReqStatusCb wdiReqStatusCB;
5009
5010 /*The user data passed in by UMAC, it will be sent back when the above
5011 function pointer will be called */
5012 void* pUserData;
5013}WDI_TrafficStatsIndType;
5014
Chet Lanctot186b5732013-03-18 10:26:30 -07005015#ifdef WLAN_FEATURE_11W
5016typedef struct
5017{
5018
5019 wpt_boolean bExcludeUnencrypt;
5020 wpt_macAddr bssid;
5021 /*Request status callback offered by UMAC - it is called if the current
5022 req has returned PENDING as status; it delivers the status of sending
5023 the message over the BUS */
5024 WDI_ReqStatusCb wdiReqStatusCB;
5025
5026 /*The user data passed in by UMAC, it will be sent back when the above
5027 function pointer will be called */
5028 void* pUserData;
5029}WDI_ExcludeUnencryptIndType;
5030#endif
5031
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08005032/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07005033 WDI_WlanResumeInfoType
5034---------------------------------------------------------------------------*/
5035typedef struct
5036{
5037 /* Mode of Mcast and Bcast filters configured */
5038 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
5039}WDI_WlanResumeInfoType;
5040
5041/*---------------------------------------------------------------------------
5042 WDI_ResumeParamsType
5043---------------------------------------------------------------------------*/
5044typedef struct
5045{
5046 WDI_WlanResumeInfoType wdiResumeParams;
5047
5048 /*Request status callback offered by UMAC - it is called if the current
5049 req has returned PENDING as status; it delivers the status of sending
5050 the message over the BUS */
5051 WDI_ReqStatusCb wdiReqStatusCB;
5052
5053 /*The user data passed in by UMAC, it will be sent back when the above
5054 function pointer will be called */
5055 void* pUserData;
5056
5057}WDI_ResumeParamsType;
5058
5059#ifdef WLAN_FEATURE_GTK_OFFLOAD
5060/*---------------------------------------------------------------------------
5061 * WDI_GTK_OFFLOAD_REQ
5062 *--------------------------------------------------------------------------*/
5063
5064typedef struct
5065{
5066 wpt_uint32 ulFlags; /* optional flags */
5067 wpt_uint8 aKCK[16]; /* Key confirmation key */
5068 wpt_uint8 aKEK[16]; /* key encryption key */
5069 wpt_uint64 ullKeyReplayCounter; /* replay counter */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005070 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005071} WDI_GtkOffloadReqParams;
5072
5073typedef struct
5074{
5075 WDI_GtkOffloadReqParams gtkOffloadReqParams;
5076
5077 /*Request status callback offered by UMAC - it is called if the current
5078 req has returned PENDING as status; it delivers the status of sending
5079 the message over the BUS */
5080 WDI_ReqStatusCb wdiReqStatusCB;
5081
5082 /*The user data passed in by UMAC, it will be sent back when the above
5083 function pointer will be called */
5084 void* pUserData;
5085} WDI_GtkOffloadReqMsg;
5086
5087/*---------------------------------------------------------------------------
5088 * WDI_GTK_OFFLOAD_RSP
5089 *--------------------------------------------------------------------------*/
5090typedef struct
5091{
5092 /* success or failure */
5093 wpt_uint32 ulStatus;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005094 /*BssIdx of the response */
5095 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07005096} WDI_GtkOffloadRspParams;
5097
5098typedef struct
5099{
5100 WDI_GtkOffloadRspParams gtkOffloadRspParams;
5101
5102 /*Request status callback offered by UMAC - it is called if the current
5103 req has returned PENDING as status; it delivers the status of sending
5104 the message over the BUS */
5105 WDI_ReqStatusCb wdiReqStatusCB;
5106
5107 /*The user data passed in by UMAC, it will be sent back when the above
5108 function pointer will be called */
5109 void* pUserData;
5110} WDI_GtkOffloadRspMsg;
5111
5112
5113/*---------------------------------------------------------------------------
5114* WDI_GTK_OFFLOAD_GETINFO_REQ
5115*--------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005116typedef struct
5117{
5118 /*BssIdx of the response */
5119 wpt_macAddr bssId;
5120} WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07005121
5122typedef struct
5123{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005124
5125 WDI_GtkOffloadGetInfoReqParams WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07005126 /*Request status callback offered by UMAC - it is called if the current
5127 req has returned PENDING as status; it delivers the status of sending
5128 the message over the BUS */
5129 WDI_ReqStatusCb wdiReqStatusCB;
5130
5131 /*The user data passed in by UMAC, it will be sent back when the above
5132 function pointer will be called */
5133 void* pUserData;
5134} WDI_GtkOffloadGetInfoReqMsg;
5135
5136/*---------------------------------------------------------------------------
5137* WDI_GTK_OFFLOAD_GETINFO_RSP
5138*--------------------------------------------------------------------------*/
5139typedef struct
5140{
5141 wpt_uint32 ulStatus; /* success or failure */
5142 wpt_uint64 ullKeyReplayCounter; /* current replay counter value */
5143 wpt_uint32 ulTotalRekeyCount; /* total rekey attempts */
5144 wpt_uint32 ulGTKRekeyCount; /* successful GTK rekeys */
5145 wpt_uint32 ulIGTKRekeyCount; /* successful iGTK rekeys */
Gopichand Nakkala870cbae2013-03-15 21:16:09 +05305146 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005147} WDI_GtkOffloadGetInfoRspParams;
5148
5149typedef struct
5150{
5151 WDI_GtkOffloadGetInfoRspParams gtkOffloadGetInfoRspParams;
5152
5153 /*Request status callback offered by UMAC - it is called if the current
5154 req has returned PENDING as status; it delivers the status of sending
5155 the message over the BUS */
5156 WDI_ReqStatusCb wdiReqStatusCB;
5157
5158 /*The user data passed in by UMAC, it will be sent back when the above
5159 function pointer will be called */
5160 void* pUserData;
5161} WDI_GtkOffloadGetInfoRspMsg;
5162#endif // WLAN_FEATURE_GTK_OFFLOAD
5163
5164/*---------------------------------------------------------------------------
5165 WDI_SuspendResumeRspParamsType
5166---------------------------------------------------------------------------*/
5167typedef struct
5168{
5169 /*Status of the response*/
5170 WDI_Status wdiStatus;
5171}WDI_SuspendResumeRspParamsType;
5172
Leo Chang9056f462013-08-01 19:21:11 -07005173#ifdef FEATURE_WLAN_LPHB
5174/*---------------------------------------------------------------------------
5175 WDI Low Power Heart Beat Config request
5176 Copy from sirApi.h to avoid compile error
5177---------------------------------------------------------------------------*/
5178#define WDI_LPHB_FILTER_LEN 64
5179
5180typedef enum
5181{
5182 WDI_LPHB_SET_EN_PARAMS_INDID = 0x0001,
5183 WDI_LPHB_SET_TCP_PARAMS_INDID,
5184 WDI_LPHB_SET_TCP_PKT_FILTER_INDID,
5185 WDI_LPHB_SET_UDP_PARAMS_INDID,
5186 WDI_LPHB_SET_UDP_PKT_FILTER_INDID,
5187 WDI_LPHB_SET_NETWORK_INFO_INDID,
5188} WDI_LPHBIndType;
5189
5190typedef struct
5191{
5192 wpt_uint8 enable;
5193 wpt_uint8 item;
5194 wpt_uint8 session;
5195} WDI_LPHBEnableStruct;
5196
5197typedef struct
5198{
5199 wpt_uint32 srv_ip;
5200 wpt_uint32 dev_ip;
5201 wpt_uint16 src_port;
5202 wpt_uint16 dst_port;
5203 wpt_uint16 timeout;
5204 wpt_uint8 session;
5205 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
Leo Changd9df8aa2013-09-26 13:32:26 -07005206 wpt_uint16 timePeriodSec; // in seconds
5207 wpt_uint32 tcpSn;
Leo Chang9056f462013-08-01 19:21:11 -07005208} WDI_LPHBTcpParamStruct;
5209
5210typedef struct
5211{
5212 wpt_uint16 length;
5213 wpt_uint8 offset;
5214 wpt_uint8 session;
5215 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
5216} WDI_LPHBTcpFilterStruct;
5217
5218typedef struct
5219{
5220 wpt_uint32 srv_ip;
5221 wpt_uint32 dev_ip;
5222 wpt_uint16 src_port;
5223 wpt_uint16 dst_port;
5224 wpt_uint16 interval;
5225 wpt_uint16 timeout;
5226 wpt_uint8 session;
5227 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
5228} WDI_LPHBUdpParamStruct;
5229
5230typedef struct
5231{
5232 wpt_uint16 length;
5233 wpt_uint8 offset;
5234 wpt_uint8 session;
5235 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
5236} WDI_LPHBUdpFilterStruct;
5237
5238typedef struct
5239{
5240 wpt_uint16 cmd;
5241 wpt_uint16 dummy;
5242 union
5243 {
5244 WDI_LPHBEnableStruct lphbEnableReq;
5245 WDI_LPHBTcpParamStruct lphbTcpParamReq;
5246 WDI_LPHBTcpFilterStruct lphbTcpFilterReq;
5247 WDI_LPHBUdpParamStruct lphbUdpParamReq;
5248 WDI_LPHBUdpFilterStruct lphbUdpFilterReq;
5249 } params;
5250} WDI_LPHBReq;
5251#endif /* FEATURE_WLAN_LPHB */
Jeff Johnson295189b2012-06-20 16:38:30 -07005252
Jeff Johnson295189b2012-06-20 16:38:30 -07005253/*---------------------------------------------------------------------------
5254 WDI_AuthType
5255---------------------------------------------------------------------------*/
5256typedef enum
5257{
5258 WDI_AUTH_TYPE_ANY = 0,
5259
5260 WDI_AUTH_TYPE_NONE,
5261 WDI_AUTH_TYPE_OPEN_SYSTEM,
5262 WDI_AUTH_TYPE_SHARED_KEY,
5263
5264 WDI_AUTH_TYPE_WPA,
5265 WDI_AUTH_TYPE_WPA_PSK,
5266 WDI_AUTH_TYPE_WPA_NONE,
5267
5268 WDI_AUTH_TYPE_RSN,
5269 WDI_AUTH_TYPE_RSN_PSK,
5270 WDI_AUTH_TYPE_FT_RSN,
5271 WDI_AUTH_TYPE_FT_RSN_PSK,
5272 WDI_AUTH_TYPE_WAPI_WAI_CERTIFICATE,
5273 WDI_AUTH_TYPE_WAPI_WAI_PSK,
5274 WDI_AUTH_TYPE_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
5275
5276}WDI_AuthType;
5277
5278/*---------------------------------------------------------------------------
5279 WDI_EdType
5280---------------------------------------------------------------------------*/
5281typedef enum
5282{
5283 WDI_ED_ANY = 0,
5284 WDI_ED_NONE,
5285 WDI_ED_WEP40,
5286 WDI_ED_WEP104,
5287 WDI_ED_TKIP,
5288 WDI_ED_CCMP,
5289 WDI_ED_WPI,
5290 WDI_ED_AES_128_CMAC,
5291 WDI_ED_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
5292} WDI_EdType;
5293
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005294#ifdef FEATURE_WLAN_SCAN_PNO
5295
5296/*Max number of channels for a given network supported by PNO*/
5297#define WDI_PNO_MAX_NETW_CHANNELS 26
5298
5299/*Max number of channels for a given network supported by PNO*/
5300#define WDI_PNO_MAX_NETW_CHANNELS_EX 60
5301
5302/*The max number of programable networks for PNO*/
5303#define WDI_PNO_MAX_SUPP_NETWORKS 16
5304
5305/*The max number of scan timers programable in Riva*/
5306#define WDI_PNO_MAX_SCAN_TIMERS 10
5307
5308#define WDI_PNO_MAX_PROBE_SIZE 450
Jeff Johnson295189b2012-06-20 16:38:30 -07005309
5310/*---------------------------------------------------------------------------
5311 WDI_PNOMode
5312---------------------------------------------------------------------------*/
5313typedef enum
5314{
5315 /*Network offload is to start immediately*/
5316 WDI_PNO_MODE_IMMEDIATE,
5317
5318 /*Network offload is to start on host suspend*/
5319 WDI_PNO_MODE_ON_SUSPEND,
5320
5321 /*Network offload is to start on host resume*/
5322 WDI_PNO_MODE_ON_RESUME,
5323 WDI_PNO_MODE_MAX = 0xFFFFFFFF
5324} WDI_PNOMode;
5325
5326/* SSID broadcast type */
5327typedef enum
5328{
5329 WDI_BCAST_UNKNOWN = 0,
5330 WDI_BCAST_NORMAL = 1,
5331 WDI_BCAST_HIDDEN = 2,
5332
5333 WDI_BCAST_TYPE_MAX = 0xFFFFFFFF
5334} WDI_SSIDBcastType;
5335
5336/*---------------------------------------------------------------------------
5337 WDI_NetworkType
5338---------------------------------------------------------------------------*/
5339typedef struct
5340{
5341 /*The SSID of the preferred network*/
5342 WDI_MacSSid ssId;
5343
5344 /*The authentication method of the preferred network*/
5345 WDI_AuthType wdiAuth;
5346
5347 /*The encryption method of the preferred network*/
5348 WDI_EdType wdiEncryption;
5349
5350 /*SSID broadcast type, normal, hidden or unknown*/
5351 WDI_SSIDBcastType wdiBcastNetworkType;
5352
5353 /*channel count - 0 for all channels*/
5354 wpt_uint8 ucChannelCount;
5355
5356 /*the actual channels*/
Madan Mohan Koyyalamudi4bb5d2e2013-09-26 17:36:46 +05305357 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
Jeff Johnson295189b2012-06-20 16:38:30 -07005358
5359 /*rssi threshold that a network must meet to be considered, 0 - for any*/
5360 wpt_uint8 rssiThreshold;
5361} WDI_NetworkType;
5362
5363
5364/*---------------------------------------------------------------------------
5365 WDI_ScanTimer
5366---------------------------------------------------------------------------*/
5367typedef struct
5368{
5369 /*The timer value*/
5370 wpt_uint32 uTimerValue;
5371
5372 /*The amount of time we should be repeating the interval*/
5373 wpt_uint32 uTimerRepeat;
5374} WDI_ScanTimer;
5375
5376/*---------------------------------------------------------------------------
5377 WDI_ScanTimersType
5378---------------------------------------------------------------------------*/
5379typedef struct
5380{
5381 /*The number of value pair intervals present in the array*/
5382 wpt_uint8 ucScanTimersCount;
5383
5384 /*The time-repeat value pairs*/
5385 WDI_ScanTimer aTimerValues[WDI_PNO_MAX_SCAN_TIMERS];
5386} WDI_ScanTimersType;
5387
5388/*---------------------------------------------------------------------------
5389 WDI_PNOScanReqType
5390---------------------------------------------------------------------------*/
5391typedef struct
5392{
5393 /*Enable or disable PNO feature*/
5394 wpt_uint8 bEnable;
5395
5396 /*PNO mode requested*/
5397 WDI_PNOMode wdiModePNO;
5398
5399 /*Network count*/
5400 wpt_uint8 ucNetworksCount;
5401
5402 /*The networks to look for*/
5403 WDI_NetworkType aNetworks[WDI_PNO_MAX_SUPP_NETWORKS];
5404
5405 /*Scan timer intervals*/
5406 WDI_ScanTimersType scanTimers;
5407
5408 /*Probe template for 2.4GHz band*/
5409 wpt_uint16 us24GProbeSize;
5410 wpt_uint8 a24GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
5411
5412 /*Probe template for 5GHz band*/
5413 wpt_uint16 us5GProbeSize;
5414 wpt_uint8 a5GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
5415} WDI_PNOScanReqType;
5416
5417/*---------------------------------------------------------------------------
5418 WDI_PNOScanReqParamsType
5419 PNO info passed to WDI form WDA
5420---------------------------------------------------------------------------*/
5421typedef struct
5422{
5423 /* PNO Info Type, same as tPrefNetwListParams */
5424 WDI_PNOScanReqType wdiPNOScanInfo;
5425 /* Request status callback offered by UMAC - it is called if the current req
5426 has returned PENDING as status; it delivers the status of sending the message
5427 over the BUS */
5428 WDI_ReqStatusCb wdiReqStatusCB;
5429 /* The user data passed in by UMAC, it will be sent back when the above
5430 function pointer will be called */
5431 void* pUserData;
5432} WDI_PNOScanReqParamsType;
5433
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005434/*---------------------------------------------------------------------------
5435 WDI_SetRssiFilterReqParamsType
5436 PNO info passed to WDI form WDA
5437---------------------------------------------------------------------------*/
5438typedef struct
5439{
5440 /* RSSI Threshold */
5441 wpt_uint8 rssiThreshold;
5442 /* Request status callback offered by UMAC - it is called if the current req
5443 has returned PENDING as status; it delivers the status of sending the message
5444 over the BUS */
5445 WDI_ReqStatusCb wdiReqStatusCB;
5446 /* The user data passed in by UMAC, it will be sent back when the above
5447 function pointer will be called */
5448 void* pUserData;
5449} WDI_SetRssiFilterReqParamsType;
5450
5451/*---------------------------------------------------------------------------
5452 WDI_UpdateScanParamsInfo
5453---------------------------------------------------------------------------*/
5454typedef struct
5455{
5456 /*Is 11d enabled*/
5457 wpt_uint8 b11dEnabled;
5458
5459 /*Was UMAc able to find the regulatory domain*/
5460 wpt_uint8 b11dResolved;
5461
5462 /*Number of channel allowed in the regulatory domain*/
5463 wpt_uint8 ucChannelCount;
5464
5465 /*The actual channels allowed in the regulatory domain*/
5466 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
5467
5468 /*Passive min channel time*/
5469 wpt_uint16 usPassiveMinChTime;
5470
5471 /*Passive max channel time*/
5472 wpt_uint16 usPassiveMaxChTime;
5473
5474 /*Active min channel time*/
5475 wpt_uint16 usActiveMinChTime;
5476
5477 /*Active max channel time*/
5478 wpt_uint16 usActiveMaxChTime;
5479
5480 /*channel bonding info*/
5481 wpt_uint8 cbState;
5482} WDI_UpdateScanParamsInfo;
5483
5484/*---------------------------------------------------------------------------
5485 WDI_UpdateScanParamsInfoType
5486 UpdateScanParams info passed to WDI form WDA
5487---------------------------------------------------------------------------*/
5488typedef struct
5489{
5490 /* PNO Info Type, same as tUpdateScanParams */
5491 WDI_UpdateScanParamsInfo wdiUpdateScanParamsInfo;
5492 /* Request status callback offered by UMAC - it is called if the current req
5493 has returned PENDING as status; it delivers the status of sending the message
5494 over the BUS */
5495 WDI_ReqStatusCb wdiReqStatusCB;
5496 /* The user data passed in by UMAC, it will be sent back when the above
5497 function pointer will be called */
5498 void* pUserData;
5499} WDI_UpdateScanParamsInfoType;
5500#endif //FEATURE_WLAN_SCAN_PNO
5501
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005502#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
5503
Varun Reddy Yeturu52231ea2014-02-06 12:00:56 -08005504#define WDI_ROAM_SCAN_MAX_CHANNELS 80
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005505#define WDI_ROAM_SCAN_MAX_PROBE_SIZE 450
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005506
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005507typedef struct
5508{
5509 /*The SSID of the preferred network*/
5510 WDI_MacSSid ssId;
5511 wpt_uint8 currAPbssid[WDI_MAC_ADDR_LEN];
5512
5513 /*The authentication method of the preferred network*/
5514 WDI_AuthType authentication;
5515
5516 /*The encryption method of the preferred network*/
5517 WDI_EdType encryption;
5518 WDI_EdType mcencryption;
5519
5520 /*SSID broadcast type, normal, hidden or unknown*/
5521 //WDI_SSIDBcastType wdiBcastNetworkType;
5522
5523 /*channel count - 0 for all channels*/
5524 wpt_uint8 ChannelCount;
5525
5526 /*the actual channels*/
5527 wpt_uint8 ChannelCache[WDI_ROAM_SCAN_MAX_CHANNELS];
5528
5529} WDI_RoamNetworkType;
5530
5531typedef struct WDIMobilityDomainInfo
5532{
5533 wpt_uint8 mdiePresent;
5534 wpt_uint16 mobilityDomain;
5535} WDI_MobilityDomainInfo;
5536
5537/*---------------------------------------------------------------------------
5538 WDI_RoamOffloadScanInfo
5539---------------------------------------------------------------------------*/
5540typedef struct
5541{
5542 wpt_boolean RoamScanOffloadEnabled;
Sameer Thalappil4ae66ec2013-11-05 14:17:35 -08005543 wpt_boolean MAWCEnabled;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005544 wpt_uint8 LookupThreshold;
Varun Reddy Yeturu6c5e25c2014-01-09 21:55:37 -08005545 wpt_uint8 RxSensitivityThreshold;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005546 wpt_uint8 RoamRssiDiff;
5547 wpt_uint8 ChannelCacheType;
5548 wpt_uint8 Command;
5549 wpt_uint8 StartScanReason;
5550 wpt_uint16 NeighborScanTimerPeriod;
5551 wpt_uint16 NeighborRoamScanRefreshPeriod;
5552 wpt_uint16 NeighborScanChannelMinTime;
5553 wpt_uint16 NeighborScanChannelMaxTime;
5554 wpt_uint16 EmptyRefreshScanPeriod;
5555 wpt_uint8 ValidChannelCount;
5556 wpt_uint8 ValidChannelList[WDI_ROAM_SCAN_MAX_CHANNELS];
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08005557 wpt_boolean IsESEEnabled;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005558 /*Probe template for 2.4GHz band*/
5559 wpt_uint16 us24GProbeSize;
5560 wpt_uint8 a24GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
5561
5562 /*Probe template for 5GHz band*/
5563 wpt_uint16 us5GProbeSize;
5564 wpt_uint8 a5GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005565 /*LFR BG Scan will currently look for only one network to which it is initially connected.
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005566 * As per requirement, later, the following structure can be used as an array of networks.*/
5567 WDI_RoamNetworkType ConnectedNetwork;
5568 WDI_MobilityDomainInfo MDID;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005569 wpt_uint8 nProbes;
5570 wpt_uint16 HomeAwayTime;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005571} WDI_RoamOffloadScanInfo;
5572
5573typedef struct
5574{
5575 /* Start Roam Candidate Lookup Offload Back Ground Info Type */
5576 WDI_RoamOffloadScanInfo wdiRoamOffloadScanInfo;
5577 /* Request status callback offered by UMAC - it is called if the current req
5578 has returned PENDING as status; it delivers the status of sending the message
5579 over the BUS */
5580 WDI_ReqStatusCb wdiReqStatusCB;
5581 /* The user data passed in by UMAC, it will be sent back when the above
5582 function pointer will be called */
5583 void* pUserData;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005584} WDI_RoamScanOffloadReqParamsType;
Kapil Gupta04ab1992016-06-26 13:36:51 +05305585
5586typedef struct
5587{
5588 wpt_uint32 requestId;
5589 wpt_uint32 rateUpThreshold;
5590 wpt_uint32 rateDownThreshold;
5591 wpt_uint32 isPERRoamCCAEnabled;
5592 wpt_uint32 waitPeriodForNextPERScan;
5593 wpt_uint32 PERtimerThreshold;
5594 wpt_uint32 PERroamTriggerPercent;
Kapil Guptac69c28a2016-08-25 14:11:17 +05305595 wpt_int16 PERRoamFullScanThreshold;
Kapil Gupta04ab1992016-06-26 13:36:51 +05305596} WDI_PERRoamOffloadScanInfo;
5597
5598typedef struct
5599{
5600 wpt_boolean roamScanReq; // Request info for all peers
5601} WDI_PERRoamTriggerScanInfo;
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005602#endif //WLAN_FEATURE_ROAM_SCAN_OFFLOAD
Jeff Johnson295189b2012-06-20 16:38:30 -07005603
5604/*---------------------------------------------------------------------------
Sandeep Puligilla8b8b74b2014-02-10 16:39:05 +05305605 WDI_HT40ObssScanIndType
5606---------------------------------------------------------------------------*/
5607typedef struct
5608{
5609 wpt_uint8 cmdType;
5610 wpt_uint8 scanType;
5611 wpt_uint16 OBSSScanPassiveDwellTime; // In TUs
5612 wpt_uint16 OBSSScanActiveDwellTime; // In TUs
5613 wpt_uint16 BSSChannelWidthTriggerScanInterval; // In seconds
5614 wpt_uint16 OBSSScanPassiveTotalPerChannel; // In TUs
5615 wpt_uint16 OBSSScanActiveTotalPerChannel; // In TUs
5616 wpt_uint16 BSSWidthChannelTransitionDelayFactor;
5617 wpt_uint16 OBSSScanActivityThreshold;
5618 wpt_uint8 selfStaIdx;
5619 wpt_uint8 bssIdx;
5620 wpt_uint8 fortyMHZIntolerent;
5621 wpt_uint8 channelCount;
5622 wpt_uint8 channels[WDI_ROAM_SCAN_MAX_CHANNELS];
5623 wpt_uint8 currentOperatingClass;
5624 wpt_uint16 ieFieldLen;
5625 wpt_uint8 ieField[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
5626} WDI_HT40ObssScanIndType;
5627
5628
5629/*---------------------------------------------------------------------------
5630 WDI_OBSSScanIndParamsType
5631---------------------------------------------------------------------------*/
5632typedef struct
5633{
5634 WDI_HT40ObssScanIndType wdiHT40ObssScanParam;
5635
5636 /*Request status callback offered by UMAC - it is called if the current
5637 req has returned PENDING as status; it delivers the status of sending
5638 the message over the BUS */
5639 WDI_ReqStatusCb wdiReqStatusCB;
5640
5641 /*The user data passed in by UMAC, it will be sent back when the above
5642 function pointer will be called */
5643 void* pUserData;
5644
5645}WDI_HT40ObssScanParamsType;
5646
5647/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07005648 WDI_UpdateScanParamsInfo
5649---------------------------------------------------------------------------*/
5650typedef struct
5651{
5652 /* Ignore DTIM */
5653 wpt_uint32 uIgnoreDTIM;
5654
5655 /*DTIM Period*/
5656 wpt_uint32 uDTIMPeriod;
5657
5658 /* Listen Interval */
5659 wpt_uint32 uListenInterval;
5660
5661 /* Broadcast Multicas Filter */
5662 wpt_uint32 uBcastMcastFilter;
5663
5664 /* Beacon Early Termination */
5665 wpt_uint32 uEnableBET;
5666
5667 /* Beacon Early Termination Interval */
5668 wpt_uint32 uBETInterval;
5669
Yue Mac24062f2013-05-13 17:01:29 -07005670 /* MAX LI for modulated DTIM */
5671 wpt_uint32 uMaxLIModulatedDTIM;
5672
Jeff Johnson295189b2012-06-20 16:38:30 -07005673} WDI_SetPowerParamsInfo;
5674
5675/*---------------------------------------------------------------------------
5676 WDI_UpdateScanParamsInfoType
5677 UpdateScanParams info passed to WDI form WDA
5678---------------------------------------------------------------------------*/
5679typedef struct
5680{
5681 /* Power params Info Type, same as tSetPowerParamsReq */
5682 WDI_SetPowerParamsInfo wdiSetPowerParamsInfo;
5683 /* Request status callback offered by UMAC - it is called if the current req
5684 has returned PENDING as status; it delivers the status of sending the message
5685 over the BUS */
5686 WDI_ReqStatusCb wdiReqStatusCB;
5687 /* The user data passed in by UMAC, it will be sent back when the above
5688 function pointer will be called */
5689 void* pUserData;
5690}WDI_SetPowerParamsReqParamsType;
5691
5692/*---------------------------------------------------------------------------
5693 WDI_SetTxPerTrackingConfType
5694 Wowl add ptrn info passed to WDA form UMAC
5695---------------------------------------------------------------------------*/
5696typedef struct
5697{
5698 wpt_uint8 ucTxPerTrackingEnable; /* 0: disable, 1:enable */
5699 wpt_uint8 ucTxPerTrackingPeriod; /* Check period, unit is sec. */
5700 wpt_uint8 ucTxPerTrackingRatio; /* (Fail TX packet)/(Total TX packet) ratio, the unit is 10%. */
5701 wpt_uint32 uTxPerTrackingWatermark; /* A watermark of check number, once the tx packet exceed this number, we do the check, default is 5 */
5702} WDI_TxPerTrackingParamType;
5703
5704/*---------------------------------------------------------------------------
5705 WDI_SetTxPerTrackingReqParamsType
5706 Tx PER Tracking parameters passed to WDI from WDA
5707---------------------------------------------------------------------------*/
5708typedef struct
5709{
5710 /* Configurations for Tx PER Tracking */
5711 WDI_TxPerTrackingParamType wdiTxPerTrackingParam;
5712 /*Request status callback offered by UMAC - it is called if the current req
5713 has returned PENDING as status; it delivers the status of sending the message
5714 over the BUS */
5715 WDI_ReqStatusCb wdiReqStatusCB;
5716 /*The user data passed in by UMAC, it will be sent back when the above
5717 function pointer will be called */
5718 void* pUserData;
5719}WDI_SetTxPerTrackingReqParamsType;
5720
5721#ifdef WLAN_FEATURE_PACKET_FILTERING
5722/*---------------------------------------------------------------------------
5723 Packet Filtering Parameters
5724---------------------------------------------------------------------------*/
5725
5726#define WDI_IPV4_ADDR_LEN 4
5727#define WDI_MAC_ADDR_LEN 6
5728#define WDI_MAX_FILTER_TEST_DATA_LEN 8
5729#define WDI_MAX_NUM_MULTICAST_ADDRESS 240
5730#define WDI_MAX_NUM_FILTERS 20
5731#define WDI_MAX_NUM_TESTS_PER_FILTER 10
5732
5733//
5734// Receive Filter Parameters
5735//
5736typedef enum
5737{
5738 WDI_RCV_FILTER_TYPE_INVALID,
5739 WDI_RCV_FILTER_TYPE_FILTER_PKT,
5740 WDI_RCV_FILTER_TYPE_BUFFER_PKT,
5741 WDI_RCV_FILTER_TYPE_MAX_ENUM_SIZE
5742}WDI_ReceivePacketFilterType;
5743
5744typedef enum
5745{
5746 WDI_FILTER_HDR_TYPE_INVALID,
5747 WDI_FILTER_HDR_TYPE_MAC,
5748 WDI_FILTER_HDR_TYPE_ARP,
5749 WDI_FILTER_HDR_TYPE_IPV4,
5750 WDI_FILTER_HDR_TYPE_IPV6,
5751 WDI_FILTER_HDR_TYPE_UDP,
5752 WDI_FILTER_HDR_TYPE_MAX
5753}WDI_RcvPktFltProtocolType;
5754
5755typedef enum
5756{
5757 WDI_FILTER_CMP_TYPE_INVALID,
5758 WDI_FILTER_CMP_TYPE_EQUAL,
5759 WDI_FILTER_CMP_TYPE_MASK_EQUAL,
5760 WDI_FILTER_CMP_TYPE_NOT_EQUAL,
5761 WDI_FILTER_CMP_TYPE_MASK_NOT_EQUAL,
5762 WDI_FILTER_CMP_TYPE_MAX
5763}WDI_RcvPktFltCmpFlagType;
5764
5765typedef struct
5766{
5767 WDI_RcvPktFltProtocolType protocolLayer;
5768 WDI_RcvPktFltCmpFlagType cmpFlag;
5769/* Length of the data to compare */
5770 wpt_uint16 dataLength;
5771/* from start of the respective frame header */
5772 wpt_uint8 dataOffset;
5773 wpt_uint8 reserved; /* Reserved field */
5774/* Data to compare */
5775 wpt_uint8 compareData[WDI_MAX_FILTER_TEST_DATA_LEN];
5776/* Mask to be applied on the received packet data before compare */
5777 wpt_uint8 dataMask[WDI_MAX_FILTER_TEST_DATA_LEN];
5778}WDI_RcvPktFilterFieldParams;
5779
5780typedef struct
5781{
5782 wpt_uint8 filterId;
5783 wpt_uint8 filterType;
5784 wpt_uint32 numFieldParams;
5785 wpt_uint32 coalesceTime;
Jeff Johnsone7245742012-09-05 17:12:55 -07005786 wpt_macAddr selfMacAddr;
5787 wpt_macAddr bssId;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005788 WDI_RcvPktFilterFieldParams paramsData[1];
5789
Jeff Johnson295189b2012-06-20 16:38:30 -07005790}WDI_RcvPktFilterCfgType;
5791
5792typedef struct
5793{
5794 /*Request status callback offered by UMAC - it is called if the current
5795 req has returned PENDING as status; it delivers the status of sending
5796 the message over the BUS */
5797 WDI_ReqStatusCb wdiReqStatusCB;
5798
5799 /*The user data passed in by UMAC, it will be sent back when the above
5800 function pointer will be called */
5801 void* pUserData;
5802
5803 // Variable length packet filter field params
5804 WDI_RcvPktFilterCfgType wdiPktFilterCfg;
5805} WDI_SetRcvPktFilterReqParamsType;
5806
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005807typedef struct
5808{
5809 /*Result of the operation*/
5810 WDI_Status wdiStatus;
5811 /* BSSIDX of the Set Receive Filter
5812 */
5813 wpt_uint8 bssIdx;
5814} WDI_SetRcvPktFilterRspParamsType;
5815
Jeff Johnson295189b2012-06-20 16:38:30 -07005816//
5817// Filter Packet Match Count Parameters
5818//
5819typedef struct
5820{
5821 /*Request status callback offered by UMAC - it is called if the current
5822 req has returned PENDING as status; it delivers the status of sending
5823 the message over the BUS */
5824 WDI_ReqStatusCb wdiReqStatusCB;
5825
5826 /*The user data passed in by UMAC, it will be sent back when the above
5827 function pointer will be called */
5828 void* pUserData;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005829
5830 /* BSSID of the Match count
5831 */
5832 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005833} WDI_RcvFltPktMatchCntReqParamsType;
5834
5835typedef struct
5836{
5837 wpt_uint8 filterId;
5838 wpt_uint32 matchCnt;
5839} WDI_RcvFltPktMatchCnt;
5840
5841typedef struct
5842{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005843 /*Result of the operation*/
5844 WDI_Status wdiStatus;
Jeff Johnson295189b2012-06-20 16:38:30 -07005845
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005846 /* BSSIDX of the Match count response
5847 */
5848 wpt_uint8 bssIdx;
5849
Jeff Johnson295189b2012-06-20 16:38:30 -07005850} WDI_RcvFltPktMatchCntRspParamsType;
5851
Jeff Johnson295189b2012-06-20 16:38:30 -07005852//
5853// Receive Filter Clear Parameters
5854//
5855typedef struct
5856{
5857 wpt_uint32 status; /* only valid for response message */
5858 wpt_uint8 filterId;
Jeff Johnsone7245742012-09-05 17:12:55 -07005859 wpt_macAddr selfMacAddr;
5860 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005861}WDI_RcvFltPktClearParam;
5862
5863typedef struct
5864{
5865 WDI_RcvFltPktClearParam filterClearParam;
5866 /*Request status callback offered by UMAC - it is called if the current
5867 req has returned PENDING as status; it delivers the status of sending
5868 the message over the BUS */
5869 WDI_ReqStatusCb wdiReqStatusCB;
5870
5871 /*The user data passed in by UMAC, it will be sent back when the above
5872 function pointer will be called */
5873 void* pUserData;
5874} WDI_RcvFltPktClearReqParamsType;
5875
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005876typedef struct
5877{
5878 /*Result of the operation*/
5879 WDI_Status wdiStatus;
5880 /* BSSIDX of the Match count response
5881 */
5882 wpt_uint8 bssIdx;
5883
5884} WDI_RcvFltPktClearRspParamsType;
5885
Jeff Johnson295189b2012-06-20 16:38:30 -07005886//
5887// Multicast Address List Parameters
5888//
5889typedef struct
5890{
5891 wpt_uint32 ulMulticastAddrCnt;
5892 wpt_macAddr multicastAddr[WDI_MAX_NUM_MULTICAST_ADDRESS];
Jeff Johnsone7245742012-09-05 17:12:55 -07005893 wpt_macAddr selfMacAddr;
5894 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005895} WDI_RcvFltMcAddrListType;
5896
5897typedef struct
5898{
5899 WDI_RcvFltMcAddrListType mcAddrList;
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_RcvFltPktSetMcListReqParamsType;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005909
5910typedef struct
5911{
5912 /*Result of the operation*/
5913 WDI_Status wdiStatus;
5914 /* BSSIDX of the Match count response
5915 */
5916 wpt_uint8 bssIdx;
5917} WDI_RcvFltPktSetMcListRspParamsType;
5918
Jeff Johnson295189b2012-06-20 16:38:30 -07005919#endif // WLAN_FEATURE_PACKET_FILTERING
5920
5921/*---------------------------------------------------------------------------
5922 WDI_HALDumpCmdReqInfoType
5923---------------------------------------------------------------------------*/
5924typedef struct
5925{
5926 /*command*/
5927 wpt_uint32 command;
5928
5929 /*Arguments*/
5930 wpt_uint32 argument1;
5931 wpt_uint32 argument2;
5932 wpt_uint32 argument3;
5933 wpt_uint32 argument4;
5934
5935}WDI_HALDumpCmdReqInfoType;
5936
5937/*---------------------------------------------------------------------------
5938 WDI_HALDumpCmdReqParamsType
5939---------------------------------------------------------------------------*/
5940typedef struct
5941{
5942 /*NV Blob Info*/
5943 WDI_HALDumpCmdReqInfoType wdiHALDumpCmdInfoType;
5944
5945 /*Request status callback offered by UMAC - it is called if the current
5946 req has returned PENDING as status; it delivers the status of sending
5947 the message over the BUS */
5948 WDI_ReqStatusCb wdiReqStatusCB;
5949
5950 /*The user data passed in by UMAC, it will be sent back when the above
5951 function pointer will be called */
5952 void* pUserData;
5953
5954}WDI_HALDumpCmdReqParamsType;
5955
5956
5957/*---------------------------------------------------------------------------
5958 WDI_HALDumpCmdRspParamsType
5959---------------------------------------------------------------------------*/
5960typedef struct
5961{
5962 /*Result of the operation*/
5963 WDI_Status wdiStatus;
5964
5965 /* length of the buffer */
5966 wpt_uint16 usBufferLen;
5967
5968 /* Buffer */
5969 wpt_uint8 *pBuffer;
5970}WDI_HALDumpCmdRspParamsType;
5971
5972
5973/*---------------------------------------------------------------------------
5974 WDI_SetTmLevelReqType
5975---------------------------------------------------------------------------*/
5976typedef struct
5977{
5978 wpt_uint16 tmMode;
5979 wpt_uint16 tmLevel;
5980 void* pUserData;
5981}WDI_SetTmLevelReqType;
5982
5983/*---------------------------------------------------------------------------
5984 WDI_SetTmLevelRspType
5985---------------------------------------------------------------------------*/
5986typedef struct
5987{
5988 WDI_Status wdiStatus;
5989 void* pUserData;
5990}WDI_SetTmLevelRspType;
5991
Leo Chang9056f462013-08-01 19:21:11 -07005992#ifdef FEATURE_WLAN_LPHB
5993/*---------------------------------------------------------------------------
5994 WDI_LPHBConfigParamsType
5995---------------------------------------------------------------------------*/
5996typedef struct
5997{
5998 void* pLphsConfIndData;
5999}WDI_LPHBConfigParamsType;
6000#endif /* FEATURE_WLAN_LPHB */
6001
Yue Mab9c86f42013-08-14 15:59:08 -07006002/*---------------------------------------------------------------------------
6003 WDI_AddPeriodicTxPtrnInfoType
6004---------------------------------------------------------------------------*/
6005typedef struct
6006{
6007 /* MAC Address for the adapter */
6008 wpt_macAddr macAddr;
6009
6010 wpt_uint8 ucPtrnId; // Pattern ID
6011 wpt_uint16 ucPtrnSize; // Pattern size
6012 wpt_uint32 usPtrnIntervalMs; // In msec
6013 wpt_uint8 ucPattern[PERIODIC_TX_PTRN_MAX_SIZE]; // Pattern buffer
6014} WDI_AddPeriodicTxPtrnInfoType;
6015
6016/*---------------------------------------------------------------------------
6017 WDI_DelPeriodicTxPtrnInfoType
6018---------------------------------------------------------------------------*/
6019typedef struct
6020{
6021 /* MAC Address for the adapter */
6022 wpt_macAddr macAddr;
6023
6024 /* Bitmap of pattern IDs that needs to be deleted */
6025 wpt_uint32 ucPatternIdBitmap;
6026} WDI_DelPeriodicTxPtrnInfoType;
6027
6028/*---------------------------------------------------------------------------
6029 WDI_AddPeriodicTxPtrnParamsType
6030---------------------------------------------------------------------------*/
6031typedef struct
6032{
6033 WDI_AddPeriodicTxPtrnInfoType wdiAddPeriodicTxPtrnParams;
6034
6035 /*Request status callback offered by UMAC - it is called if the current
6036 req has returned PENDING as status; it delivers the status of sending
6037 the message over the BUS */
6038 WDI_ReqStatusCb wdiReqStatusCB;
6039
6040 /*The user data passed in by UMAC, it will be sent back when the above
6041 function pointer will be called */
6042 void* pUserData;
6043} WDI_AddPeriodicTxPtrnParamsType;
6044
6045/*---------------------------------------------------------------------------
Srinivas Dasari32a79262015-02-19 13:04:49 +05306046 WDI_NanRequestType
6047---------------------------------------------------------------------------*/
6048typedef struct
6049{
6050 wpt_uint16 request_data_len;
6051 wpt_uint8 request_data[1];
6052} WDI_NanRequestType;
6053
6054
6055/*---------------------------------------------------------------------------
Yue Mab9c86f42013-08-14 15:59:08 -07006056 WDI_DelPeriodicTxPtrnParamsType
6057---------------------------------------------------------------------------*/
6058typedef struct
6059{
6060 WDI_DelPeriodicTxPtrnInfoType wdiDelPeriodicTxPtrnParams;
6061
6062 /*Request status callback offered by UMAC - it is called if the current
6063 req has returned PENDING as status; it delivers the status of sending
6064 the message over the BUS */
6065 WDI_ReqStatusCb wdiReqStatusCB;
6066
6067 /*The user data passed in by UMAC, it will be sent back when the above
6068 function pointer will be called */
6069 void* pUserData;
6070} WDI_DelPeriodicTxPtrnParamsType;
6071
Abhishek Singh00b71972016-01-07 10:51:04 +05306072#ifdef WLAN_FEATURE_RMC
6073/*---------------------------------------------------------------------------
6074 WDI_IbssPeerInfoParams
6075---------------------------------------------------------------------------*/
6076typedef struct
6077{
6078 wpt_uint8 wdiStaIdx; //StaIdx
6079 wpt_uint32 wdiTxRate; //Tx Rate
6080 wpt_uint32 wdiMcsIndex; //MCS Index
6081 wpt_uint32 wdiTxRateFlags; //TxRate Flags
6082 wpt_int8 wdiRssi; //RSSI
6083}WDI_IbssPeerInfoParams;
6084
6085/*---------------------------------------------------------------------------
6086 WDI_IbssPeerInfoRspParams
6087---------------------------------------------------------------------------*/
6088typedef struct
6089{
6090 wpt_uint32 wdiStatus; // Return status
6091 wpt_uint8 wdiNumPeers; // Number of peers
6092 WDI_IbssPeerInfoParams *wdiPeerInfoParams; // Peer Info parameters
6093}WDI_IbssPeerInfoRspParams;
6094
6095/*---------------------------------------------------------------------------
6096 WDI_GetIbssPeerInfoRspType
6097---------------------------------------------------------------------------*/
6098typedef struct
6099{
6100 WDI_IbssPeerInfoRspParams wdiPeerInfoRspParams;
6101
6102 /*Request status callback offered by UMAC - it is called if the current
6103 req has returned PENDING as status; it delivers the status of sending
6104 the message over the BUS */
6105 WDI_ReqStatusCb wdiReqStatusCB;
6106
6107 /*The user data passed in by UMAC, it will be sent back when the above
6108 function pointer will be called */
6109 void* pUserData;
6110}WDI_GetIbssPeerInfoRspType;
6111
6112/*---------------------------------------------------------------------------
6113 WDI_IbssPeerInfoReqType
6114---------------------------------------------------------------------------*/
6115typedef struct
6116{
6117 wpt_boolean wdiAllPeerInfoReqd; // Request info for all peers
6118 wpt_uint8 wdiStaIdx; // STA Index
6119 wpt_uint8 wdiBssIdx; // BSS Index
6120}WDI_IbssPeerInfoReqType;
6121
6122#endif /* WLAN_FEATURE_RMC */
6123
Dino Mycle41bdc942014-06-10 11:30:24 +05306124#ifdef WLAN_FEATURE_EXTSCAN
6125
6126#define WDI_WLAN_EXTSCAN_MAX_CHANNELS 16
6127#define WDI_WLAN_EXTSCAN_MAX_BUCKETS 16
6128#define WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS 128
Padma, Santhosh Kumar9acee012015-08-21 19:58:01 +05306129#define WDI_WLAN_EXTSCAN_MAX_HOTLIST_SSID 8
Dino Mycle41bdc942014-06-10 11:30:24 +05306130
6131typedef enum
6132{
6133 WDI_WIFI_BAND_UNSPECIFIED,
6134 WDI_WIFI_BAND_BG = 1, // 2.4 GHz
6135 WDI_WIFI_BAND_A = 2, // 5 GHz without DFS
6136 WDI_WIFI_BAND_ABG = 3, // 2.4 GHz + 5 GHz; no DFS
6137 WDI_WIFI_BAND_A_DFS = 4, // 5 GHz DFS only
6138 WDI_WIFI_BAND_A_WITH_DFS = 6, // 5 GHz with DFS
6139 WDI_WIFI_BAND_ABG_WITH_DFS = 7, // 2.4 GHz + 5 GHz with DFS
6140
6141 /* Keep it last */
6142 WDI_WIFI_BAND_MAX
6143} WDI_WifiBand;
6144
6145typedef struct
6146{
6147 wpt_uint32 channel; // frequency
6148 wpt_uint32 dwellTimeMs; // dwell time hint
6149 wpt_uint8 passive; // 0 => active,
6150 // 1 => passive scan; ignored for DFS
6151 wpt_uint8 chnlClass;
6152} WDI_WifiScanChannelSpec;
6153
6154typedef struct
6155{
6156 wpt_uint8 bucket; // bucket index, 0 based
6157 WDI_WifiBand band; // when UNSPECIFIED, use channel list
6158
6159 /*
6160 * desired period, in millisecond; if this is too
6161 * low, the firmware should choose to generate results as fast as
6162 * it can instead of failing the command byte
6163 */
6164 wpt_uint32 period;
6165
6166 /*
6167 * 0 => normal reporting (reporting rssi history
6168 * only, when rssi history buffer is % full)
6169 * 1 => same as 0 + report a scan completion event after scanning
6170 * this bucket
6171 * 2 => same as 1 + forward scan results (beacons/probe responses + IEs)
6172 * in real time to HAL
6173 */
6174 wpt_uint8 reportEvents;
6175
Padma, Santhosh Kumar7b9190d2015-08-17 17:45:29 +05306176 wpt_uint32 max_period;
6177 wpt_uint32 exponent;
6178 wpt_uint32 step_count;
6179
Dino Mycle41bdc942014-06-10 11:30:24 +05306180 wpt_uint8 numChannels;
6181
6182 /*
6183 * channels to scan; these may include DFS channels
6184 */
6185 WDI_WifiScanChannelSpec channels[WDI_WLAN_EXTSCAN_MAX_CHANNELS];
6186} WDI_WifiScanBucketSpec;
6187
6188typedef struct
6189{
6190 wpt_uint32 requestId;
6191 wpt_uint8 sessionId;
6192 wpt_uint32 basePeriod; // base timer period
6193 wpt_uint32 maxAPperScan;
6194
6195 /* in %, when buffer is this much full, wake up host */
Padma, Santhosh Kumar7b9190d2015-08-17 17:45:29 +05306196 wpt_uint32 reportThresholdPercent;
6197 wpt_uint32 reportThresholdNumScans;
Dino Mycle41bdc942014-06-10 11:30:24 +05306198
Padma, Santhosh Kumar7b9190d2015-08-17 17:45:29 +05306199 wpt_uint32 homeAwayTime; //in units of milliseconds
Dino Mycle41bdc942014-06-10 11:30:24 +05306200 wpt_uint8 numBuckets;
6201 WDI_WifiScanBucketSpec buckets[WDI_WLAN_EXTSCAN_MAX_BUCKETS];
6202} WDI_EXTScanStartReqParams;
6203
6204typedef struct
6205{
6206 wpt_uint32 requestId;
6207 wpt_uint8 sessionId;
6208} WDI_EXTScanStopReqParams;
6209
6210typedef struct
6211{
6212 wpt_uint32 requestId;
6213 wpt_uint8 sessionId;
6214
6215 /*
6216 * 1 return cached results and flush it
6217 * 0 return cached results and do not flush
6218 */
6219 wpt_boolean flush;
6220} WDI_EXTScanGetCachedResultsReqParams;
6221
6222typedef struct
6223{
6224 wpt_uint32 requestId;
6225 wpt_uint8 sessionId;
6226} WDI_EXTScanGetCapabilitiesReqParams;
6227
6228typedef struct
6229{
6230 wpt_uint8 bssid[6]; /* BSSID */
6231 wpt_int32 low; // low threshold
6232 wpt_int32 high; // high threshold
Dino Mycle41bdc942014-06-10 11:30:24 +05306233} WDI_APThresholdParam;
6234
6235typedef struct
6236{
Padma, Santhosh Kumar9acee012015-08-21 19:58:01 +05306237 WDI_MacSSid ssid; /* SSID */
6238 wpt_uint8 band; /* band */
6239 wpt_int32 lowRssiThreshold; /* low threshold */
6240 wpt_int32 highRssiThreshold; /* high threshold */
6241} WDI_SSIDThresholdParam;
6242
6243typedef struct
6244{
Dino Mycle41bdc942014-06-10 11:30:24 +05306245 wpt_int32 requestId;
6246 wpt_int8 sessionId; // session Id mapped to vdev_id
Padma, Santhosh Kumar37f4fd12015-08-19 14:37:37 +05306247 wpt_uint32 lostBssidSampleSize;
6248 wpt_int32 numBssid; // number of hotlist APs
Dino Mycle41bdc942014-06-10 11:30:24 +05306249 WDI_APThresholdParam ap[WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS]; // hotlist APs
6250} WDI_EXTScanSetBSSIDHotlistReqParams;
6251
6252typedef struct
6253{
6254 wpt_uint32 requestId;
6255 wpt_uint8 sessionId;
6256} WDI_EXTScanResetBSSIDHotlistReqParams;
6257
Padma, Santhosh Kumar9acee012015-08-21 19:58:01 +05306258typedef struct
6259{
Padma, Santhosh Kumarc1f7f052015-08-26 12:29:01 +05306260 wpt_boolean pause;
6261 wpt_uint32 reserved;
6262} WDI_HighPriorityDataInfoIndParams;
6263
6264typedef struct
6265{
6266 wpt_int32 requestId;
6267 wpt_int8 sessionId; // session Id mapped to vdev_id
Padma, Santhosh Kumar9acee012015-08-21 19:58:01 +05306268 wpt_uint32 lostSsidSampleSize;
6269 wpt_uint32 numSsid; // number of hotlist APs
6270 WDI_SSIDThresholdParam ssid[WDI_WLAN_EXTSCAN_MAX_HOTLIST_SSID]; // hotlist SSIDs
6271} WDI_EXTScanSetSSIDHotlistReqParams;
6272
6273typedef struct
6274{
6275 wpt_uint32 requestId;
6276 wpt_uint8 sessionId;
6277} WDI_EXTScanResetSSIDHotlistReqParams;
6278
Dino Mycle41bdc942014-06-10 11:30:24 +05306279#endif /* WLAN_FEATURE_EXTSCAN */
6280
Sunil Duttbd736ed2014-05-26 21:19:41 +05306281#ifdef WLAN_FEATURE_LINK_LAYER_STATS
6282typedef struct
6283{
6284 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05306285 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05306286 wpt_uint32 mpduSizeThreshold;
6287 wpt_uint32 aggressiveStatisticsGathering;
6288}WDI_LLStatsSetReqType;
6289
6290typedef struct
6291{
6292 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05306293 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05306294 wpt_uint32 paramIdMask;
6295}WDI_LLStatsGetReqType;
6296
6297typedef struct
6298{
6299 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05306300 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05306301 wpt_uint32 statsClearReqMask;
6302 wpt_uint8 stopReq;
6303}WDI_LLStatsClearReqType;
Dino Mycled3d50022014-07-07 12:58:25 +05306304
Sunil Duttbd736ed2014-05-26 21:19:41 +05306305#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
6306
Siddharth Bhal171788a2014-09-29 21:02:40 +05306307/*---------------------------------------------------------------------------
6308 WDI_SPOOF_MAC_ADDR_REQ
6309---------------------------------------------------------------------------*/
6310typedef struct
6311{
6312 /* Spoof MAC Address for FW */
6313 wpt_macAddr macAddr;
6314
6315 /* Reserved Params/fields */
6316 wpt_uint32 params;
6317 wpt_uint32 reserved;
6318} WDI_SpoofMacAddrInfoType;
Sunil Duttbd736ed2014-05-26 21:19:41 +05306319
Srinivas Dasari4dae48f2014-11-26 21:14:16 +05306320//This is to force compiler to use the maximum of an int for enum
6321#define SIR_MAX_ENUM_SIZE 0x7FFFFFFF
6322// Enum to specify whether key is used
6323// for TX only, RX only or both
6324typedef enum
6325{
6326 eWDI_TX_ONLY,
6327 eWDI_RX_ONLY,
6328 eWDI_TX_RX,
6329 eWDI_TX_DEFAULT,
6330 eWDI_DONOT_USE_KEY_DIRECTION = SIR_MAX_ENUM_SIZE
6331} tWDIKeyDirection;
6332
6333// MAX key length when ULA is used
6334#define SIR_MAC_MAX_KEY_LENGTH 32
6335/* Max key size including the WAPI and TKIP */
6336#define WLAN_MAX_KEY_RSC_LEN 16
6337// Definition for Encryption Keys
6338//typedef struct sSirKeys
6339typedef struct
6340{
6341 wpt_uint8 keyId;
6342 wpt_uint8 unicast; // 0 for multicast
6343 tWDIKeyDirection keyDirection;
6344 wpt_uint8 keyRsc[WLAN_MAX_KEY_RSC_LEN]; // Usage is unknown
6345 wpt_uint8 paeRole; // =1 for authenticator,
6346 // =0 for supplicant
6347 wpt_uint16 keyLength;
6348 wpt_uint8 key[SIR_MAC_MAX_KEY_LENGTH];
6349} tWDIKeys, *tpWDIKeys;
6350
6351typedef enum
6352{
6353 eWDI_WEP_STATIC,
6354 eWDI_WEP_DYNAMIC,
6355} tWDIWepType;
6356
6357// Encryption type enum used with peer
6358typedef enum
6359{
6360 eWDI_ED_NONE,
6361 eWDI_ED_WEP40,
6362 eWDI_ED_WEP104,
6363 eWDI_ED_TKIP,
6364 eWDI_ED_CCMP,
6365#if defined(FEATURE_WLAN_WAPI)
6366 eWDI_ED_WPI,
6367#endif
6368 /* DPU HW treats encryption mode 4 plus RMF bit set in TX BD as BIP.
6369 * Thus while setting BIP encryption mode in corresponding DPU Desc
6370 * eSIR_ED_AES_128_CMAC should be set to eSIR_ED_CCMP
6371 */
6372 eWDI_ED_AES_128_CMAC,
6373 eWDI_ED_NOT_IMPLEMENTED = SIR_MAX_ENUM_SIZE
6374} tWDIEdType;
6375#define SIR_WDI_MAX_NUM_OF_DEFAULT_KEYS 4
6376/*
6377 * This is used by PE to configure the key information on a given station.
6378 * When the secType is WEP40 or WEP104, the defWEPIdx is used to locate
6379 * a preconfigured key from a BSS the station assoicated with; otherwise
6380 * a new key descriptor is created based on the key field.
6381 */
6382typedef struct
6383{
6384 wpt_uint16 staIdx;
6385 tWDIEdType encType; // Encryption/Decryption type
6386 tWDIWepType wepType; // valid only for WEP
6387 wpt_uint8 defWEPIdx; // Default WEP key, valid only for static WEP, must between 0 and 3
6388 tWDIKeys key[SIR_WDI_MAX_NUM_OF_DEFAULT_KEYS]; // valid only for non-static WEP encyrptions
6389 wpt_uint8 singleTidRc; // 1=Single TID based Replay Count, 0=Per TID based RC
6390 wpt_uint8 sessionId; // PE session id for PE<->HAL interface
6391} tWDISetStaKeyParams, *tpWDISetStaKeyParams;
6392
6393typedef struct
6394{
6395 tWDISetStaKeyParams keyParams;
6396 wpt_uint8 pn[6];
6397}wpt_encConfigParams;
6398
6399typedef struct
6400{
6401 wpt_uint16 length;
6402 wpt_uint8 data[WDI_DISA_MAX_PAYLOAD_SIZE];
6403}wpt_payload;
6404
6405typedef struct
6406{
6407 wpt_80211Header macHeader;
6408 wpt_encConfigParams encParams;
6409 wpt_payload data;
6410}wpt_pkt80211;
6411
Katya Nigamf0511f62015-05-05 16:40:57 +05306412#define NUM_FILTERS_SUPPORTED 1
6413typedef struct
6414{
6415 wpt_macAddr macAddr;
6416 wpt_uint8 isA1filter;
6417 wpt_uint8 isA2filter;
6418 wpt_uint8 isA3filter;
6419}WDI_filter;
6420
6421typedef struct
6422{
6423 /* start or stop */
6424 wpt_uint8 state;
6425 /*Conversion of packet required or not*/
6426 wpt_uint8 is80211to803ConReq;
6427 wpt_uint32 ChannelNo;
6428 wpt_uint32 ChannelBW;
6429 wpt_uint8 crcCheckEnabled;
6430 wpt_uint8 numOfMacFilters;
6431 WDI_filter mmFilters[NUM_FILTERS_SUPPORTED];
6432 wpt_uint64 typeSubtypeBitmap;
6433 wpt_uint64 rsvd;
6434
6435}WDI_MonStartReqType;
6436
Arun Khandavalli7eeb1592015-10-19 21:36:57 +05306437typedef struct
6438{
6439 wpt_uint8 paramType;
6440 wpt_uint32 paramValue;
6441 wpt_macAddr bssId;
6442}WDI_WifiConfigSetReqType;
6443
Anurag Chouhan83026002016-12-13 22:46:21 +05306444#ifdef DHCP_SERVER_OFFLOAD
6445/**
6446 * wdi_set_dhcp_server_offload_t - dhcp server offload info
6447 * @bssidx: bss index
6448 * @enable: enable od disable
6449 * @srv_ipv4: server ip address
6450 * @start_lsb: starting lsb addredd of pool
6451 * @num_client: number of clients supported
6452 */
6453typedef struct {
6454 wpt_uint8 bssidx;
6455 wpt_uint32 enable;
6456 wpt_uint32 srv_ipv4; /* server IP */
6457 wpt_uint32 start_lsb; /* starting address assigned to client */
6458 wpt_uint32 num_client; /* number of clients we support */
6459} wdi_set_dhcp_server_offload_t;
6460
6461/**
6462 * wdi_dhcp_server_offload_rsp_param_t - dhcp server offload response
6463 * @status: status for the command success or failure
6464 */
6465typedef struct
6466{
6467 /* wdi status */
6468 wpt_uint32 status;
6469} wdi_dhcp_server_offload_rsp_param_t;
6470#endif /* DHCP_SERVER_OFFLOAD */
6471
Anurag Chouhan0b29de02016-12-16 13:18:40 +05306472#ifdef MDNS_OFFLOAD
6473/**
6474 * The purpose of the multicast Domain Name System (mDNS) is to resolve host
6475 * names to IP addresses within small networks that do not include a local
6476 * name server. It utilizes essentially the same programming interfaces, packet
6477 * formats and operating semantics as the unicast DNS, and the advantage is
6478 * zero configuration service while no need for central or global server.
6479 * Based on mDNS, the DNS-SD (Service Discovery) allows clients to discover a
6480 * named list of services by type in a specified domain using standard
6481 * DNS queries. Here, we provide the ability to advertise the available
6482 * services by responding to mDNS queries.
6483 */
6484
6485/**
6486 * wdi_mdns_enable_offload_cmd_req - mdns enable request
6487 * @bss_idx: bss index
6488 * @enable: enable
6489 */
6490typedef struct {
6491 wpt_uint8 bss_idx;
6492 wpt_uint32 enable;
6493} wdi_mdns_enable_offload_cmd_req;
6494
6495/**
6496 * wdi_mdns_enable_offload_rsp_param_t - mDNS enable offload response
6497 * @status: status for the command success or failure
6498 */
6499typedef struct
6500{
6501 wpt_uint32 status;
6502} wdi_mdns_enable_offload_rsp_param_t;
6503
6504#define WMI_MAX_MDNS_FQDN_LEN 64
6505#define WMI_MAX_MDNS_RESP_LEN 512
6506#define WMI_MDNS_FQDN_TYPE_GENERAL 0
6507#define WMI_MDNS_FQDN_TYPE_UNIQUE 1
6508
6509/**
6510 * wdi_mdns_set_fqdn_cmd_req - set fqdn request
6511 * @bss_idx: bss index
6512 * @type: type of fqdn, general or unique
6513 * @fqdn_len: length of fqdn
6514 * @fqdn_data: TLV byte stream of fqdn data of length fqdn_len fully-qualified
6515 * domain name to check if match with the received queries
6516 */
6517typedef struct {
6518 wpt_uint8 bss_idx;
6519 wpt_uint32 type;
6520 wpt_uint32 fqdn_len;
6521 wpt_uint8 fqdn_data[WMI_MAX_MDNS_FQDN_LEN];
6522} wdi_mdns_set_fqdn_cmd_req;
6523
6524/**
6525 * wdi_mdns_set_fqdn_rsp_param_t - mDNS set fqdn response
6526 * @status: status for the command success or failure
6527 */
6528typedef struct
6529{
6530 wpt_uint32 status;
6531} wdi_mdns_set_fqdn_rsp_param_t;
6532
6533/**
6534 * wdi_mdns_set_resp_req - mDNS response request
6535 * @bss_idx: bss index
6536 * @ar_count: Answer Resource Record count
6537 * @resp_len: length of response
6538 * @resp_data: TLV byte stream of resp data of length resp_len responses consisits of Resource Records
6539 */
6540typedef struct {
6541 wpt_uint8 bss_idx;
6542 wpt_uint32 ar_count;
6543 wpt_uint32 resp_len;
6544 wpt_uint8 resp_data[WMI_MAX_MDNS_RESP_LEN];
6545} wdi_mdns_set_resp_req;
6546
6547/**
6548 * wdi_mdns_set_rsp_param_t - mDNS set response rsp
6549 * @status: status for the command success or failure
6550 */
6551typedef struct
6552{
6553 wpt_uint32 status;
6554} wdi_mdns_set_rsp_param_t;
6555
6556/**
6557 * wdi_mdns_get_stats_req - get mdns stats request
6558 * @bss_idx: bss index
6559 */
6560typedef struct {
6561 wpt_uint8 bss_idx;
6562} wdi_mdns_get_stats_req;
6563
6564/**
6565 * wdi_mdns_stats_rsp_t - mdns stats
6566 * @bss_idx: bss index
6567 * @current_ts: curTimestamp in milliseconds
6568 * @last_querry_ts: last received Query in milliseconds
6569 * @last_resp_ts: last sent Response in milliseconds
6570 * @tot_queries: stats of received queries
6571 * @tot_matches: stats of macth queries
6572 * @tot_rsp: stats of responses
6573 * @status: indicate the current status of mDNS offload
6574 */
6575typedef struct {
6576 wpt_uint8 bss_idx;
6577 wpt_uint32 current_ts;
6578 wpt_uint32 last_querry_ts;
6579 wpt_uint32 last_resp_ts;
6580 wpt_uint32 tot_queries;
6581 wpt_uint32 tot_matches;
6582 wpt_uint32 tot_rsp;
6583 wpt_uint32 status;
6584} wdi_mdns_stats_rsp_param_t;
6585#endif /* MDNS_OFFLOAD */
6586
c_manjeecfd1efb2015-09-25 19:32:34 +05306587/**
6588 * struct WDI_FwrMemDumpReqType - firmware memory dump request details.
6589.*.@FWMemDumpReqCb - Associated Callback
6590 *.@fwMemDumpReqContext - Callback context
6591 * @reserved - reserved field 1.
6592 *
6593 * This structure carries information about the firmware
6594 * memory dump request.
6595 */
6596typedef struct
6597{
6598 wpt_uint32 reserved1;
6599}WDI_FwrMemDumpReqType;
6600
6601/**
6602 * struct WDI_FwrMemDumpRsp - firmware dump response details.
6603 *
6604 * This structure is used to store the firmware dump
6605 * response from the firmware.
6606 */
6607typedef struct
6608{
6609 wpt_uint32 dump_status;
6610}WDI_FwrMemDumpRsp;
6611
Arun Khandavalli7eeb1592015-10-19 21:36:57 +05306612typedef struct
6613{
6614 wpt_uint32 wificonfigset_status;
6615}WDI_WifconfigSetRsp;
c_manjeecfd1efb2015-09-25 19:32:34 +05306616
Mahesh A Saptasagar7d432952016-02-09 14:01:03 +05306617/**
6618 * struct WDI_ModifyRoamParamsReqType - Modified roam parameter details.
6619 *
6620 */
6621
6622typedef struct {
6623 wpt_uint8 param;
6624 wpt_uint32 value;
6625}WDI_ModifyRoamParamsReqType;
6626
Selvaraj, Sridharc045b8b2016-04-06 12:22:35 +05306627/**
6628 * struct WDI_AllowedActionFramesInd - Allowed Action frames details
6629 *
6630 */
6631struct WDI_AllowedActionFramesInd {
6632 wpt_uint32 bitmask;
6633 wpt_uint32 reserved;
6634};
Agrawal Ashish17ef5082016-10-17 18:33:21 +05306635
6636struct WDI_sap_ofl_enable_params{
6637
6638 wpt_macAddr macAddr;
6639 /** enable/disable sap auth offload */
6640 wpt_uint32 enable;
6641 /** authentication mode (defined above) */
6642 wpt_uint32 rsn_authmode;
6643 /** unicast cipher set */
6644 wpt_uint32 rsn_ucastcipherset;
6645 /** mcast/group cipher set */
6646 wpt_uint32 rsn_mcastcipherset;
6647 /** mcast/group management frames cipher set */
6648 wpt_uint32 rsn_mcastmgmtcipherset;
6649 /** sap channel */
6650 wpt_uint32 channel;
6651 /** length of psk */
6652 wpt_uint32 psk_len;
6653 wpt_uint8 key[64];
6654};
6655
6656
Jeff Johnson295189b2012-06-20 16:38:30 -07006657/*----------------------------------------------------------------------------
6658 * WDI callback types
6659 *--------------------------------------------------------------------------*/
6660
6661/*---------------------------------------------------------------------------
6662 WDI_StartRspCb
6663
6664 DESCRIPTION
6665
6666 This callback is invoked by DAL when it has received a Start response from
6667 the underlying device.
6668
6669 PARAMETERS
6670
6671 IN
6672 wdiRspParams: response parameters received from HAL
6673 pUserData: user data
6674
6675
6676 RETURN VALUE
6677 The result code associated with performing the operation
6678---------------------------------------------------------------------------*/
6679typedef void (*WDI_StartRspCb)(WDI_StartRspParamsType* pwdiRspParams,
6680 void* pUserData);
6681
6682/*---------------------------------------------------------------------------
6683 WDI_StartRspCb
6684
6685 DESCRIPTION
6686
6687 This callback is invoked by DAL when it has received a Stop response from
6688 the underlying device.
6689
6690 PARAMETERS
6691
6692 IN
6693 wdiStatus: response status received from HAL
6694 pUserData: user data
6695
6696
6697
6698 RETURN VALUE
6699 The result code associated with performing the operation
6700---------------------------------------------------------------------------*/
6701typedef void (*WDI_StopRspCb)(WDI_Status wdiStatus,
6702 void* pUserData);
6703
6704/*---------------------------------------------------------------------------
6705 WDI_StartRspCb
6706
6707 DESCRIPTION
6708
6709 This callback is invoked by DAL when it has received an Init Scan response
6710 from the underlying device.
6711
6712 PARAMETERS
6713
6714 IN
6715 wdiStatus: response status received from HAL
6716 pUserData: user data
6717
6718
6719
6720 RETURN VALUE
6721 The result code associated with performing the operation
6722---------------------------------------------------------------------------*/
6723typedef void (*WDI_InitScanRspCb)(WDI_Status wdiStatus,
6724 void* pUserData);
6725
6726
6727/*---------------------------------------------------------------------------
6728 WDI_StartRspCb
6729
6730 DESCRIPTION
6731
6732 This callback is invoked by DAL when it has received a StartScan response
6733 from the underlying device.
6734
6735 PARAMETERS
6736
6737 IN
6738 wdiParams: response params received from HAL
6739 pUserData: user data
6740
6741
6742
6743 RETURN VALUE
6744 The result code associated with performing the operation
6745---------------------------------------------------------------------------*/
6746typedef void (*WDI_StartScanRspCb)(WDI_StartScanRspParamsType* wdiParams,
6747 void* pUserData);
6748
6749
6750/*---------------------------------------------------------------------------
6751 WDI_StartRspCb
6752
6753 DESCRIPTION
6754
6755 This callback is invoked by DAL when it has received a End Scan response
6756 from the underlying device.
6757
6758 PARAMETERS
6759
6760 IN
6761 wdiStatus: response status received from HAL
6762 pUserData: user data
6763
6764
6765
6766 RETURN VALUE
6767 The result code associated with performing the operation
6768---------------------------------------------------------------------------*/
6769typedef void (*WDI_EndScanRspCb)(WDI_Status wdiStatus,
6770 void* pUserData);
6771
6772
6773/*---------------------------------------------------------------------------
6774 WDI_StartRspCb
6775
6776 DESCRIPTION
6777
6778 This callback is invoked by DAL when it has received a Finish Scan response
6779 from the underlying device.
6780
6781 PARAMETERS
6782
6783 IN
6784 wdiStatus: response status received from HAL
6785 pUserData: user data
6786
6787
6788
6789 RETURN VALUE
6790 The result code associated with performing the operation
6791---------------------------------------------------------------------------*/
6792typedef void (*WDI_FinishScanRspCb)(WDI_Status wdiStatus,
6793 void* pUserData);
6794
6795
6796/*---------------------------------------------------------------------------
6797 WDI_StartRspCb
6798
6799 DESCRIPTION
6800
6801 This callback is invoked by DAL when it has received a Join response from
6802 the underlying device.
6803
6804 PARAMETERS
6805
6806 IN
6807 wdiStatus: response status received from HAL
6808 pUserData: user data
6809
6810
6811
6812 RETURN VALUE
6813 The result code associated with performing the operation
6814---------------------------------------------------------------------------*/
6815typedef void (*WDI_JoinRspCb)(WDI_Status wdiStatus,
6816 void* pUserData);
6817
6818
6819/*---------------------------------------------------------------------------
6820 WDI_StartRspCb
6821
6822 DESCRIPTION
6823
6824 This callback is invoked by DAL when it has received a Config BSS response
6825 from the underlying device.
6826
6827 PARAMETERS
6828
6829 IN
6830 wdiConfigBSSRsp: response parameters received from HAL
6831 pUserData: user data
6832
6833
6834 RETURN VALUE
6835 The result code associated with performing the operation
6836---------------------------------------------------------------------------*/
6837typedef void (*WDI_ConfigBSSRspCb)(
6838 WDI_ConfigBSSRspParamsType* pwdiConfigBSSRsp,
6839 void* pUserData);
6840
6841
6842/*---------------------------------------------------------------------------
6843 WDI_StartRspCb
6844
6845 DESCRIPTION
6846
6847 This callback is invoked by DAL when it has received a Del BSS response from
6848 the underlying device.
6849
6850 PARAMETERS
6851
6852 IN
6853 wdiDelBSSRsp: response parameters received from HAL
6854 pUserData: user data
6855
6856
6857 RETURN VALUE
6858 The result code associated with performing the operation
6859---------------------------------------------------------------------------*/
6860typedef void (*WDI_DelBSSRspCb)(WDI_DelBSSRspParamsType* pwdiDelBSSRsp,
6861 void* pUserData);
6862
6863
6864/*---------------------------------------------------------------------------
6865 WDI_StartRspCb
6866
6867 DESCRIPTION
6868
6869 This callback is invoked by DAL when it has received a Post Assoc response
6870 from the underlying device.
6871
6872 PARAMETERS
6873
6874 IN
6875 wdiRspParams: response parameters received from HAL
6876 pUserData: user data
6877
6878
6879 RETURN VALUE
6880 The result code associated with performing the operation
6881---------------------------------------------------------------------------*/
6882typedef void (*WDI_PostAssocRspCb)(
6883 WDI_PostAssocRspParamsType* pwdiPostAssocRsp,
6884 void* pUserData);
6885
6886
6887/*---------------------------------------------------------------------------
6888 WDI_StartRspCb
6889
6890 DESCRIPTION
6891
6892 This callback is invoked by DAL when it has received a Del STA response from
6893 the underlying device.
6894
6895 PARAMETERS
6896
6897 IN
6898 wdiDelSTARsp: response parameters received from HAL
6899 pUserData: user data
6900
6901
6902 RETURN VALUE
6903 The result code associated with performing the operation
6904---------------------------------------------------------------------------*/
6905typedef void (*WDI_DelSTARspCb)(WDI_DelSTARspParamsType* pwdiDelSTARsp,
6906 void* pUserData);
6907
6908
6909
6910/*---------------------------------------------------------------------------
6911 WDI_StartRspCb
6912
6913 DESCRIPTION
6914
6915 This callback is invoked by DAL when it has received a Set BSS Key response
6916 from the underlying device.
6917
6918 PARAMETERS
6919
6920 IN
6921 wdiStatus: response status received from HAL
6922 pUserData: user data
6923
6924
6925
6926 RETURN VALUE
6927 The result code associated with performing the operation
6928---------------------------------------------------------------------------*/
6929typedef void (*WDI_SetBSSKeyRspCb)(WDI_Status wdiStatus,
6930 void* pUserData);
6931
6932/*---------------------------------------------------------------------------
6933 WDI_StartRspCb
6934
6935 DESCRIPTION
6936
6937 This callback is invoked by DAL when it has received a Remove BSS Key
6938 response from the underlying device.
6939
6940 PARAMETERS
6941
6942 IN
6943 wdiStatus: response status received from HAL
6944 pUserData: user data
6945
6946
6947
6948 RETURN VALUE
6949 The result code associated with performing the operation
6950---------------------------------------------------------------------------*/
6951typedef void (*WDI_RemoveBSSKeyRspCb)(WDI_Status wdiStatus,
6952 void* pUserData);
6953
6954/*---------------------------------------------------------------------------
6955 WDI_StartRspCb
6956
6957 DESCRIPTION
6958
6959 This callback is invoked by DAL when it has received a Set STA Key response
6960 from the underlying device.
6961
6962 PARAMETERS
6963
6964 IN
6965 wdiStatus: response status received from HAL
6966 pUserData: user data
6967
6968
Jeff Johnson295189b2012-06-20 16:38:30 -07006969 RETURN VALUE
6970 The result code associated with performing the operation
6971---------------------------------------------------------------------------*/
6972typedef void (*WDI_SetSTAKeyRspCb)(WDI_Status wdiStatus,
6973 void* pUserData);
6974
Jeff Johnson295189b2012-06-20 16:38:30 -07006975/*---------------------------------------------------------------------------
6976 WDI_StartRspCb
6977
6978 DESCRIPTION
6979
6980 This callback is invoked by DAL when it has received a Remove STA Key
6981 response from the underlying device.
6982
6983 PARAMETERS
6984
6985 IN
6986 wdiStatus: response status received from HAL
6987 pUserData: user data
6988
Siddharth Bhal171788a2014-09-29 21:02:40 +05306989
Jeff Johnson295189b2012-06-20 16:38:30 -07006990 RETURN VALUE
6991 The result code associated with performing the operation
6992---------------------------------------------------------------------------*/
6993typedef void (*WDI_RemoveSTAKeyRspCb)(WDI_Status wdiStatus,
6994 void* pUserData);
6995
6996
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08006997#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07006998/*---------------------------------------------------------------------------
6999 WDI_TsmRspCb
7000
7001 DESCRIPTION
7002
7003 This callback is invoked by DAL when it has received a TSM Stats response from the underlying device.
7004
7005 PARAMETERS
7006
7007 IN
7008 pTSMStats: response status received from HAL
7009 pUserData: user data
7010
7011
7012
7013 RETURN VALUE
7014 The result code associated with performing the operation
7015---------------------------------------------------------------------------*/
7016typedef void (*WDI_TsmRspCb)(WDI_TSMStatsRspParamsType *pTSMStats,
7017 void* pUserData);
7018#endif
7019
7020/*---------------------------------------------------------------------------
7021 WDI_StartRspCb
7022
7023 DESCRIPTION
7024
7025 This callback is invoked by DAL when it has received a Add TS response from
7026 the underlying device.
7027
7028 PARAMETERS
7029
7030 IN
7031 wdiStatus: response status received from HAL
7032 pUserData: user data
7033
7034
7035
7036 RETURN VALUE
7037 The result code associated with performing the operation
7038---------------------------------------------------------------------------*/
7039typedef void (*WDI_AddTsRspCb)(WDI_Status wdiStatus,
7040 void* pUserData);
7041
7042/*---------------------------------------------------------------------------
7043 WDI_StartRspCb
7044
7045 DESCRIPTION
7046
7047 This callback is invoked by DAL when it has received a Del TS response from
7048 the underlying device.
7049
7050 PARAMETERS
7051
7052 IN
7053 wdiStatus: response status received from HAL
7054 pUserData: user data
7055
7056
7057
7058 RETURN VALUE
7059 The result code associated with performing the operation
7060---------------------------------------------------------------------------*/
7061typedef void (*WDI_DelTsRspCb)(WDI_Status wdiStatus,
7062 void* pUserData);
7063
7064/*---------------------------------------------------------------------------
7065 WDI_StartRspCb
7066
7067 DESCRIPTION
7068
7069 This callback is invoked by DAL when it has received an Update EDCA Params
7070 response from the underlying device.
7071
7072 PARAMETERS
7073
7074 IN
7075 wdiStatus: response status received from HAL
7076 pUserData: user data
7077
7078
7079
7080 RETURN VALUE
7081 The result code associated with performing the operation
7082---------------------------------------------------------------------------*/
7083typedef void (*WDI_UpdateEDCAParamsRspCb)(WDI_Status wdiStatus,
7084 void* pUserData);
7085
7086/*---------------------------------------------------------------------------
7087 WDI_StartRspCb
7088
7089 DESCRIPTION
7090
7091 This callback is invoked by DAL when it has received a Add BA response from
7092 the underlying device.
7093
7094 PARAMETERS
7095
7096 IN
7097 wdiStatus: response status received from HAL
7098 pUserData: user data
7099
7100
7101
7102 RETURN VALUE
7103 The result code associated with performing the operation
7104---------------------------------------------------------------------------*/
7105typedef void (*WDI_AddBASessionRspCb)(
7106 WDI_AddBASessionRspParamsType* wdiAddBASessionRsp,
7107 void* pUserData);
7108
7109
7110/*---------------------------------------------------------------------------
7111 WDI_StartRspCb
7112
7113 DESCRIPTION
7114
7115 This callback is invoked by DAL when it has received a Del BA response from
7116 the underlying device.
7117
7118 PARAMETERS
7119
7120 IN
7121 wdiStatus: response status received from HAL
7122 pUserData: user data
7123
7124
7125
7126 RETURN VALUE
7127 The result code associated with performing the operation
7128---------------------------------------------------------------------------*/
7129typedef void (*WDI_DelBARspCb)(WDI_Status wdiStatus,
7130 void* pUserData);
7131
7132
7133/*---------------------------------------------------------------------------
7134 WDI_StartRspCb
7135
7136 DESCRIPTION
7137
7138 This callback is invoked by DAL when it has received a Switch Ch response
7139 from the underlying device.
7140
7141 PARAMETERS
7142
7143 IN
7144 wdiRspParams: response parameters received from HAL
7145 pUserData: user data
7146
7147
7148 RETURN VALUE
7149 The result code associated with performing the operation
7150---------------------------------------------------------------------------*/
7151typedef void (*WDI_SwitchChRspCb)(WDI_SwitchCHRspParamsType* pwdiSwitchChRsp,
7152 void* pUserData);
7153
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08007154typedef void (*WDI_SwitchChRspCb_V1)(WDI_SwitchChRspParamsType_V1* pwdiSwitchChRsp,
7155 void* pUserData);
7156
Jeff Johnson295189b2012-06-20 16:38:30 -07007157
7158/*---------------------------------------------------------------------------
7159 WDI_StartRspCb
7160
7161 DESCRIPTION
7162
7163 This callback is invoked by DAL when it has received a Config STA response
7164 from the underlying device.
7165
7166 PARAMETERS
7167
7168 IN
7169 wdiRspParams: response parameters received from HAL
7170 pUserData: user data
7171
7172
7173 RETURN VALUE
7174 The result code associated with performing the operation
7175---------------------------------------------------------------------------*/
7176typedef void (*WDI_ConfigSTARspCb)(
7177 WDI_ConfigSTARspParamsType* pwdiConfigSTARsp,
7178 void* pUserData);
7179
7180
7181/*---------------------------------------------------------------------------
7182 WDI_StartRspCb
7183
7184 DESCRIPTION
7185
7186 This callback is invoked by DAL when it has received a Set Link State
7187 response from the underlying device.
7188
7189 PARAMETERS
7190
7191 IN
7192 wdiRspParams: response parameters received from HAL
7193 pUserData: user data
7194
7195
7196 RETURN VALUE
7197 The result code associated with performing the operation
7198---------------------------------------------------------------------------*/
7199typedef void (*WDI_SetLinkStateRspCb)( WDI_Status wdiStatus,
7200 void* pUserData);
7201
7202
7203/*---------------------------------------------------------------------------
7204 WDI_StartRspCb
7205
7206 DESCRIPTION
7207
7208 This callback is invoked by DAL when it has received a Get Stats response
7209 from the underlying device.
7210
7211 PARAMETERS
7212
7213 IN
7214 wdiRspParams: response parameters received from HAL
7215 pUserData: user data
7216
7217
7218 RETURN VALUE
7219 The result code associated with performing the operation
7220---------------------------------------------------------------------------*/
7221typedef void (*WDI_GetStatsRspCb)(WDI_GetStatsRspParamsType* pwdiGetStatsRsp,
7222 void* pUserData);
7223
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08007224#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08007225/*---------------------------------------------------------------------------
7226 WDI_GetRoamRssiRspCb
7227
7228 DESCRIPTION
7229
7230 This callback is invoked by DAL when it has received a Get Roam Rssi response
7231 from the underlying device.
7232
7233 PARAMETERS
7234
7235 IN
7236 wdiRspParams: response parameters received from HAL
7237 pUserData: user data
7238
7239
7240 RETURN VALUE
7241 The result code associated with performing the operation
7242---------------------------------------------------------------------------*/
7243typedef void (*WDI_GetRoamRssiRspCb)(WDI_GetRoamRssiRspParamsType* pwdiGetRoamRssiRsp,
7244 void* pUserData);
7245#endif
7246
Jeff Johnson295189b2012-06-20 16:38:30 -07007247
7248/*---------------------------------------------------------------------------
7249 WDI_StartRspCb
7250
7251 DESCRIPTION
7252
7253 This callback is invoked by DAL when it has received a Update Cfg response
7254 from the underlying device.
7255
7256 PARAMETERS
7257
7258 IN
7259 wdiStatus: response status received from HAL
7260 pUserData: user data
7261
7262
7263 RETURN VALUE
7264 The result code associated with performing the operation
7265---------------------------------------------------------------------------*/
7266typedef void (*WDI_UpdateCfgRspCb)(WDI_Status wdiStatus,
7267 void* pUserData);
7268
7269/*---------------------------------------------------------------------------
7270 WDI_AddBARspCb
7271
7272 DESCRIPTION
7273
7274 This callback is invoked by DAL when it has received a ADD BA response
7275 from the underlying device.
7276
7277 PARAMETERS
7278
7279 IN
7280 wdiStatus: response status received from HAL
7281 pUserData: user data
7282
7283
7284 RETURN VALUE
7285 The result code associated with performing the operation
7286---------------------------------------------------------------------------*/
7287typedef void (*WDI_AddBARspCb)(WDI_AddBARspinfoType* wdiAddBARsp,
7288 void* pUserData);
7289
7290/*---------------------------------------------------------------------------
7291 WDI_TriggerBARspCb
7292
7293 DESCRIPTION
7294
7295 This callback is invoked by DAL when it has received a ADD BA response
7296 from the underlying device.
7297
7298 PARAMETERS
7299
7300 IN
7301 wdiStatus: response status received from HAL
7302 pUserData: user data
7303
7304
7305 RETURN VALUE
7306 The result code associated with performing the operation
7307---------------------------------------------------------------------------*/
7308typedef void (*WDI_TriggerBARspCb)(WDI_TriggerBARspParamsType* wdiTriggerBARsp,
7309 void* pUserData);
7310
7311
7312/*---------------------------------------------------------------------------
7313 WDI_UpdateBeaconParamsRspCb
7314
7315 DESCRIPTION
7316
7317 This callback is invoked by DAL when it has received a Update Beacon Params response from
7318 the underlying device.
7319
7320 PARAMETERS
7321
7322 IN
7323 wdiStatus: response status received from HAL
7324 pUserData: user data
7325
7326
7327
7328 RETURN VALUE
7329 The result code associated with performing the operation
7330---------------------------------------------------------------------------*/
7331typedef void (*WDI_UpdateBeaconParamsRspCb)(WDI_Status wdiStatus,
7332 void* pUserData);
7333
7334/*---------------------------------------------------------------------------
7335 WDI_SendBeaconParamsRspCb
7336
7337 DESCRIPTION
7338
7339 This callback is invoked by DAL when it has received a Send Beacon Params response from
7340 the underlying device.
7341
7342 PARAMETERS
7343
7344 IN
7345 wdiStatus: response status received from HAL
7346 pUserData: user data
7347
7348
7349
7350 RETURN VALUE
7351 The result code associated with performing the operation
7352---------------------------------------------------------------------------*/
7353typedef void (*WDI_SendBeaconParamsRspCb)(WDI_Status wdiStatus,
7354 void* pUserData);
7355
7356/*---------------------------------------------------------------------------
7357 WDA_SetMaxTxPowerRspCb
7358
7359 DESCRIPTION
7360
7361 This callback is invoked by DAL when it has received a set max Tx Power response from
7362 the underlying device.
7363
7364 PARAMETERS
7365
7366 IN
7367 wdiStatus: response status received from HAL
7368 pUserData: user data
7369
7370
7371
7372 RETURN VALUE
7373 The result code associated with performing the operation
7374---------------------------------------------------------------------------*/
7375typedef void (*WDA_SetMaxTxPowerRspCb)(WDI_SetMaxTxPowerRspMsg *wdiSetMaxTxPowerRsp,
7376 void* pUserData);
7377
7378/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07007379 WDA_SetMaxTxPowerPerBandRspCb
7380
7381 DESCRIPTION
7382
7383 This callback is invoked by DAL when it has received a
7384 set max Tx Power Per Band response from the underlying device.
7385
7386 PARAMETERS
7387
7388 IN
7389 wdiSetMaxTxPowerPerBandRsp: response status received from HAL
7390 pUserData: user data
7391
7392 RETURN VALUE
7393 The result code associated with performing the operation
7394---------------------------------------------------------------------------*/
7395typedef void (*WDA_SetMaxTxPowerPerBandRspCb)(WDI_SetMaxTxPowerPerBandRspMsg
7396 *wdiSetMaxTxPowerPerBandRsp,
7397 void* pUserData);
7398
7399/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07007400 WDA_SetTxPowerRspCb
7401
7402 DESCRIPTION
7403
7404 This callback is invoked by DAL when it has received a set max Tx Power response from
7405 the underlying device.
7406
7407 PARAMETERS
7408
7409 IN
7410 wdiStatus: response status received from HAL
7411 pUserData: user data
7412
7413 RETURN VALUE
7414 The result code associated with performing the operation
7415---------------------------------------------------------------------------*/
7416typedef void (*WDA_SetTxPowerRspCb)(WDI_SetTxPowerRspMsg *wdiSetTxPowerRsp,
7417 void* pUserData);
7418
7419/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07007420 WDI_UpdateProbeRspTemplateRspCb
7421
7422 DESCRIPTION
7423
7424 This callback is invoked by DAL when it has received a Probe RSP Template
7425 Update response from the underlying device.
7426
7427 PARAMETERS
7428
7429 IN
7430 wdiStatus: response status received from HAL
7431 pUserData: user data
7432
7433
7434
7435 RETURN VALUE
7436 The result code associated with performing the operation
7437---------------------------------------------------------------------------*/
7438typedef void (*WDI_UpdateProbeRspTemplateRspCb)(WDI_Status wdiStatus,
7439 void* pUserData);
7440
Jeff Johnson295189b2012-06-20 16:38:30 -07007441/*---------------------------------------------------------------------------
7442 WDI_SetP2PGONOAReqParamsRspCb
7443
7444 DESCRIPTION
7445
7446 This callback is invoked by DAL when it has received a P2P GO NOA Params response from
7447 the underlying device.
7448
7449 PARAMETERS
7450
7451 IN
7452 wdiStatus: response status received from HAL
7453 pUserData: user data
7454
7455
7456
7457 RETURN VALUE
7458 The result code associated with performing the operation
7459---------------------------------------------------------------------------*/
7460typedef void (*WDI_SetP2PGONOAReqParamsRspCb)(WDI_Status wdiStatus,
7461 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007462
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05307463/*---------------------------------------------------------------------------
7464 WDI_SetTDLSLinkEstablishReqParamsRspCb
7465
7466 DESCRIPTION
7467
7468 This callback is invoked by DAL when it has received a TDLS Link Establish Req response from
7469 the underlying device.
7470
7471 PARAMETERS
7472
7473 IN
7474 wdiStatus: response status received from HAL
7475 pUserData: user data
7476
7477
7478
7479 RETURN VALUE
7480 The result code associated with performing the operation
7481---------------------------------------------------------------------------*/
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05307482typedef void (*WDI_SetTDLSLinkEstablishReqParamsRspCb)(WDI_SetTdlsLinkEstablishReqResp *
7483 wdiSetTdlsLinkEstablishReqRsp,
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05307484 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007485
7486/*---------------------------------------------------------------------------
Atul Mittalc0f739f2014-07-31 13:47:47 +05307487 WDI_SetTDLSChanSwitchReqParamsRspCb
7488
7489 DESCRIPTION
7490
7491 This callback is invoked by DAL when it has received a TDLS Link Establish Req response from
7492 the underlying device.
7493
7494 PARAMETERS
7495
7496 IN
7497 wdiStatus: response status received from HAL
7498 pUserData: user data
7499
7500
7501
7502 RETURN VALUE
7503 The result code associated with performing the operation
7504---------------------------------------------------------------------------*/
7505typedef void (*WDI_SetTDLSChanSwitchReqParamsRspCb)(WDI_SetTdlsChanSwitchReqResp *
7506 wdiSetTdlsChanSwitchReqRsp,
7507 void* pUserData);
7508/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07007509 WDI_SetPwrSaveCfgCb
7510
7511 DESCRIPTION
7512
7513 This callback is invoked by DAL when it has received a set Power Save CFG
7514 response from the underlying device.
7515
7516 PARAMETERS
7517
7518 IN
7519 wdiStatus: response status received from HAL
7520 pUserData: user data
7521
7522
7523
7524 RETURN VALUE
7525 The result code associated with performing the operation
7526---------------------------------------------------------------------------*/
7527typedef void (*WDI_SetPwrSaveCfgCb)(WDI_Status wdiStatus,
7528 void* pUserData);
7529
7530/*---------------------------------------------------------------------------
7531 WDI_SetUapsdAcParamsCb
7532
7533 DESCRIPTION
7534
7535 This callback is invoked by DAL when it has received a set UAPSD params
7536 response from the underlying device.
7537
7538 PARAMETERS
7539
7540 IN
7541 wdiStatus: response status received from HAL
7542 pUserData: user data
7543
7544
7545
7546 RETURN VALUE
7547 The result code associated with performing the operation
7548---------------------------------------------------------------------------*/
7549typedef void (*WDI_SetUapsdAcParamsCb)(WDI_Status wdiStatus,
7550 void* pUserData);
7551
7552/*---------------------------------------------------------------------------
7553 WDI_EnterImpsRspCb
7554
7555 DESCRIPTION
7556
7557 This callback is invoked by DAL when it has received a Enter IMPS response
7558 from the underlying device.
7559
7560 PARAMETERS
7561
7562 IN
7563 wdiStatus: response status received from HAL
7564 pUserData: user data
7565
7566
7567
7568 RETURN VALUE
7569 The result code associated with performing the operation
7570---------------------------------------------------------------------------*/
7571typedef void (*WDI_EnterImpsRspCb)(WDI_Status wdiStatus,
7572 void* pUserData);
7573
7574/*---------------------------------------------------------------------------
7575 WDI_ExitImpsRspCb
7576
7577 DESCRIPTION
7578
7579 This callback is invoked by DAL when it has received a Exit IMPS response
7580 from the underlying device.
7581
7582 PARAMETERS
7583
7584 IN
7585 wdiStatus: response status received from HAL
7586 pUserData: user data
7587
7588
7589
7590 RETURN VALUE
7591 The result code associated with performing the operation
7592---------------------------------------------------------------------------*/
7593typedef void (*WDI_ExitImpsRspCb)(WDI_Status wdiStatus,
7594 void* pUserData);
7595
7596/*---------------------------------------------------------------------------
7597 WDI_EnterBmpsRspCb
7598
7599 DESCRIPTION
7600
7601 This callback is invoked by DAL when it has received a enter BMPS response
7602 from the underlying device.
7603
7604 PARAMETERS
7605
7606 IN
7607 wdiStatus: response status received from HAL
7608 pUserData: user data
7609
7610
7611
7612 RETURN VALUE
7613 The result code associated with performing the operation
7614---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007615typedef void (*WDI_EnterBmpsRspCb)(WDI_EnterBmpsRspParamsType *pwdiEnterBmpsRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007616 void* pUserData);
7617
7618/*---------------------------------------------------------------------------
7619 WDI_ExitBmpsRspCb
7620
7621 DESCRIPTION
7622
7623 This callback is invoked by DAL when it has received a exit BMPS response
7624 from the underlying device.
7625
7626 PARAMETERS
7627
7628 IN
7629 wdiStatus: response status received from HAL
7630 pUserData: user data
7631
7632
7633
7634 RETURN VALUE
7635 The result code associated with performing the operation
7636---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007637typedef void (*WDI_ExitBmpsRspCb)( WDI_ExitBmpsRspParamsType *pwdiExitBmpsRspParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007638 void* pUserData);
7639
7640/*---------------------------------------------------------------------------
7641 WDI_EnterUapsdRspCb
7642
7643 DESCRIPTION
7644
7645 This callback is invoked by DAL when it has received a enter UAPSD response
7646 from the underlying device.
7647
7648 PARAMETERS
7649
7650 IN
7651 wdiStatus: response status received from HAL
7652 pUserData: user data
7653
7654
7655
7656 RETURN VALUE
7657 The result code associated with performing the operation
7658---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007659typedef void (*WDI_EnterUapsdRspCb)( WDI_EnterUapsdRspParamsType *pwdiEnterUapsdRspParam,
Jeff Johnson295189b2012-06-20 16:38:30 -07007660 void* pUserData);
7661
7662/*---------------------------------------------------------------------------
7663 WDI_ExitUapsdRspCb
7664
7665 DESCRIPTION
7666
7667 This callback is invoked by DAL when it has received a exit UAPSD response
7668 from the underlying device.
7669
7670 PARAMETERS
7671
7672 IN
7673 wdiStatus: response status received from HAL
7674 pUserData: user data
7675
7676
7677
7678 RETURN VALUE
7679 The result code associated with performing the operation
7680---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007681typedef void (*WDI_ExitUapsdRspCb)(WDI_ExitUapsdRspParamsType *pwidExitUapsdRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007682 void* pUserData);
7683
7684/*---------------------------------------------------------------------------
7685 WDI_UpdateUapsdParamsCb
7686
7687 DESCRIPTION
7688
7689 This callback is invoked by DAL when it has received a update UAPSD params
7690 response from the underlying device.
7691
7692 PARAMETERS
7693
7694 IN
7695 wdiStatus: response status received from HAL
7696 pUserData: user data
7697
7698
7699
7700 RETURN VALUE
7701 The result code associated with performing the operation
7702---------------------------------------------------------------------------*/
7703typedef void (*WDI_UpdateUapsdParamsCb)(WDI_Status wdiStatus,
7704 void* pUserData);
7705
7706/*---------------------------------------------------------------------------
7707 WDI_ConfigureRxpFilterCb
7708
7709 DESCRIPTION
7710
7711 This callback is invoked by DAL when it has received a config RXP filter
7712 response from the underlying device.
7713
7714 PARAMETERS
7715
7716 IN
7717 wdiStatus: response status received from HAL
7718 pUserData: user data
7719
7720
7721
7722 RETURN VALUE
7723 The result code associated with performing the operation
7724---------------------------------------------------------------------------*/
7725typedef void (*WDI_ConfigureRxpFilterCb)(WDI_Status wdiStatus,
7726 void* pUserData);
7727
7728/*---------------------------------------------------------------------------
7729 WDI_SetBeaconFilterCb
7730
7731 DESCRIPTION
7732
7733 This callback is invoked by DAL when it has received a set beacon filter
7734 response from the underlying device.
7735
7736 PARAMETERS
7737
7738 IN
7739 wdiStatus: response status received from HAL
7740 pUserData: user data
7741
7742
7743
7744 RETURN VALUE
7745 The result code associated with performing the operation
7746---------------------------------------------------------------------------*/
7747typedef void (*WDI_SetBeaconFilterCb)(WDI_Status wdiStatus,
7748 void* pUserData);
7749
7750/*---------------------------------------------------------------------------
7751 WDI_RemBeaconFilterCb
7752
7753 DESCRIPTION
7754
7755 This callback is invoked by DAL when it has received a remove beacon filter
7756 response from the underlying device.
7757
7758 PARAMETERS
7759
7760 IN
7761 wdiStatus: response status received from HAL
7762 pUserData: user data
7763
7764
7765
7766 RETURN VALUE
7767 The result code associated with performing the operation
7768---------------------------------------------------------------------------*/
7769typedef void (*WDI_RemBeaconFilterCb)(WDI_Status wdiStatus,
7770 void* pUserData);
7771
7772/*---------------------------------------------------------------------------
7773 WDI_SetRSSIThresholdsCb
7774
7775 DESCRIPTION
7776
7777 This callback is invoked by DAL when it has received a set RSSI thresholds
7778 response from the underlying device.
7779
7780 PARAMETERS
7781
7782 IN
7783 wdiStatus: response status received from HAL
7784 pUserData: user data
7785
7786
7787
7788 RETURN VALUE
7789 The result code associated with performing the operation
7790---------------------------------------------------------------------------*/
7791typedef void (*WDI_SetRSSIThresholdsCb)(WDI_Status wdiStatus,
7792 void* pUserData);
7793
7794/*---------------------------------------------------------------------------
7795 WDI_HostOffloadCb
7796
7797 DESCRIPTION
7798
7799 This callback is invoked by DAL when it has received a host offload
7800 response from the underlying device.
7801
7802 PARAMETERS
7803
7804 IN
7805 wdiStatus: response status received from HAL
7806 pUserData: user data
7807
7808
7809
7810 RETURN VALUE
7811 The result code associated with performing the operation
7812---------------------------------------------------------------------------*/
7813typedef void (*WDI_HostOffloadCb)(WDI_Status wdiStatus,
7814 void* pUserData);
7815
7816/*---------------------------------------------------------------------------
7817 WDI_KeepAliveCb
7818
7819 DESCRIPTION
7820
7821 This callback is invoked by DAL when it has received a Keep Alive
7822 response from the underlying device.
7823
7824 PARAMETERS
7825
7826 IN
7827 wdiStatus: response status received from HAL
7828 pUserData: user data
7829
7830
7831
7832 RETURN VALUE
7833 The result code associated with performing the operation
7834---------------------------------------------------------------------------*/
7835typedef void (*WDI_KeepAliveCb)(WDI_Status wdiStatus,
7836 void* pUserData);
7837
7838/*---------------------------------------------------------------------------
7839 WDI_WowlAddBcPtrnCb
7840
7841 DESCRIPTION
7842
7843 This callback is invoked by DAL when it has received a Wowl add Bcast ptrn
7844 response from the underlying device.
7845
7846 PARAMETERS
7847
7848 IN
7849 wdiStatus: response status received from HAL
7850 pUserData: user data
7851
7852
7853
7854 RETURN VALUE
7855 The result code associated with performing the operation
7856---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007857typedef void (*WDI_WowlAddBcPtrnCb)( WDI_WowlAddBcPtrnRspParamsType *pwdiWowlAddBcPtrnParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007858 void* pUserData);
7859
7860/*---------------------------------------------------------------------------
7861 WDI_WowlDelBcPtrnCb
7862
7863 DESCRIPTION
7864
7865 This callback is invoked by DAL when it has received a Wowl delete Bcast ptrn
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---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007879typedef void (*WDI_WowlDelBcPtrnCb)( WDI_WowlDelBcPtrnRspParamsType *pwdiWowlDelBcstPtrRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007880 void* pUserData);
7881
7882/*---------------------------------------------------------------------------
7883 WDI_WowlEnterReqCb
7884
7885 DESCRIPTION
7886
7887 This callback is invoked by DAL when it has received a Wowl enter
7888 response from the underlying device.
7889
7890 PARAMETERS
7891
7892 IN
7893 wdiStatus: response status received from HAL
7894 pUserData: user data
7895
7896
7897
7898 RETURN VALUE
7899 The result code associated with performing the operation
7900---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007901typedef void (*WDI_WowlEnterReqCb)( WDI_WowlEnterRspParamsType *pwdiwowlEnterRsp,
7902 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007903
7904/*---------------------------------------------------------------------------
7905 WDI_WowlExitReqCb
7906
7907 DESCRIPTION
7908
7909 This callback is invoked by DAL when it has received a Wowl exit
7910 response from the underlying device.
7911
7912 PARAMETERS
7913
7914 IN
7915 wdiStatus: response status received from HAL
7916 pUserData: user data
7917
7918
7919
7920 RETURN VALUE
7921 The result code associated with performing the operation
7922---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007923typedef void (*WDI_WowlExitReqCb)( WDI_WowlExitRspParamsType *pwdiWowlExitRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007924 void* pUserData);
7925
7926/*---------------------------------------------------------------------------
7927 WDI_ConfigureAppsCpuWakeupStateCb
7928
7929 DESCRIPTION
7930
7931 This callback is invoked by DAL when it has received a config Apps Cpu Wakeup
7932 State response from the underlying device.
7933
7934 PARAMETERS
7935
7936 IN
7937 wdiStatus: response status received from HAL
7938 pUserData: user data
7939
7940
7941
7942 RETURN VALUE
7943 The result code associated with performing the operation
7944---------------------------------------------------------------------------*/
7945typedef void (*WDI_ConfigureAppsCpuWakeupStateCb)(WDI_Status wdiStatus,
7946 void* pUserData);
7947/*---------------------------------------------------------------------------
7948 WDI_NvDownloadRspCb
7949
7950 DESCRIPTION
7951
7952 This callback is invoked by DAL when it has received a NV Download response
7953 from the underlying device.
7954
7955 PARAMETERS
7956
7957 IN
7958 wdiStatus:response status received from HAL
7959 pUserData:user data
7960
7961 RETURN VALUE
7962 The result code associated with performing the operation
7963---------------------------------------------------------------------------*/
7964typedef void (*WDI_NvDownloadRspCb)(WDI_NvDownloadRspInfoType* wdiNvDownloadRsp,
7965 void* pUserData);
7966/*---------------------------------------------------------------------------
7967 WDI_FlushAcRspCb
7968
7969 DESCRIPTION
7970
7971 This callback is invoked by DAL when it has received a Flush AC response from
7972 the underlying device.
7973
7974 PARAMETERS
7975
7976 IN
7977 wdiStatus: response status received from HAL
7978 pUserData: user data
7979
7980
7981
7982 RETURN VALUE
7983 The result code associated with performing the operation
7984---------------------------------------------------------------------------*/
7985typedef void (*WDI_FlushAcRspCb)(WDI_Status wdiStatus,
7986 void* pUserData);
7987
7988/*---------------------------------------------------------------------------
7989 WDI_BtAmpEventRspCb
7990
7991 DESCRIPTION
7992
7993 This callback is invoked by DAL when it has received a Bt AMP event response
7994 from the underlying device.
7995
7996 PARAMETERS
7997
7998 IN
7999 wdiStatus: response status received from HAL
8000 pUserData: user data
8001
8002
8003
8004 RETURN VALUE
8005 The result code associated with performing the operation
8006---------------------------------------------------------------------------*/
8007typedef void (*WDI_BtAmpEventRspCb)(WDI_Status wdiStatus,
8008 void* pUserData);
8009
Jeff Johnsone7245742012-09-05 17:12:55 -07008010#ifdef FEATURE_OEM_DATA_SUPPORT
8011/*---------------------------------------------------------------------------
8012 WDI_oemDataRspCb
8013
8014 DESCRIPTION
8015
8016 This callback is invoked by DAL when it has received a Start oem data response from
8017 the underlying device.
8018
8019 PARAMETERS
8020
8021 IN
8022 wdiStatus: response status received from HAL
8023 pUserData: user data
8024
8025
8026
8027 RETURN VALUE
8028 The result code associated with performing the operation
8029---------------------------------------------------------------------------*/
8030typedef void (*WDI_oemDataRspCb)(WDI_oemDataRspParamsType* wdiOemDataRspParams,
8031 void* pUserData);
8032
8033#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07008034
8035/*---------------------------------------------------------------------------
8036 WDI_HostResumeEventRspCb
8037
8038 DESCRIPTION
8039
8040 This callback is invoked by DAL when it has received a Bt AMP event response
8041 from the underlying device.
8042
8043 PARAMETERS
8044
8045 IN
8046 wdiStatus: response status received from HAL
8047 pUserData: user data
8048
8049
8050
8051 RETURN VALUE
8052 The result code associated with performing the operation
8053---------------------------------------------------------------------------*/
8054typedef void (*WDI_HostResumeEventRspCb)(
8055 WDI_SuspendResumeRspParamsType *resumeRspParams,
8056 void* pUserData);
8057
8058
8059#ifdef WLAN_FEATURE_VOWIFI_11R
8060/*---------------------------------------------------------------------------
8061 WDI_AggrAddTsRspCb
8062
8063 DESCRIPTION
8064
8065 This callback is invoked by DAL when it has received a Aggregated Add TS
8066 response from the underlying device.
8067
8068 PARAMETERS
8069
8070 IN
8071 wdiStatus: response status received from HAL
8072 pUserData: user data
8073
8074
8075
8076 RETURN VALUE
8077 The result code associated with performing the operation
8078---------------------------------------------------------------------------*/
8079typedef void (*WDI_AggrAddTsRspCb)(WDI_Status wdiStatus,
8080 void* pUserData);
8081#endif /* WLAN_FEATURE_VOWIFI_11R */
8082
Jeff Johnson295189b2012-06-20 16:38:30 -07008083/*---------------------------------------------------------------------------
8084 WDI_FTMCommandRspCb
8085
8086 DESCRIPTION
8087
8088 FTM Command response CB
8089
8090 PARAMETERS
8091
8092 IN
8093 ftmCMDRspdata: FTM response data from HAL
8094 pUserData: user data
8095
8096
8097 RETURN VALUE
8098 NONE
8099---------------------------------------------------------------------------*/
8100typedef void (*WDI_FTMCommandRspCb)(void *ftmCMDRspdata,
8101 void *pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07008102
8103/*---------------------------------------------------------------------------
8104 WDI_AddSTASelfParamsRspCb
8105
8106 DESCRIPTION
8107
8108 This callback is invoked by DAL when it has received a Add Sta Self Params
8109 response from the underlying device.
8110
8111 PARAMETERS
8112
8113 IN
8114 wdiAddSelfSTARsp: response status received from HAL
8115 pUserData: user data
8116
8117
8118
8119 RETURN VALUE
8120 The result code associated with performing the operation
8121---------------------------------------------------------------------------*/
8122typedef void (*WDI_AddSTASelfParamsRspCb)(
8123 WDI_AddSTASelfRspParamsType* pwdiAddSelfSTARsp,
8124 void* pUserData);
8125
8126
8127/*---------------------------------------------------------------------------
8128 WDI_DelSTASelfRspCb
8129
8130 DESCRIPTION
8131
8132 This callback is invoked by DAL when it has received a host offload
8133 response from the underlying device.
8134
8135 PARAMETERS
8136
8137 IN
8138 wdiStatus: response status received from HAL
8139 pUserData: user data
8140
8141
8142
8143 RETURN VALUE
8144 The result code associated with performing the operation
8145---------------------------------------------------------------------------*/
8146typedef void (*WDI_DelSTASelfRspCb)
8147(
8148WDI_DelSTASelfRspParamsType* wdiDelStaSelfRspParams,
8149void* pUserData
8150);
8151
8152#ifdef FEATURE_WLAN_SCAN_PNO
8153/*---------------------------------------------------------------------------
8154 WDI_PNOScanCb
8155
8156 DESCRIPTION
8157
8158 This callback is invoked by DAL when it has received a Set PNO
8159 response from the underlying device.
8160
8161 PARAMETERS
8162
8163 IN
8164 wdiStatus: response status received from HAL
8165 pUserData: user data
8166
8167
8168
8169 RETURN VALUE
8170 The result code associated with performing the operation
8171---------------------------------------------------------------------------*/
8172typedef void (*WDI_PNOScanCb)(WDI_Status wdiStatus,
8173 void* pUserData);
8174
8175/*---------------------------------------------------------------------------
8176 WDI_PNOScanCb
8177
8178 DESCRIPTION
8179
8180 This callback is invoked by DAL when it has received a Set PNO
8181 response from the underlying device.
8182
8183 PARAMETERS
8184
8185 IN
8186 wdiStatus: response status received from HAL
8187 pUserData: user data
8188
8189
8190
8191 RETURN VALUE
8192 The result code associated with performing the operation
8193---------------------------------------------------------------------------*/
8194typedef void (*WDI_RssiFilterCb)(WDI_Status wdiStatus,
8195 void* pUserData);
8196
8197/*---------------------------------------------------------------------------
8198 WDI_UpdateScanParamsCb
8199
8200 DESCRIPTION
8201
8202 This callback is invoked by DAL when it has received a Update Scan Params
8203 response from the underlying device.
8204
8205 PARAMETERS
8206
8207 IN
8208 wdiStatus: response status received from HAL
8209 pUserData: user data
8210
8211
8212
8213 RETURN VALUE
8214 The result code associated with performing the operation
8215---------------------------------------------------------------------------*/
8216typedef void (*WDI_UpdateScanParamsCb)(WDI_Status wdiStatus,
8217 void* pUserData);
8218#endif // FEATURE_WLAN_SCAN_PNO
8219
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08008220typedef void (*WDI_UpdateChannelRspCb)(WDI_Status wdiStatus,
8221 void* pUserData);
8222
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07008223#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
8224/*---------------------------------------------------------------------------
8225 WDI_RoamOffloadScanCb
8226
8227 DESCRIPTION
8228
8229 This callback is invoked by DAL when it has received a Start Roam Candidate Lookup Req
8230 response from the underlying device.
8231
8232 PARAMETERS
8233
8234 IN
8235 wdiStatus: response status received from HAL
8236 pUserData: user data
8237
8238
8239
8240 RETURN VALUE
8241 The result code associated with performing the operation
8242---------------------------------------------------------------------------*/
8243typedef void (*WDI_RoamOffloadScanCb)(WDI_Status wdiStatus,
8244 void* pUserData);
8245
Kapil Gupta04ab1992016-06-26 13:36:51 +05308246typedef void (*WDI_PERRoamOffloadScanCb)(WDI_Status wdiStatus, void *pUserData);
8247typedef void (*WDI_PERRoamTriggerScanCb)(WDI_Status wdiStatus, void *pUserData);
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07008248#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07008249/*---------------------------------------------------------------------------
8250 WDI_SetTxPerTrackingRspCb
8251
8252 DESCRIPTION
8253
8254 This callback is invoked by DAL when it has received a Tx PER Tracking
8255 response from the underlying device.
8256
8257 PARAMETERS
8258
8259 IN
8260 wdiStatus: response status received from HAL
8261 pUserData: user data
8262
8263
8264
8265 RETURN VALUE
8266 The result code associated with performing the operation
8267---------------------------------------------------------------------------*/
8268typedef void (*WDI_SetTxPerTrackingRspCb)(WDI_Status wdiStatus,
8269 void* pUserData);
8270
8271#ifdef WLAN_FEATURE_PACKET_FILTERING
8272/*---------------------------------------------------------------------------
8273 WDI_8023MulticastListCb
8274
8275 DESCRIPTION
8276
8277 This callback is invoked by DAL when it has received a 8023 Multicast List
8278 response from the underlying device.
8279
8280 PARAMETERS
8281
8282 IN
8283 wdiStatus: response status received from HAL
8284 pUserData: user data
8285
8286
8287
8288 RETURN VALUE
8289 The result code associated with performing the operation
8290---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07008291typedef void (*WDI_8023MulticastListCb)(
8292 WDI_RcvFltPktSetMcListRspParamsType *pwdiRcvFltPktSetMcListRspInfo,
8293 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07008294
8295/*---------------------------------------------------------------------------
8296 WDI_ReceiveFilterSetFilterCb
8297
8298 DESCRIPTION
8299
8300 This callback is invoked by DAL when it has received a Receive Filter Set Filter
8301 response from the underlying device.
8302
8303 PARAMETERS
8304
8305 IN
8306 wdiStatus: response status received from HAL
8307 pUserData: user data
8308
8309
8310
8311 RETURN VALUE
8312 The result code associated with performing the operation
8313---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07008314typedef void (*WDI_ReceiveFilterSetFilterCb)(
8315 WDI_SetRcvPktFilterRspParamsType *pwdiSetRcvPktFilterRspInfo,
8316 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07008317
8318/*---------------------------------------------------------------------------
8319 WDI_FilterMatchCountCb
8320
8321 DESCRIPTION
8322
8323 This callback is invoked by DAL when it has received a Do PC Filter Match Count
8324 response from the underlying device.
8325
8326 PARAMETERS
8327
8328 IN
8329 wdiStatus: response status received from HAL
8330 pUserData: user data
8331
8332
8333
8334 RETURN VALUE
8335 The result code associated with performing the operation
8336---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07008337typedef void (*WDI_FilterMatchCountCb)(
8338 WDI_RcvFltPktMatchCntRspParamsType *pwdiRcvFltPktMatchRspParams,
8339 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07008340
8341/*---------------------------------------------------------------------------
8342 WDI_ReceiveFilterClearFilterCb
8343
8344 DESCRIPTION
8345
8346 This callback is invoked by DAL when it has received a Receive Filter Clear Filter
8347 response from the underlying device.
8348
8349 PARAMETERS
8350
8351 IN
8352 wdiStatus: response status received from HAL
8353 pUserData: user data
8354
8355
8356
8357 RETURN VALUE
8358 The result code associated with performing the operation
8359---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07008360typedef void (*WDI_ReceiveFilterClearFilterCb)(
8361 WDI_RcvFltPktClearRspParamsType *pwdiRcvFltPktClearRspParamsType,
8362 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07008363#endif // WLAN_FEATURE_PACKET_FILTERING
8364
8365/*---------------------------------------------------------------------------
8366 WDI_HALDumpCmdRspCb
8367
8368 DESCRIPTION
8369
8370 This callback is invoked by DAL when it has received a HAL DUMP Command
8371response from
8372 the HAL layer.
8373
8374 PARAMETERS
8375
8376 IN
8377 wdiHalDumpCmdRsp: response status received from HAL
8378 pUserData: user data
8379
8380
8381
8382 RETURN VALUE
8383 The result code associated with performing the operation
8384---------------------------------------------------------------------------*/
8385typedef void (*WDI_HALDumpCmdRspCb)(WDI_HALDumpCmdRspParamsType* wdiHalDumpCmdRsp,
8386 void* pUserData);
8387
8388/*---------------------------------------------------------------------------
8389 WDI_SetPowerParamsCb
8390
8391 DESCRIPTION
8392
8393 This callback is invoked by DAL when it has received a Set Power Param
8394 response from the underlying device.
8395
8396 PARAMETERS
8397
8398 IN
8399 wdiStatus: response status received from HAL
8400 pUserData: user data
8401
8402
8403
8404 RETURN VALUE
8405 The result code associated with performing the operation
8406---------------------------------------------------------------------------*/
8407typedef void (*WDI_SetPowerParamsCb)(WDI_Status wdiStatus,
8408 void* pUserData);
8409
c_manjeecfd1efb2015-09-25 19:32:34 +05308410
8411/*---------------------------------------------------------------------------
8412 WDA_FwrMemDumpRespCallback
8413
8414 DESCRIPTION
8415
8416 This callback is invoked by DAL when it has received a Fwr Mem dump
8417 response from the underlying device.
8418
8419 PARAMETERS
8420
8421 IN
8422 wdiStatus: response status received from HAL
8423 pUserData: user data
8424 ---------------------------------------------------------------------------*/
8425typedef void (* WDI_FwrMemDumpCb) (WDI_FwrMemDumpRsp* wdiRsp,
8426 void* pUserData);
8427
8428
Jeff Johnson295189b2012-06-20 16:38:30 -07008429#ifdef WLAN_FEATURE_GTK_OFFLOAD
8430/*---------------------------------------------------------------------------
8431 WDI_GtkOffloadCb
8432
8433 DESCRIPTION
8434
8435 This callback is invoked by DAL when it has received a GTK offload
8436 response from the underlying device.
8437
8438 PARAMETERS
8439
8440 IN
8441 wdiStatus: response status received from HAL
8442 pUserData: user data
8443
8444
8445
8446 RETURN VALUE
8447 The result code associated with performing the operation
8448---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07008449typedef void (*WDI_GtkOffloadCb)( WDI_GtkOffloadRspParams *pwdiGtkOffloadRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07008450 void* pUserData);
8451
8452/*---------------------------------------------------------------------------
8453 WDI_GtkOffloadGetInfoCb
8454
8455 DESCRIPTION
8456
8457 This callback is invoked by DAL when it has received a GTK offload
8458 information response from the underlying device.
8459
8460 PARAMETERS
8461
8462 IN
8463 wdiStatus: response status received from HAL
8464 pUserData: user data
8465
8466
8467
8468 RETURN VALUE
8469 The result code associated with performing the operation
8470---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07008471typedef void (*WDI_GtkOffloadGetInfoCb)( WDI_GtkOffloadGetInfoRspParams *pwdiGtkOffloadGetInfoRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07008472 void* pUserData);
8473#endif // WLAN_FEATURE_GTK_OFFLOAD
8474
8475/*---------------------------------------------------------------------------
8476 WDI_SetTmLevelCb
8477
8478 DESCRIPTION
8479
8480 This callback is invoked by DAL when it has received a Set New TM Level
8481 done response from the underlying device.
8482
8483 PARAMETERS
8484
8485 IN
8486 wdiStatus: response status received from HAL
8487 pUserData: user data
8488
8489
8490
8491 RETURN VALUE
8492 The result code associated with performing the operation
8493---------------------------------------------------------------------------*/
8494typedef void (*WDI_SetTmLevelCb)(WDI_Status wdiStatus,
8495 void* pUserData);
8496
8497/*---------------------------------------------------------------------------
8498 WDI_featureCapsExchangeCb
8499
8500 DESCRIPTION
8501
8502 This callback is invoked by DAL when it has received a HAL Feature Capbility
8503 Exchange Response the HAL layer. This callback is put to mantain code
8504 similarity and is not being used right now.
8505
8506 PARAMETERS
8507
8508 IN
8509 wdiFeatCapRspParams: response parameters received from HAL
8510 pUserData: user data
8511
8512 RETURN VALUE
8513 The result code associated with performing the operation
8514---------------------------------------------------------------------------*/
8515typedef void (*WDI_featureCapsExchangeCb)(void* wdiFeatCapRspParams,
8516 void* pUserData);
8517
Mohit Khanna4a70d262012-09-11 16:30:12 -07008518#ifdef WLAN_FEATURE_11AC
8519typedef void (*WDI_UpdateVHTOpModeCb)(WDI_Status wdiStatus,
8520 void* pUserData);
8521#endif
8522
Leo Chang9056f462013-08-01 19:21:11 -07008523#ifdef FEATURE_WLAN_LPHB
8524typedef void (*WDI_LphbCfgCb)(WDI_Status wdiStatus,
8525 void* pUserData);
8526#endif /* FEATURE_WLAN_LPHB */
Mohit Khanna4a70d262012-09-11 16:30:12 -07008527
Abhishek Singh00b71972016-01-07 10:51:04 +05308528#ifdef WLAN_FEATURE_RMC
8529typedef void (*WDI_RmcRulerRspCb)(WDI_RmcRspParamsType *wdiRmcResponse,
8530 void* pUserData);
8531
8532typedef void (*WDI_IbssPeerInfoReqCb)(WDI_IbssPeerInfoRspParams *pInfoRspParams,
8533 void* pUserData);
8534
8535#endif /* WLAN_FEATURE_RMC */
8536
Rajeev79dbe4c2013-10-05 11:03:42 +05308537#ifdef FEATURE_WLAN_BATCH_SCAN
8538/*---------------------------------------------------------------------------
8539 WDI_SetBatchScanCb
8540
8541 DESCRIPTION
8542
8543 This callback is invoked by DAL when it has received a get batch scan
8544 response from the underlying device.
8545
8546 PARAMETERS
8547
8548 IN
8549 wdiStatus: response status received from HAL
8550 pUserData: user data
8551
8552
8553
8554 RETURN VALUE
8555 The result code associated with performing the operation
8556---------------------------------------------------------------------------*/
8557typedef void (*WDI_SetBatchScanCb)(void *pData, WDI_SetBatchScanRspType *pRsp);
8558
8559#endif
8560
c_hpothu92367912014-05-01 15:18:17 +05308561typedef void (*WDI_GetBcnMissRateCb)(wpt_uint8 status, wpt_uint32 bcnMissRate,
8562 void* pUserData);
Rajeev79dbe4c2013-10-05 11:03:42 +05308563
Dino Mycle41bdc942014-06-10 11:30:24 +05308564#ifdef WLAN_FEATURE_EXTSCAN
8565typedef void (*WDI_EXTScanStartRspCb)(void *pEventData,
8566 void *pUserData);
8567typedef void (*WDI_EXTScanStopRspCb)(void *pEventData,
8568 void *pUserData);
8569typedef void (*WDI_EXTScanGetCachedResultsRspCb)(void *pEventData,
8570 void *pUserData);
8571typedef void (*WDI_EXTScanGetCapabilitiesRspCb)(void *pEventData,
8572 void *pUserData);
8573typedef void (*WDI_EXTScanSetBSSIDHotlistRspCb)(void *pEventData,
8574 void *pUserData);
8575typedef void (*WDI_EXTScanResetBSSIDHotlistRspCb)(void *pEventData,
8576 void *pUserData);
Padma, Santhosh Kumar9acee012015-08-21 19:58:01 +05308577typedef void (*WDI_EXTScanSetSSIDHotlistRspCb)(void *pEventData,
8578 void *pUserData);
8579typedef void (*WDI_EXTScanResetSSIDHotlistRspCb)(void *pEventData,
8580 void *pUserData);
Dino Mycle41bdc942014-06-10 11:30:24 +05308581#endif /* WLAN_FEATURE_EXTSCAN */
Sunil Duttbd736ed2014-05-26 21:19:41 +05308582
8583#ifdef WLAN_FEATURE_LINK_LAYER_STATS
8584typedef void (*WDI_LLStatsSetRspCb)(void *pEventData,
8585 void *pUserData);
8586typedef void (*WDI_LLStatsGetRspCb)(void *pEventData,
8587 void *pUserData);
8588typedef void (*WDI_LLStatsClearRspCb)(void *pEventData,
8589 void *pUserData);
8590#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
Siddharth Bhal171788a2014-09-29 21:02:40 +05308591
8592typedef void (*WDI_SetSpoofMacAddrRspCb)(
8593 WDI_SpoofMacAddrRspParamType* wdiRsp, void *pUserData);
Srinivas Dasari4dae48f2014-11-26 21:14:16 +05308594
Abhishek Singh85b74712014-10-08 11:38:19 +05308595typedef void (*WDI_FWStatsGetRspCb)(WDI_Status status,void *fwStatsResp,
8596 void *pUserData);
Srinivas Dasari4dae48f2014-11-26 21:14:16 +05308597
8598typedef void (*WDI_EncryptMsgRspCb)(wpt_uint8 status, void *pEventData, void* pUserData);
Siddharth Bhald1be97f2015-05-27 22:39:59 +05308599typedef void (*WDI_FWLoggingInitRspCb)(
8600 WDI_FWLoggingInitRspParamType *wdiRsp, void *pUserData);
Siddharth Bhal64246172015-02-27 01:04:37 +05308601typedef void (*WDI_GetFrameLogRspCb)(
8602 WDI_GetFrameLogRspParamType *wdiRsp, void *pUserData);
Sachin Ahuja715aafc2015-07-21 23:35:10 +05308603typedef void (*WDI_FatalEventLogsRspCb)(
8604 WDI_FatalEventLogsRspParamType *wdiRsp, void *pUserData);
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05308605
Hanumantha Reddy Pothula91cdd7f2015-09-03 21:25:16 +05308606typedef void (*WDI_MonModeRspCb)(void *pEventData,void *pUserData);
Gupta, Kapil7c34b322015-09-30 13:12:35 +05308607typedef void (*WDI_RssiMonitorStartRspCb)(void *pEventData,void *pUserData);
8608typedef void (*WDI_RssiMonitorStopRspCb)(void *pEventData,void *pUserData);
Katya Nigamf0511f62015-05-05 16:40:57 +05308609
c_manjeecfd1efb2015-09-25 19:32:34 +05308610typedef void (*WDI_FwrMemDumpRspCb)(WDI_FwrMemDumpRsp *wdiRsp, void *pUserData);
8611
Arun Khandavalli7eeb1592015-10-19 21:36:57 +05308612typedef void (*WDI_WifiConfigSetRspCb) (WDI_WifconfigSetRsp *wdiRsp, void *pUserData);
c_manjeecfd1efb2015-09-25 19:32:34 +05308613
Mahesh A Saptasagarcfc65ae2015-12-22 15:06:10 +05308614typedef void (*WDI_AntennaDivSelRspCb)(WDI_Status status,
8615 void *resp, void *pUserData);
8616
Anurag Chouhan83026002016-12-13 22:46:21 +05308617#ifdef DHCP_SERVER_OFFLOAD
8618typedef void (*wdi_dhcp_srv_offload_rsp_cb)(void *event_data,void *user_data);
8619#endif /* DHCP_SERVER_OFFLOAD */
Anurag Chouhan0b29de02016-12-16 13:18:40 +05308620#ifdef MDNS_OFFLOAD
8621typedef void (*wdi_mdns_enable_rsp_cb)(void *event_data,void *user_data);
8622typedef void (*wdi_mdns_fqdn_rsp_cb)(void *event_data,void *user_data);
8623typedef void (*wdi_mdns_resp_rsp_cb)(void *event_data,void *user_data);
8624typedef void (*wdi_get_stats_rsp_cb)(void *event_data,void *user_data);
8625#endif /* MDNS_OFFLOAD */
8626
Anurag Chouhan83026002016-12-13 22:46:21 +05308627
Jeff Johnson295189b2012-06-20 16:38:30 -07008628/*========================================================================
8629 * Function Declarations and Documentation
8630 ==========================================================================*/
8631
8632/*========================================================================
8633
8634 INITIALIZATION APIs
8635
8636==========================================================================*/
8637
8638/**
8639 @brief WDI_Init is used to initialize the DAL.
8640
8641 DAL will allocate all the resources it needs. It will open PAL, it will also
8642 open both the data and the control transport which in their turn will open
8643 DXE/SMD or any other drivers that they need.
8644
Arun Kumar Khandavalliebb19482014-03-25 13:56:53 +05308645 @param devHandle: pointer to the OS specific device handle
Jeff Johnson295189b2012-06-20 16:38:30 -07008646 ppWDIGlobalCtx: output pointer of Global Context
8647 pWdiDevCapability: output pointer of device capability
8648
8649 @return Result of the function call
8650*/
8651WDI_Status
8652WDI_Init
8653(
Arun Kumar Khandavalliebb19482014-03-25 13:56:53 +05308654 void* devHandle,
Jeff Johnson295189b2012-06-20 16:38:30 -07008655 void** ppWDIGlobalCtx,
8656 WDI_DeviceCapabilityType* pWdiDevCapability,
8657 unsigned int driverType
8658);
8659
8660/**
8661 @brief WDI_Start will be called when the upper MAC is ready to
8662 commence operation with the WLAN Device. Upon the call
8663 of this API the WLAN DAL will pack and send a HAL Start
8664 message to the lower RIVA sub-system if the SMD channel
8665 has been fully opened and the RIVA subsystem is up.
8666
8667 If the RIVA sub-system is not yet up and running DAL
8668 will queue the request for Open and will wait for the
8669 SMD notification before attempting to send down the
8670 message to HAL.
8671
8672 WDI_Init must have been called.
8673
8674 @param wdiStartParams: the start parameters as specified by
8675 the Device Interface
8676
8677 wdiStartRspCb: callback for passing back the response of
8678 the start operation received from the device
8679
8680 pUserData: user data will be passed back with the
8681 callback
8682
8683 @see WDI_Start
8684 @return Result of the function call
8685*/
8686WDI_Status
8687WDI_Start
8688(
8689 WDI_StartReqParamsType* pwdiStartParams,
8690 WDI_StartRspCb wdiStartRspCb,
8691 void* pUserData
8692);
8693
8694
8695/**
8696 @brief WDI_Stop will be called when the upper MAC is ready to
8697 stop any operation with the WLAN Device. Upon the call
8698 of this API the WLAN DAL will pack and send a HAL Stop
8699 message to the lower RIVA sub-system if the DAL Core is
8700 in started state.
8701
8702 In state BUSY this request will be queued.
8703
8704 Request will not be accepted in any other state.
8705
8706 WDI_Start must have been called.
8707
8708 @param wdiStopParams: the stop parameters as specified by
8709 the Device Interface
8710
8711 wdiStopRspCb: callback for passing back the response of
8712 the stop operation received from the device
8713
8714 pUserData: user data will be passed back with the
8715 callback
8716
8717 @see WDI_Start
8718 @return Result of the function call
8719*/
8720WDI_Status
8721WDI_Stop
8722(
8723 WDI_StopReqParamsType* pwdiStopParams,
8724 WDI_StopRspCb wdiStopRspCb,
8725 void* pUserData
8726);
8727
8728/**
8729 @brief WDI_Close will be called when the upper MAC no longer
8730 needs to interract with DAL. DAL will free its control
8731 block.
8732
8733 It is only accepted in state STOPPED.
8734
8735 WDI_Stop must have been called.
8736
8737 @param none
8738
8739 @see WDI_Stop
8740 @return Result of the function call
8741*/
8742WDI_Status
8743WDI_Close
8744(
8745 void
8746);
8747
8748
8749/**
8750 @brief WDI_Shutdown will be called during 'SSR shutdown' operation.
8751 This will do most of the WDI stop & close
8752 operations without doing any handshake with Riva
8753
8754 This will also make sure that the control transport
8755 will NOT be closed.
8756
8757 This request will not be queued.
8758
8759
8760 WDI_Start must have been called.
8761
8762 @param closeTransport: Close control channel if this is set
8763
8764 @return Result of the function call
8765*/
8766WDI_Status
8767WDI_Shutdown
8768(
8769 wpt_boolean closeTransport
8770);
8771
8772/*========================================================================
8773
8774 SCAN APIs
8775
8776==========================================================================*/
8777
8778/**
8779 @brief WDI_InitScanReq will be called when the upper MAC wants
8780 the WLAN Device to get ready for a scan procedure. Upon
8781 the call of this API the WLAN DAL will pack and send a
8782 HAL Init Scan request message to the lower RIVA
8783 sub-system if DAL is in state STARTED.
8784
8785 In state BUSY this request will be queued. Request won't
8786 be allowed in any other state.
8787
8788 WDI_Start must have been called.
8789
8790 @param wdiInitScanParams: the init scan parameters as specified
8791 by the Device Interface
8792
8793 wdiInitScanRspCb: callback for passing back the response
8794 of the init scan operation received from the device
8795
8796 pUserData: user data will be passed back with the
8797 callback
8798
8799 @see WDI_Start
8800 @return Result of the function call
8801*/
8802WDI_Status
8803WDI_InitScanReq
8804(
8805 WDI_InitScanReqParamsType* pwdiInitScanParams,
8806 WDI_InitScanRspCb wdiInitScanRspCb,
8807 void* pUserData
8808);
8809
8810/**
8811 @brief WDI_StartScanReq will be called when the upper MAC
8812 wishes to change the Scan channel on the WLAN Device.
8813 Upon the call of this API the WLAN DAL will pack and
8814 send a HAL Start Scan request message to the lower RIVA
8815 sub-system if DAL is in state STARTED.
8816
8817 In state BUSY this request will be queued. Request won't
8818 be allowed in any other state.
8819
8820 WDI_InitScanReq must have been called.
8821
8822 @param wdiStartScanParams: the start scan parameters as
8823 specified by the Device Interface
8824
8825 wdiStartScanRspCb: callback for passing back the
8826 response of the start scan operation received from the
8827 device
8828
8829 pUserData: user data will be passed back with the
8830 callback
8831
8832 @see WDI_InitScanReq
8833 @return Result of the function call
8834*/
8835WDI_Status
8836WDI_StartScanReq
8837(
8838 WDI_StartScanReqParamsType* pwdiStartScanParams,
8839 WDI_StartScanRspCb wdiStartScanRspCb,
8840 void* pUserData
8841);
8842
8843
8844/**
8845 @brief WDI_EndScanReq will be called when the upper MAC is
8846 wants to end scanning for a particular channel that it
8847 had set before by calling Scan Start on the WLAN Device.
8848 Upon the call of this API the WLAN DAL will pack and
8849 send a HAL End Scan request message to the lower RIVA
8850 sub-system if DAL is in state STARTED.
8851
8852 In state BUSY this request will be queued. Request won't
8853 be allowed in any other state.
8854
8855 WDI_StartScanReq must have been called.
8856
8857 @param wdiEndScanParams: the end scan parameters as specified
8858 by the Device Interface
8859
8860 wdiEndScanRspCb: callback for passing back the response
8861 of the end scan operation received from the device
8862
8863 pUserData: user data will be passed back with the
8864 callback
8865
8866 @see WDI_StartScanReq
8867 @return Result of the function call
8868*/
8869WDI_Status
8870WDI_EndScanReq
8871(
8872 WDI_EndScanReqParamsType* pwdiEndScanParams,
8873 WDI_EndScanRspCb wdiEndScanRspCb,
8874 void* pUserData
8875);
8876
8877
8878/**
8879 @brief WDI_FinishScanReq will be called when the upper MAC has
8880 completed the scan process on the WLAN Device. Upon the
8881 call of this API the WLAN DAL will pack and send a HAL
8882 Finish Scan Request request message to the lower RIVA
8883 sub-system if DAL is in state STARTED.
8884
8885 In state BUSY this request will be queued. Request won't
8886 be allowed in any other state.
8887
8888 WDI_InitScanReq must have been called.
8889
8890 @param wdiFinishScanParams: the finish scan parameters as
8891 specified by the Device Interface
8892
8893 wdiFinishScanRspCb: callback for passing back the
8894 response of the finish scan operation received from the
8895 device
8896
8897 pUserData: user data will be passed back with the
8898 callback
8899
8900 @see WDI_InitScanReq
8901 @return Result of the function call
8902*/
8903WDI_Status
8904WDI_FinishScanReq
8905(
8906 WDI_FinishScanReqParamsType* pwdiFinishScanParams,
8907 WDI_FinishScanRspCb wdiFinishScanRspCb,
8908 void* pUserData
8909);
8910
8911/*========================================================================
8912
8913 ASSOCIATION APIs
8914
8915==========================================================================*/
8916
8917/**
8918 @brief WDI_JoinReq will be called when the upper MAC is ready
8919 to start an association procedure to a BSS. Upon the
8920 call of this API the WLAN DAL will pack and send a HAL
8921 Join request message to the lower RIVA sub-system if
8922 DAL is in state STARTED.
8923
8924 In state BUSY this request will be queued. Request won't
8925 be allowed in any other state.
8926
8927 WDI_Start must have been called.
8928
8929 @param wdiJoinParams: the join parameters as specified by
8930 the Device Interface
8931
8932 wdiJoinRspCb: callback for passing back the response of
8933 the join operation received from the device
8934
8935 pUserData: user data will be passed back with the
8936 callback
8937
8938 @see WDI_Start
8939 @return Result of the function call
8940*/
8941WDI_Status
8942WDI_JoinReq
8943(
8944 WDI_JoinReqParamsType* pwdiJoinParams,
8945 WDI_JoinRspCb wdiJoinRspCb,
8946 void* pUserData
8947);
8948
8949/**
8950 @brief WDI_ConfigBSSReq will be called when the upper MAC
8951 wishes to configure the newly acquired or in process of
8952 being acquired BSS to the HW . Upon the call of this API
8953 the WLAN DAL will pack and send a HAL Config BSS request
8954 message to the lower RIVA sub-system if DAL is in state
8955 STARTED.
8956
8957 In state BUSY this request will be queued. Request won't
8958 be allowed in any other state.
8959
8960 WDI_JoinReq must have been called.
8961
8962 @param wdiConfigBSSParams: the config BSS parameters as
8963 specified by the Device Interface
8964
8965 wdiConfigBSSRspCb: callback for passing back the
8966 response of the config BSS operation received from the
8967 device
8968
8969 pUserData: user data will be passed back with the
8970 callback
8971
8972 @see WDI_JoinReq
8973 @return Result of the function call
8974*/
8975WDI_Status
8976WDI_ConfigBSSReq
8977(
8978 WDI_ConfigBSSReqParamsType* pwdiConfigBSSParams,
8979 WDI_ConfigBSSRspCb wdiConfigBSSRspCb,
8980 void* pUserData
8981);
8982
8983/**
8984 @brief WDI_DelBSSReq will be called when the upper MAC is
8985 dissasociating from the BSS and wishes to notify HW.
8986 Upon the call of this API the WLAN DAL will pack and
8987 send a HAL Del BSS request message to the lower RIVA
8988 sub-system if DAL is in state STARTED.
8989
8990 In state BUSY this request will be queued. Request won't
8991 be allowed in any other state.
8992
8993 WDI_ConfigBSSReq or WDI_PostAssocReq must have been called.
8994
8995 @param wdiDelBSSParams: the del BSS parameters as specified by
8996 the Device Interface
8997
8998 wdiDelBSSRspCb: callback for passing back the response
8999 of the del bss operation received from the device
9000
9001 pUserData: user data will be passed back with the
9002 callback
9003
9004 @see WDI_ConfigBSSReq, WDI_PostAssocReq
9005 @return Result of the function call
9006*/
9007WDI_Status
9008WDI_DelBSSReq
9009(
9010 WDI_DelBSSReqParamsType* pwdiDelBSSParams,
9011 WDI_DelBSSRspCb wdiDelBSSRspCb,
9012 void* pUserData
9013);
9014
9015/**
9016 @brief WDI_PostAssocReq will be called when the upper MAC has
9017 associated to a BSS and wishes to configure HW for
9018 associated state. Upon the call of this API the WLAN DAL
9019 will pack and send a HAL Post Assoc request message to
9020 the lower RIVA sub-system if DAL is in state STARTED.
9021
9022 In state BUSY this request will be queued. Request won't
9023 be allowed in any other state.
9024
9025 WDI_JoinReq must have been called.
9026
9027 @param wdiPostAssocReqParams: the assoc parameters as specified
9028 by the Device Interface
9029
9030 wdiPostAssocRspCb: callback for passing back the
9031 response of the post assoc operation received from the
9032 device
9033
9034 pUserData: user data will be passed back with the
9035 callback
9036
9037 @see WDI_JoinReq
9038 @return Result of the function call
9039*/
9040WDI_Status
9041WDI_PostAssocReq
9042(
9043 WDI_PostAssocReqParamsType* pwdiPostAssocReqParams,
9044 WDI_PostAssocRspCb wdiPostAssocRspCb,
9045 void* pUserData
9046);
9047
9048/**
9049 @brief WDI_DelSTAReq will be called when the upper MAC when an
9050 association with another STA has ended and the station
9051 must be deleted from HW. Upon the call of this API the
9052 WLAN DAL will pack and send a HAL Del STA request
9053 message to the lower RIVA sub-system if DAL is in state
9054 STARTED.
9055
9056 In state BUSY this request will be queued. Request won't
9057 be allowed in any other state.
9058
9059 WDI_PostAssocReq must have been called.
9060
9061 @param wdiDelSTAParams: the Del STA parameters as specified by
9062 the Device Interface
9063
9064 wdiDelSTARspCb: callback for passing back the response
9065 of the del STA operation received from the device
9066
9067 pUserData: user data will be passed back with the
9068 callback
9069
9070 @see WDI_PostAssocReq
9071 @return Result of the function call
9072*/
9073WDI_Status
9074WDI_DelSTAReq
9075(
9076 WDI_DelSTAReqParamsType* pwdiDelSTAParams,
9077 WDI_DelSTARspCb wdiDelSTARspCb,
9078 void* pUserData
9079);
9080
9081/*========================================================================
9082
9083 SECURITY APIs
9084
9085==========================================================================*/
9086
9087/**
9088 @brief WDI_SetBSSKeyReq will be called when the upper MAC ito
9089 install a BSS encryption key on the HW. Upon the call of
9090 this API the WLAN DAL will pack and send a HAL Start
9091 request message to the lower RIVA sub-system if DAL is
9092 in state STARTED.
9093
9094 In state BUSY this request will be queued. Request won't
9095 be allowed in any other state.
9096
9097 WDI_PostAssocReq must have been called.
9098
9099 @param wdiSetBSSKeyParams: the BSS Key set parameters as
9100 specified by the Device Interface
9101
9102 wdiSetBSSKeyRspCb: callback for passing back the
9103 response of the set BSS Key operation received from the
9104 device
9105
9106 pUserData: user data will be passed back with the
9107 callback
9108
9109 @see WDI_PostAssocReq
9110 @return Result of the function call
9111*/
9112WDI_Status
9113WDI_SetBSSKeyReq
9114(
9115 WDI_SetBSSKeyReqParamsType* pwdiSetBSSKeyParams,
9116 WDI_SetBSSKeyRspCb wdiSetBSSKeyRspCb,
9117 void* pUserData
9118);
9119
9120
9121/**
9122 @brief WDI_RemoveBSSKeyReq will be called when the upper MAC to
9123 uninstall a BSS key from HW. Upon the call of this API
9124 the WLAN DAL will pack and send a HAL Remove BSS Key
9125 request message to the lower RIVA sub-system if DAL is
9126 in state STARTED.
9127
9128 In state BUSY this request will be queued. Request won't
9129 be allowed in any other state.
9130
9131 WDI_SetBSSKeyReq must have been called.
9132
9133 @param wdiRemoveBSSKeyParams: the remove BSS key parameters as
9134 specified by the Device Interface
9135
9136 wdiRemoveBSSKeyRspCb: callback for passing back the
9137 response of the remove BSS key operation received from
9138 the device
9139
9140 pUserData: user data will be passed back with the
9141 callback
9142
9143 @see WDI_SetBSSKeyReq
9144 @return Result of the function call
9145*/
9146WDI_Status
9147WDI_RemoveBSSKeyReq
9148(
9149 WDI_RemoveBSSKeyReqParamsType* pwdiRemoveBSSKeyParams,
9150 WDI_RemoveBSSKeyRspCb wdiRemoveBSSKeyRspCb,
9151 void* pUserData
9152);
9153
9154
9155/**
9156 @brief WDI_SetSTAKeyReq will be called when the upper MAC is
9157 ready to install a STA(ast) encryption key in HW. Upon
9158 the call of this API the WLAN DAL will pack and send a
9159 HAL Set STA Key request message to the lower RIVA
9160 sub-system if DAL is in state STARTED.
9161
9162 In state BUSY this request will be queued. Request won't
9163 be allowed in any other state.
9164
9165 WDI_PostAssocReq must have been called.
9166
9167 @param wdiSetSTAKeyParams: the set STA key parameters as
9168 specified by the Device Interface
9169
9170 wdiSetSTAKeyRspCb: callback for passing back the
9171 response of the set STA key operation received from the
9172 device
9173
9174 pUserData: user data will be passed back with the
9175 callback
9176
9177 @see WDI_PostAssocReq
9178 @return Result of the function call
9179*/
9180WDI_Status
9181WDI_SetSTAKeyReq
9182(
9183 WDI_SetSTAKeyReqParamsType* pwdiSetSTAKeyParams,
9184 WDI_SetSTAKeyRspCb wdiSetSTAKeyRspCb,
9185 void* pUserData
9186);
9187
9188
9189/**
9190 @brief WDI_RemoveSTAKeyReq will be called when the upper MAC
9191 wants to unistall a previously set STA key in HW. Upon
9192 the call of this API the WLAN DAL will pack and send a
9193 HAL Remove STA Key request message to the lower RIVA
9194 sub-system if DAL is in state STARTED.
9195
9196 In state BUSY this request will be queued. Request won't
9197 be allowed in any other state.
9198
9199 WDI_SetSTAKeyReq must have been called.
9200
9201 @param wdiRemoveSTAKeyParams: the remove STA key parameters as
9202 specified by the Device Interface
9203
9204 wdiRemoveSTAKeyRspCb: callback for passing back the
9205 response of the remove STA key operation received from
9206 the device
9207
9208 pUserData: user data will be passed back with the
9209 callback
9210
9211 @see WDI_SetSTAKeyReq
9212 @return Result of the function call
9213*/
9214WDI_Status
9215WDI_RemoveSTAKeyReq
9216(
9217 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTAKeyParams,
9218 WDI_RemoveSTAKeyRspCb wdiRemoveSTAKeyRspCb,
9219 void* pUserData
9220);
9221
9222/**
9223 @brief WDI_SetSTABcastKeyReq will be called when the upper MAC
9224 wants to install a STA Bcast encryption key on the HW.
9225 Upon the call of this API the WLAN DAL will pack and
9226 send a HAL Start request message to the lower RIVA
9227 sub-system if DAL is in state STARTED.
9228
9229 In state BUSY this request will be queued. Request won't
9230 be allowed in any other state.
9231
9232 WDI_PostAssocReq must have been called.
9233
9234 @param pwdiSetSTABcastKeyParams: the BSS Key set parameters as
9235 specified by the Device Interface
9236
9237 wdiSetSTABcastKeyRspCb: callback for passing back the
9238 response of the set BSS Key operation received from the
9239 device
9240
9241 pUserData: user data will be passed back with the
9242 callback
9243
9244 @see WDI_PostAssocReq
9245 @return Result of the function call
9246*/
9247WDI_Status
9248WDI_SetSTABcastKeyReq
9249(
9250 WDI_SetSTAKeyReqParamsType* pwdiSetSTABcastKeyParams,
9251 WDI_SetSTAKeyRspCb wdiSetSTABcastKeyRspCb,
9252 void* pUserData
9253);
9254
9255
9256/**
9257 @brief WDI_RemoveSTABcastKeyReq will be called when the upper
9258 MAC to uninstall a STA Bcast key from HW. Upon the call
9259 of this API the WLAN DAL will pack and send a HAL Remove
9260 STA Bcast Key request message to the lower RIVA
9261 sub-system if DAL is in state STARTED.
9262
9263 In state BUSY this request will be queued. Request won't
9264 be allowed in any other state.
9265
9266 WDI_SetSTABcastKeyReq must have been called.
9267
9268 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
9269 parameters as specified by the Device
9270 Interface
9271
9272 wdiRemoveSTABcastKeyRspCb: callback for passing back the
9273 response of the remove STA Bcast key operation received
9274 from the device
9275
9276 pUserData: user data will be passed back with the
9277 callback
9278
9279 @see WDI_SetSTABcastKeyReq
9280 @return Result of the function call
9281*/
9282WDI_Status
9283WDI_RemoveSTABcastKeyReq
9284(
9285 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTABcastKeyParams,
9286 WDI_RemoveSTAKeyRspCb wdiRemoveSTABcastKeyRspCb,
9287 void* pUserData
9288);
9289
schang86c22c42013-03-13 18:41:24 -07009290
9291/**
9292 @brief WDI_SetTxPowerReq will be called when the upper
9293 MAC wants to set Tx Power to HW.
9294 In state BUSY this request will be queued. Request won't
9295 be allowed in any other state.
9296
9297
9298 @param pwdiSetTxPowerParams: set TS Power parameters
9299 BSSID and target TX Power with dbm included
9300
9301 wdiReqStatusCb: callback for passing back the response
9302
9303 pUserData: user data will be passed back with the
9304 callback
9305
9306 @return Result of the function call
9307*/
9308WDI_Status
9309WDI_SetTxPowerReq
9310(
9311 WDI_SetTxPowerParamsType* pwdiSetTxPowerParams,
9312 WDA_SetTxPowerRspCb wdiReqStatusCb,
9313 void* pUserData
9314);
9315
Jeff Johnson295189b2012-06-20 16:38:30 -07009316/**
9317 @brief WDI_SetMaxTxPowerReq will be called when the upper
9318 MAC wants to set Max Tx Power to HW. Upon the
9319 call of this API the WLAN DAL will pack and send a HAL
9320 Remove STA Bcast Key request message to the lower RIVA
9321 sub-system if DAL is in state STARTED.
9322
9323 In state BUSY this request will be queued. Request won't
9324 be allowed in any other state.
9325
9326 WDI_SetSTABcastKeyReq must have been called.
9327
9328 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
9329 parameters as specified by the Device
9330 Interface
9331
9332 wdiRemoveSTABcastKeyRspCb: callback for passing back the
9333 response of the remove STA Bcast key operation received
9334 from the device
9335
9336 pUserData: user data will be passed back with the
9337 callback
9338
9339 @see WDI_SetMaxTxPowerReq
9340 @return Result of the function call
9341*/
9342WDI_Status
9343WDI_SetMaxTxPowerReq
9344(
9345 WDI_SetMaxTxPowerParamsType* pwdiSetMaxTxPowerParams,
9346 WDA_SetMaxTxPowerRspCb wdiReqStatusCb,
9347 void* pUserData
9348);
9349
Arif Hussaina5ebce02013-08-09 15:09:58 -07009350/**
9351 @brief WDI_SetMaxTxPowerPerBandReq will be called when the upper
9352 MAC wants to set Max Tx Power to HW for specific band. Upon the
9353 call of this API the WLAN DAL will pack and send a HAL
9354 Set Max Tx Power Per Band request message to the lower RIVA
9355 sub-system if DAL is in state STARTED.
9356
9357 In state BUSY this request will be queued. Request won't
9358 be allowed in any other state.
9359
9360
9361 @param WDI_SetMaxTxPowerPerBandParamsType: Max Tx Per Band Info
9362
9363 WDA_SetMaxTxPowerPerBandRspCb: This callback is invoked by DAL
9364 when it has received a set max Tx Power Per Band response from
9365 the underlying device.
9366
9367 pUserData: user data will be passed back with the
9368 callback
9369
9370 @see WDI_SetMaxTxPowerPerBandReq
9371 @return Result of the function call
9372*/
9373WDI_Status
9374WDI_SetMaxTxPowerPerBandReq
9375(
9376 WDI_SetMaxTxPowerPerBandParamsType* pwdiSetMaxTxPowerPerBandParams,
9377 WDA_SetMaxTxPowerPerBandRspCb wdiReqStatusCb,
9378 void* pUserData
9379);
9380
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08009381#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07009382/**
9383 @brief WDI_TSMStatsReq will be called by the upper MAC to fetch
9384 Traffic Stream metrics.
9385 In state BUSY this request will be queued. Request won't
9386 be allowed in any other state.
9387
9388 @param wdiAddTsReqParams: the add TS parameters as specified by
9389 the Device Interface
9390
9391 wdiAddTsRspCb: callback for passing back the response of
9392 the add TS operation received from the device
9393
9394 pUserData: user data will be passed back with the
9395 callback
9396
9397 @see WDI_PostAssocReq
9398 @return Result of the function call
9399*/
9400WDI_Status
9401WDI_TSMStatsReq
9402(
9403 WDI_TSMStatsReqParamsType* pwdiTsmStatsReqParams,
9404 WDI_TsmRspCb wdiTsmStatsRspCb,
9405 void* pUserData
9406);
9407
9408
9409#endif
9410
9411/*========================================================================
9412
9413 QoS and BA APIs
9414
9415==========================================================================*/
9416
9417/**
9418 @brief WDI_AddTSReq will be called when the upper MAC to inform
9419 the device of a successful add TSpec negotiation. HW
9420 needs to receive the TSpec Info from the UMAC in order
9421 to configure properly the QoS data traffic. Upon the
9422 call of this API the WLAN DAL will pack and send a HAL
9423 Add TS request message to the lower RIVA sub-system if
9424 DAL is in state STARTED.
9425
9426 In state BUSY this request will be queued. Request won't
9427 be allowed in any other state.
9428
9429 WDI_PostAssocReq must have been called.
9430
9431 @param wdiAddTsReqParams: the add TS parameters as specified by
9432 the Device Interface
9433
9434 wdiAddTsRspCb: callback for passing back the response of
9435 the add TS operation received from the device
9436
9437 pUserData: user data will be passed back with the
9438 callback
9439
9440 @see WDI_PostAssocReq
9441 @return Result of the function call
9442*/
9443WDI_Status
9444WDI_AddTSReq
9445(
9446 WDI_AddTSReqParamsType* pwdiAddTsReqParams,
9447 WDI_AddTsRspCb wdiAddTsRspCb,
9448 void* pUserData
9449);
9450
9451
9452
9453/**
9454 @brief WDI_DelTSReq will be called when the upper MAC has ended
9455 admission on a specific AC. This is to inform HW that
9456 QoS traffic parameters must be rest. Upon the call of
9457 this API the WLAN DAL will pack and send a HAL Del TS
9458 request message to the lower RIVA sub-system if DAL is
9459 in state STARTED.
9460
9461 In state BUSY this request will be queued. Request won't
9462 be allowed in any other state.
9463
9464 WDI_AddTSReq must have been called.
9465
9466 @param wdiDelTsReqParams: the del TS parameters as specified by
9467 the Device Interface
9468
9469 wdiDelTsRspCb: callback for passing back the response of
9470 the del TS operation received from the device
9471
9472 pUserData: user data will be passed back with the
9473 callback
9474
9475 @see WDI_AddTSReq
9476 @return Result of the function call
9477*/
9478WDI_Status
9479WDI_DelTSReq
9480(
9481 WDI_DelTSReqParamsType* pwdiDelTsReqParams,
9482 WDI_DelTsRspCb wdiDelTsRspCb,
9483 void* pUserData
9484);
9485
9486
9487
9488/**
9489 @brief WDI_UpdateEDCAParams will be called when the upper MAC
9490 wishes to update the EDCA parameters used by HW for QoS
9491 data traffic. Upon the call of this API the WLAN DAL
9492 will pack and send a HAL Update EDCA Params request
9493 message to the lower RIVA sub-system if DAL is in state
9494 STARTED.
9495
9496 In state BUSY this request will be queued. Request won't
9497 be allowed in any other state.
9498
9499 WDI_PostAssocReq must have been called.
9500
9501 @param wdiUpdateEDCAParams: the start parameters as specified
9502 by the Device Interface
9503
9504 wdiUpdateEDCAParamsRspCb: callback for passing back the
9505 response of the start operation received from the device
9506
9507 pUserData: user data will be passed back with the
9508 callback
9509
9510 @see WDI_PostAssocReq
9511 @return Result of the function call
9512*/
9513WDI_Status
9514WDI_UpdateEDCAParams
9515(
9516 WDI_UpdateEDCAParamsType* pwdiUpdateEDCAParams,
9517 WDI_UpdateEDCAParamsRspCb wdiUpdateEDCAParamsRspCb,
9518 void* pUserData
9519);
9520
9521
9522
9523/**
9524 @brief WDI_AddBASessionReq will be called when the upper MAC has setup
9525 successfully a BA session and needs to notify the HW for
9526 the appropriate settings to take place. Upon the call of
9527 this API the WLAN DAL will pack and send a HAL Add BA
9528 request message to the lower RIVA sub-system if DAL is
9529 in state STARTED.
9530
9531 In state BUSY this request will be queued. Request won't
9532 be allowed in any other state.
9533
9534 WDI_PostAssocReq must have been called.
9535
9536 @param wdiAddBAReqParams: the add BA parameters as specified by
9537 the Device Interface
9538
9539 wdiAddBARspCb: callback for passing back the response of
9540 the add BA operation received from the device
9541
9542 pUserData: user data will be passed back with the
9543 callback
9544
9545 @see WDI_PostAssocReq
9546 @return Result of the function call
9547*/
9548WDI_Status
9549WDI_AddBASessionReq
9550(
9551 WDI_AddBASessionReqParamsType* pwdiAddBASessionReqParams,
9552 WDI_AddBASessionRspCb wdiAddBASessionRspCb,
9553 void* pUserData
9554);
9555
9556
9557/**
9558 @brief WDI_DelBAReq will be called when the upper MAC wants to
9559 inform HW that it has deleted a previously created BA
9560 session. Upon the call of this API the WLAN DAL will
9561 pack and send a HAL Del BA request message to the lower
9562 RIVA sub-system if DAL is in state STARTED.
9563
9564 In state BUSY this request will be queued. Request won't
9565 be allowed in any other state.
9566
9567 WDI_AddBAReq must have been called.
9568
9569 @param wdiDelBAReqParams: the del BA parameters as specified by
9570 the Device Interface
9571
9572 wdiDelBARspCb: callback for passing back the response of
9573 the del BA operation received from the device
9574
9575 pUserData: user data will be passed back with the
9576 callback
9577
9578 @see WDI_AddBAReq
9579 @return Result of the function call
9580*/
9581WDI_Status
9582WDI_DelBAReq
9583(
9584 WDI_DelBAReqParamsType* pwdiDelBAReqParams,
9585 WDI_DelBARspCb wdiDelBARspCb,
9586 void* pUserData
9587);
9588
9589/**
9590 @brief WDI_UpdateBeaconParamsReq will be called when the upper MAC wants to
9591 inform HW that there is a change in the beacon parameters
9592 Upon the call of this API the WLAN DAL will
9593 pack and send a UpdateBeacon Params message to the lower
9594 RIVA sub-system if DAL is in state STARTED.
9595
9596 In state BUSY this request will be queued. Request won't
9597 be allowed in any other state.
9598
9599 WDI_UpdateBeaconParamsReq must have been called.
9600
9601 @param WDI_UpdateBeaconParamsType: the Update Beacon parameters as specified by
9602 the Device Interface
9603
9604 WDI_UpdateBeaconParamsRspCb: callback for passing back the response of
9605 the Update Beacon Params operation received from the device
9606
9607 pUserData: user data will be passed back with the
9608 callback
9609
9610 @see WDI_AddBAReq
9611 @return Result of the function call
9612*/
9613
9614WDI_Status
9615WDI_UpdateBeaconParamsReq
9616(
9617 WDI_UpdateBeaconParamsType * pwdiUpdateBeaconParams,
9618 WDI_UpdateBeaconParamsRspCb wdiUpdateBeaconParamsRspCb,
9619 void* pUserData
9620);
9621
9622
9623/**
9624 @brief WDI_SendBeaconParamsReq will be called when the upper MAC wants to
9625 update the beacon template to be transmitted as BT MAP STA/IBSS/Soft AP
9626 Upon the call of this API the WLAN DAL will
9627 pack and send the beacon Template message to the lower
9628 RIVA sub-system if DAL is in state STARTED.
9629
9630 In state BUSY this request will be queued. Request won't
9631 be allowed in any other state.
9632
9633 WDI_SendBeaconParamsReq must have been called.
9634
9635 @param WDI_SendBeaconParamsType: the Update Beacon parameters as specified by
9636 the Device Interface
9637
9638 WDI_SendBeaconParamsRspCb: callback for passing back the response of
9639 the Send Beacon Params operation received from the device
9640
9641 pUserData: user data will be passed back with the
9642 callback
9643
9644 @see WDI_AddBAReq
9645 @return Result of the function call
9646*/
9647
9648WDI_Status
9649WDI_SendBeaconParamsReq
9650(
9651 WDI_SendBeaconParamsType* pwdiSendBeaconParams,
9652 WDI_SendBeaconParamsRspCb wdiSendBeaconParamsRspCb,
9653 void* pUserData
9654);
9655
9656
9657/**
9658 @brief WDI_UpdateProbeRspTemplateReq will be called when the
9659 upper MAC wants to update the probe response template to
9660 be transmitted as Soft AP
9661 Upon the call of this API the WLAN DAL will
9662 pack and send the probe rsp template message to the
9663 lower RIVA sub-system if DAL is in state STARTED.
9664
9665 In state BUSY this request will be queued. Request won't
9666 be allowed in any other state.
9667
9668
9669 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
9670 specified by the Device Interface
9671
9672 wdiSendBeaconParamsRspCb: callback for passing back the
9673 response of the Send Beacon Params operation received
9674 from the device
9675
9676 pUserData: user data will be passed back with the
9677 callback
9678
9679 @see WDI_AddBAReq
9680 @return Result of the function call
9681*/
9682
9683WDI_Status
9684WDI_UpdateProbeRspTemplateReq
9685(
9686 WDI_UpdateProbeRspTemplateParamsType* pwdiUpdateProbeRspParams,
9687 WDI_UpdateProbeRspTemplateRspCb wdiSendBeaconParamsRspCb,
9688 void* pUserData
9689);
9690
Jeff Johnson295189b2012-06-20 16:38:30 -07009691/**
9692 @brief WDI_SetP2PGONOAReq will be called when the
9693 upper MAC wants to send Notice of Absence
9694 Upon the call of this API the WLAN DAL will
9695 pack and send the probe rsp template message to the
9696 lower RIVA sub-system if DAL is in state STARTED.
9697
9698 In state BUSY this request will be queued. Request won't
9699 be allowed in any other state.
9700
9701
9702 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
9703 specified by the Device Interface
9704
9705 wdiSendBeaconParamsRspCb: callback for passing back the
9706 response of the Send Beacon Params operation received
9707 from the device
9708
9709 pUserData: user data will be passed back with the
9710 callback
9711
9712 @see WDI_AddBAReq
9713 @return Result of the function call
9714*/
9715WDI_Status
9716WDI_SetP2PGONOAReq
9717(
9718 WDI_SetP2PGONOAReqParamsType* pwdiP2PGONOAReqParams,
9719 WDI_SetP2PGONOAReqParamsRspCb wdiP2PGONOAReqParamsRspCb,
9720 void* pUserData
9721);
Jeff Johnson295189b2012-06-20 16:38:30 -07009722
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05309723/**
9724 @brief WDI_SetTDLSLinkEstablishReq will be called when the
9725 upper MAC wants to send TDLS Link Establish Request Parameters
9726 Upon the call of this API the WLAN DAL will
9727 pack and send the TDLS Link Establish Request message to the
9728 lower RIVA sub-system if DAL is in state STARTED.
9729
9730 In state BUSY this request will be queued. Request won't
9731 be allowed in any other state.
9732
9733
9734 @param pwdiTDLSLinkEstablishReqParams: TDLS Peer Parameters
9735 for Link Establishment (Used for PUAPSD , TDLS Off Channel ...)
9736
9737 wdiTDLSLinkEstablishReqRspCb: callback for passing back the
9738 response of the TDLS Link Establish request received
9739 from the device
9740
9741 pUserData: user data will be passed back with the
9742 callback
9743
9744 @see
9745 @return Result of the function call
9746*/
9747WDI_Status
9748WDI_SetTDLSLinkEstablishReq
9749(
9750 WDI_SetTDLSLinkEstablishReqParamsType* pwdiTDLSLinkEstablishReqParams,
9751 WDI_SetTDLSLinkEstablishReqParamsRspCb wdiTDLSLinkEstablishReqRspCb,
9752 void* pUserData
9753);
Jeff Johnson295189b2012-06-20 16:38:30 -07009754
Atul Mittalc0f739f2014-07-31 13:47:47 +05309755WDI_Status
9756WDI_SetTDLSChanSwitchReq
9757(
9758 WDI_SetTDLSChanSwitchReqParamsType* pwdiTDLSChanSwitchReqParams,
9759 WDI_SetTDLSChanSwitchReqParamsRspCb wdiTDLSChanSwitchRReqRspCb,
9760 void* pUserData
9761);
Jeff Johnson295189b2012-06-20 16:38:30 -07009762/*========================================================================
9763
9764 Power Save APIs
9765
9766==========================================================================*/
9767
9768/**
9769 @brief WDI_SetPwrSaveCfgReq will be called when the upper MAC
9770 wants to set the power save related configurations of
9771 the WLAN Device. Upon the call of this API the WLAN DAL
9772 will pack and send a HAL Update CFG request message to
9773 the lower RIVA sub-system if DAL is in state STARTED.
9774
9775 In state BUSY this request will be queued. Request won't
9776 be allowed in any other state.
9777
9778 WDI_Start must have been called.
9779
9780 @param pwdiPowerSaveCfg: the power save cfg parameters as
9781 specified by the Device Interface
9782
9783 wdiSetPwrSaveCfgCb: callback for passing back the
9784 response of the set power save cfg operation received
9785 from the device
9786
9787 pUserData: user data will be passed back with the
9788 callback
9789
9790 @see WDI_Start
9791 @return Result of the function call
9792*/
9793WDI_Status
9794WDI_SetPwrSaveCfgReq
9795(
9796 WDI_UpdateCfgReqParamsType* pwdiPowerSaveCfg,
9797 WDI_SetPwrSaveCfgCb wdiSetPwrSaveCfgCb,
9798 void* pUserData
9799);
9800
9801/**
9802 @brief WDI_EnterImpsReq will be called when the upper MAC to
9803 request the device to get into IMPS power state. Upon
9804 the call of this API the WLAN DAL will send a HAL Enter
9805 IMPS request message to the lower RIVA sub-system if DAL
9806 is in state STARTED.
9807
9808 In state BUSY this request will be queued. Request won't
9809 be allowed in any other state.
9810
9811
9812 @param wdiEnterImpsRspCb: callback for passing back the
9813 response of the Enter IMPS operation received from the
9814 device
9815
9816 pUserData: user data will be passed back with the
9817 callback
9818
9819 @see WDI_Start
9820 @return Result of the function call
9821*/
9822WDI_Status
9823WDI_EnterImpsReq
9824(
Mihir Shetea4306052014-03-25 00:02:54 +05309825 WDI_EnterImpsReqParamsType *pwdiEnterImpsReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009826 WDI_EnterImpsRspCb wdiEnterImpsRspCb,
9827 void* pUserData
9828);
9829
9830/**
9831 @brief WDI_ExitImpsReq will be called when the upper MAC to
9832 request the device to get out of IMPS power state. Upon
9833 the call of this API the WLAN DAL will send a HAL Exit
9834 IMPS request message to the lower RIVA sub-system if DAL
9835 is in state STARTED.
9836
9837 In state BUSY this request will be queued. Request won't
9838 be allowed in any other state.
9839
9840
9841
9842 @param wdiExitImpsRspCb: callback for passing back the response
9843 of the Exit IMPS operation received from the device
9844
9845 pUserData: user data will be passed back with the
9846 callback
9847
9848 @see WDI_Start
9849 @return Result of the function call
9850*/
9851WDI_Status
9852WDI_ExitImpsReq
9853(
Mahesh A Saptasagar329813b2014-12-15 12:16:51 +05309854 WDI_ExitImpsReqParamsType *pwdiExitImpsReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009855 WDI_ExitImpsRspCb wdiExitImpsRspCb,
9856 void* pUserData
9857);
9858
9859/**
9860 @brief WDI_EnterBmpsReq will be called when the upper MAC to
9861 request the device to get into BMPS power state. Upon
9862 the call of this API the WLAN DAL will pack and send a
9863 HAL Enter BMPS request message to the lower RIVA
9864 sub-system if DAL is in state STARTED.
9865
9866 In state BUSY this request will be queued. Request won't
9867 be allowed in any other state.
9868
9869 WDI_PostAssocReq must have been called.
9870
9871 @param pwdiEnterBmpsReqParams: the Enter BMPS parameters as
9872 specified by the Device Interface
9873
9874 wdiEnterBmpsRspCb: callback for passing back the
9875 response of the Enter BMPS operation received from the
9876 device
9877
9878 pUserData: user data will be passed back with the
9879 callback
9880
9881 @see WDI_PostAssocReq
9882 @return Result of the function call
9883*/
9884WDI_Status
9885WDI_EnterBmpsReq
9886(
9887 WDI_EnterBmpsReqParamsType *pwdiEnterBmpsReqParams,
9888 WDI_EnterBmpsRspCb wdiEnterBmpsRspCb,
9889 void* pUserData
9890);
9891
9892/**
9893 @brief WDI_ExitBmpsReq will be called when the upper MAC to
9894 request the device to get out of BMPS power state. Upon
9895 the call of this API the WLAN DAL will pack and send a
9896 HAL Exit BMPS request message to the lower RIVA
9897 sub-system if DAL is in state STARTED.
9898
9899 In state BUSY this request will be queued. Request won't
9900 be allowed in any other state.
9901
9902 WDI_PostAssocReq must have been called.
9903
9904 @param pwdiExitBmpsReqParams: the Exit BMPS parameters as
9905 specified by the Device Interface
9906
9907 wdiExitBmpsRspCb: callback for passing back the response
9908 of the Exit BMPS operation received from the device
9909
9910 pUserData: user data will be passed back with the
9911 callback
9912
9913 @see WDI_PostAssocReq
9914 @return Result of the function call
9915*/
9916WDI_Status
9917WDI_ExitBmpsReq
9918(
9919 WDI_ExitBmpsReqParamsType *pwdiExitBmpsReqParams,
9920 WDI_ExitBmpsRspCb wdiExitBmpsRspCb,
9921 void* pUserData
9922);
9923
9924/**
9925 @brief WDI_EnterUapsdReq will be called when the upper MAC to
9926 request the device to get into UAPSD power state. Upon
9927 the call of this API the WLAN DAL will pack and send a
9928 HAL Enter UAPSD request message to the lower RIVA
9929 sub-system if DAL is in state STARTED.
9930
9931 In state BUSY this request will be queued. Request won't
9932 be allowed in any other state.
9933
9934 WDI_PostAssocReq must have been called.
9935 WDI_SetUapsdAcParamsReq must have been called.
9936
9937 @param pwdiEnterUapsdReqParams: the Enter UAPSD parameters as
9938 specified by the Device Interface
9939
9940 wdiEnterUapsdRspCb: callback for passing back the
9941 response of the Enter UAPSD operation received from the
9942 device
9943
9944 pUserData: user data will be passed back with the
9945 callback
9946
9947 @see WDI_PostAssocReq, WDI_SetUapsdAcParamsReq
9948 @return Result of the function call
9949*/
9950WDI_Status
9951WDI_EnterUapsdReq
9952(
9953 WDI_EnterUapsdReqParamsType *pwdiEnterUapsdReqParams,
9954 WDI_EnterUapsdRspCb wdiEnterUapsdRspCb,
9955 void* pUserData
9956);
9957
9958/**
9959 @brief WDI_ExitUapsdReq will be called when the upper MAC to
9960 request the device to get out of UAPSD power state. Upon
9961 the call of this API the WLAN DAL will send a HAL Exit
9962 UAPSD request message to the lower RIVA sub-system if
9963 DAL is in state STARTED.
9964
9965 In state BUSY this request will be queued. Request won't
9966 be allowed in any other state.
9967
9968 WDI_PostAssocReq must have been called.
9969
9970 @param wdiExitUapsdRspCb: callback for passing back the
9971 response of the Exit UAPSD operation received from the
9972 device
9973
9974 pUserData: user data will be passed back with the
9975 callback
9976
9977 @see WDI_PostAssocReq
9978 @return Result of the function call
9979*/
9980WDI_Status
9981WDI_ExitUapsdReq
9982(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07009983 WDI_ExitUapsdReqParamsType *pwdiExitUapsdReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009984 WDI_ExitUapsdRspCb wdiExitUapsdRspCb,
9985 void* pUserData
9986);
9987
9988/**
9989 @brief WDI_UpdateUapsdParamsReq will be called when the upper
9990 MAC wants to set the UAPSD related configurations
9991 of an associated STA (while acting as an AP) to the WLAN
9992 Device. Upon the call of this API the WLAN DAL will pack
9993 and send a HAL Update UAPSD params request message to
9994 the lower RIVA sub-system if DAL is in state STARTED.
9995
9996 In state BUSY this request will be queued. Request won't
9997 be allowed in any other state.
9998
9999 WDI_ConfigBSSReq must have been called.
10000
10001 @param pwdiUpdateUapsdReqParams: the UAPSD parameters
10002 as specified by the Device Interface
10003
10004 wdiUpdateUapsdParamsCb: callback for passing back the
10005 response of the update UAPSD params operation received
10006 from the device
10007
10008 pUserData: user data will be passed back with the
10009 callback
10010
10011 @see WDI_ConfigBSSReq
10012 @return Result of the function call
10013*/
10014WDI_Status
10015WDI_UpdateUapsdParamsReq
10016(
10017 WDI_UpdateUapsdReqParamsType *pwdiUpdateUapsdReqParams,
10018 WDI_UpdateUapsdParamsCb wdiUpdateUapsdParamsCb,
10019 void* pUserData
10020);
10021
10022/**
10023 @brief WDI_SetUapsdAcParamsReq will be called when the upper
10024 MAC wants to set the UAPSD related configurations before
10025 requesting for enter UAPSD power state to the WLAN
10026 Device. Upon the call of this API the WLAN DAL will pack
10027 and send a HAL Set UAPSD params request message to
10028 the lower RIVA sub-system if DAL is in state STARTED.
10029
10030 In state BUSY this request will be queued. Request won't
10031 be allowed in any other state.
10032
10033 WDI_PostAssocReq must have been called.
10034
10035 @param pwdiUapsdInfo: the UAPSD parameters as specified by
10036 the Device Interface
10037
10038 wdiSetUapsdAcParamsCb: callback for passing back the
10039 response of the set UAPSD params operation received from
10040 the device
10041
10042 pUserData: user data will be passed back with the
10043 callback
10044
10045 @see WDI_PostAssocReq
10046 @return Result of the function call
10047*/
10048WDI_Status
10049WDI_SetUapsdAcParamsReq
10050(
10051 WDI_SetUapsdAcParamsReqParamsType* pwdiPowerSaveCfg,
10052 WDI_SetUapsdAcParamsCb wdiSetUapsdAcParamsCb,
10053 void* pUserData
10054);
Sachin Ahuja715aafc2015-07-21 23:35:10 +053010055
10056
10057/**
10058 @brief WDI_FatalEventLogsReq will be called when the upper
10059 MAC wants to send the fatal event req. Upon the call of
10060 this API the WLAN DAL will pack and send a HAL
10061 Fatal event request message to the lower RIVA sub-system.
10062
10063 In state BUSY this request will be queued. Request won't
10064 be allowed in any other state.
10065
10066
10067 @param pwdiFatalEventLogsReqInfo: the Fatal event logs params
10068 as specified by the Device Interface
10069
10070 wdiFatalEventLogsRspCb: callback for passing back the
10071 response of the fatal event operation received
10072 from the device
10073
10074 pUserData: user data will be passed back with the
10075 callback
10076
10077 @return Result of the function call
10078*/
10079
10080WDI_Status
10081WDI_FatalEventLogsReq
10082(
10083 WDI_FatalEventLogsReqInfoType *pwdiFatalEventLogsReqInfo,
10084 WDI_FatalEventLogsRspCb wdiFatalEventLogsRspCb,
10085 void* pUserData
10086);
10087
Siddharth Bhal64246172015-02-27 01:04:37 +053010088/**
10089 @brief WDI_GetFrameLogReq will be called when the upper
10090 MAC wants to initialize frame logging. Upon the call of
10091 this API the WLAN DAL will pack and send a HAL
10092 Frame logging init request message to
10093 the lower RIVA sub-system.
10094
10095 In state BUSY this request will be queued. Request won't
10096 be allowed in any other state.
10097
10098
10099 @param pwdiGetFrameLogReqInfo: the Frame Logging params
10100 as specified by the Device Interface
10101
10102 wdiGetFrameLogReqCb: callback for passing back the
10103 response of the frame logging init operation received
10104 from the device
10105
10106 pUserData: user data will be passed back with the
10107 callback
10108
10109 @return Result of the function call
10110*/
10111WDI_Status
10112WDI_GetFrameLogReq
10113(
10114 WDI_GetFrameLogReqInfoType *pwdiGetFrameLogReqInfo,
10115 WDI_GetFrameLogRspCb wdiGetFrameLogReqCb,
10116 void* pUserData
10117);
Jeff Johnson295189b2012-06-20 16:38:30 -070010118
10119/**
Siddharth Bhald1be97f2015-05-27 22:39:59 +053010120 @brief WDI_FWLoggingInitReq will be called when the upper
Siddharth Bhalb7c421c2015-02-27 00:26:09 +053010121 MAC wants to initialize frame logging. Upon the call of
10122 this API the WLAN DAL will pack and send a HAL
10123 Frame logging init request message to
10124 the lower RIVA sub-system.
10125
10126 In state BUSY this request will be queued. Request won't
10127 be allowed in any other state.
10128
10129
Siddharth Bhald1be97f2015-05-27 22:39:59 +053010130 @param pwdiFWLoggingInitReqParams: the Frame Logging params
Siddharth Bhalb7c421c2015-02-27 00:26:09 +053010131 as specified by the Device Interface
10132
Siddharth Bhald1be97f2015-05-27 22:39:59 +053010133 wdiFWLoggingInitReqCb: callback for passing back the
Siddharth Bhalb7c421c2015-02-27 00:26:09 +053010134 response of the frame logging init operation received
10135 from the device
10136
10137 pUserData: user data will be passed back with the
10138 callback
10139
10140 @return Result of the function call
10141*/
10142WDI_Status
Siddharth Bhald1be97f2015-05-27 22:39:59 +053010143WDI_FWLoggingInitReq
Siddharth Bhalb7c421c2015-02-27 00:26:09 +053010144(
Siddharth Bhald1be97f2015-05-27 22:39:59 +053010145 WDI_FWLoggingInitReqInfoType *pwdiFWLoggingInitReqInfo,
10146 WDI_FWLoggingInitRspCb wdiFWLoggingInitReqCb,
Siddharth Bhalb7c421c2015-02-27 00:26:09 +053010147 void* pUserData
10148);
10149
10150/**
Gupta, Kapil7c34b322015-09-30 13:12:35 +053010151 @brief WDI_StartRssiMonitorReq will be called when the upper
10152 MAC wants to initialize Rssi Monitor on a bssid.
10153 Upon the call of this API the WLAN DAL will pack and
10154 send a HAL Rssi Monitor init request message to
10155 the lower RIVA sub-system.
10156
10157 In state BUSY this request will be queued. Request won't
10158 be allowed in any other state.
10159
10160
10161 @param pwdiRssiMonitorInfo: the Rssi Monitor params
10162 as specified by the Device Interface
10163
10164 wdiRssiMonitorStartRspCb: callback for passing back the
10165 response of the rssi monitor operation received
10166 from the device
10167
10168 pUserData: user data will be passed back with the
10169 callback
10170
10171 @return Result of the function call
10172*/
10173WDI_Status
10174WDI_StartRssiMonitorReq
10175(
10176 WDI_RssiMonitorReqInfoType *pwdiRssiMonitorInfo,
10177 WDI_RssiMonitorStartRspCb wdiRssiMonitorStartRspCb,
10178 void* pUserData
10179);
10180
10181
10182/**
10183 @brief WDI_StopRssiMonitorReq will be called when the upper
10184 MAC wants to stop Rssi Monitor on a bssid.
10185 Upon the call of this API the WLAN DAL will pack and
10186 send a HAL Rssi Monitor stop request message to
10187 the lower RIVA sub-system.
10188
10189 In state BUSY this request will be queued. Request won't
10190 be allowed in any other state.
10191
10192
10193 @param pwdiRssiMonitorInfo: the Rssi Monitor params
10194 as specified by the Device Interface
10195
10196 wdiRssiMonitorStopRspCb: callback for passing back the
10197 response of the rssi monitor operation received
10198 from the device
10199
10200 pUserData: user data will be passed back with the
10201 callback
10202
10203 @return Result of the function call
10204*/
10205WDI_Status
10206WDI_StopRssiMonitorReq
10207(
10208 WDI_RssiMonitorReqInfoType *pwdiRssiMonitorInfo,
10209 WDI_RssiMonitorStopRspCb wdiRssiMonitorStopRspCb,
10210 void* pUserData
10211);
10212
10213/**
Jeff Johnson295189b2012-06-20 16:38:30 -070010214 @brief WDI_ConfigureRxpFilterReq will be called when the upper
10215 MAC wants to set/reset the RXP filters for received pkts
10216 (MC, BC etc.). Upon the call of this API the WLAN DAL will pack
10217 and send a HAL configure RXP filter request message to
10218 the lower RIVA sub-system.
10219
10220 In state BUSY this request will be queued. Request won't
10221 be allowed in any other state.
10222
10223
10224 @param pwdiConfigureRxpFilterReqParams: the RXP
10225 filter as specified by the Device
10226 Interface
10227
10228 wdiConfigureRxpFilterCb: callback for passing back the
10229 response of the configure RXP filter operation received
10230 from the device
10231
10232 pUserData: user data will be passed back with the
10233 callback
10234
10235 @return Result of the function call
10236*/
10237WDI_Status
10238WDI_ConfigureRxpFilterReq
10239(
10240 WDI_ConfigureRxpFilterReqParamsType *pwdiConfigureRxpFilterReqParams,
10241 WDI_ConfigureRxpFilterCb wdiConfigureRxpFilterCb,
10242 void* pUserData
10243);
10244
10245/**
10246 @brief WDI_SetBeaconFilterReq will be called when the upper MAC
10247 wants to set the beacon filters while in power save.
10248 Upon the call of this API the WLAN DAL will pack and
10249 send a Beacon filter request message to the
10250 lower RIVA sub-system.
10251
10252 In state BUSY this request will be queued. Request won't
10253 be allowed in any other state.
10254
10255
10256 @param pwdiBeaconFilterReqParams: the beacon
10257 filter as specified by the Device
10258 Interface
10259
10260 wdiBeaconFilterCb: callback for passing back the
10261 response of the set beacon filter operation received
10262 from the device
10263
10264 pUserData: user data will be passed back with the
10265 callback
10266
10267 @return Result of the function call
10268*/
10269WDI_Status
10270WDI_SetBeaconFilterReq
10271(
10272 WDI_BeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
10273 WDI_SetBeaconFilterCb wdiBeaconFilterCb,
10274 void* pUserData
10275);
10276
10277/**
10278 @brief WDI_RemBeaconFilterReq will be called when the upper MAC
10279 wants to remove the beacon filter for perticular IE
10280 while in power save. Upon the call of this API the WLAN
10281 DAL will pack and send a remove Beacon filter request
10282 message to the lower RIVA sub-system.
10283
10284 In state BUSY this request will be queued. Request won't
10285 be allowed in any other state.
10286
10287
10288 @param pwdiBeaconFilterReqParams: the beacon
10289 filter as specified by the Device
10290 Interface
10291
10292 wdiBeaconFilterCb: callback for passing back the
10293 response of the remove beacon filter operation received
10294 from the device
10295
10296 pUserData: user data will be passed back with the
10297 callback
10298
10299 @return Result of the function call
10300*/
10301WDI_Status
10302WDI_RemBeaconFilterReq
10303(
10304 WDI_RemBeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
10305 WDI_RemBeaconFilterCb wdiBeaconFilterCb,
10306 void* pUserData
10307);
10308
10309/**
10310 @brief WDI_SetRSSIThresholdsReq will be called when the upper
10311 MAC wants to set the RSSI thresholds related
10312 configurations while in power save. Upon the call of
10313 this API the WLAN DAL will pack and send a HAL Set RSSI
10314 thresholds request message to the lower RIVA
10315 sub-system if DAL is in state STARTED.
10316
10317 In state BUSY this request will be queued. Request won't
10318 be allowed in any other state.
10319
10320 WDI_PostAssocReq must have been called.
10321
10322 @param pwdiUapsdInfo: the UAPSD parameters as specified by
10323 the Device Interface
10324
10325 wdiSetUapsdAcParamsCb: callback for passing back the
10326 response of the set UAPSD params operation received from
10327 the device
10328
10329 pUserData: user data will be passed back with the
10330 callback
10331
10332 @see WDI_PostAssocReq
10333 @return Result of the function call
10334*/
10335WDI_Status
10336WDI_SetRSSIThresholdsReq
10337(
10338 WDI_SetRSSIThresholdsReqParamsType* pwdiRSSIThresholdsParams,
10339 WDI_SetRSSIThresholdsCb wdiSetRSSIThresholdsCb,
10340 void* pUserData
10341);
10342
10343/**
10344 @brief WDI_HostOffloadReq will be called when the upper MAC
10345 wants to set the filter to minimize unnecessary host
10346 wakeup due to broadcast traffic while in power save.
10347 Upon the call of this API the WLAN DAL will pack and
10348 send a HAL host offload request message to the
10349 lower RIVA sub-system if DAL is in state STARTED.
10350
10351 In state BUSY this request will be queued. Request won't
10352 be allowed in any other state.
10353
10354 WDI_PostAssocReq must have been called.
10355
10356 @param pwdiHostOffloadParams: the host offload as specified
10357 by the Device Interface
10358
10359 wdiHostOffloadCb: callback for passing back the response
10360 of the host offload operation received from the
10361 device
10362
10363 pUserData: user data will be passed back with the
10364 callback
10365
10366 @see WDI_PostAssocReq
10367 @return Result of the function call
10368*/
10369WDI_Status
10370WDI_HostOffloadReq
10371(
10372 WDI_HostOffloadReqParamsType* pwdiHostOffloadParams,
10373 WDI_HostOffloadCb wdiHostOffloadCb,
10374 void* pUserData
10375);
10376
10377/**
10378 @brief WDI_KeepAliveReq will be called when the upper MAC
10379 wants to set the filter to send NULL or unsolicited ARP responses
10380 and minimize unnecessary host wakeups due to while in power save.
10381 Upon the call of this API the WLAN DAL will pack and
10382 send a HAL Keep Alive request message to the
10383 lower RIVA sub-system if DAL is in state STARTED.
10384
10385 In state BUSY this request will be queued. Request won't
10386 be allowed in any other state.
10387
10388 WDI_PostAssocReq must have been called.
10389
10390 @param pwdiKeepAliveParams: the Keep Alive as specified
10391 by the Device Interface
10392
10393 wdiKeepAliveCb: callback for passing back the response
10394 of the Keep Alive operation received from the
10395 device
10396
10397 pUserData: user data will be passed back with the
10398 callback
10399
10400 @see WDI_PostAssocReq
10401 @return Result of the function call
10402*/
10403WDI_Status
10404WDI_KeepAliveReq
10405(
10406 WDI_KeepAliveReqParamsType* pwdiKeepAliveParams,
10407 WDI_KeepAliveCb wdiKeepAliveCb,
10408 void* pUserData
10409);
10410
10411/**
10412 @brief WDI_WowlAddBcPtrnReq will be called when the upper MAC
10413 wants to set the Wowl Bcast ptrn to minimize unnecessary
10414 host wakeup due to broadcast traffic while in power
10415 save. Upon the call of this API the WLAN DAL will pack
10416 and send a HAL Wowl Bcast ptrn request message to the
10417 lower RIVA sub-system if DAL is in state STARTED.
10418
10419 In state BUSY this request will be queued. Request won't
10420 be allowed in any other state.
10421
10422 WDI_PostAssocReq must have been called.
10423
10424 @param pwdiWowlAddBcPtrnParams: the Wowl bcast ptrn as
10425 specified by the Device Interface
10426
10427 wdiWowlAddBcPtrnCb: callback for passing back the
10428 response of the add Wowl bcast ptrn operation received
10429 from the device
10430
10431 pUserData: user data will be passed back with the
10432 callback
10433
10434 @see WDI_PostAssocReq
10435 @return Result of the function call
10436*/
10437WDI_Status
10438WDI_WowlAddBcPtrnReq
10439(
10440 WDI_WowlAddBcPtrnReqParamsType* pwdiWowlAddBcPtrnParams,
10441 WDI_WowlAddBcPtrnCb wdiWowlAddBcPtrnCb,
10442 void* pUserData
10443);
10444
10445/**
10446 @brief WDI_WowlDelBcPtrnReq will be called when the upper MAC
10447 wants to clear the Wowl Bcast ptrn. Upon the call of
10448 this API the WLAN DAL will pack and send a HAL delete
10449 Wowl Bcast ptrn request message to the lower RIVA
10450 sub-system if DAL is in state STARTED.
10451
10452 In state BUSY this request will be queued. Request won't
10453 be allowed in any other state.
10454
10455 WDI_WowlAddBcPtrnReq must have been called.
10456
10457 @param pwdiWowlDelBcPtrnParams: the Wowl bcast ptrn as
10458 specified by the Device Interface
10459
10460 wdiWowlDelBcPtrnCb: callback for passing back the
10461 response of the del Wowl bcast ptrn operation received
10462 from the device
10463
10464 pUserData: user data will be passed back with the
10465 callback
10466
10467 @see WDI_WowlAddBcPtrnReq
10468 @return Result of the function call
10469*/
10470WDI_Status
10471WDI_WowlDelBcPtrnReq
10472(
10473 WDI_WowlDelBcPtrnReqParamsType* pwdiWowlDelBcPtrnParams,
10474 WDI_WowlDelBcPtrnCb wdiWowlDelBcPtrnCb,
10475 void* pUserData
10476);
10477
10478/**
10479 @brief WDI_WowlEnterReq will be called when the upper MAC
10480 wants to enter the Wowl state to minimize unnecessary
10481 host wakeup while in power save. Upon the call of this
10482 API the WLAN DAL will pack and send a HAL Wowl enter
10483 request message to the lower RIVA sub-system if DAL is
10484 in state STARTED.
10485
10486 In state BUSY this request will be queued. Request won't
10487 be allowed in any other state.
10488
10489 WDI_PostAssocReq must have been called.
10490
10491 @param pwdiWowlEnterReqParams: the Wowl enter info as
10492 specified by the Device Interface
10493
10494 wdiWowlEnterReqCb: callback for passing back the
10495 response of the enter Wowl operation received from the
10496 device
10497
10498 pUserData: user data will be passed back with the
10499 callback
10500
10501 @see WDI_PostAssocReq
10502 @return Result of the function call
10503*/
10504WDI_Status
10505WDI_WowlEnterReq
10506(
10507 WDI_WowlEnterReqParamsType* pwdiWowlEnterParams,
10508 WDI_WowlEnterReqCb wdiWowlEnterCb,
10509 void* pUserData
10510);
10511
10512/**
10513 @brief WDI_WowlExitReq will be called when the upper MAC
10514 wants to exit the Wowl state. Upon the call of this API
10515 the WLAN DAL will pack and send a HAL Wowl exit request
10516 message to the lower RIVA sub-system if DAL is in state
10517 STARTED.
10518
10519 In state BUSY this request will be queued. Request won't
10520 be allowed in any other state.
10521
10522 WDI_WowlEnterReq must have been called.
10523
10524 @param pwdiWowlExitReqParams: the Wowl exit info as
10525 specified by the Device Interface
10526
10527 wdiWowlExitReqCb: callback for passing back the response
10528 of the exit Wowl operation received from the device
10529
10530 pUserData: user data will be passed back with the
10531 callback
10532
10533 @see WDI_WowlEnterReq
10534 @return Result of the function call
10535*/
10536WDI_Status
10537WDI_WowlExitReq
10538(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -070010539 WDI_WowlExitReqParamsType* pwdiWowlExitParams,
Jeff Johnson295189b2012-06-20 16:38:30 -070010540 WDI_WowlExitReqCb wdiWowlExitCb,
10541 void* pUserData
10542);
10543
10544/**
10545 @brief WDI_ConfigureAppsCpuWakeupStateReq will be called when
10546 the upper MAC wants to dynamically adjusts the listen
10547 interval based on the WLAN/MSM activity. Upon the call
10548 of this API the WLAN DAL will pack and send a HAL
10549 configure Apps Cpu Wakeup State request message to the
10550 lower RIVA sub-system.
10551
10552 In state BUSY this request will be queued. Request won't
10553 be allowed in any other state.
10554
10555
10556 @param pwdiConfigureAppsCpuWakeupStateReqParams: the
10557 Apps Cpu Wakeup State as specified by the
10558 Device Interface
10559
10560 wdiConfigureAppsCpuWakeupStateCb: callback for passing
10561 back the response of the configure Apps Cpu Wakeup State
10562 operation received from the device
10563
10564 pUserData: user data will be passed back with the
10565 callback
10566
10567 @return Result of the function call
10568*/
10569WDI_Status
10570WDI_ConfigureAppsCpuWakeupStateReq
10571(
10572 WDI_ConfigureAppsCpuWakeupStateReqParamsType *pwdiConfigureAppsCpuWakeupStateReqParams,
10573 WDI_ConfigureAppsCpuWakeupStateCb wdiConfigureAppsCpuWakeupStateCb,
10574 void* pUserData
10575);
10576/**
10577 @brief WDI_FlushAcReq will be called when the upper MAC wants
10578 to to perform a flush operation on a given AC. Upon the
10579 call of this API the WLAN DAL will pack and send a HAL
10580 Flush AC request message to the lower RIVA sub-system if
10581 DAL is 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
10587 @param pwdiFlushAcReqParams: the Flush AC parameters as
10588 specified by the Device Interface
10589
10590 wdiFlushAcRspCb: callback for passing back the response
10591 of the Flush AC operation received from the device
10592
10593 pUserData: user data will be passed back with the
10594 callback
10595
10596 @return Result of the function call
10597*/
10598WDI_Status
10599WDI_FlushAcReq
10600(
10601 WDI_FlushAcReqParamsType* pwdiFlushAcReqParams,
10602 WDI_FlushAcRspCb wdiFlushAcRspCb,
10603 void* pUserData
10604);
10605
10606/**
10607 @brief WDI_BtAmpEventReq will be called when the upper MAC
10608 wants to notify the lower mac on a BT AMP event. This is
10609 to inform BTC-SLM that some BT AMP event occurred. Upon
10610 the call of this API the WLAN DAL will pack and send a
10611 HAL BT AMP event request message to the lower RIVA
10612 sub-system if DAL is in state STARTED.
10613
10614 In state BUSY this request will be queued. Request won't
10615 be allowed in any other state.
10616
10617
10618 @param wdiBtAmpEventReqParams: the BT AMP event parameters as
10619 specified by the Device Interface
10620
10621 wdiBtAmpEventRspCb: callback for passing back the
10622 response of the BT AMP event operation received from the
10623 device
10624
10625 pUserData: user data will be passed back with the
10626 callback
10627
10628 @return Result of the function call
10629*/
10630WDI_Status
10631WDI_BtAmpEventReq
10632(
10633 WDI_BtAmpEventParamsType* pwdiBtAmpEventReqParams,
10634 WDI_BtAmpEventRspCb wdiBtAmpEventRspCb,
10635 void* pUserData
10636);
10637
Jeff Johnsone7245742012-09-05 17:12:55 -070010638#ifdef FEATURE_OEM_DATA_SUPPORT
10639/**
10640 @brief WDI_Start oem data Req will be called when the upper MAC
10641 wants to notify the lower mac on a oem data Req event.Upon
10642 the call of this API the WLAN DAL will pack and send a
10643 HAL OEM Data Req event request message to the lower RIVA
10644 sub-system if DAL is in state STARTED.
10645
10646 In state BUSY this request will be queued. Request won't
10647 be allowed in any other state.
10648
10649
10650 @param pWdiOemDataReqParams: the oem data req parameters as
10651 specified by the Device Interface
10652
10653 wdiStartOemDataRspCb: callback for passing back the
10654 response of the Oem Data Req received from the
10655 device
10656
10657 pUserData: user data will be passed back with the
10658 callback
10659
10660 @return Result of the function call
10661*/
10662WDI_Status
10663WDI_StartOemDataReq
10664(
10665 WDI_oemDataReqParamsType* pWdiOemDataReqParams,
10666 WDI_oemDataRspCb wdiOemDataRspCb,
10667 void* pUserData
10668);
10669#endif
Jeff Johnson295189b2012-06-20 16:38:30 -070010670
10671/*========================================================================
10672
10673 CONTROL APIs
10674
10675==========================================================================*/
10676/**
10677 @brief WDI_SwitchChReq will be called when the upper MAC wants
10678 the WLAN HW to change the current channel of operation.
10679 Upon the call of this API the WLAN DAL will pack and
10680 send a HAL Start request message to the lower RIVA
10681 sub-system if DAL is in state STARTED.
10682
10683 In state BUSY this request will be queued. Request won't
10684 be allowed in any other state.
10685
10686 WDI_Start must have been called.
10687
10688 @param wdiSwitchChReqParams: the switch ch parameters as
10689 specified by the Device Interface
10690
10691 wdiSwitchChRspCb: callback for passing back the response
10692 of the switch ch operation received from the device
10693
10694 pUserData: user data will be passed back with the
10695 callback
10696
10697 @see WDI_Start
10698 @return Result of the function call
10699*/
10700WDI_Status
10701WDI_SwitchChReq
10702(
10703 WDI_SwitchChReqParamsType* pwdiSwitchChReqParams,
10704 WDI_SwitchChRspCb wdiSwitchChRspCb,
10705 void* pUserData
10706);
10707
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -080010708/**
Kalikinkar dhara1e83b772014-02-06 12:59:22 -080010709 @brief WDI_SwitchChReq_V1 is similar to WDI_SwitchChReq except
10710 it also send type source for the channel change.
10711 WDI_Start must have been called.
10712
10713 @param wdiSwitchChReqParams: the switch ch parameters as
10714 specified by the Device Interface
10715
10716 wdiSwitchChRspCb: callback for passing back the response
10717 of the switch ch operation received from the device
10718
10719 pUserData: user data will be passed back with the
10720 callback
10721
10722 @see WDI_Start
10723 @return Result of the function call
10724*/
10725
10726WDI_Status
10727WDI_SwitchChReq_V1
10728(
10729 WDI_SwitchChReqParamsType_V1* pwdiSwitchChReqParams,
10730 WDI_SwitchChRspCb_V1 wdiSwitchChRspCb,
10731 void* pUserData
10732);
10733
10734/**
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -080010735 @brief WDI_UpdateChannelReq will be called when the upper MAC
10736 wants to update the channel list on change in country code.
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -080010737 In state BUSY this request will be queued. Request won't
10738 be allowed in any other state.
10739
10740 WDI_UpdateChannelReq must have been called.
10741
10742 @param wdiUpdateChannelReqParams: the updated channel parameters
10743 as specified by the Device Interface
10744
10745 wdiUpdateChannelRspCb: callback for passing back the
10746 response of the update channel operation received from
10747 the device
10748
10749 pUserData: user data will be passed back with the
10750 callback
10751
10752 @return Result of the function call
10753*/
10754WDI_Status
10755WDI_UpdateChannelReq
10756(
10757 WDI_UpdateChReqParamsType *pwdiUpdateChannelReqParams,
10758 WDI_UpdateChannelRspCb wdiUpdateChannelRspCb,
10759 void* pUserData
10760);
Jeff Johnson295189b2012-06-20 16:38:30 -070010761
10762/**
10763 @brief WDI_ConfigSTAReq will be called when the upper MAC
10764 wishes to add or update a STA in HW. Upon the call of
10765 this API the WLAN DAL will pack and send a HAL Start
10766 message request message to the lower RIVA sub-system if
10767 DAL is in state STARTED.
10768
10769 In state BUSY this request will be queued. Request won't
10770 be allowed in any other state.
10771
10772 WDI_Start must have been called.
10773
10774 @param wdiConfigSTAReqParams: the config STA parameters as
10775 specified by the Device Interface
10776
10777 wdiConfigSTARspCb: callback for passing back the
10778 response of the config STA operation received from the
10779 device
10780
10781 pUserData: user data will be passed back with the
10782 callback
10783
10784 @see WDI_Start
10785 @return Result of the function call
10786*/
10787WDI_Status
10788WDI_ConfigSTAReq
10789(
10790 WDI_ConfigSTAReqParamsType* pwdiConfigSTAReqParams,
10791 WDI_ConfigSTARspCb wdiConfigSTARspCb,
10792 void* pUserData
10793);
10794
10795/**
10796 @brief WDI_SetLinkStateReq will be called when the upper MAC
10797 wants to change the state of an ongoing link. Upon the
10798 call of this API the WLAN DAL will pack and send a HAL
10799 Start message request message to the lower RIVA
10800 sub-system if DAL is in state STARTED.
10801
10802 In state BUSY this request will be queued. Request won't
10803 be allowed in any other state.
10804
10805 WDI_JoinReq must have been called.
10806
10807 @param wdiSetLinkStateReqParams: the set link state parameters
10808 as specified by the Device Interface
10809
10810 wdiSetLinkStateRspCb: callback for passing back the
10811 response of the set link state operation received from
10812 the device
10813
10814 pUserData: user data will be passed back with the
10815 callback
10816
10817 @see WDI_JoinStartReq
10818 @return Result of the function call
10819*/
10820WDI_Status
10821WDI_SetLinkStateReq
10822(
10823 WDI_SetLinkReqParamsType* pwdiSetLinkStateReqParams,
10824 WDI_SetLinkStateRspCb wdiSetLinkStateRspCb,
10825 void* pUserData
10826);
10827
10828
10829/**
10830 @brief WDI_GetStatsReq will be called when the upper MAC wants
10831 to get statistics (MIB counters) from the device. Upon
10832 the call of this API the WLAN DAL will pack and send a
10833 HAL Start request message to the lower RIVA sub-system
10834 if DAL is in state STARTED.
10835
10836 In state BUSY this request will be queued. Request won't
10837 be allowed in any other state.
10838
10839 WDI_Start must have been called.
10840
10841 @param wdiGetStatsReqParams: the stats parameters to get as
10842 specified by the Device Interface
10843
10844 wdiGetStatsRspCb: callback for passing back the response
10845 of the get stats operation received from the device
10846
10847 pUserData: user data will be passed back with the
10848 callback
10849
10850 @see WDI_Start
10851 @return Result of the function call
10852*/
10853WDI_Status
10854WDI_GetStatsReq
10855(
10856 WDI_GetStatsReqParamsType* pwdiGetStatsReqParams,
10857 WDI_GetStatsRspCb wdiGetStatsRspCb,
10858 void* pUserData
10859);
10860
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -080010861#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -080010862/**
10863 @brief WDI_GetRoamRssiReq will be called when the upper MAC wants
10864 to get roam rssi from the device. Upon
10865 the call of this API the WLAN DAL will pack and send a
10866 HAL Start request message to the lower RIVA sub-system
10867 if DAL is in state STARTED.
10868
10869 In state BUSY this request will be queued. Request won't
10870 be allowed in any other state.
10871
10872 WDI_Start must have been called.
10873
10874 @param wdiGetRoamRssiReqParams: the stats parameters to get as
10875 specified by the Device Interface
10876
10877 wdiGetRoamRssispCb: callback for passing back the response
10878 of the get stats operation received from the device
10879
10880 pUserData: user data will be passed back with the
10881 callback
10882
10883 @see WDI_Start
10884 @return Result of the function call
10885*/
10886WDI_Status
10887WDI_GetRoamRssiReq
10888(
10889 WDI_GetRoamRssiReqParamsType* pwdiGetRoamRssiReqParams,
10890 WDI_GetRoamRssiRspCb wdiGetRoamRssiRspCb,
10891 void* pUserData
10892);
10893#endif
Jeff Johnson295189b2012-06-20 16:38:30 -070010894
10895/**
10896 @brief WDI_UpdateCfgReq will be called when the upper MAC when
10897 it wishes to change the configuration of the WLAN
10898 Device. Upon the call of this API the WLAN DAL will pack
10899 and send a HAL Update CFG request message to the lower
10900 RIVA sub-system if DAL is in state STARTED.
10901
10902 In state BUSY this request will be queued. Request won't
10903 be allowed in any other state.
10904
10905 WDI_Start must have been called.
10906
10907 @param wdiUpdateCfgReqParams: the update cfg parameters as
10908 specified by the Device Interface
10909
10910 wdiUpdateCfgsRspCb: callback for passing back the
10911 response of the update cfg operation received from the
10912 device
10913
10914 pUserData: user data will be passed back with the
10915 callback
10916
10917 @see WDI_Start
10918 @return Result of the function call
10919*/
10920WDI_Status
10921WDI_UpdateCfgReq
10922(
10923 WDI_UpdateCfgReqParamsType* pwdiUpdateCfgReqParams,
10924 WDI_UpdateCfgRspCb wdiUpdateCfgsRspCb,
10925 void* pUserData
10926);
10927
10928/**
10929 @brief WDI_NvDownloadReq will be called by the UMAC to dowload the NV blob
10930 to the NV memory.
10931
10932 @param wdiNvDownloadReqParams: the NV Download parameters as specified by
10933 the Device Interface
10934
10935 wdiNvDownloadRspCb: callback for passing back the response of
10936 the NV Download operation received from the device
10937
10938 pUserData: user data will be passed back with the
10939 callback
10940
10941 @see WDI_PostAssocReq
10942 @return Result of the function call
10943*/
10944WDI_Status
10945WDI_NvDownloadReq
10946(
10947 WDI_NvDownloadReqParamsType* pwdiNvDownloadReqParams,
10948 WDI_NvDownloadRspCb wdiNvDownloadRspCb,
10949 void* pUserData
10950);
10951/**
10952 @brief WDI_AddBAReq will be called when the upper MAC has setup
10953 successfully a BA session and needs to notify the HW for
10954 the appropriate settings to take place. Upon the call of
10955 this API the WLAN DAL will pack and send a HAL Add BA
10956 request message to the lower RIVA sub-system if DAL is
10957 in state STARTED.
10958
10959 In state BUSY this request will be queued. Request won't
10960 be allowed in any other state.
10961
10962 WDI_PostAssocReq must have been called.
10963
10964 @param wdiAddBAReqParams: the add BA parameters as specified by
10965 the Device Interface
10966
10967 wdiAddBARspCb: callback for passing back the response of
10968 the add BA operation received from the device
10969
10970 pUserData: user data will be passed back with the
10971 callback
10972
10973 @see WDI_PostAssocReq
10974 @return Result of the function call
10975*/
10976WDI_Status
10977WDI_AddBAReq
10978(
10979 WDI_AddBAReqParamsType* pwdiAddBAReqParams,
10980 WDI_AddBARspCb wdiAddBARspCb,
10981 void* pUserData
10982);
10983
10984/**
10985 @brief WDI_TriggerBAReq will be called when the upper MAC has setup
10986 successfully a BA session and needs to notify the HW for
10987 the appropriate settings to take place. Upon the call of
10988 this API the WLAN DAL will pack and send a HAL Add BA
10989 request message to the lower RIVA sub-system if DAL is
10990 in state STARTED.
10991
10992 In state BUSY this request will be queued. Request won't
10993 be allowed in any other state.
10994
10995 WDI_PostAssocReq must have been called.
10996
10997 @param wdiAddBAReqParams: the add BA parameters as specified by
10998 the Device Interface
Abhishek Singhac9abe62016-02-05 18:07:41 +053010999 baReqParamUserDataSize: user data size of wdiAddBAReqParams
Jeff Johnson295189b2012-06-20 16:38:30 -070011000 wdiAddBARspCb: callback for passing back the response of
11001 the add BA operation received from the device
11002
11003 pUserData: user data will be passed back with the
11004 callback
11005
11006 @see WDI_PostAssocReq
11007 @return Result of the function call
11008*/
11009WDI_Status
11010WDI_TriggerBAReq
11011(
11012 WDI_TriggerBAReqParamsType* pwdiTriggerBAReqParams,
Abhishek Singhac9abe62016-02-05 18:07:41 +053011013 wpt_uint8 baReqParamUserDataSize,
Jeff Johnson295189b2012-06-20 16:38:30 -070011014 WDI_TriggerBARspCb wdiTriggerBARspCb,
11015 void* pUserData
11016);
11017
11018
11019/**
11020 @brief WDI_IsHwFrameTxTranslationCapable checks to see if HW
11021 frame xtl is enabled for a particular STA.
11022
11023 WDI_PostAssocReq must have been called.
11024
11025 @param uSTAIdx: STA index
11026
11027 @see WDI_PostAssocReq
11028 @return Result of the function call
11029*/
11030wpt_boolean WDI_IsHwFrameTxTranslationCapable
11031(
11032 wpt_uint8 uSTAIdx
11033);
11034
Katya Nigam6201c3e2014-05-27 17:51:42 +053011035
11036/**
11037 @brief WDI_IsSelfSTA - check if staid is self sta index
11038
11039 @param pWDICtx: pointer to the WLAN DAL context
11040 ucSTAIdx: station index
11041
11042 @return Result of the function call
11043*/
11044
11045wpt_boolean
11046WDI_IsSelfSTA
11047(
11048 void* pWDICtx,
11049 wpt_uint8 ucSTAIdx
11050);
11051
11052
Jeff Johnson295189b2012-06-20 16:38:30 -070011053#ifdef WLAN_FEATURE_VOWIFI_11R
11054/**
11055 @brief WDI_AggrAddTSReq will be called when the upper MAC to inform
11056 the device of a successful add TSpec negotiation for 11r. HW
11057 needs to receive the TSpec Info from the UMAC in order
11058 to configure properly the QoS data traffic. Upon the
11059 call of this API the WLAN DAL will pack and send a HAL
11060 Aggregated Add TS request message to the lower RIVA sub-system if
11061 DAL is in state STARTED.
11062
11063 In state BUSY this request will be queued. Request won't
11064 be allowed in any other state.
11065
11066 WDI_PostAssocReq must have been called.
11067
11068 @param wdiAggrAddTsReqParams: the add TS parameters as specified by
11069 the Device Interface
11070
11071 wdiAggrAddTsRspCb: callback for passing back the response of
11072 the add TS operation received from the device
11073
11074 pUserData: user data will be passed back with the
11075 callback
11076
11077 @see WDI_PostAssocReq
11078 @return Result of the function call
11079*/
11080WDI_Status
11081WDI_AggrAddTSReq
11082(
11083 WDI_AggrAddTSReqParamsType* pwdiAddTsReqParams,
11084 WDI_AggrAddTsRspCb wdiAggrAddTsRspCb,
11085 void* pUserData
11086);
11087#endif /* WLAN_FEATURE_VOWIFI_11R */
11088/**
11089 @brief WDI_STATableInit - Initializes the STA tables.
11090 Allocates the necesary memory.
11091
11092
11093 @param pWDICtx: pointer to the WLAN DAL context
11094
11095 @see
11096 @return Result of the function call
11097*/
11098
11099WDI_Status WDI_StubRunTest
11100(
11101 wpt_uint8 ucTestNo
11102);
11103
Jeff Johnson295189b2012-06-20 16:38:30 -070011104/**
11105 @brief WDI_FTMCommandReq -
11106 Route FTMRequest Command to HAL
11107
11108 @param ftmCommandReq: FTM request command body
11109 @param ftmCommandRspCb: Response CB
11110 @param pUserData: User data will be included with CB
11111
11112 @return Result of the function call
11113*/
11114WDI_Status WDI_FTMCommandReq
11115(
11116 WDI_FTMCommandReqType *ftmCommandReq,
11117 WDI_FTMCommandRspCb ftmCommandRspCb,
11118 void *pUserData
11119);
Jeff Johnson295189b2012-06-20 16:38:30 -070011120
11121/**
11122 @brief WDI_HostResumeReq will be called
11123
11124 In state BUSY this request will be queued. Request won't
11125 be allowed in any other state.
11126
11127
11128 @param pwdiResumeReqParams: as specified by
11129 the Device Interface
11130
11131 wdiResumeReqRspCb: callback for passing back the response of
11132 the Resume Req received from the device
11133
11134 pUserData: user data will be passed back with the
11135 callback
11136
11137 @see WDI_PostAssocReq
11138 @return Result of the function call
11139*/
11140WDI_Status
11141WDI_HostResumeReq
11142(
11143 WDI_ResumeParamsType* pwdiResumeReqParams,
11144 WDI_HostResumeEventRspCb wdiResumeReqRspCb,
11145 void* pUserData
11146);
11147
11148/**
11149 @brief WDI_GetAvailableResCount - Function to get the available resource
11150 for data and managemnt frames.
11151
11152 @param pContext: pointer to the WDI context
11153 @param wdiResPool: type of resource pool requesting
11154 @see
11155 @return Result of the function call
11156*/
11157
11158wpt_uint32 WDI_GetAvailableResCount
11159(
11160 void *pContext,
11161 WDI_ResPoolType wdiResPool
11162);
11163
11164/**
11165 @brief WDI_SetAddSTASelfReq will be called when the
11166 UMAC wanted to add self STA while opening any new session
11167 In state BUSY this request will be queued. Request won't
11168 be allowed in any other state.
11169
11170
11171 @param pwdiAddSTASelfParams: the add self sta parameters as
11172 specified by the Device Interface
11173
11174 pUserData: user data will be passed back with the
11175 callback
11176
11177 @see
11178 @return Result of the function call
11179*/
11180WDI_Status
11181WDI_AddSTASelfReq
11182(
11183 WDI_AddSTASelfReqParamsType* pwdiAddSTASelfReqParams,
11184 WDI_AddSTASelfParamsRspCb wdiAddSTASelfReqParamsRspCb,
11185 void* pUserData
11186);
11187
11188
11189/**
11190 @brief WDI_DelSTASelfReq will be called .
11191
11192 @param WDI_DelSTASelfReqParamsType
11193
11194 WDI_DelSTASelfRspCb: callback for passing back the
11195 response of the del sta self operation received from the
11196 device
11197
11198 pUserData: user data will be passed back with the
11199 callback
11200
11201 @see WDI_PostAssocReq
11202 @return Result of the function call
11203*/
11204WDI_Status
11205WDI_DelSTASelfReq
11206(
11207 WDI_DelSTASelfReqParamsType* pwdiDelStaSelfParams,
11208 WDI_DelSTASelfRspCb wdiDelStaSelfRspCb,
11209 void* pUserData
11210);
11211
11212/**
11213 @brief WDI_HostSuspendInd
11214
11215 Suspend Indication from the upper layer will be sent
11216 down to HAL
11217
11218 @param WDI_SuspendParamsType
11219
11220 @see
11221
11222 @return Status of the request
11223*/
11224WDI_Status
11225WDI_HostSuspendInd
11226(
11227 WDI_SuspendParamsType* pwdiSuspendIndParams
11228);
11229
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -080011230/**
11231 @brief WDI_TrafficStatsInd
11232
11233 Traffic Stats from the upper layer will be sent
11234 down to HAL
11235
11236 @param WDI_TrafficStatsIndType
11237
11238 @see
11239
11240 @return Status of the request
11241*/
11242WDI_Status
11243WDI_TrafficStatsInd
11244(
11245 WDI_TrafficStatsIndType *pWdiTrafficStatsIndParams
11246);
11247
Chet Lanctot186b5732013-03-18 10:26:30 -070011248#ifdef WLAN_FEATURE_11W
11249/**
11250 @brief WDI_ExcludeUnencryptedInd
11251 Register with HAL to receive/drop unencrypted frames
11252
11253 @param WDI_ExcludeUnencryptIndType
11254
11255 @see
11256
11257 @return Status of the request
11258*/
11259WDI_Status
11260WDI_ExcludeUnencryptedInd
11261(
11262 WDI_ExcludeUnencryptIndType *pWdiExcUnencParams
11263);
11264#endif
11265
Yue Mab9c86f42013-08-14 15:59:08 -070011266/**
11267 @brief WDI_AddPeriodicTxPtrnInd
11268
11269 @param WDI_AddPeriodicTxPtrnParamsType
11270
11271 @see
11272
11273 @return Status of the request
11274*/
11275WDI_Status
11276WDI_AddPeriodicTxPtrnInd
11277(
11278 WDI_AddPeriodicTxPtrnParamsType *addPeriodicTxPtrnParams
11279);
11280
11281/**
11282 @brief WDI_DelPeriodicTxPtrnInd
11283
11284 @param WDI_DelPeriodicTxPtrnParamsType
11285
11286 @see
11287
11288 @return Status of the request
11289*/
11290WDI_Status
11291WDI_DelPeriodicTxPtrnInd
11292(
11293 WDI_DelPeriodicTxPtrnParamsType *delPeriodicTxPtrnParams
11294);
11295
Jeff Johnson295189b2012-06-20 16:38:30 -070011296#ifdef FEATURE_WLAN_SCAN_PNO
11297/**
11298 @brief WDI_SetPreferredNetworkList
11299
11300 @param pwdiPNOScanReqParams: the Set PNO as specified
11301 by the Device Interface
11302
11303 wdiPNOScanCb: callback for passing back the response
11304 of the Set PNO operation received from the
11305 device
11306
11307 pUserData: user data will be passed back with the
11308 callback
11309
11310 @see WDI_PostAssocReq
11311 @return Result of the function call
11312*/
11313WDI_Status
11314WDI_SetPreferredNetworkReq
11315(
11316 WDI_PNOScanReqParamsType* pwdiPNOScanReqParams,
11317 WDI_PNOScanCb wdiPNOScanCb,
11318 void* pUserData
11319);
11320
11321/**
11322 @brief WDI_SetRssiFilterReq
11323
11324 @param pwdiRssiFilterReqParams: the Set RSSI Filter as
11325 specified by the Device Interface
11326
11327 wdiRssiFilterCb: callback for passing back the response
11328 of the Set RSSI Filter operation received from the
11329 device
11330
11331 pUserData: user data will be passed back with the
11332 callback
11333
11334 @see WDI_PostAssocReq
11335 @return Result of the function call
11336*/
11337WDI_Status
11338WDI_SetRssiFilterReq
11339(
11340 WDI_SetRssiFilterReqParamsType* pwdiRssiFilterReqParams,
11341 WDI_RssiFilterCb wdiRssiFilterCb,
11342 void* pUserData
11343);
11344
11345/**
11346 @brief WDI_UpdateScanParams
11347
11348 @param pwdiUpdateScanParamsInfoType: the Update Scan Params as specified
11349 by the Device Interface
11350
11351 wdiUpdateScanParamsCb: callback for passing back the response
11352 of the Set PNO operation received from the
11353 device
11354
11355 pUserData: user data will be passed back with the
11356 callback
11357
11358 @see WDI_PostAssocReq
11359 @return Result of the function call
11360*/
11361WDI_Status
11362WDI_UpdateScanParamsReq
11363(
11364 WDI_UpdateScanParamsInfoType* pwdiUpdateScanParamsInfoType,
11365 WDI_UpdateScanParamsCb wdiUpdateScanParamsCb,
11366 void* pUserData
11367);
11368#endif // FEATURE_WLAN_SCAN_PNO
11369
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070011370#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
11371/**
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070011372 @brief WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070011373
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070011374 @param pwdiRoamScanOffloadReqParams: Start Roam Candidate Lookup Req as specified
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070011375 by the Device Interface
11376
11377 wdiRoamOffloadScanCb: callback for passing back the response
11378 of the Start Roam Candidate Lookup operation received from the
11379 device
11380
11381 pUserData: user data will be passed back with the
11382 callback
11383
11384 @return Result of the function call
11385*/
11386WDI_Status
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070011387WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070011388(
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070011389 WDI_RoamScanOffloadReqParamsType *pwdiRoamScanOffloadReqParams,
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070011390 WDI_RoamOffloadScanCb wdiRoamOffloadScancb,
11391 void* pUserData
11392);
Kapil Gupta04ab1992016-06-26 13:36:51 +053011393
11394WDI_Status
11395WDI_PERRoamScanOffloadReq
11396(
11397 WDI_PERRoamOffloadScanInfo *pwdiRoamScanOffloadReqParams,
11398 WDI_PERRoamOffloadScanCb wdiRoamOffloadScancb,
11399 void* pUserData
11400);
11401
11402WDI_Status
11403WDI_PERRoamScanTriggerReq
11404(
11405 WDI_PERRoamTriggerScanInfo *pwdiRoamScanTriggerReqParams,
11406 WDI_PERRoamTriggerScanCb wdiRoamTriggerScancb,
11407 void* pUserData
11408);
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070011409#endif
11410
Jeff Johnson295189b2012-06-20 16:38:30 -070011411/**
11412 @brief WDI_SetTxPerTrackingReq will be called when the upper MAC
11413 wants to set the Tx Per Tracking configurations.
11414 Upon the call of this API the WLAN DAL will pack
11415 and send a HAL Set Tx Per Tracking request message to the
11416 lower RIVA sub-system if DAL is in state STARTED.
11417
11418 In state BUSY this request will be queued. Request won't
11419 be allowed in any other state.
11420
11421 @param wdiSetTxPerTrackingConf: the Set Tx PER Tracking configurations as
11422 specified by the Device Interface
11423
11424 wdiSetTxPerTrackingCb: callback for passing back the
11425 response of the set Tx PER Tracking configurations operation received
11426 from the device
11427
11428 pUserData: user data will be passed back with the
11429 callback
11430
11431 @return Result of the function call
11432*/
11433WDI_Status
11434WDI_SetTxPerTrackingReq
11435(
11436 WDI_SetTxPerTrackingReqParamsType* pwdiSetTxPerTrackingReqParams,
11437 WDI_SetTxPerTrackingRspCb pwdiSetTxPerTrackingRspCb,
11438 void* pUserData
11439);
11440
11441/**
11442 @brief WDI_SetTmLevelReq
11443 If HW Thermal condition changed, driver should react based on new
11444 HW thermal condition.
11445
11446 @param pwdiSetTmLevelReq: New thermal condition information
11447
11448 pwdiSetTmLevelRspCb: callback
11449
11450 usrData: user data will be passed back with the
11451 callback
11452
11453 @return Result of the function call
11454*/
11455WDI_Status
11456WDI_SetTmLevelReq
11457(
11458 WDI_SetTmLevelReqType *pwdiSetTmLevelReq,
11459 WDI_SetTmLevelCb pwdiSetTmLevelRspCb,
11460 void *usrData
11461);
11462
11463#ifdef WLAN_FEATURE_PACKET_FILTERING
11464/**
11465 @brief WDI_8023MulticastListReq
11466
11467 @param pwdiRcvFltPktSetMcListReqInfo: the Set 8023 Multicast
11468 List as specified by the Device Interface
11469
11470 wdi8023MulticastListCallback: callback for passing back
11471 the response of the Set 8023 Multicast List operation
11472 received from the device
11473
11474 pUserData: user data will be passed back with the
11475 callback
11476
11477 @see WDI_PostAssocReq
11478 @return Result of the function call
11479*/
11480WDI_Status
11481WDI_8023MulticastListReq
11482(
11483 WDI_RcvFltPktSetMcListReqParamsType* pwdiRcvFltPktSetMcListReqInfo,
11484 WDI_8023MulticastListCb wdi8023MulticastListCallback,
11485 void* pUserData
11486);
11487
11488/**
11489 @brief WDI_ReceiveFilterSetFilterReq
11490
11491 @param pwdiSetRcvPktFilterReqInfo: the Set Receive Filter as
11492 specified by the Device Interface
11493
11494 wdiReceiveFilterSetFilterReqCallback: callback for
11495 passing back the response of the Set Receive Filter
11496 operation received from the device
11497
11498 pUserData: user data will be passed back with the
11499 callback
11500
11501 @see WDI_PostAssocReq
11502 @return Result of the function call
11503*/
11504WDI_Status
11505WDI_ReceiveFilterSetFilterReq
11506(
11507 WDI_SetRcvPktFilterReqParamsType* pwdiSetRcvPktFilterReqInfo,
11508 WDI_ReceiveFilterSetFilterCb wdiReceiveFilterSetFilterReqCallback,
11509 void* pUserData
11510);
11511
11512/**
11513 @brief WDI_PCFilterMatchCountReq
11514
11515 @param pwdiRcvFltPktMatchCntReqInfo: get D0 PC Filter Match
11516 Count
11517
11518 wdiPCFilterMatchCountCallback: callback for passing back
11519 the response of the D0 PC Filter Match Count operation
11520 received from the device
11521
11522 pUserData: user data will be passed back with the
11523 callback
11524
11525 @see WDI_PostAssocReq
11526 @return Result of the function call
11527*/
11528WDI_Status
11529WDI_FilterMatchCountReq
11530(
11531 WDI_RcvFltPktMatchCntReqParamsType* pwdiRcvFltPktMatchCntReqInfo,
11532 WDI_FilterMatchCountCb wdiFilterMatchCountCallback,
11533 void* pUserData
11534);
11535
11536/**
11537 @brief WDI_ReceiveFilterClearFilterReq
11538
11539 @param pwdiRcvFltPktClearReqInfo: the Clear Filter as
11540 specified by the Device Interface
11541
11542 wdiReceiveFilterClearFilterCallback: callback for
11543 passing back the response of the Clear Filter
11544 operation received from the device
11545
11546 pUserData: user data will be passed back with the
11547 callback
11548
11549 @see WDI_PostAssocReq
11550 @return Result of the function call
11551*/
11552WDI_Status
11553WDI_ReceiveFilterClearFilterReq
11554(
11555 WDI_RcvFltPktClearReqParamsType* pwdiRcvFltPktClearReqInfo,
11556 WDI_ReceiveFilterClearFilterCb wdiReceiveFilterClearFilterCallback,
11557 void* pUserData
11558);
11559#endif // WLAN_FEATURE_PACKET_FILTERING
11560
11561/**
11562 @brief WDI_HALDumpCmdReq
11563 Post HAL DUMP Command Event
11564
11565 @param halDumpCmdReqParams: Hal Dump Command Body
11566 @param halDumpCmdRspCb: callback for passing back the
11567 response
11568 @param pUserData: Client Data
11569
11570 @see
11571 @return Result of the function call
11572*/
11573WDI_Status WDI_HALDumpCmdReq(
11574 WDI_HALDumpCmdReqParamsType *halDumpCmdReqParams,
11575 WDI_HALDumpCmdRspCb halDumpCmdRspCb,
11576 void *pUserData
11577);
11578
11579
11580/**
11581 @brief WDI_SetPowerParamsReq
11582
11583 @param pwdiPowerParamsReqParams: the Set Power Params as
11584 specified by the Device Interface
11585
11586 wdiPowerParamsCb: callback for passing back the response
11587 of the Set Power Params operation received from the
11588 device
11589
11590 pUserData: user data will be passed back with the
11591 callback
11592
11593 @return Result of the function call
11594*/
11595WDI_Status
11596WDI_SetPowerParamsReq
11597(
11598 WDI_SetPowerParamsReqParamsType* pwdiPowerParamsReqParams,
11599 WDI_SetPowerParamsCb wdiPowerParamsCb,
11600 void* pUserData
11601);
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +053011602/**
11603 @brief WDI_dhcpStartInd
11604 Forward the DHCP Start event
11605
11606 @param
11607
11608 wdiDHCPInd: device mode and MAC address is passed
11609
11610 @see
11611 @return Result of the function call
11612*/
11613
11614WDI_Status
11615WDI_dhcpStartInd
11616(
11617 WDI_DHCPInd *wdiDHCPInd
11618);
11619/**
11620 @brief WDI_dhcpStopReq
11621 Forward the DHCP Stop event
11622
11623 @param
11624
11625 wdiDHCPInd: device mode and MAC address is passed
11626
11627 @see
11628 @return Result of the function call
11629*/
11630
11631WDI_Status
11632WDI_dhcpStopInd
11633(
11634 WDI_DHCPInd *wdiDHCPInd
11635);
Jeff Johnson295189b2012-06-20 16:38:30 -070011636
Abhishek Singh00b71972016-01-07 10:51:04 +053011637#ifdef WLAN_FEATURE_RMC
11638WDI_Status
11639WDI_RmcRulerReq
11640(
11641 WDI_RmcRulerReqParams *wdiRmcRulerReqParams,
11642 WDI_RmcRulerRspCb rmcRulerRspCb,
11643 void *usrData
11644);
11645
11646WDI_Status
11647WDI_RmcUpdateInd
11648(
11649 WDI_RmcUpdateIndParams *wdiRmcUpdateIndParams
11650);
11651#endif /* WLAN_FEATURE_RMC */
11652
Chittajit Mitraf5413a42013-10-18 14:20:08 -070011653/**
11654 @brief WDI_RateUpdateInd will be called when the upper MAC
11655 requests the device to update rates.
11656
11657 In state BUSY this request will be queued. Request won't
11658 be allowed in any other state.
11659
11660
11661 @param wdiRateUpdateIndParams
11662
11663
11664 @see WDI_Start
11665 @return Result of the function call
11666*/
11667WDI_Status
11668WDI_RateUpdateInd
11669(
11670 WDI_RateUpdateIndParams *wdiRateUpdateIndParams
11671);
11672
Abhishek Singh00b71972016-01-07 10:51:04 +053011673#ifdef WLAN_FEATURE_RMC
11674/**
11675 @brief WDI_TXFailMonitorStartStopInd
11676 Forward TX monitor start/stop event
11677
11678 @param
11679
11680 WDI_TXFailMonitorInd
11681
11682 @see
11683 @return Result of the function call
11684*/
11685
11686WDI_Status
11687WDI_TXFailMonitorStartStopInd
11688(
11689 WDI_TXFailMonitorInd *wdiTXFailMonitorInd
11690);
11691#endif /* WLAN_FEATURE_RMC */
11692
Jeff Johnson295189b2012-06-20 16:38:30 -070011693#ifdef WLAN_FEATURE_GTK_OFFLOAD
11694/**
11695 @brief WDI_GTKOffloadReq will be called when the upper MAC
11696 wants to set GTK Rekey Counter while in power save. Upon
11697 the call of this API the WLAN DAL will pack and send a
11698 HAL GTK offload request message to the lower RIVA
11699 sub-system if DAL is in state STARTED.
11700
11701 In state BUSY this request will be queued. Request won't
11702 be allowed in any other state.
11703
11704 WDI_PostAssocReq must have been called.
11705
11706 @param pwdiGtkOffloadParams: the GTK offload as specified
11707 by the Device Interface
11708
11709 wdiGtkOffloadCb: callback for passing back the response
11710 of the GTK offload operation received from the device
11711
11712 pUserData: user data will be passed back with the
11713 callback
11714
11715 @see WDI_PostAssocReq
11716 @return Result of the function call
11717*/
11718WDI_Status
11719WDI_GTKOffloadReq
11720(
11721 WDI_GtkOffloadReqMsg* pwdiGtkOffloadReqMsg,
11722 WDI_GtkOffloadCb wdiGtkOffloadCb,
11723 void* pUserData
11724);
11725
11726/**
11727 @brief WDI_GTKOffloadGetInfoReq will be called when the upper
11728 MAC wants to get GTK Rekey Counter while in power save.
11729 Upon the call of this API the WLAN DAL will pack and
11730 send a HAL GTK offload request message to the lower RIVA
11731 sub-system if DAL is in state STARTED.
11732
11733 In state BUSY this request will be queued. Request won't
11734 be allowed in any other state.
11735
11736 WDI_PostAssocReq must have been called.
11737
11738 @param pwdiGtkOffloadGetInfoReqMsg: the GTK Offload
11739 Information Message as specified by the
11740 Device Interface
11741
11742 wdiGtkOffloadGetInfoCb: callback for passing back the
11743 response of the GTK offload operation received from the
11744 device
11745
11746 pUserData: user data will be passed back with the
11747 callback
11748
11749 @see WDI_PostAssocReq
11750 @return Result of the function call
11751*/
11752WDI_Status
11753WDI_GTKOffloadGetInfoReq
11754(
11755 WDI_GtkOffloadGetInfoReqMsg* pwdiGtkOffloadGetInfoReqMsg,
11756 WDI_GtkOffloadGetInfoCb wdiGtkOffloadGetInfoCb,
11757 void* pUserData
11758);
11759#endif // WLAN_FEATURE_GTK_OFFLOAD
11760
11761/**
11762 @brief WDI_featureCapsExchangeReq
11763 Post feature capability bitmap exchange event.
11764 Host will send its own capability to FW in this req and
11765 expect FW to send its capability back as a bitmap in Response
11766
11767 @param
11768
11769 wdiFeatCapsExcRspCb: callback called on getting the response.
11770 It is kept to mantain similarity between WDI reqs and if needed, can
11771 be used in future. Currently, It is set to NULL
11772
11773 pUserData: user data will be passed back with the
11774 callback
11775
11776 @see
11777 @return Result of the function call
11778*/
11779WDI_Status
11780WDI_featureCapsExchangeReq
11781(
11782 WDI_featureCapsExchangeCb wdiFeatureCapsExchangeCb,
11783 void* pUserData
11784);
11785
11786/**
Yathish9f22e662012-12-10 14:21:35 -080011787 @brief Disable Active mode offload in Host
11788
11789 @param void
11790 @see
11791 @return void
11792*/
11793void
11794WDI_disableCapablityFeature(wpt_uint8 feature_index);
11795
11796
11797/**
Jeff Johnson295189b2012-06-20 16:38:30 -070011798 @brief WDI_getHostWlanFeatCaps
11799 WDI API that returns whether the feature passed to it as enum value in
11800 "placeHolderInCapBitmap" is supported by Host or not. It uses WDI global
11801 variable storing host capability bitmap to find this. This can be used by
11802 other moduels to decide certain things like call different APIs based on
11803 whether a particular feature is supported.
11804
11805 @param
11806
11807 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap in wlan_hal_msg.h.
11808
11809 @see
11810 @return
11811 0 - if the feature is NOT supported in host
11812 any non-zero value - if the feature is SUPPORTED in host.
11813*/
11814wpt_uint8 WDI_getHostWlanFeatCaps(wpt_uint8 feat_enum_value);
11815
11816/**
11817 @brief WDI_getFwWlanFeatCaps
11818 WDI API that returns whether the feature passed to it as enum value in
11819 "placeHolderInCapBitmap" is supported by FW or not. It uses WDI global
11820 variable storing host capability bitmap to find this. This can be used by
11821 other moduels to decide certain things like call different APIs based on
11822 whether a particular feature is supported.
11823
11824 @param
11825
Jeff Johnsone7245742012-09-05 17:12:55 -070011826 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap
11827 in wlan_hal_msg.h.
Jeff Johnson295189b2012-06-20 16:38:30 -070011828
11829 @see
11830 @return
11831 0 - if the feature is NOT supported in FW
11832 any non-zero value - if the feature is SUPPORTED in FW.
11833*/
11834wpt_uint8 WDI_getFwWlanFeatCaps(wpt_uint8 feat_enum_value);
11835
11836/**
11837 @brief WDI_GetWcnssCompiledApiVersion - Function to get wcnss compiled
11838 api version
11839
11840 @param WDI_WlanVersionType: Wlan version structure
11841 @see
11842 @return none
11843*/
11844
11845void WDI_GetWcnssCompiledApiVersion
11846(
11847 WDI_WlanVersionType *pWcnssApiVersion
11848);
11849
Mohit Khanna4a70d262012-09-11 16:30:12 -070011850#ifdef WLAN_FEATURE_11AC
11851WDI_Status
11852WDI_UpdateVHTOpModeReq
11853(
11854 WDI_UpdateVHTOpMode *pData,
11855 WDI_UpdateVHTOpModeCb wdiUpdateVHTOpModeCb,
11856 void* pUserData
11857);
Jeff Johnson295189b2012-06-20 16:38:30 -070011858
Mohit Khanna4a70d262012-09-11 16:30:12 -070011859#endif
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070011860
11861/**
11862 @brief WDI_TransportChannelDebug -
11863 Display DXE Channel debugging information
11864 User may request to display DXE channel snapshot
11865 Or if host driver detects any abnormal stcuk may display
11866
Jeff Johnsonb88db982012-12-10 13:34:59 -080011867 @param displaySnapshot : Display DXE snapshot option
Mihir Shete40a55652014-03-02 14:14:47 +053011868 @param debugFlags : Enable stall detect features
11869 defined by WPAL_DeviceDebugFlags
11870 These features may effect
11871 data performance.
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070011872 @see
11873 @return none
11874*/
11875void WDI_TransportChannelDebug
11876(
11877 wpt_boolean displaySnapshot,
Mihir Shete40a55652014-03-02 14:14:47 +053011878 wpt_uint8 debugFlags
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070011879);
11880
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -070011881/**
Sravan Kumar Kairame9d186c2015-11-27 23:37:02 +053011882 @brief WDI_TransportKickDxe -
11883 Request Kick DXE when first HDD TX time out
11884 happens
11885 @param none
11886 @see
11887 @return none
11888*/
11889void WDI_TransportKickDxe(void);
11890
11891/**
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -070011892 @brief WDI_SsrTimerCB
11893 Callback function for SSR timer, if this is called then the graceful
11894 shutdown for Riva did not happen.
11895
11896 @param pUserData : user data to timer
11897
11898 @see
11899 @return none
11900*/
11901void
11902WDI_SsrTimerCB
11903(
11904 void *pUserData
11905);
11906
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -070011907/**
11908 @brief WDI_SetEnableSSR -
11909 This API is called to enable/disable SSR on WDI timeout.
11910
11911 @param enableSSR : enable/disable SSR
11912
11913 @see
11914 @return none
11915*/
11916void WDI_SetEnableSSR(wpt_boolean enableSSR);
11917
Leo Chang9056f462013-08-01 19:21:11 -070011918#ifdef FEATURE_WLAN_LPHB
11919/**
11920 @brief WDI_LPHBConfReq
11921 This API is called to config FW LPHB rule
11922
11923 @param lphbconfParam : LPHB rule should config to FW
11924 usrData : Client context
11925 lphbCfgCb : Configuration status callback
11926 @see
11927 @return SUCCESS or FAIL
11928*/
11929WDI_Status WDI_LPHBConfReq
11930(
11931 void *lphbconfParam,
11932 void *usrData,
11933 WDI_LphbCfgCb lphbCfgCb
11934);
11935#endif /* FEATURE_WLAN_LPHB */
Rajeev79dbe4c2013-10-05 11:03:42 +053011936
Dino Mycle41bdc942014-06-10 11:30:24 +053011937#ifdef WLAN_FEATURE_EXTSCAN
11938/**
11939 @brief WDI_EXTScanStartReq
11940 This API is called to send EXTScan start request to FW
11941
11942 @param pwdiEXTScanStartReqParams : pointer to the request params.
11943 wdiEXTScanStartRspCb : callback on getting the response.
11944 usrData : Client context
11945 @see
11946 @return SUCCESS or FAIL
11947*/
11948WDI_Status WDI_EXTScanStartReq
11949(
11950 WDI_EXTScanStartReqParams* pwdiEXTScanStartReqParams,
11951 WDI_EXTScanStartRspCb wdiEXTScanStartRspCb,
11952 void* pUserData
11953);
11954
11955/**
11956 @brief WDI_EXTScanStopReq
11957 This API is called to stop the EXTScan operations in the FW
11958
11959 @param pwdiEXTScanStopReqParams : pointer to the request params.
11960 wdiEXTScanStopRspCb : callback on getting the response.
11961 usrData : Client context
11962 @see
11963 @return SUCCESS or FAIL
11964*/
11965WDI_Status WDI_EXTScanStopReq
11966(
11967 WDI_EXTScanStopReqParams* pwdiEXTScanStopReqParams,
11968 WDI_EXTScanStopRspCb wdiEXTScanStopRspCb,
11969 void* pUserData
11970);
11971
11972/**
11973 @brief WDI_EXTScanGetCachedResultsReq
11974 This API is called to send get link layer stats request in FW
11975
11976 @param pwdiEXTScanGetCachedResultsReqParams : pointer to the request params.
11977 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
11978 usrData : Client context
11979 @see
11980 @return SUCCESS or FAIL
11981*/
11982WDI_Status WDI_EXTScanGetCachedResultsReq
11983(
11984 WDI_EXTScanGetCachedResultsReqParams* pwdiEXTScanGetCachedResultsReqParams,
11985 WDI_EXTScanGetCachedResultsRspCb wdiEXTScanGetCachedResultsRspCb,
11986 void* pUserData
11987);
11988
11989/**
11990 @brief WDI_EXTScanGetCapabilitiesReq
11991 This API is called to send get EXTScan capabilities from FW
11992
11993 @param pwdiEXTScanGetCachedResultsReqParams : pointer to the request params.
11994 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
11995 usrData : Client context
11996 @see
11997 @return SUCCESS or FAIL
11998*/
11999WDI_Status WDI_EXTScanGetCapabilitiesReq
12000(
12001 WDI_EXTScanGetCapabilitiesReqParams* pwdiEXTScanGetCapabilitiesReqParams,
12002 WDI_EXTScanGetCapabilitiesRspCb wdiEXTScanGetCapabilitiesRspCb,
12003 void* pUserData
12004);
12005
12006/**
12007 @brief WDI_EXTScanSetBSSIDHotlistReq
12008 This API is called to send Set BSSID Hotlist Request FW
12009
12010 @param pwdiEXTScanSetBssidHotlistReqParams : pointer to the request params.
12011 wdiEXTScanSetBSSIDHotlistRspCb : callback on getting the response.
12012 usrData : Client context
12013 @see
12014 @return SUCCESS or FAIL
12015*/
12016WDI_Status WDI_EXTScanSetBSSIDHotlistReq
12017(
12018 WDI_EXTScanSetBSSIDHotlistReqParams* pwdiEXTScanSetBSSIDHotlistReqParams,
12019 WDI_EXTScanSetBSSIDHotlistRspCb wdiEXTScanSetBSSIDHotlistRspCb,
12020 void* pUserData
12021);
12022
12023/**
12024 @brief WDI_EXTScanResetBSSIDHotlistReq
12025 This API is called to send Reset BSSID Hotlist Request FW
12026
12027 @param pwdiEXTScanResetBssidHotlistReqParams : pointer to the request params.
12028 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
12029 usrData : Client context
12030 @see
12031 @return SUCCESS or FAIL
12032*/
12033WDI_Status WDI_EXTScanResetBSSIDHotlistReq
12034(
12035 WDI_EXTScanResetBSSIDHotlistReqParams* pwdiEXTScanResetBSSIDHotlistReqParams,
12036 WDI_EXTScanResetBSSIDHotlistRspCb wdiEXTScanResetBSSIDHotlistRspCb,
12037 void* pUserData
12038);
Padma, Santhosh Kumar9acee012015-08-21 19:58:01 +053012039
12040/**
12041 @brief WDI_EXTScanSetSSIDHotlistReq
12042 This API is called to send Set SSID Hotlist Request FW
12043
12044 @param pwdiEXTScanSetBssidHotlistReqParams : pointer to the request params.
12045 wdiEXTScanSetBSSIDHotlistRspCb : callback on getting the response.
12046 usrData : Client context
12047 @see
12048 @return SUCCESS or FAIL
12049*/
12050WDI_Status WDI_EXTScanSetSSIDHotlistReq
12051(
12052 WDI_EXTScanSetSSIDHotlistReqParams* pwdiEXTScanSetSSIDHotlistReqParams,
12053 WDI_EXTScanSetSSIDHotlistRspCb wdiEXTScanSetSSIDHotlistRspCb,
12054 void* pUserData
12055);
12056
12057/**
12058 @brief WDI_EXTScanResetSSIDHotlistReq
12059 This API is called to send Reset SSID Hotlist Request FW
12060
12061 @param pwdiEXTScanResetSsidHotlistReqParams : pointer to the request params.
12062 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
12063 usrData : Client context
12064 @see
12065 @return SUCCESS or FAIL
12066*/
12067WDI_Status WDI_EXTScanResetSSIDHotlistReq
12068(
12069 WDI_EXTScanResetSSIDHotlistReqParams* pwdiEXTScanResetSSIDHotlistReqParams,
12070 WDI_EXTScanResetSSIDHotlistRspCb wdiEXTScanResetSSIDHotlistRspCb,
12071 void* pUserData
12072);
12073
Padma, Santhosh Kumarc1f7f052015-08-26 12:29:01 +053012074/**
12075 @brief WDI_HighPriorityDataInfoInd
12076
12077 @param pHighPriorityDataInfoIndParams: Req parameter for the FW
12078
12079 @return SUCCESS or FAIL
12080*/
12081WDI_Status
12082WDI_HighPriorityDataInfoInd
12083(
12084 WDI_HighPriorityDataInfoIndParams* pHighPriorityDataInfoIndParams
12085);
12086
Dino Mycle41bdc942014-06-10 11:30:24 +053012087#endif /* WLAN_FEATURE_EXTSCAN */
12088
Sunil Duttbd736ed2014-05-26 21:19:41 +053012089#ifdef WLAN_FEATURE_LINK_LAYER_STATS
12090/**
12091 @brief WDI_LLStatsSetReq
12092 This API is called to send set link layer stats request to FW
12093
12094 @param pwdiLLStatsSetReqParams : pointer to set link layer stats params
12095 wdiLLStatsSetRspCb : set link layer stats response callback
12096 usrData : Client context
12097 @see
12098 @return SUCCESS or FAIL
12099*/
12100WDI_Status WDI_LLStatsSetReq
12101(
12102 WDI_LLStatsSetReqType* pwdiLLStatsSetReqParams,
12103 WDI_LLStatsSetRspCb wdiLLStatsSetRspCb,
12104 void* pUserData
12105);
12106
12107/**
12108 @brief WDI_LLStatsGetReq
12109 This API is called to send get link layer stats request in FW
12110
12111 @param pwdiLLStatsGetParams : pointer to get link layer stats params
12112 wdiLLStatsGetRspCb : get link layer stats response callback
12113 usrData : Client context
12114 @see
12115 @return SUCCESS or FAIL
12116*/
12117WDI_Status WDI_LLStatsGetReq
12118(
12119 WDI_LLStatsGetReqType* pwdiLLStatsGetReqParams,
12120 WDI_LLStatsGetRspCb wdiLLStatsGetRspCb,
12121 void* pUserData
12122);
12123
12124/**
12125 @brief WDI_LLStatsClearReq
12126 This API is called to set clear link layer stats request in FW
12127
12128 @param pwdiLLStatsClearReqParams : pointer to clear link layer stats params
12129 iwdiLLStatsClearRspCb : clear link layer stats response callback
12130 usrData : Client context
12131 @see
12132 @return SUCCESS or FAIL
12133*/
12134WDI_Status WDI_LLStatsClearReq
12135(
12136 WDI_LLStatsClearReqType* pwdiLLStatsClearReqParams,
12137 WDI_LLStatsClearRspCb wdiLLStatsClearRspCb,
12138 void* pUserData
12139);
12140#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
12141
Abhishek Singh85b74712014-10-08 11:38:19 +053012142WDI_Status WDI_FWStatsGetReq
12143(
12144 void* pwdiFWStatsGetReqParams,
12145 WDI_FWStatsGetRspCb wdiFWStatsGetRspCb,
12146 wpt_uint32 pUserData
12147);
12148
Katya Nigamf0511f62015-05-05 16:40:57 +053012149WDI_Status WDI_MonStartReq
12150(
12151 WDI_MonStartReqType* pwdiMonStartReqParams,
Hanumantha Reddy Pothula91cdd7f2015-09-03 21:25:16 +053012152 WDI_MonModeRspCb wdiMonModeRspCb,
Katya Nigamf0511f62015-05-05 16:40:57 +053012153 void* pUserData
12154);
12155
12156WDI_Status WDI_MonStopReq
12157(
Hanumantha Reddy Pothula91cdd7f2015-09-03 21:25:16 +053012158 WDI_MonModeRspCb wdiMonModeRspCb,
Katya Nigamf0511f62015-05-05 16:40:57 +053012159 void* pUserData
12160);
12161
Rajeev79dbe4c2013-10-05 11:03:42 +053012162#ifdef FEATURE_WLAN_BATCH_SCAN
12163/**
12164 @brief WDI_SetBatchScanReq
12165 This API is called to set batch scan request in FW
12166
12167 @param pBatchScanReqParam : pointer to set batch scan re param
12168 usrData : Client context
12169 setBatchScanRspCb : set batch scan resp callback
12170 @see
12171 @return SUCCESS or FAIL
12172*/
12173WDI_Status WDI_SetBatchScanReq
12174(
12175 void *pBatchScanReqParam,
12176 void *usrData,
12177 WDI_SetBatchScanCb setBatchScanRspCb
12178);
12179
12180/**
12181 @brief WDI_StopBatchScanInd
12182
12183 @param none
12184
12185 @see
12186
12187 @return Status of the request
12188*/
12189WDI_Status
12190WDI_StopBatchScanInd(WDI_StopBatchScanIndType *pWdiReq);
12191
12192/**
12193 @brief WDI_TriggerBatchScanResultInd
12194 This API is called to pull batch scan result from FW
12195
12196 @param pBatchScanReqParam : pointer to trigger batch scan ind param
12197 usrData : Client context
12198 setBatchScanRspCb : get batch scan resp callback
12199 @see
12200 @return SUCCESS or FAIL
12201*/
12202WDI_Status
12203WDI_TriggerBatchScanResultInd(WDI_TriggerBatchScanResultIndType *pWdiReq);
12204
12205
12206#endif /*FEATURE_WLAN_BATCH_SCAN*/
12207
Abhishek Singh00b71972016-01-07 10:51:04 +053012208#ifdef WLAN_FEATURE_RMC
12209/**
12210 @brief Process peer info req
12211
12212 @param pWDICtx: pointer to the WLAN DAL context
12213 pEventData: pointer to the event information structure
12214
12215 @see
12216 @return Result of the function call
12217*/
12218
12219WDI_Status
12220WDI_IbssPeerInfoReq
12221(
12222 WDI_IbssPeerInfoReqType* wdiPeerInfoReqParams,
12223 WDI_IbssPeerInfoReqCb wdiIbssPeerInfoReqCb,
12224 void* pUserData
12225);
12226#endif /* WLAN_FEATURE_RMC */
12227
Sandeep Puligilla8b8b74b2014-02-10 16:39:05 +053012228/**
12229 @brief wdi_HT40OBSSScanInd
12230 This API is called to start OBSS scan
12231
12232 @param pWdiReq : pointer to get ind param
12233 @see
12234 @return SUCCESS or FAIL
12235*/
12236
12237WDI_Status WDI_HT40OBSSScanInd(WDI_HT40ObssScanParamsType *pWdiReq);
12238
12239/**
12240 @brief wdi_HT40OBSSStopScanInd
12241 This API is called to stop OBSS scan
12242
12243 @param bssIdx : bssIdx to stop
12244 @see
12245 @return SUCCESS or FAIL
12246*/
12247
12248WDI_Status WDI_HT40OBSSStopScanInd(wpt_uint8 bssIdx);
12249
c_hpothu92367912014-05-01 15:18:17 +053012250
12251WDI_Status WDI_GetBcnMissRate( void *pUserData,
12252 WDI_GetBcnMissRateCb wdiGetBcnMissRateCb,
12253 wpt_uint8 *bssid
12254 );
Siddharth Bhal171788a2014-09-29 21:02:40 +053012255WDI_Status
12256WDI_SetSpoofMacAddrReq
12257(
12258WDI_SpoofMacAddrInfoType *pWdiReq,
12259 WDI_SetSpoofMacAddrRspCb setSpoofMacAddrRspCb,
12260 void* pUserData
12261);
c_hpothu92367912014-05-01 15:18:17 +053012262
Srinivas Dasari4dae48f2014-11-26 21:14:16 +053012263WDI_Status
12264WDI_EncryptMsgReq(void* pwdiEncryptMsgParams,
12265 WDI_EncryptMsgRspCb wdiEncryptMsgCbRsp,
12266 void* pUserData
12267 );
Srinivas Dasari32a79262015-02-19 13:04:49 +053012268
c_manjeecfd1efb2015-09-25 19:32:34 +053012269WDI_Status
12270WDI_FwrMemDumpReq
12271
12272(
12273 WDI_FwrMemDumpReqType *pwdiFwrMemDumpReqInfo,
12274 WDI_FwrMemDumpCb wdiFwrMemDumpRspCb,
12275 void* pUserData
12276);
12277
12278
Srinivas Dasari32a79262015-02-19 13:04:49 +053012279/**
12280 @brief WDI_NanRequest
12281 NAN request
12282
12283 @param pwdiNanRequest: data
12284
12285 pwdiNanCb: callback
12286
12287 usrData: user data will be passed back with the
12288 callback
12289
12290 @return Result of the function call
12291*/
12292WDI_Status
12293WDI_NanRequest
12294(
12295 WDI_NanRequestType *pwdiNanRequest,
12296 void *usrData
12297);
12298
Abhishek Singh41988ba2015-05-25 19:42:29 +053012299/**
12300 @brief WDI_SetRtsCtsHTVhtInd
12301 Set RTS/CTS indication for diff modes.
12302
12303 @param rtsCtsVal: Bit mask value to enable RTS/CTS for different modes
12304
12305 @return Result of the function call
12306*/
12307
12308WDI_Status
12309WDI_SetRtsCtsHTVhtInd
12310(
12311 wpt_uint32 rtsCtsVal
12312);
Srinivas Dasari32a79262015-02-19 13:04:49 +053012313
Mihir Shete5affadc2015-05-29 20:54:57 +053012314WDI_Status
12315WDI_FWLoggingDXEdoneInd
12316(
Hanumantha Reddy Pothulae00a7e22015-09-15 20:11:30 +053012317 wpt_uint32 logType
Mihir Shete5affadc2015-05-29 20:54:57 +053012318);
Srinivas Dasari32a79262015-02-19 13:04:49 +053012319
Mahesh A Saptasagarbeca12c2015-09-07 16:21:06 +053012320/**
12321 @brief WDI_EnableDisableCAEventInd
12322 Enable/Disable Chan Avoidance indication
12323
12324 @param val: Enable/Disable Chan Avoidance indication
12325
12326 @return Result of the function call
12327*/
12328
12329WDI_Status
12330WDI_EnableDisableCAEventInd
12331(
12332wpt_uint32 val
12333);
12334
Padma, Santhosh Kumar2ccac212015-10-20 17:27:27 +053012335#ifdef FEATURE_OEM_DATA_SUPPORT
12336
12337/**
12338 @brief WDI_HighPriorityDataInfoInd
12339
12340 @param pHighPriorityDataInfoIndParams: Req parameter for the FW
12341
12342 @return SUCCESS or FAIL
12343*/
12344WDI_Status
12345WDI_StartOemDataReqIndNew
12346(
12347 WDI_OemDataReqNewConfig *pOemDataReqNewConfig
12348);
12349#endif
12350
Jeff Johnson295189b2012-06-20 16:38:30 -070012351#ifdef __cplusplus
12352 }
12353#endif
12354
Arun Khandavalli7eeb1592015-10-19 21:36:57 +053012355/**
12356 @brief WDI_WifiConfigSetReq
12357 This API is called to send WifiConfig request to FW
12358
12359 @param pwdiWifConfigSetReqParams : pointer to wificonfig params
12360 wdiLLStatsSetRspCb : set wificonfig response callback
12361 usrData : Client context
12362 @see
12363 @return SUCCESS or FAIL
12364*/
12365WDI_Status
12366WDI_WifiConfigSetReq
12367 (WDI_WifiConfigSetReqType* pwdiWifConfigSetReqParams,
12368 WDI_WifiConfigSetRspCb wdiWifiConfigSetRspCb,
12369 void* pUserData);
12370
Mahesh A Saptasagarcfc65ae2015-12-22 15:06:10 +053012371/**
12372 @brief WDI_GetCurrentAntennaIndex
12373 This API is called to send getCurretAntennaIndex request to FW
12374
12375 @param pUserData: pointer to request params
12376 wdiLLStatsSetRspCb : set wificonfig response callback
12377 reserved: request parameter
12378 @see
12379 @return SUCCESS or FAIL
12380*/
12381WDI_Status
12382WDI_GetCurrentAntennaIndex
12383(
12384 void *pUserData,
12385 WDI_AntennaDivSelRspCb wdiAntennaDivSelRspCb,
12386 wpt_uint32 reserved
12387);
12388
Mahesh A Saptasagar7d432952016-02-09 14:01:03 +053012389/**
12390 @brief WDI_SetBcnMissPenaltyCount
12391 This API is called to send modified roam parameters to FW
Mahesh A Saptasagarcfc65ae2015-12-22 15:06:10 +053012392
Mahesh A Saptasagar7d432952016-02-09 14:01:03 +053012393 @param params: pointer to request params
12394 @see
12395 @return SUCCESS or FAIL
12396*/
12397WDI_Status
12398WDI_SetBcnMissPenaltyCount
12399(
12400 WDI_ModifyRoamParamsReqType *params
12401);
Agrawal Ashish0552be02016-03-02 18:03:43 +053012402
Selvaraj, Sridharc045b8b2016-04-06 12:22:35 +053012403/**
12404 * WDI_SetAllowedActionFramesInd - This API is called to send Allowed
12405 * Action frame details to FW
12406 * @allowed_action_frames: Pointer to WDI_AllowedActionFramesInd structure
12407 * which holds bitmask of allowed action frames
12408 *
12409 */
12410WDI_Status
12411WDI_SetAllowedActionFramesInd(
12412 struct WDI_AllowedActionFramesInd *allowed_action_frames
12413);
12414
Agrawal Ashish0552be02016-03-02 18:03:43 +053012415void WDI_SetMgmtPktViaWQ5(wpt_boolean sendMgmtPktViaWQ5);
Agrawal Ashish17ef5082016-10-17 18:33:21 +053012416WDI_Status
12417WDI_process_sap_auth_offload(
12418 struct WDI_sap_ofl_enable_params *sap_ofl_enable_cmd
12419);
12420
Anurag Chouhan83026002016-12-13 22:46:21 +053012421#ifdef DHCP_SERVER_OFFLOAD
12422WDI_Status
12423wdi_process_dhcpserver_offload_req
12424(
12425 wdi_set_dhcp_server_offload_t *dhcp_info,
12426 wdi_dhcp_srv_offload_rsp_cb wdi_dhcp_srv_offload_rsp_callback,
12427 void *user_data
12428);
12429#endif /* DHCP_SERVER_OFFLOAD */
12430
Anurag Chouhan0b29de02016-12-16 13:18:40 +053012431#ifdef MDNS_OFFLOAD
12432WDI_Status
12433wdi_set_mdns_offload_req
12434(
12435 wdi_mdns_enable_offload_cmd_req *mdns_info,
12436 wdi_mdns_enable_rsp_cb wdi_mdns_enable_rsp_callback,
12437 void *user_data
12438);
12439
12440WDI_Status
12441wdi_set_mdns_fqdn_req
12442(
12443 wdi_mdns_set_fqdn_cmd_req *mdns_info,
12444 wdi_mdns_fqdn_rsp_cb wdi_mdns_fqdn_rsp_callback,
12445 void *user_data
12446);
12447
12448WDI_Status
12449wdi_set_mdns_response_req
12450(
12451 wdi_mdns_set_resp_req *mdns_info,
12452 wdi_mdns_resp_rsp_cb wdi_mdns_resp_rsp_callback,
12453 void *user_data
12454);
12455
12456WDI_Status
12457wdi_get_mdns_stats_req
12458(
12459 wdi_mdns_get_stats_req *mdns_info,
12460 wdi_get_stats_rsp_cb wdi_get_stats_rsp_callback,
12461 void *user_data
12462);
12463#endif /* MDNS_OFFLOAD */
12464
Jeff Johnson295189b2012-06-20 16:38:30 -070012465#endif /* #ifndef WLAN_QCT_WDI_H */