blob: c1d9ac108d608e4ec7d7c0f732af9294711d1329 [file] [log] [blame]
Jeff Johnson295189b2012-06-20 16:38:30 -07001/*
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05302 * Copyright (c) 2012-2015 The Linux Foundation. All rights reserved.
Kiet Lam1ed83fc2014-02-19 01:15:45 -08003 *
4 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
5 *
6 *
7 * Permission to use, copy, modify, and/or distribute this software for
8 * any purpose with or without fee is hereby granted, provided that the
9 * above copyright notice and this permission notice appear in all
10 * copies.
11 *
12 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
13 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
14 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
15 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
16 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
17 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
18 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19 * PERFORMANCE OF THIS SOFTWARE.
20 */
21
22/*
Kiet Lama7f454d2014-07-24 12:04:06 -070023 * This file was originally distributed by Qualcomm Atheros, Inc.
24 * under proprietary terms before Copyright ownership was assigned
25 * to the Linux Foundation.
Kiet Lam1ed83fc2014-02-19 01:15:45 -080026 */
27
Jeff Johnson295189b2012-06-20 16:38:30 -070028
Kiet Lama7f454d2014-07-24 12:04:06 -070029
30
Jeff Johnson295189b2012-06-20 16:38:30 -070031#ifndef WLAN_QCT_WDI_H
32#define WLAN_QCT_WDI_H
33
34/*===========================================================================
35
36 W L A N D E V I C E A B S T R A C T I O N L A Y E R
37 E X T E R N A L A P I
38
39
40DESCRIPTION
41 This file contains the external API exposed by the wlan transport layer
42 module.
43
44
Jeff Johnson295189b2012-06-20 16:38:30 -070045===========================================================================*/
46
47
48/*===========================================================================
49
50 EDIT HISTORY FOR FILE
51
52
53 This section contains comments describing changes made to the module.
54 Notice that changes are listed in reverse chronological order.
55
56
57 $Header:$ $DateTime: $ $Author: $
58
59
60when who what, where, why
61-------- --- ----------------------------------------------------------
6210/05/11 hap Adding support for Keep Alive
6308/04/10 lti Created module.
64
65===========================================================================*/
66
67
68
69/*===========================================================================
70
71 INCLUDE FILES FOR MODULE
72
73===========================================================================*/
74
75/*----------------------------------------------------------------------------
76 * Include Files
77 * -------------------------------------------------------------------------*/
78#include "wlan_qct_pal_api.h"
79#include "wlan_qct_pal_type.h"
80#include "wlan_qct_pack_align.h"
81#include "wlan_qct_wdi_cfg.h"
82
83/*----------------------------------------------------------------------------
84 * Preprocessor Definitions and Constants
85 * -------------------------------------------------------------------------*/
86#ifdef __cplusplus
87 extern "C" {
88#endif
89
90/* MAC ADDRESS LENGTH - per spec*/
91#define WDI_MAC_ADDR_LEN 6
92
93/* Max number of 11b rates -> 1,2,5.5,11 */
94#define WDI_NUM_11B_RATES 4
95
96/* Max number of 11g rates -> 6,9,12,18,24,36,48,54*/
97#define WDI_NUM_11A_RATES 8
98
99/* Max number of legacy rates -> 72, 96, 108*/
100#define WDI_NUM_POLARIS_RATES 3
101
102/* Max supported MCS set*/
103#define WDI_MAC_MAX_SUPPORTED_MCS_SET 16
104
105/*Max number of Access Categories for QoS - per spec */
106#define WDI_MAX_NO_AC 4
107
108/*Max. size for reserving the Beacon Template */
109#define WDI_BEACON_TEMPLATE_SIZE 0x180
110
111#define WDI_WOWL_BCAST_PATTERN_MAX_SIZE 128
112
113#define WDI_WOWL_BCAST_MAX_NUM_PATTERNS 16
114
115#define WDI_MAX_SSID_SIZE 32
116
117/* The shared memory between WDI and HAL is 4K so maximum data can be transferred
118from WDI to HAL is 4K.This 4K should also include the Message header so sending 4K
119of NV fragment is nt possbile.The next multiple of 1Kb is 3K */
120
121#define FRAGMENT_SIZE 3072
122
123/* Macro to find the total number fragments of the NV Image*/
Madan Mohan Koyyalamudia53c4dc2012-11-13 10:35:42 -0800124#define TOTALFRAGMENTS(x) (((x % FRAGMENT_SIZE) == 0) ? (x / FRAGMENT_SIZE):((x / FRAGMENT_SIZE) + 1))
Jeff Johnson295189b2012-06-20 16:38:30 -0700125
126/* Beacon Filter Length*/
Abhishek Singh5fef4042014-11-25 18:33:00 +0530127#define WDI_BEACON_FILTER_LEN 90
Jeff Johnson295189b2012-06-20 16:38:30 -0700128
129/* Coex Indication data size - should match WLAN_COEX_IND_DATA_SIZE */
130#define WDI_COEX_IND_DATA_SIZE (4)
131
132#define WDI_CIPHER_SEQ_CTR_SIZE 6
133
134#define WDI_NUM_BSSID 2
135
136/*Version string max length (including NUL) */
137#define WDI_VERSION_LENGTH 64
138
139
140/*WDI Response timeout - how long will WDI wait for a response from the device
141 - it should be large enough to allow any other failure mechanism to kick
142 in before we get to a timeout (ms units)*/
143#define WDI_RESPONSE_TIMEOUT 10000
144
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -0700145/* SSR timeout - If Riva initiated SSR doesn't happen during this time, then the
146 * Apps initiated SSR will be performed */
147#define WDI_SSR_TIMEOUT 5000
148
Jeff Johnson295189b2012-06-20 16:38:30 -0700149#define WDI_SET_POWER_STATE_TIMEOUT 10000 /* in msec a very high upper limit */
150
Yue Mab9c86f42013-08-14 15:59:08 -0700151/* Periodic Tx pattern offload feature */
152#define PERIODIC_TX_PTRN_MAX_SIZE 1536
153#define MAXNUM_PERIODIC_TX_PTRNS 6
Srinivas Dasari4dae48f2014-11-26 21:14:16 +0530154#define WDI_DISA_MAX_PAYLOAD_SIZE 1600
Yue Mab9c86f42013-08-14 15:59:08 -0700155
Jeff Johnson295189b2012-06-20 16:38:30 -0700156/*============================================================================
157 * GENERIC STRUCTURES
158
159============================================================================*/
160
161/*---------------------------------------------------------------------------
162 WDI Version Information
163---------------------------------------------------------------------------*/
164typedef struct
165{
166 wpt_uint8 revision;
167 wpt_uint8 version;
168 wpt_uint8 minor;
169 wpt_uint8 major;
170} WDI_WlanVersionType;
171
172/*---------------------------------------------------------------------------
173 WDI Device Capability
174---------------------------------------------------------------------------*/
175typedef struct
176{
177 /*If this flag is true it means that the device can support 802.3/ETH2 to
178 802.11 translation*/
179 wpt_boolean bFrameXtlSupported;
180
181 /*Maximum number of BSSes supported by the Device */
182 wpt_uint8 ucMaxBSSSupported;
183
184 /*Maximum number of stations supported by the Device */
185 wpt_uint8 ucMaxSTASupported;
186}WDI_DeviceCapabilityType;
187
188/*---------------------------------------------------------------------------
189 WDI Channel Offset
190---------------------------------------------------------------------------*/
191typedef enum
192{
193 WDI_SECONDARY_CHANNEL_OFFSET_NONE = 0,
194 WDI_SECONDARY_CHANNEL_OFFSET_UP = 1,
Jeff Johnsone7245742012-09-05 17:12:55 -0700195 WDI_SECONDARY_CHANNEL_OFFSET_DOWN = 3,
196#ifdef WLAN_FEATURE_11AC
197 WDI_CHANNEL_20MHZ_LOW_40MHZ_CENTERED = 4, //20/40MHZ offset LOW 40/80MHZ offset CENTERED
198 WDI_CHANNEL_20MHZ_CENTERED_40MHZ_CENTERED = 5, //20/40MHZ offset CENTERED 40/80MHZ offset CENTERED
199 WDI_CHANNEL_20MHZ_HIGH_40MHZ_CENTERED = 6, //20/40MHZ offset HIGH 40/80MHZ offset CENTERED
200 WDI_CHANNEL_20MHZ_LOW_40MHZ_LOW = 7,//20/40MHZ offset LOW 40/80MHZ offset LOW
201 WDI_CHANNEL_20MHZ_HIGH_40MHZ_LOW = 8, //20/40MHZ offset HIGH 40/80MHZ offset LOW
202 WDI_CHANNEL_20MHZ_LOW_40MHZ_HIGH = 9, //20/40MHZ offset LOW 40/80MHZ offset HIGH
203 WDI_CHANNEL_20MHZ_HIGH_40MHZ_HIGH = 10,//20/40MHZ offset-HIGH 40/80MHZ offset HIGH
204#endif
205 WDI_SECONDARY_CHANNEL_OFFSET_MAX
Jeff Johnson295189b2012-06-20 16:38:30 -0700206}WDI_HTSecondaryChannelOffset;
207
208/*---------------------------------------------------------------------------
209 WDI_MacFrameCtl
210 Frame control field format (2 bytes)
211---------------------------------------------------------------------------*/
212typedef struct
213{
214 wpt_uint8 protVer :2;
215 wpt_uint8 type :2;
216 wpt_uint8 subType :4;
217
218 wpt_uint8 toDS :1;
219 wpt_uint8 fromDS :1;
220 wpt_uint8 moreFrag :1;
221 wpt_uint8 retry :1;
222 wpt_uint8 powerMgmt :1;
223 wpt_uint8 moreData :1;
224 wpt_uint8 wep :1;
225 wpt_uint8 order :1;
226
227} WDI_MacFrameCtl;
228
229/*---------------------------------------------------------------------------
230 WDI Sequence control field
231---------------------------------------------------------------------------*/
232typedef struct
233{
234 wpt_uint8 fragNum : 4;
235 wpt_uint8 seqNumLo : 4;
236 wpt_uint8 seqNumHi : 8;
237} WDI_MacSeqCtl;
238
239/*---------------------------------------------------------------------------
240 Management header format
241---------------------------------------------------------------------------*/
242typedef struct
243{
244 WDI_MacFrameCtl fc;
245 wpt_uint8 durationLo;
246 wpt_uint8 durationHi;
247 wpt_uint8 da[WDI_MAC_ADDR_LEN];
248 wpt_uint8 sa[WDI_MAC_ADDR_LEN];
249 wpt_macAddr bssId;
250 WDI_MacSeqCtl seqControl;
251} WDI_MacMgmtHdr;
252
253/*---------------------------------------------------------------------------
254 NV Blob management sturcture
255 ---------------------------------------------------------------------------*/
256
257typedef struct
258{
259 /* NV image fragments count */
260 wpt_uint16 usTotalFragment;
261
262 /* NV fragment size */
263 wpt_uint16 usFragmentSize;
264
265 /* current fragment to be sent */
266 wpt_uint16 usCurrentFragment;
267
268} WDI_NvBlobInfoParams;
269
270
271/*---------------------------------------------------------------------------
272 Data path enums memory pool resource
273 ---------------------------------------------------------------------------*/
274
275typedef enum
276{
277 /* managment resource pool ID */
278 WDI_MGMT_POOL_ID = 0,
279 /* Data resource pool ID */
280 WDI_DATA_POOL_ID = 1
281}WDI_ResPoolType;
282
283/*============================================================================
284 * GENERIC STRUCTURES - END
285 ============================================================================*/
286
287/*----------------------------------------------------------------------------
288 * Type Declarations
289 * -------------------------------------------------------------------------*/
290/*---------------------------------------------------------------------------
291 WDI Status
292---------------------------------------------------------------------------*/
293typedef enum
294{
295 WDI_STATUS_SUCCESS, /* Operation has completed successfully*/
296 WDI_STATUS_SUCCESS_SYNC, /* Operation has completed successfully in a
297 synchronous way - no rsp will be generated*/
298 WDI_STATUS_PENDING, /* Operation result is pending and will be
299 provided asynchronously through the Req Status
300 Callback */
301 WDI_STATUS_E_FAILURE, /* Operation has ended in a generic failure*/
302 WDI_STATUS_RES_FAILURE, /* Operation has ended in a resource failure*/
303 WDI_STATUS_MEM_FAILURE, /* Operation has ended in a memory allocation
304 failure*/
305 WDI_STATUS_E_NOT_ALLOWED, /* Operation is not allowed in the current state
306 of the driver*/
307 WDI_STATUS_E_NOT_IMPLEMENT, /* Operation is not yet implemented*/
308
309 WDI_STATUS_DEV_INTERNAL_FAILURE, /*An internal error has occurred in the device*/
310 WDI_STATUS_MAX
311
312}WDI_Status;
313
314
315/*---------------------------------------------------------------------------
316 WDI_ReqStatusCb
317
318 DESCRIPTION
319
320 This callback is invoked by DAL to deliver to UMAC the result of posting
321 a previous request for which the return status was PENDING.
322
323 PARAMETERS
324
325 IN
326 wdiStatus: response status received from the Control Transport
327 pUserData: user data
328
329
330
331 RETURN VALUE
332 The result code associated with performing the operation
333---------------------------------------------------------------------------*/
334typedef void (*WDI_ReqStatusCb)(WDI_Status wdiStatus,
335 void* pUserData);
336
337/*---------------------------------------------------------------------------
338 WDI_LowLevelIndEnumType
339 Types of indication that can be posted to UMAC by DAL
340---------------------------------------------------------------------------*/
341typedef enum
342{
343 /*When RSSI monitoring is enabled of the Lower MAC and a threshold has been
344 passed. */
345 WDI_RSSI_NOTIFICATION_IND,
346
347 /*Link loss in the low MAC */
348 WDI_MISSED_BEACON_IND,
349
350 /*when hardware has signaled an unknown addr2 frames. The indication will
351 contain info from frames to be passed to the UMAC, this may use this info to
352 deauth the STA*/
353 WDI_UNKNOWN_ADDR2_FRAME_RX_IND,
354
355 /*MIC Failure detected by HW*/
356 WDI_MIC_FAILURE_IND,
357
358 /*Fatal Error Ind*/
359 WDI_FATAL_ERROR_IND,
360
361 /*Delete Station Ind*/
362 WDI_DEL_STA_IND,
363
364 /*Indication from Coex*/
365 WDI_COEX_IND,
366
367 /* Indication for Tx Complete */
368 WDI_TX_COMPLETE_IND,
369
370 /*.P2P_NOA_Attr_Indication */
371 WDI_P2P_NOA_ATTR_IND,
372
373 /* Preferred Network Found Indication */
374 WDI_PREF_NETWORK_FOUND_IND,
375
376 WDI_WAKE_REASON_IND,
377
378 /* Tx PER Tracking Indication */
379 WDI_TX_PER_HIT_IND,
Viral Modid86bde22012-12-10 13:09:21 -0800380
Viral Modid86bde22012-12-10 13:09:21 -0800381 /* P2P_NOA_Start_Indication */
382 WDI_P2P_NOA_START_IND,
Viral Modid86bde22012-12-10 13:09:21 -0800383
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530384 /* TDLS_Indication */
385 WDI_TDLS_IND,
386
Leo Changd9df8aa2013-09-26 13:32:26 -0700387 /* LPHB Indication from FW to umac */
388 WDI_LPHB_IND,
Leo Chang9056f462013-08-01 19:21:11 -0700389
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700390 /* IBSS Peer Inactivity Indication */
391 WDI_IBSS_PEER_INACTIVITY_IND,
392
Yue Mab9c86f42013-08-14 15:59:08 -0700393 /* Periodic Tx Pattern FW Indication */
394 WDI_PERIODIC_TX_PTRN_FW_IND,
395
Rajeev79dbe4c2013-10-05 11:03:42 +0530396#ifdef FEATURE_WLAN_BATCH_SCAN
397 /*Batch scan result indication from FW*/
398 WDI_BATCH_SCAN_RESULT_IND,
399#endif
400
Leo Chang0b0e45a2013-12-15 15:18:55 -0800401#ifdef FEATURE_WLAN_CH_AVOID
402 WDI_CH_AVOID_IND,
403#endif /* FEATURE_WLAN_CH_AVOID */
Sunil Duttbd736ed2014-05-26 21:19:41 +0530404#ifdef WLAN_FEATURE_LINK_LAYER_STATS
405 WDI_LL_STATS_RESULTS_IND,
406#endif
Dino Mycle41bdc942014-06-10 11:30:24 +0530407#ifdef WLAN_FEATURE_EXTSCAN
408 WDI_EXTSCAN_PROGRESS_IND,
409 WDI_EXTSCAN_SCAN_AVAILABLE_IND,
410 WDI_EXTSCAN_SCAN_RESULT_IND,
411 WDI_EXTSCAN_GET_CAPABILITIES_IND,
412 WDI_EXTSCAN_BSSID_HOTLIST_RESULT_IND,
413 WDI_EXTSCAN_SIGN_RSSI_RESULT_IND,
414#endif
Abhishek Singh66c16762014-08-14 19:13:19 +0530415 /*Delete BA Ind*/
416 WDI_DEL_BA_IND,
Srinivas Dasari32a79262015-02-19 13:04:49 +0530417 WDI_NAN_EVENT_IND,
Leo Chang0b0e45a2013-12-15 15:18:55 -0800418
Jeff Johnson295189b2012-06-20 16:38:30 -0700419 WDI_MAX_IND
420}WDI_LowLevelIndEnumType;
421
422
423/*---------------------------------------------------------------------------
424 WDI_LowRSSIThIndType
425---------------------------------------------------------------------------*/
426typedef struct
427{
428 /*Positive crossing of Rssi Thresh1*/
429 wpt_uint32 bRssiThres1PosCross : 1;
430 /*Negative crossing of Rssi Thresh1*/
431 wpt_uint32 bRssiThres1NegCross : 1;
432 /*Positive crossing of Rssi Thresh2*/
433 wpt_uint32 bRssiThres2PosCross : 1;
434 /*Negative crossing of Rssi Thresh2*/
435 wpt_uint32 bRssiThres2NegCross : 1;
436 /*Positive crossing of Rssi Thresh3*/
437 wpt_uint32 bRssiThres3PosCross : 1;
438 /*Negative crossing of Rssi Thresh3*/
439 wpt_uint32 bRssiThres3NegCross : 1;
440
Srinivasdaaec712012-12-12 15:59:44 -0800441 wpt_uint32 avgRssi : 8;
442 wpt_uint32 bReserved : 18;
Jeff Johnson295189b2012-06-20 16:38:30 -0700443
444}WDI_LowRSSIThIndType;
445
446
447/*---------------------------------------------------------------------------
448 WDI_UnkAddr2FrmRxIndType
449---------------------------------------------------------------------------*/
450typedef struct
451{
452 /*Rx Bd data of the unknown received addr2 frame.*/
453 void* bufRxBd;
454
455 /*Buffer Length*/
456 wpt_uint16 usBufLen;
457}WDI_UnkAddr2FrmRxIndType;
458
459/*---------------------------------------------------------------------------
460 WDI_DeleteSTAIndType
461---------------------------------------------------------------------------*/
462typedef struct
463{
464 /*ASSOC ID, as assigned by UMAC*/
465 wpt_uint16 usAssocId;
466
467 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
468 wpt_uint8 ucSTAIdx;
469
470 /*BSSID of STA*/
471 wpt_macAddr macBSSID;
472
473 /*MAC ADDR of STA*/
474 wpt_macAddr macADDR2;
475
476 /* To unify the keepalive / unknown A2 / tim-based disa*/
477 wpt_uint16 wptReasonCode;
478
479}WDI_DeleteSTAIndType;
480
481/*---------------------------------------------------------------------------
482 WDI_MicFailureIndType
483---------------------------------------------------------------------------*/
484typedef struct
485{
486 /*current BSSID*/
487 wpt_macAddr bssId;
488
489 /*Source mac address*/
490 wpt_macAddr macSrcAddr;
491
492 /*Transmitter mac address*/
493 wpt_macAddr macTaAddr;
494
495 /*Destination mac address*/
496 wpt_macAddr macDstAddr;
497
498 /*Multicast flag*/
499 wpt_uint8 ucMulticast;
500
501 /*First byte of IV*/
502 wpt_uint8 ucIV1;
503
504 /*Key Id*/
505 wpt_uint8 keyId;
506
507 /*Sequence Number*/
508 wpt_uint8 TSC[WDI_CIPHER_SEQ_CTR_SIZE];
509
510 /*receive address */
511 wpt_macAddr macRxAddr;
512}WDI_MicFailureIndType;
513
514/*---------------------------------------------------------------------------
515 WDI_CoexIndType
516---------------------------------------------------------------------------*/
517typedef struct
518{
519 wpt_uint32 coexIndType;
520 wpt_uint32 coexIndData[WDI_COEX_IND_DATA_SIZE];
521} WDI_CoexIndType;
522
523/*---------------------------------------------------------------------------
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +0530524 WDI_DHCPInd
525---------------------------------------------------------------------------*/
526
527typedef struct
528{
529 wpt_uint8 device_mode;
530 wpt_uint8 macAddr[WDI_MAC_ADDR_LEN];
531}WDI_DHCPInd;
532
533/*---------------------------------------------------------------------------
534
Jeff Johnson295189b2012-06-20 16:38:30 -0700535 WDI_MacSSid
536---------------------------------------------------------------------------*/
537typedef struct
538{
539 wpt_uint8 ucLength;
540 wpt_uint8 sSSID[WDI_MAX_SSID_SIZE];
541} WDI_MacSSid;
542
543#ifdef FEATURE_WLAN_SCAN_PNO
544/*---------------------------------------------------------------------------
545 WDI_PrefNetworkFoundInd
546---------------------------------------------------------------------------*/
547typedef struct
548{
549 /* Network that was found with the highest RSSI*/
Srikant Kuppa066904f2013-05-07 13:56:02 -0700550 WDI_MacSSid ssId;
Jeff Johnson295189b2012-06-20 16:38:30 -0700551 /* Indicates the RSSI */
Srikant Kuppa066904f2013-05-07 13:56:02 -0700552 wpt_uint8 rssi;
553 wpt_uint16 frameLength;
554 wpt_uint8 *pData;
Jeff Johnson295189b2012-06-20 16:38:30 -0700555} WDI_PrefNetworkFoundInd;
556#endif // FEATURE_WLAN_SCAN_PNO
557
Jeff Johnson295189b2012-06-20 16:38:30 -0700558/*---------------------------------------------------------------------------
559 *WDI_P2pNoaAttrIndType
560 *-------------------------------------------------------------------------*/
Jeff Johnson295189b2012-06-20 16:38:30 -0700561typedef struct
562{
563 wpt_uint8 ucIndex ;
564 wpt_uint8 ucOppPsFlag ;
565 wpt_uint16 usCtWin ;
566
567 wpt_uint16 usNoa1IntervalCnt;
568 wpt_uint16 usRsvd1 ;
569 wpt_uint32 uslNoa1Duration;
570 wpt_uint32 uslNoa1Interval;
571 wpt_uint32 uslNoa1StartTime;
572
573 wpt_uint16 usNoa2IntervalCnt;
574 wpt_uint16 usRsvd2;
575 wpt_uint32 uslNoa2Duration;
576 wpt_uint32 uslNoa2Interval;
577 wpt_uint32 uslNoa2StartTime;
578
579 wpt_uint32 status;
580}WDI_P2pNoaAttrIndType;
Viral Modid86bde22012-12-10 13:09:21 -0800581
582/*---------------------------------------------------------------------------
583 *WDI_P2pNoaStartIndType
584 *-------------------------------------------------------------------------*/
585typedef struct
586{
587 wpt_uint32 status;
588 wpt_uint32 bssIdx;
589}WDI_P2pNoaStartIndType;
590
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530591/*---------------------------------------------------------------------------
592 *WDI_TdlsIndType
593 *-------------------------------------------------------------------------*/
594typedef struct
595{
596 wpt_uint16 status;
597 wpt_uint16 assocId;
598 wpt_uint16 staIdx;
599 wpt_uint16 reasonCode;
600}WDI_TdlsIndType;
Jeff Johnson295189b2012-06-20 16:38:30 -0700601
602#ifdef WLAN_WAKEUP_EVENTS
603/*---------------------------------------------------------------------------
604 WDI_WakeReasonIndType
605---------------------------------------------------------------------------*/
606typedef struct
607{
608 wpt_uint32 ulReason; /* see tWakeReasonType */
609 wpt_uint32 ulReasonArg; /* argument specific to the reason type */
610 wpt_uint32 ulStoredDataLen; /* length of optional data stored in this message, in case
611 HAL truncates the data (i.e. data packets) this length
612 will be less than the actual length */
613 wpt_uint32 ulActualDataLen; /* actual length of data */
614 wpt_uint8 aDataStart[1]; /* variable length start of data (length == storedDataLen)
615 see specific wake type */
616} WDI_WakeReasonIndType;
617#endif // WLAN_WAKEUP_EVENTS
618
Srinivas Dasari32a79262015-02-19 13:04:49 +0530619typedef struct
620{
621 wpt_uint16 event_data_len;
622 wpt_uint8* event_data;
623} WDI_NanEventType;
624
625
Jeff Johnson295189b2012-06-20 16:38:30 -0700626/*---------------------------------------------------------------------------
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800627 WDI_MissedBeaconIndType
628-----------------------------------------------------------------------------*/
629typedef struct
630{
631 wpt_uint8 bssIdx; /*bssidx on which beacon is missed*/
632} WDI_MissedBeaconIndType;
633
Leo Chang9056f462013-08-01 19:21:11 -0700634#ifdef FEATURE_WLAN_LPHB
635/*---------------------------------------------------------------------------
636 WDI_LPHBTimeoutIndData
637-----------------------------------------------------------------------------*/
638typedef struct
639{
640 wpt_uint8 bssIdx;
641 wpt_uint8 sessionIdx;
642 wpt_uint8 protocolType; /*TCP or UDP*/
643 wpt_uint8 eventReason;
644} WDI_LPHBTimeoutIndData;
645#endif /* FEATURE_WLAN_LPHB */
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800646
Yue Mab9c86f42013-08-14 15:59:08 -0700647/*-----------------------------------------------------------------------------
648WDI_PeriodicTxPtrnFwIndType
649-----------------------------------------------------------------------------*/
650typedef struct
651{
652 wpt_uint8 bssIdx;
653 wpt_uint32 selfStaIdx;
654 wpt_uint32 status;
655 wpt_uint32 patternIdBitmap;
656} WDI_PeriodicTxPtrnFwIndType;
657
Rajeev79dbe4c2013-10-05 11:03:42 +0530658#ifdef FEATURE_WLAN_BATCH_SCAN
659/*---------------------------------------------------------------------------
660 WDI_SetBatchScanReqType
661---------------------------------------------------------------------------*/
662typedef struct
663{
664 wpt_uint32 scanFrequency; /* how frequent to do scan default 30Sec*/
665 wpt_uint32 numberOfScansToBatch; /* number of scans to batch */
666 wpt_uint32 bestNetwork; /* best networks in terms of rssi */
667 wpt_uint8 rfBand; /* band to scan :
668 0 ->both Band, 1->2.4Ghz Only
669 and 2-> 5GHz Only */
670 wpt_uint32 rtt; /* set if required to do RTT it is not
671 supported in current version */
672}WDI_SetBatchScanReqType;
673
674/*---------------------------------------------------------------------------
675 WDI_SetBatchScanRspType
676---------------------------------------------------------------------------*/
677typedef struct
678{
679 /*max number of scans which FW can cache*/
680 wpt_uint32 nScansToBatch;
681}WDI_SetBatchScanRspType;
682
683/*---------------------------------------------------------------------------
684 WDI_TriggerBatchScanResultIndType
685---------------------------------------------------------------------------*/
686typedef struct
687{
688 wpt_uint32 param;
689}WDI_TriggerBatchScanResultIndType;
690
691/*---------------------------------------------------------------------------
692 WDI_StopBatchScanIndType
693---------------------------------------------------------------------------*/
694typedef struct
695{
696 /*max number of scans which FW can cache*/
697 wpt_uint32 param;
698}WDI_StopBatchScanIndType;
699
700
701/*---------------------------------------------------------------------------
702 * WDI_BatchScanResultIndType
703 *--------------------------------------------------------------------------*/
704typedef struct
705{
706 wpt_uint32 bssid[6]; /* BSSID */
707 wpt_uint32 ssid[32]; /* SSID */
708 wpt_uint32 ch; /* Channel */
709 wpt_uint32 rssi; /* RSSI or Level */
710 /* Timestamp when Network was found. Used to calculate age based on
711 timestamp in GET_RSP msg header */
712 wpt_uint32 timestamp;
713} tWDIBatchScanNetworkInfo, *tpWDIBatchScanNetworkInfo;
714
715typedef struct
716{
717 wpt_uint32 scanId; /*Scan List ID*/
718 /*No of AP in a Scan Result. Should be same as bestNetwork in SET_REQ msg*/
719 wpt_uint32 numNetworksInScanList;
720 /*Variable data ptr: Number of AP in Scan List*/
721 wpt_uint32 scanList[1];
722} tWDIBatchScanList, *tpWDIBatchScanList;
723
724typedef struct
725{
726 wpt_uint32 timestamp;
727 wpt_uint32 numScanLists;
728 wpt_boolean isLastResult;
729 /* Variable Data ptr: Number of Scan Lists*/
730 wpt_uint32 scanResults[1];
731} tWDIBatchScanResultParam, *tpWDIBatchScanResultParam;
732
733#endif
734
735
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800736/*---------------------------------------------------------------------------
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700737 WDI_IbssPeerInactivityIndType
738-----------------------------------------------------------------------------*/
739typedef struct
740{
741 wpt_uint8 bssIdx;
742 wpt_uint8 staIdx;
743 wpt_macAddr staMacAddr;
744}WDI_IbssPeerInactivityIndType;
745
746/*---------------------------------------------------------------------------
Chittajit Mitraf5413a42013-10-18 14:20:08 -0700747 WDI_TxRateFlags
748-----------------------------------------------------------------------------*/
749typedef enum
750{
751 WDI_TX_RATE_LEGACY = 0x1, /* Legacy rates */
752 WDI_TX_RATE_HT20 = 0x2, /* HT20 rates */
753 WDI_TX_RATE_HT40 = 0x4, /* HT40 rates */
754 WDI_TX_RATE_SGI = 0x8, /* Rate with Short guard interval */
755 WDI_TX_RATE_LGI = 0x10, /* Rate with Long guard interval */
756 WDI_TX_RATE_VHT20 = 0x20, /* VHT 20 rates */
757 WDI_TX_RATE_VHT40 = 0x40, /* VHT 20 rates */
758 WDI_TX_RATE_VHT80 = 0x80, /* VHT 20 rates */
759 WDI_TX_RATE_VIRT = 0x100, /* Virtual Rate */
760} WDI_TxRateFlags;
761
762/*---------------------------------------------------------------------------
763 WDI_RateUpdateIndParams
764-----------------------------------------------------------------------------*/
765typedef struct
766{
767 /* 0 implies RA, positive value implies fixed rate, -1 implies ignore this
768 * param ucastDataRate can be used to control RA behavior of unicast data to
769 */
770 wpt_int32 ucastDataRate;
771
772 /* TX flag to differentiate between HT20, HT40 etc */
773 WDI_TxRateFlags ucastDataRateTxFlag;
774
775 /* BSSID - Optional. 00-00-00-00-00-00 implies apply to all BCAST STAs */
776 wpt_macAddr bssid;
777
778 /*
779 * 0 implies MCAST RA, positive value implies fixed rate,
780 * -1 implies ignore this param
781 */
782 wpt_int32 reliableMcastDataRate; //unit Mbpsx10
783
784 /* TX flag to differentiate between HT20, HT40 etc */
785 WDI_TxRateFlags reliableMcastDataRateTxFlag;
786
787 /*
788 * MCAST(or BCAST) fixed data rate in 2.4 GHz, unit Mbpsx10,
789 * 0 implies ignore
790 */
791 wpt_uint32 mcastDataRate24GHz;
792
793 /* TX flag to differentiate between HT20, HT40 etc */
794 WDI_TxRateFlags mcastDataRate24GHzTxFlag;
795
796 /*
797 * MCAST(or BCAST) fixed data rate in 5 GHz,
798 * unit Mbpsx10, 0 implies ignore
799 */
800 wpt_uint32 mcastDataRate5GHz;
801
802 /* TX flag to differentiate between HT20, HT40 etc */
803 WDI_TxRateFlags mcastDataRate5GHzTxFlag;
804
805 /*
806 * Request status callback offered by UMAC - it is called if the current
807 * req has returned PENDING as status; it delivers the status of sending
808 * the message over the BUS
809 */
810 WDI_ReqStatusCb wdiReqStatusCB;
811
812 /*
813 * The user data passed in by UMAC, it will be sent back when the above
814 * function pointer will be called
815 */
816 void *pUserData;
817
818} WDI_RateUpdateIndParams;
819
Abhishek Singh85b74712014-10-08 11:38:19 +0530820typedef struct
821{
822 wpt_uint32 ubsp_enter_cnt;
823 wpt_uint32 ubsp_jump_ddr_cnt;
824}ubspFwStats;
825
826typedef struct
827{
828 wpt_uint32 type;
829 /*data*/
830 union{
831 ubspFwStats ubspStats;
832 }wdiFwStatsData;
833} WDI_FWStatsResults;
834
Leo Chang0b0e45a2013-12-15 15:18:55 -0800835#ifdef FEATURE_WLAN_CH_AVOID
836#define WDI_CH_AVOID_MAX_RANGE 4
837
838typedef struct
839{
840 wpt_uint32 startFreq;
841 wpt_uint32 endFreq;
842} WDI_ChAvoidFreqType;
843
844typedef struct
845{
846 wpt_uint32 avoidRangeCount;
847 WDI_ChAvoidFreqType avoidFreqRange[WDI_CH_AVOID_MAX_RANGE];
848} WDI_ChAvoidIndType;
849#endif /* FEATURE_WLAN_CH_AVOID */
850
Dino Mycled3d50022014-07-07 12:58:25 +0530851#ifdef WLAN_FEATURE_LINK_LAYER_STATS
852typedef struct
853{
854 void *pLinkLayerStatsResults;
855 wpt_macAddr macAddr;
856} WDI_LinkLayerStatsResults;
857
858#endif
Abhishek Singh66c16762014-08-14 19:13:19 +0530859
860typedef struct
861{
862 /*STA Index*/
863 wpt_uint16 staIdx;
864
865 /*Peer MAC*/
866 wpt_macAddr peerMacAddr;
867
868 // TID for which a BA session timeout is being triggered
869 wpt_uint8 baTID;
870 // DELBA direction
871 // 1 - Originator
872 // 0 - Recipient
873 wpt_uint8 baDirection;
874 wpt_uint32 reasonCode;
875 /*MAC ADDR of STA*/
876 wpt_macAddr bssId; // TO SUPPORT BT-AMP
877} WDI_DeleteBAIndType;
878
Ganesh Kondabattinib18b3292015-03-16 16:59:26 +0530879typedef struct
880{
881 wpt_uint32 tx_complete_status;
882 wpt_uint32 tx_bd_token;
883} WDI_TxBDStatus;
Chittajit Mitraf5413a42013-10-18 14:20:08 -0700884/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -0700885 WDI_LowLevelIndType
886 Inidcation type and information about the indication being carried
887 over
888---------------------------------------------------------------------------*/
889typedef struct
890{
891 /*Inidcation type*/
892 WDI_LowLevelIndEnumType wdiIndicationType;
893
894 /*Indication data*/
895 union
896 {
897 /*RSSI Threshold Info for WDI_LOW_RSSI_IND*/
898 WDI_LowRSSIThIndType wdiLowRSSIInfo;
899
900 /*Addr2 Frame Info for WDI_UNKNOWN_ADDR2_FRAME_RX_IND*/
901 WDI_UnkAddr2FrmRxIndType wdiUnkAddr2FrmInfo;
902
903 /*MIC Failure info for WDI_MIC_FAILURE_IND*/
904 WDI_MicFailureIndType wdiMICFailureInfo;
905
906 /*Error code for WDI_FATAL_ERROR_IND*/
907 wpt_uint16 usErrorCode;
908
909 /*Delete STA Indication*/
910 WDI_DeleteSTAIndType wdiDeleteSTAIndType;
911
912 /*Coex Indication*/
913 WDI_CoexIndType wdiCoexInfo;
914
915 /* Tx Complete Indication */
916 wpt_uint32 tx_complete_status;
917
Jeff Johnson295189b2012-06-20 16:38:30 -0700918 /* P2P NOA ATTR Indication */
919 WDI_P2pNoaAttrIndType wdiP2pNoaAttrInfo;
Viral Modid86bde22012-12-10 13:09:21 -0800920 WDI_P2pNoaStartIndType wdiP2pNoaStartInfo;
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530921 /* TDLS Indications */
922 WDI_TdlsIndType wdiTdlsIndInfo;
Jeff Johnson295189b2012-06-20 16:38:30 -0700923
924
925#ifdef FEATURE_WLAN_SCAN_PNO
926 WDI_PrefNetworkFoundInd wdiPrefNetworkFoundInd;
927#endif // FEATURE_WLAN_SCAN_PNO
928
929#ifdef WLAN_WAKEUP_EVENTS
930 WDI_WakeReasonIndType wdiWakeReasonInd;
931#endif // WLAN_WAKEUP_EVENTS
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800932 WDI_MissedBeaconIndType wdiMissedBeaconInd;
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700933
Leo Chang9056f462013-08-01 19:21:11 -0700934#ifdef FEATURE_WLAN_LPHB
935 WDI_LPHBTimeoutIndData wdiLPHBTimeoutInd;
936#endif /* FEATURE_WLAN_LPHB */
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700937
938 /* IBSS Peer Inactivity Indication */
939 WDI_IbssPeerInactivityIndType wdiIbssPeerInactivityInd;
940
Yue Mab9c86f42013-08-14 15:59:08 -0700941 /* Periodic TX Pattern FW Indication */
942 WDI_PeriodicTxPtrnFwIndType wdiPeriodicTxPtrnFwInd;
Rajeev79dbe4c2013-10-05 11:03:42 +0530943
944#ifdef FEATURE_WLAN_BATCH_SCAN
945 /*batch scan result indication from FW*/
946 void *pBatchScanResult;
947#endif
948
Leo Chang0b0e45a2013-12-15 15:18:55 -0800949#ifdef FEATURE_WLAN_CH_AVOID
950 WDI_ChAvoidIndType wdiChAvoidInd;
951#endif /* FEATURE_WLAN_CH_AVOID */
Sunil Duttbd736ed2014-05-26 21:19:41 +0530952
953#ifdef WLAN_FEATURE_LINK_LAYER_STATS
954 /*Link Layer Statistics from FW*/
Dino Mycled3d50022014-07-07 12:58:25 +0530955 WDI_LinkLayerStatsResults wdiLinkLayerStatsResults;
Sunil Duttbd736ed2014-05-26 21:19:41 +0530956#endif
Dino Mycle41bdc942014-06-10 11:30:24 +0530957#ifdef WLAN_FEATURE_EXTSCAN
958 /*EXTSCAN Results from FW*/
959 void *pEXTScanIndData;
960#endif
Abhishek Singh66c16762014-08-14 19:13:19 +0530961 WDI_DeleteBAIndType wdiDeleteBAInd;
Srinivas Dasari32a79262015-02-19 13:04:49 +0530962
963 WDI_NanEventType wdiNanEvent;
Ganesh Kondabattinib18b3292015-03-16 16:59:26 +0530964
965 WDI_TxBDStatus wdiTxBdInd;
Jeff Johnson295189b2012-06-20 16:38:30 -0700966 } wdiIndicationData;
967}WDI_LowLevelIndType;
968
969/*---------------------------------------------------------------------------
970 WDI_LowLevelIndCBType
971
972 DESCRIPTION
973
974 This callback is invoked by DAL to deliver to UMAC certain indications
975 that has either received from the lower device or has generated itself.
976
977 PARAMETERS
978
979 IN
980 pwdiInd: information about the indication sent over
981 pUserData: user data provided by UMAC during registration
982
983
984
985 RETURN VALUE
986 The result code associated with performing the operation
987---------------------------------------------------------------------------*/
988typedef void (*WDI_LowLevelIndCBType)(WDI_LowLevelIndType* pwdiInd,
989 void* pUserData);
990
991/*---------------------------------------------------------------------------
992 WDI_DriverType
993---------------------------------------------------------------------------*/
994typedef enum
995{
996 WDI_DRIVER_TYPE_PRODUCTION = 0,
997 WDI_DRIVER_TYPE_MFG = 1,
998 WDI_DRIVER_TYPE_DVT = 2
999} WDI_DriverType;
1000
1001/*---------------------------------------------------------------------------
1002 WDI_StartReqParamsType
1003---------------------------------------------------------------------------*/
1004typedef struct
1005{
1006 /*This is a TLV formatted buffer containing all config values that can
1007 be set through the DAL Interface
1008
1009 The TLV is expected to be formatted like this:
1010
1011 0 7 15 31 ....
1012 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
1013
1014 Or from a C construct point of VU it would look like this:
1015
1016 typedef struct WPT_PACK_POST
1017 {
1018 #ifdef WPT_BIG_ENDIAN
1019 wpt_uint32 ucCfgId:8;
1020 wpt_uint32 ucCfgLen:8;
1021 wpt_uint32 usReserved:16;
1022 #else
1023 wpt_uint32 usReserved:16;
1024 wpt_uint32 ucCfgLen:8;
1025 wpt_uint32 ucCfgId:8;
1026 #endif
1027
1028 wpt_uint8 ucCfgBody[ucCfgLen];
1029 }WDI_ConfigType;
1030
1031 Multiple such tuplets are to be placed in the config buffer. One for
1032 each required configuration item:
1033
1034 | TLV 1 | TLV2 | ....
1035
1036 The buffer is expected to be a flat area of memory that can be manipulated
1037 with standard memory routines.
1038
1039 For more info please check paragraph 2.3.1 Config Structure from the
1040 HAL LLD.
1041
1042 For a list of accepted configuration list and IDs please look up
1043 wlan_qct_dal_cfg.h
1044
1045 */
1046 void* pConfigBuffer;
1047
1048 /*Length of the config buffer above*/
1049 wpt_uint16 usConfigBufferLen;
1050
1051 /*Production or FTM driver*/
1052 WDI_DriverType wdiDriverType;
1053
1054 /*Should device enable frame translation */
1055 wpt_uint8 bFrameTransEnabled;
1056
1057 /*Request status callback offered by UMAC - it is called if the current
1058 req has returned PENDING as status; it delivers the status of sending
1059 the message over the BUS */
1060 WDI_ReqStatusCb wdiReqStatusCB;
1061
1062 /*The user data passed in by UMAC, it will be sent back when the above
1063 function pointer will be called */
1064 void* pUserData;
1065
1066 /*Indication callback given by UMAC to be called by the WLAN DAL when it
1067 wishes to send something back independent of a request*/
1068 WDI_LowLevelIndCBType wdiLowLevelIndCB;
1069
1070 /*The user data passed in by UMAC, it will be sent back when the indication
1071 function pointer will be called */
1072 void* pIndUserData;
1073}WDI_StartReqParamsType;
1074
1075
1076/*---------------------------------------------------------------------------
1077 WDI_StartRspParamsType
1078---------------------------------------------------------------------------*/
1079typedef struct
1080{
1081 /*Status of the response*/
1082 WDI_Status wdiStatus;
1083
1084 /*Max number of STA supported by the device*/
1085 wpt_uint8 ucMaxStations;
1086
1087 /*Max number of BSS supported by the device*/
1088 wpt_uint8 ucMaxBssids;
1089
1090 /*Version of the WLAN HAL API with which we were compiled*/
1091 WDI_WlanVersionType wlanCompiledVersion;
1092
1093 /*Version of the WLAN HAL API that was reported*/
1094 WDI_WlanVersionType wlanReportedVersion;
1095
1096 /*WCNSS Software version string*/
1097 wpt_uint8 wcnssSoftwareVersion[WDI_VERSION_LENGTH];
1098
1099 /*WCNSS Hardware version string*/
1100 wpt_uint8 wcnssHardwareVersion[WDI_VERSION_LENGTH];
1101}WDI_StartRspParamsType;
1102
1103
1104/*---------------------------------------------------------------------------
1105 WDI_StopType
1106---------------------------------------------------------------------------*/
1107typedef enum
1108{
1109 /*Device is being stopped due to a reset*/
1110 WDI_STOP_TYPE_SYS_RESET,
1111
1112 /*Device is being stopped due to entering deep sleep*/
1113 WDI_STOP_TYPE_SYS_DEEP_SLEEP,
1114
1115 /*Device is being stopped because the RF needs to shut off
1116 (e.g.:Airplane mode)*/
1117 WDI_STOP_TYPE_RF_KILL
1118}WDI_StopType;
1119
1120/*---------------------------------------------------------------------------
1121 WDI_StopReqParamsType
1122---------------------------------------------------------------------------*/
1123typedef struct
1124{
1125
1126 /*The reason for which the device is being stopped*/
1127 WDI_StopType wdiStopReason;
1128
1129 /*Request status callback offered by UMAC - it is called if the current
1130 req has returned PENDING as status; it delivers the status of sending
1131 the message over the BUS */
1132 WDI_ReqStatusCb wdiReqStatusCB;
1133
1134 /*The user data passed in by UMAC, it will be sent back when the above
1135 function pointer will be called */
1136 void* pUserData;
1137}WDI_StopReqParamsType;
1138
1139
1140/*---------------------------------------------------------------------------
1141 WDI_ScanMode
1142---------------------------------------------------------------------------*/
1143typedef enum
1144{
1145 WDI_SCAN_MODE_NORMAL = 0,
1146 WDI_SCAN_MODE_LEARN,
1147 WDI_SCAN_MODE_SCAN,
1148 WDI_SCAN_MODE_PROMISC,
Madan Mohan Koyyalamudi9b876782012-10-11 16:22:51 -07001149 WDI_SCAN_MODE_SUSPEND_LINK,
1150 WDI_SCAN_MODE_ROAM_SCAN,
1151 WDI_SCAN_MODE_ROAM_SUSPEND_LINK,
1152
Jeff Johnson295189b2012-06-20 16:38:30 -07001153} WDI_ScanMode;
1154
1155/*---------------------------------------------------------------------------
1156 WDI_ScanEntry
1157---------------------------------------------------------------------------*/
1158typedef struct
1159{
1160 wpt_uint8 bssIdx[WDI_NUM_BSSID];
1161 wpt_uint8 activeBSScnt;
1162}WDI_ScanEntry;
1163
1164/*---------------------------------------------------------------------------
1165 WDI_InitScanReqInfoType
1166---------------------------------------------------------------------------*/
1167typedef struct
1168{
1169 /*LEARN - AP Role
1170 SCAN - STA Role*/
1171 WDI_ScanMode wdiScanMode;
1172
1173 /*BSSID of the BSS*/
1174 wpt_macAddr macBSSID;
1175
1176 /*Whether BSS needs to be notified*/
1177 wpt_boolean bNotifyBSS;
1178
1179 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
1180 CTS to Self). Must always be a valid frame type.*/
1181 wpt_uint8 ucFrameType;
1182
1183 /*UMAC has the option of passing the MAC frame to be used for notifying
1184 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
1185 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
1186 frameType.*/
1187 wpt_uint8 ucFrameLength;
1188
1189 /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/
1190 WDI_MacMgmtHdr wdiMACMgmtHdr;
1191
1192 /*Entry to hold number of active BSS to send NULL frames before
1193 * initiating SCAN*/
1194 WDI_ScanEntry wdiScanEntry;
1195
1196 /* Flag to enable/disable Single NOA*/
1197 wpt_boolean bUseNOA;
1198
1199 /* Indicates the scan duration (in ms) */
1200 wpt_uint16 scanDuration;
1201
1202}WDI_InitScanReqInfoType;
1203
1204/*---------------------------------------------------------------------------
1205 WDI_InitScanReqParamsType
1206---------------------------------------------------------------------------*/
1207typedef struct
1208{
1209 /*The info associated with the request that needs to be sent over to the
1210 device*/
1211 WDI_InitScanReqInfoType wdiReqInfo;
1212
1213 /*Request status callback offered by UMAC - it is called if the current
1214 req has returned PENDING as status; it delivers the status of sending
1215 the message over the BUS */
1216 WDI_ReqStatusCb wdiReqStatusCB;
1217
1218 /*The user data passed in by UMAC, it will be sent back when the above
1219 function pointer will be called */
1220 void* pUserData;
1221}WDI_InitScanReqParamsType;
1222
1223/*---------------------------------------------------------------------------
1224 WDI_StartScanReqParamsType
1225---------------------------------------------------------------------------*/
1226typedef struct
1227{
1228 /*Indicates the channel to scan*/
1229 wpt_uint8 ucChannel;
1230
1231 /*Request status callback offered by UMAC - it is called if the current
1232 req has returned PENDING as status; it delivers the status of sending
1233 the message over the BUS */
1234 WDI_ReqStatusCb wdiReqStatusCB;
1235
1236 /*The user data passed in by UMAC, it will be sent back when the above
1237 function pointer will be called */
1238 void* pUserData;
1239}WDI_StartScanReqParamsType;
1240
1241/*---------------------------------------------------------------------------
1242 WDI_StartScanRspParamsType
1243---------------------------------------------------------------------------*/
1244typedef struct
1245{
1246 /*Indicates the status of the operation */
1247 WDI_Status wdiStatus;
1248
1249#if defined WLAN_FEATURE_VOWIFI
1250 wpt_uint32 aStartTSF[2];
1251 wpt_int8 ucTxMgmtPower;
1252#endif
1253}WDI_StartScanRspParamsType;
1254
1255/*---------------------------------------------------------------------------
1256 WDI_EndScanReqParamsType
1257---------------------------------------------------------------------------*/
1258typedef struct
1259{
1260 /*Indicates the channel to stop scanning. Not used really. But retained
1261 for symmetry with "start Scan" message. It can also help in error
1262 check if needed.*/
1263 wpt_uint8 ucChannel;
1264
1265 /*Request status callback offered by UMAC - it is called if the current
1266 req has returned PENDING as status; it delivers the status of sending
1267 the message over the BUS */
1268 WDI_ReqStatusCb wdiReqStatusCB;
1269
1270 /*The user data passed in by UMAC, it will be sent back when the above
1271 function pointer will be called */
1272 void* pUserData;
1273}WDI_EndScanReqParamsType;
1274
1275/*---------------------------------------------------------------------------
1276 WDI_PhyChanBondState
1277---------------------------------------------------------------------------*/
1278typedef enum
1279{
1280 WDI_PHY_SINGLE_CHANNEL_CENTERED = 0,
1281 WDI_PHY_DOUBLE_CHANNEL_LOW_PRIMARY = 1,
1282 WDI_PHY_DOUBLE_CHANNEL_CENTERED = 2,
Jeff Johnsone7245742012-09-05 17:12:55 -07001283 WDI_PHY_DOUBLE_CHANNEL_HIGH_PRIMARY = 3,
1284#ifdef WLAN_FEATURE_11AC
1285 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_CENTERED = 4, //20/40MHZ offset LOW 40/80MHZ offset CENTERED
1286 WDI_QUADRUPLE_CHANNEL_20MHZ_CENTERED_40MHZ_CENTERED = 5, //20/40MHZ offset CENTERED 40/80MHZ offset CENTERED
1287 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_CENTERED = 6, //20/40MHZ offset HIGH 40/80MHZ offset CENTERED
1288 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_LOW = 7,//20/40MHZ offset LOW 40/80MHZ offset LOW
1289 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_LOW = 8, //20/40MHZ offset HIGH 40/80MHZ offset LOW
1290 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_HIGH = 9, //20/40MHZ offset LOW 40/80MHZ offset HIGH
1291 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_HIGH = 10,//20/40MHZ offset-HIGH 40/80MHZ offset HIGH
1292#endif
1293 WDI_MAX_CB_STATE
Jeff Johnson295189b2012-06-20 16:38:30 -07001294} WDI_PhyChanBondState;
1295
1296/*---------------------------------------------------------------------------
1297 WDI_FinishScanReqInfoType
1298---------------------------------------------------------------------------*/
1299typedef struct
1300{
1301 /*LEARN - AP Role
1302 SCAN - STA Role*/
1303 WDI_ScanMode wdiScanMode;
1304
1305 /*Operating channel to tune to.*/
1306 wpt_uint8 ucCurrentOperatingChannel;
1307
1308 /*Channel Bonding state If 20/40 MHz is operational, this will indicate the
1309 40 MHz extension channel in combination with the control channel*/
1310 WDI_PhyChanBondState wdiCBState;
1311
1312 /*BSSID of the BSS*/
1313 wpt_macAddr macBSSID;
1314
1315 /*Whether BSS needs to be notified*/
1316 wpt_boolean bNotifyBSS;
1317
1318 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
1319 CTS to Self). Must always be a valid frame type.*/
1320 wpt_uint8 ucFrameType;
1321
1322 /*UMAC has the option of passing the MAC frame to be used for notifying
1323 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
1324 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
1325 frameType.*/
1326 wpt_uint8 ucFrameLength;
1327
1328 /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/
1329 WDI_MacMgmtHdr wdiMACMgmtHdr;
1330
1331 /*Entry to hold number of active BSS to send NULL frames after SCAN*/
1332 WDI_ScanEntry wdiScanEntry;
1333
1334}WDI_FinishScanReqInfoType;
1335
1336/*---------------------------------------------------------------------------
1337 WDI_SwitchChReqInfoType
1338---------------------------------------------------------------------------*/
1339typedef struct
1340{
1341 /*Indicates the channel to switch to.*/
1342 wpt_uint8 ucChannel;
1343
1344 /*Local power constraint*/
1345 wpt_uint8 ucLocalPowerConstraint;
1346
1347 /*Secondary channel offset */
1348 WDI_HTSecondaryChannelOffset wdiSecondaryChannelOffset;
1349
1350#ifdef WLAN_FEATURE_VOWIFI
1351 wpt_int8 cMaxTxPower;
1352
1353 /*Self STA Mac address*/
1354 wpt_macAddr macSelfStaMacAddr;
1355#endif
1356 /* VO Wifi comment: BSSID is needed to identify which session issued this request. As the
1357 request has power constraints, this should be applied only to that session */
1358 /* V IMP: Keep bssId field at the end of this msg. It is used to mantain backward compatbility
1359 * by way of ignoring if using new host/old FW or old host/new FW since it is at the end of this struct
1360 */
1361 wpt_macAddr macBSSId;
1362
1363}WDI_SwitchChReqInfoType;
1364
1365/*---------------------------------------------------------------------------
1366 WDI_SwitchChReqParamsType
1367---------------------------------------------------------------------------*/
1368typedef struct
1369{
1370 /*Channel Info*/
1371 WDI_SwitchChReqInfoType wdiChInfo;
1372
1373 /*Request status callback offered by UMAC - it is called if the current
1374 req has returned PENDING as status; it delivers the status of sending
1375 the message over the BUS */
1376 WDI_ReqStatusCb wdiReqStatusCB;
1377
1378 /*The user data passed in by UMAC, it will be sent back when the above
1379 function pointer will be called */
1380 void* pUserData;
1381}WDI_SwitchChReqParamsType;
1382
1383/*---------------------------------------------------------------------------
1384 WDI_FinishScanReqParamsType
1385---------------------------------------------------------------------------*/
1386typedef struct
1387{
1388 /*Info for the Finish Scan request that will be sent down to the device*/
1389 WDI_FinishScanReqInfoType wdiReqInfo;
1390
1391 /*Request status callback offered by UMAC - it is called if the current
1392 req has returned PENDING as status; it delivers the status of sending
1393 the message over the BUS */
1394 WDI_ReqStatusCb wdiReqStatusCB;
1395
1396 /*The user data passed in by UMAC, it will be sent back when the above
1397 function pointer will be called */
1398 void* pUserData;
1399}WDI_FinishScanReqParamsType;
1400
1401/*---------------------------------------------------------------------------
1402 WDI_JoinReqInfoType
1403---------------------------------------------------------------------------*/
1404typedef struct
1405{
1406 /*Indicates the BSSID to which STA is going to associate*/
1407 wpt_macAddr macBSSID;
1408
1409 /*Indicates the MAC Address of the current Self STA*/
1410 wpt_macAddr macSTASelf;
1411
1412 /*Indicates the link State determining the entity Type e.g. BTAMP-STA, STA etc.*/
1413 wpt_uint32 linkState;
1414
1415 /*Indicates the channel to switch to.*/
1416 WDI_SwitchChReqInfoType wdiChannelInfo;
1417
1418}WDI_JoinReqInfoType;
1419
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08001420typedef enum
1421{
1422 eWDI_CHANNEL_SWITCH_SOURCE_SCAN,
1423 eWDI_CHANNEL_SWITCH_SOURCE_LISTEN,
1424 eWDI_CHANNEL_SWITCH_SOURCE_MCC,
1425 eWDI_CHANNEL_SWITCH_SOURCE_CSA,
1426 eWDI_CHANNEL_SWITCH_SOURCE_MAX = 0x7FFFFFFF
1427} WDI_ChanSwitchSource;
1428
1429/*---------------------------------------------------------------------------
1430 WDI_SwitchChReqInfoType_V1
1431---------------------------------------------------------------------------*/
1432typedef struct
1433{
1434 /*Indicates the channel to switch to.*/
1435 wpt_uint8 ucChannel;
1436
1437 /*Local power constraint*/
1438 wpt_uint8 ucLocalPowerConstraint;
1439
1440 /*Secondary channel offset */
1441 WDI_HTSecondaryChannelOffset wdiSecondaryChannelOffset;
1442
1443#ifdef WLAN_FEATURE_VOWIFI
1444 wpt_int8 cMaxTxPower;
1445 /*Self STA Mac address*/
1446 wpt_macAddr macSelfStaMacAddr;
1447#endif
1448 /* VO Wifi comment: BSSID is needed to identify which session
1449 issued this request. As the request has power constraints, this
1450 should be applied only to that session
1451 */
1452 /* V IMP: Keep bssId field at the end of this msg. It is used to
1453 maintain backward compatibility by way of ignoring if using new
1454 host/old FW or old host/new FW since it is at the end of this struct
1455 */
1456 wpt_macAddr macBSSId;
1457 /* Source of Channel Switch */
1458 WDI_ChanSwitchSource channelSwitchSrc;
1459}WDI_SwitchChReqInfoType_V1;
1460
1461/*--------------------------------------------------------------------
1462 WDI_SwitchChReqParamsType_V1
1463----------------------------------------------------------------------*/
1464typedef struct
1465{
1466 /*Channel Info*/
1467 WDI_SwitchChReqInfoType_V1 wdiChInfo;
1468
1469 /*Request status callback offered by UMAC - it is called if the current
1470 req has returned PENDING as status; it delivers the status of sending
1471 the message over the BUS */
1472 WDI_ReqStatusCb wdiReqStatusCB;
1473
1474 /*The user data passed in by UMAC, it will be sent back when the above
1475 function pointer will be called */
1476 void* pUserData;
1477}WDI_SwitchChReqParamsType_V1;
1478
Jeff Johnson295189b2012-06-20 16:38:30 -07001479/*---------------------------------------------------------------------------
1480 WDI_JoinReqParamsType
1481---------------------------------------------------------------------------*/
1482typedef struct
1483{
1484 /*Info for the Join request that will be sent down to the device*/
1485 WDI_JoinReqInfoType wdiReqInfo;
1486
1487 /*Request status callback offered by UMAC - it is called if the current
1488 req has returned PENDING as status; it delivers the status of sending
1489 the message over the BUS */
1490 WDI_ReqStatusCb wdiReqStatusCB;
1491
1492 /*The user data passed in by UMAC, it will be sent back when the above
1493 function pointer will be called */
1494 void* pUserData;
1495}WDI_JoinReqParamsType;
1496
1497/*---------------------------------------------------------------------------
1498 WDI_BssType
1499---------------------------------------------------------------------------*/
1500typedef enum
1501{
1502 WDI_INFRASTRUCTURE_MODE,
1503 WDI_INFRA_AP_MODE, //Added for softAP support
1504 WDI_IBSS_MODE,
1505 WDI_BTAMP_STA_MODE,
1506 WDI_BTAMP_AP_MODE,
1507 WDI_BSS_AUTO_MODE,
1508}WDI_BssType;
1509
1510/*---------------------------------------------------------------------------
1511 WDI_NwType
1512---------------------------------------------------------------------------*/
1513typedef enum
1514{
1515 WDI_11A_NW_TYPE,
1516 WDI_11B_NW_TYPE,
1517 WDI_11G_NW_TYPE,
1518 WDI_11N_NW_TYPE,
1519} WDI_NwType;
1520
1521/*---------------------------------------------------------------------------
1522 WDI_ConfigAction
1523---------------------------------------------------------------------------*/
1524typedef enum
1525{
1526 WDI_ADD_BSS,
1527 WDI_UPDATE_BSS
1528} WDI_ConfigAction;
1529
1530/*---------------------------------------------------------------------------
1531 WDI_HTOperatingMode
1532---------------------------------------------------------------------------*/
1533typedef enum
1534{
1535 WDI_HT_OP_MODE_PURE,
1536 WDI_HT_OP_MODE_OVERLAP_LEGACY,
1537 WDI_HT_OP_MODE_NO_LEGACY_20MHZ_HT,
1538 WDI_HT_OP_MODE_MIXED
1539
1540} WDI_HTOperatingMode;
1541
1542
1543/*---------------------------------------------------------------------------
1544 WDI_STAEntryType
1545---------------------------------------------------------------------------*/
1546typedef enum
1547{
1548 WDI_STA_ENTRY_SELF,
1549 WDI_STA_ENTRY_PEER,
1550 WDI_STA_ENTRY_BSSID,
Mohit Khanna698ba2a2012-12-04 15:08:18 -08001551 WDI_STA_ENTRY_BCAST,
1552#ifdef FEATURE_WLAN_TDLS
1553 WDI_STA_ENTRY_TDLS_PEER,
1554#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001555}WDI_STAEntryType;
1556
1557/*---------------------------------------------------------------------------
1558 WDI_ConfigActionType
1559---------------------------------------------------------------------------*/
1560typedef enum
1561{
1562 WDI_ADD_STA,
1563 WDI_UPDATE_STA
1564} WDI_ConfigActionType;
1565
1566/*----------------------------------------------------------------------------
1567 Each station added has a rate mode which specifies the sta attributes
1568 ----------------------------------------------------------------------------*/
1569typedef enum
1570{
1571 WDI_RESERVED_1 = 0,
1572 WDI_RESERVED_2,
1573 WDI_RESERVED_3,
1574 WDI_11b,
1575 WDI_11bg,
1576 WDI_11a,
1577 WDI_11n,
1578} WDI_RateModeType;
1579
1580/*---------------------------------------------------------------------------
1581 WDI_SupportedRatesType
1582---------------------------------------------------------------------------*/
1583typedef struct
1584{
1585 /*
1586 * For Self STA Entry: this represents Self Mode.
1587 * For Peer Stations, this represents the mode of the peer.
1588 * On Station:
1589 * --this mode is updated when PE adds the Self Entry.
1590 * -- OR when PE sends 'ADD_BSS' message and station context in BSS is used to indicate the mode of the AP.
1591 * ON AP:
1592 * -- this mode is updated when PE sends 'ADD_BSS' and Sta entry for that BSS is used
1593 * to indicate the self mode of the AP.
1594 * -- OR when a station is associated, PE sends 'ADD_STA' message with this mode updated.
1595 */
1596
1597 WDI_RateModeType opRateMode;
1598
1599 /* 11b, 11a and aniLegacyRates are IE rates which gives rate in unit of 500Kbps */
1600 wpt_uint16 llbRates[WDI_NUM_11B_RATES];
1601 wpt_uint16 llaRates[WDI_NUM_11A_RATES];
1602 wpt_uint16 aLegacyRates[WDI_NUM_POLARIS_RATES];
1603
1604 /*Taurus only supports 26 Titan Rates(no ESF/concat Rates will be supported)
1605 First 26 bits are reserved for those Titan rates and
1606 the last 4 bits(bit28-31) for Taurus, 2(bit26-27) bits are reserved.*/
1607 wpt_uint32 uEnhancedRateBitmap; //Titan and Taurus Rates
1608
1609 /*
1610 * 0-76 bits used, remaining reserved
1611 * bits 0-15 and 32 should be set.
1612 */
1613 wpt_uint8 aSupportedMCSSet[WDI_MAC_MAX_SUPPORTED_MCS_SET];
1614
1615 /*
1616 * RX Highest Supported Data Rate defines the highest data
1617 * rate that the STA is able to receive, in unites of 1Mbps.
1618 * This value is derived from "Supported MCS Set field" inside
1619 * the HT capability element.
1620 */
1621 wpt_uint16 aRxHighestDataRate;
1622
Jeff Johnsone7245742012-09-05 17:12:55 -07001623
1624#ifdef WLAN_FEATURE_11AC
1625 /*Indicates the Maximum MCS that can be received for each number
1626 of spacial streams */
1627 wpt_uint16 vhtRxMCSMap;
1628 /*Indicate the highest VHT data rate that the STA is able to receive*/
1629 wpt_uint16 vhtRxHighestDataRate;
1630 /*Indicates the Maximum MCS that can be transmitted for each number
1631 of spacial streams */
1632 wpt_uint16 vhtTxMCSMap;
1633 /*Indicate the highest VHT data rate that the STA is able to transmit*/
1634 wpt_uint16 vhtTxHighestDataRate;
1635#endif
1636
Jeff Johnson295189b2012-06-20 16:38:30 -07001637} WDI_SupportedRates;
1638
1639/*--------------------------------------------------------------------------
1640 WDI_HTMIMOPowerSaveState
1641 Spatial Multiplexing(SM) Power Save mode
1642 --------------------------------------------------------------------------*/
1643typedef enum
1644{
1645 WDI_HT_MIMO_PS_STATIC = 0, // Static SM Power Save mode
1646 WDI_HT_MIMO_PS_DYNAMIC = 1, // Dynamic SM Power Save mode
1647 WDI_HT_MIMO_PS_NA = 2, // reserved
1648 WDI_HT_MIMO_PS_NO_LIMIT = 3, // SM Power Save disabled
1649} WDI_HTMIMOPowerSaveState;
1650
1651/*---------------------------------------------------------------------------
1652 WDI_ConfigStaReqInfoType
1653---------------------------------------------------------------------------*/
1654typedef struct
1655{
1656 /*BSSID of STA*/
1657 wpt_macAddr macBSSID;
1658
1659 /*ASSOC ID, as assigned by UMAC*/
1660 wpt_uint16 usAssocId;
1661
1662 /*Used for configuration of different HW modules.*/
1663 WDI_STAEntryType wdiSTAType;
1664
Gopichand Nakkalae7cbc5d2013-03-27 21:09:23 -07001665 /*STA Index */
1666 wpt_uint8 staIdx;
1667
Jeff Johnson295189b2012-06-20 16:38:30 -07001668 /*Short Preamble Supported.*/
1669 wpt_uint8 ucShortPreambleSupported;
1670
1671 /*MAC Address of STA*/
1672 wpt_macAddr macSTA;
1673
1674 /*Listen interval of the STA*/
1675 wpt_uint16 usListenInterval;
1676
1677 /*Support for 11e/WMM*/
1678 wpt_uint8 ucWMMEnabled;
1679
1680 /*11n HT capable STA*/
1681 wpt_uint8 ucHTCapable;
1682
1683 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
1684 wpt_uint8 ucTXChannelWidthSet;
1685
1686 /*RIFS mode 0 - NA, 1 - Allowed*/
1687 wpt_uint8 ucRIFSMode;
1688
1689 /*L-SIG TXOP Protection mechanism
1690 0 - No Support, 1 - Supported
1691 SG - there is global field*/
1692 wpt_uint8 ucLSIGTxopProtection;
1693
1694 /*Max Ampdu Size supported by STA. Device programming.
1695 0 : 8k , 1 : 16k, 2 : 32k, 3 : 64k */
1696 wpt_uint8 ucMaxAmpduSize;
1697
1698 /*Max Ampdu density. Used by RA. 3 : 0~7 : 2^(11nAMPDUdensity -4)*/
1699 wpt_uint8 ucMaxAmpduDensity;
1700
1701 /*Max AMSDU size 1 : 3839 bytes, 0 : 7935 bytes*/
1702 wpt_uint8 ucMaxAmsduSize;
1703
1704 /*Short GI support for 40Mhz packets*/
1705 wpt_uint8 ucShortGI40Mhz;
1706
1707 /*Short GI support for 20Mhz packets*/
1708 wpt_uint8 ucShortGI20Mhz;
1709
1710 /*These rates are the intersection of peer and self capabilities.*/
1711 WDI_SupportedRates wdiSupportedRates;
1712
1713 /*Robust Management Frame (RMF) enabled/disabled*/
1714 wpt_uint8 ucRMFEnabled;
1715
1716 /* The unicast encryption type in the association */
1717 wpt_uint32 ucEncryptType;
1718
1719 /*HAL should update the existing STA entry, if this flag is set. UMAC
1720 will set this flag in case of RE-ASSOC, where we want to reuse the old
1721 STA ID.*/
1722 WDI_ConfigActionType wdiAction;
1723
1724 /*U-APSD Flags: 1b per AC. Encoded as follows:
1725 b7 b6 b5 b4 b3 b2 b1 b0 =
1726 X X X X BE BK VI VO
1727 */
1728 wpt_uint8 ucAPSD;
1729
1730 /*Max SP Length*/
1731 wpt_uint8 ucMaxSPLen;
1732
1733 /*11n Green Field preamble support*/
1734 wpt_uint8 ucGreenFieldCapable;
1735
1736 /*MIMO Power Save mode*/
1737 WDI_HTMIMOPowerSaveState wdiMIMOPS;
1738
1739 /*Delayed BA Support*/
1740 wpt_uint8 ucDelayedBASupport;
1741
1742 /*Max AMPDU duration in 32us*/
1743 wpt_uint8 us32MaxAmpduDuratio;
1744
1745 /*HT STA should set it to 1 if it is enabled in BSS
1746 HT STA should set it to 0 if AP does not support it. This indication is
1747 sent to HAL and HAL uses this flag to pickup up appropriate 40Mhz rates.
1748 */
1749 wpt_uint8 ucDsssCckMode40Mhz;
1750
1751 wpt_uint8 ucP2pCapableSta;
Jeff Johnsone7245742012-09-05 17:12:55 -07001752#ifdef WLAN_FEATURE_11AC
1753 wpt_uint8 ucVhtCapableSta;
1754 wpt_uint8 ucVhtTxChannelWidthSet;
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08001755 wpt_uint8 ucVhtTxBFEnabled;
Abhishek Singh6927fa02014-06-27 17:19:55 +05301756 wpt_uint8 vhtTxMUBformeeCapable;
Jeff Johnsone7245742012-09-05 17:12:55 -07001757#endif
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08001758
1759 wpt_uint8 ucHtLdpcEnabled;
1760 wpt_uint8 ucVhtLdpcEnabled;
Jeff Johnson295189b2012-06-20 16:38:30 -07001761}WDI_ConfigStaReqInfoType;
1762
1763
1764/*---------------------------------------------------------------------------
1765 WDI_RateSet
1766
1767 12 Bytes long because this structure can be used to represent rate
1768 and extended rate set IEs
1769 The parser assume this to be at least 12
1770---------------------------------------------------------------------------*/
1771#define WDI_RATESET_EID_MAX 12
1772
1773typedef struct
1774{
1775 wpt_uint8 ucNumRates;
1776 wpt_uint8 aRates[WDI_RATESET_EID_MAX];
1777} WDI_RateSet;
1778
1779/*---------------------------------------------------------------------------
1780 WDI_AciAifsnType
1781 access category record
1782---------------------------------------------------------------------------*/
1783typedef struct
1784{
1785 wpt_uint8 rsvd : 1;
1786 wpt_uint8 aci : 2;
1787 wpt_uint8 acm : 1;
1788 wpt_uint8 aifsn : 4;
1789} WDI_AciAifsnType;
1790
1791/*---------------------------------------------------------------------------
1792 WDI_CWType
1793 contention window size
1794---------------------------------------------------------------------------*/
1795typedef struct
1796{
1797 wpt_uint8 max : 4;
1798 wpt_uint8 min : 4;
1799} WDI_CWType;
1800
1801/*---------------------------------------------------------------------------
1802 WDI_EdcaParamRecord
1803---------------------------------------------------------------------------*/
1804typedef struct
1805{
1806 /*Access Category Record*/
1807 WDI_AciAifsnType wdiACI;
1808
1809 /*Contention WIndow Size*/
1810 WDI_CWType wdiCW;
1811
1812 /*TX Oportunity Limit*/
1813 wpt_uint16 usTXOPLimit;
1814} WDI_EdcaParamRecord;
1815
1816/*---------------------------------------------------------------------------
1817 WDI_EDCAParamsType
1818---------------------------------------------------------------------------*/
1819typedef struct
1820{
1821 /*BSS Index*/
1822 wpt_uint8 ucBSSIdx;
1823
1824 /*?*/
1825 wpt_boolean bHighPerformance;
1826
1827 /*Best Effort*/
1828 WDI_EdcaParamRecord wdiACBE;
1829
1830 /*Background*/
1831 WDI_EdcaParamRecord wdiACBK;
1832
1833 /*Video*/
1834 WDI_EdcaParamRecord wdiACVI;
1835
1836 /*Voice*/
1837 WDI_EdcaParamRecord acvo; // voice
1838} WDI_EDCAParamsType;
1839
1840/* operMode in ADD BSS message */
1841#define WDI_BSS_OPERATIONAL_MODE_AP 0
1842#define WDI_BSS_OPERATIONAL_MODE_STA 1
1843
1844/*---------------------------------------------------------------------------
1845 WDI_ConfigBSSRspParamsType
1846---------------------------------------------------------------------------*/
1847typedef struct
1848{
1849 /*Status of the response*/
1850 WDI_Status wdiStatus;
1851
1852 /*BSSID of the BSS*/
1853 wpt_macAddr macBSSID;
1854
1855 /*BSS Index*/
1856 wpt_uint8 ucBSSIdx;
1857
1858 /*Unicast DPU signature*/
1859 wpt_uint8 ucUcastSig;
1860
1861 /*Broadcast DPU Signature*/
1862 wpt_uint8 ucBcastSig;
1863
1864 /*MAC Address of STA*/
1865 wpt_macAddr macSTA;
1866
1867 /*BSS STA ID*/
1868 wpt_uint8 ucSTAIdx;
1869
1870#ifdef WLAN_FEATURE_VOWIFI
1871 /*HAL fills in the tx power used for mgmt frames in this field */
1872 wpt_int8 ucTxMgmtPower;
1873#endif
1874
1875}WDI_ConfigBSSRspParamsType;
1876
1877/*---------------------------------------------------------------------------
1878 WDI_DelBSSReqParamsType
1879---------------------------------------------------------------------------*/
1880typedef struct
1881{
1882 /*BSS Index of the BSS*/
1883 wpt_uint8 ucBssIdx;
1884
1885 /*Request status callback offered by UMAC - it is called if the current
1886 req has returned PENDING as status; it delivers the status of sending
1887 the message over the BUS */
1888 WDI_ReqStatusCb wdiReqStatusCB;
1889
1890 /*The user data passed in by UMAC, it will be sent back when the above
1891 function pointer will be called */
1892 void* pUserData;
1893}WDI_DelBSSReqParamsType;
1894
1895/*---------------------------------------------------------------------------
1896 WDI_DelBSSRspParamsType
1897---------------------------------------------------------------------------*/
1898typedef struct
1899{
1900 /*Status of the response*/
1901 WDI_Status wdiStatus;
1902
1903 /*BSSID of the BSS*/
1904 wpt_macAddr macBSSID;
1905
1906 wpt_uint8 ucBssIdx;
1907
1908}WDI_DelBSSRspParamsType;
1909
1910/*---------------------------------------------------------------------------
1911 WDI_ConfigSTARspParamsType
1912---------------------------------------------------------------------------*/
1913typedef struct
1914{
1915 /*Status of the response*/
1916 WDI_Status wdiStatus;
1917
1918 /*STA Idx allocated by HAL*/
1919 wpt_uint8 ucSTAIdx;
1920
1921 /*MAC Address of STA*/
1922 wpt_macAddr macSTA;
1923
1924 /* BSSID Index of BSS to which the station is associated */
1925 wpt_uint8 ucBssIdx;
1926
1927 /* DPU Index - PTK */
1928 wpt_uint8 ucDpuIndex;
1929
1930 /* Bcast DPU Index - GTK */
1931 wpt_uint8 ucBcastDpuIndex;
1932
1933 /* Management DPU Index - IGTK - Why is it called bcastMgmtDpuIdx? */
1934 wpt_uint8 ucBcastMgmtDpuIdx;
1935
1936 /*Unicast DPU signature*/
1937 wpt_uint8 ucUcastSig;
1938
1939 /*Broadcast DPU Signature*/
1940 wpt_uint8 ucBcastSig;
1941
1942 /* IGTK DPU signature*/
1943 wpt_uint8 ucMgmtSig;
1944
1945}WDI_ConfigSTARspParamsType;
1946
1947/*---------------------------------------------------------------------------
1948 WDI_PostAssocRspParamsType
1949---------------------------------------------------------------------------*/
1950typedef struct
1951{
1952 /*Status of the response*/
1953 WDI_Status wdiStatus;
1954
1955 /*Parameters related to the BSS*/
1956 WDI_ConfigBSSRspParamsType bssParams;
1957
1958 /*Parameters related to the self STA*/
1959 WDI_ConfigSTARspParamsType staParams;
1960
1961}WDI_PostAssocRspParamsType;
1962
1963/*---------------------------------------------------------------------------
1964 WDI_DelSTAReqParamsType
1965---------------------------------------------------------------------------*/
1966typedef struct
1967{
1968 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
1969 wpt_uint8 ucSTAIdx;
1970
1971 /*Request status callback offered by UMAC - it is called if the current
1972 req has returned PENDING as status; it delivers the status of sending
1973 the message over the BUS */
1974 WDI_ReqStatusCb wdiReqStatusCB;
1975
1976 /*The user data passed in by UMAC, it will be sent back when the above
1977 function pointer will be called */
1978 void* pUserData;
1979}WDI_DelSTAReqParamsType;
1980
1981/*---------------------------------------------------------------------------
1982 WDI_DelSTARspParamsType
1983---------------------------------------------------------------------------*/
1984typedef struct
1985{
1986 /*Status of the response*/
1987 WDI_Status wdiStatus;
1988
1989 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
1990 wpt_uint8 ucSTAIdx;
1991}WDI_DelSTARspParamsType;
1992
1993/*---------------------------------------------------------------------------
1994 WDI_EncryptType
1995---------------------------------------------------------------------------*/
1996typedef enum
1997{
1998 WDI_ENCR_NONE,
1999 WDI_ENCR_WEP40,
2000 WDI_ENCR_WEP104,
2001 WDI_ENCR_TKIP,
2002 WDI_ENCR_CCMP,
2003#if defined(FEATURE_WLAN_WAPI)
2004 WDI_ENCR_WPI,
2005#endif
2006 WDI_ENCR_AES_128_CMAC
2007} WDI_EncryptType;
2008
2009/*---------------------------------------------------------------------------
2010 WDI_KeyDirectionType
2011---------------------------------------------------------------------------*/
2012typedef enum
2013{
2014 WDI_TX_ONLY,
2015 WDI_RX_ONLY,
2016 WDI_TX_RX,
Jeff Johnson295189b2012-06-20 16:38:30 -07002017 WDI_TX_DEFAULT,
Jeff Johnson295189b2012-06-20 16:38:30 -07002018 WDI_DONOT_USE_KEY_DIRECTION
2019} WDI_KeyDirectionType;
2020
2021#define WDI_MAX_ENCR_KEYS 4
2022#define WDI_MAX_KEY_LENGTH 32
2023#if defined(FEATURE_WLAN_WAPI)
2024#define WDI_MAX_KEY_RSC_LEN 16
2025#define WDI_WAPI_KEY_RSC_LEN 16
2026#else
2027#define WDI_MAX_KEY_RSC_LEN 8
2028#endif
2029
2030typedef struct
2031{
2032 /* Key ID */
2033 wpt_uint8 keyId;
2034 /* 0 for multicast */
2035 wpt_uint8 unicast;
2036 /* Key Direction */
2037 WDI_KeyDirectionType keyDirection;
2038 /* Usage is unknown */
2039 wpt_uint8 keyRsc[WDI_MAX_KEY_RSC_LEN];
2040 /* =1 for authenticator, =0 for supplicant */
2041 wpt_uint8 paeRole;
2042 wpt_uint16 keyLength;
2043 wpt_uint8 key[WDI_MAX_KEY_LENGTH];
2044
2045}WDI_KeysType;
2046
2047/*---------------------------------------------------------------------------
2048 WDI_SetBSSKeyReqInfoType
2049---------------------------------------------------------------------------*/
2050typedef struct
2051{
2052 /*BSS Index of the BSS*/
2053 wpt_uint8 ucBssIdx;
2054
2055 /*Encryption Type used with peer*/
2056 WDI_EncryptType wdiEncType;
2057
2058 /*Number of keys*/
2059 wpt_uint8 ucNumKeys;
2060
2061 /*Array of keys.*/
2062 WDI_KeysType aKeys[WDI_MAX_ENCR_KEYS];
2063
2064 /*Control for Replay Count, 1= Single TID based replay count on Tx
2065 0 = Per TID based replay count on TX */
2066 wpt_uint8 ucSingleTidRc;
2067}WDI_SetBSSKeyReqInfoType;
2068
2069/*---------------------------------------------------------------------------
2070 WDI_SetBSSKeyReqParamsType
2071---------------------------------------------------------------------------*/
2072typedef struct
2073{
2074 /*Key Info */
2075 WDI_SetBSSKeyReqInfoType wdiBSSKeyInfo;
2076
2077 /*Request status callback offered by UMAC - it is called if the current
2078 req has returned PENDING as status; it delivers the status of sending
2079 the message over the BUS */
2080 WDI_ReqStatusCb wdiReqStatusCB;
2081
2082 /*The user data passed in by UMAC, it will be sent back when the above
2083 function pointer will be called */
2084 void* pUserData;
2085}WDI_SetBSSKeyReqParamsType;
2086
2087/*---------------------------------------------------------------------------
2088 WDI_WepType
2089---------------------------------------------------------------------------*/
2090typedef enum
2091{
2092 WDI_WEP_STATIC,
2093 WDI_WEP_DYNAMIC
2094
2095} WDI_WepType;
2096
2097/*---------------------------------------------------------------------------
2098 WDI_RemoveBSSKeyReqInfoType
2099---------------------------------------------------------------------------*/
2100typedef struct
2101{
2102 /*BSS Index of the BSS*/
2103 wpt_uint8 ucBssIdx;
2104
2105 /*Encryption Type used with peer*/
2106 WDI_EncryptType wdiEncType;
2107
2108 /*Key Id*/
2109 wpt_uint8 ucKeyId;
2110
2111 /*STATIC/DYNAMIC. Used in Nullifying in Key Descriptors for Static/Dynamic
2112 keys*/
2113 WDI_WepType wdiWEPType;
2114}WDI_RemoveBSSKeyReqInfoType;
2115
2116/*---------------------------------------------------------------------------
2117 WDI_RemoveBSSKeyReqParamsType
2118---------------------------------------------------------------------------*/
2119typedef struct
2120{
2121 /*Key Info */
2122 WDI_RemoveBSSKeyReqInfoType wdiKeyInfo;
2123
2124 /*Request status callback offered by UMAC - it is called if the current
2125 req has returned PENDING as status; it delivers the status of sending
2126 the message over the BUS */
2127 WDI_ReqStatusCb wdiReqStatusCB;
2128
2129 /*The user data passed in by UMAC, it will be sent back when the above
2130 function pointer will be called */
2131 void* pUserData;
2132}WDI_RemoveBSSKeyReqParamsType;
2133
2134/*---------------------------------------------------------------------------
2135 WDI_SetSTAKeyReqInfoType
2136---------------------------------------------------------------------------*/
2137typedef struct
2138{
2139 /*STA Index*/
2140 wpt_uint8 ucSTAIdx;
2141
2142 /*Encryption Type used with peer*/
2143 WDI_EncryptType wdiEncType;
2144
2145 /*STATIC/DYNAMIC*/
2146 WDI_WepType wdiWEPType;
2147
2148 /*Default WEP key, valid only for static WEP, must between 0 and 3.*/
2149 wpt_uint8 ucDefWEPIdx;
2150
2151 /*Number of keys*/
2152 wpt_uint8 ucNumKeys;
2153
2154 /*Array of keys.*/
2155 WDI_KeysType wdiKey[WDI_MAX_ENCR_KEYS];
2156
2157 /*Control for Replay Count, 1= Single TID based replay count on Tx
2158 0 = Per TID based replay count on TX */
2159 wpt_uint8 ucSingleTidRc;
2160}WDI_SetSTAKeyReqInfoType;
2161
2162/*---------------------------------------------------------------------------
2163 WDI_ConfigBSSReqInfoType
2164---------------------------------------------------------------------------*/
2165typedef struct
2166{
2167 /*Peer BSSID*/
2168 wpt_macAddr macBSSID;
2169
2170 /*Self MAC Address*/
2171 wpt_macAddr macSelfAddr;
2172
2173 /*BSS Type*/
2174 WDI_BssType wdiBSSType;
2175
2176 /*Operational Mode: AP =0, STA = 1*/
2177 wpt_uint8 ucOperMode;
2178
2179 /*Network Type*/
2180 WDI_NwType wdiNWType;
2181
2182 /*Used to classify PURE_11G/11G_MIXED to program MTU*/
2183 wpt_uint8 ucShortSlotTimeSupported;
2184
2185 /*Co-exist with 11a STA*/
2186 wpt_uint8 ucllaCoexist;
2187
2188 /*Co-exist with 11b STA*/
2189 wpt_uint8 ucllbCoexist;
2190
2191 /*Co-exist with 11g STA*/
2192 wpt_uint8 ucllgCoexist;
2193
2194 /*Coexistence with 11n STA*/
2195 wpt_uint8 ucHT20Coexist;
2196
2197 /*Non GF coexist flag*/
2198 wpt_uint8 ucllnNonGFCoexist;
2199
2200 /*TXOP protection support*/
2201 wpt_uint8 ucTXOPProtectionFullSupport;
2202
2203 /*RIFS mode*/
2204 wpt_uint8 ucRIFSMode;
2205
2206 /*Beacon Interval in TU*/
2207 wpt_uint16 usBeaconInterval;
2208
2209 /*DTIM period*/
2210 wpt_uint8 ucDTIMPeriod;
2211
2212 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
2213 wpt_uint8 ucTXChannelWidthSet;
2214
2215 /*Operating channel*/
2216 wpt_uint8 ucCurrentOperChannel;
2217
2218 /*Extension channel for channel bonding*/
2219 wpt_uint8 ucCurrentExtChannel;
2220
2221 /*Context of the station being added in HW.*/
2222 WDI_ConfigStaReqInfoType wdiSTAContext;
2223
2224 /*SSID of the BSS*/
2225 WDI_MacSSid wdiSSID;
2226
2227 /*HAL should update the existing BSS entry, if this flag is set. UMAC will
2228 set this flag in case of RE-ASSOC, where we want to reuse the old BSSID*/
2229 WDI_ConfigAction wdiAction;
2230
2231 /*Basic Rate Set*/
2232 WDI_RateSet wdiRateSet;
2233
2234 /*Enable/Disable HT capabilities of the BSS*/
2235 wpt_uint8 ucHTCapable;
2236
2237 /* Enable/Disable OBSS protection */
2238 wpt_uint8 ucObssProtEnabled;
2239
2240 /*RMF enabled/disabled*/
2241 wpt_uint8 ucRMFEnabled;
2242
2243 /*Determines the current HT Operating Mode operating mode of the
2244 802.11n STA*/
2245 WDI_HTOperatingMode wdiHTOperMod;
2246
2247 /*Dual CTS Protection: 0 - Unused, 1 - Used*/
2248 wpt_uint8 ucDualCTSProtection;
2249
2250 /* Probe Response Max retries */
2251 wpt_uint8 ucMaxProbeRespRetryLimit;
2252
2253 /* To Enable Hidden ssid */
2254 wpt_uint8 bHiddenSSIDEn;
2255
2256 /* To Enable Disable FW Proxy Probe Resp */
2257 wpt_uint8 bProxyProbeRespEn;
2258
2259 /* Boolean to indicate if EDCA params are valid. UMAC might not have valid
2260 EDCA params or might not desire to apply EDCA params during config BSS.
2261 0 implies Not Valid ; Non-Zero implies valid*/
2262 wpt_uint8 ucEDCAParamsValid;
2263
2264 /*EDCA Parameters for BK*/
2265 WDI_EdcaParamRecord wdiBKEDCAParams;
2266
2267 /*EDCA Parameters for BE*/
2268 WDI_EdcaParamRecord wdiBEEDCAParams;
2269
2270 /*EDCA Parameters for VI*/
2271 WDI_EdcaParamRecord wdiVIEDCAParams;
2272
2273 /*EDCA Parameters for VO*/
2274 WDI_EdcaParamRecord wdiVOEDCAParams;
2275
2276#ifdef WLAN_FEATURE_VOWIFI
2277 /*max power to be used after applying the power constraint, if any */
2278 wpt_int8 cMaxTxPower;
2279#endif
2280
2281 /* Persona for the BSS can be STA,AP,GO,CLIENT, same as Connection Mode */
2282 wpt_uint8 ucPersona;
2283
2284 /* Spectrum Mangement Indicator */
2285 wpt_uint8 bSpectrumMgtEn;
2286
2287#ifdef WLAN_FEATURE_VOWIFI_11R
2288 wpt_uint8 bExtSetStaKeyParamValid;
2289 WDI_SetSTAKeyReqInfoType wdiExtSetKeyParam;
2290#endif
2291
Jeff Johnsone7245742012-09-05 17:12:55 -07002292#ifdef WLAN_FEATURE_11AC
2293 wpt_uint8 ucVhtCapableSta;
2294 wpt_uint8 ucVhtTxChannelWidthSet;
2295#endif
2296
Jeff Johnson295189b2012-06-20 16:38:30 -07002297}WDI_ConfigBSSReqInfoType;
2298
2299/*---------------------------------------------------------------------------
2300 WDI_PostAssocReqParamsType
2301---------------------------------------------------------------------------*/
2302typedef struct
2303{
2304 /*Config STA arguments.*/
2305 WDI_ConfigStaReqInfoType wdiSTAParams;
2306
2307 /*Config BSS Arguments*/
2308 WDI_ConfigBSSReqInfoType wdiBSSParams;
2309
2310 /*Request status callback offered by UMAC - it is called if the current
2311 req has returned PENDING as status; it delivers the status of sending
2312 the message over the BUS */
2313 WDI_ReqStatusCb wdiReqStatusCB;
2314
2315 /*The user data passed in by UMAC, it will be sent back when the above
2316 function pointer will be called */
2317 void* pUserData;
2318}WDI_PostAssocReqParamsType;
2319
2320/*---------------------------------------------------------------------------
2321 WDI_ConfigBSSReqParamsType
2322---------------------------------------------------------------------------*/
2323typedef struct
2324{
2325 /*Info for the Join request that will be sent down to the device*/
2326 WDI_ConfigBSSReqInfoType wdiReqInfo;
2327
2328 /*Request status callback offered by UMAC - it is called if the current
2329 req has returned PENDING as status; it delivers the status of sending
2330 the message over the BUS */
2331 WDI_ReqStatusCb wdiReqStatusCB;
2332
2333 /*The user data passed in by UMAC, it will be sent back when the above
2334 function pointer will be called */
2335 void* pUserData;
2336}WDI_ConfigBSSReqParamsType;
2337
2338/*---------------------------------------------------------------------------
2339 WDI_SetSTAKeyReqParamsType
2340---------------------------------------------------------------------------*/
2341typedef struct
2342{
2343 /*Key Info*/
2344 WDI_SetSTAKeyReqInfoType wdiKeyInfo;
2345
2346 /*Request status callback offered by UMAC - it is called if the current
2347 req has returned PENDING as status; it delivers the status of sending
2348 the message over the BUS */
2349 WDI_ReqStatusCb wdiReqStatusCB;
2350
2351 /*The user data passed in by UMAC, it will be sent back when the above
2352 function pointer will be called */
2353 void* pUserData;
2354}WDI_SetSTAKeyReqParamsType;
2355
2356/*---------------------------------------------------------------------------
2357 WDI_RemoveSTAKeyReqInfoType
2358---------------------------------------------------------------------------*/
2359typedef struct
2360{
2361 /*STA Index*/
2362 wpt_uint8 ucSTAIdx;
2363
2364 /*Encryption Type used with peer*/
2365 WDI_EncryptType wdiEncType;
2366
2367 /*Key Id*/
2368 wpt_uint8 ucKeyId;
2369
2370 /*Whether to invalidate the Broadcast key or Unicast key. In case of WEP,
2371 the same key is used for both broadcast and unicast.*/
2372 wpt_uint8 ucUnicast;
2373}WDI_RemoveSTAKeyReqInfoType;
2374
2375/*---------------------------------------------------------------------------
2376 WDI_RemoveSTAKeyReqParamsType
2377---------------------------------------------------------------------------*/
2378typedef struct
2379{
2380 /*Key Info */
2381 WDI_RemoveSTAKeyReqInfoType wdiKeyInfo;
2382
2383 /*Request status callback offered by UMAC - it is called if the current
2384 req has returned PENDING as status; it delivers the status of sending
2385 the message over the BUS */
2386 WDI_ReqStatusCb wdiReqStatusCB;
2387
2388 /*The user data passed in by UMAC, it will be sent back when the above
2389 function pointer will be called */
2390 void* pUserData;
2391}WDI_RemoveSTAKeyReqParamsType;
2392
2393/*---------------------------------------------------------------------------
2394 QOS Parameters
2395---------------------------------------------------------------------------*/
2396
2397/*---------------------------------------------------------------------------
2398 WDI_TSInfoTfc
2399---------------------------------------------------------------------------*/
2400typedef struct
2401{
2402 wpt_uint16 ackPolicy:2;
2403 wpt_uint16 userPrio:3;
2404 wpt_uint16 psb:1;
2405 wpt_uint16 aggregation : 1;
2406 wpt_uint16 accessPolicy : 2;
2407 wpt_uint16 direction : 2;
2408 wpt_uint16 tsid : 4;
2409 wpt_uint16 trafficType : 1;
2410} WDI_TSInfoTfc;
2411
2412/*---------------------------------------------------------------------------
2413 WDI_TSInfoSch
2414---------------------------------------------------------------------------*/
2415typedef struct
2416{
2417 wpt_uint8 rsvd : 7;
2418 wpt_uint8 schedule : 1;
2419} WDI_TSInfoSch;
2420
2421/*---------------------------------------------------------------------------
2422 WDI_TSInfoType
2423---------------------------------------------------------------------------*/
2424typedef struct
2425{
2426 WDI_TSInfoTfc wdiTraffic;
2427 WDI_TSInfoSch wdiSchedule;
2428} WDI_TSInfoType;
2429
2430/*---------------------------------------------------------------------------
2431 WDI_TspecIEType
2432---------------------------------------------------------------------------*/
2433typedef struct
2434{
2435 wpt_uint8 ucType;
2436 wpt_uint8 ucLength;
2437 WDI_TSInfoType wdiTSinfo;
2438 wpt_uint16 usNomMsduSz;
2439 wpt_uint16 usMaxMsduSz;
2440 wpt_uint32 uMinSvcInterval;
2441 wpt_uint32 uMaxSvcInterval;
2442 wpt_uint32 uInactInterval;
2443 wpt_uint32 uSuspendInterval;
2444 wpt_uint32 uSvcStartTime;
2445 wpt_uint32 uMinDataRate;
2446 wpt_uint32 uMeanDataRate;
2447 wpt_uint32 uPeakDataRate;
2448 wpt_uint32 uMaxBurstSz;
2449 wpt_uint32 uDelayBound;
2450 wpt_uint32 uMinPhyRate;
2451 wpt_uint16 usSurplusBw;
2452 wpt_uint16 usMediumTime;
2453}WDI_TspecIEType;
2454
2455/*---------------------------------------------------------------------------
2456 WDI_AddTSReqInfoType
2457---------------------------------------------------------------------------*/
2458typedef struct
2459{
2460 /*STA Index*/
2461 wpt_uint8 ucSTAIdx;
2462
2463 /*Identifier for TSpec*/
2464 wpt_uint16 ucTspecIdx;
2465
2466 /*Tspec IE negotiated OTA*/
2467 WDI_TspecIEType wdiTspecIE;
2468
2469 /*UAPSD delivery and trigger enabled flags */
2470 wpt_uint8 ucUapsdFlags;
2471
2472 /*SI for each AC*/
2473 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
2474
2475 /*Suspend Interval for each AC*/
2476 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
2477
2478 /*DI for each AC*/
2479 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
2480
2481}WDI_AddTSReqInfoType;
2482
2483
2484/*---------------------------------------------------------------------------
2485 WDI_AddTSReqParamsType
2486---------------------------------------------------------------------------*/
2487typedef struct
2488{
2489 /*TSpec Info */
2490 WDI_AddTSReqInfoType wdiTsInfo;
2491
2492 /*Request status callback offered by UMAC - it is called if the current
2493 req has returned PENDING as status; it delivers the status of sending
2494 the message over the BUS */
2495 WDI_ReqStatusCb wdiReqStatusCB;
2496
2497 /*The user data passed in by UMAC, it will be sent back when the above
2498 function pointer will be called */
2499 void* pUserData;
2500}WDI_AddTSReqParamsType;
2501
2502/*---------------------------------------------------------------------------
2503 WDI_DelTSReqInfoType
2504---------------------------------------------------------------------------*/
2505typedef struct
2506{
2507 /*STA Index*/
2508 wpt_uint8 ucSTAIdx;
2509
2510 /*Identifier for TSpec*/
2511 wpt_uint16 ucTspecIdx;
2512
2513 /*BSSID of the BSS*/
2514 wpt_macAddr macBSSID;
2515}WDI_DelTSReqInfoType;
2516
2517/*---------------------------------------------------------------------------
2518 WDI_DelTSReqParamsType
2519---------------------------------------------------------------------------*/
2520typedef struct
2521{
2522 /*Del TSpec Info*/
2523 WDI_DelTSReqInfoType wdiDelTSInfo;
2524
2525 /*Request status callback offered by UMAC - it is called if the current
2526 req has returned PENDING as status; it delivers the status of sending
2527 the message over the BUS */
2528 WDI_ReqStatusCb wdiReqStatusCB;
2529
2530 /*The user data passed in by UMAC, it will be sent back when the above
2531 function pointer will be called */
2532 void* pUserData;
2533}WDI_DelTSReqParamsType;
2534
2535/*---------------------------------------------------------------------------
2536 WDI_UpdateEDCAInfoType
2537---------------------------------------------------------------------------*/
2538typedef struct
2539{
krunal soni0b366c02013-07-17 19:55:57 -07002540 /*BSS Index of the BSS*/
2541 wpt_uint16 ucBssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07002542
Jeff Johnson295189b2012-06-20 16:38:30 -07002543 /*EDCA params for BE*/
2544 WDI_EdcaParamRecord wdiEdcaBEInfo;
2545
2546 /*EDCA params for BK*/
2547 WDI_EdcaParamRecord wdiEdcaBKInfo;
2548
2549 /*EDCA params for VI*/
2550 WDI_EdcaParamRecord wdiEdcaVIInfo;
2551
2552 /*EDCA params for VO*/
2553 WDI_EdcaParamRecord wdiEdcaVOInfo;
2554
2555}WDI_UpdateEDCAInfoType;
2556
2557/*---------------------------------------------------------------------------
2558 WDI_UpdateEDCAParamsType
2559---------------------------------------------------------------------------*/
2560typedef struct
2561{
2562 /*EDCA Info */
2563 WDI_UpdateEDCAInfoType wdiEDCAInfo;
2564
2565 /*Request status callback offered by UMAC - it is called if the current
2566 req has returned PENDING as status; it delivers the status of sending
2567 the message over the BUS */
2568 WDI_ReqStatusCb wdiReqStatusCB;
2569
2570 /*The user data passed in by UMAC, it will be sent back when the above
2571 function pointer will be called */
2572 void* pUserData;
2573}WDI_UpdateEDCAParamsType;
2574
2575/*---------------------------------------------------------------------------
2576 WDI_AddBASessionReqinfoType
2577---------------------------------------------------------------------------*/
2578typedef struct
2579{
2580 /*Indicates the station for which BA is added..*/
2581 wpt_uint8 ucSTAIdx;
2582
2583 /*The peer mac address*/
2584 wpt_macAddr macPeerAddr;
2585
2586 /*TID for which BA was negotiated*/
2587 wpt_uint8 ucBaTID;
2588
2589 /*Delayed or imediate */
2590 wpt_uint8 ucBaPolicy;
2591
2592 /*The number of buffers for this TID (baTID)*/
2593 wpt_uint16 usBaBufferSize;
2594
2595 /*BA timeout in TU's*/
2596 wpt_uint16 usBaTimeout;
2597
2598 /*b0..b3 - Fragment Number - Always set to 0
2599 b4..b15 - Starting Sequence Number of first MSDU for which this BA is setup*/
2600 wpt_uint16 usBaSSN;
2601
2602 /*Originator/Recipient*/
2603 wpt_uint8 ucBaDirection;
2604
2605}WDI_AddBASessionReqinfoType;
2606
2607
2608/*---------------------------------------------------------------------------
2609 WDI_AddBASessionReqParamsType
2610---------------------------------------------------------------------------*/
2611typedef struct
2612{
2613 /*BA Session Info Type*/
2614 WDI_AddBASessionReqinfoType wdiBASessionInfoType;
2615
2616 /*Request status callback offered by UMAC - it is called if the current
2617 req has returned PENDING as status; it delivers the status of sending
2618 the message over the BUS */
2619 WDI_ReqStatusCb wdiReqStatusCB;
2620
2621 /*The user data passed in by UMAC, it will be sent back when the above
2622 function pointer will be called */
2623 void* pUserData;
2624}WDI_AddBASessionReqParamsType;
2625
2626/*---------------------------------------------------------------------------
2627 WDI_AddBASessionRspParamsType
2628---------------------------------------------------------------------------*/
2629typedef struct
2630{
2631 /*Status of the response*/
2632 WDI_Status wdiStatus;
2633
2634 /* Dialog token */
2635 wpt_uint8 ucBaDialogToken;
2636
2637 /* TID for which the BA session has been setup */
2638 wpt_uint8 ucBaTID;
2639
2640 /* BA Buffer Size allocated for the current BA session */
2641 wpt_uint8 ucBaBufferSize;
2642
2643 /* BA session ID */
2644 wpt_uint16 usBaSessionID;
2645
2646 /* Reordering Window buffer */
2647 wpt_uint8 ucWinSize;
2648
2649 /*Station Index to id the sta */
2650 wpt_uint8 ucSTAIdx;
2651
2652 /* Starting Sequence Number */
2653 wpt_uint16 usBaSSN;
2654
2655}WDI_AddBASessionRspParamsType;
2656
2657/*---------------------------------------------------------------------------
Siddharth Bhal171788a2014-09-29 21:02:40 +05302658 WDI_SpoofMacAddrRspParamType
2659---------------------------------------------------------------------------*/
2660typedef struct
2661{
2662 /* wdi status */
2663 wpt_uint32 wdiStatus;
2664
2665 /* Reserved Field */
2666 wpt_uint32 reserved;
2667
2668}WDI_SpoofMacAddrRspParamType;
2669/*---------------------------------------------------------------------------
Siddharth Bhal64246172015-02-27 01:04:37 +05302670 WDI_GetFrameLogRspParamType
2671---------------------------------------------------------------------------*/
2672typedef struct
2673{
2674 /* wdi status */
2675 wpt_uint32 wdiStatus;
2676}WDI_GetFrameLogRspParamType;
2677/*---------------------------------------------------------------------------
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05302678 WDI_MgmtLoggingRspParamType
2679---------------------------------------------------------------------------*/
2680typedef struct
2681{
2682 /* wdi status */
2683 wpt_uint32 wdiStatus;
2684
2685}WDI_MgmtLoggingRspParamType;
2686/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07002687 WDI_AddBAReqinfoType
2688---------------------------------------------------------------------------*/
2689typedef struct
2690{
2691 /*Indicates the station for which BA is added..*/
2692 wpt_uint8 ucSTAIdx;
2693
2694 /* Session Id */
2695 wpt_uint8 ucBaSessionID;
2696
2697 /* Reorder Window Size */
2698 wpt_uint8 ucWinSize;
2699
2700#ifdef FEATURE_ON_CHIP_REORDERING
2701 wpt_boolean bIsReorderingDoneOnChip;
2702#endif
2703
2704}WDI_AddBAReqinfoType;
2705
2706
2707/*---------------------------------------------------------------------------
2708 WDI_AddBAReqParamsType
2709---------------------------------------------------------------------------*/
2710typedef struct
2711{
2712 /*BA Info Type*/
2713 WDI_AddBAReqinfoType wdiBAInfoType;
2714
2715 /*Request status callback offered by UMAC - it is called if the current
2716 req has returned PENDING as status; it delivers the status of sending
2717 the message over the BUS */
2718 WDI_ReqStatusCb wdiReqStatusCB;
2719
2720 /*The user data passed in by UMAC, it will be sent back when the above
2721 function pointer will be called */
2722 void* pUserData;
2723}WDI_AddBAReqParamsType;
2724
2725
2726/*---------------------------------------------------------------------------
2727 WDI_AddBARspinfoType
2728---------------------------------------------------------------------------*/
2729typedef struct
2730{
2731 /*Status of the response*/
2732 WDI_Status wdiStatus;
2733
2734 /* Dialog token */
2735 wpt_uint8 ucBaDialogToken;
2736
2737}WDI_AddBARspinfoType;
2738
2739/*---------------------------------------------------------------------------
2740 WDI_TriggerBAReqCandidateType
2741---------------------------------------------------------------------------*/
2742typedef struct
2743{
2744 /* STA index */
2745 wpt_uint8 ucSTAIdx;
2746
2747 /* TID bit map for the STA's*/
2748 wpt_uint8 ucTidBitmap;
2749
2750}WDI_TriggerBAReqCandidateType;
2751
2752
2753/*---------------------------------------------------------------------------
2754 WDI_TriggerBAReqinfoType
2755---------------------------------------------------------------------------*/
2756typedef struct
2757{
2758 /*Indicates the station for which BA is added..*/
2759 wpt_uint8 ucSTAIdx;
2760
2761 /* Session Id */
2762 wpt_uint8 ucBASessionID;
2763
2764 /* Trigger BA Request candidate count */
2765 wpt_uint16 usBACandidateCnt;
2766
2767 /* WDI_TriggerBAReqCandidateType followed by this*/
2768
2769}WDI_TriggerBAReqinfoType;
2770
2771
2772/*---------------------------------------------------------------------------
2773 WDI_TriggerBAReqParamsType
2774---------------------------------------------------------------------------*/
2775typedef struct
2776{
2777 /*BA Trigger Info Type*/
2778 WDI_TriggerBAReqinfoType wdiTriggerBAInfoType;
2779
2780 /*Request status callback offered by UMAC - it is called if the current
2781 req has returned PENDING as status; it delivers the status of sending
2782 the message over the BUS */
2783 WDI_ReqStatusCb wdiReqStatusCB;
2784
2785 /*The user data passed in by UMAC, it will be sent back when the above
2786 function pointer will be called */
2787 void* pUserData;
2788}WDI_TriggerBAReqParamsType;
2789
2790/*---------------------------------------------------------------------------
2791 WDI_AddBAInfoType
2792---------------------------------------------------------------------------*/
2793typedef struct
2794{
2795 wpt_uint16 fBaEnable : 1;
2796 wpt_uint16 startingSeqNum: 12;
2797 wpt_uint16 reserved : 3;
2798}WDI_AddBAInfoType;
2799
2800/*---------------------------------------------------------------------------
2801 WDI_TriggerBARspCandidateType
2802---------------------------------------------------------------------------*/
2803#define STA_MAX_TC 8
2804
2805typedef struct
2806{
2807 /* STA index */
2808 wpt_macAddr macSTA;
2809
2810 /* BA Info */
2811 WDI_AddBAInfoType wdiBAInfo[STA_MAX_TC];
2812}WDI_TriggerBARspCandidateType;
2813
2814/*---------------------------------------------------------------------------
2815 WDI_TriggerBARspParamsType
2816---------------------------------------------------------------------------*/
2817typedef struct
2818{
2819 /*Status of the response*/
2820 WDI_Status wdiStatus;
2821
2822 /*BSSID of the BSS*/
2823 wpt_macAddr macBSSID;
2824
2825 /* Trigger BA response candidate count */
2826 wpt_uint16 usBaCandidateCnt;
2827
2828 /* WDI_TriggerBARspCandidateType followed by this*/
2829
2830}WDI_TriggerBARspParamsType;
2831
2832/*---------------------------------------------------------------------------
2833 WDI_DelBAReqinfoType
2834---------------------------------------------------------------------------*/
2835typedef struct
2836{
2837 /*Indicates the station for which BA is added..*/
2838 wpt_uint8 ucSTAIdx;
2839
2840 /*TID for which BA was negotiated*/
2841 wpt_uint8 ucBaTID;
2842
2843 /*Originator/Recipient*/
2844 wpt_uint8 ucBaDirection;
2845
2846}WDI_DelBAReqinfoType;
2847
2848/*---------------------------------------------------------------------------
2849 WDI_DelBAReqParamsType
2850---------------------------------------------------------------------------*/
2851typedef struct
2852{
2853 /*BA Info */
2854 WDI_DelBAReqinfoType wdiBAInfo;
2855
2856 /*Request status callback offered by UMAC - it is called if the current
2857 req has returned PENDING as status; it delivers the status of sending
2858 the message over the BUS */
2859 WDI_ReqStatusCb wdiReqStatusCB;
2860
2861 /*The user data passed in by UMAC, it will be sent back when the above
2862 function pointer will be called */
2863 void* pUserData;
2864}WDI_DelBAReqParamsType;
2865
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08002866/*---------------------------------------------------------------------------
2867 WDI_UpdateChannelReqinfoType
2868---------------------------------------------------------------------------*/
2869typedef struct
2870{
2871 /** primary 20 MHz channel frequency in mhz */
2872 wpt_uint32 mhz;
2873 /** Center frequency 1 in MHz*/
2874 wpt_uint32 band_center_freq1;
2875 /** Center frequency 2 in MHz - valid only for 11acvht 80plus80 mode*/
2876 wpt_uint32 band_center_freq2;
2877 /* The first 26 bits are a bit mask to indicate any channel flags,
2878 (see WLAN_HAL_CHAN_FLAG*)
2879 The last 6 bits indicate the mode (see tChannelPhyModeType)*/
2880 wpt_uint32 channel_info;
2881 /** contains min power, max power, reg power and reg class id. */
2882 wpt_uint32 reg_info_1;
2883 /** contains antennamax */
2884 wpt_uint32 reg_info_2;
2885}WDI_UpdateChannelReqinfoType;
2886
2887typedef struct
2888{
2889 wpt_uint8 numchan;
2890 WDI_UpdateChannelReqinfoType *pchanParam;
2891}WDI_UpdateChannelReqType;
2892/*---------------------------------------------------------------------------
2893 WDI_UpdateChReqParamsType
2894---------------------------------------------------------------------------*/
2895typedef struct
2896{
2897 /*BA Info */
2898 WDI_UpdateChannelReqType wdiUpdateChanParams;
2899
2900 /*Request status callback offered by UMAC - it is called if the current
2901 req has returned PENDING as status; it delivers the status of sending
2902 the message over the BUS */
2903 WDI_ReqStatusCb wdiReqStatusCB;
2904
2905 /*The user data passed in by UMAC, it will be sent back when the above
2906 function pointer will be called */
2907 void* pUserData;
2908}WDI_UpdateChReqParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07002909
2910/*---------------------------------------------------------------------------
2911 WDI_SwitchCHRspParamsType
2912---------------------------------------------------------------------------*/
2913typedef struct
2914{
2915 /*Status of the response*/
2916 WDI_Status wdiStatus;
2917
2918 /*Indicates the channel that WLAN is on*/
2919 wpt_uint8 ucChannel;
2920
2921#ifdef WLAN_FEATURE_VOWIFI
2922 /*HAL fills in the tx power used for mgmt frames in this field.*/
2923 wpt_int8 ucTxMgmtPower;
2924#endif
2925
2926}WDI_SwitchCHRspParamsType;
2927
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08002928/*--------------------------------------------------------------------
2929 WDI_SwitchChRspParamsType_V1
2930--------------------------------------------------------------------*/
2931typedef struct
2932{
2933 /*Status of the response*/
2934 WDI_Status wdiStatus;
2935
2936 /*Indicates the channel that WLAN is on*/
2937 wpt_uint8 ucChannel;
2938
2939#ifdef WLAN_FEATURE_VOWIFI
2940 /*HAL fills in the tx power used for mgmt frames in this field.*/
2941 wpt_int8 ucTxMgmtPower;
2942#endif
2943
2944 /* Source of Channel Switch */
2945 WDI_ChanSwitchSource channelSwitchSrc;
2946}WDI_SwitchChRspParamsType_V1;
2947
Jeff Johnson295189b2012-06-20 16:38:30 -07002948/*---------------------------------------------------------------------------
2949 WDI_ConfigSTAReqParamsType
2950---------------------------------------------------------------------------*/
2951typedef struct
2952{
2953 /*Info for the Join request that will be sent down to the device*/
2954 WDI_ConfigStaReqInfoType wdiReqInfo;
2955
2956 /*Request status callback offered by UMAC - it is called if the current
2957 req has returned PENDING as status; it delivers the status of sending
2958 the message over the BUS */
2959 WDI_ReqStatusCb wdiReqStatusCB;
2960
2961 /*The user data passed in by UMAC, it will be sent back when the above
2962 function pointer will be called */
2963 void* pUserData;
2964}WDI_ConfigSTAReqParamsType;
2965
2966
2967/*---------------------------------------------------------------------------
2968 WDI_UpdateBeaconParamsInfoType
2969---------------------------------------------------------------------------*/
2970
2971typedef struct
2972{
2973 /*BSS Index of the BSS*/
2974 wpt_uint8 ucBssIdx;
2975
2976 /*shortPreamble mode. HAL should update all the STA rates when it
2977 receives this message*/
2978 wpt_uint8 ucfShortPreamble;
2979 /* short Slot time.*/
2980 wpt_uint8 ucfShortSlotTime;
2981 /* Beacon Interval */
2982 wpt_uint16 usBeaconInterval;
2983 /*Protection related */
2984 wpt_uint8 ucllaCoexist;
2985 wpt_uint8 ucllbCoexist;
2986 wpt_uint8 ucllgCoexist;
2987 wpt_uint8 ucHt20MhzCoexist;
2988 wpt_uint8 ucllnNonGFCoexist;
2989 wpt_uint8 ucfLsigTXOPProtectionFullSupport;
2990 wpt_uint8 ucfRIFSMode;
2991
2992 wpt_uint16 usChangeBitmap;
2993}WDI_UpdateBeaconParamsInfoType;
2994
Mohit Khanna4a70d262012-09-11 16:30:12 -07002995#ifdef WLAN_FEATURE_11AC
2996typedef struct
2997{
2998 wpt_uint16 opMode;
2999 wpt_uint16 staId;
3000}WDI_UpdateVHTOpMode;
3001#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003002
3003/*---------------------------------------------------------------------------
3004 WDI_UpdateBeaconParamsType
3005---------------------------------------------------------------------------*/
3006typedef struct
3007{
3008 /*Update Beacon Params Info*/
3009 WDI_UpdateBeaconParamsInfoType wdiUpdateBeaconParamsInfo;
3010
3011 /*Request status callback offered by UMAC - it is called if the current
3012 req has returned PENDING as status; it delivers the status of sending
3013 the message over the BUS */
3014 WDI_ReqStatusCb wdiReqStatusCB;
3015
3016 /*The user data passed in by UMAC, it will be sent back when the above
3017 function pointer will be called */
3018 void* pUserData;
3019}WDI_UpdateBeaconParamsType;
3020
3021/*---------------------------------------------------------------------------
3022 WDI_SendBeaconParamsInfoType
3023---------------------------------------------------------------------------*/
3024
3025typedef struct {
3026
3027 /*BSSID of the BSS*/
3028 wpt_macAddr macBSSID;
3029
3030 /* Beacon data */
3031 wpt_uint8 beacon[WDI_BEACON_TEMPLATE_SIZE];
3032
3033 /* length of the template */
3034 wpt_uint32 beaconLength;
3035
Jeff Johnson295189b2012-06-20 16:38:30 -07003036 /* TIM IE offset from the beginning of the template.*/
3037 wpt_uint32 timIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07003038
Jeff Johnson295189b2012-06-20 16:38:30 -07003039 /* P2P IE offset from the beginning of the template */
3040 wpt_uint16 usP2PIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07003041} WDI_SendBeaconParamsInfoType;
3042
3043/*---------------------------------------------------------------------------
3044 WDI_SendBeaconParamsType
3045---------------------------------------------------------------------------*/
3046typedef struct
3047{
3048 /*Send Beacon Params Info*/
3049 WDI_SendBeaconParamsInfoType wdiSendBeaconParamsInfo;
3050
3051 /*Request status callback offered by UMAC - it is called if the current
3052 req has returned PENDING as status; it delivers the status of sending
3053 the message over the BUS */
3054 WDI_ReqStatusCb wdiReqStatusCB;
3055
3056 /*The user data passed in by UMAC, it will be sent back when the above
3057 function pointer will be called */
3058 void* pUserData;
3059}WDI_SendBeaconParamsType;
3060
3061/*---------------------------------------------------------------------------
3062 WDI_LinkStateType
3063---------------------------------------------------------------------------*/
3064typedef enum
3065{
3066 WDI_LINK_IDLE_STATE = 0,
3067 WDI_LINK_PREASSOC_STATE = 1,
3068 WDI_LINK_POSTASSOC_STATE = 2,
3069 WDI_LINK_AP_STATE = 3,
3070 WDI_LINK_IBSS_STATE = 4,
3071
3072 // BT-AMP Case
3073 WDI_LINK_BTAMP_PREASSOC_STATE = 5,
3074 WDI_LINK_BTAMP_POSTASSOC_STATE = 6,
3075 WDI_LINK_BTAMP_AP_STATE = 7,
3076 WDI_LINK_BTAMP_STA_STATE = 8,
3077
3078 // Reserved for HAL internal use
3079 WDI_LINK_LEARN_STATE = 9,
3080 WDI_LINK_SCAN_STATE = 10,
3081 WDI_LINK_FINISH_SCAN_STATE = 11,
3082 WDI_LINK_INIT_CAL_STATE = 12,
3083 WDI_LINK_FINISH_CAL_STATE = 13,
Jeff Johnson295189b2012-06-20 16:38:30 -07003084 WDI_LINK_LISTEN_STATE = 14,
Gopichand Nakkala924e4552013-05-08 19:18:14 +05303085 WDI_LINK_SEND_ACTION_STATE = 15,
Jeff Johnson295189b2012-06-20 16:38:30 -07003086 WDI_LINK_MAX = 0x7FFFFFFF
3087} WDI_LinkStateType;
3088
3089/*---------------------------------------------------------------------------
3090 WDI_SetLinkReqInfoType
3091---------------------------------------------------------------------------*/
3092typedef struct
3093{
3094 /*BSSID of the BSS*/
3095 wpt_macAddr macBSSID;
3096
3097 /*Link state*/
3098 WDI_LinkStateType wdiLinkState;
3099
3100 /*BSSID of the BSS*/
3101 wpt_macAddr macSelfStaMacAddr;
3102}WDI_SetLinkReqInfoType;
3103
3104/*---------------------------------------------------------------------------
3105 WDI_SetLinkReqParamsType
3106---------------------------------------------------------------------------*/
3107typedef struct
3108{
3109 /*Link Info*/
3110 WDI_SetLinkReqInfoType wdiLinkInfo;
3111
3112 /*Request status callback offered by UMAC - it is called if the current
3113 req has returned PENDING as status; it delivers the status of sending
3114 the message over the BUS */
3115 WDI_ReqStatusCb wdiReqStatusCB;
3116
3117 /*The user data passed in by UMAC, it will be sent back when the above
3118 function pointer will be called */
3119 void* pUserData;
3120}WDI_SetLinkReqParamsType;
3121
3122/*---------------------------------------------------------------------------
3123 WDI_GetStatsParamsInfoType
3124---------------------------------------------------------------------------*/
3125typedef struct
3126{
3127 /*Indicates the station for which Get Stats are requested..*/
3128 wpt_uint8 ucSTAIdx;
3129
3130 /* categories of stats requested */
3131 wpt_uint32 uStatsMask;
3132}WDI_GetStatsParamsInfoType;
3133
3134/*---------------------------------------------------------------------------
3135 WDI_GetStatsReqParamsType
3136---------------------------------------------------------------------------*/
3137typedef struct
3138{
3139 /*Get Stats Params Info*/
3140 WDI_GetStatsParamsInfoType wdiGetStatsParamsInfo;
3141
3142 /*Request status callback offered by UMAC - it is called if the current
3143 req has returned PENDING as status; it delivers the status of sending
3144 the message over the BUS */
3145 WDI_ReqStatusCb wdiReqStatusCB;
3146
3147 /*The user data passed in by UMAC, it will be sent back when the above
3148 function pointer will be called */
3149 void* pUserData;
3150}WDI_GetStatsReqParamsType;
3151
3152/*---------------------------------------------------------------------------
3153 WDI_GetStatsRspParamsType
3154---------------------------------------------------------------------------*/
3155typedef struct
3156{
3157 /*message type is same as the request type*/
3158 wpt_uint16 usMsgType;
3159
3160 /* length of the entire request, includes the pStatsBuf length too*/
3161 wpt_uint16 usMsgLen;
3162
3163 /*Result of the operation*/
3164 WDI_Status wdiStatus;
3165
3166 /*Indicates the station for which Get Stats are requested..*/
3167 wpt_uint8 ucSTAIdx;
3168
3169 /* categories of stats requested */
3170 wpt_uint32 uStatsMask;
3171
3172 /* The Stats buffer starts here and can be an aggregate of more than one statistics
3173 * structure depending on statsMask.*/
3174}WDI_GetStatsRspParamsType;
3175
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003176#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08003177/*---------------------------------------------------------------------------
3178 WDI_GetRoamRssiParamsInfoType
3179---------------------------------------------------------------------------*/
3180typedef struct
3181{
3182 /*Indicates the station for which Get Stats are requested..*/
3183 wpt_uint8 ucSTAIdx;
3184
3185 /* categories of stats requested */
3186 wpt_uint32 uStatsMask;
3187}WDI_GetRoamRssiParamsInfoType;
3188
3189/*---------------------------------------------------------------------------
3190 WDI_GetRoamRssiReqParamsType
3191---------------------------------------------------------------------------*/
3192typedef struct
3193{
3194 /*Get Roam Rssi Params Info*/
3195 WDI_GetRoamRssiParamsInfoType wdiGetRoamRssiParamsInfo;
3196
3197 /*Request status callback offered by UMAC - it is called if the current
3198 req has returned PENDING as status; it delivers the status of sending
3199 the message over the BUS */
3200 WDI_ReqStatusCb wdiReqStatusCB;
3201
3202 /*The user data passed in by UMAC, it will be sent back when the above
3203 function pointer will be called */
3204 void* pUserData;
3205}WDI_GetRoamRssiReqParamsType;
3206
3207/*---------------------------------------------------------------------------
3208 WDI_GetRoamRssiRspParamsType
3209---------------------------------------------------------------------------*/
3210typedef struct
3211{
3212 /*Result of the operation*/
3213 WDI_Status wdiStatus;
3214
3215 /*Indicates the station for which Get Stats are requested..*/
3216 wpt_uint8 ucSTAIdx;
3217
3218 /* roam rssi requested */
3219 wpt_int8 rssi;
3220
3221 /* The Stats buffer starts here and can be an aggregate of more than one statistics
3222 * structure depending on statsMask.*/
3223}WDI_GetRoamRssiRspParamsType;
3224#endif
3225
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003226#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07003227/*---------------------------------------------------------------------------
3228 WDI_TSMStatsParamsInfoType
3229---------------------------------------------------------------------------*/
3230typedef struct
3231{
3232 /*Indicates the station for which Get Stats are requested..*/
3233 wpt_uint8 ucTid;
3234
3235 wpt_macAddr bssid;
3236}WDI_TSMStatsParamsInfoType;
3237
3238/*---------------------------------------------------------------------------
3239 WDI_TSMStatsReqParamsType
3240---------------------------------------------------------------------------*/
3241typedef struct
3242{
3243 /*Get TSM Stats Params Info*/
3244 WDI_TSMStatsParamsInfoType wdiTsmStatsParamsInfo;
3245
3246 WDI_ReqStatusCb wdiReqStatusCB;
3247
3248 /*The user data passed in by UMAC, it will be sent back when the above
3249 function pointer will be called */
3250 void* pUserData;
3251
3252}WDI_TSMStatsReqParamsType;
3253
3254
3255/*---------------------------------------------------------------------------
3256 WDI_TSMStatsRspParamsType
3257---------------------------------------------------------------------------*/
3258typedef struct
3259{
3260 /*Indicates the status of the operation */
3261 WDI_Status wdiStatus;
3262
3263 wpt_uint16 UplinkPktQueueDly;
3264 wpt_uint16 UplinkPktQueueDlyHist[4];
3265 wpt_uint32 UplinkPktTxDly;
3266 wpt_uint16 UplinkPktLoss;
3267 wpt_uint16 UplinkPktCount;
3268 wpt_uint8 RoamingCount;
3269 wpt_uint16 RoamingDly;
3270}WDI_TSMStatsRspParamsType;
3271
3272
3273#endif
3274/*---------------------------------------------------------------------------
3275 WDI_UpdateCfgReqParamsType
3276---------------------------------------------------------------------------*/
3277typedef struct
3278{
3279 /*This is a TLV formatted buffer containing all config values that can
3280 be set through the DAL Interface
3281
3282 The TLV is expected to be formatted like this:
3283
3284 0 7 15 31 ....
3285 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
3286
3287 Or from a C construct point of VU it would look like this:
3288
3289 typedef struct WPT_PACK_POST
3290 {
3291 #ifdef WPT_BIG_ENDIAN
3292 wpt_uint32 ucCfgId:8;
3293 wpt_uint32 ucCfgLen:8;
3294 wpt_uint32 usReserved:16;
3295 #else
3296 wpt_uint32 usReserved:16;
3297 wpt_uint32 ucCfgLen:8;
3298 wpt_uint32 ucCfgId:8;
3299 #endif
3300
3301 wpt_uint8 ucCfgBody[ucCfgLen];
3302 }WDI_ConfigType;
3303
3304 Multiple such tuplets are to be placed in the config buffer. One for
3305 each required configuration item:
3306
3307 | TLV 1 | TLV2 | ....
3308
3309 The buffer is expected to be a flat area of memory that can be manipulated
3310 with standard memory routines.
3311
3312 For more info please check paragraph 2.3.1 Config Structure from the
3313 HAL LLD.
3314
3315 For a list of accepted configuration list and IDs please look up
3316 wlan_qct_dal_cfg.h
3317 */
3318 void* pConfigBuffer;
3319
3320 /*Length of the config buffer above*/
3321 wpt_uint32 uConfigBufferLen;
3322
3323 /*Request status callback offered by UMAC - it is called if the current
3324 req has returned PENDING as status; it delivers the status of sending
3325 the message over the BUS */
3326 WDI_ReqStatusCb wdiReqStatusCB;
3327
3328 /*The user data passed in by UMAC, it will be sent back when the above
3329 function pointer will be called */
3330 void* pUserData;
3331}WDI_UpdateCfgReqParamsType;
3332
3333/*---------------------------------------------------------------------------
3334 WDI_UpdateProbeRspTemplateInfoType
3335---------------------------------------------------------------------------*/
3336//Default Beacon template size
3337#define WDI_PROBE_RSP_TEMPLATE_SIZE 0x180
3338
3339#define WDI_PROBE_REQ_BITMAP_IE_LEN 8
3340
3341typedef struct
3342{
3343 /*BSSID for which the Probe Template is to be used*/
3344 wpt_macAddr macBSSID;
3345
3346 /*Probe response template*/
3347 wpt_uint8 *pProbeRespTemplate[WDI_PROBE_RSP_TEMPLATE_SIZE];
3348
3349 /*Template Len*/
3350 wpt_uint32 uProbeRespTemplateLen;
3351
3352 /*Bitmap for the IEs that are to be handled at SLM level*/
3353 wpt_uint32 uaProxyProbeReqValidIEBmap[WDI_PROBE_REQ_BITMAP_IE_LEN];
3354
3355}WDI_UpdateProbeRspTemplateInfoType;
3356
3357/*---------------------------------------------------------------------------
3358 WDI_UpdateProbeRspParamsType
3359---------------------------------------------------------------------------*/
3360typedef struct
3361{
3362 /*Link Info*/
3363 WDI_UpdateProbeRspTemplateInfoType wdiProbeRspTemplateInfo;
3364
3365 /*Request status callback offered by UMAC - it is called if the current
3366 req has returned PENDING as status; it delivers the status of sending
3367 the message over the BUS */
3368 WDI_ReqStatusCb wdiReqStatusCB;
3369
3370 /*The user data passed in by UMAC, it will be sent back when the above
3371 function pointer will be called */
3372 void* pUserData;
3373}WDI_UpdateProbeRspTemplateParamsType;
3374
3375/*---------------------------------------------------------------------------
3376 WDI_NvDownloadReqBlobInfo
3377---------------------------------------------------------------------------*/
3378
3379typedef struct
3380{
3381 /* Blob starting address*/
3382 void *pBlobAddress;
3383
3384 /* Blob size */
3385 wpt_uint32 uBlobSize;
3386
3387}WDI_NvDownloadReqBlobInfo;
3388
3389/*---------------------------------------------------------------------------
3390 WDI_NvDownloadReqParamsType
3391---------------------------------------------------------------------------*/
3392typedef struct
3393{
3394 /*NV Blob Info*/
3395 WDI_NvDownloadReqBlobInfo wdiBlobInfo;
3396
3397 /*Request status callback offered by UMAC - it is called if the current
3398 req has returned PENDING as status; it delivers the status of sending
3399 the message over the BUS */
3400 WDI_ReqStatusCb wdiReqStatusCB;
3401
3402 /*The user data passed in by UMAC, it will be sent back when the above
3403 function pointer will be called */
3404 void* pUserData;
3405
3406}WDI_NvDownloadReqParamsType;
3407
3408/*---------------------------------------------------------------------------
3409 WDI_NvDownloadRspInfoType
3410---------------------------------------------------------------------------*/
3411typedef struct
3412{
3413 /*Status of the response*/
3414 WDI_Status wdiStatus;
3415
3416}WDI_NvDownloadRspInfoType;
3417
3418/*---------------------------------------------------------------------------
3419 WDI_SetMaxTxPowerInfoType
3420---------------------------------------------------------------------------*/
3421
3422typedef struct
3423{
3424 /*BSSID is needed to identify which session issued this request. As the request has
3425 power constraints, this should be applied only to that session*/
3426 wpt_macAddr macBSSId;
3427
3428
3429 wpt_macAddr macSelfStaMacAddr;
3430
3431 /* In request power == MaxTxpower to be used.*/
3432 wpt_int8 ucPower;
3433
3434}WDI_SetMaxTxPowerInfoType;
3435
3436/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003437 WDI_SetTxPowerInfoType
3438---------------------------------------------------------------------------*/
3439
3440typedef struct
3441{
3442 wpt_uint8 bssIdx;
3443 /* In request power == MaxTxpower to be used.*/
3444 wpt_uint8 ucPower;
3445
3446}WDI_SetTxPowerInfoType;
3447
3448/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003449 WDI_SetMaxTxPowerParamsType
3450---------------------------------------------------------------------------*/
3451typedef struct
3452{
3453 /*Link Info*/
3454 WDI_SetMaxTxPowerInfoType wdiMaxTxPowerInfo;
3455
3456 /*Request status callback offered by UMAC - it is called if the current
3457 req has returned PENDING as status; it delivers the status of sending
3458 the message over the BUS */
3459 WDI_ReqStatusCb wdiReqStatusCB;
3460
3461 /*The user data passed in by UMAC, it will be sent back when the above
3462 function pointer will be called */
3463 void* pUserData;
3464}WDI_SetMaxTxPowerParamsType;
3465
schang86c22c42013-03-13 18:41:24 -07003466/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07003467 WDI_Band
3468---------------------------------------------------------------------------*/
3469typedef enum
3470{
3471 WDI_BAND_ALL,
3472 WDI_BAND_24,
3473 WDI_BAND_5G,
3474 WDI_BAND_MAX,
3475}eWDIBand;
3476
3477/*---------------------------------------------------------------------------
3478 WDI_MaxTxPowerPerBandInfoType
3479---------------------------------------------------------------------------*/
3480typedef struct
3481{
3482 eWDIBand bandInfo;
3483 /* In request power == MaxTxpower to be used.*/
3484 wpt_uint8 ucPower;
3485}WDI_MaxTxPowerPerBandInfoType;
3486
3487/*---------------------------------------------------------------------------
3488 WDI_SetMaxTxPowerPerBandParamsType
3489---------------------------------------------------------------------------*/
3490typedef struct
3491{
3492 /*Link Info*/
3493 WDI_MaxTxPowerPerBandInfoType wdiMaxTxPowerPerBandInfo;
3494
3495 /*Request status callback offered by UMAC - it is called if the current
3496 req has returned PENDING as status; it delivers the status of sending
3497 the message over the BUS */
3498 WDI_ReqStatusCb wdiReqStatusCB;
3499
3500 /*The user data passed in by UMAC, it will be sent back when the above
3501 function pointer will be called */
3502 void* pUserData;
3503}WDI_SetMaxTxPowerPerBandParamsType;
3504
3505/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003506 WDI_SetTxPowerParamsType
3507---------------------------------------------------------------------------*/
3508typedef struct
3509{
3510 /*Link Info*/
3511 WDI_SetTxPowerInfoType wdiTxPowerInfo;
3512
3513 /*Request status callback offered by UMAC - it is called if the current
3514 req has returned PENDING as status; it delivers the status of sending
3515 the message over the BUS */
3516 WDI_ReqStatusCb wdiReqStatusCB;
3517
3518 /*The user data passed in by UMAC, it will be sent back when the above
3519 function pointer will be called */
3520 void* pUserData;
3521}WDI_SetTxPowerParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003522
3523/*---------------------------------------------------------------------------
3524 WDI_SetMaxTxPowerRspMsg
3525---------------------------------------------------------------------------*/
3526
3527typedef struct
3528{
3529 /* In response, power==tx power used for management frames*/
3530 wpt_int8 ucPower;
3531
3532 /*Result of the operation*/
3533 WDI_Status wdiStatus;
3534
3535}WDI_SetMaxTxPowerRspMsg;
3536
schang86c22c42013-03-13 18:41:24 -07003537/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07003538 WDI_SetMaxTxPowerPerBandRspMsg
3539---------------------------------------------------------------------------*/
3540typedef struct
3541{
3542 /* In response, power==tx power used for management frames*/
3543 wpt_int8 ucPower;
3544
3545 /*Result of the operation*/
3546 WDI_Status wdiStatus;
3547
3548}WDI_SetMaxTxPowerPerBandRspMsg;
3549
3550/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003551 WDI_SetTxPowerRspMsg
3552---------------------------------------------------------------------------*/
3553
3554typedef struct
3555{
3556 /* In response, power==tx power used for management frames*/
3557 wpt_int8 ucPower;
3558
3559 /*Result of the operation*/
3560 WDI_Status wdiStatus;
3561
3562}WDI_SetTxPowerRspMsg;
3563
Jeff Johnson295189b2012-06-20 16:38:30 -07003564typedef struct
3565{
3566 wpt_uint8 ucOpp_ps;
3567 wpt_uint32 uCtWindow;
3568 wpt_uint8 ucCount;
3569 wpt_uint32 uDuration;
3570 wpt_uint32 uInterval;
3571 wpt_uint32 uSingle_noa_duration;
3572 wpt_uint8 ucPsSelection;
3573}WDI_SetP2PGONOAReqInfoType;
3574
3575/*---------------------------------------------------------------------------
3576 WDI_SetP2PGONOAReqParamsType
3577---------------------------------------------------------------------------*/
3578typedef struct
3579{
3580 /*P2P GO NOA Req*/
3581 WDI_SetP2PGONOAReqInfoType wdiP2PGONOAInfo;
3582
3583 /*Request status callback offered by UMAC - it is called if the current
3584 req has returned PENDING as status; it delivers the status of sending
3585 the message over the BUS */
3586 WDI_ReqStatusCb wdiReqStatusCB;
3587
3588 /*The user data passed in by UMAC, it will be sent back when the above
3589 function pointer will be called */
3590 void* pUserData;
3591}WDI_SetP2PGONOAReqParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003592
Naresh Jayaramc7cbd782014-02-04 17:38:23 +05303593#define WDI_MAX_SUPP_CHANNELS 128
3594#define WDI_MAX_SUPP_OPER_CLASSES 32
3595
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303596typedef struct
3597{
3598 wpt_uint16 uStaIdx;
3599 wpt_uint8 uIsResponder;
3600 wpt_uint8 uUapsdQueues;
3601 wpt_uint8 uMaxSp;
3602 wpt_uint8 uIsBufSta;
Naresh Jayaramc7cbd782014-02-04 17:38:23 +05303603 wpt_uint8 uIsOffChannelSupported;
3604 wpt_uint8 peerCurrOperClass;
3605 wpt_uint8 selfCurrOperClass;
3606 wpt_uint8 validChannelsLen;
3607 wpt_uint8 validChannels[WDI_MAX_SUPP_CHANNELS];
3608 wpt_uint8 validOperClassesLen;
3609 wpt_uint8 validOperClasses[WDI_MAX_SUPP_OPER_CLASSES];
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303610}WDI_SetTDLSLinkEstablishReqInfoType;
3611/*---------------------------------------------------------------------------
3612 WDI_SetTDLSLinkEstablishReqParamsType
3613---------------------------------------------------------------------------*/
3614typedef struct
3615{
3616 /*TDLS Link Establish Req*/
3617 WDI_SetTDLSLinkEstablishReqInfoType wdiTDLSLinkEstablishInfo;
3618
3619 /*Request status callback offered by UMAC - it is called if the current
3620 req has returned PENDING as status; it delivers the status of sending
3621 the message over the BUS */
3622 WDI_ReqStatusCb wdiReqStatusCB;
3623
3624 /*The user data passed in by UMAC, it will be sent back when the above
3625 function pointer will be called */
3626 void* pUserData;
3627}WDI_SetTDLSLinkEstablishReqParamsType;
3628
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05303629typedef struct
3630{
3631 /*Result of the operation*/
3632 WDI_Status wdiStatus;
3633
3634 /*STA Idx*/
3635 wpt_uint16 uStaIdx;
3636}WDI_SetTdlsLinkEstablishReqResp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003637
Atul Mittalc0f739f2014-07-31 13:47:47 +05303638
3639
3640typedef struct
3641{
3642 /*STA Index*/
3643 wpt_uint8 staIdx;
3644 /* if this is 1, self is initiator otherwise responder only*/
3645 wpt_uint8 isOffchannelInitiator;
3646 /*TDLS off channel related params */
3647 wpt_uint8 targetOperClass;
3648 wpt_uint8 targetChannel;
3649 wpt_uint8 secondaryChannelOffset;
3650 wpt_uint8 reserved[64];
3651}WDI_SetTDLSChanSwitchReqInfoType;
3652
3653typedef struct
3654{
3655 WDI_SetTDLSChanSwitchReqInfoType wdiTDLSChanSwitchReqInfo;
3656 WDI_ReqStatusCb wdiReqStatusCB;
3657 void* pUserData;
3658}WDI_SetTDLSChanSwitchReqParamsType;
3659
3660
3661typedef struct
3662{
3663 /*Result of the operation*/
3664 WDI_Status wdiStatus;
3665
3666 /*STA Idx*/
3667 wpt_uint16 uStaIdx;
3668}WDI_SetTdlsChanSwitchReqResp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003669/*---------------------------------------------------------------------------
3670 WDI_SetAddSTASelfParamsType
3671---------------------------------------------------------------------------*/
3672typedef struct
3673{
3674 /*Self Station MAC address*/
3675 wpt_macAddr selfMacAddr;
3676
Kiran Kumar Lokere0ad5cd32013-06-25 11:26:22 -07003677 /*Self STA device mode*/
3678 wpt_uint32 currDeviceMode;
3679
Jeff Johnson295189b2012-06-20 16:38:30 -07003680 /*Status of the operation*/
3681 wpt_uint32 uStatus;
3682}WDI_AddSTASelfInfoType;
3683
3684/*---------------------------------------------------------------------------
3685 WDI_SetAddSTASelfParamsType
3686---------------------------------------------------------------------------*/
3687typedef struct
3688{
3689 /* Add Sta Self Req */
3690 WDI_AddSTASelfInfoType wdiAddSTASelfInfo;
3691
3692 /*Request status callback offered by UMAC - it is called if the current
3693 req has returned PENDING as status; it delivers the status of sending
3694 the message over the BUS */
3695 WDI_ReqStatusCb wdiReqStatusCB;
3696
3697 /*The user data passed in by UMAC, it will be sent back when the above
3698 function pointer will be called */
3699 void* pUserData;
3700}WDI_AddSTASelfReqParamsType;
3701
3702
3703/*---------------------------------------------------------------------------
3704 WDI_AddSTASelfRspParamsType
3705---------------------------------------------------------------------------*/
3706typedef struct
3707{
3708 /*Status of the response*/
3709 WDI_Status wdiStatus;
3710
3711 /*STA Idx allocated by HAL*/
3712 wpt_uint8 ucSTASelfIdx;
3713
3714 /* DPU Index (IGTK, PTK, GTK all same) */
3715 wpt_uint8 dpuIdx;
3716
3717 /* DPU Signature */
3718 wpt_uint8 dpuSignature;
3719
3720 /*Self STA Mac*/
3721 wpt_macAddr macSelfSta;
3722
3723}WDI_AddSTASelfRspParamsType;
3724
3725/*---------------------------------------------------------------------------
3726 WDI_DelSTASelfReqParamsType
3727 Del Sta Self info passed to WDI form WDA
3728---------------------------------------------------------------------------*/
3729typedef struct
3730{
3731 wpt_macAddr selfMacAddr;
3732
3733}WDI_DelSTASelfInfoType;
3734
3735/*---------------------------------------------------------------------------
3736 WDI_DelSTASelfReqParamsType
3737 Del Sta Self info passed to WDI form WDA
3738---------------------------------------------------------------------------*/
3739typedef struct
3740{
3741 /*Del Sta Self Info Type */
3742 WDI_DelSTASelfInfoType wdiDelStaSelfInfo;
3743 /*Request status callback offered by UMAC - it is called if the current req
3744 has returned PENDING as status; it delivers the status of sending the message
3745 over the BUS */
3746 WDI_ReqStatusCb wdiReqStatusCB;
3747 /*The user data passed in by UMAC, it will be sent back when the above
3748 function pointer will be called */
3749 void* pUserData;
3750}WDI_DelSTASelfReqParamsType;
3751
3752/*---------------------------------------------------------------------------
3753 WDI_DelSTASelfRspParamsType
3754---------------------------------------------------------------------------*/
3755typedef struct
3756{
3757 /*Status of the response*/
3758 WDI_Status wdiStatus;
3759
3760 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
3761// wpt_uint8 ucSTAIdx;
3762}WDI_DelSTASelfRspParamsType;
3763
3764/*---------------------------------------------------------------------------
3765 WDI_UapsdInfoType
3766 UAPSD parameters passed per AC to WDA from UMAC
3767---------------------------------------------------------------------------*/
3768typedef struct
3769{
3770 wpt_uint8 ucSTAIdx; // STA index
3771 wpt_uint8 ucAc; // Access Category
3772 wpt_uint8 ucUp; // User Priority
3773 wpt_uint32 uSrvInterval; // Service Interval
3774 wpt_uint32 uSusInterval; // Suspend Interval
3775 wpt_uint32 uDelayInterval; // Delay Interval
3776} WDI_UapsdInfoType;
3777
3778/*---------------------------------------------------------------------------
3779 WDI_SetUapsdAcParamsReqParamsType
3780 UAPSD parameters passed per AC to WDI from WDA
3781---------------------------------------------------------------------------*/
3782typedef struct
3783{
3784 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3785 WDI_UapsdInfoType wdiUapsdInfo;
3786 /*Request status callback offered by UMAC - it is called if the current req
3787 has returned PENDING as status; it delivers the status of sending the message
3788 over the BUS */
3789 WDI_ReqStatusCb wdiReqStatusCB;
3790 /*The user data passed in by UMAC, it will be sent back when the above
3791 function pointer will be called */
3792 void* pUserData;
3793}WDI_SetUapsdAcParamsReqParamsType;
3794
3795/*---------------------------------------------------------------------------
3796 WDI_EnterBmpsReqinfoType
3797 Enter BMPS parameters passed to WDA from UMAC
3798---------------------------------------------------------------------------*/
3799typedef struct
3800{
3801 //TBTT value derived from the last beacon
3802 wpt_uint8 ucBssIdx;
3803 wpt_uint64 uTbtt;
3804 wpt_uint8 ucDtimCount;
3805 //DTIM period given to HAL during association may not be valid,
3806 //if association is based on ProbeRsp instead of beacon.
3807 wpt_uint8 ucDtimPeriod;
3808 /* DXE physical addr to be passed down to RIVA. RIVA HAL will use it to program
3809 DXE when DXE wakes up from power save*/
3810 unsigned int dxePhyAddr;
3811
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003812 // For ESE and 11R Roaming
Jeff Johnson295189b2012-06-20 16:38:30 -07003813 wpt_uint32 rssiFilterPeriod;
3814 wpt_uint32 numBeaconPerRssiAverage;
3815 wpt_uint8 bRssiFilterEnable;
3816}WDI_EnterBmpsReqinfoType;
3817
3818/*---------------------------------------------------------------------------
3819 WDI_EnterBmpsReqParamsType
3820 Enter BMPS parameters passed to WDI from WDA
3821---------------------------------------------------------------------------*/
3822typedef struct
3823{
3824 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3825 WDI_EnterBmpsReqinfoType wdiEnterBmpsInfo;
3826 /*Request status callback offered by UMAC - it is called if the current req
3827 has returned PENDING as status; it delivers the status of sending the message
3828 over the BUS */
3829 WDI_ReqStatusCb wdiReqStatusCB;
3830 /*The user data passed in by UMAC, it will be sent back when the above
3831 function pointer will be called */
3832 void* pUserData;
3833}WDI_EnterBmpsReqParamsType;
3834
3835/*---------------------------------------------------------------------------
Mihir Shetea4306052014-03-25 00:02:54 +05303836 WDI_EnterImpsReqParamsType
3837 Enter IMPS parameters passed to WDI from WDA
3838---------------------------------------------------------------------------*/
3839typedef struct
3840{
3841 /*Request status callback offered by UMAC - it is called if the current req
3842 has returned PENDING as status; it delivers the status of sending the message
3843 over the BUS */
3844 WDI_ReqStatusCb wdiReqStatusCB;
3845 /*The user data passed in by UMAC, it will be sent back when the above
3846 function pointer will be called */
3847 void* pUserData;
3848}WDI_EnterImpsReqParamsType;
3849
3850/*---------------------------------------------------------------------------
Mahesh A Saptasagar329813b2014-12-15 12:16:51 +05303851 WDI_ExitImpsReqParamsType
3852 Exit IMPS parameters passed to WDI from WDA
3853----------------------------------------------------------------------------*/
3854typedef struct
3855{
3856 /*Request status callback offered by UMAC */
3857 WDI_ReqStatusCb wdiReqStatusCB;
3858 /*The user data passed in by UMAC, it will be sent back when the above
3859 function pointer will be called */
3860 void* pUserData;
3861
3862}WDI_ExitImpsReqParamsType;
3863
3864/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003865 WDI_EnterBmpsReqParamsType
3866 Enter BMPS parameters passed from WDI to WDA
3867---------------------------------------------------------------------------*/
3868typedef struct
3869{
3870 /*Status of the response*/
3871 WDI_Status wdiStatus;
3872
3873 /*BssIDX of the session*/
3874 wpt_uint8 bssIdx;
3875}WDI_EnterBmpsRspParamsType;
3876
3877/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003878 WDI_ExitBmpsReqinfoType
3879 Exit BMPS parameters passed to WDA from UMAC
3880---------------------------------------------------------------------------*/
3881typedef struct
3882{
3883 wpt_uint8 ucSendDataNull;
Jeff Johnsone7245742012-09-05 17:12:55 -07003884 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003885}WDI_ExitBmpsReqinfoType;
3886
3887/*---------------------------------------------------------------------------
3888 WDI_ExitBmpsReqParamsType
3889 Exit BMPS parameters passed to WDI from WDA
3890---------------------------------------------------------------------------*/
3891typedef struct
3892{
3893 /*Exit BMPS Info Type, same as tExitBmpsParams */
3894 WDI_ExitBmpsReqinfoType wdiExitBmpsInfo;
3895 /*Request status callback offered by UMAC - it is called if the current req
3896 has returned PENDING as status; it delivers the status of sending the message
3897 over the BUS */
3898 WDI_ReqStatusCb wdiReqStatusCB;
3899 /*The user data passed in by UMAC, it will be sent back when the above
3900 function pointer will be called */
3901 void* pUserData;
3902}WDI_ExitBmpsReqParamsType;
3903
3904/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003905 WDI_ExitBmpsReqParamsType
3906 Exit BMPS parameters passed from WDI to WDA
3907---------------------------------------------------------------------------*/
3908typedef struct
3909{
3910 /*Status of the response*/
3911 WDI_Status wdiStatus;
3912
3913 /*BssIDX of the session*/
3914 wpt_uint8 bssIdx;
3915}WDI_ExitBmpsRspParamsType;
3916
3917/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003918 WDI_EnterUapsdReqinfoType
3919 Enter UAPSD parameters passed to WDA from UMAC
3920---------------------------------------------------------------------------*/
3921typedef struct
3922{
3923 wpt_uint8 ucBkDeliveryEnabled:1;
3924 wpt_uint8 ucBeDeliveryEnabled:1;
3925 wpt_uint8 ucViDeliveryEnabled:1;
3926 wpt_uint8 ucVoDeliveryEnabled:1;
3927 wpt_uint8 ucBkTriggerEnabled:1;
3928 wpt_uint8 ucBeTriggerEnabled:1;
3929 wpt_uint8 ucViTriggerEnabled:1;
3930 wpt_uint8 ucVoTriggerEnabled:1;
Jeff Johnsone7245742012-09-05 17:12:55 -07003931 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003932}WDI_EnterUapsdReqinfoType;
3933
3934/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003935 WDI_EnterUapsdRspParamsType
3936 Enter UAPSD parameters passed from WDI to WDA
3937---------------------------------------------------------------------------*/
3938typedef struct
3939{
3940 /*Status of the response*/
3941 WDI_Status wdiStatus;
3942
3943 /*BssIDX of the session*/
3944 wpt_uint8 bssIdx;
3945}WDI_EnterUapsdRspParamsType;
3946
3947/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003948 WDI_EnterUapsdReqinfoType
3949 Enter UAPSD parameters passed to WDI from WDA
3950---------------------------------------------------------------------------*/
3951typedef struct
3952{
3953 /*Enter UAPSD Info Type, same as tUapsdParams */
3954 WDI_EnterUapsdReqinfoType wdiEnterUapsdInfo;
3955 /*Request status callback offered by UMAC - it is called if the current req
3956 has returned PENDING as status; it delivers the status of sending the message
3957 over the BUS */
3958 WDI_ReqStatusCb wdiReqStatusCB;
3959 /*The user data passed in by UMAC, it will be sent back when the above
3960 function pointer will be called */
3961 void* pUserData;
3962}WDI_EnterUapsdReqParamsType;
3963
3964/*---------------------------------------------------------------------------
3965 WDI_UpdateUapsdReqinfoType
3966 Update UAPSD parameters passed to WDA from UMAC
3967---------------------------------------------------------------------------*/
3968typedef struct
3969{
3970 wpt_uint8 ucSTAIdx;
3971 wpt_uint8 ucUapsdACMask;
3972 wpt_uint32 uMaxSpLen;
3973}WDI_UpdateUapsdReqinfoType;
3974
3975/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003976 WDI_ExitUapsdReqinfoType
3977 Exit UAPSD parameters passed to WDA from UMAC
3978---------------------------------------------------------------------------*/
3979typedef struct
3980{
3981 wpt_uint8 bssIdx;
3982}WDI_ExitUapsdReqinfoType;
3983
3984/*---------------------------------------------------------------------------
3985 WDI_ExitUapsdReqParamsType
3986 Exit UAPSD parameters passed to WDI from WDA
3987---------------------------------------------------------------------------*/
3988typedef struct
3989{
3990 /*Exit UAPSD Info Type, same as tUapsdParams */
3991 WDI_ExitUapsdReqinfoType wdiExitUapsdInfo;
3992 /*Request status callback offered by UMAC - it is called if the current req
3993 has returned PENDING as status; it delivers the status of sending the message
3994 over the BUS */
3995 WDI_ReqStatusCb wdiReqStatusCB;
3996 /*The user data passed in by UMAC, it will be sent back when the above
3997 function pointer will be called */
3998 void* pUserData;
3999}WDI_ExitUapsdReqParamsType;
4000
4001/*---------------------------------------------------------------------------
4002 WDI_ExitUapsdRspParamsType
4003 Exit UAPSD parameters passed from WDI to WDA
4004---------------------------------------------------------------------------*/
4005typedef struct
4006{
4007 /*Status of the response*/
4008 WDI_Status wdiStatus;
4009
4010 /*BssIDX of the session*/
4011 wpt_uint8 bssIdx;
4012}WDI_ExitUapsdRspParamsType;
4013
4014/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004015 WDI_UpdateUapsdReqParamsType
4016 Update UAPSD parameters passed to WDI form WDA
4017---------------------------------------------------------------------------*/
4018typedef struct
4019{
4020 /*Update UAPSD Info Type, same as tUpdateUapsdParams */
4021 WDI_UpdateUapsdReqinfoType wdiUpdateUapsdInfo;
4022 /*Request status callback offered by UMAC - it is called if the current req
4023 has returned PENDING as status; it delivers the status of sending the message
4024 over the BUS */
4025 WDI_ReqStatusCb wdiReqStatusCB;
4026 /*The user data passed in by UMAC, it will be sent back when the above
4027 function pointer will be called */
4028 void* pUserData;
4029}WDI_UpdateUapsdReqParamsType;
4030
4031/*---------------------------------------------------------------------------
4032 WDI_ConfigureRxpFilterReqParamsType
4033 RXP filter parameters passed to WDI form WDA
4034---------------------------------------------------------------------------*/
4035typedef struct
4036{
4037 /* Mode of Mcast and Bcast filters configured */
4038 wpt_uint8 ucSetMcstBcstFilterSetting;
4039
4040 /* Mcast Bcast Filters enable/disable*/
4041 wpt_uint8 ucSetMcstBcstFilter;
4042}WDI_RxpFilterReqParamsType;
4043
4044typedef struct
4045{
4046 /* Rxp Filter */
4047 WDI_RxpFilterReqParamsType wdiRxpFilterParam;
4048
4049 /*Request status callback offered by UMAC - it is called if the current req
4050 has returned PENDING as status; it delivers the status of sending the message
4051 over the BUS */
4052 WDI_ReqStatusCb wdiReqStatusCB;
4053 /*The user data passed in by UMAC, it will be sent back when the above
4054 function pointer will be called */
4055 void* pUserData;
4056}WDI_ConfigureRxpFilterReqParamsType;
4057
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05304058typedef struct
4059{
4060 wpt_uint8 enableFlag;
4061 wpt_uint8 frameType;
4062 wpt_uint8 frameSize;
4063 wpt_uint8 bufferMode;
4064}WDI_MgmtLoggingInitReqInfoType;
4065
Siddharth Bhal64246172015-02-27 01:04:37 +05304066typedef struct
4067{
4068 wpt_uint8 flags;
4069}WDI_GetFrameLogReqInfoType;
4070
Jeff Johnson295189b2012-06-20 16:38:30 -07004071/*---------------------------------------------------------------------------
4072 WDI_BeaconFilterInfoType
4073 Beacon Filtering data structures passed to WDA form UMAC
4074---------------------------------------------------------------------------*/
4075typedef struct
4076{
4077 wpt_uint16 usCapabilityInfo;
4078 wpt_uint16 usCapabilityMask;
4079 wpt_uint16 usBeaconInterval;
4080 wpt_uint16 usIeNum;
Madan Mohan Koyyalamudia84edda2012-10-15 14:58:25 -07004081 wpt_uint8 bssIdx;
4082 wpt_uint8 reserved;
Jeff Johnson295189b2012-06-20 16:38:30 -07004083}WDI_BeaconFilterInfoType;
4084
4085/*---------------------------------------------------------------------------
4086 WDI_BeaconFilterReqParamsType
4087 Beacon Filtering parameters passed to WDI form WDA
4088---------------------------------------------------------------------------*/
4089typedef struct
4090{
4091 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
4092 WDI_BeaconFilterInfoType wdiBeaconFilterInfo;
4093 /*Beacon Filter(s) follow the "usIeNum" field, hence the array to ease the
4094 copy of params from WDA to WDI */
4095 wpt_uint8 aFilters[WDI_BEACON_FILTER_LEN];
4096 /*Request status callback offered by UMAC - it is called if the current req
4097 has returned PENDING as status; it delivers the status of sending the message
4098 over the BUS */
4099 WDI_ReqStatusCb wdiReqStatusCB;
4100 /*The user data passed in by UMAC, it will be sent back when the above
4101 function pointer will be called */
4102 void* pUserData;
4103}WDI_BeaconFilterReqParamsType;
4104
4105/*---------------------------------------------------------------------------
4106 WDI_RemBeaconFilterInfoType
4107 Beacon Filtering data structures (to be reomoved) passed to WDA form UMAC
4108---------------------------------------------------------------------------*/
4109typedef struct
4110{
4111 wpt_uint8 ucIeCount;
4112 wpt_uint8 ucRemIeId[1];
4113}WDI_RemBeaconFilterInfoType;
4114
4115/*---------------------------------------------------------------------------
4116 WDI_RemBeaconFilterReqParamsType
4117 Beacon Filtering parameters (to be reomoved)passed to WDI form WDA
4118---------------------------------------------------------------------------*/
4119typedef struct
4120{
4121 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
4122 WDI_RemBeaconFilterInfoType wdiBeaconFilterInfo;
4123 /*Request status callback offered by UMAC - it is called if the current req
4124 has returned PENDING as status; it delivers the status of sending the message
4125 over the BUS */
4126 WDI_ReqStatusCb wdiReqStatusCB;
4127 /*The user data passed in by UMAC, it will be sent back when the above
4128 function pointer will be called */
4129 void* pUserData;
4130}WDI_RemBeaconFilterReqParamsType;
4131
4132/*---------------------------------------------------------------------------
4133 WDI_RSSIThresholdsType
4134 RSSI thresholds data structures (to be reomoved) passed to WDA form UMAC
4135---------------------------------------------------------------------------*/
4136typedef struct
4137{
4138 wpt_int8 ucRssiThreshold1 : 8;
4139 wpt_int8 ucRssiThreshold2 : 8;
4140 wpt_int8 ucRssiThreshold3 : 8;
4141 wpt_uint8 bRssiThres1PosNotify : 1;
4142 wpt_uint8 bRssiThres1NegNotify : 1;
4143 wpt_uint8 bRssiThres2PosNotify : 1;
4144 wpt_uint8 bRssiThres2NegNotify : 1;
4145 wpt_uint8 bRssiThres3PosNotify : 1;
4146 wpt_uint8 bRssiThres3NegNotify : 1;
4147 wpt_uint8 bReserved10 : 2;
4148} WDI_RSSIThresholdsType;
4149
4150/*---------------------------------------------------------------------------
4151 WDI_SetRSSIThresholdsReqParamsType
4152 RSSI thresholds parameters (to be reomoved)passed to WDI form WDA
4153---------------------------------------------------------------------------*/
4154typedef struct
4155{
4156 /*RSSI thresholds Info Type, same as WDI_RSSIThresholds */
4157 WDI_RSSIThresholdsType wdiRSSIThresholdsInfo;
4158 /*Request status callback offered by UMAC - it is called if the current req
4159 has returned PENDING as status; it delivers the status of sending the message
4160 over the BUS */
4161 WDI_ReqStatusCb wdiReqStatusCB;
4162 /*The user data passed in by UMAC, it will be sent back when the above
4163 function pointer will be called */
4164 void* pUserData;
4165}WDI_SetRSSIThresholdsReqParamsType;
4166
4167/*---------------------------------------------------------------------------
4168 WDI_HostOffloadReqType
4169 host offload info passed to WDA form UMAC
4170---------------------------------------------------------------------------*/
4171#ifdef WLAN_NS_OFFLOAD
4172typedef struct
4173{
4174 wpt_uint8 srcIPv6Addr[16];
4175 wpt_uint8 selfIPv6Addr[16];
4176 //Only support 2 possible Network Advertisement IPv6 address
4177 wpt_uint8 targetIPv6Addr1[16];
4178 wpt_uint8 targetIPv6Addr2[16];
4179 wpt_uint8 selfMacAddr[6];
4180 wpt_uint8 srcIPv6AddrValid : 1;
4181 wpt_uint8 targetIPv6Addr1Valid : 1;
4182 wpt_uint8 targetIPv6Addr2Valid : 1;
Gopichand Nakkala746a9452013-06-11 12:45:54 +05304183 wpt_uint8 slotIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004184} WDI_NSOffloadParams;
4185#endif //WLAN_NS_OFFLOAD
4186
4187typedef struct
4188{
4189 wpt_uint8 ucOffloadType;
4190 wpt_uint8 ucEnableOrDisable;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004191 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004192 union
4193 {
4194 wpt_uint8 aHostIpv4Addr [4];
4195 wpt_uint8 aHostIpv6Addr [16];
4196 } params;
4197} WDI_HostOffloadReqType;
4198
4199/*---------------------------------------------------------------------------
4200 WDI_HostOffloadReqParamsType
4201 host offload info passed to WDI form WDA
4202---------------------------------------------------------------------------*/
4203typedef struct
4204{
4205 /*Host offload Info Type, same as tHalHostOffloadReq */
4206 WDI_HostOffloadReqType wdiHostOffloadInfo;
4207#ifdef WLAN_NS_OFFLOAD
4208 WDI_NSOffloadParams wdiNsOffloadParams;
4209#endif //WLAN_NS_OFFLOAD
4210 /*Request status callback offered by UMAC - it is called if the current req
4211 has returned PENDING as status; it delivers the status of sending the message
4212 over the BUS */
4213 WDI_ReqStatusCb wdiReqStatusCB;
4214 /*The user data passed in by UMAC, it will be sent back when the above
4215 function pointer will be called */
4216 void* pUserData;
4217}WDI_HostOffloadReqParamsType;
4218
4219/*---------------------------------------------------------------------------
4220 WDI_KeepAliveReqType
4221 Keep Alive info passed to WDA form UMAC
4222---------------------------------------------------------------------------*/
4223typedef struct
4224{
4225 wpt_uint8 ucPacketType;
4226 wpt_uint32 ucTimePeriod;
4227 wpt_uint8 aHostIpv4Addr[4];
4228 wpt_uint8 aDestIpv4Addr[4];
4229 wpt_uint8 aDestMacAddr[6];
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004230 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004231} WDI_KeepAliveReqType;
4232
4233/*---------------------------------------------------------------------------
4234 WDI_KeepAliveReqParamsType
4235 Keep Alive passed to WDI form WDA
4236---------------------------------------------------------------------------*/
4237typedef struct
4238{
4239 /* Keep Alive Info Type, same as tHalKeepAliveReq */
4240 WDI_KeepAliveReqType wdiKeepAliveInfo;
4241 /*Request status callback offered by UMAC - it is called if the current req
4242 has returned PENDING as status; it delivers the status of sending the message
4243 over the BUS */
4244 WDI_ReqStatusCb wdiReqStatusCB;
4245 /*The user data passed in by UMAC, it will be sent back when the above
4246 function pointer will be called */
4247 void* pUserData;
4248}WDI_KeepAliveReqParamsType;
4249
4250/*---------------------------------------------------------------------------
4251 WDI_WowlAddBcPtrnInfoType
4252 Wowl add ptrn info passed to WDA form UMAC
4253---------------------------------------------------------------------------*/
4254typedef struct
4255{
4256 wpt_uint8 ucPatternId; // Pattern ID
4257 // Pattern byte offset from beginning of the 802.11 packet to start of the
4258 // wake-up pattern
4259 wpt_uint8 ucPatternByteOffset;
4260 wpt_uint8 ucPatternSize; // Non-Zero Pattern size
4261 wpt_uint8 ucPattern[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern
4262 wpt_uint8 ucPatternMaskSize; // Non-zero pattern mask size
4263 wpt_uint8 ucPatternMask[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern mask
4264 wpt_uint8 ucPatternExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern
4265 wpt_uint8 ucPatternMaskExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern mask
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004266 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004267} WDI_WowlAddBcPtrnInfoType;
4268
4269/*---------------------------------------------------------------------------
4270 WDI_WowlAddBcPtrnReqParamsType
4271 Wowl add ptrn info passed to WDI form WDA
4272---------------------------------------------------------------------------*/
4273typedef struct
4274{
4275 /*Wowl add ptrn Info Type, same as tpSirWowlAddBcastPtrn */
4276 WDI_WowlAddBcPtrnInfoType wdiWowlAddBcPtrnInfo;
4277 /*Request status callback offered by UMAC - it is called if the current req
4278 has returned PENDING as status; it delivers the status of sending the message
4279 over the BUS */
4280 WDI_ReqStatusCb wdiReqStatusCB;
4281 /*The user data passed in by UMAC, it will be sent back when the above
4282 function pointer will be called */
4283 void* pUserData;
4284}WDI_WowlAddBcPtrnReqParamsType;
4285
4286/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004287 WDI_WowlAddBcPtrnRspParamsType
4288 Wowl add ptrn info passed from WDI to WDA
4289---------------------------------------------------------------------------*/
4290typedef struct
4291{
4292 /*Status of the response*/
4293 WDI_Status wdiStatus;
4294 /*BssIDX of the session*/
4295 wpt_uint8 bssIdx;
4296}WDI_WowlAddBcPtrnRspParamsType;
4297
4298/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004299 WDI_WowlDelBcPtrnInfoType
4300 Wowl add ptrn info passed to WDA form UMAC
4301---------------------------------------------------------------------------*/
4302typedef struct
4303{
4304 /* Pattern ID of the wakeup pattern to be deleted */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004305 wpt_uint8 ucPatternId;
4306 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004307} WDI_WowlDelBcPtrnInfoType;
4308
4309/*---------------------------------------------------------------------------
4310 WDI_WowlDelBcPtrnReqParamsType
4311 Wowl add ptrn info passed to WDI form WDA
4312---------------------------------------------------------------------------*/
4313typedef struct
4314{
4315 /*Wowl delete ptrn Info Type, same as WDI_WowlDelBcastPtrn */
4316 WDI_WowlDelBcPtrnInfoType wdiWowlDelBcPtrnInfo;
4317 /*Request status callback offered by UMAC - it is called if the current req
4318 has returned PENDING as status; it delivers the status of sending the message
4319 over the BUS */
4320 WDI_ReqStatusCb wdiReqStatusCB;
4321 /*The user data passed in by UMAC, it will be sent back when the above
4322 function pointer will be called */
4323 void* pUserData;
4324}WDI_WowlDelBcPtrnReqParamsType;
4325
4326/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004327 WDI_WowlDelBcPtrnRspParamsType
4328 Wowl Del ptrn info passed from WDI to WDA
4329---------------------------------------------------------------------------*/
4330typedef struct
4331{
4332 /*Status of the response*/
4333 WDI_Status wdiStatus;
4334 /*BssIDX of the session*/
4335 wpt_uint8 bssIdx;
4336}WDI_WowlDelBcPtrnRspParamsType;
4337
4338/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004339 WDI_WowlEnterInfoType
4340 Wowl enter info passed to WDA form UMAC
4341---------------------------------------------------------------------------*/
4342typedef struct
4343{
4344 /* Enables/disables magic packet filtering */
4345 wpt_uint8 ucMagicPktEnable;
4346
4347 /* Magic pattern */
4348 wpt_macAddr magicPtrn;
4349
4350 /* Enables/disables packet pattern filtering in firmware.
4351 Enabling this flag enables broadcast pattern matching
4352 in Firmware. If unicast pattern matching is also desired,
4353 ucUcastPatternFilteringEnable flag must be set tot true
4354 as well
4355 */
4356 wpt_uint8 ucPatternFilteringEnable;
4357
4358 /* Enables/disables unicast packet pattern filtering.
4359 This flag specifies whether we want to do pattern match
4360 on unicast packets as well and not just broadcast packets.
4361 This flag has no effect if the ucPatternFilteringEnable
4362 (main controlling flag) is set to false
4363 */
4364 wpt_uint8 ucUcastPatternFilteringEnable;
4365
4366 /* This configuration is valid only when magicPktEnable=1.
4367 * It requests hardware to wake up when it receives the
4368 * Channel Switch Action Frame.
4369 */
4370 wpt_uint8 ucWowChnlSwitchRcv;
4371
4372 /* This configuration is valid only when magicPktEnable=1.
4373 * It requests hardware to wake up when it receives the
4374 * Deauthentication Frame.
4375 */
4376 wpt_uint8 ucWowDeauthRcv;
4377
4378 /* This configuration is valid only when magicPktEnable=1.
4379 * It requests hardware to wake up when it receives the
4380 * Disassociation Frame.
4381 */
4382 wpt_uint8 ucWowDisassocRcv;
4383
4384 /* This configuration is valid only when magicPktEnable=1.
4385 * It requests hardware to wake up when it has missed
4386 * consecutive beacons. This is a hardware register
4387 * configuration (NOT a firmware configuration).
4388 */
4389 wpt_uint8 ucWowMaxMissedBeacons;
4390
4391 /* This configuration is valid only when magicPktEnable=1.
4392 * This is a timeout value in units of microsec. It requests
4393 * hardware to unconditionally wake up after it has stayed
4394 * in WoWLAN mode for some time. Set 0 to disable this feature.
4395 */
4396 wpt_uint8 ucWowMaxSleepUsec;
4397
4398#ifdef WLAN_WAKEUP_EVENTS
4399 /* This configuration directs the WoW packet filtering to look for EAP-ID
4400 * requests embedded in EAPOL frames and use this as a wake source.
4401 */
4402 wpt_uint8 ucWoWEAPIDRequestEnable;
4403
4404 /* This configuration directs the WoW packet filtering to look for EAPOL-4WAY
4405 * requests and use this as a wake source.
4406 */
4407 wpt_uint8 ucWoWEAPOL4WayEnable;
4408
4409 /* This configuration allows a host wakeup on an network scan offload match.
4410 */
4411 wpt_uint8 ucWowNetScanOffloadMatch;
4412
4413 /* This configuration allows a host wakeup on any GTK rekeying error.
4414 */
4415 wpt_uint8 ucWowGTKRekeyError;
4416
4417 /* This configuration allows a host wakeup on BSS connection loss.
4418 */
4419 wpt_uint8 ucWoWBSSConnLoss;
4420#endif // WLAN_WAKEUP_EVENTS
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004421
4422 /* BSSIDX used to find the current session
4423 */
4424 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004425} WDI_WowlEnterInfoType;
4426
4427/*---------------------------------------------------------------------------
4428 WDI_WowlEnterReqParamsType
4429 Wowl enter info passed to WDI form WDA
4430---------------------------------------------------------------------------*/
4431typedef struct
4432{
4433 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
4434 WDI_WowlEnterInfoType wdiWowlEnterInfo;
4435 /*Request status callback offered by UMAC - it is called if the current req
4436 has returned PENDING as status; it delivers the status of sending the message
4437 over the BUS */
4438 WDI_ReqStatusCb wdiReqStatusCB;
4439 /*The user data passed in by UMAC, it will be sent back when the above
4440 function pointer will be called */
4441 void* pUserData;
4442}WDI_WowlEnterReqParamsType;
4443
4444/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004445 WDI_WowlEnterRsqParamsType
4446 Wowl enter info passed from WDI to WDA
4447---------------------------------------------------------------------------*/
4448typedef struct
4449{
4450 /*Status of the response message*/
4451 WDI_Status status;
4452
4453 /* BSSIDX used to find the current session
4454 */
4455 wpt_uint8 bssIdx;
4456}WDI_WowlEnterRspParamsType;
4457
4458/*---------------------------------------------------------------------------
4459 WDI_WowlExitInfoType
4460 Wowl exit info passed to WDA form UMAC
4461 ---------------------------------------------------------------------------*/
4462typedef struct
4463{
4464 /* BSSIDX used to find the current session
4465 */
4466 wpt_uint8 bssIdx;
4467} WDI_WowlExitInfoType;
4468
4469/*---------------------------------------------------------------------------
4470 WDI_WowlExitReqParamsType
4471 Wowl exit info passed to WDI form WDA
4472---------------------------------------------------------------------------*/
4473typedef struct
4474{
4475 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
4476 WDI_WowlExitInfoType wdiWowlExitInfo;
4477 /*Request status callback offered by UMAC - it is called if the current req
4478 has returned PENDING as status; it delivers the status of sending the message
4479 over the BUS */
4480 WDI_ReqStatusCb wdiReqStatusCB;
4481 /*The user data passed in by UMAC, it will be sent back when the above
4482 function pointer will be called */
4483 void* pUserData;
4484}WDI_WowlExitReqParamsType;
4485
4486/*---------------------------------------------------------------------------
4487 WDI_WowlExitRspParamsType
4488 Wowl exit info passed from WDI to WDA
4489---------------------------------------------------------------------------*/
4490typedef struct
4491{
4492 /*Status of the response message*/
4493 WDI_Status status;
4494
4495 /* BSSIDX used to find the current session
4496 */
4497 wpt_uint8 bssIdx;
4498}WDI_WowlExitRspParamsType;
4499
4500/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004501 WDI_ConfigureAppsCpuWakeupStateReqParamsType
4502 Apps Cpu Wakeup State parameters passed to WDI form WDA
4503---------------------------------------------------------------------------*/
4504typedef struct
4505{
4506 /*Depicts the state of the Apps CPU */
4507 wpt_boolean bIsAppsAwake;
4508 /*Request status callback offered by UMAC - it is called if the current req
4509 has returned PENDING as status; it delivers the status of sending the message
4510 over the BUS */
4511 WDI_ReqStatusCb wdiReqStatusCB;
4512 /*The user data passed in by UMAC, it will be sent back when the above
4513 function pointer will be called */
4514 void* pUserData;
4515}WDI_ConfigureAppsCpuWakeupStateReqParamsType;
4516/*---------------------------------------------------------------------------
4517 WDI_FlushAcReqinfoType
4518---------------------------------------------------------------------------*/
4519typedef struct
4520{
4521 // Message Type
4522 wpt_uint16 usMesgType;
4523
4524 // Message Length
4525 wpt_uint16 usMesgLen;
4526
4527 // Station Index. originates from HAL
4528 wpt_uint8 ucSTAId;
4529
4530 // TID for which the transmit queue is being flushed
4531 wpt_uint8 ucTid;
4532
4533}WDI_FlushAcReqinfoType;
4534
4535/*---------------------------------------------------------------------------
4536 WDI_FlushAcReqParamsType
4537---------------------------------------------------------------------------*/
4538typedef struct
4539{
4540 /*AC Info */
4541 WDI_FlushAcReqinfoType wdiFlushAcInfo;
4542
4543 /*Request status callback offered by UMAC - it is called if the current
4544 req has returned PENDING as status; it delivers the status of sending
4545 the message over the BUS */
4546 WDI_ReqStatusCb wdiReqStatusCB;
4547
4548 /*The user data passed in by UMAC, it will be sent back when the above
4549 function pointer will be called */
4550 void* pUserData;
4551}WDI_FlushAcReqParamsType;
4552
4553/*---------------------------------------------------------------------------
4554 WDI_BtAmpEventinfoType
4555 BT-AMP Event Structure
4556---------------------------------------------------------------------------*/
4557typedef struct
4558{
4559 wpt_uint8 ucBtAmpEventType;
4560
4561} WDI_BtAmpEventinfoType;
4562
4563/*---------------------------------------------------------------------------
4564 WDI_BtAmpEventParamsType
4565---------------------------------------------------------------------------*/
4566typedef struct
4567{
4568 /*BT AMP event Info */
4569 WDI_BtAmpEventinfoType wdiBtAmpEventInfo;
4570
4571 /*Request status callback offered by UMAC - it is called if the current
4572 req has returned PENDING as status; it delivers the status of sending
4573 the message over the BUS */
4574 WDI_ReqStatusCb wdiReqStatusCB;
4575
4576 /*The user data passed in by UMAC, it will be sent back when the above
4577 function pointer will be called */
4578 void* pUserData;
4579}WDI_BtAmpEventParamsType;
4580
Jeff Johnsone7245742012-09-05 17:12:55 -07004581#ifdef FEATURE_OEM_DATA_SUPPORT
4582
4583#ifndef OEM_DATA_REQ_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004584#define OEM_DATA_REQ_SIZE 134
Jeff Johnsone7245742012-09-05 17:12:55 -07004585#endif
4586#ifndef OEM_DATA_RSP_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004587#define OEM_DATA_RSP_SIZE 1968
Jeff Johnsone7245742012-09-05 17:12:55 -07004588#endif
4589
4590/*----------------------------------------------------------------------------
4591 WDI_oemDataReqInfoType
4592----------------------------------------------------------------------------*/
4593typedef struct
4594{
4595 wpt_macAddr selfMacAddr;
4596 wpt_uint8 oemDataReq[OEM_DATA_REQ_SIZE];
4597}WDI_oemDataReqInfoType;
4598
4599/*----------------------------------------------------------------------------
4600 WDI_oemDataReqParamsType
4601----------------------------------------------------------------------------*/
4602typedef struct
4603{
4604 /*Request status callback offered by UMAC - it is called if the current
4605 req has returned PENDING as status; it delivers the status of sending
4606 the message over the BUS */
4607 WDI_ReqStatusCb wdiReqStatusCB;
4608
4609 /*The user data passed in by UMAC, it will be sent back when the above
4610 function pointer will be called */
4611 void* pUserData;
4612
4613 /*OEM DATA REQ Info */
4614 WDI_oemDataReqInfoType wdiOemDataReqInfo;
4615
4616}WDI_oemDataReqParamsType;
4617
4618/*----------------------------------------------------------------------------
4619 WDI_oemDataRspParamsType
4620----------------------------------------------------------------------------*/
4621typedef struct
4622{
4623 wpt_uint8 oemDataRsp[OEM_DATA_RSP_SIZE];
4624}WDI_oemDataRspParamsType;
4625
4626#endif /* FEATURE_OEM_DATA_SUPPORT */
Jeff Johnson295189b2012-06-20 16:38:30 -07004627
4628#ifdef WLAN_FEATURE_VOWIFI_11R
4629/*---------------------------------------------------------------------------
4630 WDI_AggrAddTSReqInfoType
4631---------------------------------------------------------------------------*/
4632typedef struct
4633{
4634 /*STA Index*/
4635 wpt_uint8 ucSTAIdx;
4636
4637 /*Identifier for TSpec*/
4638 wpt_uint8 ucTspecIdx;
4639
4640 /*Tspec IE negotiated OTA*/
4641 WDI_TspecIEType wdiTspecIE[WDI_MAX_NO_AC];
4642
4643 /*UAPSD delivery and trigger enabled flags */
4644 wpt_uint8 ucUapsdFlags;
4645
4646 /*SI for each AC*/
4647 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
4648
4649 /*Suspend Interval for each AC*/
4650 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
4651
4652 /*DI for each AC*/
4653 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
4654
4655}WDI_AggrAddTSReqInfoType;
4656
4657
4658/*---------------------------------------------------------------------------
4659 WDI_AggrAddTSReqParamsType
4660---------------------------------------------------------------------------*/
4661typedef struct
4662{
4663 /*TSpec Info */
4664 WDI_AggrAddTSReqInfoType wdiAggrTsInfo;
4665
4666 /*Request status callback offered by UMAC - it is called if the current
4667 req has returned PENDING as status; it delivers the status of sending
4668 the message over the BUS */
4669 WDI_ReqStatusCb wdiReqStatusCB;
4670
4671 /*The user data passed in by UMAC, it will be sent back when the above
4672 function pointer will be called */
4673 void* pUserData;
4674}WDI_AggrAddTSReqParamsType;
4675
4676#endif /* WLAN_FEATURE_VOWIFI_11R */
4677
Jeff Johnson295189b2012-06-20 16:38:30 -07004678/*---------------------------------------------------------------------------
4679 WDI_FTMCommandReqType
4680---------------------------------------------------------------------------*/
4681typedef struct
4682{
4683 /* FTM Command Body length */
4684 wpt_uint32 bodyLength;
4685 /* Actual FTM Command body */
4686 void *FTMCommandBody;
4687}WDI_FTMCommandReqType;
Jeff Johnson295189b2012-06-20 16:38:30 -07004688
4689/*---------------------------------------------------------------------------
4690 WDI_WlanSuspendInfoType
4691---------------------------------------------------------------------------*/
4692typedef struct
4693{
4694 /* Mode of Mcast and Bcast filters configured */
4695 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4696}WDI_WlanSuspendInfoType;
4697
4698/*---------------------------------------------------------------------------
4699 WDI_SuspendParamsType
4700---------------------------------------------------------------------------*/
4701typedef struct
4702{
4703 WDI_WlanSuspendInfoType wdiSuspendParams;
4704
4705 /*Request status callback offered by UMAC - it is called if the current
4706 req has returned PENDING as status; it delivers the status of sending
4707 the message over the BUS */
4708 WDI_ReqStatusCb wdiReqStatusCB;
4709
4710 /*The user data passed in by UMAC, it will be sent back when the above
4711 function pointer will be called */
4712 void* pUserData;
4713
4714}WDI_SuspendParamsType;
4715
4716/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004717 WDI_TrafficStatsType - This is collected for each STA
4718---------------------------------------------------------------------------*/
4719
4720typedef struct
4721{
4722 /* TX stats */
4723 wpt_uint32 txBytesPushed;
4724 wpt_uint32 txPacketsPushed;
4725
4726 /* RX stats */
4727 wpt_uint32 rxBytesRcvd;
4728 wpt_uint32 rxPacketsRcvd;
4729 wpt_uint32 rxTimeTotal;
4730}WDI_TrafficStatsType;
4731
4732typedef struct
4733{
4734 WDI_TrafficStatsType *pTrafficStats;
4735 wpt_uint32 length;
4736 wpt_uint32 duration;
4737
4738 /*Request status callback offered by UMAC - it is called if the current
4739 req has returned PENDING as status; it delivers the status of sending
4740 the message over the BUS */
4741 WDI_ReqStatusCb wdiReqStatusCB;
4742
4743 /*The user data passed in by UMAC, it will be sent back when the above
4744 function pointer will be called */
4745 void* pUserData;
4746}WDI_TrafficStatsIndType;
4747
Chet Lanctot186b5732013-03-18 10:26:30 -07004748#ifdef WLAN_FEATURE_11W
4749typedef struct
4750{
4751
4752 wpt_boolean bExcludeUnencrypt;
4753 wpt_macAddr bssid;
4754 /*Request status callback offered by UMAC - it is called if the current
4755 req has returned PENDING as status; it delivers the status of sending
4756 the message over the BUS */
4757 WDI_ReqStatusCb wdiReqStatusCB;
4758
4759 /*The user data passed in by UMAC, it will be sent back when the above
4760 function pointer will be called */
4761 void* pUserData;
4762}WDI_ExcludeUnencryptIndType;
4763#endif
4764
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004765/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004766 WDI_WlanResumeInfoType
4767---------------------------------------------------------------------------*/
4768typedef struct
4769{
4770 /* Mode of Mcast and Bcast filters configured */
4771 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4772}WDI_WlanResumeInfoType;
4773
4774/*---------------------------------------------------------------------------
4775 WDI_ResumeParamsType
4776---------------------------------------------------------------------------*/
4777typedef struct
4778{
4779 WDI_WlanResumeInfoType wdiResumeParams;
4780
4781 /*Request status callback offered by UMAC - it is called if the current
4782 req has returned PENDING as status; it delivers the status of sending
4783 the message over the BUS */
4784 WDI_ReqStatusCb wdiReqStatusCB;
4785
4786 /*The user data passed in by UMAC, it will be sent back when the above
4787 function pointer will be called */
4788 void* pUserData;
4789
4790}WDI_ResumeParamsType;
4791
4792#ifdef WLAN_FEATURE_GTK_OFFLOAD
4793/*---------------------------------------------------------------------------
4794 * WDI_GTK_OFFLOAD_REQ
4795 *--------------------------------------------------------------------------*/
4796
4797typedef struct
4798{
4799 wpt_uint32 ulFlags; /* optional flags */
4800 wpt_uint8 aKCK[16]; /* Key confirmation key */
4801 wpt_uint8 aKEK[16]; /* key encryption key */
4802 wpt_uint64 ullKeyReplayCounter; /* replay counter */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004803 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004804} WDI_GtkOffloadReqParams;
4805
4806typedef struct
4807{
4808 WDI_GtkOffloadReqParams gtkOffloadReqParams;
4809
4810 /*Request status callback offered by UMAC - it is called if the current
4811 req has returned PENDING as status; it delivers the status of sending
4812 the message over the BUS */
4813 WDI_ReqStatusCb wdiReqStatusCB;
4814
4815 /*The user data passed in by UMAC, it will be sent back when the above
4816 function pointer will be called */
4817 void* pUserData;
4818} WDI_GtkOffloadReqMsg;
4819
4820/*---------------------------------------------------------------------------
4821 * WDI_GTK_OFFLOAD_RSP
4822 *--------------------------------------------------------------------------*/
4823typedef struct
4824{
4825 /* success or failure */
4826 wpt_uint32 ulStatus;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004827 /*BssIdx of the response */
4828 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004829} WDI_GtkOffloadRspParams;
4830
4831typedef struct
4832{
4833 WDI_GtkOffloadRspParams gtkOffloadRspParams;
4834
4835 /*Request status callback offered by UMAC - it is called if the current
4836 req has returned PENDING as status; it delivers the status of sending
4837 the message over the BUS */
4838 WDI_ReqStatusCb wdiReqStatusCB;
4839
4840 /*The user data passed in by UMAC, it will be sent back when the above
4841 function pointer will be called */
4842 void* pUserData;
4843} WDI_GtkOffloadRspMsg;
4844
4845
4846/*---------------------------------------------------------------------------
4847* WDI_GTK_OFFLOAD_GETINFO_REQ
4848*--------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004849typedef struct
4850{
4851 /*BssIdx of the response */
4852 wpt_macAddr bssId;
4853} WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004854
4855typedef struct
4856{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004857
4858 WDI_GtkOffloadGetInfoReqParams WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004859 /*Request status callback offered by UMAC - it is called if the current
4860 req has returned PENDING as status; it delivers the status of sending
4861 the message over the BUS */
4862 WDI_ReqStatusCb wdiReqStatusCB;
4863
4864 /*The user data passed in by UMAC, it will be sent back when the above
4865 function pointer will be called */
4866 void* pUserData;
4867} WDI_GtkOffloadGetInfoReqMsg;
4868
4869/*---------------------------------------------------------------------------
4870* WDI_GTK_OFFLOAD_GETINFO_RSP
4871*--------------------------------------------------------------------------*/
4872typedef struct
4873{
4874 wpt_uint32 ulStatus; /* success or failure */
4875 wpt_uint64 ullKeyReplayCounter; /* current replay counter value */
4876 wpt_uint32 ulTotalRekeyCount; /* total rekey attempts */
4877 wpt_uint32 ulGTKRekeyCount; /* successful GTK rekeys */
4878 wpt_uint32 ulIGTKRekeyCount; /* successful iGTK rekeys */
Gopichand Nakkala870cbae2013-03-15 21:16:09 +05304879 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004880} WDI_GtkOffloadGetInfoRspParams;
4881
4882typedef struct
4883{
4884 WDI_GtkOffloadGetInfoRspParams gtkOffloadGetInfoRspParams;
4885
4886 /*Request status callback offered by UMAC - it is called if the current
4887 req has returned PENDING as status; it delivers the status of sending
4888 the message over the BUS */
4889 WDI_ReqStatusCb wdiReqStatusCB;
4890
4891 /*The user data passed in by UMAC, it will be sent back when the above
4892 function pointer will be called */
4893 void* pUserData;
4894} WDI_GtkOffloadGetInfoRspMsg;
4895#endif // WLAN_FEATURE_GTK_OFFLOAD
4896
4897/*---------------------------------------------------------------------------
4898 WDI_SuspendResumeRspParamsType
4899---------------------------------------------------------------------------*/
4900typedef struct
4901{
4902 /*Status of the response*/
4903 WDI_Status wdiStatus;
4904}WDI_SuspendResumeRspParamsType;
4905
Leo Chang9056f462013-08-01 19:21:11 -07004906#ifdef FEATURE_WLAN_LPHB
4907/*---------------------------------------------------------------------------
4908 WDI Low Power Heart Beat Config request
4909 Copy from sirApi.h to avoid compile error
4910---------------------------------------------------------------------------*/
4911#define WDI_LPHB_FILTER_LEN 64
4912
4913typedef enum
4914{
4915 WDI_LPHB_SET_EN_PARAMS_INDID = 0x0001,
4916 WDI_LPHB_SET_TCP_PARAMS_INDID,
4917 WDI_LPHB_SET_TCP_PKT_FILTER_INDID,
4918 WDI_LPHB_SET_UDP_PARAMS_INDID,
4919 WDI_LPHB_SET_UDP_PKT_FILTER_INDID,
4920 WDI_LPHB_SET_NETWORK_INFO_INDID,
4921} WDI_LPHBIndType;
4922
4923typedef struct
4924{
4925 wpt_uint8 enable;
4926 wpt_uint8 item;
4927 wpt_uint8 session;
4928} WDI_LPHBEnableStruct;
4929
4930typedef struct
4931{
4932 wpt_uint32 srv_ip;
4933 wpt_uint32 dev_ip;
4934 wpt_uint16 src_port;
4935 wpt_uint16 dst_port;
4936 wpt_uint16 timeout;
4937 wpt_uint8 session;
4938 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
Leo Changd9df8aa2013-09-26 13:32:26 -07004939 wpt_uint16 timePeriodSec; // in seconds
4940 wpt_uint32 tcpSn;
Leo Chang9056f462013-08-01 19:21:11 -07004941} WDI_LPHBTcpParamStruct;
4942
4943typedef struct
4944{
4945 wpt_uint16 length;
4946 wpt_uint8 offset;
4947 wpt_uint8 session;
4948 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
4949} WDI_LPHBTcpFilterStruct;
4950
4951typedef struct
4952{
4953 wpt_uint32 srv_ip;
4954 wpt_uint32 dev_ip;
4955 wpt_uint16 src_port;
4956 wpt_uint16 dst_port;
4957 wpt_uint16 interval;
4958 wpt_uint16 timeout;
4959 wpt_uint8 session;
4960 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
4961} WDI_LPHBUdpParamStruct;
4962
4963typedef struct
4964{
4965 wpt_uint16 length;
4966 wpt_uint8 offset;
4967 wpt_uint8 session;
4968 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
4969} WDI_LPHBUdpFilterStruct;
4970
4971typedef struct
4972{
4973 wpt_uint16 cmd;
4974 wpt_uint16 dummy;
4975 union
4976 {
4977 WDI_LPHBEnableStruct lphbEnableReq;
4978 WDI_LPHBTcpParamStruct lphbTcpParamReq;
4979 WDI_LPHBTcpFilterStruct lphbTcpFilterReq;
4980 WDI_LPHBUdpParamStruct lphbUdpParamReq;
4981 WDI_LPHBUdpFilterStruct lphbUdpFilterReq;
4982 } params;
4983} WDI_LPHBReq;
4984#endif /* FEATURE_WLAN_LPHB */
Jeff Johnson295189b2012-06-20 16:38:30 -07004985
Jeff Johnson295189b2012-06-20 16:38:30 -07004986/*---------------------------------------------------------------------------
4987 WDI_AuthType
4988---------------------------------------------------------------------------*/
4989typedef enum
4990{
4991 WDI_AUTH_TYPE_ANY = 0,
4992
4993 WDI_AUTH_TYPE_NONE,
4994 WDI_AUTH_TYPE_OPEN_SYSTEM,
4995 WDI_AUTH_TYPE_SHARED_KEY,
4996
4997 WDI_AUTH_TYPE_WPA,
4998 WDI_AUTH_TYPE_WPA_PSK,
4999 WDI_AUTH_TYPE_WPA_NONE,
5000
5001 WDI_AUTH_TYPE_RSN,
5002 WDI_AUTH_TYPE_RSN_PSK,
5003 WDI_AUTH_TYPE_FT_RSN,
5004 WDI_AUTH_TYPE_FT_RSN_PSK,
5005 WDI_AUTH_TYPE_WAPI_WAI_CERTIFICATE,
5006 WDI_AUTH_TYPE_WAPI_WAI_PSK,
5007 WDI_AUTH_TYPE_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
5008
5009}WDI_AuthType;
5010
5011/*---------------------------------------------------------------------------
5012 WDI_EdType
5013---------------------------------------------------------------------------*/
5014typedef enum
5015{
5016 WDI_ED_ANY = 0,
5017 WDI_ED_NONE,
5018 WDI_ED_WEP40,
5019 WDI_ED_WEP104,
5020 WDI_ED_TKIP,
5021 WDI_ED_CCMP,
5022 WDI_ED_WPI,
5023 WDI_ED_AES_128_CMAC,
5024 WDI_ED_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
5025} WDI_EdType;
5026
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005027#ifdef FEATURE_WLAN_SCAN_PNO
5028
5029/*Max number of channels for a given network supported by PNO*/
5030#define WDI_PNO_MAX_NETW_CHANNELS 26
5031
5032/*Max number of channels for a given network supported by PNO*/
5033#define WDI_PNO_MAX_NETW_CHANNELS_EX 60
5034
5035/*The max number of programable networks for PNO*/
5036#define WDI_PNO_MAX_SUPP_NETWORKS 16
5037
5038/*The max number of scan timers programable in Riva*/
5039#define WDI_PNO_MAX_SCAN_TIMERS 10
5040
5041#define WDI_PNO_MAX_PROBE_SIZE 450
Jeff Johnson295189b2012-06-20 16:38:30 -07005042
5043/*---------------------------------------------------------------------------
5044 WDI_PNOMode
5045---------------------------------------------------------------------------*/
5046typedef enum
5047{
5048 /*Network offload is to start immediately*/
5049 WDI_PNO_MODE_IMMEDIATE,
5050
5051 /*Network offload is to start on host suspend*/
5052 WDI_PNO_MODE_ON_SUSPEND,
5053
5054 /*Network offload is to start on host resume*/
5055 WDI_PNO_MODE_ON_RESUME,
5056 WDI_PNO_MODE_MAX = 0xFFFFFFFF
5057} WDI_PNOMode;
5058
5059/* SSID broadcast type */
5060typedef enum
5061{
5062 WDI_BCAST_UNKNOWN = 0,
5063 WDI_BCAST_NORMAL = 1,
5064 WDI_BCAST_HIDDEN = 2,
5065
5066 WDI_BCAST_TYPE_MAX = 0xFFFFFFFF
5067} WDI_SSIDBcastType;
5068
5069/*---------------------------------------------------------------------------
5070 WDI_NetworkType
5071---------------------------------------------------------------------------*/
5072typedef struct
5073{
5074 /*The SSID of the preferred network*/
5075 WDI_MacSSid ssId;
5076
5077 /*The authentication method of the preferred network*/
5078 WDI_AuthType wdiAuth;
5079
5080 /*The encryption method of the preferred network*/
5081 WDI_EdType wdiEncryption;
5082
5083 /*SSID broadcast type, normal, hidden or unknown*/
5084 WDI_SSIDBcastType wdiBcastNetworkType;
5085
5086 /*channel count - 0 for all channels*/
5087 wpt_uint8 ucChannelCount;
5088
5089 /*the actual channels*/
Madan Mohan Koyyalamudi4bb5d2e2013-09-26 17:36:46 +05305090 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
Jeff Johnson295189b2012-06-20 16:38:30 -07005091
5092 /*rssi threshold that a network must meet to be considered, 0 - for any*/
5093 wpt_uint8 rssiThreshold;
5094} WDI_NetworkType;
5095
5096
5097/*---------------------------------------------------------------------------
5098 WDI_ScanTimer
5099---------------------------------------------------------------------------*/
5100typedef struct
5101{
5102 /*The timer value*/
5103 wpt_uint32 uTimerValue;
5104
5105 /*The amount of time we should be repeating the interval*/
5106 wpt_uint32 uTimerRepeat;
5107} WDI_ScanTimer;
5108
5109/*---------------------------------------------------------------------------
5110 WDI_ScanTimersType
5111---------------------------------------------------------------------------*/
5112typedef struct
5113{
5114 /*The number of value pair intervals present in the array*/
5115 wpt_uint8 ucScanTimersCount;
5116
5117 /*The time-repeat value pairs*/
5118 WDI_ScanTimer aTimerValues[WDI_PNO_MAX_SCAN_TIMERS];
5119} WDI_ScanTimersType;
5120
5121/*---------------------------------------------------------------------------
5122 WDI_PNOScanReqType
5123---------------------------------------------------------------------------*/
5124typedef struct
5125{
5126 /*Enable or disable PNO feature*/
5127 wpt_uint8 bEnable;
5128
5129 /*PNO mode requested*/
5130 WDI_PNOMode wdiModePNO;
5131
5132 /*Network count*/
5133 wpt_uint8 ucNetworksCount;
5134
5135 /*The networks to look for*/
5136 WDI_NetworkType aNetworks[WDI_PNO_MAX_SUPP_NETWORKS];
5137
5138 /*Scan timer intervals*/
5139 WDI_ScanTimersType scanTimers;
5140
5141 /*Probe template for 2.4GHz band*/
5142 wpt_uint16 us24GProbeSize;
5143 wpt_uint8 a24GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
5144
5145 /*Probe template for 5GHz band*/
5146 wpt_uint16 us5GProbeSize;
5147 wpt_uint8 a5GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
5148} WDI_PNOScanReqType;
5149
5150/*---------------------------------------------------------------------------
5151 WDI_PNOScanReqParamsType
5152 PNO info passed to WDI form WDA
5153---------------------------------------------------------------------------*/
5154typedef struct
5155{
5156 /* PNO Info Type, same as tPrefNetwListParams */
5157 WDI_PNOScanReqType wdiPNOScanInfo;
5158 /* Request status callback offered by UMAC - it is called if the current req
5159 has returned PENDING as status; it delivers the status of sending the message
5160 over the BUS */
5161 WDI_ReqStatusCb wdiReqStatusCB;
5162 /* The user data passed in by UMAC, it will be sent back when the above
5163 function pointer will be called */
5164 void* pUserData;
5165} WDI_PNOScanReqParamsType;
5166
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005167/*---------------------------------------------------------------------------
5168 WDI_SetRssiFilterReqParamsType
5169 PNO info passed to WDI form WDA
5170---------------------------------------------------------------------------*/
5171typedef struct
5172{
5173 /* RSSI Threshold */
5174 wpt_uint8 rssiThreshold;
5175 /* Request status callback offered by UMAC - it is called if the current req
5176 has returned PENDING as status; it delivers the status of sending the message
5177 over the BUS */
5178 WDI_ReqStatusCb wdiReqStatusCB;
5179 /* The user data passed in by UMAC, it will be sent back when the above
5180 function pointer will be called */
5181 void* pUserData;
5182} WDI_SetRssiFilterReqParamsType;
5183
5184/*---------------------------------------------------------------------------
5185 WDI_UpdateScanParamsInfo
5186---------------------------------------------------------------------------*/
5187typedef struct
5188{
5189 /*Is 11d enabled*/
5190 wpt_uint8 b11dEnabled;
5191
5192 /*Was UMAc able to find the regulatory domain*/
5193 wpt_uint8 b11dResolved;
5194
5195 /*Number of channel allowed in the regulatory domain*/
5196 wpt_uint8 ucChannelCount;
5197
5198 /*The actual channels allowed in the regulatory domain*/
5199 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
5200
5201 /*Passive min channel time*/
5202 wpt_uint16 usPassiveMinChTime;
5203
5204 /*Passive max channel time*/
5205 wpt_uint16 usPassiveMaxChTime;
5206
5207 /*Active min channel time*/
5208 wpt_uint16 usActiveMinChTime;
5209
5210 /*Active max channel time*/
5211 wpt_uint16 usActiveMaxChTime;
5212
5213 /*channel bonding info*/
5214 wpt_uint8 cbState;
5215} WDI_UpdateScanParamsInfo;
5216
5217/*---------------------------------------------------------------------------
5218 WDI_UpdateScanParamsInfoType
5219 UpdateScanParams info passed to WDI form WDA
5220---------------------------------------------------------------------------*/
5221typedef struct
5222{
5223 /* PNO Info Type, same as tUpdateScanParams */
5224 WDI_UpdateScanParamsInfo wdiUpdateScanParamsInfo;
5225 /* Request status callback offered by UMAC - it is called if the current req
5226 has returned PENDING as status; it delivers the status of sending the message
5227 over the BUS */
5228 WDI_ReqStatusCb wdiReqStatusCB;
5229 /* The user data passed in by UMAC, it will be sent back when the above
5230 function pointer will be called */
5231 void* pUserData;
5232} WDI_UpdateScanParamsInfoType;
5233#endif //FEATURE_WLAN_SCAN_PNO
5234
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005235#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
5236
Varun Reddy Yeturu52231ea2014-02-06 12:00:56 -08005237#define WDI_ROAM_SCAN_MAX_CHANNELS 80
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005238#define WDI_ROAM_SCAN_MAX_PROBE_SIZE 450
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005239
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005240typedef struct
5241{
5242 /*The SSID of the preferred network*/
5243 WDI_MacSSid ssId;
5244 wpt_uint8 currAPbssid[WDI_MAC_ADDR_LEN];
5245
5246 /*The authentication method of the preferred network*/
5247 WDI_AuthType authentication;
5248
5249 /*The encryption method of the preferred network*/
5250 WDI_EdType encryption;
5251 WDI_EdType mcencryption;
5252
5253 /*SSID broadcast type, normal, hidden or unknown*/
5254 //WDI_SSIDBcastType wdiBcastNetworkType;
5255
5256 /*channel count - 0 for all channels*/
5257 wpt_uint8 ChannelCount;
5258
5259 /*the actual channels*/
5260 wpt_uint8 ChannelCache[WDI_ROAM_SCAN_MAX_CHANNELS];
5261
5262} WDI_RoamNetworkType;
5263
5264typedef struct WDIMobilityDomainInfo
5265{
5266 wpt_uint8 mdiePresent;
5267 wpt_uint16 mobilityDomain;
5268} WDI_MobilityDomainInfo;
5269
5270/*---------------------------------------------------------------------------
5271 WDI_RoamOffloadScanInfo
5272---------------------------------------------------------------------------*/
5273typedef struct
5274{
5275 wpt_boolean RoamScanOffloadEnabled;
Sameer Thalappil4ae66ec2013-11-05 14:17:35 -08005276 wpt_boolean MAWCEnabled;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005277 wpt_uint8 LookupThreshold;
Varun Reddy Yeturu6c5e25c2014-01-09 21:55:37 -08005278 wpt_uint8 RxSensitivityThreshold;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005279 wpt_uint8 RoamRssiDiff;
5280 wpt_uint8 ChannelCacheType;
5281 wpt_uint8 Command;
5282 wpt_uint8 StartScanReason;
5283 wpt_uint16 NeighborScanTimerPeriod;
5284 wpt_uint16 NeighborRoamScanRefreshPeriod;
5285 wpt_uint16 NeighborScanChannelMinTime;
5286 wpt_uint16 NeighborScanChannelMaxTime;
5287 wpt_uint16 EmptyRefreshScanPeriod;
5288 wpt_uint8 ValidChannelCount;
5289 wpt_uint8 ValidChannelList[WDI_ROAM_SCAN_MAX_CHANNELS];
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08005290 wpt_boolean IsESEEnabled;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005291 /*Probe template for 2.4GHz band*/
5292 wpt_uint16 us24GProbeSize;
5293 wpt_uint8 a24GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
5294
5295 /*Probe template for 5GHz band*/
5296 wpt_uint16 us5GProbeSize;
5297 wpt_uint8 a5GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005298 /*LFR BG Scan will currently look for only one network to which it is initially connected.
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005299 * As per requirement, later, the following structure can be used as an array of networks.*/
5300 WDI_RoamNetworkType ConnectedNetwork;
5301 WDI_MobilityDomainInfo MDID;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005302 wpt_uint8 nProbes;
5303 wpt_uint16 HomeAwayTime;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005304} WDI_RoamOffloadScanInfo;
5305
5306typedef struct
5307{
5308 /* Start Roam Candidate Lookup Offload Back Ground Info Type */
5309 WDI_RoamOffloadScanInfo wdiRoamOffloadScanInfo;
5310 /* Request status callback offered by UMAC - it is called if the current req
5311 has returned PENDING as status; it delivers the status of sending the message
5312 over the BUS */
5313 WDI_ReqStatusCb wdiReqStatusCB;
5314 /* The user data passed in by UMAC, it will be sent back when the above
5315 function pointer will be called */
5316 void* pUserData;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005317} WDI_RoamScanOffloadReqParamsType;
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005318#endif //WLAN_FEATURE_ROAM_SCAN_OFFLOAD
Jeff Johnson295189b2012-06-20 16:38:30 -07005319
5320/*---------------------------------------------------------------------------
Sandeep Puligilla8b8b74b2014-02-10 16:39:05 +05305321 WDI_HT40ObssScanIndType
5322---------------------------------------------------------------------------*/
5323typedef struct
5324{
5325 wpt_uint8 cmdType;
5326 wpt_uint8 scanType;
5327 wpt_uint16 OBSSScanPassiveDwellTime; // In TUs
5328 wpt_uint16 OBSSScanActiveDwellTime; // In TUs
5329 wpt_uint16 BSSChannelWidthTriggerScanInterval; // In seconds
5330 wpt_uint16 OBSSScanPassiveTotalPerChannel; // In TUs
5331 wpt_uint16 OBSSScanActiveTotalPerChannel; // In TUs
5332 wpt_uint16 BSSWidthChannelTransitionDelayFactor;
5333 wpt_uint16 OBSSScanActivityThreshold;
5334 wpt_uint8 selfStaIdx;
5335 wpt_uint8 bssIdx;
5336 wpt_uint8 fortyMHZIntolerent;
5337 wpt_uint8 channelCount;
5338 wpt_uint8 channels[WDI_ROAM_SCAN_MAX_CHANNELS];
5339 wpt_uint8 currentOperatingClass;
5340 wpt_uint16 ieFieldLen;
5341 wpt_uint8 ieField[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
5342} WDI_HT40ObssScanIndType;
5343
5344
5345/*---------------------------------------------------------------------------
5346 WDI_OBSSScanIndParamsType
5347---------------------------------------------------------------------------*/
5348typedef struct
5349{
5350 WDI_HT40ObssScanIndType wdiHT40ObssScanParam;
5351
5352 /*Request status callback offered by UMAC - it is called if the current
5353 req has returned PENDING as status; it delivers the status of sending
5354 the message over the BUS */
5355 WDI_ReqStatusCb wdiReqStatusCB;
5356
5357 /*The user data passed in by UMAC, it will be sent back when the above
5358 function pointer will be called */
5359 void* pUserData;
5360
5361}WDI_HT40ObssScanParamsType;
5362
5363/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07005364 WDI_UpdateScanParamsInfo
5365---------------------------------------------------------------------------*/
5366typedef struct
5367{
5368 /* Ignore DTIM */
5369 wpt_uint32 uIgnoreDTIM;
5370
5371 /*DTIM Period*/
5372 wpt_uint32 uDTIMPeriod;
5373
5374 /* Listen Interval */
5375 wpt_uint32 uListenInterval;
5376
5377 /* Broadcast Multicas Filter */
5378 wpt_uint32 uBcastMcastFilter;
5379
5380 /* Beacon Early Termination */
5381 wpt_uint32 uEnableBET;
5382
5383 /* Beacon Early Termination Interval */
5384 wpt_uint32 uBETInterval;
5385
Yue Mac24062f2013-05-13 17:01:29 -07005386 /* MAX LI for modulated DTIM */
5387 wpt_uint32 uMaxLIModulatedDTIM;
5388
Jeff Johnson295189b2012-06-20 16:38:30 -07005389} WDI_SetPowerParamsInfo;
5390
5391/*---------------------------------------------------------------------------
5392 WDI_UpdateScanParamsInfoType
5393 UpdateScanParams info passed to WDI form WDA
5394---------------------------------------------------------------------------*/
5395typedef struct
5396{
5397 /* Power params Info Type, same as tSetPowerParamsReq */
5398 WDI_SetPowerParamsInfo wdiSetPowerParamsInfo;
5399 /* Request status callback offered by UMAC - it is called if the current req
5400 has returned PENDING as status; it delivers the status of sending the message
5401 over the BUS */
5402 WDI_ReqStatusCb wdiReqStatusCB;
5403 /* The user data passed in by UMAC, it will be sent back when the above
5404 function pointer will be called */
5405 void* pUserData;
5406}WDI_SetPowerParamsReqParamsType;
5407
5408/*---------------------------------------------------------------------------
5409 WDI_SetTxPerTrackingConfType
5410 Wowl add ptrn info passed to WDA form UMAC
5411---------------------------------------------------------------------------*/
5412typedef struct
5413{
5414 wpt_uint8 ucTxPerTrackingEnable; /* 0: disable, 1:enable */
5415 wpt_uint8 ucTxPerTrackingPeriod; /* Check period, unit is sec. */
5416 wpt_uint8 ucTxPerTrackingRatio; /* (Fail TX packet)/(Total TX packet) ratio, the unit is 10%. */
5417 wpt_uint32 uTxPerTrackingWatermark; /* A watermark of check number, once the tx packet exceed this number, we do the check, default is 5 */
5418} WDI_TxPerTrackingParamType;
5419
5420/*---------------------------------------------------------------------------
5421 WDI_SetTxPerTrackingReqParamsType
5422 Tx PER Tracking parameters passed to WDI from WDA
5423---------------------------------------------------------------------------*/
5424typedef struct
5425{
5426 /* Configurations for Tx PER Tracking */
5427 WDI_TxPerTrackingParamType wdiTxPerTrackingParam;
5428 /*Request status callback offered by UMAC - it is called if the current req
5429 has returned PENDING as status; it delivers the status of sending the message
5430 over the BUS */
5431 WDI_ReqStatusCb wdiReqStatusCB;
5432 /*The user data passed in by UMAC, it will be sent back when the above
5433 function pointer will be called */
5434 void* pUserData;
5435}WDI_SetTxPerTrackingReqParamsType;
5436
5437#ifdef WLAN_FEATURE_PACKET_FILTERING
5438/*---------------------------------------------------------------------------
5439 Packet Filtering Parameters
5440---------------------------------------------------------------------------*/
5441
5442#define WDI_IPV4_ADDR_LEN 4
5443#define WDI_MAC_ADDR_LEN 6
5444#define WDI_MAX_FILTER_TEST_DATA_LEN 8
5445#define WDI_MAX_NUM_MULTICAST_ADDRESS 240
5446#define WDI_MAX_NUM_FILTERS 20
5447#define WDI_MAX_NUM_TESTS_PER_FILTER 10
5448
5449//
5450// Receive Filter Parameters
5451//
5452typedef enum
5453{
5454 WDI_RCV_FILTER_TYPE_INVALID,
5455 WDI_RCV_FILTER_TYPE_FILTER_PKT,
5456 WDI_RCV_FILTER_TYPE_BUFFER_PKT,
5457 WDI_RCV_FILTER_TYPE_MAX_ENUM_SIZE
5458}WDI_ReceivePacketFilterType;
5459
5460typedef enum
5461{
5462 WDI_FILTER_HDR_TYPE_INVALID,
5463 WDI_FILTER_HDR_TYPE_MAC,
5464 WDI_FILTER_HDR_TYPE_ARP,
5465 WDI_FILTER_HDR_TYPE_IPV4,
5466 WDI_FILTER_HDR_TYPE_IPV6,
5467 WDI_FILTER_HDR_TYPE_UDP,
5468 WDI_FILTER_HDR_TYPE_MAX
5469}WDI_RcvPktFltProtocolType;
5470
5471typedef enum
5472{
5473 WDI_FILTER_CMP_TYPE_INVALID,
5474 WDI_FILTER_CMP_TYPE_EQUAL,
5475 WDI_FILTER_CMP_TYPE_MASK_EQUAL,
5476 WDI_FILTER_CMP_TYPE_NOT_EQUAL,
5477 WDI_FILTER_CMP_TYPE_MASK_NOT_EQUAL,
5478 WDI_FILTER_CMP_TYPE_MAX
5479}WDI_RcvPktFltCmpFlagType;
5480
5481typedef struct
5482{
5483 WDI_RcvPktFltProtocolType protocolLayer;
5484 WDI_RcvPktFltCmpFlagType cmpFlag;
5485/* Length of the data to compare */
5486 wpt_uint16 dataLength;
5487/* from start of the respective frame header */
5488 wpt_uint8 dataOffset;
5489 wpt_uint8 reserved; /* Reserved field */
5490/* Data to compare */
5491 wpt_uint8 compareData[WDI_MAX_FILTER_TEST_DATA_LEN];
5492/* Mask to be applied on the received packet data before compare */
5493 wpt_uint8 dataMask[WDI_MAX_FILTER_TEST_DATA_LEN];
5494}WDI_RcvPktFilterFieldParams;
5495
5496typedef struct
5497{
5498 wpt_uint8 filterId;
5499 wpt_uint8 filterType;
5500 wpt_uint32 numFieldParams;
5501 wpt_uint32 coalesceTime;
Jeff Johnsone7245742012-09-05 17:12:55 -07005502 wpt_macAddr selfMacAddr;
5503 wpt_macAddr bssId;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005504 WDI_RcvPktFilterFieldParams paramsData[1];
5505
Jeff Johnson295189b2012-06-20 16:38:30 -07005506}WDI_RcvPktFilterCfgType;
5507
5508typedef struct
5509{
5510 /*Request status callback offered by UMAC - it is called if the current
5511 req has returned PENDING as status; it delivers the status of sending
5512 the message over the BUS */
5513 WDI_ReqStatusCb wdiReqStatusCB;
5514
5515 /*The user data passed in by UMAC, it will be sent back when the above
5516 function pointer will be called */
5517 void* pUserData;
5518
5519 // Variable length packet filter field params
5520 WDI_RcvPktFilterCfgType wdiPktFilterCfg;
5521} WDI_SetRcvPktFilterReqParamsType;
5522
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005523typedef struct
5524{
5525 /*Result of the operation*/
5526 WDI_Status wdiStatus;
5527 /* BSSIDX of the Set Receive Filter
5528 */
5529 wpt_uint8 bssIdx;
5530} WDI_SetRcvPktFilterRspParamsType;
5531
Jeff Johnson295189b2012-06-20 16:38:30 -07005532//
5533// Filter Packet Match Count Parameters
5534//
5535typedef struct
5536{
5537 /*Request status callback offered by UMAC - it is called if the current
5538 req has returned PENDING as status; it delivers the status of sending
5539 the message over the BUS */
5540 WDI_ReqStatusCb wdiReqStatusCB;
5541
5542 /*The user data passed in by UMAC, it will be sent back when the above
5543 function pointer will be called */
5544 void* pUserData;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005545
5546 /* BSSID of the Match count
5547 */
5548 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005549} WDI_RcvFltPktMatchCntReqParamsType;
5550
5551typedef struct
5552{
5553 wpt_uint8 filterId;
5554 wpt_uint32 matchCnt;
5555} WDI_RcvFltPktMatchCnt;
5556
5557typedef struct
5558{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005559 /*Result of the operation*/
5560 WDI_Status wdiStatus;
Jeff Johnson295189b2012-06-20 16:38:30 -07005561
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005562 /* BSSIDX of the Match count response
5563 */
5564 wpt_uint8 bssIdx;
5565
Jeff Johnson295189b2012-06-20 16:38:30 -07005566} WDI_RcvFltPktMatchCntRspParamsType;
5567
Jeff Johnson295189b2012-06-20 16:38:30 -07005568//
5569// Receive Filter Clear Parameters
5570//
5571typedef struct
5572{
5573 wpt_uint32 status; /* only valid for response message */
5574 wpt_uint8 filterId;
Jeff Johnsone7245742012-09-05 17:12:55 -07005575 wpt_macAddr selfMacAddr;
5576 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005577}WDI_RcvFltPktClearParam;
5578
5579typedef struct
5580{
5581 WDI_RcvFltPktClearParam filterClearParam;
5582 /*Request status callback offered by UMAC - it is called if the current
5583 req has returned PENDING as status; it delivers the status of sending
5584 the message over the BUS */
5585 WDI_ReqStatusCb wdiReqStatusCB;
5586
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;
5590} WDI_RcvFltPktClearReqParamsType;
5591
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005592typedef struct
5593{
5594 /*Result of the operation*/
5595 WDI_Status wdiStatus;
5596 /* BSSIDX of the Match count response
5597 */
5598 wpt_uint8 bssIdx;
5599
5600} WDI_RcvFltPktClearRspParamsType;
5601
Jeff Johnson295189b2012-06-20 16:38:30 -07005602//
5603// Multicast Address List Parameters
5604//
5605typedef struct
5606{
5607 wpt_uint32 ulMulticastAddrCnt;
5608 wpt_macAddr multicastAddr[WDI_MAX_NUM_MULTICAST_ADDRESS];
Jeff Johnsone7245742012-09-05 17:12:55 -07005609 wpt_macAddr selfMacAddr;
5610 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005611} WDI_RcvFltMcAddrListType;
5612
5613typedef struct
5614{
5615 WDI_RcvFltMcAddrListType mcAddrList;
5616 /*Request status callback offered by UMAC - it is called if the current
5617 req has returned PENDING as status; it delivers the status of sending
5618 the message over the BUS */
5619 WDI_ReqStatusCb wdiReqStatusCB;
5620
5621 /*The user data passed in by UMAC, it will be sent back when the above
5622 function pointer will be called */
5623 void* pUserData;
5624} WDI_RcvFltPktSetMcListReqParamsType;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005625
5626typedef struct
5627{
5628 /*Result of the operation*/
5629 WDI_Status wdiStatus;
5630 /* BSSIDX of the Match count response
5631 */
5632 wpt_uint8 bssIdx;
5633} WDI_RcvFltPktSetMcListRspParamsType;
5634
Jeff Johnson295189b2012-06-20 16:38:30 -07005635#endif // WLAN_FEATURE_PACKET_FILTERING
5636
5637/*---------------------------------------------------------------------------
5638 WDI_HALDumpCmdReqInfoType
5639---------------------------------------------------------------------------*/
5640typedef struct
5641{
5642 /*command*/
5643 wpt_uint32 command;
5644
5645 /*Arguments*/
5646 wpt_uint32 argument1;
5647 wpt_uint32 argument2;
5648 wpt_uint32 argument3;
5649 wpt_uint32 argument4;
5650
5651}WDI_HALDumpCmdReqInfoType;
5652
5653/*---------------------------------------------------------------------------
5654 WDI_HALDumpCmdReqParamsType
5655---------------------------------------------------------------------------*/
5656typedef struct
5657{
5658 /*NV Blob Info*/
5659 WDI_HALDumpCmdReqInfoType wdiHALDumpCmdInfoType;
5660
5661 /*Request status callback offered by UMAC - it is called if the current
5662 req has returned PENDING as status; it delivers the status of sending
5663 the message over the BUS */
5664 WDI_ReqStatusCb wdiReqStatusCB;
5665
5666 /*The user data passed in by UMAC, it will be sent back when the above
5667 function pointer will be called */
5668 void* pUserData;
5669
5670}WDI_HALDumpCmdReqParamsType;
5671
5672
5673/*---------------------------------------------------------------------------
5674 WDI_HALDumpCmdRspParamsType
5675---------------------------------------------------------------------------*/
5676typedef struct
5677{
5678 /*Result of the operation*/
5679 WDI_Status wdiStatus;
5680
5681 /* length of the buffer */
5682 wpt_uint16 usBufferLen;
5683
5684 /* Buffer */
5685 wpt_uint8 *pBuffer;
5686}WDI_HALDumpCmdRspParamsType;
5687
5688
5689/*---------------------------------------------------------------------------
5690 WDI_SetTmLevelReqType
5691---------------------------------------------------------------------------*/
5692typedef struct
5693{
5694 wpt_uint16 tmMode;
5695 wpt_uint16 tmLevel;
5696 void* pUserData;
5697}WDI_SetTmLevelReqType;
5698
5699/*---------------------------------------------------------------------------
5700 WDI_SetTmLevelRspType
5701---------------------------------------------------------------------------*/
5702typedef struct
5703{
5704 WDI_Status wdiStatus;
5705 void* pUserData;
5706}WDI_SetTmLevelRspType;
5707
Leo Chang9056f462013-08-01 19:21:11 -07005708#ifdef FEATURE_WLAN_LPHB
5709/*---------------------------------------------------------------------------
5710 WDI_LPHBConfigParamsType
5711---------------------------------------------------------------------------*/
5712typedef struct
5713{
5714 void* pLphsConfIndData;
5715}WDI_LPHBConfigParamsType;
5716#endif /* FEATURE_WLAN_LPHB */
5717
Yue Mab9c86f42013-08-14 15:59:08 -07005718/*---------------------------------------------------------------------------
5719 WDI_AddPeriodicTxPtrnInfoType
5720---------------------------------------------------------------------------*/
5721typedef struct
5722{
5723 /* MAC Address for the adapter */
5724 wpt_macAddr macAddr;
5725
5726 wpt_uint8 ucPtrnId; // Pattern ID
5727 wpt_uint16 ucPtrnSize; // Pattern size
5728 wpt_uint32 usPtrnIntervalMs; // In msec
5729 wpt_uint8 ucPattern[PERIODIC_TX_PTRN_MAX_SIZE]; // Pattern buffer
5730} WDI_AddPeriodicTxPtrnInfoType;
5731
5732/*---------------------------------------------------------------------------
5733 WDI_DelPeriodicTxPtrnInfoType
5734---------------------------------------------------------------------------*/
5735typedef struct
5736{
5737 /* MAC Address for the adapter */
5738 wpt_macAddr macAddr;
5739
5740 /* Bitmap of pattern IDs that needs to be deleted */
5741 wpt_uint32 ucPatternIdBitmap;
5742} WDI_DelPeriodicTxPtrnInfoType;
5743
5744/*---------------------------------------------------------------------------
5745 WDI_AddPeriodicTxPtrnParamsType
5746---------------------------------------------------------------------------*/
5747typedef struct
5748{
5749 WDI_AddPeriodicTxPtrnInfoType wdiAddPeriodicTxPtrnParams;
5750
5751 /*Request status callback offered by UMAC - it is called if the current
5752 req has returned PENDING as status; it delivers the status of sending
5753 the message over the BUS */
5754 WDI_ReqStatusCb wdiReqStatusCB;
5755
5756 /*The user data passed in by UMAC, it will be sent back when the above
5757 function pointer will be called */
5758 void* pUserData;
5759} WDI_AddPeriodicTxPtrnParamsType;
5760
5761/*---------------------------------------------------------------------------
Srinivas Dasari32a79262015-02-19 13:04:49 +05305762 WDI_NanRequestType
5763---------------------------------------------------------------------------*/
5764typedef struct
5765{
5766 wpt_uint16 request_data_len;
5767 wpt_uint8 request_data[1];
5768} WDI_NanRequestType;
5769
5770
5771/*---------------------------------------------------------------------------
Yue Mab9c86f42013-08-14 15:59:08 -07005772 WDI_DelPeriodicTxPtrnParamsType
5773---------------------------------------------------------------------------*/
5774typedef struct
5775{
5776 WDI_DelPeriodicTxPtrnInfoType wdiDelPeriodicTxPtrnParams;
5777
5778 /*Request status callback offered by UMAC - it is called if the current
5779 req has returned PENDING as status; it delivers the status of sending
5780 the message over the BUS */
5781 WDI_ReqStatusCb wdiReqStatusCB;
5782
5783 /*The user data passed in by UMAC, it will be sent back when the above
5784 function pointer will be called */
5785 void* pUserData;
5786} WDI_DelPeriodicTxPtrnParamsType;
5787
Dino Mycle41bdc942014-06-10 11:30:24 +05305788#ifdef WLAN_FEATURE_EXTSCAN
5789
5790#define WDI_WLAN_EXTSCAN_MAX_CHANNELS 16
5791#define WDI_WLAN_EXTSCAN_MAX_BUCKETS 16
5792#define WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS 128
5793#define WDI_WLAN_EXTSCAN_MAX_SIGNIFICANT_CHANGE_APS 64
5794
5795typedef enum
5796{
5797 WDI_WIFI_BAND_UNSPECIFIED,
5798 WDI_WIFI_BAND_BG = 1, // 2.4 GHz
5799 WDI_WIFI_BAND_A = 2, // 5 GHz without DFS
5800 WDI_WIFI_BAND_ABG = 3, // 2.4 GHz + 5 GHz; no DFS
5801 WDI_WIFI_BAND_A_DFS = 4, // 5 GHz DFS only
5802 WDI_WIFI_BAND_A_WITH_DFS = 6, // 5 GHz with DFS
5803 WDI_WIFI_BAND_ABG_WITH_DFS = 7, // 2.4 GHz + 5 GHz with DFS
5804
5805 /* Keep it last */
5806 WDI_WIFI_BAND_MAX
5807} WDI_WifiBand;
5808
5809typedef struct
5810{
5811 wpt_uint32 channel; // frequency
5812 wpt_uint32 dwellTimeMs; // dwell time hint
5813 wpt_uint8 passive; // 0 => active,
5814 // 1 => passive scan; ignored for DFS
5815 wpt_uint8 chnlClass;
5816} WDI_WifiScanChannelSpec;
5817
5818typedef struct
5819{
5820 wpt_uint8 bucket; // bucket index, 0 based
5821 WDI_WifiBand band; // when UNSPECIFIED, use channel list
5822
5823 /*
5824 * desired period, in millisecond; if this is too
5825 * low, the firmware should choose to generate results as fast as
5826 * it can instead of failing the command byte
5827 */
5828 wpt_uint32 period;
5829
5830 /*
5831 * 0 => normal reporting (reporting rssi history
5832 * only, when rssi history buffer is % full)
5833 * 1 => same as 0 + report a scan completion event after scanning
5834 * this bucket
5835 * 2 => same as 1 + forward scan results (beacons/probe responses + IEs)
5836 * in real time to HAL
5837 */
5838 wpt_uint8 reportEvents;
5839
5840 wpt_uint8 numChannels;
5841
5842 /*
5843 * channels to scan; these may include DFS channels
5844 */
5845 WDI_WifiScanChannelSpec channels[WDI_WLAN_EXTSCAN_MAX_CHANNELS];
5846} WDI_WifiScanBucketSpec;
5847
5848typedef struct
5849{
5850 wpt_uint32 requestId;
5851 wpt_uint8 sessionId;
5852 wpt_uint32 basePeriod; // base timer period
5853 wpt_uint32 maxAPperScan;
5854
5855 /* in %, when buffer is this much full, wake up host */
5856 wpt_uint32 reportThreshold;
5857
5858 wpt_uint8 numBuckets;
5859 WDI_WifiScanBucketSpec buckets[WDI_WLAN_EXTSCAN_MAX_BUCKETS];
5860} WDI_EXTScanStartReqParams;
5861
5862typedef struct
5863{
5864 wpt_uint32 requestId;
5865 wpt_uint8 sessionId;
5866} WDI_EXTScanStopReqParams;
5867
5868typedef struct
5869{
5870 wpt_uint32 requestId;
5871 wpt_uint8 sessionId;
5872
5873 /*
5874 * 1 return cached results and flush it
5875 * 0 return cached results and do not flush
5876 */
5877 wpt_boolean flush;
5878} WDI_EXTScanGetCachedResultsReqParams;
5879
5880typedef struct
5881{
5882 wpt_uint32 requestId;
5883 wpt_uint8 sessionId;
5884} WDI_EXTScanGetCapabilitiesReqParams;
5885
5886typedef struct
5887{
5888 wpt_uint8 bssid[6]; /* BSSID */
5889 wpt_int32 low; // low threshold
5890 wpt_int32 high; // high threshold
5891 wpt_uint32 channel; // channel hint
5892} WDI_APThresholdParam;
5893
5894typedef struct
5895{
5896 wpt_int32 requestId;
5897 wpt_int8 sessionId; // session Id mapped to vdev_id
5898
5899 wpt_int32 numAp; // number of hotlist APs
5900 WDI_APThresholdParam ap[WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS]; // hotlist APs
5901} WDI_EXTScanSetBSSIDHotlistReqParams;
5902
5903typedef struct
5904{
5905 wpt_uint32 requestId;
5906 wpt_uint8 sessionId;
5907} WDI_EXTScanResetBSSIDHotlistReqParams;
5908
5909
5910typedef struct
5911{
5912 wpt_int32 requestId;
5913 wpt_int8 sessionId; // session Id mapped to vdev_id
5914
5915 /* number of samples for averaging RSSI */
5916 wpt_int32 rssiSampleSize;
5917
5918 /* number of missed samples to confirm AP loss */
5919 wpt_int32 lostApSampleSize;
5920
5921 /* number of APs breaching threshold required for firmware
5922 * to generate event
5923 */
5924 wpt_int32 minBreaching;
5925
5926 wpt_int32 numAp; // number of hotlist APs
5927 WDI_APThresholdParam ap[WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS]; // hotlist APs
5928} WDI_EXTScanSetSignfRSSIChangeReqParams;
5929
5930typedef struct
5931{
5932 wpt_uint32 requestId;
5933 wpt_uint8 sessionId;
5934} WDI_EXTScanResetSignfRSSIChangeReqParams;
5935#endif /* WLAN_FEATURE_EXTSCAN */
5936
Sunil Duttbd736ed2014-05-26 21:19:41 +05305937#ifdef WLAN_FEATURE_LINK_LAYER_STATS
5938typedef struct
5939{
5940 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05305941 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05305942 wpt_uint32 mpduSizeThreshold;
5943 wpt_uint32 aggressiveStatisticsGathering;
5944}WDI_LLStatsSetReqType;
5945
5946typedef struct
5947{
5948 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05305949 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05305950 wpt_uint32 paramIdMask;
5951}WDI_LLStatsGetReqType;
5952
5953typedef struct
5954{
5955 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05305956 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05305957 wpt_uint32 statsClearReqMask;
5958 wpt_uint8 stopReq;
5959}WDI_LLStatsClearReqType;
Dino Mycled3d50022014-07-07 12:58:25 +05305960
Sunil Duttbd736ed2014-05-26 21:19:41 +05305961#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
5962
Siddharth Bhal171788a2014-09-29 21:02:40 +05305963/*---------------------------------------------------------------------------
5964 WDI_SPOOF_MAC_ADDR_REQ
5965---------------------------------------------------------------------------*/
5966typedef struct
5967{
5968 /* Spoof MAC Address for FW */
5969 wpt_macAddr macAddr;
5970
5971 /* Reserved Params/fields */
5972 wpt_uint32 params;
5973 wpt_uint32 reserved;
5974} WDI_SpoofMacAddrInfoType;
Sunil Duttbd736ed2014-05-26 21:19:41 +05305975
Srinivas Dasari4dae48f2014-11-26 21:14:16 +05305976//This is to force compiler to use the maximum of an int for enum
5977#define SIR_MAX_ENUM_SIZE 0x7FFFFFFF
5978// Enum to specify whether key is used
5979// for TX only, RX only or both
5980typedef enum
5981{
5982 eWDI_TX_ONLY,
5983 eWDI_RX_ONLY,
5984 eWDI_TX_RX,
5985 eWDI_TX_DEFAULT,
5986 eWDI_DONOT_USE_KEY_DIRECTION = SIR_MAX_ENUM_SIZE
5987} tWDIKeyDirection;
5988
5989// MAX key length when ULA is used
5990#define SIR_MAC_MAX_KEY_LENGTH 32
5991/* Max key size including the WAPI and TKIP */
5992#define WLAN_MAX_KEY_RSC_LEN 16
5993// Definition for Encryption Keys
5994//typedef struct sSirKeys
5995typedef struct
5996{
5997 wpt_uint8 keyId;
5998 wpt_uint8 unicast; // 0 for multicast
5999 tWDIKeyDirection keyDirection;
6000 wpt_uint8 keyRsc[WLAN_MAX_KEY_RSC_LEN]; // Usage is unknown
6001 wpt_uint8 paeRole; // =1 for authenticator,
6002 // =0 for supplicant
6003 wpt_uint16 keyLength;
6004 wpt_uint8 key[SIR_MAC_MAX_KEY_LENGTH];
6005} tWDIKeys, *tpWDIKeys;
6006
6007typedef enum
6008{
6009 eWDI_WEP_STATIC,
6010 eWDI_WEP_DYNAMIC,
6011} tWDIWepType;
6012
6013// Encryption type enum used with peer
6014typedef enum
6015{
6016 eWDI_ED_NONE,
6017 eWDI_ED_WEP40,
6018 eWDI_ED_WEP104,
6019 eWDI_ED_TKIP,
6020 eWDI_ED_CCMP,
6021#if defined(FEATURE_WLAN_WAPI)
6022 eWDI_ED_WPI,
6023#endif
6024 /* DPU HW treats encryption mode 4 plus RMF bit set in TX BD as BIP.
6025 * Thus while setting BIP encryption mode in corresponding DPU Desc
6026 * eSIR_ED_AES_128_CMAC should be set to eSIR_ED_CCMP
6027 */
6028 eWDI_ED_AES_128_CMAC,
6029 eWDI_ED_NOT_IMPLEMENTED = SIR_MAX_ENUM_SIZE
6030} tWDIEdType;
6031#define SIR_WDI_MAX_NUM_OF_DEFAULT_KEYS 4
6032/*
6033 * This is used by PE to configure the key information on a given station.
6034 * When the secType is WEP40 or WEP104, the defWEPIdx is used to locate
6035 * a preconfigured key from a BSS the station assoicated with; otherwise
6036 * a new key descriptor is created based on the key field.
6037 */
6038typedef struct
6039{
6040 wpt_uint16 staIdx;
6041 tWDIEdType encType; // Encryption/Decryption type
6042 tWDIWepType wepType; // valid only for WEP
6043 wpt_uint8 defWEPIdx; // Default WEP key, valid only for static WEP, must between 0 and 3
6044 tWDIKeys key[SIR_WDI_MAX_NUM_OF_DEFAULT_KEYS]; // valid only for non-static WEP encyrptions
6045 wpt_uint8 singleTidRc; // 1=Single TID based Replay Count, 0=Per TID based RC
6046 wpt_uint8 sessionId; // PE session id for PE<->HAL interface
6047} tWDISetStaKeyParams, *tpWDISetStaKeyParams;
6048
6049typedef struct
6050{
6051 tWDISetStaKeyParams keyParams;
6052 wpt_uint8 pn[6];
6053}wpt_encConfigParams;
6054
6055typedef struct
6056{
6057 wpt_uint16 length;
6058 wpt_uint8 data[WDI_DISA_MAX_PAYLOAD_SIZE];
6059}wpt_payload;
6060
6061typedef struct
6062{
6063 wpt_80211Header macHeader;
6064 wpt_encConfigParams encParams;
6065 wpt_payload data;
6066}wpt_pkt80211;
6067
Katya Nigamf0511f62015-05-05 16:40:57 +05306068#define NUM_FILTERS_SUPPORTED 1
6069typedef struct
6070{
6071 wpt_macAddr macAddr;
6072 wpt_uint8 isA1filter;
6073 wpt_uint8 isA2filter;
6074 wpt_uint8 isA3filter;
6075}WDI_filter;
6076
6077typedef struct
6078{
6079 /* start or stop */
6080 wpt_uint8 state;
6081 /*Conversion of packet required or not*/
6082 wpt_uint8 is80211to803ConReq;
6083 wpt_uint32 ChannelNo;
6084 wpt_uint32 ChannelBW;
6085 wpt_uint8 crcCheckEnabled;
6086 wpt_uint8 numOfMacFilters;
6087 WDI_filter mmFilters[NUM_FILTERS_SUPPORTED];
6088 wpt_uint64 typeSubtypeBitmap;
6089 wpt_uint64 rsvd;
6090
6091}WDI_MonStartReqType;
6092
Jeff Johnson295189b2012-06-20 16:38:30 -07006093/*----------------------------------------------------------------------------
6094 * WDI callback types
6095 *--------------------------------------------------------------------------*/
6096
6097/*---------------------------------------------------------------------------
6098 WDI_StartRspCb
6099
6100 DESCRIPTION
6101
6102 This callback is invoked by DAL when it has received a Start response from
6103 the underlying device.
6104
6105 PARAMETERS
6106
6107 IN
6108 wdiRspParams: response parameters received from HAL
6109 pUserData: user data
6110
6111
6112 RETURN VALUE
6113 The result code associated with performing the operation
6114---------------------------------------------------------------------------*/
6115typedef void (*WDI_StartRspCb)(WDI_StartRspParamsType* pwdiRspParams,
6116 void* pUserData);
6117
6118/*---------------------------------------------------------------------------
6119 WDI_StartRspCb
6120
6121 DESCRIPTION
6122
6123 This callback is invoked by DAL when it has received a Stop response from
6124 the underlying device.
6125
6126 PARAMETERS
6127
6128 IN
6129 wdiStatus: response status received from HAL
6130 pUserData: user data
6131
6132
6133
6134 RETURN VALUE
6135 The result code associated with performing the operation
6136---------------------------------------------------------------------------*/
6137typedef void (*WDI_StopRspCb)(WDI_Status wdiStatus,
6138 void* pUserData);
6139
6140/*---------------------------------------------------------------------------
6141 WDI_StartRspCb
6142
6143 DESCRIPTION
6144
6145 This callback is invoked by DAL when it has received an Init Scan response
6146 from the underlying device.
6147
6148 PARAMETERS
6149
6150 IN
6151 wdiStatus: response status received from HAL
6152 pUserData: user data
6153
6154
6155
6156 RETURN VALUE
6157 The result code associated with performing the operation
6158---------------------------------------------------------------------------*/
6159typedef void (*WDI_InitScanRspCb)(WDI_Status wdiStatus,
6160 void* pUserData);
6161
6162
6163/*---------------------------------------------------------------------------
6164 WDI_StartRspCb
6165
6166 DESCRIPTION
6167
6168 This callback is invoked by DAL when it has received a StartScan response
6169 from the underlying device.
6170
6171 PARAMETERS
6172
6173 IN
6174 wdiParams: response params received from HAL
6175 pUserData: user data
6176
6177
6178
6179 RETURN VALUE
6180 The result code associated with performing the operation
6181---------------------------------------------------------------------------*/
6182typedef void (*WDI_StartScanRspCb)(WDI_StartScanRspParamsType* wdiParams,
6183 void* pUserData);
6184
6185
6186/*---------------------------------------------------------------------------
6187 WDI_StartRspCb
6188
6189 DESCRIPTION
6190
6191 This callback is invoked by DAL when it has received a End Scan response
6192 from the underlying device.
6193
6194 PARAMETERS
6195
6196 IN
6197 wdiStatus: response status received from HAL
6198 pUserData: user data
6199
6200
6201
6202 RETURN VALUE
6203 The result code associated with performing the operation
6204---------------------------------------------------------------------------*/
6205typedef void (*WDI_EndScanRspCb)(WDI_Status wdiStatus,
6206 void* pUserData);
6207
6208
6209/*---------------------------------------------------------------------------
6210 WDI_StartRspCb
6211
6212 DESCRIPTION
6213
6214 This callback is invoked by DAL when it has received a Finish Scan response
6215 from the underlying device.
6216
6217 PARAMETERS
6218
6219 IN
6220 wdiStatus: response status received from HAL
6221 pUserData: user data
6222
6223
6224
6225 RETURN VALUE
6226 The result code associated with performing the operation
6227---------------------------------------------------------------------------*/
6228typedef void (*WDI_FinishScanRspCb)(WDI_Status wdiStatus,
6229 void* pUserData);
6230
6231
6232/*---------------------------------------------------------------------------
6233 WDI_StartRspCb
6234
6235 DESCRIPTION
6236
6237 This callback is invoked by DAL when it has received a Join response from
6238 the underlying device.
6239
6240 PARAMETERS
6241
6242 IN
6243 wdiStatus: response status received from HAL
6244 pUserData: user data
6245
6246
6247
6248 RETURN VALUE
6249 The result code associated with performing the operation
6250---------------------------------------------------------------------------*/
6251typedef void (*WDI_JoinRspCb)(WDI_Status wdiStatus,
6252 void* pUserData);
6253
6254
6255/*---------------------------------------------------------------------------
6256 WDI_StartRspCb
6257
6258 DESCRIPTION
6259
6260 This callback is invoked by DAL when it has received a Config BSS response
6261 from the underlying device.
6262
6263 PARAMETERS
6264
6265 IN
6266 wdiConfigBSSRsp: response parameters received from HAL
6267 pUserData: user data
6268
6269
6270 RETURN VALUE
6271 The result code associated with performing the operation
6272---------------------------------------------------------------------------*/
6273typedef void (*WDI_ConfigBSSRspCb)(
6274 WDI_ConfigBSSRspParamsType* pwdiConfigBSSRsp,
6275 void* pUserData);
6276
6277
6278/*---------------------------------------------------------------------------
6279 WDI_StartRspCb
6280
6281 DESCRIPTION
6282
6283 This callback is invoked by DAL when it has received a Del BSS response from
6284 the underlying device.
6285
6286 PARAMETERS
6287
6288 IN
6289 wdiDelBSSRsp: response parameters received from HAL
6290 pUserData: user data
6291
6292
6293 RETURN VALUE
6294 The result code associated with performing the operation
6295---------------------------------------------------------------------------*/
6296typedef void (*WDI_DelBSSRspCb)(WDI_DelBSSRspParamsType* pwdiDelBSSRsp,
6297 void* pUserData);
6298
6299
6300/*---------------------------------------------------------------------------
6301 WDI_StartRspCb
6302
6303 DESCRIPTION
6304
6305 This callback is invoked by DAL when it has received a Post Assoc response
6306 from the underlying device.
6307
6308 PARAMETERS
6309
6310 IN
6311 wdiRspParams: response parameters received from HAL
6312 pUserData: user data
6313
6314
6315 RETURN VALUE
6316 The result code associated with performing the operation
6317---------------------------------------------------------------------------*/
6318typedef void (*WDI_PostAssocRspCb)(
6319 WDI_PostAssocRspParamsType* pwdiPostAssocRsp,
6320 void* pUserData);
6321
6322
6323/*---------------------------------------------------------------------------
6324 WDI_StartRspCb
6325
6326 DESCRIPTION
6327
6328 This callback is invoked by DAL when it has received a Del STA response from
6329 the underlying device.
6330
6331 PARAMETERS
6332
6333 IN
6334 wdiDelSTARsp: response parameters received from HAL
6335 pUserData: user data
6336
6337
6338 RETURN VALUE
6339 The result code associated with performing the operation
6340---------------------------------------------------------------------------*/
6341typedef void (*WDI_DelSTARspCb)(WDI_DelSTARspParamsType* pwdiDelSTARsp,
6342 void* pUserData);
6343
6344
6345
6346/*---------------------------------------------------------------------------
6347 WDI_StartRspCb
6348
6349 DESCRIPTION
6350
6351 This callback is invoked by DAL when it has received a Set BSS Key response
6352 from the underlying device.
6353
6354 PARAMETERS
6355
6356 IN
6357 wdiStatus: response status received from HAL
6358 pUserData: user data
6359
6360
6361
6362 RETURN VALUE
6363 The result code associated with performing the operation
6364---------------------------------------------------------------------------*/
6365typedef void (*WDI_SetBSSKeyRspCb)(WDI_Status wdiStatus,
6366 void* pUserData);
6367
6368/*---------------------------------------------------------------------------
6369 WDI_StartRspCb
6370
6371 DESCRIPTION
6372
6373 This callback is invoked by DAL when it has received a Remove BSS Key
6374 response from the underlying device.
6375
6376 PARAMETERS
6377
6378 IN
6379 wdiStatus: response status received from HAL
6380 pUserData: user data
6381
6382
6383
6384 RETURN VALUE
6385 The result code associated with performing the operation
6386---------------------------------------------------------------------------*/
6387typedef void (*WDI_RemoveBSSKeyRspCb)(WDI_Status wdiStatus,
6388 void* pUserData);
6389
6390/*---------------------------------------------------------------------------
6391 WDI_StartRspCb
6392
6393 DESCRIPTION
6394
6395 This callback is invoked by DAL when it has received a Set STA Key response
6396 from the underlying device.
6397
6398 PARAMETERS
6399
6400 IN
6401 wdiStatus: response status received from HAL
6402 pUserData: user data
6403
6404
Jeff Johnson295189b2012-06-20 16:38:30 -07006405 RETURN VALUE
6406 The result code associated with performing the operation
6407---------------------------------------------------------------------------*/
6408typedef void (*WDI_SetSTAKeyRspCb)(WDI_Status wdiStatus,
6409 void* pUserData);
6410
Jeff Johnson295189b2012-06-20 16:38:30 -07006411/*---------------------------------------------------------------------------
6412 WDI_StartRspCb
6413
6414 DESCRIPTION
6415
6416 This callback is invoked by DAL when it has received a Remove STA Key
6417 response from the underlying device.
6418
6419 PARAMETERS
6420
6421 IN
6422 wdiStatus: response status received from HAL
6423 pUserData: user data
6424
Siddharth Bhal171788a2014-09-29 21:02:40 +05306425
Jeff Johnson295189b2012-06-20 16:38:30 -07006426 RETURN VALUE
6427 The result code associated with performing the operation
6428---------------------------------------------------------------------------*/
6429typedef void (*WDI_RemoveSTAKeyRspCb)(WDI_Status wdiStatus,
6430 void* pUserData);
6431
6432
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08006433#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07006434/*---------------------------------------------------------------------------
6435 WDI_TsmRspCb
6436
6437 DESCRIPTION
6438
6439 This callback is invoked by DAL when it has received a TSM Stats response from the underlying device.
6440
6441 PARAMETERS
6442
6443 IN
6444 pTSMStats: response status received from HAL
6445 pUserData: user data
6446
6447
6448
6449 RETURN VALUE
6450 The result code associated with performing the operation
6451---------------------------------------------------------------------------*/
6452typedef void (*WDI_TsmRspCb)(WDI_TSMStatsRspParamsType *pTSMStats,
6453 void* pUserData);
6454#endif
6455
6456/*---------------------------------------------------------------------------
6457 WDI_StartRspCb
6458
6459 DESCRIPTION
6460
6461 This callback is invoked by DAL when it has received a Add TS response from
6462 the underlying device.
6463
6464 PARAMETERS
6465
6466 IN
6467 wdiStatus: response status received from HAL
6468 pUserData: user data
6469
6470
6471
6472 RETURN VALUE
6473 The result code associated with performing the operation
6474---------------------------------------------------------------------------*/
6475typedef void (*WDI_AddTsRspCb)(WDI_Status wdiStatus,
6476 void* pUserData);
6477
6478/*---------------------------------------------------------------------------
6479 WDI_StartRspCb
6480
6481 DESCRIPTION
6482
6483 This callback is invoked by DAL when it has received a Del TS response from
6484 the underlying device.
6485
6486 PARAMETERS
6487
6488 IN
6489 wdiStatus: response status received from HAL
6490 pUserData: user data
6491
6492
6493
6494 RETURN VALUE
6495 The result code associated with performing the operation
6496---------------------------------------------------------------------------*/
6497typedef void (*WDI_DelTsRspCb)(WDI_Status wdiStatus,
6498 void* pUserData);
6499
6500/*---------------------------------------------------------------------------
6501 WDI_StartRspCb
6502
6503 DESCRIPTION
6504
6505 This callback is invoked by DAL when it has received an Update EDCA Params
6506 response from the underlying device.
6507
6508 PARAMETERS
6509
6510 IN
6511 wdiStatus: response status received from HAL
6512 pUserData: user data
6513
6514
6515
6516 RETURN VALUE
6517 The result code associated with performing the operation
6518---------------------------------------------------------------------------*/
6519typedef void (*WDI_UpdateEDCAParamsRspCb)(WDI_Status wdiStatus,
6520 void* pUserData);
6521
6522/*---------------------------------------------------------------------------
6523 WDI_StartRspCb
6524
6525 DESCRIPTION
6526
6527 This callback is invoked by DAL when it has received a Add BA response from
6528 the underlying device.
6529
6530 PARAMETERS
6531
6532 IN
6533 wdiStatus: response status received from HAL
6534 pUserData: user data
6535
6536
6537
6538 RETURN VALUE
6539 The result code associated with performing the operation
6540---------------------------------------------------------------------------*/
6541typedef void (*WDI_AddBASessionRspCb)(
6542 WDI_AddBASessionRspParamsType* wdiAddBASessionRsp,
6543 void* pUserData);
6544
6545
6546/*---------------------------------------------------------------------------
6547 WDI_StartRspCb
6548
6549 DESCRIPTION
6550
6551 This callback is invoked by DAL when it has received a Del BA response from
6552 the underlying device.
6553
6554 PARAMETERS
6555
6556 IN
6557 wdiStatus: response status received from HAL
6558 pUserData: user data
6559
6560
6561
6562 RETURN VALUE
6563 The result code associated with performing the operation
6564---------------------------------------------------------------------------*/
6565typedef void (*WDI_DelBARspCb)(WDI_Status wdiStatus,
6566 void* pUserData);
6567
6568
6569/*---------------------------------------------------------------------------
6570 WDI_StartRspCb
6571
6572 DESCRIPTION
6573
6574 This callback is invoked by DAL when it has received a Switch Ch response
6575 from the underlying device.
6576
6577 PARAMETERS
6578
6579 IN
6580 wdiRspParams: response parameters received from HAL
6581 pUserData: user data
6582
6583
6584 RETURN VALUE
6585 The result code associated with performing the operation
6586---------------------------------------------------------------------------*/
6587typedef void (*WDI_SwitchChRspCb)(WDI_SwitchCHRspParamsType* pwdiSwitchChRsp,
6588 void* pUserData);
6589
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08006590typedef void (*WDI_SwitchChRspCb_V1)(WDI_SwitchChRspParamsType_V1* pwdiSwitchChRsp,
6591 void* pUserData);
6592
Jeff Johnson295189b2012-06-20 16:38:30 -07006593
6594/*---------------------------------------------------------------------------
6595 WDI_StartRspCb
6596
6597 DESCRIPTION
6598
6599 This callback is invoked by DAL when it has received a Config STA response
6600 from the underlying device.
6601
6602 PARAMETERS
6603
6604 IN
6605 wdiRspParams: response parameters received from HAL
6606 pUserData: user data
6607
6608
6609 RETURN VALUE
6610 The result code associated with performing the operation
6611---------------------------------------------------------------------------*/
6612typedef void (*WDI_ConfigSTARspCb)(
6613 WDI_ConfigSTARspParamsType* pwdiConfigSTARsp,
6614 void* pUserData);
6615
6616
6617/*---------------------------------------------------------------------------
6618 WDI_StartRspCb
6619
6620 DESCRIPTION
6621
6622 This callback is invoked by DAL when it has received a Set Link State
6623 response from the underlying device.
6624
6625 PARAMETERS
6626
6627 IN
6628 wdiRspParams: response parameters received from HAL
6629 pUserData: user data
6630
6631
6632 RETURN VALUE
6633 The result code associated with performing the operation
6634---------------------------------------------------------------------------*/
6635typedef void (*WDI_SetLinkStateRspCb)( WDI_Status wdiStatus,
6636 void* pUserData);
6637
6638
6639/*---------------------------------------------------------------------------
6640 WDI_StartRspCb
6641
6642 DESCRIPTION
6643
6644 This callback is invoked by DAL when it has received a Get Stats response
6645 from the underlying device.
6646
6647 PARAMETERS
6648
6649 IN
6650 wdiRspParams: response parameters received from HAL
6651 pUserData: user data
6652
6653
6654 RETURN VALUE
6655 The result code associated with performing the operation
6656---------------------------------------------------------------------------*/
6657typedef void (*WDI_GetStatsRspCb)(WDI_GetStatsRspParamsType* pwdiGetStatsRsp,
6658 void* pUserData);
6659
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08006660#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08006661/*---------------------------------------------------------------------------
6662 WDI_GetRoamRssiRspCb
6663
6664 DESCRIPTION
6665
6666 This callback is invoked by DAL when it has received a Get Roam Rssi response
6667 from the underlying device.
6668
6669 PARAMETERS
6670
6671 IN
6672 wdiRspParams: response parameters received from HAL
6673 pUserData: user data
6674
6675
6676 RETURN VALUE
6677 The result code associated with performing the operation
6678---------------------------------------------------------------------------*/
6679typedef void (*WDI_GetRoamRssiRspCb)(WDI_GetRoamRssiRspParamsType* pwdiGetRoamRssiRsp,
6680 void* pUserData);
6681#endif
6682
Jeff Johnson295189b2012-06-20 16:38:30 -07006683
6684/*---------------------------------------------------------------------------
6685 WDI_StartRspCb
6686
6687 DESCRIPTION
6688
6689 This callback is invoked by DAL when it has received a Update Cfg response
6690 from the underlying device.
6691
6692 PARAMETERS
6693
6694 IN
6695 wdiStatus: response status received from HAL
6696 pUserData: user data
6697
6698
6699 RETURN VALUE
6700 The result code associated with performing the operation
6701---------------------------------------------------------------------------*/
6702typedef void (*WDI_UpdateCfgRspCb)(WDI_Status wdiStatus,
6703 void* pUserData);
6704
6705/*---------------------------------------------------------------------------
6706 WDI_AddBARspCb
6707
6708 DESCRIPTION
6709
6710 This callback is invoked by DAL when it has received a ADD BA response
6711 from the underlying device.
6712
6713 PARAMETERS
6714
6715 IN
6716 wdiStatus: response status received from HAL
6717 pUserData: user data
6718
6719
6720 RETURN VALUE
6721 The result code associated with performing the operation
6722---------------------------------------------------------------------------*/
6723typedef void (*WDI_AddBARspCb)(WDI_AddBARspinfoType* wdiAddBARsp,
6724 void* pUserData);
6725
6726/*---------------------------------------------------------------------------
6727 WDI_TriggerBARspCb
6728
6729 DESCRIPTION
6730
6731 This callback is invoked by DAL when it has received a ADD BA response
6732 from the underlying device.
6733
6734 PARAMETERS
6735
6736 IN
6737 wdiStatus: response status received from HAL
6738 pUserData: user data
6739
6740
6741 RETURN VALUE
6742 The result code associated with performing the operation
6743---------------------------------------------------------------------------*/
6744typedef void (*WDI_TriggerBARspCb)(WDI_TriggerBARspParamsType* wdiTriggerBARsp,
6745 void* pUserData);
6746
6747
6748/*---------------------------------------------------------------------------
6749 WDI_UpdateBeaconParamsRspCb
6750
6751 DESCRIPTION
6752
6753 This callback is invoked by DAL when it has received a Update Beacon Params response from
6754 the underlying device.
6755
6756 PARAMETERS
6757
6758 IN
6759 wdiStatus: response status received from HAL
6760 pUserData: user data
6761
6762
6763
6764 RETURN VALUE
6765 The result code associated with performing the operation
6766---------------------------------------------------------------------------*/
6767typedef void (*WDI_UpdateBeaconParamsRspCb)(WDI_Status wdiStatus,
6768 void* pUserData);
6769
6770/*---------------------------------------------------------------------------
6771 WDI_SendBeaconParamsRspCb
6772
6773 DESCRIPTION
6774
6775 This callback is invoked by DAL when it has received a Send Beacon Params response from
6776 the underlying device.
6777
6778 PARAMETERS
6779
6780 IN
6781 wdiStatus: response status received from HAL
6782 pUserData: user data
6783
6784
6785
6786 RETURN VALUE
6787 The result code associated with performing the operation
6788---------------------------------------------------------------------------*/
6789typedef void (*WDI_SendBeaconParamsRspCb)(WDI_Status wdiStatus,
6790 void* pUserData);
6791
6792/*---------------------------------------------------------------------------
6793 WDA_SetMaxTxPowerRspCb
6794
6795 DESCRIPTION
6796
6797 This callback is invoked by DAL when it has received a set max Tx Power response from
6798 the underlying device.
6799
6800 PARAMETERS
6801
6802 IN
6803 wdiStatus: response status received from HAL
6804 pUserData: user data
6805
6806
6807
6808 RETURN VALUE
6809 The result code associated with performing the operation
6810---------------------------------------------------------------------------*/
6811typedef void (*WDA_SetMaxTxPowerRspCb)(WDI_SetMaxTxPowerRspMsg *wdiSetMaxTxPowerRsp,
6812 void* pUserData);
6813
6814/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07006815 WDA_SetMaxTxPowerPerBandRspCb
6816
6817 DESCRIPTION
6818
6819 This callback is invoked by DAL when it has received a
6820 set max Tx Power Per Band response from the underlying device.
6821
6822 PARAMETERS
6823
6824 IN
6825 wdiSetMaxTxPowerPerBandRsp: response status received from HAL
6826 pUserData: user data
6827
6828 RETURN VALUE
6829 The result code associated with performing the operation
6830---------------------------------------------------------------------------*/
6831typedef void (*WDA_SetMaxTxPowerPerBandRspCb)(WDI_SetMaxTxPowerPerBandRspMsg
6832 *wdiSetMaxTxPowerPerBandRsp,
6833 void* pUserData);
6834
6835/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07006836 WDA_SetTxPowerRspCb
6837
6838 DESCRIPTION
6839
6840 This callback is invoked by DAL when it has received a set max Tx Power response from
6841 the underlying device.
6842
6843 PARAMETERS
6844
6845 IN
6846 wdiStatus: response status received from HAL
6847 pUserData: user data
6848
6849 RETURN VALUE
6850 The result code associated with performing the operation
6851---------------------------------------------------------------------------*/
6852typedef void (*WDA_SetTxPowerRspCb)(WDI_SetTxPowerRspMsg *wdiSetTxPowerRsp,
6853 void* pUserData);
6854
6855/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07006856 WDI_UpdateProbeRspTemplateRspCb
6857
6858 DESCRIPTION
6859
6860 This callback is invoked by DAL when it has received a Probe RSP Template
6861 Update response from the underlying device.
6862
6863 PARAMETERS
6864
6865 IN
6866 wdiStatus: response status received from HAL
6867 pUserData: user data
6868
6869
6870
6871 RETURN VALUE
6872 The result code associated with performing the operation
6873---------------------------------------------------------------------------*/
6874typedef void (*WDI_UpdateProbeRspTemplateRspCb)(WDI_Status wdiStatus,
6875 void* pUserData);
6876
Jeff Johnson295189b2012-06-20 16:38:30 -07006877/*---------------------------------------------------------------------------
6878 WDI_SetP2PGONOAReqParamsRspCb
6879
6880 DESCRIPTION
6881
6882 This callback is invoked by DAL when it has received a P2P GO NOA Params response from
6883 the underlying device.
6884
6885 PARAMETERS
6886
6887 IN
6888 wdiStatus: response status received from HAL
6889 pUserData: user data
6890
6891
6892
6893 RETURN VALUE
6894 The result code associated with performing the operation
6895---------------------------------------------------------------------------*/
6896typedef void (*WDI_SetP2PGONOAReqParamsRspCb)(WDI_Status wdiStatus,
6897 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006898
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05306899/*---------------------------------------------------------------------------
6900 WDI_SetTDLSLinkEstablishReqParamsRspCb
6901
6902 DESCRIPTION
6903
6904 This callback is invoked by DAL when it has received a TDLS Link Establish Req response from
6905 the underlying device.
6906
6907 PARAMETERS
6908
6909 IN
6910 wdiStatus: response status received from HAL
6911 pUserData: user data
6912
6913
6914
6915 RETURN VALUE
6916 The result code associated with performing the operation
6917---------------------------------------------------------------------------*/
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05306918typedef void (*WDI_SetTDLSLinkEstablishReqParamsRspCb)(WDI_SetTdlsLinkEstablishReqResp *
6919 wdiSetTdlsLinkEstablishReqRsp,
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05306920 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006921
6922/*---------------------------------------------------------------------------
Atul Mittalc0f739f2014-07-31 13:47:47 +05306923 WDI_SetTDLSChanSwitchReqParamsRspCb
6924
6925 DESCRIPTION
6926
6927 This callback is invoked by DAL when it has received a TDLS Link Establish Req response from
6928 the underlying device.
6929
6930 PARAMETERS
6931
6932 IN
6933 wdiStatus: response status received from HAL
6934 pUserData: user data
6935
6936
6937
6938 RETURN VALUE
6939 The result code associated with performing the operation
6940---------------------------------------------------------------------------*/
6941typedef void (*WDI_SetTDLSChanSwitchReqParamsRspCb)(WDI_SetTdlsChanSwitchReqResp *
6942 wdiSetTdlsChanSwitchReqRsp,
6943 void* pUserData);
6944/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07006945 WDI_SetPwrSaveCfgCb
6946
6947 DESCRIPTION
6948
6949 This callback is invoked by DAL when it has received a set Power Save CFG
6950 response from the underlying device.
6951
6952 PARAMETERS
6953
6954 IN
6955 wdiStatus: response status received from HAL
6956 pUserData: user data
6957
6958
6959
6960 RETURN VALUE
6961 The result code associated with performing the operation
6962---------------------------------------------------------------------------*/
6963typedef void (*WDI_SetPwrSaveCfgCb)(WDI_Status wdiStatus,
6964 void* pUserData);
6965
6966/*---------------------------------------------------------------------------
6967 WDI_SetUapsdAcParamsCb
6968
6969 DESCRIPTION
6970
6971 This callback is invoked by DAL when it has received a set UAPSD params
6972 response from the underlying device.
6973
6974 PARAMETERS
6975
6976 IN
6977 wdiStatus: response status received from HAL
6978 pUserData: user data
6979
6980
6981
6982 RETURN VALUE
6983 The result code associated with performing the operation
6984---------------------------------------------------------------------------*/
6985typedef void (*WDI_SetUapsdAcParamsCb)(WDI_Status wdiStatus,
6986 void* pUserData);
6987
6988/*---------------------------------------------------------------------------
6989 WDI_EnterImpsRspCb
6990
6991 DESCRIPTION
6992
6993 This callback is invoked by DAL when it has received a Enter IMPS response
6994 from the underlying device.
6995
6996 PARAMETERS
6997
6998 IN
6999 wdiStatus: response status received from HAL
7000 pUserData: user data
7001
7002
7003
7004 RETURN VALUE
7005 The result code associated with performing the operation
7006---------------------------------------------------------------------------*/
7007typedef void (*WDI_EnterImpsRspCb)(WDI_Status wdiStatus,
7008 void* pUserData);
7009
7010/*---------------------------------------------------------------------------
7011 WDI_ExitImpsRspCb
7012
7013 DESCRIPTION
7014
7015 This callback is invoked by DAL when it has received a Exit IMPS response
7016 from the underlying device.
7017
7018 PARAMETERS
7019
7020 IN
7021 wdiStatus: response status received from HAL
7022 pUserData: user data
7023
7024
7025
7026 RETURN VALUE
7027 The result code associated with performing the operation
7028---------------------------------------------------------------------------*/
7029typedef void (*WDI_ExitImpsRspCb)(WDI_Status wdiStatus,
7030 void* pUserData);
7031
7032/*---------------------------------------------------------------------------
7033 WDI_EnterBmpsRspCb
7034
7035 DESCRIPTION
7036
7037 This callback is invoked by DAL when it has received a enter BMPS response
7038 from the underlying device.
7039
7040 PARAMETERS
7041
7042 IN
7043 wdiStatus: response status received from HAL
7044 pUserData: user data
7045
7046
7047
7048 RETURN VALUE
7049 The result code associated with performing the operation
7050---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007051typedef void (*WDI_EnterBmpsRspCb)(WDI_EnterBmpsRspParamsType *pwdiEnterBmpsRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007052 void* pUserData);
7053
7054/*---------------------------------------------------------------------------
7055 WDI_ExitBmpsRspCb
7056
7057 DESCRIPTION
7058
7059 This callback is invoked by DAL when it has received a exit BMPS response
7060 from the underlying device.
7061
7062 PARAMETERS
7063
7064 IN
7065 wdiStatus: response status received from HAL
7066 pUserData: user data
7067
7068
7069
7070 RETURN VALUE
7071 The result code associated with performing the operation
7072---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007073typedef void (*WDI_ExitBmpsRspCb)( WDI_ExitBmpsRspParamsType *pwdiExitBmpsRspParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007074 void* pUserData);
7075
7076/*---------------------------------------------------------------------------
7077 WDI_EnterUapsdRspCb
7078
7079 DESCRIPTION
7080
7081 This callback is invoked by DAL when it has received a enter UAPSD response
7082 from the underlying device.
7083
7084 PARAMETERS
7085
7086 IN
7087 wdiStatus: response status received from HAL
7088 pUserData: user data
7089
7090
7091
7092 RETURN VALUE
7093 The result code associated with performing the operation
7094---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007095typedef void (*WDI_EnterUapsdRspCb)( WDI_EnterUapsdRspParamsType *pwdiEnterUapsdRspParam,
Jeff Johnson295189b2012-06-20 16:38:30 -07007096 void* pUserData);
7097
7098/*---------------------------------------------------------------------------
7099 WDI_ExitUapsdRspCb
7100
7101 DESCRIPTION
7102
7103 This callback is invoked by DAL when it has received a exit UAPSD response
7104 from the underlying device.
7105
7106 PARAMETERS
7107
7108 IN
7109 wdiStatus: response status received from HAL
7110 pUserData: user data
7111
7112
7113
7114 RETURN VALUE
7115 The result code associated with performing the operation
7116---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007117typedef void (*WDI_ExitUapsdRspCb)(WDI_ExitUapsdRspParamsType *pwidExitUapsdRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007118 void* pUserData);
7119
7120/*---------------------------------------------------------------------------
7121 WDI_UpdateUapsdParamsCb
7122
7123 DESCRIPTION
7124
7125 This callback is invoked by DAL when it has received a update UAPSD params
7126 response from the underlying device.
7127
7128 PARAMETERS
7129
7130 IN
7131 wdiStatus: response status received from HAL
7132 pUserData: user data
7133
7134
7135
7136 RETURN VALUE
7137 The result code associated with performing the operation
7138---------------------------------------------------------------------------*/
7139typedef void (*WDI_UpdateUapsdParamsCb)(WDI_Status wdiStatus,
7140 void* pUserData);
7141
7142/*---------------------------------------------------------------------------
7143 WDI_ConfigureRxpFilterCb
7144
7145 DESCRIPTION
7146
7147 This callback is invoked by DAL when it has received a config RXP filter
7148 response from the underlying device.
7149
7150 PARAMETERS
7151
7152 IN
7153 wdiStatus: response status received from HAL
7154 pUserData: user data
7155
7156
7157
7158 RETURN VALUE
7159 The result code associated with performing the operation
7160---------------------------------------------------------------------------*/
7161typedef void (*WDI_ConfigureRxpFilterCb)(WDI_Status wdiStatus,
7162 void* pUserData);
7163
7164/*---------------------------------------------------------------------------
7165 WDI_SetBeaconFilterCb
7166
7167 DESCRIPTION
7168
7169 This callback is invoked by DAL when it has received a set beacon filter
7170 response from the underlying device.
7171
7172 PARAMETERS
7173
7174 IN
7175 wdiStatus: response status received from HAL
7176 pUserData: user data
7177
7178
7179
7180 RETURN VALUE
7181 The result code associated with performing the operation
7182---------------------------------------------------------------------------*/
7183typedef void (*WDI_SetBeaconFilterCb)(WDI_Status wdiStatus,
7184 void* pUserData);
7185
7186/*---------------------------------------------------------------------------
7187 WDI_RemBeaconFilterCb
7188
7189 DESCRIPTION
7190
7191 This callback is invoked by DAL when it has received a remove beacon filter
7192 response from the underlying device.
7193
7194 PARAMETERS
7195
7196 IN
7197 wdiStatus: response status received from HAL
7198 pUserData: user data
7199
7200
7201
7202 RETURN VALUE
7203 The result code associated with performing the operation
7204---------------------------------------------------------------------------*/
7205typedef void (*WDI_RemBeaconFilterCb)(WDI_Status wdiStatus,
7206 void* pUserData);
7207
7208/*---------------------------------------------------------------------------
7209 WDI_SetRSSIThresholdsCb
7210
7211 DESCRIPTION
7212
7213 This callback is invoked by DAL when it has received a set RSSI thresholds
7214 response from the underlying device.
7215
7216 PARAMETERS
7217
7218 IN
7219 wdiStatus: response status received from HAL
7220 pUserData: user data
7221
7222
7223
7224 RETURN VALUE
7225 The result code associated with performing the operation
7226---------------------------------------------------------------------------*/
7227typedef void (*WDI_SetRSSIThresholdsCb)(WDI_Status wdiStatus,
7228 void* pUserData);
7229
7230/*---------------------------------------------------------------------------
7231 WDI_HostOffloadCb
7232
7233 DESCRIPTION
7234
7235 This callback is invoked by DAL when it has received a host offload
7236 response from the underlying device.
7237
7238 PARAMETERS
7239
7240 IN
7241 wdiStatus: response status received from HAL
7242 pUserData: user data
7243
7244
7245
7246 RETURN VALUE
7247 The result code associated with performing the operation
7248---------------------------------------------------------------------------*/
7249typedef void (*WDI_HostOffloadCb)(WDI_Status wdiStatus,
7250 void* pUserData);
7251
7252/*---------------------------------------------------------------------------
7253 WDI_KeepAliveCb
7254
7255 DESCRIPTION
7256
7257 This callback is invoked by DAL when it has received a Keep Alive
7258 response from the underlying device.
7259
7260 PARAMETERS
7261
7262 IN
7263 wdiStatus: response status received from HAL
7264 pUserData: user data
7265
7266
7267
7268 RETURN VALUE
7269 The result code associated with performing the operation
7270---------------------------------------------------------------------------*/
7271typedef void (*WDI_KeepAliveCb)(WDI_Status wdiStatus,
7272 void* pUserData);
7273
7274/*---------------------------------------------------------------------------
7275 WDI_WowlAddBcPtrnCb
7276
7277 DESCRIPTION
7278
7279 This callback is invoked by DAL when it has received a Wowl add Bcast ptrn
7280 response from the underlying device.
7281
7282 PARAMETERS
7283
7284 IN
7285 wdiStatus: response status received from HAL
7286 pUserData: user data
7287
7288
7289
7290 RETURN VALUE
7291 The result code associated with performing the operation
7292---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007293typedef void (*WDI_WowlAddBcPtrnCb)( WDI_WowlAddBcPtrnRspParamsType *pwdiWowlAddBcPtrnParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007294 void* pUserData);
7295
7296/*---------------------------------------------------------------------------
7297 WDI_WowlDelBcPtrnCb
7298
7299 DESCRIPTION
7300
7301 This callback is invoked by DAL when it has received a Wowl delete Bcast ptrn
7302 response from the underlying device.
7303
7304 PARAMETERS
7305
7306 IN
7307 wdiStatus: response status received from HAL
7308 pUserData: user data
7309
7310
7311
7312 RETURN VALUE
7313 The result code associated with performing the operation
7314---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007315typedef void (*WDI_WowlDelBcPtrnCb)( WDI_WowlDelBcPtrnRspParamsType *pwdiWowlDelBcstPtrRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007316 void* pUserData);
7317
7318/*---------------------------------------------------------------------------
7319 WDI_WowlEnterReqCb
7320
7321 DESCRIPTION
7322
7323 This callback is invoked by DAL when it has received a Wowl enter
7324 response from the underlying device.
7325
7326 PARAMETERS
7327
7328 IN
7329 wdiStatus: response status received from HAL
7330 pUserData: user data
7331
7332
7333
7334 RETURN VALUE
7335 The result code associated with performing the operation
7336---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007337typedef void (*WDI_WowlEnterReqCb)( WDI_WowlEnterRspParamsType *pwdiwowlEnterRsp,
7338 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007339
7340/*---------------------------------------------------------------------------
7341 WDI_WowlExitReqCb
7342
7343 DESCRIPTION
7344
7345 This callback is invoked by DAL when it has received a Wowl exit
7346 response from the underlying device.
7347
7348 PARAMETERS
7349
7350 IN
7351 wdiStatus: response status received from HAL
7352 pUserData: user data
7353
7354
7355
7356 RETURN VALUE
7357 The result code associated with performing the operation
7358---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007359typedef void (*WDI_WowlExitReqCb)( WDI_WowlExitRspParamsType *pwdiWowlExitRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007360 void* pUserData);
7361
7362/*---------------------------------------------------------------------------
7363 WDI_ConfigureAppsCpuWakeupStateCb
7364
7365 DESCRIPTION
7366
7367 This callback is invoked by DAL when it has received a config Apps Cpu Wakeup
7368 State response from the underlying device.
7369
7370 PARAMETERS
7371
7372 IN
7373 wdiStatus: response status received from HAL
7374 pUserData: user data
7375
7376
7377
7378 RETURN VALUE
7379 The result code associated with performing the operation
7380---------------------------------------------------------------------------*/
7381typedef void (*WDI_ConfigureAppsCpuWakeupStateCb)(WDI_Status wdiStatus,
7382 void* pUserData);
7383/*---------------------------------------------------------------------------
7384 WDI_NvDownloadRspCb
7385
7386 DESCRIPTION
7387
7388 This callback is invoked by DAL when it has received a NV Download response
7389 from the underlying device.
7390
7391 PARAMETERS
7392
7393 IN
7394 wdiStatus:response status received from HAL
7395 pUserData:user data
7396
7397 RETURN VALUE
7398 The result code associated with performing the operation
7399---------------------------------------------------------------------------*/
7400typedef void (*WDI_NvDownloadRspCb)(WDI_NvDownloadRspInfoType* wdiNvDownloadRsp,
7401 void* pUserData);
7402/*---------------------------------------------------------------------------
7403 WDI_FlushAcRspCb
7404
7405 DESCRIPTION
7406
7407 This callback is invoked by DAL when it has received a Flush AC response from
7408 the underlying device.
7409
7410 PARAMETERS
7411
7412 IN
7413 wdiStatus: response status received from HAL
7414 pUserData: user data
7415
7416
7417
7418 RETURN VALUE
7419 The result code associated with performing the operation
7420---------------------------------------------------------------------------*/
7421typedef void (*WDI_FlushAcRspCb)(WDI_Status wdiStatus,
7422 void* pUserData);
7423
7424/*---------------------------------------------------------------------------
7425 WDI_BtAmpEventRspCb
7426
7427 DESCRIPTION
7428
7429 This callback is invoked by DAL when it has received a Bt AMP event response
7430 from the underlying device.
7431
7432 PARAMETERS
7433
7434 IN
7435 wdiStatus: response status received from HAL
7436 pUserData: user data
7437
7438
7439
7440 RETURN VALUE
7441 The result code associated with performing the operation
7442---------------------------------------------------------------------------*/
7443typedef void (*WDI_BtAmpEventRspCb)(WDI_Status wdiStatus,
7444 void* pUserData);
7445
Jeff Johnsone7245742012-09-05 17:12:55 -07007446#ifdef FEATURE_OEM_DATA_SUPPORT
7447/*---------------------------------------------------------------------------
7448 WDI_oemDataRspCb
7449
7450 DESCRIPTION
7451
7452 This callback is invoked by DAL when it has received a Start oem data response from
7453 the underlying device.
7454
7455 PARAMETERS
7456
7457 IN
7458 wdiStatus: response status received from HAL
7459 pUserData: user data
7460
7461
7462
7463 RETURN VALUE
7464 The result code associated with performing the operation
7465---------------------------------------------------------------------------*/
7466typedef void (*WDI_oemDataRspCb)(WDI_oemDataRspParamsType* wdiOemDataRspParams,
7467 void* pUserData);
7468
7469#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07007470
7471/*---------------------------------------------------------------------------
7472 WDI_HostResumeEventRspCb
7473
7474 DESCRIPTION
7475
7476 This callback is invoked by DAL when it has received a Bt AMP event response
7477 from the underlying device.
7478
7479 PARAMETERS
7480
7481 IN
7482 wdiStatus: response status received from HAL
7483 pUserData: user data
7484
7485
7486
7487 RETURN VALUE
7488 The result code associated with performing the operation
7489---------------------------------------------------------------------------*/
7490typedef void (*WDI_HostResumeEventRspCb)(
7491 WDI_SuspendResumeRspParamsType *resumeRspParams,
7492 void* pUserData);
7493
7494
7495#ifdef WLAN_FEATURE_VOWIFI_11R
7496/*---------------------------------------------------------------------------
7497 WDI_AggrAddTsRspCb
7498
7499 DESCRIPTION
7500
7501 This callback is invoked by DAL when it has received a Aggregated Add TS
7502 response from the underlying device.
7503
7504 PARAMETERS
7505
7506 IN
7507 wdiStatus: response status received from HAL
7508 pUserData: user data
7509
7510
7511
7512 RETURN VALUE
7513 The result code associated with performing the operation
7514---------------------------------------------------------------------------*/
7515typedef void (*WDI_AggrAddTsRspCb)(WDI_Status wdiStatus,
7516 void* pUserData);
7517#endif /* WLAN_FEATURE_VOWIFI_11R */
7518
Jeff Johnson295189b2012-06-20 16:38:30 -07007519/*---------------------------------------------------------------------------
7520 WDI_FTMCommandRspCb
7521
7522 DESCRIPTION
7523
7524 FTM Command response CB
7525
7526 PARAMETERS
7527
7528 IN
7529 ftmCMDRspdata: FTM response data from HAL
7530 pUserData: user data
7531
7532
7533 RETURN VALUE
7534 NONE
7535---------------------------------------------------------------------------*/
7536typedef void (*WDI_FTMCommandRspCb)(void *ftmCMDRspdata,
7537 void *pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007538
7539/*---------------------------------------------------------------------------
7540 WDI_AddSTASelfParamsRspCb
7541
7542 DESCRIPTION
7543
7544 This callback is invoked by DAL when it has received a Add Sta Self Params
7545 response from the underlying device.
7546
7547 PARAMETERS
7548
7549 IN
7550 wdiAddSelfSTARsp: 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_AddSTASelfParamsRspCb)(
7559 WDI_AddSTASelfRspParamsType* pwdiAddSelfSTARsp,
7560 void* pUserData);
7561
7562
7563/*---------------------------------------------------------------------------
7564 WDI_DelSTASelfRspCb
7565
7566 DESCRIPTION
7567
7568 This callback is invoked by DAL when it has received a host offload
7569 response from the underlying device.
7570
7571 PARAMETERS
7572
7573 IN
7574 wdiStatus: response status received from HAL
7575 pUserData: user data
7576
7577
7578
7579 RETURN VALUE
7580 The result code associated with performing the operation
7581---------------------------------------------------------------------------*/
7582typedef void (*WDI_DelSTASelfRspCb)
7583(
7584WDI_DelSTASelfRspParamsType* wdiDelStaSelfRspParams,
7585void* pUserData
7586);
7587
7588#ifdef FEATURE_WLAN_SCAN_PNO
7589/*---------------------------------------------------------------------------
7590 WDI_PNOScanCb
7591
7592 DESCRIPTION
7593
7594 This callback is invoked by DAL when it has received a Set PNO
7595 response from the underlying device.
7596
7597 PARAMETERS
7598
7599 IN
7600 wdiStatus: response status received from HAL
7601 pUserData: user data
7602
7603
7604
7605 RETURN VALUE
7606 The result code associated with performing the operation
7607---------------------------------------------------------------------------*/
7608typedef void (*WDI_PNOScanCb)(WDI_Status wdiStatus,
7609 void* pUserData);
7610
7611/*---------------------------------------------------------------------------
7612 WDI_PNOScanCb
7613
7614 DESCRIPTION
7615
7616 This callback is invoked by DAL when it has received a Set PNO
7617 response from the underlying device.
7618
7619 PARAMETERS
7620
7621 IN
7622 wdiStatus: response status received from HAL
7623 pUserData: user data
7624
7625
7626
7627 RETURN VALUE
7628 The result code associated with performing the operation
7629---------------------------------------------------------------------------*/
7630typedef void (*WDI_RssiFilterCb)(WDI_Status wdiStatus,
7631 void* pUserData);
7632
7633/*---------------------------------------------------------------------------
7634 WDI_UpdateScanParamsCb
7635
7636 DESCRIPTION
7637
7638 This callback is invoked by DAL when it has received a Update Scan Params
7639 response from the underlying device.
7640
7641 PARAMETERS
7642
7643 IN
7644 wdiStatus: response status received from HAL
7645 pUserData: user data
7646
7647
7648
7649 RETURN VALUE
7650 The result code associated with performing the operation
7651---------------------------------------------------------------------------*/
7652typedef void (*WDI_UpdateScanParamsCb)(WDI_Status wdiStatus,
7653 void* pUserData);
7654#endif // FEATURE_WLAN_SCAN_PNO
7655
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08007656typedef void (*WDI_UpdateChannelRspCb)(WDI_Status wdiStatus,
7657 void* pUserData);
7658
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07007659#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
7660/*---------------------------------------------------------------------------
7661 WDI_RoamOffloadScanCb
7662
7663 DESCRIPTION
7664
7665 This callback is invoked by DAL when it has received a Start Roam Candidate Lookup Req
7666 response from the underlying device.
7667
7668 PARAMETERS
7669
7670 IN
7671 wdiStatus: response status received from HAL
7672 pUserData: user data
7673
7674
7675
7676 RETURN VALUE
7677 The result code associated with performing the operation
7678---------------------------------------------------------------------------*/
7679typedef void (*WDI_RoamOffloadScanCb)(WDI_Status wdiStatus,
7680 void* pUserData);
7681
7682#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07007683/*---------------------------------------------------------------------------
7684 WDI_SetTxPerTrackingRspCb
7685
7686 DESCRIPTION
7687
7688 This callback is invoked by DAL when it has received a Tx PER Tracking
7689 response from the underlying device.
7690
7691 PARAMETERS
7692
7693 IN
7694 wdiStatus: response status received from HAL
7695 pUserData: user data
7696
7697
7698
7699 RETURN VALUE
7700 The result code associated with performing the operation
7701---------------------------------------------------------------------------*/
7702typedef void (*WDI_SetTxPerTrackingRspCb)(WDI_Status wdiStatus,
7703 void* pUserData);
7704
7705#ifdef WLAN_FEATURE_PACKET_FILTERING
7706/*---------------------------------------------------------------------------
7707 WDI_8023MulticastListCb
7708
7709 DESCRIPTION
7710
7711 This callback is invoked by DAL when it has received a 8023 Multicast List
7712 response from the underlying device.
7713
7714 PARAMETERS
7715
7716 IN
7717 wdiStatus: response status received from HAL
7718 pUserData: user data
7719
7720
7721
7722 RETURN VALUE
7723 The result code associated with performing the operation
7724---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007725typedef void (*WDI_8023MulticastListCb)(
7726 WDI_RcvFltPktSetMcListRspParamsType *pwdiRcvFltPktSetMcListRspInfo,
7727 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007728
7729/*---------------------------------------------------------------------------
7730 WDI_ReceiveFilterSetFilterCb
7731
7732 DESCRIPTION
7733
7734 This callback is invoked by DAL when it has received a Receive Filter Set Filter
7735 response from the underlying device.
7736
7737 PARAMETERS
7738
7739 IN
7740 wdiStatus: response status received from HAL
7741 pUserData: user data
7742
7743
7744
7745 RETURN VALUE
7746 The result code associated with performing the operation
7747---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007748typedef void (*WDI_ReceiveFilterSetFilterCb)(
7749 WDI_SetRcvPktFilterRspParamsType *pwdiSetRcvPktFilterRspInfo,
7750 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007751
7752/*---------------------------------------------------------------------------
7753 WDI_FilterMatchCountCb
7754
7755 DESCRIPTION
7756
7757 This callback is invoked by DAL when it has received a Do PC Filter Match Count
7758 response from the underlying device.
7759
7760 PARAMETERS
7761
7762 IN
7763 wdiStatus: response status received from HAL
7764 pUserData: user data
7765
7766
7767
7768 RETURN VALUE
7769 The result code associated with performing the operation
7770---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007771typedef void (*WDI_FilterMatchCountCb)(
7772 WDI_RcvFltPktMatchCntRspParamsType *pwdiRcvFltPktMatchRspParams,
7773 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007774
7775/*---------------------------------------------------------------------------
7776 WDI_ReceiveFilterClearFilterCb
7777
7778 DESCRIPTION
7779
7780 This callback is invoked by DAL when it has received a Receive Filter Clear Filter
7781 response from the underlying device.
7782
7783 PARAMETERS
7784
7785 IN
7786 wdiStatus: response status received from HAL
7787 pUserData: user data
7788
7789
7790
7791 RETURN VALUE
7792 The result code associated with performing the operation
7793---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007794typedef void (*WDI_ReceiveFilterClearFilterCb)(
7795 WDI_RcvFltPktClearRspParamsType *pwdiRcvFltPktClearRspParamsType,
7796 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007797#endif // WLAN_FEATURE_PACKET_FILTERING
7798
7799/*---------------------------------------------------------------------------
7800 WDI_HALDumpCmdRspCb
7801
7802 DESCRIPTION
7803
7804 This callback is invoked by DAL when it has received a HAL DUMP Command
7805response from
7806 the HAL layer.
7807
7808 PARAMETERS
7809
7810 IN
7811 wdiHalDumpCmdRsp: response status received from HAL
7812 pUserData: user data
7813
7814
7815
7816 RETURN VALUE
7817 The result code associated with performing the operation
7818---------------------------------------------------------------------------*/
7819typedef void (*WDI_HALDumpCmdRspCb)(WDI_HALDumpCmdRspParamsType* wdiHalDumpCmdRsp,
7820 void* pUserData);
7821
7822/*---------------------------------------------------------------------------
7823 WDI_SetPowerParamsCb
7824
7825 DESCRIPTION
7826
7827 This callback is invoked by DAL when it has received a Set Power Param
7828 response from the underlying device.
7829
7830 PARAMETERS
7831
7832 IN
7833 wdiStatus: response status received from HAL
7834 pUserData: user data
7835
7836
7837
7838 RETURN VALUE
7839 The result code associated with performing the operation
7840---------------------------------------------------------------------------*/
7841typedef void (*WDI_SetPowerParamsCb)(WDI_Status wdiStatus,
7842 void* pUserData);
7843
7844#ifdef WLAN_FEATURE_GTK_OFFLOAD
7845/*---------------------------------------------------------------------------
7846 WDI_GtkOffloadCb
7847
7848 DESCRIPTION
7849
7850 This callback is invoked by DAL when it has received a GTK offload
7851 response from the underlying device.
7852
7853 PARAMETERS
7854
7855 IN
7856 wdiStatus: response status received from HAL
7857 pUserData: user data
7858
7859
7860
7861 RETURN VALUE
7862 The result code associated with performing the operation
7863---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007864typedef void (*WDI_GtkOffloadCb)( WDI_GtkOffloadRspParams *pwdiGtkOffloadRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007865 void* pUserData);
7866
7867/*---------------------------------------------------------------------------
7868 WDI_GtkOffloadGetInfoCb
7869
7870 DESCRIPTION
7871
7872 This callback is invoked by DAL when it has received a GTK offload
7873 information response from the underlying device.
7874
7875 PARAMETERS
7876
7877 IN
7878 wdiStatus: response status received from HAL
7879 pUserData: user data
7880
7881
7882
7883 RETURN VALUE
7884 The result code associated with performing the operation
7885---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007886typedef void (*WDI_GtkOffloadGetInfoCb)( WDI_GtkOffloadGetInfoRspParams *pwdiGtkOffloadGetInfoRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007887 void* pUserData);
7888#endif // WLAN_FEATURE_GTK_OFFLOAD
7889
7890/*---------------------------------------------------------------------------
7891 WDI_SetTmLevelCb
7892
7893 DESCRIPTION
7894
7895 This callback is invoked by DAL when it has received a Set New TM Level
7896 done response from the underlying device.
7897
7898 PARAMETERS
7899
7900 IN
7901 wdiStatus: response status received from HAL
7902 pUserData: user data
7903
7904
7905
7906 RETURN VALUE
7907 The result code associated with performing the operation
7908---------------------------------------------------------------------------*/
7909typedef void (*WDI_SetTmLevelCb)(WDI_Status wdiStatus,
7910 void* pUserData);
7911
7912/*---------------------------------------------------------------------------
7913 WDI_featureCapsExchangeCb
7914
7915 DESCRIPTION
7916
7917 This callback is invoked by DAL when it has received a HAL Feature Capbility
7918 Exchange Response the HAL layer. This callback is put to mantain code
7919 similarity and is not being used right now.
7920
7921 PARAMETERS
7922
7923 IN
7924 wdiFeatCapRspParams: response parameters received from HAL
7925 pUserData: user data
7926
7927 RETURN VALUE
7928 The result code associated with performing the operation
7929---------------------------------------------------------------------------*/
7930typedef void (*WDI_featureCapsExchangeCb)(void* wdiFeatCapRspParams,
7931 void* pUserData);
7932
Mohit Khanna4a70d262012-09-11 16:30:12 -07007933#ifdef WLAN_FEATURE_11AC
7934typedef void (*WDI_UpdateVHTOpModeCb)(WDI_Status wdiStatus,
7935 void* pUserData);
7936#endif
7937
Leo Chang9056f462013-08-01 19:21:11 -07007938#ifdef FEATURE_WLAN_LPHB
7939typedef void (*WDI_LphbCfgCb)(WDI_Status wdiStatus,
7940 void* pUserData);
7941#endif /* FEATURE_WLAN_LPHB */
Mohit Khanna4a70d262012-09-11 16:30:12 -07007942
Rajeev79dbe4c2013-10-05 11:03:42 +05307943#ifdef FEATURE_WLAN_BATCH_SCAN
7944/*---------------------------------------------------------------------------
7945 WDI_SetBatchScanCb
7946
7947 DESCRIPTION
7948
7949 This callback is invoked by DAL when it has received a get batch scan
7950 response from the underlying device.
7951
7952 PARAMETERS
7953
7954 IN
7955 wdiStatus: response status received from HAL
7956 pUserData: user data
7957
7958
7959
7960 RETURN VALUE
7961 The result code associated with performing the operation
7962---------------------------------------------------------------------------*/
7963typedef void (*WDI_SetBatchScanCb)(void *pData, WDI_SetBatchScanRspType *pRsp);
7964
7965#endif
7966
c_hpothu92367912014-05-01 15:18:17 +05307967typedef void (*WDI_GetBcnMissRateCb)(wpt_uint8 status, wpt_uint32 bcnMissRate,
7968 void* pUserData);
Rajeev79dbe4c2013-10-05 11:03:42 +05307969
Dino Mycle41bdc942014-06-10 11:30:24 +05307970#ifdef WLAN_FEATURE_EXTSCAN
7971typedef void (*WDI_EXTScanStartRspCb)(void *pEventData,
7972 void *pUserData);
7973typedef void (*WDI_EXTScanStopRspCb)(void *pEventData,
7974 void *pUserData);
7975typedef void (*WDI_EXTScanGetCachedResultsRspCb)(void *pEventData,
7976 void *pUserData);
7977typedef void (*WDI_EXTScanGetCapabilitiesRspCb)(void *pEventData,
7978 void *pUserData);
7979typedef void (*WDI_EXTScanSetBSSIDHotlistRspCb)(void *pEventData,
7980 void *pUserData);
7981typedef void (*WDI_EXTScanResetBSSIDHotlistRspCb)(void *pEventData,
7982 void *pUserData);
7983typedef void (*WDI_EXTScanSetSignfRSSIChangeRspCb)(void *pEventData,
7984 void *pUserData);
7985typedef void (*WDI_EXTScanResetSignfRSSIChangeRspCb)(void *pEventData,
7986 void *pUserData);
7987#endif /* WLAN_FEATURE_EXTSCAN */
Sunil Duttbd736ed2014-05-26 21:19:41 +05307988
7989#ifdef WLAN_FEATURE_LINK_LAYER_STATS
7990typedef void (*WDI_LLStatsSetRspCb)(void *pEventData,
7991 void *pUserData);
7992typedef void (*WDI_LLStatsGetRspCb)(void *pEventData,
7993 void *pUserData);
7994typedef void (*WDI_LLStatsClearRspCb)(void *pEventData,
7995 void *pUserData);
7996#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
Siddharth Bhal171788a2014-09-29 21:02:40 +05307997
7998typedef void (*WDI_SetSpoofMacAddrRspCb)(
7999 WDI_SpoofMacAddrRspParamType* wdiRsp, void *pUserData);
Srinivas Dasari4dae48f2014-11-26 21:14:16 +05308000
Abhishek Singh85b74712014-10-08 11:38:19 +05308001typedef void (*WDI_FWStatsGetRspCb)(WDI_Status status,void *fwStatsResp,
8002 void *pUserData);
Srinivas Dasari4dae48f2014-11-26 21:14:16 +05308003
8004typedef void (*WDI_EncryptMsgRspCb)(wpt_uint8 status, void *pEventData, void* pUserData);
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05308005typedef void (*WDI_MgmtLoggingInitRspCb)(
8006 WDI_MgmtLoggingRspParamType *wdiRsp, void *pUserData);
Siddharth Bhal64246172015-02-27 01:04:37 +05308007typedef void (*WDI_GetFrameLogRspCb)(
8008 WDI_GetFrameLogRspParamType *wdiRsp, void *pUserData);
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05308009
Katya Nigamf0511f62015-05-05 16:40:57 +05308010typedef void (*WDI_MonStartRspCb)(void *pEventData,void *pUserData);
8011typedef void (*WDI_MonStopRspCb)(void *pUserData);
8012
Jeff Johnson295189b2012-06-20 16:38:30 -07008013/*========================================================================
8014 * Function Declarations and Documentation
8015 ==========================================================================*/
8016
8017/*========================================================================
8018
8019 INITIALIZATION APIs
8020
8021==========================================================================*/
8022
8023/**
8024 @brief WDI_Init is used to initialize the DAL.
8025
8026 DAL will allocate all the resources it needs. It will open PAL, it will also
8027 open both the data and the control transport which in their turn will open
8028 DXE/SMD or any other drivers that they need.
8029
Arun Kumar Khandavalliebb19482014-03-25 13:56:53 +05308030 @param devHandle: pointer to the OS specific device handle
Jeff Johnson295189b2012-06-20 16:38:30 -07008031 ppWDIGlobalCtx: output pointer of Global Context
8032 pWdiDevCapability: output pointer of device capability
8033
8034 @return Result of the function call
8035*/
8036WDI_Status
8037WDI_Init
8038(
Arun Kumar Khandavalliebb19482014-03-25 13:56:53 +05308039 void* devHandle,
Jeff Johnson295189b2012-06-20 16:38:30 -07008040 void** ppWDIGlobalCtx,
8041 WDI_DeviceCapabilityType* pWdiDevCapability,
8042 unsigned int driverType
8043);
8044
8045/**
8046 @brief WDI_Start will be called when the upper MAC is ready to
8047 commence operation with the WLAN Device. Upon the call
8048 of this API the WLAN DAL will pack and send a HAL Start
8049 message to the lower RIVA sub-system if the SMD channel
8050 has been fully opened and the RIVA subsystem is up.
8051
8052 If the RIVA sub-system is not yet up and running DAL
8053 will queue the request for Open and will wait for the
8054 SMD notification before attempting to send down the
8055 message to HAL.
8056
8057 WDI_Init must have been called.
8058
8059 @param wdiStartParams: the start parameters as specified by
8060 the Device Interface
8061
8062 wdiStartRspCb: callback for passing back the response of
8063 the start operation received from the device
8064
8065 pUserData: user data will be passed back with the
8066 callback
8067
8068 @see WDI_Start
8069 @return Result of the function call
8070*/
8071WDI_Status
8072WDI_Start
8073(
8074 WDI_StartReqParamsType* pwdiStartParams,
8075 WDI_StartRspCb wdiStartRspCb,
8076 void* pUserData
8077);
8078
8079
8080/**
8081 @brief WDI_Stop will be called when the upper MAC is ready to
8082 stop any operation with the WLAN Device. Upon the call
8083 of this API the WLAN DAL will pack and send a HAL Stop
8084 message to the lower RIVA sub-system if the DAL Core is
8085 in started state.
8086
8087 In state BUSY this request will be queued.
8088
8089 Request will not be accepted in any other state.
8090
8091 WDI_Start must have been called.
8092
8093 @param wdiStopParams: the stop parameters as specified by
8094 the Device Interface
8095
8096 wdiStopRspCb: callback for passing back the response of
8097 the stop operation received from the device
8098
8099 pUserData: user data will be passed back with the
8100 callback
8101
8102 @see WDI_Start
8103 @return Result of the function call
8104*/
8105WDI_Status
8106WDI_Stop
8107(
8108 WDI_StopReqParamsType* pwdiStopParams,
8109 WDI_StopRspCb wdiStopRspCb,
8110 void* pUserData
8111);
8112
8113/**
8114 @brief WDI_Close will be called when the upper MAC no longer
8115 needs to interract with DAL. DAL will free its control
8116 block.
8117
8118 It is only accepted in state STOPPED.
8119
8120 WDI_Stop must have been called.
8121
8122 @param none
8123
8124 @see WDI_Stop
8125 @return Result of the function call
8126*/
8127WDI_Status
8128WDI_Close
8129(
8130 void
8131);
8132
8133
8134/**
8135 @brief WDI_Shutdown will be called during 'SSR shutdown' operation.
8136 This will do most of the WDI stop & close
8137 operations without doing any handshake with Riva
8138
8139 This will also make sure that the control transport
8140 will NOT be closed.
8141
8142 This request will not be queued.
8143
8144
8145 WDI_Start must have been called.
8146
8147 @param closeTransport: Close control channel if this is set
8148
8149 @return Result of the function call
8150*/
8151WDI_Status
8152WDI_Shutdown
8153(
8154 wpt_boolean closeTransport
8155);
8156
8157/*========================================================================
8158
8159 SCAN APIs
8160
8161==========================================================================*/
8162
8163/**
8164 @brief WDI_InitScanReq will be called when the upper MAC wants
8165 the WLAN Device to get ready for a scan procedure. Upon
8166 the call of this API the WLAN DAL will pack and send a
8167 HAL Init Scan request message to the lower RIVA
8168 sub-system if DAL is in state STARTED.
8169
8170 In state BUSY this request will be queued. Request won't
8171 be allowed in any other state.
8172
8173 WDI_Start must have been called.
8174
8175 @param wdiInitScanParams: the init scan parameters as specified
8176 by the Device Interface
8177
8178 wdiInitScanRspCb: callback for passing back the response
8179 of the init scan operation received from the device
8180
8181 pUserData: user data will be passed back with the
8182 callback
8183
8184 @see WDI_Start
8185 @return Result of the function call
8186*/
8187WDI_Status
8188WDI_InitScanReq
8189(
8190 WDI_InitScanReqParamsType* pwdiInitScanParams,
8191 WDI_InitScanRspCb wdiInitScanRspCb,
8192 void* pUserData
8193);
8194
8195/**
8196 @brief WDI_StartScanReq will be called when the upper MAC
8197 wishes to change the Scan channel on the WLAN Device.
8198 Upon the call of this API the WLAN DAL will pack and
8199 send a HAL Start Scan request message to the lower RIVA
8200 sub-system if DAL is in state STARTED.
8201
8202 In state BUSY this request will be queued. Request won't
8203 be allowed in any other state.
8204
8205 WDI_InitScanReq must have been called.
8206
8207 @param wdiStartScanParams: the start scan parameters as
8208 specified by the Device Interface
8209
8210 wdiStartScanRspCb: callback for passing back the
8211 response of the start scan operation received from the
8212 device
8213
8214 pUserData: user data will be passed back with the
8215 callback
8216
8217 @see WDI_InitScanReq
8218 @return Result of the function call
8219*/
8220WDI_Status
8221WDI_StartScanReq
8222(
8223 WDI_StartScanReqParamsType* pwdiStartScanParams,
8224 WDI_StartScanRspCb wdiStartScanRspCb,
8225 void* pUserData
8226);
8227
8228
8229/**
8230 @brief WDI_EndScanReq will be called when the upper MAC is
8231 wants to end scanning for a particular channel that it
8232 had set before by calling Scan Start on the WLAN Device.
8233 Upon the call of this API the WLAN DAL will pack and
8234 send a HAL End Scan request message to the lower RIVA
8235 sub-system if DAL is in state STARTED.
8236
8237 In state BUSY this request will be queued. Request won't
8238 be allowed in any other state.
8239
8240 WDI_StartScanReq must have been called.
8241
8242 @param wdiEndScanParams: the end scan parameters as specified
8243 by the Device Interface
8244
8245 wdiEndScanRspCb: callback for passing back the response
8246 of the end scan operation received from the device
8247
8248 pUserData: user data will be passed back with the
8249 callback
8250
8251 @see WDI_StartScanReq
8252 @return Result of the function call
8253*/
8254WDI_Status
8255WDI_EndScanReq
8256(
8257 WDI_EndScanReqParamsType* pwdiEndScanParams,
8258 WDI_EndScanRspCb wdiEndScanRspCb,
8259 void* pUserData
8260);
8261
8262
8263/**
8264 @brief WDI_FinishScanReq will be called when the upper MAC has
8265 completed the scan process on the WLAN Device. Upon the
8266 call of this API the WLAN DAL will pack and send a HAL
8267 Finish Scan Request request message to the lower RIVA
8268 sub-system if DAL is in state STARTED.
8269
8270 In state BUSY this request will be queued. Request won't
8271 be allowed in any other state.
8272
8273 WDI_InitScanReq must have been called.
8274
8275 @param wdiFinishScanParams: the finish scan parameters as
8276 specified by the Device Interface
8277
8278 wdiFinishScanRspCb: callback for passing back the
8279 response of the finish scan operation received from the
8280 device
8281
8282 pUserData: user data will be passed back with the
8283 callback
8284
8285 @see WDI_InitScanReq
8286 @return Result of the function call
8287*/
8288WDI_Status
8289WDI_FinishScanReq
8290(
8291 WDI_FinishScanReqParamsType* pwdiFinishScanParams,
8292 WDI_FinishScanRspCb wdiFinishScanRspCb,
8293 void* pUserData
8294);
8295
8296/*========================================================================
8297
8298 ASSOCIATION APIs
8299
8300==========================================================================*/
8301
8302/**
8303 @brief WDI_JoinReq will be called when the upper MAC is ready
8304 to start an association procedure to a BSS. Upon the
8305 call of this API the WLAN DAL will pack and send a HAL
8306 Join request message to the lower RIVA sub-system if
8307 DAL is in state STARTED.
8308
8309 In state BUSY this request will be queued. Request won't
8310 be allowed in any other state.
8311
8312 WDI_Start must have been called.
8313
8314 @param wdiJoinParams: the join parameters as specified by
8315 the Device Interface
8316
8317 wdiJoinRspCb: callback for passing back the response of
8318 the join operation received from the device
8319
8320 pUserData: user data will be passed back with the
8321 callback
8322
8323 @see WDI_Start
8324 @return Result of the function call
8325*/
8326WDI_Status
8327WDI_JoinReq
8328(
8329 WDI_JoinReqParamsType* pwdiJoinParams,
8330 WDI_JoinRspCb wdiJoinRspCb,
8331 void* pUserData
8332);
8333
8334/**
8335 @brief WDI_ConfigBSSReq will be called when the upper MAC
8336 wishes to configure the newly acquired or in process of
8337 being acquired BSS to the HW . Upon the call of this API
8338 the WLAN DAL will pack and send a HAL Config BSS request
8339 message to the lower RIVA sub-system if DAL is in state
8340 STARTED.
8341
8342 In state BUSY this request will be queued. Request won't
8343 be allowed in any other state.
8344
8345 WDI_JoinReq must have been called.
8346
8347 @param wdiConfigBSSParams: the config BSS parameters as
8348 specified by the Device Interface
8349
8350 wdiConfigBSSRspCb: callback for passing back the
8351 response of the config BSS operation received from the
8352 device
8353
8354 pUserData: user data will be passed back with the
8355 callback
8356
8357 @see WDI_JoinReq
8358 @return Result of the function call
8359*/
8360WDI_Status
8361WDI_ConfigBSSReq
8362(
8363 WDI_ConfigBSSReqParamsType* pwdiConfigBSSParams,
8364 WDI_ConfigBSSRspCb wdiConfigBSSRspCb,
8365 void* pUserData
8366);
8367
8368/**
8369 @brief WDI_DelBSSReq will be called when the upper MAC is
8370 dissasociating from the BSS and wishes to notify HW.
8371 Upon the call of this API the WLAN DAL will pack and
8372 send a HAL Del BSS request message to the lower RIVA
8373 sub-system if DAL is in state STARTED.
8374
8375 In state BUSY this request will be queued. Request won't
8376 be allowed in any other state.
8377
8378 WDI_ConfigBSSReq or WDI_PostAssocReq must have been called.
8379
8380 @param wdiDelBSSParams: the del BSS parameters as specified by
8381 the Device Interface
8382
8383 wdiDelBSSRspCb: callback for passing back the response
8384 of the del bss operation received from the device
8385
8386 pUserData: user data will be passed back with the
8387 callback
8388
8389 @see WDI_ConfigBSSReq, WDI_PostAssocReq
8390 @return Result of the function call
8391*/
8392WDI_Status
8393WDI_DelBSSReq
8394(
8395 WDI_DelBSSReqParamsType* pwdiDelBSSParams,
8396 WDI_DelBSSRspCb wdiDelBSSRspCb,
8397 void* pUserData
8398);
8399
8400/**
8401 @brief WDI_PostAssocReq will be called when the upper MAC has
8402 associated to a BSS and wishes to configure HW for
8403 associated state. Upon the call of this API the WLAN DAL
8404 will pack and send a HAL Post Assoc request message to
8405 the lower RIVA sub-system if DAL is in state STARTED.
8406
8407 In state BUSY this request will be queued. Request won't
8408 be allowed in any other state.
8409
8410 WDI_JoinReq must have been called.
8411
8412 @param wdiPostAssocReqParams: the assoc parameters as specified
8413 by the Device Interface
8414
8415 wdiPostAssocRspCb: callback for passing back the
8416 response of the post assoc operation received from the
8417 device
8418
8419 pUserData: user data will be passed back with the
8420 callback
8421
8422 @see WDI_JoinReq
8423 @return Result of the function call
8424*/
8425WDI_Status
8426WDI_PostAssocReq
8427(
8428 WDI_PostAssocReqParamsType* pwdiPostAssocReqParams,
8429 WDI_PostAssocRspCb wdiPostAssocRspCb,
8430 void* pUserData
8431);
8432
8433/**
8434 @brief WDI_DelSTAReq will be called when the upper MAC when an
8435 association with another STA has ended and the station
8436 must be deleted from HW. Upon the call of this API the
8437 WLAN DAL will pack and send a HAL Del STA request
8438 message to the lower RIVA sub-system if DAL is in state
8439 STARTED.
8440
8441 In state BUSY this request will be queued. Request won't
8442 be allowed in any other state.
8443
8444 WDI_PostAssocReq must have been called.
8445
8446 @param wdiDelSTAParams: the Del STA parameters as specified by
8447 the Device Interface
8448
8449 wdiDelSTARspCb: callback for passing back the response
8450 of the del STA operation received from the device
8451
8452 pUserData: user data will be passed back with the
8453 callback
8454
8455 @see WDI_PostAssocReq
8456 @return Result of the function call
8457*/
8458WDI_Status
8459WDI_DelSTAReq
8460(
8461 WDI_DelSTAReqParamsType* pwdiDelSTAParams,
8462 WDI_DelSTARspCb wdiDelSTARspCb,
8463 void* pUserData
8464);
8465
8466/*========================================================================
8467
8468 SECURITY APIs
8469
8470==========================================================================*/
8471
8472/**
8473 @brief WDI_SetBSSKeyReq will be called when the upper MAC ito
8474 install a BSS encryption key on the HW. Upon the call of
8475 this API the WLAN DAL will pack and send a HAL Start
8476 request message to the lower RIVA sub-system if DAL is
8477 in state STARTED.
8478
8479 In state BUSY this request will be queued. Request won't
8480 be allowed in any other state.
8481
8482 WDI_PostAssocReq must have been called.
8483
8484 @param wdiSetBSSKeyParams: the BSS Key set parameters as
8485 specified by the Device Interface
8486
8487 wdiSetBSSKeyRspCb: callback for passing back the
8488 response of the set BSS Key operation received from the
8489 device
8490
8491 pUserData: user data will be passed back with the
8492 callback
8493
8494 @see WDI_PostAssocReq
8495 @return Result of the function call
8496*/
8497WDI_Status
8498WDI_SetBSSKeyReq
8499(
8500 WDI_SetBSSKeyReqParamsType* pwdiSetBSSKeyParams,
8501 WDI_SetBSSKeyRspCb wdiSetBSSKeyRspCb,
8502 void* pUserData
8503);
8504
8505
8506/**
8507 @brief WDI_RemoveBSSKeyReq will be called when the upper MAC to
8508 uninstall a BSS key from HW. Upon the call of this API
8509 the WLAN DAL will pack and send a HAL Remove BSS Key
8510 request message to the lower RIVA sub-system if DAL is
8511 in state STARTED.
8512
8513 In state BUSY this request will be queued. Request won't
8514 be allowed in any other state.
8515
8516 WDI_SetBSSKeyReq must have been called.
8517
8518 @param wdiRemoveBSSKeyParams: the remove BSS key parameters as
8519 specified by the Device Interface
8520
8521 wdiRemoveBSSKeyRspCb: callback for passing back the
8522 response of the remove BSS key operation received from
8523 the device
8524
8525 pUserData: user data will be passed back with the
8526 callback
8527
8528 @see WDI_SetBSSKeyReq
8529 @return Result of the function call
8530*/
8531WDI_Status
8532WDI_RemoveBSSKeyReq
8533(
8534 WDI_RemoveBSSKeyReqParamsType* pwdiRemoveBSSKeyParams,
8535 WDI_RemoveBSSKeyRspCb wdiRemoveBSSKeyRspCb,
8536 void* pUserData
8537);
8538
8539
8540/**
8541 @brief WDI_SetSTAKeyReq will be called when the upper MAC is
8542 ready to install a STA(ast) encryption key in HW. Upon
8543 the call of this API the WLAN DAL will pack and send a
8544 HAL Set STA Key request message to the lower RIVA
8545 sub-system if DAL is in state STARTED.
8546
8547 In state BUSY this request will be queued. Request won't
8548 be allowed in any other state.
8549
8550 WDI_PostAssocReq must have been called.
8551
8552 @param wdiSetSTAKeyParams: the set STA key parameters as
8553 specified by the Device Interface
8554
8555 wdiSetSTAKeyRspCb: callback for passing back the
8556 response of the set STA key operation received from the
8557 device
8558
8559 pUserData: user data will be passed back with the
8560 callback
8561
8562 @see WDI_PostAssocReq
8563 @return Result of the function call
8564*/
8565WDI_Status
8566WDI_SetSTAKeyReq
8567(
8568 WDI_SetSTAKeyReqParamsType* pwdiSetSTAKeyParams,
8569 WDI_SetSTAKeyRspCb wdiSetSTAKeyRspCb,
8570 void* pUserData
8571);
8572
8573
8574/**
8575 @brief WDI_RemoveSTAKeyReq will be called when the upper MAC
8576 wants to unistall a previously set STA key in HW. Upon
8577 the call of this API the WLAN DAL will pack and send a
8578 HAL Remove STA Key request message to the lower RIVA
8579 sub-system if DAL is in state STARTED.
8580
8581 In state BUSY this request will be queued. Request won't
8582 be allowed in any other state.
8583
8584 WDI_SetSTAKeyReq must have been called.
8585
8586 @param wdiRemoveSTAKeyParams: the remove STA key parameters as
8587 specified by the Device Interface
8588
8589 wdiRemoveSTAKeyRspCb: callback for passing back the
8590 response of the remove STA key operation received from
8591 the device
8592
8593 pUserData: user data will be passed back with the
8594 callback
8595
8596 @see WDI_SetSTAKeyReq
8597 @return Result of the function call
8598*/
8599WDI_Status
8600WDI_RemoveSTAKeyReq
8601(
8602 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTAKeyParams,
8603 WDI_RemoveSTAKeyRspCb wdiRemoveSTAKeyRspCb,
8604 void* pUserData
8605);
8606
8607/**
8608 @brief WDI_SetSTABcastKeyReq will be called when the upper MAC
8609 wants to install a STA Bcast encryption key on the HW.
8610 Upon the call of this API the WLAN DAL will pack and
8611 send a HAL Start request message to the lower RIVA
8612 sub-system if DAL is in state STARTED.
8613
8614 In state BUSY this request will be queued. Request won't
8615 be allowed in any other state.
8616
8617 WDI_PostAssocReq must have been called.
8618
8619 @param pwdiSetSTABcastKeyParams: the BSS Key set parameters as
8620 specified by the Device Interface
8621
8622 wdiSetSTABcastKeyRspCb: callback for passing back the
8623 response of the set BSS Key operation received from the
8624 device
8625
8626 pUserData: user data will be passed back with the
8627 callback
8628
8629 @see WDI_PostAssocReq
8630 @return Result of the function call
8631*/
8632WDI_Status
8633WDI_SetSTABcastKeyReq
8634(
8635 WDI_SetSTAKeyReqParamsType* pwdiSetSTABcastKeyParams,
8636 WDI_SetSTAKeyRspCb wdiSetSTABcastKeyRspCb,
8637 void* pUserData
8638);
8639
8640
8641/**
8642 @brief WDI_RemoveSTABcastKeyReq will be called when the upper
8643 MAC to uninstall a STA Bcast key from HW. Upon the call
8644 of this API the WLAN DAL will pack and send a HAL Remove
8645 STA Bcast Key request message to the lower RIVA
8646 sub-system if DAL is in state STARTED.
8647
8648 In state BUSY this request will be queued. Request won't
8649 be allowed in any other state.
8650
8651 WDI_SetSTABcastKeyReq must have been called.
8652
8653 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
8654 parameters as specified by the Device
8655 Interface
8656
8657 wdiRemoveSTABcastKeyRspCb: callback for passing back the
8658 response of the remove STA Bcast key operation received
8659 from the device
8660
8661 pUserData: user data will be passed back with the
8662 callback
8663
8664 @see WDI_SetSTABcastKeyReq
8665 @return Result of the function call
8666*/
8667WDI_Status
8668WDI_RemoveSTABcastKeyReq
8669(
8670 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTABcastKeyParams,
8671 WDI_RemoveSTAKeyRspCb wdiRemoveSTABcastKeyRspCb,
8672 void* pUserData
8673);
8674
schang86c22c42013-03-13 18:41:24 -07008675
8676/**
8677 @brief WDI_SetTxPowerReq will be called when the upper
8678 MAC wants to set Tx Power to HW.
8679 In state BUSY this request will be queued. Request won't
8680 be allowed in any other state.
8681
8682
8683 @param pwdiSetTxPowerParams: set TS Power parameters
8684 BSSID and target TX Power with dbm included
8685
8686 wdiReqStatusCb: callback for passing back the response
8687
8688 pUserData: user data will be passed back with the
8689 callback
8690
8691 @return Result of the function call
8692*/
8693WDI_Status
8694WDI_SetTxPowerReq
8695(
8696 WDI_SetTxPowerParamsType* pwdiSetTxPowerParams,
8697 WDA_SetTxPowerRspCb wdiReqStatusCb,
8698 void* pUserData
8699);
8700
Jeff Johnson295189b2012-06-20 16:38:30 -07008701/**
8702 @brief WDI_SetMaxTxPowerReq will be called when the upper
8703 MAC wants to set Max Tx Power to HW. Upon the
8704 call of this API the WLAN DAL will pack and send a HAL
8705 Remove STA Bcast Key request message to the lower RIVA
8706 sub-system if DAL is in state STARTED.
8707
8708 In state BUSY this request will be queued. Request won't
8709 be allowed in any other state.
8710
8711 WDI_SetSTABcastKeyReq must have been called.
8712
8713 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
8714 parameters as specified by the Device
8715 Interface
8716
8717 wdiRemoveSTABcastKeyRspCb: callback for passing back the
8718 response of the remove STA Bcast key operation received
8719 from the device
8720
8721 pUserData: user data will be passed back with the
8722 callback
8723
8724 @see WDI_SetMaxTxPowerReq
8725 @return Result of the function call
8726*/
8727WDI_Status
8728WDI_SetMaxTxPowerReq
8729(
8730 WDI_SetMaxTxPowerParamsType* pwdiSetMaxTxPowerParams,
8731 WDA_SetMaxTxPowerRspCb wdiReqStatusCb,
8732 void* pUserData
8733);
8734
Arif Hussaina5ebce02013-08-09 15:09:58 -07008735/**
8736 @brief WDI_SetMaxTxPowerPerBandReq will be called when the upper
8737 MAC wants to set Max Tx Power to HW for specific band. Upon the
8738 call of this API the WLAN DAL will pack and send a HAL
8739 Set Max Tx Power Per Band request message to the lower RIVA
8740 sub-system if DAL is in state STARTED.
8741
8742 In state BUSY this request will be queued. Request won't
8743 be allowed in any other state.
8744
8745
8746 @param WDI_SetMaxTxPowerPerBandParamsType: Max Tx Per Band Info
8747
8748 WDA_SetMaxTxPowerPerBandRspCb: This callback is invoked by DAL
8749 when it has received a set max Tx Power Per Band response from
8750 the underlying device.
8751
8752 pUserData: user data will be passed back with the
8753 callback
8754
8755 @see WDI_SetMaxTxPowerPerBandReq
8756 @return Result of the function call
8757*/
8758WDI_Status
8759WDI_SetMaxTxPowerPerBandReq
8760(
8761 WDI_SetMaxTxPowerPerBandParamsType* pwdiSetMaxTxPowerPerBandParams,
8762 WDA_SetMaxTxPowerPerBandRspCb wdiReqStatusCb,
8763 void* pUserData
8764);
8765
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08008766#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07008767/**
8768 @brief WDI_TSMStatsReq will be called by the upper MAC to fetch
8769 Traffic Stream metrics.
8770 In state BUSY this request will be queued. Request won't
8771 be allowed in any other state.
8772
8773 @param wdiAddTsReqParams: the add TS parameters as specified by
8774 the Device Interface
8775
8776 wdiAddTsRspCb: callback for passing back the response of
8777 the add TS operation received from the device
8778
8779 pUserData: user data will be passed back with the
8780 callback
8781
8782 @see WDI_PostAssocReq
8783 @return Result of the function call
8784*/
8785WDI_Status
8786WDI_TSMStatsReq
8787(
8788 WDI_TSMStatsReqParamsType* pwdiTsmStatsReqParams,
8789 WDI_TsmRspCb wdiTsmStatsRspCb,
8790 void* pUserData
8791);
8792
8793
8794#endif
8795
8796/*========================================================================
8797
8798 QoS and BA APIs
8799
8800==========================================================================*/
8801
8802/**
8803 @brief WDI_AddTSReq will be called when the upper MAC to inform
8804 the device of a successful add TSpec negotiation. HW
8805 needs to receive the TSpec Info from the UMAC in order
8806 to configure properly the QoS data traffic. Upon the
8807 call of this API the WLAN DAL will pack and send a HAL
8808 Add TS request message to the lower RIVA sub-system if
8809 DAL is in state STARTED.
8810
8811 In state BUSY this request will be queued. Request won't
8812 be allowed in any other state.
8813
8814 WDI_PostAssocReq must have been called.
8815
8816 @param wdiAddTsReqParams: the add TS parameters as specified by
8817 the Device Interface
8818
8819 wdiAddTsRspCb: callback for passing back the response of
8820 the add TS operation received from the device
8821
8822 pUserData: user data will be passed back with the
8823 callback
8824
8825 @see WDI_PostAssocReq
8826 @return Result of the function call
8827*/
8828WDI_Status
8829WDI_AddTSReq
8830(
8831 WDI_AddTSReqParamsType* pwdiAddTsReqParams,
8832 WDI_AddTsRspCb wdiAddTsRspCb,
8833 void* pUserData
8834);
8835
8836
8837
8838/**
8839 @brief WDI_DelTSReq will be called when the upper MAC has ended
8840 admission on a specific AC. This is to inform HW that
8841 QoS traffic parameters must be rest. Upon the call of
8842 this API the WLAN DAL will pack and send a HAL Del TS
8843 request message to the lower RIVA sub-system if DAL is
8844 in state STARTED.
8845
8846 In state BUSY this request will be queued. Request won't
8847 be allowed in any other state.
8848
8849 WDI_AddTSReq must have been called.
8850
8851 @param wdiDelTsReqParams: the del TS parameters as specified by
8852 the Device Interface
8853
8854 wdiDelTsRspCb: callback for passing back the response of
8855 the del TS operation received from the device
8856
8857 pUserData: user data will be passed back with the
8858 callback
8859
8860 @see WDI_AddTSReq
8861 @return Result of the function call
8862*/
8863WDI_Status
8864WDI_DelTSReq
8865(
8866 WDI_DelTSReqParamsType* pwdiDelTsReqParams,
8867 WDI_DelTsRspCb wdiDelTsRspCb,
8868 void* pUserData
8869);
8870
8871
8872
8873/**
8874 @brief WDI_UpdateEDCAParams will be called when the upper MAC
8875 wishes to update the EDCA parameters used by HW for QoS
8876 data traffic. Upon the call of this API the WLAN DAL
8877 will pack and send a HAL Update EDCA Params request
8878 message to the lower RIVA sub-system if DAL is in state
8879 STARTED.
8880
8881 In state BUSY this request will be queued. Request won't
8882 be allowed in any other state.
8883
8884 WDI_PostAssocReq must have been called.
8885
8886 @param wdiUpdateEDCAParams: the start parameters as specified
8887 by the Device Interface
8888
8889 wdiUpdateEDCAParamsRspCb: callback for passing back the
8890 response of the start operation received from the device
8891
8892 pUserData: user data will be passed back with the
8893 callback
8894
8895 @see WDI_PostAssocReq
8896 @return Result of the function call
8897*/
8898WDI_Status
8899WDI_UpdateEDCAParams
8900(
8901 WDI_UpdateEDCAParamsType* pwdiUpdateEDCAParams,
8902 WDI_UpdateEDCAParamsRspCb wdiUpdateEDCAParamsRspCb,
8903 void* pUserData
8904);
8905
8906
8907
8908/**
8909 @brief WDI_AddBASessionReq will be called when the upper MAC has setup
8910 successfully a BA session and needs to notify the HW for
8911 the appropriate settings to take place. Upon the call of
8912 this API the WLAN DAL will pack and send a HAL Add BA
8913 request message to the lower RIVA sub-system if DAL is
8914 in state STARTED.
8915
8916 In state BUSY this request will be queued. Request won't
8917 be allowed in any other state.
8918
8919 WDI_PostAssocReq must have been called.
8920
8921 @param wdiAddBAReqParams: the add BA parameters as specified by
8922 the Device Interface
8923
8924 wdiAddBARspCb: callback for passing back the response of
8925 the add BA operation received from the device
8926
8927 pUserData: user data will be passed back with the
8928 callback
8929
8930 @see WDI_PostAssocReq
8931 @return Result of the function call
8932*/
8933WDI_Status
8934WDI_AddBASessionReq
8935(
8936 WDI_AddBASessionReqParamsType* pwdiAddBASessionReqParams,
8937 WDI_AddBASessionRspCb wdiAddBASessionRspCb,
8938 void* pUserData
8939);
8940
8941
8942/**
8943 @brief WDI_DelBAReq will be called when the upper MAC wants to
8944 inform HW that it has deleted a previously created BA
8945 session. Upon the call of this API the WLAN DAL will
8946 pack and send a HAL Del BA request message to the lower
8947 RIVA sub-system if DAL is in state STARTED.
8948
8949 In state BUSY this request will be queued. Request won't
8950 be allowed in any other state.
8951
8952 WDI_AddBAReq must have been called.
8953
8954 @param wdiDelBAReqParams: the del BA parameters as specified by
8955 the Device Interface
8956
8957 wdiDelBARspCb: callback for passing back the response of
8958 the del BA operation received from the device
8959
8960 pUserData: user data will be passed back with the
8961 callback
8962
8963 @see WDI_AddBAReq
8964 @return Result of the function call
8965*/
8966WDI_Status
8967WDI_DelBAReq
8968(
8969 WDI_DelBAReqParamsType* pwdiDelBAReqParams,
8970 WDI_DelBARspCb wdiDelBARspCb,
8971 void* pUserData
8972);
8973
8974/**
8975 @brief WDI_UpdateBeaconParamsReq will be called when the upper MAC wants to
8976 inform HW that there is a change in the beacon parameters
8977 Upon the call of this API the WLAN DAL will
8978 pack and send a UpdateBeacon Params message to the lower
8979 RIVA sub-system if DAL is in state STARTED.
8980
8981 In state BUSY this request will be queued. Request won't
8982 be allowed in any other state.
8983
8984 WDI_UpdateBeaconParamsReq must have been called.
8985
8986 @param WDI_UpdateBeaconParamsType: the Update Beacon parameters as specified by
8987 the Device Interface
8988
8989 WDI_UpdateBeaconParamsRspCb: callback for passing back the response of
8990 the Update Beacon Params operation received from the device
8991
8992 pUserData: user data will be passed back with the
8993 callback
8994
8995 @see WDI_AddBAReq
8996 @return Result of the function call
8997*/
8998
8999WDI_Status
9000WDI_UpdateBeaconParamsReq
9001(
9002 WDI_UpdateBeaconParamsType * pwdiUpdateBeaconParams,
9003 WDI_UpdateBeaconParamsRspCb wdiUpdateBeaconParamsRspCb,
9004 void* pUserData
9005);
9006
9007
9008/**
9009 @brief WDI_SendBeaconParamsReq will be called when the upper MAC wants to
9010 update the beacon template to be transmitted as BT MAP STA/IBSS/Soft AP
9011 Upon the call of this API the WLAN DAL will
9012 pack and send the beacon Template message to the lower
9013 RIVA sub-system if DAL is in state STARTED.
9014
9015 In state BUSY this request will be queued. Request won't
9016 be allowed in any other state.
9017
9018 WDI_SendBeaconParamsReq must have been called.
9019
9020 @param WDI_SendBeaconParamsType: the Update Beacon parameters as specified by
9021 the Device Interface
9022
9023 WDI_SendBeaconParamsRspCb: callback for passing back the response of
9024 the Send Beacon Params operation received from the device
9025
9026 pUserData: user data will be passed back with the
9027 callback
9028
9029 @see WDI_AddBAReq
9030 @return Result of the function call
9031*/
9032
9033WDI_Status
9034WDI_SendBeaconParamsReq
9035(
9036 WDI_SendBeaconParamsType* pwdiSendBeaconParams,
9037 WDI_SendBeaconParamsRspCb wdiSendBeaconParamsRspCb,
9038 void* pUserData
9039);
9040
9041
9042/**
9043 @brief WDI_UpdateProbeRspTemplateReq will be called when the
9044 upper MAC wants to update the probe response template to
9045 be transmitted as Soft AP
9046 Upon the call of this API the WLAN DAL will
9047 pack and send the probe rsp template message to the
9048 lower RIVA sub-system if DAL is in state STARTED.
9049
9050 In state BUSY this request will be queued. Request won't
9051 be allowed in any other state.
9052
9053
9054 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
9055 specified by the Device Interface
9056
9057 wdiSendBeaconParamsRspCb: callback for passing back the
9058 response of the Send Beacon Params operation received
9059 from the device
9060
9061 pUserData: user data will be passed back with the
9062 callback
9063
9064 @see WDI_AddBAReq
9065 @return Result of the function call
9066*/
9067
9068WDI_Status
9069WDI_UpdateProbeRspTemplateReq
9070(
9071 WDI_UpdateProbeRspTemplateParamsType* pwdiUpdateProbeRspParams,
9072 WDI_UpdateProbeRspTemplateRspCb wdiSendBeaconParamsRspCb,
9073 void* pUserData
9074);
9075
Jeff Johnson295189b2012-06-20 16:38:30 -07009076/**
9077 @brief WDI_SetP2PGONOAReq will be called when the
9078 upper MAC wants to send Notice of Absence
9079 Upon the call of this API the WLAN DAL will
9080 pack and send the probe rsp template message to the
9081 lower RIVA sub-system if DAL is in state STARTED.
9082
9083 In state BUSY this request will be queued. Request won't
9084 be allowed in any other state.
9085
9086
9087 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
9088 specified by the Device Interface
9089
9090 wdiSendBeaconParamsRspCb: callback for passing back the
9091 response of the Send Beacon Params operation received
9092 from the device
9093
9094 pUserData: user data will be passed back with the
9095 callback
9096
9097 @see WDI_AddBAReq
9098 @return Result of the function call
9099*/
9100WDI_Status
9101WDI_SetP2PGONOAReq
9102(
9103 WDI_SetP2PGONOAReqParamsType* pwdiP2PGONOAReqParams,
9104 WDI_SetP2PGONOAReqParamsRspCb wdiP2PGONOAReqParamsRspCb,
9105 void* pUserData
9106);
Jeff Johnson295189b2012-06-20 16:38:30 -07009107
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05309108/**
9109 @brief WDI_SetTDLSLinkEstablishReq will be called when the
9110 upper MAC wants to send TDLS Link Establish Request Parameters
9111 Upon the call of this API the WLAN DAL will
9112 pack and send the TDLS Link Establish Request message to the
9113 lower RIVA sub-system if DAL is in state STARTED.
9114
9115 In state BUSY this request will be queued. Request won't
9116 be allowed in any other state.
9117
9118
9119 @param pwdiTDLSLinkEstablishReqParams: TDLS Peer Parameters
9120 for Link Establishment (Used for PUAPSD , TDLS Off Channel ...)
9121
9122 wdiTDLSLinkEstablishReqRspCb: callback for passing back the
9123 response of the TDLS Link Establish request received
9124 from the device
9125
9126 pUserData: user data will be passed back with the
9127 callback
9128
9129 @see
9130 @return Result of the function call
9131*/
9132WDI_Status
9133WDI_SetTDLSLinkEstablishReq
9134(
9135 WDI_SetTDLSLinkEstablishReqParamsType* pwdiTDLSLinkEstablishReqParams,
9136 WDI_SetTDLSLinkEstablishReqParamsRspCb wdiTDLSLinkEstablishReqRspCb,
9137 void* pUserData
9138);
Jeff Johnson295189b2012-06-20 16:38:30 -07009139
Atul Mittalc0f739f2014-07-31 13:47:47 +05309140WDI_Status
9141WDI_SetTDLSChanSwitchReq
9142(
9143 WDI_SetTDLSChanSwitchReqParamsType* pwdiTDLSChanSwitchReqParams,
9144 WDI_SetTDLSChanSwitchReqParamsRspCb wdiTDLSChanSwitchRReqRspCb,
9145 void* pUserData
9146);
Jeff Johnson295189b2012-06-20 16:38:30 -07009147/*========================================================================
9148
9149 Power Save APIs
9150
9151==========================================================================*/
9152
9153/**
9154 @brief WDI_SetPwrSaveCfgReq will be called when the upper MAC
9155 wants to set the power save related configurations of
9156 the WLAN Device. Upon the call of this API the WLAN DAL
9157 will pack and send a HAL Update CFG request message to
9158 the lower RIVA sub-system if DAL is in state STARTED.
9159
9160 In state BUSY this request will be queued. Request won't
9161 be allowed in any other state.
9162
9163 WDI_Start must have been called.
9164
9165 @param pwdiPowerSaveCfg: the power save cfg parameters as
9166 specified by the Device Interface
9167
9168 wdiSetPwrSaveCfgCb: callback for passing back the
9169 response of the set power save cfg operation received
9170 from the device
9171
9172 pUserData: user data will be passed back with the
9173 callback
9174
9175 @see WDI_Start
9176 @return Result of the function call
9177*/
9178WDI_Status
9179WDI_SetPwrSaveCfgReq
9180(
9181 WDI_UpdateCfgReqParamsType* pwdiPowerSaveCfg,
9182 WDI_SetPwrSaveCfgCb wdiSetPwrSaveCfgCb,
9183 void* pUserData
9184);
9185
9186/**
9187 @brief WDI_EnterImpsReq will be called when the upper MAC to
9188 request the device to get into IMPS power state. Upon
9189 the call of this API the WLAN DAL will send a HAL Enter
9190 IMPS request message to the lower RIVA sub-system if DAL
9191 is in state STARTED.
9192
9193 In state BUSY this request will be queued. Request won't
9194 be allowed in any other state.
9195
9196
9197 @param wdiEnterImpsRspCb: callback for passing back the
9198 response of the Enter IMPS operation received from the
9199 device
9200
9201 pUserData: user data will be passed back with the
9202 callback
9203
9204 @see WDI_Start
9205 @return Result of the function call
9206*/
9207WDI_Status
9208WDI_EnterImpsReq
9209(
Mihir Shetea4306052014-03-25 00:02:54 +05309210 WDI_EnterImpsReqParamsType *pwdiEnterImpsReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009211 WDI_EnterImpsRspCb wdiEnterImpsRspCb,
9212 void* pUserData
9213);
9214
9215/**
9216 @brief WDI_ExitImpsReq will be called when the upper MAC to
9217 request the device to get out of IMPS power state. Upon
9218 the call of this API the WLAN DAL will send a HAL Exit
9219 IMPS request message to the lower RIVA sub-system if DAL
9220 is in state STARTED.
9221
9222 In state BUSY this request will be queued. Request won't
9223 be allowed in any other state.
9224
9225
9226
9227 @param wdiExitImpsRspCb: callback for passing back the response
9228 of the Exit IMPS operation received from the device
9229
9230 pUserData: user data will be passed back with the
9231 callback
9232
9233 @see WDI_Start
9234 @return Result of the function call
9235*/
9236WDI_Status
9237WDI_ExitImpsReq
9238(
Mahesh A Saptasagar329813b2014-12-15 12:16:51 +05309239 WDI_ExitImpsReqParamsType *pwdiExitImpsReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009240 WDI_ExitImpsRspCb wdiExitImpsRspCb,
9241 void* pUserData
9242);
9243
9244/**
9245 @brief WDI_EnterBmpsReq will be called when the upper MAC to
9246 request the device to get into BMPS power state. Upon
9247 the call of this API the WLAN DAL will pack and send a
9248 HAL Enter BMPS request message to the lower RIVA
9249 sub-system if DAL is in state STARTED.
9250
9251 In state BUSY this request will be queued. Request won't
9252 be allowed in any other state.
9253
9254 WDI_PostAssocReq must have been called.
9255
9256 @param pwdiEnterBmpsReqParams: the Enter BMPS parameters as
9257 specified by the Device Interface
9258
9259 wdiEnterBmpsRspCb: callback for passing back the
9260 response of the Enter BMPS operation received from the
9261 device
9262
9263 pUserData: user data will be passed back with the
9264 callback
9265
9266 @see WDI_PostAssocReq
9267 @return Result of the function call
9268*/
9269WDI_Status
9270WDI_EnterBmpsReq
9271(
9272 WDI_EnterBmpsReqParamsType *pwdiEnterBmpsReqParams,
9273 WDI_EnterBmpsRspCb wdiEnterBmpsRspCb,
9274 void* pUserData
9275);
9276
9277/**
9278 @brief WDI_ExitBmpsReq will be called when the upper MAC to
9279 request the device to get out of BMPS power state. Upon
9280 the call of this API the WLAN DAL will pack and send a
9281 HAL Exit BMPS request message to the lower RIVA
9282 sub-system if DAL is in state STARTED.
9283
9284 In state BUSY this request will be queued. Request won't
9285 be allowed in any other state.
9286
9287 WDI_PostAssocReq must have been called.
9288
9289 @param pwdiExitBmpsReqParams: the Exit BMPS parameters as
9290 specified by the Device Interface
9291
9292 wdiExitBmpsRspCb: callback for passing back the response
9293 of the Exit BMPS operation received from the device
9294
9295 pUserData: user data will be passed back with the
9296 callback
9297
9298 @see WDI_PostAssocReq
9299 @return Result of the function call
9300*/
9301WDI_Status
9302WDI_ExitBmpsReq
9303(
9304 WDI_ExitBmpsReqParamsType *pwdiExitBmpsReqParams,
9305 WDI_ExitBmpsRspCb wdiExitBmpsRspCb,
9306 void* pUserData
9307);
9308
9309/**
9310 @brief WDI_EnterUapsdReq will be called when the upper MAC to
9311 request the device to get into UAPSD power state. Upon
9312 the call of this API the WLAN DAL will pack and send a
9313 HAL Enter UAPSD request message to the lower RIVA
9314 sub-system if DAL is in state STARTED.
9315
9316 In state BUSY this request will be queued. Request won't
9317 be allowed in any other state.
9318
9319 WDI_PostAssocReq must have been called.
9320 WDI_SetUapsdAcParamsReq must have been called.
9321
9322 @param pwdiEnterUapsdReqParams: the Enter UAPSD parameters as
9323 specified by the Device Interface
9324
9325 wdiEnterUapsdRspCb: callback for passing back the
9326 response of the Enter UAPSD operation received from the
9327 device
9328
9329 pUserData: user data will be passed back with the
9330 callback
9331
9332 @see WDI_PostAssocReq, WDI_SetUapsdAcParamsReq
9333 @return Result of the function call
9334*/
9335WDI_Status
9336WDI_EnterUapsdReq
9337(
9338 WDI_EnterUapsdReqParamsType *pwdiEnterUapsdReqParams,
9339 WDI_EnterUapsdRspCb wdiEnterUapsdRspCb,
9340 void* pUserData
9341);
9342
9343/**
9344 @brief WDI_ExitUapsdReq will be called when the upper MAC to
9345 request the device to get out of UAPSD power state. Upon
9346 the call of this API the WLAN DAL will send a HAL Exit
9347 UAPSD request message to the lower RIVA sub-system if
9348 DAL is in state STARTED.
9349
9350 In state BUSY this request will be queued. Request won't
9351 be allowed in any other state.
9352
9353 WDI_PostAssocReq must have been called.
9354
9355 @param wdiExitUapsdRspCb: callback for passing back the
9356 response of the Exit UAPSD operation received from the
9357 device
9358
9359 pUserData: user data will be passed back with the
9360 callback
9361
9362 @see WDI_PostAssocReq
9363 @return Result of the function call
9364*/
9365WDI_Status
9366WDI_ExitUapsdReq
9367(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07009368 WDI_ExitUapsdReqParamsType *pwdiExitUapsdReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009369 WDI_ExitUapsdRspCb wdiExitUapsdRspCb,
9370 void* pUserData
9371);
9372
9373/**
9374 @brief WDI_UpdateUapsdParamsReq will be called when the upper
9375 MAC wants to set the UAPSD related configurations
9376 of an associated STA (while acting as an AP) to the WLAN
9377 Device. Upon the call of this API the WLAN DAL will pack
9378 and send a HAL Update UAPSD params request message to
9379 the lower RIVA sub-system if DAL is in state STARTED.
9380
9381 In state BUSY this request will be queued. Request won't
9382 be allowed in any other state.
9383
9384 WDI_ConfigBSSReq must have been called.
9385
9386 @param pwdiUpdateUapsdReqParams: the UAPSD parameters
9387 as specified by the Device Interface
9388
9389 wdiUpdateUapsdParamsCb: callback for passing back the
9390 response of the update UAPSD params operation received
9391 from the device
9392
9393 pUserData: user data will be passed back with the
9394 callback
9395
9396 @see WDI_ConfigBSSReq
9397 @return Result of the function call
9398*/
9399WDI_Status
9400WDI_UpdateUapsdParamsReq
9401(
9402 WDI_UpdateUapsdReqParamsType *pwdiUpdateUapsdReqParams,
9403 WDI_UpdateUapsdParamsCb wdiUpdateUapsdParamsCb,
9404 void* pUserData
9405);
9406
9407/**
9408 @brief WDI_SetUapsdAcParamsReq will be called when the upper
9409 MAC wants to set the UAPSD related configurations before
9410 requesting for enter UAPSD power state to the WLAN
9411 Device. Upon the call of this API the WLAN DAL will pack
9412 and send a HAL Set UAPSD params request message to
9413 the lower RIVA sub-system if DAL is in state STARTED.
9414
9415 In state BUSY this request will be queued. Request won't
9416 be allowed in any other state.
9417
9418 WDI_PostAssocReq must have been called.
9419
9420 @param pwdiUapsdInfo: the UAPSD parameters as specified by
9421 the Device Interface
9422
9423 wdiSetUapsdAcParamsCb: callback for passing back the
9424 response of the set UAPSD params operation received from
9425 the device
9426
9427 pUserData: user data will be passed back with the
9428 callback
9429
9430 @see WDI_PostAssocReq
9431 @return Result of the function call
9432*/
9433WDI_Status
9434WDI_SetUapsdAcParamsReq
9435(
9436 WDI_SetUapsdAcParamsReqParamsType* pwdiPowerSaveCfg,
9437 WDI_SetUapsdAcParamsCb wdiSetUapsdAcParamsCb,
9438 void* pUserData
9439);
Siddharth Bhal64246172015-02-27 01:04:37 +05309440/**
9441 @brief WDI_GetFrameLogReq will be called when the upper
9442 MAC wants to initialize frame logging. Upon the call of
9443 this API the WLAN DAL will pack and send a HAL
9444 Frame logging init request message to
9445 the lower RIVA sub-system.
9446
9447 In state BUSY this request will be queued. Request won't
9448 be allowed in any other state.
9449
9450
9451 @param pwdiGetFrameLogReqInfo: the Frame Logging params
9452 as specified by the Device Interface
9453
9454 wdiGetFrameLogReqCb: callback for passing back the
9455 response of the frame logging init operation received
9456 from the device
9457
9458 pUserData: user data will be passed back with the
9459 callback
9460
9461 @return Result of the function call
9462*/
9463WDI_Status
9464WDI_GetFrameLogReq
9465(
9466 WDI_GetFrameLogReqInfoType *pwdiGetFrameLogReqInfo,
9467 WDI_GetFrameLogRspCb wdiGetFrameLogReqCb,
9468 void* pUserData
9469);
Jeff Johnson295189b2012-06-20 16:38:30 -07009470
9471/**
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05309472 @brief WDI_MgmtLoggingInitReq will be called when the upper
9473 MAC wants to initialize frame logging. Upon the call of
9474 this API the WLAN DAL will pack and send a HAL
9475 Frame logging init request message to
9476 the lower RIVA sub-system.
9477
9478 In state BUSY this request will be queued. Request won't
9479 be allowed in any other state.
9480
9481
9482 @param pwdiMgmtLoggingInitReqParams: the Frame Logging params
9483 as specified by the Device Interface
9484
9485 wdiMgmtLoggingInitReqCb: callback for passing back the
9486 response of the frame logging init operation received
9487 from the device
9488
9489 pUserData: user data will be passed back with the
9490 callback
9491
9492 @return Result of the function call
9493*/
9494WDI_Status
9495WDI_MgmtLoggingInitReq
9496(
9497 WDI_MgmtLoggingInitReqInfoType *pwdiMgmtLoggingInitReqInfo,
9498 WDI_MgmtLoggingInitRspCb wdiMgmtLoggingInitReqCb,
9499 void* pUserData
9500);
9501
9502/**
Jeff Johnson295189b2012-06-20 16:38:30 -07009503 @brief WDI_ConfigureRxpFilterReq will be called when the upper
9504 MAC wants to set/reset the RXP filters for received pkts
9505 (MC, BC etc.). Upon the call of this API the WLAN DAL will pack
9506 and send a HAL configure RXP filter request message to
9507 the lower RIVA sub-system.
9508
9509 In state BUSY this request will be queued. Request won't
9510 be allowed in any other state.
9511
9512
9513 @param pwdiConfigureRxpFilterReqParams: the RXP
9514 filter as specified by the Device
9515 Interface
9516
9517 wdiConfigureRxpFilterCb: callback for passing back the
9518 response of the configure RXP filter operation received
9519 from the device
9520
9521 pUserData: user data will be passed back with the
9522 callback
9523
9524 @return Result of the function call
9525*/
9526WDI_Status
9527WDI_ConfigureRxpFilterReq
9528(
9529 WDI_ConfigureRxpFilterReqParamsType *pwdiConfigureRxpFilterReqParams,
9530 WDI_ConfigureRxpFilterCb wdiConfigureRxpFilterCb,
9531 void* pUserData
9532);
9533
9534/**
9535 @brief WDI_SetBeaconFilterReq will be called when the upper MAC
9536 wants to set the beacon filters while in power save.
9537 Upon the call of this API the WLAN DAL will pack and
9538 send a Beacon filter request message to the
9539 lower RIVA sub-system.
9540
9541 In state BUSY this request will be queued. Request won't
9542 be allowed in any other state.
9543
9544
9545 @param pwdiBeaconFilterReqParams: the beacon
9546 filter as specified by the Device
9547 Interface
9548
9549 wdiBeaconFilterCb: callback for passing back the
9550 response of the set beacon filter operation received
9551 from the device
9552
9553 pUserData: user data will be passed back with the
9554 callback
9555
9556 @return Result of the function call
9557*/
9558WDI_Status
9559WDI_SetBeaconFilterReq
9560(
9561 WDI_BeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
9562 WDI_SetBeaconFilterCb wdiBeaconFilterCb,
9563 void* pUserData
9564);
9565
9566/**
9567 @brief WDI_RemBeaconFilterReq will be called when the upper MAC
9568 wants to remove the beacon filter for perticular IE
9569 while in power save. Upon the call of this API the WLAN
9570 DAL will pack and send a remove Beacon filter request
9571 message to the lower RIVA sub-system.
9572
9573 In state BUSY this request will be queued. Request won't
9574 be allowed in any other state.
9575
9576
9577 @param pwdiBeaconFilterReqParams: the beacon
9578 filter as specified by the Device
9579 Interface
9580
9581 wdiBeaconFilterCb: callback for passing back the
9582 response of the remove beacon filter operation received
9583 from the device
9584
9585 pUserData: user data will be passed back with the
9586 callback
9587
9588 @return Result of the function call
9589*/
9590WDI_Status
9591WDI_RemBeaconFilterReq
9592(
9593 WDI_RemBeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
9594 WDI_RemBeaconFilterCb wdiBeaconFilterCb,
9595 void* pUserData
9596);
9597
9598/**
9599 @brief WDI_SetRSSIThresholdsReq will be called when the upper
9600 MAC wants to set the RSSI thresholds related
9601 configurations while in power save. Upon the call of
9602 this API the WLAN DAL will pack and send a HAL Set RSSI
9603 thresholds request message to the lower RIVA
9604 sub-system if DAL is in state STARTED.
9605
9606 In state BUSY this request will be queued. Request won't
9607 be allowed in any other state.
9608
9609 WDI_PostAssocReq must have been called.
9610
9611 @param pwdiUapsdInfo: the UAPSD parameters as specified by
9612 the Device Interface
9613
9614 wdiSetUapsdAcParamsCb: callback for passing back the
9615 response of the set UAPSD params operation received from
9616 the device
9617
9618 pUserData: user data will be passed back with the
9619 callback
9620
9621 @see WDI_PostAssocReq
9622 @return Result of the function call
9623*/
9624WDI_Status
9625WDI_SetRSSIThresholdsReq
9626(
9627 WDI_SetRSSIThresholdsReqParamsType* pwdiRSSIThresholdsParams,
9628 WDI_SetRSSIThresholdsCb wdiSetRSSIThresholdsCb,
9629 void* pUserData
9630);
9631
9632/**
9633 @brief WDI_HostOffloadReq will be called when the upper MAC
9634 wants to set the filter to minimize unnecessary host
9635 wakeup due to broadcast traffic while in power save.
9636 Upon the call of this API the WLAN DAL will pack and
9637 send a HAL host offload request message to the
9638 lower RIVA sub-system if DAL is in state STARTED.
9639
9640 In state BUSY this request will be queued. Request won't
9641 be allowed in any other state.
9642
9643 WDI_PostAssocReq must have been called.
9644
9645 @param pwdiHostOffloadParams: the host offload as specified
9646 by the Device Interface
9647
9648 wdiHostOffloadCb: callback for passing back the response
9649 of the host offload operation received from the
9650 device
9651
9652 pUserData: user data will be passed back with the
9653 callback
9654
9655 @see WDI_PostAssocReq
9656 @return Result of the function call
9657*/
9658WDI_Status
9659WDI_HostOffloadReq
9660(
9661 WDI_HostOffloadReqParamsType* pwdiHostOffloadParams,
9662 WDI_HostOffloadCb wdiHostOffloadCb,
9663 void* pUserData
9664);
9665
9666/**
9667 @brief WDI_KeepAliveReq will be called when the upper MAC
9668 wants to set the filter to send NULL or unsolicited ARP responses
9669 and minimize unnecessary host wakeups due to while in power save.
9670 Upon the call of this API the WLAN DAL will pack and
9671 send a HAL Keep Alive request message to the
9672 lower RIVA sub-system if DAL is in state STARTED.
9673
9674 In state BUSY this request will be queued. Request won't
9675 be allowed in any other state.
9676
9677 WDI_PostAssocReq must have been called.
9678
9679 @param pwdiKeepAliveParams: the Keep Alive as specified
9680 by the Device Interface
9681
9682 wdiKeepAliveCb: callback for passing back the response
9683 of the Keep Alive operation received from the
9684 device
9685
9686 pUserData: user data will be passed back with the
9687 callback
9688
9689 @see WDI_PostAssocReq
9690 @return Result of the function call
9691*/
9692WDI_Status
9693WDI_KeepAliveReq
9694(
9695 WDI_KeepAliveReqParamsType* pwdiKeepAliveParams,
9696 WDI_KeepAliveCb wdiKeepAliveCb,
9697 void* pUserData
9698);
9699
9700/**
9701 @brief WDI_WowlAddBcPtrnReq will be called when the upper MAC
9702 wants to set the Wowl Bcast ptrn to minimize unnecessary
9703 host wakeup due to broadcast traffic while in power
9704 save. Upon the call of this API the WLAN DAL will pack
9705 and send a HAL Wowl Bcast ptrn request message to the
9706 lower RIVA sub-system if DAL is in state STARTED.
9707
9708 In state BUSY this request will be queued. Request won't
9709 be allowed in any other state.
9710
9711 WDI_PostAssocReq must have been called.
9712
9713 @param pwdiWowlAddBcPtrnParams: the Wowl bcast ptrn as
9714 specified by the Device Interface
9715
9716 wdiWowlAddBcPtrnCb: callback for passing back the
9717 response of the add Wowl bcast ptrn operation received
9718 from the device
9719
9720 pUserData: user data will be passed back with the
9721 callback
9722
9723 @see WDI_PostAssocReq
9724 @return Result of the function call
9725*/
9726WDI_Status
9727WDI_WowlAddBcPtrnReq
9728(
9729 WDI_WowlAddBcPtrnReqParamsType* pwdiWowlAddBcPtrnParams,
9730 WDI_WowlAddBcPtrnCb wdiWowlAddBcPtrnCb,
9731 void* pUserData
9732);
9733
9734/**
9735 @brief WDI_WowlDelBcPtrnReq will be called when the upper MAC
9736 wants to clear the Wowl Bcast ptrn. Upon the call of
9737 this API the WLAN DAL will pack and send a HAL delete
9738 Wowl Bcast ptrn request message to the lower RIVA
9739 sub-system if DAL is in state STARTED.
9740
9741 In state BUSY this request will be queued. Request won't
9742 be allowed in any other state.
9743
9744 WDI_WowlAddBcPtrnReq must have been called.
9745
9746 @param pwdiWowlDelBcPtrnParams: the Wowl bcast ptrn as
9747 specified by the Device Interface
9748
9749 wdiWowlDelBcPtrnCb: callback for passing back the
9750 response of the del Wowl bcast ptrn operation received
9751 from the device
9752
9753 pUserData: user data will be passed back with the
9754 callback
9755
9756 @see WDI_WowlAddBcPtrnReq
9757 @return Result of the function call
9758*/
9759WDI_Status
9760WDI_WowlDelBcPtrnReq
9761(
9762 WDI_WowlDelBcPtrnReqParamsType* pwdiWowlDelBcPtrnParams,
9763 WDI_WowlDelBcPtrnCb wdiWowlDelBcPtrnCb,
9764 void* pUserData
9765);
9766
9767/**
9768 @brief WDI_WowlEnterReq will be called when the upper MAC
9769 wants to enter the Wowl state to minimize unnecessary
9770 host wakeup while in power save. Upon the call of this
9771 API the WLAN DAL will pack and send a HAL Wowl enter
9772 request message to the lower RIVA sub-system if DAL is
9773 in state STARTED.
9774
9775 In state BUSY this request will be queued. Request won't
9776 be allowed in any other state.
9777
9778 WDI_PostAssocReq must have been called.
9779
9780 @param pwdiWowlEnterReqParams: the Wowl enter info as
9781 specified by the Device Interface
9782
9783 wdiWowlEnterReqCb: callback for passing back the
9784 response of the enter Wowl operation received from the
9785 device
9786
9787 pUserData: user data will be passed back with the
9788 callback
9789
9790 @see WDI_PostAssocReq
9791 @return Result of the function call
9792*/
9793WDI_Status
9794WDI_WowlEnterReq
9795(
9796 WDI_WowlEnterReqParamsType* pwdiWowlEnterParams,
9797 WDI_WowlEnterReqCb wdiWowlEnterCb,
9798 void* pUserData
9799);
9800
9801/**
9802 @brief WDI_WowlExitReq will be called when the upper MAC
9803 wants to exit the Wowl state. Upon the call of this API
9804 the WLAN DAL will pack and send a HAL Wowl exit request
9805 message to the lower RIVA sub-system if DAL is in state
9806 STARTED.
9807
9808 In state BUSY this request will be queued. Request won't
9809 be allowed in any other state.
9810
9811 WDI_WowlEnterReq must have been called.
9812
9813 @param pwdiWowlExitReqParams: the Wowl exit info as
9814 specified by the Device Interface
9815
9816 wdiWowlExitReqCb: callback for passing back the response
9817 of the exit Wowl operation received from the device
9818
9819 pUserData: user data will be passed back with the
9820 callback
9821
9822 @see WDI_WowlEnterReq
9823 @return Result of the function call
9824*/
9825WDI_Status
9826WDI_WowlExitReq
9827(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07009828 WDI_WowlExitReqParamsType* pwdiWowlExitParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009829 WDI_WowlExitReqCb wdiWowlExitCb,
9830 void* pUserData
9831);
9832
9833/**
9834 @brief WDI_ConfigureAppsCpuWakeupStateReq will be called when
9835 the upper MAC wants to dynamically adjusts the listen
9836 interval based on the WLAN/MSM activity. Upon the call
9837 of this API the WLAN DAL will pack and send a HAL
9838 configure Apps Cpu Wakeup State request message to the
9839 lower RIVA sub-system.
9840
9841 In state BUSY this request will be queued. Request won't
9842 be allowed in any other state.
9843
9844
9845 @param pwdiConfigureAppsCpuWakeupStateReqParams: the
9846 Apps Cpu Wakeup State as specified by the
9847 Device Interface
9848
9849 wdiConfigureAppsCpuWakeupStateCb: callback for passing
9850 back the response of the configure Apps Cpu Wakeup State
9851 operation received from the device
9852
9853 pUserData: user data will be passed back with the
9854 callback
9855
9856 @return Result of the function call
9857*/
9858WDI_Status
9859WDI_ConfigureAppsCpuWakeupStateReq
9860(
9861 WDI_ConfigureAppsCpuWakeupStateReqParamsType *pwdiConfigureAppsCpuWakeupStateReqParams,
9862 WDI_ConfigureAppsCpuWakeupStateCb wdiConfigureAppsCpuWakeupStateCb,
9863 void* pUserData
9864);
9865/**
9866 @brief WDI_FlushAcReq will be called when the upper MAC wants
9867 to to perform a flush operation on a given AC. Upon the
9868 call of this API the WLAN DAL will pack and send a HAL
9869 Flush AC request message to the lower RIVA sub-system if
9870 DAL is in state STARTED.
9871
9872 In state BUSY this request will be queued. Request won't
9873 be allowed in any other state.
9874
9875
9876 @param pwdiFlushAcReqParams: the Flush AC parameters as
9877 specified by the Device Interface
9878
9879 wdiFlushAcRspCb: callback for passing back the response
9880 of the Flush AC operation received from the device
9881
9882 pUserData: user data will be passed back with the
9883 callback
9884
9885 @return Result of the function call
9886*/
9887WDI_Status
9888WDI_FlushAcReq
9889(
9890 WDI_FlushAcReqParamsType* pwdiFlushAcReqParams,
9891 WDI_FlushAcRspCb wdiFlushAcRspCb,
9892 void* pUserData
9893);
9894
9895/**
9896 @brief WDI_BtAmpEventReq will be called when the upper MAC
9897 wants to notify the lower mac on a BT AMP event. This is
9898 to inform BTC-SLM that some BT AMP event occurred. Upon
9899 the call of this API the WLAN DAL will pack and send a
9900 HAL BT AMP event request message to the lower RIVA
9901 sub-system if DAL is in state STARTED.
9902
9903 In state BUSY this request will be queued. Request won't
9904 be allowed in any other state.
9905
9906
9907 @param wdiBtAmpEventReqParams: the BT AMP event parameters as
9908 specified by the Device Interface
9909
9910 wdiBtAmpEventRspCb: callback for passing back the
9911 response of the BT AMP event operation received from the
9912 device
9913
9914 pUserData: user data will be passed back with the
9915 callback
9916
9917 @return Result of the function call
9918*/
9919WDI_Status
9920WDI_BtAmpEventReq
9921(
9922 WDI_BtAmpEventParamsType* pwdiBtAmpEventReqParams,
9923 WDI_BtAmpEventRspCb wdiBtAmpEventRspCb,
9924 void* pUserData
9925);
9926
Jeff Johnsone7245742012-09-05 17:12:55 -07009927#ifdef FEATURE_OEM_DATA_SUPPORT
9928/**
9929 @brief WDI_Start oem data Req will be called when the upper MAC
9930 wants to notify the lower mac on a oem data Req event.Upon
9931 the call of this API the WLAN DAL will pack and send a
9932 HAL OEM Data Req event request message to the lower RIVA
9933 sub-system if DAL is in state STARTED.
9934
9935 In state BUSY this request will be queued. Request won't
9936 be allowed in any other state.
9937
9938
9939 @param pWdiOemDataReqParams: the oem data req parameters as
9940 specified by the Device Interface
9941
9942 wdiStartOemDataRspCb: callback for passing back the
9943 response of the Oem Data Req received from the
9944 device
9945
9946 pUserData: user data will be passed back with the
9947 callback
9948
9949 @return Result of the function call
9950*/
9951WDI_Status
9952WDI_StartOemDataReq
9953(
9954 WDI_oemDataReqParamsType* pWdiOemDataReqParams,
9955 WDI_oemDataRspCb wdiOemDataRspCb,
9956 void* pUserData
9957);
9958#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07009959
9960/*========================================================================
9961
9962 CONTROL APIs
9963
9964==========================================================================*/
9965/**
9966 @brief WDI_SwitchChReq will be called when the upper MAC wants
9967 the WLAN HW to change the current channel of operation.
9968 Upon the call of this API the WLAN DAL will pack and
9969 send a HAL Start request message to the lower RIVA
9970 sub-system if DAL is in state STARTED.
9971
9972 In state BUSY this request will be queued. Request won't
9973 be allowed in any other state.
9974
9975 WDI_Start must have been called.
9976
9977 @param wdiSwitchChReqParams: the switch ch parameters as
9978 specified by the Device Interface
9979
9980 wdiSwitchChRspCb: callback for passing back the response
9981 of the switch ch operation received from the device
9982
9983 pUserData: user data will be passed back with the
9984 callback
9985
9986 @see WDI_Start
9987 @return Result of the function call
9988*/
9989WDI_Status
9990WDI_SwitchChReq
9991(
9992 WDI_SwitchChReqParamsType* pwdiSwitchChReqParams,
9993 WDI_SwitchChRspCb wdiSwitchChRspCb,
9994 void* pUserData
9995);
9996
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08009997/**
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08009998 @brief WDI_SwitchChReq_V1 is similar to WDI_SwitchChReq except
9999 it also send type source for the channel change.
10000 WDI_Start must have been called.
10001
10002 @param wdiSwitchChReqParams: the switch ch parameters as
10003 specified by the Device Interface
10004
10005 wdiSwitchChRspCb: callback for passing back the response
10006 of the switch ch operation received from the device
10007
10008 pUserData: user data will be passed back with the
10009 callback
10010
10011 @see WDI_Start
10012 @return Result of the function call
10013*/
10014
10015WDI_Status
10016WDI_SwitchChReq_V1
10017(
10018 WDI_SwitchChReqParamsType_V1* pwdiSwitchChReqParams,
10019 WDI_SwitchChRspCb_V1 wdiSwitchChRspCb,
10020 void* pUserData
10021);
10022
10023/**
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -080010024 @brief WDI_UpdateChannelReq will be called when the upper MAC
10025 wants to update the channel list on change in country code.
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -080010026 In state BUSY this request will be queued. Request won't
10027 be allowed in any other state.
10028
10029 WDI_UpdateChannelReq must have been called.
10030
10031 @param wdiUpdateChannelReqParams: the updated channel parameters
10032 as specified by the Device Interface
10033
10034 wdiUpdateChannelRspCb: callback for passing back the
10035 response of the update channel operation received from
10036 the device
10037
10038 pUserData: user data will be passed back with the
10039 callback
10040
10041 @return Result of the function call
10042*/
10043WDI_Status
10044WDI_UpdateChannelReq
10045(
10046 WDI_UpdateChReqParamsType *pwdiUpdateChannelReqParams,
10047 WDI_UpdateChannelRspCb wdiUpdateChannelRspCb,
10048 void* pUserData
10049);
Jeff Johnson295189b2012-06-20 16:38:30 -070010050
10051/**
10052 @brief WDI_ConfigSTAReq will be called when the upper MAC
10053 wishes to add or update a STA in HW. Upon the call of
10054 this API the WLAN DAL will pack and send a HAL Start
10055 message request message to the lower RIVA sub-system if
10056 DAL is in state STARTED.
10057
10058 In state BUSY this request will be queued. Request won't
10059 be allowed in any other state.
10060
10061 WDI_Start must have been called.
10062
10063 @param wdiConfigSTAReqParams: the config STA parameters as
10064 specified by the Device Interface
10065
10066 wdiConfigSTARspCb: callback for passing back the
10067 response of the config STA operation received from the
10068 device
10069
10070 pUserData: user data will be passed back with the
10071 callback
10072
10073 @see WDI_Start
10074 @return Result of the function call
10075*/
10076WDI_Status
10077WDI_ConfigSTAReq
10078(
10079 WDI_ConfigSTAReqParamsType* pwdiConfigSTAReqParams,
10080 WDI_ConfigSTARspCb wdiConfigSTARspCb,
10081 void* pUserData
10082);
10083
10084/**
10085 @brief WDI_SetLinkStateReq will be called when the upper MAC
10086 wants to change the state of an ongoing link. Upon the
10087 call of this API the WLAN DAL will pack and send a HAL
10088 Start message request message to the lower RIVA
10089 sub-system if DAL is in state STARTED.
10090
10091 In state BUSY this request will be queued. Request won't
10092 be allowed in any other state.
10093
10094 WDI_JoinReq must have been called.
10095
10096 @param wdiSetLinkStateReqParams: the set link state parameters
10097 as specified by the Device Interface
10098
10099 wdiSetLinkStateRspCb: callback for passing back the
10100 response of the set link state operation received from
10101 the device
10102
10103 pUserData: user data will be passed back with the
10104 callback
10105
10106 @see WDI_JoinStartReq
10107 @return Result of the function call
10108*/
10109WDI_Status
10110WDI_SetLinkStateReq
10111(
10112 WDI_SetLinkReqParamsType* pwdiSetLinkStateReqParams,
10113 WDI_SetLinkStateRspCb wdiSetLinkStateRspCb,
10114 void* pUserData
10115);
10116
10117
10118/**
10119 @brief WDI_GetStatsReq will be called when the upper MAC wants
10120 to get statistics (MIB counters) from the device. Upon
10121 the call of this API the WLAN DAL will pack and send a
10122 HAL Start request message to the lower RIVA sub-system
10123 if DAL is in state STARTED.
10124
10125 In state BUSY this request will be queued. Request won't
10126 be allowed in any other state.
10127
10128 WDI_Start must have been called.
10129
10130 @param wdiGetStatsReqParams: the stats parameters to get as
10131 specified by the Device Interface
10132
10133 wdiGetStatsRspCb: callback for passing back the response
10134 of the get stats operation received from the device
10135
10136 pUserData: user data will be passed back with the
10137 callback
10138
10139 @see WDI_Start
10140 @return Result of the function call
10141*/
10142WDI_Status
10143WDI_GetStatsReq
10144(
10145 WDI_GetStatsReqParamsType* pwdiGetStatsReqParams,
10146 WDI_GetStatsRspCb wdiGetStatsRspCb,
10147 void* pUserData
10148);
10149
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -080010150#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -080010151/**
10152 @brief WDI_GetRoamRssiReq will be called when the upper MAC wants
10153 to get roam rssi from the device. Upon
10154 the call of this API the WLAN DAL will pack and send a
10155 HAL Start request message to the lower RIVA sub-system
10156 if DAL is in state STARTED.
10157
10158 In state BUSY this request will be queued. Request won't
10159 be allowed in any other state.
10160
10161 WDI_Start must have been called.
10162
10163 @param wdiGetRoamRssiReqParams: the stats parameters to get as
10164 specified by the Device Interface
10165
10166 wdiGetRoamRssispCb: callback for passing back the response
10167 of the get stats operation received from the device
10168
10169 pUserData: user data will be passed back with the
10170 callback
10171
10172 @see WDI_Start
10173 @return Result of the function call
10174*/
10175WDI_Status
10176WDI_GetRoamRssiReq
10177(
10178 WDI_GetRoamRssiReqParamsType* pwdiGetRoamRssiReqParams,
10179 WDI_GetRoamRssiRspCb wdiGetRoamRssiRspCb,
10180 void* pUserData
10181);
10182#endif
Jeff Johnson295189b2012-06-20 16:38:30 -070010183
10184/**
10185 @brief WDI_UpdateCfgReq will be called when the upper MAC when
10186 it wishes to change the configuration of the WLAN
10187 Device. Upon the call of this API the WLAN DAL will pack
10188 and send a HAL Update CFG request message to the lower
10189 RIVA sub-system if DAL is in state STARTED.
10190
10191 In state BUSY this request will be queued. Request won't
10192 be allowed in any other state.
10193
10194 WDI_Start must have been called.
10195
10196 @param wdiUpdateCfgReqParams: the update cfg parameters as
10197 specified by the Device Interface
10198
10199 wdiUpdateCfgsRspCb: callback for passing back the
10200 response of the update cfg operation received from the
10201 device
10202
10203 pUserData: user data will be passed back with the
10204 callback
10205
10206 @see WDI_Start
10207 @return Result of the function call
10208*/
10209WDI_Status
10210WDI_UpdateCfgReq
10211(
10212 WDI_UpdateCfgReqParamsType* pwdiUpdateCfgReqParams,
10213 WDI_UpdateCfgRspCb wdiUpdateCfgsRspCb,
10214 void* pUserData
10215);
10216
10217/**
10218 @brief WDI_NvDownloadReq will be called by the UMAC to dowload the NV blob
10219 to the NV memory.
10220
10221 @param wdiNvDownloadReqParams: the NV Download parameters as specified by
10222 the Device Interface
10223
10224 wdiNvDownloadRspCb: callback for passing back the response of
10225 the NV Download operation received from the device
10226
10227 pUserData: user data will be passed back with the
10228 callback
10229
10230 @see WDI_PostAssocReq
10231 @return Result of the function call
10232*/
10233WDI_Status
10234WDI_NvDownloadReq
10235(
10236 WDI_NvDownloadReqParamsType* pwdiNvDownloadReqParams,
10237 WDI_NvDownloadRspCb wdiNvDownloadRspCb,
10238 void* pUserData
10239);
10240/**
10241 @brief WDI_AddBAReq will be called when the upper MAC has setup
10242 successfully a BA session and needs to notify the HW for
10243 the appropriate settings to take place. Upon the call of
10244 this API the WLAN DAL will pack and send a HAL Add BA
10245 request message to the lower RIVA sub-system if DAL is
10246 in state STARTED.
10247
10248 In state BUSY this request will be queued. Request won't
10249 be allowed in any other state.
10250
10251 WDI_PostAssocReq must have been called.
10252
10253 @param wdiAddBAReqParams: the add BA parameters as specified by
10254 the Device Interface
10255
10256 wdiAddBARspCb: callback for passing back the response of
10257 the add BA operation received from the device
10258
10259 pUserData: user data will be passed back with the
10260 callback
10261
10262 @see WDI_PostAssocReq
10263 @return Result of the function call
10264*/
10265WDI_Status
10266WDI_AddBAReq
10267(
10268 WDI_AddBAReqParamsType* pwdiAddBAReqParams,
10269 WDI_AddBARspCb wdiAddBARspCb,
10270 void* pUserData
10271);
10272
10273/**
10274 @brief WDI_TriggerBAReq will be called when the upper MAC has setup
10275 successfully a BA session and needs to notify the HW for
10276 the appropriate settings to take place. Upon the call of
10277 this API the WLAN DAL will pack and send a HAL Add BA
10278 request message to the lower RIVA sub-system if DAL is
10279 in state STARTED.
10280
10281 In state BUSY this request will be queued. Request won't
10282 be allowed in any other state.
10283
10284 WDI_PostAssocReq must have been called.
10285
10286 @param wdiAddBAReqParams: the add BA parameters as specified by
10287 the Device Interface
10288
10289 wdiAddBARspCb: callback for passing back the response of
10290 the add BA operation received from the device
10291
10292 pUserData: user data will be passed back with the
10293 callback
10294
10295 @see WDI_PostAssocReq
10296 @return Result of the function call
10297*/
10298WDI_Status
10299WDI_TriggerBAReq
10300(
10301 WDI_TriggerBAReqParamsType* pwdiTriggerBAReqParams,
10302 WDI_TriggerBARspCb wdiTriggerBARspCb,
10303 void* pUserData
10304);
10305
10306
10307/**
10308 @brief WDI_IsHwFrameTxTranslationCapable checks to see if HW
10309 frame xtl is enabled for a particular STA.
10310
10311 WDI_PostAssocReq must have been called.
10312
10313 @param uSTAIdx: STA index
10314
10315 @see WDI_PostAssocReq
10316 @return Result of the function call
10317*/
10318wpt_boolean WDI_IsHwFrameTxTranslationCapable
10319(
10320 wpt_uint8 uSTAIdx
10321);
10322
Katya Nigam6201c3e2014-05-27 17:51:42 +053010323
10324/**
10325 @brief WDI_IsSelfSTA - check if staid is self sta index
10326
10327 @param pWDICtx: pointer to the WLAN DAL context
10328 ucSTAIdx: station index
10329
10330 @return Result of the function call
10331*/
10332
10333wpt_boolean
10334WDI_IsSelfSTA
10335(
10336 void* pWDICtx,
10337 wpt_uint8 ucSTAIdx
10338);
10339
10340
Jeff Johnson295189b2012-06-20 16:38:30 -070010341#ifdef WLAN_FEATURE_VOWIFI_11R
10342/**
10343 @brief WDI_AggrAddTSReq will be called when the upper MAC to inform
10344 the device of a successful add TSpec negotiation for 11r. HW
10345 needs to receive the TSpec Info from the UMAC in order
10346 to configure properly the QoS data traffic. Upon the
10347 call of this API the WLAN DAL will pack and send a HAL
10348 Aggregated Add TS request message to the lower RIVA sub-system if
10349 DAL is in state STARTED.
10350
10351 In state BUSY this request will be queued. Request won't
10352 be allowed in any other state.
10353
10354 WDI_PostAssocReq must have been called.
10355
10356 @param wdiAggrAddTsReqParams: the add TS parameters as specified by
10357 the Device Interface
10358
10359 wdiAggrAddTsRspCb: callback for passing back the response of
10360 the add TS operation received from the device
10361
10362 pUserData: user data will be passed back with the
10363 callback
10364
10365 @see WDI_PostAssocReq
10366 @return Result of the function call
10367*/
10368WDI_Status
10369WDI_AggrAddTSReq
10370(
10371 WDI_AggrAddTSReqParamsType* pwdiAddTsReqParams,
10372 WDI_AggrAddTsRspCb wdiAggrAddTsRspCb,
10373 void* pUserData
10374);
10375#endif /* WLAN_FEATURE_VOWIFI_11R */
10376/**
10377 @brief WDI_STATableInit - Initializes the STA tables.
10378 Allocates the necesary memory.
10379
10380
10381 @param pWDICtx: pointer to the WLAN DAL context
10382
10383 @see
10384 @return Result of the function call
10385*/
10386
10387WDI_Status WDI_StubRunTest
10388(
10389 wpt_uint8 ucTestNo
10390);
10391
Jeff Johnson295189b2012-06-20 16:38:30 -070010392/**
10393 @brief WDI_FTMCommandReq -
10394 Route FTMRequest Command to HAL
10395
10396 @param ftmCommandReq: FTM request command body
10397 @param ftmCommandRspCb: Response CB
10398 @param pUserData: User data will be included with CB
10399
10400 @return Result of the function call
10401*/
10402WDI_Status WDI_FTMCommandReq
10403(
10404 WDI_FTMCommandReqType *ftmCommandReq,
10405 WDI_FTMCommandRspCb ftmCommandRspCb,
10406 void *pUserData
10407);
Jeff Johnson295189b2012-06-20 16:38:30 -070010408
10409/**
10410 @brief WDI_HostResumeReq will be called
10411
10412 In state BUSY this request will be queued. Request won't
10413 be allowed in any other state.
10414
10415
10416 @param pwdiResumeReqParams: as specified by
10417 the Device Interface
10418
10419 wdiResumeReqRspCb: callback for passing back the response of
10420 the Resume Req received from the device
10421
10422 pUserData: user data will be passed back with the
10423 callback
10424
10425 @see WDI_PostAssocReq
10426 @return Result of the function call
10427*/
10428WDI_Status
10429WDI_HostResumeReq
10430(
10431 WDI_ResumeParamsType* pwdiResumeReqParams,
10432 WDI_HostResumeEventRspCb wdiResumeReqRspCb,
10433 void* pUserData
10434);
10435
10436/**
10437 @brief WDI_GetAvailableResCount - Function to get the available resource
10438 for data and managemnt frames.
10439
10440 @param pContext: pointer to the WDI context
10441 @param wdiResPool: type of resource pool requesting
10442 @see
10443 @return Result of the function call
10444*/
10445
10446wpt_uint32 WDI_GetAvailableResCount
10447(
10448 void *pContext,
10449 WDI_ResPoolType wdiResPool
10450);
10451
10452/**
10453 @brief WDI_SetAddSTASelfReq will be called when the
10454 UMAC wanted to add self STA while opening any new session
10455 In state BUSY this request will be queued. Request won't
10456 be allowed in any other state.
10457
10458
10459 @param pwdiAddSTASelfParams: the add self sta parameters as
10460 specified by the Device Interface
10461
10462 pUserData: user data will be passed back with the
10463 callback
10464
10465 @see
10466 @return Result of the function call
10467*/
10468WDI_Status
10469WDI_AddSTASelfReq
10470(
10471 WDI_AddSTASelfReqParamsType* pwdiAddSTASelfReqParams,
10472 WDI_AddSTASelfParamsRspCb wdiAddSTASelfReqParamsRspCb,
10473 void* pUserData
10474);
10475
10476
10477/**
10478 @brief WDI_DelSTASelfReq will be called .
10479
10480 @param WDI_DelSTASelfReqParamsType
10481
10482 WDI_DelSTASelfRspCb: callback for passing back the
10483 response of the del sta self operation received from the
10484 device
10485
10486 pUserData: user data will be passed back with the
10487 callback
10488
10489 @see WDI_PostAssocReq
10490 @return Result of the function call
10491*/
10492WDI_Status
10493WDI_DelSTASelfReq
10494(
10495 WDI_DelSTASelfReqParamsType* pwdiDelStaSelfParams,
10496 WDI_DelSTASelfRspCb wdiDelStaSelfRspCb,
10497 void* pUserData
10498);
10499
10500/**
10501 @brief WDI_HostSuspendInd
10502
10503 Suspend Indication from the upper layer will be sent
10504 down to HAL
10505
10506 @param WDI_SuspendParamsType
10507
10508 @see
10509
10510 @return Status of the request
10511*/
10512WDI_Status
10513WDI_HostSuspendInd
10514(
10515 WDI_SuspendParamsType* pwdiSuspendIndParams
10516);
10517
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -080010518/**
10519 @brief WDI_TrafficStatsInd
10520
10521 Traffic Stats from the upper layer will be sent
10522 down to HAL
10523
10524 @param WDI_TrafficStatsIndType
10525
10526 @see
10527
10528 @return Status of the request
10529*/
10530WDI_Status
10531WDI_TrafficStatsInd
10532(
10533 WDI_TrafficStatsIndType *pWdiTrafficStatsIndParams
10534);
10535
Chet Lanctot186b5732013-03-18 10:26:30 -070010536#ifdef WLAN_FEATURE_11W
10537/**
10538 @brief WDI_ExcludeUnencryptedInd
10539 Register with HAL to receive/drop unencrypted frames
10540
10541 @param WDI_ExcludeUnencryptIndType
10542
10543 @see
10544
10545 @return Status of the request
10546*/
10547WDI_Status
10548WDI_ExcludeUnencryptedInd
10549(
10550 WDI_ExcludeUnencryptIndType *pWdiExcUnencParams
10551);
10552#endif
10553
Yue Mab9c86f42013-08-14 15:59:08 -070010554/**
10555 @brief WDI_AddPeriodicTxPtrnInd
10556
10557 @param WDI_AddPeriodicTxPtrnParamsType
10558
10559 @see
10560
10561 @return Status of the request
10562*/
10563WDI_Status
10564WDI_AddPeriodicTxPtrnInd
10565(
10566 WDI_AddPeriodicTxPtrnParamsType *addPeriodicTxPtrnParams
10567);
10568
10569/**
10570 @brief WDI_DelPeriodicTxPtrnInd
10571
10572 @param WDI_DelPeriodicTxPtrnParamsType
10573
10574 @see
10575
10576 @return Status of the request
10577*/
10578WDI_Status
10579WDI_DelPeriodicTxPtrnInd
10580(
10581 WDI_DelPeriodicTxPtrnParamsType *delPeriodicTxPtrnParams
10582);
10583
Jeff Johnson295189b2012-06-20 16:38:30 -070010584#ifdef FEATURE_WLAN_SCAN_PNO
10585/**
10586 @brief WDI_SetPreferredNetworkList
10587
10588 @param pwdiPNOScanReqParams: the Set PNO as specified
10589 by the Device Interface
10590
10591 wdiPNOScanCb: callback for passing back the response
10592 of the Set PNO operation received from the
10593 device
10594
10595 pUserData: user data will be passed back with the
10596 callback
10597
10598 @see WDI_PostAssocReq
10599 @return Result of the function call
10600*/
10601WDI_Status
10602WDI_SetPreferredNetworkReq
10603(
10604 WDI_PNOScanReqParamsType* pwdiPNOScanReqParams,
10605 WDI_PNOScanCb wdiPNOScanCb,
10606 void* pUserData
10607);
10608
10609/**
10610 @brief WDI_SetRssiFilterReq
10611
10612 @param pwdiRssiFilterReqParams: the Set RSSI Filter as
10613 specified by the Device Interface
10614
10615 wdiRssiFilterCb: callback for passing back the response
10616 of the Set RSSI Filter operation received from the
10617 device
10618
10619 pUserData: user data will be passed back with the
10620 callback
10621
10622 @see WDI_PostAssocReq
10623 @return Result of the function call
10624*/
10625WDI_Status
10626WDI_SetRssiFilterReq
10627(
10628 WDI_SetRssiFilterReqParamsType* pwdiRssiFilterReqParams,
10629 WDI_RssiFilterCb wdiRssiFilterCb,
10630 void* pUserData
10631);
10632
10633/**
10634 @brief WDI_UpdateScanParams
10635
10636 @param pwdiUpdateScanParamsInfoType: the Update Scan Params as specified
10637 by the Device Interface
10638
10639 wdiUpdateScanParamsCb: callback for passing back the response
10640 of the Set PNO operation received from the
10641 device
10642
10643 pUserData: user data will be passed back with the
10644 callback
10645
10646 @see WDI_PostAssocReq
10647 @return Result of the function call
10648*/
10649WDI_Status
10650WDI_UpdateScanParamsReq
10651(
10652 WDI_UpdateScanParamsInfoType* pwdiUpdateScanParamsInfoType,
10653 WDI_UpdateScanParamsCb wdiUpdateScanParamsCb,
10654 void* pUserData
10655);
10656#endif // FEATURE_WLAN_SCAN_PNO
10657
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010658#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
10659/**
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010660 @brief WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010661
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010662 @param pwdiRoamScanOffloadReqParams: Start Roam Candidate Lookup Req as specified
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010663 by the Device Interface
10664
10665 wdiRoamOffloadScanCb: callback for passing back the response
10666 of the Start Roam Candidate Lookup operation received from the
10667 device
10668
10669 pUserData: user data will be passed back with the
10670 callback
10671
10672 @return Result of the function call
10673*/
10674WDI_Status
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010675WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010676(
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010677 WDI_RoamScanOffloadReqParamsType *pwdiRoamScanOffloadReqParams,
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010678 WDI_RoamOffloadScanCb wdiRoamOffloadScancb,
10679 void* pUserData
10680);
10681#endif
10682
Jeff Johnson295189b2012-06-20 16:38:30 -070010683/**
10684 @brief WDI_SetTxPerTrackingReq will be called when the upper MAC
10685 wants to set the Tx Per Tracking configurations.
10686 Upon the call of this API the WLAN DAL will pack
10687 and send a HAL Set Tx Per Tracking request message to the
10688 lower RIVA sub-system if DAL is in state STARTED.
10689
10690 In state BUSY this request will be queued. Request won't
10691 be allowed in any other state.
10692
10693 @param wdiSetTxPerTrackingConf: the Set Tx PER Tracking configurations as
10694 specified by the Device Interface
10695
10696 wdiSetTxPerTrackingCb: callback for passing back the
10697 response of the set Tx PER Tracking configurations operation received
10698 from the device
10699
10700 pUserData: user data will be passed back with the
10701 callback
10702
10703 @return Result of the function call
10704*/
10705WDI_Status
10706WDI_SetTxPerTrackingReq
10707(
10708 WDI_SetTxPerTrackingReqParamsType* pwdiSetTxPerTrackingReqParams,
10709 WDI_SetTxPerTrackingRspCb pwdiSetTxPerTrackingRspCb,
10710 void* pUserData
10711);
10712
10713/**
10714 @brief WDI_SetTmLevelReq
10715 If HW Thermal condition changed, driver should react based on new
10716 HW thermal condition.
10717
10718 @param pwdiSetTmLevelReq: New thermal condition information
10719
10720 pwdiSetTmLevelRspCb: callback
10721
10722 usrData: user data will be passed back with the
10723 callback
10724
10725 @return Result of the function call
10726*/
10727WDI_Status
10728WDI_SetTmLevelReq
10729(
10730 WDI_SetTmLevelReqType *pwdiSetTmLevelReq,
10731 WDI_SetTmLevelCb pwdiSetTmLevelRspCb,
10732 void *usrData
10733);
10734
10735#ifdef WLAN_FEATURE_PACKET_FILTERING
10736/**
10737 @brief WDI_8023MulticastListReq
10738
10739 @param pwdiRcvFltPktSetMcListReqInfo: the Set 8023 Multicast
10740 List as specified by the Device Interface
10741
10742 wdi8023MulticastListCallback: callback for passing back
10743 the response of the Set 8023 Multicast List operation
10744 received from the device
10745
10746 pUserData: user data will be passed back with the
10747 callback
10748
10749 @see WDI_PostAssocReq
10750 @return Result of the function call
10751*/
10752WDI_Status
10753WDI_8023MulticastListReq
10754(
10755 WDI_RcvFltPktSetMcListReqParamsType* pwdiRcvFltPktSetMcListReqInfo,
10756 WDI_8023MulticastListCb wdi8023MulticastListCallback,
10757 void* pUserData
10758);
10759
10760/**
10761 @brief WDI_ReceiveFilterSetFilterReq
10762
10763 @param pwdiSetRcvPktFilterReqInfo: the Set Receive Filter as
10764 specified by the Device Interface
10765
10766 wdiReceiveFilterSetFilterReqCallback: callback for
10767 passing back the response of the Set Receive Filter
10768 operation received from the device
10769
10770 pUserData: user data will be passed back with the
10771 callback
10772
10773 @see WDI_PostAssocReq
10774 @return Result of the function call
10775*/
10776WDI_Status
10777WDI_ReceiveFilterSetFilterReq
10778(
10779 WDI_SetRcvPktFilterReqParamsType* pwdiSetRcvPktFilterReqInfo,
10780 WDI_ReceiveFilterSetFilterCb wdiReceiveFilterSetFilterReqCallback,
10781 void* pUserData
10782);
10783
10784/**
10785 @brief WDI_PCFilterMatchCountReq
10786
10787 @param pwdiRcvFltPktMatchCntReqInfo: get D0 PC Filter Match
10788 Count
10789
10790 wdiPCFilterMatchCountCallback: callback for passing back
10791 the response of the D0 PC Filter Match Count operation
10792 received from the device
10793
10794 pUserData: user data will be passed back with the
10795 callback
10796
10797 @see WDI_PostAssocReq
10798 @return Result of the function call
10799*/
10800WDI_Status
10801WDI_FilterMatchCountReq
10802(
10803 WDI_RcvFltPktMatchCntReqParamsType* pwdiRcvFltPktMatchCntReqInfo,
10804 WDI_FilterMatchCountCb wdiFilterMatchCountCallback,
10805 void* pUserData
10806);
10807
10808/**
10809 @brief WDI_ReceiveFilterClearFilterReq
10810
10811 @param pwdiRcvFltPktClearReqInfo: the Clear Filter as
10812 specified by the Device Interface
10813
10814 wdiReceiveFilterClearFilterCallback: callback for
10815 passing back the response of the Clear Filter
10816 operation received from the device
10817
10818 pUserData: user data will be passed back with the
10819 callback
10820
10821 @see WDI_PostAssocReq
10822 @return Result of the function call
10823*/
10824WDI_Status
10825WDI_ReceiveFilterClearFilterReq
10826(
10827 WDI_RcvFltPktClearReqParamsType* pwdiRcvFltPktClearReqInfo,
10828 WDI_ReceiveFilterClearFilterCb wdiReceiveFilterClearFilterCallback,
10829 void* pUserData
10830);
10831#endif // WLAN_FEATURE_PACKET_FILTERING
10832
10833/**
10834 @brief WDI_HALDumpCmdReq
10835 Post HAL DUMP Command Event
10836
10837 @param halDumpCmdReqParams: Hal Dump Command Body
10838 @param halDumpCmdRspCb: callback for passing back the
10839 response
10840 @param pUserData: Client Data
10841
10842 @see
10843 @return Result of the function call
10844*/
10845WDI_Status WDI_HALDumpCmdReq(
10846 WDI_HALDumpCmdReqParamsType *halDumpCmdReqParams,
10847 WDI_HALDumpCmdRspCb halDumpCmdRspCb,
10848 void *pUserData
10849);
10850
10851
10852/**
10853 @brief WDI_SetPowerParamsReq
10854
10855 @param pwdiPowerParamsReqParams: the Set Power Params as
10856 specified by the Device Interface
10857
10858 wdiPowerParamsCb: callback for passing back the response
10859 of the Set Power Params operation received from the
10860 device
10861
10862 pUserData: user data will be passed back with the
10863 callback
10864
10865 @return Result of the function call
10866*/
10867WDI_Status
10868WDI_SetPowerParamsReq
10869(
10870 WDI_SetPowerParamsReqParamsType* pwdiPowerParamsReqParams,
10871 WDI_SetPowerParamsCb wdiPowerParamsCb,
10872 void* pUserData
10873);
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +053010874/**
10875 @brief WDI_dhcpStartInd
10876 Forward the DHCP Start event
10877
10878 @param
10879
10880 wdiDHCPInd: device mode and MAC address is passed
10881
10882 @see
10883 @return Result of the function call
10884*/
10885
10886WDI_Status
10887WDI_dhcpStartInd
10888(
10889 WDI_DHCPInd *wdiDHCPInd
10890);
10891/**
10892 @brief WDI_dhcpStopReq
10893 Forward the DHCP Stop event
10894
10895 @param
10896
10897 wdiDHCPInd: device mode and MAC address is passed
10898
10899 @see
10900 @return Result of the function call
10901*/
10902
10903WDI_Status
10904WDI_dhcpStopInd
10905(
10906 WDI_DHCPInd *wdiDHCPInd
10907);
Jeff Johnson295189b2012-06-20 16:38:30 -070010908
Chittajit Mitraf5413a42013-10-18 14:20:08 -070010909/**
10910 @brief WDI_RateUpdateInd will be called when the upper MAC
10911 requests the device to update rates.
10912
10913 In state BUSY this request will be queued. Request won't
10914 be allowed in any other state.
10915
10916
10917 @param wdiRateUpdateIndParams
10918
10919
10920 @see WDI_Start
10921 @return Result of the function call
10922*/
10923WDI_Status
10924WDI_RateUpdateInd
10925(
10926 WDI_RateUpdateIndParams *wdiRateUpdateIndParams
10927);
10928
Jeff Johnson295189b2012-06-20 16:38:30 -070010929#ifdef WLAN_FEATURE_GTK_OFFLOAD
10930/**
10931 @brief WDI_GTKOffloadReq will be called when the upper MAC
10932 wants to set GTK Rekey Counter while in power save. Upon
10933 the call of this API the WLAN DAL will pack and send a
10934 HAL GTK offload request message to the lower RIVA
10935 sub-system if DAL is in state STARTED.
10936
10937 In state BUSY this request will be queued. Request won't
10938 be allowed in any other state.
10939
10940 WDI_PostAssocReq must have been called.
10941
10942 @param pwdiGtkOffloadParams: the GTK offload as specified
10943 by the Device Interface
10944
10945 wdiGtkOffloadCb: callback for passing back the response
10946 of the GTK offload operation received from the device
10947
10948 pUserData: user data will be passed back with the
10949 callback
10950
10951 @see WDI_PostAssocReq
10952 @return Result of the function call
10953*/
10954WDI_Status
10955WDI_GTKOffloadReq
10956(
10957 WDI_GtkOffloadReqMsg* pwdiGtkOffloadReqMsg,
10958 WDI_GtkOffloadCb wdiGtkOffloadCb,
10959 void* pUserData
10960);
10961
10962/**
10963 @brief WDI_GTKOffloadGetInfoReq will be called when the upper
10964 MAC wants to get GTK Rekey Counter while in power save.
10965 Upon the call of this API the WLAN DAL will pack and
10966 send a HAL GTK offload request message to the lower RIVA
10967 sub-system if DAL is in state STARTED.
10968
10969 In state BUSY this request will be queued. Request won't
10970 be allowed in any other state.
10971
10972 WDI_PostAssocReq must have been called.
10973
10974 @param pwdiGtkOffloadGetInfoReqMsg: the GTK Offload
10975 Information Message as specified by the
10976 Device Interface
10977
10978 wdiGtkOffloadGetInfoCb: callback for passing back the
10979 response of the GTK offload operation received from the
10980 device
10981
10982 pUserData: user data will be passed back with the
10983 callback
10984
10985 @see WDI_PostAssocReq
10986 @return Result of the function call
10987*/
10988WDI_Status
10989WDI_GTKOffloadGetInfoReq
10990(
10991 WDI_GtkOffloadGetInfoReqMsg* pwdiGtkOffloadGetInfoReqMsg,
10992 WDI_GtkOffloadGetInfoCb wdiGtkOffloadGetInfoCb,
10993 void* pUserData
10994);
10995#endif // WLAN_FEATURE_GTK_OFFLOAD
10996
10997/**
10998 @brief WDI_featureCapsExchangeReq
10999 Post feature capability bitmap exchange event.
11000 Host will send its own capability to FW in this req and
11001 expect FW to send its capability back as a bitmap in Response
11002
11003 @param
11004
11005 wdiFeatCapsExcRspCb: callback called on getting the response.
11006 It is kept to mantain similarity between WDI reqs and if needed, can
11007 be used in future. Currently, It is set to NULL
11008
11009 pUserData: user data will be passed back with the
11010 callback
11011
11012 @see
11013 @return Result of the function call
11014*/
11015WDI_Status
11016WDI_featureCapsExchangeReq
11017(
11018 WDI_featureCapsExchangeCb wdiFeatureCapsExchangeCb,
11019 void* pUserData
11020);
11021
11022/**
Yathish9f22e662012-12-10 14:21:35 -080011023 @brief Disable Active mode offload in Host
11024
11025 @param void
11026 @see
11027 @return void
11028*/
11029void
11030WDI_disableCapablityFeature(wpt_uint8 feature_index);
11031
11032
11033/**
Jeff Johnson295189b2012-06-20 16:38:30 -070011034 @brief WDI_getHostWlanFeatCaps
11035 WDI API that returns whether the feature passed to it as enum value in
11036 "placeHolderInCapBitmap" is supported by Host or not. It uses WDI global
11037 variable storing host capability bitmap to find this. This can be used by
11038 other moduels to decide certain things like call different APIs based on
11039 whether a particular feature is supported.
11040
11041 @param
11042
11043 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap in wlan_hal_msg.h.
11044
11045 @see
11046 @return
11047 0 - if the feature is NOT supported in host
11048 any non-zero value - if the feature is SUPPORTED in host.
11049*/
11050wpt_uint8 WDI_getHostWlanFeatCaps(wpt_uint8 feat_enum_value);
11051
11052/**
11053 @brief WDI_getFwWlanFeatCaps
11054 WDI API that returns whether the feature passed to it as enum value in
11055 "placeHolderInCapBitmap" is supported by FW or not. It uses WDI global
11056 variable storing host capability bitmap to find this. This can be used by
11057 other moduels to decide certain things like call different APIs based on
11058 whether a particular feature is supported.
11059
11060 @param
11061
Jeff Johnsone7245742012-09-05 17:12:55 -070011062 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap
11063 in wlan_hal_msg.h.
Jeff Johnson295189b2012-06-20 16:38:30 -070011064
11065 @see
11066 @return
11067 0 - if the feature is NOT supported in FW
11068 any non-zero value - if the feature is SUPPORTED in FW.
11069*/
11070wpt_uint8 WDI_getFwWlanFeatCaps(wpt_uint8 feat_enum_value);
11071
11072/**
11073 @brief WDI_GetWcnssCompiledApiVersion - Function to get wcnss compiled
11074 api version
11075
11076 @param WDI_WlanVersionType: Wlan version structure
11077 @see
11078 @return none
11079*/
11080
11081void WDI_GetWcnssCompiledApiVersion
11082(
11083 WDI_WlanVersionType *pWcnssApiVersion
11084);
11085
Mohit Khanna4a70d262012-09-11 16:30:12 -070011086#ifdef WLAN_FEATURE_11AC
11087WDI_Status
11088WDI_UpdateVHTOpModeReq
11089(
11090 WDI_UpdateVHTOpMode *pData,
11091 WDI_UpdateVHTOpModeCb wdiUpdateVHTOpModeCb,
11092 void* pUserData
11093);
Jeff Johnson295189b2012-06-20 16:38:30 -070011094
Mohit Khanna4a70d262012-09-11 16:30:12 -070011095#endif
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070011096
11097/**
11098 @brief WDI_TransportChannelDebug -
11099 Display DXE Channel debugging information
11100 User may request to display DXE channel snapshot
11101 Or if host driver detects any abnormal stcuk may display
11102
Jeff Johnsonb88db982012-12-10 13:34:59 -080011103 @param displaySnapshot : Display DXE snapshot option
Mihir Shete40a55652014-03-02 14:14:47 +053011104 @param debugFlags : Enable stall detect features
11105 defined by WPAL_DeviceDebugFlags
11106 These features may effect
11107 data performance.
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070011108 @see
11109 @return none
11110*/
11111void WDI_TransportChannelDebug
11112(
11113 wpt_boolean displaySnapshot,
Mihir Shete40a55652014-03-02 14:14:47 +053011114 wpt_uint8 debugFlags
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070011115);
11116
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -070011117/**
11118 @brief WDI_SsrTimerCB
11119 Callback function for SSR timer, if this is called then the graceful
11120 shutdown for Riva did not happen.
11121
11122 @param pUserData : user data to timer
11123
11124 @see
11125 @return none
11126*/
11127void
11128WDI_SsrTimerCB
11129(
11130 void *pUserData
11131);
11132
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -070011133/**
11134 @brief WDI_SetEnableSSR -
11135 This API is called to enable/disable SSR on WDI timeout.
11136
11137 @param enableSSR : enable/disable SSR
11138
11139 @see
11140 @return none
11141*/
11142void WDI_SetEnableSSR(wpt_boolean enableSSR);
11143
Leo Chang9056f462013-08-01 19:21:11 -070011144#ifdef FEATURE_WLAN_LPHB
11145/**
11146 @brief WDI_LPHBConfReq
11147 This API is called to config FW LPHB rule
11148
11149 @param lphbconfParam : LPHB rule should config to FW
11150 usrData : Client context
11151 lphbCfgCb : Configuration status callback
11152 @see
11153 @return SUCCESS or FAIL
11154*/
11155WDI_Status WDI_LPHBConfReq
11156(
11157 void *lphbconfParam,
11158 void *usrData,
11159 WDI_LphbCfgCb lphbCfgCb
11160);
11161#endif /* FEATURE_WLAN_LPHB */
Rajeev79dbe4c2013-10-05 11:03:42 +053011162
Dino Mycle41bdc942014-06-10 11:30:24 +053011163#ifdef WLAN_FEATURE_EXTSCAN
11164/**
11165 @brief WDI_EXTScanStartReq
11166 This API is called to send EXTScan start request to FW
11167
11168 @param pwdiEXTScanStartReqParams : pointer to the request params.
11169 wdiEXTScanStartRspCb : callback on getting the response.
11170 usrData : Client context
11171 @see
11172 @return SUCCESS or FAIL
11173*/
11174WDI_Status WDI_EXTScanStartReq
11175(
11176 WDI_EXTScanStartReqParams* pwdiEXTScanStartReqParams,
11177 WDI_EXTScanStartRspCb wdiEXTScanStartRspCb,
11178 void* pUserData
11179);
11180
11181/**
11182 @brief WDI_EXTScanStopReq
11183 This API is called to stop the EXTScan operations in the FW
11184
11185 @param pwdiEXTScanStopReqParams : pointer to the request params.
11186 wdiEXTScanStopRspCb : callback on getting the response.
11187 usrData : Client context
11188 @see
11189 @return SUCCESS or FAIL
11190*/
11191WDI_Status WDI_EXTScanStopReq
11192(
11193 WDI_EXTScanStopReqParams* pwdiEXTScanStopReqParams,
11194 WDI_EXTScanStopRspCb wdiEXTScanStopRspCb,
11195 void* pUserData
11196);
11197
11198/**
11199 @brief WDI_EXTScanGetCachedResultsReq
11200 This API is called to send get link layer stats request in FW
11201
11202 @param pwdiEXTScanGetCachedResultsReqParams : pointer to the request params.
11203 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
11204 usrData : Client context
11205 @see
11206 @return SUCCESS or FAIL
11207*/
11208WDI_Status WDI_EXTScanGetCachedResultsReq
11209(
11210 WDI_EXTScanGetCachedResultsReqParams* pwdiEXTScanGetCachedResultsReqParams,
11211 WDI_EXTScanGetCachedResultsRspCb wdiEXTScanGetCachedResultsRspCb,
11212 void* pUserData
11213);
11214
11215/**
11216 @brief WDI_EXTScanGetCapabilitiesReq
11217 This API is called to send get EXTScan capabilities from FW
11218
11219 @param pwdiEXTScanGetCachedResultsReqParams : pointer to the request params.
11220 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
11221 usrData : Client context
11222 @see
11223 @return SUCCESS or FAIL
11224*/
11225WDI_Status WDI_EXTScanGetCapabilitiesReq
11226(
11227 WDI_EXTScanGetCapabilitiesReqParams* pwdiEXTScanGetCapabilitiesReqParams,
11228 WDI_EXTScanGetCapabilitiesRspCb wdiEXTScanGetCapabilitiesRspCb,
11229 void* pUserData
11230);
11231
11232/**
11233 @brief WDI_EXTScanSetBSSIDHotlistReq
11234 This API is called to send Set BSSID Hotlist Request FW
11235
11236 @param pwdiEXTScanSetBssidHotlistReqParams : pointer to the request params.
11237 wdiEXTScanSetBSSIDHotlistRspCb : callback on getting the response.
11238 usrData : Client context
11239 @see
11240 @return SUCCESS or FAIL
11241*/
11242WDI_Status WDI_EXTScanSetBSSIDHotlistReq
11243(
11244 WDI_EXTScanSetBSSIDHotlistReqParams* pwdiEXTScanSetBSSIDHotlistReqParams,
11245 WDI_EXTScanSetBSSIDHotlistRspCb wdiEXTScanSetBSSIDHotlistRspCb,
11246 void* pUserData
11247);
11248
11249/**
11250 @brief WDI_EXTScanResetBSSIDHotlistReq
11251 This API is called to send Reset BSSID Hotlist Request FW
11252
11253 @param pwdiEXTScanResetBssidHotlistReqParams : pointer to the request params.
11254 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
11255 usrData : Client context
11256 @see
11257 @return SUCCESS or FAIL
11258*/
11259WDI_Status WDI_EXTScanResetBSSIDHotlistReq
11260(
11261 WDI_EXTScanResetBSSIDHotlistReqParams* pwdiEXTScanResetBSSIDHotlistReqParams,
11262 WDI_EXTScanResetBSSIDHotlistRspCb wdiEXTScanResetBSSIDHotlistRspCb,
11263 void* pUserData
11264);
11265
11266/**
11267 @brief WDI_EXTScanSetSignfRSSIChangeReq
11268 This API is called to send Set Significant RSSI Request FW
11269
11270 @param pwdiEXTScanSetSignfRSSIChangeReqParams : pointer to the request params.
11271 wdiEXTScanSetSignfRSSIChangeRspCb : callback on getting the response.
11272 usrData : Client context
11273 @see
11274 @return SUCCESS or FAIL
11275*/
11276WDI_Status WDI_EXTScanSetSignfRSSIChangeReq
11277(
11278 WDI_EXTScanSetSignfRSSIChangeReqParams*
11279 pwdiEXTScanSetSignfRSSIChangeReqParams,
11280 WDI_EXTScanSetSignfRSSIChangeRspCb wdiEXTScanSetSignfRSSIChangeRspCb,
11281 void* pUserData
11282);
11283
11284/**
11285 @brief WDI_EXTScanResetSignfRSSIChangeReq
11286 This API is called to send Reset BSSID Hotlist Request FW
11287
11288 @param pwdiEXTScanResetSignfRSSIChangeReqParams : pointer to the request params.
11289 wdiEXTScanResetSignfRSSIChangeRs : callback on getting the response.
11290 usrData : Client context
11291 @see
11292 @return SUCCESS or FAIL
11293*/
11294WDI_Status WDI_EXTScanResetSignfRSSIChangeReq
11295(
11296 WDI_EXTScanResetSignfRSSIChangeReqParams*
11297 pwdiEXTScanResetSignfRSSIChangeReqParams,
11298 WDI_EXTScanResetSignfRSSIChangeRspCb wdiEXTScanResetSignfRSSIChangeRspCb,
11299 void* pUserData
11300);
11301#endif /* WLAN_FEATURE_EXTSCAN */
11302
Sunil Duttbd736ed2014-05-26 21:19:41 +053011303#ifdef WLAN_FEATURE_LINK_LAYER_STATS
11304/**
11305 @brief WDI_LLStatsSetReq
11306 This API is called to send set link layer stats request to FW
11307
11308 @param pwdiLLStatsSetReqParams : pointer to set link layer stats params
11309 wdiLLStatsSetRspCb : set link layer stats response callback
11310 usrData : Client context
11311 @see
11312 @return SUCCESS or FAIL
11313*/
11314WDI_Status WDI_LLStatsSetReq
11315(
11316 WDI_LLStatsSetReqType* pwdiLLStatsSetReqParams,
11317 WDI_LLStatsSetRspCb wdiLLStatsSetRspCb,
11318 void* pUserData
11319);
11320
11321/**
11322 @brief WDI_LLStatsGetReq
11323 This API is called to send get link layer stats request in FW
11324
11325 @param pwdiLLStatsGetParams : pointer to get link layer stats params
11326 wdiLLStatsGetRspCb : get link layer stats response callback
11327 usrData : Client context
11328 @see
11329 @return SUCCESS or FAIL
11330*/
11331WDI_Status WDI_LLStatsGetReq
11332(
11333 WDI_LLStatsGetReqType* pwdiLLStatsGetReqParams,
11334 WDI_LLStatsGetRspCb wdiLLStatsGetRspCb,
11335 void* pUserData
11336);
11337
11338/**
11339 @brief WDI_LLStatsClearReq
11340 This API is called to set clear link layer stats request in FW
11341
11342 @param pwdiLLStatsClearReqParams : pointer to clear link layer stats params
11343 iwdiLLStatsClearRspCb : clear link layer stats response callback
11344 usrData : Client context
11345 @see
11346 @return SUCCESS or FAIL
11347*/
11348WDI_Status WDI_LLStatsClearReq
11349(
11350 WDI_LLStatsClearReqType* pwdiLLStatsClearReqParams,
11351 WDI_LLStatsClearRspCb wdiLLStatsClearRspCb,
11352 void* pUserData
11353);
11354#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
11355
Abhishek Singh85b74712014-10-08 11:38:19 +053011356WDI_Status WDI_FWStatsGetReq
11357(
11358 void* pwdiFWStatsGetReqParams,
11359 WDI_FWStatsGetRspCb wdiFWStatsGetRspCb,
11360 wpt_uint32 pUserData
11361);
11362
Katya Nigamf0511f62015-05-05 16:40:57 +053011363WDI_Status WDI_MonStartReq
11364(
11365 WDI_MonStartReqType* pwdiMonStartReqParams,
11366 WDI_MonStartRspCb wdiMonStartRspCb,
11367 void* pUserData
11368);
11369
11370WDI_Status WDI_MonStopReq
11371(
11372 WDI_MonStopRspCb wdiMonStopRspCb,
11373 void* pUserData
11374);
11375
Rajeev79dbe4c2013-10-05 11:03:42 +053011376#ifdef FEATURE_WLAN_BATCH_SCAN
11377/**
11378 @brief WDI_SetBatchScanReq
11379 This API is called to set batch scan request in FW
11380
11381 @param pBatchScanReqParam : pointer to set batch scan re param
11382 usrData : Client context
11383 setBatchScanRspCb : set batch scan resp callback
11384 @see
11385 @return SUCCESS or FAIL
11386*/
11387WDI_Status WDI_SetBatchScanReq
11388(
11389 void *pBatchScanReqParam,
11390 void *usrData,
11391 WDI_SetBatchScanCb setBatchScanRspCb
11392);
11393
11394/**
11395 @brief WDI_StopBatchScanInd
11396
11397 @param none
11398
11399 @see
11400
11401 @return Status of the request
11402*/
11403WDI_Status
11404WDI_StopBatchScanInd(WDI_StopBatchScanIndType *pWdiReq);
11405
11406/**
11407 @brief WDI_TriggerBatchScanResultInd
11408 This API is called to pull batch scan result from FW
11409
11410 @param pBatchScanReqParam : pointer to trigger batch scan ind param
11411 usrData : Client context
11412 setBatchScanRspCb : get batch scan resp callback
11413 @see
11414 @return SUCCESS or FAIL
11415*/
11416WDI_Status
11417WDI_TriggerBatchScanResultInd(WDI_TriggerBatchScanResultIndType *pWdiReq);
11418
11419
11420#endif /*FEATURE_WLAN_BATCH_SCAN*/
11421
Sandeep Puligilla8b8b74b2014-02-10 16:39:05 +053011422/**
11423 @brief wdi_HT40OBSSScanInd
11424 This API is called to start OBSS scan
11425
11426 @param pWdiReq : pointer to get ind param
11427 @see
11428 @return SUCCESS or FAIL
11429*/
11430
11431WDI_Status WDI_HT40OBSSScanInd(WDI_HT40ObssScanParamsType *pWdiReq);
11432
11433/**
11434 @brief wdi_HT40OBSSStopScanInd
11435 This API is called to stop OBSS scan
11436
11437 @param bssIdx : bssIdx to stop
11438 @see
11439 @return SUCCESS or FAIL
11440*/
11441
11442WDI_Status WDI_HT40OBSSStopScanInd(wpt_uint8 bssIdx);
11443
c_hpothu92367912014-05-01 15:18:17 +053011444
11445WDI_Status WDI_GetBcnMissRate( void *pUserData,
11446 WDI_GetBcnMissRateCb wdiGetBcnMissRateCb,
11447 wpt_uint8 *bssid
11448 );
Siddharth Bhal171788a2014-09-29 21:02:40 +053011449WDI_Status
11450WDI_SetSpoofMacAddrReq
11451(
11452WDI_SpoofMacAddrInfoType *pWdiReq,
11453 WDI_SetSpoofMacAddrRspCb setSpoofMacAddrRspCb,
11454 void* pUserData
11455);
c_hpothu92367912014-05-01 15:18:17 +053011456
Srinivas Dasari4dae48f2014-11-26 21:14:16 +053011457WDI_Status
11458WDI_EncryptMsgReq(void* pwdiEncryptMsgParams,
11459 WDI_EncryptMsgRspCb wdiEncryptMsgCbRsp,
11460 void* pUserData
11461 );
Srinivas Dasari32a79262015-02-19 13:04:49 +053011462
11463/**
11464 @brief WDI_NanRequest
11465 NAN request
11466
11467 @param pwdiNanRequest: data
11468
11469 pwdiNanCb: callback
11470
11471 usrData: user data will be passed back with the
11472 callback
11473
11474 @return Result of the function call
11475*/
11476WDI_Status
11477WDI_NanRequest
11478(
11479 WDI_NanRequestType *pwdiNanRequest,
11480 void *usrData
11481);
11482
Abhishek Singh41988ba2015-05-25 19:42:29 +053011483/**
11484 @brief WDI_SetRtsCtsHTVhtInd
11485 Set RTS/CTS indication for diff modes.
11486
11487 @param rtsCtsVal: Bit mask value to enable RTS/CTS for different modes
11488
11489 @return Result of the function call
11490*/
11491
11492WDI_Status
11493WDI_SetRtsCtsHTVhtInd
11494(
11495 wpt_uint32 rtsCtsVal
11496);
Srinivas Dasari32a79262015-02-19 13:04:49 +053011497
11498
Jeff Johnson295189b2012-06-20 16:38:30 -070011499#ifdef __cplusplus
11500 }
11501#endif
11502
Jeff Johnson295189b2012-06-20 16:38:30 -070011503#endif /* #ifndef WLAN_QCT_WDI_H */