blob: 50529329b85099c4e079f900de1b3e793365f213 [file] [log] [blame]
Jeff Johnson295189b2012-06-20 16:38:30 -07001/*
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05302 * Copyright (c) 2012-2015 The Linux Foundation. All rights reserved.
Kiet Lam1ed83fc2014-02-19 01:15:45 -08003 *
4 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
5 *
6 *
7 * Permission to use, copy, modify, and/or distribute this software for
8 * any purpose with or without fee is hereby granted, provided that the
9 * above copyright notice and this permission notice appear in all
10 * copies.
11 *
12 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
13 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
14 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
15 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
16 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
17 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
18 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19 * PERFORMANCE OF THIS SOFTWARE.
20 */
21
22/*
Kiet Lama7f454d2014-07-24 12:04:06 -070023 * This file was originally distributed by Qualcomm Atheros, Inc.
24 * under proprietary terms before Copyright ownership was assigned
25 * to the Linux Foundation.
Kiet Lam1ed83fc2014-02-19 01:15:45 -080026 */
27
Jeff Johnson295189b2012-06-20 16:38:30 -070028
Kiet Lama7f454d2014-07-24 12:04:06 -070029
30
Jeff Johnson295189b2012-06-20 16:38:30 -070031#ifndef WLAN_QCT_WDI_H
32#define WLAN_QCT_WDI_H
33
34/*===========================================================================
35
36 W L A N D E V I C E A B S T R A C T I O N L A Y E R
37 E X T E R N A L A P I
38
39
40DESCRIPTION
41 This file contains the external API exposed by the wlan transport layer
42 module.
43
44
Jeff Johnson295189b2012-06-20 16:38:30 -070045===========================================================================*/
46
47
48/*===========================================================================
49
50 EDIT HISTORY FOR FILE
51
52
53 This section contains comments describing changes made to the module.
54 Notice that changes are listed in reverse chronological order.
55
56
57 $Header:$ $DateTime: $ $Author: $
58
59
60when who what, where, why
61-------- --- ----------------------------------------------------------
6210/05/11 hap Adding support for Keep Alive
6308/04/10 lti Created module.
64
65===========================================================================*/
66
67
68
69/*===========================================================================
70
71 INCLUDE FILES FOR MODULE
72
73===========================================================================*/
74
75/*----------------------------------------------------------------------------
76 * Include Files
77 * -------------------------------------------------------------------------*/
78#include "wlan_qct_pal_api.h"
79#include "wlan_qct_pal_type.h"
80#include "wlan_qct_pack_align.h"
81#include "wlan_qct_wdi_cfg.h"
82
83/*----------------------------------------------------------------------------
84 * Preprocessor Definitions and Constants
85 * -------------------------------------------------------------------------*/
86#ifdef __cplusplus
87 extern "C" {
88#endif
89
90/* MAC ADDRESS LENGTH - per spec*/
91#define WDI_MAC_ADDR_LEN 6
92
93/* Max number of 11b rates -> 1,2,5.5,11 */
94#define WDI_NUM_11B_RATES 4
95
96/* Max number of 11g rates -> 6,9,12,18,24,36,48,54*/
97#define WDI_NUM_11A_RATES 8
98
99/* Max number of legacy rates -> 72, 96, 108*/
100#define WDI_NUM_POLARIS_RATES 3
101
102/* Max supported MCS set*/
103#define WDI_MAC_MAX_SUPPORTED_MCS_SET 16
104
105/*Max number of Access Categories for QoS - per spec */
106#define WDI_MAX_NO_AC 4
107
108/*Max. size for reserving the Beacon Template */
109#define WDI_BEACON_TEMPLATE_SIZE 0x180
110
111#define WDI_WOWL_BCAST_PATTERN_MAX_SIZE 128
112
113#define WDI_WOWL_BCAST_MAX_NUM_PATTERNS 16
114
115#define WDI_MAX_SSID_SIZE 32
116
117/* The shared memory between WDI and HAL is 4K so maximum data can be transferred
118from WDI to HAL is 4K.This 4K should also include the Message header so sending 4K
119of NV fragment is nt possbile.The next multiple of 1Kb is 3K */
120
121#define FRAGMENT_SIZE 3072
122
123/* Macro to find the total number fragments of the NV Image*/
Madan Mohan Koyyalamudia53c4dc2012-11-13 10:35:42 -0800124#define TOTALFRAGMENTS(x) (((x % FRAGMENT_SIZE) == 0) ? (x / FRAGMENT_SIZE):((x / FRAGMENT_SIZE) + 1))
Jeff Johnson295189b2012-06-20 16:38:30 -0700125
126/* Beacon Filter Length*/
Abhishek Singh5fef4042014-11-25 18:33:00 +0530127#define WDI_BEACON_FILTER_LEN 90
Jeff Johnson295189b2012-06-20 16:38:30 -0700128
129/* Coex Indication data size - should match WLAN_COEX_IND_DATA_SIZE */
130#define WDI_COEX_IND_DATA_SIZE (4)
131
132#define WDI_CIPHER_SEQ_CTR_SIZE 6
133
134#define WDI_NUM_BSSID 2
135
136/*Version string max length (including NUL) */
137#define WDI_VERSION_LENGTH 64
138
139
140/*WDI Response timeout - how long will WDI wait for a response from the device
141 - it should be large enough to allow any other failure mechanism to kick
142 in before we get to a timeout (ms units)*/
143#define WDI_RESPONSE_TIMEOUT 10000
144
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -0700145/* SSR timeout - If Riva initiated SSR doesn't happen during this time, then the
146 * Apps initiated SSR will be performed */
147#define WDI_SSR_TIMEOUT 5000
148
Jeff Johnson295189b2012-06-20 16:38:30 -0700149#define WDI_SET_POWER_STATE_TIMEOUT 10000 /* in msec a very high upper limit */
150
Yue Mab9c86f42013-08-14 15:59:08 -0700151/* Periodic Tx pattern offload feature */
152#define PERIODIC_TX_PTRN_MAX_SIZE 1536
153#define MAXNUM_PERIODIC_TX_PTRNS 6
Srinivas Dasari4dae48f2014-11-26 21:14:16 +0530154#define WDI_DISA_MAX_PAYLOAD_SIZE 1600
Yue Mab9c86f42013-08-14 15:59:08 -0700155
Jeff Johnson295189b2012-06-20 16:38:30 -0700156/*============================================================================
157 * GENERIC STRUCTURES
158
159============================================================================*/
160
161/*---------------------------------------------------------------------------
162 WDI Version Information
163---------------------------------------------------------------------------*/
164typedef struct
165{
166 wpt_uint8 revision;
167 wpt_uint8 version;
168 wpt_uint8 minor;
169 wpt_uint8 major;
170} WDI_WlanVersionType;
171
172/*---------------------------------------------------------------------------
173 WDI Device Capability
174---------------------------------------------------------------------------*/
175typedef struct
176{
177 /*If this flag is true it means that the device can support 802.3/ETH2 to
178 802.11 translation*/
179 wpt_boolean bFrameXtlSupported;
180
181 /*Maximum number of BSSes supported by the Device */
182 wpt_uint8 ucMaxBSSSupported;
183
184 /*Maximum number of stations supported by the Device */
185 wpt_uint8 ucMaxSTASupported;
186}WDI_DeviceCapabilityType;
187
188/*---------------------------------------------------------------------------
189 WDI Channel Offset
190---------------------------------------------------------------------------*/
191typedef enum
192{
193 WDI_SECONDARY_CHANNEL_OFFSET_NONE = 0,
194 WDI_SECONDARY_CHANNEL_OFFSET_UP = 1,
Jeff Johnsone7245742012-09-05 17:12:55 -0700195 WDI_SECONDARY_CHANNEL_OFFSET_DOWN = 3,
196#ifdef WLAN_FEATURE_11AC
197 WDI_CHANNEL_20MHZ_LOW_40MHZ_CENTERED = 4, //20/40MHZ offset LOW 40/80MHZ offset CENTERED
198 WDI_CHANNEL_20MHZ_CENTERED_40MHZ_CENTERED = 5, //20/40MHZ offset CENTERED 40/80MHZ offset CENTERED
199 WDI_CHANNEL_20MHZ_HIGH_40MHZ_CENTERED = 6, //20/40MHZ offset HIGH 40/80MHZ offset CENTERED
200 WDI_CHANNEL_20MHZ_LOW_40MHZ_LOW = 7,//20/40MHZ offset LOW 40/80MHZ offset LOW
201 WDI_CHANNEL_20MHZ_HIGH_40MHZ_LOW = 8, //20/40MHZ offset HIGH 40/80MHZ offset LOW
202 WDI_CHANNEL_20MHZ_LOW_40MHZ_HIGH = 9, //20/40MHZ offset LOW 40/80MHZ offset HIGH
203 WDI_CHANNEL_20MHZ_HIGH_40MHZ_HIGH = 10,//20/40MHZ offset-HIGH 40/80MHZ offset HIGH
204#endif
205 WDI_SECONDARY_CHANNEL_OFFSET_MAX
Jeff Johnson295189b2012-06-20 16:38:30 -0700206}WDI_HTSecondaryChannelOffset;
207
208/*---------------------------------------------------------------------------
209 WDI_MacFrameCtl
210 Frame control field format (2 bytes)
211---------------------------------------------------------------------------*/
212typedef struct
213{
214 wpt_uint8 protVer :2;
215 wpt_uint8 type :2;
216 wpt_uint8 subType :4;
217
218 wpt_uint8 toDS :1;
219 wpt_uint8 fromDS :1;
220 wpt_uint8 moreFrag :1;
221 wpt_uint8 retry :1;
222 wpt_uint8 powerMgmt :1;
223 wpt_uint8 moreData :1;
224 wpt_uint8 wep :1;
225 wpt_uint8 order :1;
226
227} WDI_MacFrameCtl;
228
229/*---------------------------------------------------------------------------
230 WDI Sequence control field
231---------------------------------------------------------------------------*/
232typedef struct
233{
234 wpt_uint8 fragNum : 4;
235 wpt_uint8 seqNumLo : 4;
236 wpt_uint8 seqNumHi : 8;
237} WDI_MacSeqCtl;
238
239/*---------------------------------------------------------------------------
240 Management header format
241---------------------------------------------------------------------------*/
242typedef struct
243{
244 WDI_MacFrameCtl fc;
245 wpt_uint8 durationLo;
246 wpt_uint8 durationHi;
247 wpt_uint8 da[WDI_MAC_ADDR_LEN];
248 wpt_uint8 sa[WDI_MAC_ADDR_LEN];
249 wpt_macAddr bssId;
250 WDI_MacSeqCtl seqControl;
251} WDI_MacMgmtHdr;
252
253/*---------------------------------------------------------------------------
254 NV Blob management sturcture
255 ---------------------------------------------------------------------------*/
256
257typedef struct
258{
259 /* NV image fragments count */
260 wpt_uint16 usTotalFragment;
261
262 /* NV fragment size */
263 wpt_uint16 usFragmentSize;
264
265 /* current fragment to be sent */
266 wpt_uint16 usCurrentFragment;
267
268} WDI_NvBlobInfoParams;
269
270
271/*---------------------------------------------------------------------------
272 Data path enums memory pool resource
273 ---------------------------------------------------------------------------*/
274
275typedef enum
276{
277 /* managment resource pool ID */
278 WDI_MGMT_POOL_ID = 0,
279 /* Data resource pool ID */
280 WDI_DATA_POOL_ID = 1
281}WDI_ResPoolType;
282
283/*============================================================================
284 * GENERIC STRUCTURES - END
285 ============================================================================*/
286
287/*----------------------------------------------------------------------------
288 * Type Declarations
289 * -------------------------------------------------------------------------*/
290/*---------------------------------------------------------------------------
291 WDI Status
292---------------------------------------------------------------------------*/
293typedef enum
294{
295 WDI_STATUS_SUCCESS, /* Operation has completed successfully*/
296 WDI_STATUS_SUCCESS_SYNC, /* Operation has completed successfully in a
297 synchronous way - no rsp will be generated*/
298 WDI_STATUS_PENDING, /* Operation result is pending and will be
299 provided asynchronously through the Req Status
300 Callback */
301 WDI_STATUS_E_FAILURE, /* Operation has ended in a generic failure*/
302 WDI_STATUS_RES_FAILURE, /* Operation has ended in a resource failure*/
303 WDI_STATUS_MEM_FAILURE, /* Operation has ended in a memory allocation
304 failure*/
305 WDI_STATUS_E_NOT_ALLOWED, /* Operation is not allowed in the current state
306 of the driver*/
307 WDI_STATUS_E_NOT_IMPLEMENT, /* Operation is not yet implemented*/
308
309 WDI_STATUS_DEV_INTERNAL_FAILURE, /*An internal error has occurred in the device*/
310 WDI_STATUS_MAX
311
312}WDI_Status;
313
314
315/*---------------------------------------------------------------------------
316 WDI_ReqStatusCb
317
318 DESCRIPTION
319
320 This callback is invoked by DAL to deliver to UMAC the result of posting
321 a previous request for which the return status was PENDING.
322
323 PARAMETERS
324
325 IN
326 wdiStatus: response status received from the Control Transport
327 pUserData: user data
328
329
330
331 RETURN VALUE
332 The result code associated with performing the operation
333---------------------------------------------------------------------------*/
334typedef void (*WDI_ReqStatusCb)(WDI_Status wdiStatus,
335 void* pUserData);
336
337/*---------------------------------------------------------------------------
338 WDI_LowLevelIndEnumType
339 Types of indication that can be posted to UMAC by DAL
340---------------------------------------------------------------------------*/
341typedef enum
342{
343 /*When RSSI monitoring is enabled of the Lower MAC and a threshold has been
344 passed. */
345 WDI_RSSI_NOTIFICATION_IND,
346
347 /*Link loss in the low MAC */
348 WDI_MISSED_BEACON_IND,
349
350 /*when hardware has signaled an unknown addr2 frames. The indication will
351 contain info from frames to be passed to the UMAC, this may use this info to
352 deauth the STA*/
353 WDI_UNKNOWN_ADDR2_FRAME_RX_IND,
354
355 /*MIC Failure detected by HW*/
356 WDI_MIC_FAILURE_IND,
357
358 /*Fatal Error Ind*/
359 WDI_FATAL_ERROR_IND,
360
361 /*Delete Station Ind*/
362 WDI_DEL_STA_IND,
363
364 /*Indication from Coex*/
365 WDI_COEX_IND,
366
367 /* Indication for Tx Complete */
368 WDI_TX_COMPLETE_IND,
369
370 /*.P2P_NOA_Attr_Indication */
371 WDI_P2P_NOA_ATTR_IND,
372
373 /* Preferred Network Found Indication */
374 WDI_PREF_NETWORK_FOUND_IND,
375
376 WDI_WAKE_REASON_IND,
377
378 /* Tx PER Tracking Indication */
379 WDI_TX_PER_HIT_IND,
Viral Modid86bde22012-12-10 13:09:21 -0800380
Viral Modid86bde22012-12-10 13:09:21 -0800381 /* P2P_NOA_Start_Indication */
382 WDI_P2P_NOA_START_IND,
Viral Modid86bde22012-12-10 13:09:21 -0800383
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530384 /* TDLS_Indication */
385 WDI_TDLS_IND,
386
Leo Changd9df8aa2013-09-26 13:32:26 -0700387 /* LPHB Indication from FW to umac */
388 WDI_LPHB_IND,
Leo Chang9056f462013-08-01 19:21:11 -0700389
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700390 /* IBSS Peer Inactivity Indication */
391 WDI_IBSS_PEER_INACTIVITY_IND,
392
Yue Mab9c86f42013-08-14 15:59:08 -0700393 /* Periodic Tx Pattern FW Indication */
394 WDI_PERIODIC_TX_PTRN_FW_IND,
395
Rajeev79dbe4c2013-10-05 11:03:42 +0530396#ifdef FEATURE_WLAN_BATCH_SCAN
397 /*Batch scan result indication from FW*/
398 WDI_BATCH_SCAN_RESULT_IND,
399#endif
400
Leo Chang0b0e45a2013-12-15 15:18:55 -0800401#ifdef FEATURE_WLAN_CH_AVOID
402 WDI_CH_AVOID_IND,
403#endif /* FEATURE_WLAN_CH_AVOID */
Sunil Duttbd736ed2014-05-26 21:19:41 +0530404#ifdef WLAN_FEATURE_LINK_LAYER_STATS
405 WDI_LL_STATS_RESULTS_IND,
406#endif
Dino Mycle41bdc942014-06-10 11:30:24 +0530407#ifdef WLAN_FEATURE_EXTSCAN
408 WDI_EXTSCAN_PROGRESS_IND,
409 WDI_EXTSCAN_SCAN_AVAILABLE_IND,
410 WDI_EXTSCAN_SCAN_RESULT_IND,
411 WDI_EXTSCAN_GET_CAPABILITIES_IND,
412 WDI_EXTSCAN_BSSID_HOTLIST_RESULT_IND,
413 WDI_EXTSCAN_SIGN_RSSI_RESULT_IND,
414#endif
Abhishek Singh66c16762014-08-14 19:13:19 +0530415 /*Delete BA Ind*/
416 WDI_DEL_BA_IND,
Srinivas Dasari32a79262015-02-19 13:04:49 +0530417 WDI_NAN_EVENT_IND,
Leo Chang0b0e45a2013-12-15 15:18:55 -0800418
Jeff Johnson295189b2012-06-20 16:38:30 -0700419 WDI_MAX_IND
420}WDI_LowLevelIndEnumType;
421
422
423/*---------------------------------------------------------------------------
424 WDI_LowRSSIThIndType
425---------------------------------------------------------------------------*/
426typedef struct
427{
428 /*Positive crossing of Rssi Thresh1*/
429 wpt_uint32 bRssiThres1PosCross : 1;
430 /*Negative crossing of Rssi Thresh1*/
431 wpt_uint32 bRssiThres1NegCross : 1;
432 /*Positive crossing of Rssi Thresh2*/
433 wpt_uint32 bRssiThres2PosCross : 1;
434 /*Negative crossing of Rssi Thresh2*/
435 wpt_uint32 bRssiThres2NegCross : 1;
436 /*Positive crossing of Rssi Thresh3*/
437 wpt_uint32 bRssiThres3PosCross : 1;
438 /*Negative crossing of Rssi Thresh3*/
439 wpt_uint32 bRssiThres3NegCross : 1;
440
Srinivasdaaec712012-12-12 15:59:44 -0800441 wpt_uint32 avgRssi : 8;
442 wpt_uint32 bReserved : 18;
Jeff Johnson295189b2012-06-20 16:38:30 -0700443
444}WDI_LowRSSIThIndType;
445
446
447/*---------------------------------------------------------------------------
448 WDI_UnkAddr2FrmRxIndType
449---------------------------------------------------------------------------*/
450typedef struct
451{
452 /*Rx Bd data of the unknown received addr2 frame.*/
453 void* bufRxBd;
454
455 /*Buffer Length*/
456 wpt_uint16 usBufLen;
457}WDI_UnkAddr2FrmRxIndType;
458
459/*---------------------------------------------------------------------------
460 WDI_DeleteSTAIndType
461---------------------------------------------------------------------------*/
462typedef struct
463{
464 /*ASSOC ID, as assigned by UMAC*/
465 wpt_uint16 usAssocId;
466
467 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
468 wpt_uint8 ucSTAIdx;
469
470 /*BSSID of STA*/
471 wpt_macAddr macBSSID;
472
473 /*MAC ADDR of STA*/
474 wpt_macAddr macADDR2;
475
476 /* To unify the keepalive / unknown A2 / tim-based disa*/
477 wpt_uint16 wptReasonCode;
478
479}WDI_DeleteSTAIndType;
480
481/*---------------------------------------------------------------------------
482 WDI_MicFailureIndType
483---------------------------------------------------------------------------*/
484typedef struct
485{
486 /*current BSSID*/
487 wpt_macAddr bssId;
488
489 /*Source mac address*/
490 wpt_macAddr macSrcAddr;
491
492 /*Transmitter mac address*/
493 wpt_macAddr macTaAddr;
494
495 /*Destination mac address*/
496 wpt_macAddr macDstAddr;
497
498 /*Multicast flag*/
499 wpt_uint8 ucMulticast;
500
501 /*First byte of IV*/
502 wpt_uint8 ucIV1;
503
504 /*Key Id*/
505 wpt_uint8 keyId;
506
507 /*Sequence Number*/
508 wpt_uint8 TSC[WDI_CIPHER_SEQ_CTR_SIZE];
509
510 /*receive address */
511 wpt_macAddr macRxAddr;
512}WDI_MicFailureIndType;
513
514/*---------------------------------------------------------------------------
515 WDI_CoexIndType
516---------------------------------------------------------------------------*/
517typedef struct
518{
519 wpt_uint32 coexIndType;
520 wpt_uint32 coexIndData[WDI_COEX_IND_DATA_SIZE];
521} WDI_CoexIndType;
522
523/*---------------------------------------------------------------------------
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +0530524 WDI_DHCPInd
525---------------------------------------------------------------------------*/
526
527typedef struct
528{
529 wpt_uint8 device_mode;
530 wpt_uint8 macAddr[WDI_MAC_ADDR_LEN];
531}WDI_DHCPInd;
532
533/*---------------------------------------------------------------------------
534
Jeff Johnson295189b2012-06-20 16:38:30 -0700535 WDI_MacSSid
536---------------------------------------------------------------------------*/
537typedef struct
538{
539 wpt_uint8 ucLength;
540 wpt_uint8 sSSID[WDI_MAX_SSID_SIZE];
541} WDI_MacSSid;
542
543#ifdef FEATURE_WLAN_SCAN_PNO
544/*---------------------------------------------------------------------------
545 WDI_PrefNetworkFoundInd
546---------------------------------------------------------------------------*/
547typedef struct
548{
549 /* Network that was found with the highest RSSI*/
Srikant Kuppa066904f2013-05-07 13:56:02 -0700550 WDI_MacSSid ssId;
Jeff Johnson295189b2012-06-20 16:38:30 -0700551 /* Indicates the RSSI */
Srikant Kuppa066904f2013-05-07 13:56:02 -0700552 wpt_uint8 rssi;
553 wpt_uint16 frameLength;
554 wpt_uint8 *pData;
Jeff Johnson295189b2012-06-20 16:38:30 -0700555} WDI_PrefNetworkFoundInd;
556#endif // FEATURE_WLAN_SCAN_PNO
557
Jeff Johnson295189b2012-06-20 16:38:30 -0700558/*---------------------------------------------------------------------------
559 *WDI_P2pNoaAttrIndType
560 *-------------------------------------------------------------------------*/
Jeff Johnson295189b2012-06-20 16:38:30 -0700561typedef struct
562{
563 wpt_uint8 ucIndex ;
564 wpt_uint8 ucOppPsFlag ;
565 wpt_uint16 usCtWin ;
566
567 wpt_uint16 usNoa1IntervalCnt;
568 wpt_uint16 usRsvd1 ;
569 wpt_uint32 uslNoa1Duration;
570 wpt_uint32 uslNoa1Interval;
571 wpt_uint32 uslNoa1StartTime;
572
573 wpt_uint16 usNoa2IntervalCnt;
574 wpt_uint16 usRsvd2;
575 wpt_uint32 uslNoa2Duration;
576 wpt_uint32 uslNoa2Interval;
577 wpt_uint32 uslNoa2StartTime;
578
579 wpt_uint32 status;
580}WDI_P2pNoaAttrIndType;
Viral Modid86bde22012-12-10 13:09:21 -0800581
582/*---------------------------------------------------------------------------
583 *WDI_P2pNoaStartIndType
584 *-------------------------------------------------------------------------*/
585typedef struct
586{
587 wpt_uint32 status;
588 wpt_uint32 bssIdx;
589}WDI_P2pNoaStartIndType;
590
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530591/*---------------------------------------------------------------------------
592 *WDI_TdlsIndType
593 *-------------------------------------------------------------------------*/
594typedef struct
595{
596 wpt_uint16 status;
597 wpt_uint16 assocId;
598 wpt_uint16 staIdx;
599 wpt_uint16 reasonCode;
600}WDI_TdlsIndType;
Jeff Johnson295189b2012-06-20 16:38:30 -0700601
602#ifdef WLAN_WAKEUP_EVENTS
603/*---------------------------------------------------------------------------
604 WDI_WakeReasonIndType
605---------------------------------------------------------------------------*/
606typedef struct
607{
608 wpt_uint32 ulReason; /* see tWakeReasonType */
609 wpt_uint32 ulReasonArg; /* argument specific to the reason type */
610 wpt_uint32 ulStoredDataLen; /* length of optional data stored in this message, in case
611 HAL truncates the data (i.e. data packets) this length
612 will be less than the actual length */
613 wpt_uint32 ulActualDataLen; /* actual length of data */
614 wpt_uint8 aDataStart[1]; /* variable length start of data (length == storedDataLen)
615 see specific wake type */
616} WDI_WakeReasonIndType;
617#endif // WLAN_WAKEUP_EVENTS
618
Srinivas Dasari32a79262015-02-19 13:04:49 +0530619typedef struct
620{
621 wpt_uint16 event_data_len;
622 wpt_uint8* event_data;
623} WDI_NanEventType;
624
625
Jeff Johnson295189b2012-06-20 16:38:30 -0700626/*---------------------------------------------------------------------------
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800627 WDI_MissedBeaconIndType
628-----------------------------------------------------------------------------*/
629typedef struct
630{
631 wpt_uint8 bssIdx; /*bssidx on which beacon is missed*/
632} WDI_MissedBeaconIndType;
633
Leo Chang9056f462013-08-01 19:21:11 -0700634#ifdef FEATURE_WLAN_LPHB
635/*---------------------------------------------------------------------------
636 WDI_LPHBTimeoutIndData
637-----------------------------------------------------------------------------*/
638typedef struct
639{
640 wpt_uint8 bssIdx;
641 wpt_uint8 sessionIdx;
642 wpt_uint8 protocolType; /*TCP or UDP*/
643 wpt_uint8 eventReason;
644} WDI_LPHBTimeoutIndData;
645#endif /* FEATURE_WLAN_LPHB */
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800646
Yue Mab9c86f42013-08-14 15:59:08 -0700647/*-----------------------------------------------------------------------------
648WDI_PeriodicTxPtrnFwIndType
649-----------------------------------------------------------------------------*/
650typedef struct
651{
652 wpt_uint8 bssIdx;
653 wpt_uint32 selfStaIdx;
654 wpt_uint32 status;
655 wpt_uint32 patternIdBitmap;
656} WDI_PeriodicTxPtrnFwIndType;
657
Rajeev79dbe4c2013-10-05 11:03:42 +0530658#ifdef FEATURE_WLAN_BATCH_SCAN
659/*---------------------------------------------------------------------------
660 WDI_SetBatchScanReqType
661---------------------------------------------------------------------------*/
662typedef struct
663{
664 wpt_uint32 scanFrequency; /* how frequent to do scan default 30Sec*/
665 wpt_uint32 numberOfScansToBatch; /* number of scans to batch */
666 wpt_uint32 bestNetwork; /* best networks in terms of rssi */
667 wpt_uint8 rfBand; /* band to scan :
668 0 ->both Band, 1->2.4Ghz Only
669 and 2-> 5GHz Only */
670 wpt_uint32 rtt; /* set if required to do RTT it is not
671 supported in current version */
672}WDI_SetBatchScanReqType;
673
674/*---------------------------------------------------------------------------
675 WDI_SetBatchScanRspType
676---------------------------------------------------------------------------*/
677typedef struct
678{
679 /*max number of scans which FW can cache*/
680 wpt_uint32 nScansToBatch;
681}WDI_SetBatchScanRspType;
682
683/*---------------------------------------------------------------------------
684 WDI_TriggerBatchScanResultIndType
685---------------------------------------------------------------------------*/
686typedef struct
687{
688 wpt_uint32 param;
689}WDI_TriggerBatchScanResultIndType;
690
691/*---------------------------------------------------------------------------
692 WDI_StopBatchScanIndType
693---------------------------------------------------------------------------*/
694typedef struct
695{
696 /*max number of scans which FW can cache*/
697 wpt_uint32 param;
698}WDI_StopBatchScanIndType;
699
700
701/*---------------------------------------------------------------------------
702 * WDI_BatchScanResultIndType
703 *--------------------------------------------------------------------------*/
704typedef struct
705{
706 wpt_uint32 bssid[6]; /* BSSID */
707 wpt_uint32 ssid[32]; /* SSID */
708 wpt_uint32 ch; /* Channel */
709 wpt_uint32 rssi; /* RSSI or Level */
710 /* Timestamp when Network was found. Used to calculate age based on
711 timestamp in GET_RSP msg header */
712 wpt_uint32 timestamp;
713} tWDIBatchScanNetworkInfo, *tpWDIBatchScanNetworkInfo;
714
715typedef struct
716{
717 wpt_uint32 scanId; /*Scan List ID*/
718 /*No of AP in a Scan Result. Should be same as bestNetwork in SET_REQ msg*/
719 wpt_uint32 numNetworksInScanList;
720 /*Variable data ptr: Number of AP in Scan List*/
721 wpt_uint32 scanList[1];
722} tWDIBatchScanList, *tpWDIBatchScanList;
723
724typedef struct
725{
726 wpt_uint32 timestamp;
727 wpt_uint32 numScanLists;
728 wpt_boolean isLastResult;
729 /* Variable Data ptr: Number of Scan Lists*/
730 wpt_uint32 scanResults[1];
731} tWDIBatchScanResultParam, *tpWDIBatchScanResultParam;
732
733#endif
734
735
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800736/*---------------------------------------------------------------------------
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700737 WDI_IbssPeerInactivityIndType
738-----------------------------------------------------------------------------*/
739typedef struct
740{
741 wpt_uint8 bssIdx;
742 wpt_uint8 staIdx;
743 wpt_macAddr staMacAddr;
744}WDI_IbssPeerInactivityIndType;
745
746/*---------------------------------------------------------------------------
Chittajit Mitraf5413a42013-10-18 14:20:08 -0700747 WDI_TxRateFlags
748-----------------------------------------------------------------------------*/
749typedef enum
750{
751 WDI_TX_RATE_LEGACY = 0x1, /* Legacy rates */
752 WDI_TX_RATE_HT20 = 0x2, /* HT20 rates */
753 WDI_TX_RATE_HT40 = 0x4, /* HT40 rates */
754 WDI_TX_RATE_SGI = 0x8, /* Rate with Short guard interval */
755 WDI_TX_RATE_LGI = 0x10, /* Rate with Long guard interval */
756 WDI_TX_RATE_VHT20 = 0x20, /* VHT 20 rates */
757 WDI_TX_RATE_VHT40 = 0x40, /* VHT 20 rates */
758 WDI_TX_RATE_VHT80 = 0x80, /* VHT 20 rates */
759 WDI_TX_RATE_VIRT = 0x100, /* Virtual Rate */
760} WDI_TxRateFlags;
761
762/*---------------------------------------------------------------------------
763 WDI_RateUpdateIndParams
764-----------------------------------------------------------------------------*/
765typedef struct
766{
767 /* 0 implies RA, positive value implies fixed rate, -1 implies ignore this
768 * param ucastDataRate can be used to control RA behavior of unicast data to
769 */
770 wpt_int32 ucastDataRate;
771
772 /* TX flag to differentiate between HT20, HT40 etc */
773 WDI_TxRateFlags ucastDataRateTxFlag;
774
775 /* BSSID - Optional. 00-00-00-00-00-00 implies apply to all BCAST STAs */
776 wpt_macAddr bssid;
777
778 /*
779 * 0 implies MCAST RA, positive value implies fixed rate,
780 * -1 implies ignore this param
781 */
782 wpt_int32 reliableMcastDataRate; //unit Mbpsx10
783
784 /* TX flag to differentiate between HT20, HT40 etc */
785 WDI_TxRateFlags reliableMcastDataRateTxFlag;
786
787 /*
788 * MCAST(or BCAST) fixed data rate in 2.4 GHz, unit Mbpsx10,
789 * 0 implies ignore
790 */
791 wpt_uint32 mcastDataRate24GHz;
792
793 /* TX flag to differentiate between HT20, HT40 etc */
794 WDI_TxRateFlags mcastDataRate24GHzTxFlag;
795
796 /*
797 * MCAST(or BCAST) fixed data rate in 5 GHz,
798 * unit Mbpsx10, 0 implies ignore
799 */
800 wpt_uint32 mcastDataRate5GHz;
801
802 /* TX flag to differentiate between HT20, HT40 etc */
803 WDI_TxRateFlags mcastDataRate5GHzTxFlag;
804
805 /*
806 * Request status callback offered by UMAC - it is called if the current
807 * req has returned PENDING as status; it delivers the status of sending
808 * the message over the BUS
809 */
810 WDI_ReqStatusCb wdiReqStatusCB;
811
812 /*
813 * The user data passed in by UMAC, it will be sent back when the above
814 * function pointer will be called
815 */
816 void *pUserData;
817
818} WDI_RateUpdateIndParams;
819
Abhishek Singh85b74712014-10-08 11:38:19 +0530820typedef struct
821{
822 wpt_uint32 ubsp_enter_cnt;
823 wpt_uint32 ubsp_jump_ddr_cnt;
824}ubspFwStats;
825
826typedef struct
827{
828 wpt_uint32 type;
829 /*data*/
830 union{
831 ubspFwStats ubspStats;
832 }wdiFwStatsData;
833} WDI_FWStatsResults;
834
Leo Chang0b0e45a2013-12-15 15:18:55 -0800835#ifdef FEATURE_WLAN_CH_AVOID
836#define WDI_CH_AVOID_MAX_RANGE 4
837
838typedef struct
839{
840 wpt_uint32 startFreq;
841 wpt_uint32 endFreq;
842} WDI_ChAvoidFreqType;
843
844typedef struct
845{
846 wpt_uint32 avoidRangeCount;
847 WDI_ChAvoidFreqType avoidFreqRange[WDI_CH_AVOID_MAX_RANGE];
848} WDI_ChAvoidIndType;
849#endif /* FEATURE_WLAN_CH_AVOID */
850
Dino Mycled3d50022014-07-07 12:58:25 +0530851#ifdef WLAN_FEATURE_LINK_LAYER_STATS
852typedef struct
853{
854 void *pLinkLayerStatsResults;
855 wpt_macAddr macAddr;
856} WDI_LinkLayerStatsResults;
857
858#endif
Abhishek Singh66c16762014-08-14 19:13:19 +0530859
860typedef struct
861{
862 /*STA Index*/
863 wpt_uint16 staIdx;
864
865 /*Peer MAC*/
866 wpt_macAddr peerMacAddr;
867
868 // TID for which a BA session timeout is being triggered
869 wpt_uint8 baTID;
870 // DELBA direction
871 // 1 - Originator
872 // 0 - Recipient
873 wpt_uint8 baDirection;
874 wpt_uint32 reasonCode;
875 /*MAC ADDR of STA*/
876 wpt_macAddr bssId; // TO SUPPORT BT-AMP
877} WDI_DeleteBAIndType;
878
Ganesh Kondabattinib18b3292015-03-16 16:59:26 +0530879typedef struct
880{
881 wpt_uint32 tx_complete_status;
882 wpt_uint32 tx_bd_token;
883} WDI_TxBDStatus;
Chittajit Mitraf5413a42013-10-18 14:20:08 -0700884/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -0700885 WDI_LowLevelIndType
886 Inidcation type and information about the indication being carried
887 over
888---------------------------------------------------------------------------*/
889typedef struct
890{
891 /*Inidcation type*/
892 WDI_LowLevelIndEnumType wdiIndicationType;
893
894 /*Indication data*/
895 union
896 {
897 /*RSSI Threshold Info for WDI_LOW_RSSI_IND*/
898 WDI_LowRSSIThIndType wdiLowRSSIInfo;
899
900 /*Addr2 Frame Info for WDI_UNKNOWN_ADDR2_FRAME_RX_IND*/
901 WDI_UnkAddr2FrmRxIndType wdiUnkAddr2FrmInfo;
902
903 /*MIC Failure info for WDI_MIC_FAILURE_IND*/
904 WDI_MicFailureIndType wdiMICFailureInfo;
905
906 /*Error code for WDI_FATAL_ERROR_IND*/
907 wpt_uint16 usErrorCode;
908
909 /*Delete STA Indication*/
910 WDI_DeleteSTAIndType wdiDeleteSTAIndType;
911
912 /*Coex Indication*/
913 WDI_CoexIndType wdiCoexInfo;
914
915 /* Tx Complete Indication */
916 wpt_uint32 tx_complete_status;
917
Jeff Johnson295189b2012-06-20 16:38:30 -0700918 /* P2P NOA ATTR Indication */
919 WDI_P2pNoaAttrIndType wdiP2pNoaAttrInfo;
Viral Modid86bde22012-12-10 13:09:21 -0800920 WDI_P2pNoaStartIndType wdiP2pNoaStartInfo;
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530921 /* TDLS Indications */
922 WDI_TdlsIndType wdiTdlsIndInfo;
Jeff Johnson295189b2012-06-20 16:38:30 -0700923
924
925#ifdef FEATURE_WLAN_SCAN_PNO
926 WDI_PrefNetworkFoundInd wdiPrefNetworkFoundInd;
927#endif // FEATURE_WLAN_SCAN_PNO
928
929#ifdef WLAN_WAKEUP_EVENTS
930 WDI_WakeReasonIndType wdiWakeReasonInd;
931#endif // WLAN_WAKEUP_EVENTS
Leela Venkata Kiran Kumar Reddy Chirala3ca17902013-02-27 19:50:05 -0800932 WDI_MissedBeaconIndType wdiMissedBeaconInd;
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700933
Leo Chang9056f462013-08-01 19:21:11 -0700934#ifdef FEATURE_WLAN_LPHB
935 WDI_LPHBTimeoutIndData wdiLPHBTimeoutInd;
936#endif /* FEATURE_WLAN_LPHB */
Ravi Joshid2ca7c42013-07-23 08:37:49 -0700937
938 /* IBSS Peer Inactivity Indication */
939 WDI_IbssPeerInactivityIndType wdiIbssPeerInactivityInd;
940
Yue Mab9c86f42013-08-14 15:59:08 -0700941 /* Periodic TX Pattern FW Indication */
942 WDI_PeriodicTxPtrnFwIndType wdiPeriodicTxPtrnFwInd;
Rajeev79dbe4c2013-10-05 11:03:42 +0530943
944#ifdef FEATURE_WLAN_BATCH_SCAN
945 /*batch scan result indication from FW*/
946 void *pBatchScanResult;
947#endif
948
Leo Chang0b0e45a2013-12-15 15:18:55 -0800949#ifdef FEATURE_WLAN_CH_AVOID
950 WDI_ChAvoidIndType wdiChAvoidInd;
951#endif /* FEATURE_WLAN_CH_AVOID */
Sunil Duttbd736ed2014-05-26 21:19:41 +0530952
953#ifdef WLAN_FEATURE_LINK_LAYER_STATS
954 /*Link Layer Statistics from FW*/
Dino Mycled3d50022014-07-07 12:58:25 +0530955 WDI_LinkLayerStatsResults wdiLinkLayerStatsResults;
Sunil Duttbd736ed2014-05-26 21:19:41 +0530956#endif
Dino Mycle41bdc942014-06-10 11:30:24 +0530957#ifdef WLAN_FEATURE_EXTSCAN
958 /*EXTSCAN Results from FW*/
959 void *pEXTScanIndData;
960#endif
Abhishek Singh66c16762014-08-14 19:13:19 +0530961 WDI_DeleteBAIndType wdiDeleteBAInd;
Srinivas Dasari32a79262015-02-19 13:04:49 +0530962
963 WDI_NanEventType wdiNanEvent;
Ganesh Kondabattinib18b3292015-03-16 16:59:26 +0530964
965 WDI_TxBDStatus wdiTxBdInd;
Jeff Johnson295189b2012-06-20 16:38:30 -0700966 } wdiIndicationData;
967}WDI_LowLevelIndType;
968
969/*---------------------------------------------------------------------------
970 WDI_LowLevelIndCBType
971
972 DESCRIPTION
973
974 This callback is invoked by DAL to deliver to UMAC certain indications
975 that has either received from the lower device or has generated itself.
976
977 PARAMETERS
978
979 IN
980 pwdiInd: information about the indication sent over
981 pUserData: user data provided by UMAC during registration
982
983
984
985 RETURN VALUE
986 The result code associated with performing the operation
987---------------------------------------------------------------------------*/
988typedef void (*WDI_LowLevelIndCBType)(WDI_LowLevelIndType* pwdiInd,
989 void* pUserData);
990
991/*---------------------------------------------------------------------------
992 WDI_DriverType
993---------------------------------------------------------------------------*/
994typedef enum
995{
996 WDI_DRIVER_TYPE_PRODUCTION = 0,
997 WDI_DRIVER_TYPE_MFG = 1,
998 WDI_DRIVER_TYPE_DVT = 2
999} WDI_DriverType;
1000
1001/*---------------------------------------------------------------------------
1002 WDI_StartReqParamsType
1003---------------------------------------------------------------------------*/
1004typedef struct
1005{
1006 /*This is a TLV formatted buffer containing all config values that can
1007 be set through the DAL Interface
1008
1009 The TLV is expected to be formatted like this:
1010
1011 0 7 15 31 ....
1012 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
1013
1014 Or from a C construct point of VU it would look like this:
1015
1016 typedef struct WPT_PACK_POST
1017 {
1018 #ifdef WPT_BIG_ENDIAN
1019 wpt_uint32 ucCfgId:8;
1020 wpt_uint32 ucCfgLen:8;
1021 wpt_uint32 usReserved:16;
1022 #else
1023 wpt_uint32 usReserved:16;
1024 wpt_uint32 ucCfgLen:8;
1025 wpt_uint32 ucCfgId:8;
1026 #endif
1027
1028 wpt_uint8 ucCfgBody[ucCfgLen];
1029 }WDI_ConfigType;
1030
1031 Multiple such tuplets are to be placed in the config buffer. One for
1032 each required configuration item:
1033
1034 | TLV 1 | TLV2 | ....
1035
1036 The buffer is expected to be a flat area of memory that can be manipulated
1037 with standard memory routines.
1038
1039 For more info please check paragraph 2.3.1 Config Structure from the
1040 HAL LLD.
1041
1042 For a list of accepted configuration list and IDs please look up
1043 wlan_qct_dal_cfg.h
1044
1045 */
1046 void* pConfigBuffer;
1047
1048 /*Length of the config buffer above*/
1049 wpt_uint16 usConfigBufferLen;
1050
1051 /*Production or FTM driver*/
1052 WDI_DriverType wdiDriverType;
1053
1054 /*Should device enable frame translation */
1055 wpt_uint8 bFrameTransEnabled;
1056
1057 /*Request status callback offered by UMAC - it is called if the current
1058 req has returned PENDING as status; it delivers the status of sending
1059 the message over the BUS */
1060 WDI_ReqStatusCb wdiReqStatusCB;
1061
1062 /*The user data passed in by UMAC, it will be sent back when the above
1063 function pointer will be called */
1064 void* pUserData;
1065
1066 /*Indication callback given by UMAC to be called by the WLAN DAL when it
1067 wishes to send something back independent of a request*/
1068 WDI_LowLevelIndCBType wdiLowLevelIndCB;
1069
1070 /*The user data passed in by UMAC, it will be sent back when the indication
1071 function pointer will be called */
1072 void* pIndUserData;
1073}WDI_StartReqParamsType;
1074
1075
1076/*---------------------------------------------------------------------------
1077 WDI_StartRspParamsType
1078---------------------------------------------------------------------------*/
1079typedef struct
1080{
1081 /*Status of the response*/
1082 WDI_Status wdiStatus;
1083
1084 /*Max number of STA supported by the device*/
1085 wpt_uint8 ucMaxStations;
1086
1087 /*Max number of BSS supported by the device*/
1088 wpt_uint8 ucMaxBssids;
1089
1090 /*Version of the WLAN HAL API with which we were compiled*/
1091 WDI_WlanVersionType wlanCompiledVersion;
1092
1093 /*Version of the WLAN HAL API that was reported*/
1094 WDI_WlanVersionType wlanReportedVersion;
1095
1096 /*WCNSS Software version string*/
1097 wpt_uint8 wcnssSoftwareVersion[WDI_VERSION_LENGTH];
1098
1099 /*WCNSS Hardware version string*/
1100 wpt_uint8 wcnssHardwareVersion[WDI_VERSION_LENGTH];
1101}WDI_StartRspParamsType;
1102
1103
1104/*---------------------------------------------------------------------------
1105 WDI_StopType
1106---------------------------------------------------------------------------*/
1107typedef enum
1108{
1109 /*Device is being stopped due to a reset*/
1110 WDI_STOP_TYPE_SYS_RESET,
1111
1112 /*Device is being stopped due to entering deep sleep*/
1113 WDI_STOP_TYPE_SYS_DEEP_SLEEP,
1114
1115 /*Device is being stopped because the RF needs to shut off
1116 (e.g.:Airplane mode)*/
1117 WDI_STOP_TYPE_RF_KILL
1118}WDI_StopType;
1119
1120/*---------------------------------------------------------------------------
1121 WDI_StopReqParamsType
1122---------------------------------------------------------------------------*/
1123typedef struct
1124{
1125
1126 /*The reason for which the device is being stopped*/
1127 WDI_StopType wdiStopReason;
1128
1129 /*Request status callback offered by UMAC - it is called if the current
1130 req has returned PENDING as status; it delivers the status of sending
1131 the message over the BUS */
1132 WDI_ReqStatusCb wdiReqStatusCB;
1133
1134 /*The user data passed in by UMAC, it will be sent back when the above
1135 function pointer will be called */
1136 void* pUserData;
1137}WDI_StopReqParamsType;
1138
1139
1140/*---------------------------------------------------------------------------
1141 WDI_ScanMode
1142---------------------------------------------------------------------------*/
1143typedef enum
1144{
1145 WDI_SCAN_MODE_NORMAL = 0,
1146 WDI_SCAN_MODE_LEARN,
1147 WDI_SCAN_MODE_SCAN,
1148 WDI_SCAN_MODE_PROMISC,
Madan Mohan Koyyalamudi9b876782012-10-11 16:22:51 -07001149 WDI_SCAN_MODE_SUSPEND_LINK,
1150 WDI_SCAN_MODE_ROAM_SCAN,
1151 WDI_SCAN_MODE_ROAM_SUSPEND_LINK,
1152
Jeff Johnson295189b2012-06-20 16:38:30 -07001153} WDI_ScanMode;
1154
1155/*---------------------------------------------------------------------------
1156 WDI_ScanEntry
1157---------------------------------------------------------------------------*/
1158typedef struct
1159{
1160 wpt_uint8 bssIdx[WDI_NUM_BSSID];
1161 wpt_uint8 activeBSScnt;
1162}WDI_ScanEntry;
1163
1164/*---------------------------------------------------------------------------
1165 WDI_InitScanReqInfoType
1166---------------------------------------------------------------------------*/
1167typedef struct
1168{
1169 /*LEARN - AP Role
1170 SCAN - STA Role*/
1171 WDI_ScanMode wdiScanMode;
1172
1173 /*BSSID of the BSS*/
1174 wpt_macAddr macBSSID;
1175
1176 /*Whether BSS needs to be notified*/
1177 wpt_boolean bNotifyBSS;
1178
1179 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
1180 CTS to Self). Must always be a valid frame type.*/
1181 wpt_uint8 ucFrameType;
1182
1183 /*UMAC has the option of passing the MAC frame to be used for notifying
1184 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
1185 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
1186 frameType.*/
1187 wpt_uint8 ucFrameLength;
1188
1189 /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/
1190 WDI_MacMgmtHdr wdiMACMgmtHdr;
1191
1192 /*Entry to hold number of active BSS to send NULL frames before
1193 * initiating SCAN*/
1194 WDI_ScanEntry wdiScanEntry;
1195
1196 /* Flag to enable/disable Single NOA*/
1197 wpt_boolean bUseNOA;
1198
1199 /* Indicates the scan duration (in ms) */
1200 wpt_uint16 scanDuration;
1201
1202}WDI_InitScanReqInfoType;
1203
1204/*---------------------------------------------------------------------------
1205 WDI_InitScanReqParamsType
1206---------------------------------------------------------------------------*/
1207typedef struct
1208{
1209 /*The info associated with the request that needs to be sent over to the
1210 device*/
1211 WDI_InitScanReqInfoType wdiReqInfo;
1212
1213 /*Request status callback offered by UMAC - it is called if the current
1214 req has returned PENDING as status; it delivers the status of sending
1215 the message over the BUS */
1216 WDI_ReqStatusCb wdiReqStatusCB;
1217
1218 /*The user data passed in by UMAC, it will be sent back when the above
1219 function pointer will be called */
1220 void* pUserData;
1221}WDI_InitScanReqParamsType;
1222
1223/*---------------------------------------------------------------------------
1224 WDI_StartScanReqParamsType
1225---------------------------------------------------------------------------*/
1226typedef struct
1227{
1228 /*Indicates the channel to scan*/
1229 wpt_uint8 ucChannel;
1230
1231 /*Request status callback offered by UMAC - it is called if the current
1232 req has returned PENDING as status; it delivers the status of sending
1233 the message over the BUS */
1234 WDI_ReqStatusCb wdiReqStatusCB;
1235
1236 /*The user data passed in by UMAC, it will be sent back when the above
1237 function pointer will be called */
1238 void* pUserData;
1239}WDI_StartScanReqParamsType;
1240
1241/*---------------------------------------------------------------------------
1242 WDI_StartScanRspParamsType
1243---------------------------------------------------------------------------*/
1244typedef struct
1245{
1246 /*Indicates the status of the operation */
1247 WDI_Status wdiStatus;
1248
1249#if defined WLAN_FEATURE_VOWIFI
1250 wpt_uint32 aStartTSF[2];
1251 wpt_int8 ucTxMgmtPower;
1252#endif
1253}WDI_StartScanRspParamsType;
1254
1255/*---------------------------------------------------------------------------
1256 WDI_EndScanReqParamsType
1257---------------------------------------------------------------------------*/
1258typedef struct
1259{
1260 /*Indicates the channel to stop scanning. Not used really. But retained
1261 for symmetry with "start Scan" message. It can also help in error
1262 check if needed.*/
1263 wpt_uint8 ucChannel;
1264
1265 /*Request status callback offered by UMAC - it is called if the current
1266 req has returned PENDING as status; it delivers the status of sending
1267 the message over the BUS */
1268 WDI_ReqStatusCb wdiReqStatusCB;
1269
1270 /*The user data passed in by UMAC, it will be sent back when the above
1271 function pointer will be called */
1272 void* pUserData;
1273}WDI_EndScanReqParamsType;
1274
1275/*---------------------------------------------------------------------------
1276 WDI_PhyChanBondState
1277---------------------------------------------------------------------------*/
1278typedef enum
1279{
1280 WDI_PHY_SINGLE_CHANNEL_CENTERED = 0,
1281 WDI_PHY_DOUBLE_CHANNEL_LOW_PRIMARY = 1,
1282 WDI_PHY_DOUBLE_CHANNEL_CENTERED = 2,
Jeff Johnsone7245742012-09-05 17:12:55 -07001283 WDI_PHY_DOUBLE_CHANNEL_HIGH_PRIMARY = 3,
1284#ifdef WLAN_FEATURE_11AC
1285 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_CENTERED = 4, //20/40MHZ offset LOW 40/80MHZ offset CENTERED
1286 WDI_QUADRUPLE_CHANNEL_20MHZ_CENTERED_40MHZ_CENTERED = 5, //20/40MHZ offset CENTERED 40/80MHZ offset CENTERED
1287 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_CENTERED = 6, //20/40MHZ offset HIGH 40/80MHZ offset CENTERED
1288 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_LOW = 7,//20/40MHZ offset LOW 40/80MHZ offset LOW
1289 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_LOW = 8, //20/40MHZ offset HIGH 40/80MHZ offset LOW
1290 WDI_QUADRUPLE_CHANNEL_20MHZ_LOW_40MHZ_HIGH = 9, //20/40MHZ offset LOW 40/80MHZ offset HIGH
1291 WDI_QUADRUPLE_CHANNEL_20MHZ_HIGH_40MHZ_HIGH = 10,//20/40MHZ offset-HIGH 40/80MHZ offset HIGH
1292#endif
1293 WDI_MAX_CB_STATE
Jeff Johnson295189b2012-06-20 16:38:30 -07001294} WDI_PhyChanBondState;
1295
1296/*---------------------------------------------------------------------------
1297 WDI_FinishScanReqInfoType
1298---------------------------------------------------------------------------*/
1299typedef struct
1300{
1301 /*LEARN - AP Role
1302 SCAN - STA Role*/
1303 WDI_ScanMode wdiScanMode;
1304
1305 /*Operating channel to tune to.*/
1306 wpt_uint8 ucCurrentOperatingChannel;
1307
1308 /*Channel Bonding state If 20/40 MHz is operational, this will indicate the
1309 40 MHz extension channel in combination with the control channel*/
1310 WDI_PhyChanBondState wdiCBState;
1311
1312 /*BSSID of the BSS*/
1313 wpt_macAddr macBSSID;
1314
1315 /*Whether BSS needs to be notified*/
1316 wpt_boolean bNotifyBSS;
1317
1318 /*Kind of frame to be used for notifying the BSS (Data Null, QoS Null, or
1319 CTS to Self). Must always be a valid frame type.*/
1320 wpt_uint8 ucFrameType;
1321
1322 /*UMAC has the option of passing the MAC frame to be used for notifying
1323 the BSS. If non-zero, HAL will use the MAC frame buffer pointed to by
1324 macMgmtHdr. If zero, HAL will generate the appropriate MAC frame based on
1325 frameType.*/
1326 wpt_uint8 ucFrameLength;
1327
1328 /*Pointer to the MAC frame buffer. Used only if ucFrameLength is non-zero.*/
1329 WDI_MacMgmtHdr wdiMACMgmtHdr;
1330
1331 /*Entry to hold number of active BSS to send NULL frames after SCAN*/
1332 WDI_ScanEntry wdiScanEntry;
1333
1334}WDI_FinishScanReqInfoType;
1335
1336/*---------------------------------------------------------------------------
1337 WDI_SwitchChReqInfoType
1338---------------------------------------------------------------------------*/
1339typedef struct
1340{
1341 /*Indicates the channel to switch to.*/
1342 wpt_uint8 ucChannel;
1343
1344 /*Local power constraint*/
1345 wpt_uint8 ucLocalPowerConstraint;
1346
1347 /*Secondary channel offset */
1348 WDI_HTSecondaryChannelOffset wdiSecondaryChannelOffset;
1349
1350#ifdef WLAN_FEATURE_VOWIFI
1351 wpt_int8 cMaxTxPower;
1352
1353 /*Self STA Mac address*/
1354 wpt_macAddr macSelfStaMacAddr;
1355#endif
1356 /* VO Wifi comment: BSSID is needed to identify which session issued this request. As the
1357 request has power constraints, this should be applied only to that session */
1358 /* V IMP: Keep bssId field at the end of this msg. It is used to mantain backward compatbility
1359 * by way of ignoring if using new host/old FW or old host/new FW since it is at the end of this struct
1360 */
1361 wpt_macAddr macBSSId;
1362
1363}WDI_SwitchChReqInfoType;
1364
1365/*---------------------------------------------------------------------------
1366 WDI_SwitchChReqParamsType
1367---------------------------------------------------------------------------*/
1368typedef struct
1369{
1370 /*Channel Info*/
1371 WDI_SwitchChReqInfoType wdiChInfo;
1372
1373 /*Request status callback offered by UMAC - it is called if the current
1374 req has returned PENDING as status; it delivers the status of sending
1375 the message over the BUS */
1376 WDI_ReqStatusCb wdiReqStatusCB;
1377
1378 /*The user data passed in by UMAC, it will be sent back when the above
1379 function pointer will be called */
1380 void* pUserData;
1381}WDI_SwitchChReqParamsType;
1382
1383/*---------------------------------------------------------------------------
1384 WDI_FinishScanReqParamsType
1385---------------------------------------------------------------------------*/
1386typedef struct
1387{
1388 /*Info for the Finish Scan request that will be sent down to the device*/
1389 WDI_FinishScanReqInfoType wdiReqInfo;
1390
1391 /*Request status callback offered by UMAC - it is called if the current
1392 req has returned PENDING as status; it delivers the status of sending
1393 the message over the BUS */
1394 WDI_ReqStatusCb wdiReqStatusCB;
1395
1396 /*The user data passed in by UMAC, it will be sent back when the above
1397 function pointer will be called */
1398 void* pUserData;
1399}WDI_FinishScanReqParamsType;
1400
1401/*---------------------------------------------------------------------------
1402 WDI_JoinReqInfoType
1403---------------------------------------------------------------------------*/
1404typedef struct
1405{
1406 /*Indicates the BSSID to which STA is going to associate*/
1407 wpt_macAddr macBSSID;
1408
1409 /*Indicates the MAC Address of the current Self STA*/
1410 wpt_macAddr macSTASelf;
1411
1412 /*Indicates the link State determining the entity Type e.g. BTAMP-STA, STA etc.*/
1413 wpt_uint32 linkState;
1414
1415 /*Indicates the channel to switch to.*/
1416 WDI_SwitchChReqInfoType wdiChannelInfo;
1417
1418}WDI_JoinReqInfoType;
1419
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08001420typedef enum
1421{
1422 eWDI_CHANNEL_SWITCH_SOURCE_SCAN,
1423 eWDI_CHANNEL_SWITCH_SOURCE_LISTEN,
1424 eWDI_CHANNEL_SWITCH_SOURCE_MCC,
1425 eWDI_CHANNEL_SWITCH_SOURCE_CSA,
1426 eWDI_CHANNEL_SWITCH_SOURCE_MAX = 0x7FFFFFFF
1427} WDI_ChanSwitchSource;
1428
1429/*---------------------------------------------------------------------------
1430 WDI_SwitchChReqInfoType_V1
1431---------------------------------------------------------------------------*/
1432typedef struct
1433{
1434 /*Indicates the channel to switch to.*/
1435 wpt_uint8 ucChannel;
1436
1437 /*Local power constraint*/
1438 wpt_uint8 ucLocalPowerConstraint;
1439
1440 /*Secondary channel offset */
1441 WDI_HTSecondaryChannelOffset wdiSecondaryChannelOffset;
1442
1443#ifdef WLAN_FEATURE_VOWIFI
1444 wpt_int8 cMaxTxPower;
1445 /*Self STA Mac address*/
1446 wpt_macAddr macSelfStaMacAddr;
1447#endif
1448 /* VO Wifi comment: BSSID is needed to identify which session
1449 issued this request. As the request has power constraints, this
1450 should be applied only to that session
1451 */
1452 /* V IMP: Keep bssId field at the end of this msg. It is used to
1453 maintain backward compatibility by way of ignoring if using new
1454 host/old FW or old host/new FW since it is at the end of this struct
1455 */
1456 wpt_macAddr macBSSId;
1457 /* Source of Channel Switch */
1458 WDI_ChanSwitchSource channelSwitchSrc;
1459}WDI_SwitchChReqInfoType_V1;
1460
1461/*--------------------------------------------------------------------
1462 WDI_SwitchChReqParamsType_V1
1463----------------------------------------------------------------------*/
1464typedef struct
1465{
1466 /*Channel Info*/
1467 WDI_SwitchChReqInfoType_V1 wdiChInfo;
1468
1469 /*Request status callback offered by UMAC - it is called if the current
1470 req has returned PENDING as status; it delivers the status of sending
1471 the message over the BUS */
1472 WDI_ReqStatusCb wdiReqStatusCB;
1473
1474 /*The user data passed in by UMAC, it will be sent back when the above
1475 function pointer will be called */
1476 void* pUserData;
1477}WDI_SwitchChReqParamsType_V1;
1478
Jeff Johnson295189b2012-06-20 16:38:30 -07001479/*---------------------------------------------------------------------------
1480 WDI_JoinReqParamsType
1481---------------------------------------------------------------------------*/
1482typedef struct
1483{
1484 /*Info for the Join request that will be sent down to the device*/
1485 WDI_JoinReqInfoType wdiReqInfo;
1486
1487 /*Request status callback offered by UMAC - it is called if the current
1488 req has returned PENDING as status; it delivers the status of sending
1489 the message over the BUS */
1490 WDI_ReqStatusCb wdiReqStatusCB;
1491
1492 /*The user data passed in by UMAC, it will be sent back when the above
1493 function pointer will be called */
1494 void* pUserData;
1495}WDI_JoinReqParamsType;
1496
1497/*---------------------------------------------------------------------------
1498 WDI_BssType
1499---------------------------------------------------------------------------*/
1500typedef enum
1501{
1502 WDI_INFRASTRUCTURE_MODE,
1503 WDI_INFRA_AP_MODE, //Added for softAP support
1504 WDI_IBSS_MODE,
1505 WDI_BTAMP_STA_MODE,
1506 WDI_BTAMP_AP_MODE,
1507 WDI_BSS_AUTO_MODE,
1508}WDI_BssType;
1509
1510/*---------------------------------------------------------------------------
1511 WDI_NwType
1512---------------------------------------------------------------------------*/
1513typedef enum
1514{
1515 WDI_11A_NW_TYPE,
1516 WDI_11B_NW_TYPE,
1517 WDI_11G_NW_TYPE,
1518 WDI_11N_NW_TYPE,
1519} WDI_NwType;
1520
1521/*---------------------------------------------------------------------------
1522 WDI_ConfigAction
1523---------------------------------------------------------------------------*/
1524typedef enum
1525{
1526 WDI_ADD_BSS,
1527 WDI_UPDATE_BSS
1528} WDI_ConfigAction;
1529
1530/*---------------------------------------------------------------------------
1531 WDI_HTOperatingMode
1532---------------------------------------------------------------------------*/
1533typedef enum
1534{
1535 WDI_HT_OP_MODE_PURE,
1536 WDI_HT_OP_MODE_OVERLAP_LEGACY,
1537 WDI_HT_OP_MODE_NO_LEGACY_20MHZ_HT,
1538 WDI_HT_OP_MODE_MIXED
1539
1540} WDI_HTOperatingMode;
1541
1542
1543/*---------------------------------------------------------------------------
1544 WDI_STAEntryType
1545---------------------------------------------------------------------------*/
1546typedef enum
1547{
1548 WDI_STA_ENTRY_SELF,
1549 WDI_STA_ENTRY_PEER,
1550 WDI_STA_ENTRY_BSSID,
Mohit Khanna698ba2a2012-12-04 15:08:18 -08001551 WDI_STA_ENTRY_BCAST,
1552#ifdef FEATURE_WLAN_TDLS
1553 WDI_STA_ENTRY_TDLS_PEER,
1554#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001555}WDI_STAEntryType;
1556
1557/*---------------------------------------------------------------------------
1558 WDI_ConfigActionType
1559---------------------------------------------------------------------------*/
1560typedef enum
1561{
1562 WDI_ADD_STA,
1563 WDI_UPDATE_STA
1564} WDI_ConfigActionType;
1565
1566/*----------------------------------------------------------------------------
1567 Each station added has a rate mode which specifies the sta attributes
1568 ----------------------------------------------------------------------------*/
1569typedef enum
1570{
1571 WDI_RESERVED_1 = 0,
1572 WDI_RESERVED_2,
1573 WDI_RESERVED_3,
1574 WDI_11b,
1575 WDI_11bg,
1576 WDI_11a,
1577 WDI_11n,
1578} WDI_RateModeType;
1579
1580/*---------------------------------------------------------------------------
1581 WDI_SupportedRatesType
1582---------------------------------------------------------------------------*/
1583typedef struct
1584{
1585 /*
1586 * For Self STA Entry: this represents Self Mode.
1587 * For Peer Stations, this represents the mode of the peer.
1588 * On Station:
1589 * --this mode is updated when PE adds the Self Entry.
1590 * -- OR when PE sends 'ADD_BSS' message and station context in BSS is used to indicate the mode of the AP.
1591 * ON AP:
1592 * -- this mode is updated when PE sends 'ADD_BSS' and Sta entry for that BSS is used
1593 * to indicate the self mode of the AP.
1594 * -- OR when a station is associated, PE sends 'ADD_STA' message with this mode updated.
1595 */
1596
1597 WDI_RateModeType opRateMode;
1598
1599 /* 11b, 11a and aniLegacyRates are IE rates which gives rate in unit of 500Kbps */
1600 wpt_uint16 llbRates[WDI_NUM_11B_RATES];
1601 wpt_uint16 llaRates[WDI_NUM_11A_RATES];
1602 wpt_uint16 aLegacyRates[WDI_NUM_POLARIS_RATES];
1603
1604 /*Taurus only supports 26 Titan Rates(no ESF/concat Rates will be supported)
1605 First 26 bits are reserved for those Titan rates and
1606 the last 4 bits(bit28-31) for Taurus, 2(bit26-27) bits are reserved.*/
1607 wpt_uint32 uEnhancedRateBitmap; //Titan and Taurus Rates
1608
1609 /*
1610 * 0-76 bits used, remaining reserved
1611 * bits 0-15 and 32 should be set.
1612 */
1613 wpt_uint8 aSupportedMCSSet[WDI_MAC_MAX_SUPPORTED_MCS_SET];
1614
1615 /*
1616 * RX Highest Supported Data Rate defines the highest data
1617 * rate that the STA is able to receive, in unites of 1Mbps.
1618 * This value is derived from "Supported MCS Set field" inside
1619 * the HT capability element.
1620 */
1621 wpt_uint16 aRxHighestDataRate;
1622
Jeff Johnsone7245742012-09-05 17:12:55 -07001623
1624#ifdef WLAN_FEATURE_11AC
1625 /*Indicates the Maximum MCS that can be received for each number
1626 of spacial streams */
1627 wpt_uint16 vhtRxMCSMap;
1628 /*Indicate the highest VHT data rate that the STA is able to receive*/
1629 wpt_uint16 vhtRxHighestDataRate;
1630 /*Indicates the Maximum MCS that can be transmitted for each number
1631 of spacial streams */
1632 wpt_uint16 vhtTxMCSMap;
1633 /*Indicate the highest VHT data rate that the STA is able to transmit*/
1634 wpt_uint16 vhtTxHighestDataRate;
1635#endif
1636
Jeff Johnson295189b2012-06-20 16:38:30 -07001637} WDI_SupportedRates;
1638
1639/*--------------------------------------------------------------------------
1640 WDI_HTMIMOPowerSaveState
1641 Spatial Multiplexing(SM) Power Save mode
1642 --------------------------------------------------------------------------*/
1643typedef enum
1644{
1645 WDI_HT_MIMO_PS_STATIC = 0, // Static SM Power Save mode
1646 WDI_HT_MIMO_PS_DYNAMIC = 1, // Dynamic SM Power Save mode
1647 WDI_HT_MIMO_PS_NA = 2, // reserved
1648 WDI_HT_MIMO_PS_NO_LIMIT = 3, // SM Power Save disabled
1649} WDI_HTMIMOPowerSaveState;
1650
1651/*---------------------------------------------------------------------------
1652 WDI_ConfigStaReqInfoType
1653---------------------------------------------------------------------------*/
1654typedef struct
1655{
1656 /*BSSID of STA*/
1657 wpt_macAddr macBSSID;
1658
1659 /*ASSOC ID, as assigned by UMAC*/
1660 wpt_uint16 usAssocId;
1661
1662 /*Used for configuration of different HW modules.*/
1663 WDI_STAEntryType wdiSTAType;
1664
Gopichand Nakkalae7cbc5d2013-03-27 21:09:23 -07001665 /*STA Index */
1666 wpt_uint8 staIdx;
1667
Jeff Johnson295189b2012-06-20 16:38:30 -07001668 /*Short Preamble Supported.*/
1669 wpt_uint8 ucShortPreambleSupported;
1670
1671 /*MAC Address of STA*/
1672 wpt_macAddr macSTA;
1673
1674 /*Listen interval of the STA*/
1675 wpt_uint16 usListenInterval;
1676
1677 /*Support for 11e/WMM*/
1678 wpt_uint8 ucWMMEnabled;
1679
1680 /*11n HT capable STA*/
1681 wpt_uint8 ucHTCapable;
1682
1683 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
1684 wpt_uint8 ucTXChannelWidthSet;
1685
1686 /*RIFS mode 0 - NA, 1 - Allowed*/
1687 wpt_uint8 ucRIFSMode;
1688
1689 /*L-SIG TXOP Protection mechanism
1690 0 - No Support, 1 - Supported
1691 SG - there is global field*/
1692 wpt_uint8 ucLSIGTxopProtection;
1693
1694 /*Max Ampdu Size supported by STA. Device programming.
1695 0 : 8k , 1 : 16k, 2 : 32k, 3 : 64k */
1696 wpt_uint8 ucMaxAmpduSize;
1697
1698 /*Max Ampdu density. Used by RA. 3 : 0~7 : 2^(11nAMPDUdensity -4)*/
1699 wpt_uint8 ucMaxAmpduDensity;
1700
1701 /*Max AMSDU size 1 : 3839 bytes, 0 : 7935 bytes*/
1702 wpt_uint8 ucMaxAmsduSize;
1703
1704 /*Short GI support for 40Mhz packets*/
1705 wpt_uint8 ucShortGI40Mhz;
1706
1707 /*Short GI support for 20Mhz packets*/
1708 wpt_uint8 ucShortGI20Mhz;
1709
1710 /*These rates are the intersection of peer and self capabilities.*/
1711 WDI_SupportedRates wdiSupportedRates;
1712
1713 /*Robust Management Frame (RMF) enabled/disabled*/
1714 wpt_uint8 ucRMFEnabled;
1715
1716 /* The unicast encryption type in the association */
1717 wpt_uint32 ucEncryptType;
1718
1719 /*HAL should update the existing STA entry, if this flag is set. UMAC
1720 will set this flag in case of RE-ASSOC, where we want to reuse the old
1721 STA ID.*/
1722 WDI_ConfigActionType wdiAction;
1723
1724 /*U-APSD Flags: 1b per AC. Encoded as follows:
1725 b7 b6 b5 b4 b3 b2 b1 b0 =
1726 X X X X BE BK VI VO
1727 */
1728 wpt_uint8 ucAPSD;
1729
1730 /*Max SP Length*/
1731 wpt_uint8 ucMaxSPLen;
1732
1733 /*11n Green Field preamble support*/
1734 wpt_uint8 ucGreenFieldCapable;
1735
1736 /*MIMO Power Save mode*/
1737 WDI_HTMIMOPowerSaveState wdiMIMOPS;
1738
1739 /*Delayed BA Support*/
1740 wpt_uint8 ucDelayedBASupport;
1741
1742 /*Max AMPDU duration in 32us*/
1743 wpt_uint8 us32MaxAmpduDuratio;
1744
1745 /*HT STA should set it to 1 if it is enabled in BSS
1746 HT STA should set it to 0 if AP does not support it. This indication is
1747 sent to HAL and HAL uses this flag to pickup up appropriate 40Mhz rates.
1748 */
1749 wpt_uint8 ucDsssCckMode40Mhz;
1750
1751 wpt_uint8 ucP2pCapableSta;
Jeff Johnsone7245742012-09-05 17:12:55 -07001752#ifdef WLAN_FEATURE_11AC
1753 wpt_uint8 ucVhtCapableSta;
1754 wpt_uint8 ucVhtTxChannelWidthSet;
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08001755 wpt_uint8 ucVhtTxBFEnabled;
Abhishek Singh6927fa02014-06-27 17:19:55 +05301756 wpt_uint8 vhtTxMUBformeeCapable;
Jeff Johnsone7245742012-09-05 17:12:55 -07001757#endif
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08001758
1759 wpt_uint8 ucHtLdpcEnabled;
1760 wpt_uint8 ucVhtLdpcEnabled;
Jeff Johnson295189b2012-06-20 16:38:30 -07001761}WDI_ConfigStaReqInfoType;
1762
1763
1764/*---------------------------------------------------------------------------
1765 WDI_RateSet
1766
1767 12 Bytes long because this structure can be used to represent rate
1768 and extended rate set IEs
1769 The parser assume this to be at least 12
1770---------------------------------------------------------------------------*/
1771#define WDI_RATESET_EID_MAX 12
1772
1773typedef struct
1774{
1775 wpt_uint8 ucNumRates;
1776 wpt_uint8 aRates[WDI_RATESET_EID_MAX];
1777} WDI_RateSet;
1778
1779/*---------------------------------------------------------------------------
1780 WDI_AciAifsnType
1781 access category record
1782---------------------------------------------------------------------------*/
1783typedef struct
1784{
1785 wpt_uint8 rsvd : 1;
1786 wpt_uint8 aci : 2;
1787 wpt_uint8 acm : 1;
1788 wpt_uint8 aifsn : 4;
1789} WDI_AciAifsnType;
1790
1791/*---------------------------------------------------------------------------
1792 WDI_CWType
1793 contention window size
1794---------------------------------------------------------------------------*/
1795typedef struct
1796{
1797 wpt_uint8 max : 4;
1798 wpt_uint8 min : 4;
1799} WDI_CWType;
1800
1801/*---------------------------------------------------------------------------
1802 WDI_EdcaParamRecord
1803---------------------------------------------------------------------------*/
1804typedef struct
1805{
1806 /*Access Category Record*/
1807 WDI_AciAifsnType wdiACI;
1808
1809 /*Contention WIndow Size*/
1810 WDI_CWType wdiCW;
1811
1812 /*TX Oportunity Limit*/
1813 wpt_uint16 usTXOPLimit;
1814} WDI_EdcaParamRecord;
1815
1816/*---------------------------------------------------------------------------
1817 WDI_EDCAParamsType
1818---------------------------------------------------------------------------*/
1819typedef struct
1820{
1821 /*BSS Index*/
1822 wpt_uint8 ucBSSIdx;
1823
1824 /*?*/
1825 wpt_boolean bHighPerformance;
1826
1827 /*Best Effort*/
1828 WDI_EdcaParamRecord wdiACBE;
1829
1830 /*Background*/
1831 WDI_EdcaParamRecord wdiACBK;
1832
1833 /*Video*/
1834 WDI_EdcaParamRecord wdiACVI;
1835
1836 /*Voice*/
1837 WDI_EdcaParamRecord acvo; // voice
1838} WDI_EDCAParamsType;
1839
1840/* operMode in ADD BSS message */
1841#define WDI_BSS_OPERATIONAL_MODE_AP 0
1842#define WDI_BSS_OPERATIONAL_MODE_STA 1
1843
1844/*---------------------------------------------------------------------------
1845 WDI_ConfigBSSRspParamsType
1846---------------------------------------------------------------------------*/
1847typedef struct
1848{
1849 /*Status of the response*/
1850 WDI_Status wdiStatus;
1851
1852 /*BSSID of the BSS*/
1853 wpt_macAddr macBSSID;
1854
1855 /*BSS Index*/
1856 wpt_uint8 ucBSSIdx;
1857
1858 /*Unicast DPU signature*/
1859 wpt_uint8 ucUcastSig;
1860
1861 /*Broadcast DPU Signature*/
1862 wpt_uint8 ucBcastSig;
1863
1864 /*MAC Address of STA*/
1865 wpt_macAddr macSTA;
1866
1867 /*BSS STA ID*/
1868 wpt_uint8 ucSTAIdx;
1869
1870#ifdef WLAN_FEATURE_VOWIFI
1871 /*HAL fills in the tx power used for mgmt frames in this field */
1872 wpt_int8 ucTxMgmtPower;
1873#endif
1874
1875}WDI_ConfigBSSRspParamsType;
1876
1877/*---------------------------------------------------------------------------
1878 WDI_DelBSSReqParamsType
1879---------------------------------------------------------------------------*/
1880typedef struct
1881{
1882 /*BSS Index of the BSS*/
1883 wpt_uint8 ucBssIdx;
1884
1885 /*Request status callback offered by UMAC - it is called if the current
1886 req has returned PENDING as status; it delivers the status of sending
1887 the message over the BUS */
1888 WDI_ReqStatusCb wdiReqStatusCB;
1889
1890 /*The user data passed in by UMAC, it will be sent back when the above
1891 function pointer will be called */
1892 void* pUserData;
1893}WDI_DelBSSReqParamsType;
1894
1895/*---------------------------------------------------------------------------
1896 WDI_DelBSSRspParamsType
1897---------------------------------------------------------------------------*/
1898typedef struct
1899{
1900 /*Status of the response*/
1901 WDI_Status wdiStatus;
1902
1903 /*BSSID of the BSS*/
1904 wpt_macAddr macBSSID;
1905
1906 wpt_uint8 ucBssIdx;
1907
1908}WDI_DelBSSRspParamsType;
1909
1910/*---------------------------------------------------------------------------
1911 WDI_ConfigSTARspParamsType
1912---------------------------------------------------------------------------*/
1913typedef struct
1914{
1915 /*Status of the response*/
1916 WDI_Status wdiStatus;
1917
1918 /*STA Idx allocated by HAL*/
1919 wpt_uint8 ucSTAIdx;
1920
1921 /*MAC Address of STA*/
1922 wpt_macAddr macSTA;
1923
1924 /* BSSID Index of BSS to which the station is associated */
1925 wpt_uint8 ucBssIdx;
1926
1927 /* DPU Index - PTK */
1928 wpt_uint8 ucDpuIndex;
1929
1930 /* Bcast DPU Index - GTK */
1931 wpt_uint8 ucBcastDpuIndex;
1932
1933 /* Management DPU Index - IGTK - Why is it called bcastMgmtDpuIdx? */
1934 wpt_uint8 ucBcastMgmtDpuIdx;
1935
1936 /*Unicast DPU signature*/
1937 wpt_uint8 ucUcastSig;
1938
1939 /*Broadcast DPU Signature*/
1940 wpt_uint8 ucBcastSig;
1941
1942 /* IGTK DPU signature*/
1943 wpt_uint8 ucMgmtSig;
1944
1945}WDI_ConfigSTARspParamsType;
1946
1947/*---------------------------------------------------------------------------
1948 WDI_PostAssocRspParamsType
1949---------------------------------------------------------------------------*/
1950typedef struct
1951{
1952 /*Status of the response*/
1953 WDI_Status wdiStatus;
1954
1955 /*Parameters related to the BSS*/
1956 WDI_ConfigBSSRspParamsType bssParams;
1957
1958 /*Parameters related to the self STA*/
1959 WDI_ConfigSTARspParamsType staParams;
1960
1961}WDI_PostAssocRspParamsType;
1962
1963/*---------------------------------------------------------------------------
1964 WDI_DelSTAReqParamsType
1965---------------------------------------------------------------------------*/
1966typedef struct
1967{
1968 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
1969 wpt_uint8 ucSTAIdx;
1970
1971 /*Request status callback offered by UMAC - it is called if the current
1972 req has returned PENDING as status; it delivers the status of sending
1973 the message over the BUS */
1974 WDI_ReqStatusCb wdiReqStatusCB;
1975
1976 /*The user data passed in by UMAC, it will be sent back when the above
1977 function pointer will be called */
1978 void* pUserData;
1979}WDI_DelSTAReqParamsType;
1980
1981/*---------------------------------------------------------------------------
1982 WDI_DelSTARspParamsType
1983---------------------------------------------------------------------------*/
1984typedef struct
1985{
1986 /*Status of the response*/
1987 WDI_Status wdiStatus;
1988
1989 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
1990 wpt_uint8 ucSTAIdx;
1991}WDI_DelSTARspParamsType;
1992
1993/*---------------------------------------------------------------------------
1994 WDI_EncryptType
1995---------------------------------------------------------------------------*/
1996typedef enum
1997{
1998 WDI_ENCR_NONE,
1999 WDI_ENCR_WEP40,
2000 WDI_ENCR_WEP104,
2001 WDI_ENCR_TKIP,
2002 WDI_ENCR_CCMP,
2003#if defined(FEATURE_WLAN_WAPI)
2004 WDI_ENCR_WPI,
2005#endif
2006 WDI_ENCR_AES_128_CMAC
2007} WDI_EncryptType;
2008
2009/*---------------------------------------------------------------------------
2010 WDI_KeyDirectionType
2011---------------------------------------------------------------------------*/
2012typedef enum
2013{
2014 WDI_TX_ONLY,
2015 WDI_RX_ONLY,
2016 WDI_TX_RX,
Jeff Johnson295189b2012-06-20 16:38:30 -07002017 WDI_TX_DEFAULT,
Jeff Johnson295189b2012-06-20 16:38:30 -07002018 WDI_DONOT_USE_KEY_DIRECTION
2019} WDI_KeyDirectionType;
2020
2021#define WDI_MAX_ENCR_KEYS 4
2022#define WDI_MAX_KEY_LENGTH 32
2023#if defined(FEATURE_WLAN_WAPI)
2024#define WDI_MAX_KEY_RSC_LEN 16
2025#define WDI_WAPI_KEY_RSC_LEN 16
2026#else
2027#define WDI_MAX_KEY_RSC_LEN 8
2028#endif
2029
2030typedef struct
2031{
2032 /* Key ID */
2033 wpt_uint8 keyId;
2034 /* 0 for multicast */
2035 wpt_uint8 unicast;
2036 /* Key Direction */
2037 WDI_KeyDirectionType keyDirection;
2038 /* Usage is unknown */
2039 wpt_uint8 keyRsc[WDI_MAX_KEY_RSC_LEN];
2040 /* =1 for authenticator, =0 for supplicant */
2041 wpt_uint8 paeRole;
2042 wpt_uint16 keyLength;
2043 wpt_uint8 key[WDI_MAX_KEY_LENGTH];
2044
2045}WDI_KeysType;
2046
2047/*---------------------------------------------------------------------------
2048 WDI_SetBSSKeyReqInfoType
2049---------------------------------------------------------------------------*/
2050typedef struct
2051{
2052 /*BSS Index of the BSS*/
2053 wpt_uint8 ucBssIdx;
2054
2055 /*Encryption Type used with peer*/
2056 WDI_EncryptType wdiEncType;
2057
2058 /*Number of keys*/
2059 wpt_uint8 ucNumKeys;
2060
2061 /*Array of keys.*/
2062 WDI_KeysType aKeys[WDI_MAX_ENCR_KEYS];
2063
2064 /*Control for Replay Count, 1= Single TID based replay count on Tx
2065 0 = Per TID based replay count on TX */
2066 wpt_uint8 ucSingleTidRc;
2067}WDI_SetBSSKeyReqInfoType;
2068
2069/*---------------------------------------------------------------------------
2070 WDI_SetBSSKeyReqParamsType
2071---------------------------------------------------------------------------*/
2072typedef struct
2073{
2074 /*Key Info */
2075 WDI_SetBSSKeyReqInfoType wdiBSSKeyInfo;
2076
2077 /*Request status callback offered by UMAC - it is called if the current
2078 req has returned PENDING as status; it delivers the status of sending
2079 the message over the BUS */
2080 WDI_ReqStatusCb wdiReqStatusCB;
2081
2082 /*The user data passed in by UMAC, it will be sent back when the above
2083 function pointer will be called */
2084 void* pUserData;
2085}WDI_SetBSSKeyReqParamsType;
2086
2087/*---------------------------------------------------------------------------
2088 WDI_WepType
2089---------------------------------------------------------------------------*/
2090typedef enum
2091{
2092 WDI_WEP_STATIC,
2093 WDI_WEP_DYNAMIC
2094
2095} WDI_WepType;
2096
2097/*---------------------------------------------------------------------------
2098 WDI_RemoveBSSKeyReqInfoType
2099---------------------------------------------------------------------------*/
2100typedef struct
2101{
2102 /*BSS Index of the BSS*/
2103 wpt_uint8 ucBssIdx;
2104
2105 /*Encryption Type used with peer*/
2106 WDI_EncryptType wdiEncType;
2107
2108 /*Key Id*/
2109 wpt_uint8 ucKeyId;
2110
2111 /*STATIC/DYNAMIC. Used in Nullifying in Key Descriptors for Static/Dynamic
2112 keys*/
2113 WDI_WepType wdiWEPType;
2114}WDI_RemoveBSSKeyReqInfoType;
2115
2116/*---------------------------------------------------------------------------
2117 WDI_RemoveBSSKeyReqParamsType
2118---------------------------------------------------------------------------*/
2119typedef struct
2120{
2121 /*Key Info */
2122 WDI_RemoveBSSKeyReqInfoType wdiKeyInfo;
2123
2124 /*Request status callback offered by UMAC - it is called if the current
2125 req has returned PENDING as status; it delivers the status of sending
2126 the message over the BUS */
2127 WDI_ReqStatusCb wdiReqStatusCB;
2128
2129 /*The user data passed in by UMAC, it will be sent back when the above
2130 function pointer will be called */
2131 void* pUserData;
2132}WDI_RemoveBSSKeyReqParamsType;
2133
2134/*---------------------------------------------------------------------------
2135 WDI_SetSTAKeyReqInfoType
2136---------------------------------------------------------------------------*/
2137typedef struct
2138{
2139 /*STA Index*/
2140 wpt_uint8 ucSTAIdx;
2141
2142 /*Encryption Type used with peer*/
2143 WDI_EncryptType wdiEncType;
2144
2145 /*STATIC/DYNAMIC*/
2146 WDI_WepType wdiWEPType;
2147
2148 /*Default WEP key, valid only for static WEP, must between 0 and 3.*/
2149 wpt_uint8 ucDefWEPIdx;
2150
2151 /*Number of keys*/
2152 wpt_uint8 ucNumKeys;
2153
2154 /*Array of keys.*/
2155 WDI_KeysType wdiKey[WDI_MAX_ENCR_KEYS];
2156
2157 /*Control for Replay Count, 1= Single TID based replay count on Tx
2158 0 = Per TID based replay count on TX */
2159 wpt_uint8 ucSingleTidRc;
2160}WDI_SetSTAKeyReqInfoType;
2161
2162/*---------------------------------------------------------------------------
2163 WDI_ConfigBSSReqInfoType
2164---------------------------------------------------------------------------*/
2165typedef struct
2166{
2167 /*Peer BSSID*/
2168 wpt_macAddr macBSSID;
2169
2170 /*Self MAC Address*/
2171 wpt_macAddr macSelfAddr;
2172
2173 /*BSS Type*/
2174 WDI_BssType wdiBSSType;
2175
2176 /*Operational Mode: AP =0, STA = 1*/
2177 wpt_uint8 ucOperMode;
2178
2179 /*Network Type*/
2180 WDI_NwType wdiNWType;
2181
2182 /*Used to classify PURE_11G/11G_MIXED to program MTU*/
2183 wpt_uint8 ucShortSlotTimeSupported;
2184
2185 /*Co-exist with 11a STA*/
2186 wpt_uint8 ucllaCoexist;
2187
2188 /*Co-exist with 11b STA*/
2189 wpt_uint8 ucllbCoexist;
2190
2191 /*Co-exist with 11g STA*/
2192 wpt_uint8 ucllgCoexist;
2193
2194 /*Coexistence with 11n STA*/
2195 wpt_uint8 ucHT20Coexist;
2196
2197 /*Non GF coexist flag*/
2198 wpt_uint8 ucllnNonGFCoexist;
2199
2200 /*TXOP protection support*/
2201 wpt_uint8 ucTXOPProtectionFullSupport;
2202
2203 /*RIFS mode*/
2204 wpt_uint8 ucRIFSMode;
2205
2206 /*Beacon Interval in TU*/
2207 wpt_uint16 usBeaconInterval;
2208
2209 /*DTIM period*/
2210 wpt_uint8 ucDTIMPeriod;
2211
2212 /*TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz*/
2213 wpt_uint8 ucTXChannelWidthSet;
2214
2215 /*Operating channel*/
2216 wpt_uint8 ucCurrentOperChannel;
2217
2218 /*Extension channel for channel bonding*/
2219 wpt_uint8 ucCurrentExtChannel;
2220
2221 /*Context of the station being added in HW.*/
2222 WDI_ConfigStaReqInfoType wdiSTAContext;
2223
2224 /*SSID of the BSS*/
2225 WDI_MacSSid wdiSSID;
2226
2227 /*HAL should update the existing BSS entry, if this flag is set. UMAC will
2228 set this flag in case of RE-ASSOC, where we want to reuse the old BSSID*/
2229 WDI_ConfigAction wdiAction;
2230
2231 /*Basic Rate Set*/
2232 WDI_RateSet wdiRateSet;
2233
2234 /*Enable/Disable HT capabilities of the BSS*/
2235 wpt_uint8 ucHTCapable;
2236
2237 /* Enable/Disable OBSS protection */
2238 wpt_uint8 ucObssProtEnabled;
2239
2240 /*RMF enabled/disabled*/
2241 wpt_uint8 ucRMFEnabled;
2242
2243 /*Determines the current HT Operating Mode operating mode of the
2244 802.11n STA*/
2245 WDI_HTOperatingMode wdiHTOperMod;
2246
2247 /*Dual CTS Protection: 0 - Unused, 1 - Used*/
2248 wpt_uint8 ucDualCTSProtection;
2249
2250 /* Probe Response Max retries */
2251 wpt_uint8 ucMaxProbeRespRetryLimit;
2252
2253 /* To Enable Hidden ssid */
2254 wpt_uint8 bHiddenSSIDEn;
2255
2256 /* To Enable Disable FW Proxy Probe Resp */
2257 wpt_uint8 bProxyProbeRespEn;
2258
2259 /* Boolean to indicate if EDCA params are valid. UMAC might not have valid
2260 EDCA params or might not desire to apply EDCA params during config BSS.
2261 0 implies Not Valid ; Non-Zero implies valid*/
2262 wpt_uint8 ucEDCAParamsValid;
2263
2264 /*EDCA Parameters for BK*/
2265 WDI_EdcaParamRecord wdiBKEDCAParams;
2266
2267 /*EDCA Parameters for BE*/
2268 WDI_EdcaParamRecord wdiBEEDCAParams;
2269
2270 /*EDCA Parameters for VI*/
2271 WDI_EdcaParamRecord wdiVIEDCAParams;
2272
2273 /*EDCA Parameters for VO*/
2274 WDI_EdcaParamRecord wdiVOEDCAParams;
2275
2276#ifdef WLAN_FEATURE_VOWIFI
2277 /*max power to be used after applying the power constraint, if any */
2278 wpt_int8 cMaxTxPower;
2279#endif
2280
2281 /* Persona for the BSS can be STA,AP,GO,CLIENT, same as Connection Mode */
2282 wpt_uint8 ucPersona;
2283
2284 /* Spectrum Mangement Indicator */
2285 wpt_uint8 bSpectrumMgtEn;
2286
2287#ifdef WLAN_FEATURE_VOWIFI_11R
2288 wpt_uint8 bExtSetStaKeyParamValid;
2289 WDI_SetSTAKeyReqInfoType wdiExtSetKeyParam;
2290#endif
2291
Jeff Johnsone7245742012-09-05 17:12:55 -07002292#ifdef WLAN_FEATURE_11AC
2293 wpt_uint8 ucVhtCapableSta;
2294 wpt_uint8 ucVhtTxChannelWidthSet;
2295#endif
2296
Jeff Johnson295189b2012-06-20 16:38:30 -07002297}WDI_ConfigBSSReqInfoType;
2298
2299/*---------------------------------------------------------------------------
2300 WDI_PostAssocReqParamsType
2301---------------------------------------------------------------------------*/
2302typedef struct
2303{
2304 /*Config STA arguments.*/
2305 WDI_ConfigStaReqInfoType wdiSTAParams;
2306
2307 /*Config BSS Arguments*/
2308 WDI_ConfigBSSReqInfoType wdiBSSParams;
2309
2310 /*Request status callback offered by UMAC - it is called if the current
2311 req has returned PENDING as status; it delivers the status of sending
2312 the message over the BUS */
2313 WDI_ReqStatusCb wdiReqStatusCB;
2314
2315 /*The user data passed in by UMAC, it will be sent back when the above
2316 function pointer will be called */
2317 void* pUserData;
2318}WDI_PostAssocReqParamsType;
2319
2320/*---------------------------------------------------------------------------
2321 WDI_ConfigBSSReqParamsType
2322---------------------------------------------------------------------------*/
2323typedef struct
2324{
2325 /*Info for the Join request that will be sent down to the device*/
2326 WDI_ConfigBSSReqInfoType wdiReqInfo;
2327
2328 /*Request status callback offered by UMAC - it is called if the current
2329 req has returned PENDING as status; it delivers the status of sending
2330 the message over the BUS */
2331 WDI_ReqStatusCb wdiReqStatusCB;
2332
2333 /*The user data passed in by UMAC, it will be sent back when the above
2334 function pointer will be called */
2335 void* pUserData;
2336}WDI_ConfigBSSReqParamsType;
2337
2338/*---------------------------------------------------------------------------
2339 WDI_SetSTAKeyReqParamsType
2340---------------------------------------------------------------------------*/
2341typedef struct
2342{
2343 /*Key Info*/
2344 WDI_SetSTAKeyReqInfoType wdiKeyInfo;
2345
2346 /*Request status callback offered by UMAC - it is called if the current
2347 req has returned PENDING as status; it delivers the status of sending
2348 the message over the BUS */
2349 WDI_ReqStatusCb wdiReqStatusCB;
2350
2351 /*The user data passed in by UMAC, it will be sent back when the above
2352 function pointer will be called */
2353 void* pUserData;
2354}WDI_SetSTAKeyReqParamsType;
2355
2356/*---------------------------------------------------------------------------
2357 WDI_RemoveSTAKeyReqInfoType
2358---------------------------------------------------------------------------*/
2359typedef struct
2360{
2361 /*STA Index*/
2362 wpt_uint8 ucSTAIdx;
2363
2364 /*Encryption Type used with peer*/
2365 WDI_EncryptType wdiEncType;
2366
2367 /*Key Id*/
2368 wpt_uint8 ucKeyId;
2369
2370 /*Whether to invalidate the Broadcast key or Unicast key. In case of WEP,
2371 the same key is used for both broadcast and unicast.*/
2372 wpt_uint8 ucUnicast;
2373}WDI_RemoveSTAKeyReqInfoType;
2374
2375/*---------------------------------------------------------------------------
2376 WDI_RemoveSTAKeyReqParamsType
2377---------------------------------------------------------------------------*/
2378typedef struct
2379{
2380 /*Key Info */
2381 WDI_RemoveSTAKeyReqInfoType wdiKeyInfo;
2382
2383 /*Request status callback offered by UMAC - it is called if the current
2384 req has returned PENDING as status; it delivers the status of sending
2385 the message over the BUS */
2386 WDI_ReqStatusCb wdiReqStatusCB;
2387
2388 /*The user data passed in by UMAC, it will be sent back when the above
2389 function pointer will be called */
2390 void* pUserData;
2391}WDI_RemoveSTAKeyReqParamsType;
2392
2393/*---------------------------------------------------------------------------
2394 QOS Parameters
2395---------------------------------------------------------------------------*/
2396
2397/*---------------------------------------------------------------------------
2398 WDI_TSInfoTfc
2399---------------------------------------------------------------------------*/
2400typedef struct
2401{
2402 wpt_uint16 ackPolicy:2;
2403 wpt_uint16 userPrio:3;
2404 wpt_uint16 psb:1;
2405 wpt_uint16 aggregation : 1;
2406 wpt_uint16 accessPolicy : 2;
2407 wpt_uint16 direction : 2;
2408 wpt_uint16 tsid : 4;
2409 wpt_uint16 trafficType : 1;
2410} WDI_TSInfoTfc;
2411
2412/*---------------------------------------------------------------------------
2413 WDI_TSInfoSch
2414---------------------------------------------------------------------------*/
2415typedef struct
2416{
2417 wpt_uint8 rsvd : 7;
2418 wpt_uint8 schedule : 1;
2419} WDI_TSInfoSch;
2420
2421/*---------------------------------------------------------------------------
2422 WDI_TSInfoType
2423---------------------------------------------------------------------------*/
2424typedef struct
2425{
2426 WDI_TSInfoTfc wdiTraffic;
2427 WDI_TSInfoSch wdiSchedule;
2428} WDI_TSInfoType;
2429
2430/*---------------------------------------------------------------------------
2431 WDI_TspecIEType
2432---------------------------------------------------------------------------*/
2433typedef struct
2434{
2435 wpt_uint8 ucType;
2436 wpt_uint8 ucLength;
2437 WDI_TSInfoType wdiTSinfo;
2438 wpt_uint16 usNomMsduSz;
2439 wpt_uint16 usMaxMsduSz;
2440 wpt_uint32 uMinSvcInterval;
2441 wpt_uint32 uMaxSvcInterval;
2442 wpt_uint32 uInactInterval;
2443 wpt_uint32 uSuspendInterval;
2444 wpt_uint32 uSvcStartTime;
2445 wpt_uint32 uMinDataRate;
2446 wpt_uint32 uMeanDataRate;
2447 wpt_uint32 uPeakDataRate;
2448 wpt_uint32 uMaxBurstSz;
2449 wpt_uint32 uDelayBound;
2450 wpt_uint32 uMinPhyRate;
2451 wpt_uint16 usSurplusBw;
2452 wpt_uint16 usMediumTime;
2453}WDI_TspecIEType;
2454
2455/*---------------------------------------------------------------------------
2456 WDI_AddTSReqInfoType
2457---------------------------------------------------------------------------*/
2458typedef struct
2459{
2460 /*STA Index*/
2461 wpt_uint8 ucSTAIdx;
2462
2463 /*Identifier for TSpec*/
2464 wpt_uint16 ucTspecIdx;
2465
2466 /*Tspec IE negotiated OTA*/
2467 WDI_TspecIEType wdiTspecIE;
2468
2469 /*UAPSD delivery and trigger enabled flags */
2470 wpt_uint8 ucUapsdFlags;
2471
2472 /*SI for each AC*/
2473 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
2474
2475 /*Suspend Interval for each AC*/
2476 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
2477
2478 /*DI for each AC*/
2479 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
2480
2481}WDI_AddTSReqInfoType;
2482
2483
2484/*---------------------------------------------------------------------------
2485 WDI_AddTSReqParamsType
2486---------------------------------------------------------------------------*/
2487typedef struct
2488{
2489 /*TSpec Info */
2490 WDI_AddTSReqInfoType wdiTsInfo;
2491
2492 /*Request status callback offered by UMAC - it is called if the current
2493 req has returned PENDING as status; it delivers the status of sending
2494 the message over the BUS */
2495 WDI_ReqStatusCb wdiReqStatusCB;
2496
2497 /*The user data passed in by UMAC, it will be sent back when the above
2498 function pointer will be called */
2499 void* pUserData;
2500}WDI_AddTSReqParamsType;
2501
2502/*---------------------------------------------------------------------------
2503 WDI_DelTSReqInfoType
2504---------------------------------------------------------------------------*/
2505typedef struct
2506{
2507 /*STA Index*/
2508 wpt_uint8 ucSTAIdx;
2509
2510 /*Identifier for TSpec*/
2511 wpt_uint16 ucTspecIdx;
2512
2513 /*BSSID of the BSS*/
2514 wpt_macAddr macBSSID;
2515}WDI_DelTSReqInfoType;
2516
2517/*---------------------------------------------------------------------------
2518 WDI_DelTSReqParamsType
2519---------------------------------------------------------------------------*/
2520typedef struct
2521{
2522 /*Del TSpec Info*/
2523 WDI_DelTSReqInfoType wdiDelTSInfo;
2524
2525 /*Request status callback offered by UMAC - it is called if the current
2526 req has returned PENDING as status; it delivers the status of sending
2527 the message over the BUS */
2528 WDI_ReqStatusCb wdiReqStatusCB;
2529
2530 /*The user data passed in by UMAC, it will be sent back when the above
2531 function pointer will be called */
2532 void* pUserData;
2533}WDI_DelTSReqParamsType;
2534
2535/*---------------------------------------------------------------------------
2536 WDI_UpdateEDCAInfoType
2537---------------------------------------------------------------------------*/
2538typedef struct
2539{
krunal soni0b366c02013-07-17 19:55:57 -07002540 /*BSS Index of the BSS*/
2541 wpt_uint16 ucBssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07002542
Jeff Johnson295189b2012-06-20 16:38:30 -07002543 /*EDCA params for BE*/
2544 WDI_EdcaParamRecord wdiEdcaBEInfo;
2545
2546 /*EDCA params for BK*/
2547 WDI_EdcaParamRecord wdiEdcaBKInfo;
2548
2549 /*EDCA params for VI*/
2550 WDI_EdcaParamRecord wdiEdcaVIInfo;
2551
2552 /*EDCA params for VO*/
2553 WDI_EdcaParamRecord wdiEdcaVOInfo;
2554
2555}WDI_UpdateEDCAInfoType;
2556
2557/*---------------------------------------------------------------------------
2558 WDI_UpdateEDCAParamsType
2559---------------------------------------------------------------------------*/
2560typedef struct
2561{
2562 /*EDCA Info */
2563 WDI_UpdateEDCAInfoType wdiEDCAInfo;
2564
2565 /*Request status callback offered by UMAC - it is called if the current
2566 req has returned PENDING as status; it delivers the status of sending
2567 the message over the BUS */
2568 WDI_ReqStatusCb wdiReqStatusCB;
2569
2570 /*The user data passed in by UMAC, it will be sent back when the above
2571 function pointer will be called */
2572 void* pUserData;
2573}WDI_UpdateEDCAParamsType;
2574
2575/*---------------------------------------------------------------------------
2576 WDI_AddBASessionReqinfoType
2577---------------------------------------------------------------------------*/
2578typedef struct
2579{
2580 /*Indicates the station for which BA is added..*/
2581 wpt_uint8 ucSTAIdx;
2582
2583 /*The peer mac address*/
2584 wpt_macAddr macPeerAddr;
2585
2586 /*TID for which BA was negotiated*/
2587 wpt_uint8 ucBaTID;
2588
2589 /*Delayed or imediate */
2590 wpt_uint8 ucBaPolicy;
2591
2592 /*The number of buffers for this TID (baTID)*/
2593 wpt_uint16 usBaBufferSize;
2594
2595 /*BA timeout in TU's*/
2596 wpt_uint16 usBaTimeout;
2597
2598 /*b0..b3 - Fragment Number - Always set to 0
2599 b4..b15 - Starting Sequence Number of first MSDU for which this BA is setup*/
2600 wpt_uint16 usBaSSN;
2601
2602 /*Originator/Recipient*/
2603 wpt_uint8 ucBaDirection;
2604
2605}WDI_AddBASessionReqinfoType;
2606
2607
2608/*---------------------------------------------------------------------------
2609 WDI_AddBASessionReqParamsType
2610---------------------------------------------------------------------------*/
2611typedef struct
2612{
2613 /*BA Session Info Type*/
2614 WDI_AddBASessionReqinfoType wdiBASessionInfoType;
2615
2616 /*Request status callback offered by UMAC - it is called if the current
2617 req has returned PENDING as status; it delivers the status of sending
2618 the message over the BUS */
2619 WDI_ReqStatusCb wdiReqStatusCB;
2620
2621 /*The user data passed in by UMAC, it will be sent back when the above
2622 function pointer will be called */
2623 void* pUserData;
2624}WDI_AddBASessionReqParamsType;
2625
2626/*---------------------------------------------------------------------------
2627 WDI_AddBASessionRspParamsType
2628---------------------------------------------------------------------------*/
2629typedef struct
2630{
2631 /*Status of the response*/
2632 WDI_Status wdiStatus;
2633
2634 /* Dialog token */
2635 wpt_uint8 ucBaDialogToken;
2636
2637 /* TID for which the BA session has been setup */
2638 wpt_uint8 ucBaTID;
2639
2640 /* BA Buffer Size allocated for the current BA session */
2641 wpt_uint8 ucBaBufferSize;
2642
2643 /* BA session ID */
2644 wpt_uint16 usBaSessionID;
2645
2646 /* Reordering Window buffer */
2647 wpt_uint8 ucWinSize;
2648
2649 /*Station Index to id the sta */
2650 wpt_uint8 ucSTAIdx;
2651
2652 /* Starting Sequence Number */
2653 wpt_uint16 usBaSSN;
2654
2655}WDI_AddBASessionRspParamsType;
2656
2657/*---------------------------------------------------------------------------
Siddharth Bhal171788a2014-09-29 21:02:40 +05302658 WDI_SpoofMacAddrRspParamType
2659---------------------------------------------------------------------------*/
2660typedef struct
2661{
2662 /* wdi status */
2663 wpt_uint32 wdiStatus;
2664
2665 /* Reserved Field */
2666 wpt_uint32 reserved;
2667
2668}WDI_SpoofMacAddrRspParamType;
2669/*---------------------------------------------------------------------------
Siddharth Bhal64246172015-02-27 01:04:37 +05302670 WDI_GetFrameLogRspParamType
2671---------------------------------------------------------------------------*/
2672typedef struct
2673{
2674 /* wdi status */
2675 wpt_uint32 wdiStatus;
2676}WDI_GetFrameLogRspParamType;
2677/*---------------------------------------------------------------------------
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05302678 WDI_MgmtLoggingRspParamType
2679---------------------------------------------------------------------------*/
2680typedef struct
2681{
2682 /* wdi status */
2683 wpt_uint32 wdiStatus;
2684
2685}WDI_MgmtLoggingRspParamType;
2686/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07002687 WDI_AddBAReqinfoType
2688---------------------------------------------------------------------------*/
2689typedef struct
2690{
2691 /*Indicates the station for which BA is added..*/
2692 wpt_uint8 ucSTAIdx;
2693
2694 /* Session Id */
2695 wpt_uint8 ucBaSessionID;
2696
2697 /* Reorder Window Size */
2698 wpt_uint8 ucWinSize;
2699
2700#ifdef FEATURE_ON_CHIP_REORDERING
2701 wpt_boolean bIsReorderingDoneOnChip;
2702#endif
2703
2704}WDI_AddBAReqinfoType;
2705
2706
2707/*---------------------------------------------------------------------------
2708 WDI_AddBAReqParamsType
2709---------------------------------------------------------------------------*/
2710typedef struct
2711{
2712 /*BA Info Type*/
2713 WDI_AddBAReqinfoType wdiBAInfoType;
2714
2715 /*Request status callback offered by UMAC - it is called if the current
2716 req has returned PENDING as status; it delivers the status of sending
2717 the message over the BUS */
2718 WDI_ReqStatusCb wdiReqStatusCB;
2719
2720 /*The user data passed in by UMAC, it will be sent back when the above
2721 function pointer will be called */
2722 void* pUserData;
2723}WDI_AddBAReqParamsType;
2724
2725
2726/*---------------------------------------------------------------------------
2727 WDI_AddBARspinfoType
2728---------------------------------------------------------------------------*/
2729typedef struct
2730{
2731 /*Status of the response*/
2732 WDI_Status wdiStatus;
2733
2734 /* Dialog token */
2735 wpt_uint8 ucBaDialogToken;
2736
2737}WDI_AddBARspinfoType;
2738
2739/*---------------------------------------------------------------------------
2740 WDI_TriggerBAReqCandidateType
2741---------------------------------------------------------------------------*/
2742typedef struct
2743{
2744 /* STA index */
2745 wpt_uint8 ucSTAIdx;
2746
2747 /* TID bit map for the STA's*/
2748 wpt_uint8 ucTidBitmap;
2749
2750}WDI_TriggerBAReqCandidateType;
2751
2752
2753/*---------------------------------------------------------------------------
2754 WDI_TriggerBAReqinfoType
2755---------------------------------------------------------------------------*/
2756typedef struct
2757{
2758 /*Indicates the station for which BA is added..*/
2759 wpt_uint8 ucSTAIdx;
2760
2761 /* Session Id */
2762 wpt_uint8 ucBASessionID;
2763
2764 /* Trigger BA Request candidate count */
2765 wpt_uint16 usBACandidateCnt;
2766
2767 /* WDI_TriggerBAReqCandidateType followed by this*/
2768
2769}WDI_TriggerBAReqinfoType;
2770
2771
2772/*---------------------------------------------------------------------------
2773 WDI_TriggerBAReqParamsType
2774---------------------------------------------------------------------------*/
2775typedef struct
2776{
2777 /*BA Trigger Info Type*/
2778 WDI_TriggerBAReqinfoType wdiTriggerBAInfoType;
2779
2780 /*Request status callback offered by UMAC - it is called if the current
2781 req has returned PENDING as status; it delivers the status of sending
2782 the message over the BUS */
2783 WDI_ReqStatusCb wdiReqStatusCB;
2784
2785 /*The user data passed in by UMAC, it will be sent back when the above
2786 function pointer will be called */
2787 void* pUserData;
2788}WDI_TriggerBAReqParamsType;
2789
2790/*---------------------------------------------------------------------------
2791 WDI_AddBAInfoType
2792---------------------------------------------------------------------------*/
2793typedef struct
2794{
2795 wpt_uint16 fBaEnable : 1;
2796 wpt_uint16 startingSeqNum: 12;
2797 wpt_uint16 reserved : 3;
2798}WDI_AddBAInfoType;
2799
2800/*---------------------------------------------------------------------------
2801 WDI_TriggerBARspCandidateType
2802---------------------------------------------------------------------------*/
2803#define STA_MAX_TC 8
2804
2805typedef struct
2806{
2807 /* STA index */
2808 wpt_macAddr macSTA;
2809
2810 /* BA Info */
2811 WDI_AddBAInfoType wdiBAInfo[STA_MAX_TC];
2812}WDI_TriggerBARspCandidateType;
2813
2814/*---------------------------------------------------------------------------
2815 WDI_TriggerBARspParamsType
2816---------------------------------------------------------------------------*/
2817typedef struct
2818{
2819 /*Status of the response*/
2820 WDI_Status wdiStatus;
2821
2822 /*BSSID of the BSS*/
2823 wpt_macAddr macBSSID;
2824
2825 /* Trigger BA response candidate count */
2826 wpt_uint16 usBaCandidateCnt;
2827
2828 /* WDI_TriggerBARspCandidateType followed by this*/
2829
2830}WDI_TriggerBARspParamsType;
2831
2832/*---------------------------------------------------------------------------
2833 WDI_DelBAReqinfoType
2834---------------------------------------------------------------------------*/
2835typedef struct
2836{
2837 /*Indicates the station for which BA is added..*/
2838 wpt_uint8 ucSTAIdx;
2839
2840 /*TID for which BA was negotiated*/
2841 wpt_uint8 ucBaTID;
2842
2843 /*Originator/Recipient*/
2844 wpt_uint8 ucBaDirection;
2845
2846}WDI_DelBAReqinfoType;
2847
2848/*---------------------------------------------------------------------------
2849 WDI_DelBAReqParamsType
2850---------------------------------------------------------------------------*/
2851typedef struct
2852{
2853 /*BA Info */
2854 WDI_DelBAReqinfoType wdiBAInfo;
2855
2856 /*Request status callback offered by UMAC - it is called if the current
2857 req has returned PENDING as status; it delivers the status of sending
2858 the message over the BUS */
2859 WDI_ReqStatusCb wdiReqStatusCB;
2860
2861 /*The user data passed in by UMAC, it will be sent back when the above
2862 function pointer will be called */
2863 void* pUserData;
2864}WDI_DelBAReqParamsType;
2865
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08002866/*---------------------------------------------------------------------------
2867 WDI_UpdateChannelReqinfoType
2868---------------------------------------------------------------------------*/
2869typedef struct
2870{
2871 /** primary 20 MHz channel frequency in mhz */
2872 wpt_uint32 mhz;
2873 /** Center frequency 1 in MHz*/
2874 wpt_uint32 band_center_freq1;
2875 /** Center frequency 2 in MHz - valid only for 11acvht 80plus80 mode*/
2876 wpt_uint32 band_center_freq2;
2877 /* The first 26 bits are a bit mask to indicate any channel flags,
2878 (see WLAN_HAL_CHAN_FLAG*)
2879 The last 6 bits indicate the mode (see tChannelPhyModeType)*/
2880 wpt_uint32 channel_info;
2881 /** contains min power, max power, reg power and reg class id. */
2882 wpt_uint32 reg_info_1;
2883 /** contains antennamax */
2884 wpt_uint32 reg_info_2;
2885}WDI_UpdateChannelReqinfoType;
2886
2887typedef struct
2888{
2889 wpt_uint8 numchan;
2890 WDI_UpdateChannelReqinfoType *pchanParam;
2891}WDI_UpdateChannelReqType;
2892/*---------------------------------------------------------------------------
2893 WDI_UpdateChReqParamsType
2894---------------------------------------------------------------------------*/
2895typedef struct
2896{
2897 /*BA Info */
2898 WDI_UpdateChannelReqType wdiUpdateChanParams;
2899
2900 /*Request status callback offered by UMAC - it is called if the current
2901 req has returned PENDING as status; it delivers the status of sending
2902 the message over the BUS */
2903 WDI_ReqStatusCb wdiReqStatusCB;
2904
2905 /*The user data passed in by UMAC, it will be sent back when the above
2906 function pointer will be called */
2907 void* pUserData;
2908}WDI_UpdateChReqParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07002909
2910/*---------------------------------------------------------------------------
2911 WDI_SwitchCHRspParamsType
2912---------------------------------------------------------------------------*/
2913typedef struct
2914{
2915 /*Status of the response*/
2916 WDI_Status wdiStatus;
2917
2918 /*Indicates the channel that WLAN is on*/
2919 wpt_uint8 ucChannel;
2920
2921#ifdef WLAN_FEATURE_VOWIFI
2922 /*HAL fills in the tx power used for mgmt frames in this field.*/
2923 wpt_int8 ucTxMgmtPower;
2924#endif
2925
2926}WDI_SwitchCHRspParamsType;
2927
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08002928/*--------------------------------------------------------------------
2929 WDI_SwitchChRspParamsType_V1
2930--------------------------------------------------------------------*/
2931typedef struct
2932{
2933 /*Status of the response*/
2934 WDI_Status wdiStatus;
2935
2936 /*Indicates the channel that WLAN is on*/
2937 wpt_uint8 ucChannel;
2938
2939#ifdef WLAN_FEATURE_VOWIFI
2940 /*HAL fills in the tx power used for mgmt frames in this field.*/
2941 wpt_int8 ucTxMgmtPower;
2942#endif
2943
2944 /* Source of Channel Switch */
2945 WDI_ChanSwitchSource channelSwitchSrc;
2946}WDI_SwitchChRspParamsType_V1;
2947
Jeff Johnson295189b2012-06-20 16:38:30 -07002948/*---------------------------------------------------------------------------
2949 WDI_ConfigSTAReqParamsType
2950---------------------------------------------------------------------------*/
2951typedef struct
2952{
2953 /*Info for the Join request that will be sent down to the device*/
2954 WDI_ConfigStaReqInfoType wdiReqInfo;
2955
2956 /*Request status callback offered by UMAC - it is called if the current
2957 req has returned PENDING as status; it delivers the status of sending
2958 the message over the BUS */
2959 WDI_ReqStatusCb wdiReqStatusCB;
2960
2961 /*The user data passed in by UMAC, it will be sent back when the above
2962 function pointer will be called */
2963 void* pUserData;
2964}WDI_ConfigSTAReqParamsType;
2965
2966
2967/*---------------------------------------------------------------------------
2968 WDI_UpdateBeaconParamsInfoType
2969---------------------------------------------------------------------------*/
2970
2971typedef struct
2972{
2973 /*BSS Index of the BSS*/
2974 wpt_uint8 ucBssIdx;
2975
2976 /*shortPreamble mode. HAL should update all the STA rates when it
2977 receives this message*/
2978 wpt_uint8 ucfShortPreamble;
2979 /* short Slot time.*/
2980 wpt_uint8 ucfShortSlotTime;
2981 /* Beacon Interval */
2982 wpt_uint16 usBeaconInterval;
2983 /*Protection related */
2984 wpt_uint8 ucllaCoexist;
2985 wpt_uint8 ucllbCoexist;
2986 wpt_uint8 ucllgCoexist;
2987 wpt_uint8 ucHt20MhzCoexist;
2988 wpt_uint8 ucllnNonGFCoexist;
2989 wpt_uint8 ucfLsigTXOPProtectionFullSupport;
2990 wpt_uint8 ucfRIFSMode;
2991
2992 wpt_uint16 usChangeBitmap;
2993}WDI_UpdateBeaconParamsInfoType;
2994
Mohit Khanna4a70d262012-09-11 16:30:12 -07002995#ifdef WLAN_FEATURE_11AC
2996typedef struct
2997{
2998 wpt_uint16 opMode;
2999 wpt_uint16 staId;
3000}WDI_UpdateVHTOpMode;
3001#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003002
3003/*---------------------------------------------------------------------------
3004 WDI_UpdateBeaconParamsType
3005---------------------------------------------------------------------------*/
3006typedef struct
3007{
3008 /*Update Beacon Params Info*/
3009 WDI_UpdateBeaconParamsInfoType wdiUpdateBeaconParamsInfo;
3010
3011 /*Request status callback offered by UMAC - it is called if the current
3012 req has returned PENDING as status; it delivers the status of sending
3013 the message over the BUS */
3014 WDI_ReqStatusCb wdiReqStatusCB;
3015
3016 /*The user data passed in by UMAC, it will be sent back when the above
3017 function pointer will be called */
3018 void* pUserData;
3019}WDI_UpdateBeaconParamsType;
3020
3021/*---------------------------------------------------------------------------
3022 WDI_SendBeaconParamsInfoType
3023---------------------------------------------------------------------------*/
3024
3025typedef struct {
3026
3027 /*BSSID of the BSS*/
3028 wpt_macAddr macBSSID;
3029
3030 /* Beacon data */
3031 wpt_uint8 beacon[WDI_BEACON_TEMPLATE_SIZE];
3032
3033 /* length of the template */
3034 wpt_uint32 beaconLength;
3035
Jeff Johnson295189b2012-06-20 16:38:30 -07003036 /* TIM IE offset from the beginning of the template.*/
3037 wpt_uint32 timIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07003038
Jeff Johnson295189b2012-06-20 16:38:30 -07003039 /* P2P IE offset from the beginning of the template */
3040 wpt_uint16 usP2PIeOffset;
Jeff Johnson295189b2012-06-20 16:38:30 -07003041} WDI_SendBeaconParamsInfoType;
3042
3043/*---------------------------------------------------------------------------
3044 WDI_SendBeaconParamsType
3045---------------------------------------------------------------------------*/
3046typedef struct
3047{
3048 /*Send Beacon Params Info*/
3049 WDI_SendBeaconParamsInfoType wdiSendBeaconParamsInfo;
3050
3051 /*Request status callback offered by UMAC - it is called if the current
3052 req has returned PENDING as status; it delivers the status of sending
3053 the message over the BUS */
3054 WDI_ReqStatusCb wdiReqStatusCB;
3055
3056 /*The user data passed in by UMAC, it will be sent back when the above
3057 function pointer will be called */
3058 void* pUserData;
3059}WDI_SendBeaconParamsType;
3060
3061/*---------------------------------------------------------------------------
3062 WDI_LinkStateType
3063---------------------------------------------------------------------------*/
3064typedef enum
3065{
3066 WDI_LINK_IDLE_STATE = 0,
3067 WDI_LINK_PREASSOC_STATE = 1,
3068 WDI_LINK_POSTASSOC_STATE = 2,
3069 WDI_LINK_AP_STATE = 3,
3070 WDI_LINK_IBSS_STATE = 4,
3071
3072 // BT-AMP Case
3073 WDI_LINK_BTAMP_PREASSOC_STATE = 5,
3074 WDI_LINK_BTAMP_POSTASSOC_STATE = 6,
3075 WDI_LINK_BTAMP_AP_STATE = 7,
3076 WDI_LINK_BTAMP_STA_STATE = 8,
3077
3078 // Reserved for HAL internal use
3079 WDI_LINK_LEARN_STATE = 9,
3080 WDI_LINK_SCAN_STATE = 10,
3081 WDI_LINK_FINISH_SCAN_STATE = 11,
3082 WDI_LINK_INIT_CAL_STATE = 12,
3083 WDI_LINK_FINISH_CAL_STATE = 13,
Jeff Johnson295189b2012-06-20 16:38:30 -07003084 WDI_LINK_LISTEN_STATE = 14,
Gopichand Nakkala924e4552013-05-08 19:18:14 +05303085 WDI_LINK_SEND_ACTION_STATE = 15,
Jeff Johnson295189b2012-06-20 16:38:30 -07003086 WDI_LINK_MAX = 0x7FFFFFFF
3087} WDI_LinkStateType;
3088
3089/*---------------------------------------------------------------------------
3090 WDI_SetLinkReqInfoType
3091---------------------------------------------------------------------------*/
3092typedef struct
3093{
3094 /*BSSID of the BSS*/
3095 wpt_macAddr macBSSID;
3096
3097 /*Link state*/
3098 WDI_LinkStateType wdiLinkState;
3099
3100 /*BSSID of the BSS*/
3101 wpt_macAddr macSelfStaMacAddr;
3102}WDI_SetLinkReqInfoType;
3103
3104/*---------------------------------------------------------------------------
3105 WDI_SetLinkReqParamsType
3106---------------------------------------------------------------------------*/
3107typedef struct
3108{
3109 /*Link Info*/
3110 WDI_SetLinkReqInfoType wdiLinkInfo;
3111
3112 /*Request status callback offered by UMAC - it is called if the current
3113 req has returned PENDING as status; it delivers the status of sending
3114 the message over the BUS */
3115 WDI_ReqStatusCb wdiReqStatusCB;
3116
3117 /*The user data passed in by UMAC, it will be sent back when the above
3118 function pointer will be called */
3119 void* pUserData;
3120}WDI_SetLinkReqParamsType;
3121
3122/*---------------------------------------------------------------------------
3123 WDI_GetStatsParamsInfoType
3124---------------------------------------------------------------------------*/
3125typedef struct
3126{
3127 /*Indicates the station for which Get Stats are requested..*/
3128 wpt_uint8 ucSTAIdx;
3129
3130 /* categories of stats requested */
3131 wpt_uint32 uStatsMask;
3132}WDI_GetStatsParamsInfoType;
3133
3134/*---------------------------------------------------------------------------
3135 WDI_GetStatsReqParamsType
3136---------------------------------------------------------------------------*/
3137typedef struct
3138{
3139 /*Get Stats Params Info*/
3140 WDI_GetStatsParamsInfoType wdiGetStatsParamsInfo;
3141
3142 /*Request status callback offered by UMAC - it is called if the current
3143 req has returned PENDING as status; it delivers the status of sending
3144 the message over the BUS */
3145 WDI_ReqStatusCb wdiReqStatusCB;
3146
3147 /*The user data passed in by UMAC, it will be sent back when the above
3148 function pointer will be called */
3149 void* pUserData;
3150}WDI_GetStatsReqParamsType;
3151
3152/*---------------------------------------------------------------------------
3153 WDI_GetStatsRspParamsType
3154---------------------------------------------------------------------------*/
3155typedef struct
3156{
3157 /*message type is same as the request type*/
3158 wpt_uint16 usMsgType;
3159
3160 /* length of the entire request, includes the pStatsBuf length too*/
3161 wpt_uint16 usMsgLen;
3162
3163 /*Result of the operation*/
3164 WDI_Status wdiStatus;
3165
3166 /*Indicates the station for which Get Stats are requested..*/
3167 wpt_uint8 ucSTAIdx;
3168
3169 /* categories of stats requested */
3170 wpt_uint32 uStatsMask;
3171
3172 /* The Stats buffer starts here and can be an aggregate of more than one statistics
3173 * structure depending on statsMask.*/
3174}WDI_GetStatsRspParamsType;
3175
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003176#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08003177/*---------------------------------------------------------------------------
3178 WDI_GetRoamRssiParamsInfoType
3179---------------------------------------------------------------------------*/
3180typedef struct
3181{
3182 /*Indicates the station for which Get Stats are requested..*/
3183 wpt_uint8 ucSTAIdx;
3184
3185 /* categories of stats requested */
3186 wpt_uint32 uStatsMask;
3187}WDI_GetRoamRssiParamsInfoType;
3188
3189/*---------------------------------------------------------------------------
3190 WDI_GetRoamRssiReqParamsType
3191---------------------------------------------------------------------------*/
3192typedef struct
3193{
3194 /*Get Roam Rssi Params Info*/
3195 WDI_GetRoamRssiParamsInfoType wdiGetRoamRssiParamsInfo;
3196
3197 /*Request status callback offered by UMAC - it is called if the current
3198 req has returned PENDING as status; it delivers the status of sending
3199 the message over the BUS */
3200 WDI_ReqStatusCb wdiReqStatusCB;
3201
3202 /*The user data passed in by UMAC, it will be sent back when the above
3203 function pointer will be called */
3204 void* pUserData;
3205}WDI_GetRoamRssiReqParamsType;
3206
3207/*---------------------------------------------------------------------------
3208 WDI_GetRoamRssiRspParamsType
3209---------------------------------------------------------------------------*/
3210typedef struct
3211{
3212 /*Result of the operation*/
3213 WDI_Status wdiStatus;
3214
3215 /*Indicates the station for which Get Stats are requested..*/
3216 wpt_uint8 ucSTAIdx;
3217
3218 /* roam rssi requested */
3219 wpt_int8 rssi;
3220
3221 /* The Stats buffer starts here and can be an aggregate of more than one statistics
3222 * structure depending on statsMask.*/
3223}WDI_GetRoamRssiRspParamsType;
3224#endif
3225
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003226#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07003227/*---------------------------------------------------------------------------
3228 WDI_TSMStatsParamsInfoType
3229---------------------------------------------------------------------------*/
3230typedef struct
3231{
3232 /*Indicates the station for which Get Stats are requested..*/
3233 wpt_uint8 ucTid;
3234
3235 wpt_macAddr bssid;
3236}WDI_TSMStatsParamsInfoType;
3237
3238/*---------------------------------------------------------------------------
3239 WDI_TSMStatsReqParamsType
3240---------------------------------------------------------------------------*/
3241typedef struct
3242{
3243 /*Get TSM Stats Params Info*/
3244 WDI_TSMStatsParamsInfoType wdiTsmStatsParamsInfo;
3245
3246 WDI_ReqStatusCb wdiReqStatusCB;
3247
3248 /*The user data passed in by UMAC, it will be sent back when the above
3249 function pointer will be called */
3250 void* pUserData;
3251
3252}WDI_TSMStatsReqParamsType;
3253
3254
3255/*---------------------------------------------------------------------------
3256 WDI_TSMStatsRspParamsType
3257---------------------------------------------------------------------------*/
3258typedef struct
3259{
3260 /*Indicates the status of the operation */
3261 WDI_Status wdiStatus;
3262
3263 wpt_uint16 UplinkPktQueueDly;
3264 wpt_uint16 UplinkPktQueueDlyHist[4];
3265 wpt_uint32 UplinkPktTxDly;
3266 wpt_uint16 UplinkPktLoss;
3267 wpt_uint16 UplinkPktCount;
3268 wpt_uint8 RoamingCount;
3269 wpt_uint16 RoamingDly;
3270}WDI_TSMStatsRspParamsType;
3271
3272
3273#endif
3274/*---------------------------------------------------------------------------
3275 WDI_UpdateCfgReqParamsType
3276---------------------------------------------------------------------------*/
3277typedef struct
3278{
3279 /*This is a TLV formatted buffer containing all config values that can
3280 be set through the DAL Interface
3281
3282 The TLV is expected to be formatted like this:
3283
3284 0 7 15 31 ....
3285 | CONFIG ID | CFG LEN | RESERVED | CFG BODY |
3286
3287 Or from a C construct point of VU it would look like this:
3288
3289 typedef struct WPT_PACK_POST
3290 {
3291 #ifdef WPT_BIG_ENDIAN
3292 wpt_uint32 ucCfgId:8;
3293 wpt_uint32 ucCfgLen:8;
3294 wpt_uint32 usReserved:16;
3295 #else
3296 wpt_uint32 usReserved:16;
3297 wpt_uint32 ucCfgLen:8;
3298 wpt_uint32 ucCfgId:8;
3299 #endif
3300
3301 wpt_uint8 ucCfgBody[ucCfgLen];
3302 }WDI_ConfigType;
3303
3304 Multiple such tuplets are to be placed in the config buffer. One for
3305 each required configuration item:
3306
3307 | TLV 1 | TLV2 | ....
3308
3309 The buffer is expected to be a flat area of memory that can be manipulated
3310 with standard memory routines.
3311
3312 For more info please check paragraph 2.3.1 Config Structure from the
3313 HAL LLD.
3314
3315 For a list of accepted configuration list and IDs please look up
3316 wlan_qct_dal_cfg.h
3317 */
3318 void* pConfigBuffer;
3319
3320 /*Length of the config buffer above*/
3321 wpt_uint32 uConfigBufferLen;
3322
3323 /*Request status callback offered by UMAC - it is called if the current
3324 req has returned PENDING as status; it delivers the status of sending
3325 the message over the BUS */
3326 WDI_ReqStatusCb wdiReqStatusCB;
3327
3328 /*The user data passed in by UMAC, it will be sent back when the above
3329 function pointer will be called */
3330 void* pUserData;
3331}WDI_UpdateCfgReqParamsType;
3332
3333/*---------------------------------------------------------------------------
3334 WDI_UpdateProbeRspTemplateInfoType
3335---------------------------------------------------------------------------*/
3336//Default Beacon template size
3337#define WDI_PROBE_RSP_TEMPLATE_SIZE 0x180
3338
3339#define WDI_PROBE_REQ_BITMAP_IE_LEN 8
3340
3341typedef struct
3342{
3343 /*BSSID for which the Probe Template is to be used*/
3344 wpt_macAddr macBSSID;
3345
3346 /*Probe response template*/
3347 wpt_uint8 *pProbeRespTemplate[WDI_PROBE_RSP_TEMPLATE_SIZE];
3348
3349 /*Template Len*/
3350 wpt_uint32 uProbeRespTemplateLen;
3351
3352 /*Bitmap for the IEs that are to be handled at SLM level*/
3353 wpt_uint32 uaProxyProbeReqValidIEBmap[WDI_PROBE_REQ_BITMAP_IE_LEN];
3354
3355}WDI_UpdateProbeRspTemplateInfoType;
3356
3357/*---------------------------------------------------------------------------
3358 WDI_UpdateProbeRspParamsType
3359---------------------------------------------------------------------------*/
3360typedef struct
3361{
3362 /*Link Info*/
3363 WDI_UpdateProbeRspTemplateInfoType wdiProbeRspTemplateInfo;
3364
3365 /*Request status callback offered by UMAC - it is called if the current
3366 req has returned PENDING as status; it delivers the status of sending
3367 the message over the BUS */
3368 WDI_ReqStatusCb wdiReqStatusCB;
3369
3370 /*The user data passed in by UMAC, it will be sent back when the above
3371 function pointer will be called */
3372 void* pUserData;
3373}WDI_UpdateProbeRspTemplateParamsType;
3374
3375/*---------------------------------------------------------------------------
3376 WDI_NvDownloadReqBlobInfo
3377---------------------------------------------------------------------------*/
3378
3379typedef struct
3380{
3381 /* Blob starting address*/
3382 void *pBlobAddress;
3383
3384 /* Blob size */
3385 wpt_uint32 uBlobSize;
3386
3387}WDI_NvDownloadReqBlobInfo;
3388
3389/*---------------------------------------------------------------------------
3390 WDI_NvDownloadReqParamsType
3391---------------------------------------------------------------------------*/
3392typedef struct
3393{
3394 /*NV Blob Info*/
3395 WDI_NvDownloadReqBlobInfo wdiBlobInfo;
3396
3397 /*Request status callback offered by UMAC - it is called if the current
3398 req has returned PENDING as status; it delivers the status of sending
3399 the message over the BUS */
3400 WDI_ReqStatusCb wdiReqStatusCB;
3401
3402 /*The user data passed in by UMAC, it will be sent back when the above
3403 function pointer will be called */
3404 void* pUserData;
3405
3406}WDI_NvDownloadReqParamsType;
3407
3408/*---------------------------------------------------------------------------
3409 WDI_NvDownloadRspInfoType
3410---------------------------------------------------------------------------*/
3411typedef struct
3412{
3413 /*Status of the response*/
3414 WDI_Status wdiStatus;
3415
3416}WDI_NvDownloadRspInfoType;
3417
3418/*---------------------------------------------------------------------------
3419 WDI_SetMaxTxPowerInfoType
3420---------------------------------------------------------------------------*/
3421
3422typedef struct
3423{
3424 /*BSSID is needed to identify which session issued this request. As the request has
3425 power constraints, this should be applied only to that session*/
3426 wpt_macAddr macBSSId;
3427
3428
3429 wpt_macAddr macSelfStaMacAddr;
3430
3431 /* In request power == MaxTxpower to be used.*/
3432 wpt_int8 ucPower;
3433
3434}WDI_SetMaxTxPowerInfoType;
3435
3436/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003437 WDI_SetTxPowerInfoType
3438---------------------------------------------------------------------------*/
3439
3440typedef struct
3441{
3442 wpt_uint8 bssIdx;
3443 /* In request power == MaxTxpower to be used.*/
3444 wpt_uint8 ucPower;
3445
3446}WDI_SetTxPowerInfoType;
3447
3448/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003449 WDI_SetMaxTxPowerParamsType
3450---------------------------------------------------------------------------*/
3451typedef struct
3452{
3453 /*Link Info*/
3454 WDI_SetMaxTxPowerInfoType wdiMaxTxPowerInfo;
3455
3456 /*Request status callback offered by UMAC - it is called if the current
3457 req has returned PENDING as status; it delivers the status of sending
3458 the message over the BUS */
3459 WDI_ReqStatusCb wdiReqStatusCB;
3460
3461 /*The user data passed in by UMAC, it will be sent back when the above
3462 function pointer will be called */
3463 void* pUserData;
3464}WDI_SetMaxTxPowerParamsType;
3465
schang86c22c42013-03-13 18:41:24 -07003466/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07003467 WDI_Band
3468---------------------------------------------------------------------------*/
3469typedef enum
3470{
3471 WDI_BAND_ALL,
3472 WDI_BAND_24,
3473 WDI_BAND_5G,
3474 WDI_BAND_MAX,
3475}eWDIBand;
3476
3477/*---------------------------------------------------------------------------
3478 WDI_MaxTxPowerPerBandInfoType
3479---------------------------------------------------------------------------*/
3480typedef struct
3481{
3482 eWDIBand bandInfo;
3483 /* In request power == MaxTxpower to be used.*/
3484 wpt_uint8 ucPower;
3485}WDI_MaxTxPowerPerBandInfoType;
3486
3487/*---------------------------------------------------------------------------
3488 WDI_SetMaxTxPowerPerBandParamsType
3489---------------------------------------------------------------------------*/
3490typedef struct
3491{
3492 /*Link Info*/
3493 WDI_MaxTxPowerPerBandInfoType wdiMaxTxPowerPerBandInfo;
3494
3495 /*Request status callback offered by UMAC - it is called if the current
3496 req has returned PENDING as status; it delivers the status of sending
3497 the message over the BUS */
3498 WDI_ReqStatusCb wdiReqStatusCB;
3499
3500 /*The user data passed in by UMAC, it will be sent back when the above
3501 function pointer will be called */
3502 void* pUserData;
3503}WDI_SetMaxTxPowerPerBandParamsType;
3504
3505/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003506 WDI_SetTxPowerParamsType
3507---------------------------------------------------------------------------*/
3508typedef struct
3509{
3510 /*Link Info*/
3511 WDI_SetTxPowerInfoType wdiTxPowerInfo;
3512
3513 /*Request status callback offered by UMAC - it is called if the current
3514 req has returned PENDING as status; it delivers the status of sending
3515 the message over the BUS */
3516 WDI_ReqStatusCb wdiReqStatusCB;
3517
3518 /*The user data passed in by UMAC, it will be sent back when the above
3519 function pointer will be called */
3520 void* pUserData;
3521}WDI_SetTxPowerParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003522
3523/*---------------------------------------------------------------------------
3524 WDI_SetMaxTxPowerRspMsg
3525---------------------------------------------------------------------------*/
3526
3527typedef struct
3528{
3529 /* In response, power==tx power used for management frames*/
3530 wpt_int8 ucPower;
3531
3532 /*Result of the operation*/
3533 WDI_Status wdiStatus;
3534
3535}WDI_SetMaxTxPowerRspMsg;
3536
schang86c22c42013-03-13 18:41:24 -07003537/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07003538 WDI_SetMaxTxPowerPerBandRspMsg
3539---------------------------------------------------------------------------*/
3540typedef struct
3541{
3542 /* In response, power==tx power used for management frames*/
3543 wpt_int8 ucPower;
3544
3545 /*Result of the operation*/
3546 WDI_Status wdiStatus;
3547
3548}WDI_SetMaxTxPowerPerBandRspMsg;
3549
3550/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07003551 WDI_SetTxPowerRspMsg
3552---------------------------------------------------------------------------*/
3553
3554typedef struct
3555{
3556 /* In response, power==tx power used for management frames*/
3557 wpt_int8 ucPower;
3558
3559 /*Result of the operation*/
3560 WDI_Status wdiStatus;
3561
3562}WDI_SetTxPowerRspMsg;
3563
Jeff Johnson295189b2012-06-20 16:38:30 -07003564typedef struct
3565{
3566 wpt_uint8 ucOpp_ps;
3567 wpt_uint32 uCtWindow;
3568 wpt_uint8 ucCount;
3569 wpt_uint32 uDuration;
3570 wpt_uint32 uInterval;
3571 wpt_uint32 uSingle_noa_duration;
3572 wpt_uint8 ucPsSelection;
3573}WDI_SetP2PGONOAReqInfoType;
3574
3575/*---------------------------------------------------------------------------
3576 WDI_SetP2PGONOAReqParamsType
3577---------------------------------------------------------------------------*/
3578typedef struct
3579{
3580 /*P2P GO NOA Req*/
3581 WDI_SetP2PGONOAReqInfoType wdiP2PGONOAInfo;
3582
3583 /*Request status callback offered by UMAC - it is called if the current
3584 req has returned PENDING as status; it delivers the status of sending
3585 the message over the BUS */
3586 WDI_ReqStatusCb wdiReqStatusCB;
3587
3588 /*The user data passed in by UMAC, it will be sent back when the above
3589 function pointer will be called */
3590 void* pUserData;
3591}WDI_SetP2PGONOAReqParamsType;
Jeff Johnson295189b2012-06-20 16:38:30 -07003592
Naresh Jayaramc7cbd782014-02-04 17:38:23 +05303593#define WDI_MAX_SUPP_CHANNELS 128
3594#define WDI_MAX_SUPP_OPER_CLASSES 32
3595
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303596typedef struct
3597{
3598 wpt_uint16 uStaIdx;
3599 wpt_uint8 uIsResponder;
3600 wpt_uint8 uUapsdQueues;
3601 wpt_uint8 uMaxSp;
3602 wpt_uint8 uIsBufSta;
Naresh Jayaramc7cbd782014-02-04 17:38:23 +05303603 wpt_uint8 uIsOffChannelSupported;
3604 wpt_uint8 peerCurrOperClass;
3605 wpt_uint8 selfCurrOperClass;
3606 wpt_uint8 validChannelsLen;
3607 wpt_uint8 validChannels[WDI_MAX_SUPP_CHANNELS];
3608 wpt_uint8 validOperClassesLen;
3609 wpt_uint8 validOperClasses[WDI_MAX_SUPP_OPER_CLASSES];
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303610}WDI_SetTDLSLinkEstablishReqInfoType;
3611/*---------------------------------------------------------------------------
3612 WDI_SetTDLSLinkEstablishReqParamsType
3613---------------------------------------------------------------------------*/
3614typedef struct
3615{
3616 /*TDLS Link Establish Req*/
3617 WDI_SetTDLSLinkEstablishReqInfoType wdiTDLSLinkEstablishInfo;
3618
3619 /*Request status callback offered by UMAC - it is called if the current
3620 req has returned PENDING as status; it delivers the status of sending
3621 the message over the BUS */
3622 WDI_ReqStatusCb wdiReqStatusCB;
3623
3624 /*The user data passed in by UMAC, it will be sent back when the above
3625 function pointer will be called */
3626 void* pUserData;
3627}WDI_SetTDLSLinkEstablishReqParamsType;
3628
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05303629typedef struct
3630{
3631 /*Result of the operation*/
3632 WDI_Status wdiStatus;
3633
3634 /*STA Idx*/
3635 wpt_uint16 uStaIdx;
3636}WDI_SetTdlsLinkEstablishReqResp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003637
Atul Mittalc0f739f2014-07-31 13:47:47 +05303638
3639
3640typedef struct
3641{
3642 /*STA Index*/
3643 wpt_uint8 staIdx;
3644 /* if this is 1, self is initiator otherwise responder only*/
3645 wpt_uint8 isOffchannelInitiator;
3646 /*TDLS off channel related params */
3647 wpt_uint8 targetOperClass;
3648 wpt_uint8 targetChannel;
3649 wpt_uint8 secondaryChannelOffset;
3650 wpt_uint8 reserved[64];
3651}WDI_SetTDLSChanSwitchReqInfoType;
3652
3653typedef struct
3654{
3655 WDI_SetTDLSChanSwitchReqInfoType wdiTDLSChanSwitchReqInfo;
3656 WDI_ReqStatusCb wdiReqStatusCB;
3657 void* pUserData;
3658}WDI_SetTDLSChanSwitchReqParamsType;
3659
3660
3661typedef struct
3662{
3663 /*Result of the operation*/
3664 WDI_Status wdiStatus;
3665
3666 /*STA Idx*/
3667 wpt_uint16 uStaIdx;
3668}WDI_SetTdlsChanSwitchReqResp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003669/*---------------------------------------------------------------------------
3670 WDI_SetAddSTASelfParamsType
3671---------------------------------------------------------------------------*/
3672typedef struct
3673{
3674 /*Self Station MAC address*/
3675 wpt_macAddr selfMacAddr;
3676
Kiran Kumar Lokere0ad5cd32013-06-25 11:26:22 -07003677 /*Self STA device mode*/
3678 wpt_uint32 currDeviceMode;
3679
Jeff Johnson295189b2012-06-20 16:38:30 -07003680 /*Status of the operation*/
3681 wpt_uint32 uStatus;
3682}WDI_AddSTASelfInfoType;
3683
3684/*---------------------------------------------------------------------------
3685 WDI_SetAddSTASelfParamsType
3686---------------------------------------------------------------------------*/
3687typedef struct
3688{
3689 /* Add Sta Self Req */
3690 WDI_AddSTASelfInfoType wdiAddSTASelfInfo;
3691
3692 /*Request status callback offered by UMAC - it is called if the current
3693 req has returned PENDING as status; it delivers the status of sending
3694 the message over the BUS */
3695 WDI_ReqStatusCb wdiReqStatusCB;
3696
3697 /*The user data passed in by UMAC, it will be sent back when the above
3698 function pointer will be called */
3699 void* pUserData;
3700}WDI_AddSTASelfReqParamsType;
3701
3702
3703/*---------------------------------------------------------------------------
3704 WDI_AddSTASelfRspParamsType
3705---------------------------------------------------------------------------*/
3706typedef struct
3707{
3708 /*Status of the response*/
3709 WDI_Status wdiStatus;
3710
3711 /*STA Idx allocated by HAL*/
3712 wpt_uint8 ucSTASelfIdx;
3713
3714 /* DPU Index (IGTK, PTK, GTK all same) */
3715 wpt_uint8 dpuIdx;
3716
3717 /* DPU Signature */
3718 wpt_uint8 dpuSignature;
3719
3720 /*Self STA Mac*/
3721 wpt_macAddr macSelfSta;
3722
3723}WDI_AddSTASelfRspParamsType;
3724
3725/*---------------------------------------------------------------------------
3726 WDI_DelSTASelfReqParamsType
3727 Del Sta Self info passed to WDI form WDA
3728---------------------------------------------------------------------------*/
3729typedef struct
3730{
3731 wpt_macAddr selfMacAddr;
3732
3733}WDI_DelSTASelfInfoType;
3734
3735/*---------------------------------------------------------------------------
3736 WDI_DelSTASelfReqParamsType
3737 Del Sta Self info passed to WDI form WDA
3738---------------------------------------------------------------------------*/
3739typedef struct
3740{
3741 /*Del Sta Self Info Type */
3742 WDI_DelSTASelfInfoType wdiDelStaSelfInfo;
3743 /*Request status callback offered by UMAC - it is called if the current req
3744 has returned PENDING as status; it delivers the status of sending the message
3745 over the BUS */
3746 WDI_ReqStatusCb wdiReqStatusCB;
3747 /*The user data passed in by UMAC, it will be sent back when the above
3748 function pointer will be called */
3749 void* pUserData;
3750}WDI_DelSTASelfReqParamsType;
3751
3752/*---------------------------------------------------------------------------
3753 WDI_DelSTASelfRspParamsType
3754---------------------------------------------------------------------------*/
3755typedef struct
3756{
3757 /*Status of the response*/
3758 WDI_Status wdiStatus;
3759
3760 /*STA Index returned during DAL_PostAssocReq or DAL_ConfigStaReq*/
3761// wpt_uint8 ucSTAIdx;
3762}WDI_DelSTASelfRspParamsType;
3763
3764/*---------------------------------------------------------------------------
3765 WDI_UapsdInfoType
3766 UAPSD parameters passed per AC to WDA from UMAC
3767---------------------------------------------------------------------------*/
3768typedef struct
3769{
3770 wpt_uint8 ucSTAIdx; // STA index
3771 wpt_uint8 ucAc; // Access Category
3772 wpt_uint8 ucUp; // User Priority
3773 wpt_uint32 uSrvInterval; // Service Interval
3774 wpt_uint32 uSusInterval; // Suspend Interval
3775 wpt_uint32 uDelayInterval; // Delay Interval
3776} WDI_UapsdInfoType;
3777
3778/*---------------------------------------------------------------------------
3779 WDI_SetUapsdAcParamsReqParamsType
3780 UAPSD parameters passed per AC to WDI from WDA
3781---------------------------------------------------------------------------*/
3782typedef struct
3783{
3784 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3785 WDI_UapsdInfoType wdiUapsdInfo;
3786 /*Request status callback offered by UMAC - it is called if the current req
3787 has returned PENDING as status; it delivers the status of sending the message
3788 over the BUS */
3789 WDI_ReqStatusCb wdiReqStatusCB;
3790 /*The user data passed in by UMAC, it will be sent back when the above
3791 function pointer will be called */
3792 void* pUserData;
3793}WDI_SetUapsdAcParamsReqParamsType;
3794
3795/*---------------------------------------------------------------------------
3796 WDI_EnterBmpsReqinfoType
3797 Enter BMPS parameters passed to WDA from UMAC
3798---------------------------------------------------------------------------*/
3799typedef struct
3800{
3801 //TBTT value derived from the last beacon
3802 wpt_uint8 ucBssIdx;
3803 wpt_uint64 uTbtt;
3804 wpt_uint8 ucDtimCount;
3805 //DTIM period given to HAL during association may not be valid,
3806 //if association is based on ProbeRsp instead of beacon.
3807 wpt_uint8 ucDtimPeriod;
3808 /* DXE physical addr to be passed down to RIVA. RIVA HAL will use it to program
3809 DXE when DXE wakes up from power save*/
3810 unsigned int dxePhyAddr;
3811
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08003812 // For ESE and 11R Roaming
Jeff Johnson295189b2012-06-20 16:38:30 -07003813 wpt_uint32 rssiFilterPeriod;
3814 wpt_uint32 numBeaconPerRssiAverage;
3815 wpt_uint8 bRssiFilterEnable;
3816}WDI_EnterBmpsReqinfoType;
3817
3818/*---------------------------------------------------------------------------
3819 WDI_EnterBmpsReqParamsType
3820 Enter BMPS parameters passed to WDI from WDA
3821---------------------------------------------------------------------------*/
3822typedef struct
3823{
3824 /*Enter BMPS Info Type, same as tEnterBmpsParams */
3825 WDI_EnterBmpsReqinfoType wdiEnterBmpsInfo;
3826 /*Request status callback offered by UMAC - it is called if the current req
3827 has returned PENDING as status; it delivers the status of sending the message
3828 over the BUS */
3829 WDI_ReqStatusCb wdiReqStatusCB;
3830 /*The user data passed in by UMAC, it will be sent back when the above
3831 function pointer will be called */
3832 void* pUserData;
3833}WDI_EnterBmpsReqParamsType;
3834
3835/*---------------------------------------------------------------------------
Mihir Shetea4306052014-03-25 00:02:54 +05303836 WDI_EnterImpsReqParamsType
3837 Enter IMPS parameters passed to WDI from WDA
3838---------------------------------------------------------------------------*/
3839typedef struct
3840{
3841 /*Request status callback offered by UMAC - it is called if the current req
3842 has returned PENDING as status; it delivers the status of sending the message
3843 over the BUS */
3844 WDI_ReqStatusCb wdiReqStatusCB;
3845 /*The user data passed in by UMAC, it will be sent back when the above
3846 function pointer will be called */
3847 void* pUserData;
3848}WDI_EnterImpsReqParamsType;
3849
3850/*---------------------------------------------------------------------------
Mahesh A Saptasagar329813b2014-12-15 12:16:51 +05303851 WDI_ExitImpsReqParamsType
3852 Exit IMPS parameters passed to WDI from WDA
3853----------------------------------------------------------------------------*/
3854typedef struct
3855{
3856 /*Request status callback offered by UMAC */
3857 WDI_ReqStatusCb wdiReqStatusCB;
3858 /*The user data passed in by UMAC, it will be sent back when the above
3859 function pointer will be called */
3860 void* pUserData;
3861
3862}WDI_ExitImpsReqParamsType;
3863
3864/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003865 WDI_EnterBmpsReqParamsType
3866 Enter BMPS parameters passed from WDI to WDA
3867---------------------------------------------------------------------------*/
3868typedef struct
3869{
3870 /*Status of the response*/
3871 WDI_Status wdiStatus;
3872
3873 /*BssIDX of the session*/
3874 wpt_uint8 bssIdx;
3875}WDI_EnterBmpsRspParamsType;
3876
3877/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003878 WDI_ExitBmpsReqinfoType
3879 Exit BMPS parameters passed to WDA from UMAC
3880---------------------------------------------------------------------------*/
3881typedef struct
3882{
3883 wpt_uint8 ucSendDataNull;
Jeff Johnsone7245742012-09-05 17:12:55 -07003884 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003885}WDI_ExitBmpsReqinfoType;
3886
3887/*---------------------------------------------------------------------------
3888 WDI_ExitBmpsReqParamsType
3889 Exit BMPS parameters passed to WDI from WDA
3890---------------------------------------------------------------------------*/
3891typedef struct
3892{
3893 /*Exit BMPS Info Type, same as tExitBmpsParams */
3894 WDI_ExitBmpsReqinfoType wdiExitBmpsInfo;
3895 /*Request status callback offered by UMAC - it is called if the current req
3896 has returned PENDING as status; it delivers the status of sending the message
3897 over the BUS */
3898 WDI_ReqStatusCb wdiReqStatusCB;
3899 /*The user data passed in by UMAC, it will be sent back when the above
3900 function pointer will be called */
3901 void* pUserData;
3902}WDI_ExitBmpsReqParamsType;
3903
3904/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003905 WDI_ExitBmpsReqParamsType
3906 Exit BMPS parameters passed from WDI to WDA
3907---------------------------------------------------------------------------*/
3908typedef struct
3909{
3910 /*Status of the response*/
3911 WDI_Status wdiStatus;
3912
3913 /*BssIDX of the session*/
3914 wpt_uint8 bssIdx;
3915}WDI_ExitBmpsRspParamsType;
3916
3917/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003918 WDI_EnterUapsdReqinfoType
3919 Enter UAPSD parameters passed to WDA from UMAC
3920---------------------------------------------------------------------------*/
3921typedef struct
3922{
3923 wpt_uint8 ucBkDeliveryEnabled:1;
3924 wpt_uint8 ucBeDeliveryEnabled:1;
3925 wpt_uint8 ucViDeliveryEnabled:1;
3926 wpt_uint8 ucVoDeliveryEnabled:1;
3927 wpt_uint8 ucBkTriggerEnabled:1;
3928 wpt_uint8 ucBeTriggerEnabled:1;
3929 wpt_uint8 ucViTriggerEnabled:1;
3930 wpt_uint8 ucVoTriggerEnabled:1;
Jeff Johnsone7245742012-09-05 17:12:55 -07003931 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07003932}WDI_EnterUapsdReqinfoType;
3933
3934/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003935 WDI_EnterUapsdRspParamsType
3936 Enter UAPSD parameters passed from WDI to WDA
3937---------------------------------------------------------------------------*/
3938typedef struct
3939{
3940 /*Status of the response*/
3941 WDI_Status wdiStatus;
3942
3943 /*BssIDX of the session*/
3944 wpt_uint8 bssIdx;
3945}WDI_EnterUapsdRspParamsType;
3946
3947/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07003948 WDI_EnterUapsdReqinfoType
3949 Enter UAPSD parameters passed to WDI from WDA
3950---------------------------------------------------------------------------*/
3951typedef struct
3952{
3953 /*Enter UAPSD Info Type, same as tUapsdParams */
3954 WDI_EnterUapsdReqinfoType wdiEnterUapsdInfo;
3955 /*Request status callback offered by UMAC - it is called if the current req
3956 has returned PENDING as status; it delivers the status of sending the message
3957 over the BUS */
3958 WDI_ReqStatusCb wdiReqStatusCB;
3959 /*The user data passed in by UMAC, it will be sent back when the above
3960 function pointer will be called */
3961 void* pUserData;
3962}WDI_EnterUapsdReqParamsType;
3963
3964/*---------------------------------------------------------------------------
3965 WDI_UpdateUapsdReqinfoType
3966 Update UAPSD parameters passed to WDA from UMAC
3967---------------------------------------------------------------------------*/
3968typedef struct
3969{
3970 wpt_uint8 ucSTAIdx;
3971 wpt_uint8 ucUapsdACMask;
3972 wpt_uint32 uMaxSpLen;
3973}WDI_UpdateUapsdReqinfoType;
3974
3975/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07003976 WDI_ExitUapsdReqinfoType
3977 Exit UAPSD parameters passed to WDA from UMAC
3978---------------------------------------------------------------------------*/
3979typedef struct
3980{
3981 wpt_uint8 bssIdx;
3982}WDI_ExitUapsdReqinfoType;
3983
3984/*---------------------------------------------------------------------------
3985 WDI_ExitUapsdReqParamsType
3986 Exit UAPSD parameters passed to WDI from WDA
3987---------------------------------------------------------------------------*/
3988typedef struct
3989{
3990 /*Exit UAPSD Info Type, same as tUapsdParams */
3991 WDI_ExitUapsdReqinfoType wdiExitUapsdInfo;
3992 /*Request status callback offered by UMAC - it is called if the current req
3993 has returned PENDING as status; it delivers the status of sending the message
3994 over the BUS */
3995 WDI_ReqStatusCb wdiReqStatusCB;
3996 /*The user data passed in by UMAC, it will be sent back when the above
3997 function pointer will be called */
3998 void* pUserData;
3999}WDI_ExitUapsdReqParamsType;
4000
4001/*---------------------------------------------------------------------------
4002 WDI_ExitUapsdRspParamsType
4003 Exit UAPSD parameters passed from WDI to WDA
4004---------------------------------------------------------------------------*/
4005typedef struct
4006{
4007 /*Status of the response*/
4008 WDI_Status wdiStatus;
4009
4010 /*BssIDX of the session*/
4011 wpt_uint8 bssIdx;
4012}WDI_ExitUapsdRspParamsType;
4013
4014/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004015 WDI_UpdateUapsdReqParamsType
4016 Update UAPSD parameters passed to WDI form WDA
4017---------------------------------------------------------------------------*/
4018typedef struct
4019{
4020 /*Update UAPSD Info Type, same as tUpdateUapsdParams */
4021 WDI_UpdateUapsdReqinfoType wdiUpdateUapsdInfo;
4022 /*Request status callback offered by UMAC - it is called if the current req
4023 has returned PENDING as status; it delivers the status of sending the message
4024 over the BUS */
4025 WDI_ReqStatusCb wdiReqStatusCB;
4026 /*The user data passed in by UMAC, it will be sent back when the above
4027 function pointer will be called */
4028 void* pUserData;
4029}WDI_UpdateUapsdReqParamsType;
4030
4031/*---------------------------------------------------------------------------
4032 WDI_ConfigureRxpFilterReqParamsType
4033 RXP filter parameters passed to WDI form WDA
4034---------------------------------------------------------------------------*/
4035typedef struct
4036{
4037 /* Mode of Mcast and Bcast filters configured */
4038 wpt_uint8 ucSetMcstBcstFilterSetting;
4039
4040 /* Mcast Bcast Filters enable/disable*/
4041 wpt_uint8 ucSetMcstBcstFilter;
4042}WDI_RxpFilterReqParamsType;
4043
4044typedef struct
4045{
4046 /* Rxp Filter */
4047 WDI_RxpFilterReqParamsType wdiRxpFilterParam;
4048
4049 /*Request status callback offered by UMAC - it is called if the current req
4050 has returned PENDING as status; it delivers the status of sending the message
4051 over the BUS */
4052 WDI_ReqStatusCb wdiReqStatusCB;
4053 /*The user data passed in by UMAC, it will be sent back when the above
4054 function pointer will be called */
4055 void* pUserData;
4056}WDI_ConfigureRxpFilterReqParamsType;
4057
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05304058typedef struct
4059{
4060 wpt_uint8 enableFlag;
4061 wpt_uint8 frameType;
4062 wpt_uint8 frameSize;
4063 wpt_uint8 bufferMode;
4064}WDI_MgmtLoggingInitReqInfoType;
4065
Siddharth Bhal64246172015-02-27 01:04:37 +05304066typedef struct
4067{
4068 wpt_uint8 flags;
4069}WDI_GetFrameLogReqInfoType;
4070
Jeff Johnson295189b2012-06-20 16:38:30 -07004071/*---------------------------------------------------------------------------
4072 WDI_BeaconFilterInfoType
4073 Beacon Filtering data structures passed to WDA form UMAC
4074---------------------------------------------------------------------------*/
4075typedef struct
4076{
4077 wpt_uint16 usCapabilityInfo;
4078 wpt_uint16 usCapabilityMask;
4079 wpt_uint16 usBeaconInterval;
4080 wpt_uint16 usIeNum;
Madan Mohan Koyyalamudia84edda2012-10-15 14:58:25 -07004081 wpt_uint8 bssIdx;
4082 wpt_uint8 reserved;
Jeff Johnson295189b2012-06-20 16:38:30 -07004083}WDI_BeaconFilterInfoType;
4084
4085/*---------------------------------------------------------------------------
4086 WDI_BeaconFilterReqParamsType
4087 Beacon Filtering parameters passed to WDI form WDA
4088---------------------------------------------------------------------------*/
4089typedef struct
4090{
4091 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
4092 WDI_BeaconFilterInfoType wdiBeaconFilterInfo;
4093 /*Beacon Filter(s) follow the "usIeNum" field, hence the array to ease the
4094 copy of params from WDA to WDI */
4095 wpt_uint8 aFilters[WDI_BEACON_FILTER_LEN];
4096 /*Request status callback offered by UMAC - it is called if the current req
4097 has returned PENDING as status; it delivers the status of sending the message
4098 over the BUS */
4099 WDI_ReqStatusCb wdiReqStatusCB;
4100 /*The user data passed in by UMAC, it will be sent back when the above
4101 function pointer will be called */
4102 void* pUserData;
4103}WDI_BeaconFilterReqParamsType;
4104
4105/*---------------------------------------------------------------------------
4106 WDI_RemBeaconFilterInfoType
4107 Beacon Filtering data structures (to be reomoved) passed to WDA form UMAC
4108---------------------------------------------------------------------------*/
4109typedef struct
4110{
4111 wpt_uint8 ucIeCount;
4112 wpt_uint8 ucRemIeId[1];
4113}WDI_RemBeaconFilterInfoType;
4114
4115/*---------------------------------------------------------------------------
4116 WDI_RemBeaconFilterReqParamsType
4117 Beacon Filtering parameters (to be reomoved)passed to WDI form WDA
4118---------------------------------------------------------------------------*/
4119typedef struct
4120{
4121 /*Beacon Filtering Info Type, same as tBeaconFilterMsg */
4122 WDI_RemBeaconFilterInfoType wdiBeaconFilterInfo;
4123 /*Request status callback offered by UMAC - it is called if the current req
4124 has returned PENDING as status; it delivers the status of sending the message
4125 over the BUS */
4126 WDI_ReqStatusCb wdiReqStatusCB;
4127 /*The user data passed in by UMAC, it will be sent back when the above
4128 function pointer will be called */
4129 void* pUserData;
4130}WDI_RemBeaconFilterReqParamsType;
4131
4132/*---------------------------------------------------------------------------
4133 WDI_RSSIThresholdsType
4134 RSSI thresholds data structures (to be reomoved) passed to WDA form UMAC
4135---------------------------------------------------------------------------*/
4136typedef struct
4137{
4138 wpt_int8 ucRssiThreshold1 : 8;
4139 wpt_int8 ucRssiThreshold2 : 8;
4140 wpt_int8 ucRssiThreshold3 : 8;
4141 wpt_uint8 bRssiThres1PosNotify : 1;
4142 wpt_uint8 bRssiThres1NegNotify : 1;
4143 wpt_uint8 bRssiThres2PosNotify : 1;
4144 wpt_uint8 bRssiThres2NegNotify : 1;
4145 wpt_uint8 bRssiThres3PosNotify : 1;
4146 wpt_uint8 bRssiThres3NegNotify : 1;
4147 wpt_uint8 bReserved10 : 2;
4148} WDI_RSSIThresholdsType;
4149
4150/*---------------------------------------------------------------------------
4151 WDI_SetRSSIThresholdsReqParamsType
4152 RSSI thresholds parameters (to be reomoved)passed to WDI form WDA
4153---------------------------------------------------------------------------*/
4154typedef struct
4155{
4156 /*RSSI thresholds Info Type, same as WDI_RSSIThresholds */
4157 WDI_RSSIThresholdsType wdiRSSIThresholdsInfo;
4158 /*Request status callback offered by UMAC - it is called if the current req
4159 has returned PENDING as status; it delivers the status of sending the message
4160 over the BUS */
4161 WDI_ReqStatusCb wdiReqStatusCB;
4162 /*The user data passed in by UMAC, it will be sent back when the above
4163 function pointer will be called */
4164 void* pUserData;
4165}WDI_SetRSSIThresholdsReqParamsType;
4166
4167/*---------------------------------------------------------------------------
4168 WDI_HostOffloadReqType
4169 host offload info passed to WDA form UMAC
4170---------------------------------------------------------------------------*/
4171#ifdef WLAN_NS_OFFLOAD
4172typedef struct
4173{
4174 wpt_uint8 srcIPv6Addr[16];
4175 wpt_uint8 selfIPv6Addr[16];
4176 //Only support 2 possible Network Advertisement IPv6 address
4177 wpt_uint8 targetIPv6Addr1[16];
4178 wpt_uint8 targetIPv6Addr2[16];
4179 wpt_uint8 selfMacAddr[6];
4180 wpt_uint8 srcIPv6AddrValid : 1;
4181 wpt_uint8 targetIPv6Addr1Valid : 1;
4182 wpt_uint8 targetIPv6Addr2Valid : 1;
Gopichand Nakkala746a9452013-06-11 12:45:54 +05304183 wpt_uint8 slotIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004184} WDI_NSOffloadParams;
4185#endif //WLAN_NS_OFFLOAD
4186
4187typedef struct
4188{
4189 wpt_uint8 ucOffloadType;
4190 wpt_uint8 ucEnableOrDisable;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004191 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004192 union
4193 {
4194 wpt_uint8 aHostIpv4Addr [4];
4195 wpt_uint8 aHostIpv6Addr [16];
4196 } params;
4197} WDI_HostOffloadReqType;
4198
4199/*---------------------------------------------------------------------------
4200 WDI_HostOffloadReqParamsType
4201 host offload info passed to WDI form WDA
4202---------------------------------------------------------------------------*/
4203typedef struct
4204{
4205 /*Host offload Info Type, same as tHalHostOffloadReq */
4206 WDI_HostOffloadReqType wdiHostOffloadInfo;
4207#ifdef WLAN_NS_OFFLOAD
4208 WDI_NSOffloadParams wdiNsOffloadParams;
4209#endif //WLAN_NS_OFFLOAD
4210 /*Request status callback offered by UMAC - it is called if the current req
4211 has returned PENDING as status; it delivers the status of sending the message
4212 over the BUS */
4213 WDI_ReqStatusCb wdiReqStatusCB;
4214 /*The user data passed in by UMAC, it will be sent back when the above
4215 function pointer will be called */
4216 void* pUserData;
4217}WDI_HostOffloadReqParamsType;
4218
4219/*---------------------------------------------------------------------------
4220 WDI_KeepAliveReqType
4221 Keep Alive info passed to WDA form UMAC
4222---------------------------------------------------------------------------*/
4223typedef struct
4224{
4225 wpt_uint8 ucPacketType;
4226 wpt_uint32 ucTimePeriod;
4227 wpt_uint8 aHostIpv4Addr[4];
4228 wpt_uint8 aDestIpv4Addr[4];
4229 wpt_uint8 aDestMacAddr[6];
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004230 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004231} WDI_KeepAliveReqType;
4232
4233/*---------------------------------------------------------------------------
4234 WDI_KeepAliveReqParamsType
4235 Keep Alive passed to WDI form WDA
4236---------------------------------------------------------------------------*/
4237typedef struct
4238{
4239 /* Keep Alive Info Type, same as tHalKeepAliveReq */
4240 WDI_KeepAliveReqType wdiKeepAliveInfo;
4241 /*Request status callback offered by UMAC - it is called if the current req
4242 has returned PENDING as status; it delivers the status of sending the message
4243 over the BUS */
4244 WDI_ReqStatusCb wdiReqStatusCB;
4245 /*The user data passed in by UMAC, it will be sent back when the above
4246 function pointer will be called */
4247 void* pUserData;
4248}WDI_KeepAliveReqParamsType;
4249
4250/*---------------------------------------------------------------------------
4251 WDI_WowlAddBcPtrnInfoType
4252 Wowl add ptrn info passed to WDA form UMAC
4253---------------------------------------------------------------------------*/
4254typedef struct
4255{
4256 wpt_uint8 ucPatternId; // Pattern ID
4257 // Pattern byte offset from beginning of the 802.11 packet to start of the
4258 // wake-up pattern
4259 wpt_uint8 ucPatternByteOffset;
4260 wpt_uint8 ucPatternSize; // Non-Zero Pattern size
4261 wpt_uint8 ucPattern[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern
4262 wpt_uint8 ucPatternMaskSize; // Non-zero pattern mask size
4263 wpt_uint8 ucPatternMask[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Pattern mask
4264 wpt_uint8 ucPatternExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern
4265 wpt_uint8 ucPatternMaskExt[WDI_WOWL_BCAST_PATTERN_MAX_SIZE]; // Extra pattern mask
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004266 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004267} WDI_WowlAddBcPtrnInfoType;
4268
4269/*---------------------------------------------------------------------------
4270 WDI_WowlAddBcPtrnReqParamsType
4271 Wowl add ptrn info passed to WDI form WDA
4272---------------------------------------------------------------------------*/
4273typedef struct
4274{
4275 /*Wowl add ptrn Info Type, same as tpSirWowlAddBcastPtrn */
4276 WDI_WowlAddBcPtrnInfoType wdiWowlAddBcPtrnInfo;
4277 /*Request status callback offered by UMAC - it is called if the current req
4278 has returned PENDING as status; it delivers the status of sending the message
4279 over the BUS */
4280 WDI_ReqStatusCb wdiReqStatusCB;
4281 /*The user data passed in by UMAC, it will be sent back when the above
4282 function pointer will be called */
4283 void* pUserData;
4284}WDI_WowlAddBcPtrnReqParamsType;
4285
4286/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004287 WDI_WowlAddBcPtrnRspParamsType
4288 Wowl add ptrn info passed from WDI to WDA
4289---------------------------------------------------------------------------*/
4290typedef struct
4291{
4292 /*Status of the response*/
4293 WDI_Status wdiStatus;
4294 /*BssIDX of the session*/
4295 wpt_uint8 bssIdx;
4296}WDI_WowlAddBcPtrnRspParamsType;
4297
4298/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004299 WDI_WowlDelBcPtrnInfoType
4300 Wowl add ptrn info passed to WDA form UMAC
4301---------------------------------------------------------------------------*/
4302typedef struct
4303{
4304 /* Pattern ID of the wakeup pattern to be deleted */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004305 wpt_uint8 ucPatternId;
4306 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004307} WDI_WowlDelBcPtrnInfoType;
4308
4309/*---------------------------------------------------------------------------
4310 WDI_WowlDelBcPtrnReqParamsType
4311 Wowl add ptrn info passed to WDI form WDA
4312---------------------------------------------------------------------------*/
4313typedef struct
4314{
4315 /*Wowl delete ptrn Info Type, same as WDI_WowlDelBcastPtrn */
4316 WDI_WowlDelBcPtrnInfoType wdiWowlDelBcPtrnInfo;
4317 /*Request status callback offered by UMAC - it is called if the current req
4318 has returned PENDING as status; it delivers the status of sending the message
4319 over the BUS */
4320 WDI_ReqStatusCb wdiReqStatusCB;
4321 /*The user data passed in by UMAC, it will be sent back when the above
4322 function pointer will be called */
4323 void* pUserData;
4324}WDI_WowlDelBcPtrnReqParamsType;
4325
4326/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004327 WDI_WowlDelBcPtrnRspParamsType
4328 Wowl Del ptrn info passed from WDI to WDA
4329---------------------------------------------------------------------------*/
4330typedef struct
4331{
4332 /*Status of the response*/
4333 WDI_Status wdiStatus;
4334 /*BssIDX of the session*/
4335 wpt_uint8 bssIdx;
4336}WDI_WowlDelBcPtrnRspParamsType;
4337
4338/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004339 WDI_WowlEnterInfoType
4340 Wowl enter info passed to WDA form UMAC
4341---------------------------------------------------------------------------*/
4342typedef struct
4343{
4344 /* Enables/disables magic packet filtering */
4345 wpt_uint8 ucMagicPktEnable;
4346
4347 /* Magic pattern */
4348 wpt_macAddr magicPtrn;
4349
4350 /* Enables/disables packet pattern filtering in firmware.
4351 Enabling this flag enables broadcast pattern matching
4352 in Firmware. If unicast pattern matching is also desired,
4353 ucUcastPatternFilteringEnable flag must be set tot true
4354 as well
4355 */
4356 wpt_uint8 ucPatternFilteringEnable;
4357
4358 /* Enables/disables unicast packet pattern filtering.
4359 This flag specifies whether we want to do pattern match
4360 on unicast packets as well and not just broadcast packets.
4361 This flag has no effect if the ucPatternFilteringEnable
4362 (main controlling flag) is set to false
4363 */
4364 wpt_uint8 ucUcastPatternFilteringEnable;
4365
4366 /* This configuration is valid only when magicPktEnable=1.
4367 * It requests hardware to wake up when it receives the
4368 * Channel Switch Action Frame.
4369 */
4370 wpt_uint8 ucWowChnlSwitchRcv;
4371
4372 /* This configuration is valid only when magicPktEnable=1.
4373 * It requests hardware to wake up when it receives the
4374 * Deauthentication Frame.
4375 */
4376 wpt_uint8 ucWowDeauthRcv;
4377
4378 /* This configuration is valid only when magicPktEnable=1.
4379 * It requests hardware to wake up when it receives the
4380 * Disassociation Frame.
4381 */
4382 wpt_uint8 ucWowDisassocRcv;
4383
4384 /* This configuration is valid only when magicPktEnable=1.
4385 * It requests hardware to wake up when it has missed
4386 * consecutive beacons. This is a hardware register
4387 * configuration (NOT a firmware configuration).
4388 */
4389 wpt_uint8 ucWowMaxMissedBeacons;
4390
4391 /* This configuration is valid only when magicPktEnable=1.
4392 * This is a timeout value in units of microsec. It requests
4393 * hardware to unconditionally wake up after it has stayed
4394 * in WoWLAN mode for some time. Set 0 to disable this feature.
4395 */
4396 wpt_uint8 ucWowMaxSleepUsec;
4397
4398#ifdef WLAN_WAKEUP_EVENTS
4399 /* This configuration directs the WoW packet filtering to look for EAP-ID
4400 * requests embedded in EAPOL frames and use this as a wake source.
4401 */
4402 wpt_uint8 ucWoWEAPIDRequestEnable;
4403
4404 /* This configuration directs the WoW packet filtering to look for EAPOL-4WAY
4405 * requests and use this as a wake source.
4406 */
4407 wpt_uint8 ucWoWEAPOL4WayEnable;
4408
4409 /* This configuration allows a host wakeup on an network scan offload match.
4410 */
4411 wpt_uint8 ucWowNetScanOffloadMatch;
4412
4413 /* This configuration allows a host wakeup on any GTK rekeying error.
4414 */
4415 wpt_uint8 ucWowGTKRekeyError;
4416
4417 /* This configuration allows a host wakeup on BSS connection loss.
4418 */
4419 wpt_uint8 ucWoWBSSConnLoss;
4420#endif // WLAN_WAKEUP_EVENTS
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004421
4422 /* BSSIDX used to find the current session
4423 */
4424 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004425} WDI_WowlEnterInfoType;
4426
4427/*---------------------------------------------------------------------------
4428 WDI_WowlEnterReqParamsType
4429 Wowl enter info passed to WDI form WDA
4430---------------------------------------------------------------------------*/
4431typedef struct
4432{
4433 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
4434 WDI_WowlEnterInfoType wdiWowlEnterInfo;
4435 /*Request status callback offered by UMAC - it is called if the current req
4436 has returned PENDING as status; it delivers the status of sending the message
4437 over the BUS */
4438 WDI_ReqStatusCb wdiReqStatusCB;
4439 /*The user data passed in by UMAC, it will be sent back when the above
4440 function pointer will be called */
4441 void* pUserData;
4442}WDI_WowlEnterReqParamsType;
4443
4444/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004445 WDI_WowlEnterRsqParamsType
4446 Wowl enter info passed from WDI to WDA
4447---------------------------------------------------------------------------*/
4448typedef struct
4449{
4450 /*Status of the response message*/
4451 WDI_Status status;
4452
4453 /* BSSIDX used to find the current session
4454 */
4455 wpt_uint8 bssIdx;
4456}WDI_WowlEnterRspParamsType;
4457
4458/*---------------------------------------------------------------------------
4459 WDI_WowlExitInfoType
4460 Wowl exit info passed to WDA form UMAC
4461 ---------------------------------------------------------------------------*/
4462typedef struct
4463{
4464 /* BSSIDX used to find the current session
4465 */
4466 wpt_uint8 bssIdx;
4467} WDI_WowlExitInfoType;
4468
4469/*---------------------------------------------------------------------------
4470 WDI_WowlExitReqParamsType
4471 Wowl exit info passed to WDI form WDA
4472---------------------------------------------------------------------------*/
4473typedef struct
4474{
4475 /*Wowl delete ptrn Info Type, same as WDI_SmeWowlEnterParams */
4476 WDI_WowlExitInfoType wdiWowlExitInfo;
4477 /*Request status callback offered by UMAC - it is called if the current req
4478 has returned PENDING as status; it delivers the status of sending the message
4479 over the BUS */
4480 WDI_ReqStatusCb wdiReqStatusCB;
4481 /*The user data passed in by UMAC, it will be sent back when the above
4482 function pointer will be called */
4483 void* pUserData;
4484}WDI_WowlExitReqParamsType;
4485
4486/*---------------------------------------------------------------------------
4487 WDI_WowlExitRspParamsType
4488 Wowl exit info passed from WDI to WDA
4489---------------------------------------------------------------------------*/
4490typedef struct
4491{
4492 /*Status of the response message*/
4493 WDI_Status status;
4494
4495 /* BSSIDX used to find the current session
4496 */
4497 wpt_uint8 bssIdx;
4498}WDI_WowlExitRspParamsType;
4499
4500/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004501 WDI_ConfigureAppsCpuWakeupStateReqParamsType
4502 Apps Cpu Wakeup State parameters passed to WDI form WDA
4503---------------------------------------------------------------------------*/
4504typedef struct
4505{
4506 /*Depicts the state of the Apps CPU */
4507 wpt_boolean bIsAppsAwake;
4508 /*Request status callback offered by UMAC - it is called if the current req
4509 has returned PENDING as status; it delivers the status of sending the message
4510 over the BUS */
4511 WDI_ReqStatusCb wdiReqStatusCB;
4512 /*The user data passed in by UMAC, it will be sent back when the above
4513 function pointer will be called */
4514 void* pUserData;
4515}WDI_ConfigureAppsCpuWakeupStateReqParamsType;
4516/*---------------------------------------------------------------------------
4517 WDI_FlushAcReqinfoType
4518---------------------------------------------------------------------------*/
4519typedef struct
4520{
4521 // Message Type
4522 wpt_uint16 usMesgType;
4523
4524 // Message Length
4525 wpt_uint16 usMesgLen;
4526
4527 // Station Index. originates from HAL
4528 wpt_uint8 ucSTAId;
4529
4530 // TID for which the transmit queue is being flushed
4531 wpt_uint8 ucTid;
4532
4533}WDI_FlushAcReqinfoType;
4534
4535/*---------------------------------------------------------------------------
4536 WDI_FlushAcReqParamsType
4537---------------------------------------------------------------------------*/
4538typedef struct
4539{
4540 /*AC Info */
4541 WDI_FlushAcReqinfoType wdiFlushAcInfo;
4542
4543 /*Request status callback offered by UMAC - it is called if the current
4544 req has returned PENDING as status; it delivers the status of sending
4545 the message over the BUS */
4546 WDI_ReqStatusCb wdiReqStatusCB;
4547
4548 /*The user data passed in by UMAC, it will be sent back when the above
4549 function pointer will be called */
4550 void* pUserData;
4551}WDI_FlushAcReqParamsType;
4552
4553/*---------------------------------------------------------------------------
4554 WDI_BtAmpEventinfoType
4555 BT-AMP Event Structure
4556---------------------------------------------------------------------------*/
4557typedef struct
4558{
4559 wpt_uint8 ucBtAmpEventType;
4560
4561} WDI_BtAmpEventinfoType;
4562
4563/*---------------------------------------------------------------------------
4564 WDI_BtAmpEventParamsType
4565---------------------------------------------------------------------------*/
4566typedef struct
4567{
4568 /*BT AMP event Info */
4569 WDI_BtAmpEventinfoType wdiBtAmpEventInfo;
4570
4571 /*Request status callback offered by UMAC - it is called if the current
4572 req has returned PENDING as status; it delivers the status of sending
4573 the message over the BUS */
4574 WDI_ReqStatusCb wdiReqStatusCB;
4575
4576 /*The user data passed in by UMAC, it will be sent back when the above
4577 function pointer will be called */
4578 void* pUserData;
4579}WDI_BtAmpEventParamsType;
4580
Jeff Johnsone7245742012-09-05 17:12:55 -07004581#ifdef FEATURE_OEM_DATA_SUPPORT
4582
4583#ifndef OEM_DATA_REQ_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004584#define OEM_DATA_REQ_SIZE 134
Jeff Johnsone7245742012-09-05 17:12:55 -07004585#endif
4586#ifndef OEM_DATA_RSP_SIZE
Madan Mohan Koyyalamudi7a4d9312012-12-04 17:21:36 -08004587#define OEM_DATA_RSP_SIZE 1968
Jeff Johnsone7245742012-09-05 17:12:55 -07004588#endif
4589
4590/*----------------------------------------------------------------------------
4591 WDI_oemDataReqInfoType
4592----------------------------------------------------------------------------*/
4593typedef struct
4594{
4595 wpt_macAddr selfMacAddr;
4596 wpt_uint8 oemDataReq[OEM_DATA_REQ_SIZE];
4597}WDI_oemDataReqInfoType;
4598
4599/*----------------------------------------------------------------------------
4600 WDI_oemDataReqParamsType
4601----------------------------------------------------------------------------*/
4602typedef struct
4603{
4604 /*Request status callback offered by UMAC - it is called if the current
4605 req has returned PENDING as status; it delivers the status of sending
4606 the message over the BUS */
4607 WDI_ReqStatusCb wdiReqStatusCB;
4608
4609 /*The user data passed in by UMAC, it will be sent back when the above
4610 function pointer will be called */
4611 void* pUserData;
4612
4613 /*OEM DATA REQ Info */
4614 WDI_oemDataReqInfoType wdiOemDataReqInfo;
4615
4616}WDI_oemDataReqParamsType;
4617
4618/*----------------------------------------------------------------------------
4619 WDI_oemDataRspParamsType
4620----------------------------------------------------------------------------*/
4621typedef struct
4622{
4623 wpt_uint8 oemDataRsp[OEM_DATA_RSP_SIZE];
4624}WDI_oemDataRspParamsType;
4625
4626#endif /* FEATURE_OEM_DATA_SUPPORT */
Jeff Johnson295189b2012-06-20 16:38:30 -07004627
4628#ifdef WLAN_FEATURE_VOWIFI_11R
4629/*---------------------------------------------------------------------------
4630 WDI_AggrAddTSReqInfoType
4631---------------------------------------------------------------------------*/
4632typedef struct
4633{
4634 /*STA Index*/
4635 wpt_uint8 ucSTAIdx;
4636
4637 /*Identifier for TSpec*/
4638 wpt_uint8 ucTspecIdx;
4639
4640 /*Tspec IE negotiated OTA*/
4641 WDI_TspecIEType wdiTspecIE[WDI_MAX_NO_AC];
4642
4643 /*UAPSD delivery and trigger enabled flags */
4644 wpt_uint8 ucUapsdFlags;
4645
4646 /*SI for each AC*/
4647 wpt_uint8 ucServiceInterval[WDI_MAX_NO_AC];
4648
4649 /*Suspend Interval for each AC*/
4650 wpt_uint8 ucSuspendInterval[WDI_MAX_NO_AC];
4651
4652 /*DI for each AC*/
4653 wpt_uint8 ucDelayedInterval[WDI_MAX_NO_AC];
4654
4655}WDI_AggrAddTSReqInfoType;
4656
4657
4658/*---------------------------------------------------------------------------
4659 WDI_AggrAddTSReqParamsType
4660---------------------------------------------------------------------------*/
4661typedef struct
4662{
4663 /*TSpec Info */
4664 WDI_AggrAddTSReqInfoType wdiAggrTsInfo;
4665
4666 /*Request status callback offered by UMAC - it is called if the current
4667 req has returned PENDING as status; it delivers the status of sending
4668 the message over the BUS */
4669 WDI_ReqStatusCb wdiReqStatusCB;
4670
4671 /*The user data passed in by UMAC, it will be sent back when the above
4672 function pointer will be called */
4673 void* pUserData;
4674}WDI_AggrAddTSReqParamsType;
4675
4676#endif /* WLAN_FEATURE_VOWIFI_11R */
4677
Jeff Johnson295189b2012-06-20 16:38:30 -07004678/*---------------------------------------------------------------------------
4679 WDI_FTMCommandReqType
4680---------------------------------------------------------------------------*/
4681typedef struct
4682{
4683 /* FTM Command Body length */
4684 wpt_uint32 bodyLength;
4685 /* Actual FTM Command body */
4686 void *FTMCommandBody;
4687}WDI_FTMCommandReqType;
Jeff Johnson295189b2012-06-20 16:38:30 -07004688
4689/*---------------------------------------------------------------------------
4690 WDI_WlanSuspendInfoType
4691---------------------------------------------------------------------------*/
4692typedef struct
4693{
4694 /* Mode of Mcast and Bcast filters configured */
4695 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4696}WDI_WlanSuspendInfoType;
4697
4698/*---------------------------------------------------------------------------
4699 WDI_SuspendParamsType
4700---------------------------------------------------------------------------*/
4701typedef struct
4702{
4703 WDI_WlanSuspendInfoType wdiSuspendParams;
4704
4705 /*Request status callback offered by UMAC - it is called if the current
4706 req has returned PENDING as status; it delivers the status of sending
4707 the message over the BUS */
4708 WDI_ReqStatusCb wdiReqStatusCB;
4709
4710 /*The user data passed in by UMAC, it will be sent back when the above
4711 function pointer will be called */
4712 void* pUserData;
4713
4714}WDI_SuspendParamsType;
4715
4716/*---------------------------------------------------------------------------
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004717 WDI_TrafficStatsType - This is collected for each STA
4718---------------------------------------------------------------------------*/
4719
4720typedef struct
4721{
4722 /* TX stats */
4723 wpt_uint32 txBytesPushed;
4724 wpt_uint32 txPacketsPushed;
4725
4726 /* RX stats */
4727 wpt_uint32 rxBytesRcvd;
4728 wpt_uint32 rxPacketsRcvd;
4729 wpt_uint32 rxTimeTotal;
4730}WDI_TrafficStatsType;
4731
4732typedef struct
4733{
4734 WDI_TrafficStatsType *pTrafficStats;
4735 wpt_uint32 length;
4736 wpt_uint32 duration;
4737
4738 /*Request status callback offered by UMAC - it is called if the current
4739 req has returned PENDING as status; it delivers the status of sending
4740 the message over the BUS */
4741 WDI_ReqStatusCb wdiReqStatusCB;
4742
4743 /*The user data passed in by UMAC, it will be sent back when the above
4744 function pointer will be called */
4745 void* pUserData;
4746}WDI_TrafficStatsIndType;
4747
Chet Lanctot186b5732013-03-18 10:26:30 -07004748#ifdef WLAN_FEATURE_11W
4749typedef struct
4750{
4751
4752 wpt_boolean bExcludeUnencrypt;
4753 wpt_macAddr bssid;
4754 /*Request status callback offered by UMAC - it is called if the current
4755 req has returned PENDING as status; it delivers the status of sending
4756 the message over the BUS */
4757 WDI_ReqStatusCb wdiReqStatusCB;
4758
4759 /*The user data passed in by UMAC, it will be sent back when the above
4760 function pointer will be called */
4761 void* pUserData;
4762}WDI_ExcludeUnencryptIndType;
4763#endif
4764
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004765/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07004766 WDI_WlanResumeInfoType
4767---------------------------------------------------------------------------*/
4768typedef struct
4769{
4770 /* Mode of Mcast and Bcast filters configured */
4771 wpt_uint8 ucConfiguredMcstBcstFilterSetting;
4772}WDI_WlanResumeInfoType;
4773
4774/*---------------------------------------------------------------------------
4775 WDI_ResumeParamsType
4776---------------------------------------------------------------------------*/
4777typedef struct
4778{
4779 WDI_WlanResumeInfoType wdiResumeParams;
4780
4781 /*Request status callback offered by UMAC - it is called if the current
4782 req has returned PENDING as status; it delivers the status of sending
4783 the message over the BUS */
4784 WDI_ReqStatusCb wdiReqStatusCB;
4785
4786 /*The user data passed in by UMAC, it will be sent back when the above
4787 function pointer will be called */
4788 void* pUserData;
4789
4790}WDI_ResumeParamsType;
4791
4792#ifdef WLAN_FEATURE_GTK_OFFLOAD
4793/*---------------------------------------------------------------------------
4794 * WDI_GTK_OFFLOAD_REQ
4795 *--------------------------------------------------------------------------*/
4796
4797typedef struct
4798{
4799 wpt_uint32 ulFlags; /* optional flags */
4800 wpt_uint8 aKCK[16]; /* Key confirmation key */
4801 wpt_uint8 aKEK[16]; /* key encryption key */
4802 wpt_uint64 ullKeyReplayCounter; /* replay counter */
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004803 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004804} WDI_GtkOffloadReqParams;
4805
4806typedef struct
4807{
4808 WDI_GtkOffloadReqParams gtkOffloadReqParams;
4809
4810 /*Request status callback offered by UMAC - it is called if the current
4811 req has returned PENDING as status; it delivers the status of sending
4812 the message over the BUS */
4813 WDI_ReqStatusCb wdiReqStatusCB;
4814
4815 /*The user data passed in by UMAC, it will be sent back when the above
4816 function pointer will be called */
4817 void* pUserData;
4818} WDI_GtkOffloadReqMsg;
4819
4820/*---------------------------------------------------------------------------
4821 * WDI_GTK_OFFLOAD_RSP
4822 *--------------------------------------------------------------------------*/
4823typedef struct
4824{
4825 /* success or failure */
4826 wpt_uint32 ulStatus;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004827 /*BssIdx of the response */
4828 wpt_uint8 bssIdx;
Jeff Johnson295189b2012-06-20 16:38:30 -07004829} WDI_GtkOffloadRspParams;
4830
4831typedef struct
4832{
4833 WDI_GtkOffloadRspParams gtkOffloadRspParams;
4834
4835 /*Request status callback offered by UMAC - it is called if the current
4836 req has returned PENDING as status; it delivers the status of sending
4837 the message over the BUS */
4838 WDI_ReqStatusCb wdiReqStatusCB;
4839
4840 /*The user data passed in by UMAC, it will be sent back when the above
4841 function pointer will be called */
4842 void* pUserData;
4843} WDI_GtkOffloadRspMsg;
4844
4845
4846/*---------------------------------------------------------------------------
4847* WDI_GTK_OFFLOAD_GETINFO_REQ
4848*--------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004849typedef struct
4850{
4851 /*BssIdx of the response */
4852 wpt_macAddr bssId;
4853} WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004854
4855typedef struct
4856{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07004857
4858 WDI_GtkOffloadGetInfoReqParams WDI_GtkOffloadGetInfoReqParams;
Jeff Johnson295189b2012-06-20 16:38:30 -07004859 /*Request status callback offered by UMAC - it is called if the current
4860 req has returned PENDING as status; it delivers the status of sending
4861 the message over the BUS */
4862 WDI_ReqStatusCb wdiReqStatusCB;
4863
4864 /*The user data passed in by UMAC, it will be sent back when the above
4865 function pointer will be called */
4866 void* pUserData;
4867} WDI_GtkOffloadGetInfoReqMsg;
4868
4869/*---------------------------------------------------------------------------
4870* WDI_GTK_OFFLOAD_GETINFO_RSP
4871*--------------------------------------------------------------------------*/
4872typedef struct
4873{
4874 wpt_uint32 ulStatus; /* success or failure */
4875 wpt_uint64 ullKeyReplayCounter; /* current replay counter value */
4876 wpt_uint32 ulTotalRekeyCount; /* total rekey attempts */
4877 wpt_uint32 ulGTKRekeyCount; /* successful GTK rekeys */
4878 wpt_uint32 ulIGTKRekeyCount; /* successful iGTK rekeys */
Gopichand Nakkala870cbae2013-03-15 21:16:09 +05304879 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07004880} WDI_GtkOffloadGetInfoRspParams;
4881
4882typedef struct
4883{
4884 WDI_GtkOffloadGetInfoRspParams gtkOffloadGetInfoRspParams;
4885
4886 /*Request status callback offered by UMAC - it is called if the current
4887 req has returned PENDING as status; it delivers the status of sending
4888 the message over the BUS */
4889 WDI_ReqStatusCb wdiReqStatusCB;
4890
4891 /*The user data passed in by UMAC, it will be sent back when the above
4892 function pointer will be called */
4893 void* pUserData;
4894} WDI_GtkOffloadGetInfoRspMsg;
4895#endif // WLAN_FEATURE_GTK_OFFLOAD
4896
4897/*---------------------------------------------------------------------------
4898 WDI_SuspendResumeRspParamsType
4899---------------------------------------------------------------------------*/
4900typedef struct
4901{
4902 /*Status of the response*/
4903 WDI_Status wdiStatus;
4904}WDI_SuspendResumeRspParamsType;
4905
Leo Chang9056f462013-08-01 19:21:11 -07004906#ifdef FEATURE_WLAN_LPHB
4907/*---------------------------------------------------------------------------
4908 WDI Low Power Heart Beat Config request
4909 Copy from sirApi.h to avoid compile error
4910---------------------------------------------------------------------------*/
4911#define WDI_LPHB_FILTER_LEN 64
4912
4913typedef enum
4914{
4915 WDI_LPHB_SET_EN_PARAMS_INDID = 0x0001,
4916 WDI_LPHB_SET_TCP_PARAMS_INDID,
4917 WDI_LPHB_SET_TCP_PKT_FILTER_INDID,
4918 WDI_LPHB_SET_UDP_PARAMS_INDID,
4919 WDI_LPHB_SET_UDP_PKT_FILTER_INDID,
4920 WDI_LPHB_SET_NETWORK_INFO_INDID,
4921} WDI_LPHBIndType;
4922
4923typedef struct
4924{
4925 wpt_uint8 enable;
4926 wpt_uint8 item;
4927 wpt_uint8 session;
4928} WDI_LPHBEnableStruct;
4929
4930typedef struct
4931{
4932 wpt_uint32 srv_ip;
4933 wpt_uint32 dev_ip;
4934 wpt_uint16 src_port;
4935 wpt_uint16 dst_port;
4936 wpt_uint16 timeout;
4937 wpt_uint8 session;
4938 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
Leo Changd9df8aa2013-09-26 13:32:26 -07004939 wpt_uint16 timePeriodSec; // in seconds
4940 wpt_uint32 tcpSn;
Leo Chang9056f462013-08-01 19:21:11 -07004941} WDI_LPHBTcpParamStruct;
4942
4943typedef struct
4944{
4945 wpt_uint16 length;
4946 wpt_uint8 offset;
4947 wpt_uint8 session;
4948 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
4949} WDI_LPHBTcpFilterStruct;
4950
4951typedef struct
4952{
4953 wpt_uint32 srv_ip;
4954 wpt_uint32 dev_ip;
4955 wpt_uint16 src_port;
4956 wpt_uint16 dst_port;
4957 wpt_uint16 interval;
4958 wpt_uint16 timeout;
4959 wpt_uint8 session;
4960 wpt_uint8 gateway_mac[WDI_MAC_ADDR_LEN];
4961} WDI_LPHBUdpParamStruct;
4962
4963typedef struct
4964{
4965 wpt_uint16 length;
4966 wpt_uint8 offset;
4967 wpt_uint8 session;
4968 wpt_uint8 filter[WDI_LPHB_FILTER_LEN];
4969} WDI_LPHBUdpFilterStruct;
4970
4971typedef struct
4972{
4973 wpt_uint16 cmd;
4974 wpt_uint16 dummy;
4975 union
4976 {
4977 WDI_LPHBEnableStruct lphbEnableReq;
4978 WDI_LPHBTcpParamStruct lphbTcpParamReq;
4979 WDI_LPHBTcpFilterStruct lphbTcpFilterReq;
4980 WDI_LPHBUdpParamStruct lphbUdpParamReq;
4981 WDI_LPHBUdpFilterStruct lphbUdpFilterReq;
4982 } params;
4983} WDI_LPHBReq;
4984#endif /* FEATURE_WLAN_LPHB */
Jeff Johnson295189b2012-06-20 16:38:30 -07004985
Jeff Johnson295189b2012-06-20 16:38:30 -07004986/*---------------------------------------------------------------------------
4987 WDI_AuthType
4988---------------------------------------------------------------------------*/
4989typedef enum
4990{
4991 WDI_AUTH_TYPE_ANY = 0,
4992
4993 WDI_AUTH_TYPE_NONE,
4994 WDI_AUTH_TYPE_OPEN_SYSTEM,
4995 WDI_AUTH_TYPE_SHARED_KEY,
4996
4997 WDI_AUTH_TYPE_WPA,
4998 WDI_AUTH_TYPE_WPA_PSK,
4999 WDI_AUTH_TYPE_WPA_NONE,
5000
5001 WDI_AUTH_TYPE_RSN,
5002 WDI_AUTH_TYPE_RSN_PSK,
5003 WDI_AUTH_TYPE_FT_RSN,
5004 WDI_AUTH_TYPE_FT_RSN_PSK,
5005 WDI_AUTH_TYPE_WAPI_WAI_CERTIFICATE,
5006 WDI_AUTH_TYPE_WAPI_WAI_PSK,
5007 WDI_AUTH_TYPE_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
5008
5009}WDI_AuthType;
5010
5011/*---------------------------------------------------------------------------
5012 WDI_EdType
5013---------------------------------------------------------------------------*/
5014typedef enum
5015{
5016 WDI_ED_ANY = 0,
5017 WDI_ED_NONE,
5018 WDI_ED_WEP40,
5019 WDI_ED_WEP104,
5020 WDI_ED_TKIP,
5021 WDI_ED_CCMP,
5022 WDI_ED_WPI,
5023 WDI_ED_AES_128_CMAC,
5024 WDI_ED_MAX = 0xFFFFFFFF /*expanding the type to UINT32*/
5025} WDI_EdType;
5026
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005027#ifdef FEATURE_WLAN_SCAN_PNO
5028
5029/*Max number of channels for a given network supported by PNO*/
5030#define WDI_PNO_MAX_NETW_CHANNELS 26
5031
5032/*Max number of channels for a given network supported by PNO*/
5033#define WDI_PNO_MAX_NETW_CHANNELS_EX 60
5034
5035/*The max number of programable networks for PNO*/
5036#define WDI_PNO_MAX_SUPP_NETWORKS 16
5037
5038/*The max number of scan timers programable in Riva*/
5039#define WDI_PNO_MAX_SCAN_TIMERS 10
5040
5041#define WDI_PNO_MAX_PROBE_SIZE 450
Jeff Johnson295189b2012-06-20 16:38:30 -07005042
5043/*---------------------------------------------------------------------------
5044 WDI_PNOMode
5045---------------------------------------------------------------------------*/
5046typedef enum
5047{
5048 /*Network offload is to start immediately*/
5049 WDI_PNO_MODE_IMMEDIATE,
5050
5051 /*Network offload is to start on host suspend*/
5052 WDI_PNO_MODE_ON_SUSPEND,
5053
5054 /*Network offload is to start on host resume*/
5055 WDI_PNO_MODE_ON_RESUME,
5056 WDI_PNO_MODE_MAX = 0xFFFFFFFF
5057} WDI_PNOMode;
5058
5059/* SSID broadcast type */
5060typedef enum
5061{
5062 WDI_BCAST_UNKNOWN = 0,
5063 WDI_BCAST_NORMAL = 1,
5064 WDI_BCAST_HIDDEN = 2,
5065
5066 WDI_BCAST_TYPE_MAX = 0xFFFFFFFF
5067} WDI_SSIDBcastType;
5068
5069/*---------------------------------------------------------------------------
5070 WDI_NetworkType
5071---------------------------------------------------------------------------*/
5072typedef struct
5073{
5074 /*The SSID of the preferred network*/
5075 WDI_MacSSid ssId;
5076
5077 /*The authentication method of the preferred network*/
5078 WDI_AuthType wdiAuth;
5079
5080 /*The encryption method of the preferred network*/
5081 WDI_EdType wdiEncryption;
5082
5083 /*SSID broadcast type, normal, hidden or unknown*/
5084 WDI_SSIDBcastType wdiBcastNetworkType;
5085
5086 /*channel count - 0 for all channels*/
5087 wpt_uint8 ucChannelCount;
5088
5089 /*the actual channels*/
Madan Mohan Koyyalamudi4bb5d2e2013-09-26 17:36:46 +05305090 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
Jeff Johnson295189b2012-06-20 16:38:30 -07005091
5092 /*rssi threshold that a network must meet to be considered, 0 - for any*/
5093 wpt_uint8 rssiThreshold;
5094} WDI_NetworkType;
5095
5096
5097/*---------------------------------------------------------------------------
5098 WDI_ScanTimer
5099---------------------------------------------------------------------------*/
5100typedef struct
5101{
5102 /*The timer value*/
5103 wpt_uint32 uTimerValue;
5104
5105 /*The amount of time we should be repeating the interval*/
5106 wpt_uint32 uTimerRepeat;
5107} WDI_ScanTimer;
5108
5109/*---------------------------------------------------------------------------
5110 WDI_ScanTimersType
5111---------------------------------------------------------------------------*/
5112typedef struct
5113{
5114 /*The number of value pair intervals present in the array*/
5115 wpt_uint8 ucScanTimersCount;
5116
5117 /*The time-repeat value pairs*/
5118 WDI_ScanTimer aTimerValues[WDI_PNO_MAX_SCAN_TIMERS];
5119} WDI_ScanTimersType;
5120
5121/*---------------------------------------------------------------------------
5122 WDI_PNOScanReqType
5123---------------------------------------------------------------------------*/
5124typedef struct
5125{
5126 /*Enable or disable PNO feature*/
5127 wpt_uint8 bEnable;
5128
5129 /*PNO mode requested*/
5130 WDI_PNOMode wdiModePNO;
5131
5132 /*Network count*/
5133 wpt_uint8 ucNetworksCount;
5134
5135 /*The networks to look for*/
5136 WDI_NetworkType aNetworks[WDI_PNO_MAX_SUPP_NETWORKS];
5137
5138 /*Scan timer intervals*/
5139 WDI_ScanTimersType scanTimers;
5140
5141 /*Probe template for 2.4GHz band*/
5142 wpt_uint16 us24GProbeSize;
5143 wpt_uint8 a24GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
5144
5145 /*Probe template for 5GHz band*/
5146 wpt_uint16 us5GProbeSize;
5147 wpt_uint8 a5GProbeTemplate[WDI_PNO_MAX_PROBE_SIZE];
5148} WDI_PNOScanReqType;
5149
5150/*---------------------------------------------------------------------------
5151 WDI_PNOScanReqParamsType
5152 PNO info passed to WDI form WDA
5153---------------------------------------------------------------------------*/
5154typedef struct
5155{
5156 /* PNO Info Type, same as tPrefNetwListParams */
5157 WDI_PNOScanReqType wdiPNOScanInfo;
5158 /* Request status callback offered by UMAC - it is called if the current req
5159 has returned PENDING as status; it delivers the status of sending the message
5160 over the BUS */
5161 WDI_ReqStatusCb wdiReqStatusCB;
5162 /* The user data passed in by UMAC, it will be sent back when the above
5163 function pointer will be called */
5164 void* pUserData;
5165} WDI_PNOScanReqParamsType;
5166
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005167/*---------------------------------------------------------------------------
5168 WDI_SetRssiFilterReqParamsType
5169 PNO info passed to WDI form WDA
5170---------------------------------------------------------------------------*/
5171typedef struct
5172{
5173 /* RSSI Threshold */
5174 wpt_uint8 rssiThreshold;
5175 /* Request status callback offered by UMAC - it is called if the current req
5176 has returned PENDING as status; it delivers the status of sending the message
5177 over the BUS */
5178 WDI_ReqStatusCb wdiReqStatusCB;
5179 /* The user data passed in by UMAC, it will be sent back when the above
5180 function pointer will be called */
5181 void* pUserData;
5182} WDI_SetRssiFilterReqParamsType;
5183
5184/*---------------------------------------------------------------------------
5185 WDI_UpdateScanParamsInfo
5186---------------------------------------------------------------------------*/
5187typedef struct
5188{
5189 /*Is 11d enabled*/
5190 wpt_uint8 b11dEnabled;
5191
5192 /*Was UMAc able to find the regulatory domain*/
5193 wpt_uint8 b11dResolved;
5194
5195 /*Number of channel allowed in the regulatory domain*/
5196 wpt_uint8 ucChannelCount;
5197
5198 /*The actual channels allowed in the regulatory domain*/
5199 wpt_uint8 aChannels[WDI_PNO_MAX_NETW_CHANNELS_EX];
5200
5201 /*Passive min channel time*/
5202 wpt_uint16 usPassiveMinChTime;
5203
5204 /*Passive max channel time*/
5205 wpt_uint16 usPassiveMaxChTime;
5206
5207 /*Active min channel time*/
5208 wpt_uint16 usActiveMinChTime;
5209
5210 /*Active max channel time*/
5211 wpt_uint16 usActiveMaxChTime;
5212
5213 /*channel bonding info*/
5214 wpt_uint8 cbState;
5215} WDI_UpdateScanParamsInfo;
5216
5217/*---------------------------------------------------------------------------
5218 WDI_UpdateScanParamsInfoType
5219 UpdateScanParams info passed to WDI form WDA
5220---------------------------------------------------------------------------*/
5221typedef struct
5222{
5223 /* PNO Info Type, same as tUpdateScanParams */
5224 WDI_UpdateScanParamsInfo wdiUpdateScanParamsInfo;
5225 /* Request status callback offered by UMAC - it is called if the current req
5226 has returned PENDING as status; it delivers the status of sending the message
5227 over the BUS */
5228 WDI_ReqStatusCb wdiReqStatusCB;
5229 /* The user data passed in by UMAC, it will be sent back when the above
5230 function pointer will be called */
5231 void* pUserData;
5232} WDI_UpdateScanParamsInfoType;
5233#endif //FEATURE_WLAN_SCAN_PNO
5234
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005235#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
5236
Varun Reddy Yeturu52231ea2014-02-06 12:00:56 -08005237#define WDI_ROAM_SCAN_MAX_CHANNELS 80
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005238#define WDI_ROAM_SCAN_MAX_PROBE_SIZE 450
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005239
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005240typedef struct
5241{
5242 /*The SSID of the preferred network*/
5243 WDI_MacSSid ssId;
5244 wpt_uint8 currAPbssid[WDI_MAC_ADDR_LEN];
5245
5246 /*The authentication method of the preferred network*/
5247 WDI_AuthType authentication;
5248
5249 /*The encryption method of the preferred network*/
5250 WDI_EdType encryption;
5251 WDI_EdType mcencryption;
5252
5253 /*SSID broadcast type, normal, hidden or unknown*/
5254 //WDI_SSIDBcastType wdiBcastNetworkType;
5255
5256 /*channel count - 0 for all channels*/
5257 wpt_uint8 ChannelCount;
5258
5259 /*the actual channels*/
5260 wpt_uint8 ChannelCache[WDI_ROAM_SCAN_MAX_CHANNELS];
5261
5262} WDI_RoamNetworkType;
5263
5264typedef struct WDIMobilityDomainInfo
5265{
5266 wpt_uint8 mdiePresent;
5267 wpt_uint16 mobilityDomain;
5268} WDI_MobilityDomainInfo;
5269
5270/*---------------------------------------------------------------------------
5271 WDI_RoamOffloadScanInfo
5272---------------------------------------------------------------------------*/
5273typedef struct
5274{
5275 wpt_boolean RoamScanOffloadEnabled;
Sameer Thalappil4ae66ec2013-11-05 14:17:35 -08005276 wpt_boolean MAWCEnabled;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005277 wpt_uint8 LookupThreshold;
Varun Reddy Yeturu6c5e25c2014-01-09 21:55:37 -08005278 wpt_uint8 RxSensitivityThreshold;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005279 wpt_uint8 RoamRssiDiff;
5280 wpt_uint8 ChannelCacheType;
5281 wpt_uint8 Command;
5282 wpt_uint8 StartScanReason;
5283 wpt_uint16 NeighborScanTimerPeriod;
5284 wpt_uint16 NeighborRoamScanRefreshPeriod;
5285 wpt_uint16 NeighborScanChannelMinTime;
5286 wpt_uint16 NeighborScanChannelMaxTime;
5287 wpt_uint16 EmptyRefreshScanPeriod;
5288 wpt_uint8 ValidChannelCount;
5289 wpt_uint8 ValidChannelList[WDI_ROAM_SCAN_MAX_CHANNELS];
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08005290 wpt_boolean IsESEEnabled;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005291 /*Probe template for 2.4GHz band*/
5292 wpt_uint16 us24GProbeSize;
5293 wpt_uint8 a24GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
5294
5295 /*Probe template for 5GHz band*/
5296 wpt_uint16 us5GProbeSize;
5297 wpt_uint8 a5GProbeTemplate[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005298 /*LFR BG Scan will currently look for only one network to which it is initially connected.
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005299 * As per requirement, later, the following structure can be used as an array of networks.*/
5300 WDI_RoamNetworkType ConnectedNetwork;
5301 WDI_MobilityDomainInfo MDID;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005302 wpt_uint8 nProbes;
5303 wpt_uint16 HomeAwayTime;
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07005304} WDI_RoamOffloadScanInfo;
5305
5306typedef struct
5307{
5308 /* Start Roam Candidate Lookup Offload Back Ground Info Type */
5309 WDI_RoamOffloadScanInfo wdiRoamOffloadScanInfo;
5310 /* Request status callback offered by UMAC - it is called if the current req
5311 has returned PENDING as status; it delivers the status of sending the message
5312 over the BUS */
5313 WDI_ReqStatusCb wdiReqStatusCB;
5314 /* The user data passed in by UMAC, it will be sent back when the above
5315 function pointer will be called */
5316 void* pUserData;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07005317} WDI_RoamScanOffloadReqParamsType;
Manjunathappa Prakash4f1d5a52013-11-11 16:22:19 -08005318#endif //WLAN_FEATURE_ROAM_SCAN_OFFLOAD
Jeff Johnson295189b2012-06-20 16:38:30 -07005319
5320/*---------------------------------------------------------------------------
Sandeep Puligilla8b8b74b2014-02-10 16:39:05 +05305321 WDI_HT40ObssScanIndType
5322---------------------------------------------------------------------------*/
5323typedef struct
5324{
5325 wpt_uint8 cmdType;
5326 wpt_uint8 scanType;
5327 wpt_uint16 OBSSScanPassiveDwellTime; // In TUs
5328 wpt_uint16 OBSSScanActiveDwellTime; // In TUs
5329 wpt_uint16 BSSChannelWidthTriggerScanInterval; // In seconds
5330 wpt_uint16 OBSSScanPassiveTotalPerChannel; // In TUs
5331 wpt_uint16 OBSSScanActiveTotalPerChannel; // In TUs
5332 wpt_uint16 BSSWidthChannelTransitionDelayFactor;
5333 wpt_uint16 OBSSScanActivityThreshold;
5334 wpt_uint8 selfStaIdx;
5335 wpt_uint8 bssIdx;
5336 wpt_uint8 fortyMHZIntolerent;
5337 wpt_uint8 channelCount;
5338 wpt_uint8 channels[WDI_ROAM_SCAN_MAX_CHANNELS];
5339 wpt_uint8 currentOperatingClass;
5340 wpt_uint16 ieFieldLen;
5341 wpt_uint8 ieField[WDI_ROAM_SCAN_MAX_PROBE_SIZE];
5342} WDI_HT40ObssScanIndType;
5343
5344
5345/*---------------------------------------------------------------------------
5346 WDI_OBSSScanIndParamsType
5347---------------------------------------------------------------------------*/
5348typedef struct
5349{
5350 WDI_HT40ObssScanIndType wdiHT40ObssScanParam;
5351
5352 /*Request status callback offered by UMAC - it is called if the current
5353 req has returned PENDING as status; it delivers the status of sending
5354 the message over the BUS */
5355 WDI_ReqStatusCb wdiReqStatusCB;
5356
5357 /*The user data passed in by UMAC, it will be sent back when the above
5358 function pointer will be called */
5359 void* pUserData;
5360
5361}WDI_HT40ObssScanParamsType;
5362
5363/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07005364 WDI_UpdateScanParamsInfo
5365---------------------------------------------------------------------------*/
5366typedef struct
5367{
5368 /* Ignore DTIM */
5369 wpt_uint32 uIgnoreDTIM;
5370
5371 /*DTIM Period*/
5372 wpt_uint32 uDTIMPeriod;
5373
5374 /* Listen Interval */
5375 wpt_uint32 uListenInterval;
5376
5377 /* Broadcast Multicas Filter */
5378 wpt_uint32 uBcastMcastFilter;
5379
5380 /* Beacon Early Termination */
5381 wpt_uint32 uEnableBET;
5382
5383 /* Beacon Early Termination Interval */
5384 wpt_uint32 uBETInterval;
5385
Yue Mac24062f2013-05-13 17:01:29 -07005386 /* MAX LI for modulated DTIM */
5387 wpt_uint32 uMaxLIModulatedDTIM;
5388
Jeff Johnson295189b2012-06-20 16:38:30 -07005389} WDI_SetPowerParamsInfo;
5390
5391/*---------------------------------------------------------------------------
5392 WDI_UpdateScanParamsInfoType
5393 UpdateScanParams info passed to WDI form WDA
5394---------------------------------------------------------------------------*/
5395typedef struct
5396{
5397 /* Power params Info Type, same as tSetPowerParamsReq */
5398 WDI_SetPowerParamsInfo wdiSetPowerParamsInfo;
5399 /* Request status callback offered by UMAC - it is called if the current req
5400 has returned PENDING as status; it delivers the status of sending the message
5401 over the BUS */
5402 WDI_ReqStatusCb wdiReqStatusCB;
5403 /* The user data passed in by UMAC, it will be sent back when the above
5404 function pointer will be called */
5405 void* pUserData;
5406}WDI_SetPowerParamsReqParamsType;
5407
5408/*---------------------------------------------------------------------------
5409 WDI_SetTxPerTrackingConfType
5410 Wowl add ptrn info passed to WDA form UMAC
5411---------------------------------------------------------------------------*/
5412typedef struct
5413{
5414 wpt_uint8 ucTxPerTrackingEnable; /* 0: disable, 1:enable */
5415 wpt_uint8 ucTxPerTrackingPeriod; /* Check period, unit is sec. */
5416 wpt_uint8 ucTxPerTrackingRatio; /* (Fail TX packet)/(Total TX packet) ratio, the unit is 10%. */
5417 wpt_uint32 uTxPerTrackingWatermark; /* A watermark of check number, once the tx packet exceed this number, we do the check, default is 5 */
5418} WDI_TxPerTrackingParamType;
5419
5420/*---------------------------------------------------------------------------
5421 WDI_SetTxPerTrackingReqParamsType
5422 Tx PER Tracking parameters passed to WDI from WDA
5423---------------------------------------------------------------------------*/
5424typedef struct
5425{
5426 /* Configurations for Tx PER Tracking */
5427 WDI_TxPerTrackingParamType wdiTxPerTrackingParam;
5428 /*Request status callback offered by UMAC - it is called if the current req
5429 has returned PENDING as status; it delivers the status of sending the message
5430 over the BUS */
5431 WDI_ReqStatusCb wdiReqStatusCB;
5432 /*The user data passed in by UMAC, it will be sent back when the above
5433 function pointer will be called */
5434 void* pUserData;
5435}WDI_SetTxPerTrackingReqParamsType;
5436
5437#ifdef WLAN_FEATURE_PACKET_FILTERING
5438/*---------------------------------------------------------------------------
5439 Packet Filtering Parameters
5440---------------------------------------------------------------------------*/
5441
5442#define WDI_IPV4_ADDR_LEN 4
5443#define WDI_MAC_ADDR_LEN 6
5444#define WDI_MAX_FILTER_TEST_DATA_LEN 8
5445#define WDI_MAX_NUM_MULTICAST_ADDRESS 240
5446#define WDI_MAX_NUM_FILTERS 20
5447#define WDI_MAX_NUM_TESTS_PER_FILTER 10
5448
5449//
5450// Receive Filter Parameters
5451//
5452typedef enum
5453{
5454 WDI_RCV_FILTER_TYPE_INVALID,
5455 WDI_RCV_FILTER_TYPE_FILTER_PKT,
5456 WDI_RCV_FILTER_TYPE_BUFFER_PKT,
5457 WDI_RCV_FILTER_TYPE_MAX_ENUM_SIZE
5458}WDI_ReceivePacketFilterType;
5459
5460typedef enum
5461{
5462 WDI_FILTER_HDR_TYPE_INVALID,
5463 WDI_FILTER_HDR_TYPE_MAC,
5464 WDI_FILTER_HDR_TYPE_ARP,
5465 WDI_FILTER_HDR_TYPE_IPV4,
5466 WDI_FILTER_HDR_TYPE_IPV6,
5467 WDI_FILTER_HDR_TYPE_UDP,
5468 WDI_FILTER_HDR_TYPE_MAX
5469}WDI_RcvPktFltProtocolType;
5470
5471typedef enum
5472{
5473 WDI_FILTER_CMP_TYPE_INVALID,
5474 WDI_FILTER_CMP_TYPE_EQUAL,
5475 WDI_FILTER_CMP_TYPE_MASK_EQUAL,
5476 WDI_FILTER_CMP_TYPE_NOT_EQUAL,
5477 WDI_FILTER_CMP_TYPE_MASK_NOT_EQUAL,
5478 WDI_FILTER_CMP_TYPE_MAX
5479}WDI_RcvPktFltCmpFlagType;
5480
5481typedef struct
5482{
5483 WDI_RcvPktFltProtocolType protocolLayer;
5484 WDI_RcvPktFltCmpFlagType cmpFlag;
5485/* Length of the data to compare */
5486 wpt_uint16 dataLength;
5487/* from start of the respective frame header */
5488 wpt_uint8 dataOffset;
5489 wpt_uint8 reserved; /* Reserved field */
5490/* Data to compare */
5491 wpt_uint8 compareData[WDI_MAX_FILTER_TEST_DATA_LEN];
5492/* Mask to be applied on the received packet data before compare */
5493 wpt_uint8 dataMask[WDI_MAX_FILTER_TEST_DATA_LEN];
5494}WDI_RcvPktFilterFieldParams;
5495
5496typedef struct
5497{
5498 wpt_uint8 filterId;
5499 wpt_uint8 filterType;
5500 wpt_uint32 numFieldParams;
5501 wpt_uint32 coalesceTime;
Jeff Johnsone7245742012-09-05 17:12:55 -07005502 wpt_macAddr selfMacAddr;
5503 wpt_macAddr bssId;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005504 WDI_RcvPktFilterFieldParams paramsData[1];
5505
Jeff Johnson295189b2012-06-20 16:38:30 -07005506}WDI_RcvPktFilterCfgType;
5507
5508typedef struct
5509{
5510 /*Request status callback offered by UMAC - it is called if the current
5511 req has returned PENDING as status; it delivers the status of sending
5512 the message over the BUS */
5513 WDI_ReqStatusCb wdiReqStatusCB;
5514
5515 /*The user data passed in by UMAC, it will be sent back when the above
5516 function pointer will be called */
5517 void* pUserData;
5518
5519 // Variable length packet filter field params
5520 WDI_RcvPktFilterCfgType wdiPktFilterCfg;
5521} WDI_SetRcvPktFilterReqParamsType;
5522
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005523typedef struct
5524{
5525 /*Result of the operation*/
5526 WDI_Status wdiStatus;
5527 /* BSSIDX of the Set Receive Filter
5528 */
5529 wpt_uint8 bssIdx;
5530} WDI_SetRcvPktFilterRspParamsType;
5531
Jeff Johnson295189b2012-06-20 16:38:30 -07005532//
5533// Filter Packet Match Count Parameters
5534//
5535typedef struct
5536{
5537 /*Request status callback offered by UMAC - it is called if the current
5538 req has returned PENDING as status; it delivers the status of sending
5539 the message over the BUS */
5540 WDI_ReqStatusCb wdiReqStatusCB;
5541
5542 /*The user data passed in by UMAC, it will be sent back when the above
5543 function pointer will be called */
5544 void* pUserData;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005545
5546 /* BSSID of the Match count
5547 */
5548 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005549} WDI_RcvFltPktMatchCntReqParamsType;
5550
5551typedef struct
5552{
5553 wpt_uint8 filterId;
5554 wpt_uint32 matchCnt;
5555} WDI_RcvFltPktMatchCnt;
5556
5557typedef struct
5558{
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005559 /*Result of the operation*/
5560 WDI_Status wdiStatus;
Jeff Johnson295189b2012-06-20 16:38:30 -07005561
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005562 /* BSSIDX of the Match count response
5563 */
5564 wpt_uint8 bssIdx;
5565
Jeff Johnson295189b2012-06-20 16:38:30 -07005566} WDI_RcvFltPktMatchCntRspParamsType;
5567
Jeff Johnson295189b2012-06-20 16:38:30 -07005568//
5569// Receive Filter Clear Parameters
5570//
5571typedef struct
5572{
5573 wpt_uint32 status; /* only valid for response message */
5574 wpt_uint8 filterId;
Jeff Johnsone7245742012-09-05 17:12:55 -07005575 wpt_macAddr selfMacAddr;
5576 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005577}WDI_RcvFltPktClearParam;
5578
5579typedef struct
5580{
5581 WDI_RcvFltPktClearParam filterClearParam;
5582 /*Request status callback offered by UMAC - it is called if the current
5583 req has returned PENDING as status; it delivers the status of sending
5584 the message over the BUS */
5585 WDI_ReqStatusCb wdiReqStatusCB;
5586
5587 /*The user data passed in by UMAC, it will be sent back when the above
5588 function pointer will be called */
5589 void* pUserData;
5590} WDI_RcvFltPktClearReqParamsType;
5591
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005592typedef struct
5593{
5594 /*Result of the operation*/
5595 WDI_Status wdiStatus;
5596 /* BSSIDX of the Match count response
5597 */
5598 wpt_uint8 bssIdx;
5599
5600} WDI_RcvFltPktClearRspParamsType;
5601
Jeff Johnson295189b2012-06-20 16:38:30 -07005602//
5603// Multicast Address List Parameters
5604//
5605typedef struct
5606{
5607 wpt_uint32 ulMulticastAddrCnt;
5608 wpt_macAddr multicastAddr[WDI_MAX_NUM_MULTICAST_ADDRESS];
Jeff Johnsone7245742012-09-05 17:12:55 -07005609 wpt_macAddr selfMacAddr;
5610 wpt_macAddr bssId;
Jeff Johnson295189b2012-06-20 16:38:30 -07005611} WDI_RcvFltMcAddrListType;
5612
5613typedef struct
5614{
5615 WDI_RcvFltMcAddrListType mcAddrList;
5616 /*Request status callback offered by UMAC - it is called if the current
5617 req has returned PENDING as status; it delivers the status of sending
5618 the message over the BUS */
5619 WDI_ReqStatusCb wdiReqStatusCB;
5620
5621 /*The user data passed in by UMAC, it will be sent back when the above
5622 function pointer will be called */
5623 void* pUserData;
5624} WDI_RcvFltPktSetMcListReqParamsType;
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07005625
5626typedef struct
5627{
5628 /*Result of the operation*/
5629 WDI_Status wdiStatus;
5630 /* BSSIDX of the Match count response
5631 */
5632 wpt_uint8 bssIdx;
5633} WDI_RcvFltPktSetMcListRspParamsType;
5634
Jeff Johnson295189b2012-06-20 16:38:30 -07005635#endif // WLAN_FEATURE_PACKET_FILTERING
5636
5637/*---------------------------------------------------------------------------
5638 WDI_HALDumpCmdReqInfoType
5639---------------------------------------------------------------------------*/
5640typedef struct
5641{
5642 /*command*/
5643 wpt_uint32 command;
5644
5645 /*Arguments*/
5646 wpt_uint32 argument1;
5647 wpt_uint32 argument2;
5648 wpt_uint32 argument3;
5649 wpt_uint32 argument4;
5650
5651}WDI_HALDumpCmdReqInfoType;
5652
5653/*---------------------------------------------------------------------------
5654 WDI_HALDumpCmdReqParamsType
5655---------------------------------------------------------------------------*/
5656typedef struct
5657{
5658 /*NV Blob Info*/
5659 WDI_HALDumpCmdReqInfoType wdiHALDumpCmdInfoType;
5660
5661 /*Request status callback offered by UMAC - it is called if the current
5662 req has returned PENDING as status; it delivers the status of sending
5663 the message over the BUS */
5664 WDI_ReqStatusCb wdiReqStatusCB;
5665
5666 /*The user data passed in by UMAC, it will be sent back when the above
5667 function pointer will be called */
5668 void* pUserData;
5669
5670}WDI_HALDumpCmdReqParamsType;
5671
5672
5673/*---------------------------------------------------------------------------
5674 WDI_HALDumpCmdRspParamsType
5675---------------------------------------------------------------------------*/
5676typedef struct
5677{
5678 /*Result of the operation*/
5679 WDI_Status wdiStatus;
5680
5681 /* length of the buffer */
5682 wpt_uint16 usBufferLen;
5683
5684 /* Buffer */
5685 wpt_uint8 *pBuffer;
5686}WDI_HALDumpCmdRspParamsType;
5687
5688
5689/*---------------------------------------------------------------------------
5690 WDI_SetTmLevelReqType
5691---------------------------------------------------------------------------*/
5692typedef struct
5693{
5694 wpt_uint16 tmMode;
5695 wpt_uint16 tmLevel;
5696 void* pUserData;
5697}WDI_SetTmLevelReqType;
5698
5699/*---------------------------------------------------------------------------
5700 WDI_SetTmLevelRspType
5701---------------------------------------------------------------------------*/
5702typedef struct
5703{
5704 WDI_Status wdiStatus;
5705 void* pUserData;
5706}WDI_SetTmLevelRspType;
5707
Leo Chang9056f462013-08-01 19:21:11 -07005708#ifdef FEATURE_WLAN_LPHB
5709/*---------------------------------------------------------------------------
5710 WDI_LPHBConfigParamsType
5711---------------------------------------------------------------------------*/
5712typedef struct
5713{
5714 void* pLphsConfIndData;
5715}WDI_LPHBConfigParamsType;
5716#endif /* FEATURE_WLAN_LPHB */
5717
Yue Mab9c86f42013-08-14 15:59:08 -07005718/*---------------------------------------------------------------------------
5719 WDI_AddPeriodicTxPtrnInfoType
5720---------------------------------------------------------------------------*/
5721typedef struct
5722{
5723 /* MAC Address for the adapter */
5724 wpt_macAddr macAddr;
5725
5726 wpt_uint8 ucPtrnId; // Pattern ID
5727 wpt_uint16 ucPtrnSize; // Pattern size
5728 wpt_uint32 usPtrnIntervalMs; // In msec
5729 wpt_uint8 ucPattern[PERIODIC_TX_PTRN_MAX_SIZE]; // Pattern buffer
5730} WDI_AddPeriodicTxPtrnInfoType;
5731
5732/*---------------------------------------------------------------------------
5733 WDI_DelPeriodicTxPtrnInfoType
5734---------------------------------------------------------------------------*/
5735typedef struct
5736{
5737 /* MAC Address for the adapter */
5738 wpt_macAddr macAddr;
5739
5740 /* Bitmap of pattern IDs that needs to be deleted */
5741 wpt_uint32 ucPatternIdBitmap;
5742} WDI_DelPeriodicTxPtrnInfoType;
5743
5744/*---------------------------------------------------------------------------
5745 WDI_AddPeriodicTxPtrnParamsType
5746---------------------------------------------------------------------------*/
5747typedef struct
5748{
5749 WDI_AddPeriodicTxPtrnInfoType wdiAddPeriodicTxPtrnParams;
5750
5751 /*Request status callback offered by UMAC - it is called if the current
5752 req has returned PENDING as status; it delivers the status of sending
5753 the message over the BUS */
5754 WDI_ReqStatusCb wdiReqStatusCB;
5755
5756 /*The user data passed in by UMAC, it will be sent back when the above
5757 function pointer will be called */
5758 void* pUserData;
5759} WDI_AddPeriodicTxPtrnParamsType;
5760
5761/*---------------------------------------------------------------------------
Srinivas Dasari32a79262015-02-19 13:04:49 +05305762 WDI_NanRequestType
5763---------------------------------------------------------------------------*/
5764typedef struct
5765{
5766 wpt_uint16 request_data_len;
5767 wpt_uint8 request_data[1];
5768} WDI_NanRequestType;
5769
5770
5771/*---------------------------------------------------------------------------
Yue Mab9c86f42013-08-14 15:59:08 -07005772 WDI_DelPeriodicTxPtrnParamsType
5773---------------------------------------------------------------------------*/
5774typedef struct
5775{
5776 WDI_DelPeriodicTxPtrnInfoType wdiDelPeriodicTxPtrnParams;
5777
5778 /*Request status callback offered by UMAC - it is called if the current
5779 req has returned PENDING as status; it delivers the status of sending
5780 the message over the BUS */
5781 WDI_ReqStatusCb wdiReqStatusCB;
5782
5783 /*The user data passed in by UMAC, it will be sent back when the above
5784 function pointer will be called */
5785 void* pUserData;
5786} WDI_DelPeriodicTxPtrnParamsType;
5787
Dino Mycle41bdc942014-06-10 11:30:24 +05305788#ifdef WLAN_FEATURE_EXTSCAN
5789
5790#define WDI_WLAN_EXTSCAN_MAX_CHANNELS 16
5791#define WDI_WLAN_EXTSCAN_MAX_BUCKETS 16
5792#define WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS 128
5793#define WDI_WLAN_EXTSCAN_MAX_SIGNIFICANT_CHANGE_APS 64
5794
5795typedef enum
5796{
5797 WDI_WIFI_BAND_UNSPECIFIED,
5798 WDI_WIFI_BAND_BG = 1, // 2.4 GHz
5799 WDI_WIFI_BAND_A = 2, // 5 GHz without DFS
5800 WDI_WIFI_BAND_ABG = 3, // 2.4 GHz + 5 GHz; no DFS
5801 WDI_WIFI_BAND_A_DFS = 4, // 5 GHz DFS only
5802 WDI_WIFI_BAND_A_WITH_DFS = 6, // 5 GHz with DFS
5803 WDI_WIFI_BAND_ABG_WITH_DFS = 7, // 2.4 GHz + 5 GHz with DFS
5804
5805 /* Keep it last */
5806 WDI_WIFI_BAND_MAX
5807} WDI_WifiBand;
5808
5809typedef struct
5810{
5811 wpt_uint32 channel; // frequency
5812 wpt_uint32 dwellTimeMs; // dwell time hint
5813 wpt_uint8 passive; // 0 => active,
5814 // 1 => passive scan; ignored for DFS
5815 wpt_uint8 chnlClass;
5816} WDI_WifiScanChannelSpec;
5817
5818typedef struct
5819{
5820 wpt_uint8 bucket; // bucket index, 0 based
5821 WDI_WifiBand band; // when UNSPECIFIED, use channel list
5822
5823 /*
5824 * desired period, in millisecond; if this is too
5825 * low, the firmware should choose to generate results as fast as
5826 * it can instead of failing the command byte
5827 */
5828 wpt_uint32 period;
5829
5830 /*
5831 * 0 => normal reporting (reporting rssi history
5832 * only, when rssi history buffer is % full)
5833 * 1 => same as 0 + report a scan completion event after scanning
5834 * this bucket
5835 * 2 => same as 1 + forward scan results (beacons/probe responses + IEs)
5836 * in real time to HAL
5837 */
5838 wpt_uint8 reportEvents;
5839
5840 wpt_uint8 numChannels;
5841
5842 /*
5843 * channels to scan; these may include DFS channels
5844 */
5845 WDI_WifiScanChannelSpec channels[WDI_WLAN_EXTSCAN_MAX_CHANNELS];
5846} WDI_WifiScanBucketSpec;
5847
5848typedef struct
5849{
5850 wpt_uint32 requestId;
5851 wpt_uint8 sessionId;
5852 wpt_uint32 basePeriod; // base timer period
5853 wpt_uint32 maxAPperScan;
5854
5855 /* in %, when buffer is this much full, wake up host */
5856 wpt_uint32 reportThreshold;
5857
5858 wpt_uint8 numBuckets;
5859 WDI_WifiScanBucketSpec buckets[WDI_WLAN_EXTSCAN_MAX_BUCKETS];
5860} WDI_EXTScanStartReqParams;
5861
5862typedef struct
5863{
5864 wpt_uint32 requestId;
5865 wpt_uint8 sessionId;
5866} WDI_EXTScanStopReqParams;
5867
5868typedef struct
5869{
5870 wpt_uint32 requestId;
5871 wpt_uint8 sessionId;
5872
5873 /*
5874 * 1 return cached results and flush it
5875 * 0 return cached results and do not flush
5876 */
5877 wpt_boolean flush;
5878} WDI_EXTScanGetCachedResultsReqParams;
5879
5880typedef struct
5881{
5882 wpt_uint32 requestId;
5883 wpt_uint8 sessionId;
5884} WDI_EXTScanGetCapabilitiesReqParams;
5885
5886typedef struct
5887{
5888 wpt_uint8 bssid[6]; /* BSSID */
5889 wpt_int32 low; // low threshold
5890 wpt_int32 high; // high threshold
5891 wpt_uint32 channel; // channel hint
5892} WDI_APThresholdParam;
5893
5894typedef struct
5895{
5896 wpt_int32 requestId;
5897 wpt_int8 sessionId; // session Id mapped to vdev_id
5898
5899 wpt_int32 numAp; // number of hotlist APs
5900 WDI_APThresholdParam ap[WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS]; // hotlist APs
5901} WDI_EXTScanSetBSSIDHotlistReqParams;
5902
5903typedef struct
5904{
5905 wpt_uint32 requestId;
5906 wpt_uint8 sessionId;
5907} WDI_EXTScanResetBSSIDHotlistReqParams;
5908
5909
5910typedef struct
5911{
5912 wpt_int32 requestId;
5913 wpt_int8 sessionId; // session Id mapped to vdev_id
5914
5915 /* number of samples for averaging RSSI */
5916 wpt_int32 rssiSampleSize;
5917
5918 /* number of missed samples to confirm AP loss */
5919 wpt_int32 lostApSampleSize;
5920
5921 /* number of APs breaching threshold required for firmware
5922 * to generate event
5923 */
5924 wpt_int32 minBreaching;
5925
5926 wpt_int32 numAp; // number of hotlist APs
5927 WDI_APThresholdParam ap[WDI_WLAN_EXTSCAN_MAX_HOTLIST_APS]; // hotlist APs
5928} WDI_EXTScanSetSignfRSSIChangeReqParams;
5929
5930typedef struct
5931{
5932 wpt_uint32 requestId;
5933 wpt_uint8 sessionId;
5934} WDI_EXTScanResetSignfRSSIChangeReqParams;
5935#endif /* WLAN_FEATURE_EXTSCAN */
5936
Sunil Duttbd736ed2014-05-26 21:19:41 +05305937#ifdef WLAN_FEATURE_LINK_LAYER_STATS
5938typedef struct
5939{
5940 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05305941 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05305942 wpt_uint32 mpduSizeThreshold;
5943 wpt_uint32 aggressiveStatisticsGathering;
5944}WDI_LLStatsSetReqType;
5945
5946typedef struct
5947{
5948 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05305949 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05305950 wpt_uint32 paramIdMask;
5951}WDI_LLStatsGetReqType;
5952
5953typedef struct
5954{
5955 wpt_uint32 reqId;
Dino Mycled3d50022014-07-07 12:58:25 +05305956 wpt_macAddr macAddr;
Sunil Duttbd736ed2014-05-26 21:19:41 +05305957 wpt_uint32 statsClearReqMask;
5958 wpt_uint8 stopReq;
5959}WDI_LLStatsClearReqType;
Dino Mycled3d50022014-07-07 12:58:25 +05305960
Sunil Duttbd736ed2014-05-26 21:19:41 +05305961#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
5962
Siddharth Bhal171788a2014-09-29 21:02:40 +05305963/*---------------------------------------------------------------------------
5964 WDI_SPOOF_MAC_ADDR_REQ
5965---------------------------------------------------------------------------*/
5966typedef struct
5967{
5968 /* Spoof MAC Address for FW */
5969 wpt_macAddr macAddr;
5970
5971 /* Reserved Params/fields */
5972 wpt_uint32 params;
5973 wpt_uint32 reserved;
5974} WDI_SpoofMacAddrInfoType;
Sunil Duttbd736ed2014-05-26 21:19:41 +05305975
Srinivas Dasari4dae48f2014-11-26 21:14:16 +05305976//This is to force compiler to use the maximum of an int for enum
5977#define SIR_MAX_ENUM_SIZE 0x7FFFFFFF
5978// Enum to specify whether key is used
5979// for TX only, RX only or both
5980typedef enum
5981{
5982 eWDI_TX_ONLY,
5983 eWDI_RX_ONLY,
5984 eWDI_TX_RX,
5985 eWDI_TX_DEFAULT,
5986 eWDI_DONOT_USE_KEY_DIRECTION = SIR_MAX_ENUM_SIZE
5987} tWDIKeyDirection;
5988
5989// MAX key length when ULA is used
5990#define SIR_MAC_MAX_KEY_LENGTH 32
5991/* Max key size including the WAPI and TKIP */
5992#define WLAN_MAX_KEY_RSC_LEN 16
5993// Definition for Encryption Keys
5994//typedef struct sSirKeys
5995typedef struct
5996{
5997 wpt_uint8 keyId;
5998 wpt_uint8 unicast; // 0 for multicast
5999 tWDIKeyDirection keyDirection;
6000 wpt_uint8 keyRsc[WLAN_MAX_KEY_RSC_LEN]; // Usage is unknown
6001 wpt_uint8 paeRole; // =1 for authenticator,
6002 // =0 for supplicant
6003 wpt_uint16 keyLength;
6004 wpt_uint8 key[SIR_MAC_MAX_KEY_LENGTH];
6005} tWDIKeys, *tpWDIKeys;
6006
6007typedef enum
6008{
6009 eWDI_WEP_STATIC,
6010 eWDI_WEP_DYNAMIC,
6011} tWDIWepType;
6012
6013// Encryption type enum used with peer
6014typedef enum
6015{
6016 eWDI_ED_NONE,
6017 eWDI_ED_WEP40,
6018 eWDI_ED_WEP104,
6019 eWDI_ED_TKIP,
6020 eWDI_ED_CCMP,
6021#if defined(FEATURE_WLAN_WAPI)
6022 eWDI_ED_WPI,
6023#endif
6024 /* DPU HW treats encryption mode 4 plus RMF bit set in TX BD as BIP.
6025 * Thus while setting BIP encryption mode in corresponding DPU Desc
6026 * eSIR_ED_AES_128_CMAC should be set to eSIR_ED_CCMP
6027 */
6028 eWDI_ED_AES_128_CMAC,
6029 eWDI_ED_NOT_IMPLEMENTED = SIR_MAX_ENUM_SIZE
6030} tWDIEdType;
6031#define SIR_WDI_MAX_NUM_OF_DEFAULT_KEYS 4
6032/*
6033 * This is used by PE to configure the key information on a given station.
6034 * When the secType is WEP40 or WEP104, the defWEPIdx is used to locate
6035 * a preconfigured key from a BSS the station assoicated with; otherwise
6036 * a new key descriptor is created based on the key field.
6037 */
6038typedef struct
6039{
6040 wpt_uint16 staIdx;
6041 tWDIEdType encType; // Encryption/Decryption type
6042 tWDIWepType wepType; // valid only for WEP
6043 wpt_uint8 defWEPIdx; // Default WEP key, valid only for static WEP, must between 0 and 3
6044 tWDIKeys key[SIR_WDI_MAX_NUM_OF_DEFAULT_KEYS]; // valid only for non-static WEP encyrptions
6045 wpt_uint8 singleTidRc; // 1=Single TID based Replay Count, 0=Per TID based RC
6046 wpt_uint8 sessionId; // PE session id for PE<->HAL interface
6047} tWDISetStaKeyParams, *tpWDISetStaKeyParams;
6048
6049typedef struct
6050{
6051 tWDISetStaKeyParams keyParams;
6052 wpt_uint8 pn[6];
6053}wpt_encConfigParams;
6054
6055typedef struct
6056{
6057 wpt_uint16 length;
6058 wpt_uint8 data[WDI_DISA_MAX_PAYLOAD_SIZE];
6059}wpt_payload;
6060
6061typedef struct
6062{
6063 wpt_80211Header macHeader;
6064 wpt_encConfigParams encParams;
6065 wpt_payload data;
6066}wpt_pkt80211;
6067
Jeff Johnson295189b2012-06-20 16:38:30 -07006068/*----------------------------------------------------------------------------
6069 * WDI callback types
6070 *--------------------------------------------------------------------------*/
6071
6072/*---------------------------------------------------------------------------
6073 WDI_StartRspCb
6074
6075 DESCRIPTION
6076
6077 This callback is invoked by DAL when it has received a Start response from
6078 the underlying device.
6079
6080 PARAMETERS
6081
6082 IN
6083 wdiRspParams: response parameters received from HAL
6084 pUserData: user data
6085
6086
6087 RETURN VALUE
6088 The result code associated with performing the operation
6089---------------------------------------------------------------------------*/
6090typedef void (*WDI_StartRspCb)(WDI_StartRspParamsType* pwdiRspParams,
6091 void* pUserData);
6092
6093/*---------------------------------------------------------------------------
6094 WDI_StartRspCb
6095
6096 DESCRIPTION
6097
6098 This callback is invoked by DAL when it has received a Stop response from
6099 the underlying device.
6100
6101 PARAMETERS
6102
6103 IN
6104 wdiStatus: response status received from HAL
6105 pUserData: user data
6106
6107
6108
6109 RETURN VALUE
6110 The result code associated with performing the operation
6111---------------------------------------------------------------------------*/
6112typedef void (*WDI_StopRspCb)(WDI_Status wdiStatus,
6113 void* pUserData);
6114
6115/*---------------------------------------------------------------------------
6116 WDI_StartRspCb
6117
6118 DESCRIPTION
6119
6120 This callback is invoked by DAL when it has received an Init Scan response
6121 from the underlying device.
6122
6123 PARAMETERS
6124
6125 IN
6126 wdiStatus: response status received from HAL
6127 pUserData: user data
6128
6129
6130
6131 RETURN VALUE
6132 The result code associated with performing the operation
6133---------------------------------------------------------------------------*/
6134typedef void (*WDI_InitScanRspCb)(WDI_Status wdiStatus,
6135 void* pUserData);
6136
6137
6138/*---------------------------------------------------------------------------
6139 WDI_StartRspCb
6140
6141 DESCRIPTION
6142
6143 This callback is invoked by DAL when it has received a StartScan response
6144 from the underlying device.
6145
6146 PARAMETERS
6147
6148 IN
6149 wdiParams: response params received from HAL
6150 pUserData: user data
6151
6152
6153
6154 RETURN VALUE
6155 The result code associated with performing the operation
6156---------------------------------------------------------------------------*/
6157typedef void (*WDI_StartScanRspCb)(WDI_StartScanRspParamsType* wdiParams,
6158 void* pUserData);
6159
6160
6161/*---------------------------------------------------------------------------
6162 WDI_StartRspCb
6163
6164 DESCRIPTION
6165
6166 This callback is invoked by DAL when it has received a End Scan response
6167 from the underlying device.
6168
6169 PARAMETERS
6170
6171 IN
6172 wdiStatus: response status received from HAL
6173 pUserData: user data
6174
6175
6176
6177 RETURN VALUE
6178 The result code associated with performing the operation
6179---------------------------------------------------------------------------*/
6180typedef void (*WDI_EndScanRspCb)(WDI_Status wdiStatus,
6181 void* pUserData);
6182
6183
6184/*---------------------------------------------------------------------------
6185 WDI_StartRspCb
6186
6187 DESCRIPTION
6188
6189 This callback is invoked by DAL when it has received a Finish Scan response
6190 from the underlying device.
6191
6192 PARAMETERS
6193
6194 IN
6195 wdiStatus: response status received from HAL
6196 pUserData: user data
6197
6198
6199
6200 RETURN VALUE
6201 The result code associated with performing the operation
6202---------------------------------------------------------------------------*/
6203typedef void (*WDI_FinishScanRspCb)(WDI_Status wdiStatus,
6204 void* pUserData);
6205
6206
6207/*---------------------------------------------------------------------------
6208 WDI_StartRspCb
6209
6210 DESCRIPTION
6211
6212 This callback is invoked by DAL when it has received a Join response from
6213 the underlying device.
6214
6215 PARAMETERS
6216
6217 IN
6218 wdiStatus: response status received from HAL
6219 pUserData: user data
6220
6221
6222
6223 RETURN VALUE
6224 The result code associated with performing the operation
6225---------------------------------------------------------------------------*/
6226typedef void (*WDI_JoinRspCb)(WDI_Status wdiStatus,
6227 void* pUserData);
6228
6229
6230/*---------------------------------------------------------------------------
6231 WDI_StartRspCb
6232
6233 DESCRIPTION
6234
6235 This callback is invoked by DAL when it has received a Config BSS response
6236 from the underlying device.
6237
6238 PARAMETERS
6239
6240 IN
6241 wdiConfigBSSRsp: response parameters received from HAL
6242 pUserData: user data
6243
6244
6245 RETURN VALUE
6246 The result code associated with performing the operation
6247---------------------------------------------------------------------------*/
6248typedef void (*WDI_ConfigBSSRspCb)(
6249 WDI_ConfigBSSRspParamsType* pwdiConfigBSSRsp,
6250 void* pUserData);
6251
6252
6253/*---------------------------------------------------------------------------
6254 WDI_StartRspCb
6255
6256 DESCRIPTION
6257
6258 This callback is invoked by DAL when it has received a Del BSS response from
6259 the underlying device.
6260
6261 PARAMETERS
6262
6263 IN
6264 wdiDelBSSRsp: response parameters received from HAL
6265 pUserData: user data
6266
6267
6268 RETURN VALUE
6269 The result code associated with performing the operation
6270---------------------------------------------------------------------------*/
6271typedef void (*WDI_DelBSSRspCb)(WDI_DelBSSRspParamsType* pwdiDelBSSRsp,
6272 void* pUserData);
6273
6274
6275/*---------------------------------------------------------------------------
6276 WDI_StartRspCb
6277
6278 DESCRIPTION
6279
6280 This callback is invoked by DAL when it has received a Post Assoc response
6281 from the underlying device.
6282
6283 PARAMETERS
6284
6285 IN
6286 wdiRspParams: response parameters received from HAL
6287 pUserData: user data
6288
6289
6290 RETURN VALUE
6291 The result code associated with performing the operation
6292---------------------------------------------------------------------------*/
6293typedef void (*WDI_PostAssocRspCb)(
6294 WDI_PostAssocRspParamsType* pwdiPostAssocRsp,
6295 void* pUserData);
6296
6297
6298/*---------------------------------------------------------------------------
6299 WDI_StartRspCb
6300
6301 DESCRIPTION
6302
6303 This callback is invoked by DAL when it has received a Del STA response from
6304 the underlying device.
6305
6306 PARAMETERS
6307
6308 IN
6309 wdiDelSTARsp: response parameters received from HAL
6310 pUserData: user data
6311
6312
6313 RETURN VALUE
6314 The result code associated with performing the operation
6315---------------------------------------------------------------------------*/
6316typedef void (*WDI_DelSTARspCb)(WDI_DelSTARspParamsType* pwdiDelSTARsp,
6317 void* pUserData);
6318
6319
6320
6321/*---------------------------------------------------------------------------
6322 WDI_StartRspCb
6323
6324 DESCRIPTION
6325
6326 This callback is invoked by DAL when it has received a Set BSS Key response
6327 from the underlying device.
6328
6329 PARAMETERS
6330
6331 IN
6332 wdiStatus: response status received from HAL
6333 pUserData: user data
6334
6335
6336
6337 RETURN VALUE
6338 The result code associated with performing the operation
6339---------------------------------------------------------------------------*/
6340typedef void (*WDI_SetBSSKeyRspCb)(WDI_Status wdiStatus,
6341 void* pUserData);
6342
6343/*---------------------------------------------------------------------------
6344 WDI_StartRspCb
6345
6346 DESCRIPTION
6347
6348 This callback is invoked by DAL when it has received a Remove BSS Key
6349 response from the underlying device.
6350
6351 PARAMETERS
6352
6353 IN
6354 wdiStatus: response status received from HAL
6355 pUserData: user data
6356
6357
6358
6359 RETURN VALUE
6360 The result code associated with performing the operation
6361---------------------------------------------------------------------------*/
6362typedef void (*WDI_RemoveBSSKeyRspCb)(WDI_Status wdiStatus,
6363 void* pUserData);
6364
6365/*---------------------------------------------------------------------------
6366 WDI_StartRspCb
6367
6368 DESCRIPTION
6369
6370 This callback is invoked by DAL when it has received a Set STA Key response
6371 from the underlying device.
6372
6373 PARAMETERS
6374
6375 IN
6376 wdiStatus: response status received from HAL
6377 pUserData: user data
6378
6379
Jeff Johnson295189b2012-06-20 16:38:30 -07006380 RETURN VALUE
6381 The result code associated with performing the operation
6382---------------------------------------------------------------------------*/
6383typedef void (*WDI_SetSTAKeyRspCb)(WDI_Status wdiStatus,
6384 void* pUserData);
6385
Jeff Johnson295189b2012-06-20 16:38:30 -07006386/*---------------------------------------------------------------------------
6387 WDI_StartRspCb
6388
6389 DESCRIPTION
6390
6391 This callback is invoked by DAL when it has received a Remove STA Key
6392 response from the underlying device.
6393
6394 PARAMETERS
6395
6396 IN
6397 wdiStatus: response status received from HAL
6398 pUserData: user data
6399
Siddharth Bhal171788a2014-09-29 21:02:40 +05306400
Jeff Johnson295189b2012-06-20 16:38:30 -07006401 RETURN VALUE
6402 The result code associated with performing the operation
6403---------------------------------------------------------------------------*/
6404typedef void (*WDI_RemoveSTAKeyRspCb)(WDI_Status wdiStatus,
6405 void* pUserData);
6406
6407
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08006408#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07006409/*---------------------------------------------------------------------------
6410 WDI_TsmRspCb
6411
6412 DESCRIPTION
6413
6414 This callback is invoked by DAL when it has received a TSM Stats response from the underlying device.
6415
6416 PARAMETERS
6417
6418 IN
6419 pTSMStats: response status received from HAL
6420 pUserData: user data
6421
6422
6423
6424 RETURN VALUE
6425 The result code associated with performing the operation
6426---------------------------------------------------------------------------*/
6427typedef void (*WDI_TsmRspCb)(WDI_TSMStatsRspParamsType *pTSMStats,
6428 void* pUserData);
6429#endif
6430
6431/*---------------------------------------------------------------------------
6432 WDI_StartRspCb
6433
6434 DESCRIPTION
6435
6436 This callback is invoked by DAL when it has received a Add TS response from
6437 the underlying device.
6438
6439 PARAMETERS
6440
6441 IN
6442 wdiStatus: response status received from HAL
6443 pUserData: user data
6444
6445
6446
6447 RETURN VALUE
6448 The result code associated with performing the operation
6449---------------------------------------------------------------------------*/
6450typedef void (*WDI_AddTsRspCb)(WDI_Status wdiStatus,
6451 void* pUserData);
6452
6453/*---------------------------------------------------------------------------
6454 WDI_StartRspCb
6455
6456 DESCRIPTION
6457
6458 This callback is invoked by DAL when it has received a Del TS response from
6459 the underlying device.
6460
6461 PARAMETERS
6462
6463 IN
6464 wdiStatus: response status received from HAL
6465 pUserData: user data
6466
6467
6468
6469 RETURN VALUE
6470 The result code associated with performing the operation
6471---------------------------------------------------------------------------*/
6472typedef void (*WDI_DelTsRspCb)(WDI_Status wdiStatus,
6473 void* pUserData);
6474
6475/*---------------------------------------------------------------------------
6476 WDI_StartRspCb
6477
6478 DESCRIPTION
6479
6480 This callback is invoked by DAL when it has received an Update EDCA Params
6481 response from the underlying device.
6482
6483 PARAMETERS
6484
6485 IN
6486 wdiStatus: response status received from HAL
6487 pUserData: user data
6488
6489
6490
6491 RETURN VALUE
6492 The result code associated with performing the operation
6493---------------------------------------------------------------------------*/
6494typedef void (*WDI_UpdateEDCAParamsRspCb)(WDI_Status wdiStatus,
6495 void* pUserData);
6496
6497/*---------------------------------------------------------------------------
6498 WDI_StartRspCb
6499
6500 DESCRIPTION
6501
6502 This callback is invoked by DAL when it has received a Add BA response from
6503 the underlying device.
6504
6505 PARAMETERS
6506
6507 IN
6508 wdiStatus: response status received from HAL
6509 pUserData: user data
6510
6511
6512
6513 RETURN VALUE
6514 The result code associated with performing the operation
6515---------------------------------------------------------------------------*/
6516typedef void (*WDI_AddBASessionRspCb)(
6517 WDI_AddBASessionRspParamsType* wdiAddBASessionRsp,
6518 void* pUserData);
6519
6520
6521/*---------------------------------------------------------------------------
6522 WDI_StartRspCb
6523
6524 DESCRIPTION
6525
6526 This callback is invoked by DAL when it has received a Del BA response from
6527 the underlying device.
6528
6529 PARAMETERS
6530
6531 IN
6532 wdiStatus: response status received from HAL
6533 pUserData: user data
6534
6535
6536
6537 RETURN VALUE
6538 The result code associated with performing the operation
6539---------------------------------------------------------------------------*/
6540typedef void (*WDI_DelBARspCb)(WDI_Status wdiStatus,
6541 void* pUserData);
6542
6543
6544/*---------------------------------------------------------------------------
6545 WDI_StartRspCb
6546
6547 DESCRIPTION
6548
6549 This callback is invoked by DAL when it has received a Switch Ch response
6550 from the underlying device.
6551
6552 PARAMETERS
6553
6554 IN
6555 wdiRspParams: response parameters received from HAL
6556 pUserData: user data
6557
6558
6559 RETURN VALUE
6560 The result code associated with performing the operation
6561---------------------------------------------------------------------------*/
6562typedef void (*WDI_SwitchChRspCb)(WDI_SwitchCHRspParamsType* pwdiSwitchChRsp,
6563 void* pUserData);
6564
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08006565typedef void (*WDI_SwitchChRspCb_V1)(WDI_SwitchChRspParamsType_V1* pwdiSwitchChRsp,
6566 void* pUserData);
6567
Jeff Johnson295189b2012-06-20 16:38:30 -07006568
6569/*---------------------------------------------------------------------------
6570 WDI_StartRspCb
6571
6572 DESCRIPTION
6573
6574 This callback is invoked by DAL when it has received a Config STA response
6575 from the underlying device.
6576
6577 PARAMETERS
6578
6579 IN
6580 wdiRspParams: response parameters received from HAL
6581 pUserData: user data
6582
6583
6584 RETURN VALUE
6585 The result code associated with performing the operation
6586---------------------------------------------------------------------------*/
6587typedef void (*WDI_ConfigSTARspCb)(
6588 WDI_ConfigSTARspParamsType* pwdiConfigSTARsp,
6589 void* pUserData);
6590
6591
6592/*---------------------------------------------------------------------------
6593 WDI_StartRspCb
6594
6595 DESCRIPTION
6596
6597 This callback is invoked by DAL when it has received a Set Link State
6598 response from the underlying device.
6599
6600 PARAMETERS
6601
6602 IN
6603 wdiRspParams: response parameters received from HAL
6604 pUserData: user data
6605
6606
6607 RETURN VALUE
6608 The result code associated with performing the operation
6609---------------------------------------------------------------------------*/
6610typedef void (*WDI_SetLinkStateRspCb)( WDI_Status wdiStatus,
6611 void* pUserData);
6612
6613
6614/*---------------------------------------------------------------------------
6615 WDI_StartRspCb
6616
6617 DESCRIPTION
6618
6619 This callback is invoked by DAL when it has received a Get Stats response
6620 from the underlying device.
6621
6622 PARAMETERS
6623
6624 IN
6625 wdiRspParams: response parameters received from HAL
6626 pUserData: user data
6627
6628
6629 RETURN VALUE
6630 The result code associated with performing the operation
6631---------------------------------------------------------------------------*/
6632typedef void (*WDI_GetStatsRspCb)(WDI_GetStatsRspParamsType* pwdiGetStatsRsp,
6633 void* pUserData);
6634
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08006635#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -08006636/*---------------------------------------------------------------------------
6637 WDI_GetRoamRssiRspCb
6638
6639 DESCRIPTION
6640
6641 This callback is invoked by DAL when it has received a Get Roam Rssi response
6642 from the underlying device.
6643
6644 PARAMETERS
6645
6646 IN
6647 wdiRspParams: response parameters received from HAL
6648 pUserData: user data
6649
6650
6651 RETURN VALUE
6652 The result code associated with performing the operation
6653---------------------------------------------------------------------------*/
6654typedef void (*WDI_GetRoamRssiRspCb)(WDI_GetRoamRssiRspParamsType* pwdiGetRoamRssiRsp,
6655 void* pUserData);
6656#endif
6657
Jeff Johnson295189b2012-06-20 16:38:30 -07006658
6659/*---------------------------------------------------------------------------
6660 WDI_StartRspCb
6661
6662 DESCRIPTION
6663
6664 This callback is invoked by DAL when it has received a Update Cfg response
6665 from the underlying device.
6666
6667 PARAMETERS
6668
6669 IN
6670 wdiStatus: response status received from HAL
6671 pUserData: user data
6672
6673
6674 RETURN VALUE
6675 The result code associated with performing the operation
6676---------------------------------------------------------------------------*/
6677typedef void (*WDI_UpdateCfgRspCb)(WDI_Status wdiStatus,
6678 void* pUserData);
6679
6680/*---------------------------------------------------------------------------
6681 WDI_AddBARspCb
6682
6683 DESCRIPTION
6684
6685 This callback is invoked by DAL when it has received a ADD BA response
6686 from the underlying device.
6687
6688 PARAMETERS
6689
6690 IN
6691 wdiStatus: response status received from HAL
6692 pUserData: user data
6693
6694
6695 RETURN VALUE
6696 The result code associated with performing the operation
6697---------------------------------------------------------------------------*/
6698typedef void (*WDI_AddBARspCb)(WDI_AddBARspinfoType* wdiAddBARsp,
6699 void* pUserData);
6700
6701/*---------------------------------------------------------------------------
6702 WDI_TriggerBARspCb
6703
6704 DESCRIPTION
6705
6706 This callback is invoked by DAL when it has received a ADD BA response
6707 from the underlying device.
6708
6709 PARAMETERS
6710
6711 IN
6712 wdiStatus: response status received from HAL
6713 pUserData: user data
6714
6715
6716 RETURN VALUE
6717 The result code associated with performing the operation
6718---------------------------------------------------------------------------*/
6719typedef void (*WDI_TriggerBARspCb)(WDI_TriggerBARspParamsType* wdiTriggerBARsp,
6720 void* pUserData);
6721
6722
6723/*---------------------------------------------------------------------------
6724 WDI_UpdateBeaconParamsRspCb
6725
6726 DESCRIPTION
6727
6728 This callback is invoked by DAL when it has received a Update Beacon Params response from
6729 the underlying device.
6730
6731 PARAMETERS
6732
6733 IN
6734 wdiStatus: response status received from HAL
6735 pUserData: user data
6736
6737
6738
6739 RETURN VALUE
6740 The result code associated with performing the operation
6741---------------------------------------------------------------------------*/
6742typedef void (*WDI_UpdateBeaconParamsRspCb)(WDI_Status wdiStatus,
6743 void* pUserData);
6744
6745/*---------------------------------------------------------------------------
6746 WDI_SendBeaconParamsRspCb
6747
6748 DESCRIPTION
6749
6750 This callback is invoked by DAL when it has received a Send Beacon Params response from
6751 the underlying device.
6752
6753 PARAMETERS
6754
6755 IN
6756 wdiStatus: response status received from HAL
6757 pUserData: user data
6758
6759
6760
6761 RETURN VALUE
6762 The result code associated with performing the operation
6763---------------------------------------------------------------------------*/
6764typedef void (*WDI_SendBeaconParamsRspCb)(WDI_Status wdiStatus,
6765 void* pUserData);
6766
6767/*---------------------------------------------------------------------------
6768 WDA_SetMaxTxPowerRspCb
6769
6770 DESCRIPTION
6771
6772 This callback is invoked by DAL when it has received a set max Tx Power response from
6773 the underlying device.
6774
6775 PARAMETERS
6776
6777 IN
6778 wdiStatus: response status received from HAL
6779 pUserData: user data
6780
6781
6782
6783 RETURN VALUE
6784 The result code associated with performing the operation
6785---------------------------------------------------------------------------*/
6786typedef void (*WDA_SetMaxTxPowerRspCb)(WDI_SetMaxTxPowerRspMsg *wdiSetMaxTxPowerRsp,
6787 void* pUserData);
6788
6789/*---------------------------------------------------------------------------
Arif Hussaina5ebce02013-08-09 15:09:58 -07006790 WDA_SetMaxTxPowerPerBandRspCb
6791
6792 DESCRIPTION
6793
6794 This callback is invoked by DAL when it has received a
6795 set max Tx Power Per Band response from the underlying device.
6796
6797 PARAMETERS
6798
6799 IN
6800 wdiSetMaxTxPowerPerBandRsp: response status received from HAL
6801 pUserData: user data
6802
6803 RETURN VALUE
6804 The result code associated with performing the operation
6805---------------------------------------------------------------------------*/
6806typedef void (*WDA_SetMaxTxPowerPerBandRspCb)(WDI_SetMaxTxPowerPerBandRspMsg
6807 *wdiSetMaxTxPowerPerBandRsp,
6808 void* pUserData);
6809
6810/*---------------------------------------------------------------------------
schang86c22c42013-03-13 18:41:24 -07006811 WDA_SetTxPowerRspCb
6812
6813 DESCRIPTION
6814
6815 This callback is invoked by DAL when it has received a set max Tx Power response from
6816 the underlying device.
6817
6818 PARAMETERS
6819
6820 IN
6821 wdiStatus: response status received from HAL
6822 pUserData: user data
6823
6824 RETURN VALUE
6825 The result code associated with performing the operation
6826---------------------------------------------------------------------------*/
6827typedef void (*WDA_SetTxPowerRspCb)(WDI_SetTxPowerRspMsg *wdiSetTxPowerRsp,
6828 void* pUserData);
6829
6830/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07006831 WDI_UpdateProbeRspTemplateRspCb
6832
6833 DESCRIPTION
6834
6835 This callback is invoked by DAL when it has received a Probe RSP Template
6836 Update response from the underlying device.
6837
6838 PARAMETERS
6839
6840 IN
6841 wdiStatus: response status received from HAL
6842 pUserData: user data
6843
6844
6845
6846 RETURN VALUE
6847 The result code associated with performing the operation
6848---------------------------------------------------------------------------*/
6849typedef void (*WDI_UpdateProbeRspTemplateRspCb)(WDI_Status wdiStatus,
6850 void* pUserData);
6851
Jeff Johnson295189b2012-06-20 16:38:30 -07006852/*---------------------------------------------------------------------------
6853 WDI_SetP2PGONOAReqParamsRspCb
6854
6855 DESCRIPTION
6856
6857 This callback is invoked by DAL when it has received a P2P GO NOA Params response from
6858 the underlying device.
6859
6860 PARAMETERS
6861
6862 IN
6863 wdiStatus: response status received from HAL
6864 pUserData: user data
6865
6866
6867
6868 RETURN VALUE
6869 The result code associated with performing the operation
6870---------------------------------------------------------------------------*/
6871typedef void (*WDI_SetP2PGONOAReqParamsRspCb)(WDI_Status wdiStatus,
6872 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006873
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05306874/*---------------------------------------------------------------------------
6875 WDI_SetTDLSLinkEstablishReqParamsRspCb
6876
6877 DESCRIPTION
6878
6879 This callback is invoked by DAL when it has received a TDLS Link Establish Req response from
6880 the underlying device.
6881
6882 PARAMETERS
6883
6884 IN
6885 wdiStatus: response status received from HAL
6886 pUserData: user data
6887
6888
6889
6890 RETURN VALUE
6891 The result code associated with performing the operation
6892---------------------------------------------------------------------------*/
Gopichand Nakkala574f6d12013-06-27 19:38:43 +05306893typedef void (*WDI_SetTDLSLinkEstablishReqParamsRspCb)(WDI_SetTdlsLinkEstablishReqResp *
6894 wdiSetTdlsLinkEstablishReqRsp,
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05306895 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07006896
6897/*---------------------------------------------------------------------------
Atul Mittalc0f739f2014-07-31 13:47:47 +05306898 WDI_SetTDLSChanSwitchReqParamsRspCb
6899
6900 DESCRIPTION
6901
6902 This callback is invoked by DAL when it has received a TDLS Link Establish Req response from
6903 the underlying device.
6904
6905 PARAMETERS
6906
6907 IN
6908 wdiStatus: response status received from HAL
6909 pUserData: user data
6910
6911
6912
6913 RETURN VALUE
6914 The result code associated with performing the operation
6915---------------------------------------------------------------------------*/
6916typedef void (*WDI_SetTDLSChanSwitchReqParamsRspCb)(WDI_SetTdlsChanSwitchReqResp *
6917 wdiSetTdlsChanSwitchReqRsp,
6918 void* pUserData);
6919/*---------------------------------------------------------------------------
Jeff Johnson295189b2012-06-20 16:38:30 -07006920 WDI_SetPwrSaveCfgCb
6921
6922 DESCRIPTION
6923
6924 This callback is invoked by DAL when it has received a set Power Save CFG
6925 response from the underlying device.
6926
6927 PARAMETERS
6928
6929 IN
6930 wdiStatus: response status received from HAL
6931 pUserData: user data
6932
6933
6934
6935 RETURN VALUE
6936 The result code associated with performing the operation
6937---------------------------------------------------------------------------*/
6938typedef void (*WDI_SetPwrSaveCfgCb)(WDI_Status wdiStatus,
6939 void* pUserData);
6940
6941/*---------------------------------------------------------------------------
6942 WDI_SetUapsdAcParamsCb
6943
6944 DESCRIPTION
6945
6946 This callback is invoked by DAL when it has received a set UAPSD params
6947 response from the underlying device.
6948
6949 PARAMETERS
6950
6951 IN
6952 wdiStatus: response status received from HAL
6953 pUserData: user data
6954
6955
6956
6957 RETURN VALUE
6958 The result code associated with performing the operation
6959---------------------------------------------------------------------------*/
6960typedef void (*WDI_SetUapsdAcParamsCb)(WDI_Status wdiStatus,
6961 void* pUserData);
6962
6963/*---------------------------------------------------------------------------
6964 WDI_EnterImpsRspCb
6965
6966 DESCRIPTION
6967
6968 This callback is invoked by DAL when it has received a Enter IMPS response
6969 from the underlying device.
6970
6971 PARAMETERS
6972
6973 IN
6974 wdiStatus: response status received from HAL
6975 pUserData: user data
6976
6977
6978
6979 RETURN VALUE
6980 The result code associated with performing the operation
6981---------------------------------------------------------------------------*/
6982typedef void (*WDI_EnterImpsRspCb)(WDI_Status wdiStatus,
6983 void* pUserData);
6984
6985/*---------------------------------------------------------------------------
6986 WDI_ExitImpsRspCb
6987
6988 DESCRIPTION
6989
6990 This callback is invoked by DAL when it has received a Exit IMPS response
6991 from the underlying device.
6992
6993 PARAMETERS
6994
6995 IN
6996 wdiStatus: response status received from HAL
6997 pUserData: user data
6998
6999
7000
7001 RETURN VALUE
7002 The result code associated with performing the operation
7003---------------------------------------------------------------------------*/
7004typedef void (*WDI_ExitImpsRspCb)(WDI_Status wdiStatus,
7005 void* pUserData);
7006
7007/*---------------------------------------------------------------------------
7008 WDI_EnterBmpsRspCb
7009
7010 DESCRIPTION
7011
7012 This callback is invoked by DAL when it has received a enter BMPS response
7013 from the underlying device.
7014
7015 PARAMETERS
7016
7017 IN
7018 wdiStatus: response status received from HAL
7019 pUserData: user data
7020
7021
7022
7023 RETURN VALUE
7024 The result code associated with performing the operation
7025---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007026typedef void (*WDI_EnterBmpsRspCb)(WDI_EnterBmpsRspParamsType *pwdiEnterBmpsRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007027 void* pUserData);
7028
7029/*---------------------------------------------------------------------------
7030 WDI_ExitBmpsRspCb
7031
7032 DESCRIPTION
7033
7034 This callback is invoked by DAL when it has received a exit BMPS response
7035 from the underlying device.
7036
7037 PARAMETERS
7038
7039 IN
7040 wdiStatus: response status received from HAL
7041 pUserData: user data
7042
7043
7044
7045 RETURN VALUE
7046 The result code associated with performing the operation
7047---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007048typedef void (*WDI_ExitBmpsRspCb)( WDI_ExitBmpsRspParamsType *pwdiExitBmpsRspParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007049 void* pUserData);
7050
7051/*---------------------------------------------------------------------------
7052 WDI_EnterUapsdRspCb
7053
7054 DESCRIPTION
7055
7056 This callback is invoked by DAL when it has received a enter UAPSD response
7057 from the underlying device.
7058
7059 PARAMETERS
7060
7061 IN
7062 wdiStatus: response status received from HAL
7063 pUserData: user data
7064
7065
7066
7067 RETURN VALUE
7068 The result code associated with performing the operation
7069---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007070typedef void (*WDI_EnterUapsdRspCb)( WDI_EnterUapsdRspParamsType *pwdiEnterUapsdRspParam,
Jeff Johnson295189b2012-06-20 16:38:30 -07007071 void* pUserData);
7072
7073/*---------------------------------------------------------------------------
7074 WDI_ExitUapsdRspCb
7075
7076 DESCRIPTION
7077
7078 This callback is invoked by DAL when it has received a exit UAPSD response
7079 from the underlying device.
7080
7081 PARAMETERS
7082
7083 IN
7084 wdiStatus: response status received from HAL
7085 pUserData: user data
7086
7087
7088
7089 RETURN VALUE
7090 The result code associated with performing the operation
7091---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007092typedef void (*WDI_ExitUapsdRspCb)(WDI_ExitUapsdRspParamsType *pwidExitUapsdRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007093 void* pUserData);
7094
7095/*---------------------------------------------------------------------------
7096 WDI_UpdateUapsdParamsCb
7097
7098 DESCRIPTION
7099
7100 This callback is invoked by DAL when it has received a update UAPSD params
7101 response from the underlying device.
7102
7103 PARAMETERS
7104
7105 IN
7106 wdiStatus: response status received from HAL
7107 pUserData: user data
7108
7109
7110
7111 RETURN VALUE
7112 The result code associated with performing the operation
7113---------------------------------------------------------------------------*/
7114typedef void (*WDI_UpdateUapsdParamsCb)(WDI_Status wdiStatus,
7115 void* pUserData);
7116
7117/*---------------------------------------------------------------------------
7118 WDI_ConfigureRxpFilterCb
7119
7120 DESCRIPTION
7121
7122 This callback is invoked by DAL when it has received a config RXP filter
7123 response from the underlying device.
7124
7125 PARAMETERS
7126
7127 IN
7128 wdiStatus: response status received from HAL
7129 pUserData: user data
7130
7131
7132
7133 RETURN VALUE
7134 The result code associated with performing the operation
7135---------------------------------------------------------------------------*/
7136typedef void (*WDI_ConfigureRxpFilterCb)(WDI_Status wdiStatus,
7137 void* pUserData);
7138
7139/*---------------------------------------------------------------------------
7140 WDI_SetBeaconFilterCb
7141
7142 DESCRIPTION
7143
7144 This callback is invoked by DAL when it has received a set beacon filter
7145 response from the underlying device.
7146
7147 PARAMETERS
7148
7149 IN
7150 wdiStatus: response status received from HAL
7151 pUserData: user data
7152
7153
7154
7155 RETURN VALUE
7156 The result code associated with performing the operation
7157---------------------------------------------------------------------------*/
7158typedef void (*WDI_SetBeaconFilterCb)(WDI_Status wdiStatus,
7159 void* pUserData);
7160
7161/*---------------------------------------------------------------------------
7162 WDI_RemBeaconFilterCb
7163
7164 DESCRIPTION
7165
7166 This callback is invoked by DAL when it has received a remove beacon filter
7167 response from the underlying device.
7168
7169 PARAMETERS
7170
7171 IN
7172 wdiStatus: response status received from HAL
7173 pUserData: user data
7174
7175
7176
7177 RETURN VALUE
7178 The result code associated with performing the operation
7179---------------------------------------------------------------------------*/
7180typedef void (*WDI_RemBeaconFilterCb)(WDI_Status wdiStatus,
7181 void* pUserData);
7182
7183/*---------------------------------------------------------------------------
7184 WDI_SetRSSIThresholdsCb
7185
7186 DESCRIPTION
7187
7188 This callback is invoked by DAL when it has received a set RSSI thresholds
7189 response from the underlying device.
7190
7191 PARAMETERS
7192
7193 IN
7194 wdiStatus: response status received from HAL
7195 pUserData: user data
7196
7197
7198
7199 RETURN VALUE
7200 The result code associated with performing the operation
7201---------------------------------------------------------------------------*/
7202typedef void (*WDI_SetRSSIThresholdsCb)(WDI_Status wdiStatus,
7203 void* pUserData);
7204
7205/*---------------------------------------------------------------------------
7206 WDI_HostOffloadCb
7207
7208 DESCRIPTION
7209
7210 This callback is invoked by DAL when it has received a host offload
7211 response from the underlying device.
7212
7213 PARAMETERS
7214
7215 IN
7216 wdiStatus: response status received from HAL
7217 pUserData: user data
7218
7219
7220
7221 RETURN VALUE
7222 The result code associated with performing the operation
7223---------------------------------------------------------------------------*/
7224typedef void (*WDI_HostOffloadCb)(WDI_Status wdiStatus,
7225 void* pUserData);
7226
7227/*---------------------------------------------------------------------------
7228 WDI_KeepAliveCb
7229
7230 DESCRIPTION
7231
7232 This callback is invoked by DAL when it has received a Keep Alive
7233 response from the underlying device.
7234
7235 PARAMETERS
7236
7237 IN
7238 wdiStatus: response status received from HAL
7239 pUserData: user data
7240
7241
7242
7243 RETURN VALUE
7244 The result code associated with performing the operation
7245---------------------------------------------------------------------------*/
7246typedef void (*WDI_KeepAliveCb)(WDI_Status wdiStatus,
7247 void* pUserData);
7248
7249/*---------------------------------------------------------------------------
7250 WDI_WowlAddBcPtrnCb
7251
7252 DESCRIPTION
7253
7254 This callback is invoked by DAL when it has received a Wowl add Bcast ptrn
7255 response from the underlying device.
7256
7257 PARAMETERS
7258
7259 IN
7260 wdiStatus: response status received from HAL
7261 pUserData: user data
7262
7263
7264
7265 RETURN VALUE
7266 The result code associated with performing the operation
7267---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007268typedef void (*WDI_WowlAddBcPtrnCb)( WDI_WowlAddBcPtrnRspParamsType *pwdiWowlAddBcPtrnParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007269 void* pUserData);
7270
7271/*---------------------------------------------------------------------------
7272 WDI_WowlDelBcPtrnCb
7273
7274 DESCRIPTION
7275
7276 This callback is invoked by DAL when it has received a Wowl delete Bcast ptrn
7277 response from the underlying device.
7278
7279 PARAMETERS
7280
7281 IN
7282 wdiStatus: response status received from HAL
7283 pUserData: user data
7284
7285
7286
7287 RETURN VALUE
7288 The result code associated with performing the operation
7289---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007290typedef void (*WDI_WowlDelBcPtrnCb)( WDI_WowlDelBcPtrnRspParamsType *pwdiWowlDelBcstPtrRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007291 void* pUserData);
7292
7293/*---------------------------------------------------------------------------
7294 WDI_WowlEnterReqCb
7295
7296 DESCRIPTION
7297
7298 This callback is invoked by DAL when it has received a Wowl enter
7299 response from the underlying device.
7300
7301 PARAMETERS
7302
7303 IN
7304 wdiStatus: response status received from HAL
7305 pUserData: user data
7306
7307
7308
7309 RETURN VALUE
7310 The result code associated with performing the operation
7311---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007312typedef void (*WDI_WowlEnterReqCb)( WDI_WowlEnterRspParamsType *pwdiwowlEnterRsp,
7313 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007314
7315/*---------------------------------------------------------------------------
7316 WDI_WowlExitReqCb
7317
7318 DESCRIPTION
7319
7320 This callback is invoked by DAL when it has received a Wowl exit
7321 response from the underlying device.
7322
7323 PARAMETERS
7324
7325 IN
7326 wdiStatus: response status received from HAL
7327 pUserData: user data
7328
7329
7330
7331 RETURN VALUE
7332 The result code associated with performing the operation
7333---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007334typedef void (*WDI_WowlExitReqCb)( WDI_WowlExitRspParamsType *pwdiWowlExitRsp,
Jeff Johnson295189b2012-06-20 16:38:30 -07007335 void* pUserData);
7336
7337/*---------------------------------------------------------------------------
7338 WDI_ConfigureAppsCpuWakeupStateCb
7339
7340 DESCRIPTION
7341
7342 This callback is invoked by DAL when it has received a config Apps Cpu Wakeup
7343 State response from the underlying device.
7344
7345 PARAMETERS
7346
7347 IN
7348 wdiStatus: response status received from HAL
7349 pUserData: user data
7350
7351
7352
7353 RETURN VALUE
7354 The result code associated with performing the operation
7355---------------------------------------------------------------------------*/
7356typedef void (*WDI_ConfigureAppsCpuWakeupStateCb)(WDI_Status wdiStatus,
7357 void* pUserData);
7358/*---------------------------------------------------------------------------
7359 WDI_NvDownloadRspCb
7360
7361 DESCRIPTION
7362
7363 This callback is invoked by DAL when it has received a NV Download response
7364 from the underlying device.
7365
7366 PARAMETERS
7367
7368 IN
7369 wdiStatus:response status received from HAL
7370 pUserData:user data
7371
7372 RETURN VALUE
7373 The result code associated with performing the operation
7374---------------------------------------------------------------------------*/
7375typedef void (*WDI_NvDownloadRspCb)(WDI_NvDownloadRspInfoType* wdiNvDownloadRsp,
7376 void* pUserData);
7377/*---------------------------------------------------------------------------
7378 WDI_FlushAcRspCb
7379
7380 DESCRIPTION
7381
7382 This callback is invoked by DAL when it has received a Flush AC response from
7383 the underlying device.
7384
7385 PARAMETERS
7386
7387 IN
7388 wdiStatus: response status received from HAL
7389 pUserData: user data
7390
7391
7392
7393 RETURN VALUE
7394 The result code associated with performing the operation
7395---------------------------------------------------------------------------*/
7396typedef void (*WDI_FlushAcRspCb)(WDI_Status wdiStatus,
7397 void* pUserData);
7398
7399/*---------------------------------------------------------------------------
7400 WDI_BtAmpEventRspCb
7401
7402 DESCRIPTION
7403
7404 This callback is invoked by DAL when it has received a Bt AMP event response
7405 from the underlying device.
7406
7407 PARAMETERS
7408
7409 IN
7410 wdiStatus: response status received from HAL
7411 pUserData: user data
7412
7413
7414
7415 RETURN VALUE
7416 The result code associated with performing the operation
7417---------------------------------------------------------------------------*/
7418typedef void (*WDI_BtAmpEventRspCb)(WDI_Status wdiStatus,
7419 void* pUserData);
7420
Jeff Johnsone7245742012-09-05 17:12:55 -07007421#ifdef FEATURE_OEM_DATA_SUPPORT
7422/*---------------------------------------------------------------------------
7423 WDI_oemDataRspCb
7424
7425 DESCRIPTION
7426
7427 This callback is invoked by DAL when it has received a Start oem data response from
7428 the underlying device.
7429
7430 PARAMETERS
7431
7432 IN
7433 wdiStatus: response status received from HAL
7434 pUserData: user data
7435
7436
7437
7438 RETURN VALUE
7439 The result code associated with performing the operation
7440---------------------------------------------------------------------------*/
7441typedef void (*WDI_oemDataRspCb)(WDI_oemDataRspParamsType* wdiOemDataRspParams,
7442 void* pUserData);
7443
7444#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07007445
7446/*---------------------------------------------------------------------------
7447 WDI_HostResumeEventRspCb
7448
7449 DESCRIPTION
7450
7451 This callback is invoked by DAL when it has received a Bt AMP event response
7452 from the underlying device.
7453
7454 PARAMETERS
7455
7456 IN
7457 wdiStatus: response status received from HAL
7458 pUserData: user data
7459
7460
7461
7462 RETURN VALUE
7463 The result code associated with performing the operation
7464---------------------------------------------------------------------------*/
7465typedef void (*WDI_HostResumeEventRspCb)(
7466 WDI_SuspendResumeRspParamsType *resumeRspParams,
7467 void* pUserData);
7468
7469
7470#ifdef WLAN_FEATURE_VOWIFI_11R
7471/*---------------------------------------------------------------------------
7472 WDI_AggrAddTsRspCb
7473
7474 DESCRIPTION
7475
7476 This callback is invoked by DAL when it has received a Aggregated Add TS
7477 response from the underlying device.
7478
7479 PARAMETERS
7480
7481 IN
7482 wdiStatus: response status received from HAL
7483 pUserData: user data
7484
7485
7486
7487 RETURN VALUE
7488 The result code associated with performing the operation
7489---------------------------------------------------------------------------*/
7490typedef void (*WDI_AggrAddTsRspCb)(WDI_Status wdiStatus,
7491 void* pUserData);
7492#endif /* WLAN_FEATURE_VOWIFI_11R */
7493
Jeff Johnson295189b2012-06-20 16:38:30 -07007494/*---------------------------------------------------------------------------
7495 WDI_FTMCommandRspCb
7496
7497 DESCRIPTION
7498
7499 FTM Command response CB
7500
7501 PARAMETERS
7502
7503 IN
7504 ftmCMDRspdata: FTM response data from HAL
7505 pUserData: user data
7506
7507
7508 RETURN VALUE
7509 NONE
7510---------------------------------------------------------------------------*/
7511typedef void (*WDI_FTMCommandRspCb)(void *ftmCMDRspdata,
7512 void *pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007513
7514/*---------------------------------------------------------------------------
7515 WDI_AddSTASelfParamsRspCb
7516
7517 DESCRIPTION
7518
7519 This callback is invoked by DAL when it has received a Add Sta Self Params
7520 response from the underlying device.
7521
7522 PARAMETERS
7523
7524 IN
7525 wdiAddSelfSTARsp: response status received from HAL
7526 pUserData: user data
7527
7528
7529
7530 RETURN VALUE
7531 The result code associated with performing the operation
7532---------------------------------------------------------------------------*/
7533typedef void (*WDI_AddSTASelfParamsRspCb)(
7534 WDI_AddSTASelfRspParamsType* pwdiAddSelfSTARsp,
7535 void* pUserData);
7536
7537
7538/*---------------------------------------------------------------------------
7539 WDI_DelSTASelfRspCb
7540
7541 DESCRIPTION
7542
7543 This callback is invoked by DAL when it has received a host offload
7544 response from the underlying device.
7545
7546 PARAMETERS
7547
7548 IN
7549 wdiStatus: response status received from HAL
7550 pUserData: user data
7551
7552
7553
7554 RETURN VALUE
7555 The result code associated with performing the operation
7556---------------------------------------------------------------------------*/
7557typedef void (*WDI_DelSTASelfRspCb)
7558(
7559WDI_DelSTASelfRspParamsType* wdiDelStaSelfRspParams,
7560void* pUserData
7561);
7562
7563#ifdef FEATURE_WLAN_SCAN_PNO
7564/*---------------------------------------------------------------------------
7565 WDI_PNOScanCb
7566
7567 DESCRIPTION
7568
7569 This callback is invoked by DAL when it has received a Set PNO
7570 response from the underlying device.
7571
7572 PARAMETERS
7573
7574 IN
7575 wdiStatus: response status received from HAL
7576 pUserData: user data
7577
7578
7579
7580 RETURN VALUE
7581 The result code associated with performing the operation
7582---------------------------------------------------------------------------*/
7583typedef void (*WDI_PNOScanCb)(WDI_Status wdiStatus,
7584 void* pUserData);
7585
7586/*---------------------------------------------------------------------------
7587 WDI_PNOScanCb
7588
7589 DESCRIPTION
7590
7591 This callback is invoked by DAL when it has received a Set PNO
7592 response from the underlying device.
7593
7594 PARAMETERS
7595
7596 IN
7597 wdiStatus: response status received from HAL
7598 pUserData: user data
7599
7600
7601
7602 RETURN VALUE
7603 The result code associated with performing the operation
7604---------------------------------------------------------------------------*/
7605typedef void (*WDI_RssiFilterCb)(WDI_Status wdiStatus,
7606 void* pUserData);
7607
7608/*---------------------------------------------------------------------------
7609 WDI_UpdateScanParamsCb
7610
7611 DESCRIPTION
7612
7613 This callback is invoked by DAL when it has received a Update Scan Params
7614 response from the underlying device.
7615
7616 PARAMETERS
7617
7618 IN
7619 wdiStatus: response status received from HAL
7620 pUserData: user data
7621
7622
7623
7624 RETURN VALUE
7625 The result code associated with performing the operation
7626---------------------------------------------------------------------------*/
7627typedef void (*WDI_UpdateScanParamsCb)(WDI_Status wdiStatus,
7628 void* pUserData);
7629#endif // FEATURE_WLAN_SCAN_PNO
7630
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08007631typedef void (*WDI_UpdateChannelRspCb)(WDI_Status wdiStatus,
7632 void* pUserData);
7633
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07007634#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
7635/*---------------------------------------------------------------------------
7636 WDI_RoamOffloadScanCb
7637
7638 DESCRIPTION
7639
7640 This callback is invoked by DAL when it has received a Start Roam Candidate Lookup Req
7641 response from the underlying device.
7642
7643 PARAMETERS
7644
7645 IN
7646 wdiStatus: response status received from HAL
7647 pUserData: user data
7648
7649
7650
7651 RETURN VALUE
7652 The result code associated with performing the operation
7653---------------------------------------------------------------------------*/
7654typedef void (*WDI_RoamOffloadScanCb)(WDI_Status wdiStatus,
7655 void* pUserData);
7656
7657#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07007658/*---------------------------------------------------------------------------
7659 WDI_SetTxPerTrackingRspCb
7660
7661 DESCRIPTION
7662
7663 This callback is invoked by DAL when it has received a Tx PER Tracking
7664 response from the underlying device.
7665
7666 PARAMETERS
7667
7668 IN
7669 wdiStatus: response status received from HAL
7670 pUserData: user data
7671
7672
7673
7674 RETURN VALUE
7675 The result code associated with performing the operation
7676---------------------------------------------------------------------------*/
7677typedef void (*WDI_SetTxPerTrackingRspCb)(WDI_Status wdiStatus,
7678 void* pUserData);
7679
7680#ifdef WLAN_FEATURE_PACKET_FILTERING
7681/*---------------------------------------------------------------------------
7682 WDI_8023MulticastListCb
7683
7684 DESCRIPTION
7685
7686 This callback is invoked by DAL when it has received a 8023 Multicast List
7687 response from the underlying device.
7688
7689 PARAMETERS
7690
7691 IN
7692 wdiStatus: response status received from HAL
7693 pUserData: user data
7694
7695
7696
7697 RETURN VALUE
7698 The result code associated with performing the operation
7699---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007700typedef void (*WDI_8023MulticastListCb)(
7701 WDI_RcvFltPktSetMcListRspParamsType *pwdiRcvFltPktSetMcListRspInfo,
7702 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007703
7704/*---------------------------------------------------------------------------
7705 WDI_ReceiveFilterSetFilterCb
7706
7707 DESCRIPTION
7708
7709 This callback is invoked by DAL when it has received a Receive Filter Set Filter
7710 response from the underlying device.
7711
7712 PARAMETERS
7713
7714 IN
7715 wdiStatus: response status received from HAL
7716 pUserData: user data
7717
7718
7719
7720 RETURN VALUE
7721 The result code associated with performing the operation
7722---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007723typedef void (*WDI_ReceiveFilterSetFilterCb)(
7724 WDI_SetRcvPktFilterRspParamsType *pwdiSetRcvPktFilterRspInfo,
7725 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007726
7727/*---------------------------------------------------------------------------
7728 WDI_FilterMatchCountCb
7729
7730 DESCRIPTION
7731
7732 This callback is invoked by DAL when it has received a Do PC Filter Match Count
7733 response from the underlying device.
7734
7735 PARAMETERS
7736
7737 IN
7738 wdiStatus: response status received from HAL
7739 pUserData: user data
7740
7741
7742
7743 RETURN VALUE
7744 The result code associated with performing the operation
7745---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007746typedef void (*WDI_FilterMatchCountCb)(
7747 WDI_RcvFltPktMatchCntRspParamsType *pwdiRcvFltPktMatchRspParams,
7748 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007749
7750/*---------------------------------------------------------------------------
7751 WDI_ReceiveFilterClearFilterCb
7752
7753 DESCRIPTION
7754
7755 This callback is invoked by DAL when it has received a Receive Filter Clear Filter
7756 response from the underlying device.
7757
7758 PARAMETERS
7759
7760 IN
7761 wdiStatus: response status received from HAL
7762 pUserData: user data
7763
7764
7765
7766 RETURN VALUE
7767 The result code associated with performing the operation
7768---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007769typedef void (*WDI_ReceiveFilterClearFilterCb)(
7770 WDI_RcvFltPktClearRspParamsType *pwdiRcvFltPktClearRspParamsType,
7771 void* pUserData);
Jeff Johnson295189b2012-06-20 16:38:30 -07007772#endif // WLAN_FEATURE_PACKET_FILTERING
7773
7774/*---------------------------------------------------------------------------
7775 WDI_HALDumpCmdRspCb
7776
7777 DESCRIPTION
7778
7779 This callback is invoked by DAL when it has received a HAL DUMP Command
7780response from
7781 the HAL layer.
7782
7783 PARAMETERS
7784
7785 IN
7786 wdiHalDumpCmdRsp: response status received from HAL
7787 pUserData: user data
7788
7789
7790
7791 RETURN VALUE
7792 The result code associated with performing the operation
7793---------------------------------------------------------------------------*/
7794typedef void (*WDI_HALDumpCmdRspCb)(WDI_HALDumpCmdRspParamsType* wdiHalDumpCmdRsp,
7795 void* pUserData);
7796
7797/*---------------------------------------------------------------------------
7798 WDI_SetPowerParamsCb
7799
7800 DESCRIPTION
7801
7802 This callback is invoked by DAL when it has received a Set Power Param
7803 response from the underlying device.
7804
7805 PARAMETERS
7806
7807 IN
7808 wdiStatus: response status received from HAL
7809 pUserData: user data
7810
7811
7812
7813 RETURN VALUE
7814 The result code associated with performing the operation
7815---------------------------------------------------------------------------*/
7816typedef void (*WDI_SetPowerParamsCb)(WDI_Status wdiStatus,
7817 void* pUserData);
7818
7819#ifdef WLAN_FEATURE_GTK_OFFLOAD
7820/*---------------------------------------------------------------------------
7821 WDI_GtkOffloadCb
7822
7823 DESCRIPTION
7824
7825 This callback is invoked by DAL when it has received a GTK offload
7826 response from the underlying device.
7827
7828 PARAMETERS
7829
7830 IN
7831 wdiStatus: response status received from HAL
7832 pUserData: user data
7833
7834
7835
7836 RETURN VALUE
7837 The result code associated with performing the operation
7838---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007839typedef void (*WDI_GtkOffloadCb)( WDI_GtkOffloadRspParams *pwdiGtkOffloadRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007840 void* pUserData);
7841
7842/*---------------------------------------------------------------------------
7843 WDI_GtkOffloadGetInfoCb
7844
7845 DESCRIPTION
7846
7847 This callback is invoked by DAL when it has received a GTK offload
7848 information response from the underlying device.
7849
7850 PARAMETERS
7851
7852 IN
7853 wdiStatus: response status received from HAL
7854 pUserData: user data
7855
7856
7857
7858 RETURN VALUE
7859 The result code associated with performing the operation
7860---------------------------------------------------------------------------*/
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07007861typedef void (*WDI_GtkOffloadGetInfoCb)( WDI_GtkOffloadGetInfoRspParams *pwdiGtkOffloadGetInfoRsparams,
Jeff Johnson295189b2012-06-20 16:38:30 -07007862 void* pUserData);
7863#endif // WLAN_FEATURE_GTK_OFFLOAD
7864
7865/*---------------------------------------------------------------------------
7866 WDI_SetTmLevelCb
7867
7868 DESCRIPTION
7869
7870 This callback is invoked by DAL when it has received a Set New TM Level
7871 done response from the underlying device.
7872
7873 PARAMETERS
7874
7875 IN
7876 wdiStatus: response status received from HAL
7877 pUserData: user data
7878
7879
7880
7881 RETURN VALUE
7882 The result code associated with performing the operation
7883---------------------------------------------------------------------------*/
7884typedef void (*WDI_SetTmLevelCb)(WDI_Status wdiStatus,
7885 void* pUserData);
7886
7887/*---------------------------------------------------------------------------
7888 WDI_featureCapsExchangeCb
7889
7890 DESCRIPTION
7891
7892 This callback is invoked by DAL when it has received a HAL Feature Capbility
7893 Exchange Response the HAL layer. This callback is put to mantain code
7894 similarity and is not being used right now.
7895
7896 PARAMETERS
7897
7898 IN
7899 wdiFeatCapRspParams: response parameters received from HAL
7900 pUserData: user data
7901
7902 RETURN VALUE
7903 The result code associated with performing the operation
7904---------------------------------------------------------------------------*/
7905typedef void (*WDI_featureCapsExchangeCb)(void* wdiFeatCapRspParams,
7906 void* pUserData);
7907
Mohit Khanna4a70d262012-09-11 16:30:12 -07007908#ifdef WLAN_FEATURE_11AC
7909typedef void (*WDI_UpdateVHTOpModeCb)(WDI_Status wdiStatus,
7910 void* pUserData);
7911#endif
7912
Leo Chang9056f462013-08-01 19:21:11 -07007913#ifdef FEATURE_WLAN_LPHB
7914typedef void (*WDI_LphbCfgCb)(WDI_Status wdiStatus,
7915 void* pUserData);
7916#endif /* FEATURE_WLAN_LPHB */
Mohit Khanna4a70d262012-09-11 16:30:12 -07007917
Rajeev79dbe4c2013-10-05 11:03:42 +05307918#ifdef FEATURE_WLAN_BATCH_SCAN
7919/*---------------------------------------------------------------------------
7920 WDI_SetBatchScanCb
7921
7922 DESCRIPTION
7923
7924 This callback is invoked by DAL when it has received a get batch scan
7925 response from the underlying device.
7926
7927 PARAMETERS
7928
7929 IN
7930 wdiStatus: response status received from HAL
7931 pUserData: user data
7932
7933
7934
7935 RETURN VALUE
7936 The result code associated with performing the operation
7937---------------------------------------------------------------------------*/
7938typedef void (*WDI_SetBatchScanCb)(void *pData, WDI_SetBatchScanRspType *pRsp);
7939
7940#endif
7941
c_hpothu92367912014-05-01 15:18:17 +05307942typedef void (*WDI_GetBcnMissRateCb)(wpt_uint8 status, wpt_uint32 bcnMissRate,
7943 void* pUserData);
Rajeev79dbe4c2013-10-05 11:03:42 +05307944
Dino Mycle41bdc942014-06-10 11:30:24 +05307945#ifdef WLAN_FEATURE_EXTSCAN
7946typedef void (*WDI_EXTScanStartRspCb)(void *pEventData,
7947 void *pUserData);
7948typedef void (*WDI_EXTScanStopRspCb)(void *pEventData,
7949 void *pUserData);
7950typedef void (*WDI_EXTScanGetCachedResultsRspCb)(void *pEventData,
7951 void *pUserData);
7952typedef void (*WDI_EXTScanGetCapabilitiesRspCb)(void *pEventData,
7953 void *pUserData);
7954typedef void (*WDI_EXTScanSetBSSIDHotlistRspCb)(void *pEventData,
7955 void *pUserData);
7956typedef void (*WDI_EXTScanResetBSSIDHotlistRspCb)(void *pEventData,
7957 void *pUserData);
7958typedef void (*WDI_EXTScanSetSignfRSSIChangeRspCb)(void *pEventData,
7959 void *pUserData);
7960typedef void (*WDI_EXTScanResetSignfRSSIChangeRspCb)(void *pEventData,
7961 void *pUserData);
7962#endif /* WLAN_FEATURE_EXTSCAN */
Sunil Duttbd736ed2014-05-26 21:19:41 +05307963
7964#ifdef WLAN_FEATURE_LINK_LAYER_STATS
7965typedef void (*WDI_LLStatsSetRspCb)(void *pEventData,
7966 void *pUserData);
7967typedef void (*WDI_LLStatsGetRspCb)(void *pEventData,
7968 void *pUserData);
7969typedef void (*WDI_LLStatsClearRspCb)(void *pEventData,
7970 void *pUserData);
7971#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
Siddharth Bhal171788a2014-09-29 21:02:40 +05307972
7973typedef void (*WDI_SetSpoofMacAddrRspCb)(
7974 WDI_SpoofMacAddrRspParamType* wdiRsp, void *pUserData);
Srinivas Dasari4dae48f2014-11-26 21:14:16 +05307975
Abhishek Singh85b74712014-10-08 11:38:19 +05307976typedef void (*WDI_FWStatsGetRspCb)(WDI_Status status,void *fwStatsResp,
7977 void *pUserData);
Srinivas Dasari4dae48f2014-11-26 21:14:16 +05307978
7979typedef void (*WDI_EncryptMsgRspCb)(wpt_uint8 status, void *pEventData, void* pUserData);
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05307980typedef void (*WDI_MgmtLoggingInitRspCb)(
7981 WDI_MgmtLoggingRspParamType *wdiRsp, void *pUserData);
Siddharth Bhal64246172015-02-27 01:04:37 +05307982typedef void (*WDI_GetFrameLogRspCb)(
7983 WDI_GetFrameLogRspParamType *wdiRsp, void *pUserData);
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05307984
Jeff Johnson295189b2012-06-20 16:38:30 -07007985/*========================================================================
7986 * Function Declarations and Documentation
7987 ==========================================================================*/
7988
7989/*========================================================================
7990
7991 INITIALIZATION APIs
7992
7993==========================================================================*/
7994
7995/**
7996 @brief WDI_Init is used to initialize the DAL.
7997
7998 DAL will allocate all the resources it needs. It will open PAL, it will also
7999 open both the data and the control transport which in their turn will open
8000 DXE/SMD or any other drivers that they need.
8001
Arun Kumar Khandavalliebb19482014-03-25 13:56:53 +05308002 @param devHandle: pointer to the OS specific device handle
Jeff Johnson295189b2012-06-20 16:38:30 -07008003 ppWDIGlobalCtx: output pointer of Global Context
8004 pWdiDevCapability: output pointer of device capability
8005
8006 @return Result of the function call
8007*/
8008WDI_Status
8009WDI_Init
8010(
Arun Kumar Khandavalliebb19482014-03-25 13:56:53 +05308011 void* devHandle,
Jeff Johnson295189b2012-06-20 16:38:30 -07008012 void** ppWDIGlobalCtx,
8013 WDI_DeviceCapabilityType* pWdiDevCapability,
8014 unsigned int driverType
8015);
8016
8017/**
8018 @brief WDI_Start will be called when the upper MAC is ready to
8019 commence operation with the WLAN Device. Upon the call
8020 of this API the WLAN DAL will pack and send a HAL Start
8021 message to the lower RIVA sub-system if the SMD channel
8022 has been fully opened and the RIVA subsystem is up.
8023
8024 If the RIVA sub-system is not yet up and running DAL
8025 will queue the request for Open and will wait for the
8026 SMD notification before attempting to send down the
8027 message to HAL.
8028
8029 WDI_Init must have been called.
8030
8031 @param wdiStartParams: the start parameters as specified by
8032 the Device Interface
8033
8034 wdiStartRspCb: callback for passing back the response of
8035 the start operation received from the device
8036
8037 pUserData: user data will be passed back with the
8038 callback
8039
8040 @see WDI_Start
8041 @return Result of the function call
8042*/
8043WDI_Status
8044WDI_Start
8045(
8046 WDI_StartReqParamsType* pwdiStartParams,
8047 WDI_StartRspCb wdiStartRspCb,
8048 void* pUserData
8049);
8050
8051
8052/**
8053 @brief WDI_Stop will be called when the upper MAC is ready to
8054 stop any operation with the WLAN Device. Upon the call
8055 of this API the WLAN DAL will pack and send a HAL Stop
8056 message to the lower RIVA sub-system if the DAL Core is
8057 in started state.
8058
8059 In state BUSY this request will be queued.
8060
8061 Request will not be accepted in any other state.
8062
8063 WDI_Start must have been called.
8064
8065 @param wdiStopParams: the stop parameters as specified by
8066 the Device Interface
8067
8068 wdiStopRspCb: callback for passing back the response of
8069 the stop operation received from the device
8070
8071 pUserData: user data will be passed back with the
8072 callback
8073
8074 @see WDI_Start
8075 @return Result of the function call
8076*/
8077WDI_Status
8078WDI_Stop
8079(
8080 WDI_StopReqParamsType* pwdiStopParams,
8081 WDI_StopRspCb wdiStopRspCb,
8082 void* pUserData
8083);
8084
8085/**
8086 @brief WDI_Close will be called when the upper MAC no longer
8087 needs to interract with DAL. DAL will free its control
8088 block.
8089
8090 It is only accepted in state STOPPED.
8091
8092 WDI_Stop must have been called.
8093
8094 @param none
8095
8096 @see WDI_Stop
8097 @return Result of the function call
8098*/
8099WDI_Status
8100WDI_Close
8101(
8102 void
8103);
8104
8105
8106/**
8107 @brief WDI_Shutdown will be called during 'SSR shutdown' operation.
8108 This will do most of the WDI stop & close
8109 operations without doing any handshake with Riva
8110
8111 This will also make sure that the control transport
8112 will NOT be closed.
8113
8114 This request will not be queued.
8115
8116
8117 WDI_Start must have been called.
8118
8119 @param closeTransport: Close control channel if this is set
8120
8121 @return Result of the function call
8122*/
8123WDI_Status
8124WDI_Shutdown
8125(
8126 wpt_boolean closeTransport
8127);
8128
8129/*========================================================================
8130
8131 SCAN APIs
8132
8133==========================================================================*/
8134
8135/**
8136 @brief WDI_InitScanReq will be called when the upper MAC wants
8137 the WLAN Device to get ready for a scan procedure. Upon
8138 the call of this API the WLAN DAL will pack and send a
8139 HAL Init Scan request message to the lower RIVA
8140 sub-system if DAL is in state STARTED.
8141
8142 In state BUSY this request will be queued. Request won't
8143 be allowed in any other state.
8144
8145 WDI_Start must have been called.
8146
8147 @param wdiInitScanParams: the init scan parameters as specified
8148 by the Device Interface
8149
8150 wdiInitScanRspCb: callback for passing back the response
8151 of the init scan operation received from the device
8152
8153 pUserData: user data will be passed back with the
8154 callback
8155
8156 @see WDI_Start
8157 @return Result of the function call
8158*/
8159WDI_Status
8160WDI_InitScanReq
8161(
8162 WDI_InitScanReqParamsType* pwdiInitScanParams,
8163 WDI_InitScanRspCb wdiInitScanRspCb,
8164 void* pUserData
8165);
8166
8167/**
8168 @brief WDI_StartScanReq will be called when the upper MAC
8169 wishes to change the Scan channel on the WLAN Device.
8170 Upon the call of this API the WLAN DAL will pack and
8171 send a HAL Start Scan request message to the lower RIVA
8172 sub-system if DAL is in state STARTED.
8173
8174 In state BUSY this request will be queued. Request won't
8175 be allowed in any other state.
8176
8177 WDI_InitScanReq must have been called.
8178
8179 @param wdiStartScanParams: the start scan parameters as
8180 specified by the Device Interface
8181
8182 wdiStartScanRspCb: callback for passing back the
8183 response of the start scan operation received from the
8184 device
8185
8186 pUserData: user data will be passed back with the
8187 callback
8188
8189 @see WDI_InitScanReq
8190 @return Result of the function call
8191*/
8192WDI_Status
8193WDI_StartScanReq
8194(
8195 WDI_StartScanReqParamsType* pwdiStartScanParams,
8196 WDI_StartScanRspCb wdiStartScanRspCb,
8197 void* pUserData
8198);
8199
8200
8201/**
8202 @brief WDI_EndScanReq will be called when the upper MAC is
8203 wants to end scanning for a particular channel that it
8204 had set before by calling Scan Start on the WLAN Device.
8205 Upon the call of this API the WLAN DAL will pack and
8206 send a HAL End Scan request message to the lower RIVA
8207 sub-system if DAL is in state STARTED.
8208
8209 In state BUSY this request will be queued. Request won't
8210 be allowed in any other state.
8211
8212 WDI_StartScanReq must have been called.
8213
8214 @param wdiEndScanParams: the end scan parameters as specified
8215 by the Device Interface
8216
8217 wdiEndScanRspCb: callback for passing back the response
8218 of the end scan operation received from the device
8219
8220 pUserData: user data will be passed back with the
8221 callback
8222
8223 @see WDI_StartScanReq
8224 @return Result of the function call
8225*/
8226WDI_Status
8227WDI_EndScanReq
8228(
8229 WDI_EndScanReqParamsType* pwdiEndScanParams,
8230 WDI_EndScanRspCb wdiEndScanRspCb,
8231 void* pUserData
8232);
8233
8234
8235/**
8236 @brief WDI_FinishScanReq will be called when the upper MAC has
8237 completed the scan process on the WLAN Device. Upon the
8238 call of this API the WLAN DAL will pack and send a HAL
8239 Finish Scan Request request message to the lower RIVA
8240 sub-system if DAL is in state STARTED.
8241
8242 In state BUSY this request will be queued. Request won't
8243 be allowed in any other state.
8244
8245 WDI_InitScanReq must have been called.
8246
8247 @param wdiFinishScanParams: the finish scan parameters as
8248 specified by the Device Interface
8249
8250 wdiFinishScanRspCb: callback for passing back the
8251 response of the finish scan operation received from the
8252 device
8253
8254 pUserData: user data will be passed back with the
8255 callback
8256
8257 @see WDI_InitScanReq
8258 @return Result of the function call
8259*/
8260WDI_Status
8261WDI_FinishScanReq
8262(
8263 WDI_FinishScanReqParamsType* pwdiFinishScanParams,
8264 WDI_FinishScanRspCb wdiFinishScanRspCb,
8265 void* pUserData
8266);
8267
8268/*========================================================================
8269
8270 ASSOCIATION APIs
8271
8272==========================================================================*/
8273
8274/**
8275 @brief WDI_JoinReq will be called when the upper MAC is ready
8276 to start an association procedure to a BSS. Upon the
8277 call of this API the WLAN DAL will pack and send a HAL
8278 Join request message to the lower RIVA sub-system if
8279 DAL is in state STARTED.
8280
8281 In state BUSY this request will be queued. Request won't
8282 be allowed in any other state.
8283
8284 WDI_Start must have been called.
8285
8286 @param wdiJoinParams: the join parameters as specified by
8287 the Device Interface
8288
8289 wdiJoinRspCb: callback for passing back the response of
8290 the join operation received from the device
8291
8292 pUserData: user data will be passed back with the
8293 callback
8294
8295 @see WDI_Start
8296 @return Result of the function call
8297*/
8298WDI_Status
8299WDI_JoinReq
8300(
8301 WDI_JoinReqParamsType* pwdiJoinParams,
8302 WDI_JoinRspCb wdiJoinRspCb,
8303 void* pUserData
8304);
8305
8306/**
8307 @brief WDI_ConfigBSSReq will be called when the upper MAC
8308 wishes to configure the newly acquired or in process of
8309 being acquired BSS to the HW . Upon the call of this API
8310 the WLAN DAL will pack and send a HAL Config BSS request
8311 message to the lower RIVA sub-system if DAL is in state
8312 STARTED.
8313
8314 In state BUSY this request will be queued. Request won't
8315 be allowed in any other state.
8316
8317 WDI_JoinReq must have been called.
8318
8319 @param wdiConfigBSSParams: the config BSS parameters as
8320 specified by the Device Interface
8321
8322 wdiConfigBSSRspCb: callback for passing back the
8323 response of the config BSS operation received from the
8324 device
8325
8326 pUserData: user data will be passed back with the
8327 callback
8328
8329 @see WDI_JoinReq
8330 @return Result of the function call
8331*/
8332WDI_Status
8333WDI_ConfigBSSReq
8334(
8335 WDI_ConfigBSSReqParamsType* pwdiConfigBSSParams,
8336 WDI_ConfigBSSRspCb wdiConfigBSSRspCb,
8337 void* pUserData
8338);
8339
8340/**
8341 @brief WDI_DelBSSReq will be called when the upper MAC is
8342 dissasociating from the BSS and wishes to notify HW.
8343 Upon the call of this API the WLAN DAL will pack and
8344 send a HAL Del BSS request message to the lower RIVA
8345 sub-system if DAL is in state STARTED.
8346
8347 In state BUSY this request will be queued. Request won't
8348 be allowed in any other state.
8349
8350 WDI_ConfigBSSReq or WDI_PostAssocReq must have been called.
8351
8352 @param wdiDelBSSParams: the del BSS parameters as specified by
8353 the Device Interface
8354
8355 wdiDelBSSRspCb: callback for passing back the response
8356 of the del bss operation received from the device
8357
8358 pUserData: user data will be passed back with the
8359 callback
8360
8361 @see WDI_ConfigBSSReq, WDI_PostAssocReq
8362 @return Result of the function call
8363*/
8364WDI_Status
8365WDI_DelBSSReq
8366(
8367 WDI_DelBSSReqParamsType* pwdiDelBSSParams,
8368 WDI_DelBSSRspCb wdiDelBSSRspCb,
8369 void* pUserData
8370);
8371
8372/**
8373 @brief WDI_PostAssocReq will be called when the upper MAC has
8374 associated to a BSS and wishes to configure HW for
8375 associated state. Upon the call of this API the WLAN DAL
8376 will pack and send a HAL Post Assoc request message to
8377 the lower RIVA sub-system if DAL is in state STARTED.
8378
8379 In state BUSY this request will be queued. Request won't
8380 be allowed in any other state.
8381
8382 WDI_JoinReq must have been called.
8383
8384 @param wdiPostAssocReqParams: the assoc parameters as specified
8385 by the Device Interface
8386
8387 wdiPostAssocRspCb: callback for passing back the
8388 response of the post assoc operation received from the
8389 device
8390
8391 pUserData: user data will be passed back with the
8392 callback
8393
8394 @see WDI_JoinReq
8395 @return Result of the function call
8396*/
8397WDI_Status
8398WDI_PostAssocReq
8399(
8400 WDI_PostAssocReqParamsType* pwdiPostAssocReqParams,
8401 WDI_PostAssocRspCb wdiPostAssocRspCb,
8402 void* pUserData
8403);
8404
8405/**
8406 @brief WDI_DelSTAReq will be called when the upper MAC when an
8407 association with another STA has ended and the station
8408 must be deleted from HW. Upon the call of this API the
8409 WLAN DAL will pack and send a HAL Del STA request
8410 message to the lower RIVA sub-system if DAL is in state
8411 STARTED.
8412
8413 In state BUSY this request will be queued. Request won't
8414 be allowed in any other state.
8415
8416 WDI_PostAssocReq must have been called.
8417
8418 @param wdiDelSTAParams: the Del STA parameters as specified by
8419 the Device Interface
8420
8421 wdiDelSTARspCb: callback for passing back the response
8422 of the del STA operation received from the device
8423
8424 pUserData: user data will be passed back with the
8425 callback
8426
8427 @see WDI_PostAssocReq
8428 @return Result of the function call
8429*/
8430WDI_Status
8431WDI_DelSTAReq
8432(
8433 WDI_DelSTAReqParamsType* pwdiDelSTAParams,
8434 WDI_DelSTARspCb wdiDelSTARspCb,
8435 void* pUserData
8436);
8437
8438/*========================================================================
8439
8440 SECURITY APIs
8441
8442==========================================================================*/
8443
8444/**
8445 @brief WDI_SetBSSKeyReq will be called when the upper MAC ito
8446 install a BSS encryption key on the HW. Upon the call of
8447 this API the WLAN DAL will pack and send a HAL Start
8448 request message to the lower RIVA sub-system if DAL is
8449 in state STARTED.
8450
8451 In state BUSY this request will be queued. Request won't
8452 be allowed in any other state.
8453
8454 WDI_PostAssocReq must have been called.
8455
8456 @param wdiSetBSSKeyParams: the BSS Key set parameters as
8457 specified by the Device Interface
8458
8459 wdiSetBSSKeyRspCb: callback for passing back the
8460 response of the set BSS Key operation received from the
8461 device
8462
8463 pUserData: user data will be passed back with the
8464 callback
8465
8466 @see WDI_PostAssocReq
8467 @return Result of the function call
8468*/
8469WDI_Status
8470WDI_SetBSSKeyReq
8471(
8472 WDI_SetBSSKeyReqParamsType* pwdiSetBSSKeyParams,
8473 WDI_SetBSSKeyRspCb wdiSetBSSKeyRspCb,
8474 void* pUserData
8475);
8476
8477
8478/**
8479 @brief WDI_RemoveBSSKeyReq will be called when the upper MAC to
8480 uninstall a BSS key from HW. Upon the call of this API
8481 the WLAN DAL will pack and send a HAL Remove BSS Key
8482 request message to the lower RIVA sub-system if DAL is
8483 in state STARTED.
8484
8485 In state BUSY this request will be queued. Request won't
8486 be allowed in any other state.
8487
8488 WDI_SetBSSKeyReq must have been called.
8489
8490 @param wdiRemoveBSSKeyParams: the remove BSS key parameters as
8491 specified by the Device Interface
8492
8493 wdiRemoveBSSKeyRspCb: callback for passing back the
8494 response of the remove BSS key operation received from
8495 the device
8496
8497 pUserData: user data will be passed back with the
8498 callback
8499
8500 @see WDI_SetBSSKeyReq
8501 @return Result of the function call
8502*/
8503WDI_Status
8504WDI_RemoveBSSKeyReq
8505(
8506 WDI_RemoveBSSKeyReqParamsType* pwdiRemoveBSSKeyParams,
8507 WDI_RemoveBSSKeyRspCb wdiRemoveBSSKeyRspCb,
8508 void* pUserData
8509);
8510
8511
8512/**
8513 @brief WDI_SetSTAKeyReq will be called when the upper MAC is
8514 ready to install a STA(ast) encryption key in HW. Upon
8515 the call of this API the WLAN DAL will pack and send a
8516 HAL Set STA Key request message to the lower RIVA
8517 sub-system if DAL is in state STARTED.
8518
8519 In state BUSY this request will be queued. Request won't
8520 be allowed in any other state.
8521
8522 WDI_PostAssocReq must have been called.
8523
8524 @param wdiSetSTAKeyParams: the set STA key parameters as
8525 specified by the Device Interface
8526
8527 wdiSetSTAKeyRspCb: callback for passing back the
8528 response of the set STA key operation received from the
8529 device
8530
8531 pUserData: user data will be passed back with the
8532 callback
8533
8534 @see WDI_PostAssocReq
8535 @return Result of the function call
8536*/
8537WDI_Status
8538WDI_SetSTAKeyReq
8539(
8540 WDI_SetSTAKeyReqParamsType* pwdiSetSTAKeyParams,
8541 WDI_SetSTAKeyRspCb wdiSetSTAKeyRspCb,
8542 void* pUserData
8543);
8544
8545
8546/**
8547 @brief WDI_RemoveSTAKeyReq will be called when the upper MAC
8548 wants to unistall a previously set STA key in HW. Upon
8549 the call of this API the WLAN DAL will pack and send a
8550 HAL Remove STA Key request message to the lower RIVA
8551 sub-system if DAL is in state STARTED.
8552
8553 In state BUSY this request will be queued. Request won't
8554 be allowed in any other state.
8555
8556 WDI_SetSTAKeyReq must have been called.
8557
8558 @param wdiRemoveSTAKeyParams: the remove STA key parameters as
8559 specified by the Device Interface
8560
8561 wdiRemoveSTAKeyRspCb: callback for passing back the
8562 response of the remove STA key operation received from
8563 the device
8564
8565 pUserData: user data will be passed back with the
8566 callback
8567
8568 @see WDI_SetSTAKeyReq
8569 @return Result of the function call
8570*/
8571WDI_Status
8572WDI_RemoveSTAKeyReq
8573(
8574 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTAKeyParams,
8575 WDI_RemoveSTAKeyRspCb wdiRemoveSTAKeyRspCb,
8576 void* pUserData
8577);
8578
8579/**
8580 @brief WDI_SetSTABcastKeyReq will be called when the upper MAC
8581 wants to install a STA Bcast encryption key on the HW.
8582 Upon the call of this API the WLAN DAL will pack and
8583 send a HAL Start request message to the lower RIVA
8584 sub-system if DAL is in state STARTED.
8585
8586 In state BUSY this request will be queued. Request won't
8587 be allowed in any other state.
8588
8589 WDI_PostAssocReq must have been called.
8590
8591 @param pwdiSetSTABcastKeyParams: the BSS Key set parameters as
8592 specified by the Device Interface
8593
8594 wdiSetSTABcastKeyRspCb: callback for passing back the
8595 response of the set BSS Key operation received from the
8596 device
8597
8598 pUserData: user data will be passed back with the
8599 callback
8600
8601 @see WDI_PostAssocReq
8602 @return Result of the function call
8603*/
8604WDI_Status
8605WDI_SetSTABcastKeyReq
8606(
8607 WDI_SetSTAKeyReqParamsType* pwdiSetSTABcastKeyParams,
8608 WDI_SetSTAKeyRspCb wdiSetSTABcastKeyRspCb,
8609 void* pUserData
8610);
8611
8612
8613/**
8614 @brief WDI_RemoveSTABcastKeyReq will be called when the upper
8615 MAC to uninstall a STA Bcast key from HW. Upon the call
8616 of this API the WLAN DAL will pack and send a HAL Remove
8617 STA Bcast Key request message to the lower RIVA
8618 sub-system if DAL is in state STARTED.
8619
8620 In state BUSY this request will be queued. Request won't
8621 be allowed in any other state.
8622
8623 WDI_SetSTABcastKeyReq must have been called.
8624
8625 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
8626 parameters as specified by the Device
8627 Interface
8628
8629 wdiRemoveSTABcastKeyRspCb: callback for passing back the
8630 response of the remove STA Bcast key operation received
8631 from the device
8632
8633 pUserData: user data will be passed back with the
8634 callback
8635
8636 @see WDI_SetSTABcastKeyReq
8637 @return Result of the function call
8638*/
8639WDI_Status
8640WDI_RemoveSTABcastKeyReq
8641(
8642 WDI_RemoveSTAKeyReqParamsType* pwdiRemoveSTABcastKeyParams,
8643 WDI_RemoveSTAKeyRspCb wdiRemoveSTABcastKeyRspCb,
8644 void* pUserData
8645);
8646
schang86c22c42013-03-13 18:41:24 -07008647
8648/**
8649 @brief WDI_SetTxPowerReq will be called when the upper
8650 MAC wants to set Tx Power to HW.
8651 In state BUSY this request will be queued. Request won't
8652 be allowed in any other state.
8653
8654
8655 @param pwdiSetTxPowerParams: set TS Power parameters
8656 BSSID and target TX Power with dbm included
8657
8658 wdiReqStatusCb: callback for passing back the response
8659
8660 pUserData: user data will be passed back with the
8661 callback
8662
8663 @return Result of the function call
8664*/
8665WDI_Status
8666WDI_SetTxPowerReq
8667(
8668 WDI_SetTxPowerParamsType* pwdiSetTxPowerParams,
8669 WDA_SetTxPowerRspCb wdiReqStatusCb,
8670 void* pUserData
8671);
8672
Jeff Johnson295189b2012-06-20 16:38:30 -07008673/**
8674 @brief WDI_SetMaxTxPowerReq will be called when the upper
8675 MAC wants to set Max Tx Power to HW. Upon the
8676 call of this API the WLAN DAL will pack and send a HAL
8677 Remove STA Bcast Key request message to the lower RIVA
8678 sub-system if DAL is in state STARTED.
8679
8680 In state BUSY this request will be queued. Request won't
8681 be allowed in any other state.
8682
8683 WDI_SetSTABcastKeyReq must have been called.
8684
8685 @param pwdiRemoveSTABcastKeyParams: the remove BSS key
8686 parameters as specified by the Device
8687 Interface
8688
8689 wdiRemoveSTABcastKeyRspCb: callback for passing back the
8690 response of the remove STA Bcast key operation received
8691 from the device
8692
8693 pUserData: user data will be passed back with the
8694 callback
8695
8696 @see WDI_SetMaxTxPowerReq
8697 @return Result of the function call
8698*/
8699WDI_Status
8700WDI_SetMaxTxPowerReq
8701(
8702 WDI_SetMaxTxPowerParamsType* pwdiSetMaxTxPowerParams,
8703 WDA_SetMaxTxPowerRspCb wdiReqStatusCb,
8704 void* pUserData
8705);
8706
Arif Hussaina5ebce02013-08-09 15:09:58 -07008707/**
8708 @brief WDI_SetMaxTxPowerPerBandReq will be called when the upper
8709 MAC wants to set Max Tx Power to HW for specific band. Upon the
8710 call of this API the WLAN DAL will pack and send a HAL
8711 Set Max Tx Power Per Band request message to the lower RIVA
8712 sub-system if DAL is in state STARTED.
8713
8714 In state BUSY this request will be queued. Request won't
8715 be allowed in any other state.
8716
8717
8718 @param WDI_SetMaxTxPowerPerBandParamsType: Max Tx Per Band Info
8719
8720 WDA_SetMaxTxPowerPerBandRspCb: This callback is invoked by DAL
8721 when it has received a set max Tx Power Per Band response from
8722 the underlying device.
8723
8724 pUserData: user data will be passed back with the
8725 callback
8726
8727 @see WDI_SetMaxTxPowerPerBandReq
8728 @return Result of the function call
8729*/
8730WDI_Status
8731WDI_SetMaxTxPowerPerBandReq
8732(
8733 WDI_SetMaxTxPowerPerBandParamsType* pwdiSetMaxTxPowerPerBandParams,
8734 WDA_SetMaxTxPowerPerBandRspCb wdiReqStatusCb,
8735 void* pUserData
8736);
8737
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -08008738#ifdef FEATURE_WLAN_ESE
Jeff Johnson295189b2012-06-20 16:38:30 -07008739/**
8740 @brief WDI_TSMStatsReq will be called by the upper MAC to fetch
8741 Traffic Stream metrics.
8742 In state BUSY this request will be queued. Request won't
8743 be allowed in any other state.
8744
8745 @param wdiAddTsReqParams: the add TS parameters as specified by
8746 the Device Interface
8747
8748 wdiAddTsRspCb: callback for passing back the response of
8749 the add TS operation received from the device
8750
8751 pUserData: user data will be passed back with the
8752 callback
8753
8754 @see WDI_PostAssocReq
8755 @return Result of the function call
8756*/
8757WDI_Status
8758WDI_TSMStatsReq
8759(
8760 WDI_TSMStatsReqParamsType* pwdiTsmStatsReqParams,
8761 WDI_TsmRspCb wdiTsmStatsRspCb,
8762 void* pUserData
8763);
8764
8765
8766#endif
8767
8768/*========================================================================
8769
8770 QoS and BA APIs
8771
8772==========================================================================*/
8773
8774/**
8775 @brief WDI_AddTSReq will be called when the upper MAC to inform
8776 the device of a successful add TSpec negotiation. HW
8777 needs to receive the TSpec Info from the UMAC in order
8778 to configure properly the QoS data traffic. Upon the
8779 call of this API the WLAN DAL will pack and send a HAL
8780 Add TS request message to the lower RIVA sub-system if
8781 DAL is in state STARTED.
8782
8783 In state BUSY this request will be queued. Request won't
8784 be allowed in any other state.
8785
8786 WDI_PostAssocReq must have been called.
8787
8788 @param wdiAddTsReqParams: the add TS parameters as specified by
8789 the Device Interface
8790
8791 wdiAddTsRspCb: callback for passing back the response of
8792 the add TS operation received from the device
8793
8794 pUserData: user data will be passed back with the
8795 callback
8796
8797 @see WDI_PostAssocReq
8798 @return Result of the function call
8799*/
8800WDI_Status
8801WDI_AddTSReq
8802(
8803 WDI_AddTSReqParamsType* pwdiAddTsReqParams,
8804 WDI_AddTsRspCb wdiAddTsRspCb,
8805 void* pUserData
8806);
8807
8808
8809
8810/**
8811 @brief WDI_DelTSReq will be called when the upper MAC has ended
8812 admission on a specific AC. This is to inform HW that
8813 QoS traffic parameters must be rest. Upon the call of
8814 this API the WLAN DAL will pack and send a HAL Del TS
8815 request message to the lower RIVA sub-system if DAL is
8816 in state STARTED.
8817
8818 In state BUSY this request will be queued. Request won't
8819 be allowed in any other state.
8820
8821 WDI_AddTSReq must have been called.
8822
8823 @param wdiDelTsReqParams: the del TS parameters as specified by
8824 the Device Interface
8825
8826 wdiDelTsRspCb: callback for passing back the response of
8827 the del TS operation received from the device
8828
8829 pUserData: user data will be passed back with the
8830 callback
8831
8832 @see WDI_AddTSReq
8833 @return Result of the function call
8834*/
8835WDI_Status
8836WDI_DelTSReq
8837(
8838 WDI_DelTSReqParamsType* pwdiDelTsReqParams,
8839 WDI_DelTsRspCb wdiDelTsRspCb,
8840 void* pUserData
8841);
8842
8843
8844
8845/**
8846 @brief WDI_UpdateEDCAParams will be called when the upper MAC
8847 wishes to update the EDCA parameters used by HW for QoS
8848 data traffic. Upon the call of this API the WLAN DAL
8849 will pack and send a HAL Update EDCA Params request
8850 message to the lower RIVA sub-system if DAL is in state
8851 STARTED.
8852
8853 In state BUSY this request will be queued. Request won't
8854 be allowed in any other state.
8855
8856 WDI_PostAssocReq must have been called.
8857
8858 @param wdiUpdateEDCAParams: the start parameters as specified
8859 by the Device Interface
8860
8861 wdiUpdateEDCAParamsRspCb: callback for passing back the
8862 response of the start operation received from the device
8863
8864 pUserData: user data will be passed back with the
8865 callback
8866
8867 @see WDI_PostAssocReq
8868 @return Result of the function call
8869*/
8870WDI_Status
8871WDI_UpdateEDCAParams
8872(
8873 WDI_UpdateEDCAParamsType* pwdiUpdateEDCAParams,
8874 WDI_UpdateEDCAParamsRspCb wdiUpdateEDCAParamsRspCb,
8875 void* pUserData
8876);
8877
8878
8879
8880/**
8881 @brief WDI_AddBASessionReq will be called when the upper MAC has setup
8882 successfully a BA session and needs to notify the HW for
8883 the appropriate settings to take place. Upon the call of
8884 this API the WLAN DAL will pack and send a HAL Add BA
8885 request message to the lower RIVA sub-system if DAL is
8886 in state STARTED.
8887
8888 In state BUSY this request will be queued. Request won't
8889 be allowed in any other state.
8890
8891 WDI_PostAssocReq must have been called.
8892
8893 @param wdiAddBAReqParams: the add BA parameters as specified by
8894 the Device Interface
8895
8896 wdiAddBARspCb: callback for passing back the response of
8897 the add BA operation received from the device
8898
8899 pUserData: user data will be passed back with the
8900 callback
8901
8902 @see WDI_PostAssocReq
8903 @return Result of the function call
8904*/
8905WDI_Status
8906WDI_AddBASessionReq
8907(
8908 WDI_AddBASessionReqParamsType* pwdiAddBASessionReqParams,
8909 WDI_AddBASessionRspCb wdiAddBASessionRspCb,
8910 void* pUserData
8911);
8912
8913
8914/**
8915 @brief WDI_DelBAReq will be called when the upper MAC wants to
8916 inform HW that it has deleted a previously created BA
8917 session. Upon the call of this API the WLAN DAL will
8918 pack and send a HAL Del BA request message to the lower
8919 RIVA sub-system if DAL is in state STARTED.
8920
8921 In state BUSY this request will be queued. Request won't
8922 be allowed in any other state.
8923
8924 WDI_AddBAReq must have been called.
8925
8926 @param wdiDelBAReqParams: the del BA parameters as specified by
8927 the Device Interface
8928
8929 wdiDelBARspCb: callback for passing back the response of
8930 the del BA operation received from the device
8931
8932 pUserData: user data will be passed back with the
8933 callback
8934
8935 @see WDI_AddBAReq
8936 @return Result of the function call
8937*/
8938WDI_Status
8939WDI_DelBAReq
8940(
8941 WDI_DelBAReqParamsType* pwdiDelBAReqParams,
8942 WDI_DelBARspCb wdiDelBARspCb,
8943 void* pUserData
8944);
8945
8946/**
8947 @brief WDI_UpdateBeaconParamsReq will be called when the upper MAC wants to
8948 inform HW that there is a change in the beacon parameters
8949 Upon the call of this API the WLAN DAL will
8950 pack and send a UpdateBeacon Params message to the lower
8951 RIVA sub-system if DAL is in state STARTED.
8952
8953 In state BUSY this request will be queued. Request won't
8954 be allowed in any other state.
8955
8956 WDI_UpdateBeaconParamsReq must have been called.
8957
8958 @param WDI_UpdateBeaconParamsType: the Update Beacon parameters as specified by
8959 the Device Interface
8960
8961 WDI_UpdateBeaconParamsRspCb: callback for passing back the response of
8962 the Update Beacon Params operation received from the device
8963
8964 pUserData: user data will be passed back with the
8965 callback
8966
8967 @see WDI_AddBAReq
8968 @return Result of the function call
8969*/
8970
8971WDI_Status
8972WDI_UpdateBeaconParamsReq
8973(
8974 WDI_UpdateBeaconParamsType * pwdiUpdateBeaconParams,
8975 WDI_UpdateBeaconParamsRspCb wdiUpdateBeaconParamsRspCb,
8976 void* pUserData
8977);
8978
8979
8980/**
8981 @brief WDI_SendBeaconParamsReq will be called when the upper MAC wants to
8982 update the beacon template to be transmitted as BT MAP STA/IBSS/Soft AP
8983 Upon the call of this API the WLAN DAL will
8984 pack and send the beacon Template message to the lower
8985 RIVA sub-system if DAL is in state STARTED.
8986
8987 In state BUSY this request will be queued. Request won't
8988 be allowed in any other state.
8989
8990 WDI_SendBeaconParamsReq must have been called.
8991
8992 @param WDI_SendBeaconParamsType: the Update Beacon parameters as specified by
8993 the Device Interface
8994
8995 WDI_SendBeaconParamsRspCb: callback for passing back the response of
8996 the Send Beacon Params operation received from the device
8997
8998 pUserData: user data will be passed back with the
8999 callback
9000
9001 @see WDI_AddBAReq
9002 @return Result of the function call
9003*/
9004
9005WDI_Status
9006WDI_SendBeaconParamsReq
9007(
9008 WDI_SendBeaconParamsType* pwdiSendBeaconParams,
9009 WDI_SendBeaconParamsRspCb wdiSendBeaconParamsRspCb,
9010 void* pUserData
9011);
9012
9013
9014/**
9015 @brief WDI_UpdateProbeRspTemplateReq will be called when the
9016 upper MAC wants to update the probe response template to
9017 be transmitted as Soft AP
9018 Upon the call of this API the WLAN DAL will
9019 pack and send the probe rsp template message to the
9020 lower RIVA sub-system if DAL is in state STARTED.
9021
9022 In state BUSY this request will be queued. Request won't
9023 be allowed in any other state.
9024
9025
9026 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
9027 specified by the Device Interface
9028
9029 wdiSendBeaconParamsRspCb: callback for passing back the
9030 response of the Send Beacon Params operation received
9031 from the device
9032
9033 pUserData: user data will be passed back with the
9034 callback
9035
9036 @see WDI_AddBAReq
9037 @return Result of the function call
9038*/
9039
9040WDI_Status
9041WDI_UpdateProbeRspTemplateReq
9042(
9043 WDI_UpdateProbeRspTemplateParamsType* pwdiUpdateProbeRspParams,
9044 WDI_UpdateProbeRspTemplateRspCb wdiSendBeaconParamsRspCb,
9045 void* pUserData
9046);
9047
Jeff Johnson295189b2012-06-20 16:38:30 -07009048/**
9049 @brief WDI_SetP2PGONOAReq will be called when the
9050 upper MAC wants to send Notice of Absence
9051 Upon the call of this API the WLAN DAL will
9052 pack and send the probe rsp template message to the
9053 lower RIVA sub-system if DAL is in state STARTED.
9054
9055 In state BUSY this request will be queued. Request won't
9056 be allowed in any other state.
9057
9058
9059 @param pwdiUpdateProbeRspParams: the Update Beacon parameters as
9060 specified by the Device Interface
9061
9062 wdiSendBeaconParamsRspCb: callback for passing back the
9063 response of the Send Beacon Params operation received
9064 from the device
9065
9066 pUserData: user data will be passed back with the
9067 callback
9068
9069 @see WDI_AddBAReq
9070 @return Result of the function call
9071*/
9072WDI_Status
9073WDI_SetP2PGONOAReq
9074(
9075 WDI_SetP2PGONOAReqParamsType* pwdiP2PGONOAReqParams,
9076 WDI_SetP2PGONOAReqParamsRspCb wdiP2PGONOAReqParamsRspCb,
9077 void* pUserData
9078);
Jeff Johnson295189b2012-06-20 16:38:30 -07009079
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05309080/**
9081 @brief WDI_SetTDLSLinkEstablishReq will be called when the
9082 upper MAC wants to send TDLS Link Establish Request Parameters
9083 Upon the call of this API the WLAN DAL will
9084 pack and send the TDLS Link Establish Request message to the
9085 lower RIVA sub-system if DAL is in state STARTED.
9086
9087 In state BUSY this request will be queued. Request won't
9088 be allowed in any other state.
9089
9090
9091 @param pwdiTDLSLinkEstablishReqParams: TDLS Peer Parameters
9092 for Link Establishment (Used for PUAPSD , TDLS Off Channel ...)
9093
9094 wdiTDLSLinkEstablishReqRspCb: callback for passing back the
9095 response of the TDLS Link Establish request received
9096 from the device
9097
9098 pUserData: user data will be passed back with the
9099 callback
9100
9101 @see
9102 @return Result of the function call
9103*/
9104WDI_Status
9105WDI_SetTDLSLinkEstablishReq
9106(
9107 WDI_SetTDLSLinkEstablishReqParamsType* pwdiTDLSLinkEstablishReqParams,
9108 WDI_SetTDLSLinkEstablishReqParamsRspCb wdiTDLSLinkEstablishReqRspCb,
9109 void* pUserData
9110);
Jeff Johnson295189b2012-06-20 16:38:30 -07009111
Atul Mittalc0f739f2014-07-31 13:47:47 +05309112WDI_Status
9113WDI_SetTDLSChanSwitchReq
9114(
9115 WDI_SetTDLSChanSwitchReqParamsType* pwdiTDLSChanSwitchReqParams,
9116 WDI_SetTDLSChanSwitchReqParamsRspCb wdiTDLSChanSwitchRReqRspCb,
9117 void* pUserData
9118);
Jeff Johnson295189b2012-06-20 16:38:30 -07009119/*========================================================================
9120
9121 Power Save APIs
9122
9123==========================================================================*/
9124
9125/**
9126 @brief WDI_SetPwrSaveCfgReq will be called when the upper MAC
9127 wants to set the power save related configurations of
9128 the WLAN Device. Upon the call of this API the WLAN DAL
9129 will pack and send a HAL Update CFG request message to
9130 the lower RIVA sub-system if DAL is in state STARTED.
9131
9132 In state BUSY this request will be queued. Request won't
9133 be allowed in any other state.
9134
9135 WDI_Start must have been called.
9136
9137 @param pwdiPowerSaveCfg: the power save cfg parameters as
9138 specified by the Device Interface
9139
9140 wdiSetPwrSaveCfgCb: callback for passing back the
9141 response of the set power save cfg operation received
9142 from the device
9143
9144 pUserData: user data will be passed back with the
9145 callback
9146
9147 @see WDI_Start
9148 @return Result of the function call
9149*/
9150WDI_Status
9151WDI_SetPwrSaveCfgReq
9152(
9153 WDI_UpdateCfgReqParamsType* pwdiPowerSaveCfg,
9154 WDI_SetPwrSaveCfgCb wdiSetPwrSaveCfgCb,
9155 void* pUserData
9156);
9157
9158/**
9159 @brief WDI_EnterImpsReq will be called when the upper MAC to
9160 request the device to get into IMPS power state. Upon
9161 the call of this API the WLAN DAL will send a HAL Enter
9162 IMPS request message to the lower RIVA sub-system if DAL
9163 is in state STARTED.
9164
9165 In state BUSY this request will be queued. Request won't
9166 be allowed in any other state.
9167
9168
9169 @param wdiEnterImpsRspCb: callback for passing back the
9170 response of the Enter IMPS operation received from the
9171 device
9172
9173 pUserData: user data will be passed back with the
9174 callback
9175
9176 @see WDI_Start
9177 @return Result of the function call
9178*/
9179WDI_Status
9180WDI_EnterImpsReq
9181(
Mihir Shetea4306052014-03-25 00:02:54 +05309182 WDI_EnterImpsReqParamsType *pwdiEnterImpsReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009183 WDI_EnterImpsRspCb wdiEnterImpsRspCb,
9184 void* pUserData
9185);
9186
9187/**
9188 @brief WDI_ExitImpsReq will be called when the upper MAC to
9189 request the device to get out of IMPS power state. Upon
9190 the call of this API the WLAN DAL will send a HAL Exit
9191 IMPS request message to the lower RIVA sub-system if DAL
9192 is in state STARTED.
9193
9194 In state BUSY this request will be queued. Request won't
9195 be allowed in any other state.
9196
9197
9198
9199 @param wdiExitImpsRspCb: callback for passing back the response
9200 of the Exit IMPS operation received from the device
9201
9202 pUserData: user data will be passed back with the
9203 callback
9204
9205 @see WDI_Start
9206 @return Result of the function call
9207*/
9208WDI_Status
9209WDI_ExitImpsReq
9210(
Mahesh A Saptasagar329813b2014-12-15 12:16:51 +05309211 WDI_ExitImpsReqParamsType *pwdiExitImpsReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009212 WDI_ExitImpsRspCb wdiExitImpsRspCb,
9213 void* pUserData
9214);
9215
9216/**
9217 @brief WDI_EnterBmpsReq will be called when the upper MAC to
9218 request the device to get into BMPS power state. Upon
9219 the call of this API the WLAN DAL will pack and send a
9220 HAL Enter BMPS request message to the lower RIVA
9221 sub-system if DAL is in state STARTED.
9222
9223 In state BUSY this request will be queued. Request won't
9224 be allowed in any other state.
9225
9226 WDI_PostAssocReq must have been called.
9227
9228 @param pwdiEnterBmpsReqParams: the Enter BMPS parameters as
9229 specified by the Device Interface
9230
9231 wdiEnterBmpsRspCb: callback for passing back the
9232 response of the Enter BMPS operation received from the
9233 device
9234
9235 pUserData: user data will be passed back with the
9236 callback
9237
9238 @see WDI_PostAssocReq
9239 @return Result of the function call
9240*/
9241WDI_Status
9242WDI_EnterBmpsReq
9243(
9244 WDI_EnterBmpsReqParamsType *pwdiEnterBmpsReqParams,
9245 WDI_EnterBmpsRspCb wdiEnterBmpsRspCb,
9246 void* pUserData
9247);
9248
9249/**
9250 @brief WDI_ExitBmpsReq will be called when the upper MAC to
9251 request the device to get out of BMPS power state. Upon
9252 the call of this API the WLAN DAL will pack and send a
9253 HAL Exit BMPS request message to the lower RIVA
9254 sub-system if DAL is in state STARTED.
9255
9256 In state BUSY this request will be queued. Request won't
9257 be allowed in any other state.
9258
9259 WDI_PostAssocReq must have been called.
9260
9261 @param pwdiExitBmpsReqParams: the Exit BMPS parameters as
9262 specified by the Device Interface
9263
9264 wdiExitBmpsRspCb: callback for passing back the response
9265 of the Exit BMPS operation received from the device
9266
9267 pUserData: user data will be passed back with the
9268 callback
9269
9270 @see WDI_PostAssocReq
9271 @return Result of the function call
9272*/
9273WDI_Status
9274WDI_ExitBmpsReq
9275(
9276 WDI_ExitBmpsReqParamsType *pwdiExitBmpsReqParams,
9277 WDI_ExitBmpsRspCb wdiExitBmpsRspCb,
9278 void* pUserData
9279);
9280
9281/**
9282 @brief WDI_EnterUapsdReq will be called when the upper MAC to
9283 request the device to get into UAPSD power state. Upon
9284 the call of this API the WLAN DAL will pack and send a
9285 HAL Enter UAPSD request message to the lower RIVA
9286 sub-system if DAL is in state STARTED.
9287
9288 In state BUSY this request will be queued. Request won't
9289 be allowed in any other state.
9290
9291 WDI_PostAssocReq must have been called.
9292 WDI_SetUapsdAcParamsReq must have been called.
9293
9294 @param pwdiEnterUapsdReqParams: the Enter UAPSD parameters as
9295 specified by the Device Interface
9296
9297 wdiEnterUapsdRspCb: callback for passing back the
9298 response of the Enter UAPSD operation received from the
9299 device
9300
9301 pUserData: user data will be passed back with the
9302 callback
9303
9304 @see WDI_PostAssocReq, WDI_SetUapsdAcParamsReq
9305 @return Result of the function call
9306*/
9307WDI_Status
9308WDI_EnterUapsdReq
9309(
9310 WDI_EnterUapsdReqParamsType *pwdiEnterUapsdReqParams,
9311 WDI_EnterUapsdRspCb wdiEnterUapsdRspCb,
9312 void* pUserData
9313);
9314
9315/**
9316 @brief WDI_ExitUapsdReq will be called when the upper MAC to
9317 request the device to get out of UAPSD power state. Upon
9318 the call of this API the WLAN DAL will send a HAL Exit
9319 UAPSD request message to the lower RIVA sub-system if
9320 DAL is in state STARTED.
9321
9322 In state BUSY this request will be queued. Request won't
9323 be allowed in any other state.
9324
9325 WDI_PostAssocReq must have been called.
9326
9327 @param wdiExitUapsdRspCb: callback for passing back the
9328 response of the Exit UAPSD operation received from the
9329 device
9330
9331 pUserData: user data will be passed back with the
9332 callback
9333
9334 @see WDI_PostAssocReq
9335 @return Result of the function call
9336*/
9337WDI_Status
9338WDI_ExitUapsdReq
9339(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07009340 WDI_ExitUapsdReqParamsType *pwdiExitUapsdReqParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009341 WDI_ExitUapsdRspCb wdiExitUapsdRspCb,
9342 void* pUserData
9343);
9344
9345/**
9346 @brief WDI_UpdateUapsdParamsReq will be called when the upper
9347 MAC wants to set the UAPSD related configurations
9348 of an associated STA (while acting as an AP) to the WLAN
9349 Device. Upon the call of this API the WLAN DAL will pack
9350 and send a HAL Update UAPSD params request message to
9351 the lower RIVA sub-system if DAL is in state STARTED.
9352
9353 In state BUSY this request will be queued. Request won't
9354 be allowed in any other state.
9355
9356 WDI_ConfigBSSReq must have been called.
9357
9358 @param pwdiUpdateUapsdReqParams: the UAPSD parameters
9359 as specified by the Device Interface
9360
9361 wdiUpdateUapsdParamsCb: callback for passing back the
9362 response of the update UAPSD params operation received
9363 from the device
9364
9365 pUserData: user data will be passed back with the
9366 callback
9367
9368 @see WDI_ConfigBSSReq
9369 @return Result of the function call
9370*/
9371WDI_Status
9372WDI_UpdateUapsdParamsReq
9373(
9374 WDI_UpdateUapsdReqParamsType *pwdiUpdateUapsdReqParams,
9375 WDI_UpdateUapsdParamsCb wdiUpdateUapsdParamsCb,
9376 void* pUserData
9377);
9378
9379/**
9380 @brief WDI_SetUapsdAcParamsReq will be called when the upper
9381 MAC wants to set the UAPSD related configurations before
9382 requesting for enter UAPSD power state to the WLAN
9383 Device. Upon the call of this API the WLAN DAL will pack
9384 and send a HAL Set UAPSD params request message to
9385 the lower RIVA sub-system if DAL is in state STARTED.
9386
9387 In state BUSY this request will be queued. Request won't
9388 be allowed in any other state.
9389
9390 WDI_PostAssocReq must have been called.
9391
9392 @param pwdiUapsdInfo: the UAPSD parameters as specified by
9393 the Device Interface
9394
9395 wdiSetUapsdAcParamsCb: callback for passing back the
9396 response of the set UAPSD params operation received from
9397 the device
9398
9399 pUserData: user data will be passed back with the
9400 callback
9401
9402 @see WDI_PostAssocReq
9403 @return Result of the function call
9404*/
9405WDI_Status
9406WDI_SetUapsdAcParamsReq
9407(
9408 WDI_SetUapsdAcParamsReqParamsType* pwdiPowerSaveCfg,
9409 WDI_SetUapsdAcParamsCb wdiSetUapsdAcParamsCb,
9410 void* pUserData
9411);
Siddharth Bhal64246172015-02-27 01:04:37 +05309412/**
9413 @brief WDI_GetFrameLogReq will be called when the upper
9414 MAC wants to initialize frame logging. Upon the call of
9415 this API the WLAN DAL will pack and send a HAL
9416 Frame logging init request message to
9417 the lower RIVA sub-system.
9418
9419 In state BUSY this request will be queued. Request won't
9420 be allowed in any other state.
9421
9422
9423 @param pwdiGetFrameLogReqInfo: the Frame Logging params
9424 as specified by the Device Interface
9425
9426 wdiGetFrameLogReqCb: callback for passing back the
9427 response of the frame logging init operation received
9428 from the device
9429
9430 pUserData: user data will be passed back with the
9431 callback
9432
9433 @return Result of the function call
9434*/
9435WDI_Status
9436WDI_GetFrameLogReq
9437(
9438 WDI_GetFrameLogReqInfoType *pwdiGetFrameLogReqInfo,
9439 WDI_GetFrameLogRspCb wdiGetFrameLogReqCb,
9440 void* pUserData
9441);
Jeff Johnson295189b2012-06-20 16:38:30 -07009442
9443/**
Siddharth Bhalb7c421c2015-02-27 00:26:09 +05309444 @brief WDI_MgmtLoggingInitReq will be called when the upper
9445 MAC wants to initialize frame logging. Upon the call of
9446 this API the WLAN DAL will pack and send a HAL
9447 Frame logging init request message to
9448 the lower RIVA sub-system.
9449
9450 In state BUSY this request will be queued. Request won't
9451 be allowed in any other state.
9452
9453
9454 @param pwdiMgmtLoggingInitReqParams: the Frame Logging params
9455 as specified by the Device Interface
9456
9457 wdiMgmtLoggingInitReqCb: callback for passing back the
9458 response of the frame logging init operation received
9459 from the device
9460
9461 pUserData: user data will be passed back with the
9462 callback
9463
9464 @return Result of the function call
9465*/
9466WDI_Status
9467WDI_MgmtLoggingInitReq
9468(
9469 WDI_MgmtLoggingInitReqInfoType *pwdiMgmtLoggingInitReqInfo,
9470 WDI_MgmtLoggingInitRspCb wdiMgmtLoggingInitReqCb,
9471 void* pUserData
9472);
9473
9474/**
Jeff Johnson295189b2012-06-20 16:38:30 -07009475 @brief WDI_ConfigureRxpFilterReq will be called when the upper
9476 MAC wants to set/reset the RXP filters for received pkts
9477 (MC, BC etc.). Upon the call of this API the WLAN DAL will pack
9478 and send a HAL configure RXP filter request message to
9479 the lower RIVA sub-system.
9480
9481 In state BUSY this request will be queued. Request won't
9482 be allowed in any other state.
9483
9484
9485 @param pwdiConfigureRxpFilterReqParams: the RXP
9486 filter as specified by the Device
9487 Interface
9488
9489 wdiConfigureRxpFilterCb: callback for passing back the
9490 response of the configure RXP filter operation received
9491 from the device
9492
9493 pUserData: user data will be passed back with the
9494 callback
9495
9496 @return Result of the function call
9497*/
9498WDI_Status
9499WDI_ConfigureRxpFilterReq
9500(
9501 WDI_ConfigureRxpFilterReqParamsType *pwdiConfigureRxpFilterReqParams,
9502 WDI_ConfigureRxpFilterCb wdiConfigureRxpFilterCb,
9503 void* pUserData
9504);
9505
9506/**
9507 @brief WDI_SetBeaconFilterReq will be called when the upper MAC
9508 wants to set the beacon filters while in power save.
9509 Upon the call of this API the WLAN DAL will pack and
9510 send a Beacon filter request message to the
9511 lower RIVA sub-system.
9512
9513 In state BUSY this request will be queued. Request won't
9514 be allowed in any other state.
9515
9516
9517 @param pwdiBeaconFilterReqParams: the beacon
9518 filter as specified by the Device
9519 Interface
9520
9521 wdiBeaconFilterCb: callback for passing back the
9522 response of the set beacon filter operation received
9523 from the device
9524
9525 pUserData: user data will be passed back with the
9526 callback
9527
9528 @return Result of the function call
9529*/
9530WDI_Status
9531WDI_SetBeaconFilterReq
9532(
9533 WDI_BeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
9534 WDI_SetBeaconFilterCb wdiBeaconFilterCb,
9535 void* pUserData
9536);
9537
9538/**
9539 @brief WDI_RemBeaconFilterReq will be called when the upper MAC
9540 wants to remove the beacon filter for perticular IE
9541 while in power save. Upon the call of this API the WLAN
9542 DAL will pack and send a remove Beacon filter request
9543 message to the lower RIVA sub-system.
9544
9545 In state BUSY this request will be queued. Request won't
9546 be allowed in any other state.
9547
9548
9549 @param pwdiBeaconFilterReqParams: the beacon
9550 filter as specified by the Device
9551 Interface
9552
9553 wdiBeaconFilterCb: callback for passing back the
9554 response of the remove beacon filter operation received
9555 from the device
9556
9557 pUserData: user data will be passed back with the
9558 callback
9559
9560 @return Result of the function call
9561*/
9562WDI_Status
9563WDI_RemBeaconFilterReq
9564(
9565 WDI_RemBeaconFilterReqParamsType *pwdiBeaconFilterReqParams,
9566 WDI_RemBeaconFilterCb wdiBeaconFilterCb,
9567 void* pUserData
9568);
9569
9570/**
9571 @brief WDI_SetRSSIThresholdsReq will be called when the upper
9572 MAC wants to set the RSSI thresholds related
9573 configurations while in power save. Upon the call of
9574 this API the WLAN DAL will pack and send a HAL Set RSSI
9575 thresholds request message to the lower RIVA
9576 sub-system if DAL is in state STARTED.
9577
9578 In state BUSY this request will be queued. Request won't
9579 be allowed in any other state.
9580
9581 WDI_PostAssocReq must have been called.
9582
9583 @param pwdiUapsdInfo: the UAPSD parameters as specified by
9584 the Device Interface
9585
9586 wdiSetUapsdAcParamsCb: callback for passing back the
9587 response of the set UAPSD params operation received from
9588 the device
9589
9590 pUserData: user data will be passed back with the
9591 callback
9592
9593 @see WDI_PostAssocReq
9594 @return Result of the function call
9595*/
9596WDI_Status
9597WDI_SetRSSIThresholdsReq
9598(
9599 WDI_SetRSSIThresholdsReqParamsType* pwdiRSSIThresholdsParams,
9600 WDI_SetRSSIThresholdsCb wdiSetRSSIThresholdsCb,
9601 void* pUserData
9602);
9603
9604/**
9605 @brief WDI_HostOffloadReq will be called when the upper MAC
9606 wants to set the filter to minimize unnecessary host
9607 wakeup due to broadcast traffic while in power save.
9608 Upon the call of this API the WLAN DAL will pack and
9609 send a HAL host offload request message to the
9610 lower RIVA sub-system if DAL is in state STARTED.
9611
9612 In state BUSY this request will be queued. Request won't
9613 be allowed in any other state.
9614
9615 WDI_PostAssocReq must have been called.
9616
9617 @param pwdiHostOffloadParams: the host offload as specified
9618 by the Device Interface
9619
9620 wdiHostOffloadCb: callback for passing back the response
9621 of the host offload operation received from the
9622 device
9623
9624 pUserData: user data will be passed back with the
9625 callback
9626
9627 @see WDI_PostAssocReq
9628 @return Result of the function call
9629*/
9630WDI_Status
9631WDI_HostOffloadReq
9632(
9633 WDI_HostOffloadReqParamsType* pwdiHostOffloadParams,
9634 WDI_HostOffloadCb wdiHostOffloadCb,
9635 void* pUserData
9636);
9637
9638/**
9639 @brief WDI_KeepAliveReq will be called when the upper MAC
9640 wants to set the filter to send NULL or unsolicited ARP responses
9641 and minimize unnecessary host wakeups due to while in power save.
9642 Upon the call of this API the WLAN DAL will pack and
9643 send a HAL Keep Alive request message to the
9644 lower RIVA sub-system if DAL is in state STARTED.
9645
9646 In state BUSY this request will be queued. Request won't
9647 be allowed in any other state.
9648
9649 WDI_PostAssocReq must have been called.
9650
9651 @param pwdiKeepAliveParams: the Keep Alive as specified
9652 by the Device Interface
9653
9654 wdiKeepAliveCb: callback for passing back the response
9655 of the Keep Alive operation received from the
9656 device
9657
9658 pUserData: user data will be passed back with the
9659 callback
9660
9661 @see WDI_PostAssocReq
9662 @return Result of the function call
9663*/
9664WDI_Status
9665WDI_KeepAliveReq
9666(
9667 WDI_KeepAliveReqParamsType* pwdiKeepAliveParams,
9668 WDI_KeepAliveCb wdiKeepAliveCb,
9669 void* pUserData
9670);
9671
9672/**
9673 @brief WDI_WowlAddBcPtrnReq will be called when the upper MAC
9674 wants to set the Wowl Bcast ptrn to minimize unnecessary
9675 host wakeup due to broadcast traffic while in power
9676 save. Upon the call of this API the WLAN DAL will pack
9677 and send a HAL Wowl Bcast ptrn request message to the
9678 lower RIVA sub-system if DAL is in state STARTED.
9679
9680 In state BUSY this request will be queued. Request won't
9681 be allowed in any other state.
9682
9683 WDI_PostAssocReq must have been called.
9684
9685 @param pwdiWowlAddBcPtrnParams: the Wowl bcast ptrn as
9686 specified by the Device Interface
9687
9688 wdiWowlAddBcPtrnCb: callback for passing back the
9689 response of the add Wowl bcast ptrn operation received
9690 from the device
9691
9692 pUserData: user data will be passed back with the
9693 callback
9694
9695 @see WDI_PostAssocReq
9696 @return Result of the function call
9697*/
9698WDI_Status
9699WDI_WowlAddBcPtrnReq
9700(
9701 WDI_WowlAddBcPtrnReqParamsType* pwdiWowlAddBcPtrnParams,
9702 WDI_WowlAddBcPtrnCb wdiWowlAddBcPtrnCb,
9703 void* pUserData
9704);
9705
9706/**
9707 @brief WDI_WowlDelBcPtrnReq will be called when the upper MAC
9708 wants to clear the Wowl Bcast ptrn. Upon the call of
9709 this API the WLAN DAL will pack and send a HAL delete
9710 Wowl Bcast ptrn request message to the lower RIVA
9711 sub-system if DAL is in state STARTED.
9712
9713 In state BUSY this request will be queued. Request won't
9714 be allowed in any other state.
9715
9716 WDI_WowlAddBcPtrnReq must have been called.
9717
9718 @param pwdiWowlDelBcPtrnParams: the Wowl bcast ptrn as
9719 specified by the Device Interface
9720
9721 wdiWowlDelBcPtrnCb: callback for passing back the
9722 response of the del Wowl bcast ptrn operation received
9723 from the device
9724
9725 pUserData: user data will be passed back with the
9726 callback
9727
9728 @see WDI_WowlAddBcPtrnReq
9729 @return Result of the function call
9730*/
9731WDI_Status
9732WDI_WowlDelBcPtrnReq
9733(
9734 WDI_WowlDelBcPtrnReqParamsType* pwdiWowlDelBcPtrnParams,
9735 WDI_WowlDelBcPtrnCb wdiWowlDelBcPtrnCb,
9736 void* pUserData
9737);
9738
9739/**
9740 @brief WDI_WowlEnterReq will be called when the upper MAC
9741 wants to enter the Wowl state to minimize unnecessary
9742 host wakeup while in power save. Upon the call of this
9743 API the WLAN DAL will pack and send a HAL Wowl enter
9744 request message to the lower RIVA sub-system if DAL is
9745 in state STARTED.
9746
9747 In state BUSY this request will be queued. Request won't
9748 be allowed in any other state.
9749
9750 WDI_PostAssocReq must have been called.
9751
9752 @param pwdiWowlEnterReqParams: the Wowl enter info as
9753 specified by the Device Interface
9754
9755 wdiWowlEnterReqCb: callback for passing back the
9756 response of the enter Wowl operation received from the
9757 device
9758
9759 pUserData: user data will be passed back with the
9760 callback
9761
9762 @see WDI_PostAssocReq
9763 @return Result of the function call
9764*/
9765WDI_Status
9766WDI_WowlEnterReq
9767(
9768 WDI_WowlEnterReqParamsType* pwdiWowlEnterParams,
9769 WDI_WowlEnterReqCb wdiWowlEnterCb,
9770 void* pUserData
9771);
9772
9773/**
9774 @brief WDI_WowlExitReq will be called when the upper MAC
9775 wants to exit the Wowl state. Upon the call of this API
9776 the WLAN DAL will pack and send a HAL Wowl exit request
9777 message to the lower RIVA sub-system if DAL is in state
9778 STARTED.
9779
9780 In state BUSY this request will be queued. Request won't
9781 be allowed in any other state.
9782
9783 WDI_WowlEnterReq must have been called.
9784
9785 @param pwdiWowlExitReqParams: the Wowl exit info as
9786 specified by the Device Interface
9787
9788 wdiWowlExitReqCb: callback for passing back the response
9789 of the exit Wowl operation received from the device
9790
9791 pUserData: user data will be passed back with the
9792 callback
9793
9794 @see WDI_WowlEnterReq
9795 @return Result of the function call
9796*/
9797WDI_Status
9798WDI_WowlExitReq
9799(
Madan Mohan Koyyalamudi96dd30d2012-10-05 17:24:51 -07009800 WDI_WowlExitReqParamsType* pwdiWowlExitParams,
Jeff Johnson295189b2012-06-20 16:38:30 -07009801 WDI_WowlExitReqCb wdiWowlExitCb,
9802 void* pUserData
9803);
9804
9805/**
9806 @brief WDI_ConfigureAppsCpuWakeupStateReq will be called when
9807 the upper MAC wants to dynamically adjusts the listen
9808 interval based on the WLAN/MSM activity. Upon the call
9809 of this API the WLAN DAL will pack and send a HAL
9810 configure Apps Cpu Wakeup State request message to the
9811 lower RIVA sub-system.
9812
9813 In state BUSY this request will be queued. Request won't
9814 be allowed in any other state.
9815
9816
9817 @param pwdiConfigureAppsCpuWakeupStateReqParams: the
9818 Apps Cpu Wakeup State as specified by the
9819 Device Interface
9820
9821 wdiConfigureAppsCpuWakeupStateCb: callback for passing
9822 back the response of the configure Apps Cpu Wakeup State
9823 operation received from the device
9824
9825 pUserData: user data will be passed back with the
9826 callback
9827
9828 @return Result of the function call
9829*/
9830WDI_Status
9831WDI_ConfigureAppsCpuWakeupStateReq
9832(
9833 WDI_ConfigureAppsCpuWakeupStateReqParamsType *pwdiConfigureAppsCpuWakeupStateReqParams,
9834 WDI_ConfigureAppsCpuWakeupStateCb wdiConfigureAppsCpuWakeupStateCb,
9835 void* pUserData
9836);
9837/**
9838 @brief WDI_FlushAcReq will be called when the upper MAC wants
9839 to to perform a flush operation on a given AC. Upon the
9840 call of this API the WLAN DAL will pack and send a HAL
9841 Flush AC request message to the lower RIVA sub-system if
9842 DAL is in state STARTED.
9843
9844 In state BUSY this request will be queued. Request won't
9845 be allowed in any other state.
9846
9847
9848 @param pwdiFlushAcReqParams: the Flush AC parameters as
9849 specified by the Device Interface
9850
9851 wdiFlushAcRspCb: callback for passing back the response
9852 of the Flush AC operation received from the device
9853
9854 pUserData: user data will be passed back with the
9855 callback
9856
9857 @return Result of the function call
9858*/
9859WDI_Status
9860WDI_FlushAcReq
9861(
9862 WDI_FlushAcReqParamsType* pwdiFlushAcReqParams,
9863 WDI_FlushAcRspCb wdiFlushAcRspCb,
9864 void* pUserData
9865);
9866
9867/**
9868 @brief WDI_BtAmpEventReq will be called when the upper MAC
9869 wants to notify the lower mac on a BT AMP event. This is
9870 to inform BTC-SLM that some BT AMP event occurred. Upon
9871 the call of this API the WLAN DAL will pack and send a
9872 HAL BT AMP event request message to the lower RIVA
9873 sub-system if DAL is in state STARTED.
9874
9875 In state BUSY this request will be queued. Request won't
9876 be allowed in any other state.
9877
9878
9879 @param wdiBtAmpEventReqParams: the BT AMP event parameters as
9880 specified by the Device Interface
9881
9882 wdiBtAmpEventRspCb: callback for passing back the
9883 response of the BT AMP event operation received from the
9884 device
9885
9886 pUserData: user data will be passed back with the
9887 callback
9888
9889 @return Result of the function call
9890*/
9891WDI_Status
9892WDI_BtAmpEventReq
9893(
9894 WDI_BtAmpEventParamsType* pwdiBtAmpEventReqParams,
9895 WDI_BtAmpEventRspCb wdiBtAmpEventRspCb,
9896 void* pUserData
9897);
9898
Jeff Johnsone7245742012-09-05 17:12:55 -07009899#ifdef FEATURE_OEM_DATA_SUPPORT
9900/**
9901 @brief WDI_Start oem data Req will be called when the upper MAC
9902 wants to notify the lower mac on a oem data Req event.Upon
9903 the call of this API the WLAN DAL will pack and send a
9904 HAL OEM Data Req event request message to the lower RIVA
9905 sub-system if DAL is in state STARTED.
9906
9907 In state BUSY this request will be queued. Request won't
9908 be allowed in any other state.
9909
9910
9911 @param pWdiOemDataReqParams: the oem data req parameters as
9912 specified by the Device Interface
9913
9914 wdiStartOemDataRspCb: callback for passing back the
9915 response of the Oem Data Req received from the
9916 device
9917
9918 pUserData: user data will be passed back with the
9919 callback
9920
9921 @return Result of the function call
9922*/
9923WDI_Status
9924WDI_StartOemDataReq
9925(
9926 WDI_oemDataReqParamsType* pWdiOemDataReqParams,
9927 WDI_oemDataRspCb wdiOemDataRspCb,
9928 void* pUserData
9929);
9930#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07009931
9932/*========================================================================
9933
9934 CONTROL APIs
9935
9936==========================================================================*/
9937/**
9938 @brief WDI_SwitchChReq will be called when the upper MAC wants
9939 the WLAN HW to change the current channel of operation.
9940 Upon the call of this API the WLAN DAL will pack and
9941 send a HAL Start request message to the lower RIVA
9942 sub-system if DAL is in state STARTED.
9943
9944 In state BUSY this request will be queued. Request won't
9945 be allowed in any other state.
9946
9947 WDI_Start must have been called.
9948
9949 @param wdiSwitchChReqParams: the switch ch parameters as
9950 specified by the Device Interface
9951
9952 wdiSwitchChRspCb: callback for passing back the response
9953 of the switch ch operation received from the device
9954
9955 pUserData: user data will be passed back with the
9956 callback
9957
9958 @see WDI_Start
9959 @return Result of the function call
9960*/
9961WDI_Status
9962WDI_SwitchChReq
9963(
9964 WDI_SwitchChReqParamsType* pwdiSwitchChReqParams,
9965 WDI_SwitchChRspCb wdiSwitchChRspCb,
9966 void* pUserData
9967);
9968
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08009969/**
Kalikinkar dhara1e83b772014-02-06 12:59:22 -08009970 @brief WDI_SwitchChReq_V1 is similar to WDI_SwitchChReq except
9971 it also send type source for the channel change.
9972 WDI_Start must have been called.
9973
9974 @param wdiSwitchChReqParams: the switch ch parameters as
9975 specified by the Device Interface
9976
9977 wdiSwitchChRspCb: callback for passing back the response
9978 of the switch ch operation received from the device
9979
9980 pUserData: user data will be passed back with the
9981 callback
9982
9983 @see WDI_Start
9984 @return Result of the function call
9985*/
9986
9987WDI_Status
9988WDI_SwitchChReq_V1
9989(
9990 WDI_SwitchChReqParamsType_V1* pwdiSwitchChReqParams,
9991 WDI_SwitchChRspCb_V1 wdiSwitchChRspCb,
9992 void* pUserData
9993);
9994
9995/**
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08009996 @brief WDI_UpdateChannelReq will be called when the upper MAC
9997 wants to update the channel list on change in country code.
Manjunathappa Prakash86f78ca2014-02-10 18:09:15 -08009998 In state BUSY this request will be queued. Request won't
9999 be allowed in any other state.
10000
10001 WDI_UpdateChannelReq must have been called.
10002
10003 @param wdiUpdateChannelReqParams: the updated channel parameters
10004 as specified by the Device Interface
10005
10006 wdiUpdateChannelRspCb: callback for passing back the
10007 response of the update channel operation received from
10008 the device
10009
10010 pUserData: user data will be passed back with the
10011 callback
10012
10013 @return Result of the function call
10014*/
10015WDI_Status
10016WDI_UpdateChannelReq
10017(
10018 WDI_UpdateChReqParamsType *pwdiUpdateChannelReqParams,
10019 WDI_UpdateChannelRspCb wdiUpdateChannelRspCb,
10020 void* pUserData
10021);
Jeff Johnson295189b2012-06-20 16:38:30 -070010022
10023/**
10024 @brief WDI_ConfigSTAReq will be called when the upper MAC
10025 wishes to add or update a STA in HW. Upon the call of
10026 this API the WLAN DAL will pack and send a HAL Start
10027 message request message to the lower RIVA sub-system if
10028 DAL is in state STARTED.
10029
10030 In state BUSY this request will be queued. Request won't
10031 be allowed in any other state.
10032
10033 WDI_Start must have been called.
10034
10035 @param wdiConfigSTAReqParams: the config STA parameters as
10036 specified by the Device Interface
10037
10038 wdiConfigSTARspCb: callback for passing back the
10039 response of the config STA operation received from the
10040 device
10041
10042 pUserData: user data will be passed back with the
10043 callback
10044
10045 @see WDI_Start
10046 @return Result of the function call
10047*/
10048WDI_Status
10049WDI_ConfigSTAReq
10050(
10051 WDI_ConfigSTAReqParamsType* pwdiConfigSTAReqParams,
10052 WDI_ConfigSTARspCb wdiConfigSTARspCb,
10053 void* pUserData
10054);
10055
10056/**
10057 @brief WDI_SetLinkStateReq will be called when the upper MAC
10058 wants to change the state of an ongoing link. Upon the
10059 call of this API the WLAN DAL will pack and send a HAL
10060 Start message request message to the lower RIVA
10061 sub-system if DAL is in state STARTED.
10062
10063 In state BUSY this request will be queued. Request won't
10064 be allowed in any other state.
10065
10066 WDI_JoinReq must have been called.
10067
10068 @param wdiSetLinkStateReqParams: the set link state parameters
10069 as specified by the Device Interface
10070
10071 wdiSetLinkStateRspCb: callback for passing back the
10072 response of the set link state operation received from
10073 the device
10074
10075 pUserData: user data will be passed back with the
10076 callback
10077
10078 @see WDI_JoinStartReq
10079 @return Result of the function call
10080*/
10081WDI_Status
10082WDI_SetLinkStateReq
10083(
10084 WDI_SetLinkReqParamsType* pwdiSetLinkStateReqParams,
10085 WDI_SetLinkStateRspCb wdiSetLinkStateRspCb,
10086 void* pUserData
10087);
10088
10089
10090/**
10091 @brief WDI_GetStatsReq will be called when the upper MAC wants
10092 to get statistics (MIB counters) from the device. Upon
10093 the call of this API the WLAN DAL will pack and send a
10094 HAL Start request message to the lower RIVA sub-system
10095 if DAL is in state STARTED.
10096
10097 In state BUSY this request will be queued. Request won't
10098 be allowed in any other state.
10099
10100 WDI_Start must have been called.
10101
10102 @param wdiGetStatsReqParams: the stats parameters to get as
10103 specified by the Device Interface
10104
10105 wdiGetStatsRspCb: callback for passing back the response
10106 of the get stats operation received from the device
10107
10108 pUserData: user data will be passed back with the
10109 callback
10110
10111 @see WDI_Start
10112 @return Result of the function call
10113*/
10114WDI_Status
10115WDI_GetStatsReq
10116(
10117 WDI_GetStatsReqParamsType* pwdiGetStatsReqParams,
10118 WDI_GetStatsRspCb wdiGetStatsRspCb,
10119 void* pUserData
10120);
10121
Varun Reddy Yeturu5d5e2c62014-02-27 13:31:29 -080010122#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -080010123/**
10124 @brief WDI_GetRoamRssiReq will be called when the upper MAC wants
10125 to get roam rssi from the device. Upon
10126 the call of this API the WLAN DAL will pack and send a
10127 HAL Start request message to the lower RIVA sub-system
10128 if DAL is in state STARTED.
10129
10130 In state BUSY this request will be queued. Request won't
10131 be allowed in any other state.
10132
10133 WDI_Start must have been called.
10134
10135 @param wdiGetRoamRssiReqParams: the stats parameters to get as
10136 specified by the Device Interface
10137
10138 wdiGetRoamRssispCb: callback for passing back the response
10139 of the get stats operation received from the device
10140
10141 pUserData: user data will be passed back with the
10142 callback
10143
10144 @see WDI_Start
10145 @return Result of the function call
10146*/
10147WDI_Status
10148WDI_GetRoamRssiReq
10149(
10150 WDI_GetRoamRssiReqParamsType* pwdiGetRoamRssiReqParams,
10151 WDI_GetRoamRssiRspCb wdiGetRoamRssiRspCb,
10152 void* pUserData
10153);
10154#endif
Jeff Johnson295189b2012-06-20 16:38:30 -070010155
10156/**
10157 @brief WDI_UpdateCfgReq will be called when the upper MAC when
10158 it wishes to change the configuration of the WLAN
10159 Device. Upon the call of this API the WLAN DAL will pack
10160 and send a HAL Update CFG request message to the lower
10161 RIVA sub-system if DAL is in state STARTED.
10162
10163 In state BUSY this request will be queued. Request won't
10164 be allowed in any other state.
10165
10166 WDI_Start must have been called.
10167
10168 @param wdiUpdateCfgReqParams: the update cfg parameters as
10169 specified by the Device Interface
10170
10171 wdiUpdateCfgsRspCb: callback for passing back the
10172 response of the update cfg operation received from the
10173 device
10174
10175 pUserData: user data will be passed back with the
10176 callback
10177
10178 @see WDI_Start
10179 @return Result of the function call
10180*/
10181WDI_Status
10182WDI_UpdateCfgReq
10183(
10184 WDI_UpdateCfgReqParamsType* pwdiUpdateCfgReqParams,
10185 WDI_UpdateCfgRspCb wdiUpdateCfgsRspCb,
10186 void* pUserData
10187);
10188
10189/**
10190 @brief WDI_NvDownloadReq will be called by the UMAC to dowload the NV blob
10191 to the NV memory.
10192
10193 @param wdiNvDownloadReqParams: the NV Download parameters as specified by
10194 the Device Interface
10195
10196 wdiNvDownloadRspCb: callback for passing back the response of
10197 the NV Download operation received from the device
10198
10199 pUserData: user data will be passed back with the
10200 callback
10201
10202 @see WDI_PostAssocReq
10203 @return Result of the function call
10204*/
10205WDI_Status
10206WDI_NvDownloadReq
10207(
10208 WDI_NvDownloadReqParamsType* pwdiNvDownloadReqParams,
10209 WDI_NvDownloadRspCb wdiNvDownloadRspCb,
10210 void* pUserData
10211);
10212/**
10213 @brief WDI_AddBAReq will be called when the upper MAC has setup
10214 successfully a BA session and needs to notify the HW for
10215 the appropriate settings to take place. Upon the call of
10216 this API the WLAN DAL will pack and send a HAL Add BA
10217 request message to the lower RIVA sub-system if DAL is
10218 in state STARTED.
10219
10220 In state BUSY this request will be queued. Request won't
10221 be allowed in any other state.
10222
10223 WDI_PostAssocReq must have been called.
10224
10225 @param wdiAddBAReqParams: the add BA parameters as specified by
10226 the Device Interface
10227
10228 wdiAddBARspCb: callback for passing back the response of
10229 the add BA operation received from the device
10230
10231 pUserData: user data will be passed back with the
10232 callback
10233
10234 @see WDI_PostAssocReq
10235 @return Result of the function call
10236*/
10237WDI_Status
10238WDI_AddBAReq
10239(
10240 WDI_AddBAReqParamsType* pwdiAddBAReqParams,
10241 WDI_AddBARspCb wdiAddBARspCb,
10242 void* pUserData
10243);
10244
10245/**
10246 @brief WDI_TriggerBAReq will be called when the upper MAC has setup
10247 successfully a BA session and needs to notify the HW for
10248 the appropriate settings to take place. Upon the call of
10249 this API the WLAN DAL will pack and send a HAL Add BA
10250 request message to the lower RIVA sub-system if DAL is
10251 in state STARTED.
10252
10253 In state BUSY this request will be queued. Request won't
10254 be allowed in any other state.
10255
10256 WDI_PostAssocReq must have been called.
10257
10258 @param wdiAddBAReqParams: the add BA parameters as specified by
10259 the Device Interface
10260
10261 wdiAddBARspCb: callback for passing back the response of
10262 the add BA operation received from the device
10263
10264 pUserData: user data will be passed back with the
10265 callback
10266
10267 @see WDI_PostAssocReq
10268 @return Result of the function call
10269*/
10270WDI_Status
10271WDI_TriggerBAReq
10272(
10273 WDI_TriggerBAReqParamsType* pwdiTriggerBAReqParams,
10274 WDI_TriggerBARspCb wdiTriggerBARspCb,
10275 void* pUserData
10276);
10277
10278
10279/**
10280 @brief WDI_IsHwFrameTxTranslationCapable checks to see if HW
10281 frame xtl is enabled for a particular STA.
10282
10283 WDI_PostAssocReq must have been called.
10284
10285 @param uSTAIdx: STA index
10286
10287 @see WDI_PostAssocReq
10288 @return Result of the function call
10289*/
10290wpt_boolean WDI_IsHwFrameTxTranslationCapable
10291(
10292 wpt_uint8 uSTAIdx
10293);
10294
Katya Nigam6201c3e2014-05-27 17:51:42 +053010295
10296/**
10297 @brief WDI_IsSelfSTA - check if staid is self sta index
10298
10299 @param pWDICtx: pointer to the WLAN DAL context
10300 ucSTAIdx: station index
10301
10302 @return Result of the function call
10303*/
10304
10305wpt_boolean
10306WDI_IsSelfSTA
10307(
10308 void* pWDICtx,
10309 wpt_uint8 ucSTAIdx
10310);
10311
10312
Jeff Johnson295189b2012-06-20 16:38:30 -070010313#ifdef WLAN_FEATURE_VOWIFI_11R
10314/**
10315 @brief WDI_AggrAddTSReq will be called when the upper MAC to inform
10316 the device of a successful add TSpec negotiation for 11r. HW
10317 needs to receive the TSpec Info from the UMAC in order
10318 to configure properly the QoS data traffic. Upon the
10319 call of this API the WLAN DAL will pack and send a HAL
10320 Aggregated Add TS request message to the lower RIVA sub-system if
10321 DAL is in state STARTED.
10322
10323 In state BUSY this request will be queued. Request won't
10324 be allowed in any other state.
10325
10326 WDI_PostAssocReq must have been called.
10327
10328 @param wdiAggrAddTsReqParams: the add TS parameters as specified by
10329 the Device Interface
10330
10331 wdiAggrAddTsRspCb: callback for passing back the response of
10332 the add TS operation received from the device
10333
10334 pUserData: user data will be passed back with the
10335 callback
10336
10337 @see WDI_PostAssocReq
10338 @return Result of the function call
10339*/
10340WDI_Status
10341WDI_AggrAddTSReq
10342(
10343 WDI_AggrAddTSReqParamsType* pwdiAddTsReqParams,
10344 WDI_AggrAddTsRspCb wdiAggrAddTsRspCb,
10345 void* pUserData
10346);
10347#endif /* WLAN_FEATURE_VOWIFI_11R */
10348/**
10349 @brief WDI_STATableInit - Initializes the STA tables.
10350 Allocates the necesary memory.
10351
10352
10353 @param pWDICtx: pointer to the WLAN DAL context
10354
10355 @see
10356 @return Result of the function call
10357*/
10358
10359WDI_Status WDI_StubRunTest
10360(
10361 wpt_uint8 ucTestNo
10362);
10363
Jeff Johnson295189b2012-06-20 16:38:30 -070010364/**
10365 @brief WDI_FTMCommandReq -
10366 Route FTMRequest Command to HAL
10367
10368 @param ftmCommandReq: FTM request command body
10369 @param ftmCommandRspCb: Response CB
10370 @param pUserData: User data will be included with CB
10371
10372 @return Result of the function call
10373*/
10374WDI_Status WDI_FTMCommandReq
10375(
10376 WDI_FTMCommandReqType *ftmCommandReq,
10377 WDI_FTMCommandRspCb ftmCommandRspCb,
10378 void *pUserData
10379);
Jeff Johnson295189b2012-06-20 16:38:30 -070010380
10381/**
10382 @brief WDI_HostResumeReq will be called
10383
10384 In state BUSY this request will be queued. Request won't
10385 be allowed in any other state.
10386
10387
10388 @param pwdiResumeReqParams: as specified by
10389 the Device Interface
10390
10391 wdiResumeReqRspCb: callback for passing back the response of
10392 the Resume Req received from the device
10393
10394 pUserData: user data will be passed back with the
10395 callback
10396
10397 @see WDI_PostAssocReq
10398 @return Result of the function call
10399*/
10400WDI_Status
10401WDI_HostResumeReq
10402(
10403 WDI_ResumeParamsType* pwdiResumeReqParams,
10404 WDI_HostResumeEventRspCb wdiResumeReqRspCb,
10405 void* pUserData
10406);
10407
10408/**
10409 @brief WDI_GetAvailableResCount - Function to get the available resource
10410 for data and managemnt frames.
10411
10412 @param pContext: pointer to the WDI context
10413 @param wdiResPool: type of resource pool requesting
10414 @see
10415 @return Result of the function call
10416*/
10417
10418wpt_uint32 WDI_GetAvailableResCount
10419(
10420 void *pContext,
10421 WDI_ResPoolType wdiResPool
10422);
10423
10424/**
10425 @brief WDI_SetAddSTASelfReq will be called when the
10426 UMAC wanted to add self STA while opening any new session
10427 In state BUSY this request will be queued. Request won't
10428 be allowed in any other state.
10429
10430
10431 @param pwdiAddSTASelfParams: the add self sta parameters as
10432 specified by the Device Interface
10433
10434 pUserData: user data will be passed back with the
10435 callback
10436
10437 @see
10438 @return Result of the function call
10439*/
10440WDI_Status
10441WDI_AddSTASelfReq
10442(
10443 WDI_AddSTASelfReqParamsType* pwdiAddSTASelfReqParams,
10444 WDI_AddSTASelfParamsRspCb wdiAddSTASelfReqParamsRspCb,
10445 void* pUserData
10446);
10447
10448
10449/**
10450 @brief WDI_DelSTASelfReq will be called .
10451
10452 @param WDI_DelSTASelfReqParamsType
10453
10454 WDI_DelSTASelfRspCb: callback for passing back the
10455 response of the del sta self operation received from the
10456 device
10457
10458 pUserData: user data will be passed back with the
10459 callback
10460
10461 @see WDI_PostAssocReq
10462 @return Result of the function call
10463*/
10464WDI_Status
10465WDI_DelSTASelfReq
10466(
10467 WDI_DelSTASelfReqParamsType* pwdiDelStaSelfParams,
10468 WDI_DelSTASelfRspCb wdiDelStaSelfRspCb,
10469 void* pUserData
10470);
10471
10472/**
10473 @brief WDI_HostSuspendInd
10474
10475 Suspend Indication from the upper layer will be sent
10476 down to HAL
10477
10478 @param WDI_SuspendParamsType
10479
10480 @see
10481
10482 @return Status of the request
10483*/
10484WDI_Status
10485WDI_HostSuspendInd
10486(
10487 WDI_SuspendParamsType* pwdiSuspendIndParams
10488);
10489
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -080010490/**
10491 @brief WDI_TrafficStatsInd
10492
10493 Traffic Stats from the upper layer will be sent
10494 down to HAL
10495
10496 @param WDI_TrafficStatsIndType
10497
10498 @see
10499
10500 @return Status of the request
10501*/
10502WDI_Status
10503WDI_TrafficStatsInd
10504(
10505 WDI_TrafficStatsIndType *pWdiTrafficStatsIndParams
10506);
10507
Chet Lanctot186b5732013-03-18 10:26:30 -070010508#ifdef WLAN_FEATURE_11W
10509/**
10510 @brief WDI_ExcludeUnencryptedInd
10511 Register with HAL to receive/drop unencrypted frames
10512
10513 @param WDI_ExcludeUnencryptIndType
10514
10515 @see
10516
10517 @return Status of the request
10518*/
10519WDI_Status
10520WDI_ExcludeUnencryptedInd
10521(
10522 WDI_ExcludeUnencryptIndType *pWdiExcUnencParams
10523);
10524#endif
10525
Yue Mab9c86f42013-08-14 15:59:08 -070010526/**
10527 @brief WDI_AddPeriodicTxPtrnInd
10528
10529 @param WDI_AddPeriodicTxPtrnParamsType
10530
10531 @see
10532
10533 @return Status of the request
10534*/
10535WDI_Status
10536WDI_AddPeriodicTxPtrnInd
10537(
10538 WDI_AddPeriodicTxPtrnParamsType *addPeriodicTxPtrnParams
10539);
10540
10541/**
10542 @brief WDI_DelPeriodicTxPtrnInd
10543
10544 @param WDI_DelPeriodicTxPtrnParamsType
10545
10546 @see
10547
10548 @return Status of the request
10549*/
10550WDI_Status
10551WDI_DelPeriodicTxPtrnInd
10552(
10553 WDI_DelPeriodicTxPtrnParamsType *delPeriodicTxPtrnParams
10554);
10555
Jeff Johnson295189b2012-06-20 16:38:30 -070010556#ifdef FEATURE_WLAN_SCAN_PNO
10557/**
10558 @brief WDI_SetPreferredNetworkList
10559
10560 @param pwdiPNOScanReqParams: the Set PNO as specified
10561 by the Device Interface
10562
10563 wdiPNOScanCb: callback for passing back the response
10564 of the Set PNO operation received from the
10565 device
10566
10567 pUserData: user data will be passed back with the
10568 callback
10569
10570 @see WDI_PostAssocReq
10571 @return Result of the function call
10572*/
10573WDI_Status
10574WDI_SetPreferredNetworkReq
10575(
10576 WDI_PNOScanReqParamsType* pwdiPNOScanReqParams,
10577 WDI_PNOScanCb wdiPNOScanCb,
10578 void* pUserData
10579);
10580
10581/**
10582 @brief WDI_SetRssiFilterReq
10583
10584 @param pwdiRssiFilterReqParams: the Set RSSI Filter as
10585 specified by the Device Interface
10586
10587 wdiRssiFilterCb: callback for passing back the response
10588 of the Set RSSI Filter operation received from the
10589 device
10590
10591 pUserData: user data will be passed back with the
10592 callback
10593
10594 @see WDI_PostAssocReq
10595 @return Result of the function call
10596*/
10597WDI_Status
10598WDI_SetRssiFilterReq
10599(
10600 WDI_SetRssiFilterReqParamsType* pwdiRssiFilterReqParams,
10601 WDI_RssiFilterCb wdiRssiFilterCb,
10602 void* pUserData
10603);
10604
10605/**
10606 @brief WDI_UpdateScanParams
10607
10608 @param pwdiUpdateScanParamsInfoType: the Update Scan Params as specified
10609 by the Device Interface
10610
10611 wdiUpdateScanParamsCb: callback for passing back the response
10612 of the Set PNO operation received from the
10613 device
10614
10615 pUserData: user data will be passed back with the
10616 callback
10617
10618 @see WDI_PostAssocReq
10619 @return Result of the function call
10620*/
10621WDI_Status
10622WDI_UpdateScanParamsReq
10623(
10624 WDI_UpdateScanParamsInfoType* pwdiUpdateScanParamsInfoType,
10625 WDI_UpdateScanParamsCb wdiUpdateScanParamsCb,
10626 void* pUserData
10627);
10628#endif // FEATURE_WLAN_SCAN_PNO
10629
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010630#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
10631/**
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010632 @brief WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010633
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010634 @param pwdiRoamScanOffloadReqParams: Start Roam Candidate Lookup Req as specified
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010635 by the Device Interface
10636
10637 wdiRoamOffloadScanCb: callback for passing back the response
10638 of the Start Roam Candidate Lookup operation received from the
10639 device
10640
10641 pUserData: user data will be passed back with the
10642 callback
10643
10644 @return Result of the function call
10645*/
10646WDI_Status
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010647WDI_RoamScanOffloadReq
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010648(
Varun Reddy Yeturu920df212013-05-22 08:07:23 -070010649 WDI_RoamScanOffloadReqParamsType *pwdiRoamScanOffloadReqParams,
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -070010650 WDI_RoamOffloadScanCb wdiRoamOffloadScancb,
10651 void* pUserData
10652);
10653#endif
10654
Jeff Johnson295189b2012-06-20 16:38:30 -070010655/**
10656 @brief WDI_SetTxPerTrackingReq will be called when the upper MAC
10657 wants to set the Tx Per Tracking configurations.
10658 Upon the call of this API the WLAN DAL will pack
10659 and send a HAL Set Tx Per Tracking request message to the
10660 lower RIVA sub-system if DAL is in state STARTED.
10661
10662 In state BUSY this request will be queued. Request won't
10663 be allowed in any other state.
10664
10665 @param wdiSetTxPerTrackingConf: the Set Tx PER Tracking configurations as
10666 specified by the Device Interface
10667
10668 wdiSetTxPerTrackingCb: callback for passing back the
10669 response of the set Tx PER Tracking configurations operation received
10670 from the device
10671
10672 pUserData: user data will be passed back with the
10673 callback
10674
10675 @return Result of the function call
10676*/
10677WDI_Status
10678WDI_SetTxPerTrackingReq
10679(
10680 WDI_SetTxPerTrackingReqParamsType* pwdiSetTxPerTrackingReqParams,
10681 WDI_SetTxPerTrackingRspCb pwdiSetTxPerTrackingRspCb,
10682 void* pUserData
10683);
10684
10685/**
10686 @brief WDI_SetTmLevelReq
10687 If HW Thermal condition changed, driver should react based on new
10688 HW thermal condition.
10689
10690 @param pwdiSetTmLevelReq: New thermal condition information
10691
10692 pwdiSetTmLevelRspCb: callback
10693
10694 usrData: user data will be passed back with the
10695 callback
10696
10697 @return Result of the function call
10698*/
10699WDI_Status
10700WDI_SetTmLevelReq
10701(
10702 WDI_SetTmLevelReqType *pwdiSetTmLevelReq,
10703 WDI_SetTmLevelCb pwdiSetTmLevelRspCb,
10704 void *usrData
10705);
10706
10707#ifdef WLAN_FEATURE_PACKET_FILTERING
10708/**
10709 @brief WDI_8023MulticastListReq
10710
10711 @param pwdiRcvFltPktSetMcListReqInfo: the Set 8023 Multicast
10712 List as specified by the Device Interface
10713
10714 wdi8023MulticastListCallback: callback for passing back
10715 the response of the Set 8023 Multicast List operation
10716 received from the device
10717
10718 pUserData: user data will be passed back with the
10719 callback
10720
10721 @see WDI_PostAssocReq
10722 @return Result of the function call
10723*/
10724WDI_Status
10725WDI_8023MulticastListReq
10726(
10727 WDI_RcvFltPktSetMcListReqParamsType* pwdiRcvFltPktSetMcListReqInfo,
10728 WDI_8023MulticastListCb wdi8023MulticastListCallback,
10729 void* pUserData
10730);
10731
10732/**
10733 @brief WDI_ReceiveFilterSetFilterReq
10734
10735 @param pwdiSetRcvPktFilterReqInfo: the Set Receive Filter as
10736 specified by the Device Interface
10737
10738 wdiReceiveFilterSetFilterReqCallback: callback for
10739 passing back the response of the Set Receive Filter
10740 operation received from the device
10741
10742 pUserData: user data will be passed back with the
10743 callback
10744
10745 @see WDI_PostAssocReq
10746 @return Result of the function call
10747*/
10748WDI_Status
10749WDI_ReceiveFilterSetFilterReq
10750(
10751 WDI_SetRcvPktFilterReqParamsType* pwdiSetRcvPktFilterReqInfo,
10752 WDI_ReceiveFilterSetFilterCb wdiReceiveFilterSetFilterReqCallback,
10753 void* pUserData
10754);
10755
10756/**
10757 @brief WDI_PCFilterMatchCountReq
10758
10759 @param pwdiRcvFltPktMatchCntReqInfo: get D0 PC Filter Match
10760 Count
10761
10762 wdiPCFilterMatchCountCallback: callback for passing back
10763 the response of the D0 PC Filter Match Count operation
10764 received from the device
10765
10766 pUserData: user data will be passed back with the
10767 callback
10768
10769 @see WDI_PostAssocReq
10770 @return Result of the function call
10771*/
10772WDI_Status
10773WDI_FilterMatchCountReq
10774(
10775 WDI_RcvFltPktMatchCntReqParamsType* pwdiRcvFltPktMatchCntReqInfo,
10776 WDI_FilterMatchCountCb wdiFilterMatchCountCallback,
10777 void* pUserData
10778);
10779
10780/**
10781 @brief WDI_ReceiveFilterClearFilterReq
10782
10783 @param pwdiRcvFltPktClearReqInfo: the Clear Filter as
10784 specified by the Device Interface
10785
10786 wdiReceiveFilterClearFilterCallback: callback for
10787 passing back the response of the Clear Filter
10788 operation received from the device
10789
10790 pUserData: user data will be passed back with the
10791 callback
10792
10793 @see WDI_PostAssocReq
10794 @return Result of the function call
10795*/
10796WDI_Status
10797WDI_ReceiveFilterClearFilterReq
10798(
10799 WDI_RcvFltPktClearReqParamsType* pwdiRcvFltPktClearReqInfo,
10800 WDI_ReceiveFilterClearFilterCb wdiReceiveFilterClearFilterCallback,
10801 void* pUserData
10802);
10803#endif // WLAN_FEATURE_PACKET_FILTERING
10804
10805/**
10806 @brief WDI_HALDumpCmdReq
10807 Post HAL DUMP Command Event
10808
10809 @param halDumpCmdReqParams: Hal Dump Command Body
10810 @param halDumpCmdRspCb: callback for passing back the
10811 response
10812 @param pUserData: Client Data
10813
10814 @see
10815 @return Result of the function call
10816*/
10817WDI_Status WDI_HALDumpCmdReq(
10818 WDI_HALDumpCmdReqParamsType *halDumpCmdReqParams,
10819 WDI_HALDumpCmdRspCb halDumpCmdRspCb,
10820 void *pUserData
10821);
10822
10823
10824/**
10825 @brief WDI_SetPowerParamsReq
10826
10827 @param pwdiPowerParamsReqParams: the Set Power Params as
10828 specified by the Device Interface
10829
10830 wdiPowerParamsCb: callback for passing back the response
10831 of the Set Power Params operation received from the
10832 device
10833
10834 pUserData: user data will be passed back with the
10835 callback
10836
10837 @return Result of the function call
10838*/
10839WDI_Status
10840WDI_SetPowerParamsReq
10841(
10842 WDI_SetPowerParamsReqParamsType* pwdiPowerParamsReqParams,
10843 WDI_SetPowerParamsCb wdiPowerParamsCb,
10844 void* pUserData
10845);
Sundaresan Ramachandran76e48e82013-07-15 13:07:17 +053010846/**
10847 @brief WDI_dhcpStartInd
10848 Forward the DHCP Start event
10849
10850 @param
10851
10852 wdiDHCPInd: device mode and MAC address is passed
10853
10854 @see
10855 @return Result of the function call
10856*/
10857
10858WDI_Status
10859WDI_dhcpStartInd
10860(
10861 WDI_DHCPInd *wdiDHCPInd
10862);
10863/**
10864 @brief WDI_dhcpStopReq
10865 Forward the DHCP Stop event
10866
10867 @param
10868
10869 wdiDHCPInd: device mode and MAC address is passed
10870
10871 @see
10872 @return Result of the function call
10873*/
10874
10875WDI_Status
10876WDI_dhcpStopInd
10877(
10878 WDI_DHCPInd *wdiDHCPInd
10879);
Jeff Johnson295189b2012-06-20 16:38:30 -070010880
Chittajit Mitraf5413a42013-10-18 14:20:08 -070010881/**
10882 @brief WDI_RateUpdateInd will be called when the upper MAC
10883 requests the device to update rates.
10884
10885 In state BUSY this request will be queued. Request won't
10886 be allowed in any other state.
10887
10888
10889 @param wdiRateUpdateIndParams
10890
10891
10892 @see WDI_Start
10893 @return Result of the function call
10894*/
10895WDI_Status
10896WDI_RateUpdateInd
10897(
10898 WDI_RateUpdateIndParams *wdiRateUpdateIndParams
10899);
10900
Jeff Johnson295189b2012-06-20 16:38:30 -070010901#ifdef WLAN_FEATURE_GTK_OFFLOAD
10902/**
10903 @brief WDI_GTKOffloadReq will be called when the upper MAC
10904 wants to set GTK Rekey Counter while in power save. Upon
10905 the call of this API the WLAN DAL will pack and send a
10906 HAL GTK offload request message to the lower RIVA
10907 sub-system if DAL is in state STARTED.
10908
10909 In state BUSY this request will be queued. Request won't
10910 be allowed in any other state.
10911
10912 WDI_PostAssocReq must have been called.
10913
10914 @param pwdiGtkOffloadParams: the GTK offload as specified
10915 by the Device Interface
10916
10917 wdiGtkOffloadCb: callback for passing back the response
10918 of the GTK offload operation received from the device
10919
10920 pUserData: user data will be passed back with the
10921 callback
10922
10923 @see WDI_PostAssocReq
10924 @return Result of the function call
10925*/
10926WDI_Status
10927WDI_GTKOffloadReq
10928(
10929 WDI_GtkOffloadReqMsg* pwdiGtkOffloadReqMsg,
10930 WDI_GtkOffloadCb wdiGtkOffloadCb,
10931 void* pUserData
10932);
10933
10934/**
10935 @brief WDI_GTKOffloadGetInfoReq will be called when the upper
10936 MAC wants to get GTK Rekey Counter while in power save.
10937 Upon the call of this API the WLAN DAL will pack and
10938 send a HAL GTK offload request message to the lower RIVA
10939 sub-system if DAL is in state STARTED.
10940
10941 In state BUSY this request will be queued. Request won't
10942 be allowed in any other state.
10943
10944 WDI_PostAssocReq must have been called.
10945
10946 @param pwdiGtkOffloadGetInfoReqMsg: the GTK Offload
10947 Information Message as specified by the
10948 Device Interface
10949
10950 wdiGtkOffloadGetInfoCb: callback for passing back the
10951 response of the GTK offload operation received from the
10952 device
10953
10954 pUserData: user data will be passed back with the
10955 callback
10956
10957 @see WDI_PostAssocReq
10958 @return Result of the function call
10959*/
10960WDI_Status
10961WDI_GTKOffloadGetInfoReq
10962(
10963 WDI_GtkOffloadGetInfoReqMsg* pwdiGtkOffloadGetInfoReqMsg,
10964 WDI_GtkOffloadGetInfoCb wdiGtkOffloadGetInfoCb,
10965 void* pUserData
10966);
10967#endif // WLAN_FEATURE_GTK_OFFLOAD
10968
10969/**
10970 @brief WDI_featureCapsExchangeReq
10971 Post feature capability bitmap exchange event.
10972 Host will send its own capability to FW in this req and
10973 expect FW to send its capability back as a bitmap in Response
10974
10975 @param
10976
10977 wdiFeatCapsExcRspCb: callback called on getting the response.
10978 It is kept to mantain similarity between WDI reqs and if needed, can
10979 be used in future. Currently, It is set to NULL
10980
10981 pUserData: user data will be passed back with the
10982 callback
10983
10984 @see
10985 @return Result of the function call
10986*/
10987WDI_Status
10988WDI_featureCapsExchangeReq
10989(
10990 WDI_featureCapsExchangeCb wdiFeatureCapsExchangeCb,
10991 void* pUserData
10992);
10993
10994/**
Yathish9f22e662012-12-10 14:21:35 -080010995 @brief Disable Active mode offload in Host
10996
10997 @param void
10998 @see
10999 @return void
11000*/
11001void
11002WDI_disableCapablityFeature(wpt_uint8 feature_index);
11003
11004
11005/**
Jeff Johnson295189b2012-06-20 16:38:30 -070011006 @brief WDI_getHostWlanFeatCaps
11007 WDI API that returns whether the feature passed to it as enum value in
11008 "placeHolderInCapBitmap" is supported by Host or not. It uses WDI global
11009 variable storing host capability bitmap to find this. This can be used by
11010 other moduels to decide certain things like call different APIs based on
11011 whether a particular feature is supported.
11012
11013 @param
11014
11015 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap in wlan_hal_msg.h.
11016
11017 @see
11018 @return
11019 0 - if the feature is NOT supported in host
11020 any non-zero value - if the feature is SUPPORTED in host.
11021*/
11022wpt_uint8 WDI_getHostWlanFeatCaps(wpt_uint8 feat_enum_value);
11023
11024/**
11025 @brief WDI_getFwWlanFeatCaps
11026 WDI API that returns whether the feature passed to it as enum value in
11027 "placeHolderInCapBitmap" is supported by FW or not. It uses WDI global
11028 variable storing host capability bitmap to find this. This can be used by
11029 other moduels to decide certain things like call different APIs based on
11030 whether a particular feature is supported.
11031
11032 @param
11033
Jeff Johnsone7245742012-09-05 17:12:55 -070011034 feat_enum_value: enum value for the feature as in placeHolderInCapBitmap
11035 in wlan_hal_msg.h.
Jeff Johnson295189b2012-06-20 16:38:30 -070011036
11037 @see
11038 @return
11039 0 - if the feature is NOT supported in FW
11040 any non-zero value - if the feature is SUPPORTED in FW.
11041*/
11042wpt_uint8 WDI_getFwWlanFeatCaps(wpt_uint8 feat_enum_value);
11043
11044/**
11045 @brief WDI_GetWcnssCompiledApiVersion - Function to get wcnss compiled
11046 api version
11047
11048 @param WDI_WlanVersionType: Wlan version structure
11049 @see
11050 @return none
11051*/
11052
11053void WDI_GetWcnssCompiledApiVersion
11054(
11055 WDI_WlanVersionType *pWcnssApiVersion
11056);
11057
Mohit Khanna4a70d262012-09-11 16:30:12 -070011058#ifdef WLAN_FEATURE_11AC
11059WDI_Status
11060WDI_UpdateVHTOpModeReq
11061(
11062 WDI_UpdateVHTOpMode *pData,
11063 WDI_UpdateVHTOpModeCb wdiUpdateVHTOpModeCb,
11064 void* pUserData
11065);
Jeff Johnson295189b2012-06-20 16:38:30 -070011066
Mohit Khanna4a70d262012-09-11 16:30:12 -070011067#endif
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070011068
11069/**
11070 @brief WDI_TransportChannelDebug -
11071 Display DXE Channel debugging information
11072 User may request to display DXE channel snapshot
11073 Or if host driver detects any abnormal stcuk may display
11074
Jeff Johnsonb88db982012-12-10 13:34:59 -080011075 @param displaySnapshot : Display DXE snapshot option
Mihir Shete40a55652014-03-02 14:14:47 +053011076 @param debugFlags : Enable stall detect features
11077 defined by WPAL_DeviceDebugFlags
11078 These features may effect
11079 data performance.
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070011080 @see
11081 @return none
11082*/
11083void WDI_TransportChannelDebug
11084(
11085 wpt_boolean displaySnapshot,
Mihir Shete40a55652014-03-02 14:14:47 +053011086 wpt_uint8 debugFlags
Madan Mohan Koyyalamudi8cb53982012-09-28 14:34:47 -070011087);
11088
Madan Mohan Koyyalamudi0bfd0002012-10-24 14:39:37 -070011089/**
11090 @brief WDI_SsrTimerCB
11091 Callback function for SSR timer, if this is called then the graceful
11092 shutdown for Riva did not happen.
11093
11094 @param pUserData : user data to timer
11095
11096 @see
11097 @return none
11098*/
11099void
11100WDI_SsrTimerCB
11101(
11102 void *pUserData
11103);
11104
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -070011105/**
11106 @brief WDI_SetEnableSSR -
11107 This API is called to enable/disable SSR on WDI timeout.
11108
11109 @param enableSSR : enable/disable SSR
11110
11111 @see
11112 @return none
11113*/
11114void WDI_SetEnableSSR(wpt_boolean enableSSR);
11115
Leo Chang9056f462013-08-01 19:21:11 -070011116#ifdef FEATURE_WLAN_LPHB
11117/**
11118 @brief WDI_LPHBConfReq
11119 This API is called to config FW LPHB rule
11120
11121 @param lphbconfParam : LPHB rule should config to FW
11122 usrData : Client context
11123 lphbCfgCb : Configuration status callback
11124 @see
11125 @return SUCCESS or FAIL
11126*/
11127WDI_Status WDI_LPHBConfReq
11128(
11129 void *lphbconfParam,
11130 void *usrData,
11131 WDI_LphbCfgCb lphbCfgCb
11132);
11133#endif /* FEATURE_WLAN_LPHB */
Rajeev79dbe4c2013-10-05 11:03:42 +053011134
Dino Mycle41bdc942014-06-10 11:30:24 +053011135#ifdef WLAN_FEATURE_EXTSCAN
11136/**
11137 @brief WDI_EXTScanStartReq
11138 This API is called to send EXTScan start request to FW
11139
11140 @param pwdiEXTScanStartReqParams : pointer to the request params.
11141 wdiEXTScanStartRspCb : callback on getting the response.
11142 usrData : Client context
11143 @see
11144 @return SUCCESS or FAIL
11145*/
11146WDI_Status WDI_EXTScanStartReq
11147(
11148 WDI_EXTScanStartReqParams* pwdiEXTScanStartReqParams,
11149 WDI_EXTScanStartRspCb wdiEXTScanStartRspCb,
11150 void* pUserData
11151);
11152
11153/**
11154 @brief WDI_EXTScanStopReq
11155 This API is called to stop the EXTScan operations in the FW
11156
11157 @param pwdiEXTScanStopReqParams : pointer to the request params.
11158 wdiEXTScanStopRspCb : callback on getting the response.
11159 usrData : Client context
11160 @see
11161 @return SUCCESS or FAIL
11162*/
11163WDI_Status WDI_EXTScanStopReq
11164(
11165 WDI_EXTScanStopReqParams* pwdiEXTScanStopReqParams,
11166 WDI_EXTScanStopRspCb wdiEXTScanStopRspCb,
11167 void* pUserData
11168);
11169
11170/**
11171 @brief WDI_EXTScanGetCachedResultsReq
11172 This API is called to send get link layer stats request in FW
11173
11174 @param pwdiEXTScanGetCachedResultsReqParams : pointer to the request params.
11175 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
11176 usrData : Client context
11177 @see
11178 @return SUCCESS or FAIL
11179*/
11180WDI_Status WDI_EXTScanGetCachedResultsReq
11181(
11182 WDI_EXTScanGetCachedResultsReqParams* pwdiEXTScanGetCachedResultsReqParams,
11183 WDI_EXTScanGetCachedResultsRspCb wdiEXTScanGetCachedResultsRspCb,
11184 void* pUserData
11185);
11186
11187/**
11188 @brief WDI_EXTScanGetCapabilitiesReq
11189 This API is called to send get EXTScan capabilities from FW
11190
11191 @param pwdiEXTScanGetCachedResultsReqParams : pointer to the request params.
11192 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
11193 usrData : Client context
11194 @see
11195 @return SUCCESS or FAIL
11196*/
11197WDI_Status WDI_EXTScanGetCapabilitiesReq
11198(
11199 WDI_EXTScanGetCapabilitiesReqParams* pwdiEXTScanGetCapabilitiesReqParams,
11200 WDI_EXTScanGetCapabilitiesRspCb wdiEXTScanGetCapabilitiesRspCb,
11201 void* pUserData
11202);
11203
11204/**
11205 @brief WDI_EXTScanSetBSSIDHotlistReq
11206 This API is called to send Set BSSID Hotlist Request FW
11207
11208 @param pwdiEXTScanSetBssidHotlistReqParams : pointer to the request params.
11209 wdiEXTScanSetBSSIDHotlistRspCb : callback on getting the response.
11210 usrData : Client context
11211 @see
11212 @return SUCCESS or FAIL
11213*/
11214WDI_Status WDI_EXTScanSetBSSIDHotlistReq
11215(
11216 WDI_EXTScanSetBSSIDHotlistReqParams* pwdiEXTScanSetBSSIDHotlistReqParams,
11217 WDI_EXTScanSetBSSIDHotlistRspCb wdiEXTScanSetBSSIDHotlistRspCb,
11218 void* pUserData
11219);
11220
11221/**
11222 @brief WDI_EXTScanResetBSSIDHotlistReq
11223 This API is called to send Reset BSSID Hotlist Request FW
11224
11225 @param pwdiEXTScanResetBssidHotlistReqParams : pointer to the request params.
11226 wdiEXTScanGetCachedResultsRspCb : callback on getting the response.
11227 usrData : Client context
11228 @see
11229 @return SUCCESS or FAIL
11230*/
11231WDI_Status WDI_EXTScanResetBSSIDHotlistReq
11232(
11233 WDI_EXTScanResetBSSIDHotlistReqParams* pwdiEXTScanResetBSSIDHotlistReqParams,
11234 WDI_EXTScanResetBSSIDHotlistRspCb wdiEXTScanResetBSSIDHotlistRspCb,
11235 void* pUserData
11236);
11237
11238/**
11239 @brief WDI_EXTScanSetSignfRSSIChangeReq
11240 This API is called to send Set Significant RSSI Request FW
11241
11242 @param pwdiEXTScanSetSignfRSSIChangeReqParams : pointer to the request params.
11243 wdiEXTScanSetSignfRSSIChangeRspCb : callback on getting the response.
11244 usrData : Client context
11245 @see
11246 @return SUCCESS or FAIL
11247*/
11248WDI_Status WDI_EXTScanSetSignfRSSIChangeReq
11249(
11250 WDI_EXTScanSetSignfRSSIChangeReqParams*
11251 pwdiEXTScanSetSignfRSSIChangeReqParams,
11252 WDI_EXTScanSetSignfRSSIChangeRspCb wdiEXTScanSetSignfRSSIChangeRspCb,
11253 void* pUserData
11254);
11255
11256/**
11257 @brief WDI_EXTScanResetSignfRSSIChangeReq
11258 This API is called to send Reset BSSID Hotlist Request FW
11259
11260 @param pwdiEXTScanResetSignfRSSIChangeReqParams : pointer to the request params.
11261 wdiEXTScanResetSignfRSSIChangeRs : callback on getting the response.
11262 usrData : Client context
11263 @see
11264 @return SUCCESS or FAIL
11265*/
11266WDI_Status WDI_EXTScanResetSignfRSSIChangeReq
11267(
11268 WDI_EXTScanResetSignfRSSIChangeReqParams*
11269 pwdiEXTScanResetSignfRSSIChangeReqParams,
11270 WDI_EXTScanResetSignfRSSIChangeRspCb wdiEXTScanResetSignfRSSIChangeRspCb,
11271 void* pUserData
11272);
11273#endif /* WLAN_FEATURE_EXTSCAN */
11274
Sunil Duttbd736ed2014-05-26 21:19:41 +053011275#ifdef WLAN_FEATURE_LINK_LAYER_STATS
11276/**
11277 @brief WDI_LLStatsSetReq
11278 This API is called to send set link layer stats request to FW
11279
11280 @param pwdiLLStatsSetReqParams : pointer to set link layer stats params
11281 wdiLLStatsSetRspCb : set link layer stats response callback
11282 usrData : Client context
11283 @see
11284 @return SUCCESS or FAIL
11285*/
11286WDI_Status WDI_LLStatsSetReq
11287(
11288 WDI_LLStatsSetReqType* pwdiLLStatsSetReqParams,
11289 WDI_LLStatsSetRspCb wdiLLStatsSetRspCb,
11290 void* pUserData
11291);
11292
11293/**
11294 @brief WDI_LLStatsGetReq
11295 This API is called to send get link layer stats request in FW
11296
11297 @param pwdiLLStatsGetParams : pointer to get link layer stats params
11298 wdiLLStatsGetRspCb : get link layer stats response callback
11299 usrData : Client context
11300 @see
11301 @return SUCCESS or FAIL
11302*/
11303WDI_Status WDI_LLStatsGetReq
11304(
11305 WDI_LLStatsGetReqType* pwdiLLStatsGetReqParams,
11306 WDI_LLStatsGetRspCb wdiLLStatsGetRspCb,
11307 void* pUserData
11308);
11309
11310/**
11311 @brief WDI_LLStatsClearReq
11312 This API is called to set clear link layer stats request in FW
11313
11314 @param pwdiLLStatsClearReqParams : pointer to clear link layer stats params
11315 iwdiLLStatsClearRspCb : clear link layer stats response callback
11316 usrData : Client context
11317 @see
11318 @return SUCCESS or FAIL
11319*/
11320WDI_Status WDI_LLStatsClearReq
11321(
11322 WDI_LLStatsClearReqType* pwdiLLStatsClearReqParams,
11323 WDI_LLStatsClearRspCb wdiLLStatsClearRspCb,
11324 void* pUserData
11325);
11326#endif /* WLAN_FEATURE_LINK_LAYER_STATS */
11327
Abhishek Singh85b74712014-10-08 11:38:19 +053011328WDI_Status WDI_FWStatsGetReq
11329(
11330 void* pwdiFWStatsGetReqParams,
11331 WDI_FWStatsGetRspCb wdiFWStatsGetRspCb,
11332 wpt_uint32 pUserData
11333);
11334
Rajeev79dbe4c2013-10-05 11:03:42 +053011335#ifdef FEATURE_WLAN_BATCH_SCAN
11336/**
11337 @brief WDI_SetBatchScanReq
11338 This API is called to set batch scan request in FW
11339
11340 @param pBatchScanReqParam : pointer to set batch scan re param
11341 usrData : Client context
11342 setBatchScanRspCb : set batch scan resp callback
11343 @see
11344 @return SUCCESS or FAIL
11345*/
11346WDI_Status WDI_SetBatchScanReq
11347(
11348 void *pBatchScanReqParam,
11349 void *usrData,
11350 WDI_SetBatchScanCb setBatchScanRspCb
11351);
11352
11353/**
11354 @brief WDI_StopBatchScanInd
11355
11356 @param none
11357
11358 @see
11359
11360 @return Status of the request
11361*/
11362WDI_Status
11363WDI_StopBatchScanInd(WDI_StopBatchScanIndType *pWdiReq);
11364
11365/**
11366 @brief WDI_TriggerBatchScanResultInd
11367 This API is called to pull batch scan result from FW
11368
11369 @param pBatchScanReqParam : pointer to trigger batch scan ind param
11370 usrData : Client context
11371 setBatchScanRspCb : get batch scan resp callback
11372 @see
11373 @return SUCCESS or FAIL
11374*/
11375WDI_Status
11376WDI_TriggerBatchScanResultInd(WDI_TriggerBatchScanResultIndType *pWdiReq);
11377
11378
11379#endif /*FEATURE_WLAN_BATCH_SCAN*/
11380
Sandeep Puligilla8b8b74b2014-02-10 16:39:05 +053011381/**
11382 @brief wdi_HT40OBSSScanInd
11383 This API is called to start OBSS scan
11384
11385 @param pWdiReq : pointer to get ind param
11386 @see
11387 @return SUCCESS or FAIL
11388*/
11389
11390WDI_Status WDI_HT40OBSSScanInd(WDI_HT40ObssScanParamsType *pWdiReq);
11391
11392/**
11393 @brief wdi_HT40OBSSStopScanInd
11394 This API is called to stop OBSS scan
11395
11396 @param bssIdx : bssIdx to stop
11397 @see
11398 @return SUCCESS or FAIL
11399*/
11400
11401WDI_Status WDI_HT40OBSSStopScanInd(wpt_uint8 bssIdx);
11402
c_hpothu92367912014-05-01 15:18:17 +053011403
11404WDI_Status WDI_GetBcnMissRate( void *pUserData,
11405 WDI_GetBcnMissRateCb wdiGetBcnMissRateCb,
11406 wpt_uint8 *bssid
11407 );
Siddharth Bhal171788a2014-09-29 21:02:40 +053011408WDI_Status
11409WDI_SetSpoofMacAddrReq
11410(
11411WDI_SpoofMacAddrInfoType *pWdiReq,
11412 WDI_SetSpoofMacAddrRspCb setSpoofMacAddrRspCb,
11413 void* pUserData
11414);
c_hpothu92367912014-05-01 15:18:17 +053011415
Srinivas Dasari4dae48f2014-11-26 21:14:16 +053011416WDI_Status
11417WDI_EncryptMsgReq(void* pwdiEncryptMsgParams,
11418 WDI_EncryptMsgRspCb wdiEncryptMsgCbRsp,
11419 void* pUserData
11420 );
Srinivas Dasari32a79262015-02-19 13:04:49 +053011421
11422/**
11423 @brief WDI_NanRequest
11424 NAN request
11425
11426 @param pwdiNanRequest: data
11427
11428 pwdiNanCb: callback
11429
11430 usrData: user data will be passed back with the
11431 callback
11432
11433 @return Result of the function call
11434*/
11435WDI_Status
11436WDI_NanRequest
11437(
11438 WDI_NanRequestType *pwdiNanRequest,
11439 void *usrData
11440);
11441
Abhishek Singh41988ba2015-05-25 19:42:29 +053011442/**
11443 @brief WDI_SetRtsCtsHTVhtInd
11444 Set RTS/CTS indication for diff modes.
11445
11446 @param rtsCtsVal: Bit mask value to enable RTS/CTS for different modes
11447
11448 @return Result of the function call
11449*/
11450
11451WDI_Status
11452WDI_SetRtsCtsHTVhtInd
11453(
11454 wpt_uint32 rtsCtsVal
11455);
Srinivas Dasari32a79262015-02-19 13:04:49 +053011456
11457
Jeff Johnson295189b2012-06-20 16:38:30 -070011458#ifdef __cplusplus
11459 }
11460#endif
11461
Jeff Johnson295189b2012-06-20 16:38:30 -070011462#endif /* #ifndef WLAN_QCT_WDI_H */