blob: beb201677852f71ade9fb97e14a8b6aee183e3b2 [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
Chittajit Mitraf5413a42013-10-18 14:20:08 -0700879/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -0700880 WDI_LowLevelIndType
881 Inidcation type and information about the indication being carried
882 over
883---------------------------------------------------------------------------*/
884typedef struct
885{
886 /*Inidcation type*/
887 WDI_LowLevelIndEnumType wdiIndicationType;
888
889 /*Indication data*/
890 union
891 {
892 /*RSSI Threshold Info for WDI_LOW_RSSI_IND*/
893 WDI_LowRSSIThIndType wdiLowRSSIInfo;
894
895 /*Addr2 Frame Info for WDI_UNKNOWN_ADDR2_FRAME_RX_IND*/
896 WDI_UnkAddr2FrmRxIndType wdiUnkAddr2FrmInfo;
897
898 /*MIC Failure info for WDI_MIC_FAILURE_IND*/
899 WDI_MicFailureIndType wdiMICFailureInfo;
900
901 /*Error code for WDI_FATAL_ERROR_IND*/
902 wpt_uint16 usErrorCode;
903
904 /*Delete STA Indication*/
905 WDI_DeleteSTAIndType wdiDeleteSTAIndType;
906
907 /*Coex Indication*/
908 WDI_CoexIndType wdiCoexInfo;
909
910 /* Tx Complete Indication */
911 wpt_uint32 tx_complete_status;
912
Jeff Johnson295189b2012-06-20 16:38:30 -0700913 /* P2P NOA ATTR Indication */
914 WDI_P2pNoaAttrIndType wdiP2pNoaAttrInfo;
Viral Modid86bde22012-12-10 13:09:21 -0800915 WDI_P2pNoaStartIndType wdiP2pNoaStartInfo;
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530916 /* TDLS Indications */
917 WDI_TdlsIndType wdiTdlsIndInfo;
Jeff Johnson295189b2012-06-20 16:38:30 -0700918
919
920#ifdef FEATURE_WLAN_SCAN_PNO
921 WDI_PrefNetworkFoundInd wdiPrefNetworkFoundInd;
922#endif // FEATURE_WLAN_SCAN_PNO
923
924#ifdef WLAN_WAKEUP_EVENTS
925 WDI_WakeReasonIndType wdiWakeReasonInd;
926#endif // WLAN_WAKEUP_EVENTS
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800927 WDI_MissedBeaconIndType wdiMissedBeaconInd;
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700928
Leo Chang9056f462013-08-01 19:21:11 -0700929#ifdef FEATURE_WLAN_LPHB
930 WDI_LPHBTimeoutIndData wdiLPHBTimeoutInd;
931#endif /* FEATURE_WLAN_LPHB */
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700932
933 /* IBSS Peer Inactivity Indication */
934 WDI_IbssPeerInactivityIndType wdiIbssPeerInactivityInd;
935
Yue Mab9c86f42013-08-14 15:59:08 -0700936 /* Periodic TX Pattern FW Indication */
937 WDI_PeriodicTxPtrnFwIndType wdiPeriodicTxPtrnFwInd;
Rajeev79dbe4c2013-10-05 11:03:42 +0530938
939#ifdef FEATURE_WLAN_BATCH_SCAN
940 /*batch scan result indication from FW*/
941 void *pBatchScanResult;
942#endif
943
Leo Chang0b0e45a2013-12-15 15:18:55 -0800944#ifdef FEATURE_WLAN_CH_AVOID
945 WDI_ChAvoidIndType wdiChAvoidInd;
946#endif /* FEATURE_WLAN_CH_AVOID */
Sunil Duttbd736ed2014-05-26 21:19:41 +0530947
948#ifdef WLAN_FEATURE_LINK_LAYER_STATS
949 /*Link Layer Statistics from FW*/
Dino Mycled3d50022014-07-07 12:58:25 +0530950 WDI_LinkLayerStatsResults wdiLinkLayerStatsResults;
Sunil Duttbd736ed2014-05-26 21:19:41 +0530951#endif
Dino Mycle41bdc942014-06-10 11:30:24 +0530952#ifdef WLAN_FEATURE_EXTSCAN
953 /*EXTSCAN Results from FW*/
954 void *pEXTScanIndData;
955#endif
Abhishek Singh66c16762014-08-14 19:13:19 +0530956 WDI_DeleteBAIndType wdiDeleteBAInd;
Srinivas Dasari32a79262015-02-19 13:04:49 +0530957
958 WDI_NanEventType wdiNanEvent;
Jeff Johnson295189b2012-06-20 16:38:30 -0700959 } wdiIndicationData;
960}WDI_LowLevelIndType;
961
962/*---------------------------------------------------------------------------
963 WDI_LowLevelIndCBType
964
965 DESCRIPTION
966
967 This callback is invoked by DAL to deliver to UMAC certain indications
968 that has either received from the lower device or has generated itself.
969
970 PARAMETERS
971
972 IN
973 pwdiInd: information about the indication sent over
974 pUserData: user data provided by UMAC during registration
975
976
977
978 RETURN VALUE
979 The result code associated with performing the operation
980---------------------------------------------------------------------------*/
981typedef void (*WDI_LowLevelIndCBType)(WDI_LowLevelIndType* pwdiInd,
982 void* pUserData);
983
984/*---------------------------------------------------------------------------
985 WDI_DriverType
986---------------------------------------------------------------------------*/
987typedef enum
988{
989 WDI_DRIVER_TYPE_PRODUCTION = 0,
990 WDI_DRIVER_TYPE_MFG = 1,
991 WDI_DRIVER_TYPE_DVT = 2
992} WDI_DriverType;
993
994/*---------------------------------------------------------------------------
995 WDI_StartReqParamsType
996---------------------------------------------------------------------------*/
997typedef struct
998{
999 /*This is a TLV formatted buffer containing all config values that can
1000 be set through the DAL Interface
1001
1002 The TLV is expected to be formatted like this:
1003
1004 0 7 15 31 ....
1005 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
1006
1007 Or from a C construct point of VU it would look like this:
1008
1009 typedef struct WPT_PACK_POST
1010 {
1011 #ifdef WPT_BIG_ENDIAN
1012 wpt_uint32 ucCfgId:8;
1013 wpt_uint32 ucCfgLen:8;
1014 wpt_uint32 usReserved:16;
1015 #else
1016 wpt_uint32 usReserved:16;
1017 wpt_uint32 ucCfgLen:8;
1018 wpt_uint32 ucCfgId:8;
1019 #endif
1020
1021 wpt_uint8 ucCfgBody[ucCfgLen];
1022 }WDI_ConfigType;
1023
1024 Multiple such tuplets are to be placed in the config buffer. One for
1025 each required configuration item:
1026
1027 | TLV 1 | TLV2 | ....
1028
1029 The buffer is expected to be a flat area of memory that can be manipulated
1030 with standard memory routines.
1031
1032 For more info please check paragraph 2.3.1 Config Structure from the
1033 HAL LLD.
1034
1035 For a list of accepted configuration list and IDs please look up
1036 wlan_qct_dal_cfg.h
1037
1038 */
1039 void* pConfigBuffer;
1040
1041 /*Length of the config buffer above*/
1042 wpt_uint16 usConfigBufferLen;
1043
1044 /*Production or FTM driver*/
1045 WDI_DriverType wdiDriverType;
1046
1047 /*Should device enable frame translation */
1048 wpt_uint8 bFrameTransEnabled;
1049
1050 /*Request status callback offered by UMAC - it is called if the current
1051 req has returned PENDING as status; it delivers the status of sending
1052 the message over the BUS */
1053 WDI_ReqStatusCb wdiReqStatusCB;
1054
1055 /*The user data passed in by UMAC, it will be sent back when the above
1056 function pointer will be called */
1057 void* pUserData;
1058
1059 /*Indication callback given by UMAC to be called by the WLAN DAL when it
1060 wishes to send something back independent of a request*/
1061 WDI_LowLevelIndCBType wdiLowLevelIndCB;
1062
1063 /*The user data passed in by UMAC, it will be sent back when the indication
1064 function pointer will be called */
1065 void* pIndUserData;
1066}WDI_StartReqParamsType;
1067
1068
1069/*---------------------------------------------------------------------------
1070 WDI_StartRspParamsType
1071---------------------------------------------------------------------------*/
1072typedef struct
1073{
1074 /*Status of the response*/
1075 WDI_Status wdiStatus;
1076
1077 /*Max number of STA supported by the device*/
1078 wpt_uint8 ucMaxStations;
1079
1080 /*Max number of BSS supported by the device*/
1081 wpt_uint8 ucMaxBssids;
1082
1083 /*Version of the WLAN HAL API with which we were compiled*/
1084 WDI_WlanVersionType wlanCompiledVersion;
1085
1086 /*Version of the WLAN HAL API that was reported*/
1087 WDI_WlanVersionType wlanReportedVersion;
1088
1089 /*WCNSS Software version string*/
1090 wpt_uint8 wcnssSoftwareVersion[WDI_VERSION_LENGTH];
1091
1092 /*WCNSS Hardware version string*/
1093 wpt_uint8 wcnssHardwareVersion[WDI_VERSION_LENGTH];
1094}WDI_StartRspParamsType;
1095
1096
1097/*---------------------------------------------------------------------------
1098 WDI_StopType
1099---------------------------------------------------------------------------*/
1100typedef enum
1101{
1102 /*Device is being stopped due to a reset*/
1103 WDI_STOP_TYPE_SYS_RESET,
1104
1105 /*Device is being stopped due to entering deep sleep*/
1106 WDI_STOP_TYPE_SYS_DEEP_SLEEP,
1107
1108 /*Device is being stopped because the RF needs to shut off
1109 (e.g.:Airplane mode)*/
1110 WDI_STOP_TYPE_RF_KILL
1111}WDI_StopType;
1112
1113/*---------------------------------------------------------------------------
1114 WDI_StopReqParamsType
1115---------------------------------------------------------------------------*/
1116typedef struct
1117{
1118
1119 /*The reason for which the device is being stopped*/
1120 WDI_StopType wdiStopReason;
1121
1122 /*Request status callback offered by UMAC - it is called if the current
1123 req has returned PENDING as status; it delivers the status of sending
1124 the message over the BUS */
1125 WDI_ReqStatusCb wdiReqStatusCB;
1126
1127 /*The user data passed in by UMAC, it will be sent back when the above
1128 function pointer will be called */
1129 void* pUserData;
1130}WDI_StopReqParamsType;
1131
1132
1133/*---------------------------------------------------------------------------
1134 WDI_ScanMode
1135---------------------------------------------------------------------------*/
1136typedef enum
1137{
1138 WDI_SCAN_MODE_NORMAL = 0,
1139 WDI_SCAN_MODE_LEARN,
1140 WDI_SCAN_MODE_SCAN,
1141 WDI_SCAN_MODE_PROMISC,
Madan Mohan Koyyalamudi9b876782012-10-11 16:22:51 -07001142 WDI_SCAN_MODE_SUSPEND_LINK,
1143 WDI_SCAN_MODE_ROAM_SCAN,
1144 WDI_SCAN_MODE_ROAM_SUSPEND_LINK,
1145
Jeff Johnson295189b2012-06-20 16:38:30 -07001146} WDI_ScanMode;
1147
1148/*---------------------------------------------------------------------------
1149 WDI_ScanEntry
1150---------------------------------------------------------------------------*/
1151typedef struct
1152{
1153 wpt_uint8 bssIdx[WDI_NUM_BSSID];
1154 wpt_uint8 activeBSScnt;
1155}WDI_ScanEntry;
1156
1157/*---------------------------------------------------------------------------
1158 WDI_InitScanReqInfoType
1159---------------------------------------------------------------------------*/
1160typedef struct
1161{
1162 /*LEARN - AP Role
1163 SCAN - STA Role*/
1164 WDI_ScanMode wdiScanMode;
1165
1166 /*BSSID of the BSS*/
1167 wpt_macAddr macBSSID;
1168
1169 /*Whether BSS needs to be notified*/
1170 wpt_boolean bNotifyBSS;
1171
1172 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
1173 CTS to Self). Must always be a valid frame type.*/
1174 wpt_uint8 ucFrameType;
1175
1176 /*UMAC has the option of passing the MAC frame to be used for notifying
1177 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
1178 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
1179 frameType.*/
1180 wpt_uint8 ucFrameLength;
1181
1182 /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/
1183 WDI_MacMgmtHdr wdiMACMgmtHdr;
1184
1185 /*Entry to hold number of active BSS to send NULL frames before
1186 * initiating SCAN*/
1187 WDI_ScanEntry wdiScanEntry;
1188
1189 /* Flag to enable/disable Single NOA*/
1190 wpt_boolean bUseNOA;
1191
1192 /* Indicates the scan duration (in ms) */
1193 wpt_uint16 scanDuration;
1194
1195}WDI_InitScanReqInfoType;
1196
1197/*---------------------------------------------------------------------------
1198 WDI_InitScanReqParamsType
1199---------------------------------------------------------------------------*/
1200typedef struct
1201{
1202 /*The info associated with the request that needs to be sent over to the
1203 device*/
1204 WDI_InitScanReqInfoType wdiReqInfo;
1205
1206 /*Request status callback offered by UMAC - it is called if the current
1207 req has returned PENDING as status; it delivers the status of sending
1208 the message over the BUS */
1209 WDI_ReqStatusCb wdiReqStatusCB;
1210
1211 /*The user data passed in by UMAC, it will be sent back when the above
1212 function pointer will be called */
1213 void* pUserData;
1214}WDI_InitScanReqParamsType;
1215
1216/*---------------------------------------------------------------------------
1217 WDI_StartScanReqParamsType
1218---------------------------------------------------------------------------*/
1219typedef struct
1220{
1221 /*Indicates the channel to scan*/
1222 wpt_uint8 ucChannel;
1223
1224 /*Request status callback offered by UMAC - it is called if the current
1225 req has returned PENDING as status; it delivers the status of sending
1226 the message over the BUS */
1227 WDI_ReqStatusCb wdiReqStatusCB;
1228
1229 /*The user data passed in by UMAC, it will be sent back when the above
1230 function pointer will be called */
1231 void* pUserData;
1232}WDI_StartScanReqParamsType;
1233
1234/*---------------------------------------------------------------------------
1235 WDI_StartScanRspParamsType
1236---------------------------------------------------------------------------*/
1237typedef struct
1238{
1239 /*Indicates the status of the operation */
1240 WDI_Status wdiStatus;
1241
1242#if defined WLAN_FEATURE_VOWIFI
1243 wpt_uint32 aStartTSF[2];
1244 wpt_int8 ucTxMgmtPower;
1245#endif
1246}WDI_StartScanRspParamsType;
1247
1248/*---------------------------------------------------------------------------
1249 WDI_EndScanReqParamsType
1250---------------------------------------------------------------------------*/
1251typedef struct
1252{
1253 /*Indicates the channel to stop scanning. Not used really. But retained
1254 for symmetry with "start Scan" message. It can also help in error
1255 check if needed.*/
1256 wpt_uint8 ucChannel;
1257
1258 /*Request status callback offered by UMAC - it is called if the current
1259 req has returned PENDING as status; it delivers the status of sending
1260 the message over the BUS */
1261 WDI_ReqStatusCb wdiReqStatusCB;
1262
1263 /*The user data passed in by UMAC, it will be sent back when the above
1264 function pointer will be called */
1265 void* pUserData;
1266}WDI_EndScanReqParamsType;
1267
1268/*---------------------------------------------------------------------------
1269 WDI_PhyChanBondState
1270---------------------------------------------------------------------------*/
1271typedef enum
1272{
1273 WDI_PHY_SINGLE_CHANNEL_CENTERED = 0,
1274 WDI_PHY_DOUBLE_CHANNEL_LOW_PRIMARY = 1,
1275 WDI_PHY_DOUBLE_CHANNEL_CENTERED = 2,
Jeff Johnsone7245742012-09-05 17:12:55 -07001276 WDI_PHY_DOUBLE_CHANNEL_HIGH_PRIMARY = 3,
1277#ifdef WLAN_FEATURE_11AC
1278 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_CENTERED = 4, //20/40MHZ offset LOW 40/80MHZ offset CENTERED
1279 WDI_QUADRUPLE_CHANNEL_20MHZ_CENTERED_40MHZ_CENTERED = 5, //20/40MHZ offset CENTERED 40/80MHZ offset CENTERED
1280 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_CENTERED = 6, //20/40MHZ offset HIGH 40/80MHZ offset CENTERED
1281 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_LOW = 7,//20/40MHZ offset LOW 40/80MHZ offset LOW
1282 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_LOW = 8, //20/40MHZ offset HIGH 40/80MHZ offset LOW
1283 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_HIGH = 9, //20/40MHZ offset LOW 40/80MHZ offset HIGH
1284 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_HIGH = 10,//20/40MHZ offset-HIGH 40/80MHZ offset HIGH
1285#endif
1286 WDI_MAX_CB_STATE
Jeff Johnson295189b2012-06-20 16:38:30 -07001287} WDI_PhyChanBondState;
1288
1289/*---------------------------------------------------------------------------
1290 WDI_FinishScanReqInfoType
1291---------------------------------------------------------------------------*/
1292typedef struct
1293{
1294 /*LEARN - AP Role
1295 SCAN - STA Role*/
1296 WDI_ScanMode wdiScanMode;
1297
1298 /*Operating channel to tune to.*/
1299 wpt_uint8 ucCurrentOperatingChannel;
1300
1301 /*Channel Bonding state If 20/40 MHz is operational, this will indicate the
1302 40 MHz extension channel in combination with the control channel*/
1303 WDI_PhyChanBondState wdiCBState;
1304
1305 /*BSSID of the BSS*/
1306 wpt_macAddr macBSSID;
1307
1308 /*Whether BSS needs to be notified*/
1309 wpt_boolean bNotifyBSS;
1310
1311 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
1312 CTS to Self). Must always be a valid frame type.*/
1313 wpt_uint8 ucFrameType;
1314
1315 /*UMAC has the option of passing the MAC frame to be used for notifying
1316 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
1317 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
1318 frameType.*/
1319 wpt_uint8 ucFrameLength;
1320
1321 /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/
1322 WDI_MacMgmtHdr wdiMACMgmtHdr;
1323
1324 /*Entry to hold number of active BSS to send NULL frames after SCAN*/
1325 WDI_ScanEntry wdiScanEntry;
1326
1327}WDI_FinishScanReqInfoType;
1328
1329/*---------------------------------------------------------------------------
1330 WDI_SwitchChReqInfoType
1331---------------------------------------------------------------------------*/
1332typedef struct
1333{
1334 /*Indicates the channel to switch to.*/
1335 wpt_uint8 ucChannel;
1336
1337 /*Local power constraint*/
1338 wpt_uint8 ucLocalPowerConstraint;
1339
1340 /*Secondary channel offset */
1341 WDI_HTSecondaryChannelOffset wdiSecondaryChannelOffset;
1342
1343#ifdef WLAN_FEATURE_VOWIFI
1344 wpt_int8 cMaxTxPower;
1345
1346 /*Self STA Mac address*/
1347 wpt_macAddr macSelfStaMacAddr;
1348#endif
1349 /* VO Wifi comment: BSSID is needed to identify which session issued this request. As the
1350 request has power constraints, this should be applied only to that session */
1351 /* V IMP: Keep bssId field at the end of this msg. It is used to mantain backward compatbility
1352 * by way of ignoring if using new host/old FW or old host/new FW since it is at the end of this struct
1353 */
1354 wpt_macAddr macBSSId;
1355
1356}WDI_SwitchChReqInfoType;
1357
1358/*---------------------------------------------------------------------------
1359 WDI_SwitchChReqParamsType
1360---------------------------------------------------------------------------*/
1361typedef struct
1362{
1363 /*Channel Info*/
1364 WDI_SwitchChReqInfoType wdiChInfo;
1365
1366 /*Request status callback offered by UMAC - it is called if the current
1367 req has returned PENDING as status; it delivers the status of sending
1368 the message over the BUS */
1369 WDI_ReqStatusCb wdiReqStatusCB;
1370
1371 /*The user data passed in by UMAC, it will be sent back when the above
1372 function pointer will be called */
1373 void* pUserData;
1374}WDI_SwitchChReqParamsType;
1375
1376/*---------------------------------------------------------------------------
1377 WDI_FinishScanReqParamsType
1378---------------------------------------------------------------------------*/
1379typedef struct
1380{
1381 /*Info for the Finish Scan request that will be sent down to the device*/
1382 WDI_FinishScanReqInfoType wdiReqInfo;
1383
1384 /*Request status callback offered by UMAC - it is called if the current
1385 req has returned PENDING as status; it delivers the status of sending
1386 the message over the BUS */
1387 WDI_ReqStatusCb wdiReqStatusCB;
1388
1389 /*The user data passed in by UMAC, it will be sent back when the above
1390 function pointer will be called */
1391 void* pUserData;
1392}WDI_FinishScanReqParamsType;
1393
1394/*---------------------------------------------------------------------------
1395 WDI_JoinReqInfoType
1396---------------------------------------------------------------------------*/
1397typedef struct
1398{
1399 /*Indicates the BSSID to which STA is going to associate*/
1400 wpt_macAddr macBSSID;
1401
1402 /*Indicates the MAC Address of the current Self STA*/
1403 wpt_macAddr macSTASelf;
1404
1405 /*Indicates the link State determining the entity Type e.g. BTAMP-STA, STA etc.*/
1406 wpt_uint32 linkState;
1407
1408 /*Indicates the channel to switch to.*/
1409 WDI_SwitchChReqInfoType wdiChannelInfo;
1410
1411}WDI_JoinReqInfoType;
1412
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08001413typedef enum
1414{
1415 eWDI_CHANNEL_SWITCH_SOURCE_SCAN,
1416 eWDI_CHANNEL_SWITCH_SOURCE_LISTEN,
1417 eWDI_CHANNEL_SWITCH_SOURCE_MCC,
1418 eWDI_CHANNEL_SWITCH_SOURCE_CSA,
1419 eWDI_CHANNEL_SWITCH_SOURCE_MAX = 0x7FFFFFFF
1420} WDI_ChanSwitchSource;
1421
1422/*---------------------------------------------------------------------------
1423 WDI_SwitchChReqInfoType_V1
1424---------------------------------------------------------------------------*/
1425typedef struct
1426{
1427 /*Indicates the channel to switch to.*/
1428 wpt_uint8 ucChannel;
1429
1430 /*Local power constraint*/
1431 wpt_uint8 ucLocalPowerConstraint;
1432
1433 /*Secondary channel offset */
1434 WDI_HTSecondaryChannelOffset wdiSecondaryChannelOffset;
1435
1436#ifdef WLAN_FEATURE_VOWIFI
1437 wpt_int8 cMaxTxPower;
1438 /*Self STA Mac address*/
1439 wpt_macAddr macSelfStaMacAddr;
1440#endif
1441 /* VO Wifi comment: BSSID is needed to identify which session
1442 issued this request. As the request has power constraints, this
1443 should be applied only to that session
1444 */
1445 /* V IMP: Keep bssId field at the end of this msg. It is used to
1446 maintain backward compatibility by way of ignoring if using new
1447 host/old FW or old host/new FW since it is at the end of this struct
1448 */
1449 wpt_macAddr macBSSId;
1450 /* Source of Channel Switch */
1451 WDI_ChanSwitchSource channelSwitchSrc;
1452}WDI_SwitchChReqInfoType_V1;
1453
1454/*--------------------------------------------------------------------
1455 WDI_SwitchChReqParamsType_V1
1456----------------------------------------------------------------------*/
1457typedef struct
1458{
1459 /*Channel Info*/
1460 WDI_SwitchChReqInfoType_V1 wdiChInfo;
1461
1462 /*Request status callback offered by UMAC - it is called if the current
1463 req has returned PENDING as status; it delivers the status of sending
1464 the message over the BUS */
1465 WDI_ReqStatusCb wdiReqStatusCB;
1466
1467 /*The user data passed in by UMAC, it will be sent back when the above
1468 function pointer will be called */
1469 void* pUserData;
1470}WDI_SwitchChReqParamsType_V1;
1471
Jeff Johnson295189b2012-06-20 16:38:30 -07001472/*---------------------------------------------------------------------------
1473 WDI_JoinReqParamsType
1474---------------------------------------------------------------------------*/
1475typedef struct
1476{
1477 /*Info for the Join request that will be sent down to the device*/
1478 WDI_JoinReqInfoType wdiReqInfo;
1479
1480 /*Request status callback offered by UMAC - it is called if the current
1481 req has returned PENDING as status; it delivers the status of sending
1482 the message over the BUS */
1483 WDI_ReqStatusCb wdiReqStatusCB;
1484
1485 /*The user data passed in by UMAC, it will be sent back when the above
1486 function pointer will be called */
1487 void* pUserData;
1488}WDI_JoinReqParamsType;
1489
1490/*---------------------------------------------------------------------------
1491 WDI_BssType
1492---------------------------------------------------------------------------*/
1493typedef enum
1494{
1495 WDI_INFRASTRUCTURE_MODE,
1496 WDI_INFRA_AP_MODE, //Added for softAP support
1497 WDI_IBSS_MODE,
1498 WDI_BTAMP_STA_MODE,
1499 WDI_BTAMP_AP_MODE,
1500 WDI_BSS_AUTO_MODE,
1501}WDI_BssType;
1502
1503/*---------------------------------------------------------------------------
1504 WDI_NwType
1505---------------------------------------------------------------------------*/
1506typedef enum
1507{
1508 WDI_11A_NW_TYPE,
1509 WDI_11B_NW_TYPE,
1510 WDI_11G_NW_TYPE,
1511 WDI_11N_NW_TYPE,
1512} WDI_NwType;
1513
1514/*---------------------------------------------------------------------------
1515 WDI_ConfigAction
1516---------------------------------------------------------------------------*/
1517typedef enum
1518{
1519 WDI_ADD_BSS,
1520 WDI_UPDATE_BSS
1521} WDI_ConfigAction;
1522
1523/*---------------------------------------------------------------------------
1524 WDI_HTOperatingMode
1525---------------------------------------------------------------------------*/
1526typedef enum
1527{
1528 WDI_HT_OP_MODE_PURE,
1529 WDI_HT_OP_MODE_OVERLAP_LEGACY,
1530 WDI_HT_OP_MODE_NO_LEGACY_20MHZ_HT,
1531 WDI_HT_OP_MODE_MIXED
1532
1533} WDI_HTOperatingMode;
1534
1535
1536/*---------------------------------------------------------------------------
1537 WDI_STAEntryType
1538---------------------------------------------------------------------------*/
1539typedef enum
1540{
1541 WDI_STA_ENTRY_SELF,
1542 WDI_STA_ENTRY_PEER,
1543 WDI_STA_ENTRY_BSSID,
Mohit Khanna698ba2a2012-12-04 15:08:18 -08001544 WDI_STA_ENTRY_BCAST,
1545#ifdef FEATURE_WLAN_TDLS
1546 WDI_STA_ENTRY_TDLS_PEER,
1547#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001548}WDI_STAEntryType;
1549
1550/*---------------------------------------------------------------------------
1551 WDI_ConfigActionType
1552---------------------------------------------------------------------------*/
1553typedef enum
1554{
1555 WDI_ADD_STA,
1556 WDI_UPDATE_STA
1557} WDI_ConfigActionType;
1558
1559/*----------------------------------------------------------------------------
1560 Each station added has a rate mode which specifies the sta attributes
1561 ----------------------------------------------------------------------------*/
1562typedef enum
1563{
1564 WDI_RESERVED_1 = 0,
1565 WDI_RESERVED_2,
1566 WDI_RESERVED_3,
1567 WDI_11b,
1568 WDI_11bg,
1569 WDI_11a,
1570 WDI_11n,
1571} WDI_RateModeType;
1572
1573/*---------------------------------------------------------------------------
1574 WDI_SupportedRatesType
1575---------------------------------------------------------------------------*/
1576typedef struct
1577{
1578 /*
1579 * For Self STA Entry: this represents Self Mode.
1580 * For Peer Stations, this represents the mode of the peer.
1581 * On Station:
1582 * --this mode is updated when PE adds the Self Entry.
1583 * -- OR when PE sends 'ADD_BSS' message and station context in BSS is used to indicate the mode of the AP.
1584 * ON AP:
1585 * -- this mode is updated when PE sends 'ADD_BSS' and Sta entry for that BSS is used
1586 * to indicate the self mode of the AP.
1587 * -- OR when a station is associated, PE sends 'ADD_STA' message with this mode updated.
1588 */
1589
1590 WDI_RateModeType opRateMode;
1591
1592 /* 11b, 11a and aniLegacyRates are IE rates which gives rate in unit of 500Kbps */
1593 wpt_uint16 llbRates[WDI_NUM_11B_RATES];
1594 wpt_uint16 llaRates[WDI_NUM_11A_RATES];
1595 wpt_uint16 aLegacyRates[WDI_NUM_POLARIS_RATES];
1596
1597 /*Taurus only supports 26 Titan Rates(no ESF/concat Rates will be supported)
1598 First 26 bits are reserved for those Titan rates and
1599 the last 4 bits(bit28-31) for Taurus, 2(bit26-27) bits are reserved.*/
1600 wpt_uint32 uEnhancedRateBitmap; //Titan and Taurus Rates
1601
1602 /*
1603 * 0-76 bits used, remaining reserved
1604 * bits 0-15 and 32 should be set.
1605 */
1606 wpt_uint8 aSupportedMCSSet[WDI_MAC_MAX_SUPPORTED_MCS_SET];
1607
1608 /*
1609 * RX Highest Supported Data Rate defines the highest data
1610 * rate that the STA is able to receive, in unites of 1Mbps.
1611 * This value is derived from "Supported MCS Set field" inside
1612 * the HT capability element.
1613 */
1614 wpt_uint16 aRxHighestDataRate;
1615
Jeff Johnsone7245742012-09-05 17:12:55 -07001616
1617#ifdef WLAN_FEATURE_11AC
1618 /*Indicates the Maximum MCS that can be received for each number
1619 of spacial streams */
1620 wpt_uint16 vhtRxMCSMap;
1621 /*Indicate the highest VHT data rate that the STA is able to receive*/
1622 wpt_uint16 vhtRxHighestDataRate;
1623 /*Indicates the Maximum MCS that can be transmitted for each number
1624 of spacial streams */
1625 wpt_uint16 vhtTxMCSMap;
1626 /*Indicate the highest VHT data rate that the STA is able to transmit*/
1627 wpt_uint16 vhtTxHighestDataRate;
1628#endif
1629
Jeff Johnson295189b2012-06-20 16:38:30 -07001630} WDI_SupportedRates;
1631
1632/*--------------------------------------------------------------------------
1633 WDI_HTMIMOPowerSaveState
1634 Spatial Multiplexing(SM) Power Save mode
1635 --------------------------------------------------------------------------*/
1636typedef enum
1637{
1638 WDI_HT_MIMO_PS_STATIC = 0, // Static SM Power Save mode
1639 WDI_HT_MIMO_PS_DYNAMIC = 1, // Dynamic SM Power Save mode
1640 WDI_HT_MIMO_PS_NA = 2, // reserved
1641 WDI_HT_MIMO_PS_NO_LIMIT = 3, // SM Power Save disabled
1642} WDI_HTMIMOPowerSaveState;
1643
1644/*---------------------------------------------------------------------------
1645 WDI_ConfigStaReqInfoType
1646---------------------------------------------------------------------------*/
1647typedef struct
1648{
1649 /*BSSID of STA*/
1650 wpt_macAddr macBSSID;
1651
1652 /*ASSOC ID, as assigned by UMAC*/
1653 wpt_uint16 usAssocId;
1654
1655 /*Used for configuration of different HW modules.*/
1656 WDI_STAEntryType wdiSTAType;
1657
Gopichand Nakkalae7cbc5d2013-03-27 21:09:23 -07001658 /*STA Index */
1659 wpt_uint8 staIdx;
1660
Jeff Johnson295189b2012-06-20 16:38:30 -07001661 /*Short Preamble Supported.*/
1662 wpt_uint8 ucShortPreambleSupported;
1663
1664 /*MAC Address of STA*/
1665 wpt_macAddr macSTA;
1666
1667 /*Listen interval of the STA*/
1668 wpt_uint16 usListenInterval;
1669
1670 /*Support for 11e/WMM*/
1671 wpt_uint8 ucWMMEnabled;
1672
1673 /*11n HT capable STA*/
1674 wpt_uint8 ucHTCapable;
1675
1676 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
1677 wpt_uint8 ucTXChannelWidthSet;
1678
1679 /*RIFS mode 0 - NA, 1 - Allowed*/
1680 wpt_uint8 ucRIFSMode;
1681
1682 /*L-SIG TXOP Protection mechanism
1683 0 - No Support, 1 - Supported
1684 SG - there is global field*/
1685 wpt_uint8 ucLSIGTxopProtection;
1686
1687 /*Max Ampdu Size supported by STA. Device programming.
1688 0 : 8k , 1 : 16k, 2 : 32k, 3 : 64k */
1689 wpt_uint8 ucMaxAmpduSize;
1690
1691 /*Max Ampdu density. Used by RA. 3 : 0~7 : 2^(11nAMPDUdensity -4)*/
1692 wpt_uint8 ucMaxAmpduDensity;
1693
1694 /*Max AMSDU size 1 : 3839 bytes, 0 : 7935 bytes*/
1695 wpt_uint8 ucMaxAmsduSize;
1696
1697 /*Short GI support for 40Mhz packets*/
1698 wpt_uint8 ucShortGI40Mhz;
1699
1700 /*Short GI support for 20Mhz packets*/
1701 wpt_uint8 ucShortGI20Mhz;
1702
1703 /*These rates are the intersection of peer and self capabilities.*/
1704 WDI_SupportedRates wdiSupportedRates;
1705
1706 /*Robust Management Frame (RMF) enabled/disabled*/
1707 wpt_uint8 ucRMFEnabled;
1708
1709 /* The unicast encryption type in the association */
1710 wpt_uint32 ucEncryptType;
1711
1712 /*HAL should update the existing STA entry, if this flag is set. UMAC
1713 will set this flag in case of RE-ASSOC, where we want to reuse the old
1714 STA ID.*/
1715 WDI_ConfigActionType wdiAction;
1716
1717 /*U-APSD Flags: 1b per AC. Encoded as follows:
1718 b7 b6 b5 b4 b3 b2 b1 b0 =
1719 X X X X BE BK VI VO
1720 */
1721 wpt_uint8 ucAPSD;
1722
1723 /*Max SP Length*/
1724 wpt_uint8 ucMaxSPLen;
1725
1726 /*11n Green Field preamble support*/
1727 wpt_uint8 ucGreenFieldCapable;
1728
1729 /*MIMO Power Save mode*/
1730 WDI_HTMIMOPowerSaveState wdiMIMOPS;
1731
1732 /*Delayed BA Support*/
1733 wpt_uint8 ucDelayedBASupport;
1734
1735 /*Max AMPDU duration in 32us*/
1736 wpt_uint8 us32MaxAmpduDuratio;
1737
1738 /*HT STA should set it to 1 if it is enabled in BSS
1739 HT STA should set it to 0 if AP does not support it. This indication is
1740 sent to HAL and HAL uses this flag to pickup up appropriate 40Mhz rates.
1741 */
1742 wpt_uint8 ucDsssCckMode40Mhz;
1743
1744 wpt_uint8 ucP2pCapableSta;
Jeff Johnsone7245742012-09-05 17:12:55 -07001745#ifdef WLAN_FEATURE_11AC
1746 wpt_uint8 ucVhtCapableSta;
1747 wpt_uint8 ucVhtTxChannelWidthSet;
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08001748 wpt_uint8 ucVhtTxBFEnabled;
Abhishek Singh6927fa02014-06-27 17:19:55 +05301749 wpt_uint8 vhtTxMUBformeeCapable;
Jeff Johnsone7245742012-09-05 17:12:55 -07001750#endif
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08001751
1752 wpt_uint8 ucHtLdpcEnabled;
1753 wpt_uint8 ucVhtLdpcEnabled;
Jeff Johnson295189b2012-06-20 16:38:30 -07001754}WDI_ConfigStaReqInfoType;
1755
1756
1757/*---------------------------------------------------------------------------
1758 WDI_RateSet
1759
1760 12 Bytes long because this structure can be used to represent rate
1761 and extended rate set IEs
1762 The parser assume this to be at least 12
1763---------------------------------------------------------------------------*/
1764#define WDI_RATESET_EID_MAX 12
1765
1766typedef struct
1767{
1768 wpt_uint8 ucNumRates;
1769 wpt_uint8 aRates[WDI_RATESET_EID_MAX];
1770} WDI_RateSet;
1771
1772/*---------------------------------------------------------------------------
1773 WDI_AciAifsnType
1774 access category record
1775---------------------------------------------------------------------------*/
1776typedef struct
1777{
1778 wpt_uint8 rsvd : 1;
1779 wpt_uint8 aci : 2;
1780 wpt_uint8 acm : 1;
1781 wpt_uint8 aifsn : 4;
1782} WDI_AciAifsnType;
1783
1784/*---------------------------------------------------------------------------
1785 WDI_CWType
1786 contention window size
1787---------------------------------------------------------------------------*/
1788typedef struct
1789{
1790 wpt_uint8 max : 4;
1791 wpt_uint8 min : 4;
1792} WDI_CWType;
1793
1794/*---------------------------------------------------------------------------
1795 WDI_EdcaParamRecord
1796---------------------------------------------------------------------------*/
1797typedef struct
1798{
1799 /*Access Category Record*/
1800 WDI_AciAifsnType wdiACI;
1801
1802 /*Contention WIndow Size*/
1803 WDI_CWType wdiCW;
1804
1805 /*TX Oportunity Limit*/
1806 wpt_uint16 usTXOPLimit;
1807} WDI_EdcaParamRecord;
1808
1809/*---------------------------------------------------------------------------
1810 WDI_EDCAParamsType
1811---------------------------------------------------------------------------*/
1812typedef struct
1813{
1814 /*BSS Index*/
1815 wpt_uint8 ucBSSIdx;
1816
1817 /*?*/
1818 wpt_boolean bHighPerformance;
1819
1820 /*Best Effort*/
1821 WDI_EdcaParamRecord wdiACBE;
1822
1823 /*Background*/
1824 WDI_EdcaParamRecord wdiACBK;
1825
1826 /*Video*/
1827 WDI_EdcaParamRecord wdiACVI;
1828
1829 /*Voice*/
1830 WDI_EdcaParamRecord acvo; // voice
1831} WDI_EDCAParamsType;
1832
1833/* operMode in ADD BSS message */
1834#define WDI_BSS_OPERATIONAL_MODE_AP 0
1835#define WDI_BSS_OPERATIONAL_MODE_STA 1
1836
1837/*---------------------------------------------------------------------------
1838 WDI_ConfigBSSRspParamsType
1839---------------------------------------------------------------------------*/
1840typedef struct
1841{
1842 /*Status of the response*/
1843 WDI_Status wdiStatus;
1844
1845 /*BSSID of the BSS*/
1846 wpt_macAddr macBSSID;
1847
1848 /*BSS Index*/
1849 wpt_uint8 ucBSSIdx;
1850
1851 /*Unicast DPU signature*/
1852 wpt_uint8 ucUcastSig;
1853
1854 /*Broadcast DPU Signature*/
1855 wpt_uint8 ucBcastSig;
1856
1857 /*MAC Address of STA*/
1858 wpt_macAddr macSTA;
1859
1860 /*BSS STA ID*/
1861 wpt_uint8 ucSTAIdx;
1862
1863#ifdef WLAN_FEATURE_VOWIFI
1864 /*HAL fills in the tx power used for mgmt frames in this field */
1865 wpt_int8 ucTxMgmtPower;
1866#endif
1867
1868}WDI_ConfigBSSRspParamsType;
1869
1870/*---------------------------------------------------------------------------
1871 WDI_DelBSSReqParamsType
1872---------------------------------------------------------------------------*/
1873typedef struct
1874{
1875 /*BSS Index of the BSS*/
1876 wpt_uint8 ucBssIdx;
1877
1878 /*Request status callback offered by UMAC - it is called if the current
1879 req has returned PENDING as status; it delivers the status of sending
1880 the message over the BUS */
1881 WDI_ReqStatusCb wdiReqStatusCB;
1882
1883 /*The user data passed in by UMAC, it will be sent back when the above
1884 function pointer will be called */
1885 void* pUserData;
1886}WDI_DelBSSReqParamsType;
1887
1888/*---------------------------------------------------------------------------
1889 WDI_DelBSSRspParamsType
1890---------------------------------------------------------------------------*/
1891typedef struct
1892{
1893 /*Status of the response*/
1894 WDI_Status wdiStatus;
1895
1896 /*BSSID of the BSS*/
1897 wpt_macAddr macBSSID;
1898
1899 wpt_uint8 ucBssIdx;
1900
1901}WDI_DelBSSRspParamsType;
1902
1903/*---------------------------------------------------------------------------
1904 WDI_ConfigSTARspParamsType
1905---------------------------------------------------------------------------*/
1906typedef struct
1907{
1908 /*Status of the response*/
1909 WDI_Status wdiStatus;
1910
1911 /*STA Idx allocated by HAL*/
1912 wpt_uint8 ucSTAIdx;
1913
1914 /*MAC Address of STA*/
1915 wpt_macAddr macSTA;
1916
1917 /* BSSID Index of BSS to which the station is associated */
1918 wpt_uint8 ucBssIdx;
1919
1920 /* DPU Index - PTK */
1921 wpt_uint8 ucDpuIndex;
1922
1923 /* Bcast DPU Index - GTK */
1924 wpt_uint8 ucBcastDpuIndex;
1925
1926 /* Management DPU Index - IGTK - Why is it called bcastMgmtDpuIdx? */
1927 wpt_uint8 ucBcastMgmtDpuIdx;
1928
1929 /*Unicast DPU signature*/
1930 wpt_uint8 ucUcastSig;
1931
1932 /*Broadcast DPU Signature*/
1933 wpt_uint8 ucBcastSig;
1934
1935 /* IGTK DPU signature*/
1936 wpt_uint8 ucMgmtSig;
1937
1938}WDI_ConfigSTARspParamsType;
1939
1940/*---------------------------------------------------------------------------
1941 WDI_PostAssocRspParamsType
1942---------------------------------------------------------------------------*/
1943typedef struct
1944{
1945 /*Status of the response*/
1946 WDI_Status wdiStatus;
1947
1948 /*Parameters related to the BSS*/
1949 WDI_ConfigBSSRspParamsType bssParams;
1950
1951 /*Parameters related to the self STA*/
1952 WDI_ConfigSTARspParamsType staParams;
1953
1954}WDI_PostAssocRspParamsType;
1955
1956/*---------------------------------------------------------------------------
1957 WDI_DelSTAReqParamsType
1958---------------------------------------------------------------------------*/
1959typedef struct
1960{
1961 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
1962 wpt_uint8 ucSTAIdx;
1963
1964 /*Request status callback offered by UMAC - it is called if the current
1965 req has returned PENDING as status; it delivers the status of sending
1966 the message over the BUS */
1967 WDI_ReqStatusCb wdiReqStatusCB;
1968
1969 /*The user data passed in by UMAC, it will be sent back when the above
1970 function pointer will be called */
1971 void* pUserData;
1972}WDI_DelSTAReqParamsType;
1973
1974/*---------------------------------------------------------------------------
1975 WDI_DelSTARspParamsType
1976---------------------------------------------------------------------------*/
1977typedef struct
1978{
1979 /*Status of the response*/
1980 WDI_Status wdiStatus;
1981
1982 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
1983 wpt_uint8 ucSTAIdx;
1984}WDI_DelSTARspParamsType;
1985
1986/*---------------------------------------------------------------------------
1987 WDI_EncryptType
1988---------------------------------------------------------------------------*/
1989typedef enum
1990{
1991 WDI_ENCR_NONE,
1992 WDI_ENCR_WEP40,
1993 WDI_ENCR_WEP104,
1994 WDI_ENCR_TKIP,
1995 WDI_ENCR_CCMP,
1996#if defined(FEATURE_WLAN_WAPI)
1997 WDI_ENCR_WPI,
1998#endif
1999 WDI_ENCR_AES_128_CMAC
2000} WDI_EncryptType;
2001
2002/*---------------------------------------------------------------------------
2003 WDI_KeyDirectionType
2004---------------------------------------------------------------------------*/
2005typedef enum
2006{
2007 WDI_TX_ONLY,
2008 WDI_RX_ONLY,
2009 WDI_TX_RX,
Jeff Johnson295189b2012-06-20 16:38:30 -07002010 WDI_TX_DEFAULT,
Jeff Johnson295189b2012-06-20 16:38:30 -07002011 WDI_DONOT_USE_KEY_DIRECTION
2012} WDI_KeyDirectionType;
2013
2014#define WDI_MAX_ENCR_KEYS 4
2015#define WDI_MAX_KEY_LENGTH 32
2016#if defined(FEATURE_WLAN_WAPI)
2017#define WDI_MAX_KEY_RSC_LEN 16
2018#define WDI_WAPI_KEY_RSC_LEN 16
2019#else
2020#define WDI_MAX_KEY_RSC_LEN 8
2021#endif
2022
2023typedef struct
2024{
2025 /* Key ID */
2026 wpt_uint8 keyId;
2027 /* 0 for multicast */
2028 wpt_uint8 unicast;
2029 /* Key Direction */
2030 WDI_KeyDirectionType keyDirection;
2031 /* Usage is unknown */
2032 wpt_uint8 keyRsc[WDI_MAX_KEY_RSC_LEN];
2033 /* =1 for authenticator, =0 for supplicant */
2034 wpt_uint8 paeRole;
2035 wpt_uint16 keyLength;
2036 wpt_uint8 key[WDI_MAX_KEY_LENGTH];
2037
2038}WDI_KeysType;
2039
2040/*---------------------------------------------------------------------------
2041 WDI_SetBSSKeyReqInfoType
2042---------------------------------------------------------------------------*/
2043typedef struct
2044{
2045 /*BSS Index of the BSS*/
2046 wpt_uint8 ucBssIdx;
2047
2048 /*Encryption Type used with peer*/
2049 WDI_EncryptType wdiEncType;
2050
2051 /*Number of keys*/
2052 wpt_uint8 ucNumKeys;
2053
2054 /*Array of keys.*/
2055 WDI_KeysType aKeys[WDI_MAX_ENCR_KEYS];
2056
2057 /*Control for Replay Count, 1= Single TID based replay count on Tx
2058 0 = Per TID based replay count on TX */
2059 wpt_uint8 ucSingleTidRc;
2060}WDI_SetBSSKeyReqInfoType;
2061
2062/*---------------------------------------------------------------------------
2063 WDI_SetBSSKeyReqParamsType
2064---------------------------------------------------------------------------*/
2065typedef struct
2066{
2067 /*Key Info */
2068 WDI_SetBSSKeyReqInfoType wdiBSSKeyInfo;
2069
2070 /*Request status callback offered by UMAC - it is called if the current
2071 req has returned PENDING as status; it delivers the status of sending
2072 the message over the BUS */
2073 WDI_ReqStatusCb wdiReqStatusCB;
2074
2075 /*The user data passed in by UMAC, it will be sent back when the above
2076 function pointer will be called */
2077 void* pUserData;
2078}WDI_SetBSSKeyReqParamsType;
2079
2080/*---------------------------------------------------------------------------
2081 WDI_WepType
2082---------------------------------------------------------------------------*/
2083typedef enum
2084{
2085 WDI_WEP_STATIC,
2086 WDI_WEP_DYNAMIC
2087
2088} WDI_WepType;
2089
2090/*---------------------------------------------------------------------------
2091 WDI_RemoveBSSKeyReqInfoType
2092---------------------------------------------------------------------------*/
2093typedef struct
2094{
2095 /*BSS Index of the BSS*/
2096 wpt_uint8 ucBssIdx;
2097
2098 /*Encryption Type used with peer*/
2099 WDI_EncryptType wdiEncType;
2100
2101 /*Key Id*/
2102 wpt_uint8 ucKeyId;
2103
2104 /*STATIC/DYNAMIC. Used in Nullifying in Key Descriptors for Static/Dynamic
2105 keys*/
2106 WDI_WepType wdiWEPType;
2107}WDI_RemoveBSSKeyReqInfoType;
2108
2109/*---------------------------------------------------------------------------
2110 WDI_RemoveBSSKeyReqParamsType
2111---------------------------------------------------------------------------*/
2112typedef struct
2113{
2114 /*Key Info */
2115 WDI_RemoveBSSKeyReqInfoType wdiKeyInfo;
2116
2117 /*Request status callback offered by UMAC - it is called if the current
2118 req has returned PENDING as status; it delivers the status of sending
2119 the message over the BUS */
2120 WDI_ReqStatusCb wdiReqStatusCB;
2121
2122 /*The user data passed in by UMAC, it will be sent back when the above
2123 function pointer will be called */
2124 void* pUserData;
2125}WDI_RemoveBSSKeyReqParamsType;
2126
2127/*---------------------------------------------------------------------------
2128 WDI_SetSTAKeyReqInfoType
2129---------------------------------------------------------------------------*/
2130typedef struct
2131{
2132 /*STA Index*/
2133 wpt_uint8 ucSTAIdx;
2134
2135 /*Encryption Type used with peer*/
2136 WDI_EncryptType wdiEncType;
2137
2138 /*STATIC/DYNAMIC*/
2139 WDI_WepType wdiWEPType;
2140
2141 /*Default WEP key, valid only for static WEP, must between 0 and 3.*/
2142 wpt_uint8 ucDefWEPIdx;
2143
2144 /*Number of keys*/
2145 wpt_uint8 ucNumKeys;
2146
2147 /*Array of keys.*/
2148 WDI_KeysType wdiKey[WDI_MAX_ENCR_KEYS];
2149
2150 /*Control for Replay Count, 1= Single TID based replay count on Tx
2151 0 = Per TID based replay count on TX */
2152 wpt_uint8 ucSingleTidRc;
2153}WDI_SetSTAKeyReqInfoType;
2154
2155/*---------------------------------------------------------------------------
2156 WDI_ConfigBSSReqInfoType
2157---------------------------------------------------------------------------*/
2158typedef struct
2159{
2160 /*Peer BSSID*/
2161 wpt_macAddr macBSSID;
2162
2163 /*Self MAC Address*/
2164 wpt_macAddr macSelfAddr;
2165
2166 /*BSS Type*/
2167 WDI_BssType wdiBSSType;
2168
2169 /*Operational Mode: AP =0, STA = 1*/
2170 wpt_uint8 ucOperMode;
2171
2172 /*Network Type*/
2173 WDI_NwType wdiNWType;
2174
2175 /*Used to classify PURE_11G/11G_MIXED to program MTU*/
2176 wpt_uint8 ucShortSlotTimeSupported;
2177
2178 /*Co-exist with 11a STA*/
2179 wpt_uint8 ucllaCoexist;
2180
2181 /*Co-exist with 11b STA*/
2182 wpt_uint8 ucllbCoexist;
2183
2184 /*Co-exist with 11g STA*/
2185 wpt_uint8 ucllgCoexist;
2186
2187 /*Coexistence with 11n STA*/
2188 wpt_uint8 ucHT20Coexist;
2189
2190 /*Non GF coexist flag*/
2191 wpt_uint8 ucllnNonGFCoexist;
2192
2193 /*TXOP protection support*/
2194 wpt_uint8 ucTXOPProtectionFullSupport;
2195
2196 /*RIFS mode*/
2197 wpt_uint8 ucRIFSMode;
2198
2199 /*Beacon Interval in TU*/
2200 wpt_uint16 usBeaconInterval;
2201
2202 /*DTIM period*/
2203 wpt_uint8 ucDTIMPeriod;
2204
2205 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
2206 wpt_uint8 ucTXChannelWidthSet;
2207
2208 /*Operating channel*/
2209 wpt_uint8 ucCurrentOperChannel;
2210
2211 /*Extension channel for channel bonding*/
2212 wpt_uint8 ucCurrentExtChannel;
2213
2214 /*Context of the station being added in HW.*/
2215 WDI_ConfigStaReqInfoType wdiSTAContext;
2216
2217 /*SSID of the BSS*/
2218 WDI_MacSSid wdiSSID;
2219
2220 /*HAL should update the existing BSS entry, if this flag is set. UMAC will
2221 set this flag in case of RE-ASSOC, where we want to reuse the old BSSID*/
2222 WDI_ConfigAction wdiAction;
2223
2224 /*Basic Rate Set*/
2225 WDI_RateSet wdiRateSet;
2226
2227 /*Enable/Disable HT capabilities of the BSS*/
2228 wpt_uint8 ucHTCapable;
2229
2230 /* Enable/Disable OBSS protection */
2231 wpt_uint8 ucObssProtEnabled;
2232
2233 /*RMF enabled/disabled*/
2234 wpt_uint8 ucRMFEnabled;
2235
2236 /*Determines the current HT Operating Mode operating mode of the
2237 802.11n STA*/
2238 WDI_HTOperatingMode wdiHTOperMod;
2239
2240 /*Dual CTS Protection: 0 - Unused, 1 - Used*/
2241 wpt_uint8 ucDualCTSProtection;
2242
2243 /* Probe Response Max retries */
2244 wpt_uint8 ucMaxProbeRespRetryLimit;
2245
2246 /* To Enable Hidden ssid */
2247 wpt_uint8 bHiddenSSIDEn;
2248
2249 /* To Enable Disable FW Proxy Probe Resp */
2250 wpt_uint8 bProxyProbeRespEn;
2251
2252 /* Boolean to indicate if EDCA params are valid. UMAC might not have valid
2253 EDCA params or might not desire to apply EDCA params during config BSS.
2254 0 implies Not Valid ; Non-Zero implies valid*/
2255 wpt_uint8 ucEDCAParamsValid;
2256
2257 /*EDCA Parameters for BK*/
2258 WDI_EdcaParamRecord wdiBKEDCAParams;
2259
2260 /*EDCA Parameters for BE*/
2261 WDI_EdcaParamRecord wdiBEEDCAParams;
2262
2263 /*EDCA Parameters for VI*/
2264 WDI_EdcaParamRecord wdiVIEDCAParams;
2265
2266 /*EDCA Parameters for VO*/
2267 WDI_EdcaParamRecord wdiVOEDCAParams;
2268
2269#ifdef WLAN_FEATURE_VOWIFI
2270 /*max power to be used after applying the power constraint, if any */
2271 wpt_int8 cMaxTxPower;
2272#endif
2273
2274 /* Persona for the BSS can be STA,AP,GO,CLIENT, same as Connection Mode */
2275 wpt_uint8 ucPersona;
2276
2277 /* Spectrum Mangement Indicator */
2278 wpt_uint8 bSpectrumMgtEn;
2279
2280#ifdef WLAN_FEATURE_VOWIFI_11R
2281 wpt_uint8 bExtSetStaKeyParamValid;
2282 WDI_SetSTAKeyReqInfoType wdiExtSetKeyParam;
2283#endif
2284
Jeff Johnsone7245742012-09-05 17:12:55 -07002285#ifdef WLAN_FEATURE_11AC
2286 wpt_uint8 ucVhtCapableSta;
2287 wpt_uint8 ucVhtTxChannelWidthSet;
2288#endif
2289
Jeff Johnson295189b2012-06-20 16:38:30 -07002290}WDI_ConfigBSSReqInfoType;
2291
2292/*---------------------------------------------------------------------------
2293 WDI_PostAssocReqParamsType
2294---------------------------------------------------------------------------*/
2295typedef struct
2296{
2297 /*Config STA arguments.*/
2298 WDI_ConfigStaReqInfoType wdiSTAParams;
2299
2300 /*Config BSS Arguments*/
2301 WDI_ConfigBSSReqInfoType wdiBSSParams;
2302
2303 /*Request status callback offered by UMAC - it is called if the current
2304 req has returned PENDING as status; it delivers the status of sending
2305 the message over the BUS */
2306 WDI_ReqStatusCb wdiReqStatusCB;
2307
2308 /*The user data passed in by UMAC, it will be sent back when the above
2309 function pointer will be called */
2310 void* pUserData;
2311}WDI_PostAssocReqParamsType;
2312
2313/*---------------------------------------------------------------------------
2314 WDI_ConfigBSSReqParamsType
2315---------------------------------------------------------------------------*/
2316typedef struct
2317{
2318 /*Info for the Join request that will be sent down to the device*/
2319 WDI_ConfigBSSReqInfoType wdiReqInfo;
2320
2321 /*Request status callback offered by UMAC - it is called if the current
2322 req has returned PENDING as status; it delivers the status of sending
2323 the message over the BUS */
2324 WDI_ReqStatusCb wdiReqStatusCB;
2325
2326 /*The user data passed in by UMAC, it will be sent back when the above
2327 function pointer will be called */
2328 void* pUserData;
2329}WDI_ConfigBSSReqParamsType;
2330
2331/*---------------------------------------------------------------------------
2332 WDI_SetSTAKeyReqParamsType
2333---------------------------------------------------------------------------*/
2334typedef struct
2335{
2336 /*Key Info*/
2337 WDI_SetSTAKeyReqInfoType wdiKeyInfo;
2338
2339 /*Request status callback offered by UMAC - it is called if the current
2340 req has returned PENDING as status; it delivers the status of sending
2341 the message over the BUS */
2342 WDI_ReqStatusCb wdiReqStatusCB;
2343
2344 /*The user data passed in by UMAC, it will be sent back when the above
2345 function pointer will be called */
2346 void* pUserData;
2347}WDI_SetSTAKeyReqParamsType;
2348
2349/*---------------------------------------------------------------------------
2350 WDI_RemoveSTAKeyReqInfoType
2351---------------------------------------------------------------------------*/
2352typedef struct
2353{
2354 /*STA Index*/
2355 wpt_uint8 ucSTAIdx;
2356
2357 /*Encryption Type used with peer*/
2358 WDI_EncryptType wdiEncType;
2359
2360 /*Key Id*/
2361 wpt_uint8 ucKeyId;
2362
2363 /*Whether to invalidate the Broadcast key or Unicast key. In case of WEP,
2364 the same key is used for both broadcast and unicast.*/
2365 wpt_uint8 ucUnicast;
2366}WDI_RemoveSTAKeyReqInfoType;
2367
2368/*---------------------------------------------------------------------------
2369 WDI_RemoveSTAKeyReqParamsType
2370---------------------------------------------------------------------------*/
2371typedef struct
2372{
2373 /*Key Info */
2374 WDI_RemoveSTAKeyReqInfoType wdiKeyInfo;
2375
2376 /*Request status callback offered by UMAC - it is called if the current
2377 req has returned PENDING as status; it delivers the status of sending
2378 the message over the BUS */
2379 WDI_ReqStatusCb wdiReqStatusCB;
2380
2381 /*The user data passed in by UMAC, it will be sent back when the above
2382 function pointer will be called */
2383 void* pUserData;
2384}WDI_RemoveSTAKeyReqParamsType;
2385
2386/*---------------------------------------------------------------------------
2387 QOS Parameters
2388---------------------------------------------------------------------------*/
2389
2390/*---------------------------------------------------------------------------
2391 WDI_TSInfoTfc
2392---------------------------------------------------------------------------*/
2393typedef struct
2394{
2395 wpt_uint16 ackPolicy:2;
2396 wpt_uint16 userPrio:3;
2397 wpt_uint16 psb:1;
2398 wpt_uint16 aggregation : 1;
2399 wpt_uint16 accessPolicy : 2;
2400 wpt_uint16 direction : 2;
2401 wpt_uint16 tsid : 4;
2402 wpt_uint16 trafficType : 1;
2403} WDI_TSInfoTfc;
2404
2405/*---------------------------------------------------------------------------
2406 WDI_TSInfoSch
2407---------------------------------------------------------------------------*/
2408typedef struct
2409{
2410 wpt_uint8 rsvd : 7;
2411 wpt_uint8 schedule : 1;
2412} WDI_TSInfoSch;
2413
2414/*---------------------------------------------------------------------------
2415 WDI_TSInfoType
2416---------------------------------------------------------------------------*/
2417typedef struct
2418{
2419 WDI_TSInfoTfc wdiTraffic;
2420 WDI_TSInfoSch wdiSchedule;
2421} WDI_TSInfoType;
2422
2423/*---------------------------------------------------------------------------
2424 WDI_TspecIEType
2425---------------------------------------------------------------------------*/
2426typedef struct
2427{
2428 wpt_uint8 ucType;
2429 wpt_uint8 ucLength;
2430 WDI_TSInfoType wdiTSinfo;
2431 wpt_uint16 usNomMsduSz;
2432 wpt_uint16 usMaxMsduSz;
2433 wpt_uint32 uMinSvcInterval;
2434 wpt_uint32 uMaxSvcInterval;
2435 wpt_uint32 uInactInterval;
2436 wpt_uint32 uSuspendInterval;
2437 wpt_uint32 uSvcStartTime;
2438 wpt_uint32 uMinDataRate;
2439 wpt_uint32 uMeanDataRate;
2440 wpt_uint32 uPeakDataRate;
2441 wpt_uint32 uMaxBurstSz;
2442 wpt_uint32 uDelayBound;
2443 wpt_uint32 uMinPhyRate;
2444 wpt_uint16 usSurplusBw;
2445 wpt_uint16 usMediumTime;
2446}WDI_TspecIEType;
2447
2448/*---------------------------------------------------------------------------
2449 WDI_AddTSReqInfoType
2450---------------------------------------------------------------------------*/
2451typedef struct
2452{
2453 /*STA Index*/
2454 wpt_uint8 ucSTAIdx;
2455
2456 /*Identifier for TSpec*/
2457 wpt_uint16 ucTspecIdx;
2458
2459 /*Tspec IE negotiated OTA*/
2460 WDI_TspecIEType wdiTspecIE;
2461
2462 /*UAPSD delivery and trigger enabled flags */
2463 wpt_uint8 ucUapsdFlags;
2464
2465 /*SI for each AC*/
2466 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
2467
2468 /*Suspend Interval for each AC*/
2469 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
2470
2471 /*DI for each AC*/
2472 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
2473
2474}WDI_AddTSReqInfoType;
2475
2476
2477/*---------------------------------------------------------------------------
2478 WDI_AddTSReqParamsType
2479---------------------------------------------------------------------------*/
2480typedef struct
2481{
2482 /*TSpec Info */
2483 WDI_AddTSReqInfoType wdiTsInfo;
2484
2485 /*Request status callback offered by UMAC - it is called if the current
2486 req has returned PENDING as status; it delivers the status of sending
2487 the message over the BUS */
2488 WDI_ReqStatusCb wdiReqStatusCB;
2489
2490 /*The user data passed in by UMAC, it will be sent back when the above
2491 function pointer will be called */
2492 void* pUserData;
2493}WDI_AddTSReqParamsType;
2494
2495/*---------------------------------------------------------------------------
2496 WDI_DelTSReqInfoType
2497---------------------------------------------------------------------------*/
2498typedef struct
2499{
2500 /*STA Index*/
2501 wpt_uint8 ucSTAIdx;
2502
2503 /*Identifier for TSpec*/
2504 wpt_uint16 ucTspecIdx;
2505
2506 /*BSSID of the BSS*/
2507 wpt_macAddr macBSSID;
2508}WDI_DelTSReqInfoType;
2509
2510/*---------------------------------------------------------------------------
2511 WDI_DelTSReqParamsType
2512---------------------------------------------------------------------------*/
2513typedef struct
2514{
2515 /*Del TSpec Info*/
2516 WDI_DelTSReqInfoType wdiDelTSInfo;
2517
2518 /*Request status callback offered by UMAC - it is called if the current
2519 req has returned PENDING as status; it delivers the status of sending
2520 the message over the BUS */
2521 WDI_ReqStatusCb wdiReqStatusCB;
2522
2523 /*The user data passed in by UMAC, it will be sent back when the above
2524 function pointer will be called */
2525 void* pUserData;
2526}WDI_DelTSReqParamsType;
2527
2528/*---------------------------------------------------------------------------
2529 WDI_UpdateEDCAInfoType
2530---------------------------------------------------------------------------*/
2531typedef struct
2532{
krunal soni0b366c02013-07-17 19:55:57 -07002533 /*BSS Index of the BSS*/
2534 wpt_uint16 ucBssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07002535
Jeff Johnson295189b2012-06-20 16:38:30 -07002536 /*EDCA params for BE*/
2537 WDI_EdcaParamRecord wdiEdcaBEInfo;
2538
2539 /*EDCA params for BK*/
2540 WDI_EdcaParamRecord wdiEdcaBKInfo;
2541
2542 /*EDCA params for VI*/
2543 WDI_EdcaParamRecord wdiEdcaVIInfo;
2544
2545 /*EDCA params for VO*/
2546 WDI_EdcaParamRecord wdiEdcaVOInfo;
2547
2548}WDI_UpdateEDCAInfoType;
2549
2550/*---------------------------------------------------------------------------
2551 WDI_UpdateEDCAParamsType
2552---------------------------------------------------------------------------*/
2553typedef struct
2554{
2555 /*EDCA Info */
2556 WDI_UpdateEDCAInfoType wdiEDCAInfo;
2557
2558 /*Request status callback offered by UMAC - it is called if the current
2559 req has returned PENDING as status; it delivers the status of sending
2560 the message over the BUS */
2561 WDI_ReqStatusCb wdiReqStatusCB;
2562
2563 /*The user data passed in by UMAC, it will be sent back when the above
2564 function pointer will be called */
2565 void* pUserData;
2566}WDI_UpdateEDCAParamsType;
2567
2568/*---------------------------------------------------------------------------
2569 WDI_AddBASessionReqinfoType
2570---------------------------------------------------------------------------*/
2571typedef struct
2572{
2573 /*Indicates the station for which BA is added..*/
2574 wpt_uint8 ucSTAIdx;
2575
2576 /*The peer mac address*/
2577 wpt_macAddr macPeerAddr;
2578
2579 /*TID for which BA was negotiated*/
2580 wpt_uint8 ucBaTID;
2581
2582 /*Delayed or imediate */
2583 wpt_uint8 ucBaPolicy;
2584
2585 /*The number of buffers for this TID (baTID)*/
2586 wpt_uint16 usBaBufferSize;
2587
2588 /*BA timeout in TU's*/
2589 wpt_uint16 usBaTimeout;
2590
2591 /*b0..b3 - Fragment Number - Always set to 0
2592 b4..b15 - Starting Sequence Number of first MSDU for which this BA is setup*/
2593 wpt_uint16 usBaSSN;
2594
2595 /*Originator/Recipient*/
2596 wpt_uint8 ucBaDirection;
2597
2598}WDI_AddBASessionReqinfoType;
2599
2600
2601/*---------------------------------------------------------------------------
2602 WDI_AddBASessionReqParamsType
2603---------------------------------------------------------------------------*/
2604typedef struct
2605{
2606 /*BA Session Info Type*/
2607 WDI_AddBASessionReqinfoType wdiBASessionInfoType;
2608
2609 /*Request status callback offered by UMAC - it is called if the current
2610 req has returned PENDING as status; it delivers the status of sending
2611 the message over the BUS */
2612 WDI_ReqStatusCb wdiReqStatusCB;
2613
2614 /*The user data passed in by UMAC, it will be sent back when the above
2615 function pointer will be called */
2616 void* pUserData;
2617}WDI_AddBASessionReqParamsType;
2618
2619/*---------------------------------------------------------------------------
2620 WDI_AddBASessionRspParamsType
2621---------------------------------------------------------------------------*/
2622typedef struct
2623{
2624 /*Status of the response*/
2625 WDI_Status wdiStatus;
2626
2627 /* Dialog token */
2628 wpt_uint8 ucBaDialogToken;
2629
2630 /* TID for which the BA session has been setup */
2631 wpt_uint8 ucBaTID;
2632
2633 /* BA Buffer Size allocated for the current BA session */
2634 wpt_uint8 ucBaBufferSize;
2635
2636 /* BA session ID */
2637 wpt_uint16 usBaSessionID;
2638
2639 /* Reordering Window buffer */
2640 wpt_uint8 ucWinSize;
2641
2642 /*Station Index to id the sta */
2643 wpt_uint8 ucSTAIdx;
2644
2645 /* Starting Sequence Number */
2646 wpt_uint16 usBaSSN;
2647
2648}WDI_AddBASessionRspParamsType;
2649
2650/*---------------------------------------------------------------------------
Siddharth Bhal171788a2014-09-29 21:02:40 +05302651 WDI_SpoofMacAddrRspParamType
2652---------------------------------------------------------------------------*/
2653typedef struct
2654{
2655 /* wdi status */
2656 wpt_uint32 wdiStatus;
2657
2658 /* Reserved Field */
2659 wpt_uint32 reserved;
2660
2661}WDI_SpoofMacAddrRspParamType;
2662/*---------------------------------------------------------------------------
Siddharth Bhal64246172015-02-27 01:04:37 +05302663 WDI_GetFrameLogRspParamType
2664---------------------------------------------------------------------------*/
2665typedef struct
2666{
2667 /* wdi status */
2668 wpt_uint32 wdiStatus;
2669}WDI_GetFrameLogRspParamType;
2670/*---------------------------------------------------------------------------
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05302671 WDI_MgmtLoggingRspParamType
2672---------------------------------------------------------------------------*/
2673typedef struct
2674{
2675 /* wdi status */
2676 wpt_uint32 wdiStatus;
2677
2678}WDI_MgmtLoggingRspParamType;
2679/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07002680 WDI_AddBAReqinfoType
2681---------------------------------------------------------------------------*/
2682typedef struct
2683{
2684 /*Indicates the station for which BA is added..*/
2685 wpt_uint8 ucSTAIdx;
2686
2687 /* Session Id */
2688 wpt_uint8 ucBaSessionID;
2689
2690 /* Reorder Window Size */
2691 wpt_uint8 ucWinSize;
2692
2693#ifdef FEATURE_ON_CHIP_REORDERING
2694 wpt_boolean bIsReorderingDoneOnChip;
2695#endif
2696
2697}WDI_AddBAReqinfoType;
2698
2699
2700/*---------------------------------------------------------------------------
2701 WDI_AddBAReqParamsType
2702---------------------------------------------------------------------------*/
2703typedef struct
2704{
2705 /*BA Info Type*/
2706 WDI_AddBAReqinfoType wdiBAInfoType;
2707
2708 /*Request status callback offered by UMAC - it is called if the current
2709 req has returned PENDING as status; it delivers the status of sending
2710 the message over the BUS */
2711 WDI_ReqStatusCb wdiReqStatusCB;
2712
2713 /*The user data passed in by UMAC, it will be sent back when the above
2714 function pointer will be called */
2715 void* pUserData;
2716}WDI_AddBAReqParamsType;
2717
2718
2719/*---------------------------------------------------------------------------
2720 WDI_AddBARspinfoType
2721---------------------------------------------------------------------------*/
2722typedef struct
2723{
2724 /*Status of the response*/
2725 WDI_Status wdiStatus;
2726
2727 /* Dialog token */
2728 wpt_uint8 ucBaDialogToken;
2729
2730}WDI_AddBARspinfoType;
2731
2732/*---------------------------------------------------------------------------
2733 WDI_TriggerBAReqCandidateType
2734---------------------------------------------------------------------------*/
2735typedef struct
2736{
2737 /* STA index */
2738 wpt_uint8 ucSTAIdx;
2739
2740 /* TID bit map for the STA's*/
2741 wpt_uint8 ucTidBitmap;
2742
2743}WDI_TriggerBAReqCandidateType;
2744
2745
2746/*---------------------------------------------------------------------------
2747 WDI_TriggerBAReqinfoType
2748---------------------------------------------------------------------------*/
2749typedef struct
2750{
2751 /*Indicates the station for which BA is added..*/
2752 wpt_uint8 ucSTAIdx;
2753
2754 /* Session Id */
2755 wpt_uint8 ucBASessionID;
2756
2757 /* Trigger BA Request candidate count */
2758 wpt_uint16 usBACandidateCnt;
2759
2760 /* WDI_TriggerBAReqCandidateType followed by this*/
2761
2762}WDI_TriggerBAReqinfoType;
2763
2764
2765/*---------------------------------------------------------------------------
2766 WDI_TriggerBAReqParamsType
2767---------------------------------------------------------------------------*/
2768typedef struct
2769{
2770 /*BA Trigger Info Type*/
2771 WDI_TriggerBAReqinfoType wdiTriggerBAInfoType;
2772
2773 /*Request status callback offered by UMAC - it is called if the current
2774 req has returned PENDING as status; it delivers the status of sending
2775 the message over the BUS */
2776 WDI_ReqStatusCb wdiReqStatusCB;
2777
2778 /*The user data passed in by UMAC, it will be sent back when the above
2779 function pointer will be called */
2780 void* pUserData;
2781}WDI_TriggerBAReqParamsType;
2782
2783/*---------------------------------------------------------------------------
2784 WDI_AddBAInfoType
2785---------------------------------------------------------------------------*/
2786typedef struct
2787{
2788 wpt_uint16 fBaEnable : 1;
2789 wpt_uint16 startingSeqNum: 12;
2790 wpt_uint16 reserved : 3;
2791}WDI_AddBAInfoType;
2792
2793/*---------------------------------------------------------------------------
2794 WDI_TriggerBARspCandidateType
2795---------------------------------------------------------------------------*/
2796#define STA_MAX_TC 8
2797
2798typedef struct
2799{
2800 /* STA index */
2801 wpt_macAddr macSTA;
2802
2803 /* BA Info */
2804 WDI_AddBAInfoType wdiBAInfo[STA_MAX_TC];
2805}WDI_TriggerBARspCandidateType;
2806
2807/*---------------------------------------------------------------------------
2808 WDI_TriggerBARspParamsType
2809---------------------------------------------------------------------------*/
2810typedef struct
2811{
2812 /*Status of the response*/
2813 WDI_Status wdiStatus;
2814
2815 /*BSSID of the BSS*/
2816 wpt_macAddr macBSSID;
2817
2818 /* Trigger BA response candidate count */
2819 wpt_uint16 usBaCandidateCnt;
2820
2821 /* WDI_TriggerBARspCandidateType followed by this*/
2822
2823}WDI_TriggerBARspParamsType;
2824
2825/*---------------------------------------------------------------------------
2826 WDI_DelBAReqinfoType
2827---------------------------------------------------------------------------*/
2828typedef struct
2829{
2830 /*Indicates the station for which BA is added..*/
2831 wpt_uint8 ucSTAIdx;
2832
2833 /*TID for which BA was negotiated*/
2834 wpt_uint8 ucBaTID;
2835
2836 /*Originator/Recipient*/
2837 wpt_uint8 ucBaDirection;
2838
2839}WDI_DelBAReqinfoType;
2840
2841/*---------------------------------------------------------------------------
2842 WDI_DelBAReqParamsType
2843---------------------------------------------------------------------------*/
2844typedef struct
2845{
2846 /*BA Info */
2847 WDI_DelBAReqinfoType wdiBAInfo;
2848
2849 /*Request status callback offered by UMAC - it is called if the current
2850 req has returned PENDING as status; it delivers the status of sending
2851 the message over the BUS */
2852 WDI_ReqStatusCb wdiReqStatusCB;
2853
2854 /*The user data passed in by UMAC, it will be sent back when the above
2855 function pointer will be called */
2856 void* pUserData;
2857}WDI_DelBAReqParamsType;
2858
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08002859/*---------------------------------------------------------------------------
2860 WDI_UpdateChannelReqinfoType
2861---------------------------------------------------------------------------*/
2862typedef struct
2863{
2864 /** primary 20 MHz channel frequency in mhz */
2865 wpt_uint32 mhz;
2866 /** Center frequency 1 in MHz*/
2867 wpt_uint32 band_center_freq1;
2868 /** Center frequency 2 in MHz - valid only for 11acvht 80plus80 mode*/
2869 wpt_uint32 band_center_freq2;
2870 /* The first 26 bits are a bit mask to indicate any channel flags,
2871 (see WLAN_HAL_CHAN_FLAG*)
2872 The last 6 bits indicate the mode (see tChannelPhyModeType)*/
2873 wpt_uint32 channel_info;
2874 /** contains min power, max power, reg power and reg class id. */
2875 wpt_uint32 reg_info_1;
2876 /** contains antennamax */
2877 wpt_uint32 reg_info_2;
2878}WDI_UpdateChannelReqinfoType;
2879
2880typedef struct
2881{
2882 wpt_uint8 numchan;
2883 WDI_UpdateChannelReqinfoType *pchanParam;
2884}WDI_UpdateChannelReqType;
2885/*---------------------------------------------------------------------------
2886 WDI_UpdateChReqParamsType
2887---------------------------------------------------------------------------*/
2888typedef struct
2889{
2890 /*BA Info */
2891 WDI_UpdateChannelReqType wdiUpdateChanParams;
2892
2893 /*Request status callback offered by UMAC - it is called if the current
2894 req has returned PENDING as status; it delivers the status of sending
2895 the message over the BUS */
2896 WDI_ReqStatusCb wdiReqStatusCB;
2897
2898 /*The user data passed in by UMAC, it will be sent back when the above
2899 function pointer will be called */
2900 void* pUserData;
2901}WDI_UpdateChReqParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07002902
2903/*---------------------------------------------------------------------------
2904 WDI_SwitchCHRspParamsType
2905---------------------------------------------------------------------------*/
2906typedef struct
2907{
2908 /*Status of the response*/
2909 WDI_Status wdiStatus;
2910
2911 /*Indicates the channel that WLAN is on*/
2912 wpt_uint8 ucChannel;
2913
2914#ifdef WLAN_FEATURE_VOWIFI
2915 /*HAL fills in the tx power used for mgmt frames in this field.*/
2916 wpt_int8 ucTxMgmtPower;
2917#endif
2918
2919}WDI_SwitchCHRspParamsType;
2920
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08002921/*--------------------------------------------------------------------
2922 WDI_SwitchChRspParamsType_V1
2923--------------------------------------------------------------------*/
2924typedef struct
2925{
2926 /*Status of the response*/
2927 WDI_Status wdiStatus;
2928
2929 /*Indicates the channel that WLAN is on*/
2930 wpt_uint8 ucChannel;
2931
2932#ifdef WLAN_FEATURE_VOWIFI
2933 /*HAL fills in the tx power used for mgmt frames in this field.*/
2934 wpt_int8 ucTxMgmtPower;
2935#endif
2936
2937 /* Source of Channel Switch */
2938 WDI_ChanSwitchSource channelSwitchSrc;
2939}WDI_SwitchChRspParamsType_V1;
2940
Jeff Johnson295189b2012-06-20 16:38:30 -07002941/*---------------------------------------------------------------------------
2942 WDI_ConfigSTAReqParamsType
2943---------------------------------------------------------------------------*/
2944typedef struct
2945{
2946 /*Info for the Join request that will be sent down to the device*/
2947 WDI_ConfigStaReqInfoType wdiReqInfo;
2948
2949 /*Request status callback offered by UMAC - it is called if the current
2950 req has returned PENDING as status; it delivers the status of sending
2951 the message over the BUS */
2952 WDI_ReqStatusCb wdiReqStatusCB;
2953
2954 /*The user data passed in by UMAC, it will be sent back when the above
2955 function pointer will be called */
2956 void* pUserData;
2957}WDI_ConfigSTAReqParamsType;
2958
2959
2960/*---------------------------------------------------------------------------
2961 WDI_UpdateBeaconParamsInfoType
2962---------------------------------------------------------------------------*/
2963
2964typedef struct
2965{
2966 /*BSS Index of the BSS*/
2967 wpt_uint8 ucBssIdx;
2968
2969 /*shortPreamble mode. HAL should update all the STA rates when it
2970 receives this message*/
2971 wpt_uint8 ucfShortPreamble;
2972 /* short Slot time.*/
2973 wpt_uint8 ucfShortSlotTime;
2974 /* Beacon Interval */
2975 wpt_uint16 usBeaconInterval;
2976 /*Protection related */
2977 wpt_uint8 ucllaCoexist;
2978 wpt_uint8 ucllbCoexist;
2979 wpt_uint8 ucllgCoexist;
2980 wpt_uint8 ucHt20MhzCoexist;
2981 wpt_uint8 ucllnNonGFCoexist;
2982 wpt_uint8 ucfLsigTXOPProtectionFullSupport;
2983 wpt_uint8 ucfRIFSMode;
2984
2985 wpt_uint16 usChangeBitmap;
2986}WDI_UpdateBeaconParamsInfoType;
2987
Mohit Khanna4a70d262012-09-11 16:30:12 -07002988#ifdef WLAN_FEATURE_11AC
2989typedef struct
2990{
2991 wpt_uint16 opMode;
2992 wpt_uint16 staId;
2993}WDI_UpdateVHTOpMode;
2994#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07002995
2996/*---------------------------------------------------------------------------
2997 WDI_UpdateBeaconParamsType
2998---------------------------------------------------------------------------*/
2999typedef struct
3000{
3001 /*Update Beacon Params Info*/
3002 WDI_UpdateBeaconParamsInfoType wdiUpdateBeaconParamsInfo;
3003
3004 /*Request status callback offered by UMAC - it is called if the current
3005 req has returned PENDING as status; it delivers the status of sending
3006 the message over the BUS */
3007 WDI_ReqStatusCb wdiReqStatusCB;
3008
3009 /*The user data passed in by UMAC, it will be sent back when the above
3010 function pointer will be called */
3011 void* pUserData;
3012}WDI_UpdateBeaconParamsType;
3013
3014/*---------------------------------------------------------------------------
3015 WDI_SendBeaconParamsInfoType
3016---------------------------------------------------------------------------*/
3017
3018typedef struct {
3019
3020 /*BSSID of the BSS*/
3021 wpt_macAddr macBSSID;
3022
3023 /* Beacon data */
3024 wpt_uint8 beacon[WDI_BEACON_TEMPLATE_SIZE];
3025
3026 /* length of the template */
3027 wpt_uint32 beaconLength;
3028
Jeff Johnson295189b2012-06-20 16:38:30 -07003029 /* TIM IE offset from the beginning of the template.*/
3030 wpt_uint32 timIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07003031
Jeff Johnson295189b2012-06-20 16:38:30 -07003032 /* P2P IE offset from the beginning of the template */
3033 wpt_uint16 usP2PIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07003034} WDI_SendBeaconParamsInfoType;
3035
3036/*---------------------------------------------------------------------------
3037 WDI_SendBeaconParamsType
3038---------------------------------------------------------------------------*/
3039typedef struct
3040{
3041 /*Send Beacon Params Info*/
3042 WDI_SendBeaconParamsInfoType wdiSendBeaconParamsInfo;
3043
3044 /*Request status callback offered by UMAC - it is called if the current
3045 req has returned PENDING as status; it delivers the status of sending
3046 the message over the BUS */
3047 WDI_ReqStatusCb wdiReqStatusCB;
3048
3049 /*The user data passed in by UMAC, it will be sent back when the above
3050 function pointer will be called */
3051 void* pUserData;
3052}WDI_SendBeaconParamsType;
3053
3054/*---------------------------------------------------------------------------
3055 WDI_LinkStateType
3056---------------------------------------------------------------------------*/
3057typedef enum
3058{
3059 WDI_LINK_IDLE_STATE = 0,
3060 WDI_LINK_PREASSOC_STATE = 1,
3061 WDI_LINK_POSTASSOC_STATE = 2,
3062 WDI_LINK_AP_STATE = 3,
3063 WDI_LINK_IBSS_STATE = 4,
3064
3065 // BT-AMP Case
3066 WDI_LINK_BTAMP_PREASSOC_STATE = 5,
3067 WDI_LINK_BTAMP_POSTASSOC_STATE = 6,
3068 WDI_LINK_BTAMP_AP_STATE = 7,
3069 WDI_LINK_BTAMP_STA_STATE = 8,
3070
3071 // Reserved for HAL internal use
3072 WDI_LINK_LEARN_STATE = 9,
3073 WDI_LINK_SCAN_STATE = 10,
3074 WDI_LINK_FINISH_SCAN_STATE = 11,
3075 WDI_LINK_INIT_CAL_STATE = 12,
3076 WDI_LINK_FINISH_CAL_STATE = 13,
Jeff Johnson295189b2012-06-20 16:38:30 -07003077 WDI_LINK_LISTEN_STATE = 14,
Gopichand Nakkala924e4552013-05-08 19:18:14 +05303078 WDI_LINK_SEND_ACTION_STATE = 15,
Jeff Johnson295189b2012-06-20 16:38:30 -07003079 WDI_LINK_MAX = 0x7FFFFFFF
3080} WDI_LinkStateType;
3081
3082/*---------------------------------------------------------------------------
3083 WDI_SetLinkReqInfoType
3084---------------------------------------------------------------------------*/
3085typedef struct
3086{
3087 /*BSSID of the BSS*/
3088 wpt_macAddr macBSSID;
3089
3090 /*Link state*/
3091 WDI_LinkStateType wdiLinkState;
3092
3093 /*BSSID of the BSS*/
3094 wpt_macAddr macSelfStaMacAddr;
3095}WDI_SetLinkReqInfoType;
3096
3097/*---------------------------------------------------------------------------
3098 WDI_SetLinkReqParamsType
3099---------------------------------------------------------------------------*/
3100typedef struct
3101{
3102 /*Link Info*/
3103 WDI_SetLinkReqInfoType wdiLinkInfo;
3104
3105 /*Request status callback offered by UMAC - it is called if the current
3106 req has returned PENDING as status; it delivers the status of sending
3107 the message over the BUS */
3108 WDI_ReqStatusCb wdiReqStatusCB;
3109
3110 /*The user data passed in by UMAC, it will be sent back when the above
3111 function pointer will be called */
3112 void* pUserData;
3113}WDI_SetLinkReqParamsType;
3114
3115/*---------------------------------------------------------------------------
3116 WDI_GetStatsParamsInfoType
3117---------------------------------------------------------------------------*/
3118typedef struct
3119{
3120 /*Indicates the station for which Get Stats are requested..*/
3121 wpt_uint8 ucSTAIdx;
3122
3123 /* categories of stats requested */
3124 wpt_uint32 uStatsMask;
3125}WDI_GetStatsParamsInfoType;
3126
3127/*---------------------------------------------------------------------------
3128 WDI_GetStatsReqParamsType
3129---------------------------------------------------------------------------*/
3130typedef struct
3131{
3132 /*Get Stats Params Info*/
3133 WDI_GetStatsParamsInfoType wdiGetStatsParamsInfo;
3134
3135 /*Request status callback offered by UMAC - it is called if the current
3136 req has returned PENDING as status; it delivers the status of sending
3137 the message over the BUS */
3138 WDI_ReqStatusCb wdiReqStatusCB;
3139
3140 /*The user data passed in by UMAC, it will be sent back when the above
3141 function pointer will be called */
3142 void* pUserData;
3143}WDI_GetStatsReqParamsType;
3144
3145/*---------------------------------------------------------------------------
3146 WDI_GetStatsRspParamsType
3147---------------------------------------------------------------------------*/
3148typedef struct
3149{
3150 /*message type is same as the request type*/
3151 wpt_uint16 usMsgType;
3152
3153 /* length of the entire request, includes the pStatsBuf length too*/
3154 wpt_uint16 usMsgLen;
3155
3156 /*Result of the operation*/
3157 WDI_Status wdiStatus;
3158
3159 /*Indicates the station for which Get Stats are requested..*/
3160 wpt_uint8 ucSTAIdx;
3161
3162 /* categories of stats requested */
3163 wpt_uint32 uStatsMask;
3164
3165 /* The Stats buffer starts here and can be an aggregate of more than one statistics
3166 * structure depending on statsMask.*/
3167}WDI_GetStatsRspParamsType;
3168
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003169#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08003170/*---------------------------------------------------------------------------
3171 WDI_GetRoamRssiParamsInfoType
3172---------------------------------------------------------------------------*/
3173typedef struct
3174{
3175 /*Indicates the station for which Get Stats are requested..*/
3176 wpt_uint8 ucSTAIdx;
3177
3178 /* categories of stats requested */
3179 wpt_uint32 uStatsMask;
3180}WDI_GetRoamRssiParamsInfoType;
3181
3182/*---------------------------------------------------------------------------
3183 WDI_GetRoamRssiReqParamsType
3184---------------------------------------------------------------------------*/
3185typedef struct
3186{
3187 /*Get Roam Rssi Params Info*/
3188 WDI_GetRoamRssiParamsInfoType wdiGetRoamRssiParamsInfo;
3189
3190 /*Request status callback offered by UMAC - it is called if the current
3191 req has returned PENDING as status; it delivers the status of sending
3192 the message over the BUS */
3193 WDI_ReqStatusCb wdiReqStatusCB;
3194
3195 /*The user data passed in by UMAC, it will be sent back when the above
3196 function pointer will be called */
3197 void* pUserData;
3198}WDI_GetRoamRssiReqParamsType;
3199
3200/*---------------------------------------------------------------------------
3201 WDI_GetRoamRssiRspParamsType
3202---------------------------------------------------------------------------*/
3203typedef struct
3204{
3205 /*Result of the operation*/
3206 WDI_Status wdiStatus;
3207
3208 /*Indicates the station for which Get Stats are requested..*/
3209 wpt_uint8 ucSTAIdx;
3210
3211 /* roam rssi requested */
3212 wpt_int8 rssi;
3213
3214 /* The Stats buffer starts here and can be an aggregate of more than one statistics
3215 * structure depending on statsMask.*/
3216}WDI_GetRoamRssiRspParamsType;
3217#endif
3218
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003219#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07003220/*---------------------------------------------------------------------------
3221 WDI_TSMStatsParamsInfoType
3222---------------------------------------------------------------------------*/
3223typedef struct
3224{
3225 /*Indicates the station for which Get Stats are requested..*/
3226 wpt_uint8 ucTid;
3227
3228 wpt_macAddr bssid;
3229}WDI_TSMStatsParamsInfoType;
3230
3231/*---------------------------------------------------------------------------
3232 WDI_TSMStatsReqParamsType
3233---------------------------------------------------------------------------*/
3234typedef struct
3235{
3236 /*Get TSM Stats Params Info*/
3237 WDI_TSMStatsParamsInfoType wdiTsmStatsParamsInfo;
3238
3239 WDI_ReqStatusCb wdiReqStatusCB;
3240
3241 /*The user data passed in by UMAC, it will be sent back when the above
3242 function pointer will be called */
3243 void* pUserData;
3244
3245}WDI_TSMStatsReqParamsType;
3246
3247
3248/*---------------------------------------------------------------------------
3249 WDI_TSMStatsRspParamsType
3250---------------------------------------------------------------------------*/
3251typedef struct
3252{
3253 /*Indicates the status of the operation */
3254 WDI_Status wdiStatus;
3255
3256 wpt_uint16 UplinkPktQueueDly;
3257 wpt_uint16 UplinkPktQueueDlyHist[4];
3258 wpt_uint32 UplinkPktTxDly;
3259 wpt_uint16 UplinkPktLoss;
3260 wpt_uint16 UplinkPktCount;
3261 wpt_uint8 RoamingCount;
3262 wpt_uint16 RoamingDly;
3263}WDI_TSMStatsRspParamsType;
3264
3265
3266#endif
3267/*---------------------------------------------------------------------------
3268 WDI_UpdateCfgReqParamsType
3269---------------------------------------------------------------------------*/
3270typedef struct
3271{
3272 /*This is a TLV formatted buffer containing all config values that can
3273 be set through the DAL Interface
3274
3275 The TLV is expected to be formatted like this:
3276
3277 0 7 15 31 ....
3278 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
3279
3280 Or from a C construct point of VU it would look like this:
3281
3282 typedef struct WPT_PACK_POST
3283 {
3284 #ifdef WPT_BIG_ENDIAN
3285 wpt_uint32 ucCfgId:8;
3286 wpt_uint32 ucCfgLen:8;
3287 wpt_uint32 usReserved:16;
3288 #else
3289 wpt_uint32 usReserved:16;
3290 wpt_uint32 ucCfgLen:8;
3291 wpt_uint32 ucCfgId:8;
3292 #endif
3293
3294 wpt_uint8 ucCfgBody[ucCfgLen];
3295 }WDI_ConfigType;
3296
3297 Multiple such tuplets are to be placed in the config buffer. One for
3298 each required configuration item:
3299
3300 | TLV 1 | TLV2 | ....
3301
3302 The buffer is expected to be a flat area of memory that can be manipulated
3303 with standard memory routines.
3304
3305 For more info please check paragraph 2.3.1 Config Structure from the
3306 HAL LLD.
3307
3308 For a list of accepted configuration list and IDs please look up
3309 wlan_qct_dal_cfg.h
3310 */
3311 void* pConfigBuffer;
3312
3313 /*Length of the config buffer above*/
3314 wpt_uint32 uConfigBufferLen;
3315
3316 /*Request status callback offered by UMAC - it is called if the current
3317 req has returned PENDING as status; it delivers the status of sending
3318 the message over the BUS */
3319 WDI_ReqStatusCb wdiReqStatusCB;
3320
3321 /*The user data passed in by UMAC, it will be sent back when the above
3322 function pointer will be called */
3323 void* pUserData;
3324}WDI_UpdateCfgReqParamsType;
3325
3326/*---------------------------------------------------------------------------
3327 WDI_UpdateProbeRspTemplateInfoType
3328---------------------------------------------------------------------------*/
3329//Default Beacon template size
3330#define WDI_PROBE_RSP_TEMPLATE_SIZE 0x180
3331
3332#define WDI_PROBE_REQ_BITMAP_IE_LEN 8
3333
3334typedef struct
3335{
3336 /*BSSID for which the Probe Template is to be used*/
3337 wpt_macAddr macBSSID;
3338
3339 /*Probe response template*/
3340 wpt_uint8 *pProbeRespTemplate[WDI_PROBE_RSP_TEMPLATE_SIZE];
3341
3342 /*Template Len*/
3343 wpt_uint32 uProbeRespTemplateLen;
3344
3345 /*Bitmap for the IEs that are to be handled at SLM level*/
3346 wpt_uint32 uaProxyProbeReqValidIEBmap[WDI_PROBE_REQ_BITMAP_IE_LEN];
3347
3348}WDI_UpdateProbeRspTemplateInfoType;
3349
3350/*---------------------------------------------------------------------------
3351 WDI_UpdateProbeRspParamsType
3352---------------------------------------------------------------------------*/
3353typedef struct
3354{
3355 /*Link Info*/
3356 WDI_UpdateProbeRspTemplateInfoType wdiProbeRspTemplateInfo;
3357
3358 /*Request status callback offered by UMAC - it is called if the current
3359 req has returned PENDING as status; it delivers the status of sending
3360 the message over the BUS */
3361 WDI_ReqStatusCb wdiReqStatusCB;
3362
3363 /*The user data passed in by UMAC, it will be sent back when the above
3364 function pointer will be called */
3365 void* pUserData;
3366}WDI_UpdateProbeRspTemplateParamsType;
3367
3368/*---------------------------------------------------------------------------
3369 WDI_NvDownloadReqBlobInfo
3370---------------------------------------------------------------------------*/
3371
3372typedef struct
3373{
3374 /* Blob starting address*/
3375 void *pBlobAddress;
3376
3377 /* Blob size */
3378 wpt_uint32 uBlobSize;
3379
3380}WDI_NvDownloadReqBlobInfo;
3381
3382/*---------------------------------------------------------------------------
3383 WDI_NvDownloadReqParamsType
3384---------------------------------------------------------------------------*/
3385typedef struct
3386{
3387 /*NV Blob Info*/
3388 WDI_NvDownloadReqBlobInfo wdiBlobInfo;
3389
3390 /*Request status callback offered by UMAC - it is called if the current
3391 req has returned PENDING as status; it delivers the status of sending
3392 the message over the BUS */
3393 WDI_ReqStatusCb wdiReqStatusCB;
3394
3395 /*The user data passed in by UMAC, it will be sent back when the above
3396 function pointer will be called */
3397 void* pUserData;
3398
3399}WDI_NvDownloadReqParamsType;
3400
3401/*---------------------------------------------------------------------------
3402 WDI_NvDownloadRspInfoType
3403---------------------------------------------------------------------------*/
3404typedef struct
3405{
3406 /*Status of the response*/
3407 WDI_Status wdiStatus;
3408
3409}WDI_NvDownloadRspInfoType;
3410
3411/*---------------------------------------------------------------------------
3412 WDI_SetMaxTxPowerInfoType
3413---------------------------------------------------------------------------*/
3414
3415typedef struct
3416{
3417 /*BSSID is needed to identify which session issued this request. As the request has
3418 power constraints, this should be applied only to that session*/
3419 wpt_macAddr macBSSId;
3420
3421
3422 wpt_macAddr macSelfStaMacAddr;
3423
3424 /* In request power == MaxTxpower to be used.*/
3425 wpt_int8 ucPower;
3426
3427}WDI_SetMaxTxPowerInfoType;
3428
3429/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003430 WDI_SetTxPowerInfoType
3431---------------------------------------------------------------------------*/
3432
3433typedef struct
3434{
3435 wpt_uint8 bssIdx;
3436 /* In request power == MaxTxpower to be used.*/
3437 wpt_uint8 ucPower;
3438
3439}WDI_SetTxPowerInfoType;
3440
3441/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003442 WDI_SetMaxTxPowerParamsType
3443---------------------------------------------------------------------------*/
3444typedef struct
3445{
3446 /*Link Info*/
3447 WDI_SetMaxTxPowerInfoType wdiMaxTxPowerInfo;
3448
3449 /*Request status callback offered by UMAC - it is called if the current
3450 req has returned PENDING as status; it delivers the status of sending
3451 the message over the BUS */
3452 WDI_ReqStatusCb wdiReqStatusCB;
3453
3454 /*The user data passed in by UMAC, it will be sent back when the above
3455 function pointer will be called */
3456 void* pUserData;
3457}WDI_SetMaxTxPowerParamsType;
3458
schang86c22c42013-03-13 18:41:24 -07003459/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07003460 WDI_Band
3461---------------------------------------------------------------------------*/
3462typedef enum
3463{
3464 WDI_BAND_ALL,
3465 WDI_BAND_24,
3466 WDI_BAND_5G,
3467 WDI_BAND_MAX,
3468}eWDIBand;
3469
3470/*---------------------------------------------------------------------------
3471 WDI_MaxTxPowerPerBandInfoType
3472---------------------------------------------------------------------------*/
3473typedef struct
3474{
3475 eWDIBand bandInfo;
3476 /* In request power == MaxTxpower to be used.*/
3477 wpt_uint8 ucPower;
3478}WDI_MaxTxPowerPerBandInfoType;
3479
3480/*---------------------------------------------------------------------------
3481 WDI_SetMaxTxPowerPerBandParamsType
3482---------------------------------------------------------------------------*/
3483typedef struct
3484{
3485 /*Link Info*/
3486 WDI_MaxTxPowerPerBandInfoType wdiMaxTxPowerPerBandInfo;
3487
3488 /*Request status callback offered by UMAC - it is called if the current
3489 req has returned PENDING as status; it delivers the status of sending
3490 the message over the BUS */
3491 WDI_ReqStatusCb wdiReqStatusCB;
3492
3493 /*The user data passed in by UMAC, it will be sent back when the above
3494 function pointer will be called */
3495 void* pUserData;
3496}WDI_SetMaxTxPowerPerBandParamsType;
3497
3498/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003499 WDI_SetTxPowerParamsType
3500---------------------------------------------------------------------------*/
3501typedef struct
3502{
3503 /*Link Info*/
3504 WDI_SetTxPowerInfoType wdiTxPowerInfo;
3505
3506 /*Request status callback offered by UMAC - it is called if the current
3507 req has returned PENDING as status; it delivers the status of sending
3508 the message over the BUS */
3509 WDI_ReqStatusCb wdiReqStatusCB;
3510
3511 /*The user data passed in by UMAC, it will be sent back when the above
3512 function pointer will be called */
3513 void* pUserData;
3514}WDI_SetTxPowerParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003515
3516/*---------------------------------------------------------------------------
3517 WDI_SetMaxTxPowerRspMsg
3518---------------------------------------------------------------------------*/
3519
3520typedef struct
3521{
3522 /* In response, power==tx power used for management frames*/
3523 wpt_int8 ucPower;
3524
3525 /*Result of the operation*/
3526 WDI_Status wdiStatus;
3527
3528}WDI_SetMaxTxPowerRspMsg;
3529
schang86c22c42013-03-13 18:41:24 -07003530/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07003531 WDI_SetMaxTxPowerPerBandRspMsg
3532---------------------------------------------------------------------------*/
3533typedef struct
3534{
3535 /* In response, power==tx power used for management frames*/
3536 wpt_int8 ucPower;
3537
3538 /*Result of the operation*/
3539 WDI_Status wdiStatus;
3540
3541}WDI_SetMaxTxPowerPerBandRspMsg;
3542
3543/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003544 WDI_SetTxPowerRspMsg
3545---------------------------------------------------------------------------*/
3546
3547typedef struct
3548{
3549 /* In response, power==tx power used for management frames*/
3550 wpt_int8 ucPower;
3551
3552 /*Result of the operation*/
3553 WDI_Status wdiStatus;
3554
3555}WDI_SetTxPowerRspMsg;
3556
Jeff Johnson295189b2012-06-20 16:38:30 -07003557typedef struct
3558{
3559 wpt_uint8 ucOpp_ps;
3560 wpt_uint32 uCtWindow;
3561 wpt_uint8 ucCount;
3562 wpt_uint32 uDuration;
3563 wpt_uint32 uInterval;
3564 wpt_uint32 uSingle_noa_duration;
3565 wpt_uint8 ucPsSelection;
3566}WDI_SetP2PGONOAReqInfoType;
3567
3568/*---------------------------------------------------------------------------
3569 WDI_SetP2PGONOAReqParamsType
3570---------------------------------------------------------------------------*/
3571typedef struct
3572{
3573 /*P2P GO NOA Req*/
3574 WDI_SetP2PGONOAReqInfoType wdiP2PGONOAInfo;
3575
3576 /*Request status callback offered by UMAC - it is called if the current
3577 req has returned PENDING as status; it delivers the status of sending
3578 the message over the BUS */
3579 WDI_ReqStatusCb wdiReqStatusCB;
3580
3581 /*The user data passed in by UMAC, it will be sent back when the above
3582 function pointer will be called */
3583 void* pUserData;
3584}WDI_SetP2PGONOAReqParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003585
Naresh Jayaramc7cbd782014-02-04 17:38:23 +05303586#define WDI_MAX_SUPP_CHANNELS 128
3587#define WDI_MAX_SUPP_OPER_CLASSES 32
3588
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303589typedef struct
3590{
3591 wpt_uint16 uStaIdx;
3592 wpt_uint8 uIsResponder;
3593 wpt_uint8 uUapsdQueues;
3594 wpt_uint8 uMaxSp;
3595 wpt_uint8 uIsBufSta;
Naresh Jayaramc7cbd782014-02-04 17:38:23 +05303596 wpt_uint8 uIsOffChannelSupported;
3597 wpt_uint8 peerCurrOperClass;
3598 wpt_uint8 selfCurrOperClass;
3599 wpt_uint8 validChannelsLen;
3600 wpt_uint8 validChannels[WDI_MAX_SUPP_CHANNELS];
3601 wpt_uint8 validOperClassesLen;
3602 wpt_uint8 validOperClasses[WDI_MAX_SUPP_OPER_CLASSES];
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303603}WDI_SetTDLSLinkEstablishReqInfoType;
3604/*---------------------------------------------------------------------------
3605 WDI_SetTDLSLinkEstablishReqParamsType
3606---------------------------------------------------------------------------*/
3607typedef struct
3608{
3609 /*TDLS Link Establish Req*/
3610 WDI_SetTDLSLinkEstablishReqInfoType wdiTDLSLinkEstablishInfo;
3611
3612 /*Request status callback offered by UMAC - it is called if the current
3613 req has returned PENDING as status; it delivers the status of sending
3614 the message over the BUS */
3615 WDI_ReqStatusCb wdiReqStatusCB;
3616
3617 /*The user data passed in by UMAC, it will be sent back when the above
3618 function pointer will be called */
3619 void* pUserData;
3620}WDI_SetTDLSLinkEstablishReqParamsType;
3621
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05303622typedef struct
3623{
3624 /*Result of the operation*/
3625 WDI_Status wdiStatus;
3626
3627 /*STA Idx*/
3628 wpt_uint16 uStaIdx;
3629}WDI_SetTdlsLinkEstablishReqResp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003630
Atul Mittalc0f739f2014-07-31 13:47:47 +05303631
3632
3633typedef struct
3634{
3635 /*STA Index*/
3636 wpt_uint8 staIdx;
3637 /* if this is 1, self is initiator otherwise responder only*/
3638 wpt_uint8 isOffchannelInitiator;
3639 /*TDLS off channel related params */
3640 wpt_uint8 targetOperClass;
3641 wpt_uint8 targetChannel;
3642 wpt_uint8 secondaryChannelOffset;
3643 wpt_uint8 reserved[64];
3644}WDI_SetTDLSChanSwitchReqInfoType;
3645
3646typedef struct
3647{
3648 WDI_SetTDLSChanSwitchReqInfoType wdiTDLSChanSwitchReqInfo;
3649 WDI_ReqStatusCb wdiReqStatusCB;
3650 void* pUserData;
3651}WDI_SetTDLSChanSwitchReqParamsType;
3652
3653
3654typedef struct
3655{
3656 /*Result of the operation*/
3657 WDI_Status wdiStatus;
3658
3659 /*STA Idx*/
3660 wpt_uint16 uStaIdx;
3661}WDI_SetTdlsChanSwitchReqResp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003662/*---------------------------------------------------------------------------
3663 WDI_SetAddSTASelfParamsType
3664---------------------------------------------------------------------------*/
3665typedef struct
3666{
3667 /*Self Station MAC address*/
3668 wpt_macAddr selfMacAddr;
3669
Kiran Kumar Lokere0ad5cd32013-06-25 11:26:22 -07003670 /*Self STA device mode*/
3671 wpt_uint32 currDeviceMode;
3672
Jeff Johnson295189b2012-06-20 16:38:30 -07003673 /*Status of the operation*/
3674 wpt_uint32 uStatus;
3675}WDI_AddSTASelfInfoType;
3676
3677/*---------------------------------------------------------------------------
3678 WDI_SetAddSTASelfParamsType
3679---------------------------------------------------------------------------*/
3680typedef struct
3681{
3682 /* Add Sta Self Req */
3683 WDI_AddSTASelfInfoType wdiAddSTASelfInfo;
3684
3685 /*Request status callback offered by UMAC - it is called if the current
3686 req has returned PENDING as status; it delivers the status of sending
3687 the message over the BUS */
3688 WDI_ReqStatusCb wdiReqStatusCB;
3689
3690 /*The user data passed in by UMAC, it will be sent back when the above
3691 function pointer will be called */
3692 void* pUserData;
3693}WDI_AddSTASelfReqParamsType;
3694
3695
3696/*---------------------------------------------------------------------------
3697 WDI_AddSTASelfRspParamsType
3698---------------------------------------------------------------------------*/
3699typedef struct
3700{
3701 /*Status of the response*/
3702 WDI_Status wdiStatus;
3703
3704 /*STA Idx allocated by HAL*/
3705 wpt_uint8 ucSTASelfIdx;
3706
3707 /* DPU Index (IGTK, PTK, GTK all same) */
3708 wpt_uint8 dpuIdx;
3709
3710 /* DPU Signature */
3711 wpt_uint8 dpuSignature;
3712
3713 /*Self STA Mac*/
3714 wpt_macAddr macSelfSta;
3715
3716}WDI_AddSTASelfRspParamsType;
3717
3718/*---------------------------------------------------------------------------
3719 WDI_DelSTASelfReqParamsType
3720 Del Sta Self info passed to WDI form WDA
3721---------------------------------------------------------------------------*/
3722typedef struct
3723{
3724 wpt_macAddr selfMacAddr;
3725
3726}WDI_DelSTASelfInfoType;
3727
3728/*---------------------------------------------------------------------------
3729 WDI_DelSTASelfReqParamsType
3730 Del Sta Self info passed to WDI form WDA
3731---------------------------------------------------------------------------*/
3732typedef struct
3733{
3734 /*Del Sta Self Info Type */
3735 WDI_DelSTASelfInfoType wdiDelStaSelfInfo;
3736 /*Request status callback offered by UMAC - it is called if the current req
3737 has returned PENDING as status; it delivers the status of sending the message
3738 over the BUS */
3739 WDI_ReqStatusCb wdiReqStatusCB;
3740 /*The user data passed in by UMAC, it will be sent back when the above
3741 function pointer will be called */
3742 void* pUserData;
3743}WDI_DelSTASelfReqParamsType;
3744
3745/*---------------------------------------------------------------------------
3746 WDI_DelSTASelfRspParamsType
3747---------------------------------------------------------------------------*/
3748typedef struct
3749{
3750 /*Status of the response*/
3751 WDI_Status wdiStatus;
3752
3753 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
3754// wpt_uint8 ucSTAIdx;
3755}WDI_DelSTASelfRspParamsType;
3756
3757/*---------------------------------------------------------------------------
3758 WDI_UapsdInfoType
3759 UAPSD parameters passed per AC to WDA from UMAC
3760---------------------------------------------------------------------------*/
3761typedef struct
3762{
3763 wpt_uint8 ucSTAIdx; // STA index
3764 wpt_uint8 ucAc; // Access Category
3765 wpt_uint8 ucUp; // User Priority
3766 wpt_uint32 uSrvInterval; // Service Interval
3767 wpt_uint32 uSusInterval; // Suspend Interval
3768 wpt_uint32 uDelayInterval; // Delay Interval
3769} WDI_UapsdInfoType;
3770
3771/*---------------------------------------------------------------------------
3772 WDI_SetUapsdAcParamsReqParamsType
3773 UAPSD parameters passed per AC to WDI from WDA
3774---------------------------------------------------------------------------*/
3775typedef struct
3776{
3777 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3778 WDI_UapsdInfoType wdiUapsdInfo;
3779 /*Request status callback offered by UMAC - it is called if the current req
3780 has returned PENDING as status; it delivers the status of sending the message
3781 over the BUS */
3782 WDI_ReqStatusCb wdiReqStatusCB;
3783 /*The user data passed in by UMAC, it will be sent back when the above
3784 function pointer will be called */
3785 void* pUserData;
3786}WDI_SetUapsdAcParamsReqParamsType;
3787
3788/*---------------------------------------------------------------------------
3789 WDI_EnterBmpsReqinfoType
3790 Enter BMPS parameters passed to WDA from UMAC
3791---------------------------------------------------------------------------*/
3792typedef struct
3793{
3794 //TBTT value derived from the last beacon
3795 wpt_uint8 ucBssIdx;
3796 wpt_uint64 uTbtt;
3797 wpt_uint8 ucDtimCount;
3798 //DTIM period given to HAL during association may not be valid,
3799 //if association is based on ProbeRsp instead of beacon.
3800 wpt_uint8 ucDtimPeriod;
3801 /* DXE physical addr to be passed down to RIVA. RIVA HAL will use it to program
3802 DXE when DXE wakes up from power save*/
3803 unsigned int dxePhyAddr;
3804
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003805 // For ESE and 11R Roaming
Jeff Johnson295189b2012-06-20 16:38:30 -07003806 wpt_uint32 rssiFilterPeriod;
3807 wpt_uint32 numBeaconPerRssiAverage;
3808 wpt_uint8 bRssiFilterEnable;
3809}WDI_EnterBmpsReqinfoType;
3810
3811/*---------------------------------------------------------------------------
3812 WDI_EnterBmpsReqParamsType
3813 Enter BMPS parameters passed to WDI from WDA
3814---------------------------------------------------------------------------*/
3815typedef struct
3816{
3817 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3818 WDI_EnterBmpsReqinfoType wdiEnterBmpsInfo;
3819 /*Request status callback offered by UMAC - it is called if the current req
3820 has returned PENDING as status; it delivers the status of sending the message
3821 over the BUS */
3822 WDI_ReqStatusCb wdiReqStatusCB;
3823 /*The user data passed in by UMAC, it will be sent back when the above
3824 function pointer will be called */
3825 void* pUserData;
3826}WDI_EnterBmpsReqParamsType;
3827
3828/*---------------------------------------------------------------------------
Mihir Shetea4306052014-03-25 00:02:54 +05303829 WDI_EnterImpsReqParamsType
3830 Enter IMPS parameters passed to WDI from WDA
3831---------------------------------------------------------------------------*/
3832typedef struct
3833{
3834 /*Request status callback offered by UMAC - it is called if the current req
3835 has returned PENDING as status; it delivers the status of sending the message
3836 over the BUS */
3837 WDI_ReqStatusCb wdiReqStatusCB;
3838 /*The user data passed in by UMAC, it will be sent back when the above
3839 function pointer will be called */
3840 void* pUserData;
3841}WDI_EnterImpsReqParamsType;
3842
3843/*---------------------------------------------------------------------------
Mahesh A Saptasagar329813b2014-12-15 12:16:51 +05303844 WDI_ExitImpsReqParamsType
3845 Exit IMPS parameters passed to WDI from WDA
3846----------------------------------------------------------------------------*/
3847typedef struct
3848{
3849 /*Request status callback offered by UMAC */
3850 WDI_ReqStatusCb wdiReqStatusCB;
3851 /*The user data passed in by UMAC, it will be sent back when the above
3852 function pointer will be called */
3853 void* pUserData;
3854
3855}WDI_ExitImpsReqParamsType;
3856
3857/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003858 WDI_EnterBmpsReqParamsType
3859 Enter BMPS parameters passed from WDI to WDA
3860---------------------------------------------------------------------------*/
3861typedef struct
3862{
3863 /*Status of the response*/
3864 WDI_Status wdiStatus;
3865
3866 /*BssIDX of the session*/
3867 wpt_uint8 bssIdx;
3868}WDI_EnterBmpsRspParamsType;
3869
3870/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003871 WDI_ExitBmpsReqinfoType
3872 Exit BMPS parameters passed to WDA from UMAC
3873---------------------------------------------------------------------------*/
3874typedef struct
3875{
3876 wpt_uint8 ucSendDataNull;
Jeff Johnsone7245742012-09-05 17:12:55 -07003877 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003878}WDI_ExitBmpsReqinfoType;
3879
3880/*---------------------------------------------------------------------------
3881 WDI_ExitBmpsReqParamsType
3882 Exit BMPS parameters passed to WDI from WDA
3883---------------------------------------------------------------------------*/
3884typedef struct
3885{
3886 /*Exit BMPS Info Type, same as tExitBmpsParams */
3887 WDI_ExitBmpsReqinfoType wdiExitBmpsInfo;
3888 /*Request status callback offered by UMAC - it is called if the current req
3889 has returned PENDING as status; it delivers the status of sending the message
3890 over the BUS */
3891 WDI_ReqStatusCb wdiReqStatusCB;
3892 /*The user data passed in by UMAC, it will be sent back when the above
3893 function pointer will be called */
3894 void* pUserData;
3895}WDI_ExitBmpsReqParamsType;
3896
3897/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003898 WDI_ExitBmpsReqParamsType
3899 Exit BMPS parameters passed from WDI to WDA
3900---------------------------------------------------------------------------*/
3901typedef struct
3902{
3903 /*Status of the response*/
3904 WDI_Status wdiStatus;
3905
3906 /*BssIDX of the session*/
3907 wpt_uint8 bssIdx;
3908}WDI_ExitBmpsRspParamsType;
3909
3910/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003911 WDI_EnterUapsdReqinfoType
3912 Enter UAPSD parameters passed to WDA from UMAC
3913---------------------------------------------------------------------------*/
3914typedef struct
3915{
3916 wpt_uint8 ucBkDeliveryEnabled:1;
3917 wpt_uint8 ucBeDeliveryEnabled:1;
3918 wpt_uint8 ucViDeliveryEnabled:1;
3919 wpt_uint8 ucVoDeliveryEnabled:1;
3920 wpt_uint8 ucBkTriggerEnabled:1;
3921 wpt_uint8 ucBeTriggerEnabled:1;
3922 wpt_uint8 ucViTriggerEnabled:1;
3923 wpt_uint8 ucVoTriggerEnabled:1;
Jeff Johnsone7245742012-09-05 17:12:55 -07003924 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003925}WDI_EnterUapsdReqinfoType;
3926
3927/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003928 WDI_EnterUapsdRspParamsType
3929 Enter UAPSD parameters passed from WDI to WDA
3930---------------------------------------------------------------------------*/
3931typedef struct
3932{
3933 /*Status of the response*/
3934 WDI_Status wdiStatus;
3935
3936 /*BssIDX of the session*/
3937 wpt_uint8 bssIdx;
3938}WDI_EnterUapsdRspParamsType;
3939
3940/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003941 WDI_EnterUapsdReqinfoType
3942 Enter UAPSD parameters passed to WDI from WDA
3943---------------------------------------------------------------------------*/
3944typedef struct
3945{
3946 /*Enter UAPSD Info Type, same as tUapsdParams */
3947 WDI_EnterUapsdReqinfoType wdiEnterUapsdInfo;
3948 /*Request status callback offered by UMAC - it is called if the current req
3949 has returned PENDING as status; it delivers the status of sending the message
3950 over the BUS */
3951 WDI_ReqStatusCb wdiReqStatusCB;
3952 /*The user data passed in by UMAC, it will be sent back when the above
3953 function pointer will be called */
3954 void* pUserData;
3955}WDI_EnterUapsdReqParamsType;
3956
3957/*---------------------------------------------------------------------------
3958 WDI_UpdateUapsdReqinfoType
3959 Update UAPSD parameters passed to WDA from UMAC
3960---------------------------------------------------------------------------*/
3961typedef struct
3962{
3963 wpt_uint8 ucSTAIdx;
3964 wpt_uint8 ucUapsdACMask;
3965 wpt_uint32 uMaxSpLen;
3966}WDI_UpdateUapsdReqinfoType;
3967
3968/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003969 WDI_ExitUapsdReqinfoType
3970 Exit UAPSD parameters passed to WDA from UMAC
3971---------------------------------------------------------------------------*/
3972typedef struct
3973{
3974 wpt_uint8 bssIdx;
3975}WDI_ExitUapsdReqinfoType;
3976
3977/*---------------------------------------------------------------------------
3978 WDI_ExitUapsdReqParamsType
3979 Exit UAPSD parameters passed to WDI from WDA
3980---------------------------------------------------------------------------*/
3981typedef struct
3982{
3983 /*Exit UAPSD Info Type, same as tUapsdParams */
3984 WDI_ExitUapsdReqinfoType wdiExitUapsdInfo;
3985 /*Request status callback offered by UMAC - it is called if the current req
3986 has returned PENDING as status; it delivers the status of sending the message
3987 over the BUS */
3988 WDI_ReqStatusCb wdiReqStatusCB;
3989 /*The user data passed in by UMAC, it will be sent back when the above
3990 function pointer will be called */
3991 void* pUserData;
3992}WDI_ExitUapsdReqParamsType;
3993
3994/*---------------------------------------------------------------------------
3995 WDI_ExitUapsdRspParamsType
3996 Exit UAPSD parameters passed from WDI to WDA
3997---------------------------------------------------------------------------*/
3998typedef struct
3999{
4000 /*Status of the response*/
4001 WDI_Status wdiStatus;
4002
4003 /*BssIDX of the session*/
4004 wpt_uint8 bssIdx;
4005}WDI_ExitUapsdRspParamsType;
4006
4007/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004008 WDI_UpdateUapsdReqParamsType
4009 Update UAPSD parameters passed to WDI form WDA
4010---------------------------------------------------------------------------*/
4011typedef struct
4012{
4013 /*Update UAPSD Info Type, same as tUpdateUapsdParams */
4014 WDI_UpdateUapsdReqinfoType wdiUpdateUapsdInfo;
4015 /*Request status callback offered by UMAC - it is called if the current req
4016 has returned PENDING as status; it delivers the status of sending the message
4017 over the BUS */
4018 WDI_ReqStatusCb wdiReqStatusCB;
4019 /*The user data passed in by UMAC, it will be sent back when the above
4020 function pointer will be called */
4021 void* pUserData;
4022}WDI_UpdateUapsdReqParamsType;
4023
4024/*---------------------------------------------------------------------------
4025 WDI_ConfigureRxpFilterReqParamsType
4026 RXP filter parameters passed to WDI form WDA
4027---------------------------------------------------------------------------*/
4028typedef struct
4029{
4030 /* Mode of Mcast and Bcast filters configured */
4031 wpt_uint8 ucSetMcstBcstFilterSetting;
4032
4033 /* Mcast Bcast Filters enable/disable*/
4034 wpt_uint8 ucSetMcstBcstFilter;
4035}WDI_RxpFilterReqParamsType;
4036
4037typedef struct
4038{
4039 /* Rxp Filter */
4040 WDI_RxpFilterReqParamsType wdiRxpFilterParam;
4041
4042 /*Request status callback offered by UMAC - it is called if the current req
4043 has returned PENDING as status; it delivers the status of sending the message
4044 over the BUS */
4045 WDI_ReqStatusCb wdiReqStatusCB;
4046 /*The user data passed in by UMAC, it will be sent back when the above
4047 function pointer will be called */
4048 void* pUserData;
4049}WDI_ConfigureRxpFilterReqParamsType;
4050
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05304051typedef struct
4052{
4053 wpt_uint8 enableFlag;
4054 wpt_uint8 frameType;
4055 wpt_uint8 frameSize;
4056 wpt_uint8 bufferMode;
4057}WDI_MgmtLoggingInitReqInfoType;
4058
Siddharth Bhal64246172015-02-27 01:04:37 +05304059typedef struct
4060{
4061 wpt_uint8 flags;
4062}WDI_GetFrameLogReqInfoType;
4063
Jeff Johnson295189b2012-06-20 16:38:30 -07004064/*---------------------------------------------------------------------------
4065 WDI_BeaconFilterInfoType
4066 Beacon Filtering data structures passed to WDA form UMAC
4067---------------------------------------------------------------------------*/
4068typedef struct
4069{
4070 wpt_uint16 usCapabilityInfo;
4071 wpt_uint16 usCapabilityMask;
4072 wpt_uint16 usBeaconInterval;
4073 wpt_uint16 usIeNum;
Madan Mohan Koyyalamudia84edda2012-10-15 14:58:25 -07004074 wpt_uint8 bssIdx;
4075 wpt_uint8 reserved;
Jeff Johnson295189b2012-06-20 16:38:30 -07004076}WDI_BeaconFilterInfoType;
4077
4078/*---------------------------------------------------------------------------
4079 WDI_BeaconFilterReqParamsType
4080 Beacon Filtering parameters passed to WDI form WDA
4081---------------------------------------------------------------------------*/
4082typedef struct
4083{
4084 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
4085 WDI_BeaconFilterInfoType wdiBeaconFilterInfo;
4086 /*Beacon Filter(s) follow the "usIeNum" field, hence the array to ease the
4087 copy of params from WDA to WDI */
4088 wpt_uint8 aFilters[WDI_BEACON_FILTER_LEN];
4089 /*Request status callback offered by UMAC - it is called if the current req
4090 has returned PENDING as status; it delivers the status of sending the message
4091 over the BUS */
4092 WDI_ReqStatusCb wdiReqStatusCB;
4093 /*The user data passed in by UMAC, it will be sent back when the above
4094 function pointer will be called */
4095 void* pUserData;
4096}WDI_BeaconFilterReqParamsType;
4097
4098/*---------------------------------------------------------------------------
4099 WDI_RemBeaconFilterInfoType
4100 Beacon Filtering data structures (to be reomoved) passed to WDA form UMAC
4101---------------------------------------------------------------------------*/
4102typedef struct
4103{
4104 wpt_uint8 ucIeCount;
4105 wpt_uint8 ucRemIeId[1];
4106}WDI_RemBeaconFilterInfoType;
4107
4108/*---------------------------------------------------------------------------
4109 WDI_RemBeaconFilterReqParamsType
4110 Beacon Filtering parameters (to be reomoved)passed to WDI form WDA
4111---------------------------------------------------------------------------*/
4112typedef struct
4113{
4114 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
4115 WDI_RemBeaconFilterInfoType wdiBeaconFilterInfo;
4116 /*Request status callback offered by UMAC - it is called if the current req
4117 has returned PENDING as status; it delivers the status of sending the message
4118 over the BUS */
4119 WDI_ReqStatusCb wdiReqStatusCB;
4120 /*The user data passed in by UMAC, it will be sent back when the above
4121 function pointer will be called */
4122 void* pUserData;
4123}WDI_RemBeaconFilterReqParamsType;
4124
4125/*---------------------------------------------------------------------------
4126 WDI_RSSIThresholdsType
4127 RSSI thresholds data structures (to be reomoved) passed to WDA form UMAC
4128---------------------------------------------------------------------------*/
4129typedef struct
4130{
4131 wpt_int8 ucRssiThreshold1 : 8;
4132 wpt_int8 ucRssiThreshold2 : 8;
4133 wpt_int8 ucRssiThreshold3 : 8;
4134 wpt_uint8 bRssiThres1PosNotify : 1;
4135 wpt_uint8 bRssiThres1NegNotify : 1;
4136 wpt_uint8 bRssiThres2PosNotify : 1;
4137 wpt_uint8 bRssiThres2NegNotify : 1;
4138 wpt_uint8 bRssiThres3PosNotify : 1;
4139 wpt_uint8 bRssiThres3NegNotify : 1;
4140 wpt_uint8 bReserved10 : 2;
4141} WDI_RSSIThresholdsType;
4142
4143/*---------------------------------------------------------------------------
4144 WDI_SetRSSIThresholdsReqParamsType
4145 RSSI thresholds parameters (to be reomoved)passed to WDI form WDA
4146---------------------------------------------------------------------------*/
4147typedef struct
4148{
4149 /*RSSI thresholds Info Type, same as WDI_RSSIThresholds */
4150 WDI_RSSIThresholdsType wdiRSSIThresholdsInfo;
4151 /*Request status callback offered by UMAC - it is called if the current req
4152 has returned PENDING as status; it delivers the status of sending the message
4153 over the BUS */
4154 WDI_ReqStatusCb wdiReqStatusCB;
4155 /*The user data passed in by UMAC, it will be sent back when the above
4156 function pointer will be called */
4157 void* pUserData;
4158}WDI_SetRSSIThresholdsReqParamsType;
4159
4160/*---------------------------------------------------------------------------
4161 WDI_HostOffloadReqType
4162 host offload info passed to WDA form UMAC
4163---------------------------------------------------------------------------*/
4164#ifdef WLAN_NS_OFFLOAD
4165typedef struct
4166{
4167 wpt_uint8 srcIPv6Addr[16];
4168 wpt_uint8 selfIPv6Addr[16];
4169 //Only support 2 possible Network Advertisement IPv6 address
4170 wpt_uint8 targetIPv6Addr1[16];
4171 wpt_uint8 targetIPv6Addr2[16];
4172 wpt_uint8 selfMacAddr[6];
4173 wpt_uint8 srcIPv6AddrValid : 1;
4174 wpt_uint8 targetIPv6Addr1Valid : 1;
4175 wpt_uint8 targetIPv6Addr2Valid : 1;
Gopichand Nakkala746a9452013-06-11 12:45:54 +05304176 wpt_uint8 slotIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004177} WDI_NSOffloadParams;
4178#endif //WLAN_NS_OFFLOAD
4179
4180typedef struct
4181{
4182 wpt_uint8 ucOffloadType;
4183 wpt_uint8 ucEnableOrDisable;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004184 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004185 union
4186 {
4187 wpt_uint8 aHostIpv4Addr [4];
4188 wpt_uint8 aHostIpv6Addr [16];
4189 } params;
4190} WDI_HostOffloadReqType;
4191
4192/*---------------------------------------------------------------------------
4193 WDI_HostOffloadReqParamsType
4194 host offload info passed to WDI form WDA
4195---------------------------------------------------------------------------*/
4196typedef struct
4197{
4198 /*Host offload Info Type, same as tHalHostOffloadReq */
4199 WDI_HostOffloadReqType wdiHostOffloadInfo;
4200#ifdef WLAN_NS_OFFLOAD
4201 WDI_NSOffloadParams wdiNsOffloadParams;
4202#endif //WLAN_NS_OFFLOAD
4203 /*Request status callback offered by UMAC - it is called if the current req
4204 has returned PENDING as status; it delivers the status of sending the message
4205 over the BUS */
4206 WDI_ReqStatusCb wdiReqStatusCB;
4207 /*The user data passed in by UMAC, it will be sent back when the above
4208 function pointer will be called */
4209 void* pUserData;
4210}WDI_HostOffloadReqParamsType;
4211
4212/*---------------------------------------------------------------------------
4213 WDI_KeepAliveReqType
4214 Keep Alive info passed to WDA form UMAC
4215---------------------------------------------------------------------------*/
4216typedef struct
4217{
4218 wpt_uint8 ucPacketType;
4219 wpt_uint32 ucTimePeriod;
4220 wpt_uint8 aHostIpv4Addr[4];
4221 wpt_uint8 aDestIpv4Addr[4];
4222 wpt_uint8 aDestMacAddr[6];
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004223 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004224} WDI_KeepAliveReqType;
4225
4226/*---------------------------------------------------------------------------
4227 WDI_KeepAliveReqParamsType
4228 Keep Alive passed to WDI form WDA
4229---------------------------------------------------------------------------*/
4230typedef struct
4231{
4232 /* Keep Alive Info Type, same as tHalKeepAliveReq */
4233 WDI_KeepAliveReqType wdiKeepAliveInfo;
4234 /*Request status callback offered by UMAC - it is called if the current req
4235 has returned PENDING as status; it delivers the status of sending the message
4236 over the BUS */
4237 WDI_ReqStatusCb wdiReqStatusCB;
4238 /*The user data passed in by UMAC, it will be sent back when the above
4239 function pointer will be called */
4240 void* pUserData;
4241}WDI_KeepAliveReqParamsType;
4242
4243/*---------------------------------------------------------------------------
4244 WDI_WowlAddBcPtrnInfoType
4245 Wowl add ptrn info passed to WDA form UMAC
4246---------------------------------------------------------------------------*/
4247typedef struct
4248{
4249 wpt_uint8 ucPatternId; // Pattern ID
4250 // Pattern byte offset from beginning of the 802.11 packet to start of the
4251 // wake-up pattern
4252 wpt_uint8 ucPatternByteOffset;
4253 wpt_uint8 ucPatternSize; // Non-Zero Pattern size
4254 wpt_uint8 ucPattern[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern
4255 wpt_uint8 ucPatternMaskSize; // Non-zero pattern mask size
4256 wpt_uint8 ucPatternMask[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern mask
4257 wpt_uint8 ucPatternExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern
4258 wpt_uint8 ucPatternMaskExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern mask
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004259 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004260} WDI_WowlAddBcPtrnInfoType;
4261
4262/*---------------------------------------------------------------------------
4263 WDI_WowlAddBcPtrnReqParamsType
4264 Wowl add ptrn info passed to WDI form WDA
4265---------------------------------------------------------------------------*/
4266typedef struct
4267{
4268 /*Wowl add ptrn Info Type, same as tpSirWowlAddBcastPtrn */
4269 WDI_WowlAddBcPtrnInfoType wdiWowlAddBcPtrnInfo;
4270 /*Request status callback offered by UMAC - it is called if the current req
4271 has returned PENDING as status; it delivers the status of sending the message
4272 over the BUS */
4273 WDI_ReqStatusCb wdiReqStatusCB;
4274 /*The user data passed in by UMAC, it will be sent back when the above
4275 function pointer will be called */
4276 void* pUserData;
4277}WDI_WowlAddBcPtrnReqParamsType;
4278
4279/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004280 WDI_WowlAddBcPtrnRspParamsType
4281 Wowl add ptrn info passed from WDI to WDA
4282---------------------------------------------------------------------------*/
4283typedef struct
4284{
4285 /*Status of the response*/
4286 WDI_Status wdiStatus;
4287 /*BssIDX of the session*/
4288 wpt_uint8 bssIdx;
4289}WDI_WowlAddBcPtrnRspParamsType;
4290
4291/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004292 WDI_WowlDelBcPtrnInfoType
4293 Wowl add ptrn info passed to WDA form UMAC
4294---------------------------------------------------------------------------*/
4295typedef struct
4296{
4297 /* Pattern ID of the wakeup pattern to be deleted */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004298 wpt_uint8 ucPatternId;
4299 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004300} WDI_WowlDelBcPtrnInfoType;
4301
4302/*---------------------------------------------------------------------------
4303 WDI_WowlDelBcPtrnReqParamsType
4304 Wowl add ptrn info passed to WDI form WDA
4305---------------------------------------------------------------------------*/
4306typedef struct
4307{
4308 /*Wowl delete ptrn Info Type, same as WDI_WowlDelBcastPtrn */
4309 WDI_WowlDelBcPtrnInfoType wdiWowlDelBcPtrnInfo;
4310 /*Request status callback offered by UMAC - it is called if the current req
4311 has returned PENDING as status; it delivers the status of sending the message
4312 over the BUS */
4313 WDI_ReqStatusCb wdiReqStatusCB;
4314 /*The user data passed in by UMAC, it will be sent back when the above
4315 function pointer will be called */
4316 void* pUserData;
4317}WDI_WowlDelBcPtrnReqParamsType;
4318
4319/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004320 WDI_WowlDelBcPtrnRspParamsType
4321 Wowl Del ptrn info passed from WDI to WDA
4322---------------------------------------------------------------------------*/
4323typedef struct
4324{
4325 /*Status of the response*/
4326 WDI_Status wdiStatus;
4327 /*BssIDX of the session*/
4328 wpt_uint8 bssIdx;
4329}WDI_WowlDelBcPtrnRspParamsType;
4330
4331/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004332 WDI_WowlEnterInfoType
4333 Wowl enter info passed to WDA form UMAC
4334---------------------------------------------------------------------------*/
4335typedef struct
4336{
4337 /* Enables/disables magic packet filtering */
4338 wpt_uint8 ucMagicPktEnable;
4339
4340 /* Magic pattern */
4341 wpt_macAddr magicPtrn;
4342
4343 /* Enables/disables packet pattern filtering in firmware.
4344 Enabling this flag enables broadcast pattern matching
4345 in Firmware. If unicast pattern matching is also desired,
4346 ucUcastPatternFilteringEnable flag must be set tot true
4347 as well
4348 */
4349 wpt_uint8 ucPatternFilteringEnable;
4350
4351 /* Enables/disables unicast packet pattern filtering.
4352 This flag specifies whether we want to do pattern match
4353 on unicast packets as well and not just broadcast packets.
4354 This flag has no effect if the ucPatternFilteringEnable
4355 (main controlling flag) is set to false
4356 */
4357 wpt_uint8 ucUcastPatternFilteringEnable;
4358
4359 /* This configuration is valid only when magicPktEnable=1.
4360 * It requests hardware to wake up when it receives the
4361 * Channel Switch Action Frame.
4362 */
4363 wpt_uint8 ucWowChnlSwitchRcv;
4364
4365 /* This configuration is valid only when magicPktEnable=1.
4366 * It requests hardware to wake up when it receives the
4367 * Deauthentication Frame.
4368 */
4369 wpt_uint8 ucWowDeauthRcv;
4370
4371 /* This configuration is valid only when magicPktEnable=1.
4372 * It requests hardware to wake up when it receives the
4373 * Disassociation Frame.
4374 */
4375 wpt_uint8 ucWowDisassocRcv;
4376
4377 /* This configuration is valid only when magicPktEnable=1.
4378 * It requests hardware to wake up when it has missed
4379 * consecutive beacons. This is a hardware register
4380 * configuration (NOT a firmware configuration).
4381 */
4382 wpt_uint8 ucWowMaxMissedBeacons;
4383
4384 /* This configuration is valid only when magicPktEnable=1.
4385 * This is a timeout value in units of microsec. It requests
4386 * hardware to unconditionally wake up after it has stayed
4387 * in WoWLAN mode for some time. Set 0 to disable this feature.
4388 */
4389 wpt_uint8 ucWowMaxSleepUsec;
4390
4391#ifdef WLAN_WAKEUP_EVENTS
4392 /* This configuration directs the WoW packet filtering to look for EAP-ID
4393 * requests embedded in EAPOL frames and use this as a wake source.
4394 */
4395 wpt_uint8 ucWoWEAPIDRequestEnable;
4396
4397 /* This configuration directs the WoW packet filtering to look for EAPOL-4WAY
4398 * requests and use this as a wake source.
4399 */
4400 wpt_uint8 ucWoWEAPOL4WayEnable;
4401
4402 /* This configuration allows a host wakeup on an network scan offload match.
4403 */
4404 wpt_uint8 ucWowNetScanOffloadMatch;
4405
4406 /* This configuration allows a host wakeup on any GTK rekeying error.
4407 */
4408 wpt_uint8 ucWowGTKRekeyError;
4409
4410 /* This configuration allows a host wakeup on BSS connection loss.
4411 */
4412 wpt_uint8 ucWoWBSSConnLoss;
4413#endif // WLAN_WAKEUP_EVENTS
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004414
4415 /* BSSIDX used to find the current session
4416 */
4417 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004418} WDI_WowlEnterInfoType;
4419
4420/*---------------------------------------------------------------------------
4421 WDI_WowlEnterReqParamsType
4422 Wowl enter info passed to WDI form WDA
4423---------------------------------------------------------------------------*/
4424typedef struct
4425{
4426 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
4427 WDI_WowlEnterInfoType wdiWowlEnterInfo;
4428 /*Request status callback offered by UMAC - it is called if the current req
4429 has returned PENDING as status; it delivers the status of sending the message
4430 over the BUS */
4431 WDI_ReqStatusCb wdiReqStatusCB;
4432 /*The user data passed in by UMAC, it will be sent back when the above
4433 function pointer will be called */
4434 void* pUserData;
4435}WDI_WowlEnterReqParamsType;
4436
4437/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004438 WDI_WowlEnterRsqParamsType
4439 Wowl enter info passed from WDI to WDA
4440---------------------------------------------------------------------------*/
4441typedef struct
4442{
4443 /*Status of the response message*/
4444 WDI_Status status;
4445
4446 /* BSSIDX used to find the current session
4447 */
4448 wpt_uint8 bssIdx;
4449}WDI_WowlEnterRspParamsType;
4450
4451/*---------------------------------------------------------------------------
4452 WDI_WowlExitInfoType
4453 Wowl exit info passed to WDA form UMAC
4454 ---------------------------------------------------------------------------*/
4455typedef struct
4456{
4457 /* BSSIDX used to find the current session
4458 */
4459 wpt_uint8 bssIdx;
4460} WDI_WowlExitInfoType;
4461
4462/*---------------------------------------------------------------------------
4463 WDI_WowlExitReqParamsType
4464 Wowl exit info passed to WDI form WDA
4465---------------------------------------------------------------------------*/
4466typedef struct
4467{
4468 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
4469 WDI_WowlExitInfoType wdiWowlExitInfo;
4470 /*Request status callback offered by UMAC - it is called if the current req
4471 has returned PENDING as status; it delivers the status of sending the message
4472 over the BUS */
4473 WDI_ReqStatusCb wdiReqStatusCB;
4474 /*The user data passed in by UMAC, it will be sent back when the above
4475 function pointer will be called */
4476 void* pUserData;
4477}WDI_WowlExitReqParamsType;
4478
4479/*---------------------------------------------------------------------------
4480 WDI_WowlExitRspParamsType
4481 Wowl exit info passed from WDI to WDA
4482---------------------------------------------------------------------------*/
4483typedef struct
4484{
4485 /*Status of the response message*/
4486 WDI_Status status;
4487
4488 /* BSSIDX used to find the current session
4489 */
4490 wpt_uint8 bssIdx;
4491}WDI_WowlExitRspParamsType;
4492
4493/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004494 WDI_ConfigureAppsCpuWakeupStateReqParamsType
4495 Apps Cpu Wakeup State parameters passed to WDI form WDA
4496---------------------------------------------------------------------------*/
4497typedef struct
4498{
4499 /*Depicts the state of the Apps CPU */
4500 wpt_boolean bIsAppsAwake;
4501 /*Request status callback offered by UMAC - it is called if the current req
4502 has returned PENDING as status; it delivers the status of sending the message
4503 over the BUS */
4504 WDI_ReqStatusCb wdiReqStatusCB;
4505 /*The user data passed in by UMAC, it will be sent back when the above
4506 function pointer will be called */
4507 void* pUserData;
4508}WDI_ConfigureAppsCpuWakeupStateReqParamsType;
4509/*---------------------------------------------------------------------------
4510 WDI_FlushAcReqinfoType
4511---------------------------------------------------------------------------*/
4512typedef struct
4513{
4514 // Message Type
4515 wpt_uint16 usMesgType;
4516
4517 // Message Length
4518 wpt_uint16 usMesgLen;
4519
4520 // Station Index. originates from HAL
4521 wpt_uint8 ucSTAId;
4522
4523 // TID for which the transmit queue is being flushed
4524 wpt_uint8 ucTid;
4525
4526}WDI_FlushAcReqinfoType;
4527
4528/*---------------------------------------------------------------------------
4529 WDI_FlushAcReqParamsType
4530---------------------------------------------------------------------------*/
4531typedef struct
4532{
4533 /*AC Info */
4534 WDI_FlushAcReqinfoType wdiFlushAcInfo;
4535
4536 /*Request status callback offered by UMAC - it is called if the current
4537 req has returned PENDING as status; it delivers the status of sending
4538 the message over the BUS */
4539 WDI_ReqStatusCb wdiReqStatusCB;
4540
4541 /*The user data passed in by UMAC, it will be sent back when the above
4542 function pointer will be called */
4543 void* pUserData;
4544}WDI_FlushAcReqParamsType;
4545
4546/*---------------------------------------------------------------------------
4547 WDI_BtAmpEventinfoType
4548 BT-AMP Event Structure
4549---------------------------------------------------------------------------*/
4550typedef struct
4551{
4552 wpt_uint8 ucBtAmpEventType;
4553
4554} WDI_BtAmpEventinfoType;
4555
4556/*---------------------------------------------------------------------------
4557 WDI_BtAmpEventParamsType
4558---------------------------------------------------------------------------*/
4559typedef struct
4560{
4561 /*BT AMP event Info */
4562 WDI_BtAmpEventinfoType wdiBtAmpEventInfo;
4563
4564 /*Request status callback offered by UMAC - it is called if the current
4565 req has returned PENDING as status; it delivers the status of sending
4566 the message over the BUS */
4567 WDI_ReqStatusCb wdiReqStatusCB;
4568
4569 /*The user data passed in by UMAC, it will be sent back when the above
4570 function pointer will be called */
4571 void* pUserData;
4572}WDI_BtAmpEventParamsType;
4573
Jeff Johnsone7245742012-09-05 17:12:55 -07004574#ifdef FEATURE_OEM_DATA_SUPPORT
4575
4576#ifndef OEM_DATA_REQ_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004577#define OEM_DATA_REQ_SIZE 134
Jeff Johnsone7245742012-09-05 17:12:55 -07004578#endif
4579#ifndef OEM_DATA_RSP_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004580#define OEM_DATA_RSP_SIZE 1968
Jeff Johnsone7245742012-09-05 17:12:55 -07004581#endif
4582
4583/*----------------------------------------------------------------------------
4584 WDI_oemDataReqInfoType
4585----------------------------------------------------------------------------*/
4586typedef struct
4587{
4588 wpt_macAddr selfMacAddr;
4589 wpt_uint8 oemDataReq[OEM_DATA_REQ_SIZE];
4590}WDI_oemDataReqInfoType;
4591
4592/*----------------------------------------------------------------------------
4593 WDI_oemDataReqParamsType
4594----------------------------------------------------------------------------*/
4595typedef struct
4596{
4597 /*Request status callback offered by UMAC - it is called if the current
4598 req has returned PENDING as status; it delivers the status of sending
4599 the message over the BUS */
4600 WDI_ReqStatusCb wdiReqStatusCB;
4601
4602 /*The user data passed in by UMAC, it will be sent back when the above
4603 function pointer will be called */
4604 void* pUserData;
4605
4606 /*OEM DATA REQ Info */
4607 WDI_oemDataReqInfoType wdiOemDataReqInfo;
4608
4609}WDI_oemDataReqParamsType;
4610
4611/*----------------------------------------------------------------------------
4612 WDI_oemDataRspParamsType
4613----------------------------------------------------------------------------*/
4614typedef struct
4615{
4616 wpt_uint8 oemDataRsp[OEM_DATA_RSP_SIZE];
4617}WDI_oemDataRspParamsType;
4618
4619#endif /* FEATURE_OEM_DATA_SUPPORT */
Jeff Johnson295189b2012-06-20 16:38:30 -07004620
4621#ifdef WLAN_FEATURE_VOWIFI_11R
4622/*---------------------------------------------------------------------------
4623 WDI_AggrAddTSReqInfoType
4624---------------------------------------------------------------------------*/
4625typedef struct
4626{
4627 /*STA Index*/
4628 wpt_uint8 ucSTAIdx;
4629
4630 /*Identifier for TSpec*/
4631 wpt_uint8 ucTspecIdx;
4632
4633 /*Tspec IE negotiated OTA*/
4634 WDI_TspecIEType wdiTspecIE[WDI_MAX_NO_AC];
4635
4636 /*UAPSD delivery and trigger enabled flags */
4637 wpt_uint8 ucUapsdFlags;
4638
4639 /*SI for each AC*/
4640 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
4641
4642 /*Suspend Interval for each AC*/
4643 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
4644
4645 /*DI for each AC*/
4646 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
4647
4648}WDI_AggrAddTSReqInfoType;
4649
4650
4651/*---------------------------------------------------------------------------
4652 WDI_AggrAddTSReqParamsType
4653---------------------------------------------------------------------------*/
4654typedef struct
4655{
4656 /*TSpec Info */
4657 WDI_AggrAddTSReqInfoType wdiAggrTsInfo;
4658
4659 /*Request status callback offered by UMAC - it is called if the current
4660 req has returned PENDING as status; it delivers the status of sending
4661 the message over the BUS */
4662 WDI_ReqStatusCb wdiReqStatusCB;
4663
4664 /*The user data passed in by UMAC, it will be sent back when the above
4665 function pointer will be called */
4666 void* pUserData;
4667}WDI_AggrAddTSReqParamsType;
4668
4669#endif /* WLAN_FEATURE_VOWIFI_11R */
4670
Jeff Johnson295189b2012-06-20 16:38:30 -07004671/*---------------------------------------------------------------------------
4672 WDI_FTMCommandReqType
4673---------------------------------------------------------------------------*/
4674typedef struct
4675{
4676 /* FTM Command Body length */
4677 wpt_uint32 bodyLength;
4678 /* Actual FTM Command body */
4679 void *FTMCommandBody;
4680}WDI_FTMCommandReqType;
Jeff Johnson295189b2012-06-20 16:38:30 -07004681
4682/*---------------------------------------------------------------------------
4683 WDI_WlanSuspendInfoType
4684---------------------------------------------------------------------------*/
4685typedef struct
4686{
4687 /* Mode of Mcast and Bcast filters configured */
4688 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4689}WDI_WlanSuspendInfoType;
4690
4691/*---------------------------------------------------------------------------
4692 WDI_SuspendParamsType
4693---------------------------------------------------------------------------*/
4694typedef struct
4695{
4696 WDI_WlanSuspendInfoType wdiSuspendParams;
4697
4698 /*Request status callback offered by UMAC - it is called if the current
4699 req has returned PENDING as status; it delivers the status of sending
4700 the message over the BUS */
4701 WDI_ReqStatusCb wdiReqStatusCB;
4702
4703 /*The user data passed in by UMAC, it will be sent back when the above
4704 function pointer will be called */
4705 void* pUserData;
4706
4707}WDI_SuspendParamsType;
4708
4709/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004710 WDI_TrafficStatsType - This is collected for each STA
4711---------------------------------------------------------------------------*/
4712
4713typedef struct
4714{
4715 /* TX stats */
4716 wpt_uint32 txBytesPushed;
4717 wpt_uint32 txPacketsPushed;
4718
4719 /* RX stats */
4720 wpt_uint32 rxBytesRcvd;
4721 wpt_uint32 rxPacketsRcvd;
4722 wpt_uint32 rxTimeTotal;
4723}WDI_TrafficStatsType;
4724
4725typedef struct
4726{
4727 WDI_TrafficStatsType *pTrafficStats;
4728 wpt_uint32 length;
4729 wpt_uint32 duration;
4730
4731 /*Request status callback offered by UMAC - it is called if the current
4732 req has returned PENDING as status; it delivers the status of sending
4733 the message over the BUS */
4734 WDI_ReqStatusCb wdiReqStatusCB;
4735
4736 /*The user data passed in by UMAC, it will be sent back when the above
4737 function pointer will be called */
4738 void* pUserData;
4739}WDI_TrafficStatsIndType;
4740
Chet Lanctot186b5732013-03-18 10:26:30 -07004741#ifdef WLAN_FEATURE_11W
4742typedef struct
4743{
4744
4745 wpt_boolean bExcludeUnencrypt;
4746 wpt_macAddr bssid;
4747 /*Request status callback offered by UMAC - it is called if the current
4748 req has returned PENDING as status; it delivers the status of sending
4749 the message over the BUS */
4750 WDI_ReqStatusCb wdiReqStatusCB;
4751
4752 /*The user data passed in by UMAC, it will be sent back when the above
4753 function pointer will be called */
4754 void* pUserData;
4755}WDI_ExcludeUnencryptIndType;
4756#endif
4757
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004758/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004759 WDI_WlanResumeInfoType
4760---------------------------------------------------------------------------*/
4761typedef struct
4762{
4763 /* Mode of Mcast and Bcast filters configured */
4764 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4765}WDI_WlanResumeInfoType;
4766
4767/*---------------------------------------------------------------------------
4768 WDI_ResumeParamsType
4769---------------------------------------------------------------------------*/
4770typedef struct
4771{
4772 WDI_WlanResumeInfoType wdiResumeParams;
4773
4774 /*Request status callback offered by UMAC - it is called if the current
4775 req has returned PENDING as status; it delivers the status of sending
4776 the message over the BUS */
4777 WDI_ReqStatusCb wdiReqStatusCB;
4778
4779 /*The user data passed in by UMAC, it will be sent back when the above
4780 function pointer will be called */
4781 void* pUserData;
4782
4783}WDI_ResumeParamsType;
4784
4785#ifdef WLAN_FEATURE_GTK_OFFLOAD
4786/*---------------------------------------------------------------------------
4787 * WDI_GTK_OFFLOAD_REQ
4788 *--------------------------------------------------------------------------*/
4789
4790typedef struct
4791{
4792 wpt_uint32 ulFlags; /* optional flags */
4793 wpt_uint8 aKCK[16]; /* Key confirmation key */
4794 wpt_uint8 aKEK[16]; /* key encryption key */
4795 wpt_uint64 ullKeyReplayCounter; /* replay counter */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004796 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004797} WDI_GtkOffloadReqParams;
4798
4799typedef struct
4800{
4801 WDI_GtkOffloadReqParams gtkOffloadReqParams;
4802
4803 /*Request status callback offered by UMAC - it is called if the current
4804 req has returned PENDING as status; it delivers the status of sending
4805 the message over the BUS */
4806 WDI_ReqStatusCb wdiReqStatusCB;
4807
4808 /*The user data passed in by UMAC, it will be sent back when the above
4809 function pointer will be called */
4810 void* pUserData;
4811} WDI_GtkOffloadReqMsg;
4812
4813/*---------------------------------------------------------------------------
4814 * WDI_GTK_OFFLOAD_RSP
4815 *--------------------------------------------------------------------------*/
4816typedef struct
4817{
4818 /* success or failure */
4819 wpt_uint32 ulStatus;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004820 /*BssIdx of the response */
4821 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004822} WDI_GtkOffloadRspParams;
4823
4824typedef struct
4825{
4826 WDI_GtkOffloadRspParams gtkOffloadRspParams;
4827
4828 /*Request status callback offered by UMAC - it is called if the current
4829 req has returned PENDING as status; it delivers the status of sending
4830 the message over the BUS */
4831 WDI_ReqStatusCb wdiReqStatusCB;
4832
4833 /*The user data passed in by UMAC, it will be sent back when the above
4834 function pointer will be called */
4835 void* pUserData;
4836} WDI_GtkOffloadRspMsg;
4837
4838
4839/*---------------------------------------------------------------------------
4840* WDI_GTK_OFFLOAD_GETINFO_REQ
4841*--------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004842typedef struct
4843{
4844 /*BssIdx of the response */
4845 wpt_macAddr bssId;
4846} WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004847
4848typedef struct
4849{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004850
4851 WDI_GtkOffloadGetInfoReqParams WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004852 /*Request status callback offered by UMAC - it is called if the current
4853 req has returned PENDING as status; it delivers the status of sending
4854 the message over the BUS */
4855 WDI_ReqStatusCb wdiReqStatusCB;
4856
4857 /*The user data passed in by UMAC, it will be sent back when the above
4858 function pointer will be called */
4859 void* pUserData;
4860} WDI_GtkOffloadGetInfoReqMsg;
4861
4862/*---------------------------------------------------------------------------
4863* WDI_GTK_OFFLOAD_GETINFO_RSP
4864*--------------------------------------------------------------------------*/
4865typedef struct
4866{
4867 wpt_uint32 ulStatus; /* success or failure */
4868 wpt_uint64 ullKeyReplayCounter; /* current replay counter value */
4869 wpt_uint32 ulTotalRekeyCount; /* total rekey attempts */
4870 wpt_uint32 ulGTKRekeyCount; /* successful GTK rekeys */
4871 wpt_uint32 ulIGTKRekeyCount; /* successful iGTK rekeys */
Gopichand Nakkala870cbae2013-03-15 21:16:09 +05304872 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004873} WDI_GtkOffloadGetInfoRspParams;
4874
4875typedef struct
4876{
4877 WDI_GtkOffloadGetInfoRspParams gtkOffloadGetInfoRspParams;
4878
4879 /*Request status callback offered by UMAC - it is called if the current
4880 req has returned PENDING as status; it delivers the status of sending
4881 the message over the BUS */
4882 WDI_ReqStatusCb wdiReqStatusCB;
4883
4884 /*The user data passed in by UMAC, it will be sent back when the above
4885 function pointer will be called */
4886 void* pUserData;
4887} WDI_GtkOffloadGetInfoRspMsg;
4888#endif // WLAN_FEATURE_GTK_OFFLOAD
4889
4890/*---------------------------------------------------------------------------
4891 WDI_SuspendResumeRspParamsType
4892---------------------------------------------------------------------------*/
4893typedef struct
4894{
4895 /*Status of the response*/
4896 WDI_Status wdiStatus;
4897}WDI_SuspendResumeRspParamsType;
4898
Leo Chang9056f462013-08-01 19:21:11 -07004899#ifdef FEATURE_WLAN_LPHB
4900/*---------------------------------------------------------------------------
4901 WDI Low Power Heart Beat Config request
4902 Copy from sirApi.h to avoid compile error
4903---------------------------------------------------------------------------*/
4904#define WDI_LPHB_FILTER_LEN 64
4905
4906typedef enum
4907{
4908 WDI_LPHB_SET_EN_PARAMS_INDID = 0x0001,
4909 WDI_LPHB_SET_TCP_PARAMS_INDID,
4910 WDI_LPHB_SET_TCP_PKT_FILTER_INDID,
4911 WDI_LPHB_SET_UDP_PARAMS_INDID,
4912 WDI_LPHB_SET_UDP_PKT_FILTER_INDID,
4913 WDI_LPHB_SET_NETWORK_INFO_INDID,
4914} WDI_LPHBIndType;
4915
4916typedef struct
4917{
4918 wpt_uint8 enable;
4919 wpt_uint8 item;
4920 wpt_uint8 session;
4921} WDI_LPHBEnableStruct;
4922
4923typedef struct
4924{
4925 wpt_uint32 srv_ip;
4926 wpt_uint32 dev_ip;
4927 wpt_uint16 src_port;
4928 wpt_uint16 dst_port;
4929 wpt_uint16 timeout;
4930 wpt_uint8 session;
4931 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
Leo Changd9df8aa2013-09-26 13:32:26 -07004932 wpt_uint16 timePeriodSec; // in seconds
4933 wpt_uint32 tcpSn;
Leo Chang9056f462013-08-01 19:21:11 -07004934} WDI_LPHBTcpParamStruct;
4935
4936typedef struct
4937{
4938 wpt_uint16 length;
4939 wpt_uint8 offset;
4940 wpt_uint8 session;
4941 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
4942} WDI_LPHBTcpFilterStruct;
4943
4944typedef struct
4945{
4946 wpt_uint32 srv_ip;
4947 wpt_uint32 dev_ip;
4948 wpt_uint16 src_port;
4949 wpt_uint16 dst_port;
4950 wpt_uint16 interval;
4951 wpt_uint16 timeout;
4952 wpt_uint8 session;
4953 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
4954} WDI_LPHBUdpParamStruct;
4955
4956typedef struct
4957{
4958 wpt_uint16 length;
4959 wpt_uint8 offset;
4960 wpt_uint8 session;
4961 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
4962} WDI_LPHBUdpFilterStruct;
4963
4964typedef struct
4965{
4966 wpt_uint16 cmd;
4967 wpt_uint16 dummy;
4968 union
4969 {
4970 WDI_LPHBEnableStruct lphbEnableReq;
4971 WDI_LPHBTcpParamStruct lphbTcpParamReq;
4972 WDI_LPHBTcpFilterStruct lphbTcpFilterReq;
4973 WDI_LPHBUdpParamStruct lphbUdpParamReq;
4974 WDI_LPHBUdpFilterStruct lphbUdpFilterReq;
4975 } params;
4976} WDI_LPHBReq;
4977#endif /* FEATURE_WLAN_LPHB */
Jeff Johnson295189b2012-06-20 16:38:30 -07004978
Jeff Johnson295189b2012-06-20 16:38:30 -07004979/*---------------------------------------------------------------------------
4980 WDI_AuthType
4981---------------------------------------------------------------------------*/
4982typedef enum
4983{
4984 WDI_AUTH_TYPE_ANY = 0,
4985
4986 WDI_AUTH_TYPE_NONE,
4987 WDI_AUTH_TYPE_OPEN_SYSTEM,
4988 WDI_AUTH_TYPE_SHARED_KEY,
4989
4990 WDI_AUTH_TYPE_WPA,
4991 WDI_AUTH_TYPE_WPA_PSK,
4992 WDI_AUTH_TYPE_WPA_NONE,
4993
4994 WDI_AUTH_TYPE_RSN,
4995 WDI_AUTH_TYPE_RSN_PSK,
4996 WDI_AUTH_TYPE_FT_RSN,
4997 WDI_AUTH_TYPE_FT_RSN_PSK,
4998 WDI_AUTH_TYPE_WAPI_WAI_CERTIFICATE,
4999 WDI_AUTH_TYPE_WAPI_WAI_PSK,
5000 WDI_AUTH_TYPE_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
5001
5002}WDI_AuthType;
5003
5004/*---------------------------------------------------------------------------
5005 WDI_EdType
5006---------------------------------------------------------------------------*/
5007typedef enum
5008{
5009 WDI_ED_ANY = 0,
5010 WDI_ED_NONE,
5011 WDI_ED_WEP40,
5012 WDI_ED_WEP104,
5013 WDI_ED_TKIP,
5014 WDI_ED_CCMP,
5015 WDI_ED_WPI,
5016 WDI_ED_AES_128_CMAC,
5017 WDI_ED_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
5018} WDI_EdType;
5019
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005020#ifdef FEATURE_WLAN_SCAN_PNO
5021
5022/*Max number of channels for a given network supported by PNO*/
5023#define WDI_PNO_MAX_NETW_CHANNELS 26
5024
5025/*Max number of channels for a given network supported by PNO*/
5026#define WDI_PNO_MAX_NETW_CHANNELS_EX 60
5027
5028/*The max number of programable networks for PNO*/
5029#define WDI_PNO_MAX_SUPP_NETWORKS 16
5030
5031/*The max number of scan timers programable in Riva*/
5032#define WDI_PNO_MAX_SCAN_TIMERS 10
5033
5034#define WDI_PNO_MAX_PROBE_SIZE 450
Jeff Johnson295189b2012-06-20 16:38:30 -07005035
5036/*---------------------------------------------------------------------------
5037 WDI_PNOMode
5038---------------------------------------------------------------------------*/
5039typedef enum
5040{
5041 /*Network offload is to start immediately*/
5042 WDI_PNO_MODE_IMMEDIATE,
5043
5044 /*Network offload is to start on host suspend*/
5045 WDI_PNO_MODE_ON_SUSPEND,
5046
5047 /*Network offload is to start on host resume*/
5048 WDI_PNO_MODE_ON_RESUME,
5049 WDI_PNO_MODE_MAX = 0xFFFFFFFF
5050} WDI_PNOMode;
5051
5052/* SSID broadcast type */
5053typedef enum
5054{
5055 WDI_BCAST_UNKNOWN = 0,
5056 WDI_BCAST_NORMAL = 1,
5057 WDI_BCAST_HIDDEN = 2,
5058
5059 WDI_BCAST_TYPE_MAX = 0xFFFFFFFF
5060} WDI_SSIDBcastType;
5061
5062/*---------------------------------------------------------------------------
5063 WDI_NetworkType
5064---------------------------------------------------------------------------*/
5065typedef struct
5066{
5067 /*The SSID of the preferred network*/
5068 WDI_MacSSid ssId;
5069
5070 /*The authentication method of the preferred network*/
5071 WDI_AuthType wdiAuth;
5072
5073 /*The encryption method of the preferred network*/
5074 WDI_EdType wdiEncryption;
5075
5076 /*SSID broadcast type, normal, hidden or unknown*/
5077 WDI_SSIDBcastType wdiBcastNetworkType;
5078
5079 /*channel count - 0 for all channels*/
5080 wpt_uint8 ucChannelCount;
5081
5082 /*the actual channels*/
Madan Mohan Koyyalamudi4bb5d2e2013-09-26 17:36:46 +05305083 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
Jeff Johnson295189b2012-06-20 16:38:30 -07005084
5085 /*rssi threshold that a network must meet to be considered, 0 - for any*/
5086 wpt_uint8 rssiThreshold;
5087} WDI_NetworkType;
5088
5089
5090/*---------------------------------------------------------------------------
5091 WDI_ScanTimer
5092---------------------------------------------------------------------------*/
5093typedef struct
5094{
5095 /*The timer value*/
5096 wpt_uint32 uTimerValue;
5097
5098 /*The amount of time we should be repeating the interval*/
5099 wpt_uint32 uTimerRepeat;
5100} WDI_ScanTimer;
5101
5102/*---------------------------------------------------------------------------
5103 WDI_ScanTimersType
5104---------------------------------------------------------------------------*/
5105typedef struct
5106{
5107 /*The number of value pair intervals present in the array*/
5108 wpt_uint8 ucScanTimersCount;
5109
5110 /*The time-repeat value pairs*/
5111 WDI_ScanTimer aTimerValues[WDI_PNO_MAX_SCAN_TIMERS];
5112} WDI_ScanTimersType;
5113
5114/*---------------------------------------------------------------------------
5115 WDI_PNOScanReqType
5116---------------------------------------------------------------------------*/
5117typedef struct
5118{
5119 /*Enable or disable PNO feature*/
5120 wpt_uint8 bEnable;
5121
5122 /*PNO mode requested*/
5123 WDI_PNOMode wdiModePNO;
5124
5125 /*Network count*/
5126 wpt_uint8 ucNetworksCount;
5127
5128 /*The networks to look for*/
5129 WDI_NetworkType aNetworks[WDI_PNO_MAX_SUPP_NETWORKS];
5130
5131 /*Scan timer intervals*/
5132 WDI_ScanTimersType scanTimers;
5133
5134 /*Probe template for 2.4GHz band*/
5135 wpt_uint16 us24GProbeSize;
5136 wpt_uint8 a24GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
5137
5138 /*Probe template for 5GHz band*/
5139 wpt_uint16 us5GProbeSize;
5140 wpt_uint8 a5GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
5141} WDI_PNOScanReqType;
5142
5143/*---------------------------------------------------------------------------
5144 WDI_PNOScanReqParamsType
5145 PNO info passed to WDI form WDA
5146---------------------------------------------------------------------------*/
5147typedef struct
5148{
5149 /* PNO Info Type, same as tPrefNetwListParams */
5150 WDI_PNOScanReqType wdiPNOScanInfo;
5151 /* Request status callback offered by UMAC - it is called if the current req
5152 has returned PENDING as status; it delivers the status of sending the message
5153 over the BUS */
5154 WDI_ReqStatusCb wdiReqStatusCB;
5155 /* The user data passed in by UMAC, it will be sent back when the above
5156 function pointer will be called */
5157 void* pUserData;
5158} WDI_PNOScanReqParamsType;
5159
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005160/*---------------------------------------------------------------------------
5161 WDI_SetRssiFilterReqParamsType
5162 PNO info passed to WDI form WDA
5163---------------------------------------------------------------------------*/
5164typedef struct
5165{
5166 /* RSSI Threshold */
5167 wpt_uint8 rssiThreshold;
5168 /* Request status callback offered by UMAC - it is called if the current req
5169 has returned PENDING as status; it delivers the status of sending the message
5170 over the BUS */
5171 WDI_ReqStatusCb wdiReqStatusCB;
5172 /* The user data passed in by UMAC, it will be sent back when the above
5173 function pointer will be called */
5174 void* pUserData;
5175} WDI_SetRssiFilterReqParamsType;
5176
5177/*---------------------------------------------------------------------------
5178 WDI_UpdateScanParamsInfo
5179---------------------------------------------------------------------------*/
5180typedef struct
5181{
5182 /*Is 11d enabled*/
5183 wpt_uint8 b11dEnabled;
5184
5185 /*Was UMAc able to find the regulatory domain*/
5186 wpt_uint8 b11dResolved;
5187
5188 /*Number of channel allowed in the regulatory domain*/
5189 wpt_uint8 ucChannelCount;
5190
5191 /*The actual channels allowed in the regulatory domain*/
5192 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
5193
5194 /*Passive min channel time*/
5195 wpt_uint16 usPassiveMinChTime;
5196
5197 /*Passive max channel time*/
5198 wpt_uint16 usPassiveMaxChTime;
5199
5200 /*Active min channel time*/
5201 wpt_uint16 usActiveMinChTime;
5202
5203 /*Active max channel time*/
5204 wpt_uint16 usActiveMaxChTime;
5205
5206 /*channel bonding info*/
5207 wpt_uint8 cbState;
5208} WDI_UpdateScanParamsInfo;
5209
5210/*---------------------------------------------------------------------------
5211 WDI_UpdateScanParamsInfoType
5212 UpdateScanParams info passed to WDI form WDA
5213---------------------------------------------------------------------------*/
5214typedef struct
5215{
5216 /* PNO Info Type, same as tUpdateScanParams */
5217 WDI_UpdateScanParamsInfo wdiUpdateScanParamsInfo;
5218 /* Request status callback offered by UMAC - it is called if the current req
5219 has returned PENDING as status; it delivers the status of sending the message
5220 over the BUS */
5221 WDI_ReqStatusCb wdiReqStatusCB;
5222 /* The user data passed in by UMAC, it will be sent back when the above
5223 function pointer will be called */
5224 void* pUserData;
5225} WDI_UpdateScanParamsInfoType;
5226#endif //FEATURE_WLAN_SCAN_PNO
5227
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005228#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
5229
Varun Reddy Yeturu52231ea2014-02-06 12:00:56 -08005230#define WDI_ROAM_SCAN_MAX_CHANNELS 80
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005231#define WDI_ROAM_SCAN_MAX_PROBE_SIZE 450
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005232
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005233typedef struct
5234{
5235 /*The SSID of the preferred network*/
5236 WDI_MacSSid ssId;
5237 wpt_uint8 currAPbssid[WDI_MAC_ADDR_LEN];
5238
5239 /*The authentication method of the preferred network*/
5240 WDI_AuthType authentication;
5241
5242 /*The encryption method of the preferred network*/
5243 WDI_EdType encryption;
5244 WDI_EdType mcencryption;
5245
5246 /*SSID broadcast type, normal, hidden or unknown*/
5247 //WDI_SSIDBcastType wdiBcastNetworkType;
5248
5249 /*channel count - 0 for all channels*/
5250 wpt_uint8 ChannelCount;
5251
5252 /*the actual channels*/
5253 wpt_uint8 ChannelCache[WDI_ROAM_SCAN_MAX_CHANNELS];
5254
5255} WDI_RoamNetworkType;
5256
5257typedef struct WDIMobilityDomainInfo
5258{
5259 wpt_uint8 mdiePresent;
5260 wpt_uint16 mobilityDomain;
5261} WDI_MobilityDomainInfo;
5262
5263/*---------------------------------------------------------------------------
5264 WDI_RoamOffloadScanInfo
5265---------------------------------------------------------------------------*/
5266typedef struct
5267{
5268 wpt_boolean RoamScanOffloadEnabled;
Sameer Thalappil4ae66ec2013-11-05 14:17:35 -08005269 wpt_boolean MAWCEnabled;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005270 wpt_uint8 LookupThreshold;
Varun Reddy Yeturu6c5e25c2014-01-09 21:55:37 -08005271 wpt_uint8 RxSensitivityThreshold;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005272 wpt_uint8 RoamRssiDiff;
5273 wpt_uint8 ChannelCacheType;
5274 wpt_uint8 Command;
5275 wpt_uint8 StartScanReason;
5276 wpt_uint16 NeighborScanTimerPeriod;
5277 wpt_uint16 NeighborRoamScanRefreshPeriod;
5278 wpt_uint16 NeighborScanChannelMinTime;
5279 wpt_uint16 NeighborScanChannelMaxTime;
5280 wpt_uint16 EmptyRefreshScanPeriod;
5281 wpt_uint8 ValidChannelCount;
5282 wpt_uint8 ValidChannelList[WDI_ROAM_SCAN_MAX_CHANNELS];
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08005283 wpt_boolean IsESEEnabled;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005284 /*Probe template for 2.4GHz band*/
5285 wpt_uint16 us24GProbeSize;
5286 wpt_uint8 a24GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
5287
5288 /*Probe template for 5GHz band*/
5289 wpt_uint16 us5GProbeSize;
5290 wpt_uint8 a5GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005291 /*LFR BG Scan will currently look for only one network to which it is initially connected.
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005292 * As per requirement, later, the following structure can be used as an array of networks.*/
5293 WDI_RoamNetworkType ConnectedNetwork;
5294 WDI_MobilityDomainInfo MDID;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005295 wpt_uint8 nProbes;
5296 wpt_uint16 HomeAwayTime;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005297} WDI_RoamOffloadScanInfo;
5298
5299typedef struct
5300{
5301 /* Start Roam Candidate Lookup Offload Back Ground Info Type */
5302 WDI_RoamOffloadScanInfo wdiRoamOffloadScanInfo;
5303 /* Request status callback offered by UMAC - it is called if the current req
5304 has returned PENDING as status; it delivers the status of sending the message
5305 over the BUS */
5306 WDI_ReqStatusCb wdiReqStatusCB;
5307 /* The user data passed in by UMAC, it will be sent back when the above
5308 function pointer will be called */
5309 void* pUserData;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005310} WDI_RoamScanOffloadReqParamsType;
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005311#endif //WLAN_FEATURE_ROAM_SCAN_OFFLOAD
Jeff Johnson295189b2012-06-20 16:38:30 -07005312
5313/*---------------------------------------------------------------------------
Sandeep Puligilla8b8b74b2014-02-10 16:39:05 +05305314 WDI_HT40ObssScanIndType
5315---------------------------------------------------------------------------*/
5316typedef struct
5317{
5318 wpt_uint8 cmdType;
5319 wpt_uint8 scanType;
5320 wpt_uint16 OBSSScanPassiveDwellTime; // In TUs
5321 wpt_uint16 OBSSScanActiveDwellTime; // In TUs
5322 wpt_uint16 BSSChannelWidthTriggerScanInterval; // In seconds
5323 wpt_uint16 OBSSScanPassiveTotalPerChannel; // In TUs
5324 wpt_uint16 OBSSScanActiveTotalPerChannel; // In TUs
5325 wpt_uint16 BSSWidthChannelTransitionDelayFactor;
5326 wpt_uint16 OBSSScanActivityThreshold;
5327 wpt_uint8 selfStaIdx;
5328 wpt_uint8 bssIdx;
5329 wpt_uint8 fortyMHZIntolerent;
5330 wpt_uint8 channelCount;
5331 wpt_uint8 channels[WDI_ROAM_SCAN_MAX_CHANNELS];
5332 wpt_uint8 currentOperatingClass;
5333 wpt_uint16 ieFieldLen;
5334 wpt_uint8 ieField[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
5335} WDI_HT40ObssScanIndType;
5336
5337
5338/*---------------------------------------------------------------------------
5339 WDI_OBSSScanIndParamsType
5340---------------------------------------------------------------------------*/
5341typedef struct
5342{
5343 WDI_HT40ObssScanIndType wdiHT40ObssScanParam;
5344
5345 /*Request status callback offered by UMAC - it is called if the current
5346 req has returned PENDING as status; it delivers the status of sending
5347 the message over the BUS */
5348 WDI_ReqStatusCb wdiReqStatusCB;
5349
5350 /*The user data passed in by UMAC, it will be sent back when the above
5351 function pointer will be called */
5352 void* pUserData;
5353
5354}WDI_HT40ObssScanParamsType;
5355
5356/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07005357 WDI_UpdateScanParamsInfo
5358---------------------------------------------------------------------------*/
5359typedef struct
5360{
5361 /* Ignore DTIM */
5362 wpt_uint32 uIgnoreDTIM;
5363
5364 /*DTIM Period*/
5365 wpt_uint32 uDTIMPeriod;
5366
5367 /* Listen Interval */
5368 wpt_uint32 uListenInterval;
5369
5370 /* Broadcast Multicas Filter */
5371 wpt_uint32 uBcastMcastFilter;
5372
5373 /* Beacon Early Termination */
5374 wpt_uint32 uEnableBET;
5375
5376 /* Beacon Early Termination Interval */
5377 wpt_uint32 uBETInterval;
5378
Yue Mac24062f2013-05-13 17:01:29 -07005379 /* MAX LI for modulated DTIM */
5380 wpt_uint32 uMaxLIModulatedDTIM;
5381
Jeff Johnson295189b2012-06-20 16:38:30 -07005382} WDI_SetPowerParamsInfo;
5383
5384/*---------------------------------------------------------------------------
5385 WDI_UpdateScanParamsInfoType
5386 UpdateScanParams info passed to WDI form WDA
5387---------------------------------------------------------------------------*/
5388typedef struct
5389{
5390 /* Power params Info Type, same as tSetPowerParamsReq */
5391 WDI_SetPowerParamsInfo wdiSetPowerParamsInfo;
5392 /* Request status callback offered by UMAC - it is called if the current req
5393 has returned PENDING as status; it delivers the status of sending the message
5394 over the BUS */
5395 WDI_ReqStatusCb wdiReqStatusCB;
5396 /* The user data passed in by UMAC, it will be sent back when the above
5397 function pointer will be called */
5398 void* pUserData;
5399}WDI_SetPowerParamsReqParamsType;
5400
5401/*---------------------------------------------------------------------------
5402 WDI_SetTxPerTrackingConfType
5403 Wowl add ptrn info passed to WDA form UMAC
5404---------------------------------------------------------------------------*/
5405typedef struct
5406{
5407 wpt_uint8 ucTxPerTrackingEnable; /* 0: disable, 1:enable */
5408 wpt_uint8 ucTxPerTrackingPeriod; /* Check period, unit is sec. */
5409 wpt_uint8 ucTxPerTrackingRatio; /* (Fail TX packet)/(Total TX packet) ratio, the unit is 10%. */
5410 wpt_uint32 uTxPerTrackingWatermark; /* A watermark of check number, once the tx packet exceed this number, we do the check, default is 5 */
5411} WDI_TxPerTrackingParamType;
5412
5413/*---------------------------------------------------------------------------
5414 WDI_SetTxPerTrackingReqParamsType
5415 Tx PER Tracking parameters passed to WDI from WDA
5416---------------------------------------------------------------------------*/
5417typedef struct
5418{
5419 /* Configurations for Tx PER Tracking */
5420 WDI_TxPerTrackingParamType wdiTxPerTrackingParam;
5421 /*Request status callback offered by UMAC - it is called if the current req
5422 has returned PENDING as status; it delivers the status of sending the message
5423 over the BUS */
5424 WDI_ReqStatusCb wdiReqStatusCB;
5425 /*The user data passed in by UMAC, it will be sent back when the above
5426 function pointer will be called */
5427 void* pUserData;
5428}WDI_SetTxPerTrackingReqParamsType;
5429
5430#ifdef WLAN_FEATURE_PACKET_FILTERING
5431/*---------------------------------------------------------------------------
5432 Packet Filtering Parameters
5433---------------------------------------------------------------------------*/
5434
5435#define WDI_IPV4_ADDR_LEN 4
5436#define WDI_MAC_ADDR_LEN 6
5437#define WDI_MAX_FILTER_TEST_DATA_LEN 8
5438#define WDI_MAX_NUM_MULTICAST_ADDRESS 240
5439#define WDI_MAX_NUM_FILTERS 20
5440#define WDI_MAX_NUM_TESTS_PER_FILTER 10
5441
5442//
5443// Receive Filter Parameters
5444//
5445typedef enum
5446{
5447 WDI_RCV_FILTER_TYPE_INVALID,
5448 WDI_RCV_FILTER_TYPE_FILTER_PKT,
5449 WDI_RCV_FILTER_TYPE_BUFFER_PKT,
5450 WDI_RCV_FILTER_TYPE_MAX_ENUM_SIZE
5451}WDI_ReceivePacketFilterType;
5452
5453typedef enum
5454{
5455 WDI_FILTER_HDR_TYPE_INVALID,
5456 WDI_FILTER_HDR_TYPE_MAC,
5457 WDI_FILTER_HDR_TYPE_ARP,
5458 WDI_FILTER_HDR_TYPE_IPV4,
5459 WDI_FILTER_HDR_TYPE_IPV6,
5460 WDI_FILTER_HDR_TYPE_UDP,
5461 WDI_FILTER_HDR_TYPE_MAX
5462}WDI_RcvPktFltProtocolType;
5463
5464typedef enum
5465{
5466 WDI_FILTER_CMP_TYPE_INVALID,
5467 WDI_FILTER_CMP_TYPE_EQUAL,
5468 WDI_FILTER_CMP_TYPE_MASK_EQUAL,
5469 WDI_FILTER_CMP_TYPE_NOT_EQUAL,
5470 WDI_FILTER_CMP_TYPE_MASK_NOT_EQUAL,
5471 WDI_FILTER_CMP_TYPE_MAX
5472}WDI_RcvPktFltCmpFlagType;
5473
5474typedef struct
5475{
5476 WDI_RcvPktFltProtocolType protocolLayer;
5477 WDI_RcvPktFltCmpFlagType cmpFlag;
5478/* Length of the data to compare */
5479 wpt_uint16 dataLength;
5480/* from start of the respective frame header */
5481 wpt_uint8 dataOffset;
5482 wpt_uint8 reserved; /* Reserved field */
5483/* Data to compare */
5484 wpt_uint8 compareData[WDI_MAX_FILTER_TEST_DATA_LEN];
5485/* Mask to be applied on the received packet data before compare */
5486 wpt_uint8 dataMask[WDI_MAX_FILTER_TEST_DATA_LEN];
5487}WDI_RcvPktFilterFieldParams;
5488
5489typedef struct
5490{
5491 wpt_uint8 filterId;
5492 wpt_uint8 filterType;
5493 wpt_uint32 numFieldParams;
5494 wpt_uint32 coalesceTime;
Jeff Johnsone7245742012-09-05 17:12:55 -07005495 wpt_macAddr selfMacAddr;
5496 wpt_macAddr bssId;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005497 WDI_RcvPktFilterFieldParams paramsData[1];
5498
Jeff Johnson295189b2012-06-20 16:38:30 -07005499}WDI_RcvPktFilterCfgType;
5500
5501typedef struct
5502{
5503 /*Request status callback offered by UMAC - it is called if the current
5504 req has returned PENDING as status; it delivers the status of sending
5505 the message over the BUS */
5506 WDI_ReqStatusCb wdiReqStatusCB;
5507
5508 /*The user data passed in by UMAC, it will be sent back when the above
5509 function pointer will be called */
5510 void* pUserData;
5511
5512 // Variable length packet filter field params
5513 WDI_RcvPktFilterCfgType wdiPktFilterCfg;
5514} WDI_SetRcvPktFilterReqParamsType;
5515
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005516typedef struct
5517{
5518 /*Result of the operation*/
5519 WDI_Status wdiStatus;
5520 /* BSSIDX of the Set Receive Filter
5521 */
5522 wpt_uint8 bssIdx;
5523} WDI_SetRcvPktFilterRspParamsType;
5524
Jeff Johnson295189b2012-06-20 16:38:30 -07005525//
5526// Filter Packet Match Count Parameters
5527//
5528typedef struct
5529{
5530 /*Request status callback offered by UMAC - it is called if the current
5531 req has returned PENDING as status; it delivers the status of sending
5532 the message over the BUS */
5533 WDI_ReqStatusCb wdiReqStatusCB;
5534
5535 /*The user data passed in by UMAC, it will be sent back when the above
5536 function pointer will be called */
5537 void* pUserData;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005538
5539 /* BSSID of the Match count
5540 */
5541 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005542} WDI_RcvFltPktMatchCntReqParamsType;
5543
5544typedef struct
5545{
5546 wpt_uint8 filterId;
5547 wpt_uint32 matchCnt;
5548} WDI_RcvFltPktMatchCnt;
5549
5550typedef struct
5551{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005552 /*Result of the operation*/
5553 WDI_Status wdiStatus;
Jeff Johnson295189b2012-06-20 16:38:30 -07005554
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005555 /* BSSIDX of the Match count response
5556 */
5557 wpt_uint8 bssIdx;
5558
Jeff Johnson295189b2012-06-20 16:38:30 -07005559} WDI_RcvFltPktMatchCntRspParamsType;
5560
Jeff Johnson295189b2012-06-20 16:38:30 -07005561//
5562// Receive Filter Clear Parameters
5563//
5564typedef struct
5565{
5566 wpt_uint32 status; /* only valid for response message */
5567 wpt_uint8 filterId;
Jeff Johnsone7245742012-09-05 17:12:55 -07005568 wpt_macAddr selfMacAddr;
5569 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005570}WDI_RcvFltPktClearParam;
5571
5572typedef struct
5573{
5574 WDI_RcvFltPktClearParam filterClearParam;
5575 /*Request status callback offered by UMAC - it is called if the current
5576 req has returned PENDING as status; it delivers the status of sending
5577 the message over the BUS */
5578 WDI_ReqStatusCb wdiReqStatusCB;
5579
5580 /*The user data passed in by UMAC, it will be sent back when the above
5581 function pointer will be called */
5582 void* pUserData;
5583} WDI_RcvFltPktClearReqParamsType;
5584
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005585typedef struct
5586{
5587 /*Result of the operation*/
5588 WDI_Status wdiStatus;
5589 /* BSSIDX of the Match count response
5590 */
5591 wpt_uint8 bssIdx;
5592
5593} WDI_RcvFltPktClearRspParamsType;
5594
Jeff Johnson295189b2012-06-20 16:38:30 -07005595//
5596// Multicast Address List Parameters
5597//
5598typedef struct
5599{
5600 wpt_uint32 ulMulticastAddrCnt;
5601 wpt_macAddr multicastAddr[WDI_MAX_NUM_MULTICAST_ADDRESS];
Jeff Johnsone7245742012-09-05 17:12:55 -07005602 wpt_macAddr selfMacAddr;
5603 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005604} WDI_RcvFltMcAddrListType;
5605
5606typedef struct
5607{
5608 WDI_RcvFltMcAddrListType mcAddrList;
5609 /*Request status callback offered by UMAC - it is called if the current
5610 req has returned PENDING as status; it delivers the status of sending
5611 the message over the BUS */
5612 WDI_ReqStatusCb wdiReqStatusCB;
5613
5614 /*The user data passed in by UMAC, it will be sent back when the above
5615 function pointer will be called */
5616 void* pUserData;
5617} WDI_RcvFltPktSetMcListReqParamsType;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005618
5619typedef struct
5620{
5621 /*Result of the operation*/
5622 WDI_Status wdiStatus;
5623 /* BSSIDX of the Match count response
5624 */
5625 wpt_uint8 bssIdx;
5626} WDI_RcvFltPktSetMcListRspParamsType;
5627
Jeff Johnson295189b2012-06-20 16:38:30 -07005628#endif // WLAN_FEATURE_PACKET_FILTERING
5629
5630/*---------------------------------------------------------------------------
5631 WDI_HALDumpCmdReqInfoType
5632---------------------------------------------------------------------------*/
5633typedef struct
5634{
5635 /*command*/
5636 wpt_uint32 command;
5637
5638 /*Arguments*/
5639 wpt_uint32 argument1;
5640 wpt_uint32 argument2;
5641 wpt_uint32 argument3;
5642 wpt_uint32 argument4;
5643
5644}WDI_HALDumpCmdReqInfoType;
5645
5646/*---------------------------------------------------------------------------
5647 WDI_HALDumpCmdReqParamsType
5648---------------------------------------------------------------------------*/
5649typedef struct
5650{
5651 /*NV Blob Info*/
5652 WDI_HALDumpCmdReqInfoType wdiHALDumpCmdInfoType;
5653
5654 /*Request status callback offered by UMAC - it is called if the current
5655 req has returned PENDING as status; it delivers the status of sending
5656 the message over the BUS */
5657 WDI_ReqStatusCb wdiReqStatusCB;
5658
5659 /*The user data passed in by UMAC, it will be sent back when the above
5660 function pointer will be called */
5661 void* pUserData;
5662
5663}WDI_HALDumpCmdReqParamsType;
5664
5665
5666/*---------------------------------------------------------------------------
5667 WDI_HALDumpCmdRspParamsType
5668---------------------------------------------------------------------------*/
5669typedef struct
5670{
5671 /*Result of the operation*/
5672 WDI_Status wdiStatus;
5673
5674 /* length of the buffer */
5675 wpt_uint16 usBufferLen;
5676
5677 /* Buffer */
5678 wpt_uint8 *pBuffer;
5679}WDI_HALDumpCmdRspParamsType;
5680
5681
5682/*---------------------------------------------------------------------------
5683 WDI_SetTmLevelReqType
5684---------------------------------------------------------------------------*/
5685typedef struct
5686{
5687 wpt_uint16 tmMode;
5688 wpt_uint16 tmLevel;
5689 void* pUserData;
5690}WDI_SetTmLevelReqType;
5691
5692/*---------------------------------------------------------------------------
5693 WDI_SetTmLevelRspType
5694---------------------------------------------------------------------------*/
5695typedef struct
5696{
5697 WDI_Status wdiStatus;
5698 void* pUserData;
5699}WDI_SetTmLevelRspType;
5700
Leo Chang9056f462013-08-01 19:21:11 -07005701#ifdef FEATURE_WLAN_LPHB
5702/*---------------------------------------------------------------------------
5703 WDI_LPHBConfigParamsType
5704---------------------------------------------------------------------------*/
5705typedef struct
5706{
5707 void* pLphsConfIndData;
5708}WDI_LPHBConfigParamsType;
5709#endif /* FEATURE_WLAN_LPHB */
5710
Yue Mab9c86f42013-08-14 15:59:08 -07005711/*---------------------------------------------------------------------------
5712 WDI_AddPeriodicTxPtrnInfoType
5713---------------------------------------------------------------------------*/
5714typedef struct
5715{
5716 /* MAC Address for the adapter */
5717 wpt_macAddr macAddr;
5718
5719 wpt_uint8 ucPtrnId; // Pattern ID
5720 wpt_uint16 ucPtrnSize; // Pattern size
5721 wpt_uint32 usPtrnIntervalMs; // In msec
5722 wpt_uint8 ucPattern[PERIODIC_TX_PTRN_MAX_SIZE]; // Pattern buffer
5723} WDI_AddPeriodicTxPtrnInfoType;
5724
5725/*---------------------------------------------------------------------------
5726 WDI_DelPeriodicTxPtrnInfoType
5727---------------------------------------------------------------------------*/
5728typedef struct
5729{
5730 /* MAC Address for the adapter */
5731 wpt_macAddr macAddr;
5732
5733 /* Bitmap of pattern IDs that needs to be deleted */
5734 wpt_uint32 ucPatternIdBitmap;
5735} WDI_DelPeriodicTxPtrnInfoType;
5736
5737/*---------------------------------------------------------------------------
5738 WDI_AddPeriodicTxPtrnParamsType
5739---------------------------------------------------------------------------*/
5740typedef struct
5741{
5742 WDI_AddPeriodicTxPtrnInfoType wdiAddPeriodicTxPtrnParams;
5743
5744 /*Request status callback offered by UMAC - it is called if the current
5745 req has returned PENDING as status; it delivers the status of sending
5746 the message over the BUS */
5747 WDI_ReqStatusCb wdiReqStatusCB;
5748
5749 /*The user data passed in by UMAC, it will be sent back when the above
5750 function pointer will be called */
5751 void* pUserData;
5752} WDI_AddPeriodicTxPtrnParamsType;
5753
5754/*---------------------------------------------------------------------------
Srinivas Dasari32a79262015-02-19 13:04:49 +05305755 WDI_NanRequestType
5756---------------------------------------------------------------------------*/
5757typedef struct
5758{
5759 wpt_uint16 request_data_len;
5760 wpt_uint8 request_data[1];
5761} WDI_NanRequestType;
5762
5763
5764/*---------------------------------------------------------------------------
Yue Mab9c86f42013-08-14 15:59:08 -07005765 WDI_DelPeriodicTxPtrnParamsType
5766---------------------------------------------------------------------------*/
5767typedef struct
5768{
5769 WDI_DelPeriodicTxPtrnInfoType wdiDelPeriodicTxPtrnParams;
5770
5771 /*Request status callback offered by UMAC - it is called if the current
5772 req has returned PENDING as status; it delivers the status of sending
5773 the message over the BUS */
5774 WDI_ReqStatusCb wdiReqStatusCB;
5775
5776 /*The user data passed in by UMAC, it will be sent back when the above
5777 function pointer will be called */
5778 void* pUserData;
5779} WDI_DelPeriodicTxPtrnParamsType;
5780
Dino Mycle41bdc942014-06-10 11:30:24 +05305781#ifdef WLAN_FEATURE_EXTSCAN
5782
5783#define WDI_WLAN_EXTSCAN_MAX_CHANNELS 16
5784#define WDI_WLAN_EXTSCAN_MAX_BUCKETS 16
5785#define WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS 128
5786#define WDI_WLAN_EXTSCAN_MAX_SIGNIFICANT_CHANGE_APS 64
5787
5788typedef enum
5789{
5790 WDI_WIFI_BAND_UNSPECIFIED,
5791 WDI_WIFI_BAND_BG = 1, // 2.4 GHz
5792 WDI_WIFI_BAND_A = 2, // 5 GHz without DFS
5793 WDI_WIFI_BAND_ABG = 3, // 2.4 GHz + 5 GHz; no DFS
5794 WDI_WIFI_BAND_A_DFS = 4, // 5 GHz DFS only
5795 WDI_WIFI_BAND_A_WITH_DFS = 6, // 5 GHz with DFS
5796 WDI_WIFI_BAND_ABG_WITH_DFS = 7, // 2.4 GHz + 5 GHz with DFS
5797
5798 /* Keep it last */
5799 WDI_WIFI_BAND_MAX
5800} WDI_WifiBand;
5801
5802typedef struct
5803{
5804 wpt_uint32 channel; // frequency
5805 wpt_uint32 dwellTimeMs; // dwell time hint
5806 wpt_uint8 passive; // 0 => active,
5807 // 1 => passive scan; ignored for DFS
5808 wpt_uint8 chnlClass;
5809} WDI_WifiScanChannelSpec;
5810
5811typedef struct
5812{
5813 wpt_uint8 bucket; // bucket index, 0 based
5814 WDI_WifiBand band; // when UNSPECIFIED, use channel list
5815
5816 /*
5817 * desired period, in millisecond; if this is too
5818 * low, the firmware should choose to generate results as fast as
5819 * it can instead of failing the command byte
5820 */
5821 wpt_uint32 period;
5822
5823 /*
5824 * 0 => normal reporting (reporting rssi history
5825 * only, when rssi history buffer is % full)
5826 * 1 => same as 0 + report a scan completion event after scanning
5827 * this bucket
5828 * 2 => same as 1 + forward scan results (beacons/probe responses + IEs)
5829 * in real time to HAL
5830 */
5831 wpt_uint8 reportEvents;
5832
5833 wpt_uint8 numChannels;
5834
5835 /*
5836 * channels to scan; these may include DFS channels
5837 */
5838 WDI_WifiScanChannelSpec channels[WDI_WLAN_EXTSCAN_MAX_CHANNELS];
5839} WDI_WifiScanBucketSpec;
5840
5841typedef struct
5842{
5843 wpt_uint32 requestId;
5844 wpt_uint8 sessionId;
5845 wpt_uint32 basePeriod; // base timer period
5846 wpt_uint32 maxAPperScan;
5847
5848 /* in %, when buffer is this much full, wake up host */
5849 wpt_uint32 reportThreshold;
5850
5851 wpt_uint8 numBuckets;
5852 WDI_WifiScanBucketSpec buckets[WDI_WLAN_EXTSCAN_MAX_BUCKETS];
5853} WDI_EXTScanStartReqParams;
5854
5855typedef struct
5856{
5857 wpt_uint32 requestId;
5858 wpt_uint8 sessionId;
5859} WDI_EXTScanStopReqParams;
5860
5861typedef struct
5862{
5863 wpt_uint32 requestId;
5864 wpt_uint8 sessionId;
5865
5866 /*
5867 * 1 return cached results and flush it
5868 * 0 return cached results and do not flush
5869 */
5870 wpt_boolean flush;
5871} WDI_EXTScanGetCachedResultsReqParams;
5872
5873typedef struct
5874{
5875 wpt_uint32 requestId;
5876 wpt_uint8 sessionId;
5877} WDI_EXTScanGetCapabilitiesReqParams;
5878
5879typedef struct
5880{
5881 wpt_uint8 bssid[6]; /* BSSID */
5882 wpt_int32 low; // low threshold
5883 wpt_int32 high; // high threshold
5884 wpt_uint32 channel; // channel hint
5885} WDI_APThresholdParam;
5886
5887typedef struct
5888{
5889 wpt_int32 requestId;
5890 wpt_int8 sessionId; // session Id mapped to vdev_id
5891
5892 wpt_int32 numAp; // number of hotlist APs
5893 WDI_APThresholdParam ap[WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS]; // hotlist APs
5894} WDI_EXTScanSetBSSIDHotlistReqParams;
5895
5896typedef struct
5897{
5898 wpt_uint32 requestId;
5899 wpt_uint8 sessionId;
5900} WDI_EXTScanResetBSSIDHotlistReqParams;
5901
5902
5903typedef struct
5904{
5905 wpt_int32 requestId;
5906 wpt_int8 sessionId; // session Id mapped to vdev_id
5907
5908 /* number of samples for averaging RSSI */
5909 wpt_int32 rssiSampleSize;
5910
5911 /* number of missed samples to confirm AP loss */
5912 wpt_int32 lostApSampleSize;
5913
5914 /* number of APs breaching threshold required for firmware
5915 * to generate event
5916 */
5917 wpt_int32 minBreaching;
5918
5919 wpt_int32 numAp; // number of hotlist APs
5920 WDI_APThresholdParam ap[WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS]; // hotlist APs
5921} WDI_EXTScanSetSignfRSSIChangeReqParams;
5922
5923typedef struct
5924{
5925 wpt_uint32 requestId;
5926 wpt_uint8 sessionId;
5927} WDI_EXTScanResetSignfRSSIChangeReqParams;
5928#endif /* WLAN_FEATURE_EXTSCAN */
5929
Sunil Duttbd736ed2014-05-26 21:19:41 +05305930#ifdef WLAN_FEATURE_LINK_LAYER_STATS
5931typedef struct
5932{
5933 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05305934 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05305935 wpt_uint32 mpduSizeThreshold;
5936 wpt_uint32 aggressiveStatisticsGathering;
5937}WDI_LLStatsSetReqType;
5938
5939typedef struct
5940{
5941 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05305942 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05305943 wpt_uint32 paramIdMask;
5944}WDI_LLStatsGetReqType;
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 statsClearReqMask;
5951 wpt_uint8 stopReq;
5952}WDI_LLStatsClearReqType;
Dino Mycled3d50022014-07-07 12:58:25 +05305953
Sunil Duttbd736ed2014-05-26 21:19:41 +05305954#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
5955
Siddharth Bhal171788a2014-09-29 21:02:40 +05305956/*---------------------------------------------------------------------------
5957 WDI_SPOOF_MAC_ADDR_REQ
5958---------------------------------------------------------------------------*/
5959typedef struct
5960{
5961 /* Spoof MAC Address for FW */
5962 wpt_macAddr macAddr;
5963
5964 /* Reserved Params/fields */
5965 wpt_uint32 params;
5966 wpt_uint32 reserved;
5967} WDI_SpoofMacAddrInfoType;
Sunil Duttbd736ed2014-05-26 21:19:41 +05305968
Srinivas Dasari4dae48f2014-11-26 21:14:16 +05305969//This is to force compiler to use the maximum of an int for enum
5970#define SIR_MAX_ENUM_SIZE 0x7FFFFFFF
5971// Enum to specify whether key is used
5972// for TX only, RX only or both
5973typedef enum
5974{
5975 eWDI_TX_ONLY,
5976 eWDI_RX_ONLY,
5977 eWDI_TX_RX,
5978 eWDI_TX_DEFAULT,
5979 eWDI_DONOT_USE_KEY_DIRECTION = SIR_MAX_ENUM_SIZE
5980} tWDIKeyDirection;
5981
5982// MAX key length when ULA is used
5983#define SIR_MAC_MAX_KEY_LENGTH 32
5984/* Max key size including the WAPI and TKIP */
5985#define WLAN_MAX_KEY_RSC_LEN 16
5986// Definition for Encryption Keys
5987//typedef struct sSirKeys
5988typedef struct
5989{
5990 wpt_uint8 keyId;
5991 wpt_uint8 unicast; // 0 for multicast
5992 tWDIKeyDirection keyDirection;
5993 wpt_uint8 keyRsc[WLAN_MAX_KEY_RSC_LEN]; // Usage is unknown
5994 wpt_uint8 paeRole; // =1 for authenticator,
5995 // =0 for supplicant
5996 wpt_uint16 keyLength;
5997 wpt_uint8 key[SIR_MAC_MAX_KEY_LENGTH];
5998} tWDIKeys, *tpWDIKeys;
5999
6000typedef enum
6001{
6002 eWDI_WEP_STATIC,
6003 eWDI_WEP_DYNAMIC,
6004} tWDIWepType;
6005
6006// Encryption type enum used with peer
6007typedef enum
6008{
6009 eWDI_ED_NONE,
6010 eWDI_ED_WEP40,
6011 eWDI_ED_WEP104,
6012 eWDI_ED_TKIP,
6013 eWDI_ED_CCMP,
6014#if defined(FEATURE_WLAN_WAPI)
6015 eWDI_ED_WPI,
6016#endif
6017 /* DPU HW treats encryption mode 4 plus RMF bit set in TX BD as BIP.
6018 * Thus while setting BIP encryption mode in corresponding DPU Desc
6019 * eSIR_ED_AES_128_CMAC should be set to eSIR_ED_CCMP
6020 */
6021 eWDI_ED_AES_128_CMAC,
6022 eWDI_ED_NOT_IMPLEMENTED = SIR_MAX_ENUM_SIZE
6023} tWDIEdType;
6024#define SIR_WDI_MAX_NUM_OF_DEFAULT_KEYS 4
6025/*
6026 * This is used by PE to configure the key information on a given station.
6027 * When the secType is WEP40 or WEP104, the defWEPIdx is used to locate
6028 * a preconfigured key from a BSS the station assoicated with; otherwise
6029 * a new key descriptor is created based on the key field.
6030 */
6031typedef struct
6032{
6033 wpt_uint16 staIdx;
6034 tWDIEdType encType; // Encryption/Decryption type
6035 tWDIWepType wepType; // valid only for WEP
6036 wpt_uint8 defWEPIdx; // Default WEP key, valid only for static WEP, must between 0 and 3
6037 tWDIKeys key[SIR_WDI_MAX_NUM_OF_DEFAULT_KEYS]; // valid only for non-static WEP encyrptions
6038 wpt_uint8 singleTidRc; // 1=Single TID based Replay Count, 0=Per TID based RC
6039 wpt_uint8 sessionId; // PE session id for PE<->HAL interface
6040} tWDISetStaKeyParams, *tpWDISetStaKeyParams;
6041
6042typedef struct
6043{
6044 tWDISetStaKeyParams keyParams;
6045 wpt_uint8 pn[6];
6046}wpt_encConfigParams;
6047
6048typedef struct
6049{
6050 wpt_uint16 length;
6051 wpt_uint8 data[WDI_DISA_MAX_PAYLOAD_SIZE];
6052}wpt_payload;
6053
6054typedef struct
6055{
6056 wpt_80211Header macHeader;
6057 wpt_encConfigParams encParams;
6058 wpt_payload data;
6059}wpt_pkt80211;
6060
Jeff Johnson295189b2012-06-20 16:38:30 -07006061/*----------------------------------------------------------------------------
6062 * WDI callback types
6063 *--------------------------------------------------------------------------*/
6064
6065/*---------------------------------------------------------------------------
6066 WDI_StartRspCb
6067
6068 DESCRIPTION
6069
6070 This callback is invoked by DAL when it has received a Start response from
6071 the underlying device.
6072
6073 PARAMETERS
6074
6075 IN
6076 wdiRspParams: response parameters received from HAL
6077 pUserData: user data
6078
6079
6080 RETURN VALUE
6081 The result code associated with performing the operation
6082---------------------------------------------------------------------------*/
6083typedef void (*WDI_StartRspCb)(WDI_StartRspParamsType* pwdiRspParams,
6084 void* pUserData);
6085
6086/*---------------------------------------------------------------------------
6087 WDI_StartRspCb
6088
6089 DESCRIPTION
6090
6091 This callback is invoked by DAL when it has received a Stop response from
6092 the underlying device.
6093
6094 PARAMETERS
6095
6096 IN
6097 wdiStatus: response status received from HAL
6098 pUserData: user data
6099
6100
6101
6102 RETURN VALUE
6103 The result code associated with performing the operation
6104---------------------------------------------------------------------------*/
6105typedef void (*WDI_StopRspCb)(WDI_Status wdiStatus,
6106 void* pUserData);
6107
6108/*---------------------------------------------------------------------------
6109 WDI_StartRspCb
6110
6111 DESCRIPTION
6112
6113 This callback is invoked by DAL when it has received an Init Scan response
6114 from the underlying device.
6115
6116 PARAMETERS
6117
6118 IN
6119 wdiStatus: response status received from HAL
6120 pUserData: user data
6121
6122
6123
6124 RETURN VALUE
6125 The result code associated with performing the operation
6126---------------------------------------------------------------------------*/
6127typedef void (*WDI_InitScanRspCb)(WDI_Status wdiStatus,
6128 void* pUserData);
6129
6130
6131/*---------------------------------------------------------------------------
6132 WDI_StartRspCb
6133
6134 DESCRIPTION
6135
6136 This callback is invoked by DAL when it has received a StartScan response
6137 from the underlying device.
6138
6139 PARAMETERS
6140
6141 IN
6142 wdiParams: response params received from HAL
6143 pUserData: user data
6144
6145
6146
6147 RETURN VALUE
6148 The result code associated with performing the operation
6149---------------------------------------------------------------------------*/
6150typedef void (*WDI_StartScanRspCb)(WDI_StartScanRspParamsType* wdiParams,
6151 void* pUserData);
6152
6153
6154/*---------------------------------------------------------------------------
6155 WDI_StartRspCb
6156
6157 DESCRIPTION
6158
6159 This callback is invoked by DAL when it has received a End Scan response
6160 from the underlying device.
6161
6162 PARAMETERS
6163
6164 IN
6165 wdiStatus: response status received from HAL
6166 pUserData: user data
6167
6168
6169
6170 RETURN VALUE
6171 The result code associated with performing the operation
6172---------------------------------------------------------------------------*/
6173typedef void (*WDI_EndScanRspCb)(WDI_Status wdiStatus,
6174 void* pUserData);
6175
6176
6177/*---------------------------------------------------------------------------
6178 WDI_StartRspCb
6179
6180 DESCRIPTION
6181
6182 This callback is invoked by DAL when it has received a Finish Scan response
6183 from the underlying device.
6184
6185 PARAMETERS
6186
6187 IN
6188 wdiStatus: response status received from HAL
6189 pUserData: user data
6190
6191
6192
6193 RETURN VALUE
6194 The result code associated with performing the operation
6195---------------------------------------------------------------------------*/
6196typedef void (*WDI_FinishScanRspCb)(WDI_Status wdiStatus,
6197 void* pUserData);
6198
6199
6200/*---------------------------------------------------------------------------
6201 WDI_StartRspCb
6202
6203 DESCRIPTION
6204
6205 This callback is invoked by DAL when it has received a Join response from
6206 the underlying device.
6207
6208 PARAMETERS
6209
6210 IN
6211 wdiStatus: response status received from HAL
6212 pUserData: user data
6213
6214
6215
6216 RETURN VALUE
6217 The result code associated with performing the operation
6218---------------------------------------------------------------------------*/
6219typedef void (*WDI_JoinRspCb)(WDI_Status wdiStatus,
6220 void* pUserData);
6221
6222
6223/*---------------------------------------------------------------------------
6224 WDI_StartRspCb
6225
6226 DESCRIPTION
6227
6228 This callback is invoked by DAL when it has received a Config BSS response
6229 from the underlying device.
6230
6231 PARAMETERS
6232
6233 IN
6234 wdiConfigBSSRsp: response parameters received from HAL
6235 pUserData: user data
6236
6237
6238 RETURN VALUE
6239 The result code associated with performing the operation
6240---------------------------------------------------------------------------*/
6241typedef void (*WDI_ConfigBSSRspCb)(
6242 WDI_ConfigBSSRspParamsType* pwdiConfigBSSRsp,
6243 void* pUserData);
6244
6245
6246/*---------------------------------------------------------------------------
6247 WDI_StartRspCb
6248
6249 DESCRIPTION
6250
6251 This callback is invoked by DAL when it has received a Del BSS response from
6252 the underlying device.
6253
6254 PARAMETERS
6255
6256 IN
6257 wdiDelBSSRsp: response parameters received from HAL
6258 pUserData: user data
6259
6260
6261 RETURN VALUE
6262 The result code associated with performing the operation
6263---------------------------------------------------------------------------*/
6264typedef void (*WDI_DelBSSRspCb)(WDI_DelBSSRspParamsType* pwdiDelBSSRsp,
6265 void* pUserData);
6266
6267
6268/*---------------------------------------------------------------------------
6269 WDI_StartRspCb
6270
6271 DESCRIPTION
6272
6273 This callback is invoked by DAL when it has received a Post Assoc response
6274 from the underlying device.
6275
6276 PARAMETERS
6277
6278 IN
6279 wdiRspParams: response parameters received from HAL
6280 pUserData: user data
6281
6282
6283 RETURN VALUE
6284 The result code associated with performing the operation
6285---------------------------------------------------------------------------*/
6286typedef void (*WDI_PostAssocRspCb)(
6287 WDI_PostAssocRspParamsType* pwdiPostAssocRsp,
6288 void* pUserData);
6289
6290
6291/*---------------------------------------------------------------------------
6292 WDI_StartRspCb
6293
6294 DESCRIPTION
6295
6296 This callback is invoked by DAL when it has received a Del STA response from
6297 the underlying device.
6298
6299 PARAMETERS
6300
6301 IN
6302 wdiDelSTARsp: response parameters received from HAL
6303 pUserData: user data
6304
6305
6306 RETURN VALUE
6307 The result code associated with performing the operation
6308---------------------------------------------------------------------------*/
6309typedef void (*WDI_DelSTARspCb)(WDI_DelSTARspParamsType* pwdiDelSTARsp,
6310 void* pUserData);
6311
6312
6313
6314/*---------------------------------------------------------------------------
6315 WDI_StartRspCb
6316
6317 DESCRIPTION
6318
6319 This callback is invoked by DAL when it has received a Set BSS Key response
6320 from the underlying device.
6321
6322 PARAMETERS
6323
6324 IN
6325 wdiStatus: response status received from HAL
6326 pUserData: user data
6327
6328
6329
6330 RETURN VALUE
6331 The result code associated with performing the operation
6332---------------------------------------------------------------------------*/
6333typedef void (*WDI_SetBSSKeyRspCb)(WDI_Status wdiStatus,
6334 void* pUserData);
6335
6336/*---------------------------------------------------------------------------
6337 WDI_StartRspCb
6338
6339 DESCRIPTION
6340
6341 This callback is invoked by DAL when it has received a Remove BSS Key
6342 response from the underlying device.
6343
6344 PARAMETERS
6345
6346 IN
6347 wdiStatus: response status received from HAL
6348 pUserData: user data
6349
6350
6351
6352 RETURN VALUE
6353 The result code associated with performing the operation
6354---------------------------------------------------------------------------*/
6355typedef void (*WDI_RemoveBSSKeyRspCb)(WDI_Status wdiStatus,
6356 void* pUserData);
6357
6358/*---------------------------------------------------------------------------
6359 WDI_StartRspCb
6360
6361 DESCRIPTION
6362
6363 This callback is invoked by DAL when it has received a Set STA Key response
6364 from the underlying device.
6365
6366 PARAMETERS
6367
6368 IN
6369 wdiStatus: response status received from HAL
6370 pUserData: user data
6371
6372
Jeff Johnson295189b2012-06-20 16:38:30 -07006373 RETURN VALUE
6374 The result code associated with performing the operation
6375---------------------------------------------------------------------------*/
6376typedef void (*WDI_SetSTAKeyRspCb)(WDI_Status wdiStatus,
6377 void* pUserData);
6378
Jeff Johnson295189b2012-06-20 16:38:30 -07006379/*---------------------------------------------------------------------------
6380 WDI_StartRspCb
6381
6382 DESCRIPTION
6383
6384 This callback is invoked by DAL when it has received a Remove STA Key
6385 response from the underlying device.
6386
6387 PARAMETERS
6388
6389 IN
6390 wdiStatus: response status received from HAL
6391 pUserData: user data
6392
Siddharth Bhal171788a2014-09-29 21:02:40 +05306393
Jeff Johnson295189b2012-06-20 16:38:30 -07006394 RETURN VALUE
6395 The result code associated with performing the operation
6396---------------------------------------------------------------------------*/
6397typedef void (*WDI_RemoveSTAKeyRspCb)(WDI_Status wdiStatus,
6398 void* pUserData);
6399
6400
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08006401#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07006402/*---------------------------------------------------------------------------
6403 WDI_TsmRspCb
6404
6405 DESCRIPTION
6406
6407 This callback is invoked by DAL when it has received a TSM Stats response from the underlying device.
6408
6409 PARAMETERS
6410
6411 IN
6412 pTSMStats: response status received from HAL
6413 pUserData: user data
6414
6415
6416
6417 RETURN VALUE
6418 The result code associated with performing the operation
6419---------------------------------------------------------------------------*/
6420typedef void (*WDI_TsmRspCb)(WDI_TSMStatsRspParamsType *pTSMStats,
6421 void* pUserData);
6422#endif
6423
6424/*---------------------------------------------------------------------------
6425 WDI_StartRspCb
6426
6427 DESCRIPTION
6428
6429 This callback is invoked by DAL when it has received a Add TS response from
6430 the underlying device.
6431
6432 PARAMETERS
6433
6434 IN
6435 wdiStatus: response status received from HAL
6436 pUserData: user data
6437
6438
6439
6440 RETURN VALUE
6441 The result code associated with performing the operation
6442---------------------------------------------------------------------------*/
6443typedef void (*WDI_AddTsRspCb)(WDI_Status wdiStatus,
6444 void* pUserData);
6445
6446/*---------------------------------------------------------------------------
6447 WDI_StartRspCb
6448
6449 DESCRIPTION
6450
6451 This callback is invoked by DAL when it has received a Del TS response from
6452 the underlying device.
6453
6454 PARAMETERS
6455
6456 IN
6457 wdiStatus: response status received from HAL
6458 pUserData: user data
6459
6460
6461
6462 RETURN VALUE
6463 The result code associated with performing the operation
6464---------------------------------------------------------------------------*/
6465typedef void (*WDI_DelTsRspCb)(WDI_Status wdiStatus,
6466 void* pUserData);
6467
6468/*---------------------------------------------------------------------------
6469 WDI_StartRspCb
6470
6471 DESCRIPTION
6472
6473 This callback is invoked by DAL when it has received an Update EDCA Params
6474 response from the underlying device.
6475
6476 PARAMETERS
6477
6478 IN
6479 wdiStatus: response status received from HAL
6480 pUserData: user data
6481
6482
6483
6484 RETURN VALUE
6485 The result code associated with performing the operation
6486---------------------------------------------------------------------------*/
6487typedef void (*WDI_UpdateEDCAParamsRspCb)(WDI_Status wdiStatus,
6488 void* pUserData);
6489
6490/*---------------------------------------------------------------------------
6491 WDI_StartRspCb
6492
6493 DESCRIPTION
6494
6495 This callback is invoked by DAL when it has received a Add BA response from
6496 the underlying device.
6497
6498 PARAMETERS
6499
6500 IN
6501 wdiStatus: response status received from HAL
6502 pUserData: user data
6503
6504
6505
6506 RETURN VALUE
6507 The result code associated with performing the operation
6508---------------------------------------------------------------------------*/
6509typedef void (*WDI_AddBASessionRspCb)(
6510 WDI_AddBASessionRspParamsType* wdiAddBASessionRsp,
6511 void* pUserData);
6512
6513
6514/*---------------------------------------------------------------------------
6515 WDI_StartRspCb
6516
6517 DESCRIPTION
6518
6519 This callback is invoked by DAL when it has received a Del BA response from
6520 the underlying device.
6521
6522 PARAMETERS
6523
6524 IN
6525 wdiStatus: response status received from HAL
6526 pUserData: user data
6527
6528
6529
6530 RETURN VALUE
6531 The result code associated with performing the operation
6532---------------------------------------------------------------------------*/
6533typedef void (*WDI_DelBARspCb)(WDI_Status wdiStatus,
6534 void* pUserData);
6535
6536
6537/*---------------------------------------------------------------------------
6538 WDI_StartRspCb
6539
6540 DESCRIPTION
6541
6542 This callback is invoked by DAL when it has received a Switch Ch response
6543 from the underlying device.
6544
6545 PARAMETERS
6546
6547 IN
6548 wdiRspParams: response parameters received from HAL
6549 pUserData: user data
6550
6551
6552 RETURN VALUE
6553 The result code associated with performing the operation
6554---------------------------------------------------------------------------*/
6555typedef void (*WDI_SwitchChRspCb)(WDI_SwitchCHRspParamsType* pwdiSwitchChRsp,
6556 void* pUserData);
6557
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08006558typedef void (*WDI_SwitchChRspCb_V1)(WDI_SwitchChRspParamsType_V1* pwdiSwitchChRsp,
6559 void* pUserData);
6560
Jeff Johnson295189b2012-06-20 16:38:30 -07006561
6562/*---------------------------------------------------------------------------
6563 WDI_StartRspCb
6564
6565 DESCRIPTION
6566
6567 This callback is invoked by DAL when it has received a Config STA response
6568 from the underlying device.
6569
6570 PARAMETERS
6571
6572 IN
6573 wdiRspParams: response parameters received from HAL
6574 pUserData: user data
6575
6576
6577 RETURN VALUE
6578 The result code associated with performing the operation
6579---------------------------------------------------------------------------*/
6580typedef void (*WDI_ConfigSTARspCb)(
6581 WDI_ConfigSTARspParamsType* pwdiConfigSTARsp,
6582 void* pUserData);
6583
6584
6585/*---------------------------------------------------------------------------
6586 WDI_StartRspCb
6587
6588 DESCRIPTION
6589
6590 This callback is invoked by DAL when it has received a Set Link State
6591 response from the underlying device.
6592
6593 PARAMETERS
6594
6595 IN
6596 wdiRspParams: response parameters received from HAL
6597 pUserData: user data
6598
6599
6600 RETURN VALUE
6601 The result code associated with performing the operation
6602---------------------------------------------------------------------------*/
6603typedef void (*WDI_SetLinkStateRspCb)( WDI_Status wdiStatus,
6604 void* pUserData);
6605
6606
6607/*---------------------------------------------------------------------------
6608 WDI_StartRspCb
6609
6610 DESCRIPTION
6611
6612 This callback is invoked by DAL when it has received a Get Stats response
6613 from the underlying device.
6614
6615 PARAMETERS
6616
6617 IN
6618 wdiRspParams: response parameters received from HAL
6619 pUserData: user data
6620
6621
6622 RETURN VALUE
6623 The result code associated with performing the operation
6624---------------------------------------------------------------------------*/
6625typedef void (*WDI_GetStatsRspCb)(WDI_GetStatsRspParamsType* pwdiGetStatsRsp,
6626 void* pUserData);
6627
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08006628#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08006629/*---------------------------------------------------------------------------
6630 WDI_GetRoamRssiRspCb
6631
6632 DESCRIPTION
6633
6634 This callback is invoked by DAL when it has received a Get Roam Rssi response
6635 from the underlying device.
6636
6637 PARAMETERS
6638
6639 IN
6640 wdiRspParams: response parameters received from HAL
6641 pUserData: user data
6642
6643
6644 RETURN VALUE
6645 The result code associated with performing the operation
6646---------------------------------------------------------------------------*/
6647typedef void (*WDI_GetRoamRssiRspCb)(WDI_GetRoamRssiRspParamsType* pwdiGetRoamRssiRsp,
6648 void* pUserData);
6649#endif
6650
Jeff Johnson295189b2012-06-20 16:38:30 -07006651
6652/*---------------------------------------------------------------------------
6653 WDI_StartRspCb
6654
6655 DESCRIPTION
6656
6657 This callback is invoked by DAL when it has received a Update Cfg response
6658 from the underlying device.
6659
6660 PARAMETERS
6661
6662 IN
6663 wdiStatus: response status received from HAL
6664 pUserData: user data
6665
6666
6667 RETURN VALUE
6668 The result code associated with performing the operation
6669---------------------------------------------------------------------------*/
6670typedef void (*WDI_UpdateCfgRspCb)(WDI_Status wdiStatus,
6671 void* pUserData);
6672
6673/*---------------------------------------------------------------------------
6674 WDI_AddBARspCb
6675
6676 DESCRIPTION
6677
6678 This callback is invoked by DAL when it has received a ADD BA response
6679 from the underlying device.
6680
6681 PARAMETERS
6682
6683 IN
6684 wdiStatus: response status received from HAL
6685 pUserData: user data
6686
6687
6688 RETURN VALUE
6689 The result code associated with performing the operation
6690---------------------------------------------------------------------------*/
6691typedef void (*WDI_AddBARspCb)(WDI_AddBARspinfoType* wdiAddBARsp,
6692 void* pUserData);
6693
6694/*---------------------------------------------------------------------------
6695 WDI_TriggerBARspCb
6696
6697 DESCRIPTION
6698
6699 This callback is invoked by DAL when it has received a ADD BA response
6700 from the underlying device.
6701
6702 PARAMETERS
6703
6704 IN
6705 wdiStatus: response status received from HAL
6706 pUserData: user data
6707
6708
6709 RETURN VALUE
6710 The result code associated with performing the operation
6711---------------------------------------------------------------------------*/
6712typedef void (*WDI_TriggerBARspCb)(WDI_TriggerBARspParamsType* wdiTriggerBARsp,
6713 void* pUserData);
6714
6715
6716/*---------------------------------------------------------------------------
6717 WDI_UpdateBeaconParamsRspCb
6718
6719 DESCRIPTION
6720
6721 This callback is invoked by DAL when it has received a Update Beacon Params response from
6722 the underlying device.
6723
6724 PARAMETERS
6725
6726 IN
6727 wdiStatus: response status received from HAL
6728 pUserData: user data
6729
6730
6731
6732 RETURN VALUE
6733 The result code associated with performing the operation
6734---------------------------------------------------------------------------*/
6735typedef void (*WDI_UpdateBeaconParamsRspCb)(WDI_Status wdiStatus,
6736 void* pUserData);
6737
6738/*---------------------------------------------------------------------------
6739 WDI_SendBeaconParamsRspCb
6740
6741 DESCRIPTION
6742
6743 This callback is invoked by DAL when it has received a Send Beacon Params response from
6744 the underlying device.
6745
6746 PARAMETERS
6747
6748 IN
6749 wdiStatus: response status received from HAL
6750 pUserData: user data
6751
6752
6753
6754 RETURN VALUE
6755 The result code associated with performing the operation
6756---------------------------------------------------------------------------*/
6757typedef void (*WDI_SendBeaconParamsRspCb)(WDI_Status wdiStatus,
6758 void* pUserData);
6759
6760/*---------------------------------------------------------------------------
6761 WDA_SetMaxTxPowerRspCb
6762
6763 DESCRIPTION
6764
6765 This callback is invoked by DAL when it has received a set max Tx Power response from
6766 the underlying device.
6767
6768 PARAMETERS
6769
6770 IN
6771 wdiStatus: response status received from HAL
6772 pUserData: user data
6773
6774
6775
6776 RETURN VALUE
6777 The result code associated with performing the operation
6778---------------------------------------------------------------------------*/
6779typedef void (*WDA_SetMaxTxPowerRspCb)(WDI_SetMaxTxPowerRspMsg *wdiSetMaxTxPowerRsp,
6780 void* pUserData);
6781
6782/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07006783 WDA_SetMaxTxPowerPerBandRspCb
6784
6785 DESCRIPTION
6786
6787 This callback is invoked by DAL when it has received a
6788 set max Tx Power Per Band response from the underlying device.
6789
6790 PARAMETERS
6791
6792 IN
6793 wdiSetMaxTxPowerPerBandRsp: response status received from HAL
6794 pUserData: user data
6795
6796 RETURN VALUE
6797 The result code associated with performing the operation
6798---------------------------------------------------------------------------*/
6799typedef void (*WDA_SetMaxTxPowerPerBandRspCb)(WDI_SetMaxTxPowerPerBandRspMsg
6800 *wdiSetMaxTxPowerPerBandRsp,
6801 void* pUserData);
6802
6803/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07006804 WDA_SetTxPowerRspCb
6805
6806 DESCRIPTION
6807
6808 This callback is invoked by DAL when it has received a set max Tx Power response from
6809 the underlying device.
6810
6811 PARAMETERS
6812
6813 IN
6814 wdiStatus: response status received from HAL
6815 pUserData: user data
6816
6817 RETURN VALUE
6818 The result code associated with performing the operation
6819---------------------------------------------------------------------------*/
6820typedef void (*WDA_SetTxPowerRspCb)(WDI_SetTxPowerRspMsg *wdiSetTxPowerRsp,
6821 void* pUserData);
6822
6823/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07006824 WDI_UpdateProbeRspTemplateRspCb
6825
6826 DESCRIPTION
6827
6828 This callback is invoked by DAL when it has received a Probe RSP Template
6829 Update response from the underlying device.
6830
6831 PARAMETERS
6832
6833 IN
6834 wdiStatus: response status received from HAL
6835 pUserData: user data
6836
6837
6838
6839 RETURN VALUE
6840 The result code associated with performing the operation
6841---------------------------------------------------------------------------*/
6842typedef void (*WDI_UpdateProbeRspTemplateRspCb)(WDI_Status wdiStatus,
6843 void* pUserData);
6844
Jeff Johnson295189b2012-06-20 16:38:30 -07006845/*---------------------------------------------------------------------------
6846 WDI_SetP2PGONOAReqParamsRspCb
6847
6848 DESCRIPTION
6849
6850 This callback is invoked by DAL when it has received a P2P GO NOA Params response from
6851 the underlying device.
6852
6853 PARAMETERS
6854
6855 IN
6856 wdiStatus: response status received from HAL
6857 pUserData: user data
6858
6859
6860
6861 RETURN VALUE
6862 The result code associated with performing the operation
6863---------------------------------------------------------------------------*/
6864typedef void (*WDI_SetP2PGONOAReqParamsRspCb)(WDI_Status wdiStatus,
6865 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006866
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05306867/*---------------------------------------------------------------------------
6868 WDI_SetTDLSLinkEstablishReqParamsRspCb
6869
6870 DESCRIPTION
6871
6872 This callback is invoked by DAL when it has received a TDLS Link Establish Req response from
6873 the underlying device.
6874
6875 PARAMETERS
6876
6877 IN
6878 wdiStatus: response status received from HAL
6879 pUserData: user data
6880
6881
6882
6883 RETURN VALUE
6884 The result code associated with performing the operation
6885---------------------------------------------------------------------------*/
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05306886typedef void (*WDI_SetTDLSLinkEstablishReqParamsRspCb)(WDI_SetTdlsLinkEstablishReqResp *
6887 wdiSetTdlsLinkEstablishReqRsp,
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05306888 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006889
6890/*---------------------------------------------------------------------------
Atul Mittalc0f739f2014-07-31 13:47:47 +05306891 WDI_SetTDLSChanSwitchReqParamsRspCb
6892
6893 DESCRIPTION
6894
6895 This callback is invoked by DAL when it has received a TDLS Link Establish Req response from
6896 the underlying device.
6897
6898 PARAMETERS
6899
6900 IN
6901 wdiStatus: response status received from HAL
6902 pUserData: user data
6903
6904
6905
6906 RETURN VALUE
6907 The result code associated with performing the operation
6908---------------------------------------------------------------------------*/
6909typedef void (*WDI_SetTDLSChanSwitchReqParamsRspCb)(WDI_SetTdlsChanSwitchReqResp *
6910 wdiSetTdlsChanSwitchReqRsp,
6911 void* pUserData);
6912/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07006913 WDI_SetPwrSaveCfgCb
6914
6915 DESCRIPTION
6916
6917 This callback is invoked by DAL when it has received a set Power Save CFG
6918 response from the underlying device.
6919
6920 PARAMETERS
6921
6922 IN
6923 wdiStatus: response status received from HAL
6924 pUserData: user data
6925
6926
6927
6928 RETURN VALUE
6929 The result code associated with performing the operation
6930---------------------------------------------------------------------------*/
6931typedef void (*WDI_SetPwrSaveCfgCb)(WDI_Status wdiStatus,
6932 void* pUserData);
6933
6934/*---------------------------------------------------------------------------
6935 WDI_SetUapsdAcParamsCb
6936
6937 DESCRIPTION
6938
6939 This callback is invoked by DAL when it has received a set UAPSD params
6940 response from the underlying device.
6941
6942 PARAMETERS
6943
6944 IN
6945 wdiStatus: response status received from HAL
6946 pUserData: user data
6947
6948
6949
6950 RETURN VALUE
6951 The result code associated with performing the operation
6952---------------------------------------------------------------------------*/
6953typedef void (*WDI_SetUapsdAcParamsCb)(WDI_Status wdiStatus,
6954 void* pUserData);
6955
6956/*---------------------------------------------------------------------------
6957 WDI_EnterImpsRspCb
6958
6959 DESCRIPTION
6960
6961 This callback is invoked by DAL when it has received a Enter IMPS response
6962 from the underlying device.
6963
6964 PARAMETERS
6965
6966 IN
6967 wdiStatus: response status received from HAL
6968 pUserData: user data
6969
6970
6971
6972 RETURN VALUE
6973 The result code associated with performing the operation
6974---------------------------------------------------------------------------*/
6975typedef void (*WDI_EnterImpsRspCb)(WDI_Status wdiStatus,
6976 void* pUserData);
6977
6978/*---------------------------------------------------------------------------
6979 WDI_ExitImpsRspCb
6980
6981 DESCRIPTION
6982
6983 This callback is invoked by DAL when it has received a Exit IMPS response
6984 from the underlying device.
6985
6986 PARAMETERS
6987
6988 IN
6989 wdiStatus: response status received from HAL
6990 pUserData: user data
6991
6992
6993
6994 RETURN VALUE
6995 The result code associated with performing the operation
6996---------------------------------------------------------------------------*/
6997typedef void (*WDI_ExitImpsRspCb)(WDI_Status wdiStatus,
6998 void* pUserData);
6999
7000/*---------------------------------------------------------------------------
7001 WDI_EnterBmpsRspCb
7002
7003 DESCRIPTION
7004
7005 This callback is invoked by DAL when it has received a enter BMPS response
7006 from the underlying device.
7007
7008 PARAMETERS
7009
7010 IN
7011 wdiStatus: response status received from HAL
7012 pUserData: user data
7013
7014
7015
7016 RETURN VALUE
7017 The result code associated with performing the operation
7018---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007019typedef void (*WDI_EnterBmpsRspCb)(WDI_EnterBmpsRspParamsType *pwdiEnterBmpsRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007020 void* pUserData);
7021
7022/*---------------------------------------------------------------------------
7023 WDI_ExitBmpsRspCb
7024
7025 DESCRIPTION
7026
7027 This callback is invoked by DAL when it has received a exit BMPS response
7028 from the underlying device.
7029
7030 PARAMETERS
7031
7032 IN
7033 wdiStatus: response status received from HAL
7034 pUserData: user data
7035
7036
7037
7038 RETURN VALUE
7039 The result code associated with performing the operation
7040---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007041typedef void (*WDI_ExitBmpsRspCb)( WDI_ExitBmpsRspParamsType *pwdiExitBmpsRspParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007042 void* pUserData);
7043
7044/*---------------------------------------------------------------------------
7045 WDI_EnterUapsdRspCb
7046
7047 DESCRIPTION
7048
7049 This callback is invoked by DAL when it has received a enter UAPSD response
7050 from the underlying device.
7051
7052 PARAMETERS
7053
7054 IN
7055 wdiStatus: response status received from HAL
7056 pUserData: user data
7057
7058
7059
7060 RETURN VALUE
7061 The result code associated with performing the operation
7062---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007063typedef void (*WDI_EnterUapsdRspCb)( WDI_EnterUapsdRspParamsType *pwdiEnterUapsdRspParam,
Jeff Johnson295189b2012-06-20 16:38:30 -07007064 void* pUserData);
7065
7066/*---------------------------------------------------------------------------
7067 WDI_ExitUapsdRspCb
7068
7069 DESCRIPTION
7070
7071 This callback is invoked by DAL when it has received a exit UAPSD response
7072 from the underlying device.
7073
7074 PARAMETERS
7075
7076 IN
7077 wdiStatus: response status received from HAL
7078 pUserData: user data
7079
7080
7081
7082 RETURN VALUE
7083 The result code associated with performing the operation
7084---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007085typedef void (*WDI_ExitUapsdRspCb)(WDI_ExitUapsdRspParamsType *pwidExitUapsdRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007086 void* pUserData);
7087
7088/*---------------------------------------------------------------------------
7089 WDI_UpdateUapsdParamsCb
7090
7091 DESCRIPTION
7092
7093 This callback is invoked by DAL when it has received a update UAPSD params
7094 response from the underlying device.
7095
7096 PARAMETERS
7097
7098 IN
7099 wdiStatus: response status received from HAL
7100 pUserData: user data
7101
7102
7103
7104 RETURN VALUE
7105 The result code associated with performing the operation
7106---------------------------------------------------------------------------*/
7107typedef void (*WDI_UpdateUapsdParamsCb)(WDI_Status wdiStatus,
7108 void* pUserData);
7109
7110/*---------------------------------------------------------------------------
7111 WDI_ConfigureRxpFilterCb
7112
7113 DESCRIPTION
7114
7115 This callback is invoked by DAL when it has received a config RXP filter
7116 response from the underlying device.
7117
7118 PARAMETERS
7119
7120 IN
7121 wdiStatus: response status received from HAL
7122 pUserData: user data
7123
7124
7125
7126 RETURN VALUE
7127 The result code associated with performing the operation
7128---------------------------------------------------------------------------*/
7129typedef void (*WDI_ConfigureRxpFilterCb)(WDI_Status wdiStatus,
7130 void* pUserData);
7131
7132/*---------------------------------------------------------------------------
7133 WDI_SetBeaconFilterCb
7134
7135 DESCRIPTION
7136
7137 This callback is invoked by DAL when it has received a set beacon filter
7138 response from the underlying device.
7139
7140 PARAMETERS
7141
7142 IN
7143 wdiStatus: response status received from HAL
7144 pUserData: user data
7145
7146
7147
7148 RETURN VALUE
7149 The result code associated with performing the operation
7150---------------------------------------------------------------------------*/
7151typedef void (*WDI_SetBeaconFilterCb)(WDI_Status wdiStatus,
7152 void* pUserData);
7153
7154/*---------------------------------------------------------------------------
7155 WDI_RemBeaconFilterCb
7156
7157 DESCRIPTION
7158
7159 This callback is invoked by DAL when it has received a remove beacon filter
7160 response from the underlying device.
7161
7162 PARAMETERS
7163
7164 IN
7165 wdiStatus: response status received from HAL
7166 pUserData: user data
7167
7168
7169
7170 RETURN VALUE
7171 The result code associated with performing the operation
7172---------------------------------------------------------------------------*/
7173typedef void (*WDI_RemBeaconFilterCb)(WDI_Status wdiStatus,
7174 void* pUserData);
7175
7176/*---------------------------------------------------------------------------
7177 WDI_SetRSSIThresholdsCb
7178
7179 DESCRIPTION
7180
7181 This callback is invoked by DAL when it has received a set RSSI thresholds
7182 response from the underlying device.
7183
7184 PARAMETERS
7185
7186 IN
7187 wdiStatus: response status received from HAL
7188 pUserData: user data
7189
7190
7191
7192 RETURN VALUE
7193 The result code associated with performing the operation
7194---------------------------------------------------------------------------*/
7195typedef void (*WDI_SetRSSIThresholdsCb)(WDI_Status wdiStatus,
7196 void* pUserData);
7197
7198/*---------------------------------------------------------------------------
7199 WDI_HostOffloadCb
7200
7201 DESCRIPTION
7202
7203 This callback is invoked by DAL when it has received a host offload
7204 response from the underlying device.
7205
7206 PARAMETERS
7207
7208 IN
7209 wdiStatus: response status received from HAL
7210 pUserData: user data
7211
7212
7213
7214 RETURN VALUE
7215 The result code associated with performing the operation
7216---------------------------------------------------------------------------*/
7217typedef void (*WDI_HostOffloadCb)(WDI_Status wdiStatus,
7218 void* pUserData);
7219
7220/*---------------------------------------------------------------------------
7221 WDI_KeepAliveCb
7222
7223 DESCRIPTION
7224
7225 This callback is invoked by DAL when it has received a Keep Alive
7226 response from the underlying device.
7227
7228 PARAMETERS
7229
7230 IN
7231 wdiStatus: response status received from HAL
7232 pUserData: user data
7233
7234
7235
7236 RETURN VALUE
7237 The result code associated with performing the operation
7238---------------------------------------------------------------------------*/
7239typedef void (*WDI_KeepAliveCb)(WDI_Status wdiStatus,
7240 void* pUserData);
7241
7242/*---------------------------------------------------------------------------
7243 WDI_WowlAddBcPtrnCb
7244
7245 DESCRIPTION
7246
7247 This callback is invoked by DAL when it has received a Wowl add Bcast ptrn
7248 response from the underlying device.
7249
7250 PARAMETERS
7251
7252 IN
7253 wdiStatus: response status received from HAL
7254 pUserData: user data
7255
7256
7257
7258 RETURN VALUE
7259 The result code associated with performing the operation
7260---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007261typedef void (*WDI_WowlAddBcPtrnCb)( WDI_WowlAddBcPtrnRspParamsType *pwdiWowlAddBcPtrnParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007262 void* pUserData);
7263
7264/*---------------------------------------------------------------------------
7265 WDI_WowlDelBcPtrnCb
7266
7267 DESCRIPTION
7268
7269 This callback is invoked by DAL when it has received a Wowl delete Bcast ptrn
7270 response from the underlying device.
7271
7272 PARAMETERS
7273
7274 IN
7275 wdiStatus: response status received from HAL
7276 pUserData: user data
7277
7278
7279
7280 RETURN VALUE
7281 The result code associated with performing the operation
7282---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007283typedef void (*WDI_WowlDelBcPtrnCb)( WDI_WowlDelBcPtrnRspParamsType *pwdiWowlDelBcstPtrRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007284 void* pUserData);
7285
7286/*---------------------------------------------------------------------------
7287 WDI_WowlEnterReqCb
7288
7289 DESCRIPTION
7290
7291 This callback is invoked by DAL when it has received a Wowl enter
7292 response from the underlying device.
7293
7294 PARAMETERS
7295
7296 IN
7297 wdiStatus: response status received from HAL
7298 pUserData: user data
7299
7300
7301
7302 RETURN VALUE
7303 The result code associated with performing the operation
7304---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007305typedef void (*WDI_WowlEnterReqCb)( WDI_WowlEnterRspParamsType *pwdiwowlEnterRsp,
7306 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007307
7308/*---------------------------------------------------------------------------
7309 WDI_WowlExitReqCb
7310
7311 DESCRIPTION
7312
7313 This callback is invoked by DAL when it has received a Wowl exit
7314 response from the underlying device.
7315
7316 PARAMETERS
7317
7318 IN
7319 wdiStatus: response status received from HAL
7320 pUserData: user data
7321
7322
7323
7324 RETURN VALUE
7325 The result code associated with performing the operation
7326---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007327typedef void (*WDI_WowlExitReqCb)( WDI_WowlExitRspParamsType *pwdiWowlExitRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007328 void* pUserData);
7329
7330/*---------------------------------------------------------------------------
7331 WDI_ConfigureAppsCpuWakeupStateCb
7332
7333 DESCRIPTION
7334
7335 This callback is invoked by DAL when it has received a config Apps Cpu Wakeup
7336 State response from the underlying device.
7337
7338 PARAMETERS
7339
7340 IN
7341 wdiStatus: response status received from HAL
7342 pUserData: user data
7343
7344
7345
7346 RETURN VALUE
7347 The result code associated with performing the operation
7348---------------------------------------------------------------------------*/
7349typedef void (*WDI_ConfigureAppsCpuWakeupStateCb)(WDI_Status wdiStatus,
7350 void* pUserData);
7351/*---------------------------------------------------------------------------
7352 WDI_NvDownloadRspCb
7353
7354 DESCRIPTION
7355
7356 This callback is invoked by DAL when it has received a NV Download response
7357 from the underlying device.
7358
7359 PARAMETERS
7360
7361 IN
7362 wdiStatus:response status received from HAL
7363 pUserData:user data
7364
7365 RETURN VALUE
7366 The result code associated with performing the operation
7367---------------------------------------------------------------------------*/
7368typedef void (*WDI_NvDownloadRspCb)(WDI_NvDownloadRspInfoType* wdiNvDownloadRsp,
7369 void* pUserData);
7370/*---------------------------------------------------------------------------
7371 WDI_FlushAcRspCb
7372
7373 DESCRIPTION
7374
7375 This callback is invoked by DAL when it has received a Flush AC response from
7376 the underlying device.
7377
7378 PARAMETERS
7379
7380 IN
7381 wdiStatus: response status received from HAL
7382 pUserData: user data
7383
7384
7385
7386 RETURN VALUE
7387 The result code associated with performing the operation
7388---------------------------------------------------------------------------*/
7389typedef void (*WDI_FlushAcRspCb)(WDI_Status wdiStatus,
7390 void* pUserData);
7391
7392/*---------------------------------------------------------------------------
7393 WDI_BtAmpEventRspCb
7394
7395 DESCRIPTION
7396
7397 This callback is invoked by DAL when it has received a Bt AMP event response
7398 from the underlying device.
7399
7400 PARAMETERS
7401
7402 IN
7403 wdiStatus: response status received from HAL
7404 pUserData: user data
7405
7406
7407
7408 RETURN VALUE
7409 The result code associated with performing the operation
7410---------------------------------------------------------------------------*/
7411typedef void (*WDI_BtAmpEventRspCb)(WDI_Status wdiStatus,
7412 void* pUserData);
7413
Jeff Johnsone7245742012-09-05 17:12:55 -07007414#ifdef FEATURE_OEM_DATA_SUPPORT
7415/*---------------------------------------------------------------------------
7416 WDI_oemDataRspCb
7417
7418 DESCRIPTION
7419
7420 This callback is invoked by DAL when it has received a Start oem data response from
7421 the underlying device.
7422
7423 PARAMETERS
7424
7425 IN
7426 wdiStatus: response status received from HAL
7427 pUserData: user data
7428
7429
7430
7431 RETURN VALUE
7432 The result code associated with performing the operation
7433---------------------------------------------------------------------------*/
7434typedef void (*WDI_oemDataRspCb)(WDI_oemDataRspParamsType* wdiOemDataRspParams,
7435 void* pUserData);
7436
7437#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07007438
7439/*---------------------------------------------------------------------------
7440 WDI_HostResumeEventRspCb
7441
7442 DESCRIPTION
7443
7444 This callback is invoked by DAL when it has received a Bt AMP event response
7445 from the underlying device.
7446
7447 PARAMETERS
7448
7449 IN
7450 wdiStatus: response status received from HAL
7451 pUserData: user data
7452
7453
7454
7455 RETURN VALUE
7456 The result code associated with performing the operation
7457---------------------------------------------------------------------------*/
7458typedef void (*WDI_HostResumeEventRspCb)(
7459 WDI_SuspendResumeRspParamsType *resumeRspParams,
7460 void* pUserData);
7461
7462
7463#ifdef WLAN_FEATURE_VOWIFI_11R
7464/*---------------------------------------------------------------------------
7465 WDI_AggrAddTsRspCb
7466
7467 DESCRIPTION
7468
7469 This callback is invoked by DAL when it has received a Aggregated Add TS
7470 response from the underlying device.
7471
7472 PARAMETERS
7473
7474 IN
7475 wdiStatus: response status received from HAL
7476 pUserData: user data
7477
7478
7479
7480 RETURN VALUE
7481 The result code associated with performing the operation
7482---------------------------------------------------------------------------*/
7483typedef void (*WDI_AggrAddTsRspCb)(WDI_Status wdiStatus,
7484 void* pUserData);
7485#endif /* WLAN_FEATURE_VOWIFI_11R */
7486
Jeff Johnson295189b2012-06-20 16:38:30 -07007487/*---------------------------------------------------------------------------
7488 WDI_FTMCommandRspCb
7489
7490 DESCRIPTION
7491
7492 FTM Command response CB
7493
7494 PARAMETERS
7495
7496 IN
7497 ftmCMDRspdata: FTM response data from HAL
7498 pUserData: user data
7499
7500
7501 RETURN VALUE
7502 NONE
7503---------------------------------------------------------------------------*/
7504typedef void (*WDI_FTMCommandRspCb)(void *ftmCMDRspdata,
7505 void *pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007506
7507/*---------------------------------------------------------------------------
7508 WDI_AddSTASelfParamsRspCb
7509
7510 DESCRIPTION
7511
7512 This callback is invoked by DAL when it has received a Add Sta Self Params
7513 response from the underlying device.
7514
7515 PARAMETERS
7516
7517 IN
7518 wdiAddSelfSTARsp: response status received from HAL
7519 pUserData: user data
7520
7521
7522
7523 RETURN VALUE
7524 The result code associated with performing the operation
7525---------------------------------------------------------------------------*/
7526typedef void (*WDI_AddSTASelfParamsRspCb)(
7527 WDI_AddSTASelfRspParamsType* pwdiAddSelfSTARsp,
7528 void* pUserData);
7529
7530
7531/*---------------------------------------------------------------------------
7532 WDI_DelSTASelfRspCb
7533
7534 DESCRIPTION
7535
7536 This callback is invoked by DAL when it has received a host offload
7537 response from the underlying device.
7538
7539 PARAMETERS
7540
7541 IN
7542 wdiStatus: response status received from HAL
7543 pUserData: user data
7544
7545
7546
7547 RETURN VALUE
7548 The result code associated with performing the operation
7549---------------------------------------------------------------------------*/
7550typedef void (*WDI_DelSTASelfRspCb)
7551(
7552WDI_DelSTASelfRspParamsType* wdiDelStaSelfRspParams,
7553void* pUserData
7554);
7555
7556#ifdef FEATURE_WLAN_SCAN_PNO
7557/*---------------------------------------------------------------------------
7558 WDI_PNOScanCb
7559
7560 DESCRIPTION
7561
7562 This callback is invoked by DAL when it has received a Set PNO
7563 response from the underlying device.
7564
7565 PARAMETERS
7566
7567 IN
7568 wdiStatus: response status received from HAL
7569 pUserData: user data
7570
7571
7572
7573 RETURN VALUE
7574 The result code associated with performing the operation
7575---------------------------------------------------------------------------*/
7576typedef void (*WDI_PNOScanCb)(WDI_Status wdiStatus,
7577 void* pUserData);
7578
7579/*---------------------------------------------------------------------------
7580 WDI_PNOScanCb
7581
7582 DESCRIPTION
7583
7584 This callback is invoked by DAL when it has received a Set PNO
7585 response from the underlying device.
7586
7587 PARAMETERS
7588
7589 IN
7590 wdiStatus: response status received from HAL
7591 pUserData: user data
7592
7593
7594
7595 RETURN VALUE
7596 The result code associated with performing the operation
7597---------------------------------------------------------------------------*/
7598typedef void (*WDI_RssiFilterCb)(WDI_Status wdiStatus,
7599 void* pUserData);
7600
7601/*---------------------------------------------------------------------------
7602 WDI_UpdateScanParamsCb
7603
7604 DESCRIPTION
7605
7606 This callback is invoked by DAL when it has received a Update Scan Params
7607 response from the underlying device.
7608
7609 PARAMETERS
7610
7611 IN
7612 wdiStatus: response status received from HAL
7613 pUserData: user data
7614
7615
7616
7617 RETURN VALUE
7618 The result code associated with performing the operation
7619---------------------------------------------------------------------------*/
7620typedef void (*WDI_UpdateScanParamsCb)(WDI_Status wdiStatus,
7621 void* pUserData);
7622#endif // FEATURE_WLAN_SCAN_PNO
7623
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08007624typedef void (*WDI_UpdateChannelRspCb)(WDI_Status wdiStatus,
7625 void* pUserData);
7626
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07007627#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
7628/*---------------------------------------------------------------------------
7629 WDI_RoamOffloadScanCb
7630
7631 DESCRIPTION
7632
7633 This callback is invoked by DAL when it has received a Start Roam Candidate Lookup Req
7634 response from the underlying device.
7635
7636 PARAMETERS
7637
7638 IN
7639 wdiStatus: response status received from HAL
7640 pUserData: user data
7641
7642
7643
7644 RETURN VALUE
7645 The result code associated with performing the operation
7646---------------------------------------------------------------------------*/
7647typedef void (*WDI_RoamOffloadScanCb)(WDI_Status wdiStatus,
7648 void* pUserData);
7649
7650#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07007651/*---------------------------------------------------------------------------
7652 WDI_SetTxPerTrackingRspCb
7653
7654 DESCRIPTION
7655
7656 This callback is invoked by DAL when it has received a Tx PER Tracking
7657 response from the underlying device.
7658
7659 PARAMETERS
7660
7661 IN
7662 wdiStatus: response status received from HAL
7663 pUserData: user data
7664
7665
7666
7667 RETURN VALUE
7668 The result code associated with performing the operation
7669---------------------------------------------------------------------------*/
7670typedef void (*WDI_SetTxPerTrackingRspCb)(WDI_Status wdiStatus,
7671 void* pUserData);
7672
7673#ifdef WLAN_FEATURE_PACKET_FILTERING
7674/*---------------------------------------------------------------------------
7675 WDI_8023MulticastListCb
7676
7677 DESCRIPTION
7678
7679 This callback is invoked by DAL when it has received a 8023 Multicast List
7680 response from the underlying device.
7681
7682 PARAMETERS
7683
7684 IN
7685 wdiStatus: response status received from HAL
7686 pUserData: user data
7687
7688
7689
7690 RETURN VALUE
7691 The result code associated with performing the operation
7692---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007693typedef void (*WDI_8023MulticastListCb)(
7694 WDI_RcvFltPktSetMcListRspParamsType *pwdiRcvFltPktSetMcListRspInfo,
7695 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007696
7697/*---------------------------------------------------------------------------
7698 WDI_ReceiveFilterSetFilterCb
7699
7700 DESCRIPTION
7701
7702 This callback is invoked by DAL when it has received a Receive Filter Set Filter
7703 response from the underlying device.
7704
7705 PARAMETERS
7706
7707 IN
7708 wdiStatus: response status received from HAL
7709 pUserData: user data
7710
7711
7712
7713 RETURN VALUE
7714 The result code associated with performing the operation
7715---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007716typedef void (*WDI_ReceiveFilterSetFilterCb)(
7717 WDI_SetRcvPktFilterRspParamsType *pwdiSetRcvPktFilterRspInfo,
7718 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007719
7720/*---------------------------------------------------------------------------
7721 WDI_FilterMatchCountCb
7722
7723 DESCRIPTION
7724
7725 This callback is invoked by DAL when it has received a Do PC Filter Match Count
7726 response from the underlying device.
7727
7728 PARAMETERS
7729
7730 IN
7731 wdiStatus: response status received from HAL
7732 pUserData: user data
7733
7734
7735
7736 RETURN VALUE
7737 The result code associated with performing the operation
7738---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007739typedef void (*WDI_FilterMatchCountCb)(
7740 WDI_RcvFltPktMatchCntRspParamsType *pwdiRcvFltPktMatchRspParams,
7741 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007742
7743/*---------------------------------------------------------------------------
7744 WDI_ReceiveFilterClearFilterCb
7745
7746 DESCRIPTION
7747
7748 This callback is invoked by DAL when it has received a Receive Filter Clear Filter
7749 response from the underlying device.
7750
7751 PARAMETERS
7752
7753 IN
7754 wdiStatus: response status received from HAL
7755 pUserData: user data
7756
7757
7758
7759 RETURN VALUE
7760 The result code associated with performing the operation
7761---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007762typedef void (*WDI_ReceiveFilterClearFilterCb)(
7763 WDI_RcvFltPktClearRspParamsType *pwdiRcvFltPktClearRspParamsType,
7764 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007765#endif // WLAN_FEATURE_PACKET_FILTERING
7766
7767/*---------------------------------------------------------------------------
7768 WDI_HALDumpCmdRspCb
7769
7770 DESCRIPTION
7771
7772 This callback is invoked by DAL when it has received a HAL DUMP Command
7773response from
7774 the HAL layer.
7775
7776 PARAMETERS
7777
7778 IN
7779 wdiHalDumpCmdRsp: response status received from HAL
7780 pUserData: user data
7781
7782
7783
7784 RETURN VALUE
7785 The result code associated with performing the operation
7786---------------------------------------------------------------------------*/
7787typedef void (*WDI_HALDumpCmdRspCb)(WDI_HALDumpCmdRspParamsType* wdiHalDumpCmdRsp,
7788 void* pUserData);
7789
7790/*---------------------------------------------------------------------------
7791 WDI_SetPowerParamsCb
7792
7793 DESCRIPTION
7794
7795 This callback is invoked by DAL when it has received a Set Power Param
7796 response from the underlying device.
7797
7798 PARAMETERS
7799
7800 IN
7801 wdiStatus: response status received from HAL
7802 pUserData: user data
7803
7804
7805
7806 RETURN VALUE
7807 The result code associated with performing the operation
7808---------------------------------------------------------------------------*/
7809typedef void (*WDI_SetPowerParamsCb)(WDI_Status wdiStatus,
7810 void* pUserData);
7811
7812#ifdef WLAN_FEATURE_GTK_OFFLOAD
7813/*---------------------------------------------------------------------------
7814 WDI_GtkOffloadCb
7815
7816 DESCRIPTION
7817
7818 This callback is invoked by DAL when it has received a GTK offload
7819 response from the underlying device.
7820
7821 PARAMETERS
7822
7823 IN
7824 wdiStatus: response status received from HAL
7825 pUserData: user data
7826
7827
7828
7829 RETURN VALUE
7830 The result code associated with performing the operation
7831---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007832typedef void (*WDI_GtkOffloadCb)( WDI_GtkOffloadRspParams *pwdiGtkOffloadRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007833 void* pUserData);
7834
7835/*---------------------------------------------------------------------------
7836 WDI_GtkOffloadGetInfoCb
7837
7838 DESCRIPTION
7839
7840 This callback is invoked by DAL when it has received a GTK offload
7841 information response from the underlying device.
7842
7843 PARAMETERS
7844
7845 IN
7846 wdiStatus: response status received from HAL
7847 pUserData: user data
7848
7849
7850
7851 RETURN VALUE
7852 The result code associated with performing the operation
7853---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007854typedef void (*WDI_GtkOffloadGetInfoCb)( WDI_GtkOffloadGetInfoRspParams *pwdiGtkOffloadGetInfoRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007855 void* pUserData);
7856#endif // WLAN_FEATURE_GTK_OFFLOAD
7857
7858/*---------------------------------------------------------------------------
7859 WDI_SetTmLevelCb
7860
7861 DESCRIPTION
7862
7863 This callback is invoked by DAL when it has received a Set New TM Level
7864 done response from the underlying device.
7865
7866 PARAMETERS
7867
7868 IN
7869 wdiStatus: response status received from HAL
7870 pUserData: user data
7871
7872
7873
7874 RETURN VALUE
7875 The result code associated with performing the operation
7876---------------------------------------------------------------------------*/
7877typedef void (*WDI_SetTmLevelCb)(WDI_Status wdiStatus,
7878 void* pUserData);
7879
7880/*---------------------------------------------------------------------------
7881 WDI_featureCapsExchangeCb
7882
7883 DESCRIPTION
7884
7885 This callback is invoked by DAL when it has received a HAL Feature Capbility
7886 Exchange Response the HAL layer. This callback is put to mantain code
7887 similarity and is not being used right now.
7888
7889 PARAMETERS
7890
7891 IN
7892 wdiFeatCapRspParams: response parameters received from HAL
7893 pUserData: user data
7894
7895 RETURN VALUE
7896 The result code associated with performing the operation
7897---------------------------------------------------------------------------*/
7898typedef void (*WDI_featureCapsExchangeCb)(void* wdiFeatCapRspParams,
7899 void* pUserData);
7900
Mohit Khanna4a70d262012-09-11 16:30:12 -07007901#ifdef WLAN_FEATURE_11AC
7902typedef void (*WDI_UpdateVHTOpModeCb)(WDI_Status wdiStatus,
7903 void* pUserData);
7904#endif
7905
Leo Chang9056f462013-08-01 19:21:11 -07007906#ifdef FEATURE_WLAN_LPHB
7907typedef void (*WDI_LphbCfgCb)(WDI_Status wdiStatus,
7908 void* pUserData);
7909#endif /* FEATURE_WLAN_LPHB */
Mohit Khanna4a70d262012-09-11 16:30:12 -07007910
Rajeev79dbe4c2013-10-05 11:03:42 +05307911#ifdef FEATURE_WLAN_BATCH_SCAN
7912/*---------------------------------------------------------------------------
7913 WDI_SetBatchScanCb
7914
7915 DESCRIPTION
7916
7917 This callback is invoked by DAL when it has received a get batch scan
7918 response from the underlying device.
7919
7920 PARAMETERS
7921
7922 IN
7923 wdiStatus: response status received from HAL
7924 pUserData: user data
7925
7926
7927
7928 RETURN VALUE
7929 The result code associated with performing the operation
7930---------------------------------------------------------------------------*/
7931typedef void (*WDI_SetBatchScanCb)(void *pData, WDI_SetBatchScanRspType *pRsp);
7932
7933#endif
7934
c_hpothu92367912014-05-01 15:18:17 +05307935typedef void (*WDI_GetBcnMissRateCb)(wpt_uint8 status, wpt_uint32 bcnMissRate,
7936 void* pUserData);
Rajeev79dbe4c2013-10-05 11:03:42 +05307937
Dino Mycle41bdc942014-06-10 11:30:24 +05307938#ifdef WLAN_FEATURE_EXTSCAN
7939typedef void (*WDI_EXTScanStartRspCb)(void *pEventData,
7940 void *pUserData);
7941typedef void (*WDI_EXTScanStopRspCb)(void *pEventData,
7942 void *pUserData);
7943typedef void (*WDI_EXTScanGetCachedResultsRspCb)(void *pEventData,
7944 void *pUserData);
7945typedef void (*WDI_EXTScanGetCapabilitiesRspCb)(void *pEventData,
7946 void *pUserData);
7947typedef void (*WDI_EXTScanSetBSSIDHotlistRspCb)(void *pEventData,
7948 void *pUserData);
7949typedef void (*WDI_EXTScanResetBSSIDHotlistRspCb)(void *pEventData,
7950 void *pUserData);
7951typedef void (*WDI_EXTScanSetSignfRSSIChangeRspCb)(void *pEventData,
7952 void *pUserData);
7953typedef void (*WDI_EXTScanResetSignfRSSIChangeRspCb)(void *pEventData,
7954 void *pUserData);
7955#endif /* WLAN_FEATURE_EXTSCAN */
Sunil Duttbd736ed2014-05-26 21:19:41 +05307956
7957#ifdef WLAN_FEATURE_LINK_LAYER_STATS
7958typedef void (*WDI_LLStatsSetRspCb)(void *pEventData,
7959 void *pUserData);
7960typedef void (*WDI_LLStatsGetRspCb)(void *pEventData,
7961 void *pUserData);
7962typedef void (*WDI_LLStatsClearRspCb)(void *pEventData,
7963 void *pUserData);
7964#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
Siddharth Bhal171788a2014-09-29 21:02:40 +05307965
7966typedef void (*WDI_SetSpoofMacAddrRspCb)(
7967 WDI_SpoofMacAddrRspParamType* wdiRsp, void *pUserData);
Srinivas Dasari4dae48f2014-11-26 21:14:16 +05307968
Abhishek Singh85b74712014-10-08 11:38:19 +05307969typedef void (*WDI_FWStatsGetRspCb)(WDI_Status status,void *fwStatsResp,
7970 void *pUserData);
Srinivas Dasari4dae48f2014-11-26 21:14:16 +05307971
7972typedef void (*WDI_EncryptMsgRspCb)(wpt_uint8 status, void *pEventData, void* pUserData);
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05307973typedef void (*WDI_MgmtLoggingInitRspCb)(
7974 WDI_MgmtLoggingRspParamType *wdiRsp, void *pUserData);
Siddharth Bhal64246172015-02-27 01:04:37 +05307975typedef void (*WDI_GetFrameLogRspCb)(
7976 WDI_GetFrameLogRspParamType *wdiRsp, void *pUserData);
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05307977
Jeff Johnson295189b2012-06-20 16:38:30 -07007978/*========================================================================
7979 * Function Declarations and Documentation
7980 ==========================================================================*/
7981
7982/*========================================================================
7983
7984 INITIALIZATION APIs
7985
7986==========================================================================*/
7987
7988/**
7989 @brief WDI_Init is used to initialize the DAL.
7990
7991 DAL will allocate all the resources it needs. It will open PAL, it will also
7992 open both the data and the control transport which in their turn will open
7993 DXE/SMD or any other drivers that they need.
7994
Arun Kumar Khandavalliebb19482014-03-25 13:56:53 +05307995 @param devHandle: pointer to the OS specific device handle
Jeff Johnson295189b2012-06-20 16:38:30 -07007996 ppWDIGlobalCtx: output pointer of Global Context
7997 pWdiDevCapability: output pointer of device capability
7998
7999 @return Result of the function call
8000*/
8001WDI_Status
8002WDI_Init
8003(
Arun Kumar Khandavalliebb19482014-03-25 13:56:53 +05308004 void* devHandle,
Jeff Johnson295189b2012-06-20 16:38:30 -07008005 void** ppWDIGlobalCtx,
8006 WDI_DeviceCapabilityType* pWdiDevCapability,
8007 unsigned int driverType
8008);
8009
8010/**
8011 @brief WDI_Start will be called when the upper MAC is ready to
8012 commence operation with the WLAN Device. Upon the call
8013 of this API the WLAN DAL will pack and send a HAL Start
8014 message to the lower RIVA sub-system if the SMD channel
8015 has been fully opened and the RIVA subsystem is up.
8016
8017 If the RIVA sub-system is not yet up and running DAL
8018 will queue the request for Open and will wait for the
8019 SMD notification before attempting to send down the
8020 message to HAL.
8021
8022 WDI_Init must have been called.
8023
8024 @param wdiStartParams: the start parameters as specified by
8025 the Device Interface
8026
8027 wdiStartRspCb: callback for passing back the response of
8028 the start operation received from the device
8029
8030 pUserData: user data will be passed back with the
8031 callback
8032
8033 @see WDI_Start
8034 @return Result of the function call
8035*/
8036WDI_Status
8037WDI_Start
8038(
8039 WDI_StartReqParamsType* pwdiStartParams,
8040 WDI_StartRspCb wdiStartRspCb,
8041 void* pUserData
8042);
8043
8044
8045/**
8046 @brief WDI_Stop will be called when the upper MAC is ready to
8047 stop any operation with the WLAN Device. Upon the call
8048 of this API the WLAN DAL will pack and send a HAL Stop
8049 message to the lower RIVA sub-system if the DAL Core is
8050 in started state.
8051
8052 In state BUSY this request will be queued.
8053
8054 Request will not be accepted in any other state.
8055
8056 WDI_Start must have been called.
8057
8058 @param wdiStopParams: the stop parameters as specified by
8059 the Device Interface
8060
8061 wdiStopRspCb: callback for passing back the response of
8062 the stop operation received from the device
8063
8064 pUserData: user data will be passed back with the
8065 callback
8066
8067 @see WDI_Start
8068 @return Result of the function call
8069*/
8070WDI_Status
8071WDI_Stop
8072(
8073 WDI_StopReqParamsType* pwdiStopParams,
8074 WDI_StopRspCb wdiStopRspCb,
8075 void* pUserData
8076);
8077
8078/**
8079 @brief WDI_Close will be called when the upper MAC no longer
8080 needs to interract with DAL. DAL will free its control
8081 block.
8082
8083 It is only accepted in state STOPPED.
8084
8085 WDI_Stop must have been called.
8086
8087 @param none
8088
8089 @see WDI_Stop
8090 @return Result of the function call
8091*/
8092WDI_Status
8093WDI_Close
8094(
8095 void
8096);
8097
8098
8099/**
8100 @brief WDI_Shutdown will be called during 'SSR shutdown' operation.
8101 This will do most of the WDI stop & close
8102 operations without doing any handshake with Riva
8103
8104 This will also make sure that the control transport
8105 will NOT be closed.
8106
8107 This request will not be queued.
8108
8109
8110 WDI_Start must have been called.
8111
8112 @param closeTransport: Close control channel if this is set
8113
8114 @return Result of the function call
8115*/
8116WDI_Status
8117WDI_Shutdown
8118(
8119 wpt_boolean closeTransport
8120);
8121
8122/*========================================================================
8123
8124 SCAN APIs
8125
8126==========================================================================*/
8127
8128/**
8129 @brief WDI_InitScanReq will be called when the upper MAC wants
8130 the WLAN Device to get ready for a scan procedure. Upon
8131 the call of this API the WLAN DAL will pack and send a
8132 HAL Init Scan request message to the lower RIVA
8133 sub-system if DAL is in state STARTED.
8134
8135 In state BUSY this request will be queued. Request won't
8136 be allowed in any other state.
8137
8138 WDI_Start must have been called.
8139
8140 @param wdiInitScanParams: the init scan parameters as specified
8141 by the Device Interface
8142
8143 wdiInitScanRspCb: callback for passing back the response
8144 of the init scan operation received from the device
8145
8146 pUserData: user data will be passed back with the
8147 callback
8148
8149 @see WDI_Start
8150 @return Result of the function call
8151*/
8152WDI_Status
8153WDI_InitScanReq
8154(
8155 WDI_InitScanReqParamsType* pwdiInitScanParams,
8156 WDI_InitScanRspCb wdiInitScanRspCb,
8157 void* pUserData
8158);
8159
8160/**
8161 @brief WDI_StartScanReq will be called when the upper MAC
8162 wishes to change the Scan channel on the WLAN Device.
8163 Upon the call of this API the WLAN DAL will pack and
8164 send a HAL Start Scan request message to the lower RIVA
8165 sub-system if DAL is in state STARTED.
8166
8167 In state BUSY this request will be queued. Request won't
8168 be allowed in any other state.
8169
8170 WDI_InitScanReq must have been called.
8171
8172 @param wdiStartScanParams: the start scan parameters as
8173 specified by the Device Interface
8174
8175 wdiStartScanRspCb: callback for passing back the
8176 response of the start scan operation received from the
8177 device
8178
8179 pUserData: user data will be passed back with the
8180 callback
8181
8182 @see WDI_InitScanReq
8183 @return Result of the function call
8184*/
8185WDI_Status
8186WDI_StartScanReq
8187(
8188 WDI_StartScanReqParamsType* pwdiStartScanParams,
8189 WDI_StartScanRspCb wdiStartScanRspCb,
8190 void* pUserData
8191);
8192
8193
8194/**
8195 @brief WDI_EndScanReq will be called when the upper MAC is
8196 wants to end scanning for a particular channel that it
8197 had set before by calling Scan Start on the WLAN Device.
8198 Upon the call of this API the WLAN DAL will pack and
8199 send a HAL End 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_StartScanReq must have been called.
8206
8207 @param wdiEndScanParams: the end scan parameters as specified
8208 by the Device Interface
8209
8210 wdiEndScanRspCb: callback for passing back the response
8211 of the end scan operation received from the device
8212
8213 pUserData: user data will be passed back with the
8214 callback
8215
8216 @see WDI_StartScanReq
8217 @return Result of the function call
8218*/
8219WDI_Status
8220WDI_EndScanReq
8221(
8222 WDI_EndScanReqParamsType* pwdiEndScanParams,
8223 WDI_EndScanRspCb wdiEndScanRspCb,
8224 void* pUserData
8225);
8226
8227
8228/**
8229 @brief WDI_FinishScanReq will be called when the upper MAC has
8230 completed the scan process on the WLAN Device. Upon the
8231 call of this API the WLAN DAL will pack and send a HAL
8232 Finish Scan Request request message to the lower RIVA
8233 sub-system if DAL is in state STARTED.
8234
8235 In state BUSY this request will be queued. Request won't
8236 be allowed in any other state.
8237
8238 WDI_InitScanReq must have been called.
8239
8240 @param wdiFinishScanParams: the finish scan parameters as
8241 specified by the Device Interface
8242
8243 wdiFinishScanRspCb: callback for passing back the
8244 response of the finish scan operation received from the
8245 device
8246
8247 pUserData: user data will be passed back with the
8248 callback
8249
8250 @see WDI_InitScanReq
8251 @return Result of the function call
8252*/
8253WDI_Status
8254WDI_FinishScanReq
8255(
8256 WDI_FinishScanReqParamsType* pwdiFinishScanParams,
8257 WDI_FinishScanRspCb wdiFinishScanRspCb,
8258 void* pUserData
8259);
8260
8261/*========================================================================
8262
8263 ASSOCIATION APIs
8264
8265==========================================================================*/
8266
8267/**
8268 @brief WDI_JoinReq will be called when the upper MAC is ready
8269 to start an association procedure to a BSS. Upon the
8270 call of this API the WLAN DAL will pack and send a HAL
8271 Join request message to the lower RIVA sub-system if
8272 DAL is in state STARTED.
8273
8274 In state BUSY this request will be queued. Request won't
8275 be allowed in any other state.
8276
8277 WDI_Start must have been called.
8278
8279 @param wdiJoinParams: the join parameters as specified by
8280 the Device Interface
8281
8282 wdiJoinRspCb: callback for passing back the response of
8283 the join operation received from the device
8284
8285 pUserData: user data will be passed back with the
8286 callback
8287
8288 @see WDI_Start
8289 @return Result of the function call
8290*/
8291WDI_Status
8292WDI_JoinReq
8293(
8294 WDI_JoinReqParamsType* pwdiJoinParams,
8295 WDI_JoinRspCb wdiJoinRspCb,
8296 void* pUserData
8297);
8298
8299/**
8300 @brief WDI_ConfigBSSReq will be called when the upper MAC
8301 wishes to configure the newly acquired or in process of
8302 being acquired BSS to the HW . Upon the call of this API
8303 the WLAN DAL will pack and send a HAL Config BSS request
8304 message to the lower RIVA sub-system if DAL is in state
8305 STARTED.
8306
8307 In state BUSY this request will be queued. Request won't
8308 be allowed in any other state.
8309
8310 WDI_JoinReq must have been called.
8311
8312 @param wdiConfigBSSParams: the config BSS parameters as
8313 specified by the Device Interface
8314
8315 wdiConfigBSSRspCb: callback for passing back the
8316 response of the config BSS operation received from the
8317 device
8318
8319 pUserData: user data will be passed back with the
8320 callback
8321
8322 @see WDI_JoinReq
8323 @return Result of the function call
8324*/
8325WDI_Status
8326WDI_ConfigBSSReq
8327(
8328 WDI_ConfigBSSReqParamsType* pwdiConfigBSSParams,
8329 WDI_ConfigBSSRspCb wdiConfigBSSRspCb,
8330 void* pUserData
8331);
8332
8333/**
8334 @brief WDI_DelBSSReq will be called when the upper MAC is
8335 dissasociating from the BSS and wishes to notify HW.
8336 Upon the call of this API the WLAN DAL will pack and
8337 send a HAL Del BSS request message to the lower RIVA
8338 sub-system if DAL is in state STARTED.
8339
8340 In state BUSY this request will be queued. Request won't
8341 be allowed in any other state.
8342
8343 WDI_ConfigBSSReq or WDI_PostAssocReq must have been called.
8344
8345 @param wdiDelBSSParams: the del BSS parameters as specified by
8346 the Device Interface
8347
8348 wdiDelBSSRspCb: callback for passing back the response
8349 of the del bss operation received from the device
8350
8351 pUserData: user data will be passed back with the
8352 callback
8353
8354 @see WDI_ConfigBSSReq, WDI_PostAssocReq
8355 @return Result of the function call
8356*/
8357WDI_Status
8358WDI_DelBSSReq
8359(
8360 WDI_DelBSSReqParamsType* pwdiDelBSSParams,
8361 WDI_DelBSSRspCb wdiDelBSSRspCb,
8362 void* pUserData
8363);
8364
8365/**
8366 @brief WDI_PostAssocReq will be called when the upper MAC has
8367 associated to a BSS and wishes to configure HW for
8368 associated state. Upon the call of this API the WLAN DAL
8369 will pack and send a HAL Post Assoc request message to
8370 the lower RIVA sub-system if DAL is in state STARTED.
8371
8372 In state BUSY this request will be queued. Request won't
8373 be allowed in any other state.
8374
8375 WDI_JoinReq must have been called.
8376
8377 @param wdiPostAssocReqParams: the assoc parameters as specified
8378 by the Device Interface
8379
8380 wdiPostAssocRspCb: callback for passing back the
8381 response of the post assoc operation received from the
8382 device
8383
8384 pUserData: user data will be passed back with the
8385 callback
8386
8387 @see WDI_JoinReq
8388 @return Result of the function call
8389*/
8390WDI_Status
8391WDI_PostAssocReq
8392(
8393 WDI_PostAssocReqParamsType* pwdiPostAssocReqParams,
8394 WDI_PostAssocRspCb wdiPostAssocRspCb,
8395 void* pUserData
8396);
8397
8398/**
8399 @brief WDI_DelSTAReq will be called when the upper MAC when an
8400 association with another STA has ended and the station
8401 must be deleted from HW. Upon the call of this API the
8402 WLAN DAL will pack and send a HAL Del STA request
8403 message to the lower RIVA sub-system if DAL is in state
8404 STARTED.
8405
8406 In state BUSY this request will be queued. Request won't
8407 be allowed in any other state.
8408
8409 WDI_PostAssocReq must have been called.
8410
8411 @param wdiDelSTAParams: the Del STA parameters as specified by
8412 the Device Interface
8413
8414 wdiDelSTARspCb: callback for passing back the response
8415 of the del STA operation received from the device
8416
8417 pUserData: user data will be passed back with the
8418 callback
8419
8420 @see WDI_PostAssocReq
8421 @return Result of the function call
8422*/
8423WDI_Status
8424WDI_DelSTAReq
8425(
8426 WDI_DelSTAReqParamsType* pwdiDelSTAParams,
8427 WDI_DelSTARspCb wdiDelSTARspCb,
8428 void* pUserData
8429);
8430
8431/*========================================================================
8432
8433 SECURITY APIs
8434
8435==========================================================================*/
8436
8437/**
8438 @brief WDI_SetBSSKeyReq will be called when the upper MAC ito
8439 install a BSS encryption key on the HW. Upon the call of
8440 this API the WLAN DAL will pack and send a HAL Start
8441 request message to the lower RIVA sub-system if DAL is
8442 in state STARTED.
8443
8444 In state BUSY this request will be queued. Request won't
8445 be allowed in any other state.
8446
8447 WDI_PostAssocReq must have been called.
8448
8449 @param wdiSetBSSKeyParams: the BSS Key set parameters as
8450 specified by the Device Interface
8451
8452 wdiSetBSSKeyRspCb: callback for passing back the
8453 response of the set BSS Key operation received from the
8454 device
8455
8456 pUserData: user data will be passed back with the
8457 callback
8458
8459 @see WDI_PostAssocReq
8460 @return Result of the function call
8461*/
8462WDI_Status
8463WDI_SetBSSKeyReq
8464(
8465 WDI_SetBSSKeyReqParamsType* pwdiSetBSSKeyParams,
8466 WDI_SetBSSKeyRspCb wdiSetBSSKeyRspCb,
8467 void* pUserData
8468);
8469
8470
8471/**
8472 @brief WDI_RemoveBSSKeyReq will be called when the upper MAC to
8473 uninstall a BSS key from HW. Upon the call of this API
8474 the WLAN DAL will pack and send a HAL Remove BSS Key
8475 request message to the lower RIVA sub-system if DAL is
8476 in state STARTED.
8477
8478 In state BUSY this request will be queued. Request won't
8479 be allowed in any other state.
8480
8481 WDI_SetBSSKeyReq must have been called.
8482
8483 @param wdiRemoveBSSKeyParams: the remove BSS key parameters as
8484 specified by the Device Interface
8485
8486 wdiRemoveBSSKeyRspCb: callback for passing back the
8487 response of the remove BSS key operation received from
8488 the device
8489
8490 pUserData: user data will be passed back with the
8491 callback
8492
8493 @see WDI_SetBSSKeyReq
8494 @return Result of the function call
8495*/
8496WDI_Status
8497WDI_RemoveBSSKeyReq
8498(
8499 WDI_RemoveBSSKeyReqParamsType* pwdiRemoveBSSKeyParams,
8500 WDI_RemoveBSSKeyRspCb wdiRemoveBSSKeyRspCb,
8501 void* pUserData
8502);
8503
8504
8505/**
8506 @brief WDI_SetSTAKeyReq will be called when the upper MAC is
8507 ready to install a STA(ast) encryption key in HW. Upon
8508 the call of this API the WLAN DAL will pack and send a
8509 HAL Set STA Key request message to the lower RIVA
8510 sub-system if DAL is in state STARTED.
8511
8512 In state BUSY this request will be queued. Request won't
8513 be allowed in any other state.
8514
8515 WDI_PostAssocReq must have been called.
8516
8517 @param wdiSetSTAKeyParams: the set STA key parameters as
8518 specified by the Device Interface
8519
8520 wdiSetSTAKeyRspCb: callback for passing back the
8521 response of the set STA key operation received from the
8522 device
8523
8524 pUserData: user data will be passed back with the
8525 callback
8526
8527 @see WDI_PostAssocReq
8528 @return Result of the function call
8529*/
8530WDI_Status
8531WDI_SetSTAKeyReq
8532(
8533 WDI_SetSTAKeyReqParamsType* pwdiSetSTAKeyParams,
8534 WDI_SetSTAKeyRspCb wdiSetSTAKeyRspCb,
8535 void* pUserData
8536);
8537
8538
8539/**
8540 @brief WDI_RemoveSTAKeyReq will be called when the upper MAC
8541 wants to unistall a previously set STA key in HW. Upon
8542 the call of this API the WLAN DAL will pack and send a
8543 HAL Remove STA Key request message to the lower RIVA
8544 sub-system if DAL is in state STARTED.
8545
8546 In state BUSY this request will be queued. Request won't
8547 be allowed in any other state.
8548
8549 WDI_SetSTAKeyReq must have been called.
8550
8551 @param wdiRemoveSTAKeyParams: the remove STA key parameters as
8552 specified by the Device Interface
8553
8554 wdiRemoveSTAKeyRspCb: callback for passing back the
8555 response of the remove STA key operation received from
8556 the device
8557
8558 pUserData: user data will be passed back with the
8559 callback
8560
8561 @see WDI_SetSTAKeyReq
8562 @return Result of the function call
8563*/
8564WDI_Status
8565WDI_RemoveSTAKeyReq
8566(
8567 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTAKeyParams,
8568 WDI_RemoveSTAKeyRspCb wdiRemoveSTAKeyRspCb,
8569 void* pUserData
8570);
8571
8572/**
8573 @brief WDI_SetSTABcastKeyReq will be called when the upper MAC
8574 wants to install a STA Bcast encryption key on the HW.
8575 Upon the call of this API the WLAN DAL will pack and
8576 send a HAL Start request message to the lower RIVA
8577 sub-system if DAL is in state STARTED.
8578
8579 In state BUSY this request will be queued. Request won't
8580 be allowed in any other state.
8581
8582 WDI_PostAssocReq must have been called.
8583
8584 @param pwdiSetSTABcastKeyParams: the BSS Key set parameters as
8585 specified by the Device Interface
8586
8587 wdiSetSTABcastKeyRspCb: callback for passing back the
8588 response of the set BSS Key operation received from the
8589 device
8590
8591 pUserData: user data will be passed back with the
8592 callback
8593
8594 @see WDI_PostAssocReq
8595 @return Result of the function call
8596*/
8597WDI_Status
8598WDI_SetSTABcastKeyReq
8599(
8600 WDI_SetSTAKeyReqParamsType* pwdiSetSTABcastKeyParams,
8601 WDI_SetSTAKeyRspCb wdiSetSTABcastKeyRspCb,
8602 void* pUserData
8603);
8604
8605
8606/**
8607 @brief WDI_RemoveSTABcastKeyReq will be called when the upper
8608 MAC to uninstall a STA Bcast key from HW. Upon the call
8609 of this API the WLAN DAL will pack and send a HAL Remove
8610 STA Bcast Key request message to the lower RIVA
8611 sub-system if DAL is in state STARTED.
8612
8613 In state BUSY this request will be queued. Request won't
8614 be allowed in any other state.
8615
8616 WDI_SetSTABcastKeyReq must have been called.
8617
8618 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
8619 parameters as specified by the Device
8620 Interface
8621
8622 wdiRemoveSTABcastKeyRspCb: callback for passing back the
8623 response of the remove STA Bcast key operation received
8624 from the device
8625
8626 pUserData: user data will be passed back with the
8627 callback
8628
8629 @see WDI_SetSTABcastKeyReq
8630 @return Result of the function call
8631*/
8632WDI_Status
8633WDI_RemoveSTABcastKeyReq
8634(
8635 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTABcastKeyParams,
8636 WDI_RemoveSTAKeyRspCb wdiRemoveSTABcastKeyRspCb,
8637 void* pUserData
8638);
8639
schang86c22c42013-03-13 18:41:24 -07008640
8641/**
8642 @brief WDI_SetTxPowerReq will be called when the upper
8643 MAC wants to set Tx Power to HW.
8644 In state BUSY this request will be queued. Request won't
8645 be allowed in any other state.
8646
8647
8648 @param pwdiSetTxPowerParams: set TS Power parameters
8649 BSSID and target TX Power with dbm included
8650
8651 wdiReqStatusCb: callback for passing back the response
8652
8653 pUserData: user data will be passed back with the
8654 callback
8655
8656 @return Result of the function call
8657*/
8658WDI_Status
8659WDI_SetTxPowerReq
8660(
8661 WDI_SetTxPowerParamsType* pwdiSetTxPowerParams,
8662 WDA_SetTxPowerRspCb wdiReqStatusCb,
8663 void* pUserData
8664);
8665
Jeff Johnson295189b2012-06-20 16:38:30 -07008666/**
8667 @brief WDI_SetMaxTxPowerReq will be called when the upper
8668 MAC wants to set Max Tx Power to HW. Upon the
8669 call of this API the WLAN DAL will pack and send a HAL
8670 Remove STA Bcast Key request message to the lower RIVA
8671 sub-system if DAL is in state STARTED.
8672
8673 In state BUSY this request will be queued. Request won't
8674 be allowed in any other state.
8675
8676 WDI_SetSTABcastKeyReq must have been called.
8677
8678 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
8679 parameters as specified by the Device
8680 Interface
8681
8682 wdiRemoveSTABcastKeyRspCb: callback for passing back the
8683 response of the remove STA Bcast key operation received
8684 from the device
8685
8686 pUserData: user data will be passed back with the
8687 callback
8688
8689 @see WDI_SetMaxTxPowerReq
8690 @return Result of the function call
8691*/
8692WDI_Status
8693WDI_SetMaxTxPowerReq
8694(
8695 WDI_SetMaxTxPowerParamsType* pwdiSetMaxTxPowerParams,
8696 WDA_SetMaxTxPowerRspCb wdiReqStatusCb,
8697 void* pUserData
8698);
8699
Arif Hussaina5ebce02013-08-09 15:09:58 -07008700/**
8701 @brief WDI_SetMaxTxPowerPerBandReq will be called when the upper
8702 MAC wants to set Max Tx Power to HW for specific band. Upon the
8703 call of this API the WLAN DAL will pack and send a HAL
8704 Set Max Tx Power Per Band request message to the lower RIVA
8705 sub-system if DAL is in state STARTED.
8706
8707 In state BUSY this request will be queued. Request won't
8708 be allowed in any other state.
8709
8710
8711 @param WDI_SetMaxTxPowerPerBandParamsType: Max Tx Per Band Info
8712
8713 WDA_SetMaxTxPowerPerBandRspCb: This callback is invoked by DAL
8714 when it has received a set max Tx Power Per Band response from
8715 the underlying device.
8716
8717 pUserData: user data will be passed back with the
8718 callback
8719
8720 @see WDI_SetMaxTxPowerPerBandReq
8721 @return Result of the function call
8722*/
8723WDI_Status
8724WDI_SetMaxTxPowerPerBandReq
8725(
8726 WDI_SetMaxTxPowerPerBandParamsType* pwdiSetMaxTxPowerPerBandParams,
8727 WDA_SetMaxTxPowerPerBandRspCb wdiReqStatusCb,
8728 void* pUserData
8729);
8730
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08008731#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07008732/**
8733 @brief WDI_TSMStatsReq will be called by the upper MAC to fetch
8734 Traffic Stream metrics.
8735 In state BUSY this request will be queued. Request won't
8736 be allowed in any other state.
8737
8738 @param wdiAddTsReqParams: the add TS parameters as specified by
8739 the Device Interface
8740
8741 wdiAddTsRspCb: callback for passing back the response of
8742 the add TS operation received from the device
8743
8744 pUserData: user data will be passed back with the
8745 callback
8746
8747 @see WDI_PostAssocReq
8748 @return Result of the function call
8749*/
8750WDI_Status
8751WDI_TSMStatsReq
8752(
8753 WDI_TSMStatsReqParamsType* pwdiTsmStatsReqParams,
8754 WDI_TsmRspCb wdiTsmStatsRspCb,
8755 void* pUserData
8756);
8757
8758
8759#endif
8760
8761/*========================================================================
8762
8763 QoS and BA APIs
8764
8765==========================================================================*/
8766
8767/**
8768 @brief WDI_AddTSReq will be called when the upper MAC to inform
8769 the device of a successful add TSpec negotiation. HW
8770 needs to receive the TSpec Info from the UMAC in order
8771 to configure properly the QoS data traffic. Upon the
8772 call of this API the WLAN DAL will pack and send a HAL
8773 Add TS request message to the lower RIVA sub-system if
8774 DAL is in state STARTED.
8775
8776 In state BUSY this request will be queued. Request won't
8777 be allowed in any other state.
8778
8779 WDI_PostAssocReq must have been called.
8780
8781 @param wdiAddTsReqParams: the add TS parameters as specified by
8782 the Device Interface
8783
8784 wdiAddTsRspCb: callback for passing back the response of
8785 the add TS operation received from the device
8786
8787 pUserData: user data will be passed back with the
8788 callback
8789
8790 @see WDI_PostAssocReq
8791 @return Result of the function call
8792*/
8793WDI_Status
8794WDI_AddTSReq
8795(
8796 WDI_AddTSReqParamsType* pwdiAddTsReqParams,
8797 WDI_AddTsRspCb wdiAddTsRspCb,
8798 void* pUserData
8799);
8800
8801
8802
8803/**
8804 @brief WDI_DelTSReq will be called when the upper MAC has ended
8805 admission on a specific AC. This is to inform HW that
8806 QoS traffic parameters must be rest. Upon the call of
8807 this API the WLAN DAL will pack and send a HAL Del TS
8808 request message to the lower RIVA sub-system if DAL is
8809 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_AddTSReq must have been called.
8815
8816 @param wdiDelTsReqParams: the del TS parameters as specified by
8817 the Device Interface
8818
8819 wdiDelTsRspCb: callback for passing back the response of
8820 the del TS operation received from the device
8821
8822 pUserData: user data will be passed back with the
8823 callback
8824
8825 @see WDI_AddTSReq
8826 @return Result of the function call
8827*/
8828WDI_Status
8829WDI_DelTSReq
8830(
8831 WDI_DelTSReqParamsType* pwdiDelTsReqParams,
8832 WDI_DelTsRspCb wdiDelTsRspCb,
8833 void* pUserData
8834);
8835
8836
8837
8838/**
8839 @brief WDI_UpdateEDCAParams will be called when the upper MAC
8840 wishes to update the EDCA parameters used by HW for QoS
8841 data traffic. Upon the call of this API the WLAN DAL
8842 will pack and send a HAL Update EDCA Params request
8843 message to the lower RIVA sub-system if DAL is in state
8844 STARTED.
8845
8846 In state BUSY this request will be queued. Request won't
8847 be allowed in any other state.
8848
8849 WDI_PostAssocReq must have been called.
8850
8851 @param wdiUpdateEDCAParams: the start parameters as specified
8852 by the Device Interface
8853
8854 wdiUpdateEDCAParamsRspCb: callback for passing back the
8855 response of the start operation received from the device
8856
8857 pUserData: user data will be passed back with the
8858 callback
8859
8860 @see WDI_PostAssocReq
8861 @return Result of the function call
8862*/
8863WDI_Status
8864WDI_UpdateEDCAParams
8865(
8866 WDI_UpdateEDCAParamsType* pwdiUpdateEDCAParams,
8867 WDI_UpdateEDCAParamsRspCb wdiUpdateEDCAParamsRspCb,
8868 void* pUserData
8869);
8870
8871
8872
8873/**
8874 @brief WDI_AddBASessionReq will be called when the upper MAC has setup
8875 successfully a BA session and needs to notify the HW for
8876 the appropriate settings to take place. Upon the call of
8877 this API the WLAN DAL will pack and send a HAL Add BA
8878 request message to the lower RIVA sub-system if DAL is
8879 in state 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 wdiAddBAReqParams: the add BA parameters as specified by
8887 the Device Interface
8888
8889 wdiAddBARspCb: callback for passing back the response of
8890 the add BA 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_AddBASessionReq
8900(
8901 WDI_AddBASessionReqParamsType* pwdiAddBASessionReqParams,
8902 WDI_AddBASessionRspCb wdiAddBASessionRspCb,
8903 void* pUserData
8904);
8905
8906
8907/**
8908 @brief WDI_DelBAReq will be called when the upper MAC wants to
8909 inform HW that it has deleted a previously created BA
8910 session. Upon the call of this API the WLAN DAL will
8911 pack and send a HAL Del BA request message to the lower
8912 RIVA sub-system if DAL is in state STARTED.
8913
8914 In state BUSY this request will be queued. Request won't
8915 be allowed in any other state.
8916
8917 WDI_AddBAReq must have been called.
8918
8919 @param wdiDelBAReqParams: the del BA parameters as specified by
8920 the Device Interface
8921
8922 wdiDelBARspCb: callback for passing back the response of
8923 the del BA operation received from the device
8924
8925 pUserData: user data will be passed back with the
8926 callback
8927
8928 @see WDI_AddBAReq
8929 @return Result of the function call
8930*/
8931WDI_Status
8932WDI_DelBAReq
8933(
8934 WDI_DelBAReqParamsType* pwdiDelBAReqParams,
8935 WDI_DelBARspCb wdiDelBARspCb,
8936 void* pUserData
8937);
8938
8939/**
8940 @brief WDI_UpdateBeaconParamsReq will be called when the upper MAC wants to
8941 inform HW that there is a change in the beacon parameters
8942 Upon the call of this API the WLAN DAL will
8943 pack and send a UpdateBeacon Params message to the lower
8944 RIVA sub-system if DAL is in state STARTED.
8945
8946 In state BUSY this request will be queued. Request won't
8947 be allowed in any other state.
8948
8949 WDI_UpdateBeaconParamsReq must have been called.
8950
8951 @param WDI_UpdateBeaconParamsType: the Update Beacon parameters as specified by
8952 the Device Interface
8953
8954 WDI_UpdateBeaconParamsRspCb: callback for passing back the response of
8955 the Update Beacon Params operation received from the device
8956
8957 pUserData: user data will be passed back with the
8958 callback
8959
8960 @see WDI_AddBAReq
8961 @return Result of the function call
8962*/
8963
8964WDI_Status
8965WDI_UpdateBeaconParamsReq
8966(
8967 WDI_UpdateBeaconParamsType * pwdiUpdateBeaconParams,
8968 WDI_UpdateBeaconParamsRspCb wdiUpdateBeaconParamsRspCb,
8969 void* pUserData
8970);
8971
8972
8973/**
8974 @brief WDI_SendBeaconParamsReq will be called when the upper MAC wants to
8975 update the beacon template to be transmitted as BT MAP STA/IBSS/Soft AP
8976 Upon the call of this API the WLAN DAL will
8977 pack and send the beacon Template message to the lower
8978 RIVA sub-system if DAL is in state STARTED.
8979
8980 In state BUSY this request will be queued. Request won't
8981 be allowed in any other state.
8982
8983 WDI_SendBeaconParamsReq must have been called.
8984
8985 @param WDI_SendBeaconParamsType: the Update Beacon parameters as specified by
8986 the Device Interface
8987
8988 WDI_SendBeaconParamsRspCb: callback for passing back the response of
8989 the Send Beacon Params operation received from the device
8990
8991 pUserData: user data will be passed back with the
8992 callback
8993
8994 @see WDI_AddBAReq
8995 @return Result of the function call
8996*/
8997
8998WDI_Status
8999WDI_SendBeaconParamsReq
9000(
9001 WDI_SendBeaconParamsType* pwdiSendBeaconParams,
9002 WDI_SendBeaconParamsRspCb wdiSendBeaconParamsRspCb,
9003 void* pUserData
9004);
9005
9006
9007/**
9008 @brief WDI_UpdateProbeRspTemplateReq will be called when the
9009 upper MAC wants to update the probe response template to
9010 be transmitted as Soft AP
9011 Upon the call of this API the WLAN DAL will
9012 pack and send the probe rsp template message to the
9013 lower 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
9019 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
9020 specified by the Device Interface
9021
9022 wdiSendBeaconParamsRspCb: callback for passing back the
9023 response of the Send Beacon Params operation received
9024 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_UpdateProbeRspTemplateReq
9035(
9036 WDI_UpdateProbeRspTemplateParamsType* pwdiUpdateProbeRspParams,
9037 WDI_UpdateProbeRspTemplateRspCb wdiSendBeaconParamsRspCb,
9038 void* pUserData
9039);
9040
Jeff Johnson295189b2012-06-20 16:38:30 -07009041/**
9042 @brief WDI_SetP2PGONOAReq will be called when the
9043 upper MAC wants to send Notice of Absence
9044 Upon the call of this API the WLAN DAL will
9045 pack and send the probe rsp template message to the
9046 lower RIVA sub-system if DAL is in state STARTED.
9047
9048 In state BUSY this request will be queued. Request won't
9049 be allowed in any other state.
9050
9051
9052 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
9053 specified by the Device Interface
9054
9055 wdiSendBeaconParamsRspCb: callback for passing back the
9056 response of the Send Beacon Params operation received
9057 from the device
9058
9059 pUserData: user data will be passed back with the
9060 callback
9061
9062 @see WDI_AddBAReq
9063 @return Result of the function call
9064*/
9065WDI_Status
9066WDI_SetP2PGONOAReq
9067(
9068 WDI_SetP2PGONOAReqParamsType* pwdiP2PGONOAReqParams,
9069 WDI_SetP2PGONOAReqParamsRspCb wdiP2PGONOAReqParamsRspCb,
9070 void* pUserData
9071);
Jeff Johnson295189b2012-06-20 16:38:30 -07009072
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05309073/**
9074 @brief WDI_SetTDLSLinkEstablishReq will be called when the
9075 upper MAC wants to send TDLS Link Establish Request Parameters
9076 Upon the call of this API the WLAN DAL will
9077 pack and send the TDLS Link Establish Request message to the
9078 lower RIVA sub-system if DAL is in state STARTED.
9079
9080 In state BUSY this request will be queued. Request won't
9081 be allowed in any other state.
9082
9083
9084 @param pwdiTDLSLinkEstablishReqParams: TDLS Peer Parameters
9085 for Link Establishment (Used for PUAPSD , TDLS Off Channel ...)
9086
9087 wdiTDLSLinkEstablishReqRspCb: callback for passing back the
9088 response of the TDLS Link Establish request received
9089 from the device
9090
9091 pUserData: user data will be passed back with the
9092 callback
9093
9094 @see
9095 @return Result of the function call
9096*/
9097WDI_Status
9098WDI_SetTDLSLinkEstablishReq
9099(
9100 WDI_SetTDLSLinkEstablishReqParamsType* pwdiTDLSLinkEstablishReqParams,
9101 WDI_SetTDLSLinkEstablishReqParamsRspCb wdiTDLSLinkEstablishReqRspCb,
9102 void* pUserData
9103);
Jeff Johnson295189b2012-06-20 16:38:30 -07009104
Atul Mittalc0f739f2014-07-31 13:47:47 +05309105WDI_Status
9106WDI_SetTDLSChanSwitchReq
9107(
9108 WDI_SetTDLSChanSwitchReqParamsType* pwdiTDLSChanSwitchReqParams,
9109 WDI_SetTDLSChanSwitchReqParamsRspCb wdiTDLSChanSwitchRReqRspCb,
9110 void* pUserData
9111);
Jeff Johnson295189b2012-06-20 16:38:30 -07009112/*========================================================================
9113
9114 Power Save APIs
9115
9116==========================================================================*/
9117
9118/**
9119 @brief WDI_SetPwrSaveCfgReq will be called when the upper MAC
9120 wants to set the power save related configurations of
9121 the WLAN Device. Upon the call of this API the WLAN DAL
9122 will pack and send a HAL Update CFG request message to
9123 the lower RIVA sub-system if DAL is in state STARTED.
9124
9125 In state BUSY this request will be queued. Request won't
9126 be allowed in any other state.
9127
9128 WDI_Start must have been called.
9129
9130 @param pwdiPowerSaveCfg: the power save cfg parameters as
9131 specified by the Device Interface
9132
9133 wdiSetPwrSaveCfgCb: callback for passing back the
9134 response of the set power save cfg operation received
9135 from the device
9136
9137 pUserData: user data will be passed back with the
9138 callback
9139
9140 @see WDI_Start
9141 @return Result of the function call
9142*/
9143WDI_Status
9144WDI_SetPwrSaveCfgReq
9145(
9146 WDI_UpdateCfgReqParamsType* pwdiPowerSaveCfg,
9147 WDI_SetPwrSaveCfgCb wdiSetPwrSaveCfgCb,
9148 void* pUserData
9149);
9150
9151/**
9152 @brief WDI_EnterImpsReq will be called when the upper MAC to
9153 request the device to get into IMPS power state. Upon
9154 the call of this API the WLAN DAL will send a HAL Enter
9155 IMPS request message to the lower RIVA sub-system if DAL
9156 is in state STARTED.
9157
9158 In state BUSY this request will be queued. Request won't
9159 be allowed in any other state.
9160
9161
9162 @param wdiEnterImpsRspCb: callback for passing back the
9163 response of the Enter IMPS operation received from the
9164 device
9165
9166 pUserData: user data will be passed back with the
9167 callback
9168
9169 @see WDI_Start
9170 @return Result of the function call
9171*/
9172WDI_Status
9173WDI_EnterImpsReq
9174(
Mihir Shetea4306052014-03-25 00:02:54 +05309175 WDI_EnterImpsReqParamsType *pwdiEnterImpsReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009176 WDI_EnterImpsRspCb wdiEnterImpsRspCb,
9177 void* pUserData
9178);
9179
9180/**
9181 @brief WDI_ExitImpsReq will be called when the upper MAC to
9182 request the device to get out of IMPS power state. Upon
9183 the call of this API the WLAN DAL will send a HAL Exit
9184 IMPS request message to the lower RIVA sub-system if DAL
9185 is in state STARTED.
9186
9187 In state BUSY this request will be queued. Request won't
9188 be allowed in any other state.
9189
9190
9191
9192 @param wdiExitImpsRspCb: callback for passing back the response
9193 of the Exit IMPS operation received from the device
9194
9195 pUserData: user data will be passed back with the
9196 callback
9197
9198 @see WDI_Start
9199 @return Result of the function call
9200*/
9201WDI_Status
9202WDI_ExitImpsReq
9203(
Mahesh A Saptasagar329813b2014-12-15 12:16:51 +05309204 WDI_ExitImpsReqParamsType *pwdiExitImpsReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009205 WDI_ExitImpsRspCb wdiExitImpsRspCb,
9206 void* pUserData
9207);
9208
9209/**
9210 @brief WDI_EnterBmpsReq will be called when the upper MAC to
9211 request the device to get into BMPS power state. Upon
9212 the call of this API the WLAN DAL will pack and send a
9213 HAL Enter BMPS request message to the lower RIVA
9214 sub-system if DAL is in state STARTED.
9215
9216 In state BUSY this request will be queued. Request won't
9217 be allowed in any other state.
9218
9219 WDI_PostAssocReq must have been called.
9220
9221 @param pwdiEnterBmpsReqParams: the Enter BMPS parameters as
9222 specified by the Device Interface
9223
9224 wdiEnterBmpsRspCb: callback for passing back the
9225 response of the Enter BMPS operation received from the
9226 device
9227
9228 pUserData: user data will be passed back with the
9229 callback
9230
9231 @see WDI_PostAssocReq
9232 @return Result of the function call
9233*/
9234WDI_Status
9235WDI_EnterBmpsReq
9236(
9237 WDI_EnterBmpsReqParamsType *pwdiEnterBmpsReqParams,
9238 WDI_EnterBmpsRspCb wdiEnterBmpsRspCb,
9239 void* pUserData
9240);
9241
9242/**
9243 @brief WDI_ExitBmpsReq will be called when the upper MAC to
9244 request the device to get out of BMPS power state. Upon
9245 the call of this API the WLAN DAL will pack and send a
9246 HAL Exit BMPS request message to the lower RIVA
9247 sub-system if DAL is in state STARTED.
9248
9249 In state BUSY this request will be queued. Request won't
9250 be allowed in any other state.
9251
9252 WDI_PostAssocReq must have been called.
9253
9254 @param pwdiExitBmpsReqParams: the Exit BMPS parameters as
9255 specified by the Device Interface
9256
9257 wdiExitBmpsRspCb: callback for passing back the response
9258 of the Exit BMPS operation received from the device
9259
9260 pUserData: user data will be passed back with the
9261 callback
9262
9263 @see WDI_PostAssocReq
9264 @return Result of the function call
9265*/
9266WDI_Status
9267WDI_ExitBmpsReq
9268(
9269 WDI_ExitBmpsReqParamsType *pwdiExitBmpsReqParams,
9270 WDI_ExitBmpsRspCb wdiExitBmpsRspCb,
9271 void* pUserData
9272);
9273
9274/**
9275 @brief WDI_EnterUapsdReq will be called when the upper MAC to
9276 request the device to get into UAPSD power state. Upon
9277 the call of this API the WLAN DAL will pack and send a
9278 HAL Enter UAPSD request message to the lower RIVA
9279 sub-system if DAL is in state STARTED.
9280
9281 In state BUSY this request will be queued. Request won't
9282 be allowed in any other state.
9283
9284 WDI_PostAssocReq must have been called.
9285 WDI_SetUapsdAcParamsReq must have been called.
9286
9287 @param pwdiEnterUapsdReqParams: the Enter UAPSD parameters as
9288 specified by the Device Interface
9289
9290 wdiEnterUapsdRspCb: callback for passing back the
9291 response of the Enter UAPSD operation received from the
9292 device
9293
9294 pUserData: user data will be passed back with the
9295 callback
9296
9297 @see WDI_PostAssocReq, WDI_SetUapsdAcParamsReq
9298 @return Result of the function call
9299*/
9300WDI_Status
9301WDI_EnterUapsdReq
9302(
9303 WDI_EnterUapsdReqParamsType *pwdiEnterUapsdReqParams,
9304 WDI_EnterUapsdRspCb wdiEnterUapsdRspCb,
9305 void* pUserData
9306);
9307
9308/**
9309 @brief WDI_ExitUapsdReq will be called when the upper MAC to
9310 request the device to get out of UAPSD power state. Upon
9311 the call of this API the WLAN DAL will send a HAL Exit
9312 UAPSD request message to the lower RIVA sub-system if
9313 DAL is in state STARTED.
9314
9315 In state BUSY this request will be queued. Request won't
9316 be allowed in any other state.
9317
9318 WDI_PostAssocReq must have been called.
9319
9320 @param wdiExitUapsdRspCb: callback for passing back the
9321 response of the Exit UAPSD operation received from the
9322 device
9323
9324 pUserData: user data will be passed back with the
9325 callback
9326
9327 @see WDI_PostAssocReq
9328 @return Result of the function call
9329*/
9330WDI_Status
9331WDI_ExitUapsdReq
9332(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07009333 WDI_ExitUapsdReqParamsType *pwdiExitUapsdReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009334 WDI_ExitUapsdRspCb wdiExitUapsdRspCb,
9335 void* pUserData
9336);
9337
9338/**
9339 @brief WDI_UpdateUapsdParamsReq will be called when the upper
9340 MAC wants to set the UAPSD related configurations
9341 of an associated STA (while acting as an AP) to the WLAN
9342 Device. Upon the call of this API the WLAN DAL will pack
9343 and send a HAL Update UAPSD params request message to
9344 the lower RIVA sub-system if DAL is in state STARTED.
9345
9346 In state BUSY this request will be queued. Request won't
9347 be allowed in any other state.
9348
9349 WDI_ConfigBSSReq must have been called.
9350
9351 @param pwdiUpdateUapsdReqParams: the UAPSD parameters
9352 as specified by the Device Interface
9353
9354 wdiUpdateUapsdParamsCb: callback for passing back the
9355 response of the update UAPSD params operation received
9356 from the device
9357
9358 pUserData: user data will be passed back with the
9359 callback
9360
9361 @see WDI_ConfigBSSReq
9362 @return Result of the function call
9363*/
9364WDI_Status
9365WDI_UpdateUapsdParamsReq
9366(
9367 WDI_UpdateUapsdReqParamsType *pwdiUpdateUapsdReqParams,
9368 WDI_UpdateUapsdParamsCb wdiUpdateUapsdParamsCb,
9369 void* pUserData
9370);
9371
9372/**
9373 @brief WDI_SetUapsdAcParamsReq will be called when the upper
9374 MAC wants to set the UAPSD related configurations before
9375 requesting for enter UAPSD power state to the WLAN
9376 Device. Upon the call of this API the WLAN DAL will pack
9377 and send a HAL Set UAPSD params request message to
9378 the lower RIVA sub-system if DAL is in state STARTED.
9379
9380 In state BUSY this request will be queued. Request won't
9381 be allowed in any other state.
9382
9383 WDI_PostAssocReq must have been called.
9384
9385 @param pwdiUapsdInfo: the UAPSD parameters as specified by
9386 the Device Interface
9387
9388 wdiSetUapsdAcParamsCb: callback for passing back the
9389 response of the set UAPSD params operation received from
9390 the device
9391
9392 pUserData: user data will be passed back with the
9393 callback
9394
9395 @see WDI_PostAssocReq
9396 @return Result of the function call
9397*/
9398WDI_Status
9399WDI_SetUapsdAcParamsReq
9400(
9401 WDI_SetUapsdAcParamsReqParamsType* pwdiPowerSaveCfg,
9402 WDI_SetUapsdAcParamsCb wdiSetUapsdAcParamsCb,
9403 void* pUserData
9404);
Siddharth Bhal64246172015-02-27 01:04:37 +05309405/**
9406 @brief WDI_GetFrameLogReq will be called when the upper
9407 MAC wants to initialize frame logging. Upon the call of
9408 this API the WLAN DAL will pack and send a HAL
9409 Frame logging init request message to
9410 the lower RIVA sub-system.
9411
9412 In state BUSY this request will be queued. Request won't
9413 be allowed in any other state.
9414
9415
9416 @param pwdiGetFrameLogReqInfo: the Frame Logging params
9417 as specified by the Device Interface
9418
9419 wdiGetFrameLogReqCb: callback for passing back the
9420 response of the frame logging init operation received
9421 from the device
9422
9423 pUserData: user data will be passed back with the
9424 callback
9425
9426 @return Result of the function call
9427*/
9428WDI_Status
9429WDI_GetFrameLogReq
9430(
9431 WDI_GetFrameLogReqInfoType *pwdiGetFrameLogReqInfo,
9432 WDI_GetFrameLogRspCb wdiGetFrameLogReqCb,
9433 void* pUserData
9434);
Jeff Johnson295189b2012-06-20 16:38:30 -07009435
9436/**
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05309437 @brief WDI_MgmtLoggingInitReq will be called when the upper
9438 MAC wants to initialize frame logging. Upon the call of
9439 this API the WLAN DAL will pack and send a HAL
9440 Frame logging init request message to
9441 the lower RIVA sub-system.
9442
9443 In state BUSY this request will be queued. Request won't
9444 be allowed in any other state.
9445
9446
9447 @param pwdiMgmtLoggingInitReqParams: the Frame Logging params
9448 as specified by the Device Interface
9449
9450 wdiMgmtLoggingInitReqCb: callback for passing back the
9451 response of the frame logging init operation received
9452 from the device
9453
9454 pUserData: user data will be passed back with the
9455 callback
9456
9457 @return Result of the function call
9458*/
9459WDI_Status
9460WDI_MgmtLoggingInitReq
9461(
9462 WDI_MgmtLoggingInitReqInfoType *pwdiMgmtLoggingInitReqInfo,
9463 WDI_MgmtLoggingInitRspCb wdiMgmtLoggingInitReqCb,
9464 void* pUserData
9465);
9466
9467/**
Jeff Johnson295189b2012-06-20 16:38:30 -07009468 @brief WDI_ConfigureRxpFilterReq will be called when the upper
9469 MAC wants to set/reset the RXP filters for received pkts
9470 (MC, BC etc.). Upon the call of this API the WLAN DAL will pack
9471 and send a HAL configure RXP filter request message to
9472 the lower RIVA sub-system.
9473
9474 In state BUSY this request will be queued. Request won't
9475 be allowed in any other state.
9476
9477
9478 @param pwdiConfigureRxpFilterReqParams: the RXP
9479 filter as specified by the Device
9480 Interface
9481
9482 wdiConfigureRxpFilterCb: callback for passing back the
9483 response of the configure RXP filter operation received
9484 from the device
9485
9486 pUserData: user data will be passed back with the
9487 callback
9488
9489 @return Result of the function call
9490*/
9491WDI_Status
9492WDI_ConfigureRxpFilterReq
9493(
9494 WDI_ConfigureRxpFilterReqParamsType *pwdiConfigureRxpFilterReqParams,
9495 WDI_ConfigureRxpFilterCb wdiConfigureRxpFilterCb,
9496 void* pUserData
9497);
9498
9499/**
9500 @brief WDI_SetBeaconFilterReq will be called when the upper MAC
9501 wants to set the beacon filters while in power save.
9502 Upon the call of this API the WLAN DAL will pack and
9503 send a Beacon filter request message to the
9504 lower RIVA sub-system.
9505
9506 In state BUSY this request will be queued. Request won't
9507 be allowed in any other state.
9508
9509
9510 @param pwdiBeaconFilterReqParams: the beacon
9511 filter as specified by the Device
9512 Interface
9513
9514 wdiBeaconFilterCb: callback for passing back the
9515 response of the set beacon filter operation received
9516 from the device
9517
9518 pUserData: user data will be passed back with the
9519 callback
9520
9521 @return Result of the function call
9522*/
9523WDI_Status
9524WDI_SetBeaconFilterReq
9525(
9526 WDI_BeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
9527 WDI_SetBeaconFilterCb wdiBeaconFilterCb,
9528 void* pUserData
9529);
9530
9531/**
9532 @brief WDI_RemBeaconFilterReq will be called when the upper MAC
9533 wants to remove the beacon filter for perticular IE
9534 while in power save. Upon the call of this API the WLAN
9535 DAL will pack and send a remove Beacon filter request
9536 message to the lower RIVA sub-system.
9537
9538 In state BUSY this request will be queued. Request won't
9539 be allowed in any other state.
9540
9541
9542 @param pwdiBeaconFilterReqParams: the beacon
9543 filter as specified by the Device
9544 Interface
9545
9546 wdiBeaconFilterCb: callback for passing back the
9547 response of the remove beacon filter operation received
9548 from the device
9549
9550 pUserData: user data will be passed back with the
9551 callback
9552
9553 @return Result of the function call
9554*/
9555WDI_Status
9556WDI_RemBeaconFilterReq
9557(
9558 WDI_RemBeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
9559 WDI_RemBeaconFilterCb wdiBeaconFilterCb,
9560 void* pUserData
9561);
9562
9563/**
9564 @brief WDI_SetRSSIThresholdsReq will be called when the upper
9565 MAC wants to set the RSSI thresholds related
9566 configurations while in power save. Upon the call of
9567 this API the WLAN DAL will pack and send a HAL Set RSSI
9568 thresholds request message to the lower RIVA
9569 sub-system if DAL is in state STARTED.
9570
9571 In state BUSY this request will be queued. Request won't
9572 be allowed in any other state.
9573
9574 WDI_PostAssocReq must have been called.
9575
9576 @param pwdiUapsdInfo: the UAPSD parameters as specified by
9577 the Device Interface
9578
9579 wdiSetUapsdAcParamsCb: callback for passing back the
9580 response of the set UAPSD params operation received from
9581 the device
9582
9583 pUserData: user data will be passed back with the
9584 callback
9585
9586 @see WDI_PostAssocReq
9587 @return Result of the function call
9588*/
9589WDI_Status
9590WDI_SetRSSIThresholdsReq
9591(
9592 WDI_SetRSSIThresholdsReqParamsType* pwdiRSSIThresholdsParams,
9593 WDI_SetRSSIThresholdsCb wdiSetRSSIThresholdsCb,
9594 void* pUserData
9595);
9596
9597/**
9598 @brief WDI_HostOffloadReq will be called when the upper MAC
9599 wants to set the filter to minimize unnecessary host
9600 wakeup due to broadcast traffic while in power save.
9601 Upon the call of this API the WLAN DAL will pack and
9602 send a HAL host offload request message to the
9603 lower RIVA sub-system if DAL is in state STARTED.
9604
9605 In state BUSY this request will be queued. Request won't
9606 be allowed in any other state.
9607
9608 WDI_PostAssocReq must have been called.
9609
9610 @param pwdiHostOffloadParams: the host offload as specified
9611 by the Device Interface
9612
9613 wdiHostOffloadCb: callback for passing back the response
9614 of the host offload operation received from the
9615 device
9616
9617 pUserData: user data will be passed back with the
9618 callback
9619
9620 @see WDI_PostAssocReq
9621 @return Result of the function call
9622*/
9623WDI_Status
9624WDI_HostOffloadReq
9625(
9626 WDI_HostOffloadReqParamsType* pwdiHostOffloadParams,
9627 WDI_HostOffloadCb wdiHostOffloadCb,
9628 void* pUserData
9629);
9630
9631/**
9632 @brief WDI_KeepAliveReq will be called when the upper MAC
9633 wants to set the filter to send NULL or unsolicited ARP responses
9634 and minimize unnecessary host wakeups due to while in power save.
9635 Upon the call of this API the WLAN DAL will pack and
9636 send a HAL Keep Alive request message to the
9637 lower RIVA sub-system if DAL is in state STARTED.
9638
9639 In state BUSY this request will be queued. Request won't
9640 be allowed in any other state.
9641
9642 WDI_PostAssocReq must have been called.
9643
9644 @param pwdiKeepAliveParams: the Keep Alive as specified
9645 by the Device Interface
9646
9647 wdiKeepAliveCb: callback for passing back the response
9648 of the Keep Alive operation received from the
9649 device
9650
9651 pUserData: user data will be passed back with the
9652 callback
9653
9654 @see WDI_PostAssocReq
9655 @return Result of the function call
9656*/
9657WDI_Status
9658WDI_KeepAliveReq
9659(
9660 WDI_KeepAliveReqParamsType* pwdiKeepAliveParams,
9661 WDI_KeepAliveCb wdiKeepAliveCb,
9662 void* pUserData
9663);
9664
9665/**
9666 @brief WDI_WowlAddBcPtrnReq will be called when the upper MAC
9667 wants to set the Wowl Bcast ptrn to minimize unnecessary
9668 host wakeup due to broadcast traffic while in power
9669 save. Upon the call of this API the WLAN DAL will pack
9670 and send a HAL Wowl Bcast ptrn request message to the
9671 lower RIVA sub-system if DAL is in state STARTED.
9672
9673 In state BUSY this request will be queued. Request won't
9674 be allowed in any other state.
9675
9676 WDI_PostAssocReq must have been called.
9677
9678 @param pwdiWowlAddBcPtrnParams: the Wowl bcast ptrn as
9679 specified by the Device Interface
9680
9681 wdiWowlAddBcPtrnCb: callback for passing back the
9682 response of the add Wowl bcast ptrn operation received
9683 from the device
9684
9685 pUserData: user data will be passed back with the
9686 callback
9687
9688 @see WDI_PostAssocReq
9689 @return Result of the function call
9690*/
9691WDI_Status
9692WDI_WowlAddBcPtrnReq
9693(
9694 WDI_WowlAddBcPtrnReqParamsType* pwdiWowlAddBcPtrnParams,
9695 WDI_WowlAddBcPtrnCb wdiWowlAddBcPtrnCb,
9696 void* pUserData
9697);
9698
9699/**
9700 @brief WDI_WowlDelBcPtrnReq will be called when the upper MAC
9701 wants to clear the Wowl Bcast ptrn. Upon the call of
9702 this API the WLAN DAL will pack and send a HAL delete
9703 Wowl Bcast ptrn request message to the lower RIVA
9704 sub-system if DAL is in state STARTED.
9705
9706 In state BUSY this request will be queued. Request won't
9707 be allowed in any other state.
9708
9709 WDI_WowlAddBcPtrnReq must have been called.
9710
9711 @param pwdiWowlDelBcPtrnParams: the Wowl bcast ptrn as
9712 specified by the Device Interface
9713
9714 wdiWowlDelBcPtrnCb: callback for passing back the
9715 response of the del Wowl bcast ptrn operation received
9716 from the device
9717
9718 pUserData: user data will be passed back with the
9719 callback
9720
9721 @see WDI_WowlAddBcPtrnReq
9722 @return Result of the function call
9723*/
9724WDI_Status
9725WDI_WowlDelBcPtrnReq
9726(
9727 WDI_WowlDelBcPtrnReqParamsType* pwdiWowlDelBcPtrnParams,
9728 WDI_WowlDelBcPtrnCb wdiWowlDelBcPtrnCb,
9729 void* pUserData
9730);
9731
9732/**
9733 @brief WDI_WowlEnterReq will be called when the upper MAC
9734 wants to enter the Wowl state to minimize unnecessary
9735 host wakeup while in power save. Upon the call of this
9736 API the WLAN DAL will pack and send a HAL Wowl enter
9737 request message to the lower RIVA sub-system if DAL is
9738 in state STARTED.
9739
9740 In state BUSY this request will be queued. Request won't
9741 be allowed in any other state.
9742
9743 WDI_PostAssocReq must have been called.
9744
9745 @param pwdiWowlEnterReqParams: the Wowl enter info as
9746 specified by the Device Interface
9747
9748 wdiWowlEnterReqCb: callback for passing back the
9749 response of the enter Wowl operation received from the
9750 device
9751
9752 pUserData: user data will be passed back with the
9753 callback
9754
9755 @see WDI_PostAssocReq
9756 @return Result of the function call
9757*/
9758WDI_Status
9759WDI_WowlEnterReq
9760(
9761 WDI_WowlEnterReqParamsType* pwdiWowlEnterParams,
9762 WDI_WowlEnterReqCb wdiWowlEnterCb,
9763 void* pUserData
9764);
9765
9766/**
9767 @brief WDI_WowlExitReq will be called when the upper MAC
9768 wants to exit the Wowl state. Upon the call of this API
9769 the WLAN DAL will pack and send a HAL Wowl exit request
9770 message to the lower RIVA sub-system if DAL is in state
9771 STARTED.
9772
9773 In state BUSY this request will be queued. Request won't
9774 be allowed in any other state.
9775
9776 WDI_WowlEnterReq must have been called.
9777
9778 @param pwdiWowlExitReqParams: the Wowl exit info as
9779 specified by the Device Interface
9780
9781 wdiWowlExitReqCb: callback for passing back the response
9782 of the exit Wowl operation received from the device
9783
9784 pUserData: user data will be passed back with the
9785 callback
9786
9787 @see WDI_WowlEnterReq
9788 @return Result of the function call
9789*/
9790WDI_Status
9791WDI_WowlExitReq
9792(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07009793 WDI_WowlExitReqParamsType* pwdiWowlExitParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009794 WDI_WowlExitReqCb wdiWowlExitCb,
9795 void* pUserData
9796);
9797
9798/**
9799 @brief WDI_ConfigureAppsCpuWakeupStateReq will be called when
9800 the upper MAC wants to dynamically adjusts the listen
9801 interval based on the WLAN/MSM activity. Upon the call
9802 of this API the WLAN DAL will pack and send a HAL
9803 configure Apps Cpu Wakeup State request message to the
9804 lower RIVA sub-system.
9805
9806 In state BUSY this request will be queued. Request won't
9807 be allowed in any other state.
9808
9809
9810 @param pwdiConfigureAppsCpuWakeupStateReqParams: the
9811 Apps Cpu Wakeup State as specified by the
9812 Device Interface
9813
9814 wdiConfigureAppsCpuWakeupStateCb: callback for passing
9815 back the response of the configure Apps Cpu Wakeup State
9816 operation received from the device
9817
9818 pUserData: user data will be passed back with the
9819 callback
9820
9821 @return Result of the function call
9822*/
9823WDI_Status
9824WDI_ConfigureAppsCpuWakeupStateReq
9825(
9826 WDI_ConfigureAppsCpuWakeupStateReqParamsType *pwdiConfigureAppsCpuWakeupStateReqParams,
9827 WDI_ConfigureAppsCpuWakeupStateCb wdiConfigureAppsCpuWakeupStateCb,
9828 void* pUserData
9829);
9830/**
9831 @brief WDI_FlushAcReq will be called when the upper MAC wants
9832 to to perform a flush operation on a given AC. Upon the
9833 call of this API the WLAN DAL will pack and send a HAL
9834 Flush AC request message to the lower RIVA sub-system if
9835 DAL is in state STARTED.
9836
9837 In state BUSY this request will be queued. Request won't
9838 be allowed in any other state.
9839
9840
9841 @param pwdiFlushAcReqParams: the Flush AC parameters as
9842 specified by the Device Interface
9843
9844 wdiFlushAcRspCb: callback for passing back the response
9845 of the Flush AC operation received from the device
9846
9847 pUserData: user data will be passed back with the
9848 callback
9849
9850 @return Result of the function call
9851*/
9852WDI_Status
9853WDI_FlushAcReq
9854(
9855 WDI_FlushAcReqParamsType* pwdiFlushAcReqParams,
9856 WDI_FlushAcRspCb wdiFlushAcRspCb,
9857 void* pUserData
9858);
9859
9860/**
9861 @brief WDI_BtAmpEventReq will be called when the upper MAC
9862 wants to notify the lower mac on a BT AMP event. This is
9863 to inform BTC-SLM that some BT AMP event occurred. Upon
9864 the call of this API the WLAN DAL will pack and send a
9865 HAL BT AMP event request message to the lower RIVA
9866 sub-system if DAL is in state STARTED.
9867
9868 In state BUSY this request will be queued. Request won't
9869 be allowed in any other state.
9870
9871
9872 @param wdiBtAmpEventReqParams: the BT AMP event parameters as
9873 specified by the Device Interface
9874
9875 wdiBtAmpEventRspCb: callback for passing back the
9876 response of the BT AMP event operation received from the
9877 device
9878
9879 pUserData: user data will be passed back with the
9880 callback
9881
9882 @return Result of the function call
9883*/
9884WDI_Status
9885WDI_BtAmpEventReq
9886(
9887 WDI_BtAmpEventParamsType* pwdiBtAmpEventReqParams,
9888 WDI_BtAmpEventRspCb wdiBtAmpEventRspCb,
9889 void* pUserData
9890);
9891
Jeff Johnsone7245742012-09-05 17:12:55 -07009892#ifdef FEATURE_OEM_DATA_SUPPORT
9893/**
9894 @brief WDI_Start oem data Req will be called when the upper MAC
9895 wants to notify the lower mac on a oem data Req event.Upon
9896 the call of this API the WLAN DAL will pack and send a
9897 HAL OEM Data Req event request message to the lower RIVA
9898 sub-system if DAL is in state STARTED.
9899
9900 In state BUSY this request will be queued. Request won't
9901 be allowed in any other state.
9902
9903
9904 @param pWdiOemDataReqParams: the oem data req parameters as
9905 specified by the Device Interface
9906
9907 wdiStartOemDataRspCb: callback for passing back the
9908 response of the Oem Data Req received from the
9909 device
9910
9911 pUserData: user data will be passed back with the
9912 callback
9913
9914 @return Result of the function call
9915*/
9916WDI_Status
9917WDI_StartOemDataReq
9918(
9919 WDI_oemDataReqParamsType* pWdiOemDataReqParams,
9920 WDI_oemDataRspCb wdiOemDataRspCb,
9921 void* pUserData
9922);
9923#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07009924
9925/*========================================================================
9926
9927 CONTROL APIs
9928
9929==========================================================================*/
9930/**
9931 @brief WDI_SwitchChReq will be called when the upper MAC wants
9932 the WLAN HW to change the current channel of operation.
9933 Upon the call of this API the WLAN DAL will pack and
9934 send a HAL Start request message to the lower RIVA
9935 sub-system if DAL is in state STARTED.
9936
9937 In state BUSY this request will be queued. Request won't
9938 be allowed in any other state.
9939
9940 WDI_Start must have been called.
9941
9942 @param wdiSwitchChReqParams: the switch ch parameters as
9943 specified by the Device Interface
9944
9945 wdiSwitchChRspCb: callback for passing back the response
9946 of the switch ch operation received from the device
9947
9948 pUserData: user data will be passed back with the
9949 callback
9950
9951 @see WDI_Start
9952 @return Result of the function call
9953*/
9954WDI_Status
9955WDI_SwitchChReq
9956(
9957 WDI_SwitchChReqParamsType* pwdiSwitchChReqParams,
9958 WDI_SwitchChRspCb wdiSwitchChRspCb,
9959 void* pUserData
9960);
9961
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08009962/**
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08009963 @brief WDI_SwitchChReq_V1 is similar to WDI_SwitchChReq except
9964 it also send type source for the channel change.
9965 WDI_Start must have been called.
9966
9967 @param wdiSwitchChReqParams: the switch ch parameters as
9968 specified by the Device Interface
9969
9970 wdiSwitchChRspCb: callback for passing back the response
9971 of the switch ch operation received from the device
9972
9973 pUserData: user data will be passed back with the
9974 callback
9975
9976 @see WDI_Start
9977 @return Result of the function call
9978*/
9979
9980WDI_Status
9981WDI_SwitchChReq_V1
9982(
9983 WDI_SwitchChReqParamsType_V1* pwdiSwitchChReqParams,
9984 WDI_SwitchChRspCb_V1 wdiSwitchChRspCb,
9985 void* pUserData
9986);
9987
9988/**
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08009989 @brief WDI_UpdateChannelReq will be called when the upper MAC
9990 wants to update the channel list on change in country code.
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08009991 In state BUSY this request will be queued. Request won't
9992 be allowed in any other state.
9993
9994 WDI_UpdateChannelReq must have been called.
9995
9996 @param wdiUpdateChannelReqParams: the updated channel parameters
9997 as specified by the Device Interface
9998
9999 wdiUpdateChannelRspCb: callback for passing back the
10000 response of the update channel operation received from
10001 the device
10002
10003 pUserData: user data will be passed back with the
10004 callback
10005
10006 @return Result of the function call
10007*/
10008WDI_Status
10009WDI_UpdateChannelReq
10010(
10011 WDI_UpdateChReqParamsType *pwdiUpdateChannelReqParams,
10012 WDI_UpdateChannelRspCb wdiUpdateChannelRspCb,
10013 void* pUserData
10014);
Jeff Johnson295189b2012-06-20 16:38:30 -070010015
10016/**
10017 @brief WDI_ConfigSTAReq will be called when the upper MAC
10018 wishes to add or update a STA in HW. Upon the call of
10019 this API the WLAN DAL will pack and send a HAL Start
10020 message request message to the lower RIVA sub-system if
10021 DAL is in state STARTED.
10022
10023 In state BUSY this request will be queued. Request won't
10024 be allowed in any other state.
10025
10026 WDI_Start must have been called.
10027
10028 @param wdiConfigSTAReqParams: the config STA parameters as
10029 specified by the Device Interface
10030
10031 wdiConfigSTARspCb: callback for passing back the
10032 response of the config STA operation received from the
10033 device
10034
10035 pUserData: user data will be passed back with the
10036 callback
10037
10038 @see WDI_Start
10039 @return Result of the function call
10040*/
10041WDI_Status
10042WDI_ConfigSTAReq
10043(
10044 WDI_ConfigSTAReqParamsType* pwdiConfigSTAReqParams,
10045 WDI_ConfigSTARspCb wdiConfigSTARspCb,
10046 void* pUserData
10047);
10048
10049/**
10050 @brief WDI_SetLinkStateReq will be called when the upper MAC
10051 wants to change the state of an ongoing link. Upon the
10052 call of this API the WLAN DAL will pack and send a HAL
10053 Start message request message to the lower RIVA
10054 sub-system if DAL is in state STARTED.
10055
10056 In state BUSY this request will be queued. Request won't
10057 be allowed in any other state.
10058
10059 WDI_JoinReq must have been called.
10060
10061 @param wdiSetLinkStateReqParams: the set link state parameters
10062 as specified by the Device Interface
10063
10064 wdiSetLinkStateRspCb: callback for passing back the
10065 response of the set link state operation received from
10066 the device
10067
10068 pUserData: user data will be passed back with the
10069 callback
10070
10071 @see WDI_JoinStartReq
10072 @return Result of the function call
10073*/
10074WDI_Status
10075WDI_SetLinkStateReq
10076(
10077 WDI_SetLinkReqParamsType* pwdiSetLinkStateReqParams,
10078 WDI_SetLinkStateRspCb wdiSetLinkStateRspCb,
10079 void* pUserData
10080);
10081
10082
10083/**
10084 @brief WDI_GetStatsReq will be called when the upper MAC wants
10085 to get statistics (MIB counters) from the device. Upon
10086 the call of this API the WLAN DAL will pack and send a
10087 HAL Start request message to the lower RIVA sub-system
10088 if DAL is in state STARTED.
10089
10090 In state BUSY this request will be queued. Request won't
10091 be allowed in any other state.
10092
10093 WDI_Start must have been called.
10094
10095 @param wdiGetStatsReqParams: the stats parameters to get as
10096 specified by the Device Interface
10097
10098 wdiGetStatsRspCb: callback for passing back the response
10099 of the get stats operation received from the device
10100
10101 pUserData: user data will be passed back with the
10102 callback
10103
10104 @see WDI_Start
10105 @return Result of the function call
10106*/
10107WDI_Status
10108WDI_GetStatsReq
10109(
10110 WDI_GetStatsReqParamsType* pwdiGetStatsReqParams,
10111 WDI_GetStatsRspCb wdiGetStatsRspCb,
10112 void* pUserData
10113);
10114
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -080010115#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -080010116/**
10117 @brief WDI_GetRoamRssiReq will be called when the upper MAC wants
10118 to get roam rssi from the device. Upon
10119 the call of this API the WLAN DAL will pack and send a
10120 HAL Start request message to the lower RIVA sub-system
10121 if DAL is in state STARTED.
10122
10123 In state BUSY this request will be queued. Request won't
10124 be allowed in any other state.
10125
10126 WDI_Start must have been called.
10127
10128 @param wdiGetRoamRssiReqParams: the stats parameters to get as
10129 specified by the Device Interface
10130
10131 wdiGetRoamRssispCb: callback for passing back the response
10132 of the get stats operation received from the device
10133
10134 pUserData: user data will be passed back with the
10135 callback
10136
10137 @see WDI_Start
10138 @return Result of the function call
10139*/
10140WDI_Status
10141WDI_GetRoamRssiReq
10142(
10143 WDI_GetRoamRssiReqParamsType* pwdiGetRoamRssiReqParams,
10144 WDI_GetRoamRssiRspCb wdiGetRoamRssiRspCb,
10145 void* pUserData
10146);
10147#endif
Jeff Johnson295189b2012-06-20 16:38:30 -070010148
10149/**
10150 @brief WDI_UpdateCfgReq will be called when the upper MAC when
10151 it wishes to change the configuration of the WLAN
10152 Device. Upon the call of this API the WLAN DAL will pack
10153 and send a HAL Update CFG request message to the lower
10154 RIVA sub-system if DAL is in state STARTED.
10155
10156 In state BUSY this request will be queued. Request won't
10157 be allowed in any other state.
10158
10159 WDI_Start must have been called.
10160
10161 @param wdiUpdateCfgReqParams: the update cfg parameters as
10162 specified by the Device Interface
10163
10164 wdiUpdateCfgsRspCb: callback for passing back the
10165 response of the update cfg operation received from the
10166 device
10167
10168 pUserData: user data will be passed back with the
10169 callback
10170
10171 @see WDI_Start
10172 @return Result of the function call
10173*/
10174WDI_Status
10175WDI_UpdateCfgReq
10176(
10177 WDI_UpdateCfgReqParamsType* pwdiUpdateCfgReqParams,
10178 WDI_UpdateCfgRspCb wdiUpdateCfgsRspCb,
10179 void* pUserData
10180);
10181
10182/**
10183 @brief WDI_NvDownloadReq will be called by the UMAC to dowload the NV blob
10184 to the NV memory.
10185
10186 @param wdiNvDownloadReqParams: the NV Download parameters as specified by
10187 the Device Interface
10188
10189 wdiNvDownloadRspCb: callback for passing back the response of
10190 the NV Download operation received from the device
10191
10192 pUserData: user data will be passed back with the
10193 callback
10194
10195 @see WDI_PostAssocReq
10196 @return Result of the function call
10197*/
10198WDI_Status
10199WDI_NvDownloadReq
10200(
10201 WDI_NvDownloadReqParamsType* pwdiNvDownloadReqParams,
10202 WDI_NvDownloadRspCb wdiNvDownloadRspCb,
10203 void* pUserData
10204);
10205/**
10206 @brief WDI_AddBAReq will be called when the upper MAC has setup
10207 successfully a BA session and needs to notify the HW for
10208 the appropriate settings to take place. Upon the call of
10209 this API the WLAN DAL will pack and send a HAL Add BA
10210 request message to the lower RIVA sub-system if DAL is
10211 in state STARTED.
10212
10213 In state BUSY this request will be queued. Request won't
10214 be allowed in any other state.
10215
10216 WDI_PostAssocReq must have been called.
10217
10218 @param wdiAddBAReqParams: the add BA parameters as specified by
10219 the Device Interface
10220
10221 wdiAddBARspCb: callback for passing back the response of
10222 the add BA operation received from the device
10223
10224 pUserData: user data will be passed back with the
10225 callback
10226
10227 @see WDI_PostAssocReq
10228 @return Result of the function call
10229*/
10230WDI_Status
10231WDI_AddBAReq
10232(
10233 WDI_AddBAReqParamsType* pwdiAddBAReqParams,
10234 WDI_AddBARspCb wdiAddBARspCb,
10235 void* pUserData
10236);
10237
10238/**
10239 @brief WDI_TriggerBAReq will be called when the upper MAC has setup
10240 successfully a BA session and needs to notify the HW for
10241 the appropriate settings to take place. Upon the call of
10242 this API the WLAN DAL will pack and send a HAL Add BA
10243 request message to the lower RIVA sub-system if DAL is
10244 in state STARTED.
10245
10246 In state BUSY this request will be queued. Request won't
10247 be allowed in any other state.
10248
10249 WDI_PostAssocReq must have been called.
10250
10251 @param wdiAddBAReqParams: the add BA parameters as specified by
10252 the Device Interface
10253
10254 wdiAddBARspCb: callback for passing back the response of
10255 the add BA operation received from the device
10256
10257 pUserData: user data will be passed back with the
10258 callback
10259
10260 @see WDI_PostAssocReq
10261 @return Result of the function call
10262*/
10263WDI_Status
10264WDI_TriggerBAReq
10265(
10266 WDI_TriggerBAReqParamsType* pwdiTriggerBAReqParams,
10267 WDI_TriggerBARspCb wdiTriggerBARspCb,
10268 void* pUserData
10269);
10270
10271
10272/**
10273 @brief WDI_IsHwFrameTxTranslationCapable checks to see if HW
10274 frame xtl is enabled for a particular STA.
10275
10276 WDI_PostAssocReq must have been called.
10277
10278 @param uSTAIdx: STA index
10279
10280 @see WDI_PostAssocReq
10281 @return Result of the function call
10282*/
10283wpt_boolean WDI_IsHwFrameTxTranslationCapable
10284(
10285 wpt_uint8 uSTAIdx
10286);
10287
Katya Nigam6201c3e2014-05-27 17:51:42 +053010288
10289/**
10290 @brief WDI_IsSelfSTA - check if staid is self sta index
10291
10292 @param pWDICtx: pointer to the WLAN DAL context
10293 ucSTAIdx: station index
10294
10295 @return Result of the function call
10296*/
10297
10298wpt_boolean
10299WDI_IsSelfSTA
10300(
10301 void* pWDICtx,
10302 wpt_uint8 ucSTAIdx
10303);
10304
10305
Jeff Johnson295189b2012-06-20 16:38:30 -070010306#ifdef WLAN_FEATURE_VOWIFI_11R
10307/**
10308 @brief WDI_AggrAddTSReq will be called when the upper MAC to inform
10309 the device of a successful add TSpec negotiation for 11r. HW
10310 needs to receive the TSpec Info from the UMAC in order
10311 to configure properly the QoS data traffic. Upon the
10312 call of this API the WLAN DAL will pack and send a HAL
10313 Aggregated Add TS request message to the lower RIVA sub-system if
10314 DAL is in state STARTED.
10315
10316 In state BUSY this request will be queued. Request won't
10317 be allowed in any other state.
10318
10319 WDI_PostAssocReq must have been called.
10320
10321 @param wdiAggrAddTsReqParams: the add TS parameters as specified by
10322 the Device Interface
10323
10324 wdiAggrAddTsRspCb: callback for passing back the response of
10325 the add TS operation received from the device
10326
10327 pUserData: user data will be passed back with the
10328 callback
10329
10330 @see WDI_PostAssocReq
10331 @return Result of the function call
10332*/
10333WDI_Status
10334WDI_AggrAddTSReq
10335(
10336 WDI_AggrAddTSReqParamsType* pwdiAddTsReqParams,
10337 WDI_AggrAddTsRspCb wdiAggrAddTsRspCb,
10338 void* pUserData
10339);
10340#endif /* WLAN_FEATURE_VOWIFI_11R */
10341/**
10342 @brief WDI_STATableInit - Initializes the STA tables.
10343 Allocates the necesary memory.
10344
10345
10346 @param pWDICtx: pointer to the WLAN DAL context
10347
10348 @see
10349 @return Result of the function call
10350*/
10351
10352WDI_Status WDI_StubRunTest
10353(
10354 wpt_uint8 ucTestNo
10355);
10356
Jeff Johnson295189b2012-06-20 16:38:30 -070010357/**
10358 @brief WDI_FTMCommandReq -
10359 Route FTMRequest Command to HAL
10360
10361 @param ftmCommandReq: FTM request command body
10362 @param ftmCommandRspCb: Response CB
10363 @param pUserData: User data will be included with CB
10364
10365 @return Result of the function call
10366*/
10367WDI_Status WDI_FTMCommandReq
10368(
10369 WDI_FTMCommandReqType *ftmCommandReq,
10370 WDI_FTMCommandRspCb ftmCommandRspCb,
10371 void *pUserData
10372);
Jeff Johnson295189b2012-06-20 16:38:30 -070010373
10374/**
10375 @brief WDI_HostResumeReq will be called
10376
10377 In state BUSY this request will be queued. Request won't
10378 be allowed in any other state.
10379
10380
10381 @param pwdiResumeReqParams: as specified by
10382 the Device Interface
10383
10384 wdiResumeReqRspCb: callback for passing back the response of
10385 the Resume Req received from the device
10386
10387 pUserData: user data will be passed back with the
10388 callback
10389
10390 @see WDI_PostAssocReq
10391 @return Result of the function call
10392*/
10393WDI_Status
10394WDI_HostResumeReq
10395(
10396 WDI_ResumeParamsType* pwdiResumeReqParams,
10397 WDI_HostResumeEventRspCb wdiResumeReqRspCb,
10398 void* pUserData
10399);
10400
10401/**
10402 @brief WDI_GetAvailableResCount - Function to get the available resource
10403 for data and managemnt frames.
10404
10405 @param pContext: pointer to the WDI context
10406 @param wdiResPool: type of resource pool requesting
10407 @see
10408 @return Result of the function call
10409*/
10410
10411wpt_uint32 WDI_GetAvailableResCount
10412(
10413 void *pContext,
10414 WDI_ResPoolType wdiResPool
10415);
10416
10417/**
10418 @brief WDI_SetAddSTASelfReq will be called when the
10419 UMAC wanted to add self STA while opening any new session
10420 In state BUSY this request will be queued. Request won't
10421 be allowed in any other state.
10422
10423
10424 @param pwdiAddSTASelfParams: the add self sta parameters as
10425 specified by the Device Interface
10426
10427 pUserData: user data will be passed back with the
10428 callback
10429
10430 @see
10431 @return Result of the function call
10432*/
10433WDI_Status
10434WDI_AddSTASelfReq
10435(
10436 WDI_AddSTASelfReqParamsType* pwdiAddSTASelfReqParams,
10437 WDI_AddSTASelfParamsRspCb wdiAddSTASelfReqParamsRspCb,
10438 void* pUserData
10439);
10440
10441
10442/**
10443 @brief WDI_DelSTASelfReq will be called .
10444
10445 @param WDI_DelSTASelfReqParamsType
10446
10447 WDI_DelSTASelfRspCb: callback for passing back the
10448 response of the del sta self operation received from the
10449 device
10450
10451 pUserData: user data will be passed back with the
10452 callback
10453
10454 @see WDI_PostAssocReq
10455 @return Result of the function call
10456*/
10457WDI_Status
10458WDI_DelSTASelfReq
10459(
10460 WDI_DelSTASelfReqParamsType* pwdiDelStaSelfParams,
10461 WDI_DelSTASelfRspCb wdiDelStaSelfRspCb,
10462 void* pUserData
10463);
10464
10465/**
10466 @brief WDI_HostSuspendInd
10467
10468 Suspend Indication from the upper layer will be sent
10469 down to HAL
10470
10471 @param WDI_SuspendParamsType
10472
10473 @see
10474
10475 @return Status of the request
10476*/
10477WDI_Status
10478WDI_HostSuspendInd
10479(
10480 WDI_SuspendParamsType* pwdiSuspendIndParams
10481);
10482
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -080010483/**
10484 @brief WDI_TrafficStatsInd
10485
10486 Traffic Stats from the upper layer will be sent
10487 down to HAL
10488
10489 @param WDI_TrafficStatsIndType
10490
10491 @see
10492
10493 @return Status of the request
10494*/
10495WDI_Status
10496WDI_TrafficStatsInd
10497(
10498 WDI_TrafficStatsIndType *pWdiTrafficStatsIndParams
10499);
10500
Chet Lanctot186b5732013-03-18 10:26:30 -070010501#ifdef WLAN_FEATURE_11W
10502/**
10503 @brief WDI_ExcludeUnencryptedInd
10504 Register with HAL to receive/drop unencrypted frames
10505
10506 @param WDI_ExcludeUnencryptIndType
10507
10508 @see
10509
10510 @return Status of the request
10511*/
10512WDI_Status
10513WDI_ExcludeUnencryptedInd
10514(
10515 WDI_ExcludeUnencryptIndType *pWdiExcUnencParams
10516);
10517#endif
10518
Yue Mab9c86f42013-08-14 15:59:08 -070010519/**
10520 @brief WDI_AddPeriodicTxPtrnInd
10521
10522 @param WDI_AddPeriodicTxPtrnParamsType
10523
10524 @see
10525
10526 @return Status of the request
10527*/
10528WDI_Status
10529WDI_AddPeriodicTxPtrnInd
10530(
10531 WDI_AddPeriodicTxPtrnParamsType *addPeriodicTxPtrnParams
10532);
10533
10534/**
10535 @brief WDI_DelPeriodicTxPtrnInd
10536
10537 @param WDI_DelPeriodicTxPtrnParamsType
10538
10539 @see
10540
10541 @return Status of the request
10542*/
10543WDI_Status
10544WDI_DelPeriodicTxPtrnInd
10545(
10546 WDI_DelPeriodicTxPtrnParamsType *delPeriodicTxPtrnParams
10547);
10548
Jeff Johnson295189b2012-06-20 16:38:30 -070010549#ifdef FEATURE_WLAN_SCAN_PNO
10550/**
10551 @brief WDI_SetPreferredNetworkList
10552
10553 @param pwdiPNOScanReqParams: the Set PNO as specified
10554 by the Device Interface
10555
10556 wdiPNOScanCb: callback for passing back the response
10557 of the Set PNO operation received from the
10558 device
10559
10560 pUserData: user data will be passed back with the
10561 callback
10562
10563 @see WDI_PostAssocReq
10564 @return Result of the function call
10565*/
10566WDI_Status
10567WDI_SetPreferredNetworkReq
10568(
10569 WDI_PNOScanReqParamsType* pwdiPNOScanReqParams,
10570 WDI_PNOScanCb wdiPNOScanCb,
10571 void* pUserData
10572);
10573
10574/**
10575 @brief WDI_SetRssiFilterReq
10576
10577 @param pwdiRssiFilterReqParams: the Set RSSI Filter as
10578 specified by the Device Interface
10579
10580 wdiRssiFilterCb: callback for passing back the response
10581 of the Set RSSI Filter operation received from the
10582 device
10583
10584 pUserData: user data will be passed back with the
10585 callback
10586
10587 @see WDI_PostAssocReq
10588 @return Result of the function call
10589*/
10590WDI_Status
10591WDI_SetRssiFilterReq
10592(
10593 WDI_SetRssiFilterReqParamsType* pwdiRssiFilterReqParams,
10594 WDI_RssiFilterCb wdiRssiFilterCb,
10595 void* pUserData
10596);
10597
10598/**
10599 @brief WDI_UpdateScanParams
10600
10601 @param pwdiUpdateScanParamsInfoType: the Update Scan Params as specified
10602 by the Device Interface
10603
10604 wdiUpdateScanParamsCb: callback for passing back the response
10605 of the Set PNO operation received from the
10606 device
10607
10608 pUserData: user data will be passed back with the
10609 callback
10610
10611 @see WDI_PostAssocReq
10612 @return Result of the function call
10613*/
10614WDI_Status
10615WDI_UpdateScanParamsReq
10616(
10617 WDI_UpdateScanParamsInfoType* pwdiUpdateScanParamsInfoType,
10618 WDI_UpdateScanParamsCb wdiUpdateScanParamsCb,
10619 void* pUserData
10620);
10621#endif // FEATURE_WLAN_SCAN_PNO
10622
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010623#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
10624/**
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010625 @brief WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010626
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010627 @param pwdiRoamScanOffloadReqParams: Start Roam Candidate Lookup Req as specified
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010628 by the Device Interface
10629
10630 wdiRoamOffloadScanCb: callback for passing back the response
10631 of the Start Roam Candidate Lookup operation received from the
10632 device
10633
10634 pUserData: user data will be passed back with the
10635 callback
10636
10637 @return Result of the function call
10638*/
10639WDI_Status
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010640WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010641(
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010642 WDI_RoamScanOffloadReqParamsType *pwdiRoamScanOffloadReqParams,
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010643 WDI_RoamOffloadScanCb wdiRoamOffloadScancb,
10644 void* pUserData
10645);
10646#endif
10647
Jeff Johnson295189b2012-06-20 16:38:30 -070010648/**
10649 @brief WDI_SetTxPerTrackingReq will be called when the upper MAC
10650 wants to set the Tx Per Tracking configurations.
10651 Upon the call of this API the WLAN DAL will pack
10652 and send a HAL Set Tx Per Tracking request message to the
10653 lower RIVA sub-system if DAL is in state STARTED.
10654
10655 In state BUSY this request will be queued. Request won't
10656 be allowed in any other state.
10657
10658 @param wdiSetTxPerTrackingConf: the Set Tx PER Tracking configurations as
10659 specified by the Device Interface
10660
10661 wdiSetTxPerTrackingCb: callback for passing back the
10662 response of the set Tx PER Tracking configurations operation received
10663 from the device
10664
10665 pUserData: user data will be passed back with the
10666 callback
10667
10668 @return Result of the function call
10669*/
10670WDI_Status
10671WDI_SetTxPerTrackingReq
10672(
10673 WDI_SetTxPerTrackingReqParamsType* pwdiSetTxPerTrackingReqParams,
10674 WDI_SetTxPerTrackingRspCb pwdiSetTxPerTrackingRspCb,
10675 void* pUserData
10676);
10677
10678/**
10679 @brief WDI_SetTmLevelReq
10680 If HW Thermal condition changed, driver should react based on new
10681 HW thermal condition.
10682
10683 @param pwdiSetTmLevelReq: New thermal condition information
10684
10685 pwdiSetTmLevelRspCb: callback
10686
10687 usrData: user data will be passed back with the
10688 callback
10689
10690 @return Result of the function call
10691*/
10692WDI_Status
10693WDI_SetTmLevelReq
10694(
10695 WDI_SetTmLevelReqType *pwdiSetTmLevelReq,
10696 WDI_SetTmLevelCb pwdiSetTmLevelRspCb,
10697 void *usrData
10698);
10699
10700#ifdef WLAN_FEATURE_PACKET_FILTERING
10701/**
10702 @brief WDI_8023MulticastListReq
10703
10704 @param pwdiRcvFltPktSetMcListReqInfo: the Set 8023 Multicast
10705 List as specified by the Device Interface
10706
10707 wdi8023MulticastListCallback: callback for passing back
10708 the response of the Set 8023 Multicast List operation
10709 received from the device
10710
10711 pUserData: user data will be passed back with the
10712 callback
10713
10714 @see WDI_PostAssocReq
10715 @return Result of the function call
10716*/
10717WDI_Status
10718WDI_8023MulticastListReq
10719(
10720 WDI_RcvFltPktSetMcListReqParamsType* pwdiRcvFltPktSetMcListReqInfo,
10721 WDI_8023MulticastListCb wdi8023MulticastListCallback,
10722 void* pUserData
10723);
10724
10725/**
10726 @brief WDI_ReceiveFilterSetFilterReq
10727
10728 @param pwdiSetRcvPktFilterReqInfo: the Set Receive Filter as
10729 specified by the Device Interface
10730
10731 wdiReceiveFilterSetFilterReqCallback: callback for
10732 passing back the response of the Set Receive Filter
10733 operation received from the device
10734
10735 pUserData: user data will be passed back with the
10736 callback
10737
10738 @see WDI_PostAssocReq
10739 @return Result of the function call
10740*/
10741WDI_Status
10742WDI_ReceiveFilterSetFilterReq
10743(
10744 WDI_SetRcvPktFilterReqParamsType* pwdiSetRcvPktFilterReqInfo,
10745 WDI_ReceiveFilterSetFilterCb wdiReceiveFilterSetFilterReqCallback,
10746 void* pUserData
10747);
10748
10749/**
10750 @brief WDI_PCFilterMatchCountReq
10751
10752 @param pwdiRcvFltPktMatchCntReqInfo: get D0 PC Filter Match
10753 Count
10754
10755 wdiPCFilterMatchCountCallback: callback for passing back
10756 the response of the D0 PC Filter Match Count operation
10757 received from the device
10758
10759 pUserData: user data will be passed back with the
10760 callback
10761
10762 @see WDI_PostAssocReq
10763 @return Result of the function call
10764*/
10765WDI_Status
10766WDI_FilterMatchCountReq
10767(
10768 WDI_RcvFltPktMatchCntReqParamsType* pwdiRcvFltPktMatchCntReqInfo,
10769 WDI_FilterMatchCountCb wdiFilterMatchCountCallback,
10770 void* pUserData
10771);
10772
10773/**
10774 @brief WDI_ReceiveFilterClearFilterReq
10775
10776 @param pwdiRcvFltPktClearReqInfo: the Clear Filter as
10777 specified by the Device Interface
10778
10779 wdiReceiveFilterClearFilterCallback: callback for
10780 passing back the response of the Clear Filter
10781 operation received from the device
10782
10783 pUserData: user data will be passed back with the
10784 callback
10785
10786 @see WDI_PostAssocReq
10787 @return Result of the function call
10788*/
10789WDI_Status
10790WDI_ReceiveFilterClearFilterReq
10791(
10792 WDI_RcvFltPktClearReqParamsType* pwdiRcvFltPktClearReqInfo,
10793 WDI_ReceiveFilterClearFilterCb wdiReceiveFilterClearFilterCallback,
10794 void* pUserData
10795);
10796#endif // WLAN_FEATURE_PACKET_FILTERING
10797
10798/**
10799 @brief WDI_HALDumpCmdReq
10800 Post HAL DUMP Command Event
10801
10802 @param halDumpCmdReqParams: Hal Dump Command Body
10803 @param halDumpCmdRspCb: callback for passing back the
10804 response
10805 @param pUserData: Client Data
10806
10807 @see
10808 @return Result of the function call
10809*/
10810WDI_Status WDI_HALDumpCmdReq(
10811 WDI_HALDumpCmdReqParamsType *halDumpCmdReqParams,
10812 WDI_HALDumpCmdRspCb halDumpCmdRspCb,
10813 void *pUserData
10814);
10815
10816
10817/**
10818 @brief WDI_SetPowerParamsReq
10819
10820 @param pwdiPowerParamsReqParams: the Set Power Params as
10821 specified by the Device Interface
10822
10823 wdiPowerParamsCb: callback for passing back the response
10824 of the Set Power Params operation received from the
10825 device
10826
10827 pUserData: user data will be passed back with the
10828 callback
10829
10830 @return Result of the function call
10831*/
10832WDI_Status
10833WDI_SetPowerParamsReq
10834(
10835 WDI_SetPowerParamsReqParamsType* pwdiPowerParamsReqParams,
10836 WDI_SetPowerParamsCb wdiPowerParamsCb,
10837 void* pUserData
10838);
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +053010839/**
10840 @brief WDI_dhcpStartInd
10841 Forward the DHCP Start event
10842
10843 @param
10844
10845 wdiDHCPInd: device mode and MAC address is passed
10846
10847 @see
10848 @return Result of the function call
10849*/
10850
10851WDI_Status
10852WDI_dhcpStartInd
10853(
10854 WDI_DHCPInd *wdiDHCPInd
10855);
10856/**
10857 @brief WDI_dhcpStopReq
10858 Forward the DHCP Stop event
10859
10860 @param
10861
10862 wdiDHCPInd: device mode and MAC address is passed
10863
10864 @see
10865 @return Result of the function call
10866*/
10867
10868WDI_Status
10869WDI_dhcpStopInd
10870(
10871 WDI_DHCPInd *wdiDHCPInd
10872);
Jeff Johnson295189b2012-06-20 16:38:30 -070010873
Chittajit Mitraf5413a42013-10-18 14:20:08 -070010874/**
10875 @brief WDI_RateUpdateInd will be called when the upper MAC
10876 requests the device to update rates.
10877
10878 In state BUSY this request will be queued. Request won't
10879 be allowed in any other state.
10880
10881
10882 @param wdiRateUpdateIndParams
10883
10884
10885 @see WDI_Start
10886 @return Result of the function call
10887*/
10888WDI_Status
10889WDI_RateUpdateInd
10890(
10891 WDI_RateUpdateIndParams *wdiRateUpdateIndParams
10892);
10893
Jeff Johnson295189b2012-06-20 16:38:30 -070010894#ifdef WLAN_FEATURE_GTK_OFFLOAD
10895/**
10896 @brief WDI_GTKOffloadReq will be called when the upper MAC
10897 wants to set GTK Rekey Counter while in power save. Upon
10898 the call of this API the WLAN DAL will pack and send a
10899 HAL GTK offload request message to the lower RIVA
10900 sub-system if DAL is in state STARTED.
10901
10902 In state BUSY this request will be queued. Request won't
10903 be allowed in any other state.
10904
10905 WDI_PostAssocReq must have been called.
10906
10907 @param pwdiGtkOffloadParams: the GTK offload as specified
10908 by the Device Interface
10909
10910 wdiGtkOffloadCb: callback for passing back the response
10911 of the GTK offload operation received from the device
10912
10913 pUserData: user data will be passed back with the
10914 callback
10915
10916 @see WDI_PostAssocReq
10917 @return Result of the function call
10918*/
10919WDI_Status
10920WDI_GTKOffloadReq
10921(
10922 WDI_GtkOffloadReqMsg* pwdiGtkOffloadReqMsg,
10923 WDI_GtkOffloadCb wdiGtkOffloadCb,
10924 void* pUserData
10925);
10926
10927/**
10928 @brief WDI_GTKOffloadGetInfoReq will be called when the upper
10929 MAC wants to get GTK Rekey Counter while in power save.
10930 Upon the call of this API the WLAN DAL will pack and
10931 send a HAL GTK offload request message to the lower RIVA
10932 sub-system if DAL is in state STARTED.
10933
10934 In state BUSY this request will be queued. Request won't
10935 be allowed in any other state.
10936
10937 WDI_PostAssocReq must have been called.
10938
10939 @param pwdiGtkOffloadGetInfoReqMsg: the GTK Offload
10940 Information Message as specified by the
10941 Device Interface
10942
10943 wdiGtkOffloadGetInfoCb: callback for passing back the
10944 response of the GTK offload operation received from the
10945 device
10946
10947 pUserData: user data will be passed back with the
10948 callback
10949
10950 @see WDI_PostAssocReq
10951 @return Result of the function call
10952*/
10953WDI_Status
10954WDI_GTKOffloadGetInfoReq
10955(
10956 WDI_GtkOffloadGetInfoReqMsg* pwdiGtkOffloadGetInfoReqMsg,
10957 WDI_GtkOffloadGetInfoCb wdiGtkOffloadGetInfoCb,
10958 void* pUserData
10959);
10960#endif // WLAN_FEATURE_GTK_OFFLOAD
10961
10962/**
10963 @brief WDI_featureCapsExchangeReq
10964 Post feature capability bitmap exchange event.
10965 Host will send its own capability to FW in this req and
10966 expect FW to send its capability back as a bitmap in Response
10967
10968 @param
10969
10970 wdiFeatCapsExcRspCb: callback called on getting the response.
10971 It is kept to mantain similarity between WDI reqs and if needed, can
10972 be used in future. Currently, It is set to NULL
10973
10974 pUserData: user data will be passed back with the
10975 callback
10976
10977 @see
10978 @return Result of the function call
10979*/
10980WDI_Status
10981WDI_featureCapsExchangeReq
10982(
10983 WDI_featureCapsExchangeCb wdiFeatureCapsExchangeCb,
10984 void* pUserData
10985);
10986
10987/**
Yathish9f22e662012-12-10 14:21:35 -080010988 @brief Disable Active mode offload in Host
10989
10990 @param void
10991 @see
10992 @return void
10993*/
10994void
10995WDI_disableCapablityFeature(wpt_uint8 feature_index);
10996
10997
10998/**
Jeff Johnson295189b2012-06-20 16:38:30 -070010999 @brief WDI_getHostWlanFeatCaps
11000 WDI API that returns whether the feature passed to it as enum value in
11001 "placeHolderInCapBitmap" is supported by Host or not. It uses WDI global
11002 variable storing host capability bitmap to find this. This can be used by
11003 other moduels to decide certain things like call different APIs based on
11004 whether a particular feature is supported.
11005
11006 @param
11007
11008 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap in wlan_hal_msg.h.
11009
11010 @see
11011 @return
11012 0 - if the feature is NOT supported in host
11013 any non-zero value - if the feature is SUPPORTED in host.
11014*/
11015wpt_uint8 WDI_getHostWlanFeatCaps(wpt_uint8 feat_enum_value);
11016
11017/**
11018 @brief WDI_getFwWlanFeatCaps
11019 WDI API that returns whether the feature passed to it as enum value in
11020 "placeHolderInCapBitmap" is supported by FW or not. It uses WDI global
11021 variable storing host capability bitmap to find this. This can be used by
11022 other moduels to decide certain things like call different APIs based on
11023 whether a particular feature is supported.
11024
11025 @param
11026
Jeff Johnsone7245742012-09-05 17:12:55 -070011027 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap
11028 in wlan_hal_msg.h.
Jeff Johnson295189b2012-06-20 16:38:30 -070011029
11030 @see
11031 @return
11032 0 - if the feature is NOT supported in FW
11033 any non-zero value - if the feature is SUPPORTED in FW.
11034*/
11035wpt_uint8 WDI_getFwWlanFeatCaps(wpt_uint8 feat_enum_value);
11036
11037/**
11038 @brief WDI_GetWcnssCompiledApiVersion - Function to get wcnss compiled
11039 api version
11040
11041 @param WDI_WlanVersionType: Wlan version structure
11042 @see
11043 @return none
11044*/
11045
11046void WDI_GetWcnssCompiledApiVersion
11047(
11048 WDI_WlanVersionType *pWcnssApiVersion
11049);
11050
Mohit Khanna4a70d262012-09-11 16:30:12 -070011051#ifdef WLAN_FEATURE_11AC
11052WDI_Status
11053WDI_UpdateVHTOpModeReq
11054(
11055 WDI_UpdateVHTOpMode *pData,
11056 WDI_UpdateVHTOpModeCb wdiUpdateVHTOpModeCb,
11057 void* pUserData
11058);
Jeff Johnson295189b2012-06-20 16:38:30 -070011059
Mohit Khanna4a70d262012-09-11 16:30:12 -070011060#endif
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070011061
11062/**
11063 @brief WDI_TransportChannelDebug -
11064 Display DXE Channel debugging information
11065 User may request to display DXE channel snapshot
11066 Or if host driver detects any abnormal stcuk may display
11067
Jeff Johnsonb88db982012-12-10 13:34:59 -080011068 @param displaySnapshot : Display DXE snapshot option
Mihir Shete40a55652014-03-02 14:14:47 +053011069 @param debugFlags : Enable stall detect features
11070 defined by WPAL_DeviceDebugFlags
11071 These features may effect
11072 data performance.
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070011073 @see
11074 @return none
11075*/
11076void WDI_TransportChannelDebug
11077(
11078 wpt_boolean displaySnapshot,
Mihir Shete40a55652014-03-02 14:14:47 +053011079 wpt_uint8 debugFlags
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070011080);
11081
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -070011082/**
11083 @brief WDI_SsrTimerCB
11084 Callback function for SSR timer, if this is called then the graceful
11085 shutdown for Riva did not happen.
11086
11087 @param pUserData : user data to timer
11088
11089 @see
11090 @return none
11091*/
11092void
11093WDI_SsrTimerCB
11094(
11095 void *pUserData
11096);
11097
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -070011098/**
11099 @brief WDI_SetEnableSSR -
11100 This API is called to enable/disable SSR on WDI timeout.
11101
11102 @param enableSSR : enable/disable SSR
11103
11104 @see
11105 @return none
11106*/
11107void WDI_SetEnableSSR(wpt_boolean enableSSR);
11108
Leo Chang9056f462013-08-01 19:21:11 -070011109#ifdef FEATURE_WLAN_LPHB
11110/**
11111 @brief WDI_LPHBConfReq
11112 This API is called to config FW LPHB rule
11113
11114 @param lphbconfParam : LPHB rule should config to FW
11115 usrData : Client context
11116 lphbCfgCb : Configuration status callback
11117 @see
11118 @return SUCCESS or FAIL
11119*/
11120WDI_Status WDI_LPHBConfReq
11121(
11122 void *lphbconfParam,
11123 void *usrData,
11124 WDI_LphbCfgCb lphbCfgCb
11125);
11126#endif /* FEATURE_WLAN_LPHB */
Rajeev79dbe4c2013-10-05 11:03:42 +053011127
Dino Mycle41bdc942014-06-10 11:30:24 +053011128#ifdef WLAN_FEATURE_EXTSCAN
11129/**
11130 @brief WDI_EXTScanStartReq
11131 This API is called to send EXTScan start request to FW
11132
11133 @param pwdiEXTScanStartReqParams : pointer to the request params.
11134 wdiEXTScanStartRspCb : callback on getting the response.
11135 usrData : Client context
11136 @see
11137 @return SUCCESS or FAIL
11138*/
11139WDI_Status WDI_EXTScanStartReq
11140(
11141 WDI_EXTScanStartReqParams* pwdiEXTScanStartReqParams,
11142 WDI_EXTScanStartRspCb wdiEXTScanStartRspCb,
11143 void* pUserData
11144);
11145
11146/**
11147 @brief WDI_EXTScanStopReq
11148 This API is called to stop the EXTScan operations in the FW
11149
11150 @param pwdiEXTScanStopReqParams : pointer to the request params.
11151 wdiEXTScanStopRspCb : callback on getting the response.
11152 usrData : Client context
11153 @see
11154 @return SUCCESS or FAIL
11155*/
11156WDI_Status WDI_EXTScanStopReq
11157(
11158 WDI_EXTScanStopReqParams* pwdiEXTScanStopReqParams,
11159 WDI_EXTScanStopRspCb wdiEXTScanStopRspCb,
11160 void* pUserData
11161);
11162
11163/**
11164 @brief WDI_EXTScanGetCachedResultsReq
11165 This API is called to send get link layer stats request in FW
11166
11167 @param pwdiEXTScanGetCachedResultsReqParams : pointer to the request params.
11168 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
11169 usrData : Client context
11170 @see
11171 @return SUCCESS or FAIL
11172*/
11173WDI_Status WDI_EXTScanGetCachedResultsReq
11174(
11175 WDI_EXTScanGetCachedResultsReqParams* pwdiEXTScanGetCachedResultsReqParams,
11176 WDI_EXTScanGetCachedResultsRspCb wdiEXTScanGetCachedResultsRspCb,
11177 void* pUserData
11178);
11179
11180/**
11181 @brief WDI_EXTScanGetCapabilitiesReq
11182 This API is called to send get EXTScan capabilities from FW
11183
11184 @param pwdiEXTScanGetCachedResultsReqParams : pointer to the request params.
11185 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
11186 usrData : Client context
11187 @see
11188 @return SUCCESS or FAIL
11189*/
11190WDI_Status WDI_EXTScanGetCapabilitiesReq
11191(
11192 WDI_EXTScanGetCapabilitiesReqParams* pwdiEXTScanGetCapabilitiesReqParams,
11193 WDI_EXTScanGetCapabilitiesRspCb wdiEXTScanGetCapabilitiesRspCb,
11194 void* pUserData
11195);
11196
11197/**
11198 @brief WDI_EXTScanSetBSSIDHotlistReq
11199 This API is called to send Set BSSID Hotlist Request FW
11200
11201 @param pwdiEXTScanSetBssidHotlistReqParams : pointer to the request params.
11202 wdiEXTScanSetBSSIDHotlistRspCb : callback on getting the response.
11203 usrData : Client context
11204 @see
11205 @return SUCCESS or FAIL
11206*/
11207WDI_Status WDI_EXTScanSetBSSIDHotlistReq
11208(
11209 WDI_EXTScanSetBSSIDHotlistReqParams* pwdiEXTScanSetBSSIDHotlistReqParams,
11210 WDI_EXTScanSetBSSIDHotlistRspCb wdiEXTScanSetBSSIDHotlistRspCb,
11211 void* pUserData
11212);
11213
11214/**
11215 @brief WDI_EXTScanResetBSSIDHotlistReq
11216 This API is called to send Reset BSSID Hotlist Request FW
11217
11218 @param pwdiEXTScanResetBssidHotlistReqParams : pointer to the request params.
11219 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
11220 usrData : Client context
11221 @see
11222 @return SUCCESS or FAIL
11223*/
11224WDI_Status WDI_EXTScanResetBSSIDHotlistReq
11225(
11226 WDI_EXTScanResetBSSIDHotlistReqParams* pwdiEXTScanResetBSSIDHotlistReqParams,
11227 WDI_EXTScanResetBSSIDHotlistRspCb wdiEXTScanResetBSSIDHotlistRspCb,
11228 void* pUserData
11229);
11230
11231/**
11232 @brief WDI_EXTScanSetSignfRSSIChangeReq
11233 This API is called to send Set Significant RSSI Request FW
11234
11235 @param pwdiEXTScanSetSignfRSSIChangeReqParams : pointer to the request params.
11236 wdiEXTScanSetSignfRSSIChangeRspCb : callback on getting the response.
11237 usrData : Client context
11238 @see
11239 @return SUCCESS or FAIL
11240*/
11241WDI_Status WDI_EXTScanSetSignfRSSIChangeReq
11242(
11243 WDI_EXTScanSetSignfRSSIChangeReqParams*
11244 pwdiEXTScanSetSignfRSSIChangeReqParams,
11245 WDI_EXTScanSetSignfRSSIChangeRspCb wdiEXTScanSetSignfRSSIChangeRspCb,
11246 void* pUserData
11247);
11248
11249/**
11250 @brief WDI_EXTScanResetSignfRSSIChangeReq
11251 This API is called to send Reset BSSID Hotlist Request FW
11252
11253 @param pwdiEXTScanResetSignfRSSIChangeReqParams : pointer to the request params.
11254 wdiEXTScanResetSignfRSSIChangeRs : callback on getting the response.
11255 usrData : Client context
11256 @see
11257 @return SUCCESS or FAIL
11258*/
11259WDI_Status WDI_EXTScanResetSignfRSSIChangeReq
11260(
11261 WDI_EXTScanResetSignfRSSIChangeReqParams*
11262 pwdiEXTScanResetSignfRSSIChangeReqParams,
11263 WDI_EXTScanResetSignfRSSIChangeRspCb wdiEXTScanResetSignfRSSIChangeRspCb,
11264 void* pUserData
11265);
11266#endif /* WLAN_FEATURE_EXTSCAN */
11267
Sunil Duttbd736ed2014-05-26 21:19:41 +053011268#ifdef WLAN_FEATURE_LINK_LAYER_STATS
11269/**
11270 @brief WDI_LLStatsSetReq
11271 This API is called to send set link layer stats request to FW
11272
11273 @param pwdiLLStatsSetReqParams : pointer to set link layer stats params
11274 wdiLLStatsSetRspCb : set link layer stats response callback
11275 usrData : Client context
11276 @see
11277 @return SUCCESS or FAIL
11278*/
11279WDI_Status WDI_LLStatsSetReq
11280(
11281 WDI_LLStatsSetReqType* pwdiLLStatsSetReqParams,
11282 WDI_LLStatsSetRspCb wdiLLStatsSetRspCb,
11283 void* pUserData
11284);
11285
11286/**
11287 @brief WDI_LLStatsGetReq
11288 This API is called to send get link layer stats request in FW
11289
11290 @param pwdiLLStatsGetParams : pointer to get link layer stats params
11291 wdiLLStatsGetRspCb : get link layer stats response callback
11292 usrData : Client context
11293 @see
11294 @return SUCCESS or FAIL
11295*/
11296WDI_Status WDI_LLStatsGetReq
11297(
11298 WDI_LLStatsGetReqType* pwdiLLStatsGetReqParams,
11299 WDI_LLStatsGetRspCb wdiLLStatsGetRspCb,
11300 void* pUserData
11301);
11302
11303/**
11304 @brief WDI_LLStatsClearReq
11305 This API is called to set clear link layer stats request in FW
11306
11307 @param pwdiLLStatsClearReqParams : pointer to clear link layer stats params
11308 iwdiLLStatsClearRspCb : clear link layer stats response callback
11309 usrData : Client context
11310 @see
11311 @return SUCCESS or FAIL
11312*/
11313WDI_Status WDI_LLStatsClearReq
11314(
11315 WDI_LLStatsClearReqType* pwdiLLStatsClearReqParams,
11316 WDI_LLStatsClearRspCb wdiLLStatsClearRspCb,
11317 void* pUserData
11318);
11319#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
11320
Abhishek Singh85b74712014-10-08 11:38:19 +053011321WDI_Status WDI_FWStatsGetReq
11322(
11323 void* pwdiFWStatsGetReqParams,
11324 WDI_FWStatsGetRspCb wdiFWStatsGetRspCb,
11325 wpt_uint32 pUserData
11326);
11327
Rajeev79dbe4c2013-10-05 11:03:42 +053011328#ifdef FEATURE_WLAN_BATCH_SCAN
11329/**
11330 @brief WDI_SetBatchScanReq
11331 This API is called to set batch scan request in FW
11332
11333 @param pBatchScanReqParam : pointer to set batch scan re param
11334 usrData : Client context
11335 setBatchScanRspCb : set batch scan resp callback
11336 @see
11337 @return SUCCESS or FAIL
11338*/
11339WDI_Status WDI_SetBatchScanReq
11340(
11341 void *pBatchScanReqParam,
11342 void *usrData,
11343 WDI_SetBatchScanCb setBatchScanRspCb
11344);
11345
11346/**
11347 @brief WDI_StopBatchScanInd
11348
11349 @param none
11350
11351 @see
11352
11353 @return Status of the request
11354*/
11355WDI_Status
11356WDI_StopBatchScanInd(WDI_StopBatchScanIndType *pWdiReq);
11357
11358/**
11359 @brief WDI_TriggerBatchScanResultInd
11360 This API is called to pull batch scan result from FW
11361
11362 @param pBatchScanReqParam : pointer to trigger batch scan ind param
11363 usrData : Client context
11364 setBatchScanRspCb : get batch scan resp callback
11365 @see
11366 @return SUCCESS or FAIL
11367*/
11368WDI_Status
11369WDI_TriggerBatchScanResultInd(WDI_TriggerBatchScanResultIndType *pWdiReq);
11370
11371
11372#endif /*FEATURE_WLAN_BATCH_SCAN*/
11373
Sandeep Puligilla8b8b74b2014-02-10 16:39:05 +053011374/**
11375 @brief wdi_HT40OBSSScanInd
11376 This API is called to start OBSS scan
11377
11378 @param pWdiReq : pointer to get ind param
11379 @see
11380 @return SUCCESS or FAIL
11381*/
11382
11383WDI_Status WDI_HT40OBSSScanInd(WDI_HT40ObssScanParamsType *pWdiReq);
11384
11385/**
11386 @brief wdi_HT40OBSSStopScanInd
11387 This API is called to stop OBSS scan
11388
11389 @param bssIdx : bssIdx to stop
11390 @see
11391 @return SUCCESS or FAIL
11392*/
11393
11394WDI_Status WDI_HT40OBSSStopScanInd(wpt_uint8 bssIdx);
11395
c_hpothu92367912014-05-01 15:18:17 +053011396
11397WDI_Status WDI_GetBcnMissRate( void *pUserData,
11398 WDI_GetBcnMissRateCb wdiGetBcnMissRateCb,
11399 wpt_uint8 *bssid
11400 );
Siddharth Bhal171788a2014-09-29 21:02:40 +053011401WDI_Status
11402WDI_SetSpoofMacAddrReq
11403(
11404WDI_SpoofMacAddrInfoType *pWdiReq,
11405 WDI_SetSpoofMacAddrRspCb setSpoofMacAddrRspCb,
11406 void* pUserData
11407);
c_hpothu92367912014-05-01 15:18:17 +053011408
Srinivas Dasari4dae48f2014-11-26 21:14:16 +053011409WDI_Status
11410WDI_EncryptMsgReq(void* pwdiEncryptMsgParams,
11411 WDI_EncryptMsgRspCb wdiEncryptMsgCbRsp,
11412 void* pUserData
11413 );
Srinivas Dasari32a79262015-02-19 13:04:49 +053011414
11415/**
11416 @brief WDI_NanRequest
11417 NAN request
11418
11419 @param pwdiNanRequest: data
11420
11421 pwdiNanCb: callback
11422
11423 usrData: user data will be passed back with the
11424 callback
11425
11426 @return Result of the function call
11427*/
11428WDI_Status
11429WDI_NanRequest
11430(
11431 WDI_NanRequestType *pwdiNanRequest,
11432 void *usrData
11433);
11434
11435
11436
Jeff Johnson295189b2012-06-20 16:38:30 -070011437#ifdef __cplusplus
11438 }
11439#endif
11440
Jeff Johnson295189b2012-06-20 16:38:30 -070011441#endif /* #ifndef WLAN_QCT_WDI_H */