blob: d635888aacbcb250799ded8af2cfedcf0a3bf5f9 [file] [log] [blame]
Jeff Johnson295189b2012-06-20 16:38:30 -07001/*
Sourav Mohapatra9d963282018-02-08 20:03:05 +05302 * Copyright (c) 2012-2017, 2020 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,
Dino Mycle41bdc942014-06-10 11:30:24 +0530424#endif
Abhishek Singh66c16762014-08-14 19:13:19 +0530425 /*Delete BA Ind*/
426 WDI_DEL_BA_IND,
Srinivas Dasari32a79262015-02-19 13:04:49 +0530427 WDI_NAN_EVENT_IND,
Sachin Ahuja3d47fcd2015-08-28 16:02:06 +0530428 WDI_LOST_LINK_PARAMS_IND,
Gupta, Kapil7c34b322015-09-30 13:12:35 +0530429 WDI_RSSI_BREACHED_IND,
Padma, Santhosh Kumar2ccac212015-10-20 17:27:27 +0530430#ifdef FEATURE_OEM_DATA_SUPPORT
431 WDI_START_OEM_DATA_RSP_IND_NEW,
432#endif
Kapil Gupta7a3d9b12016-12-20 20:36:38 +0530433#ifdef WLAN_FEATURE_APFIND
434 WDI_AP_FOUND_IND,
435#endif
Jeff Johnson295189b2012-06-20 16:38:30 -0700436 WDI_MAX_IND
437}WDI_LowLevelIndEnumType;
438
439
440/*---------------------------------------------------------------------------
441 WDI_LowRSSIThIndType
442---------------------------------------------------------------------------*/
443typedef struct
444{
445 /*Positive crossing of Rssi Thresh1*/
446 wpt_uint32 bRssiThres1PosCross : 1;
447 /*Negative crossing of Rssi Thresh1*/
448 wpt_uint32 bRssiThres1NegCross : 1;
449 /*Positive crossing of Rssi Thresh2*/
450 wpt_uint32 bRssiThres2PosCross : 1;
451 /*Negative crossing of Rssi Thresh2*/
452 wpt_uint32 bRssiThres2NegCross : 1;
453 /*Positive crossing of Rssi Thresh3*/
454 wpt_uint32 bRssiThres3PosCross : 1;
455 /*Negative crossing of Rssi Thresh3*/
456 wpt_uint32 bRssiThres3NegCross : 1;
457
Srinivasdaaec712012-12-12 15:59:44 -0800458 wpt_uint32 avgRssi : 8;
459 wpt_uint32 bReserved : 18;
Jeff Johnson295189b2012-06-20 16:38:30 -0700460
461}WDI_LowRSSIThIndType;
462
463
464/*---------------------------------------------------------------------------
465 WDI_UnkAddr2FrmRxIndType
466---------------------------------------------------------------------------*/
467typedef struct
468{
469 /*Rx Bd data of the unknown received addr2 frame.*/
470 void* bufRxBd;
471
472 /*Buffer Length*/
473 wpt_uint16 usBufLen;
474}WDI_UnkAddr2FrmRxIndType;
475
476/*---------------------------------------------------------------------------
477 WDI_DeleteSTAIndType
478---------------------------------------------------------------------------*/
479typedef struct
480{
481 /*ASSOC ID, as assigned by UMAC*/
482 wpt_uint16 usAssocId;
483
484 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
485 wpt_uint8 ucSTAIdx;
486
487 /*BSSID of STA*/
488 wpt_macAddr macBSSID;
489
490 /*MAC ADDR of STA*/
491 wpt_macAddr macADDR2;
492
493 /* To unify the keepalive / unknown A2 / tim-based disa*/
494 wpt_uint16 wptReasonCode;
495
496}WDI_DeleteSTAIndType;
497
498/*---------------------------------------------------------------------------
499 WDI_MicFailureIndType
500---------------------------------------------------------------------------*/
501typedef struct
502{
503 /*current BSSID*/
504 wpt_macAddr bssId;
505
506 /*Source mac address*/
507 wpt_macAddr macSrcAddr;
508
509 /*Transmitter mac address*/
510 wpt_macAddr macTaAddr;
511
512 /*Destination mac address*/
513 wpt_macAddr macDstAddr;
514
515 /*Multicast flag*/
516 wpt_uint8 ucMulticast;
517
518 /*First byte of IV*/
519 wpt_uint8 ucIV1;
520
521 /*Key Id*/
522 wpt_uint8 keyId;
523
524 /*Sequence Number*/
525 wpt_uint8 TSC[WDI_CIPHER_SEQ_CTR_SIZE];
526
527 /*receive address */
528 wpt_macAddr macRxAddr;
529}WDI_MicFailureIndType;
530
531/*---------------------------------------------------------------------------
532 WDI_CoexIndType
533---------------------------------------------------------------------------*/
534typedef struct
535{
536 wpt_uint32 coexIndType;
537 wpt_uint32 coexIndData[WDI_COEX_IND_DATA_SIZE];
538} WDI_CoexIndType;
539
540/*---------------------------------------------------------------------------
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +0530541 WDI_DHCPInd
542---------------------------------------------------------------------------*/
543
544typedef struct
545{
546 wpt_uint8 device_mode;
547 wpt_uint8 macAddr[WDI_MAC_ADDR_LEN];
548}WDI_DHCPInd;
549
Abhishek Singh00b71972016-01-07 10:51:04 +0530550#ifdef WLAN_FEATURE_RMC
551typedef struct
552{
553 /*Request status callback offered by UMAC - it is called if the current
554 req has returned PENDING as status; it delivers the status of sending
555 the message over the BUS */
556 WDI_ReqStatusCb wdiReqStatusCB;
557
558 /*The user data passed in by UMAC, it will be sent back when the above
559 function pointer will be called */
560 void* pUserData;
561
562 wpt_uint8 tx_fail_count;
563}WDI_TXFailMonitorInd;
564#endif /* WLAN_FEATURE_RMC */
565
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +0530566/*---------------------------------------------------------------------------
567
Jeff Johnson295189b2012-06-20 16:38:30 -0700568 WDI_MacSSid
569---------------------------------------------------------------------------*/
570typedef struct
571{
572 wpt_uint8 ucLength;
573 wpt_uint8 sSSID[WDI_MAX_SSID_SIZE];
574} WDI_MacSSid;
575
576#ifdef FEATURE_WLAN_SCAN_PNO
577/*---------------------------------------------------------------------------
578 WDI_PrefNetworkFoundInd
579---------------------------------------------------------------------------*/
580typedef struct
581{
582 /* Network that was found with the highest RSSI*/
Srikant Kuppa066904f2013-05-07 13:56:02 -0700583 WDI_MacSSid ssId;
Jeff Johnson295189b2012-06-20 16:38:30 -0700584 /* Indicates the RSSI */
Srikant Kuppa066904f2013-05-07 13:56:02 -0700585 wpt_uint8 rssi;
586 wpt_uint16 frameLength;
587 wpt_uint8 *pData;
Jeff Johnson295189b2012-06-20 16:38:30 -0700588} WDI_PrefNetworkFoundInd;
589#endif // FEATURE_WLAN_SCAN_PNO
590
Jeff Johnson295189b2012-06-20 16:38:30 -0700591/*---------------------------------------------------------------------------
592 *WDI_P2pNoaAttrIndType
593 *-------------------------------------------------------------------------*/
Jeff Johnson295189b2012-06-20 16:38:30 -0700594typedef struct
595{
596 wpt_uint8 ucIndex ;
597 wpt_uint8 ucOppPsFlag ;
598 wpt_uint16 usCtWin ;
599
600 wpt_uint16 usNoa1IntervalCnt;
601 wpt_uint16 usRsvd1 ;
602 wpt_uint32 uslNoa1Duration;
603 wpt_uint32 uslNoa1Interval;
604 wpt_uint32 uslNoa1StartTime;
605
606 wpt_uint16 usNoa2IntervalCnt;
607 wpt_uint16 usRsvd2;
608 wpt_uint32 uslNoa2Duration;
609 wpt_uint32 uslNoa2Interval;
610 wpt_uint32 uslNoa2StartTime;
611
612 wpt_uint32 status;
613}WDI_P2pNoaAttrIndType;
Viral Modid86bde22012-12-10 13:09:21 -0800614
615/*---------------------------------------------------------------------------
616 *WDI_P2pNoaStartIndType
617 *-------------------------------------------------------------------------*/
618typedef struct
619{
620 wpt_uint32 status;
621 wpt_uint32 bssIdx;
622}WDI_P2pNoaStartIndType;
623
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530624/*---------------------------------------------------------------------------
625 *WDI_TdlsIndType
626 *-------------------------------------------------------------------------*/
627typedef struct
628{
629 wpt_uint16 status;
630 wpt_uint16 assocId;
631 wpt_uint16 staIdx;
632 wpt_uint16 reasonCode;
633}WDI_TdlsIndType;
Jeff Johnson295189b2012-06-20 16:38:30 -0700634
635#ifdef WLAN_WAKEUP_EVENTS
636/*---------------------------------------------------------------------------
637 WDI_WakeReasonIndType
638---------------------------------------------------------------------------*/
639typedef struct
640{
641 wpt_uint32 ulReason; /* see tWakeReasonType */
642 wpt_uint32 ulReasonArg; /* argument specific to the reason type */
643 wpt_uint32 ulStoredDataLen; /* length of optional data stored in this message, in case
644 HAL truncates the data (i.e. data packets) this length
645 will be less than the actual length */
646 wpt_uint32 ulActualDataLen; /* actual length of data */
647 wpt_uint8 aDataStart[1]; /* variable length start of data (length == storedDataLen)
648 see specific wake type */
649} WDI_WakeReasonIndType;
650#endif // WLAN_WAKEUP_EVENTS
651
Srinivas Dasari32a79262015-02-19 13:04:49 +0530652typedef struct
653{
654 wpt_uint16 event_data_len;
655 wpt_uint8* event_data;
656} WDI_NanEventType;
657
658
Jeff Johnson295189b2012-06-20 16:38:30 -0700659/*---------------------------------------------------------------------------
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800660 WDI_MissedBeaconIndType
661-----------------------------------------------------------------------------*/
662typedef struct
663{
664 wpt_uint8 bssIdx; /*bssidx on which beacon is missed*/
665} WDI_MissedBeaconIndType;
666
Leo Chang9056f462013-08-01 19:21:11 -0700667#ifdef FEATURE_WLAN_LPHB
668/*---------------------------------------------------------------------------
669 WDI_LPHBTimeoutIndData
670-----------------------------------------------------------------------------*/
671typedef struct
672{
673 wpt_uint8 bssIdx;
674 wpt_uint8 sessionIdx;
675 wpt_uint8 protocolType; /*TCP or UDP*/
676 wpt_uint8 eventReason;
677} WDI_LPHBTimeoutIndData;
678#endif /* FEATURE_WLAN_LPHB */
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800679
Yue Mab9c86f42013-08-14 15:59:08 -0700680/*-----------------------------------------------------------------------------
681WDI_PeriodicTxPtrnFwIndType
682-----------------------------------------------------------------------------*/
683typedef struct
684{
685 wpt_uint8 bssIdx;
686 wpt_uint32 selfStaIdx;
687 wpt_uint32 status;
688 wpt_uint32 patternIdBitmap;
689} WDI_PeriodicTxPtrnFwIndType;
690
Rajeev79dbe4c2013-10-05 11:03:42 +0530691#ifdef FEATURE_WLAN_BATCH_SCAN
692/*---------------------------------------------------------------------------
693 WDI_SetBatchScanReqType
694---------------------------------------------------------------------------*/
695typedef struct
696{
697 wpt_uint32 scanFrequency; /* how frequent to do scan default 30Sec*/
698 wpt_uint32 numberOfScansToBatch; /* number of scans to batch */
699 wpt_uint32 bestNetwork; /* best networks in terms of rssi */
700 wpt_uint8 rfBand; /* band to scan :
701 0 ->both Band, 1->2.4Ghz Only
702 and 2-> 5GHz Only */
703 wpt_uint32 rtt; /* set if required to do RTT it is not
704 supported in current version */
705}WDI_SetBatchScanReqType;
706
707/*---------------------------------------------------------------------------
708 WDI_SetBatchScanRspType
709---------------------------------------------------------------------------*/
710typedef struct
711{
712 /*max number of scans which FW can cache*/
713 wpt_uint32 nScansToBatch;
714}WDI_SetBatchScanRspType;
715
716/*---------------------------------------------------------------------------
717 WDI_TriggerBatchScanResultIndType
718---------------------------------------------------------------------------*/
719typedef struct
720{
721 wpt_uint32 param;
722}WDI_TriggerBatchScanResultIndType;
723
724/*---------------------------------------------------------------------------
725 WDI_StopBatchScanIndType
726---------------------------------------------------------------------------*/
727typedef struct
728{
729 /*max number of scans which FW can cache*/
730 wpt_uint32 param;
731}WDI_StopBatchScanIndType;
732
733
734/*---------------------------------------------------------------------------
735 * WDI_BatchScanResultIndType
736 *--------------------------------------------------------------------------*/
737typedef struct
738{
739 wpt_uint32 bssid[6]; /* BSSID */
740 wpt_uint32 ssid[32]; /* SSID */
741 wpt_uint32 ch; /* Channel */
742 wpt_uint32 rssi; /* RSSI or Level */
743 /* Timestamp when Network was found. Used to calculate age based on
744 timestamp in GET_RSP msg header */
745 wpt_uint32 timestamp;
746} tWDIBatchScanNetworkInfo, *tpWDIBatchScanNetworkInfo;
747
748typedef struct
749{
750 wpt_uint32 scanId; /*Scan List ID*/
751 /*No of AP in a Scan Result. Should be same as bestNetwork in SET_REQ msg*/
752 wpt_uint32 numNetworksInScanList;
753 /*Variable data ptr: Number of AP in Scan List*/
754 wpt_uint32 scanList[1];
755} tWDIBatchScanList, *tpWDIBatchScanList;
756
757typedef struct
758{
759 wpt_uint32 timestamp;
760 wpt_uint32 numScanLists;
761 wpt_boolean isLastResult;
762 /* Variable Data ptr: Number of Scan Lists*/
763 wpt_uint32 scanResults[1];
764} tWDIBatchScanResultParam, *tpWDIBatchScanResultParam;
765
766#endif
767
Abhishek Singh00b71972016-01-07 10:51:04 +0530768#ifdef WLAN_FEATURE_RMC
769typedef struct
770{
771 wpt_uint8 seqNo;
772 wpt_uint8 macAddr[WDI_MAC_ADDR_LEN];
773} WDI_TXFailIndType;
774#endif /* WLAN_FEATURE_RMC */
Rajeev79dbe4c2013-10-05 11:03:42 +0530775
Sachin Ahuja3d47fcd2015-08-28 16:02:06 +0530776typedef struct
777{
778 wpt_uint8 bssIdx;
779 wpt_uint8 rssi;
780 wpt_uint8 selfMacAddr[WDI_MAC_ADDR_LEN];
781 wpt_uint32 linkFlCnt;
782 wpt_uint32 linkFlTx;
783 wpt_uint32 lastDataRate;
784 wpt_uint32 rsvd1;
785 wpt_uint32 rsvd2;
786
787}WDI_LostLinkParamsIndType;
788
Gupta, Kapil7c34b322015-09-30 13:12:35 +0530789typedef struct
790{
791 wpt_uint32 request_id;
792 wpt_uint8 bssId[WDI_MAC_ADDR_LEN];
793 wpt_int8 rssi;
794}WDI_RssiBreachedIndType;
795
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800796/*---------------------------------------------------------------------------
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700797 WDI_IbssPeerInactivityIndType
798-----------------------------------------------------------------------------*/
799typedef struct
800{
801 wpt_uint8 bssIdx;
802 wpt_uint8 staIdx;
803 wpt_macAddr staMacAddr;
804}WDI_IbssPeerInactivityIndType;
805
Abhishek Singh00b71972016-01-07 10:51:04 +0530806#ifdef WLAN_FEATURE_RMC
807/*---------------------------------------------------------------------------
808 WDI_RmcRulerReqParams
809-----------------------------------------------------------------------------*/
810typedef struct
811{
812 wpt_uint8 cmd;
813
814 /* MAC address of MCAST Transmitter (source) */
815 wpt_macAddr mcastTransmitter;
816
817 /* MAC Address of Multicast Group (01-00-5E-xx-xx-xx) */
818 wpt_macAddr mcastGroup;
819
820 /* List of candidates for cmd = WLAN_HAL_SUGGEST_RULER*/
821 wpt_macAddr blacklist[8]; /* HAL_NUM_MAX_RULERS */
822
823 /*
824 * Request status callback offered by UMAC - it is called if the current
825 * req has returned PENDING as status; it delivers the status of sending
826 * the message over the BUS
827 */
828 WDI_ReqStatusCb wdiReqStatusCB;
829
830} WDI_RmcRulerReqParams;
831
832/*---------------------------------------------------------------------------
833 WDI_RmcUpdateIndParams
834-----------------------------------------------------------------------------*/
835typedef struct
836{
837 wpt_uint8 indication; /* tRmcUpdateIndType */
838
839 wpt_uint8 role;
840
841 /* MAC address of MCAST Transmitter (source) */
842 wpt_macAddr mcastTransmitter;
843
844 /* MAC Address of Multicast Group (01-00-5E-xx-xx-xx) */
845 wpt_macAddr mcastGroup;
846
847 wpt_macAddr mcastRuler;
848
849 wpt_macAddr ruler[16];
850
851 /*
852 * Request status callback offered by UMAC - it is called if the current
853 * req has returned PENDING as status; it delivers the status of sending
854 * the message over the BUS
855 */
856 WDI_ReqStatusCb wdiReqStatusCB;
857
858 /*
859 * The user data passed in by UMAC, it will be sent back when the above
860 * function pointer will be called
861 */
862 void *pUserData;
863
864} WDI_RmcUpdateIndParams;
865
866typedef enum
867{
868 eWDI_SUGGEST_RULER_CMD = 0,
869 eWDI_BECOME_RULER_CMD = 1,
870} eWDI_RulerRspCmdType;
871
872/*---------------------------------------------------------------------------
873 WDI_RmcRspParamsType
874-----------------------------------------------------------------------------*/
875typedef struct
876{
877 wpt_uint8 status; /* success or failure */
878
879 /* Command Type */
880 eWDI_RulerRspCmdType cmd;
881
882 /* MAC address of MCAST Transmitter (source) */
883 wpt_macAddr mcastTransmitter;
884
885 /* MAC Address of Multicast Group (01-00-5E-xx-xx-xx) */
886 wpt_macAddr mcastGroup;
887
888 wpt_macAddr ruler[8];
889} WDI_RmcRspParamsType;
890
891/*---------------------------------------------------------------------------
892 WDI_RmcPickNewRuler
893-----------------------------------------------------------------------------*/
894typedef struct
895{
896 wpt_uint8 indication; /* pick_new */
897
898 wpt_uint8 role;
899
900 /* MAC address of MCAST Transmitter (source) */
901 wpt_macAddr mcastTransmitter;
902
903 /* MAC Address of Multicast Group (01-00-5E-xx-xx-xx) */
904 wpt_macAddr mcastGroup;
905
906 wpt_macAddr mcastRuler;
907
908 wpt_macAddr ruler[16];
909} WDI_RmcPickNewRuler;
910#endif
911
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700912/*---------------------------------------------------------------------------
Chittajit Mitraf5413a42013-10-18 14:20:08 -0700913 WDI_TxRateFlags
914-----------------------------------------------------------------------------*/
915typedef enum
916{
917 WDI_TX_RATE_LEGACY = 0x1, /* Legacy rates */
918 WDI_TX_RATE_HT20 = 0x2, /* HT20 rates */
919 WDI_TX_RATE_HT40 = 0x4, /* HT40 rates */
920 WDI_TX_RATE_SGI = 0x8, /* Rate with Short guard interval */
921 WDI_TX_RATE_LGI = 0x10, /* Rate with Long guard interval */
922 WDI_TX_RATE_VHT20 = 0x20, /* VHT 20 rates */
923 WDI_TX_RATE_VHT40 = 0x40, /* VHT 20 rates */
924 WDI_TX_RATE_VHT80 = 0x80, /* VHT 20 rates */
925 WDI_TX_RATE_VIRT = 0x100, /* Virtual Rate */
926} WDI_TxRateFlags;
927
928/*---------------------------------------------------------------------------
929 WDI_RateUpdateIndParams
930-----------------------------------------------------------------------------*/
931typedef struct
932{
933 /* 0 implies RA, positive value implies fixed rate, -1 implies ignore this
934 * param ucastDataRate can be used to control RA behavior of unicast data to
935 */
936 wpt_int32 ucastDataRate;
937
938 /* TX flag to differentiate between HT20, HT40 etc */
939 WDI_TxRateFlags ucastDataRateTxFlag;
940
941 /* BSSID - Optional. 00-00-00-00-00-00 implies apply to all BCAST STAs */
942 wpt_macAddr bssid;
943
944 /*
945 * 0 implies MCAST RA, positive value implies fixed rate,
946 * -1 implies ignore this param
947 */
Abhishek Singh00b71972016-01-07 10:51:04 +0530948 wpt_int32 rmcDataRate; //unit Mbpsx10
Chittajit Mitraf5413a42013-10-18 14:20:08 -0700949
950 /* TX flag to differentiate between HT20, HT40 etc */
Abhishek Singh00b71972016-01-07 10:51:04 +0530951 WDI_TxRateFlags rmcDataRateTxFlag;
Chittajit Mitraf5413a42013-10-18 14:20:08 -0700952
953 /*
954 * MCAST(or BCAST) fixed data rate in 2.4 GHz, unit Mbpsx10,
955 * 0 implies ignore
956 */
957 wpt_uint32 mcastDataRate24GHz;
958
959 /* TX flag to differentiate between HT20, HT40 etc */
960 WDI_TxRateFlags mcastDataRate24GHzTxFlag;
961
962 /*
963 * MCAST(or BCAST) fixed data rate in 5 GHz,
964 * unit Mbpsx10, 0 implies ignore
965 */
966 wpt_uint32 mcastDataRate5GHz;
967
968 /* TX flag to differentiate between HT20, HT40 etc */
969 WDI_TxRateFlags mcastDataRate5GHzTxFlag;
970
971 /*
972 * Request status callback offered by UMAC - it is called if the current
973 * req has returned PENDING as status; it delivers the status of sending
974 * the message over the BUS
975 */
976 WDI_ReqStatusCb wdiReqStatusCB;
977
978 /*
979 * The user data passed in by UMAC, it will be sent back when the above
980 * function pointer will be called
981 */
982 void *pUserData;
983
984} WDI_RateUpdateIndParams;
985
Abhishek Singh85b74712014-10-08 11:38:19 +0530986typedef struct
987{
988 wpt_uint32 ubsp_enter_cnt;
989 wpt_uint32 ubsp_jump_ddr_cnt;
990}ubspFwStats;
991
992typedef struct
993{
994 wpt_uint32 type;
995 /*data*/
996 union{
997 ubspFwStats ubspStats;
998 }wdiFwStatsData;
999} WDI_FWStatsResults;
1000
Leo Chang0b0e45a2013-12-15 15:18:55 -08001001#ifdef FEATURE_WLAN_CH_AVOID
Abhishek Singhe34eb552015-06-18 10:12:15 +05301002#define WDI_CH_AVOID_MAX_RANGE 15
Leo Chang0b0e45a2013-12-15 15:18:55 -08001003
1004typedef struct
1005{
1006 wpt_uint32 startFreq;
1007 wpt_uint32 endFreq;
1008} WDI_ChAvoidFreqType;
1009
1010typedef struct
1011{
1012 wpt_uint32 avoidRangeCount;
1013 WDI_ChAvoidFreqType avoidFreqRange[WDI_CH_AVOID_MAX_RANGE];
1014} WDI_ChAvoidIndType;
1015#endif /* FEATURE_WLAN_CH_AVOID */
1016
Dino Mycled3d50022014-07-07 12:58:25 +05301017#ifdef WLAN_FEATURE_LINK_LAYER_STATS
1018typedef struct
1019{
1020 void *pLinkLayerStatsResults;
1021 wpt_macAddr macAddr;
1022} WDI_LinkLayerStatsResults;
1023
1024#endif
Abhishek Singh66c16762014-08-14 19:13:19 +05301025
1026typedef struct
1027{
1028 /*STA Index*/
1029 wpt_uint16 staIdx;
1030
1031 /*Peer MAC*/
1032 wpt_macAddr peerMacAddr;
1033
1034 // TID for which a BA session timeout is being triggered
1035 wpt_uint8 baTID;
1036 // DELBA direction
1037 // 1 - Originator
1038 // 0 - Recipient
1039 wpt_uint8 baDirection;
1040 wpt_uint32 reasonCode;
1041 /*MAC ADDR of STA*/
1042 wpt_macAddr bssId; // TO SUPPORT BT-AMP
1043} WDI_DeleteBAIndType;
1044
Ganesh Kondabattinib18b3292015-03-16 16:59:26 +05301045typedef struct
1046{
1047 wpt_uint32 tx_complete_status;
1048 wpt_uint32 tx_bd_token;
1049} WDI_TxBDStatus;
Padma, Santhosh Kumaree7c3d22016-01-25 10:36:08 +05301050
1051#ifdef FEATURE_OEM_DATA_SUPPORT
1052/*----------------------------------------------------------------------------
1053 OEM DATA RESPONSE - DATA STRUCTURES
1054----------------------------------------------------------------------------*/
1055typedef struct
1056{
1057 void *pOemRspNewIndData;
1058 /* Max OemRspNewLen possible is NEW_OEM_DATA_RSP_SIZE*/
1059 wpt_uint32 OemRspNewLen;
1060} WDI_OemDataRspNew;
1061#endif
1062
Chittajit Mitraf5413a42013-10-18 14:20:08 -07001063/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07001064 WDI_LowLevelIndType
1065 Inidcation type and information about the indication being carried
1066 over
1067---------------------------------------------------------------------------*/
1068typedef struct
1069{
1070 /*Inidcation type*/
1071 WDI_LowLevelIndEnumType wdiIndicationType;
1072
1073 /*Indication data*/
1074 union
1075 {
1076 /*RSSI Threshold Info for WDI_LOW_RSSI_IND*/
1077 WDI_LowRSSIThIndType wdiLowRSSIInfo;
1078
1079 /*Addr2 Frame Info for WDI_UNKNOWN_ADDR2_FRAME_RX_IND*/
1080 WDI_UnkAddr2FrmRxIndType wdiUnkAddr2FrmInfo;
1081
1082 /*MIC Failure info for WDI_MIC_FAILURE_IND*/
1083 WDI_MicFailureIndType wdiMICFailureInfo;
1084
1085 /*Error code for WDI_FATAL_ERROR_IND*/
1086 wpt_uint16 usErrorCode;
1087
1088 /*Delete STA Indication*/
1089 WDI_DeleteSTAIndType wdiDeleteSTAIndType;
1090
1091 /*Coex Indication*/
1092 WDI_CoexIndType wdiCoexInfo;
1093
1094 /* Tx Complete Indication */
1095 wpt_uint32 tx_complete_status;
1096
Jeff Johnson295189b2012-06-20 16:38:30 -07001097 /* P2P NOA ATTR Indication */
1098 WDI_P2pNoaAttrIndType wdiP2pNoaAttrInfo;
Viral Modid86bde22012-12-10 13:09:21 -08001099 WDI_P2pNoaStartIndType wdiP2pNoaStartInfo;
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05301100 /* TDLS Indications */
1101 WDI_TdlsIndType wdiTdlsIndInfo;
Jeff Johnson295189b2012-06-20 16:38:30 -07001102
1103
1104#ifdef FEATURE_WLAN_SCAN_PNO
1105 WDI_PrefNetworkFoundInd wdiPrefNetworkFoundInd;
1106#endif // FEATURE_WLAN_SCAN_PNO
1107
1108#ifdef WLAN_WAKEUP_EVENTS
1109 WDI_WakeReasonIndType wdiWakeReasonInd;
1110#endif // WLAN_WAKEUP_EVENTS
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -08001111 WDI_MissedBeaconIndType wdiMissedBeaconInd;
Ravi Joshid2ca7c42013-07-23 08:37:49 -07001112
Leo Chang9056f462013-08-01 19:21:11 -07001113#ifdef FEATURE_WLAN_LPHB
1114 WDI_LPHBTimeoutIndData wdiLPHBTimeoutInd;
1115#endif /* FEATURE_WLAN_LPHB */
Ravi Joshid2ca7c42013-07-23 08:37:49 -07001116
1117 /* IBSS Peer Inactivity Indication */
1118 WDI_IbssPeerInactivityIndType wdiIbssPeerInactivityInd;
1119
Yue Mab9c86f42013-08-14 15:59:08 -07001120 /* Periodic TX Pattern FW Indication */
1121 WDI_PeriodicTxPtrnFwIndType wdiPeriodicTxPtrnFwInd;
Rajeev79dbe4c2013-10-05 11:03:42 +05301122
Abhishek Singh00b71972016-01-07 10:51:04 +05301123#ifdef WLAN_FEATURE_RMC
1124 WDI_RmcPickNewRuler wdiRmcPickNewRulerInd;
1125#endif /* WLAN_FEATURE_RMC */
1126
Rajeev79dbe4c2013-10-05 11:03:42 +05301127#ifdef FEATURE_WLAN_BATCH_SCAN
1128 /*batch scan result indication from FW*/
1129 void *pBatchScanResult;
1130#endif
1131
Abhishek Singh00b71972016-01-07 10:51:04 +05301132#ifdef WLAN_FEATURE_RMC
1133 WDI_TXFailIndType wdiTXFailInd;
1134#endif /* WLAN_FEATURE_RMC */
1135
Leo Chang0b0e45a2013-12-15 15:18:55 -08001136#ifdef FEATURE_WLAN_CH_AVOID
1137 WDI_ChAvoidIndType wdiChAvoidInd;
1138#endif /* FEATURE_WLAN_CH_AVOID */
Sunil Duttbd736ed2014-05-26 21:19:41 +05301139
1140#ifdef WLAN_FEATURE_LINK_LAYER_STATS
1141 /*Link Layer Statistics from FW*/
Dino Mycled3d50022014-07-07 12:58:25 +05301142 WDI_LinkLayerStatsResults wdiLinkLayerStatsResults;
Sunil Duttbd736ed2014-05-26 21:19:41 +05301143#endif
Dino Mycle41bdc942014-06-10 11:30:24 +05301144#ifdef WLAN_FEATURE_EXTSCAN
1145 /*EXTSCAN Results from FW*/
1146 void *pEXTScanIndData;
1147#endif
Abhishek Singh66c16762014-08-14 19:13:19 +05301148 WDI_DeleteBAIndType wdiDeleteBAInd;
Srinivas Dasari32a79262015-02-19 13:04:49 +05301149
1150 WDI_NanEventType wdiNanEvent;
Ganesh Kondabattinib18b3292015-03-16 16:59:26 +05301151
1152 WDI_TxBDStatus wdiTxBdInd;
Sachin Ahuja3d47fcd2015-08-28 16:02:06 +05301153 WDI_LostLinkParamsIndType wdiLostLinkParamsInd;
Gupta, Kapil7c34b322015-09-30 13:12:35 +05301154 WDI_RssiBreachedIndType wdiRssiBreachedInd;
Padma, Santhosh Kumar2ccac212015-10-20 17:27:27 +05301155#ifdef FEATURE_OEM_DATA_SUPPORT
1156/*OEM Data Rsp New Results from FW*/
Padma, Santhosh Kumaree7c3d22016-01-25 10:36:08 +05301157 WDI_OemDataRspNew wdiOemDataRspNew;
Padma, Santhosh Kumar2ccac212015-10-20 17:27:27 +05301158#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001159 } wdiIndicationData;
1160}WDI_LowLevelIndType;
1161
1162/*---------------------------------------------------------------------------
1163 WDI_LowLevelIndCBType
1164
1165 DESCRIPTION
1166
1167 This callback is invoked by DAL to deliver to UMAC certain indications
1168 that has either received from the lower device or has generated itself.
1169
1170 PARAMETERS
1171
1172 IN
1173 pwdiInd: information about the indication sent over
1174 pUserData: user data provided by UMAC during registration
1175
1176
1177
1178 RETURN VALUE
1179 The result code associated with performing the operation
1180---------------------------------------------------------------------------*/
1181typedef void (*WDI_LowLevelIndCBType)(WDI_LowLevelIndType* pwdiInd,
1182 void* pUserData);
1183
1184/*---------------------------------------------------------------------------
1185 WDI_DriverType
1186---------------------------------------------------------------------------*/
1187typedef enum
1188{
1189 WDI_DRIVER_TYPE_PRODUCTION = 0,
1190 WDI_DRIVER_TYPE_MFG = 1,
1191 WDI_DRIVER_TYPE_DVT = 2
1192} WDI_DriverType;
1193
1194/*---------------------------------------------------------------------------
1195 WDI_StartReqParamsType
1196---------------------------------------------------------------------------*/
1197typedef struct
1198{
1199 /*This is a TLV formatted buffer containing all config values that can
1200 be set through the DAL Interface
1201
1202 The TLV is expected to be formatted like this:
1203
1204 0 7 15 31 ....
1205 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
1206
1207 Or from a C construct point of VU it would look like this:
1208
1209 typedef struct WPT_PACK_POST
1210 {
1211 #ifdef WPT_BIG_ENDIAN
1212 wpt_uint32 ucCfgId:8;
1213 wpt_uint32 ucCfgLen:8;
1214 wpt_uint32 usReserved:16;
1215 #else
1216 wpt_uint32 usReserved:16;
1217 wpt_uint32 ucCfgLen:8;
1218 wpt_uint32 ucCfgId:8;
1219 #endif
1220
1221 wpt_uint8 ucCfgBody[ucCfgLen];
1222 }WDI_ConfigType;
1223
1224 Multiple such tuplets are to be placed in the config buffer. One for
1225 each required configuration item:
1226
1227 | TLV 1 | TLV2 | ....
1228
1229 The buffer is expected to be a flat area of memory that can be manipulated
1230 with standard memory routines.
1231
1232 For more info please check paragraph 2.3.1 Config Structure from the
1233 HAL LLD.
1234
1235 For a list of accepted configuration list and IDs please look up
1236 wlan_qct_dal_cfg.h
1237
1238 */
1239 void* pConfigBuffer;
1240
1241 /*Length of the config buffer above*/
1242 wpt_uint16 usConfigBufferLen;
1243
1244 /*Production or FTM driver*/
1245 WDI_DriverType wdiDriverType;
1246
1247 /*Should device enable frame translation */
1248 wpt_uint8 bFrameTransEnabled;
1249
1250 /*Request status callback offered by UMAC - it is called if the current
1251 req has returned PENDING as status; it delivers the status of sending
1252 the message over the BUS */
1253 WDI_ReqStatusCb wdiReqStatusCB;
1254
1255 /*The user data passed in by UMAC, it will be sent back when the above
1256 function pointer will be called */
1257 void* pUserData;
1258
1259 /*Indication callback given by UMAC to be called by the WLAN DAL when it
1260 wishes to send something back independent of a request*/
1261 WDI_LowLevelIndCBType wdiLowLevelIndCB;
1262
1263 /*The user data passed in by UMAC, it will be sent back when the indication
1264 function pointer will be called */
1265 void* pIndUserData;
1266}WDI_StartReqParamsType;
1267
1268
1269/*---------------------------------------------------------------------------
1270 WDI_StartRspParamsType
1271---------------------------------------------------------------------------*/
1272typedef struct
1273{
1274 /*Status of the response*/
1275 WDI_Status wdiStatus;
1276
1277 /*Max number of STA supported by the device*/
1278 wpt_uint8 ucMaxStations;
1279
1280 /*Max number of BSS supported by the device*/
1281 wpt_uint8 ucMaxBssids;
1282
1283 /*Version of the WLAN HAL API with which we were compiled*/
1284 WDI_WlanVersionType wlanCompiledVersion;
1285
1286 /*Version of the WLAN HAL API that was reported*/
1287 WDI_WlanVersionType wlanReportedVersion;
1288
1289 /*WCNSS Software version string*/
1290 wpt_uint8 wcnssSoftwareVersion[WDI_VERSION_LENGTH];
1291
1292 /*WCNSS Hardware version string*/
1293 wpt_uint8 wcnssHardwareVersion[WDI_VERSION_LENGTH];
1294}WDI_StartRspParamsType;
1295
1296
1297/*---------------------------------------------------------------------------
1298 WDI_StopType
1299---------------------------------------------------------------------------*/
1300typedef enum
1301{
1302 /*Device is being stopped due to a reset*/
1303 WDI_STOP_TYPE_SYS_RESET,
1304
1305 /*Device is being stopped due to entering deep sleep*/
1306 WDI_STOP_TYPE_SYS_DEEP_SLEEP,
1307
1308 /*Device is being stopped because the RF needs to shut off
1309 (e.g.:Airplane mode)*/
1310 WDI_STOP_TYPE_RF_KILL
1311}WDI_StopType;
1312
1313/*---------------------------------------------------------------------------
1314 WDI_StopReqParamsType
1315---------------------------------------------------------------------------*/
1316typedef struct
1317{
1318
1319 /*The reason for which the device is being stopped*/
1320 WDI_StopType wdiStopReason;
1321
1322 /*Request status callback offered by UMAC - it is called if the current
1323 req has returned PENDING as status; it delivers the status of sending
1324 the message over the BUS */
1325 WDI_ReqStatusCb wdiReqStatusCB;
1326
1327 /*The user data passed in by UMAC, it will be sent back when the above
1328 function pointer will be called */
1329 void* pUserData;
1330}WDI_StopReqParamsType;
1331
1332
1333/*---------------------------------------------------------------------------
1334 WDI_ScanMode
1335---------------------------------------------------------------------------*/
1336typedef enum
1337{
1338 WDI_SCAN_MODE_NORMAL = 0,
1339 WDI_SCAN_MODE_LEARN,
1340 WDI_SCAN_MODE_SCAN,
1341 WDI_SCAN_MODE_PROMISC,
Madan Mohan Koyyalamudi9b876782012-10-11 16:22:51 -07001342 WDI_SCAN_MODE_SUSPEND_LINK,
1343 WDI_SCAN_MODE_ROAM_SCAN,
1344 WDI_SCAN_MODE_ROAM_SUSPEND_LINK,
1345
Jeff Johnson295189b2012-06-20 16:38:30 -07001346} WDI_ScanMode;
1347
1348/*---------------------------------------------------------------------------
1349 WDI_ScanEntry
1350---------------------------------------------------------------------------*/
1351typedef struct
1352{
1353 wpt_uint8 bssIdx[WDI_NUM_BSSID];
1354 wpt_uint8 activeBSScnt;
1355}WDI_ScanEntry;
1356
1357/*---------------------------------------------------------------------------
1358 WDI_InitScanReqInfoType
1359---------------------------------------------------------------------------*/
1360typedef struct
1361{
1362 /*LEARN - AP Role
1363 SCAN - STA Role*/
1364 WDI_ScanMode wdiScanMode;
1365
1366 /*BSSID of the BSS*/
1367 wpt_macAddr macBSSID;
1368
1369 /*Whether BSS needs to be notified*/
1370 wpt_boolean bNotifyBSS;
1371
1372 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
1373 CTS to Self). Must always be a valid frame type.*/
1374 wpt_uint8 ucFrameType;
1375
1376 /*UMAC has the option of passing the MAC frame to be used for notifying
1377 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
1378 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
1379 frameType.*/
1380 wpt_uint8 ucFrameLength;
1381
1382 /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/
1383 WDI_MacMgmtHdr wdiMACMgmtHdr;
1384
1385 /*Entry to hold number of active BSS to send NULL frames before
1386 * initiating SCAN*/
1387 WDI_ScanEntry wdiScanEntry;
1388
1389 /* Flag to enable/disable Single NOA*/
1390 wpt_boolean bUseNOA;
1391
1392 /* Indicates the scan duration (in ms) */
1393 wpt_uint16 scanDuration;
1394
1395}WDI_InitScanReqInfoType;
1396
1397/*---------------------------------------------------------------------------
1398 WDI_InitScanReqParamsType
1399---------------------------------------------------------------------------*/
1400typedef struct
1401{
1402 /*The info associated with the request that needs to be sent over to the
1403 device*/
1404 WDI_InitScanReqInfoType wdiReqInfo;
1405
1406 /*Request status callback offered by UMAC - it is called if the current
1407 req has returned PENDING as status; it delivers the status of sending
1408 the message over the BUS */
1409 WDI_ReqStatusCb wdiReqStatusCB;
1410
1411 /*The user data passed in by UMAC, it will be sent back when the above
1412 function pointer will be called */
1413 void* pUserData;
1414}WDI_InitScanReqParamsType;
1415
1416/*---------------------------------------------------------------------------
1417 WDI_StartScanReqParamsType
1418---------------------------------------------------------------------------*/
1419typedef struct
1420{
1421 /*Indicates the channel to scan*/
1422 wpt_uint8 ucChannel;
1423
1424 /*Request status callback offered by UMAC - it is called if the current
1425 req has returned PENDING as status; it delivers the status of sending
1426 the message over the BUS */
1427 WDI_ReqStatusCb wdiReqStatusCB;
1428
1429 /*The user data passed in by UMAC, it will be sent back when the above
1430 function pointer will be called */
1431 void* pUserData;
1432}WDI_StartScanReqParamsType;
1433
1434/*---------------------------------------------------------------------------
1435 WDI_StartScanRspParamsType
1436---------------------------------------------------------------------------*/
1437typedef struct
1438{
1439 /*Indicates the status of the operation */
1440 WDI_Status wdiStatus;
1441
1442#if defined WLAN_FEATURE_VOWIFI
1443 wpt_uint32 aStartTSF[2];
1444 wpt_int8 ucTxMgmtPower;
1445#endif
1446}WDI_StartScanRspParamsType;
1447
1448/*---------------------------------------------------------------------------
1449 WDI_EndScanReqParamsType
1450---------------------------------------------------------------------------*/
1451typedef struct
1452{
1453 /*Indicates the channel to stop scanning. Not used really. But retained
1454 for symmetry with "start Scan" message. It can also help in error
1455 check if needed.*/
1456 wpt_uint8 ucChannel;
1457
1458 /*Request status callback offered by UMAC - it is called if the current
1459 req has returned PENDING as status; it delivers the status of sending
1460 the message over the BUS */
1461 WDI_ReqStatusCb wdiReqStatusCB;
1462
1463 /*The user data passed in by UMAC, it will be sent back when the above
1464 function pointer will be called */
1465 void* pUserData;
1466}WDI_EndScanReqParamsType;
1467
1468/*---------------------------------------------------------------------------
1469 WDI_PhyChanBondState
1470---------------------------------------------------------------------------*/
1471typedef enum
1472{
1473 WDI_PHY_SINGLE_CHANNEL_CENTERED = 0,
1474 WDI_PHY_DOUBLE_CHANNEL_LOW_PRIMARY = 1,
1475 WDI_PHY_DOUBLE_CHANNEL_CENTERED = 2,
Jeff Johnsone7245742012-09-05 17:12:55 -07001476 WDI_PHY_DOUBLE_CHANNEL_HIGH_PRIMARY = 3,
1477#ifdef WLAN_FEATURE_11AC
1478 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_CENTERED = 4, //20/40MHZ offset LOW 40/80MHZ offset CENTERED
1479 WDI_QUADRUPLE_CHANNEL_20MHZ_CENTERED_40MHZ_CENTERED = 5, //20/40MHZ offset CENTERED 40/80MHZ offset CENTERED
1480 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_CENTERED = 6, //20/40MHZ offset HIGH 40/80MHZ offset CENTERED
1481 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_LOW = 7,//20/40MHZ offset LOW 40/80MHZ offset LOW
1482 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_LOW = 8, //20/40MHZ offset HIGH 40/80MHZ offset LOW
1483 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_HIGH = 9, //20/40MHZ offset LOW 40/80MHZ offset HIGH
1484 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_HIGH = 10,//20/40MHZ offset-HIGH 40/80MHZ offset HIGH
1485#endif
1486 WDI_MAX_CB_STATE
Jeff Johnson295189b2012-06-20 16:38:30 -07001487} WDI_PhyChanBondState;
1488
1489/*---------------------------------------------------------------------------
1490 WDI_FinishScanReqInfoType
1491---------------------------------------------------------------------------*/
1492typedef struct
1493{
1494 /*LEARN - AP Role
1495 SCAN - STA Role*/
1496 WDI_ScanMode wdiScanMode;
1497
1498 /*Operating channel to tune to.*/
1499 wpt_uint8 ucCurrentOperatingChannel;
1500
1501 /*Channel Bonding state If 20/40 MHz is operational, this will indicate the
1502 40 MHz extension channel in combination with the control channel*/
1503 WDI_PhyChanBondState wdiCBState;
1504
1505 /*BSSID of the BSS*/
1506 wpt_macAddr macBSSID;
1507
1508 /*Whether BSS needs to be notified*/
1509 wpt_boolean bNotifyBSS;
1510
1511 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
1512 CTS to Self). Must always be a valid frame type.*/
1513 wpt_uint8 ucFrameType;
1514
1515 /*UMAC has the option of passing the MAC frame to be used for notifying
1516 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
1517 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
1518 frameType.*/
1519 wpt_uint8 ucFrameLength;
1520
1521 /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/
1522 WDI_MacMgmtHdr wdiMACMgmtHdr;
1523
1524 /*Entry to hold number of active BSS to send NULL frames after SCAN*/
1525 WDI_ScanEntry wdiScanEntry;
1526
1527}WDI_FinishScanReqInfoType;
1528
1529/*---------------------------------------------------------------------------
1530 WDI_SwitchChReqInfoType
1531---------------------------------------------------------------------------*/
1532typedef struct
1533{
1534 /*Indicates the channel to switch to.*/
1535 wpt_uint8 ucChannel;
1536
1537 /*Local power constraint*/
1538 wpt_uint8 ucLocalPowerConstraint;
1539
1540 /*Secondary channel offset */
1541 WDI_HTSecondaryChannelOffset wdiSecondaryChannelOffset;
1542
1543#ifdef WLAN_FEATURE_VOWIFI
1544 wpt_int8 cMaxTxPower;
1545
1546 /*Self STA Mac address*/
1547 wpt_macAddr macSelfStaMacAddr;
1548#endif
1549 /* VO Wifi comment: BSSID is needed to identify which session issued this request. As the
1550 request has power constraints, this should be applied only to that session */
1551 /* V IMP: Keep bssId field at the end of this msg. It is used to mantain backward compatbility
1552 * by way of ignoring if using new host/old FW or old host/new FW since it is at the end of this struct
1553 */
1554 wpt_macAddr macBSSId;
1555
1556}WDI_SwitchChReqInfoType;
1557
1558/*---------------------------------------------------------------------------
1559 WDI_SwitchChReqParamsType
1560---------------------------------------------------------------------------*/
1561typedef struct
1562{
1563 /*Channel Info*/
1564 WDI_SwitchChReqInfoType wdiChInfo;
1565
1566 /*Request status callback offered by UMAC - it is called if the current
1567 req has returned PENDING as status; it delivers the status of sending
1568 the message over the BUS */
1569 WDI_ReqStatusCb wdiReqStatusCB;
1570
1571 /*The user data passed in by UMAC, it will be sent back when the above
1572 function pointer will be called */
1573 void* pUserData;
1574}WDI_SwitchChReqParamsType;
1575
1576/*---------------------------------------------------------------------------
1577 WDI_FinishScanReqParamsType
1578---------------------------------------------------------------------------*/
1579typedef struct
1580{
1581 /*Info for the Finish Scan request that will be sent down to the device*/
1582 WDI_FinishScanReqInfoType wdiReqInfo;
1583
1584 /*Request status callback offered by UMAC - it is called if the current
1585 req has returned PENDING as status; it delivers the status of sending
1586 the message over the BUS */
1587 WDI_ReqStatusCb wdiReqStatusCB;
1588
1589 /*The user data passed in by UMAC, it will be sent back when the above
1590 function pointer will be called */
1591 void* pUserData;
1592}WDI_FinishScanReqParamsType;
1593
1594/*---------------------------------------------------------------------------
1595 WDI_JoinReqInfoType
1596---------------------------------------------------------------------------*/
1597typedef struct
1598{
1599 /*Indicates the BSSID to which STA is going to associate*/
1600 wpt_macAddr macBSSID;
1601
1602 /*Indicates the MAC Address of the current Self STA*/
1603 wpt_macAddr macSTASelf;
1604
1605 /*Indicates the link State determining the entity Type e.g. BTAMP-STA, STA etc.*/
1606 wpt_uint32 linkState;
1607
1608 /*Indicates the channel to switch to.*/
1609 WDI_SwitchChReqInfoType wdiChannelInfo;
1610
1611}WDI_JoinReqInfoType;
1612
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08001613typedef enum
1614{
1615 eWDI_CHANNEL_SWITCH_SOURCE_SCAN,
1616 eWDI_CHANNEL_SWITCH_SOURCE_LISTEN,
1617 eWDI_CHANNEL_SWITCH_SOURCE_MCC,
1618 eWDI_CHANNEL_SWITCH_SOURCE_CSA,
1619 eWDI_CHANNEL_SWITCH_SOURCE_MAX = 0x7FFFFFFF
1620} WDI_ChanSwitchSource;
1621
1622/*---------------------------------------------------------------------------
1623 WDI_SwitchChReqInfoType_V1
1624---------------------------------------------------------------------------*/
1625typedef struct
1626{
1627 /*Indicates the channel to switch to.*/
1628 wpt_uint8 ucChannel;
1629
1630 /*Local power constraint*/
1631 wpt_uint8 ucLocalPowerConstraint;
1632
1633 /*Secondary channel offset */
1634 WDI_HTSecondaryChannelOffset wdiSecondaryChannelOffset;
1635
1636#ifdef WLAN_FEATURE_VOWIFI
1637 wpt_int8 cMaxTxPower;
1638 /*Self STA Mac address*/
1639 wpt_macAddr macSelfStaMacAddr;
1640#endif
1641 /* VO Wifi comment: BSSID is needed to identify which session
1642 issued this request. As the request has power constraints, this
1643 should be applied only to that session
1644 */
1645 /* V IMP: Keep bssId field at the end of this msg. It is used to
1646 maintain backward compatibility by way of ignoring if using new
1647 host/old FW or old host/new FW since it is at the end of this struct
1648 */
1649 wpt_macAddr macBSSId;
1650 /* Source of Channel Switch */
1651 WDI_ChanSwitchSource channelSwitchSrc;
1652}WDI_SwitchChReqInfoType_V1;
1653
1654/*--------------------------------------------------------------------
1655 WDI_SwitchChReqParamsType_V1
1656----------------------------------------------------------------------*/
1657typedef struct
1658{
1659 /*Channel Info*/
1660 WDI_SwitchChReqInfoType_V1 wdiChInfo;
1661
1662 /*Request status callback offered by UMAC - it is called if the current
1663 req has returned PENDING as status; it delivers the status of sending
1664 the message over the BUS */
1665 WDI_ReqStatusCb wdiReqStatusCB;
1666
1667 /*The user data passed in by UMAC, it will be sent back when the above
1668 function pointer will be called */
1669 void* pUserData;
1670}WDI_SwitchChReqParamsType_V1;
1671
Jeff Johnson295189b2012-06-20 16:38:30 -07001672/*---------------------------------------------------------------------------
1673 WDI_JoinReqParamsType
1674---------------------------------------------------------------------------*/
1675typedef struct
1676{
1677 /*Info for the Join request that will be sent down to the device*/
1678 WDI_JoinReqInfoType wdiReqInfo;
1679
1680 /*Request status callback offered by UMAC - it is called if the current
1681 req has returned PENDING as status; it delivers the status of sending
1682 the message over the BUS */
1683 WDI_ReqStatusCb wdiReqStatusCB;
1684
1685 /*The user data passed in by UMAC, it will be sent back when the above
1686 function pointer will be called */
1687 void* pUserData;
1688}WDI_JoinReqParamsType;
1689
1690/*---------------------------------------------------------------------------
1691 WDI_BssType
1692---------------------------------------------------------------------------*/
1693typedef enum
1694{
1695 WDI_INFRASTRUCTURE_MODE,
1696 WDI_INFRA_AP_MODE, //Added for softAP support
1697 WDI_IBSS_MODE,
1698 WDI_BTAMP_STA_MODE,
1699 WDI_BTAMP_AP_MODE,
1700 WDI_BSS_AUTO_MODE,
1701}WDI_BssType;
1702
1703/*---------------------------------------------------------------------------
1704 WDI_NwType
1705---------------------------------------------------------------------------*/
1706typedef enum
1707{
1708 WDI_11A_NW_TYPE,
1709 WDI_11B_NW_TYPE,
1710 WDI_11G_NW_TYPE,
1711 WDI_11N_NW_TYPE,
1712} WDI_NwType;
1713
1714/*---------------------------------------------------------------------------
1715 WDI_ConfigAction
1716---------------------------------------------------------------------------*/
1717typedef enum
1718{
1719 WDI_ADD_BSS,
1720 WDI_UPDATE_BSS
1721} WDI_ConfigAction;
1722
1723/*---------------------------------------------------------------------------
1724 WDI_HTOperatingMode
1725---------------------------------------------------------------------------*/
1726typedef enum
1727{
1728 WDI_HT_OP_MODE_PURE,
1729 WDI_HT_OP_MODE_OVERLAP_LEGACY,
1730 WDI_HT_OP_MODE_NO_LEGACY_20MHZ_HT,
1731 WDI_HT_OP_MODE_MIXED
1732
1733} WDI_HTOperatingMode;
1734
1735
1736/*---------------------------------------------------------------------------
1737 WDI_STAEntryType
1738---------------------------------------------------------------------------*/
1739typedef enum
1740{
1741 WDI_STA_ENTRY_SELF,
1742 WDI_STA_ENTRY_PEER,
1743 WDI_STA_ENTRY_BSSID,
Mohit Khanna698ba2a2012-12-04 15:08:18 -08001744 WDI_STA_ENTRY_BCAST,
1745#ifdef FEATURE_WLAN_TDLS
1746 WDI_STA_ENTRY_TDLS_PEER,
1747#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001748}WDI_STAEntryType;
1749
1750/*---------------------------------------------------------------------------
1751 WDI_ConfigActionType
1752---------------------------------------------------------------------------*/
1753typedef enum
1754{
1755 WDI_ADD_STA,
1756 WDI_UPDATE_STA
1757} WDI_ConfigActionType;
1758
1759/*----------------------------------------------------------------------------
1760 Each station added has a rate mode which specifies the sta attributes
1761 ----------------------------------------------------------------------------*/
1762typedef enum
1763{
1764 WDI_RESERVED_1 = 0,
1765 WDI_RESERVED_2,
1766 WDI_RESERVED_3,
1767 WDI_11b,
1768 WDI_11bg,
1769 WDI_11a,
1770 WDI_11n,
1771} WDI_RateModeType;
1772
1773/*---------------------------------------------------------------------------
1774 WDI_SupportedRatesType
1775---------------------------------------------------------------------------*/
1776typedef struct
1777{
1778 /*
1779 * For Self STA Entry: this represents Self Mode.
1780 * For Peer Stations, this represents the mode of the peer.
1781 * On Station:
1782 * --this mode is updated when PE adds the Self Entry.
1783 * -- OR when PE sends 'ADD_BSS' message and station context in BSS is used to indicate the mode of the AP.
1784 * ON AP:
1785 * -- this mode is updated when PE sends 'ADD_BSS' and Sta entry for that BSS is used
1786 * to indicate the self mode of the AP.
1787 * -- OR when a station is associated, PE sends 'ADD_STA' message with this mode updated.
1788 */
1789
1790 WDI_RateModeType opRateMode;
1791
1792 /* 11b, 11a and aniLegacyRates are IE rates which gives rate in unit of 500Kbps */
1793 wpt_uint16 llbRates[WDI_NUM_11B_RATES];
1794 wpt_uint16 llaRates[WDI_NUM_11A_RATES];
1795 wpt_uint16 aLegacyRates[WDI_NUM_POLARIS_RATES];
1796
1797 /*Taurus only supports 26 Titan Rates(no ESF/concat Rates will be supported)
1798 First 26 bits are reserved for those Titan rates and
1799 the last 4 bits(bit28-31) for Taurus, 2(bit26-27) bits are reserved.*/
1800 wpt_uint32 uEnhancedRateBitmap; //Titan and Taurus Rates
1801
1802 /*
1803 * 0-76 bits used, remaining reserved
1804 * bits 0-15 and 32 should be set.
1805 */
1806 wpt_uint8 aSupportedMCSSet[WDI_MAC_MAX_SUPPORTED_MCS_SET];
1807
1808 /*
1809 * RX Highest Supported Data Rate defines the highest data
1810 * rate that the STA is able to receive, in unites of 1Mbps.
1811 * This value is derived from "Supported MCS Set field" inside
1812 * the HT capability element.
1813 */
1814 wpt_uint16 aRxHighestDataRate;
1815
Jeff Johnsone7245742012-09-05 17:12:55 -07001816
1817#ifdef WLAN_FEATURE_11AC
1818 /*Indicates the Maximum MCS that can be received for each number
1819 of spacial streams */
1820 wpt_uint16 vhtRxMCSMap;
1821 /*Indicate the highest VHT data rate that the STA is able to receive*/
1822 wpt_uint16 vhtRxHighestDataRate;
1823 /*Indicates the Maximum MCS that can be transmitted for each number
1824 of spacial streams */
1825 wpt_uint16 vhtTxMCSMap;
1826 /*Indicate the highest VHT data rate that the STA is able to transmit*/
1827 wpt_uint16 vhtTxHighestDataRate;
1828#endif
1829
Jeff Johnson295189b2012-06-20 16:38:30 -07001830} WDI_SupportedRates;
1831
1832/*--------------------------------------------------------------------------
1833 WDI_HTMIMOPowerSaveState
1834 Spatial Multiplexing(SM) Power Save mode
1835 --------------------------------------------------------------------------*/
1836typedef enum
1837{
1838 WDI_HT_MIMO_PS_STATIC = 0, // Static SM Power Save mode
1839 WDI_HT_MIMO_PS_DYNAMIC = 1, // Dynamic SM Power Save mode
1840 WDI_HT_MIMO_PS_NA = 2, // reserved
1841 WDI_HT_MIMO_PS_NO_LIMIT = 3, // SM Power Save disabled
1842} WDI_HTMIMOPowerSaveState;
1843
1844/*---------------------------------------------------------------------------
1845 WDI_ConfigStaReqInfoType
1846---------------------------------------------------------------------------*/
1847typedef struct
1848{
1849 /*BSSID of STA*/
1850 wpt_macAddr macBSSID;
1851
1852 /*ASSOC ID, as assigned by UMAC*/
1853 wpt_uint16 usAssocId;
1854
1855 /*Used for configuration of different HW modules.*/
1856 WDI_STAEntryType wdiSTAType;
1857
Gopichand Nakkalae7cbc5d2013-03-27 21:09:23 -07001858 /*STA Index */
1859 wpt_uint8 staIdx;
1860
Jeff Johnson295189b2012-06-20 16:38:30 -07001861 /*Short Preamble Supported.*/
1862 wpt_uint8 ucShortPreambleSupported;
1863
1864 /*MAC Address of STA*/
1865 wpt_macAddr macSTA;
1866
1867 /*Listen interval of the STA*/
1868 wpt_uint16 usListenInterval;
1869
1870 /*Support for 11e/WMM*/
1871 wpt_uint8 ucWMMEnabled;
1872
1873 /*11n HT capable STA*/
1874 wpt_uint8 ucHTCapable;
1875
1876 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
1877 wpt_uint8 ucTXChannelWidthSet;
1878
1879 /*RIFS mode 0 - NA, 1 - Allowed*/
1880 wpt_uint8 ucRIFSMode;
1881
1882 /*L-SIG TXOP Protection mechanism
1883 0 - No Support, 1 - Supported
1884 SG - there is global field*/
1885 wpt_uint8 ucLSIGTxopProtection;
1886
1887 /*Max Ampdu Size supported by STA. Device programming.
1888 0 : 8k , 1 : 16k, 2 : 32k, 3 : 64k */
1889 wpt_uint8 ucMaxAmpduSize;
1890
1891 /*Max Ampdu density. Used by RA. 3 : 0~7 : 2^(11nAMPDUdensity -4)*/
1892 wpt_uint8 ucMaxAmpduDensity;
1893
1894 /*Max AMSDU size 1 : 3839 bytes, 0 : 7935 bytes*/
1895 wpt_uint8 ucMaxAmsduSize;
1896
1897 /*Short GI support for 40Mhz packets*/
1898 wpt_uint8 ucShortGI40Mhz;
1899
1900 /*Short GI support for 20Mhz packets*/
1901 wpt_uint8 ucShortGI20Mhz;
1902
1903 /*These rates are the intersection of peer and self capabilities.*/
1904 WDI_SupportedRates wdiSupportedRates;
1905
1906 /*Robust Management Frame (RMF) enabled/disabled*/
1907 wpt_uint8 ucRMFEnabled;
1908
1909 /* The unicast encryption type in the association */
1910 wpt_uint32 ucEncryptType;
1911
1912 /*HAL should update the existing STA entry, if this flag is set. UMAC
1913 will set this flag in case of RE-ASSOC, where we want to reuse the old
1914 STA ID.*/
1915 WDI_ConfigActionType wdiAction;
1916
1917 /*U-APSD Flags: 1b per AC. Encoded as follows:
1918 b7 b6 b5 b4 b3 b2 b1 b0 =
1919 X X X X BE BK VI VO
1920 */
1921 wpt_uint8 ucAPSD;
1922
1923 /*Max SP Length*/
1924 wpt_uint8 ucMaxSPLen;
1925
1926 /*11n Green Field preamble support*/
1927 wpt_uint8 ucGreenFieldCapable;
1928
1929 /*MIMO Power Save mode*/
1930 WDI_HTMIMOPowerSaveState wdiMIMOPS;
1931
1932 /*Delayed BA Support*/
1933 wpt_uint8 ucDelayedBASupport;
1934
1935 /*Max AMPDU duration in 32us*/
1936 wpt_uint8 us32MaxAmpduDuratio;
1937
1938 /*HT STA should set it to 1 if it is enabled in BSS
1939 HT STA should set it to 0 if AP does not support it. This indication is
1940 sent to HAL and HAL uses this flag to pickup up appropriate 40Mhz rates.
1941 */
1942 wpt_uint8 ucDsssCckMode40Mhz;
1943
1944 wpt_uint8 ucP2pCapableSta;
Jeff Johnsone7245742012-09-05 17:12:55 -07001945#ifdef WLAN_FEATURE_11AC
1946 wpt_uint8 ucVhtCapableSta;
1947 wpt_uint8 ucVhtTxChannelWidthSet;
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08001948 wpt_uint8 ucVhtTxBFEnabled;
Abhishek Singh6927fa02014-06-27 17:19:55 +05301949 wpt_uint8 vhtTxMUBformeeCapable;
Jeff Johnsone7245742012-09-05 17:12:55 -07001950#endif
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08001951
1952 wpt_uint8 ucHtLdpcEnabled;
1953 wpt_uint8 ucVhtLdpcEnabled;
Jeff Johnson295189b2012-06-20 16:38:30 -07001954}WDI_ConfigStaReqInfoType;
1955
1956
1957/*---------------------------------------------------------------------------
1958 WDI_RateSet
1959
1960 12 Bytes long because this structure can be used to represent rate
1961 and extended rate set IEs
1962 The parser assume this to be at least 12
1963---------------------------------------------------------------------------*/
1964#define WDI_RATESET_EID_MAX 12
1965
1966typedef struct
1967{
1968 wpt_uint8 ucNumRates;
1969 wpt_uint8 aRates[WDI_RATESET_EID_MAX];
1970} WDI_RateSet;
1971
1972/*---------------------------------------------------------------------------
1973 WDI_AciAifsnType
1974 access category record
1975---------------------------------------------------------------------------*/
1976typedef struct
1977{
1978 wpt_uint8 rsvd : 1;
1979 wpt_uint8 aci : 2;
1980 wpt_uint8 acm : 1;
1981 wpt_uint8 aifsn : 4;
1982} WDI_AciAifsnType;
1983
1984/*---------------------------------------------------------------------------
1985 WDI_CWType
1986 contention window size
1987---------------------------------------------------------------------------*/
1988typedef struct
1989{
1990 wpt_uint8 max : 4;
1991 wpt_uint8 min : 4;
1992} WDI_CWType;
1993
1994/*---------------------------------------------------------------------------
1995 WDI_EdcaParamRecord
1996---------------------------------------------------------------------------*/
1997typedef struct
1998{
1999 /*Access Category Record*/
2000 WDI_AciAifsnType wdiACI;
2001
2002 /*Contention WIndow Size*/
2003 WDI_CWType wdiCW;
2004
2005 /*TX Oportunity Limit*/
2006 wpt_uint16 usTXOPLimit;
2007} WDI_EdcaParamRecord;
2008
2009/*---------------------------------------------------------------------------
2010 WDI_EDCAParamsType
2011---------------------------------------------------------------------------*/
2012typedef struct
2013{
2014 /*BSS Index*/
2015 wpt_uint8 ucBSSIdx;
2016
2017 /*?*/
2018 wpt_boolean bHighPerformance;
2019
2020 /*Best Effort*/
2021 WDI_EdcaParamRecord wdiACBE;
2022
2023 /*Background*/
2024 WDI_EdcaParamRecord wdiACBK;
2025
2026 /*Video*/
2027 WDI_EdcaParamRecord wdiACVI;
2028
2029 /*Voice*/
2030 WDI_EdcaParamRecord acvo; // voice
2031} WDI_EDCAParamsType;
2032
2033/* operMode in ADD BSS message */
2034#define WDI_BSS_OPERATIONAL_MODE_AP 0
2035#define WDI_BSS_OPERATIONAL_MODE_STA 1
2036
2037/*---------------------------------------------------------------------------
2038 WDI_ConfigBSSRspParamsType
2039---------------------------------------------------------------------------*/
2040typedef struct
2041{
2042 /*Status of the response*/
2043 WDI_Status wdiStatus;
2044
2045 /*BSSID of the BSS*/
2046 wpt_macAddr macBSSID;
2047
2048 /*BSS Index*/
2049 wpt_uint8 ucBSSIdx;
2050
2051 /*Unicast DPU signature*/
2052 wpt_uint8 ucUcastSig;
2053
2054 /*Broadcast DPU Signature*/
2055 wpt_uint8 ucBcastSig;
2056
2057 /*MAC Address of STA*/
2058 wpt_macAddr macSTA;
2059
2060 /*BSS STA ID*/
2061 wpt_uint8 ucSTAIdx;
2062
2063#ifdef WLAN_FEATURE_VOWIFI
2064 /*HAL fills in the tx power used for mgmt frames in this field */
2065 wpt_int8 ucTxMgmtPower;
2066#endif
2067
2068}WDI_ConfigBSSRspParamsType;
2069
2070/*---------------------------------------------------------------------------
2071 WDI_DelBSSReqParamsType
2072---------------------------------------------------------------------------*/
2073typedef struct
2074{
2075 /*BSS Index of the BSS*/
2076 wpt_uint8 ucBssIdx;
2077
2078 /*Request status callback offered by UMAC - it is called if the current
2079 req has returned PENDING as status; it delivers the status of sending
2080 the message over the BUS */
2081 WDI_ReqStatusCb wdiReqStatusCB;
2082
2083 /*The user data passed in by UMAC, it will be sent back when the above
2084 function pointer will be called */
2085 void* pUserData;
2086}WDI_DelBSSReqParamsType;
2087
2088/*---------------------------------------------------------------------------
2089 WDI_DelBSSRspParamsType
2090---------------------------------------------------------------------------*/
2091typedef struct
2092{
2093 /*Status of the response*/
2094 WDI_Status wdiStatus;
2095
2096 /*BSSID of the BSS*/
2097 wpt_macAddr macBSSID;
2098
2099 wpt_uint8 ucBssIdx;
2100
2101}WDI_DelBSSRspParamsType;
2102
2103/*---------------------------------------------------------------------------
2104 WDI_ConfigSTARspParamsType
2105---------------------------------------------------------------------------*/
2106typedef struct
2107{
2108 /*Status of the response*/
2109 WDI_Status wdiStatus;
2110
2111 /*STA Idx allocated by HAL*/
2112 wpt_uint8 ucSTAIdx;
2113
2114 /*MAC Address of STA*/
2115 wpt_macAddr macSTA;
2116
2117 /* BSSID Index of BSS to which the station is associated */
2118 wpt_uint8 ucBssIdx;
2119
2120 /* DPU Index - PTK */
2121 wpt_uint8 ucDpuIndex;
2122
2123 /* Bcast DPU Index - GTK */
2124 wpt_uint8 ucBcastDpuIndex;
2125
2126 /* Management DPU Index - IGTK - Why is it called bcastMgmtDpuIdx? */
2127 wpt_uint8 ucBcastMgmtDpuIdx;
2128
2129 /*Unicast DPU signature*/
2130 wpt_uint8 ucUcastSig;
2131
2132 /*Broadcast DPU Signature*/
2133 wpt_uint8 ucBcastSig;
2134
2135 /* IGTK DPU signature*/
2136 wpt_uint8 ucMgmtSig;
2137
2138}WDI_ConfigSTARspParamsType;
2139
2140/*---------------------------------------------------------------------------
2141 WDI_PostAssocRspParamsType
2142---------------------------------------------------------------------------*/
2143typedef struct
2144{
2145 /*Status of the response*/
2146 WDI_Status wdiStatus;
2147
2148 /*Parameters related to the BSS*/
2149 WDI_ConfigBSSRspParamsType bssParams;
2150
2151 /*Parameters related to the self STA*/
2152 WDI_ConfigSTARspParamsType staParams;
2153
2154}WDI_PostAssocRspParamsType;
2155
2156/*---------------------------------------------------------------------------
2157 WDI_DelSTAReqParamsType
2158---------------------------------------------------------------------------*/
2159typedef struct
2160{
2161 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
2162 wpt_uint8 ucSTAIdx;
2163
2164 /*Request status callback offered by UMAC - it is called if the current
2165 req has returned PENDING as status; it delivers the status of sending
2166 the message over the BUS */
2167 WDI_ReqStatusCb wdiReqStatusCB;
2168
2169 /*The user data passed in by UMAC, it will be sent back when the above
2170 function pointer will be called */
2171 void* pUserData;
2172}WDI_DelSTAReqParamsType;
2173
2174/*---------------------------------------------------------------------------
2175 WDI_DelSTARspParamsType
2176---------------------------------------------------------------------------*/
2177typedef struct
2178{
2179 /*Status of the response*/
2180 WDI_Status wdiStatus;
2181
2182 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
2183 wpt_uint8 ucSTAIdx;
2184}WDI_DelSTARspParamsType;
2185
2186/*---------------------------------------------------------------------------
2187 WDI_EncryptType
2188---------------------------------------------------------------------------*/
2189typedef enum
2190{
2191 WDI_ENCR_NONE,
2192 WDI_ENCR_WEP40,
2193 WDI_ENCR_WEP104,
2194 WDI_ENCR_TKIP,
2195 WDI_ENCR_CCMP,
2196#if defined(FEATURE_WLAN_WAPI)
2197 WDI_ENCR_WPI,
2198#endif
2199 WDI_ENCR_AES_128_CMAC
2200} WDI_EncryptType;
2201
2202/*---------------------------------------------------------------------------
2203 WDI_KeyDirectionType
2204---------------------------------------------------------------------------*/
2205typedef enum
2206{
2207 WDI_TX_ONLY,
2208 WDI_RX_ONLY,
2209 WDI_TX_RX,
Jeff Johnson295189b2012-06-20 16:38:30 -07002210 WDI_TX_DEFAULT,
Jeff Johnson295189b2012-06-20 16:38:30 -07002211 WDI_DONOT_USE_KEY_DIRECTION
2212} WDI_KeyDirectionType;
2213
2214#define WDI_MAX_ENCR_KEYS 4
2215#define WDI_MAX_KEY_LENGTH 32
2216#if defined(FEATURE_WLAN_WAPI)
2217#define WDI_MAX_KEY_RSC_LEN 16
2218#define WDI_WAPI_KEY_RSC_LEN 16
2219#else
2220#define WDI_MAX_KEY_RSC_LEN 8
2221#endif
2222
2223typedef struct
2224{
2225 /* Key ID */
2226 wpt_uint8 keyId;
2227 /* 0 for multicast */
2228 wpt_uint8 unicast;
2229 /* Key Direction */
2230 WDI_KeyDirectionType keyDirection;
2231 /* Usage is unknown */
2232 wpt_uint8 keyRsc[WDI_MAX_KEY_RSC_LEN];
2233 /* =1 for authenticator, =0 for supplicant */
2234 wpt_uint8 paeRole;
2235 wpt_uint16 keyLength;
2236 wpt_uint8 key[WDI_MAX_KEY_LENGTH];
2237
2238}WDI_KeysType;
2239
2240/*---------------------------------------------------------------------------
2241 WDI_SetBSSKeyReqInfoType
2242---------------------------------------------------------------------------*/
2243typedef struct
2244{
2245 /*BSS Index of the BSS*/
2246 wpt_uint8 ucBssIdx;
2247
2248 /*Encryption Type used with peer*/
2249 WDI_EncryptType wdiEncType;
2250
2251 /*Number of keys*/
2252 wpt_uint8 ucNumKeys;
2253
2254 /*Array of keys.*/
2255 WDI_KeysType aKeys[WDI_MAX_ENCR_KEYS];
2256
2257 /*Control for Replay Count, 1= Single TID based replay count on Tx
2258 0 = Per TID based replay count on TX */
2259 wpt_uint8 ucSingleTidRc;
2260}WDI_SetBSSKeyReqInfoType;
2261
2262/*---------------------------------------------------------------------------
2263 WDI_SetBSSKeyReqParamsType
2264---------------------------------------------------------------------------*/
2265typedef struct
2266{
2267 /*Key Info */
2268 WDI_SetBSSKeyReqInfoType wdiBSSKeyInfo;
2269
2270 /*Request status callback offered by UMAC - it is called if the current
2271 req has returned PENDING as status; it delivers the status of sending
2272 the message over the BUS */
2273 WDI_ReqStatusCb wdiReqStatusCB;
2274
2275 /*The user data passed in by UMAC, it will be sent back when the above
2276 function pointer will be called */
2277 void* pUserData;
2278}WDI_SetBSSKeyReqParamsType;
2279
2280/*---------------------------------------------------------------------------
2281 WDI_WepType
2282---------------------------------------------------------------------------*/
2283typedef enum
2284{
2285 WDI_WEP_STATIC,
2286 WDI_WEP_DYNAMIC
2287
2288} WDI_WepType;
2289
2290/*---------------------------------------------------------------------------
2291 WDI_RemoveBSSKeyReqInfoType
2292---------------------------------------------------------------------------*/
2293typedef struct
2294{
2295 /*BSS Index of the BSS*/
2296 wpt_uint8 ucBssIdx;
2297
2298 /*Encryption Type used with peer*/
2299 WDI_EncryptType wdiEncType;
2300
2301 /*Key Id*/
2302 wpt_uint8 ucKeyId;
2303
2304 /*STATIC/DYNAMIC. Used in Nullifying in Key Descriptors for Static/Dynamic
2305 keys*/
2306 WDI_WepType wdiWEPType;
2307}WDI_RemoveBSSKeyReqInfoType;
2308
2309/*---------------------------------------------------------------------------
2310 WDI_RemoveBSSKeyReqParamsType
2311---------------------------------------------------------------------------*/
2312typedef struct
2313{
2314 /*Key Info */
2315 WDI_RemoveBSSKeyReqInfoType wdiKeyInfo;
2316
2317 /*Request status callback offered by UMAC - it is called if the current
2318 req has returned PENDING as status; it delivers the status of sending
2319 the message over the BUS */
2320 WDI_ReqStatusCb wdiReqStatusCB;
2321
2322 /*The user data passed in by UMAC, it will be sent back when the above
2323 function pointer will be called */
2324 void* pUserData;
2325}WDI_RemoveBSSKeyReqParamsType;
2326
2327/*---------------------------------------------------------------------------
2328 WDI_SetSTAKeyReqInfoType
2329---------------------------------------------------------------------------*/
2330typedef struct
2331{
2332 /*STA Index*/
2333 wpt_uint8 ucSTAIdx;
2334
2335 /*Encryption Type used with peer*/
2336 WDI_EncryptType wdiEncType;
2337
2338 /*STATIC/DYNAMIC*/
2339 WDI_WepType wdiWEPType;
2340
2341 /*Default WEP key, valid only for static WEP, must between 0 and 3.*/
2342 wpt_uint8 ucDefWEPIdx;
2343
2344 /*Number of keys*/
2345 wpt_uint8 ucNumKeys;
2346
2347 /*Array of keys.*/
2348 WDI_KeysType wdiKey[WDI_MAX_ENCR_KEYS];
2349
2350 /*Control for Replay Count, 1= Single TID based replay count on Tx
2351 0 = Per TID based replay count on TX */
2352 wpt_uint8 ucSingleTidRc;
2353}WDI_SetSTAKeyReqInfoType;
2354
2355/*---------------------------------------------------------------------------
2356 WDI_ConfigBSSReqInfoType
2357---------------------------------------------------------------------------*/
2358typedef struct
2359{
2360 /*Peer BSSID*/
2361 wpt_macAddr macBSSID;
2362
2363 /*Self MAC Address*/
2364 wpt_macAddr macSelfAddr;
2365
2366 /*BSS Type*/
2367 WDI_BssType wdiBSSType;
2368
2369 /*Operational Mode: AP =0, STA = 1*/
2370 wpt_uint8 ucOperMode;
2371
2372 /*Network Type*/
2373 WDI_NwType wdiNWType;
2374
2375 /*Used to classify PURE_11G/11G_MIXED to program MTU*/
2376 wpt_uint8 ucShortSlotTimeSupported;
2377
2378 /*Co-exist with 11a STA*/
2379 wpt_uint8 ucllaCoexist;
2380
2381 /*Co-exist with 11b STA*/
2382 wpt_uint8 ucllbCoexist;
2383
2384 /*Co-exist with 11g STA*/
2385 wpt_uint8 ucllgCoexist;
2386
2387 /*Coexistence with 11n STA*/
2388 wpt_uint8 ucHT20Coexist;
2389
2390 /*Non GF coexist flag*/
2391 wpt_uint8 ucllnNonGFCoexist;
2392
2393 /*TXOP protection support*/
2394 wpt_uint8 ucTXOPProtectionFullSupport;
2395
2396 /*RIFS mode*/
2397 wpt_uint8 ucRIFSMode;
2398
2399 /*Beacon Interval in TU*/
2400 wpt_uint16 usBeaconInterval;
2401
2402 /*DTIM period*/
2403 wpt_uint8 ucDTIMPeriod;
2404
2405 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
2406 wpt_uint8 ucTXChannelWidthSet;
2407
2408 /*Operating channel*/
2409 wpt_uint8 ucCurrentOperChannel;
2410
2411 /*Extension channel for channel bonding*/
2412 wpt_uint8 ucCurrentExtChannel;
2413
2414 /*Context of the station being added in HW.*/
2415 WDI_ConfigStaReqInfoType wdiSTAContext;
2416
2417 /*SSID of the BSS*/
2418 WDI_MacSSid wdiSSID;
2419
2420 /*HAL should update the existing BSS entry, if this flag is set. UMAC will
2421 set this flag in case of RE-ASSOC, where we want to reuse the old BSSID*/
2422 WDI_ConfigAction wdiAction;
2423
2424 /*Basic Rate Set*/
2425 WDI_RateSet wdiRateSet;
2426
2427 /*Enable/Disable HT capabilities of the BSS*/
2428 wpt_uint8 ucHTCapable;
2429
2430 /* Enable/Disable OBSS protection */
2431 wpt_uint8 ucObssProtEnabled;
2432
2433 /*RMF enabled/disabled*/
2434 wpt_uint8 ucRMFEnabled;
2435
2436 /*Determines the current HT Operating Mode operating mode of the
2437 802.11n STA*/
2438 WDI_HTOperatingMode wdiHTOperMod;
2439
2440 /*Dual CTS Protection: 0 - Unused, 1 - Used*/
2441 wpt_uint8 ucDualCTSProtection;
2442
2443 /* Probe Response Max retries */
2444 wpt_uint8 ucMaxProbeRespRetryLimit;
2445
2446 /* To Enable Hidden ssid */
2447 wpt_uint8 bHiddenSSIDEn;
2448
2449 /* To Enable Disable FW Proxy Probe Resp */
2450 wpt_uint8 bProxyProbeRespEn;
2451
2452 /* Boolean to indicate if EDCA params are valid. UMAC might not have valid
2453 EDCA params or might not desire to apply EDCA params during config BSS.
2454 0 implies Not Valid ; Non-Zero implies valid*/
2455 wpt_uint8 ucEDCAParamsValid;
2456
2457 /*EDCA Parameters for BK*/
2458 WDI_EdcaParamRecord wdiBKEDCAParams;
2459
2460 /*EDCA Parameters for BE*/
2461 WDI_EdcaParamRecord wdiBEEDCAParams;
2462
2463 /*EDCA Parameters for VI*/
2464 WDI_EdcaParamRecord wdiVIEDCAParams;
2465
2466 /*EDCA Parameters for VO*/
2467 WDI_EdcaParamRecord wdiVOEDCAParams;
2468
2469#ifdef WLAN_FEATURE_VOWIFI
2470 /*max power to be used after applying the power constraint, if any */
2471 wpt_int8 cMaxTxPower;
2472#endif
2473
2474 /* Persona for the BSS can be STA,AP,GO,CLIENT, same as Connection Mode */
2475 wpt_uint8 ucPersona;
2476
2477 /* Spectrum Mangement Indicator */
2478 wpt_uint8 bSpectrumMgtEn;
2479
2480#ifdef WLAN_FEATURE_VOWIFI_11R
2481 wpt_uint8 bExtSetStaKeyParamValid;
2482 WDI_SetSTAKeyReqInfoType wdiExtSetKeyParam;
2483#endif
2484
Jeff Johnsone7245742012-09-05 17:12:55 -07002485#ifdef WLAN_FEATURE_11AC
2486 wpt_uint8 ucVhtCapableSta;
2487 wpt_uint8 ucVhtTxChannelWidthSet;
2488#endif
2489
Jeff Johnson295189b2012-06-20 16:38:30 -07002490}WDI_ConfigBSSReqInfoType;
2491
2492/*---------------------------------------------------------------------------
2493 WDI_PostAssocReqParamsType
2494---------------------------------------------------------------------------*/
2495typedef struct
2496{
2497 /*Config STA arguments.*/
2498 WDI_ConfigStaReqInfoType wdiSTAParams;
2499
2500 /*Config BSS Arguments*/
2501 WDI_ConfigBSSReqInfoType wdiBSSParams;
2502
2503 /*Request status callback offered by UMAC - it is called if the current
2504 req has returned PENDING as status; it delivers the status of sending
2505 the message over the BUS */
2506 WDI_ReqStatusCb wdiReqStatusCB;
2507
2508 /*The user data passed in by UMAC, it will be sent back when the above
2509 function pointer will be called */
2510 void* pUserData;
2511}WDI_PostAssocReqParamsType;
2512
2513/*---------------------------------------------------------------------------
2514 WDI_ConfigBSSReqParamsType
2515---------------------------------------------------------------------------*/
2516typedef struct
2517{
2518 /*Info for the Join request that will be sent down to the device*/
2519 WDI_ConfigBSSReqInfoType wdiReqInfo;
2520
2521 /*Request status callback offered by UMAC - it is called if the current
2522 req has returned PENDING as status; it delivers the status of sending
2523 the message over the BUS */
2524 WDI_ReqStatusCb wdiReqStatusCB;
2525
2526 /*The user data passed in by UMAC, it will be sent back when the above
2527 function pointer will be called */
2528 void* pUserData;
2529}WDI_ConfigBSSReqParamsType;
2530
2531/*---------------------------------------------------------------------------
2532 WDI_SetSTAKeyReqParamsType
2533---------------------------------------------------------------------------*/
2534typedef struct
2535{
2536 /*Key Info*/
2537 WDI_SetSTAKeyReqInfoType wdiKeyInfo;
2538
2539 /*Request status callback offered by UMAC - it is called if the current
2540 req has returned PENDING as status; it delivers the status of sending
2541 the message over the BUS */
2542 WDI_ReqStatusCb wdiReqStatusCB;
2543
2544 /*The user data passed in by UMAC, it will be sent back when the above
2545 function pointer will be called */
2546 void* pUserData;
2547}WDI_SetSTAKeyReqParamsType;
2548
2549/*---------------------------------------------------------------------------
2550 WDI_RemoveSTAKeyReqInfoType
2551---------------------------------------------------------------------------*/
2552typedef struct
2553{
2554 /*STA Index*/
2555 wpt_uint8 ucSTAIdx;
2556
2557 /*Encryption Type used with peer*/
2558 WDI_EncryptType wdiEncType;
2559
2560 /*Key Id*/
2561 wpt_uint8 ucKeyId;
2562
2563 /*Whether to invalidate the Broadcast key or Unicast key. In case of WEP,
2564 the same key is used for both broadcast and unicast.*/
2565 wpt_uint8 ucUnicast;
2566}WDI_RemoveSTAKeyReqInfoType;
2567
2568/*---------------------------------------------------------------------------
2569 WDI_RemoveSTAKeyReqParamsType
2570---------------------------------------------------------------------------*/
2571typedef struct
2572{
2573 /*Key Info */
2574 WDI_RemoveSTAKeyReqInfoType wdiKeyInfo;
2575
2576 /*Request status callback offered by UMAC - it is called if the current
2577 req has returned PENDING as status; it delivers the status of sending
2578 the message over the BUS */
2579 WDI_ReqStatusCb wdiReqStatusCB;
2580
2581 /*The user data passed in by UMAC, it will be sent back when the above
2582 function pointer will be called */
2583 void* pUserData;
2584}WDI_RemoveSTAKeyReqParamsType;
2585
2586/*---------------------------------------------------------------------------
2587 QOS Parameters
2588---------------------------------------------------------------------------*/
2589
2590/*---------------------------------------------------------------------------
2591 WDI_TSInfoTfc
2592---------------------------------------------------------------------------*/
2593typedef struct
2594{
2595 wpt_uint16 ackPolicy:2;
2596 wpt_uint16 userPrio:3;
2597 wpt_uint16 psb:1;
2598 wpt_uint16 aggregation : 1;
2599 wpt_uint16 accessPolicy : 2;
2600 wpt_uint16 direction : 2;
2601 wpt_uint16 tsid : 4;
2602 wpt_uint16 trafficType : 1;
2603} WDI_TSInfoTfc;
2604
2605/*---------------------------------------------------------------------------
2606 WDI_TSInfoSch
2607---------------------------------------------------------------------------*/
2608typedef struct
2609{
2610 wpt_uint8 rsvd : 7;
2611 wpt_uint8 schedule : 1;
2612} WDI_TSInfoSch;
2613
2614/*---------------------------------------------------------------------------
2615 WDI_TSInfoType
2616---------------------------------------------------------------------------*/
2617typedef struct
2618{
2619 WDI_TSInfoTfc wdiTraffic;
2620 WDI_TSInfoSch wdiSchedule;
2621} WDI_TSInfoType;
2622
2623/*---------------------------------------------------------------------------
2624 WDI_TspecIEType
2625---------------------------------------------------------------------------*/
2626typedef struct
2627{
2628 wpt_uint8 ucType;
2629 wpt_uint8 ucLength;
2630 WDI_TSInfoType wdiTSinfo;
2631 wpt_uint16 usNomMsduSz;
2632 wpt_uint16 usMaxMsduSz;
2633 wpt_uint32 uMinSvcInterval;
2634 wpt_uint32 uMaxSvcInterval;
2635 wpt_uint32 uInactInterval;
2636 wpt_uint32 uSuspendInterval;
2637 wpt_uint32 uSvcStartTime;
2638 wpt_uint32 uMinDataRate;
2639 wpt_uint32 uMeanDataRate;
2640 wpt_uint32 uPeakDataRate;
2641 wpt_uint32 uMaxBurstSz;
2642 wpt_uint32 uDelayBound;
2643 wpt_uint32 uMinPhyRate;
2644 wpt_uint16 usSurplusBw;
2645 wpt_uint16 usMediumTime;
2646}WDI_TspecIEType;
2647
2648/*---------------------------------------------------------------------------
2649 WDI_AddTSReqInfoType
2650---------------------------------------------------------------------------*/
2651typedef struct
2652{
2653 /*STA Index*/
2654 wpt_uint8 ucSTAIdx;
2655
2656 /*Identifier for TSpec*/
2657 wpt_uint16 ucTspecIdx;
2658
2659 /*Tspec IE negotiated OTA*/
2660 WDI_TspecIEType wdiTspecIE;
2661
2662 /*UAPSD delivery and trigger enabled flags */
2663 wpt_uint8 ucUapsdFlags;
2664
2665 /*SI for each AC*/
2666 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
2667
2668 /*Suspend Interval for each AC*/
2669 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
2670
2671 /*DI for each AC*/
2672 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
2673
2674}WDI_AddTSReqInfoType;
2675
2676
2677/*---------------------------------------------------------------------------
2678 WDI_AddTSReqParamsType
2679---------------------------------------------------------------------------*/
2680typedef struct
2681{
2682 /*TSpec Info */
2683 WDI_AddTSReqInfoType wdiTsInfo;
2684
2685 /*Request status callback offered by UMAC - it is called if the current
2686 req has returned PENDING as status; it delivers the status of sending
2687 the message over the BUS */
2688 WDI_ReqStatusCb wdiReqStatusCB;
2689
2690 /*The user data passed in by UMAC, it will be sent back when the above
2691 function pointer will be called */
2692 void* pUserData;
2693}WDI_AddTSReqParamsType;
2694
2695/*---------------------------------------------------------------------------
2696 WDI_DelTSReqInfoType
2697---------------------------------------------------------------------------*/
2698typedef struct
2699{
2700 /*STA Index*/
2701 wpt_uint8 ucSTAIdx;
2702
2703 /*Identifier for TSpec*/
2704 wpt_uint16 ucTspecIdx;
2705
2706 /*BSSID of the BSS*/
2707 wpt_macAddr macBSSID;
2708}WDI_DelTSReqInfoType;
2709
2710/*---------------------------------------------------------------------------
2711 WDI_DelTSReqParamsType
2712---------------------------------------------------------------------------*/
2713typedef struct
2714{
2715 /*Del TSpec Info*/
2716 WDI_DelTSReqInfoType wdiDelTSInfo;
2717
2718 /*Request status callback offered by UMAC - it is called if the current
2719 req has returned PENDING as status; it delivers the status of sending
2720 the message over the BUS */
2721 WDI_ReqStatusCb wdiReqStatusCB;
2722
2723 /*The user data passed in by UMAC, it will be sent back when the above
2724 function pointer will be called */
2725 void* pUserData;
2726}WDI_DelTSReqParamsType;
2727
2728/*---------------------------------------------------------------------------
2729 WDI_UpdateEDCAInfoType
2730---------------------------------------------------------------------------*/
2731typedef struct
2732{
krunal soni0b366c02013-07-17 19:55:57 -07002733 /*BSS Index of the BSS*/
2734 wpt_uint16 ucBssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07002735
Jeff Johnson295189b2012-06-20 16:38:30 -07002736 /*EDCA params for BE*/
2737 WDI_EdcaParamRecord wdiEdcaBEInfo;
2738
2739 /*EDCA params for BK*/
2740 WDI_EdcaParamRecord wdiEdcaBKInfo;
2741
2742 /*EDCA params for VI*/
2743 WDI_EdcaParamRecord wdiEdcaVIInfo;
2744
2745 /*EDCA params for VO*/
2746 WDI_EdcaParamRecord wdiEdcaVOInfo;
2747
2748}WDI_UpdateEDCAInfoType;
2749
2750/*---------------------------------------------------------------------------
2751 WDI_UpdateEDCAParamsType
2752---------------------------------------------------------------------------*/
2753typedef struct
2754{
2755 /*EDCA Info */
2756 WDI_UpdateEDCAInfoType wdiEDCAInfo;
2757
2758 /*Request status callback offered by UMAC - it is called if the current
2759 req has returned PENDING as status; it delivers the status of sending
2760 the message over the BUS */
2761 WDI_ReqStatusCb wdiReqStatusCB;
2762
2763 /*The user data passed in by UMAC, it will be sent back when the above
2764 function pointer will be called */
2765 void* pUserData;
2766}WDI_UpdateEDCAParamsType;
2767
2768/*---------------------------------------------------------------------------
2769 WDI_AddBASessionReqinfoType
2770---------------------------------------------------------------------------*/
2771typedef struct
2772{
2773 /*Indicates the station for which BA is added..*/
2774 wpt_uint8 ucSTAIdx;
2775
2776 /*The peer mac address*/
2777 wpt_macAddr macPeerAddr;
2778
2779 /*TID for which BA was negotiated*/
2780 wpt_uint8 ucBaTID;
2781
2782 /*Delayed or imediate */
2783 wpt_uint8 ucBaPolicy;
2784
2785 /*The number of buffers for this TID (baTID)*/
2786 wpt_uint16 usBaBufferSize;
2787
2788 /*BA timeout in TU's*/
2789 wpt_uint16 usBaTimeout;
2790
2791 /*b0..b3 - Fragment Number - Always set to 0
2792 b4..b15 - Starting Sequence Number of first MSDU for which this BA is setup*/
2793 wpt_uint16 usBaSSN;
2794
2795 /*Originator/Recipient*/
2796 wpt_uint8 ucBaDirection;
2797
2798}WDI_AddBASessionReqinfoType;
2799
2800
2801/*---------------------------------------------------------------------------
2802 WDI_AddBASessionReqParamsType
2803---------------------------------------------------------------------------*/
2804typedef struct
2805{
2806 /*BA Session Info Type*/
2807 WDI_AddBASessionReqinfoType wdiBASessionInfoType;
2808
2809 /*Request status callback offered by UMAC - it is called if the current
2810 req has returned PENDING as status; it delivers the status of sending
2811 the message over the BUS */
2812 WDI_ReqStatusCb wdiReqStatusCB;
2813
2814 /*The user data passed in by UMAC, it will be sent back when the above
2815 function pointer will be called */
2816 void* pUserData;
2817}WDI_AddBASessionReqParamsType;
2818
2819/*---------------------------------------------------------------------------
2820 WDI_AddBASessionRspParamsType
2821---------------------------------------------------------------------------*/
2822typedef struct
2823{
2824 /*Status of the response*/
2825 WDI_Status wdiStatus;
2826
2827 /* Dialog token */
2828 wpt_uint8 ucBaDialogToken;
2829
2830 /* TID for which the BA session has been setup */
2831 wpt_uint8 ucBaTID;
2832
2833 /* BA Buffer Size allocated for the current BA session */
2834 wpt_uint8 ucBaBufferSize;
2835
2836 /* BA session ID */
2837 wpt_uint16 usBaSessionID;
2838
2839 /* Reordering Window buffer */
2840 wpt_uint8 ucWinSize;
2841
2842 /*Station Index to id the sta */
2843 wpt_uint8 ucSTAIdx;
2844
2845 /* Starting Sequence Number */
2846 wpt_uint16 usBaSSN;
2847
2848}WDI_AddBASessionRspParamsType;
2849
2850/*---------------------------------------------------------------------------
Siddharth Bhal171788a2014-09-29 21:02:40 +05302851 WDI_SpoofMacAddrRspParamType
2852---------------------------------------------------------------------------*/
2853typedef struct
2854{
2855 /* wdi status */
2856 wpt_uint32 wdiStatus;
2857
2858 /* Reserved Field */
2859 wpt_uint32 reserved;
2860
2861}WDI_SpoofMacAddrRspParamType;
2862/*---------------------------------------------------------------------------
Siddharth Bhal64246172015-02-27 01:04:37 +05302863 WDI_GetFrameLogRspParamType
2864---------------------------------------------------------------------------*/
2865typedef struct
2866{
2867 /* wdi status */
2868 wpt_uint32 wdiStatus;
2869}WDI_GetFrameLogRspParamType;
2870/*---------------------------------------------------------------------------
Siddharth Bhald1be97f2015-05-27 22:39:59 +05302871 WDI_FWLoggingInitRspParamType
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05302872---------------------------------------------------------------------------*/
2873typedef struct
2874{
Siddharth Bhald1be97f2015-05-27 22:39:59 +05302875 //FW mail box address
2876 wpt_uint64 logMailBoxAddr;
2877 wpt_uint32 status;
2878 //Logging mail box version
2879 wpt_uint8 logMailBoxVer;
2880 //Qshrink is enabled
2881 wpt_boolean logCompressEnabled;
c_manjeecfd1efb2015-09-25 19:32:34 +05302882 /* store the size of fw mem dump */
2883 wpt_uint32 fw_mem_dump_max_size;
Siddharth Bhald1be97f2015-05-27 22:39:59 +05302884 //Reserved for future purpose
Siddharth Bhald1be97f2015-05-27 22:39:59 +05302885 wpt_uint32 reserved1;
2886 wpt_uint32 reserved2;
2887}WDI_FWLoggingInitRspParamType;
Sachin Ahuja715aafc2015-07-21 23:35:10 +05302888
Gupta, Kapil7c34b322015-09-30 13:12:35 +05302889typedef struct
2890{
2891 /* wdi status */
2892 wpt_uint32 status;
2893}WDI_RssiMonitorStartRspParamType;
Sachin Ahuja715aafc2015-07-21 23:35:10 +05302894
Gupta, Kapil7c34b322015-09-30 13:12:35 +05302895typedef struct
2896{
2897 /* wdi status */
2898 wpt_uint32 status;
2899}WDI_RssiMonitorStopRspParamType;
Sachin Ahuja715aafc2015-07-21 23:35:10 +05302900/*---------------------------------------------------------------------------
2901 WDI_FatalEventLogsRspParamType
2902---------------------------------------------------------------------------*/
2903typedef struct
2904{
2905 /* wdi status */
2906 wpt_uint32 wdiStatus;
2907}WDI_FatalEventLogsRspParamType;
2908
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05302909/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07002910 WDI_AddBAReqinfoType
2911---------------------------------------------------------------------------*/
2912typedef struct
2913{
2914 /*Indicates the station for which BA is added..*/
2915 wpt_uint8 ucSTAIdx;
2916
2917 /* Session Id */
2918 wpt_uint8 ucBaSessionID;
2919
2920 /* Reorder Window Size */
2921 wpt_uint8 ucWinSize;
2922
2923#ifdef FEATURE_ON_CHIP_REORDERING
2924 wpt_boolean bIsReorderingDoneOnChip;
2925#endif
2926
2927}WDI_AddBAReqinfoType;
2928
2929
2930/*---------------------------------------------------------------------------
2931 WDI_AddBAReqParamsType
2932---------------------------------------------------------------------------*/
2933typedef struct
2934{
2935 /*BA Info Type*/
2936 WDI_AddBAReqinfoType wdiBAInfoType;
2937
2938 /*Request status callback offered by UMAC - it is called if the current
2939 req has returned PENDING as status; it delivers the status of sending
2940 the message over the BUS */
2941 WDI_ReqStatusCb wdiReqStatusCB;
2942
2943 /*The user data passed in by UMAC, it will be sent back when the above
2944 function pointer will be called */
2945 void* pUserData;
2946}WDI_AddBAReqParamsType;
2947
2948
2949/*---------------------------------------------------------------------------
2950 WDI_AddBARspinfoType
2951---------------------------------------------------------------------------*/
2952typedef struct
2953{
2954 /*Status of the response*/
2955 WDI_Status wdiStatus;
2956
2957 /* Dialog token */
2958 wpt_uint8 ucBaDialogToken;
2959
2960}WDI_AddBARspinfoType;
2961
2962/*---------------------------------------------------------------------------
2963 WDI_TriggerBAReqCandidateType
2964---------------------------------------------------------------------------*/
2965typedef struct
2966{
2967 /* STA index */
2968 wpt_uint8 ucSTAIdx;
2969
2970 /* TID bit map for the STA's*/
2971 wpt_uint8 ucTidBitmap;
2972
2973}WDI_TriggerBAReqCandidateType;
2974
2975
2976/*---------------------------------------------------------------------------
2977 WDI_TriggerBAReqinfoType
2978---------------------------------------------------------------------------*/
2979typedef struct
2980{
2981 /*Indicates the station for which BA is added..*/
2982 wpt_uint8 ucSTAIdx;
2983
2984 /* Session Id */
2985 wpt_uint8 ucBASessionID;
2986
2987 /* Trigger BA Request candidate count */
2988 wpt_uint16 usBACandidateCnt;
2989
2990 /* WDI_TriggerBAReqCandidateType followed by this*/
2991
2992}WDI_TriggerBAReqinfoType;
2993
2994
2995/*---------------------------------------------------------------------------
2996 WDI_TriggerBAReqParamsType
2997---------------------------------------------------------------------------*/
2998typedef struct
2999{
3000 /*BA Trigger Info Type*/
3001 WDI_TriggerBAReqinfoType wdiTriggerBAInfoType;
3002
3003 /*Request status callback offered by UMAC - it is called if the current
3004 req has returned PENDING as status; it delivers the status of sending
3005 the message over the BUS */
3006 WDI_ReqStatusCb wdiReqStatusCB;
3007
3008 /*The user data passed in by UMAC, it will be sent back when the above
3009 function pointer will be called */
3010 void* pUserData;
3011}WDI_TriggerBAReqParamsType;
3012
3013/*---------------------------------------------------------------------------
3014 WDI_AddBAInfoType
3015---------------------------------------------------------------------------*/
3016typedef struct
3017{
3018 wpt_uint16 fBaEnable : 1;
3019 wpt_uint16 startingSeqNum: 12;
3020 wpt_uint16 reserved : 3;
3021}WDI_AddBAInfoType;
3022
3023/*---------------------------------------------------------------------------
3024 WDI_TriggerBARspCandidateType
3025---------------------------------------------------------------------------*/
3026#define STA_MAX_TC 8
3027
3028typedef struct
3029{
3030 /* STA index */
3031 wpt_macAddr macSTA;
3032
3033 /* BA Info */
3034 WDI_AddBAInfoType wdiBAInfo[STA_MAX_TC];
3035}WDI_TriggerBARspCandidateType;
3036
3037/*---------------------------------------------------------------------------
3038 WDI_TriggerBARspParamsType
3039---------------------------------------------------------------------------*/
3040typedef struct
3041{
3042 /*Status of the response*/
3043 WDI_Status wdiStatus;
3044
3045 /*BSSID of the BSS*/
3046 wpt_macAddr macBSSID;
3047
3048 /* Trigger BA response candidate count */
3049 wpt_uint16 usBaCandidateCnt;
3050
3051 /* WDI_TriggerBARspCandidateType followed by this*/
3052
3053}WDI_TriggerBARspParamsType;
3054
3055/*---------------------------------------------------------------------------
3056 WDI_DelBAReqinfoType
3057---------------------------------------------------------------------------*/
3058typedef struct
3059{
3060 /*Indicates the station for which BA is added..*/
3061 wpt_uint8 ucSTAIdx;
3062
3063 /*TID for which BA was negotiated*/
3064 wpt_uint8 ucBaTID;
3065
3066 /*Originator/Recipient*/
3067 wpt_uint8 ucBaDirection;
3068
3069}WDI_DelBAReqinfoType;
3070
3071/*---------------------------------------------------------------------------
3072 WDI_DelBAReqParamsType
3073---------------------------------------------------------------------------*/
3074typedef struct
3075{
3076 /*BA Info */
3077 WDI_DelBAReqinfoType wdiBAInfo;
3078
3079 /*Request status callback offered by UMAC - it is called if the current
3080 req has returned PENDING as status; it delivers the status of sending
3081 the message over the BUS */
3082 WDI_ReqStatusCb wdiReqStatusCB;
3083
3084 /*The user data passed in by UMAC, it will be sent back when the above
3085 function pointer will be called */
3086 void* pUserData;
3087}WDI_DelBAReqParamsType;
3088
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08003089/*---------------------------------------------------------------------------
3090 WDI_UpdateChannelReqinfoType
3091---------------------------------------------------------------------------*/
3092typedef struct
3093{
3094 /** primary 20 MHz channel frequency in mhz */
3095 wpt_uint32 mhz;
3096 /** Center frequency 1 in MHz*/
3097 wpt_uint32 band_center_freq1;
3098 /** Center frequency 2 in MHz - valid only for 11acvht 80plus80 mode*/
3099 wpt_uint32 band_center_freq2;
3100 /* The first 26 bits are a bit mask to indicate any channel flags,
3101 (see WLAN_HAL_CHAN_FLAG*)
3102 The last 6 bits indicate the mode (see tChannelPhyModeType)*/
3103 wpt_uint32 channel_info;
3104 /** contains min power, max power, reg power and reg class id. */
3105 wpt_uint32 reg_info_1;
3106 /** contains antennamax */
3107 wpt_uint32 reg_info_2;
3108}WDI_UpdateChannelReqinfoType;
3109
3110typedef struct
3111{
3112 wpt_uint8 numchan;
3113 WDI_UpdateChannelReqinfoType *pchanParam;
3114}WDI_UpdateChannelReqType;
3115/*---------------------------------------------------------------------------
3116 WDI_UpdateChReqParamsType
3117---------------------------------------------------------------------------*/
3118typedef struct
3119{
3120 /*BA Info */
3121 WDI_UpdateChannelReqType wdiUpdateChanParams;
3122
3123 /*Request status callback offered by UMAC - it is called if the current
3124 req has returned PENDING as status; it delivers the status of sending
3125 the message over the BUS */
3126 WDI_ReqStatusCb wdiReqStatusCB;
3127
3128 /*The user data passed in by UMAC, it will be sent back when the above
3129 function pointer will be called */
3130 void* pUserData;
3131}WDI_UpdateChReqParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003132
3133/*---------------------------------------------------------------------------
3134 WDI_SwitchCHRspParamsType
3135---------------------------------------------------------------------------*/
3136typedef struct
3137{
3138 /*Status of the response*/
3139 WDI_Status wdiStatus;
3140
3141 /*Indicates the channel that WLAN is on*/
3142 wpt_uint8 ucChannel;
3143
3144#ifdef WLAN_FEATURE_VOWIFI
3145 /*HAL fills in the tx power used for mgmt frames in this field.*/
3146 wpt_int8 ucTxMgmtPower;
3147#endif
3148
3149}WDI_SwitchCHRspParamsType;
3150
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08003151/*--------------------------------------------------------------------
3152 WDI_SwitchChRspParamsType_V1
3153--------------------------------------------------------------------*/
3154typedef struct
3155{
3156 /*Status of the response*/
3157 WDI_Status wdiStatus;
3158
3159 /*Indicates the channel that WLAN is on*/
3160 wpt_uint8 ucChannel;
3161
3162#ifdef WLAN_FEATURE_VOWIFI
3163 /*HAL fills in the tx power used for mgmt frames in this field.*/
3164 wpt_int8 ucTxMgmtPower;
3165#endif
3166
3167 /* Source of Channel Switch */
3168 WDI_ChanSwitchSource channelSwitchSrc;
3169}WDI_SwitchChRspParamsType_V1;
3170
Jeff Johnson295189b2012-06-20 16:38:30 -07003171/*---------------------------------------------------------------------------
3172 WDI_ConfigSTAReqParamsType
3173---------------------------------------------------------------------------*/
3174typedef struct
3175{
3176 /*Info for the Join request that will be sent down to the device*/
3177 WDI_ConfigStaReqInfoType wdiReqInfo;
3178
3179 /*Request status callback offered by UMAC - it is called if the current
3180 req has returned PENDING as status; it delivers the status of sending
3181 the message over the BUS */
3182 WDI_ReqStatusCb wdiReqStatusCB;
3183
3184 /*The user data passed in by UMAC, it will be sent back when the above
3185 function pointer will be called */
3186 void* pUserData;
3187}WDI_ConfigSTAReqParamsType;
3188
3189
3190/*---------------------------------------------------------------------------
3191 WDI_UpdateBeaconParamsInfoType
3192---------------------------------------------------------------------------*/
3193
3194typedef struct
3195{
3196 /*BSS Index of the BSS*/
3197 wpt_uint8 ucBssIdx;
3198
3199 /*shortPreamble mode. HAL should update all the STA rates when it
3200 receives this message*/
3201 wpt_uint8 ucfShortPreamble;
3202 /* short Slot time.*/
3203 wpt_uint8 ucfShortSlotTime;
3204 /* Beacon Interval */
3205 wpt_uint16 usBeaconInterval;
3206 /*Protection related */
3207 wpt_uint8 ucllaCoexist;
3208 wpt_uint8 ucllbCoexist;
3209 wpt_uint8 ucllgCoexist;
3210 wpt_uint8 ucHt20MhzCoexist;
3211 wpt_uint8 ucllnNonGFCoexist;
3212 wpt_uint8 ucfLsigTXOPProtectionFullSupport;
3213 wpt_uint8 ucfRIFSMode;
3214
3215 wpt_uint16 usChangeBitmap;
3216}WDI_UpdateBeaconParamsInfoType;
3217
Mohit Khanna4a70d262012-09-11 16:30:12 -07003218#ifdef WLAN_FEATURE_11AC
3219typedef struct
3220{
3221 wpt_uint16 opMode;
3222 wpt_uint16 staId;
3223}WDI_UpdateVHTOpMode;
3224#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003225
3226/*---------------------------------------------------------------------------
3227 WDI_UpdateBeaconParamsType
3228---------------------------------------------------------------------------*/
3229typedef struct
3230{
3231 /*Update Beacon Params Info*/
3232 WDI_UpdateBeaconParamsInfoType wdiUpdateBeaconParamsInfo;
3233
3234 /*Request status callback offered by UMAC - it is called if the current
3235 req has returned PENDING as status; it delivers the status of sending
3236 the message over the BUS */
3237 WDI_ReqStatusCb wdiReqStatusCB;
3238
3239 /*The user data passed in by UMAC, it will be sent back when the above
3240 function pointer will be called */
3241 void* pUserData;
3242}WDI_UpdateBeaconParamsType;
3243
3244/*---------------------------------------------------------------------------
3245 WDI_SendBeaconParamsInfoType
3246---------------------------------------------------------------------------*/
3247
3248typedef struct {
3249
3250 /*BSSID of the BSS*/
3251 wpt_macAddr macBSSID;
3252
3253 /* Beacon data */
3254 wpt_uint8 beacon[WDI_BEACON_TEMPLATE_SIZE];
3255
3256 /* length of the template */
3257 wpt_uint32 beaconLength;
3258
Jeff Johnson295189b2012-06-20 16:38:30 -07003259 /* TIM IE offset from the beginning of the template.*/
3260 wpt_uint32 timIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07003261
Jeff Johnson295189b2012-06-20 16:38:30 -07003262 /* P2P IE offset from the beginning of the template */
3263 wpt_uint16 usP2PIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07003264} WDI_SendBeaconParamsInfoType;
3265
3266/*---------------------------------------------------------------------------
3267 WDI_SendBeaconParamsType
3268---------------------------------------------------------------------------*/
3269typedef struct
3270{
3271 /*Send Beacon Params Info*/
3272 WDI_SendBeaconParamsInfoType wdiSendBeaconParamsInfo;
3273
3274 /*Request status callback offered by UMAC - it is called if the current
3275 req has returned PENDING as status; it delivers the status of sending
3276 the message over the BUS */
3277 WDI_ReqStatusCb wdiReqStatusCB;
3278
3279 /*The user data passed in by UMAC, it will be sent back when the above
3280 function pointer will be called */
3281 void* pUserData;
3282}WDI_SendBeaconParamsType;
3283
3284/*---------------------------------------------------------------------------
3285 WDI_LinkStateType
3286---------------------------------------------------------------------------*/
3287typedef enum
3288{
3289 WDI_LINK_IDLE_STATE = 0,
3290 WDI_LINK_PREASSOC_STATE = 1,
3291 WDI_LINK_POSTASSOC_STATE = 2,
3292 WDI_LINK_AP_STATE = 3,
3293 WDI_LINK_IBSS_STATE = 4,
3294
3295 // BT-AMP Case
3296 WDI_LINK_BTAMP_PREASSOC_STATE = 5,
3297 WDI_LINK_BTAMP_POSTASSOC_STATE = 6,
3298 WDI_LINK_BTAMP_AP_STATE = 7,
3299 WDI_LINK_BTAMP_STA_STATE = 8,
3300
3301 // Reserved for HAL internal use
3302 WDI_LINK_LEARN_STATE = 9,
3303 WDI_LINK_SCAN_STATE = 10,
3304 WDI_LINK_FINISH_SCAN_STATE = 11,
3305 WDI_LINK_INIT_CAL_STATE = 12,
3306 WDI_LINK_FINISH_CAL_STATE = 13,
Jeff Johnson295189b2012-06-20 16:38:30 -07003307 WDI_LINK_LISTEN_STATE = 14,
Gopichand Nakkala924e4552013-05-08 19:18:14 +05303308 WDI_LINK_SEND_ACTION_STATE = 15,
Padma, Santhosh Kumar5c317832017-01-20 15:53:00 +05303309#ifdef WLAN_FEATURE_LFR_MBB
3310 WDI_LINK_PRE_AUTH_REASSOC_STATE = 17,
3311#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003312 WDI_LINK_MAX = 0x7FFFFFFF
3313} WDI_LinkStateType;
3314
3315/*---------------------------------------------------------------------------
3316 WDI_SetLinkReqInfoType
3317---------------------------------------------------------------------------*/
3318typedef struct
3319{
3320 /*BSSID of the BSS*/
3321 wpt_macAddr macBSSID;
3322
3323 /*Link state*/
3324 WDI_LinkStateType wdiLinkState;
3325
3326 /*BSSID of the BSS*/
3327 wpt_macAddr macSelfStaMacAddr;
3328}WDI_SetLinkReqInfoType;
3329
3330/*---------------------------------------------------------------------------
3331 WDI_SetLinkReqParamsType
3332---------------------------------------------------------------------------*/
3333typedef struct
3334{
3335 /*Link Info*/
3336 WDI_SetLinkReqInfoType wdiLinkInfo;
3337
3338 /*Request status callback offered by UMAC - it is called if the current
3339 req has returned PENDING as status; it delivers the status of sending
3340 the message over the BUS */
3341 WDI_ReqStatusCb wdiReqStatusCB;
3342
3343 /*The user data passed in by UMAC, it will be sent back when the above
3344 function pointer will be called */
3345 void* pUserData;
3346}WDI_SetLinkReqParamsType;
3347
3348/*---------------------------------------------------------------------------
3349 WDI_GetStatsParamsInfoType
3350---------------------------------------------------------------------------*/
3351typedef struct
3352{
3353 /*Indicates the station for which Get Stats are requested..*/
3354 wpt_uint8 ucSTAIdx;
3355
3356 /* categories of stats requested */
3357 wpt_uint32 uStatsMask;
3358}WDI_GetStatsParamsInfoType;
3359
3360/*---------------------------------------------------------------------------
3361 WDI_GetStatsReqParamsType
3362---------------------------------------------------------------------------*/
3363typedef struct
3364{
3365 /*Get Stats Params Info*/
3366 WDI_GetStatsParamsInfoType wdiGetStatsParamsInfo;
3367
3368 /*Request status callback offered by UMAC - it is called if the current
3369 req has returned PENDING as status; it delivers the status of sending
3370 the message over the BUS */
3371 WDI_ReqStatusCb wdiReqStatusCB;
3372
3373 /*The user data passed in by UMAC, it will be sent back when the above
3374 function pointer will be called */
3375 void* pUserData;
3376}WDI_GetStatsReqParamsType;
3377
3378/*---------------------------------------------------------------------------
3379 WDI_GetStatsRspParamsType
3380---------------------------------------------------------------------------*/
3381typedef struct
3382{
3383 /*message type is same as the request type*/
3384 wpt_uint16 usMsgType;
3385
3386 /* length of the entire request, includes the pStatsBuf length too*/
3387 wpt_uint16 usMsgLen;
3388
3389 /*Result of the operation*/
3390 WDI_Status wdiStatus;
3391
3392 /*Indicates the station for which Get Stats are requested..*/
3393 wpt_uint8 ucSTAIdx;
3394
3395 /* categories of stats requested */
3396 wpt_uint32 uStatsMask;
3397
3398 /* The Stats buffer starts here and can be an aggregate of more than one statistics
3399 * structure depending on statsMask.*/
3400}WDI_GetStatsRspParamsType;
3401
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003402#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08003403/*---------------------------------------------------------------------------
3404 WDI_GetRoamRssiParamsInfoType
3405---------------------------------------------------------------------------*/
3406typedef struct
3407{
3408 /*Indicates the station for which Get Stats are requested..*/
3409 wpt_uint8 ucSTAIdx;
3410
3411 /* categories of stats requested */
3412 wpt_uint32 uStatsMask;
3413}WDI_GetRoamRssiParamsInfoType;
3414
3415/*---------------------------------------------------------------------------
3416 WDI_GetRoamRssiReqParamsType
3417---------------------------------------------------------------------------*/
3418typedef struct
3419{
3420 /*Get Roam Rssi Params Info*/
3421 WDI_GetRoamRssiParamsInfoType wdiGetRoamRssiParamsInfo;
3422
3423 /*Request status callback offered by UMAC - it is called if the current
3424 req has returned PENDING as status; it delivers the status of sending
3425 the message over the BUS */
3426 WDI_ReqStatusCb wdiReqStatusCB;
3427
3428 /*The user data passed in by UMAC, it will be sent back when the above
3429 function pointer will be called */
3430 void* pUserData;
3431}WDI_GetRoamRssiReqParamsType;
3432
3433/*---------------------------------------------------------------------------
3434 WDI_GetRoamRssiRspParamsType
3435---------------------------------------------------------------------------*/
3436typedef struct
3437{
3438 /*Result of the operation*/
3439 WDI_Status wdiStatus;
3440
3441 /*Indicates the station for which Get Stats are requested..*/
3442 wpt_uint8 ucSTAIdx;
3443
3444 /* roam rssi requested */
3445 wpt_int8 rssi;
3446
3447 /* The Stats buffer starts here and can be an aggregate of more than one statistics
3448 * structure depending on statsMask.*/
3449}WDI_GetRoamRssiRspParamsType;
3450#endif
3451
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003452#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07003453/*---------------------------------------------------------------------------
3454 WDI_TSMStatsParamsInfoType
3455---------------------------------------------------------------------------*/
3456typedef struct
3457{
3458 /*Indicates the station for which Get Stats are requested..*/
3459 wpt_uint8 ucTid;
3460
3461 wpt_macAddr bssid;
3462}WDI_TSMStatsParamsInfoType;
3463
3464/*---------------------------------------------------------------------------
3465 WDI_TSMStatsReqParamsType
3466---------------------------------------------------------------------------*/
3467typedef struct
3468{
3469 /*Get TSM Stats Params Info*/
3470 WDI_TSMStatsParamsInfoType wdiTsmStatsParamsInfo;
3471
3472 WDI_ReqStatusCb wdiReqStatusCB;
3473
3474 /*The user data passed in by UMAC, it will be sent back when the above
3475 function pointer will be called */
3476 void* pUserData;
3477
3478}WDI_TSMStatsReqParamsType;
3479
3480
3481/*---------------------------------------------------------------------------
3482 WDI_TSMStatsRspParamsType
3483---------------------------------------------------------------------------*/
3484typedef struct
3485{
3486 /*Indicates the status of the operation */
3487 WDI_Status wdiStatus;
3488
3489 wpt_uint16 UplinkPktQueueDly;
3490 wpt_uint16 UplinkPktQueueDlyHist[4];
3491 wpt_uint32 UplinkPktTxDly;
3492 wpt_uint16 UplinkPktLoss;
3493 wpt_uint16 UplinkPktCount;
3494 wpt_uint8 RoamingCount;
3495 wpt_uint16 RoamingDly;
3496}WDI_TSMStatsRspParamsType;
3497
3498
3499#endif
3500/*---------------------------------------------------------------------------
3501 WDI_UpdateCfgReqParamsType
3502---------------------------------------------------------------------------*/
3503typedef struct
3504{
3505 /*This is a TLV formatted buffer containing all config values that can
3506 be set through the DAL Interface
3507
3508 The TLV is expected to be formatted like this:
3509
3510 0 7 15 31 ....
3511 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
3512
3513 Or from a C construct point of VU it would look like this:
3514
3515 typedef struct WPT_PACK_POST
3516 {
3517 #ifdef WPT_BIG_ENDIAN
3518 wpt_uint32 ucCfgId:8;
3519 wpt_uint32 ucCfgLen:8;
3520 wpt_uint32 usReserved:16;
3521 #else
3522 wpt_uint32 usReserved:16;
3523 wpt_uint32 ucCfgLen:8;
3524 wpt_uint32 ucCfgId:8;
3525 #endif
3526
3527 wpt_uint8 ucCfgBody[ucCfgLen];
3528 }WDI_ConfigType;
3529
3530 Multiple such tuplets are to be placed in the config buffer. One for
3531 each required configuration item:
3532
3533 | TLV 1 | TLV2 | ....
3534
3535 The buffer is expected to be a flat area of memory that can be manipulated
3536 with standard memory routines.
3537
3538 For more info please check paragraph 2.3.1 Config Structure from the
3539 HAL LLD.
3540
3541 For a list of accepted configuration list and IDs please look up
3542 wlan_qct_dal_cfg.h
3543 */
3544 void* pConfigBuffer;
3545
3546 /*Length of the config buffer above*/
3547 wpt_uint32 uConfigBufferLen;
3548
3549 /*Request status callback offered by UMAC - it is called if the current
3550 req has returned PENDING as status; it delivers the status of sending
3551 the message over the BUS */
3552 WDI_ReqStatusCb wdiReqStatusCB;
3553
3554 /*The user data passed in by UMAC, it will be sent back when the above
3555 function pointer will be called */
3556 void* pUserData;
3557}WDI_UpdateCfgReqParamsType;
3558
3559/*---------------------------------------------------------------------------
3560 WDI_UpdateProbeRspTemplateInfoType
3561---------------------------------------------------------------------------*/
3562//Default Beacon template size
3563#define WDI_PROBE_RSP_TEMPLATE_SIZE 0x180
3564
3565#define WDI_PROBE_REQ_BITMAP_IE_LEN 8
3566
3567typedef struct
3568{
3569 /*BSSID for which the Probe Template is to be used*/
3570 wpt_macAddr macBSSID;
3571
Jeff Johnson295189b2012-06-20 16:38:30 -07003572 /*Template Len*/
3573 wpt_uint32 uProbeRespTemplateLen;
3574
3575 /*Bitmap for the IEs that are to be handled at SLM level*/
3576 wpt_uint32 uaProxyProbeReqValidIEBmap[WDI_PROBE_REQ_BITMAP_IE_LEN];
3577
Sreelakshmi Konamki7d7f6ca2017-05-15 15:32:02 +05303578 /*Probe response template*/
3579 wpt_uint8 *pProbeRespTemplate;
3580
Jeff Johnson295189b2012-06-20 16:38:30 -07003581}WDI_UpdateProbeRspTemplateInfoType;
3582
3583/*---------------------------------------------------------------------------
3584 WDI_UpdateProbeRspParamsType
3585---------------------------------------------------------------------------*/
3586typedef struct
3587{
3588 /*Link Info*/
3589 WDI_UpdateProbeRspTemplateInfoType wdiProbeRspTemplateInfo;
3590
3591 /*Request status callback offered by UMAC - it is called if the current
3592 req has returned PENDING as status; it delivers the status of sending
3593 the message over the BUS */
3594 WDI_ReqStatusCb wdiReqStatusCB;
3595
3596 /*The user data passed in by UMAC, it will be sent back when the above
3597 function pointer will be called */
3598 void* pUserData;
3599}WDI_UpdateProbeRspTemplateParamsType;
3600
3601/*---------------------------------------------------------------------------
3602 WDI_NvDownloadReqBlobInfo
3603---------------------------------------------------------------------------*/
3604
3605typedef struct
3606{
3607 /* Blob starting address*/
3608 void *pBlobAddress;
3609
3610 /* Blob size */
3611 wpt_uint32 uBlobSize;
3612
3613}WDI_NvDownloadReqBlobInfo;
3614
3615/*---------------------------------------------------------------------------
3616 WDI_NvDownloadReqParamsType
3617---------------------------------------------------------------------------*/
3618typedef struct
3619{
3620 /*NV Blob Info*/
3621 WDI_NvDownloadReqBlobInfo wdiBlobInfo;
3622
3623 /*Request status callback offered by UMAC - it is called if the current
3624 req has returned PENDING as status; it delivers the status of sending
3625 the message over the BUS */
3626 WDI_ReqStatusCb wdiReqStatusCB;
3627
3628 /*The user data passed in by UMAC, it will be sent back when the above
3629 function pointer will be called */
3630 void* pUserData;
3631
3632}WDI_NvDownloadReqParamsType;
3633
3634/*---------------------------------------------------------------------------
3635 WDI_NvDownloadRspInfoType
3636---------------------------------------------------------------------------*/
3637typedef struct
3638{
3639 /*Status of the response*/
3640 WDI_Status wdiStatus;
3641
3642}WDI_NvDownloadRspInfoType;
3643
3644/*---------------------------------------------------------------------------
3645 WDI_SetMaxTxPowerInfoType
3646---------------------------------------------------------------------------*/
3647
3648typedef struct
3649{
3650 /*BSSID is needed to identify which session issued this request. As the request has
3651 power constraints, this should be applied only to that session*/
3652 wpt_macAddr macBSSId;
3653
3654
3655 wpt_macAddr macSelfStaMacAddr;
3656
3657 /* In request power == MaxTxpower to be used.*/
3658 wpt_int8 ucPower;
3659
3660}WDI_SetMaxTxPowerInfoType;
3661
3662/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003663 WDI_SetTxPowerInfoType
3664---------------------------------------------------------------------------*/
3665
3666typedef struct
3667{
3668 wpt_uint8 bssIdx;
3669 /* In request power == MaxTxpower to be used.*/
3670 wpt_uint8 ucPower;
3671
3672}WDI_SetTxPowerInfoType;
3673
3674/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003675 WDI_SetMaxTxPowerParamsType
3676---------------------------------------------------------------------------*/
3677typedef struct
3678{
3679 /*Link Info*/
3680 WDI_SetMaxTxPowerInfoType wdiMaxTxPowerInfo;
3681
3682 /*Request status callback offered by UMAC - it is called if the current
3683 req has returned PENDING as status; it delivers the status of sending
3684 the message over the BUS */
3685 WDI_ReqStatusCb wdiReqStatusCB;
3686
3687 /*The user data passed in by UMAC, it will be sent back when the above
3688 function pointer will be called */
3689 void* pUserData;
3690}WDI_SetMaxTxPowerParamsType;
3691
schang86c22c42013-03-13 18:41:24 -07003692/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07003693 WDI_Band
3694---------------------------------------------------------------------------*/
3695typedef enum
3696{
3697 WDI_BAND_ALL,
3698 WDI_BAND_24,
3699 WDI_BAND_5G,
3700 WDI_BAND_MAX,
3701}eWDIBand;
3702
3703/*---------------------------------------------------------------------------
3704 WDI_MaxTxPowerPerBandInfoType
3705---------------------------------------------------------------------------*/
3706typedef struct
3707{
3708 eWDIBand bandInfo;
3709 /* In request power == MaxTxpower to be used.*/
3710 wpt_uint8 ucPower;
3711}WDI_MaxTxPowerPerBandInfoType;
3712
3713/*---------------------------------------------------------------------------
3714 WDI_SetMaxTxPowerPerBandParamsType
3715---------------------------------------------------------------------------*/
3716typedef struct
3717{
3718 /*Link Info*/
3719 WDI_MaxTxPowerPerBandInfoType wdiMaxTxPowerPerBandInfo;
3720
3721 /*Request status callback offered by UMAC - it is called if the current
3722 req has returned PENDING as status; it delivers the status of sending
3723 the message over the BUS */
3724 WDI_ReqStatusCb wdiReqStatusCB;
3725
3726 /*The user data passed in by UMAC, it will be sent back when the above
3727 function pointer will be called */
3728 void* pUserData;
3729}WDI_SetMaxTxPowerPerBandParamsType;
3730
3731/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003732 WDI_SetTxPowerParamsType
3733---------------------------------------------------------------------------*/
3734typedef struct
3735{
3736 /*Link Info*/
3737 WDI_SetTxPowerInfoType wdiTxPowerInfo;
3738
3739 /*Request status callback offered by UMAC - it is called if the current
3740 req has returned PENDING as status; it delivers the status of sending
3741 the message over the BUS */
3742 WDI_ReqStatusCb wdiReqStatusCB;
3743
3744 /*The user data passed in by UMAC, it will be sent back when the above
3745 function pointer will be called */
3746 void* pUserData;
3747}WDI_SetTxPowerParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003748
3749/*---------------------------------------------------------------------------
3750 WDI_SetMaxTxPowerRspMsg
3751---------------------------------------------------------------------------*/
3752
3753typedef struct
3754{
3755 /* In response, power==tx power used for management frames*/
3756 wpt_int8 ucPower;
3757
3758 /*Result of the operation*/
3759 WDI_Status wdiStatus;
3760
3761}WDI_SetMaxTxPowerRspMsg;
3762
schang86c22c42013-03-13 18:41:24 -07003763/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07003764 WDI_SetMaxTxPowerPerBandRspMsg
3765---------------------------------------------------------------------------*/
3766typedef struct
3767{
3768 /* In response, power==tx power used for management frames*/
3769 wpt_int8 ucPower;
3770
3771 /*Result of the operation*/
3772 WDI_Status wdiStatus;
3773
3774}WDI_SetMaxTxPowerPerBandRspMsg;
3775
3776/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003777 WDI_SetTxPowerRspMsg
3778---------------------------------------------------------------------------*/
3779
3780typedef struct
3781{
3782 /* In response, power==tx power used for management frames*/
3783 wpt_int8 ucPower;
3784
3785 /*Result of the operation*/
3786 WDI_Status wdiStatus;
3787
3788}WDI_SetTxPowerRspMsg;
3789
Jeff Johnson295189b2012-06-20 16:38:30 -07003790typedef struct
3791{
3792 wpt_uint8 ucOpp_ps;
3793 wpt_uint32 uCtWindow;
3794 wpt_uint8 ucCount;
3795 wpt_uint32 uDuration;
3796 wpt_uint32 uInterval;
3797 wpt_uint32 uSingle_noa_duration;
3798 wpt_uint8 ucPsSelection;
3799}WDI_SetP2PGONOAReqInfoType;
3800
3801/*---------------------------------------------------------------------------
3802 WDI_SetP2PGONOAReqParamsType
3803---------------------------------------------------------------------------*/
3804typedef struct
3805{
3806 /*P2P GO NOA Req*/
3807 WDI_SetP2PGONOAReqInfoType wdiP2PGONOAInfo;
3808
3809 /*Request status callback offered by UMAC - it is called if the current
3810 req has returned PENDING as status; it delivers the status of sending
3811 the message over the BUS */
3812 WDI_ReqStatusCb wdiReqStatusCB;
3813
3814 /*The user data passed in by UMAC, it will be sent back when the above
3815 function pointer will be called */
3816 void* pUserData;
3817}WDI_SetP2PGONOAReqParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003818
Naresh Jayaramc7cbd782014-02-04 17:38:23 +05303819#define WDI_MAX_SUPP_CHANNELS 128
3820#define WDI_MAX_SUPP_OPER_CLASSES 32
3821
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303822typedef struct
3823{
3824 wpt_uint16 uStaIdx;
3825 wpt_uint8 uIsResponder;
3826 wpt_uint8 uUapsdQueues;
3827 wpt_uint8 uMaxSp;
3828 wpt_uint8 uIsBufSta;
Naresh Jayaramc7cbd782014-02-04 17:38:23 +05303829 wpt_uint8 uIsOffChannelSupported;
3830 wpt_uint8 peerCurrOperClass;
3831 wpt_uint8 selfCurrOperClass;
3832 wpt_uint8 validChannelsLen;
3833 wpt_uint8 validChannels[WDI_MAX_SUPP_CHANNELS];
3834 wpt_uint8 validOperClassesLen;
3835 wpt_uint8 validOperClasses[WDI_MAX_SUPP_OPER_CLASSES];
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303836}WDI_SetTDLSLinkEstablishReqInfoType;
3837/*---------------------------------------------------------------------------
3838 WDI_SetTDLSLinkEstablishReqParamsType
3839---------------------------------------------------------------------------*/
3840typedef struct
3841{
3842 /*TDLS Link Establish Req*/
3843 WDI_SetTDLSLinkEstablishReqInfoType wdiTDLSLinkEstablishInfo;
3844
3845 /*Request status callback offered by UMAC - it is called if the current
3846 req has returned PENDING as status; it delivers the status of sending
3847 the message over the BUS */
3848 WDI_ReqStatusCb wdiReqStatusCB;
3849
3850 /*The user data passed in by UMAC, it will be sent back when the above
3851 function pointer will be called */
3852 void* pUserData;
3853}WDI_SetTDLSLinkEstablishReqParamsType;
3854
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05303855typedef struct
3856{
3857 /*Result of the operation*/
3858 WDI_Status wdiStatus;
3859
3860 /*STA Idx*/
3861 wpt_uint16 uStaIdx;
3862}WDI_SetTdlsLinkEstablishReqResp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003863
Atul Mittalc0f739f2014-07-31 13:47:47 +05303864
3865
3866typedef struct
3867{
3868 /*STA Index*/
3869 wpt_uint8 staIdx;
3870 /* if this is 1, self is initiator otherwise responder only*/
3871 wpt_uint8 isOffchannelInitiator;
3872 /*TDLS off channel related params */
3873 wpt_uint8 targetOperClass;
3874 wpt_uint8 targetChannel;
3875 wpt_uint8 secondaryChannelOffset;
3876 wpt_uint8 reserved[64];
3877}WDI_SetTDLSChanSwitchReqInfoType;
3878
3879typedef struct
3880{
3881 WDI_SetTDLSChanSwitchReqInfoType wdiTDLSChanSwitchReqInfo;
3882 WDI_ReqStatusCb wdiReqStatusCB;
3883 void* pUserData;
3884}WDI_SetTDLSChanSwitchReqParamsType;
3885
3886
3887typedef struct
3888{
3889 /*Result of the operation*/
3890 WDI_Status wdiStatus;
3891
3892 /*STA Idx*/
3893 wpt_uint16 uStaIdx;
3894}WDI_SetTdlsChanSwitchReqResp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003895/*---------------------------------------------------------------------------
3896 WDI_SetAddSTASelfParamsType
3897---------------------------------------------------------------------------*/
3898typedef struct
3899{
3900 /*Self Station MAC address*/
3901 wpt_macAddr selfMacAddr;
3902
Kiran Kumar Lokere0ad5cd32013-06-25 11:26:22 -07003903 /*Self STA device mode*/
3904 wpt_uint32 currDeviceMode;
3905
Jeff Johnson295189b2012-06-20 16:38:30 -07003906 /*Status of the operation*/
3907 wpt_uint32 uStatus;
3908}WDI_AddSTASelfInfoType;
3909
3910/*---------------------------------------------------------------------------
3911 WDI_SetAddSTASelfParamsType
3912---------------------------------------------------------------------------*/
3913typedef struct
3914{
3915 /* Add Sta Self Req */
3916 WDI_AddSTASelfInfoType wdiAddSTASelfInfo;
3917
3918 /*Request status callback offered by UMAC - it is called if the current
3919 req has returned PENDING as status; it delivers the status of sending
3920 the message over the BUS */
3921 WDI_ReqStatusCb wdiReqStatusCB;
3922
3923 /*The user data passed in by UMAC, it will be sent back when the above
3924 function pointer will be called */
3925 void* pUserData;
3926}WDI_AddSTASelfReqParamsType;
3927
3928
3929/*---------------------------------------------------------------------------
3930 WDI_AddSTASelfRspParamsType
3931---------------------------------------------------------------------------*/
3932typedef struct
3933{
3934 /*Status of the response*/
3935 WDI_Status wdiStatus;
3936
3937 /*STA Idx allocated by HAL*/
3938 wpt_uint8 ucSTASelfIdx;
3939
3940 /* DPU Index (IGTK, PTK, GTK all same) */
3941 wpt_uint8 dpuIdx;
3942
3943 /* DPU Signature */
3944 wpt_uint8 dpuSignature;
3945
3946 /*Self STA Mac*/
3947 wpt_macAddr macSelfSta;
3948
3949}WDI_AddSTASelfRspParamsType;
3950
3951/*---------------------------------------------------------------------------
3952 WDI_DelSTASelfReqParamsType
3953 Del Sta Self info passed to WDI form WDA
3954---------------------------------------------------------------------------*/
3955typedef struct
3956{
3957 wpt_macAddr selfMacAddr;
3958
3959}WDI_DelSTASelfInfoType;
3960
3961/*---------------------------------------------------------------------------
3962 WDI_DelSTASelfReqParamsType
3963 Del Sta Self info passed to WDI form WDA
3964---------------------------------------------------------------------------*/
3965typedef struct
3966{
3967 /*Del Sta Self Info Type */
3968 WDI_DelSTASelfInfoType wdiDelStaSelfInfo;
3969 /*Request status callback offered by UMAC - it is called if the current req
3970 has returned PENDING as status; it delivers the status of sending the message
3971 over the BUS */
3972 WDI_ReqStatusCb wdiReqStatusCB;
3973 /*The user data passed in by UMAC, it will be sent back when the above
3974 function pointer will be called */
3975 void* pUserData;
3976}WDI_DelSTASelfReqParamsType;
3977
3978/*---------------------------------------------------------------------------
3979 WDI_DelSTASelfRspParamsType
3980---------------------------------------------------------------------------*/
3981typedef struct
3982{
3983 /*Status of the response*/
3984 WDI_Status wdiStatus;
3985
3986 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
3987// wpt_uint8 ucSTAIdx;
3988}WDI_DelSTASelfRspParamsType;
3989
3990/*---------------------------------------------------------------------------
3991 WDI_UapsdInfoType
3992 UAPSD parameters passed per AC to WDA from UMAC
3993---------------------------------------------------------------------------*/
3994typedef struct
3995{
3996 wpt_uint8 ucSTAIdx; // STA index
3997 wpt_uint8 ucAc; // Access Category
3998 wpt_uint8 ucUp; // User Priority
3999 wpt_uint32 uSrvInterval; // Service Interval
4000 wpt_uint32 uSusInterval; // Suspend Interval
4001 wpt_uint32 uDelayInterval; // Delay Interval
4002} WDI_UapsdInfoType;
4003
4004/*---------------------------------------------------------------------------
4005 WDI_SetUapsdAcParamsReqParamsType
4006 UAPSD parameters passed per AC to WDI from WDA
4007---------------------------------------------------------------------------*/
4008typedef struct
4009{
4010 /*Enter BMPS Info Type, same as tEnterBmpsParams */
4011 WDI_UapsdInfoType wdiUapsdInfo;
4012 /*Request status callback offered by UMAC - it is called if the current req
4013 has returned PENDING as status; it delivers the status of sending the message
4014 over the BUS */
4015 WDI_ReqStatusCb wdiReqStatusCB;
4016 /*The user data passed in by UMAC, it will be sent back when the above
4017 function pointer will be called */
4018 void* pUserData;
4019}WDI_SetUapsdAcParamsReqParamsType;
4020
4021/*---------------------------------------------------------------------------
4022 WDI_EnterBmpsReqinfoType
4023 Enter BMPS parameters passed to WDA from UMAC
4024---------------------------------------------------------------------------*/
4025typedef struct
4026{
4027 //TBTT value derived from the last beacon
4028 wpt_uint8 ucBssIdx;
4029 wpt_uint64 uTbtt;
4030 wpt_uint8 ucDtimCount;
4031 //DTIM period given to HAL during association may not be valid,
4032 //if association is based on ProbeRsp instead of beacon.
4033 wpt_uint8 ucDtimPeriod;
4034 /* DXE physical addr to be passed down to RIVA. RIVA HAL will use it to program
4035 DXE when DXE wakes up from power save*/
4036 unsigned int dxePhyAddr;
4037
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08004038 // For ESE and 11R Roaming
Jeff Johnson295189b2012-06-20 16:38:30 -07004039 wpt_uint32 rssiFilterPeriod;
4040 wpt_uint32 numBeaconPerRssiAverage;
4041 wpt_uint8 bRssiFilterEnable;
4042}WDI_EnterBmpsReqinfoType;
4043
4044/*---------------------------------------------------------------------------
4045 WDI_EnterBmpsReqParamsType
4046 Enter BMPS parameters passed to WDI from WDA
4047---------------------------------------------------------------------------*/
4048typedef struct
4049{
4050 /*Enter BMPS Info Type, same as tEnterBmpsParams */
4051 WDI_EnterBmpsReqinfoType wdiEnterBmpsInfo;
4052 /*Request status callback offered by UMAC - it is called if the current req
4053 has returned PENDING as status; it delivers the status of sending the message
4054 over the BUS */
4055 WDI_ReqStatusCb wdiReqStatusCB;
4056 /*The user data passed in by UMAC, it will be sent back when the above
4057 function pointer will be called */
4058 void* pUserData;
4059}WDI_EnterBmpsReqParamsType;
4060
4061/*---------------------------------------------------------------------------
Mihir Shetea4306052014-03-25 00:02:54 +05304062 WDI_EnterImpsReqParamsType
4063 Enter IMPS parameters passed to WDI from WDA
4064---------------------------------------------------------------------------*/
4065typedef struct
4066{
4067 /*Request status callback offered by UMAC - it is called if the current req
4068 has returned PENDING as status; it delivers the status of sending the message
4069 over the BUS */
4070 WDI_ReqStatusCb wdiReqStatusCB;
4071 /*The user data passed in by UMAC, it will be sent back when the above
4072 function pointer will be called */
4073 void* pUserData;
4074}WDI_EnterImpsReqParamsType;
4075
4076/*---------------------------------------------------------------------------
Mahesh A Saptasagar329813b2014-12-15 12:16:51 +05304077 WDI_ExitImpsReqParamsType
4078 Exit IMPS parameters passed to WDI from WDA
4079----------------------------------------------------------------------------*/
4080typedef struct
4081{
4082 /*Request status callback offered by UMAC */
4083 WDI_ReqStatusCb wdiReqStatusCB;
4084 /*The user data passed in by UMAC, it will be sent back when the above
4085 function pointer will be called */
4086 void* pUserData;
4087
4088}WDI_ExitImpsReqParamsType;
4089
4090/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004091 WDI_EnterBmpsReqParamsType
4092 Enter BMPS parameters passed from WDI to WDA
4093---------------------------------------------------------------------------*/
4094typedef struct
4095{
4096 /*Status of the response*/
4097 WDI_Status wdiStatus;
4098
4099 /*BssIDX of the session*/
4100 wpt_uint8 bssIdx;
4101}WDI_EnterBmpsRspParamsType;
4102
4103/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004104 WDI_ExitBmpsReqinfoType
4105 Exit BMPS parameters passed to WDA from UMAC
4106---------------------------------------------------------------------------*/
4107typedef struct
4108{
4109 wpt_uint8 ucSendDataNull;
Jeff Johnsone7245742012-09-05 17:12:55 -07004110 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004111}WDI_ExitBmpsReqinfoType;
4112
4113/*---------------------------------------------------------------------------
4114 WDI_ExitBmpsReqParamsType
4115 Exit BMPS parameters passed to WDI from WDA
4116---------------------------------------------------------------------------*/
4117typedef struct
4118{
4119 /*Exit BMPS Info Type, same as tExitBmpsParams */
4120 WDI_ExitBmpsReqinfoType wdiExitBmpsInfo;
4121 /*Request status callback offered by UMAC - it is called if the current req
4122 has returned PENDING as status; it delivers the status of sending the message
4123 over the BUS */
4124 WDI_ReqStatusCb wdiReqStatusCB;
4125 /*The user data passed in by UMAC, it will be sent back when the above
4126 function pointer will be called */
4127 void* pUserData;
4128}WDI_ExitBmpsReqParamsType;
4129
4130/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004131 WDI_ExitBmpsReqParamsType
4132 Exit BMPS parameters passed from WDI to WDA
4133---------------------------------------------------------------------------*/
4134typedef struct
4135{
4136 /*Status of the response*/
4137 WDI_Status wdiStatus;
4138
4139 /*BssIDX of the session*/
4140 wpt_uint8 bssIdx;
4141}WDI_ExitBmpsRspParamsType;
4142
4143/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004144 WDI_EnterUapsdReqinfoType
4145 Enter UAPSD parameters passed to WDA from UMAC
4146---------------------------------------------------------------------------*/
4147typedef struct
4148{
4149 wpt_uint8 ucBkDeliveryEnabled:1;
4150 wpt_uint8 ucBeDeliveryEnabled:1;
4151 wpt_uint8 ucViDeliveryEnabled:1;
4152 wpt_uint8 ucVoDeliveryEnabled:1;
4153 wpt_uint8 ucBkTriggerEnabled:1;
4154 wpt_uint8 ucBeTriggerEnabled:1;
4155 wpt_uint8 ucViTriggerEnabled:1;
4156 wpt_uint8 ucVoTriggerEnabled:1;
Jeff Johnsone7245742012-09-05 17:12:55 -07004157 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004158}WDI_EnterUapsdReqinfoType;
4159
4160/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004161 WDI_EnterUapsdRspParamsType
4162 Enter UAPSD parameters passed from WDI to WDA
4163---------------------------------------------------------------------------*/
4164typedef struct
4165{
4166 /*Status of the response*/
4167 WDI_Status wdiStatus;
4168
4169 /*BssIDX of the session*/
4170 wpt_uint8 bssIdx;
4171}WDI_EnterUapsdRspParamsType;
4172
4173/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004174 WDI_EnterUapsdReqinfoType
4175 Enter UAPSD parameters passed to WDI from WDA
4176---------------------------------------------------------------------------*/
4177typedef struct
4178{
4179 /*Enter UAPSD Info Type, same as tUapsdParams */
4180 WDI_EnterUapsdReqinfoType wdiEnterUapsdInfo;
4181 /*Request status callback offered by UMAC - it is called if the current req
4182 has returned PENDING as status; it delivers the status of sending the message
4183 over the BUS */
4184 WDI_ReqStatusCb wdiReqStatusCB;
4185 /*The user data passed in by UMAC, it will be sent back when the above
4186 function pointer will be called */
4187 void* pUserData;
4188}WDI_EnterUapsdReqParamsType;
4189
4190/*---------------------------------------------------------------------------
4191 WDI_UpdateUapsdReqinfoType
4192 Update UAPSD parameters passed to WDA from UMAC
4193---------------------------------------------------------------------------*/
4194typedef struct
4195{
4196 wpt_uint8 ucSTAIdx;
4197 wpt_uint8 ucUapsdACMask;
4198 wpt_uint32 uMaxSpLen;
4199}WDI_UpdateUapsdReqinfoType;
4200
4201/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004202 WDI_ExitUapsdReqinfoType
4203 Exit UAPSD parameters passed to WDA from UMAC
4204---------------------------------------------------------------------------*/
4205typedef struct
4206{
4207 wpt_uint8 bssIdx;
4208}WDI_ExitUapsdReqinfoType;
4209
4210/*---------------------------------------------------------------------------
4211 WDI_ExitUapsdReqParamsType
4212 Exit UAPSD parameters passed to WDI from WDA
4213---------------------------------------------------------------------------*/
4214typedef struct
4215{
4216 /*Exit UAPSD Info Type, same as tUapsdParams */
4217 WDI_ExitUapsdReqinfoType wdiExitUapsdInfo;
4218 /*Request status callback offered by UMAC - it is called if the current req
4219 has returned PENDING as status; it delivers the status of sending the message
4220 over the BUS */
4221 WDI_ReqStatusCb wdiReqStatusCB;
4222 /*The user data passed in by UMAC, it will be sent back when the above
4223 function pointer will be called */
4224 void* pUserData;
4225}WDI_ExitUapsdReqParamsType;
4226
4227/*---------------------------------------------------------------------------
4228 WDI_ExitUapsdRspParamsType
4229 Exit UAPSD parameters passed from WDI to WDA
4230---------------------------------------------------------------------------*/
4231typedef struct
4232{
4233 /*Status of the response*/
4234 WDI_Status wdiStatus;
4235
4236 /*BssIDX of the session*/
4237 wpt_uint8 bssIdx;
4238}WDI_ExitUapsdRspParamsType;
4239
4240/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004241 WDI_UpdateUapsdReqParamsType
4242 Update UAPSD parameters passed to WDI form WDA
4243---------------------------------------------------------------------------*/
4244typedef struct
4245{
4246 /*Update UAPSD Info Type, same as tUpdateUapsdParams */
4247 WDI_UpdateUapsdReqinfoType wdiUpdateUapsdInfo;
4248 /*Request status callback offered by UMAC - it is called if the current req
4249 has returned PENDING as status; it delivers the status of sending the message
4250 over the BUS */
4251 WDI_ReqStatusCb wdiReqStatusCB;
4252 /*The user data passed in by UMAC, it will be sent back when the above
4253 function pointer will be called */
4254 void* pUserData;
4255}WDI_UpdateUapsdReqParamsType;
4256
4257/*---------------------------------------------------------------------------
4258 WDI_ConfigureRxpFilterReqParamsType
4259 RXP filter parameters passed to WDI form WDA
4260---------------------------------------------------------------------------*/
4261typedef struct
4262{
4263 /* Mode of Mcast and Bcast filters configured */
4264 wpt_uint8 ucSetMcstBcstFilterSetting;
4265
4266 /* Mcast Bcast Filters enable/disable*/
4267 wpt_uint8 ucSetMcstBcstFilter;
4268}WDI_RxpFilterReqParamsType;
4269
4270typedef struct
4271{
4272 /* Rxp Filter */
4273 WDI_RxpFilterReqParamsType wdiRxpFilterParam;
4274
4275 /*Request status callback offered by UMAC - it is called if the current req
4276 has returned PENDING as status; it delivers the status of sending the message
4277 over the BUS */
4278 WDI_ReqStatusCb wdiReqStatusCB;
4279 /*The user data passed in by UMAC, it will be sent back when the above
4280 function pointer will be called */
4281 void* pUserData;
4282}WDI_ConfigureRxpFilterReqParamsType;
4283
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05304284typedef struct
4285{
4286 wpt_uint8 enableFlag;
4287 wpt_uint8 frameType;
4288 wpt_uint8 frameSize;
4289 wpt_uint8 bufferMode;
Siddharth Bhald1be97f2015-05-27 22:39:59 +05304290 wpt_uint8 continuousFrameLogging;
4291 wpt_uint8 minLogBufferSize;
4292 wpt_uint8 maxLogBufferSize;
4293}WDI_FWLoggingInitReqInfoType;
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05304294
Siddharth Bhal64246172015-02-27 01:04:37 +05304295typedef struct
4296{
Gupta, Kapil7c34b322015-09-30 13:12:35 +05304297 wpt_uint32 requestId;
4298 wpt_uint8 minRssi;
4299 wpt_uint8 maxRssi;
4300 wpt_macAddr currentBssId;
4301}WDI_RssiMonitorReqInfoType;
4302
4303typedef struct
4304{
Sachin Ahuja715aafc2015-07-21 23:35:10 +05304305 wpt_uint32 reason_code;
4306}WDI_FatalEventLogsReqInfoType;
4307
4308
4309typedef struct
4310{
Siddharth Bhal64246172015-02-27 01:04:37 +05304311 wpt_uint8 flags;
4312}WDI_GetFrameLogReqInfoType;
4313
Siddharth Bhald1be97f2015-05-27 22:39:59 +05304314typedef struct
4315{
Hanumantha Reddy Pothulae00a7e22015-09-15 20:11:30 +05304316 wpt_uint16 status;
4317 wpt_uint16 doneIndicationForSource;
Siddharth Bhald1be97f2015-05-27 22:39:59 +05304318 wpt_uint64 logBuffAddress[MAX_NUM_OF_BUFFER];
Siddharth Bhald1be97f2015-05-27 22:39:59 +05304319 wpt_uint32 logBuffLength[MAX_NUM_OF_BUFFER];
4320}WDI_FWLoggingDXEdoneIndInfoType;
4321
Jeff Johnson295189b2012-06-20 16:38:30 -07004322/*---------------------------------------------------------------------------
4323 WDI_BeaconFilterInfoType
4324 Beacon Filtering data structures passed to WDA form UMAC
4325---------------------------------------------------------------------------*/
4326typedef struct
4327{
4328 wpt_uint16 usCapabilityInfo;
4329 wpt_uint16 usCapabilityMask;
4330 wpt_uint16 usBeaconInterval;
4331 wpt_uint16 usIeNum;
Madan Mohan Koyyalamudia84edda2012-10-15 14:58:25 -07004332 wpt_uint8 bssIdx;
4333 wpt_uint8 reserved;
Jeff Johnson295189b2012-06-20 16:38:30 -07004334}WDI_BeaconFilterInfoType;
4335
4336/*---------------------------------------------------------------------------
4337 WDI_BeaconFilterReqParamsType
4338 Beacon Filtering parameters passed to WDI form WDA
4339---------------------------------------------------------------------------*/
4340typedef struct
4341{
4342 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
4343 WDI_BeaconFilterInfoType wdiBeaconFilterInfo;
4344 /*Beacon Filter(s) follow the "usIeNum" field, hence the array to ease the
4345 copy of params from WDA to WDI */
4346 wpt_uint8 aFilters[WDI_BEACON_FILTER_LEN];
4347 /*Request status callback offered by UMAC - it is called if the current req
4348 has returned PENDING as status; it delivers the status of sending the message
4349 over the BUS */
4350 WDI_ReqStatusCb wdiReqStatusCB;
4351 /*The user data passed in by UMAC, it will be sent back when the above
4352 function pointer will be called */
4353 void* pUserData;
4354}WDI_BeaconFilterReqParamsType;
4355
4356/*---------------------------------------------------------------------------
4357 WDI_RemBeaconFilterInfoType
4358 Beacon Filtering data structures (to be reomoved) passed to WDA form UMAC
4359---------------------------------------------------------------------------*/
4360typedef struct
4361{
4362 wpt_uint8 ucIeCount;
4363 wpt_uint8 ucRemIeId[1];
4364}WDI_RemBeaconFilterInfoType;
4365
4366/*---------------------------------------------------------------------------
4367 WDI_RemBeaconFilterReqParamsType
4368 Beacon Filtering parameters (to be reomoved)passed to WDI form WDA
4369---------------------------------------------------------------------------*/
4370typedef struct
4371{
4372 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
4373 WDI_RemBeaconFilterInfoType wdiBeaconFilterInfo;
4374 /*Request status callback offered by UMAC - it is called if the current req
4375 has returned PENDING as status; it delivers the status of sending the message
4376 over the BUS */
4377 WDI_ReqStatusCb wdiReqStatusCB;
4378 /*The user data passed in by UMAC, it will be sent back when the above
4379 function pointer will be called */
4380 void* pUserData;
4381}WDI_RemBeaconFilterReqParamsType;
4382
4383/*---------------------------------------------------------------------------
4384 WDI_RSSIThresholdsType
4385 RSSI thresholds data structures (to be reomoved) passed to WDA form UMAC
4386---------------------------------------------------------------------------*/
4387typedef struct
4388{
4389 wpt_int8 ucRssiThreshold1 : 8;
4390 wpt_int8 ucRssiThreshold2 : 8;
4391 wpt_int8 ucRssiThreshold3 : 8;
4392 wpt_uint8 bRssiThres1PosNotify : 1;
4393 wpt_uint8 bRssiThres1NegNotify : 1;
4394 wpt_uint8 bRssiThres2PosNotify : 1;
4395 wpt_uint8 bRssiThres2NegNotify : 1;
4396 wpt_uint8 bRssiThres3PosNotify : 1;
4397 wpt_uint8 bRssiThres3NegNotify : 1;
4398 wpt_uint8 bReserved10 : 2;
4399} WDI_RSSIThresholdsType;
4400
4401/*---------------------------------------------------------------------------
4402 WDI_SetRSSIThresholdsReqParamsType
4403 RSSI thresholds parameters (to be reomoved)passed to WDI form WDA
4404---------------------------------------------------------------------------*/
4405typedef struct
4406{
4407 /*RSSI thresholds Info Type, same as WDI_RSSIThresholds */
4408 WDI_RSSIThresholdsType wdiRSSIThresholdsInfo;
4409 /*Request status callback offered by UMAC - it is called if the current req
4410 has returned PENDING as status; it delivers the status of sending the message
4411 over the BUS */
4412 WDI_ReqStatusCb wdiReqStatusCB;
4413 /*The user data passed in by UMAC, it will be sent back when the above
4414 function pointer will be called */
4415 void* pUserData;
4416}WDI_SetRSSIThresholdsReqParamsType;
4417
4418/*---------------------------------------------------------------------------
4419 WDI_HostOffloadReqType
4420 host offload info passed to WDA form UMAC
4421---------------------------------------------------------------------------*/
4422#ifdef WLAN_NS_OFFLOAD
4423typedef struct
4424{
4425 wpt_uint8 srcIPv6Addr[16];
4426 wpt_uint8 selfIPv6Addr[16];
4427 //Only support 2 possible Network Advertisement IPv6 address
4428 wpt_uint8 targetIPv6Addr1[16];
4429 wpt_uint8 targetIPv6Addr2[16];
4430 wpt_uint8 selfMacAddr[6];
4431 wpt_uint8 srcIPv6AddrValid : 1;
4432 wpt_uint8 targetIPv6Addr1Valid : 1;
4433 wpt_uint8 targetIPv6Addr2Valid : 1;
Gopichand Nakkala746a9452013-06-11 12:45:54 +05304434 wpt_uint8 slotIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004435} WDI_NSOffloadParams;
4436#endif //WLAN_NS_OFFLOAD
4437
4438typedef struct
4439{
4440 wpt_uint8 ucOffloadType;
4441 wpt_uint8 ucEnableOrDisable;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004442 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004443 union
4444 {
4445 wpt_uint8 aHostIpv4Addr [4];
4446 wpt_uint8 aHostIpv6Addr [16];
4447 } params;
4448} WDI_HostOffloadReqType;
4449
4450/*---------------------------------------------------------------------------
4451 WDI_HostOffloadReqParamsType
4452 host offload info passed to WDI form WDA
4453---------------------------------------------------------------------------*/
4454typedef struct
4455{
4456 /*Host offload Info Type, same as tHalHostOffloadReq */
4457 WDI_HostOffloadReqType wdiHostOffloadInfo;
4458#ifdef WLAN_NS_OFFLOAD
4459 WDI_NSOffloadParams wdiNsOffloadParams;
4460#endif //WLAN_NS_OFFLOAD
4461 /*Request status callback offered by UMAC - it is called if the current req
4462 has returned PENDING as status; it delivers the status of sending the message
4463 over the BUS */
4464 WDI_ReqStatusCb wdiReqStatusCB;
4465 /*The user data passed in by UMAC, it will be sent back when the above
4466 function pointer will be called */
4467 void* pUserData;
4468}WDI_HostOffloadReqParamsType;
4469
4470/*---------------------------------------------------------------------------
4471 WDI_KeepAliveReqType
4472 Keep Alive info passed to WDA form UMAC
4473---------------------------------------------------------------------------*/
4474typedef struct
4475{
4476 wpt_uint8 ucPacketType;
4477 wpt_uint32 ucTimePeriod;
4478 wpt_uint8 aHostIpv4Addr[4];
4479 wpt_uint8 aDestIpv4Addr[4];
4480 wpt_uint8 aDestMacAddr[6];
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004481 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004482} WDI_KeepAliveReqType;
4483
4484/*---------------------------------------------------------------------------
4485 WDI_KeepAliveReqParamsType
4486 Keep Alive passed to WDI form WDA
4487---------------------------------------------------------------------------*/
4488typedef struct
4489{
4490 /* Keep Alive Info Type, same as tHalKeepAliveReq */
4491 WDI_KeepAliveReqType wdiKeepAliveInfo;
4492 /*Request status callback offered by UMAC - it is called if the current req
4493 has returned PENDING as status; it delivers the status of sending the message
4494 over the BUS */
4495 WDI_ReqStatusCb wdiReqStatusCB;
4496 /*The user data passed in by UMAC, it will be sent back when the above
4497 function pointer will be called */
4498 void* pUserData;
4499}WDI_KeepAliveReqParamsType;
4500
4501/*---------------------------------------------------------------------------
4502 WDI_WowlAddBcPtrnInfoType
4503 Wowl add ptrn info passed to WDA form UMAC
4504---------------------------------------------------------------------------*/
4505typedef struct
4506{
4507 wpt_uint8 ucPatternId; // Pattern ID
4508 // Pattern byte offset from beginning of the 802.11 packet to start of the
4509 // wake-up pattern
4510 wpt_uint8 ucPatternByteOffset;
4511 wpt_uint8 ucPatternSize; // Non-Zero Pattern size
4512 wpt_uint8 ucPattern[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern
4513 wpt_uint8 ucPatternMaskSize; // Non-zero pattern mask size
4514 wpt_uint8 ucPatternMask[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern mask
4515 wpt_uint8 ucPatternExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern
4516 wpt_uint8 ucPatternMaskExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern mask
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004517 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004518} WDI_WowlAddBcPtrnInfoType;
4519
4520/*---------------------------------------------------------------------------
4521 WDI_WowlAddBcPtrnReqParamsType
4522 Wowl add ptrn info passed to WDI form WDA
4523---------------------------------------------------------------------------*/
4524typedef struct
4525{
4526 /*Wowl add ptrn Info Type, same as tpSirWowlAddBcastPtrn */
4527 WDI_WowlAddBcPtrnInfoType wdiWowlAddBcPtrnInfo;
4528 /*Request status callback offered by UMAC - it is called if the current req
4529 has returned PENDING as status; it delivers the status of sending the message
4530 over the BUS */
4531 WDI_ReqStatusCb wdiReqStatusCB;
4532 /*The user data passed in by UMAC, it will be sent back when the above
4533 function pointer will be called */
4534 void* pUserData;
4535}WDI_WowlAddBcPtrnReqParamsType;
4536
4537/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004538 WDI_WowlAddBcPtrnRspParamsType
4539 Wowl add ptrn info passed from WDI to WDA
4540---------------------------------------------------------------------------*/
4541typedef struct
4542{
4543 /*Status of the response*/
4544 WDI_Status wdiStatus;
4545 /*BssIDX of the session*/
4546 wpt_uint8 bssIdx;
4547}WDI_WowlAddBcPtrnRspParamsType;
4548
4549/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004550 WDI_WowlDelBcPtrnInfoType
4551 Wowl add ptrn info passed to WDA form UMAC
4552---------------------------------------------------------------------------*/
4553typedef struct
4554{
4555 /* Pattern ID of the wakeup pattern to be deleted */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004556 wpt_uint8 ucPatternId;
4557 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004558} WDI_WowlDelBcPtrnInfoType;
4559
4560/*---------------------------------------------------------------------------
4561 WDI_WowlDelBcPtrnReqParamsType
4562 Wowl add ptrn info passed to WDI form WDA
4563---------------------------------------------------------------------------*/
4564typedef struct
4565{
4566 /*Wowl delete ptrn Info Type, same as WDI_WowlDelBcastPtrn */
4567 WDI_WowlDelBcPtrnInfoType wdiWowlDelBcPtrnInfo;
4568 /*Request status callback offered by UMAC - it is called if the current req
4569 has returned PENDING as status; it delivers the status of sending the message
4570 over the BUS */
4571 WDI_ReqStatusCb wdiReqStatusCB;
4572 /*The user data passed in by UMAC, it will be sent back when the above
4573 function pointer will be called */
4574 void* pUserData;
4575}WDI_WowlDelBcPtrnReqParamsType;
4576
4577/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004578 WDI_WowlDelBcPtrnRspParamsType
4579 Wowl Del ptrn info passed from WDI to WDA
4580---------------------------------------------------------------------------*/
4581typedef struct
4582{
4583 /*Status of the response*/
4584 WDI_Status wdiStatus;
4585 /*BssIDX of the session*/
4586 wpt_uint8 bssIdx;
4587}WDI_WowlDelBcPtrnRspParamsType;
4588
4589/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004590 WDI_WowlEnterInfoType
4591 Wowl enter info passed to WDA form UMAC
4592---------------------------------------------------------------------------*/
4593typedef struct
4594{
4595 /* Enables/disables magic packet filtering */
4596 wpt_uint8 ucMagicPktEnable;
4597
4598 /* Magic pattern */
4599 wpt_macAddr magicPtrn;
4600
4601 /* Enables/disables packet pattern filtering in firmware.
4602 Enabling this flag enables broadcast pattern matching
4603 in Firmware. If unicast pattern matching is also desired,
4604 ucUcastPatternFilteringEnable flag must be set tot true
4605 as well
4606 */
4607 wpt_uint8 ucPatternFilteringEnable;
4608
4609 /* Enables/disables unicast packet pattern filtering.
4610 This flag specifies whether we want to do pattern match
4611 on unicast packets as well and not just broadcast packets.
4612 This flag has no effect if the ucPatternFilteringEnable
4613 (main controlling flag) is set to false
4614 */
4615 wpt_uint8 ucUcastPatternFilteringEnable;
4616
4617 /* This configuration is valid only when magicPktEnable=1.
4618 * It requests hardware to wake up when it receives the
4619 * Channel Switch Action Frame.
4620 */
4621 wpt_uint8 ucWowChnlSwitchRcv;
4622
4623 /* This configuration is valid only when magicPktEnable=1.
4624 * It requests hardware to wake up when it receives the
4625 * Deauthentication Frame.
4626 */
4627 wpt_uint8 ucWowDeauthRcv;
4628
4629 /* This configuration is valid only when magicPktEnable=1.
4630 * It requests hardware to wake up when it receives the
4631 * Disassociation Frame.
4632 */
4633 wpt_uint8 ucWowDisassocRcv;
4634
4635 /* This configuration is valid only when magicPktEnable=1.
4636 * It requests hardware to wake up when it has missed
4637 * consecutive beacons. This is a hardware register
4638 * configuration (NOT a firmware configuration).
4639 */
4640 wpt_uint8 ucWowMaxMissedBeacons;
4641
4642 /* This configuration is valid only when magicPktEnable=1.
4643 * This is a timeout value in units of microsec. It requests
4644 * hardware to unconditionally wake up after it has stayed
4645 * in WoWLAN mode for some time. Set 0 to disable this feature.
4646 */
4647 wpt_uint8 ucWowMaxSleepUsec;
4648
4649#ifdef WLAN_WAKEUP_EVENTS
4650 /* This configuration directs the WoW packet filtering to look for EAP-ID
4651 * requests embedded in EAPOL frames and use this as a wake source.
4652 */
4653 wpt_uint8 ucWoWEAPIDRequestEnable;
4654
4655 /* This configuration directs the WoW packet filtering to look for EAPOL-4WAY
4656 * requests and use this as a wake source.
4657 */
4658 wpt_uint8 ucWoWEAPOL4WayEnable;
4659
4660 /* This configuration allows a host wakeup on an network scan offload match.
4661 */
4662 wpt_uint8 ucWowNetScanOffloadMatch;
4663
4664 /* This configuration allows a host wakeup on any GTK rekeying error.
4665 */
4666 wpt_uint8 ucWowGTKRekeyError;
4667
4668 /* This configuration allows a host wakeup on BSS connection loss.
4669 */
4670 wpt_uint8 ucWoWBSSConnLoss;
4671#endif // WLAN_WAKEUP_EVENTS
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004672
4673 /* BSSIDX used to find the current session
4674 */
4675 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004676} WDI_WowlEnterInfoType;
4677
4678/*---------------------------------------------------------------------------
4679 WDI_WowlEnterReqParamsType
4680 Wowl enter info passed to WDI form WDA
4681---------------------------------------------------------------------------*/
4682typedef struct
4683{
4684 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
4685 WDI_WowlEnterInfoType wdiWowlEnterInfo;
4686 /*Request status callback offered by UMAC - it is called if the current req
4687 has returned PENDING as status; it delivers the status of sending the message
4688 over the BUS */
4689 WDI_ReqStatusCb wdiReqStatusCB;
4690 /*The user data passed in by UMAC, it will be sent back when the above
4691 function pointer will be called */
4692 void* pUserData;
4693}WDI_WowlEnterReqParamsType;
4694
4695/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004696 WDI_WowlEnterRsqParamsType
4697 Wowl enter info passed from WDI to WDA
4698---------------------------------------------------------------------------*/
4699typedef struct
4700{
4701 /*Status of the response message*/
4702 WDI_Status status;
4703
4704 /* BSSIDX used to find the current session
4705 */
4706 wpt_uint8 bssIdx;
4707}WDI_WowlEnterRspParamsType;
4708
4709/*---------------------------------------------------------------------------
4710 WDI_WowlExitInfoType
4711 Wowl exit info passed to WDA form UMAC
4712 ---------------------------------------------------------------------------*/
4713typedef struct
4714{
4715 /* BSSIDX used to find the current session
4716 */
4717 wpt_uint8 bssIdx;
4718} WDI_WowlExitInfoType;
4719
4720/*---------------------------------------------------------------------------
4721 WDI_WowlExitReqParamsType
4722 Wowl exit info passed to WDI form WDA
4723---------------------------------------------------------------------------*/
4724typedef struct
4725{
4726 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
4727 WDI_WowlExitInfoType wdiWowlExitInfo;
4728 /*Request status callback offered by UMAC - it is called if the current req
4729 has returned PENDING as status; it delivers the status of sending the message
4730 over the BUS */
4731 WDI_ReqStatusCb wdiReqStatusCB;
4732 /*The user data passed in by UMAC, it will be sent back when the above
4733 function pointer will be called */
4734 void* pUserData;
4735}WDI_WowlExitReqParamsType;
4736
4737/*---------------------------------------------------------------------------
4738 WDI_WowlExitRspParamsType
4739 Wowl exit info passed from WDI to WDA
4740---------------------------------------------------------------------------*/
4741typedef struct
4742{
4743 /*Status of the response message*/
4744 WDI_Status status;
4745
4746 /* BSSIDX used to find the current session
4747 */
4748 wpt_uint8 bssIdx;
4749}WDI_WowlExitRspParamsType;
4750
4751/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004752 WDI_ConfigureAppsCpuWakeupStateReqParamsType
4753 Apps Cpu Wakeup State parameters passed to WDI form WDA
4754---------------------------------------------------------------------------*/
4755typedef struct
4756{
4757 /*Depicts the state of the Apps CPU */
4758 wpt_boolean bIsAppsAwake;
4759 /*Request status callback offered by UMAC - it is called if the current req
4760 has returned PENDING as status; it delivers the status of sending the message
4761 over the BUS */
4762 WDI_ReqStatusCb wdiReqStatusCB;
4763 /*The user data passed in by UMAC, it will be sent back when the above
4764 function pointer will be called */
4765 void* pUserData;
4766}WDI_ConfigureAppsCpuWakeupStateReqParamsType;
4767/*---------------------------------------------------------------------------
4768 WDI_FlushAcReqinfoType
4769---------------------------------------------------------------------------*/
4770typedef struct
4771{
4772 // Message Type
4773 wpt_uint16 usMesgType;
4774
4775 // Message Length
4776 wpt_uint16 usMesgLen;
4777
4778 // Station Index. originates from HAL
4779 wpt_uint8 ucSTAId;
4780
4781 // TID for which the transmit queue is being flushed
4782 wpt_uint8 ucTid;
4783
4784}WDI_FlushAcReqinfoType;
4785
4786/*---------------------------------------------------------------------------
4787 WDI_FlushAcReqParamsType
4788---------------------------------------------------------------------------*/
4789typedef struct
4790{
4791 /*AC Info */
4792 WDI_FlushAcReqinfoType wdiFlushAcInfo;
4793
4794 /*Request status callback offered by UMAC - it is called if the current
4795 req has returned PENDING as status; it delivers the status of sending
4796 the message over the BUS */
4797 WDI_ReqStatusCb wdiReqStatusCB;
4798
4799 /*The user data passed in by UMAC, it will be sent back when the above
4800 function pointer will be called */
4801 void* pUserData;
4802}WDI_FlushAcReqParamsType;
4803
4804/*---------------------------------------------------------------------------
4805 WDI_BtAmpEventinfoType
4806 BT-AMP Event Structure
4807---------------------------------------------------------------------------*/
4808typedef struct
4809{
4810 wpt_uint8 ucBtAmpEventType;
4811
4812} WDI_BtAmpEventinfoType;
4813
4814/*---------------------------------------------------------------------------
4815 WDI_BtAmpEventParamsType
4816---------------------------------------------------------------------------*/
4817typedef struct
4818{
4819 /*BT AMP event Info */
4820 WDI_BtAmpEventinfoType wdiBtAmpEventInfo;
4821
4822 /*Request status callback offered by UMAC - it is called if the current
4823 req has returned PENDING as status; it delivers the status of sending
4824 the message over the BUS */
4825 WDI_ReqStatusCb wdiReqStatusCB;
4826
4827 /*The user data passed in by UMAC, it will be sent back when the above
4828 function pointer will be called */
4829 void* pUserData;
4830}WDI_BtAmpEventParamsType;
4831
Jeff Johnsone7245742012-09-05 17:12:55 -07004832#ifdef FEATURE_OEM_DATA_SUPPORT
4833
4834#ifndef OEM_DATA_REQ_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004835#define OEM_DATA_REQ_SIZE 134
Jeff Johnsone7245742012-09-05 17:12:55 -07004836#endif
4837#ifndef OEM_DATA_RSP_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004838#define OEM_DATA_RSP_SIZE 1968
Jeff Johnsone7245742012-09-05 17:12:55 -07004839#endif
4840
Padma, Santhosh Kumar2ccac212015-10-20 17:27:27 +05304841#ifndef NEW_OEM_DATA_REQ_SIZE
4842#define NEW_OEM_DATA_REQ_SIZE 292
4843#endif
4844
4845#ifndef NEW_OEM_DATA_RSP_SIZE
4846#define NEW_OEM_DATA_RSP_SIZE 2100
4847#endif
4848
Jeff Johnsone7245742012-09-05 17:12:55 -07004849/*----------------------------------------------------------------------------
4850 WDI_oemDataReqInfoType
4851----------------------------------------------------------------------------*/
4852typedef struct
4853{
4854 wpt_macAddr selfMacAddr;
4855 wpt_uint8 oemDataReq[OEM_DATA_REQ_SIZE];
4856}WDI_oemDataReqInfoType;
4857
4858/*----------------------------------------------------------------------------
4859 WDI_oemDataReqParamsType
4860----------------------------------------------------------------------------*/
4861typedef struct
4862{
4863 /*Request status callback offered by UMAC - it is called if the current
4864 req has returned PENDING as status; it delivers the status of sending
4865 the message over the BUS */
4866 WDI_ReqStatusCb wdiReqStatusCB;
4867
4868 /*The user data passed in by UMAC, it will be sent back when the above
4869 function pointer will be called */
4870 void* pUserData;
4871
4872 /*OEM DATA REQ Info */
4873 WDI_oemDataReqInfoType wdiOemDataReqInfo;
4874
4875}WDI_oemDataReqParamsType;
4876
4877/*----------------------------------------------------------------------------
4878 WDI_oemDataRspParamsType
4879----------------------------------------------------------------------------*/
4880typedef struct
4881{
4882 wpt_uint8 oemDataRsp[OEM_DATA_RSP_SIZE];
4883}WDI_oemDataRspParamsType;
4884
Padma, Santhosh Kumar2ccac212015-10-20 17:27:27 +05304885/*----------------------------------------------------------------------------
4886 OEM DATA REQ NEW/OEM DATA RSP NEW - DATA STRUCTURES
4887----------------------------------------------------------------------------*/
4888/* Structure for defining req sent to the PE */
4889typedef struct
4890{
Padma, Santhosh Kumar70380cf2016-01-11 18:42:20 +05304891 wpt_macAddr selfMacAddr;
4892 wpt_uint8 reserved[2];
Padma, Santhosh Kumar2ccac212015-10-20 17:27:27 +05304893 wpt_uint8 oemDataReqNew[NEW_OEM_DATA_REQ_SIZE];
4894} WDI_OemDataReqNew, WDI_OemDataReqNewConfig;
4895
Padma, Santhosh Kumar2ccac212015-10-20 17:27:27 +05304896/*************************************************************************************************************/
4897
Jeff Johnsone7245742012-09-05 17:12:55 -07004898#endif /* FEATURE_OEM_DATA_SUPPORT */
Jeff Johnson295189b2012-06-20 16:38:30 -07004899
4900#ifdef WLAN_FEATURE_VOWIFI_11R
4901/*---------------------------------------------------------------------------
4902 WDI_AggrAddTSReqInfoType
4903---------------------------------------------------------------------------*/
4904typedef struct
4905{
4906 /*STA Index*/
4907 wpt_uint8 ucSTAIdx;
4908
4909 /*Identifier for TSpec*/
4910 wpt_uint8 ucTspecIdx;
4911
4912 /*Tspec IE negotiated OTA*/
4913 WDI_TspecIEType wdiTspecIE[WDI_MAX_NO_AC];
4914
4915 /*UAPSD delivery and trigger enabled flags */
4916 wpt_uint8 ucUapsdFlags;
4917
4918 /*SI for each AC*/
4919 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
4920
4921 /*Suspend Interval for each AC*/
4922 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
4923
4924 /*DI for each AC*/
4925 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
4926
4927}WDI_AggrAddTSReqInfoType;
4928
4929
4930/*---------------------------------------------------------------------------
4931 WDI_AggrAddTSReqParamsType
4932---------------------------------------------------------------------------*/
4933typedef struct
4934{
4935 /*TSpec Info */
4936 WDI_AggrAddTSReqInfoType wdiAggrTsInfo;
4937
4938 /*Request status callback offered by UMAC - it is called if the current
4939 req has returned PENDING as status; it delivers the status of sending
4940 the message over the BUS */
4941 WDI_ReqStatusCb wdiReqStatusCB;
4942
4943 /*The user data passed in by UMAC, it will be sent back when the above
4944 function pointer will be called */
4945 void* pUserData;
4946}WDI_AggrAddTSReqParamsType;
4947
4948#endif /* WLAN_FEATURE_VOWIFI_11R */
4949
Jeff Johnson295189b2012-06-20 16:38:30 -07004950/*---------------------------------------------------------------------------
4951 WDI_FTMCommandReqType
4952---------------------------------------------------------------------------*/
4953typedef struct
4954{
4955 /* FTM Command Body length */
4956 wpt_uint32 bodyLength;
4957 /* Actual FTM Command body */
4958 void *FTMCommandBody;
4959}WDI_FTMCommandReqType;
Jeff Johnson295189b2012-06-20 16:38:30 -07004960
4961/*---------------------------------------------------------------------------
4962 WDI_WlanSuspendInfoType
4963---------------------------------------------------------------------------*/
4964typedef struct
4965{
4966 /* Mode of Mcast and Bcast filters configured */
4967 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4968}WDI_WlanSuspendInfoType;
4969
4970/*---------------------------------------------------------------------------
4971 WDI_SuspendParamsType
4972---------------------------------------------------------------------------*/
4973typedef struct
4974{
4975 WDI_WlanSuspendInfoType wdiSuspendParams;
4976
4977 /*Request status callback offered by UMAC - it is called if the current
4978 req has returned PENDING as status; it delivers the status of sending
4979 the message over the BUS */
4980 WDI_ReqStatusCb wdiReqStatusCB;
4981
4982 /*The user data passed in by UMAC, it will be sent back when the above
4983 function pointer will be called */
4984 void* pUserData;
4985
4986}WDI_SuspendParamsType;
4987
4988/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004989 WDI_TrafficStatsType - This is collected for each STA
4990---------------------------------------------------------------------------*/
4991
4992typedef struct
4993{
4994 /* TX stats */
4995 wpt_uint32 txBytesPushed;
4996 wpt_uint32 txPacketsPushed;
4997
4998 /* RX stats */
4999 wpt_uint32 rxBytesRcvd;
5000 wpt_uint32 rxPacketsRcvd;
5001 wpt_uint32 rxTimeTotal;
5002}WDI_TrafficStatsType;
5003
5004typedef struct
5005{
5006 WDI_TrafficStatsType *pTrafficStats;
5007 wpt_uint32 length;
5008 wpt_uint32 duration;
5009
5010 /*Request status callback offered by UMAC - it is called if the current
5011 req has returned PENDING as status; it delivers the status of sending
5012 the message over the BUS */
5013 WDI_ReqStatusCb wdiReqStatusCB;
5014
5015 /*The user data passed in by UMAC, it will be sent back when the above
5016 function pointer will be called */
5017 void* pUserData;
5018}WDI_TrafficStatsIndType;
5019
Chet Lanctot186b5732013-03-18 10:26:30 -07005020#ifdef WLAN_FEATURE_11W
5021typedef struct
5022{
5023
5024 wpt_boolean bExcludeUnencrypt;
5025 wpt_macAddr bssid;
5026 /*Request status callback offered by UMAC - it is called if the current
5027 req has returned PENDING as status; it delivers the status of sending
5028 the message over the BUS */
5029 WDI_ReqStatusCb wdiReqStatusCB;
5030
5031 /*The user data passed in by UMAC, it will be sent back when the above
5032 function pointer will be called */
5033 void* pUserData;
5034}WDI_ExcludeUnencryptIndType;
5035#endif
5036
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08005037/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07005038 WDI_WlanResumeInfoType
5039---------------------------------------------------------------------------*/
5040typedef struct
5041{
5042 /* Mode of Mcast and Bcast filters configured */
5043 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
5044}WDI_WlanResumeInfoType;
5045
5046/*---------------------------------------------------------------------------
5047 WDI_ResumeParamsType
5048---------------------------------------------------------------------------*/
5049typedef struct
5050{
5051 WDI_WlanResumeInfoType wdiResumeParams;
5052
5053 /*Request status callback offered by UMAC - it is called if the current
5054 req has returned PENDING as status; it delivers the status of sending
5055 the message over the BUS */
5056 WDI_ReqStatusCb wdiReqStatusCB;
5057
5058 /*The user data passed in by UMAC, it will be sent back when the above
5059 function pointer will be called */
5060 void* pUserData;
5061
5062}WDI_ResumeParamsType;
5063
5064#ifdef WLAN_FEATURE_GTK_OFFLOAD
5065/*---------------------------------------------------------------------------
5066 * WDI_GTK_OFFLOAD_REQ
5067 *--------------------------------------------------------------------------*/
5068
5069typedef struct
5070{
5071 wpt_uint32 ulFlags; /* optional flags */
5072 wpt_uint8 aKCK[16]; /* Key confirmation key */
5073 wpt_uint8 aKEK[16]; /* key encryption key */
5074 wpt_uint64 ullKeyReplayCounter; /* replay counter */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005075 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005076} WDI_GtkOffloadReqParams;
5077
5078typedef struct
5079{
5080 WDI_GtkOffloadReqParams gtkOffloadReqParams;
5081
5082 /*Request status callback offered by UMAC - it is called if the current
5083 req has returned PENDING as status; it delivers the status of sending
5084 the message over the BUS */
5085 WDI_ReqStatusCb wdiReqStatusCB;
5086
5087 /*The user data passed in by UMAC, it will be sent back when the above
5088 function pointer will be called */
5089 void* pUserData;
5090} WDI_GtkOffloadReqMsg;
5091
5092/*---------------------------------------------------------------------------
5093 * WDI_GTK_OFFLOAD_RSP
5094 *--------------------------------------------------------------------------*/
5095typedef struct
5096{
5097 /* success or failure */
5098 wpt_uint32 ulStatus;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005099 /*BssIdx of the response */
5100 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07005101} WDI_GtkOffloadRspParams;
5102
5103typedef struct
5104{
5105 WDI_GtkOffloadRspParams gtkOffloadRspParams;
5106
5107 /*Request status callback offered by UMAC - it is called if the current
5108 req has returned PENDING as status; it delivers the status of sending
5109 the message over the BUS */
5110 WDI_ReqStatusCb wdiReqStatusCB;
5111
5112 /*The user data passed in by UMAC, it will be sent back when the above
5113 function pointer will be called */
5114 void* pUserData;
5115} WDI_GtkOffloadRspMsg;
5116
5117
5118/*---------------------------------------------------------------------------
5119* WDI_GTK_OFFLOAD_GETINFO_REQ
5120*--------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005121typedef struct
5122{
5123 /*BssIdx of the response */
5124 wpt_macAddr bssId;
5125} WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07005126
5127typedef struct
5128{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005129
5130 WDI_GtkOffloadGetInfoReqParams WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07005131 /*Request status callback offered by UMAC - it is called if the current
5132 req has returned PENDING as status; it delivers the status of sending
5133 the message over the BUS */
5134 WDI_ReqStatusCb wdiReqStatusCB;
5135
5136 /*The user data passed in by UMAC, it will be sent back when the above
5137 function pointer will be called */
5138 void* pUserData;
5139} WDI_GtkOffloadGetInfoReqMsg;
5140
5141/*---------------------------------------------------------------------------
5142* WDI_GTK_OFFLOAD_GETINFO_RSP
5143*--------------------------------------------------------------------------*/
5144typedef struct
5145{
5146 wpt_uint32 ulStatus; /* success or failure */
5147 wpt_uint64 ullKeyReplayCounter; /* current replay counter value */
5148 wpt_uint32 ulTotalRekeyCount; /* total rekey attempts */
5149 wpt_uint32 ulGTKRekeyCount; /* successful GTK rekeys */
5150 wpt_uint32 ulIGTKRekeyCount; /* successful iGTK rekeys */
Gopichand Nakkala870cbae2013-03-15 21:16:09 +05305151 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005152} WDI_GtkOffloadGetInfoRspParams;
5153
5154typedef struct
5155{
5156 WDI_GtkOffloadGetInfoRspParams gtkOffloadGetInfoRspParams;
5157
5158 /*Request status callback offered by UMAC - it is called if the current
5159 req has returned PENDING as status; it delivers the status of sending
5160 the message over the BUS */
5161 WDI_ReqStatusCb wdiReqStatusCB;
5162
5163 /*The user data passed in by UMAC, it will be sent back when the above
5164 function pointer will be called */
5165 void* pUserData;
5166} WDI_GtkOffloadGetInfoRspMsg;
5167#endif // WLAN_FEATURE_GTK_OFFLOAD
5168
5169/*---------------------------------------------------------------------------
5170 WDI_SuspendResumeRspParamsType
5171---------------------------------------------------------------------------*/
5172typedef struct
5173{
5174 /*Status of the response*/
5175 WDI_Status wdiStatus;
5176}WDI_SuspendResumeRspParamsType;
5177
Leo Chang9056f462013-08-01 19:21:11 -07005178#ifdef FEATURE_WLAN_LPHB
5179/*---------------------------------------------------------------------------
5180 WDI Low Power Heart Beat Config request
5181 Copy from sirApi.h to avoid compile error
5182---------------------------------------------------------------------------*/
5183#define WDI_LPHB_FILTER_LEN 64
5184
5185typedef enum
5186{
5187 WDI_LPHB_SET_EN_PARAMS_INDID = 0x0001,
5188 WDI_LPHB_SET_TCP_PARAMS_INDID,
5189 WDI_LPHB_SET_TCP_PKT_FILTER_INDID,
5190 WDI_LPHB_SET_UDP_PARAMS_INDID,
5191 WDI_LPHB_SET_UDP_PKT_FILTER_INDID,
5192 WDI_LPHB_SET_NETWORK_INFO_INDID,
5193} WDI_LPHBIndType;
5194
5195typedef struct
5196{
5197 wpt_uint8 enable;
5198 wpt_uint8 item;
5199 wpt_uint8 session;
5200} WDI_LPHBEnableStruct;
5201
5202typedef struct
5203{
5204 wpt_uint32 srv_ip;
5205 wpt_uint32 dev_ip;
5206 wpt_uint16 src_port;
5207 wpt_uint16 dst_port;
5208 wpt_uint16 timeout;
5209 wpt_uint8 session;
5210 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
Leo Changd9df8aa2013-09-26 13:32:26 -07005211 wpt_uint16 timePeriodSec; // in seconds
5212 wpt_uint32 tcpSn;
Leo Chang9056f462013-08-01 19:21:11 -07005213} WDI_LPHBTcpParamStruct;
5214
5215typedef struct
5216{
5217 wpt_uint16 length;
5218 wpt_uint8 offset;
5219 wpt_uint8 session;
5220 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
5221} WDI_LPHBTcpFilterStruct;
5222
5223typedef struct
5224{
5225 wpt_uint32 srv_ip;
5226 wpt_uint32 dev_ip;
5227 wpt_uint16 src_port;
5228 wpt_uint16 dst_port;
5229 wpt_uint16 interval;
5230 wpt_uint16 timeout;
5231 wpt_uint8 session;
5232 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
5233} WDI_LPHBUdpParamStruct;
5234
5235typedef struct
5236{
5237 wpt_uint16 length;
5238 wpt_uint8 offset;
5239 wpt_uint8 session;
5240 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
5241} WDI_LPHBUdpFilterStruct;
5242
5243typedef struct
5244{
5245 wpt_uint16 cmd;
5246 wpt_uint16 dummy;
5247 union
5248 {
5249 WDI_LPHBEnableStruct lphbEnableReq;
5250 WDI_LPHBTcpParamStruct lphbTcpParamReq;
5251 WDI_LPHBTcpFilterStruct lphbTcpFilterReq;
5252 WDI_LPHBUdpParamStruct lphbUdpParamReq;
5253 WDI_LPHBUdpFilterStruct lphbUdpFilterReq;
5254 } params;
5255} WDI_LPHBReq;
5256#endif /* FEATURE_WLAN_LPHB */
Jeff Johnson295189b2012-06-20 16:38:30 -07005257
Jeff Johnson295189b2012-06-20 16:38:30 -07005258/*---------------------------------------------------------------------------
5259 WDI_AuthType
5260---------------------------------------------------------------------------*/
5261typedef enum
5262{
5263 WDI_AUTH_TYPE_ANY = 0,
5264
5265 WDI_AUTH_TYPE_NONE,
5266 WDI_AUTH_TYPE_OPEN_SYSTEM,
5267 WDI_AUTH_TYPE_SHARED_KEY,
5268
5269 WDI_AUTH_TYPE_WPA,
5270 WDI_AUTH_TYPE_WPA_PSK,
5271 WDI_AUTH_TYPE_WPA_NONE,
5272
5273 WDI_AUTH_TYPE_RSN,
5274 WDI_AUTH_TYPE_RSN_PSK,
5275 WDI_AUTH_TYPE_FT_RSN,
5276 WDI_AUTH_TYPE_FT_RSN_PSK,
5277 WDI_AUTH_TYPE_WAPI_WAI_CERTIFICATE,
5278 WDI_AUTH_TYPE_WAPI_WAI_PSK,
5279 WDI_AUTH_TYPE_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
5280
5281}WDI_AuthType;
5282
5283/*---------------------------------------------------------------------------
5284 WDI_EdType
5285---------------------------------------------------------------------------*/
5286typedef enum
5287{
5288 WDI_ED_ANY = 0,
5289 WDI_ED_NONE,
5290 WDI_ED_WEP40,
5291 WDI_ED_WEP104,
5292 WDI_ED_TKIP,
5293 WDI_ED_CCMP,
5294 WDI_ED_WPI,
5295 WDI_ED_AES_128_CMAC,
5296 WDI_ED_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
5297} WDI_EdType;
5298
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005299#ifdef FEATURE_WLAN_SCAN_PNO
5300
5301/*Max number of channels for a given network supported by PNO*/
5302#define WDI_PNO_MAX_NETW_CHANNELS 26
5303
5304/*Max number of channels for a given network supported by PNO*/
5305#define WDI_PNO_MAX_NETW_CHANNELS_EX 60
5306
5307/*The max number of programable networks for PNO*/
5308#define WDI_PNO_MAX_SUPP_NETWORKS 16
5309
5310/*The max number of scan timers programable in Riva*/
5311#define WDI_PNO_MAX_SCAN_TIMERS 10
5312
5313#define WDI_PNO_MAX_PROBE_SIZE 450
Jeff Johnson295189b2012-06-20 16:38:30 -07005314
5315/*---------------------------------------------------------------------------
5316 WDI_PNOMode
5317---------------------------------------------------------------------------*/
5318typedef enum
5319{
5320 /*Network offload is to start immediately*/
5321 WDI_PNO_MODE_IMMEDIATE,
5322
5323 /*Network offload is to start on host suspend*/
5324 WDI_PNO_MODE_ON_SUSPEND,
5325
5326 /*Network offload is to start on host resume*/
5327 WDI_PNO_MODE_ON_RESUME,
5328 WDI_PNO_MODE_MAX = 0xFFFFFFFF
5329} WDI_PNOMode;
5330
5331/* SSID broadcast type */
5332typedef enum
5333{
5334 WDI_BCAST_UNKNOWN = 0,
5335 WDI_BCAST_NORMAL = 1,
5336 WDI_BCAST_HIDDEN = 2,
5337
5338 WDI_BCAST_TYPE_MAX = 0xFFFFFFFF
5339} WDI_SSIDBcastType;
5340
5341/*---------------------------------------------------------------------------
5342 WDI_NetworkType
5343---------------------------------------------------------------------------*/
5344typedef struct
5345{
5346 /*The SSID of the preferred network*/
5347 WDI_MacSSid ssId;
5348
5349 /*The authentication method of the preferred network*/
5350 WDI_AuthType wdiAuth;
5351
5352 /*The encryption method of the preferred network*/
5353 WDI_EdType wdiEncryption;
5354
5355 /*SSID broadcast type, normal, hidden or unknown*/
5356 WDI_SSIDBcastType wdiBcastNetworkType;
5357
5358 /*channel count - 0 for all channels*/
5359 wpt_uint8 ucChannelCount;
5360
5361 /*the actual channels*/
Madan Mohan Koyyalamudi4bb5d2e2013-09-26 17:36:46 +05305362 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
Jeff Johnson295189b2012-06-20 16:38:30 -07005363
5364 /*rssi threshold that a network must meet to be considered, 0 - for any*/
5365 wpt_uint8 rssiThreshold;
5366} WDI_NetworkType;
5367
5368
5369/*---------------------------------------------------------------------------
5370 WDI_ScanTimer
5371---------------------------------------------------------------------------*/
5372typedef struct
5373{
5374 /*The timer value*/
5375 wpt_uint32 uTimerValue;
5376
5377 /*The amount of time we should be repeating the interval*/
5378 wpt_uint32 uTimerRepeat;
5379} WDI_ScanTimer;
5380
5381/*---------------------------------------------------------------------------
5382 WDI_ScanTimersType
5383---------------------------------------------------------------------------*/
5384typedef struct
5385{
5386 /*The number of value pair intervals present in the array*/
5387 wpt_uint8 ucScanTimersCount;
5388
5389 /*The time-repeat value pairs*/
5390 WDI_ScanTimer aTimerValues[WDI_PNO_MAX_SCAN_TIMERS];
5391} WDI_ScanTimersType;
5392
5393/*---------------------------------------------------------------------------
5394 WDI_PNOScanReqType
5395---------------------------------------------------------------------------*/
5396typedef struct
5397{
5398 /*Enable or disable PNO feature*/
5399 wpt_uint8 bEnable;
5400
5401 /*PNO mode requested*/
5402 WDI_PNOMode wdiModePNO;
5403
5404 /*Network count*/
5405 wpt_uint8 ucNetworksCount;
5406
5407 /*The networks to look for*/
5408 WDI_NetworkType aNetworks[WDI_PNO_MAX_SUPP_NETWORKS];
5409
5410 /*Scan timer intervals*/
5411 WDI_ScanTimersType scanTimers;
5412
5413 /*Probe template for 2.4GHz band*/
5414 wpt_uint16 us24GProbeSize;
5415 wpt_uint8 a24GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
5416
5417 /*Probe template for 5GHz band*/
5418 wpt_uint16 us5GProbeSize;
5419 wpt_uint8 a5GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
5420} WDI_PNOScanReqType;
5421
5422/*---------------------------------------------------------------------------
5423 WDI_PNOScanReqParamsType
5424 PNO info passed to WDI form WDA
5425---------------------------------------------------------------------------*/
5426typedef struct
5427{
5428 /* PNO Info Type, same as tPrefNetwListParams */
5429 WDI_PNOScanReqType wdiPNOScanInfo;
5430 /* Request status callback offered by UMAC - it is called if the current req
5431 has returned PENDING as status; it delivers the status of sending the message
5432 over the BUS */
5433 WDI_ReqStatusCb wdiReqStatusCB;
5434 /* The user data passed in by UMAC, it will be sent back when the above
5435 function pointer will be called */
5436 void* pUserData;
5437} WDI_PNOScanReqParamsType;
5438
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005439/*---------------------------------------------------------------------------
5440 WDI_SetRssiFilterReqParamsType
5441 PNO info passed to WDI form WDA
5442---------------------------------------------------------------------------*/
5443typedef struct
5444{
5445 /* RSSI Threshold */
5446 wpt_uint8 rssiThreshold;
5447 /* Request status callback offered by UMAC - it is called if the current req
5448 has returned PENDING as status; it delivers the status of sending the message
5449 over the BUS */
5450 WDI_ReqStatusCb wdiReqStatusCB;
5451 /* The user data passed in by UMAC, it will be sent back when the above
5452 function pointer will be called */
5453 void* pUserData;
5454} WDI_SetRssiFilterReqParamsType;
5455
5456/*---------------------------------------------------------------------------
5457 WDI_UpdateScanParamsInfo
5458---------------------------------------------------------------------------*/
5459typedef struct
5460{
5461 /*Is 11d enabled*/
5462 wpt_uint8 b11dEnabled;
5463
5464 /*Was UMAc able to find the regulatory domain*/
5465 wpt_uint8 b11dResolved;
5466
5467 /*Number of channel allowed in the regulatory domain*/
5468 wpt_uint8 ucChannelCount;
5469
5470 /*The actual channels allowed in the regulatory domain*/
5471 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
5472
5473 /*Passive min channel time*/
5474 wpt_uint16 usPassiveMinChTime;
5475
5476 /*Passive max channel time*/
5477 wpt_uint16 usPassiveMaxChTime;
5478
5479 /*Active min channel time*/
5480 wpt_uint16 usActiveMinChTime;
5481
5482 /*Active max channel time*/
5483 wpt_uint16 usActiveMaxChTime;
5484
5485 /*channel bonding info*/
5486 wpt_uint8 cbState;
5487} WDI_UpdateScanParamsInfo;
5488
5489/*---------------------------------------------------------------------------
5490 WDI_UpdateScanParamsInfoType
5491 UpdateScanParams info passed to WDI form WDA
5492---------------------------------------------------------------------------*/
5493typedef struct
5494{
5495 /* PNO Info Type, same as tUpdateScanParams */
5496 WDI_UpdateScanParamsInfo wdiUpdateScanParamsInfo;
5497 /* Request status callback offered by UMAC - it is called if the current req
5498 has returned PENDING as status; it delivers the status of sending the message
5499 over the BUS */
5500 WDI_ReqStatusCb wdiReqStatusCB;
5501 /* The user data passed in by UMAC, it will be sent back when the above
5502 function pointer will be called */
5503 void* pUserData;
5504} WDI_UpdateScanParamsInfoType;
5505#endif //FEATURE_WLAN_SCAN_PNO
5506
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005507#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
5508
Varun Reddy Yeturu52231ea2014-02-06 12:00:56 -08005509#define WDI_ROAM_SCAN_MAX_CHANNELS 80
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005510#define WDI_ROAM_SCAN_MAX_PROBE_SIZE 450
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005511
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005512typedef struct
5513{
5514 /*The SSID of the preferred network*/
5515 WDI_MacSSid ssId;
5516 wpt_uint8 currAPbssid[WDI_MAC_ADDR_LEN];
5517
5518 /*The authentication method of the preferred network*/
5519 WDI_AuthType authentication;
5520
5521 /*The encryption method of the preferred network*/
5522 WDI_EdType encryption;
5523 WDI_EdType mcencryption;
5524
5525 /*SSID broadcast type, normal, hidden or unknown*/
5526 //WDI_SSIDBcastType wdiBcastNetworkType;
5527
5528 /*channel count - 0 for all channels*/
5529 wpt_uint8 ChannelCount;
5530
5531 /*the actual channels*/
5532 wpt_uint8 ChannelCache[WDI_ROAM_SCAN_MAX_CHANNELS];
5533
5534} WDI_RoamNetworkType;
5535
5536typedef struct WDIMobilityDomainInfo
5537{
5538 wpt_uint8 mdiePresent;
5539 wpt_uint16 mobilityDomain;
5540} WDI_MobilityDomainInfo;
5541
5542/*---------------------------------------------------------------------------
5543 WDI_RoamOffloadScanInfo
5544---------------------------------------------------------------------------*/
5545typedef struct
5546{
5547 wpt_boolean RoamScanOffloadEnabled;
Sameer Thalappil4ae66ec2013-11-05 14:17:35 -08005548 wpt_boolean MAWCEnabled;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005549 wpt_uint8 LookupThreshold;
Varun Reddy Yeturu6c5e25c2014-01-09 21:55:37 -08005550 wpt_uint8 RxSensitivityThreshold;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005551 wpt_uint8 RoamRssiDiff;
5552 wpt_uint8 ChannelCacheType;
5553 wpt_uint8 Command;
5554 wpt_uint8 StartScanReason;
5555 wpt_uint16 NeighborScanTimerPeriod;
5556 wpt_uint16 NeighborRoamScanRefreshPeriod;
5557 wpt_uint16 NeighborScanChannelMinTime;
5558 wpt_uint16 NeighborScanChannelMaxTime;
5559 wpt_uint16 EmptyRefreshScanPeriod;
5560 wpt_uint8 ValidChannelCount;
5561 wpt_uint8 ValidChannelList[WDI_ROAM_SCAN_MAX_CHANNELS];
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08005562 wpt_boolean IsESEEnabled;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005563 /*Probe template for 2.4GHz band*/
5564 wpt_uint16 us24GProbeSize;
5565 wpt_uint8 a24GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
5566
5567 /*Probe template for 5GHz band*/
5568 wpt_uint16 us5GProbeSize;
5569 wpt_uint8 a5GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005570 /*LFR BG Scan will currently look for only one network to which it is initially connected.
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005571 * As per requirement, later, the following structure can be used as an array of networks.*/
5572 WDI_RoamNetworkType ConnectedNetwork;
5573 WDI_MobilityDomainInfo MDID;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005574 wpt_uint8 nProbes;
5575 wpt_uint16 HomeAwayTime;
Sreelakshmi Konamki70bfdaf2017-05-29 18:47:29 +05305576 wpt_uint8 WeakZoneRssiThresholdForRoam;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005577} WDI_RoamOffloadScanInfo;
5578
5579typedef struct
5580{
5581 /* Start Roam Candidate Lookup Offload Back Ground Info Type */
5582 WDI_RoamOffloadScanInfo wdiRoamOffloadScanInfo;
5583 /* Request status callback offered by UMAC - it is called if the current req
5584 has returned PENDING as status; it delivers the status of sending the message
5585 over the BUS */
5586 WDI_ReqStatusCb wdiReqStatusCB;
5587 /* The user data passed in by UMAC, it will be sent back when the above
5588 function pointer will be called */
5589 void* pUserData;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005590} WDI_RoamScanOffloadReqParamsType;
Kapil Gupta04ab1992016-06-26 13:36:51 +05305591
5592typedef struct
5593{
5594 wpt_uint32 requestId;
5595 wpt_uint32 rateUpThreshold;
5596 wpt_uint32 rateDownThreshold;
5597 wpt_uint32 isPERRoamCCAEnabled;
5598 wpt_uint32 waitPeriodForNextPERScan;
5599 wpt_uint32 PERtimerThreshold;
5600 wpt_uint32 PERroamTriggerPercent;
Kapil Guptac69c28a2016-08-25 14:11:17 +05305601 wpt_int16 PERRoamFullScanThreshold;
Kapil Gupta04ab1992016-06-26 13:36:51 +05305602} WDI_PERRoamOffloadScanInfo;
5603
5604typedef struct
5605{
5606 wpt_boolean roamScanReq; // Request info for all peers
5607} WDI_PERRoamTriggerScanInfo;
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005608#endif //WLAN_FEATURE_ROAM_SCAN_OFFLOAD
Jeff Johnson295189b2012-06-20 16:38:30 -07005609
5610/*---------------------------------------------------------------------------
Sandeep Puligilla8b8b74b2014-02-10 16:39:05 +05305611 WDI_HT40ObssScanIndType
5612---------------------------------------------------------------------------*/
5613typedef struct
5614{
5615 wpt_uint8 cmdType;
5616 wpt_uint8 scanType;
5617 wpt_uint16 OBSSScanPassiveDwellTime; // In TUs
5618 wpt_uint16 OBSSScanActiveDwellTime; // In TUs
5619 wpt_uint16 BSSChannelWidthTriggerScanInterval; // In seconds
5620 wpt_uint16 OBSSScanPassiveTotalPerChannel; // In TUs
5621 wpt_uint16 OBSSScanActiveTotalPerChannel; // In TUs
5622 wpt_uint16 BSSWidthChannelTransitionDelayFactor;
5623 wpt_uint16 OBSSScanActivityThreshold;
5624 wpt_uint8 selfStaIdx;
5625 wpt_uint8 bssIdx;
5626 wpt_uint8 fortyMHZIntolerent;
5627 wpt_uint8 channelCount;
5628 wpt_uint8 channels[WDI_ROAM_SCAN_MAX_CHANNELS];
5629 wpt_uint8 currentOperatingClass;
5630 wpt_uint16 ieFieldLen;
5631 wpt_uint8 ieField[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
5632} WDI_HT40ObssScanIndType;
5633
5634
5635/*---------------------------------------------------------------------------
5636 WDI_OBSSScanIndParamsType
5637---------------------------------------------------------------------------*/
5638typedef struct
5639{
5640 WDI_HT40ObssScanIndType wdiHT40ObssScanParam;
5641
5642 /*Request status callback offered by UMAC - it is called if the current
5643 req has returned PENDING as status; it delivers the status of sending
5644 the message over the BUS */
5645 WDI_ReqStatusCb wdiReqStatusCB;
5646
5647 /*The user data passed in by UMAC, it will be sent back when the above
5648 function pointer will be called */
5649 void* pUserData;
5650
5651}WDI_HT40ObssScanParamsType;
5652
5653/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07005654 WDI_UpdateScanParamsInfo
5655---------------------------------------------------------------------------*/
5656typedef struct
5657{
5658 /* Ignore DTIM */
5659 wpt_uint32 uIgnoreDTIM;
5660
5661 /*DTIM Period*/
5662 wpt_uint32 uDTIMPeriod;
5663
5664 /* Listen Interval */
5665 wpt_uint32 uListenInterval;
5666
5667 /* Broadcast Multicas Filter */
5668 wpt_uint32 uBcastMcastFilter;
5669
5670 /* Beacon Early Termination */
5671 wpt_uint32 uEnableBET;
5672
5673 /* Beacon Early Termination Interval */
5674 wpt_uint32 uBETInterval;
5675
Yue Mac24062f2013-05-13 17:01:29 -07005676 /* MAX LI for modulated DTIM */
5677 wpt_uint32 uMaxLIModulatedDTIM;
5678
Jeff Johnson295189b2012-06-20 16:38:30 -07005679} WDI_SetPowerParamsInfo;
5680
5681/*---------------------------------------------------------------------------
5682 WDI_UpdateScanParamsInfoType
5683 UpdateScanParams info passed to WDI form WDA
5684---------------------------------------------------------------------------*/
5685typedef struct
5686{
5687 /* Power params Info Type, same as tSetPowerParamsReq */
5688 WDI_SetPowerParamsInfo wdiSetPowerParamsInfo;
5689 /* Request status callback offered by UMAC - it is called if the current req
5690 has returned PENDING as status; it delivers the status of sending the message
5691 over the BUS */
5692 WDI_ReqStatusCb wdiReqStatusCB;
5693 /* The user data passed in by UMAC, it will be sent back when the above
5694 function pointer will be called */
5695 void* pUserData;
5696}WDI_SetPowerParamsReqParamsType;
5697
5698/*---------------------------------------------------------------------------
5699 WDI_SetTxPerTrackingConfType
5700 Wowl add ptrn info passed to WDA form UMAC
5701---------------------------------------------------------------------------*/
5702typedef struct
5703{
5704 wpt_uint8 ucTxPerTrackingEnable; /* 0: disable, 1:enable */
5705 wpt_uint8 ucTxPerTrackingPeriod; /* Check period, unit is sec. */
5706 wpt_uint8 ucTxPerTrackingRatio; /* (Fail TX packet)/(Total TX packet) ratio, the unit is 10%. */
5707 wpt_uint32 uTxPerTrackingWatermark; /* A watermark of check number, once the tx packet exceed this number, we do the check, default is 5 */
5708} WDI_TxPerTrackingParamType;
5709
5710/*---------------------------------------------------------------------------
5711 WDI_SetTxPerTrackingReqParamsType
5712 Tx PER Tracking parameters passed to WDI from WDA
5713---------------------------------------------------------------------------*/
5714typedef struct
5715{
5716 /* Configurations for Tx PER Tracking */
5717 WDI_TxPerTrackingParamType wdiTxPerTrackingParam;
5718 /*Request status callback offered by UMAC - it is called if the current req
5719 has returned PENDING as status; it delivers the status of sending the message
5720 over the BUS */
5721 WDI_ReqStatusCb wdiReqStatusCB;
5722 /*The user data passed in by UMAC, it will be sent back when the above
5723 function pointer will be called */
5724 void* pUserData;
5725}WDI_SetTxPerTrackingReqParamsType;
5726
5727#ifdef WLAN_FEATURE_PACKET_FILTERING
5728/*---------------------------------------------------------------------------
5729 Packet Filtering Parameters
5730---------------------------------------------------------------------------*/
5731
5732#define WDI_IPV4_ADDR_LEN 4
5733#define WDI_MAC_ADDR_LEN 6
5734#define WDI_MAX_FILTER_TEST_DATA_LEN 8
5735#define WDI_MAX_NUM_MULTICAST_ADDRESS 240
5736#define WDI_MAX_NUM_FILTERS 20
5737#define WDI_MAX_NUM_TESTS_PER_FILTER 10
5738
5739//
5740// Receive Filter Parameters
5741//
5742typedef enum
5743{
5744 WDI_RCV_FILTER_TYPE_INVALID,
5745 WDI_RCV_FILTER_TYPE_FILTER_PKT,
5746 WDI_RCV_FILTER_TYPE_BUFFER_PKT,
5747 WDI_RCV_FILTER_TYPE_MAX_ENUM_SIZE
5748}WDI_ReceivePacketFilterType;
5749
5750typedef enum
5751{
5752 WDI_FILTER_HDR_TYPE_INVALID,
5753 WDI_FILTER_HDR_TYPE_MAC,
5754 WDI_FILTER_HDR_TYPE_ARP,
5755 WDI_FILTER_HDR_TYPE_IPV4,
5756 WDI_FILTER_HDR_TYPE_IPV6,
5757 WDI_FILTER_HDR_TYPE_UDP,
5758 WDI_FILTER_HDR_TYPE_MAX
5759}WDI_RcvPktFltProtocolType;
5760
5761typedef enum
5762{
5763 WDI_FILTER_CMP_TYPE_INVALID,
5764 WDI_FILTER_CMP_TYPE_EQUAL,
5765 WDI_FILTER_CMP_TYPE_MASK_EQUAL,
5766 WDI_FILTER_CMP_TYPE_NOT_EQUAL,
5767 WDI_FILTER_CMP_TYPE_MASK_NOT_EQUAL,
5768 WDI_FILTER_CMP_TYPE_MAX
5769}WDI_RcvPktFltCmpFlagType;
5770
5771typedef struct
5772{
5773 WDI_RcvPktFltProtocolType protocolLayer;
5774 WDI_RcvPktFltCmpFlagType cmpFlag;
5775/* Length of the data to compare */
5776 wpt_uint16 dataLength;
5777/* from start of the respective frame header */
5778 wpt_uint8 dataOffset;
5779 wpt_uint8 reserved; /* Reserved field */
5780/* Data to compare */
5781 wpt_uint8 compareData[WDI_MAX_FILTER_TEST_DATA_LEN];
5782/* Mask to be applied on the received packet data before compare */
5783 wpt_uint8 dataMask[WDI_MAX_FILTER_TEST_DATA_LEN];
5784}WDI_RcvPktFilterFieldParams;
5785
5786typedef struct
5787{
5788 wpt_uint8 filterId;
5789 wpt_uint8 filterType;
5790 wpt_uint32 numFieldParams;
5791 wpt_uint32 coalesceTime;
Jeff Johnsone7245742012-09-05 17:12:55 -07005792 wpt_macAddr selfMacAddr;
5793 wpt_macAddr bssId;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005794 WDI_RcvPktFilterFieldParams paramsData[1];
5795
Jeff Johnson295189b2012-06-20 16:38:30 -07005796}WDI_RcvPktFilterCfgType;
5797
5798typedef struct
5799{
5800 /*Request status callback offered by UMAC - it is called if the current
5801 req has returned PENDING as status; it delivers the status of sending
5802 the message over the BUS */
5803 WDI_ReqStatusCb wdiReqStatusCB;
5804
5805 /*The user data passed in by UMAC, it will be sent back when the above
5806 function pointer will be called */
5807 void* pUserData;
5808
5809 // Variable length packet filter field params
5810 WDI_RcvPktFilterCfgType wdiPktFilterCfg;
5811} WDI_SetRcvPktFilterReqParamsType;
5812
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005813typedef struct
5814{
5815 /*Result of the operation*/
5816 WDI_Status wdiStatus;
5817 /* BSSIDX of the Set Receive Filter
5818 */
5819 wpt_uint8 bssIdx;
5820} WDI_SetRcvPktFilterRspParamsType;
5821
Jeff Johnson295189b2012-06-20 16:38:30 -07005822//
5823// Filter Packet Match Count Parameters
5824//
5825typedef struct
5826{
5827 /*Request status callback offered by UMAC - it is called if the current
5828 req has returned PENDING as status; it delivers the status of sending
5829 the message over the BUS */
5830 WDI_ReqStatusCb wdiReqStatusCB;
5831
5832 /*The user data passed in by UMAC, it will be sent back when the above
5833 function pointer will be called */
5834 void* pUserData;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005835
5836 /* BSSID of the Match count
5837 */
5838 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005839} WDI_RcvFltPktMatchCntReqParamsType;
5840
5841typedef struct
5842{
5843 wpt_uint8 filterId;
5844 wpt_uint32 matchCnt;
5845} WDI_RcvFltPktMatchCnt;
5846
5847typedef struct
5848{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005849 /*Result of the operation*/
5850 WDI_Status wdiStatus;
Jeff Johnson295189b2012-06-20 16:38:30 -07005851
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005852 /* BSSIDX of the Match count response
5853 */
5854 wpt_uint8 bssIdx;
5855
Jeff Johnson295189b2012-06-20 16:38:30 -07005856} WDI_RcvFltPktMatchCntRspParamsType;
5857
Jeff Johnson295189b2012-06-20 16:38:30 -07005858//
5859// Receive Filter Clear Parameters
5860//
5861typedef struct
5862{
5863 wpt_uint32 status; /* only valid for response message */
5864 wpt_uint8 filterId;
Jeff Johnsone7245742012-09-05 17:12:55 -07005865 wpt_macAddr selfMacAddr;
5866 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005867}WDI_RcvFltPktClearParam;
5868
5869typedef struct
5870{
5871 WDI_RcvFltPktClearParam filterClearParam;
5872 /*Request status callback offered by UMAC - it is called if the current
5873 req has returned PENDING as status; it delivers the status of sending
5874 the message over the BUS */
5875 WDI_ReqStatusCb wdiReqStatusCB;
5876
5877 /*The user data passed in by UMAC, it will be sent back when the above
5878 function pointer will be called */
5879 void* pUserData;
5880} WDI_RcvFltPktClearReqParamsType;
5881
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005882typedef struct
5883{
5884 /*Result of the operation*/
5885 WDI_Status wdiStatus;
5886 /* BSSIDX of the Match count response
5887 */
5888 wpt_uint8 bssIdx;
5889
5890} WDI_RcvFltPktClearRspParamsType;
5891
Jeff Johnson295189b2012-06-20 16:38:30 -07005892//
5893// Multicast Address List Parameters
5894//
5895typedef struct
5896{
5897 wpt_uint32 ulMulticastAddrCnt;
5898 wpt_macAddr multicastAddr[WDI_MAX_NUM_MULTICAST_ADDRESS];
Jeff Johnsone7245742012-09-05 17:12:55 -07005899 wpt_macAddr selfMacAddr;
5900 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005901} WDI_RcvFltMcAddrListType;
5902
5903typedef struct
5904{
5905 WDI_RcvFltMcAddrListType mcAddrList;
5906 /*Request status callback offered by UMAC - it is called if the current
5907 req has returned PENDING as status; it delivers the status of sending
5908 the message over the BUS */
5909 WDI_ReqStatusCb wdiReqStatusCB;
5910
5911 /*The user data passed in by UMAC, it will be sent back when the above
5912 function pointer will be called */
5913 void* pUserData;
5914} WDI_RcvFltPktSetMcListReqParamsType;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005915
5916typedef struct
5917{
5918 /*Result of the operation*/
5919 WDI_Status wdiStatus;
5920 /* BSSIDX of the Match count response
5921 */
5922 wpt_uint8 bssIdx;
5923} WDI_RcvFltPktSetMcListRspParamsType;
5924
Jeff Johnson295189b2012-06-20 16:38:30 -07005925#endif // WLAN_FEATURE_PACKET_FILTERING
5926
5927/*---------------------------------------------------------------------------
5928 WDI_HALDumpCmdReqInfoType
5929---------------------------------------------------------------------------*/
5930typedef struct
5931{
5932 /*command*/
5933 wpt_uint32 command;
5934
5935 /*Arguments*/
5936 wpt_uint32 argument1;
5937 wpt_uint32 argument2;
5938 wpt_uint32 argument3;
5939 wpt_uint32 argument4;
5940
5941}WDI_HALDumpCmdReqInfoType;
5942
5943/*---------------------------------------------------------------------------
5944 WDI_HALDumpCmdReqParamsType
5945---------------------------------------------------------------------------*/
5946typedef struct
5947{
5948 /*NV Blob Info*/
5949 WDI_HALDumpCmdReqInfoType wdiHALDumpCmdInfoType;
5950
5951 /*Request status callback offered by UMAC - it is called if the current
5952 req has returned PENDING as status; it delivers the status of sending
5953 the message over the BUS */
5954 WDI_ReqStatusCb wdiReqStatusCB;
5955
5956 /*The user data passed in by UMAC, it will be sent back when the above
5957 function pointer will be called */
5958 void* pUserData;
5959
5960}WDI_HALDumpCmdReqParamsType;
5961
5962
5963/*---------------------------------------------------------------------------
5964 WDI_HALDumpCmdRspParamsType
5965---------------------------------------------------------------------------*/
5966typedef struct
5967{
5968 /*Result of the operation*/
5969 WDI_Status wdiStatus;
5970
5971 /* length of the buffer */
5972 wpt_uint16 usBufferLen;
5973
5974 /* Buffer */
5975 wpt_uint8 *pBuffer;
5976}WDI_HALDumpCmdRspParamsType;
5977
5978
5979/*---------------------------------------------------------------------------
5980 WDI_SetTmLevelReqType
5981---------------------------------------------------------------------------*/
5982typedef struct
5983{
5984 wpt_uint16 tmMode;
5985 wpt_uint16 tmLevel;
5986 void* pUserData;
5987}WDI_SetTmLevelReqType;
5988
5989/*---------------------------------------------------------------------------
5990 WDI_SetTmLevelRspType
5991---------------------------------------------------------------------------*/
5992typedef struct
5993{
5994 WDI_Status wdiStatus;
5995 void* pUserData;
5996}WDI_SetTmLevelRspType;
5997
Leo Chang9056f462013-08-01 19:21:11 -07005998#ifdef FEATURE_WLAN_LPHB
5999/*---------------------------------------------------------------------------
6000 WDI_LPHBConfigParamsType
6001---------------------------------------------------------------------------*/
6002typedef struct
6003{
6004 void* pLphsConfIndData;
6005}WDI_LPHBConfigParamsType;
6006#endif /* FEATURE_WLAN_LPHB */
6007
Yue Mab9c86f42013-08-14 15:59:08 -07006008/*---------------------------------------------------------------------------
6009 WDI_AddPeriodicTxPtrnInfoType
6010---------------------------------------------------------------------------*/
6011typedef struct
6012{
6013 /* MAC Address for the adapter */
6014 wpt_macAddr macAddr;
6015
Ashish Kumar Dhanotiyaf2df1902020-04-27 20:22:35 +05306016 /* BSSID */
6017 wpt_macAddr bss_address;
6018
Yue Mab9c86f42013-08-14 15:59:08 -07006019 wpt_uint8 ucPtrnId; // Pattern ID
6020 wpt_uint16 ucPtrnSize; // Pattern size
6021 wpt_uint32 usPtrnIntervalMs; // In msec
6022 wpt_uint8 ucPattern[PERIODIC_TX_PTRN_MAX_SIZE]; // Pattern buffer
6023} WDI_AddPeriodicTxPtrnInfoType;
6024
6025/*---------------------------------------------------------------------------
6026 WDI_DelPeriodicTxPtrnInfoType
6027---------------------------------------------------------------------------*/
6028typedef struct
6029{
6030 /* MAC Address for the adapter */
6031 wpt_macAddr macAddr;
6032
6033 /* Bitmap of pattern IDs that needs to be deleted */
6034 wpt_uint32 ucPatternIdBitmap;
6035} WDI_DelPeriodicTxPtrnInfoType;
6036
6037/*---------------------------------------------------------------------------
6038 WDI_AddPeriodicTxPtrnParamsType
6039---------------------------------------------------------------------------*/
6040typedef struct
6041{
6042 WDI_AddPeriodicTxPtrnInfoType wdiAddPeriodicTxPtrnParams;
6043
6044 /*Request status callback offered by UMAC - it is called if the current
6045 req has returned PENDING as status; it delivers the status of sending
6046 the message over the BUS */
6047 WDI_ReqStatusCb wdiReqStatusCB;
6048
6049 /*The user data passed in by UMAC, it will be sent back when the above
6050 function pointer will be called */
6051 void* pUserData;
6052} WDI_AddPeriodicTxPtrnParamsType;
6053
6054/*---------------------------------------------------------------------------
Srinivas Dasari32a79262015-02-19 13:04:49 +05306055 WDI_NanRequestType
6056---------------------------------------------------------------------------*/
6057typedef struct
6058{
6059 wpt_uint16 request_data_len;
6060 wpt_uint8 request_data[1];
6061} WDI_NanRequestType;
6062
Ajit Vaishya4b922072020-04-18 19:17:39 +05306063/*---------------------------------------------------------------------------
6064 WDI_BlackListReqType
6065---------------------------------------------------------------------------*/
6066#define MAX_BSSID_AVOID_LIST 16
6067
6068typedef struct
6069{
6070 wpt_uint8 blacklist_timedout;
6071 wpt_uint8 num_bssid_avoid_list;
6072 wpt_macAddr bssid_avoid_list[MAX_BSSID_AVOID_LIST];
6073} WDI_BlackListReqType;
Srinivas Dasari32a79262015-02-19 13:04:49 +05306074
6075/*---------------------------------------------------------------------------
Yue Mab9c86f42013-08-14 15:59:08 -07006076 WDI_DelPeriodicTxPtrnParamsType
6077---------------------------------------------------------------------------*/
6078typedef struct
6079{
6080 WDI_DelPeriodicTxPtrnInfoType wdiDelPeriodicTxPtrnParams;
6081
6082 /*Request status callback offered by UMAC - it is called if the current
6083 req has returned PENDING as status; it delivers the status of sending
6084 the message over the BUS */
6085 WDI_ReqStatusCb wdiReqStatusCB;
6086
6087 /*The user data passed in by UMAC, it will be sent back when the above
6088 function pointer will be called */
6089 void* pUserData;
6090} WDI_DelPeriodicTxPtrnParamsType;
6091
Abhishek Singh00b71972016-01-07 10:51:04 +05306092#ifdef WLAN_FEATURE_RMC
6093/*---------------------------------------------------------------------------
6094 WDI_IbssPeerInfoParams
6095---------------------------------------------------------------------------*/
6096typedef struct
6097{
6098 wpt_uint8 wdiStaIdx; //StaIdx
6099 wpt_uint32 wdiTxRate; //Tx Rate
6100 wpt_uint32 wdiMcsIndex; //MCS Index
6101 wpt_uint32 wdiTxRateFlags; //TxRate Flags
6102 wpt_int8 wdiRssi; //RSSI
6103}WDI_IbssPeerInfoParams;
6104
6105/*---------------------------------------------------------------------------
6106 WDI_IbssPeerInfoRspParams
6107---------------------------------------------------------------------------*/
6108typedef struct
6109{
6110 wpt_uint32 wdiStatus; // Return status
6111 wpt_uint8 wdiNumPeers; // Number of peers
6112 WDI_IbssPeerInfoParams *wdiPeerInfoParams; // Peer Info parameters
6113}WDI_IbssPeerInfoRspParams;
6114
6115/*---------------------------------------------------------------------------
6116 WDI_GetIbssPeerInfoRspType
6117---------------------------------------------------------------------------*/
6118typedef struct
6119{
6120 WDI_IbssPeerInfoRspParams wdiPeerInfoRspParams;
6121
6122 /*Request status callback offered by UMAC - it is called if the current
6123 req has returned PENDING as status; it delivers the status of sending
6124 the message over the BUS */
6125 WDI_ReqStatusCb wdiReqStatusCB;
6126
6127 /*The user data passed in by UMAC, it will be sent back when the above
6128 function pointer will be called */
6129 void* pUserData;
6130}WDI_GetIbssPeerInfoRspType;
6131
6132/*---------------------------------------------------------------------------
6133 WDI_IbssPeerInfoReqType
6134---------------------------------------------------------------------------*/
6135typedef struct
6136{
6137 wpt_boolean wdiAllPeerInfoReqd; // Request info for all peers
6138 wpt_uint8 wdiStaIdx; // STA Index
6139 wpt_uint8 wdiBssIdx; // BSS Index
6140}WDI_IbssPeerInfoReqType;
6141
6142#endif /* WLAN_FEATURE_RMC */
6143
Dino Mycle41bdc942014-06-10 11:30:24 +05306144#ifdef WLAN_FEATURE_EXTSCAN
6145
6146#define WDI_WLAN_EXTSCAN_MAX_CHANNELS 16
6147#define WDI_WLAN_EXTSCAN_MAX_BUCKETS 16
6148#define WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS 128
Dino Mycle41bdc942014-06-10 11:30:24 +05306149
6150typedef enum
6151{
6152 WDI_WIFI_BAND_UNSPECIFIED,
6153 WDI_WIFI_BAND_BG = 1, // 2.4 GHz
6154 WDI_WIFI_BAND_A = 2, // 5 GHz without DFS
6155 WDI_WIFI_BAND_ABG = 3, // 2.4 GHz + 5 GHz; no DFS
6156 WDI_WIFI_BAND_A_DFS = 4, // 5 GHz DFS only
6157 WDI_WIFI_BAND_A_WITH_DFS = 6, // 5 GHz with DFS
6158 WDI_WIFI_BAND_ABG_WITH_DFS = 7, // 2.4 GHz + 5 GHz with DFS
6159
6160 /* Keep it last */
6161 WDI_WIFI_BAND_MAX
6162} WDI_WifiBand;
6163
6164typedef struct
6165{
6166 wpt_uint32 channel; // frequency
6167 wpt_uint32 dwellTimeMs; // dwell time hint
6168 wpt_uint8 passive; // 0 => active,
6169 // 1 => passive scan; ignored for DFS
6170 wpt_uint8 chnlClass;
6171} WDI_WifiScanChannelSpec;
6172
6173typedef struct
6174{
6175 wpt_uint8 bucket; // bucket index, 0 based
6176 WDI_WifiBand band; // when UNSPECIFIED, use channel list
6177
6178 /*
6179 * desired period, in millisecond; if this is too
6180 * low, the firmware should choose to generate results as fast as
6181 * it can instead of failing the command byte
6182 */
6183 wpt_uint32 period;
6184
6185 /*
6186 * 0 => normal reporting (reporting rssi history
6187 * only, when rssi history buffer is % full)
6188 * 1 => same as 0 + report a scan completion event after scanning
6189 * this bucket
6190 * 2 => same as 1 + forward scan results (beacons/probe responses + IEs)
6191 * in real time to HAL
6192 */
6193 wpt_uint8 reportEvents;
6194
Padma, Santhosh Kumar7b9190d2015-08-17 17:45:29 +05306195 wpt_uint32 max_period;
6196 wpt_uint32 exponent;
6197 wpt_uint32 step_count;
6198
Dino Mycle41bdc942014-06-10 11:30:24 +05306199 wpt_uint8 numChannels;
6200
6201 /*
6202 * channels to scan; these may include DFS channels
6203 */
6204 WDI_WifiScanChannelSpec channels[WDI_WLAN_EXTSCAN_MAX_CHANNELS];
6205} WDI_WifiScanBucketSpec;
6206
6207typedef struct
6208{
6209 wpt_uint32 requestId;
6210 wpt_uint8 sessionId;
6211 wpt_uint32 basePeriod; // base timer period
6212 wpt_uint32 maxAPperScan;
6213
6214 /* in %, when buffer is this much full, wake up host */
Padma, Santhosh Kumar7b9190d2015-08-17 17:45:29 +05306215 wpt_uint32 reportThresholdPercent;
6216 wpt_uint32 reportThresholdNumScans;
Dino Mycle41bdc942014-06-10 11:30:24 +05306217
Padma, Santhosh Kumar7b9190d2015-08-17 17:45:29 +05306218 wpt_uint32 homeAwayTime; //in units of milliseconds
Dino Mycle41bdc942014-06-10 11:30:24 +05306219 wpt_uint8 numBuckets;
6220 WDI_WifiScanBucketSpec buckets[WDI_WLAN_EXTSCAN_MAX_BUCKETS];
6221} WDI_EXTScanStartReqParams;
6222
6223typedef struct
6224{
6225 wpt_uint32 requestId;
6226 wpt_uint8 sessionId;
6227} WDI_EXTScanStopReqParams;
6228
6229typedef struct
6230{
6231 wpt_uint32 requestId;
6232 wpt_uint8 sessionId;
6233
6234 /*
6235 * 1 return cached results and flush it
6236 * 0 return cached results and do not flush
6237 */
6238 wpt_boolean flush;
6239} WDI_EXTScanGetCachedResultsReqParams;
6240
6241typedef struct
6242{
6243 wpt_uint32 requestId;
6244 wpt_uint8 sessionId;
6245} WDI_EXTScanGetCapabilitiesReqParams;
6246
6247typedef struct
6248{
6249 wpt_uint8 bssid[6]; /* BSSID */
6250 wpt_int32 low; // low threshold
6251 wpt_int32 high; // high threshold
Dino Mycle41bdc942014-06-10 11:30:24 +05306252} WDI_APThresholdParam;
6253
6254typedef struct
6255{
6256 wpt_int32 requestId;
6257 wpt_int8 sessionId; // session Id mapped to vdev_id
Padma, Santhosh Kumar37f4fd12015-08-19 14:37:37 +05306258 wpt_uint32 lostBssidSampleSize;
6259 wpt_int32 numBssid; // number of hotlist APs
Dino Mycle41bdc942014-06-10 11:30:24 +05306260 WDI_APThresholdParam ap[WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS]; // hotlist APs
6261} WDI_EXTScanSetBSSIDHotlistReqParams;
6262
6263typedef struct
6264{
6265 wpt_uint32 requestId;
6266 wpt_uint8 sessionId;
6267} WDI_EXTScanResetBSSIDHotlistReqParams;
6268
Padma, Santhosh Kumar9acee012015-08-21 19:58:01 +05306269typedef struct
6270{
Padma, Santhosh Kumarc1f7f052015-08-26 12:29:01 +05306271 wpt_boolean pause;
6272 wpt_uint32 reserved;
6273} WDI_HighPriorityDataInfoIndParams;
6274
Dino Mycle41bdc942014-06-10 11:30:24 +05306275#endif /* WLAN_FEATURE_EXTSCAN */
6276
Sunil Duttbd736ed2014-05-26 21:19:41 +05306277#ifdef WLAN_FEATURE_LINK_LAYER_STATS
6278typedef struct
6279{
6280 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05306281 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05306282 wpt_uint32 mpduSizeThreshold;
6283 wpt_uint32 aggressiveStatisticsGathering;
6284}WDI_LLStatsSetReqType;
6285
6286typedef struct
6287{
6288 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05306289 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05306290 wpt_uint32 paramIdMask;
6291}WDI_LLStatsGetReqType;
6292
6293typedef struct
6294{
6295 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05306296 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05306297 wpt_uint32 statsClearReqMask;
6298 wpt_uint8 stopReq;
6299}WDI_LLStatsClearReqType;
Dino Mycled3d50022014-07-07 12:58:25 +05306300
Sunil Duttbd736ed2014-05-26 21:19:41 +05306301#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
6302
Siddharth Bhal171788a2014-09-29 21:02:40 +05306303/*---------------------------------------------------------------------------
6304 WDI_SPOOF_MAC_ADDR_REQ
6305---------------------------------------------------------------------------*/
6306typedef struct
6307{
6308 /* Spoof MAC Address for FW */
6309 wpt_macAddr macAddr;
6310
6311 /* Reserved Params/fields */
6312 wpt_uint32 params;
6313 wpt_uint32 reserved;
6314} WDI_SpoofMacAddrInfoType;
Sunil Duttbd736ed2014-05-26 21:19:41 +05306315
Srinivas Dasari4dae48f2014-11-26 21:14:16 +05306316//This is to force compiler to use the maximum of an int for enum
6317#define SIR_MAX_ENUM_SIZE 0x7FFFFFFF
6318// Enum to specify whether key is used
6319// for TX only, RX only or both
6320typedef enum
6321{
6322 eWDI_TX_ONLY,
6323 eWDI_RX_ONLY,
6324 eWDI_TX_RX,
6325 eWDI_TX_DEFAULT,
6326 eWDI_DONOT_USE_KEY_DIRECTION = SIR_MAX_ENUM_SIZE
6327} tWDIKeyDirection;
6328
6329// MAX key length when ULA is used
6330#define SIR_MAC_MAX_KEY_LENGTH 32
6331/* Max key size including the WAPI and TKIP */
6332#define WLAN_MAX_KEY_RSC_LEN 16
6333// Definition for Encryption Keys
6334//typedef struct sSirKeys
6335typedef struct
6336{
6337 wpt_uint8 keyId;
6338 wpt_uint8 unicast; // 0 for multicast
6339 tWDIKeyDirection keyDirection;
6340 wpt_uint8 keyRsc[WLAN_MAX_KEY_RSC_LEN]; // Usage is unknown
6341 wpt_uint8 paeRole; // =1 for authenticator,
6342 // =0 for supplicant
6343 wpt_uint16 keyLength;
6344 wpt_uint8 key[SIR_MAC_MAX_KEY_LENGTH];
6345} tWDIKeys, *tpWDIKeys;
6346
6347typedef enum
6348{
6349 eWDI_WEP_STATIC,
6350 eWDI_WEP_DYNAMIC,
6351} tWDIWepType;
6352
6353// Encryption type enum used with peer
6354typedef enum
6355{
6356 eWDI_ED_NONE,
6357 eWDI_ED_WEP40,
6358 eWDI_ED_WEP104,
6359 eWDI_ED_TKIP,
6360 eWDI_ED_CCMP,
6361#if defined(FEATURE_WLAN_WAPI)
6362 eWDI_ED_WPI,
6363#endif
6364 /* DPU HW treats encryption mode 4 plus RMF bit set in TX BD as BIP.
6365 * Thus while setting BIP encryption mode in corresponding DPU Desc
6366 * eSIR_ED_AES_128_CMAC should be set to eSIR_ED_CCMP
6367 */
6368 eWDI_ED_AES_128_CMAC,
6369 eWDI_ED_NOT_IMPLEMENTED = SIR_MAX_ENUM_SIZE
6370} tWDIEdType;
6371#define SIR_WDI_MAX_NUM_OF_DEFAULT_KEYS 4
6372/*
6373 * This is used by PE to configure the key information on a given station.
6374 * When the secType is WEP40 or WEP104, the defWEPIdx is used to locate
6375 * a preconfigured key from a BSS the station assoicated with; otherwise
6376 * a new key descriptor is created based on the key field.
6377 */
6378typedef struct
6379{
6380 wpt_uint16 staIdx;
6381 tWDIEdType encType; // Encryption/Decryption type
6382 tWDIWepType wepType; // valid only for WEP
6383 wpt_uint8 defWEPIdx; // Default WEP key, valid only for static WEP, must between 0 and 3
6384 tWDIKeys key[SIR_WDI_MAX_NUM_OF_DEFAULT_KEYS]; // valid only for non-static WEP encyrptions
6385 wpt_uint8 singleTidRc; // 1=Single TID based Replay Count, 0=Per TID based RC
6386 wpt_uint8 sessionId; // PE session id for PE<->HAL interface
6387} tWDISetStaKeyParams, *tpWDISetStaKeyParams;
6388
6389typedef struct
6390{
6391 tWDISetStaKeyParams keyParams;
6392 wpt_uint8 pn[6];
6393}wpt_encConfigParams;
6394
6395typedef struct
6396{
6397 wpt_uint16 length;
6398 wpt_uint8 data[WDI_DISA_MAX_PAYLOAD_SIZE];
6399}wpt_payload;
6400
6401typedef struct
6402{
6403 wpt_80211Header macHeader;
6404 wpt_encConfigParams encParams;
6405 wpt_payload data;
6406}wpt_pkt80211;
6407
Katya Nigamf0511f62015-05-05 16:40:57 +05306408#define NUM_FILTERS_SUPPORTED 1
6409typedef struct
6410{
6411 wpt_macAddr macAddr;
6412 wpt_uint8 isA1filter;
6413 wpt_uint8 isA2filter;
6414 wpt_uint8 isA3filter;
6415}WDI_filter;
6416
6417typedef struct
6418{
6419 /* start or stop */
6420 wpt_uint8 state;
6421 /*Conversion of packet required or not*/
6422 wpt_uint8 is80211to803ConReq;
6423 wpt_uint32 ChannelNo;
6424 wpt_uint32 ChannelBW;
6425 wpt_uint8 crcCheckEnabled;
6426 wpt_uint8 numOfMacFilters;
6427 WDI_filter mmFilters[NUM_FILTERS_SUPPORTED];
6428 wpt_uint64 typeSubtypeBitmap;
6429 wpt_uint64 rsvd;
6430
6431}WDI_MonStartReqType;
6432
Arun Khandavalli7eeb1592015-10-19 21:36:57 +05306433typedef struct
6434{
6435 wpt_uint8 paramType;
6436 wpt_uint32 paramValue;
6437 wpt_macAddr bssId;
6438}WDI_WifiConfigSetReqType;
6439
Anurag Chouhan83026002016-12-13 22:46:21 +05306440#ifdef DHCP_SERVER_OFFLOAD
6441/**
6442 * wdi_set_dhcp_server_offload_t - dhcp server offload info
6443 * @bssidx: bss index
6444 * @enable: enable od disable
6445 * @srv_ipv4: server ip address
6446 * @start_lsb: starting lsb addredd of pool
6447 * @num_client: number of clients supported
6448 */
6449typedef struct {
6450 wpt_uint8 bssidx;
6451 wpt_uint32 enable;
6452 wpt_uint32 srv_ipv4; /* server IP */
6453 wpt_uint32 start_lsb; /* starting address assigned to client */
6454 wpt_uint32 num_client; /* number of clients we support */
6455} wdi_set_dhcp_server_offload_t;
6456
6457/**
6458 * wdi_dhcp_server_offload_rsp_param_t - dhcp server offload response
6459 * @status: status for the command success or failure
6460 */
6461typedef struct
6462{
6463 /* wdi status */
6464 wpt_uint32 status;
6465} wdi_dhcp_server_offload_rsp_param_t;
6466#endif /* DHCP_SERVER_OFFLOAD */
6467
Anurag Chouhan0b29de02016-12-16 13:18:40 +05306468#ifdef MDNS_OFFLOAD
6469/**
6470 * The purpose of the multicast Domain Name System (mDNS) is to resolve host
6471 * names to IP addresses within small networks that do not include a local
6472 * name server. It utilizes essentially the same programming interfaces, packet
6473 * formats and operating semantics as the unicast DNS, and the advantage is
6474 * zero configuration service while no need for central or global server.
6475 * Based on mDNS, the DNS-SD (Service Discovery) allows clients to discover a
6476 * named list of services by type in a specified domain using standard
6477 * DNS queries. Here, we provide the ability to advertise the available
6478 * services by responding to mDNS queries.
6479 */
6480
6481/**
6482 * wdi_mdns_enable_offload_cmd_req - mdns enable request
6483 * @bss_idx: bss index
6484 * @enable: enable
6485 */
6486typedef struct {
6487 wpt_uint8 bss_idx;
6488 wpt_uint32 enable;
6489} wdi_mdns_enable_offload_cmd_req;
6490
6491/**
6492 * wdi_mdns_enable_offload_rsp_param_t - mDNS enable offload response
6493 * @status: status for the command success or failure
6494 */
6495typedef struct
6496{
6497 wpt_uint32 status;
6498} wdi_mdns_enable_offload_rsp_param_t;
6499
6500#define WMI_MAX_MDNS_FQDN_LEN 64
6501#define WMI_MAX_MDNS_RESP_LEN 512
6502#define WMI_MDNS_FQDN_TYPE_GENERAL 0
6503#define WMI_MDNS_FQDN_TYPE_UNIQUE 1
6504
6505/**
6506 * wdi_mdns_set_fqdn_cmd_req - set fqdn request
6507 * @bss_idx: bss index
6508 * @type: type of fqdn, general or unique
6509 * @fqdn_len: length of fqdn
6510 * @fqdn_data: TLV byte stream of fqdn data of length fqdn_len fully-qualified
6511 * domain name to check if match with the received queries
6512 */
6513typedef struct {
6514 wpt_uint8 bss_idx;
6515 wpt_uint32 type;
6516 wpt_uint32 fqdn_len;
6517 wpt_uint8 fqdn_data[WMI_MAX_MDNS_FQDN_LEN];
6518} wdi_mdns_set_fqdn_cmd_req;
6519
6520/**
6521 * wdi_mdns_set_fqdn_rsp_param_t - mDNS set fqdn response
6522 * @status: status for the command success or failure
6523 */
6524typedef struct
6525{
6526 wpt_uint32 status;
6527} wdi_mdns_set_fqdn_rsp_param_t;
6528
6529/**
6530 * wdi_mdns_set_resp_req - mDNS response request
6531 * @bss_idx: bss index
6532 * @ar_count: Answer Resource Record count
6533 * @resp_len: length of response
6534 * @resp_data: TLV byte stream of resp data of length resp_len responses consisits of Resource Records
6535 */
6536typedef struct {
6537 wpt_uint8 bss_idx;
6538 wpt_uint32 ar_count;
6539 wpt_uint32 resp_len;
6540 wpt_uint8 resp_data[WMI_MAX_MDNS_RESP_LEN];
6541} wdi_mdns_set_resp_req;
6542
6543/**
6544 * wdi_mdns_set_rsp_param_t - mDNS set response rsp
6545 * @status: status for the command success or failure
6546 */
6547typedef struct
6548{
6549 wpt_uint32 status;
6550} wdi_mdns_set_rsp_param_t;
6551
6552/**
6553 * wdi_mdns_get_stats_req - get mdns stats request
6554 * @bss_idx: bss index
6555 */
6556typedef struct {
6557 wpt_uint8 bss_idx;
6558} wdi_mdns_get_stats_req;
6559
6560/**
6561 * wdi_mdns_stats_rsp_t - mdns stats
6562 * @bss_idx: bss index
6563 * @current_ts: curTimestamp in milliseconds
6564 * @last_querry_ts: last received Query in milliseconds
6565 * @last_resp_ts: last sent Response in milliseconds
6566 * @tot_queries: stats of received queries
6567 * @tot_matches: stats of macth queries
6568 * @tot_rsp: stats of responses
6569 * @status: indicate the current status of mDNS offload
6570 */
6571typedef struct {
6572 wpt_uint8 bss_idx;
6573 wpt_uint32 current_ts;
6574 wpt_uint32 last_querry_ts;
6575 wpt_uint32 last_resp_ts;
6576 wpt_uint32 tot_queries;
6577 wpt_uint32 tot_matches;
6578 wpt_uint32 tot_rsp;
6579 wpt_uint32 status;
6580} wdi_mdns_stats_rsp_param_t;
6581#endif /* MDNS_OFFLOAD */
6582
Kapil Gupta3d923fb2016-12-20 18:59:27 +05306583#ifdef WLAN_FEATURE_APFIND
6584struct WDI_APFind_cmd
6585{
6586 wpt_uint32 data_len;
6587 wpt_uint8 data[];
6588};
6589#endif
6590
c_manjeecfd1efb2015-09-25 19:32:34 +05306591/**
6592 * struct WDI_FwrMemDumpReqType - firmware memory dump request details.
6593.*.@FWMemDumpReqCb - Associated Callback
6594 *.@fwMemDumpReqContext - Callback context
6595 * @reserved - reserved field 1.
6596 *
6597 * This structure carries information about the firmware
6598 * memory dump request.
6599 */
6600typedef struct
6601{
6602 wpt_uint32 reserved1;
6603}WDI_FwrMemDumpReqType;
6604
6605/**
6606 * struct WDI_FwrMemDumpRsp - firmware dump response details.
6607 *
6608 * This structure is used to store the firmware dump
6609 * response from the firmware.
6610 */
6611typedef struct
6612{
6613 wpt_uint32 dump_status;
6614}WDI_FwrMemDumpRsp;
6615
Arun Khandavalli7eeb1592015-10-19 21:36:57 +05306616typedef struct
6617{
6618 wpt_uint32 wificonfigset_status;
6619}WDI_WifconfigSetRsp;
c_manjeecfd1efb2015-09-25 19:32:34 +05306620
Mahesh A Saptasagar7d432952016-02-09 14:01:03 +05306621/**
6622 * struct WDI_ModifyRoamParamsReqType - Modified roam parameter details.
6623 *
6624 */
6625
6626typedef struct {
6627 wpt_uint8 param;
6628 wpt_uint32 value;
6629}WDI_ModifyRoamParamsReqType;
6630
Selvaraj, Sridharc045b8b2016-04-06 12:22:35 +05306631/**
6632 * struct WDI_AllowedActionFramesInd - Allowed Action frames details
6633 *
6634 */
6635struct WDI_AllowedActionFramesInd {
6636 wpt_uint32 bitmask;
6637 wpt_uint32 reserved;
6638};
Agrawal Ashish17ef5082016-10-17 18:33:21 +05306639
6640struct WDI_sap_ofl_enable_params{
6641
6642 wpt_macAddr macAddr;
6643 /** enable/disable sap auth offload */
6644 wpt_uint32 enable;
6645 /** authentication mode (defined above) */
6646 wpt_uint32 rsn_authmode;
6647 /** unicast cipher set */
6648 wpt_uint32 rsn_ucastcipherset;
6649 /** mcast/group cipher set */
6650 wpt_uint32 rsn_mcastcipherset;
6651 /** mcast/group management frames cipher set */
6652 wpt_uint32 rsn_mcastmgmtcipherset;
6653 /** sap channel */
6654 wpt_uint32 channel;
6655 /** length of psk */
6656 wpt_uint32 psk_len;
6657 wpt_uint8 key[64];
6658};
6659
Manjeet Singh3ed79242017-01-11 19:04:32 +05306660/**
6661 * wdi_cap_tsf_params_t - wdi capture tsf params
6662 * @bssidx: bss index
6663 * @capTSFget: whether get/set request
6664 *
6665 */
6666 typedef struct {
6667 wpt_uint8 bss_idx;
6668 wpt_uint8 capTSFget;
6669} wdi_cap_tsf_params_t;
6670
6671/**
6672 * wdi_cap_tsf_rsp_t - capture tsf response
6673 * @bssidx: bss index
6674 * @capTSFget: whether get/set request
6675 *
6676 */
6677 typedef struct {
6678 wpt_uint32 status;
6679 wpt_uint32 tsf_lo;
6680 wpt_uint32 tsf_hi;
6681} wdi_cap_tsf_rsp_t;
Agrawal Ashish17ef5082016-10-17 18:33:21 +05306682
Dundi Ravitejaa7b31992020-09-15 23:37:55 +05306683#ifdef FEATURE_WLAN_SW_PTA
6684/**
6685 * enum wdi_sw_pta_param_type - Type of sw pta coex param
6686 * @WDI_SCO_STATUS: Enable/Disable SCO
6687 * @WDI_NUD_STATUS: Enable/Disable NUD
6688 * @WDI_BT_STATUS: Enable/Disable BT
6689 */
6690/* Copied from sirApi.h to avoid compile error */
6691enum wdi_sw_pta_param_type {
6692 WDI_SCO_STATUS,
6693 WDI_NUD_STATUS,
6694 WDI_BT_STATUS,
6695};
6696
6697#define WDI_SW_PTA_COEX_PARAMS_MAX_LEN 32
6698/**
6699 * wdi_sw_pta_req - SW PTA coex params request
6700 * @param_type: sw pta coex param type
6701 * @length: sw pta coex params value length
6702 * @value: sw pta coex params value
6703 */
6704struct wdi_sw_pta_req {
6705 enum wdi_sw_pta_param_type param_type;
6706 uint8_t length;
6707 uint8_t value[WDI_SW_PTA_COEX_PARAMS_MAX_LEN];
6708};
6709#endif
6710
Jeff Johnson295189b2012-06-20 16:38:30 -07006711/*----------------------------------------------------------------------------
6712 * WDI callback types
6713 *--------------------------------------------------------------------------*/
6714
6715/*---------------------------------------------------------------------------
6716 WDI_StartRspCb
6717
6718 DESCRIPTION
6719
6720 This callback is invoked by DAL when it has received a Start response from
6721 the underlying device.
6722
6723 PARAMETERS
6724
6725 IN
6726 wdiRspParams: response parameters received from HAL
6727 pUserData: user data
6728
6729
6730 RETURN VALUE
6731 The result code associated with performing the operation
6732---------------------------------------------------------------------------*/
6733typedef void (*WDI_StartRspCb)(WDI_StartRspParamsType* pwdiRspParams,
6734 void* pUserData);
6735
6736/*---------------------------------------------------------------------------
6737 WDI_StartRspCb
6738
6739 DESCRIPTION
6740
6741 This callback is invoked by DAL when it has received a Stop response from
6742 the underlying device.
6743
6744 PARAMETERS
6745
6746 IN
6747 wdiStatus: response status received from HAL
6748 pUserData: user data
6749
6750
6751
6752 RETURN VALUE
6753 The result code associated with performing the operation
6754---------------------------------------------------------------------------*/
6755typedef void (*WDI_StopRspCb)(WDI_Status wdiStatus,
6756 void* pUserData);
6757
6758/*---------------------------------------------------------------------------
6759 WDI_StartRspCb
6760
6761 DESCRIPTION
6762
6763 This callback is invoked by DAL when it has received an Init Scan response
6764 from the underlying device.
6765
6766 PARAMETERS
6767
6768 IN
6769 wdiStatus: response status received from HAL
6770 pUserData: user data
6771
6772
6773
6774 RETURN VALUE
6775 The result code associated with performing the operation
6776---------------------------------------------------------------------------*/
6777typedef void (*WDI_InitScanRspCb)(WDI_Status wdiStatus,
6778 void* pUserData);
6779
6780
6781/*---------------------------------------------------------------------------
6782 WDI_StartRspCb
6783
6784 DESCRIPTION
6785
6786 This callback is invoked by DAL when it has received a StartScan response
6787 from the underlying device.
6788
6789 PARAMETERS
6790
6791 IN
6792 wdiParams: response params received from HAL
6793 pUserData: user data
6794
6795
6796
6797 RETURN VALUE
6798 The result code associated with performing the operation
6799---------------------------------------------------------------------------*/
6800typedef void (*WDI_StartScanRspCb)(WDI_StartScanRspParamsType* wdiParams,
6801 void* pUserData);
6802
6803
6804/*---------------------------------------------------------------------------
6805 WDI_StartRspCb
6806
6807 DESCRIPTION
6808
6809 This callback is invoked by DAL when it has received a End Scan response
6810 from the underlying device.
6811
6812 PARAMETERS
6813
6814 IN
6815 wdiStatus: response status received from HAL
6816 pUserData: user data
6817
6818
6819
6820 RETURN VALUE
6821 The result code associated with performing the operation
6822---------------------------------------------------------------------------*/
6823typedef void (*WDI_EndScanRspCb)(WDI_Status wdiStatus,
6824 void* pUserData);
6825
Jeff Johnson295189b2012-06-20 16:38:30 -07006826/*---------------------------------------------------------------------------
6827 WDI_StartRspCb
6828
6829 DESCRIPTION
6830
6831 This callback is invoked by DAL when it has received a Finish Scan response
6832 from the underlying device.
6833
6834 PARAMETERS
6835
6836 IN
6837 wdiStatus: response status received from HAL
6838 pUserData: user data
6839
6840
6841
6842 RETURN VALUE
6843 The result code associated with performing the operation
6844---------------------------------------------------------------------------*/
6845typedef void (*WDI_FinishScanRspCb)(WDI_Status wdiStatus,
6846 void* pUserData);
6847
6848
6849/*---------------------------------------------------------------------------
6850 WDI_StartRspCb
6851
6852 DESCRIPTION
6853
6854 This callback is invoked by DAL when it has received a Join response from
6855 the underlying device.
6856
6857 PARAMETERS
6858
6859 IN
6860 wdiStatus: response status received from HAL
6861 pUserData: user data
6862
6863
6864
6865 RETURN VALUE
6866 The result code associated with performing the operation
6867---------------------------------------------------------------------------*/
6868typedef void (*WDI_JoinRspCb)(WDI_Status wdiStatus,
6869 void* pUserData);
6870
6871
6872/*---------------------------------------------------------------------------
6873 WDI_StartRspCb
6874
6875 DESCRIPTION
6876
6877 This callback is invoked by DAL when it has received a Config BSS response
6878 from the underlying device.
6879
6880 PARAMETERS
6881
6882 IN
6883 wdiConfigBSSRsp: response parameters received from HAL
6884 pUserData: user data
6885
6886
6887 RETURN VALUE
6888 The result code associated with performing the operation
6889---------------------------------------------------------------------------*/
6890typedef void (*WDI_ConfigBSSRspCb)(
6891 WDI_ConfigBSSRspParamsType* pwdiConfigBSSRsp,
6892 void* pUserData);
6893
6894
6895/*---------------------------------------------------------------------------
6896 WDI_StartRspCb
6897
6898 DESCRIPTION
6899
6900 This callback is invoked by DAL when it has received a Del BSS response from
6901 the underlying device.
6902
6903 PARAMETERS
6904
6905 IN
6906 wdiDelBSSRsp: response parameters received from HAL
6907 pUserData: user data
6908
6909
6910 RETURN VALUE
6911 The result code associated with performing the operation
6912---------------------------------------------------------------------------*/
6913typedef void (*WDI_DelBSSRspCb)(WDI_DelBSSRspParamsType* pwdiDelBSSRsp,
6914 void* pUserData);
6915
6916
6917/*---------------------------------------------------------------------------
6918 WDI_StartRspCb
6919
6920 DESCRIPTION
6921
6922 This callback is invoked by DAL when it has received a Post Assoc response
6923 from the underlying device.
6924
6925 PARAMETERS
6926
6927 IN
6928 wdiRspParams: response parameters received from HAL
6929 pUserData: user data
6930
6931
6932 RETURN VALUE
6933 The result code associated with performing the operation
6934---------------------------------------------------------------------------*/
6935typedef void (*WDI_PostAssocRspCb)(
6936 WDI_PostAssocRspParamsType* pwdiPostAssocRsp,
6937 void* pUserData);
6938
6939
6940/*---------------------------------------------------------------------------
6941 WDI_StartRspCb
6942
6943 DESCRIPTION
6944
6945 This callback is invoked by DAL when it has received a Del STA response from
6946 the underlying device.
6947
6948 PARAMETERS
6949
6950 IN
6951 wdiDelSTARsp: response parameters received from HAL
6952 pUserData: user data
6953
6954
6955 RETURN VALUE
6956 The result code associated with performing the operation
6957---------------------------------------------------------------------------*/
6958typedef void (*WDI_DelSTARspCb)(WDI_DelSTARspParamsType* pwdiDelSTARsp,
6959 void* pUserData);
6960
6961
6962
6963/*---------------------------------------------------------------------------
6964 WDI_StartRspCb
6965
6966 DESCRIPTION
6967
6968 This callback is invoked by DAL when it has received a Set BSS Key response
6969 from the underlying device.
6970
6971 PARAMETERS
6972
6973 IN
6974 wdiStatus: response status received from HAL
6975 pUserData: user data
6976
6977
6978
6979 RETURN VALUE
6980 The result code associated with performing the operation
6981---------------------------------------------------------------------------*/
6982typedef void (*WDI_SetBSSKeyRspCb)(WDI_Status wdiStatus,
6983 void* pUserData);
6984
6985/*---------------------------------------------------------------------------
6986 WDI_StartRspCb
6987
6988 DESCRIPTION
6989
6990 This callback is invoked by DAL when it has received a Remove BSS Key
6991 response from the underlying device.
6992
6993 PARAMETERS
6994
6995 IN
6996 wdiStatus: response status received from HAL
6997 pUserData: user data
6998
6999
7000
7001 RETURN VALUE
7002 The result code associated with performing the operation
7003---------------------------------------------------------------------------*/
7004typedef void (*WDI_RemoveBSSKeyRspCb)(WDI_Status wdiStatus,
7005 void* pUserData);
7006
7007/*---------------------------------------------------------------------------
7008 WDI_StartRspCb
7009
7010 DESCRIPTION
7011
7012 This callback is invoked by DAL when it has received a Set STA Key response
7013 from the underlying device.
7014
7015 PARAMETERS
7016
7017 IN
7018 wdiStatus: response status received from HAL
7019 pUserData: user data
7020
7021
Jeff Johnson295189b2012-06-20 16:38:30 -07007022 RETURN VALUE
7023 The result code associated with performing the operation
7024---------------------------------------------------------------------------*/
7025typedef void (*WDI_SetSTAKeyRspCb)(WDI_Status wdiStatus,
7026 void* pUserData);
7027
Jeff Johnson295189b2012-06-20 16:38:30 -07007028/*---------------------------------------------------------------------------
7029 WDI_StartRspCb
7030
7031 DESCRIPTION
7032
7033 This callback is invoked by DAL when it has received a Remove STA Key
7034 response from the underlying device.
7035
7036 PARAMETERS
7037
7038 IN
7039 wdiStatus: response status received from HAL
7040 pUserData: user data
7041
Siddharth Bhal171788a2014-09-29 21:02:40 +05307042
Jeff Johnson295189b2012-06-20 16:38:30 -07007043 RETURN VALUE
7044 The result code associated with performing the operation
7045---------------------------------------------------------------------------*/
7046typedef void (*WDI_RemoveSTAKeyRspCb)(WDI_Status wdiStatus,
7047 void* pUserData);
7048
7049
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08007050#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07007051/*---------------------------------------------------------------------------
7052 WDI_TsmRspCb
7053
7054 DESCRIPTION
7055
7056 This callback is invoked by DAL when it has received a TSM Stats response from the underlying device.
7057
7058 PARAMETERS
7059
7060 IN
7061 pTSMStats: response status received from HAL
7062 pUserData: user data
7063
7064
7065
7066 RETURN VALUE
7067 The result code associated with performing the operation
7068---------------------------------------------------------------------------*/
7069typedef void (*WDI_TsmRspCb)(WDI_TSMStatsRspParamsType *pTSMStats,
7070 void* pUserData);
7071#endif
7072
7073/*---------------------------------------------------------------------------
7074 WDI_StartRspCb
7075
7076 DESCRIPTION
7077
7078 This callback is invoked by DAL when it has received a Add TS response from
7079 the underlying device.
7080
7081 PARAMETERS
7082
7083 IN
7084 wdiStatus: response status received from HAL
7085 pUserData: user data
7086
7087
7088
7089 RETURN VALUE
7090 The result code associated with performing the operation
7091---------------------------------------------------------------------------*/
7092typedef void (*WDI_AddTsRspCb)(WDI_Status wdiStatus,
7093 void* pUserData);
7094
7095/*---------------------------------------------------------------------------
7096 WDI_StartRspCb
7097
7098 DESCRIPTION
7099
7100 This callback is invoked by DAL when it has received a Del TS response from
7101 the underlying device.
7102
7103 PARAMETERS
7104
7105 IN
7106 wdiStatus: response status received from HAL
7107 pUserData: user data
7108
7109
7110
7111 RETURN VALUE
7112 The result code associated with performing the operation
7113---------------------------------------------------------------------------*/
7114typedef void (*WDI_DelTsRspCb)(WDI_Status wdiStatus,
7115 void* pUserData);
7116
7117/*---------------------------------------------------------------------------
7118 WDI_StartRspCb
7119
7120 DESCRIPTION
7121
7122 This callback is invoked by DAL when it has received an Update EDCA Params
7123 response from the underlying device.
7124
7125 PARAMETERS
7126
7127 IN
7128 wdiStatus: response status received from HAL
7129 pUserData: user data
7130
7131
7132
7133 RETURN VALUE
7134 The result code associated with performing the operation
7135---------------------------------------------------------------------------*/
7136typedef void (*WDI_UpdateEDCAParamsRspCb)(WDI_Status wdiStatus,
7137 void* pUserData);
7138
7139/*---------------------------------------------------------------------------
7140 WDI_StartRspCb
7141
7142 DESCRIPTION
7143
7144 This callback is invoked by DAL when it has received a Add BA response from
7145 the underlying device.
7146
7147 PARAMETERS
7148
7149 IN
7150 wdiStatus: response status received from HAL
7151 pUserData: user data
7152
7153
7154
7155 RETURN VALUE
7156 The result code associated with performing the operation
7157---------------------------------------------------------------------------*/
7158typedef void (*WDI_AddBASessionRspCb)(
7159 WDI_AddBASessionRspParamsType* wdiAddBASessionRsp,
7160 void* pUserData);
7161
7162
7163/*---------------------------------------------------------------------------
7164 WDI_StartRspCb
7165
7166 DESCRIPTION
7167
7168 This callback is invoked by DAL when it has received a Del BA response from
7169 the underlying device.
7170
7171 PARAMETERS
7172
7173 IN
7174 wdiStatus: response status received from HAL
7175 pUserData: user data
7176
7177
7178
7179 RETURN VALUE
7180 The result code associated with performing the operation
7181---------------------------------------------------------------------------*/
7182typedef void (*WDI_DelBARspCb)(WDI_Status wdiStatus,
7183 void* pUserData);
7184
7185
7186/*---------------------------------------------------------------------------
7187 WDI_StartRspCb
7188
7189 DESCRIPTION
7190
7191 This callback is invoked by DAL when it has received a Switch Ch response
7192 from the underlying device.
7193
7194 PARAMETERS
7195
7196 IN
7197 wdiRspParams: response parameters received from HAL
7198 pUserData: user data
7199
7200
7201 RETURN VALUE
7202 The result code associated with performing the operation
7203---------------------------------------------------------------------------*/
7204typedef void (*WDI_SwitchChRspCb)(WDI_SwitchCHRspParamsType* pwdiSwitchChRsp,
7205 void* pUserData);
7206
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08007207typedef void (*WDI_SwitchChRspCb_V1)(WDI_SwitchChRspParamsType_V1* pwdiSwitchChRsp,
7208 void* pUserData);
7209
Jeff Johnson295189b2012-06-20 16:38:30 -07007210
7211/*---------------------------------------------------------------------------
7212 WDI_StartRspCb
7213
7214 DESCRIPTION
7215
7216 This callback is invoked by DAL when it has received a Config STA response
7217 from the underlying device.
7218
7219 PARAMETERS
7220
7221 IN
7222 wdiRspParams: response parameters received from HAL
7223 pUserData: user data
7224
7225
7226 RETURN VALUE
7227 The result code associated with performing the operation
7228---------------------------------------------------------------------------*/
7229typedef void (*WDI_ConfigSTARspCb)(
7230 WDI_ConfigSTARspParamsType* pwdiConfigSTARsp,
7231 void* pUserData);
7232
7233
7234/*---------------------------------------------------------------------------
7235 WDI_StartRspCb
7236
7237 DESCRIPTION
7238
7239 This callback is invoked by DAL when it has received a Set Link State
7240 response from the underlying device.
7241
7242 PARAMETERS
7243
7244 IN
7245 wdiRspParams: response parameters received from HAL
7246 pUserData: user data
7247
7248
7249 RETURN VALUE
7250 The result code associated with performing the operation
7251---------------------------------------------------------------------------*/
7252typedef void (*WDI_SetLinkStateRspCb)( WDI_Status wdiStatus,
7253 void* pUserData);
7254
7255
7256/*---------------------------------------------------------------------------
7257 WDI_StartRspCb
7258
7259 DESCRIPTION
7260
7261 This callback is invoked by DAL when it has received a Get Stats response
7262 from the underlying device.
7263
7264 PARAMETERS
7265
7266 IN
7267 wdiRspParams: response parameters received from HAL
7268 pUserData: user data
7269
7270
7271 RETURN VALUE
7272 The result code associated with performing the operation
7273---------------------------------------------------------------------------*/
7274typedef void (*WDI_GetStatsRspCb)(WDI_GetStatsRspParamsType* pwdiGetStatsRsp,
7275 void* pUserData);
7276
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08007277#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08007278/*---------------------------------------------------------------------------
7279 WDI_GetRoamRssiRspCb
7280
7281 DESCRIPTION
7282
7283 This callback is invoked by DAL when it has received a Get Roam Rssi response
7284 from the underlying device.
7285
7286 PARAMETERS
7287
7288 IN
7289 wdiRspParams: response parameters received from HAL
7290 pUserData: user data
7291
7292
7293 RETURN VALUE
7294 The result code associated with performing the operation
7295---------------------------------------------------------------------------*/
7296typedef void (*WDI_GetRoamRssiRspCb)(WDI_GetRoamRssiRspParamsType* pwdiGetRoamRssiRsp,
7297 void* pUserData);
7298#endif
7299
Jeff Johnson295189b2012-06-20 16:38:30 -07007300
7301/*---------------------------------------------------------------------------
7302 WDI_StartRspCb
7303
7304 DESCRIPTION
7305
7306 This callback is invoked by DAL when it has received a Update Cfg response
7307 from the underlying device.
7308
7309 PARAMETERS
7310
7311 IN
7312 wdiStatus: response status received from HAL
7313 pUserData: user data
7314
7315
7316 RETURN VALUE
7317 The result code associated with performing the operation
7318---------------------------------------------------------------------------*/
7319typedef void (*WDI_UpdateCfgRspCb)(WDI_Status wdiStatus,
7320 void* pUserData);
7321
7322/*---------------------------------------------------------------------------
7323 WDI_AddBARspCb
7324
7325 DESCRIPTION
7326
7327 This callback is invoked by DAL when it has received a ADD BA response
7328 from the underlying device.
7329
7330 PARAMETERS
7331
7332 IN
7333 wdiStatus: response status received from HAL
7334 pUserData: user data
7335
7336
7337 RETURN VALUE
7338 The result code associated with performing the operation
7339---------------------------------------------------------------------------*/
7340typedef void (*WDI_AddBARspCb)(WDI_AddBARspinfoType* wdiAddBARsp,
7341 void* pUserData);
7342
7343/*---------------------------------------------------------------------------
7344 WDI_TriggerBARspCb
7345
7346 DESCRIPTION
7347
7348 This callback is invoked by DAL when it has received a ADD BA response
7349 from the underlying device.
7350
7351 PARAMETERS
7352
7353 IN
7354 wdiStatus: response status received from HAL
7355 pUserData: user data
7356
7357
7358 RETURN VALUE
7359 The result code associated with performing the operation
7360---------------------------------------------------------------------------*/
7361typedef void (*WDI_TriggerBARspCb)(WDI_TriggerBARspParamsType* wdiTriggerBARsp,
7362 void* pUserData);
7363
7364
7365/*---------------------------------------------------------------------------
7366 WDI_UpdateBeaconParamsRspCb
7367
7368 DESCRIPTION
7369
7370 This callback is invoked by DAL when it has received a Update Beacon Params response from
7371 the underlying device.
7372
7373 PARAMETERS
7374
7375 IN
7376 wdiStatus: response status received from HAL
7377 pUserData: user data
7378
7379
7380
7381 RETURN VALUE
7382 The result code associated with performing the operation
7383---------------------------------------------------------------------------*/
7384typedef void (*WDI_UpdateBeaconParamsRspCb)(WDI_Status wdiStatus,
7385 void* pUserData);
7386
7387/*---------------------------------------------------------------------------
7388 WDI_SendBeaconParamsRspCb
7389
7390 DESCRIPTION
7391
7392 This callback is invoked by DAL when it has received a Send Beacon Params response from
7393 the underlying device.
7394
7395 PARAMETERS
7396
7397 IN
7398 wdiStatus: response status received from HAL
7399 pUserData: user data
7400
7401
7402
7403 RETURN VALUE
7404 The result code associated with performing the operation
7405---------------------------------------------------------------------------*/
7406typedef void (*WDI_SendBeaconParamsRspCb)(WDI_Status wdiStatus,
7407 void* pUserData);
7408
7409/*---------------------------------------------------------------------------
7410 WDA_SetMaxTxPowerRspCb
7411
7412 DESCRIPTION
7413
7414 This callback is invoked by DAL when it has received a set max Tx Power response from
7415 the underlying device.
7416
7417 PARAMETERS
7418
7419 IN
7420 wdiStatus: response status received from HAL
7421 pUserData: user data
7422
7423
7424
7425 RETURN VALUE
7426 The result code associated with performing the operation
7427---------------------------------------------------------------------------*/
7428typedef void (*WDA_SetMaxTxPowerRspCb)(WDI_SetMaxTxPowerRspMsg *wdiSetMaxTxPowerRsp,
7429 void* pUserData);
7430
7431/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07007432 WDA_SetMaxTxPowerPerBandRspCb
7433
7434 DESCRIPTION
7435
7436 This callback is invoked by DAL when it has received a
7437 set max Tx Power Per Band response from the underlying device.
7438
7439 PARAMETERS
7440
7441 IN
7442 wdiSetMaxTxPowerPerBandRsp: response status received from HAL
7443 pUserData: user data
7444
7445 RETURN VALUE
7446 The result code associated with performing the operation
7447---------------------------------------------------------------------------*/
7448typedef void (*WDA_SetMaxTxPowerPerBandRspCb)(WDI_SetMaxTxPowerPerBandRspMsg
7449 *wdiSetMaxTxPowerPerBandRsp,
7450 void* pUserData);
7451
7452/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07007453 WDA_SetTxPowerRspCb
7454
7455 DESCRIPTION
7456
7457 This callback is invoked by DAL when it has received a set max Tx Power response from
7458 the underlying device.
7459
7460 PARAMETERS
7461
7462 IN
7463 wdiStatus: response status received from HAL
7464 pUserData: user data
7465
7466 RETURN VALUE
7467 The result code associated with performing the operation
7468---------------------------------------------------------------------------*/
7469typedef void (*WDA_SetTxPowerRspCb)(WDI_SetTxPowerRspMsg *wdiSetTxPowerRsp,
7470 void* pUserData);
7471
7472/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07007473 WDI_UpdateProbeRspTemplateRspCb
7474
7475 DESCRIPTION
7476
7477 This callback is invoked by DAL when it has received a Probe RSP Template
7478 Update response from the underlying device.
7479
7480 PARAMETERS
7481
7482 IN
7483 wdiStatus: response status received from HAL
7484 pUserData: user data
7485
7486
7487
7488 RETURN VALUE
7489 The result code associated with performing the operation
7490---------------------------------------------------------------------------*/
7491typedef void (*WDI_UpdateProbeRspTemplateRspCb)(WDI_Status wdiStatus,
7492 void* pUserData);
7493
Jeff Johnson295189b2012-06-20 16:38:30 -07007494/*---------------------------------------------------------------------------
7495 WDI_SetP2PGONOAReqParamsRspCb
7496
7497 DESCRIPTION
7498
7499 This callback is invoked by DAL when it has received a P2P GO NOA Params response from
7500 the underlying device.
7501
7502 PARAMETERS
7503
7504 IN
7505 wdiStatus: response status received from HAL
7506 pUserData: user data
7507
7508
7509
7510 RETURN VALUE
7511 The result code associated with performing the operation
7512---------------------------------------------------------------------------*/
7513typedef void (*WDI_SetP2PGONOAReqParamsRspCb)(WDI_Status wdiStatus,
7514 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007515
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05307516/*---------------------------------------------------------------------------
7517 WDI_SetTDLSLinkEstablishReqParamsRspCb
7518
7519 DESCRIPTION
7520
7521 This callback is invoked by DAL when it has received a TDLS Link Establish Req response from
7522 the underlying device.
7523
7524 PARAMETERS
7525
7526 IN
7527 wdiStatus: response status received from HAL
7528 pUserData: user data
7529
7530
7531
7532 RETURN VALUE
7533 The result code associated with performing the operation
7534---------------------------------------------------------------------------*/
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05307535typedef void (*WDI_SetTDLSLinkEstablishReqParamsRspCb)(WDI_SetTdlsLinkEstablishReqResp *
7536 wdiSetTdlsLinkEstablishReqRsp,
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05307537 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007538
7539/*---------------------------------------------------------------------------
Atul Mittalc0f739f2014-07-31 13:47:47 +05307540 WDI_SetTDLSChanSwitchReqParamsRspCb
7541
7542 DESCRIPTION
7543
7544 This callback is invoked by DAL when it has received a TDLS Link Establish Req response from
7545 the underlying device.
7546
7547 PARAMETERS
7548
7549 IN
7550 wdiStatus: response status received from HAL
7551 pUserData: user data
7552
7553
7554
7555 RETURN VALUE
7556 The result code associated with performing the operation
7557---------------------------------------------------------------------------*/
7558typedef void (*WDI_SetTDLSChanSwitchReqParamsRspCb)(WDI_SetTdlsChanSwitchReqResp *
7559 wdiSetTdlsChanSwitchReqRsp,
7560 void* pUserData);
7561/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07007562 WDI_SetPwrSaveCfgCb
7563
7564 DESCRIPTION
7565
7566 This callback is invoked by DAL when it has received a set Power Save CFG
7567 response from the underlying device.
7568
7569 PARAMETERS
7570
7571 IN
7572 wdiStatus: response status received from HAL
7573 pUserData: user data
7574
7575
7576
7577 RETURN VALUE
7578 The result code associated with performing the operation
7579---------------------------------------------------------------------------*/
7580typedef void (*WDI_SetPwrSaveCfgCb)(WDI_Status wdiStatus,
7581 void* pUserData);
7582
7583/*---------------------------------------------------------------------------
7584 WDI_SetUapsdAcParamsCb
7585
7586 DESCRIPTION
7587
7588 This callback is invoked by DAL when it has received a set UAPSD params
7589 response from the underlying device.
7590
7591 PARAMETERS
7592
7593 IN
7594 wdiStatus: response status received from HAL
7595 pUserData: user data
7596
7597
7598
7599 RETURN VALUE
7600 The result code associated with performing the operation
7601---------------------------------------------------------------------------*/
7602typedef void (*WDI_SetUapsdAcParamsCb)(WDI_Status wdiStatus,
7603 void* pUserData);
7604
7605/*---------------------------------------------------------------------------
7606 WDI_EnterImpsRspCb
7607
7608 DESCRIPTION
7609
7610 This callback is invoked by DAL when it has received a Enter IMPS response
7611 from the underlying device.
7612
7613 PARAMETERS
7614
7615 IN
7616 wdiStatus: response status received from HAL
7617 pUserData: user data
7618
7619
7620
7621 RETURN VALUE
7622 The result code associated with performing the operation
7623---------------------------------------------------------------------------*/
7624typedef void (*WDI_EnterImpsRspCb)(WDI_Status wdiStatus,
7625 void* pUserData);
7626
7627/*---------------------------------------------------------------------------
7628 WDI_ExitImpsRspCb
7629
7630 DESCRIPTION
7631
7632 This callback is invoked by DAL when it has received a Exit IMPS response
7633 from the underlying device.
7634
7635 PARAMETERS
7636
7637 IN
7638 wdiStatus: response status received from HAL
7639 pUserData: user data
7640
7641
7642
7643 RETURN VALUE
7644 The result code associated with performing the operation
7645---------------------------------------------------------------------------*/
7646typedef void (*WDI_ExitImpsRspCb)(WDI_Status wdiStatus,
7647 void* pUserData);
7648
7649/*---------------------------------------------------------------------------
7650 WDI_EnterBmpsRspCb
7651
7652 DESCRIPTION
7653
7654 This callback is invoked by DAL when it has received a enter BMPS response
7655 from the underlying device.
7656
7657 PARAMETERS
7658
7659 IN
7660 wdiStatus: response status received from HAL
7661 pUserData: user data
7662
7663
7664
7665 RETURN VALUE
7666 The result code associated with performing the operation
7667---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007668typedef void (*WDI_EnterBmpsRspCb)(WDI_EnterBmpsRspParamsType *pwdiEnterBmpsRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007669 void* pUserData);
7670
7671/*---------------------------------------------------------------------------
7672 WDI_ExitBmpsRspCb
7673
7674 DESCRIPTION
7675
7676 This callback is invoked by DAL when it has received a exit BMPS response
7677 from the underlying device.
7678
7679 PARAMETERS
7680
7681 IN
7682 wdiStatus: response status received from HAL
7683 pUserData: user data
7684
7685
7686
7687 RETURN VALUE
7688 The result code associated with performing the operation
7689---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007690typedef void (*WDI_ExitBmpsRspCb)( WDI_ExitBmpsRspParamsType *pwdiExitBmpsRspParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007691 void* pUserData);
7692
7693/*---------------------------------------------------------------------------
7694 WDI_EnterUapsdRspCb
7695
7696 DESCRIPTION
7697
7698 This callback is invoked by DAL when it has received a enter UAPSD response
7699 from the underlying device.
7700
7701 PARAMETERS
7702
7703 IN
7704 wdiStatus: response status received from HAL
7705 pUserData: user data
7706
7707
7708
7709 RETURN VALUE
7710 The result code associated with performing the operation
7711---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007712typedef void (*WDI_EnterUapsdRspCb)( WDI_EnterUapsdRspParamsType *pwdiEnterUapsdRspParam,
Jeff Johnson295189b2012-06-20 16:38:30 -07007713 void* pUserData);
7714
7715/*---------------------------------------------------------------------------
7716 WDI_ExitUapsdRspCb
7717
7718 DESCRIPTION
7719
7720 This callback is invoked by DAL when it has received a exit UAPSD response
7721 from the underlying device.
7722
7723 PARAMETERS
7724
7725 IN
7726 wdiStatus: response status received from HAL
7727 pUserData: user data
7728
7729
7730
7731 RETURN VALUE
7732 The result code associated with performing the operation
7733---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007734typedef void (*WDI_ExitUapsdRspCb)(WDI_ExitUapsdRspParamsType *pwidExitUapsdRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007735 void* pUserData);
7736
7737/*---------------------------------------------------------------------------
7738 WDI_UpdateUapsdParamsCb
7739
7740 DESCRIPTION
7741
7742 This callback is invoked by DAL when it has received a update UAPSD params
7743 response from the underlying device.
7744
7745 PARAMETERS
7746
7747 IN
7748 wdiStatus: response status received from HAL
7749 pUserData: user data
7750
7751
7752
7753 RETURN VALUE
7754 The result code associated with performing the operation
7755---------------------------------------------------------------------------*/
7756typedef void (*WDI_UpdateUapsdParamsCb)(WDI_Status wdiStatus,
7757 void* pUserData);
7758
7759/*---------------------------------------------------------------------------
7760 WDI_ConfigureRxpFilterCb
7761
7762 DESCRIPTION
7763
7764 This callback is invoked by DAL when it has received a config RXP filter
7765 response from the underlying device.
7766
7767 PARAMETERS
7768
7769 IN
7770 wdiStatus: response status received from HAL
7771 pUserData: user data
7772
7773
7774
7775 RETURN VALUE
7776 The result code associated with performing the operation
7777---------------------------------------------------------------------------*/
7778typedef void (*WDI_ConfigureRxpFilterCb)(WDI_Status wdiStatus,
7779 void* pUserData);
7780
7781/*---------------------------------------------------------------------------
7782 WDI_SetBeaconFilterCb
7783
7784 DESCRIPTION
7785
7786 This callback is invoked by DAL when it has received a set beacon filter
7787 response from the underlying device.
7788
7789 PARAMETERS
7790
7791 IN
7792 wdiStatus: response status received from HAL
7793 pUserData: user data
7794
7795
7796
7797 RETURN VALUE
7798 The result code associated with performing the operation
7799---------------------------------------------------------------------------*/
7800typedef void (*WDI_SetBeaconFilterCb)(WDI_Status wdiStatus,
7801 void* pUserData);
7802
7803/*---------------------------------------------------------------------------
7804 WDI_RemBeaconFilterCb
7805
7806 DESCRIPTION
7807
7808 This callback is invoked by DAL when it has received a remove beacon filter
7809 response from the underlying device.
7810
7811 PARAMETERS
7812
7813 IN
7814 wdiStatus: response status received from HAL
7815 pUserData: user data
7816
7817
7818
7819 RETURN VALUE
7820 The result code associated with performing the operation
7821---------------------------------------------------------------------------*/
7822typedef void (*WDI_RemBeaconFilterCb)(WDI_Status wdiStatus,
7823 void* pUserData);
7824
7825/*---------------------------------------------------------------------------
7826 WDI_SetRSSIThresholdsCb
7827
7828 DESCRIPTION
7829
7830 This callback is invoked by DAL when it has received a set RSSI thresholds
7831 response from the underlying device.
7832
7833 PARAMETERS
7834
7835 IN
7836 wdiStatus: response status received from HAL
7837 pUserData: user data
7838
7839
7840
7841 RETURN VALUE
7842 The result code associated with performing the operation
7843---------------------------------------------------------------------------*/
7844typedef void (*WDI_SetRSSIThresholdsCb)(WDI_Status wdiStatus,
7845 void* pUserData);
7846
7847/*---------------------------------------------------------------------------
7848 WDI_HostOffloadCb
7849
7850 DESCRIPTION
7851
7852 This callback is invoked by DAL when it has received a host offload
7853 response from the underlying device.
7854
7855 PARAMETERS
7856
7857 IN
7858 wdiStatus: response status received from HAL
7859 pUserData: user data
7860
7861
7862
7863 RETURN VALUE
7864 The result code associated with performing the operation
7865---------------------------------------------------------------------------*/
7866typedef void (*WDI_HostOffloadCb)(WDI_Status wdiStatus,
7867 void* pUserData);
7868
7869/*---------------------------------------------------------------------------
7870 WDI_KeepAliveCb
7871
7872 DESCRIPTION
7873
7874 This callback is invoked by DAL when it has received a Keep Alive
7875 response from the underlying device.
7876
7877 PARAMETERS
7878
7879 IN
7880 wdiStatus: response status received from HAL
7881 pUserData: user data
7882
7883
7884
7885 RETURN VALUE
7886 The result code associated with performing the operation
7887---------------------------------------------------------------------------*/
7888typedef void (*WDI_KeepAliveCb)(WDI_Status wdiStatus,
7889 void* pUserData);
7890
7891/*---------------------------------------------------------------------------
7892 WDI_WowlAddBcPtrnCb
7893
7894 DESCRIPTION
7895
7896 This callback is invoked by DAL when it has received a Wowl add Bcast ptrn
7897 response from the underlying device.
7898
7899 PARAMETERS
7900
7901 IN
7902 wdiStatus: response status received from HAL
7903 pUserData: user data
7904
7905
7906
7907 RETURN VALUE
7908 The result code associated with performing the operation
7909---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007910typedef void (*WDI_WowlAddBcPtrnCb)( WDI_WowlAddBcPtrnRspParamsType *pwdiWowlAddBcPtrnParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007911 void* pUserData);
7912
7913/*---------------------------------------------------------------------------
7914 WDI_WowlDelBcPtrnCb
7915
7916 DESCRIPTION
7917
7918 This callback is invoked by DAL when it has received a Wowl delete Bcast ptrn
7919 response from the underlying device.
7920
7921 PARAMETERS
7922
7923 IN
7924 wdiStatus: response status received from HAL
7925 pUserData: user data
7926
7927
7928
7929 RETURN VALUE
7930 The result code associated with performing the operation
7931---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007932typedef void (*WDI_WowlDelBcPtrnCb)( WDI_WowlDelBcPtrnRspParamsType *pwdiWowlDelBcstPtrRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007933 void* pUserData);
7934
7935/*---------------------------------------------------------------------------
7936 WDI_WowlEnterReqCb
7937
7938 DESCRIPTION
7939
7940 This callback is invoked by DAL when it has received a Wowl enter
7941 response from the underlying device.
7942
7943 PARAMETERS
7944
7945 IN
7946 wdiStatus: response status received from HAL
7947 pUserData: user data
7948
7949
7950
7951 RETURN VALUE
7952 The result code associated with performing the operation
7953---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007954typedef void (*WDI_WowlEnterReqCb)( WDI_WowlEnterRspParamsType *pwdiwowlEnterRsp,
7955 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007956
7957/*---------------------------------------------------------------------------
7958 WDI_WowlExitReqCb
7959
7960 DESCRIPTION
7961
7962 This callback is invoked by DAL when it has received a Wowl exit
7963 response from the underlying device.
7964
7965 PARAMETERS
7966
7967 IN
7968 wdiStatus: response status received from HAL
7969 pUserData: user data
7970
7971
7972
7973 RETURN VALUE
7974 The result code associated with performing the operation
7975---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007976typedef void (*WDI_WowlExitReqCb)( WDI_WowlExitRspParamsType *pwdiWowlExitRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007977 void* pUserData);
7978
7979/*---------------------------------------------------------------------------
7980 WDI_ConfigureAppsCpuWakeupStateCb
7981
7982 DESCRIPTION
7983
7984 This callback is invoked by DAL when it has received a config Apps Cpu Wakeup
7985 State response from the underlying device.
7986
7987 PARAMETERS
7988
7989 IN
7990 wdiStatus: response status received from HAL
7991 pUserData: user data
7992
7993
7994
7995 RETURN VALUE
7996 The result code associated with performing the operation
7997---------------------------------------------------------------------------*/
7998typedef void (*WDI_ConfigureAppsCpuWakeupStateCb)(WDI_Status wdiStatus,
7999 void* pUserData);
8000/*---------------------------------------------------------------------------
8001 WDI_NvDownloadRspCb
8002
8003 DESCRIPTION
8004
8005 This callback is invoked by DAL when it has received a NV Download response
8006 from the underlying device.
8007
8008 PARAMETERS
8009
8010 IN
8011 wdiStatus:response status received from HAL
8012 pUserData:user data
8013
8014 RETURN VALUE
8015 The result code associated with performing the operation
8016---------------------------------------------------------------------------*/
8017typedef void (*WDI_NvDownloadRspCb)(WDI_NvDownloadRspInfoType* wdiNvDownloadRsp,
8018 void* pUserData);
8019/*---------------------------------------------------------------------------
8020 WDI_FlushAcRspCb
8021
8022 DESCRIPTION
8023
8024 This callback is invoked by DAL when it has received a Flush AC response from
8025 the underlying device.
8026
8027 PARAMETERS
8028
8029 IN
8030 wdiStatus: response status received from HAL
8031 pUserData: user data
8032
8033
8034
8035 RETURN VALUE
8036 The result code associated with performing the operation
8037---------------------------------------------------------------------------*/
8038typedef void (*WDI_FlushAcRspCb)(WDI_Status wdiStatus,
8039 void* pUserData);
8040
8041/*---------------------------------------------------------------------------
8042 WDI_BtAmpEventRspCb
8043
8044 DESCRIPTION
8045
8046 This callback is invoked by DAL when it has received a Bt AMP event response
8047 from the underlying device.
8048
8049 PARAMETERS
8050
8051 IN
8052 wdiStatus: response status received from HAL
8053 pUserData: user data
8054
8055
8056
8057 RETURN VALUE
8058 The result code associated with performing the operation
8059---------------------------------------------------------------------------*/
8060typedef void (*WDI_BtAmpEventRspCb)(WDI_Status wdiStatus,
8061 void* pUserData);
8062
Jeff Johnsone7245742012-09-05 17:12:55 -07008063#ifdef FEATURE_OEM_DATA_SUPPORT
8064/*---------------------------------------------------------------------------
8065 WDI_oemDataRspCb
8066
8067 DESCRIPTION
8068
8069 This callback is invoked by DAL when it has received a Start oem data response from
8070 the underlying device.
8071
8072 PARAMETERS
8073
8074 IN
8075 wdiStatus: response status received from HAL
8076 pUserData: user data
8077
8078
8079
8080 RETURN VALUE
8081 The result code associated with performing the operation
8082---------------------------------------------------------------------------*/
8083typedef void (*WDI_oemDataRspCb)(WDI_oemDataRspParamsType* wdiOemDataRspParams,
8084 void* pUserData);
8085
8086#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07008087
8088/*---------------------------------------------------------------------------
8089 WDI_HostResumeEventRspCb
8090
8091 DESCRIPTION
8092
8093 This callback is invoked by DAL when it has received a Bt AMP event response
8094 from the underlying device.
8095
8096 PARAMETERS
8097
8098 IN
8099 wdiStatus: response status received from HAL
8100 pUserData: user data
8101
8102
8103
8104 RETURN VALUE
8105 The result code associated with performing the operation
8106---------------------------------------------------------------------------*/
8107typedef void (*WDI_HostResumeEventRspCb)(
8108 WDI_SuspendResumeRspParamsType *resumeRspParams,
8109 void* pUserData);
8110
8111
8112#ifdef WLAN_FEATURE_VOWIFI_11R
8113/*---------------------------------------------------------------------------
8114 WDI_AggrAddTsRspCb
8115
8116 DESCRIPTION
8117
8118 This callback is invoked by DAL when it has received a Aggregated Add TS
8119 response from the underlying device.
8120
8121 PARAMETERS
8122
8123 IN
8124 wdiStatus: response status received from HAL
8125 pUserData: user data
8126
8127
8128
8129 RETURN VALUE
8130 The result code associated with performing the operation
8131---------------------------------------------------------------------------*/
8132typedef void (*WDI_AggrAddTsRspCb)(WDI_Status wdiStatus,
8133 void* pUserData);
8134#endif /* WLAN_FEATURE_VOWIFI_11R */
8135
Jeff Johnson295189b2012-06-20 16:38:30 -07008136/*---------------------------------------------------------------------------
8137 WDI_FTMCommandRspCb
8138
8139 DESCRIPTION
8140
8141 FTM Command response CB
8142
8143 PARAMETERS
8144
8145 IN
8146 ftmCMDRspdata: FTM response data from HAL
8147 pUserData: user data
8148
8149
8150 RETURN VALUE
8151 NONE
8152---------------------------------------------------------------------------*/
8153typedef void (*WDI_FTMCommandRspCb)(void *ftmCMDRspdata,
8154 void *pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07008155
8156/*---------------------------------------------------------------------------
8157 WDI_AddSTASelfParamsRspCb
8158
8159 DESCRIPTION
8160
8161 This callback is invoked by DAL when it has received a Add Sta Self Params
8162 response from the underlying device.
8163
8164 PARAMETERS
8165
8166 IN
8167 wdiAddSelfSTARsp: response status received from HAL
8168 pUserData: user data
8169
8170
8171
8172 RETURN VALUE
8173 The result code associated with performing the operation
8174---------------------------------------------------------------------------*/
8175typedef void (*WDI_AddSTASelfParamsRspCb)(
8176 WDI_AddSTASelfRspParamsType* pwdiAddSelfSTARsp,
8177 void* pUserData);
8178
8179
8180/*---------------------------------------------------------------------------
8181 WDI_DelSTASelfRspCb
8182
8183 DESCRIPTION
8184
8185 This callback is invoked by DAL when it has received a host offload
8186 response from the underlying device.
8187
8188 PARAMETERS
8189
8190 IN
8191 wdiStatus: response status received from HAL
8192 pUserData: user data
8193
8194
8195
8196 RETURN VALUE
8197 The result code associated with performing the operation
8198---------------------------------------------------------------------------*/
8199typedef void (*WDI_DelSTASelfRspCb)
8200(
8201WDI_DelSTASelfRspParamsType* wdiDelStaSelfRspParams,
8202void* pUserData
8203);
8204
8205#ifdef FEATURE_WLAN_SCAN_PNO
8206/*---------------------------------------------------------------------------
8207 WDI_PNOScanCb
8208
8209 DESCRIPTION
8210
8211 This callback is invoked by DAL when it has received a Set PNO
8212 response from the underlying device.
8213
8214 PARAMETERS
8215
8216 IN
8217 wdiStatus: response status received from HAL
8218 pUserData: user data
8219
8220
8221
8222 RETURN VALUE
8223 The result code associated with performing the operation
8224---------------------------------------------------------------------------*/
8225typedef void (*WDI_PNOScanCb)(WDI_Status wdiStatus,
8226 void* pUserData);
8227
8228/*---------------------------------------------------------------------------
8229 WDI_PNOScanCb
8230
8231 DESCRIPTION
8232
8233 This callback is invoked by DAL when it has received a Set PNO
8234 response from the underlying device.
8235
8236 PARAMETERS
8237
8238 IN
8239 wdiStatus: response status received from HAL
8240 pUserData: user data
8241
8242
8243
8244 RETURN VALUE
8245 The result code associated with performing the operation
8246---------------------------------------------------------------------------*/
8247typedef void (*WDI_RssiFilterCb)(WDI_Status wdiStatus,
8248 void* pUserData);
8249
8250/*---------------------------------------------------------------------------
8251 WDI_UpdateScanParamsCb
8252
8253 DESCRIPTION
8254
8255 This callback is invoked by DAL when it has received a Update Scan Params
8256 response from the underlying device.
8257
8258 PARAMETERS
8259
8260 IN
8261 wdiStatus: response status received from HAL
8262 pUserData: user data
8263
8264
8265
8266 RETURN VALUE
8267 The result code associated with performing the operation
8268---------------------------------------------------------------------------*/
8269typedef void (*WDI_UpdateScanParamsCb)(WDI_Status wdiStatus,
8270 void* pUserData);
8271#endif // FEATURE_WLAN_SCAN_PNO
8272
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08008273typedef void (*WDI_UpdateChannelRspCb)(WDI_Status wdiStatus,
8274 void* pUserData);
8275
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07008276#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
8277/*---------------------------------------------------------------------------
8278 WDI_RoamOffloadScanCb
8279
8280 DESCRIPTION
8281
8282 This callback is invoked by DAL when it has received a Start Roam Candidate Lookup Req
8283 response from the underlying device.
8284
8285 PARAMETERS
8286
8287 IN
8288 wdiStatus: response status received from HAL
8289 pUserData: user data
8290
8291
8292
8293 RETURN VALUE
8294 The result code associated with performing the operation
8295---------------------------------------------------------------------------*/
8296typedef void (*WDI_RoamOffloadScanCb)(WDI_Status wdiStatus,
8297 void* pUserData);
8298
Kapil Gupta04ab1992016-06-26 13:36:51 +05308299typedef void (*WDI_PERRoamOffloadScanCb)(WDI_Status wdiStatus, void *pUserData);
8300typedef void (*WDI_PERRoamTriggerScanCb)(WDI_Status wdiStatus, void *pUserData);
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07008301#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07008302/*---------------------------------------------------------------------------
8303 WDI_SetTxPerTrackingRspCb
8304
8305 DESCRIPTION
8306
8307 This callback is invoked by DAL when it has received a Tx PER Tracking
8308 response from the underlying device.
8309
8310 PARAMETERS
8311
8312 IN
8313 wdiStatus: response status received from HAL
8314 pUserData: user data
8315
8316
8317
8318 RETURN VALUE
8319 The result code associated with performing the operation
8320---------------------------------------------------------------------------*/
8321typedef void (*WDI_SetTxPerTrackingRspCb)(WDI_Status wdiStatus,
8322 void* pUserData);
8323
8324#ifdef WLAN_FEATURE_PACKET_FILTERING
8325/*---------------------------------------------------------------------------
8326 WDI_8023MulticastListCb
8327
8328 DESCRIPTION
8329
8330 This callback is invoked by DAL when it has received a 8023 Multicast List
8331 response from the underlying device.
8332
8333 PARAMETERS
8334
8335 IN
8336 wdiStatus: response status received from HAL
8337 pUserData: user data
8338
8339
8340
8341 RETURN VALUE
8342 The result code associated with performing the operation
8343---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07008344typedef void (*WDI_8023MulticastListCb)(
8345 WDI_RcvFltPktSetMcListRspParamsType *pwdiRcvFltPktSetMcListRspInfo,
8346 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07008347
8348/*---------------------------------------------------------------------------
8349 WDI_ReceiveFilterSetFilterCb
8350
8351 DESCRIPTION
8352
8353 This callback is invoked by DAL when it has received a Receive Filter Set Filter
8354 response from the underlying device.
8355
8356 PARAMETERS
8357
8358 IN
8359 wdiStatus: response status received from HAL
8360 pUserData: user data
8361
8362
8363
8364 RETURN VALUE
8365 The result code associated with performing the operation
8366---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07008367typedef void (*WDI_ReceiveFilterSetFilterCb)(
8368 WDI_SetRcvPktFilterRspParamsType *pwdiSetRcvPktFilterRspInfo,
8369 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07008370
8371/*---------------------------------------------------------------------------
8372 WDI_FilterMatchCountCb
8373
8374 DESCRIPTION
8375
8376 This callback is invoked by DAL when it has received a Do PC Filter Match Count
8377 response from the underlying device.
8378
8379 PARAMETERS
8380
8381 IN
8382 wdiStatus: response status received from HAL
8383 pUserData: user data
8384
8385
8386
8387 RETURN VALUE
8388 The result code associated with performing the operation
8389---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07008390typedef void (*WDI_FilterMatchCountCb)(
8391 WDI_RcvFltPktMatchCntRspParamsType *pwdiRcvFltPktMatchRspParams,
8392 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07008393
8394/*---------------------------------------------------------------------------
8395 WDI_ReceiveFilterClearFilterCb
8396
8397 DESCRIPTION
8398
8399 This callback is invoked by DAL when it has received a Receive Filter Clear Filter
8400 response from the underlying device.
8401
8402 PARAMETERS
8403
8404 IN
8405 wdiStatus: response status received from HAL
8406 pUserData: user data
8407
8408
8409
8410 RETURN VALUE
8411 The result code associated with performing the operation
8412---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07008413typedef void (*WDI_ReceiveFilterClearFilterCb)(
8414 WDI_RcvFltPktClearRspParamsType *pwdiRcvFltPktClearRspParamsType,
8415 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07008416#endif // WLAN_FEATURE_PACKET_FILTERING
8417
8418/*---------------------------------------------------------------------------
8419 WDI_HALDumpCmdRspCb
8420
8421 DESCRIPTION
8422
8423 This callback is invoked by DAL when it has received a HAL DUMP Command
8424response from
8425 the HAL layer.
8426
8427 PARAMETERS
8428
8429 IN
8430 wdiHalDumpCmdRsp: response status received from HAL
8431 pUserData: user data
8432
8433
8434
8435 RETURN VALUE
8436 The result code associated with performing the operation
8437---------------------------------------------------------------------------*/
8438typedef void (*WDI_HALDumpCmdRspCb)(WDI_HALDumpCmdRspParamsType* wdiHalDumpCmdRsp,
8439 void* pUserData);
8440
8441/*---------------------------------------------------------------------------
8442 WDI_SetPowerParamsCb
8443
8444 DESCRIPTION
8445
8446 This callback is invoked by DAL when it has received a Set Power Param
8447 response from the underlying device.
8448
8449 PARAMETERS
8450
8451 IN
8452 wdiStatus: response status received from HAL
8453 pUserData: user data
8454
8455
8456
8457 RETURN VALUE
8458 The result code associated with performing the operation
8459---------------------------------------------------------------------------*/
8460typedef void (*WDI_SetPowerParamsCb)(WDI_Status wdiStatus,
8461 void* pUserData);
8462
c_manjeecfd1efb2015-09-25 19:32:34 +05308463
8464/*---------------------------------------------------------------------------
8465 WDA_FwrMemDumpRespCallback
8466
8467 DESCRIPTION
8468
8469 This callback is invoked by DAL when it has received a Fwr Mem dump
8470 response from the underlying device.
8471
8472 PARAMETERS
8473
8474 IN
8475 wdiStatus: response status received from HAL
8476 pUserData: user data
8477 ---------------------------------------------------------------------------*/
8478typedef void (* WDI_FwrMemDumpCb) (WDI_FwrMemDumpRsp* wdiRsp,
8479 void* pUserData);
8480
8481
Jeff Johnson295189b2012-06-20 16:38:30 -07008482#ifdef WLAN_FEATURE_GTK_OFFLOAD
8483/*---------------------------------------------------------------------------
8484 WDI_GtkOffloadCb
8485
8486 DESCRIPTION
8487
8488 This callback is invoked by DAL when it has received a GTK offload
8489 response from the underlying device.
8490
8491 PARAMETERS
8492
8493 IN
8494 wdiStatus: response status received from HAL
8495 pUserData: user data
8496
8497
8498
8499 RETURN VALUE
8500 The result code associated with performing the operation
8501---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07008502typedef void (*WDI_GtkOffloadCb)( WDI_GtkOffloadRspParams *pwdiGtkOffloadRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07008503 void* pUserData);
8504
8505/*---------------------------------------------------------------------------
8506 WDI_GtkOffloadGetInfoCb
8507
8508 DESCRIPTION
8509
8510 This callback is invoked by DAL when it has received a GTK offload
8511 information response from the underlying device.
8512
8513 PARAMETERS
8514
8515 IN
8516 wdiStatus: response status received from HAL
8517 pUserData: user data
8518
8519
8520
8521 RETURN VALUE
8522 The result code associated with performing the operation
8523---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07008524typedef void (*WDI_GtkOffloadGetInfoCb)( WDI_GtkOffloadGetInfoRspParams *pwdiGtkOffloadGetInfoRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07008525 void* pUserData);
8526#endif // WLAN_FEATURE_GTK_OFFLOAD
8527
8528/*---------------------------------------------------------------------------
8529 WDI_SetTmLevelCb
8530
8531 DESCRIPTION
8532
8533 This callback is invoked by DAL when it has received a Set New TM Level
8534 done response from the underlying device.
8535
8536 PARAMETERS
8537
8538 IN
8539 wdiStatus: response status received from HAL
8540 pUserData: user data
8541
8542
8543
8544 RETURN VALUE
8545 The result code associated with performing the operation
8546---------------------------------------------------------------------------*/
8547typedef void (*WDI_SetTmLevelCb)(WDI_Status wdiStatus,
8548 void* pUserData);
8549
8550/*---------------------------------------------------------------------------
8551 WDI_featureCapsExchangeCb
8552
8553 DESCRIPTION
8554
8555 This callback is invoked by DAL when it has received a HAL Feature Capbility
8556 Exchange Response the HAL layer. This callback is put to mantain code
8557 similarity and is not being used right now.
8558
8559 PARAMETERS
8560
8561 IN
8562 wdiFeatCapRspParams: response parameters received from HAL
8563 pUserData: user data
8564
8565 RETURN VALUE
8566 The result code associated with performing the operation
8567---------------------------------------------------------------------------*/
8568typedef void (*WDI_featureCapsExchangeCb)(void* wdiFeatCapRspParams,
8569 void* pUserData);
8570
Mohit Khanna4a70d262012-09-11 16:30:12 -07008571#ifdef WLAN_FEATURE_11AC
8572typedef void (*WDI_UpdateVHTOpModeCb)(WDI_Status wdiStatus,
8573 void* pUserData);
8574#endif
8575
Leo Chang9056f462013-08-01 19:21:11 -07008576#ifdef FEATURE_WLAN_LPHB
8577typedef void (*WDI_LphbCfgCb)(WDI_Status wdiStatus,
8578 void* pUserData);
8579#endif /* FEATURE_WLAN_LPHB */
Mohit Khanna4a70d262012-09-11 16:30:12 -07008580
Abhishek Singh00b71972016-01-07 10:51:04 +05308581#ifdef WLAN_FEATURE_RMC
8582typedef void (*WDI_RmcRulerRspCb)(WDI_RmcRspParamsType *wdiRmcResponse,
8583 void* pUserData);
8584
8585typedef void (*WDI_IbssPeerInfoReqCb)(WDI_IbssPeerInfoRspParams *pInfoRspParams,
8586 void* pUserData);
8587
8588#endif /* WLAN_FEATURE_RMC */
8589
Rajeev79dbe4c2013-10-05 11:03:42 +05308590#ifdef FEATURE_WLAN_BATCH_SCAN
8591/*---------------------------------------------------------------------------
8592 WDI_SetBatchScanCb
8593
8594 DESCRIPTION
8595
8596 This callback is invoked by DAL when it has received a get batch scan
8597 response from the underlying device.
8598
8599 PARAMETERS
8600
8601 IN
8602 wdiStatus: response status received from HAL
8603 pUserData: user data
8604
8605
8606
8607 RETURN VALUE
8608 The result code associated with performing the operation
8609---------------------------------------------------------------------------*/
8610typedef void (*WDI_SetBatchScanCb)(void *pData, WDI_SetBatchScanRspType *pRsp);
8611
8612#endif
8613
c_hpothu92367912014-05-01 15:18:17 +05308614typedef void (*WDI_GetBcnMissRateCb)(wpt_uint8 status, wpt_uint32 bcnMissRate,
8615 void* pUserData);
Rajeev79dbe4c2013-10-05 11:03:42 +05308616
Dino Mycle41bdc942014-06-10 11:30:24 +05308617#ifdef WLAN_FEATURE_EXTSCAN
8618typedef void (*WDI_EXTScanStartRspCb)(void *pEventData,
8619 void *pUserData);
8620typedef void (*WDI_EXTScanStopRspCb)(void *pEventData,
8621 void *pUserData);
8622typedef void (*WDI_EXTScanGetCachedResultsRspCb)(void *pEventData,
8623 void *pUserData);
8624typedef void (*WDI_EXTScanGetCapabilitiesRspCb)(void *pEventData,
8625 void *pUserData);
8626typedef void (*WDI_EXTScanSetBSSIDHotlistRspCb)(void *pEventData,
8627 void *pUserData);
8628typedef void (*WDI_EXTScanResetBSSIDHotlistRspCb)(void *pEventData,
8629 void *pUserData);
Hanumanth Reddy Pothula9b4aa682015-08-21 19:58:01 +05308630
8631
Dino Mycle41bdc942014-06-10 11:30:24 +05308632#endif /* WLAN_FEATURE_EXTSCAN */
Sunil Duttbd736ed2014-05-26 21:19:41 +05308633
8634#ifdef WLAN_FEATURE_LINK_LAYER_STATS
8635typedef void (*WDI_LLStatsSetRspCb)(void *pEventData,
8636 void *pUserData);
8637typedef void (*WDI_LLStatsGetRspCb)(void *pEventData,
8638 void *pUserData);
8639typedef void (*WDI_LLStatsClearRspCb)(void *pEventData,
8640 void *pUserData);
8641#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
Siddharth Bhal171788a2014-09-29 21:02:40 +05308642
8643typedef void (*WDI_SetSpoofMacAddrRspCb)(
8644 WDI_SpoofMacAddrRspParamType* wdiRsp, void *pUserData);
Srinivas Dasari4dae48f2014-11-26 21:14:16 +05308645
Abhishek Singh85b74712014-10-08 11:38:19 +05308646typedef void (*WDI_FWStatsGetRspCb)(WDI_Status status,void *fwStatsResp,
8647 void *pUserData);
Srinivas Dasari4dae48f2014-11-26 21:14:16 +05308648
8649typedef void (*WDI_EncryptMsgRspCb)(wpt_uint8 status, void *pEventData, void* pUserData);
Siddharth Bhald1be97f2015-05-27 22:39:59 +05308650typedef void (*WDI_FWLoggingInitRspCb)(
8651 WDI_FWLoggingInitRspParamType *wdiRsp, void *pUserData);
Siddharth Bhal64246172015-02-27 01:04:37 +05308652typedef void (*WDI_GetFrameLogRspCb)(
8653 WDI_GetFrameLogRspParamType *wdiRsp, void *pUserData);
Sachin Ahuja715aafc2015-07-21 23:35:10 +05308654typedef void (*WDI_FatalEventLogsRspCb)(
8655 WDI_FatalEventLogsRspParamType *wdiRsp, void *pUserData);
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05308656
Hanumantha Reddy Pothula91cdd7f2015-09-03 21:25:16 +05308657typedef void (*WDI_MonModeRspCb)(void *pEventData,void *pUserData);
Gupta, Kapil7c34b322015-09-30 13:12:35 +05308658typedef void (*WDI_RssiMonitorStartRspCb)(void *pEventData,void *pUserData);
8659typedef void (*WDI_RssiMonitorStopRspCb)(void *pEventData,void *pUserData);
Katya Nigamf0511f62015-05-05 16:40:57 +05308660
c_manjeecfd1efb2015-09-25 19:32:34 +05308661typedef void (*WDI_FwrMemDumpRspCb)(WDI_FwrMemDumpRsp *wdiRsp, void *pUserData);
8662
Arun Khandavalli7eeb1592015-10-19 21:36:57 +05308663typedef void (*WDI_WifiConfigSetRspCb) (WDI_WifconfigSetRsp *wdiRsp, void *pUserData);
c_manjeecfd1efb2015-09-25 19:32:34 +05308664
Mahesh A Saptasagarcfc65ae2015-12-22 15:06:10 +05308665typedef void (*WDI_AntennaDivSelRspCb)(WDI_Status status,
8666 void *resp, void *pUserData);
8667
Anurag Chouhan6ee81542017-02-09 18:09:27 +05308668typedef void (*wdi_nud_set_arp_rsp_cb)(void *event_data,void *user_data);
8669typedef void (*wdi_nud_get_arp_rsp_cb)(void *event_data,void *user_data);
8670
Anurag Chouhan83026002016-12-13 22:46:21 +05308671#ifdef DHCP_SERVER_OFFLOAD
8672typedef void (*wdi_dhcp_srv_offload_rsp_cb)(void *event_data,void *user_data);
8673#endif /* DHCP_SERVER_OFFLOAD */
Anurag Chouhan0b29de02016-12-16 13:18:40 +05308674#ifdef MDNS_OFFLOAD
8675typedef void (*wdi_mdns_enable_rsp_cb)(void *event_data,void *user_data);
8676typedef void (*wdi_mdns_fqdn_rsp_cb)(void *event_data,void *user_data);
8677typedef void (*wdi_mdns_resp_rsp_cb)(void *event_data,void *user_data);
8678typedef void (*wdi_get_stats_rsp_cb)(void *event_data,void *user_data);
8679#endif /* MDNS_OFFLOAD */
8680
Manjeet Singh3ed79242017-01-11 19:04:32 +05308681typedef void (*wdi_tsf_rsp_cb)(void *event_data,void *user_data);
8682
Anurag Chouhan83026002016-12-13 22:46:21 +05308683
Jeff Johnson295189b2012-06-20 16:38:30 -07008684/*========================================================================
8685 * Function Declarations and Documentation
8686 ==========================================================================*/
8687
8688/*========================================================================
8689
8690 INITIALIZATION APIs
8691
8692==========================================================================*/
8693
8694/**
8695 @brief WDI_Init is used to initialize the DAL.
8696
8697 DAL will allocate all the resources it needs. It will open PAL, it will also
8698 open both the data and the control transport which in their turn will open
8699 DXE/SMD or any other drivers that they need.
8700
Arun Kumar Khandavalliebb19482014-03-25 13:56:53 +05308701 @param devHandle: pointer to the OS specific device handle
Jeff Johnson295189b2012-06-20 16:38:30 -07008702 ppWDIGlobalCtx: output pointer of Global Context
8703 pWdiDevCapability: output pointer of device capability
8704
8705 @return Result of the function call
8706*/
8707WDI_Status
8708WDI_Init
8709(
Arun Kumar Khandavalliebb19482014-03-25 13:56:53 +05308710 void* devHandle,
Jeff Johnson295189b2012-06-20 16:38:30 -07008711 void** ppWDIGlobalCtx,
8712 WDI_DeviceCapabilityType* pWdiDevCapability,
8713 unsigned int driverType
8714);
8715
8716/**
8717 @brief WDI_Start will be called when the upper MAC is ready to
8718 commence operation with the WLAN Device. Upon the call
8719 of this API the WLAN DAL will pack and send a HAL Start
8720 message to the lower RIVA sub-system if the SMD channel
8721 has been fully opened and the RIVA subsystem is up.
8722
8723 If the RIVA sub-system is not yet up and running DAL
8724 will queue the request for Open and will wait for the
8725 SMD notification before attempting to send down the
8726 message to HAL.
8727
8728 WDI_Init must have been called.
8729
8730 @param wdiStartParams: the start parameters as specified by
8731 the Device Interface
8732
8733 wdiStartRspCb: callback for passing back the response of
8734 the start operation received from the device
8735
8736 pUserData: user data will be passed back with the
8737 callback
8738
8739 @see WDI_Start
8740 @return Result of the function call
8741*/
8742WDI_Status
8743WDI_Start
8744(
8745 WDI_StartReqParamsType* pwdiStartParams,
8746 WDI_StartRspCb wdiStartRspCb,
8747 void* pUserData
8748);
8749
8750
8751/**
8752 @brief WDI_Stop will be called when the upper MAC is ready to
8753 stop any operation with the WLAN Device. Upon the call
8754 of this API the WLAN DAL will pack and send a HAL Stop
8755 message to the lower RIVA sub-system if the DAL Core is
8756 in started state.
8757
8758 In state BUSY this request will be queued.
8759
8760 Request will not be accepted in any other state.
8761
8762 WDI_Start must have been called.
8763
8764 @param wdiStopParams: the stop parameters as specified by
8765 the Device Interface
8766
8767 wdiStopRspCb: callback for passing back the response of
8768 the stop operation received from the device
8769
8770 pUserData: user data will be passed back with the
8771 callback
8772
8773 @see WDI_Start
8774 @return Result of the function call
8775*/
8776WDI_Status
8777WDI_Stop
8778(
8779 WDI_StopReqParamsType* pwdiStopParams,
8780 WDI_StopRspCb wdiStopRspCb,
8781 void* pUserData
8782);
8783
8784/**
8785 @brief WDI_Close will be called when the upper MAC no longer
8786 needs to interract with DAL. DAL will free its control
8787 block.
8788
8789 It is only accepted in state STOPPED.
8790
8791 WDI_Stop must have been called.
8792
8793 @param none
8794
8795 @see WDI_Stop
8796 @return Result of the function call
8797*/
8798WDI_Status
8799WDI_Close
8800(
8801 void
8802);
8803
8804
8805/**
8806 @brief WDI_Shutdown will be called during 'SSR shutdown' operation.
8807 This will do most of the WDI stop & close
8808 operations without doing any handshake with Riva
8809
8810 This will also make sure that the control transport
8811 will NOT be closed.
8812
8813 This request will not be queued.
8814
8815
8816 WDI_Start must have been called.
8817
8818 @param closeTransport: Close control channel if this is set
8819
8820 @return Result of the function call
8821*/
8822WDI_Status
8823WDI_Shutdown
8824(
8825 wpt_boolean closeTransport
8826);
8827
8828/*========================================================================
8829
8830 SCAN APIs
8831
8832==========================================================================*/
8833
8834/**
8835 @brief WDI_InitScanReq will be called when the upper MAC wants
8836 the WLAN Device to get ready for a scan procedure. Upon
8837 the call of this API the WLAN DAL will pack and send a
8838 HAL Init Scan request message to the lower RIVA
8839 sub-system if DAL is in state STARTED.
8840
8841 In state BUSY this request will be queued. Request won't
8842 be allowed in any other state.
8843
8844 WDI_Start must have been called.
8845
8846 @param wdiInitScanParams: the init scan parameters as specified
8847 by the Device Interface
8848
8849 wdiInitScanRspCb: callback for passing back the response
8850 of the init scan operation received from the device
8851
8852 pUserData: user data will be passed back with the
8853 callback
8854
8855 @see WDI_Start
8856 @return Result of the function call
8857*/
8858WDI_Status
8859WDI_InitScanReq
8860(
8861 WDI_InitScanReqParamsType* pwdiInitScanParams,
8862 WDI_InitScanRspCb wdiInitScanRspCb,
8863 void* pUserData
8864);
8865
8866/**
8867 @brief WDI_StartScanReq will be called when the upper MAC
8868 wishes to change the Scan channel on the WLAN Device.
8869 Upon the call of this API the WLAN DAL will pack and
8870 send a HAL Start Scan request message to the lower RIVA
8871 sub-system if DAL is in state STARTED.
8872
8873 In state BUSY this request will be queued. Request won't
8874 be allowed in any other state.
8875
8876 WDI_InitScanReq must have been called.
8877
8878 @param wdiStartScanParams: the start scan parameters as
8879 specified by the Device Interface
8880
8881 wdiStartScanRspCb: callback for passing back the
8882 response of the start scan operation received from the
8883 device
8884
8885 pUserData: user data will be passed back with the
8886 callback
8887
8888 @see WDI_InitScanReq
8889 @return Result of the function call
8890*/
8891WDI_Status
8892WDI_StartScanReq
8893(
8894 WDI_StartScanReqParamsType* pwdiStartScanParams,
8895 WDI_StartScanRspCb wdiStartScanRspCb,
8896 void* pUserData
8897);
8898
8899
8900/**
8901 @brief WDI_EndScanReq will be called when the upper MAC is
8902 wants to end scanning for a particular channel that it
8903 had set before by calling Scan Start on the WLAN Device.
8904 Upon the call of this API the WLAN DAL will pack and
8905 send a HAL End Scan request message to the lower RIVA
8906 sub-system if DAL is in state STARTED.
8907
8908 In state BUSY this request will be queued. Request won't
8909 be allowed in any other state.
8910
8911 WDI_StartScanReq must have been called.
8912
8913 @param wdiEndScanParams: the end scan parameters as specified
8914 by the Device Interface
8915
8916 wdiEndScanRspCb: callback for passing back the response
8917 of the end scan operation received from the device
8918
8919 pUserData: user data will be passed back with the
8920 callback
8921
8922 @see WDI_StartScanReq
8923 @return Result of the function call
8924*/
8925WDI_Status
8926WDI_EndScanReq
8927(
8928 WDI_EndScanReqParamsType* pwdiEndScanParams,
8929 WDI_EndScanRspCb wdiEndScanRspCb,
8930 void* pUserData
8931);
8932
8933
8934/**
8935 @brief WDI_FinishScanReq will be called when the upper MAC has
8936 completed the scan process on the WLAN Device. Upon the
8937 call of this API the WLAN DAL will pack and send a HAL
8938 Finish Scan Request request message to the lower RIVA
8939 sub-system if DAL is in state STARTED.
8940
8941 In state BUSY this request will be queued. Request won't
8942 be allowed in any other state.
8943
8944 WDI_InitScanReq must have been called.
8945
8946 @param wdiFinishScanParams: the finish scan parameters as
8947 specified by the Device Interface
8948
8949 wdiFinishScanRspCb: callback for passing back the
8950 response of the finish scan operation received from the
8951 device
8952
8953 pUserData: user data will be passed back with the
8954 callback
8955
8956 @see WDI_InitScanReq
8957 @return Result of the function call
8958*/
8959WDI_Status
8960WDI_FinishScanReq
8961(
8962 WDI_FinishScanReqParamsType* pwdiFinishScanParams,
8963 WDI_FinishScanRspCb wdiFinishScanRspCb,
8964 void* pUserData
8965);
8966
8967/*========================================================================
8968
8969 ASSOCIATION APIs
8970
8971==========================================================================*/
8972
8973/**
8974 @brief WDI_JoinReq will be called when the upper MAC is ready
8975 to start an association procedure to a BSS. Upon the
8976 call of this API the WLAN DAL will pack and send a HAL
8977 Join request message to the lower RIVA sub-system if
8978 DAL is in state STARTED.
8979
8980 In state BUSY this request will be queued. Request won't
8981 be allowed in any other state.
8982
8983 WDI_Start must have been called.
8984
8985 @param wdiJoinParams: the join parameters as specified by
8986 the Device Interface
8987
8988 wdiJoinRspCb: callback for passing back the response of
8989 the join operation received from the device
8990
8991 pUserData: user data will be passed back with the
8992 callback
8993
8994 @see WDI_Start
8995 @return Result of the function call
8996*/
8997WDI_Status
8998WDI_JoinReq
8999(
9000 WDI_JoinReqParamsType* pwdiJoinParams,
9001 WDI_JoinRspCb wdiJoinRspCb,
9002 void* pUserData
9003);
9004
9005/**
9006 @brief WDI_ConfigBSSReq will be called when the upper MAC
9007 wishes to configure the newly acquired or in process of
9008 being acquired BSS to the HW . Upon the call of this API
9009 the WLAN DAL will pack and send a HAL Config BSS request
9010 message to the lower RIVA sub-system if DAL is in state
9011 STARTED.
9012
9013 In state BUSY this request will be queued. Request won't
9014 be allowed in any other state.
9015
9016 WDI_JoinReq must have been called.
9017
9018 @param wdiConfigBSSParams: the config BSS parameters as
9019 specified by the Device Interface
9020
9021 wdiConfigBSSRspCb: callback for passing back the
9022 response of the config BSS operation received from the
9023 device
9024
9025 pUserData: user data will be passed back with the
9026 callback
9027
9028 @see WDI_JoinReq
9029 @return Result of the function call
9030*/
9031WDI_Status
9032WDI_ConfigBSSReq
9033(
9034 WDI_ConfigBSSReqParamsType* pwdiConfigBSSParams,
9035 WDI_ConfigBSSRspCb wdiConfigBSSRspCb,
9036 void* pUserData
9037);
9038
9039/**
9040 @brief WDI_DelBSSReq will be called when the upper MAC is
9041 dissasociating from the BSS and wishes to notify HW.
9042 Upon the call of this API the WLAN DAL will pack and
9043 send a HAL Del BSS request message to the lower RIVA
9044 sub-system if DAL is in state STARTED.
9045
9046 In state BUSY this request will be queued. Request won't
9047 be allowed in any other state.
9048
9049 WDI_ConfigBSSReq or WDI_PostAssocReq must have been called.
9050
9051 @param wdiDelBSSParams: the del BSS parameters as specified by
9052 the Device Interface
9053
9054 wdiDelBSSRspCb: callback for passing back the response
9055 of the del bss operation received from the device
9056
9057 pUserData: user data will be passed back with the
9058 callback
9059
9060 @see WDI_ConfigBSSReq, WDI_PostAssocReq
9061 @return Result of the function call
9062*/
9063WDI_Status
9064WDI_DelBSSReq
9065(
9066 WDI_DelBSSReqParamsType* pwdiDelBSSParams,
9067 WDI_DelBSSRspCb wdiDelBSSRspCb,
9068 void* pUserData
9069);
9070
9071/**
9072 @brief WDI_PostAssocReq will be called when the upper MAC has
9073 associated to a BSS and wishes to configure HW for
9074 associated state. Upon the call of this API the WLAN DAL
9075 will pack and send a HAL Post Assoc request message to
9076 the lower RIVA sub-system if DAL is in state STARTED.
9077
9078 In state BUSY this request will be queued. Request won't
9079 be allowed in any other state.
9080
9081 WDI_JoinReq must have been called.
9082
9083 @param wdiPostAssocReqParams: the assoc parameters as specified
9084 by the Device Interface
9085
9086 wdiPostAssocRspCb: callback for passing back the
9087 response of the post assoc operation received from the
9088 device
9089
9090 pUserData: user data will be passed back with the
9091 callback
9092
9093 @see WDI_JoinReq
9094 @return Result of the function call
9095*/
9096WDI_Status
9097WDI_PostAssocReq
9098(
9099 WDI_PostAssocReqParamsType* pwdiPostAssocReqParams,
9100 WDI_PostAssocRspCb wdiPostAssocRspCb,
9101 void* pUserData
9102);
9103
9104/**
9105 @brief WDI_DelSTAReq will be called when the upper MAC when an
9106 association with another STA has ended and the station
9107 must be deleted from HW. Upon the call of this API the
9108 WLAN DAL will pack and send a HAL Del STA request
9109 message to the lower RIVA sub-system if DAL is in state
9110 STARTED.
9111
9112 In state BUSY this request will be queued. Request won't
9113 be allowed in any other state.
9114
9115 WDI_PostAssocReq must have been called.
9116
9117 @param wdiDelSTAParams: the Del STA parameters as specified by
9118 the Device Interface
9119
9120 wdiDelSTARspCb: callback for passing back the response
9121 of the del STA operation received from the device
9122
9123 pUserData: user data will be passed back with the
9124 callback
9125
9126 @see WDI_PostAssocReq
9127 @return Result of the function call
9128*/
9129WDI_Status
9130WDI_DelSTAReq
9131(
9132 WDI_DelSTAReqParamsType* pwdiDelSTAParams,
9133 WDI_DelSTARspCb wdiDelSTARspCb,
9134 void* pUserData
9135);
9136
9137/*========================================================================
9138
9139 SECURITY APIs
9140
9141==========================================================================*/
9142
9143/**
9144 @brief WDI_SetBSSKeyReq will be called when the upper MAC ito
9145 install a BSS encryption key on the HW. Upon the call of
9146 this API the WLAN DAL will pack and send a HAL Start
9147 request message to the lower RIVA sub-system if DAL is
9148 in state STARTED.
9149
9150 In state BUSY this request will be queued. Request won't
9151 be allowed in any other state.
9152
9153 WDI_PostAssocReq must have been called.
9154
9155 @param wdiSetBSSKeyParams: the BSS Key set parameters as
9156 specified by the Device Interface
9157
9158 wdiSetBSSKeyRspCb: callback for passing back the
9159 response of the set BSS Key operation received from the
9160 device
9161
9162 pUserData: user data will be passed back with the
9163 callback
9164
9165 @see WDI_PostAssocReq
9166 @return Result of the function call
9167*/
9168WDI_Status
9169WDI_SetBSSKeyReq
9170(
9171 WDI_SetBSSKeyReqParamsType* pwdiSetBSSKeyParams,
9172 WDI_SetBSSKeyRspCb wdiSetBSSKeyRspCb,
9173 void* pUserData
9174);
9175
9176
9177/**
9178 @brief WDI_RemoveBSSKeyReq will be called when the upper MAC to
9179 uninstall a BSS key from HW. Upon the call of this API
9180 the WLAN DAL will pack and send a HAL Remove BSS Key
9181 request message to the lower RIVA sub-system if DAL is
9182 in state STARTED.
9183
9184 In state BUSY this request will be queued. Request won't
9185 be allowed in any other state.
9186
9187 WDI_SetBSSKeyReq must have been called.
9188
9189 @param wdiRemoveBSSKeyParams: the remove BSS key parameters as
9190 specified by the Device Interface
9191
9192 wdiRemoveBSSKeyRspCb: callback for passing back the
9193 response of the remove BSS key operation received from
9194 the device
9195
9196 pUserData: user data will be passed back with the
9197 callback
9198
9199 @see WDI_SetBSSKeyReq
9200 @return Result of the function call
9201*/
9202WDI_Status
9203WDI_RemoveBSSKeyReq
9204(
9205 WDI_RemoveBSSKeyReqParamsType* pwdiRemoveBSSKeyParams,
9206 WDI_RemoveBSSKeyRspCb wdiRemoveBSSKeyRspCb,
9207 void* pUserData
9208);
9209
9210
9211/**
9212 @brief WDI_SetSTAKeyReq will be called when the upper MAC is
9213 ready to install a STA(ast) encryption key in HW. Upon
9214 the call of this API the WLAN DAL will pack and send a
9215 HAL Set STA Key request message to the lower RIVA
9216 sub-system if DAL is in state STARTED.
9217
9218 In state BUSY this request will be queued. Request won't
9219 be allowed in any other state.
9220
9221 WDI_PostAssocReq must have been called.
9222
9223 @param wdiSetSTAKeyParams: the set STA key parameters as
9224 specified by the Device Interface
9225
9226 wdiSetSTAKeyRspCb: callback for passing back the
9227 response of the set STA key operation received from the
9228 device
9229
9230 pUserData: user data will be passed back with the
9231 callback
9232
9233 @see WDI_PostAssocReq
9234 @return Result of the function call
9235*/
9236WDI_Status
9237WDI_SetSTAKeyReq
9238(
9239 WDI_SetSTAKeyReqParamsType* pwdiSetSTAKeyParams,
9240 WDI_SetSTAKeyRspCb wdiSetSTAKeyRspCb,
9241 void* pUserData
9242);
9243
9244
9245/**
9246 @brief WDI_RemoveSTAKeyReq will be called when the upper MAC
9247 wants to unistall a previously set STA key in HW. Upon
9248 the call of this API the WLAN DAL will pack and send a
9249 HAL Remove STA Key request message to the lower RIVA
9250 sub-system if DAL is in state STARTED.
9251
9252 In state BUSY this request will be queued. Request won't
9253 be allowed in any other state.
9254
9255 WDI_SetSTAKeyReq must have been called.
9256
9257 @param wdiRemoveSTAKeyParams: the remove STA key parameters as
9258 specified by the Device Interface
9259
9260 wdiRemoveSTAKeyRspCb: callback for passing back the
9261 response of the remove STA key operation received from
9262 the device
9263
9264 pUserData: user data will be passed back with the
9265 callback
9266
9267 @see WDI_SetSTAKeyReq
9268 @return Result of the function call
9269*/
9270WDI_Status
9271WDI_RemoveSTAKeyReq
9272(
9273 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTAKeyParams,
9274 WDI_RemoveSTAKeyRspCb wdiRemoveSTAKeyRspCb,
9275 void* pUserData
9276);
9277
9278/**
9279 @brief WDI_SetSTABcastKeyReq will be called when the upper MAC
9280 wants to install a STA Bcast encryption key on the HW.
9281 Upon the call of this API the WLAN DAL will pack and
9282 send a HAL Start request message to the lower RIVA
9283 sub-system if DAL is in state STARTED.
9284
9285 In state BUSY this request will be queued. Request won't
9286 be allowed in any other state.
9287
9288 WDI_PostAssocReq must have been called.
9289
9290 @param pwdiSetSTABcastKeyParams: the BSS Key set parameters as
9291 specified by the Device Interface
9292
9293 wdiSetSTABcastKeyRspCb: callback for passing back the
9294 response of the set BSS Key operation received from the
9295 device
9296
9297 pUserData: user data will be passed back with the
9298 callback
9299
9300 @see WDI_PostAssocReq
9301 @return Result of the function call
9302*/
9303WDI_Status
9304WDI_SetSTABcastKeyReq
9305(
9306 WDI_SetSTAKeyReqParamsType* pwdiSetSTABcastKeyParams,
9307 WDI_SetSTAKeyRspCb wdiSetSTABcastKeyRspCb,
9308 void* pUserData
9309);
9310
9311
9312/**
9313 @brief WDI_RemoveSTABcastKeyReq will be called when the upper
9314 MAC to uninstall a STA Bcast key from HW. Upon the call
9315 of this API the WLAN DAL will pack and send a HAL Remove
9316 STA Bcast Key request message to the lower RIVA
9317 sub-system if DAL is in state STARTED.
9318
9319 In state BUSY this request will be queued. Request won't
9320 be allowed in any other state.
9321
9322 WDI_SetSTABcastKeyReq must have been called.
9323
9324 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
9325 parameters as specified by the Device
9326 Interface
9327
9328 wdiRemoveSTABcastKeyRspCb: callback for passing back the
9329 response of the remove STA Bcast key operation received
9330 from the device
9331
9332 pUserData: user data will be passed back with the
9333 callback
9334
9335 @see WDI_SetSTABcastKeyReq
9336 @return Result of the function call
9337*/
9338WDI_Status
9339WDI_RemoveSTABcastKeyReq
9340(
9341 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTABcastKeyParams,
9342 WDI_RemoveSTAKeyRspCb wdiRemoveSTABcastKeyRspCb,
9343 void* pUserData
9344);
9345
schang86c22c42013-03-13 18:41:24 -07009346
9347/**
9348 @brief WDI_SetTxPowerReq will be called when the upper
9349 MAC wants to set Tx Power to HW.
9350 In state BUSY this request will be queued. Request won't
9351 be allowed in any other state.
9352
9353
9354 @param pwdiSetTxPowerParams: set TS Power parameters
9355 BSSID and target TX Power with dbm included
9356
9357 wdiReqStatusCb: callback for passing back the response
9358
9359 pUserData: user data will be passed back with the
9360 callback
9361
9362 @return Result of the function call
9363*/
9364WDI_Status
9365WDI_SetTxPowerReq
9366(
9367 WDI_SetTxPowerParamsType* pwdiSetTxPowerParams,
9368 WDA_SetTxPowerRspCb wdiReqStatusCb,
9369 void* pUserData
9370);
9371
Jeff Johnson295189b2012-06-20 16:38:30 -07009372/**
9373 @brief WDI_SetMaxTxPowerReq will be called when the upper
9374 MAC wants to set Max Tx Power to HW. Upon the
9375 call of this API the WLAN DAL will pack and send a HAL
9376 Remove STA Bcast Key request message to the lower RIVA
9377 sub-system if DAL is in state STARTED.
9378
9379 In state BUSY this request will be queued. Request won't
9380 be allowed in any other state.
9381
9382 WDI_SetSTABcastKeyReq must have been called.
9383
9384 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
9385 parameters as specified by the Device
9386 Interface
9387
9388 wdiRemoveSTABcastKeyRspCb: callback for passing back the
9389 response of the remove STA Bcast key operation received
9390 from the device
9391
9392 pUserData: user data will be passed back with the
9393 callback
9394
9395 @see WDI_SetMaxTxPowerReq
9396 @return Result of the function call
9397*/
9398WDI_Status
9399WDI_SetMaxTxPowerReq
9400(
9401 WDI_SetMaxTxPowerParamsType* pwdiSetMaxTxPowerParams,
9402 WDA_SetMaxTxPowerRspCb wdiReqStatusCb,
9403 void* pUserData
9404);
9405
Arif Hussaina5ebce02013-08-09 15:09:58 -07009406/**
9407 @brief WDI_SetMaxTxPowerPerBandReq will be called when the upper
9408 MAC wants to set Max Tx Power to HW for specific band. Upon the
9409 call of this API the WLAN DAL will pack and send a HAL
9410 Set Max Tx Power Per Band request message to the lower RIVA
9411 sub-system if DAL is in state STARTED.
9412
9413 In state BUSY this request will be queued. Request won't
9414 be allowed in any other state.
9415
9416
9417 @param WDI_SetMaxTxPowerPerBandParamsType: Max Tx Per Band Info
9418
9419 WDA_SetMaxTxPowerPerBandRspCb: This callback is invoked by DAL
9420 when it has received a set max Tx Power Per Band response from
9421 the underlying device.
9422
9423 pUserData: user data will be passed back with the
9424 callback
9425
9426 @see WDI_SetMaxTxPowerPerBandReq
9427 @return Result of the function call
9428*/
9429WDI_Status
9430WDI_SetMaxTxPowerPerBandReq
9431(
9432 WDI_SetMaxTxPowerPerBandParamsType* pwdiSetMaxTxPowerPerBandParams,
9433 WDA_SetMaxTxPowerPerBandRspCb wdiReqStatusCb,
9434 void* pUserData
9435);
9436
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08009437#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07009438/**
9439 @brief WDI_TSMStatsReq will be called by the upper MAC to fetch
9440 Traffic Stream metrics.
9441 In state BUSY this request will be queued. Request won't
9442 be allowed in any other state.
9443
9444 @param wdiAddTsReqParams: the add TS parameters as specified by
9445 the Device Interface
9446
9447 wdiAddTsRspCb: callback for passing back the response of
9448 the add TS operation received from the device
9449
9450 pUserData: user data will be passed back with the
9451 callback
9452
9453 @see WDI_PostAssocReq
9454 @return Result of the function call
9455*/
9456WDI_Status
9457WDI_TSMStatsReq
9458(
9459 WDI_TSMStatsReqParamsType* pwdiTsmStatsReqParams,
9460 WDI_TsmRspCb wdiTsmStatsRspCb,
9461 void* pUserData
9462);
9463
9464
9465#endif
9466
9467/*========================================================================
9468
9469 QoS and BA APIs
9470
9471==========================================================================*/
9472
9473/**
9474 @brief WDI_AddTSReq will be called when the upper MAC to inform
9475 the device of a successful add TSpec negotiation. HW
9476 needs to receive the TSpec Info from the UMAC in order
9477 to configure properly the QoS data traffic. Upon the
9478 call of this API the WLAN DAL will pack and send a HAL
9479 Add TS request message to the lower RIVA sub-system if
9480 DAL is in state STARTED.
9481
9482 In state BUSY this request will be queued. Request won't
9483 be allowed in any other state.
9484
9485 WDI_PostAssocReq must have been called.
9486
9487 @param wdiAddTsReqParams: the add TS parameters as specified by
9488 the Device Interface
9489
9490 wdiAddTsRspCb: callback for passing back the response of
9491 the add TS operation received from the device
9492
9493 pUserData: user data will be passed back with the
9494 callback
9495
9496 @see WDI_PostAssocReq
9497 @return Result of the function call
9498*/
9499WDI_Status
9500WDI_AddTSReq
9501(
9502 WDI_AddTSReqParamsType* pwdiAddTsReqParams,
9503 WDI_AddTsRspCb wdiAddTsRspCb,
9504 void* pUserData
9505);
9506
9507
9508
9509/**
9510 @brief WDI_DelTSReq will be called when the upper MAC has ended
9511 admission on a specific AC. This is to inform HW that
9512 QoS traffic parameters must be rest. Upon the call of
9513 this API the WLAN DAL will pack and send a HAL Del TS
9514 request message to the lower RIVA sub-system if DAL is
9515 in state STARTED.
9516
9517 In state BUSY this request will be queued. Request won't
9518 be allowed in any other state.
9519
9520 WDI_AddTSReq must have been called.
9521
9522 @param wdiDelTsReqParams: the del TS parameters as specified by
9523 the Device Interface
9524
9525 wdiDelTsRspCb: callback for passing back the response of
9526 the del TS operation received from the device
9527
9528 pUserData: user data will be passed back with the
9529 callback
9530
9531 @see WDI_AddTSReq
9532 @return Result of the function call
9533*/
9534WDI_Status
9535WDI_DelTSReq
9536(
9537 WDI_DelTSReqParamsType* pwdiDelTsReqParams,
9538 WDI_DelTsRspCb wdiDelTsRspCb,
9539 void* pUserData
9540);
9541
9542
9543
9544/**
9545 @brief WDI_UpdateEDCAParams will be called when the upper MAC
9546 wishes to update the EDCA parameters used by HW for QoS
9547 data traffic. Upon the call of this API the WLAN DAL
9548 will pack and send a HAL Update EDCA Params request
9549 message to the lower RIVA sub-system if DAL is in state
9550 STARTED.
9551
9552 In state BUSY this request will be queued. Request won't
9553 be allowed in any other state.
9554
9555 WDI_PostAssocReq must have been called.
9556
9557 @param wdiUpdateEDCAParams: the start parameters as specified
9558 by the Device Interface
9559
9560 wdiUpdateEDCAParamsRspCb: callback for passing back the
9561 response of the start operation received from the device
9562
9563 pUserData: user data will be passed back with the
9564 callback
9565
9566 @see WDI_PostAssocReq
9567 @return Result of the function call
9568*/
9569WDI_Status
9570WDI_UpdateEDCAParams
9571(
9572 WDI_UpdateEDCAParamsType* pwdiUpdateEDCAParams,
9573 WDI_UpdateEDCAParamsRspCb wdiUpdateEDCAParamsRspCb,
9574 void* pUserData
9575);
9576
9577
9578
9579/**
9580 @brief WDI_AddBASessionReq will be called when the upper MAC has setup
9581 successfully a BA session and needs to notify the HW for
9582 the appropriate settings to take place. Upon the call of
9583 this API the WLAN DAL will pack and send a HAL Add BA
9584 request message to the lower RIVA sub-system if DAL is
9585 in state STARTED.
9586
9587 In state BUSY this request will be queued. Request won't
9588 be allowed in any other state.
9589
9590 WDI_PostAssocReq must have been called.
9591
9592 @param wdiAddBAReqParams: the add BA parameters as specified by
9593 the Device Interface
9594
9595 wdiAddBARspCb: callback for passing back the response of
9596 the add BA operation received from the device
9597
9598 pUserData: user data will be passed back with the
9599 callback
9600
9601 @see WDI_PostAssocReq
9602 @return Result of the function call
9603*/
9604WDI_Status
9605WDI_AddBASessionReq
9606(
9607 WDI_AddBASessionReqParamsType* pwdiAddBASessionReqParams,
9608 WDI_AddBASessionRspCb wdiAddBASessionRspCb,
9609 void* pUserData
9610);
9611
9612
9613/**
9614 @brief WDI_DelBAReq will be called when the upper MAC wants to
9615 inform HW that it has deleted a previously created BA
9616 session. Upon the call of this API the WLAN DAL will
9617 pack and send a HAL Del BA request message to the lower
9618 RIVA sub-system if DAL is in state STARTED.
9619
9620 In state BUSY this request will be queued. Request won't
9621 be allowed in any other state.
9622
9623 WDI_AddBAReq must have been called.
9624
9625 @param wdiDelBAReqParams: the del BA parameters as specified by
9626 the Device Interface
9627
9628 wdiDelBARspCb: callback for passing back the response of
9629 the del BA operation received from the device
9630
9631 pUserData: user data will be passed back with the
9632 callback
9633
9634 @see WDI_AddBAReq
9635 @return Result of the function call
9636*/
9637WDI_Status
9638WDI_DelBAReq
9639(
9640 WDI_DelBAReqParamsType* pwdiDelBAReqParams,
9641 WDI_DelBARspCb wdiDelBARspCb,
9642 void* pUserData
9643);
9644
9645/**
9646 @brief WDI_UpdateBeaconParamsReq will be called when the upper MAC wants to
9647 inform HW that there is a change in the beacon parameters
9648 Upon the call of this API the WLAN DAL will
9649 pack and send a UpdateBeacon Params message to the lower
9650 RIVA sub-system if DAL is in state STARTED.
9651
9652 In state BUSY this request will be queued. Request won't
9653 be allowed in any other state.
9654
9655 WDI_UpdateBeaconParamsReq must have been called.
9656
9657 @param WDI_UpdateBeaconParamsType: the Update Beacon parameters as specified by
9658 the Device Interface
9659
9660 WDI_UpdateBeaconParamsRspCb: callback for passing back the response of
9661 the Update Beacon Params operation received from the device
9662
9663 pUserData: user data will be passed back with the
9664 callback
9665
9666 @see WDI_AddBAReq
9667 @return Result of the function call
9668*/
9669
9670WDI_Status
9671WDI_UpdateBeaconParamsReq
9672(
9673 WDI_UpdateBeaconParamsType * pwdiUpdateBeaconParams,
9674 WDI_UpdateBeaconParamsRspCb wdiUpdateBeaconParamsRspCb,
9675 void* pUserData
9676);
9677
9678
9679/**
9680 @brief WDI_SendBeaconParamsReq will be called when the upper MAC wants to
9681 update the beacon template to be transmitted as BT MAP STA/IBSS/Soft AP
9682 Upon the call of this API the WLAN DAL will
9683 pack and send the beacon Template message to the lower
9684 RIVA sub-system if DAL is in state STARTED.
9685
9686 In state BUSY this request will be queued. Request won't
9687 be allowed in any other state.
9688
9689 WDI_SendBeaconParamsReq must have been called.
9690
9691 @param WDI_SendBeaconParamsType: the Update Beacon parameters as specified by
9692 the Device Interface
9693
9694 WDI_SendBeaconParamsRspCb: callback for passing back the response of
9695 the Send Beacon Params operation received from the device
9696
9697 pUserData: user data will be passed back with the
9698 callback
9699
9700 @see WDI_AddBAReq
9701 @return Result of the function call
9702*/
9703
9704WDI_Status
9705WDI_SendBeaconParamsReq
9706(
9707 WDI_SendBeaconParamsType* pwdiSendBeaconParams,
9708 WDI_SendBeaconParamsRspCb wdiSendBeaconParamsRspCb,
9709 void* pUserData
9710);
9711
9712
9713/**
9714 @brief WDI_UpdateProbeRspTemplateReq will be called when the
9715 upper MAC wants to update the probe response template to
9716 be transmitted as Soft AP
9717 Upon the call of this API the WLAN DAL will
9718 pack and send the probe rsp template message to the
9719 lower RIVA sub-system if DAL is in state STARTED.
9720
9721 In state BUSY this request will be queued. Request won't
9722 be allowed in any other state.
9723
9724
9725 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
9726 specified by the Device Interface
9727
9728 wdiSendBeaconParamsRspCb: callback for passing back the
9729 response of the Send Beacon Params operation received
9730 from the device
9731
9732 pUserData: user data will be passed back with the
9733 callback
9734
9735 @see WDI_AddBAReq
9736 @return Result of the function call
9737*/
9738
9739WDI_Status
9740WDI_UpdateProbeRspTemplateReq
9741(
9742 WDI_UpdateProbeRspTemplateParamsType* pwdiUpdateProbeRspParams,
9743 WDI_UpdateProbeRspTemplateRspCb wdiSendBeaconParamsRspCb,
9744 void* pUserData
9745);
9746
Jeff Johnson295189b2012-06-20 16:38:30 -07009747/**
9748 @brief WDI_SetP2PGONOAReq will be called when the
9749 upper MAC wants to send Notice of Absence
9750 Upon the call of this API the WLAN DAL will
9751 pack and send the probe rsp template message to the
9752 lower RIVA sub-system if DAL is in state STARTED.
9753
9754 In state BUSY this request will be queued. Request won't
9755 be allowed in any other state.
9756
9757
9758 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
9759 specified by the Device Interface
9760
9761 wdiSendBeaconParamsRspCb: callback for passing back the
9762 response of the Send Beacon Params operation received
9763 from the device
9764
9765 pUserData: user data will be passed back with the
9766 callback
9767
9768 @see WDI_AddBAReq
9769 @return Result of the function call
9770*/
9771WDI_Status
9772WDI_SetP2PGONOAReq
9773(
9774 WDI_SetP2PGONOAReqParamsType* pwdiP2PGONOAReqParams,
9775 WDI_SetP2PGONOAReqParamsRspCb wdiP2PGONOAReqParamsRspCb,
9776 void* pUserData
9777);
Jeff Johnson295189b2012-06-20 16:38:30 -07009778
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05309779/**
9780 @brief WDI_SetTDLSLinkEstablishReq will be called when the
9781 upper MAC wants to send TDLS Link Establish Request Parameters
9782 Upon the call of this API the WLAN DAL will
9783 pack and send the TDLS Link Establish Request message to the
9784 lower RIVA sub-system if DAL is in state STARTED.
9785
9786 In state BUSY this request will be queued. Request won't
9787 be allowed in any other state.
9788
9789
9790 @param pwdiTDLSLinkEstablishReqParams: TDLS Peer Parameters
9791 for Link Establishment (Used for PUAPSD , TDLS Off Channel ...)
9792
9793 wdiTDLSLinkEstablishReqRspCb: callback for passing back the
9794 response of the TDLS Link Establish request received
9795 from the device
9796
9797 pUserData: user data will be passed back with the
9798 callback
9799
9800 @see
9801 @return Result of the function call
9802*/
9803WDI_Status
9804WDI_SetTDLSLinkEstablishReq
9805(
9806 WDI_SetTDLSLinkEstablishReqParamsType* pwdiTDLSLinkEstablishReqParams,
9807 WDI_SetTDLSLinkEstablishReqParamsRspCb wdiTDLSLinkEstablishReqRspCb,
9808 void* pUserData
9809);
Jeff Johnson295189b2012-06-20 16:38:30 -07009810
Atul Mittalc0f739f2014-07-31 13:47:47 +05309811WDI_Status
9812WDI_SetTDLSChanSwitchReq
9813(
9814 WDI_SetTDLSChanSwitchReqParamsType* pwdiTDLSChanSwitchReqParams,
9815 WDI_SetTDLSChanSwitchReqParamsRspCb wdiTDLSChanSwitchRReqRspCb,
9816 void* pUserData
9817);
Jeff Johnson295189b2012-06-20 16:38:30 -07009818/*========================================================================
9819
9820 Power Save APIs
9821
9822==========================================================================*/
9823
9824/**
9825 @brief WDI_SetPwrSaveCfgReq will be called when the upper MAC
9826 wants to set the power save related configurations of
9827 the WLAN Device. Upon the call of this API the WLAN DAL
9828 will pack and send a HAL Update CFG request message to
9829 the lower RIVA sub-system if DAL is in state STARTED.
9830
9831 In state BUSY this request will be queued. Request won't
9832 be allowed in any other state.
9833
9834 WDI_Start must have been called.
9835
9836 @param pwdiPowerSaveCfg: the power save cfg parameters as
9837 specified by the Device Interface
9838
9839 wdiSetPwrSaveCfgCb: callback for passing back the
9840 response of the set power save cfg operation received
9841 from the device
9842
9843 pUserData: user data will be passed back with the
9844 callback
9845
9846 @see WDI_Start
9847 @return Result of the function call
9848*/
9849WDI_Status
9850WDI_SetPwrSaveCfgReq
9851(
9852 WDI_UpdateCfgReqParamsType* pwdiPowerSaveCfg,
9853 WDI_SetPwrSaveCfgCb wdiSetPwrSaveCfgCb,
9854 void* pUserData
9855);
9856
9857/**
9858 @brief WDI_EnterImpsReq will be called when the upper MAC to
9859 request the device to get into IMPS power state. Upon
9860 the call of this API the WLAN DAL will send a HAL Enter
9861 IMPS request message to the lower RIVA sub-system if DAL
9862 is in state STARTED.
9863
9864 In state BUSY this request will be queued. Request won't
9865 be allowed in any other state.
9866
9867
9868 @param wdiEnterImpsRspCb: callback for passing back the
9869 response of the Enter IMPS operation received from the
9870 device
9871
9872 pUserData: user data will be passed back with the
9873 callback
9874
9875 @see WDI_Start
9876 @return Result of the function call
9877*/
9878WDI_Status
9879WDI_EnterImpsReq
9880(
Mihir Shetea4306052014-03-25 00:02:54 +05309881 WDI_EnterImpsReqParamsType *pwdiEnterImpsReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009882 WDI_EnterImpsRspCb wdiEnterImpsRspCb,
9883 void* pUserData
9884);
9885
9886/**
9887 @brief WDI_ExitImpsReq will be called when the upper MAC to
9888 request the device to get out of IMPS power state. Upon
9889 the call of this API the WLAN DAL will send a HAL Exit
9890 IMPS request message to the lower RIVA sub-system if DAL
9891 is in state STARTED.
9892
9893 In state BUSY this request will be queued. Request won't
9894 be allowed in any other state.
9895
9896
9897
9898 @param wdiExitImpsRspCb: callback for passing back the response
9899 of the Exit IMPS operation received from the device
9900
9901 pUserData: user data will be passed back with the
9902 callback
9903
9904 @see WDI_Start
9905 @return Result of the function call
9906*/
9907WDI_Status
9908WDI_ExitImpsReq
9909(
Mahesh A Saptasagar329813b2014-12-15 12:16:51 +05309910 WDI_ExitImpsReqParamsType *pwdiExitImpsReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009911 WDI_ExitImpsRspCb wdiExitImpsRspCb,
9912 void* pUserData
9913);
9914
9915/**
9916 @brief WDI_EnterBmpsReq will be called when the upper MAC to
9917 request the device to get into BMPS power state. Upon
9918 the call of this API the WLAN DAL will pack and send a
9919 HAL Enter BMPS request message to the lower RIVA
9920 sub-system if DAL is in state STARTED.
9921
9922 In state BUSY this request will be queued. Request won't
9923 be allowed in any other state.
9924
9925 WDI_PostAssocReq must have been called.
9926
9927 @param pwdiEnterBmpsReqParams: the Enter BMPS parameters as
9928 specified by the Device Interface
9929
9930 wdiEnterBmpsRspCb: callback for passing back the
9931 response of the Enter BMPS operation received from the
9932 device
9933
9934 pUserData: user data will be passed back with the
9935 callback
9936
9937 @see WDI_PostAssocReq
9938 @return Result of the function call
9939*/
9940WDI_Status
9941WDI_EnterBmpsReq
9942(
9943 WDI_EnterBmpsReqParamsType *pwdiEnterBmpsReqParams,
9944 WDI_EnterBmpsRspCb wdiEnterBmpsRspCb,
9945 void* pUserData
9946);
9947
9948/**
9949 @brief WDI_ExitBmpsReq will be called when the upper MAC to
9950 request the device to get out of BMPS power state. Upon
9951 the call of this API the WLAN DAL will pack and send a
9952 HAL Exit BMPS request message to the lower RIVA
9953 sub-system if DAL is in state STARTED.
9954
9955 In state BUSY this request will be queued. Request won't
9956 be allowed in any other state.
9957
9958 WDI_PostAssocReq must have been called.
9959
9960 @param pwdiExitBmpsReqParams: the Exit BMPS parameters as
9961 specified by the Device Interface
9962
9963 wdiExitBmpsRspCb: callback for passing back the response
9964 of the Exit BMPS operation received from the device
9965
9966 pUserData: user data will be passed back with the
9967 callback
9968
9969 @see WDI_PostAssocReq
9970 @return Result of the function call
9971*/
9972WDI_Status
9973WDI_ExitBmpsReq
9974(
9975 WDI_ExitBmpsReqParamsType *pwdiExitBmpsReqParams,
9976 WDI_ExitBmpsRspCb wdiExitBmpsRspCb,
9977 void* pUserData
9978);
9979
9980/**
9981 @brief WDI_EnterUapsdReq will be called when the upper MAC to
9982 request the device to get into UAPSD power state. Upon
9983 the call of this API the WLAN DAL will pack and send a
9984 HAL Enter UAPSD request message to the lower RIVA
9985 sub-system if DAL is in state STARTED.
9986
9987 In state BUSY this request will be queued. Request won't
9988 be allowed in any other state.
9989
9990 WDI_PostAssocReq must have been called.
9991 WDI_SetUapsdAcParamsReq must have been called.
9992
9993 @param pwdiEnterUapsdReqParams: the Enter UAPSD parameters as
9994 specified by the Device Interface
9995
9996 wdiEnterUapsdRspCb: callback for passing back the
9997 response of the Enter UAPSD operation received from the
9998 device
9999
10000 pUserData: user data will be passed back with the
10001 callback
10002
10003 @see WDI_PostAssocReq, WDI_SetUapsdAcParamsReq
10004 @return Result of the function call
10005*/
10006WDI_Status
10007WDI_EnterUapsdReq
10008(
10009 WDI_EnterUapsdReqParamsType *pwdiEnterUapsdReqParams,
10010 WDI_EnterUapsdRspCb wdiEnterUapsdRspCb,
10011 void* pUserData
10012);
10013
10014/**
10015 @brief WDI_ExitUapsdReq will be called when the upper MAC to
10016 request the device to get out of UAPSD power state. Upon
10017 the call of this API the WLAN DAL will send a HAL Exit
10018 UAPSD request message to the lower RIVA sub-system if
10019 DAL is in state STARTED.
10020
10021 In state BUSY this request will be queued. Request won't
10022 be allowed in any other state.
10023
10024 WDI_PostAssocReq must have been called.
10025
10026 @param wdiExitUapsdRspCb: callback for passing back the
10027 response of the Exit UAPSD operation received from the
10028 device
10029
10030 pUserData: user data will be passed back with the
10031 callback
10032
10033 @see WDI_PostAssocReq
10034 @return Result of the function call
10035*/
10036WDI_Status
10037WDI_ExitUapsdReq
10038(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -070010039 WDI_ExitUapsdReqParamsType *pwdiExitUapsdReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -070010040 WDI_ExitUapsdRspCb wdiExitUapsdRspCb,
10041 void* pUserData
10042);
10043
10044/**
10045 @brief WDI_UpdateUapsdParamsReq will be called when the upper
10046 MAC wants to set the UAPSD related configurations
10047 of an associated STA (while acting as an AP) to the WLAN
10048 Device. Upon the call of this API the WLAN DAL will pack
10049 and send a HAL Update UAPSD params request message to
10050 the lower RIVA sub-system if DAL is in state STARTED.
10051
10052 In state BUSY this request will be queued. Request won't
10053 be allowed in any other state.
10054
10055 WDI_ConfigBSSReq must have been called.
10056
10057 @param pwdiUpdateUapsdReqParams: the UAPSD parameters
10058 as specified by the Device Interface
10059
10060 wdiUpdateUapsdParamsCb: callback for passing back the
10061 response of the update UAPSD params operation received
10062 from the device
10063
10064 pUserData: user data will be passed back with the
10065 callback
10066
10067 @see WDI_ConfigBSSReq
10068 @return Result of the function call
10069*/
10070WDI_Status
10071WDI_UpdateUapsdParamsReq
10072(
10073 WDI_UpdateUapsdReqParamsType *pwdiUpdateUapsdReqParams,
10074 WDI_UpdateUapsdParamsCb wdiUpdateUapsdParamsCb,
10075 void* pUserData
10076);
10077
10078/**
10079 @brief WDI_SetUapsdAcParamsReq will be called when the upper
10080 MAC wants to set the UAPSD related configurations before
10081 requesting for enter UAPSD power state to the WLAN
10082 Device. Upon the call of this API the WLAN DAL will pack
10083 and send a HAL Set UAPSD params request message to
10084 the lower RIVA sub-system if DAL is in state STARTED.
10085
10086 In state BUSY this request will be queued. Request won't
10087 be allowed in any other state.
10088
10089 WDI_PostAssocReq must have been called.
10090
10091 @param pwdiUapsdInfo: the UAPSD parameters as specified by
10092 the Device Interface
10093
10094 wdiSetUapsdAcParamsCb: callback for passing back the
10095 response of the set UAPSD params operation received from
10096 the device
10097
10098 pUserData: user data will be passed back with the
10099 callback
10100
10101 @see WDI_PostAssocReq
10102 @return Result of the function call
10103*/
10104WDI_Status
10105WDI_SetUapsdAcParamsReq
10106(
10107 WDI_SetUapsdAcParamsReqParamsType* pwdiPowerSaveCfg,
10108 WDI_SetUapsdAcParamsCb wdiSetUapsdAcParamsCb,
10109 void* pUserData
10110);
Sachin Ahuja715aafc2015-07-21 23:35:10 +053010111
10112
10113/**
10114 @brief WDI_FatalEventLogsReq will be called when the upper
10115 MAC wants to send the fatal event req. Upon the call of
10116 this API the WLAN DAL will pack and send a HAL
10117 Fatal event request message to the lower RIVA sub-system.
10118
10119 In state BUSY this request will be queued. Request won't
10120 be allowed in any other state.
10121
10122
10123 @param pwdiFatalEventLogsReqInfo: the Fatal event logs params
10124 as specified by the Device Interface
10125
10126 wdiFatalEventLogsRspCb: callback for passing back the
10127 response of the fatal event operation received
10128 from the device
10129
10130 pUserData: user data will be passed back with the
10131 callback
10132
10133 @return Result of the function call
10134*/
10135
10136WDI_Status
10137WDI_FatalEventLogsReq
10138(
10139 WDI_FatalEventLogsReqInfoType *pwdiFatalEventLogsReqInfo,
10140 WDI_FatalEventLogsRspCb wdiFatalEventLogsRspCb,
10141 void* pUserData
10142);
10143
Siddharth Bhal64246172015-02-27 01:04:37 +053010144/**
10145 @brief WDI_GetFrameLogReq will be called when the upper
10146 MAC wants to initialize frame logging. Upon the call of
10147 this API the WLAN DAL will pack and send a HAL
10148 Frame logging init request message to
10149 the lower RIVA sub-system.
10150
10151 In state BUSY this request will be queued. Request won't
10152 be allowed in any other state.
10153
10154
10155 @param pwdiGetFrameLogReqInfo: the Frame Logging params
10156 as specified by the Device Interface
10157
10158 wdiGetFrameLogReqCb: callback for passing back the
10159 response of the frame logging init operation received
10160 from the device
10161
10162 pUserData: user data will be passed back with the
10163 callback
10164
10165 @return Result of the function call
10166*/
10167WDI_Status
10168WDI_GetFrameLogReq
10169(
10170 WDI_GetFrameLogReqInfoType *pwdiGetFrameLogReqInfo,
10171 WDI_GetFrameLogRspCb wdiGetFrameLogReqCb,
10172 void* pUserData
10173);
Jeff Johnson295189b2012-06-20 16:38:30 -070010174
10175/**
Siddharth Bhald1be97f2015-05-27 22:39:59 +053010176 @brief WDI_FWLoggingInitReq will be called when the upper
Siddharth Bhalb7c421c2015-02-27 00:26:09 +053010177 MAC wants to initialize frame logging. Upon the call of
10178 this API the WLAN DAL will pack and send a HAL
10179 Frame logging init request message to
10180 the lower RIVA sub-system.
10181
10182 In state BUSY this request will be queued. Request won't
10183 be allowed in any other state.
10184
10185
Siddharth Bhald1be97f2015-05-27 22:39:59 +053010186 @param pwdiFWLoggingInitReqParams: the Frame Logging params
Siddharth Bhalb7c421c2015-02-27 00:26:09 +053010187 as specified by the Device Interface
10188
Siddharth Bhald1be97f2015-05-27 22:39:59 +053010189 wdiFWLoggingInitReqCb: callback for passing back the
Siddharth Bhalb7c421c2015-02-27 00:26:09 +053010190 response of the frame logging init operation received
10191 from the device
10192
10193 pUserData: user data will be passed back with the
10194 callback
10195
10196 @return Result of the function call
10197*/
10198WDI_Status
Siddharth Bhald1be97f2015-05-27 22:39:59 +053010199WDI_FWLoggingInitReq
Siddharth Bhalb7c421c2015-02-27 00:26:09 +053010200(
Siddharth Bhald1be97f2015-05-27 22:39:59 +053010201 WDI_FWLoggingInitReqInfoType *pwdiFWLoggingInitReqInfo,
10202 WDI_FWLoggingInitRspCb wdiFWLoggingInitReqCb,
Siddharth Bhalb7c421c2015-02-27 00:26:09 +053010203 void* pUserData
10204);
10205
10206/**
Gupta, Kapil7c34b322015-09-30 13:12:35 +053010207 @brief WDI_StartRssiMonitorReq will be called when the upper
10208 MAC wants to initialize Rssi Monitor on a bssid.
10209 Upon the call of this API the WLAN DAL will pack and
10210 send a HAL Rssi Monitor init request message to
10211 the lower RIVA sub-system.
10212
10213 In state BUSY this request will be queued. Request won't
10214 be allowed in any other state.
10215
10216
10217 @param pwdiRssiMonitorInfo: the Rssi Monitor params
10218 as specified by the Device Interface
10219
10220 wdiRssiMonitorStartRspCb: callback for passing back the
10221 response of the rssi monitor operation received
10222 from the device
10223
10224 pUserData: user data will be passed back with the
10225 callback
10226
10227 @return Result of the function call
10228*/
10229WDI_Status
10230WDI_StartRssiMonitorReq
10231(
10232 WDI_RssiMonitorReqInfoType *pwdiRssiMonitorInfo,
10233 WDI_RssiMonitorStartRspCb wdiRssiMonitorStartRspCb,
10234 void* pUserData
10235);
10236
10237
10238/**
10239 @brief WDI_StopRssiMonitorReq will be called when the upper
10240 MAC wants to stop Rssi Monitor on a bssid.
10241 Upon the call of this API the WLAN DAL will pack and
10242 send a HAL Rssi Monitor stop request message to
10243 the lower RIVA sub-system.
10244
10245 In state BUSY this request will be queued. Request won't
10246 be allowed in any other state.
10247
10248
10249 @param pwdiRssiMonitorInfo: the Rssi Monitor params
10250 as specified by the Device Interface
10251
10252 wdiRssiMonitorStopRspCb: callback for passing back the
10253 response of the rssi monitor operation received
10254 from the device
10255
10256 pUserData: user data will be passed back with the
10257 callback
10258
10259 @return Result of the function call
10260*/
10261WDI_Status
10262WDI_StopRssiMonitorReq
10263(
10264 WDI_RssiMonitorReqInfoType *pwdiRssiMonitorInfo,
10265 WDI_RssiMonitorStopRspCb wdiRssiMonitorStopRspCb,
10266 void* pUserData
10267);
10268
10269/**
Jeff Johnson295189b2012-06-20 16:38:30 -070010270 @brief WDI_ConfigureRxpFilterReq will be called when the upper
10271 MAC wants to set/reset the RXP filters for received pkts
10272 (MC, BC etc.). Upon the call of this API the WLAN DAL will pack
10273 and send a HAL configure RXP filter request message to
10274 the lower RIVA sub-system.
10275
10276 In state BUSY this request will be queued. Request won't
10277 be allowed in any other state.
10278
10279
10280 @param pwdiConfigureRxpFilterReqParams: the RXP
10281 filter as specified by the Device
10282 Interface
10283
10284 wdiConfigureRxpFilterCb: callback for passing back the
10285 response of the configure RXP filter operation received
10286 from the device
10287
10288 pUserData: user data will be passed back with the
10289 callback
10290
10291 @return Result of the function call
10292*/
10293WDI_Status
10294WDI_ConfigureRxpFilterReq
10295(
10296 WDI_ConfigureRxpFilterReqParamsType *pwdiConfigureRxpFilterReqParams,
10297 WDI_ConfigureRxpFilterCb wdiConfigureRxpFilterCb,
10298 void* pUserData
10299);
10300
10301/**
10302 @brief WDI_SetBeaconFilterReq will be called when the upper MAC
10303 wants to set the beacon filters while in power save.
10304 Upon the call of this API the WLAN DAL will pack and
10305 send a Beacon filter request message to the
10306 lower RIVA sub-system.
10307
10308 In state BUSY this request will be queued. Request won't
10309 be allowed in any other state.
10310
10311
10312 @param pwdiBeaconFilterReqParams: the beacon
10313 filter as specified by the Device
10314 Interface
10315
10316 wdiBeaconFilterCb: callback for passing back the
10317 response of the set beacon filter operation received
10318 from the device
10319
10320 pUserData: user data will be passed back with the
10321 callback
10322
10323 @return Result of the function call
10324*/
10325WDI_Status
10326WDI_SetBeaconFilterReq
10327(
10328 WDI_BeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
10329 WDI_SetBeaconFilterCb wdiBeaconFilterCb,
10330 void* pUserData
10331);
10332
10333/**
10334 @brief WDI_RemBeaconFilterReq will be called when the upper MAC
10335 wants to remove the beacon filter for perticular IE
10336 while in power save. Upon the call of this API the WLAN
10337 DAL will pack and send a remove Beacon filter request
10338 message to the lower RIVA sub-system.
10339
10340 In state BUSY this request will be queued. Request won't
10341 be allowed in any other state.
10342
10343
10344 @param pwdiBeaconFilterReqParams: the beacon
10345 filter as specified by the Device
10346 Interface
10347
10348 wdiBeaconFilterCb: callback for passing back the
10349 response of the remove beacon filter operation received
10350 from the device
10351
10352 pUserData: user data will be passed back with the
10353 callback
10354
10355 @return Result of the function call
10356*/
10357WDI_Status
10358WDI_RemBeaconFilterReq
10359(
10360 WDI_RemBeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
10361 WDI_RemBeaconFilterCb wdiBeaconFilterCb,
10362 void* pUserData
10363);
10364
10365/**
10366 @brief WDI_SetRSSIThresholdsReq will be called when the upper
10367 MAC wants to set the RSSI thresholds related
10368 configurations while in power save. Upon the call of
10369 this API the WLAN DAL will pack and send a HAL Set RSSI
10370 thresholds request message to the lower RIVA
10371 sub-system if DAL is in state STARTED.
10372
10373 In state BUSY this request will be queued. Request won't
10374 be allowed in any other state.
10375
10376 WDI_PostAssocReq must have been called.
10377
10378 @param pwdiUapsdInfo: the UAPSD parameters as specified by
10379 the Device Interface
10380
10381 wdiSetUapsdAcParamsCb: callback for passing back the
10382 response of the set UAPSD params operation received from
10383 the device
10384
10385 pUserData: user data will be passed back with the
10386 callback
10387
10388 @see WDI_PostAssocReq
10389 @return Result of the function call
10390*/
10391WDI_Status
10392WDI_SetRSSIThresholdsReq
10393(
10394 WDI_SetRSSIThresholdsReqParamsType* pwdiRSSIThresholdsParams,
10395 WDI_SetRSSIThresholdsCb wdiSetRSSIThresholdsCb,
10396 void* pUserData
10397);
10398
10399/**
10400 @brief WDI_HostOffloadReq will be called when the upper MAC
10401 wants to set the filter to minimize unnecessary host
10402 wakeup due to broadcast traffic while in power save.
10403 Upon the call of this API the WLAN DAL will pack and
10404 send a HAL host offload request message to the
10405 lower RIVA sub-system if DAL is in state STARTED.
10406
10407 In state BUSY this request will be queued. Request won't
10408 be allowed in any other state.
10409
10410 WDI_PostAssocReq must have been called.
10411
10412 @param pwdiHostOffloadParams: the host offload as specified
10413 by the Device Interface
10414
10415 wdiHostOffloadCb: callback for passing back the response
10416 of the host offload operation received from the
10417 device
10418
10419 pUserData: user data will be passed back with the
10420 callback
10421
10422 @see WDI_PostAssocReq
10423 @return Result of the function call
10424*/
10425WDI_Status
10426WDI_HostOffloadReq
10427(
10428 WDI_HostOffloadReqParamsType* pwdiHostOffloadParams,
10429 WDI_HostOffloadCb wdiHostOffloadCb,
10430 void* pUserData
10431);
10432
10433/**
10434 @brief WDI_KeepAliveReq will be called when the upper MAC
10435 wants to set the filter to send NULL or unsolicited ARP responses
10436 and minimize unnecessary host wakeups due to while in power save.
10437 Upon the call of this API the WLAN DAL will pack and
10438 send a HAL Keep Alive request message to the
10439 lower RIVA sub-system if DAL is in state STARTED.
10440
10441 In state BUSY this request will be queued. Request won't
10442 be allowed in any other state.
10443
10444 WDI_PostAssocReq must have been called.
10445
10446 @param pwdiKeepAliveParams: the Keep Alive as specified
10447 by the Device Interface
10448
10449 wdiKeepAliveCb: callback for passing back the response
10450 of the Keep Alive operation received from the
10451 device
10452
10453 pUserData: user data will be passed back with the
10454 callback
10455
10456 @see WDI_PostAssocReq
10457 @return Result of the function call
10458*/
10459WDI_Status
10460WDI_KeepAliveReq
10461(
10462 WDI_KeepAliveReqParamsType* pwdiKeepAliveParams,
10463 WDI_KeepAliveCb wdiKeepAliveCb,
10464 void* pUserData
10465);
10466
10467/**
10468 @brief WDI_WowlAddBcPtrnReq will be called when the upper MAC
10469 wants to set the Wowl Bcast ptrn to minimize unnecessary
10470 host wakeup due to broadcast traffic while in power
10471 save. Upon the call of this API the WLAN DAL will pack
10472 and send a HAL Wowl Bcast ptrn request message to the
10473 lower RIVA sub-system if DAL is in state STARTED.
10474
10475 In state BUSY this request will be queued. Request won't
10476 be allowed in any other state.
10477
10478 WDI_PostAssocReq must have been called.
10479
10480 @param pwdiWowlAddBcPtrnParams: the Wowl bcast ptrn as
10481 specified by the Device Interface
10482
10483 wdiWowlAddBcPtrnCb: callback for passing back the
10484 response of the add Wowl bcast ptrn operation received
10485 from the device
10486
10487 pUserData: user data will be passed back with the
10488 callback
10489
10490 @see WDI_PostAssocReq
10491 @return Result of the function call
10492*/
10493WDI_Status
10494WDI_WowlAddBcPtrnReq
10495(
10496 WDI_WowlAddBcPtrnReqParamsType* pwdiWowlAddBcPtrnParams,
10497 WDI_WowlAddBcPtrnCb wdiWowlAddBcPtrnCb,
10498 void* pUserData
10499);
10500
10501/**
10502 @brief WDI_WowlDelBcPtrnReq will be called when the upper MAC
10503 wants to clear the Wowl Bcast ptrn. Upon the call of
10504 this API the WLAN DAL will pack and send a HAL delete
10505 Wowl Bcast ptrn request message to the lower RIVA
10506 sub-system if DAL is in state STARTED.
10507
10508 In state BUSY this request will be queued. Request won't
10509 be allowed in any other state.
10510
10511 WDI_WowlAddBcPtrnReq must have been called.
10512
10513 @param pwdiWowlDelBcPtrnParams: the Wowl bcast ptrn as
10514 specified by the Device Interface
10515
10516 wdiWowlDelBcPtrnCb: callback for passing back the
10517 response of the del Wowl bcast ptrn operation received
10518 from the device
10519
10520 pUserData: user data will be passed back with the
10521 callback
10522
10523 @see WDI_WowlAddBcPtrnReq
10524 @return Result of the function call
10525*/
10526WDI_Status
10527WDI_WowlDelBcPtrnReq
10528(
10529 WDI_WowlDelBcPtrnReqParamsType* pwdiWowlDelBcPtrnParams,
10530 WDI_WowlDelBcPtrnCb wdiWowlDelBcPtrnCb,
10531 void* pUserData
10532);
10533
10534/**
10535 @brief WDI_WowlEnterReq will be called when the upper MAC
10536 wants to enter the Wowl state to minimize unnecessary
10537 host wakeup while in power save. Upon the call of this
10538 API the WLAN DAL will pack and send a HAL Wowl enter
10539 request message to the lower RIVA sub-system if DAL is
10540 in state STARTED.
10541
10542 In state BUSY this request will be queued. Request won't
10543 be allowed in any other state.
10544
10545 WDI_PostAssocReq must have been called.
10546
10547 @param pwdiWowlEnterReqParams: the Wowl enter info as
10548 specified by the Device Interface
10549
10550 wdiWowlEnterReqCb: callback for passing back the
10551 response of the enter Wowl operation received from the
10552 device
10553
10554 pUserData: user data will be passed back with the
10555 callback
10556
10557 @see WDI_PostAssocReq
10558 @return Result of the function call
10559*/
10560WDI_Status
10561WDI_WowlEnterReq
10562(
10563 WDI_WowlEnterReqParamsType* pwdiWowlEnterParams,
10564 WDI_WowlEnterReqCb wdiWowlEnterCb,
10565 void* pUserData
10566);
10567
10568/**
10569 @brief WDI_WowlExitReq will be called when the upper MAC
10570 wants to exit the Wowl state. Upon the call of this API
10571 the WLAN DAL will pack and send a HAL Wowl exit request
10572 message to the lower RIVA sub-system if DAL is in state
10573 STARTED.
10574
10575 In state BUSY this request will be queued. Request won't
10576 be allowed in any other state.
10577
10578 WDI_WowlEnterReq must have been called.
10579
10580 @param pwdiWowlExitReqParams: the Wowl exit info as
10581 specified by the Device Interface
10582
10583 wdiWowlExitReqCb: callback for passing back the response
10584 of the exit Wowl operation received from the device
10585
10586 pUserData: user data will be passed back with the
10587 callback
10588
10589 @see WDI_WowlEnterReq
10590 @return Result of the function call
10591*/
10592WDI_Status
10593WDI_WowlExitReq
10594(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -070010595 WDI_WowlExitReqParamsType* pwdiWowlExitParams,
Jeff Johnson295189b2012-06-20 16:38:30 -070010596 WDI_WowlExitReqCb wdiWowlExitCb,
10597 void* pUserData
10598);
10599
10600/**
10601 @brief WDI_ConfigureAppsCpuWakeupStateReq will be called when
10602 the upper MAC wants to dynamically adjusts the listen
10603 interval based on the WLAN/MSM activity. Upon the call
10604 of this API the WLAN DAL will pack and send a HAL
10605 configure Apps Cpu Wakeup State request message to the
10606 lower RIVA sub-system.
10607
10608 In state BUSY this request will be queued. Request won't
10609 be allowed in any other state.
10610
10611
10612 @param pwdiConfigureAppsCpuWakeupStateReqParams: the
10613 Apps Cpu Wakeup State as specified by the
10614 Device Interface
10615
10616 wdiConfigureAppsCpuWakeupStateCb: callback for passing
10617 back the response of the configure Apps Cpu Wakeup State
10618 operation received from the device
10619
10620 pUserData: user data will be passed back with the
10621 callback
10622
10623 @return Result of the function call
10624*/
10625WDI_Status
10626WDI_ConfigureAppsCpuWakeupStateReq
10627(
10628 WDI_ConfigureAppsCpuWakeupStateReqParamsType *pwdiConfigureAppsCpuWakeupStateReqParams,
10629 WDI_ConfigureAppsCpuWakeupStateCb wdiConfigureAppsCpuWakeupStateCb,
10630 void* pUserData
10631);
10632/**
10633 @brief WDI_FlushAcReq will be called when the upper MAC wants
10634 to to perform a flush operation on a given AC. Upon the
10635 call of this API the WLAN DAL will pack and send a HAL
10636 Flush AC request message to the lower RIVA sub-system if
10637 DAL is in state STARTED.
10638
10639 In state BUSY this request will be queued. Request won't
10640 be allowed in any other state.
10641
10642
10643 @param pwdiFlushAcReqParams: the Flush AC parameters as
10644 specified by the Device Interface
10645
10646 wdiFlushAcRspCb: callback for passing back the response
10647 of the Flush AC operation received from the device
10648
10649 pUserData: user data will be passed back with the
10650 callback
10651
10652 @return Result of the function call
10653*/
10654WDI_Status
10655WDI_FlushAcReq
10656(
10657 WDI_FlushAcReqParamsType* pwdiFlushAcReqParams,
10658 WDI_FlushAcRspCb wdiFlushAcRspCb,
10659 void* pUserData
10660);
10661
10662/**
10663 @brief WDI_BtAmpEventReq will be called when the upper MAC
10664 wants to notify the lower mac on a BT AMP event. This is
10665 to inform BTC-SLM that some BT AMP event occurred. Upon
10666 the call of this API the WLAN DAL will pack and send a
10667 HAL BT AMP event request message to the lower RIVA
10668 sub-system if DAL is in state STARTED.
10669
10670 In state BUSY this request will be queued. Request won't
10671 be allowed in any other state.
10672
10673
10674 @param wdiBtAmpEventReqParams: the BT AMP event parameters as
10675 specified by the Device Interface
10676
10677 wdiBtAmpEventRspCb: callback for passing back the
10678 response of the BT AMP event operation received from the
10679 device
10680
10681 pUserData: user data will be passed back with the
10682 callback
10683
10684 @return Result of the function call
10685*/
10686WDI_Status
10687WDI_BtAmpEventReq
10688(
10689 WDI_BtAmpEventParamsType* pwdiBtAmpEventReqParams,
10690 WDI_BtAmpEventRspCb wdiBtAmpEventRspCb,
10691 void* pUserData
10692);
10693
Jeff Johnsone7245742012-09-05 17:12:55 -070010694#ifdef FEATURE_OEM_DATA_SUPPORT
10695/**
10696 @brief WDI_Start oem data Req will be called when the upper MAC
10697 wants to notify the lower mac on a oem data Req event.Upon
10698 the call of this API the WLAN DAL will pack and send a
10699 HAL OEM Data Req event request message to the lower RIVA
10700 sub-system if DAL is in state STARTED.
10701
10702 In state BUSY this request will be queued. Request won't
10703 be allowed in any other state.
10704
10705
10706 @param pWdiOemDataReqParams: the oem data req parameters as
10707 specified by the Device Interface
10708
10709 wdiStartOemDataRspCb: callback for passing back the
10710 response of the Oem Data Req received from the
10711 device
10712
10713 pUserData: user data will be passed back with the
10714 callback
10715
10716 @return Result of the function call
10717*/
10718WDI_Status
10719WDI_StartOemDataReq
10720(
10721 WDI_oemDataReqParamsType* pWdiOemDataReqParams,
10722 WDI_oemDataRspCb wdiOemDataRspCb,
10723 void* pUserData
10724);
10725#endif
Jeff Johnson295189b2012-06-20 16:38:30 -070010726
10727/*========================================================================
10728
10729 CONTROL APIs
10730
10731==========================================================================*/
10732/**
10733 @brief WDI_SwitchChReq will be called when the upper MAC wants
10734 the WLAN HW to change the current channel of operation.
10735 Upon the call of this API the WLAN DAL will pack and
10736 send a HAL Start request message to the lower RIVA
10737 sub-system if DAL is in state STARTED.
10738
10739 In state BUSY this request will be queued. Request won't
10740 be allowed in any other state.
10741
10742 WDI_Start must have been called.
10743
10744 @param wdiSwitchChReqParams: the switch ch parameters as
10745 specified by the Device Interface
10746
10747 wdiSwitchChRspCb: callback for passing back the response
10748 of the switch ch operation received from the device
10749
10750 pUserData: user data will be passed back with the
10751 callback
10752
10753 @see WDI_Start
10754 @return Result of the function call
10755*/
10756WDI_Status
10757WDI_SwitchChReq
10758(
10759 WDI_SwitchChReqParamsType* pwdiSwitchChReqParams,
10760 WDI_SwitchChRspCb wdiSwitchChRspCb,
10761 void* pUserData
10762);
10763
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -080010764/**
Kalikinkar dhara1e83b772014-02-06 12:59:22 -080010765 @brief WDI_SwitchChReq_V1 is similar to WDI_SwitchChReq except
10766 it also send type source for the channel change.
10767 WDI_Start must have been called.
10768
10769 @param wdiSwitchChReqParams: the switch ch parameters as
10770 specified by the Device Interface
10771
10772 wdiSwitchChRspCb: callback for passing back the response
10773 of the switch ch operation received from the device
10774
10775 pUserData: user data will be passed back with the
10776 callback
10777
10778 @see WDI_Start
10779 @return Result of the function call
10780*/
10781
10782WDI_Status
10783WDI_SwitchChReq_V1
10784(
10785 WDI_SwitchChReqParamsType_V1* pwdiSwitchChReqParams,
10786 WDI_SwitchChRspCb_V1 wdiSwitchChRspCb,
10787 void* pUserData
10788);
10789
10790/**
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -080010791 @brief WDI_UpdateChannelReq will be called when the upper MAC
10792 wants to update the channel list on change in country code.
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -080010793 In state BUSY this request will be queued. Request won't
10794 be allowed in any other state.
10795
10796 WDI_UpdateChannelReq must have been called.
10797
10798 @param wdiUpdateChannelReqParams: the updated channel parameters
10799 as specified by the Device Interface
10800
10801 wdiUpdateChannelRspCb: callback for passing back the
10802 response of the update channel operation received from
10803 the device
10804
10805 pUserData: user data will be passed back with the
10806 callback
10807
10808 @return Result of the function call
10809*/
10810WDI_Status
10811WDI_UpdateChannelReq
10812(
10813 WDI_UpdateChReqParamsType *pwdiUpdateChannelReqParams,
10814 WDI_UpdateChannelRspCb wdiUpdateChannelRspCb,
10815 void* pUserData
10816);
Jeff Johnson295189b2012-06-20 16:38:30 -070010817
10818/**
10819 @brief WDI_ConfigSTAReq will be called when the upper MAC
10820 wishes to add or update a STA in HW. Upon the call of
10821 this API the WLAN DAL will pack and send a HAL Start
10822 message request message to the lower RIVA sub-system if
10823 DAL is in state STARTED.
10824
10825 In state BUSY this request will be queued. Request won't
10826 be allowed in any other state.
10827
10828 WDI_Start must have been called.
10829
10830 @param wdiConfigSTAReqParams: the config STA parameters as
10831 specified by the Device Interface
10832
10833 wdiConfigSTARspCb: callback for passing back the
10834 response of the config STA operation received from the
10835 device
10836
10837 pUserData: user data will be passed back with the
10838 callback
10839
10840 @see WDI_Start
10841 @return Result of the function call
10842*/
10843WDI_Status
10844WDI_ConfigSTAReq
10845(
10846 WDI_ConfigSTAReqParamsType* pwdiConfigSTAReqParams,
10847 WDI_ConfigSTARspCb wdiConfigSTARspCb,
10848 void* pUserData
10849);
10850
10851/**
10852 @brief WDI_SetLinkStateReq will be called when the upper MAC
10853 wants to change the state of an ongoing link. Upon the
10854 call of this API the WLAN DAL will pack and send a HAL
10855 Start message request message to the lower RIVA
10856 sub-system if DAL is in state STARTED.
10857
10858 In state BUSY this request will be queued. Request won't
10859 be allowed in any other state.
10860
10861 WDI_JoinReq must have been called.
10862
10863 @param wdiSetLinkStateReqParams: the set link state parameters
10864 as specified by the Device Interface
10865
10866 wdiSetLinkStateRspCb: callback for passing back the
10867 response of the set link state operation received from
10868 the device
10869
10870 pUserData: user data will be passed back with the
10871 callback
10872
10873 @see WDI_JoinStartReq
10874 @return Result of the function call
10875*/
10876WDI_Status
10877WDI_SetLinkStateReq
10878(
10879 WDI_SetLinkReqParamsType* pwdiSetLinkStateReqParams,
10880 WDI_SetLinkStateRspCb wdiSetLinkStateRspCb,
10881 void* pUserData
10882);
10883
10884
10885/**
10886 @brief WDI_GetStatsReq will be called when the upper MAC wants
10887 to get statistics (MIB counters) from the device. Upon
10888 the call of this API the WLAN DAL will pack and send a
10889 HAL Start request message to the lower RIVA sub-system
10890 if DAL is in state STARTED.
10891
10892 In state BUSY this request will be queued. Request won't
10893 be allowed in any other state.
10894
10895 WDI_Start must have been called.
10896
10897 @param wdiGetStatsReqParams: the stats parameters to get as
10898 specified by the Device Interface
10899
10900 wdiGetStatsRspCb: callback for passing back the response
10901 of the get stats operation received from the device
10902
10903 pUserData: user data will be passed back with the
10904 callback
10905
10906 @see WDI_Start
10907 @return Result of the function call
10908*/
10909WDI_Status
10910WDI_GetStatsReq
10911(
10912 WDI_GetStatsReqParamsType* pwdiGetStatsReqParams,
10913 WDI_GetStatsRspCb wdiGetStatsRspCb,
10914 void* pUserData
10915);
10916
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -080010917#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -080010918/**
10919 @brief WDI_GetRoamRssiReq will be called when the upper MAC wants
10920 to get roam rssi from the device. Upon
10921 the call of this API the WLAN DAL will pack and send a
10922 HAL Start request message to the lower RIVA sub-system
10923 if DAL is in state STARTED.
10924
10925 In state BUSY this request will be queued. Request won't
10926 be allowed in any other state.
10927
10928 WDI_Start must have been called.
10929
10930 @param wdiGetRoamRssiReqParams: the stats parameters to get as
10931 specified by the Device Interface
10932
10933 wdiGetRoamRssispCb: callback for passing back the response
10934 of the get stats operation received from the device
10935
10936 pUserData: user data will be passed back with the
10937 callback
10938
10939 @see WDI_Start
10940 @return Result of the function call
10941*/
10942WDI_Status
10943WDI_GetRoamRssiReq
10944(
10945 WDI_GetRoamRssiReqParamsType* pwdiGetRoamRssiReqParams,
10946 WDI_GetRoamRssiRspCb wdiGetRoamRssiRspCb,
10947 void* pUserData
10948);
10949#endif
Jeff Johnson295189b2012-06-20 16:38:30 -070010950
10951/**
10952 @brief WDI_UpdateCfgReq will be called when the upper MAC when
10953 it wishes to change the configuration of the WLAN
10954 Device. Upon the call of this API the WLAN DAL will pack
10955 and send a HAL Update CFG request message to the lower
10956 RIVA sub-system if DAL is in state STARTED.
10957
10958 In state BUSY this request will be queued. Request won't
10959 be allowed in any other state.
10960
10961 WDI_Start must have been called.
10962
10963 @param wdiUpdateCfgReqParams: the update cfg parameters as
10964 specified by the Device Interface
10965
10966 wdiUpdateCfgsRspCb: callback for passing back the
10967 response of the update cfg operation received from the
10968 device
10969
10970 pUserData: user data will be passed back with the
10971 callback
10972
10973 @see WDI_Start
10974 @return Result of the function call
10975*/
10976WDI_Status
10977WDI_UpdateCfgReq
10978(
10979 WDI_UpdateCfgReqParamsType* pwdiUpdateCfgReqParams,
10980 WDI_UpdateCfgRspCb wdiUpdateCfgsRspCb,
10981 void* pUserData
10982);
10983
10984/**
10985 @brief WDI_NvDownloadReq will be called by the UMAC to dowload the NV blob
10986 to the NV memory.
10987
10988 @param wdiNvDownloadReqParams: the NV Download parameters as specified by
10989 the Device Interface
10990
10991 wdiNvDownloadRspCb: callback for passing back the response of
10992 the NV Download operation received from the device
10993
10994 pUserData: user data will be passed back with the
10995 callback
10996
10997 @see WDI_PostAssocReq
10998 @return Result of the function call
10999*/
11000WDI_Status
11001WDI_NvDownloadReq
11002(
11003 WDI_NvDownloadReqParamsType* pwdiNvDownloadReqParams,
11004 WDI_NvDownloadRspCb wdiNvDownloadRspCb,
11005 void* pUserData
11006);
11007/**
11008 @brief WDI_AddBAReq will be called when the upper MAC has setup
11009 successfully a BA session and needs to notify the HW for
11010 the appropriate settings to take place. Upon the call of
11011 this API the WLAN DAL will pack and send a HAL Add BA
11012 request message to the lower RIVA sub-system if DAL is
11013 in state STARTED.
11014
11015 In state BUSY this request will be queued. Request won't
11016 be allowed in any other state.
11017
11018 WDI_PostAssocReq must have been called.
11019
11020 @param wdiAddBAReqParams: the add BA parameters as specified by
11021 the Device Interface
11022
11023 wdiAddBARspCb: callback for passing back the response of
11024 the add BA operation received from the device
11025
11026 pUserData: user data will be passed back with the
11027 callback
11028
11029 @see WDI_PostAssocReq
11030 @return Result of the function call
11031*/
11032WDI_Status
11033WDI_AddBAReq
11034(
11035 WDI_AddBAReqParamsType* pwdiAddBAReqParams,
11036 WDI_AddBARspCb wdiAddBARspCb,
11037 void* pUserData
11038);
11039
11040/**
11041 @brief WDI_TriggerBAReq will be called when the upper MAC has setup
11042 successfully a BA session and needs to notify the HW for
11043 the appropriate settings to take place. Upon the call of
11044 this API the WLAN DAL will pack and send a HAL Add BA
11045 request message to the lower RIVA sub-system if DAL is
11046 in state STARTED.
11047
11048 In state BUSY this request will be queued. Request won't
11049 be allowed in any other state.
11050
11051 WDI_PostAssocReq must have been called.
11052
11053 @param wdiAddBAReqParams: the add BA parameters as specified by
11054 the Device Interface
Abhishek Singhac9abe62016-02-05 18:07:41 +053011055 baReqParamUserDataSize: user data size of wdiAddBAReqParams
Jeff Johnson295189b2012-06-20 16:38:30 -070011056 wdiAddBARspCb: callback for passing back the response of
11057 the add BA operation received from the device
11058
11059 pUserData: user data will be passed back with the
11060 callback
11061
11062 @see WDI_PostAssocReq
11063 @return Result of the function call
11064*/
11065WDI_Status
11066WDI_TriggerBAReq
11067(
11068 WDI_TriggerBAReqParamsType* pwdiTriggerBAReqParams,
Abhishek Singhac9abe62016-02-05 18:07:41 +053011069 wpt_uint8 baReqParamUserDataSize,
Jeff Johnson295189b2012-06-20 16:38:30 -070011070 WDI_TriggerBARspCb wdiTriggerBARspCb,
11071 void* pUserData
11072);
11073
11074
11075/**
11076 @brief WDI_IsHwFrameTxTranslationCapable checks to see if HW
11077 frame xtl is enabled for a particular STA.
11078
11079 WDI_PostAssocReq must have been called.
11080
11081 @param uSTAIdx: STA index
11082
11083 @see WDI_PostAssocReq
11084 @return Result of the function call
11085*/
11086wpt_boolean WDI_IsHwFrameTxTranslationCapable
11087(
11088 wpt_uint8 uSTAIdx
11089);
11090
Katya Nigam6201c3e2014-05-27 17:51:42 +053011091
11092/**
11093 @brief WDI_IsSelfSTA - check if staid is self sta index
11094
11095 @param pWDICtx: pointer to the WLAN DAL context
11096 ucSTAIdx: station index
11097
11098 @return Result of the function call
11099*/
11100
11101wpt_boolean
11102WDI_IsSelfSTA
11103(
11104 void* pWDICtx,
11105 wpt_uint8 ucSTAIdx
11106);
11107
11108
Jeff Johnson295189b2012-06-20 16:38:30 -070011109#ifdef WLAN_FEATURE_VOWIFI_11R
11110/**
11111 @brief WDI_AggrAddTSReq will be called when the upper MAC to inform
11112 the device of a successful add TSpec negotiation for 11r. HW
11113 needs to receive the TSpec Info from the UMAC in order
11114 to configure properly the QoS data traffic. Upon the
11115 call of this API the WLAN DAL will pack and send a HAL
11116 Aggregated Add TS request message to the lower RIVA sub-system if
11117 DAL is in state STARTED.
11118
11119 In state BUSY this request will be queued. Request won't
11120 be allowed in any other state.
11121
11122 WDI_PostAssocReq must have been called.
11123
11124 @param wdiAggrAddTsReqParams: the add TS parameters as specified by
11125 the Device Interface
11126
11127 wdiAggrAddTsRspCb: callback for passing back the response of
11128 the add TS operation received from the device
11129
11130 pUserData: user data will be passed back with the
11131 callback
11132
11133 @see WDI_PostAssocReq
11134 @return Result of the function call
11135*/
11136WDI_Status
11137WDI_AggrAddTSReq
11138(
11139 WDI_AggrAddTSReqParamsType* pwdiAddTsReqParams,
11140 WDI_AggrAddTsRspCb wdiAggrAddTsRspCb,
11141 void* pUserData
11142);
11143#endif /* WLAN_FEATURE_VOWIFI_11R */
11144/**
11145 @brief WDI_STATableInit - Initializes the STA tables.
11146 Allocates the necesary memory.
11147
11148
11149 @param pWDICtx: pointer to the WLAN DAL context
11150
11151 @see
11152 @return Result of the function call
11153*/
11154
11155WDI_Status WDI_StubRunTest
11156(
11157 wpt_uint8 ucTestNo
11158);
11159
Jeff Johnson295189b2012-06-20 16:38:30 -070011160/**
11161 @brief WDI_FTMCommandReq -
11162 Route FTMRequest Command to HAL
11163
11164 @param ftmCommandReq: FTM request command body
11165 @param ftmCommandRspCb: Response CB
11166 @param pUserData: User data will be included with CB
11167
11168 @return Result of the function call
11169*/
11170WDI_Status WDI_FTMCommandReq
11171(
11172 WDI_FTMCommandReqType *ftmCommandReq,
11173 WDI_FTMCommandRspCb ftmCommandRspCb,
11174 void *pUserData
11175);
Jeff Johnson295189b2012-06-20 16:38:30 -070011176
11177/**
11178 @brief WDI_HostResumeReq will be called
11179
11180 In state BUSY this request will be queued. Request won't
11181 be allowed in any other state.
11182
11183
11184 @param pwdiResumeReqParams: as specified by
11185 the Device Interface
11186
11187 wdiResumeReqRspCb: callback for passing back the response of
11188 the Resume Req received from the device
11189
11190 pUserData: user data will be passed back with the
11191 callback
11192
11193 @see WDI_PostAssocReq
11194 @return Result of the function call
11195*/
11196WDI_Status
11197WDI_HostResumeReq
11198(
11199 WDI_ResumeParamsType* pwdiResumeReqParams,
11200 WDI_HostResumeEventRspCb wdiResumeReqRspCb,
11201 void* pUserData
11202);
11203
11204/**
11205 @brief WDI_GetAvailableResCount - Function to get the available resource
11206 for data and managemnt frames.
11207
11208 @param pContext: pointer to the WDI context
11209 @param wdiResPool: type of resource pool requesting
11210 @see
11211 @return Result of the function call
11212*/
11213
11214wpt_uint32 WDI_GetAvailableResCount
11215(
11216 void *pContext,
11217 WDI_ResPoolType wdiResPool
11218);
11219
11220/**
11221 @brief WDI_SetAddSTASelfReq will be called when the
11222 UMAC wanted to add self STA while opening any new session
11223 In state BUSY this request will be queued. Request won't
11224 be allowed in any other state.
11225
11226
11227 @param pwdiAddSTASelfParams: the add self sta parameters as
11228 specified by the Device Interface
11229
11230 pUserData: user data will be passed back with the
11231 callback
11232
11233 @see
11234 @return Result of the function call
11235*/
11236WDI_Status
11237WDI_AddSTASelfReq
11238(
11239 WDI_AddSTASelfReqParamsType* pwdiAddSTASelfReqParams,
11240 WDI_AddSTASelfParamsRspCb wdiAddSTASelfReqParamsRspCb,
11241 void* pUserData
11242);
11243
11244
11245/**
11246 @brief WDI_DelSTASelfReq will be called .
11247
11248 @param WDI_DelSTASelfReqParamsType
11249
11250 WDI_DelSTASelfRspCb: callback for passing back the
11251 response of the del sta self operation received from the
11252 device
11253
11254 pUserData: user data will be passed back with the
11255 callback
11256
11257 @see WDI_PostAssocReq
11258 @return Result of the function call
11259*/
11260WDI_Status
11261WDI_DelSTASelfReq
11262(
11263 WDI_DelSTASelfReqParamsType* pwdiDelStaSelfParams,
11264 WDI_DelSTASelfRspCb wdiDelStaSelfRspCb,
11265 void* pUserData
11266);
11267
11268/**
11269 @brief WDI_HostSuspendInd
11270
11271 Suspend Indication from the upper layer will be sent
11272 down to HAL
11273
11274 @param WDI_SuspendParamsType
11275
11276 @see
11277
11278 @return Status of the request
11279*/
11280WDI_Status
11281WDI_HostSuspendInd
11282(
11283 WDI_SuspendParamsType* pwdiSuspendIndParams
11284);
11285
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -080011286/**
11287 @brief WDI_TrafficStatsInd
11288
11289 Traffic Stats from the upper layer will be sent
11290 down to HAL
11291
11292 @param WDI_TrafficStatsIndType
11293
11294 @see
11295
11296 @return Status of the request
11297*/
11298WDI_Status
11299WDI_TrafficStatsInd
11300(
11301 WDI_TrafficStatsIndType *pWdiTrafficStatsIndParams
11302);
11303
Chet Lanctot186b5732013-03-18 10:26:30 -070011304#ifdef WLAN_FEATURE_11W
11305/**
11306 @brief WDI_ExcludeUnencryptedInd
11307 Register with HAL to receive/drop unencrypted frames
11308
11309 @param WDI_ExcludeUnencryptIndType
11310
11311 @see
11312
11313 @return Status of the request
11314*/
11315WDI_Status
11316WDI_ExcludeUnencryptedInd
11317(
11318 WDI_ExcludeUnencryptIndType *pWdiExcUnencParams
11319);
11320#endif
11321
Yue Mab9c86f42013-08-14 15:59:08 -070011322/**
11323 @brief WDI_AddPeriodicTxPtrnInd
11324
11325 @param WDI_AddPeriodicTxPtrnParamsType
11326
11327 @see
11328
11329 @return Status of the request
11330*/
11331WDI_Status
11332WDI_AddPeriodicTxPtrnInd
11333(
11334 WDI_AddPeriodicTxPtrnParamsType *addPeriodicTxPtrnParams
11335);
11336
11337/**
11338 @brief WDI_DelPeriodicTxPtrnInd
11339
11340 @param WDI_DelPeriodicTxPtrnParamsType
11341
11342 @see
11343
11344 @return Status of the request
11345*/
11346WDI_Status
11347WDI_DelPeriodicTxPtrnInd
11348(
11349 WDI_DelPeriodicTxPtrnParamsType *delPeriodicTxPtrnParams
11350);
11351
Jeff Johnson295189b2012-06-20 16:38:30 -070011352#ifdef FEATURE_WLAN_SCAN_PNO
11353/**
11354 @brief WDI_SetPreferredNetworkList
11355
11356 @param pwdiPNOScanReqParams: the Set PNO as specified
11357 by the Device Interface
11358
11359 wdiPNOScanCb: callback for passing back the response
11360 of the Set PNO operation received from the
11361 device
11362
11363 pUserData: user data will be passed back with the
11364 callback
11365
11366 @see WDI_PostAssocReq
11367 @return Result of the function call
11368*/
11369WDI_Status
11370WDI_SetPreferredNetworkReq
11371(
11372 WDI_PNOScanReqParamsType* pwdiPNOScanReqParams,
11373 WDI_PNOScanCb wdiPNOScanCb,
11374 void* pUserData
11375);
11376
11377/**
11378 @brief WDI_SetRssiFilterReq
11379
11380 @param pwdiRssiFilterReqParams: the Set RSSI Filter as
11381 specified by the Device Interface
11382
11383 wdiRssiFilterCb: callback for passing back the response
11384 of the Set RSSI Filter operation received from the
11385 device
11386
11387 pUserData: user data will be passed back with the
11388 callback
11389
11390 @see WDI_PostAssocReq
11391 @return Result of the function call
11392*/
11393WDI_Status
11394WDI_SetRssiFilterReq
11395(
11396 WDI_SetRssiFilterReqParamsType* pwdiRssiFilterReqParams,
11397 WDI_RssiFilterCb wdiRssiFilterCb,
11398 void* pUserData
11399);
11400
11401/**
11402 @brief WDI_UpdateScanParams
11403
11404 @param pwdiUpdateScanParamsInfoType: the Update Scan Params as specified
11405 by the Device Interface
11406
11407 wdiUpdateScanParamsCb: callback for passing back the response
11408 of the Set PNO operation received from the
11409 device
11410
11411 pUserData: user data will be passed back with the
11412 callback
11413
11414 @see WDI_PostAssocReq
11415 @return Result of the function call
11416*/
11417WDI_Status
11418WDI_UpdateScanParamsReq
11419(
11420 WDI_UpdateScanParamsInfoType* pwdiUpdateScanParamsInfoType,
11421 WDI_UpdateScanParamsCb wdiUpdateScanParamsCb,
11422 void* pUserData
11423);
11424#endif // FEATURE_WLAN_SCAN_PNO
11425
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070011426#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
11427/**
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070011428 @brief WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070011429
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070011430 @param pwdiRoamScanOffloadReqParams: Start Roam Candidate Lookup Req as specified
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070011431 by the Device Interface
11432
11433 wdiRoamOffloadScanCb: callback for passing back the response
11434 of the Start Roam Candidate Lookup operation received from the
11435 device
11436
11437 pUserData: user data will be passed back with the
11438 callback
11439
11440 @return Result of the function call
11441*/
11442WDI_Status
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070011443WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070011444(
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070011445 WDI_RoamScanOffloadReqParamsType *pwdiRoamScanOffloadReqParams,
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070011446 WDI_RoamOffloadScanCb wdiRoamOffloadScancb,
11447 void* pUserData
11448);
Kapil Gupta04ab1992016-06-26 13:36:51 +053011449
11450WDI_Status
11451WDI_PERRoamScanOffloadReq
11452(
11453 WDI_PERRoamOffloadScanInfo *pwdiRoamScanOffloadReqParams,
11454 WDI_PERRoamOffloadScanCb wdiRoamOffloadScancb,
11455 void* pUserData
11456);
11457
11458WDI_Status
11459WDI_PERRoamScanTriggerReq
11460(
11461 WDI_PERRoamTriggerScanInfo *pwdiRoamScanTriggerReqParams,
11462 WDI_PERRoamTriggerScanCb wdiRoamTriggerScancb,
11463 void* pUserData
11464);
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070011465#endif
11466
Jeff Johnson295189b2012-06-20 16:38:30 -070011467/**
11468 @brief WDI_SetTxPerTrackingReq will be called when the upper MAC
11469 wants to set the Tx Per Tracking configurations.
11470 Upon the call of this API the WLAN DAL will pack
11471 and send a HAL Set Tx Per Tracking request message to the
11472 lower RIVA sub-system if DAL is in state STARTED.
11473
11474 In state BUSY this request will be queued. Request won't
11475 be allowed in any other state.
11476
11477 @param wdiSetTxPerTrackingConf: the Set Tx PER Tracking configurations as
11478 specified by the Device Interface
11479
11480 wdiSetTxPerTrackingCb: callback for passing back the
11481 response of the set Tx PER Tracking configurations operation received
11482 from the device
11483
11484 pUserData: user data will be passed back with the
11485 callback
11486
11487 @return Result of the function call
11488*/
11489WDI_Status
11490WDI_SetTxPerTrackingReq
11491(
11492 WDI_SetTxPerTrackingReqParamsType* pwdiSetTxPerTrackingReqParams,
11493 WDI_SetTxPerTrackingRspCb pwdiSetTxPerTrackingRspCb,
11494 void* pUserData
11495);
11496
11497/**
11498 @brief WDI_SetTmLevelReq
11499 If HW Thermal condition changed, driver should react based on new
11500 HW thermal condition.
11501
11502 @param pwdiSetTmLevelReq: New thermal condition information
11503
11504 pwdiSetTmLevelRspCb: callback
11505
11506 usrData: user data will be passed back with the
11507 callback
11508
11509 @return Result of the function call
11510*/
11511WDI_Status
11512WDI_SetTmLevelReq
11513(
11514 WDI_SetTmLevelReqType *pwdiSetTmLevelReq,
11515 WDI_SetTmLevelCb pwdiSetTmLevelRspCb,
11516 void *usrData
11517);
11518
11519#ifdef WLAN_FEATURE_PACKET_FILTERING
11520/**
11521 @brief WDI_8023MulticastListReq
11522
11523 @param pwdiRcvFltPktSetMcListReqInfo: the Set 8023 Multicast
11524 List as specified by the Device Interface
11525
11526 wdi8023MulticastListCallback: callback for passing back
11527 the response of the Set 8023 Multicast List operation
11528 received from the device
11529
11530 pUserData: user data will be passed back with the
11531 callback
11532
11533 @see WDI_PostAssocReq
11534 @return Result of the function call
11535*/
11536WDI_Status
11537WDI_8023MulticastListReq
11538(
11539 WDI_RcvFltPktSetMcListReqParamsType* pwdiRcvFltPktSetMcListReqInfo,
11540 WDI_8023MulticastListCb wdi8023MulticastListCallback,
11541 void* pUserData
11542);
11543
11544/**
11545 @brief WDI_ReceiveFilterSetFilterReq
11546
11547 @param pwdiSetRcvPktFilterReqInfo: the Set Receive Filter as
11548 specified by the Device Interface
11549
11550 wdiReceiveFilterSetFilterReqCallback: callback for
11551 passing back the response of the Set Receive Filter
11552 operation received from the device
11553
11554 pUserData: user data will be passed back with the
11555 callback
11556
11557 @see WDI_PostAssocReq
11558 @return Result of the function call
11559*/
11560WDI_Status
11561WDI_ReceiveFilterSetFilterReq
11562(
11563 WDI_SetRcvPktFilterReqParamsType* pwdiSetRcvPktFilterReqInfo,
11564 WDI_ReceiveFilterSetFilterCb wdiReceiveFilterSetFilterReqCallback,
11565 void* pUserData
11566);
11567
11568/**
11569 @brief WDI_PCFilterMatchCountReq
11570
11571 @param pwdiRcvFltPktMatchCntReqInfo: get D0 PC Filter Match
11572 Count
11573
11574 wdiPCFilterMatchCountCallback: callback for passing back
11575 the response of the D0 PC Filter Match Count operation
11576 received from the device
11577
11578 pUserData: user data will be passed back with the
11579 callback
11580
11581 @see WDI_PostAssocReq
11582 @return Result of the function call
11583*/
11584WDI_Status
11585WDI_FilterMatchCountReq
11586(
11587 WDI_RcvFltPktMatchCntReqParamsType* pwdiRcvFltPktMatchCntReqInfo,
11588 WDI_FilterMatchCountCb wdiFilterMatchCountCallback,
11589 void* pUserData
11590);
11591
11592/**
11593 @brief WDI_ReceiveFilterClearFilterReq
11594
11595 @param pwdiRcvFltPktClearReqInfo: the Clear Filter as
11596 specified by the Device Interface
11597
11598 wdiReceiveFilterClearFilterCallback: callback for
11599 passing back the response of the Clear Filter
11600 operation received from the device
11601
11602 pUserData: user data will be passed back with the
11603 callback
11604
11605 @see WDI_PostAssocReq
11606 @return Result of the function call
11607*/
11608WDI_Status
11609WDI_ReceiveFilterClearFilterReq
11610(
11611 WDI_RcvFltPktClearReqParamsType* pwdiRcvFltPktClearReqInfo,
11612 WDI_ReceiveFilterClearFilterCb wdiReceiveFilterClearFilterCallback,
11613 void* pUserData
11614);
11615#endif // WLAN_FEATURE_PACKET_FILTERING
11616
11617/**
11618 @brief WDI_HALDumpCmdReq
11619 Post HAL DUMP Command Event
11620
11621 @param halDumpCmdReqParams: Hal Dump Command Body
11622 @param halDumpCmdRspCb: callback for passing back the
11623 response
11624 @param pUserData: Client Data
11625
11626 @see
11627 @return Result of the function call
11628*/
11629WDI_Status WDI_HALDumpCmdReq(
11630 WDI_HALDumpCmdReqParamsType *halDumpCmdReqParams,
11631 WDI_HALDumpCmdRspCb halDumpCmdRspCb,
11632 void *pUserData
11633);
11634
11635
11636/**
11637 @brief WDI_SetPowerParamsReq
11638
11639 @param pwdiPowerParamsReqParams: the Set Power Params as
11640 specified by the Device Interface
11641
11642 wdiPowerParamsCb: callback for passing back the response
11643 of the Set Power Params operation received from the
11644 device
11645
11646 pUserData: user data will be passed back with the
11647 callback
11648
11649 @return Result of the function call
11650*/
11651WDI_Status
11652WDI_SetPowerParamsReq
11653(
11654 WDI_SetPowerParamsReqParamsType* pwdiPowerParamsReqParams,
11655 WDI_SetPowerParamsCb wdiPowerParamsCb,
11656 void* pUserData
11657);
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +053011658/**
11659 @brief WDI_dhcpStartInd
11660 Forward the DHCP Start event
11661
11662 @param
11663
11664 wdiDHCPInd: device mode and MAC address is passed
11665
11666 @see
11667 @return Result of the function call
11668*/
11669
11670WDI_Status
11671WDI_dhcpStartInd
11672(
11673 WDI_DHCPInd *wdiDHCPInd
11674);
11675/**
11676 @brief WDI_dhcpStopReq
11677 Forward the DHCP Stop event
11678
11679 @param
11680
11681 wdiDHCPInd: device mode and MAC address is passed
11682
11683 @see
11684 @return Result of the function call
11685*/
11686
11687WDI_Status
11688WDI_dhcpStopInd
11689(
11690 WDI_DHCPInd *wdiDHCPInd
11691);
Jeff Johnson295189b2012-06-20 16:38:30 -070011692
Abhishek Singh00b71972016-01-07 10:51:04 +053011693#ifdef WLAN_FEATURE_RMC
11694WDI_Status
11695WDI_RmcRulerReq
11696(
11697 WDI_RmcRulerReqParams *wdiRmcRulerReqParams,
11698 WDI_RmcRulerRspCb rmcRulerRspCb,
11699 void *usrData
11700);
11701
11702WDI_Status
11703WDI_RmcUpdateInd
11704(
11705 WDI_RmcUpdateIndParams *wdiRmcUpdateIndParams
11706);
11707#endif /* WLAN_FEATURE_RMC */
11708
Chittajit Mitraf5413a42013-10-18 14:20:08 -070011709/**
11710 @brief WDI_RateUpdateInd will be called when the upper MAC
11711 requests the device to update rates.
11712
11713 In state BUSY this request will be queued. Request won't
11714 be allowed in any other state.
11715
11716
11717 @param wdiRateUpdateIndParams
11718
11719
11720 @see WDI_Start
11721 @return Result of the function call
11722*/
11723WDI_Status
11724WDI_RateUpdateInd
11725(
11726 WDI_RateUpdateIndParams *wdiRateUpdateIndParams
11727);
11728
Abhishek Singh00b71972016-01-07 10:51:04 +053011729#ifdef WLAN_FEATURE_RMC
11730/**
11731 @brief WDI_TXFailMonitorStartStopInd
11732 Forward TX monitor start/stop event
11733
11734 @param
11735
11736 WDI_TXFailMonitorInd
11737
11738 @see
11739 @return Result of the function call
11740*/
11741
11742WDI_Status
11743WDI_TXFailMonitorStartStopInd
11744(
11745 WDI_TXFailMonitorInd *wdiTXFailMonitorInd
11746);
11747#endif /* WLAN_FEATURE_RMC */
11748
Jeff Johnson295189b2012-06-20 16:38:30 -070011749#ifdef WLAN_FEATURE_GTK_OFFLOAD
11750/**
11751 @brief WDI_GTKOffloadReq will be called when the upper MAC
11752 wants to set GTK Rekey Counter while in power save. Upon
11753 the call of this API the WLAN DAL will pack and send a
11754 HAL GTK offload request message to the lower RIVA
11755 sub-system if DAL is in state STARTED.
11756
11757 In state BUSY this request will be queued. Request won't
11758 be allowed in any other state.
11759
11760 WDI_PostAssocReq must have been called.
11761
11762 @param pwdiGtkOffloadParams: the GTK offload as specified
11763 by the Device Interface
11764
11765 wdiGtkOffloadCb: callback for passing back the response
11766 of the GTK offload operation received from the device
11767
11768 pUserData: user data will be passed back with the
11769 callback
11770
11771 @see WDI_PostAssocReq
11772 @return Result of the function call
11773*/
11774WDI_Status
11775WDI_GTKOffloadReq
11776(
11777 WDI_GtkOffloadReqMsg* pwdiGtkOffloadReqMsg,
11778 WDI_GtkOffloadCb wdiGtkOffloadCb,
11779 void* pUserData
11780);
11781
11782/**
11783 @brief WDI_GTKOffloadGetInfoReq will be called when the upper
11784 MAC wants to get GTK Rekey Counter while in power save.
11785 Upon the call of this API the WLAN DAL will pack and
11786 send a HAL GTK offload request message to the lower RIVA
11787 sub-system if DAL is in state STARTED.
11788
11789 In state BUSY this request will be queued. Request won't
11790 be allowed in any other state.
11791
11792 WDI_PostAssocReq must have been called.
11793
11794 @param pwdiGtkOffloadGetInfoReqMsg: the GTK Offload
11795 Information Message as specified by the
11796 Device Interface
11797
11798 wdiGtkOffloadGetInfoCb: callback for passing back the
11799 response of the GTK offload operation received from the
11800 device
11801
11802 pUserData: user data will be passed back with the
11803 callback
11804
11805 @see WDI_PostAssocReq
11806 @return Result of the function call
11807*/
11808WDI_Status
11809WDI_GTKOffloadGetInfoReq
11810(
11811 WDI_GtkOffloadGetInfoReqMsg* pwdiGtkOffloadGetInfoReqMsg,
11812 WDI_GtkOffloadGetInfoCb wdiGtkOffloadGetInfoCb,
11813 void* pUserData
11814);
11815#endif // WLAN_FEATURE_GTK_OFFLOAD
11816
11817/**
11818 @brief WDI_featureCapsExchangeReq
11819 Post feature capability bitmap exchange event.
11820 Host will send its own capability to FW in this req and
11821 expect FW to send its capability back as a bitmap in Response
11822
11823 @param
11824
11825 wdiFeatCapsExcRspCb: callback called on getting the response.
11826 It is kept to mantain similarity between WDI reqs and if needed, can
11827 be used in future. Currently, It is set to NULL
11828
11829 pUserData: user data will be passed back with the
11830 callback
11831
11832 @see
11833 @return Result of the function call
11834*/
11835WDI_Status
11836WDI_featureCapsExchangeReq
11837(
11838 WDI_featureCapsExchangeCb wdiFeatureCapsExchangeCb,
11839 void* pUserData
11840);
11841
11842/**
Yathish9f22e662012-12-10 14:21:35 -080011843 @brief Disable Active mode offload in Host
11844
11845 @param void
11846 @see
11847 @return void
11848*/
11849void
11850WDI_disableCapablityFeature(wpt_uint8 feature_index);
11851
11852
11853/**
Jeff Johnson295189b2012-06-20 16:38:30 -070011854 @brief WDI_getHostWlanFeatCaps
11855 WDI API that returns whether the feature passed to it as enum value in
11856 "placeHolderInCapBitmap" is supported by Host or not. It uses WDI global
11857 variable storing host capability bitmap to find this. This can be used by
11858 other moduels to decide certain things like call different APIs based on
11859 whether a particular feature is supported.
11860
11861 @param
11862
11863 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap in wlan_hal_msg.h.
11864
11865 @see
11866 @return
11867 0 - if the feature is NOT supported in host
11868 any non-zero value - if the feature is SUPPORTED in host.
11869*/
11870wpt_uint8 WDI_getHostWlanFeatCaps(wpt_uint8 feat_enum_value);
11871
11872/**
11873 @brief WDI_getFwWlanFeatCaps
11874 WDI API that returns whether the feature passed to it as enum value in
11875 "placeHolderInCapBitmap" is supported by FW or not. It uses WDI global
11876 variable storing host capability bitmap to find this. This can be used by
11877 other moduels to decide certain things like call different APIs based on
11878 whether a particular feature is supported.
11879
11880 @param
11881
Jeff Johnsone7245742012-09-05 17:12:55 -070011882 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap
11883 in wlan_hal_msg.h.
Jeff Johnson295189b2012-06-20 16:38:30 -070011884
11885 @see
11886 @return
11887 0 - if the feature is NOT supported in FW
11888 any non-zero value - if the feature is SUPPORTED in FW.
11889*/
11890wpt_uint8 WDI_getFwWlanFeatCaps(wpt_uint8 feat_enum_value);
11891
11892/**
11893 @brief WDI_GetWcnssCompiledApiVersion - Function to get wcnss compiled
11894 api version
11895
11896 @param WDI_WlanVersionType: Wlan version structure
11897 @see
11898 @return none
11899*/
11900
11901void WDI_GetWcnssCompiledApiVersion
11902(
11903 WDI_WlanVersionType *pWcnssApiVersion
11904);
11905
Mohit Khanna4a70d262012-09-11 16:30:12 -070011906#ifdef WLAN_FEATURE_11AC
11907WDI_Status
11908WDI_UpdateVHTOpModeReq
11909(
11910 WDI_UpdateVHTOpMode *pData,
11911 WDI_UpdateVHTOpModeCb wdiUpdateVHTOpModeCb,
11912 void* pUserData
11913);
Jeff Johnson295189b2012-06-20 16:38:30 -070011914
Mohit Khanna4a70d262012-09-11 16:30:12 -070011915#endif
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070011916
11917/**
11918 @brief WDI_TransportChannelDebug -
11919 Display DXE Channel debugging information
11920 User may request to display DXE channel snapshot
11921 Or if host driver detects any abnormal stcuk may display
11922
Jeff Johnsonb88db982012-12-10 13:34:59 -080011923 @param displaySnapshot : Display DXE snapshot option
Mihir Shete40a55652014-03-02 14:14:47 +053011924 @param debugFlags : Enable stall detect features
11925 defined by WPAL_DeviceDebugFlags
11926 These features may effect
11927 data performance.
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070011928 @see
11929 @return none
11930*/
11931void WDI_TransportChannelDebug
11932(
11933 wpt_boolean displaySnapshot,
Mihir Shete40a55652014-03-02 14:14:47 +053011934 wpt_uint8 debugFlags
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070011935);
11936
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -070011937/**
Sravan Kumar Kairame9d186c2015-11-27 23:37:02 +053011938 @brief WDI_TransportKickDxe -
11939 Request Kick DXE when first HDD TX time out
11940 happens
11941 @param none
11942 @see
11943 @return none
11944*/
11945void WDI_TransportKickDxe(void);
11946
11947/**
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -070011948 @brief WDI_SsrTimerCB
11949 Callback function for SSR timer, if this is called then the graceful
11950 shutdown for Riva did not happen.
11951
11952 @param pUserData : user data to timer
11953
11954 @see
11955 @return none
11956*/
11957void
11958WDI_SsrTimerCB
11959(
11960 void *pUserData
11961);
11962
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -070011963/**
11964 @brief WDI_SetEnableSSR -
11965 This API is called to enable/disable SSR on WDI timeout.
11966
11967 @param enableSSR : enable/disable SSR
11968
11969 @see
11970 @return none
11971*/
11972void WDI_SetEnableSSR(wpt_boolean enableSSR);
11973
Leo Chang9056f462013-08-01 19:21:11 -070011974#ifdef FEATURE_WLAN_LPHB
11975/**
11976 @brief WDI_LPHBConfReq
11977 This API is called to config FW LPHB rule
11978
11979 @param lphbconfParam : LPHB rule should config to FW
11980 usrData : Client context
11981 lphbCfgCb : Configuration status callback
11982 @see
11983 @return SUCCESS or FAIL
11984*/
11985WDI_Status WDI_LPHBConfReq
11986(
11987 void *lphbconfParam,
11988 void *usrData,
11989 WDI_LphbCfgCb lphbCfgCb
11990);
11991#endif /* FEATURE_WLAN_LPHB */
Rajeev79dbe4c2013-10-05 11:03:42 +053011992
Dino Mycle41bdc942014-06-10 11:30:24 +053011993#ifdef WLAN_FEATURE_EXTSCAN
11994/**
11995 @brief WDI_EXTScanStartReq
11996 This API is called to send EXTScan start request to FW
11997
11998 @param pwdiEXTScanStartReqParams : pointer to the request params.
11999 wdiEXTScanStartRspCb : callback on getting the response.
12000 usrData : Client context
12001 @see
12002 @return SUCCESS or FAIL
12003*/
12004WDI_Status WDI_EXTScanStartReq
12005(
12006 WDI_EXTScanStartReqParams* pwdiEXTScanStartReqParams,
12007 WDI_EXTScanStartRspCb wdiEXTScanStartRspCb,
12008 void* pUserData
12009);
12010
12011/**
12012 @brief WDI_EXTScanStopReq
12013 This API is called to stop the EXTScan operations in the FW
12014
12015 @param pwdiEXTScanStopReqParams : pointer to the request params.
12016 wdiEXTScanStopRspCb : callback on getting the response.
12017 usrData : Client context
12018 @see
12019 @return SUCCESS or FAIL
12020*/
12021WDI_Status WDI_EXTScanStopReq
12022(
12023 WDI_EXTScanStopReqParams* pwdiEXTScanStopReqParams,
12024 WDI_EXTScanStopRspCb wdiEXTScanStopRspCb,
12025 void* pUserData
12026);
12027
12028/**
12029 @brief WDI_EXTScanGetCachedResultsReq
12030 This API is called to send get link layer stats request in FW
12031
12032 @param pwdiEXTScanGetCachedResultsReqParams : pointer to the request params.
12033 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
12034 usrData : Client context
12035 @see
12036 @return SUCCESS or FAIL
12037*/
12038WDI_Status WDI_EXTScanGetCachedResultsReq
12039(
12040 WDI_EXTScanGetCachedResultsReqParams* pwdiEXTScanGetCachedResultsReqParams,
12041 WDI_EXTScanGetCachedResultsRspCb wdiEXTScanGetCachedResultsRspCb,
12042 void* pUserData
12043);
12044
12045/**
12046 @brief WDI_EXTScanGetCapabilitiesReq
12047 This API is called to send get EXTScan capabilities from FW
12048
12049 @param pwdiEXTScanGetCachedResultsReqParams : pointer to the request params.
12050 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
12051 usrData : Client context
12052 @see
12053 @return SUCCESS or FAIL
12054*/
12055WDI_Status WDI_EXTScanGetCapabilitiesReq
12056(
12057 WDI_EXTScanGetCapabilitiesReqParams* pwdiEXTScanGetCapabilitiesReqParams,
12058 WDI_EXTScanGetCapabilitiesRspCb wdiEXTScanGetCapabilitiesRspCb,
12059 void* pUserData
12060);
12061
12062/**
12063 @brief WDI_EXTScanSetBSSIDHotlistReq
12064 This API is called to send Set BSSID Hotlist Request FW
12065
12066 @param pwdiEXTScanSetBssidHotlistReqParams : pointer to the request params.
12067 wdiEXTScanSetBSSIDHotlistRspCb : callback on getting the response.
12068 usrData : Client context
12069 @see
12070 @return SUCCESS or FAIL
12071*/
12072WDI_Status WDI_EXTScanSetBSSIDHotlistReq
12073(
12074 WDI_EXTScanSetBSSIDHotlistReqParams* pwdiEXTScanSetBSSIDHotlistReqParams,
12075 WDI_EXTScanSetBSSIDHotlistRspCb wdiEXTScanSetBSSIDHotlistRspCb,
12076 void* pUserData
12077);
12078
12079/**
12080 @brief WDI_EXTScanResetBSSIDHotlistReq
12081 This API is called to send Reset BSSID Hotlist Request FW
12082
12083 @param pwdiEXTScanResetBssidHotlistReqParams : pointer to the request params.
12084 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
12085 usrData : Client context
12086 @see
12087 @return SUCCESS or FAIL
12088*/
12089WDI_Status WDI_EXTScanResetBSSIDHotlistReq
12090(
12091 WDI_EXTScanResetBSSIDHotlistReqParams* pwdiEXTScanResetBSSIDHotlistReqParams,
12092 WDI_EXTScanResetBSSIDHotlistRspCb wdiEXTScanResetBSSIDHotlistRspCb,
12093 void* pUserData
12094);
Padma, Santhosh Kumar9acee012015-08-21 19:58:01 +053012095
12096/**
Padma, Santhosh Kumarc1f7f052015-08-26 12:29:01 +053012097 @brief WDI_HighPriorityDataInfoInd
12098
12099 @param pHighPriorityDataInfoIndParams: Req parameter for the FW
12100
12101 @return SUCCESS or FAIL
12102*/
12103WDI_Status
12104WDI_HighPriorityDataInfoInd
12105(
12106 WDI_HighPriorityDataInfoIndParams* pHighPriorityDataInfoIndParams
12107);
12108
Dino Mycle41bdc942014-06-10 11:30:24 +053012109#endif /* WLAN_FEATURE_EXTSCAN */
12110
Sunil Duttbd736ed2014-05-26 21:19:41 +053012111#ifdef WLAN_FEATURE_LINK_LAYER_STATS
12112/**
12113 @brief WDI_LLStatsSetReq
12114 This API is called to send set link layer stats request to FW
12115
12116 @param pwdiLLStatsSetReqParams : pointer to set link layer stats params
12117 wdiLLStatsSetRspCb : set link layer stats response callback
12118 usrData : Client context
12119 @see
12120 @return SUCCESS or FAIL
12121*/
12122WDI_Status WDI_LLStatsSetReq
12123(
12124 WDI_LLStatsSetReqType* pwdiLLStatsSetReqParams,
12125 WDI_LLStatsSetRspCb wdiLLStatsSetRspCb,
12126 void* pUserData
12127);
12128
12129/**
12130 @brief WDI_LLStatsGetReq
12131 This API is called to send get link layer stats request in FW
12132
12133 @param pwdiLLStatsGetParams : pointer to get link layer stats params
12134 wdiLLStatsGetRspCb : get link layer stats response callback
12135 usrData : Client context
12136 @see
12137 @return SUCCESS or FAIL
12138*/
12139WDI_Status WDI_LLStatsGetReq
12140(
12141 WDI_LLStatsGetReqType* pwdiLLStatsGetReqParams,
12142 WDI_LLStatsGetRspCb wdiLLStatsGetRspCb,
12143 void* pUserData
12144);
12145
12146/**
12147 @brief WDI_LLStatsClearReq
12148 This API is called to set clear link layer stats request in FW
12149
12150 @param pwdiLLStatsClearReqParams : pointer to clear link layer stats params
12151 iwdiLLStatsClearRspCb : clear link layer stats response callback
12152 usrData : Client context
12153 @see
12154 @return SUCCESS or FAIL
12155*/
12156WDI_Status WDI_LLStatsClearReq
12157(
12158 WDI_LLStatsClearReqType* pwdiLLStatsClearReqParams,
12159 WDI_LLStatsClearRspCb wdiLLStatsClearRspCb,
12160 void* pUserData
12161);
12162#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
12163
Abhishek Singh85b74712014-10-08 11:38:19 +053012164WDI_Status WDI_FWStatsGetReq
12165(
12166 void* pwdiFWStatsGetReqParams,
12167 WDI_FWStatsGetRspCb wdiFWStatsGetRspCb,
12168 wpt_uint32 pUserData
12169);
12170
Katya Nigamf0511f62015-05-05 16:40:57 +053012171WDI_Status WDI_MonStartReq
12172(
12173 WDI_MonStartReqType* pwdiMonStartReqParams,
Hanumantha Reddy Pothula91cdd7f2015-09-03 21:25:16 +053012174 WDI_MonModeRspCb wdiMonModeRspCb,
Katya Nigamf0511f62015-05-05 16:40:57 +053012175 void* pUserData
12176);
12177
12178WDI_Status WDI_MonStopReq
12179(
Hanumantha Reddy Pothula91cdd7f2015-09-03 21:25:16 +053012180 WDI_MonModeRspCb wdiMonModeRspCb,
Katya Nigamf0511f62015-05-05 16:40:57 +053012181 void* pUserData
12182);
12183
Rajeev79dbe4c2013-10-05 11:03:42 +053012184#ifdef FEATURE_WLAN_BATCH_SCAN
12185/**
12186 @brief WDI_SetBatchScanReq
12187 This API is called to set batch scan request in FW
12188
12189 @param pBatchScanReqParam : pointer to set batch scan re param
12190 usrData : Client context
12191 setBatchScanRspCb : set batch scan resp callback
12192 @see
12193 @return SUCCESS or FAIL
12194*/
12195WDI_Status WDI_SetBatchScanReq
12196(
12197 void *pBatchScanReqParam,
12198 void *usrData,
12199 WDI_SetBatchScanCb setBatchScanRspCb
12200);
12201
12202/**
12203 @brief WDI_StopBatchScanInd
12204
12205 @param none
12206
12207 @see
12208
12209 @return Status of the request
12210*/
12211WDI_Status
12212WDI_StopBatchScanInd(WDI_StopBatchScanIndType *pWdiReq);
12213
12214/**
12215 @brief WDI_TriggerBatchScanResultInd
12216 This API is called to pull batch scan result from FW
12217
12218 @param pBatchScanReqParam : pointer to trigger batch scan ind param
12219 usrData : Client context
12220 setBatchScanRspCb : get batch scan resp callback
12221 @see
12222 @return SUCCESS or FAIL
12223*/
12224WDI_Status
12225WDI_TriggerBatchScanResultInd(WDI_TriggerBatchScanResultIndType *pWdiReq);
12226
12227
12228#endif /*FEATURE_WLAN_BATCH_SCAN*/
12229
Abhishek Singh00b71972016-01-07 10:51:04 +053012230#ifdef WLAN_FEATURE_RMC
12231/**
12232 @brief Process peer info req
12233
12234 @param pWDICtx: pointer to the WLAN DAL context
12235 pEventData: pointer to the event information structure
12236
12237 @see
12238 @return Result of the function call
12239*/
12240
12241WDI_Status
12242WDI_IbssPeerInfoReq
12243(
12244 WDI_IbssPeerInfoReqType* wdiPeerInfoReqParams,
12245 WDI_IbssPeerInfoReqCb wdiIbssPeerInfoReqCb,
12246 void* pUserData
12247);
12248#endif /* WLAN_FEATURE_RMC */
12249
Sandeep Puligilla8b8b74b2014-02-10 16:39:05 +053012250/**
12251 @brief wdi_HT40OBSSScanInd
12252 This API is called to start OBSS scan
12253
12254 @param pWdiReq : pointer to get ind param
12255 @see
12256 @return SUCCESS or FAIL
12257*/
12258
12259WDI_Status WDI_HT40OBSSScanInd(WDI_HT40ObssScanParamsType *pWdiReq);
12260
12261/**
12262 @brief wdi_HT40OBSSStopScanInd
12263 This API is called to stop OBSS scan
12264
12265 @param bssIdx : bssIdx to stop
12266 @see
12267 @return SUCCESS or FAIL
12268*/
12269
12270WDI_Status WDI_HT40OBSSStopScanInd(wpt_uint8 bssIdx);
12271
c_hpothu92367912014-05-01 15:18:17 +053012272
12273WDI_Status WDI_GetBcnMissRate( void *pUserData,
12274 WDI_GetBcnMissRateCb wdiGetBcnMissRateCb,
12275 wpt_uint8 *bssid
12276 );
Siddharth Bhal171788a2014-09-29 21:02:40 +053012277WDI_Status
12278WDI_SetSpoofMacAddrReq
12279(
12280WDI_SpoofMacAddrInfoType *pWdiReq,
12281 WDI_SetSpoofMacAddrRspCb setSpoofMacAddrRspCb,
12282 void* pUserData
12283);
c_hpothu92367912014-05-01 15:18:17 +053012284
Srinivas Dasari4dae48f2014-11-26 21:14:16 +053012285WDI_Status
12286WDI_EncryptMsgReq(void* pwdiEncryptMsgParams,
12287 WDI_EncryptMsgRspCb wdiEncryptMsgCbRsp,
12288 void* pUserData
12289 );
Srinivas Dasari32a79262015-02-19 13:04:49 +053012290
c_manjeecfd1efb2015-09-25 19:32:34 +053012291WDI_Status
12292WDI_FwrMemDumpReq
12293
12294(
12295 WDI_FwrMemDumpReqType *pwdiFwrMemDumpReqInfo,
12296 WDI_FwrMemDumpCb wdiFwrMemDumpRspCb,
12297 void* pUserData
12298);
12299
12300
Srinivas Dasari32a79262015-02-19 13:04:49 +053012301/**
12302 @brief WDI_NanRequest
12303 NAN request
12304
12305 @param pwdiNanRequest: data
12306
12307 pwdiNanCb: callback
12308
12309 usrData: user data will be passed back with the
12310 callback
12311
12312 @return Result of the function call
12313*/
12314WDI_Status
12315WDI_NanRequest
12316(
12317 WDI_NanRequestType *pwdiNanRequest,
12318 void *usrData
12319);
12320
Abhishek Singh41988ba2015-05-25 19:42:29 +053012321/**
Ajit Vaishya4b922072020-04-18 19:17:39 +053012322 @brief WDI_BlackListReq
12323 BlackList request
12324
12325 @param pwdiBlackListReq: data
12326
12327 usrData: user data will be passed back with the
12328 callback
12329
12330 @return Result of the function call
12331*/
12332WDI_Status
12333WDI_BlackListReq
12334(
12335 WDI_BlackListReqType *pwdiBlackListReq,
12336 void *usrData
12337);
12338/**
Abhishek Singh41988ba2015-05-25 19:42:29 +053012339 @brief WDI_SetRtsCtsHTVhtInd
12340 Set RTS/CTS indication for diff modes.
12341
12342 @param rtsCtsVal: Bit mask value to enable RTS/CTS for different modes
12343
12344 @return Result of the function call
12345*/
12346
12347WDI_Status
12348WDI_SetRtsCtsHTVhtInd
12349(
12350 wpt_uint32 rtsCtsVal
12351);
Srinivas Dasari32a79262015-02-19 13:04:49 +053012352
Sourav Mohapatra2416e0e2018-03-05 18:44:21 +053012353/**
12354 * WDI_set_vowifi_mode_ind() - Set VOWIFI mode request
12355 *
12356 * @enable - boolean value that determines the state
12357 *
12358 * Return: success if the value is sent
12359 */
12360WDI_Status WDI_set_vowifi_mode_ind(wpt_boolean enable);
12361
Ashish Kumar Dhanotiyaf59c7762018-04-10 17:54:25 +053012362/**
12363 * WDI_set_qpower() - Set qpower mode request
12364 *
12365 * @enable - uint8_t value that needs to be send
12366 *
12367 * Return: success if the value is sent
12368 */
12369WDI_Status WDI_set_qpower(uint8_t enable);
12370
Sourav Mohapatra9d963282018-02-08 20:03:05 +053012371/*
12372 * WDI_set_low_power_mode_req() - Set OLPC (low power) mode request
12373 *
12374 * @enable - boolean value that determins the state
12375 *
12376 * Return: success if the value is sent
12377 */
12378WDI_Status WDI_set_low_power_mode_req(wpt_boolean enable);
Ashish Kumar Dhanotiyaf59c7762018-04-10 17:54:25 +053012379
Mihir Shete5affadc2015-05-29 20:54:57 +053012380WDI_Status
12381WDI_FWLoggingDXEdoneInd
12382(
Hanumantha Reddy Pothulae00a7e22015-09-15 20:11:30 +053012383 wpt_uint32 logType
Mihir Shete5affadc2015-05-29 20:54:57 +053012384);
Srinivas Dasari32a79262015-02-19 13:04:49 +053012385
Mahesh A Saptasagarbeca12c2015-09-07 16:21:06 +053012386/**
12387 @brief WDI_EnableDisableCAEventInd
12388 Enable/Disable Chan Avoidance indication
12389
12390 @param val: Enable/Disable Chan Avoidance indication
12391
12392 @return Result of the function call
12393*/
12394
12395WDI_Status
12396WDI_EnableDisableCAEventInd
12397(
12398wpt_uint32 val
12399);
12400
Padma, Santhosh Kumar2ccac212015-10-20 17:27:27 +053012401#ifdef FEATURE_OEM_DATA_SUPPORT
12402
12403/**
12404 @brief WDI_HighPriorityDataInfoInd
12405
12406 @param pHighPriorityDataInfoIndParams: Req parameter for the FW
12407
12408 @return SUCCESS or FAIL
12409*/
12410WDI_Status
12411WDI_StartOemDataReqIndNew
12412(
12413 WDI_OemDataReqNewConfig *pOemDataReqNewConfig
12414);
12415#endif
12416
Jeff Johnson295189b2012-06-20 16:38:30 -070012417#ifdef __cplusplus
12418 }
12419#endif
12420
Arun Khandavalli7eeb1592015-10-19 21:36:57 +053012421/**
12422 @brief WDI_WifiConfigSetReq
12423 This API is called to send WifiConfig request to FW
12424
12425 @param pwdiWifConfigSetReqParams : pointer to wificonfig params
12426 wdiLLStatsSetRspCb : set wificonfig response callback
12427 usrData : Client context
12428 @see
12429 @return SUCCESS or FAIL
12430*/
12431WDI_Status
12432WDI_WifiConfigSetReq
12433 (WDI_WifiConfigSetReqType* pwdiWifConfigSetReqParams,
12434 WDI_WifiConfigSetRspCb wdiWifiConfigSetRspCb,
12435 void* pUserData);
12436
Mahesh A Saptasagarcfc65ae2015-12-22 15:06:10 +053012437/**
12438 @brief WDI_GetCurrentAntennaIndex
12439 This API is called to send getCurretAntennaIndex request to FW
12440
12441 @param pUserData: pointer to request params
12442 wdiLLStatsSetRspCb : set wificonfig response callback
12443 reserved: request parameter
12444 @see
12445 @return SUCCESS or FAIL
12446*/
12447WDI_Status
12448WDI_GetCurrentAntennaIndex
12449(
12450 void *pUserData,
12451 WDI_AntennaDivSelRspCb wdiAntennaDivSelRspCb,
12452 wpt_uint32 reserved
12453);
12454
Mahesh A Saptasagar7d432952016-02-09 14:01:03 +053012455/**
12456 @brief WDI_SetBcnMissPenaltyCount
12457 This API is called to send modified roam parameters to FW
Mahesh A Saptasagarcfc65ae2015-12-22 15:06:10 +053012458
Mahesh A Saptasagar7d432952016-02-09 14:01:03 +053012459 @param params: pointer to request params
12460 @see
12461 @return SUCCESS or FAIL
12462*/
12463WDI_Status
12464WDI_SetBcnMissPenaltyCount
12465(
12466 WDI_ModifyRoamParamsReqType *params
12467);
Agrawal Ashish0552be02016-03-02 18:03:43 +053012468
Selvaraj, Sridharc045b8b2016-04-06 12:22:35 +053012469/**
12470 * WDI_SetAllowedActionFramesInd - This API is called to send Allowed
12471 * Action frame details to FW
12472 * @allowed_action_frames: Pointer to WDI_AllowedActionFramesInd structure
12473 * which holds bitmask of allowed action frames
12474 *
12475 */
12476WDI_Status
12477WDI_SetAllowedActionFramesInd(
12478 struct WDI_AllowedActionFramesInd *allowed_action_frames
12479);
12480
Agrawal Ashish0552be02016-03-02 18:03:43 +053012481void WDI_SetMgmtPktViaWQ5(wpt_boolean sendMgmtPktViaWQ5);
Anurag Chouhan6ee81542017-02-09 18:09:27 +053012482
12483/* ARP DEBUG STATS */
12484typedef struct
12485{
12486 wpt_uint8 flag;
12487 wpt_uint8 pkt_type;
12488 wpt_uint32 ip_addr;
12489} WDI_SetARPStatsParamsInfoType;
12490
12491typedef struct
12492{
12493 wpt_uint32 status;
12494} WDI_SetARPStatsRspParamsType;
12495
12496typedef void (*WDI_SetARPStatsRspCb)(WDI_SetARPStatsRspParamsType* StatsRsp,
12497 void* pUserData);
12498
12499WDI_Status
12500WDI_SetARPStatsReq
12501(
12502 WDI_SetARPStatsParamsInfoType *pwdiSetStatsReqParams,
12503 WDI_SetARPStatsRspCb wdiSetARPStatsRspCb,
12504 void* pUserData
12505);
12506
12507/* ARP DEBUG STATS */
12508typedef struct
12509{
12510 wpt_uint8 pkt_type;
12511} WDI_GetARPStatsParamsInfoType;
12512
12513typedef struct
12514{
12515 wpt_uint32 status;
12516 wpt_uint16 dad;
12517 wpt_uint16 tx_fw_cnt;
12518 wpt_uint16 rx_fw_cnt;
12519 wpt_uint16 tx_ack_cnt;
12520} WDI_GetARPStatsRspParamsType;
12521
12522typedef void (*WDI_GetARPStatsRspCb)(WDI_GetARPStatsRspParamsType* StatsRsp,
12523 void* pUserData);
12524
12525WDI_Status
12526WDI_GetARPStatsReq
12527(
12528 WDI_GetARPStatsParamsInfoType *pwdiGetStatsReqParams,
12529 WDI_GetARPStatsRspCb wdiGetARPStatsRspCb,
12530 void* pUserData
12531);
12532
Agrawal Ashish17ef5082016-10-17 18:33:21 +053012533WDI_Status
12534WDI_process_sap_auth_offload(
12535 struct WDI_sap_ofl_enable_params *sap_ofl_enable_cmd
12536);
Kapil Gupta3d923fb2016-12-20 18:59:27 +053012537#ifdef WLAN_FEATURE_APFIND
12538WDI_Status WDI_process_ap_find_cmd(struct WDI_APFind_cmd *params);
12539#endif
Anurag Chouhan83026002016-12-13 22:46:21 +053012540#ifdef DHCP_SERVER_OFFLOAD
12541WDI_Status
12542wdi_process_dhcpserver_offload_req
12543(
12544 wdi_set_dhcp_server_offload_t *dhcp_info,
12545 wdi_dhcp_srv_offload_rsp_cb wdi_dhcp_srv_offload_rsp_callback,
12546 void *user_data
12547);
12548#endif /* DHCP_SERVER_OFFLOAD */
12549
Anurag Chouhan0b29de02016-12-16 13:18:40 +053012550#ifdef MDNS_OFFLOAD
12551WDI_Status
12552wdi_set_mdns_offload_req
12553(
12554 wdi_mdns_enable_offload_cmd_req *mdns_info,
12555 wdi_mdns_enable_rsp_cb wdi_mdns_enable_rsp_callback,
12556 void *user_data
12557);
12558
12559WDI_Status
12560wdi_set_mdns_fqdn_req
12561(
12562 wdi_mdns_set_fqdn_cmd_req *mdns_info,
12563 wdi_mdns_fqdn_rsp_cb wdi_mdns_fqdn_rsp_callback,
12564 void *user_data
12565);
12566
12567WDI_Status
12568wdi_set_mdns_response_req
12569(
12570 wdi_mdns_set_resp_req *mdns_info,
12571 wdi_mdns_resp_rsp_cb wdi_mdns_resp_rsp_callback,
12572 void *user_data
12573);
12574
12575WDI_Status
12576wdi_get_mdns_stats_req
12577(
12578 wdi_mdns_get_stats_req *mdns_info,
12579 wdi_get_stats_rsp_cb wdi_get_stats_rsp_callback,
12580 void *user_data
12581);
12582#endif /* MDNS_OFFLOAD */
12583
Manjeet Singh3ed79242017-01-11 19:04:32 +053012584WDI_Status
12585wdi_process_cap_tsf_req (wdi_cap_tsf_params_t *wdi_cap_tsf_req,
12586 wdi_tsf_rsp_cb wdi_tsf_rsp_callback,
12587 void *user_data);
12588
12589WDI_Status
12590wdi_process_get_tsf_req (wdi_cap_tsf_params_t *wdi_get_tsf_req,
12591 wdi_tsf_rsp_cb wdi_tsf_rsp_callback,
12592 void *user_data);
12593
Dundi Ravitejaa7b31992020-09-15 23:37:55 +053012594#ifdef FEATURE_WLAN_SW_PTA
12595typedef void (*WDI_sw_pta_resp_cb)(uint8_t status, void *user_data);
Manjeet Singh3ed79242017-01-11 19:04:32 +053012596
Dundi Ravitejaa7b31992020-09-15 23:37:55 +053012597/**
12598 * @WDI_sw_pta_req - SW PTA request
12599 *
12600 * @wdi_sw_pta_resp_cb: WDI sw pta response callback
12601 * @wdi_sw_pta_req: sw pta request params
12602 * @user_data: user data
12603 *
12604 * @Return: WDI_Status
12605 */
12606WDI_Status
12607WDI_sw_pta_req(WDI_sw_pta_resp_cb wdi_sw_pta_resp_cb,
12608 struct wdi_sw_pta_req *wdi_sw_pta_req,
12609 void *user_data);
12610#endif /* FEATURE_WLAN_SW_PTA */
Jeff Johnson295189b2012-06-20 16:38:30 -070012611#endif /* #ifndef WLAN_QCT_WDI_H */